From c461cec800ce75dc6d2dee6ebd69a83ece4a19a5 Mon Sep 17 00:00:00 2001 From: Holger Seelig Date: Sun, 18 Aug 2024 15:08:49 +0200 Subject: [PATCH] Updated dist. --- dist/assets/components/AnnotationComponent.js | 4 +- .../components/AnnotationComponent.min.js | 4 +- .../assets/components/CADGeometryComponent.js | 4 +- .../components/CADGeometryComponent.min.js | 4 +- .../components/CubeMapTexturingComponent.js | 4 +- .../CubeMapTexturingComponent.min.js | 4 +- dist/assets/components/DISComponent.js | 4 +- dist/assets/components/DISComponent.min.js | 4 +- .../components/EventUtilitiesComponent.js | 4 +- .../components/EventUtilitiesComponent.min.js | 4 +- dist/assets/components/Geometry2DComponent.js | 4 +- .../components/Geometry2DComponent.min.js | 4 +- dist/assets/components/GeospatialComponent.js | 4 +- .../components/GeospatialComponent.min.js | 4 +- dist/assets/components/HAnimComponent.js | 4 +- dist/assets/components/HAnimComponent.min.js | 4 +- .../components/KeyDeviceSensorComponent.js | 4 +- .../KeyDeviceSensorComponent.min.js | 4 +- dist/assets/components/LayoutComponent.js | 4 +- dist/assets/components/LayoutComponent.min.js | 4 +- dist/assets/components/NURBSComponent.js | 4 +- dist/assets/components/NURBSComponent.min.js | 4 +- .../components/ParticleSystemsComponent.js | 4 +- .../ParticleSystemsComponent.min.js | 4 +- dist/assets/components/PickingComponent.js | 4 +- .../assets/components/PickingComponent.min.js | 4 +- .../components/RigidBodyPhysicsComponent.js | 4 +- .../RigidBodyPhysicsComponent.min.js | 4 +- dist/assets/components/ScriptingComponent.js | 4 +- .../components/ScriptingComponent.min.js | 4 +- dist/assets/components/TextComponent.js | 8 +- dist/assets/components/TextComponent.min.js | 4 +- .../components/TextureProjectionComponent.js | 4 +- .../TextureProjectionComponent.min.js | 4 +- .../assets/components/Texturing3DComponent.js | 20 ++-- .../components/Texturing3DComponent.min.js | 4 +- .../components/VolumeRenderingComponent.js | 4 +- .../VolumeRenderingComponent.min.js | 4 +- dist/assets/components/X_ITEComponent.js | 4 +- dist/assets/components/X_ITEComponent.min.js | 4 +- dist/example.html | 2 +- dist/x_ite.css | 2 +- dist/x_ite.js | 112 +++++++++--------- dist/x_ite.min.js | 4 +- dist/x_ite.min.mjs | 4 +- dist/x_ite.mjs | 112 +++++++++--------- src/x_ite/BROWSER_VERSION.js | 2 +- 47 files changed, 209 insertions(+), 209 deletions(-) diff --git a/dist/assets/components/AnnotationComponent.js b/dist/assets/components/AnnotationComponent.js index 4ad7ae0b3d..028bdfbdec 100644 --- a/dist/assets/components/AnnotationComponent.js +++ b/dist/assets/components/AnnotationComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope diff --git a/dist/assets/components/AnnotationComponent.min.js b/dist/assets/components/AnnotationComponent.min.js index ec165f18c1..dc4cd12a53 100644 --- a/dist/assets/components/AnnotationComponent.min.js +++ b/dist/assets/components/AnnotationComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const t=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var n={n:t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},d:(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n)};const e=t.Components;var i=n.n(e);const o=t.Fields;var a=n.n(o);const p=t.X3DFieldDefinition;var r=n.n(p);const u=t.FieldDefinitionArray;var l=n.n(u);const s=t.X3DNode;var d=n.n(s);const c=t.X3DLayerNode;var w=n.n(c);const O=t.Viewpoint;var y=n.n(O);const S=t.Group;var f=n.n(S);const b=t.X3DConstants;var h=n.n(b);const F=t.Namespace;var g=n.n(F);function A(t){w().call(this,t,new(y())(t),new(f())(t)),this.addType(h().AnnotationLayer)}Object.assign(Object.setPrototypeOf(A.prototype,w().prototype),{initialize(){w().prototype.initialize.call(this)}}),Object.defineProperties(A,{...d().getStaticProperties("AnnotationLayer","Annotation",1,"layers","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"isPickable",new(a().SFBool)(!0)),new(r())(h().inputOutput,"layoutPolicy",new(a().MFString)),new(r())(h().inputOutput,"shownGroupID",new(a().MFString)),new(r())(h().inputOutput,"viewport",new(a().SFNode))]),enumerable:!0}});const P=A,N=g().add("AnnotationLayer",P),m=t.X3DChildNode;var v=n.n(m);function D(t){v().call(this,t),this.addType(h().AnnotationTarget)}Object.assign(Object.setPrototypeOf(D.prototype,v().prototype),{initialize(){v().prototype.initialize.call(this)}}),Object.defineProperties(D,{...d().getStaticProperties("AnnotationTarget","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"referencePoint",new(a().SFVec3f)),new(r())(h().inputOutput,"leadLineStyle",new(a().SFNode)),new(r())(h().inputOutput,"marker",new(a().SFNode)),new(r())(h().inputOutput,"annotations",new(a().MFNode))]),enumerable:!0}});const j=D,z=g().add("AnnotationTarget",j),T=t.X3DGroupingNode;var X=n.n(T);function G(t){v().call(this,t),this.addType(h().X3DAnnotationNode)}Object.assign(Object.setPrototypeOf(G.prototype,v().prototype),{initialize(){v().prototype.initialize.call(this)}}),Object.defineProperties(G,d().getStaticProperties("X3DAnnotationNode","Annotation",1));const I=G,L=g().add("X3DAnnotationNode",I);function E(t){X().call(this,t),L.call(this,t),this.addType(h().GroupAnnotation)}Object.assign(Object.setPrototypeOf(E.prototype,X().prototype),L.prototype,{initialize(){X().prototype.initialize.call(this),L.prototype.initialize.call(this)},dispose(){L.prototype.dispose.call(this),X().prototype.dispose.call(this)}}),Object.defineProperties(E,{...d().getStaticProperties("GroupAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"visible",new(a().SFBool)(!0)),new(r())(h().inputOutput,"bboxDisplay",new(a().SFBool)),new(r())(h().initializeOnly,"bboxSize",new(a().SFVec3f)(-1,-1,-1)),new(r())(h().initializeOnly,"bboxCenter",new(a().SFVec3f)),new(r())(h().inputOnly,"addChildren",new(a().MFNode)),new(r())(h().inputOnly,"removeChildren",new(a().MFNode)),new(r())(h().inputOutput,"children",new(a().MFNode))]),enumerable:!0}});const M=E,R=g().add("GroupAnnotation",M),x=t.X3DUrlObject;var V=n.n(x);function B(t){L.call(this,t),V().call(this,t),this.addType(h().IconAnnotation)}Object.assign(Object.setPrototypeOf(B.prototype,L.prototype),V().prototype,{initialize(){L.prototype.initialize.call(this),V().prototype.initialize.call(this)},requestImmediateLoad(t=!0){},dispose(){V().prototype.dispose.call(this),L.prototype.dispose.call(this)}}),Object.defineProperties(B,{...d().getStaticProperties("IconAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"url",new(a().MFString)),new(r())(h().inputOutput,"autoRefresh",new(a().SFTime)),new(r())(h().inputOutput,"autoRefreshTimeLimit",new(a().SFTime)(3600))]),enumerable:!0}});const C=B,U=g().add("IconAnnotation",C);function _(t){L.call(this,t),this.addType(h().TextAnnotation)}Object.assign(Object.setPrototypeOf(_.prototype,L.prototype),{initialize(){L.prototype.initialize.call(this)}}),Object.defineProperties(_,{...d().getStaticProperties("TextAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"contentType",new(a().SFString)("text/plain")),new(r())(h().inputOutput,"text",new(a().SFString))]),enumerable:!0}});const k=_,q=g().add("TextAnnotation",k);function H(t){L.call(this,t),this.addType(h().URLAnnotation)}Object.assign(Object.setPrototypeOf(H.prototype,L.prototype),{initialize(){L.prototype.initialize.call(this)}}),Object.defineProperties(H,{...d().getStaticProperties("URLAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"url",new(a().MFString))]),enumerable:!0}});const J=H,K=g().add("URLAnnotation",J);i().add({name:"Annotation",concreteNodes:[N,z,R,U,q,K],abstractNodes:[L]});g().add("AnnotationComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const t=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var n={n:t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},d:(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n)};const e=t.Components;var i=n.n(e);const o=t.Fields;var a=n.n(o);const p=t.X3DFieldDefinition;var r=n.n(p);const u=t.FieldDefinitionArray;var l=n.n(u);const s=t.X3DNode;var d=n.n(s);const c=t.X3DLayerNode;var w=n.n(c);const O=t.Viewpoint;var y=n.n(O);const S=t.Group;var f=n.n(S);const b=t.X3DConstants;var h=n.n(b);const F=t.Namespace;var g=n.n(F);function A(t){w().call(this,t,new(y())(t),new(f())(t)),this.addType(h().AnnotationLayer)}Object.assign(Object.setPrototypeOf(A.prototype,w().prototype),{initialize(){w().prototype.initialize.call(this)}}),Object.defineProperties(A,{...d().getStaticProperties("AnnotationLayer","Annotation",1,"layers","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"isPickable",new(a().SFBool)(!0)),new(r())(h().inputOutput,"layoutPolicy",new(a().MFString)),new(r())(h().inputOutput,"shownGroupID",new(a().MFString)),new(r())(h().inputOutput,"viewport",new(a().SFNode))]),enumerable:!0}});const P=A,N=g().add("AnnotationLayer",P),m=t.X3DChildNode;var v=n.n(m);function D(t){v().call(this,t),this.addType(h().AnnotationTarget)}Object.assign(Object.setPrototypeOf(D.prototype,v().prototype),{initialize(){v().prototype.initialize.call(this)}}),Object.defineProperties(D,{...d().getStaticProperties("AnnotationTarget","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"referencePoint",new(a().SFVec3f)),new(r())(h().inputOutput,"leadLineStyle",new(a().SFNode)),new(r())(h().inputOutput,"marker",new(a().SFNode)),new(r())(h().inputOutput,"annotations",new(a().MFNode))]),enumerable:!0}});const j=D,z=g().add("AnnotationTarget",j),T=t.X3DGroupingNode;var X=n.n(T);function G(t){v().call(this,t),this.addType(h().X3DAnnotationNode)}Object.assign(Object.setPrototypeOf(G.prototype,v().prototype),{initialize(){v().prototype.initialize.call(this)}}),Object.defineProperties(G,d().getStaticProperties("X3DAnnotationNode","Annotation",1));const I=G,L=g().add("X3DAnnotationNode",I);function E(t){X().call(this,t),L.call(this,t),this.addType(h().GroupAnnotation)}Object.assign(Object.setPrototypeOf(E.prototype,X().prototype),L.prototype,{initialize(){X().prototype.initialize.call(this),L.prototype.initialize.call(this)},dispose(){L.prototype.dispose.call(this),X().prototype.dispose.call(this)}}),Object.defineProperties(E,{...d().getStaticProperties("GroupAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"visible",new(a().SFBool)(!0)),new(r())(h().inputOutput,"bboxDisplay",new(a().SFBool)),new(r())(h().initializeOnly,"bboxSize",new(a().SFVec3f)(-1,-1,-1)),new(r())(h().initializeOnly,"bboxCenter",new(a().SFVec3f)),new(r())(h().inputOnly,"addChildren",new(a().MFNode)),new(r())(h().inputOnly,"removeChildren",new(a().MFNode)),new(r())(h().inputOutput,"children",new(a().MFNode))]),enumerable:!0}});const M=E,R=g().add("GroupAnnotation",M),x=t.X3DUrlObject;var V=n.n(x);function B(t){L.call(this,t),V().call(this,t),this.addType(h().IconAnnotation)}Object.assign(Object.setPrototypeOf(B.prototype,L.prototype),V().prototype,{initialize(){L.prototype.initialize.call(this),V().prototype.initialize.call(this)},requestImmediateLoad(t=!0){},dispose(){V().prototype.dispose.call(this),L.prototype.dispose.call(this)}}),Object.defineProperties(B,{...d().getStaticProperties("IconAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"url",new(a().MFString)),new(r())(h().inputOutput,"autoRefresh",new(a().SFTime)),new(r())(h().inputOutput,"autoRefreshTimeLimit",new(a().SFTime)(3600))]),enumerable:!0}});const C=B,U=g().add("IconAnnotation",C);function _(t){L.call(this,t),this.addType(h().TextAnnotation)}Object.assign(Object.setPrototypeOf(_.prototype,L.prototype),{initialize(){L.prototype.initialize.call(this)}}),Object.defineProperties(_,{...d().getStaticProperties("TextAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"contentType",new(a().SFString)("text/plain")),new(r())(h().inputOutput,"text",new(a().SFString))]),enumerable:!0}});const k=_,q=g().add("TextAnnotation",k);function H(t){L.call(this,t),this.addType(h().URLAnnotation)}Object.assign(Object.setPrototypeOf(H.prototype,L.prototype),{initialize(){L.prototype.initialize.call(this)}}),Object.defineProperties(H,{...d().getStaticProperties("URLAnnotation","Annotation",1,"children","4.0"),fieldDefinitions:{value:new(l())([new(r())(h().inputOutput,"metadata",new(a().SFNode)),new(r())(h().inputOutput,"enabled",new(a().SFBool)(!0)),new(r())(h().inputOutput,"annotationGroupID",new(a().SFString)),new(r())(h().inputOutput,"displayPolicy",new(a().SFString)("NEVER")),new(r())(h().inputOutput,"url",new(a().MFString))]),enumerable:!0}});const J=H,K=g().add("URLAnnotation",J);i().add({name:"Annotation",concreteNodes:[N,z,R,U,q,K],abstractNodes:[L]});g().add("AnnotationComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/CADGeometryComponent.js b/dist/assets/components/CADGeometryComponent.js index 2f6c47a2db..9570db8e06 100644 --- a/dist/assets/components/CADGeometryComponent.js +++ b/dist/assets/components/CADGeometryComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope diff --git a/dist/assets/components/CADGeometryComponent.min.js b/dist/assets/components/CADGeometryComponent.min.js index 122a53ad56..7c27ec39ac 100644 --- a/dist/assets/components/CADGeometryComponent.min.js +++ b/dist/assets/components/CADGeometryComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const e=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const o=e.Fields;var s=t.n(o);const r=e.X3DFieldDefinition;var a=t.n(r);const l=e.FieldDefinitionArray;var d=t.n(l);const u=e.X3DNode;var p=t.n(u);const c=e.X3DGroupingNode;var w=t.n(c);const h=e.X3DChildNode;var b=t.n(h);const O=e.X3DConstants;var y=t.n(O);const S=e.Namespace;var _=t.n(S);function N(e){b().call(this,e),this.addType(y().X3DProductStructureChildNode)}Object.setPrototypeOf(N.prototype,b().prototype),Object.defineProperties(N,p().getStaticProperties("X3DProductStructureChildNode","CADGeometry",2));const F=N,f=_().add("X3DProductStructureChildNode",F);function m(e){w().call(this,e),f.call(this,e),this.addType(y().CADAssembly)}Object.assign(Object.setPrototypeOf(m.prototype,w().prototype),{}),Object.defineProperties(m,{...p().getStaticProperties("CADAssembly","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(d())([new(a())(y().inputOutput,"metadata",new(s().SFNode)),new(a())(y().inputOutput,"name",new(s().SFString)),new(a())(y().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(y().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(y().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(y().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(y().inputOnly,"addChildren",new(s().MFNode)),new(a())(y().inputOnly,"removeChildren",new(s().MFNode)),new(a())(y().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const D=m,g=_().add("CADAssembly",D),v=e.X3DBoundedObject;var C=t.n(v);const P=e.TraverseType;var x=t.n(P);const j=e.X3DCast;var z=t.n(j);function A(e){f.call(this,e),C().call(this,e),this.addType(y().CADFace),this.childNode=null,this.visibleNode=null,this.boundedObject=null}Object.assign(Object.setPrototypeOf(A.prototype,f.prototype),C().prototype,{initialize(){f.prototype.initialize.call(this),C().prototype.initialize.call(this),this._shape.addInterest("set_shape__",this),this.set_shape__()},getBBox(e,t){return this._bboxSize.getValue().equals(this.getDefaultBBoxSize())?this.visibleNode?.getBBox(e,t)??e.set():e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},set_shape__(){this.childNode&&(this.childNode._isCameraObject.removeInterest("set_cameraObject__",this),this.childNode._isPickableObject.removeInterest("set_transformSensors__",this),this.childNode._display.removeInterest("set_display__",this),this.childNode._bboxDisplay.removeInterest("set_bboxDisplay__",this)),this.childNode=null;const e=z()(y().X3DChildNode,this._shape);if(e){const t=e.getType();for(let i=t.length-1;i>=0;--i){switch(t[i]){case y().LOD:case y().Transform:case y().X3DShapeNode:e._isCameraObject.addInterest("set_cameraObject__",this),e._isPickableObject.addInterest("set_transformSensors__",this),e._display.addInterest("set_display__",this),e._bboxDisplay.addInterest("set_bboxDisplay__",this),this.childNode=e;break;default:continue}break}}this.childNode?delete this.traverse:this.traverse=Function.prototype,this.set_display__(),this.set_bboxDisplay__()},set_cameraObject__(){this.setCameraObject(this.visibleNode?.isCameraObject())},set_transformSensors__(){this.setPickableObject(this.visibleNode?.isPickableObject())},set_display__(){this.childNode?this.visibleNode=this.childNode._display.getValue()?this.childNode:null:this.visibleNode=null,this.set_cameraObject__(),this.set_transformSensors__()},set_bboxDisplay__(){this.childNode?this.boundedObject=this.childNode._bboxDisplay.getValue()?this.childNode:null:this.boundedObject=null},traverse(e,t){switch(e){case x().POINTER:case x().CAMERA:case x().SHADOW:return void this.visibleNode?.traverse(e,t);case x().PICKING:{const i=this.getBrowser().getPickingHierarchy();return i.push(this),this.visibleNode?.traverse(e,t),void i.pop()}case x().COLLISION:return void this.visibleNode?.traverse(e,t);case x().DISPLAY:return this.visibleNode?.traverse(e,t),void this.boundedObject?.displayBBox(e,t)}},dispose(){C().prototype.dispose.call(this),f.prototype.dispose.call(this)}}),Object.defineProperties(A,{...p().getStaticProperties("CADFace","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(d())([new(a())(y().inputOutput,"metadata",new(s().SFNode)),new(a())(y().inputOutput,"name",new(s().SFString)),new(a())(y().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(y().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(y().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(y().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(y().inputOutput,"shape",new(s().SFNode))]),enumerable:!0}});const B=A,I=_().add("CADFace",B);function V(e){w().call(this,e),this.addType(y().CADLayer)}Object.setPrototypeOf(V.prototype,w().prototype),Object.defineProperties(V,{...p().getStaticProperties("CADLayer","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(d())([new(a())(y().inputOutput,"metadata",new(s().SFNode)),new(a())(y().inputOutput,"name",new(s().SFString)),new(a())(y().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(y().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(y().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(y().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(y().inputOnly,"addChildren",new(s().MFNode)),new(a())(y().inputOnly,"removeChildren",new(s().MFNode)),new(a())(y().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const M=V,T=_().add("CADLayer",M),X=e.X3DTransformNode;var G=t.n(X);function k(e){G().call(this,e),f.call(this,e),this.addType(y().CADPart)}Object.assign(Object.setPrototypeOf(k.prototype,G().prototype),{}),Object.defineProperties(k,{...p().getStaticProperties("CADPart","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(d())([new(a())(y().inputOutput,"metadata",new(s().SFNode)),new(a())(y().inputOutput,"name",new(s().SFString)),new(a())(y().inputOutput,"translation",new(s().SFVec3f)),new(a())(y().inputOutput,"rotation",new(s().SFRotation)),new(a())(y().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(a())(y().inputOutput,"scaleOrientation",new(s().SFRotation)),new(a())(y().inputOutput,"center",new(s().SFVec3f)),new(a())(y().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(y().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(y().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(y().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(y().inputOnly,"addChildren",new(s().MFNode)),new(a())(y().inputOnly,"removeChildren",new(s().MFNode)),new(a())(y().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const L=k,Q=_().add("CADPart",L),R=e.X3DComposedGeometryNode;var E=t.n(R);function H(e){E().call(this,e),this.addType(y().IndexedQuadSet)}Object.assign(Object.setPrototypeOf(H.prototype,E().prototype),{initialize(){E().prototype.initialize.call(this),this._set_index.addFieldInterest(this._index)},getTriangleIndex(e){const t=e%6;return 4*Math.floor(e/6)+t%3+Math.floor(t/4)},getPolygonIndex(e){return this._index[e]},getVerticesPerPolygon:()=>4,getNumVertices(){return this._index.length},build(){let e=this._index.length;e-=e%4,E().prototype.build.call(this,4,e,6,e/4*6)}}),Object.defineProperties(H,{...p().getStaticProperties("IndexedQuadSet","CADGeometry",1,"geometry","3.1"),fieldDefinitions:{value:new(d())([new(a())(y().inputOutput,"metadata",new(s().SFNode)),new(a())(y().inputOnly,"set_index",new(s().MFInt32)),new(a())(y().initializeOnly,"solid",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"ccw",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"colorPerVertex",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"normalPerVertex",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"index",new(s().MFInt32)),new(a())(y().inputOutput,"attrib",new(s().MFNode)),new(a())(y().inputOutput,"fogCoord",new(s().SFNode)),new(a())(y().inputOutput,"color",new(s().SFNode)),new(a())(y().inputOutput,"texCoord",new(s().SFNode)),new(a())(y().inputOutput,"tangent",new(s().SFNode)),new(a())(y().inputOutput,"normal",new(s().SFNode)),new(a())(y().inputOutput,"coord",new(s().SFNode))]),enumerable:!0}});const q=H,K=_().add("IndexedQuadSet",q);function W(e){E().call(this,e),this.addType(y().QuadSet)}Object.assign(Object.setPrototypeOf(W.prototype,E().prototype),{getTriangleIndex(e){const t=e%6;return 4*Math.floor(e/6)+t%3+Math.floor(t/4)},getVerticesPerPolygon:()=>4,getNumVertices(){return this.getCoord()?.getSize()},build(){if(!this.getCoord())return;let e=this.getCoord().getSize();e-=e%4,E().prototype.build.call(this,4,e,6,e/4*6)},createNormals(e,t){return this.createFaceNormals(e,t)}}),Object.defineProperties(W,{...p().getStaticProperties("QuadSet","CADGeometry",1,"geometry","3.1"),fieldDefinitions:{value:new(d())([new(a())(y().inputOutput,"metadata",new(s().SFNode)),new(a())(y().initializeOnly,"solid",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"ccw",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"colorPerVertex",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"normalPerVertex",new(s().SFBool)(!0)),new(a())(y().inputOutput,"attrib",new(s().MFNode)),new(a())(y().inputOutput,"fogCoord",new(s().SFNode)),new(a())(y().inputOutput,"color",new(s().SFNode)),new(a())(y().inputOutput,"texCoord",new(s().SFNode)),new(a())(y().inputOutput,"tangent",new(s().SFNode)),new(a())(y().inputOutput,"normal",new(s().SFNode)),new(a())(y().inputOutput,"coord",new(s().SFNode))]),enumerable:!0}});const Y=W,J=_().add("QuadSet",Y);n().add({name:"CADGeometry",concreteNodes:[g,I,T,Q,K,J],abstractNodes:[f]});_().add("CADGeometryComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const e=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const o=e.Fields;var s=t.n(o);const r=e.X3DFieldDefinition;var a=t.n(r);const l=e.FieldDefinitionArray;var d=t.n(l);const u=e.X3DNode;var p=t.n(u);const c=e.X3DGroupingNode;var w=t.n(c);const h=e.X3DChildNode;var b=t.n(h);const O=e.X3DConstants;var y=t.n(O);const S=e.Namespace;var _=t.n(S);function N(e){b().call(this,e),this.addType(y().X3DProductStructureChildNode)}Object.setPrototypeOf(N.prototype,b().prototype),Object.defineProperties(N,p().getStaticProperties("X3DProductStructureChildNode","CADGeometry",2));const F=N,f=_().add("X3DProductStructureChildNode",F);function m(e){w().call(this,e),f.call(this,e),this.addType(y().CADAssembly)}Object.assign(Object.setPrototypeOf(m.prototype,w().prototype),{}),Object.defineProperties(m,{...p().getStaticProperties("CADAssembly","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(d())([new(a())(y().inputOutput,"metadata",new(s().SFNode)),new(a())(y().inputOutput,"name",new(s().SFString)),new(a())(y().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(y().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(y().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(y().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(y().inputOnly,"addChildren",new(s().MFNode)),new(a())(y().inputOnly,"removeChildren",new(s().MFNode)),new(a())(y().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const D=m,g=_().add("CADAssembly",D),v=e.X3DBoundedObject;var C=t.n(v);const P=e.TraverseType;var x=t.n(P);const j=e.X3DCast;var z=t.n(j);function A(e){f.call(this,e),C().call(this,e),this.addType(y().CADFace),this.childNode=null,this.visibleNode=null,this.boundedObject=null}Object.assign(Object.setPrototypeOf(A.prototype,f.prototype),C().prototype,{initialize(){f.prototype.initialize.call(this),C().prototype.initialize.call(this),this._shape.addInterest("set_shape__",this),this.set_shape__()},getBBox(e,t){return this._bboxSize.getValue().equals(this.getDefaultBBoxSize())?this.visibleNode?.getBBox(e,t)??e.set():e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},set_shape__(){this.childNode&&(this.childNode._isCameraObject.removeInterest("set_cameraObject__",this),this.childNode._isPickableObject.removeInterest("set_transformSensors__",this),this.childNode._display.removeInterest("set_display__",this),this.childNode._bboxDisplay.removeInterest("set_bboxDisplay__",this)),this.childNode=null;const e=z()(y().X3DChildNode,this._shape);if(e){const t=e.getType();for(let i=t.length-1;i>=0;--i){switch(t[i]){case y().LOD:case y().Transform:case y().X3DShapeNode:e._isCameraObject.addInterest("set_cameraObject__",this),e._isPickableObject.addInterest("set_transformSensors__",this),e._display.addInterest("set_display__",this),e._bboxDisplay.addInterest("set_bboxDisplay__",this),this.childNode=e;break;default:continue}break}}this.childNode?delete this.traverse:this.traverse=Function.prototype,this.set_display__(),this.set_bboxDisplay__()},set_cameraObject__(){this.setCameraObject(this.visibleNode?.isCameraObject())},set_transformSensors__(){this.setPickableObject(this.visibleNode?.isPickableObject())},set_display__(){this.childNode?this.visibleNode=this.childNode._display.getValue()?this.childNode:null:this.visibleNode=null,this.set_cameraObject__(),this.set_transformSensors__()},set_bboxDisplay__(){this.childNode?this.boundedObject=this.childNode._bboxDisplay.getValue()?this.childNode:null:this.boundedObject=null},traverse(e,t){switch(e){case x().POINTER:case x().CAMERA:case x().SHADOW:return void this.visibleNode?.traverse(e,t);case x().PICKING:{const i=this.getBrowser().getPickingHierarchy();return i.push(this),this.visibleNode?.traverse(e,t),void i.pop()}case x().COLLISION:return void this.visibleNode?.traverse(e,t);case x().DISPLAY:return this.visibleNode?.traverse(e,t),void this.boundedObject?.displayBBox(e,t)}},dispose(){C().prototype.dispose.call(this),f.prototype.dispose.call(this)}}),Object.defineProperties(A,{...p().getStaticProperties("CADFace","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(d())([new(a())(y().inputOutput,"metadata",new(s().SFNode)),new(a())(y().inputOutput,"name",new(s().SFString)),new(a())(y().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(y().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(y().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(y().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(y().inputOutput,"shape",new(s().SFNode))]),enumerable:!0}});const B=A,I=_().add("CADFace",B);function V(e){w().call(this,e),this.addType(y().CADLayer)}Object.setPrototypeOf(V.prototype,w().prototype),Object.defineProperties(V,{...p().getStaticProperties("CADLayer","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(d())([new(a())(y().inputOutput,"metadata",new(s().SFNode)),new(a())(y().inputOutput,"name",new(s().SFString)),new(a())(y().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(y().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(y().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(y().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(y().inputOnly,"addChildren",new(s().MFNode)),new(a())(y().inputOnly,"removeChildren",new(s().MFNode)),new(a())(y().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const M=V,T=_().add("CADLayer",M),X=e.X3DTransformNode;var G=t.n(X);function k(e){G().call(this,e),f.call(this,e),this.addType(y().CADPart)}Object.assign(Object.setPrototypeOf(k.prototype,G().prototype),{}),Object.defineProperties(k,{...p().getStaticProperties("CADPart","CADGeometry",2,"children","3.1"),fieldDefinitions:{value:new(d())([new(a())(y().inputOutput,"metadata",new(s().SFNode)),new(a())(y().inputOutput,"name",new(s().SFString)),new(a())(y().inputOutput,"translation",new(s().SFVec3f)),new(a())(y().inputOutput,"rotation",new(s().SFRotation)),new(a())(y().inputOutput,"scale",new(s().SFVec3f)(1,1,1)),new(a())(y().inputOutput,"scaleOrientation",new(s().SFRotation)),new(a())(y().inputOutput,"center",new(s().SFVec3f)),new(a())(y().inputOutput,"visible",new(s().SFBool)(!0)),new(a())(y().inputOutput,"bboxDisplay",new(s().SFBool)),new(a())(y().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(a())(y().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(a())(y().inputOnly,"addChildren",new(s().MFNode)),new(a())(y().inputOnly,"removeChildren",new(s().MFNode)),new(a())(y().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const L=k,Q=_().add("CADPart",L),R=e.X3DComposedGeometryNode;var E=t.n(R);function H(e){E().call(this,e),this.addType(y().IndexedQuadSet)}Object.assign(Object.setPrototypeOf(H.prototype,E().prototype),{initialize(){E().prototype.initialize.call(this),this._set_index.addFieldInterest(this._index)},getTriangleIndex(e){const t=e%6;return 4*Math.floor(e/6)+t%3+Math.floor(t/4)},getPolygonIndex(e){return this._index[e]},getVerticesPerPolygon:()=>4,getNumVertices(){return this._index.length},build(){let e=this._index.length;e-=e%4,E().prototype.build.call(this,4,e,6,e/4*6)}}),Object.defineProperties(H,{...p().getStaticProperties("IndexedQuadSet","CADGeometry",1,"geometry","3.1"),fieldDefinitions:{value:new(d())([new(a())(y().inputOutput,"metadata",new(s().SFNode)),new(a())(y().inputOnly,"set_index",new(s().MFInt32)),new(a())(y().initializeOnly,"solid",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"ccw",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"colorPerVertex",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"normalPerVertex",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"index",new(s().MFInt32)),new(a())(y().inputOutput,"attrib",new(s().MFNode)),new(a())(y().inputOutput,"fogCoord",new(s().SFNode)),new(a())(y().inputOutput,"color",new(s().SFNode)),new(a())(y().inputOutput,"texCoord",new(s().SFNode)),new(a())(y().inputOutput,"tangent",new(s().SFNode)),new(a())(y().inputOutput,"normal",new(s().SFNode)),new(a())(y().inputOutput,"coord",new(s().SFNode))]),enumerable:!0}});const q=H,K=_().add("IndexedQuadSet",q);function W(e){E().call(this,e),this.addType(y().QuadSet)}Object.assign(Object.setPrototypeOf(W.prototype,E().prototype),{getTriangleIndex(e){const t=e%6;return 4*Math.floor(e/6)+t%3+Math.floor(t/4)},getVerticesPerPolygon:()=>4,getNumVertices(){return this.getCoord()?.getSize()},build(){if(!this.getCoord())return;let e=this.getCoord().getSize();e-=e%4,E().prototype.build.call(this,4,e,6,e/4*6)},createNormals(e,t){return this.createFaceNormals(e,t)}}),Object.defineProperties(W,{...p().getStaticProperties("QuadSet","CADGeometry",1,"geometry","3.1"),fieldDefinitions:{value:new(d())([new(a())(y().inputOutput,"metadata",new(s().SFNode)),new(a())(y().initializeOnly,"solid",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"ccw",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"colorPerVertex",new(s().SFBool)(!0)),new(a())(y().initializeOnly,"normalPerVertex",new(s().SFBool)(!0)),new(a())(y().inputOutput,"attrib",new(s().MFNode)),new(a())(y().inputOutput,"fogCoord",new(s().SFNode)),new(a())(y().inputOutput,"color",new(s().SFNode)),new(a())(y().inputOutput,"texCoord",new(s().SFNode)),new(a())(y().inputOutput,"tangent",new(s().SFNode)),new(a())(y().inputOutput,"normal",new(s().SFNode)),new(a())(y().inputOutput,"coord",new(s().SFNode))]),enumerable:!0}});const Y=W,J=_().add("QuadSet",Y);n().add({name:"CADGeometry",concreteNodes:[g,I,T,Q,K,J],abstractNodes:[f]});_().add("CADGeometryComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/CubeMapTexturingComponent.js b/dist/assets/components/CubeMapTexturingComponent.js index 6b2238d6e5..86840b1295 100644 --- a/dist/assets/components/CubeMapTexturingComponent.js +++ b/dist/assets/components/CubeMapTexturingComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ diff --git a/dist/assets/components/CubeMapTexturingComponent.min.js b/dist/assets/components/CubeMapTexturingComponent.min.js index afb113c57b..d6e973d98b 100644 --- a/dist/assets/components/CubeMapTexturingComponent.min.js +++ b/dist/assets/components/CubeMapTexturingComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const e=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var t={254:t=>{t.exports=e.jquery}},r={};function i(e){var s=r[e];if(void 0!==s)return s.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,i),a.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);const s=e.Components;var a=i.n(s);const n=e.Namespace;var o=i.n(n);const u=o().add("Panorama1.fs","\nprecision highp float;precision highp int;precision highp sampler2D;const float M_PI=3.1415926535897932384626433832795;varying vec2 texCoord;uniform sampler2D x3d_PanoramaTexture;uniform int x3d_CurrentFace;vec3 uvToXYZ(const in int face,const in vec2 uv){vec3 xyz;if(face==0)xyz=vec3(1.0,uv.y,uv.x);else if(face==1)xyz=vec3(-1.0,uv.y,-uv.x);else if(face==2)xyz=vec3(uv.x,uv.y,-1.0);else if(face==3)xyz=vec3(-uv.x,uv.y,1.0);else if(face==4)xyz=vec3(uv.y,-1.0,uv.x);else xyz=vec3(-uv.y,1.0,uv.x);return xyz;}vec2 dirToUV(const in vec3 dir){return vec2(0.5+0.5*atan(dir.z,dir.x)/M_PI,1.0-acos(dir.y)/M_PI);}vec3 panoramaToCubeMap(const in int face,const in vec2 texCoord){vec3 scan=uvToXYZ(face,texCoord);vec3 direction=normalize(scan);vec2 src=dirToUV(direction);return texture2D(x3d_PanoramaTexture,src).rgb;}void main(){gl_FragColor=vec4(panoramaToCubeMap(x3d_CurrentFace,texCoord),1.0);}"),h=o().add("Panorama2.fs","#version 300 es\nprecision highp float;precision highp int;precision highp sampler2D;const float M_PI=3.1415926535897932384626433832795;in vec2 texCoord;out vec4 x3d_FragColor;uniform sampler2D x3d_PanoramaTexture;uniform int x3d_CurrentFace;vec3 uvToXYZ(const in int face,const in vec2 uv){switch(face){case 0:return vec3(1.0,uv.y,uv.x);case 1:return vec3(-1.0,uv.y,-uv.x);case 2:return vec3(uv.x,uv.y,-1.0);case 3:return vec3(-uv.x,uv.y,1.0);case 4:return vec3(uv.y,-1.0,uv.x);default:return vec3(-uv.y,1.0,uv.x);}}vec2 dirToUV(const in vec3 dir){return vec2(0.5+0.5*atan(dir.z,dir.x)/M_PI,1.0-acos(dir.y)/M_PI);}vec3 panoramaToCubeMap(const in int face,const in vec2 texCoord){vec3 scan=uvToXYZ(face,texCoord);vec3 direction=normalize(scan);vec2 src=dirToUV(direction);return texture(x3d_PanoramaTexture,src).rgb;}void main(){x3d_FragColor=vec4(panoramaToCubeMap(x3d_CurrentFace,texCoord),1.0);}"),d=Symbol();function c(){}Object.assign(c.prototype,{getPanoramaShader(){return this[d]?this[d]:this[d]=this.createShader("Panorama","FullScreen","data:x-shader/x-fragment,"+["",u,h][this.getContext().getVersion()],[],["x3d_PanoramaTexture","x3d_CurrentFace"])}});const T=c,p=o().add("X3DCubeMapTexturingContext",T),x=e.Fields;var g=i.n(x);const l=e.X3DFieldDefinition;var _=i.n(l);const f=e.FieldDefinitionArray;var m=i.n(f);const E=e.X3DNode;var w=i.n(E);const v=e.X3DSingleTextureNode;var b=i.n(v);const M=e.X3DConstants;var R=i.n(M);function C(e){b().call(this,e),this.addType(R().X3DEnvironmentTextureNode);const t=this.getBrowser().getContext();this.target=t.TEXTURE_CUBE_MAP,this.targets=[t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y],this.size=1,this.levels=0}Object.assign(Object.setPrototypeOf(C.prototype,b().prototype),{getTarget(){return this.target},getTextureType:()=>4,getTargets(){return this.targets},getSize(){return this.size},setSize(e){this.size=e,this.levels=Math.floor(Math.log2(Math.max(e,1)))},getLevels(){return this.levels},clearTexture:(()=>{const e=new Uint8Array([255,255,255,255]);return function(){const t=this.getBrowser().getContext();t.bindTexture(this.getTarget(),this.getTexture());for(const r of this.getTargets())t.texImage2D(r,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,e);this.setSize(1),this.setTransparent(!1),this.updateTextureParameters()}})(),updateTextureParameters(){b().prototype.updateTextureParameters.call(this,this.target,this._textureProperties.getValue(),this.texturePropertiesNode,this.size,this.size,!1,!1,!1)},setShaderUniforms(e,t,r,i=t.x3d_Texture[0]){const s=this.getBrowser().getTextureCubeUnit();e.activeTexture(e.TEXTURE0+s),e.bindTexture(e.TEXTURE_CUBE_MAP,this.getTexture()),e.uniform1i(i.textureCube,s)}}),Object.defineProperties(C,w().getStaticProperties("X3DEnvironmentTextureNode","CubeMapTexturing",1));const y=C,S=o().add("X3DEnvironmentTextureNode",y),U=e.X3DCast;var P=i.n(U);const A=e.BitSet;var O=i.n(A);function B(e){S.call(this,e),this.addType(R().ComposedCubeMapTexture),this.addChildObjects(R().inputOutput,"update",new(g().SFTime)),e.getSpecificationVersion()<=3.3&&(this.addAlias("front",this._frontTexture),this.addAlias("back",this._backTexture),this.addAlias("left",this._leftTexture),this.addAlias("right",this._rightTexture),this.addAlias("top",this._topTexture),this.addAlias("bottom",this._bottomTexture)),this.textureNodes=[null,null,null,null,null,null],this.textureBits=new(O())}Object.assign(Object.setPrototypeOf(B.prototype,S.prototype),{initialize(){S.prototype.initialize.call(this);const e=this.getBrowser().getContext();this.frameBuffer=e.createFramebuffer(),this.clearTexture(),this._frontTexture.addInterest("set_texture__",this,0),this._backTexture.addInterest("set_texture__",this,1),this._leftTexture.addInterest("set_texture__",this,2),this._rightTexture.addInterest("set_texture__",this,3),this._topTexture.addInterest("set_texture__",this,5),this._bottomTexture.addInterest("set_texture__",this,4),this._update.addInterest("update",this),this.set_texture__(0,this._frontTexture),this.set_texture__(1,this._backTexture),this.set_texture__(2,this._leftTexture),this.set_texture__(3,this._rightTexture),this.set_texture__(4,this._topTexture),this.set_texture__(5,this._bottomTexture)},set_texture__(e,t){let r=this.textureNodes[e];r?.removeInterest(`set_loadState${e}__`,this),r=this.textureNodes[e]=P()(R().X3DTexture2DNode,t),r?.addInterest(`set_loadState${e}__`,this,e,r),this.set_loadState__(e,r)},set_loadState__(e,t){this.setTextureBit(e,t?.checkLoadState()),this._update.addEvent()},setTextureBit(e,t){this.textureBits.set(e,t===R().COMPLETE_STATE)},isComplete(){if(63!=+this.textureBits)return!1;const e=this.textureNodes,t=e[0].getWidth();for(const r of e){if(r.getWidth()!==t)return!1;if(r.getHeight()!==t)return!1}return!0},update(){if(this.isComplete()){const e=this.getBrowser().getContext(),t=this.textureNodes,r=t[0].getWidth();if(r!==this.getSize()){const t=new Uint8Array(r*r*4);e.bindTexture(this.getTarget(),this.getTexture());for(let i=0;i<6;++i)e.texImage2D(this.getTargets()[i],0,e.RGBA,r,r,0,e.RGBA,e.UNSIGNED_BYTE,t);this.setSize(r),this.updateTextureParameters()}e.bindFramebuffer(e.FRAMEBUFFER,this.frameBuffer);for(let i=0;i<6;++i){const s=t[i];if(e.bindTexture(e.TEXTURE_2D,s.getTexture()),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,s.getTexture(),0),e.bindTexture(this.getTarget(),this.getTexture()),1===s.getTextureType())e.copyTexSubImage2D(this.getTargets()[i],0,0,0,0,0,r,r);else for(let t=0;te.isTransparent()))),this.setLinear(t.some((e=>e.isLinear()))),this.setMipMaps(t.every((e=>e.canMipMaps()))),this.updateTextureParameters()}else this.clearTexture()}}),Object.defineProperties(B,{...w().getStaticProperties("ComposedCubeMapTexture","CubeMapTexturing",1,"texture","3.1"),fieldDefinitions:{value:new(m())([new(_())(R().inputOutput,"metadata",new(g().SFNode)),new(_())(R().inputOutput,"description",new(g().SFString)),new(_())(R().inputOutput,"frontTexture",new(g().SFNode)),new(_())(R().inputOutput,"backTexture",new(g().SFNode)),new(_())(R().inputOutput,"leftTexture",new(g().SFNode)),new(_())(R().inputOutput,"rightTexture",new(g().SFNode)),new(_())(R().inputOutput,"topTexture",new(g().SFNode)),new(_())(R().inputOutput,"bottomTexture",new(g().SFNode)),new(_())(R().initializeOnly,"textureProperties",new(g().SFNode))]),enumerable:!0}});for(let e=0;e<6;++e)B.prototype[`set_loadState${e}__`]=function(e,t){this.set_loadState__(e,t)};const I=B,F=o().add("ComposedCubeMapTexture",I),D=e.X3DBaseNode;var N=i.n(D);const L=e.X3DRenderObject;var X=i.n(L);const z=e.TraverseType;var V=i.n(z);const j=e.Camera;var G=i.n(j);const k=e.Algorithm;var Y=i.n(k);const W=e.Matrix4;var H=i.n(W);function $(e,t,r){N().call(this,e),X().call(this,e),this.renderObject=t,this.node=r,this.projectionMatrixWithLimits=new(H()),this.frameBuffers=[]}Object.assign(Object.setPrototypeOf($.prototype,N().prototype),X().prototype,{initialize(){N().prototype.initialize.call(this),X().prototype.initialize.call(this)},isIndependent:()=>!1,isActive:()=>!1,getNode(){return this.node},getLayer(){return this.renderObject.getLayer()},getBackground(){return this.renderObject.getBackground()},getFog(){return this.renderObject.getFog()},getNavigationInfo(){return this.renderObject.getNavigationInfo()},getViewpoint(){return this.renderObject.getViewpoint()},getViewpointStack(){return this.renderObject.getViewpointStack()},getLightContainer(){return this.renderObject.getLights()[this.lightIndex++]},getFrameBuffers(){return this.frameBuffers},setFrameBuffer(e){this.frameBuffers[0]=e},getProjectionMatrixWithLimits(e,t,r){return G().perspective(Y().radians(90),e,t,r[2],r[3],this.projectionMatrixWithLimits)},render(e,t,r){switch(e){case V().COLLISION:case V().SHADOW:X().prototype.render.call(this,e,t,r);break;case V().DISPLAY:this.lightIndex=0,X().prototype.render.call(this,e,t,r);for(const e of this.renderObject.getLights())e.modelViewMatrix.pop()}}});for(const e of Object.keys($.prototype))Object.defineProperty($.prototype,e,{enumerable:!1});const Z=$,K=o().add("DependentRenderer",Z),q=e.TextureBuffer;var J=i.n(q);const Q=e.ViewVolume;var ee=i.n(Q);const te=e.Rotation4;var re=i.n(te);const ie=e.Vector3;var se=i.n(ie);const ae=e.Vector4;var ne=i.n(ae);function oe(e){S.call(this,e),this.addType(R().GeneratedCubeMapTexture),this.dependentRenderers=new WeakMap,this.modelMatrix=new(H()),this.viewVolume=new(ee())}Object.assign(Object.setPrototypeOf(oe.prototype,S.prototype),{initialize(){S.prototype.initialize.call(this),this._size.addInterest("set_size__",this),this.set_size__()},set_size__(){const e=this.getBrowser().getContext(),t=e.getVersion()>=2?this._size.getValue():Y().nextPowerOfTwo(this._size.getValue());if(t>0){const r=new Uint8Array(t*t*4);e.bindTexture(this.getTarget(),this.getTexture());for(const i of this.getTargets())e.texImage2D(i,0,e.RGBA,t,t,0,e.RGBA,e.UNSIGNED_BYTE,r);this.updateTextureParameters(),this.viewport=new(ne())(0,0,t,t),this.frameBuffer=new(J())(this.getBrowser(),t,t),this.setSize(t)}else this.frameBuffer=null,this.setSize(0)},traverse(e,t){"NONE"!==this._update.getValue()&&t.isIndependent()&&this.frameBuffer&&(t.getGeneratedCubeMapTextures().push(this),this.modelMatrix.assign(t.getModelViewMatrix().get()).multRight(t.getCameraSpaceMatrix().get()))},renderTexture:(()=>{const e=[new(re())(se().zAxis,new(se())(0,0,-1)),new(re())(se().zAxis,new(se())(0,0,1)),new(re())(se().zAxis,new(se())(1,0,0)),new(re())(se().zAxis,new(se())(-1,0,0)),new(re())(se().zAxis,new(se())(0,-1,0)),new(re())(se().zAxis,new(se())(0,1,0))],t=[new(se())(-1,-1,1),new(se())(-1,-1,1),new(se())(-1,-1,1),new(se())(-1,-1,1),new(se())(1,1,1),new(se())(1,1,1)],r=new(H());return function(i){if(!this.dependentRenderers.has(i)){const e=new K(this.getExecutionContext(),i,this);e.setup(),this.dependentRenderers.set(i,e)}const s=this.dependentRenderers.get(i),a=this.getBrowser(),n=i.getLayer(),o=a.getContext(),u=s.getBackground(),h=s.getNavigationInfo(),d=s.getViewpoint(),c=a.getHeadlight(),T=h._headlight.getValue(),p=h.getNearValue(),x=h.getFarValue(d),g=s.getProjectionMatrixWithLimits(p,x,this.viewport),l=this.frameBuffer.getWidth(),_=this.frameBuffer.getHeight();this.setTransparent(u.isTransparent()),s.setFrameBuffer(this.frameBuffer),s.getViewVolumes().push(this.viewVolume.set(g,this.viewport,this.viewport)),s.getProjectionMatrix().pushMatrix(g),o.bindTexture(this.getTarget(),this.getTexture());for(let i=0;i<6;++i)o.clear(o.COLOR_BUFFER_BIT),s.getCameraSpaceMatrix().pushMatrix(this.modelMatrix),s.getCameraSpaceMatrix().rotate(e[i]),s.getCameraSpaceMatrix().scale(t[i]),s.getViewMatrix().pushMatrix(r.assign(s.getCameraSpaceMatrix().get()).inverse()),s.getModelViewMatrix().pushMatrix(r),T&&(c.modelViewMatrix.pushMatrix(r),c.modelViewMatrix.multLeft(d.getCameraSpaceMatrix())),n.traverse(V().DISPLAY,s),T&&c.modelViewMatrix.pop(),s.getModelViewMatrix().pop(),s.getCameraSpaceMatrix().pop(),s.getViewMatrix().pop(),o.bindTexture(this.getTarget(),this.getTexture()),o.copyTexSubImage2D(this.getTargets()[i],0,0,0,0,0,l,_);this.updateTextureParameters(),s.getProjectionMatrix().pop(),s.getViewVolumes().pop(),"NEXT_FRAME_ONLY"===this._update.getValue()&&(this._update="NONE")}})(),setShaderUniforms:(()=>{const e=new Float32Array(16);return function(t,r,i,s){S.prototype.setShaderUniforms.call(this,t,r,i,s),i.getNode()===this&&t.uniformMatrix4fv(r.x3d_ModelViewMatrix,!1,e)}})()}),Object.defineProperties(oe,{...w().getStaticProperties("GeneratedCubeMapTexture","CubeMapTexturing",3,"texture","3.0"),fieldDefinitions:{value:new(m())([new(_())(R().inputOutput,"metadata",new(g().SFNode)),new(_())(R().inputOutput,"description",new(g().SFString)),new(_())(R().inputOutput,"update",new(g().SFString)("NONE")),new(_())(R().initializeOnly,"size",new(g().SFInt32)(128)),new(_())(R().initializeOnly,"textureProperties",new(g().SFNode))]),enumerable:!0}});const ue=oe,he=o().add("GeneratedCubeMapTexture",ue),de=e.X3DUrlObject;var ce=i.n(de);const Te=e.Vector2;var pe=i.n(Te);const xe=e.DEVELOPMENT;var ge=i.n(xe),le=i(254);const _e=new Uint8Array([255,255,255,255]);function fe(e){S.call(this,e),ce().call(this,e),this.addType(R().ImageCubeMapTexture),this.image=le(""),this.urlStack=new(g().MFString)}Object.assign(Object.setPrototypeOf(fe.prototype,S.prototype),ce().prototype,{initialize(){S.prototype.initialize.call(this),ce().prototype.initialize.call(this);const e=this.getBrowser().getContext();e.bindTexture(this.getTarget(),this.getTexture());for(let t=0;t<6;++t)e.texImage2D(this.getTargets()[t],0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,_e);this.image.on("load",this.setImage.bind(this)),this.image.on("abort error",this.setError.bind(this)),this.image.prop("crossOrigin","Anonymous"),this.requestImmediateLoad().catch(Function.prototype)},unloadData(){this.clearTexture()},loadData(){this.urlStack.setValue(this._url),this.loadNext()},loadNext(){if(0===this.urlStack.length)return this.clearTexture(),void this.setLoadState(R().FAILED_STATE);this.URL=new URL(this.urlStack.shift(),this.getExecutionContext().getBaseURL()),this.URL.pathname.match(/\.ktx2?(?:\.gz)?$/)||this.URL.href.match(/^data:image\/ktx2[;,]/)?(this.setLinear(!0),this.setMipMaps(!1),this.getBrowser().getKTXDecoder().then((e=>e.loadKTXFromURL(this.URL,this.getCache()))).then((e=>this.setKTXTexture(e))).catch((e=>this.setError({type:e.message})))):(this.setLinear(!1),this.setMipMaps(!0),"data:"!==this.URL.protocol&&(this.getCache()||this.URL.searchParams.set("_",Date.now())),this.image.attr("src",this.URL.href))},setError(e){"data:"!==this.URL.protocol&&console.warn(`Error loading image '${decodeURI(this.URL.href)}'`,e.type),this.loadNext()},setKTXTexture(e){if(e.target!==this.getTarget())return this.setError({type:"Invalid KTX texture target, must be 'TEXTURE_CUBE_MAP'."});ge()&&"data:"!==this.URL.protocol&&console.info(`Done loading image cube map texture '${decodeURI(this.URL.href)}'.`);try{this.setTexture(e),this.setTransparent(!1),this.setSize(e.baseWidth),this.updateTextureParameters(),this.setLoadState(R().COMPLETE_STATE)}catch(e){this.setError({type:e.message})}},setImage(){ge()&&"data:"!==this.URL.protocol&&console.info(`Done loading image cube map texture '${decodeURI(this.URL.href)}'.`);try{const e=this.getBrowser().getContext(),t=e.createTexture();e.bindTexture(e.TEXTURE_2D,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image[0]),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),this.imageToCubeMap(t,this.image.prop("width"),this.image.prop("height"),!1),this.setLoadState(R().COMPLETE_STATE)}catch(e){this.setError({type:e.message})}},imageToCubeMap(e,t,r){const i=t/r;Math.abs(i-4/3)<.01&&this.skyBoxToCubeMap(e,t,r),Math.abs(i-2)<.01&&this.panoramaToCubeMap(e,t,r),this.updateTextureParameters()},skyBoxToCubeMap:function(){const e=[new(pe())(1,1),new(pe())(3,1),new(pe())(0,1),new(pe())(2,1),new(pe())(1,0),new(pe())(1,2)];return function(t,r,i){const s=this.getBrowser().getContext(),a=s.createFramebuffer(),n=Math.floor(r/4),o=Math.floor(i/3),u=new Uint8Array(n*o*4);s.bindTexture(this.getTarget(),this.getTexture());for(let e=0;e<6;++e)s.texImage2D(this.getTargets()[e],0,s.RGBA,n,o,0,s.RGBA,s.UNSIGNED_BYTE,null);s.bindFramebuffer(s.FRAMEBUFFER,a),s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0,s.TEXTURE_2D,t,0);let h=!1;s.bindTexture(this.getTarget(),this.getTexture());for(let t=0;t<6;++t)s.copyTexSubImage2D(this.getTargets()[t],0,0,0,e[t].x*n,e[t].y*o,n,o),h||(s.readPixels(e[t].x*n,e[t].y*o,n,o,s.RGBA,s.UNSIGNED_BYTE,u),h=this.isImageTransparent(u));s.deleteFramebuffer(a),s.deleteTexture(t),this.setTransparent(h),this.setSize(n)}}(),panoramaToCubeMap(e,t,r){const i=this.getBrowser(),s=i.getContext(),a=i.getPanoramaShader(),n=s.createFramebuffer(),o=i.getTextureCubeUnit(),u=Math.floor(r/2),h=new Uint8Array(u*u*4);s.bindTexture(s.TEXTURE_2D,e),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.MIRRORED_REPEAT),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.MIRRORED_REPEAT),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.LINEAR),s.bindTexture(this.getTarget(),this.getTexture());for(let e=0;e<6;++e)s.texImage2D(this.getTargets()[e],0,s.RGBA,u,u,0,s.RGBA,s.UNSIGNED_BYTE,null);s.useProgram(a.getProgram()),s.activeTexture(s.TEXTURE0+o),s.bindTexture(s.TEXTURE_2D,e),s.uniform1i(a.x3d_PanoramaTexture,o),s.bindFramebuffer(s.FRAMEBUFFER,n),s.viewport(0,0,u,u),s.scissor(0,0,u,u),s.disable(s.DEPTH_TEST),s.enable(s.CULL_FACE),s.frontFace(s.CCW),s.clearColor(0,0,0,0),s.bindVertexArray(i.getFullscreenVertexArrayObject());let d=!1;for(let e=0;e<6;++e)s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0,this.getTargets()[e],this.getTexture(),0),s.clear(s.COLOR_BUFFER_BIT),s.uniform1i(a.x3d_CurrentFace,e),s.drawArrays(s.TRIANGLES,0,6),d||(s.readPixels(0,0,u,u,s.RGBA,s.UNSIGNED_BYTE,h),d=this.isImageTransparent(h));s.enable(s.DEPTH_TEST),s.deleteFramebuffer(n),s.deleteTexture(e),i.resetTextureUnits(),this.setTransparent(d),this.setSize(u)},dispose(){ce().prototype.dispose.call(this),S.prototype.dispose.call(this)}}),Object.defineProperties(fe,{...w().getStaticProperties("ImageCubeMapTexture","CubeMapTexturing",2,"texture","3.0"),fieldDefinitions:{value:new(m())([new(_())(R().inputOutput,"metadata",new(g().SFNode)),new(_())(R().inputOutput,"description",new(g().SFString)),new(_())(R().inputOutput,"load",new(g().SFBool)(!0)),new(_())(R().inputOutput,"url",new(g().MFString)),new(_())(R().inputOutput,"autoRefresh",new(g().SFTime)),new(_())(R().inputOutput,"autoRefreshTimeLimit",new(g().SFTime)(3600)),new(_())(R().initializeOnly,"textureProperties",new(g().SFNode))]),enumerable:!0}});const me=fe,Ee=o().add("ImageCubeMapTexture",me);a().add({name:"CubeMapTexturing",concreteNodes:[F,he,Ee],abstractNodes:[S],browserContext:p});o().add("CubeMapTexturingComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const e=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var t={254:t=>{t.exports=e.jquery}},r={};function i(e){var s=r[e];if(void 0!==s)return s.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,i),a.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);const s=e.Components;var a=i.n(s);const n=e.Namespace;var o=i.n(n);const u=o().add("Panorama1.fs","\nprecision highp float;precision highp int;precision highp sampler2D;const float M_PI=3.1415926535897932384626433832795;varying vec2 texCoord;uniform sampler2D x3d_PanoramaTexture;uniform int x3d_CurrentFace;vec3 uvToXYZ(const in int face,const in vec2 uv){vec3 xyz;if(face==0)xyz=vec3(1.0,uv.y,uv.x);else if(face==1)xyz=vec3(-1.0,uv.y,-uv.x);else if(face==2)xyz=vec3(uv.x,uv.y,-1.0);else if(face==3)xyz=vec3(-uv.x,uv.y,1.0);else if(face==4)xyz=vec3(uv.y,-1.0,uv.x);else xyz=vec3(-uv.y,1.0,uv.x);return xyz;}vec2 dirToUV(const in vec3 dir){return vec2(0.5+0.5*atan(dir.z,dir.x)/M_PI,1.0-acos(dir.y)/M_PI);}vec3 panoramaToCubeMap(const in int face,const in vec2 texCoord){vec3 scan=uvToXYZ(face,texCoord);vec3 direction=normalize(scan);vec2 src=dirToUV(direction);return texture2D(x3d_PanoramaTexture,src).rgb;}void main(){gl_FragColor=vec4(panoramaToCubeMap(x3d_CurrentFace,texCoord),1.0);}"),h=o().add("Panorama2.fs","#version 300 es\nprecision highp float;precision highp int;precision highp sampler2D;const float M_PI=3.1415926535897932384626433832795;in vec2 texCoord;out vec4 x3d_FragColor;uniform sampler2D x3d_PanoramaTexture;uniform int x3d_CurrentFace;vec3 uvToXYZ(const in int face,const in vec2 uv){switch(face){case 0:return vec3(1.0,uv.y,uv.x);case 1:return vec3(-1.0,uv.y,-uv.x);case 2:return vec3(uv.x,uv.y,-1.0);case 3:return vec3(-uv.x,uv.y,1.0);case 4:return vec3(uv.y,-1.0,uv.x);default:return vec3(-uv.y,1.0,uv.x);}}vec2 dirToUV(const in vec3 dir){return vec2(0.5+0.5*atan(dir.z,dir.x)/M_PI,1.0-acos(dir.y)/M_PI);}vec3 panoramaToCubeMap(const in int face,const in vec2 texCoord){vec3 scan=uvToXYZ(face,texCoord);vec3 direction=normalize(scan);vec2 src=dirToUV(direction);return texture(x3d_PanoramaTexture,src).rgb;}void main(){x3d_FragColor=vec4(panoramaToCubeMap(x3d_CurrentFace,texCoord),1.0);}"),d=Symbol();function c(){}Object.assign(c.prototype,{getPanoramaShader(){return this[d]?this[d]:this[d]=this.createShader("Panorama","FullScreen","data:x-shader/x-fragment,"+["",u,h][this.getContext().getVersion()],[],["x3d_PanoramaTexture","x3d_CurrentFace"])}});const T=c,p=o().add("X3DCubeMapTexturingContext",T),x=e.Fields;var g=i.n(x);const l=e.X3DFieldDefinition;var _=i.n(l);const f=e.FieldDefinitionArray;var m=i.n(f);const E=e.X3DNode;var w=i.n(E);const v=e.X3DSingleTextureNode;var b=i.n(v);const M=e.X3DConstants;var R=i.n(M);function C(e){b().call(this,e),this.addType(R().X3DEnvironmentTextureNode);const t=this.getBrowser().getContext();this.target=t.TEXTURE_CUBE_MAP,this.targets=[t.TEXTURE_CUBE_MAP_POSITIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_Z,t.TEXTURE_CUBE_MAP_NEGATIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_X,t.TEXTURE_CUBE_MAP_POSITIVE_Y,t.TEXTURE_CUBE_MAP_NEGATIVE_Y],this.size=1,this.levels=0}Object.assign(Object.setPrototypeOf(C.prototype,b().prototype),{getTarget(){return this.target},getTextureType:()=>4,getTargets(){return this.targets},getSize(){return this.size},setSize(e){this.size=e,this.levels=Math.floor(Math.log2(Math.max(e,1)))},getLevels(){return this.levels},clearTexture:(()=>{const e=new Uint8Array([255,255,255,255]);return function(){const t=this.getBrowser().getContext();t.bindTexture(this.getTarget(),this.getTexture());for(const r of this.getTargets())t.texImage2D(r,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,e);this.setSize(1),this.setTransparent(!1),this.updateTextureParameters()}})(),updateTextureParameters(){b().prototype.updateTextureParameters.call(this,this.target,this._textureProperties.getValue(),this.texturePropertiesNode,this.size,this.size,!1,!1,!1)},setShaderUniforms(e,t,r,i=t.x3d_Texture[0]){const s=this.getBrowser().getTextureCubeUnit();e.activeTexture(e.TEXTURE0+s),e.bindTexture(e.TEXTURE_CUBE_MAP,this.getTexture()),e.uniform1i(i.textureCube,s)}}),Object.defineProperties(C,w().getStaticProperties("X3DEnvironmentTextureNode","CubeMapTexturing",1));const y=C,S=o().add("X3DEnvironmentTextureNode",y),U=e.X3DCast;var P=i.n(U);const A=e.BitSet;var O=i.n(A);function B(e){S.call(this,e),this.addType(R().ComposedCubeMapTexture),this.addChildObjects(R().inputOutput,"update",new(g().SFTime)),e.getSpecificationVersion()<=3.3&&(this.addAlias("front",this._frontTexture),this.addAlias("back",this._backTexture),this.addAlias("left",this._leftTexture),this.addAlias("right",this._rightTexture),this.addAlias("top",this._topTexture),this.addAlias("bottom",this._bottomTexture)),this.textureNodes=[null,null,null,null,null,null],this.textureBits=new(O())}Object.assign(Object.setPrototypeOf(B.prototype,S.prototype),{initialize(){S.prototype.initialize.call(this);const e=this.getBrowser().getContext();this.frameBuffer=e.createFramebuffer(),this.clearTexture(),this._frontTexture.addInterest("set_texture__",this,0),this._backTexture.addInterest("set_texture__",this,1),this._leftTexture.addInterest("set_texture__",this,2),this._rightTexture.addInterest("set_texture__",this,3),this._topTexture.addInterest("set_texture__",this,5),this._bottomTexture.addInterest("set_texture__",this,4),this._update.addInterest("update",this),this.set_texture__(0,this._frontTexture),this.set_texture__(1,this._backTexture),this.set_texture__(2,this._leftTexture),this.set_texture__(3,this._rightTexture),this.set_texture__(4,this._topTexture),this.set_texture__(5,this._bottomTexture)},set_texture__(e,t){let r=this.textureNodes[e];r?.removeInterest(`set_loadState${e}__`,this),r=this.textureNodes[e]=P()(R().X3DTexture2DNode,t),r?.addInterest(`set_loadState${e}__`,this,e,r),this.set_loadState__(e,r)},set_loadState__(e,t){this.setTextureBit(e,t?.checkLoadState()),this._update.addEvent()},setTextureBit(e,t){this.textureBits.set(e,t===R().COMPLETE_STATE)},isComplete(){if(63!=+this.textureBits)return!1;const e=this.textureNodes,t=e[0].getWidth();for(const r of e){if(r.getWidth()!==t)return!1;if(r.getHeight()!==t)return!1}return!0},update(){if(this.isComplete()){const e=this.getBrowser().getContext(),t=this.textureNodes,r=t[0].getWidth();if(r!==this.getSize()){const t=new Uint8Array(r*r*4);e.bindTexture(this.getTarget(),this.getTexture());for(let i=0;i<6;++i)e.texImage2D(this.getTargets()[i],0,e.RGBA,r,r,0,e.RGBA,e.UNSIGNED_BYTE,t);this.setSize(r),this.updateTextureParameters()}e.bindFramebuffer(e.FRAMEBUFFER,this.frameBuffer);for(let i=0;i<6;++i){const s=t[i];if(e.bindTexture(e.TEXTURE_2D,s.getTexture()),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,s.getTexture(),0),e.bindTexture(this.getTarget(),this.getTexture()),1===s.getTextureType())e.copyTexSubImage2D(this.getTargets()[i],0,0,0,0,0,r,r);else for(let t=0;te.isTransparent()))),this.setLinear(t.some((e=>e.isLinear()))),this.setMipMaps(t.every((e=>e.canMipMaps()))),this.updateTextureParameters()}else this.clearTexture()}}),Object.defineProperties(B,{...w().getStaticProperties("ComposedCubeMapTexture","CubeMapTexturing",1,"texture","3.1"),fieldDefinitions:{value:new(m())([new(_())(R().inputOutput,"metadata",new(g().SFNode)),new(_())(R().inputOutput,"description",new(g().SFString)),new(_())(R().inputOutput,"frontTexture",new(g().SFNode)),new(_())(R().inputOutput,"backTexture",new(g().SFNode)),new(_())(R().inputOutput,"leftTexture",new(g().SFNode)),new(_())(R().inputOutput,"rightTexture",new(g().SFNode)),new(_())(R().inputOutput,"topTexture",new(g().SFNode)),new(_())(R().inputOutput,"bottomTexture",new(g().SFNode)),new(_())(R().initializeOnly,"textureProperties",new(g().SFNode))]),enumerable:!0}});for(let e=0;e<6;++e)B.prototype[`set_loadState${e}__`]=function(e,t){this.set_loadState__(e,t)};const I=B,F=o().add("ComposedCubeMapTexture",I),D=e.X3DBaseNode;var N=i.n(D);const L=e.X3DRenderObject;var X=i.n(L);const z=e.TraverseType;var V=i.n(z);const j=e.Camera;var G=i.n(j);const k=e.Algorithm;var Y=i.n(k);const W=e.Matrix4;var H=i.n(W);function $(e,t,r){N().call(this,e),X().call(this,e),this.renderObject=t,this.node=r,this.projectionMatrixWithLimits=new(H()),this.frameBuffers=[]}Object.assign(Object.setPrototypeOf($.prototype,N().prototype),X().prototype,{initialize(){N().prototype.initialize.call(this),X().prototype.initialize.call(this)},isIndependent:()=>!1,isActive:()=>!1,getNode(){return this.node},getLayer(){return this.renderObject.getLayer()},getBackground(){return this.renderObject.getBackground()},getFog(){return this.renderObject.getFog()},getNavigationInfo(){return this.renderObject.getNavigationInfo()},getViewpoint(){return this.renderObject.getViewpoint()},getViewpointStack(){return this.renderObject.getViewpointStack()},getLightContainer(){return this.renderObject.getLights()[this.lightIndex++]},getFrameBuffers(){return this.frameBuffers},setFrameBuffer(e){this.frameBuffers[0]=e},getProjectionMatrixWithLimits(e,t,r){return G().perspective(Y().radians(90),e,t,r[2],r[3],this.projectionMatrixWithLimits)},render(e,t,r){switch(e){case V().COLLISION:case V().SHADOW:X().prototype.render.call(this,e,t,r);break;case V().DISPLAY:this.lightIndex=0,X().prototype.render.call(this,e,t,r);for(const e of this.renderObject.getLights())e.modelViewMatrix.pop()}}});for(const e of Object.keys($.prototype))Object.defineProperty($.prototype,e,{enumerable:!1});const Z=$,K=o().add("DependentRenderer",Z),q=e.TextureBuffer;var J=i.n(q);const Q=e.ViewVolume;var ee=i.n(Q);const te=e.Rotation4;var re=i.n(te);const ie=e.Vector3;var se=i.n(ie);const ae=e.Vector4;var ne=i.n(ae);function oe(e){S.call(this,e),this.addType(R().GeneratedCubeMapTexture),this.dependentRenderers=new WeakMap,this.modelMatrix=new(H()),this.viewVolume=new(ee())}Object.assign(Object.setPrototypeOf(oe.prototype,S.prototype),{initialize(){S.prototype.initialize.call(this),this._size.addInterest("set_size__",this),this.set_size__()},set_size__(){const e=this.getBrowser().getContext(),t=e.getVersion()>=2?this._size.getValue():Y().nextPowerOfTwo(this._size.getValue());if(t>0){const r=new Uint8Array(t*t*4);e.bindTexture(this.getTarget(),this.getTexture());for(const i of this.getTargets())e.texImage2D(i,0,e.RGBA,t,t,0,e.RGBA,e.UNSIGNED_BYTE,r);this.updateTextureParameters(),this.viewport=new(ne())(0,0,t,t),this.frameBuffer=new(J())(this.getBrowser(),t,t),this.setSize(t)}else this.frameBuffer=null,this.setSize(0)},traverse(e,t){"NONE"!==this._update.getValue()&&t.isIndependent()&&this.frameBuffer&&(t.getGeneratedCubeMapTextures().push(this),this.modelMatrix.assign(t.getModelViewMatrix().get()).multRight(t.getCameraSpaceMatrix().get()))},renderTexture:(()=>{const e=[new(re())(se().zAxis,new(se())(0,0,-1)),new(re())(se().zAxis,new(se())(0,0,1)),new(re())(se().zAxis,new(se())(1,0,0)),new(re())(se().zAxis,new(se())(-1,0,0)),new(re())(se().zAxis,new(se())(0,-1,0)),new(re())(se().zAxis,new(se())(0,1,0))],t=[new(se())(-1,-1,1),new(se())(-1,-1,1),new(se())(-1,-1,1),new(se())(-1,-1,1),new(se())(1,1,1),new(se())(1,1,1)],r=new(H());return function(i){if(!this.dependentRenderers.has(i)){const e=new K(this.getExecutionContext(),i,this);e.setup(),this.dependentRenderers.set(i,e)}const s=this.dependentRenderers.get(i),a=this.getBrowser(),n=i.getLayer(),o=a.getContext(),u=s.getBackground(),h=s.getNavigationInfo(),d=s.getViewpoint(),c=a.getHeadlight(),T=h._headlight.getValue(),p=h.getNearValue(),x=h.getFarValue(d),g=s.getProjectionMatrixWithLimits(p,x,this.viewport),l=this.frameBuffer.getWidth(),_=this.frameBuffer.getHeight();this.setTransparent(u.isTransparent()),s.setFrameBuffer(this.frameBuffer),s.getViewVolumes().push(this.viewVolume.set(g,this.viewport,this.viewport)),s.getProjectionMatrix().pushMatrix(g),o.bindTexture(this.getTarget(),this.getTexture());for(let i=0;i<6;++i)o.clear(o.COLOR_BUFFER_BIT),s.getCameraSpaceMatrix().pushMatrix(this.modelMatrix),s.getCameraSpaceMatrix().rotate(e[i]),s.getCameraSpaceMatrix().scale(t[i]),s.getViewMatrix().pushMatrix(r.assign(s.getCameraSpaceMatrix().get()).inverse()),s.getModelViewMatrix().pushMatrix(r),T&&(c.modelViewMatrix.pushMatrix(r),c.modelViewMatrix.multLeft(d.getCameraSpaceMatrix())),n.traverse(V().DISPLAY,s),T&&c.modelViewMatrix.pop(),s.getModelViewMatrix().pop(),s.getCameraSpaceMatrix().pop(),s.getViewMatrix().pop(),o.bindTexture(this.getTarget(),this.getTexture()),o.copyTexSubImage2D(this.getTargets()[i],0,0,0,0,0,l,_);this.updateTextureParameters(),s.getProjectionMatrix().pop(),s.getViewVolumes().pop(),"NEXT_FRAME_ONLY"===this._update.getValue()&&(this._update="NONE")}})(),setShaderUniforms:(()=>{const e=new Float32Array(16);return function(t,r,i,s){S.prototype.setShaderUniforms.call(this,t,r,i,s),i.getNode()===this&&t.uniformMatrix4fv(r.x3d_ModelViewMatrix,!1,e)}})()}),Object.defineProperties(oe,{...w().getStaticProperties("GeneratedCubeMapTexture","CubeMapTexturing",3,"texture","3.0"),fieldDefinitions:{value:new(m())([new(_())(R().inputOutput,"metadata",new(g().SFNode)),new(_())(R().inputOutput,"description",new(g().SFString)),new(_())(R().inputOutput,"update",new(g().SFString)("NONE")),new(_())(R().initializeOnly,"size",new(g().SFInt32)(128)),new(_())(R().initializeOnly,"textureProperties",new(g().SFNode))]),enumerable:!0}});const ue=oe,he=o().add("GeneratedCubeMapTexture",ue),de=e.X3DUrlObject;var ce=i.n(de);const Te=e.Vector2;var pe=i.n(Te);const xe=e.DEVELOPMENT;var ge=i.n(xe),le=i(254);const _e=new Uint8Array([255,255,255,255]);function fe(e){S.call(this,e),ce().call(this,e),this.addType(R().ImageCubeMapTexture),this.image=le(""),this.urlStack=new(g().MFString)}Object.assign(Object.setPrototypeOf(fe.prototype,S.prototype),ce().prototype,{initialize(){S.prototype.initialize.call(this),ce().prototype.initialize.call(this);const e=this.getBrowser().getContext();e.bindTexture(this.getTarget(),this.getTexture());for(let t=0;t<6;++t)e.texImage2D(this.getTargets()[t],0,e.RGBA,1,1,0,e.RGBA,e.UNSIGNED_BYTE,_e);this.image.on("load",this.setImage.bind(this)),this.image.on("abort error",this.setError.bind(this)),this.image.prop("crossOrigin","Anonymous"),this.requestImmediateLoad().catch(Function.prototype)},unloadData(){this.clearTexture()},loadData(){this.urlStack.setValue(this._url),this.loadNext()},loadNext(){if(0===this.urlStack.length)return this.clearTexture(),void this.setLoadState(R().FAILED_STATE);this.URL=new URL(this.urlStack.shift(),this.getExecutionContext().getBaseURL()),this.URL.pathname.match(/\.ktx2?(?:\.gz)?$/)||this.URL.href.match(/^data:image\/ktx2[;,]/)?(this.setLinear(!0),this.setMipMaps(!1),this.getBrowser().getKTXDecoder().then((e=>e.loadKTXFromURL(this.URL,this.getCache()))).then((e=>this.setKTXTexture(e))).catch((e=>this.setError({type:e.message})))):(this.setLinear(!1),this.setMipMaps(!0),"data:"!==this.URL.protocol&&(this.getCache()||this.URL.searchParams.set("_",Date.now())),this.image.attr("src",this.URL.href))},setError(e){"data:"!==this.URL.protocol&&console.warn(`Error loading image '${decodeURI(this.URL.href)}'`,e.type),this.loadNext()},setKTXTexture(e){if(e.target!==this.getTarget())return this.setError({type:"Invalid KTX texture target, must be 'TEXTURE_CUBE_MAP'."});ge()&&"data:"!==this.URL.protocol&&console.info(`Done loading image cube map texture '${decodeURI(this.URL.href)}'.`);try{this.setTexture(e),this.setTransparent(!1),this.setSize(e.baseWidth),this.updateTextureParameters(),this.setLoadState(R().COMPLETE_STATE)}catch(e){this.setError({type:e.message})}},setImage(){ge()&&"data:"!==this.URL.protocol&&console.info(`Done loading image cube map texture '${decodeURI(this.URL.href)}'.`);try{const e=this.getBrowser().getContext(),t=e.createTexture();e.bindTexture(e.TEXTURE_2D,t),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image[0]),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),this.imageToCubeMap(t,this.image.prop("width"),this.image.prop("height"),!1),this.setLoadState(R().COMPLETE_STATE)}catch(e){this.setError({type:e.message})}},imageToCubeMap(e,t,r){const i=t/r;Math.abs(i-4/3)<.01&&this.skyBoxToCubeMap(e,t,r),Math.abs(i-2)<.01&&this.panoramaToCubeMap(e,t,r),this.updateTextureParameters()},skyBoxToCubeMap:function(){const e=[new(pe())(1,1),new(pe())(3,1),new(pe())(0,1),new(pe())(2,1),new(pe())(1,0),new(pe())(1,2)];return function(t,r,i){const s=this.getBrowser().getContext(),a=s.createFramebuffer(),n=Math.floor(r/4),o=Math.floor(i/3),u=new Uint8Array(n*o*4);s.bindTexture(this.getTarget(),this.getTexture());for(let e=0;e<6;++e)s.texImage2D(this.getTargets()[e],0,s.RGBA,n,o,0,s.RGBA,s.UNSIGNED_BYTE,null);s.bindFramebuffer(s.FRAMEBUFFER,a),s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0,s.TEXTURE_2D,t,0);let h=!1;s.bindTexture(this.getTarget(),this.getTexture());for(let t=0;t<6;++t)s.copyTexSubImage2D(this.getTargets()[t],0,0,0,e[t].x*n,e[t].y*o,n,o),h||(s.readPixels(e[t].x*n,e[t].y*o,n,o,s.RGBA,s.UNSIGNED_BYTE,u),h=this.isImageTransparent(u));s.deleteFramebuffer(a),s.deleteTexture(t),this.setTransparent(h),this.setSize(n)}}(),panoramaToCubeMap(e,t,r){const i=this.getBrowser(),s=i.getContext(),a=i.getPanoramaShader(),n=s.createFramebuffer(),o=i.getTextureCubeUnit(),u=Math.floor(r/2),h=new Uint8Array(u*u*4);s.bindTexture(s.TEXTURE_2D,e),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,s.MIRRORED_REPEAT),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,s.MIRRORED_REPEAT),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,s.LINEAR),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,s.LINEAR),s.bindTexture(this.getTarget(),this.getTexture());for(let e=0;e<6;++e)s.texImage2D(this.getTargets()[e],0,s.RGBA,u,u,0,s.RGBA,s.UNSIGNED_BYTE,null);s.useProgram(a.getProgram()),s.activeTexture(s.TEXTURE0+o),s.bindTexture(s.TEXTURE_2D,e),s.uniform1i(a.x3d_PanoramaTexture,o),s.bindFramebuffer(s.FRAMEBUFFER,n),s.viewport(0,0,u,u),s.scissor(0,0,u,u),s.disable(s.DEPTH_TEST),s.enable(s.CULL_FACE),s.frontFace(s.CCW),s.clearColor(0,0,0,0),s.bindVertexArray(i.getFullscreenVertexArrayObject());let d=!1;for(let e=0;e<6;++e)s.framebufferTexture2D(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0,this.getTargets()[e],this.getTexture(),0),s.clear(s.COLOR_BUFFER_BIT),s.uniform1i(a.x3d_CurrentFace,e),s.drawArrays(s.TRIANGLES,0,6),d||(s.readPixels(0,0,u,u,s.RGBA,s.UNSIGNED_BYTE,h),d=this.isImageTransparent(h));s.enable(s.DEPTH_TEST),s.deleteFramebuffer(n),s.deleteTexture(e),i.resetTextureUnits(),this.setTransparent(d),this.setSize(u)},dispose(){ce().prototype.dispose.call(this),S.prototype.dispose.call(this)}}),Object.defineProperties(fe,{...w().getStaticProperties("ImageCubeMapTexture","CubeMapTexturing",2,"texture","3.0"),fieldDefinitions:{value:new(m())([new(_())(R().inputOutput,"metadata",new(g().SFNode)),new(_())(R().inputOutput,"description",new(g().SFString)),new(_())(R().inputOutput,"load",new(g().SFBool)(!0)),new(_())(R().inputOutput,"url",new(g().MFString)),new(_())(R().inputOutput,"autoRefresh",new(g().SFTime)),new(_())(R().inputOutput,"autoRefreshTimeLimit",new(g().SFTime)(3600)),new(_())(R().initializeOnly,"textureProperties",new(g().SFNode))]),enumerable:!0}});const me=fe,Ee=o().add("ImageCubeMapTexture",me);a().add({name:"CubeMapTexturing",concreteNodes:[F,he,Ee],abstractNodes:[S],browserContext:p});o().add("CubeMapTexturingComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/DISComponent.js b/dist/assets/components/DISComponent.js index 47d37b66e1..76ca6d646f 100644 --- a/dist/assets/components/DISComponent.js +++ b/dist/assets/components/DISComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope diff --git a/dist/assets/components/DISComponent.min.js b/dist/assets/components/DISComponent.min.js index 55e1b7aecd..95ea7ed298 100644 --- a/dist/assets/components/DISComponent.min.js +++ b/dist/assets/components/DISComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const t=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var n={n:t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},d:(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n)};const e=t.Components;var i=n.n(e);const u=t.Fields;var p=n.n(u);const o=t.X3DFieldDefinition;var a=n.n(o);const w=t.FieldDefinitionArray;var l=n.n(w);const r=t.X3DNode;var S=n.n(r);const s=t.X3DChildNode;var O=n.n(s);const F=t.X3DConstants;var d=n.n(F);const c=t.Namespace;var y=n.n(c);function I(t){O().call(this,t),this.addType(d().DISEntityManager),t.getSpecificationVersion()<=3.3&&this.addAlias("mapping",this._children)}Object.setPrototypeOf(I.prototype,O().prototype),Object.defineProperties(I,{...S().getStaticProperties("DISEntityManager","DIS",2,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"children",new(p().MFNode)),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().outputOnly,"addedEntities",new(p().MFNode)),new(a())(d().outputOnly,"removedEntities",new(p().MFNode))]),enumerable:!0}});const m=I,h=y().add("DISEntityManager",m),g=t.X3DInfoNode;var D=n.n(g);const f=t.X3DUrlObject;var b=n.n(f);function P(t){D().call(this,t),b().call(this,t),this.addType(d().DISEntityTypeMapping)}Object.assign(Object.setPrototypeOf(P.prototype,D().prototype),b().prototype,{initialize(){D().prototype.initialize.call(this),b().prototype.initialize.call(this)},dispose(){b().prototype.dispose.call(this),D().prototype.dispose.call(this)}}),Object.defineProperties(P,{...S().getStaticProperties("DISEntityTypeMapping","DIS",2,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"load",new(p().SFBool)(!0)),new(a())(d().inputOutput,"url",new(p().MFString)),new(a())(d().inputOutput,"autoRefresh",new(p().SFTime)),new(a())(d().inputOutput,"autoRefreshTimeLimit",new(p().SFTime)(3600)),new(a())(d().initializeOnly,"category",new(p().SFInt32)),new(a())(d().initializeOnly,"country",new(p().SFInt32)),new(a())(d().initializeOnly,"domain",new(p().SFInt32)),new(a())(d().initializeOnly,"extra",new(p().SFInt32)),new(a())(d().initializeOnly,"kind",new(p().SFInt32)),new(a())(d().initializeOnly,"specific",new(p().SFInt32)),new(a())(d().initializeOnly,"subcategory",new(p().SFInt32))]),enumerable:!0}});const T=P,v=y().add("DISEntityTypeMapping",T),V=t.X3DGroupingNode;var B=n.n(V);const z=t.X3DSensorNode;var E=n.n(z);function M(t){B().call(this,t),E().call(this,t),this.addType(d().EspduTransform),t.getSpecificationVersion()<=3.3&&(this._applicationID=1,this._munitionApplicationID=1)}Object.assign(Object.setPrototypeOf(M.prototype,B().prototype),E().prototype,{initialize(){B().prototype.initialize.call(this),E().prototype.initialize.call(this)}}),Object.defineProperties(M,{...S().getStaticProperties("EspduTransform","DIS",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"enabled",new(p().SFBool)(!0)),new(a())(d().inputOutput,"visible",new(p().SFBool)(!0)),new(a())(d().inputOutput,"bboxDisplay",new(p().SFBool)),new(a())(d().initializeOnly,"bboxSize",new(p().SFVec3f)(-1,-1,-1)),new(a())(d().initializeOnly,"bboxCenter",new(p().SFVec3f)),new(a())(d().inputOnly,"addChildren",new(p().MFNode)),new(a())(d().inputOnly,"removeChildren",new(p().MFNode)),new(a())(d().inputOutput,"children",new(p().MFNode)),new(a())(d().outputOnly,"isActive",new(p().SFBool)),new(a())(d().inputOnly,"set_articulationParameterValue0",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue1",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue2",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue3",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue4",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue5",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue6",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue7",new(p().SFFloat)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"articulationParameterCount",new(p().SFInt32)),new(a())(d().inputOutput,"articulationParameterDesignatorArray",new(p().MFInt32)),new(a())(d().inputOutput,"articulationParameterChangeIndicatorArray",new(p().MFInt32)),new(a())(d().inputOutput,"articulationParameterIdPartAttachedToArray",new(p().MFInt32)),new(a())(d().inputOutput,"articulationParameterTypeArray",new(p().MFInt32)),new(a())(d().inputOutput,"articulationParameterArray",new(p().MFFloat)),new(a())(d().inputOutput,"center",new(p().SFVec3f)),new(a())(d().inputOutput,"collisionType",new(p().SFInt32)),new(a())(d().inputOutput,"deadReckoning",new(p().SFInt32)),new(a())(d().inputOutput,"detonationLocation",new(p().SFVec3f)),new(a())(d().inputOutput,"detonationRelativeLocation",new(p().SFVec3f)),new(a())(d().inputOutput,"detonationResult",new(p().SFInt32)),new(a())(d().inputOutput,"entityCategory",new(p().SFInt32)),new(a())(d().inputOutput,"entityCountry",new(p().SFInt32)),new(a())(d().inputOutput,"entityDomain",new(p().SFInt32)),new(a())(d().inputOutput,"entityExtra",new(p().SFInt32)),new(a())(d().inputOutput,"entityID",new(p().SFInt32)),new(a())(d().inputOutput,"entityKind",new(p().SFInt32)),new(a())(d().inputOutput,"entitySpecific",new(p().SFInt32)),new(a())(d().inputOutput,"entitySubcategory",new(p().SFInt32)),new(a())(d().inputOutput,"eventApplicationID",new(p().SFInt32)),new(a())(d().inputOutput,"eventEntityID",new(p().SFInt32)),new(a())(d().inputOutput,"eventNumber",new(p().SFInt32)),new(a())(d().inputOutput,"eventSiteID",new(p().SFInt32)),new(a())(d().inputOutput,"fired1",new(p().SFBool)),new(a())(d().inputOutput,"fired2",new(p().SFBool)),new(a())(d().inputOutput,"fireMissionIndex",new(p().SFInt32)),new(a())(d().inputOutput,"firingRange",new(p().SFFloat)),new(a())(d().inputOutput,"firingRate",new(p().SFInt32)),new(a())(d().inputOutput,"forceID",new(p().SFInt32)),new(a())(d().inputOutput,"fuse",new(p().SFInt32)),new(a())(d().inputOutput,"linearVelocity",new(p().SFVec3f)),new(a())(d().inputOutput,"linearAcceleration",new(p().SFVec3f)),new(a())(d().inputOutput,"marking",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayHost",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayPort",new(p().SFInt32)),new(a())(d().inputOutput,"munitionApplicationID",new(p().SFInt32)),new(a())(d().inputOutput,"munitionEndPoint",new(p().SFVec3f)),new(a())(d().inputOutput,"munitionEntityID",new(p().SFInt32)),new(a())(d().inputOutput,"munitionQuantity",new(p().SFInt32)),new(a())(d().inputOutput,"munitionSiteID",new(p().SFInt32)),new(a())(d().inputOutput,"munitionStartPoint",new(p().SFVec3f)),new(a())(d().inputOutput,"networkMode",new(p().SFString)("standAlone")),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"readInterval",new(p().SFTime)(.1)),new(a())(d().inputOutput,"rotation",new(p().SFRotation)),new(a())(d().inputOutput,"scale",new(p().SFVec3f)(1,1,1)),new(a())(d().inputOutput,"scaleOrientation",new(p().SFRotation)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().inputOutput,"translation",new(p().SFVec3f)),new(a())(d().inputOutput,"warhead",new(p().SFInt32)),new(a())(d().inputOutput,"writeInterval",new(p().SFTime)(1)),new(a())(d().outputOnly,"articulationParameterValue0_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue1_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue2_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue3_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue4_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue5_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue6_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue7_changed",new(p().SFFloat)),new(a())(d().outputOnly,"collideTime",new(p().SFTime)),new(a())(d().outputOnly,"detonateTime",new(p().SFTime)),new(a())(d().outputOnly,"firedTime",new(p().SFTime)),new(a())(d().outputOnly,"isCollided",new(p().SFBool)),new(a())(d().outputOnly,"isDetonated",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkReader",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkWriter",new(p().SFBool)),new(a())(d().outputOnly,"isRtpHeaderHeard",new(p().SFBool)),new(a())(d().outputOnly,"isStandAlone",new(p().SFBool)),new(a())(d().outputOnly,"timestamp",new(p().SFTime)),new(a())(d().inputOutput,"rtpHeaderExpected",new(p().SFBool)),new(a())(d().inputOutput,"geoCoords",new(p().SFVec3d)),new(a())(d().initializeOnly,"geoSystem",new(p().MFString)("GD","WE"))]),enumerable:!0}});const N=M,R=y().add("EspduTransform",N),A=t.X3DBoundedObject;var _=n.n(A);function j(t){E().call(this,t),_().call(this,t),this.addType(d().ReceiverPdu),t.getSpecificationVersion()<=3.3&&(this._applicationID=1,this._transmitterApplicationID=1)}Object.assign(Object.setPrototypeOf(j.prototype,E().prototype),_().prototype,{initialize(){E().prototype.initialize.call(this),_().prototype.initialize.call(this)},dispose(){_().prototype.dispose.call(this),E().prototype.dispose.call(this)}}),Object.defineProperties(j,{...S().getStaticProperties("ReceiverPdu","DIS",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"visible",new(p().SFBool)(!0)),new(a())(d().inputOutput,"bboxDisplay",new(p().SFBool)),new(a())(d().initializeOnly,"bboxSize",new(p().SFVec3f)(-1,-1,-1)),new(a())(d().initializeOnly,"bboxCenter",new(p().SFVec3f)),new(a())(d().inputOutput,"enabled",new(p().SFBool)(!0)),new(a())(d().outputOnly,"isActive",new(p().SFBool)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"entityID",new(p().SFInt32)),new(a())(d().inputOutput,"multicastRelayHost",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayPort",new(p().SFInt32)),new(a())(d().inputOutput,"networkMode",new(p().SFString)("standAlone")),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"radioID",new(p().SFInt32)),new(a())(d().inputOutput,"readInterval",new(p().SFTime)(.1)),new(a())(d().inputOutput,"receivedPower",new(p().SFFloat)),new(a())(d().inputOutput,"receiverState",new(p().SFInt32)),new(a())(d().inputOutput,"rtpHeaderExpected",new(p().SFBool)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitterApplicationID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitterEntityID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitterRadioID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitterSiteID",new(p().SFInt32)),new(a())(d().inputOutput,"whichGeometry",new(p().SFInt32)(1)),new(a())(d().inputOutput,"writeInterval",new(p().SFTime)(1)),new(a())(d().outputOnly,"isNetworkReader",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkWriter",new(p().SFBool)),new(a())(d().outputOnly,"isRtpHeaderHeard",new(p().SFBool)),new(a())(d().outputOnly,"isStandAlone",new(p().SFBool)),new(a())(d().outputOnly,"timestamp",new(p().SFTime)),new(a())(d().inputOutput,"geoCoords",new(p().SFVec3d)),new(a())(d().initializeOnly,"geoSystem",new(p().MFString)("GD","WE"))]),enumerable:!0}});const C=j,x=y().add("ReceiverPdu",C);function H(t){E().call(this,t),_().call(this,t),this.addType(d().SignalPdu),t.getSpecificationVersion()<=3.3&&(this._applicationID=1)}Object.assign(Object.setPrototypeOf(H.prototype,E().prototype),_().prototype,{initialize(){E().prototype.initialize.call(this),_().prototype.initialize.call(this)},dispose(){_().prototype.dispose.call(this),E().prototype.dispose.call(this)}}),Object.defineProperties(H,{...S().getStaticProperties("SignalPdu","DIS",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"visible",new(p().SFBool)(!0)),new(a())(d().inputOutput,"bboxDisplay",new(p().SFBool)),new(a())(d().initializeOnly,"bboxSize",new(p().SFVec3f)(-1,-1,-1)),new(a())(d().initializeOnly,"bboxCenter",new(p().SFVec3f)),new(a())(d().inputOutput,"enabled",new(p().SFBool)(!0)),new(a())(d().outputOnly,"isActive",new(p().SFBool)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"data",new(p().MFInt32)),new(a())(d().inputOutput,"dataLength",new(p().SFInt32)),new(a())(d().inputOutput,"encodingScheme",new(p().SFInt32)),new(a())(d().inputOutput,"entityID",new(p().SFInt32)),new(a())(d().inputOutput,"multicastRelayHost",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayPort",new(p().SFInt32)),new(a())(d().inputOutput,"networkMode",new(p().SFString)("standAlone")),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"radioID",new(p().SFInt32)),new(a())(d().inputOutput,"readInterval",new(p().SFTime)(.1)),new(a())(d().inputOutput,"rtpHeaderExpected",new(p().SFBool)),new(a())(d().inputOutput,"sampleRate",new(p().SFInt32)),new(a())(d().inputOutput,"samples",new(p().SFInt32)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().inputOutput,"tdlType",new(p().SFInt32)),new(a())(d().inputOutput,"whichGeometry",new(p().SFInt32)(1)),new(a())(d().inputOutput,"writeInterval",new(p().SFTime)(1)),new(a())(d().outputOnly,"isNetworkReader",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkWriter",new(p().SFBool)),new(a())(d().outputOnly,"isRtpHeaderHeard",new(p().SFBool)),new(a())(d().outputOnly,"isStandAlone",new(p().SFBool)),new(a())(d().outputOnly,"timestamp",new(p().SFTime)),new(a())(d().inputOutput,"geoCoords",new(p().SFVec3d)),new(a())(d().initializeOnly,"geoSystem",new(p().MFString)("GD","WE"))]),enumerable:!0}});const k=H,X=y().add("SignalPdu",k);function G(t){E().call(this,t),_().call(this,t),this.addType(d().TransmitterPdu),t.getSpecificationVersion()<=3.3&&(this._applicationID=1)}Object.assign(Object.setPrototypeOf(G.prototype,E().prototype),_().prototype,{initialize(){E().prototype.initialize.call(this),_().prototype.initialize.call(this)},dispose(){_().prototype.dispose.call(this),E().prototype.dispose.call(this)}}),Object.defineProperties(G,{...S().getStaticProperties("TransmitterPdu","DIS",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"visible",new(p().SFBool)(!0)),new(a())(d().inputOutput,"bboxDisplay",new(p().SFBool)),new(a())(d().initializeOnly,"bboxSize",new(p().SFVec3f)(-1,-1,-1)),new(a())(d().initializeOnly,"bboxCenter",new(p().SFVec3f)),new(a())(d().inputOutput,"enabled",new(p().SFBool)(!0)),new(a())(d().outputOnly,"isActive",new(p().SFBool)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"antennaLocation",new(p().SFVec3f)),new(a())(d().inputOutput,"antennaPatternLength",new(p().SFInt32)),new(a())(d().inputOutput,"antennaPatternType",new(p().SFInt32)),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"cryptoKeyID",new(p().SFInt32)),new(a())(d().inputOutput,"cryptoSystem",new(p().SFInt32)),new(a())(d().inputOutput,"entityID",new(p().SFInt32)),new(a())(d().inputOutput,"frequency",new(p().SFInt32)),new(a())(d().inputOutput,"inputSource",new(p().SFInt32)),new(a())(d().inputOutput,"lengthOfModulationParameters",new(p().SFInt32)),new(a())(d().inputOutput,"modulationTypeDetail",new(p().SFInt32)),new(a())(d().inputOutput,"modulationTypeMajor",new(p().SFInt32)),new(a())(d().inputOutput,"modulationTypeSpreadSpectrum",new(p().SFInt32)),new(a())(d().inputOutput,"modulationTypeSystem",new(p().SFInt32)),new(a())(d().inputOutput,"multicastRelayHost",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayPort",new(p().SFInt32)),new(a())(d().inputOutput,"networkMode",new(p().SFString)("standAlone")),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"power",new(p().SFFloat)),new(a())(d().inputOutput,"radioEntityTypeCategory",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeCountry",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeDomain",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeKind",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeNomenclature",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeNomenclatureVersion",new(p().SFInt32)),new(a())(d().inputOutput,"radioID",new(p().SFInt32)),new(a())(d().inputOutput,"readInterval",new(p().SFTime)(.1)),new(a())(d().inputOutput,"relativeAntennaLocation",new(p().SFVec3f)),new(a())(d().inputOutput,"rtpHeaderExpected",new(p().SFBool)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitFrequencyBandwidth",new(p().SFFloat)),new(a())(d().inputOutput,"transmitState",new(p().SFInt32)),new(a())(d().inputOutput,"whichGeometry",new(p().SFInt32)(1)),new(a())(d().inputOutput,"writeInterval",new(p().SFTime)(1)),new(a())(d().outputOnly,"isNetworkReader",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkWriter",new(p().SFBool)),new(a())(d().outputOnly,"isRtpHeaderHeard",new(p().SFBool)),new(a())(d().outputOnly,"isStandAlone",new(p().SFBool)),new(a())(d().outputOnly,"timestamp",new(p().SFTime)),new(a())(d().inputOutput,"geoCoords",new(p().SFVec3d)),new(a())(d().initializeOnly,"geoSystem",new(p().MFString)("GD","WE"))]),enumerable:!0}});const W=G,L=y().add("TransmitterPdu",W);i().add({name:"DIS",concreteNodes:[h,v,R,x,X,L],abstractNodes:[]});y().add("DISComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const t=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var n={n:t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},d:(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},o:(t,n)=>Object.prototype.hasOwnProperty.call(t,n)};const e=t.Components;var i=n.n(e);const u=t.Fields;var p=n.n(u);const o=t.X3DFieldDefinition;var a=n.n(o);const w=t.FieldDefinitionArray;var l=n.n(w);const r=t.X3DNode;var S=n.n(r);const s=t.X3DChildNode;var O=n.n(s);const F=t.X3DConstants;var d=n.n(F);const c=t.Namespace;var y=n.n(c);function I(t){O().call(this,t),this.addType(d().DISEntityManager),t.getSpecificationVersion()<=3.3&&this.addAlias("mapping",this._children)}Object.setPrototypeOf(I.prototype,O().prototype),Object.defineProperties(I,{...S().getStaticProperties("DISEntityManager","DIS",2,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"children",new(p().MFNode)),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().outputOnly,"addedEntities",new(p().MFNode)),new(a())(d().outputOnly,"removedEntities",new(p().MFNode))]),enumerable:!0}});const m=I,h=y().add("DISEntityManager",m),g=t.X3DInfoNode;var D=n.n(g);const f=t.X3DUrlObject;var b=n.n(f);function P(t){D().call(this,t),b().call(this,t),this.addType(d().DISEntityTypeMapping)}Object.assign(Object.setPrototypeOf(P.prototype,D().prototype),b().prototype,{initialize(){D().prototype.initialize.call(this),b().prototype.initialize.call(this)},dispose(){b().prototype.dispose.call(this),D().prototype.dispose.call(this)}}),Object.defineProperties(P,{...S().getStaticProperties("DISEntityTypeMapping","DIS",2,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"load",new(p().SFBool)(!0)),new(a())(d().inputOutput,"url",new(p().MFString)),new(a())(d().inputOutput,"autoRefresh",new(p().SFTime)),new(a())(d().inputOutput,"autoRefreshTimeLimit",new(p().SFTime)(3600)),new(a())(d().initializeOnly,"category",new(p().SFInt32)),new(a())(d().initializeOnly,"country",new(p().SFInt32)),new(a())(d().initializeOnly,"domain",new(p().SFInt32)),new(a())(d().initializeOnly,"extra",new(p().SFInt32)),new(a())(d().initializeOnly,"kind",new(p().SFInt32)),new(a())(d().initializeOnly,"specific",new(p().SFInt32)),new(a())(d().initializeOnly,"subcategory",new(p().SFInt32))]),enumerable:!0}});const T=P,v=y().add("DISEntityTypeMapping",T),V=t.X3DGroupingNode;var B=n.n(V);const z=t.X3DSensorNode;var E=n.n(z);function M(t){B().call(this,t),E().call(this,t),this.addType(d().EspduTransform),t.getSpecificationVersion()<=3.3&&(this._applicationID=1,this._munitionApplicationID=1)}Object.assign(Object.setPrototypeOf(M.prototype,B().prototype),E().prototype,{initialize(){B().prototype.initialize.call(this),E().prototype.initialize.call(this)}}),Object.defineProperties(M,{...S().getStaticProperties("EspduTransform","DIS",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"enabled",new(p().SFBool)(!0)),new(a())(d().inputOutput,"visible",new(p().SFBool)(!0)),new(a())(d().inputOutput,"bboxDisplay",new(p().SFBool)),new(a())(d().initializeOnly,"bboxSize",new(p().SFVec3f)(-1,-1,-1)),new(a())(d().initializeOnly,"bboxCenter",new(p().SFVec3f)),new(a())(d().inputOnly,"addChildren",new(p().MFNode)),new(a())(d().inputOnly,"removeChildren",new(p().MFNode)),new(a())(d().inputOutput,"children",new(p().MFNode)),new(a())(d().outputOnly,"isActive",new(p().SFBool)),new(a())(d().inputOnly,"set_articulationParameterValue0",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue1",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue2",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue3",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue4",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue5",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue6",new(p().SFFloat)),new(a())(d().inputOnly,"set_articulationParameterValue7",new(p().SFFloat)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"articulationParameterCount",new(p().SFInt32)),new(a())(d().inputOutput,"articulationParameterDesignatorArray",new(p().MFInt32)),new(a())(d().inputOutput,"articulationParameterChangeIndicatorArray",new(p().MFInt32)),new(a())(d().inputOutput,"articulationParameterIdPartAttachedToArray",new(p().MFInt32)),new(a())(d().inputOutput,"articulationParameterTypeArray",new(p().MFInt32)),new(a())(d().inputOutput,"articulationParameterArray",new(p().MFFloat)),new(a())(d().inputOutput,"center",new(p().SFVec3f)),new(a())(d().inputOutput,"collisionType",new(p().SFInt32)),new(a())(d().inputOutput,"deadReckoning",new(p().SFInt32)),new(a())(d().inputOutput,"detonationLocation",new(p().SFVec3f)),new(a())(d().inputOutput,"detonationRelativeLocation",new(p().SFVec3f)),new(a())(d().inputOutput,"detonationResult",new(p().SFInt32)),new(a())(d().inputOutput,"entityCategory",new(p().SFInt32)),new(a())(d().inputOutput,"entityCountry",new(p().SFInt32)),new(a())(d().inputOutput,"entityDomain",new(p().SFInt32)),new(a())(d().inputOutput,"entityExtra",new(p().SFInt32)),new(a())(d().inputOutput,"entityID",new(p().SFInt32)),new(a())(d().inputOutput,"entityKind",new(p().SFInt32)),new(a())(d().inputOutput,"entitySpecific",new(p().SFInt32)),new(a())(d().inputOutput,"entitySubcategory",new(p().SFInt32)),new(a())(d().inputOutput,"eventApplicationID",new(p().SFInt32)),new(a())(d().inputOutput,"eventEntityID",new(p().SFInt32)),new(a())(d().inputOutput,"eventNumber",new(p().SFInt32)),new(a())(d().inputOutput,"eventSiteID",new(p().SFInt32)),new(a())(d().inputOutput,"fired1",new(p().SFBool)),new(a())(d().inputOutput,"fired2",new(p().SFBool)),new(a())(d().inputOutput,"fireMissionIndex",new(p().SFInt32)),new(a())(d().inputOutput,"firingRange",new(p().SFFloat)),new(a())(d().inputOutput,"firingRate",new(p().SFInt32)),new(a())(d().inputOutput,"forceID",new(p().SFInt32)),new(a())(d().inputOutput,"fuse",new(p().SFInt32)),new(a())(d().inputOutput,"linearVelocity",new(p().SFVec3f)),new(a())(d().inputOutput,"linearAcceleration",new(p().SFVec3f)),new(a())(d().inputOutput,"marking",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayHost",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayPort",new(p().SFInt32)),new(a())(d().inputOutput,"munitionApplicationID",new(p().SFInt32)),new(a())(d().inputOutput,"munitionEndPoint",new(p().SFVec3f)),new(a())(d().inputOutput,"munitionEntityID",new(p().SFInt32)),new(a())(d().inputOutput,"munitionQuantity",new(p().SFInt32)),new(a())(d().inputOutput,"munitionSiteID",new(p().SFInt32)),new(a())(d().inputOutput,"munitionStartPoint",new(p().SFVec3f)),new(a())(d().inputOutput,"networkMode",new(p().SFString)("standAlone")),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"readInterval",new(p().SFTime)(.1)),new(a())(d().inputOutput,"rotation",new(p().SFRotation)),new(a())(d().inputOutput,"scale",new(p().SFVec3f)(1,1,1)),new(a())(d().inputOutput,"scaleOrientation",new(p().SFRotation)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().inputOutput,"translation",new(p().SFVec3f)),new(a())(d().inputOutput,"warhead",new(p().SFInt32)),new(a())(d().inputOutput,"writeInterval",new(p().SFTime)(1)),new(a())(d().outputOnly,"articulationParameterValue0_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue1_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue2_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue3_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue4_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue5_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue6_changed",new(p().SFFloat)),new(a())(d().outputOnly,"articulationParameterValue7_changed",new(p().SFFloat)),new(a())(d().outputOnly,"collideTime",new(p().SFTime)),new(a())(d().outputOnly,"detonateTime",new(p().SFTime)),new(a())(d().outputOnly,"firedTime",new(p().SFTime)),new(a())(d().outputOnly,"isCollided",new(p().SFBool)),new(a())(d().outputOnly,"isDetonated",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkReader",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkWriter",new(p().SFBool)),new(a())(d().outputOnly,"isRtpHeaderHeard",new(p().SFBool)),new(a())(d().outputOnly,"isStandAlone",new(p().SFBool)),new(a())(d().outputOnly,"timestamp",new(p().SFTime)),new(a())(d().inputOutput,"rtpHeaderExpected",new(p().SFBool)),new(a())(d().inputOutput,"geoCoords",new(p().SFVec3d)),new(a())(d().initializeOnly,"geoSystem",new(p().MFString)("GD","WE"))]),enumerable:!0}});const N=M,R=y().add("EspduTransform",N),A=t.X3DBoundedObject;var _=n.n(A);function j(t){E().call(this,t),_().call(this,t),this.addType(d().ReceiverPdu),t.getSpecificationVersion()<=3.3&&(this._applicationID=1,this._transmitterApplicationID=1)}Object.assign(Object.setPrototypeOf(j.prototype,E().prototype),_().prototype,{initialize(){E().prototype.initialize.call(this),_().prototype.initialize.call(this)},dispose(){_().prototype.dispose.call(this),E().prototype.dispose.call(this)}}),Object.defineProperties(j,{...S().getStaticProperties("ReceiverPdu","DIS",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"visible",new(p().SFBool)(!0)),new(a())(d().inputOutput,"bboxDisplay",new(p().SFBool)),new(a())(d().initializeOnly,"bboxSize",new(p().SFVec3f)(-1,-1,-1)),new(a())(d().initializeOnly,"bboxCenter",new(p().SFVec3f)),new(a())(d().inputOutput,"enabled",new(p().SFBool)(!0)),new(a())(d().outputOnly,"isActive",new(p().SFBool)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"entityID",new(p().SFInt32)),new(a())(d().inputOutput,"multicastRelayHost",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayPort",new(p().SFInt32)),new(a())(d().inputOutput,"networkMode",new(p().SFString)("standAlone")),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"radioID",new(p().SFInt32)),new(a())(d().inputOutput,"readInterval",new(p().SFTime)(.1)),new(a())(d().inputOutput,"receivedPower",new(p().SFFloat)),new(a())(d().inputOutput,"receiverState",new(p().SFInt32)),new(a())(d().inputOutput,"rtpHeaderExpected",new(p().SFBool)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitterApplicationID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitterEntityID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitterRadioID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitterSiteID",new(p().SFInt32)),new(a())(d().inputOutput,"whichGeometry",new(p().SFInt32)(1)),new(a())(d().inputOutput,"writeInterval",new(p().SFTime)(1)),new(a())(d().outputOnly,"isNetworkReader",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkWriter",new(p().SFBool)),new(a())(d().outputOnly,"isRtpHeaderHeard",new(p().SFBool)),new(a())(d().outputOnly,"isStandAlone",new(p().SFBool)),new(a())(d().outputOnly,"timestamp",new(p().SFTime)),new(a())(d().inputOutput,"geoCoords",new(p().SFVec3d)),new(a())(d().initializeOnly,"geoSystem",new(p().MFString)("GD","WE"))]),enumerable:!0}});const C=j,x=y().add("ReceiverPdu",C);function H(t){E().call(this,t),_().call(this,t),this.addType(d().SignalPdu),t.getSpecificationVersion()<=3.3&&(this._applicationID=1)}Object.assign(Object.setPrototypeOf(H.prototype,E().prototype),_().prototype,{initialize(){E().prototype.initialize.call(this),_().prototype.initialize.call(this)},dispose(){_().prototype.dispose.call(this),E().prototype.dispose.call(this)}}),Object.defineProperties(H,{...S().getStaticProperties("SignalPdu","DIS",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"visible",new(p().SFBool)(!0)),new(a())(d().inputOutput,"bboxDisplay",new(p().SFBool)),new(a())(d().initializeOnly,"bboxSize",new(p().SFVec3f)(-1,-1,-1)),new(a())(d().initializeOnly,"bboxCenter",new(p().SFVec3f)),new(a())(d().inputOutput,"enabled",new(p().SFBool)(!0)),new(a())(d().outputOnly,"isActive",new(p().SFBool)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"data",new(p().MFInt32)),new(a())(d().inputOutput,"dataLength",new(p().SFInt32)),new(a())(d().inputOutput,"encodingScheme",new(p().SFInt32)),new(a())(d().inputOutput,"entityID",new(p().SFInt32)),new(a())(d().inputOutput,"multicastRelayHost",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayPort",new(p().SFInt32)),new(a())(d().inputOutput,"networkMode",new(p().SFString)("standAlone")),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"radioID",new(p().SFInt32)),new(a())(d().inputOutput,"readInterval",new(p().SFTime)(.1)),new(a())(d().inputOutput,"rtpHeaderExpected",new(p().SFBool)),new(a())(d().inputOutput,"sampleRate",new(p().SFInt32)),new(a())(d().inputOutput,"samples",new(p().SFInt32)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().inputOutput,"tdlType",new(p().SFInt32)),new(a())(d().inputOutput,"whichGeometry",new(p().SFInt32)(1)),new(a())(d().inputOutput,"writeInterval",new(p().SFTime)(1)),new(a())(d().outputOnly,"isNetworkReader",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkWriter",new(p().SFBool)),new(a())(d().outputOnly,"isRtpHeaderHeard",new(p().SFBool)),new(a())(d().outputOnly,"isStandAlone",new(p().SFBool)),new(a())(d().outputOnly,"timestamp",new(p().SFTime)),new(a())(d().inputOutput,"geoCoords",new(p().SFVec3d)),new(a())(d().initializeOnly,"geoSystem",new(p().MFString)("GD","WE"))]),enumerable:!0}});const k=H,X=y().add("SignalPdu",k);function G(t){E().call(this,t),_().call(this,t),this.addType(d().TransmitterPdu),t.getSpecificationVersion()<=3.3&&(this._applicationID=1)}Object.assign(Object.setPrototypeOf(G.prototype,E().prototype),_().prototype,{initialize(){E().prototype.initialize.call(this),_().prototype.initialize.call(this)},dispose(){_().prototype.dispose.call(this),E().prototype.dispose.call(this)}}),Object.defineProperties(G,{...S().getStaticProperties("TransmitterPdu","DIS",1,"children","3.0"),fieldDefinitions:{value:new(l())([new(a())(d().inputOutput,"metadata",new(p().SFNode)),new(a())(d().inputOutput,"description",new(p().SFString)),new(a())(d().inputOutput,"visible",new(p().SFBool)(!0)),new(a())(d().inputOutput,"bboxDisplay",new(p().SFBool)),new(a())(d().initializeOnly,"bboxSize",new(p().SFVec3f)(-1,-1,-1)),new(a())(d().initializeOnly,"bboxCenter",new(p().SFVec3f)),new(a())(d().inputOutput,"enabled",new(p().SFBool)(!0)),new(a())(d().outputOnly,"isActive",new(p().SFBool)),new(a())(d().inputOutput,"address",new(p().SFString)("localhost")),new(a())(d().inputOutput,"antennaLocation",new(p().SFVec3f)),new(a())(d().inputOutput,"antennaPatternLength",new(p().SFInt32)),new(a())(d().inputOutput,"antennaPatternType",new(p().SFInt32)),new(a())(d().inputOutput,"applicationID",new(p().SFInt32)),new(a())(d().inputOutput,"cryptoKeyID",new(p().SFInt32)),new(a())(d().inputOutput,"cryptoSystem",new(p().SFInt32)),new(a())(d().inputOutput,"entityID",new(p().SFInt32)),new(a())(d().inputOutput,"frequency",new(p().SFInt32)),new(a())(d().inputOutput,"inputSource",new(p().SFInt32)),new(a())(d().inputOutput,"lengthOfModulationParameters",new(p().SFInt32)),new(a())(d().inputOutput,"modulationTypeDetail",new(p().SFInt32)),new(a())(d().inputOutput,"modulationTypeMajor",new(p().SFInt32)),new(a())(d().inputOutput,"modulationTypeSpreadSpectrum",new(p().SFInt32)),new(a())(d().inputOutput,"modulationTypeSystem",new(p().SFInt32)),new(a())(d().inputOutput,"multicastRelayHost",new(p().SFString)),new(a())(d().inputOutput,"multicastRelayPort",new(p().SFInt32)),new(a())(d().inputOutput,"networkMode",new(p().SFString)("standAlone")),new(a())(d().inputOutput,"port",new(p().SFInt32)),new(a())(d().inputOutput,"power",new(p().SFFloat)),new(a())(d().inputOutput,"radioEntityTypeCategory",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeCountry",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeDomain",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeKind",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeNomenclature",new(p().SFInt32)),new(a())(d().inputOutput,"radioEntityTypeNomenclatureVersion",new(p().SFInt32)),new(a())(d().inputOutput,"radioID",new(p().SFInt32)),new(a())(d().inputOutput,"readInterval",new(p().SFTime)(.1)),new(a())(d().inputOutput,"relativeAntennaLocation",new(p().SFVec3f)),new(a())(d().inputOutput,"rtpHeaderExpected",new(p().SFBool)),new(a())(d().inputOutput,"siteID",new(p().SFInt32)),new(a())(d().inputOutput,"transmitFrequencyBandwidth",new(p().SFFloat)),new(a())(d().inputOutput,"transmitState",new(p().SFInt32)),new(a())(d().inputOutput,"whichGeometry",new(p().SFInt32)(1)),new(a())(d().inputOutput,"writeInterval",new(p().SFTime)(1)),new(a())(d().outputOnly,"isNetworkReader",new(p().SFBool)),new(a())(d().outputOnly,"isNetworkWriter",new(p().SFBool)),new(a())(d().outputOnly,"isRtpHeaderHeard",new(p().SFBool)),new(a())(d().outputOnly,"isStandAlone",new(p().SFBool)),new(a())(d().outputOnly,"timestamp",new(p().SFTime)),new(a())(d().inputOutput,"geoCoords",new(p().SFVec3d)),new(a())(d().initializeOnly,"geoSystem",new(p().MFString)("GD","WE"))]),enumerable:!0}});const W=G,L=y().add("TransmitterPdu",W);i().add({name:"DIS",concreteNodes:[h,v,R,x,X,L],abstractNodes:[]});y().add("DISComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/EventUtilitiesComponent.js b/dist/assets/components/EventUtilitiesComponent.js index fa306175b8..a9d84a28ca 100644 --- a/dist/assets/components/EventUtilitiesComponent.js +++ b/dist/assets/components/EventUtilitiesComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope diff --git a/dist/assets/components/EventUtilitiesComponent.min.js b/dist/assets/components/EventUtilitiesComponent.min.js index c5f4ee96b0..aa4d59d007 100644 --- a/dist/assets/components/EventUtilitiesComponent.min.js +++ b/dist/assets/components/EventUtilitiesComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const e=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const o=e.Fields;var s=t.n(o);const r=e.X3DFieldDefinition;var a=t.n(r);const l=e.FieldDefinitionArray;var p=t.n(l);const u=e.X3DNode;var d=t.n(u);const c=e.X3DChildNode;var _=t.n(c);const h=e.X3DConstants;var g=t.n(h);const y=e.Namespace;var w=t.n(y);function O(e){_().call(this,e),this.addType(g().BooleanFilter)}Object.assign(Object.setPrototypeOf(O.prototype,_().prototype),{initialize(){_().prototype.initialize.call(this),this._set_boolean.addInterest("set_boolean__",this)},set_boolean__(){const e=this._set_boolean.getValue();e?this._inputTrue=!0:this._inputFalse=!1,this._inputNegate=!e}}),Object.defineProperties(O,{...d().getStaticProperties("BooleanFilter","EventUtilities",1,"children","3.0"),fieldDefinitions:{value:new(p())([new(a())(g().inputOutput,"metadata",new(s().SFNode)),new(a())(g().inputOnly,"set_boolean",new(s().SFBool)),new(a())(g().outputOnly,"inputTrue",new(s().SFBool)),new(a())(g().outputOnly,"inputFalse",new(s().SFBool)),new(a())(g().outputOnly,"inputNegate",new(s().SFBool))]),enumerable:!0}});const f=O,b=w().add("BooleanFilter",f),S=e.Algorithm;var F=t.n(S);function T(e){_().call(this,e),this.addType(g().X3DSequencerNode),this.index=-1}Object.assign(Object.setPrototypeOf(T.prototype,_().prototype),{initialize(){_().prototype.initialize.call(this),this._set_fraction.addInterest("set_fraction__",this),this._previous.addInterest("set_previous__",this),this._next.addInterest("set_next__",this),this._key.addInterest("set_index__",this)},set_fraction__(){const e=this._set_fraction.getValue(),t=this._key,i=t.length;if(0===i)return;let n=0;if(1===i||e<=t[0])n=0;else if(e>=t[i-1])n=this.getSize()-1;else{n=F().upperBound(t,0,i,e)-1}n!==this.index&&n=this.getSize()-1?this.index=0:++this.index,this.index{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const o=e.Fields;var s=t.n(o);const r=e.X3DFieldDefinition;var a=t.n(r);const l=e.FieldDefinitionArray;var p=t.n(l);const u=e.X3DNode;var d=t.n(u);const c=e.X3DChildNode;var _=t.n(c);const h=e.X3DConstants;var g=t.n(h);const y=e.Namespace;var w=t.n(y);function O(e){_().call(this,e),this.addType(g().BooleanFilter)}Object.assign(Object.setPrototypeOf(O.prototype,_().prototype),{initialize(){_().prototype.initialize.call(this),this._set_boolean.addInterest("set_boolean__",this)},set_boolean__(){const e=this._set_boolean.getValue();e?this._inputTrue=!0:this._inputFalse=!1,this._inputNegate=!e}}),Object.defineProperties(O,{...d().getStaticProperties("BooleanFilter","EventUtilities",1,"children","3.0"),fieldDefinitions:{value:new(p())([new(a())(g().inputOutput,"metadata",new(s().SFNode)),new(a())(g().inputOnly,"set_boolean",new(s().SFBool)),new(a())(g().outputOnly,"inputTrue",new(s().SFBool)),new(a())(g().outputOnly,"inputFalse",new(s().SFBool)),new(a())(g().outputOnly,"inputNegate",new(s().SFBool))]),enumerable:!0}});const f=O,b=w().add("BooleanFilter",f),S=e.Algorithm;var F=t.n(S);function T(e){_().call(this,e),this.addType(g().X3DSequencerNode),this.index=-1}Object.assign(Object.setPrototypeOf(T.prototype,_().prototype),{initialize(){_().prototype.initialize.call(this),this._set_fraction.addInterest("set_fraction__",this),this._previous.addInterest("set_previous__",this),this._next.addInterest("set_next__",this),this._key.addInterest("set_index__",this)},set_fraction__(){const e=this._set_fraction.getValue(),t=this._key,i=t.length;if(0===i)return;let n=0;if(1===i||e<=t[0])n=0;else if(e>=t[i-1])n=this.getSize()-1;else{n=F().upperBound(t,0,i,e)-1}n!==this.index&&n=this.getSize()-1?this.index=0:++this.index,this.index { // webpackBootstrap /******/ "use strict"; /******/ // The require scope diff --git a/dist/assets/components/Geometry2DComponent.min.js b/dist/assets/components/Geometry2DComponent.min.js index 5773b1f048..67a613f13e 100644 --- a/dist/assets/components/Geometry2DComponent.min.js +++ b/dist/assets/components/Geometry2DComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const e=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var s=t.n(i);const n=e.X3DBaseNode;var o=t.n(n);const r=e.X3DConstants;var a=t.n(r);const l=e.Fields;var h=t.n(l);const c=e.Namespace;var g=t.n(c);function p(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.setPrototypeOf(p.prototype,o().prototype),Object.defineProperties(p,{typeName:{value:"Arc2DOptions",enumerable:!0}});const d=p,u=g().add("Arc2DOptions",d);function y(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.setPrototypeOf(y.prototype,o().prototype),Object.defineProperties(y,{typeName:{value:"ArcClose2DOptions",enumerable:!0}});const m=y,O=g().add("ArcClose2DOptions",m),D=e.X3DGeometryNode;var w=t.n(D);const f=e.Complex;var b=t.n(f);function _(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40)),this.vertices=w().createArray()}Object.assign(Object.setPrototypeOf(_.prototype,o().prototype),{initialize(){o().prototype.initialize.call(this),this.addInterest("eventsProcessed",this)},getVertices(){return this.vertices.length||this.build(),this.vertices},build(){const e=this._dimension.getValue(),t=2*Math.PI/e,i=this.vertices;for(let s=0;s{const e=new(b())(.5,.5),t=new(b()),i=new(b()),s=new(b()),n=new(b());return function(){const o=this._dimension.getValue(),r=2*Math.PI/o,a=this.circleVertices,l=this.diskTexCoords,h=this.diskNormals,c=this.diskVertices;for(let g=0;gt?2*Math.PI-i:isNaN(i)?0:i},build(){const e=this.getBrowser().getArc2DOptions()._dimension.getValue(),t=this._startAngle.getValue(),i=Math.abs(this._radius.getValue()),s=this.getSweepAngle(),n=Math.max(3,Math.floor(s*e/(2*Math.PI))),o=this.getVertices();for(let e=0;et?2*Math.PI-i:isNaN(i)?0:i},build:(()=>{const e=new(b())(.5,.5);return function(){const t=this.getBrowser().getArcClose2DOptions(),i="CHORD"===this._closureType.getValue(),s=t._dimension.getValue(),n=this._startAngle.getValue(),o=Math.abs(this._radius.getValue()),r=this.getSweepAngle(),a=Math.max(4,Math.floor(r*s/(2*Math.PI))),l=this.getTexCoords(),h=this.getNormals(),c=this.getVertices(),g=[],p=[];this.getMultiTexCoords().push(l);const d=a-1;for(let t=0;t{const e=new(fe())(2,2);return function(){const t=this.getBrowser().getRectangle2DOptions().getGeometry(),i=this._size.getValue();if(this.setMultiTexCoords(t.getMultiTexCoords()),this.setTangents(t.getTangents()),this.setNormals(t.getNormals()),i.equals(e))this.setVertices(t.getVertices()),this.getMin().assign(t.getMin()),this.getMax().assign(t.getMax());else{const e=Math.abs(i.x/2),s=Math.abs(i.y/2),n=t.getVertices().getValue(),o=this.getVertices();for(let t=0;t{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var s in i)t.o(i,s)&&!t.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:i[s]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var s=t.n(i);const n=e.X3DBaseNode;var o=t.n(n);const r=e.X3DConstants;var a=t.n(r);const l=e.Fields;var h=t.n(l);const c=e.Namespace;var g=t.n(c);function p(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.setPrototypeOf(p.prototype,o().prototype),Object.defineProperties(p,{typeName:{value:"Arc2DOptions",enumerable:!0}});const d=p,u=g().add("Arc2DOptions",d);function y(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40))}Object.setPrototypeOf(y.prototype,o().prototype),Object.defineProperties(y,{typeName:{value:"ArcClose2DOptions",enumerable:!0}});const m=y,O=g().add("ArcClose2DOptions",m),D=e.X3DGeometryNode;var w=t.n(D);const f=e.Complex;var b=t.n(f);function _(e){o().call(this,e),this.addChildObjects(a().inputOutput,"dimension",new(h().SFInt32)(40)),this.vertices=w().createArray()}Object.assign(Object.setPrototypeOf(_.prototype,o().prototype),{initialize(){o().prototype.initialize.call(this),this.addInterest("eventsProcessed",this)},getVertices(){return this.vertices.length||this.build(),this.vertices},build(){const e=this._dimension.getValue(),t=2*Math.PI/e,i=this.vertices;for(let s=0;s{const e=new(b())(.5,.5),t=new(b()),i=new(b()),s=new(b()),n=new(b());return function(){const o=this._dimension.getValue(),r=2*Math.PI/o,a=this.circleVertices,l=this.diskTexCoords,h=this.diskNormals,c=this.diskVertices;for(let g=0;gt?2*Math.PI-i:isNaN(i)?0:i},build(){const e=this.getBrowser().getArc2DOptions()._dimension.getValue(),t=this._startAngle.getValue(),i=Math.abs(this._radius.getValue()),s=this.getSweepAngle(),n=Math.max(3,Math.floor(s*e/(2*Math.PI))),o=this.getVertices();for(let e=0;et?2*Math.PI-i:isNaN(i)?0:i},build:(()=>{const e=new(b())(.5,.5);return function(){const t=this.getBrowser().getArcClose2DOptions(),i="CHORD"===this._closureType.getValue(),s=t._dimension.getValue(),n=this._startAngle.getValue(),o=Math.abs(this._radius.getValue()),r=this.getSweepAngle(),a=Math.max(4,Math.floor(r*s/(2*Math.PI))),l=this.getTexCoords(),h=this.getNormals(),c=this.getVertices(),g=[],p=[];this.getMultiTexCoords().push(l);const d=a-1;for(let t=0;t{const e=new(fe())(2,2);return function(){const t=this.getBrowser().getRectangle2DOptions().getGeometry(),i=this._size.getValue();if(this.setMultiTexCoords(t.getMultiTexCoords()),this.setTangents(t.getTangents()),this.setNormals(t.getNormals()),i.equals(e))this.setVertices(t.getVertices()),this.getMin().assign(t.getMin()),this.getMax().assign(t.getMax());else{const e=Math.abs(i.x/2),s=Math.abs(i.y/2),n=t.getVertices().getValue(),o=this.getVertices();for(let t=0;t { // webpackBootstrap /******/ "use strict"; /******/ // The require scope diff --git a/dist/assets/components/GeospatialComponent.min.js b/dist/assets/components/GeospatialComponent.min.js index 15d1cce378..398b067a70 100644 --- a/dist/assets/components/GeospatialComponent.min.js +++ b/dist/assets/components/GeospatialComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const e=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const s=e.Fields;var o=t.n(s);const r=e.X3DFieldDefinition;var a=t.n(r);const l=e.FieldDefinitionArray;var h=t.n(l);const d=e.X3DNode;var c=t.n(d);const p=e.X3DCoordinateNode;var u=t.n(p);const g=e.X3DConstants;var _=t.n(g);const w=e.Namespace;var O=t.n(w);function y(e,t){switch(arguments.length){case 0:this.semiMajorAxis=0,this.semiMinorAxis=0;break;case 2:this.semiMajorAxis=e,this.semiMinorAxis=t;break;case 3:const i=arguments[1];this.semiMajorAxis=e,this.semiMinorAxis=e*(1-1/i)}}Object.assign(y.prototype,{getSemiMajorAxis(){return this.semiMajorAxis},getSemiMinorAxis(){return this.semiMinorAxis},toString(){return`${this.semiMajorAxis} ${this.semiMinorAxis}`}});const m=y,S=O().add("Spheroid3",m),f={AA:new S(6377563.396,299.3249646,!0),AM:new S(6377340.189,299.3249646,!0),AN:new S(6378160,298.25,!0),BN:new S(6377483.865,299.1528128,!0),BR:new S(6377397.155,299.1528128,!0),CC:new S(6378206.4,294.9786982,!0),CD:new S(6378249.145,293.465,!0),EA:new S(6377276.345,300.8017,!0),EB:new S(6377298.556,300.8017,!0),EC:new S(6377301.243,300.8017,!0),ED:new S(6377295.664,300.8017,!0),EE:new S(6377304.063,300.8017,!0),EF:new S(6377309.613,300.8017,!0),FA:new S(6378155,298.3,!0),HE:new S(6378200,298.3,!0),HO:new S(6378270,297,!0),ID:new S(6378160,298.247,!0),IN:new S(6378388,297,!0),KA:new S(6378245,298.3,!0),RF:new S(6378137,298.257222101,!0),SA:new S(6378160,298.25,!0),WD:new S(6378135,298.26,!0),WE:new S(6378137,298.257223563,!0),SUN:new S(696342e3,1/9e-6,!0),MERCURY:new S(2439700,2439700),VENUS:new S(6051800,6051800),MOON:new S(1738140,1735970),MARS:new S(3395428,3377678),JUPITER:new S(71492e3,66854e3),SATURN:new S(60268e3,54364e3),URANUS:new S(2555e3,24973e3),NEPTUNE:new S(24764e3,24341e3),PLUTO:new S(1153e3,1153e3)},b=O().add("ReferenceEllipsoids",f);function F(e,t,i){this.longitudeFirst=!t,this.degrees=!i,this.a=e.getSemiMajorAxis(),this.c=e.getSemiMinorAxis(),this.c2a2=(e.getSemiMinorAxis()/this.a)**2,this.ecc2=1-this.c2a2}Object.assign(F.prototype,{convert(e,t){const i=e.z;if(this.longitudeFirst)var n=e.y,s=e.x;else n=e.x,s=e.y;return this.degrees&&(n*=Math.PI/180,s*=Math.PI/180),this.convertRadians(n,s,i,t)},convertRadians(e,t,i,n){const s=Math.sin(e),o=s**2,r=Math.cos(e),a=this.a/Math.sqrt(1-this.ecc2*o),l=(a+i)*r;return n.set(l*Math.cos(t),l*Math.sin(t),(a*this.c2a2+i)*s)},apply(e,t){if(this.applyRadians(e,t),this.degrees&&(t.x*=180/Math.PI,t.y*=180/Math.PI),this.longitudeFirst){const e=t.x;t.x=t.y,t.y=e}return t},applyRadians(e,t){const i=e.x,n=e.y,s=e.z,o=Math.sqrt(i*i+n*n);if(0==o)return t.set(Math.PI,0,s-this.c);let r=0,a=Math.atan2(n,i),l=0,h=this.a,d=h,c=this.ecc2;for(let e=0;e<30;++e){const e=l,t=r;r=Math.atan(s/o/(1-c*d/(d+l)));const i=Math.sin(r);if(d=h/Math.sqrt(1-c*i*i),l=o/Math.cos(r)-d,Math.abs(l-e)<.001&&Math.abs(r-t)<1e-10)break}return t.set(r,a,l)},normal(e,t){const i=this.applyRadians(e,t),n=i.x,s=i.y,o=Math.cos(n),r=Math.cos(s)*o,a=Math.sin(s)*o,l=Math.sin(n);return t.set(r,a,l)}});const I=F,v=O().add("Geodetic",I),x=e.Algorithm;var C=t.n(x);const M=1e7,N=5e5,j=.9996;function P(e,t,i,n){const s=e.getSemiMajorAxis(),o=1-(e.getSemiMinorAxis()/s)**2,r=o/(1-o),a=(1-Math.sqrt(1-o))/(1+Math.sqrt(1-o));this.southernHemisphere=!i,this.eastingFirst=!n,this.a=s,this.ecc2=o,this.EE=r,this.E8=8*r,this.E9=9*r,this.E252=252*r,this.e1=a,this.A=j*(s*(1-o/4-3*o*o/64-5*o*o*o/256)),this.B=3*a/2-7*a*a*a/32,this.C=21*a*a/16-55*a*a*a*a/32,this.D=151*a*a*a/96,this.E=s*(1-o),this.W=1-o/4-3*o*o/64-5*o*o*o/256,this.X=3*o/8+3*o*o/32+45*o*o*o/1024,this.Y=15*o*o/256+45*o*o*o/1024,this.Z=35*o*o*o/3072,this.longitude0=C().radians(6*t-183),this.geodeticConverter=new v(e,!0,!0)}Object.assign(P.prototype,{convert(e,t){if(this.eastingFirst)var i=e.y,n=e.x;else i=e.x,n=e.y;let s=this.southernHemisphere;i<0&&(s=!this.southernHemisphere,i=-i),s&&(i-=M),n-=N;const o=i/this.A,r=o+this.B*Math.sin(2*o)+this.C*Math.sin(4*o)+this.D*Math.sin(6*o),a=Math.sin(r)**2,l=Math.cos(r),h=Math.tan(r),d=this.a/Math.sqrt(1-this.ecc2*a),c=h**2,p=h**8,u=this.EE*c,g=u*u,_=this.E/(1-this.ecc2*a)**1.5,w=n/(d*j),O=(5+3*c+10*u-4*g-this.E9)*w**4/24,y=(61+90*c+298*u+45*p-this.E252-3*g)*w**6/720,m=(5-2*u+28*c-3*g+this.E8+24*p)*w**5/120,S=r-d*h/_*(w*w/2-O+y),f=this.longitude0+(w-(1+2*c+u)*w**3/6+m)/l;return this.geodeticConverter.convertRadians(S,f,e.z,t)},apply(e,t){const i=this.geodeticConverter.applyRadians(e,t),n=i.x,s=i.y,o=Math.tan(n),r=Math.cos(n),a=this.EE,l=this.a/Math.sqrt(1-this.ecc2*Math.sin(n)**2),h=o*o,d=h*h*h,c=a*r*r,p=r*(s-this.longitude0),u=this.a*(this.W*n-this.X*Math.sin(2*n)+this.Y*Math.sin(4*n)-this.Z*Math.sin(6*n)),g=j*l*(p+(1-h+c)*p**3/6+(5-18*d+72*c-58*a)*p**5/120)+N;let _=j*(u+l*o*(p*p/2+(5-h+9*c+4*c*c)*p**4/24+(61-58*d+600*c-330*a)*p**6/720));return n<0?(_+=M,this.southernHemisphere||(_=-_)):this.southernHemisphere&&(_=-_),this.eastingFirst?t.set(g,_,i.z):t.set(_,g,i.z)}});const V=P,z=O().add("UniversalTransverseMercator",V);function G(){}Object.assign(G.prototype,{convert:(e,t)=>t.assign(e),apply:(e,t)=>t.assign(e),slerp(e,t,i){const n=e.magnitude(),s=t.magnitude();return e.normalize(),t.normalize(),C().simpleSlerp(e,t,i).multiply(C().lerp(n,s,i))}});const T=G,D=O().add("Geocentric",T);let E=0;const k=E++,L=E++,A=E++,B={GD:k,GDC:k,UTM:L,GC:A,GCC:A,GS:A},R=/^Z(\d+)$/,U={GD:k,UTM:L,GC:A,getReferenceFrame(e,t){switch(this.getCoordinateSystem(e)){case k:return new v(this.getEllipsoid(e),this.getLatitudeFirst(e),t);case L:return new z(this.getEllipsoid(e),this.getZone(e),this.getNorthernHemisphere(e),this.getNorthingFirst(e));case A:return new D}return new v(b.WE,!0,t)},getElevationFrame(e,t){return new v(this.getEllipsoid(e),!0,t)},getCoordinateSystem(e){for(const t of e){const e=B[t];if(void 0!==e)return e}return k},getEllipsoid(e){for(const t of e){const e=b[t];if(void 0!==e)return e}return b.WE},getEllipsoidString(e){for(const t of e){if(void 0!==b[t])return t}return"WE"},isStandardOrder(e){switch(this.getCoordinateSystem(e)){case k:return this.getLatitudeFirst(e);case L:return this.getNorthingFirst(e);case A:return!0}return this.getLatitudeFirst(e)},getLatitudeFirst(e){for(const t of e)if("longitude_first"===t)return!1;return!0},getNorthingFirst(e){for(const t of e)if("easting_first"===t)return!1;return!0},getZone(e){for(const t of e){const e=t.match(R);if(e)return parseInt(e[1])}return 1},getNorthernHemisphere(e){for(const t of e)if("S"===t)return!1;return!0}},X=O().add("GeospatialObject",U),W=e.X3DCast;var q=t.n(W);const H=e.Vector3;var Y=t.n(H);const Z=e.Matrix4;var $=t.n(Z);const K=new(Y()),J=new(Y()),Q=new(Y()),ee=new(Y()),te=new(Y()),ie=new(Y());function ne(e){this.addType(_().X3DGeospatialObject),this.radians=!1,this.origin=new(Y()),this.originMatrix=new($()),this.invOriginMatrix=new($())}function se(e,t){return this.invOriginMatrix.multVecMatrix(this.referenceFrame.convert(e,t))}function oe(e,t){return this.referenceFrame.apply(this.originMatrix.multVecMatrix(K.assign(e)),t)}function re(e,t){return this.invOriginMatrix.multDirMatrix(this.elevationFrame.normal(this.originMatrix.multVecMatrix(K.assign(e)),t))}function ae(e,t){return le.call(this,e,t).multRight(this.invOriginMatrix)}function le(e,t){return this.referenceFrame.convert(e,Q),this.elevationFrame.normal(Q,te),ee.set(0,0,1).cross(te),ee.equals(Y().Zero)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),t.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,Q.x,Q.y,Q.z,1)}Object.assign(ne.prototype,{initialize(){this._geoSystem.addInterest("set_geoSystem__",this),this._geoOrigin.addInterest("set_geoOrigin__",this),this.set_geoSystem__(),this.set_geoOrigin__()},set_geoSystem__(){this.coordinateSystem=X.getCoordinateSystem(this._geoSystem),this.referenceFrame=X.getReferenceFrame(this._geoSystem,this.radians),this.elevationFrame=X.getElevationFrame(this._geoSystem,this.radians),this.standardOrder=X.isStandardOrder(this._geoSystem)},set_geoOrigin__(){this.geoOriginNode&&(this.geoOriginNode.removeInterest("set_origin__",this),this.geoOriginNode.removeInterest("set_rotateYUp__",this),this.geoOriginNode.removeInterest("addNodeEvent",this)),this.geoOriginNode=q()(_().GeoOrigin,this._geoOrigin),this.geoOriginNode&&(this.geoOriginNode.addInterest("set_origin__",this),this.geoOriginNode.addInterest("set_rotateYUp__",this),this.geoOriginNode.addInterest("addNodeEvent",this)),this.set_origin__(),this.set_rotateYUp__()},set_origin__(){this.geoOriginNode?this.geoOriginNode.getOrigin(this.origin):this.origin.set(0,0,0),this.set_originMatrix__()},set_originMatrix__(){if(this.geoOriginNode){var e=this.origin;this.elevationFrame.normal(e,te),ee.set(0,0,1).cross(te),ee.equals(Y().Zero)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),this.originMatrix.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,e.x,e.y,e.z,1),this.invOriginMatrix.assign(this.originMatrix).inverse()}},set_rotateYUp__(){this.geoOriginNode&&this.geoOriginNode._rotateYUp.getValue()?(this.getCoord=se,this.getGeoCoord=oe,this.getGeoUpVector=re,this.getLocationMatrix=ae):(delete this.getCoord,delete this.getGeoCoord,delete this.getGeoUpVector,delete this.getLocationMatrix)},getReferenceFrame(){return this.referenceFrame},getStandardOrder(){return this.standardOrder},getCoord(e,t){return this.referenceFrame.convert(e,t).subtract(this.origin)},getGeoCoord(e,t){return this.referenceFrame.apply(K.assign(e).add(this.origin),t)},getGeoElevation(e){return this.getGeoCoord(e,J).z},getGeoUpVector(e,t){return this.elevationFrame.normal(K.assign(e).add(this.origin),t)},getLocationMatrix(e,t){var i=this.origin,n=le.call(this,e,t);return n[12]-=i.x,n[13]-=i.y,n[14]-=i.z,n},dispose(){}}),Object.defineProperties(ne,c().getStaticProperties("X3DGeospatialObject","Geospatial",1));const he=ne,de=O().add("X3DGeospatialObject",he),ce=e.Triangle3;var pe=t.n(ce);function ue(e){u().call(this,e),de.call(this,e),this.addType(_().GeoCoordinate)}Object.assign(Object.setPrototypeOf(ue.prototype,u().prototype),de.prototype,{initialize(){u().prototype.initialize.call(this),de.prototype.initialize.call(this)},set1Point:(()=>{const e=new(Y());return function(t,i){this._point[t]=this.getGeoCoord(i,e)}})(),get1Point:(()=>{const e=new(Y());return function(t,i){if(t{const e=new(Y()),t=new(Y());return function(i,n){if(i{const e=new(Y()),t=new(Y());return function(i){const n=this.point,s=3*this.length;for(let o=0;o{const e=new(Y()),t=new(Y()),i=new(Y());return function(n,s,o){const r=this.length;return n{const e=new(Y()),t=new(Y()),i=new(Y()),n=new(Y());return function(s,o,r,a){const l=this.length;return s{const e=new(Y()),t=new(Y()),i=new(Y());return function(n,s,o){this.getCoord(this._keyValue[n].getValue(),e),this.getCoord(this._keyValue[s].getValue(),t);const r=this.geocentric.slerp(e,t,o);this._geovalue_changed=this.getGeoCoord(r,i),this._value_changed=r}})(),dispose(){de.prototype.dispose.call(this),it().prototype.dispose.call(this)}}),Object.defineProperties(nt,{...c().getStaticProperties("GeoPositionInterpolator","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOnly,"set_fraction",new(o().SFFloat)),new(a())(_().inputOutput,"key",new(o().MFFloat)),new(a())(_().inputOutput,"keyValue",new(o().MFVec3d)),new(a())(_().outputOnly,"value_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"geovalue_changed",new(o().SFVec3d))]),enumerable:!0}});const st=nt,ot=O().add("GeoPositionInterpolator",st),rt=e.X3DEnvironmentalSensorNode;var at=t.n(rt);const lt=e.ProximitySensor;var ht=t.n(lt),dt=new(Y());function ct(e){at().call(this,e),de.call(this,e),this.addType(_().GeoProximitySensor),this._position_changed.setUnit("length"),this._centerOfRotation_changed.setUnit("length"),this.proximitySensor=new(ht())(e),this.setCameraObject(this.proximitySensor.isCameraObject()),this.setPickableObject(this.proximitySensor.isPickableObject())}Object.assign(Object.setPrototypeOf(ct.prototype,at().prototype),de.prototype,{initialize(){at().prototype.initialize.call(this),de.prototype.initialize.call(this),this._enabled.addFieldInterest(this.proximitySensor._enabled),this._size.addFieldInterest(this.proximitySensor._size),this._center.addFieldInterest(this.proximitySensor._center),this._geoCenter.addFieldInterest(this._center),this.proximitySensor._isCameraObject.addFieldInterest(this._isCameraObject),this.proximitySensor._isPickableObject.addFieldInterest(this._isPickableObject),this.proximitySensor._isActive.addFieldInterest(this._isActive),this.proximitySensor._enterTime.addFieldInterest(this._enterTime),this.proximitySensor._exitTime.addFieldInterest(this._exitTime),this.proximitySensor._position_changed.addFieldInterest(this._position_changed),this.proximitySensor._orientation_changed.addFieldInterest(this._orientation_changed),this.proximitySensor._centerOfRotation_changed.addFieldInterest(this._centerOfRotation_changed),this.proximitySensor._position_changed.addInterest("set_position__",this),this.proximitySensor._enabled=this._enabled,this.proximitySensor._size=this._size,this.proximitySensor._center=this._center,this.proximitySensor.setup()},set_position__(e){this._geoCoord_changed=this.getGeoCoord(this.proximitySensor._position_changed.getValue(),dt)},traverse(e,t){this.proximitySensor.traverse(e,t)},dispose(){de.prototype.dispose.call(this),at().prototype.dispose.call(this)}}),Object.defineProperties(ct,{...c().getStaticProperties("GeoProximitySensor","Geospatial",2,"children","3.2"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(a())(_().inputOutput,"size",new(o().SFVec3f)),new(a())(_().inputOutput,"center",new(o().SFVec3d)),new(a())(_().inputOutput,"geoCenter",new(o().SFVec3d)),new(a())(_().outputOnly,"isActive",new(o().SFBool)),new(a())(_().outputOnly,"enterTime",new(o().SFTime)),new(a())(_().outputOnly,"exitTime",new(o().SFTime)),new(a())(_().outputOnly,"geoCoord_changed",new(o().SFVec3d)),new(a())(_().outputOnly,"position_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"orientation_changed",new(o().SFRotation)),new(a())(_().outputOnly,"centerOfRotation_changed",new(o().SFVec3f))]),enumerable:!0}});const pt=ct,ut=O().add("GeoProximitySensor",pt),gt=e.X3DTouchSensorNode;var _t=t.n(gt);function wt(e){_t().call(this,e),de.call(this,e),this.addType(_().GeoTouchSensor),this._hitPoint_changed.setUnit("length")}Object.assign(Object.setPrototypeOf(wt.prototype,_t().prototype),de.prototype,{initialize(){_t().prototype.initialize.call(this),de.prototype.initialize.call(this)},set_over__:(()=>{const e=new(Y());return function(t,i,n,s,o){_t().prototype.set_over__.call(this,t,i,n,s,o),this._isOver.getValue()&&(this._hitGeoCoord_changed=this.getGeoCoord(this._hitPoint_changed.getValue(),e))}})(),dispose(){de.prototype.dispose.call(this),_t().prototype.dispose.call(this)}}),Object.defineProperties(wt,{...c().getStaticProperties("GeoTouchSensor","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(a())(_().outputOnly,"hitTexCoord_changed",new(o().SFVec2f)),new(a())(_().outputOnly,"hitNormal_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"hitPoint_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"hitGeoCoord_changed",new(o().SFVec3d)),new(a())(_().outputOnly,"isOver",new(o().SFBool)),new(a())(_().outputOnly,"isActive",new(o().SFBool)),new(a())(_().outputOnly,"touchTime",new(o().SFTime))]),enumerable:!0}});const Ot=wt,yt=O().add("GeoTouchSensor",Ot);var mt=new($()),St=new($());function ft(e){Ae().call(this,e),de.call(this,e),this.addType(_().GeoTransform),this._translation.setUnit("length")}Object.assign(Object.setPrototypeOf(ft.prototype,Ae().prototype),de.prototype,{initialize(){Ae().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed(){this.getLocationMatrix(this._geoCenter.getValue(),St),mt.set(this._translation.getValue(),this._rotation.getValue(),this._scale.getValue(),this._scaleOrientation.getValue()),this.setMatrix(mt.multRight(St).multLeft(St.inverse()))},dispose(){de.prototype.dispose.call(this),Ae().prototype.dispose.call(this)}}),Object.defineProperties(ft,{...c().getStaticProperties("GeoTransform","Geospatial",2,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"translation",new(o().SFVec3f)),new(a())(_().inputOutput,"rotation",new(o().SFRotation)),new(a())(_().inputOutput,"scale",new(o().SFVec3f)(1,1,1)),new(a())(_().inputOutput,"scaleOrientation",new(o().SFRotation)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCenter",new(o().SFVec3d)),new(a())(_().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(o().MFNode)),new(a())(_().inputOnly,"removeChildren",new(o().MFNode)),new(a())(_().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const bt=ft,Ft=O().add("GeoTransform",bt),It=e.X3DViewpointNode;var vt=t.n(It);const xt=e.Viewpoint;var Ct=t.n(xt);const Mt=e.NavigationInfo;var Nt=t.n(Mt);const jt=e.Rotation4;var Pt=t.n(jt);function Vt(e){vt().call(this,e),de.call(this,e),this.addType(_().GeoViewpoint),this.addChildObjects(_().inputOutput,"navType",new(o().MFString)("EXAMINE","ANY"),_().inputOutput,"headlight",new(o().SFBool)(!0)),this._centerOfRotation.setUnit("length"),this._fieldOfView.setUnit("angle"),e.getSpecificationVersion()<=3.2&&(this.addAlias("navType",this._navType),this.addAlias("headlight",this._headlight),this.traverse=zt),this.geoNavigationInfoNode=new(Nt())(e),this.projectionMatrix=new($()),this.elevation=0}function zt(e,t){vt().prototype.traverse.call(this,e,t),this.geoNavigationInfoNode.traverse(e,t)}Object.assign(Object.setPrototypeOf(Vt.prototype,vt().prototype),de.prototype,{initialize(){vt().prototype.initialize.call(this),de.prototype.initialize.call(this);const e=this.getBrowser().getContext();this.logarithmicDepthBuffer=e.HAS_FEATURE_FRAG_DEPTH,this._position.addInterest("set_position__",this),this._positionOffset.addInterest("set_position__",this),this._navType.addFieldInterest(this.geoNavigationInfoNode._type),this._headlight.addFieldInterest(this.geoNavigationInfoNode._headlight),this.geoNavigationInfoNode._type=this._navType,this.geoNavigationInfoNode._headlight=this._headlight,this.geoNavigationInfoNode.setup(),this.getExecutionContext().getSpecificationVersion()<=3.2&&(this._navigationInfo=this.geoNavigationInfoNode),this.set_position__()},getRelativeTransformation:Ct().prototype.getRelativeTransformation,setInterpolators:Ct().prototype.setInterpolators,getFieldOfView:Ct().prototype.getFieldOfView,setFieldOfView:Ct().prototype.setFieldOfView,getUserFieldOfView:Ct().prototype.getUserFieldOfView,getScreenScale:Ct().prototype.getScreenScale,getViewportSize:Ct().prototype.getViewportSize,getLookAtDistance:Ct().prototype.getLookAtDistance,getProjectionMatrixWithLimits:Ct().prototype.getProjectionMatrixWithLimits,getLogarithmicDepthBuffer(){return this.logarithmicDepthBuffer},getPosition:(()=>{const e=new(Y());return function(){return this.getCoord(this._position.getValue(),e)}})(),setPosition:(()=>{const e=new(Y());return function(t){this._position.setValue(this.getGeoCoord(t,e))}})(),set_position__:(()=>{const e=new(Y());return function(){this.getCoord(this._position.getValue(),e),this.elevation=this.getGeoElevation(e.add(this._positionOffset.getValue()))}})(),getOrientation:(()=>{const e=new($()),t=new(Pt());return function(){const i=this.getLocationMatrix(this._position.getValue(),e).submatrix;return t.setMatrix(i),t.multLeft(this._orientation.getValue())}})(),setOrientation:(()=>{const e=new($()),t=new(Pt());return function(i){const n=this.getLocationMatrix(this._position.getValue(),e).submatrix;t.setMatrix(n),this._orientation.setValue(t.inverse().multLeft(i))}})(),getCenterOfRotation:(()=>{const e=new(Y());return function(){return this.getCoord(this._centerOfRotation.getValue(),e)}})(),setCenterOfRotation:(()=>{const e=new(Y());return function(t){this._centerOfRotation.setValue(this.getGeoCoord(t,e))}})(),getMaxFarValue:()=>1e9,getUpVector:(()=>{const e=new(Y()),t=new(Y());return function(i=!1){return!i||this.getUserPosition().magnitude()<65e5?(this.getCoord(this._position.getValue(),e),this.getGeoUpVector(e.add(this._positionOffset.getValue()),t)):t.assign(Y().zAxis)}})(),getSpeedFactor(){return(Math.max(this.elevation,0)+10)/10*this._speedFactor.getValue()},dispose(){de.prototype.dispose.call(this),vt().prototype.dispose.call(this)}}),Object.defineProperties(Vt,{...c().getStaticProperties("GeoViewpoint","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOnly,"set_bind",new(o().SFBool)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().inputOutput,"position",new(o().SFVec3d)(0,0,1e5)),new(a())(_().inputOutput,"orientation",new(o().SFRotation)),new(a())(_().inputOutput,"centerOfRotation",new(o().SFVec3d)),new(a())(_().inputOutput,"fieldOfView",new(o().SFFloat)(.785398)),new(a())(_().inputOutput,"nearDistance",new(o().SFFloat)(-1)),new(a())(_().inputOutput,"farDistance",new(o().SFFloat)(-1)),new(a())(_().inputOutput,"viewAll",new(o().SFBool)),new(a())(_().inputOutput,"jump",new(o().SFBool)(!0)),new(a())(_().inputOutput,"retainUserOffsets",new(o().SFBool)),new(a())(_().initializeOnly,"speedFactor",new(o().SFFloat)(1)),new(a())(_().outputOnly,"isBound",new(o().SFBool)),new(a())(_().outputOnly,"bindTime",new(o().SFTime)),new(a())(_().inputOutput,"navigationInfo",new(o().SFNode))]),enumerable:!0}});const Gt=Vt,Tt=O().add("GeoViewpoint",Gt);n().add({name:"Geospatial",concreteNodes:[_e,be,ke,Xe,Ke,et,ot,ut,yt,Ft,Tt],abstractNodes:[de]});O().add("GeospatialComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const e=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const s=e.Fields;var o=t.n(s);const r=e.X3DFieldDefinition;var a=t.n(r);const l=e.FieldDefinitionArray;var h=t.n(l);const d=e.X3DNode;var c=t.n(d);const p=e.X3DCoordinateNode;var u=t.n(p);const g=e.X3DConstants;var _=t.n(g);const w=e.Namespace;var O=t.n(w);function y(e,t){switch(arguments.length){case 0:this.semiMajorAxis=0,this.semiMinorAxis=0;break;case 2:this.semiMajorAxis=e,this.semiMinorAxis=t;break;case 3:const i=arguments[1];this.semiMajorAxis=e,this.semiMinorAxis=e*(1-1/i)}}Object.assign(y.prototype,{getSemiMajorAxis(){return this.semiMajorAxis},getSemiMinorAxis(){return this.semiMinorAxis},toString(){return`${this.semiMajorAxis} ${this.semiMinorAxis}`}});const m=y,S=O().add("Spheroid3",m),f={AA:new S(6377563.396,299.3249646,!0),AM:new S(6377340.189,299.3249646,!0),AN:new S(6378160,298.25,!0),BN:new S(6377483.865,299.1528128,!0),BR:new S(6377397.155,299.1528128,!0),CC:new S(6378206.4,294.9786982,!0),CD:new S(6378249.145,293.465,!0),EA:new S(6377276.345,300.8017,!0),EB:new S(6377298.556,300.8017,!0),EC:new S(6377301.243,300.8017,!0),ED:new S(6377295.664,300.8017,!0),EE:new S(6377304.063,300.8017,!0),EF:new S(6377309.613,300.8017,!0),FA:new S(6378155,298.3,!0),HE:new S(6378200,298.3,!0),HO:new S(6378270,297,!0),ID:new S(6378160,298.247,!0),IN:new S(6378388,297,!0),KA:new S(6378245,298.3,!0),RF:new S(6378137,298.257222101,!0),SA:new S(6378160,298.25,!0),WD:new S(6378135,298.26,!0),WE:new S(6378137,298.257223563,!0),SUN:new S(696342e3,1/9e-6,!0),MERCURY:new S(2439700,2439700),VENUS:new S(6051800,6051800),MOON:new S(1738140,1735970),MARS:new S(3395428,3377678),JUPITER:new S(71492e3,66854e3),SATURN:new S(60268e3,54364e3),URANUS:new S(2555e3,24973e3),NEPTUNE:new S(24764e3,24341e3),PLUTO:new S(1153e3,1153e3)},b=O().add("ReferenceEllipsoids",f);function F(e,t,i){this.longitudeFirst=!t,this.degrees=!i,this.a=e.getSemiMajorAxis(),this.c=e.getSemiMinorAxis(),this.c2a2=(e.getSemiMinorAxis()/this.a)**2,this.ecc2=1-this.c2a2}Object.assign(F.prototype,{convert(e,t){const i=e.z;if(this.longitudeFirst)var n=e.y,s=e.x;else n=e.x,s=e.y;return this.degrees&&(n*=Math.PI/180,s*=Math.PI/180),this.convertRadians(n,s,i,t)},convertRadians(e,t,i,n){const s=Math.sin(e),o=s**2,r=Math.cos(e),a=this.a/Math.sqrt(1-this.ecc2*o),l=(a+i)*r;return n.set(l*Math.cos(t),l*Math.sin(t),(a*this.c2a2+i)*s)},apply(e,t){if(this.applyRadians(e,t),this.degrees&&(t.x*=180/Math.PI,t.y*=180/Math.PI),this.longitudeFirst){const e=t.x;t.x=t.y,t.y=e}return t},applyRadians(e,t){const i=e.x,n=e.y,s=e.z,o=Math.sqrt(i*i+n*n);if(0==o)return t.set(Math.PI,0,s-this.c);let r=0,a=Math.atan2(n,i),l=0,h=this.a,d=h,c=this.ecc2;for(let e=0;e<30;++e){const e=l,t=r;r=Math.atan(s/o/(1-c*d/(d+l)));const i=Math.sin(r);if(d=h/Math.sqrt(1-c*i*i),l=o/Math.cos(r)-d,Math.abs(l-e)<.001&&Math.abs(r-t)<1e-10)break}return t.set(r,a,l)},normal(e,t){const i=this.applyRadians(e,t),n=i.x,s=i.y,o=Math.cos(n),r=Math.cos(s)*o,a=Math.sin(s)*o,l=Math.sin(n);return t.set(r,a,l)}});const I=F,v=O().add("Geodetic",I),x=e.Algorithm;var C=t.n(x);const M=1e7,N=5e5,j=.9996;function P(e,t,i,n){const s=e.getSemiMajorAxis(),o=1-(e.getSemiMinorAxis()/s)**2,r=o/(1-o),a=(1-Math.sqrt(1-o))/(1+Math.sqrt(1-o));this.southernHemisphere=!i,this.eastingFirst=!n,this.a=s,this.ecc2=o,this.EE=r,this.E8=8*r,this.E9=9*r,this.E252=252*r,this.e1=a,this.A=j*(s*(1-o/4-3*o*o/64-5*o*o*o/256)),this.B=3*a/2-7*a*a*a/32,this.C=21*a*a/16-55*a*a*a*a/32,this.D=151*a*a*a/96,this.E=s*(1-o),this.W=1-o/4-3*o*o/64-5*o*o*o/256,this.X=3*o/8+3*o*o/32+45*o*o*o/1024,this.Y=15*o*o/256+45*o*o*o/1024,this.Z=35*o*o*o/3072,this.longitude0=C().radians(6*t-183),this.geodeticConverter=new v(e,!0,!0)}Object.assign(P.prototype,{convert(e,t){if(this.eastingFirst)var i=e.y,n=e.x;else i=e.x,n=e.y;let s=this.southernHemisphere;i<0&&(s=!this.southernHemisphere,i=-i),s&&(i-=M),n-=N;const o=i/this.A,r=o+this.B*Math.sin(2*o)+this.C*Math.sin(4*o)+this.D*Math.sin(6*o),a=Math.sin(r)**2,l=Math.cos(r),h=Math.tan(r),d=this.a/Math.sqrt(1-this.ecc2*a),c=h**2,p=h**8,u=this.EE*c,g=u*u,_=this.E/(1-this.ecc2*a)**1.5,w=n/(d*j),O=(5+3*c+10*u-4*g-this.E9)*w**4/24,y=(61+90*c+298*u+45*p-this.E252-3*g)*w**6/720,m=(5-2*u+28*c-3*g+this.E8+24*p)*w**5/120,S=r-d*h/_*(w*w/2-O+y),f=this.longitude0+(w-(1+2*c+u)*w**3/6+m)/l;return this.geodeticConverter.convertRadians(S,f,e.z,t)},apply(e,t){const i=this.geodeticConverter.applyRadians(e,t),n=i.x,s=i.y,o=Math.tan(n),r=Math.cos(n),a=this.EE,l=this.a/Math.sqrt(1-this.ecc2*Math.sin(n)**2),h=o*o,d=h*h*h,c=a*r*r,p=r*(s-this.longitude0),u=this.a*(this.W*n-this.X*Math.sin(2*n)+this.Y*Math.sin(4*n)-this.Z*Math.sin(6*n)),g=j*l*(p+(1-h+c)*p**3/6+(5-18*d+72*c-58*a)*p**5/120)+N;let _=j*(u+l*o*(p*p/2+(5-h+9*c+4*c*c)*p**4/24+(61-58*d+600*c-330*a)*p**6/720));return n<0?(_+=M,this.southernHemisphere||(_=-_)):this.southernHemisphere&&(_=-_),this.eastingFirst?t.set(g,_,i.z):t.set(_,g,i.z)}});const V=P,z=O().add("UniversalTransverseMercator",V);function G(){}Object.assign(G.prototype,{convert:(e,t)=>t.assign(e),apply:(e,t)=>t.assign(e),slerp(e,t,i){const n=e.magnitude(),s=t.magnitude();return e.normalize(),t.normalize(),C().simpleSlerp(e,t,i).multiply(C().lerp(n,s,i))}});const T=G,D=O().add("Geocentric",T);let E=0;const k=E++,L=E++,A=E++,B={GD:k,GDC:k,UTM:L,GC:A,GCC:A,GS:A},R=/^Z(\d+)$/,U={GD:k,UTM:L,GC:A,getReferenceFrame(e,t){switch(this.getCoordinateSystem(e)){case k:return new v(this.getEllipsoid(e),this.getLatitudeFirst(e),t);case L:return new z(this.getEllipsoid(e),this.getZone(e),this.getNorthernHemisphere(e),this.getNorthingFirst(e));case A:return new D}return new v(b.WE,!0,t)},getElevationFrame(e,t){return new v(this.getEllipsoid(e),!0,t)},getCoordinateSystem(e){for(const t of e){const e=B[t];if(void 0!==e)return e}return k},getEllipsoid(e){for(const t of e){const e=b[t];if(void 0!==e)return e}return b.WE},getEllipsoidString(e){for(const t of e){if(void 0!==b[t])return t}return"WE"},isStandardOrder(e){switch(this.getCoordinateSystem(e)){case k:return this.getLatitudeFirst(e);case L:return this.getNorthingFirst(e);case A:return!0}return this.getLatitudeFirst(e)},getLatitudeFirst(e){for(const t of e)if("longitude_first"===t)return!1;return!0},getNorthingFirst(e){for(const t of e)if("easting_first"===t)return!1;return!0},getZone(e){for(const t of e){const e=t.match(R);if(e)return parseInt(e[1])}return 1},getNorthernHemisphere(e){for(const t of e)if("S"===t)return!1;return!0}},X=O().add("GeospatialObject",U),W=e.X3DCast;var q=t.n(W);const H=e.Vector3;var Y=t.n(H);const Z=e.Matrix4;var $=t.n(Z);const K=new(Y()),J=new(Y()),Q=new(Y()),ee=new(Y()),te=new(Y()),ie=new(Y());function ne(e){this.addType(_().X3DGeospatialObject),this.radians=!1,this.origin=new(Y()),this.originMatrix=new($()),this.invOriginMatrix=new($())}function se(e,t){return this.invOriginMatrix.multVecMatrix(this.referenceFrame.convert(e,t))}function oe(e,t){return this.referenceFrame.apply(this.originMatrix.multVecMatrix(K.assign(e)),t)}function re(e,t){return this.invOriginMatrix.multDirMatrix(this.elevationFrame.normal(this.originMatrix.multVecMatrix(K.assign(e)),t))}function ae(e,t){return le.call(this,e,t).multRight(this.invOriginMatrix)}function le(e,t){return this.referenceFrame.convert(e,Q),this.elevationFrame.normal(Q,te),ee.set(0,0,1).cross(te),ee.equals(Y().Zero)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),t.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,Q.x,Q.y,Q.z,1)}Object.assign(ne.prototype,{initialize(){this._geoSystem.addInterest("set_geoSystem__",this),this._geoOrigin.addInterest("set_geoOrigin__",this),this.set_geoSystem__(),this.set_geoOrigin__()},set_geoSystem__(){this.coordinateSystem=X.getCoordinateSystem(this._geoSystem),this.referenceFrame=X.getReferenceFrame(this._geoSystem,this.radians),this.elevationFrame=X.getElevationFrame(this._geoSystem,this.radians),this.standardOrder=X.isStandardOrder(this._geoSystem)},set_geoOrigin__(){this.geoOriginNode&&(this.geoOriginNode.removeInterest("set_origin__",this),this.geoOriginNode.removeInterest("set_rotateYUp__",this),this.geoOriginNode.removeInterest("addNodeEvent",this)),this.geoOriginNode=q()(_().GeoOrigin,this._geoOrigin),this.geoOriginNode&&(this.geoOriginNode.addInterest("set_origin__",this),this.geoOriginNode.addInterest("set_rotateYUp__",this),this.geoOriginNode.addInterest("addNodeEvent",this)),this.set_origin__(),this.set_rotateYUp__()},set_origin__(){this.geoOriginNode?this.geoOriginNode.getOrigin(this.origin):this.origin.set(0,0,0),this.set_originMatrix__()},set_originMatrix__(){if(this.geoOriginNode){var e=this.origin;this.elevationFrame.normal(e,te),ee.set(0,0,1).cross(te),ee.equals(Y().Zero)&&ee.set(1,0,0),ie.assign(ee).cross(te),ee.normalize(),ie.normalize(),this.originMatrix.set(ee.x,ee.y,ee.z,0,te.x,te.y,te.z,0,ie.x,ie.y,ie.z,0,e.x,e.y,e.z,1),this.invOriginMatrix.assign(this.originMatrix).inverse()}},set_rotateYUp__(){this.geoOriginNode&&this.geoOriginNode._rotateYUp.getValue()?(this.getCoord=se,this.getGeoCoord=oe,this.getGeoUpVector=re,this.getLocationMatrix=ae):(delete this.getCoord,delete this.getGeoCoord,delete this.getGeoUpVector,delete this.getLocationMatrix)},getReferenceFrame(){return this.referenceFrame},getStandardOrder(){return this.standardOrder},getCoord(e,t){return this.referenceFrame.convert(e,t).subtract(this.origin)},getGeoCoord(e,t){return this.referenceFrame.apply(K.assign(e).add(this.origin),t)},getGeoElevation(e){return this.getGeoCoord(e,J).z},getGeoUpVector(e,t){return this.elevationFrame.normal(K.assign(e).add(this.origin),t)},getLocationMatrix(e,t){var i=this.origin,n=le.call(this,e,t);return n[12]-=i.x,n[13]-=i.y,n[14]-=i.z,n},dispose(){}}),Object.defineProperties(ne,c().getStaticProperties("X3DGeospatialObject","Geospatial",1));const he=ne,de=O().add("X3DGeospatialObject",he),ce=e.Triangle3;var pe=t.n(ce);function ue(e){u().call(this,e),de.call(this,e),this.addType(_().GeoCoordinate)}Object.assign(Object.setPrototypeOf(ue.prototype,u().prototype),de.prototype,{initialize(){u().prototype.initialize.call(this),de.prototype.initialize.call(this)},set1Point:(()=>{const e=new(Y());return function(t,i){this._point[t]=this.getGeoCoord(i,e)}})(),get1Point:(()=>{const e=new(Y());return function(t,i){if(t{const e=new(Y()),t=new(Y());return function(i,n){if(i{const e=new(Y()),t=new(Y());return function(i){const n=this.point,s=3*this.length;for(let o=0;o{const e=new(Y()),t=new(Y()),i=new(Y());return function(n,s,o){const r=this.length;return n{const e=new(Y()),t=new(Y()),i=new(Y()),n=new(Y());return function(s,o,r,a){const l=this.length;return s{const e=new(Y()),t=new(Y()),i=new(Y());return function(n,s,o){this.getCoord(this._keyValue[n].getValue(),e),this.getCoord(this._keyValue[s].getValue(),t);const r=this.geocentric.slerp(e,t,o);this._geovalue_changed=this.getGeoCoord(r,i),this._value_changed=r}})(),dispose(){de.prototype.dispose.call(this),it().prototype.dispose.call(this)}}),Object.defineProperties(nt,{...c().getStaticProperties("GeoPositionInterpolator","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOnly,"set_fraction",new(o().SFFloat)),new(a())(_().inputOutput,"key",new(o().MFFloat)),new(a())(_().inputOutput,"keyValue",new(o().MFVec3d)),new(a())(_().outputOnly,"value_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"geovalue_changed",new(o().SFVec3d))]),enumerable:!0}});const st=nt,ot=O().add("GeoPositionInterpolator",st),rt=e.X3DEnvironmentalSensorNode;var at=t.n(rt);const lt=e.ProximitySensor;var ht=t.n(lt),dt=new(Y());function ct(e){at().call(this,e),de.call(this,e),this.addType(_().GeoProximitySensor),this._position_changed.setUnit("length"),this._centerOfRotation_changed.setUnit("length"),this.proximitySensor=new(ht())(e),this.setCameraObject(this.proximitySensor.isCameraObject()),this.setPickableObject(this.proximitySensor.isPickableObject())}Object.assign(Object.setPrototypeOf(ct.prototype,at().prototype),de.prototype,{initialize(){at().prototype.initialize.call(this),de.prototype.initialize.call(this),this._enabled.addFieldInterest(this.proximitySensor._enabled),this._size.addFieldInterest(this.proximitySensor._size),this._center.addFieldInterest(this.proximitySensor._center),this._geoCenter.addFieldInterest(this._center),this.proximitySensor._isCameraObject.addFieldInterest(this._isCameraObject),this.proximitySensor._isPickableObject.addFieldInterest(this._isPickableObject),this.proximitySensor._isActive.addFieldInterest(this._isActive),this.proximitySensor._enterTime.addFieldInterest(this._enterTime),this.proximitySensor._exitTime.addFieldInterest(this._exitTime),this.proximitySensor._position_changed.addFieldInterest(this._position_changed),this.proximitySensor._orientation_changed.addFieldInterest(this._orientation_changed),this.proximitySensor._centerOfRotation_changed.addFieldInterest(this._centerOfRotation_changed),this.proximitySensor._position_changed.addInterest("set_position__",this),this.proximitySensor._enabled=this._enabled,this.proximitySensor._size=this._size,this.proximitySensor._center=this._center,this.proximitySensor.setup()},set_position__(e){this._geoCoord_changed=this.getGeoCoord(this.proximitySensor._position_changed.getValue(),dt)},traverse(e,t){this.proximitySensor.traverse(e,t)},dispose(){de.prototype.dispose.call(this),at().prototype.dispose.call(this)}}),Object.defineProperties(ct,{...c().getStaticProperties("GeoProximitySensor","Geospatial",2,"children","3.2"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(a())(_().inputOutput,"size",new(o().SFVec3f)),new(a())(_().inputOutput,"center",new(o().SFVec3d)),new(a())(_().inputOutput,"geoCenter",new(o().SFVec3d)),new(a())(_().outputOnly,"isActive",new(o().SFBool)),new(a())(_().outputOnly,"enterTime",new(o().SFTime)),new(a())(_().outputOnly,"exitTime",new(o().SFTime)),new(a())(_().outputOnly,"geoCoord_changed",new(o().SFVec3d)),new(a())(_().outputOnly,"position_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"orientation_changed",new(o().SFRotation)),new(a())(_().outputOnly,"centerOfRotation_changed",new(o().SFVec3f))]),enumerable:!0}});const pt=ct,ut=O().add("GeoProximitySensor",pt),gt=e.X3DTouchSensorNode;var _t=t.n(gt);function wt(e){_t().call(this,e),de.call(this,e),this.addType(_().GeoTouchSensor),this._hitPoint_changed.setUnit("length")}Object.assign(Object.setPrototypeOf(wt.prototype,_t().prototype),de.prototype,{initialize(){_t().prototype.initialize.call(this),de.prototype.initialize.call(this)},set_over__:(()=>{const e=new(Y());return function(t,i,n,s,o){_t().prototype.set_over__.call(this,t,i,n,s,o),this._isOver.getValue()&&(this._hitGeoCoord_changed=this.getGeoCoord(this._hitPoint_changed.getValue(),e))}})(),dispose(){de.prototype.dispose.call(this),_t().prototype.dispose.call(this)}}),Object.defineProperties(wt,{...c().getStaticProperties("GeoTouchSensor","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(a())(_().outputOnly,"hitTexCoord_changed",new(o().SFVec2f)),new(a())(_().outputOnly,"hitNormal_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"hitPoint_changed",new(o().SFVec3f)),new(a())(_().outputOnly,"hitGeoCoord_changed",new(o().SFVec3d)),new(a())(_().outputOnly,"isOver",new(o().SFBool)),new(a())(_().outputOnly,"isActive",new(o().SFBool)),new(a())(_().outputOnly,"touchTime",new(o().SFTime))]),enumerable:!0}});const Ot=wt,yt=O().add("GeoTouchSensor",Ot);var mt=new($()),St=new($());function ft(e){Ae().call(this,e),de.call(this,e),this.addType(_().GeoTransform),this._translation.setUnit("length")}Object.assign(Object.setPrototypeOf(ft.prototype,Ae().prototype),de.prototype,{initialize(){Ae().prototype.initialize.call(this),de.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed(){this.getLocationMatrix(this._geoCenter.getValue(),St),mt.set(this._translation.getValue(),this._rotation.getValue(),this._scale.getValue(),this._scaleOrientation.getValue()),this.setMatrix(mt.multRight(St).multLeft(St.inverse()))},dispose(){de.prototype.dispose.call(this),Ae().prototype.dispose.call(this)}}),Object.defineProperties(ft,{...c().getStaticProperties("GeoTransform","Geospatial",2,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().inputOutput,"translation",new(o().SFVec3f)),new(a())(_().inputOutput,"rotation",new(o().SFRotation)),new(a())(_().inputOutput,"scale",new(o().SFVec3f)(1,1,1)),new(a())(_().inputOutput,"scaleOrientation",new(o().SFRotation)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOutput,"geoCenter",new(o().SFVec3d)),new(a())(_().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(_().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(_().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(_().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(_().inputOnly,"addChildren",new(o().MFNode)),new(a())(_().inputOnly,"removeChildren",new(o().MFNode)),new(a())(_().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const bt=ft,Ft=O().add("GeoTransform",bt),It=e.X3DViewpointNode;var vt=t.n(It);const xt=e.Viewpoint;var Ct=t.n(xt);const Mt=e.NavigationInfo;var Nt=t.n(Mt);const jt=e.Rotation4;var Pt=t.n(jt);function Vt(e){vt().call(this,e),de.call(this,e),this.addType(_().GeoViewpoint),this.addChildObjects(_().inputOutput,"navType",new(o().MFString)("EXAMINE","ANY"),_().inputOutput,"headlight",new(o().SFBool)(!0)),this._centerOfRotation.setUnit("length"),this._fieldOfView.setUnit("angle"),e.getSpecificationVersion()<=3.2&&(this.addAlias("navType",this._navType),this.addAlias("headlight",this._headlight),this.traverse=zt),this.geoNavigationInfoNode=new(Nt())(e),this.projectionMatrix=new($()),this.elevation=0}function zt(e,t){vt().prototype.traverse.call(this,e,t),this.geoNavigationInfoNode.traverse(e,t)}Object.assign(Object.setPrototypeOf(Vt.prototype,vt().prototype),de.prototype,{initialize(){vt().prototype.initialize.call(this),de.prototype.initialize.call(this);const e=this.getBrowser().getContext();this.logarithmicDepthBuffer=e.HAS_FEATURE_FRAG_DEPTH,this._position.addInterest("set_position__",this),this._positionOffset.addInterest("set_position__",this),this._navType.addFieldInterest(this.geoNavigationInfoNode._type),this._headlight.addFieldInterest(this.geoNavigationInfoNode._headlight),this.geoNavigationInfoNode._type=this._navType,this.geoNavigationInfoNode._headlight=this._headlight,this.geoNavigationInfoNode.setup(),this.getExecutionContext().getSpecificationVersion()<=3.2&&(this._navigationInfo=this.geoNavigationInfoNode),this.set_position__()},getRelativeTransformation:Ct().prototype.getRelativeTransformation,setInterpolators:Ct().prototype.setInterpolators,getFieldOfView:Ct().prototype.getFieldOfView,setFieldOfView:Ct().prototype.setFieldOfView,getUserFieldOfView:Ct().prototype.getUserFieldOfView,getScreenScale:Ct().prototype.getScreenScale,getViewportSize:Ct().prototype.getViewportSize,getLookAtDistance:Ct().prototype.getLookAtDistance,getProjectionMatrixWithLimits:Ct().prototype.getProjectionMatrixWithLimits,getLogarithmicDepthBuffer(){return this.logarithmicDepthBuffer},getPosition:(()=>{const e=new(Y());return function(){return this.getCoord(this._position.getValue(),e)}})(),setPosition:(()=>{const e=new(Y());return function(t){this._position.setValue(this.getGeoCoord(t,e))}})(),set_position__:(()=>{const e=new(Y());return function(){this.getCoord(this._position.getValue(),e),this.elevation=this.getGeoElevation(e.add(this._positionOffset.getValue()))}})(),getOrientation:(()=>{const e=new($()),t=new(Pt());return function(){const i=this.getLocationMatrix(this._position.getValue(),e).submatrix;return t.setMatrix(i),t.multLeft(this._orientation.getValue())}})(),setOrientation:(()=>{const e=new($()),t=new(Pt());return function(i){const n=this.getLocationMatrix(this._position.getValue(),e).submatrix;t.setMatrix(n),this._orientation.setValue(t.inverse().multLeft(i))}})(),getCenterOfRotation:(()=>{const e=new(Y());return function(){return this.getCoord(this._centerOfRotation.getValue(),e)}})(),setCenterOfRotation:(()=>{const e=new(Y());return function(t){this._centerOfRotation.setValue(this.getGeoCoord(t,e))}})(),getMaxFarValue:()=>1e9,getUpVector:(()=>{const e=new(Y()),t=new(Y());return function(i=!1){return!i||this.getUserPosition().magnitude()<65e5?(this.getCoord(this._position.getValue(),e),this.getGeoUpVector(e.add(this._positionOffset.getValue()),t)):t.assign(Y().zAxis)}})(),getSpeedFactor(){return(Math.max(this.elevation,0)+10)/10*this._speedFactor.getValue()},dispose(){de.prototype.dispose.call(this),vt().prototype.dispose.call(this)}}),Object.defineProperties(Vt,{...c().getStaticProperties("GeoViewpoint","Geospatial",1,"children","3.0"),fieldDefinitions:{value:new(h())([new(a())(_().inputOutput,"metadata",new(o().SFNode)),new(a())(_().initializeOnly,"geoOrigin",new(o().SFNode)),new(a())(_().initializeOnly,"geoSystem",new(o().MFString)("GD","WE")),new(a())(_().inputOnly,"set_bind",new(o().SFBool)),new(a())(_().inputOutput,"description",new(o().SFString)),new(a())(_().inputOutput,"position",new(o().SFVec3d)(0,0,1e5)),new(a())(_().inputOutput,"orientation",new(o().SFRotation)),new(a())(_().inputOutput,"centerOfRotation",new(o().SFVec3d)),new(a())(_().inputOutput,"fieldOfView",new(o().SFFloat)(.785398)),new(a())(_().inputOutput,"nearDistance",new(o().SFFloat)(-1)),new(a())(_().inputOutput,"farDistance",new(o().SFFloat)(-1)),new(a())(_().inputOutput,"viewAll",new(o().SFBool)),new(a())(_().inputOutput,"jump",new(o().SFBool)(!0)),new(a())(_().inputOutput,"retainUserOffsets",new(o().SFBool)),new(a())(_().initializeOnly,"speedFactor",new(o().SFFloat)(1)),new(a())(_().outputOnly,"isBound",new(o().SFBool)),new(a())(_().outputOnly,"bindTime",new(o().SFTime)),new(a())(_().inputOutput,"navigationInfo",new(o().SFNode))]),enumerable:!0}});const Gt=Vt,Tt=O().add("GeoViewpoint",Gt);n().add({name:"Geospatial",concreteNodes:[_e,be,ke,Xe,Ke,et,ot,ut,yt,Ft,Tt],abstractNodes:[de]});O().add("GeospatialComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/HAnimComponent.js b/dist/assets/components/HAnimComponent.js index acb49fe538..771740b0ff 100644 --- a/dist/assets/components/HAnimComponent.js +++ b/dist/assets/components/HAnimComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope diff --git a/dist/assets/components/HAnimComponent.min.js b/dist/assets/components/HAnimComponent.min.js index f64f464761..dd6178241d 100644 --- a/dist/assets/components/HAnimComponent.min.js +++ b/dist/assets/components/HAnimComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const t=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const n=t.Components;var i=e.n(n);const s=t.Fields;var o=e.n(s);const r=t.X3DFieldDefinition;var a=e.n(r);const d=t.FieldDefinitionArray;var u=e.n(d);const l=t.X3DNode;var h=e.n(l);const p=t.X3DGeometricPropertyNode;var c=e.n(p);const _=t.X3DConstants;var m=e.n(_);const w=t.Namespace;var g=e.n(w);function f(t){c().call(this,t),this.addType(m().HAnimDisplacer),this._displacements.setUnit("length")}Object.setPrototypeOf(f.prototype,c().prototype),Object.defineProperties(f,{...h().getStaticProperties("HAnimDisplacer","HAnim",1,"displacers","3.0"),fieldDefinitions:{value:new(u())([new(a())(m().inputOutput,"metadata",new(o().SFNode)),new(a())(m().inputOutput,"description",new(o().SFString)),new(a())(m().inputOutput,"name",new(o().SFString)),new(a())(m().inputOutput,"weight",new(o().SFFloat)),new(a())(m().inputOutput,"coordIndex",new(o().MFInt32)),new(a())(m().inputOutput,"displacements",new(o().MFVec3f))]),enumerable:!0}});const F=f,I=g().add("HAnimDisplacer",F),O=t.X3DChildNode;var x=e.n(O);const S=t.Group;var T=e.n(S);const v=t.Transform;var b=e.n(v);const N=t.X3DBoundedObject;var y=e.n(N);const E=t.TraverseType;var M=e.n(E);const j=t.X3DCast;var D=e.n(j);const A=t.Matrix4;var C=e.n(A);const k=t.Algorithm;var V=e.n(k);function B(t){x().call(this,t),y().call(this,t),this.addType(m().HAnimHumanoid),this.addChildObjects(m().inputOutput,"jointTextures",new(o().SFTime),m().inputOutput,"displacementsTexture",new(o().SFTime),m().inputOutput,"displacementWeightsTexture",new(o().SFTime)),this._translation.setUnit("length"),this._center.setUnit("length"),this._bboxSize.setUnit("length"),this._bboxCenter.setUnit("length"),t.getSpecificationVersion()<=3.3&&(this._version=""),this.skeletonNode=new(T())(t),this.viewpointsNode=new(T())(t),this.skinNode=new(T())(t),this.transformNode=new(b())(t),this.motionNodes=[],this.jointNodes=[],this.jointBindingMatrices=[],this.displacementWeights=[],this.numJoints=0,this.numDisplacements=0,this.skinCoordNode=null,this.change=new R,this.skinning=Function.prototype}Object.assign(Object.setPrototypeOf(B.prototype,x().prototype),y().prototype,{initialize(){x().prototype.initialize.call(this),y().prototype.initialize.call(this),this.skeletonNode.setAllowedTypes(m().HAnimJoint,m().HAnimSite),this.viewpointsNode.setAllowedTypes(m().HAnimSite),this._skeleton.addFieldInterest(this.skeletonNode._children),this._viewpoints.addFieldInterest(this.viewpointsNode._children),this._skin.addFieldInterest(this.skinNode._children),this.skeletonNode._children=this._skeleton,this.viewpointsNode._children=this._viewpoints,this.skinNode._children=this._skin,this.skeletonNode.setPrivate(!0),this.viewpointsNode.setPrivate(!0),this.skinNode.setPrivate(!0),this._translation.addFieldInterest(this.transformNode._translation),this._rotation.addFieldInterest(this.transformNode._rotation),this._scale.addFieldInterest(this.transformNode._scale),this._scaleOrientation.addFieldInterest(this.transformNode._scaleOrientation),this._center.addFieldInterest(this.transformNode._center),this._bboxDisplay.addFieldInterest(this.transformNode._bboxDisplay),this._bboxSize.addFieldInterest(this.transformNode._bboxSize),this._bboxCenter.addFieldInterest(this.transformNode._bboxCenter),this.transformNode._translation=this._translation,this.transformNode._rotation=this._rotation,this.transformNode._scale=this._scale,this.transformNode._scaleOrientation=this._scaleOrientation,this.transformNode._center=this._center,this.transformNode._bboxDisplay=this._bboxDisplay,this.transformNode._bboxSize=this._bboxSize,this.transformNode._bboxCenter=this._bboxCenter,this.transformNode._children=[this.skeletonNode,this.viewpointsNode,this.skinNode],this.transformNode._isCameraObject.addFieldInterest(this._isCameraObject),this.transformNode._isPickableObject.addFieldInterest(this._isPickableObject),this.skeletonNode.setup(),this.viewpointsNode.setup(),this.skinNode.setup(),this.transformNode.setup(),this.setCameraObject(this.transformNode.isCameraObject()),this.setPickableObject(this.transformNode.isPickableObject());const t=this.getBrowser().getContext();if(1!==t.getVersion()){this.skinNode.traverse=function(t,e,n){n.getHumanoids().push(t),T().prototype.traverse.call(this,e,n),n.getHumanoids().pop()}.bind(this.skinNode,this),this.jointsTexture=t.createTexture(),this.displacementsTexture=t.createTexture(),this.jointMatricesTexture=t.createTexture();for(const e of[this.jointsTexture,this.displacementsTexture,this.jointMatricesTexture])t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR);this._motionsEnabled.addInterest("set_motions__",this),this._motions.addInterest("set_motions__",this),this._jointBindingPositions.addInterest("set_joints__",this),this._jointBindingRotations.addInterest("set_joints__",this),this._jointBindingScales.addInterest("set_joints__",this),this._joints.addInterest("set_joints__",this),this._jointTextures.addInterest("set_jointTextures__",this),this._displacementsTexture.addInterest("set_displacementsTexture__",this),this._displacementWeightsTexture.addInterest("set_displacementWeightsTexture__",this),this._skinCoord.addInterest("set_skinCoord__",this),this.set_motions__(),this.set_joints__(),this.set_skinCoord__()}},getBBox(t,e){return this.transformNode.getBBox(t,e)},getSubBBox(t,e){return this.transformNode.getSubBBox(t,e)},getMatrix(){return this.transformNode.getMatrix()},getHumanoidKey(){return this.humanoidKey},getNumJoints(){return this.numJoints},getNumDisplacements(){return this.numDisplacements},set_humanoidKey__(){this.humanoidKey=`[${this.numJoints}.${this.numDisplacements}]`},set_motions__(){const t=this._motionsEnabled,e=this.motionNodes;for(const t of e)t._joints.removeInterest("set_connectJoints__",this),t._channelsEnabled.removeInterest("set_connectJoints__",this),t._channels.removeInterest("set_connectJoints__",this),t._values.removeInterest("set_connectJoints__",this),t.disconnectJoints(this.jointNodes);e.length=0;for(const[n,i]of this._motions.entries()){if(n[])),n=Array.from({length:t},(()=>[]));for(const[t,i]of this.jointNodes.entries()){const s=i._skinCoordWeight.getValue();for(const[o,r]of i._skinCoordIndex.entries()){const i=s[o];0!==i&&(e[r]?.push(t),n[r]?.push(i))}}const i=V().roundToMultiple(e.reduce(((t,e)=>Math.max(t,e.length)),0),4),s=2*i,o=Math.ceil(Math.sqrt(t*s))||1,r=new Float32Array(o*o*4);for(let o=0;o[]));for(const[t,n]of this.jointNodes.entries())for(const i of n.getDisplacers()){const n=i._displacements;for(const[s,o]of i._coordIndex.entries())e[o]?.push(...n[s],t)}const n=e.reduce(((t,e)=>Math.max(t,e.length)),0)/4,i=4*n,s=V().roundToMultiple(Math.ceil(Math.sqrt(t*n*2))||1,2),o=new Float32Array(s*s*4);for(let n=0;n{const t=new(C());return function(e,n){if(e!==M().DISPLAY||this.change.lock())return;t.assign(this.transformNode.getMatrix()).multRight(n.getModelViewMatrix().get()).inverse();const i=this.jointNodes,s=i.length,o=this.jointBindingMatrices,r=this.jointMatricesArray,a=Math.ceil(Math.sqrt(8*s));for(let e=0;e[t._name.getValue().trim(),t])));return e.delete("IGNORED"),e.set("HumanoidRoot",e.get("humanoid_root")),e},set_enabled__(){this._enabled.getValue()?this.timeSensor._startTime=Date.now()/1e3:this.timeSensor._stopTime=Date.now()/1e3},set_joints__(){this.joints=this._joints.getValue().replace(/^[\s,]+|[\s,]+$/gs,"").split(/[\s,]+/s);for(const{positionInterpolator:t,orientationInterpolator:e,scaleInterpolator:n}of this.interpolators)t?._value_changed.getFieldInterests().forEach((e=>t._value_changed.removeFieldInterest(e))),e?._value_changed.getFieldInterests().forEach((t=>e._value_changed.removeFieldInterest(t))),n?._value_changed.getFieldInterests().forEach((t=>n._value_changed.removeFieldInterest(t)))},set_interpolators__(){const t=this.timeSensor;t._fraction_changed.getFieldInterests().forEach((e=>t._fraction_changed.removeFieldInterest(e)));const e=this._channels.getValue().replace(/^[\s,\d]+|[\s,\d]+$/gs,"").split(/[\s,]+\d+[\s,]+/s).map((t=>t.split(/[\s,]+/s))),n=this._values,i=e.reduce(((t,e)=>t+e.length),0),s=Math.floor(i?n.length/i:0),o=new Map,r=Array.from({length:e.length},(()=>({})));this.interpolators=r;for(let i=0,a=0;i1?Math.floor(n*(i-1)):0)+s*t;if(o>this.endFrame){if(!this._loop.getValue())return;this._frameIndex=this.startFrame}else if(o1?e/(t-1):0;if(this.timeSensor._range[0]=n,!this.timeSensor._isActive.getValue())for(const t of this.timeSensor._fraction_changed.getFieldInterests())t.setValue(n)},set_frameDuration__(){const t=this._frameCount.getValue(),e=Math.max(this._frameDuration.getValue(),0);this.timeSensor._cycleInterval=t>1?(t-1)*e:0},set_frameIncrement__(){this.timeSensor._enabled=this._frameIncrement.getValue()},set_start_or_endFrame__(){const t=this._frameCount.getValue(),e=V().clamp(this._startFrame.getValue(),0,t),n=V().clamp(this._endFrame.getValue(),0,t);this.startFrame=Math.min(e,n),this.endFrame=Math.max(e,n),this.timeSensor._range[1]=t>1?this.startFrame/(t-1):0,this.timeSensor._range[2]=t>1?this.endFrame/(t-1):0},createPositionInterpolator(t,e){return t[e].positionInterpolator=new(q())(this.getExecutionContext())},createOrientationInterpolator(t,e){return t[e].orientationInterpolator=new(Q())(this.getExecutionContext())},createScaleInterpolator(t,e){return t[e].scaleInterpolator=new(q())(this.getExecutionContext())},getFraction(){for(const t of this.timeSensor._fraction_changed.getFieldInterests())return t.getValue();return 0}}),Object.defineProperties(nt,{...h().getStaticProperties("HAnimMotion","HAnim",2,"motions","4.0"),fieldDefinitions:{value:new(u())([new(a())(m().inputOutput,"metadata",new(o().SFNode)),new(a())(m().inputOutput,"description",new(o().SFString)),new(a())(m().inputOutput,"name",new(o().SFString)),new(a())(m().inputOutput,"enabled",new(o().SFBool)(!0)),new(a())(m().inputOutput,"loa",new(o().SFInt32)(-1)),new(a())(m().inputOutput,"joints",new(o().SFString)),new(a())(m().inputOutput,"channelsEnabled",new(o().MFBool)),new(a())(m().inputOutput,"channels",new(o().SFString)),new(a())(m().inputOutput,"values",new(o().MFFloat)),new(a())(m().inputOutput,"loop",new(o().SFBool)),new(a())(m().inputOnly,"next",new(o().SFBool)),new(a())(m().inputOnly,"previous",new(o().SFBool)),new(a())(m().inputOutput,"frameIndex",new(o().SFInt32)),new(a())(m().inputOutput,"frameDuration",new(o().SFTime)(.1)),new(a())(m().inputOutput,"frameIncrement",new(o().SFInt32)(1)),new(a())(m().inputOutput,"startFrame",new(o().SFInt32)),new(a())(m().inputOutput,"endFrame",new(o().SFInt32)),new(a())(m().outputOnly,"cycleTime",new(o().SFTime)),new(a())(m().outputOnly,"elapsedTime",new(o().SFTime)),new(a())(m().outputOnly,"frameCount",new(o().SFInt32))]),enumerable:!0}});const it=nt,st=g().add("HAnimMotion",it),ot=t.X3DGroupingNode;var rt=e.n(ot);function at(t){rt().call(this,t),this.addType(m().HAnimSegment),this._mass.setUnit("mass")}Object.setPrototypeOf(at.prototype,rt().prototype),Object.defineProperties(at,{...h().getStaticProperties("HAnimSegment","HAnim",1,"children","3.0"),fieldDefinitions:{value:new(u())([new(a())(m().inputOutput,"metadata",new(o().SFNode)),new(a())(m().inputOutput,"description",new(o().SFString)),new(a())(m().inputOutput,"name",new(o().SFString)),new(a())(m().inputOutput,"mass",new(o().SFFloat)),new(a())(m().inputOutput,"centerOfMass",new(o().SFVec3f)),new(a())(m().inputOutput,"momentsOfInertia",new(o().MFFloat)(0,0,0,0,0,0,0,0,0)),new(a())(m().inputOutput,"displacers",new(o().MFNode)),new(a())(m().inputOutput,"coord",new(o().SFNode)),new(a())(m().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(m().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(m().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(m().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(m().inputOnly,"addChildren",new(o().MFNode)),new(a())(m().inputOnly,"removeChildren",new(o().MFNode)),new(a())(m().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const dt=at,ut=g().add("HAnimSegment",dt);function lt(t){J().call(this,t),this.addType(m().HAnimSite)}Object.setPrototypeOf(lt.prototype,J().prototype),Object.defineProperties(lt,{...h().getStaticProperties("HAnimSite","HAnim",1,"children","3.0"),fieldDefinitions:{value:new(u())([new(a())(m().inputOutput,"metadata",new(o().SFNode)),new(a())(m().inputOutput,"description",new(o().SFString)),new(a())(m().inputOutput,"name",new(o().SFString)),new(a())(m().inputOutput,"translation",new(o().SFVec3f)),new(a())(m().inputOutput,"rotation",new(o().SFRotation)),new(a())(m().inputOutput,"scale",new(o().SFVec3f)(1,1,1)),new(a())(m().inputOutput,"scaleOrientation",new(o().SFRotation)),new(a())(m().inputOutput,"center",new(o().SFVec3f)),new(a())(m().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(m().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(m().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(m().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(m().inputOnly,"addChildren",new(o().MFNode)),new(a())(m().inputOnly,"removeChildren",new(o().MFNode)),new(a())(m().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const ht=lt,pt=g().add("HAnimSite",ht);i().add({name:"HAnim",concreteNodes:[I,H,G,st,ut,pt],abstractNodes:[]});g().add("HAnimComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const t=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var e={n:t=>{var n=t&&t.__esModule?()=>t.default:()=>t;return e.d(n,{a:n}),n},d:(t,n)=>{for(var i in n)e.o(n,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:n[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const n=t.Components;var i=e.n(n);const s=t.Fields;var o=e.n(s);const r=t.X3DFieldDefinition;var a=e.n(r);const d=t.FieldDefinitionArray;var u=e.n(d);const l=t.X3DNode;var h=e.n(l);const p=t.X3DGeometricPropertyNode;var c=e.n(p);const _=t.X3DConstants;var m=e.n(_);const w=t.Namespace;var g=e.n(w);function f(t){c().call(this,t),this.addType(m().HAnimDisplacer),this._displacements.setUnit("length")}Object.setPrototypeOf(f.prototype,c().prototype),Object.defineProperties(f,{...h().getStaticProperties("HAnimDisplacer","HAnim",1,"displacers","3.0"),fieldDefinitions:{value:new(u())([new(a())(m().inputOutput,"metadata",new(o().SFNode)),new(a())(m().inputOutput,"description",new(o().SFString)),new(a())(m().inputOutput,"name",new(o().SFString)),new(a())(m().inputOutput,"weight",new(o().SFFloat)),new(a())(m().inputOutput,"coordIndex",new(o().MFInt32)),new(a())(m().inputOutput,"displacements",new(o().MFVec3f))]),enumerable:!0}});const F=f,I=g().add("HAnimDisplacer",F),O=t.X3DChildNode;var x=e.n(O);const S=t.Group;var T=e.n(S);const v=t.Transform;var b=e.n(v);const N=t.X3DBoundedObject;var y=e.n(N);const E=t.TraverseType;var M=e.n(E);const j=t.X3DCast;var D=e.n(j);const A=t.Matrix4;var C=e.n(A);const k=t.Algorithm;var V=e.n(k);function B(t){x().call(this,t),y().call(this,t),this.addType(m().HAnimHumanoid),this.addChildObjects(m().inputOutput,"jointTextures",new(o().SFTime),m().inputOutput,"displacementsTexture",new(o().SFTime),m().inputOutput,"displacementWeightsTexture",new(o().SFTime)),this._translation.setUnit("length"),this._center.setUnit("length"),this._bboxSize.setUnit("length"),this._bboxCenter.setUnit("length"),t.getSpecificationVersion()<=3.3&&(this._version=""),this.skeletonNode=new(T())(t),this.viewpointsNode=new(T())(t),this.skinNode=new(T())(t),this.transformNode=new(b())(t),this.motionNodes=[],this.jointNodes=[],this.jointBindingMatrices=[],this.displacementWeights=[],this.numJoints=0,this.numDisplacements=0,this.skinCoordNode=null,this.change=new R,this.skinning=Function.prototype}Object.assign(Object.setPrototypeOf(B.prototype,x().prototype),y().prototype,{initialize(){x().prototype.initialize.call(this),y().prototype.initialize.call(this),this.skeletonNode.setAllowedTypes(m().HAnimJoint,m().HAnimSite),this.viewpointsNode.setAllowedTypes(m().HAnimSite),this._skeleton.addFieldInterest(this.skeletonNode._children),this._viewpoints.addFieldInterest(this.viewpointsNode._children),this._skin.addFieldInterest(this.skinNode._children),this.skeletonNode._children=this._skeleton,this.viewpointsNode._children=this._viewpoints,this.skinNode._children=this._skin,this.skeletonNode.setPrivate(!0),this.viewpointsNode.setPrivate(!0),this.skinNode.setPrivate(!0),this._translation.addFieldInterest(this.transformNode._translation),this._rotation.addFieldInterest(this.transformNode._rotation),this._scale.addFieldInterest(this.transformNode._scale),this._scaleOrientation.addFieldInterest(this.transformNode._scaleOrientation),this._center.addFieldInterest(this.transformNode._center),this._bboxDisplay.addFieldInterest(this.transformNode._bboxDisplay),this._bboxSize.addFieldInterest(this.transformNode._bboxSize),this._bboxCenter.addFieldInterest(this.transformNode._bboxCenter),this.transformNode._translation=this._translation,this.transformNode._rotation=this._rotation,this.transformNode._scale=this._scale,this.transformNode._scaleOrientation=this._scaleOrientation,this.transformNode._center=this._center,this.transformNode._bboxDisplay=this._bboxDisplay,this.transformNode._bboxSize=this._bboxSize,this.transformNode._bboxCenter=this._bboxCenter,this.transformNode._children=[this.skeletonNode,this.viewpointsNode,this.skinNode],this.transformNode._isCameraObject.addFieldInterest(this._isCameraObject),this.transformNode._isPickableObject.addFieldInterest(this._isPickableObject),this.skeletonNode.setup(),this.viewpointsNode.setup(),this.skinNode.setup(),this.transformNode.setup(),this.setCameraObject(this.transformNode.isCameraObject()),this.setPickableObject(this.transformNode.isPickableObject());const t=this.getBrowser().getContext();if(1!==t.getVersion()){this.skinNode.traverse=function(t,e,n){n.getHumanoids().push(t),T().prototype.traverse.call(this,e,n),n.getHumanoids().pop()}.bind(this.skinNode,this),this.jointsTexture=t.createTexture(),this.displacementsTexture=t.createTexture(),this.jointMatricesTexture=t.createTexture();for(const e of[this.jointsTexture,this.displacementsTexture,this.jointMatricesTexture])t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR);this._motionsEnabled.addInterest("set_motions__",this),this._motions.addInterest("set_motions__",this),this._jointBindingPositions.addInterest("set_joints__",this),this._jointBindingRotations.addInterest("set_joints__",this),this._jointBindingScales.addInterest("set_joints__",this),this._joints.addInterest("set_joints__",this),this._jointTextures.addInterest("set_jointTextures__",this),this._displacementsTexture.addInterest("set_displacementsTexture__",this),this._displacementWeightsTexture.addInterest("set_displacementWeightsTexture__",this),this._skinCoord.addInterest("set_skinCoord__",this),this.set_motions__(),this.set_joints__(),this.set_skinCoord__()}},getBBox(t,e){return this.transformNode.getBBox(t,e)},getSubBBox(t,e){return this.transformNode.getSubBBox(t,e)},getMatrix(){return this.transformNode.getMatrix()},getHumanoidKey(){return this.humanoidKey},getNumJoints(){return this.numJoints},getNumDisplacements(){return this.numDisplacements},set_humanoidKey__(){this.humanoidKey=`[${this.numJoints}.${this.numDisplacements}]`},set_motions__(){const t=this._motionsEnabled,e=this.motionNodes;for(const t of e)t._joints.removeInterest("set_connectJoints__",this),t._channelsEnabled.removeInterest("set_connectJoints__",this),t._channels.removeInterest("set_connectJoints__",this),t._values.removeInterest("set_connectJoints__",this),t.disconnectJoints(this.jointNodes);e.length=0;for(const[n,i]of this._motions.entries()){if(n[])),n=Array.from({length:t},(()=>[]));for(const[t,i]of this.jointNodes.entries()){const s=i._skinCoordWeight.getValue();for(const[o,r]of i._skinCoordIndex.entries()){const i=s[o];0!==i&&(e[r]?.push(t),n[r]?.push(i))}}const i=V().roundToMultiple(e.reduce(((t,e)=>Math.max(t,e.length)),0),4),s=2*i,o=Math.ceil(Math.sqrt(t*s))||1,r=new Float32Array(o*o*4);for(let o=0;o[]));for(const[t,n]of this.jointNodes.entries())for(const i of n.getDisplacers()){const n=i._displacements;for(const[s,o]of i._coordIndex.entries())e[o]?.push(...n[s],t)}const n=e.reduce(((t,e)=>Math.max(t,e.length)),0)/4,i=4*n,s=V().roundToMultiple(Math.ceil(Math.sqrt(t*n*2))||1,2),o=new Float32Array(s*s*4);for(let n=0;n{const t=new(C());return function(e,n){if(e!==M().DISPLAY||this.change.lock())return;t.assign(this.transformNode.getMatrix()).multRight(n.getModelViewMatrix().get()).inverse();const i=this.jointNodes,s=i.length,o=this.jointBindingMatrices,r=this.jointMatricesArray,a=Math.ceil(Math.sqrt(8*s));for(let e=0;e[t._name.getValue().trim(),t])));return e.delete("IGNORED"),e.set("HumanoidRoot",e.get("humanoid_root")),e},set_enabled__(){this._enabled.getValue()?this.timeSensor._startTime=Date.now()/1e3:this.timeSensor._stopTime=Date.now()/1e3},set_joints__(){this.joints=this._joints.getValue().replace(/^[\s,]+|[\s,]+$/gs,"").split(/[\s,]+/s);for(const{positionInterpolator:t,orientationInterpolator:e,scaleInterpolator:n}of this.interpolators)t?._value_changed.getFieldInterests().forEach((e=>t._value_changed.removeFieldInterest(e))),e?._value_changed.getFieldInterests().forEach((t=>e._value_changed.removeFieldInterest(t))),n?._value_changed.getFieldInterests().forEach((t=>n._value_changed.removeFieldInterest(t)))},set_interpolators__(){const t=this.timeSensor;t._fraction_changed.getFieldInterests().forEach((e=>t._fraction_changed.removeFieldInterest(e)));const e=this._channels.getValue().replace(/^[\s,\d]+|[\s,\d]+$/gs,"").split(/[\s,]+\d+[\s,]+/s).map((t=>t.split(/[\s,]+/s))),n=this._values,i=e.reduce(((t,e)=>t+e.length),0),s=Math.floor(i?n.length/i:0),o=new Map,r=Array.from({length:e.length},(()=>({})));this.interpolators=r;for(let i=0,a=0;i1?Math.floor(n*(i-1)):0)+s*t;if(o>this.endFrame){if(!this._loop.getValue())return;this._frameIndex=this.startFrame}else if(o1?e/(t-1):0;if(this.timeSensor._range[0]=n,!this.timeSensor._isActive.getValue())for(const t of this.timeSensor._fraction_changed.getFieldInterests())t.setValue(n)},set_frameDuration__(){const t=this._frameCount.getValue(),e=Math.max(this._frameDuration.getValue(),0);this.timeSensor._cycleInterval=t>1?(t-1)*e:0},set_frameIncrement__(){this.timeSensor._enabled=this._frameIncrement.getValue()},set_start_or_endFrame__(){const t=this._frameCount.getValue(),e=V().clamp(this._startFrame.getValue(),0,t),n=V().clamp(this._endFrame.getValue(),0,t);this.startFrame=Math.min(e,n),this.endFrame=Math.max(e,n),this.timeSensor._range[1]=t>1?this.startFrame/(t-1):0,this.timeSensor._range[2]=t>1?this.endFrame/(t-1):0},createPositionInterpolator(t,e){return t[e].positionInterpolator=new(q())(this.getExecutionContext())},createOrientationInterpolator(t,e){return t[e].orientationInterpolator=new(Q())(this.getExecutionContext())},createScaleInterpolator(t,e){return t[e].scaleInterpolator=new(q())(this.getExecutionContext())},getFraction(){for(const t of this.timeSensor._fraction_changed.getFieldInterests())return t.getValue();return 0}}),Object.defineProperties(nt,{...h().getStaticProperties("HAnimMotion","HAnim",2,"motions","4.0"),fieldDefinitions:{value:new(u())([new(a())(m().inputOutput,"metadata",new(o().SFNode)),new(a())(m().inputOutput,"description",new(o().SFString)),new(a())(m().inputOutput,"name",new(o().SFString)),new(a())(m().inputOutput,"enabled",new(o().SFBool)(!0)),new(a())(m().inputOutput,"loa",new(o().SFInt32)(-1)),new(a())(m().inputOutput,"joints",new(o().SFString)),new(a())(m().inputOutput,"channelsEnabled",new(o().MFBool)),new(a())(m().inputOutput,"channels",new(o().SFString)),new(a())(m().inputOutput,"values",new(o().MFFloat)),new(a())(m().inputOutput,"loop",new(o().SFBool)),new(a())(m().inputOnly,"next",new(o().SFBool)),new(a())(m().inputOnly,"previous",new(o().SFBool)),new(a())(m().inputOutput,"frameIndex",new(o().SFInt32)),new(a())(m().inputOutput,"frameDuration",new(o().SFTime)(.1)),new(a())(m().inputOutput,"frameIncrement",new(o().SFInt32)(1)),new(a())(m().inputOutput,"startFrame",new(o().SFInt32)),new(a())(m().inputOutput,"endFrame",new(o().SFInt32)),new(a())(m().outputOnly,"cycleTime",new(o().SFTime)),new(a())(m().outputOnly,"elapsedTime",new(o().SFTime)),new(a())(m().outputOnly,"frameCount",new(o().SFInt32))]),enumerable:!0}});const it=nt,st=g().add("HAnimMotion",it),ot=t.X3DGroupingNode;var rt=e.n(ot);function at(t){rt().call(this,t),this.addType(m().HAnimSegment),this._mass.setUnit("mass")}Object.setPrototypeOf(at.prototype,rt().prototype),Object.defineProperties(at,{...h().getStaticProperties("HAnimSegment","HAnim",1,"children","3.0"),fieldDefinitions:{value:new(u())([new(a())(m().inputOutput,"metadata",new(o().SFNode)),new(a())(m().inputOutput,"description",new(o().SFString)),new(a())(m().inputOutput,"name",new(o().SFString)),new(a())(m().inputOutput,"mass",new(o().SFFloat)),new(a())(m().inputOutput,"centerOfMass",new(o().SFVec3f)),new(a())(m().inputOutput,"momentsOfInertia",new(o().MFFloat)(0,0,0,0,0,0,0,0,0)),new(a())(m().inputOutput,"displacers",new(o().MFNode)),new(a())(m().inputOutput,"coord",new(o().SFNode)),new(a())(m().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(m().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(m().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(m().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(m().inputOnly,"addChildren",new(o().MFNode)),new(a())(m().inputOnly,"removeChildren",new(o().MFNode)),new(a())(m().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const dt=at,ut=g().add("HAnimSegment",dt);function lt(t){J().call(this,t),this.addType(m().HAnimSite)}Object.setPrototypeOf(lt.prototype,J().prototype),Object.defineProperties(lt,{...h().getStaticProperties("HAnimSite","HAnim",1,"children","3.0"),fieldDefinitions:{value:new(u())([new(a())(m().inputOutput,"metadata",new(o().SFNode)),new(a())(m().inputOutput,"description",new(o().SFString)),new(a())(m().inputOutput,"name",new(o().SFString)),new(a())(m().inputOutput,"translation",new(o().SFVec3f)),new(a())(m().inputOutput,"rotation",new(o().SFRotation)),new(a())(m().inputOutput,"scale",new(o().SFVec3f)(1,1,1)),new(a())(m().inputOutput,"scaleOrientation",new(o().SFRotation)),new(a())(m().inputOutput,"center",new(o().SFVec3f)),new(a())(m().inputOutput,"visible",new(o().SFBool)(!0)),new(a())(m().inputOutput,"bboxDisplay",new(o().SFBool)),new(a())(m().initializeOnly,"bboxSize",new(o().SFVec3f)(-1,-1,-1)),new(a())(m().initializeOnly,"bboxCenter",new(o().SFVec3f)),new(a())(m().inputOnly,"addChildren",new(o().MFNode)),new(a())(m().inputOnly,"removeChildren",new(o().MFNode)),new(a())(m().inputOutput,"children",new(o().MFNode))]),enumerable:!0}});const ht=lt,pt=g().add("HAnimSite",ht);i().add({name:"HAnim",concreteNodes:[I,H,G,st,ut,pt],abstractNodes:[]});g().add("HAnimComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/KeyDeviceSensorComponent.js b/dist/assets/components/KeyDeviceSensorComponent.js index f2681a39d5..44f3159313 100644 --- a/dist/assets/components/KeyDeviceSensorComponent.js +++ b/dist/assets/components/KeyDeviceSensorComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope diff --git a/dist/assets/components/KeyDeviceSensorComponent.min.js b/dist/assets/components/KeyDeviceSensorComponent.min.js index d59460bb68..90d36aa068 100644 --- a/dist/assets/components/KeyDeviceSensorComponent.min.js +++ b/dist/assets/components/KeyDeviceSensorComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const e=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var t={n:e=>{var s=e&&e.__esModule?()=>e.default:()=>e;return t.d(s,{a:s}),s},d:(e,s)=>{for(var a in s)t.o(s,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:s[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const s=e.Components;var a=t.n(s);const i=e.Namespace;var n=t.n(i);const r=Symbol(),o=Symbol(),c=Symbol();function h(){this[r]=new Set}Object.assign(h.prototype,{initialize(){const e=this.getElement();e.on("keydown.X3DKeyDeviceSensorContext",this[o].bind(this)),e.on("keyup.X3DKeyDeviceSensorContext",this[c].bind(this))},addKeyDeviceSensorNode(e){this[r].add(e)},removeKeyDeviceSensorNode(e){this[r].delete(e)},getKeyDeviceSensorNodes(){return this[r]},[o](e){for(const t of this[r])t.keydown(e)},[c](e){for(const t of this[r])t.keyup(e)},dispose(){this.getElement().off(".X3DKeyDeviceSensorContext")}});const l=h,y=n().add("X3DKeyDeviceSensorContext",l),d=e.Fields;var _=t.n(d);const b=e.X3DFieldDefinition;var k=t.n(b);const u=e.FieldDefinitionArray;var p=t.n(u);const K=e.X3DNode;var S=t.n(K);const w=e.X3DSensorNode;var v=t.n(w);const g=e.X3DConstants;var f=t.n(g);function P(e){v().call(this,e),this.addType(f().X3DKeyDeviceSensorNode)}Object.assign(Object.setPrototypeOf(P.prototype,v().prototype),{initialize(){v().prototype.initialize.call(this),this.getLive().addInterest("set_live__",this),this.set_live__()},set_live__(){this.getLive().getValue()?(this._enabled.addInterest("set_enabled__",this),this._enabled.getValue()&&this.enable()):(this._enabled.removeInterest("set_enabled__",this),this.disable())},set_enabled__(){this._enabled.getValue()?this.enable():this.disable()},enable(){this.getBrowser().addKeyDeviceSensorNode(this)},disable(){this.getBrowser().removeKeyDeviceSensorNode(this),this.release()},keydown(){},keyup(){},release(){}}),Object.defineProperties(P,S().getStaticProperties("X3DKeyDeviceSensorNode","KeyDeviceSensor",1));const D=P,O=n().add("X3DKeyDeviceSensorNode",D);function C(e){O.call(this,e),this.addType(f().KeySensor)}Object.assign(Object.setPrototypeOf(C.prototype,O.prototype),{keydown(e){switch(e.preventDefault(),this._isActive.getValue()||(this._isActive=!0),e.which){case 16:this._shiftKey=!0;break;case 17:this._controlKey=!0;break;case 18:this._altKey=!0;break;case 112:this._actionKeyPress=1;break;case 113:this._actionKeyPress=2;break;case 114:this._actionKeyPress=3;break;case 115:this._actionKeyPress=4;break;case 116:this._actionKeyPress=5;break;case 117:this._actionKeyPress=6;break;case 118:this._actionKeyPress=7;break;case 119:this._actionKeyPress=8;break;case 120:this._actionKeyPress=9;break;case 121:this._actionKeyPress=10;break;case 122:this._actionKeyPress=11;break;case 123:this._actionKeyPress=12;break;case 36:this._actionKeyPress=13;break;case 35:this._actionKeyPress=14;break;case 33:this._actionKeyPress=15;break;case 34:this._actionKeyPress=16;break;case 38:this._actionKeyPress=17;break;case 40:this._actionKeyPress=18;break;case 37:this._actionKeyPress=19;break;case 39:this._actionKeyPress=20;break;default:if(e.charCode||e.keyCode)switch(e.key){case"AltGraph":case"CapsLock":case"Insert":break;case"Backspace":this._keyPress=String.fromCharCode(8);break;case"Delete":this._keyPress=String.fromCharCode(127);break;case"Enter":this._keyPress="\n";break;case"Escape":this._keyPress=String.fromCharCode(27);break;case"Tab":this._keyPress="\t";break;default:1===e.key.length&&(this._keyPress=e.key)}}},keyup(e){switch(e.preventDefault(),e.which){case 16:this._shiftKey=!1;break;case 17:this._controlKey=!1;break;case 18:this._altKey=!1;break;case 112:this._actionKeyRelease=1;break;case 113:this._actionKeyRelease=2;break;case 114:this._actionKeyRelease=3;break;case 115:this._actionKeyRelease=4;break;case 116:this._actionKeyRelease=5;break;case 117:this._actionKeyRelease=6;break;case 118:this._actionKeyRelease=7;break;case 119:this._actionKeyRelease=8;break;case 120:this._actionKeyRelease=9;break;case 121:this._actionKeyRelease=10;break;case 122:this._actionKeyRelease=11;break;case 123:this._actionKeyRelease=12;break;case 36:this._actionKeyRelease=13;break;case 35:this._actionKeyRelease=14;break;case 33:this._actionKeyRelease=15;break;case 34:this._actionKeyRelease=16;break;case 38:this._actionKeyRelease=17;break;case 40:this._actionKeyRelease=18;break;case 37:this._actionKeyRelease=19;break;case 39:this._actionKeyRelease=20;break;default:if(e.charCode||e.keyCode)switch(e.key){case"AltGraph":case"CapsLock":case"Insert":break;case"Backspace":this._keyRelease=String.fromCharCode(8);break;case"Delete":this._keyRelease=String.fromCharCode(127);break;case"Enter":this._keyRelease="\n";break;case"Escape":this._keyRelease=String.fromCharCode(27);break;case"Tab":this._keyRelease="\t";break;default:1===e.key.length&&(this._keyRelease=e.key)}}this._isActive.getValue()&&(this._isActive=!1)},release(){this._shiftKey.getValue()&&(this._shiftKey=!1),this._controlKey.getValue()&&(this._controlKey=!1),this._altKey.getValue()&&(this._altKey=!1)}}),Object.defineProperties(C,{...S().getStaticProperties("KeySensor","KeyDeviceSensor",1,"children","3.0"),fieldDefinitions:{value:new(p())([new(k())(f().inputOutput,"metadata",new(_().SFNode)),new(k())(f().inputOutput,"description",new(_().SFString)),new(k())(f().inputOutput,"enabled",new(_().SFBool)(!0)),new(k())(f().outputOnly,"controlKey",new(_().SFBool)),new(k())(f().outputOnly,"shiftKey",new(_().SFBool)),new(k())(f().outputOnly,"altKey",new(_().SFBool)),new(k())(f().outputOnly,"actionKeyPress",new(_().SFInt32)),new(k())(f().outputOnly,"actionKeyRelease",new(_().SFInt32)),new(k())(f().outputOnly,"keyPress",new(_().SFString)),new(k())(f().outputOnly,"keyRelease",new(_().SFString)),new(k())(f().outputOnly,"isActive",new(_().SFBool))]),enumerable:!0}});const R=C,m=n().add("KeySensor",R);function F(e){O.call(this,e),this.addType(f().StringSensor)}Object.assign(Object.setPrototypeOf(F.prototype,O.prototype),{keydown(e){switch(e.preventDefault(),e.key){case"Backspace":this._isActive.getValue()&&this._deletionAllowed.getValue()&&this._enteredText.length&&(this._enteredText=this._enteredText.getValue().substring(0,this._enteredText.length-1));break;case"Enter":this._finalText=this._enteredText,this._enteredText.set(""),this._isActive.getValue()&&(this._isActive=!1);break;case"Escape":this._enteredText.set(""),this._isActive.getValue()&&(this._isActive=!1);break;case"Tab":break;default:(e.charCode||e.keyCode)&&1===e.key.length&&(this._isActive.getValue()||(this._isActive=!0,this._enteredText=""),this._enteredText=this._enteredText.getValue()+e.key)}}}),Object.defineProperties(F,{...S().getStaticProperties("StringSensor","KeyDeviceSensor",2,"children","3.0"),fieldDefinitions:{value:new(p())([new(k())(f().inputOutput,"metadata",new(_().SFNode)),new(k())(f().inputOutput,"description",new(_().SFString)),new(k())(f().inputOutput,"enabled",new(_().SFBool)(!0)),new(k())(f().inputOutput,"deletionAllowed",new(_().SFBool)(!0)),new(k())(f().outputOnly,"enteredText",new(_().SFString)),new(k())(f().outputOnly,"finalText",new(_().SFString)),new(k())(f().outputOnly,"isActive",new(_().SFBool))]),enumerable:!0}});const T=F,x=n().add("StringSensor",T);a().add({name:"KeyDeviceSensor",concreteNodes:[m,x],abstractNodes:[O],browserContext:y});n().add("KeyDeviceSensorComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const e=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var t={n:e=>{var s=e&&e.__esModule?()=>e.default:()=>e;return t.d(s,{a:s}),s},d:(e,s)=>{for(var a in s)t.o(s,a)&&!t.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:s[a]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const s=e.Components;var a=t.n(s);const i=e.Namespace;var n=t.n(i);const r=Symbol(),o=Symbol(),c=Symbol();function h(){this[r]=new Set}Object.assign(h.prototype,{initialize(){const e=this.getElement();e.on("keydown.X3DKeyDeviceSensorContext",this[o].bind(this)),e.on("keyup.X3DKeyDeviceSensorContext",this[c].bind(this))},addKeyDeviceSensorNode(e){this[r].add(e)},removeKeyDeviceSensorNode(e){this[r].delete(e)},getKeyDeviceSensorNodes(){return this[r]},[o](e){for(const t of this[r])t.keydown(e)},[c](e){for(const t of this[r])t.keyup(e)},dispose(){this.getElement().off(".X3DKeyDeviceSensorContext")}});const l=h,y=n().add("X3DKeyDeviceSensorContext",l),d=e.Fields;var _=t.n(d);const b=e.X3DFieldDefinition;var k=t.n(b);const u=e.FieldDefinitionArray;var p=t.n(u);const K=e.X3DNode;var S=t.n(K);const w=e.X3DSensorNode;var v=t.n(w);const g=e.X3DConstants;var f=t.n(g);function P(e){v().call(this,e),this.addType(f().X3DKeyDeviceSensorNode)}Object.assign(Object.setPrototypeOf(P.prototype,v().prototype),{initialize(){v().prototype.initialize.call(this),this.getLive().addInterest("set_live__",this),this.set_live__()},set_live__(){this.getLive().getValue()?(this._enabled.addInterest("set_enabled__",this),this._enabled.getValue()&&this.enable()):(this._enabled.removeInterest("set_enabled__",this),this.disable())},set_enabled__(){this._enabled.getValue()?this.enable():this.disable()},enable(){this.getBrowser().addKeyDeviceSensorNode(this)},disable(){this.getBrowser().removeKeyDeviceSensorNode(this),this.release()},keydown(){},keyup(){},release(){}}),Object.defineProperties(P,S().getStaticProperties("X3DKeyDeviceSensorNode","KeyDeviceSensor",1));const D=P,O=n().add("X3DKeyDeviceSensorNode",D);function C(e){O.call(this,e),this.addType(f().KeySensor)}Object.assign(Object.setPrototypeOf(C.prototype,O.prototype),{keydown(e){switch(e.preventDefault(),this._isActive.getValue()||(this._isActive=!0),e.which){case 16:this._shiftKey=!0;break;case 17:this._controlKey=!0;break;case 18:this._altKey=!0;break;case 112:this._actionKeyPress=1;break;case 113:this._actionKeyPress=2;break;case 114:this._actionKeyPress=3;break;case 115:this._actionKeyPress=4;break;case 116:this._actionKeyPress=5;break;case 117:this._actionKeyPress=6;break;case 118:this._actionKeyPress=7;break;case 119:this._actionKeyPress=8;break;case 120:this._actionKeyPress=9;break;case 121:this._actionKeyPress=10;break;case 122:this._actionKeyPress=11;break;case 123:this._actionKeyPress=12;break;case 36:this._actionKeyPress=13;break;case 35:this._actionKeyPress=14;break;case 33:this._actionKeyPress=15;break;case 34:this._actionKeyPress=16;break;case 38:this._actionKeyPress=17;break;case 40:this._actionKeyPress=18;break;case 37:this._actionKeyPress=19;break;case 39:this._actionKeyPress=20;break;default:if(e.charCode||e.keyCode)switch(e.key){case"AltGraph":case"CapsLock":case"Insert":break;case"Backspace":this._keyPress=String.fromCharCode(8);break;case"Delete":this._keyPress=String.fromCharCode(127);break;case"Enter":this._keyPress="\n";break;case"Escape":this._keyPress=String.fromCharCode(27);break;case"Tab":this._keyPress="\t";break;default:1===e.key.length&&(this._keyPress=e.key)}}},keyup(e){switch(e.preventDefault(),e.which){case 16:this._shiftKey=!1;break;case 17:this._controlKey=!1;break;case 18:this._altKey=!1;break;case 112:this._actionKeyRelease=1;break;case 113:this._actionKeyRelease=2;break;case 114:this._actionKeyRelease=3;break;case 115:this._actionKeyRelease=4;break;case 116:this._actionKeyRelease=5;break;case 117:this._actionKeyRelease=6;break;case 118:this._actionKeyRelease=7;break;case 119:this._actionKeyRelease=8;break;case 120:this._actionKeyRelease=9;break;case 121:this._actionKeyRelease=10;break;case 122:this._actionKeyRelease=11;break;case 123:this._actionKeyRelease=12;break;case 36:this._actionKeyRelease=13;break;case 35:this._actionKeyRelease=14;break;case 33:this._actionKeyRelease=15;break;case 34:this._actionKeyRelease=16;break;case 38:this._actionKeyRelease=17;break;case 40:this._actionKeyRelease=18;break;case 37:this._actionKeyRelease=19;break;case 39:this._actionKeyRelease=20;break;default:if(e.charCode||e.keyCode)switch(e.key){case"AltGraph":case"CapsLock":case"Insert":break;case"Backspace":this._keyRelease=String.fromCharCode(8);break;case"Delete":this._keyRelease=String.fromCharCode(127);break;case"Enter":this._keyRelease="\n";break;case"Escape":this._keyRelease=String.fromCharCode(27);break;case"Tab":this._keyRelease="\t";break;default:1===e.key.length&&(this._keyRelease=e.key)}}this._isActive.getValue()&&(this._isActive=!1)},release(){this._shiftKey.getValue()&&(this._shiftKey=!1),this._controlKey.getValue()&&(this._controlKey=!1),this._altKey.getValue()&&(this._altKey=!1)}}),Object.defineProperties(C,{...S().getStaticProperties("KeySensor","KeyDeviceSensor",1,"children","3.0"),fieldDefinitions:{value:new(p())([new(k())(f().inputOutput,"metadata",new(_().SFNode)),new(k())(f().inputOutput,"description",new(_().SFString)),new(k())(f().inputOutput,"enabled",new(_().SFBool)(!0)),new(k())(f().outputOnly,"controlKey",new(_().SFBool)),new(k())(f().outputOnly,"shiftKey",new(_().SFBool)),new(k())(f().outputOnly,"altKey",new(_().SFBool)),new(k())(f().outputOnly,"actionKeyPress",new(_().SFInt32)),new(k())(f().outputOnly,"actionKeyRelease",new(_().SFInt32)),new(k())(f().outputOnly,"keyPress",new(_().SFString)),new(k())(f().outputOnly,"keyRelease",new(_().SFString)),new(k())(f().outputOnly,"isActive",new(_().SFBool))]),enumerable:!0}});const R=C,m=n().add("KeySensor",R);function F(e){O.call(this,e),this.addType(f().StringSensor)}Object.assign(Object.setPrototypeOf(F.prototype,O.prototype),{keydown(e){switch(e.preventDefault(),e.key){case"Backspace":this._isActive.getValue()&&this._deletionAllowed.getValue()&&this._enteredText.length&&(this._enteredText=this._enteredText.getValue().substring(0,this._enteredText.length-1));break;case"Enter":this._finalText=this._enteredText,this._enteredText.set(""),this._isActive.getValue()&&(this._isActive=!1);break;case"Escape":this._enteredText.set(""),this._isActive.getValue()&&(this._isActive=!1);break;case"Tab":break;default:(e.charCode||e.keyCode)&&1===e.key.length&&(this._isActive.getValue()||(this._isActive=!0,this._enteredText=""),this._enteredText=this._enteredText.getValue()+e.key)}}}),Object.defineProperties(F,{...S().getStaticProperties("StringSensor","KeyDeviceSensor",2,"children","3.0"),fieldDefinitions:{value:new(p())([new(k())(f().inputOutput,"metadata",new(_().SFNode)),new(k())(f().inputOutput,"description",new(_().SFString)),new(k())(f().inputOutput,"enabled",new(_().SFBool)(!0)),new(k())(f().inputOutput,"deletionAllowed",new(_().SFBool)(!0)),new(k())(f().outputOnly,"enteredText",new(_().SFString)),new(k())(f().outputOnly,"finalText",new(_().SFString)),new(k())(f().outputOnly,"isActive",new(_().SFBool))]),enumerable:!0}});const T=F,x=n().add("StringSensor",T);a().add({name:"KeyDeviceSensor",concreteNodes:[m,x],abstractNodes:[O],browserContext:y});n().add("KeyDeviceSensorComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/LayoutComponent.js b/dist/assets/components/LayoutComponent.js index d45ad180ae..9e79c7c0db 100644 --- a/dist/assets/components/LayoutComponent.js +++ b/dist/assets/components/LayoutComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ diff --git a/dist/assets/components/LayoutComponent.min.js b/dist/assets/components/LayoutComponent.min.js index abd0727447..d08558f9eb 100644 --- a/dist/assets/components/LayoutComponent.min.js +++ b/dist/assets/components/LayoutComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const t=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var e={254:e=>{e.exports=t.jquery}},i={};function s(t){var n=i[t];if(void 0!==n)return n.exports;var o=i[t]={exports:{}};return e[t](o,o.exports,s),o.exports}s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{for(var i in e)s.o(e,i)&&!s.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);const n=t.Components;var o=s.n(n);const r=t.TextureProperties;var a=s.n(r);const h=t.Vector3;var l=s.n(h);const u=t.Matrix4;var c=s.n(u);const d=t.ViewVolume;var p=s.n(d);const g=t.Namespace;var y=s.n(g);const f=Symbol();function x(){}Object.assign(x.prototype,{getScreenTextureProperties(){return this[f]=new(a())(this.getPrivateScene()),this[f]._boundaryModeS="CLAMP_TO_EDGE",this[f]._boundaryModeT="CLAMP_TO_EDGE",this[f]._boundaryModeR="CLAMP_TO_EDGE",this[f]._minificationFilter="NEAREST_PIXEL",this[f]._magnificationFilter="NEAREST_PIXEL",this[f]._generateMipMaps=!1,this[f]._textureCompression="DEFAULT",this[f].setup(),this.getScreenTextureProperties=function(){return this[f]},Object.defineProperty(this,"getScreenTextureProperties",{enumerable:!1}),this[f]},getScreenScaleMatrix:(()=>{const t=new(l()),e=new(l()),i=new(c());return function(s,n,o,r){const a=s.getModelViewMatrix().get(),h=s.getProjectionMatrix().get(),u=s.getViewVolume().getViewport();s.getViewpoint().getScreenScale(a.origin,u,t);const c=a.xAxis.normalize().multiply(t.x*o),d=a.yAxis.normalize().multiply(t.y*o),g=a.zAxis.normalize().multiply(t.x*o);i.set(c.x,c.y,c.z,0,d.x,d.y,d.z,0,g.x,g.y,g.z,0,a[12],a[13],a[14],1),r&&(p().projectPoint(l().Zero,i,h,u,e),e.x=Math.round(e.x),e.y=Math.round(e.y),p().unProjectPoint(e.x,e.y,e.z,i,h,u,e),e.z=0,i.translate(e)),n.assign(a).inverse().multLeft(i)}})()});const w=x,_=y().add("X3DLayoutContext",w),S=t.Fields;var M=s.n(S);const O=t.X3DFieldDefinition;var z=s.n(O);const m=t.FieldDefinitionArray;var v=s.n(m);const X=t.X3DNode;var b=s.n(X);const N=t.X3DChildNode;var F=s.n(N);const U=t.X3DConstants;var T=s.n(U);function P(t){F().call(this,t),this.addType(T().X3DLayoutNode)}Object.setPrototypeOf(P.prototype,F().prototype),Object.defineProperties(P,b().getStaticProperties("X3DLayoutNode","Layout",1));const L=P,Y=y().add("X3DLayoutNode",L),B=t.Vector2;var C=s.n(B);const E=t.Rotation4;var D=s.n(E);let I=0;const R=I++,V=I++,A=I++,j=I++,k=I++,G=I++,W=I++,H=I++,q=I++,K=I++;function Z(t){Y.call(this,t),this.addType(T().Layout),this.alignX=V,this.alignY=V,this.offsetUnitX=G,this.offsetUnitY=G,this.offsetX=0,this.offsetY=0,this.sizeUnitX=G,this.sizeUnitY=G,this.sizeX=1,this.sizeY=1,this.scaleModeX=q,this.scaleModeY=q,this.parent=null,this.rectangleCenter=new(C()),this.rectangleSize=new(C()),this.matrix=new(c())}Object.assign(Object.setPrototypeOf(Z.prototype,Y.prototype),{viewportPixel:new(C()),pixelSize:new(C()),translation:new(l()),offset:new(l()),scale:new(l())(1,1,1),currentTranslation:new(l()),currentRotation:new(D()),currentScale:new(l()),modelViewMatrix:new(c()),initialize(){Y.prototype.initialize.call(this),this._align.addInterest("set_align__",this),this._offsetUnits.addInterest("set_offsetUnits__",this),this._offset.addInterest("set_offset__",this),this._sizeUnits.addInterest("set_sizeUnits__",this),this._size.addInterest("set_size__",this),this._scaleMode.addInterest("set_scaleMode__",this),this.set_align__(),this.set_offsetUnits__(),this.set_offset__(),this.set_sizeUnits__(),this.set_size__(),this.set_scaleMode__()},set_align__(){this._align.length>0?"LEFT"===this._align[0]?this.alignX=R:"RIGHT"===this._align[0]?this.alignX=A:this.alignX=V:this.alignX=V,this._align.length>1?"BOTTOM"===this._align[1]?this.alignY=j:"TOP"===this._align[1]?this.alignY=k:this.alignY=V:this.alignY=V},set_offsetUnits__(){this._offsetUnits.length>0?("FRACTION"===this._offsetUnits[0]?this.offsetUnitX=W:"PIXEL"===this._offsetUnits[0]?this.offsetUnitX=H:this.offsetUnitX=G,this._offsetUnits.length>1?"FRACTION"===this._offsetUnits[1]?this.offsetUnitY=W:"PIXEL"===this._offsetUnits[1]?this.offsetUnitY=H:this.offsetUnitY=G:this.offsetUnitY=this.offsetUnitX):(this.offsetUnitX=G,this.offsetUnitY=G)},set_offset__(){this._offset.length>0?(this.offsetX=this._offset[0],this._offset.length>1?this.offsetY=this._offset[1]:this.offsetY=offsetX):(this.offsetX=0,this.offsetY=0)},set_sizeUnits__(){this._sizeUnits.length>0?("FRACTION"===this._sizeUnits[0]?this.sizeUnitX=W:"PIXEL"===this._sizeUnits[0]?this.sizeUnitX=H:this.sizeUnitX=G,this._sizeUnits.length>1?"FRACTION"===this._sizeUnits[1]?this.sizeUnitY=W:"PIXEL"===this._sizeUnits[1]?this.sizeUnitY=H:this.sizeUnitY=G:this.sizeUnitY=this.sizeUnitX):(this.sizeUnitX=G,this.sizeUnitY=G)},set_size__(){this._size.length>0?(this.sizeX=this._size[0],this._size.length>1?this.sizeY=this._size[1]:this.sizeY=this.sizeX):(this.sizeX=0,this.sizeY=0)},set_scaleMode__(){this._scaleMode.length>0?("FRACTION"===this._scaleMode[0]?this.scaleModeX=W:"PIXEL"===this._scaleMode[0]?this.scaleModeX=H:"STRETCH"===this._scaleMode[0]?this.scaleModeX=K:this.scaleModeX=q,this._scaleMode.length>1?"FRACTION"===this._scaleMode[1]?this.scaleModeY=W:"PIXEL"===this._scaleMode[1]?this.scaleModeY=H:"STRETCH"===this._scaleMode[1]?this.scaleModeY=K:this.scaleModeY=q:this.scaleModeY=this.scaleModeX):(this.scaleModeX=q,this.scaleModeY=q)},getRectangleCenter(){return this.rectangleCenter},getRectangleSize(){return this.rectangleSize},getAlignX(){return this.alignX},getAlignY(){return this.alignY},getOffsetUnitX(){return this.offsetUnitX===G?this.parent?this.parent.getOffsetUnitX():W:this.offsetUnitX},getOffsetUnitY(){return this.offsetUnitY===G?this.parent?this.parent.getOffsetUnitY():W:this.offsetUnitY},getOffsetX(){return this.offsetX},getOffsetY(){return this.offsetY},getSizeUnitX(){return this.sizeUnitX===G?this.parent?this.parent.getSizeUnitX():W:this.sizeUnitX},getSizeUnitY(){return this.sizeUnitY===G?this.parent?this.parent.getSizeUnitY():W:this.sizeUnitY},getSizeX(){return this.sizeX},getSizeY(){return this.sizeY},getScaleModeX(){return this.parent?this.scaleModeX:this.scaleModeX===q?W:this.scaleModeX},getScaleModeY(){return this.parent?this.scaleModeY:this.scaleModeY===q?W:this.scaleModeY},transform(t,e){const i=this.parent=e.getParentLayout(),s=this.getBrowser().getRenderingProperty("ContentScale"),n=this.matrix,o=e.getViewpoint(),r=e.getNavigationInfo().getNearValue(),a=e.getViewVolume().getScissor(),h=o.getViewportSize(a,r),l=this.viewportPixel,u=this.pixelSize,c=i?i.getRectangleSize():h,d=this.rectangleSize,p=this.rectangleCenter;switch(l.set(a[2],a[3]).divide(s),u.assign(h).divVec(l),this.getSizeUnitX()){case W:d.x=this.sizeX*c.x;break;case H:d.x=this.sizeX*u.x}switch(this.getSizeUnitY()){case W:d.y=this.sizeY*c.y;break;case H:d.y=this.sizeY*u.y}const g=this.translation.set(0,0,0);switch(this.getAlignX()){case R:g.x=-(c.x-d.x)/2;break;case V:this.getSizeUnitX()===H&&1&l.x&&(g.x=-u.x/2);break;case A:g.x=(c.x-d.x)/2}switch(this.getAlignY()){case j:g.y=-(c.y-d.y)/2;break;case V:this.getSizeUnitX()===H&&1&l.y&&(g.y=-u.y/2);break;case k:g.y=(c.y-d.y)/2}const y=this.offset.set(0,0,0);switch(this.getOffsetUnitX()){case W:y.x=this.offsetX*c.x;break;case H:y.x=this.offsetX*h.x/l.x}switch(this.getOffsetUnitY()){case W:y.y=this.offsetY*c.y;break;case H:y.y=this.offsetY*h.y/l.y}const f=this.scale.set(1,1,1),x=this.currentTranslation,w=this.currentRotation,_=this.currentScale;switch(e.getModelViewMatrix().get().get(x,w,_),this.getScaleModeX()){case q:f.x=_.x;break;case W:f.x=d.x;break;case K:break;case H:f.x=h.x/l.x}switch(this.getScaleModeY()){case q:f.y=_.y;break;case W:f.y=d.y;break;case K:break;case H:f.y=h.y/l.y}return this.getScaleModeX()===K?this.getScaleModeY()===K?d.x>d.y?(f.x=d.x,f.y=f.x):(f.y=d.y,f.x=f.y):f.x=f.y:this.getScaleModeY()===K&&(f.y=f.x),p.assign(g.add(y)),n.set(x,w),n.translate(g),n.scale(f),n}}),Object.defineProperties(Z,{...b().getStaticProperties("Layout","Layout",1,"layout","3.2"),fieldDefinitions:{value:new(v())([new(z())(T().inputOutput,"metadata",new(M().SFNode)),new(z())(T().inputOutput,"align",new(M().MFString)("CENTER","CENTER")),new(z())(T().inputOutput,"offsetUnits",new(M().MFString)("WORLD","WORLD")),new(z())(T().inputOutput,"offset",new(M().MFFloat)(0,0)),new(z())(T().inputOutput,"sizeUnits",new(M().MFString)("WORLD","WORLD")),new(z())(T().inputOutput,"size",new(M().MFFloat)(1,1)),new(z())(T().inputOutput,"scaleMode",new(M().MFString)("NONE","NONE"))]),enumerable:!0}});const Q=Z,J=y().add("Layout",Q),$=t.X3DGroupingNode;var tt=s.n($);const et=t.X3DCast;var it=s.n(et);const st=t.TraverseType;var nt=s.n(st);function ot(t){tt().call(this,t),this.addType(T().LayoutGroup),this.viewportNode=null,this.layoutNode=null,this.matrix=new(c()),this.modelViewMatrix=new(c()),this.screenMatrix=new(c())}Object.assign(Object.setPrototypeOf(ot.prototype,tt().prototype),{initialize(){tt().prototype.initialize.call(this),this._viewport.addInterest("set_viewport__",this),this._layout.addInterest("set_layout__",this),this.set_viewport__(),this.set_layout__()},set_viewport__(){this.viewportNode=it()(T().X3DViewportNode,this._viewport)},set_layout__(){this.layoutNode=it()(T().X3DLayoutNode,this._layout)},getBBox(t,e){return tt().prototype.getBBox.call(this,t,e).multRight(this.getMatrix())},getMatrix(){return this.layoutNode?this.matrix.assign(this.modelViewMatrix).inverse().multLeft(this.screenMatrix):this.matrix.identity()},getLayout(){return this.layoutNode},traverse(t,e){if(t!==nt().COLLISION){if(this.viewportNode&&this.viewportNode.push(),this.layoutNode){const i=e.getModelViewMatrix();this.modelViewMatrix.assign(i.get()),this.screenMatrix.assign(this.layoutNode.transform(t,e)),i.pushMatrix(this.screenMatrix),e.getLayouts().push(this.layoutNode),tt().prototype.traverse.call(this,t,e),e.getLayouts().pop(),i.pop()}else tt().prototype.traverse.call(this,t,e);this.viewportNode&&this.viewportNode.pop()}}}),Object.defineProperties(ot,{...b().getStaticProperties("LayoutGroup","Layout",1,"children","3.2"),fieldDefinitions:{value:new(v())([new(z())(T().inputOutput,"metadata",new(M().SFNode)),new(z())(T().inputOutput,"layout",new(M().SFNode)),new(z())(T().inputOutput,"viewport",new(M().SFNode)),new(z())(T().inputOutput,"visible",new(M().SFBool)(!0)),new(z())(T().inputOutput,"bboxDisplay",new(M().SFBool)),new(z())(T().initializeOnly,"bboxSize",new(M().SFVec3f)(-1,-1,-1)),new(z())(T().initializeOnly,"bboxCenter",new(M().SFVec3f)),new(z())(T().inputOnly,"addChildren",new(M().MFNode)),new(z())(T().inputOnly,"removeChildren",new(M().MFNode)),new(z())(T().inputOutput,"children",new(M().MFNode))]),enumerable:!0}});const rt=ot,at=y().add("LayoutGroup",rt),ht=t.X3DLayerNode;var lt=s.n(ht);const ut=t.OrthoViewpoint;var ct=s.n(ut);function dt(t){lt().call(this,t,new(ct())(t),new at(t)),this.addType(T().LayoutLayer)}Object.assign(Object.setPrototypeOf(dt.prototype,lt().prototype),{initialize(){lt().prototype.initialize.call(this);const t=this.getGroups()._children[0].getValue();this._layout.addFieldInterest(t._layout),this._addChildren.addFieldInterest(t._addChildren),this._removeChildren.addFieldInterest(t._removeChildren),this._children.addFieldInterest(t._children),t._layout=this._layout,t._children=this._children,t.setPrivate(!0),t.setup(),this.getGroups().setup()}}),Object.defineProperties(dt,{...b().getStaticProperties("LayoutLayer","Layout",1,"layers","3.2"),fieldDefinitions:{value:new(v())([new(z())(T().inputOutput,"metadata",new(M().SFNode)),new(z())(T().inputOutput,"pickable",new(M().SFBool)(!0)),new(z())(T().inputOutput,"objectType",new(M().MFString)("ALL")),new(z())(T().inputOutput,"visible",new(M().SFBool)(!0)),new(z())(T().inputOutput,"layout",new(M().SFNode)),new(z())(T().inputOutput,"viewport",new(M().SFNode)),new(z())(T().inputOnly,"addChildren",new(M().MFNode)),new(z())(T().inputOnly,"removeChildren",new(M().MFNode)),new(z())(T().inputOutput,"children",new(M().MFNode))]),enumerable:!0}});const pt=dt,gt=y().add("LayoutLayer",pt),yt=t.X3DFontStyleNode;var ft=s.n(yt);const xt=t.X3DTextGeometry;var wt=s.n(xt);const _t=t.TextAlignment;var St=s.n(_t);const Mt=t.PixelTexture;var Ot=s.n(Mt);const zt=t.Box3;var mt=s.n(zt);const vt=t.Algorithm;var Xt=s.n(vt),bt=s(254);function Nt(t,e){wt().call(this,t,e),t.setTransparent(!0),this.textureNode=new(Ot())(t.getExecutionContext()),this.canvas=bt(""),this.context=this.canvas[0].getContext("2d",{willReadFrequently:!0}),this.matrix=new(c()),this.textureNode._textureProperties=e.getBrowser().getScreenTextureProperties(),this.textureNode.setup()}Object.assign(Object.setPrototypeOf(Nt.prototype,wt().prototype),{modelViewMatrix:new(c()),isTransparent:()=>!0,getMatrix(){return this.matrix},update:(()=>{const t=new(l()),e=new(l())(1,1,0);return function(){wt().prototype.update.call(this);const i=this.getFontStyle(),s=this.getText();switch(s._textBounds.x=Math.ceil(s._textBounds.x)+1,s._textBounds.y=Math.ceil(s._textBounds.y)+1,this.getBBox().getExtents(t,e),t.x-=1,t.y-=1,i.getMajorAlignment()){case St().BEGIN:case St().FIRST:t.x=Math.floor(t.x),e.x=t.x+s._textBounds.x;break;case St().MIDDLE:t.x=Math.round(t.x),e.x=t.x+s._textBounds.x;break;case St().END:e.x=Math.ceil(e.x),t.x=e.x-s._textBounds.x}switch(i.getMinorAlignment()){case St().BEGIN:case St().FIRST:e.y=Math.ceil(e.y),t.y=e.y-s._textBounds.y;break;case St().MIDDLE:e.y=Math.round(e.y),t.y=e.y-s._textBounds.y;break;case St().END:t.y=Math.floor(t.y),e.y=t.y+s._textBounds.y}s._origin.x=t.x,s._origin.y=e.y,this.getBBox().setExtents(t,e)}})(),build:(()=>{const t=new(l()),e=new(l())(1,1,0);return function(){const i=this.getFontStyle(),s=i.getFont();if(!s)return;const n=this.getText(),o=this.getGlyphs(),r=this.getMinorAlignment(),a=this.getTranslations(),h=this.getCharSpacings(),l=this.getScales(),u=i.getScale(),c=u/s.unitsPerEm,d=n.getTexCoords(),p=n.getNormals(),g=n.getVertices(),y=this.canvas[0],f=this.context;n.getMultiTexCoords().push(d),this.getBBox().getExtents(t,e),p.push(0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1),g.push(t.x,t.y,0,1,e.x,t.y,0,1,e.x,e.y,0,1,t.x,t.y,0,1,e.x,e.y,0,1,t.x,e.y,0,1);const x=n._textBounds.x,w=n._textBounds.y;y.width=Xt().nextPowerOfTwo(x),y.height=Xt().nextPowerOfTwo(w);const _=x/y.width,S=1-w/y.height;if(d.push(0,S,0,1,_,S,0,1,_,1,0,1,0,S,0,1,_,1,0,1,0,1,0,1),f.fillStyle="rgba(255,255,255,0)",f.fillRect(0,0,y.width,y.height),f.fillStyle="rgba(255,255,255,1)",f.save(),f.translate(0,y.height),f.scale(1,-1),i._horizontal.getValue())for(let i=0,n=o.length;i{const t=new(mt());return function(e,i){this.getBrowser().getScreenScaleMatrix(i,this.matrix,1,!0),t.assign(this.getBBox()).multRight(this.matrix),this.getText().setBBox(t)}})(),display(t,e){c().prototype.multLeft.call(e.modelViewMatrix,this.matrix),e.textureNode=this.textureNode},transformLine:(()=>{const t=new(c());return function(e){return e.multLineMatrix(t.assign(this.matrix).inverse())}})(),transformMatrix(t){return t.multLeft(this.matrix)}});const Ft=Nt,Ut=y().add("ScreenText",Ft);function Tt(t){ft().call(this,t),this.addType(T().ScreenFontStyle)}Object.assign(Object.setPrototypeOf(Tt.prototype,ft().prototype),{initialize(){ft().prototype.initialize.call(this),this.getBrowser().getRenderingProperties()._ContentScale.addInterest("addNodeEvent",this)},getTextGeometry(t){return new Ut(t,this)},getScale(){return this._pointSize.getValue()*this.getBrowser().getPixelsPerPoint()}}),Object.defineProperties(Tt,{...b().getStaticProperties("ScreenFontStyle","Layout",2,"fontStyle","3.2"),fieldDefinitions:{value:new(v())([new(z())(T().inputOutput,"metadata",new(M().SFNode)),new(z())(T().inputOutput,"language",new(M().SFString)),new(z())(T().inputOutput,"family",new(M().MFString)("SERIF")),new(z())(T().inputOutput,"style",new(M().SFString)("PLAIN")),new(z())(T().inputOutput,"pointSize",new(M().SFFloat)(12)),new(z())(T().inputOutput,"spacing",new(M().SFFloat)(1)),new(z())(T().inputOutput,"horizontal",new(M().SFBool)(!0)),new(z())(T().inputOutput,"leftToRight",new(M().SFBool)(!0)),new(z())(T().inputOutput,"topToBottom",new(M().SFBool)(!0)),new(z())(T().inputOutput,"justify",new(M().MFString)("BEGIN"))]),enumerable:!0}});const Pt=Tt,Lt=y().add("ScreenFontStyle",Pt),Yt=t.X3DProtoDeclaration;var Bt=s.n(Yt);function Ct(t){tt().call(this,t),this.addType(T().ScreenGroup),t.getOuterNode()instanceof Bt()?this.matrix=new(c()):this.matrix=new(c())(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}Object.assign(Object.setPrototypeOf(Ct.prototype,tt().prototype),{getBBox(t,e){return this.getSubBBox(t,e).multRight(this.matrix)},getMatrix(){return this.matrix},traverse(t,e){switch(t){case nt().CAMERA:case nt().PICKING:case nt().SHADOW:break;default:{const t=this.getBrowser();t.getScreenScaleMatrix(e,this.matrix,t.getRenderingProperty("ContentScale"),!1);break}}const i=e.getModelViewMatrix();i.push(),i.multLeft(this.matrix),tt().prototype.traverse.call(this,t,e),i.pop()}}),Object.defineProperties(Ct,{...b().getStaticProperties("ScreenGroup","Layout",2,"children","3.2"),fieldDefinitions:{value:new(v())([new(z())(T().inputOutput,"metadata",new(M().SFNode)),new(z())(T().inputOutput,"visible",new(M().SFBool)(!0)),new(z())(T().inputOutput,"bboxDisplay",new(M().SFBool)),new(z())(T().initializeOnly,"bboxSize",new(M().SFVec3f)(-1,-1,-1)),new(z())(T().initializeOnly,"bboxCenter",new(M().SFVec3f)),new(z())(T().inputOnly,"addChildren",new(M().MFNode)),new(z())(T().inputOnly,"removeChildren",new(M().MFNode)),new(z())(T().inputOutput,"children",new(M().MFNode))]),enumerable:!0}});const Et=Ct,Dt=y().add("ScreenGroup",Et);o().add({name:"Layout",concreteNodes:[J,at,gt,Lt,Dt],abstractNodes:[Y],browserContext:_});y().add("LayoutComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const t=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var e={254:e=>{e.exports=t.jquery}},i={};function s(t){var n=i[t];if(void 0!==n)return n.exports;var o=i[t]={exports:{}};return e[t](o,o.exports,s),o.exports}s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},s.d=(t,e)=>{for(var i in e)s.o(e,i)&&!s.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);const n=t.Components;var o=s.n(n);const r=t.TextureProperties;var a=s.n(r);const h=t.Vector3;var l=s.n(h);const u=t.Matrix4;var c=s.n(u);const d=t.ViewVolume;var p=s.n(d);const g=t.Namespace;var y=s.n(g);const f=Symbol();function x(){}Object.assign(x.prototype,{getScreenTextureProperties(){return this[f]=new(a())(this.getPrivateScene()),this[f]._boundaryModeS="CLAMP_TO_EDGE",this[f]._boundaryModeT="CLAMP_TO_EDGE",this[f]._boundaryModeR="CLAMP_TO_EDGE",this[f]._minificationFilter="NEAREST_PIXEL",this[f]._magnificationFilter="NEAREST_PIXEL",this[f]._generateMipMaps=!1,this[f]._textureCompression="DEFAULT",this[f].setup(),this.getScreenTextureProperties=function(){return this[f]},Object.defineProperty(this,"getScreenTextureProperties",{enumerable:!1}),this[f]},getScreenScaleMatrix:(()=>{const t=new(l()),e=new(l()),i=new(c());return function(s,n,o,r){const a=s.getModelViewMatrix().get(),h=s.getProjectionMatrix().get(),u=s.getViewVolume().getViewport();s.getViewpoint().getScreenScale(a.origin,u,t);const c=a.xAxis.normalize().multiply(t.x*o),d=a.yAxis.normalize().multiply(t.y*o),g=a.zAxis.normalize().multiply(t.x*o);i.set(c.x,c.y,c.z,0,d.x,d.y,d.z,0,g.x,g.y,g.z,0,a[12],a[13],a[14],1),r&&(p().projectPoint(l().Zero,i,h,u,e),e.x=Math.round(e.x),e.y=Math.round(e.y),p().unProjectPoint(e.x,e.y,e.z,i,h,u,e),e.z=0,i.translate(e)),n.assign(a).inverse().multLeft(i)}})()});const w=x,_=y().add("X3DLayoutContext",w),S=t.Fields;var M=s.n(S);const O=t.X3DFieldDefinition;var z=s.n(O);const m=t.FieldDefinitionArray;var v=s.n(m);const X=t.X3DNode;var b=s.n(X);const N=t.X3DChildNode;var F=s.n(N);const U=t.X3DConstants;var T=s.n(U);function P(t){F().call(this,t),this.addType(T().X3DLayoutNode)}Object.setPrototypeOf(P.prototype,F().prototype),Object.defineProperties(P,b().getStaticProperties("X3DLayoutNode","Layout",1));const L=P,Y=y().add("X3DLayoutNode",L),B=t.Vector2;var C=s.n(B);const E=t.Rotation4;var D=s.n(E);let I=0;const R=I++,V=I++,A=I++,j=I++,k=I++,G=I++,W=I++,H=I++,q=I++,K=I++;function Z(t){Y.call(this,t),this.addType(T().Layout),this.alignX=V,this.alignY=V,this.offsetUnitX=G,this.offsetUnitY=G,this.offsetX=0,this.offsetY=0,this.sizeUnitX=G,this.sizeUnitY=G,this.sizeX=1,this.sizeY=1,this.scaleModeX=q,this.scaleModeY=q,this.parent=null,this.rectangleCenter=new(C()),this.rectangleSize=new(C()),this.matrix=new(c())}Object.assign(Object.setPrototypeOf(Z.prototype,Y.prototype),{viewportPixel:new(C()),pixelSize:new(C()),translation:new(l()),offset:new(l()),scale:new(l())(1,1,1),currentTranslation:new(l()),currentRotation:new(D()),currentScale:new(l()),modelViewMatrix:new(c()),initialize(){Y.prototype.initialize.call(this),this._align.addInterest("set_align__",this),this._offsetUnits.addInterest("set_offsetUnits__",this),this._offset.addInterest("set_offset__",this),this._sizeUnits.addInterest("set_sizeUnits__",this),this._size.addInterest("set_size__",this),this._scaleMode.addInterest("set_scaleMode__",this),this.set_align__(),this.set_offsetUnits__(),this.set_offset__(),this.set_sizeUnits__(),this.set_size__(),this.set_scaleMode__()},set_align__(){this._align.length>0?"LEFT"===this._align[0]?this.alignX=R:"RIGHT"===this._align[0]?this.alignX=A:this.alignX=V:this.alignX=V,this._align.length>1?"BOTTOM"===this._align[1]?this.alignY=j:"TOP"===this._align[1]?this.alignY=k:this.alignY=V:this.alignY=V},set_offsetUnits__(){this._offsetUnits.length>0?("FRACTION"===this._offsetUnits[0]?this.offsetUnitX=W:"PIXEL"===this._offsetUnits[0]?this.offsetUnitX=H:this.offsetUnitX=G,this._offsetUnits.length>1?"FRACTION"===this._offsetUnits[1]?this.offsetUnitY=W:"PIXEL"===this._offsetUnits[1]?this.offsetUnitY=H:this.offsetUnitY=G:this.offsetUnitY=this.offsetUnitX):(this.offsetUnitX=G,this.offsetUnitY=G)},set_offset__(){this._offset.length>0?(this.offsetX=this._offset[0],this._offset.length>1?this.offsetY=this._offset[1]:this.offsetY=offsetX):(this.offsetX=0,this.offsetY=0)},set_sizeUnits__(){this._sizeUnits.length>0?("FRACTION"===this._sizeUnits[0]?this.sizeUnitX=W:"PIXEL"===this._sizeUnits[0]?this.sizeUnitX=H:this.sizeUnitX=G,this._sizeUnits.length>1?"FRACTION"===this._sizeUnits[1]?this.sizeUnitY=W:"PIXEL"===this._sizeUnits[1]?this.sizeUnitY=H:this.sizeUnitY=G:this.sizeUnitY=this.sizeUnitX):(this.sizeUnitX=G,this.sizeUnitY=G)},set_size__(){this._size.length>0?(this.sizeX=this._size[0],this._size.length>1?this.sizeY=this._size[1]:this.sizeY=this.sizeX):(this.sizeX=0,this.sizeY=0)},set_scaleMode__(){this._scaleMode.length>0?("FRACTION"===this._scaleMode[0]?this.scaleModeX=W:"PIXEL"===this._scaleMode[0]?this.scaleModeX=H:"STRETCH"===this._scaleMode[0]?this.scaleModeX=K:this.scaleModeX=q,this._scaleMode.length>1?"FRACTION"===this._scaleMode[1]?this.scaleModeY=W:"PIXEL"===this._scaleMode[1]?this.scaleModeY=H:"STRETCH"===this._scaleMode[1]?this.scaleModeY=K:this.scaleModeY=q:this.scaleModeY=this.scaleModeX):(this.scaleModeX=q,this.scaleModeY=q)},getRectangleCenter(){return this.rectangleCenter},getRectangleSize(){return this.rectangleSize},getAlignX(){return this.alignX},getAlignY(){return this.alignY},getOffsetUnitX(){return this.offsetUnitX===G?this.parent?this.parent.getOffsetUnitX():W:this.offsetUnitX},getOffsetUnitY(){return this.offsetUnitY===G?this.parent?this.parent.getOffsetUnitY():W:this.offsetUnitY},getOffsetX(){return this.offsetX},getOffsetY(){return this.offsetY},getSizeUnitX(){return this.sizeUnitX===G?this.parent?this.parent.getSizeUnitX():W:this.sizeUnitX},getSizeUnitY(){return this.sizeUnitY===G?this.parent?this.parent.getSizeUnitY():W:this.sizeUnitY},getSizeX(){return this.sizeX},getSizeY(){return this.sizeY},getScaleModeX(){return this.parent?this.scaleModeX:this.scaleModeX===q?W:this.scaleModeX},getScaleModeY(){return this.parent?this.scaleModeY:this.scaleModeY===q?W:this.scaleModeY},transform(t,e){const i=this.parent=e.getParentLayout(),s=this.getBrowser().getRenderingProperty("ContentScale"),n=this.matrix,o=e.getViewpoint(),r=e.getNavigationInfo().getNearValue(),a=e.getViewVolume().getScissor(),h=o.getViewportSize(a,r),l=this.viewportPixel,u=this.pixelSize,c=i?i.getRectangleSize():h,d=this.rectangleSize,p=this.rectangleCenter;switch(l.set(a[2],a[3]).divide(s),u.assign(h).divVec(l),this.getSizeUnitX()){case W:d.x=this.sizeX*c.x;break;case H:d.x=this.sizeX*u.x}switch(this.getSizeUnitY()){case W:d.y=this.sizeY*c.y;break;case H:d.y=this.sizeY*u.y}const g=this.translation.set(0,0,0);switch(this.getAlignX()){case R:g.x=-(c.x-d.x)/2;break;case V:this.getSizeUnitX()===H&&1&l.x&&(g.x=-u.x/2);break;case A:g.x=(c.x-d.x)/2}switch(this.getAlignY()){case j:g.y=-(c.y-d.y)/2;break;case V:this.getSizeUnitX()===H&&1&l.y&&(g.y=-u.y/2);break;case k:g.y=(c.y-d.y)/2}const y=this.offset.set(0,0,0);switch(this.getOffsetUnitX()){case W:y.x=this.offsetX*c.x;break;case H:y.x=this.offsetX*h.x/l.x}switch(this.getOffsetUnitY()){case W:y.y=this.offsetY*c.y;break;case H:y.y=this.offsetY*h.y/l.y}const f=this.scale.set(1,1,1),x=this.currentTranslation,w=this.currentRotation,_=this.currentScale;switch(e.getModelViewMatrix().get().get(x,w,_),this.getScaleModeX()){case q:f.x=_.x;break;case W:f.x=d.x;break;case K:break;case H:f.x=h.x/l.x}switch(this.getScaleModeY()){case q:f.y=_.y;break;case W:f.y=d.y;break;case K:break;case H:f.y=h.y/l.y}return this.getScaleModeX()===K?this.getScaleModeY()===K?d.x>d.y?(f.x=d.x,f.y=f.x):(f.y=d.y,f.x=f.y):f.x=f.y:this.getScaleModeY()===K&&(f.y=f.x),p.assign(g.add(y)),n.set(x,w),n.translate(g),n.scale(f),n}}),Object.defineProperties(Z,{...b().getStaticProperties("Layout","Layout",1,"layout","3.2"),fieldDefinitions:{value:new(v())([new(z())(T().inputOutput,"metadata",new(M().SFNode)),new(z())(T().inputOutput,"align",new(M().MFString)("CENTER","CENTER")),new(z())(T().inputOutput,"offsetUnits",new(M().MFString)("WORLD","WORLD")),new(z())(T().inputOutput,"offset",new(M().MFFloat)(0,0)),new(z())(T().inputOutput,"sizeUnits",new(M().MFString)("WORLD","WORLD")),new(z())(T().inputOutput,"size",new(M().MFFloat)(1,1)),new(z())(T().inputOutput,"scaleMode",new(M().MFString)("NONE","NONE"))]),enumerable:!0}});const Q=Z,J=y().add("Layout",Q),$=t.X3DGroupingNode;var tt=s.n($);const et=t.X3DCast;var it=s.n(et);const st=t.TraverseType;var nt=s.n(st);function ot(t){tt().call(this,t),this.addType(T().LayoutGroup),this.viewportNode=null,this.layoutNode=null,this.matrix=new(c()),this.modelViewMatrix=new(c()),this.screenMatrix=new(c())}Object.assign(Object.setPrototypeOf(ot.prototype,tt().prototype),{initialize(){tt().prototype.initialize.call(this),this._viewport.addInterest("set_viewport__",this),this._layout.addInterest("set_layout__",this),this.set_viewport__(),this.set_layout__()},set_viewport__(){this.viewportNode=it()(T().X3DViewportNode,this._viewport)},set_layout__(){this.layoutNode=it()(T().X3DLayoutNode,this._layout)},getBBox(t,e){return tt().prototype.getBBox.call(this,t,e).multRight(this.getMatrix())},getMatrix(){return this.layoutNode?this.matrix.assign(this.modelViewMatrix).inverse().multLeft(this.screenMatrix):this.matrix.identity()},getLayout(){return this.layoutNode},traverse(t,e){if(t!==nt().COLLISION){if(this.viewportNode&&this.viewportNode.push(),this.layoutNode){const i=e.getModelViewMatrix();this.modelViewMatrix.assign(i.get()),this.screenMatrix.assign(this.layoutNode.transform(t,e)),i.pushMatrix(this.screenMatrix),e.getLayouts().push(this.layoutNode),tt().prototype.traverse.call(this,t,e),e.getLayouts().pop(),i.pop()}else tt().prototype.traverse.call(this,t,e);this.viewportNode&&this.viewportNode.pop()}}}),Object.defineProperties(ot,{...b().getStaticProperties("LayoutGroup","Layout",1,"children","3.2"),fieldDefinitions:{value:new(v())([new(z())(T().inputOutput,"metadata",new(M().SFNode)),new(z())(T().inputOutput,"layout",new(M().SFNode)),new(z())(T().inputOutput,"viewport",new(M().SFNode)),new(z())(T().inputOutput,"visible",new(M().SFBool)(!0)),new(z())(T().inputOutput,"bboxDisplay",new(M().SFBool)),new(z())(T().initializeOnly,"bboxSize",new(M().SFVec3f)(-1,-1,-1)),new(z())(T().initializeOnly,"bboxCenter",new(M().SFVec3f)),new(z())(T().inputOnly,"addChildren",new(M().MFNode)),new(z())(T().inputOnly,"removeChildren",new(M().MFNode)),new(z())(T().inputOutput,"children",new(M().MFNode))]),enumerable:!0}});const rt=ot,at=y().add("LayoutGroup",rt),ht=t.X3DLayerNode;var lt=s.n(ht);const ut=t.OrthoViewpoint;var ct=s.n(ut);function dt(t){lt().call(this,t,new(ct())(t),new at(t)),this.addType(T().LayoutLayer)}Object.assign(Object.setPrototypeOf(dt.prototype,lt().prototype),{initialize(){lt().prototype.initialize.call(this);const t=this.getGroups()._children[0].getValue();this._layout.addFieldInterest(t._layout),this._addChildren.addFieldInterest(t._addChildren),this._removeChildren.addFieldInterest(t._removeChildren),this._children.addFieldInterest(t._children),t._layout=this._layout,t._children=this._children,t.setPrivate(!0),t.setup(),this.getGroups().setup()}}),Object.defineProperties(dt,{...b().getStaticProperties("LayoutLayer","Layout",1,"layers","3.2"),fieldDefinitions:{value:new(v())([new(z())(T().inputOutput,"metadata",new(M().SFNode)),new(z())(T().inputOutput,"pickable",new(M().SFBool)(!0)),new(z())(T().inputOutput,"objectType",new(M().MFString)("ALL")),new(z())(T().inputOutput,"visible",new(M().SFBool)(!0)),new(z())(T().inputOutput,"layout",new(M().SFNode)),new(z())(T().inputOutput,"viewport",new(M().SFNode)),new(z())(T().inputOnly,"addChildren",new(M().MFNode)),new(z())(T().inputOnly,"removeChildren",new(M().MFNode)),new(z())(T().inputOutput,"children",new(M().MFNode))]),enumerable:!0}});const pt=dt,gt=y().add("LayoutLayer",pt),yt=t.X3DFontStyleNode;var ft=s.n(yt);const xt=t.X3DTextGeometry;var wt=s.n(xt);const _t=t.TextAlignment;var St=s.n(_t);const Mt=t.PixelTexture;var Ot=s.n(Mt);const zt=t.Box3;var mt=s.n(zt);const vt=t.Algorithm;var Xt=s.n(vt),bt=s(254);function Nt(t,e){wt().call(this,t,e),t.setTransparent(!0),this.textureNode=new(Ot())(t.getExecutionContext()),this.canvas=bt(""),this.context=this.canvas[0].getContext("2d",{willReadFrequently:!0}),this.matrix=new(c()),this.textureNode._textureProperties=e.getBrowser().getScreenTextureProperties(),this.textureNode.setup()}Object.assign(Object.setPrototypeOf(Nt.prototype,wt().prototype),{modelViewMatrix:new(c()),isTransparent:()=>!0,getMatrix(){return this.matrix},update:(()=>{const t=new(l()),e=new(l())(1,1,0);return function(){wt().prototype.update.call(this);const i=this.getFontStyle(),s=this.getText();switch(s._textBounds.x=Math.ceil(s._textBounds.x)+1,s._textBounds.y=Math.ceil(s._textBounds.y)+1,this.getBBox().getExtents(t,e),t.x-=1,t.y-=1,i.getMajorAlignment()){case St().BEGIN:case St().FIRST:t.x=Math.floor(t.x),e.x=t.x+s._textBounds.x;break;case St().MIDDLE:t.x=Math.round(t.x),e.x=t.x+s._textBounds.x;break;case St().END:e.x=Math.ceil(e.x),t.x=e.x-s._textBounds.x}switch(i.getMinorAlignment()){case St().BEGIN:case St().FIRST:e.y=Math.ceil(e.y),t.y=e.y-s._textBounds.y;break;case St().MIDDLE:e.y=Math.round(e.y),t.y=e.y-s._textBounds.y;break;case St().END:t.y=Math.floor(t.y),e.y=t.y+s._textBounds.y}s._origin.x=t.x,s._origin.y=e.y,this.getBBox().setExtents(t,e)}})(),build:(()=>{const t=new(l()),e=new(l())(1,1,0);return function(){const i=this.getFontStyle(),s=i.getFont();if(!s)return;const n=this.getText(),o=this.getGlyphs(),r=this.getMinorAlignment(),a=this.getTranslations(),h=this.getCharSpacings(),l=this.getScales(),u=i.getScale(),c=u/s.unitsPerEm,d=n.getTexCoords(),p=n.getNormals(),g=n.getVertices(),y=this.canvas[0],f=this.context;n.getMultiTexCoords().push(d),this.getBBox().getExtents(t,e),p.push(0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1),g.push(t.x,t.y,0,1,e.x,t.y,0,1,e.x,e.y,0,1,t.x,t.y,0,1,e.x,e.y,0,1,t.x,e.y,0,1);const x=n._textBounds.x,w=n._textBounds.y;y.width=Xt().nextPowerOfTwo(x),y.height=Xt().nextPowerOfTwo(w);const _=x/y.width,S=1-w/y.height;if(d.push(0,S,0,1,_,S,0,1,_,1,0,1,0,S,0,1,_,1,0,1,0,1,0,1),f.fillStyle="rgba(255,255,255,0)",f.fillRect(0,0,y.width,y.height),f.fillStyle="rgba(255,255,255,1)",f.save(),f.translate(0,y.height),f.scale(1,-1),i._horizontal.getValue())for(let i=0,n=o.length;i{const t=new(mt());return function(e,i){this.getBrowser().getScreenScaleMatrix(i,this.matrix,1,!0),t.assign(this.getBBox()).multRight(this.matrix),this.getText().setBBox(t)}})(),display(t,e){c().prototype.multLeft.call(e.modelViewMatrix,this.matrix),e.textureNode=this.textureNode},transformLine:(()=>{const t=new(c());return function(e){return e.multLineMatrix(t.assign(this.matrix).inverse())}})(),transformMatrix(t){return t.multLeft(this.matrix)}});const Ft=Nt,Ut=y().add("ScreenText",Ft);function Tt(t){ft().call(this,t),this.addType(T().ScreenFontStyle)}Object.assign(Object.setPrototypeOf(Tt.prototype,ft().prototype),{initialize(){ft().prototype.initialize.call(this),this.getBrowser().getRenderingProperties()._ContentScale.addInterest("addNodeEvent",this)},getTextGeometry(t){return new Ut(t,this)},getScale(){return this._pointSize.getValue()*this.getBrowser().getPixelsPerPoint()}}),Object.defineProperties(Tt,{...b().getStaticProperties("ScreenFontStyle","Layout",2,"fontStyle","3.2"),fieldDefinitions:{value:new(v())([new(z())(T().inputOutput,"metadata",new(M().SFNode)),new(z())(T().inputOutput,"language",new(M().SFString)),new(z())(T().inputOutput,"family",new(M().MFString)("SERIF")),new(z())(T().inputOutput,"style",new(M().SFString)("PLAIN")),new(z())(T().inputOutput,"pointSize",new(M().SFFloat)(12)),new(z())(T().inputOutput,"spacing",new(M().SFFloat)(1)),new(z())(T().inputOutput,"horizontal",new(M().SFBool)(!0)),new(z())(T().inputOutput,"leftToRight",new(M().SFBool)(!0)),new(z())(T().inputOutput,"topToBottom",new(M().SFBool)(!0)),new(z())(T().inputOutput,"justify",new(M().MFString)("BEGIN"))]),enumerable:!0}});const Pt=Tt,Lt=y().add("ScreenFontStyle",Pt),Yt=t.X3DProtoDeclaration;var Bt=s.n(Yt);function Ct(t){tt().call(this,t),this.addType(T().ScreenGroup),t.getOuterNode()instanceof Bt()?this.matrix=new(c()):this.matrix=new(c())(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}Object.assign(Object.setPrototypeOf(Ct.prototype,tt().prototype),{getBBox(t,e){return this.getSubBBox(t,e).multRight(this.matrix)},getMatrix(){return this.matrix},traverse(t,e){switch(t){case nt().CAMERA:case nt().PICKING:case nt().SHADOW:break;default:{const t=this.getBrowser();t.getScreenScaleMatrix(e,this.matrix,t.getRenderingProperty("ContentScale"),!1);break}}const i=e.getModelViewMatrix();i.push(),i.multLeft(this.matrix),tt().prototype.traverse.call(this,t,e),i.pop()}}),Object.defineProperties(Ct,{...b().getStaticProperties("ScreenGroup","Layout",2,"children","3.2"),fieldDefinitions:{value:new(v())([new(z())(T().inputOutput,"metadata",new(M().SFNode)),new(z())(T().inputOutput,"visible",new(M().SFBool)(!0)),new(z())(T().inputOutput,"bboxDisplay",new(M().SFBool)),new(z())(T().initializeOnly,"bboxSize",new(M().SFVec3f)(-1,-1,-1)),new(z())(T().initializeOnly,"bboxCenter",new(M().SFVec3f)),new(z())(T().inputOnly,"addChildren",new(M().MFNode)),new(z())(T().inputOnly,"removeChildren",new(M().MFNode)),new(z())(T().inputOutput,"children",new(M().MFNode))]),enumerable:!0}});const Et=Ct,Dt=y().add("ScreenGroup",Et);o().add({name:"Layout",concreteNodes:[J,at,gt,Lt,Dt],abstractNodes:[Y],browserContext:_});y().add("LayoutComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/NURBSComponent.js b/dist/assets/components/NURBSComponent.js index 57edbd410d..2adaed86fb 100644 --- a/dist/assets/components/NURBSComponent.js +++ b/dist/assets/components/NURBSComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope diff --git a/dist/assets/components/NURBSComponent.min.js b/dist/assets/components/NURBSComponent.min.js index 68fdbccec3..6b8792e229 100644 --- a/dist/assets/components/NURBSComponent.min.js +++ b/dist/assets/components/NURBSComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const t=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var e={n:t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return e.d(i,{a:i}),i},d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const i=t.Components;var n=e.n(i);const o=t.Fields;var s=e.n(o);const r=t.X3DFieldDefinition;var l=e.n(r);const h=t.FieldDefinitionArray;var a=e.n(h);const u=t.X3DNode;var d=e.n(u);const c=t.X3DConstants;var g=e.n(c);const p=t.X3DCast;var _=e.n(p);const f=t.Namespace;var m=e.n(f);function w(t){d().call(this,t),this.addType(g().Contour2D),this.childNodes=[]}function v(t,e){const i=new Set(e);return t.filter((t=>!i.has(t)))}Object.assign(Object.setPrototypeOf(w.prototype,d().prototype),{initialize(){d().prototype.initialize.call(this),this._addChildren.addInterest("set_addChildren__",this),this._removeChildren.addInterest("set_removeChildren__",this),this._children.addInterest("set_children__",this),this.set_children__()},set_addChildren__(){this._addChildren.setTainted(!0),this._addChildren.assign(v(this._addChildren,this._children));for(const t of this._addChildren)this._children.push(t);this._addChildren.length=0,this._addChildren.setTainted(!1)},set_removeChildren__(){this._removeChildren.setTainted(!0),this._children.assign(v(this._children,this._removeChildren)),this._removeChildren.length=0,this._removeChildren.setTainted(!1)},set_children__(){const t=this.childNodes;t.length=0;for(const e of this._children){const i=_()(g().NurbsCurve2D,e);if(i)t.push(i);else{const i=_()(g().ContourPolyline2D,e);if(i){t.push(i);continue}}}},addTrimmingContour(t){for(const e of this.childNodes)t.push(e.tessellate(2))}}),Object.defineProperties(w,{...d().getStaticProperties("Contour2D","NURBS",4,"trimmingContour","3.0"),fieldDefinitions:{value:new(a())([new(l())(g().inputOutput,"metadata",new(s().SFNode)),new(l())(g().inputOnly,"addChildren",new(s().MFNode)),new(l())(g().inputOnly,"removeChildren",new(s().MFNode)),new(l())(g().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const y=w,b=m().add("Contour2D",y);function C(t){d().call(this,t),this.addType(g().X3DNurbsControlCurveNode)}Object.setPrototypeOf(C.prototype,d().prototype),Object.defineProperties(C,d().getStaticProperties("X3DNurbsControlCurveNode","NURBS",1));const O=C,N=m().add("X3DNurbsControlCurveNode",O),P=t.Vector3;var S=e.n(P);function D(t){N.call(this,t),this.addType(g().ContourPolyline2D),this.controlPoints=[]}Object.assign(Object.setPrototypeOf(D.prototype,N.prototype),{tessellate(t){switch(t){case 0:{const t=this._controlPoint.getValue(),e=this.controlPoints,i=this._controlPoint.length;for(let n=0;nt>0?t+1:t<0?-t*e+1:2*e+1,getClosed2D(t,e,i,n){const o=n.length;return(!(i.length===o)||i[0]===i[o-1])&&(!!n[0].equals(n[o-1])&&!!this.isPeriodic(t,o,e))},getClosed:(()=>{const t=new(S()),e=new(S());return function(i,n,o,s){const r=s.getSize();return(!(o.length===r)||o[0]===o[r-1])&&(!!s.get1Point(0,t).equals(s.get1Point(r-1,e))&&!!this.isPeriodic(i,r,n))}})(),getUClosed:(()=>{const t=new(S()),e=new(S());return function(i,n,o,s,r,l){const h=r.length===l.getSize();for(let i=0,s=o;i{const t=new(S()),e=new(S());return function(i,n,o,s,r,l){const h=r.length===l.getSize();for(let i=0,s=n;ii-1&&(r=!0),s[e-1]>s[e]&&(r=!0)}if(r)for(let t=0,e=n+i;tA.getKnots(t,e,i,n,o)}),Object.defineProperties(B,d().getStaticProperties("X3DParametricGeometryNode","NURBS",1));const K=B,M=m().add("X3DParametricGeometryNode",K),E=t.X3DLineGeometryNode;var U=e.n(E);const W=m().add("is-ndarray",(function(t){return!!t&&(!!t.dtype&&new RegExp("function View[0-9]+d(:?"+t.dtype+")+").test(String(t.constructor)))})),q=m().add("is-ndarray-like",(function(t){return!!t&&(void 0!==t.data&&Array.isArray(t.shape)&&void 0!==t.offset&&void 0!==t.stride)})),G=m().add("is-array-like",(function(t){return Array.isArray(t)||ArrayBuffer.isView(t)||void 0!==t.length}));function Y(t){if(t){if(W(t)||q(t))return"generic"===t.dtype?Y.GENERIC_NDARRAY:Y.NDARRAY;if(G(t)){for(var e=t;G(e[0]);e=e[0]);return"x"in e?Y.ARRAY_OF_OBJECTS:Y.ARRAY_OF_ARRAYS}throw new Error("Unhandled data type. Got type: "+typeof t)}}Y.ARRAY_OF_OBJECTS="Obj",Y.ARRAY_OF_ARRAYS="Arr",Y.NDARRAY="Nd",Y.GENERIC_NDARRAY="GenNd",Y.PACKED="PackArr";const X=Y,J=m().add("infer-type",X);const L=m().add("cache-key",(function(t,e,i,n,o,s){var r,l,h=[],a=!1;for(r=0;rvoid 0!==t&&0!==t))).length&&t.push(0),t.join(" + ")};const H=Z,Q=m().add("variable",H);var $=[".x",".y",".z",".w"];function tt(t){return function(e,i){void 0===e||Array.isArray(e)||(e=[e]);for(var n=[],o=0;o{var i=e.pop();return t+"["+e.join("][")+"]"+$[i]}));case J.ARRAY_OF_ARRAYS:return tt((e=>t+"["+e.join("][")+"]"));case J.GENERIC_NDARRAY:return tt((e=>t+".get("+e.join(",")+")"));case J.NDARRAY:return tt((e=>{for(var i=[t+"Offset"],n=0;n=0;n--){if(o[n]!==(Array.isArray(t[n])?t[n][1]:t[n])-1){o[n]++;break}o[n]=Array.isArray(t[n])?t[n][0]:0}})),lt=m().add("accessor-preamble",(function(t,e,i,n){var o=[];switch(J(n)){case J.NDARRAY:o.push(" var "+e+" = "+i+".data;"),o.push(" var "+e+"Offset = "+i+".offset;");for(var s=0;s1)throw new Error("Analytical derivative not implemented for rational b-splines with order n = "+b+".")}s&&(t="Basis"+t),r&&(t="Der"+r.join("_")+"_"+t);var C=at[t];if(n)var O="function"==typeof n?n:console.log;if(C)return n&&O(ut[t]),C.bind(e);var N=[],P="evaluate"+t,S=i.point;s&&(S=function(t,e){for(var i=[],n=0;n "+I+"[i][1] || a === undefined || isNaN(a)) {"),B(' throw new Error("Invalid Spline parameter in dimension "+i+". Valid domain is ["+'+I+'[i][0]+", "+'+I+'[i][1]+"]. but got t"+i+" = "+arguments[i + 1]+".");'),B(" }"),B("}")),d=0;d "+k(d)+" + 1) {"),B(" m = 0.5 * (h + "+k(d)+") | 0;"),B(" if ("+F([d,"m"])+" > "+j(d)+") h = m;"),B(" else "+k(d)+" = m;"),B("}"),K("\n // Fetch knots for dimension "+d+"\n"),l=1-_[d];l<=_[d];l++)"closed"===y[d]?B(l<0?"var "+V([d,l+_[d]-1])+" = "+U(k(d)+" < "+-l,F([d,0])+" + "+F([d,[x(d),k(d),l]])+" - "+F([d,[x(d)]]),F([d,[k(d),l]]))+";":l>0?"var "+V([d,l+_[d]-1])+" = "+U(k(d)+" + "+l+" > "+x(d),F([d,x(d)])+" + "+F([d,l+" + "+k(d)+" - "+x(d)])+" - "+F([d,0]),F([d,[k(d),l]]))+";":"var "+V([d,l+_[d]-1])+" = "+F([d,[k(d),l]])+";"):B("var "+V([d,l+_[d]-1])+" = "+F([d,[k(d),l]])+";");else{for(K("\n // Directly compute knot interval for dimension "+d+"\n"),"closed"===y[d]?B(k(d)+" = ("+j(d)+" | 0) % "+x(d)+";"):(B(k(d)+" = ("+j(d)+" | 0);"),B("if ("+k(d)+" < "+_[d]+") "+k(d)+" = "+_[d]+";"),B("if ("+k(d)+" > "+x(d)+" - 1) "+k(d)+" = "+x(d)+" - 1;")),K("\n // Compute and clamp knots for dimension "+d+"\n"),l=1-_[d];l<=_[d];l++)B("var "+(c=V([d,l+_[d]-1]))+" = "+k(d)+" + "+l+";");if("clamped"===y[d])for(l=1-_[d];l<=_[d];l++)c=V([d,l+_[d]-1]),l<0&&B("if ("+c+" < "+_[d]+") "+c+" = "+_[d]+";"),l>0&&B("if ("+c+" > "+x(d)+") "+c+" = "+x(d)+";");"closed"===y[d]&&(K("\n // Wrap the B-Spline parameter for closed boundary"),B(j(d)+" %= "+x(d)+";"))}for(d=0,a=[];d=0;d--)for(a[d]=[_[d],_[d]+1],l=0;l<_[d];l++)for(K("\n // Degree "+_[d]+" evaluation in dimension "+d+", step "+(l+1)+"\n"),h=_[d];h>l;h--){var q=r&&_[d]-l-r[d]<=0;q?(B("m = 1 / ("+V([d,h-l+_[d]-1])+" - "+V([d,h-1])+");"),m&&(B("a = ("+j(d)+" - "+V([d,h-1])+") * m;"),B("b = 1 - a;"))):(B("a = ("+j(d)+" - "+V([d,h-1])+") / ("+V([d,h-l+_[d]-1])+" - "+V([d,h-1])+");"),B("b = 1 - a;")),m&&rt(a,(function(t){var e=t.slice(),i=t.slice();e[d]=h,i[d]=h-1,q&&m&&B("h = "+T(e)+";"),B(T(e)+" = b * "+T(i)+" + a * "+T(e)+";")})),rt(a,(function(t){var e,i,n,o=t.slice(),r=t.slice();if(o[d]=h,r[d]=h-1,q){var a=l+1;if(s)e=m?"h * "+T(r)+" / "+T(o)+" * ":"",i=R(o)+(m?" / h":""),n=R(r)+(m?" / "+T(r):""),B(R(o)+" = "+a+" * "+e+"("+i+" - "+n+") * m;");else{var c=o.slice(),p=r.slice();for(u=0;u= 0; "+r+"--) {");for(o=0;o=0;o--)g.push("}");g.push("return this;"),g.push("}");var f=new Function([g.join("\n"),"; return ",p].join(""))();return n&&console.log(g.join("\n")),ct[t]=f,f.bind(e)}));var pt={};const _t=m().add("support",(function(t,e,i,n,o){var s=pt[t];if(s)return s.bind(e);var r,l,h,a=e.degree,u=e.knots,d=e.splineDimension,c=e.boundary,g=[],p="support"+t,_=i.knot,f=Q("t"),m=n?"domain":"d",w=Q(n?"size":"s"),v=Q(n?"knotIndex":"i"),y=!0;for(h=0;h "+m+"[i][1] || a === undefined || isNaN(a)) {"),b(' throw new Error("Invalid Spline parameter in dimension "+i+". Valid domain is ["+'+m+'[i][0]+", "+'+m+'[i][1]+"]. but got t"+i+" = "+arguments[i + 1]+".");'),b(" }"),b("}")),h=0;h "+v(h)+" + 1) {"),b(" m = 0.5 * (h + "+v(h)+") | 0;"),b(" if ("+_([h,"m"])+" > "+f(h)+") h = m;"),b(" else "+v(h)+" = m;"),b("}")):"closed"===c[h]?b(v(h)+" = ("+f(h)+" | 0) % "+w(h)+";"):(b(v(h)+" = ("+f(h)+" | 0);"),b("if ("+v(h)+" < "+a[h]+") "+v(h)+" = "+a[h]+";"),b("if ("+v(h)+" > "+w(h)+" - 1) "+v(h)+" = "+w(h)+" - 1;"));for(h=0,l=[];h0&&!G(this.knots[0])&&(this.knots=[this.knots]),r=0;rA.getWeights(t,e,i),getControlPoints:(t,e,i,n,o)=>A.getControlPoints(t,e,i,n,o),tessellate(){if(this._order.getValue()<2)return[];if(!this.controlPointNode)return[];if(this.controlPointNode.getSize()A.getKnots(t,e,i,n,o),getWeights:(t,e,i)=>A.getWeights(t,e,i),getControlPoints:(t,e,i,n,o)=>A.getControlPoints2D(t,e,i,n,o),tessellate(t){const e=this.array;if(e.length=0,this._order.getValue()<2)return e;if(this._controlPoint.length!1,getKnots:(t,e,i,n,o)=>A.getKnots(t,e,i,n,o),getWeights:(t,e,i)=>A.getWeights(t,e,i),getControlPoints:(t,e,i,n,o)=>A.getControlPoints(t,e,i,n,o),requestRebuild(){this._rebuild.addEvent()},build(){if(this._order.getValue()<2)return;if(!this.controlPointNode)return;if(this.controlPointNode.getSize()A.getUVWeights(t,e,i,n),getTexControlPoints:(t,e,i,n,o,s,r,l)=>A.getTexControlPoints(t,e,i,n,o,s,r,l),getUVControlPoints:(t,e,i,n,o,s,r,l,h)=>A.getUVControlPoints(t,e,i,n,o,s,r,l,h),getTrimmingContours(){},build(){if(this._uOrder.getValue()<2)return;if(this._vOrder.getValue()<2)return;if(this._uDimension.getValue(){const t=[],e=[],i=[[[0,0,0,1],[0,1,0,1]],[[1,0,0,1],[1,1,0,1]]];function n(t,e){return t[0]=t[1]=e[0],t[2]=t[3]=e.at(-1),t}return function(o,s,r,l,h,a,u,d,c){const g=this.sampleOptions;if(this.texCoordNode&&this.texCoordNode.getSize()===u*d)var p=r-1,_=l-1,f=h,m=a,w=this.getTexControlPoints(this.texControlPoints,o,s,r,l,u,d,this.texCoordNode);else if(this.nurbsTexCoordNode&&this.nurbsTexCoordNode.isValid()){var v=this.nurbsTexCoordNode,y=(p=v._uOrder.getValue()-1,_=v._vOrder.getValue()-1,f=this.getKnots(this.texUKnots,!1,v._uOrder.getValue(),v._uDimension.getValue(),v._uKnot),m=this.getKnots(this.texVKnots,!1,v._vOrder.getValue(),v._vDimension.getValue(),v._vKnot),this.getUVWeights(this.texWeights,v._uDimension.getValue(),v._vDimension.getValue(),v._weight));w=v.getControlPoints(y)}else{p=1,_=1,f=n(t,h),m=n(e,a),w=i;g.domain=c}const b=this.texSurface=(this.texSurface||Nt)({boundary:["open","open"],degree:[p,_],knots:[f,m],points:w});g.closed[0]=!1,g.closed[1]=!1,g.haveWeights=!1;const C=Nt.sample(this.texMesh,b,g),O=C.faces,N=C.points,P=this.getTexCoords();for(let t=0,e=O.length;t{const t=new(S()),e=new(S()),i=new(S());return function(n,o){const s=this.faceNormals||[],r=n.length;for(let l=0;l!1,getKnots:(t,e,i,n,o)=>A.getKnots(t,e,i,n,o),getWeights:(t,e,i)=>A.getWeights(t,e,i),getControlPoints:(t,e,i,n,o)=>A.getControlPoints(t,e,i,n,o),requestRebuild(){this._rebuild.addEvent()},build(){if(this._order.getValue()<2)return;if(!this.controlPointNode)return;if(this.controlPointNode.getSize()!i.has(t)))}Object.assign(Object.setPrototypeOf(ne.prototype,zt().prototype),ie().prototype,{initialize(){zt().prototype.initialize.call(this),ie().prototype.initialize.call(this),this._tessellationScale.addInterest("set_tessellationScale__",this),this._addGeometry.addInterest("set_addGeometry__",this),this._removeGeometry.addInterest("set_removeGeometry__",this),this._geometry.addInterest("set_geometry__",this),this.set_geometry__()},getBBox(t,e){for(const e of this.geometryNodes)t.add(e.getBBox());return t},set_tessellationScale__(){const t=Math.max(0,this._tessellationScale.getValue());for(const e of this.geometryNodes)e.setTessellationScale(t)},set_addGeometry__(){this._addGeometry.setTainted(!0),this._addGeometry.assign(oe(this._addGeometry,this._geometry));for(const t of this._addGeometry)this._geometry.push(t);this._addGeometry.length=0,this._addGeometry.setTainted(!1)},set_removeGeometry__(){this._removeGeometry.setTainted(!0),this._geometry.assign(oe(this._geometry,this._removeGeometry)),this._removeGeometry.length=0,this._removeGeometry.setTainted(!1)},set_geometry__(){for(const t of this.geometryNodes)t.setTessellationScale(1);this.geometryNodes.length=0;for(const t of this._geometry){const e=_()(g().X3DNurbsSurfaceGeometryNode,t);e&&this.geometryNodes.push(e)}this.set_tessellationScale__()},dispose(){ie().prototype.dispose.call(this),zt().prototype.dispose.call(this)}}),Object.defineProperties(ne,{...d().getStaticProperties("NurbsSet","NURBS",2,"children","3.0"),fieldDefinitions:{value:new(a())([new(l())(g().inputOutput,"metadata",new(s().SFNode)),new(l())(g().inputOutput,"tessellationScale",new(s().SFFloat)(1)),new(l())(g().inputOutput,"visible",new(s().SFBool)(!0)),new(l())(g().inputOutput,"bboxDisplay",new(s().SFBool)),new(l())(g().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(l())(g().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(l())(g().inputOnly,"addGeometry",new(s().MFNode)),new(l())(g().inputOnly,"removeGeometry",new(s().MFNode)),new(l())(g().inputOutput,"geometry",new(s().MFNode))]),enumerable:!0}});const se=ne,re=m().add("NurbsSet",se),le=t.Line3;var he=e.n(le);const ae={isPointInTriangle(t,e,i,n){const o=(e.y-i.y)*(t.x-i.x)+(i.x-e.x)*(t.y-i.y);if(0==o)return!1;const s=((e.y-i.y)*(n.x-i.x)+(i.x-e.x)*(n.y-i.y))/o;if(s<0||s>1)return!1;const r=((i.y-t.y)*(n.x-i.x)+(t.x-i.x)*(n.y-i.y))/o;if(r<0||r>1)return!1;const l=1-s-r;return!(l<0||l>1)}},ue=m().add("Triangle2",ae);function de(t){zt().call(this,t),this.addType(g().NurbsSurfaceInterpolator),this.geometry=new Lt(t)}Object.assign(Object.setPrototypeOf(de.prototype,zt().prototype),{initialize(){this._set_fraction.addInterest("set_fraction__",this),this._uOrder.addFieldInterest(this.geometry._uOrder),this._vOrder.addFieldInterest(this.geometry._vOrder),this._uDimension.addFieldInterest(this.geometry._uDimension),this._vDimension.addFieldInterest(this.geometry._vDimension),this._uKnot.addFieldInterest(this.geometry._uKnot),this._vKnot.addFieldInterest(this.geometry._vKnot),this._weight.addFieldInterest(this.geometry._weight),this._controlPoint.addFieldInterest(this.geometry._controlPoint),this.geometry._uTessellation=128,this.geometry._vTessellation=128,this.geometry._uOrder=this._uOrder,this.geometry._vOrder=this._vOrder,this.geometry._uDimension=this._uDimension,this.geometry._vDimension=this._vDimension,this.geometry._uKnot=this._uKnot,this.geometry._vKnot=this._vKnot,this.geometry._weight=this._weight,this.geometry._controlPoint=this._controlPoint,this.geometry.setup()},set_fraction__:(()=>{const t=new(S()),e=new(S()),i=new(S()),n=new(S()),o=new(he())(S().Zero,S().zAxis),s={};return function(){const r=this._set_fraction.getValue(),l=this.geometry.getTexCoords(),h=this.geometry.getNormals(),a=this.geometry.getVertices();for(let u=0,d=0,c=l.length;u!i.has(t)))}Object.assign(Object.setPrototypeOf(Pe.prototype,Yt.prototype),{initialize(){Yt.prototype.initialize.call(this),this._addTrimmingContour.addInterest("set_addTrimmingContour__",this),this._removeTrimmingContour.addInterest("set_removeTrimmingContour__",this),this._trimmingContour.addInterest("set_trimmingContour__",this),this.set_trimmingContour__()},set_addTrimmingContour__(){this._addTrimmingContour.setTainted(!0),this._addTrimmingContour.assign(Se(this._addTrimmingContour,this._trimmingContour),this._addTrimmingContour.length);for(const t of this._addTrimmingContour)this._trimmingContour.push(t);this._addTrimmingContour.length=0,this._addTrimmingContour.setTainted(!1)},set_removeTrimmingContour__(){this._removeTrimmingContour.setTainted(!0),this._trimmingContour.assign(Se(this._trimmingContour,this._removeTrimmingContour)),this._removeTrimmingContour.length=0,this._removeTrimmingContour.setTainted(!1)},set_trimmingContour__(){const t=this.trimmingContourNodes;t.length=0;for(const e of this._trimmingContour){const i=_()(g().Contour2D,e);i&&t.push(i)}},getTrimmingContours(){const t=this.trimmingContourNodes,e=[];for(const i of t)i.addTrimmingContour(e);return e}}),Object.defineProperties(Pe,{...d().getStaticProperties("NurbsTrimmedSurface","NURBS",4,"geometry","3.0"),fieldDefinitions:{value:new(a())([new(l())(g().inputOutput,"metadata",new(s().SFNode)),new(l())(g().inputOutput,"uTessellation",new(s().SFInt32)),new(l())(g().inputOutput,"vTessellation",new(s().SFInt32)),new(l())(g().initializeOnly,"solid",new(s().SFBool)(!0)),new(l())(g().initializeOnly,"uClosed",new(s().SFBool)),new(l())(g().initializeOnly,"vClosed",new(s().SFBool)),new(l())(g().initializeOnly,"uOrder",new(s().SFInt32)(3)),new(l())(g().initializeOnly,"vOrder",new(s().SFInt32)(3)),new(l())(g().initializeOnly,"uDimension",new(s().SFInt32)),new(l())(g().initializeOnly,"vDimension",new(s().SFInt32)),new(l())(g().initializeOnly,"uKnot",new(s().MFDouble)),new(l())(g().initializeOnly,"vKnot",new(s().MFDouble)),new(l())(g().inputOutput,"weight",new(s().MFDouble)),new(l())(g().inputOutput,"texCoord",new(s().SFNode)),new(l())(g().inputOutput,"controlPoint",new(s().SFNode)),new(l())(g().inputOnly,"addTrimmingContour",new(s().MFNode)),new(l())(g().inputOnly,"removeTrimmingContour",new(s().MFNode)),new(l())(g().inputOutput,"trimmingContour",new(s().MFNode))]),enumerable:!0}});const De=Pe,Fe=m().add("NurbsTrimmedSurface",De);n().add({name:"NURBS",concreteNodes:[b,V,Dt,Rt,Kt,Lt,te,re,ge,we,be,Ne,Fe],abstractNodes:[N,Yt,M]});m().add("NURBSComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const t=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var e={n:t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return e.d(i,{a:i}),i},d:(t,i)=>{for(var n in i)e.o(i,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const i=t.Components;var n=e.n(i);const o=t.Fields;var s=e.n(o);const r=t.X3DFieldDefinition;var l=e.n(r);const h=t.FieldDefinitionArray;var a=e.n(h);const u=t.X3DNode;var d=e.n(u);const c=t.X3DConstants;var g=e.n(c);const p=t.X3DCast;var _=e.n(p);const f=t.Namespace;var m=e.n(f);function w(t){d().call(this,t),this.addType(g().Contour2D),this.childNodes=[]}function v(t,e){const i=new Set(e);return t.filter((t=>!i.has(t)))}Object.assign(Object.setPrototypeOf(w.prototype,d().prototype),{initialize(){d().prototype.initialize.call(this),this._addChildren.addInterest("set_addChildren__",this),this._removeChildren.addInterest("set_removeChildren__",this),this._children.addInterest("set_children__",this),this.set_children__()},set_addChildren__(){this._addChildren.setTainted(!0),this._addChildren.assign(v(this._addChildren,this._children));for(const t of this._addChildren)this._children.push(t);this._addChildren.length=0,this._addChildren.setTainted(!1)},set_removeChildren__(){this._removeChildren.setTainted(!0),this._children.assign(v(this._children,this._removeChildren)),this._removeChildren.length=0,this._removeChildren.setTainted(!1)},set_children__(){const t=this.childNodes;t.length=0;for(const e of this._children){const i=_()(g().NurbsCurve2D,e);if(i)t.push(i);else{const i=_()(g().ContourPolyline2D,e);if(i){t.push(i);continue}}}},addTrimmingContour(t){for(const e of this.childNodes)t.push(e.tessellate(2))}}),Object.defineProperties(w,{...d().getStaticProperties("Contour2D","NURBS",4,"trimmingContour","3.0"),fieldDefinitions:{value:new(a())([new(l())(g().inputOutput,"metadata",new(s().SFNode)),new(l())(g().inputOnly,"addChildren",new(s().MFNode)),new(l())(g().inputOnly,"removeChildren",new(s().MFNode)),new(l())(g().inputOutput,"children",new(s().MFNode))]),enumerable:!0}});const y=w,b=m().add("Contour2D",y);function C(t){d().call(this,t),this.addType(g().X3DNurbsControlCurveNode)}Object.setPrototypeOf(C.prototype,d().prototype),Object.defineProperties(C,d().getStaticProperties("X3DNurbsControlCurveNode","NURBS",1));const O=C,N=m().add("X3DNurbsControlCurveNode",O),P=t.Vector3;var S=e.n(P);function D(t){N.call(this,t),this.addType(g().ContourPolyline2D),this.controlPoints=[]}Object.assign(Object.setPrototypeOf(D.prototype,N.prototype),{tessellate(t){switch(t){case 0:{const t=this._controlPoint.getValue(),e=this.controlPoints,i=this._controlPoint.length;for(let n=0;nt>0?t+1:t<0?-t*e+1:2*e+1,getClosed2D(t,e,i,n){const o=n.length;return(!(i.length===o)||i[0]===i[o-1])&&(!!n[0].equals(n[o-1])&&!!this.isPeriodic(t,o,e))},getClosed:(()=>{const t=new(S()),e=new(S());return function(i,n,o,s){const r=s.getSize();return(!(o.length===r)||o[0]===o[r-1])&&(!!s.get1Point(0,t).equals(s.get1Point(r-1,e))&&!!this.isPeriodic(i,r,n))}})(),getUClosed:(()=>{const t=new(S()),e=new(S());return function(i,n,o,s,r,l){const h=r.length===l.getSize();for(let i=0,s=o;i{const t=new(S()),e=new(S());return function(i,n,o,s,r,l){const h=r.length===l.getSize();for(let i=0,s=n;ii-1&&(r=!0),s[e-1]>s[e]&&(r=!0)}if(r)for(let t=0,e=n+i;tA.getKnots(t,e,i,n,o)}),Object.defineProperties(B,d().getStaticProperties("X3DParametricGeometryNode","NURBS",1));const K=B,M=m().add("X3DParametricGeometryNode",K),E=t.X3DLineGeometryNode;var U=e.n(E);const W=m().add("is-ndarray",(function(t){return!!t&&(!!t.dtype&&new RegExp("function View[0-9]+d(:?"+t.dtype+")+").test(String(t.constructor)))})),q=m().add("is-ndarray-like",(function(t){return!!t&&(void 0!==t.data&&Array.isArray(t.shape)&&void 0!==t.offset&&void 0!==t.stride)})),G=m().add("is-array-like",(function(t){return Array.isArray(t)||ArrayBuffer.isView(t)||void 0!==t.length}));function Y(t){if(t){if(W(t)||q(t))return"generic"===t.dtype?Y.GENERIC_NDARRAY:Y.NDARRAY;if(G(t)){for(var e=t;G(e[0]);e=e[0]);return"x"in e?Y.ARRAY_OF_OBJECTS:Y.ARRAY_OF_ARRAYS}throw new Error("Unhandled data type. Got type: "+typeof t)}}Y.ARRAY_OF_OBJECTS="Obj",Y.ARRAY_OF_ARRAYS="Arr",Y.NDARRAY="Nd",Y.GENERIC_NDARRAY="GenNd",Y.PACKED="PackArr";const X=Y,J=m().add("infer-type",X);const L=m().add("cache-key",(function(t,e,i,n,o,s){var r,l,h=[],a=!1;for(r=0;rvoid 0!==t&&0!==t))).length&&t.push(0),t.join(" + ")};const H=Z,Q=m().add("variable",H);var $=[".x",".y",".z",".w"];function tt(t){return function(e,i){void 0===e||Array.isArray(e)||(e=[e]);for(var n=[],o=0;o{var i=e.pop();return t+"["+e.join("][")+"]"+$[i]}));case J.ARRAY_OF_ARRAYS:return tt((e=>t+"["+e.join("][")+"]"));case J.GENERIC_NDARRAY:return tt((e=>t+".get("+e.join(",")+")"));case J.NDARRAY:return tt((e=>{for(var i=[t+"Offset"],n=0;n=0;n--){if(o[n]!==(Array.isArray(t[n])?t[n][1]:t[n])-1){o[n]++;break}o[n]=Array.isArray(t[n])?t[n][0]:0}})),lt=m().add("accessor-preamble",(function(t,e,i,n){var o=[];switch(J(n)){case J.NDARRAY:o.push(" var "+e+" = "+i+".data;"),o.push(" var "+e+"Offset = "+i+".offset;");for(var s=0;s1)throw new Error("Analytical derivative not implemented for rational b-splines with order n = "+b+".")}s&&(t="Basis"+t),r&&(t="Der"+r.join("_")+"_"+t);var C=at[t];if(n)var O="function"==typeof n?n:console.log;if(C)return n&&O(ut[t]),C.bind(e);var N=[],P="evaluate"+t,S=i.point;s&&(S=function(t,e){for(var i=[],n=0;n "+I+"[i][1] || a === undefined || isNaN(a)) {"),B(' throw new Error("Invalid Spline parameter in dimension "+i+". Valid domain is ["+'+I+'[i][0]+", "+'+I+'[i][1]+"]. but got t"+i+" = "+arguments[i + 1]+".");'),B(" }"),B("}")),d=0;d "+k(d)+" + 1) {"),B(" m = 0.5 * (h + "+k(d)+") | 0;"),B(" if ("+F([d,"m"])+" > "+j(d)+") h = m;"),B(" else "+k(d)+" = m;"),B("}"),K("\n // Fetch knots for dimension "+d+"\n"),l=1-_[d];l<=_[d];l++)"closed"===y[d]?B(l<0?"var "+V([d,l+_[d]-1])+" = "+U(k(d)+" < "+-l,F([d,0])+" + "+F([d,[x(d),k(d),l]])+" - "+F([d,[x(d)]]),F([d,[k(d),l]]))+";":l>0?"var "+V([d,l+_[d]-1])+" = "+U(k(d)+" + "+l+" > "+x(d),F([d,x(d)])+" + "+F([d,l+" + "+k(d)+" - "+x(d)])+" - "+F([d,0]),F([d,[k(d),l]]))+";":"var "+V([d,l+_[d]-1])+" = "+F([d,[k(d),l]])+";"):B("var "+V([d,l+_[d]-1])+" = "+F([d,[k(d),l]])+";");else{for(K("\n // Directly compute knot interval for dimension "+d+"\n"),"closed"===y[d]?B(k(d)+" = ("+j(d)+" | 0) % "+x(d)+";"):(B(k(d)+" = ("+j(d)+" | 0);"),B("if ("+k(d)+" < "+_[d]+") "+k(d)+" = "+_[d]+";"),B("if ("+k(d)+" > "+x(d)+" - 1) "+k(d)+" = "+x(d)+" - 1;")),K("\n // Compute and clamp knots for dimension "+d+"\n"),l=1-_[d];l<=_[d];l++)B("var "+(c=V([d,l+_[d]-1]))+" = "+k(d)+" + "+l+";");if("clamped"===y[d])for(l=1-_[d];l<=_[d];l++)c=V([d,l+_[d]-1]),l<0&&B("if ("+c+" < "+_[d]+") "+c+" = "+_[d]+";"),l>0&&B("if ("+c+" > "+x(d)+") "+c+" = "+x(d)+";");"closed"===y[d]&&(K("\n // Wrap the B-Spline parameter for closed boundary"),B(j(d)+" %= "+x(d)+";"))}for(d=0,a=[];d=0;d--)for(a[d]=[_[d],_[d]+1],l=0;l<_[d];l++)for(K("\n // Degree "+_[d]+" evaluation in dimension "+d+", step "+(l+1)+"\n"),h=_[d];h>l;h--){var q=r&&_[d]-l-r[d]<=0;q?(B("m = 1 / ("+V([d,h-l+_[d]-1])+" - "+V([d,h-1])+");"),m&&(B("a = ("+j(d)+" - "+V([d,h-1])+") * m;"),B("b = 1 - a;"))):(B("a = ("+j(d)+" - "+V([d,h-1])+") / ("+V([d,h-l+_[d]-1])+" - "+V([d,h-1])+");"),B("b = 1 - a;")),m&&rt(a,(function(t){var e=t.slice(),i=t.slice();e[d]=h,i[d]=h-1,q&&m&&B("h = "+T(e)+";"),B(T(e)+" = b * "+T(i)+" + a * "+T(e)+";")})),rt(a,(function(t){var e,i,n,o=t.slice(),r=t.slice();if(o[d]=h,r[d]=h-1,q){var a=l+1;if(s)e=m?"h * "+T(r)+" / "+T(o)+" * ":"",i=R(o)+(m?" / h":""),n=R(r)+(m?" / "+T(r):""),B(R(o)+" = "+a+" * "+e+"("+i+" - "+n+") * m;");else{var c=o.slice(),p=r.slice();for(u=0;u= 0; "+r+"--) {");for(o=0;o=0;o--)g.push("}");g.push("return this;"),g.push("}");var f=new Function([g.join("\n"),"; return ",p].join(""))();return n&&console.log(g.join("\n")),ct[t]=f,f.bind(e)}));var pt={};const _t=m().add("support",(function(t,e,i,n,o){var s=pt[t];if(s)return s.bind(e);var r,l,h,a=e.degree,u=e.knots,d=e.splineDimension,c=e.boundary,g=[],p="support"+t,_=i.knot,f=Q("t"),m=n?"domain":"d",w=Q(n?"size":"s"),v=Q(n?"knotIndex":"i"),y=!0;for(h=0;h "+m+"[i][1] || a === undefined || isNaN(a)) {"),b(' throw new Error("Invalid Spline parameter in dimension "+i+". Valid domain is ["+'+m+'[i][0]+", "+'+m+'[i][1]+"]. but got t"+i+" = "+arguments[i + 1]+".");'),b(" }"),b("}")),h=0;h "+v(h)+" + 1) {"),b(" m = 0.5 * (h + "+v(h)+") | 0;"),b(" if ("+_([h,"m"])+" > "+f(h)+") h = m;"),b(" else "+v(h)+" = m;"),b("}")):"closed"===c[h]?b(v(h)+" = ("+f(h)+" | 0) % "+w(h)+";"):(b(v(h)+" = ("+f(h)+" | 0);"),b("if ("+v(h)+" < "+a[h]+") "+v(h)+" = "+a[h]+";"),b("if ("+v(h)+" > "+w(h)+" - 1) "+v(h)+" = "+w(h)+" - 1;"));for(h=0,l=[];h0&&!G(this.knots[0])&&(this.knots=[this.knots]),r=0;rA.getWeights(t,e,i),getControlPoints:(t,e,i,n,o)=>A.getControlPoints(t,e,i,n,o),tessellate(){if(this._order.getValue()<2)return[];if(!this.controlPointNode)return[];if(this.controlPointNode.getSize()A.getKnots(t,e,i,n,o),getWeights:(t,e,i)=>A.getWeights(t,e,i),getControlPoints:(t,e,i,n,o)=>A.getControlPoints2D(t,e,i,n,o),tessellate(t){const e=this.array;if(e.length=0,this._order.getValue()<2)return e;if(this._controlPoint.length!1,getKnots:(t,e,i,n,o)=>A.getKnots(t,e,i,n,o),getWeights:(t,e,i)=>A.getWeights(t,e,i),getControlPoints:(t,e,i,n,o)=>A.getControlPoints(t,e,i,n,o),requestRebuild(){this._rebuild.addEvent()},build(){if(this._order.getValue()<2)return;if(!this.controlPointNode)return;if(this.controlPointNode.getSize()A.getUVWeights(t,e,i,n),getTexControlPoints:(t,e,i,n,o,s,r,l)=>A.getTexControlPoints(t,e,i,n,o,s,r,l),getUVControlPoints:(t,e,i,n,o,s,r,l,h)=>A.getUVControlPoints(t,e,i,n,o,s,r,l,h),getTrimmingContours(){},build(){if(this._uOrder.getValue()<2)return;if(this._vOrder.getValue()<2)return;if(this._uDimension.getValue(){const t=[],e=[],i=[[[0,0,0,1],[0,1,0,1]],[[1,0,0,1],[1,1,0,1]]];function n(t,e){return t[0]=t[1]=e[0],t[2]=t[3]=e.at(-1),t}return function(o,s,r,l,h,a,u,d,c){const g=this.sampleOptions;if(this.texCoordNode&&this.texCoordNode.getSize()===u*d)var p=r-1,_=l-1,f=h,m=a,w=this.getTexControlPoints(this.texControlPoints,o,s,r,l,u,d,this.texCoordNode);else if(this.nurbsTexCoordNode&&this.nurbsTexCoordNode.isValid()){var v=this.nurbsTexCoordNode,y=(p=v._uOrder.getValue()-1,_=v._vOrder.getValue()-1,f=this.getKnots(this.texUKnots,!1,v._uOrder.getValue(),v._uDimension.getValue(),v._uKnot),m=this.getKnots(this.texVKnots,!1,v._vOrder.getValue(),v._vDimension.getValue(),v._vKnot),this.getUVWeights(this.texWeights,v._uDimension.getValue(),v._vDimension.getValue(),v._weight));w=v.getControlPoints(y)}else{p=1,_=1,f=n(t,h),m=n(e,a),w=i;g.domain=c}const b=this.texSurface=(this.texSurface||Nt)({boundary:["open","open"],degree:[p,_],knots:[f,m],points:w});g.closed[0]=!1,g.closed[1]=!1,g.haveWeights=!1;const C=Nt.sample(this.texMesh,b,g),O=C.faces,N=C.points,P=this.getTexCoords();for(let t=0,e=O.length;t{const t=new(S()),e=new(S()),i=new(S());return function(n,o){const s=this.faceNormals||[],r=n.length;for(let l=0;l!1,getKnots:(t,e,i,n,o)=>A.getKnots(t,e,i,n,o),getWeights:(t,e,i)=>A.getWeights(t,e,i),getControlPoints:(t,e,i,n,o)=>A.getControlPoints(t,e,i,n,o),requestRebuild(){this._rebuild.addEvent()},build(){if(this._order.getValue()<2)return;if(!this.controlPointNode)return;if(this.controlPointNode.getSize()!i.has(t)))}Object.assign(Object.setPrototypeOf(ne.prototype,zt().prototype),ie().prototype,{initialize(){zt().prototype.initialize.call(this),ie().prototype.initialize.call(this),this._tessellationScale.addInterest("set_tessellationScale__",this),this._addGeometry.addInterest("set_addGeometry__",this),this._removeGeometry.addInterest("set_removeGeometry__",this),this._geometry.addInterest("set_geometry__",this),this.set_geometry__()},getBBox(t,e){for(const e of this.geometryNodes)t.add(e.getBBox());return t},set_tessellationScale__(){const t=Math.max(0,this._tessellationScale.getValue());for(const e of this.geometryNodes)e.setTessellationScale(t)},set_addGeometry__(){this._addGeometry.setTainted(!0),this._addGeometry.assign(oe(this._addGeometry,this._geometry));for(const t of this._addGeometry)this._geometry.push(t);this._addGeometry.length=0,this._addGeometry.setTainted(!1)},set_removeGeometry__(){this._removeGeometry.setTainted(!0),this._geometry.assign(oe(this._geometry,this._removeGeometry)),this._removeGeometry.length=0,this._removeGeometry.setTainted(!1)},set_geometry__(){for(const t of this.geometryNodes)t.setTessellationScale(1);this.geometryNodes.length=0;for(const t of this._geometry){const e=_()(g().X3DNurbsSurfaceGeometryNode,t);e&&this.geometryNodes.push(e)}this.set_tessellationScale__()},dispose(){ie().prototype.dispose.call(this),zt().prototype.dispose.call(this)}}),Object.defineProperties(ne,{...d().getStaticProperties("NurbsSet","NURBS",2,"children","3.0"),fieldDefinitions:{value:new(a())([new(l())(g().inputOutput,"metadata",new(s().SFNode)),new(l())(g().inputOutput,"tessellationScale",new(s().SFFloat)(1)),new(l())(g().inputOutput,"visible",new(s().SFBool)(!0)),new(l())(g().inputOutput,"bboxDisplay",new(s().SFBool)),new(l())(g().initializeOnly,"bboxSize",new(s().SFVec3f)(-1,-1,-1)),new(l())(g().initializeOnly,"bboxCenter",new(s().SFVec3f)),new(l())(g().inputOnly,"addGeometry",new(s().MFNode)),new(l())(g().inputOnly,"removeGeometry",new(s().MFNode)),new(l())(g().inputOutput,"geometry",new(s().MFNode))]),enumerable:!0}});const se=ne,re=m().add("NurbsSet",se),le=t.Line3;var he=e.n(le);const ae={isPointInTriangle(t,e,i,n){const o=(e.y-i.y)*(t.x-i.x)+(i.x-e.x)*(t.y-i.y);if(0==o)return!1;const s=((e.y-i.y)*(n.x-i.x)+(i.x-e.x)*(n.y-i.y))/o;if(s<0||s>1)return!1;const r=((i.y-t.y)*(n.x-i.x)+(t.x-i.x)*(n.y-i.y))/o;if(r<0||r>1)return!1;const l=1-s-r;return!(l<0||l>1)}},ue=m().add("Triangle2",ae);function de(t){zt().call(this,t),this.addType(g().NurbsSurfaceInterpolator),this.geometry=new Lt(t)}Object.assign(Object.setPrototypeOf(de.prototype,zt().prototype),{initialize(){this._set_fraction.addInterest("set_fraction__",this),this._uOrder.addFieldInterest(this.geometry._uOrder),this._vOrder.addFieldInterest(this.geometry._vOrder),this._uDimension.addFieldInterest(this.geometry._uDimension),this._vDimension.addFieldInterest(this.geometry._vDimension),this._uKnot.addFieldInterest(this.geometry._uKnot),this._vKnot.addFieldInterest(this.geometry._vKnot),this._weight.addFieldInterest(this.geometry._weight),this._controlPoint.addFieldInterest(this.geometry._controlPoint),this.geometry._uTessellation=128,this.geometry._vTessellation=128,this.geometry._uOrder=this._uOrder,this.geometry._vOrder=this._vOrder,this.geometry._uDimension=this._uDimension,this.geometry._vDimension=this._vDimension,this.geometry._uKnot=this._uKnot,this.geometry._vKnot=this._vKnot,this.geometry._weight=this._weight,this.geometry._controlPoint=this._controlPoint,this.geometry.setup()},set_fraction__:(()=>{const t=new(S()),e=new(S()),i=new(S()),n=new(S()),o=new(he())(S().Zero,S().zAxis),s={};return function(){const r=this._set_fraction.getValue(),l=this.geometry.getTexCoords(),h=this.geometry.getNormals(),a=this.geometry.getVertices();for(let u=0,d=0,c=l.length;u!i.has(t)))}Object.assign(Object.setPrototypeOf(Pe.prototype,Yt.prototype),{initialize(){Yt.prototype.initialize.call(this),this._addTrimmingContour.addInterest("set_addTrimmingContour__",this),this._removeTrimmingContour.addInterest("set_removeTrimmingContour__",this),this._trimmingContour.addInterest("set_trimmingContour__",this),this.set_trimmingContour__()},set_addTrimmingContour__(){this._addTrimmingContour.setTainted(!0),this._addTrimmingContour.assign(Se(this._addTrimmingContour,this._trimmingContour),this._addTrimmingContour.length);for(const t of this._addTrimmingContour)this._trimmingContour.push(t);this._addTrimmingContour.length=0,this._addTrimmingContour.setTainted(!1)},set_removeTrimmingContour__(){this._removeTrimmingContour.setTainted(!0),this._trimmingContour.assign(Se(this._trimmingContour,this._removeTrimmingContour)),this._removeTrimmingContour.length=0,this._removeTrimmingContour.setTainted(!1)},set_trimmingContour__(){const t=this.trimmingContourNodes;t.length=0;for(const e of this._trimmingContour){const i=_()(g().Contour2D,e);i&&t.push(i)}},getTrimmingContours(){const t=this.trimmingContourNodes,e=[];for(const i of t)i.addTrimmingContour(e);return e}}),Object.defineProperties(Pe,{...d().getStaticProperties("NurbsTrimmedSurface","NURBS",4,"geometry","3.0"),fieldDefinitions:{value:new(a())([new(l())(g().inputOutput,"metadata",new(s().SFNode)),new(l())(g().inputOutput,"uTessellation",new(s().SFInt32)),new(l())(g().inputOutput,"vTessellation",new(s().SFInt32)),new(l())(g().initializeOnly,"solid",new(s().SFBool)(!0)),new(l())(g().initializeOnly,"uClosed",new(s().SFBool)),new(l())(g().initializeOnly,"vClosed",new(s().SFBool)),new(l())(g().initializeOnly,"uOrder",new(s().SFInt32)(3)),new(l())(g().initializeOnly,"vOrder",new(s().SFInt32)(3)),new(l())(g().initializeOnly,"uDimension",new(s().SFInt32)),new(l())(g().initializeOnly,"vDimension",new(s().SFInt32)),new(l())(g().initializeOnly,"uKnot",new(s().MFDouble)),new(l())(g().initializeOnly,"vKnot",new(s().MFDouble)),new(l())(g().inputOutput,"weight",new(s().MFDouble)),new(l())(g().inputOutput,"texCoord",new(s().SFNode)),new(l())(g().inputOutput,"controlPoint",new(s().SFNode)),new(l())(g().inputOnly,"addTrimmingContour",new(s().MFNode)),new(l())(g().inputOnly,"removeTrimmingContour",new(s().MFNode)),new(l())(g().inputOutput,"trimmingContour",new(s().MFNode))]),enumerable:!0}});const De=Pe,Fe=m().add("NurbsTrimmedSurface",De);n().add({name:"NURBS",concreteNodes:[b,V,Dt,Rt,Kt,Lt,te,re,ge,we,be,Ne,Fe],abstractNodes:[N,Yt,M]});m().add("NURBSComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/ParticleSystemsComponent.js b/dist/assets/components/ParticleSystemsComponent.js index 52e7550bfc..b422076f45 100644 --- a/dist/assets/components/ParticleSystemsComponent.js +++ b/dist/assets/components/ParticleSystemsComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ diff --git a/dist/assets/components/ParticleSystemsComponent.min.js b/dist/assets/components/ParticleSystemsComponent.min.js index 2dbcfe2548..5ebe57890c 100644 --- a/dist/assets/components/ParticleSystemsComponent.min.js +++ b/dist/assets/components/ParticleSystemsComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const e=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var t={254:t=>{t.exports=e.jquery}},i={};function n(e){var o=i[e];if(void 0!==o)return o.exports;var s=i[e]={exports:{}};return t[e](s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);const o=e.Components;var s=n.n(o);const r=e.Fields;var a=n.n(r);const c=e.X3DFieldDefinition;var d=n.n(c);const l=e.FieldDefinitionArray;var u=n.n(l);const h=e.X3DNode;var m=n.n(h);const p=e.GeometryTypes;var f=n.n(p);const _=e.X3DConstants;var x=n.n(_);const g=e.Namespace;var v=n.n(g);const y=v().add("Line3.glsl","\n#if defined(X3D_BOUNDED_VOLUME)||defined(X3D_VOLUME_EMITTER)\nstruct Line3{vec3 point;vec3 direction;};bool intersects(const in Line3 line,const in vec3 a,const in vec3 b,const in vec3 c,out vec3 r){vec3 edge1=b-a;vec3 edge2=c-a;vec3 pvec=cross(line.direction,edge2);float det=dot(edge1,pvec);if(det==0.0)return false;float inv_det=1.0/det;vec3 tvec=line.point-a;float u=dot(tvec,pvec)*inv_det;if(u<0.0||u>1.0)return false;vec3 qvec=cross(tvec,edge1);float v=dot(line.direction,qvec)*inv_det;if(v<0.0||u+v>1.0)return false;r=vec3(u,v,1.0-u-v);return true;}\n#endif\n"),T=v().add("Plane3.glsl","\n#if defined(X3D_BOUNDED_VOLUME)||defined(X3D_VOLUME_EMITTER)\nstruct Plane3{vec3 normal;float distanceFromOrigin;};Plane3 plane3(const in vec3 point,const in vec3 normal){return Plane3(normal,dot(normal,point));}float plane_distance(const in Plane3 plane,const in vec3 point){return dot(point,plane.normal)-plane.distanceFromOrigin;}bool intersects(const in Plane3 plane,const in Line3 line,out vec3 point){float theta=dot(line.direction,plane.normal);if(theta==0.0)return false;float t=(plane.distanceFromOrigin-dot(plane.normal,line.point))/theta;point=line.point+line.direction*t;return true;}void sort(inout vec4 points[ARRAY_SIZE],const in int count,const in Plane3 plane){const float shrink=1.0/1.3;int gap=count;bool exchanged=true;while(exchanged){gap=int(float(gap)*shrink);if(gap<=1){exchanged=false;gap=1;}for(int i=0,l=count-gap;iplane_distance(plane,points[j].xyz)){vec4 tmp1=points[i];points[i]=points[j];points[j]=tmp1;exchanged=true;}}}}int min_index(const in vec4 points[ARRAY_SIZE],const in int count,const in float value,const in Plane3 plane){int index=-1;float dist=1000000.0;for(int i=0;i=value&&d=0||current>=0){if(current>=0){setBVHIndex(current);if(getBVHType(volume)==BVH_NODE){if(intersects(getBVHMin(volume),getBVHMax(volume),line)){stack[++stackIndex]=current;current=getBVHLeft(volume,hierarchyIndex);}else{current=-1;}}else{int t=getBVHTriangle(volume);int v=verticesIndex+t;vec3 r=vec3(0.0);vec3 a=texelFetch(volume,v,0).xyz;vec3 b=texelFetch(volume,v+1,0).xyz;vec3 c=texelFetch(volume,v+2,0).xyz;if(intersects(line,a,b,c,r))points[count++]=vec4(r.z*a+r.x*b+r.y*c,1.0);current=-1;}}else{setBVHIndex(stack[stackIndex--]);current=getBVHRight(volume,hierarchyIndex);}}return count;}\n#endif\n#if defined(X3D_BOUNDED_VOLUME)\nint getIntersections(const in sampler2D volume,const in int verticesIndex,const in int normalsIndex,const in int hierarchyIndex,const in int rootIndex,const in Line3 line,out vec4 points[ARRAY_SIZE],out vec3 normals[ARRAY_SIZE]){int current=getBVHRoot(volume,hierarchyIndex,rootIndex);int count=0;int stackIndex=-1;int stack[BVH_STACK_SIZE];while(stackIndex>=0||current>=0){if(current>=0){setBVHIndex(current);if(getBVHType(volume)==BVH_NODE){if(intersects(getBVHMin(volume),getBVHMax(volume),line)){stack[++stackIndex]=current;current=getBVHLeft(volume,hierarchyIndex);}else{current=-1;}}else{int t=getBVHTriangle(volume);int v=verticesIndex+t;vec3 r=vec3(0.0);vec3 a=texelFetch(volume,v,0).xyz;vec3 b=texelFetch(volume,v+1,0).xyz;vec3 c=texelFetch(volume,v+2,0).xyz;if(intersects(line,a,b,c,r)){points[count]=vec4(r.z*a+r.x*b+r.y*c,1.0);int n=normalsIndex+t;vec3 n0=texelFetch(volume,n,0).xyz;vec3 n1=texelFetch(volume,n+1,0).xyz;vec3 n2=texelFetch(volume,n+2,0).xyz;normals[count]=r.z*n0+r.x*n1+r.y*n2;++count;}current=-1;}}else{setBVHIndex(stack[stackIndex--]);current=getBVHRight(volume,hierarchyIndex);}}return count;}\n#endif\n#endif\n");function b(e){m().call(this,e),this.addType(x().X3DParticleEmitterNode),this.addChildObjects(x().outputOnly,"bbox_changed",new(a().SFTime)),this._speed.setUnit("speed"),this._mass.setUnit("mass"),this._surfaceArea.setUnit("area"),this.defines=[],this.samplers=[],this.uniforms=new Map,this.callbacks=[],this.functions=[],this.programs=new Map}Object.assign(Object.setPrototypeOf(b.prototype,m().prototype),{initialize(){m().prototype.initialize.call(this);const e=this.getBrowser().getContext();e.getVersion()<2||(this.transformFeedback=e.createTransformFeedback(),this._on.addInterest("set_on__",this),this._speed.addInterest("set_speed__",this),this._variation.addInterest("set_variation__",this),this._mass.addInterest("set_mass__",this),this._surfaceArea.addInterest("set_surfaceArea__",this),this.addSampler("forces"),this.addSampler("boundedVolume"),this.addSampler("colorRamp"),this.addSampler("texCoordRamp"),this.addUniform("speed","uniform float speed;"),this.addUniform("variation","uniform float variation;"),this.addCallback(this.set_speed__),this.addCallback(this.set_variation__),this.addFunction(y),this.addFunction(T),this.addFunction(R),this.addFunction(E),this.set_on__(),this.set_mass__(),this.set_surfaceArea__())},isExplosive:()=>!1,getMass(){return this.mass},getSurfaceArea(){return this.surfaceArea},set_on__(){this.on=this._on.getValue()},set_speed__(){this.setUniform("uniform1f","speed",Math.max(this._speed.getValue(),0))},set_variation__(){this.setUniform("uniform1f","variation",Math.max(this._variation.getValue(),0))},set_mass__(){this.mass=Math.max(this._mass.getValue(),0)},set_surfaceArea__(){this.surfaceArea=Math.max(this._surfaceArea.getValue(),0)},getRandomValue:(e,t)=>Math.random()*(t-e)+e,getRandomNormal(e){const t=this.getRandomValue(-1,1)*Math.PI,i=this.getRandomValue(-1,1),n=Math.acos(i),o=Math.sin(n);return e.set(Math.sin(t)*o,Math.cos(t)*o,i)},animate(e,t){const i=this.getBrowser(),n=i.getContext(),o=this.getProgram(e),s=e.inputParticles;if(n.useProgram(o),n.uniform1i(o.randomSeed,4294967295*Math.random()),n.uniform1f(o.particleLifetime,e.particleLifetime),n.uniform1f(o.lifetimeVariation,e.lifetimeVariation),n.uniform1f(o.deltaTime,t),n.uniform2f(o.particleSize,e._particleSize.x,e._particleSize.y),e.numForces&&(n.activeTexture(n.TEXTURE0+o.forcesTextureUnit),n.bindTexture(n.TEXTURE_2D,e.forcesTexture)),e.boundedHierarchyRoot>-1&&(n.uniform1i(o.boundedVerticesIndex,e.boundedVerticesIndex),n.uniform1i(o.boundedNormalsIndex,e.boundedNormalsIndex),n.uniform1i(o.boundedHierarchyIndex,e.boundedHierarchyIndex),n.uniform1i(o.boundedHierarchyRoot,e.boundedHierarchyRoot),n.activeTexture(n.TEXTURE0+o.boundedVolumeTextureUnit),n.bindTexture(n.TEXTURE_2D,e.boundedTexture)),e.numColors&&(n.activeTexture(n.TEXTURE0+o.colorRampTextureUnit),n.bindTexture(n.TEXTURE_2D,e.colorRampTexture)),e.numTexCoords&&(n.uniform1i(o.texCoordCount,e.texCoordCount),n.activeTexture(n.TEXTURE0+o.texCoordRampTextureUnit),n.bindTexture(n.TEXTURE_2D,e.texCoordRampTexture)),this.activateTextures(n,o),s.vertexArrayObject.enable(o)){const{particlesStride:t,particleOffsets:i}=e;for(const[e,r]of o.inputs)n.bindBuffer(n.ARRAY_BUFFER,s),n.enableVertexAttribArray(r),n.vertexAttribPointer(r,4,n.FLOAT,!1,t,i[e])}n.bindFramebuffer(n.FRAMEBUFFER,i.getDefaultFrameBuffer()),n.bindBuffer(n.ARRAY_BUFFER,null),n.bindTransformFeedback(n.TRANSFORM_FEEDBACK,this.transformFeedback),n.bindBufferBase(n.TRANSFORM_FEEDBACK_BUFFER,0,e.outputParticles),n.enable(n.RASTERIZER_DISCARD),n.beginTransformFeedback(n.POINTS),n.drawArrays(n.POINTS,0,e.numParticles),n.endTransformFeedback(),n.disable(n.RASTERIZER_DISCARD),n.bindTransformFeedback(n.TRANSFORM_FEEDBACK,null)},addDefine(e){this.defines.push(e)},addSampler(e){this.samplers.push(e)},addUniform(e,t){this.uniforms.set(e,t)},setUniform(e,t,i,n,o){const s=this.getBrowser().getContext();for(const r of this.programs.values())s.useProgram(r),s[e](r[t],i,n,o)},addCallback(e){this.callbacks.push(e)},addFunction(e){this.functions.push(e)},getProgram(e){const{geometryType:t,createParticles:i,numColors:n,numTexCoords:o,numForces:s,boundedHierarchyRoot:r}=e;let a="";return a+=t,a+=i&&this.on?1:0,a+=".",a+=n,a+=".",a+=o,a+=".",a+=s,a+=".",a+=r,this.programs.get(a)??this.createProgram(a,e)},createProgram(e,t){const i=this.getBrowser(),n=i.getContext(),o=this.defines.slice();o.push(`#define X3D_GEOMETRY_TYPE ${t.geometryType}`),o.push(""+(t.createParticles&&this.on?"#define X3D_CREATE_PARTICLES":"")),o.push(`#define X3D_NUM_COLORS ${t.numColors}`),o.push(`#define X3D_NUM_TEX_COORDS ${t.numTexCoords}`),o.push(`#define X3D_NUM_FORCES ${t.numForces}`),o.push(""+(t.boundedHierarchyRoot>-1?"#define X3D_BOUNDED_VOLUME":""));const s=`#version 300 es\nprecision highp float;precision highp int;precision highp sampler2D;\n${o.join("\n")}\nuniform int randomSeed;uniform float particleLifetime;uniform float lifetimeVariation;uniform float deltaTime;uniform vec2 particleSize;\n#if X3D_NUM_FORCES>0\nuniform sampler2D forces;\n#endif\n#if defined(X3D_BOUNDED_VOLUME)\nuniform int boundedVerticesIndex;uniform int boundedNormalsIndex;uniform int boundedHierarchyIndex;uniform int boundedHierarchyRoot;uniform sampler2D boundedVolume;\n#endif\n#if X3D_NUM_COLORS>0\nuniform sampler2D colorRamp;\n#endif\n#if X3D_NUM_TEX_COORDS>0\nuniform int texCoordCount;uniform sampler2D texCoordRamp;\n#endif\n${Array.from(this.uniforms.values()).join("\n")}\nin vec4 input0;in vec4 input2;in vec4 input6;out vec4 output0;out vec4 output1;out vec4 output2;out vec4 output3;out vec4 output4;out vec4 output5;out vec4 output6;\n${Object.entries(f()).map((([e,t])=>`#define ${e} ${t}`)).join("\n")}\nconst int ARRAY_SIZE=32;const float M_PI=3.14159265359;uniform float NaN;vec4 texelFetch(const in sampler2D sampler,const in int index,const in int lod){int x=textureSize(sampler,lod).x;ivec2 p=ivec2(index % x,index/x);vec4 t=texelFetch(sampler,p,lod);return t;}vec3 save_normalize(const in vec3 vector){float l=length(vector);if(l==0.0)return vec3(0.0);return vector/l;}vec4 Quaternion(const in vec3 fromVector,const in vec3 toVector){vec3 from=save_normalize(fromVector);vec3 to=save_normalize(toVector);float cos_angle=dot(from,to);vec3 cross_vec=cross(from,to);float cross_len=length(cross_vec);if(cross_len==0.0){if(cos_angle>0.0){return vec4(0.0,0.0,0.0,1.0);}else{vec3 t=cross(from,vec3(1.0,0.0,0.0));if(dot(t,t)==0.0)t=cross(from,vec3(0.0,1.0,0.0));t=save_normalize(t);return vec4(t,0.0);}}else{float s=sqrt(abs(1.0-cos_angle)*0.5);cross_vec=save_normalize(cross_vec);return vec4(cross_vec*s,sqrt(abs(1.0+cos_angle)*0.5));}}vec3 multVecQuat(const in vec3 v,const in vec4 q){float a=q.w*q.w-q.x*q.x-q.y*q.y-q.z*q.z;float b=2.0*(v.x*q.x+v.y*q.y+v.z*q.z);float c=2.0*q.w;vec3 r=a*v.xyz+b*q.xyz+c*(q.yzx*v.zxy-q.zxy*v.yzx);return r;}mat3 Matrix3(const in vec4 quaternion){float x=quaternion.x;float y=quaternion.y;float z=quaternion.z;float w=quaternion.w;float A=y*y;float B=z*z;float C=x*y;float D=z*w;float E=z*x;float F=y*w;float G=x*x;float H=y*z;float I=x*w;return mat3(1.0-2.0*(A+B),2.0*(C+D),2.0*(E-F),2.0*(C-D),1.0-2.0*(B+G),2.0*(H+I),2.0*(E+F),2.0*(H-I),1.0-2.0*(A+G));}uint seed=1u;void srand(const in int value){seed=uint(value);}float random(){seed=seed*1103515245u+12345u;return float(seed)/4294967295.0;}float getRandomValue(const in float min,const in float max){return min+random()*(max-min);}float getRandomLifetime(){float v=particleLifetime*lifetimeVariation;float min_=max(0.0,particleLifetime-v);float max_=particleLifetime+v;return getRandomValue(min_,max_);}float getRandomSpeed(){float v=speed*variation;float min_=max(0.0,speed-v);float max_=speed+v;return getRandomValue(min_,max_);}vec3 getRandomNormal(){float theta=getRandomValue(-M_PI,M_PI);float cphi=getRandomValue(-1.0,1.0);float r=sqrt(1.0-cphi*cphi);return vec3(sin(theta)*r,cos(theta)*r,cphi);}vec3 getRandomNormalWithAngle(const in float angle){float theta=getRandomValue(-M_PI,M_PI);float cphi=getRandomValue(cos(angle),1.0);float r=sqrt(1.0-cphi*cphi);return vec3(sin(theta)*r,cos(theta)*r,cphi);}vec3 getRandomNormalWithDirectionAndAngle(const in vec3 direction,const in float angle){vec4 rotation=Quaternion(vec3(0.0,0.0,1.0),direction);vec3 normal=getRandomNormalWithAngle(angle);return multVecQuat(normal,rotation);}vec3 getRandomSurfaceNormal(const in vec3 direction){float theta=getRandomValue(-M_PI,M_PI);float cphi=pow(random(),1.0/3.0);float r=sqrt(1.0-cphi*cphi);vec3 normal=vec3(sin(theta)*r,cos(theta)*r,cphi);vec4 rotation=Quaternion(vec3(0.0,0.0,1.0),direction);return multVecQuat(normal,rotation);}vec3 getRandomSphericalVelocity(){vec3 normal=getRandomNormal();float speed=getRandomSpeed();return normal*speed;}int upperBound(const in sampler2D sampler,in int count,const in float value){int first=0;int step=0;while(count>0){int index=first;step=count>>1;index+=step;if(value0||defined(X3D_POLYLINE_EMITTER)||defined(X3D_SURFACE_EMITTER)||defined(X3D_VOLUME_EMITTER)\nvoid interpolate(const in sampler2D sampler,const in int count,const in float fraction,out int index0,out int index1,out float weight){if(count==1||fraction<=texelFetch(sampler,0,0).x){index0=0;index1=0;weight=0.0;}else if(fraction>=texelFetch(sampler,count-1,0).x){index0=count-2;index1=count-1;weight=1.0;}else{int index=upperBound(sampler,count,fraction);if(index0\nvoid interpolate(const in sampler2D sampler,const in int count,const in float fraction,out int index0){if(count==1||fraction<=texelFetch(sampler,0,0).x){index0=0;}else if(fraction>=texelFetch(sampler,count-1,0).x){index0=count-2;}else{int index=upperBound(sampler,count,fraction);if(index1.0){u=1.0-u;v=1.0-v;}float t=1.0-u-v;return vec3(t,u,v);}void getRandomPointOnSurface(const in sampler2D surface,const in int verticesIndex,const in int normalsIndex,out vec4 position,out vec3 normal){float lastAreaSoFar=texelFetch(surface,verticesIndex-1,0).x;float fraction=random()*lastAreaSoFar;int index0;int index1;int index2;float weight;interpolate(surface,verticesIndex,fraction,index0,index1,weight);index0*=3;index1=index0+1;index2=index0+2;vec4 vertex0=texelFetch(surface,verticesIndex+index0,0);vec4 vertex1=texelFetch(surface,verticesIndex+index1,0);vec4 vertex2=texelFetch(surface,verticesIndex+index2,0);vec3 normal0=texelFetch(surface,normalsIndex+index0,0).xyz;vec3 normal1=texelFetch(surface,normalsIndex+index1,0).xyz;vec3 normal2=texelFetch(surface,normalsIndex+index2,0).xyz;vec3 r=getRandomBarycentricCoord();position=r.z*vertex0+r.x*vertex1+r.y*vertex2;normal=save_normalize(r.z*normal0+r.x*normal1+r.y*normal2);}\n#endif\n${this.functions.join("\n")}\n#if X3D_NUM_COLORS>0\nvec4 getColor(const in float lifetime,const in float elapsedTime){float fraction=elapsedTime/lifetime;int index0;int index1;float weight;interpolate(colorRamp,X3D_NUM_COLORS,fraction,index0,index1,weight);vec4 color0=texelFetch(colorRamp,X3D_NUM_COLORS+index0,0);vec4 color1=texelFetch(colorRamp,X3D_NUM_COLORS+index1,0);return mix(color0,color1,weight);}\n#else\n#define getColor(lifetime,elapsedTime)(vec4(1.0))\n#endif\n#if defined(X3D_BOUNDED_VOLUME)\nvoid bounce(const in float deltaTime,const in vec4 fromPosition,inout vec4 toPosition,inout vec3 velocity){Line3 line=Line3(fromPosition.xyz,save_normalize(velocity));vec4 points[ARRAY_SIZE];vec3 normals[ARRAY_SIZE];int numIntersections=getIntersections(boundedVolume,boundedVerticesIndex,boundedNormalsIndex,boundedHierarchyIndex,boundedHierarchyRoot,line,points,normals);if(numIntersections==0)return;Plane3 plane1=plane3(line.point,line.direction);int index=min_index(points,numIntersections,0.0,plane1);if(index==-1)return;vec3 point=points[index].xyz;vec3 normal=save_normalize(normals[index]);Plane3 plane2=plane3(point,normal);if(sign(plane_distance(plane2,fromPosition.xyz))==sign(plane_distance(plane2,toPosition.xyz)))return;float damping=length(normals[index]);velocity=reflect(velocity,normal);toPosition=vec4(point+save_normalize(velocity)*0.0001,1.0);velocity*=damping;}\n#endif\n#if X3D_NUM_TEX_COORDS>0\nint getTexCoordIndex0(const in float lifetime,const in float elapsedTime){float fraction=elapsedTime/lifetime;int index0=0;interpolate(texCoordRamp,X3D_NUM_TEX_COORDS,fraction,index0);return X3D_NUM_TEX_COORDS+index0*texCoordCount;}\n#else\n#define getTexCoordIndex0(lifetime,elapsedTime)(-1)\n#endif\nvoid main(){int life=int(input0[0]);float lifetime=input0[1];float elapsedTime=input0[2]+deltaTime;srand((gl_VertexID+randomSeed)*randomSeed);if(elapsedTime>lifetime){lifetime=getRandomLifetime();elapsedTime=0.0;output0=vec4(max(life+1,1),lifetime,elapsedTime,getTexCoordIndex0(lifetime,elapsedTime));\n#if defined(X3D_CREATE_PARTICLES)\noutput1=getColor(lifetime,elapsedTime);output2=vec4(getRandomVelocity(),0.0);output6=getRandomPosition();\n#else\noutput1=vec4(0.0);output2=vec4(0.0);output6=vec4(NaN);\n#endif\n}else{vec3 velocity=input2.xyz;vec4 position=input6;\n#if X3D_NUM_FORCES>0\nfor(int i=0;i"output"+t)),n.INTERLEAVED_ATTRIBS),n.linkProgram(c),n.getProgramParameter(c,n.LINK_STATUS)||console.error("Couldn't initialize particle shader: "+n.getProgramInfoLog(c)),this.programs.set(e,c),n.useProgram(c),c.inputs=[[0,n.getAttribLocation(c,"input0")],[2,n.getAttribLocation(c,"input2")],[6,n.getAttribLocation(c,"input6")]],c.randomSeed=n.getUniformLocation(c,"randomSeed"),c.particleLifetime=n.getUniformLocation(c,"particleLifetime"),c.lifetimeVariation=n.getUniformLocation(c,"lifetimeVariation"),c.deltaTime=n.getUniformLocation(c,"deltaTime"),c.particleSize=n.getUniformLocation(c,"particleSize"),c.forces=n.getUniformLocation(c,"forces"),c.boundedVerticesIndex=n.getUniformLocation(c,"boundedVerticesIndex"),c.boundedNormalsIndex=n.getUniformLocation(c,"boundedNormalsIndex"),c.boundedHierarchyIndex=n.getUniformLocation(c,"boundedHierarchyIndex"),c.boundedHierarchyRoot=n.getUniformLocation(c,"boundedHierarchyRoot"),c.boundedVolume=n.getUniformLocation(c,"boundedVolume"),c.colorRamp=n.getUniformLocation(c,"colorRamp"),c.texCoordCount=n.getUniformLocation(c,"texCoordCount"),c.texCoordRamp=n.getUniformLocation(c,"texCoordRamp");for(const e of this.uniforms.keys())c[e]=n.getUniformLocation(c,e);n.uniform1f(n.getUniformLocation(c,"NaN"),NaN);for(const e of this.samplers){const t=n.getUniformLocation(c,e);n.uniform1i(t,c[e+"TextureUnit"]=i.getTexture2DUnit())}i.resetTextureUnits();for(const e of this.callbacks)e.call(this);return c},activateTextures(){},createTexture(){const e=this.getBrowser().getContext(),t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.RGBA32F,1,1,0,e.RGBA,e.FLOAT,new Float32Array(4)),t},getTexture2DUnit(e,t,i){const n=t[i];return void 0===n?t[i]=e.getTexture2DUnit():n}}),Object.defineProperties(b,m().getStaticProperties("X3DParticleEmitterNode","ParticleSystems",1));const I=b,w=v().add("X3DParticleEmitterNode",I),F=e.Vector3;var S=n.n(F);function O(e){w.call(this,e),this.addType(x().PointEmitter),this._position.setUnit("length")}Object.assign(Object.setPrototypeOf(O.prototype,w.prototype),{initialize(){w.prototype.initialize.call(this),this.getBrowser().getContext().getVersion()<2||(this._position.addInterest("set_position__",this),this._direction.addInterest("set_direction__",this),this.addDefine("#define X3D_POINT_EMITTER"),this.addUniform("position","uniform vec3 position;"),this.addUniform("direction","uniform vec3 direction;"),this.addCallback(this.set_position__),this.addCallback(this.set_direction__),this.addFunction("vec3 getRandomVelocity ()\n {\n if (direction == vec3 (0.0))\n return getRandomSphericalVelocity ();\n\n else\n return direction * getRandomSpeed ();\n }"),this.addFunction("vec4 getRandomPosition ()\n {\n return vec4 (position, 1.0);\n }"))},getBBox:function(){const e=new(S());return function(t,{particleLifetime:i,lifetimeVariation:n}){const o=i*(1+n)*(this._speed.getValue()*(1+this._variation.getValue()))*2;return t.set(e.set(o,o,o),this._position.getValue())}}(),set_position__(){const{x:e,y:t,z:i}=this._position.getValue();this.setUniform("uniform3f","position",e,t,i),this._bbox_changed.addEvent()},set_direction__:(()=>{const e=new(S());return function(){const{x:t,y:i,z:n}=e.assign(this._direction.getValue()).normalize();this.setUniform("uniform3f","direction",t,i,n)}})()}),Object.defineProperties(O,{...m().getStaticProperties("PointEmitter","ParticleSystems",1,"emitter","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"on",new(a().SFBool)(!0)),new(d())(x().inputOutput,"position",new(a().SFVec3f)),new(d())(x().inputOutput,"direction",new(a().SFVec3f)(0,1,0)),new(d())(x().inputOutput,"speed",new(a().SFFloat)),new(d())(x().inputOutput,"variation",new(a().SFFloat)(.25)),new(d())(x().inputOutput,"mass",new(a().SFFloat)),new(d())(x().inputOutput,"surfaceArea",new(a().SFFloat))]),enumerable:!0}});const A=O,P=v().add("PointEmitter",A),N=Symbol();function D(){}Object.assign(D.prototype,{getDefaultEmitter(){return this[N]=new P(this.getPrivateScene()),this[N].setPrivate(!0),this[N].setup(),this.getDefaultEmitter=function(){return this[N]},Object.defineProperty(this,"getDefaultEmitter",{enumerable:!1}),this[N]}});const V=D,C=v().add("X3DParticleSystemsContext",V);function B(e){m().call(this,e),this.addType(x().X3DParticlePhysicsModelNode)}Object.assign(Object.setPrototypeOf(B.prototype,m().prototype),{addForce(){}}),Object.defineProperties(B,m().getStaticProperties("X3DParticlePhysicsModelNode","ParticleSystems",1));const U=B,M=v().add("X3DParticlePhysicsModelNode",U),z=e.X3DCast;var L=n.n(z);function X(e){M.call(this,e),this.addType(x().BoundedPhysicsModel)}Object.assign(Object.setPrototypeOf(X.prototype,M.prototype),{initialize(){M.prototype.initialize.call(this),this._geometry.addInterest("set_geometry__",this),this.set_geometry__()},getBBox(){return this.geometryNode?.getBBox()},set_geometry__(){this.geometryNode?._rebuild.removeInterest("addNodeEvent",this),this.geometryNode=L()(x().X3DGeometryNode,this._geometry),this.geometryNode?._rebuild.addInterest("addNodeEvent",this)},addGeometry(e,t){if(!this.geometryNode)return;if(!this._enabled.getValue())return;const i=this._damping.getValue(),n=this.geometryNode.getNormals().getValue(),o=this.geometryNode.getVertices().getValue();for(const t of n)e.push(t*i);for(const e of o)t.push(e)}}),Object.defineProperties(X,{...m().getStaticProperties("BoundedPhysicsModel","ParticleSystems",2,"physics","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"enabled",new(a().SFBool)(!0)),new(d())(x().inputOutput,"damping",new(a().SFFloat)(1)),new(d())(x().inputOutput,"geometry",new(a().SFNode))]),enumerable:!0}});const k=X,j=v().add("BoundedPhysicsModel",k);function G(e){w.call(this,e),this.addType(x().ConeEmitter),this._position.setUnit("length"),this._angle.setUnit("angle")}Object.assign(Object.setPrototypeOf(G.prototype,w.prototype),{initialize(){w.prototype.initialize.call(this),this.getBrowser().getContext().getVersion()<2||(this._position.addInterest("set_position__",this),this._direction.addInterest("set_direction__",this),this._angle.addInterest("set_angle__",this),this.addDefine("#define X3D_CONE_EMITTER"),this.addUniform("position","uniform vec3 position;"),this.addUniform("direction","uniform vec3 direction;"),this.addUniform("angle","uniform float angle;"),this.addCallback(this.set_position__),this.addCallback(this.set_direction__),this.addCallback(this.set_angle__),this.addFunction("vec3 getRandomVelocity ()\n {\n if (direction == vec3 (0.0))\n {\n return getRandomSphericalVelocity ();\n }\n else\n {\n vec3 normal = getRandomNormalWithDirectionAndAngle (direction, angle);\n float speed = getRandomSpeed ();\n\n return normal * speed;\n }\n }"),this.addFunction("vec4 getRandomPosition ()\n {\n return vec4 (position, 1.0);\n }"))},getBBox:function(){const e=new(S());return function(t,{particleLifetime:i,lifetimeVariation:n}){const o=i*(1+n)*(this._speed.getValue()*(1+this._variation.getValue()))*2;return t.set(e.set(o,o,o),this._position.getValue())}}(),set_position__(){const{x:e,y:t,z:i}=this._position.getValue();this.setUniform("uniform3f","position",e,t,i),this._bbox_changed.addEvent()},set_direction__(){const{x:e,y:t,z:i}=this._direction.getValue();this.setUniform("uniform3f","direction",e,t,i)},set_angle__(){this.setUniform("uniform1f","angle",this._angle.getValue())}}),Object.defineProperties(G,{...m().getStaticProperties("ConeEmitter","ParticleSystems",1,"emitter","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"on",new(a().SFBool)(!0)),new(d())(x().inputOutput,"position",new(a().SFVec3f)),new(d())(x().inputOutput,"direction",new(a().SFVec3f)(0,1,0)),new(d())(x().inputOutput,"angle",new(a().SFFloat)(.785398)),new(d())(x().inputOutput,"speed",new(a().SFFloat)),new(d())(x().inputOutput,"variation",new(a().SFFloat)(.25)),new(d())(x().inputOutput,"mass",new(a().SFFloat)),new(d())(x().inputOutput,"surfaceArea",new(a().SFFloat))]),enumerable:!0}});const H=G,Y=v().add("ConeEmitter",H);function q(e){w.call(this,e),this.addType(x().ExplosionEmitter),this._position.setUnit("length")}Object.assign(Object.setPrototypeOf(q.prototype,w.prototype),{initialize(){w.prototype.initialize.call(this),this.getBrowser().getContext().getVersion()<2||(this._position.addInterest("set_position__",this),this.addDefine("#define X3D_EXPLOSION_EMITTER"),this.addUniform("position","uniform vec3 position;"),this.addCallback(this.set_position__),this.addFunction("vec3 getRandomVelocity ()\n {\n return getRandomSphericalVelocity ();\n }"),this.addFunction("vec4 getRandomPosition ()\n {\n return vec4 (position, 1.0);\n }"))},getBBox:function(){const e=new(S());return function(t,{particleLifetime:i,lifetimeVariation:n}){const o=i*(1+n)*(this._speed.getValue()*(1+this._variation.getValue()))*2;return t.set(e.set(o,o,o),this._position.getValue())}}(),isExplosive:()=>!0,set_position__(){const{x:e,y:t,z:i}=this._position.getValue();this.setUniform("uniform3f","position",e,t,i),this._bbox_changed.addEvent()}}),Object.defineProperties(q,{...m().getStaticProperties("ExplosionEmitter","ParticleSystems",1,"emitter","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"on",new(a().SFBool)(!0)),new(d())(x().inputOutput,"position",new(a().SFVec3f)),new(d())(x().inputOutput,"speed",new(a().SFFloat)),new(d())(x().inputOutput,"variation",new(a().SFFloat)(.25)),new(d())(x().inputOutput,"mass",new(a().SFFloat)),new(d())(x().inputOutput,"surfaceArea",new(a().SFFloat))]),enumerable:!0}});const W=q,K=v().add("ExplosionEmitter",W);function Z(e){M.call(this,e),this.addType(x().ForcePhysicsModel),this._force.setUnit("force")}Object.assign(Object.setPrototypeOf(Z.prototype,M.prototype),{addForce:(()=>{const e=new(S());return function(t,i,n,o){return!!this._enabled.getValue()&&(o.set(e.assign(this._force.getValue()).multiply(n),4*t),o[4*t+3]=0,!0)}})()}),Object.defineProperties(Z,{...m().getStaticProperties("ForcePhysicsModel","ParticleSystems",1,"physics","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"enabled",new(a().SFBool)(!0)),new(d())(x().inputOutput,"force",new(a().SFVec3f)(0,-9.8,0))]),enumerable:!0}});const Q=Z,$=v().add("ForcePhysicsModel",Q),J=e.X3DShapeNode;var ee=n.n(J);const te=e.GeometryContext;var ie=n.n(te);const ne=e.VertexArray;var oe=n.n(ne);const se=e.TraverseType;var re=n.n(se);const ae=e.AlphaMode;var ce=n.n(ae);const de=e.LineSet;var le=n.n(de);const ue=e.Coordinate;var he=n.n(ue);const me=e.Matrix4;var pe=n.n(me);const fe=e.Matrix3;var _e=n.n(fe);const xe=e.Plane3;var ge=n.n(xe);const ve=e.QuickSort;var ye=n.n(ve);const Te=new(S()),Re=new(S()),Ee=new(S()),be={u:0,v:0,t:0},Ie=[new(S())(0,0,1),new(S())(0,0,-1),new(S())(0,1,0),new(S())(0,-1,0),new(S())(1,0,0)];function we(e,t){this.vertices=e.vertices,this.normals=e.normals,this.triangle=t,this.i4=12*t,this.i3=9*t}function Fe(e,t,i,n){this.min=new(S()),this.max=new(S()),this.planes=[],this.intersection=new(S());const o=e.vertices,s=this.min,r=this.max,a=i+n;let c=12*t[i];s.set(o[c],o[c+1],o[c+2]),r.assign(s);for(let e=i;e2){e.sorter.compare.axis=this.getLongestAxis(s,r),e.sorter.sort(i,a);var d=n>>>1}else d=1;const l=n-d;this.left=d>1?new Fe(e,t,i,d):new we(e,t[i]),this.right=l>1?new Fe(e,t,i+d,l):new we(e,t[i+d])}function Se(e,t){const i=e.length/12;switch(this.vertices=e,this.normals=t,i){case 0:this.root=null;break;case 1:this.root=new we(this,0);break;default:{const t=[];for(let e=0;e=t.length&&t.push(new(S())),t[d].set(c*n[s]+e*n[s+4]+a*n[s+8],c*n[s+1]+e*n[s+5]+a*n[s+9],c*n[s+2]+e*n[s+6]+a*n[s+10]),i&&(d>=i.length&&i.push(new(S())),i[d].set(c*o[r]+e*o[r+3]+a*o[r+6],c*o[r+1]+e*o[r+4]+a*o[r+7],c*o[r+2]+e*o[r+5]+a*o[r+8]))}},toArray(e){const t=e.length/4;return e.push(1,3*this.triangle,0,0),t}}),Object.assign(Fe.prototype,{intersectsLine(e,t,i){this.intersectsBBox(e)&&(this.left.intersectsLine(e,t,i),this.right.intersectsLine(e,t,i))},intersectsBBox(e){const t=this.planes,i=this.min,n=this.max,o=i.x,s=n.x,r=i.y,a=n.y,c=i.z,d=n.z,l=this.intersection;return!!(t[0].intersectsLine(e,l)&&l.x>=o&&l.x<=s&&l.y>=r&&l.y<=a)||(!!(t[1].intersectsLine(e,l)&&l.x>=o&&l.x<=s&&l.y>=r&&l.y<=a)||(!!(t[2].intersectsLine(e,l)&&l.x>=o&&l.x<=s&&l.z>=c&&l.z<=d)||(!!(t[3].intersectsLine(e,l)&&l.x>=o&&l.x<=s&&l.z>=c&&l.z<=d)||!!(t[4].intersectsLine(e,l)&&l.y>=r&&l.y<=a&&l.z>=c&&l.z<=d))))},getLongestAxis(e,t){const i=t.x-e.x,n=t.y-e.y,o=t.z-e.z;return i4*Float32Array.BYTES_PER_ELEMENT*t)),this.particleOffset=this.particleOffsets[0],this.colorOffset=this.particleOffsets[1],this.velocityOffset=this.particleOffsets[2],this.matrixOffset=this.particleOffsets[3],this.texCoordOffset=0,this.instancesStride=this.particlesStride}Object.assign(Object.setPrototypeOf(Ve.prototype,ee().prototype),{initialize(){ee().prototype.initialize.call(this);const e=this.getBrowser(),t=e.getContext();e.getContext().getVersion()<2||(this.getLive().addInterest("set_live__",this),this._enabled.addInterest("set_enabled__",this),this._geometryType.addInterest("set_geometryType__",this),this._geometryType.addInterest("set_texCoord__",this),this._maxParticles.addInterest("set_enabled__",this),this._particleLifetime.addInterest("set_particleLifetime__",this),this._particleLifetime.addInterest("set_bbox__",this),this._lifetimeVariation.addInterest("set_lifetimeVariation__",this),this._lifetimeVariation.addInterest("set_bbox__",this),this._particleSize.addInterest("set_particleSize__",this),this._emitter.addInterest("set_emitter__",this),this._emitter.addInterest("set_bbox__",this),this._physics.addInterest("set_physics__",this),this._colorKey.addInterest("set_color__",this),this._color.addInterest("set_colorRamp__",this),this._texCoordKey.addInterest("set_texCoord__",this),this._texCoord.addInterest("set_texCoordRamp__",this),this.inputParticles=Object.assign(t.createBuffer(),{vertexArrayObject:new(oe())(t),thickLinesVertexArrayObject:new(oe())(t),lineTrianglesBuffer:t.createBuffer(),numLines:0}),this.outputParticles=Object.assign(t.createBuffer(),{vertexArrayObject:new(oe())(t),thickLinesVertexArrayObject:new(oe())(t),lineTrianglesBuffer:t.createBuffer(),numLines:0}),this.forcesTexture=this.createTexture(),this.boundedTexture=this.createTexture(),this.colorRampTexture=this.createTexture(),this.texCoordRampTexture=this.createTexture(),this.geometryBuffer=this.createBuffer(),this.texCoordBuffers=new Array(e.getMaxTexCoords()).fill(this.geometryBuffer),this.lineGeometryNode=new(le())(this.getExecutionContext()),this.lineCoordinateNode=new(he())(this.getExecutionContext()),this.lineCoordinateNode._point=[0,0,-.5,0,0,.5],this.lineGeometryNode._vertexCount=[2],this.lineGeometryNode._coord=this.lineCoordinateNode,this.lineCoordinateNode.setup(),this.lineGeometryNode.setup(),this.set_emitter__(),this.set_enabled__(),this.set_geometryType__(),this.set_particleLifetime__(),this.set_lifetimeVariation__(),this.set_particleSize__(),this.set_physics__(),this.set_colorRamp__(),this.set_texCoordRamp__(),this.set_bbox__())},getShapeKey(){return this.numTexCoords?2:1},getGeometryContext(){return this.geometryType===f().GEOMETRY?this.getGeometry():this.geometryContext},getGeometryType(){return this.geometryType},getNumInstances(){return this.numParticles},getInstances(){return this.outputParticles},set_bbox__(){if(this._bboxSize.getValue().equals(this.getDefaultBBoxSize()))if(this.boundedPhysicsModelNodes.length){this.bbox.set();for(const e of this.boundedPhysicsModelNodes){const t=e.getBBox();t&&this.bbox.add(t)}}else this.emitterNode?.getBBox(this.bbox,this);else this.bbox.set(this._bboxSize.getValue(),this._bboxCenter.getValue());this.bboxSize.assign(this.bbox.size),this.bboxCenter.assign(this.bbox.center)},set_transparent__(){const e=this.appearanceNode.getAlphaMode();if(e===ce().AUTO){if(this.geometryType===f().POINT)this.setTransparent(!0);else this.setTransparent(this.getAppearance().isTransparent()||this.colorRampNode?.isTransparent()||this.geometryType===f().GEOMETRY&&this.geometryNode?.isTransparent());this.setAlphaMode(this.isTransparent()?ce().BLEND:ce().OPAQUE)}else this.setTransparent(e===ce().BLEND),this.setAlphaMode(e)},set_live__(){this.getLive().getValue()?this._isActive.getValue()&&this._maxParticles.getValue()&&(this.getBrowser().sensorEvents().addInterest("animateParticles",this),this.pauseTime&&(this.creationTime+=Date.now()/1e3-this.pauseTime,this.pauseTime=0)):this._isActive.getValue()&&this._maxParticles.getValue()&&(this.getBrowser().sensorEvents().removeInterest("animateParticles",this),0===this.pauseTime&&(this.pauseTime=Date.now()/1e3))},set_enabled__(){this._enabled.getValue()&&this._maxParticles.getValue()?this._isActive.getValue()||(this.getLive().getValue()?(this.getBrowser().sensorEvents().addInterest("animateParticles",this),this.pauseTime=0):this.pauseTime=Date.now()/1e3,this._isActive=!0,delete this.traverse):this._isActive.getValue()&&(this.getLive().getValue()&&this.getBrowser().sensorEvents().removeInterest("animateParticles",this),this._isActive=!1,this.numParticles=0,this.traverse=Function.prototype),this.set_maxParticles__()},set_geometryType__(){const e=this.getBrowser().getContext();switch(this.geometryType=Pe.enum(f(),this._geometryType.getValue(),f().QUAD),this.geometryType){case f().POINT:this.geometryContext.geometryType=0,this.geometryContext.hasNormals=!1,this.texCoordCount=0,this.vertexCount=1,this.hasNormals=!1,this.verticesOffset=0,this.primitiveMode=e.POINTS,e.bindBuffer(e.ARRAY_BUFFER,this.geometryBuffer),e.bufferData(e.ARRAY_BUFFER,Ne,e.DYNAMIC_DRAW);break;case f().LINE:this.geometryContext.geometryType=1,this.geometryContext.hasNormals=!1,this.texCoordCount=0;break;case f().TRIANGLE:case f().QUAD:case f().SPRITE:this.geometryContext.geometryType=2,this.geometryContext.hasNormals=!0,this.texCoordCount=4,this.vertexCount=6,this.hasNormals=!0,this.texCoordsOffset=0,this.normalOffset=24*Float32Array.BYTES_PER_ELEMENT,this.verticesOffset=27*Float32Array.BYTES_PER_ELEMENT,this.primitiveMode=e.TRIANGLES,e.bindBuffer(e.ARRAY_BUFFER,this.geometryBuffer),e.bufferData(e.ARRAY_BUFFER,De,e.DYNAMIC_DRAW);break;case f().GEOMETRY:this.texCoordCount=0}this.geometryContext.updateGeometryKey(),this.updateVertexArrays(),this.set_transparent__()},set_maxParticles__(){const e=this.numParticles,t=Math.max(0,this._maxParticles.getValue());this.maxParticles=t,this.numParticles=Math.min(e,t),this.emitterNode.isExplosive()||(this.creationTime=Date.now()/1e3),this.resizeBuffers(e),this.updateVertexArrays()},set_particleLifetime__(){this.particleLifetime=Math.max(this._particleLifetime.getValue(),0)},set_lifetimeVariation__(){this.lifetimeVariation=Math.max(this._lifetimeVariation.getValue(),0)},set_particleSize__(){this.lineCoordinateNode._point[0].z=-this._particleSize.y/2,this.lineCoordinateNode._point[1].z=+this._particleSize.y/2},set_emitter__(){this.emitterNode?._bbox_changed.removeInterest("set_bbox__",this),this.emitterNode=L()(x().X3DParticleEmitterNode,this._emitter)??this.getBrowser().getDefaultEmitter(),this.emitterNode._bbox_changed.addInterest("set_bbox__",this)},set_physics__(){const e=this._physics.getValue(),t=this.forcePhysicsModelNodes,i=this.boundedPhysicsModelNodes;for(const e of i)e.removeInterest("set_boundedPhysics__",this),e.removeInterest("set_bbox__",this);t.length=0,i.length=0;for(let n=0,o=e.length;n=0;--e){switch(s[e]){case x().ForcePhysicsModel:case x().WindPhysicsModel:t.push(o);break;case x().BoundedPhysicsModel:i.push(o);break;default:continue}break}}catch{}for(const e of i)e.addInterest("set_boundedPhysics__",this),e.addInterest("set_bbox__",this);this.set_boundedPhysics__()},set_boundedPhysics__(){const e=this.getBrowser().getContext(),t=this.boundedPhysicsModelNodes,i=this.boundedNormals,n=this.boundedVertices;i.length=0,n.length=0;for(let e=0,o=t.length;eo.length&&(o=this.colorRamp=new Float32Array(n*n*4));for(let e=0;eo.length?o=this.texCoordRamp=new Float32Array(n*n*4):o.fill(0);for(let e=0;et?(this.creationTime=e,this.numParticles=this.maxParticles,this.createParticles=this._createParticles.getValue(),o=Number.POSITIVE_INFINITY):this.createParticles=!1}else if(this.createParticles=this._createParticles.getValue(),this.numParticless.length&&(s=this.forces=new Float32Array(4*n));let a=0;for(let t=0;t{const e=new Float32Array(De),t=[new(S())(-.5,-.5,0),new(S())(.5,-.5,0),new(S())(.5,.5,0),new(S())(-.5,-.5,0),new(S())(.5,.5,0),new(S())(-.5,.5,0)],i=new(S()),n=new(S());return function(o,s){for(let t=0;t<3;++t)e[24+t]=s[6+t];n.set(this._particleSize.x,this._particleSize.y,1);for(let o=0;o<6;++o){const r=27+4*o;s.multVecMatrix(i.assign(t[o]).multVec(n)),e[r+0]=i.x,e[r+1]=i.y,e[r+2]=i.z}o.bindBuffer(o.ARRAY_BUFFER,this.geometryBuffer),o.bufferData(o.ARRAY_BUFFER,e,o.DYNAMIC_DRAW)}})(),intersectsBox(e,t){},traverse(e,t){if(this.numParticles){switch(e){case re().POINTER:this._pointerEvents.getValue()&&t.addPointingShape(this);break;case re().PICKING:case re().COLLISION:break;case re().SHADOW:this._castShadow.getValue()&&t.addShadowShape(this);break;case re().DISPLAY:t.addDisplayShape(this)&&this.getAppearance().traverse(e,t)}this.geometryType===f().GEOMETRY&&this.getGeometry()?.traverse(e,t)}},displaySimple(e,t,i){switch(this.geometryType){case f().LINE:this.lineGeometryNode.displaySimpleInstanced(e,i,this);break;case f().GEOMETRY:this.getGeometry()?.displaySimpleInstanced(e,i,this);break;case f().SPRITE:this.updateSprite(e,this.getScreenAlignedRotation(t.modelViewMatrix));default:{const t=this.outputParticles;if(t.vertexArrayObject.enable(i.getProgram())){const n=this.particlesStride;i.enableParticleAttribute(e,t,n,this.particleOffset,1),i.enableInstanceMatrixAttribute(e,t,n,this.matrixOffset,1),i.enableVertexAttribute(e,this.geometryBuffer,0,this.verticesOffset)}e.drawArraysInstanced(this.primitiveMode,0,this.vertexCount,this.numParticles);break}}},display(e,t){switch(this.geometryType){case f().LINE:this.lineGeometryNode.displayInstanced(e,t,this);break;case f().GEOMETRY:this.getGeometry()?.displayInstanced(e,t,this);break;case f().SPRITE:this.updateSprite(e,this.getScreenAlignedRotation(t.modelViewMatrix));case f().QUAD:case f().TRIANGLE:{const i=pe().prototype.determinant3.call(t.modelViewMatrix)>0;e.frontFace(i?e.CCW:e.CW),e.enable(e.CULL_FACE)}default:{const i=this.getBrowser(),n=this.getAppearance(),o=n.getRenderModes(),s=n.getShader(this.geometryContext,t),r=i.getPrimitiveMode(this.primitiveMode);for(const t of o)t.enable(e);if(s.enable(e),s.setUniforms(e,this.geometryContext,t),this.numTexCoords){const t=i.getTexture2DUnit();e.activeTexture(e.TEXTURE0+t),e.bindTexture(e.TEXTURE_2D,this.texCoordRampTexture),e.uniform1i(s.x3d_TexCoordRamp,t)}const a=this.outputParticles;if(a.vertexArrayObject.enable(s.getProgram())){const{particlesStride:t}=this;s.enableParticleAttribute(e,a,t,this.particleOffset,1),s.enableParticleVelocityAttribute(e,a,t,this.velocityOffset,1),s.enableInstanceMatrixAttribute(e,a,t,this.matrixOffset,1),this.geometryContext.colorMaterial&&(s.enableColorAttribute(e,a,t,this.colorOffset),s.colorAttributeDivisor(e,1)),this.texCoordCount&&s.enableTexCoordAttribute(e,this.texCoordBuffers,0,this.texCoordOffset),this.hasNormals&&(s.enableNormalAttribute(e,this.geometryBuffer,0,this.normalOffset),s.normalAttributeDivisor(e,this.maxParticles)),s.enableVertexAttribute(e,this.geometryBuffer,0,this.verticesOffset)}e.drawArraysInstanced(r,0,this.vertexCount,this.numParticles);for(const t of o)t.disable(e);break}}},getScreenAlignedRotation:(()=>{const e=new(pe()),t=new(S()),i=new(S()),n=new(S()),o=new(_e())(9);return function(s){e.assign(s).inverse(),e.multDirMatrix(t.assign(S().zAxis)),e.multDirMatrix(i.assign(S().yAxis));const r=i.cross(t);n.assign(t).cross(r);const a=t;return r.normalize(),n.normalize(),a.normalize(),o.set(r.x,r.y,r.z,n.x,n.y,n.z,a.x,a.y,a.z),o}})()}),Object.defineProperties(Ve,{...m().getStaticProperties("ParticleSystem","ParticleSystems",2,"children","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"enabled",new(a().SFBool)(!0)),new(d())(x().inputOutput,"createParticles",new(a().SFBool)(!0)),new(d())(x().initializeOnly,"geometryType",new(a().SFString)("QUAD")),new(d())(x().inputOutput,"maxParticles",new(a().SFInt32)(200)),new(d())(x().inputOutput,"particleLifetime",new(a().SFFloat)(5)),new(d())(x().inputOutput,"lifetimeVariation",new(a().SFFloat)(.25)),new(d())(x().inputOutput,"particleSize",new(a().SFVec2f)(.02,.02)),new(d())(x().initializeOnly,"emitter",new(a().SFNode)),new(d())(x().initializeOnly,"physics",new(a().MFNode)),new(d())(x().initializeOnly,"colorKey",new(a().MFFloat)),new(d())(x().initializeOnly,"color",new(a().SFNode)),new(d())(x().initializeOnly,"texCoordKey",new(a().MFFloat)),new(d())(x().initializeOnly,"texCoord",new(a().SFNode)),new(d())(x().outputOnly,"isActive",new(a().SFBool)),new(d())(x().inputOutput,"pointerEvents",new(a().SFBool)(!0)),new(d())(x().inputOutput,"castShadow",new(a().SFBool)(!0)),new(d())(x().inputOutput,"visible",new(a().SFBool)(!0)),new(d())(x().inputOutput,"bboxDisplay",new(a().SFBool)),new(d())(x().initializeOnly,"bboxSize",new(a().SFVec3f)(-1,-1,-1)),new(d())(x().initializeOnly,"bboxCenter",new(a().SFVec3f)),new(d())(x().inputOutput,"appearance",new(a().SFNode)),new(d())(x().inputOutput,"geometry",new(a().SFNode))]),enumerable:!0}});const Ce=Ve,Be=v().add("ParticleSystem",Ce),Ue=e.IndexedLineSet;var Me=n.n(Ue);function ze(e){w.call(this,e),this.addType(x().PolylineEmitter),this.verticesIndex=-1,this.polylinesNode=new(Me())(e),this.polylinesArray=new Float32Array}Object.assign(Object.setPrototypeOf(ze.prototype,w.prototype),{initialize(){w.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this.polylinesTexture=this.createTexture(),this._direction.addInterest("set_direction__",this),this._set_coordIndex.addFieldInterest(this._coordIndex),this._coordIndex.addFieldInterest(this.polylinesNode._coordIndex),this._coord.addFieldInterest(this.polylinesNode._coord),this.polylinesNode._coordIndex=this._coordIndex,this.polylinesNode._coord=this._coord,this.polylinesNode.setPrivate(!0),this.polylinesNode.setup(),this.polylinesNode._rebuild.addInterest("set_polylines__",this),this.addDefine("#define X3D_POLYLINE_EMITTER"),this.addSampler("polylines"),this.addUniform("direction","uniform vec3 direction;"),this.addUniform("verticesIndex","uniform int verticesIndex;"),this.addUniform("polylines","uniform sampler2D polylines;"),this.addCallback(this.set_direction__),this.addCallback(this.set_verticesIndex__),this.addFunction("vec3 getRandomVelocity ()\n {\n if (direction == vec3 (0.0))\n return getRandomSphericalVelocity ();\n\n else\n return direction * getRandomSpeed ();\n }"),this.addFunction("vec4 getRandomPosition ()\n {\n if (verticesIndex < 0)\n {\n return vec4 (NaN);\n }\n else\n {\n // Determine index0, index1 and weight.\n\n float lastLengthSoFar = texelFetch (polylines, verticesIndex - 1, 0) .x;\n float fraction = random () * lastLengthSoFar;\n\n int index0 = 0;\n int index1 = 0;\n float weight = 0.0;\n\n interpolate (polylines, verticesIndex, fraction, index0, index1, weight);\n\n // Interpolate and return position.\n\n index0 *= 2;\n index1 = index0 + 1;\n\n vec4 vertex0 = texelFetch (polylines, verticesIndex + index0, 0);\n vec4 vertex1 = texelFetch (polylines, verticesIndex + index1, 0);\n\n return mix (vertex0, vertex1, weight);\n }\n }"),this.set_polylines__())},getBBox:function(){const e=new(S());return function(t,{particleLifetime:i,lifetimeVariation:n}){const o=i*(1+n)*(this._speed.getValue()*(1+this._variation.getValue()))*2;return t.set(e.set(o,o,o),this.polylinesNode.getBBox().center).add(this.polylinesNode.getBBox())}}(),set_direction__:(()=>{const e=new(S());return function(){const{x:t,y:i,z:n}=e.assign(this._direction.getValue()).normalize();this.setUniform("uniform3f","direction",t,i,n)}})(),set_verticesIndex__(){this.setUniform("uniform1i","verticesIndex",this.verticesIndex)},set_polylines__:(()=>{const e=new(S()),t=new(S());return function(){const i=this.getBrowser().getContext(),n=this.polylinesNode.getVertices().getValue(),o=n.length/4,s=o/2+1,r=Math.ceil(Math.sqrt(s+o)),a=s;let c=this.polylinesArray;c.length 0.5)\n normal = -normal;\n\n return normal * getRandomSpeed ();\n }\n }"),this.addFunction("vec4 getRandomPosition ()\n {\n return verticesIndex < 0 ? vec4 (NaN) : position;\n }"),this.set_surface__())},getBBox:function(){const e=new(S());return function(t,{particleLifetime:i,lifetimeVariation:n}){if(!this.surfaceNode)return t.set();const o=i*(1+n)*(this._speed.getValue()*(1+this._variation.getValue()))*2;return t.set(e.set(o,o,o),this.surfaceNode.getBBox().center).add(this.surfaceNode.getBBox())}}(),set_surface__(){this.surfaceNode&&(this.surfaceNode._solid.removeInterest("set_solid__",this),this.surfaceNode._rebuild.removeInterest("set_geometry__",this)),this.surfaceNode=L()(x().X3DGeometryNode,this._surface),this.surfaceNode&&(this.surfaceNode._solid.addInterest("set_solid__",this),this.surfaceNode._rebuild.addInterest("set_geometry__",this)),this.set_solid__(),this.set_geometry__()},set_solid__(){this.setUniform("uniform1i","solid",this.surfaceNode?._solid.getValue()??!0)},set_verticesIndex__(){this.setUniform("uniform1i","verticesIndex",this.verticesIndex)},set_normalsIndex__(){this.setUniform("uniform1i","normalsIndex",this.normalsIndex)},set_geometry__:(()=>{const e=new(S()),t=new(S()),i=new(S());return function(){const n=this.getBrowser().getContext();if(this.surfaceNode){const o=this.surfaceNode.getVertices().getValue(),s=this.surfaceNode.getNormals().getValue(),r=o.length/4,a=r/3+1,c=Math.ceil(Math.sqrt(a+r+r)),d=a,l=d+r;let u=this.surfaceArray;u.length{const e=new(S());return function(){const{x:t,y:i,z:n}=e.assign(this._direction.getValue()).normalize();this.setUniform("uniform3f","direction",t,i,n)}})(),set_verticesIndex__(){this.setUniform("uniform1i","verticesIndex",this.verticesIndex)},set_normalsIndex__(){this.setUniform("uniform1i","normalsIndex",this.normalsIndex)},set_hierarchyIndex__(){this.setUniform("uniform1i","hierarchyIndex",this.hierarchyIndex)},set_hierarchyRoot__(){this.setUniform("uniform1i","hierarchyRoot",this.hierarchyRoot)},set_geometry__:(()=>{const e=new(S()),t=new(S()),i=new(S());return function(){const n=this.getBrowser().getContext(),o=this.volumeNode.getVertices().getValue(),s=this.volumeNode.getNormals().getValue(),r=new Ae(o,s).toArray([]),a=o.length/4,c=s.length/3,d=a/3+1,l=r.length/4,u=Math.ceil(Math.sqrt(d+a+a+l)),h=d,m=h+a,p=m+c;let f=this.volumeArray;f.length{const e=new(S());return function(t,i,n,o){if(this._enabled.getValue()){const s=i.getSurfaceArea(),r=this.getRandomSpeed(i),a=10**(2*Math.log(r))*.64615;return this._direction.getValue().equals(S().Zero)?i.getRandomNormal(e):e.assign(this._direction.getValue()).normalize(),o.set(e.multiply(s*a*n),4*t),o[4*t+3]=Math.PI*Je().clamp(this._turbulence.getValue(),0,1),!0}return!1}})()}),Object.defineProperties(et,{...m().getStaticProperties("WindPhysicsModel","ParticleSystems",1,"physics","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"enabled",new(a().SFBool)(!0)),new(d())(x().inputOutput,"direction",new(a().SFVec3f)(1,0,0)),new(d())(x().inputOutput,"speed",new(a().SFFloat)(.1)),new(d())(x().inputOutput,"gustiness",new(a().SFFloat)(.1)),new(d())(x().inputOutput,"turbulence",new(a().SFFloat))]),enumerable:!0}});const tt=et,it=v().add("WindPhysicsModel",tt);s().add({name:"ParticleSystems",concreteNodes:[j,Y,K,$,Be,P,Xe,Ye,Qe,it],abstractNodes:[w,M],browserContext:C});v().add("ParticleSystemsComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const e=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var t={254:t=>{t.exports=e.jquery}},i={};function n(e){var o=i[e];if(void 0!==o)return o.exports;var s=i[e]={exports:{}};return t[e](s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);const o=e.Components;var s=n.n(o);const r=e.Fields;var a=n.n(r);const c=e.X3DFieldDefinition;var d=n.n(c);const l=e.FieldDefinitionArray;var u=n.n(l);const h=e.X3DNode;var m=n.n(h);const p=e.GeometryTypes;var f=n.n(p);const _=e.X3DConstants;var x=n.n(_);const g=e.Namespace;var v=n.n(g);const y=v().add("Line3.glsl","\n#if defined(X3D_BOUNDED_VOLUME)||defined(X3D_VOLUME_EMITTER)\nstruct Line3{vec3 point;vec3 direction;};bool intersects(const in Line3 line,const in vec3 a,const in vec3 b,const in vec3 c,out vec3 r){vec3 edge1=b-a;vec3 edge2=c-a;vec3 pvec=cross(line.direction,edge2);float det=dot(edge1,pvec);if(det==0.0)return false;float inv_det=1.0/det;vec3 tvec=line.point-a;float u=dot(tvec,pvec)*inv_det;if(u<0.0||u>1.0)return false;vec3 qvec=cross(tvec,edge1);float v=dot(line.direction,qvec)*inv_det;if(v<0.0||u+v>1.0)return false;r=vec3(u,v,1.0-u-v);return true;}\n#endif\n"),T=v().add("Plane3.glsl","\n#if defined(X3D_BOUNDED_VOLUME)||defined(X3D_VOLUME_EMITTER)\nstruct Plane3{vec3 normal;float distanceFromOrigin;};Plane3 plane3(const in vec3 point,const in vec3 normal){return Plane3(normal,dot(normal,point));}float plane_distance(const in Plane3 plane,const in vec3 point){return dot(point,plane.normal)-plane.distanceFromOrigin;}bool intersects(const in Plane3 plane,const in Line3 line,out vec3 point){float theta=dot(line.direction,plane.normal);if(theta==0.0)return false;float t=(plane.distanceFromOrigin-dot(plane.normal,line.point))/theta;point=line.point+line.direction*t;return true;}void sort(inout vec4 points[ARRAY_SIZE],const in int count,const in Plane3 plane){const float shrink=1.0/1.3;int gap=count;bool exchanged=true;while(exchanged){gap=int(float(gap)*shrink);if(gap<=1){exchanged=false;gap=1;}for(int i=0,l=count-gap;iplane_distance(plane,points[j].xyz)){vec4 tmp1=points[i];points[i]=points[j];points[j]=tmp1;exchanged=true;}}}}int min_index(const in vec4 points[ARRAY_SIZE],const in int count,const in float value,const in Plane3 plane){int index=-1;float dist=1000000.0;for(int i=0;i=value&&d=0||current>=0){if(current>=0){setBVHIndex(current);if(getBVHType(volume)==BVH_NODE){if(intersects(getBVHMin(volume),getBVHMax(volume),line)){stack[++stackIndex]=current;current=getBVHLeft(volume,hierarchyIndex);}else{current=-1;}}else{int t=getBVHTriangle(volume);int v=verticesIndex+t;vec3 r=vec3(0.0);vec3 a=texelFetch(volume,v,0).xyz;vec3 b=texelFetch(volume,v+1,0).xyz;vec3 c=texelFetch(volume,v+2,0).xyz;if(intersects(line,a,b,c,r))points[count++]=vec4(r.z*a+r.x*b+r.y*c,1.0);current=-1;}}else{setBVHIndex(stack[stackIndex--]);current=getBVHRight(volume,hierarchyIndex);}}return count;}\n#endif\n#if defined(X3D_BOUNDED_VOLUME)\nint getIntersections(const in sampler2D volume,const in int verticesIndex,const in int normalsIndex,const in int hierarchyIndex,const in int rootIndex,const in Line3 line,out vec4 points[ARRAY_SIZE],out vec3 normals[ARRAY_SIZE]){int current=getBVHRoot(volume,hierarchyIndex,rootIndex);int count=0;int stackIndex=-1;int stack[BVH_STACK_SIZE];while(stackIndex>=0||current>=0){if(current>=0){setBVHIndex(current);if(getBVHType(volume)==BVH_NODE){if(intersects(getBVHMin(volume),getBVHMax(volume),line)){stack[++stackIndex]=current;current=getBVHLeft(volume,hierarchyIndex);}else{current=-1;}}else{int t=getBVHTriangle(volume);int v=verticesIndex+t;vec3 r=vec3(0.0);vec3 a=texelFetch(volume,v,0).xyz;vec3 b=texelFetch(volume,v+1,0).xyz;vec3 c=texelFetch(volume,v+2,0).xyz;if(intersects(line,a,b,c,r)){points[count]=vec4(r.z*a+r.x*b+r.y*c,1.0);int n=normalsIndex+t;vec3 n0=texelFetch(volume,n,0).xyz;vec3 n1=texelFetch(volume,n+1,0).xyz;vec3 n2=texelFetch(volume,n+2,0).xyz;normals[count]=r.z*n0+r.x*n1+r.y*n2;++count;}current=-1;}}else{setBVHIndex(stack[stackIndex--]);current=getBVHRight(volume,hierarchyIndex);}}return count;}\n#endif\n#endif\n");function b(e){m().call(this,e),this.addType(x().X3DParticleEmitterNode),this.addChildObjects(x().outputOnly,"bbox_changed",new(a().SFTime)),this._speed.setUnit("speed"),this._mass.setUnit("mass"),this._surfaceArea.setUnit("area"),this.defines=[],this.samplers=[],this.uniforms=new Map,this.callbacks=[],this.functions=[],this.programs=new Map}Object.assign(Object.setPrototypeOf(b.prototype,m().prototype),{initialize(){m().prototype.initialize.call(this);const e=this.getBrowser().getContext();e.getVersion()<2||(this.transformFeedback=e.createTransformFeedback(),this._on.addInterest("set_on__",this),this._speed.addInterest("set_speed__",this),this._variation.addInterest("set_variation__",this),this._mass.addInterest("set_mass__",this),this._surfaceArea.addInterest("set_surfaceArea__",this),this.addSampler("forces"),this.addSampler("boundedVolume"),this.addSampler("colorRamp"),this.addSampler("texCoordRamp"),this.addUniform("speed","uniform float speed;"),this.addUniform("variation","uniform float variation;"),this.addCallback(this.set_speed__),this.addCallback(this.set_variation__),this.addFunction(y),this.addFunction(T),this.addFunction(R),this.addFunction(E),this.set_on__(),this.set_mass__(),this.set_surfaceArea__())},isExplosive:()=>!1,getMass(){return this.mass},getSurfaceArea(){return this.surfaceArea},set_on__(){this.on=this._on.getValue()},set_speed__(){this.setUniform("uniform1f","speed",Math.max(this._speed.getValue(),0))},set_variation__(){this.setUniform("uniform1f","variation",Math.max(this._variation.getValue(),0))},set_mass__(){this.mass=Math.max(this._mass.getValue(),0)},set_surfaceArea__(){this.surfaceArea=Math.max(this._surfaceArea.getValue(),0)},getRandomValue:(e,t)=>Math.random()*(t-e)+e,getRandomNormal(e){const t=this.getRandomValue(-1,1)*Math.PI,i=this.getRandomValue(-1,1),n=Math.acos(i),o=Math.sin(n);return e.set(Math.sin(t)*o,Math.cos(t)*o,i)},animate(e,t){const i=this.getBrowser(),n=i.getContext(),o=this.getProgram(e),s=e.inputParticles;if(n.useProgram(o),n.uniform1i(o.randomSeed,4294967295*Math.random()),n.uniform1f(o.particleLifetime,e.particleLifetime),n.uniform1f(o.lifetimeVariation,e.lifetimeVariation),n.uniform1f(o.deltaTime,t),n.uniform2f(o.particleSize,e._particleSize.x,e._particleSize.y),e.numForces&&(n.activeTexture(n.TEXTURE0+o.forcesTextureUnit),n.bindTexture(n.TEXTURE_2D,e.forcesTexture)),e.boundedHierarchyRoot>-1&&(n.uniform1i(o.boundedVerticesIndex,e.boundedVerticesIndex),n.uniform1i(o.boundedNormalsIndex,e.boundedNormalsIndex),n.uniform1i(o.boundedHierarchyIndex,e.boundedHierarchyIndex),n.uniform1i(o.boundedHierarchyRoot,e.boundedHierarchyRoot),n.activeTexture(n.TEXTURE0+o.boundedVolumeTextureUnit),n.bindTexture(n.TEXTURE_2D,e.boundedTexture)),e.numColors&&(n.activeTexture(n.TEXTURE0+o.colorRampTextureUnit),n.bindTexture(n.TEXTURE_2D,e.colorRampTexture)),e.numTexCoords&&(n.uniform1i(o.texCoordCount,e.texCoordCount),n.activeTexture(n.TEXTURE0+o.texCoordRampTextureUnit),n.bindTexture(n.TEXTURE_2D,e.texCoordRampTexture)),this.activateTextures(n,o),s.vertexArrayObject.enable(o)){const{particlesStride:t,particleOffsets:i}=e;for(const[e,r]of o.inputs)n.bindBuffer(n.ARRAY_BUFFER,s),n.enableVertexAttribArray(r),n.vertexAttribPointer(r,4,n.FLOAT,!1,t,i[e])}n.bindFramebuffer(n.FRAMEBUFFER,i.getDefaultFrameBuffer()),n.bindBuffer(n.ARRAY_BUFFER,null),n.bindTransformFeedback(n.TRANSFORM_FEEDBACK,this.transformFeedback),n.bindBufferBase(n.TRANSFORM_FEEDBACK_BUFFER,0,e.outputParticles),n.enable(n.RASTERIZER_DISCARD),n.beginTransformFeedback(n.POINTS),n.drawArrays(n.POINTS,0,e.numParticles),n.endTransformFeedback(),n.disable(n.RASTERIZER_DISCARD),n.bindTransformFeedback(n.TRANSFORM_FEEDBACK,null)},addDefine(e){this.defines.push(e)},addSampler(e){this.samplers.push(e)},addUniform(e,t){this.uniforms.set(e,t)},setUniform(e,t,i,n,o){const s=this.getBrowser().getContext();for(const r of this.programs.values())s.useProgram(r),s[e](r[t],i,n,o)},addCallback(e){this.callbacks.push(e)},addFunction(e){this.functions.push(e)},getProgram(e){const{geometryType:t,createParticles:i,numColors:n,numTexCoords:o,numForces:s,boundedHierarchyRoot:r}=e;let a="";return a+=t,a+=i&&this.on?1:0,a+=".",a+=n,a+=".",a+=o,a+=".",a+=s,a+=".",a+=r,this.programs.get(a)??this.createProgram(a,e)},createProgram(e,t){const i=this.getBrowser(),n=i.getContext(),o=this.defines.slice();o.push(`#define X3D_GEOMETRY_TYPE ${t.geometryType}`),o.push(""+(t.createParticles&&this.on?"#define X3D_CREATE_PARTICLES":"")),o.push(`#define X3D_NUM_COLORS ${t.numColors}`),o.push(`#define X3D_NUM_TEX_COORDS ${t.numTexCoords}`),o.push(`#define X3D_NUM_FORCES ${t.numForces}`),o.push(""+(t.boundedHierarchyRoot>-1?"#define X3D_BOUNDED_VOLUME":""));const s=`#version 300 es\nprecision highp float;precision highp int;precision highp sampler2D;\n${o.join("\n")}\nuniform int randomSeed;uniform float particleLifetime;uniform float lifetimeVariation;uniform float deltaTime;uniform vec2 particleSize;\n#if X3D_NUM_FORCES>0\nuniform sampler2D forces;\n#endif\n#if defined(X3D_BOUNDED_VOLUME)\nuniform int boundedVerticesIndex;uniform int boundedNormalsIndex;uniform int boundedHierarchyIndex;uniform int boundedHierarchyRoot;uniform sampler2D boundedVolume;\n#endif\n#if X3D_NUM_COLORS>0\nuniform sampler2D colorRamp;\n#endif\n#if X3D_NUM_TEX_COORDS>0\nuniform int texCoordCount;uniform sampler2D texCoordRamp;\n#endif\n${Array.from(this.uniforms.values()).join("\n")}\nin vec4 input0;in vec4 input2;in vec4 input6;out vec4 output0;out vec4 output1;out vec4 output2;out vec4 output3;out vec4 output4;out vec4 output5;out vec4 output6;\n${Object.entries(f()).map((([e,t])=>`#define ${e} ${t}`)).join("\n")}\nconst int ARRAY_SIZE=32;const float M_PI=3.14159265359;uniform float NaN;vec4 texelFetch(const in sampler2D sampler,const in int index,const in int lod){int x=textureSize(sampler,lod).x;ivec2 p=ivec2(index % x,index/x);vec4 t=texelFetch(sampler,p,lod);return t;}vec3 save_normalize(const in vec3 vector){float l=length(vector);if(l==0.0)return vec3(0.0);return vector/l;}vec4 Quaternion(const in vec3 fromVector,const in vec3 toVector){vec3 from=save_normalize(fromVector);vec3 to=save_normalize(toVector);float cos_angle=dot(from,to);vec3 cross_vec=cross(from,to);float cross_len=length(cross_vec);if(cross_len==0.0){if(cos_angle>0.0){return vec4(0.0,0.0,0.0,1.0);}else{vec3 t=cross(from,vec3(1.0,0.0,0.0));if(dot(t,t)==0.0)t=cross(from,vec3(0.0,1.0,0.0));t=save_normalize(t);return vec4(t,0.0);}}else{float s=sqrt(abs(1.0-cos_angle)*0.5);cross_vec=save_normalize(cross_vec);return vec4(cross_vec*s,sqrt(abs(1.0+cos_angle)*0.5));}}vec3 multVecQuat(const in vec3 v,const in vec4 q){float a=q.w*q.w-q.x*q.x-q.y*q.y-q.z*q.z;float b=2.0*(v.x*q.x+v.y*q.y+v.z*q.z);float c=2.0*q.w;vec3 r=a*v.xyz+b*q.xyz+c*(q.yzx*v.zxy-q.zxy*v.yzx);return r;}mat3 Matrix3(const in vec4 quaternion){float x=quaternion.x;float y=quaternion.y;float z=quaternion.z;float w=quaternion.w;float A=y*y;float B=z*z;float C=x*y;float D=z*w;float E=z*x;float F=y*w;float G=x*x;float H=y*z;float I=x*w;return mat3(1.0-2.0*(A+B),2.0*(C+D),2.0*(E-F),2.0*(C-D),1.0-2.0*(B+G),2.0*(H+I),2.0*(E+F),2.0*(H-I),1.0-2.0*(A+G));}uint seed=1u;void srand(const in int value){seed=uint(value);}float random(){seed=seed*1103515245u+12345u;return float(seed)/4294967295.0;}float getRandomValue(const in float min,const in float max){return min+random()*(max-min);}float getRandomLifetime(){float v=particleLifetime*lifetimeVariation;float min_=max(0.0,particleLifetime-v);float max_=particleLifetime+v;return getRandomValue(min_,max_);}float getRandomSpeed(){float v=speed*variation;float min_=max(0.0,speed-v);float max_=speed+v;return getRandomValue(min_,max_);}vec3 getRandomNormal(){float theta=getRandomValue(-M_PI,M_PI);float cphi=getRandomValue(-1.0,1.0);float r=sqrt(1.0-cphi*cphi);return vec3(sin(theta)*r,cos(theta)*r,cphi);}vec3 getRandomNormalWithAngle(const in float angle){float theta=getRandomValue(-M_PI,M_PI);float cphi=getRandomValue(cos(angle),1.0);float r=sqrt(1.0-cphi*cphi);return vec3(sin(theta)*r,cos(theta)*r,cphi);}vec3 getRandomNormalWithDirectionAndAngle(const in vec3 direction,const in float angle){vec4 rotation=Quaternion(vec3(0.0,0.0,1.0),direction);vec3 normal=getRandomNormalWithAngle(angle);return multVecQuat(normal,rotation);}vec3 getRandomSurfaceNormal(const in vec3 direction){float theta=getRandomValue(-M_PI,M_PI);float cphi=pow(random(),1.0/3.0);float r=sqrt(1.0-cphi*cphi);vec3 normal=vec3(sin(theta)*r,cos(theta)*r,cphi);vec4 rotation=Quaternion(vec3(0.0,0.0,1.0),direction);return multVecQuat(normal,rotation);}vec3 getRandomSphericalVelocity(){vec3 normal=getRandomNormal();float speed=getRandomSpeed();return normal*speed;}int upperBound(const in sampler2D sampler,in int count,const in float value){int first=0;int step=0;while(count>0){int index=first;step=count>>1;index+=step;if(value0||defined(X3D_POLYLINE_EMITTER)||defined(X3D_SURFACE_EMITTER)||defined(X3D_VOLUME_EMITTER)\nvoid interpolate(const in sampler2D sampler,const in int count,const in float fraction,out int index0,out int index1,out float weight){if(count==1||fraction<=texelFetch(sampler,0,0).x){index0=0;index1=0;weight=0.0;}else if(fraction>=texelFetch(sampler,count-1,0).x){index0=count-2;index1=count-1;weight=1.0;}else{int index=upperBound(sampler,count,fraction);if(index0\nvoid interpolate(const in sampler2D sampler,const in int count,const in float fraction,out int index0){if(count==1||fraction<=texelFetch(sampler,0,0).x){index0=0;}else if(fraction>=texelFetch(sampler,count-1,0).x){index0=count-2;}else{int index=upperBound(sampler,count,fraction);if(index1.0){u=1.0-u;v=1.0-v;}float t=1.0-u-v;return vec3(t,u,v);}void getRandomPointOnSurface(const in sampler2D surface,const in int verticesIndex,const in int normalsIndex,out vec4 position,out vec3 normal){float lastAreaSoFar=texelFetch(surface,verticesIndex-1,0).x;float fraction=random()*lastAreaSoFar;int index0;int index1;int index2;float weight;interpolate(surface,verticesIndex,fraction,index0,index1,weight);index0*=3;index1=index0+1;index2=index0+2;vec4 vertex0=texelFetch(surface,verticesIndex+index0,0);vec4 vertex1=texelFetch(surface,verticesIndex+index1,0);vec4 vertex2=texelFetch(surface,verticesIndex+index2,0);vec3 normal0=texelFetch(surface,normalsIndex+index0,0).xyz;vec3 normal1=texelFetch(surface,normalsIndex+index1,0).xyz;vec3 normal2=texelFetch(surface,normalsIndex+index2,0).xyz;vec3 r=getRandomBarycentricCoord();position=r.z*vertex0+r.x*vertex1+r.y*vertex2;normal=save_normalize(r.z*normal0+r.x*normal1+r.y*normal2);}\n#endif\n${this.functions.join("\n")}\n#if X3D_NUM_COLORS>0\nvec4 getColor(const in float lifetime,const in float elapsedTime){float fraction=elapsedTime/lifetime;int index0;int index1;float weight;interpolate(colorRamp,X3D_NUM_COLORS,fraction,index0,index1,weight);vec4 color0=texelFetch(colorRamp,X3D_NUM_COLORS+index0,0);vec4 color1=texelFetch(colorRamp,X3D_NUM_COLORS+index1,0);return mix(color0,color1,weight);}\n#else\n#define getColor(lifetime,elapsedTime)(vec4(1.0))\n#endif\n#if defined(X3D_BOUNDED_VOLUME)\nvoid bounce(const in float deltaTime,const in vec4 fromPosition,inout vec4 toPosition,inout vec3 velocity){Line3 line=Line3(fromPosition.xyz,save_normalize(velocity));vec4 points[ARRAY_SIZE];vec3 normals[ARRAY_SIZE];int numIntersections=getIntersections(boundedVolume,boundedVerticesIndex,boundedNormalsIndex,boundedHierarchyIndex,boundedHierarchyRoot,line,points,normals);if(numIntersections==0)return;Plane3 plane1=plane3(line.point,line.direction);int index=min_index(points,numIntersections,0.0,plane1);if(index==-1)return;vec3 point=points[index].xyz;vec3 normal=save_normalize(normals[index]);Plane3 plane2=plane3(point,normal);if(sign(plane_distance(plane2,fromPosition.xyz))==sign(plane_distance(plane2,toPosition.xyz)))return;float damping=length(normals[index]);velocity=reflect(velocity,normal);toPosition=vec4(point+save_normalize(velocity)*0.0001,1.0);velocity*=damping;}\n#endif\n#if X3D_NUM_TEX_COORDS>0\nint getTexCoordIndex0(const in float lifetime,const in float elapsedTime){float fraction=elapsedTime/lifetime;int index0=0;interpolate(texCoordRamp,X3D_NUM_TEX_COORDS,fraction,index0);return X3D_NUM_TEX_COORDS+index0*texCoordCount;}\n#else\n#define getTexCoordIndex0(lifetime,elapsedTime)(-1)\n#endif\nvoid main(){int life=int(input0[0]);float lifetime=input0[1];float elapsedTime=input0[2]+deltaTime;srand((gl_VertexID+randomSeed)*randomSeed);if(elapsedTime>lifetime){lifetime=getRandomLifetime();elapsedTime=0.0;output0=vec4(max(life+1,1),lifetime,elapsedTime,getTexCoordIndex0(lifetime,elapsedTime));\n#if defined(X3D_CREATE_PARTICLES)\noutput1=getColor(lifetime,elapsedTime);output2=vec4(getRandomVelocity(),0.0);output6=getRandomPosition();\n#else\noutput1=vec4(0.0);output2=vec4(0.0);output6=vec4(NaN);\n#endif\n}else{vec3 velocity=input2.xyz;vec4 position=input6;\n#if X3D_NUM_FORCES>0\nfor(int i=0;i"output"+t)),n.INTERLEAVED_ATTRIBS),n.linkProgram(c),n.getProgramParameter(c,n.LINK_STATUS)||console.error("Couldn't initialize particle shader: "+n.getProgramInfoLog(c)),this.programs.set(e,c),n.useProgram(c),c.inputs=[[0,n.getAttribLocation(c,"input0")],[2,n.getAttribLocation(c,"input2")],[6,n.getAttribLocation(c,"input6")]],c.randomSeed=n.getUniformLocation(c,"randomSeed"),c.particleLifetime=n.getUniformLocation(c,"particleLifetime"),c.lifetimeVariation=n.getUniformLocation(c,"lifetimeVariation"),c.deltaTime=n.getUniformLocation(c,"deltaTime"),c.particleSize=n.getUniformLocation(c,"particleSize"),c.forces=n.getUniformLocation(c,"forces"),c.boundedVerticesIndex=n.getUniformLocation(c,"boundedVerticesIndex"),c.boundedNormalsIndex=n.getUniformLocation(c,"boundedNormalsIndex"),c.boundedHierarchyIndex=n.getUniformLocation(c,"boundedHierarchyIndex"),c.boundedHierarchyRoot=n.getUniformLocation(c,"boundedHierarchyRoot"),c.boundedVolume=n.getUniformLocation(c,"boundedVolume"),c.colorRamp=n.getUniformLocation(c,"colorRamp"),c.texCoordCount=n.getUniformLocation(c,"texCoordCount"),c.texCoordRamp=n.getUniformLocation(c,"texCoordRamp");for(const e of this.uniforms.keys())c[e]=n.getUniformLocation(c,e);n.uniform1f(n.getUniformLocation(c,"NaN"),NaN);for(const e of this.samplers){const t=n.getUniformLocation(c,e);n.uniform1i(t,c[e+"TextureUnit"]=i.getTexture2DUnit())}i.resetTextureUnits();for(const e of this.callbacks)e.call(this);return c},activateTextures(){},createTexture(){const e=this.getBrowser().getContext(),t=e.createTexture();return e.bindTexture(e.TEXTURE_2D,t),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.RGBA32F,1,1,0,e.RGBA,e.FLOAT,new Float32Array(4)),t},getTexture2DUnit(e,t,i){const n=t[i];return void 0===n?t[i]=e.getTexture2DUnit():n}}),Object.defineProperties(b,m().getStaticProperties("X3DParticleEmitterNode","ParticleSystems",1));const I=b,w=v().add("X3DParticleEmitterNode",I),F=e.Vector3;var S=n.n(F);function O(e){w.call(this,e),this.addType(x().PointEmitter),this._position.setUnit("length")}Object.assign(Object.setPrototypeOf(O.prototype,w.prototype),{initialize(){w.prototype.initialize.call(this),this.getBrowser().getContext().getVersion()<2||(this._position.addInterest("set_position__",this),this._direction.addInterest("set_direction__",this),this.addDefine("#define X3D_POINT_EMITTER"),this.addUniform("position","uniform vec3 position;"),this.addUniform("direction","uniform vec3 direction;"),this.addCallback(this.set_position__),this.addCallback(this.set_direction__),this.addFunction("vec3 getRandomVelocity ()\n {\n if (direction == vec3 (0.0))\n return getRandomSphericalVelocity ();\n\n else\n return direction * getRandomSpeed ();\n }"),this.addFunction("vec4 getRandomPosition ()\n {\n return vec4 (position, 1.0);\n }"))},getBBox:function(){const e=new(S());return function(t,{particleLifetime:i,lifetimeVariation:n}){const o=i*(1+n)*(this._speed.getValue()*(1+this._variation.getValue()))*2;return t.set(e.set(o,o,o),this._position.getValue())}}(),set_position__(){const{x:e,y:t,z:i}=this._position.getValue();this.setUniform("uniform3f","position",e,t,i),this._bbox_changed.addEvent()},set_direction__:(()=>{const e=new(S());return function(){const{x:t,y:i,z:n}=e.assign(this._direction.getValue()).normalize();this.setUniform("uniform3f","direction",t,i,n)}})()}),Object.defineProperties(O,{...m().getStaticProperties("PointEmitter","ParticleSystems",1,"emitter","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"on",new(a().SFBool)(!0)),new(d())(x().inputOutput,"position",new(a().SFVec3f)),new(d())(x().inputOutput,"direction",new(a().SFVec3f)(0,1,0)),new(d())(x().inputOutput,"speed",new(a().SFFloat)),new(d())(x().inputOutput,"variation",new(a().SFFloat)(.25)),new(d())(x().inputOutput,"mass",new(a().SFFloat)),new(d())(x().inputOutput,"surfaceArea",new(a().SFFloat))]),enumerable:!0}});const A=O,P=v().add("PointEmitter",A),N=Symbol();function D(){}Object.assign(D.prototype,{getDefaultEmitter(){return this[N]=new P(this.getPrivateScene()),this[N].setPrivate(!0),this[N].setup(),this.getDefaultEmitter=function(){return this[N]},Object.defineProperty(this,"getDefaultEmitter",{enumerable:!1}),this[N]}});const V=D,C=v().add("X3DParticleSystemsContext",V);function B(e){m().call(this,e),this.addType(x().X3DParticlePhysicsModelNode)}Object.assign(Object.setPrototypeOf(B.prototype,m().prototype),{addForce(){}}),Object.defineProperties(B,m().getStaticProperties("X3DParticlePhysicsModelNode","ParticleSystems",1));const U=B,M=v().add("X3DParticlePhysicsModelNode",U),z=e.X3DCast;var L=n.n(z);function X(e){M.call(this,e),this.addType(x().BoundedPhysicsModel)}Object.assign(Object.setPrototypeOf(X.prototype,M.prototype),{initialize(){M.prototype.initialize.call(this),this._geometry.addInterest("set_geometry__",this),this.set_geometry__()},getBBox(){return this.geometryNode?.getBBox()},set_geometry__(){this.geometryNode?._rebuild.removeInterest("addNodeEvent",this),this.geometryNode=L()(x().X3DGeometryNode,this._geometry),this.geometryNode?._rebuild.addInterest("addNodeEvent",this)},addGeometry(e,t){if(!this.geometryNode)return;if(!this._enabled.getValue())return;const i=this._damping.getValue(),n=this.geometryNode.getNormals().getValue(),o=this.geometryNode.getVertices().getValue();for(const t of n)e.push(t*i);for(const e of o)t.push(e)}}),Object.defineProperties(X,{...m().getStaticProperties("BoundedPhysicsModel","ParticleSystems",2,"physics","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"enabled",new(a().SFBool)(!0)),new(d())(x().inputOutput,"damping",new(a().SFFloat)(1)),new(d())(x().inputOutput,"geometry",new(a().SFNode))]),enumerable:!0}});const k=X,j=v().add("BoundedPhysicsModel",k);function G(e){w.call(this,e),this.addType(x().ConeEmitter),this._position.setUnit("length"),this._angle.setUnit("angle")}Object.assign(Object.setPrototypeOf(G.prototype,w.prototype),{initialize(){w.prototype.initialize.call(this),this.getBrowser().getContext().getVersion()<2||(this._position.addInterest("set_position__",this),this._direction.addInterest("set_direction__",this),this._angle.addInterest("set_angle__",this),this.addDefine("#define X3D_CONE_EMITTER"),this.addUniform("position","uniform vec3 position;"),this.addUniform("direction","uniform vec3 direction;"),this.addUniform("angle","uniform float angle;"),this.addCallback(this.set_position__),this.addCallback(this.set_direction__),this.addCallback(this.set_angle__),this.addFunction("vec3 getRandomVelocity ()\n {\n if (direction == vec3 (0.0))\n {\n return getRandomSphericalVelocity ();\n }\n else\n {\n vec3 normal = getRandomNormalWithDirectionAndAngle (direction, angle);\n float speed = getRandomSpeed ();\n\n return normal * speed;\n }\n }"),this.addFunction("vec4 getRandomPosition ()\n {\n return vec4 (position, 1.0);\n }"))},getBBox:function(){const e=new(S());return function(t,{particleLifetime:i,lifetimeVariation:n}){const o=i*(1+n)*(this._speed.getValue()*(1+this._variation.getValue()))*2;return t.set(e.set(o,o,o),this._position.getValue())}}(),set_position__(){const{x:e,y:t,z:i}=this._position.getValue();this.setUniform("uniform3f","position",e,t,i),this._bbox_changed.addEvent()},set_direction__(){const{x:e,y:t,z:i}=this._direction.getValue();this.setUniform("uniform3f","direction",e,t,i)},set_angle__(){this.setUniform("uniform1f","angle",this._angle.getValue())}}),Object.defineProperties(G,{...m().getStaticProperties("ConeEmitter","ParticleSystems",1,"emitter","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"on",new(a().SFBool)(!0)),new(d())(x().inputOutput,"position",new(a().SFVec3f)),new(d())(x().inputOutput,"direction",new(a().SFVec3f)(0,1,0)),new(d())(x().inputOutput,"angle",new(a().SFFloat)(.785398)),new(d())(x().inputOutput,"speed",new(a().SFFloat)),new(d())(x().inputOutput,"variation",new(a().SFFloat)(.25)),new(d())(x().inputOutput,"mass",new(a().SFFloat)),new(d())(x().inputOutput,"surfaceArea",new(a().SFFloat))]),enumerable:!0}});const H=G,Y=v().add("ConeEmitter",H);function q(e){w.call(this,e),this.addType(x().ExplosionEmitter),this._position.setUnit("length")}Object.assign(Object.setPrototypeOf(q.prototype,w.prototype),{initialize(){w.prototype.initialize.call(this),this.getBrowser().getContext().getVersion()<2||(this._position.addInterest("set_position__",this),this.addDefine("#define X3D_EXPLOSION_EMITTER"),this.addUniform("position","uniform vec3 position;"),this.addCallback(this.set_position__),this.addFunction("vec3 getRandomVelocity ()\n {\n return getRandomSphericalVelocity ();\n }"),this.addFunction("vec4 getRandomPosition ()\n {\n return vec4 (position, 1.0);\n }"))},getBBox:function(){const e=new(S());return function(t,{particleLifetime:i,lifetimeVariation:n}){const o=i*(1+n)*(this._speed.getValue()*(1+this._variation.getValue()))*2;return t.set(e.set(o,o,o),this._position.getValue())}}(),isExplosive:()=>!0,set_position__(){const{x:e,y:t,z:i}=this._position.getValue();this.setUniform("uniform3f","position",e,t,i),this._bbox_changed.addEvent()}}),Object.defineProperties(q,{...m().getStaticProperties("ExplosionEmitter","ParticleSystems",1,"emitter","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"on",new(a().SFBool)(!0)),new(d())(x().inputOutput,"position",new(a().SFVec3f)),new(d())(x().inputOutput,"speed",new(a().SFFloat)),new(d())(x().inputOutput,"variation",new(a().SFFloat)(.25)),new(d())(x().inputOutput,"mass",new(a().SFFloat)),new(d())(x().inputOutput,"surfaceArea",new(a().SFFloat))]),enumerable:!0}});const W=q,K=v().add("ExplosionEmitter",W);function Z(e){M.call(this,e),this.addType(x().ForcePhysicsModel),this._force.setUnit("force")}Object.assign(Object.setPrototypeOf(Z.prototype,M.prototype),{addForce:(()=>{const e=new(S());return function(t,i,n,o){return!!this._enabled.getValue()&&(o.set(e.assign(this._force.getValue()).multiply(n),4*t),o[4*t+3]=0,!0)}})()}),Object.defineProperties(Z,{...m().getStaticProperties("ForcePhysicsModel","ParticleSystems",1,"physics","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"enabled",new(a().SFBool)(!0)),new(d())(x().inputOutput,"force",new(a().SFVec3f)(0,-9.8,0))]),enumerable:!0}});const Q=Z,$=v().add("ForcePhysicsModel",Q),J=e.X3DShapeNode;var ee=n.n(J);const te=e.GeometryContext;var ie=n.n(te);const ne=e.VertexArray;var oe=n.n(ne);const se=e.TraverseType;var re=n.n(se);const ae=e.AlphaMode;var ce=n.n(ae);const de=e.LineSet;var le=n.n(de);const ue=e.Coordinate;var he=n.n(ue);const me=e.Matrix4;var pe=n.n(me);const fe=e.Matrix3;var _e=n.n(fe);const xe=e.Plane3;var ge=n.n(xe);const ve=e.QuickSort;var ye=n.n(ve);const Te=new(S()),Re=new(S()),Ee=new(S()),be={u:0,v:0,t:0},Ie=[new(S())(0,0,1),new(S())(0,0,-1),new(S())(0,1,0),new(S())(0,-1,0),new(S())(1,0,0)];function we(e,t){this.vertices=e.vertices,this.normals=e.normals,this.triangle=t,this.i4=12*t,this.i3=9*t}function Fe(e,t,i,n){this.min=new(S()),this.max=new(S()),this.planes=[],this.intersection=new(S());const o=e.vertices,s=this.min,r=this.max,a=i+n;let c=12*t[i];s.set(o[c],o[c+1],o[c+2]),r.assign(s);for(let e=i;e2){e.sorter.compare.axis=this.getLongestAxis(s,r),e.sorter.sort(i,a);var d=n>>>1}else d=1;const l=n-d;this.left=d>1?new Fe(e,t,i,d):new we(e,t[i]),this.right=l>1?new Fe(e,t,i+d,l):new we(e,t[i+d])}function Se(e,t){const i=e.length/12;switch(this.vertices=e,this.normals=t,i){case 0:this.root=null;break;case 1:this.root=new we(this,0);break;default:{const t=[];for(let e=0;e=t.length&&t.push(new(S())),t[d].set(c*n[s]+e*n[s+4]+a*n[s+8],c*n[s+1]+e*n[s+5]+a*n[s+9],c*n[s+2]+e*n[s+6]+a*n[s+10]),i&&(d>=i.length&&i.push(new(S())),i[d].set(c*o[r]+e*o[r+3]+a*o[r+6],c*o[r+1]+e*o[r+4]+a*o[r+7],c*o[r+2]+e*o[r+5]+a*o[r+8]))}},toArray(e){const t=e.length/4;return e.push(1,3*this.triangle,0,0),t}}),Object.assign(Fe.prototype,{intersectsLine(e,t,i){this.intersectsBBox(e)&&(this.left.intersectsLine(e,t,i),this.right.intersectsLine(e,t,i))},intersectsBBox(e){const t=this.planes,i=this.min,n=this.max,o=i.x,s=n.x,r=i.y,a=n.y,c=i.z,d=n.z,l=this.intersection;return!!(t[0].intersectsLine(e,l)&&l.x>=o&&l.x<=s&&l.y>=r&&l.y<=a)||(!!(t[1].intersectsLine(e,l)&&l.x>=o&&l.x<=s&&l.y>=r&&l.y<=a)||(!!(t[2].intersectsLine(e,l)&&l.x>=o&&l.x<=s&&l.z>=c&&l.z<=d)||(!!(t[3].intersectsLine(e,l)&&l.x>=o&&l.x<=s&&l.z>=c&&l.z<=d)||!!(t[4].intersectsLine(e,l)&&l.y>=r&&l.y<=a&&l.z>=c&&l.z<=d))))},getLongestAxis(e,t){const i=t.x-e.x,n=t.y-e.y,o=t.z-e.z;return i4*Float32Array.BYTES_PER_ELEMENT*t)),this.particleOffset=this.particleOffsets[0],this.colorOffset=this.particleOffsets[1],this.velocityOffset=this.particleOffsets[2],this.matrixOffset=this.particleOffsets[3],this.texCoordOffset=0,this.instancesStride=this.particlesStride}Object.assign(Object.setPrototypeOf(Ve.prototype,ee().prototype),{initialize(){ee().prototype.initialize.call(this);const e=this.getBrowser(),t=e.getContext();e.getContext().getVersion()<2||(this.getLive().addInterest("set_live__",this),this._enabled.addInterest("set_enabled__",this),this._geometryType.addInterest("set_geometryType__",this),this._geometryType.addInterest("set_texCoord__",this),this._maxParticles.addInterest("set_enabled__",this),this._particleLifetime.addInterest("set_particleLifetime__",this),this._particleLifetime.addInterest("set_bbox__",this),this._lifetimeVariation.addInterest("set_lifetimeVariation__",this),this._lifetimeVariation.addInterest("set_bbox__",this),this._particleSize.addInterest("set_particleSize__",this),this._emitter.addInterest("set_emitter__",this),this._emitter.addInterest("set_bbox__",this),this._physics.addInterest("set_physics__",this),this._colorKey.addInterest("set_color__",this),this._color.addInterest("set_colorRamp__",this),this._texCoordKey.addInterest("set_texCoord__",this),this._texCoord.addInterest("set_texCoordRamp__",this),this.inputParticles=Object.assign(t.createBuffer(),{vertexArrayObject:new(oe())(t),thickLinesVertexArrayObject:new(oe())(t),lineTrianglesBuffer:t.createBuffer(),numLines:0}),this.outputParticles=Object.assign(t.createBuffer(),{vertexArrayObject:new(oe())(t),thickLinesVertexArrayObject:new(oe())(t),lineTrianglesBuffer:t.createBuffer(),numLines:0}),this.forcesTexture=this.createTexture(),this.boundedTexture=this.createTexture(),this.colorRampTexture=this.createTexture(),this.texCoordRampTexture=this.createTexture(),this.geometryBuffer=this.createBuffer(),this.texCoordBuffers=new Array(e.getMaxTexCoords()).fill(this.geometryBuffer),this.lineGeometryNode=new(le())(this.getExecutionContext()),this.lineCoordinateNode=new(he())(this.getExecutionContext()),this.lineCoordinateNode._point=[0,0,-.5,0,0,.5],this.lineGeometryNode._vertexCount=[2],this.lineGeometryNode._coord=this.lineCoordinateNode,this.lineCoordinateNode.setup(),this.lineGeometryNode.setup(),this.set_emitter__(),this.set_enabled__(),this.set_geometryType__(),this.set_particleLifetime__(),this.set_lifetimeVariation__(),this.set_particleSize__(),this.set_physics__(),this.set_colorRamp__(),this.set_texCoordRamp__(),this.set_bbox__())},getShapeKey(){return this.numTexCoords?2:1},getGeometryContext(){return this.geometryType===f().GEOMETRY?this.getGeometry():this.geometryContext},getGeometryType(){return this.geometryType},getNumInstances(){return this.numParticles},getInstances(){return this.outputParticles},set_bbox__(){if(this._bboxSize.getValue().equals(this.getDefaultBBoxSize()))if(this.boundedPhysicsModelNodes.length){this.bbox.set();for(const e of this.boundedPhysicsModelNodes){const t=e.getBBox();t&&this.bbox.add(t)}}else this.emitterNode?.getBBox(this.bbox,this);else this.bbox.set(this._bboxSize.getValue(),this._bboxCenter.getValue());this.bboxSize.assign(this.bbox.size),this.bboxCenter.assign(this.bbox.center)},set_transparent__(){const e=this.appearanceNode.getAlphaMode();if(e===ce().AUTO){if(this.geometryType===f().POINT)this.setTransparent(!0);else this.setTransparent(this.getAppearance().isTransparent()||this.colorRampNode?.isTransparent()||this.geometryType===f().GEOMETRY&&this.geometryNode?.isTransparent());this.setAlphaMode(this.isTransparent()?ce().BLEND:ce().OPAQUE)}else this.setTransparent(e===ce().BLEND),this.setAlphaMode(e)},set_live__(){this.getLive().getValue()?this._isActive.getValue()&&this._maxParticles.getValue()&&(this.getBrowser().sensorEvents().addInterest("animateParticles",this),this.pauseTime&&(this.creationTime+=Date.now()/1e3-this.pauseTime,this.pauseTime=0)):this._isActive.getValue()&&this._maxParticles.getValue()&&(this.getBrowser().sensorEvents().removeInterest("animateParticles",this),0===this.pauseTime&&(this.pauseTime=Date.now()/1e3))},set_enabled__(){this._enabled.getValue()&&this._maxParticles.getValue()?this._isActive.getValue()||(this.getLive().getValue()?(this.getBrowser().sensorEvents().addInterest("animateParticles",this),this.pauseTime=0):this.pauseTime=Date.now()/1e3,this._isActive=!0,delete this.traverse):this._isActive.getValue()&&(this.getLive().getValue()&&this.getBrowser().sensorEvents().removeInterest("animateParticles",this),this._isActive=!1,this.numParticles=0,this.traverse=Function.prototype),this.set_maxParticles__()},set_geometryType__(){const e=this.getBrowser().getContext();switch(this.geometryType=Pe.enum(f(),this._geometryType.getValue(),f().QUAD),this.geometryType){case f().POINT:this.geometryContext.geometryType=0,this.geometryContext.hasNormals=!1,this.texCoordCount=0,this.vertexCount=1,this.hasNormals=!1,this.verticesOffset=0,this.primitiveMode=e.POINTS,e.bindBuffer(e.ARRAY_BUFFER,this.geometryBuffer),e.bufferData(e.ARRAY_BUFFER,Ne,e.DYNAMIC_DRAW);break;case f().LINE:this.geometryContext.geometryType=1,this.geometryContext.hasNormals=!1,this.texCoordCount=0;break;case f().TRIANGLE:case f().QUAD:case f().SPRITE:this.geometryContext.geometryType=2,this.geometryContext.hasNormals=!0,this.texCoordCount=4,this.vertexCount=6,this.hasNormals=!0,this.texCoordsOffset=0,this.normalOffset=24*Float32Array.BYTES_PER_ELEMENT,this.verticesOffset=27*Float32Array.BYTES_PER_ELEMENT,this.primitiveMode=e.TRIANGLES,e.bindBuffer(e.ARRAY_BUFFER,this.geometryBuffer),e.bufferData(e.ARRAY_BUFFER,De,e.DYNAMIC_DRAW);break;case f().GEOMETRY:this.texCoordCount=0}this.geometryContext.updateGeometryKey(),this.updateVertexArrays(),this.set_transparent__()},set_maxParticles__(){const e=this.numParticles,t=Math.max(0,this._maxParticles.getValue());this.maxParticles=t,this.numParticles=Math.min(e,t),this.emitterNode.isExplosive()||(this.creationTime=Date.now()/1e3),this.resizeBuffers(e),this.updateVertexArrays()},set_particleLifetime__(){this.particleLifetime=Math.max(this._particleLifetime.getValue(),0)},set_lifetimeVariation__(){this.lifetimeVariation=Math.max(this._lifetimeVariation.getValue(),0)},set_particleSize__(){this.lineCoordinateNode._point[0].z=-this._particleSize.y/2,this.lineCoordinateNode._point[1].z=+this._particleSize.y/2},set_emitter__(){this.emitterNode?._bbox_changed.removeInterest("set_bbox__",this),this.emitterNode=L()(x().X3DParticleEmitterNode,this._emitter)??this.getBrowser().getDefaultEmitter(),this.emitterNode._bbox_changed.addInterest("set_bbox__",this)},set_physics__(){const e=this._physics.getValue(),t=this.forcePhysicsModelNodes,i=this.boundedPhysicsModelNodes;for(const e of i)e.removeInterest("set_boundedPhysics__",this),e.removeInterest("set_bbox__",this);t.length=0,i.length=0;for(let n=0,o=e.length;n=0;--e){switch(s[e]){case x().ForcePhysicsModel:case x().WindPhysicsModel:t.push(o);break;case x().BoundedPhysicsModel:i.push(o);break;default:continue}break}}catch{}for(const e of i)e.addInterest("set_boundedPhysics__",this),e.addInterest("set_bbox__",this);this.set_boundedPhysics__()},set_boundedPhysics__(){const e=this.getBrowser().getContext(),t=this.boundedPhysicsModelNodes,i=this.boundedNormals,n=this.boundedVertices;i.length=0,n.length=0;for(let e=0,o=t.length;eo.length&&(o=this.colorRamp=new Float32Array(n*n*4));for(let e=0;eo.length?o=this.texCoordRamp=new Float32Array(n*n*4):o.fill(0);for(let e=0;et?(this.creationTime=e,this.numParticles=this.maxParticles,this.createParticles=this._createParticles.getValue(),o=Number.POSITIVE_INFINITY):this.createParticles=!1}else if(this.createParticles=this._createParticles.getValue(),this.numParticless.length&&(s=this.forces=new Float32Array(4*n));let a=0;for(let t=0;t{const e=new Float32Array(De),t=[new(S())(-.5,-.5,0),new(S())(.5,-.5,0),new(S())(.5,.5,0),new(S())(-.5,-.5,0),new(S())(.5,.5,0),new(S())(-.5,.5,0)],i=new(S()),n=new(S());return function(o,s){for(let t=0;t<3;++t)e[24+t]=s[6+t];n.set(this._particleSize.x,this._particleSize.y,1);for(let o=0;o<6;++o){const r=27+4*o;s.multVecMatrix(i.assign(t[o]).multVec(n)),e[r+0]=i.x,e[r+1]=i.y,e[r+2]=i.z}o.bindBuffer(o.ARRAY_BUFFER,this.geometryBuffer),o.bufferData(o.ARRAY_BUFFER,e,o.DYNAMIC_DRAW)}})(),intersectsBox(e,t){},traverse(e,t){if(this.numParticles){switch(e){case re().POINTER:this._pointerEvents.getValue()&&t.addPointingShape(this);break;case re().PICKING:case re().COLLISION:break;case re().SHADOW:this._castShadow.getValue()&&t.addShadowShape(this);break;case re().DISPLAY:t.addDisplayShape(this)&&this.getAppearance().traverse(e,t)}this.geometryType===f().GEOMETRY&&this.getGeometry()?.traverse(e,t)}},displaySimple(e,t,i){switch(this.geometryType){case f().LINE:this.lineGeometryNode.displaySimpleInstanced(e,i,this);break;case f().GEOMETRY:this.getGeometry()?.displaySimpleInstanced(e,i,this);break;case f().SPRITE:this.updateSprite(e,this.getScreenAlignedRotation(t.modelViewMatrix));default:{const t=this.outputParticles;if(t.vertexArrayObject.enable(i.getProgram())){const n=this.particlesStride;i.enableParticleAttribute(e,t,n,this.particleOffset,1),i.enableInstanceMatrixAttribute(e,t,n,this.matrixOffset,1),i.enableVertexAttribute(e,this.geometryBuffer,0,this.verticesOffset)}e.drawArraysInstanced(this.primitiveMode,0,this.vertexCount,this.numParticles);break}}},display(e,t){switch(this.geometryType){case f().LINE:this.lineGeometryNode.displayInstanced(e,t,this);break;case f().GEOMETRY:this.getGeometry()?.displayInstanced(e,t,this);break;case f().SPRITE:this.updateSprite(e,this.getScreenAlignedRotation(t.modelViewMatrix));case f().QUAD:case f().TRIANGLE:{const i=pe().prototype.determinant3.call(t.modelViewMatrix)>0;e.frontFace(i?e.CCW:e.CW),e.enable(e.CULL_FACE)}default:{const i=this.getBrowser(),n=this.getAppearance(),o=n.getRenderModes(),s=n.getShader(this.geometryContext,t),r=i.getPrimitiveMode(this.primitiveMode);for(const t of o)t.enable(e);if(s.enable(e),s.setUniforms(e,this.geometryContext,t),this.numTexCoords){const t=i.getTexture2DUnit();e.activeTexture(e.TEXTURE0+t),e.bindTexture(e.TEXTURE_2D,this.texCoordRampTexture),e.uniform1i(s.x3d_TexCoordRamp,t)}const a=this.outputParticles;if(a.vertexArrayObject.enable(s.getProgram())){const{particlesStride:t}=this;s.enableParticleAttribute(e,a,t,this.particleOffset,1),s.enableParticleVelocityAttribute(e,a,t,this.velocityOffset,1),s.enableInstanceMatrixAttribute(e,a,t,this.matrixOffset,1),this.geometryContext.colorMaterial&&(s.enableColorAttribute(e,a,t,this.colorOffset),s.colorAttributeDivisor(e,1)),this.texCoordCount&&s.enableTexCoordAttribute(e,this.texCoordBuffers,0,this.texCoordOffset),this.hasNormals&&(s.enableNormalAttribute(e,this.geometryBuffer,0,this.normalOffset),s.normalAttributeDivisor(e,this.maxParticles)),s.enableVertexAttribute(e,this.geometryBuffer,0,this.verticesOffset)}e.drawArraysInstanced(r,0,this.vertexCount,this.numParticles);for(const t of o)t.disable(e);break}}},getScreenAlignedRotation:(()=>{const e=new(pe()),t=new(S()),i=new(S()),n=new(S()),o=new(_e())(9);return function(s){e.assign(s).inverse(),e.multDirMatrix(t.assign(S().zAxis)),e.multDirMatrix(i.assign(S().yAxis));const r=i.cross(t);n.assign(t).cross(r);const a=t;return r.normalize(),n.normalize(),a.normalize(),o.set(r.x,r.y,r.z,n.x,n.y,n.z,a.x,a.y,a.z),o}})()}),Object.defineProperties(Ve,{...m().getStaticProperties("ParticleSystem","ParticleSystems",2,"children","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"enabled",new(a().SFBool)(!0)),new(d())(x().inputOutput,"createParticles",new(a().SFBool)(!0)),new(d())(x().initializeOnly,"geometryType",new(a().SFString)("QUAD")),new(d())(x().inputOutput,"maxParticles",new(a().SFInt32)(200)),new(d())(x().inputOutput,"particleLifetime",new(a().SFFloat)(5)),new(d())(x().inputOutput,"lifetimeVariation",new(a().SFFloat)(.25)),new(d())(x().inputOutput,"particleSize",new(a().SFVec2f)(.02,.02)),new(d())(x().initializeOnly,"emitter",new(a().SFNode)),new(d())(x().initializeOnly,"physics",new(a().MFNode)),new(d())(x().initializeOnly,"colorKey",new(a().MFFloat)),new(d())(x().initializeOnly,"color",new(a().SFNode)),new(d())(x().initializeOnly,"texCoordKey",new(a().MFFloat)),new(d())(x().initializeOnly,"texCoord",new(a().SFNode)),new(d())(x().outputOnly,"isActive",new(a().SFBool)),new(d())(x().inputOutput,"pointerEvents",new(a().SFBool)(!0)),new(d())(x().inputOutput,"castShadow",new(a().SFBool)(!0)),new(d())(x().inputOutput,"visible",new(a().SFBool)(!0)),new(d())(x().inputOutput,"bboxDisplay",new(a().SFBool)),new(d())(x().initializeOnly,"bboxSize",new(a().SFVec3f)(-1,-1,-1)),new(d())(x().initializeOnly,"bboxCenter",new(a().SFVec3f)),new(d())(x().inputOutput,"appearance",new(a().SFNode)),new(d())(x().inputOutput,"geometry",new(a().SFNode))]),enumerable:!0}});const Ce=Ve,Be=v().add("ParticleSystem",Ce),Ue=e.IndexedLineSet;var Me=n.n(Ue);function ze(e){w.call(this,e),this.addType(x().PolylineEmitter),this.verticesIndex=-1,this.polylinesNode=new(Me())(e),this.polylinesArray=new Float32Array}Object.assign(Object.setPrototypeOf(ze.prototype,w.prototype),{initialize(){w.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this.polylinesTexture=this.createTexture(),this._direction.addInterest("set_direction__",this),this._set_coordIndex.addFieldInterest(this._coordIndex),this._coordIndex.addFieldInterest(this.polylinesNode._coordIndex),this._coord.addFieldInterest(this.polylinesNode._coord),this.polylinesNode._coordIndex=this._coordIndex,this.polylinesNode._coord=this._coord,this.polylinesNode.setPrivate(!0),this.polylinesNode.setup(),this.polylinesNode._rebuild.addInterest("set_polylines__",this),this.addDefine("#define X3D_POLYLINE_EMITTER"),this.addSampler("polylines"),this.addUniform("direction","uniform vec3 direction;"),this.addUniform("verticesIndex","uniform int verticesIndex;"),this.addUniform("polylines","uniform sampler2D polylines;"),this.addCallback(this.set_direction__),this.addCallback(this.set_verticesIndex__),this.addFunction("vec3 getRandomVelocity ()\n {\n if (direction == vec3 (0.0))\n return getRandomSphericalVelocity ();\n\n else\n return direction * getRandomSpeed ();\n }"),this.addFunction("vec4 getRandomPosition ()\n {\n if (verticesIndex < 0)\n {\n return vec4 (NaN);\n }\n else\n {\n // Determine index0, index1 and weight.\n\n float lastLengthSoFar = texelFetch (polylines, verticesIndex - 1, 0) .x;\n float fraction = random () * lastLengthSoFar;\n\n int index0 = 0;\n int index1 = 0;\n float weight = 0.0;\n\n interpolate (polylines, verticesIndex, fraction, index0, index1, weight);\n\n // Interpolate and return position.\n\n index0 *= 2;\n index1 = index0 + 1;\n\n vec4 vertex0 = texelFetch (polylines, verticesIndex + index0, 0);\n vec4 vertex1 = texelFetch (polylines, verticesIndex + index1, 0);\n\n return mix (vertex0, vertex1, weight);\n }\n }"),this.set_polylines__())},getBBox:function(){const e=new(S());return function(t,{particleLifetime:i,lifetimeVariation:n}){const o=i*(1+n)*(this._speed.getValue()*(1+this._variation.getValue()))*2;return t.set(e.set(o,o,o),this.polylinesNode.getBBox().center).add(this.polylinesNode.getBBox())}}(),set_direction__:(()=>{const e=new(S());return function(){const{x:t,y:i,z:n}=e.assign(this._direction.getValue()).normalize();this.setUniform("uniform3f","direction",t,i,n)}})(),set_verticesIndex__(){this.setUniform("uniform1i","verticesIndex",this.verticesIndex)},set_polylines__:(()=>{const e=new(S()),t=new(S());return function(){const i=this.getBrowser().getContext(),n=this.polylinesNode.getVertices().getValue(),o=n.length/4,s=o/2+1,r=Math.ceil(Math.sqrt(s+o)),a=s;let c=this.polylinesArray;c.length 0.5)\n normal = -normal;\n\n return normal * getRandomSpeed ();\n }\n }"),this.addFunction("vec4 getRandomPosition ()\n {\n return verticesIndex < 0 ? vec4 (NaN) : position;\n }"),this.set_surface__())},getBBox:function(){const e=new(S());return function(t,{particleLifetime:i,lifetimeVariation:n}){if(!this.surfaceNode)return t.set();const o=i*(1+n)*(this._speed.getValue()*(1+this._variation.getValue()))*2;return t.set(e.set(o,o,o),this.surfaceNode.getBBox().center).add(this.surfaceNode.getBBox())}}(),set_surface__(){this.surfaceNode&&(this.surfaceNode._solid.removeInterest("set_solid__",this),this.surfaceNode._rebuild.removeInterest("set_geometry__",this)),this.surfaceNode=L()(x().X3DGeometryNode,this._surface),this.surfaceNode&&(this.surfaceNode._solid.addInterest("set_solid__",this),this.surfaceNode._rebuild.addInterest("set_geometry__",this)),this.set_solid__(),this.set_geometry__()},set_solid__(){this.setUniform("uniform1i","solid",this.surfaceNode?._solid.getValue()??!0)},set_verticesIndex__(){this.setUniform("uniform1i","verticesIndex",this.verticesIndex)},set_normalsIndex__(){this.setUniform("uniform1i","normalsIndex",this.normalsIndex)},set_geometry__:(()=>{const e=new(S()),t=new(S()),i=new(S());return function(){const n=this.getBrowser().getContext();if(this.surfaceNode){const o=this.surfaceNode.getVertices().getValue(),s=this.surfaceNode.getNormals().getValue(),r=o.length/4,a=r/3+1,c=Math.ceil(Math.sqrt(a+r+r)),d=a,l=d+r;let u=this.surfaceArray;u.length{const e=new(S());return function(){const{x:t,y:i,z:n}=e.assign(this._direction.getValue()).normalize();this.setUniform("uniform3f","direction",t,i,n)}})(),set_verticesIndex__(){this.setUniform("uniform1i","verticesIndex",this.verticesIndex)},set_normalsIndex__(){this.setUniform("uniform1i","normalsIndex",this.normalsIndex)},set_hierarchyIndex__(){this.setUniform("uniform1i","hierarchyIndex",this.hierarchyIndex)},set_hierarchyRoot__(){this.setUniform("uniform1i","hierarchyRoot",this.hierarchyRoot)},set_geometry__:(()=>{const e=new(S()),t=new(S()),i=new(S());return function(){const n=this.getBrowser().getContext(),o=this.volumeNode.getVertices().getValue(),s=this.volumeNode.getNormals().getValue(),r=new Ae(o,s).toArray([]),a=o.length/4,c=s.length/3,d=a/3+1,l=r.length/4,u=Math.ceil(Math.sqrt(d+a+a+l)),h=d,m=h+a,p=m+c;let f=this.volumeArray;f.length{const e=new(S());return function(t,i,n,o){if(this._enabled.getValue()){const s=i.getSurfaceArea(),r=this.getRandomSpeed(i),a=10**(2*Math.log(r))*.64615;return this._direction.getValue().equals(S().Zero)?i.getRandomNormal(e):e.assign(this._direction.getValue()).normalize(),o.set(e.multiply(s*a*n),4*t),o[4*t+3]=Math.PI*Je().clamp(this._turbulence.getValue(),0,1),!0}return!1}})()}),Object.defineProperties(et,{...m().getStaticProperties("WindPhysicsModel","ParticleSystems",1,"physics","3.2"),fieldDefinitions:{value:new(u())([new(d())(x().inputOutput,"metadata",new(a().SFNode)),new(d())(x().inputOutput,"enabled",new(a().SFBool)(!0)),new(d())(x().inputOutput,"direction",new(a().SFVec3f)(1,0,0)),new(d())(x().inputOutput,"speed",new(a().SFFloat)(.1)),new(d())(x().inputOutput,"gustiness",new(a().SFFloat)(.1)),new(d())(x().inputOutput,"turbulence",new(a().SFFloat))]),enumerable:!0}});const tt=et,it=v().add("WindPhysicsModel",tt);s().add({name:"ParticleSystems",concreteNodes:[j,Y,K,$,Be,P,Xe,Ye,Qe,it],abstractNodes:[w,M],browserContext:C});v().add("ParticleSystemsComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/PickingComponent.js b/dist/assets/components/PickingComponent.js index ac423e3285..d0bed6e027 100644 --- a/dist/assets/components/PickingComponent.js +++ b/dist/assets/components/PickingComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope diff --git a/dist/assets/components/PickingComponent.min.js b/dist/assets/components/PickingComponent.min.js index 1ad7ece7df..0ae62bece3 100644 --- a/dist/assets/components/PickingComponent.min.js +++ b/dist/assets/components/PickingComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const e=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const s=e.Fields;var o=t.n(s);const r=e.X3DFieldDefinition;var c=t.n(r);const a=e.FieldDefinitionArray;var h=t.n(a);const p=e.X3DNode;var l=t.n(p);const d=e.X3DSensorNode;var g=t.n(d);const u=e.TraverseType;var y=t.n(u);const m=e.X3DConstants;var _=t.n(m);const k=e.Namespace;var w=t.n(k);let S=0;const O={MATCH_ANY:S++,MATCH_EVERY:S++,MATCH_ONLY_ONE:S++},f=w().add("MatchCriterion",O);let b=0;const T={BOUNDS:b++,GEOMETRY:b++},N=w().add("IntersectionType",T);let C=0;const P={ANY:C++,CLOSEST:C++,ALL:C++,ALL_SORTED:C++},G=w().add("SortOrder",P),M=e.Matrix4;var v=t.n(M);const B=e.QuickSort;var x=t.n(B);const j=e.ObjectCache;var A,F,L,V=t.n(j)()(v());function D(e,t){return e.distance{const e=new WeakMap;return function(t){const i=e.get(t);if(void 0!==i)return i;const n=this.getBrowser(),s=n.getPrivateScene().createNode("Shape",!1),o=n.getPrivateScene().createNode("CollidableShape",!1);return s.setPrivate(!0),o.setPrivate(!0),o.setConvex(!0),s._geometry=t,o._shape=s,s.setup(),o.setup(),e.set(t,o),o}})(),getPickedGeometries:function(){var e=this.targets,t=e.size,i=this.pickedTargets,n=this.pickedGeometries;i.length=0;for(var s=0;s=0;--s){var o,r=n[s];if(r.getExecutionContext()===t)return r;if((o=r.getExecutionContext()).getType().includes(_().X3DPrototypeInstance)&&o.getExecutionContext()===t)return o}return null},getPickedTargets(){return this.pickedTargets},set_live__(){this.getLive().getValue()&&this._enabled.getValue()&&!this.objectType.has("NONE")?(this.getBrowser().addPickSensor(this),this.setPickableObject(!0)):(this.getBrowser().removePickSensor(this),this.setPickableObject(!1))},set_objectType__(){this.objectType.clear();for(var e=0,t=this._objectType.length;e=0;--s)switch(n[s]){case _().Inline:case _().Shape:case _().X3DGroupingNode:this.pickTargetNodes.add(i);break;default:continue}}catch{}},traverse(e,t){e===y().PICKING&&this.isPickableObject()&&this.modelMatrices.push(V.pop().assign(t.getModelViewMatrix().get()))},collect(e,t,i){var n=this.pickTargetNodes;if(i.some((e=>n.has(e)))){var s=this.targets;if(s.size=0;--i)switch(t[i]){case _().IndexedLineSet:case _().LineSet:this.pickingGeometryNode=e;break;default:continue}}catch{}},process:(()=>{const e=new(X()),t=new(X()),i=new(Y()),n=new(Y()),s=new(v()),r=new(Y()),c=new(Y()),a=new(q())(Y().Zero,Y().zAxis),h=new(Y()),p=new(Y()),l=[],d=[],g=new(Y()),u=new(o().MFVec3f),y=new(o().MFVec3f),m=new(o().MFVec3f);return function(){if(this.pickingGeometryNode){const o=this.getModelMatrices(),_=this.getTargets();switch(this.getIntersectionType()){case N.BOUNDS:{for(let s=0,r=o.length;se))),r!==this._isActive.getValue()&&(this._isActive=r),this._pickedGeometry.equals(s)||(this._pickedGeometry=s);break}case N.GEOMETRY:{for(let g=0,u=o.length;ge))),w!==this._isActive.getValue()&&(this._isActive=w),this._pickedGeometry.equals(k)||(this._pickedGeometry=k);const S=this.getPickedTargets();u.length=0,y.length=0,m.length=0;for(let e=0,t=S.length;e{const e=new(Y()),t=new(ae()),i=new(Y())(1,1,1),n=new(pe().btVector3)(0,0,0);return function(s,o,r){s.getNumChildShapes()&&s.removeChildShapeByIndex(0),r.getNumChildShapes()&&(o.get(e,t,i),n.setValue(i.x,i.y,i.z),r.setLocalScaling(n),s.addChildShape(this.getTransform(e,t),r))}})(),setChildShapeComponents(e,t,i,n){e.getNumChildShapes()&&e.removeChildShapeByIndex(0),n.getNumChildShapes()&&(n.setLocalScaling(i),e.addChildShape(t,n))},contactTest(){this.collisionWorld.performDiscreteCollisionDetection();const e=this.dispatcher.getNumManifolds();for(let t=0;t{const e=new(pe().btTransform),t=new(pe().btVector3)(0,0,0),i=new(v());return function(n,s,o){const r=o||e;return i.set(n,s),t.setValue(i[12],i[13],i[14]),r.getBasis().setValue(i[0],i[4],i[8],i[1],i[5],i[9],i[2],i[6],i[10]),r.setOrigin(t),r}})()});const de=le,ge=w().add("VolumePicker",de);function ue(e){I.call(this,e),this.addType(_().PointPickSensor),this.pickingGeometryNode=null,this.picker=new ge,this.compoundShapes=[]}Object.assign(Object.setPrototypeOf(ue.prototype,I.prototype),{initialize(){I.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__(){this.pickingGeometryNode?._rebuild.removeInterest("set_geometry__",this),this.pickingGeometryNode=re()(_().PointSet,this._pickingGeometry),this.pickingGeometryNode?._rebuild.addInterest("set_geometry__",this),this.set_geometry__()},set_geometry__:(()=>{const e=new(pe().btVector3)(1,1,1),t=new(pe().btVector3),i=new(pe().btTransform);return function(){const n=this.compoundShapes;if(this.pickingGeometryNode){const s=this.pickingGeometryNode.getCoord();if(s){const o=s.getSize();for(let r=0;r{const e=new(X()),t=new(X()),i=new(Y()),n=new(Y()),s=new(pe().btTransform),r=new(pe().btVector3),c=new(Y()),a=new(ae()),h=new(Y())(1,1,1),p=new(o().MFVec3f);return function(){if(this.pickingGeometryNode){const o=this.getModelMatrices(),l=this.getTargets();switch(this.getIntersectionType()){case N.BOUNDS:{for(let s=0,r=o.length;se))),r!==this._isActive.getValue()&&(this._isActive=r),this._pickedGeometry.equals(s)||(this._pickedGeometry=s);break}case N.GEOMETRY:{const d=this.picker,g=this.compoundShapes;for(let p=0,u=o.length;pe))),y!==this._isActive.getValue()&&(this._isActive=y),this._pickedGeometry.equals(u)||(this._pickedGeometry=u);const m=this.getPickedTargets();p.length=0;for(let e=0,t=m.length;e=0;--i)switch(t[i]){case _().Box:case _().Cone:case _().Cylinder:case _().Sphere:this.pickingGeometryNode=e;break;default:continue}}catch{}},process:(()=>{const e=new(X()),t=new(X()),i=new(Y()),n=new(Y());return function(){if(this.pickingGeometryNode){const s=this.getModelMatrices(),o=this.getTargets();switch(this.getIntersectionType()){case N.BOUNDS:{for(let r=0,c=s.length;re))),c!==this._isActive.getValue()&&(this._isActive=c),this._pickedGeometry.equals(r)||(this._pickedGeometry=r);break}case N.GEOMETRY:{const r=this.picker;for(let c=0,a=s.length;ce))),a!==this._isActive.getValue()&&(this._isActive=a),this._pickedGeometry.equals(c)||(this._pickedGeometry=c);break}}}I.prototype.process.call(this)}})()}),Object.defineProperties(_e,{...l().getStaticProperties("PrimitivePickSensor","Picking",2,"children","3.2"),fieldDefinitions:{value:new(h())([new(c())(_().inputOutput,"metadata",new(o().SFNode)),new(c())(_().inputOutput,"description",new(o().SFString)),new(c())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(c())(_().inputOutput,"objectType",new(o().MFString)("ALL")),new(c())(_().inputOutput,"matchCriterion",new(o().SFString)("MATCH_ANY")),new(c())(_().initializeOnly,"intersectionType",new(o().SFString)("BOUNDS")),new(c())(_().initializeOnly,"sortOrder",new(o().SFString)("CLOSEST")),new(c())(_().outputOnly,"isActive",new(o().SFBool)),new(c())(_().inputOutput,"pickingGeometry",new(o().SFNode)),new(c())(_().inputOutput,"pickTarget",new(o().MFNode)),new(c())(_().outputOnly,"pickedGeometry",new(o().MFNode))]),enumerable:!0}});const ke=_e,we=w().add("PrimitivePickSensor",ke);function Se(e){I.call(this,e),this.addType(_().VolumePickSensor),this.pickingGeometryNode=null,this.picker=new ge}Object.assign(Object.setPrototypeOf(Se.prototype,I.prototype),{initialize(){I.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__(){this.pickingGeometryNode=re()(_().X3DGeometryNode,this._pickingGeometry)},process:(()=>{const e=new(X()),t=new(X()),i=new(Y()),n=new(Y());return function(){if(this.pickingGeometryNode){const s=this.getModelMatrices(),o=this.getTargets();switch(this.getIntersectionType()){case N.BOUNDS:{for(let r=0,c=s.length;re))),c!==this._isActive.getValue()&&(this._isActive=c),this._pickedGeometry.equals(r)||(this._pickedGeometry=r);break}case N.GEOMETRY:{const r=this.picker;for(let c=0,a=s.length;ce))),a!==this._isActive.getValue()&&(this._isActive=a),this._pickedGeometry.equals(c)||(this._pickedGeometry=c);break}}}I.prototype.process.call(this)}})()}),Object.defineProperties(Se,{...l().getStaticProperties("VolumePickSensor","Picking",3,"children","3.2"),fieldDefinitions:{value:new(h())([new(c())(_().inputOutput,"metadata",new(o().SFNode)),new(c())(_().inputOutput,"description",new(o().SFString)),new(c())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(c())(_().inputOutput,"objectType",new(o().MFString)("ALL")),new(c())(_().inputOutput,"matchCriterion",new(o().SFString)("MATCH_ANY")),new(c())(_().initializeOnly,"intersectionType",new(o().SFString)("BOUNDS")),new(c())(_().initializeOnly,"sortOrder",new(o().SFString)("CLOSEST")),new(c())(_().outputOnly,"isActive",new(o().SFBool)),new(c())(_().inputOutput,"pickingGeometry",new(o().SFNode)),new(c())(_().inputOutput,"pickTarget",new(o().MFNode)),new(c())(_().outputOnly,"pickedGeometry",new(o().MFNode))]),enumerable:!0}});const Oe=Se,fe=w().add("VolumePickSensor",Oe);n().add({name:"Picking",concreteNodes:[Q,se,me,we,fe],abstractNodes:[I,te]});w().add("PickingComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const e=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var t={n:e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return t.d(i,{a:i}),i},d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const i=e.Components;var n=t.n(i);const s=e.Fields;var o=t.n(s);const r=e.X3DFieldDefinition;var c=t.n(r);const a=e.FieldDefinitionArray;var h=t.n(a);const p=e.X3DNode;var l=t.n(p);const d=e.X3DSensorNode;var g=t.n(d);const u=e.TraverseType;var y=t.n(u);const m=e.X3DConstants;var _=t.n(m);const k=e.Namespace;var w=t.n(k);let S=0;const O={MATCH_ANY:S++,MATCH_EVERY:S++,MATCH_ONLY_ONE:S++},f=w().add("MatchCriterion",O);let b=0;const T={BOUNDS:b++,GEOMETRY:b++},N=w().add("IntersectionType",T);let C=0;const P={ANY:C++,CLOSEST:C++,ALL:C++,ALL_SORTED:C++},G=w().add("SortOrder",P),M=e.Matrix4;var v=t.n(M);const B=e.QuickSort;var x=t.n(B);const j=e.ObjectCache;var A,F,L,V=t.n(j)()(v());function D(e,t){return e.distance{const e=new WeakMap;return function(t){const i=e.get(t);if(void 0!==i)return i;const n=this.getBrowser(),s=n.getPrivateScene().createNode("Shape",!1),o=n.getPrivateScene().createNode("CollidableShape",!1);return s.setPrivate(!0),o.setPrivate(!0),o.setConvex(!0),s._geometry=t,o._shape=s,s.setup(),o.setup(),e.set(t,o),o}})(),getPickedGeometries:function(){var e=this.targets,t=e.size,i=this.pickedTargets,n=this.pickedGeometries;i.length=0;for(var s=0;s=0;--s){var o,r=n[s];if(r.getExecutionContext()===t)return r;if((o=r.getExecutionContext()).getType().includes(_().X3DPrototypeInstance)&&o.getExecutionContext()===t)return o}return null},getPickedTargets(){return this.pickedTargets},set_live__(){this.getLive().getValue()&&this._enabled.getValue()&&!this.objectType.has("NONE")?(this.getBrowser().addPickSensor(this),this.setPickableObject(!0)):(this.getBrowser().removePickSensor(this),this.setPickableObject(!1))},set_objectType__(){this.objectType.clear();for(var e=0,t=this._objectType.length;e=0;--s)switch(n[s]){case _().Inline:case _().Shape:case _().X3DGroupingNode:this.pickTargetNodes.add(i);break;default:continue}}catch{}},traverse(e,t){e===y().PICKING&&this.isPickableObject()&&this.modelMatrices.push(V.pop().assign(t.getModelViewMatrix().get()))},collect(e,t,i){var n=this.pickTargetNodes;if(i.some((e=>n.has(e)))){var s=this.targets;if(s.size=0;--i)switch(t[i]){case _().IndexedLineSet:case _().LineSet:this.pickingGeometryNode=e;break;default:continue}}catch{}},process:(()=>{const e=new(X()),t=new(X()),i=new(Y()),n=new(Y()),s=new(v()),r=new(Y()),c=new(Y()),a=new(q())(Y().Zero,Y().zAxis),h=new(Y()),p=new(Y()),l=[],d=[],g=new(Y()),u=new(o().MFVec3f),y=new(o().MFVec3f),m=new(o().MFVec3f);return function(){if(this.pickingGeometryNode){const o=this.getModelMatrices(),_=this.getTargets();switch(this.getIntersectionType()){case N.BOUNDS:{for(let s=0,r=o.length;se))),r!==this._isActive.getValue()&&(this._isActive=r),this._pickedGeometry.equals(s)||(this._pickedGeometry=s);break}case N.GEOMETRY:{for(let g=0,u=o.length;ge))),w!==this._isActive.getValue()&&(this._isActive=w),this._pickedGeometry.equals(k)||(this._pickedGeometry=k);const S=this.getPickedTargets();u.length=0,y.length=0,m.length=0;for(let e=0,t=S.length;e{const e=new(Y()),t=new(ae()),i=new(Y())(1,1,1),n=new(pe().btVector3)(0,0,0);return function(s,o,r){s.getNumChildShapes()&&s.removeChildShapeByIndex(0),r.getNumChildShapes()&&(o.get(e,t,i),n.setValue(i.x,i.y,i.z),r.setLocalScaling(n),s.addChildShape(this.getTransform(e,t),r))}})(),setChildShapeComponents(e,t,i,n){e.getNumChildShapes()&&e.removeChildShapeByIndex(0),n.getNumChildShapes()&&(n.setLocalScaling(i),e.addChildShape(t,n))},contactTest(){this.collisionWorld.performDiscreteCollisionDetection();const e=this.dispatcher.getNumManifolds();for(let t=0;t{const e=new(pe().btTransform),t=new(pe().btVector3)(0,0,0),i=new(v());return function(n,s,o){const r=o||e;return i.set(n,s),t.setValue(i[12],i[13],i[14]),r.getBasis().setValue(i[0],i[4],i[8],i[1],i[5],i[9],i[2],i[6],i[10]),r.setOrigin(t),r}})()});const de=le,ge=w().add("VolumePicker",de);function ue(e){I.call(this,e),this.addType(_().PointPickSensor),this.pickingGeometryNode=null,this.picker=new ge,this.compoundShapes=[]}Object.assign(Object.setPrototypeOf(ue.prototype,I.prototype),{initialize(){I.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__(){this.pickingGeometryNode?._rebuild.removeInterest("set_geometry__",this),this.pickingGeometryNode=re()(_().PointSet,this._pickingGeometry),this.pickingGeometryNode?._rebuild.addInterest("set_geometry__",this),this.set_geometry__()},set_geometry__:(()=>{const e=new(pe().btVector3)(1,1,1),t=new(pe().btVector3),i=new(pe().btTransform);return function(){const n=this.compoundShapes;if(this.pickingGeometryNode){const s=this.pickingGeometryNode.getCoord();if(s){const o=s.getSize();for(let r=0;r{const e=new(X()),t=new(X()),i=new(Y()),n=new(Y()),s=new(pe().btTransform),r=new(pe().btVector3),c=new(Y()),a=new(ae()),h=new(Y())(1,1,1),p=new(o().MFVec3f);return function(){if(this.pickingGeometryNode){const o=this.getModelMatrices(),l=this.getTargets();switch(this.getIntersectionType()){case N.BOUNDS:{for(let s=0,r=o.length;se))),r!==this._isActive.getValue()&&(this._isActive=r),this._pickedGeometry.equals(s)||(this._pickedGeometry=s);break}case N.GEOMETRY:{const d=this.picker,g=this.compoundShapes;for(let p=0,u=o.length;pe))),y!==this._isActive.getValue()&&(this._isActive=y),this._pickedGeometry.equals(u)||(this._pickedGeometry=u);const m=this.getPickedTargets();p.length=0;for(let e=0,t=m.length;e=0;--i)switch(t[i]){case _().Box:case _().Cone:case _().Cylinder:case _().Sphere:this.pickingGeometryNode=e;break;default:continue}}catch{}},process:(()=>{const e=new(X()),t=new(X()),i=new(Y()),n=new(Y());return function(){if(this.pickingGeometryNode){const s=this.getModelMatrices(),o=this.getTargets();switch(this.getIntersectionType()){case N.BOUNDS:{for(let r=0,c=s.length;re))),c!==this._isActive.getValue()&&(this._isActive=c),this._pickedGeometry.equals(r)||(this._pickedGeometry=r);break}case N.GEOMETRY:{const r=this.picker;for(let c=0,a=s.length;ce))),a!==this._isActive.getValue()&&(this._isActive=a),this._pickedGeometry.equals(c)||(this._pickedGeometry=c);break}}}I.prototype.process.call(this)}})()}),Object.defineProperties(_e,{...l().getStaticProperties("PrimitivePickSensor","Picking",2,"children","3.2"),fieldDefinitions:{value:new(h())([new(c())(_().inputOutput,"metadata",new(o().SFNode)),new(c())(_().inputOutput,"description",new(o().SFString)),new(c())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(c())(_().inputOutput,"objectType",new(o().MFString)("ALL")),new(c())(_().inputOutput,"matchCriterion",new(o().SFString)("MATCH_ANY")),new(c())(_().initializeOnly,"intersectionType",new(o().SFString)("BOUNDS")),new(c())(_().initializeOnly,"sortOrder",new(o().SFString)("CLOSEST")),new(c())(_().outputOnly,"isActive",new(o().SFBool)),new(c())(_().inputOutput,"pickingGeometry",new(o().SFNode)),new(c())(_().inputOutput,"pickTarget",new(o().MFNode)),new(c())(_().outputOnly,"pickedGeometry",new(o().MFNode))]),enumerable:!0}});const ke=_e,we=w().add("PrimitivePickSensor",ke);function Se(e){I.call(this,e),this.addType(_().VolumePickSensor),this.pickingGeometryNode=null,this.picker=new ge}Object.assign(Object.setPrototypeOf(Se.prototype,I.prototype),{initialize(){I.prototype.initialize.call(this),this._pickingGeometry.addInterest("set_pickingGeometry__",this),this.set_pickingGeometry__()},set_pickingGeometry__(){this.pickingGeometryNode=re()(_().X3DGeometryNode,this._pickingGeometry)},process:(()=>{const e=new(X()),t=new(X()),i=new(Y()),n=new(Y());return function(){if(this.pickingGeometryNode){const s=this.getModelMatrices(),o=this.getTargets();switch(this.getIntersectionType()){case N.BOUNDS:{for(let r=0,c=s.length;re))),c!==this._isActive.getValue()&&(this._isActive=c),this._pickedGeometry.equals(r)||(this._pickedGeometry=r);break}case N.GEOMETRY:{const r=this.picker;for(let c=0,a=s.length;ce))),a!==this._isActive.getValue()&&(this._isActive=a),this._pickedGeometry.equals(c)||(this._pickedGeometry=c);break}}}I.prototype.process.call(this)}})()}),Object.defineProperties(Se,{...l().getStaticProperties("VolumePickSensor","Picking",3,"children","3.2"),fieldDefinitions:{value:new(h())([new(c())(_().inputOutput,"metadata",new(o().SFNode)),new(c())(_().inputOutput,"description",new(o().SFString)),new(c())(_().inputOutput,"enabled",new(o().SFBool)(!0)),new(c())(_().inputOutput,"objectType",new(o().MFString)("ALL")),new(c())(_().inputOutput,"matchCriterion",new(o().SFString)("MATCH_ANY")),new(c())(_().initializeOnly,"intersectionType",new(o().SFString)("BOUNDS")),new(c())(_().initializeOnly,"sortOrder",new(o().SFString)("CLOSEST")),new(c())(_().outputOnly,"isActive",new(o().SFBool)),new(c())(_().inputOutput,"pickingGeometry",new(o().SFNode)),new(c())(_().inputOutput,"pickTarget",new(o().MFNode)),new(c())(_().outputOnly,"pickedGeometry",new(o().MFNode))]),enumerable:!0}});const Oe=Se,fe=w().add("VolumePickSensor",Oe);n().add({name:"Picking",concreteNodes:[Q,se,me,we,fe],abstractNodes:[I,te]});w().add("PickingComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/RigidBodyPhysicsComponent.js b/dist/assets/components/RigidBodyPhysicsComponent.js index dbb3d9129e..3ec5a0b544 100644 --- a/dist/assets/components/RigidBodyPhysicsComponent.js +++ b/dist/assets/components/RigidBodyPhysicsComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ diff --git a/dist/assets/components/RigidBodyPhysicsComponent.min.js b/dist/assets/components/RigidBodyPhysicsComponent.min.js index 92d9aec880..e3d409c33f 100644 --- a/dist/assets/components/RigidBodyPhysicsComponent.min.js +++ b/dist/assets/components/RigidBodyPhysicsComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const t=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var e={447:()=>{},923:()=>{}},i={};function n(t){var o=i[t];if(void 0!==o)return o.exports;var _=i[t]={exports:{}};return e[t](_,_.exports,n),_.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{const e=t.Components;var i=n.n(e);const o=t.Fields;var _=n.n(o);const r=t.X3DFieldDefinition;var s=n.n(r);const p=t.FieldDefinitionArray;var c=n.n(p);const a=t.X3DNode;var l=n.n(a);const d=t.X3DConstants;var b=n.n(d);const A=t.X3DCast;var f=n.n(A);const u=t.Matrix4;var m=n.n(u);const h=t.Namespace;var y=n.n(h);function g(t){l().call(this,t),this.addType(b().X3DRigidJointNode),this.addChildObjects(b().inputOutput,"collection",new(_().SFNode)),this.bodyNode1=null,this.bodyNode2=null,this.initialInverseMatrix1=new(m()),this.initialInverseMatrix2=new(m()),this.output=!1}Object.assign(Object.setPrototypeOf(g.prototype,l().prototype),{initialize(){l().prototype.initialize.call(this),this._forceOutput.addInterest("set_forceOutput__",this),this._body1.addInterest("set_body1__",this),this._body2.addInterest("set_body2__",this),this.set_forceOutput__(),this.set_body1__(),this.set_body2__()},setCollection(t){this.removeJoint(),this._collection=t,this.addJoint()},getCollection(){return this._collection.getValue()},getBody1(){return this.bodyNode1},getBody2(){return this.bodyNode2},getInitialInverseMatrix1(){return this.initialInverseMatrix1},getInitialInverseMatrix2(){return this.initialInverseMatrix2},setOutput(t){this.output=t,t?(this.bodyNode1&&this.bodyNode1.addInterest("update1",this),this.bodyNode2&&this.bodyNode2.addInterest("update2",this)):(this.bodyNode1&&this.bodyNode1.removeInterest("update1",this),this.bodyNode2&&this.bodyNode2.removeInterest("update2",this))},addJoint(){},removeJoint(){},set_forceOutput__(){},set_joint__(){this.removeJoint(),this.addJoint()},set_body1__(){this.removeJoint(),this.bodyNode1&&(this.bodyNode1.removeInterest("update1",this),this.bodyNode1._collection.removeInterest("set_joint__",this)),this.bodyNode1=f()(b().RigidBody,this._body1),this.bodyNode1&&(this.bodyNode1._collection.addInterest("set_joint__",this),this.initialize1(),this.addJoint(),this.setOutput(this.output))},set_body2__(){this.removeJoint(),this.bodyNode2&&(this.bodyNode2.removeInterest("update2",this),this.bodyNode2._collection.removeInterest("set_joint__",this)),this.bodyNode2=f()(b().RigidBody,this._body2),this.bodyNode2&&(this.bodyNode2._collection.addInterest("set_joint__",this),this.initialize2(),this.addJoint(),this.setOutput(this.output))},initialize1(){this.initialInverseMatrix1.set(this.bodyNode1._position.getValue(),this.bodyNode1._orientation.getValue()),this.initialInverseMatrix1.inverse()},initialize2(){this.initialInverseMatrix2.set(this.bodyNode2._position.getValue(),this.bodyNode2._orientation.getValue()),this.initialInverseMatrix2.inverse()},update1(){},update2(){},dispose(){this.removeJoint(),l().prototype.dispose.call(this)}}),Object.defineProperties(g,l().getStaticProperties("X3DRigidJointNode","RigidBodyPhysics",2));const C=g,v=y().add("X3DRigidJointNode",C),S=t.Vector3;var w,k=n.n(S),R=(w="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(t){var e,i=void 0!==(t=t||{})?t:{},o={};for(e in i)i.hasOwnProperty(e)&&(o[e]=i[e]);i.arguments=[],i.thisProgram="./this.program",i.quit=function(t,e){throw e},i.preRun=[],i.postRun=[];var _,r,s,p=!1;_="object"==typeof window,r="function"==typeof importScripts,p="object"==typeof process&&!_&&!r,s=!_&&!p&&!r;var c,a,l="";p?(l="//",i.read=function(t,e){var i;return(i=it(t))||(c||(c=n(447)),a||(a=n(923)),t=a.normalize(t),i=c.readFileSync(t)),e?i:i.toString()},i.readBinary=function(t){var e=i.read(t,!0);return e.buffer||(e=new Uint8Array(e)),m(e.buffer),e},process.argv.length>1&&(i.thisProgram=process.argv[1].replace(/\\/g,"/")),i.arguments=process.argv.slice(2),process.on("uncaughtException",(function(t){if(!(t instanceof AS))throw t})),process.on("unhandledRejection",uS),i.quit=function(t){process.exit(t)},i.inspect=function(){return"[Emscripten Module object]"}):s?("undefined"!=typeof read&&(i.read=function(t){var e=it(t);return e?tt(e):read(t)}),i.readBinary=function(t){var e;return(e=it(t))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(t)):(m("object"==typeof(e=read(t,"binary"))),e)},"undefined"!=typeof scriptArgs?i.arguments=scriptArgs:void 0!==arguments&&(i.arguments=arguments),"function"==typeof quit&&(i.quit=function(t){quit(t)})):(_||r)&&(r?l=self.location.href:document.currentScript&&(l=document.currentScript.src),w&&(l=w),l=0!==l.indexOf("blob:")?l.substr(0,l.lastIndexOf("/")+1):"",i.read=function(t){try{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText}catch(e){var i=it(t);if(i)return tt(i);throw e}},r&&(i.readBinary=function(t){try{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var i=it(t);if(i)return i;throw e}}),i.readAsync=function(t,e,i){var n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="arraybuffer",n.onload=function(){if(200==n.status||0==n.status&&n.response)e(n.response);else{var o=it(t);o?e(o.buffer):i()}},n.onerror=i,n.send(null)},i.setWindowTitle=function(t){document.title=t});var d=i.print||("undefined"!=typeof console?console.log.bind(console):"undefined"!=typeof print?print:null),b=i.printErr||("undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn.bind(console)||d);for(e in o)o.hasOwnProperty(e)&&(i[e]=o[e]);o=void 0,new Array(0);var A=0,f=function(t){A=t},u=!1;function m(t,e){t||uS("Assertion failed: "+e)}var h,y,g,C,v,S="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function k(t,e,i){for(var n=e+i,o=e;t[o]&&!(o>=n);)++o;if(o-e>16&&t.subarray&&S)return S.decode(t.subarray(e,o));for(var _="";e>10,56320|1023&c)}}else _+=String.fromCharCode((31&r)<<6|s)}else _+=String.fromCharCode(r)}return _}function R(t,e){return t?k(g,t,e):""}function j(t,e,i,n){if(!(n>0))return 0;for(var o=i,_=i+n-1,r=0;r=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&t.charCodeAt(++r)),s<=127){if(i>=_)break;e[i++]=s}else if(s<=2047){if(i+1>=_)break;e[i++]=192|s>>6,e[i++]=128|63&s}else if(s<=65535){if(i+2>=_)break;e[i++]=224|s>>12,e[i++]=128|s>>6&63,e[i++]=128|63&s}else{if(i+3>=_)break;e[i++]=240|s>>18,e[i++]=128|s>>12&63,e[i++]=128|s>>6&63,e[i++]=128|63&s}}return e[i]=0,i-o}function D(t,e){return t%e>0&&(t+=e-t%e),t}function I(){i.HEAP8=y=new Int8Array(h),i.HEAP16=new Int16Array(h),i.HEAP32=C=new Int32Array(h),i.HEAPU8=g=new Uint8Array(h),i.HEAPU16=new Uint16Array(h),i.HEAPU32=new Uint32Array(h),i.HEAPF32=v=new Float32Array(h),i.HEAPF64=new Float64Array(h)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var B=27136,W=5242880,F=i.TOTAL_MEMORY||67108864;function x(t){for(;t.length>0;){var e=t.shift();if("function"!=typeof e){var n=e.func;"number"==typeof n?void 0===e.arg?i.dynCall_v(n):i.dynCall_vi(n,e.arg):n(void 0===e.arg?null:e.arg)}else e()}}F>2]=5270272;var O=[],T=[],P=[],M=[],V=!1;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(t,e){var i=65535&t,n=65535&e;return i*n+((t>>>16)*n+i*(e>>>16)<<16)|0}),Math.clz32||(Math.clz32=function(t){var e=32,i=t>>16;return i&&(e-=16,t=i),(i=t>>8)&&(e-=8,t=i),(i=t>>4)&&(e-=4,t=i),(i=t>>2)&&(e-=2,t=i),(i=t>>1)?e-2:e-t}),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Math.abs,Math.ceil,Math.floor,Math.min;var G=0,N=null,L=null;i.preloadedImages={},i.preloadedAudios={};var Q=null,E="data:application/octet-stream;base64,";function H(t){return String.prototype.startsWith?t.startsWith(E):0===t.indexOf(E)}var Z=[function(t,e,n,o){var _=i.getCache(i.DebugDrawer)[t];if(!_.hasOwnProperty("drawLine"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawLine.";_.drawLine(e,n,o)},function(t,e,n,o,_,r){var s=i.getCache(i.DebugDrawer)[t];if(!s.hasOwnProperty("drawContactPoint"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawContactPoint.";s.drawContactPoint(e,n,o,_,r)},function(t,e){var n=i.getCache(i.DebugDrawer)[t];if(!n.hasOwnProperty("reportErrorWarning"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::reportErrorWarning.";n.reportErrorWarning(e)},function(t,e,n){var o=i.getCache(i.DebugDrawer)[t];if(!o.hasOwnProperty("draw3dText"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::draw3dText.";o.draw3dText(e,n)},function(t,e){var n=i.getCache(i.DebugDrawer)[t];if(!n.hasOwnProperty("setDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::setDebugMode.";n.setDebugMode(e)},function(t){var e=i.getCache(i.DebugDrawer)[t];if(!e.hasOwnProperty("getDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::getDebugMode.";return e.getDebugMode()},function(t,e,n,o,_,r,s,p){var c=i.getCache(i.ConcreteContactResultCallback)[t];if(!c.hasOwnProperty("addSingleResult"))throw"a JSImplementation must implement all functions, you forgot ConcreteContactResultCallback::addSingleResult.";return c.addSingleResult(e,n,o,_,r,s,p)}];function U(){return!!U.uncaught_exception}function Y(t){try{return sS(t)}catch(t){}}T.push({func:function(){st()}}),Q="data:application/octet-stream;base64,AAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUZsKQAAJi8AAAACAAAAAAAARCkAADQvAABsKQAAazAAABgCAAAAAAAARCkAAIswAABsKQAAtzAAADACAAAAAAAARCkAAOYwAABsKQAADjEAAEgCAAAAAAAARCkAACQxAABsKQAAQDEAAGACAAAAAAAARCkAAFcxAABEKQAAZzEAAGwpAAB8MQAAgAIAAAAAAABEKQAArjEAAGwpAADZMQAAmAIAAAAAAABEKQAA8zEAAGwpAAAGMgAAEAYAAAAAAABsKQAAMjIAAMACAAAAAAAARCkAAG0yAABsKQAAjjIAAMACAAAAAAAAbCkAAMIyAADAAgAAAAAAAGwpAADwMgAAwAIAAAAAAABsKQAA4jMAAMAFAAAAAAAAbCkAAO8zAAAYAwAAAAAAAEQpAAAPNAAARCkAACI0AABsKQAANzQAACADAAAAAAAAbCkAAFY0AABACgAAAAAAAGwpAADnNAAAaAMAAAAAAABsKQAAyTQAAMAJAAAAAAAAbCkAAAk1AAAYAwAAAAAAAGwpAAAqNQAAGAMAAAAAAABsKQAATTUAABgDAAAAAAAAbCkAAG81AABoAwAAAAAAAGwpAACRNQAAuAMAAAAAAABEKQAAsTUAAGwpAAC9NgAAuAMAAAAAAABsKQAAADYAAOAJAAAAAAAAbCkAANE1AACICQAAAAAAAEQpAADjNQAAbCkAAKA2AADgCQAAAAAAAGwpAABxNwAAYAQAAAAAAABsKQAAIjcAACgEAAAAAAAAbCkAADw3AAA4BAAAAAAAAEQpAABWNwAAbCkAAIw3AAC4AwAAAAAAAGwpAADANwAAwAUAAAAAAABsKQAAcDkAAIAEAAAAAAAAbCkAAFI4AABwAgAAAAAAAGwpAACKOQAAOAcAAAAAAABsKQAAnDkAAKAEAAAAAAAARCkAALo5AABsKQAA6DkAAOgEAAAAAAAAbCkAABg6AADoBAAAAAAAAGwpAABUOgAAuAQAAAAAAABsKQAAlToAAOgEAAAAAAAAlCkAAMo6AAAAAAAAAQAAAAAFAAACBAAARCkAAN46AABsKQAABTsAAOgEAAAAAAAAbCkAADQ7AADoBAAAAAAAAGwpAABnOwAA6AQAAAAAAABsKQAAxTsAAEgFAAAAAAAARCkAAOs7AABsKQAAADwAAGAFAAAAAAAARCkAABM8AABsKQAAJzwAAGgCAAAAAAAAbCkAAHE8AACYBQAAAAAAAGwpAABDPAAAcAIAAAAAAABsKQAAkjwAAGAFAAAAAAAAbCkAALM8AAC4BQAAAAAAAEQpAADMPAAARCkAAPY8AABsKQAACj0AAMAFAAAAAAAAbCkAABo9AADIBQAAAAAAAGwpAABjPQAAmAsAAAAAAABsKQAANT0AAAgGAAAAAAAARCkAAE89AABsKQAAez0AACAGAAAAAAAARCkAAJ09AABsKQAAuD0AAMACAAAAAAAAbCkAAOg9AADAAgAAAAAAAGwpAAATPgAAwAIAAAAAAABsKQAARj4AAMACAAAAAAAAbCkAAHc+AADAAgAAAAAAAGwpAACYPgAAwAIAAAAAAABsKQAAzD4AAMACAAAAAAAAbCkAAAE/AADAAgAAAAAAAGwpAAAuPwAAwAIAAAAAAABsKQAAZz8AAMACAAAAAAAARCkAAJk/AABsKQAA4D8AALgDAAAAAAAAbCkAALtAAABIDAAAAAAAAGwpAAACQAAA4AkAAAAAAABsKQAAoEAAAOAJAAAAAAAAbCkAAN9AAABIDAAAAAAAAGwpAAD8QAAAMAcAAAAAAABEKQAAD0EAAEQpAAC2RAAAbCkAAKZDAAAoBAAAAAAAAGwpAAB7QQAAMAIAAAAAAABsKQAAAEIAABgDAAAAAAAAbCkAAH5CAACoCwAAAAAAAGwpAAATQwAAqAsAAAAAAACUKQAAvEMAAAAAAAACAAAA4AkAAAIAAADoCQAAAgQAAGwpAADdRAAAgAIAAAAAAABsKQAAekUAALgLAAAAAAAAbCkAACtGAAC4CwAAAAAAAGwpAADqRgAAKAQAAAAAAABsKQAAHEcAADgEAAAAAAAAbCkAAAJHAAAgBwAAAAAAAGwpAAA2RwAASAwAAAAAAABsKQAAokgAAMACAAAAAAAAbCkAAIhIAABIDAAAAAAAAGwpAABbRwAAIAcAAAAAAABsKQAAdkcAADAHAAAAAAAAbCkAAANIAAAwBwAAAAAAAGwpAADjSAAASAwAAAAAAABsKQAAykgAABgDAAAAAAAAbCkAACNJAABIDAAAAAAAAGwpAAACSQAAGAMAAAAAAABsKQAAgEkAAKgJAAAAAAAAbCkAAKdJAADACQAAAAAAAGwpAAC7SQAAwAgAAAAAAABsKQAA0EkAAMAIAAAAAAAAbCkAAOZJAADACQAAAAAAAGwpAACkSgAASAkAAAAAAABsKQAA9kkAACAJAAAAAAAARCkAAGRKAABsKQAAvUoAACAJAAAAAAAAbCkAACVLAAAgCQAAAAAAAGwpAAAhTAAAQAoAAAAAAABsKQAAlksAAOAJAAAAAAAAbCkAAK5LAADoCQAAAAAAAGwpAABaTAAAQAoAAAAAAABsKQAAb0wAAMAJAAAAAAAAbCkAAIlMAACICQAAAAAAAEQpAADDTAAAbCkAANZMAACoCQAAAAAAAGwpAADmTAAAsAkAAAAAAABsKQAAG00AAJgJAAAAAAAARCkAAC9NAABEKQAARE0AAGwpAACGTQAAwAkAAAAAAABsKQAAoE0AAPAJAAAAAAAAbCkAALtNAADwCQAAAAAAAGwpAAD4TQAAmAkAAAAAAABsKQAAzU0AAOgJAAAAAAAAbCkAABROAACoCQAAAAAAAGwpAAApTgAAiAkAAAAAAABsKQAANk4AAKALAAAAAAAAbCkAAEdOAADoCQAAAAAAAGwpAACiTgAA6AkAAAAAAABsKQAAEk8AAEAKAAAAAAAAbCkAAExPAADACQAAAAAAAGwpAABoTwAAoAoAAAAAAABsKQAAhU8AAKAKAAAAAAAAbCkAAJhPAACoDAAAAAAAAGwpAADbTwAA8AoAAAAAAABsKQAAqU8AAAALAAAAAAAARCkAAMNPAABsKQAA6k8AABgLAAAAAAAAbCkAAPxPAABIAgAAAAAAAGwpAAAEUQAAGAsAAAAAAABsKQAAFVAAAAgGAAAAAAAAbCkAAINQAAAIBgAAAAAAAGwpAABlUQAAAAsAAAAAAABsKQAAI1EAABgDAAAAAAAAbCkAADhRAAAYAwAAAAAAAGwpAABPUQAAGAMAAAAAAABEKQAAeFEAAEQpAADiUQAAbCkAAPNRAADgCQAAAAAAAGwpAAAPUgAA4AkAAAAAAABsKQAA2VIAAOgLAAAAAAAAbCkAAC5SAAAwBwAAAAAAAEQpAAD9UgAAbCkAAB5TAADoCwAAAAAAAGwpAABSUwAAuAUAAAAAAABsKQAAP1MAADAHAAAAAAAAbCkAAGRTAAC4BQAAAAAAAGwpAACCUwAAQAwAAAAAAABEKQAAllMAAGwpAAC9UwAAuAMAAAAAAABsKQAA3lMAALgDAAAAAAAAbCkAAPFTAABIDAAAAAAAAGwpAAAUVAAAQAwAAAAAAABsKQAAJ1QAAEAMAAAAAAAARCkAAEBUAABEKQAAWlQAAGwpAABvVAAAuAwAAAAAAABEKQAAH1UAAGwpAADHVQAA0AwAAAAAAABsKQAAdFUAAOAMAAAAAAAARCkAAJVVAABsKQAAolUAAMAMAAAAAAAAbCkAAD5WAADQDAAAAAAAAGwpAAAaVgAA+AwAAAAAAABsKQAAYFYAAMAMAAAAAAAAAAAAAPABAAABAAAAAgAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAABAAAAAgAAAAEAAAABAAAAAQAAAAMAAAACAAAAAQAAAAIAAAADAAAAAQAAAAAAAAAAAgAAAwAAAAQAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAABAAAAAQAAAAEAAAADAAAAAgAAAAEAAAACAAAAAwAAAAEAAAAAAAAACAIAAAUAAAAGAAAAAQAAAAEAAAAAAAAAGAIAAAcAAAAIAAAAAQAAAAEAAAAAAAAAIAIAAAkAAAAKAAAAAgAAAAEAAAAAAAAAMAIAAAsAAAAMAAAAAgAAAAEAAAAAAAAAOAIAAA0AAAAOAAAAAQAAAAEAAAACAAAAAAAAAEgCAAAPAAAAEAAAAAEAAAABAAAAAQAAAAAAAABQAgAAEQAAABIAAAADAAAABAAAAAAAAABgAgAAEwAAABQAAAABAAAAAQAAAAAAAABoAgAAFQAAABYAAAABAAAAAAAAAHACAAAXAAAAGAAAAAMAAAACAAAAAAAAAIACAAAZAAAAGgAAAAMAAAABAAAAAAAAAIgCAAAbAAAAHAAAAAIAAAADAAAAAwAAAAUAAAABAAAAAgAAAB0AAAAEAAAABQAAAAYAAAAEAAAABwAAAAUAAAAGAAAAAAAAAKACAAAeAAAAHwAAAAYAAAAHAAAAAgAAAAgAAAAAAAAA6AIAACAAAAAhAAAAAgAAAAAAAADYAgAAIAAAACIAAAADAAAAAAAAAMgCAAAgAAAAIwAAAAQAAAAAAAAAsAIAACAAAAAkAAAABQAAAAAAAAD4AgAABAAAACUAAAAmAAAACAAAAAkAAAADAAAACQAAAAcAAAAAAAAACAMAACcAAAAoAAAACAAAAAoAAAACAAAABQAAAAYAAAAAAAAAKAMAACkAAAAqAAAAAQAAAAEAAAADAAAACgAAAAAAAAA4AwAAKwAAACwAAAAEAAAACQAAAAEAAAABAAAACwAAAAsAAAACAAAADAAAAAwAAAAEAAAAAgAAAA0AAAAEAAAADQAAAAUAAAAAAAAAeAMAACcAAAAtAAAACAAAAA4AAAACAAAABQAAAAYAAAAAAAAASAMAACcAAAAuAAAACAAAAA8AAAACAAAABQAAAAYAAAAAAAAAWAMAAC8AAAAwAAAABgAAAAkAAAABAAAAAQAAABAAAAAOAAAAAwAAAA8AAAAMAAAABQAAAAMAAAAQAAAABQAAAA0AAAAKAAAACwAAAAMAAAAHAAAACAAAABEAAAAMAAAAEgAAAAAAAACYAwAAJwAAADEAAAANAAAAEQAAAAIAAAAFAAAABgAAAAAAAACIAwAAJwAAADIAAAAOAAAAEQAAAAIAAAAFAAAABgAAAAAAAACoAwAAMwAAADQAAAAEAAAAAQAAABIAAAAAAAAAwAMAADUAAAA2AAAABQAAAAIAAAATAAAAAAAAANADAAA3AAAAOAAAAAkAAAAAAAAA8AMAAAYAAAAUAAAADwAAADkAAAA6AAAAAAAAAOADAAA7AAAAPAAAAAoAAAAJAAAAAQAAAAEAAAAQAAAADgAAAAQAAAATAAAADAAAAAcAAAAEAAAAEAAAAAUAAAANAAAAEAAAABEAAAADAAAACwAAAAgAAAAUAAAAEgAAAAcAAAAVAAAAFgAAAAwAAAATAAAAFwAAAA0AAAABAAAADgAAAAAAAAD4AwAAPQAAAD4AAAAPAAAAAAAAAAgEAAA/AAAAQAAAAEEAAABCAAAAFQAAABgAAABDAAAAEAAAABEAAAASAAAAFgAAAEQAAAAXAAAAAQAAABQAAAAYAAAAGQAAABoAAAAbAAAAHAAAAEUAAAAdAAAAEwAAAB4AAAAfAAAAGQAAABoAAAAIAAAACQAAABsAAABGAAAAIAAAACEAAAAiAAAAIwAAAAgAAAAJAAAARwAAACQAAAAKAAAACwAAAAwAAABIAAAAJQAAAA0AAAAAAAAAGAQAAEkAAABKAAAACgAAAAAAAABABAAASwAAAEwAAAAGAAAAAwAAACYAAAAAAAAAUAQAAAsAAABNAAAATgAAACcAAAAcAAAABgAAACgAAAAAAAAAYAQAAE8AAABQAAAAQQAAAEIAAAAVAAAAGAAAAFEAAAAQAAAAFAAAABIAAAApAAAARAAAACoAAAABAAAAFAAAABgAAAAZAAAAGgAAABsAAAAcAAAARQAAAB0AAAATAAAAHgAAAB8AAAAZAAAAGgAAAAgAAAAJAAAAHQAAAEYAAAAgAAAAIQAAACIAAAAjAAAADgAAAAkAAABHAAAAJAAAAAoAAAAPAAAADAAAAEgAAAAlAAAADQAAAAAAAABwBAAAGQAAAFIAAAAMAAAAAwAAAAAAAACQBAAAUwAAAFQAAAABAAAAAAAAAKgEAABVAAAAVgAAAFcAAAABAAAAKwAAACwAAAABAAAAAgAAAAQAAAAeAAAABwAAAAAAAAC4BAAAWAAAAFkAAABaAAAAAQAAAC0AAAAuAAAAAQAAAAMAAAAFAAAAHwAAAAgAAABbAAAAAAAAAMgEAABYAAAAXAAAAFoAAAABAAAALQAAAC8AAAABAAAAAwAAAAUAAAAgAAAACQAAAFsAAAAVAAAAAAAAANgEAABYAAAAXQAAAF4AAAABAAAAMAAAADEAAAABAAAABAAAAAYAAAAhAAAACgAAAAAAAADoBAAAWAAAAF8AAABXAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAHgAAAAcAAAAAAAAACAUAAFgAAABgAAAAVwAAAAEAAAAyAAAAMwAAAAEAAAAFAAAABwAAACIAAAALAAAAAAAAABgFAABYAAAAYQAAAGIAAAABAAAANAAAADUAAAACAAAABgAAAAgAAAAjAAAADAAAABYAAAAAAAAAKAUAAFgAAABjAAAAZAAAAAEAAAA2AAAANwAAAAEAAAAHAAAACQAAACQAAAANAAAAAAAAADgFAABlAAAAZgAAABcAAAABAAAAGAAAAGcAAAAlAAAAFQAAAAEAAAABAAAAAgAAAAEAAAACAAAAAAAAAFAFAABoAAAAaQAAAAMAAAA4AAAAEAAAABEAAAAWAAAAAAAAAGgFAAAVAAAAagAAAAYAAAAAAAAAeAUAAGsAAABsAAAABAAAADkAAAA6AAAABQAAADsAAAA8AAAAPQAAAAYAAAAmAAAAbQAAACcAAAA+AAAAAAAAAIgFAAAZAAAAbgAAAAMAAAAKAAAAAAAAAKgFAABvAAAAcAAAAAEAAAABAAAAAgAAAAAAAAACAAAAAAAAAAEAAAAAAAAAwAUAAAQAAABxAAAAcgAAACcAAAAoAAAADgAAAAkAAAAAAAAAyAUAAAQAAABzAAAAdAAAACcAAAAoAAAADgAAAAkAAAAZAAAAFwAAAAAAAADYBQAABAAAAHUAAAB2AAAAJwAAACgAAAAOAAAACQAAABoAAAAYAAAAAAAAAOgFAAB3AAAAeAAAAAcAAAAPAAAAPwAAAEAAAAAQAAAAEQAAABkAAAApAAAADQAAACoAAAArAAAALAAAAA4AAABBAAAAAAAAAPgFAAB5AAAAegAAAA8AAAAAAAAAEAYAAHsAAAB8AAAABgAAAAcAAAASAAAACAAAAAAAAAC4BgAAIAAAAH0AAAAIAAAAAAAAAKgGAAAgAAAAfgAAAAkAAAAAAAAAmAYAACAAAAB/AAAACgAAAAAAAACIBgAAIAAAAIAAAAALAAAAAAAAAHgGAAAgAAAAgQAAAAwAAAAAAAAAaAYAACAAAACCAAAADQAAAAAAAABYBgAAIAAAAIMAAAAOAAAAAAAAAEgGAAAgAAAAhAAAAA8AAAAAAAAAOAYAACAAAACFAAAAEAAAAAAAAAAoBgAAIAAAAIYAAAARAAAAAAAAAMgGAACHAAAAiAAAABsAAABCAAAAAAAAANAGAACJAAAAigAAAAcAAAAEAAAAQwAAAAAAAADgBgAAiwAAAIwAAAAIAAAABQAAAEQAAAAAAAAA8AYAADcAAACNAAAAGgAAAAAAAAAABwAAjgAAAI8AAAAbAAAAAAAAABAHAACQAAAAkQAAAAkAAAAGAAAARQAAAAAAAAAgBwAAkgAAAJMAAAAcAAAAHQAAAAMAAAAAAAAAOAcAAJQAAACVAAAAQQAAAEIAAAAVAAAAGAAAAJYAAAAQAAAAFAAAABwAAABGAAAARAAAAEcAAAAAAAAAQAcAAEkAAACXAAAAEAAAAAAAAACABwAANwAAAJgAAAAdAAAAAQAAAAAAAABwBwAANwAAAJkAAAAdAAAAAgAAAAAAAABgBwAAJwAAAJoAAAAIAAAASAAAAAIAAAAFAAAABgAAAAAAAABQBwAACwAAAJsAAAARAAAACwAAAAAAAACQBwAAnAAAAJ0AAAAeAAAAHwAAAPz///+QBwAAngAAAJ8AAAAgAAAAAAAAANAHAAA3AAAAoAAAACEAAAABAAAAAAAAAMAHAAA3AAAAoQAAACEAAAACAAAAAAAAALAHAAAZAAAAogAAABIAAAAMAAAAAAAAAOAHAABJAAAAowAAABMAAAAAAAAA8AcAAEkAAACkAAAAFAAAAAAAAAAACAAAkgAAAKUAAAAcAAAAHQAAAAQAAAAAAAAAEAgAAKYAAACnAAAACgAAAAcAAABJAAAAAAAAACAIAACoAAAAqQAAABIAAAAAAAAAMAgAAKoAAACrAAAACwAAAAgAAABKAAAAAAAAAGAIAACSAAAArAAAAB4AAAAfAAAABQAAAAAAAABQCAAAkgAAAK0AAAAgAAAAIQAAAAYAAAAAAAAAQAgAAJIAAACuAAAAHAAAAB0AAAAHAAAAAAAAAHAIAACvAAAAsAAAAAwAAAAJAAAASwAAAAAAAACACAAAJwAAALEAAAAIAAAATAAAAAIAAAAFAAAABgAAAAAAAACQCAAAsgAAALMAAAANAAAACgAAAE0AAAAAAAAAoAgAACcAAAC0AAAAIgAAABEAAAACAAAABQAAAAYAAAAAAAAAsAgAALUAAAC2AAAAIgAAAAkAAAABAAAAAQAAAE4AAAAtAAAABQAAAC4AAAAMAAAAEgAAAAUAAAAvAAAAEwAAAA0AAABPAAAAtwAAAAAAAADACAAALwAAALgAAAAjAAAACQAAAAEAAAABAAAAUAAAAA4AAAAGAAAAMAAAAFEAAAAHAAAABAAAADEAAAAUAAAADQAAACMAAAAkAAAAAwAAACQAAAAIAAAAEQAAAAwAAAAAAAAA0AgAAC8AAAC5AAAAIwAAAAkAAAABAAAAAQAAAFAAAAAOAAAABgAAADIAAABSAAAABwAAAAQAAAAxAAAAFAAAAA0AAAAjAAAAJAAAAAMAAAAkAAAACAAAABEAAAAMAAAAAAAAAOAIAAAvAAAAugAAACMAAAAJAAAAAQAAAAEAAABQAAAADgAAAAYAAAAzAAAAUwAAAAcAAAAEAAAAMQAAABQAAAANAAAAIwAAACQAAAADAAAAJAAAAAgAAAARAAAADAAAAAAAAADwCAAALwAAALsAAAAlAAAACQAAAAEAAAABAAAAEAAAAA4AAAAHAAAANAAAAAwAAAATAAAABgAAABAAAAAFAAAADQAAACUAAAAmAAAAAwAAACYAAAAIAAAAEQAAAAwAAAAAAAAAAAkAALwAAAC9AAAAJwAAAAkAAAABAAAAAQAAAFQAAAA1AAAACAAAADYAAAAMAAAABAAAAAIAAAA3AAAAFQAAAA0AAAAoAAAAJwAAACgAAABVAAAAVgAAAAAAAAAQCQAAvgAAAL8AAAApAAAAAAAAACgJAAC+AAAAwAAAACoAAAAAAAAAOAkAAL4AAADBAAAAKwAAAAAAAABICQAAwgAAAMMAAAAnAAAACQAAAAEAAAABAAAAVwAAADUAAAAIAAAAOAAAAAwAAAAEAAAAAgAAAA0AAAAEAAAADQAAACkAAAAnAAAAKAAAAAAAAABYCQAANwAAAMQAAAAqAAAAAAAAAGgJAADFAAAAxgAAACsAAAAAAAAAeAkAAMcAAADIAAAALAAAAAkAAAABAAAAAQAAAFgAAAA5AAAACQAAADoAAAAMAAAABAAAAAIAAAA7AAAAFgAAAA0AAAAtAAAAAAAAAIgJAAA7AAAAyQAAACMAAAAJAAAAAQAAAAEAAAAQAAAADgAAAAoAAAABAAAADAAAAAcAAAAEAAAAEAAAAAUAAAANAAAAEAAAACwAAAADAAAALgAAAAgAAAARAAAADAAAAAcAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAMAJAAAvAAAAygAAACMAAAAJAAAAAQAAAAEAAAAQAAAADgAAAAEAAAABAAAADAAAAAcAAAAEAAAAEAAAAAUAAAANAAAAEAAAAAEAAAADAAAAAQAAAAgAAAARAAAADAAAAAAAAADQCQAAywAAAMwAAAAvAAAACQAAAAEAAAABAAAAWQAAAA4AAAAKAAAAPAAAAAwAAAAHAAAABAAAAD0AAAAXAAAADQAAAC0AAAAuAAAAAwAAADAAAAAIAAAAEQAAAAwAAAAHAAAAPgAAAD8AAAAxAAAALwAAAEAAAAAyAAAAAgAAAAEAAAAAAAAA8AkAAC8AAADNAAAAMwAAAAkAAAABAAAAAQAAAFoAAAAOAAAACwAAAEEAAABbAAAAFAAAAAQAAABCAAAAGAAAAA0AAAAQAAAAMAAAAAMAAAA0AAAACAAAABEAAAAMAAAAAAAAAAAKAAAvAAAAzgAAADMAAAAJAAAAAQAAAAEAAABaAAAADgAAAAsAAABDAAAAWwAAABQAAAAEAAAAQgAAABgAAAANAAAAEAAAADAAAAADAAAANAAAAAgAAAARAAAADAAAAAAAAAAQCgAALwAAAM8AAAAzAAAACQAAAAEAAAABAAAAWgAAAA4AAAALAAAARAAAAFsAAAAUAAAABAAAAEIAAAAYAAAADQAAABAAAAAwAAAAAwAAADQAAAAIAAAAEQAAAAwAAAAAAAAAIAoAADsAAADQAAAALwAAAAkAAAABAAAAAQAAAFwAAABFAAAACgAAAEYAAAAMAAAABwAAAAQAAAAQAAAABQAAAA0AAAAxAAAAMgAAAAMAAAA1AAAACAAAABEAAAAMAAAABwAAAEcAAABIAAAANgAAADMAAABJAAAANwAAAAMAAAAAAAAAMAoAAMUAAADRAAAAOAAAAAAAAABQCgAAOwAAANIAAAA5AAAACQAAAAEAAAABAAAAXQAAAA4AAAAMAAAASgAAAAwAAAAVAAAABAAAABAAAAAFAAAADQAAADQAAAA1AAAAAwAAADoAAAAIAAAASwAAADYAAAAHAAAATAAAAE0AAAA7AAAANwAAAE4AAAA8AAAABAAAADgAAAAAAAAAYAoAANMAAADUAAAAEwAAAE8AAAAZAAAAXgAAAF8AAAAUAAAAAAAAAIAKAADFAAAA1QAAAD0AAAAAAAAAcAoAAMUAAADWAAAAPgAAAAAAAACQCgAA1wAAANgAAAA/AAAACQAAAAEAAAABAAAAYAAAAFAAAAANAAAAUQAAAAwAAAAEAAAAAgAAAA0AAAAEAAAADQAAAEAAAAANAAAAAAAAAKAKAAAvAAAA2QAAAEEAAAAJAAAAAQAAAAEAAABhAAAADgAAAA4AAABSAAAAYgAAABYAAAAEAAAAUwAAABoAAAANAAAAOQAAADoAAAADAAAAQgAAAAgAAAARAAAADAAAAAcAAAAAAAAAsAoAAC8AAADaAAAAQQAAAAkAAAABAAAAAQAAAGEAAAAOAAAADgAAAFQAAABiAAAAFgAAAAQAAABTAAAAGgAAAA0AAAA5AAAAOwAAAAMAAABDAAAACAAAABEAAAAMAAAACAAAAAAAAADACgAALwAAANsAAABBAAAACQAAAAEAAAABAAAAYQAAAA4AAAAOAAAAVQAAAGIAAAAWAAAABAAAAFMAAAAaAAAADQAAADkAAAA8AAAAAwAAAEQAAAAIAAAAEQAAAAwAAAAJAAAAAAAAANAKAADcAAAA3QAAAEUAAAABAAAAAgAAAGMAAABkAAAAVgAAAGUAAABmAAAAVwAAAD0AAAA+AAAAWAAAABsAAAAAAAAA4AoAAN4AAADfAAAAAQAAAD8AAAAOAAAARgAAAAIAAABHAAAAZwAAAFkAAABaAAAAQAAAAGgAAADgAAAAAAAAAPAKAADeAAAA4QAAAAEAAAA/AAAADgAAAEYAAAACAAAARwAAAGcAAABZAAAAWgAAAEAAAABoAAAA4AAAAAAAAAAICwAA4gAAAOMAAAAcAAAAFQAAAEEAAABbAAAAXAAAAF0AAABCAAAAXgAAAEMAAABpAAAARAAAAB0AAABfAAAAagAAAGsAAAAAAAAAKAsAAOQAAADlAAAAHgAAABYAAABFAAAAYAAAAGEAAABiAAAARgAAAGMAAABHAAAAbAAAAEgAAAAfAAAAZAAAAG0AAABuAAAAAAAAADgLAAB5AAAA5gAAABUAAAAAAAAASAsAAHkAAADnAAAAFgAAAAAAAABYCwAA6AAAAOkAAAACAAAASQAAAA8AAABIAAAAAwAAAEkAAABvAAAAZQAAAGYAAABKAAAAcAAAAOoAAAAAAAAAaAsAACcAAADrAAAASwAAAHEAAAACAAAABQAAAAYAAAAAAAAAeAsAACcAAADsAAAACAAAAHIAAAACAAAABQAAAAYAAAAAAAAAiAsAACcAAADtAAAACAAAAHMAAAACAAAABQAAAAYAAAAAAAAAoAsAAO4AAADvAAAAEwAAAE8AAAAZAAAAXgAAAF8AAAAAAAAAuAsAADcAAADwAAAAIQAAAAEAAAAAAAAAyAsAAPEAAADyAAAAAQAAAAAAAADYCwAAkgAAAPMAAABMAAAATQAAAAgAAAAAAAAA8AsAAPEAAAD0AAAAAgAAAAAAAAAADAAAbwAAAPUAAAACAAAAAAAAABAMAACSAAAA9gAAAE4AAABPAAAACQAAAAAAAAAgDAAAbwAAAPcAAAADAAAAAAAAADAMAAD4AAAA+QAAABAAAAAAAAAAWAwAAPoAAAD7AAAAEQAAAAsAAAB0AAAAAAAAAGgMAAD8AAAA/QAAABIAAAAMAAAAdQAAAAAAAAB4DAAA+AAAAP4AAAATAAAAAAAAAIgMAAD4AAAA/wAAABQAAAAAAAAAmAwAAAABAAABAQAAIAAAACEAAABnAAAAAAAAAKAMAAACAQAAAwEAAAAAAACoDAAABAEAAAUBAABFAAAAAQAAAAIAAABjAAAAZAAAAFYAAAB2AAAAdwAAAFcAAAA9AAAAPgAAAFgAAAAbAAAAbGcAAP////8FAAAAAAAAAAAAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAIwAAAOFpAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAMAAAGAQAABwEAAAgBAAAJAQAAJAAAAAQAAAAVAAAASgAAAAAAAADoDAAABgEAAAoBAAAIAQAACQEAACQAAAAFAAAAFgAAAEsAAAAAAAAAGA0AAAYBAAALAQAACAEAAAkBAAAkAAAABgAAABcAAABMAAAAeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0RlYnVnRHJhd2VyJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdnZXREZWJ1Z01vZGUnKSkgdGhyb3cgJ2EgSlNJbXBsZW1lbnRhdGlvbiBtdXN0IGltcGxlbWVudCBhbGwgZnVuY3Rpb25zLCB5b3UgZm9yZ290IERlYnVnRHJhd2VyOjpnZXREZWJ1Z01vZGUuJzsgcmV0dXJuIHNlbGZbJ2dldERlYnVnTW9kZSddKCk7IH0AeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0RlYnVnRHJhd2VyJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdzZXREZWJ1Z01vZGUnKSkgdGhyb3cgJ2EgSlNJbXBsZW1lbnRhdGlvbiBtdXN0IGltcGxlbWVudCBhbGwgZnVuY3Rpb25zLCB5b3UgZm9yZ290IERlYnVnRHJhd2VyOjpzZXREZWJ1Z01vZGUuJzsgc2VsZlsnc2V0RGVidWdNb2RlJ10oJDEpOyB9AHsgdmFyIHNlbGYgPSBNb2R1bGVbJ2dldENhY2hlJ10oTW9kdWxlWydEZWJ1Z0RyYXdlciddKVskMF07IGlmICghc2VsZi5oYXNPd25Qcm9wZXJ0eSgnZHJhdzNkVGV4dCcpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OmRyYXczZFRleHQuJzsgc2VsZlsnZHJhdzNkVGV4dCddKCQxLCQyKTsgfQB7IHZhciBzZWxmID0gTW9kdWxlWydnZXRDYWNoZSddKE1vZHVsZVsnRGVidWdEcmF3ZXInXSlbJDBdOyBpZiAoIXNlbGYuaGFzT3duUHJvcGVydHkoJ3JlcG9ydEVycm9yV2FybmluZycpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OnJlcG9ydEVycm9yV2FybmluZy4nOyBzZWxmWydyZXBvcnRFcnJvcldhcm5pbmcnXSgkMSk7IH0AeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0RlYnVnRHJhd2VyJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdkcmF3Q29udGFjdFBvaW50JykpIHRocm93ICdhIEpTSW1wbGVtZW50YXRpb24gbXVzdCBpbXBsZW1lbnQgYWxsIGZ1bmN0aW9ucywgeW91IGZvcmdvdCBEZWJ1Z0RyYXdlcjo6ZHJhd0NvbnRhY3RQb2ludC4nOyBzZWxmWydkcmF3Q29udGFjdFBvaW50J10oJDEsJDIsJDMsJDQsJDUpOyB9AHsgdmFyIHNlbGYgPSBNb2R1bGVbJ2dldENhY2hlJ10oTW9kdWxlWydEZWJ1Z0RyYXdlciddKVskMF07IGlmICghc2VsZi5oYXNPd25Qcm9wZXJ0eSgnZHJhd0xpbmUnKSkgdGhyb3cgJ2EgSlNJbXBsZW1lbnRhdGlvbiBtdXN0IGltcGxlbWVudCBhbGwgZnVuY3Rpb25zLCB5b3UgZm9yZ290IERlYnVnRHJhd2VyOjpkcmF3TGluZS4nOyBzZWxmWydkcmF3TGluZSddKCQxLCQyLCQzKTsgfQAxMURlYnVnRHJhd2VyADEyYnRJRGVidWdEcmF3AHsgdmFyIHNlbGYgPSBNb2R1bGVbJ2dldENhY2hlJ10oTW9kdWxlWydDb25jcmV0ZUNvbnRhY3RSZXN1bHRDYWxsYmFjayddKVskMF07IGlmICghc2VsZi5oYXNPd25Qcm9wZXJ0eSgnYWRkU2luZ2xlUmVzdWx0JykpIHRocm93ICdhIEpTSW1wbGVtZW50YXRpb24gbXVzdCBpbXBsZW1lbnQgYWxsIGZ1bmN0aW9ucywgeW91IGZvcmdvdCBDb25jcmV0ZUNvbnRhY3RSZXN1bHRDYWxsYmFjazo6YWRkU2luZ2xlUmVzdWx0Lic7IHJldHVybiBzZWxmWydhZGRTaW5nbGVSZXN1bHQnXSgkMSwkMiwkMywkNCwkNSwkNiwkNyk7IH0AMjlDb25jcmV0ZUNvbnRhY3RSZXN1bHRDYWxsYmFjawBOMTZidENvbGxpc2lvbldvcmxkMjFDb250YWN0UmVzdWx0Q2FsbGJhY2tFAE4xNmJ0Q29sbGlzaW9uV29ybGQyNENsb3Nlc3RSYXlSZXN1bHRDYWxsYmFja0UATjE2YnRDb2xsaXNpb25Xb3JsZDE3UmF5UmVzdWx0Q2FsbGJhY2tFADE5YnRHaG9zdFBhaXJDYWxsYmFjawAyNWJ0T3ZlcmxhcHBpbmdQYWlyQ2FsbGJhY2sAMjBidERlZmF1bHRNb3Rpb25TdGF0ZQAxM2J0TW90aW9uU3RhdGUAMThidFZlaGljbGVSYXljYXN0ZXIATjE2YnRDb2xsaXNpb25Xb3JsZDI3Q2xvc2VzdENvbnZleFJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMjBDb252ZXhSZXN1bHRDYWxsYmFja0UAMjNidERlZmF1bHRTb2Z0Qm9keVNvbHZlcgAxNmJ0U29mdEJvZHlTb2x2ZXIANDFidFNvZnRCb2R5UmlnaWRCb2R5Q29sbGlzaW9uQ29uZmlndXJhdGlvbgBOMzVidFNvZnRCb2R5Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTE3U3dhcHBlZENyZWF0ZUZ1bmNFADMwYnRDb2xsaXNpb25BbGdvcml0aG1DcmVhdGVGdW5jAE4zNWJ0U29mdEJvZHlDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMjlidFNvZnRSaWdpZENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjI4YnRTb2Z0U29mdENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAU29mdEJvZHlNYXRlcmlhbERhdGEAU29mdEJvZHlOb2RlRGF0YQBTb2Z0Qm9keUxpbmtEYXRhAFNvZnRCb2R5RmFjZURhdGEAU29mdEJvZHlUZXRyYURhdGEAU29mdFJpZ2lkQW5jaG9yRGF0YQBmbG9hdABTb2Z0Qm9keVBvc2VEYXRhAFNvZnRCb2R5Q2x1c3RlckRhdGEAaW50AGJ0U29mdEJvZHlKb2ludERhdGEAYnRTb2Z0Qm9keUZsb2F0RGF0YQAxMGJ0U29mdEJvZHkATjEwYnRTb2Z0Qm9keTE1UmF5RnJvbVRvQ2FzdGVyRQBONmJ0RGJ2dDhJQ29sbGlkZUUATjEwYnRTb2Z0Qm9keTVKb2ludEUATjEwYnRTb2Z0Qm9keTZDSm9pbnRFAFNvZnRCb2R5ADI0YnRTb2Z0Qm9keUNvbGxpc2lvblNoYXBlAFVwZGF0ZUNsdXN0ZXJzAFNvZnRCb2R5IGFwcGx5Rm9yY2VzAEFwcGx5Q2x1c3RlcnMAYnRDb252ZXhJbnRlcm5hbFNoYXBlRGF0YQBTT0ZUQ0xVU1RFUgAyN2J0U29mdENsdXN0ZXJDb2xsaXNpb25TaGFwZQBOMTVidFNvZnRDb2xsaWRlcnMxMkNvbGxpZGVDTF9SU0UATjE1YnRTb2Z0Q29sbGlkZXJzMTFDbHVzdGVyQmFzZUUATjE1YnRTb2Z0Q29sbGlkZXJzMTNDb2xsaWRlU0RGX1JTRQBOMTVidFNvZnRDb2xsaWRlcnMxMkNvbGxpZGVWRl9TU0UATjE1YnRTb2Z0Q29sbGlkZXJzMTJDb2xsaWRlQ0xfU1NFADI5YnRTb2Z0UmlnaWRDb2xsaXNpb25BbGdvcml0aG0AMjBidENvbGxpc2lvbkFsZ29yaXRobQBUcmlhbmdsZQAxNWJ0VHJpYW5nbGVTaGFwZQBOMTJidENvbnZleENhc3QxMENhc3RSZXN1bHRFAFpOMzVidFNvZnRCb2R5Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTIxY2FsY3VsYXRlVGltZU9mSW1wYWN0RVAxN2J0Q29sbGlzaW9uT2JqZWN0UzFfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTMxTG9jYWxUcmlhbmdsZVNwaGVyZUNhc3RDYWxsYmFjawAyNmJ0U29mdEJvZHlUcmlhbmdsZUNhbGxiYWNrADM1YnRTb2Z0Qm9keUNvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0Ac29sdmVTb2Z0Q29uc3RyYWludHMAcHJlZGljdFVuY29uc3RyYWludE1vdGlvblNvZnRCb2R5AHJheVRlc3QAMjNidFNvZnRTaW5nbGVSYXlDYWxsYmFjawAyM2J0QnJvYWRwaGFzZVJheUNhbGxiYWNrADI0YnRCcm9hZHBoYXNlQWFiYkNhbGxiYWNrADI0YnRTb2Z0UmlnaWREeW5hbWljc1dvcmxkADI4YnRTb2Z0U29mdENvbGxpc2lvbkFsZ29yaXRobQBidFJpZ2lkQm9keUZsb2F0RGF0YQAxMWJ0UmlnaWRCb2R5AGludGVybmFsU2luZ2xlU3RlcFNpbXVsYXRpb24AdXBkYXRlQWN0aW9ucwBjcmVhdGVQcmVkaWN0aXZlQ29udGFjdHMAcmVsZWFzZSBwcmVkaWN0aXZlIGNvbnRhY3QgbWFuaWZvbGRzAHByZWRpY3RpdmUgY29udmV4U3dlZXBUZXN0ADM0YnRDbG9zZXN0Tm90TWVDb252ZXhSZXN1bHRDYWxsYmFjawB1cGRhdGVBY3RpdmF0aW9uU3RhdGUAc29sdmVDb25zdHJhaW50cwBjYWxjdWxhdGVTaW11bGF0aW9uSXNsYW5kcwBpbnRlZ3JhdGVUcmFuc2Zvcm1zAENDRCBtb3Rpb24gY2xhbXBpbmcAYXBwbHkgc3BlY3VsYXRpdmUgY29udGFjdCByZXN0aXR1dGlvbgBwcmVkaWN0VW5jb25zdHJhaW50TW90aW9uAHN5bmNocm9uaXplTW90aW9uU3RhdGVzAHN0ZXBTaW11bGF0aW9uAGJ0RHluYW1pY3NXb3JsZEZsb2F0RGF0YQBkZWJ1Z0RyYXdXb3JsZAAyM2J0RGlzY3JldGVEeW5hbWljc1dvcmxkADE1YnREeW5hbWljc1dvcmxkADI3SW5wbGFjZVNvbHZlcklzbGFuZENhbGxiYWNrAE4yNWJ0U2ltdWxhdGlvbklzbGFuZE1hbmFnZXIxNElzbGFuZENhbGxiYWNrRQAxN2J0Rml4ZWRDb25zdHJhaW50AGJ0R2VuZXJpYzZEb2ZDb25zdHJhaW50RGF0YQAyM2J0R2VuZXJpYzZEb2ZDb25zdHJhaW50AGJ0R2VuZXJpYzZEb2ZTcHJpbmdDb25zdHJhaW50RGF0YQAyOWJ0R2VuZXJpYzZEb2ZTcHJpbmdDb25zdHJhaW50AGJ0UG9pbnQyUG9pbnRDb25zdHJhaW50RmxvYXREYXRhADIzYnRQb2ludDJQb2ludENvbnN0cmFpbnQAYnRUeXBlZENvbnN0cmFpbnRGbG9hdERhdGEAMTdidFR5cGVkQ29uc3RyYWludAAxM2J0VHlwZWRPYmplY3QAYnRTbGlkZXJDb25zdHJhaW50RGF0YQAxOGJ0U2xpZGVyQ29uc3RyYWludABidENvbmVUd2lzdENvbnN0cmFpbnREYXRhADIxYnRDb25lVHdpc3RDb25zdHJhaW50AGJ0SGluZ2VDb25zdHJhaW50RmxvYXREYXRhADE3YnRIaW5nZUNvbnN0cmFpbnQAc29sdmVHcm91cENhY2hlRnJpZW5kbHlJdGVyYXRpb25zAHNvbHZlR3JvdXBDYWNoZUZyaWVuZGx5U2V0dXAAc29sdmVHcm91cAAzNWJ0U2VxdWVudGlhbEltcHVsc2VDb25zdHJhaW50U29sdmVyADE4YnRDb25zdHJhaW50U29sdmVyADE2YnRSYXljYXN0VmVoaWNsZQAxN2J0QWN0aW9uSW50ZXJmYWNlADI1YnREZWZhdWx0VmVoaWNsZVJheWNhc3RlcgA0M2J0S2luZW1hdGljQ2xvc2VzdE5vdE1lQ29udmV4UmVzdWx0Q2FsbGJhY2sAMzBidEtpbmVtYXRpY0NoYXJhY3RlckNvbnRyb2xsZXIAMzBidENoYXJhY3RlckNvbnRyb2xsZXJJbnRlcmZhY2UAMjJidFN1YnNpbXBsZXhDb252ZXhDYXN0ADEyYnRDb252ZXhDYXN0AGJ0Q29sbGlzaW9uT2JqZWN0RmxvYXREYXRhADE3YnRDb2xsaXNpb25PYmplY3QAMTNidEdob3N0T2JqZWN0ADI0YnRQYWlyQ2FjaGluZ0dob3N0T2JqZWN0ADIzYnRDb2xsaXNpb25QYWlyQ2FsbGJhY2sAMTdidE92ZXJsYXBDYWxsYmFjawAyMWJ0Q29sbGlzaW9uRGlzcGF0Y2hlcgAzMWJ0RGVmYXVsdENvbGxpc2lvbkNvbmZpZ3VyYXRpb24AMjRidENvbGxpc2lvbkNvbmZpZ3VyYXRpb24ATjMxYnRDb252ZXhQbGFuZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjI2YnRCb3hCb3hDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4zNGJ0U3BoZXJlVHJpYW5nbGVDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4zMmJ0U3BoZXJlU3BoZXJlQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMTZidEVtcHR5QWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMjhidENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtMTdTd2FwcGVkQ3JlYXRlRnVuY0UATjM2YnRDb21wb3VuZENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMjhidENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0xN1N3YXBwZWRDcmVhdGVGdW5jRQBOMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFADI1YnRTaW11bGF0aW9uSXNsYW5kTWFuYWdlcgBpc2xhbmRVbmlvbkZpbmRBbmRRdWlja1NvcnQAcHJvY2Vzc0lzbGFuZHMAMzFidENvbnZleFBsYW5lQ29sbGlzaW9uQWxnb3JpdGhtAFpOMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0yMWNhbGN1bGF0ZVRpbWVPZkltcGFjdEVQMTdidENvbGxpc2lvbk9iamVjdFMxX1JLMTZidERpc3BhdGNoZXJJbmZvUDE2YnRNYW5pZm9sZFJlc3VsdEUzMUxvY2FsVHJpYW5nbGVTcGhlcmVDYXN0Q2FsbGJhY2sAMjRidENvbnZleFRyaWFuZ2xlQ2FsbGJhY2sAMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0AMjZidEJveEJveENvbGxpc2lvbkFsZ29yaXRobQAxNmJ0TWFuaWZvbGRSZXN1bHQATjM2YnREaXNjcmV0ZUNvbGxpc2lvbkRldGVjdG9ySW50ZXJmYWNlNlJlc3VsdEUAcGVyZm9ybURpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0aW9uAGRpc3BhdGNoQWxsQ29sbGlzaW9uUGFpcnMAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTE1TG9jYWxJbmZvQWRkZXIyAFpOMTZidENvbGxpc2lvbldvcmxkMjFyYXlUZXN0U2luZ2xlSW50ZXJuYWxFUksxMWJ0VHJhbnNmb3JtUzJfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18xN1JheVJlc3VsdENhbGxiYWNrRUU5UmF5VGVzdGVyAFpOMTZidENvbGxpc2lvbldvcmxkMjFyYXlUZXN0U2luZ2xlSW50ZXJuYWxFUksxMWJ0VHJhbnNmb3JtUzJfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18xN1JheVJlc3VsdENhbGxiYWNrRUUyOUJyaWRnZVRyaWFuZ2xlUmF5Y2FzdENhbGxiYWNrXzAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTI5QnJpZGdlVHJpYW5nbGVSYXljYXN0Q2FsbGJhY2sAMTlidFNpbmdsZVJheUNhbGxiYWNrADE3RGVidWdEcmF3Y2FsbGJhY2sAY2FsY3VsYXRlT3ZlcmxhcHBpbmdQYWlycwB1cGRhdGVBYWJicwABT3ZlcmZsb3cgaW4gQUFCQiwgb2JqZWN0IHJlbW92ZWQgZnJvbSBzaW11bGF0aW9uAElmIHlvdSBjYW4gcmVwcm9kdWNlIHRoaXMsIHBsZWFzZSBlbWFpbCBidWdzQGNvbnRpbnVvdXNwaHlzaWNzLmNvbQoAUGxlYXNlIGluY2x1ZGUgYWJvdmUgaW5mb3JtYXRpb24sIHlvdXIgUGxhdGZvcm0sIHZlcnNpb24gb2YgT1MuCgBUaGFua3MuCgAxNmJ0Q29sbGlzaW9uV29ybGQAY29udmV4U3dlZXBDb21wb3VuZABaTjE2YnRDb2xsaXNpb25Xb3JsZDI1b2JqZWN0UXVlcnlTaW5nbGVJbnRlcm5hbEVQSzEzYnRDb252ZXhTaGFwZVJLMTFidFRyYW5zZm9ybVM1X1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMjBDb252ZXhSZXN1bHRDYWxsYmFja0VmRTE0TG9jYWxJbmZvQWRkZXIAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUzMkJyaWRnZVRyaWFuZ2xlQ29udmV4Y2FzdENhbGxiYWNrXzAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUzMkJyaWRnZVRyaWFuZ2xlQ29udmV4Y2FzdENhbGxiYWNrAGNvbnZleFN3ZWVwVGVzdAAyMWJ0U2luZ2xlU3dlZXBDYWxsYmFjawAyM2J0QnJpZGdlZE1hbmlmb2xkUmVzdWx0ADIzYnRTaW5nbGVDb250YWN0Q2FsbGJhY2sAMzRidFNwaGVyZVRyaWFuZ2xlQ29sbGlzaW9uQWxnb3JpdGhtADI0YnRQZXJ0dXJiZWRDb250YWN0UmVzdWx0AFpOMjNidENvbnZleENvbnZleEFsZ29yaXRobTE2cHJvY2Vzc0NvbGxpc2lvbkVQSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUzJfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTIxYnRXaXRob3V0TWFyZ2luUmVzdWx0AFpOMjNidENvbnZleENvbnZleEFsZ29yaXRobTE2cHJvY2Vzc0NvbGxpc2lvbkVQSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUzJfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTEzYnREdW1teVJlc3VsdAAyM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtAE4yM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtMTBDcmVhdGVGdW5jRQAyMmJ0Q29tcG91bmRMZWFmQ2FsbGJhY2sAMjhidENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtADMwYnRDb21wb3VuZENvbXBvdW5kTGVhZkNhbGxiYWNrADM2YnRDb21wb3VuZENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtAGJ0Q29tcG91bmRTaGFwZUNoaWxkRGF0YQBidENvbXBvdW5kU2hhcGVEYXRhAENvbXBvdW5kADE1YnRDb21wb3VuZFNoYXBlAGJ0Q29uZVNoYXBlRGF0YQBDb25lADExYnRDb25lU2hhcGUAQ29uZVoAMTJidENvbmVTaGFwZVoAQ29uZVgAMTJidENvbmVTaGFwZVgAU1BIRVJFADEzYnRTcGhlcmVTaGFwZQBaTksyMmJ0QnZoVHJpYW5nbGVNZXNoU2hhcGUxOXByb2Nlc3NBbGxUcmlhbmdsZXNFUDE4YnRUcmlhbmdsZUNhbGxiYWNrUks5YnRWZWN0b3IzUzRfRTIxTXlOb2RlT3ZlcmxhcENhbGxiYWNrADIxYnROb2RlT3ZlcmxhcENhbGxiYWNrAGJ0VHJpYW5nbGVNZXNoU2hhcGVEYXRhAEJWSFRSSUFOR0xFTUVTSAAyMmJ0QnZoVHJpYW5nbGVNZXNoU2hhcGUAWk4yMmJ0QnZoVHJpYW5nbGVNZXNoU2hhcGUxNHBlcmZvcm1SYXljYXN0RVAxOGJ0VHJpYW5nbGVDYWxsYmFja1JLOWJ0VmVjdG9yM1M0X0UyMU15Tm9kZU92ZXJsYXBDYWxsYmFjawBaTjIyYnRCdmhUcmlhbmdsZU1lc2hTaGFwZTE3cGVyZm9ybUNvbnZleGNhc3RFUDE4YnRUcmlhbmdsZUNhbGxiYWNrUks5YnRWZWN0b3IzUzRfUzRfUzRfRTIxTXlOb2RlT3ZlcmxhcENhbGxiYWNrADIxU3VwcG9ydFZlcnRleENhbGxiYWNrAFpOSzE5YnRUcmlhbmdsZU1lc2hTaGFwZTE5cHJvY2Vzc0FsbFRyaWFuZ2xlc0VQMThidFRyaWFuZ2xlQ2FsbGJhY2tSSzlidFZlY3RvcjNTNF9FMTZGaWx0ZXJlZENhbGxiYWNrAFRSSUFOR0xFTUVTSAAxOWJ0VHJpYW5nbGVNZXNoU2hhcGUAYnRTdGF0aWNQbGFuZVNoYXBlRGF0YQBTVEFUSUNQTEFORQAxOGJ0U3RhdGljUGxhbmVTaGFwZQAyM2J0UG9seWhlZHJhbENvbnZleFNoYXBlADM0YnRQb2x5aGVkcmFsQ29udmV4QWFiYkNhY2hpbmdTaGFwZQBidENvbGxpc2lvblNoYXBlRGF0YQAxNmJ0Q29sbGlzaW9uU2hhcGUAMTNidENvbnZleFNoYXBlADIxYnRDb252ZXhJbnRlcm5hbFNoYXBlAGJ0Q29udmV4SHVsbFNoYXBlRGF0YQBDb252ZXgAMTdidENvbnZleEh1bGxTaGFwZQAxOGJ0VHJpYW5nbGVDYWxsYmFjawAzMWJ0SW50ZXJuYWxUcmlhbmdsZUluZGV4Q2FsbGJhY2sAYnRDYXBzdWxlU2hhcGVEYXRhAENhcHN1bGVTaGFwZQAxNGJ0Q2Fwc3VsZVNoYXBlAENhcHN1bGVYADE1YnRDYXBzdWxlU2hhcGVYAENhcHN1bGVaADE1YnRDYXBzdWxlU2hhcGVaADI2TG9jYWxTdXBwb3J0VmVydGV4Q2FsbGJhY2sAQ29udmV4VHJpbWVzaAAyNWJ0Q29udmV4VHJpYW5nbGVNZXNoU2hhcGUAMTRidENvbmNhdmVTaGFwZQBCb3gAMTBidEJveFNoYXBlADE0YnRPcHRpbWl6ZWRCdmgAWk4xNGJ0T3B0aW1pemVkQnZoNWJ1aWxkRVAyM2J0U3RyaWRpbmdNZXNoSW50ZXJmYWNlYlJLOWJ0VmVjdG9yM1M0X0UyME5vZGVUcmlhbmdsZUNhbGxiYWNrAFpOMTRidE9wdGltaXplZEJ2aDVidWlsZEVQMjNidFN0cmlkaW5nTWVzaEludGVyZmFjZWJSSzlidFZlY3RvcjNTNF9FMjlRdWFudGl6ZWROb2RlVHJpYW5nbGVDYWxsYmFjawBIRUlHSFRGSUVMRAAyNWJ0SGVpZ2h0ZmllbGRUZXJyYWluU2hhcGUAYnRDeWxpbmRlclNoYXBlRGF0YQBDeWxpbmRlclkAMTVidEN5bGluZGVyU2hhcGUAQ3lsaW5kZXJYADE2YnRDeWxpbmRlclNoYXBlWABDeWxpbmRlcloAMTZidEN5bGluZGVyU2hhcGVaADE0YnRUcmlhbmdsZU1lc2gAMjBidEF4aXNTd2VlcDNJbnRlcm5hbEl0RQAyMWJ0QnJvYWRwaGFzZUludGVyZmFjZQAxMmJ0QXhpc1N3ZWVwMwAxNWJ0TnVsbFBhaXJDYWNoZQAyMmJ0T3ZlcmxhcHBpbmdQYWlyQ2FjaGUAWk4yOGJ0SGFzaGVkT3ZlcmxhcHBpbmdQYWlyQ2FjaGUxOWNsZWFuUHJveHlGcm9tUGFpcnNFUDE3YnRCcm9hZHBoYXNlUHJveHlQMTJidERpc3BhdGNoZXJFMTdDbGVhblBhaXJDYWxsYmFjawBaTjI4YnRIYXNoZWRPdmVybGFwcGluZ1BhaXJDYWNoZTM3cmVtb3ZlT3ZlcmxhcHBpbmdQYWlyc0NvbnRhaW5pbmdQcm94eUVQMTdidEJyb2FkcGhhc2VQcm94eVAxMmJ0RGlzcGF0Y2hlckUxOFJlbW92ZVBhaXJDYWxsYmFjawAyOGJ0SGFzaGVkT3ZlcmxhcHBpbmdQYWlyQ2FjaGUAMThidERidnRUcmVlQ29sbGlkZXIAMjBCcm9hZHBoYXNlQWFiYlRlc3RlcgAxOUJyb2FkcGhhc2VSYXlUZXN0ZXIAMTZidERidnRCcm9hZHBoYXNlADEyYnREaXNwYXRjaGVyAGJ0T3B0aW1pemVkQnZoTm9kZURhdGEAYnRRdWFudGl6ZWRCdmhOb2RlRGF0YQBidEJ2aFN1YnRyZWVJbmZvRGF0YQBidFF1YW50aXplZEJ2aEZsb2F0RGF0YQAxNGJ0UXVhbnRpemVkQnZoADI1YnRUcmlhbmdsZVJheWNhc3RDYWxsYmFjawAyOGJ0VHJpYW5nbGVDb252ZXhjYXN0Q2FsbGJhY2sAWk4zM2J0TWlua293c2tpUGVuZXRyYXRpb25EZXB0aFNvbHZlcjEyY2FsY1BlbkRlcHRoRVIyMmJ0Vm9yb25vaVNpbXBsZXhTb2x2ZXJQSzEzYnRDb252ZXhTaGFwZVM0X1JLMTFidFRyYW5zZm9ybVM3X1I5YnRWZWN0b3IzUzlfUzlfUDEyYnRJRGVidWdEcmF3RTIwYnRJbnRlcm1lZGlhdGVSZXN1bHQAMzNidE1pbmtvd3NraVBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIAMzBidENvbnZleFBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIAMzBidEdqa0VwYVBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIAMTZidFBvaW50Q29sbGVjdG9yADE1YnRHamtDb252ZXhDYXN0ADI3YnRDb250aW51b3VzQ29udmV4Q29sbGlzaW9uADE3YnRHamtQYWlyRGV0ZWN0b3IAMzZidERpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0b3JJbnRlcmZhY2UAMzBidEFjdGl2YXRpbmdDb2xsaXNpb25BbGdvcml0aG0AMTZidEVtcHR5QWxnb3JpdGhtADMyYnRTcGhlcmVTcGhlcmVDb2xsaXNpb25BbGdvcml0aG0AMTZidEJveEJveERldGVjdG9yADIyU3BoZXJlVHJpYW5nbGVEZXRlY3RvcgAyM2J0SGFzaGVkU2ltcGxlUGFpckNhY2hlADE4YnRDb252ZXhQb2x5aGVkcm9uADI2YnRUcmlhbmdsZUluZGV4VmVydGV4QXJyYXkAYnRJbnRJbmRleERhdGEAYnRTaG9ydEludEluZGV4VHJpcGxldERhdGEAYnRDaGFySW5kZXhUcmlwbGV0RGF0YQBidFZlY3RvcjNGbG9hdERhdGEAYnRWZWN0b3IzRG91YmxlRGF0YQBidE1lc2hQYXJ0RGF0YQBidFN0cmlkaW5nTWVzaEludGVyZmFjZURhdGEAMjNidFN0cmlkaW5nTWVzaEludGVyZmFjZQBSb290AC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAuAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQ==";var J={last:0,caught:[],infos:{},deAdjust:function(t){if(!t||J.infos[t])return t;for(var e in J.infos)for(var i=+e,n=J.infos[i].adjusted,o=n.length,_=0;_0),e.refcount--,0!==e.refcount||e.rethrown||(e.destructor&&i.dynCall_vi(e.destructor,t),delete J.infos[t],Y(t))}},clearRef:function(t){t&&(J.infos[t].refcount=0)}},X={buffers:[null,[],[]],printChar:function(t,e){var i=X.buffers[t];0===e||10===e?((1===t?d:b)(k(i,0)),i.length=0):i.push(e)},varargs:0,get:function(t){return X.varargs+=4,C[X.varargs-4>>2]},getStr:function(){return R(X.get())},get64:function(){var t=X.get();return X.get(),t},getZero:function(){X.get()}};function z(){return y.length}function K(t){try{var e=new ArrayBuffer(t);if(e.byteLength!=t)return!1;new Int8Array(e).set(y)}catch(t){return!1}return i._emscripten_replace_memory(e),y=new Int8Array(e),new Int16Array(e),C=new Int32Array(e),g=new Uint8Array(e),new Uint16Array(e),new Uint32Array(e),v=new Float32Array(e),new Float64Array(e),h=e,e}function q(t){var e=z(),i=16777216,n=2130706432;if(t>n)return!1;for(var o=Math.max(e,16777216);o255&&($&&m(!1,"Character code "+n+" ("+String.fromCharCode(n)+") at offset "+i+" not in 0x00-0xFF."),n&=255),e.push(String.fromCharCode(n))}return e.join("")}var et="function"==typeof atob?atob:function(t){var e,i,n,o,_,r,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",p="",c=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{e=s.indexOf(t.charAt(c++))<<2|(o=s.indexOf(t.charAt(c++)))>>4,i=(15&o)<<4|(_=s.indexOf(t.charAt(c++)))>>2,n=(3&_)<<6|(r=s.indexOf(t.charAt(c++))),p+=String.fromCharCode(e),64!==_&&(p+=String.fromCharCode(i)),64!==r&&(p+=String.fromCharCode(n))}while(c>2]=e,e=t.buffer;for(var r=0;r<_.length;r++)if(_[r]&&i.___cxa_can_catch(_[r],o,e))return e=C[e>>2],n.adjusted.push(e),0|(f(_[r]),e);return e=C[e>>2],0|(f(o),e)},g:Y,h:function(){throw u=!0,"Pure virtual function called!"},i:function(){},j:function(t){throw J.last||(J.last=t),t},k:function(t){return i.___errno_location&&(C[i.___errno_location()>>2]=t),t},l:function(t,e){X.varargs=e;try{var i=X.getStreamFromFD(),n=(X.get(),X.get()),o=X.get(),_=X.get(),r=n;return FS.llseek(i,r,_),C[o>>2]=i.position,i.getdents&&0===r&&0===_&&(i.getdents=null),0}catch(t){return"undefined"!=typeof FS&&t instanceof FS.ErrnoError||uS(t),-t.errno}},m:function(t,e){X.varargs=e;try{for(var i=X.get(),n=X.get(),o=X.get(),_=0,r=0;r>2],p=C[n+(8*r+4)>>2],c=0;c>2]=e/1e3|0,C[t+4>>2]=e%1e3*1e3|0,0},z:function(){uS("trap!")},A:function(t){uS("OOM")},B:K,C:function(){var t=i._fflush;t&&t(0);var e=X.buffers;e[1].length&&X.printChar(1,10),e[2].length&&X.printChar(2,10)},D:27376,E:B},rt=function(t,e,i){var n=new t.Int8Array(i),o=new t.Int16Array(i),_=new t.Int32Array(i),r=new t.Uint8Array(i),s=new t.Uint16Array(i),p=new t.Float32Array(i),c=new t.Float64Array(i),a=0|e.D,l=0|e.E,d=t.Math.abs,b=t.Math.sqrt,A=t.Math.pow,f=t.Math.cos,u=t.Math.sin,m=t.Math.acos,h=t.Math.asin,y=t.Math.atan2,g=t.Math.imul,C=t.Math.clz32,v=e.a,S=e.b,w=e.c,k=e.h,R=e.k,j=e.l,D=e.m,I=e.n,B=e.p,W=e.q,F=e.r,x=e.s,O=e.t,T=e.u,P=e.v,M=e.w,V=e.x,G=e.y,N=e.z,L=e.A,Q=27392;function E(t,e,i){e|=0,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0;if(!((0|(o=0|_[748+(t|=0)>>2]))<=0)){do{c=o,f=+p[t+4+(184*(o=o+-1|0)|0)>>2],u=+p[t+4+(184*o|0)+4>>2],r=+p[t+4+(184*o|0)+8>>2],A=f*+p[e>>2]+u*+p[e+4>>2]+r*+p[e+8>>2]+ +p[e+48>>2],d=f*+p[e+16>>2]+u*+p[e+20>>2]+r*+p[e+24>>2]+ +p[e+52>>2],r=f*+p[e+32>>2]+u*+p[e+36>>2]+r*+p[e+40>>2]+ +p[e+56>>2],p[t+4+(184*o|0)+48>>2]=A,p[t+4+(184*o|0)+52>>2]=d,p[t+4+(184*o|0)+56>>2]=r,p[t+4+(184*o|0)+60>>2]=0,u=+p[t+4+(184*o|0)+16>>2],f=+p[t+4+(184*o|0)+20>>2],s=+p[t+4+(184*o|0)+24>>2],b=u*+p[i>>2]+f*+p[i+4>>2]+s*+p[i+8>>2]+ +p[i+48>>2],l=u*+p[i+16>>2]+f*+p[i+20>>2]+s*+p[i+24>>2]+ +p[i+52>>2],s=u*+p[i+32>>2]+f*+p[i+36>>2]+s*+p[i+40>>2]+ +p[i+56>>2],p[t+4+(184*o|0)+32>>2]=b,p[t+4+(184*o|0)+36>>2]=l,p[t+4+(184*o|0)+40>>2]=s,p[t+4+(184*o|0)+44>>2]=0,p[t+4+(184*o|0)+80>>2]=(A-b)*+p[t+4+(184*o|0)+64>>2]+(d-l)*+p[t+4+(184*o|0)+68>>2]+(r-s)*+p[t+4+(184*o|0)+72>>2],_[(a=t+4+(184*o|0)+148|0)>>2]=1+(0|_[a>>2])}while((0|c)>1);if(!((0|(o=0|_[t+748>>2]))<=0)){c=o;do{i=c,e=t+4+(184*(c=c+-1|0)|0)|0,(r=+p[t+4+(184*c|0)+80>>2])<=(s=+p[t+752>>2])?(A=+p[t+4+(184*c|0)+32>>2]-(+p[t+4+(184*c|0)+48>>2]-+p[t+4+(184*c|0)+64>>2]*r))*A+(f=+p[t+4+(184*c|0)+36>>2]-(+p[t+4+(184*c|0)+52>>2]-r*+p[t+4+(184*c|0)+68>>2]))*f+(u=+p[t+4+(184*c|0)+40>>2]-(+p[t+4+(184*c|0)+56>>2]-r*+p[t+4+(184*c|0)+72>>2]))*u>s*s&&((0|(o=o+-1|0))==(0|c)?o=c:(_e(0|e,t+4+(184*o|0)|0,184),_[t+4+(184*o|0)+112>>2]=0,p[t+4+(184*o|0)+120>>2]=0,n[t+4+(184*o|0)+116|0]=0,p[t+4+(184*o|0)+124>>2]=0,p[t+4+(184*o|0)+128>>2]=0,_[t+4+(184*o|0)+148>>2]=0,o=(0|_[t+748>>2])-1|0),_[t+748>>2]=o):((0|(o=o+-1|0))==(0|c)?o=c:(_e(0|e,t+4+(184*o|0)|0,184),_[t+4+(184*o|0)+112>>2]=0,p[t+4+(184*o|0)+120>>2]=0,n[t+4+(184*o|0)+116|0]=0,p[t+4+(184*o|0)+124>>2]=0,p[t+4+(184*o|0)+128>>2]=0,_[t+4+(184*o|0)+148>>2]=0,o=(0|_[t+748>>2])-1|0),_[t+748>>2]=o)}while((0|i)>1)}}}function H(t){var e=0,i=0;_[(t|=0)>>2]=6120,0|n[t+20|0]&&(e=0|_[t+16>>2],(i=0|_[e+16>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[t+16>>2]),0|e&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]))),0|n[t+12|0]&&(e=0|_[t+8>>2],(i=0|_[e+16>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[t+8>>2]),0|e&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]))),e=0|_[t+32>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+32>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+36>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+36>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+40>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+40>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+44>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+44>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+48>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+48>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+52>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+52>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+56>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+56>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+60>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+60>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+76>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+76>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+80>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+80>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+72>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+72>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+88>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+88>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+84>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+84>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|(e=0|_[t+24>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+28>>2],Xl[511&_[_[e>>2]>>2]](e),(e=0|_[t+28>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]))}function Z(t,e){t|=0,e=+e;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,f=0,u=0,m=0,h=0,y=0,g=0;if(i=Q,Q=Q+16|0,$i(14599),(0|(o=0|_[t+232>>2]))>0){y=0;do{if(h=0|_[(0|_[t+240>>2])+(y<<2)>>2],!(3&_[h+204>>2])){u=+p[h+444>>2],s=+A(+(1-u),+e),c=+p[h+312>>2]*s,p[h+312>>2]=c,r=s*+p[h+316>>2],p[h+316>>2]=r,s*=+p[h+320>>2],p[h+320>>2]=s,m=+p[h+448>>2],l=+A(+(1-m),+e),a=+p[h+328>>2]*l,p[h+328>>2]=a,d=l*+p[h+332>>2],p[h+332>>2]=d,l*=+p[h+336>>2],p[h+336>>2]=l;do{if(0|n[h+452|0]){a*a+d*d+l*l<+p[h+464>>2]&&c*c+r*r+s*s<+p[h+460>>2]?(g=+p[h+456>>2],p[h+328>>2]=a*g,p[h+332>>2]=d*g,p[h+336>>2]=l*g,p[h+312>>2]=c*g,p[h+316>>2]=r*g,p[h+320>>2]=s*g,r*=g,f=s*g,a*=g,d*=g,l*=g,c*=g):f=s,s=+b(+(c*c+r*r+f*f));do{if(s.004999999888241291){p[h+312>>2]=c-c*(1/s)*.004999999888241291,p[h+316>>2]=r-r*(1/s)*.004999999888241291,p[h+320>>2]=f-f*(1/s)*.004999999888241291;break}_[h+312>>2]=0,_[h+312+4>>2]=0,_[h+312+8>>2]=0,_[h+312+12>>2]=0;break}}while(0);if((r=+b(+(a*a+d*d+l*l))).004999999888241291){p[h+328>>2]=a-a*(1/r)*.004999999888241291,p[h+332>>2]=d-d*(1/r)*.004999999888241291,p[h+336>>2]=l-l*(1/r)*.004999999888241291;break}_[h+328>>2]=0,_[h+328+4>>2]=0,_[h+328+8>>2]=0,_[h+328+12>>2]=0;break}}}while(0);Bt(h+4|0,+p[h+312>>2],+p[h+316>>2],+p[h+320>>2],h+328|0,e,h+68|0),o=0|_[t+232>>2]}y=y+1|0}while((0|y)<(0|o))}if(o=0|_[2606],t=(0|_[o+16>>2])-1|0,_[o+16>>2]=t,0|t)Q=i;else{do{if(0|_[o+4>>2]){if(G(0|i,0),t=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[i+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[i>>2])-(0|_[t>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])return void(Q=i);o=0|_[2606];break}}while(0);_[2606]=_[o+20>>2],Q=i}}function U(t,e,i){e|=0,i|=0;var n=0,o=0,r=0,s=0,c=0,a=0,l=0,b=0,A=0;if(!(0|_[(t|=0)>>2]))return _[t>>2]=i,void(_[i+32>>2]=0);if(o=0|_[e+40>>2]){n=+p[i>>2]+ +p[i+16>>2],c=+p[i+4>>2]+ +p[i+20>>2],a=+p[i+8>>2]+ +p[i+24>>2];do{b=0|_[e+36>>2],e=e+36+((1&!((A=+d(+(n-(+p[b>>2]+ +p[b+16>>2])))+ +d(+(c-(+p[b+4>>2]+ +p[b+20>>2])))+ +d(+(a-(+p[b+8>>2]+ +p[b+24>>2]))))<+d(+(n-(+p[o>>2]+ +p[o+16>>2])))+ +d(+(c-(+p[o+4>>2]+ +p[o+20>>2])))+ +d(+(a-(+p[o+8>>2]+ +p[o+24>>2])))))<<2)|0,e=0|_[e>>2],o=0|_[e+40>>2]}while(0|o);l=e}else l=e;if(r=0|_[(b=l+32|0)>>2],e=0|_[t+4>>2])_[t+4>>2]=0;else{_[6630]=1+(0|_[6630]),(e=0|di(63))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,s=(o=e)+44|0;do{_[o>>2]=0,o=o+4|0}while((0|o)<(0|s))}if(_[e+32>>2]=r,_[e+36>>2]=0,_[(o=e+40|0)>>2]=0,A=+p[i>>2],a=+p[l>>2],p[e>>2]=A>2],A=+p[l+16>>2],p[e+16>>2]=a>A?a:A,A=+p[i+4>>2],a=+p[l+4>>2],p[e+4>>2]=A>2],A=+p[l+20>>2],p[e+20>>2]=a>A?a:A,A=+p[i+8>>2],a=+p[l+8>>2],p[e+8>>2]=A>2],A=+p[l+24>>2],p[e+24>>2]=a>A?a:A,!r)return _[e+36>>2]=l,_[b>>2]=e,_[o>>2]=i,_[i+32>>2]=e,void(_[t>>2]=e);for(_[r+36+(((0|_[40+(0|_[b>>2])>>2])==(0|l)&1)<<2)>>2]=e,_[e+36>>2]=l,_[b>>2]=e,_[o>>2]=i,_[i+32>>2]=e,o=e,n=+p[e>>2];;){if(e=r+4|0,+p[r>>2]<=n&&+p[e>>2]<=+p[o+4>>2]&&+p[r+8>>2]<=+p[o+8>>2]&&+p[r+16>>2]>=+p[o+16>>2]&&+p[r+20>>2]>=+p[o+20>>2]&&+p[r+24>>2]>=+p[o+24>>2]){e=21;break}if(t=0|_[r+36>>2],i=0|_[r+40>>2],n=(a=+p[t>>2])<(n=+p[i>>2])?a:n,p[r>>2]=n,a=+p[t+16>>2],A=+p[i+16>>2],p[r+16>>2]=a>A?a:A,A=+p[t+4>>2],a=+p[i+4>>2],p[e>>2]=A>2],A=+p[i+20>>2],p[r+20>>2]=a>A?a:A,A=+p[t+8>>2],a=+p[i+8>>2],p[r+8>>2]=A>2],A=+p[i+24>>2],p[r+24>>2]=a>A?a:A,!(e=0|_[r+32>>2])){e=21;break}o=r,r=e}}function Y(t,e,i){t|=0,i|=0;var n=0,o=0;return _[16+(e|=0)>>2]=_[t+4>>2],_[e+20>>2]=_[t+8>>2],_[e+24>>2]=_[t+12>>2],_[e+28>>2]=_[t+16>>2],_[e+32>>2]=_[t+20>>2],_[e+36>>2]=_[t+24>>2],_[e+40>>2]=_[t+28>>2],_[e+44>>2]=_[t+32>>2],_[e+48>>2]=_[t+36>>2],_[e+52>>2]=_[t+40>>2],_[e+56>>2]=_[t+44>>2],_[e+60>>2]=_[t+48>>2],_[e+64>>2]=_[t+52>>2],_[e+68>>2]=_[t+56>>2],_[e+72>>2]=_[t+60>>2],_[e+76>>2]=_[t+64>>2],_[e+80>>2]=_[t+68>>2],_[e+84>>2]=_[t+72>>2],_[e+88>>2]=_[t+76>>2],_[e+92>>2]=_[t+80>>2],_[e+96>>2]=_[t+84>>2],_[e+100>>2]=_[t+88>>2],_[e+104>>2]=_[t+92>>2],_[e+108>>2]=_[t+96>>2],_[e+112>>2]=_[t+100>>2],_[e+116>>2]=_[t+104>>2],_[e+120>>2]=_[t+108>>2],_[e+124>>2]=_[t+112>>2],_[e+128>>2]=_[t+116>>2],_[e+132>>2]=_[t+120>>2],_[e+136>>2]=_[t+124>>2],_[e+140>>2]=_[t+128>>2],_[e+144>>2]=_[t+132>>2],_[e+148>>2]=_[t+136>>2],_[e+152>>2]=_[t+140>>2],_[e+156>>2]=_[t+144>>2],_[e+160>>2]=_[t+148>>2],_[e+164>>2]=_[t+152>>2],_[e+168>>2]=_[t+156>>2],_[e+172>>2]=_[t+160>>2],_[e+176>>2]=_[t+164>>2],_[e+180>>2]=_[t+168>>2],_[e+184>>2]=_[t+172>>2],_[e+188>>2]=_[t+176>>2],_[e+224>>2]=_[t+180>>2],_[e+192>>2]=_[t+184>>2],_[e>>2]=0,n=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+192>>2]),_[e+4>>2]=n,_[e+8>>2]=0,_[e+228>>2]=_[t+204>>2],_[e+232>>2]=_[t+208>>2],_[e+236>>2]=_[t+212>>2],_[e+240>>2]=_[t+216>>2],_[e+196>>2]=_[t+220>>2],_[e+200>>2]=_[t+224>>2],_[e+204>>2]=_[t+232>>2],_[e+208>>2]=_[t+228>>2],_[e+244>>2]=_[t+236>>2],n=0|Ll[31&_[40+(0|_[i>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e+12>>2]=o,o?(ed[127&_[48+(0|_[i>>2])>>2]](i,n),o=0|_[(o=t+244|0)>>2],_[(i=e+212|0)>>2]=o,i=0|_[(i=t+248|0)>>2],_[(o=e+216|0)>>2]=i,o=0|_[(o=t+252|0)>>2],_[(i=e+220|0)>>2]=o,i=0|_[(i=t+256|0)>>2],_[(o=e+248|0)>>2]=i,15579):(o=0|_[(o=t+244|0)>>2],_[(i=e+212|0)>>2]=o,i=0|_[(i=t+248|0)>>2],_[(o=e+216|0)>>2]=i,o=0|_[(o=t+252|0)>>2],_[(i=e+220|0)>>2]=o,i=0|_[(i=t+256|0)>>2],_[(o=e+248|0)>>2]=i,15579)}function J(t,e){e|=0;var i,o,r,s,c,a,l,d=0,b=0,A=0,f=0,u=0,m=0;return l=Q,Q=Q+64|0,jt(0|_[116+(t|=0)>>2],e,0),f=(d=+p[e+204>>2]+ +p[e+212>>2])*+p[e+56>>2]+ +p[e+40>>2],u=d*+p[e+60>>2]+ +p[e+44>>2],p[e+16>>2]=+p[e+52>>2]*d+ +p[e+36>>2],p[e+20>>2]=f,p[e+24>>2]=u,p[e+28>>2]=0,p[l+32>>2]=-1,m=0|_[t+100>>2],m=0|Hl[31&_[8+(0|_[m>>2])>>2]](m,e+36|0,e+16|0,l),_[e+88>>2]=0,m?(u=d*+p[l+32>>2],_[e>>2]=_[l+16>>2],_[e+4>>2]=_[l+16+4>>2],_[e+8>>2]=_[l+16+8>>2],_[e+12>>2]=_[l+16+12>>2],n[e+84|0]=1,!(0|n[24504])&&0|Qs(24504)&&(_[l+40>>2]=0,_[l+40+4>>2]=0,_[l+40+8>>2]=0,_[l+40+12>>2]=0,ut(25804,0,0,0,l+40|0)),_[6502]=1|_[6502],p[6537]=0,f=0*+p[6547],d=0*+p[6548],p[6542]=0*+p[6546],p[6543]=f,p[6544]=d,p[6545]=0,_[6550]=0,_[6551]=0,_[6552]=0,_[6553]=0,d=0*+p[6539],f=0*+p[6540],p[6591]=0*+p[6538],p[6592]=d,p[6593]=f,p[6594]=0,_[e+88>>2]=25804,f=u-+p[e+212>>2],p[e+32>>2]=f,f<(d=+p[e+204>>2])-(b=.009999999776482582*+p[e+208>>2])|(A=fd+b&&(p[e+32>>2]=A>d+b?d+b:A),_[e+16>>2]=_[l>>2],_[e+16+4>>2]=_[l+4>>2],_[e+16+8>>2]=_[l+8>>2],_[e+16+12>>2]=_[l+12>>2],s=+p[e>>2],c=+p[e+4>>2],a=+p[e+8>>2],f=s*+p[e+52>>2]+c*+p[e+56>>2]+a*+p[e+60>>2],t=0|_[t+116>>2],A=+p[e+16>>2]-+p[t+52>>2],i=+p[e+20>>2]-+p[t+56>>2],o=+p[e+24>>2]-+p[t+60>>2],r=+p[t+332>>2],d=+p[t+336>>2],b=+p[t+328>>2],f>=-.10000000149011612?(p[e+272>>2]=0,f=10,p[(m=e+268|0)>>2]=f,Q=l,+u):(p[e+272>>2]=-1/f*(s*(r*o-i*d+ +p[t+312>>2])+c*(A*d-o*b+ +p[t+316>>2])+a*(i*b-A*r+ +p[t+320>>2])),f=-1/f,p[(m=e+268|0)>>2]=f,Q=l,+u)):(_[e+32>>2]=_[e+204>>2],p[e+272>>2]=0,f=-+p[e+56>>2],u=-+p[e+60>>2],p[e>>2]=-+p[e+52>>2],p[e+4>>2]=f,p[e+8>>2]=u,p[e+12>>2]=0,u=-1,f=1,p[(m=e+268|0)>>2]=f,Q=l,+u)}function X(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0,c=0,a=0,l=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0;return 4!=(0|(i=0|_[748+(t|=0)>>2]))?(_[t+748>>2]=i+1,_e(0|(t=t+4+(184*(k=(w=(0|(k=i))>0)?k:0)|0)|0),0|e,184),0|k):(a=+p[e+80>>2],v=(S=+p[t+84>>2])>2])>2],i=(k=+p[t+636>>2]<(y>31,a=+p[e>>2],i?(A=+p[t+188>>2],r=+p[e+4>>2],m=+p[t+192>>2],c=+p[e+8>>2],u=+p[t+196>>2],b=+p[t+556>>2],y=+p[t+372>>2],s=((a-A)*((o=+p[t+560>>2])-(f=+p[t+376>>2]))-(r-m)*(b-y))*((a-A)*(o-f)-(r-m)*(b-y))+(((r-m)*((n=+p[t+564>>2])-(l=+p[t+380>>2]))-(c-u)*(o-f))*((r-m)*(n-l)-(c-u)*(o-f))+((c-u)*(b-y)-(a-A)*(n-l))*((c-u)*(b-y)-(a-A)*(n-l))),1==(0|i)?(a-=+p[t+4>>2],C=r-+p[t+8>>2],g=c-+p[t+12>>2],r=0,c=u,w=7):(g=b-y,C=o-f,h=n-l,w=6)):(g=(b=+p[t+556>>2])-(y=+p[t+372>>2]),C=(o=+p[t+560>>2])-(f=+p[t+376>>2]),h=(n=+p[t+564>>2])-(l=+p[t+380>>2]),A=+p[t+188>>2],m=+p[t+192>>2],u=+p[t+196>>2],s=0,r=+p[e+4>>2],c=+p[e+8>>2],w=6),6==(0|w)&&(a-=+p[t+4>>2],S=(r-=+p[t+8>>2])*h-(c-=+p[t+12>>2])*C,v=c*g-a*h,h=a*C-r*g,2==(0|i)?(C=r,g=c,b=f,c=u,o=l,n=0,r=h*h+(S*S+v*v),w=8):(C=r,g=c,r=h*h+(S*S+v*v),c=u,w=7)),7==(0|w)&&(h=C*(n-=c)-g*(S=o-m),n=g*(u=b-A)-a*n,u=a*S-C*u,k?(n=u*u+(h*h+n*n),o=0):(b=f,o=l,n=u*u+(h*h+n*n),w=8)),8==(0|w)&&(v=y-A,S=C*(o-=c)-g*(y=b-m),o=g*v-a*o,o=(v=a*y-C*v)*v+(S*S+o*o)),S=+d(+s),C=+d(+r),y=+d(+n),_e(0|(t=t+4+(184*(k=(w=(0|(k=(h=+d(+o))>(y>(g=C>(v=S>-0xde0b6b000000000?S:-0xde0b6b000000000)?C:v)?y:g)?3:y>g?2:C>v?1:(S>-0xde0b6b000000000^1)<<31>>31))>0)?k:0)|0)|0),0|e,184),0|k)}function z(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0;for(l=Q,Q=Q+32|0,S=0|_[12+(t|=0)>>2],o=+p[S+(24*((n+i|0)/2|0)|0)>>2],s=+p[S+(24*((n+i|0)/2|0)|0)+4>>2],c=+p[S+(24*((n+i|0)/2|0)|0)+8>>2],a=+p[S+(24*((n+i|0)/2|0)|0)+16>>2],r=0|_[S+(24*((n+i|0)/2|0)|0)+20>>2],d=n,b=i;;){v=(o-(y=+p[e>>2]))*(o-y)+(s-(g=+p[e+4>>2]))*(s-g)+(c-(C=+p[e+8>>2]))*(c-C);t:for(;;){h=S+(24*b|0)|0,A=+p[S+(24*b|0)+16>>2];do{if(A==a){if((A=+p[h>>2]-y)*A+(f=+p[S+(24*b|0)+4>>2]-g)*f+(u=+p[S+(24*b|0)+8>>2]-C)*u!=v){if(A*A+f*f+u*u>2])<(0|r))break;break t}if(!(A>2];do{if(a==A){if(v!=(A=+p[m>>2]-y)*A+(f=+p[S+(24*d|0)+4>>2]-g)*f+(u=+p[S+(24*d|0)+8>>2]-C)*u){if(v>2]))break;break t}if(!(a>2]=_[h>>2],_[l+4>>2]=_[h+4>>2],_[l+8>>2]=_[h+8>>2],_[l+12>>2]=_[h+12>>2],_[l+16>>2]=_[h+16>>2],_[l+20>>2]=_[h+20>>2],_[h>>2]=_[m>>2],_[h+4>>2]=_[m+4>>2],_[h+8>>2]=_[m+8>>2],_[h+12>>2]=_[m+12>>2],_[h+16>>2]=_[m+16>>2],_[h+20>>2]=_[m+20>>2],S=(0|_[t+12>>2])+(24*d|0)|0,_[S>>2]=_[l>>2],_[S+4>>2]=_[l+4>>2],_[S+8>>2]=_[l+8>>2],_[S+12>>2]=_[l+12>>2],_[S+16>>2]=_[l+16>>2],_[S+20>>2]=_[l+20>>2],d=d+-1|0,b=b+1|0),(0|b)>(0|d))break;S=0|_[t+12>>2]}(0|d)>(0|i)&&z(t,e,i,d),(0|b)>=(0|n)||z(t,e,b,n),Q=l}function K(t,e){t|=0;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0;if(i=Q,Q=Q+64|0,o=0|_[192+(e|=0)>>2],pd[127&_[8+(0|_[o>>2])>>2]](o,e+4|0,i+48|0,i+32|0),r=+p[i+48>>2]-.019999999552965164,p[i+48>>2]=r,c=+p[i+48+4>>2]-.019999999552965164,p[i+48+4>>2]=c,a=+p[i+48+8>>2]-.019999999552965164,p[i+48+8>>2]=a,s=+p[i+32>>2]+.019999999552965164,p[i+32>>2]=s,l=+p[i+32+4>>2]+.019999999552965164,p[i+32+4>>2]=l,d=+p[i+32+8>>2]+.019999999552965164,p[i+32+8>>2]=d,0|n[t+44|0]&&2==(0|_[e+236>>2])&&!(3&_[e+204>>2])&&(o=0|_[e+192>>2],pd[127&_[8+(0|_[o>>2])>>2]](o,e+68|0,i+16|0,i),r=+p[i+16>>2]-.019999999552965164,p[i+16>>2]=r,a=+p[i+16+4>>2]-.019999999552965164,p[i+16+4>>2]=a,l=+p[i+16+8>>2]-.019999999552965164,p[i+16+8>>2]=l,s=+p[i>>2]+.019999999552965164,p[i>>2]=s,d=+p[i+4>>2]+.019999999552965164,p[i+4>>2]=d,b=+p[i+8>>2]+.019999999552965164,p[i+8>>2]=b,r<(c=+p[i+48>>2])?p[i+48>>2]=r:r=c,a<(c=+p[i+48+4>>2])&&(p[i+48+4>>2]=a,c=a),l<(a=+p[i+48+8>>2])&&(p[i+48+8>>2]=l,a=l),(l=+p[i+16+12>>2])<+p[i+48+12>>2]&&(p[i+48+12>>2]=l),(l=+p[i+32>>2])>2]=s:s=l,(l=+p[i+32+4>>2])>2]=d,l=d),(d=+p[i+32+8>>2])>2]=b,d=b),b=+p[i+12>>2],+p[i+32+12>>2]>2]=b)),o=0|_[t+68>>2],!(1&_[e+204>>2]||(s-=r)*s+(l-=c)*l+(b=d-a)*b<999999995904))return 4!=(-2&_[e+216>>2])&&(_[e+216>>2]=5),0|n[17398]&&(o=0|_[t+72>>2])?(n[17398]=0,ed[127&_[36+(0|_[o>>2])>>2]](o,17399),e=0|_[t+72>>2],ed[127&_[36+(0|_[e>>2])>>2]](e,17448),e=0|_[t+72>>2],ed[127&_[36+(0|_[e>>2])>>2]](e,17516),t=0|_[t+72>>2],ed[127&_[36+(0|_[t>>2])>>2]](t,17581),void(Q=i)):void(Q=i);dd[31&_[16+(0|_[o>>2])>>2]](o,0|_[e+188>>2],i+48|0,i+32|0,0|_[t+24>>2]),Q=i}function q(t,e){e|=0;var i,o=0,r=0,s=0,p=0,c=0,a=0,l=0;if((0|(i=0|_[4+(t|=0)>>2]))==(0|_[t+8>>2])&&(0|i)<(0|(p=0|i?i<<1:1))){if(p?(_[6630]=1+(0|_[6630]),(o=0|di(16+(244*p|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=0|_[t+4>>2]):(o=0,s=i),(0|s)>0){r=0;do{a=o+(244*r|0)|0,l=(c=0|_[t+12>>2])+(244*r|0)|0,_[a>>2]=_[l>>2],_[a+4>>2]=_[l+4>>2],_[a+8>>2]=_[l+8>>2],_[a+12>>2]=_[l+12>>2],a=c+(244*r|0)+16|0,_[(l=o+(244*r|0)+16|0)>>2]=_[a>>2],_[l+4>>2]=_[a+4>>2],_[l+8>>2]=_[a+8>>2],_[l+12>>2]=_[a+12>>2],l=c+(244*r|0)+32|0,_[(a=o+(244*r|0)+32|0)>>2]=_[l>>2],_[a+4>>2]=_[l+4>>2],_[a+8>>2]=_[l+8>>2],_[a+12>>2]=_[l+12>>2],l=c+(244*r|0)+48|0,_[(a=o+(244*r|0)+48|0)>>2]=_[l>>2],_[a+4>>2]=_[l+4>>2],_[a+8>>2]=_[l+8>>2],_[a+12>>2]=_[l+12>>2],_e(o+(244*r|0)+64|0,c+(244*r|0)+64|0,180),r=r+1|0}while((0|r)!=(0|s))}0|(r=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=o,_[t+8>>2]=p,o=0|_[t+4>>2]}else o=i;return _[t+4>>2]=o+1,l=0|_[t+12>>2],_[l+(244*i|0)>>2]=_[e>>2],_[l+(244*i|0)+4>>2]=_[e+4>>2],_[l+(244*i|0)+8>>2]=_[e+8>>2],_[l+(244*i|0)+12>>2]=_[e+12>>2],_[l+(244*i|0)+16>>2]=_[e+16>>2],_[l+(244*i|0)+16+4>>2]=_[e+16+4>>2],_[l+(244*i|0)+16+8>>2]=_[e+16+8>>2],_[l+(244*i|0)+16+12>>2]=_[e+16+12>>2],_[l+(244*i|0)+32>>2]=_[e+32>>2],_[l+(244*i|0)+32+4>>2]=_[e+32+4>>2],_[l+(244*i|0)+32+8>>2]=_[e+32+8>>2],_[l+(244*i|0)+32+12>>2]=_[e+32+12>>2],_[l+(244*i|0)+48>>2]=_[e+48>>2],_[l+(244*i|0)+48+4>>2]=_[e+48+4>>2],_[l+(244*i|0)+48+8>>2]=_[e+48+8>>2],_[l+(244*i|0)+48+12>>2]=_[e+48+12>>2],_e(l+(244*i|0)+64|0,e+64|0,180),(0|_[t+12>>2])+(244*i|0)|0}function $(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,d,A,f,u,h,y,g,C,v=0,S=0,w=0,k=0,R=0,j=0;return o=Q,Q=Q+64|0,r=+p[20+(t|=0)>>2],f=+p[t+40>>2],c=+p[t+24>>2],d=+p[t+36>>2],A=+p[t+32>>2],R=+p[t+16>>2],S=1/((r*f-c*d)*(k=+p[t>>2])+(w=+p[t+4>>2])*(c*A-f*R)+(d*R-r*A)*(a=+p[t+8>>2])),C=+p[e>>2],g=+p[e+4>>2],j=+p[e+8>>2],y=+p[e+16>>2],h=+p[e+20>>2],u=+p[e+24>>2],l=+p[e+32>>2],s=+p[e+36>>2],v=+p[e+40>>2],p[o+16>>2]=j*((d*R-r*A)*S)+(C*((r*f-c*d)*S)+g*((c*A-f*R)*S)),p[o+16+4>>2]=j*((A*w-d*k)*S)+(C*((d*a-f*w)*S)+g*((f*k-A*a)*S)),p[o+16+8>>2]=j*((r*k-R*w)*S)+(C*((c*w-r*a)*S)+g*((R*a-c*k)*S)),p[o+16+12>>2]=0,p[o+16+16>>2]=(r*f-c*d)*S*y+(c*A-f*R)*S*h+(d*R-r*A)*S*u,p[o+16+20>>2]=(d*a-f*w)*S*y+(f*k-A*a)*S*h+(A*w-d*k)*S*u,p[o+16+24>>2]=(c*w-r*a)*S*y+(R*a-c*k)*S*h+(r*k-R*w)*S*u,p[o+16+28>>2]=0,p[o+16+32>>2]=(r*f-c*d)*S*l+(c*A-f*R)*S*s+(d*R-r*A)*S*v,p[o+16+36>>2]=(d*a-f*w)*S*l+(f*k-A*a)*S*s+(A*w-d*k)*S*v,p[o+16+40>>2]=(c*w-r*a)*S*l+(R*a-c*k)*S*s+(r*k-R*w)*S*v,p[o+16+44>>2]=0,Qt(o+16|0,o),v=+p[o>>2],S=+p[o+4>>2],w=+p[o+8>>2],R=+p[o+12>>2],k=1/+b(+(v*v+S*S+w*w+R*R)),p[o>>2]=v*k,p[o+4>>2]=S*k,p[o+8>>2]=w*k,p[o+12>>2]=R*k,R=2*+m(+((R=R*k<-1?-1:R*k)>1?1:R)),p[n>>2]=R,p[i>>2]=v*k,p[i+4>>2]=S*k,p[i+8>>2]=w*k,p[i+12>>2]=0,v*k*(v*k)+S*k*(S*k)+w*k*(w*k)<14210854715202004e-30?(_[i>>2]=1065353216,_[i+4>>2]=0,_[i+8>>2]=0,p[i+12>>2]=0,void(Q=o)):(j=1/+b(+(v*k*(v*k)+S*k*(S*k)+w*k*(w*k))),p[i>>2]=v*k*j,p[i+4>>2]=S*k*j,p[i+8>>2]=w*k*j,void(Q=o))}function tt(t){var e,i,o=0,r=0,s=0,p=0,c=0,a=0;if(a=0|_[12+(t|=0)>>2],!((0|(i=0|_[t+36>>2]))>=(0|a))){do{if((0|_[t+40>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(o=0|di(16+(a<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=0|_[t+36>>2]):(o=0,s=i),p=0|_[t+44>>2],(0|s)<=0){if(!p){n[t+48|0]=1,_[t+44>>2]=o,_[t+40>>2]=a,c=t+44|0;break}}else{r=0;do{_[o+(r<<2)>>2]=_[p+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s))}0|n[t+48|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),n[t+48|0]=1,_[t+44>>2]=o,_[t+40>>2]=a,c=t+44|0}else c=t+44|0,o=0|_[t+44>>2]}while(0);if(wn(o+(i<<2)|0,0,(a<<2)-(i<<2)|0),_[t+36>>2]=a,(0|(e=0|_[t+56>>2]))<(0|a)){do{if((0|_[t+60>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(o=0|di(16+(a<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=0|_[t+56>>2]):(o=0,s=e),p=0|_[t+64>>2],(0|s)<=0){if(!p){n[t+68|0]=1,_[t+64>>2]=o,_[t+60>>2]=a;break}}else{r=0;do{_[o+(r<<2)>>2]=_[p+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s))}0|n[t+68|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),n[t+68|0]=1,_[t+64>>2]=o,_[t+60>>2]=a}else o=0|_[t+64>>2]}while(0);wn(o+(e<<2)|0,0,(a<<2)-(e<<2)|0)}if(_[t+56>>2]=a,(0|a)>0&&(wn(0|_[c>>2],-1,a<<2),wn(0|_[t+64>>2],-1,a<<2)),!((0|i)<=0)){p=0|_[t+16>>2],r=0|_[c>>2],s=0|_[t+64>>2],o=0;do{a=9*((a=_[12+(0|_[p+(o<<4)+4>>2])>>2]<<16|_[12+(0|_[p+(o<<4)>>2])>>2])+~(a<<15)>>10^a+~(a<<15))|0,a=r+((((a^=a>>6)+~(a<<11)>>16^a+~(a<<11))&(0|_[t+12>>2])-1)<<2)|0,_[s+(o<<2)>>2]=_[a>>2],_[a>>2]=o,o=o+1|0}while((0|o)!=(0|i))}}}function et(t){var e,i,o=0,r=0,s=0,p=0,c=0,a=0;if(a=0|_[12+(t|=0)>>2],!((0|(i=0|_[t+32>>2]))>=(0|a))){do{if((0|_[t+36>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(o=0|di(16+(a<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=0|_[t+32>>2]):(o=0,s=i),p=0|_[t+40>>2],(0|s)<=0){if(!p){n[t+44|0]=1,_[t+40>>2]=o,_[t+36>>2]=a,c=t+40|0;break}}else{r=0;do{_[o+(r<<2)>>2]=_[p+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s))}0|n[t+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),n[t+44|0]=1,_[t+40>>2]=o,_[t+36>>2]=a,c=t+40|0}else c=t+40|0,o=0|_[t+40>>2]}while(0);if(wn(o+(i<<2)|0,0,(a<<2)-(i<<2)|0),_[t+32>>2]=a,(0|(e=0|_[t+52>>2]))<(0|a)){do{if((0|_[t+56>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(o=0|di(16+(a<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=0|_[t+52>>2]):(o=0,s=e),p=0|_[t+60>>2],(0|s)<=0){if(!p){n[t+64|0]=1,_[t+60>>2]=o,_[t+56>>2]=a;break}}else{r=0;do{_[o+(r<<2)>>2]=_[p+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s))}0|n[t+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),n[t+64|0]=1,_[t+60>>2]=o,_[t+56>>2]=a}else o=0|_[t+60>>2]}while(0);wn(o+(e<<2)|0,0,(a<<2)-(e<<2)|0)}if(_[t+52>>2]=a,(0|a)>0&&(wn(0|_[c>>2],-1,a<<2),wn(0|_[t+60>>2],-1,a<<2)),!((0|i)<=0)){p=0|_[t+16>>2],r=0|_[c>>2],s=0|_[t+60>>2],o=0;do{a=9*((a=_[p+(12*o|0)+4>>2]<<16|_[p+(12*o|0)>>2])+~(a<<15)>>10^a+~(a<<15))|0,a=r+((((a^=a>>6)+~(a<<11)>>16^a+~(a<<11))&(0|_[t+12>>2])-1)<<2)|0,_[s+(o<<2)>>2]=_[a>>2],_[a>>2]=o,o=o+1|0}while((0|o)!=(0|i))}}}function it(t,e,i,n,o){t|=0,i|=0,n|=0,o|=0;var r,s,c,a,l,d,b,A=0,f=0,u=0;r=Q,Q=Q+128|0,(e|=0)?(0|_[e+40>>2]&&(it(t,0|_[e+36>>2],i+1|0,n,o),it(t,0|_[e+40>>2],i+1|0,n,o)),(0|i)<0||(s=.5*((u=+p[e>>2])+(b=+p[e+16>>2]))-.5*(b-u),c=.5*((f=+p[e+4>>2])+(d=+p[e+20>>2]))-.5*(d-f),a=.5*((A=+p[e+8>>2])+(l=+p[e+24>>2]))-.5*(l-A),u=.5*(u+b)+.5*(b-u),f=.5*(f+d)+.5*(d-f),A=.5*(A+l)+.5*(l-A),o=0|_[e+40>>2]?n:o,p[r>>2]=s,p[r+4>>2]=c,p[r+8>>2]=a,p[r+12>>2]=0,p[r+16>>2]=u,p[r+20>>2]=c,p[r+24>>2]=a,p[r+28>>2]=0,p[r+32>>2]=u,p[r+36>>2]=f,p[r+40>>2]=a,p[r+44>>2]=0,p[r+48>>2]=s,p[r+52>>2]=f,p[r+56>>2]=a,p[r+60>>2]=0,p[r+64>>2]=s,p[r+68>>2]=c,p[r+72>>2]=A,p[r+76>>2]=0,p[r+80>>2]=u,p[r+84>>2]=c,p[r+88>>2]=A,p[r+92>>2]=0,p[r+96>>2]=u,p[r+100>>2]=f,p[r+104>>2]=A,p[r+108>>2]=0,p[r+112>>2]=s,p[r+116>>2]=f,p[r+120>>2]=A,p[r+124>>2]=0,pd[127&_[8+(0|_[t>>2])>>2]](t,r,r+16|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+16|0,r+32|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+32|0,r+48|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+48|0,r,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+64|0,r+80|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+80|0,r+96|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+96|0,r+112|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+112|0,r+64|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r,r+64|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+16|0,r+80|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+32|0,r+96|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+48|0,r+112|0,o)),Q=r):Q=r}function nt(t,e,i,n,o,_,r,s){var c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w;t|=0,e=+e,i=+i,_=+_,r=+r,s=+s,c=(n=+n)-(0*(0*(w=+p[(o|=0)>>2])+(S=+p[o+16>>2])*-s+(v=+p[o+32>>2])*r)+(0*(C=+p[o+4>>2])+(g=+p[o+20>>2])*-s+(y=+p[o+36>>2])*r)*s+(0*(h=+p[o+8>>2])+(m=+p[o+24>>2])*-s+(u=+p[o+40>>2])*r)*-r)+i,A=0-((0*w+S*-s+v*r)*-s+0*(0*C+g*-s+y*r)+(0*h+m*-s+u*r)*_)+0,d=0-(0*(w*s+0*S+v*-_)+(C*s+0*g+y*-_)*s+(h*s+0*m+u*-_)*-r)+0,b=n-((w*s+0*S+v*-_)*-s+0*(C*s+0*g+y*-_)+(h*s+0*m+u*-_)*_)+i,a=0-((w*s+0*S+v*-_)*r+(C*s+0*g+y*-_)*-_+0*(h*s+0*m+u*-_))+0,f=0-(0*(w*-r+S*_+0*v)+(C*-r+g*_+0*y)*s+(h*-r+m*_+0*u)*-r)+0,n=1/((l=0-((0*w+S*-s+v*r)*r+(0*C+g*-s+y*r)*-_+0*(0*h+m*-s+u*r))+0)*((s=0-((w*-r+S*_+0*v)*-s+0*(C*-r+g*_+0*y)+(h*-r+m*_+0*u)*_)+0)*d-b*f)+(c*(b*(i=n-((w*-r+S*_+0*v)*r+(C*-r+g*_+0*y)*-_+0*(h*-r+m*_+0*u))+i)-a*s)+A*(a*f-i*d))),p[t>>2]=(s*d-b*f)*n*0+(1/e*((b*i-a*s)*n)+(a*f-i*d)*n*0),p[t+4>>2]=(f*A-s*c)*n*0+(1/e*((s*l-i*A)*n)+(i*c-f*l)*n*0),p[t+8>>2]=(b*c-d*A)*n*0+(1/e*((a*A-b*l)*n)+(d*l-a*c)*n*0),p[t+12>>2]=0,p[t+16>>2]=(s*d-b*f)*n*0+((b*i-a*s)*n*0+1/e*((a*f-i*d)*n)),p[t+20>>2]=(f*A-s*c)*n*0+((s*l-i*A)*n*0+1/e*((i*c-f*l)*n)),p[t+24>>2]=(b*c-d*A)*n*0+((a*A-b*l)*n*0+1/e*((d*l-a*c)*n)),p[t+28>>2]=0,p[t+32>>2]=1/e*((s*d-b*f)*n)+((b*i-a*s)*n*0+(a*f-i*d)*n*0),p[t+36>>2]=1/e*((f*A-s*c)*n)+((s*l-i*A)*n*0+(i*c-f*l)*n*0),p[t+40>>2]=1/e*((b*c-d*A)*n)+((a*A-b*l)*n*0+(d*l-a*c)*n*0),p[t+44>>2]=0}function ot(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r=0;o=Q,Q=Q+784|0,_[o+712>>2]=1065353216,_[o+712+4>>2]=0,_[o+712+4+4>>2]=0,_[o+712+4+8>>2]=0,_[o+712+4+12>>2]=0,_[o+712+20>>2]=1065353216,_[o+712+24>>2]=0,_[o+712+24+4>>2]=0,_[o+712+24+8>>2]=0,_[o+712+24+12>>2]=0,_[o+712+40>>2]=1065353216,_[(i=o+712+44|0)>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,_[i+16>>2]=0,_[o+536>>2]=4536,_[o+536+168>>2]=0,p[o+536+172>>2]=0,_[o+536+164>>2]=_[t+200>>2],i=0|_[t+196>>2],_[o+480+8>>2]=0,_[o+480+12>>2]=1065353216,_[o+480+16>>2]=1065353216,_[o+480+20>>2]=1065353216,p[o+480+24>>2]=0,_[o+480>>2]=7568,_[o+480+4>>2]=8,_[o+480+28>>2]=i,_[o+480+44>>2]=i,_[o+376+8>>2]=0,_[o+376+12>>2]=1065353216,_[o+376+16>>2]=1065353216,_[o+376+20>>2]=1065353216,p[o+376+24>>2]=0,p[o+376+44>>2]=.03999999910593033,_[o+376+52>>2]=0,_[o+376>>2]=4564,_[o+376+4>>2]=1,_[o+376+56>>2]=_[e>>2],_[o+376+56+4>>2]=_[e+4>>2],_[o+376+56+8>>2]=_[e+8>>2],_[o+376+56+12>>2]=_[e+12>>2],_[o+376+72>>2]=_[e+16>>2],_[o+376+72+4>>2]=_[e+16+4>>2],_[o+376+72+8>>2]=_[e+16+8>>2],_[o+376+72+12>>2]=_[e+16+12>>2],_[o+376+88>>2]=_[e+32>>2],_[o+376+88+4>>2]=_[e+32+4>>2],_[o+376+88+8>>2]=_[e+32+8>>2],_[o+376+88+12>>2]=_[e+32+12>>2],p[o+16+308>>2]=9999999747378752e-20,n[o+16+332|0]=0,_[o>>2]=5860,_[o+4>>2]=o+16,_[o+8>>2]=o+480,_[o+12>>2]=o+376,0|Ti(o,t+4|0,t+68|0,o+712|0,o+712|0,o+536|0)&&(r=+p[o+536+164>>2],+p[t+200>>2]>r)&&(p[t+200>>2]=r),_[o+376>>2]=8020,(i=0|_[o+376+52>>2])?(Xl[511&_[_[i>>2]>>2]](i),(i=0|_[o+376+52>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),Q=o):Q=o):Q=o}function _t(t){var e=0,i=0,n=0,o=0,r=0,s=0,c=0,a=0,l=0,A=0,f=0,u=0,m=0,h=0;if((0|(i=0|_[752+(t|=0)>>2]))>0){n=0|_[t+760>>2],e=0;do{o=0|_[n+(44*e|0)+8>>2],r=0|_[n+(44*e|0)+12>>2],s=0|_[n+(44*e|0)+16>>2],l=+p[o+8>>2],f=+p[o+12>>2],c=+p[o+16>>2],a=+p[r+8>>2]-l,u=+p[r+12>>2]-f,A=+p[r+16>>2]-c,l=+p[s+8>>2]-l,f=+p[s+12>>2]-f,c=+p[s+16>>2]-c,c=+b(+((a*f-u*l)*(a*f-u*l)+((u*c-A*f)*(u*c-A*f)+(A*l-a*c)*(A*l-a*c)))),p[n+(44*e|0)+36>>2]=c,e=e+1|0}while((0|e)!=(0|i))}if((0|(i=0|_[t+712>>2]))>0)if(_[6630]=1+(0|_[6630]),(e=0|di(16+(i<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,n=e+4+15&-16):n=0,wn(0|n,0,i<<2),(0|(o=0|_[t+712>>2]))>0){i=0|_[t+720>>2],e=0;do{p[i+(104*e|0)+92>>2]=0,e=e+1|0}while((0|e)!=(0|o));s=n,r=n,e=o}else s=n,r=n,e=o;else s=0,r=0,e=i;if((0|(o=0|_[t+752>>2]))>0){i=0|_[t+760>>2],n=0|_[t+720>>2],e=0;do{u=+d(+ +p[i+(44*e|0)+36>>2]),m=0|_[i+(44*e|0)+8>>2],_[(h=s+((m-n|0)/104<<2)|0)>>2]=1+(0|_[h>>2]),p[m+92>>2]=u+ +p[m+92>>2],m=0|_[i+(44*e|0)+12>>2],_[(h=s+((m-n|0)/104<<2)|0)>>2]=1+(0|_[h>>2]),p[m+92>>2]=u+ +p[m+92>>2],m=0|_[i+(44*e|0)+16>>2],_[(h=s+((m-n|0)/104<<2)|0)>>2]=1+(0|_[h>>2]),p[m+92>>2]=u+ +p[m+92>>2],e=e+1|0}while((0|e)!=(0|o));e=0|_[t+712>>2]}if((0|e)>0){i=0;do{(0|(n=0|_[s+(i<<2)>>2]))>0?(h=(0|_[t+720>>2])+(104*i|0)+92|0,p[h>>2]=+p[h>>2]/+(0|n)):p[(0|_[t+720>>2])+(104*i|0)+92>>2]=0,i=i+1|0}while((0|i)!=(0|e));if(!r)return}else if(!(0|s)|!(0|r))return;_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])}function rt(t,e,i){e|=0,i|=0;var n=0,o=0,r=0,s=0,p=0,c=0,a=0;if(n=0|_[56+(t|=0)>>2])s=n;else if((n=0|_[t+52>>2])?_[t+52>>2]=_[n+8>>2]:(_[6630]=1+(0|_[6630]),(n=0|di(31))?(_[(n+4+15&-16)-4>>2]=n,n=n+4+15&-16):n=0,o=0|_[t+60>>2],_[n+4>>2]=o,_[(r=n+8|0)>>2]=0,_[6630]=1+(0|_[6630]),(o=0|di(16+(24*o|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,_[n>>2]=o,_[r>>2]=_[t+48>>2],_[t+48>>2]=n),s=0|_[n>>2],(0|(r=0|_[n+4>>2]))>0&&(_[s>>2]=1!=(0|r)?s+24|0:0,1!=(0|r))){n=1,o=s+24|0;do{p=(0|(n=n+1|0))<(0|r),c=o,o=o+24|0,_[c>>2]=p?o:0}while(p)}if(_[t+56>>2]=_[s>>2],_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[s+16>>2]=0,_[s+20>>2]=0,!(n=0|_[t+56>>2])&&((n=0|_[t+52>>2])?(_[t+52>>2]=_[n+8>>2],o=n):(_[6630]=1+(0|_[6630]),(n=0|di(31))?(_[(n+4+15&-16)-4>>2]=n,o=n+4+15&-16):o=0,n=0|_[t+60>>2],_[o+4>>2]=n,_[(r=o+8|0)>>2]=0,_[6630]=1+(0|_[6630]),(n=0|di(16+(24*n|3)|0))?(_[(n+4+15&-16)-4>>2]=n,n=n+4+15&-16):n=0,_[o>>2]=n,_[r>>2]=_[t+48>>2],_[t+48>>2]=o),n=0|_[o>>2],(0|(p=0|_[o+4>>2]))>0&&(_[n>>2]=1!=(0|p)?n+24|0:0,1!=(0|p)))){o=1,r=n+24|0;do{c=(0|(o=o+1|0))<(0|p),a=r,r=r+24|0,_[a>>2]=c?r:0}while(c)}return _[t+56>>2]=_[n>>2],_[(a=n)>>2]=0,_[a+4>>2]=0,_[s+8>>2]=n,_[n+8>>2]=s,a=0|_[t+100>>2],_[s+20>>2]=a,_[n+20>>2]=a,_[s+12>>2]=i,_[n+12>>2]=e,_[s+16>>2]=0,_[n+16>>2]=0,n=0|_[t+116>>2],_[t+116>>2]=n+1,(0|n)<(0|_[t+120>>2])||(_[t+120>>2]=n+1),0|s}function st(t,e){e|=0;var i,n,r,s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B=0,W=0;i=Q,Q=Q+128|0,I=0|_[24+(0|_[8+(t|=0)>>2])>>2],n=0|_[I+(80*e|0)+64>>2],B=0|_[t+12>>2],g=+p[I+(80*e|0)>>2],R=+p[B>>2],y=+p[I+(80*e|0)+16>>2],k=+p[B+4>>2],h=+p[I+(80*e|0)+32>>2],w=+p[B+8>>2],m=+p[I+(80*e|0)+4>>2],u=+p[I+(80*e|0)+20>>2],f=+p[I+(80*e|0)+36>>2],A=+p[I+(80*e|0)+8>>2],d=+p[I+(80*e|0)+24>>2],a=+p[I+(80*e|0)+40>>2],S=+p[B+16>>2],v=+p[B+20>>2],C=+p[B+24>>2],b=+p[B+32>>2],l=+p[B+36>>2],c=+p[B+40>>2],D=+p[I+(80*e|0)+48>>2],j=+p[I+(80*e|0)+52>>2],W=+p[I+(80*e|0)+56>>2],s=+p[B+48>>2]+(R*D+k*j+w*W),r=S*D+v*j+C*W+ +p[B+52>>2],W=b*D+l*j+c*W+ +p[B+56>>2],p[i+56>>2]=g*R+y*k+h*w,p[i+56+4>>2]=R*m+k*u+w*f,p[i+56+8>>2]=R*A+k*d+w*a,p[i+56+12>>2]=0,p[i+56+16>>2]=g*S+y*v+h*C,p[i+56+20>>2]=m*S+u*v+f*C,p[i+56+24>>2]=A*S+d*v+a*C,p[i+56+28>>2]=0,p[i+56+32>>2]=g*b+y*l+h*c,p[i+56+36>>2]=m*b+u*l+f*c,p[i+56+40>>2]=A*b+d*l+a*c,p[i+56+44>>2]=0,p[i+56+48>>2]=s,p[i+56+52>>2]=r,p[i+56+56>>2]=W,p[i+56+60>>2]=0,B=0|_[t+4>>2],_[i+32>>2]=0,_[i+32+4>>2]=n,_[i+32+8>>2]=B,_[i+32+12>>2]=i+56,_[i+32+16>>2]=-1,_[i+32+20>>2]=e,B=0|_[t+24>>2],p[i+4>>2]=1,_[i+8>>2]=0,o[i+12>>1]=1,o[i+14>>1]=-1,_[i+16>>2]=0,_[i>>2]=6692,_[i+20>>2]=B,_[i+24>>2]=e,_[i+4>>2]=_[B+4>>2],_[i+16>>2]=_[B+16>>2],ji(0|_[t+16>>2],0|_[t+20>>2],i+32|0,i),Q=i}function pt(t,e,i,o,r,s,c,a,l){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,a|=0,l|=0;var d,b=0,A=0,f=0,u=0;d=Q,Q=Q+80|0,p[d+16+60>>2]=0,p[d+16+8>>2]=0,p[d+16+12>>2]=.10000000149011612,p[d+16+16>>2]=300,p[d+16>>2]=1,p[d+16+4>>2]=-1,p[d+16+28>>2]=0,p[d+16+32>>2]=.20000000298023224,p[d+16+36>>2]=0,p[d+16+40>>2]=0,p[d+16+20>>2]=1,p[d+16+24>>2]=.5,_[d+16+56>>2]=0,p[d+16+48>>2]=0,n[d+16+44|0]=0,f=0;do{A=0|_[t+856+(f<<2)>>2],b=0|n[t+788+f|0],A?u=5:b<<24>>24&&(b=1,u=5),5==(0|u)&&(u=0,p[d+16+40>>2]=0,_[d+16+56>>2]=A,_[d+16+52>>2]=_[t+840+(f<<2)>>2],_[d+16+48>>2]=_[t+824+(f<<2)>>2],_[d+16+20>>2]=_[t+732>>2],n[d+16+44|0]=b,_[d+16+4>>2]=_[t+696+(f<<2)>>2],_[d+16+24>>2]=_[t+728>>2],_[d+16>>2]=_[t+680+(f<<2)>>2],p[d+16+16>>2]=0,_[d+16+12>>2]=_[t+808+(f<<2)>>2],_[d+16+8>>2]=_[t+792+(f<<2)>>2],_[d>>2]=_[t+1064+(f<<2)>>2],_[d+4>>2]=_[t+1080+(f<<2)>>2],_[d+8>>2]=_[t+1096+(f<<2)>>2],p[d+12>>2]=0,A=0|_[t+1304>>2],b=1&(A=(b=3*f|0)?A>>b:A)?t+740+(f<<2)|0:0|_[e+32>>2],_[d+16+28>>2]=_[b>>2],b=2&A?t+772+(f<<2)|0:0|_[e+32>>2],_[d+16+36>>2]=_[b>>2],_[d+16+32>>2]=_[(4&A?t+756+(f<<2):e+4)>>2],i=(0|he(t,d+16|0,o,r,s,c,a,l,e,i,d,0,b=0|n[t+1301|0]?0|_[t+868+((3==(0|(A=f+1|0))?0:A)<<6)+56>>2]?1&!(0|_[t+868+(((f+2|0)>>>0)%3<<6)+56>>2]):1:0))+i|0),f=f+1|0}while(3!=(0|f));return Q=d,0|i}function ct(t,e,i,o,r){t|=0,r|=0;var s,c,a,l,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0;if(s=Q,Q=Q+48|0,(0|(o|=0))==(0|(e|=0))|(0|e)==(0|(i|=0))|(0|i)==(0|o))Q=s;else{u=(f=s)+36|0;do{_[f>>2]=0,f=f+4|0}while((0|f)<(0|u));if(h=r||0|_[_[t+880>>2]>>2],(0|(r=0|_[t+752>>2]))==(0|_[t+756>>2])&&(0|r)<(0|(y=0|r?r<<1:1))){if(y?(_[6630]=1+(0|_[6630]),(r=0|di(16+(44*y|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,m=r,r=0|_[t+752>>2]):m=0,(0|r)>0){d=0;do{f=m+(44*d|0)|0,A=(0|_[t+760>>2])+(44*d|0)|0,u=f+44|0;do{_[f>>2]=_[A>>2],f=f+4|0,A=A+4|0}while((0|f)<(0|u));d=d+1|0}while((0|d)!=(0|r))}0|(r=0|_[t+760>>2])&&(0|n[t+764|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+760>>2]=0),n[t+764|0]=1,_[t+760>>2]=m,_[t+756>>2]=y,r=0|_[t+752>>2]}f=0|_[t+760>>2],_[f+(44*r|0)>>2]=0,_[f+(44*r|0)+4>>2]=h,A=s,u=36+(f=f+(44*r|0)+8|0)|0;do{_[f>>2]=_[A>>2],f=f+4|0,A=A+4|0}while((0|f)<(0|u));y=0|_[t+752>>2],_[t+752>>2]=y+1,h=0|_[t+760>>2],f=0|_[t+720>>2],_[h+(44*y|0)+8>>2]=f+(104*e|0),u=0|_[t+720>>2],_[h+(44*y|0)+12>>2]=u+(104*i|0),m=0|_[t+720>>2],_[h+(44*y|0)+16>>2]=m+(104*o|0),C=+p[f+(104*e|0)+8>>2],v=+p[f+(104*e|0)+12>>2],g=+p[f+(104*e|0)+16>>2],c=+p[u+(104*i|0)+8>>2]-C,l=+p[u+(104*i|0)+12>>2]-v,a=+p[u+(104*i|0)+16>>2]-g,C=+p[m+(104*o|0)+8>>2]-C,v=+p[m+(104*o|0)+12>>2]-v,g=+p[m+(104*o|0)+16>>2]-g,g=+b(+((c*v-l*C)*(c*v-l*C)+((l*g-a*v)*(l*g-a*v)+(a*C-c*g)*(a*C-c*g)))),p[h+(44*y|0)+36>>2]=g,n[t+924|0]=1,Q=s}}function at(t,e){var i,o,r=0,s=0,c=0,a=0;r=+p[1192+(t|=0)+((e|=0)<<2)>>2],i=+p[t+868+(e<<6)>>2],o=+p[t+868+(e<<6)+4>>2];do{if(!(i>=o)){if(r3.1415927410125732?(i-r)%6.2831854820251465-6.2831854820251465:(i-r)%6.2831854820251465)))<+d(+((o-r)%6.2831854820251465<-3.1415927410125732?(o-r)%6.2831854820251465+6.2831854820251465:(o-r)%6.2831854820251465>3.1415927410125732?(o-r)%6.2831854820251465-6.2831854820251465:(o-r)%6.2831854820251465))?r:r+6.2831854820251465;break}r>o&&(s=+d(+((r-o)%6.2831854820251465<-3.1415927410125732?(r-o)%6.2831854820251465+6.2831854820251465:(r-o)%6.2831854820251465>3.1415927410125732?(r-o)%6.2831854820251465-6.2831854820251465:(r-o)%6.2831854820251465)),r=+d(+((r-i)%6.2831854820251465<-3.1415927410125732?(r-i)%6.2831854820251465+6.2831854820251465:(r-i)%6.2831854820251465>3.1415927410125732?(r-i)%6.2831854820251465-6.2831854820251465:(r-i)%6.2831854820251465))>2]=r;do{if(i>o)c=t+868+(e<<6)+56|0,a=34;else{if(i>r){if(_[t+868+(e<<6)+56>>2]=1,r-=i,p[t+868+(e<<6)+48>>2]=r,r>3.1415927410125732){p[t+868+(e<<6)+48>>2]=r+-6.2831854820251465;break}if(!(r<-3.1415927410125732))break;p[t+868+(e<<6)+48>>2]=r+6.2831854820251465;break}if(o>2]=2,r-=o,p[t+868+(e<<6)+48>>2]=r,r>3.1415927410125732){p[t+868+(e<<6)+48>>2]=r+-6.2831854820251465;break}r<-3.1415927410125732&&(p[t+868+(e<<6)+48>>2]=r+6.2831854820251465)}else c=t+868+(e<<6)+56|0,a=34}}while(0);return 34!=(0|a)||(_[c>>2]=0,0|n[t+868+(e<<6)+44|0])?1:0}function lt(t,e,i){e|=0,i|=0;var o=0,r=0,s=0;if(_[4+(t|=0)>>2]=1065353216,_[t+8>>2]=1065353216,_[t+12>>2]=1065353216,p[t+16>>2]=0,n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,_[t+48>>2]=0,_[t>>2]=9448,n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,n[t+140|0]=1,_[t+136>>2]=0,_[t+128>>2]=0,_[t+132>>2]=0,n[t+160|0]=1,_[t+156>>2]=0,_[t+148>>2]=0,_[t+152>>2]=0,n[t+164|0]=1&e,n[t+165|0]=1&i,p[t+168>>2]=0,_[6630]=1+(0|_[6630]),(e=0|di(51))?(_[(e+4+15&-16)-4>>2]=e,o=e+4+15&-16):o=0,(0|(i=0|_[t+24>>2]))>0){e=0;do{r=o+(e<<5)|0,s=(0|_[t+32>>2])+(e<<5)|0,_[r>>2]=_[s>>2],_[r+4>>2]=_[s+4>>2],_[r+8>>2]=_[s+8>>2],_[r+12>>2]=_[s+12>>2],_[r+16>>2]=_[s+16>>2],_[r+20>>2]=_[s+20>>2],_[r+24>>2]=_[s+24>>2],_[r+28>>2]=_[s+28>>2],e=e+1|0}while((0|e)!=(0|i))}return 0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=o,_[t+28>>2]=1,s=0|_[t+24>>2],_[o+(s<<5)>>2]=0,_[o+(s<<5)+4>>2]=0,_[o+(s<<5)+8>>2]=12,_[o+(s<<5)+12>>2]=0,_[o+(s<<5)+16>>2]=0,_[o+(s<<5)+20>>2]=16,_[o+(s<<5)+24>>2]=2,_[o+(s<<5)+28>>2]=0,_[t+24>>2]=1+(0|_[t+24>>2]),s=!(0|n[t+164|0]),e=0|_[t+32>>2],_[e>>2]=(0|_[(s?t+148:t+128)>>2])/3|0,_[e+4>>2]=0,_[e+24>>2]=s?3:2,_[e+8>>2]=s?6:12,0|n[t+165|0]?(r=16,t=0|_[t+88>>2],_[(s=e+12|0)>>2]=t,_[(s=e+16|0)>>2]=0,void(_[(s=e+20|0)>>2]=r)):(r=12,t=(0|_[t+108>>2])/3|0,_[(s=e+12|0)>>2]=t,_[(s=e+16|0)>>2]=0,void(_[(s=e+20|0)>>2]=r))}function dt(t,e){t|=0;var i,n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0;if(i=Q,Q=Q+32|0,(0|(e|=0))<0&&(e=0|_[t+12>>2]),(0|e)>0&!!(0|(n=0|_[t>>2]))){for(;;){if(0|_[(o=n+40|0)>>2])for(d=0;(p=0|_[(s=n+32|0)>>2])>>>0>n>>>0&&(c=(0|_[p+40>>2])==(0|n),a=0|_[p+36+((1&(1^c))<<2)>>2],r=(l=0|_[p+32>>2])?l+36+(((0|_[l+40>>2])==(0|p)&1)<<2)|0:t,_[r>>2]=n,_[a+32>>2]=n,_[p+32>>2]=n,_[s>>2]=l,l=n+36|0,_[p+36>>2]=_[l>>2],_[p+40>>2]=_[o>>2],_[32+(0|_[l>>2])>>2]=p,_[32+(0|_[o>>2])>>2]=p,_[n+36+((1&c)<<2)>>2]=p,_[n+36+((1&(1^c))<<2)>>2]=a,_[i>>2]=_[p>>2],_[i+4>>2]=_[p+4>>2],_[i+8>>2]=_[p+8>>2],_[i+12>>2]=_[p+12>>2],_[i+16>>2]=_[p+16>>2],_[i+20>>2]=_[p+20>>2],_[i+24>>2]=_[p+24>>2],_[i+28>>2]=_[p+28>>2],_[p>>2]=_[n>>2],_[p+4>>2]=_[n+4>>2],_[p+8>>2]=_[n+8>>2],_[p+12>>2]=_[n+12>>2],_[p+16>>2]=_[n+16>>2],_[p+20>>2]=_[n+20>>2],_[p+24>>2]=_[n+24>>2],_[p+28>>2]=_[n+28>>2],_[n>>2]=_[i>>2],_[n+4>>2]=_[i+4>>2],_[n+8>>2]=_[i+8>>2],_[n+12>>2]=_[i+12>>2],_[n+16>>2]=_[i+16>>2],_[n+20>>2]=_[i+20>>2],_[n+24>>2]=_[i+24>>2],_[n+28>>2]=_[i+28>>2],n=p),o=0|_[t+16>>2],n=0|_[n+36+((1&(d?o>>>d:o))<<2)>>2],0|_[(o=n+40|0)>>2];)d=d+1&31;if(U(t,o=0|Tt(t,n)?0|_[t>>2]:0,n),_[t+16>>2]=1+(0|_[t+16>>2]),!(e=e+-1|0))break;n=0|_[t>>2]}Q=i}else Q=i}function bt(t,e,i,o,r,s,p,c,a){e|=0,i|=0,o|=0,r|=0,s|=0,p|=0,c|=0,a|=0;var l,d=0;return l=Q,Q=Q+16|0,(0|_[924+(t|=0)>>2]||0|n[t+912|0])&&(_[l>>2]=_[t+1208>>2],_[l+4>>2]=_[t+1208+4>>2],_[l+8>>2]=_[t+1208+8>>2],_[l+12>>2]=_[t+1208+12>>2],512&(d=0|_[t+1304>>2])||(_[t+896>>2]=_[_[e+32>>2]>>2]),1024&d||(_[t+904>>2]=_[_[e+32>>2]>>2]),2048&d||(_[t+900>>2]=_[e+4>>2]),i=(0|he(t,t+868|0,o,r,s,p,c,a,e,i,l,1,0))+i|0),(0|_[t+988>>2]||0|n[t+976|0])&&(_[l>>2]=_[t+1224>>2],_[l+4>>2]=_[t+1224+4>>2],_[l+8>>2]=_[t+1224+8>>2],_[l+12>>2]=_[t+1224+12>>2],4096&(d=0|_[t+1304>>2])||(_[t+960>>2]=_[_[e+32>>2]>>2]),8192&d||(_[t+968>>2]=_[_[e+32>>2]>>2]),16384&d||(_[t+964>>2]=_[e+4>>2]),i=(0|he(t,t+932|0,o,r,s,p,c,a,e,i,l,1,0))+i|0),0|_[t+1052>>2]||0|n[t+1040|0]?(_[l>>2]=_[t+1240>>2],_[l+4>>2]=_[t+1240+4>>2],_[l+8>>2]=_[t+1240+8>>2],_[l+12>>2]=_[t+1240+12>>2],32768&(d=0|_[t+1304>>2])||(_[t+1024>>2]=_[_[e+32>>2]>>2]),65536&d||(_[t+1032>>2]=_[_[e+32>>2]>>2]),131072&d||(_[t+1028>>2]=_[e+4>>2]),a=(0|he(t,t+996|0,o,r,s,p,c,a,e,i,l,1,0))+i|0,Q=l,0|a):(Q=l,0|(a=i))}function At(t){var e=0;if(_[(t|=0)>>2]=5656,0|(e=0|_[t+176>>2])&&(0|n[t+180|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+176>>2]=0),n[t+180|0]=1,_[t+176>>2]=0,_[t+168>>2]=0,_[t+172>>2]=0,0|(e=0|_[t+156>>2])&&(0|n[t+160|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+156>>2]=0),n[t+160|0]=1,_[t+156>>2]=0,_[t+148>>2]=0,_[t+152>>2]=0,0|(e=0|_[t+136>>2])&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+136>>2]=0),n[t+140|0]=1,_[t+136>>2]=0,_[t+128>>2]=0,_[t+132>>2]=0,0|(e=0|_[t+116>>2])&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+116>>2]=0),n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,0|(e=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,0|(e=0|_[t+76>>2])&&(0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+76>>2]=0),n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[t+72>>2]=0,0|(e=0|_[t+56>>2])&&(0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+56>>2]=0),n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,0|(e=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,!(e=0|_[t+16>>2]))return n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[(t=t+12|0)>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[(t=t+12|0)>>2]=0}function ft(t,e,i,o){e|=0,i|=0,o|=0;var r,s,c=0,a=0,l=0,d=0;if(s=Q,Q=Q+16|0,_[8+(t|=0)>>2]=0,_[t+12>>2]=1065353216,_[t+16>>2]=1065353216,_[t+20>>2]=1065353216,p[t+24>>2]=0,p[t+44>>2]=.03999999910593033,_[t+52>>2]=0,_[t+56>>2]=1065353216,_[t+60>>2]=1065353216,_[t+64>>2]=1065353216,p[t+68>>2]=0,_[t+72>>2]=-1082130432,_[t+76>>2]=-1082130432,_[t+80>>2]=-1082130432,p[t+84>>2]=0,n[t+88|0]=0,_[t>>2]=8252,n[t+108|0]=1,_[t+104>>2]=0,_[t+96>>2]=0,_[t+100>>2]=0,_[t+4>>2]=4,(0|i)<=0)return _[t+96>>2]=i,nn(t),void(Q=s);if(_[6630]=1+(0|_[6630]),(c=0|di(16+(i<<4|3)|0))?(_[(c+4+15&-16)-4>>2]=c,a=c+4+15&-16):a=0,(0|(r=0|_[t+96>>2]))>0){c=0;do{l=a+(c<<4)|0,d=(0|_[t+104>>2])+(c<<4)|0,_[l>>2]=_[d>>2],_[l+4>>2]=_[d+4>>2],_[l+8>>2]=_[d+8>>2],_[l+12>>2]=_[d+12>>2],c=c+1|0}while((0|c)!=(0|r))}if(0|(c=0|_[t+104>>2])&&(0|n[t+108|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[t+104>>2]=0),n[t+108|0]=1,_[t+104>>2]=a,_[t+100>>2]=i,_[a>>2]=_[s>>2],_[a+4>>2]=_[s+4>>2],_[a+8>>2]=_[s+8>>2],_[a+12>>2]=_[s+12>>2],1!=(0|i)){c=1;do{d=(0|_[t+104>>2])+(c<<4)|0,_[d>>2]=_[s>>2],_[d+4>>2]=_[s+4>>2],_[d+8>>2]=_[s+8>>2],_[d+12>>2]=_[s+12>>2],c=c+1|0}while((0|c)!=(0|i))}for(_[t+96>>2]=i,c=0;a=0|_[e+4>>2],l=0|_[e+8>>2],d=0|_[t+104>>2],_[d+(c<<4)>>2]=_[e>>2],_[d+(c<<4)+4>>2]=a,_[d+(c<<4)+8>>2]=l,p[d+(c<<4)+12>>2]=0,(0|(c=c+1|0))!=(0|i);)e=e+o|0;nn(t),Q=s}function ut(t,e,i,o,r){var s;e=+e,i|=0,o|=0,r|=0,s=Q,Q=Q+144|0,_[164+(t|=0)>>2]=1065353216,_[t+168>>2]=1065353216,_[t+172>>2]=1065353216,p[t+176>>2]=0,_[t+180>>2]=0,p[t+184>>2]=0xde0b6b000000000,_[t+188>>2]=0,_[t+188+4>>2]=0,_[t+188+8>>2]=0,_[t+188+12>>2]=0,_[t+204>>2]=1,_[t+208>>2]=-1,_[t+212>>2]=-1,_[t+216>>2]=1,p[t+220>>2]=0,p[t+224>>2]=.5,p[t+228>>2]=0,p[t+232>>2]=0,_[t+236>>2]=1,_[t+240>>2]=0,p[t+244>>2]=1,_[t+248>>2]=0,_[t+248+4>>2]=0,_[t+248+8>>2]=0,_[t+248+12>>2]=0,_[t+4>>2]=1065353216,_[t+8>>2]=0,_[t+8+4>>2]=0,_[t+8+8>>2]=0,_[t+8+12>>2]=0,_[t+24>>2]=1065353216,_[t+28>>2]=0,_[t+28+4>>2]=0,_[t+28+8>>2]=0,_[t+28+12>>2]=0,_[t+44>>2]=1065353216,_[t+48>>2]=0,_[t+48+4>>2]=0,_[t+48+8>>2]=0,_[t+48+12>>2]=0,_[t+48+16>>2]=0,_[t>>2]=4956,n[t+500|0]=1,_[t+496>>2]=0,_[t+488>>2]=0,_[t+492>>2]=0,p[s>>2]=e,_[s+4>>2]=i,_[s+72>>2]=o,_[s+76>>2]=_[r>>2],_[s+76+4>>2]=_[r+4>>2],_[s+76+8>>2]=_[r+8>>2],_[s+76+12>>2]=_[r+12>>2],p[s+92>>2]=0,p[s+96>>2]=0,p[s+100>>2]=.5,p[s+104>>2]=0,p[s+108>>2]=0,p[s+112>>2]=.800000011920929,p[s+116>>2]=1,n[s+120|0]=0,p[s+124>>2]=.004999999888241291,p[s+128>>2]=.009999999776482582,p[s+132>>2]=.009999999776482582,p[s+136>>2]=.009999999776482582,_[s+8>>2]=1065353216,_[s+12>>2]=0,_[s+12+4>>2]=0,_[s+12+8>>2]=0,_[s+12+12>>2]=0,_[s+28>>2]=1065353216,_[s+32>>2]=0,_[s+32+4>>2]=0,_[s+32+8>>2]=0,_[s+32+12>>2]=0,_[s+48>>2]=1065353216,_[s+52>>2]=0,_[s+52+4>>2]=0,_[s+52+8>>2]=0,_[s+52+12>>2]=0,_[s+52+16>>2]=0,Ce(t,s),Q=s}function mt(t,e){var i=0,o=0,r=0,s=0,p=0,c=0;if(We(t|=0,e|=0),_[t>>2]=3916,_[6630]=1+(0|_[6630]),i=0|di(27),_[(p=i+4+15&-16)-4>>2]=i,n[p+4|0]=0,_[(i+4+15&-16)>>2]=3948,_[t+92>>2]=p,_[6630]=1+(0|_[6630]),p=0|di(27),_[(i=p+4+15&-16)-4>>2]=p,n[i+4|0]=0,_[(p+4+15&-16)>>2]=3968,_[t+96>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[i>>2]=3968,_[t+100>>2]=i,n[i+4|0]=1,_[6630]=1+(0|_[6630]),p=0|di(27),_[(i=p+4+15&-16)-4>>2]=p,n[i+4|0]=0,_[(p+4+15&-16)>>2]=3988,_[t+104>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[i>>2]=4008,_[t+108>>2]=i,n[i+4|0]=1,0|n[t+20|0]&&(i=0|_[t+16>>2])&&!((0|_[i>>2])>=156)){if((o=0|_[i+16>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),(i=0|_[t+16>>2])?(o=t+16|0,r=11):p=t+16|0):(o=t+16|0,r=11),11==(0|r)&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),p=o),_[6630]=1+(0|_[6630]),(i=0|di(39))?(_[(i+4+15&-16)-4>>2]=i,s=i+4+15&-16):s=0,i=0|_[e+12>>2],_[s>>2]=156,_[(o=s+4|0)>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(16+(156*i|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[s+16>>2]=i,_[s+12>>2]=i,t=0|_[o>>2],_[s+8>>2]=t,t+-1|0){r=0|_[s>>2],o=i,e=t+-1|0;do{c=o,o=o+r|0,_[c>>2]=o,e=e+-1|0}while(0|e);i=i+(0|g(r,t+-1|0))|0}_[i>>2]=0,_[p>>2]=s}}function ht(t){var e=0,i=0,n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0;if((0|(i=0|_[712+(t|=0)>>2]))>0){e=0;do{l=(0|_[t+720>>2])+(104*e|0)+72|0,e=e+1|0,_[l>>2]=0,_[l+4>>2]=0,_[l+8>>2]=0,_[l+12>>2]=0}while((0|e)!=(0|i))}if((0|(i=0|_[t+752>>2]))>0){e=0;do{f=0|_[t+760>>2],c=0|_[f+(44*e|0)+12>>2],r=0|_[f+(44*e|0)+8>>2],a=+p[r+8>>2],n=+p[c+8>>2]-a,o=+p[r+12>>2],s=+p[c+12>>2]-o,d=+p[r+16>>2],A=+p[c+16>>2]-d,l=0|_[f+(44*e|0)+16>>2],a=+p[l+8>>2]-a,o=+p[l+12>>2]-o,d=+p[l+16>>2]-d,u=1/+b(+((n*o-s*a)*(n*o-s*a)+((s*d-A*o)*(s*d-A*o)+(A*a-n*d)*(A*a-n*d)))),p[f+(44*e|0)+20>>2]=(s*d-A*o)*u,p[f+(44*e|0)+24>>2]=(A*a-n*d)*u,p[f+(44*e|0)+28>>2]=(n*o-s*a)*u,_[f+(44*e|0)+32>>2]=0,p[r+72>>2]=s*d-A*o+ +p[r+72>>2],p[r+76>>2]=A*a-n*d+ +p[r+76>>2],p[r+80>>2]=n*o-s*a+ +p[r+80>>2],p[c+72>>2]=s*d-A*o+ +p[c+72>>2],p[c+76>>2]=A*a-n*d+ +p[c+76>>2],p[c+80>>2]=n*o-s*a+ +p[c+80>>2],p[l+72>>2]=s*d-A*o+ +p[l+72>>2],p[l+76>>2]=A*a-n*d+ +p[l+76>>2],p[l+80>>2]=n*o-s*a+ +p[l+80>>2],e=e+1|0}while((0|e)!=(0|i))}if(!((0|(l=0|_[t+712>>2]))<=0)){t=0|_[t+720>>2],e=0;do{s=+p[(r=t+(104*e|0)+72|0)>>2],a=+p[(c=t+(104*e|0)+76|0)>>2],n=+p[(i=t+(104*e|0)+80|0)>>2],(o=+b(+(s*s+a*a+n*n)))>1.1920928955078125e-7&&(p[r>>2]=s*(1/o),p[c>>2]=a*(1/o),p[i>>2]=n*(1/o)),e=e+1|0}while((0|e)!=(0|l))}}function yt(t,e){e|=0;var i=0,r=0,s=0,p=0,c=0,a=0,l=0;if(0|n[164+(t|=0)|0]){if((0|(i=0|_[t+128>>2]))==(0|_[t+132>>2])&&(0|i)<(0|(c=0|i?i<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(i=0|di(16+(c<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,p=i,i=0|_[t+128>>2]):p=0,s=0|_[t+136>>2],(0|i)<=0)s?l=13:r=t+140|0;else{r=0;do{_[p+(r<<2)>>2]=_[s+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|i));l=13}13==(0|l)&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+136>>2]=0,r=t+140|0,i=0|_[t+128>>2]),n[0|r]=1,_[t+136>>2]=p,_[t+132>>2]=c}return l=0|_[t+136>>2],_[l+(i<<2)>>2]=e,_[t+128>>2]=1+(0|_[t+128>>2]),void(_[4+(0|_[t+32>>2])>>2]=l)}if((0|(i=0|_[t+148>>2]))==(0|_[t+152>>2])&&(0|i)<(0|(a=0|i?i<<1:1))){if(a?(_[6630]=1+(0|_[6630]),(i=0|di(19+(a<<1)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,p=i,i=0|_[t+148>>2]):p=0,s=0|_[t+156>>2],(0|i)<=0)s?l=29:r=t+160|0;else{r=0;do{o[p+(r<<1)>>1]=0|o[s+(r<<1)>>1],r=r+1|0}while((0|r)!=(0|i));l=29}29==(0|l)&&(0|n[t+160|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),i=0|_[t+148>>2]),_[t+156>>2]=0,r=t+160|0),n[0|r]=1,_[t+156>>2]=p,_[t+152>>2]=a}return l=0|_[t+156>>2],o[l+(i<<1)>>1]=e,_[t+148>>2]=i+1,void(_[4+(0|_[t+32>>2])>>2]=l)}function gt(t,e,i){t|=0,e|=0;var n,o,r,s=0,c=0,a=0,l=0;0!=(s=+p[128+(i|=0)>>2])&&(_[6450]=1+(0|_[6450]),a=+p[i+96>>2],n=+p[i+16>>2],o=+p[i+20>>2],r=+p[i+24>>2],c=+p[i+108>>2],s=a+(c=s-a*+p[i+116>>2]-(n*+p[t+144>>2]+o*+p[t+148>>2]+r*+p[t+152>>2]+(+p[i>>2]*+p[t+160>>2]+ +p[i+4>>2]*+p[t+164>>2]+ +p[i+8>>2]*+p[t+168>>2]))*c-c*(+p[i+48>>2]*+p[e+144>>2]+ +p[i+52>>2]*+p[e+148>>2]+ +p[i+56>>2]*+p[e+152>>2]+(+p[i+32>>2]*+p[e+160>>2]+ +p[i+36>>2]*+p[e+164>>2]+ +p[i+40>>2]*+p[e+168>>2])))<(l=+p[i+120>>2])?l-a:c,p[i+96>>2]=a+c>2]&&(l=s*(o*+p[t+132>>2])*+p[t+116>>2],a=s*(r*+p[t+136>>2])*+p[t+120>>2],p[t+144>>2]=+p[t+112>>2]*(s*(n*+p[t+128>>2]))+ +p[t+144>>2],p[t+148>>2]=l+ +p[t+148>>2],p[t+152>>2]=a+ +p[t+152>>2],a=s*+p[t+100>>2]*+p[i+68>>2],l=s*+p[t+104>>2]*+p[i+72>>2],p[t+160>>2]=s*+p[t+96>>2]*+p[i+64>>2]+ +p[t+160>>2],p[t+164>>2]=a+ +p[t+164>>2],p[t+168>>2]=l+ +p[t+168>>2]),0|_[e+240>>2]&&(l=s*(+p[i+52>>2]*+p[e+132>>2])*+p[e+116>>2],a=s*(+p[i+56>>2]*+p[e+136>>2])*+p[e+120>>2],p[e+144>>2]=+p[e+112>>2]*(s*(+p[i+48>>2]*+p[e+128>>2]))+ +p[e+144>>2],p[e+148>>2]=l+ +p[e+148>>2],p[e+152>>2]=a+ +p[e+152>>2],a=s*+p[e+100>>2]*+p[i+84>>2],l=s*+p[e+104>>2]*+p[i+88>>2],p[e+160>>2]=s*+p[e+96>>2]*+p[i+80>>2]+ +p[e+160>>2],p[e+164>>2]=a+ +p[e+164>>2],p[e+168>>2]=l+ +p[e+168>>2]))}function Ct(t,e,i){t|=0,e|=0;var n,o,r=0,s=0,c=0,a=0,l=0;n=+p[100+(i|=0)>>2],o=+p[i+16>>2],a=+p[i+20>>2],l=+p[i+24>>2],s=+p[i+108>>2],n+(s=+p[i+112>>2]-n*+p[i+116>>2]-(o*+p[t+64>>2]+a*+p[t+68>>2]+l*+p[t+72>>2]+(+p[i>>2]*+p[t+80>>2]+ +p[i+4>>2]*+p[t+84>>2]+ +p[i+8>>2]*+p[t+88>>2]))*s-s*(+p[i+48>>2]*+p[e+64>>2]+ +p[i+52>>2]*+p[e+68>>2]+ +p[i+56>>2]*+p[e+72>>2]+(+p[i+32>>2]*+p[e+80>>2]+ +p[i+36>>2]*+p[e+84>>2]+ +p[i+40>>2]*+p[e+88>>2])))<(r=+p[i+120>>2])||n+s>(r=+p[i+124>>2])?c=r-n:(c=s,r=n+s),p[i+100>>2]=r,0|_[t+240>>2]&&(s=c*(a*+p[t+132>>2])*+p[t+116>>2],a=c*(l*+p[t+136>>2])*+p[t+120>>2],p[t+64>>2]=+p[t+112>>2]*(c*(o*+p[t+128>>2]))+ +p[t+64>>2],p[t+68>>2]=s+ +p[t+68>>2],p[t+72>>2]=a+ +p[t+72>>2],a=c*+p[t+100>>2]*+p[i+68>>2],l=c*+p[t+104>>2]*+p[i+72>>2],p[t+80>>2]=c*+p[t+96>>2]*+p[i+64>>2]+ +p[t+80>>2],p[t+84>>2]=a+ +p[t+84>>2],p[t+88>>2]=l+ +p[t+88>>2]),0|_[e+240>>2]&&(l=c*(+p[i+52>>2]*+p[e+132>>2])*+p[e+116>>2],a=c*(+p[i+56>>2]*+p[e+136>>2])*+p[e+120>>2],p[e+64>>2]=+p[e+112>>2]*(c*(+p[i+48>>2]*+p[e+128>>2]))+ +p[e+64>>2],p[e+68>>2]=l+ +p[e+68>>2],p[e+72>>2]=a+ +p[e+72>>2],a=c*+p[e+100>>2]*+p[i+84>>2],l=c*+p[e+104>>2]*+p[i+88>>2],p[e+80>>2]=c*+p[e+96>>2]*+p[i+80>>2]+ +p[e+80>>2],p[e+84>>2]=a+ +p[e+84>>2],p[e+88>>2]=l+ +p[e+88>>2])}function vt(t,e,i){t|=0,e|=0;var n,o,r,s,c=0,a=0,l=0;a=+p[100+(i|=0)>>2],o=+p[i+16>>2],r=+p[i+20>>2],s=+p[i+24>>2],c=+p[i+108>>2],n=a+(c=+p[i+112>>2]-a*+p[i+116>>2]-(o*+p[t+64>>2]+r*+p[t+68>>2]+s*+p[t+72>>2]+(+p[i>>2]*+p[t+80>>2]+ +p[i+4>>2]*+p[t+84>>2]+ +p[i+8>>2]*+p[t+88>>2]))*c-c*(+p[i+48>>2]*+p[e+64>>2]+ +p[i+52>>2]*+p[e+68>>2]+ +p[i+56>>2]*+p[e+72>>2]+(+p[i+32>>2]*+p[e+80>>2]+ +p[i+36>>2]*+p[e+84>>2]+ +p[i+40>>2]*+p[e+88>>2])))<(l=+p[i+120>>2])?l-a:c,p[i+100>>2]=a+c>2]&&(l=n*(r*+p[t+132>>2])*+p[t+116>>2],a=n*(s*+p[t+136>>2])*+p[t+120>>2],p[t+64>>2]=+p[t+112>>2]*(n*(o*+p[t+128>>2]))+ +p[t+64>>2],p[t+68>>2]=l+ +p[t+68>>2],p[t+72>>2]=a+ +p[t+72>>2],a=n*+p[t+100>>2]*+p[i+68>>2],l=n*+p[t+104>>2]*+p[i+72>>2],p[t+80>>2]=n*+p[t+96>>2]*+p[i+64>>2]+ +p[t+80>>2],p[t+84>>2]=a+ +p[t+84>>2],p[t+88>>2]=l+ +p[t+88>>2]),0|_[e+240>>2]&&(l=n*(+p[i+52>>2]*+p[e+132>>2])*+p[e+116>>2],a=n*(+p[i+56>>2]*+p[e+136>>2])*+p[e+120>>2],p[e+64>>2]=+p[e+112>>2]*(n*(+p[i+48>>2]*+p[e+128>>2]))+ +p[e+64>>2],p[e+68>>2]=l+ +p[e+68>>2],p[e+72>>2]=a+ +p[e+72>>2],a=n*+p[e+100>>2]*+p[i+84>>2],l=n*+p[e+104>>2]*+p[i+88>>2],p[e+80>>2]=n*+p[e+96>>2]*+p[i+80>>2]+ +p[e+80>>2],p[e+84>>2]=a+ +p[e+84>>2],p[e+88>>2]=l+ +p[e+88>>2])}function St(t,e,i,o){e|=0,i|=0,o|=0;var r,s=0,p=0,c=0,a=0;if(r=Q,Q=Q+96|0,(0|(s=0|_[8+(t|=0)>>2]))==(0|_[t+12>>2])&&(0|s)<(0|(a=0|s?s<<1:1))){if(a?(_[6630]=1+(0|_[6630]),(s=0|di(16+(a<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,c=s,s=0|_[t+8>>2]):c=0,(0|s)>0){p=0;do{_[c+(p<<2)>>2]=_[(0|_[t+16>>2])+(p<<2)>>2],p=p+1|0}while((0|p)!=(0|s))}(p=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2]),s=0|_[t+8>>2]),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=c,_[t+12>>2]=a}_[(0|_[t+16>>2])+(s<<2)>>2]=e,_[t+8>>2]=s+1,_[r+32>>2]=_[e+4>>2],_[r+32+4>>2]=_[e+4+4>>2],_[r+32+8>>2]=_[e+4+8>>2],_[r+32+12>>2]=_[e+4+12>>2],_[r+32+16>>2]=_[e+20>>2],_[r+32+16+4>>2]=_[e+20+4>>2],_[r+32+16+8>>2]=_[e+20+8>>2],_[r+32+16+12>>2]=_[e+20+12>>2],_[r+32+32>>2]=_[e+36>>2],_[r+32+32+4>>2]=_[e+36+4>>2],_[r+32+32+8>>2]=_[e+36+8>>2],_[r+32+32+12>>2]=_[e+36+12>>2],_[r+32+48>>2]=_[e+52>>2],_[r+32+48+4>>2]=_[e+52+4>>2],_[r+32+48+8>>2]=_[e+52+8>>2],_[r+32+48+12>>2]=_[e+52+12>>2],a=0|_[e+192>>2],pd[127&_[8+(0|_[a>>2])>>2]](a,r+32|0,r+16|0,r),a=0|_[t+68>>2],o=0|Ul[3&_[8+(0|_[a>>2])>>2]](a,r+16|0,r,0|_[4+(0|_[e+192>>2])>>2],e,i,o,0|_[t+24>>2],0),_[e+188>>2]=o,Q=r}function wt(t,e,i,n){var o,r,s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B,W,F,x,O,T;e|=0,i|=0,n|=0,T=+p[4+(t|=0)>>2],O=+p[t+20>>2],x=+p[t+36>>2],W=+p[t+8>>2],B=+p[t+24>>2],I=+p[t+40>>2],j=+p[t+12>>2],k=+p[t+28>>2],S=+p[t+44>>2],g=+p[e+4>>2],y=+p[e+20>>2],h=+p[e+36>>2],u=+p[e+8>>2],f=+p[e+24>>2],A=+p[e+40>>2],d=+p[e+12>>2],a=+p[e+28>>2],s=+p[e+44>>2],_[i>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,R=+p[n>>2],w=+p[n+4>>2],v=+p[n+8>>2],p[i+16>>2]=T*R+O*w+x*v,p[i+20>>2]=W*R+B*w+I*v,p[i+24>>2]=j*R+k*w+S*v,p[i+28>>2]=0,l=-+p[n>>2],c=-+p[n+4>>2],r=-+p[n+8>>2],p[i+32>>2]=g*l+y*c+h*r,p[i+36>>2]=u*l+f*c+A*r,p[i+40>>2]=d*l+a*c+s*r,p[i+44>>2]=0,F=(T*R+O*w+x*v)*+p[t+396>>2],D=(W*R+B*w+I*v)*+p[t+400>>2],C=(j*R+k*w+S*v)*+p[t+404>>2],p[i+48>>2]=F,p[i+52>>2]=D,p[i+56>>2]=C,p[i+60>>2]=0,m=(g*l+y*c+h*r)*+p[e+396>>2],b=(u*l+f*c+A*r)*+p[e+400>>2],o=(d*l+a*c+s*r)*+p[e+404>>2],p[i+64>>2]=m,p[i+68>>2]=b,p[i+72>>2]=o,p[i+76>>2]=0,p[i+80>>2]=(T*R+O*w+x*v)*F+(W*R+B*w+I*v)*D+(j*R+k*w+S*v)*C+((g*l+y*c+h*r)*m+(u*l+f*c+A*r)*b+(d*l+a*c+s*r)*o)}function kt(t){var e=0,i=0,o=0;if(_[(t|=0)>>2]=4992,0|n[t+272|0]&&(e=0|_[t+204>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+204>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|(e=0|_[t+196>>2])&&(Xl[511&_[_[e>>2]>>2]](e),0|(i=0|_[t+196>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),0|n[t+273|0]&&(o=0|_[t+200>>2],Xl[511&_[_[o>>2]>>2]](o),0|(o=0|_[t+200>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])),0|(e=0|_[t+316>>2])&&(0|n[t+320|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+316>>2]=0),n[t+320|0]=1,_[t+316>>2]=0,_[t+308>>2]=0,_[t+312>>2]=0,0|(e=0|_[t+288>>2])&&(0|n[t+292|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+288>>2]=0),n[t+292|0]=1,_[t+288>>2]=0,_[t+280>>2]=0,_[t+284>>2]=0,0|(e=0|_[t+240>>2])&&(0|n[t+244|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+240>>2]=0),n[t+244|0]=1,_[t+240>>2]=0,_[t+232>>2]=0,_[t+236>>2]=0,0|(e=0|_[t+220>>2])&&(0|n[t+224|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+220>>2]=0),n[t+224|0]=1,_[t+220>>2]=0,_[t+212>>2]=0,_[t+216>>2]=0,!(e=0|_[t+188>>2]))return n[t+192|0]=1,_[t+188>>2]=0,_[t+180>>2]=0,_[(o=t+184|0)>>2]=0,void cn(t);0|n[t+192|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+188>>2]=0,n[t+192|0]=1,_[t+188>>2]=0,_[t+180>>2]=0,_[(o=t+184|0)>>2]=0,cn(t)}function Rt(t,e,i){t|=0,e|=0,i|=0;for(var n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0;;){for(d=0|_[t+12>>2],b=0|_[d+((e+i|0)/2<<2)>>2],n=e,o=i;;){if((0|(l=0|_[208+(0|_[b+740>>2])>>2]))>-1)for(;;){if(s=0|_[(p=d+(n<<2)|0)>>2],(0|(r=0|_[208+(0|_[s+740>>2])>>2]))<=-1&&(r=0|_[208+(0|_[s+744>>2])>>2]),!((0|r)<(0|l))){a=p;break}n=n+1|0}else for(p=0|_[208+(0|_[b+744>>2])>>2];;){if(s=0|_[(c=d+(n<<2)|0)>>2],(0|(r=0|_[208+(0|_[s+740>>2])>>2]))<=-1&&(r=0|_[208+(0|_[s+744>>2])>>2]),!((0|r)<(0|p))){a=c;break}n=n+1|0}if((0|l)>-1)for(;p=0|_[(r=d+(o<<2)|0)>>2],(0|(s=0|_[208+(0|_[p+740>>2])>>2]))<=-1&&(s=0|_[208+(0|_[p+744>>2])>>2]),(0|l)<(0|s);)o=o+-1|0;else for(c=0|_[208+(0|_[b+744>>2])>>2];p=0|_[(r=d+(o<<2)|0)>>2],(0|(s=0|_[208+(0|_[p+740>>2])>>2]))<=-1&&(s=0|_[208+(0|_[p+744>>2])>>2]),(0|c)<(0|s);)o=o+-1|0;if((0|n)<=(0|o)&&(d=0|_[a>>2],_[a>>2]=_[r>>2],_[(0|_[t+12>>2])+(o<<2)>>2]=d,n=n+1|0,o=o+-1|0),(0|n)>(0|o))break;d=0|_[t+12>>2]}if((0|o)>(0|e)&&Rt(t,e,o),!((0|n)<(0|i)))break;e=n}}function jt(t,e,i){t|=0,i|=0;var o,r,s,c,a,l,d,b,A,f,u,m,h=0,y=0,g=0,C=0;o=Q,Q=Q+64|0,n[84+(e|=0)|0]=0,_[o>>2]=_[t+4>>2],_[o+4>>2]=_[t+4+4>>2],_[o+8>>2]=_[t+4+8>>2],_[o+12>>2]=_[t+4+12>>2],_[o+16>>2]=_[t+20>>2],_[o+16+4>>2]=_[t+20+4>>2],_[o+16+8>>2]=_[t+20+8>>2],_[o+16+12>>2]=_[t+20+12>>2],_[o+32>>2]=_[t+36>>2],_[o+32+4>>2]=_[t+36+4>>2],_[o+32+8>>2]=_[t+36+8>>2],_[o+32+12>>2]=_[t+36+12>>2],_[o+48>>2]=_[t+52>>2],_[o+48+4>>2]=_[t+52+4>>2],_[o+48+8>>2]=_[t+52+8>>2],_[o+48+12>>2]=_[t+52+12>>2],i&&0|(h=0|_[t+480>>2])&&ed[127&_[8+(0|_[h>>2])>>2]](h,o),m=+p[e+156>>2],f=+p[o>>2],u=+p[e+160>>2],A=+p[o+4>>2],C=+p[e+164>>2],b=+p[o+8>>2],d=+p[o+16>>2],l=+p[o+20>>2],a=+p[o+24>>2],c=+p[o+32>>2],s=+p[o+36>>2],r=+p[o+40>>2],g=m*d+u*l+C*a+ +p[o+52>>2],y=m*c+u*s+C*r+ +p[o+56>>2],p[e+36>>2]=m*f+u*A+C*b+ +p[o+48>>2],p[e+40>>2]=g,p[e+44>>2]=y,p[e+48>>2]=0,y=+p[e+172>>2],g=+p[e+176>>2],C=+p[e+180>>2],p[e+52>>2]=f*y+A*g+b*C,p[e+56>>2]=y*d+g*l+C*a,p[e+60>>2]=y*c+g*s+C*r,p[e+64>>2]=0,C=+p[e+188>>2],g=+p[e+192>>2],y=+p[e+196>>2],p[e+68>>2]=f*C+A*g+b*y,p[e+72>>2]=d*C+l*g+a*y,p[e+76>>2]=c*C+s*g+r*y,p[e+80>>2]=0,Q=o}function Dt(t,e,i,n,o,r,s,c,a,l){e|=0,i|=0,n|=0,o|=0,r|=0,s|=0,c=+c,a|=0,l=+l;var d,b,A,f,u,m=0,h=0,y=0,g=0,C=0,v=0,S=0;_[(t|=0)>>2]=_[r>>2],_[t+4>>2]=_[r+4>>2],_[t+8>>2]=_[r+8>>2],_[t+12>>2]=_[r+12>>2],C=+p[n+4>>2],y=+p[t+8>>2],h=+p[n+8>>2],v=+p[t+4>>2],m=+p[t>>2],S=+p[n>>2],u=(C*y-h*v)*+p[e>>2]+ +p[e+4>>2]*(h*m-y*S)+(v*S-C*m)*+p[e+8>>2],f=(C*y-h*v)*+p[e+16>>2]+(h*m-y*S)*+p[e+20>>2]+(v*S-C*m)*+p[e+24>>2],C=(C*y-h*v)*+p[e+32>>2]+(h*m-y*S)*+p[e+36>>2]+(v*S-C*m)*+p[e+40>>2],p[t+16>>2]=u,p[t+20>>2]=f,p[t+24>>2]=C,p[t+28>>2]=0,S=+p[o+4>>2],h=+p[o+8>>2],g=+p[o>>2],A=+p[i>>2]*(S*-y-h*-v)+ +p[i+4>>2]*(h*-m-g*-y)+(g*-v-S*-m)*+p[i+8>>2],b=(S*-y-h*-v)*+p[i+16>>2]+(h*-m-g*-y)*+p[i+20>>2]+(g*-v-S*-m)*+p[i+24>>2],m=(S*-y-h*-v)*+p[i+32>>2]+(h*-m-g*-y)*+p[i+36>>2]+(g*-v-S*-m)*+p[i+40>>2],p[t+32>>2]=A,p[t+36>>2]=b,p[t+40>>2]=m,p[t+44>>2]=0,S=+p[s>>2]*u,v=+p[s+4>>2]*f,g=+p[s+8>>2]*C,p[t+48>>2]=S,p[t+52>>2]=v,p[t+56>>2]=g,p[t+60>>2]=0,y=+p[a>>2]*A,h=+p[a+4>>2]*b,d=+p[a+8>>2]*m,p[t+64>>2]=y,p[t+68>>2]=h,p[t+72>>2]=d,p[t+76>>2]=0,p[t+80>>2]=u*S+f*v+C*g+c+l+(A*y+b*h+m*d)}function It(t,e,i){t|=0,e|=0,i|=0;for(var n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0;;){for(l=0|_[t+12>>2],d=0|_[l+((e+i|0)/2<<2)>>2],n=e,o=i;;){if((0|(a=0|_[208+(0|_[d+28>>2])>>2]))>-1)for(;;){if(s=0|_[(p=l+(n<<2)|0)>>2],(0|(r=0|_[208+(0|_[s+28>>2])>>2]))<=-1&&(r=0|_[208+(0|_[s+32>>2])>>2]),!((0|r)<(0|a))){c=p;break}n=n+1|0}else for(p=0|_[208+(0|_[d+32>>2])>>2];s=0|_[(c=l+(n<<2)|0)>>2],(0|(r=0|_[208+(0|_[s+28>>2])>>2]))<=-1&&(r=0|_[208+(0|_[s+32>>2])>>2]),(0|r)<(0|p);)n=n+1|0;if((0|a)>-1)for(;p=0|_[(r=l+(o<<2)|0)>>2],(0|(s=0|_[208+(0|_[p+28>>2])>>2]))<=-1&&(s=0|_[208+(0|_[p+32>>2])>>2]),(0|a)<(0|s);)o=o+-1|0;else for(a=0|_[208+(0|_[d+32>>2])>>2];p=0|_[(r=l+(o<<2)|0)>>2],(0|(s=0|_[208+(0|_[p+28>>2])>>2]))<=-1&&(s=0|_[208+(0|_[p+32>>2])>>2]),(0|a)<(0|s);)o=o+-1|0;if((0|n)<=(0|o)&&(l=0|_[c>>2],_[c>>2]=_[r>>2],_[(0|_[t+12>>2])+(o<<2)>>2]=l,n=n+1|0,o=o+-1|0),(0|n)>(0|o))break;l=0|_[t+12>>2]}if((0|o)>(0|e)&&It(t,e,o),!((0|n)<(0|i)))break;e=n}}function Bt(t,e,i,n,o,_,r){e=+e,n=+n,o|=0,r|=0;var s,c,a,l,d,A,m,h=0,y=0;s=Q,Q=Q+16|0,y=(i=+i)*(_=+_)+ +p[52+(t|=0)>>2],h=n*_+ +p[t+56>>2],p[r+48>>2]=e*_+ +p[t+48>>2],p[r+52>>2]=y,p[r+56>>2]=h,p[r+60>>2]=0,h=+p[o>>2],y=+p[o+4>>2],a=(n=+p[o+8>>2])*(i=(e=(e=+b(+(h*h+y*y+n*n)))*_>.7853981852531433?.7853981852531433/_:e)<.0010000000474974513?.5*_-e*(_*_*_*.02083333395421505*e):+u(.5*e*_)/e),l=y*i,d=h*i,m=+f(+e*_*.5),Qt(t,s),e=+p[s>>2],A=+p[s+12>>2],h=+p[s+8>>2],y=(a*e+(l*A+m*(_=+p[s+4>>2]))-d*h)*(i=1/+b(+((m*A-d*e-l*_-a*h)*(m*A-d*e-l*_-a*h)+((a*A+m*h+d*_-l*e)*(a*A+m*h+d*_-l*e)+((m*e+d*A+l*h-a*_)*(m*e+d*A+l*h-a*_)+(a*e+(l*A+m*_)-d*h)*(a*e+(l*A+m*_)-d*h)))))),c=(a*A+m*h+d*_-l*e)*i,h=(n=(m*e+d*A+l*h-a*_)*i)*(2/((i*=m*A-d*e-l*_-a*h)*i+(c*c+(n*n+y*y)))),_=y*(2/(i*i+(c*c+(n*n+y*y)))),e=c*(2/(i*i+(c*c+(n*n+y*y)))),p[r>>2]=1-(y*_+c*e),p[r+4>>2]=n*_-i*e,p[r+8>>2]=n*e+i*_,p[r+12>>2]=0,p[r+16>>2]=n*_+i*e,p[r+20>>2]=1-(n*h+c*e),p[r+24>>2]=y*e-i*h,p[r+28>>2]=0,p[r+32>>2]=n*e-i*_,p[r+36>>2]=y*e+i*h,p[r+40>>2]=1-(n*h+y*_),p[r+44>>2]=0,Q=s}function Wt(t,e){var i,n;e|=0,i=Q,Q=Q+48|0,n=4+(0|_[48+(t|=0)>>2])|0,_[n>>2]=_[e>>2],_[n+4>>2]=_[e+4>>2],_[n+8>>2]=_[e+8>>2],_[n+12>>2]=_[e+12>>2],_[(e=i+32+4|0)>>2]=0,_[e+4>>2]=0,_[e+8>>2]=0,p[i+32>>2]=1,_d[127&_[68+(0|_[t>>2])>>2]](i+16|0,t,i+32|0),p[t+32>>2]=+p[i+16>>2]+ +p[t+12>>2],p[i+32>>2]=-1,_d[127&_[68+(0|_[t>>2])>>2]](i,t,i+32|0),_[i+16>>2]=_[i>>2],_[i+16+4>>2]=_[i+4>>2],_[i+16+8>>2]=_[i+8>>2],_[i+16+12>>2]=_[i+12>>2],p[t+16>>2]=+p[i+16>>2]-+p[t+12>>2],_[i+32>>2]=0,_[i+32+4>>2]=0,_[i+32+8>>2]=0,_[i+32+12>>2]=0,p[e>>2]=1,_d[127&_[68+(0|_[t>>2])>>2]](i+16|0,t,i+32|0),p[t+36>>2]=+p[i+16+4>>2]+ +p[t+12>>2],p[e>>2]=-1,_d[127&_[68+(0|_[t>>2])>>2]](i,t,i+32|0),_[i+16>>2]=_[i>>2],_[i+16+4>>2]=_[i+4>>2],_[i+16+8>>2]=_[i+8>>2],_[i+16+12>>2]=_[i+12>>2],p[t+20>>2]=+p[i+16+4>>2]-+p[t+12>>2],_[i+32>>2]=0,_[i+32+4>>2]=0,_[i+32+8>>2]=0,_[i+32+12>>2]=0,p[i+32+8>>2]=1,_d[127&_[68+(0|_[t>>2])>>2]](i+16|0,t,i+32|0),p[t+40>>2]=+p[i+16+8>>2]+ +p[t+12>>2],p[i+32+8>>2]=-1,_d[127&_[68+(0|_[t>>2])>>2]](i,t,i+32|0),_[i+16>>2]=_[i>>2],_[i+16+4>>2]=_[i+4>>2],_[i+16+8>>2]=_[i+8>>2],_[i+16+12>>2]=_[i+12>>2],p[t+24>>2]=+p[i+16+8>>2]-+p[t+12>>2],Q=i}function Ft(t,e,i){e|=0,i|=0;var n,o,r,s,p=0,c=0,a=0,l=0,d=0,b=0;for(s=Q,Q=Q+16|0,b=0|_[12+(t|=0)>>2],n=0|_[b+((i+e|0)/2<<4)>>2],o=0|_[b+((i+e|0)/2<<4)+4>>2],r=0|_[b+((i+e|0)/2<<4)+8>>2],c=i,p=e;;){for(;;){if(d=b+(p<<4)|0,(0|(a=0|_[b+(p<<4)+4>>2]))>=(0|o)){if((0|a)!=(0|o))break;if((0|(a=0|_[d>>2]))>=(0|n)){if((0|a)!=(0|n))break;if((0|_[b+(p<<4)+8>>2])>=(0|r))break}}p=p+1|0}for(;;){if(l=b+(c<<4)|0,(0|o)>=(0|(a=0|_[b+(c<<4)+4>>2]))){if((0|o)!=(0|a))break;if((0|n)>=(0|(a=0|_[l>>2]))){if((0|n)!=(0|a))break;if((0|r)>=(0|_[b+(c<<4)+8>>2]))break}}c=c+-1|0}if((0|p)<=(0|c)&&(_[s>>2]=_[d>>2],_[s+4>>2]=_[d+4>>2],_[s+8>>2]=_[d+8>>2],_[s+12>>2]=_[d+12>>2],_[d>>2]=_[l>>2],_[d+4>>2]=_[l+4>>2],_[d+8>>2]=_[l+8>>2],_[d+12>>2]=_[l+12>>2],b=(0|_[t+12>>2])+(c<<4)|0,_[b>>2]=_[s>>2],_[b+4>>2]=_[s+4>>2],_[b+8>>2]=_[s+8>>2],_[b+12>>2]=_[s+12>>2],c=c+-1|0,p=p+1|0),(0|p)>(0|c))break;b=0|_[t+12>>2]}(0|c)>(0|e)&&Ft(t,e,c),(0|p)>=(0|i)||Ft(t,p,i),Q=s}function xt(t){var e,i=0,n=0,o=0,r=0,s=0,c=0;e=0|_[28+(t|=0)>>2],o=0,r=0,s=0,c=0;t:for(;;){switch(2147483647&c){case 0:o=+p[t+80>>2]+ +p[t+64>>2],r=+p[t+84>>2]+ +p[t+68>>2],s=+p[t+88>>2]+ +p[t+72>>2];break;case 1:o=+p[t+80>>2]+ +p[t+64>>2],r=+p[t+84>>2]+ +p[t+68>>2],s=+p[t+72>>2]-+p[t+88>>2];break;case 2:o=+p[t+80>>2]+ +p[t+64>>2],r=+p[t+68>>2]-+p[t+84>>2],s=+p[t+88>>2]+ +p[t+72>>2];break;case 3:o=+p[t+80>>2]+ +p[t+64>>2],r=+p[t+68>>2]-+p[t+84>>2],s=+p[t+72>>2]-+p[t+88>>2];break;case 4:o=+p[t+64>>2]-+p[t+80>>2],r=+p[t+84>>2]+ +p[t+68>>2],s=+p[t+88>>2]+ +p[t+72>>2];break;case 5:o=+p[t+64>>2]-+p[t+80>>2],r=+p[t+84>>2]+ +p[t+68>>2],s=+p[t+72>>2]-+p[t+88>>2];break;case 6:o=+p[t+64>>2]-+p[t+80>>2],r=+p[t+68>>2]-+p[t+84>>2],s=+p[t+88>>2]+ +p[t+72>>2];break;case 7:o=+p[t+64>>2]-+p[t+80>>2],r=+p[t+68>>2]-+p[t+84>>2],s=+p[t+72>>2]-+p[t+88>>2]}if((0|e)>0){n=0|_[t+36>>2],i=0;do{if(+p[n+(36*i|0)+32>>2]+(o*+p[n+(36*i|0)+20>>2]+r*+p[n+(36*i|0)+24>>2]+s*+p[n+(36*i|0)+28>>2])>0){i=0,n=16;break t}i=i+1|0}while((0|i)<(0|e))}if((c=c+1|0)>>>0>=8){i=1,n=16;break}}return 16==(0|n)?0|i:0}function Ot(t,e,i,n,o,r,s){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0;var c,l,d=0,b=0,A=0,f=0,u=0,m=0,h=0;if(l=Q,Q=Q+16|0,p[(n|=0)>>2]=34028234663852886e22,p[o>>2]=-34028234663852886e22,(0|(c=0|_[t+8>>2]))>0){A=0;do{h=0|_[t+16>>2],m=+p[h+(A<<4)>>2],u=+p[h+(A<<4)+4>>2],f=+p[h+(A<<4)+8>>2],d=m*+p[e>>2]+u*+p[e+4>>2]+f*+p[e+8>>2]+ +p[e+48>>2],b=m*+p[e+16>>2]+u*+p[e+20>>2]+f*+p[e+24>>2]+ +p[e+52>>2],f=m*+p[e+32>>2]+u*+p[e+36>>2]+f*+p[e+40>>2]+ +p[e+56>>2],(u=d*+p[i>>2]+b*+p[i+4>>2]+f*+p[i+8>>2])<+p[n>>2]&&(p[n>>2]=u,p[r>>2]=d,p[r+4>>2]=b,p[r+8>>2]=f,p[r+12>>2]=0),u>+p[o>>2]&&(p[o>>2]=u,p[s>>2]=d,p[s+4>>2]=b,p[s+8>>2]=f,p[s+12>>2]=0),A=A+1|0}while((0|A)!=(0|c));b=m=+p[o>>2],p[a>>2]=m,A=0|_[a>>2]}else b=-34028234663852886e22,A=-8388609;(d=+p[n>>2])>b?(_[n>>2]=A,p[o>>2]=d,_[l>>2]=_[r>>2],_[l+4>>2]=_[r+4>>2],_[l+8>>2]=_[r+8>>2],_[l+12>>2]=_[r+12>>2],_[r>>2]=_[s>>2],_[r+4>>2]=_[s+4>>2],_[r+8>>2]=_[s+8>>2],_[r+12>>2]=_[s+12>>2],_[s>>2]=_[l>>2],_[s+4>>2]=_[l+4>>2],_[s+8>>2]=_[l+8>>2],_[s+12>>2]=_[l+12>>2],Q=l):Q=l}function Tt(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0;if((0|_[(t|=0)>>2])==(0|e))return _[t>>2]=0,0|(t=0);if(n=0|_[e+32>>2],i=0|_[n+32>>2],e=0|_[n+36+(((0|_[n+40>>2])!=(0|e)&1)<<2)>>2],!i)return _[t>>2]=e,_[e+32>>2]=0,(i=0|_[t+4>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),i=0|_[t>>2]):i=e,_[t+4>>2]=n,0|(t=i);_[i+36+(((0|_[i+40>>2])==(0|n)&1)<<2)>>2]=e,_[e+32>>2]=i,0|(e=0|_[t+4>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+4>>2]=n;do{if(u=+p[i>>2],A=+p[(S=i+4|0)>>2],d=+p[(C=i+8|0)>>2],h=+p[(w=i+16|0)>>2],a=+p[(v=i+20|0)>>2],s=+p[(n=i+24|0)>>2],g=0|_[i+36>>2],e=0|_[i+40>>2],f=(y=+p[g>>2])<(f=+p[e>>2])?y:f,p[i>>2]=f,m=(y=+p[g+16>>2])>(m=+p[e+16>>2])?y:m,p[w>>2]=m,b=(y=+p[g+4>>2])<(b=+p[e+4>>2])?y:b,p[S>>2]=b,c=(y=+p[g+20>>2])>(c=+p[e+20>>2])?y:c,p[v>>2]=c,l=(y=+p[g+8>>2])<(l=+p[e+8>>2])?y:l,p[C>>2]=l,r=(y=+p[g+24>>2])>(r=+p[e+24>>2])?y:r,p[n>>2]=r,!(h!=m|u!=f|A!=b|d!=l||a!=c|s!=r)){o=14;break}i=0|_[i+32>>2]}while(0|i);return 14==(0|o)?0|i:0|(w=0|_[t>>2])}function Pt(t,e,i){e|=0,i|=0;var o,r,s,p,c=0,a=0,l=0;if(p=Q,Q=Q+32|0,s=(l=!!(0|n[28+(t|=0)|0]))?i:e,l=l?e:i,o=0|_[s+4>>2],r=0|_[o+16>>2],(0|(a=0|_[t+12>>2]))<(0|r)){if((0|_[t+16>>2])<(0|r)){if(r?(_[6630]=1+(0|_[6630]),(e=0|di(16+(r<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,c=0|_[t+12>>2]):(e=0,c=a),(0|c)>0){i=0;do{_[e+(i<<2)>>2]=_[(0|_[t+20>>2])+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|c))}0|(i=0|_[t+20>>2])&&(0|n[t+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+20>>2]=0),n[t+24|0]=1,_[t+20>>2]=e,_[t+16>>2]=r,i=t+20|0}else i=t+20|0;e=a;do{_[(0|_[i>>2])+(e<<2)>>2]=0,e=e+1|0}while((0|e)!=(0|r))}if(_[t+12>>2]=r,(0|r)<=0)Q=p;else{e=0;do{0|_[o+64>>2]?_[(0|_[t+20>>2])+(e<<2)>>2]=0:(i=0|_[(0|_[o+24>>2])+(80*e|0)+64>>2],c=0|_[s+8>>2],a=0|_[s+12>>2],_[p>>2]=s,_[p+4>>2]=i,_[p+8>>2]=c,_[p+12>>2]=a,_[p+16>>2]=-1,_[p+20>>2]=e,a=0|_[t+4>>2],a=0|Hl[31&_[8+(0|_[a>>2])>>2]](a,p,l,0|_[t+32>>2]),_[(0|_[t+20>>2])+(e<<2)>>2]=a),e=e+1|0}while((0|e)!=(0|r));Q=p}}function Mt(t){var e,i,o=0,r=0,s=0,p=0,c=0;if(s=(r=0|_[32+(t|=0)>>2])?0|_[t+40>>2]:0,p=(e=0|_[t+52>>2])?0|_[t+60>>2]:0,c=(o=0|_[t+72>>2])?0|_[t+80>>2]:0,i=0|_[t+8>>2],Vl[3&_[12+(0|_[i>>2])>>2]](i,s,r,p,e,c,o,0|_[t+4>>2],0|_[t+20>>2],0|_[t+24>>2]),(0|(o=0|_[t+32>>2]))<0){(0|_[t+36>>2])<0&&(0|(r=0|_[t+40>>2])&&(0|n[t+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+40>>2]=0),n[t+44|0]=1,_[t+40>>2]=0,_[t+36>>2]=0);do{_[(0|_[t+40>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[t+32>>2]=0,(0|(o=0|_[t+52>>2]))<0){(0|_[t+56>>2])<0&&(0|(r=0|_[t+60>>2])&&(0|n[t+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+60>>2]=0),n[t+64|0]=1,_[t+60>>2]=0,_[t+56>>2]=0);do{_[(0|_[t+60>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[t+52>>2]=0,(0|(o=0|_[t+72>>2]))>=0)_[t+72>>2]=0;else{(0|_[t+76>>2])<0&&(0|(r=0|_[t+80>>2])&&(0|n[t+84|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+80>>2]=0),n[t+84|0]=1,_[t+80>>2]=0,_[t+76>>2]=0);do{_[(0|_[t+80>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o);_[t+72>>2]=0}}function Vt(t){t|=0;var e,i=0,o=0,r=0,s=0,p=0;if(_[6630]=1+(0|_[6630]),(i=0|di(39))?(_[(i+4+15&-16)-4>>2]=i,s=i+4+15&-16):s=0,e=s,_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[s+16>>2]=0,(0|_[t+872>>2])>0?(p=0|_[_[t+880>>2]>>2],_[s>>2]=_[p>>2],_[s+4>>2]=_[p+4>>2],_[s+8>>2]=_[p+8>>2],_[s+12>>2]=_[p+12>>2],_[s+16>>2]=_[p+16>>2]):(_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[s+16>>2]=0),(0|(o=0|_[t+872>>2]))!=(0|_[t+876>>2]))return p=o,r=0|_[(r=t+880|0)>>2],_[(r=r+(p<<2)|0)>>2]=e,p=p+1|0,_[t+872>>2]=p,0|s;if((0|o)>=(0|(p=0|o?o<<1:1)))return p=o,r=0|_[(r=t+880|0)>>2],_[(r=r+(p<<2)|0)>>2]=e,p=p+1|0,_[t+872>>2]=p,0|s;if(p?(_[6630]=1+(0|_[6630]),(i=0|di(16+(p<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,o=0|_[t+872>>2]):i=0,(0|o)>0){r=0;do{_[i+(r<<2)>>2]=_[(0|_[t+880>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|o))}return(r=0|_[t+880>>2])&&(0|n[t+884|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),o=0|_[t+872>>2]),_[t+880>>2]=0),n[t+884|0]=1,_[t+880>>2]=i,_[t+876>>2]=p,p=o,r=0|_[(r=t+880|0)>>2],_[(r=r+(p<<2)|0)>>2]=e,p=p+1|0,_[t+872>>2]=p,0|s}function Gt(t,e){e|=0;var i,o,r,s,p,c,a=0,l=0,d=0,b=0,A=0,f=0;if((0|(a=0|_[4+(t|=0)>>2]))==(0|_[t+8>>2])&&(Zn(t,0|a?a<<1:1),a=0|_[t+4>>2]),c=0|_[t+12>>2],n[0|(o=c+(36*a|0)+16|0)]=1,_[(r=c+(36*a|0)+12|0)>>2]=0,_[(s=c+(36*a|0)+4|0)>>2]=0,_[(p=c+(36*a|0)+8|0)>>2]=0,(0|(f=0|_[e+4>>2]))<=0)return _[s>>2]=f,e=e+20|0,_[(f=c+(36*a|0)+20|0)>>2]=_[e>>2],_[f+4>>2]=_[e+4>>2],_[f+8>>2]=_[e+8>>2],_[f+12>>2]=_[e+12>>2],e=1+(e=0|_[t+4>>2])|0,void(_[t+4>>2]=e);if(_[6630]=1+(0|_[6630]),(l=0|di(16+(f<<2|3)|0))?(_[(l+4+15&-16)-4>>2]=l,d=l+4+15&-16):d=0,b=0|_[s>>2],i=0|_[r>>2],(0|b)<=0)0|i&&(A=10);else{l=0;do{_[d+(l<<2)>>2]=_[i+(l<<2)>>2],l=l+1|0}while((0|l)!=(0|b));A=10}10==(0|A)&&0|n[0|o]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),n[0|o]=1,_[r>>2]=d,_[p>>2]=f,wn(0|d,0,f<<2),_[s>>2]=f,d=0|_[r>>2],b=0|_[e+12>>2],l=0;do{_[d+(l<<2)>>2]=_[b+(l<<2)>>2],l=l+1|0}while((0|l)!=(0|f));e=e+20|0,_[(f=c+(36*a|0)+20|0)>>2]=_[e>>2],_[f+4>>2]=_[e+4>>2],_[f+8>>2]=_[e+8>>2],_[f+12>>2]=_[e+12>>2],e=1+(e=0|_[t+4>>2])|0,_[t+4>>2]=e}function Nt(t,e,i,n,o,r){e|=0,i|=0,n|=0,o|=0,r|=0;var s,c=0,l=0,d=0,A=0,f=0,u=0,m=0;pd[127&_[8+(0|_[(t|=0)>>2])>>2]](t,e,o,r),f=0|_[r>>2],l=0|_[r+4>>2],e=0|_[r+8>>2],d=0|_[o>>2],s=0|_[o+4>>2],c=0|_[o+8>>2],A=+p[i>>2],u=+p[i+4>>2],m=+p[i+8>>2],A>0?(p[a>>2]=A+(_[a>>2]=f,+p[a>>2]),f=0|_[a>>2]):(p[a>>2]=A+(_[a>>2]=d,+p[a>>2]),d=0|_[a>>2]),u>0?(i=s,p[a>>2]=u+(_[a>>2]=l,+p[a>>2]),l=0|_[a>>2]):(p[a>>2]=u+(_[a>>2]=s,+p[a>>2]),i=0|_[a>>2]),m>0?(p[a>>2]=m+(_[a>>2]=e,+p[a>>2]),e=0|_[a>>2]):(p[a>>2]=m+(_[a>>2]=c,+p[a>>2]),c=0|_[a>>2]),A=+p[n>>2],u=+p[n+4>>2],m=+p[n+8>>2],m=+b(+(A*A+u*u+m*m)),m*=+Il[15&_[16+(0|_[t>>2])>>2]](t),_[o>>2]=d,_[o+4>>2]=i,_[o+8>>2]=c,p[o+12>>2]=0,_[r>>2]=f,_[r+4>>2]=l,_[r+8>>2]=e,p[r+12>>2]=0,p[o>>2]=+p[o>>2]-m,p[o+4>>2]=+p[o+4>>2]-m,p[o+8>>2]=+p[o+8>>2]-m,p[r>>2]=m+ +p[r>>2],p[r+4>>2]=m+ +p[r+4>>2],p[r+8>>2]=m+ +p[r+8>>2]}function Lt(t,e,i,n,o){t|=0,e|=0,n|=0,o=+o;var r,s,c,a,l,d=0,b=0,A=0,f=0,u=0;if(u=+p[(i|=0)>>2],+p[e>>2]<=u){if(A=+p[i+4>>2],+p[e+4>>2]<=A&&+p[e+8>>2]<=+p[i+8>>2]&&+p[e+16>>2]>=+p[i+16>>2]&&+p[e+20>>2]>=+p[i+20>>2]&&+p[e+24>>2]>=+p[i+24>>2])return 0|(i=0);d=i+4|0}else d=i+4|0,A=+p[i+4>>2];p[i>>2]=u-o,s=A-o,p[d>>2]=s,A=+p[i+8>>2]-o,p[i+8>>2]=A,l=+p[i+16>>2]+o,p[i+16>>2]=l,c=+p[i+20>>2]+o,p[i+20>>2]=c,r=+p[i+24>>2]+o,p[i+24>>2]=r,a=+p[n>>2],p[(a>0?i+16:i)>>2]=(a>0?l:u-o)+a,u=+p[n+4>>2],p[(u>0?i+20:d)>>2]=(u>0?c:s)+u,u=+p[n+8>>2],p[(u>0?i+24:i+8)>>2]=(u>0?r:A)+u,d=0|Tt(t,e);t:do{if(d){if((0|(f=0|_[t+8>>2]))<=-1){d=0|_[t>>2];break}if(f)for(n=0;;){if(n=n+1|0,!(b=0|_[d+32>>2]))break t;if((0|n)>=(0|f)){d=b;break}d=b}}else d=0}while(0);return _[e>>2]=_[i>>2],_[e+4>>2]=_[i+4>>2],_[e+8>>2]=_[i+8>>2],_[e+12>>2]=_[i+12>>2],_[e+16>>2]=_[i+16>>2],_[e+20>>2]=_[i+20>>2],_[e+24>>2]=_[i+24>>2],_[e+28>>2]=_[i+28>>2],U(t,d,e),0|(i=1)}function Qt(t,e){e|=0;var i,n,o=0,_=0,r=0,s=0,c=0,a=0;return n=Q,Q=Q+16|0,r=0|Cl(t|=0),o=+p[r>>2],r=0|sl(t+16|0),_=+p[r>>2],r=0|rl(t+32|0),o+_+(i=+p[r>>2])>0?(_=+ll(o+_+i+1),p[n+12>>2]=.5*_,s=0|sl(t+32|0),o=+p[s>>2],s=0|rl(t+16|0),p[n>>2]=(o-+p[s>>2])*(.5/_),s=0|rl(t),o=+p[s>>2],s=0|Cl(t+32|0),p[n+4>>2]=(o-+p[s>>2])*(.5/_),s=0|Cl(t+16|0),o=+p[s>>2],s=0|sl(t),p[n+8>>2]=(o-+p[s>>2])*(.5/_),n_(e,c=n,s=n+4|0,t=n+8|0,r=n+12|0),void(Q=n)):(s=0|Cl(t+((r=o<_?_>2],a=0|Cl(t+(((r+1|0)>>>0)%3<<4)|0),_-=+p[a+(((r+1|0)>>>0)%3<<2)>>2],c=0|Cl(t+(((r+2|0)>>>0)%3<<4)|0),_=+ll(_-+p[c+(((r+2|0)>>>0)%3<<2)>>2]+1),p[n+(r<<2)>>2]=.5*_,p[n+12>>2]=(+p[c+(((r+1|0)>>>0)%3<<2)>>2]-+p[a+(((r+2|0)>>>0)%3<<2)>>2])*(.5/_),p[n+(((r+1|0)>>>0)%3<<2)>>2]=(+p[a+(r<<2)>>2]+ +p[s+(((r+1|0)>>>0)%3<<2)>>2])*(.5/_),p[n+(((r+2|0)>>>0)%3<<2)>>2]=(+p[c+(r<<2)>>2]+ +p[s+(((r+2|0)>>>0)%3<<2)>>2])*(.5/_),n_(e,t=n,r=n+4|0,s=n+8|0,c=n+12|0),void(Q=n))}function Et(t,e,i,o,s,c){var a;return t|=0,e|=0,i|=0,s|=0,c|=0,(0|r[55+(o|=0)|0])==(0|e)?0|(o=0):(a=0|_[5872+(s<<2)>>2],+p[o>>2]*+p[i+16>>2]+ +p[o+4>>2]*+p[i+20>>2]+ +p[o+8>>2]*+p[i+24>>2]-+p[o+16>>2]<-9999999747378752e-21?(e=0|_i(t,0|_[o+20+(a<<2)>>2],0|_[o+20+(s<<2)>>2],i,0))?(n[e+52|0]=s,_[e+32>>2]=o,n[o+52+s|0]=0,_[o+32+(s<<2)>>2]=e,(s=0|_[c>>2])?(n[s+53|0]=2,_[s+36>>2]=e,n[e+54|0]=1,_[e+40>>2]=s):_[c+4>>2]=e,_[c>>2]=e,_[c+8>>2]=1+(0|_[c+8>>2]),0|(o=1)):0|(o=0):(s=0|_[5884+(s<<2)>>2],n[o+55|0]=e,0|Et(t,e,i,0|_[o+32+(a<<2)>>2],0|r[o+52+a|0],c)&&0|Et(t,e,i,0|_[o+32+(s<<2)>>2],0|r[o+52+s|0],c)?(0|(s=0|_[o+48>>2])&&(_[s+44>>2]=_[o+44>>2]),0|(s=0|_[o+44>>2])&&(_[s+48>>2]=_[o+48>>2]),(0|_[t+9280>>2])==(0|o)&&(_[t+9280>>2]=_[o+48>>2]),_[t+9284>>2]=(0|_[t+9284>>2])-1,_[o+44>>2]=0,_[o+48>>2]=_[t+9288>>2],0|(s=0|_[t+9288>>2])&&(_[s+44>>2]=o),_[t+9288>>2]=o,_[t+9292>>2]=1+(0|_[t+9292>>2]),0|(o=1)):0|(o=0)))}function Ht(t,e,i,n){i|=0,n|=0;var r,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;if(c=0|_[68+(t|=0)+((e|=0)<<2)>>2],a=0|o[c+((65535&i)<<2)+-4>>1],!((0|s[c+((65535&i)<<2)>>1])>=(65535&a)))for(r=(l=0|_[t+60>>2])+(s[c+((65535&i)<<2)+2>>1]<<6)+54+(e<<1)|0,p=c+((65535&i)<<2)+-4|0,d=c+((65535&i)<<2)|0;c=0|s[d+-2>>1],1&a?i=l+(c<<6)+54+(e<<1)|0:(i=0|s[d+2>>1],(0|s[l+(i<<6)+54+((1<>1])>=(0|s[l+(c<<6)+48+((1<>1])&&(0|s[l+(c<<6)+54+((1<>1])>=(0|s[l+(i<<6)+48+((1<>1])&&(0|s[l+(i<<6)+54+((1<<(1<>1])>=(0|s[l+(c<<6)+48+((1<<(1<>1])&&(0|s[l+(c<<6)+54+((1<<(1<>1])>=(0|s[l+(i<<6)+48+((1<<(1<>1])&&(f=0|_[t+92>>2],b=l+(i<<6)|0,A=l+(c<<6)|0,Hl[31&_[12+(0|_[f>>2])>>2]](f,b,A,n),0|(f=0|_[t+96>>2]))&&Hl[31&_[12+(0|_[f>>2])>>2]](f,b,A,n),i=l+(c<<6)+48+(e<<1)|0),o[i>>1]=1+(0|o[i>>1])<<16>>16,o[r>>1]=(0|o[r>>1])-1<<16>>16,i=s[d>>1]|s[d+2>>1]<<16,a=s[p>>1]|s[p+2>>1]<<16,o[d>>1]=a,o[d+2>>1]=a>>>16,o[p>>1]=i,o[p+2>>1]=i>>>16,i=d+-4|0,a=0|o[(p=p+-4|0)>>1],!((0|s[i>>1])>=(65535&a));)d=i,l=0|_[t+60>>2]}function Zt(t,e,i){i|=0;var n,r,p=0,c=0,a=0,l=0,d=0,b=0,A=0;if(p=0|_[68+(t|=0)+((e|=0)<<2)>>2],n=0|_[t+60>>2],r=0|s[p+((65535&i)<<2)+2>>1],(c=0|o[p+((65535&i)<<2)+6>>1])<<16>>16)for(d=p+((65535&i)<<2)|0;;){if(l=d,p=0|o[(d=d+4|0)>>1],(0|s[l>>1])<(65535&p)){i=14;break}if(a=0|_[t+60>>2],i=65535&c,1&p?i=a+(i<<6)+54+(e<<1)|0:((0|s[n+(r<<6)+54+((1<>1])>=(0|s[a+(i<<6)+48+((1<>1])&&(0|s[a+(i<<6)+54+((1<>1])>=(0|s[n+(r<<6)+48+((1<>1])&&(0|s[n+(r<<6)+54+((1<<(1<>1])>=(0|s[a+(i<<6)+48+((1<<(1<>1])&&(0|s[a+(i<<6)+54+((1<<(1<>1])>=(0|s[n+(r<<6)+48+((1<<(1<>1])&&(A=0|_[t+92>>2],b=a+(s[l+2>>1]<<6)|0,El[63&_[8+(0|_[A>>2])>>2]](A,b,a+(i<<6)|0),0|(A=0|_[t+96>>2]))&&El[63&_[8+(0|_[A>>2])>>2]](A,b,a+(i<<6)|0),i=a+(i<<6)+48+(e<<1)|0),o[i>>1]=(0|o[i>>1])-1<<16>>16,o[n+(r<<6)+54+(e<<1)>>1]=1+(0|o[n+(r<<6)+54+(e<<1)>>1])<<16>>16,c=s[l>>1]|s[l+2>>1]<<16,a=s[d>>1]|s[d+2>>1]<<16,o[l>>1]=a,o[l+2>>1]=a>>>16,o[d>>1]=c,o[d+2>>1]=c>>>16,!((c=0|o[l+10>>1])<<16>>16)){i=14;break}}}function Ut(t,e,i,n){i|=0,n|=0;var r,p=0,c=0,a=0,l=0,d=0,b=0;if(p=0|_[68+(t|=0)+((e|=0)<<2)>>2],(c=0|o[p+((65535&i)<<2)+6>>1])<<16>>16)for(r=(0|_[t+60>>2])+(s[p+((65535&i)<<2)+2>>1]<<6)+48+(e<<1)|0,d=p+((65535&i)<<2)|0;;){if(l=d,i=0|o[(d=d+4|0)>>1],(0|s[l>>1])<(65535&i)){i=14;break}if(a=0|_[t+60>>2],p=65535&c,1&i?(i=0|s[l+2>>1],(0|s[a+(i<<6)+54+((1<>1])>=(0|s[a+(p<<6)+48+((1<>1])&&(0|s[a+(p<<6)+54+((1<>1])>=(0|s[a+(i<<6)+48+((1<>1])&&(0|s[a+(i<<6)+54+((1<<(1<>1])>=(0|s[a+(p<<6)+48+((1<<(1<>1])&&(0|s[a+(p<<6)+54+((1<<(1<>1])>=(0|s[a+(i<<6)+48+((1<<(1<>1])&&(b=0|_[t+92>>2],Hl[31&_[12+(0|_[b>>2])>>2]](b,a+(i<<6)|0,a+(p<<6)|0,n),0|(b=0|_[t+96>>2]))&&Hl[31&_[12+(0|_[b>>2])>>2]](b,a+(i<<6)|0,a+(p<<6)|0,n),i=a+(p<<6)+54+(e<<1)|0):i=a+(p<<6)+48+(e<<1)|0,o[i>>1]=(0|o[i>>1])-1<<16>>16,o[r>>1]=1+(0|o[r>>1])<<16>>16,c=s[l>>1]|s[l+2>>1]<<16,a=s[d>>1]|s[d+2>>1]<<16,o[l>>1]=a,o[l+2>>1]=a>>>16,o[d>>1]=c,o[d+2>>1]=c>>>16,!((c=0|o[l+10>>1])<<16>>16)){i=14;break}}}function Yt(t,e,i){i|=0;var n,r,p=0,c=0,a=0,l=0,d=0,b=0;if(c=0|_[68+(t|=0)+((e|=0)<<2)>>2],n=0|_[t+60>>2],r=0|s[c+((65535&i)<<2)+2>>1],a=0|o[c+((65535&i)<<2)+-4>>1],!((0|s[c+((65535&i)<<2)>>1])>=(65535&a)))for(p=c+((65535&i)<<2)+-4|0,l=c+((65535&i)<<2)|0,c=n;i=0|s[l+-2>>1],1&a?((0|s[n+(r<<6)+54+((1<>1])>=(0|s[c+(i<<6)+48+((1<>1])&&(0|s[c+(i<<6)+54+((1<>1])>=(0|s[n+(r<<6)+48+((1<>1])&&(0|s[n+(r<<6)+54+((1<<(1<>1])>=(0|s[c+(i<<6)+48+((1<<(1<>1])&&(0|s[c+(i<<6)+54+((1<<(1<>1])>=(0|s[n+(r<<6)+48+((1<<(1<>1])&&(b=0|_[t+92>>2],d=c+(i<<6)|0,El[63&_[8+(0|_[b>>2])>>2]](b,n+(r<<6)|0,d),0|(b=0|_[t+96>>2]))&&El[63&_[8+(0|_[b>>2])>>2]](b,n+(r<<6)|0,d),i=c+(i<<6)+54+(e<<1)|0):i=c+(i<<6)+48+(e<<1)|0,o[i>>1]=1+(0|o[i>>1])<<16>>16,o[n+(r<<6)+48+(e<<1)>>1]=(0|o[n+(r<<6)+48+(e<<1)>>1])-1<<16>>16,i=s[l>>1]|s[l+2>>1]<<16,a=s[p>>1]|s[p+2>>1]<<16,o[l>>1]=a,o[l+2>>1]=a>>>16,o[p>>1]=i,o[p+2>>1]=i>>>16,i=l+-4|0,a=0|o[(p=p+-4|0)>>1],!((0|s[i>>1])>=(65535&a));)l=i,c=0|_[t+60>>2]}function Jt(t,e,i,n,o,r,s,c,a,l){var d;t|=0,e|=0,i|=0,n|=0,o=+o,r=+r,s=+s,c=+c,a=+a,l=+l,d=Q,Q=Q+128|0,_[d+80>>2]=_[t+4>>2],_[d+80+4>>2]=_[t+20>>2],_[d+80+8>>2]=_[t+36>>2],p[d+80+12>>2]=0,_[d+80+16>>2]=_[t+8>>2],_[d+80+20>>2]=_[t+24>>2],_[d+80+24>>2]=_[t+40>>2],p[d+80+28>>2]=0,_[d+80+32>>2]=_[t+12>>2],_[d+80+36>>2]=_[t+28>>2],_[d+80+40>>2]=_[t+44>>2],p[d+80+44>>2]=0,_[d+32>>2]=_[e+4>>2],_[d+32+4>>2]=_[e+20>>2],_[d+32+8>>2]=_[e+36>>2],p[d+32+12>>2]=0,_[d+32+16>>2]=_[e+8>>2],_[d+32+20>>2]=_[e+24>>2],_[d+32+24>>2]=_[e+40>>2],p[d+32+28>>2]=0,_[d+32+32>>2]=_[e+12>>2],_[d+32+36>>2]=_[e+28>>2],_[d+32+40>>2]=_[e+44>>2],p[d+32+44>>2]=0,r-=+p[t+56>>2],s-=+p[t+60>>2],p[d+16>>2]=o-+p[t+52>>2],p[d+16+4>>2]=r,p[d+16+8>>2]=s,p[d+16+12>>2]=0,s=a-+p[e+56>>2],l-=+p[e+60>>2],p[d>>2]=c-+p[e+52>>2],p[d+4>>2]=s,p[d+8>>2]=l,p[d+12>>2]=0,Dt(i,d+80|0,d+32|0,d+16|0,d,n,t+396|0,+p[t+344>>2],e+396|0,+p[e+344>>2]),Q=d}function Xt(t,e,i,n,o){t|=0,o|=0;var r,s=0,c=0,a=0,l=0,d=0;r=Q,Q=Q+48|0,l=1/+b(+((e=+e)*e+(i=+i)*i+(n=+n)*n)),p[o>>2]=l*e,p[o+4>>2]=l*i,p[o+8>>2]=l*n,p[o+12>>2]=0,s=0|_[t+120>>2],a=0|_[t+124>>2],c=(0|_[t>>2])+(a>>1)|0,1&a&&(s=0|_[(0|_[c>>2])+s>>2]),_d[127&s](r,c,o),e=-+p[o>>2],i=-+p[o+4>>2],n=-+p[o+8>>2],s=0|_[t+120>>2],a=0|_[t+124>>2],c=(0|_[t+4>>2])+(a>>1)|0,1&a&&(s=0|_[(0|_[c>>2])+s>>2]),l=+p[t+24>>2]*e+ +p[t+28>>2]*i+ +p[t+32>>2]*n,d=+p[t+40>>2]*e+ +p[t+44>>2]*i+ +p[t+48>>2]*n,p[r+16>>2]=+p[t+8>>2]*e+ +p[t+12>>2]*i+ +p[t+16>>2]*n,p[r+16+4>>2]=l,p[r+16+8>>2]=d,p[r+16+12>>2]=0,_d[127&s](r+32|0,c,r+16|0),d=+p[r+32>>2],e=+p[r+32+4>>2],i=+p[r+32+8>>2],n=+p[r+4>>2]-(d*+p[t+72>>2]+e*+p[t+76>>2]+i*+p[t+80>>2]+ +p[t+108>>2]),l=+p[r+8>>2]-(d*+p[t+88>>2]+e*+p[t+92>>2]+i*+p[t+96>>2]+ +p[t+112>>2]),p[o+16>>2]=+p[r>>2]-(d*+p[t+56>>2]+e*+p[t+60>>2]+i*+p[t+64>>2]+ +p[t+104>>2]),p[o+20>>2]=n,p[o+24>>2]=l,p[o+28>>2]=0,Q=r}function zt(t,e,i,n,o,_,r,s,c,a,l,b,A,f){t|=0,f=+f;var u,m,h,y,g,C=0,v=0;return+d(+((C=((s=+s)-(o=+o))*((b=+b)-(_=+_))-((c=+c)-_)*((l=+l)-o))*(n=+n)+((m=(c-_)*((A=+A)-(r=+r))-((a=+a)-r)*(b-_))*(e=+e)+(h=(a-r)*(l-o)-(s-o)*(A-r))*(i=+i))))<1.1920928955078125e-7?+(C=-1):(u=-(m*(y=+p[t>>2])+h*(v=+p[t+4>>2])+C*(g=+p[t+8>>2])-(C*r+(m*o+h*_)))/(C*n+(m*e+h*i)))>11920928955078125e-22&u-11920928955078125e-22&&C*((b-(v+u*i))*(s-(y+u*e))-(c-(v+u*i))*(l-(y+u*e)))+(m*((c-(v+u*i))*(A-(g+u*n))-(a-(g+u*n))*(b-(v+u*i)))+h*((a-(g+u*n))*(l-(y+u*e))-(A-(g+u*n))*(s-(y+u*e))))>-11920928955078125e-22&&C*((_-(v+u*i))*(l-(y+u*e))-(b-(v+u*i))*(o-(y+u*e)))+(m*((b-(v+u*i))*(r-(g+u*n))-(A-(g+u*n))*(_-(v+u*i)))+h*((A-(g+u*n))*(o-(y+u*e))-(r-(g+u*n))*(l-(y+u*e))))>-11920928955078125e-22?+(v=u):+(v=-1)}function Kt(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r=0,s=0,c=0;if(_[6630]=1+(0|_[6630]),(r=0|di(55))?(_[(r+4+15&-16)-4>>2]=r,c=r+4+15&-16):c=0,_[c>>2]=e,_[c+4>>2]=i,_[c+8>>2]=o,_[c+12>>2]=-1,_[c+16>>2]=-1,_[c+20>>2]=-1,_[c+28>>2]=-1,p[c+32>>2]=0,o=c,e=0|_[t+4>>2],_[c+24>>2]=e,(0|e)!=(0|_[t+8>>2]))return s=e,i=0|_[(i=t+12|0)>>2],_[(i=i+(s<<2)|0)>>2]=o,s=s+1|0,_[t+4>>2]=s,0|c;if((0|e)>=(0|(s=0|e?e<<1:1)))return s=e,i=0|_[(i=t+12|0)>>2],_[(i=i+(s<<2)|0)>>2]=o,s=s+1|0,_[t+4>>2]=s,0|c;if(s?(_[6630]=1+(0|_[6630]),(r=0|di(16+(s<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,e=0|_[t+4>>2]):r=0,(0|e)>0){i=0;do{_[r+(i<<2)>>2]=_[(0|_[t+12>>2])+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|e))}return(i=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[t+4>>2]),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=r,_[t+8>>2]=s,s=e,i=0|_[(i=t+12|0)>>2],_[(i=i+(s<<2)|0)>>2]=o,s=s+1|0,_[t+4>>2]=s,0|c}function qt(t,e,i){t|=0,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;1&n[32+(e|=0)|0]&&(0|(o=0|_[t+4>>2])&&Dn(o,e,i),0|(o=0|_[t>>2])&&(b=+p[e>>2],l=+p[o+128>>2],d=+p[e+4>>2],a=+p[e+8>>2],r=+p[i+4>>2],f=+p[i+8>>2],A=+p[i>>2],c=+p[o+180>>2]*(a*r-d*f)+ +p[o+184>>2]*(b*f-a*A)+(d*A-b*r)*+p[o+188>>2],s=(a*r-d*f)*+p[o+196>>2]+(b*f-a*A)*+p[o+200>>2]+(d*A-b*r)*+p[o+204>>2],r=(a*r-d*f)*+p[o+212>>2]+(b*f-a*A)*+p[o+216>>2]+(d*A-b*r)*+p[o+220>>2],p[o+244>>2]=b*l+ +p[o+244>>2],p[o+248>>2]=l*d+ +p[o+248>>2],p[o+252>>2]=l*a+ +p[o+252>>2],p[o+316>>2]=b*l+ +p[o+316>>2],p[o+320>>2]=l*d+ +p[o+320>>2],p[o+324>>2]=l*a+ +p[o+324>>2],p[o+260>>2]=c+ +p[o+260>>2],p[o+264>>2]=s+ +p[o+264>>2],p[o+268>>2]=r+ +p[o+268>>2],p[o+332>>2]=c+ +p[o+332>>2],p[o+336>>2]=s+ +p[o+336>>2],p[o+340>>2]=r+ +p[o+340>>2],_[o+308>>2]=1+(0|_[o+308>>2]))),2&n[e+32|0]&&Ui(t,e+16|0,i)}function $t(t,e){e|=0;var i=0;if(_[(t|=0)>>2]=9836,n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=-1,_[t+16>>2]=0,_[t+20>>2]=0,n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,_[t+64>>2]=0,_[t+68>>2]=0,_[t+72>>2]=-1,_[t+76>>2]=0,_[t+80>>2]=0,n[t+193|0]=0,n[t+194|0]=1,n[t+192|0]=1&(1^!!(0|e)),p[t+140>>2]=0,_[t+144>>2]=0,_[t+164>>2]=0,_[t+148>>2]=1,_[t+152>>2]=0,_[t+156>>2]=10,_[t+160>>2]=1,_[t+168>>2]=0,_[t+172>>2]=0,p[t+176>>2]=0,0|e)return i=e,_[(e=t+136|0)>>2]=i,_[(e=t+188|0)>>2]=0,_[(e=t+180|0)>>2]=0,_[(e=t+184|0)>>2]=0,_[(t=t+124|0)>>2]=0,_[t+4>>2]=0,void(_[t+8>>2]=0);_[6630]=1+(0|_[6630]),(e=0|di(95))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,Ae(e),_[(i=t+136|0)>>2]=e,_[(i=t+188|0)>>2]=0,_[(i=t+180|0)>>2]=0,_[(i=t+184|0)>>2]=0,_[(i=t+124|0)>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0}function te(t){var e,i=0,o=0,r=0,s=0;if(0|(i=0|_[16+(t|=0)>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,0|(i=0|_[t+40>>2])&&(0|n[t+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+40>>2]=0),n[t+44|0]=1,_[t+40>>2]=0,_[t+32>>2]=0,_[t+36>>2]=0,0|(i=0|_[t+60>>2])&&(0|n[t+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+60>>2]=0),n[t+64|0]=1,_[t+60>>2]=0,_[t+52>>2]=0,_[t+56>>2]=0,(0|_[t+12>>2])>=2)et(t);else{if(_[6630]=1+(0|_[6630]),(i=0|di(43))?(_[(i+4+15&-16)-4>>2]=i,o=i+4+15&-16):o=0,(0|(e=0|_[t+8>>2]))>0){i=0;do{r=o+(12*i|0)|0,s=(0|_[t+16>>2])+(12*i|0)|0,_[r>>2]=_[s>>2],_[r+4>>2]=_[s+4>>2],_[r+8>>2]=_[s+8>>2],i=i+1|0}while((0|i)!=(0|e))}0|(i=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=o,_[t+12>>2]=2,et(t)}}function ee(t,e,i){t|=0,e|=0;var n=0,o=0;if(n=0|Ll[31&_[28+(0|_[(i|=0)>>2])>>2]](i,0|_[t+28>>2]),_[e>>2]=n,n=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+32>>2]),_[e+4>>2]=n,n=0|Ll[31&_[40+(0|_[i>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e+8>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+12>>2]=_[t+4>>2],_[e+24>>2]=r[t+21|0],_[e+40>>2]=_[t+24>>2],_[e+44>>2]=_[t+16>>2],_[e+48>>2]=r[t+20|0],_[e+20>>2]=_[t+12>>2],_[e+16>>2]=_[t+8>>2],_[e+28>>2]=_[t+36>>2],_[e+32>>2]=_[t+40>>2],_[e+36>>2]=0,n=0|_[t+28>>2],(0|(o=0|_[n+488>>2]))>0&&(i=0|_[n+496>>2],(0|_[i>>2])==(0|t)&&(_[e+36>>2]=1),(0|o)>1)){n=1;do{(0|_[i+(n<<2)>>2])==(0|t)&&(_[e+36>>2]=1),n=n+1|0}while((0|n)!=(0|o))}if(n=0|_[t+32>>2],(0|(o=0|_[n+488>>2]))<=0)return 15023;if(i=0|_[n+496>>2],(0|_[i>>2])==(0|t)&&(_[e+36>>2]=1),(0|o)<=1)return 15023;n=1;do{(0|_[i+(n<<2)>>2])==(0|t)&&(_[e+36>>2]=1),n=n+1|0}while((0|n)!=(0|o));return 15023}function ie(t,e){t|=0;var i,n=0,o=0,r=0;switch(i=Q,Q=Q+32|0,n=0|_[388+(e|=0)>>2],48&_[t+388>>2]&n&63){case 32:return(0|t)==(0|e)&!(64&n)||(p[i+4>>2]=1,_[i+8+4>>2]=0,_[i+8+4+4>>2]=0,_[i+8+4+8>>2]=0,_[i>>2]=4388,_[i+8>>2]=_[t+456>>2],n=0|_[t+192>>2],r=+Il[15&_[48+(0|_[n>>2])>>2]](n),n=0|_[e+192>>2],r+=+Il[15&_[48+(0|_[n>>2])>>2]](n),p[i+12>>2]=r,r=+p[t+316>>2],o=+p[e+316>>2],p[i+16>>2]=r>2]=t,_[i+28>>2]=e,ze(0|_[t+1048>>2],0|_[e+1048>>2],i)),void(Q=i);case 16:return(0|t)==(0|e)||(_[i>>2]=4424,n=0|_[t+192>>2],r=+Il[15&_[48+(0|_[n>>2])>>2]](n),n=0|_[e+192>>2],r+=+Il[15&_[48+(0|_[n>>2])>>2]](n),p[i+12>>2]=r,_[i+4>>2]=t,_[i+8>>2]=e,ze(0|_[t+928>>2],0|_[e+988>>2],i),_[i+4>>2]=e,_[i+8>>2]=t,ze(0|_[e+928>>2],0|_[t+988>>2],i)),void(Q=i);default:return void(Q=i)}}function ne(t,e){t|=0,e|=0;var i,o=0,r=0,s=0,p=0,c=0,a=0,l=0;i=Q,Q=Q+48|0,p=(s=i)+44|0;do{_[s>>2]=0,s=s+4|0}while((0|s)<(0|p));if(a=e||0|_[_[t+880>>2]>>2],(0|(e=0|_[t+732>>2]))==(0|_[t+736>>2])&&(0|e)<(0|(l=0|e?e<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(e=0|di(16+(52*l|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,c=e,e=0|_[t+732>>2]):c=0,(0|e)>0){o=0;do{s=c+(52*o|0)|0,r=(0|_[t+740>>2])+(52*o|0)|0,p=s+52|0;do{_[s>>2]=_[r>>2],s=s+4|0,r=r+4|0}while((0|s)<(0|p));o=o+1|0}while((0|o)!=(0|e))}0|(e=0|_[t+740>>2])&&(0|n[t+744|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+740>>2]=0),n[t+744|0]=1,_[t+740>>2]=c,_[t+736>>2]=l,e=0|_[t+732>>2]}s=0|_[t+740>>2],_[s+(52*e|0)>>2]=0,_[s+(52*e|0)+4>>2]=a,r=i,p=44+(s=s+(52*e|0)+8|0)|0;do{_[s>>2]=_[r>>2],s=s+4|0,r=r+4|0}while((0|s)<(0|p));_[t+732>>2]=1+(0|_[t+732>>2]),Q=i}function oe(t){var e=0;return 0|(e=0|_[(t|=0)>>2])&&Yn(t,e),0|(e=0|_[t+4>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+4>>2]=0,_[t+8>>2]=-1,0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,_[t+16>>2]=0,(e=0|_[t+52>>2])&&0|n[t+56|0]?(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+32>>2],n[t+56|0]=1,_[t+52>>2]=0,_[t+44>>2]=0,_[t+48>>2]=0,e?(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0,n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,void(_[t+28>>2]=0)):(n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,void(_[t+28>>2]=0))):(n[t+56|0]=1,_[t+52>>2]=0,_[t+44>>2]=0,_[t+48>>2]=0,n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,void(_[t+28>>2]=0))}function _e(t,e,i){t|=0,e|=0;var o,r,s=0;if((0|(i|=0))>=8192)return M(0|t,0|e,0|i),0|t;if(r=0|t,o=t+i|0,(3&t)==(3&e)){for(;3&t;){if(!i)return 0|r;n[0|t]=0|n[0|e],t=t+1|0,e=e+1|0,i=i-1|0}for(s=(i=-4&o)-64|0;(0|t)<=(0|s);)_[t>>2]=_[e>>2],_[t+4>>2]=_[e+4>>2],_[t+8>>2]=_[e+8>>2],_[t+12>>2]=_[e+12>>2],_[t+16>>2]=_[e+16>>2],_[t+20>>2]=_[e+20>>2],_[t+24>>2]=_[e+24>>2],_[t+28>>2]=_[e+28>>2],_[t+32>>2]=_[e+32>>2],_[t+36>>2]=_[e+36>>2],_[t+40>>2]=_[e+40>>2],_[t+44>>2]=_[e+44>>2],_[t+48>>2]=_[e+48>>2],_[t+52>>2]=_[e+52>>2],_[t+56>>2]=_[e+56>>2],_[t+60>>2]=_[e+60>>2],t=t+64|0,e=e+64|0;for(;(0|t)<(0|i);)_[t>>2]=_[e>>2],t=t+4|0,e=e+4|0}else for(i=o-4|0;(0|t)<(0|i);)n[0|t]=0|n[0|e],n[t+1|0]=0|n[e+1|0],n[t+2|0]=0|n[e+2|0],n[t+3|0]=0|n[e+3|0],t=t+4|0,e=e+4|0;for(;(0|t)<(0|o);)n[0|t]=0|n[0|e],t=t+1|0,e=e+1|0;return 0|r}function re(t){var e,i=0,o=0,r=0,s=0,p=0,c=0;if(_[(t|=0)>>2]=10348,0|(i=0|_[t+56>>2])&&(0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+56>>2]=0),n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,(0|(e=0|_[t+28>>2]))>0){i=0;do{s=(r=0|_[t+36>>2])+(36*i|0)+4|0,o=r+(36*i|0)+16|0,0|(c=0|_[(p=r+(36*i|0)+12|0)>>2])&&(0|n[0|o]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[p>>2]=0),n[0|o]=1,_[p>>2]=0,_[s>>2]=0,_[r+(36*i|0)+8>>2]=0,i=i+1|0}while((0|i)!=(0|e))}if(0|(i=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,!(i=0|_[t+16>>2]))return n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[(t=t+12|0)>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[(t=t+12|0)>>2]=0}function se(t){var e=0;if(_[(t|=0)>>2]=9448,0|(e=0|_[t+156>>2])&&(0|n[t+160|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+156>>2]=0),n[t+160|0]=1,_[t+156>>2]=0,_[t+148>>2]=0,_[t+152>>2]=0,0|(e=0|_[t+136>>2])&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+136>>2]=0),n[t+140|0]=1,_[t+136>>2]=0,_[t+128>>2]=0,_[t+132>>2]=0,0|(e=0|_[t+116>>2])&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+116>>2]=0),n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,0|(e=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,_[t>>2]=10364,!(e=0|_[t+32>>2]))return n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,void(_[(t=t+28|0)>>2]=0);0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0,n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[(t=t+28|0)>>2]=0}function pe(t){var e=0;if(_[(t|=0)>>2]=10008,0|(e=0|_[t+160>>2])&&(0|n[t+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+160>>2]=0),n[t+164|0]=1,_[t+160>>2]=0,_[t+152>>2]=0,_[t+156>>2]=0,0|(e=0|_[t+136>>2])&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+136>>2]=0),n[t+140|0]=1,_[t+136>>2]=0,_[t+128>>2]=0,_[t+132>>2]=0,0|(e=0|_[t+116>>2])&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+116>>2]=0),n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,0|(e=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,!(e=0|_[t+76>>2]))return n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,void(_[(t=t+72|0)>>2]=0);0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+76>>2]=0,n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[(t=t+72|0)>>2]=0}function ce(t){var e=0;if(_[(t|=0)>>2]=5716,0|(e=0|_[t+144>>2])&&(0|n[t+148|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+144>>2]=0),n[t+148|0]=1,_[t+144>>2]=0,_[t+136>>2]=0,_[t+140>>2]=0,0|(e=0|_[t+76>>2])&&(0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+76>>2]=0),n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[t+72>>2]=0,0|(e=0|_[t+56>>2])&&(0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+56>>2]=0),n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,0|(e=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,!(e=0|_[t+16>>2]))return n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[(t=t+12|0)>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[(t=t+12|0)>>2]=0}function ae(t){t|=0;var e=0;return!(0|n[24456])&&0|Qs(24456)&&(!(0|n[24408])&&0|Qs(24408)&&(!(0|n[24416])&&0|Qs(24416)&&(_[6222]=1065353216,_[6223]=0,_[6224]=0,_[6225]=0,_[6226]=0,_[6227]=1065353216,_[6228]=0,_[6229]=0,_[6230]=0,_[6231]=0,_[6232]=1065353216,p[6233]=0),_[6206]=_[6222],_[6207]=_[6223],_[6208]=_[6224],_[6209]=_[6225],_[6210]=_[6226],_[6211]=_[6227],_[6212]=_[6228],_[6213]=_[6229],_[6214]=_[6230],_[6215]=_[6231],_[6216]=_[6232],_[6217]=_[6233],_[6218]=0,_[6219]=0,_[6220]=0,_[6221]=0),_[6258]=_[6206],_[6259]=_[6207],_[6260]=_[6208],_[6261]=_[6209],_[6262]=_[6210],_[6263]=_[6211],_[6264]=_[6212],_[6265]=_[6213],_[6266]=_[6214],_[6267]=_[6215],_[6268]=_[6216],_[6269]=_[6217],_[6270]=_[6218],_[6271]=_[6219],_[6272]=_[6220],_[6273]=_[6221]),(e=0|_[t+8>>2])?e+4|0:0|(0|(e=0|_[t>>2])?e+60:25032)}function le(t,e,i){e|=0,i|=0;var o=0,r=0,s=0,p=0,c=0,a=0;if((0|(o=0|_[96+(t|=0)>>2]))==(0|_[t+100>>2])&&(0|o)<(0|(p=0|o?o<<1:1))){if(p?(_[6630]=1+(0|_[6630]),(o=0|di(16+(p<<4|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=o,o=0|_[t+96>>2]):s=0,(0|o)>0){r=0;do{c=s+(r<<4)|0,a=(0|_[t+104>>2])+(r<<4)|0,_[c>>2]=_[a>>2],_[c+4>>2]=_[a+4>>2],_[c+8>>2]=_[a+8>>2],_[c+12>>2]=_[a+12>>2],r=r+1|0}while((0|r)!=(0|o))}0|(o=0|_[t+104>>2])&&(0|n[t+108|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])),_[t+104>>2]=0),n[t+108|0]=1,_[t+104>>2]=s,_[t+100>>2]=p,o=0|_[t+96>>2]}a=(0|_[t+104>>2])+(o<<4)|0,_[a>>2]=_[e>>2],_[a+4>>2]=_[e+4>>2],_[a+8>>2]=_[e+8>>2],_[a+12>>2]=_[e+12>>2],_[t+96>>2]=1+(0|_[t+96>>2]),i&&nn(t)}function de(t){var e=0,i=0,o=0,r=0;if(_[32+(t|=0)>>2]=262144,(0|(e=0|_[t+4>>2]))<2383){if((0|_[t+8>>2])<2383){if(_[6630]=1+(0|_[6630]),(i=0|di(9551))?(_[(i+4+15&-16)-4>>2]=i,r=i+4+15&-16):r=0,(0|(o=0|_[t+4>>2]))>0){i=0;do{_[r+(i<<2)>>2]=_[(0|_[t+12>>2])+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|o))}0|(i=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=r,_[t+8>>2]=2383,i=t+12|0}else i=t+12|0;do{_[(0|_[i>>2])+(e<<2)>>2]=0,e=e+1|0}while(2383!=(0|e))}_[t+4>>2]=2383,i=0;do{if(r=(0|_[t+12>>2])+(i<<2)|0,e=0|_[r>>2],_[r>>2]=0,0|e)do{r=e,e=0|_[e+280>>2],yl(r)}while(0|e);i=i+1|0}while(2383!=(0|i));p[t+20>>2]=.25,_[t+24>>2]=0,_[t+28>>2]=0,_[t+36>>2]=1,_[t+40>>2]=1}function be(t,e){e|=0;var i=0,o=0,r=0,s=0;i=0|_[488+(t|=0)>>2];t:do{if((0|i)>0){for(r=0|_[t+496>>2],o=0;(0|_[r+(o<<2)>>2])!=(0|e);)if((0|(o=o+1|0))>=(0|i))break t;if((0|o)!=(0|i))return void(_[(e=t+256|0)>>2]=1)}}while(0);if((0|i)==(0|_[t+492>>2])&&(0|i)<(0|(s=0|i?i<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(i=0|di(16+(s<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,r=i,i=0|_[t+488>>2]):r=0,(0|i)>0){o=0;do{_[r+(o<<2)>>2]=_[(0|_[t+496>>2])+(o<<2)>>2],o=o+1|0}while((0|o)!=(0|i))}(o=0|_[t+496>>2])&&(0|n[t+500|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),i=0|_[t+488>>2]),_[t+496>>2]=0),n[t+500|0]=1,_[t+496>>2]=r,_[t+492>>2]=s}_[(0|_[t+496>>2])+(i<<2)>>2]=e,_[t+488>>2]=i+1,_[(e=t+256|0)>>2]=1}function Ae(t){var e,i=0,o=0,r=0;if(_[(t|=0)>>2]=9720,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,_[t+24>>2]=0,n[t+28|0]=0,n[t+48|0]=1,_[t+44>>2]=0,_[t+36>>2]=0,_[t+40>>2]=0,n[t+68|0]=1,_[t+64>>2]=0,_[t+56>>2]=0,_[t+60>>2]=0,_[t+72>>2]=0,_[6630]=1+(0|_[6630]),(i=0|di(51))?(_[(i+4+15&-16)-4>>2]=i,o=i+4+15&-16):o=0,(0|(e=0|_[t+8>>2]))>0){i=0;do{r=0|_[t+16>>2],_[o+(i<<4)>>2]=_[r+(i<<4)>>2],_[o+(i<<4)+4>>2]=_[r+(i<<4)+4>>2],_[o+(i<<4)+8>>2]=_[r+(i<<4)+8>>2],_[o+(i<<4)+12>>2]=_[r+(i<<4)+12>>2],i=i+1|0}while((0|i)!=(0|e))}if(!(i=0|_[t+16>>2]))return n[t+20|0]=1,_[t+16>>2]=o,_[t+12>>2]=2,void tt(t);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=o,_[t+12>>2]=2,tt(t)}function fe(t,e,i,n,o,_,r,s,c,a,l){e|=0,i=+i,n=+n,o=+o,_=+_,r=+r,s=+s,c|=0,a|=0,l=+l;var d,b,A,f,u,m,h,y,g=0,C=0,v=0,S=0;return y=+p[(t|=0)>>2]*_+ +p[t+16>>2]*r+ +p[t+32>>2]*s,m=+p[t+4>>2]*_+ +p[t+20>>2]*r+ +p[t+36>>2]*s,f=+p[t+8>>2]*_+ +p[t+24>>2]*r+ +p[t+40>>2]*s,A=+p[e>>2]*_+ +p[e+16>>2]*r+ +p[e+32>>2]*s,d=+p[e+4>>2]*_+ +p[e+20>>2]*r+ +p[e+36>>2]*s,v=+p[e+8>>2]*_+ +p[e+24>>2]*r+ +p[e+40>>2]*s,h=+p[c+80>>2],u=+p[c+84>>2],S=+p[c+88>>2],b=+p[a+80>>2],g=+p[a+84>>2],C=+p[a+88>>2],C=A*(A<0?-b:b)+d*(d<0?-g:g)+v*(v<0?-C:C),0|!((i*_+n*r+o*s+(g=((S=y*(y<0?-h:h)+m*(m<0?-u:u)+f*(f<0?-S:S))>(v=+p[c+96>>2])?S:v)+(C>(g=+p[a+96>>2])?C:g))l)}function ue(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r,s,c,a,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0;if(a=Q,Q=Q+176|0,_[a+96>>2]=1,_[a+96+4>>2]=i,_[a+96+8>>2]=e,_[a+96+12>>2]=16,p[a+96+16>>2]=.0010000000474974513,n[a+40+24|0]=1,_[(c=a+40+20|0)>>2]=0,_[a+40+12>>2]=0,_[a+40+16>>2]=0,n[0|(r=a+40+52|0)]=1,_[(s=a+40+48|0)>>2]=0,_[a+40+40>>2]=0,_[a+40+44>>2]=0,n[a+40|0]=1,_[a+40+4>>2]=0,_[a+40+28>>2]=0,_[a+40+32>>2]=0,n[a+16|0]=1,_[a+12>>2]=0,_[a+4>>2]=0,_[a+8>>2]=0,n[a+36|0]=1,_[a+32>>2]=0,_[a+24>>2]=0,_[a+28>>2]=0,_[a+96+20>>2]=i,Rl(a,a+96|0,a+40|0),_[6630]=1+(0|_[6630]),(e=0|di(1271))?(_[(e+4+15&-16)-4>>2]=e,m=e+4+15&-16):m=0,hi(m,t,0|_[a+40+4>>2],0|_[c>>2],0),(0|_[a+40+28>>2])>0){i=m+720|0,t=m+732|0,l=m+740|0,d=m+924|0,e=0;do{u=3*e|0,h=0|_[s>>2],A=0|_[h+(u<<2)>>2],f=0|_[h+(u+1<<2)>>2],u=0|_[h+(u+2<<2)>>2],(0|A)<(0|f)&&(w=0|_[i>>2],ne(m,0),h=(0|_[t>>2])-1|0,y=0|_[l>>2],_[y+(52*h|0)+8>>2]=w+(104*A|0),_[y+(52*h|0)+12>>2]=w+(104*f|0),S=+p[w+(104*A|0)+8>>2]-+p[w+(104*f|0)+8>>2],v=+p[w+(104*A|0)+12>>2]-+p[w+(104*f|0)+12>>2],C=+p[w+(104*A|0)+16>>2]-+p[w+(104*f|0)+16>>2],C=+b(+(S*S+v*v+C*C)),p[y+(52*h|0)+16>>2]=C,n[0|d]=1),(0|f)<(0|u)&&(h=0|_[i>>2],ne(m,0),w=(0|_[t>>2])-1|0,y=0|_[l>>2],_[y+(52*w|0)+8>>2]=h+(104*f|0),_[y+(52*w|0)+12>>2]=h+(104*u|0),C=+p[h+(104*f|0)+8>>2]-+p[h+(104*u|0)+8>>2],v=+p[h+(104*f|0)+12>>2]-+p[h+(104*u|0)+12>>2],S=+p[h+(104*f|0)+16>>2]-+p[h+(104*u|0)+16>>2],S=+b(+(C*C+v*v+S*S)),p[y+(52*w|0)+16>>2]=S,n[0|d]=1),(0|u)<(0|A)&&(h=0|_[i>>2],ne(m,0),w=(0|_[t>>2])-1|0,y=0|_[l>>2],_[y+(52*w|0)+8>>2]=h+(104*u|0),_[y+(52*w|0)+12>>2]=h+(104*A|0),C=+p[h+(104*u|0)+8>>2]-+p[h+(104*A|0)+8>>2],v=+p[h+(104*u|0)+12>>2]-+p[h+(104*A|0)+12>>2],S=+p[h+(104*u|0)+16>>2]-+p[h+(104*A|0)+16>>2],S=+b(+(C*C+v*v+S*S)),p[y+(52*w|0)+16>>2]=S,n[0|d]=1),ct(m,A,f,u,0),e=e+1|0}while((0|e)<(0|_[a+40+28>>2]))}if(0|_[a+40+12>>2]&&(_[a+40+4>>2]=0,0|(e=0|_[c>>2])&&(0|n[a+40+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[c>>2]=0),n[a+40+24|0]=1,_[c>>2]=0,_[a+40+12>>2]=0,_[a+40+16>>2]=0),0|_[a+40+40>>2]&&(_[a+40+32>>2]=0,0|(e=0|_[s>>2])&&(0|n[0|r]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[s>>2]=0),n[0|r]=1,_[s>>2]=0,_[a+40+40>>2]=0,_[a+40+44>>2]=0),o){if((0|(t=0|_[m+732>>2]))>0){l=m+740|0,e=243703,i=0;do{A=(d=0|_[l>>2])+(52*i|0)|0,e=1013904223+(0|g(e,1664525))|0,u=A,o=52+(f=a+124|0)|0;do{_[f>>2]=_[u>>2],f=f+4|0,u=u+4|0}while((0|f)<(0|o));u=d+(52*((e>>>0)%(t>>>0)|0)|0)|0,o=(f=A)+52|0;do{_[f>>2]=_[u>>2],f=f+4|0,u=u+4|0}while((0|f)<(0|o));u=a+124|0,o=52+(f=d+(52*((e>>>0)%(t>>>0)|0)|0)|0)|0;do{_[f>>2]=_[u>>2],f=f+4|0,u=u+4|0}while((0|f)<(0|o));i=i+1|0}while((0|i)!=(0|t))}else e=243703;if((0|(d=0|_[m+752>>2]))>0){A=m+760|0,i=0;do{t=(l=0|_[A>>2])+(44*i|0)|0,l=l+(44*(((e=1013904223+(0|g(e,1664525))|0)>>>0)%(d>>>0)|0)|0)|0,u=t,o=44+(f=a+124|0)|0;do{_[f>>2]=_[u>>2],f=f+4|0,u=u+4|0}while((0|f)<(0|o));u=l,o=(f=t)+44|0;do{_[f>>2]=_[u>>2],f=f+4|0,u=u+4|0}while((0|f)<(0|o));u=a+124|0,o=(f=l)+44|0;do{_[f>>2]=_[u>>2],f=f+4|0,u=u+4|0}while((0|f)<(0|o));i=i+1|0}while((0|i)!=(0|d))}}return 0|(e=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=0,_[a+24>>2]=0,_[a+28>>2]=0,0|(e=0|_[a+12>>2])&&(0|n[a+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[a+12>>2]=0),0|(e=0|_[s>>2])&&(0|n[0|r]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[s>>2]=0),n[0|r]=1,_[s>>2]=0,_[a+40+40>>2]=0,_[a+40+44>>2]=0,(e=0|_[c>>2])?(0|n[a+40+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[c>>2]=0,Q=a,0|m):(Q=a,0|m)}function me(t,e,i,o,r,s){e|=0,i|=0,o|=0,r|=0,s|=0;var c,l,d,b,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0;if(b=Q,Q=Q+288|0,y=0|_[4+(t|=0)>>2],n[y+312|0]=0,_[y>>2]=0,n[y+356|0]=1,_[y+292>>2]=1566444395,_[y+296>>2]=1566444395,_[y+300>>2]=1566444395,p[y+304>>2]=0,_[y+336>>2]=0,_[y+336+4>>2]=0,_[y+336+8>>2]=0,_[y+336+12>>2]=0,n[y+336+16|0]=0,n[y+332|0]=-16&n[y+332|0],c=+p[i+48>>2]-+p[e+48>>2]-(+p[r+48>>2]-+p[o+48>>2]),l=+p[i+52>>2]-+p[e+52>>2]-(+p[r+52>>2]-+p[o+52>>2]),d=+p[i+56>>2]-+p[e+56>>2]-(+p[r+56>>2]-+p[o+56>>2]),_[b+216>>2]=10156,p[b+216+36>>2]=0xde0b6b000000000,n[b+216+40|0]=0,y=0|_[t+8>>2],h=0|_[t+12>>2],m=0|_[t+4>>2],_[b+136>>2]=10204,_[b+136+4>>2]=0,_[b+136+8>>2]=1065353216,_[b+136+12>>2]=0,p[b+136+16>>2]=0,_[b+136+20>>2]=0,_[b+136+24>>2]=m,_[b+136+28>>2]=y,_[b+136+32>>2]=h,_[b+136+36>>2]=_[y+4>>2],_[b+136+40>>2]=_[h+4>>2],u=+Il[15&_[48+(0|_[y>>2])>>2]](y),p[b+136+44>>2]=u,u=+Il[15&_[48+(0|_[h>>2])>>2]](h),p[b+136+48>>2]=u,n[b+136+52|0]=0,_[b+136+60>>2]=-1,_[b+136+72>>2]=1,_[b+136+76>>2]=1,p[b+128>>2]=0xde0b6b000000000,_[b>>2]=_[e>>2],_[b+4>>2]=_[e+4>>2],_[b+8>>2]=_[e+8>>2],_[b+12>>2]=_[e+12>>2],_[b+16>>2]=_[e+16>>2],_[b+16+4>>2]=_[e+16+4>>2],_[b+16+8>>2]=_[e+16+8>>2],_[b+16+12>>2]=_[e+16+12>>2],_[b+32>>2]=_[e+32>>2],_[b+32+4>>2]=_[e+32+4>>2],_[b+32+8>>2]=_[e+32+8>>2],_[b+32+12>>2]=_[e+32+12>>2],_[b+48>>2]=_[e+48>>2],_[b+48+4>>2]=_[e+48+4>>2],_[b+48+8>>2]=_[e+48+8>>2],_[b+48+12>>2]=_[e+48+12>>2],_[b+64>>2]=_[o>>2],_[b+64+4>>2]=_[o+4>>2],_[b+64+8>>2]=_[o+8>>2],_[b+64+12>>2]=_[o+12>>2],_[b+80>>2]=_[o+16>>2],_[b+80+4>>2]=_[o+16+4>>2],_[b+80+8>>2]=_[o+16+8>>2],_[b+80+12>>2]=_[o+16+12>>2],_[b+96>>2]=_[o+32>>2],_[b+96+4>>2]=_[o+32+4>>2],_[b+96+8>>2]=_[o+32+8>>2],_[b+96+12>>2]=_[o+32+12>>2],_[b+112>>2]=_[o+48>>2],_[b+112+4>>2]=_[o+48+4>>2],_[b+112+8>>2]=_[o+48+8>>2],_[b+112+12>>2]=_[o+48+12>>2],Si(b+136|0,b,b+216|0,0,0),h=!(0|n[b+216+40|0]),y=b+216+20|0,_[b+264>>2]=_[y>>2],_[b+264+4>>2]=_[y+4>>2],_[b+264+8>>2]=_[y+8>>2],_[b+264+12>>2]=_[y+12>>2],h)return Q=b,0|(s=0);u=+p[b+216+36>>2],A=+p[b+216+16>>2],t=0|_[b+216+12>>2],f=0|_[b+216+8>>2],m=0|_[b+216+4>>2];do{if(u>.0010000000474974513){for(h=0,A=0;;){if(h>>>0>31){t=0,h=13;break}if(C=c*(_[a>>2]=m,+p[a>>2]),C=l*(_[a>>2]=f,+p[a>>2])+C,g=A,!(!((A-=u/(d*(_[a>>2]=t,+p[a>>2])+C))<=g)&!(A<0)&!(A>1))){t=0,h=13;break}if(zl[31&_[_[s>>2]>>2]](s,A),C=1-A,p[b+48>>2]=C*+p[e+48>>2]+A*+p[i+48>>2],p[b+52>>2]=C*+p[e+52>>2]+A*+p[i+52>>2],p[b+56>>2]=C*+p[e+56>>2]+A*+p[i+56>>2],p[b+112>>2]=C*+p[o+48>>2]+A*+p[r+48>>2],p[b+116>>2]=C*+p[o+52>>2]+A*+p[r+52>>2],p[b+120>>2]=C*+p[o+56>>2]+A*+p[r+56>>2],Si(b+136|0,b,b+216|0,0,0),!(0|n[b+216+40|0])){t=0,h=13;break}if((u=+p[b+216+36>>2])<0){h=8;break}if(_[b+264>>2]=_[y>>2],_[b+264+4>>2]=_[y+4>>2],_[b+264+8>>2]=_[y+8>>2],_[b+264+12>>2]=_[y+12>>2],t=0|_[b+216+12>>2],f=0|_[b+216+8>>2],m=0|_[b+216+4>>2],!(u>.0010000000474974513)){h=10;break}h=h+1|0}if(8==(0|h))return p[s+164>>2]=A,i=0|_[b+216+8>>2],o=0|_[b+216+12>>2],r=0|_[b+216+16>>2],_[s+132>>2]=_[b+216+4>>2],_[s+136>>2]=i,_[s+140>>2]=o,_[s+144>>2]=r,_[s+148>>2]=_[y>>2],_[s+148+4>>2]=_[y+4>>2],_[s+148+8>>2]=_[y+8>>2],_[s+148+12>>2]=_[y+12>>2],Q=b,0|(s=1);if(10==(0|h)){u=A,A=+p[b+216+16>>2];break}if(13==(0|h))return Q=b,0|t}else u=0}while(0);return C=c*(_[a>>2]=m,+p[a>>2]),C=l*(_[a>>2]=f,+p[a>>2])+C,d*(_[a>>2]=t,+p[a>>2])+C>=-+p[s+172>>2]?(Q=b,0|(s=0)):(p[s+164>>2]=u,_[s+132>>2]=m,_[s+136>>2]=f,_[s+140>>2]=t,p[s+144>>2]=A,_[s+148>>2]=_[b+264>>2],_[s+148+4>>2]=_[b+264+4>>2],_[s+148+8>>2]=_[b+264+8>>2],_[s+148+12>>2]=_[b+264+12>>2],Q=b,0|(s=1))}function he(t,e,i,o,r,s,c,a,l,d,b,A,f){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,a|=0,d|=0,b|=0,A|=0,f|=0;var u,m,h,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0;if(m=0|g(0|_[24+(l|=0)>>2],d),!(!!((u=0|n[e+44|0])<<24>>24)|!!(0|(h=0|_[e+56>>2]))))return 0|(l=0);I=0|_[(0|A?l+12:l+8)>>2],d=0|_[(0|A?l+20:l+16)>>2],_[I+(m<<2)>>2]=_[b>>2],_[I+(m+1<<2)>>2]=_[b+4>>2],_[I+(m+2<<2)>>2]=_[b+8>>2],p[d+(m<<2)>>2]=-+p[b>>2],p[d+(m+1<<2)>>2]=-+p[b+4>>2],p[d+(m+2<<2)>>2]=-+p[b+8>>2];do{if(!A){if(y=+p[t+1176>>2],!(0|n[t+1301|0])){S=y-+p[i+48>>2],R=+p[t+1180>>2]-+p[i+52>>2],j=+p[t+1184>>2]-+p[i+56>>2],k=+p[b+8>>2],v=+p[b+4>>2],w=+p[b>>2],I=0|_[l+12>>2],p[I+(m<<2)>>2]=R*k-j*v,p[I+(m+1<<2)>>2]=j*w-S*k,p[I+(m+2<<2)>>2]=S*v-R*w,w=+p[t+1176>>2]-+p[o+48>>2],R=+p[t+1180>>2]-+p[o+52>>2],v=+p[t+1184>>2]-+p[o+56>>2],S=+p[b+8>>2],k=+p[b+4>>2],j=+p[b>>2],I=0|_[l+20>>2],p[I+(m<<2)>>2]=-(R*S-v*k),p[I+(m+1<<2)>>2]=-(v*j-w*S),p[I+(m+2<<2)>>2]=-(w*k-R*j);break}T=y-+p[o+48>>2],x=+p[t+1180>>2]-+p[o+52>>2],W=+p[t+1184>>2]-+p[o+56>>2],O=+p[b>>2],F=+p[b+4>>2],B=+p[b+8>>2],P=O*(O*(M=+p[t+1112>>2]-+p[i+48>>2])+F*(v=+p[t+1116>>2]-+p[i+52>>2])+B*(S=+p[t+1120>>2]-+p[i+56>>2]))+O*(C=+p[e+52>>2]-+p[e+48>>2])-O*(T*O+x*F+W*B),y=F*(O*M+F*v+B*S)+F*C-F*(T*O+x*F+W*B),C=B*(O*M+F*v+B*S)+B*C-B*(T*O+x*F+W*B),w=B*(v-F*(O*M+F*v+B*S)+(R=+p[t+1272>>2])*y)-F*(S-B*(O*M+F*v+B*S)+R*C),k=O*(S-B*(O*M+F*v+B*S)+R*C)-B*(M-O*(O*M+F*v+B*S)+R*P),S=F*(M-O*(O*M+F*v+B*S)+R*P)-O*(v-F*(O*M+F*v+B*S)+R*y),v=B*(x-F*(T*O+x*F+W*B)-(j=+p[t+1276>>2])*y)-F*(W-B*(T*O+x*F+W*B)-j*C),C=O*(W-B*(T*O+x*F+W*B)-j*C)-B*(T-O*(T*O+x*F+W*B)-j*P),y=F*(T-O*(T*O+x*F+W*B)-j*P)-O*(x-F*(T*O+x*F+W*B)-j*y),!!(0|f)|!(0|n[t+1280|0])||(w*=R,k*=R,S*=R,v*=j,C*=j,y*=j),I=(0|_[l+12>>2])+(m<<2)|0,p[I>>2]=w,p[I+4>>2]=k,p[I+8>>2]=S,I=0|_[l+20>>2],p[I+(m<<2)>>2]=-v,p[I+(m+1<<2)>>2]=-C,p[I+(m+2<<2)>>2]=-y}}while(0);0|h&&+p[e>>2]==+p[e+4>>2]?(i=(0|_[l+28>>2])+(m<<2)|0,p[i>>2]=0,y=0):D=11;do{if(11==(0|D)){if(d=(0|_[l+28>>2])+(m<<2)|0,p[d>>2]=0,!(u<<24>>24)){if(0|h){i=d,y=0;break}return 0|(s=1)}if(_[(0|_[l+32>>2])+(m<<2)>>2]=_[e+28>>2],0|h){i=d,y=+p[d>>2];break}k=+p[e+8>>2],y=0|A?k:-k,C=+p[e+52>>2],v=+p[e>>2],S=+p[e+4>>2],w=+p[l>>2]*+p[e+32>>2];do{if(v>S)y=1;else if(v!=S){if(y/w<0){if(C>=v&&v-y/w>C){y=(v-C)/(y/w);break}y=C0){if(C<=S&&S-y/wS?0:1;break}y=0}else y=0}while(0);return p[d>>2]=y*k+ +p[d>>2],p[(0|_[l+36>>2])+(m<<2)>>2]=-+p[e+12>>2],_[(0|_[l+40>>2])+(m<<2)>>2]=_[e+12>>2],0|(I=1)}}while(0);return M=+p[l>>2]*+p[e+32>>2]*+p[e+48>>2],p[i>>2]=y+(0|A?-M:M),_[(0|_[l+32>>2])+(m<<2)>>2]=_[e+36>>2],+p[e>>2]==+p[e+4>>2]?(p[(0|_[l+36>>2])+(m<<2)>>2]=-34028234663852886e22,p[(0|_[l+40>>2])+(m<<2)>>2]=34028234663852886e22,0|(I=1)):(p[(0|_[l+36>>2])+(m<<2)>>2]=1==(0|h)?0:-34028234663852886e22,p[(0|_[l+40>>2])+(m<<2)>>2]=1==(0|h)?34028234663852886e22:0,(k=+p[e+40>>2])>0?(0|A?(M=+p[b>>2],C=+p[b+4>>2],v=y=+p[b+8>>2],S=C,w=M,s=a,C=+p[c>>2]*M+ +p[c+4>>2]*C,y=+p[c+8>>2]*y):(M=+p[b>>2],C=+p[b+4>>2],v=y=+p[b+8>>2],S=C,w=M,C=+p[r>>2]*M+ +p[r+4>>2]*C,y=+p[r+8>>2]*y),y=C+y-(w*+p[s>>2]+S*+p[s+4>>2]+v*+p[s+8>>2]),1==(0|h)?y<0&&+p[i>>2]<-k*y?(p[i>>2]=-k*y,0|(I=1)):0|(I=1):y>0&&+p[i>>2]>-k*y?(p[i>>2]=-k*y,0|(I=1)):0|(I=1)):0|(I=1))}function ye(t,e,i){t|=0,i|=0;var n,o=0,r=0,s=0,c=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0;switch(n=Q,Q=Q+48|0,0|_[4+(e|=0)>>2]){case 8:return _[t>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,void(Q=n);case 0:return S=+p[e+28>>2],w=+p[e+28+4>>2],w=+p[i+4>>2]>=0?w:-w,k=+p[e+28+8>>2],k=+p[i+8>>2]>=0?k:-k,p[t>>2]=+p[i>>2]>=0?S:-S,p[t+4>>2]=w,p[t+8>>2]=k,p[t+12>>2]=0,void(Q=n);case 1:return C=+p[i>>2],v=+p[i+4>>2],k=+p[i+8>>2],w=C*+p[e+56>>2]+v*+p[e+56+4>>2]+k*+p[e+56+8>>2],S=C*+p[e+56+16>>2]+v*+p[e+56+20>>2]+k*+p[e+56+24>>2],k=C*+p[e+56+32>>2]+v*+p[e+56+36>>2]+k*+p[e+56+40>>2],u=0|_[e+56+((f=w>2],y=0|_[e+56+(f<<4)+8>>2],_[t>>2]=_[e+56+(f<<4)>>2],_[t+4>>2]=u,_[t+8>>2]=y,p[t+12>>2]=0,void(Q=n);case 13:switch(_[n+32>>2]=_[e+28>>2],_[n+32+4>>2]=_[e+28+4>>2],_[n+32+8>>2]=_[e+28+8>>2],_[n+32+12>>2]=_[e+28+12>>2],_[n+16>>2]=_[i>>2],o=0|_[i+4>>2],_[n+16+4>>2]=o,y=0|_[i+8>>2],_[n+16+8>>2]=y,p[n+16+12>>2]=0,i=0|_[e+52>>2],_[a>>2]=y,r=+p[a>>2],0|i){case 2:e=0,f=2,u=1,_[a>>2]=o,s=+p[a>>2];break;case 1:e=0,f=1,u=2,s=r;break;default:e=1,f=0,u=2,s=r}return r=+p[n+32+(e<<2)>>2],c=+p[n+32+(i<<2)>>2],A=+p[n+16+(e<<2)>>2],0!=(d=+b(+(A*A+s*s)))?(l=s*(r/d),s=+p[n+16+(f<<2)>>2]<0?-c:c,r=A*(r/d)):(l=0,s=+p[n+16+(f<<2)>>2]<0?-c:c),p[n+(e<<2)>>2]=r,p[n+(f<<2)>>2]=s,p[n+(u<<2)>>2]=l,_[t>>2]=_[n>>2],_[t+4>>2]=_[n+4>>2],_[t+8>>2]=_[n+8>>2],p[t+12>>2]=0,void(Q=n);case 10:return r=+p[i>>2],s=+p[i+4>>2],c=+p[i+8>>2],o=0|_[e+52>>2],w=+p[e+28+(o<<2)>>2],l=+p[e+28+((o+2|0)%3<<2)>>2],r*r+s*s+c*c<9999999747378752e-20?(k=1,S=0,v=0):(k=r*(v=1/+b(+(r*r+s*s+c*c))),S=s*v,v*=c),_[n+32>>2]=0,_[n+32+4>>2]=0,_[n+32+8>>2]=0,_[n+32+12>>2]=0,p[n+32+(o<<2)>>2]=w,g=l*k,C=l*S,h=l*v,d=k*(m=+p[e+44>>2]),A=S*m,m*=v,l=g+ +p[n+32>>2]-d,r=C+ +p[n+32+4>>2]-A,(c=v*(s=h+ +p[n+32+8>>2]-m)+(k*l+S*r))>-0xde0b6b000000000?(p[a>>2]=s,u=0|_[a>>2],p[a>>2]=r,y=0|_[a>>2],p[a>>2]=l,f=0|_[a>>2]):(c=-0xde0b6b000000000,f=0,u=0,y=0),_[n+32>>2]=0,_[n+32+4>>2]=0,_[n+32+8>>2]=0,_[n+32+12>>2]=0,p[n+32+(o<<2)>>2]=-w,o=k*(g=g+ +p[n+32>>2]-d)+S*(w=C+ +p[n+32+4>>2]-A)+v*(r=h+ +p[n+32+8>>2]-m)>c,p[a>>2]=g,i=0|_[a>>2],p[a>>2]=w,e=0|_[a>>2],u=o?(p[a>>2]=r,0|_[a>>2]):u,_[t>>2]=o?i:f,_[t+4>>2]=o?e:y,_[t+8>>2]=u,p[t+12>>2]=0,void(Q=n);case 5:if(u=0|_[e+92>>2],f=0|_[e+96>>2],m=+p[e+12>>2],h=+p[e+16>>2],A=+p[e+20>>2],l=+p[i>>2]*m,d=+p[i+4>>2]*h,s=+p[i+8>>2]*A,(0|f)>0)for(o=-1,i=0,r=-34028234663852886e22;o=(e=(c=l*+p[u+(i<<4)>>2]+d*+p[u+(i<<4)+4>>2]+s*+p[u+(i<<4)+8>>2])>r)?i:o,(0|(i=i+1|0))!=(0|f);)r=e?c:r;else o=-1;return w=h*+p[u+(o<<4)+4>>2],k=A*+p[u+(o<<4)+8>>2],p[t>>2]=m*+p[u+(o<<4)>>2],p[t+4>>2]=w,p[t+8>>2]=k,p[t+12>>2]=0,void(Q=n);case 4:if(u=0|_[e+104>>2],f=0|_[e+96>>2],m=+p[e+12>>2],h=+p[e+16>>2],A=+p[e+20>>2],l=+p[i>>2]*m,d=+p[i+4>>2]*h,s=+p[i+8>>2]*A,(0|f)>0)for(o=-1,i=0,r=-34028234663852886e22;o=(e=(c=l*+p[u+(i<<4)>>2]+d*+p[u+(i<<4)+4>>2]+s*+p[u+(i<<4)+8>>2])>r)?i:o,(0|(i=i+1|0))!=(0|f);)r=e?c:r;else o=-1;return w=h*+p[u+(o<<4)+4>>2],k=A*+p[u+(o<<4)+8>>2],p[t>>2]=m*+p[u+(o<<4)>>2],p[t+4>>2]=w,p[t+8>>2]=k,p[t+12>>2]=0,void(Q=n);default:return _d[127&_[68+(0|_[e>>2])>>2]](t,e,i),void(Q=n)}}function ge(t,e,i,o,r,s){e|=0,i|=0,o|=0,r|=0,s|=0;var c,l,d,b,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0;if((0|(I=0|_[88+(t|=0)>>2]))==(0|_[t+92>>2])&&(0|I)<(0|(h=0|I?I<<1:1))){if(h?(_[6630]=1+(0|_[6630]),(A=0|di(16+(152*h|3)|0))?(_[(A+4+15&-16)-4>>2]=A,A=A+4+15&-16):A=0,u=0|_[t+88>>2]):(A=0,u=I),(0|u)>0){f=0;do{_e(A+(152*f|0)|0,(0|_[t+96>>2])+(152*f|0)|0,152),f=f+1|0}while((0|f)!=(0|u))}0|(f=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=A,_[t+92>>2]=h,A=0|_[t+88>>2]}else A=I;if(_[t+88>>2]=A+1,b=0|_[t+96>>2],_[b+(152*I|0)+140>>2]=r,_[b+(152*I|0)+16>>2]=0,_[b+(152*I|0)+16+4>>2]=0,_[b+(152*I|0)+16+8>>2]=0,_[b+(152*I|0)+16+12>>2]=0,p[b+(152*I|0)+48>>2]=-0,p[b+(152*I|0)+52>>2]=-0,p[b+(152*I|0)+56>>2]=-0,p[b+(152*I|0)+60>>2]=0,r=0|_[t+16>>2],h=0|_[r+(244*i|0)+240>>2],d=0|_[r+(244*o|0)+240>>2],_[b+(152*I|0)+144>>2]=i,_[b+(152*I|0)+148>>2]=o,t=0|_[s+88>>2],_[b+(152*I|0)+104>>2]=t,_[b+(152*I|0)+132>>2]=0,p[b+(152*I|0)+100>>2]=0,p[b+(152*I|0)+96>>2]=0,k=-+p[e>>2],R=-+p[e+4>>2],j=-+p[e+8>>2],p[b+(152*I|0)>>2]=k,p[b+(152*I|0)+4>>2]=R,p[b+(152*I|0)+8>>2]=j,p[b+(152*I|0)+12>>2]=0,_[a>>2]=t,D=+p[a>>2],0|h?(p[a>>2]=(+p[h+264>>2]*k+ +p[h+268>>2]*R+ +p[h+272>>2]*j)*+p[h+544>>2],A=0|_[a>>2],p[a>>2]=(+p[h+280>>2]*k+ +p[h+284>>2]*R+ +p[h+288>>2]*j)*+p[h+548>>2],f=0|_[a>>2],p[a>>2]=(+p[h+296>>2]*k+ +p[h+300>>2]*R+ +p[h+304>>2]*j)*+p[h+552>>2],u=0|_[a>>2]):(A=0,f=0,u=0),_[b+(152*I|0)+64>>2]=A,_[b+(152*I|0)+68>>2]=f,_[b+(152*I|0)+72>>2]=u,p[b+(152*I|0)+76>>2]=0,c=+p[e>>2],w=+p[e+4>>2],l=+p[e+8>>2],e=0|_[e+12>>2],p[b+(152*I|0)+32>>2]=c,p[b+(152*I|0)+36>>2]=w,p[b+(152*I|0)+40>>2]=l,_[b+(152*I|0)+44>>2]=e,0|d?(p[a>>2]=(c*+p[d+264>>2]+w*+p[d+268>>2]+l*+p[d+272>>2])*+p[d+544>>2],A=0|_[a>>2],p[a>>2]=(c*+p[d+280>>2]+w*+p[d+284>>2]+l*+p[d+288>>2])*+p[d+548>>2],f=0|_[a>>2],p[a>>2]=(c*+p[d+296>>2]+w*+p[d+300>>2]+l*+p[d+304>>2])*+p[d+552>>2],u=0|_[a>>2]):(A=0,f=0,u=0),_[b+(152*I|0)+80>>2]=A,_[b+(152*I|0)+84>>2]=f,_[b+(152*I|0)+88>>2]=u,p[b+(152*I|0)+92>>2]=0,0|h?(m=+p[h+264>>2]*k+ +p[h+268>>2]*R+ +p[h+272>>2]*j,y=+p[h+280>>2]*k+ +p[h+284>>2]*R+ +p[h+288>>2]*j,g=+p[h+296>>2]*k+ +p[h+300>>2]*R+ +p[h+304>>2]*j):(m=0,y=0,g=0),0|d?(C=+p[d+264>>2]*c+ +p[d+268>>2]*w+ +p[d+272>>2]*l,v=c*+p[d+280>>2]+w*+p[d+284>>2]+l*+p[d+288>>2],S=c*+p[d+296>>2]+w*+p[d+300>>2]+l*+p[d+304>>2]):(C=0,v=0,S=0),v=1/(m*k+y*R+g*j+0+(C*c+v*w+S*l)),p[b+(152*I|0)+108>>2]=v,0|h?(y=+p[r+(244*i|0)+192>>2],g=+p[r+(244*i|0)+196>>2],C=+p[r+(244*i|0)+200>>2],m=0*(+p[r+(244*i|0)+176>>2]+ +p[r+(244*i|0)+208>>2])+0*(+p[r+(244*i|0)+180>>2]+ +p[r+(244*i|0)+212>>2])+0*(+p[r+(244*i|0)+184>>2]+ +p[r+(244*i|0)+216>>2])):(y=0,g=0,C=0,m=0),m+=C*j+(g*R+y*k),!d)return j=0,k=0,j=0-(j=m+(j=(R=-0)+(j=(k*=l)+(j=(w*=S=0)+(j*=c))))),j*=v,p[(o=b+(152*I|0)+112|0)>>2]=j,p[(o=b+(152*I|0)+116|0)>>2]=0,D=-D,p[(o=b+(152*I|0)+120|0)>>2]=D,void(_[(I=b+(152*I|0)+124|0)>>2]=t);j=+p[r+(244*o|0)+192>>2],S=+p[r+(244*o|0)+196>>2],k=+p[r+(244*o|0)+200>>2],j=0-(j=m+(j=(R=-0*(+p[r+(244*o|0)+176>>2]+ +p[r+(244*o|0)+208>>2])+-0*(+p[r+(244*o|0)+180>>2]+ +p[r+(244*o|0)+212>>2])+-0*(+p[r+(244*o|0)+184>>2]+ +p[r+(244*o|0)+216>>2]))+(j=(k*=l)+(j=(w*=S)+(j*=c))))),j*=v,p[(o=b+(152*I|0)+112|0)>>2]=j,p[(o=b+(152*I|0)+116|0)>>2]=0,D=-D,p[(o=b+(152*I|0)+120|0)>>2]=D,_[(I=b+(152*I|0)+124|0)>>2]=t}function Ce(t,e){e|=0;var i,o,r,s,c,l,d,b,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0;i=Q,Q=Q+16|0,_[236+(t|=0)>>2]=2,_[t+312>>2]=0,_[t+312+4>>2]=0,_[t+312+8>>2]=0,_[t+312+12>>2]=0,_[t+312+16>>2]=0,_[t+312+20>>2]=0,_[t+312+24>>2]=0,_[t+312+28>>2]=0,_[t+544>>2]=1065353216,_[t+548>>2]=1065353216,_[t+552>>2]=1065353216,p[t+556>>2]=0,_[t+348>>2]=1065353216,_[t+352>>2]=1065353216,_[t+356>>2]=1065353216,u=36+(A=t+360|0)|0;do{_[A>>2]=0,A=A+4|0}while((0|A)<(0|u));_[t+412>>2]=0,_[t+412+4>>2]=0,_[t+412+8>>2]=0,_[t+412+12>>2]=0,_[t+412+16>>2]=0,_[t+412+20>>2]=0,_[t+412+24>>2]=0,_[t+412+28>>2]=0,f=+p[e+92>>2],y=+p[e+96>>2],p[i+12>>2]=f,p[i+8>>2]=y,p[i+4>>2]=0,p[i>>2]=1,_[t+444>>2]=_[(f<0?i+4:f>1?i:i+12)>>2],p[i+4>>2]=0,p[i>>2]=1,_[t+448>>2]=_[(y<0?i+4:y>1?i:i+8)>>2],_[t+472>>2]=_[e+112>>2],_[t+476>>2]=_[e+116>>2],A=0|_[e+4>>2],_[t+480>>2]=A,_[t+608>>2]=0,_[t+612>>2]=0,n[t+452|0]=0|n[e+120|0],_[t+456>>2]=_[e+124>>2],_[t+460>>2]=_[e+128>>2],_[t+464>>2]=_[e+132>>2],_[t+468>>2]=_[e+136>>2],A?(ed[127&_[8+(0|_[A>>2])>>2]](A,t+4|0),A=t+20|0,u=t+36|0,m=t+52|0,h=t+4|0):(_[t+4>>2]=_[e+8>>2],_[t+4+4>>2]=_[e+8+4>>2],_[t+4+8>>2]=_[e+8+8>>2],_[t+4+12>>2]=_[e+8+12>>2],_[t+20>>2]=_[e+24>>2],_[t+20+4>>2]=_[e+24+4>>2],_[t+20+8>>2]=_[e+24+8>>2],_[t+20+12>>2]=_[e+24+12>>2],_[t+36>>2]=_[e+40>>2],_[t+36+4>>2]=_[e+40+4>>2],_[t+36+8>>2]=_[e+40+8>>2],_[t+36+12>>2]=_[e+40+12>>2],_[t+52>>2]=_[e+56>>2],_[t+52+4>>2]=_[e+56+4>>2],_[t+52+8>>2]=_[e+56+8>>2],_[t+52+12>>2]=_[e+56+12>>2],A=t+20|0,u=t+36|0,m=t+52|0,h=t+4|0),_[t+68>>2]=_[h>>2],_[t+68+4>>2]=_[h+4>>2],_[t+68+8>>2]=_[h+8>>2],_[t+68+12>>2]=_[h+12>>2],_[t+84>>2]=_[A>>2],_[t+84+4>>2]=_[A+4>>2],_[t+84+8>>2]=_[A+8>>2],_[t+84+12>>2]=_[A+12>>2],_[t+100>>2]=_[u>>2],_[t+100+4>>2]=_[u+4>>2],_[t+100+8>>2]=_[u+8>>2],_[t+100+12>>2]=_[u+12>>2],_[t+116>>2]=_[m>>2],_[t+116+4>>2]=_[m+4>>2],_[t+116+8>>2]=_[m+8>>2],_[t+116+12>>2]=_[m+12>>2],_[t+132>>2]=0,_[t+132+4>>2]=0,_[t+132+8>>2]=0,_[t+132+12>>2]=0,_[t+132+16>>2]=0,_[t+132+20>>2]=0,_[t+132+24>>2]=0,_[t+132+28>>2]=0,_[t+224>>2]=_[e+100>>2],_[t+232>>2]=_[e+104>>2],_[t+228>>2]=_[e+108>>2],ed[127&_[12+(0|_[t>>2])>>2]](t,0|_[e+72>>2]),A=0|_[6294],_[6294]=A+1,_[t+508>>2]=A,f=+p[e>>2],A=0|_[t+204>>2],0==f?(_[t+204>>2]=1|A,y=0):(_[t+204>>2]=-2&A,y=1/f),p[t+344>>2]=y,C=f*+p[t+384>>2],g=f*+p[t+388>>2],p[t+364>>2]=f*+p[t+380>>2],p[t+368>>2]=C,p[t+372>>2]=g,p[t+376>>2]=0,u=0!=(f=+p[e+76>>2])?(p[a>>2]=1/f,0|_[a>>2]):0,A=0!=(f=+p[e+80>>2])?(p[a>>2]=1/f,0|_[a>>2]):0,e=0!=(f=+p[e+84>>2])?(p[a>>2]=1/f,0|_[a>>2]):0,_[t+396>>2]=u,_[t+400>>2]=A,_[t+404>>2]=e,p[t+408>>2]=0,v=y*+p[t+352>>2],S=y*+p[t+356>>2],p[t+560>>2]=y*+p[t+348>>2],p[t+564>>2]=v,p[t+568>>2]=S,p[t+572>>2]=0,S=+p[t+4>>2],_[a>>2]=u,v=+p[a>>2],b=+p[t+8>>2],_[a>>2]=A,f=+p[a>>2],d=+p[t+12>>2],_[a>>2]=e,g=+p[a>>2],l=+p[t+20>>2],c=+p[t+24>>2],s=+p[t+28>>2],r=+p[t+36>>2],o=+p[t+40>>2],C=+p[t+44>>2],p[t+264>>2]=S*(S*v)+b*(b*f)+d*(d*g),p[t+268>>2]=S*v*l+b*f*c+d*g*s,p[t+272>>2]=S*v*r+b*f*o+d*g*C,p[t+276>>2]=0,p[t+280>>2]=S*(l*v)+b*(c*f)+d*(s*g),p[t+284>>2]=l*(l*v)+c*(c*f)+s*(s*g),p[t+288>>2]=l*v*r+c*f*o+s*g*C,p[t+292>>2]=0,p[t+296>>2]=S*(r*v)+b*(o*f)+d*(C*g),p[t+300>>2]=l*(r*v)+c*(o*f)+s*(C*g),p[t+304>>2]=r*(r*v)+o*(o*f)+C*(C*g),p[t+308>>2]=0,_[t+504>>2]=0,_[t+512>>2]=0,_[t+512+4>>2]=0,_[t+512+8>>2]=0,_[t+512+12>>2]=0,_[t+512+16>>2]=0,_[t+512+20>>2]=0,_[t+512+24>>2]=0,_[t+512+28>>2]=0,g=y*+p[t+352>>2],C=y*+p[t+356>>2],p[t+560>>2]=y*+p[t+348>>2],p[t+564>>2]=g,p[t+568>>2]=C,u=36+(A=t+572|0)|0;do{_[A>>2]=0,A=A+4|0}while((0|A)<(0|u));Q=i}function ve(t,e,i,o){e|=0,i|=0,o|=0;var r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0;return r=Q,Q=Q+240|0,0|_[16+(t|=0)>>2]?(V=0|_[t+4>>2],n[V+312|0]=0,_[V>>2]=0,n[V+356|0]=1,_[V+292>>2]=1566444395,_[V+296>>2]=1566444395,_[V+300>>2]=1566444395,p[V+304>>2]=0,_[V+336>>2]=0,_[V+336+4>>2]=0,_[V+336+8>>2]=0,_[V+336+12>>2]=0,n[V+336+16|0]=0,n[V+332|0]=-16&n[V+332|0],V=0|_[t+12>>2],M=0|_[t+16>>2],P=0|_[V+4>>2],T=0|_[M+4>>2],x=+Il[15&_[48+(0|_[V>>2])>>2]](V),G=0|_[t+16>>2],O=+Il[15&_[48+(0|_[G>>2])>>2]](G),G=0|_[t+4>>2],t=0|_[t+8>>2],_[r+152>>2]=10204,_[r+152+4>>2]=0,_[r+152+8>>2]=1065353216,_[r+152+12>>2]=0,p[r+152+16>>2]=0,_[r+152+20>>2]=t,_[r+152+24>>2]=G,_[r+152+28>>2]=V,_[r+152+32>>2]=M,_[r+152+36>>2]=P,_[r+152+40>>2]=T,p[r+152+44>>2]=x,p[r+152+48>>2]=O,n[r+152+52|0]=0,_[r+152+60>>2]=-1,_[r+152+72>>2]=1,_[r+152+76>>2]=1,p[r+16+128>>2]=0xde0b6b000000000,_[r+16>>2]=_[e>>2],_[r+16+4>>2]=_[e+4>>2],_[r+16+8>>2]=_[e+8>>2],_[r+16+12>>2]=_[e+12>>2],_[r+16+16>>2]=_[e+16>>2],_[r+16+16+4>>2]=_[e+16+4>>2],_[r+16+16+8>>2]=_[e+16+8>>2],_[r+16+16+12>>2]=_[e+16+12>>2],_[r+16+32>>2]=_[e+32>>2],_[r+16+32+4>>2]=_[e+32+4>>2],_[r+16+32+8>>2]=_[e+32+8>>2],_[r+16+32+12>>2]=_[e+32+12>>2],_[r+16+48>>2]=_[e+48>>2],_[r+16+48+4>>2]=_[e+48+4>>2],_[r+16+48+8>>2]=_[e+48+8>>2],_[r+16+48+12>>2]=_[e+48+12>>2],_[r+16+64>>2]=_[i>>2],_[r+16+64+4>>2]=_[i+4>>2],_[r+16+64+8>>2]=_[i+8>>2],_[r+16+64+12>>2]=_[i+12>>2],_[r+16+80>>2]=_[i+16>>2],_[r+16+80+4>>2]=_[i+16+4>>2],_[r+16+80+8>>2]=_[i+16+8>>2],_[r+16+80+12>>2]=_[i+16+12>>2],_[r+16+96>>2]=_[i+32>>2],_[r+16+96+4>>2]=_[i+32+4>>2],_[r+16+96+8>>2]=_[i+32+8>>2],_[r+16+96+12>>2]=_[i+32+12>>2],_[r+16+112>>2]=_[i+48>>2],_[r+16+112+4>>2]=_[i+48+4>>2],_[r+16+112+8>>2]=_[i+48+8>>2],_[r+16+112+12>>2]=_[i+48+12>>2],Si(r+152|0,r+16|0,o,0,0),void(Q=r)):(T=0|_[t+12>>2],t=0|_[t+20>>2],v=+p[e>>2],f=+p[e+4>>2],y=+p[e+8>>2],c=+p[e+16>>2],u=+p[e+20>>2],s=+p[e+24>>2],l=+p[e+32>>2],m=+p[e+36>>2],d=+p[e+40>>2],B=+p[e+48>>2],I=+p[e+52>>2],D=+p[e+56>>2],O=+p[i>>2],x=+p[i+16>>2],w=+p[i+32>>2],F=+p[i+4>>2],W=+p[i+20>>2],S=+p[i+36>>2],g=+p[i+8>>2],a=+p[i+24>>2],A=+p[i+40>>2],j=-+p[i+48>>2],R=-+p[i+52>>2],C=-+p[i+56>>2],e=0|_[64+(0|_[T>>2])>>2],k=-+p[t+48>>2],h=-+p[t+52>>2],b=-+p[t+56>>2],p[r+16>>2]=(v*O+c*x+l*w)*k+(v*F+c*W+l*S)*h+(v*g+c*a+l*A)*b,p[r+16+4>>2]=(f*O+u*x+m*w)*k+(f*F+u*W+m*S)*h+(f*g+u*a+m*A)*b,p[r+16+8>>2]=(y*O+s*x+d*w)*k+(y*F+s*W+d*S)*h+(y*g+s*a+d*A)*b,p[r+16+12>>2]=0,_d[127&e](r+152|0,T,r+16|0),w=B*O+I*x+D*w+(O*j+x*R+w*C)+((v*O+c*x+l*w)*(b=+p[r+152>>2])+(f*O+u*x+m*w)*(h=+p[r+152+4>>2])+(y*O+s*x+d*w)*(k=+p[r+152+8>>2])),S=B*F+I*W+D*S+(F*j+W*R+S*C)+((v*F+c*W+l*S)*b+(f*F+u*W+m*S)*h+(y*F+s*W+d*S)*k),k=B*g+I*a+D*A+(g*j+a*R+A*C)+((v*g+c*a+l*A)*b+(f*g+u*a+m*A)*h+(y*g+s*a+d*A)*k),A=+p[t+48>>2],d=+p[t+52>>2],s=(a=+p[t+56>>2])*k+(A*w+d*S)-+p[t+64>>2],g=+p[i>>2],y=+p[i+4>>2],h=+p[i+8>>2],m=+p[i+16>>2],u=+p[i+20>>2],f=+p[i+24>>2],b=+p[i+32>>2],l=+p[i+36>>2],c=+p[i+40>>2],v=(w-A*s)*m+(S-d*s)*u+(k-a*s)*f+ +p[i+52>>2],C=(w-A*s)*b+(S-d*s)*l+(k-a*s)*c+ +p[i+56>>2],p[r+16>>2]=h*(k-a*s)+(g*(w-A*s)+y*(S-d*s))+ +p[i+48>>2],p[r+16+4>>2]=v,p[r+16+8>>2]=C,p[r+16+12>>2]=0,p[r>>2]=A*g+d*y+a*h,p[r+4>>2]=A*m+d*u+a*f,p[r+8>>2]=A*b+d*l+a*c,p[r+12>>2]=0,rd[15&_[16+(0|_[o>>2])>>2]](o,r,r+16|0,s),void(Q=r))}function Se(t,e,i,n,o,r){t|=0,e|=0,i|=0,n|=0,o|=0;var s,c,a,l,d,A,f,u,m,h,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0;s=Q,Q=Q+544|0,C=36+(g=r|=0)|0;do{_[g>>2]=0,g=g+4|0}while((0|g)<(0|C));if(_[s+384>>2]=t,_[s+384+4>>2]=i,A=+p[n>>2],F=+p[e>>2],d=+p[n+16>>2],W=+p[e+16>>2],l=+p[n+32>>2],h=+p[e+32>>2],m=+p[e+4>>2],u=+p[e+20>>2],f=+p[e+36>>2],v=+p[e+8>>2],w=+p[e+24>>2],R=+p[e+40>>2],a=+p[n+4>>2],c=+p[n+20>>2],y=+p[n+36>>2],S=+p[n+8>>2],k=+p[n+24>>2],j=+p[n+40>>2],p[s+384+8>>2]=A*F+d*W+l*h,p[s+384+12>>2]=A*m+d*u+l*f,p[s+384+16>>2]=A*v+d*w+l*R,p[s+384+20>>2]=0,p[s+384+24>>2]=F*a+W*c+h*y,p[s+384+28>>2]=m*a+u*c+f*y,p[s+384+32>>2]=v*a+w*c+R*y,p[s+384+36>>2]=0,p[s+384+40>>2]=F*S+W*k+h*j,p[s+384+44>>2]=m*S+u*k+f*j,p[s+384+48>>2]=v*S+w*k+R*j,p[s+384+52>>2]=0,O=+p[n+48>>2]-+p[e+48>>2],x=+p[n+52>>2]-+p[e+52>>2],B=+p[n+56>>2]-+p[e+56>>2],D=O*+p[e>>2]+x*+p[e+16>>2]+B*+p[e+32>>2],I=O*+p[e+4>>2]+x*+p[e+20>>2]+B*+p[e+36>>2],B=O*+p[e+8>>2]+x*+p[e+24>>2]+B*+p[e+40>>2],p[s+384+56>>2]=A*F+d*W+l*h,p[s+384+60>>2]=F*a+W*c+h*y,p[s+384+64>>2]=F*S+W*k+h*j,p[s+384+68>>2]=0,p[s+384+72>>2]=A*m+d*u+l*f,p[s+384+76>>2]=m*a+u*c+f*y,p[s+384+80>>2]=m*S+u*k+f*j,p[s+384+84>>2]=0,p[s+384+88>>2]=A*v+d*w+l*R,p[s+384+92>>2]=v*a+w*c+R*y,p[s+384+96>>2]=v*S+w*k+R*j,p[s+384+100>>2]=0,p[s+384+104>>2]=D,p[s+384+108>>2]=I,p[s+384+112>>2]=B,p[s+384+116>>2]=0,_[s+384+120>>2]=81,_[s+384+124>>2]=0,_[s+364>>2]=0,_[s+128>>2]=0,_[s+128+4>>2]=0,_[s+128+8>>2]=0,_[s+128+12>>2]=0,_[s+376>>2]=2,_[s+368>>2]=0,p[s+144>>2]=0,0|(t=0|Ci(s,s+384|0,o)))return _[r>>2]=1==(0|t)?1:2,Q=s,0|(r=0);if(t=0|_[s+372>>2],0|_[t+32>>2]){o=0,w=0,k=0,R=0,y=0,v=0,S=0;do{B=+p[t+16+(o<<2)>>2],i=0|_[s+384+120>>2],C=0|_[s+384+124>>2],n=(0|_[s+384>>2])+(C>>1)|0,1&C&&(i=0|_[(0|_[n>>2])+i>>2]),_d[127&i](s+528|0,n,0|_[t+(o<<2)>>2]),w+=B*+p[s+528>>2],k+=B*+p[s+528+4>>2],R+=B*+p[s+528+8>>2],t=0|_[(0|_[s+372>>2])+(o<<2)>>2],j=-+p[t>>2],D=-+p[t+4>>2],I=-+p[t+8>>2],t=0|_[s+384+120>>2],C=0|_[s+384+124>>2],i=(0|_[s+384+4>>2])+(C>>1)|0,1&C&&(t=0|_[(0|_[i>>2])+t>>2]),x=+p[s+384+24>>2]*j+ +p[s+384+28>>2]*D+ +p[s+384+32>>2]*I,F=+p[s+384+40>>2]*j+ +p[s+384+44>>2]*D+ +p[s+384+48>>2]*I,p[s+512>>2]=+p[s+384+8>>2]*j+ +p[s+384+12>>2]*D+ +p[s+384+16>>2]*I,p[s+512+4>>2]=x,p[s+512+8>>2]=F,p[s+512+12>>2]=0,_d[127&t](s+528|0,i,s+512|0),F=+p[s+528>>2],x=+p[s+528+4>>2],O=+p[s+528+8>>2],y+=B*(F*+p[s+384+56>>2]+x*+p[s+384+60>>2]+O*+p[s+384+64>>2]+ +p[s+384+104>>2]),v+=B*(F*+p[s+384+72>>2]+x*+p[s+384+76>>2]+O*+p[s+384+80>>2]+ +p[s+384+108>>2]),S+=B*(F*+p[s+384+88>>2]+x*+p[s+384+92>>2]+O*+p[s+384+96>>2]+ +p[s+384+112>>2]),o=o+1|0,t=0|_[s+372>>2]}while(o>>>0<(0|_[t+32>>2])>>>0)}else R=0,k=0,w=0,S=0,v=0,y=0;return W=w*+p[e+16>>2]+k*+p[e+20>>2]+R*+p[e+24>>2]+ +p[e+52>>2],F=w*+p[e+32>>2]+k*+p[e+36>>2]+R*+p[e+40>>2]+ +p[e+56>>2],p[r+4>>2]=w*+p[e>>2]+k*+p[e+4>>2]+R*+p[e+8>>2]+ +p[e+48>>2],p[r+8>>2]=W,p[r+12>>2]=F,p[r+16>>2]=0,F=y*+p[e+16>>2]+v*+p[e+20>>2]+S*+p[e+24>>2]+ +p[e+52>>2],W=y*+p[e+32>>2]+v*+p[e+36>>2]+S*+p[e+40>>2]+ +p[e+56>>2],p[r+20>>2]=y*+p[e>>2]+v*+p[e+4>>2]+S*+p[e+8>>2]+ +p[e+48>>2],p[r+24>>2]=F,p[r+28>>2]=W,p[r+32>>2]=0,W=w-y,F=k-v,x=R-S,p[r+48>>2]=0,O=+b(+(W*W+F*F+x*x)),p[r+52>>2]=O,O=O>9999999747378752e-20?1/O:1,p[r+36>>2]=W*O,p[r+40>>2]=F*O,p[r+44>>2]=x*O,Q=s,0|(r=1)}function we(t,e,i,n,o,r){t|=0,e|=0,i|=0,n|=0,o|=0,r=+r;var s,c,a,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0;if(s=Q,Q=Q+464|0,$i(18138),_[s+128>>2]=_[i>>2],_[s+128+4>>2]=_[i+4>>2],_[s+128+8>>2]=_[i+8>>2],_[s+128+12>>2]=_[i+12>>2],_[s+128+16>>2]=_[i+16>>2],_[s+128+16+4>>2]=_[i+16+4>>2],_[s+128+16+8>>2]=_[i+16+8>>2],_[s+128+16+12>>2]=_[i+16+12>>2],_[s+128+32>>2]=_[i+32>>2],_[s+128+32+4>>2]=_[i+32+4>>2],_[s+128+32+8>>2]=_[i+32+8>>2],_[s+128+32+12>>2]=_[i+32+12>>2],_[(a=s+128+48|0)>>2]=_[i+48>>2],_[a+4>>2]=_[i+48+4>>2],_[a+8>>2]=_[i+48+8>>2],_[a+12>>2]=_[i+48+12>>2],_[s+64>>2]=_[n>>2],_[s+64+4>>2]=_[n+4>>2],_[s+64+8>>2]=_[n+8>>2],_[s+64+12>>2]=_[n+12>>2],_[s+64+16>>2]=_[n+16>>2],_[s+64+16+4>>2]=_[n+16+4>>2],_[s+64+16+8>>2]=_[n+16+8>>2],_[s+64+16+12>>2]=_[n+16+12>>2],_[s+64+32>>2]=_[n+32>>2],_[s+64+32+4>>2]=_[n+32+4>>2],_[s+64+32+8>>2]=_[n+32+8>>2],_[s+64+32+12>>2]=_[n+32+12>>2],_[(c=s+64+48|0)>>2]=_[n+48>>2],_[c+4>>2]=_[n+48+4>>2],_[c+8>>2]=_[n+48+8>>2],_[c+12>>2]=_[n+48+12>>2],$(s+128|0,s+64|0,s+256|0,s+192|0),l=(y=+p[s+192>>2])*+p[s+256+4>>2],m=y*+p[s+256+8>>2],p[s+16>>2]=+p[s+256>>2]*y,p[s+16+4>>2]=l,p[s+16+8>>2]=m,p[s+16+12>>2]=0,_[s+256>>2]=0,_[s+256+4>>2]=0,_[s+256+8>>2]=0,_[s+256+12>>2]=0,_[s+192+48>>2]=0,_[s+192+48+4>>2]=0,_[s+192+48+8>>2]=0,_[s+192+48+12>>2]=0,Qt(s+128|0,s),A=(m=+p[s>>2])*(2/(m*m+(l=+p[s+4>>2])*l+(y=+p[s+8>>2])*y+(u=+p[s+12>>2])*u)),d=l*(2/(m*m+l*l+y*y+u*u)),f=y*(2/(m*m+l*l+y*y+u*u)),p[s+192>>2]=1-(l*d+y*f),p[s+192+4>>2]=m*d-u*f,p[s+192+8>>2]=m*f+u*d,p[s+192+12>>2]=0,p[s+192+16>>2]=m*d+u*f,p[s+192+20>>2]=1-(m*A+y*f),p[s+192+24>>2]=l*f-u*A,p[s+192+28>>2]=0,p[s+192+32>>2]=m*f-u*d,p[s+192+36>>2]=l*f+u*A,p[s+192+40>>2]=1-(m*A+l*d),p[s+192+44>>2]=0,Nt(e,s+192|0,s+256|0,s+16|0,s+48|0,s+32|0),_[s+256>>2]=6832,_[s+256+36>>2]=_[i>>2],_[s+256+36+4>>2]=_[i+4>>2],_[s+256+36+8>>2]=_[i+8>>2],_[s+256+36+12>>2]=_[i+12>>2],_[s+256+52>>2]=_[i+16>>2],_[s+256+52+4>>2]=_[i+16+4>>2],_[s+256+52+8>>2]=_[i+16+8>>2],_[s+256+52+12>>2]=_[i+16+12>>2],_[s+256+68>>2]=_[i+32>>2],_[s+256+68+4>>2]=_[i+32+4>>2],_[s+256+68+8>>2]=_[i+32+8>>2],_[s+256+68+12>>2]=_[i+32+12>>2],_[(h=s+256+84|0)>>2]=_[i+48>>2],_[h+4>>2]=_[i+48+4>>2],_[h+8>>2]=_[i+48+8>>2],_[h+12>>2]=_[i+48+12>>2],_[s+256+100>>2]=_[n>>2],_[s+256+100+4>>2]=_[n+4>>2],_[s+256+100+8>>2]=_[n+8>>2],_[s+256+100+12>>2]=_[n+12>>2],_[s+256+116>>2]=_[n+16>>2],_[s+256+116+4>>2]=_[n+16+4>>2],_[s+256+116+8>>2]=_[n+16+8>>2],_[s+256+116+12>>2]=_[n+16+12>>2],_[s+256+132>>2]=_[n+32>>2],_[s+256+132+4>>2]=_[n+32+4>>2],_[s+256+132+8>>2]=_[n+32+8>>2],_[s+256+132+12>>2]=_[n+32+12>>2],_[(i=s+256+148|0)>>2]=_[n+48>>2],_[i+4>>2]=_[n+48+4>>2],_[i+8>>2]=_[n+48+8>>2],_[i+12>>2]=_[n+48+12>>2],_[s+256+180>>2]=t,_[s+256+184>>2]=o,p[s+256+188>>2]=r,_[s+256+192>>2]=e,d=+p[i>>2]-+p[h>>2],l=+p[s+256+152>>2]-+p[s+256+88>>2],A=+p[s+256+156>>2]-+p[s+256+92>>2],m=d*(r=1/+b(+(d*d+l*l+A*A)))==0?0xde0b6b000000000:1/(d*r),p[s+256+4>>2]=m,u=l*r==0?0xde0b6b000000000:1/(l*r),p[s+256+8>>2]=u,f=A*r==0?0xde0b6b000000000:1/(A*r),p[s+256+12>>2]=f,_[s+256+20>>2]=m<0&1,_[s+256+24>>2]=u<0&1,_[s+256+28>>2]=f<0&1,p[s+256+32>>2]=A*(A*r)+(d*(d*r)+l*(l*r)),t=0|_[t+68>>2],Ad[7&_[24+(0|_[t>>2])>>2]](t,a,c,s+256|0,s+48|0,s+32|0),t=0|_[2606],o=(0|_[t+16>>2])-1|0,_[t+16>>2]=o,0|o)Q=s;else{do{if(0|_[t+4>>2]){if(G(s+256|0,0),h=0|_[6629],p[t+8>>2]=+p[t+8>>2]+ +(((0|_[s+256+4>>2])-(0|_[h+4>>2])+(1e6*((0|_[s+256>>2])-(0|_[h>>2])|0)|0)-(0|_[t+12>>2])|0)>>>0)/1e3,0|_[t+16>>2])return void(Q=s);t=0|_[2606];break}}while(0);_[2606]=_[t+20>>2],Q=s}}function ke(t,e){e|=0;var i,n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0;if(f=0|_[192+(t|=0)>>2],i=+Il[15&_[48+(0|_[f>>2])>>2]](f),(0|(f=0|_[t+712>>2]))>0){c=0;do{A=0|_[t+720>>2],m=+p[(r=A+(104*c|0)+8|0)>>2],u=+p[(s=A+(104*c|0)+12|0)>>2],d=+p[(n=A+(104*c|0)+16|0)>>2],a=m*+p[e>>2]+u*+p[e+4>>2]+d*+p[e+8>>2]+ +p[e+48>>2],l=m*+p[e+16>>2]+u*+p[e+20>>2]+d*+p[e+24>>2]+ +p[e+52>>2],d=m*+p[e+32>>2]+u*+p[e+36>>2]+d*+p[e+40>>2]+ +p[e+56>>2],p[r>>2]=a,p[s>>2]=l,p[n>>2]=d,p[A+(104*c|0)+20>>2]=0,u=+p[(n=A+(104*c|0)+24|0)>>2],m=+p[(s=A+(104*c|0)+28|0)>>2],h=+p[(r=A+(104*c|0)+32|0)>>2],y=u*+p[e+16>>2]+m*+p[e+20>>2]+h*+p[e+24>>2]+ +p[e+52>>2],g=u*+p[e+32>>2]+m*+p[e+36>>2]+h*+p[e+40>>2]+ +p[e+56>>2],p[n>>2]=u*+p[e>>2]+m*+p[e+4>>2]+h*+p[e+8>>2]+ +p[e+48>>2],p[s>>2]=y,p[r>>2]=g,p[A+(104*c|0)+36>>2]=0,g=+p[(r=A+(104*c|0)+72|0)>>2],y=+p[(s=A+(104*c|0)+76|0)>>2],h=+p[(n=A+(104*c|0)+80|0)>>2],m=g*+p[e+16>>2]+y*+p[e+20>>2]+h*+p[e+24>>2],u=g*+p[e+32>>2]+y*+p[e+36>>2]+h*+p[e+40>>2],p[r>>2]=+p[e>>2]*g+ +p[e+4>>2]*y+ +p[e+8>>2]*h,p[s>>2]=m,p[n>>2]=u,p[A+(104*c|0)+84>>2]=0,n=0|Tt(t+928|0,A=0|_[A+(104*c|0)+96>>2]);t:do{if(n){if((0|(s=0|_[t+936>>2]))<=-1){n=0|_[t+928>>2];break}if(s)for(o=0;;){if(o=o+1|0,!(r=0|_[n+32>>2]))break t;if((0|o)>=(0|s)){n=r;break}n=r}}else n=0}while(0);p[A>>2]=a-i,p[A+4>>2]=l-i,p[A+8>>2]=d-i,p[A+12>>2]=0,p[A+16>>2]=i+a,p[A+20>>2]=i+l,p[A+24>>2]=i+d,p[A+28>>2]=0,U(t+928|0,n,A),c=c+1|0}while((0|c)!=(0|f))}if(ht(t),(n=0|_[t+928>>2])?(f=0|_[t+192>>2],h=+Il[15&_[48+(0|_[f>>2])>>2]](f),g=+p[n+4>>2]-h,y=+p[n+8>>2]-h,p[t+892>>2]=+p[n>>2]-h,p[t+896>>2]=g,p[t+900>>2]=y,p[t+904>>2]=0,y=h+ +p[n+20>>2],g=h+ +p[n+24>>2],p[t+908>>2]=h+ +p[n+16>>2],p[t+912>>2]=y,p[t+916>>2]=g,p[t+920>>2]=0,0|(n=0|_[t+188>>2])&&(f=0|_[t+684>>2],A=0|_[f+32>>2],dd[31&_[16+(0|_[A>>2])>>2]](A,n,t+892|0,t+908|0,0|_[f+36>>2]))):(_[t+892>>2]=0,_[t+892+4>>2]=0,_[t+892+8>>2]=0,_[t+892+12>>2]=0,_[t+892+16>>2]=0,_[t+892+20>>2]=0,_[t+892+24>>2]=0,_[t+892+28>>2]=0),(0|(o=0|_[t+732>>2]))<=0)return _t(t),_[(f=t+1148|0)>>2]=_[e>>2],_[f+4>>2]=_[e+4>>2],_[f+8>>2]=_[e+8>>2],_[f+12>>2]=_[e+12>>2],f=e+16|0,_[(A=t+1164|0)>>2]=_[f>>2],_[A+4>>2]=_[f+4>>2],_[A+8>>2]=_[f+8>>2],_[A+12>>2]=_[f+12>>2],A=e+32|0,_[(f=t+1180|0)>>2]=_[A>>2],_[f+4>>2]=_[A+4>>2],_[f+8>>2]=_[A+8>>2],_[f+12>>2]=_[A+12>>2],f=e+48|0,_[(e=t+1196|0)>>2]=_[f>>2],_[e+4>>2]=_[f+4>>2],_[e+8>>2]=_[f+8>>2],void(_[e+12>>2]=_[f+12>>2]);r=0|_[t+740>>2],n=0;do{A=0|_[r+(52*n|0)+8>>2],f=0|_[r+(52*n|0)+12>>2],h=+p[A+8>>2]-+p[f+8>>2],y=+p[A+12>>2]-+p[f+12>>2],g=+p[A+16>>2]-+p[f+16>>2],g=+b(+(h*h+y*y+g*g)),p[r+(52*n|0)+16>>2]=g,p[r+(52*n|0)+28>>2]=g*g,n=n+1|0}while((0|n)!=(0|o));n=0;do{p[r+(52*n|0)+24>>2]=(+p[88+(0|_[r+(52*n|0)+8>>2])>>2]+ +p[88+(0|_[r+(52*n|0)+12>>2])>>2])/+p[4+(0|_[r+(52*n|0)+4>>2])>>2],n=n+1|0}while((0|n)!=(0|o));_t(t),_[(f=t+1148|0)>>2]=_[e>>2],_[f+4>>2]=_[e+4>>2],_[f+8>>2]=_[e+8>>2],_[f+12>>2]=_[e+12>>2],f=e+16|0,_[(A=t+1164|0)>>2]=_[f>>2],_[A+4>>2]=_[f+4>>2],_[A+8>>2]=_[f+8>>2],_[A+12>>2]=_[f+12>>2],A=e+32|0,_[(f=t+1180|0)>>2]=_[A>>2],_[f+4>>2]=_[A+4>>2],_[f+8>>2]=_[A+8>>2],_[f+12>>2]=_[A+12>>2],f=e+48|0,_[(e=t+1196|0)>>2]=_[f>>2],_[e+4>>2]=_[f+4>>2],_[e+8>>2]=_[f+8>>2],_[e+12>>2]=_[f+12>>2]}function Re(t,e,i){t|=0,i=+i;var n,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0;if(n=Q,Q=Q+256|0,(0|(o=0|_[212+(e|=0)>>2]))>-1)return Q=n,0|(e=o);o=(s=!(2&_[e+236>>2]))?0:e;do{if(!s){if(0==+p[o+344>>2]&&!(2&_[o+204>>2]))break;if(s=0|_[t+8>>2],wn(0|n,0,244),t=0|q(t+4|0,n),o=(r=!(2&_[e+236>>2]))?0:e,_[t+64>>2]=0,_[t+64+4>>2]=0,_[t+64+8>>2]=0,_[t+64+12>>2]=0,_[t+64+16>>2]=0,_[t+64+20>>2]=0,_[t+64+24>>2]=0,_[t+64+28>>2]=0,_[t+144>>2]=0,_[t+144+4>>2]=0,_[t+144+8>>2]=0,_[t+144+12>>2]=0,_[t+144+16>>2]=0,_[t+144+20>>2]=0,_[t+144+24>>2]=0,_[t+144+28>>2]=0,r){_[t>>2]=1065353216,_[t+4>>2]=0,_[t+4+4>>2]=0,_[t+4+8>>2]=0,_[t+4+12>>2]=0,_[t+20>>2]=1065353216,_[t+24>>2]=0,_[t+24+4>>2]=0,_[t+24+8>>2]=0,_[t+24+12>>2]=0,_[t+40>>2]=1065353216,_[t+44>>2]=0,_[t+44+4>>2]=0,_[t+44+8>>2]=0,_[t+44+12>>2]=0,_[t+44+16>>2]=0,_[t+240>>2]=0,_[t+128>>2]=0,_[t+128+4>>2]=0,_[t+128+8>>2]=0,_[t+128+12>>2]=0,_[t+96>>2]=1065353216,_[t+100>>2]=1065353216,_[t+104>>2]=1065353216,p[t+108>>2]=0,_[t+112>>2]=1065353216,_[t+116>>2]=1065353216,_[t+120>>2]=1065353216,p[t+124>>2]=0,r=60+(o=t+176|0)|0;do{_[o>>2]=0,o=o+4|0}while((0|o)<(0|r))}else _[t>>2]=_[o+4>>2],_[t+4>>2]=_[o+4+4>>2],_[t+8>>2]=_[o+4+8>>2],_[t+12>>2]=_[o+4+12>>2],_[t+16>>2]=_[o+20>>2],_[t+16+4>>2]=_[o+20+4>>2],_[t+16+8>>2]=_[o+20+8>>2],_[t+16+12>>2]=_[o+20+12>>2],_[t+32>>2]=_[o+36>>2],_[t+32+4>>2]=_[o+36+4>>2],_[t+32+8>>2]=_[o+36+8>>2],_[t+32+12>>2]=_[o+36+12>>2],_[t+48>>2]=_[o+52>>2],_[t+48+4>>2]=_[o+52+4>>2],_[t+48+8>>2]=_[o+52+8>>2],_[t+48+12>>2]=_[o+52+12>>2],d=(b=+p[o+344>>2])*+p[o+352>>2],l=b*+p[o+356>>2],p[t+128>>2]=b*+p[o+348>>2],p[t+132>>2]=d,p[t+136>>2]=l,p[t+140>>2]=0,_[t+240>>2]=o,_[t+96>>2]=_[o+544>>2],_[t+96+4>>2]=_[o+544+4>>2],_[t+96+8>>2]=_[o+544+8>>2],_[t+96+12>>2]=_[o+544+12>>2],_[t+112>>2]=_[o+348>>2],_[t+112+4>>2]=_[o+348+4>>2],_[t+112+8>>2]=_[o+348+8>>2],_[t+112+12>>2]=_[o+348+12>>2],_[t+176>>2]=_[o+312>>2],_[t+176+4>>2]=_[o+312+4>>2],_[t+176+8>>2]=_[o+312+8>>2],_[t+176+12>>2]=_[o+312+12>>2],_[t+192>>2]=_[o+328>>2],_[t+192+4>>2]=_[o+328+4>>2],_[t+192+8>>2]=_[o+328+8>>2],_[t+192+12>>2]=_[o+328+12>>2],d=(l=+p[o+344>>2])*+p[o+416>>2]*i,b=l*+p[o+420>>2]*i,p[t+208>>2]=l*+p[o+412>>2]*i,p[t+212>>2]=d,p[t+216>>2]=b,p[t+220>>2]=0,b=+p[o+428>>2],d=+p[o+432>>2],l=+p[o+436>>2],a=(b*+p[o+268>>2]+d*+p[o+284>>2]+l*+p[o+300>>2])*i,c=(b*+p[o+272>>2]+d*+p[o+288>>2]+l*+p[o+304>>2])*i,p[t+224>>2]=(+p[o+264>>2]*b+ +p[o+280>>2]*d+ +p[o+296>>2]*l)*i,p[t+228>>2]=a,p[t+232>>2]=c;return p[t+236>>2]=0,_[e+212>>2]=s,Q=n,0|(e=s)}}while(0);if((0|(o=0|_[t+188>>2]))>=0)return Q=n,0|(e=o);_[t+188>>2]=_[t+8>>2],wn(0|n,0,244),o=0|q(t+4|0,n),_[o+64>>2]=0,_[o+64+4>>2]=0,_[o+64+8>>2]=0,_[o+64+12>>2]=0,_[o+64+16>>2]=0,_[o+64+20>>2]=0,_[o+64+24>>2]=0,_[o+64+28>>2]=0,_[o+144>>2]=0,_[o+144+4>>2]=0,_[o+144+8>>2]=0,_[o+144+12>>2]=0,_[o+144+16>>2]=0,_[o+144+20>>2]=0,_[o+144+24>>2]=0,_[o+144+28>>2]=0,_[o>>2]=1065353216,_[o+4>>2]=0,_[o+4+4>>2]=0,_[o+4+8>>2]=0,_[o+4+12>>2]=0,_[o+20>>2]=1065353216,_[o+24>>2]=0,_[o+24+4>>2]=0,_[o+24+8>>2]=0,_[o+24+12>>2]=0,_[o+40>>2]=1065353216,_[o+44>>2]=0,_[o+44+4>>2]=0,_[o+44+8>>2]=0,_[o+44+12>>2]=0,_[o+44+16>>2]=0,_[o+240>>2]=0,_[o+128>>2]=0,_[o+128+4>>2]=0,_[o+128+8>>2]=0,_[o+128+12>>2]=0,_[o+96>>2]=1065353216,_[o+100>>2]=1065353216,_[o+104>>2]=1065353216,p[o+108>>2]=0,_[o+112>>2]=1065353216,_[o+116>>2]=1065353216,_[o+120>>2]=1065353216,p[o+124>>2]=0,r=64+(o=o+176|0)|0;do{_[o>>2]=0,o=o+4|0}while((0|o)<(0|r));return e=0|_[t+188>>2],Q=n,0|e}function je(t,e,i){e|=0,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0;if(0|n[165+(t|=0)|0]){r=0|_[t+88>>2];t:do{if((0|r)>0&i){for(o=0|_[t+96>>2],a=+p[e>>2],l=+p[e+4>>2],d=+p[e+8>>2],b=+p[t+168>>2],i=0;!((h=+p[o+(i<<4)>>2]-a)*h+(m=+p[o+(i<<4)+4>>2]-l)*m+(u=+p[o+(i<<4)+8>>2]-d)*u<=b);)if((0|(i=i+1|0))>=(0|r))break t;return 0|i}}while(0);if(f=12+(0|_[t+32>>2])|0,_[f>>2]=1+(0|_[f>>2]),(0|r)==(0|_[t+92>>2])&&(0|r)<(0|(s=0|r?r<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(i=0|di(16+(s<<4|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,r=0|_[t+88>>2]):i=0,(0|r)>0){o=0;do{f=i+(o<<4)|0,A=(0|_[t+96>>2])+(o<<4)|0,_[f>>2]=_[A>>2],_[f+4>>2]=_[A+4>>2],_[f+8>>2]=_[A+8>>2],_[f+12>>2]=_[A+12>>2],o=o+1|0}while((0|o)!=(0|r))}0|(o=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=i,_[t+92>>2]=s,i=0|_[t+88>>2]}else i=r;return f=(0|_[t+96>>2])+(i<<4)|0,_[f>>2]=_[e>>2],_[f+4>>2]=_[e+4>>2],_[f+8>>2]=_[e+8>>2],_[f+12>>2]=_[e+12>>2],e=0|_[t+88>>2],_[t+88>>2]=e+1,_[16+(0|_[t+32>>2])>>2]=_[t+96>>2],0|e}c=0|_[t+108>>2];t:do{if((0|c)>0&i){for(o=0|_[t+116>>2],a=+p[e>>2],l=+p[e+4>>2],d=+p[e+8>>2],b=+p[t+168>>2],i=0;r=i+3|0,!((u=+p[o+(i<<2)>>2]-a)*u+(m=+p[o+(i+1<<2)>>2]-l)*m+(h=+p[o+(i+2<<2)>>2]-d)*h<=b);){if(!((0|r)<(0|c)))break t;i=r}return 0|(e=(i>>>0)/3|0)}}while(0);if((0|c)==(0|(i=0|_[t+112>>2])))if((0|c)<(0|(i=0|c?c<<1:1))){if(i?(_[6630]=1+(0|_[6630]),(o=0|di(16+(i<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,c=0|_[t+108>>2]):o=0,s=0|_[t+116>>2],(0|c)<=0)s?f=36:(s=t+120|0,r=c);else{r=0;do{_[o+(r<<2)>>2]=_[s+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|c));f=36}36==(0|f)&&(0|n[t+120|0]?(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),r=0|_[t+108>>2]):r=c,_[t+116>>2]=0,s=t+120|0),n[0|s]=1,_[t+116>>2]=o,_[t+112>>2]=i}else r=c,i=c;else r=c;if(c=0|_[t+116>>2],_[c+(r<<2)>>2]=_[e>>2],o=r+1|0,_[t+108>>2]=o,(0|o)==(0|i))if((0|i)<(0|(A=0|i?i<<1:1))){if(A?(_[6630]=1+(0|_[6630]),(i=0|di(16+(A<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,s=i,i=0|_[t+108>>2],r=0|_[t+116>>2]):(s=0,r=c),(0|i)<=0)r?f=51:o=t+120|0;else{o=0;do{_[s+(o<<2)>>2]=_[r+(o<<2)>>2],o=o+1|0}while((0|o)!=(0|i));f=51}51==(0|f)&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),i=0|_[t+108>>2]),_[t+116>>2]=0,o=t+120|0),n[0|o]=1,_[t+116>>2]=s,_[t+112>>2]=A,o=i,i=A}else s=c,o=i;else s=c;if(_[s+(o<<2)>>2]=_[e+4>>2],o=o+1|0,_[t+108>>2]=o,(0|o)==(0|i))if((0|i)<(0|(c=0|i?i<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(i=0|di(16+(c<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,r=i,i=0|_[t+108>>2],s=0|_[t+116>>2]):r=0,(0|i)<=0)s?f=66:o=t+120|0;else{o=0;do{_[r+(o<<2)>>2]=_[s+(o<<2)>>2],o=o+1|0}while((0|o)!=(0|i));f=66}66==(0|f)&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),i=0|_[t+108>>2]),_[t+116>>2]=0,o=t+120|0),n[0|o]=1,_[t+116>>2]=r,_[t+112>>2]=c}else r=s;else r=s,i=o;return _[r+(i<<2)>>2]=_[e+8>>2],e=i+1|0,_[t+108>>2]=e,t=0|_[t+32>>2],_[t+12>>2]=1+(0|_[t+12>>2]),_[t+16>>2]=r,0|(e=((0|e)/3|0)-1|0)}function De(t,e){t|=0,e|=0;var i,n,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0;if(n=Q,Q=Q+16|0,$i(13461),(0|(i=0|_[t+712>>2]))>0?(_[6630]=1+(0|_[6630]),(o=0|di(16+(i<<4|3)|0))?(_[(o+4+15&-16)-4>>2]=o,c=o+4+15&-16):c=0,wn(0|c,0,i<<4),(0|(s=0|_[t+712>>2]))>0?(_[6630]=1+(0|_[6630]),(o=0|di(16+(s<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,wn(0|o,0,s<<2),B=o,W=c,D=o,j=c):(B=0,W=c,D=0,j=c)):(B=0,W=0,D=0,j=0),R=0|_[t+1112>>2],e){if((0|R)>0){s=0|_[t+1120>>2],o=0;do{c=0|_[s+(o<<2)>>2],0|(a=0|_[c+312>>2])&&(p[c+276>>2]=1/+(0|a)*+p[c+276>>2],p[c+280>>2]=1/+(0|a)*+p[c+280>>2],p[c+284>>2]=1/+(0|a)*+p[c+284>>2],p[c+292>>2]=1/+(0|a)*+p[c+292>>2],p[c+296>>2]=1/+(0|a)*+p[c+296>>2],p[c+300>>2]=1/+(0|a)*+p[c+300>>2]),o=o+1|0}while((0|o)!=(0|R));I=14}}else I=14;if(14==(0|I)&&(0|R)>0)if(d=0|_[t+1120>>2],e){s=0;do{if(e=0|_[d+(s<<2)>>2],(0|_[e+312>>2])>0&&(w=+p[t+452>>2],y=+p[e+276>>2]*w,g=w*+p[e+280>>2],C=w*+p[e+284>>2],v=w*+p[e+292>>2],S=w*+p[e+296>>2],w*=+p[e+300>>2],(0|(k=0|_[e+24>>2]))>0)){l=0|_[e+32>>2],c=0|_[t+720>>2],a=0|_[e+12>>2],o=0;do{h=0|_[l+(o<<2)>>2],m=+p[a+(o<<2)>>2],u=+p[h+8>>2]-+p[e+228>>2],f=+p[h+12>>2]-+p[e+232>>2],A=+p[h+16>>2]-+p[e+236>>2],p[(F=W+((h-c|0)/104<<4)|0)>>2]=+p[F>>2]+m*(y+(S*A-w*f)),p[(F=W+((h-c|0)/104<<4)+4|0)>>2]=+p[F>>2]+m*(g+(w*u-v*A)),p[(F=W+((h-c|0)/104<<4)+8|0)>>2]=m*(C+(v*f-S*u))+ +p[F>>2],p[(h=B+((h-c|0)/104<<2)|0)>>2]=m+ +p[h>>2],o=o+1|0}while((0|o)!=(0|k))}s=s+1|0}while((0|s)!=(0|R))}else{s=0;do{if(c=0|_[d+(s<<2)>>2],(0|_[c+308>>2])>0&&(m=+p[t+452>>2],r=+p[c+244>>2]*m,b=m*+p[c+248>>2],A=m*+p[c+252>>2],f=m*+p[c+260>>2],u=m*+p[c+264>>2],m*=+p[c+268>>2],(0|(h=0|_[c+24>>2]))>0)){a=0|_[c+32>>2],e=0|_[t+720>>2],l=0|_[c+12>>2],o=0;do{F=0|_[a+(o<<2)>>2],w=+p[l+(o<<2)>>2],S=+p[F+8>>2]-+p[c+228>>2],v=+p[F+12>>2]-+p[c+232>>2],C=+p[F+16>>2]-+p[c+236>>2],p[(k=W+((F-e|0)/104<<4)|0)>>2]=+p[k>>2]+w*(r+(u*C-m*v)),p[(k=W+((F-e|0)/104<<4)+4|0)>>2]=+p[k>>2]+w*(b+(m*S-f*C)),p[(k=W+((F-e|0)/104<<4)+8|0)>>2]=w*(A+(f*v-u*S))+ +p[k>>2],p[(F=B+((F-e|0)/104<<2)|0)>>2]=w+ +p[F>>2],o=o+1|0}while((0|o)!=(0|h))}s=s+1|0}while((0|s)!=(0|R))}if((0|i)>0){o=0;do{(r=+p[B+(o<<2)>>2])>0&&(S=1/r*+p[W+(o<<4)+4>>2],w=1/r*+p[W+(o<<4)+8>>2],F=0|_[t+720>>2],p[(R=F+(104*o|0)+8|0)>>2]=1/r*+p[W+(o<<4)>>2]+ +p[R>>2],p[(R=F+(104*o|0)+12|0)>>2]=S+ +p[R>>2],p[(F=F+(104*o|0)+16|0)>>2]=w+ +p[F>>2]),o=o+1|0}while((0|o)!=(0|i));0|D&&(I=35)}else!(0|B)|!(0|D)||(I=35);if(35==(0|I)&&(_[6631]=1+(0|_[6631]),Ni(0|_[D+-4>>2])),!(0|W)|!(0|j)||(_[6631]=1+(0|_[6631]),Ni(0|_[j+-4>>2])),o=0|_[2606],F=(0|_[o+16>>2])-1|0,_[o+16>>2]=F,0|F)Q=n;else{do{if(0|_[o+4>>2]){if(G(0|n,0),F=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[n+4>>2])-(0|_[F+4>>2])+(1e6*((0|_[n>>2])-(0|_[F>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])return void(Q=n);o=0|_[2606];break}}while(0);_[2606]=_[o+20>>2],Q=n}}function Ie(t,e,i,o,r,s){t|=0,e|=0,o|=0,r|=0,s|=0;var c,l,d,A,f,u,m,h,y,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0;if(y=Q,Q=Q+272|0,u=+p[48+(i|=0)>>2]-+p[e+48>>2],m=+p[i+52>>2]-+p[e+52>>2],h=+p[i+56>>2]-+p[e+56>>2],$(e,i,y+256|0,y+208|0),D=+p[y+208>>2],c=+p[y+256>>2]*D,l=D*+p[y+256+4>>2],D*=+p[y+256+8>>2],p[y+192>>2]=c,p[y+192+4>>2]=l,p[y+192+8>>2]=D,p[y+192+12>>2]=0,d=+p[r+48>>2]-+p[o+48>>2],A=+p[r+52>>2]-+p[o+52>>2],f=+p[r+56>>2]-+p[o+56>>2],$(o,r,y+256|0,y+208|0),R=+p[y+208>>2],w=+p[y+256>>2]*R,k=R*+p[y+256+4>>2],R*=+p[y+256+8>>2],p[y+176>>2]=w,p[y+176+4>>2]=k,p[y+176+8>>2]=R,p[y+176+12>>2]=0,i=0|_[t+12>>2],j=+Il[15&_[16+(0|_[i>>2])>>2]](i),C=(i=0|_[t+16>>2])?+Il[15&_[16+(0|_[i>>2])>>2]](i):0,(j=j*+b(+(c*c+l*l+D*D))+C*+b(+(w*w+k*k+R*R)))+ +b(+((d-u)*(d-u)+(A-m)*(A-m)+(f-h)*(f-h)))==0)return Q=y,0|(s=0);_[y+208>>2]=10156,p[y+208+36>>2]=0xde0b6b000000000,n[y+208+40|0]=0,ve(t,e,o,y+208|0),r=!(0|n[y+208+40|0]),_[y+256>>2]=_[y+208+20>>2],_[y+256+4>>2]=_[y+208+20+4>>2],_[y+256+8>>2]=_[y+208+20+8>>2],_[y+256+12>>2]=_[y+208+20+12>>2];t:do{if(r||(S=0|_[y+208+4>>2],g=0|_[y+208+8>>2],v=0|_[y+208+12>>2],D=(d-u)*(_[a>>2]=S,+p[a>>2]),D+=(A-m)*(_[a>>2]=g,+p[a>>2]),j+(D+(f-h)*(_[a>>2]=v,+p[a>>2]))<=1.1920928955078125e-7))g=0;else{C=+p[y+208+16>>2],w=+p[s+172>>2]+ +p[y+208+36>>2];e:do{if(w>.0010000000474974513){for(r=0,k=0,R=w;;){if(0|(i=0|_[s+168>>2])&&(I=0|_[20+(0|_[i>>2])>>2],_[y+112>>2]=1065353216,_[y+112+4>>2]=1065353216,_[y+112+8>>2]=1065353216,p[y+112+12>>2]=0,nd[7&I](i,y+256|0,.20000000298023224,y+112|0)),C=(d-u)*(_[a>>2]=S,+p[a>>2]),(C=j+((C+=(A-m)*(_[a>>2]=g,+p[a>>2]))+(f-h)*(_[a>>2]=v,+p[a>>2])))<=1.1920928955078125e-7){g=0;break t}if(!(!((w=k+R/C)<=k)&!(w<0)&!(w>1))){g=0;break t}if(Bt(e,u,m,h,y+192|0,w,y+112|0),Bt(o,d,A,f,y+176|0,w,y+48|0),0|(g=0|_[s+168>>2])&&(I=0|_[20+(0|_[g>>2])>>2],_[y>>2]=1065353216,_[y+4>>2]=0,_[y+8>>2]=0,p[y+12>>2]=0,nd[7&I](g,y+112+48|0,.20000000298023224,y)),zl[31&_[_[s>>2]>>2]](s,w),_[y>>2]=10156,p[y+36>>2]=0xde0b6b000000000,n[y+40|0]=0,ve(t,y+112|0,y+48|0,y),!(0|n[y+40|0])){g=17;break}if(R=+p[y+36>>2]+ +p[s+172>>2],_[y+256>>2]=_[y+20>>2],_[y+256+4>>2]=_[y+20+4>>2],_[y+256+8>>2]=_[y+20+8>>2],_[y+256+12>>2]=_[y+20+12>>2],S=0|_[y+4>>2],g=0|_[y+8>>2],v=0|_[y+12>>2],i=r+1|0,r>>>0>63){g=18;break}if(!(R>.0010000000474974513)){C=+p[y+16>>2];break e}r=i,k=w}17==(0|g)?_d[127&_[8+(0|_[s>>2])>>2]](s,-1,r):18==(0|g)&&_d[127&_[8+(0|_[s>>2])>>2]](s,-2,i),g=0;break t}w=0}while(0);p[s+164>>2]=w,_[s+132>>2]=S,_[s+136>>2]=g,_[s+140>>2]=v,p[s+144>>2]=C,_[s+148>>2]=_[y+256>>2],_[s+148+4>>2]=_[y+256+4>>2],_[s+148+8>>2]=_[y+256+8>>2],_[s+148+12>>2]=_[y+256+12>>2],g=1}}while(0);return Q=y,0|(I=g)}function Be(t,e,i,n,o){t|=0,i|=0,n|=0,o|=0;var r,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0;if(r=Q,Q=Q+32|0,j=+p[48+(e|=0)>>2]-+p[e+112>>2],s=+p[e+52>>2]-+p[e+116>>2],B=+p[e+56>>2]-+p[e+120>>2],D=j*+p[e+64>>2]+s*+p[e+80>>2]+B*+p[e+96>>2],I=j*+p[e+68>>2]+s*+p[e+84>>2]+B*+p[e+100>>2],B=j*+p[e+72>>2]+s*+p[e+88>>2]+B*+p[e+104>>2],n=0|_[t+8>>2],R=0|_[t+4>>2],j=(s=+p[R+28>>2]*+p[R+12>>2])+ +p[t+12>>2],u=+p[n+72>>2],m=+p[n+56>>2],h=+p[n+76>>2],y=+p[n+60>>2],g=+p[n+80>>2],C=+p[n+64>>2],v=+p[n+88>>2],S=+p[n+92>>2],w=+p[n+96>>2],(c=(f=(u-m)*(S-y)-(h-y)*(v-m))*(A=1/+b(+(f*f+((a=(h-y)*(w-C)-(g-C)*(S-y))*a+(d=(g-C)*(v-m)-(u-m)*(w-C))*d))))*(B-C)+(a*A*(D-m)+d*A*(I-y)))<0?(k=-c,l=-a*A,c=-d*A,a=-f*A):(k=c,l=a*A,c=d*A,a=f*A),k0&f>0&g>0|w<=0&f<=0&g<=0)u=j*j,y=D-k*l,h=B-k*a,m=I-k*c;else{if((0|Gl[127&_[100+(0|_[n>>2])>>2]](n))<=0)return void(Q=r);n=0,R=0,y=0,h=0,m=0;do{W=0|_[t+8>>2],pd[127&_[104+(0|_[W>>2])>>2]](W,R,r+16|0,r),u=+p[r+16>>2],w=+p[r+16+4>>2],C=+p[r+16+8>>2],g=+p[r>>2]-u,k=+p[r+4>>2]-w,v=+p[r+8>>2]-C;do{if((D-u)*g+(I-w)*k+(B-C)*v>0){if((D-u)*g+(I-w)*k+(B-C)*v>2]}while((0|R)<(0|Gl[127&_[100+(0|_[W>>2])>>2]](W)));if(!(1&n))return void(Q=r);u=j*j}if((A=D-y)*A+(f=I-m)*f+(d=B-h)*d1.1920928955078125e-7&&(s-=c=+b(+(A*A+f*f+d*d)),l=A*(1/c),a=d*(1/c),c=f*(1/c)),s=-s,o?(D=(w=+p[e+64>>2])*l+(k=+p[e+68>>2])*c+(j=+p[e+72>>2])*a,I=l*(f=+p[e+80>>2])+c*(u=+p[e+84>>2])+a*(g=+p[e+88>>2]),B=l*(C=+p[e+96>>2])+c*(v=+p[e+100>>2])+a*(S=+p[e+104>>2]),p[r+16>>2]=-D,p[r+16+4>>2]=-I,p[r+16+8>>2]=-B,p[r+16+12>>2]=0,I=y*f+m*u+h*g+ +p[e+116>>2]+I*s,B=y*C+m*v+h*S+ +p[e+120>>2]+B*s,p[r>>2]=y*w+m*k+h*j+ +p[e+112>>2]+D*s,p[r+4>>2]=I,p[r+8>>2]=B,p[r+12>>2]=0,rd[15&_[16+(0|_[i>>2])>>2]](i,r+16|0,r,s),void(Q=r)):(W=0|_[16+(0|_[i>>2])>>2],k=+p[e+64>>2],j=+p[e+68>>2],D=+p[e+72>>2],C=+p[e+80>>2],v=+p[e+84>>2],I=+p[e+88>>2],S=+p[e+96>>2],w=+p[e+100>>2],B=+p[e+104>>2],p[r+16>>2]=k*l+j*c+D*a,p[r+16+4>>2]=l*C+c*v+a*I,p[r+16+8>>2]=l*S+c*w+a*B,p[r+16+12>>2]=0,I=y*C+m*v+h*I+ +p[e+116>>2],B=y*S+m*w+h*B+ +p[e+120>>2],p[r>>2]=y*k+m*j+h*D+ +p[e+112>>2],p[r+4>>2]=I,p[r+8>>2]=B,p[r+12>>2]=0,rd[15&W](i,r+16|0,r,s),void(Q=r));Q=r}else Q=r}function We(t,e){e|=0;var i=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0;if(_[(t|=0)>>2]=6120,_[6630]=1+(0|_[6630]),(i=0|di(379))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,p[i+308>>2]=9999999747378752e-20,n[0|(l=i+332|0)]=-16&n[0|l],_[t+24>>2]=i,l=!(0|_[e+20>>2]),_[6630]=1+(0|_[6630]),i=0|di(23),_[(i+4+15&-16)-4>>2]=i,_[(i+4+15&-16)>>2]=l?10068:10116,_[t+28>>2]=i+4+15&-16,_[6630]=1+(0|_[6630]),(i=0|di(43))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,a=0|_[t+24>>2],l=0|_[t+28>>2],n[i+4|0]=0,_[i>>2]=6928,_[i+16>>2]=0,_[i+20>>2]=3,_[i+12>>2]=a,_[i+8>>2]=l,_[t+32>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6152,_[t+36>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6172,_[t+40>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6192,_[t+44>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6212,_[t+48>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6232,_[t+52>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6252,_[t+56>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6272,_[t+60>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6292,_[t+76>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[i>>2]=6292,_[t+80>>2]=i,n[i+4|0]=1,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6312,_[t+72>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(35))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6332,_[i+8>>2]=1,_[i+12>>2]=0,_[t+88>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(35))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[i>>2]=6332,_[i+8>>2]=1,_[i+12>>2]=0,_[t+84>>2]=i,n[i+4|0]=1,l=(0|(l=0|_[e+16>>2]))>80?l:80,i=0|_[e>>2])n[t+12|0]=0,_[t+8>>2]=i;else{if(n[t+12|0]=1,_[6630]=1+(0|_[6630]),(i=0|di(39))?(_[(i+4+15&-16)-4>>2]=i,a=i+4+15&-16):a=0,i=0|_[e+8>>2],_[a>>2]=772,_[(o=a+4|0)>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(16+(772*i|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[a+16>>2]=i,_[a+12>>2]=i,r=0|_[o>>2],_[a+8>>2]=r,r+-1|0){s=0|_[a>>2],o=i,c=r+-1|0;do{d=o,o=o+s|0,_[d>>2]=o,c=c+-1|0}while(0|c);i=i+(0|g(s,r+-1|0))|0}_[i>>2]=0,_[t+8>>2]=a}if(0|(i=0|_[e+4>>2]))return n[t+20|0]=0,void(_[t+16>>2]=i);if(n[t+20|0]=1,_[6630]=1+(0|_[6630]),(i=0|di(39))?(_[(i+4+15&-16)-4>>2]=i,a=i+4+15&-16):a=0,i=0|_[e+12>>2],_[a>>2]=l,_[(o=a+4|0)>>2]=i,i=0|g(i,l),_[6630]=1+(0|_[6630]),(i=0|di(i+19|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[a+16>>2]=i,_[a+12>>2]=i,r=0|_[o>>2],_[a+8>>2]=r,r+-1|0){s=0|_[a>>2],o=i,c=r+-1|0;do{d=o,o=o+s|0,_[d>>2]=o,c=c+-1|0}while(0|c);i=i+(0|g(s,r+-1|0))|0}_[i>>2]=0,_[t+16>>2]=a}function Fe(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r,s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B=0,W=0;s=Q,Q=Q+16|0,!(0|n[24496])&&0|Qs(24496)&&(_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,ut(25184,0,0,0,s)),_[6347]=1|_[6347],p[6382]=0,B=0*+p[6392],W=0*+p[6393],p[6387]=0*+p[6391],p[6388]=B,p[6389]=W,p[6390]=0,_[6395]=0,_[6396]=0,_[6397]=0,_[6398]=0,W=0*+p[6384],B=0*+p[6385],p[6436]=0*+p[6383],p[6437]=W,p[6438]=B,p[6439]=0,_[t+4>>2]=6,_[t+8>>2]=-1,_[t+12>>2]=-1,p[t+16>>2]=34028234663852886e22,n[t+20|0]=1,n[t+21|0]=0,_[t+24>>2]=-1,_[t+28>>2]=25184,_[t+32>>2]=e,p[t+36>>2]=0,p[t+40>>2]=.30000001192092896,_[t+44>>2]=0,_[t>>2]=5276,_[t+112>>2]=_[i>>2],_[t+112+4>>2]=_[i+4>>2],_[t+112+8>>2]=_[i+8>>2],_[t+112+12>>2]=_[i+12>>2],_[t+128>>2]=_[i+16>>2],_[t+128+4>>2]=_[i+16+4>>2],_[t+128+8>>2]=_[i+16+8>>2],_[t+128+12>>2]=_[i+16+12>>2],_[t+144>>2]=_[i+32>>2],_[t+144+4>>2]=_[i+32+4>>2],_[t+144+8>>2]=_[i+32+8>>2],_[t+144+12>>2]=_[i+32+12>>2],_[t+160>>2]=_[i+48>>2],_[t+160+4>>2]=_[i+48+4>>2],_[t+160+8>>2]=_[i+48+8>>2],_[t+160+12>>2]=_[i+48+12>>2],r=48+(i=t+680|0)|0;do{_[i>>2]=0,i=i+4|0}while((0|i)<(0|r));_[t+740>>2]=0,_[t+740+4>>2]=0,_[t+740+8>>2]=0,_[t+740+12>>2]=0,_[t+756>>2]=1045220557,_[t+760>>2]=1045220557,_[t+764>>2]=1045220557,_[t+768>>2]=0,_[t+768+4>>2]=0,_[t+768+8>>2]=0,_[t+768+12>>2]=0,_[t+768+16>>2]=0,p[t+728>>2]=.699999988079071,p[t+732>>2]=1,p[t+736>>2]=.5,n[t+788|0]=0,n[t+788+1|0]=0,n[t+788+2|0]=0,_[t+792>>2]=0,_[t+792+4>>2]=0,_[t+792+8>>2]=0,_[t+808>>2]=0,_[t+808+4>>2]=0,_[t+808+8>>2]=0,p[t+928>>2]=0,p[t+876>>2]=0,p[t+880>>2]=.10000000149011612,p[t+884>>2]=300,p[t+868>>2]=1,p[t+872>>2]=-1,p[t+896>>2]=0,p[t+900>>2]=.20000000298023224,p[t+904>>2]=0,p[t+908>>2]=0,p[t+888>>2]=1,p[t+892>>2]=.5,_[t+924>>2]=0,p[t+916>>2]=0,n[t+912|0]=0,p[t+992>>2]=0,p[t+940>>2]=0,p[t+944>>2]=.10000000149011612,p[t+948>>2]=300,p[t+932>>2]=1,p[t+936>>2]=-1,p[t+960>>2]=0,p[t+964>>2]=.20000000298023224,p[t+968>>2]=0,p[t+972>>2]=0,p[t+952>>2]=1,p[t+956>>2]=.5,_[t+988>>2]=0,p[t+980>>2]=0,n[t+976|0]=0,p[t+1056>>2]=0,p[t+1004>>2]=0,p[t+1008>>2]=.10000000149011612,p[t+1012>>2]=300,p[t+996>>2]=1,p[t+1e3>>2]=-1,p[t+1024>>2]=0,p[t+1028>>2]=.20000000298023224,p[t+1032>>2]=0,p[t+1036>>2]=0,p[t+1016>>2]=1,p[t+1020>>2]=.5,_[t+1052>>2]=0,p[t+1044>>2]=0,n[t+1040|0]=0,n[t+1300|0]=1&o,n[t+1301|0]=1,_[t+1304>>2]=0,n[t+1308|0]=0,C=+p[t+112>>2],j=+p[e+4>>2],g=+p[t+128>>2],R=+p[e+8>>2],y=+p[t+144>>2],k=+p[e+12>>2],h=+p[t+116>>2],m=+p[t+132>>2],u=+p[t+148>>2],f=+p[t+120>>2],b=+p[t+136>>2],l=+p[t+152>>2],w=+p[e+20>>2],S=+p[e+24>>2],v=+p[e+28>>2],A=+p[e+36>>2],d=+p[e+40>>2],a=+p[e+44>>2],I=+p[t+160>>2],D=+p[t+164>>2],W=+p[t+168>>2],c=+p[e+52>>2]+(j*I+R*D+k*W),B=w*I+S*D+v*W+ +p[e+56>>2],W=A*I+d*D+a*W+ +p[e+60>>2],p[t+48>>2]=C*j+g*R+y*k,p[t+52>>2]=j*h+R*m+k*u,p[t+56>>2]=j*f+R*b+k*l,p[t+60>>2]=0,p[t+64>>2]=C*w+g*S+y*v,p[t+68>>2]=h*w+m*S+u*v,p[t+72>>2]=f*w+b*S+l*v,p[t+76>>2]=0,p[t+80>>2]=C*A+g*d+y*a,p[t+84>>2]=h*A+m*d+u*a,p[t+88>>2]=f*A+b*d+l*a,p[t+92>>2]=0,p[t+96>>2]=c,p[t+100>>2]=B,p[t+104>>2]=W,p[t+108>>2]=0,Pi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0),Q=s}function xe(t,e){e|=0;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0;if(i=Q,Q=Q+96|0,h=0|_[12+(t|=0)>>2],pd[127&_[8+(0|_[h>>2])>>2]](h,4+(0|_[t+8>>2])|0,i+80|0,i+64|0),h=0|_[e+68>>2],dd[31&_[16+(0|_[h>>2])>>2]](h,0|_[188+(0|_[t+8>>2])>>2],i+80|0,i+64|0,0|_[e+24>>2]),h=0|_[e+24>>2],pd[127&_[32+(0|_[h>>2])>>2]](h,0|_[284+(0|_[t+8>>2])>>2],e+28|0,h),h=0|_[t+8>>2],_[t+92>>2]=_[h+52>>2],_[t+92+4>>2]=_[h+52+4>>2],_[t+92+8>>2]=_[h+52+8>>2],_[t+92+12>>2]=_[h+52+12>>2],h=0|_[h+284>>2],(0|Gl[127&_[36+(0|_[h>>2])>>2]](h))>0){e=0,r=0,h=0;do{if((0|(o=0|_[t+132>>2]))<0){(0|_[t+136>>2])<0&&(0|(s=0|_[t+140>>2])&&(0|n[t+144|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+140>>2]=0),n[t+144|0]=1,_[t+140>>2]=0,_[t+136>>2]=0);do{_[(0|_[t+140>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}_[t+132>>2]=0,o=0|_[284+(0|_[t+8>>2])>>2],o=12+(0|Gl[127&_[28+(0|_[o>>2])>>2]](o))|0,o=0|_[o>>2],m=0|_[_[o+(h<<4)>>2]>>2],s=0|_[_[o+(h<<4)+4>>2]>>2],0|m&&4&_[m+204>>2]||(y=15);do{if(15==(0|y)){if(y=0,0|s&&4&_[s+204>>2])break;if(0|(o=0|_[o+(h<<4)+8>>2])&&ed[127&_[16+(0|_[o>>2])>>2]](o,t+128|0),(0|(m=0|_[t+132>>2]))>0){f=0|_[t+140>>2],u=0|_[t+8>>2],A=0;do{if(d=0|_[f+(A<<2)>>2],b=(0|_[d+740>>2])==(0|u)?-1:1,(0|(o=0|_[d+748>>2]))>0){l=0;do{(a=+p[d+4+(184*l|0)+80>>2])<0&&(c=d+4+(184*l|0)+64|0,a>2],r=b*+p[(s=d+4+(184*l|0)+72|0)>>2],p[t+152>>2]=b*+p[c>>2],p[t+156>>2]=g,p[t+160>>2]=r,p[t+164>>2]=0,r=a,o=0|_[d+748>>2]):(e=d+4+(184*l|0)+68|0,s=d+4+(184*l|0)+72|0),C=a*(b*+p[e>>2])*.20000000298023224,g=a*(b*+p[s>>2])*.20000000298023224,p[t+92>>2]=a*(b*+p[c>>2])*.20000000298023224+ +p[t+92>>2],p[t+96>>2]=C+ +p[t+96>>2],p[t+100>>2]=g+ +p[t+100>>2],e=1),l=l+1|0}while((0|l)<(0|o))}A=A+1|0}while((0|A)!=(0|m))}}}while(0);h=h+1|0,m=0|_[284+(0|_[t+8>>2])>>2]}while((0|h)<(0|Gl[127&_[36+(0|_[m>>2])>>2]](m)))}else e=0;return y=0|_[t+8>>2],_[i>>2]=_[y+4>>2],_[i+4>>2]=_[y+4+4>>2],_[i+8>>2]=_[y+4+8>>2],_[i+12>>2]=_[y+4+12>>2],_[i+16>>2]=_[y+20>>2],_[i+16+4>>2]=_[y+20+4>>2],_[i+16+8>>2]=_[y+20+8>>2],_[i+16+12>>2]=_[y+20+12>>2],_[i+32>>2]=_[y+36>>2],_[i+32+4>>2]=_[y+36+4>>2],_[i+32+8>>2]=_[y+36+8>>2],_[i+32+12>>2]=_[y+36+12>>2],_[i+48>>2]=_[t+92>>2],_[i+48+4>>2]=_[t+92+4>>2],_[i+48+8>>2]=_[t+92+8>>2],_[i+48+12>>2]=_[t+92+12>>2],_[y+260>>2]=1+(0|_[y+260>>2]),_[y+4>>2]=_[i>>2],_[y+4+4>>2]=_[i+4>>2],_[y+4+8>>2]=_[i+8>>2],_[y+4+12>>2]=_[i+12>>2],_[y+20>>2]=_[i+16>>2],_[y+20+4>>2]=_[i+16+4>>2],_[y+20+8>>2]=_[i+16+8>>2],_[y+20+12>>2]=_[i+16+12>>2],_[y+36>>2]=_[i+32>>2],_[y+36+4>>2]=_[i+32+4>>2],_[y+36+8>>2]=_[i+32+8>>2],_[y+36+12>>2]=_[i+32+12>>2],_[y+52>>2]=_[i+48>>2],_[y+52+4>>2]=_[i+48+4>>2],_[y+52+8>>2]=_[i+48+8>>2],_[y+52+12>>2]=_[i+48+12>>2],Q=i,0|e}function Oe(t,e,i,o){e|=0,i|=0,o|=0;var r=0;if(n[20+(t|=0)|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,_[t+24>>2]=e,p[t+28>>2]=0,_[t+32>>2]=0,_[t+36>>2]=1,p[t+40>>2]=1,n[t+44|0]=1,_[t+48>>2]=0,n[t+52|0]=0,n[t+53|0]=1,n[t+54|0]=1,p[t+56>>2]=.03999999910593033,n[t+60|0]=0,p[t+64>>2]=0,_[t+68>>2]=i,_[t+72>>2]=0,n[t+76|0]=1,_[t+80>>2]=0,_[t+84>>2]=0,_[t+88>>2]=0,p[t+92>>2]=.6000000238418579,p[t+96>>2]=1,p[t+100>>2]=.30000001192092896,p[t+104>>2]=.01666666753590107,p[t+108>>2]=0,p[t+116>>2]=20,_[t+112>>2]=10,p[t+124>>2]=.20000000298023224,p[t+128>>2]=.800000011920929,p[t+132>>2]=0,p[t+120>>2]=1,_[t+136>>2]=1,p[t+140>>2]=-.03999999910593033,p[t+144>>2]=.10000000149011612,p[t+148>>2]=0,p[t+152>>2]=.8500000238418579,_[t+156>>2]=260,_[t+160>>2]=2,_[t+164>>2]=128,p[t+168>>2]=100,p[t+172>>2]=1.0000000150474662e30,_[t>>2]=4992,n[t+192|0]=1,_[t+188>>2]=0,_[t+180>>2]=0,_[t+184>>2]=0,_[t+196>>2]=0,_[t+200>>2]=o,n[t+224|0]=1,_[t+220>>2]=0,_[t+212>>2]=0,_[t+216>>2]=0,n[t+244|0]=1,_[t+240>>2]=0,_[t+232>>2]=0,_[t+236>>2]=0,_[t+248>>2]=0,_[t+252>>2]=-1054867456,n[t+274|0]=0,n[t+275|0]=0,_[t+256>>2]=0,_[t+256+4>>2]=0,_[t+256+8>>2]=0,_[t+256+12>>2]=0,n[t+292|0]=1,_[t+288>>2]=0,_[t+280>>2]=0,_[t+284>>2]=0,_[t+296>>2]=0,n[t+300|0]=1,n[t+320|0]=1,_[t+316>>2]=0,_[t+308>>2]=0,_[t+312>>2]=0,o?i=0:(_[6630]=1+(0|_[6630]),(i=0|di(215))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[i>>2]=5656,n[i+20|0]=1,_[i+16>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,n[i+40|0]=1,_[i+36>>2]=0,_[i+28>>2]=0,_[i+32>>2]=0,n[i+60|0]=1,_[i+56>>2]=0,_[i+48>>2]=0,_[i+52>>2]=0,n[i+80|0]=1,_[i+76>>2]=0,_[i+68>>2]=0,_[i+72>>2]=0,n[i+100|0]=1,_[i+96>>2]=0,_[i+88>>2]=0,_[i+92>>2]=0,n[i+120|0]=1,_[i+116>>2]=0,_[i+108>>2]=0,_[i+112>>2]=0,n[i+140|0]=1,_[i+136>>2]=0,_[i+128>>2]=0,_[i+132>>2]=0,n[i+160|0]=1,_[i+156>>2]=0,_[i+148>>2]=0,_[i+152>>2]=0,n[i+180|0]=1,_[i+176>>2]=0,_[i+168>>2]=0,_[i+172>>2]=0,_[i+192>>2]=0,_[t+200>>2]=i,i=1),n[t+273|0]=i,_[6630]=1+(0|_[6630]),(i=0|di(87))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[i>>2]=6352,n[i+20|0]=1,_[i+16>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,n[i+40|0]=1,_[i+36>>2]=0,_[i+28>>2]=0,_[i+32>>2]=0,n[i+60|0]=1,_[i+56>>2]=0,_[i+48>>2]=0,_[i+52>>2]=0,n[i+64|0]=1,_[t+204>>2]=i,n[t+272|0]=1,_[6630]=1+(0|_[6630]),!(i=0|di(107)))return o=0,r=0|_[t+200>>2],_[o>>2]=5204,_[(i=o+4|0)>>2]=0,_[(i=o+8|0)>>2]=r,_[(i=o+12|0)>>2]=0,_[(i=o+16|0)>>2]=0,_[(i=o+20|0)>>2]=0,_[(i=o+24|0)>>2]=e,n[0|(e=o+44|0)]=1,_[(e=o+40|0)>>2]=0,_[(e=o+32|0)>>2]=0,_[(e=o+36|0)>>2]=0,n[0|(e=o+64|0)]=1,_[(e=o+60|0)>>2]=0,_[(e=o+52|0)>>2]=0,_[(e=o+56|0)>>2]=0,n[0|(e=o+84|0)]=1,_[(e=o+80|0)>>2]=0,_[(e=o+72|0)>>2]=0,_[(e=o+76|0)>>2]=0,void(_[t+196>>2]=o);_[(i+4+15&-16)-4>>2]=i,r=i+4+15&-16,i=0|_[t+200>>2],_[r>>2]=5204,_[(o=r+4|0)>>2]=0,_[(o=r+8|0)>>2]=i,_[(o=r+12|0)>>2]=0,_[(o=r+16|0)>>2]=0,_[(o=r+20|0)>>2]=0,_[(o=r+24|0)>>2]=e,n[0|(e=r+44|0)]=1,_[(e=r+40|0)>>2]=0,_[(e=r+32|0)>>2]=0,_[(e=r+36|0)>>2]=0,n[0|(e=r+64|0)]=1,_[(e=r+60|0)>>2]=0,_[(e=r+52|0)>>2]=0,_[(e=r+56|0)>>2]=0,n[0|(e=r+84|0)]=1,_[(e=r+80|0)>>2]=0,_[(e=r+72|0)>>2]=0,_[(e=r+76|0)>>2]=0,_[t+196>>2]=r}function Te(t,e,i,r,s){e|=0,i=+i,r=+r,s=+s;var c,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0;for(c=Q,Q=Q+240|0,l=+p[96+(t|=0)>>2]+r,d=+p[t+100>>2]+s,p[t+112>>2]=+p[t+92>>2]+i,p[t+116>>2]=l,p[t+120>>2]=d,p[t+124>>2]=0,_[c+168>>2]=1065353216,_[c+168+4>>2]=0,_[c+168+4+4>>2]=0,_[c+168+4+8>>2]=0,_[c+168+4+12>>2]=0,_[c+168+20>>2]=1065353216,_[c+168+24>>2]=0,_[c+168+24+4>>2]=0,_[c+168+24+8>>2]=0,_[c+168+24+12>>2]=0,_[c+168+40>>2]=1065353216,_[(a=c+168+44|0)>>2]=0,_[a+4>>2]=0,_[a+8>>2]=0,_[a+12>>2]=0,_[a+16>>2]=0,_[c+104>>2]=1065353216,_[c+104+4>>2]=0,_[c+104+4+4>>2]=0,_[c+104+4+8>>2]=0,_[c+104+4+12>>2]=0,_[c+104+20>>2]=1065353216,_[c+104+24>>2]=0,_[c+104+24+4>>2]=0,_[c+104+24+8>>2]=0,_[c+104+24+12>>2]=0,_[c+104+40>>2]=1065353216,_[(a=c+104+44|0)>>2]=0,_[a+4>>2]=0,_[a+8>>2]=0,_[a+12>>2]=0,_[a+16>>2]=0,d=1,a=10;;){if(!a){a=15;break}if(a=a+-1|0,_[c+168+48>>2]=_[t+92>>2],_[c+168+48+4>>2]=_[t+92+4>>2],_[c+168+48+8>>2]=_[t+92+8>>2],_[c+168+48+12>>2]=_[t+92+12>>2],_[c+104+48>>2]=_[t+112>>2],_[c+104+48+4>>2]=_[t+112+4>>2],_[c+104+48+8>>2]=_[t+112+8>>2],_[c+104+48+12>>2]=_[t+112+12>>2],s=+p[t+92>>2]-+p[t+112>>2],l=+p[t+96>>2]-+p[t+116>>2],i=+p[t+100>>2]-+p[t+120>>2],A=0|_[t+8>>2],p[c+4>>2]=1,_[c+76>>2]=0,_[c+12>>2]=0,_[c+12+4>>2]=0,_[c+12+8>>2]=0,_[c+12+12>>2]=0,_[c+12+16>>2]=0,_[c+12+20>>2]=0,_[c+12+24>>2]=0,_[c+12+28>>2]=0,_[c>>2]=5836,_[c+80>>2]=A,p[c+84>>2]=s,p[c+88>>2]=l,p[c+92>>2]=i,p[c+96>>2]=0,p[c+100>>2]=0,A=0|_[A+188>>2],o[c+8>>1]=0|o[A+4>>1],o[c+10>>1]=0|o[A+6>>1],A=0|_[t+12>>2],i=+Il[15&_[48+(0|_[A>>2])>>2]](A),A=0|_[t+12>>2],zl[31&_[44+(0|_[A>>2])>>2]](A,i+ +p[t+56>>2]),0|n[t+170|0]?Mi(0|_[t+8>>2],0|_[t+12>>2],c+168|0,c+104|0,c,+p[e+56>>2]):we(e,0|_[t+12>>2],c+168|0,c+104|0,c,+p[e+56>>2]),A=0|_[t+12>>2],zl[31&_[44+(0|_[A>>2])>>2]](A,i),d-=l=+p[c+4>>2],l<1){if(r=+p[t+112>>2]-+p[t+92>>2],s=+p[t+116>>2]-+p[t+96>>2],l=+p[t+120>>2]-+p[t+100>>2],(i=+b(+(r*r+s*s+l*l)))>1.1920928955078125e-7?(f=+p[c+44>>2],g=+p[c+48>>2],u=(m=+p[c+52>>2])*((l*(1/i)-m*(y=2*(r*(1/i)*f+s*(1/i)*g+l*(1/i)*m)))*(h=1/+b(+((l*(1/i)-m*y)*(l*(1/i)-m*y)+((r*(1/i)-f*y)*(r*(1/i)-f*y)+(s*(1/i)-g*y)*(s*(1/i)-g*y))))))+(f*((r*(1/i)-f*y)*h)+g*((s*(1/i)-g*y)*h)),_[t+112>>2]=_[t+92>>2],_[t+112+4>>2]=_[t+92+4>>2],_[t+112+8>>2]=_[t+92+8>>2],_[t+112+12>>2]=_[t+92+12>>2],f=i*((r*(1/i)-f*y)*h-f*u)+ +p[t+112>>2],p[t+112>>2]=f,r=i*((s*(1/i)-g*y)*h-g*u)+ +p[t+116>>2],p[t+116>>2]=r,l=i*((l*(1/i)-m*y)*h-m*u)+ +p[t+120>>2],p[t+120>>2]=l,i=f):(i=+p[t+112>>2],r=+p[t+116>>2],l=+p[t+120>>2]),!((s=i-+p[t+92>>2])*s+(r-=+p[t+96>>2])*r+(i=l-+p[t+100>>2])*i>1.1920928955078125e-7)){a=13;break}if(s*(g=1/+b(+(s*s+r*r+i*i)))*+p[t+76>>2]+r*g*+p[t+80>>2]+i*g*+p[t+84>>2]<=0){a=13;break}}else _[t+92>>2]=_[t+112>>2],_[t+92+4>>2]=_[t+112+4>>2],_[t+92+8>>2]=_[t+112+8>>2],_[t+92+12>>2]=_[t+112+12>>2];if(!(d>.009999999776482582)){a=15;break}}13!=(0|a)&&15!=(0|a)||(Q=c)}function Pe(t,e,i,n,o){e|=0,i|=0,n|=0,o|=0;var r,s,c,l,d,A,f,u,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0;if(u=+p[(t|=0)>>2],x=+p[e>>2],O=+p[t+4>>2],W=+p[e+4>>2],r=+p[t+8>>2],F=+p[e+8>>2],s=+p[i>>2],!((f=(u-x)*(W-(c=+p[i+4>>2]))-(O-W)*(x-s))*f+((d=(O-W)*(F-(l=+p[i+8>>2]))-(r-F)*(W-c))*d+(A=(r-F)*(x-s)-(u-x)*(F-l))*A)>0))return+(O=-1);if(u*(f*(O-W)-A*(r-F))+O*(d*(r-F)-f*(u-x))+(A*(u-x)-d*(O-W))*r>0){do{if((x-u)*(x-u)+(W-O)*(W-O)+(F-r)*(F-r)>0){if((m=-(u*(x-u)+O*(W-O)+r*(F-r))/((x-u)*(x-u)+(W-O)*(W-O)+(F-r)*(F-r)))>=1){g=2,h=x*x+W*W+F*F,C=0,y=1065353216;break}if(m<=0){g=1,h=u*u+O*O+r*r,C=1065353216,y=0;break}p[a>>2]=m,y=0|_[a>>2],g=3,h=(r+(F-r)*m)*(r+(F-r)*m)+((u+(x-u)*m)*(u+(x-u)*m)+(O+(W-O)*m)*(O+(W-O)*m)),p[a>>2]=1-m,C=0|_[a>>2];break}g=0,h=-1,C=0,y=0}while(0);_[o>>2]=g,_[n>>2]=C,_[n+4>>2]=y,p[n+8>>2]=0,k=+p[e>>2],R=+p[e+4>>2],j=+p[e+8>>2]}else h=-1,g=0,C=0,y=0,k=x,R=W,j=F;if(k*(f*(W-c)-A*(F-l))+R*(d*(F-l)-f*(x-s))+(A*(x-s)-d*(W-c))*j>0){m=(D=+p[i>>2])-k,S=(I=+p[i+4>>2])-R,w=(B=+p[i+8>>2])-j;do{if(m*m+S*S+w*w>0){if((v=-(k*m+R*S+j*w)/(m*m+S*S+w*w))>=1){g=2,m=D*D+I*I+B*B,C=0,y=1065353216;break}if(v<=0){g=1,m=k*k+R*R+j*j,C=1065353216,y=0;break}p[a>>2]=v,y=0|_[a>>2],g=3,m=(I=j+w*v)*I+((B=k+m*v)*B+(m=R+S*v)*m),p[a>>2]=1-v,C=0|_[a>>2];break}m=-1}while(0);h<0|m>2]=g<<1&6,_[n+4>>2]=C,_[n+8>>2]=y,p[n>>2]=0,h=m)}if((m=+p[i>>2])*(f*(c-O)-A*(l-r))+(S=+p[i+4>>2])*(d*(l-r)-f*(s-u))+(A*(s-u)-d*(c-O))*(w=+p[i+8>>2])>0){k=+p[t>>2],R=+p[t+4>>2],j=+p[t+8>>2];do{if((k-m)*(k-m)+(R-S)*(R-S)+(j-w)*(j-w)>0){if((v=-(m*(k-m)+S*(R-S)+w*(j-w))/((k-m)*(k-m)+(R-S)*(R-S)+(j-w)*(j-w)))>=1){g=2,m=k*k+R*R+j*j,C=0,y=1065353216;break}if(v<=0){g=1,m=m*m+S*S+w*w,C=1065353216,y=0;break}p[a>>2]=v,y=0|_[a>>2],g=3,m=(w+(j-w)*v)*(w+(j-w)*v)+((m+(k-m)*v)*(m+(k-m)*v)+(S+(R-S)*v)*(S+(R-S)*v)),p[a>>2]=1-v,C=0|_[a>>2];break}m=-1}while(0);h<0|m>2]=g<<2&4|g>>>1&1,_[n+8>>2]=C,_[n>>2]=y,p[n+4>>2]=0):m=h}else m=h;return m<0?(I=+b(+(f*f+(d*d+A*A))),B=(d*+p[t>>2]+A*+p[t+4>>2]+f*+p[t+8>>2])/(f*f+(d*d+A*A)),_[o>>2]=7,j=+p[e>>2]-d*B,R=+p[e+4>>2]-A*B,D=+p[e+8>>2]-f*B,x=+b(+(((x-s)*R-(W-c)*j)*((x-s)*R-(W-c)*j)+(((W-c)*D-(F-l)*R)*((W-c)*D-(F-l)*R)+((F-l)*j-(x-s)*D)*((F-l)*j-(x-s)*D))))/I,p[n>>2]=x,W=+p[i>>2]-d*B,D=+p[i+4>>2]-A*B,F=+p[i+8>>2]-f*B,O=+b(+(((s-u)*D-(c-O)*W)*((s-u)*D-(c-O)*W)+(((c-O)*F-(l-r)*D)*((c-O)*F-(l-r)*D)+((l-r)*W-(s-u)*F)*((l-r)*W-(s-u)*F))))/I,p[n+4>>2]=O,p[n+8>>2]=1-(x+O),+(O=f*B*(f*B)+(d*B*(d*B)+A*B*(A*B)))):+(O=m)}function Me(t){var e,i=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0;if(e=Q,Q=Q+80|0,0|Gl[127&_[20+(0|_[(t|=0)>>2])>>2]](t)&&(a=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),8&Gl[127&_[48+(0|_[a>>2])>>2]](a))&&(s=0|_[t+24>>2],s=0|Gl[127&_[36+(0|_[s>>2])>>2]](s),_[e+64>>2]=1065353216,_[e+64+4>>2]=1065353216,_[e+64+8>>2]=0,p[e+64+12>>2]=0,(0|s)>0)){o=0;do{if(c=0|_[t+24>>2],c=0|Ll[31&_[40+(0|_[c>>2])>>2]](c,o),(0|(a=0|_[c+748>>2]))>0){r=0;do{u=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),sd[1&_[32+(0|_[u>>2])>>2]](u,c+4+(184*r|0)+32|0,c+4+(184*r|0)+64|0,+p[c+4+(184*r|0)+80>>2],0|_[c+4+(184*r|0)+148>>2],e+64|0),r=r+1|0}while((0|r)!=(0|a))}o=o+1|0}while((0|o)!=(0|s))}if(0|Gl[127&_[20+(0|_[t>>2])>>2]](t))if(u=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),3&Gl[127&_[48+(0|_[u>>2])>>2]](u))if((0|_[t+8>>2])<=0)Q=e;else{a=0;do{if(c=0|_[(0|_[t+16>>2])+(a<<2)>>2],!(32&_[c+204>>2])){if(0|Gl[127&_[20+(0|_[t>>2])>>2]](t)&&(u=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),1&Gl[127&_[48+(0|_[u>>2])>>2]](u))){switch(_[e+64>>2]=1065353216,_[e+64+4>>2]=1065353216,_[e+64+8>>2]=1065353216,p[e+64+12>>2]=0,0|_[c+216>>2]){case 1:o=1065353216,r=1065353216,s=1065353216;break;case 2:o=0,r=1065353216,s=0;break;case 3:o=1065353216,r=1065353216,s=0;break;case 4:default:o=0,r=0,s=1065353216;break;case 5:o=0,r=1065353216,s=1065353216}_[e+64>>2]=s,_[e+64+4>>2]=r,_[e+64+8>>2]=o,p[e+64+12>>2]=0,pd[127&_[28+(0|_[t>>2])>>2]](t,c+4|0,0|_[c+192>>2],e+64|0)}if(0|(o=0|_[t+72>>2])&&2&Gl[127&_[48+(0|_[o>>2])>>2]](o)){_[e+32>>2]=1065353216,_[e+32+4>>2]=0,_[e+32+8>>2]=0,p[e+32+12>>2]=0,u=0|_[c+192>>2],pd[127&_[8+(0|_[u>>2])>>2]](u,c+4|0,e+64|0,e+48|0),p[e+64>>2]=+p[e+64>>2]-.019999999552965164,p[e+64+4>>2]=+p[e+64+4>>2]-.019999999552965164,p[e+64+8>>2]=+p[e+64+8>>2]-.019999999552965164,p[e+48>>2]=+p[e+48>>2]+.019999999552965164,p[e+48+4>>2]=+p[e+48+4>>2]+.019999999552965164,p[e+48+8>>2]=+p[e+48+8>>2]+.019999999552965164;do{if(0|n[t+44|0]&&2==(0|_[c+236>>2])&&!(3&_[c+204>>2])){if(u=0|_[c+192>>2],pd[127&_[8+(0|_[u>>2])>>2]](u,c+68|0,e+16|0,e),i=+p[e+16>>2]-.019999999552965164,p[e+16>>2]=i,l=+p[e+16+4>>2]-.019999999552965164,p[e+16+4>>2]=l,d=+p[e+16+8>>2]-.019999999552965164,p[e+16+8>>2]=d,b=+p[e>>2]+.019999999552965164,p[e>>2]=b,A=+p[e+4>>2]+.019999999552965164,p[e+4>>2]=A,f=+p[e+8>>2]+.019999999552965164,p[e+8>>2]=f,i<+p[e+64>>2]&&(p[e+64>>2]=i),l<+p[e+64+4>>2]&&(p[e+64+4>>2]=l),d<+p[e+64+8>>2]&&(p[e+64+8>>2]=d),(i=+p[e+16+12>>2])<+p[e+64+12>>2]&&(p[e+64+12>>2]=i),+p[e+48>>2]>2]=b),+p[e+48+4>>2]>2]=A),+p[e+48+8>>2]>2]=f),i=+p[e+12>>2],!(+p[e+48+12>>2]>2]=i}}while(0);u=0|_[t+72>>2],pd[127&_[52+(0|_[u>>2])>>2]](u,e+64|0,e+48|0,e+32|0)}}a=a+1|0}while((0|a)<(0|_[t+8>>2]));Q=e}else Q=e;else Q=e}function Ve(t,e,i){t|=0,i|=0;var n,o,r,s,p,c,a=0,l=0,d=0,b=0,A=0,f=0;r=0|_[(e|=0)>>2],s=0|_[e+4>>2],A=0|_[e+8>>2],p=0|_[t+4>>2],c=0|Kt(t,i,s,A),_[c+12>>2]=_[e+12>>2],_[c+16>>2]=p+1,_[c+20>>2]=p+2,b=0|_[(0|_[t+12>>2])+(_[e+12>>2]<<2)>>2],a=0|_[b>>2],l=0|_[b+4>>2];do{if((0|a)==(0|s)&(0|l)==(0|A))a=2,f=2;else{if((0|a)==(0|A)&(0|l)==(0|s))a=2;else{if((0|l)==(0|s)&(0|(d=0|_[b+8>>2]))==(0|A)){a=0,f=2;break}if((0|l)==(0|A)&(0|d)==(0|s))a=0;else{if(!((0|d)!=(0|s)|(0|a)==(0|A)^1)){a=1,f=2;break}if((0|d)!=(0|A)|(0|a)==(0|s)^1){a=10428;break}a=1}}a=b+12+(a<<2)|0}}while(0);2==(0|f)&&(a=b+12+(a<<2)|0),_[a>>2]=p,o=0|Kt(t,i,A,r),_[o+12>>2]=_[e+12+4>>2],_[o+16>>2]=p+2,_[o+20>>2]=p,b=0|_[(0|_[t+12>>2])+(_[e+12+4>>2]<<2)>>2],a=0|_[b>>2],l=0|_[b+4>>2];do{if((0|a)==(0|A)&(0|l)==(0|r))a=2,f=10;else{if((0|a)==(0|r)&(0|l)==(0|A))a=2;else{if((0|l)==(0|A)&(0|(d=0|_[b+8>>2]))==(0|r)){a=0,f=10;break}if((0|l)==(0|r)&(0|d)==(0|A))a=0;else{if(!((0|d)!=(0|A)|(0|a)==(0|r)^1)){a=1,f=10;break}if((0|d)!=(0|r)|(0|a)==(0|A)^1){a=10428;break}a=1}}a=b+12+(a<<2)|0}}while(0);10==(0|f)&&(a=b+12+(a<<2)|0),_[a>>2]=p+1,n=0|Kt(t,i,r,s),_[n+12>>2]=_[e+12+8>>2],_[n+16>>2]=p,_[n+20>>2]=p+1,a=0|_[t+12>>2],A=0|_[a+(_[e+12+8>>2]<<2)>>2],l=0|_[A>>2],d=0|_[A+4>>2];do{if((0|l)==(0|r)&(0|d)==(0|s))l=2,f=18;else{if((0|l)==(0|s)&(0|d)==(0|r))l=2;else{if((0|d)==(0|r)&(0|(b=0|_[A+8>>2]))==(0|s)){l=0,f=18;break}if((0|d)==(0|s)&(0|b)==(0|r))l=0;else{if(!((0|b)!=(0|r)|(0|l)==(0|s)^1)){l=1,f=18;break}if((0|b)!=(0|s)|(0|l)==(0|r)^1){l=10428;break}l=1}}l=A+12+(l<<2)|0}}while(0);if(18==(0|f)&&(l=A+12+(l<<2)|0),_[l>>2]=p+2,l=0|_[a+(_[c+12>>2]<<2)>>2],(0|_[l>>2])!=(0|i)&&(0|_[l+4>>2])!=(0|i)&&(0|_[l+8>>2])!=(0|i)||(Ne(a,c,l),_[(0|_[t+12>>2])+(_[c+24>>2]<<2)>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),_[(0|_[t+12>>2])+(_[l+24>>2]<<2)>>2]=0,0|l&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),a=0|_[t+12>>2]),l=0|_[a+(_[o+12>>2]<<2)>>2],(0|_[l>>2])!=(0|i)&&(0|_[l+4>>2])!=(0|i)&&(0|_[l+8>>2])!=(0|i)||(Ne(a,o,l),_[(0|_[t+12>>2])+(_[o+24>>2]<<2)>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),_[(0|_[t+12>>2])+(_[l+24>>2]<<2)>>2]=0,0|l&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),a=0|_[t+12>>2]),l=0|_[a+(_[n+12>>2]<<2)>>2],(0|_[l>>2])!=(0|i)&&(0|_[l+4>>2])!=(0|i)&&(0|_[l+8>>2])!=(0|i))return t=a,i=0|_[(i=e+24|0)>>2],_[(i=t+(i<<2)|0)>>2]=0,i=1+(i=0|_[6631])|0,_[6631]=i,void Ni(i=0|_[(i=e+-4|0)>>2]);Ne(a,n,l),_[(0|_[t+12>>2])+(_[n+24>>2]<<2)>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[n+-4>>2]),_[(0|_[t+12>>2])+(_[l+24>>2]<<2)>>2]=0,0|l&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),t=0|_[t+12>>2],i=0|_[(i=e+24|0)>>2],_[(i=t+(i<<2)|0)>>2]=0,i=1+(i=0|_[6631])|0,_[6631]=i,Ni(i=0|_[(i=e+-4|0)>>2])}function Ge(t,e,i,r,c,a){var l,d,b;if(e|=0,i|=0,r|=0,c|=0,a|=0,_[(t|=0)>>2]=9580,o[t+4>>1]=-2,o[t+6>>1]=-1,_[t+92>>2]=c,_[t+96>>2]=0,n[t+100|0]=0,_[t+104>>2]=0,_[t+108>>2]=0,c||(_[6630]=1+(0|_[6630]),(c=0|di(95))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,Ae(c),_[t+92>>2]=c,n[t+100|0]=1),a||(_[6630]=1+(0|_[6630]),(c=0|di(43))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,_[(a=c+4|0)>>2]=0,_[a+4>>2]=0,_[a+8>>2]=0,_[a+12>>2]=0,_[a+16>>2]=0,_[c>>2]=9644,n[c+20|0]=1,_[c+16>>2]=0,_[c+8>>2]=0,_[c+12>>2]=0,_[t+112>>2]=c,_[6630]=1+(0|_[6630]),(c=0|di(215))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,$t(c,0|_[t+112>>2]),_[t+108>>2]=c,n[c+193|0]=1),_[t+8>>2]=_[e>>2],_[t+8+4>>2]=_[e+4>>2],_[t+8+8>>2]=_[e+8>>2],_[t+8+12>>2]=_[e+12>>2],_[t+24>>2]=_[i>>2],_[t+24+4>>2]=_[i+4>>2],_[t+24+8>>2]=_[i+8>>2],_[t+24+12>>2]=_[i+12>>2],d=(b=+(0|s[t+6>>1]))/(+p[t+28>>2]-+p[t+12>>2]),l=b/(+p[t+32>>2]-+p[t+16>>2]),p[t+40>>2]=b/(+p[t+24>>2]-+p[t+8>>2]),p[t+44>>2]=d,p[t+48>>2]=l,p[t+52>>2]=0,i=r+1&65535,_[6630]=1+(0|_[6630]),(c=0|di(i<<6|19))?(_[(c+4+15&-16)-4>>2]=c,e=c+4+15&-16):e=0,r+1<<16>>16<<16>>16){c=e+(i<<6)|0,a=e;do{_[a>>2]=0,_[a+8>>2]=0,a=a+64|0}while((0|a)!=(0|c))}if(_[t+60>>2]=e,o[t+58>>1]=1+(65535&r),o[t+56>>1]=0,o[t+64>>1]=1,(r+1&65535)>1&&(o[e+112>>1]=2,r+1<<16>>16<<16>>16!=2)){c=2;do{r=c,c=c+1|0,o[e+(r<<6)+48>>1]=c}while((0|c)!=(0|i))}if(o[e+(i+-1<<6)+48>>1]=0,_[6630]=1+(0|_[6630]),(c=0|di(16+(i<<3|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,_[t+80>>2]=c,_[t+68>>2]=c,_[6630]=1+(0|_[6630]),(c=0|di(16+(i<<3|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,_[t+84>>2]=c,_[t+72>>2]=c,_[6630]=1+(0|_[6630]),!(c=0|di(16+(i<<3|3)|0)))return e=0,_[(r=t+88|0)>>2]=e,_[(r=t+76|0)>>2]=e,e=0|_[t+60>>2],_[e>>2]=0,o[(i=e+48|0)>>1]=0,o[(i=e+54|0)>>1]=1,i=0|_[t+68>>2],o[i>>1]=0,o[(a=i+2|0)>>1]=0,a=0|o[t+6>>1],o[(c=i+4|0)>>1]=a,o[(i=i+6|0)>>1]=0,o[(i=e+50|0)>>1]=0,o[(i=e+56|0)>>1]=1,i=0|_[t+72>>2],o[i>>1]=0,o[(c=i+2|0)>>1]=0,c=0|o[t+6>>1],o[(a=i+4|0)>>1]=c,o[(i=i+6|0)>>1]=0,o[(i=e+52|0)>>1]=0,o[(e=e+58|0)>>1]=1,r=0|_[r>>2],o[r>>1]=0,o[(e=r+2|0)>>1]=0,e=0|o[t+6>>1],o[(i=r+4|0)>>1]=e,o[(r=r+6|0)>>1]=0,void(_[t>>2]=9516);_[(c+4+15&-16)-4>>2]=c,e=c+4+15&-16,_[(r=t+88|0)>>2]=e,_[(r=t+76|0)>>2]=e,e=0|_[t+60>>2],_[e>>2]=0,o[(i=e+48|0)>>1]=0,o[(i=e+54|0)>>1]=1,i=0|_[t+68>>2],o[i>>1]=0,o[(a=i+2|0)>>1]=0,a=0|o[t+6>>1],o[(c=i+4|0)>>1]=a,o[(i=i+6|0)>>1]=0,o[(i=e+50|0)>>1]=0,o[(i=e+56|0)>>1]=1,i=0|_[t+72>>2],o[i>>1]=0,o[(c=i+2|0)>>1]=0,c=0|o[t+6>>1],o[(a=i+4|0)>>1]=c,o[(i=i+6|0)>>1]=0,o[(i=e+52|0)>>1]=0,o[(e=e+58|0)>>1]=1,r=0|_[r>>2],o[r>>1]=0,o[(e=r+2|0)>>1]=0,e=0|o[t+6>>1],o[(i=r+4|0)>>1]=e,o[(r=r+6|0)>>1]=0,_[t>>2]=9516}function Ne(t,e,i){t|=0,e|=0,i|=0;var n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0;l=0;do{a=l,c=0|_[e+(((d=3==(0|(l=l+1|0)))?0:l)<<2)>>2],a=0|_[e+(((a+2|0)>>>0)%3<<2)>>2],n=0|_[i>>2],o=0|_[i+4>>2];do{if((0|n)==(0|a)&(0|o)==(0|c))n=2,b=3;else{if((0|n)==(0|c)&(0|o)==(0|a))n=2;else{if((0|o)==(0|a)&(0|(r=0|_[i+8>>2]))==(0|c)){n=0,b=3;break}if((0|o)==(0|c)&(0|r)==(0|a))n=0;else{if(!((0|r)!=(0|a)|(0|n)==(0|c)^1)){n=1,b=3;break}if((0|r)!=(0|c)|(0|n)==(0|a)^1){n=10428;break}n=1}}n=i+12+(n<<2)|0}}while(0);3==(0|b)&&(b=0,n=i+12+(n<<2)|0),p=0|_[n>>2],n=0|_[e>>2],o=0|_[e+4>>2];do{if((0|n)==(0|c)&(0|o)==(0|a))n=2,b=11;else{if((0|n)==(0|a)&(0|o)==(0|c))n=2;else{if((0|o)==(0|c)&(0|(r=0|_[e+8>>2]))==(0|a)){n=0,b=11;break}if((0|o)==(0|a)&(0|r)==(0|c))n=0;else{if(!((0|r)!=(0|c)|(0|n)==(0|a)^1)){n=1,b=11;break}if((0|r)!=(0|a)|(0|n)==(0|c)^1){n=10428;break}n=1}}n=e+12+(n<<2)|0}}while(0);11==(0|b)&&(b=0,n=e+12+(n<<2)|0),s=0|_[t+(_[n>>2]<<2)>>2],n=0|_[s>>2],o=0|_[s+4>>2];do{if((0|n)==(0|a)&(0|o)==(0|c))n=2,b=19;else{if((0|n)==(0|c)&(0|o)==(0|a))n=2;else{if((0|o)==(0|a)&(0|(r=0|_[s+8>>2]))==(0|c)){n=0,b=19;break}if((0|o)==(0|c)&(0|r)==(0|a))n=0;else{if(!((0|r)!=(0|a)|(0|n)==(0|c)^1)){n=1,b=19;break}if((0|r)!=(0|c)|(0|n)==(0|a)^1){n=10428;break}n=1}}n=s+12+(n<<2)|0}}while(0);19==(0|b)&&(b=0,n=s+12+(n<<2)|0),_[n>>2]=p,n=0|_[e>>2],o=0|_[e+4>>2];do{if((0|n)==(0|c)&(0|o)==(0|a))n=2,b=27;else{if((0|n)==(0|a)&(0|o)==(0|c))n=2;else{if((0|o)==(0|c)&(0|(r=0|_[e+8>>2]))==(0|a)){n=0,b=27;break}if((0|o)==(0|a)&(0|r)==(0|c))n=0;else{if(!((0|r)!=(0|c)|(0|n)==(0|a)^1)){n=1,b=27;break}if((0|r)!=(0|a)|(0|n)==(0|c)^1){n=10428;break}n=1}}n=e+12+(n<<2)|0}}while(0);27==(0|b)&&(b=0,n=e+12+(n<<2)|0),p=0|_[n>>2],n=0|_[i>>2],o=0|_[i+4>>2];do{if((0|n)==(0|a)&(0|o)==(0|c))n=2,b=35;else{if((0|n)==(0|c)&(0|o)==(0|a))n=2;else{if((0|o)==(0|a)&(0|(r=0|_[i+8>>2]))==(0|c)){n=0,b=35;break}if((0|o)==(0|c)&(0|r)==(0|a))n=0;else{if(!((0|r)!=(0|a)|(0|n)==(0|c)^1)){n=1,b=35;break}if((0|r)!=(0|c)|(0|n)==(0|a)^1){n=10428;break}n=1}}n=i+12+(n<<2)|0}}while(0);35==(0|b)&&(b=0,n=i+12+(n<<2)|0),s=0|_[t+(_[n>>2]<<2)>>2],o=0|_[s>>2],r=0|_[s+4>>2];do{if((0|o)==(0|c)&(0|r)==(0|a))n=2,b=43;else{if((0|o)==(0|a)&(0|r)==(0|c))n=2;else{if((0|r)==(0|c)&(0|(n=0|_[s+8>>2]))==(0|a)){n=0,b=43;break}if((0|r)==(0|a)&(0|n)==(0|c))n=0;else{if(!((0|n)!=(0|c)|(0|o)==(0|a)^1)){n=1,b=43;break}if((0|n)!=(0|a)|(0|o)==(0|c)^1){n=10428;break}n=1}}n=s+12+(n<<2)|0}}while(0);43==(0|b)&&(b=0,n=s+12+(n<<2)|0),_[n>>2]=p}while(!d)}function Le(t,e,i,o){t|=0,o|=0;var r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;if(!!(0|(e|=0))&!!(0|(i|=0))){if((0|_[t+24>>2])<128&&(0|_[t+28>>2])<128){if(_[6630]=1+(0|_[6630]),(r=0|di(1043))?(_[(r+4+15&-16)-4>>2]=r,c=r+4+15&-16):c=0,(0|(s=0|_[t+24>>2]))>0){r=0;do{l=(0|_[t+32>>2])+(r<<3)|0,d=0|_[l+4>>2],_[(b=c+(r<<3)|0)>>2]=_[l>>2],_[b+4>>2]=d,r=r+1|0}while((0|r)!=(0|s))}0|(r=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=c,_[t+28>>2]=128}_[t+24>>2]=128,r=0|_[t+32>>2],_[r>>2]=e,_[r+4>>2]=i,r=1,s=124;do{if(b=r+-1|0,c=0|_[t+32>>2],l=0|_[c+(b<<3)>>2],d=0|_[c+(b<<3)+4>>2],(0|b)>(0|s)){if((0|(a=0|_[t+24>>2]))>2])>2]=s,i=s+4+15&-16):i=0,(0|(c=0|_[t+24>>2]))>0){s=0;do{f=(0|_[t+32>>2])+(s<<3)|0,A=0|_[f+4>>2],_[(e=i+(s<<3)|0)>>2]=_[f>>2],_[e+4>>2]=A,s=s+1|0}while((0|s)!=(0|c));e=i,c=i}else e=i,c=i;else e=0,c=0;0|(s=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=e,_[t+28>>2]=a<<1}_[t+24>>2]=a<<1,s=(a<<1)-4|0}do{if((0|l)==(0|d))0|_[l+40>>2]?(A=0|_[l+36>>2],_[c+(b<<3)>>2]=A,_[c+(b<<3)+4>>2]=A,A=0|_[l+40>>2],f=r+1|0,b=0|_[t+32>>2],_[b+(r<<3)>>2]=A,_[b+(r<<3)+4>>2]=A,b=0|_[l+40>>2],A=0|_[t+32>>2],_[A+(f<<3)>>2]=_[l+36>>2],_[A+(f<<3)+4>>2]=b,r=r+2|0):r=b;else{if(+p[l>>2]<=+p[d+16>>2]&&+p[l+16>>2]>=+p[d>>2]&&+p[l+4>>2]<=+p[d+20>>2]&&+p[l+20>>2]>=+p[d+4>>2]&&+p[l+8>>2]<=+p[d+24>>2]&&+p[l+24>>2]>=+p[d+8>>2]){if(e=!!(0|_[d+40>>2]),0|_[l+40>>2]){if(i=0|_[l+36>>2],e){f=0|_[d+36>>2],_[c+(b<<3)>>2]=i,_[c+(b<<3)+4>>2]=f,f=0|_[d+36>>2],b=r+1|0,a=0|_[t+32>>2],_[a+(r<<3)>>2]=_[l+40>>2],_[a+(r<<3)+4>>2]=f,a=0|_[d+40>>2],f=r+2|0,A=0|_[t+32>>2],_[A+(b<<3)>>2]=_[l+36>>2],_[A+(b<<3)+4>>2]=a,b=0|_[d+40>>2],A=0|_[t+32>>2],_[A+(f<<3)>>2]=_[l+40>>2],_[A+(f<<3)+4>>2]=b,r=r+3|0;break}_[c+(b<<3)>>2]=i,_[c+(b<<3)+4>>2]=d,f=0|_[t+32>>2],_[f+(r<<3)>>2]=_[l+40>>2],_[f+(r<<3)+4>>2]=d,r=r+1|0;break}if(e){A=0|_[d+36>>2],_[c+(b<<3)>>2]=l,_[c+(b<<3)+4>>2]=A,A=0|_[d+40>>2],f=0|_[t+32>>2],_[f+(r<<3)>>2]=l,_[f+(r<<3)+4>>2]=A,r=r+1|0;break}_d[127&_[8+(0|_[o>>2])>>2]](o,l,d),r=b;break}r=b}}while(0)}while(0|r)}}function Qe(t,e){e|=0;var i,n=0,o=0,r=0;if(i=Q,Q=Q+80|0,_[68+(t|=0)>>2]=1+(0|_[t+68>>2]),0|(r=0|_[t+64>>2])&&(Tt(r,n=0|_[(0|_[t+24>>2])+(80*e|0)+76>>2]),0|(o=0|_[r+4>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])),_[r+4>>2]=n,_[r+12>>2]=(0|_[r+12>>2])-1),r=(0|_[t+16>>2])-1|0,o=0|_[t+24>>2],_[i>>2]=_[o+(80*e|0)>>2],_[i+4>>2]=_[o+(80*e|0)+4>>2],_[i+8>>2]=_[o+(80*e|0)+8>>2],_[i+12>>2]=_[o+(80*e|0)+12>>2],_[i+16>>2]=_[o+(80*e|0)+16>>2],_[i+16+4>>2]=_[o+(80*e|0)+16+4>>2],_[i+16+8>>2]=_[o+(80*e|0)+16+8>>2],_[i+16+12>>2]=_[o+(80*e|0)+16+12>>2],_[i+32>>2]=_[o+(80*e|0)+32>>2],_[i+32+4>>2]=_[o+(80*e|0)+32+4>>2],_[i+32+8>>2]=_[o+(80*e|0)+32+8>>2],_[i+32+12>>2]=_[o+(80*e|0)+32+12>>2],_[i+48>>2]=_[o+(80*e|0)+48>>2],_[i+48+4>>2]=_[o+(80*e|0)+48+4>>2],_[i+48+8>>2]=_[o+(80*e|0)+48+8>>2],_[i+48+12>>2]=_[o+(80*e|0)+48+12>>2],_[i+64>>2]=_[o+(80*e|0)+64>>2],_[i+64+4>>2]=_[o+(80*e|0)+64+4>>2],_[i+64+8>>2]=_[o+(80*e|0)+64+8>>2],_[i+64+12>>2]=_[o+(80*e|0)+64+12>>2],_[o+(80*e|0)>>2]=_[o+(80*r|0)>>2],_[o+(80*e|0)+4>>2]=_[o+(80*r|0)+4>>2],_[o+(80*e|0)+8>>2]=_[o+(80*r|0)+8>>2],_[o+(80*e|0)+12>>2]=_[o+(80*r|0)+12>>2],_[o+(80*e|0)+16>>2]=_[o+(80*r|0)+16>>2],_[o+(80*e|0)+16+4>>2]=_[o+(80*r|0)+16+4>>2],_[o+(80*e|0)+16+8>>2]=_[o+(80*r|0)+16+8>>2],_[o+(80*e|0)+16+12>>2]=_[o+(80*r|0)+16+12>>2],_[o+(80*e|0)+32>>2]=_[o+(80*r|0)+32>>2],_[o+(80*e|0)+32+4>>2]=_[o+(80*r|0)+32+4>>2],_[o+(80*e|0)+32+8>>2]=_[o+(80*r|0)+32+8>>2],_[o+(80*e|0)+32+12>>2]=_[o+(80*r|0)+32+12>>2],_[o+(80*e|0)+48>>2]=_[o+(80*r|0)+48>>2],_[o+(80*e|0)+48+4>>2]=_[o+(80*r|0)+48+4>>2],_[o+(80*e|0)+48+8>>2]=_[o+(80*r|0)+48+8>>2],_[o+(80*e|0)+48+12>>2]=_[o+(80*r|0)+48+12>>2],_[o+(80*e|0)+64>>2]=_[o+(80*r|0)+64>>2],_[o+(80*e|0)+64+4>>2]=_[o+(80*r|0)+64+4>>2],_[o+(80*e|0)+64+8>>2]=_[o+(80*r|0)+64+8>>2],_[o+(80*e|0)+64+12>>2]=_[o+(80*r|0)+64+12>>2],o=0|_[t+24>>2],_[o+(80*r|0)>>2]=_[i>>2],_[o+(80*r|0)+4>>2]=_[i+4>>2],_[o+(80*r|0)+8>>2]=_[i+8>>2],_[o+(80*r|0)+12>>2]=_[i+12>>2],_[o+(80*r|0)+16>>2]=_[i+16>>2],_[o+(80*r|0)+16+4>>2]=_[i+16+4>>2],_[o+(80*r|0)+16+8>>2]=_[i+16+8>>2],_[o+(80*r|0)+16+12>>2]=_[i+16+12>>2],_[o+(80*r|0)+32>>2]=_[i+32>>2],_[o+(80*r|0)+32+4>>2]=_[i+32+4>>2],_[o+(80*r|0)+32+8>>2]=_[i+32+8>>2],_[o+(80*r|0)+32+12>>2]=_[i+32+12>>2],_[o+(80*r|0)+48>>2]=_[i+48>>2],_[o+(80*r|0)+48+4>>2]=_[i+48+4>>2],_[o+(80*r|0)+48+8>>2]=_[i+48+8>>2],_[o+(80*r|0)+48+12>>2]=_[i+48+12>>2],_[o+(80*r|0)+64>>2]=_[i+64>>2],_[o+(80*r|0)+64+4>>2]=_[i+64+4>>2],_[o+(80*r|0)+64+8>>2]=_[i+64+8>>2],_[o+(80*r|0)+64+12>>2]=_[i+64+12>>2],!(0|_[t+64>>2]))return r=(r=0|_[t+16>>2])-1|0,_[t+16>>2]=r,void(Q=i);_[36+(0|_[(0|_[t+24>>2])+(80*e|0)+76>>2])>>2]=e,r=(r=0|_[t+16>>2])-1|0,_[t+16>>2]=r,Q=i}function Ee(t,e,i,n,r,c,a,l,d){t|=0,e|=0,n=+n,r=+r,c=+c,a|=0,l|=0,d|=0;var A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B,W,F,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0;if(j=Q,Q=Q+32|0,S=+p[(i|=0)>>2],A=+p[i+4>>2],h=+p[i+8>>2],g=(n-S)*(y=1/+b(+((n-S)*(n-S)+(r-A)*(r-A)+(c-h)*(c-h))))==0?0xde0b6b000000000:1/((n-S)*y),C=(r-A)*y==0?0xde0b6b000000000:1/((r-A)*y),v=(c-h)*y==0?0xde0b6b000000000:1/((c-h)*y),ot=(S>n?n:S)+ +p[a>>2],nt=(A>r?r:A)+ +p[a+4>>2],it=(h>c?c:h)+ +p[a+8>>2],tt=(S>2],$=(A>2],V=(h>2],ot=ot<(F=+p[t+4>>2])?F:ot,nt=nt<(I=+p[t+8>>2])?I:nt,it=it<(G=+p[t+12>>2])?G:it,et=+p[t+20>>2],B=+p[t+24>>2],M=+p[t+28>>2],w=((et>2])&65535&-2,k=((B>2])&65535&-2,R=((M>2])&65535&-2,f=((et<(tt=tt0){O=0,x=0,T=0|_[t+136>>2];do{x=x+1|0,P=T+6|0,L=0|o[T>>1],E=T+10|0,H=0|o[T+4>>1],Z=T+8|0,U=0|o[T+2>>1],J=(0|_[(Y=T+12|0)>>2])>-1;do{if(((65535&f)>=(65535&L)?(65535&w)<=(0|s[P>>1]):0)&(65535&R)<=(0|s[E>>1])&(65535&m)>=(65535&H)&(65535&k)<=(0|s[Z>>1])&(65535&u)>=(65535&U)){if(tt=+p[t+36>>2],it=+p[t+40>>2],ot=+p[t+44>>2],et=+p[t+4>>2],nt=+p[t+8>>2],G=+p[t+12>>2],p[j+12>>2]=0,N=et+ +(0|s[P>>1])/tt,M=nt+ +(0|s[Z>>1])/it,V=G+ +(0|s[E>>1])/ot,p[j+28>>2]=0,p[j>>2]=+(65535&L)/tt+et-+p[l>>2],p[j+4>>2]=+(65535&U)/it+nt-+p[l+4>>2],p[j+8>>2]=+(65535&H)/ot+G-+p[l+8>>2],p[j+16>>2]=N-+p[a>>2],p[j+20>>2]=M-+p[a+4>>2],p[j+24>>2]=V-+p[a+8>>2],V=+p[i>>2],M=g*(+p[j+((g<0&1)<<4)>>2]-V),V=g*(+p[j+((1&(g<0^1))<<4)>>2]-V),N=+p[i+4>>2],!((G=C*(+p[j+((C<0&1)<<4)+4>>2]-N))>V|M>(N=C*(+p[j+((1&(C<0^1))<<4)+4>>2]-N))||(z=G>M?G:M,X=N>2],(K=v*(+p[j+((v<0&1)<<4)+8>>2]-q))>X|z>(q=v*(+p[j+((1&(v<0^1))<<4)+8>>2]-q))))){if(!(J&(P=(q0?(K>z?K:z)<(c-h)*y*(c-h)+((n-S)*y*(n-S)+(r-A)*y*(r-A)):0))){L=9;break}L=0|_[Y>>2],_d[127&_[8+(0|_[e>>2])>>2]](e,L>>21,2097151&L),L=10;break}P=0,L=9}else P=0,L=9}while(0);9==(0|L)&&(L=0,J|P?L=10:(O=O-(J=0|_[Y>>2])|0,T=T+(0-J<<4)|0)),10==(0|L)&&(O=O+1|0,T=T+16|0)}while((0|O)<(0|d))}else x=0;(0|_[6610])>=(0|x)||(_[6610]=x),Q=j}function He(t,e,i){t|=0,e|=0,i|=0;for(var n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;;){for(A=0|_[t+12>>2],m=0|_[A+((u=(e+i|0)/2|0)<<4)>>2],f=0|_[A+(u<<4)+4>>2],u=0|_[A+(u<<4)+8>>2],n=i,o=e;;){t:do{if(m)for(d=0|_[m+12>>2];;){r=(c=0|_[(l=A+(o<<4)|0)>>2])?0|_[c+12>>2]:-1,s=(a=0|_[A+(o<<4)+4>>2])?0|_[a+12>>2]:-1,p=f?0|_[f+12>>2]:-1;do{if((0|r)<=(0|d)){if((r=(0|s)>(0|p))|(0|c)==(0|m)^1){if((0|c)==(0|m)&r)break;break t}if((0|a)!=(0|f))break t;if((0|_[A+(o<<4)+8>>2])>>>0<=u>>>0)break t}}while(0);o=o+1|0}else for(;;){r=(c=0|_[(l=A+(o<<4)|0)>>2])?0|_[c+12>>2]:-1,s=(a=0|_[A+(o<<4)+4>>2])?0|_[a+12>>2]:-1,p=f?0|_[f+12>>2]:-1;do{if((0|r)<=-1){if((r=(0|s)>(0|p))|1^!(0|c)){if(!(0|c)&r)break;break t}if((0|a)!=(0|f))break t;if((0|_[A+(o<<4)+8>>2])>>>0<=u>>>0)break t}}while(0);o=o+1|0}}while(0);t:do{if(m)for(b=0|_[m+12>>2];;){s=(a=0|_[(r=A+(n<<4)|0)>>2])?0|_[a+12>>2]:-1,p=f?0|_[f+12>>2]:-1,c=(d=0|_[A+(n<<4)+4>>2])?0|_[d+12>>2]:-1;do{if((0|b)<=(0|s)){if((s=(0|p)>(0|c))|(0|m)==(0|a)^1){if((0|m)==(0|a)&s)break;break t}if((0|f)!=(0|d))break t;if((0|_[A+(n<<4)+8>>2])>>>0>=u>>>0)break t}}while(0);n=n+-1|0}else for(;;){s=(a=0|_[(r=A+(n<<4)|0)>>2])?0|_[a+12>>2]:-1,p=f?0|_[f+12>>2]:-1,c=(d=0|_[A+(n<<4)+4>>2])?0|_[d+12>>2]:-1;do{if((0|s)>=-1){if((s=(0|p)>(0|c))|1^!(0|a)){if(!(0|a)&s)break;break t}if((0|f)!=(0|d))break t;if((0|_[A+(n<<4)+8>>2])>>>0>=u>>>0)break t}}while(0);n=n+-1|0}}while(0);if((0|o)<=(0|n)&&(c=0|_[l>>2],a=0|_[A+(o<<4)+4>>2],d=0|_[A+(o<<4)+8>>2],b=0|_[A+(o<<4)+12>>2],_[l>>2]=_[r>>2],_[l+4>>2]=_[r+4>>2],_[l+8>>2]=_[r+8>>2],_[l+12>>2]=_[r+12>>2],A=0|_[t+12>>2],_[A+(n<<4)>>2]=c,_[A+(n<<4)+4>>2]=a,_[A+(n<<4)+8>>2]=d,_[A+(n<<4)+12>>2]=b,n=n+-1|0,o=o+1|0),(0|o)>(0|n))break;A=0|_[t+12>>2]}if((0|n)>(0|e)&&He(t,e,n),!((0|o)<(0|i)))break;e=o}}function Ze(t,e,i,o,r,s,c,a,l){t|=0,i|=0,o|=0,r|=0,s=+s,c|=0,a|=0,l|=0;var d,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;if(d=Q,Q=Q+32|0,e|=0){if((0|(b=0|_[t+44>>2]))<128){if((0|_[t+48>>2])<128){if(_[6630]=1+(0|_[6630]),(A=0|di(531))?(_[(A+4+15&-16)-4>>2]=A,u=A+4+15&-16):u=0,(0|(f=0|_[t+44>>2]))>0){A=0;do{_[u+(A<<2)>>2]=_[(0|_[t+52>>2])+(A<<2)>>2],A=A+1|0}while((0|A)!=(0|f))}0|(A=0|_[t+52>>2])&&(0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[t+52>>2]=0),n[t+56|0]=1,_[t+52>>2]=u,_[t+48>>2]=128,A=t+52|0}else A=t+52|0;do{_[(0|_[A>>2])+(b<<2)>>2]=0,b=b+1|0}while(128!=(0|b));k=t+48|0}else A=t+52|0,k=t+48|0;_[t+44>>2]=128,_[_[A>>2]>>2]=e,f=1,b=126;do{S=f+-1|0,u=0|_[A>>2],w=0|_[u+(S<<2)>>2],C=+p[w+4>>2]-+p[a+4>>2],y=+p[w+8>>2]-+p[a+8>>2],p[d>>2]=+p[w>>2]-+p[a>>2],p[d+4>>2]=C,p[d+8>>2]=y,p[d+12>>2]=0,y=+p[w+20>>2]-+p[c+4>>2],C=+p[w+24>>2]-+p[c+8>>2],p[d+16>>2]=+p[w+16>>2]-+p[c>>2],p[d+20>>2]=y,p[d+24>>2]=C,p[d+28>>2]=0,v=0|_[r>>2],C=+p[i>>2],y=+p[o>>2],g=(+p[d+(v<<4)>>2]-C)*y,C=y*(+p[d+(1-v<<4)>>2]-C),v=0|_[r+4>>2],y=+p[i+4>>2],B=+p[o+4>>2],h=(+p[d+(v<<4)+4>>2]-y)*B,y=B*(+p[d+(1-v<<4)+4>>2]-y);do{if(h>C|g>y||(j=h>g?h:g,R=y>2],I=+p[i+8>>2],B=+p[o+8>>2],(D=(+p[d+(v<<4)+8>>2]-I)*B)>R|j>(I=B*(+p[d+(1-v<<4)+8>>2]-I)))||!((I0&&(D>j?D:j)>2])){ed[127&_[12+(0|_[l>>2])>>2]](l,w),f=S;break}if((0|S)>(0|b)){if((0|(v=0|_[t+44>>2]))>2])>2]=b,m=b+4+15&-16):m=0,(0|(u=0|_[t+44>>2]))>0){b=0;do{_[m+(b<<2)>>2]=_[(0|_[A>>2])+(b<<2)>>2],b=b+1|0}while((0|b)!=(0|u));e=m,b=m}else e=m,b=m;else e=0,b=0;0|(u=0|_[A>>2])&&(0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[A>>2]=0),n[t+56|0]=1,_[A>>2]=e,_[k>>2]=v<<1}else b=u;u=v;do{_[b+(u<<2)>>2]=0,u=u+1|0,b=0|_[A>>2]}while((0|u)!=v<<1);u=b+(S<<2)|0}else u=u+(S<<2)|0;_[t+44>>2]=v<<1,b=(v<<1)-2|0}else u=u+(S<<2)|0;_[u>>2]=_[w+36>>2],_[(0|_[A>>2])+(f<<2)>>2]=_[w+40>>2],f=f+1|0}}while(0)}while(0|f);Q=d}else Q=d}function Ue(t,e,i,n){var o,_,r,s,c,a,l,d,A,m,h,y,g,C,v,S,w,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0;jt(t|=0,(e|=0)+(284*(i|=0)|0)|0,n|=0),o=+p[e+(284*i|0)+52>>2],R=+p[e+(284*i|0)+56>>2],k=+p[e+(284*i|0)+60>>2],w=+p[e+(284*i|0)+76>>2],x=+p[e+(284*i|0)+72>>2],T=+p[e+(284*i|0)+68>>2],m=(w*-R-x*-k)*(F=1/+b(+((x*-o-T*-R)*(x*-o-T*-R)+((w*-R-x*-k)*(w*-R-x*-k)+(T*-k-w*-o)*(T*-k-w*-o))))),A=(T*-k-w*-o)*F,F*=x*-o-T*-R,D=.5*+p[e+(284*i|0)+232>>2],v=1-((B=+u(+D)/+b(+(o*o+R*R+k*k)))*-R*(B*-R*(I=2/((D=+f(+D))*D+(B*-k*(B*-k)+(B*-o*(B*-o)+B*-R*(B*-R))))))+B*-k*(B*-k*I)),C=B*-o*(B*-R*I)-D*(B*-k*I),S=B*-o*(B*-k*I)+D*(B*-R*I),y=B*-o*(B*-R*I)+D*(B*-k*I),h=1-(B*-o*(B*-o*I)+B*-k*(B*-k*I)),g=B*-R*(B*-k*I)-D*(B*-o*I),r=B*-o*(B*-k*I)-D*(B*-R*I),D=B*-R*(B*-k*I)+D*(B*-o*I),I=1-(B*-o*(B*-o*I)+B*-R*(B*-R*I)),B=-.5*+p[e+(284*i|0)+236>>2],s=1-(x*(O=+u(+B)/+b(+(w*w+(x*x+T*T))))*(x*O*(W=2/((B=+f(+B))*B+(w*O*(w*O)+(T*O*(T*O)+x*O*(x*O))))))+w*O*(w*O*W)),_=T*O*(x*O*W)-B*(w*O*W),d=T*O*(w*O*W)+B*(x*O*W),c=T*O*(x*O*W)+B*(w*O*W),j=1-(T*O*(T*O*W)+w*O*(w*O*W)),l=x*O*(w*O*W)-B*(T*O*W),a=T*O*(w*O*W)-B*(x*O*W),B=x*O*(w*O*W)+B*(T*O*W),W=1-(T*O*(T*O*W)+x*O*(x*O*W)),O=+p[e+(284*i|0)+68>>2],x=+p[e+(284*i|0)+72>>2],T=+p[e+(284*i|0)+76>>2],p[e+(284*i|0)+92>>2]=T*(v*d+C*l+S*W)+(O*(S*a+(C*c+v*s))+x*(S*B+(v*_+C*j))),p[e+(284*i|0)+96>>2]=F*(v*d+C*l+S*W)+(m*(S*a+(C*c+v*s))+A*(S*B+(v*_+C*j))),p[e+(284*i|0)+100>>2]=(v*d+C*l+S*W)*-k+((S*a+(C*c+v*s))*-o+(S*B+(v*_+C*j))*-R),p[e+(284*i|0)+104>>2]=0,p[e+(284*i|0)+108>>2]=T*(y*d+l*h+g*W)+(O*(g*a+(c*h+y*s))+x*(g*B+(y*_+h*j))),p[e+(284*i|0)+112>>2]=F*(y*d+l*h+g*W)+(m*(g*a+(c*h+y*s))+A*(g*B+(y*_+h*j))),p[e+(284*i|0)+116>>2]=(y*d+l*h+g*W)*-k+((g*a+(c*h+y*s))*-o+(g*B+(y*_+h*j))*-R),p[e+(284*i|0)+120>>2]=0,p[e+(284*i|0)+124>>2]=T*(r*d+D*l+I*W)+(O*(a*I+(D*c+r*s))+x*(B*I+(r*_+D*j))),p[e+(284*i|0)+128>>2]=F*(r*d+D*l+I*W)+(m*(a*I+(D*c+r*s))+A*(B*I+(r*_+D*j))),p[e+(284*i|0)+132>>2]=(r*d+D*l+I*W)*-k+((a*I+(D*c+r*s))*-o+(B*I+(r*_+D*j))*-R),p[e+(284*i|0)+136>>2]=0,R=R*(j=+p[e+(284*i|0)+32>>2])+ +p[e+(284*i|0)+40>>2],k=k*j+ +p[e+(284*i|0)+44>>2],p[e+(284*i|0)+140>>2]=+p[e+(284*i|0)+36>>2]+o*j,p[e+(284*i|0)+144>>2]=R,p[e+(284*i|0)+148>>2]=k,p[e+(284*i|0)+152>>2]=0}function Ye(t,e,i){e|=0,i|=0;var n,o,r=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;return o=Q,Q=Q+80|0,f=0|_[4+(t|=0)>>2],hd[3&_[16+(0|_[f>>2])>>2]](f,o+76|0,o+72|0,o+68|0,o+64|0,o+60|0,o+56|0,o+52|0,o+48|0,e),f=(0|_[o+60>>2])+(0|g(0|_[o+56>>2],i))|0,m=0|_[t+4>>2],u=!(0|_[o+68>>2]),n=0|_[o+76>>2],3==(0|_[o+48>>2])?(A=0|_[o+64>>2],d=n+(0|g(A,0|s[f+4>>1]))|0,u?(a=+p[d+4>>2]*+p[m+8>>2],l=+p[d>>2]*+p[m+4>>2],b=d+8|0,r=+p[m+12>>2]):(a=+p[m+8>>2]*+c[d+8>>3],l=+p[m+4>>2]*+c[d>>3],b=m+12|0,r=+c[d+16>>3]),r=+p[b>>2]*r,p[o+32>>2]=l,p[o+36>>2]=a,p[o+40>>2]=r,p[o+44>>2]=0,d=n+(0|g(A,0|s[f+2>>1]))|0,u?(a=+p[d+4>>2]*+p[m+8>>2],l=+p[d>>2]*+p[m+4>>2],b=d+8|0,r=+p[m+12>>2]):(a=+p[m+8>>2]*+c[d+8>>3],l=+p[m+4>>2]*+c[d>>3],b=m+12|0,r=+c[d+16>>3]),r=+p[b>>2]*r,p[o+16>>2]=l,p[o+20>>2]=a,p[o+24>>2]=r,p[o+28>>2]=0,b=n+(0|g(A,0|s[f>>1]))|0,u?(a=+p[b+4>>2]*+p[m+8>>2],l=+p[b>>2]*+p[m+4>>2],d=b+8|0,r=+p[m+12>>2]):(a=+p[m+8>>2]*+c[b+8>>3],l=+p[m+4>>2]*+c[b>>3],d=m+12|0,r=+c[b+16>>3]),r=+p[d>>2]*r,p[o>>2]=l,p[(m=o+4|0)>>2]=a,p[(m=o+8|0)>>2]=r,p[(m=o+12|0)>>2]=0,m=0|_[(m=t+8|0)>>2],u=0|_[m>>2],u=0|_[(u=u+8|0)>>2],pd[127&u](m,o,e,i),i=0|_[t+4>>2],t=0|_[i>>2],t=0|_[(t=t+24|0)>>2],ed[127&t](i,e),void(Q=o)):(A=0|_[o+64>>2],d=n+(0|g(A,0|_[f+8>>2]))|0,u?(b=d+8|0,a=+p[d+4>>2]*+p[m+8>>2],l=+p[d>>2]*+p[m+4>>2],r=+p[m+12>>2]):(b=m+12|0,a=+p[m+8>>2]*+c[d+8>>3],l=+p[m+4>>2]*+c[d>>3],r=+c[d+16>>3]),r=+p[b>>2]*r,p[o+32>>2]=l,p[o+36>>2]=a,p[o+40>>2]=r,p[o+44>>2]=0,d=n+(0|g(A,0|_[f+4>>2]))|0,u?(a=+p[d+4>>2]*+p[m+8>>2],l=+p[d>>2]*+p[m+4>>2],b=d+8|0,r=+p[m+12>>2]):(a=+p[m+8>>2]*+c[d+8>>3],l=+p[m+4>>2]*+c[d>>3],b=m+12|0,r=+c[d+16>>3]),r=+p[b>>2]*r,p[o+16>>2]=l,p[o+20>>2]=a,p[o+24>>2]=r,p[o+28>>2]=0,b=n+(0|g(A,0|_[f>>2]))|0,u?(a=+p[b+4>>2]*+p[m+8>>2],l=+p[b>>2]*+p[m+4>>2],d=b+8|0,r=+p[m+12>>2]):(a=+p[m+8>>2]*+c[b+8>>3],l=+p[m+4>>2]*+c[b>>3],d=m+12|0,r=+c[b+16>>3]),r=+p[d>>2]*r,p[o>>2]=l,p[(m=o+4|0)>>2]=a,p[(m=o+8|0)>>2]=r,p[(m=o+12|0)>>2]=0,m=0|_[(m=t+8|0)>>2],u=0|_[m>>2],u=0|_[(u=u+8|0)>>2],pd[127&u](m,o,e,i),i=0|_[t+4>>2],t=0|_[i>>2],t=0|_[(t=t+24|0)>>2],ed[127&t](i,e),void(Q=o))}function Je(t,e,i,o,r,s,c,l){e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,l|=0;var A,f,u,m,h,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0;_[4+(t|=0)>>2]=4,_[t+8>>2]=-1,_[t+12>>2]=-1,p[t+16>>2]=34028234663852886e22,n[t+20|0]=1,n[t+21|0]=0,_[t+24>>2]=-1,_[t+28>>2]=e,_[t+32>>2]=i,p[t+36>>2]=0,p[t+40>>2]=.30000001192092896,_[t+44>>2]=0,_[t>>2]=5604,p[t+688>>2]=0,p[t+692>>2]=-1,p[t+696>>2]=.8999999761581421,p[t+700>>2]=.30000001192092896,p[t+704>>2]=1,p[t+708>>2]=0,p[t+712>>2]=0,n[t+716|0]=0,n[t+736|0]=0,n[t+737|0]=0,n[t+738|0]=0,n[t+739|0]=1,n[t+740|0]=1&l,_[t+748>>2]=0,_[t+600>>2]=_[o>>2],_[t+600+4>>2]=_[o+4>>2],_[t+600+8>>2]=_[o+8>>2],_[t+600+12>>2]=_[o+12>>2],y=+p[e+4>>2],g=+p[e+20>>2],C=+p[e+36>>2],v=+p[s>>2],S=+p[s+4>>2],w=+p[s+8>>2];do{if(!(y*v+g*S+C*w>=.9999998807907104)){if(y*v+g*S+C*w<=-.9999998807907104){i=0|_[e+8>>2],o=0|_[e+40>>2],k=0|_[e+24>>2],j=+p[e+12>>2],D=+p[e+28>>2],R=+p[e+44>>2];break}p[a>>2]=C*S-g*w,i=0|_[a>>2],p[a>>2]=y*w-C*v,k=0|_[a>>2],p[a>>2]=g*v-y*S,o=0|_[a>>2],j=w*(y*w-C*v)-S*(g*v-y*S),D=v*(g*v-y*S)-w*(C*S-g*w),R=S*(C*S-g*w)-v*(y*w-C*v);break}i=0|_[e+8>>2],o=0|_[e+40>>2],k=0|_[e+24>>2],j=-+p[e+12>>2],D=-+p[e+28>>2],R=-+p[e+44>>2]}while(0);p[t+552>>2]=j,_[t+556>>2]=i,_[t+560>>2]=_[s>>2],p[t+564>>2]=0,p[t+568>>2]=D,_[t+572>>2]=k,_[t+576>>2]=_[s+4>>2],p[t+580>>2]=0,p[t+584>>2]=R,_[t+588>>2]=o,_[t+592>>2]=_[s+8>>2],p[t+596>>2]=0,v=+p[s+4>>2],A=+p[c+8>>2],S=+p[s+8>>2],f=+p[c+4>>2],u=+p[c>>2],y=+p[s>>2];do{if(A*S+(v*f+u*y)<-.9999998807907104){if(+d(+S)>.7071067690849304){C=-S*(g=1/+b(+(v*v+S*S))),w=0,g*=v,y=0;break}C=y*(S=1/+b(+(v*v+y*y))),w=0,g=0,y=-v*S;break}C=1/(I=+b(2*(A*S+(v*f+u*y)+1)))*(S*u-A*y),w=.5*I,g=1/I*(f*y-v*u),y=1/I*(v*A-S*f)}while(0);h=j*w+R*C-D*g,v=R*w+D*y-j*C,m=-j*y-D*C-R*g,I=(S=D*w+j*g-R*y)*(R=-g)+(w*h+m*(j=-y))-v*(C=-C),D=v*j+(w*S+m*C)-h*R,j=h*C+(m*R+w*v)-S*j,_[t+664>>2]=_[r>>2],_[t+664+4>>2]=_[r+4>>2],_[t+664+8>>2]=_[r+8>>2],_[t+664+12>>2]=_[r+12>>2],p[t+616>>2]=I,p[t+620>>2]=f*j-A*D,_[t+624>>2]=_[c>>2],p[t+628>>2]=0,p[t+632>>2]=D,p[t+636>>2]=A*I-u*j,_[t+640>>2]=_[c+4>>2],p[t+644>>2]=0,p[t+648>>2]=j,p[t+652>>2]=u*D-f*I,_[t+656>>2]=_[c+8>>2],p[t+660>>2]=0,p[t+732>>2]=l?-1:1}function Xe(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,d,A,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0;if(A=Q,Q=Q+32|0,t|=0){for(d=+p[i>>2]-+p[e>>2],l=+p[i+4>>2]-+p[e+4>>2],o=+p[i+8>>2]-+p[e+8>>2],s=d*(r=1/+b(+(d*d+l*l+o*o)))==0?0xde0b6b000000000:1/(d*r),c=l*r==0?0xde0b6b000000000:1/(l*r),a=o*r==0?0xde0b6b000000000:1/(o*r),_[6630]=1+(0|_[6630]),(i=0|di(531))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,wn(i+4|0,0,508),_[i>>2]=t,w=1,S=126,v=128,j=i,D=128,B=i,g=i,f=i;;){I=0|_[(i=j+((k=w+-1|0)<<2)|0)>>2],_[A>>2]=_[I>>2],_[A+4>>2]=_[I+4>>2],_[A+8>>2]=_[I+8>>2],_[A+12>>2]=_[I+12>>2],_[A+16>>2]=_[I+16>>2],_[A+16+4>>2]=_[I+16+4>>2],_[A+16+8>>2]=_[I+16+8>>2],_[A+16+12>>2]=_[I+16+12>>2],m=+p[e>>2],u=s*(+p[A+((s<0&1)<<4)>>2]-m),m=s*(+p[A+((1&(s<0^1))<<4)>>2]-m),y=+p[e+4>>2],h=c*(+p[A+((c<0&1)<<4)+4>>2]-y),y=c*(+p[A+((1&(c<0^1))<<4)+4>>2]-y);do{if(h>m|u>y||(F=h>u?h:u,W=y>2],(x=a*(+p[A+((a<0&1)<<4)+8>>2]-O))>W|F>(O=a*(+p[A+((1&(a<0^1))<<4)+8>>2]-O)))||!((O0&&(x>F?x:F)>2])){ed[127&_[12+(0|_[n>>2])>>2]](n,I),w=k,i=j,C=D,t=B;break}if((0|k)>(0|S)){if((0|D)<(0|(R=D<<1))){do{if((0|v)<(0|R)){if(D)if(_[6630]=1+(0|_[6630]),(i=0|di(16+(D<<3|3)|0))?(_[(i+4+15&-16)-4>>2]=i,t=i+4+15&-16):t=0,(0|D)>0){i=0;do{_[t+(i<<2)>>2]=_[j+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|D));f=t,i=t}else f=t,i=t,T=18;else f=0,i=0,T=18;if(18==(0|T)&&(T=0,!j)){v=R,g=f,C=f,t=f;break}B?(_[6631]=1+(0|_[6631]),Ni(0|_[B+-4>>2]),v=R,g=f,C=f,t=f):(v=R,g=f,C=f,t=f)}else i=j,C=f,t=B}while(0);wn(i+(D<<2)|0,0,D<<2),S=i+(k<<2)|0,f=C}else S=i,i=j,t=B;k=R+-2|0,C=R}else k=S,S=i,i=j,C=D,t=B;_[S>>2]=_[I+36>>2],_[i+(w<<2)>>2]=_[I+40>>2],w=w+1|0,S=k}}while(0);if(!w)break;j=i,D=C,B=t}!(0|i)|!(0|g)||(_[6631]=1+(0|_[6631]),Ni(0|_[g+-4>>2])),Q=A}else Q=A}function ze(t,e,i){i|=0;var n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;if(!!(0|(t|=0))&!!(0|(e|=0))){for(_[6630]=1+(0|_[6630]),(n=0|di(1043))?(_[(n+4+15&-16)-4>>2]=n,o=n+4+15&-16):o=0,_[o>>2]=t,_[o+4>>2]=e,n=1,e=124,r=128,t=o,a=128,c=o,b=o;;){if(A=0|_[t+((u=n+-1|0)<<3)>>2],f=0|_[t+(u<<3)+4>>2],(0|u)>(0|e)){d=a<<1;do{if((0|a)<(0|d)&(0|r)<(0|d)){if(a)if(_[6630]=1+(0|_[6630]),(e=0|di(16+(a<<4|3)|0))?(_[(e+4+15&-16)-4>>2]=e,o=e+4+15&-16):o=0,(0|a)>0){e=0;do{c=0|_[4+(s=t+(e<<3)|0)>>2],_[(l=o+(e<<3)|0)>>2]=_[s>>2],_[l+4>>2]=c,e=e+1|0}while((0|e)!=(0|a));r=o,t=o}else r=o,e=o,m=13;else r=0,e=0,m=13;if(13==(0|m)){if(m=0,!t){s=d,t=e,o=r,e=r;break}t=e}b?(_[6631]=1+(0|_[6631]),Ni(0|_[b+-4>>2]),s=d,o=r,e=r):(s=d,o=r,e=r)}else s=r,o=c,e=b}while(0);l=d+-4|0,r=s,a=d,c=o,s=e}else l=e,s=b;do{if((0|A)==(0|f))0|_[A+40>>2]?(f=0|_[A+36>>2],_[t+(u<<3)>>2]=f,_[t+(u<<3)+4>>2]=f,f=0|_[A+40>>2],u=n+1|0,_[t+(n<<3)>>2]=f,_[t+(n<<3)+4>>2]=f,f=0|_[A+40>>2],_[t+(u<<3)>>2]=_[A+36>>2],_[t+(u<<3)+4>>2]=f,n=n+2|0):n=u;else{if(+p[A>>2]<=+p[f+16>>2]&&+p[A+16>>2]>=+p[f>>2]&&+p[A+4>>2]<=+p[f+20>>2]&&+p[A+20>>2]>=+p[f+4>>2]&&+p[A+8>>2]<=+p[f+24>>2]&&+p[A+24>>2]>=+p[f+8>>2]){if(e=!!(0|_[f+40>>2]),0|_[A+40>>2]){if(o=0|_[A+36>>2],e){d=0|_[f+36>>2],_[t+(u<<3)>>2]=o,_[t+(u<<3)+4>>2]=d,d=0|_[f+36>>2],b=n+1|0,_[t+(n<<3)>>2]=_[A+40>>2],_[t+(n<<3)+4>>2]=d,d=0|_[f+40>>2],u=n+2|0,_[t+(b<<3)>>2]=_[A+36>>2],_[t+(b<<3)+4>>2]=d,f=0|_[f+40>>2],_[t+(u<<3)>>2]=_[A+40>>2],_[t+(u<<3)+4>>2]=f,n=n+3|0;break}_[t+(u<<3)>>2]=o,_[t+(u<<3)+4>>2]=f,_[t+(n<<3)>>2]=_[A+40>>2],_[t+(n<<3)+4>>2]=f,n=n+1|0;break}if(e){b=0|_[f+36>>2],_[t+(u<<3)>>2]=A,_[t+(u<<3)+4>>2]=b,u=0|_[f+40>>2],_[t+(n<<3)>>2]=A,_[t+(n<<3)+4>>2]=u,n=n+1|0;break}_d[127&_[8+(0|_[i>>2])>>2]](i,A,f),n=u;break}n=u}}while(0);if(!n)break;e=l,b=s}!(0|t)|!(0|c)||(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]))}}function Ke(t,e,i,o,r,s){e|=0,i|=0,o|=0,r|=0,s|=0,_[4+(t|=0)>>2]=6,_[t+8>>2]=-1,_[t+12>>2]=-1,p[t+16>>2]=34028234663852886e22,n[t+20|0]=1,n[t+21|0]=0,_[t+24>>2]=-1,_[t+28>>2]=e,_[t+32>>2]=i,p[t+36>>2]=0,p[t+40>>2]=.30000001192092896,_[t+44>>2]=0,_[t>>2]=5276,_[t+48>>2]=_[o>>2],_[t+48+4>>2]=_[o+4>>2],_[t+48+8>>2]=_[o+8>>2],_[t+48+12>>2]=_[o+12>>2],_[t+64>>2]=_[o+16>>2],_[t+64+4>>2]=_[o+16+4>>2],_[t+64+8>>2]=_[o+16+8>>2],_[t+64+12>>2]=_[o+16+12>>2],_[t+80>>2]=_[o+32>>2],_[t+80+4>>2]=_[o+32+4>>2],_[t+80+8>>2]=_[o+32+8>>2],_[t+80+12>>2]=_[o+32+12>>2],_[t+96>>2]=_[o+48>>2],_[t+96+4>>2]=_[o+48+4>>2],_[t+96+8>>2]=_[o+48+8>>2],_[t+96+12>>2]=_[o+48+12>>2],_[t+112>>2]=_[r>>2],_[t+112+4>>2]=_[r+4>>2],_[t+112+8>>2]=_[r+8>>2],_[t+112+12>>2]=_[r+12>>2],_[t+128>>2]=_[r+16>>2],_[t+128+4>>2]=_[r+16+4>>2],_[t+128+8>>2]=_[r+16+8>>2],_[t+128+12>>2]=_[r+16+12>>2],_[t+144>>2]=_[r+32>>2],_[t+144+4>>2]=_[r+32+4>>2],_[t+144+8>>2]=_[r+32+8>>2],_[t+144+12>>2]=_[r+32+12>>2],_[t+160>>2]=_[r+48>>2],_[t+160+4>>2]=_[r+48+4>>2],_[t+160+8>>2]=_[r+48+8>>2],_[t+160+12>>2]=_[r+48+12>>2],i=48+(e=t+680|0)|0;do{_[e>>2]=0,e=e+4|0}while((0|e)<(0|i));_[t+740>>2]=0,_[t+740+4>>2]=0,_[t+740+8>>2]=0,_[t+740+12>>2]=0,_[t+756>>2]=1045220557,_[t+760>>2]=1045220557,_[t+764>>2]=1045220557,_[t+768>>2]=0,_[t+768+4>>2]=0,_[t+768+8>>2]=0,_[t+768+12>>2]=0,_[t+768+16>>2]=0,p[t+728>>2]=.699999988079071,p[t+732>>2]=1,p[t+736>>2]=.5,n[t+788|0]=0,n[t+788+1|0]=0,n[t+788+2|0]=0,_[t+792>>2]=0,_[t+792+4>>2]=0,_[t+792+8>>2]=0,_[t+808>>2]=0,_[t+808+4>>2]=0,_[t+808+8>>2]=0,p[t+928>>2]=0,p[t+876>>2]=0,p[t+880>>2]=.10000000149011612,p[t+884>>2]=300,p[t+868>>2]=1,p[t+872>>2]=-1,p[t+896>>2]=0,p[t+900>>2]=.20000000298023224,p[t+904>>2]=0,p[t+908>>2]=0,p[t+888>>2]=1,p[t+892>>2]=.5,_[t+924>>2]=0,p[t+916>>2]=0,n[t+912|0]=0,p[t+992>>2]=0,p[t+940>>2]=0,p[t+944>>2]=.10000000149011612,p[t+948>>2]=300,p[t+932>>2]=1,p[t+936>>2]=-1,p[t+960>>2]=0,p[t+964>>2]=.20000000298023224,p[t+968>>2]=0,p[t+972>>2]=0,p[t+952>>2]=1,p[t+956>>2]=.5,_[t+988>>2]=0,p[t+980>>2]=0,n[t+976|0]=0,p[t+1056>>2]=0,p[t+1004>>2]=0,p[t+1008>>2]=.10000000149011612,p[t+1012>>2]=300,p[t+996>>2]=1,p[t+1e3>>2]=-1,p[t+1024>>2]=0,p[t+1028>>2]=.20000000298023224,p[t+1032>>2]=0,p[t+1036>>2]=0,p[t+1016>>2]=1,p[t+1020>>2]=.5,_[t+1052>>2]=0,p[t+1044>>2]=0,n[t+1040|0]=0,n[t+1300|0]=1&s,n[t+1301|0]=1,_[t+1304>>2]=0,n[t+1308|0]=0,Pi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0)}function qe(t,e,i){e|=0,i|=0;var n,o,r,s,c,l,d,A,f,u,m,h,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;if(B=+p[452+(t|=0)>>2],C=(d=+p[t+304>>2])>0|(s=+p[t+300>>2])>0?(0|_[t+288>>2])<4:0,h=0|_[t+720>>2],(f=+p[h+(104*i|0)+88>>2])>0&&(n=0|_[_[t+684>>2]>>2],C&&(k=(u=+p[h+(104*i|0)+40>>2])-+p[e>>2],R=(m=+p[h+(104*i|0)+44>>2])-+p[e+4>>2],S=(I=+p[h+(104*i|0)+48>>2])-+p[e+8>>2],w=+b(+(k*k+R*R+S*S)),k*k+R*R+S*S>1.1920928955078125e-7)))switch(l=k*(1/w),A=R*(1/w),D=S*(1/w),o=+p[h+(104*i|0)+72>>2],r=+p[h+(104*i|0)+76>>2],c=+p[h+(104*i|0)+80>>2],0|_[t+288>>2]){case 2:return g=D*(c*(j=k*o+R*r+S*c<0?-1:1))+(l*(o*j)+A*(r*j)),v=.5*+p[h+(104*i|0)+92>>2],_[a>>2]=n,R=g*(.5*s*(y=+p[a>>2])*(k*k+R*R+S*S)*v),g>0&g<.9847999811172485?(w=(D*(l*(c*j)-D*(o*j))-A*(A*(o*j)-l*(r*j)))*(S=+b(+(1-g*g))*(.5*d*y*w*v)),k=(l*(A*(o*j)-l*(r*j))-D*(D*(r*j)-A*(c*j)))*S,S*=A*(D*(r*j)-A*(c*j))-l*(l*(c*j)-D*(o*j))):(w=0,k=0,S=0),(y=B*(f*(-D*R))*(B*(f*(-D*R)))+(B*(f*(-l*R))*(B*(f*(-l*R)))+B*(f*(-A*R))*(B*(f*(-A*R)))))>0&&y>=u*u+m*m+I*I?(v=(y=+b(+(u*u+m*m+I*I))/+b(+y)*.800000011920929)*(-l*R),g=y*(-D*R),y*=-A*R):(v=-l*R,g=-D*R,y=-A*R),I=y+ +p[h+(104*i|0)+60>>2],B=g+ +p[h+(104*i|0)+64>>2],p[h+(104*i|0)+56>>2]=w+(v+ +p[h+(104*i|0)+56>>2]),p[h+(104*i|0)+60>>2]=k+I,void(p[h+(104*i|0)+64>>2]=S+B);case 1:case 3:case 0:if(!(S*(c*(y=k*o+R*r+S*c<0?-1:1))+(k*(o*y)+R*(r*y))>0))return;return v=l*(s*(j=-(k*k+R*R+S*S)*((S*(c*y)+(k*(o*y)+R*(r*y)))*+p[h+(104*i|0)+92>>2])*.5*(_[a>>2]=n,+p[a>>2])))+(o*y*(d*j)+0),g=A*(s*j)+(r*y*(d*j)+0),B*f*(y=D*(s*j)+(c*y*(d*j)+0))*(B*f*y)+(B*f*v*(B*f*v)+B*f*g*(B*f*g))>u*u+m*m+I*I?(D=1/+b(+(y*y+(v*v+g*g))),p[h+(104*i|0)+56>>2]=+p[h+(104*i|0)+56>>2]-1/(B*f)*(v*D*(I*(y*D)+(u*(v*D)+m*(g*D)))),p[h+(104*i|0)+60>>2]=+p[h+(104*i|0)+60>>2]-1/(B*f)*(g*D*(I*(y*D)+(u*(v*D)+m*(g*D)))),void(p[h+(104*i|0)+64>>2]=+p[h+(104*i|0)+64>>2]-1/(B*f)*(y*D*(I*(y*D)+(u*(v*D)+m*(g*D)))))):(p[h+(104*i|0)+56>>2]=v+ +p[h+(104*i|0)+56>>2],p[h+(104*i|0)+60>>2]=g+ +p[h+(104*i|0)+60>>2],void(p[h+(104*i|0)+64>>2]=y+ +p[h+(104*i|0)+64>>2]));default:return}}function $e(t,e,i,n,o,r,s,c){t|=0,e|=0,n=+n,o=+o,r=+r,s|=0,c|=0;var a,l,d,A,f,u,m,h,y,g,C,v,S,w,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0;w=Q,Q=Q+32|0,a=+p[(i|=0)>>2],d=+p[i+4>>2],l=+p[i+8>>2],P=+p[s>>2],x=+p[s+4>>2],W=+p[s+8>>2],B=+p[c>>2],F=+p[c+4>>2],T=+p[c+8>>2],f=(n-a)*(A=1/+b(+((n-a)*(n-a)+(o-d)*(o-d)+(r-l)*(r-l))))==0?0xde0b6b000000000:1/((n-a)*A),u=(o-d)*A==0?0xde0b6b000000000:1/((o-d)*A),m=(r-l)*A==0?0xde0b6b000000000:1/((r-l)*A),h=(a>n?n:a)+P,y=(d>o?o:d)+x,g=(l>r?r:l)+W,C=(a>2];t:do{if((0|R)>0)for(D=0|_[t+96>>2],k=0,V=0,M=R;;){if(k=k+1|0,_[w>>2]=_[D>>2],_[w+4>>2]=_[D+4>>2],_[w+8>>2]=_[D+8>>2],_[w+12>>2]=_[D+12>>2],O=D+16|0,_[w+16>>2]=_[O>>2],_[w+16+4>>2]=_[O+4>>2],_[w+16+8>>2]=_[O+8>>2],_[w+16+12>>2]=_[O+12>>2],p[w>>2]=+p[w>>2]-B,p[w+4>>2]=+p[w+4>>2]-F,p[w+8>>2]=+p[w+8>>2]-T,p[w+16>>2]=+p[w+16>>2]-P,p[w+20>>2]=+p[w+20>>2]-x,p[w+24>>2]=+p[w+24>>2]-W,R=h>+p[O>>2]||C<+p[D>>2]?0:1,(g>+p[D+24>>2]||S<+p[D+8>>2])&&(R=0),y>+p[D+20>>2]||v<+p[D+4>>2]|1^R||(L=+p[i>>2],N=f*(+p[w+((f<0&1)<<4)>>2]-L),L=f*(+p[w+((1&(f<0^1))<<4)>>2]-L),H=+p[i+4>>2],(E=u*(+p[w+((u<0&1)<<4)+4>>2]-H))>L|N>(H=u*(+p[w+((1&(u<0^1))<<4)+4>>2]-H)))||(Z=E>N?E:N,G=H>2],(U=m*(+p[w+((m<0&1)<<4)+8>>2]-Y))>G|Z>(Y=m*(+p[w+((1&(m<0^1))<<4)+8>>2]-Y)))?(R=0,I=-1==(0|(j=0|_[D+32>>2])),O=16):(R=(Y0?(U>Z?U:Z)<(r-l)*A*(r-l)+((n-a)*A*(n-a)+(o-d)*A*(o-d)):0)&-1==(0|(j=0|_[D+32>>2]))?(_d[127&_[8+(0|_[e>>2])>>2]](e,0|_[D+36>>2],0|_[D+40>>2]),R=0|_[t+56>>2],O=17):(I=-1==(0|j),O=16),16==(0|O)&&(O=0,I|R?(R=M,O=17):(D=D+(j<<6)|0,j=j+V|0,R=M)),17==(0|O)&&(D=D+64|0,j=V+1|0),(0|j)>=(0|R))break t;V=j,M=R,B=+p[c>>2],F=+p[c+4>>2],T=+p[c+8>>2],P=+p[s>>2],x=+p[s+4>>2],W=+p[s+8>>2]}else k=0}while(0);(0|_[6610])>=(0|k)||(_[6610]=k),Q=w}function ti(t,e){e|=0;var i,n,o,r,s,c,a,l,d,b,A,f,u=0,m=0,h=0,y=0,g=0,C=0,v=0;2&_[204+(t|=0)>>2]?(_[t+68>>2]=_[t+4>>2],_[t+68+4>>2]=_[t+4+4>>2],_[t+68+8>>2]=_[t+4+8>>2],_[t+68+12>>2]=_[t+4+12>>2],_[t+84>>2]=_[t+20>>2],_[t+84+4>>2]=_[t+20+4>>2],_[t+84+8>>2]=_[t+20+8>>2],_[t+84+12>>2]=_[t+20+12>>2],_[t+100>>2]=_[t+36>>2],_[t+100+4>>2]=_[t+36+4>>2],_[t+100+8>>2]=_[t+36+8>>2],_[t+100+12>>2]=_[t+36+12>>2],_[t+116>>2]=_[t+52>>2],_[t+116+4>>2]=_[t+52+4>>2],_[t+116+8>>2]=_[t+52+8>>2],_[t+116+12>>2]=_[t+52+12>>2],u=t+20|0,m=e+16|0,h=t+36|0,y=e+32|0,g=t+52|0,C=e+48|0,v=t+4|0):(_[t+68>>2]=_[e>>2],_[t+68+4>>2]=_[e+4>>2],_[t+68+8>>2]=_[e+8>>2],_[t+68+12>>2]=_[e+12>>2],_[t+84>>2]=_[e+16>>2],_[t+84+4>>2]=_[e+16+4>>2],_[t+84+8>>2]=_[e+16+8>>2],_[t+84+12>>2]=_[e+16+12>>2],_[t+100>>2]=_[e+32>>2],_[t+100+4>>2]=_[e+32+4>>2],_[t+100+8>>2]=_[e+32+8>>2],_[t+100+12>>2]=_[e+32+12>>2],_[t+116>>2]=_[e+48>>2],_[t+116+4>>2]=_[e+48+4>>2],_[t+116+8>>2]=_[e+48+8>>2],_[t+116+12>>2]=_[e+48+12>>2],u=t+20|0,m=e+16|0,h=t+36|0,y=e+32|0,g=t+52|0,C=e+48|0,v=t+4|0),_[t+132>>2]=_[t+312>>2],_[t+132+4>>2]=_[t+312+4>>2],_[t+132+8>>2]=_[t+312+8>>2],_[t+132+12>>2]=_[t+312+12>>2],_[t+148>>2]=_[t+328>>2],_[t+148+4>>2]=_[t+328+4>>2],_[t+148+8>>2]=_[t+328+8>>2],_[t+148+12>>2]=_[t+328+12>>2],_[v>>2]=_[e>>2],_[v+4>>2]=_[e+4>>2],_[v+8>>2]=_[e+8>>2],_[v+12>>2]=_[e+12>>2],_[u>>2]=_[m>>2],_[u+4>>2]=_[m+4>>2],_[u+8>>2]=_[m+8>>2],_[u+12>>2]=_[m+12>>2],_[h>>2]=_[y>>2],_[h+4>>2]=_[y+4>>2],_[h+8>>2]=_[y+8>>2],_[h+12>>2]=_[y+12>>2],_[g>>2]=_[C>>2],_[g+4>>2]=_[C+4>>2],_[g+8>>2]=_[C+8>>2],_[g+12>>2]=_[C+12>>2],f=+p[t+4>>2],c=+p[t+396>>2],A=+p[t+8>>2],r=+p[t+400>>2],b=+p[t+12>>2],n=+p[t+404>>2],d=+p[t+20>>2],l=+p[t+24>>2],a=+p[t+28>>2],s=+p[t+36>>2],o=+p[t+40>>2],i=+p[t+44>>2],p[t+264>>2]=f*(f*c)+A*(A*r)+b*(b*n),p[t+268>>2]=f*c*d+A*r*l+b*n*a,p[t+272>>2]=f*c*s+A*r*o+b*n*i,p[t+276>>2]=0,p[t+280>>2]=f*(c*d)+A*(r*l)+b*(n*a),p[t+284>>2]=d*(c*d)+l*(r*l)+a*(n*a),p[t+288>>2]=c*d*s+r*l*o+n*a*i,p[t+292>>2]=0,p[t+296>>2]=f*(c*s)+A*(r*o)+b*(n*i),p[t+300>>2]=d*(c*s)+l*(r*o)+a*(n*i),p[t+304>>2]=s*(c*s)+o*(r*o)+i*(n*i),p[t+308>>2]=0}function ei(t,e,i,n){t|=0,e|=0,i|=0,n|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0,A=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;t:for(;;){if(W=0|_[n+12>>2],(0|e)>0){a=+p[i>>2],s=+p[i+4>>2],c=+p[i+8>>2],o=-1,r=0;do{do{if(0|_[W+(r<<2)>>2]){if(-1!=(0|o)&&!(a*+p[t+(r<<4)>>2]+s*+p[t+(r<<4)+4>>2]+c*+p[t+(r<<4)+8>>2]>a*+p[t+(o<<4)>>2]+s*+p[t+(o<<4)+4>>2]+c*+p[t+(o<<4)+8>>2]))break;o=r}}while(0);r=r+1|0}while((0|r)!=(0|e))}else o=-1;if(3==(0|_[(B=W+(o<<2)|0)>>2])){F=40;break}for(j=+p[i+4>>2],D=+p[i+8>>2],I=+p[i>>2],(s=+b(+((j-0*D)*(j-0*D)+(0*D-I)*(0*D-I)+(0*I-0*j)*(0*I-0*j))))>(c=+b(+((I-0*j)*(I-0*j)+((0*j-D)*(0*j-D)+(0*D-0*I)*(0*D-0*I)))))?(k=1/s*(j-0*D),R=1/s*(0*I-0*j),y=1/s*(0*D-I)):(k=1/c*(0*j-D),R=1/c*(I-0*j),y=1/c*(0*D-0*I)),g=D*y-j*R,C=I*R-D*k,v=j*k-I*y,S=-1==(0|o),h=0,r=-1;;){if(s=I+.02500000037252903*(k*(m=+u(.01745329238474369*(w=+(0|h))))+g*(a=+f(.01745329238474369*w))),c=j+.02500000037252903*(y*m+C*a),a=D+.02500000037252903*(R*m+v*a),(0|e)>0){l=-1,d=0;do{do{if(0|_[W+(d<<2)>>2]){if(-1!=(0|l)&&!(s*+p[t+(d<<4)>>2]+c*+p[t+(d<<4)+4>>2]+a*+p[t+(d<<4)+8>>2]>s*+p[t+(l<<4)>>2]+c*+p[t+(l<<4)+4>>2]+a*+p[t+(l<<4)+8>>2]))break;l=d}}while(0);d=d+1|0}while((0|d)!=(0|e))}else l=-1;if((0|r)==(0|o)&(0|l)==(0|o))break t;e:do{if(!(-1==(0|r)|(0|r)==(0|l))&&w+-40<=w){if((0|e)<=0)for(s=w+-40;;){if((0|r)==(0|o)&S){o=-1;break t}if(!((s+=5)<=w))break e;r=-1}for(m=w+-40;;){s=I+.02500000037252903*(k*(x=+u(+(a=.01745329238474369*m)))+g*(a=+f(+a))),c=j+.02500000037252903*(y*x+C*a),a=D+.02500000037252903*(R*x+v*a),d=-1,A=0;do{do{if(0|_[W+(A<<2)>>2]){if(-1!=(0|d)&&!(s*+p[t+(A<<4)>>2]+c*+p[t+(A<<4)+4>>2]+a*+p[t+(A<<4)+8>>2]>s*+p[t+(d<<4)>>2]+c*+p[t+(d<<4)+4>>2]+a*+p[t+(d<<4)+8>>2]))break;d=A}}while(0);A=A+1|0}while((0|A)!=(0|e));if((0|r)==(0|o)&(0|d)==(0|o))break t;if(!((m+=5)<=w))break;r=d}}}while(0);if((h=h+45|0)>>>0>360)break;r=l}_[B>>2]=0}return 40==(0|F)?0|o:(_[B>>2]=3,0|(F=o))}function ii(t,e,i){e|=0,i|=0;var n,o,r,s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D=0,I=0,B=0;n=Q,Q=Q+160|0,D=0|_[4+(t|=0)>>2],I=0|_[D+12>>2],k=+p[I>>2],w=+p[I+4>>2],S=+p[I+8>>2],v=+p[I+16>>2],C=+p[I+20>>2],g=+p[I+24>>2],b=+p[I+32>>2],l=+p[I+36>>2],c=+p[I+40>>2],D=0|_[24+(0|_[D+4>>2])>>2],y=+p[D+(80*i|0)>>2],h=+p[D+(80*i|0)+16>>2],m=+p[D+(80*i|0)+32>>2],u=+p[D+(80*i|0)+4>>2],f=+p[D+(80*i|0)+20>>2],A=+p[D+(80*i|0)+36>>2],d=+p[D+(80*i|0)+8>>2],a=+p[D+(80*i|0)+24>>2],s=+p[D+(80*i|0)+40>>2],j=+p[D+(80*i|0)+48>>2],R=+p[D+(80*i|0)+52>>2],B=+p[D+(80*i|0)+56>>2],r=+p[I+48>>2]+(k*j+w*R+S*B),o=+p[I+52>>2]+(v*j+C*R+g*B),B=+p[I+56>>2]+(b*j+l*R+c*B),p[n+88>>2]=k*y+w*h+S*m,p[n+88+4>>2]=k*u+w*f+S*A,p[n+88+8>>2]=k*d+w*a+S*s,p[n+88+12>>2]=0,p[n+88+16>>2]=v*y+C*h+g*m,p[n+88+20>>2]=v*u+C*f+g*A,p[n+88+24>>2]=v*d+C*a+g*s,p[n+88+28>>2]=0,p[n+88+32>>2]=b*y+l*h+c*m,p[n+88+36>>2]=b*u+l*f+c*A,p[n+88+40>>2]=b*d+l*a+c*s,p[n+88+44>>2]=0,p[n+88+48>>2]=r,p[n+88+52>>2]=o,p[n+88+56>>2]=B,p[n+88+60>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,n+88|0,n+72|0,n+56|0),I=0|_[t+8>>2],D=0|_[I+4>>2],pd[127&_[8+(0|_[D>>2])>>2]](D,0|_[I+12>>2],n+40|0,n+24|0),D=+p[n+72>>2]>+p[n+24>>2]||+p[n+56>>2]<+p[n+40>>2]?0:1,(+p[n+72+8>>2]>+p[n+24+8>>2]||+p[n+56+8>>2]<+p[n+40+8>>2])&&(D=0),+p[n+72+4>>2]>+p[n+24+4>>2]||+p[n+56+4>>2]<+p[n+40+4>>2]|1^D||(D=0|_[t+4>>2],I=0|_[D+8>>2],_[n>>2]=D,_[n+4>>2]=e,_[n+8>>2]=I,_[n+12>>2]=n+88,_[n+16>>2]=-1,_[n+20>>2]=i,0|_[(0|_[t+24>>2])+(i<<2)>>2]?e=D+8|0:(e=0|_[t+12>>2],e=0|Hl[31&_[8+(0|_[e>>2])>>2]](e,n,0|_[t+8>>2],0|_[t+28>>2]),_[(0|_[t+24>>2])+(i<<2)>>2]=e,e=8+(0|_[t+4>>2])|0),I=0|_[t+20>>2],D=0|_[I+8>>2],(0|_[D+8>>2])==(0|_[e>>2])?(_[I+8>>2]=n,_d[127&_[8+(0|_[I>>2])>>2]](I,-1,i)):(D=0|_[I+12>>2],_[I+12>>2]=n,_d[127&_[12+(0|_[I>>2])>>2]](I,-1,i)),i=0|_[(0|_[t+24>>2])+(i<<2)>>2],dd[31&_[8+(0|_[i>>2])>>2]](i,n,0|_[t+8>>2],0|_[t+16>>2],0|_[t+20>>2]),i=0|_[t+20>>2],_[((0|_[8+(0|_[i+8>>2])>>2])==(0|_[8+(0|_[t+4>>2])>>2])?i+8:i+12)>>2]=D),Q=n}function ni(){0|n[24536]||0|Qs(24536)&&(_[5836]=0,_[5837]=-2147483648,_[5838]=-1082130432,p[5839]=0,_[5840]=1060716128,_[5841]=-1090087446,_[5842]=-1092290076,p[5843]=0,_[5844]=-1098022214,_[5845]=-1084636126,_[5846]=-1092290076,p[5847]=0,_[5848]=-1083901670,_[5849]=-2147483648,_[5850]=-1092290177,p[5851]=0,_[5852]=-1098022214,_[5853]=1062847522,_[5854]=-1092290043,p[5855]=0,_[5856]=1060716128,_[5857]=1057396202,_[5858]=-1092290076,p[5859]=0,_[5860]=1049461434,_[5861]=-1084636126,_[5862]=1055193605,p[5863]=0,_[5864]=-1086767520,_[5865]=-1090087446,_[5866]=1055193572,p[5867]=0,_[5868]=-1086767520,_[5869]=1057396202,_[5870]=1055193572,p[5871]=0,_[5872]=1049461434,_[5873]=1062847522,_[5874]=1055193572,p[5875]=0,_[5876]=1063581978,_[5877]=0,_[5878]=1055193471,p[5879]=0,_[5880]=-2147483648,_[5881]=0,_[5882]=1065353216,p[5883]=0,_[5884]=1054458864,_[5885]=-1096927567,_[5886]=-1084636042,p[5887]=0,_[5888]=-1104782626,_[5889]=-1090519208,_[5890]=-1084636042,p[5891]=0,_[5892]=1049007812,_[5893]=-1085334679,_[5894]=-1090087228,p[5895]=0,_[5896]=1054458864,_[5897]=1050556081,_[5898]=-1084636042,p[5899]=0,_[5900]=1062847505,_[5901]=-2147483648,_[5902]=-1090087262,p[5903]=0,_[5904]=-1090087362,_[5905]=-2147483648,_[5906]=-1084636076,p[5907]=0,_[5908]=-1087361736,_[5909]=-1090519141,_[5910]=-1090087262,p[5911]=0,_[5912]=-1104782626,_[5913]=1056964440,_[5914]=-1084636042,p[5915]=0,_[5916]=-1087361736,_[5917]=1056964507,_[5918]=-1090087262,p[5919]=0,_[5920]=1049007812,_[5921]=1062148969,_[5922]=-1090087228,p[5923]=0,_[5924]=1064532105,_[5925]=1050556148,_[5926]=0,p[5927]=0,_[5928]=1064532105,_[5929]=-1096927500,_[5930]=0,p[5931]=0,_[5932]=1058437413,_[5933]=-1085334595,_[5934]=0,p[5935]=0,_[5936]=0,_[5937]=-1082130432,_[5938]=0,p[5939]=0,_[5940]=-1089046235,_[5941]=-1085334595,_[5942]=0,p[5943]=0,_[5944]=-1082951543,_[5945]=-1096927500,_[5946]=-2147483648,p[5947]=0,_[5948]=-1082951543,_[5949]=1050556148,_[5950]=-2147483648,p[5951]=0,_[5952]=-1089046235,_[5953]=1062149053,_[5954]=-2147483648,p[5955]=0,_[5956]=-2147483648,_[5957]=1065353216,_[5958]=-2147483648,p[5959]=0,_[5960]=1058437413,_[5961]=1062149053,_[5962]=-2147483648,p[5963]=0,_[5964]=1060121912,_[5965]=-1090519141,_[5966]=1057396386,p[5967]=0,_[5968]=-1098475836,_[5969]=-1085334679,_[5970]=1057396420,p[5971]=0,_[5972]=-1084636143,_[5973]=0,_[5974]=1057396386,p[5975]=0,_[5976]=-1098475836,_[5977]=1062148969,_[5978]=1057396420,p[5979]=0,_[5980]=1060121912,_[5981]=1056964507,_[5982]=1057396386,p[5983]=0,_[5984]=1057396286,_[5985]=0,_[5986]=1062847572,p[5987]=0,_[5988]=1042701022,_[5989]=-1090519208,_[5990]=1062847606,p[5991]=0,_[5992]=-1093024784,_[5993]=-1096927567,_[5994]=1062847606,p[5995]=0,_[5996]=-1093024784,_[5997]=1050556081,_[5998]=1062847606,p[5999]=0,_[6e3]=1042701022,_[6001]=1056964440,_[6002]=1062847606,p[6003]=0)}function oi(){0|n[24520]||0|Qs(24520)&&(_[5564]=0,_[5565]=-2147483648,_[5566]=-1082130432,p[5567]=0,_[5568]=1060716128,_[5569]=-1090087446,_[5570]=-1092290076,p[5571]=0,_[5572]=-1098022214,_[5573]=-1084636126,_[5574]=-1092290076,p[5575]=0,_[5576]=-1083901670,_[5577]=-2147483648,_[5578]=-1092290177,p[5579]=0,_[5580]=-1098022214,_[5581]=1062847522,_[5582]=-1092290043,p[5583]=0,_[5584]=1060716128,_[5585]=1057396202,_[5586]=-1092290076,p[5587]=0,_[5588]=1049461434,_[5589]=-1084636126,_[5590]=1055193605,p[5591]=0,_[5592]=-1086767520,_[5593]=-1090087446,_[5594]=1055193572,p[5595]=0,_[5596]=-1086767520,_[5597]=1057396202,_[5598]=1055193572,p[5599]=0,_[5600]=1049461434,_[5601]=1062847522,_[5602]=1055193572,p[5603]=0,_[5604]=1063581978,_[5605]=0,_[5606]=1055193471,p[5607]=0,_[5608]=-2147483648,_[5609]=0,_[5610]=1065353216,p[5611]=0,_[5612]=1054458864,_[5613]=-1096927567,_[5614]=-1084636042,p[5615]=0,_[5616]=-1104782626,_[5617]=-1090519208,_[5618]=-1084636042,p[5619]=0,_[5620]=1049007812,_[5621]=-1085334679,_[5622]=-1090087228,p[5623]=0,_[5624]=1054458864,_[5625]=1050556081,_[5626]=-1084636042,p[5627]=0,_[5628]=1062847505,_[5629]=-2147483648,_[5630]=-1090087262,p[5631]=0,_[5632]=-1090087362,_[5633]=-2147483648,_[5634]=-1084636076,p[5635]=0,_[5636]=-1087361736,_[5637]=-1090519141,_[5638]=-1090087262,p[5639]=0,_[5640]=-1104782626,_[5641]=1056964440,_[5642]=-1084636042,p[5643]=0,_[5644]=-1087361736,_[5645]=1056964507,_[5646]=-1090087262,p[5647]=0,_[5648]=1049007812,_[5649]=1062148969,_[5650]=-1090087228,p[5651]=0,_[5652]=1064532105,_[5653]=1050556148,_[5654]=0,p[5655]=0,_[5656]=1064532105,_[5657]=-1096927500,_[5658]=0,p[5659]=0,_[5660]=1058437413,_[5661]=-1085334595,_[5662]=0,p[5663]=0,_[5664]=0,_[5665]=-1082130432,_[5666]=0,p[5667]=0,_[5668]=-1089046235,_[5669]=-1085334595,_[5670]=0,p[5671]=0,_[5672]=-1082951543,_[5673]=-1096927500,_[5674]=-2147483648,p[5675]=0,_[5676]=-1082951543,_[5677]=1050556148,_[5678]=-2147483648,p[5679]=0,_[5680]=-1089046235,_[5681]=1062149053,_[5682]=-2147483648,p[5683]=0,_[5684]=-2147483648,_[5685]=1065353216,_[5686]=-2147483648,p[5687]=0,_[5688]=1058437413,_[5689]=1062149053,_[5690]=-2147483648,p[5691]=0,_[5692]=1060121912,_[5693]=-1090519141,_[5694]=1057396386,p[5695]=0,_[5696]=-1098475836,_[5697]=-1085334679,_[5698]=1057396420,p[5699]=0,_[5700]=-1084636143,_[5701]=0,_[5702]=1057396386,p[5703]=0,_[5704]=-1098475836,_[5705]=1062148969,_[5706]=1057396420,p[5707]=0,_[5708]=1060121912,_[5709]=1056964507,_[5710]=1057396386,p[5711]=0,_[5712]=1057396286,_[5713]=0,_[5714]=1062847572,p[5715]=0,_[5716]=1042701022,_[5717]=-1090519208,_[5718]=1062847606,p[5719]=0,_[5720]=-1093024784,_[5721]=-1096927567,_[5722]=1062847606,p[5723]=0,_[5724]=-1093024784,_[5725]=1050556081,_[5726]=1062847606,p[5727]=0,_[5728]=1042701022,_[5729]=1056964440,_[5730]=1062847606,p[5731]=0)}function _i(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l=0,d=0,A=0,f=0,u=0;return(A=0|_[9288+(t|=0)>>2])?(0|(l=0|_[A+48>>2])&&(_[l+44>>2]=_[A+44>>2]),0|(l=0|_[A+44>>2])&&(_[l+48>>2]=_[A+48>>2]),(0|_[t+9288>>2])==(0|A)&&(_[t+9288>>2]=_[A+48>>2]),_[t+9292>>2]=(0|_[t+9292>>2])-1,_[A+44>>2]=0,_[A+48>>2]=_[t+9280>>2],0|(l=0|_[t+9280>>2])&&(_[l+44>>2]=A),_[t+9280>>2]=A,_[t+9284>>2]=1+(0|_[t+9284>>2]),n[A+55|0]=0,_[A+20>>2]=e,_[A+24>>2]=i,_[A+28>>2]=o,d=+p[e+16>>2],c=+p[i+16>>2]-d,f=+p[e+20>>2],s=+p[i+20>>2]-f,u=+p[e+24>>2],a=+p[i+24>>2]-u,d=+p[o+16>>2]-d,f=+p[o+20>>2]-f,u=+p[o+24>>2]-u,p[A>>2]=s*u-a*f,p[A+4>>2]=a*d-c*u,p[A+8>>2]=c*f-s*d,p[A+12>>2]=0,(d=+b(+((s*u-a*f)*(s*u-a*f)+(a*d-c*u)*(a*d-c*u)+(c*f-s*d)*(c*f-s*d))))>9999999747378752e-20?(0|vn(+p[A>>2],+p[A+4>>2],+p[A+8>>2],+p[e+16>>2],+p[e+20>>2],+p[e+24>>2],+p[i+16>>2],+p[i+20>>2],+p[i+24>>2],A+16|0)||0|vn(+p[A>>2],+p[A+4>>2],+p[A+8>>2],+p[i+16>>2],+p[i+20>>2],+p[i+24>>2],+p[o+16>>2],+p[o+20>>2],+p[o+24>>2],A+16|0)||0|vn(+p[A>>2],+p[A+4>>2],+p[A+8>>2],+p[o+16>>2],+p[o+20>>2],+p[o+24>>2],+p[e+16>>2],+p[e+20>>2],+p[e+24>>2],A+16|0)||(p[A+16>>2]=(+p[e+16>>2]*+p[A>>2]+ +p[e+20>>2]*+p[A+4>>2]+ +p[e+24>>2]*+p[A+8>>2])/d),p[A>>2]=1/d*+p[A>>2],p[A+4>>2]=1/d*+p[A+4>>2],p[A+8>>2]=1/d*+p[A+8>>2],r||+p[A+16>>2]>=-9999999747378752e-21?0|A:(_[t>>2]=3,0|(l=0|_[A+48>>2])&&(_[l+44>>2]=_[A+44>>2]),0|(l=0|_[A+44>>2])&&(_[l+48>>2]=_[A+48>>2]),(0|_[t+9280>>2])==(0|A)&&(_[t+9280>>2]=_[A+48>>2]),_[t+9284>>2]=(0|_[t+9284>>2])-1,_[A+44>>2]=0,_[A+48>>2]=_[t+9288>>2],0|(l=0|_[t+9288>>2])&&(_[l+44>>2]=A),_[t+9288>>2]=A,_[t+9292>>2]=1+(0|_[t+9292>>2]),0|(A=0))):(_[t>>2]=2,0|(l=0|_[A+48>>2])&&(_[l+44>>2]=_[A+44>>2]),0|(l=0|_[A+44>>2])&&(_[l+48>>2]=_[A+48>>2]),(0|_[t+9280>>2])==(0|A)&&(_[t+9280>>2]=_[A+48>>2]),_[t+9284>>2]=(0|_[t+9284>>2])-1,_[A+44>>2]=0,_[A+48>>2]=_[t+9288>>2],0|(l=0|_[t+9288>>2])&&(_[l+44>>2]=A),_[t+9288>>2]=A,_[t+9292>>2]=1+(0|_[t+9292>>2]),0|(A=0))):(_[t>>2]=5,0|(A=0))}function ri(t,e){e|=0;var i,n=0,o=0,r=0,s=0,c=0,a=0,l=0,A=0,h=0,y=0,g=0,C=0,v=0,S=0;_[556+(t|=0)>>2]=_[e>>2],_[t+556+4>>2]=_[e+4>>2],_[t+556+8>>2]=_[e+8>>2],_[t+556+12>>2]=_[e+12>>2],l=+p[t+568>>2],A=+p[t+560>>2],o=((c=+p[t+564>>2])+0*l-0*(a=+p[t+556>>2]))*-c+(l*(l+0*A-0*c)+(n=-a-0*A-0*c)*-a)-(0*l+0*a-A)*-A,r=(0*l+0*a-A)*-a+(l*(c+0*l-0*a)+n*-A)-(l+0*A-0*c)*-c,0*(n=(l+0*A-0*c)*-A+(n*-c+l*(0*l+0*a-A))-(c+0*l-0*a)*-a)+(0*r+o)<-.9999998807907104?(s=1,n=-0,o=0,r=0):(s=1/(S=+b(2*(0*n+(0*r+o)+1)))*(0*o-n),n=1/S*(0*n-0*r),o=1/S*(r-0*o),r=.5*S),g=n*(h=1/+b(+(n*n+s*s+o*o+r*r))),i=o*h,s=(c*-(y=s*h)+(a*(h*=r)+l*-g)-A*-i)*(v=1/+b(+((l*h-a*-g-A*-y-c*-i)*(l*h-a*-g-A*-y-c*-i)+((A*-g+(c*h+l*-i)-a*-y)*(A*-g+(c*h+l*-i)-a*-y)+((c*-y+(a*h+l*-g)-A*-i)*(c*-y+(a*h+l*-g)-A*-i)+(a*-i+(l*-y+A*h)-c*-g)*(a*-i+(l*-y+A*h)-c*-g)))))),S=(a*-i+(l*-y+A*h)-c*-g)*v,r=(A*-g+(c*h+l*-i)-a*-y)*v,v*=l*h-a*-g-A*-y-c*-i,(o=+p[t+444>>2])>=.05000000074505806&&(C=+p[t+448>>2])>=.05000000074505806?((n=2*+m(+((n=h<-1?-1:h)>1?1:n)))>1.1920928955078125e-7?(c=1/+b(+(i*i+(g*g+y*y))),+d(+y*c)>1.1920928955078125e-7?(l=g*c,a=y*c,A=i*c,o=+b(+(i*c*(i*c)/(y*c*(y*c))+1)/(i*c*(i*c)/(y*c*(y*c))/(o*o)+1/(C*C)))):(l=g*c,a=y*c,A=i*c)):(l=0,a=0,A=0,o=0),+d(+n)>1.1920928955078125e-7?((n>o||n<(o=-o))&&(n=o),y=a*(C=+u(+(h=.5*n))/+b(+(l*l+a*a+A*A))),h=+f(+h),g=l*C,A*=C):A=i):A=i,(l=+p[t+452>>2])>=.05000000074505806?((n=2*+m(+((n=v<-1?-1:v)>1?1:n)))>3.1415927410125732?(n=2*+m(+((n=-v<-1?-1:-v)>1?1:n)),o=-s,c=-S,a=-r):(o=s,c=S,a=r),n>1.1920928955078125e-7&&(o*=C=1/+b(+(o*o+c*c+a*a)),c*=C,a*=C),+d(+n)>1.1920928955078125e-7?(n>l?n=l:n<-l&&(n=-l),s=o*(n=+u(+(S=.5*n))/+b(+(a*a+(c*c+o*o)))),r=a*n,o=+f(+S),n*=c):(o=v,n=S)):(o=v,n=S),p[t+556>>2]=y*r+(h*s+g*o)-A*n,p[t+560>>2]=A*s+(h*n+y*o)-g*r,p[t+564>>2]=g*n+(h*r+A*o)-y*s,p[t+568>>2]=h*o-g*s-y*n-A*r}function si(t,e,i,n,o){t|=0,i|=0,n|=0,o|=0;var r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;if(!(e|=0))return n?o?(_[o>>2]=0|t,_[o+4>>2]=0,o=0,0|(S(0|(n=0)),o)):(o=0,0|(S(0|(n=0)),o)):(0|o&&(_[o>>2]=(t>>>0)%(i>>>0),_[o+4>>2]=0),o=(t>>>0)/(i>>>0)>>>0,0|(S(0|(n=0)),o));do{if(i){if(0|n){if((s=(0|C(0|n))-(0|C(0|e))|0)>>>0<=31){b=s+1|0,p=t>>>((s+1|0)>>>0)&s-31>>31|e<<31-s,d=e>>>((s+1|0)>>>0)&s-31>>31,r=0,s=t<<31-s;break}return o?(_[o>>2]=0|t,_[o+4>>2]=0|e,o=0,0|(S(0|(n=0)),o)):(o=0,0|(S(0|(n=0)),o))}if(i-1&i){b=s=33+(0|C(0|i))-(0|C(0|e))|0,p=32-s-1>>31&e>>>((s-32|0)>>>0)|(e<<32-s|t>>>(s>>>0))&s-32>>31,d=s-32>>31&e>>>(s>>>0),r=t<<64-s&32-s>>31,s=(e<<64-s|t>>>((s-32|0)>>>0))&32-s>>31|t<<32-s&s-33>>31;break}return 0|o&&(_[o>>2]=i-1&t,_[o+4>>2]=0),1==(0|i)?(o=0|t,0|(S(0|(n=0|e)),o)):(n=e>>>((o=0|Gc(0|i))>>>0)|0,o=e<<32-o|t>>>(o>>>0),0|(S(0|n),o))}if(!n)return 0|o&&(_[o>>2]=(e>>>0)%(i>>>0),_[o+4>>2]=0),o=(e>>>0)/(i>>>0)>>>0,0|(S(0|(n=0)),o);if(!t)return 0|o&&(_[o>>2]=0,_[o+4>>2]=(e>>>0)%(n>>>0)),o=(e>>>0)/(n>>>0)>>>0,0|(S(0|(i=0)),o);if(!(n-1&n))return 0|o&&(_[o>>2]=0|t,_[o+4>>2]=n-1&e),i=0,o=e>>>((0|Gc(0|n))>>>0),0|(S(0|i),o);if((s=(0|C(0|n))-(0|C(0|e))|0)>>>0<=30){b=s+1|0,p=e<<31-s|t>>>((s+1|0)>>>0),d=e>>>((s+1|0)>>>0),r=0,s=t<<31-s;break}return o?(_[o>>2]=0|t,_[o+4>>2]=0|e,o=0,0|(S(0|(n=0)),o)):(o=0,0|(S(0|(n=0)),o))}while(0);if(b){a=0|xr(0|i,0|n,-1,-1),l=0|w(),c=s,e=d,t=b,s=0;do{f=c,c=r>>>31|c<<1,r=s|r<<1,Ir(0|a,0|l,0|(f=p<<1|f>>>31),0|(A=p>>>31|e<<1)),s=1&(d=(b=0|w())>>31|((0|b)<0?-1:0)<<1),p=0|Ir(0|f,0|A,d&i,(((0|b)<0?-1:0)>>31|((0|b)<0?-1:0)<<1)&n),e=0|w(),t=t-1|0}while(0|t);t=0}else c=s,e=d,t=0,s=0;return 0|o&&(_[o>>2]=p,_[o+4>>2]=e),f=r<<1&-2|s,0|(S(0|(A=(0|r)>>>31|c<<1|t)),f)}function pi(t,e,i,o){var r;e|=0,i|=0,o|=0,r=Q,Q=Q+48|0,_[8+(t|=0)>>2]=0,p[t+12>>2]=0,_[t>>2]=7820,_[t+48>>2]=e,_[t+4>>2]=21,0|Gl[127&_[40+(0|_[e>>2])>>2]](e)?_d[127&_[48+(0|_[e>>2])>>2]](e,t+16|0,t+32|0):(_[(e=r+32+4|0)>>2]=0,_[e+4>>2]=0,_[e+8>>2]=0,p[r+32>>2]=1,_d[127&_[68+(0|_[t>>2])>>2]](r+16|0,t,r+32|0),p[t+32>>2]=+p[r+16>>2]+ +p[t+12>>2],p[r+32>>2]=-1,_d[127&_[68+(0|_[t>>2])>>2]](r,t,r+32|0),_[r+16>>2]=_[r>>2],_[r+16+4>>2]=_[r+4>>2],_[r+16+8>>2]=_[r+8>>2],_[r+16+12>>2]=_[r+12>>2],p[t+16>>2]=+p[r+16>>2]-+p[t+12>>2],_[r+32>>2]=0,_[r+32+4>>2]=0,_[r+32+8>>2]=0,_[r+32+12>>2]=0,p[e>>2]=1,_d[127&_[68+(0|_[t>>2])>>2]](r+16|0,t,r+32|0),p[t+36>>2]=+p[r+16+4>>2]+ +p[t+12>>2],p[e>>2]=-1,_d[127&_[68+(0|_[t>>2])>>2]](r,t,r+32|0),_[r+16>>2]=_[r>>2],_[r+16+4>>2]=_[r+4>>2],_[r+16+8>>2]=_[r+8>>2],_[r+16+12>>2]=_[r+12>>2],p[t+20>>2]=+p[r+16+4>>2]-+p[t+12>>2],_[r+32>>2]=0,_[r+32+4>>2]=0,_[r+32+8>>2]=0,_[r+32+12>>2]=0,p[r+32+8>>2]=1,_d[127&_[68+(0|_[t>>2])>>2]](r+16|0,t,r+32|0),p[t+40>>2]=+p[r+16+8>>2]+ +p[t+12>>2],p[r+32+8>>2]=-1,_d[127&_[68+(0|_[t>>2])>>2]](r,t,r+32|0),_[r+16>>2]=_[r>>2],_[r+16+4>>2]=_[r+4>>2],_[r+16+8>>2]=_[r+8>>2],_[r+16+12>>2]=_[r+12>>2],p[t+24>>2]=+p[r+16+8>>2]-+p[t+12>>2]),_[t>>2]=7668,_[t+52>>2]=0,_[t+56>>2]=0,n[t+60|0]=1&i,n[t+61|0]=0,_[t+4>>2]=21,o?(_[6630]=1+(0|_[6630]),(e=0|di(191))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,_[e+52>>2]=282,n[e+60|0]=0,n[e+80|0]=1,_[e+76>>2]=0,_[e+68>>2]=0,_[e+72>>2]=0,n[e+100|0]=1,_[e+96>>2]=0,_[e+88>>2]=0,_[e+92>>2]=0,n[e+120|0]=1,_[e+116>>2]=0,_[e+108>>2]=0,_[e+112>>2]=0,n[e+140|0]=1,_[e+136>>2]=0,_[e+128>>2]=0,_[e+132>>2]=0,_[e+144>>2]=0,n[e+164|0]=1,_[e+160>>2]=0,_[e+152>>2]=0,_[e+156>>2]=0,_[e+168>>2]=0,_[e+4>>2]=-8388609,_[e+8>>2]=-8388609,_[e+12>>2]=-8388609,p[e+16>>2]=0,_[e+20>>2]=2139095039,_[e+24>>2]=2139095039,_[e+28>>2]=2139095039,p[e+32>>2]=0,_[e>>2]=8976,_[t+52>>2]=e,xi(e,0|_[t+48>>2],!!(0|n[t+60|0]),t+16|0,t+32|0),n[t+61|0]=1,Q=r):Q=r}function ci(t,e,i){e|=0,i|=0;var n,o,r,s,c,a,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0;if(t|=0){for(o=+p[e>>2],r=+p[e+4>>2],s=+p[e+8>>2],c=+p[e+16>>2],a=+p[e+20>>2],n=+p[e+24>>2],_[6630]=1+(0|_[6630]),(e=0|di(275))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,_[e>>2]=t,y=64,A=1,d=e,b=e,l=e,m=e;;){h=0|_[d+((f=A+-1|0)<<2)>>2];do{if(+p[h>>2]<=c&&+p[h+16>>2]>=o&&+p[h+4>>2]<=a&&+p[h+20>>2]>=r&&+p[h+8>>2]<=n&&+p[h+24>>2]>=s){if(!(0|_[h+40>>2])){ed[127&_[12+(0|_[i>>2])>>2]](i,h),t=y,e=m;break}u=0|_[h+36>>2];do{if((0|f)==(0|y))if((0|A)<=(0|(t=0|y?y<<1:1))){if(0|t&&(_[6630]=1+(0|_[6630]),0|(g=0|di(16+(t<<2|3)|0)))?(_[(g+4+15&-16)-4>>2]=g,l=g+4+15&-16):l=0,(0|A)<=1){if(!d){d=l,A=l,b=l,e=l,f=0;break}}else{e=0;do{_[l+(e<<2)>>2]=_[d+(e<<2)>>2],e=e+1|0}while((0|e)!=(0|y))}m?(_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2]),d=l,A=l,b=l,e=l,f=y):(d=l,A=l,b=l,e=l,f=y)}else t=y,A=l,e=m,f=y;else t=y,A=l,e=m}while(0);_[d+(f<<2)>>2]=u,m=f+1|0,u=0|_[h+40>>2];do{if((0|m)==(0|t)&&(0|t)<(0|(C=0|t?t<<1:1))){if(0|C&&(_[6630]=1+(0|_[6630]),0|(v=0|di(16+(C<<2|3)|0)))?(_[(v+4+15&-16)-4>>2]=v,l=v+4+15&-16):l=0,(0|f)>-1){e=0;do{_[l+(e<<2)>>2]=_[d+(e<<2)>>2],e=e+1|0}while((0|e)!=(0|t));if(!A){t=C,d=l,b=l,A=l,e=l;break}}else if(!(0|d)|!(0|A)){t=C,d=l,b=l,A=l,e=l;break}_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2]),t=C,d=l,b=l,A=l,e=l}}while(0);_[d+(m<<2)>>2]=u,f=f+2|0,l=A}else t=y,e=m}while(0);if((0|f)<=0)break;y=t,A=f,m=e}!(0|d)|!(0|b)||(_[6631]=1+(0|_[6631]),Ni(0|_[b+-4>>2]))}}function ai(t,e,i,o,r){t|=0,e|=0,i|=0,o|=0;var s,c,a,l,d,b,A,f,u,m,h,y,g=0,C=0,v=0,S=0,w=0,k=0;f=-16&n[16+(r|=0)|0],n[r+16|0]=f,u=+p[i>>2],m=+p[e>>2],s=+p[i+4>>2],c=+p[e+4>>2],a=+p[i+8>>2],l=+p[e+8>>2],d=+p[o>>2],b=+p[o+4>>2],A=+p[o+8>>2],h=(u-m)*((S=+p[t>>2])-m)+(s-c)*((w=+p[t+4>>2])-c)+(a-l)*((g=+p[t+8>>2])-l),y=(d-m)*(S-m)+(b-c)*(w-c)+(A-l)*(g-l);do{if(h<=0&y<=0)_[r>>2]=_[e>>2],_[r+4>>2]=_[e+4>>2],_[r+8>>2]=_[e+8>>2],_[r+12>>2]=_[e+12>>2],n[r+16|0]=1|f,C=0,v=0,g=1;else{if(!(!((k=(u-m)*(S-u)+(s-c)*(w-s)+(a-l)*(g-a))>=0)|!((v=(d-m)*(S-u)+(b-c)*(w-s)+(A-l)*(g-a))<=k))){_[r>>2]=_[i>>2],_[r+4>>2]=_[i+4>>2],_[r+8>>2]=_[i+8>>2],_[r+12>>2]=_[i+12>>2],n[r+16|0]=2|f,C=0,v=1,g=0;break}if(k<=0&(h>=0?h*v-k*y<=0:0)){p[r>>2]=m+h/(h-k)*(u-m),p[r+4>>2]=c+h/(h-k)*(s-c),p[r+8>>2]=l+h/(h-k)*(a-l),p[r+12>>2]=0,n[r+16|0]=3|f,C=0,v=h/(h-k),g=1-h/(h-k);break}if(C=(u-m)*(S-d)+(s-c)*(w-b)+(a-l)*(g-A),!(!((g=(d-m)*(S-d)+(b-c)*(w-b)+(A-l)*(g-A))>=0)|!(C<=g))){_[r>>2]=_[o>>2],_[r+4>>2]=_[o+4>>2],_[r+8>>2]=_[o+8>>2],_[r+12>>2]=_[o+12>>2],n[r+16|0]=4|f,C=1,v=0,g=0;break}if(g<=0&(y>=0?C*y-h*g<=0:0)){p[r>>2]=m+y/(y-g)*(d-m),p[r+4>>2]=c+y/(y-g)*(b-c),p[r+8>>2]=l+y/(y-g)*(A-l),p[r+12>>2]=0,n[r+16|0]=5|f,C=y/(y-g),v=0,g=1-y/(y-g);break}if(k*g-C*v<=0&&v-k>=0&&C-g>=0){v=(v-k)/(v-k+(C-g)),p[r>>2]=u+(d-u)*v,p[r+4>>2]=s+(b-s)*v,p[r+8>>2]=a+(A-a)*v,p[r+12>>2]=0,n[r+16|0]=6|f,C=v,v=1-v,g=0;break}w=(C*y-h*g)*(S=1/(h*v-k*y+(k*g-C*v+(C*y-h*g)))),g=(h*v-k*y)*S,p[r>>2]=(d-m)*g+(m+(u-m)*w),p[r+4>>2]=(b-c)*g+(c+(s-c)*w),p[r+8>>2]=(A-l)*g+(l+(a-l)*w),p[r+12>>2]=0,n[r+16|0]=7|f,C=g,v=w,g=1-w-g}}while(0);p[r+20>>2]=g,p[r+24>>2]=v,p[r+28>>2]=C,p[r+32>>2]=0}function li(t,e,i,n,o){t|=0,e|=0,i|=0,n|=0,o|=0;var r,s,c,l,A,f,u,m,h,C,v,S,w,k,R,j,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0,At=0,ft=0,ut=0,mt=0,ht=0,yt=0,gt=0,Ct=0,vt=0,St=0,wt=0,kt=0,Rt=0,jt=0,Dt=0,It=0,Bt=0;if(j=Q,Q=Q+480|0,_[j+48>>2]=_[e>>2],_[j>>2]=_[e+64>>2],_[(o=j+48+4|0)>>2]=_[e+4>>2],_[j+4>>2]=_[e+68>>2],_[(n=j+48+8|0)>>2]=_[e+8>>2],_[j+8>>2]=_[e+72>>2],_[(X=j+48+16|0)>>2]=_[e+16>>2],_[j+16>>2]=_[e+80>>2],_[(B=j+48+20|0)>>2]=_[e+20>>2],_[j+20>>2]=_[e+84>>2],_[(x=j+48+24|0)>>2]=_[e+24>>2],_[j+24>>2]=_[e+88>>2],_[(J=j+48+32|0)>>2]=_[e+32>>2],_[j+32>>2]=_[e+96>>2],_[(_t=j+48+36|0)>>2]=_[e+36>>2],_[j+36>>2]=_[e+100>>2],_[(W=j+48+40|0)>>2]=_[e+40>>2],_[j+40>>2]=_[e+104>>2],Bt=0|_[t+4>>2],S=+p[Bt+28>>2],w=+p[Bt+32>>2],wt=+p[Bt+36>>2],k=+Il[15&_[48+(0|_[Bt>>2])>>2]](Bt),R=+Il[15&_[48+(0|_[Bt>>2])>>2]](Bt),wt=2*(wt+ +Il[15&_[48+(0|_[Bt>>2])>>2]](Bt)),Bt=0|_[t+8>>2],kt=+p[Bt+28>>2],Rt=+p[Bt+32>>2],ct=+p[Bt+36>>2],jt=+Il[15&_[48+(0|_[Bt>>2])>>2]](Bt),Dt=+Il[15&_[48+(0|_[Bt>>2])>>2]](Bt),ct=2*(ct+ +Il[15&_[48+(0|_[Bt>>2])>>2]](Bt)),mt=+p[e+112>>2]-+p[e+48>>2],ht=+p[e+116>>2]-+p[e+52>>2],yt=+p[e+120>>2]-+p[e+56>>2],St=+p[j+48>>2],C=+p[X>>2],v=+p[J>>2],u=+p[o>>2],A=+p[B>>2],f=+p[_t>>2],tt=+p[n>>2],Y=+p[x>>2],$=+p[W>>2],p[j+468>>2]=2*(S+k)*.5,p[j+468+4>>2]=2*(w+R)*.5,p[j+468+8>>2]=.5*wt,p[j+456>>2]=2*(kt+jt)*.5,p[j+456+4>>2]=2*(Rt+Dt)*.5,p[j+456+8>>2]=.5*ct,pt=+p[j>>2],rt=+p[j+16>>2],st=+p[j+32>>2],ft=+p[j+4>>2],bt=+p[j+20>>2],At=+p[j+36>>2],vt=+p[j+8>>2],m=+p[j+24>>2],h=+p[j+40>>2],et=+d(+(St*pt+C*rt+v*st)),at=+d(+(St*ft+C*bt+v*At)),Ct=+d(+(St*vt+C*m+v*h)),it=+d(+(u*pt+A*rt+f*st)),lt=+d(+(u*ft+A*bt+f*At)),s=+d(+(u*vt+A*m+f*h)),c=+d(+(tt*pt+Y*rt+$*st)),l=+d(+(tt*ft+Y*bt+$*At)),dt=+d(+(tt*vt+Y*m+$*h)),(O=+d(+(mt*St+ht*C+yt*v))-(2*(S+k)*.5+2*(kt+jt)*.5*et+2*(Rt+Dt)*.5*at+.5*ct*Ct))>0)Q=j;else if(O>-34028234663852886e22?(z=j+48|0,t=1,K=mt*St+ht*C+yt*v<0&1):(z=0,t=0,K=0,O=-34028234663852886e22),(D=+d(+(mt*u+ht*A+yt*f))-(2*(w+R)*.5+2*(kt+jt)*.5*it+2*(Rt+Dt)*.5*lt+.5*ct*s))>0)Q=j;else if(D>O&&(z=o,t=2,K=mt*u+ht*A+yt*f<0&1,O=D),(D=+d(+(mt*tt+ht*Y+yt*$))-(.5*wt+2*(kt+jt)*.5*c+2*(Rt+Dt)*.5*l+.5*ct*dt))>0)Q=j;else if(D>O&&(z=n,t=3,K=mt*tt+ht*Y+yt*$<0&1,O=D),(D=+d(+(mt*pt+ht*rt+yt*st))-(2*(kt+jt)*.5+(.5*wt*c+(2*(S+k)*.5*et+2*(w+R)*.5*it))))>0)Q=j;else if(D>O&&(z=j,t=4,K=mt*pt+ht*rt+yt*st<0&1,O=D),(D=+d(+(mt*ft+ht*bt+yt*At))-(2*(Rt+Dt)*.5+(.5*wt*l+(2*(S+k)*.5*at+2*(w+R)*.5*lt))))>0)Q=j;else if(D>O&&(z=j+4|0,t=5,K=mt*ft+ht*bt+yt*At<0&1,O=D),(D=+d(+(mt*vt+ht*m+yt*h))-(.5*ct+(.5*wt*dt+(2*(S+k)*.5*Ct+2*(w+R)*.5*s))))>0)Q=j;else if(D>O&&(z=j+8|0,t=6,K=mt*vt+ht*m+yt*h<0&1,O=D),(I=+d(+(D=(mt*tt+ht*Y+yt*$)*(u*pt+A*rt+f*st)-(mt*u+ht*A+yt*f)*(tt*pt+Y*rt+$*st)))-(.5*ct*(at+9999999747378752e-21)+(2*(w+R)*.5*(c+9999999747378752e-21)+.5*wt*(it+9999999747378752e-21)+2*(Rt+Dt)*.5*(Ct+9999999747378752e-21))))>1.1920928955078125e-7)Q=j;else if((T=+b(+((H=(u*pt+A*rt+f*st)*(u*pt+A*rt+f*st))+(V=(tt*pt+Y*rt+$*st)*(tt*pt+Y*rt+$*st)+0))))>1.1920928955078125e-7&&I/T*1.0499999523162842>O?(z=0,t=7,K=D<0&1,O=I/T,F=0/T,I=-(tt*pt+Y*rt+$*st)/T,D=(u*pt+A*rt+f*st)/T):(F=0,I=0,D=0),(P=+d(+(T=(mt*tt+ht*Y+yt*$)*(u*ft+A*bt+f*At)-(mt*u+ht*A+yt*f)*(tt*ft+Y*bt+$*At)))-(.5*ct*(et+9999999747378752e-21)+(2*(w+R)*.5*(l+9999999747378752e-21)+.5*wt*(lt+9999999747378752e-21)+2*(kt+jt)*.5*(Ct+9999999747378752e-21))))>1.1920928955078125e-7)Q=j;else if((M=+b(+((Z=(u*ft+A*bt+f*At)*(u*ft+A*bt+f*At))+(G=(tt*ft+Y*bt+$*At)*(tt*ft+Y*bt+$*At)+0))))>1.1920928955078125e-7&&P/M*1.0499999523162842>O&&(z=0,t=8,K=T<0&1,O=P/M,F=0/M,I=-(tt*ft+Y*bt+$*At)/M,D=(u*ft+A*bt+f*At)/M),(P=+d(+(T=(mt*tt+ht*Y+yt*$)*(u*vt+A*m+f*h)-(mt*u+ht*A+yt*f)*(tt*vt+Y*m+$*h)))-(2*(Rt+Dt)*.5*(et+9999999747378752e-21)+(2*(kt+jt)*.5*(at+9999999747378752e-21)+(2*(w+R)*.5*(dt+9999999747378752e-21)+.5*wt*(s+9999999747378752e-21)))))>1.1920928955078125e-7)Q=j;else if((M=+b(+((U=(u*vt+A*m+f*h)*(u*vt+A*m+f*h))+(L=(tt*vt+Y*m+$*h)*(tt*vt+Y*m+$*h)+0))))>1.1920928955078125e-7&&P/M*1.0499999523162842>O&&(z=0,t=9,K=T<0&1,O=P/M,F=0/M,I=-(tt*vt+Y*m+$*h)/M,D=(u*vt+A*m+f*h)/M),(P=+d(+(T=(mt*St+ht*C+yt*v)*(tt*pt+Y*rt+$*st)-(mt*tt+ht*Y+yt*$)*(St*pt+C*rt+v*st)))-(.5*ct*(lt+9999999747378752e-21)+(2*(S+k)*.5*(c+9999999747378752e-21)+.5*wt*(et+9999999747378752e-21)+2*(Rt+Dt)*.5*(s+9999999747378752e-21))))>1.1920928955078125e-7)Q=j;else{M=+b(+((E=(St*pt+C*rt+v*st)*(St*pt+C*rt+v*st))+V));do{if(M>1.1920928955078125e-7){if(!(P/M*1.0499999523162842>O))break;z=0,t=10,K=T<0&1,O=P/M,F=(tt*pt+Y*rt+$*st)/M,I=0/M,D=-(St*pt+C*rt+v*st)/M}}while(0);if((P=+d(+(T=(mt*St+ht*C+yt*v)*(tt*ft+Y*bt+$*At)-(mt*tt+ht*Y+yt*$)*(St*ft+C*bt+v*At)))-(.5*ct*(it+9999999747378752e-21)+(2*(S+k)*.5*(l+9999999747378752e-21)+.5*wt*(at+9999999747378752e-21)+2*(kt+jt)*.5*(s+9999999747378752e-21))))>1.1920928955078125e-7)Q=j;else{M=+b(+((N=(St*ft+C*bt+v*At)*(St*ft+C*bt+v*At))+G));do{if(M>1.1920928955078125e-7){if(!(P/M*1.0499999523162842>O))break;z=0,t=11,K=T<0&1,O=P/M,F=(tt*ft+Y*bt+$*At)/M,I=0/M,D=-(St*ft+C*bt+v*At)/M}}while(0);if((P=+d(+(T=(mt*St+ht*C+yt*v)*(tt*vt+Y*m+$*h)-(mt*tt+ht*Y+yt*$)*(St*vt+C*m+v*h)))-(2*(Rt+Dt)*.5*(it+9999999747378752e-21)+(2*(kt+jt)*.5*(lt+9999999747378752e-21)+(2*(S+k)*.5*(dt+9999999747378752e-21)+.5*wt*(Ct+9999999747378752e-21)))))>1.1920928955078125e-7)Q=j;else{M=+b(+((V=(St*vt+C*m+v*h)*(St*vt+C*m+v*h))+L));do{if(M>1.1920928955078125e-7){if(!(P/M*1.0499999523162842>O))break;z=0,t=12,K=T<0&1,O=P/M,F=(tt*vt+Y*m+$*h)/M,I=0/M,D=-(St*vt+C*m+v*h)/M}}while(0);if((T=+d(+(P=(mt*u+ht*A+yt*f)*(St*pt+C*rt+v*st)-(mt*St+ht*C+yt*v)*(u*pt+A*rt+f*st)))-(.5*ct*(l+9999999747378752e-21)+(2*(S+k)*.5*(it+9999999747378752e-21)+2*(w+R)*.5*(et+9999999747378752e-21)+2*(Rt+Dt)*.5*(dt+9999999747378752e-21))))>1.1920928955078125e-7)Q=j;else{M=+b(+(H+E+0));do{if(M>1.1920928955078125e-7){if(!(T/M*1.0499999523162842>O))break;z=0,t=13,K=P<0&1,O=T/M,F=-(u*pt+A*rt+f*st)/M,I=(St*pt+C*rt+v*st)/M,D=0/M}}while(0);if((T=+d(+(M=(mt*u+ht*A+yt*f)*(St*ft+C*bt+v*At)-(mt*St+ht*C+yt*v)*(u*ft+A*bt+f*At)))-(.5*ct*(c+9999999747378752e-21)+(2*(S+k)*.5*(lt+9999999747378752e-21)+2*(w+R)*.5*(at+9999999747378752e-21)+2*(kt+jt)*.5*(dt+9999999747378752e-21))))>1.1920928955078125e-7)Q=j;else{P=+b(+(Z+N+0));do{if(P>1.1920928955078125e-7){if(!(T/P*1.0499999523162842>O))break;z=0,t=14,K=M<0&1,O=T/P,F=-(u*ft+A*bt+f*At)/P,I=(St*ft+C*bt+v*At)/P,D=0/P}}while(0);if((T=+d(+(M=(mt*u+ht*A+yt*f)*(St*vt+C*m+v*h)-(mt*St+ht*C+yt*v)*(u*vt+A*m+f*h)))-(2*(Rt+Dt)*.5*(c+9999999747378752e-21)+(2*(kt+jt)*.5*(l+9999999747378752e-21)+(2*(S+k)*.5*(s+9999999747378752e-21)+2*(w+R)*.5*(Ct+9999999747378752e-21)))))>1.1920928955078125e-7)Q=j;else{P=+b(+(U+V+0));do{if(P>1.1920928955078125e-7){if(!(T/P*1.0499999523162842>O)){nt=55;break}t=15,K=M<0&1,O=T/P,F=-(u*vt+A*m+f*h)/P,I=(St*vt+C*m+v*h)/P,D=0/P,nt=58}else nt=55}while(0);do{if(55==(0|nt)){if(!t)return void(Q=j);if(!z){nt=58;break}It=0|_[z>>2],q=0|_[z+16>>2],Bt=0|_[z+32>>2],_[a>>2]=It,D=+p[a>>2],_[a>>2]=q,I=+p[a>>2],ot=t,it=O,t=It,z=q,q=Bt,_[a>>2]=Bt,F=+p[a>>2]}}while(0);if(58==(0|nt)&&(vt=St*F+I*+p[o>>2]+D*+p[n>>2],p[a>>2]=vt,q=0|_[a>>2],St=F*+p[X>>2]+I*+p[B>>2]+D*+p[x>>2],p[a>>2]=St,z=0|_[a>>2],F=F*+p[J>>2]+I*+p[_t>>2]+D*+p[W>>2],ot=t,it=O,t=q,p[a>>2]=F,q=0|_[a>>2],D=vt,I=St),K&&(p[a>>2]=-D,t=0|_[a>>2],p[a>>2]=-I,z=0|_[a>>2],p[a>>2]=-F,q=0|_[a>>2]),(0|ot)>6)return _[a>>2]=t,et=+p[a>>2],_[a>>2]=z,tt=+p[a>>2],_[a>>2]=q,$=+p[a>>2],D=2*(S+k)*.5*((G=+p[j+48>>2])*et+(L=+p[X>>2])*tt+(T=+p[J>>2])*$>0?1:-1),H=2*(w+R)*.5*((I=+p[o>>2])*et+(N=+p[B>>2])*tt+(V=+p[_t>>2])*$>0?1:-1),F=.5*wt*((Z=+p[n>>2])*et+(U=+p[x>>2])*tt+(Y=+p[W>>2])*$>0?1:-1),Z=+p[e+48>>2]+D*G+H*I+F*Z,U=+p[e+52>>2]+D*L+H*N+F*U,Y=+p[e+56>>2]+D*T+H*V+F*Y,_[j+352>>2]=_[e+112>>2],_[j+352+4>>2]=_[e+112+4>>2],_[j+352+8>>2]=_[e+112+8>>2],T=2*(kt+jt)*.5*((F=+p[j>>2])*et+(V=+p[j+16>>2])*tt+(H=+p[j+32>>2])*$>0?-1:1),I=2*(Rt+Dt)*.5*((D=+p[j+4>>2])*et+(N=+p[j+20>>2])*tt+(L=+p[j+36>>2])*$>0?-1:1),N=+p[j+352+4>>2]+T*V+I*N,L=+p[j+352+8>>2]+T*H+I*L,E=((H=+p[j+8>>2])*et+(V=+p[j+24>>2])*tt+(G=+p[j+40>>2])*$>0?-1:1)*+p[j+456+8>>2],H=+p[j+352>>2]+T*F+I*D+E*H,p[j+352>>2]=H,p[j+352+4>>2]=N+E*V,p[j+352+8>>2]=L+E*G,D=+p[j+48+((0|(Bt=ot+-7|0))/3<<2)>>2],I=+p[j+48+(4+((0|Bt)/3|0)<<2)>>2],F=+p[j+48+(8+((0|Bt)/3|0)<<2)>>2],Bt=Bt+(0|g((0|Bt)/3|0,-3))|0,D=(O=1-(D*(T=+p[j+(Bt<<2)>>2])+I*(P=+p[j+(Bt+4<<2)>>2])+F*(M=+p[j+(Bt+8<<2)>>2]))*(D*T+I*P+F*M))<=9999999747378752e-20?0:1/O*(((H-Z)*D+(N+E*V-U)*I+(L+E*G-Y)*F)*(D*T+I*P+F*M)-((H-Z)*T+(N+E*V-U)*P+(L+E*G-Y)*M)),p[j+352>>2]=H+D*T,p[j+352+4>>2]=N+E*V+D*P,p[j+352+8>>2]=L+E*G+D*M,Bt=0|_[16+(0|_[i>>2])>>2],p[j+320>>2]=-et,p[j+320+4>>2]=-tt,p[j+320+8>>2]=-$,p[j+320+12>>2]=0,rd[15&Bt](i,j+320|0,j+352|0,it),void(Q=j);switch(It=(0|ot)<4,_[a>>2]=t,Ct=+p[a>>2],It?(_[a>>2]=z,ht=+p[a>>2],nt=j+456|0,ut=j+468|0,K=e+112|0,Bt=e+48|0,X=j+16|0,J=j+32|0,gt=j,e=j+48|0,x=j+24|0,W=j+40|0,B=j+20|0,t=j+36|0,o=j+4|0,n=j+8|0,mt=Ct,_[a>>2]=q,yt=+p[a>>2]):(_[a>>2]=z,ht=-+p[a>>2],nt=j+468|0,ut=j+456|0,K=e+48|0,Bt=e+112|0,gt=j+48|0,e=j,t=_t,mt=-Ct,_[a>>2]=q,yt=-+p[a>>2]),L=mt*+p[gt>>2]+ht*+p[X>>2]+yt*+p[J>>2],p[j+440>>2]=L,E=mt*+p[o>>2]+ht*+p[B>>2]+yt*+p[t>>2],p[j+440+4>>2]=E,H=mt*+p[n>>2]+ht*+p[x>>2]+yt*+p[W>>2],p[j+440+8>>2]=H,L=+d(+L),E=+d(+E),H=+d(+H),r=(E>L?E>H:L>H)?2:1,F=+p[nt+((n=E>L?E>H?1:2:L>H?0:2)<<2)>>2],D=+p[K>>2]-+p[Bt>>2],I=F*+p[gt+(n<<2)>>2],+p[j+440+(n<<2)>>2]<0?(ft=+p[K+8>>2]-+p[Bt+8>>2]+F*+p[gt+((8|n)<<2)>>2],At=D+I,bt=+p[K+4>>2]-+p[Bt+4>>2]+F*+p[gt+((4|n)<<2)>>2]):(ft=+p[K+8>>2]-+p[Bt+8>>2]-F*+p[gt+((8|n)<<2)>>2],At=D-I,bt=+p[K+4>>2]-+p[Bt+4>>2]-F*+p[gt+((4|n)<<2)>>2]),0|(ot=(It?-1:-4)+ot|0)){case 0:o=2,n=1;break;case 1:o=2,n=0;break;default:o=1,n=0}dt=At*(lt=+p[(_t=e+(n<<2)|0)>>2])+bt*(ct=+p[_t+16>>2])+ft*(at=+p[_t+32>>2]),pt=At*(it=+p[(e=e+(o<<2)|0)>>2])+bt*(Z=+p[e+16>>2])+ft*(U=+p[e+32>>2]),st=+p[(e=gt+((L>H&(E>L^1)&1)<<2)|0)>>2],tt=+p[e+16>>2],et=+p[e+32>>2],rt=+p[(_t=gt+(r<<2)|0)>>2],Y=+p[_t+16>>2],$=+p[_t+32>>2],P=dt-(lt*st+ct*tt+at*et)*(N=+p[nt+((L>H&(E>L^1)&1)<<2)>>2])-(V=(lt*rt+ct*Y+at*$)*(G=+p[nt+(r<<2)>>2])),M=pt-(it*st+Z*tt+U*et)*N-(G*=it*rt+Z*Y+U*$),D=dt-(lt*st+ct*tt+at*et)*N+V,p[j+416>>2]=D,F=pt-(it*st+Z*tt+U*et)*N+G,O=dt+(lt*st+ct*tt+at*et)*N+V,T=pt+(it*st+Z*tt+U*et)*N+G,V=dt+(lt*st+ct*tt+at*et)*N-V,G=pt+(it*st+Z*tt+U*et)*N-G,X=0|_[ut+(n<<2)>>2],K=0|_[ut+(o<<2)>>2],_[a>>2]=X,N=+p[a>>2];do{if(N>-P){if(p[j+256>>2]=P,p[j+256+4>>2]=M,!(N>-D)){o=j+256+8|0,n=2,t=N>-D,I=-D,nt=78;break}p[j+256+8>>2]=D,p[j+256+8+4>>2]=F,o=j+256+8|0,n=2,nt=152}else N>-D?(o=j+256|0,n=1,t=1,I=-D,nt=78):(o=j+256|0,n=0,I=-D,nt=153)}while(0);do{if(78==(0|nt)){if(p[o+4>>2]=M+(F-M)/(D-P)*(-N-P),p[o>>2]=-N,o=o+8|0,!t){nt=153;break}p[o>>2]=D,p[o+4>>2]=F,n+1&8?(n=n+1|0,nt=102):(n=n+1|0,nt=152)}}while(0);152==(0|nt)&&(o=o+8|0,I=-(D=+p[j+416>>2]),nt=153);t:do{if(153==(0|nt)){if(I-O){if(p[o+4>>2]=F+(T-F)/(O-D)*(-N-D),p[o>>2]=-N,8&(n=n+1|0)){nt=102;break}o=o+8|0}if(N>-O){if(p[o>>2]=O,p[o+4>>2]=T,8&(n=n+1|0)){nt=102;break}o=o+8|0,N>-O^N>-V?(t=N>-V,nt=159):(t=N>-V,nt=161)}else N>-O^N>-V?(t=N>-V,nt=159):(t=N>-V,nt=161);if(159==(0|nt)){if(p[o+4>>2]=T+(G-T)/(V-O)*(-N-O),p[o>>2]=-N,8&(n=n+1|0)){nt=102;break}o=o+8|0,nt=t?162:163}else 161==(0|nt)&&(nt=t?162:163);do{if(162==(0|nt)){if(p[o>>2]=V,p[o+4>>2]=G,8&(n=n+1|0)){nt=102;break t}t^N>-P?(o=o+8|0,nt=165):nt=167}else if(163==(0|nt)){if(N>-P){nt=165;break}(0|n)>0?nt=167:(n=0,nt=79)}}while(0);if(165==(0|nt)){if(p[o+4>>2]=G+(M-G)/(P-V)*(-N-V),p[o>>2]=-N,8&(n=n+1|0)){nt=102;break}nt=167}e:do{if(167==(0|nt)){for(t=j+352|0,J=j+256|0,o=0;;){if((D=+p[J>>2])>2]=D,_[t+4>>2]=_[J+4>>2],8&(o=o+1|0)){n=o,nt=79;break e}t=t+8|0,D=+p[J>>2]}if(B=J,J=J+8|0,D1)?J:j+256|0)>>2])>2],p[t+4>>2]=Dt+(N-D)*((+p[W+4>>2]-Dt)/(I-D)),_[t>>2]=X,8&(o=o+1|0)){n=o,nt=79;break e}t=t+8|0}if(!x)break;n=n+-1|0}if((0|o)<=0){n=0,nt=79;break}for(_[a>>2]=K,O=+p[a>>2],t=j+256|0,J=j+352|0,n=0;;){if(O>-(D=+p[(B=J+4|0)>>2])){if(_[t>>2]=_[J>>2],_[t+4>>2]=_[B>>2],8&(n=n+1|0))break e;t=t+8|0,F=-(D=+p[B>>2])}else F=-D;if(B=J,J=J+8|0,F-(I=+p[(W=(x=(0|o)>1)?J:j+352|0)+4>>2])){if(Dt=+p[B>>2],p[t>>2]=Dt+(-O-D)*((+p[W>>2]-Dt)/(I-D)),p[t+4>>2]=-O,8&(n=n+1|0))break e;t=t+8|0}if(!x)break;o=o+-1|0}if((0|n)<=0){n=0,nt=79;break}for(x=n,o=j+352|0,J=j+256|0,n=0;;){if((D=+p[(t=J+4|0)>>2])>2]=_[J>>2],_[o+4>>2]=_[t>>2],8&(n=n+1|0)){nt=79;break e}o=o+8|0,D=+p[t>>2]}if(t=J,J=J+8|0,D1)?J:j+256|0)+4>>2])>2],p[o>>2]=Dt+(O-D)*((+p[B>>2]-Dt)/(I-D)),_[o+4>>2]=K,8&(n=n+1|0)){nt=79;break e}o=o+8|0}if(!W){nt=79;break}x=x+-1|0}}}while(0);79==(0|nt)&&_e(j+256|0,j+352|0,n<<3),(0|n)>=1&&(nt=104)}}while(0);if(102==(0|nt)&&(nt=104),104==(0|nt)){N=1/((lt*st+ct*tt+at*et)*(it*rt+Z*Y+U*$)-(it*st+Z*tt+U*et)*(lt*rt+ct*Y+at*$)),G=+p[ut+(ot<<2)>>2],V=+p[e>>2],T=+p[_t>>2],P=+p[gt+((L>H&(E>L^1)&1|4)<<2)>>2],M=+p[gt+((4|r)<<2)>>2],O=+p[gt+((L>H&(E>L^1)&1|8)<<2)>>2],F=+p[gt+((8|r)<<2)>>2],x=0,t=0;do{Rt=At+(kt=(it*rt+Z*Y+U*$)*N*((D=+p[j+256+((o=t<<1)<<2)>>2])-dt)-(lt*rt+ct*Y+at*$)*N*((I=+p[j+256+((1|o)<<2)>>2])-pt))*V+(Dt=(lt*st+ct*tt+at*et)*N*(I-pt)-(it*st+Z*tt+U*et)*N*(D-dt))*T,p[j+160+((o=3*x|0)<<2)>>2]=Rt,jt=bt+kt*P+Dt*M,p[j+160+(o+1<<2)>>2]=jt,Dt=ft+kt*O+Dt*F,p[j+160+(o+2<<2)>>2]=Dt,Dt=G-(mt*Rt+ht*jt+yt*Dt),p[j+128+(x<<2)>>2]=Dt,o=x<<1,Dt>=0&&(p[j+256+(o<<2)>>2]=D,p[j+256+((1|o)<<2)>>2]=I,x=x+1|0),t=t+1|0}while((0|t)!=(0|n));t:do{if((0|x)>=1){if((0|x)<=(0|(X=(0|(J=(0|x)<4?x:4))>1?J:1)))if(It){for(o=Bt+4|0,t=Bt+8|0,_[a>>2]=z,I=-+p[a>>2],_[a>>2]=q,D=-+p[a>>2],n=0;;)if(It=3*n|0,p[j+352>>2]=+p[j+160+(It<<2)>>2]+ +p[Bt>>2],p[j+352+4>>2]=+p[j+160+(It+1<<2)>>2]+ +p[o>>2],p[j+352+8>>2]=+p[j+160+(It+2<<2)>>2]+ +p[t>>2],It=0|_[16+(0|_[i>>2])>>2],p[j+320>>2]=-Ct,p[j+320+4>>2]=I,p[j+320+8>>2]=D,p[j+320+12>>2]=0,rd[15&It](i,j+320|0,j+352|0,-+p[j+128+(n<<2)>>2]),(0|(n=n+1|0))==(0|x))break t}else for(o=Bt+4|0,t=Bt+8|0,_[a>>2]=z,I=+p[a>>2],_[a>>2]=q,D=+p[a>>2],n=0;;)if(It=3*n|0,Dt=+p[j+128+(n<<2)>>2],p[j+352>>2]=+p[j+160+(It<<2)>>2]+ +p[Bt>>2]-Dt*Ct,p[j+352+4>>2]=+p[j+160+(It+1<<2)>>2]+ +p[o>>2]-Dt*I,p[j+352+8>>2]=+p[j+160+(It+2<<2)>>2]+ +p[t>>2]-Dt*D,It=0|_[16+(0|_[i>>2])>>2],p[j+320>>2]=-Ct,p[j+320+4>>2]=-I,p[j+320+8>>2]=-D,p[j+320+12>>2]=0,rd[15&It](i,j+320|0,j+352|0,-Dt),(0|(n=n+1|0))==(0|x))break t;e:do{if((0|x)>1){for(D=+p[j+128>>2],n=0,o=1;n=(t=(I=+p[j+128+(o<<2)>>2])>D)?o:n,(0|(o=o+1|0))!=(0|x);)D=t?I:D;switch(0|x){case 1:o=1,t=j+96|0,B=j+96|0,nt=120;break e;case 2:D=.5*(+p[j+256+4>>2]+ +p[j+256+12>>2]),I=.5*(+p[j+256>>2]+ +p[j+256+8>>2]),o=2,t=j+96|0,B=j+96|0,nt=124;break e}t=x+-1|0,M=0,V=0,D=0,o=0;do{D+=(kt=+p[j+256+((gt=o<<1)<<2)>>2])*(Rt=+p[j+256+(gt+3<<2)>>2])-(jt=+p[j+256+(gt+2<<2)>>2])*(Dt=+p[j+256+((1|gt)<<2)>>2]),V+=(kt+jt)*(kt*Rt-jt*Dt),M+=(Rt+Dt)*(kt*Rt-jt*Dt),o=o+1|0}while((0|o)!=(0|t));if(F=+p[j+256+((gt=x<<1)-2<<2)>>2],O=+p[j+256+4>>2],T=+p[j+256>>2],P=+p[j+256+(gt+-1<<2)>>2],I=(gt=+d(+(I=D+(F*O-T*P)))>1.1920928955078125e-7)?1/(3*I):0xde0b6b000000000,(0|x)>0){D=(M+(O+P)*(F*O-T*P))*I,I*=V+(F+T)*(F*O-T*P),t=j+96|0,B=j+96|0,W=j+352|0,nt=127;break}W=n,n=j+96|0,o=0}else n=0,o=x,t=j+96|0,B=j+96|0,nt=120}while(0);if(120==(0|nt)&&(D=+p[j+256+4>>2],I=+p[j+256>>2],nt=124),124==(0|nt)&&(x=o,W=j+352|0,nt=127),127==(0|nt)){o=0;do{Dt=+y(+(+p[j+256+((1|(gt=o<<1))<<2)>>2]-D),+(+p[j+256+(gt<<2)>>2]-I)),p[j+352+(o<<2)>>2]=Dt,o=o+1|0}while((0|o)!=(0|x));o=0;do{_[j+320+(o<<2)>>2]=1,o=o+1|0}while((0|o)!=(0|x));W=n,n=t,o=1}_[(t=j+320+(W<<2)|0)>>2]=0,_[n>>2]=W;e:do{if((0|J)>1){if(O=+p[j+352+(W<<2)>>2],!o)for(n=1,o=j+96+4|0;;){if(_[o>>2]=W,_[t>>2]=0,(0|(n=n+1|0))==(0|X))break e;o=o+4|0}for(o=1,t=j+96+4|0;;){for(F=(F=6.2831854820251465/+(0|X)*+(0|o)+O)>3.1415927410125732?F+-6.2831854820251465:F,_[t>>2]=W,I=1e9,B=0,n=W;;){do{if(0|_[j+320+(B<<2)>>2]){if(!((D=(D=+d(+(+p[j+352+(B<<2)>>2]-F)))>3.1415927410125732?6.2831854820251465-D:D)>2]=B,n=B}else D=I}while(0);if((0|(B=B+1|0))==(0|x))break;I=D}if(_[j+320+(n<<2)>>2]=0,(0|(o=o+1|0))==(0|X))break;t=t+4|0}}}while(0);if((0|X)>0)if(o=Bt+4|0,t=Bt+8|0,_[a>>2]=z,I=+p[a>>2],_[a>>2]=q,D=+p[a>>2],It){n=0;do{It=0|_[j+96+(n<<2)>>2],p[j+352>>2]=+p[j+160+(3*It<<2)>>2]+ +p[Bt>>2],p[j+352+4>>2]=+p[j+160+(1+(3*It|0)<<2)>>2]+ +p[o>>2],p[j+352+8>>2]=+p[j+160+(2+(3*It|0)<<2)>>2]+ +p[t>>2],gt=0|_[16+(0|_[i>>2])>>2],p[j+320>>2]=-Ct,p[j+320+4>>2]=-I,p[j+320+8>>2]=-D,p[j+320+12>>2]=0,rd[15>](i,j+320|0,j+352|0,-+p[j+128+(It<<2)>>2]),n=n+1|0}while(n>>>0>>0)}else{n=0;do{gt=0|_[j+96+(n<<2)>>2],kt=+p[j+160+(3*gt<<2)>>2]+ +p[Bt>>2],p[j+352>>2]=kt,Rt=+p[j+160+(1+(3*gt|0)<<2)>>2]+ +p[o>>2],p[j+352+4>>2]=Rt,jt=+p[j+160+(2+(3*gt|0)<<2)>>2]+ +p[t>>2],p[j+352+8>>2]=jt,It=0|_[16+(0|_[i>>2])>>2],p[j+320>>2]=-Ct,p[j+320+4>>2]=-I,p[j+320+8>>2]=-D,p[j+320+12>>2]=0,Dt=+p[j+128+(gt<<2)>>2],p[j+424>>2]=kt-Dt*Ct,p[j+424+4>>2]=Rt-Dt*I,p[j+424+8>>2]=jt-Dt*D,p[j+424+12>>2]=0,rd[15&It](i,j+320|0,j+424|0,-Dt),n=n+1|0}while(n>>>0>>0)}}}while(0)}Q=j}}}}}}}function di(t){t|=0;var e,i=0,n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;e=Q,Q=Q+16|0;do{if(t>>>0<245){if(o=(d=t>>>0<11?16:t+11&-8)>>>3,b=0|_[6648],3&(r=o?b>>>o:b))return i=0|_[8+(t=26632+((1&r^1)+o<<1<<2)|0)>>2],(0|(n=0|_[i+8>>2]))==(0|t)?_[6648]=b&~(1<<(1&r^1)+o):(_[n+12>>2]=t,_[t+8>>2]=n),_[i+4>>2]=(1&r^1)+o<<3|3,_[i+((1&r^1)+o<<3)+4>>2]=1|_[i+((1&r^1)+o<<3)+4>>2],Q=e,0|(m=i+8|0);if(d>>>0>(l=0|_[6650])>>>0){if(0|r)return s=0|_[26632+((r=((f=(r=(u=(r=(r<>>12&16)?r>>>u:r)>>>5&8)|u|(m=(r=f?r>>>f:r)>>>2&4)|(t=(r=m?r>>>m:r)>>>1&2)|(s=(r=t?r>>>t:r)>>>1&1))+(s?r>>>s:r)|0)<<1<<2)+8>>2],(0|(t=0|_[s+8>>2]))==(26632+(r<<1<<2)|0)?(_[6648]=b&~(1<>2]=26632+(r<<1<<2),_[26632+(r<<1<<2)+8>>2]=t,t=b),_[s+4>>2]=3|d,_[s+d+4>>2]=(r<<3)-d|1,_[s+(r<<3)>>2]=(r<<3)-d,0|l&&(o=0|_[6653],t&1<<(n=l>>>3)?(t=0|_[26632+(n<<1<<2)+8>>2],i=26632+(n<<1<<2)+8|0):(_[6648]=t|1<>2]=o,_[t+12>>2]=o,_[o+8>>2]=t,_[o+12>>2]=26632+(n<<1<<2)),_[6650]=(r<<3)-d,_[6653]=s+d,Q=e,0|(m=s+8|0);if(s=0|_[6649]){for(n=a=0|_[26896+(((o=(a=(r=((s&0-s)-1|0)>>>12&16)?((s&0-s)-1|0)>>>r:(s&0-s)-1|0)>>>5&8)|r|(p=(a=o?a>>>o:a)>>>2&4)|(c=(a=p?a>>>p:a)>>>1&2)|(n=(a=c?a>>>c:a)>>>1&1))+(n?a>>>n:a)<<2)>>2],c=a,a=(-8&_[a+4>>2])-d|0;(t=0|_[n+16>>2])||(t=0|_[n+20>>2]);)n=t,c=(r=(p=(-8&_[t+4>>2])-d|0)>>>0>>0)?t:c,a=r?p:a;if((p=c+d|0)>>>0>c>>>0){r=0|_[c+24>>2],t=0|_[c+12>>2];do{if((0|t)==(0|c)){if(!(t=0|_[(i=c+20|0)>>2])&&!(t=0|_[(i=c+16|0)>>2])){i=0;break}for(;;)if(n=0|_[(o=t+20|0)>>2])t=n,i=o;else{if(!(n=0|_[(o=t+16|0)>>2]))break;t=n,i=o}_[i>>2]=0,i=t}else i=0|_[c+8>>2],_[i+12>>2]=t,_[t+8>>2]=i,i=t}while(0);do{if(0|r){if(t=0|_[c+28>>2],(0|c)==(0|_[26896+(t<<2)>>2])){if(_[26896+(t<<2)>>2]=i,!i){_[6649]=s&~(1<>2])==(0|c)?r+16:r+20)>>2]=i,!i)break;_[i+24>>2]=r,0|(t=0|_[c+16>>2])&&(_[i+16>>2]=t,_[t+24>>2]=i),0|(t=0|_[c+20>>2])&&(_[i+20>>2]=t,_[t+24>>2]=i)}}while(0);return a>>>0<16?(m=a+d|0,_[c+4>>2]=3|m,_[(m=c+m+4|0)>>2]=1|_[m>>2]):(_[c+4>>2]=3|d,_[p+4>>2]=1|a,_[p+a>>2]=a,0|l&&(o=0|_[6653],1<<(n=l>>>3)&b?(t=0|_[26632+(n<<1<<2)+8>>2],i=26632+(n<<1<<2)+8|0):(_[6648]=1<>2]=o,_[t+12>>2]=o,_[o+8>>2]=t,_[o+12>>2]=26632+(n<<1<<2)),_[6650]=a,_[6653]=p),Q=e,0|(m=c+8|0)}}}}else if(t>>>0<=4294967231){if(d=t+11&-8,o=0|_[6649]){a=(t=(t+11|0)>>>8)?d>>>0>16777215?31:1&(7+(a=14-((u=(520192+(t<<(b=(t+1048320|0)>>>16&8))|0)>>>16&4)|b|(a=(245760+(t<>>16&2))+(t<>>15)|0)|0?d>>>(a+7|0):d)|a<<1:0,t=0|_[26896+(a<<2)>>2];t:do{if(t)for(p=0,n=0-d|0,c=d<<(31==(0|a)?0:25-(a>>>1)),r=0;;){if((s=(-8&_[t+4>>2])-d|0)>>>0>>0){if(!s){s=t,n=0,r=t,u=65;break t}p=t,n=s}if(r=!(0|(u=0|_[t+20>>2]))|(0|u)==(0|(t=0|_[t+16+(c>>>31<<2)>>2]))?r:u,!t){t=p,u=61;break}c<<=1}else r=0,t=0,n=0-d|0,u=61}while(0);if(61==(0|u)){if(!(0|r)&!(0|t)){if(!(((t=2<>>12&16)?r>>>p:r)>>>5&8)|p|(c=(r=s?r>>>s:r)>>>2&4)|(a=(r=c?r>>>c:r)>>>1&2)|(b=(r=a?r>>>a:r)>>>1&1))+(b?r>>>b:r)<<2)>>2]}r?(s=t,u=65):(s=t,c=n)}if(65==(0|u))for(;;){if(n=(t=(b=(-8&_[r+4>>2])-d|0)>>>0>>0)?b:n,s=t?r:s,(t=0|_[r+16>>2])||(t=0|_[r+20>>2]),!t){c=n;break}r=t}if(0|s&&c>>>0<((0|_[6650])-d|0)>>>0&&(l=s+d|0)>>>0>s>>>0){p=0|_[s+24>>2],t=0|_[s+12>>2];do{if((0|t)==(0|s)){if(!(t=0|_[(i=s+20|0)>>2])&&!(t=0|_[(i=s+16|0)>>2])){t=0;break}for(;;)if(n=0|_[(r=t+20|0)>>2])t=n,i=r;else{if(!(n=0|_[(r=t+16|0)>>2]))break;t=n,i=r}_[i>>2]=0}else m=0|_[s+8>>2],_[m+12>>2]=t,_[t+8>>2]=m}while(0);do{if(p){if(i=0|_[s+28>>2],(0|s)==(0|_[26896+(i<<2)>>2])){if(_[26896+(i<<2)>>2]=t,!t){_[6649]=o&~(1<>2])==(0|s)?p+16:p+20)>>2]=t,!t)break;_[t+24>>2]=p,0|(i=0|_[s+16>>2])&&(_[t+16>>2]=i,_[i+24>>2]=t),(i=0|_[s+20>>2])&&(_[t+20>>2]=i,_[i+24>>2]=t)}}while(0);t:do{if(c>>>0<16)m=c+d|0,_[s+4>>2]=3|m,_[(m=s+m+4|0)>>2]=1|_[m>>2];else{if(_[s+4>>2]=3|d,_[l+4>>2]=1|c,_[l+c>>2]=c,n=c>>>3,c>>>0<256){(t=0|_[6648])&1<>2],i=26632+(n<<1<<2)+8|0):(_[6648]=t|1<>2]=l,_[t+12>>2]=l,_[l+8>>2]=t,_[l+12>>2]=26632+(n<<1<<2);break}if(t=26896+((n=(t=c>>>8)?c>>>0>16777215?31:1&(7+(n=14-((m=(520192+(t<<(u=(t+1048320|0)>>>16&8))|0)>>>16&4)|u|(n=(245760+(t<>>16&2))+(t<>>15)|0)|0?c>>>(n+7|0):c)|n<<1:0)<<2)|0,_[l+28>>2]=n,_[l+16+4>>2]=0,_[l+16>>2]=0,!(o&(i=1<>2]=l,_[l+24>>2]=t,_[l+12>>2]=l,_[l+8>>2]=l;break}t=0|_[t>>2];e:do{if((-8&_[t+4>>2])!=(0|c)){for(o=c<<(31==(0|n)?0:25-(n>>>1));i=0|_[(n=t+16+(o>>>31<<2)|0)>>2];){if((-8&_[i+4>>2])==(0|c)){t=i;break e}o<<=1,t=i}_[n>>2]=l,_[l+24>>2]=t,_[l+12>>2]=l,_[l+8>>2]=l;break t}}while(0);m=0|_[(u=t+8|0)>>2],_[m+12>>2]=l,_[u>>2]=l,_[l+8>>2]=m,_[l+12>>2]=t,_[l+24>>2]=0}}while(0);return Q=e,0|(m=s+8|0)}}}else d=-1}while(0);if((n=0|_[6650])>>>0>=d>>>0)return t=n-d|0,i=0|_[6653],t>>>0>15?(m=i+d|0,_[6653]=m,_[6650]=t,_[m+4>>2]=1|t,_[i+n>>2]=t,_[i+4>>2]=3|d):(_[6650]=0,_[6653]=0,_[i+4>>2]=3|n,_[i+n+4>>2]=1|_[i+n+4>>2]),Q=e,0|(m=i+8|0);if((r=0|_[6651])>>>0>d>>>0)return f=r-d|0,_[6651]=f,u=(m=0|_[6654])+d|0,_[6654]=u,_[u+4>>2]=1|f,_[m+4>>2]=3|d,Q=e,0|(m=m+8|0);if(0|_[6766]?t=0|_[6768]:(_[6768]=4096,_[6767]=4096,_[6769]=-1,_[6770]=-1,_[6771]=0,_[6759]=0,_[6766]=-16&e^1431655768,t=4096),s=d+48|0,((a=t+(p=d+47|0)|0)&(c=0-t|0))>>>0<=d>>>0)return Q=e,0|(m=0);if(0|(t=0|_[6758])&&(((b=0|_[6756])+(a&c)|0)>>>0<=b>>>0||(b+(a&c)|0)>>>0>t>>>0))return Q=e,0|(m=0);t:do{if(4&_[6759])t=0,u=143;else{o=0|_[6654];e:do{if(o){for(t=27040;!((n=0|_[t>>2])>>>0<=o>>>0&&(n+(0|_[(A=t+4|0)>>2])|0)>>>0>o>>>0);)if(!(t=0|_[t+8>>2])){u=128;break e}if((a-r&c)>>>0<2147483647)if((0|(o=0|yo(a-r&c)))==((0|_[t>>2])+(0|_[A>>2])|0)){if(-1!=(0|o)){p=a-r&c;break t}t=a-r&c}else i=a-r&c,u=136;else t=0}else u=128}while(0);do{if(128==(0|u))if(-1!=(0|(t=0|yo(0)))&&(i=((i=0|_[6767])-1&t?(i+-1+t&0-i)-t|0:0)+(a&c)|0,f=0|_[6756],i>>>0>d>>>0&i>>>0<2147483647)){if(0|(A=0|_[6758])&&(i+f|0)>>>0<=f>>>0|(i+f|0)>>>0>A>>>0){t=0;break}if((0|(o=0|yo(0|i)))==(0|t)){p=i,o=t;break t}u=136}else t=0}while(0);do{if(136==(0|u)){if(n=0-i|0,!(s>>>0>i>>>0&i>>>0<2147483647&-1!=(0|o))){if(-1==(0|o)){t=0;break}p=i;break t}if((t=p-i+(t=0|_[6768])&0-t)>>>0>=2147483647){p=i;break t}if(-1==(0|yo(0|t))){yo(0|n),t=0;break}p=t+i|0;break t}}while(0);_[6759]=4|_[6759],u=143}}while(0);if(143==(0|u)){if((a&c)>>>0>=2147483647)return Q=e,0|(m=0);if(-1==(0|(o=0|yo(a&c)))|1^(n=((i=0|yo(0))-o|0)>>>0>(d+40|0)>>>0)|o>>>0>>0&-1!=(0|o)&-1!=(0|i)^1)return Q=e,0|(m=0);p=n?i-o|0:t}t=(0|_[6756])+p|0,_[6756]=t,t>>>0>(0|_[6757])>>>0&&(_[6757]=t),a=0|_[6654];t:do{if(a){for(t=27040;;){if((0|o)==((i=0|_[t>>2])+(r=0|_[(n=t+4|0)>>2])|0)){u=154;break}if(!(s=0|_[t+8>>2]))break;t=s}if(!(154!=(0|u)||8&_[t+12>>2])&&o>>>0>a>>>0&i>>>0<=a>>>0){_[n>>2]=r+p,m=(0|_[6651])+p|0,u=a+8&7?0-(a+8)&7:0,_[6654]=a+u,_[6651]=m-u,_[a+u+4>>2]=m-u|1,_[a+m+4>>2]=40,_[6655]=_[6770];break}for(o>>>0<(0|_[6652])>>>0&&(_[6652]=o),n=o+p|0,t=27040;;){if((0|_[t>>2])==(0|n)){u=162;break}if(!(i=0|_[t+8>>2]))break;t=i}if(162==(0|u)&&!(8&_[t+12>>2])){_[t>>2]=o,_[(b=t+4|0)>>2]=(0|_[b>>2])+p,l=(b=o+(7&(b=o+8|0)?0-b&7:0)|0)+d|0,c=(t=n+(n+8&7?0-(n+8)&7:0)|0)-b-d|0,_[b+4>>2]=3|d;e:do{if((0|a)==(0|t))m=(0|_[6651])+c|0,_[6651]=m,_[6654]=l,_[l+4>>2]=1|m;else{if((0|_[6653])==(0|t)){m=(0|_[6650])+c|0,_[6650]=m,_[6653]=l,_[l+4>>2]=1|m,_[l+m>>2]=m;break}if(1==(3&(p=0|_[t+4>>2]))){i=p>>>3;i:do{if(p>>>0<256){if(n=0|_[t+8>>2],(0|(o=0|_[t+12>>2]))==(0|n)){_[6648]=_[6648]&~(1<>2]=o,_[o+8>>2]=n;break}s=0|_[t+24>>2],i=0|_[t+12>>2];do{if((0|i)==(0|t)){if(i=0|_[t+16+4>>2])n=t+16+4|0;else{if(!(i=0|_[t+16>>2])){i=0;break}n=t+16|0}for(;;)if(o=0|_[(r=i+20|0)>>2])i=o,n=r;else{if(!(o=0|_[(r=i+16|0)>>2]))break;i=o,n=r}_[n>>2]=0}else m=0|_[t+8>>2],_[m+12>>2]=i,_[i+8>>2]=m}while(0);if(!s)break;n=0|_[t+28>>2];do{if((0|_[26896+(n<<2)>>2])==(0|t)){if(_[26896+(n<<2)>>2]=i,0|i)break;_[6649]=_[6649]&~(1<>2])==(0|t)?s+16:s+20)>>2]=i,!i)break i}while(0);if(_[i+24>>2]=s,0|(n=0|_[t+16>>2])&&(_[i+16>>2]=n,_[n+24>>2]=i),!(n=0|_[t+16+4>>2]))break;_[i+20>>2]=n,_[n+24>>2]=i}while(0);t=t+(-8&p)|0,r=(-8&p)+c|0}else r=c;if(_[(n=t+4|0)>>2]=-2&_[n>>2],_[l+4>>2]=1|r,_[l+r>>2]=r,n=r>>>3,r>>>0<256){(t=0|_[6648])&1<>2],i=26632+(n<<1<<2)+8|0):(_[6648]=t|1<>2]=l,_[t+12>>2]=l,_[l+8>>2]=t,_[l+12>>2]=26632+(n<<1<<2);break}t=r>>>8;do{if(t){if(r>>>0>16777215){o=31;break}o=1&(7+(o=14-((m=(520192+(t<<(u=(t+1048320|0)>>>16&8))|0)>>>16&4)|u|(o=(245760+(t<>>16&2))+(t<>>15)|0)|0?r>>>(o+7|0):r)|o<<1}else o=0}while(0);if(t=26896+(o<<2)|0,_[l+28>>2]=o,_[l+16+4>>2]=0,_[l+16>>2]=0,!((i=0|_[6649])&(n=1<>2]=l,_[l+24>>2]=t,_[l+12>>2]=l,_[l+8>>2]=l;break}t=0|_[t>>2];i:do{if((-8&_[t+4>>2])!=(0|r)){for(o=r<<(31==(0|o)?0:25-(o>>>1));i=0|_[(n=t+16+(o>>>31<<2)|0)>>2];){if((-8&_[i+4>>2])==(0|r)){t=i;break i}o<<=1,t=i}_[n>>2]=l,_[l+24>>2]=t,_[l+12>>2]=l,_[l+8>>2]=l;break e}}while(0);m=0|_[(u=t+8|0)>>2],_[m+12>>2]=l,_[u>>2]=l,_[l+8>>2]=m,_[l+12>>2]=t,_[l+24>>2]=0}}while(0);return Q=e,0|(m=b+8|0)}for(t=27040;!((i=0|_[t>>2])>>>0<=a>>>0&&(m=i+(0|_[t+4>>2])|0)>>>0>a>>>0);)t=0|_[t+8>>2];r=(r=m+-47+(m+-47+8&7?0-(m+-47+8)&7:0)|0)>>>0<(a+16|0)>>>0?a:r,t=p+-40|0,u=o+(f=7&(f=o+8|0)?0-f&7:0)|0,_[6654]=u,_[6651]=t-f,_[u+4>>2]=t-f|1,_[o+t+4>>2]=40,_[6655]=_[6770],_[r+4>>2]=27,_[r+8>>2]=_[6760],_[r+8+4>>2]=_[6761],_[r+8+8>>2]=_[6762],_[r+8+12>>2]=_[6763],_[6760]=o,_[6761]=p,_[6763]=0,_[6762]=r+8,t=r+24|0;do{u=t,_[(t=t+4|0)>>2]=7}while((u+8|0)>>>0>>0);if((0|r)!=(0|a)){if(_[r+4>>2]=-2&_[r+4>>2],_[a+4>>2]=r-a|1,_[r>>2]=r-a,n=(r-a|0)>>>3,(r-a|0)>>>0<256){(t=0|_[6648])&1<>2],i=26632+(n<<1<<2)+8|0):(_[6648]=t|1<>2]=a,_[t+12>>2]=a,_[a+8>>2]=t,_[a+12>>2]=26632+(n<<1<<2);break}if(t=26896+((o=(t=(r-a|0)>>>8)?(r-a|0)>>>0>16777215?31:1&(7+(o=14-((m=(520192+(t<<(u=(t+1048320|0)>>>16&8))|0)>>>16&4)|u|(o=(245760+(t<>>16&2))+(t<>>15)|0)|0?(r-a|0)>>>(o+7|0):r-a)|o<<1:0)<<2)|0,_[a+28>>2]=o,_[a+20>>2]=0,_[a+16>>2]=0,!((i=0|_[6649])&(n=1<>2]=a,_[a+24>>2]=t,_[a+12>>2]=a,_[a+8>>2]=a;break}t=0|_[t>>2];e:do{if((-8&_[t+4>>2])!=(r-a|0)){for(o=r-a<<(31==(0|o)?0:25-(o>>>1));i=0|_[(n=t+16+(o>>>31<<2)|0)>>2];){if((-8&_[i+4>>2])==(r-a|0)){t=i;break e}o<<=1,t=i}_[n>>2]=a,_[a+24>>2]=t,_[a+12>>2]=a,_[a+8>>2]=a;break t}}while(0);m=0|_[(u=t+8|0)>>2],_[m+12>>2]=a,_[u>>2]=a,_[a+8>>2]=m,_[a+12>>2]=t,_[a+24>>2]=0}}else!(0|(m=0|_[6652]))|o>>>0>>0&&(_[6652]=o),_[6760]=o,_[6761]=p,_[6763]=0,_[6657]=_[6766],_[6656]=-1,_[6661]=26632,_[6660]=26632,_[6663]=26640,_[6662]=26640,_[6665]=26648,_[6664]=26648,_[6667]=26656,_[6666]=26656,_[6669]=26664,_[6668]=26664,_[6671]=26672,_[6670]=26672,_[6673]=26680,_[6672]=26680,_[6675]=26688,_[6674]=26688,_[6677]=26696,_[6676]=26696,_[6679]=26704,_[6678]=26704,_[6681]=26712,_[6680]=26712,_[6683]=26720,_[6682]=26720,_[6685]=26728,_[6684]=26728,_[6687]=26736,_[6686]=26736,_[6689]=26744,_[6688]=26744,_[6691]=26752,_[6690]=26752,_[6693]=26760,_[6692]=26760,_[6695]=26768,_[6694]=26768,_[6697]=26776,_[6696]=26776,_[6699]=26784,_[6698]=26784,_[6701]=26792,_[6700]=26792,_[6703]=26800,_[6702]=26800,_[6705]=26808,_[6704]=26808,_[6707]=26816,_[6706]=26816,_[6709]=26824,_[6708]=26824,_[6711]=26832,_[6710]=26832,_[6713]=26840,_[6712]=26840,_[6715]=26848,_[6714]=26848,_[6717]=26856,_[6716]=26856,_[6719]=26864,_[6718]=26864,_[6721]=26872,_[6720]=26872,_[6723]=26880,_[6722]=26880,m=p+-40|0,u=o+(f=7&(f=o+8|0)?0-f&7:0)|0,_[6654]=u,_[6651]=m-f,_[u+4>>2]=m-f|1,_[o+m+4>>2]=40,_[6655]=_[6770]}while(0);return(t=0|_[6651])>>>0<=d>>>0?(Q=e,0|(m=0)):(f=t-d|0,_[6651]=f,u=(m=0|_[6654])+d|0,_[6654]=u,_[u+4>>2]=1|f,_[m+4>>2]=3|d,Q=e,0|(m=m+8|0))}function bi(t,e,i,n,o){t|=0,e|=0,i|=0,o|=0;var r,s,p,c,a,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,Q=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0;if(z=0|_[(n|=0)>>2],a=0|_[o>>2],l=0|z?0|_[z+12>>2]:e,d=0|_[l+88>>2],A=0|_[l+92>>2],u=0|_[l+96>>2],l=a?0|_[a+12>>2]:i,k=0|_[l+88>>2],v=0|_[l+92>>2],f=0|_[l+96>>2],q=0|_[e+88>>2],p=(0|_[i+88>>2])-q|0,j=0|_[e+92>>2],c=(0|_[i+92>>2])-j|0,b=0|_[e+96>>2],r=(0|_[i+96>>2])-b|0,K=0|_[(0|z?z:a)+12>>2],$=(0|_[K+88>>2])-q|0,X=(0|_[K+92>>2])-j|0,K=(0|_[K+96>>2])-b|0,s=(0|g(X,r))-(0|g(K,c))|0,K=(0|g(K,p))-(0|g($,r))|0,X=(0|g($,c))-(0|g(X,p))|0,q=0|f_(0|s,((0|s)<0)<<31>>31,0|q,((0|q)<0)<<31>>31),$=0|w(),j=0|f_(0|K,((0|K)<0)<<31>>31,0|j,((0|j)<0)<<31>>31),R=0|w(),b=0|xr(0|q,0|$,0|(b=0|f_(0|X,((0|X)<0)<<31>>31,0|b,((0|b)<0)<<31>>31)),0|w()),R=0|xr(0|b,0|w(),0|j,0|R),j=0|w(),q=0|Ir(0|(b=0|f_(0|X,((0|X)<0)<<31>>31,0|c,((0|c)<0)<<31>>31)),0|($=0|w()),0|(q=0|f_(0|K,((0|K)<0)<<31>>31,0|r,((0|r)<0)<<31>>31)),0|w()),$=0|w(),tt=0|Ir(0|(b=0|f_(0|s,((0|s)<0)<<31>>31,0|r,((0|r)<0)<<31>>31)),0|(et=0|w()),0|(tt=0|f_(0|X,((0|X)<0)<<31>>31,0|p,((0|p)<0)<<31>>31)),0|w()),et=0|w(),it=0|Ir(0|(b=0|f_(0|K,((0|K)<0)<<31>>31,0|p,((0|p)<0)<<31>>31)),0|(nt=0|w()),0|(it=0|f_(0|s,((0|s)<0)<<31>>31,0|c,((0|c)<0)<<31>>31)),0|w()),nt=0|w(),b=0|f_(0|q,0|$,0|d,((0|d)<0)<<31>>31),J=0|w(),J=0|xr(0|(m=0|f_(0|tt,0|et,0|A,((0|A)<0)<<31>>31)),0|w(),0|b,0|J),m=0|xr(0|J,0|(b=0|w()),0|(m=0|f_(0|it,0|nt,0|u,((0|u)<0)<<31>>31)),0|w()),b=0|w(),0|z&&0|_[z+12>>2]){for(l=d,e=A,i=u,h=z,y=b;;){if(h=0|_[4+(0|_[h+8>>2])>>2],A=0|_[(u=h+12|0)>>2],Y=0|f_(0|(d=0|_[A+88>>2]),((0|d)<0)<<31>>31,0|s,((0|s)<0)<<31>>31),U=0|w(),U=0|xr(0|(J=0|f_(0|(b=0|_[A+92>>2]),((0|b)<0)<<31>>31,0|K,((0|K)<0)<<31>>31)),0|w(),0|Y,0|U),J=0|xr(0|U,0|(Y=0|w()),0|(J=0|f_(0|(A=0|_[A+96>>2]),((0|A)<0)<<31>>31,0|X,((0|X)<0)<<31>>31)),0|w()),(0|(Y=0|w()))<(0|j)|(0|Y)==(0|j)&J>>>0>>0){A=m,b=y;break}if((0|_[h+20>>2])==(0|_[t+100>>2])){A=m,b=y;break}if(Y=0|f_(0|q,0|$,0|d,((0|d)<0)<<31>>31),J=0|w(),J=0|xr(0|(b=0|f_(0|tt,0|et,0|b,((0|b)<0)<<31>>31)),0|w(),0|Y,0|J),A=0|xr(0|J,0|(b=0|w()),0|(A=0|f_(0|it,0|nt,0|A,((0|A)<0)<<31>>31)),0|w()),!((0|(b=0|w()))>(0|y)|(0|b)==(0|y)&A>>>0>m>>>0)){A=m,b=y;break}if(_[n>>2]=h,J=0|_[u>>2],l=0|_[J+88>>2],e=0|_[J+92>>2],i=0|_[J+96>>2],!J)break;y=b,m=A}d=l,u=i,h=0|_[o>>2]}else e=A,h=a,A=m;l=0|f_(0|q,0|$,0|k,((0|k)<0)<<31>>31),J=0|w(),J=0|xr(0|(i=0|f_(0|tt,0|et,0|v,((0|v)<0)<<31>>31)),0|w(),0|l,0|J),i=0|xr(0|J,0|(l=0|w()),0|(i=0|f_(0|it,0|nt,0|f,((0|f)<0)<<31>>31)),0|w()),l=0|w();t:do{if(h)if(0|_[h+12>>2])for(C=h;;){if(S=0|_[_[C+8>>2]>>2],y=0|_[S+12>>2],Y=0|f_(0|(m=0|_[y+88>>2]),((0|m)<0)<<31>>31,0|s,((0|s)<0)<<31>>31),U=0|w(),U=0|xr(0|(J=0|f_(0|(h=0|_[y+92>>2]),((0|h)<0)<<31>>31,0|K,((0|K)<0)<<31>>31)),0|w(),0|Y,0|U),J=0|xr(0|U,0|(Y=0|w()),0|(J=0|f_(0|(y=0|_[y+96>>2]),((0|y)<0)<<31>>31,0|X,((0|X)<0)<<31>>31)),0|w()),(0|(Y=0|w()))<(0|j)|(0|Y)==(0|j)&J>>>0>>0)break t;if((0|_[S+20>>2])==(0|_[t+100>>2]))break t;if(m=0|f_(0|q,0|$,0|m,((0|m)<0)<<31>>31),J=0|w(),J=0|xr(0|(h=0|f_(0|tt,0|et,0|h,((0|h)<0)<<31>>31)),0|w(),0|m,0|J),m=0|xr(0|J,0|(h=0|w()),0|(m=0|f_(0|it,0|nt,0|y,((0|y)<0)<<31>>31)),0|w()),!((0|(h=0|w()))>(0|l)|(0|h)==(0|l)&m>>>0>i>>>0))break t;if(_[o>>2]=S,J=0|_[S+12>>2],l=0|_[J+88>>2],i=0|_[J+92>>2],f=0|_[J+96>>2],!J){k=l,v=i,C=S,i=m,l=h;break}k=l,v=i,C=S,l=h,i=m}else C=h;else C=0}while(0);if(b=0|Ir(0|i,0|l,0|A,0|b),(0|(i=0|w()))>0|!(0|i)&b>>>0>0){for(Y=0|Ir(0,0,0|X,((0|X)<0)<<31>>31),J=0|w(),Q=k,l=d,E=v,A=e,H=f,m=u,y=b,h=i;;){U=l,L=0|_[n>>2];t:for(;Z=(0|g(E-A|0,c))+(0|g(Q-U|0,p))+(0|g(H-m|0,r))|0,L&&0|_[L+12>>2]&&(M=0|_[8+(0|_[L>>2])>>2],!((0|_[M+20>>2])<=(0|_[t+100>>2])));){N=0|_[M+12>>2],P=(V=0|_[N+88>>2])-U|0,T=(G=0|_[N+92>>2])-A|0,l=(N=0|_[N+96>>2])-m|0,R=0|f_(0|q,0|$,0|P,((0|P)<0)<<31>>31),O=0|w(),O=0|xr(0|(S=0|f_(0|tt,0|et,0|T,((0|T)<0)<<31>>31)),0|w(),0|R,0|O),S=0|xr(0|O,0|(R=0|w()),0|(S=0|f_(0|it,0|nt,0|l,((0|l)<0)<<31>>31)),0|w()),R=0|w(),l=(0|g(T,c))+(0|g(P,p))+(0|g(l,r))|0;do{if(!(0|S)&!(0|R)){if((0|l)>=0)break t}else{if((0|R)>=0)break t;if((0|l)>0?(P=-1,D=l,j=((0|l)<0)<<31>>31):(D=0|Ir(0,0,0|l,((0|l)<0)<<31>>31),j=0|w(),P=1&!!(0|l),D=0|l?D:0,j=0|l?j:0),F=0|Ir(0,0,0|S,0|R),x=0|w(),(0|Z)>0?(l=1,S=-1,O=Z,T=((0|Z)<0)<<31>>31):(O=0|Ir(0,0,0|Z,((0|Z)<0)<<31>>31),T=0|w(),l=!!(0|Z)<<31>>31,S=1&!!(0|Z),O=0|Z?O:0,T=0|Z?T:0),(0|h)>0|!(0|h)&y>>>0>0?(S=y,R=h):(W=!!(0|y)|!!(0|h),B=0|Ir(0,0,0|y,0|h),R=0|w(),l=W?S:l,S=W?B:0,R=W?R:0),(0|P)==(0|l)){if(!P)break;l=0|f_(0|S,0,0|D,0),I=0|w(),st=0|f_(0|R,0,0|D,0),rt=0|w(),B=0|f_(0|S,0,0|j,0),W=0|w(),_t=0|f_(0|R,0,0|j,0),D=0|w(),B=0|xr(0|st,0,0|B,0),S=0|w(),D=0|xr(0|rt,0,0|_t,0|D),W=0|xr(0|D,0|w(),0|W,0),S=0|xr(0|W,0|w(),0|S,0),W=0|w(),D=0|xr(0,0|B,0|l,0|I),B=0|xr(0|S,0|W,1&((I=0|w())>>>0>>0|(0|I)==(0|B)&D>>>0<0),0),W=0|w(),S=0|f_(0|O,0,0|F,0),l=0|w(),_t=0|f_(0|T,0,0|F,0),F=0|w(),R=0|f_(0|O,0,0|x,0),j=0|w(),x=0|f_(0|T,0,0|x,0),O=0|w(),R=0|xr(0|_t,0,0|R,0),T=0|w(),O=0|xr(0|F,0,0|x,0|O),j=0|xr(0|O,0|w(),0|j,0),T=0|xr(0|j,0|w(),0|T,0),j=0|w(),l=0|xr(0,0|R,0|S,0|l),R=0|xr(0|T,0|j,1&((S=0|w())>>>0>>0|(0|S)==(0|R)&l>>>0<0),0),j=0|w(),l=0|g(l=W>>>0>>0|(0|W)==(0|j)&B>>>0>>0?-1:W>>>0>j>>>0|(0|W)==(0|j)&B>>>0>R>>>0?1:I>>>0>>0|(0|I)==(0|S)&D>>>0>>0?-1:1&(I>>>0>S>>>0|(0|I)==(0|S)&D>>>0>l>>>0),P)}else l=P-l|0;if((0|l)<=-1)break t}}while(0);U=E-G|0,y=H-N|0,h=0|f_(0|q,0|$,0|(h=Q-V|0),((0|h)<0)<<31>>31),st=0|w(),st=0|xr(0|(U=0|f_(0|tt,0|et,0|U,((0|U)<0)<<31>>31)),0|w(),0|h,0|st),y=0|xr(0|st,0|(h=0|w()),0|(y=0|f_(0|it,0|nt,0|y,((0|y)<0)<<31>>31)),0|w()),h=0|w(),st=(0|L)==(0|z)?0:M,_[n>>2]=st,U=V,A=G,m=N,L=st}if(!(l=0|_[o>>2])){l=110;break}if(!(0|_[l+12>>2])){l=110;break}if(M=0|_[_[l+8>>2]>>2],(0|_[M+20>>2])<=(0|_[t+100>>2])){l=110;break}if(j=0|_[M+12>>2],R=(I=0|_[j+88>>2])-Q|0,S=(D=0|_[j+92>>2])-E|0,l=(j=0|_[j+96>>2])-H|0,st=0|f_(0|R,((0|R)<0)<<31>>31,0|s,((0|s)<0)<<31>>31),_t=0|w(),_t=0|xr(0|(rt=0|f_(0|S,((0|S)<0)<<31>>31,0|K,((0|K)<0)<<31>>31)),0|w(),0|st,0|_t),st=0|w(),!((0|_t)==(0|(rt=0|f_(0|Y,0|J,0|l,((0|l)<0)<<31>>31)))&(0|st)==(0|w()))){l=110;break}if(W=0|f_(0|q,0|$,0|R,((0|R)<0)<<31>>31),P=0|w(),P=0|xr(0|(B=0|f_(0|tt,0|et,0|S,((0|S)<0)<<31>>31)),0|w(),0|W,0|P),B=0|xr(0|P,0|(W=0|w()),0|(B=0|f_(0|it,0|nt,0|l,((0|l)<0)<<31>>31)),0|w()),W=0|w(),l=(0|g(S,c))+(0|g(R,p))+(0|g(l,r))|0,rt=D-A|0,T=j-m|0,P=0|f_(0|q,0|$,0|(P=I-U|0),((0|P)<0)<<31>>31),st=0|w(),st=0|xr(0|(rt=0|f_(0|tt,0|et,0|rt,((0|rt)<0)<<31>>31)),0|w(),0|P,0|st),T=0|xr(0|st,0|(P=0|w()),0|(T=0|f_(0|it,0|nt,0|T,((0|T)<0)<<31>>31)),0|w()),!((0|(P=0|w()))>0|!(0|P)&T>>>0>0)){l=110;break}if(!(0|B)&!(0|W)){if((0|l)>=0){l=110;break}}else{if((0|W)>=0){l=110;break}if((0|l)>0?(O=-1,j=l,R=((0|l)<0)<<31>>31):(j=0|Ir(0,0,0|l,((0|l)<0)<<31>>31),R=0|w(),O=1&!!(0|l),j=0|l?j:0,R=0|l?R:0),W=0|Ir(0,0,0|B,0|W),F=0|w(),(0|Z)>0?(l=1,S=-1,x=Z,B=((0|Z)<0)<<31>>31):(x=0|Ir(0,0,0|Z,((0|Z)<0)<<31>>31),B=0|w(),l=!!(0|Z)<<31>>31,S=1&!!(0|Z),x=0|Z?x:0,B=0|Z?B:0),(0|h)>0|!(0|h)&y>>>0>0||(st=!!(0|y)|!!(0|h),y=0|Ir(0,0,0|y,0|h),h=0|w(),l=st?S:l,y=st?y:0,h=st?h:0),(0|O)==(0|l)){if(!O){l=110;break}st=0|f_(0|y,0,0|j,0),l=0|w(),S=0|f_(0|h,0,0|j,0),Z=0|w(),D=0|f_(0|y,0,0|R,0),I=0|w(),j=0|f_(0|h,0,0|R,0),R=0|w(),D=0|xr(0|S,0,0|D,0),h=0|w(),R=0|xr(0|Z,0,0|j,0|R),I=0|xr(0|R,0|w(),0|I,0),h=0|xr(0|I,0|w(),0|h,0),I=0|w(),R=0|xr(0,0|D,0|st,0|l),D=0|xr(0|h,0|I,1&((j=0|w())>>>0>>0|(0|j)==(0|D)&R>>>0<0),0),I=0|w(),h=0|f_(0|x,0,0|W,0),l=0|w(),st=0|f_(0|B,0,0|W,0),Z=0|w(),y=0|f_(0|x,0,0|F,0),S=0|w(),_t=0|f_(0|B,0,0|F,0),rt=0|w(),y=0|xr(0|st,0,0|y,0),st=0|w(),rt=0|xr(0|Z,0,0|_t,0|rt),S=0|xr(0|rt,0|w(),0|S,0),st=0|xr(0|S,0|w(),0|st,0),S=0|w(),l=0|xr(0,0|y,0|h,0|l),y=0|xr(0|st,0|S,1&((h=0|w())>>>0>>0|(0|h)==(0|y)&l>>>0<0),0),S=0|w(),l=0|g(l=I>>>0>>0|(0|I)==(0|S)&D>>>0>>0?-1:I>>>0>S>>>0|(0|I)==(0|S)&D>>>0>y>>>0?1:j>>>0>>0|(0|j)==(0|h)&R>>>0>>0?-1:1&(j>>>0>h>>>0|(0|j)==(0|h)&R>>>0>l>>>0),O)}else l=O-l|0;if((0|l)<=0){l=110;break}}_[o>>2]=M,H=0|_[M+12>>2],Q=0|_[H+88>>2],l=U,E=0|_[H+92>>2],H=0|_[H+96>>2],y=T,h=P}if(110==(0|l))return}if(!((0|i)>=0)){M=0|Ir(0,0,0|X,((0|X)<0)<<31>>31),V=0|w(),A=C,l=u;t:for(;;){T=l,O=A;e:for(;;){P=(0|g(v-e|0,c))+(0|g(k-d|0,p))+(0|g(f-T|0,r))|0;do{if(0|O&&0|_[O+12>>2]&&(ot=0|_[8+(0|_[O+4>>2])>>2],(0|_[ot+20>>2])>(0|_[t+100>>2]))){if(x=0|_[ot+12>>2],st=(W=0|_[x+88>>2])-k|0,rt=(F=0|_[x+92>>2])-v|0,l=(x=0|_[x+96>>2])-f|0,u=0|f_(0|q,0|$,0|st,((0|st)<0)<<31>>31),_t=0|w(),_t=0|xr(0|(A=0|f_(0|tt,0|et,0|rt,((0|rt)<0)<<31>>31)),0|w(),0|u,0|_t),A=0|xr(0|_t,0|(u=0|w()),0|(A=0|f_(0|it,0|nt,0|l,((0|l)<0)<<31>>31)),0|w()),u=0|w(),l=(0|g(rt,c))+(0|g(st,p))+(0|g(l,r))|0,!(0|A)&!(0|u)){if((0|l)>0)break e;break}if((0|u)<0){if((0|l)>0?(B=-1,h=l,m=((0|l)<0)<<31>>31):(h=0|Ir(0,0,0|l,((0|l)<0)<<31>>31),m=0|w(),B=1&!!(0|l),h=0|l?h:0,m=0|l?m:0),R=0|Ir(0,0,0|A,0|u),j=0|w(),(0|P)>0?(l=1,A=-1,D=P,I=((0|P)<0)<<31>>31):(D=0|Ir(0,0,0|P,((0|P)<0)<<31>>31),I=0|w(),l=!!(0|P)<<31>>31,A=1&!!(0|P),D=0|P?D:0,I=0|P?I:0),(0|i)>0|!(0|i)&b>>>0>0?(A=b,u=i):(st=!!(0|b)|!!(0|i),rt=0|Ir(0,0,0|b,0|i),u=0|w(),l=st?A:l,A=st?rt:0,u=st?u:0),(0|B)==(0|l)){if(!B)break e;l=0|f_(0|A,0,0|h,0),y=0|w(),_t=0|f_(0|u,0,0|h,0),z=0|w(),C=0|f_(0|A,0,0|m,0),S=0|w(),st=0|f_(0|u,0,0|m,0),h=0|w(),C=0|xr(0|_t,0,0|C,0),A=0|w(),h=0|xr(0|z,0,0|st,0|h),S=0|xr(0|h,0|w(),0|S,0),A=0|xr(0|S,0|w(),0|A,0),S=0|w(),h=0|xr(0,0|C,0|l,0|y),C=0|xr(0|A,0|S,1&((y=0|w())>>>0>>0|(0|y)==(0|C)&h>>>0<0),0),S=0|w(),A=0|f_(0|D,0,0|R,0),l=0|w(),st=0|f_(0|I,0,0|R,0),z=0|w(),u=0|f_(0|D,0,0|j,0),m=0|w(),_t=0|f_(0|I,0,0|j,0),rt=0|w(),u=0|xr(0|st,0,0|u,0),st=0|w(),rt=0|xr(0|z,0,0|_t,0|rt),m=0|xr(0|rt,0|w(),0|m,0),st=0|xr(0|m,0|w(),0|st,0),m=0|w(),l=0|xr(0,0|u,0|A,0|l),u=0|xr(0|st,0|m,1&((A=0|w())>>>0>>0|(0|A)==(0|u)&l>>>0<0),0),m=0|w(),l=0|g(l=S>>>0>>0|(0|S)==(0|m)&C>>>0>>0?-1:S>>>0>m>>>0|(0|S)==(0|m)&C>>>0>u>>>0?1:y>>>0>>0|(0|y)==(0|A)&h>>>0>>0?-1:1&(y>>>0>A>>>0|(0|y)==(0|A)&h>>>0>l>>>0),B)}else l=B-l|0;if((0|l)<1)break e}}}while(0);if(!(l=0|_[n>>2])){l=110;break t}if(!(0|_[l+12>>2])){l=110;break t}if(I=0|_[4+(0|_[l+8>>2])>>2],(0|_[I+20>>2])<=(0|_[t+100>>2])){l=110;break t}if(A=0|_[I+12>>2],d=(m=0|_[A+88>>2])-d|0,e=(u=0|_[A+92>>2])-e|0,l=(A=0|_[A+96>>2])-T|0,st=0|f_(0|d,((0|d)<0)<<31>>31,0|s,((0|s)<0)<<31>>31),_t=0|w(),_t=0|xr(0|(rt=0|f_(0|e,((0|e)<0)<<31>>31,0|K,((0|K)<0)<<31>>31)),0|w(),0|st,0|_t),st=0|w(),!((0|_t)==(0|(rt=0|f_(0|M,0|V,0|l,((0|l)<0)<<31>>31)))&(0|st)==(0|w()))){l=110;break t}if(y=0|f_(0|q,0|$,0|d,((0|d)<0)<<31>>31),D=0|w(),D=0|xr(0|(h=0|f_(0|tt,0|et,0|e,((0|e)<0)<<31>>31)),0|w(),0|y,0|D),h=0|xr(0|D,0|(y=0|w()),0|(h=0|f_(0|it,0|nt,0|l,((0|l)<0)<<31>>31)),0|w()),y=0|w(),l=(0|g(e,c))+(0|g(d,p))+(0|g(l,r))|0,rt=v-u|0,j=f-A|0,D=0|f_(0|q,0|$,0|(D=k-m|0),((0|D)<0)<<31>>31),st=0|w(),st=0|xr(0|(rt=0|f_(0|tt,0|et,0|rt,((0|rt)<0)<<31>>31)),0|w(),0|D,0|st),j=0|xr(0|st,0|(D=0|w()),0|(j=0|f_(0|it,0|nt,0|j,((0|j)<0)<<31>>31)),0|w()),(0|(D=0|w()))>=0){l=110;break t}if(!(0|h)&!(0|y)){if((0|l)<=0){l=110;break t}}else{if((0|y)>=0){l=110;break t}if((0|l)>0?(R=-1,A=l,d=((0|l)<0)<<31>>31):(A=0|Ir(0,0,0|l,((0|l)<0)<<31>>31),d=0|w(),R=1&!!(0|l),A=0|l?A:0,d=0|l?d:0),C=0|Ir(0,0,0|h,0|y),S=0|w(),(0|P)>0?(e=1,h=P,y=((0|P)<0)<<31>>31,l=-1):(h=0|Ir(0,0,0|P,((0|P)<0)<<31>>31),y=0|w(),e=!!(0|P)<<31>>31,h=0|P?h:0,y=0|P?y:0,l=1&!!(0|P)),(0|i)>0|!(0|i)&b>>>0>0||(st=!!(0|b)|!!(0|i),b=0|Ir(0,0,0|b,0|i),i=0|w(),e=st?l:e,b=st?b:0,i=st?i:0),(0|R)==(0|e)){if(!R){l=110;break t}m=0|f_(0|b,0,0|A,0),u=0|w(),e=0|f_(0|i,0,0|A,0),z=0|w(),b=0|f_(0|b,0,0|d,0),A=0|w(),st=0|f_(0|i,0,0|d,0),l=0|w(),b=0|xr(0|e,0,0|b,0),e=0|w(),l=0|xr(0|z,0,0|st,0|l),A=0|xr(0|l,0|w(),0|A,0),e=0|xr(0|A,0|w(),0|e,0),A=0|w(),u=0|xr(0,0|b,0|m,0|u),b=0|xr(0|e,0|A,1&((m=0|w())>>>0>>0|(0|m)==(0|b)&u>>>0<0),0),A=0|w(),e=0|f_(0|h,0,0|C,0),l=0|w(),st=0|f_(0|y,0,0|C,0),z=0|w(),i=0|f_(0|h,0,0|S,0),d=0|w(),_t=0|f_(0|y,0,0|S,0),rt=0|w(),i=0|xr(0|st,0,0|i,0),st=0|w(),rt=0|xr(0|z,0,0|_t,0|rt),d=0|xr(0|rt,0|w(),0|d,0),st=0|xr(0|d,0|w(),0|st,0),d=0|w(),l=0|xr(0,0|i,0|e,0|l),i=0|xr(0|st,0|d,1&((e=0|w())>>>0>>0|(0|e)==(0|i)&l>>>0<0),0),d=0|w(),l=0|g(l=A>>>0>>0|(0|A)==(0|d)&b>>>0>>0?-1:A>>>0>d>>>0|(0|A)==(0|d)&b>>>0>i>>>0?1:m>>>0>>0|(0|m)==(0|e)&u>>>0>>0?-1:1&(m>>>0>e>>>0|(0|m)==(0|e)&u>>>0>l>>>0),R)}else l=R-e|0;if((0|l)>=0){l=110;break t}}_[n>>2]=I,T=0|_[I+12>>2],d=0|_[T+88>>2],e=0|_[T+92>>2],T=0|_[T+96>>2],O=0|_[o>>2],i=D,b=j}k=F-e|0,b=x-T|0,i=0|f_(0|q,0|$,0|(i=W-d|0),((0|i)<0)<<31>>31),A=0|w(),A=0|xr(0|(k=0|f_(0|tt,0|et,0|k,((0|k)<0)<<31>>31)),0|w(),0|i,0|A),b=0|xr(0|A,0|(i=0|w()),0|(b=0|f_(0|it,0|nt,0|b,((0|b)<0)<<31>>31)),0|w()),i=0|w(),A=(0|O)==(0|a)?0:ot,_[o>>2]=A,k=W,v=F,f=x,l=T}}}function Ai(t,e,i){t|=0,e|=0;var o,r=0,s=0,c=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0;if(o=Q,Q=Q+176|0,(0|(i|=0))<1)return 0|(r=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,0|(r=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,0|(r=0|_[t+52>>2])&&(0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+52>>2]=0),n[t+56|0]=1,_[t+52>>2]=0,_[t+44>>2]=0,_[t+48>>2]=0,void(Q=o);for(_[o+32>>2]=0,_[o+36>>2]=0,_[o+40>>2]=0,_[o+44>>2]=256,_[o+48>>2]=0,_[o+52>>2]=0,_[o+56>>2]=0,_[o+60>>2]=256,_[o+64>>2]=0,_[o+68>>2]=0,_[o+72>>2]=0,_[o+76>>2]=256,n[o+96|0]=1,_[o+92>>2]=0,_[o+84>>2]=0,_[o+88>>2]=0,r=0,s=e,c=-246811958,m=1900671690,y=-246811958,v=1900671690,w=-246811958,k=1900671690;l=0|_[s>>2],b=0|_[s+4>>2],u=0|_[s+8>>2],_[a>>2]=l,m=(d=+p[a>>2])<(_[a>>2]=m,+p[a>>2])?l:m,_[a>>2]=b,v=(A=+p[a>>2])<(_[a>>2]=v,+p[a>>2])?b:v,_[a>>2]=u,k=(f=+p[a>>2])<(_[a>>2]=k,+p[a>>2])?u:k,_[a>>2]=c,c=+p[a>>2]>2]=y,y=+p[a>>2]>2]=w,w=+p[a>>2]>2]=c,S=+p[a>>2],_[a>>2]=m,C=+p[a>>2],_[a>>2]=y,h=+p[a>>2],_[a>>2]=v,f=+p[a>>2],_[a>>2]=w,A=+p[a>>2],_[a>>2]=k,d=+p[a>>2],s=S-C>2]=s,(0|(r=S-C>>0)%3|0),_[o+104>>2]=r,m=(3^s)-r|0,_[o+108>>2]=m,R=((m+1|0)%3|0)==(0|s)?9788566967472434e-20*(S-C):-9788566967472434e-20*(S-C),j=((m+1|0)%3|0)==(0|s)?9788566967472434e-20*(h-f):-9788566967472434e-20*(h-f),D=((m+1|0)%3|0)==(0|s)?9788566967472434e-20*(A-d):-9788566967472434e-20*(A-d),p[o>>2]=R,p[o+4>>2]=j,p[o+8>>2]=D,p[o+12>>2]=0,R=0!=R?1/R:R,j=0!=j?1/j:j,D=0!=D?1/D:D,p[o+16>>2]=.5*(S+C),p[o+20>>2]=.5*(h+f),p[o+24>>2]=.5*(A+d),p[o+28>>2]=0,n[0|(m=o+144+16|0)]=1,_[(y=o+144+12|0)>>2]=0,_[o+144+4>>2]=0,_[o+144+8>>2]=0,_[6630]=1+(0|_[6630]),(r=0|di(16+(i<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,s=r+4+15&-16):s=0,c=0|_[o+144+4>>2],l=0|_[y>>2],(0|c)<=0)0|l&&(T=25);else{r=0;do{x=l+(r<<4)|0,_[(T=s+(r<<4)|0)>>2]=_[x>>2],_[T+4>>2]=_[x+4>>2],_[T+8>>2]=_[x+8>>2],_[T+12>>2]=_[x+12>>2],r=r+1|0}while((0|r)!=(0|c));T=25}if(25==(0|T)&&(0|n[0|m]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[y>>2]=0),n[0|m]=1,_[y>>2]=s,_[o+144+8>>2]=i,_[s>>2]=_[o+128>>2],_[s+4>>2]=_[o+128+4>>2],_[s+8>>2]=_[o+128+8>>2],_[s+12>>2]=_[o+128+12>>2],1!=(0|i)){r=1;do{x=(0|_[y>>2])+(r<<4)|0,_[x>>2]=_[o+128>>2],_[x+4>>2]=_[o+128+4>>2],_[x+8>>2]=_[o+128+8>>2],_[x+12>>2]=_[o+128+12>>2],r=r+1|0}while((0|r)!=(0|i))}for(_[o+144+4>>2]=i,c=o+128+(_[o+108>>2]<<2)|0,l=0|_[y>>2],b=o+128+(_[o+112>>2]<<2)|0,u=o+128+(_[o+104>>2]<<2)|0,d=+p[o+16>>2],A=+p[o+20>>2],f=+p[o+24>>2],s=0,r=e;C=j*(+p[r+4>>2]-A),S=D*(+p[r+8>>2]-f),p[o+128>>2]=R*(+p[r>>2]-d),p[o+128+4>>2]=C,p[o+128+8>>2]=S,p[o+128+12>>2]=0,_[l+(s<<4)>>2]=~~+p[c>>2],_[l+(s<<4)+4>>2]=~~+p[b>>2],_[l+(s<<4)+8>>2]=~~+p[u>>2],_[l+(s<<4)+12>>2]=s,(0|(s=s+1|0))!=(0|i);)r=r+16|0;if((0|i)>1&&Ft(o+144|0,0,i+-1|0),_[o+36>>2]=_[o+32>>2],_[o+40>>2]=0,_[o+44>>2]=i,(0|(r=0|_[o+84>>2]))<(0|i)){if((0|_[o+88>>2])<(0|i)){if(i?(_[6630]=1+(0|_[6630]),(s=0|di(16+(i<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,l=0|_[o+84>>2]):(s=0,l=r),(0|l)>0){c=0;do{_[s+(c<<2)>>2]=_[(0|_[o+92>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|l))}0|(c=0|_[o+92>>2])&&(0|n[o+96|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[o+92>>2]=0),n[o+96|0]=1,_[o+92>>2]=s,_[o+88>>2]=i}do{_[(0|_[o+92>>2])+(r<<2)>>2]=0,r=r+1|0}while((0|r)!=(0|i))}_[o+84>>2]=i,b=0;do{if(!(r=0|_[o+40>>2])&&((r=0|_[o+36>>2])?(_[o+36>>2]=_[r+8>>2],s=r):(_[6630]=1+(0|_[6630]),(r=0|di(31))?(_[(r+4+15&-16)-4>>2]=r,s=r+4+15&-16):s=0,r=0|_[o+44>>2],_[s+4>>2]=r,_[(c=s+8|0)>>2]=0,_[6630]=1+(0|_[6630]),(r=0|di(16+(112*r|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,_[s>>2]=r,_[c>>2]=_[o+32>>2],_[o+32>>2]=s),r=0|_[s>>2],(0|(l=0|_[s+4>>2]))>0&&(_[r>>2]=1!=(0|l)?r+112|0:0,1!=(0|l)))){s=1,c=r+112|0;do{x=(0|(s=s+1|0))<(0|l),F=c,c=c+112|0,_[F>>2]=x?c:0}while(x)}_[o+40>>2]=_[r>>2],x=r+104|0,_[r>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+16>>2]=0,_[x>>2]=-1,_[r+8>>2]=0,W=(0|_[y>>2])+(b<<4)|0,_[(F=r+88|0)>>2]=_[W>>2],_[F+4>>2]=_[W+4>>2],_[F+8>>2]=_[W+8>>2],_[F+12>>2]=_[W+12>>2],_[x>>2]=-1,_[(0|_[o+92>>2])+(b<<2)>>2]=r,b=b+1|0}while((0|b)<(0|i));if(0|(r=0|_[y>>2])&&(0|n[0|m]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[y>>2]=0),n[0|m]=1,_[y>>2]=0,_[o+144+4>>2]=0,_[o+144+8>>2]=0,_[o+52>>2]=_[o+48>>2],_[o+56>>2]=0,_[o+60>>2]=6*i,_[o+116>>2]=0,_[o+120>>2]=0,_[o+100>>2]=-3,_[o+128>>2]=0,_[o+128+4>>2]=0,_[o+128+8>>2]=0,_[o+128+12>>2]=0,Dl(o,0,i,o+128|0),_[o+124>>2]=_[o+128>>2],0|(r=0|_[y>>2])&&(0|n[0|m]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[y>>2]=0),(0|(r=0|_[t+4>>2]))<0){(0|_[t+8>>2])<0&&(0|(s=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=0,_[t+8>>2]=0);do{x=(0|_[t+12>>2])+(r<<4)|0,_[x>>2]=_[o+144>>2],_[x+4>>2]=_[o+144+4>>2],_[x+8>>2]=_[o+144+8>>2],_[x+12>>2]=_[o+144+12>>2],r=r+1|0}while(0|r)}if(_[t+4>>2]=0,_[o+144>>2]=0,_[o+144+4>>2]=0,_[o+144+8>>2]=0,(0|(r=0|_[t+24>>2]))<0){(0|_[t+28>>2])<0&&(0|(s=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+28>>2]=0);do{x=(0|_[t+32>>2])+(12*r|0)|0,_[x>>2]=_[o+144>>2],_[x+4>>2]=_[o+144+4>>2],_[x+8>>2]=_[o+144+8>>2],r=r+1|0}while(0|r)}if(_[t+24>>2]=0,(0|(s=0|_[t+44>>2]))<0&&(r=0|_[t+52>>2],(0|_[t+48>>2])<0&&(0|r&&0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),n[t+56|0]=1,_[t+52>>2]=0,_[t+48>>2]=0,r=0),wn(r+(s<<2)|0,0,0|g(s,-4))),_[t+44>>2]=0,s=0|_[o+124>>2],(0|_[s+104>>2])<0){for(_[s+104>>2]=0,_[6630]=1+(0|_[6630]),(r=0|di(23))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,_[r>>2]=s,x=0,u=1,m=r,y=1,c=r,w=r;;){if((0|_[s+100>>2])>-1?(p[o+144+(_[o+108>>2]<<2)>>2]=+(0|_[s+88>>2]),p[o+144+(_[o+112>>2]<<2)>>2]=+(0|_[s+92>>2]),d=+(0|_[s+96>>2])):(d=+Rn(s+24|0),d/=+Rn(F=s+72|0),p[o+144+(_[o+108>>2]<<2)>>2]=d,d=+Rn(s+40|0),d/=+Rn(F),p[o+144+(_[o+112>>2]<<2)>>2]=d,d=+Rn(s+56|0),d/=+Rn(F)),p[o+144+(_[o+104>>2]<<2)>>2]=d,d=+p[o+144>>2]*+p[o>>2]+ +p[o+16>>2],A=+p[o+144+4>>2]*+p[o+4>>2]+ +p[o+20>>2],f=+p[o+144+8>>2]*+p[o+8>>2]+ +p[o+24>>2],(0|(l=0|_[t+4>>2]))==(0|_[t+8>>2])&&(0|l)<(0|(O=0|l?l<<1:1))){if(O?(_[6630]=1+(0|_[6630]),(r=0|di(16+(O<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,l=0|_[t+4>>2]):r=0,(0|l)>0){b=0;do{F=r+(b<<4)|0,W=(0|_[t+12>>2])+(b<<4)|0,_[F>>2]=_[W>>2],_[F+4>>2]=_[W+4>>2],_[F+8>>2]=_[W+8>>2],_[F+12>>2]=_[W+12>>2],b=b+1|0}while((0|b)!=(0|l))}0|(l=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=r,_[t+8>>2]=O,r=0|_[t+4>>2]}else r=l;if(F=0|_[t+12>>2],p[F+(r<<4)>>2]=d,p[F+(r<<4)+4>>2]=A,p[F+(r<<4)+8>>2]=f,p[F+(r<<4)+12>>2]=0,_[t+4>>2]=1+(0|_[t+4>>2]),F=0|_[s+8>>2]){for(B=F,W=-1,r=-1,k=u,i=m,s=y;;){if((0|(b=0|_[(I=B+20|0)>>2]))<0){e=0|_[t+24>>2],_[o+144>>2]=0,_[o+144+4>>2]=0,_[o+144+8>>2]=0;do{if((0|e)==(0|_[t+28>>2])){if((0|e)>=(0|(m=0|e?e<<1:1))){l=e;break}if(m?(_[6630]=1+(0|_[6630]),(l=0|di(16+(12*m|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,u=0|_[t+24>>2]):(l=0,u=e),(0|u)>0){b=0;do{v=l+(12*b|0)|0,y=(0|_[t+32>>2])+(12*b|0)|0,_[v>>2]=_[y>>2],_[v+4>>2]=_[y+4>>2],_[v+8>>2]=_[y+8>>2],b=b+1|0}while((0|b)!=(0|u))}0|(b=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[b+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=l,_[t+28>>2]=m,l=0|_[t+24>>2]}else l=e}while(0);l=(0|_[t+32>>2])+(12*l|0)|0,_[l>>2]=_[o+144>>2],_[l+4>>2]=_[o+144+4>>2],_[l+8>>2]=_[o+144+8>>2],l=1+(0|_[t+24>>2])|0,_[t+24>>2]=l,_[o+144>>2]=0,_[o+144+4>>2]=0,_[o+144+8>>2]=0;do{if((0|l)==(0|_[t+28>>2])){if((0|l)>=(0|(m=0|l?l<<1:1)))break;if(m?(_[6630]=1+(0|_[6630]),(l=0|di(16+(12*m|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,u=l,l=0|_[t+24>>2]):u=0,(0|l)>0){b=0;do{v=u+(12*b|0)|0,y=(0|_[t+32>>2])+(12*b|0)|0,_[v>>2]=_[y>>2],_[v+4>>2]=_[y+4>>2],_[v+8>>2]=_[y+8>>2],b=b+1|0}while((0|b)!=(0|l))}0|(l=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=u,_[t+28>>2]=m,l=0|_[t+24>>2]}}while(0);if(v=(0|_[t+32>>2])+(12*l|0)|0,_[v>>2]=_[o+144>>2],_[v+4>>2]=_[o+144+4>>2],_[v+8>>2]=_[o+144+8>>2],_[t+24>>2]=1+(0|_[t+24>>2]),v=0|_[t+32>>2],_[I>>2]=e,_[20+(0|_[B+8>>2])>>2]=e+1,_[v+(12*e|0)+4>>2]=1,_[v+(12*(e+1|0)|0)+4>>2]=-1,y=0|_[B+12>>2],(0|(l=0|_[y+104>>2]))<0){_[y+104>>2]=s;do{if((0|s)==(0|k)){if((0|k)>=(0|(l=0|k?k<<1:1))){l=k,b=i,m=w;break}do{if(l){if(_[6630]=1+(0|_[6630]),!(b=0|di(16+(l<<2|3)|0))){u=0;break}_[(b+4+15&-16)-4>>2]=b,u=b+4+15&-16}else u=0}while(0);if((0|k)>0){b=0;do{_[u+(b<<2)>>2]=_[i+(b<<2)>>2],b=b+1|0}while((0|b)!=(0|k));if(!c){b=u,m=u,c=u;break}}else if(!(0|i)|!(0|c)){b=u,m=u,c=u;break}_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),b=u,m=u,c=u}else l=k,b=i,m=w}while(0);_[b+(s<<2)>>2]=y,y=s,s=s+1|0,u=m}else y=l,l=k,b=i,u=w;_[v+(12*e|0)+8>>2]=y,_[v+(12*(e+1|0)|0)+8>>2]=x,m=b,b=0|_[I>>2]}else l=k,m=i,u=w;if((0|W)>-1?_[(0|_[t+32>>2])+(12*b|0)>>2]=W-b:r=b,(0|(B=0|_[B>>2]))==(0|F))break;W=b,k=l,i=m,w=u}_[(0|_[t+32>>2])+(12*r|0)>>2]=b-r,k=m,w=u}else l=u,k=m,s=y;if((0|(r=x+1|0))>=(0|s))break;x=r,u=l,m=k,y=s,s=0|_[k+(r<<2)>>2]}for(y=0;;){if(0|(v=0|_[8+(0|_[k+(y<<2)>>2])>>2])){m=v;do{if((0|(r=0|_[(u=m+20|0)>>2]))>-1){s=0|_[t+44>>2];do{if((0|s)==(0|_[t+48>>2])){if((0|s)>=(0|(b=0|s?s<<1:1)))break;if(b?(_[6630]=1+(0|_[6630]),(r=0|di(16+(b<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[t+44>>2]):r=0,l=0|_[t+52>>2],(0|s)<=0)l&&(T=186);else{c=0;do{_[r+(c<<2)>>2]=_[l+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s));T=186}186==(0|T)&&(T=0,0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+52>>2]=0,s=0|_[t+44>>2]),n[t+56|0]=1,_[t+52>>2]=r,_[t+48>>2]=b,r=0|_[u>>2]}}while(0);_[(0|_[t+52>>2])+(s<<2)>>2]=r,_[t+44>>2]=1+(0|_[t+44>>2]),r=m;do{_[r+20>>2]=-1,r=0|_[4+(0|_[r+8>>2])>>2]}while((0|r)!=(0|m))}m=0|_[m>>2]}while((0|m)!=(0|v))}if((0|y)==(0|x))break;y=y+1|0}!(0|k)|!(0|w)||(_[6631]=1+(0|_[6631]),Ni(0|_[w+-4>>2]))}!function(t){var e=0,i=0;if(0|(e=0|_[(t|=0)+92>>2])&&(0|n[t+96|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+92>>2]=0),n[t+96|0]=1,_[t+92>>2]=0,_[t+84>>2]=0,_[t+88>>2]=0,0|(e=0|_[t+64>>2]))do{_[t+64>>2]=_[e+8>>2],0|(i=0|_[e>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+64>>2]}while(0|e);if(0|(e=0|_[t+48>>2]))do{_[t+48>>2]=_[e+8>>2],0|(i=0|_[e>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+48>>2]}while(0|e);if(e=0|_[t+32>>2])do{_[t+32>>2]=_[e+8>>2],0|(i=0|_[e>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+32>>2]}while(0|e)}(o),Q=o}function fi(t){var e,i=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0;if(e=Q,Q=Q+64|0,!(0|n[356+(t|=0)|0]))return t=0|n[t+312|0],Q=e,0|(t=!!(t<<24>>24));switch(_[t+336>>2]=0,_[t+336+4>>2]=0,_[t+336+8>>2]=0,_[t+336+12>>2]=0,n[t+336+16|0]=0,f=0|n[t+332|0],n[t+332|0]=-16&f,n[t+356|0]=0,0|_[t>>2]){case 0:return n[t+312|0]=0,Q=e,0|(t=!!((t=0)<<24>>24));case 1:return _[t+244>>2]=_[t+84>>2],_[t+244+4>>2]=_[t+84+4>>2],_[t+244+8>>2]=_[t+84+8>>2],_[t+244+12>>2]=_[t+84+12>>2],_[t+260>>2]=_[t+164>>2],_[t+260+4>>2]=_[t+164+4>>2],_[t+260+8>>2]=_[t+164+8>>2],_[t+260+12>>2]=_[t+164+12>>2],W=+p[t+248>>2]-+p[t+264>>2],F=+p[t+252>>2]-+p[t+268>>2],p[t+276>>2]=+p[t+244>>2]-+p[t+260>>2],p[t+280>>2]=W,p[t+284>>2]=F,p[t+288>>2]=0,n[t+352|0]=0,n[t+332|0]=-16&f,p[t+336>>2]=1,p[t+340>>2]=0,p[t+344>>2]=0,p[t+348>>2]=0,n[t+312|0]=1,Q=e,0|(t=!!((t=1)<<24>>24));case 2:return o=+p[t+4>>2],r=+p[t+8>>2],a=+p[t+12>>2],(0-o)*(l=+p[t+20>>2]-o)+(0-r)*(d=+p[t+24>>2]-r)+(0-a)*(b=+p[t+28>>2]-a)>0?(0-o)*l+(0-r)*d+(0-a)*b>2]=o,p[t+340>>2]=r,p[t+344>>2]=0,p[t+348>>2]=0,j=+p[t+84>>2],I=+p[t+88>>2],W=+p[t+92>>2],j+=r*(+p[t+100>>2]-j),I+=r*(+p[t+104>>2]-I),W+=r*(+p[t+108>>2]-W),p[t+244>>2]=j,p[t+248>>2]=I,p[t+252>>2]=W,p[t+256>>2]=0,D=+p[t+164>>2],B=+p[t+168>>2],F=+p[t+172>>2],D+=r*(+p[t+180>>2]-D),B+=r*(+p[t+184>>2]-B),F+=r*(+p[t+188>>2]-F),p[t+260>>2]=D,p[t+264>>2]=B,p[t+268>>2]=F,p[t+272>>2]=0,p[t+276>>2]=j-D,p[t+280>>2]=I-B,p[t+284>>2]=W-F,p[t+288>>2]=0,2&s?i=1:(_[t>>2]=1,i=0),1&s||(m=t+4+(i<<4)|0,x=t+84+(i<<4)|0,O=t+164+(i<<4)|0,_[t>>2]=i,_[t+4>>2]=_[m>>2],_[t+4+4>>2]=_[m+4>>2],_[t+4+8>>2]=_[m+8>>2],_[t+4+12>>2]=_[m+12>>2],_[t+84>>2]=_[x>>2],_[t+84+4>>2]=_[x+4>>2],_[t+84+8>>2]=_[x+8>>2],_[t+84+12>>2]=_[x+12>>2],_[t+164>>2]=_[O>>2],_[t+164+4>>2]=_[O+4>>2],_[t+164+8>>2]=_[O+8>>2],_[t+164+12>>2]=_[O+12>>2]),O=r>=0&o>=0&1,n[t+312|0]=O,Q=e,0|(t=!!((t=O)<<24>>24));case 3:_[e+16>>2]=0,_[e+16+4>>2]=0,_[e+16+8>>2]=0,_[e+16+12>>2]=0,ai(e+16|0,t+4|0,t+20|0,t+36|0,t+316|0),F=+p[t+336>>2],o=+p[t+340>>2],r=+p[t+344>>2],j=+p[t+84>>2]*F+ +p[t+100>>2]*o+ +p[t+116>>2]*r,I=F*+p[t+88>>2]+o*+p[t+104>>2]+r*+p[t+120>>2],W=F*+p[t+92>>2]+o*+p[t+108>>2]+r*+p[t+124>>2],p[t+244>>2]=j,p[t+248>>2]=I,p[t+252>>2]=W,p[t+256>>2]=0,D=F*+p[t+164>>2]+o*+p[t+180>>2]+r*+p[t+196>>2],B=F*+p[t+168>>2]+o*+p[t+184>>2]+r*+p[t+200>>2],F=F*+p[t+172>>2]+o*+p[t+188>>2]+r*+p[t+204>>2],p[t+260>>2]=D,p[t+264>>2]=B,p[t+268>>2]=F,p[t+272>>2]=0,p[t+276>>2]=j-D,p[t+280>>2]=I-B,p[t+284>>2]=W-F,p[t+288>>2]=0,f=0|_[t>>2];do{if((0|f)>3)8&(i=0|n[t+332|0])?(s=t+332|0,A=i,c=f,O=19):(s=t+164+(f+-1<<4)|0,A=t+84+(f+-1<<4)|0,c=t+4+(f+-1<<4)|0,_[t>>2]=f+-1,_[t+52>>2]=_[c>>2],_[t+52+4>>2]=_[c+4>>2],_[t+52+8>>2]=_[c+8>>2],_[t+52+12>>2]=_[c+12>>2],_[t+132>>2]=_[A>>2],_[t+132+4>>2]=_[A+4>>2],_[t+132+8>>2]=_[A+8>>2],_[t+132+12>>2]=_[A+12>>2],_[t+212>>2]=_[s>>2],_[t+212+4>>2]=_[s+4>>2],_[t+212+8>>2]=_[s+8>>2],_[t+212+12>>2]=_[s+12>>2],s=t+332|0,A=i,c=f+-1|0,O=19);else{if(3==(0|f)){s=t+332|0,A=0|n[t+332|0],c=3,O=19;break}(0|f)<=1?1==(0|f)&&(i=1,O=26):(i=2,O=22)}}while(0);return 19==(0|O)&&(i=c+-1|0,4&A?(i=c,O=22):(_[t>>2]=i,_[t+36>>2]=_[t+4+(i<<4)>>2],_[t+36+4>>2]=_[t+4+(i<<4)+4>>2],_[t+36+8>>2]=_[t+4+(i<<4)+8>>2],_[t+36+12>>2]=_[t+4+(i<<4)+12>>2],_[t+116>>2]=_[t+84+(i<<4)>>2],_[t+116+4>>2]=_[t+84+(i<<4)+4>>2],_[t+116+8>>2]=_[t+84+(i<<4)+8>>2],_[t+116+12>>2]=_[t+84+(i<<4)+12>>2],_[t+196>>2]=_[t+164+(i<<4)>>2],_[t+196+4>>2]=_[t+164+(i<<4)+4>>2],_[t+196+8>>2]=_[t+164+(i<<4)+8>>2],_[t+196+12>>2]=_[t+164+(i<<4)+12>>2],O=23)),22==(0|O)&&(s=t+332|0,O=23),23==(0|O)&&(c=i+-1|0,2&n[0|s]?O=26:(_[t>>2]=c,_[t+20>>2]=_[t+4+(c<<4)>>2],_[t+20+4>>2]=_[t+4+(c<<4)+4>>2],_[t+20+8>>2]=_[t+4+(c<<4)+8>>2],_[t+20+12>>2]=_[t+4+(c<<4)+12>>2],_[t+100>>2]=_[t+84+(c<<4)>>2],_[t+100+4>>2]=_[t+84+(c<<4)+4>>2],_[t+100+8>>2]=_[t+84+(c<<4)+8>>2],_[t+100+12>>2]=_[t+84+(c<<4)+12>>2],_[t+180>>2]=_[t+164+(c<<4)>>2],_[t+180+4>>2]=_[t+164+(c<<4)+4>>2],_[t+180+8>>2]=_[t+164+(c<<4)+8>>2],_[t+180+12>>2]=_[t+164+(c<<4)+12>>2],A=s,O=27)),26==(0|O)&&(A=t+332|0,c=i,O=27),27!=(0|O)||(u=c+-1|0,1&n[0|A])||(_[t>>2]=u,_[t+4>>2]=_[t+4+(u<<4)>>2],_[t+4+4>>2]=_[t+4+(u<<4)+4>>2],_[t+4+8>>2]=_[t+4+(u<<4)+8>>2],_[t+4+12>>2]=_[t+4+(u<<4)+12>>2],_[t+84>>2]=_[t+84+(u<<4)>>2],_[t+84+4>>2]=_[t+84+(u<<4)+4>>2],_[t+84+8>>2]=_[t+84+(u<<4)+8>>2],_[t+84+12>>2]=_[t+84+(u<<4)+12>>2],_[t+164>>2]=_[t+164+(u<<4)>>2],_[t+164+4>>2]=_[t+164+(u<<4)+4>>2],_[t+164+8>>2]=_[t+164+(u<<4)+8>>2],_[t+164+12>>2]=_[t+164+(u<<4)+12>>2]),i=(o>=0?!(+p[t+336>>2]>=0):1)|!(r>=0)?0:+p[t+348>>2]>=0&1,n[t+312|0]=i,Q=e,0|(t=!!((t=i)<<24>>24));case 4:_[e>>2]=0,_[e+4>>2]=0,_[e+8>>2]=0,_[e+12>>2]=0,n[0|(m=e+16+16|0)]=0,_[t+316>>2]=0,_[t+316+4>>2]=0,_[t+316+8>>2]=0,_[t+316+12>>2]=0,n[t+332|0]=15|f,P=+p[t+20>>2],U=+p[t+4>>2],E=+p[t+24>>2],T=+p[t+8>>2],V=+p[t+28>>2],Y=+p[t+12>>2],L=+p[t+36>>2],H=+p[t+40>>2],c=(J=((E-T)*((G=+p[t+44>>2])-Y)-(V-Y)*(H-T))*((M=+p[t+52>>2])-U)+((V-Y)*(L-U)-(P-U)*(G-Y))*((Z=+p[t+56>>2])-T)+((P-U)*(H-T)-(E-T)*(L-U))*((N=+p[t+60>>2])-Y))*J<9.99999905104687e-9?-1:((0-U)*((E-T)*(G-Y)-(V-Y)*(H-T))+(0-T)*((V-Y)*(L-U)-(P-U)*(G-Y))+((P-U)*(H-T)-(E-T)*(L-U))*(0-Y))*J<0&1,A=(J=(V-Y)*((L-U)*(Z-T)-(H-T)*(M-U))+((P-U)*((H-T)*(N-Y)-(G-Y)*(Z-T))+(E-T)*((G-Y)*(M-U)-(L-U)*(N-Y))))*J<9.99999905104687e-9?-1:((0-Y)*((L-U)*(Z-T)-(H-T)*(M-U))+((0-U)*((H-T)*(N-Y)-(G-Y)*(Z-T))+(0-T)*((G-Y)*(M-U)-(L-U)*(N-Y))))*J<0&1,f=(J=(G-Y)*((E-T)*(M-U)-(P-U)*(Z-T))+((L-U)*((V-Y)*(Z-T)-(E-T)*(N-Y))+(H-T)*((P-U)*(N-Y)-(V-Y)*(M-U))))*J<9.99999905104687e-9?-1:((0-Y)*((E-T)*(M-U)-(P-U)*(Z-T))+((0-U)*((V-Y)*(Z-T)-(E-T)*(N-Y))+(0-T)*((P-U)*(N-Y)-(V-Y)*(M-U))))*J<0&1,u=(T=(Y-V)*((H-E)*(M-P)-(L-P)*(Z-E))+((U-P)*((G-V)*(Z-E)-(H-E)*(N-V))+(T-E)*((L-P)*(N-V)-(G-V)*(M-P))))*T<9.99999905104687e-9?-1:((0-V)*((H-E)*(M-P)-(L-P)*(Z-E))+((0-P)*((G-V)*(Z-E)-(H-E)*(N-V))+(0-E)*((L-P)*(N-V)-(G-V)*(M-P))))*T<0&1;do{if((A|c|f|u)<0)n[t+352|0]=1,i=t+312|0,O=68;else{if(!(A|c|f|u)){if(0|n[t+352|0]){i=t+312|0,O=68;break}n[t+312|0]=1,_[t+276>>2]=0,_[t+276+4>>2]=0,_[t+276+8>>2]=0,_[t+276+12>>2]=0,i=1;break}0|c&&(ai(e,t+4|0,t+20|0,t+36|0,e+16|0),o=+p[e+16>>2],r=+p[e+16+4>>2],a=+p[e+16+8>>2],(l=o-+p[e>>2])*l+(d=r-+p[e+4>>2])*d+(b=a-+p[e+8>>2])*b<34028234663852886e22)?(X=0|_[e+16+12>>2],p[t+316>>2]=o,p[t+320>>2]=r,p[t+324>>2]=a,_[t+328>>2]=X,X=0|n[0|m],n[t+332|0]=1&X|-16&n[t+332|0]|2&X|4&X,X=0|_[e+16+24>>2],c=0|_[e+16+28>>2],_[t+336>>2]=_[e+16+20>>2],_[t+340>>2]=X,_[t+344>>2]=c,p[t+348>>2]=0,o=l*l+d*d+b*b):o=34028234663852886e22,0|A&&(ai(e,t+4|0,t+36|0,t+52|0,e+16|0),h=+p[e+16>>2],y=+p[e+16+4>>2],g=+p[e+16+8>>2],(C=h-+p[e>>2])*C+(v=y-+p[e+4>>2])*v+(S=g-+p[e+8>>2])*S>2],p[t+316>>2]=h,p[t+320>>2]=y,p[t+324>>2]=g,_[t+328>>2]=A,A=0|n[0|m],n[t+332|0]=1&A|-16&n[t+332|0]|A<<1&4|A<<1&8,A=0|_[e+16+24>>2],X=0|_[e+16+28>>2],_[t+336>>2]=_[e+16+20>>2],p[t+340>>2]=0,_[t+344>>2]=A,_[t+348>>2]=X,o=C*C+v*v+S*S),0|f&&(ai(e,t+4|0,t+52|0,t+20|0,e+16|0),w=+p[e+16>>2],k=+p[e+16+4>>2],R=+p[e+16+8>>2],(j=w-+p[e>>2])*j+(D=k-+p[e+4>>2])*D+(I=R-+p[e+8>>2])*I>2],p[t+316>>2]=w,p[t+320>>2]=k,p[t+324>>2]=R,_[t+328>>2]=f,f=0|n[0|m],n[t+332|0]=1&f|-16&n[t+332|0]|(255&f)>>>1&2|f<<2&8,f=0|_[e+16+28>>2],X=0|_[e+16+24>>2],_[t+336>>2]=_[e+16+20>>2],_[t+340>>2]=f,p[t+344>>2]=0,_[t+348>>2]=X,o=j*j+D*D+I*I),0|u&&(ai(e,t+20|0,t+52|0,t+36|0,e+16|0),B=+p[e+16>>2],W=+p[e+16+4>>2],F=+p[e+16+8>>2],(U=B-+p[e>>2])*U+(Y=W-+p[e+4>>2])*Y+(J=F-+p[e+8>>2])*J>2],p[t+316>>2]=B,p[t+320>>2]=W,p[t+324>>2]=F,_[t+328>>2]=u,u=0|n[0|m],n[t+332|0]=4&u|-16&n[t+332|0]|u<<1&2|u<<2&8,u=0|_[e+16+20>>2],m=0|_[e+16+28>>2],X=0|_[e+16+24>>2],p[t+336>>2]=0,_[t+340>>2]=u,_[t+344>>2]=m,_[t+348>>2]=X),N=+p[t+336>>2],L=+p[t+340>>2],J=+p[t+344>>2],o=+p[t+348>>2],E=+p[t+84>>2]*N+ +p[t+100>>2]*L+ +p[t+116>>2]*J+ +p[t+132>>2]*o,Z=N*+p[t+88>>2]+L*+p[t+104>>2]+J*+p[t+120>>2]+o*+p[t+136>>2],Y=N*+p[t+92>>2]+L*+p[t+108>>2]+J*+p[t+124>>2]+o*+p[t+140>>2],p[t+244>>2]=E,p[t+248>>2]=Z,p[t+252>>2]=Y,p[t+256>>2]=0,H=N*+p[t+164>>2]+L*+p[t+180>>2]+J*+p[t+196>>2]+o*+p[t+212>>2],U=N*+p[t+168>>2]+L*+p[t+184>>2]+J*+p[t+200>>2]+o*+p[t+216>>2],J=N*+p[t+172>>2]+L*+p[t+188>>2]+J*+p[t+204>>2]+o*+p[t+220>>2],p[t+260>>2]=H,p[t+264>>2]=U,p[t+268>>2]=J,p[t+272>>2]=0,p[t+276>>2]=E-H,p[t+280>>2]=Z-U,p[t+284>>2]=Y-J,p[t+288>>2]=0,c=0|_[t>>2];do{if((0|c)>3)8&(i=0|n[t+332|0])?(s=t+332|0,A=i,O=52):(s=t+164+(c+-1<<4)|0,A=t+84+(c+-1<<4)|0,O=t+4+(c+-1<<4)|0,_[t>>2]=c+-1,_[t+52>>2]=_[O>>2],_[t+52+4>>2]=_[O+4>>2],_[t+52+8>>2]=_[O+8>>2],_[t+52+12>>2]=_[O+12>>2],_[t+132>>2]=_[A>>2],_[t+132+4>>2]=_[A+4>>2],_[t+132+8>>2]=_[A+8>>2],_[t+132+12>>2]=_[A+12>>2],_[t+212>>2]=_[s>>2],_[t+212+4>>2]=_[s+4>>2],_[t+212+8>>2]=_[s+8>>2],_[t+212+12>>2]=_[s+12>>2],s=t+332|0,A=i,c=c+-1|0,O=52);else{if(3==(0|c)){s=t+332|0,A=0|n[t+332|0],c=3,O=52;break}(0|c)<=1?1==(0|c)&&(i=1,O=59):(i=2,O=55)}}while(0);52==(0|O)&&(i=c+-1|0,4&A?(i=c,O=55):(_[t>>2]=i,_[t+36>>2]=_[t+4+(i<<4)>>2],_[t+36+4>>2]=_[t+4+(i<<4)+4>>2],_[t+36+8>>2]=_[t+4+(i<<4)+8>>2],_[t+36+12>>2]=_[t+4+(i<<4)+12>>2],_[t+116>>2]=_[t+84+(i<<4)>>2],_[t+116+4>>2]=_[t+84+(i<<4)+4>>2],_[t+116+8>>2]=_[t+84+(i<<4)+8>>2],_[t+116+12>>2]=_[t+84+(i<<4)+12>>2],_[t+196>>2]=_[t+164+(i<<4)>>2],_[t+196+4>>2]=_[t+164+(i<<4)+4>>2],_[t+196+8>>2]=_[t+164+(i<<4)+8>>2],_[t+196+12>>2]=_[t+164+(i<<4)+12>>2],O=56)),55==(0|O)&&(s=t+332|0,O=56),56==(0|O)&&(c=i+-1|0,2&n[0|s]?O=59:(_[t>>2]=c,_[t+20>>2]=_[t+4+(c<<4)>>2],_[t+20+4>>2]=_[t+4+(c<<4)+4>>2],_[t+20+8>>2]=_[t+4+(c<<4)+8>>2],_[t+20+12>>2]=_[t+4+(c<<4)+12>>2],_[t+100>>2]=_[t+84+(c<<4)>>2],_[t+100+4>>2]=_[t+84+(c<<4)+4>>2],_[t+100+8>>2]=_[t+84+(c<<4)+8>>2],_[t+100+12>>2]=_[t+84+(c<<4)+12>>2],_[t+180>>2]=_[t+164+(c<<4)>>2],_[t+180+4>>2]=_[t+164+(c<<4)+4>>2],_[t+180+8>>2]=_[t+164+(c<<4)+8>>2],_[t+180+12>>2]=_[t+164+(c<<4)+12>>2],i=c,O=60)),59==(0|O)&&(s=t+332|0,O=60),60!=(0|O)||(x=i+-1|0,1&n[0|s])||(_[t>>2]=x,_[t+4>>2]=_[t+4+(x<<4)>>2],_[t+4+4>>2]=_[t+4+(x<<4)+4>>2],_[t+4+8>>2]=_[t+4+(x<<4)+8>>2],_[t+4+12>>2]=_[t+4+(x<<4)+12>>2],_[t+84>>2]=_[t+84+(x<<4)>>2],_[t+84+4>>2]=_[t+84+(x<<4)+4>>2],_[t+84+8>>2]=_[t+84+(x<<4)+8>>2],_[t+84+12>>2]=_[t+84+(x<<4)+12>>2],_[t+164>>2]=_[t+164+(x<<4)>>2],_[t+164+4>>2]=_[t+164+(x<<4)+4>>2],_[t+164+8>>2]=_[t+164+(x<<4)+8>>2],_[t+164+12>>2]=_[t+164+(x<<4)+12>>2]),i=+p[t+336>>2]>=0&&+p[t+340>>2]>=0&&+p[t+344>>2]>=0?o>=0&1:0,n[t+312|0]=i}}while(0);return 68==(0|O)&&(n[0|i]=0,i=0),Q=e,0|(X=!!((X=i)<<24>>24));default:return n[t+312|0]=0,Q=e,0|(X=!!((X=0)<<24>>24))}return 0}function ui(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c=0,a=0,l=0,A=0,h=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0,At=0,ft=0,ut=0,mt=0,ht=0;if(s=Q,Q=Q+80|0,p[504+(t|=0)>>2]=0,p[t+500>>2]=0,n[t+525|0]=0,n[t+526|0]=0,0|n[t+552|0]&&!(0|n[t+527|0]))return it=(ht=+p[t+556>>2])*(2/(ht*ht+(ut=+p[t+560>>2])*ut+(bt=+p[t+564>>2])*bt+(ft=+p[t+568>>2])*ft)),mt=ut*(2/(ht*ht+ut*ut+bt*bt+ft*ft)),At=bt*(2/(ht*ht+ut*ut+bt*bt+ft*ft)),nt=+p[t+300>>2],Y=+p[e>>2],ot=+p[t+316>>2],J=+p[e+4>>2],_t=+p[t+332>>2],X=+p[e+8>>2],st=+p[t+304>>2],ct=+p[t+320>>2],lt=+p[t+336>>2],$=+p[t+308>>2],tt=+p[t+324>>2],et=+p[t+340>>2],z=+p[e+16>>2],K=+p[e+20>>2],q=+p[e+24>>2],pt=+p[e+32>>2],at=+p[e+36>>2],dt=+p[e+40>>2],w=+p[t+348>>2],S=+p[t+352>>2],v=+p[t+356>>2],D=+p[t+364>>2],A=+p[i>>2],I=+p[t+380>>2],h=+p[i+4>>2],B=+p[t+396>>2],l=+p[i+8>>2],W=+p[t+368>>2],F=+p[t+384>>2],x=+p[t+400>>2],k=+p[t+372>>2],R=+p[t+388>>2],j=+p[t+404>>2],g=+p[i+16>>2],C=+p[i+20>>2],a=+p[i+24>>2],O=+p[i+32>>2],P=+p[i+36>>2],V=+p[i+40>>2],T=+p[t+412>>2],M=+p[t+416>>2],c=+p[t+420>>2],N=(1-(ut*mt+bt*At))*(D*A+I*h+B*l)+(ht*mt+ft*At)*(A*W+h*F+l*x)+(ht*At-ft*mt)*(A*k+h*R+l*j),L=(ht*mt-ft*At)*(D*A+I*h+B*l)+(1-(ht*it+bt*At))*(A*W+h*F+l*x)+(ut*At+ft*it)*(A*k+h*R+l*j),G=(ht*At+ft*mt)*(D*A+I*h+B*l)+(ut*At-ft*it)*(A*W+h*F+l*x)+(1-(ht*it+ut*mt))*(A*k+h*R+l*j),Z=(ht*At-ft*mt)*(k*g+R*C+j*a)+((1-(ut*mt+bt*At))*(D*g+I*C+B*a)+(ht*mt+ft*At)*(W*g+F*C+x*a)),U=(ut*At+ft*it)*(k*g+R*C+j*a)+((ht*mt-ft*At)*(D*g+I*C+B*a)+(1-(ht*it+bt*At))*(W*g+F*C+x*a)),E=(1-(ht*it+ut*mt))*(k*g+R*C+j*a)+((ht*At+ft*mt)*(D*g+I*C+B*a)+(ut*At-ft*it)*(W*g+F*C+x*a)),rt=(ht*At-ft*mt)*(k*O+R*P+j*V)+((1-(ut*mt+bt*At))*(D*O+I*P+B*V)+(ht*mt+ft*At)*(W*O+F*P+x*V)),bt=(ut*At+ft*it)*(k*O+R*P+j*V)+((ht*mt-ft*At)*(D*O+I*P+B*V)+(1-(ht*it+bt*At))*(W*O+F*P+x*V)),it=(1-(ht*it+ut*mt))*(k*O+R*P+j*V)+((ht*At+ft*mt)*(D*O+I*P+B*V)+(ut*At-ft*it)*(W*O+F*P+x*V)),S=(nt*Y+ot*J+_t*X)*(ft=-(+p[e+48>>2]+(Y*w+J*S+X*v)))+(nt*z+ot*K+_t*q)*(At=-(z*w+K*S+q*v+ +p[e+52>>2]))+(nt*pt+ot*at+_t*dt)*(v=-(pt*w+at*S+dt*v+ +p[e+56>>2])),w=(Y*st+J*ct+X*lt)*ft+(st*z+ct*K+lt*q)*At+(st*pt+ct*at+lt*dt)*v,l=(v=(Y*$+J*tt+X*et)*ft+($*z+tt*K+et*q)*At+($*pt+tt*at+et*dt)*v)*G+(S*N+w*L)+(0*(D*A+I*h+B*l)+0*(A*W+h*F+l*x)+0*(A*k+h*R+l*j)+(+p[i+48>>2]+(A*T+h*M+l*c))),a=v*E+(S*Z+w*U)+(0*(k*g+R*C+j*a)+(0*(D*g+I*C+B*a)+0*(W*g+F*C+x*a))+(g*T+C*M+a*c+ +p[i+52>>2])),c=v*it+(S*rt+w*bt)+(0*(k*O+R*P+j*V)+(0*(D*O+I*P+B*V)+0*(W*O+F*P+x*V))+(O*T+P*M+V*c+ +p[i+56>>2])),p[s+16>>2]=(Y*$+J*tt+X*et)*G+((nt*Y+ot*J+_t*X)*N+(Y*st+J*ct+X*lt)*L),p[s+16+4>>2]=($*z+tt*K+et*q)*G+((nt*z+ot*K+_t*q)*N+(st*z+ct*K+lt*q)*L),p[s+16+8>>2]=($*pt+tt*at+et*dt)*G+((nt*pt+ot*at+_t*dt)*N+(st*pt+ct*at+lt*dt)*L),p[s+16+12>>2]=0,p[s+16+16>>2]=(Y*$+J*tt+X*et)*E+((nt*Y+ot*J+_t*X)*Z+(Y*st+J*ct+X*lt)*U),p[s+16+20>>2]=($*z+tt*K+et*q)*E+((nt*z+ot*K+_t*q)*Z+(st*z+ct*K+lt*q)*U),p[s+16+24>>2]=($*pt+tt*at+et*dt)*E+((nt*pt+ot*at+_t*dt)*Z+(st*pt+ct*at+lt*dt)*U),p[s+16+28>>2]=0,p[s+16+32>>2]=(Y*$+J*tt+X*et)*it+((nt*Y+ot*J+_t*X)*rt+(Y*st+J*ct+X*lt)*bt),p[s+16+36>>2]=($*z+tt*K+et*q)*it+((nt*z+ot*K+_t*q)*rt+(st*z+ct*K+lt*q)*bt),p[s+16+40>>2]=($*pt+tt*at+et*dt)*it+((nt*pt+ot*at+_t*dt)*rt+(st*pt+ct*at+lt*dt)*bt),p[s+16+44>>2]=0,p[s+16+48>>2]=l,p[s+16+52>>2]=a,p[s+16+56>>2]=c,p[s+16+60>>2]=0,Qt(s+16|0,s),c=+p[s>>2],a=+p[s+4>>2],l=+p[s+8>>2],+d(+(c*c+a*a+l*l))<1.1920928955078125e-7||(p[t+472>>2]=0,ht=1/+b(+(c*c+a*a+l*l)),p[t+460>>2]=ht*c,p[t+464>>2]=ht*a,p[t+468>>2]=ht*l,ht=+p[s+12>>2],ht=2*+m(+((ht=ht<-1?-1:ht)>1?1:ht)),p[t+504>>2]=ht,+d(+ht)<1.1920928955078125e-7)||(n[t+526|0]=1),void(Q=s);Qt(e,s+16|0),Qt(t+300|0,s),X=+p[s+16+12>>2],z=+p[s>>2],K=+p[s+16>>2],q=+p[s+12>>2],$=+p[s+16+4>>2],tt=+p[s+8>>2],et=+p[s+16+8>>2],it=+p[s+4>>2],Qt(i,s+16|0),Qt(t+364|0,s),a=((S=(z*et+(q*$+X*it)-K*tt)*(lt=-((nt=+p[s+16+12>>2])*(ot=+p[s>>2])+(_t=+p[s+16>>2])*(rt=+p[s+12>>2])+(st=+p[s+16+4>>2])*(pt=+p[s+8>>2])-(ct=+p[s+16+8>>2])*(at=+p[s+4>>2])))+((X*tt+q*et+K*it-z*$)*(nt*rt-ot*_t-st*at-pt*ct)+(X*q-z*K-$*it-tt*et)*(bt=-(nt*pt+rt*ct+_t*at-ot*st)))-(X*z+K*q+$*tt-et*it)*(dt=-(ot*ct+(rt*st+nt*at)-_t*pt)))+0*(w=(X*q-z*K-$*it-tt*et)*(nt*rt-ot*_t-st*at-pt*ct)-(X*z+K*q+$*tt-et*it)*lt-(z*et+(q*$+X*it)-K*tt)*dt-(X*tt+q*et+K*it-z*$)*bt)-0*(C=(X*q-z*K-$*it-tt*et)*lt+(X*z+K*q+$*tt-et*it)*(nt*rt-ot*_t-st*at-pt*ct)+(X*tt+q*et+K*it-z*$)*dt-(z*et+(q*$+X*it)-K*tt)*bt))*-S+(w*(w+0*(v=(X*z+K*q+$*tt-et*it)*bt+((z*et+(q*$+X*it)-K*tt)*(nt*rt-ot*_t-st*at-pt*ct)+(X*q-z*K-$*it-tt*et)*dt)-(X*tt+q*et+K*it-z*$)*lt)-0*S)+(c=-C-0*v-0*S)*-C)-(0*w+0*C-v)*-v,l=(0*w+0*C-v)*-C+(w*(S+0*w-0*C)+c*-v)-(w+0*v-0*S)*-S,(c=(w+0*v-0*S)*-v+(w*(0*w+0*C-v)+c*-S)-(S+0*w-0*C)*-C)*(A=1/+b(+(c*c+(a*a+l*l))))*0+(l*A*0+a*A)<-.9999998807907104?(g=1,h=-0,c=0,a=0):(g=1/(ht=+b(2*(c*A*0+(l*A*0+a*A)+1)))*(a*A*0-c*A),h=1/ht*(c*A*0-l*A*0),c=1/ht*(l*A-a*A*0),a=.5*ht),A=h*(l=1/+b(+(h*h+g*g+c*c+a*a))),k=c*l,J=(S*-(R=g*l)+(C*(l*=a)+w*-A)-v*-k)*(Y=1/+b(+((w*l-C*-A-v*-R-S*-k)*(w*l-C*-A-v*-R-S*-k)+((v*-A+(S*l+w*-k)-C*-R)*(v*-A+(S*l+w*-k)-C*-R)+((S*-R+(C*l+w*-A)-v*-k)*(S*-R+(C*l+w*-A)-v*-k)+(C*-k+(w*-R+v*l)-S*-A)*(C*-k+(w*-R+v*l)-S*-A)))))),a=(C*-k+(w*-R+v*l)-S*-A)*Y,c=(v*-A+(S*l+w*-k)-C*-R)*Y,Y*=w*l-C*-A-v*-R-S*-k,(U=+p[t+444>>2])>=(Z=+p[t+456>>2])&&(j=+p[t+448>>2])>=Z?((S=2*+m(+((S=l<-1?-1:l)>1?1:S)))>1.1920928955078125e-7?(g=1/+b(+(k*k+(A*A+R*R))),+d(+R*g)>1.1920928955078125e-7?(h=A*g,A=k*g,l=R*g,C=+b(+(k*g*(k*g)/(R*g*(R*g))+1)/(k*g*(k*g)/(R*g*(R*g))/(U*U)+1/(j*j)))):(h=A*g,A=k*g,l=R*g,C=U)):(h=0,A=0,l=0,C=0),S>(v=C*(g=+p[t+428>>2]))&&(n[t+526|0]=1,g=S>2]=g,p[t+504>>2]=S-v,+d(+l)>1.1920928955078125e-7&&(ht=+d(j/U*(-A/l)*+l),h*=ht=1/+b(+(h*h+l*l+(A=A<-0?ht:-ht)*A)),A=-A*ht,l*=ht),U=(nt*rt-ot*_t-st*at-pt*ct)*(mt=-h)+(ot*ct+(rt*st+nt*at)-_t*pt)*(At=-A)-(nt*pt+rt*ct+_t*at-ot*st)*(ut=-l),ft=(nt*ot+_t*rt+st*pt-ct*at)*ut+(nt*rt-ot*_t-st*at-pt*ct)*At-(ot*ct+(rt*st+nt*at)-_t*pt)*mt,ut=(ht=(nt*pt+rt*ct+_t*at-ot*st)*mt+(nt*rt-ot*_t-st*at-pt*ct)*ut-(nt*ot+_t*rt+st*pt-ct*at)*At)*bt+((At=-(nt*ot+_t*rt+st*pt-ct*at)*mt-(ot*ct+(rt*st+nt*at)-_t*pt)*ut-(nt*pt+rt*ct+_t*at-ot*st)*At)*lt+(nt*rt-ot*_t-st*at-pt*ct)*U)-ft*dt,mt=ft*lt+((nt*rt-ot*_t-st*at-pt*ct)*ht+At*dt)-U*bt,ht=U*dt+(At*bt+(nt*rt-ot*_t-st*at-pt*ct)*ft)-ht*lt,p[t+460>>2]=ut,p[t+464>>2]=mt,p[t+468>>2]=ht,p[t+472>>2]=0,_[t+536>>2]=0,_[t+536+4>>2]=0,_[t+536+8>>2]=0,_[t+536+12>>2]=0,p[t+492>>2]=1/(ut*(+p[o>>2]*ut+ +p[o+16>>2]*mt+ +p[o+32>>2]*ht)+mt*(ut*+p[o+4>>2]+mt*+p[o+20>>2]+ht*+p[o+36>>2])+ht*(ut*+p[o+8>>2]+mt*+p[o+24>>2]+ht*+p[o+40>>2])+(ut*(ut*+p[r>>2]+mt*+p[r+16>>2]+ht*+p[r+32>>2])+mt*(ut*+p[r+4>>2]+mt*+p[r+20>>2]+ht*+p[r+36>>2])+ht*(ut*+p[r+8>>2]+mt*+p[r+24>>2]+ht*+p[r+40>>2]))))):H=20;t:do{if(20==(0|H)){F=+p[t+300>>2],x=+p[t+316>>2],O=+p[t+332>>2],T=+p[e>>2],P=+p[e+4>>2],M=+p[e+8>>2],V=+p[e+16>>2],G=+p[e+20>>2],N=+p[e+24>>2],L=+p[e+32>>2],E=+p[e+36>>2],S=+p[e+40>>2],w=+p[t+304>>2],k=+p[t+320>>2],R=+p[t+336>>2],j=+p[t+308>>2],D=+p[t+324>>2],I=+p[t+340>>2],g=+p[t+364>>2],l=+p[t+380>>2],v=+p[t+396>>2],l=(F*T+x*P+O*M)*(B=g*+p[i>>2]+l*+p[i+4>>2]+v*+p[i+8>>2])+(F*V+x*G+O*N)*(W=g*+p[i+16>>2]+l*+p[i+20>>2]+v*+p[i+24>>2])+(F*L+x*E+O*S)*(v=g*+p[i+32>>2]+l*+p[i+36>>2]+v*+p[i+40>>2]),g=(T*w+P*k+M*R)*B+(V*w+G*k+N*R)*W+(L*w+E*k+S*R)*v,h=(T*j+P*D+M*I)*B+(V*j+G*D+N*I)*W+(L*j+E*D+S*I)*v;do{if(U>2])>2]=-((F*L+x*E+O*S)*W-(F*V+x*G+O*N)*v),p[t+464>>2]=-((F*T+x*P+O*M)*v-(F*L+x*E+O*S)*B),p[t+468>>2]=-((F*V+x*G+O*N)*B-(F*T+x*P+O*M)*W),p[t+472>>2]=0;break t}if(!(+d(+l)<1.1920928955078125e-7&+d(+h)<1.1920928955078125e-7)&&(n[t+526|0]=1,C>=Z)){if((A=+y(+h,+l))>C){h=+u(+C),A=0,l=+f(+C);break}A<-C?(h=-+u(+C),A=0,l=+f(+C)):A=0}else A=g}else if(!(+d(+l)<1.1920928955078125e-7&+d(+g)<1.1920928955078125e-7)&&(n[t+526|0]=1,U>=Z)){if((A=+y(+g,+l))>U){h=0,A=+u(+U),l=+f(+U);break}A<-U?(h=0,A=-+u(+U),l=+f(+U)):(h=0,A=g)}else A=g}while(0);mt=1/+b(+((At=(L*j+E*D+S*I)*h+((L*w+E*k+S*R)*A+(F*L+x*E+O*S)*l))*At+((ut=(T*j+P*D+M*I)*h+((T*w+P*k+M*R)*A+(F*T+x*P+O*M)*l))*ut+(ft=(V*j+G*D+N*I)*h+((V*w+G*k+N*R)*A+(F*V+x*G+O*N)*l))*ft))),p[t+472>>2]=0,ht=+b(+((W*(At*mt)-v*(ft*mt))*(W*(At*mt)-v*(ft*mt))+(v*(ut*mt)-B*(At*mt))*(v*(ut*mt)-B*(At*mt))+(B*(ft*mt)-W*(ut*mt))*(B*(ft*mt)-W*(ut*mt)))),p[t+504>>2]=ht,p[t+460>>2]=-1/ht*(W*(At*mt)-v*(ft*mt)),p[t+464>>2]=-1/ht*(v*(ut*mt)-B*(At*mt)),p[t+468>>2]=-1/ht*(B*(ft*mt)-W*(ut*mt))}}while(0);if(!((C=+p[t+452>>2])>=0))return p[t+512>>2]=0,void(Q=s);(A=2*+m(+((A=Y<-1?-1:Y)>1?1:A)))>3.1415927410125732?(l=-J,a=-a,c=-c,g=2*+m(+((g=-Y<-1?-1:-Y)>1?1:g))):(l=J,g=A),p[t+512>>2]=g,g>1.1920928955078125e-7?(l*=ht=1/+b(+(l*l+a*a+c*c)),h=c*ht,a*=ht):h=c,g>C*(c=+p[t+428>>2])&&(n[t+525|0]=1,A=g-C*c,c=g>2]=c,p[t+508>>2]=A,J=(nt*rt-ot*_t-st*at-pt*ct)*(mt=-l)+(ot*ct+(rt*st+nt*at)-_t*pt)*(At=-h)-(nt*pt+rt*ct+_t*at-ot*st)*(ut=-a),ft=(nt*ot+_t*rt+st*pt-ct*at)*ut+(nt*rt-ot*_t-st*at-pt*ct)*At-(ot*ct+(rt*st+nt*at)-_t*pt)*mt,ut=(ht=(nt*pt+rt*ct+_t*at-ot*st)*mt+(nt*rt-ot*_t-st*at-pt*ct)*ut-(nt*ot+_t*rt+st*pt-ct*at)*At)*bt+((At=-(nt*ot+_t*rt+st*pt-ct*at)*mt-(ot*ct+(rt*st+nt*at)-_t*pt)*ut-(nt*pt+rt*ct+_t*at-ot*st)*At)*lt+(nt*rt-ot*_t-st*at-pt*ct)*J)-ft*dt,mt=ft*lt+((nt*rt-ot*_t-st*at-pt*ct)*ht+At*dt)-J*bt,ht=J*dt+(At*bt+(nt*rt-ot*_t-st*at-pt*ct)*ft)-ht*lt,p[t+476>>2]=ut,p[t+480>>2]=mt,p[t+484>>2]=ht,p[t+488>>2]=0,p[t+496>>2]=1/(ut*(+p[o>>2]*ut+ +p[o+16>>2]*mt+ +p[o+32>>2]*ht)+mt*(ut*+p[o+4>>2]+mt*+p[o+20>>2]+ht*+p[o+36>>2])+ht*(ut*+p[o+8>>2]+mt*+p[o+24>>2]+ht*+p[o+40>>2])+(ut*(ut*+p[r>>2]+mt*+p[r+16>>2]+ht*+p[r+32>>2])+mt*(ut*+p[r+4>>2]+mt*+p[r+20>>2]+ht*+p[r+36>>2])+ht*(ut*+p[r+8>>2]+mt*+p[r+24>>2]+ht*+p[r+40>>2])))),0|n[t+526|0]?(dt=(X*q-z*K-$*it-tt*et)*(bt=-l)+(z*et+(q*$+X*it)-K*tt)*(At=-h)-(X*tt+q*et+K*it-z*$)*(ht=-a),mt=(X*tt+q*et+K*it-z*$)*bt+(X*q-z*K-$*it-tt*et)*ht-(X*z+K*q+$*tt-et*it)*At,ut=(X*z+K*q+$*tt-et*it)*ht+(X*q-z*K-$*it-tt*et)*At-(z*et+(q*$+X*it)-K*tt)*bt,At=-(X*z+K*q+$*tt-et*it)*bt-(z*et+(q*$+X*it)-K*tt)*ht-(X*tt+q*et+K*it-z*$)*At,ht=-(X*z+K*q+$*tt-et*it),bt=-(z*et+(q*$+X*it)-K*tt),ft=-(X*tt+q*et+K*it-z*$),p[t+536>>2]=mt*ft+(At*ht+(X*q-z*K-$*it-tt*et)*dt)-ut*bt,p[t+540>>2]=ut*ht+((X*q-z*K-$*it-tt*et)*mt+At*bt)-dt*ft,p[t+544>>2]=dt*bt+(At*ft+(X*q-z*K-$*it-tt*et)*ut)-mt*ht,p[t+548>>2]=0,Q=s):Q=s}function mi(t,e,i,r,s,c){t|=0,e|=0,i|=0,s|=0,c=+c;var a,l,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,N=0,L=0;if(l=Q,Q=Q+896|0,W=0|_[4+(r|=0)>>2],a=0|_[r+12>>2],(0|(d=0|_[W+4>>2]))<20)return _[l+712>>2]=4536,_[l+712+168>>2]=0,p[l+712+172>>2]=c,_[l+712+164>>2]=_[s+4>>2],p[l+352+308>>2]=9999999747378752e-20,n[l+352+332|0]=0,_[l+288>>2]=10116,_[l+64>>2]=10184,_[l+64+4>>2]=l+352,_[l+64+8>>2]=l+288,_[l+64+12>>2]=t,_[l+64+16>>2]=W,_[l+64+20>>2]=0,0|Ie(l+64|0,e,i,a,a,l+712|0)&&(h=+p[(S=l+712+132|0)>>2])*h+(y=+p[l+712+136>>2])*y+(g=+p[l+712+140>>2])*g>9999999747378752e-20&&(C=+p[l+712+164>>2])<+p[s+4>>2]&&(c=1/+b(+(h*h+y*y+g*g)),p[S>>2]=h*c,p[l+712+136>>2]=y*c,p[l+712+140>>2]=g*c,_[l+16>>2]=_[r+8>>2],_[l+16+4>>2]=0,_[l+16+8>>2]=_[S>>2],_[l+16+8+4>>2]=_[S+4>>2],_[l+16+8+8>>2]=_[S+8>>2],_[l+16+8+12>>2]=_[S+12>>2],_[l+16+24>>2]=_[l+712+148>>2],_[l+16+24+4>>2]=_[l+712+148+4>>2],_[l+16+24+8>>2]=_[l+712+148+8>>2],_[l+16+24+12>>2]=_[l+712+148+12>>2],p[l+16+40>>2]=C,Fl[15&_[12+(0|_[s>>2])>>2]](s,l+16|0,1)),void(Q=l);if((d+-21|0)>>>0>=9){if(31!=(0|d))return void(Q=l);if($i(17609),(0|_[W+16>>2])>0){d=0;do{v=0|_[W+24>>2],A=+p[v+(80*d|0)>>2],m=+p[v+(80*d|0)+4>>2],g=+p[v+(80*d|0)+8>>2],f=+p[v+(80*d|0)+16>>2],h=+p[v+(80*d|0)+20>>2],w=+p[v+(80*d|0)+24>>2],u=+p[v+(80*d|0)+32>>2],y=+p[v+(80*d|0)+36>>2],R=+p[v+(80*d|0)+40>>2],N=+p[v+(80*d|0)+48>>2],V=+p[v+(80*d|0)+52>>2],B=+p[v+(80*d|0)+56>>2],v=0|_[v+(80*d|0)+64>>2],M=+p[a>>2],P=+p[a+4>>2],T=+p[a+8>>2],O=+p[a+16>>2],x=+p[a+20>>2],F=+p[a+24>>2],C=+p[a+32>>2],k=+p[a+36>>2],j=+p[a+40>>2],D=N*M+V*P+B*T+ +p[a+48>>2],I=N*O+V*x+B*F+ +p[a+52>>2],B=N*C+V*k+B*j+ +p[a+56>>2],p[l+712>>2]=A*M+f*P+u*T,p[l+712+4>>2]=m*M+h*P+y*T,p[l+712+8>>2]=g*M+w*P+R*T,p[l+712+12>>2]=0,p[l+712+16>>2]=A*O+f*x+u*F,p[l+712+20>>2]=m*O+h*x+y*F,p[l+712+24>>2]=g*O+w*x+R*F,p[l+712+28>>2]=0,p[l+712+32>>2]=A*C+f*k+u*j,p[l+712+36>>2]=m*C+h*k+y*j,p[l+712+40>>2]=g*C+w*k+R*j,p[l+712+44>>2]=0,p[l+712+48>>2]=D,p[l+712+52>>2]=I,p[l+712+56>>2]=B,p[l+712+60>>2]=0,o[l+352+8>>1]=1,o[l+352+10>>1]=-1,_[l+352>>2]=6808,_[l+352+12>>2]=s,_[l+352+16>>2]=d,_[l+352+4>>2]=_[s+4>>2],S=0|_[r+8>>2],_[l+288>>2]=r,_[l+288+4>>2]=v,_[l+288+8>>2]=S,_[l+288+12>>2]=l+712,_[l+288+16>>2]=-1,_[l+288+20>>2]=d,mi(t,e,i,l+288|0,l+352|0,c),d=d+1|0}while((0|d)<(0|_[W+16>>2]))}if(d=0|_[2606],W=(0|_[d+16>>2])-1|0,_[d+16>>2]=W,0|W)return void(Q=l);do{if(0|_[d+4>>2]){if(G(l+712|0,0),W=0|_[6629],p[d+8>>2]=+p[d+8>>2]+ +(((0|_[l+712+4>>2])-(0|_[W+4>>2])+(1e6*((0|_[l+712>>2])-(0|_[W>>2])|0)|0)-(0|_[d+12>>2])|0)>>>0)/1e3,0|_[d+16>>2])return void(Q=l);d=0|_[2606];break}}while(0);return _[2606]=_[d+20>>2],void(Q=l)}switch(0|d){case 21:return m=+p[a>>2],h=+p[a+16>>2],y=+p[a+32>>2],g=+p[a+4>>2],C=+p[a+20>>2],w=+p[a+36>>2],k=+p[a+8>>2],R=+p[a+24>>2],j=+p[a+40>>2],D=-+p[a+48>>2],I=-+p[a+52>>2],B=-+p[a+56>>2],u=+p[e+48>>2],f=+p[e+52>>2],A=+p[e+56>>2],p[l+352>>2]=m*D+h*I+y*B+(m*u+h*f+y*A),p[l+352+4>>2]=g*D+C*I+w*B+(g*u+C*f+w*A),p[l+352+8>>2]=k*D+R*I+j*B+(k*u+R*f+j*A),p[l+352+12>>2]=0,A=+p[i+48>>2],f=+p[i+52>>2],u=+p[i+56>>2],L=+p[i>>2],F=+p[i+16>>2],x=+p[i+32>>2],O=+p[i+4>>2],T=+p[i+20>>2],P=+p[i+36>>2],M=+p[i+8>>2],V=+p[i+24>>2],N=+p[i+40>>2],p[l+288>>2]=m*L+h*F+y*x,p[l+288+4>>2]=m*O+h*T+y*P,p[l+288+8>>2]=m*M+h*V+y*N,p[l+288+12>>2]=0,p[l+288+16>>2]=g*L+C*F+w*x,p[l+288+20>>2]=g*O+C*T+w*P,p[l+288+24>>2]=g*M+C*V+w*N,p[l+288+28>>2]=0,p[l+288+32>>2]=k*L+R*F+j*x,p[l+288+36>>2]=k*O+R*T+j*P,p[l+288+40>>2]=k*M+R*V+j*N,_[(d=l+288+44|0)>>2]=0,_[d+4>>2]=0,_[d+8>>2]=0,_[d+12>>2]=0,_[d+16>>2]=0,d=0|_[r+8>>2],N=+Il[15&_[48+(0|_[W>>2])>>2]](W),_[l+64>>2]=10044,_[l+64+4>>2]=t,_[l+64+8>>2]=_[e>>2],_[l+64+8+4>>2]=_[e+4>>2],_[l+64+8+8>>2]=_[e+8>>2],_[l+64+8+12>>2]=_[e+12>>2],_[l+64+24>>2]=_[e+16>>2],_[l+64+24+4>>2]=_[e+16+4>>2],_[l+64+24+8>>2]=_[e+16+8>>2],_[l+64+24+12>>2]=_[e+16+12>>2],_[l+64+40>>2]=_[e+32>>2],_[l+64+40+4>>2]=_[e+32+4>>2],_[l+64+40+8>>2]=_[e+32+8>>2],_[l+64+40+12>>2]=_[e+32+12>>2],_[l+64+56>>2]=_[e+48>>2],_[l+64+56+4>>2]=_[e+48+4>>2],_[l+64+56+8>>2]=_[e+48+8>>2],_[l+64+56+12>>2]=_[e+48+12>>2],_[l+64+72>>2]=_[i>>2],_[l+64+72+4>>2]=_[i+4>>2],_[l+64+72+8>>2]=_[i+8>>2],_[l+64+72+12>>2]=_[i+12>>2],_[l+64+88>>2]=_[i+16>>2],_[l+64+88+4>>2]=_[i+16+4>>2],_[l+64+88+8>>2]=_[i+16+8>>2],_[l+64+88+12>>2]=_[i+16+12>>2],_[l+64+104>>2]=_[i+32>>2],_[l+64+104+4>>2]=_[i+32+4>>2],_[l+64+104+8>>2]=_[i+32+8>>2],_[l+64+104+12>>2]=_[i+32+12>>2],_[l+64+120>>2]=_[i+48>>2],_[l+64+120+4>>2]=_[i+48+4>>2],_[l+64+120+8>>2]=_[i+48+8>>2],_[l+64+120+12>>2]=_[i+48+12>>2],_[l+64+136>>2]=_[a>>2],_[l+64+136+4>>2]=_[a+4>>2],_[l+64+136+8>>2]=_[a+8>>2],_[l+64+136+12>>2]=_[a+12>>2],_[l+64+152>>2]=_[a+16>>2],_[l+64+152+4>>2]=_[a+16+4>>2],_[l+64+152+8>>2]=_[a+16+8>>2],_[l+64+152+12>>2]=_[a+16+12>>2],_[l+64+168>>2]=_[a+32>>2],_[l+64+168+4>>2]=_[a+32+4>>2],_[l+64+168+8>>2]=_[a+32+8>>2],_[l+64+168+12>>2]=_[a+32+12>>2],_[l+64+184>>2]=_[a+48>>2],_[l+64+184+4>>2]=_[a+48+4>>2],_[l+64+184+8>>2]=_[a+48+8>>2],_[l+64+184+12>>2]=_[a+48+12>>2],p[l+64+204>>2]=N,_[l+64>>2]=6760,_[l+64+212>>2]=s,_[l+64+216>>2]=d,_[l+64+220>>2]=W,_[l+64+200>>2]=_[s+4>>2],p[l+64+208>>2]=c,pd[127&_[8+(0|_[t>>2])>>2]](t,l+288|0,l+16|0,l),d=0|_[W+48>>2],_[l+712>>2]=7800,_[l+712+4>>2]=d,_[l+712+8>>2]=l+64,d=0|_[W+52>>2],0|n[d+60|0]?Ee(d,l+712|0,l+352|0,m*D+h*I+y*B+(m*A+h*f+y*u),g*D+C*I+w*B+(g*A+C*f+w*u),k*D+R*I+j*B+(k*A+R*f+j*u),l+16|0,l,0|_[d+56>>2]):$e(d,l+712|0,l+352|0,m*D+h*I+y*B+(m*A+h*f+y*u),g*D+C*I+w*B+(g*A+C*f+w*u),k*D+R*I+j*B+(k*A+R*f+j*u),l+16|0,l),void(Q=l);case 28:return _[l+712>>2]=4536,_[l+712+168>>2]=0,p[l+712+172>>2]=c,_[l+712+164>>2]=_[s+4>>2],_[l+352>>2]=10184,_[l+352+4>>2]=0,_[l+352+8>>2]=0,_[l+352+12>>2]=t,_[l+352+16>>2]=0,_[l+352+20>>2]=W,0|Ie(l+352|0,e,i,a,a,l+712|0)&&(A=+p[(v=l+712+132|0)>>2])*A+(f=+p[l+712+136>>2])*f+(u=+p[l+712+140>>2])*u>9999999747378752e-20&&(m=+p[l+712+164>>2])<+p[s+4>>2]&&(L=1/+b(+(A*A+f*f+u*u)),p[v>>2]=A*L,p[l+712+136>>2]=f*L,p[l+712+140>>2]=u*L,_[l+288>>2]=_[r+8>>2],_[l+288+4>>2]=0,_[l+288+8>>2]=_[v>>2],_[l+288+8+4>>2]=_[v+4>>2],_[l+288+8+8>>2]=_[v+8>>2],_[l+288+8+12>>2]=_[v+12>>2],_[l+288+24>>2]=_[l+712+148>>2],_[l+288+24+4>>2]=_[l+712+148+4>>2],_[l+288+24+8>>2]=_[l+712+148+8>>2],_[l+288+24+12>>2]=_[l+712+148+12>>2],p[l+288+40>>2]=m,Fl[15&_[12+(0|_[s>>2])>>2]](s,l+288|0,1)),void(Q=l);default:return m=+p[a>>2],h=+p[a+16>>2],y=+p[a+32>>2],k=+p[a+4>>2],R=+p[a+20>>2],j=+p[a+36>>2],T=+p[a+8>>2],M=+p[a+24>>2],N=+p[a+40>>2],u=m*(x=-+p[a+48>>2])+h*(F=-+p[a+52>>2])+y*(B=-+p[a+56>>2])+(m*(D=+p[e+48>>2])+h*(I=+p[e+52>>2])+y*(A=+p[e+56>>2])),f=k*x+R*F+j*B+(k*D+R*I+j*A),A=T*x+M*F+N*B+(T*D+M*I+N*A),g=m*x+h*F+y*B+(m*(I=+p[i+48>>2])+h*(D=+p[i+52>>2])+y*(w=+p[i+56>>2])),C=k*x+R*F+j*B+(k*I+R*D+j*w),w=T*x+M*F+N*B+(T*I+M*D+N*w),D=+p[i>>2],I=+p[i+16>>2],B=+p[i+32>>2],F=+p[i+4>>2],x=+p[i+20>>2],O=+p[i+36>>2],P=+p[i+8>>2],V=+p[i+24>>2],L=+p[i+40>>2],p[l+712>>2]=m*D+h*I+y*B,p[l+712+4>>2]=m*F+h*x+y*O,p[l+712+8>>2]=m*P+h*V+y*L,p[l+712+12>>2]=0,p[l+712+16>>2]=k*D+R*I+j*B,p[l+712+20>>2]=k*F+R*x+j*O,p[l+712+24>>2]=k*P+R*V+j*L,p[l+712+28>>2]=0,p[l+712+32>>2]=T*D+M*I+N*B,p[l+712+36>>2]=T*F+M*x+N*O,p[l+712+40>>2]=T*P+M*V+N*L,_[(S=l+712+44|0)>>2]=0,_[S+4>>2]=0,_[S+8>>2]=0,_[S+12>>2]=0,_[S+16>>2]=0,r=0|_[r+8>>2],L=+Il[15&_[48+(0|_[W>>2])>>2]](W),_[l+352>>2]=10044,_[l+352+4>>2]=t,_[l+352+8>>2]=_[e>>2],_[l+352+8+4>>2]=_[e+4>>2],_[l+352+8+8>>2]=_[e+8>>2],_[l+352+8+12>>2]=_[e+12>>2],_[l+352+24>>2]=_[e+16>>2],_[l+352+24+4>>2]=_[e+16+4>>2],_[l+352+24+8>>2]=_[e+16+8>>2],_[l+352+24+12>>2]=_[e+16+12>>2],_[l+352+40>>2]=_[e+32>>2],_[l+352+40+4>>2]=_[e+32+4>>2],_[l+352+40+8>>2]=_[e+32+8>>2],_[l+352+40+12>>2]=_[e+32+12>>2],_[l+352+56>>2]=_[e+48>>2],_[l+352+56+4>>2]=_[e+48+4>>2],_[l+352+56+8>>2]=_[e+48+8>>2],_[l+352+56+12>>2]=_[e+48+12>>2],_[l+352+72>>2]=_[i>>2],_[l+352+72+4>>2]=_[i+4>>2],_[l+352+72+8>>2]=_[i+8>>2],_[l+352+72+12>>2]=_[i+12>>2],_[l+352+88>>2]=_[i+16>>2],_[l+352+88+4>>2]=_[i+16+4>>2],_[l+352+88+8>>2]=_[i+16+8>>2],_[l+352+88+12>>2]=_[i+16+12>>2],_[l+352+104>>2]=_[i+32>>2],_[l+352+104+4>>2]=_[i+32+4>>2],_[l+352+104+8>>2]=_[i+32+8>>2],_[l+352+104+12>>2]=_[i+32+12>>2],_[l+352+120>>2]=_[i+48>>2],_[l+352+120+4>>2]=_[i+48+4>>2],_[l+352+120+8>>2]=_[i+48+8>>2],_[l+352+120+12>>2]=_[i+48+12>>2],_[l+352+136>>2]=_[a>>2],_[l+352+136+4>>2]=_[a+4>>2],_[l+352+136+8>>2]=_[a+8>>2],_[l+352+136+12>>2]=_[a+12>>2],_[l+352+152>>2]=_[a+16>>2],_[l+352+152+4>>2]=_[a+16+4>>2],_[l+352+152+8>>2]=_[a+16+8>>2],_[l+352+152+12>>2]=_[a+16+12>>2],_[l+352+168>>2]=_[a+32>>2],_[l+352+168+4>>2]=_[a+32+4>>2],_[l+352+168+8>>2]=_[a+32+8>>2],_[l+352+168+12>>2]=_[a+32+12>>2],_[l+352+184>>2]=_[a+48>>2],_[l+352+184+4>>2]=_[a+48+4>>2],_[l+352+184+8>>2]=_[a+48+8>>2],_[l+352+184+12>>2]=_[a+48+12>>2],p[l+352+204>>2]=L,_[l+352>>2]=6784,_[l+352+212>>2]=s,_[l+352+216>>2]=r,_[l+352+220>>2]=W,_[l+352+200>>2]=_[s+4>>2],p[l+352+208>>2]=c,pd[127&_[8+(0|_[t>>2])>>2]](t,l+712|0,l+288|0,l+64|0),p[l+16>>2]=u,p[l+16+4>>2]=f,p[l+16+8>>2]=A,p[l+16+12>>2]=0,g>2]=g,m=g):m=u,C>2]=C,h=C):h=f,w>2]=w,y=w):y=A,p[l>>2]=u,p[l+4>>2]=f,p[l+8>>2]=A,p[l+12>>2]=0,u>2]=g,u=g),f>2]=C,f=C),A>2]=w,A=w),p[l+16>>2]=+p[l+288>>2]+m,p[l+16+4>>2]=+p[l+288+4>>2]+h,p[l+16+8>>2]=+p[l+288+8>>2]+y,p[l>>2]=+p[l+64>>2]+u,p[l+4>>2]=+p[l+64+4>>2]+f,p[l+8>>2]=+p[l+64+8>>2]+A,pd[127&_[64+(0|_[W>>2])>>2]](W,l+352|0,l+16|0,l),void(Q=l)}}function hi(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0;c=Q,Q=Q+112|0,_[164+(t|=0)>>2]=1065353216,_[t+168>>2]=1065353216,_[t+172>>2]=1065353216,p[t+176>>2]=0,_[t+180>>2]=0,p[t+184>>2]=0xde0b6b000000000,_[t+188>>2]=0,_[t+188+4>>2]=0,_[t+188+8>>2]=0,_[t+188+12>>2]=0,_[t+204>>2]=1,_[t+208>>2]=-1,_[t+212>>2]=-1,_[t+216>>2]=1,p[t+220>>2]=0,p[t+224>>2]=.5,p[t+228>>2]=0,p[t+232>>2]=0,_[t+236>>2]=1,_[t+240>>2]=0,p[t+244>>2]=1,_[t+248>>2]=0,_[t+248+4>>2]=0,_[t+248+8>>2]=0,_[t+248+12>>2]=0,_[t+4>>2]=1065353216,_[t+8>>2]=0,_[t+8+4>>2]=0,_[t+8+8>>2]=0,_[t+8+12>>2]=0,_[t+24>>2]=1065353216,_[t+28>>2]=0,_[t+28+4>>2]=0,_[t+28+8>>2]=0,_[t+28+12>>2]=0,_[t+44>>2]=1065353216,_[t+48>>2]=0,_[t+48+4>>2]=0,_[t+48+8>>2]=0,_[t+48+12>>2]=0,_[t+48+16>>2]=0,_[t>>2]=4028,n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[t+272>>2]=0,_[t+284>>2]=0,n[t+408|0]=1,_[t+404>>2]=0,_[t+396>>2]=0,_[t+400>>2]=0,n[t+428|0]=1,_[t+424>>2]=0,_[t+416>>2]=0,_[t+420>>2]=0,n[t+448|0]=1,_[t+444>>2]=0,_[t+436>>2]=0,_[t+440>>2]=0,n[t+496|0]=1,_[t+492>>2]=0,_[t+484>>2]=0,_[t+488>>2]=0,n[t+516|0]=1,_[t+512>>2]=0,_[t+504>>2]=0,_[t+508>>2]=0,_[t+684>>2]=e,n[t+704|0]=1,_[t+700>>2]=0,_[t+692>>2]=0,_[t+696>>2]=0,n[t+724|0]=1,_[t+720>>2]=0,_[t+712>>2]=0,_[t+716>>2]=0,n[t+744|0]=1,_[t+740>>2]=0,_[t+732>>2]=0,_[t+736>>2]=0,n[t+764|0]=1,_[t+760>>2]=0,_[t+752>>2]=0,_[t+756>>2]=0,n[t+784|0]=1,_[t+780>>2]=0,_[t+772>>2]=0,_[t+776>>2]=0,n[t+804|0]=1,_[t+800>>2]=0,_[t+792>>2]=0,_[t+796>>2]=0,n[t+824|0]=1,_[t+820>>2]=0,_[t+812>>2]=0,_[t+816>>2]=0,n[t+844|0]=1,_[t+840>>2]=0,_[t+832>>2]=0,_[t+836>>2]=0,n[t+864|0]=1,_[t+860>>2]=0,_[t+852>>2]=0,_[t+856>>2]=0,n[t+884|0]=1,_[t+880>>2]=0,_[t+872>>2]=0,_[t+876>>2]=0,n[t+964|0]=1,_[t+960>>2]=0,_[t+952>>2]=0,_[t+956>>2]=0,n[t+984|0]=1,_[t+980>>2]=0,_[t+972>>2]=0,_[t+976>>2]=0,_[t+928>>2]=0,_[t+932>>2]=0,_[t+936>>2]=-1,_[t+940>>2]=0,_[t+944>>2]=0,n[t+1024|0]=1,_[t+1020>>2]=0,_[t+1012>>2]=0,_[t+1016>>2]=0,n[t+1044|0]=1,_[t+1040>>2]=0,_[t+1032>>2]=0,_[t+1036>>2]=0,_[t+988>>2]=0,_[t+992>>2]=0,_[t+996>>2]=-1,_[t+1e3>>2]=0,_[t+1004>>2]=0,n[t+1084|0]=1,_[t+1080>>2]=0,_[t+1072>>2]=0,_[t+1076>>2]=0,n[t+1104|0]=1,_[t+1100>>2]=0,_[t+1092>>2]=0,_[t+1096>>2]=0,_[t+1048>>2]=0,_[t+1052>>2]=0,_[t+1056>>2]=-1,_[t+1060>>2]=0,_[t+1064>>2]=0,n[t+1124|0]=1,_[t+1120>>2]=0,_[t+1112>>2]=0,_[t+1116>>2]=0,n[t+1144|0]=1,_[t+1140>>2]=0,_[t+1132>>2]=0,_[t+1136>>2]=0,n[t+1248|0]=1,_[t+1244>>2]=0,_[t+1236>>2]=0,_[t+1240>>2]=0,_[t+236>>2]=8,_[t+288>>2]=0,p[t+292>>2]=1,_[t+296>>2]=0,_[t+296+4>>2]=0,_[t+296+8>>2]=0,_[t+296+12>>2]=0,_[t+296+16>>2]=0,p[t+316>>2]=.20000000298023224,p[t+320>>2]=0,p[t+324>>2]=1,p[t+328>>2]=.10000000149011612,p[t+332>>2]=1,p[t+336>>2]=.699999988079071,p[t+340>>2]=.10000000149011612,p[t+344>>2]=1,p[t+348>>2]=.5,p[t+352>>2]=.5,p[t+356>>2]=.5,p[t+360>>2]=.5,p[t+364>>2]=1,p[t+368>>2]=1,_[t+372>>2]=0,_[t+376>>2]=1,_[t+380>>2]=0,_[t+384>>2]=4,_[t+388>>2]=1,n[t+472|0]=0,n[t+473|0]=0,p[t+476>>2]=0,_[t+520>>2]=0,_[t+520+4>>2]=0,_[t+520+8>>2]=0,_[t+520+12>>2]=0,_[t+536>>2]=1065353216,_[t+540>>2]=0,_[t+540+4>>2]=0,_[t+540+8>>2]=0,_[t+540+12>>2]=0,_[t+556>>2]=1065353216,_[t+560>>2]=0,_[t+560+4>>2]=0,_[t+560+8>>2]=0,_[t+560+12>>2]=0,_[t+576>>2]=1065353216,p[t+580>>2]=0,_[t+584>>2]=1065353216,_[t+588>>2]=0,_[t+588+4>>2]=0,_[t+588+8>>2]=0,_[t+588+12>>2]=0,_[t+604>>2]=1065353216,_[t+608>>2]=0,_[t+608+4>>2]=0,_[t+608+8>>2]=0,_[t+608+12>>2]=0,_[t+624>>2]=1065353216,p[t+628>>2]=0,_[t+680>>2]=0,p[t+888>>2]=0,n[t+924|0]=1,_[t+892>>2]=0,_[t+892+4>>2]=0,_[t+892+8>>2]=0,_[t+892+12>>2]=0,_[t+892+16>>2]=0,_[t+892+20>>2]=0,_[t+892+24>>2]=0,_[t+892+28>>2]=0,_[t+4>>2]=1065353216,_[t+8>>2]=0,_[t+8+4>>2]=0,_[t+8+8>>2]=0,_[t+8+12>>2]=0,_[t+24>>2]=1065353216,_[t+28>>2]=0,_[t+28+4>>2]=0,_[t+28+8>>2]=0,_[t+28+12>>2]=0,_[t+44>>2]=1065353216,_[t+48>>2]=0,_[t+48+4>>2]=0,_[t+48+8>>2]=0,_[t+48+12>>2]=0,_[t+48+16>>2]=0,0|(e=0|_[t+404>>2])&&(0|n[t+408|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+404>>2]=0),n[t+408|0]=1,_[t+404>>2]=0,_[t+396>>2]=0,_[t+400>>2]=0,0|(e=0|_[t+424>>2])&&(0|n[t+428|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+424>>2]=0),n[t+428|0]=1,_[t+424>>2]=0,_[t+416>>2]=0,_[t+420>>2]=0,e=0|_[t+444>>2];do{if(e){if(!(0|n[t+448|0])){_[t+444>>2]=0,n[t+448|0]=1,_[t+444>>2]=0,_[t+436>>2]=0,_[t+440>>2]=0,l=1,v=17;break}_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+416>>2],l=0|_[t+420>>2],_[t+444>>2]=0,n[t+448|0]=1,_[t+444>>2]=0,_[t+436>>2]=0,_[t+440>>2]=0,(0|e)==(0|l)?l?(0|l)>2]=0,_[t+436>>2]=0,_[t+440>>2]=0,l=1,v=17}while(0);if(17==(0|v)&&(_[6630]=1+(0|_[6630]),(e=0|di(16+(l<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,a=0|_[t+416>>2],b=l,v=20),20==(0|v)){if(d=0|_[t+424>>2],(0|a)<=0)d&&(v=24);else{l=0;do{_[e+(l<<2)>>2]=_[d+(l<<2)>>2],l=l+1|0}while((0|l)!=(0|a));v=24}24==(0|v)&&(0|n[t+428|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[d+-4>>2]),a=0|_[t+416>>2]),_[t+424>>2]=0),n[t+428|0]=1,_[t+424>>2]=e,_[t+420>>2]=b,e=b}if(l=0|_[t+424>>2],_[l+(a<<2)>>2]=1,a=a+1|0,_[t+416>>2]=a,(0|a)==(0|e))if((0|e)<(0|(b=0|e?e<<1:1))){if(b?(_[6630]=1+(0|_[6630]),(e=0|di(16+(b<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,d=e,e=0|_[t+416>>2],l=0|_[t+424>>2]):d=0,(0|e)<=0)l&&(v=38);else{a=0;do{_[d+(a<<2)>>2]=_[l+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|e));v=38}38==(0|v)&&(0|n[t+428|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2]),e=0|_[t+416>>2]),_[t+424>>2]=0),n[t+428|0]=1,_[t+424>>2]=d,_[t+420>>2]=b,l=d,a=e,e=b}else a=e;if(_[l+(a<<2)>>2]=2,a=a+1|0,_[t+416>>2]=a,(0|a)==(0|e))if((0|e)<(0|(b=0|e?e<<1:1))){if(b?(_[6630]=1+(0|_[6630]),(e=0|di(16+(b<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,d=e,e=0|_[t+416>>2],l=0|_[t+424>>2]):d=0,(0|e)<=0)l&&(v=52);else{a=0;do{_[d+(a<<2)>>2]=_[l+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|e));v=52}52==(0|v)&&(0|n[t+428|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2]),e=0|_[t+416>>2]),_[t+424>>2]=0),n[t+428|0]=1,_[t+424>>2]=d,_[t+420>>2]=b,a=e,e=b}else d=l,a=e;else d=l;if(_[d+(a<<2)>>2]=3,a=a+1|0,_[t+416>>2]=a,(0|a)==(0|e))if((0|e)<(0|(b=0|e?e<<1:1))){if(b?(_[6630]=1+(0|_[6630]),(e=0|di(16+(b<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,l=e,e=0|_[t+416>>2],d=0|_[t+424>>2]):l=0,(0|e)<=0)d&&(v=66);else{a=0;do{_[l+(a<<2)>>2]=_[d+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|e));v=66}66==(0|v)&&(0|n[t+428|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[d+-4>>2]),e=0|_[t+416>>2]),_[t+424>>2]=0),n[t+428|0]=1,_[t+424>>2]=l,_[t+420>>2]=b}else l=d;else l=d,e=a;_[l+(e<<2)>>2]=0,_[t+416>>2]=e+1,_[6630]=1+(0|_[6630]),(e=0|di(39))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,_[e+8>>2]=0,_[e>>2]=4136,_[e+4>>2]=32,_[e+16>>2]=t,_[t+192>>2]=e,p[e+12>>2]=.25,_[t+1148>>2]=1065353216,_[t+1152>>2]=0,_[t+1152+4>>2]=0,_[t+1152+8>>2]=0,_[t+1152+12>>2]=0,_[t+1168>>2]=1065353216,_[t+1172>>2]=0,_[t+1172+4>>2]=0,_[t+1172+8>>2]=0,_[t+1172+12>>2]=0,_[t+1188>>2]=1065353216,w=36+(S=t+1192|0)|0;do{_[S>>2]=0,S=S+4|0}while((0|S)<(0|w));p[t+1228>>2]=1,s=0|Vt(t),p[s+4>>2]=1,p[s+8>>2]=1,p[s+12>>2]=1,_[s+16>>2]=1,S=0|_[t+192>>2],k=+Il[15&_[48+(0|_[S>>2])>>2]](S),w=(S=c)+100|0;do{_[S>>2]=0,S=S+4|0}while((0|S)<(0|w));if((0|(b=0|_[t+712>>2]))<(0|i)){if((0|_[t+716>>2])<(0|i)){if(i?(_[6630]=1+(0|_[6630]),(e=0|di(16+(104*i|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,l=0|_[t+712>>2]):(e=0,l=b),(0|l)>0){a=0;do{S=e+(104*a|0)|0,d=(0|_[t+720>>2])+(104*a|0)|0,w=S+104|0;do{_[S>>2]=_[d>>2],S=S+4|0,d=d+4|0}while((0|S)<(0|w));a=a+1|0}while((0|a)!=(0|l))}0|(a=0|_[t+720>>2])&&(0|n[t+724|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+720>>2]=0),n[t+724|0]=1,_[t+720>>2]=e,_[t+716>>2]=i}e=b;do{S=0|_[t+720>>2],_[S+(104*e|0)>>2]=0,d=c,w=100+(S=S+(104*e|0)+4|0)|0;do{_[S>>2]=_[d>>2],S=S+4|0,d=d+4|0}while((0|S)<(0|w));e=e+1|0}while((0|e)!=(0|i))}if(_[t+712>>2]=i,(0|i)>0)for(e=o,a=r,d=0;;){w=104+(S=o=(v=0|_[t+720>>2])+(104*d|0)|0)|0;do{_[S>>2]=0,S=S+4|0}while((0|S)<(0|w));if(e?(b=e+16|0,A=+p[e+12>>2],f=+p[e>>2],u=+p[e+4>>2],m=+p[e+8>>2]):(b=0,A=0,f=0,u=0,m=0),p[(w=v+(104*d|0)+8|0)>>2]=f,p[v+(104*d|0)+12>>2]=u,p[v+(104*d|0)+16>>2]=m,p[v+(104*d|0)+20>>2]=A,_[(r=v+(104*d|0)+24|0)>>2]=_[w>>2],_[r+4>>2]=_[w+4>>2],_[r+8>>2]=_[w+8>>2],_[r+12>>2]=_[w+12>>2],a?(l=a+4|0,A=+p[a>>2]):(l=0,A=1),p[v+(104*d|0)+88>>2]=A>0?1/A:0,y=f-k,g=u-k,C=m-k,h=k+f,f=k+u,A=k+m,e=0|_[t+932>>2])_[t+932>>2]=0;else{_[6630]=1+(0|_[6630]),(e=0|di(63))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,w=(S=e)+44|0;do{_[S>>2]=0,S=S+4|0}while((0|S)<(0|w))}if(_[e+32>>2]=0,_[e+36>>2]=o,_[e+40>>2]=0,p[e>>2]=y,p[e+4>>2]=g,p[e+8>>2]=C,p[e+12>>2]=0,p[e+16>>2]=h,p[e+20>>2]=f,p[e+24>>2]=A,p[e+28>>2]=0,U(t+928|0,0|_[t+928>>2],e),_[t+940>>2]=1+(0|_[t+940>>2]),_[v+(104*d|0)+96>>2]=e,_[v+(104*d|0)+4>>2]=s,(0|(d=d+1|0))==(0|i))break;e=b,a=l}if(!(e=0|_[t+928>>2]))return _[t+892>>2]=0,_[t+892+4>>2]=0,_[t+892+8>>2]=0,_[t+892+12>>2]=0,_[t+892+16>>2]=0,_[t+892+20>>2]=0,_[t+892+24>>2]=0,_[t+892+28>>2]=0,void(Q=c);i=0|_[t+192>>2],g=+Il[15&_[48+(0|_[i>>2])>>2]](i),k=+p[e+4>>2]-g,C=+p[e+8>>2]-g,p[t+892>>2]=+p[e>>2]-g,p[t+896>>2]=k,p[t+900>>2]=C,p[t+904>>2]=0,C=g+ +p[e+20>>2],k=g+ +p[e+24>>2],p[t+908>>2]=g+ +p[e+16>>2],p[t+912>>2]=C,p[t+916>>2]=k,p[t+920>>2]=0,(e=0|_[t+188>>2])?(i=0|_[t+684>>2],r=0|_[i+32>>2],dd[31&_[16+(0|_[r>>2])>>2]](r,e,t+892|0,t+908|0,0|_[i+36>>2]),Q=c):Q=c}function yi(t,e,i){e|=0,i|=0;var r,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0;if(r=Q,Q=Q+96|0,x=0|_[56+(t|=0)>>2],1==(i-e|0)){if(0|n[t+60|0])O=(0|_[t+116>>2])+(e<<4)|0,T=(0|_[t+136>>2])+(x<<4)|0,_[T>>2]=_[O>>2],_[T+4>>2]=_[O+4>>2],_[T+8>>2]=_[O+8>>2],_[T+12>>2]=_[O+12>>2];else{u=(0|_[t+96>>2])+(x<<6)|0,m=(0|_[t+76>>2])+(e<<6)|0,h=u+64|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h))}return _[t+56>>2]=1+(0|_[t+56>>2]),void(Q=r)}if((0|i)>(0|e)){if(b=!(0|n[t+60|0])){a=0|_[t+76>>2],c=e,l=0,d=0,A=0;do{l+=.5*(+p[a+(c<<6)+16>>2]+ +p[a+(c<<6)>>2]),d+=.5*(+p[a+(c<<6)+20>>2]+ +p[a+(c<<6)+4>>2]),A+=.5*(+p[a+(c<<6)+24>>2]+ +p[a+(c<<6)+8>>2]),c=c+1|0}while((0|c)!=(0|i))}else{a=0|_[t+116>>2],f=+p[t+36>>2],y=+p[t+40>>2],g=+p[t+44>>2],S=+p[t+4>>2],w=+p[t+8>>2],k=+p[t+12>>2],c=e,l=0,d=0,A=0;do{l+=.5*(+(0|s[a+(c<<4)+6>>1])/f+S+(+(0|s[a+(c<<4)>>1])/f+S)),d+=.5*(+(0|s[a+(c<<4)+8>>1])/y+w+(+(0|s[a+(c<<4)+2>>1])/y+w)),A+=.5*(+(0|s[a+(c<<4)+10>>1])/g+k+(+(0|s[a+(c<<4)+4>>1])/g+k)),c=c+1|0}while((0|c)!=(0|i))}if(B=(D=1/+(i-e|0))*l,I=D*d,D*=A,b){a=0|_[t+76>>2],c=e,l=0,A=0,f=0;do{l+=(S=.5*(+p[a+(c<<6)+16>>2]+ +p[a+(c<<6)>>2])-B)*S,A+=(w=.5*(+p[a+(c<<6)+20>>2]+ +p[a+(c<<6)+4>>2])-I)*w,f+=(k=.5*(+p[a+(c<<6)+24>>2]+ +p[a+(c<<6)+8>>2])-D)*k,c=c+1|0}while((0|c)!=(0|i));d=+(i-e|0)}else{a=0|_[t+116>>2],d=+p[t+36>>2],y=+p[t+40>>2],g=+p[t+44>>2],S=+p[t+4>>2],w=+p[t+8>>2],k=+p[t+12>>2],c=e,l=0,A=0,f=0;do{l+=(V=.5*(+(0|s[a+(c<<4)+6>>1])/d+S+(+(0|s[a+(c<<4)>>1])/d+S))-B)*V,A+=(M=.5*(+(0|s[a+(c<<4)+8>>1])/y+w+(+(0|s[a+(c<<4)+2>>1])/y+w))-I)*M,f+=(P=.5*(+(0|s[a+(c<<4)+10>>1])/g+k+(+(0|s[a+(c<<4)+4>>1])/g+k))-D)*P,c=c+1|0}while((0|c)!=(0|i));d=+(i-e|0)}}else f=0,A=0,l=0,d=+(i-e|0);if(M=(V=1/(d+-1))*l,P=V*A,V*=f,v=M>2]=0,_[r+16+4>>2]=0,_[r+16+8>>2]=0,_[r+16+12>>2]=0,(0|i)>(0|e)){if(0|n[t+60|0]){a=0|_[t+116>>2],f=+p[t+36>>2],y=+p[t+40>>2],g=+p[t+44>>2],S=+p[t+4>>2],w=+p[t+8>>2],k=+p[t+12>>2],c=e,A=0,d=0,l=0;do{A=.5*(+(0|s[a+(c<<4)+6>>1])/f+S+(+(0|s[a+(c<<4)>>1])/f+S))+A,d=.5*(+(0|s[a+(c<<4)+8>>1])/y+w+(+(0|s[a+(c<<4)+2>>1])/y+w))+d,l=.5*(+(0|s[a+(c<<4)+10>>1])/g+k+(+(0|s[a+(c<<4)+4>>1])/g+k))+l,c=c+1|0}while((0|c)!=(0|i))}else{a=0|_[t+76>>2],c=e,A=0,d=0,l=0;do{A=.5*(+p[a+(c<<6)+16>>2]+ +p[a+(c<<6)>>2])+A,d=.5*(+p[a+(c<<6)+20>>2]+ +p[a+(c<<6)+4>>2])+d,l=.5*(+p[a+(c<<6)+24>>2]+ +p[a+(c<<6)+8>>2])+l,c=c+1|0}while((0|c)!=(0|i))}p[r+16>>2]=A,p[r+16+4>>2]=d,p[r+16+8>>2]=l,c=r+16|0}else c=r+16|0,A=0,d=0,l=0;if(p[c>>2]=1/+(i-e|0)*A,p[r+16+4>>2]=1/+(i-e|0)*d,p[r+16+8>>2]=1/+(i-e|0)*l,S=+p[r+16+(v<<2)>>2],(0|i)>(0|e)){c=e,C=e;do{if((a=!(0|n[t+60|0]))?(F=0|_[t+76>>2],l=+p[F+(C<<6)>>2],d=+p[F+(C<<6)+16>>2],A=+p[F+(C<<6)+4>>2],f=+p[F+(C<<6)+20>>2],y=+p[F+(C<<6)+8>>2],g=+p[F+(C<<6)+24>>2]):(F=0|_[t+116>>2],A=+p[t+36>>2],y=+p[t+40>>2],V=+p[t+44>>2],d=+p[t+4>>2],f=+p[t+8>>2],g=+p[t+12>>2],l=+(0|s[F+(C<<4)>>1])/A+d,d=+(0|s[F+(C<<4)+6>>1])/A+d,A=+(0|s[F+(C<<4)+2>>1])/y+f,f=+(0|s[F+(C<<4)+8>>1])/y+f,y=+(0|s[F+(C<<4)+4>>1])/V+g,g=+(0|s[F+(C<<4)+10>>1])/V+g),p[r>>2]=.5*(d+l),p[r+4>>2]=.5*(f+A),p[r+8>>2]=.5*(g+y),p[r+12>>2]=0,+p[r+(v<<2)>>2]>S){if(a){m=b=(a=0|_[t+76>>2])+(C<<6)|0,h=64+(u=r+32|0)|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));m=a+(c<<6)|0,h=(u=b)+64|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));m=r+32|0,h=64+(u=(0|_[t+76>>2])+(c<<6)|0)|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h))}else F=(W=0|_[t+116>>2])+(C<<4)|0,_[r+32>>2]=_[F>>2],_[r+32+4>>2]=_[F+4>>2],_[r+32+8>>2]=_[F+8>>2],_[r+32+12>>2]=_[F+12>>2],W=W+(c<<4)|0,_[F>>2]=_[W>>2],_[F+4>>2]=_[W+4>>2],_[F+8>>2]=_[W+8>>2],_[F+12>>2]=_[W+12>>2],F=(0|_[t+116>>2])+(c<<4)|0,_[F>>2]=_[r+32>>2],_[F+4>>2]=_[r+32+4>>2],_[F+8>>2]=_[r+32+8>>2],_[F+12>>2]=_[r+32+12>>2];c=c+1|0}C=C+1|0}while((0|C)!=(0|i))}else c=e;if((0|c)>(((i-e|0)/3|0)+e|0)&&(0|c)<(i+-1-((i-e|0)/3|0)|0)||(c=(i-e>>1)+e|0),F=0|_[t+56>>2],0|n[t+60|0]?(W=0|_[t+136>>2],M=(+p[t+24>>2]-+p[t+8>>2])*+p[t+40>>2],V=(+p[t+28>>2]-+p[t+12>>2])*+p[t+44>>2],o[W+(F<<4)>>1]=(+p[t+20>>2]-+p[t+4>>2])*+p[t+36>>2]&65535&-2,o[W+(F<<4)+2>>1]=65535&M&-2,o[W+(F<<4)+4>>1]=65535&V&-2):(W=(0|_[t+96>>2])+(F<<6)|0,_[W>>2]=_[t+20>>2],_[W+4>>2]=_[t+20+4>>2],_[W+8>>2]=_[t+20+8>>2],_[W+12>>2]=_[t+20+12>>2]),a=0|_[t+56>>2],0|n[t+60|0]?(W=0|_[t+136>>2],P=+p[t+4>>2],M=+p[t+8>>2],V=+p[t+12>>2],M=(M-M)*+p[t+40>>2],V=(V-V)*+p[t+44>>2],o[W+(a<<4)+6>>1]=(P-P)*+p[t+36>>2]+1&65535|1,o[W+(a<<4)+8>>1]=M+1&65535|1,o[W+(a<<4)+10>>1]=V+1&65535|1):(W=(0|_[t+96>>2])+(a<<6)+16|0,_[W>>2]=_[t+4>>2],_[W+4>>2]=_[t+4+4>>2],_[W+8>>2]=_[t+4+8>>2],_[W+12>>2]=_[t+4+12>>2]),W=0|_[t+56>>2],(0|i)>(0|e)){j=0|n[t+60|0],R=e;do{j<<24>>24?(C=0|_[t+116>>2],y=+p[t+36>>2],k=+p[t+40>>2],P=+p[t+44>>2],g=+p[t+4>>2],D=+p[t+8>>2],M=+p[t+12>>2],S=+p[t+4>>2],I=+p[t+8>>2],V=+p[t+12>>2],f=+p[t+36>>2],w=+p[t+40>>2],B=+p[t+44>>2],a=(+(0|s[C+(R<<4)>>1])/y+g-S)*f&65535&-2,b=(+(0|s[C+(R<<4)+2>>1])/k+D-I)*w&65535&-2,u=(+(0|s[C+(R<<4)+4>>1])/P+M-V)*B&65535&-2,m=f*(+(0|s[C+(R<<4)+6>>1])/y+g-S)+1&65535|1,h=w*(+(0|s[C+(R<<4)+8>>1])/k+D-I)+1&65535|1,C=B*(+(0|s[C+(R<<4)+10>>1])/P+M-V)+1&65535|1,v=0|_[t+136>>2],(0|s[v+(W<<4)>>1])>(65535&a)&&(o[v+(W<<4)>>1]=a),(0|s[v+(W<<4)+6>>1])<(65535&m)&&(o[v+(W<<4)+6>>1]=m),(0|s[v+(W<<4)+2>>1])>(65535&b)&&(o[v+(W<<4)+2>>1]=b),(0|s[v+(W<<4)+8>>1])<(65535&h)&&(o[v+(W<<4)+8>>1]=h),(0|s[v+(W<<4)+4>>1])>(65535&u)&&(o[v+(W<<4)+4>>1]=u),(0|s[v+(W<<4)+10>>1])<(65535&C)&&(o[v+(W<<4)+10>>1]=C)):(a=0|_[t+76>>2],d=+p[a+(R<<6)>>2],g=+p[a+(R<<6)+4>>2],w=+p[a+(R<<6)+8>>2],f=+p[a+(R<<6)+12>>2],l=+p[a+(R<<6)+16>>2],S=+p[a+(R<<6)+20>>2],A=+p[a+(R<<6)+24>>2],y=+p[a+(R<<6)+28>>2],a=0|_[t+96>>2],d<+p[a+(W<<6)>>2]&&(p[a+(W<<6)>>2]=d),g<+p[a+(W<<6)+4>>2]&&(p[a+(W<<6)+4>>2]=g),w<+p[a+(W<<6)+8>>2]&&(p[a+(W<<6)+8>>2]=w),f<+p[a+(W<<6)+12>>2]&&(p[a+(W<<6)+12>>2]=f),+p[a+(W<<6)+16>>2]>2]=l),+p[a+(W<<6)+20>>2]>2]=S),+p[a+(W<<6)+24>>2]>2]=A),+p[a+(W<<6)+28>>2]>2]=y)),R=R+1|0}while((0|R)!=(0|i))}if(_[t+56>>2]=W+1,yi(t,e,c),R=0|_[t+56>>2],yi(t,c,i),v=(0|_[t+56>>2])-x|0,!!((c=0|n[t+60|0])<<24>>24)&(0|v)>128){if(h=0|_[t+136>>2],m=(0|(m=0|_[h+(W+1<<4)+12>>2]))>-1?1:0-m|0,C=(0|(C=0|_[h+(R<<4)+12>>2]))>-1?1:0-C|0,(0|m)<129){if((0|(u=0|_[t+152>>2]))==(0|_[t+156>>2])&&(0|u)<(0|(O=0|u?u<<1:1))){if(O?(_[6630]=1+(0|_[6630]),(c=0|di(O<<5|19))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,b=0|_[t+152>>2]):(c=0,b=u),(0|b)>0){a=0;do{x=c+(a<<5)|0,i=(0|_[t+160>>2])+(a<<5)|0,_[x>>2]=_[i>>2],_[x+4>>2]=_[i+4>>2],_[x+8>>2]=_[i+8>>2],_[x+12>>2]=_[i+12>>2],_[x+16>>2]=_[i+16>>2],_[x+20>>2]=_[i+20>>2],_[x+24>>2]=_[i+24>>2],_[x+28>>2]=_[i+28>>2],a=a+1|0}while((0|a)!=(0|b))}0|(a=0|_[t+160>>2])&&(0|n[t+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+160>>2]=0),n[t+164|0]=1,_[t+160>>2]=c,_[t+156>>2]=O,c=0|_[t+152>>2]}else c=u;_[t+152>>2]=c+1,O=(0|_[t+160>>2])+(u<<5)|0,_[O>>2]=_[r+32>>2],_[O+4>>2]=_[r+32+4>>2],_[O+8>>2]=_[r+32+8>>2],_[O+12>>2]=_[r+32+12>>2],_[O+16>>2]=_[r+32+16>>2],_[O+20>>2]=_[r+32+20>>2],_[O+24>>2]=_[r+32+24>>2],_[O+28>>2]=_[r+32+28>>2],O=0|_[t+160>>2],o[O+(u<<5)>>1]=0|o[h+(W+1<<4)>>1],o[O+(u<<5)+2>>1]=0|o[h+(W+1<<4)+2>>1],o[O+(u<<5)+4>>1]=0|o[h+(W+1<<4)+4>>1],o[O+(u<<5)+6>>1]=0|o[h+(W+1<<4)+6>>1],o[O+(u<<5)+8>>1]=0|o[h+(W+1<<4)+8>>1],o[O+(u<<5)+10>>1]=0|o[h+(W+1<<4)+10>>1],_[O+(u<<5)+12>>2]=W+1,_[O+(u<<5)+16>>2]=m}if((0|C)<129){if((0|(u=0|_[t+152>>2]))==(0|_[t+156>>2])&&(0|u)<(0|(T=0|u?u<<1:1))){if(T?(_[6630]=1+(0|_[6630]),(c=0|di(T<<5|19))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,b=0|_[t+152>>2]):(c=0,b=u),(0|b)>0){a=0;do{O=c+(a<<5)|0,x=(0|_[t+160>>2])+(a<<5)|0,_[O>>2]=_[x>>2],_[O+4>>2]=_[x+4>>2],_[O+8>>2]=_[x+8>>2],_[O+12>>2]=_[x+12>>2],_[O+16>>2]=_[x+16>>2],_[O+20>>2]=_[x+20>>2],_[O+24>>2]=_[x+24>>2],_[O+28>>2]=_[x+28>>2],a=a+1|0}while((0|a)!=(0|b))}0|(a=0|_[t+160>>2])&&(0|n[t+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+160>>2]=0),n[t+164|0]=1,_[t+160>>2]=c,_[t+156>>2]=T,c=0|_[t+152>>2]}else c=u;_[t+152>>2]=c+1,c=(0|_[t+160>>2])+(u<<5)|0,_[c>>2]=_[r+32>>2],_[c+4>>2]=_[r+32+4>>2],_[c+8>>2]=_[r+32+8>>2],_[c+12>>2]=_[r+32+12>>2],_[c+16>>2]=_[r+32+16>>2],_[c+20>>2]=_[r+32+20>>2],_[c+24>>2]=_[r+32+24>>2],_[c+28>>2]=_[r+32+28>>2],c=0|_[t+160>>2],o[c+(u<<5)>>1]=0|o[h+(R<<4)>>1],o[c+(u<<5)+2>>1]=0|o[h+(R<<4)+2>>1],o[c+(u<<5)+4>>1]=0|o[h+(R<<4)+4>>1],o[c+(u<<5)+6>>1]=0|o[h+(R<<4)+6>>1],o[c+(u<<5)+8>>1]=0|o[h+(R<<4)+8>>1],o[c+(u<<5)+10>>1]=0|o[h+(R<<4)+10>>1],_[c+(u<<5)+12>>2]=R,_[c+(u<<5)+16>>2]=C,c=t+152|0}else c=t+152|0;_[t+168>>2]=_[c>>2],c=0|n[t+60|0]}return c<<24>>24?(_[(0|_[t+136>>2])+(F<<4)+12>>2]=0-v,void(Q=r)):(_[(0|_[t+96>>2])+(F<<6)+32>>2]=v,void(Q=r))}function gi(t,e,i,o,s,c,a){t|=0,e|=0,i|=0,o|=0,s|=0,a|=0;var l,d,A,f,u,m,h,y,g,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0;l=Q,Q=Q+9824|0,k=36+(w=c|=0)|0;do{_[w>>2]=0,w=w+4|0}while((0|w)<(0|k));switch(_[l+9680>>2]=t,_[l+9680+4>>2]=i,W=+p[o>>2],M=+p[e>>2],B=+p[o+16>>2],P=+p[e+16>>2],g=+p[o+32>>2],T=+p[e+32>>2],O=+p[e+4>>2],x=+p[e+20>>2],F=+p[e+36>>2],u=+p[e+8>>2],A=+p[e+24>>2],C=+p[e+40>>2],y=+p[o+4>>2],h=+p[o+20>>2],m=+p[o+36>>2],f=+p[o+8>>2],d=+p[o+24>>2],v=+p[o+40>>2],p[l+9680+8>>2]=W*M+B*P+g*T,p[l+9680+12>>2]=W*O+B*x+g*F,p[l+9680+16>>2]=W*u+B*A+g*C,p[l+9680+20>>2]=0,p[l+9680+24>>2]=M*y+P*h+T*m,p[l+9680+28>>2]=O*y+x*h+F*m,p[l+9680+32>>2]=u*y+A*h+C*m,p[l+9680+36>>2]=0,p[l+9680+40>>2]=M*f+P*d+T*v,p[l+9680+44>>2]=O*f+x*d+F*v,p[l+9680+48>>2]=u*f+A*d+C*v,p[l+9680+52>>2]=0,G=+p[o+48>>2]-+p[e+48>>2],V=+p[o+52>>2]-+p[e+52>>2],R=+p[o+56>>2]-+p[e+56>>2],S=G*+p[e>>2]+V*+p[e+16>>2]+R*+p[e+32>>2],j=G*+p[e+4>>2]+V*+p[e+20>>2]+R*+p[e+36>>2],R=G*+p[e+8>>2]+V*+p[e+24>>2]+R*+p[e+40>>2],p[l+9680+56>>2]=W*M+B*P+g*T,p[l+9680+60>>2]=M*y+P*h+T*m,p[l+9680+64>>2]=M*f+P*d+T*v,p[l+9680+68>>2]=0,p[l+9680+72>>2]=W*O+B*x+g*F,p[l+9680+76>>2]=O*y+x*h+F*m,p[l+9680+80>>2]=O*f+x*d+F*v,p[l+9680+84>>2]=0,p[l+9680+88>>2]=W*u+B*A+g*C,p[l+9680+92>>2]=u*y+A*h+C*m,p[l+9680+96>>2]=u*f+A*d+C*v,p[l+9680+100>>2]=0,p[l+9680+104>>2]=S,p[l+9680+108>>2]=j,p[l+9680+112>>2]=R,p[l+9680+116>>2]=0,_[l+9680+120>>2]=a?82:81,_[l+9680+124>>2]=0,_[l+9296+364>>2]=0,_[l+9296+128>>2]=0,_[l+9296+128+4>>2]=0,_[l+9296+128+8>>2]=0,_[l+9296+128+12>>2]=0,_[l+9296+376>>2]=2,_[l+9296+368>>2]=0,p[l+9296+144>>2]=0,R=-+p[s+4>>2],j=-+p[s+8>>2],p[l+9808>>2]=-+p[s>>2],p[l+9808+4>>2]=R,p[l+9808+8>>2]=j,p[l+9808+12>>2]=0,0|Ci(l+9296|0,l+9680|0,l+9808|0)){case 1:_[l+9280>>2]=0,_[l+9280+4>>2]=0,_[l+9280+8>>2]=0,_[l+9280+12>>2]=0,_[l>>2]=9,_[l+9276>>2]=0,_[l+40>>2]=0,_[l+40+4>>2]=0,_[l+40+8>>2]=0,_[l+40+12>>2]=0,_[l+40+16>>2]=0,t=0;do{_[l+2108+(56*(i=128-t-1|0)|0)+44>>2]=0,o=0|_[l+9288>>2],_[l+2108+(56*i|0)+48>>2]=o,0|o&&(_[o+44>>2]=l+2108+(56*i|0)),_[l+9288>>2]=l+2108+(56*i|0),t=t+1|0}while(128!=(0|t));_[l+9292>>2]=128,S=+p[s>>2],R=+p[s+4>>2],v=+p[s+8>>2],D=0|_[l+9296+372>>2];do{if((0|_[D+32>>2])>>>0>1&&0|Di(l+9296|0)){if(0|(t=0|_[l+9280>>2])){w=0|_[l+9284>>2],k=0|_[l+9292>>2];do{i=t+44|0,0|(o=0|_[(a=t+48|0)>>2])&&(_[o+44>>2]=_[i>>2]),0|(i=0|_[i>>2])&&(_[i+48>>2]=_[a>>2]),(0|_[l+9280>>2])==(0|t)&&(_[l+9280>>2]=_[a>>2]),w=w+-1|0,_[t+44>>2]=0,_[a>>2]=_[l+9288>>2],0|(i=0|_[l+9288>>2])&&(_[i+44>>2]=t),_[l+9288>>2]=t,k=k+1|0,t=0|_[l+9280>>2]}while(0|t);_[l+9284>>2]=w,_[l+9292>>2]=k}if(_[l>>2]=0,_[l+9276>>2]=0,t=0|_[D>>2],i=0|_[D+12>>2],G=+p[i+16>>2],W=+p[t+16>>2]-G,x=+p[i+20>>2],O=+p[t+20>>2]-x,P=+p[i+24>>2],M=+p[t+24>>2]-P,i=0|_[D+4>>2],T=+p[i+16>>2]-G,V=+p[i+20>>2]-x,F=+p[i+24>>2]-P,o=0|_[D+8>>2],G=+p[o+16>>2]-G,x=+p[o+20>>2]-x,W*V*(P=+p[o+24>>2]-P)+(O*F*G+M*T*x-W*F*x-O*T*P)-M*V*G<0?(_[D>>2]=i,_[D+4>>2]=t,a=0|_[D+16>>2],_[D+16>>2]=_[D+20>>2],_[D+20>>2]=a,a=i):(a=t,t=i),a=0|_i(l,a,t,o,1),w=0|_i(l,0|_[D+4>>2],0|_[D>>2],0|_[D+12>>2],1),k=0|_i(l,0|_[D+8>>2],0|_[D+4>>2],0|_[D+12>>2],1),s=0|_i(l,0|_[D>>2],0|_[D+8>>2],0|_[D+12>>2],1),4==(0|_[l+9284>>2])){if(i=0|_[l+9280>>2],C=+p[i+16>>2],t=0|_[i+48>>2]){for(v=C*C;i=(o=(C=+p[t+16>>2])*C>2];)v=o?C*C:v;t=i,C=+p[i+16>>2]}else t=i;for(S=+p[t>>2],j=+p[t+4>>2],R=+p[t+8>>2],v=+p[t+12>>2],N=0|_[t+20>>2],i=0|_[t+24>>2],o=0|_[t+28>>2],n[a+52|0]=0,_[a+32>>2]=w,n[w+52|0]=0,_[w+32>>2]=a,n[a+53|0]=0,_[a+36>>2]=k,n[k+52|0]=1,_[k+32>>2]=a,n[a+54|0]=0,_[a+40>>2]=s,n[s+52|0]=2,_[s+32>>2]=a,n[w+53|0]=2,_[w+36>>2]=s,n[s+54|0]=1,_[s+40>>2]=w,n[w+54|0]=1,_[w+40>>2]=k,n[k+53|0]=2,_[k+36>>2]=w,n[k+54|0]=1,_[k+40>>2]=s,n[s+53|0]=2,_[s+36>>2]=k,_[l>>2]=0,s=t,D=0,w=N,k=i,a=o;;){if((i=0|_[l+9276>>2])>>>0>=64){I=45;break}if(_[l+9808>>2]=0,_[l+9808+4>>2]=0,_[l+9808+8>>2]=0,_[l+9276>>2]=i+1,D=D+1|0,n[s+55|0]=D,o=s+4|0,N=s+8|0,Xt(l+9296|0,+p[s>>2],+p[o>>2],+p[N>>2],l+60+(i<<5)|0),!(+p[s>>2]*+p[l+60+(i<<5)+16>>2]+ +p[o>>2]*+p[l+60+(i<<5)+20>>2]+ +p[N>>2]*+p[l+60+(i<<5)+24>>2]-+p[s+16>>2]>9999999747378752e-20)){t=7,I=44;break}t=0;do{o=0|Et(l,D,l+60+(i<<5)|0,0|_[s+32+(t<<2)>>2],0|r[s+52+t|0],l+9808|0),t=t+1|0}while(o&t>>>0<3);if(!(o&(0|_[l+9808+8>>2])>>>0>2)){t=4,I=44;break}if(o=0|_[l+9808>>2],t=0|_[l+9808+4>>2],n[o+53|0]=2,_[o+36>>2]=t,n[t+54|0]=1,_[t+40>>2]=o,t=s+44|0,0|(i=0|_[(o=s+48|0)>>2])&&(_[i+44>>2]=_[t>>2]),0|(t=0|_[t>>2])&&(_[t+48>>2]=_[o>>2]),(0|_[l+9280>>2])==(0|s)&&(_[l+9280>>2]=_[o>>2]),_[l+9284>>2]=(0|_[l+9284>>2])-1,_[s+44>>2]=0,_[o>>2]=_[l+9288>>2],0|(t=0|_[l+9288>>2])&&(_[t+44>>2]=s),_[l+9288>>2]=s,_[l+9292>>2]=1+(0|_[l+9292>>2]),i=0|_[l+9280>>2],C=+p[i+16>>2],t=0|_[i+48>>2]){for(v=C*C,o=i;o=(i=(C=+p[t+16>>2])*C>2];)v=i?C*C:v;i=o,C=+p[o+16>>2]}if(S=+p[i>>2],j=+p[i+4>>2],R=+p[i+8>>2],v=+p[i+12>>2],t=0|_[i+20>>2],o=0|_[i+24>>2],a=0|_[i+28>>2],D>>>0>=255){i=a;break}s=i,w=t,k=o}if(44==(0|I)?(_[l>>2]=t,t=w,o=k,i=a):45==(0|I)&&(_[l>>2]=6,t=w,o=k,i=a),T=S*C,x=j*C,G=R*C,p[l+40>>2]=S,p[l+44>>2]=j,p[l+48>>2]=R,p[l+52>>2]=v,p[l+56>>2]=C,_[l+36>>2]=3,_[l+4>>2]=t,_[l+8>>2]=o,_[l+12>>2]=i,P=+p[(N=o)+16>>2]-T,W=+p[N+20>>2]-x,O=+p[N+24>>2]-G,B=+p[(D=i)+16>>2]-T,F=+p[D+20>>2]-x,M=+p[D+24>>2]-G,M=+b(+((P*F-W*B)*(P*F-W*B)+((W*M-O*F)*(W*M-O*F)+(O*B-P*M)*(O*B-P*M)))),p[l+20>>2]=M,P=+p[D+16>>2]-T,B=+p[D+20>>2]-x,O=+p[D+24>>2]-G,F=+p[(D=t)+16>>2]-T,W=+p[D+20>>2]-x,V=+p[D+24>>2]-G,V=+b(+((P*W-B*F)*(P*W-B*F)+((B*V-O*W)*(B*V-O*W)+(O*F-P*V)*(O*F-P*V)))),p[l+24>>2]=V,P=+p[D+16>>2]-T,F=+p[D+20>>2]-x,O=+p[D+24>>2]-G,T=+p[N+16>>2]-T,x=+p[N+20>>2]-x,G=+p[N+24>>2]-G,G=+b(+((P*x-F*T)*(P*x-F*T)+((F*G-O*x)*(F*G-O*x)+(O*T-P*G)*(O*T-P*G)))),p[l+20>>2]=M/(M+V+G),p[l+24>>2]=V/(M+V+G),p[l+28>>2]=G/(M+V+G),9!=(0|_[l>>2])){if(0|_[l+36>>2]){a=l+36|0,I=54;break}S=0,v=0,C=0;break}return _[c>>2]=3,Q=l,0|(N=0)}I=48}else I=48}while(0);if(48==(0|I)&&(_[l>>2]=8,p[l+40>>2]=S,p[l+44>>2]=R,p[l+48>>2]=v,p[l+52>>2]=0,(C=+b(+(S*S+R*R+v*v)))>0?(p[l+40>>2]=1/C*S,p[l+44>>2]=1/C*R,p[l+48>>2]=1/C*v):(_[l+40>>2]=1065353216,_[l+44>>2]=0,_[l+48>>2]=0),p[l+52>>2]=0,p[l+56>>2]=0,_[l+36>>2]=1,_[l+4>>2]=_[D>>2],p[l+20>>2]=1,a=l+36|0,I=54),54==(0|I)){o=0,C=0,v=0,S=0;do{t=0|_[l+9680+120>>2],N=0|_[l+9680+124>>2],i=(0|_[l+9680>>2])+(N>>1)|0,1&N&&(t=0|_[(0|_[i>>2])+t>>2]),_d[127&t](l+9808|0,i,0|_[l+4+(o<<2)>>2]),G=+p[l+20+(o<<2)>>2],C+=+p[l+9808>>2]*G,v+=G*+p[l+9808+4>>2],S+=G*+p[l+9808+8>>2],o=o+1|0}while(o>>>0<(0|_[a>>2])>>>0)}return _[c>>2]=1,G=C*+p[e+16>>2]+v*+p[e+20>>2]+S*+p[e+24>>2]+ +p[e+52>>2],P=C*+p[e+32>>2]+v*+p[e+36>>2]+S*+p[e+40>>2]+ +p[e+56>>2],p[c+4>>2]=C*+p[e>>2]+v*+p[e+4>>2]+S*+p[e+8>>2]+ +p[e+48>>2],p[c+8>>2]=G,p[c+12>>2]=P,p[c+16>>2]=0,P=+p[l+40>>2],F=v-(G=+p[l+56>>2])*(M=+p[l+44>>2]),x=S-G*(V=+p[l+48>>2]),O=(W=C-P*G)*+p[e+16>>2]+F*+p[e+20>>2]+x*+p[e+24>>2]+ +p[e+52>>2],T=W*+p[e+32>>2]+F*+p[e+36>>2]+x*+p[e+40>>2]+ +p[e+56>>2],p[c+20>>2]=W*+p[e>>2]+F*+p[e+4>>2]+x*+p[e+8>>2]+ +p[e+48>>2],p[c+24>>2]=O,p[c+28>>2]=T,p[c+32>>2]=0,p[c+36>>2]=-P,p[c+40>>2]=-M,p[c+44>>2]=-V,p[c+48>>2]=0,p[c+52>>2]=-G,Q=l,0|(N=1);case 2:return _[c>>2]=2,Q=l,0|(N=0);default:return Q=l,0|(N=0)}return 0}function Ci(t,e,i){e|=0,i|=0;var n,o=0,r=0,s=0,c=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0;n=Q,Q=Q+112|0,_[348+(t|=0)>>2]=t+220,_[t+352>>2]=t+252,_[t+356>>2]=t+284,_[t+360>>2]=t+316,_[t+364>>2]=4,_[t+368>>2]=0,_[t+376>>2]=0,W=0|_[e+4>>2],_[t>>2]=_[e>>2],_[t+4>>2]=W,_[t+8>>2]=_[e+8>>2],_[t+8+4>>2]=_[e+8+4>>2],_[t+8+8>>2]=_[e+8+8>>2],_[t+8+12>>2]=_[e+8+12>>2],_[t+24>>2]=_[e+24>>2],_[t+24+4>>2]=_[e+24+4>>2],_[t+24+8>>2]=_[e+24+8>>2],_[t+24+12>>2]=_[e+24+12>>2],_[t+40>>2]=_[e+40>>2],_[t+40+4>>2]=_[e+40+4>>2],_[t+40+8>>2]=_[e+40+8>>2],_[t+40+12>>2]=_[e+40+12>>2],_[t+56>>2]=_[e+56>>2],_[t+56+4>>2]=_[e+56+4>>2],_[t+56+8>>2]=_[e+56+8>>2],_[t+56+12>>2]=_[e+56+12>>2],_[t+72>>2]=_[e+72>>2],_[t+72+4>>2]=_[e+72+4>>2],_[t+72+8>>2]=_[e+72+8>>2],_[t+72+12>>2]=_[e+72+12>>2],_[t+88>>2]=_[e+88>>2],_[t+88+4>>2]=_[e+88+4>>2],_[t+88+8>>2]=_[e+88+8>>2],_[t+88+12>>2]=_[e+88+12>>2],_[t+104>>2]=_[e+104>>2],_[t+104+4>>2]=_[e+104+4>>2],_[t+104+8>>2]=_[e+104+8>>2],_[t+104+12>>2]=_[e+104+12>>2],W=0|_[e+124>>2],_[t+120>>2]=_[e+120>>2],_[t+124>>2]=W,p[t+144>>2]=0,_[t+180>>2]=0,_[t+128>>2]=_[i>>2],_[t+128+4>>2]=_[i+4>>2],_[t+128+8>>2]=_[i+8>>2],_[t+128+12>>2]=_[i+12>>2],(o=+p[t+128>>2])*o+(r=+p[t+132>>2])*r+(s=+p[t+136>>2])*s>0?(p[t+164>>2]=0,_[t+364>>2]=3,_[t+148>>2]=t+316,_[t+180>>2]=1,Xt(t,-o,-r,-s,t+316|0),e=t+148|0,i=t+164|0):(p[t+164>>2]=0,_[t+364>>2]=3,_[t+148>>2]=t+316,_[t+180>>2]=1,Xt(t,1,0,0,t+316|0),e=t+148|0,i=t+164|0),p[i>>2]=1,W=16+(0|_[e>>2])|0,_[t+128>>2]=_[W>>2],_[t+128+4>>2]=_[W+4>>2],_[t+128+8>>2]=_[W+8>>2],_[t+128+12>>2]=_[W+12>>2],_[n+16+48>>2]=_[W>>2],_[n+16+48+4>>2]=_[W+4>>2],_[n+16+48+8>>2]=_[W+8>>2],_[n+16+48+12>>2]=_[W+12>>2],_[n+16+32>>2]=_[W>>2],_[n+16+32+4>>2]=_[W+4>>2],_[n+16+32+8>>2]=_[W+8>>2],_[n+16+32+12>>2]=_[W+12>>2],_[n+16+16>>2]=_[W>>2],_[n+16+16+4>>2]=_[W+4>>2],_[n+16+16+8>>2]=_[W+8>>2],_[n+16+16+12>>2]=_[W+12>>2],_[n+16>>2]=_[W>>2],_[n+16+4>>2]=_[W+4>>2],_[n+16+8>>2]=_[W+8>>2],_[n+16+12>>2]=_[W+12>>2],W=0,F=0,o=o*o+r*r+s*s,B=0,I=0|_[t+368>>2],r=+p[t+128>>2],l=+p[t+132>>2],s=+p[t+136>>2];t:for(;;){if(e=1-I|0,u=t+148+(36*I|0)|0,(d=+b(+(r*r+l*l+s*s)))<9999999747378752e-20){T=6;break}if(c=0|_[(h=t+148+(36*I|0)+32|0)>>2],p[t+148+(36*I|0)+16+(c<<2)>>2]=0,i=(0|_[t+364>>2])-1|0,_[t+364>>2]=i,i=0|_[t+348+(i<<2)>>2],_[t+148+(36*I|0)+(c<<2)>>2]=i,_[h>>2]=c+1,Xt(t,-r,-l,-s,i),i=0|_[h>>2],c=0|_[t+148+(36*I|0)+(i+-1<<2)>>2],r=+p[c+16>>2],s=+p[c+20>>2],l=+p[c+24>>2],(R=r-+p[n+16>>2])*R+(j=s-+p[n+16+4>>2])*j+(D=l-+p[n+16+8>>2])*D<9999999747378752e-20){T=9;break}if((R=r-+p[n+16+16>>2])*R+(j=s-+p[n+16+20>>2])*j+(D=l-+p[n+16+24>>2])*D<9999999747378752e-20){T=9;break}if((R=r-+p[n+16+32>>2])*R+(j=s-+p[n+16+36>>2])*j+(D=l-+p[n+16+40>>2])*D<9999999747378752e-20){T=9;break}if((R=r-+p[n+16+48>>2])*R+(j=s-+p[n+16+52>>2])*j+(D=l-+p[n+16+56>>2])*D<9999999747378752e-20){T=9;break}if(_[(m=n+16+((B=B+1&3)<<4)|0)>>2]=_[c+16>>2],_[m+4>>2]=_[c+16+4>>2],_[m+8>>2]=_[c+16+8>>2],_[m+12>>2]=_[c+16+12>>2],d-(F=(D=(+p[t+128>>2]*r+ +p[t+132>>2]*s+ +p[t+136>>2]*l)/d)>F?D:F)-9999999747378752e-20*d<=0){T=10;break}_[n+80>>2]=0;e:do{switch(0|i){case 2:if(m=0|_[u>>2],u=0|_[t+148+(36*I|0)+4>>2],!(((o=+p[u+16>>2])-(r=+p[m+16>>2]))*(o-r)+((s=+p[u+20>>2])-(l=+p[m+20>>2]))*(s-l)+((d=+p[u+24>>2])-(A=+p[m+24>>2]))*(d-A)>0)){T=46;break t}if((f=-(r*(o-r)+l*(s-l)+A*(d-A))/((o-r)*(o-r)+(s-l)*(s-l)+(d-A)*(d-A)))>=1){p[n>>2]=0,p[n+4>>2]=1,_[n+80>>2]=2,o=o*o+s*s+d*d;break e}if(f<=0){p[n>>2]=1,p[n+4>>2]=0,_[n+80>>2]=1,o=r*r+l*l+A*A;break e}p[n+4>>2]=f,p[n>>2]=1-f,_[n+80>>2]=3,o=(A+(d-A)*f)*(A+(d-A)*f)+((r+(o-r)*f)*(r+(o-r)*f)+(l+(s-l)*f)*(l+(s-l)*f));break e;case 3:o=+Pe(16+(0|_[u>>2])|0,16+(0|_[t+148+(36*I|0)+4>>2])|0,16+(0|_[t+148+(36*I|0)+8>>2])|0,n,n+80|0);break;case 4:if(i=0|_[u>>2],c=0|_[t+148+(36*I|0)+4>>2],u=0|_[t+148+(36*I|0)+8>>2],m=0|_[t+148+(36*I|0)+12>>2],y=+p[i+16>>2],g=+p[m+16>>2],C=+p[i+20>>2],v=+p[m+20>>2],S=+p[i+24>>2],w=+p[m+24>>2],r=+p[c+16>>2],s=+p[c+20>>2],l=+p[c+24>>2],k=+p[u+16>>2],R=+p[u+20>>2],!((D=(y-g)*(s-v)*((j=+p[u+24>>2])-w)+((C-v)*(l-w)*(k-g)+(S-w)*(r-g)*(R-v)-(y-g)*(l-w)*(R-v)-(C-v)*(r-g)*(j-w))-(S-w)*(s-v)*(k-g))==D&!0&0!=D&D*(S*((C-s)*(r-k)-(y-r)*(s-R))+(y*((S-l)*(s-R)-(C-s)*(l-j))+C*((y-r)*(l-j)-(S-l)*(r-k))))<=0)){T=46;break t}_[n+88>>2]=0,_[n+88+4>>2]=0,_[n+88+8>>2]=0,_[n+84>>2]=0,D*(((C-v)*(l-w)-(S-w)*(s-v))*g+v*((S-w)*(r-g)-(y-g)*(l-w))+((y-g)*(s-v)-(C-v)*(r-g))*w)>0?(o=+Pe(i+16|0,c+16|0,m+16|0,n+88|0,n+84|0),P=0|_[n+84>>2],_[n+80>>2]=2&P|P<<1&8|1&P,_[n>>2]=_[n+88>>2],_[n+4>>2]=_[n+88+4>>2],p[n+8>>2]=0,_[n+12>>2]=_[n+88+8>>2],d=+p[m+16>>2],A=+p[m+20>>2],f=+p[m+24>>2]):(o=-1,d=g,A=v,f=w),D*(((s-v)*(j-w)-(l-w)*(R-v))*d+A*((l-w)*(k-g)-(j-w)*(r-g))+((R-v)*(r-g)-(s-v)*(k-g))*f)>0&&o<0|(x=+Pe(c+16|0,u+16|0,m+16|0,n+88|0,n+84|0))>2]=_[n+84>>2]<<1&14,_[n+4>>2]=_[n+88>>2],_[n+8>>2]=_[n+88+4>>2],p[n>>2]=0,_[n+12>>2]=_[n+88+8>>2],o=x),D*(((R-v)*(S-w)-(j-w)*(C-v))*+p[m+16>>2]+ +p[m+20>>2]*((j-w)*(y-g)-(S-w)*(k-g))+((C-v)*(k-g)-(R-v)*(y-g))*+p[m+24>>2])>0&&o<0|(O=+Pe(u+16|0,i+16|0,m+16|0,n+88|0,n+84|0))>2],_[n+80>>2]=P>>>1&1|P<<1&8|P<<2&4,_[n+8>>2]=_[n+88>>2],_[n>>2]=_[n+88+4>>2],p[n+4>>2]=0,_[n+12>>2]=_[n+88+8>>2],o=O),o<0&&(_[n+80>>2]=15,y=+p[u+20>>2],j=+p[c+24>>2],R=+p[m+16>>2],A=+p[u+24>>2],k=+p[c+16>>2],g=+p[m+20>>2],f=+p[u+16>>2],w=+p[m+24>>2],v=+p[c+20>>2],p[n>>2]=(y*j*R+A*k*g-g*(j*f)-y*k*w+w*(f*v)-R*(A*v))/D,o=+p[i+20>>2],C=+p[i+24>>2],S=+p[i+16>>2],p[n+4>>2]=(o*A*R+C*f*g-g*(A*S)-o*f*w+w*(S*y)-R*(C*y))/D,p[n+8>>2]=(v*C*R+j*S*g-g*(C*k)-v*S*w+w*(k*o)-R*(j*o))/D,p[n+12>>2]=1-((y*j*R+A*k*g-g*(j*f)-y*k*w+w*(f*v)-R*(A*v))/D+(o*A*R+C*f*g-g*(A*S)-o*f*w+w*(S*y)-R*(C*y))/D+(v*C*R+j*S*g-g*(C*k)-v*S*w+w*(k*o)-R*(j*o))/D),o=0)}}while(0);if(!(o>=0)){T=46;break}if(_[t+148+(36*e|0)+32>>2]=0,_[t+128>>2]=0,_[t+128+4>>2]=0,_[t+128+8>>2]=0,_[t+128+12>>2]=0,_[t+368>>2]=e,m=0|_[h>>2],h=0|_[n+80>>2],m){if(c=0|_[(i=t+148+(36*I|0)|0)>>2],1&h?(P=0|_[t+148+(36*e|0)+32>>2],_[t+148+(36*e|0)+(P<<2)>>2]=c,u=0|_[n>>2],_[t+148+(36*e|0)+32>>2]=P+1,_[t+148+(36*e|0)+16+(P<<2)>>2]=u,P=0|_[i>>2],_[a>>2]=u,r=+p[a>>2],l=+p[P+20>>2]*r,s=+p[P+24>>2]*r,r=+p[P+16>>2]*r+ +p[t+128>>2],p[t+128>>2]=r,l+=+p[t+132>>2],p[t+132>>2]=l,s+=+p[t+136>>2],p[t+136>>2]=s):(P=0|_[t+364>>2],_[t+364>>2]=P+1,_[t+348+(P<<2)>>2]=c,s=0,l=0,r=0),1!=(0|m)){u=1;do{c=0|_[(i=t+148+(36*I|0)+(u<<2)|0)>>2],h&1<>2],_[t+148+(36*e|0)+(P<<2)>>2]=c,c=0|_[n+(u<<2)>>2],_[t+148+(36*e|0)+32>>2]=P+1,_[t+148+(36*e|0)+16+(P<<2)>>2]=c,P=0|_[i>>2],_[a>>2]=c,r=+p[a>>2],l=+p[P+20>>2]*r,s=+p[P+24>>2]*r,r=+p[P+16>>2]*r+ +p[t+128>>2],p[t+128>>2]=r,l+=+p[t+132>>2],p[t+132>>2]=l,s+=+p[t+136>>2],p[t+136>>2]=s):(P=0|_[t+364>>2],_[t+364>>2]=P+1,_[t+348+(P<<2)>>2]=c),u=u+1|0}while((0|u)!=(0|m))}}else s=0,l=0,r=0;if(15==(0|h)&&(_[t+376>>2]=1),(W=W+1|0)>>>0>=128){T=45;break}if(0|(i=0|_[t+376>>2]))break;I=e}if(6==(0|T))_[t+376>>2]=1,e=I,T=48;else if(9==(0|T))e=0|_[t+368>>2],W=(0|_[t+148+(36*e|0)+32>>2])-1|0,_[t+148+(36*e|0)+32>>2]=W,W=0|_[t+148+(36*e|0)+(W<<2)>>2],P=0|_[t+364>>2],_[t+364>>2]=P+1,_[t+348+(P<<2)>>2]=W,T=48;else if(10==(0|T))e=0|_[t+368>>2],W=(0|_[t+148+(36*e|0)+32>>2])-1|0,_[t+148+(36*e|0)+32>>2]=W,W=0|_[t+148+(36*e|0)+(W<<2)>>2],P=0|_[t+364>>2],_[t+364>>2]=P+1,_[t+348+(P<<2)>>2]=W,T=48;else{if(45==(0|T))return _[t+376>>2]=2,_[t+372>>2]=t+148+(36*e|0),Q=n,0|(P=2);46==(0|T)&&(e=0|_[t+368>>2],W=(0|_[t+148+(36*e|0)+32>>2])-1|0,_[t+148+(36*e|0)+32>>2]=W,W=0|_[t+148+(36*e|0)+(W<<2)>>2],P=0|_[t+364>>2],_[t+364>>2]=P+1,_[t+348+(P<<2)>>2]=W,T=48)}switch(48==(0|T)&&(i=0|_[t+376>>2]),_[t+372>>2]=t+148+(36*e|0),0|i){case 0:return F=+p[t+128>>2],x=+p[t+132>>2],O=+p[t+136>>2],O=+b(+(F*F+x*x+O*O)),p[t+144>>2]=O,Q=n,0|(P=0);case 1:return p[t+144>>2]=0,Q=n,0|(P=1);default:return Q=n,0|(P=i)}return 0}function vi(t,e,i,o,r,s,c){t|=0,e|=0,i|=0,o|=0,r=+r,s=+s,c|=0;var a,l,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0;if(l=Q,Q=Q+48|0,n[l+16+16|0]=1,_[(a=l+16+12|0)>>2]=0,_[l+16+4>>2]=0,_[l+16+8>>2]=0,(0|(u=0|_[o+4>>2]))>0){if(_[6630]=1+(0|_[6630]),(d=0|di(16+(u<<4|3)|0))?(_[(d+4+15&-16)-4>>2]=d,f=d+4+15&-16):f=0,(0|(A=0|_[l+16+4>>2]))>0){d=0;do{X=f+(d<<4)|0,J=(0|_[a>>2])+(d<<4)|0,_[X>>2]=_[J>>2],_[X+4>>2]=_[J+4>>2],_[X+8>>2]=_[J+8>>2],_[X+12>>2]=_[J+12>>2],d=d+1|0}while((0|d)!=(0|A))}0|(d=0|_[a>>2])&&(0|n[l+16+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[d+-4>>2])),_[a>>2]=0),n[l+16+16|0]=1,_[a>>2]=f,_[l+16+8>>2]=u}if((0|(A=0|_[e+28>>2]))>0){for(X=0|_[e+36>>2],w=+p[i>>2],S=+p[i+4>>2],g=+p[i+8>>2],v=+p[i+16>>2],y=+p[i+20>>2],h=+p[i+24>>2],C=+p[i+32>>2],m=+p[i+36>>2],b=+p[i+40>>2],R=+p[t>>2],j=+p[t+4>>2],D=+p[t+8>>2],J=-1,k=34028234663852886e22,d=0;J=(f=((I=+p[X+(36*d|0)+20>>2])*w+(B=+p[X+(36*d|0)+24>>2])*S+(W=+p[X+(36*d|0)+28>>2])*g)*R+(I*v+B*y+W*h)*j+(I*C+B*m+W*b)*D=0){if((0|(V=0|_[X+(36*J|0)+4>>2]))>0){for(G=X+(36*J|0)+12|0,N=X+(36*J|0)+20|0,L=X+(36*J|0)+24|0,E=X+(36*J|0)+28|0,d=0,M=l+16|0,P=o;;){if(O=0|_[G>>2],x=0|_[O+(d<<2)>>2],o=0|_[e+16>>2],O=0|_[O+(((0|(T=d+1|0))==(0|V)?0:T)<<2)>>2],R=(q=(K=+p[o+(x<<4)>>2])-+p[o+(O<<4)>>2])*w+($=(z=+p[o+(x<<4)+4>>2])-+p[o+(O<<4)+4>>2])*S+(D=(k=+p[o+(x<<4)+8>>2])-+p[o+(O<<4)+8>>2])*g,j=q*v+$*y+D*h,D=q*C+$*m+D*b,I=w*($=+p[N>>2])+S*(q=+p[L>>2])+g*(W=+p[E>>2]),B=v*$+y*q+h*W,W=C*$+m*q+b*W,k=(K*w+z*S+k*g+ +p[i+48>>2])*-(j*W-D*B)+(K*v+z*y+k*h+ +p[i+52>>2])*-(D*I-R*W)+(K*C+z*m+k*b+ +p[i+56>>2])*-(R*B-j*I),o=M,(0|(d=0|_[(O=P)+4>>2]))>=2){for(f=0|_[O+12>>2],A=0,b=(m=+p[f+(d+-1<<4)>>2])*-(j*W-D*B)+(h=+p[f+(d+-1<<4)+4>>2])*-(D*I-R*W)+(y=+p[f+(d+-1<<4)+8>>2])*-(R*B-j*I)-k;;){v=+p[f+(A<<4)>>2],S=+p[f+(A<<4)+4>>2],w=+p[f+(A<<4)+8>>2],x=0|_[f+(A<<4)+12>>2],C=v*-(j*W-D*B)+S*-(D*I-R*W)+w*-(R*B-j*I)-k;do{if(b<0){if(C<0){if((0|(u=0|_[o+4>>2]))==(0|_[o+8>>2])&&(0|u)<(0|(H=0|u?u<<1:1))){if(H?(_[6630]=1+(0|_[6630]),(f=0|di(16+(H<<4|3)|0))?(_[(f+4+15&-16)-4>>2]=f,f=f+4+15&-16):f=0,u=0|_[o+4>>2]):f=0,(0|u)>0){F=0;do{tt=f+(F<<4)|0,et=(0|_[o+12>>2])+(F<<4)|0,_[tt>>2]=_[et>>2],_[tt+4>>2]=_[et+4>>2],_[tt+8>>2]=_[et+8>>2],_[tt+12>>2]=_[et+12>>2],F=F+1|0}while((0|F)!=(0|u))}0|(u=0|_[o+12>>2])&&(0|n[o+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[o+12>>2]=0),n[o+16|0]=1,_[o+12>>2]=f,_[o+8>>2]=H,f=0|_[o+4>>2]}else f=u;F=0|_[o+12>>2],p[F+(f<<4)>>2]=v,p[F+(f<<4)+4>>2]=S,p[F+(f<<4)+8>>2]=w,_[F+(f<<4)+12>>2]=x,F=83;break}if(g=m+(v-m)*(b/=b-C),m=h+(S-h)*b,b=y+(w-y)*b,(0|(u=0|_[o+4>>2]))==(0|_[o+8>>2])&&(0|u)<(0|(Z=0|u?u<<1:1))){if(Z?(_[6630]=1+(0|_[6630]),(f=0|di(16+(Z<<4|3)|0))?(_[(f+4+15&-16)-4>>2]=f,f=f+4+15&-16):f=0,u=0|_[o+4>>2]):f=0,(0|u)>0){F=0;do{et=f+(F<<4)|0,tt=(0|_[o+12>>2])+(F<<4)|0,_[et>>2]=_[tt>>2],_[et+4>>2]=_[tt+4>>2],_[et+8>>2]=_[tt+8>>2],_[et+12>>2]=_[tt+12>>2],F=F+1|0}while((0|F)!=(0|u))}0|(u=0|_[o+12>>2])&&(0|n[o+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[o+12>>2]=0),n[o+16|0]=1,_[o+12>>2]=f,_[o+8>>2]=Z,f=0|_[o+4>>2]}else f=u;F=0|_[o+12>>2],p[F+(f<<4)>>2]=g,p[F+(f<<4)+4>>2]=m,p[F+(f<<4)+8>>2]=b,p[F+(f<<4)+12>>2]=0,F=83;break}if(C<0){if(g=m+(v-m)*(b/=b-C),m=h+(S-h)*b,b=y+(w-y)*b,(0|(u=0|_[o+4>>2]))==(0|_[o+8>>2])&&(0|u)<(0|(U=0|u?u<<1:1))){if(U?(_[6630]=1+(0|_[6630]),(f=0|di(16+(U<<4|3)|0))?(_[(f+4+15&-16)-4>>2]=f,f=f+4+15&-16):f=0,u=0|_[o+4>>2]):f=0,(0|u)>0){F=0;do{et=f+(F<<4)|0,tt=(0|_[o+12>>2])+(F<<4)|0,_[et>>2]=_[tt>>2],_[et+4>>2]=_[tt+4>>2],_[et+8>>2]=_[tt+8>>2],_[et+12>>2]=_[tt+12>>2],F=F+1|0}while((0|F)!=(0|u))}0|(u=0|_[o+12>>2])&&(0|n[o+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[o+12>>2]=0),n[o+16|0]=1,_[o+12>>2]=f,_[o+8>>2]=U,f=0|_[o+4>>2]}else f=u;if(u=0|_[o+12>>2],p[u+(f<<4)>>2]=g,p[u+(f<<4)+4>>2]=m,p[u+(f<<4)+8>>2]=b,p[u+(f<<4)+12>>2]=0,u=1+(0|_[o+4>>2])|0,_[o+4>>2]=u,(0|u)==(0|_[o+8>>2])&&(0|u)<(0|(Y=0|u?u<<1:1))){if(Y?(_[6630]=1+(0|_[6630]),(f=0|di(16+(Y<<4|3)|0))?(_[(f+4+15&-16)-4>>2]=f,f=f+4+15&-16):f=0,u=0|_[o+4>>2]):f=0,(0|u)>0){F=0;do{et=f+(F<<4)|0,tt=(0|_[o+12>>2])+(F<<4)|0,_[et>>2]=_[tt>>2],_[et+4>>2]=_[tt+4>>2],_[et+8>>2]=_[tt+8>>2],_[et+12>>2]=_[tt+12>>2],F=F+1|0}while((0|F)!=(0|u))}0|(u=0|_[o+12>>2])&&(0|n[o+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[o+12>>2]=0),n[o+16|0]=1,_[o+12>>2]=f,_[o+8>>2]=Y,f=0|_[o+4>>2]}else f=u;F=0|_[o+12>>2],p[F+(f<<4)>>2]=v,p[F+(f<<4)+4>>2]=S,p[F+(f<<4)+8>>2]=w,_[F+(f<<4)+12>>2]=x,F=83}}while(0);if(83==(0|F)&&(F=0,_[o+4>>2]=1+(0|_[o+4>>2])),(0|(A=A+1|0))==(0|d))break;b=C,m=v,y=w,h=S,f=0|_[O+12>>2]}d=0|_[O+4>>2]}if((0|d)<0){(0|_[O+8>>2])<0&&(0|(A=0|_[O+12>>2])&&(0|n[O+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[O+12>>2]=0),n[O+16|0]=1,_[O+12>>2]=0,_[O+8>>2]=0);do{et=(0|_[O+12>>2])+(d<<4)|0,_[et>>2]=_[l>>2],_[et+4>>2]=_[l+4>>2],_[et+8>>2]=_[l+8>>2],_[et+12>>2]=_[l+12>>2],d=d+1|0}while(0|d)}if(_[O+4>>2]=0,(0|T)>=(0|V))break;et=P,d=T,w=+p[i>>2],S=+p[i+4>>2],g=+p[i+8>>2],v=+p[i+16>>2],y=+p[i+20>>2],h=+p[i+24>>2],C=+p[i+32>>2],m=+p[i+36>>2],b=+p[i+40>>2],P=M,M=et}f=N,A=L,d=E,u=i+48|0,F=i+52|0,x=i+56|0,O=o+4|0,w=+p[i>>2],S=+p[i+4>>2],g=+p[i+8>>2],v=+p[i+16>>2],y=+p[i+20>>2],h=+p[i+24>>2],C=+p[i+32>>2],m=+p[i+36>>2],b=+p[i+40>>2]}else f=X+(36*J|0)+20|0,A=X+(36*J|0)+24|0,d=X+(36*J|0)+28|0,u=i+48|0,F=i+52|0,x=i+56|0,O=o+4|0;if(g=(K=+p[f>>2])*w+(q=+p[A>>2])*S+($=+p[d>>2])*g,y=K*v+q*y+$*h,h=K*C+q*m+$*b,m=+p[X+(36*J|0)+32>>2]-(g*+p[u>>2]+y*+p[F>>2]+h*+p[x>>2]),(0|(d=0|_[O>>2]))>0){u=o+12|0,f=0;do{et=0|_[u>>2],(b=(b=m+(g*+p[(A=et+(f<<4)|0)>>2]+y*+p[et+(f<<4)+4>>2]+h*+p[et+(f<<4)+8>>2]))<=r?r:b)<=s&&(_[l>>2]=_[A>>2],_[l+4>>2]=_[A+4>>2],_[l+8>>2]=_[A+8>>2],_[l+12>>2]=_[A+12>>2],rd[15&_[16+(0|_[c>>2])>>2]](c,t,l,b),d=0|_[O>>2]),f=f+1|0}while((0|f)<(0|d))}}}(d=0|_[a>>2])?(0|n[l+16+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[d+-4>>2])),_[a>>2]=0,Q=l):Q=l}function Si(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,d,A,f,u,m,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0;m=Q,Q=Q+208|0,p[56+(t|=0)>>2]=0,s=m+192+4|0,c=m+192+8|0,_[m+192>>2]=0,_[m+192+4>>2]=0,_[m+192+8>>2]=0,_[m+192+12>>2]=0,_[m+128>>2]=_[e>>2],_[m+128+4>>2]=_[e+4>>2],_[m+128+8>>2]=_[e+8>>2],_[m+128+12>>2]=_[e+12>>2],_[m+128+16>>2]=_[e+16>>2],_[m+128+16+4>>2]=_[e+16+4>>2],_[m+128+16+8>>2]=_[e+16+8>>2],_[m+128+16+12>>2]=_[e+16+12>>2],_[m+128+32>>2]=_[e+32>>2],_[m+128+32+4>>2]=_[e+32+4>>2],_[m+128+32+8>>2]=_[e+32+8>>2],_[m+128+32+12>>2]=_[e+32+12>>2],_[(V=m+128+48|0)>>2]=_[e+48>>2],_[V+4>>2]=_[e+48+4>>2],_[V+8>>2]=_[e+48+8>>2],_[V+12>>2]=_[e+48+12>>2],_[m+64>>2]=_[e+64>>2],_[m+64+4>>2]=_[e+64+4>>2],_[m+64+8>>2]=_[e+64+8>>2],_[m+64+12>>2]=_[e+64+12>>2],_[m+64+16>>2]=_[e+80>>2],_[m+64+16+4>>2]=_[e+80+4>>2],_[m+64+16+8>>2]=_[e+80+8>>2],_[m+64+16+12>>2]=_[e+80+12>>2],_[m+64+32>>2]=_[e+96>>2],_[m+64+32+4>>2]=_[e+96+4>>2],_[m+64+32+8>>2]=_[e+96+8>>2],_[m+64+32+12>>2]=_[e+96+12>>2],_[(G=m+64+48|0)>>2]=_[e+112>>2],_[G+4>>2]=_[e+112+4>>2],_[G+8>>2]=_[e+112+8>>2],_[G+12>>2]=_[e+112+12>>2],a=+p[V>>2],l=+p[G>>2],d=+p[m+128+52>>2],A=+p[m+64+52>>2],f=+p[m+128+56>>2],u=+p[m+64+56>>2],p[V>>2]=a-.5*(a+l),p[m+128+52>>2]=d-.5*(d+A),p[m+128+56>>2]=f-.5*(f+u),p[G>>2]=l-.5*(a+l),p[m+64+52>>2]=A-.5*(d+A),p[m+64+56>>2]=u-.5*(f+u),V=((0|_[4+(0|_[t+28>>2])>>2])-17|0)>>>0<2?((0|_[4+(0|_[t+32>>2])>>2])-17|0)>>>0<2:0,B=+p[t+44>>2],I=+p[t+48>>2],_[6615]=1+(0|_[6615]),G=0|n[t+52|0],_[t+64>>2]=0,_[t+4>>2]=0,_[t+8>>2]=1065353216,_[t+12>>2]=0,p[t+16>>2]=0,_[t+68>>2]=0,_[t+60>>2]=-1,v=0|_[t+24>>2],n[v+312|0]=0,_[v>>2]=0,n[v+356|0]=1,_[v+292>>2]=1566444395,_[v+296>>2]=1566444395,_[v+300>>2]=1566444395,p[v+304>>2]=0,_[v+336>>2]=0,_[v+336+4>>2]=0,_[v+336+8>>2]=0,_[v+336+12>>2]=0,n[v+336+16|0]=0,n[v+332|0]=-16&n[v+332|0],v=0,C=0xde0b6b000000000;do{S=+p[t+4>>2],g=+p[t+8>>2],y=+p[t+12>>2],j=+p[e+4>>2]*-S+ +p[e+20>>2]*-g+ +p[e+36>>2]*-y,D=+p[e+8>>2]*-S+ +p[e+24>>2]*-g+ +p[e+40>>2]*-y,p[m+48>>2]=+p[e>>2]*-S+ +p[e+16>>2]*-g+ +p[e+32>>2]*-y,p[m+48+4>>2]=j,p[m+48+8>>2]=D,p[m+48+12>>2]=0,D=S*+p[e+68>>2]+g*+p[e+84>>2]+y*+p[e+100>>2],j=S*+p[e+72>>2]+g*+p[e+88>>2]+y*+p[e+104>>2],p[m+32>>2]=S*+p[e+64>>2]+g*+p[e+80>>2]+y*+p[e+96>>2],p[m+32+4>>2]=D,p[m+32+8>>2]=j,p[m+32+12>>2]=0,ye(m+16|0,0|_[t+28>>2],m+48|0),ye(m,0|_[t+32>>2],m+32|0),j=+p[m+16>>2],D=+p[m+16+4>>2],y=+p[m+16+8>>2],g=j*+p[m+128>>2]+D*+p[m+128+4>>2]+y*+p[m+128+8>>2]+ +p[m+128+48>>2],S=j*+p[m+128+16>>2]+D*+p[m+128+20>>2]+y*+p[m+128+24>>2]+ +p[m+128+52>>2],y=j*+p[m+128+32>>2]+D*+p[m+128+36>>2]+y*+p[m+128+40>>2]+ +p[m+128+56>>2],D=+p[m>>2],j=+p[m+4>>2],R=+p[m+8>>2],w=D*+p[m+64>>2]+j*+p[m+64+4>>2]+R*+p[m+64+8>>2]+ +p[m+64+48>>2],k=D*+p[m+64+16>>2]+j*+p[m+64+20>>2]+R*+p[m+64+24>>2]+ +p[m+64+52>>2],R=D*+p[m+64+32>>2]+j*+p[m+64+36>>2]+R*+p[m+64+40>>2]+ +p[m+64+56>>2],j=V?0:R,D=V?0:y,R=V?0:y-R,(y=(g-w)*+p[t+4>>2]+(S-k)*+p[t+8>>2]+R*+p[t+12>>2])>0&&y*y>C*+p[e+128>>2]?(_[t+68>>2]=10,r=0,v=1):Z=7;do{if(7==(0|Z)){if(Z=0,P=0|_[t+24>>2],(0|(M=0|_[P>>2]))>0){h=+p[P+308>>2],T=0,r=0;do{r|=(F=g-w-+p[P+4+(T<<4)>>2])*F+(x=S-k-+p[P+4+(T<<4)+4>>2])*x+(O=R-+p[P+4+(T<<4)+8>>2])*O<=h,T=T+1|0}while((0|T)!=(0|M))}else r=0;if(0==+p[P+304>>2]&&R==+p[P+300>>2]&&S-k==+p[P+296>>2]?g-w==+p[P+292>>2]|r&&(Z=15):Z=14,14==(0|Z)&&(Z=0,r)&&(Z=15),15==(0|Z)){Z=0,_[t+68>>2]=1,r=0,v=1;break}if((h=C-y)<=9.999999974752427e-7*C){_[t+68>>2]=h<=0?2:11,r=0,v=1;break}if(p[P+292>>2]=g-w,p[P+296>>2]=S-k,p[P+300>>2]=R,p[P+304>>2]=0,n[P+356|0]=1,p[P+4+(M<<4)>>2]=g-w,p[P+4+(M<<4)+4>>2]=S-k,p[P+4+(M<<4)+8>>2]=R,p[P+4+(M<<4)+12>>2]=0,r=0|_[P>>2],p[P+84+(r<<4)>>2]=g,p[P+84+(r<<4)+4>>2]=S,p[P+84+(r<<4)+8>>2]=D,p[P+84+(r<<4)+12>>2]=0,r=0|_[P>>2],p[P+164+(r<<4)>>2]=w,p[P+164+(r<<4)+4>>2]=k,p[P+164+(r<<4)+8>>2]=j,p[P+164+(r<<4)+12>>2]=0,_[P>>2]=1+(0|_[P>>2]),M=0|fi(r=0|_[t+24>>2]),h=+p[r+276>>2],y=+p[r+280>>2],g=+p[r+284>>2],r=0|_[r+288>>2],!M){_[t+68>>2]=3,r=0,v=1;break}if(h*h+y*y+g*g<9.999999974752427e-7){p[t+4>>2]=h,p[t+8>>2]=y,p[t+12>>2]=g,_[t+16>>2]=r,_[t+68>>2]=6,r=0,v=1;break}if(C-(h*h+y*y+g*g)<=1.1920928955078125e-7*C){_[t+68>>2]=12,C=h*h+y*y+g*g,r=0,v=1;break}p[t+4>>2]=h,p[t+8>>2]=y,p[t+12>>2]=g,_[t+16>>2]=r,M=0|_[t+64>>2],_[t+64>>2]=M+1,(0|M)<=1e3?4==(0|_[_[t+24>>2]>>2])?(_[t+68>>2]=13,C=h*h+y*y+g*g,r=0):(C=h*h+y*y+g*g,r=1):(C=h*h+y*y+g*g,r=0)}}while(0)}while(r);j=(G<<24>>24?0:B)+(D=G<<24>>24?0:I),v?(fi(G=0|_[t+24>>2]),g=+p[G+260>>2],y=+p[G+264>>2],h=+p[G+268>>2],_[m+192>>2]=_[t+4>>2],_[m+192+4>>2]=_[t+4+4>>2],_[m+192+8>>2]=_[t+4+8>>2],_[m+192+12>>2]=_[t+4+12>>2],(S=+p[t+4>>2])*S+(w=+p[t+8>>2])*w+(k=+p[t+12>>2])*k<1e-4&&(_[t+68>>2]=5),S*S+w*w+k*k>14210854715202004e-30?(x=1/+b(+(S*S+w*w+k*k)),p[m+192>>2]=x*+p[m+192>>2],p[s>>2]=x*+p[s>>2],p[c>>2]=x*+p[c>>2],O=D/+b(+C),C=1/x-j,v=1,r=1,g=O*S+g,y=O*w+y,h=O*k+h):(C=0,v=0,r=2),_[t+60>>2]=r):(C=0,v=0,g=0,y=0,h=0),r=0|_[t+72>>2]&&0|_[t+20>>2]?j+C<.01&!!(0|_[t+68>>2]):0,T=1^v;do{if(r|T&&0|(N=0|_[t+20>>2])){if(_[6614]=1+(0|_[6614]),_[t+4>>2]=0,_[t+4+4>>2]=0,_[t+4+8>>2]=0,_[t+4+12>>2]=0,0|Yl[3&_[8+(0|_[N>>2])>>2]](N,0|_[t+24>>2],0|_[t+28>>2],0|_[t+32>>2],m+128|0,m+64|0,t+4|0,m+48|0,m+32|0,o)){if(((w=+p[m+32>>2])-(k=+p[m+48>>2]))*(w-k)+((R=+p[m+32+4>>2])-(j=+p[m+48+4>>2]))*(R-j)+((D=+p[m+32+8>>2])-(I=+p[m+48+8>>2]))*(D-I)<=14210854715202004e-30?(S=(W=+p[t+4>>2])*W+(O=+p[t+8>>2])*O+(F=+p[t+12>>2])*F,x=+p[t+16>>2]):(S=(w-k)*(w-k)+(R-j)*(R-j)+(D-I)*(D-I),W=w-k,F=D-I,x=0,O=R-j),S>14210854715202004e-30){if(B=1/+b(+S),C>(S=-+b(+((k-w)*(k-w)+(j-R)*(j-R)+(I-D)*(I-D))))|T){g=+p[m+32>>2],y=+p[m+32+4>>2],h=+p[m+32+8>>2],p[m+192>>2]=W*B,p[s>>2]=O*B,p[c>>2]=F*B,p[m+192+12>>2]=x,_[t+60>>2]=3,C=S;break}r=8}else r=9;if(_[t+60>>2]=r,v)break;return void(Q=m)}if(!((w=+p[t+4>>2])*w+(k=+p[t+8>>2])*k+(R=+p[t+12>>2])*R>0)){if(v)break;return void(Q=m)}if(x=+p[m+48>>2]-+p[m+32>>2],O=+p[m+48+4>>2]-+p[m+32+4>>2],S=+p[m+48+8>>2]-+p[m+32+8>>2],(S=+b(+(x*x+O*O+S*S))-j)>2],y=D*k+ +p[m+32+4>>2],h=D*R+ +p[m+32+8>>2],_[m+192>>2]=_[t+4>>2],_[m+192+4>>2]=_[t+4+4>>2],_[m+192+8>>2]=_[t+4+8>>2],_[m+192+12>>2]=_[t+4+12>>2],F=+p[m+192>>2],x=+p[s>>2],O=+p[c>>2],C=1/+b(+(F*F+x*x+O*O)),p[m+192>>2]=F*C,p[s>>2]=x*C,p[c>>2]=O*C,_[t+60>>2]=6,C=S;break}if(_[t+60>>2]=5,v)break;return void(Q=m)}Z=51}while(0);(51!=(0|Z)||v)&&(C<0||C*C<+p[e+128>>2])?(0|_[t+76>>2]&&(Z=0|_[t+28>>2],pd[127&_[8+(0|_[Z>>2])>>2]](Z,m+128|0,m+48|0,m+32|0),F=.5*(+p[m+32>>2]+ +p[m+48>>2]),x=.5*(+p[m+32+4>>2]+ +p[m+48+4>>2]),O=.5*(+p[m+32+8>>2]+ +p[m+48+8>>2]),Z=0|_[t+32>>2],pd[127&_[8+(0|_[Z>>2])>>2]](Z,m+64|0,m+48|0,m+32|0),L=+p[m+192>>2],E=+p[s>>2],H=+p[c>>2],(F-.5*(+p[m+48>>2]+ +p[m+32>>2]))*L+(x-.5*(+p[m+48+4>>2]+ +p[m+32+4>>2]))*E+(O-.5*(+p[m+48+8>>2]+ +p[m+32+8>>2]))*H<0)&&(p[m+192>>2]=-L,p[s>>2]=-E,p[c>>2]=-H),_[t+4>>2]=_[m+192>>2],_[t+4+4>>2]=_[m+192+4>>2],_[t+4+8>>2]=_[m+192+8>>2],_[t+4+12>>2]=_[m+192+12>>2],p[t+56>>2]=C,Z=0|_[16+(0|_[i>>2])>>2],p[m+48>>2]=.5*(a+l)+g,p[m+48+4>>2]=.5*(d+A)+y,p[m+48+8>>2]=.5*(f+u)+h,p[m+48+12>>2]=0,rd[15&Z](i,m+192|0,m+48|0,C),Q=m):Q=m}function wi(t,e,i,r){e|=0,i|=0,r|=0;var s=0,c=0,a=0,l=0,d=0,b=0;if(_[168+(t|=0)>>2]=_[t+152>>2],_[e>>2]=10008,_[e+52>>2]=282,n[e+60|0]=0,n[e+80|0]=1,_[e+76>>2]=0,_[e+68>>2]=0,_[e+72>>2]=0,n[e+100|0]=1,_[e+96>>2]=0,_[e+88>>2]=0,_[e+92>>2]=0,n[e+120|0]=1,_[e+116>>2]=0,_[e+108>>2]=0,_[e+112>>2]=0,n[e+140|0]=1,_[e+136>>2]=0,_[e+128>>2]=0,_[e+132>>2]=0,_[e+144>>2]=0,n[e+164|0]=1,_[e+160>>2]=0,_[e+152>>2]=0,_[e+156>>2]=0,_[e+168>>2]=0,_[e+4>>2]=-8388609,_[e+8>>2]=-8388609,_[e+12>>2]=-8388609,p[e+16>>2]=0,_[e+20>>2]=2139095039,_[e+24>>2]=2139095039,_[e+28>>2]=2139095039,p[e+32>>2]=0,i=0|_[t+56>>2],r?(i=0|Ap(0|i),_[e+56>>2]=i,n[e+4|0]=0|n[t+4+3|0],n[e+5|0]=0|n[t+4+2|0],n[e+6|0]=0|n[t+4+1|0],n[e+7|0]=0|n[t+4|0],n[e+8|0]=0|n[t+8+3|0],n[e+9|0]=0|n[t+8+2|0],n[e+10|0]=0|n[t+8+1|0],n[e+11|0]=0|n[t+8|0],n[e+12|0]=0|n[t+12+3|0],n[e+13|0]=0|n[t+12+2|0],n[e+14|0]=0|n[t+12+1|0],n[e+15|0]=0|n[t+12|0],n[e+16|0]=0|n[t+16+3|0],n[e+17|0]=0|n[t+16+2|0],n[e+18|0]=0|n[t+16+1|0],n[e+19|0]=0|n[t+16|0],n[e+20|0]=0|n[t+20+3|0],n[e+21|0]=0|n[t+20+2|0],n[e+22|0]=0|n[t+20+1|0],n[e+23|0]=0|n[t+20|0],n[e+24|0]=0|n[t+24+3|0],n[e+25|0]=0|n[t+24+2|0],n[e+26|0]=0|n[t+24+1|0],n[e+27|0]=0|n[t+24|0],n[e+28|0]=0|n[t+28+3|0],n[e+29|0]=0|n[t+28+2|0],n[e+30|0]=0|n[t+28+1|0],n[e+31|0]=0|n[t+28|0],n[e+32|0]=0|n[t+32+3|0],n[e+33|0]=0|n[t+32+2|0],n[e+34|0]=0|n[t+32+1|0],n[e+35|0]=0|n[t+32|0],n[e+36|0]=0|n[t+36+3|0],n[e+37|0]=0|n[t+36+2|0],n[e+38|0]=0|n[t+36+1|0],n[e+39|0]=0|n[t+36|0],n[e+40|0]=0|n[t+40+3|0],n[e+41|0]=0|n[t+40+2|0],n[e+42|0]=0|n[t+40+1|0],n[e+43|0]=0|n[t+40|0],n[e+44|0]=0|n[t+44+3|0],n[e+45|0]=0|n[t+44+2|0],n[e+46|0]=0|n[t+44+1|0],n[e+47|0]=0|n[t+44|0],n[e+48|0]=0|n[t+48+3|0],n[e+49|0]=0|n[t+48+2|0],n[e+50|0]=0|n[t+48+1|0],n[e+51|0]=0|n[t+48|0],i=0|Ap(0|_[t+144>>2]),_[e+144>>2]=i,i=0|Ap(0|_[t+168>>2])):(_[e+56>>2]=i,_[e+4>>2]=_[t+4>>2],_[e+4+4>>2]=_[t+4+4>>2],_[e+4+8>>2]=_[t+4+8>>2],_[e+4+12>>2]=_[t+4+12>>2],_[e+20>>2]=_[t+20>>2],_[e+20+4>>2]=_[t+20+4>>2],_[e+20+8>>2]=_[t+20+8>>2],_[e+20+12>>2]=_[t+20+12>>2],_[e+36>>2]=_[t+36>>2],_[e+36+4>>2]=_[t+36+4>>2],_[e+36+8>>2]=_[t+36+8>>2],_[e+36+12>>2]=_[t+36+12>>2],_[e+144>>2]=_[t+144>>2],i=0|_[t+168>>2]),_[e+168>>2]=i,n[e+60|0]=0|n[t+60|0],a=0|_[t+56>>2],0|n[t+60|0]){if(0|(i=0|_[e+136>>2])&&(0|n[e+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[e+136>>2]=0),n[e+140|0]=0,_[e+136>>2]=e+172,_[e+128>>2]=a,_[e+132>>2]=a,r){if((0|a)>0){s=0|_[t+136>>2],i=0;do{b=0|Ma(0|o[s+(i<<4)>>1]),o[e+172+(i<<4)>>1]=b,b=0|Ma(0|o[s+(i<<4)+2>>1]),o[e+172+(i<<4)+2>>1]=b,b=0|Ma(0|o[s+(i<<4)+4>>1]),o[e+172+(i<<4)+4>>1]=b,b=0|Ma(0|o[s+(i<<4)+6>>1]),o[e+172+(i<<4)+6>>1]=b,b=0|Ma(0|o[s+(i<<4)+8>>1]),o[e+172+(i<<4)+8>>1]=b,b=0|Ma(0|o[s+(i<<4)+10>>1]),o[e+172+(i<<4)+10>>1]=b,b=0|Ap(0|_[s+(i<<4)+12>>2]),_[e+172+(i<<4)+12>>2]=b,i=i+1|0}while((0|i)!=(0|a))}}else if((0|a)>0){s=0|_[t+136>>2],i=0;do{o[e+172+(i<<4)>>1]=0|o[s+(i<<4)>>1],o[e+172+(i<<4)+2>>1]=0|o[s+(i<<4)+2>>1],o[e+172+(i<<4)+4>>1]=0|o[s+(i<<4)+4>>1],o[e+172+(i<<4)+6>>1]=0|o[s+(i<<4)+6>>1],o[e+172+(i<<4)+8>>1]=0|o[s+(i<<4)+8>>1],o[e+172+(i<<4)+10>>1]=0|o[s+(i<<4)+10>>1],_[e+172+(i<<4)+12>>2]=_[s+(i<<4)+12>>2],i=i+1|0}while((0|i)!=(0|a))}_[e+128>>2]=0,_[e+128+4>>2]=0,_[e+128+8>>2]=0,n[e+128+12|0]=0,i=a<<4}else{if(0|(i=0|_[e+96>>2])&&(0|n[e+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[e+96>>2]=0),n[e+100|0]=0,_[e+96>>2]=e+172,_[e+88>>2]=a,_[e+92>>2]=a,r)if((0|a)>0){s=0,c=0|_[t+96>>2],i=e+172|0;do{l=c+(s<<6)|0,n[0|(b=i+(s<<6)|0)]=0|n[l+3|0],n[b+1|0]=0|n[l+2|0],n[b+2|0]=0|n[l+1|0],n[b+3|0]=0|n[0|l],b=c+(s<<6)+4|0,n[0|(l=i+(s<<6)+4|0)]=0|n[b+3|0],n[l+1|0]=0|n[b+2|0],n[l+2|0]=0|n[b+1|0],n[l+3|0]=0|n[0|b],l=c+(s<<6)+8|0,n[0|(b=i+(s<<6)+8|0)]=0|n[l+3|0],n[b+1|0]=0|n[l+2|0],n[b+2|0]=0|n[l+1|0],n[b+3|0]=0|n[0|l],b=c+(s<<6)+12|0,n[0|(i=i+(s<<6)+12|0)]=0|n[b+3|0],n[i+1|0]=0|n[b+2|0],n[i+2|0]=0|n[b+1|0],n[i+3|0]=0|n[0|b],b=(i=0|_[t+96>>2])+(s<<6)+16|0,l=0|_[e+96>>2],n[0|(d=l+(s<<6)+16|0)]=0|n[b+3|0],n[d+1|0]=0|n[b+2|0],n[d+2|0]=0|n[b+1|0],n[d+3|0]=0|n[0|b],d=i+(s<<6)+20|0,n[0|(b=l+(s<<6)+20|0)]=0|n[d+3|0],n[b+1|0]=0|n[d+2|0],n[b+2|0]=0|n[d+1|0],n[b+3|0]=0|n[0|d],b=i+(s<<6)+24|0,n[0|(d=l+(s<<6)+24|0)]=0|n[b+3|0],n[d+1|0]=0|n[b+2|0],n[d+2|0]=0|n[b+1|0],n[d+3|0]=0|n[0|b],i=i+(s<<6)+28|0,n[0|(l=l+(s<<6)+28|0)]=0|n[i+3|0],n[l+1|0]=0|n[i+2|0],n[l+2|0]=0|n[i+1|0],n[l+3|0]=0|n[0|i],c=0|_[t+96>>2],l=0|Ap(0|_[c+(s<<6)+32>>2]),i=0|_[e+96>>2],_[i+(s<<6)+32>>2]=l,l=0|Ap(0|_[c+(s<<6)+36>>2]),_[i+(s<<6)+36>>2]=l,l=0|Ap(0|_[c+(s<<6)+40>>2]),_[i+(s<<6)+40>>2]=l,s=s+1|0}while((0|s)!=(0|a));s=29}else s=28;else if((0|a)>0){s=0,c=0|_[t+96>>2],i=e+172|0;do{d=c+(s<<6)|0,_[(b=i+(s<<6)|0)>>2]=_[d>>2],_[b+4>>2]=_[d+4>>2],_[b+8>>2]=_[d+8>>2],_[b+12>>2]=_[d+12>>2],b=(0|_[t+96>>2])+(s<<6)+16|0,i=(0|_[e+96>>2])+(s<<6)+16|0,_[i>>2]=_[b>>2],_[i+4>>2]=_[b+4>>2],_[i+8>>2]=_[b+8>>2],_[i+12>>2]=_[b+12>>2],c=0|_[t+96>>2],i=0|_[e+96>>2],_[i+(s<<6)+32>>2]=_[c+(s<<6)+32>>2],_[i+(s<<6)+36>>2]=_[c+(s<<6)+36>>2],_[i+(s<<6)+40>>2]=_[c+(s<<6)+40>>2],s=s+1|0}while((0|s)!=(0|a));s=29}else s=28;28==(0|s)?(i=a<<6,s=32):29==(0|s)&&(i?!(0|n[e+100|0])|!(0|i)?(i=a<<6,s=32):(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),i=a<<6,s=32):i=a<<6),32==(0|s)&&(_[e+96>>2]=0),_[e+88>>2]=0,_[e+88+4>>2]=0,_[e+88+8>>2]=0,n[e+88+12|0]=0}if(a=e+172+i|0,i=0|_[t+168>>2],0|(s=0|_[e+160>>2])&&(0|n[e+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[e+160>>2]=0),n[e+164|0]=0,_[e+160>>2]=a,_[e+152>>2]=i,_[e+156>>2]=i,c=0|_[t+168>>2],r){if((0|c)<=0)return _[e>>2]=0,_[e+152>>2]=0,_[e+152+4>>2]=0,_[e+152+8>>2]=0,n[e+152+12|0]=0,1;s=0|_[t+160>>2],i=0;do{b=0|Ma(0|o[s+(i<<5)>>1]),o[a+(i<<5)>>1]=b,b=0|Ma(0|o[s+(i<<5)+2>>1]),o[a+(i<<5)+2>>1]=b,b=0|Ma(0|o[s+(i<<5)+4>>1]),o[a+(i<<5)+4>>1]=b,b=0|Ma(0|o[s+(i<<5)+6>>1]),o[a+(i<<5)+6>>1]=b,b=0|Ma(0|o[s+(i<<5)+8>>1]),o[a+(i<<5)+8>>1]=b,b=0|Ma(0|o[s+(i<<5)+10>>1]),o[a+(i<<5)+10>>1]=b,b=0|Ap(0|_[s+(i<<5)+12>>2]),_[a+(i<<5)+12>>2]=b,b=0|Ap(0|_[s+(i<<5)+16>>2]),_[a+(i<<5)+16>>2]=b,i=i+1|0}while((0|i)!=(0|c));return _[e>>2]=0,_[e+152>>2]=0,_[e+152+4>>2]=0,_[e+152+8>>2]=0,n[e+152+12|0]=0,1}if((0|c)<=0)return _[e>>2]=0,_[e+152>>2]=0,_[e+152+4>>2]=0,_[e+152+8>>2]=0,n[e+152+12|0]=0,1;s=0|_[t+160>>2],i=0;do{o[a+(i<<5)>>1]=0|o[s+(i<<5)>>1],o[a+(i<<5)+2>>1]=0|o[s+(i<<5)+2>>1],o[a+(i<<5)+4>>1]=0|o[s+(i<<5)+4>>1],o[a+(i<<5)+6>>1]=0|o[s+(i<<5)+6>>1],o[a+(i<<5)+8>>1]=0|o[s+(i<<5)+8>>1],o[a+(i<<5)+10>>1]=0|o[s+(i<<5)+10>>1],_[a+(i<<5)+12>>2]=_[s+(i<<5)+12>>2],_[a+(i<<5)+16>>2]=_[s+(i<<5)+16>>2],_[a+(i<<5)+20>>2]=0,_[a+(i<<5)+24>>2]=0,_[a+(i<<5)+28>>2]=0,i=i+1|0}while((0|i)<(0|_[t+168>>2]));return _[e>>2]=0,_[e+152>>2]=0,_[e+152+4>>2]=0,_[e+152+8>>2]=0,n[e+152+12|0]=0,1}function ki(t,e){t|=0,e=+e;var i,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0;if(i=Q,Q=Q+464|0,$i(14286),0|(r=0|_[t+84>>2])&&zl[31&r](t,e),zl[31&_[140+(0|_[t>>2])>>2]](t,e),p[t+28>>2]=e,_[t+32>>2]=0,r=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),_[t+48>>2]=r,$i(14329),$i(14354),r=0|_[t+316>>2],(0|_[t+308>>2])>0){s=0;do{h=0|_[t+24>>2],ed[127&_[16+(0|_[h>>2])>>2]](h,0|_[r+(s<<2)>>2]),s=s+1|0,r=0|_[t+316>>2]}while((0|s)<(0|_[t+308>>2]))}0|r&&(0|n[t+320|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+316>>2]=0),n[t+320|0]=1,_[t+316>>2]=0,_[t+308>>2]=0,_[t+312>>2]=0,r=0|_[2606],h=(0|_[r+16>>2])-1|0,_[r+16>>2]=h;do{if(!h){if(0|_[r+4>>2]){if(G(i+368|0,0),h=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+368+4>>2])-(0|_[h+4>>2])+(1e6*((0|_[i+368>>2])-(0|_[h>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])break;r=0|_[2606]}_[2606]=_[r+20>>2]}}while(0);t:do{if((0|_[t+232>>2])>0)for(h=i+304+48|0,m=i+368+44|0,u=0;;){a=0|_[(0|_[t+240>>2])+(u<<2)>>2],p[a+244>>2]=1;e:do{switch(0|_[a+216>>2]){case 2:case 5:break;default:if(!(3&_[a+204>>2])&&(Bt(a+4|0,+p[a+312>>2],+p[a+316>>2],+p[a+320>>2],a+328|0,e,i+304|0),g=(y=+p[h>>2])-+p[a+52>>2],v=(C=+p[i+304+52>>2])-+p[a+56>>2],w=(S=+p[i+304+56>>2])-+p[a+60>>2],0|n[t+44|0])&&(A=+p[a+252>>2])*A!=0&&A*A>2])>>2])<20&&(_[6295]=1+(0|_[6295]),c=0|_[t+68>>2],c=0|Gl[127&_[36+(0|_[c>>2])>>2]](c),f=0|_[t+24>>2],p[i+368+4>>2]=1,_[i+368+12>>2]=_[a+52>>2],_[i+368+12+4>>2]=_[a+52+4>>2],_[i+368+12+8>>2]=_[a+52+8>>2],_[i+368+12+12>>2]=_[a+52+12>>2],_[i+368+28>>2]=_[h>>2],_[i+368+28+4>>2]=_[h+4>>2],_[i+368+28+8>>2]=_[h+8>>2],_[i+368+28+12>>2]=_[h+12>>2],_[i+368+76>>2]=0,_[i+368>>2]=5180,_[i+368+80>>2]=a,_[i+368+88>>2]=c,_[i+368+92>>2]=f,f=0|_[a+248>>2],_[i+248+8>>2]=0,_[i+248+12>>2]=1065353216,_[i+248+16>>2]=1065353216,_[i+248+20>>2]=1065353216,p[i+248+24>>2]=0,_[i+248>>2]=7568,_[i+248+4>>2]=8,_[i+248+28>>2]=f,_[i+248+44>>2]=f,_[i+368+84>>2]=_[t+56>>2],f=0|_[a+188>>2],o[i+368+8>>1]=0|o[f+4>>1],o[i+368+10>>1]=0|o[f+6>>1],_[i+184+48>>2]=_[h>>2],_[i+184+48+4>>2]=_[h+4>>2],_[i+184+48+8>>2]=_[h+8>>2],_[i+184+48+12>>2]=_[h+12>>2],_[i+184>>2]=_[a+4>>2],_[i+184+4>>2]=_[a+4+4>>2],_[i+184+8>>2]=_[a+4+8>>2],_[i+184+12>>2]=_[a+4+12>>2],_[i+184+16>>2]=_[a+20>>2],_[i+184+16+4>>2]=_[a+20+4>>2],_[i+184+16+8>>2]=_[a+20+8>>2],_[i+184+16+12>>2]=_[a+20+12>>2],_[i+184+32>>2]=_[a+36>>2],_[i+184+32+4>>2]=_[a+36+4>>2],_[i+184+32+8>>2]=_[a+36+8>>2],_[i+184+32+12>>2]=_[a+36+12>>2],we(t,i+248|0,a+4|0,i+184|0,i+368|0,0),(k=+p[i+368+4>>2])<1)){if(l=k*(y-+p[a+52>>2]),d=k*(C-+p[a+56>>2]),b=k*(S-+p[a+60>>2]),A=-d*+p[i+368+48>>2]-l*+p[m>>2]-b*+p[i+368+52>>2],f=0|_[t+24>>2],f=0|El[63&_[12+(0|_[f>>2])>>2]](f,a,0|_[i+368+76>>2]),(0|(s=0|_[t+308>>2]))==(0|_[t+312>>2])&&(0|s)<(0|(R=0|s?s<<1:1))){if(R?(_[6630]=1+(0|_[6630]),(r=0|di(16+(R<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[t+308>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[t+316>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[t+316>>2])&&(0|n[t+320|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[t+308>>2]),_[t+316>>2]=0),n[t+320|0]=1,_[t+316>>2]=r,_[t+312>>2]=R,r=s}else r=s;_[(0|_[t+316>>2])+(r<<2)>>2]=f,_[t+308>>2]=r+1,l+=+p[a+52>>2],d+=+p[a+56>>2],b+=+p[a+60>>2],c=0|_[i+368+76>>2],V=+p[c+4>>2],M=+p[c+20>>2],P=+p[c+36>>2],T=+p[c+8>>2],O=+p[c+24>>2],x=+p[c+40>>2],F=+p[c+12>>2],B=+p[c+28>>2],D=+p[c+44>>2],W=-+p[c+52>>2],I=-+p[c+56>>2],j=-+p[c+60>>2],_[i>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,p[i+16>>2]=l*V+d*M+b*P+(V*W+M*I+P*j),p[i+20>>2]=l*T+d*O+b*x+(T*W+O*I+x*j),p[i+24>>2]=l*F+d*B+b*D+(F*W+B*I+D*j),p[i+28>>2]=0,_[i+64>>2]=_[m>>2],_[i+64+4>>2]=_[m+4>>2],_[i+64+8>>2]=_[m+8>>2],_[i+64+12>>2]=_[m+12>>2],p[i+80>>2]=A,p[i+84>>2]=0,p[i+88>>2]=0,p[i+92>>2]=0,_[i+112>>2]=0,n[i+116|0]=0,_[i+120>>2]=0,_[i+120+4>>2]=0,_[i+120+8>>2]=0,_[i+120+12>>2]=0,_[i+120+16>>2]=0,_[i+120+20>>2]=0,_[i+120+24>>2]=0,_[i+120+28>>2]=0,c=0|X(f,i),p[f+4+(184*c|0)+92>>2]=0,A=(A=+p[a+224>>2]*+p[224+(0|_[i+368+76>>2])>>2])<-10?-10:A,p[f+4+(184*c|0)+84>>2]=A>10?10:A,_[f+4+(184*c|0)+48>>2]=_[a+52>>2],_[f+4+(184*c|0)+48+4>>2]=_[a+52+4>>2],_[f+4+(184*c|0)+48+8>>2]=_[a+52+8>>2],_[f+4+(184*c|0)+48+12>>2]=_[a+52+12>>2],p[f+4+(184*c|0)+32>>2]=l,p[f+4+(184*c|0)+36>>2]=d,p[f+4+(184*c|0)+40>>2]=b,p[f+4+(184*c|0)+44>>2]=0}if(r=0|_[2606],f=(0|_[r+16>>2])-1|0,_[r+16>>2]=f,!f){if(0|_[r+4>>2]){if(G(i+368|0,0),f=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+368+4>>2])-(0|_[f+4>>2])+(1e6*((0|_[i+368>>2])-(0|_[f>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])break e;r=0|_[2606]}_[2606]=_[r+20>>2]}}}}while(0);if((0|(u=u+1|0))>=(0|_[t+232>>2]))break t}}while(0);r=0|_[2606],R=(0|_[r+16>>2])-1|0,_[r+16>>2]=R;do{if(!R){if(0|_[r+4>>2]){if(G(i+368|0,0),R=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+368+4>>2])-(0|_[R+4>>2])+(1e6*((0|_[i+368>>2])-(0|_[R>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])break;r=0|_[2606]}_[2606]=_[r+20>>2]}}while(0);if(Xl[511&_[44+(0|_[t>>2])>>2]](t),Xl[511&_[148+(0|_[t>>2])>>2]](t),p[t+104>>2]=e,ed[127&_[152+(0|_[t>>2])>>2]](t,t+92|0),zl[31&_[144+(0|_[t>>2])>>2]](t,e),$i(14315),(0|_[t+280>>2])>0){r=0;do{R=0|_[(0|_[t+288>>2])+(r<<2)>>2],id[7&_[8+(0|_[R>>2])>>2]](R,t,e),r=r+1|0}while((0|r)<(0|_[t+280>>2]))}r=0|_[2606],R=(0|_[r+16>>2])-1|0,_[r+16>>2]=R;do{if(!R){if(0|_[r+4>>2]){if(G(i+368|0,0),R=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+368+4>>2])-(0|_[R+4>>2])+(1e6*((0|_[i+368>>2])-(0|_[R>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])break;r=0|_[2606]}_[2606]=_[r+20>>2]}}while(0);if(zl[31&_[156+(0|_[t>>2])>>2]](t,e),0|(r=0|_[t+80>>2])&&zl[31&r](t,e),r=0|_[2606],t=(0|_[r+16>>2])-1|0,_[r+16>>2]=t,0|t)Q=i;else{do{if(0|_[r+4>>2]){if(G(i+368|0,0),t=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+368+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[i+368>>2])-(0|_[t>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])return void(Q=i);r=0|_[2606];break}}while(0);_[2606]=_[r+20>>2],Q=i}}function Ri(t){t|=0;var e,i=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0;if(e=Q,Q=Q+192|0,$i(13425),(0|(i=0|_[t+1112>>2]))>0){F=0;do{if(W=0|_[(0|_[t+1120>>2])+(F<<2)>>2],B=0|_[W+24>>2]){a=44+(c=e+144+4|0)|0;do{_[c>>2]=0,c=c+4|0}while((0|c)<(0|a));if(p[e+144>>2]=9999999747378752e-20,p[e+144+20>>2]=.00019999999494757503,p[e+144+40>>2]=.00029999998514540493,(0|B)>0){c=0|_[W+32>>2],a=0|_[W+12>>2],i=0,o=0,r=0,s=0;do{I=0|_[c+(i<<2)>>2],D=+p[a+(i<<2)>>2],o+=+p[I+8>>2]*D,r+=D*+p[I+12>>2],s+=D*+p[I+16>>2],i=i+1|0}while((0|i)!=(0|B))}else s=0,r=0,o=0;if(y=o*(m=+p[W+128>>2]),h=r*m,m*=s,p[W+228>>2]=y,p[W+232>>2]=h,p[W+236>>2]=m,p[W+240>>2]=0,(0|B)>0){c=0|_[W+32>>2],a=0|_[W+52>>2],i=0,o=9999999747378752e-20,r=0,s=0,l=0,d=.00019999999494757503,b=0,A=0,f=0,u=.00029999998514540493;do{I=0|_[c+(i<<2)>>2],S=+p[I+8>>2]-y,w=+p[I+12>>2]-h,j=+p[I+16>>2]-m,o=S*(k=+p[a+(i<<4)>>2])+o,r=S*(R=+p[a+(i<<4)+4>>2])+r,s=S*(D=+p[a+(i<<4)+8>>2])+s,l=w*k+l,d=w*R+d,b=w*D+b,A=j*k+A,f=j*R+f,u=j*D+u,i=i+1|0}while((0|i)!=(0|B));p[e+144>>2]=o,p[e+144+4>>2]=r,p[e+144+8>>2]=s,p[e+144+16>>2]=l,p[e+144+20>>2]=d,p[e+144+24>>2]=b,p[e+144+32>>2]=A,p[e+144+36>>2]=f,p[e+144+40>>2]=u}if(!(0|n[24472])&&0|Qs(24472)&&(p[6278]=9999999747378752e-20,_[6279]=16),Fi(e+144|0,e+96|0,e+48|0),_[W+108>>2]=_[W+228>>2],_[W+108+4>>2]=_[W+228+4>>2],_[W+108+8>>2]=_[W+228+8>>2],_[W+108+12>>2]=_[W+228+12>>2],_[W+60>>2]=_[e+96>>2],_[W+60+4>>2]=_[e+96+4>>2],_[W+60+8>>2]=_[e+96+8>>2],_[W+60+12>>2]=_[e+96+12>>2],_[W+76>>2]=_[e+96+16>>2],_[W+76+4>>2]=_[e+96+16+4>>2],_[W+76+8>>2]=_[e+96+16+8>>2],_[W+76+12>>2]=_[e+96+16+12>>2],_[W+92>>2]=_[e+96+32>>2],_[W+92+4>>2]=_[e+96+32+4>>2],_[W+92+8>>2]=_[e+96+32+8>>2],_[W+92+12>>2]=_[e+96+32+12>>2],g=((d=+p[W+132>>2])*(T=+p[W+60>>2])+(b=+p[W+148>>2])*(O=+p[W+64>>2])+(A=+p[W+164>>2])*(R=+p[W+68>>2]))*T+(T*(f=+p[W+136>>2])+O*(u=+p[W+152>>2])+R*(m=+p[W+168>>2]))*O+(T*(h=+p[W+140>>2])+O*(y=+p[W+156>>2])+R*(D=+p[W+172>>2]))*R,C=(d*T+b*O+A*R)*(x=+p[W+76>>2])+(T*f+O*u+R*m)*(o=+p[W+80>>2])+(T*h+O*y+R*D)*(j=+p[W+84>>2]),v=(d*T+b*O+A*R)*(l=+p[W+92>>2])+(T*f+O*u+R*m)*(s=+p[W+96>>2])+(T*h+O*y+R*D)*(r=+p[W+100>>2]),S=(d*x+b*o+A*j)*T+(f*x+u*o+m*j)*O+(h*x+y*o+D*j)*R,w=(d*x+b*o+A*j)*x+(f*x+u*o+m*j)*o+(h*x+y*o+D*j)*j,k=(d*x+b*o+A*j)*l+(f*x+u*o+m*j)*s+(h*x+y*o+D*j)*r,R=T*(d*l+b*s+A*r)+(f*l+u*s+m*r)*O+(h*l+y*s+D*r)*R,j=x*(d*l+b*s+A*r)+(f*l+u*s+m*r)*o+(h*l+y*s+D*r)*j,D=(d*l+b*s+A*r)*l+(f*l+u*s+m*r)*s+(h*l+y*s+D*r)*r,p[W+180>>2]=g,p[W+184>>2]=C,p[W+188>>2]=v,p[W+192>>2]=0,p[W+196>>2]=S,p[W+200>>2]=w,p[W+204>>2]=k,p[W+208>>2]=0,p[W+212>>2]=R,p[W+216>>2]=j,p[W+220>>2]=D,p[W+224>>2]=0,_[W+316>>2]=0,_[W+316+4>>2]=0,_[W+316+8>>2]=0,_[W+316+12>>2]=0,_[W+316+16>>2]=0,_[W+316+20>>2]=0,_[W+316+24>>2]=0,_[W+316+28>>2]=0,(0|B)>0){c=0|_[W+32>>2],a=0|_[W+12>>2],m=+p[W+228>>2],h=+p[W+232>>2],y=+p[W+236>>2],i=0,u=0,f=0,A=0,b=0,d=0,o=0;do{I=0|_[c+(i<<2)>>2],M=+p[a+(i<<2)>>2],O=+p[I+40>>2]*M,P=M*+p[I+44>>2],M*=+p[I+48>>2],u=O+u,p[W+316>>2]=u,f=P+f,p[W+320>>2]=f,A=M+A,p[W+324>>2]=A,x=+p[I+8>>2]-m,b+=M*(T=+p[I+12>>2]-h)-P*(V=+p[I+16>>2]-y),p[W+332>>2]=b,d=O*V-M*x+d,p[W+336>>2]=d,o=P*x-O*T+o,p[W+340>>2]=o,i=i+1|0}while((0|i)!=(0|B));I=W+316|0,i=W+332|0}else I=W+316|0,i=W+332|0,u=0,f=0,A=0,b=0,d=0,o=0;M=+p[W+128>>2],V=1-+p[W+356>>2],p[W+316>>2]=u*M*V,p[W+320>>2]=M*f*V,p[W+324>>2]=M*A*V,p[W+328>>2]=0,V=1-+p[W+360>>2],p[i>>2]=(g*b+C*d+v*o)*V,p[W+336>>2]=(b*S+d*w+o*k)*V,p[W+340>>2]=V*(b*R+d*j+o*D),p[W+344>>2]=0,a=72+(c=W+244|0)|0;do{_[c>>2]=0,c=c+4|0}while((0|c)<(0|a));o=+p[W+364>>2];t:do{if(o>0&&(0|_[W+24>>2])>0)for(i=0;;){if(a=0|_[(0|_[W+32>>2])+(i<<2)>>2],c=0|_[W+52>>2],x=+p[c+(i<<4)>>2],O=+p[c+(i<<4)+4>>2],T=+p[c+(i<<4)+8>>2],P=+p[a+8>>2],M=+p[a+12>>2],V=+p[a+16>>2],M+=o*(x*+p[W+76>>2]+O*+p[W+80>>2]+T*+p[W+84>>2]+ +p[W+112>>2]-M),V+=o*(x*l+O*s+T*r+ +p[W+116>>2]-V),p[a+8>>2]=P+o*(x*+p[W+60>>2]+O*+p[W+64>>2]+T*+p[W+68>>2]+ +p[W+108>>2]-P),p[a+12>>2]=M,p[a+16>>2]=V,p[a+20>>2]=0,(0|(i=i+1|0))>=(0|_[W+24>>2]))break t;l=+p[W+92>>2],s=+p[W+96>>2],r=+p[W+100>>2],o=+p[W+364>>2]}}while(0);if(0|n[W+377|0]){if(c=0|_[W+32>>2],a=0|_[c>>2],o=+p[a+8>>2],u=+p[a+12>>2],m=+p[a+16>>2],r=+p[a+20>>2],(0|B)>1){i=1,d=o,f=o,b=r,A=m,l=r,s=u,r=u,o=m;do{a=0|_[c+(i<<2)>>2],f=(T=+p[a+8>>2])>2])>2])>2])>2]=f,p[e+16+4>>2]=r,p[e+16+8>>2]=A,p[e+16+12>>2]=l,p[e+16+16>>2]=d,p[e+16+20>>2]=s,p[e+16+24>>2]=o,p[e+16+28>>2]=b,i=0|_[W+348>>2])M=(P=+p[t+452>>2])*+p[W+320>>2]*3,V=P*+p[W+324>>2]*3,p[e>>2]=+p[I>>2]*P*3,p[e+4>>2]=M,p[e+8>>2]=V,p[e+12>>2]=0,Lt(t+1048|0,i,e+16|0,e,+p[t+464>>2]);else{if(i=0|_[t+1052>>2])_[t+1052>>2]=0;else{_[6630]=1+(0|_[6630]),(i=0|di(63))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,a=(c=i)+44|0;do{_[c>>2]=0,c=c+4|0}while((0|c)<(0|a))}_[i+32>>2]=0,_[i+36>>2]=W,_[i+40>>2]=0,_[i>>2]=_[e+16>>2],_[i+4>>2]=_[e+16+4>>2],_[i+8>>2]=_[e+16+8>>2],_[i+12>>2]=_[e+16+12>>2],_[i+16>>2]=_[e+16+16>>2],_[i+20>>2]=_[e+16+20>>2],_[i+24>>2]=_[e+16+24>>2],_[i+28>>2]=_[e+16+28>>2],U(t+1048|0,0|_[t+1048>>2],i),_[t+1060>>2]=1+(0|_[t+1060>>2]),_[W+348>>2]=i}}i=0|_[t+1112>>2]}F=F+1|0}while((0|F)<(0|i))}if(i=0|_[2606],t=(0|_[i+16>>2])-1|0,_[i+16>>2]=t,0|t)Q=e;else{do{if(0|_[i+4>>2]){if(G(e+144|0,0),t=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[e+144+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[e+144>>2])-(0|_[t>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,0|_[i+16>>2])return void(Q=e);i=0|_[2606];break}}while(0);_[2606]=_[i+20>>2],Q=e}}function ji(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r,s,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0;if(s=Q,Q=Q+784|0,_[s+168+8>>2]=0,_[s+168+12>>2]=1065353216,_[s+168+16>>2]=1065353216,_[s+168+20>>2]=1065353216,p[s+168+24>>2]=0,_[s+168>>2]=7568,_[s+168+4>>2]=8,p[s+168+28>>2]=0,p[s+168+44>>2]=0,F=0|_[i+4>>2],r=0|_[i+12>>2],(0|(j=0|_[F+4>>2]))<20)return _[s+600>>2]=4536,_[s+600+168>>2]=0,p[s+600+172>>2]=0,_[s+600+164>>2]=_[o+4>>2],p[s+240+308>>2]=9999999747378752e-20,n[s+240+332|0]=0,_[s+224>>2]=5860,_[s+224+4>>2]=s+240,_[s+224+8>>2]=s+168,_[s+224+12>>2]=F,_[s+152>>2]=10136,_[s+152+4>>2]=s+240,_[s+152+8>>2]=s+168,_[s+152+12>>2]=F,F=8&_[o+16>>2]?s+152|0:s+224|0,0|Zl[3&_[8+(0|_[F>>2])>>2]](F,t,e,r,r,s+600|0)&&(a=+p[(c=s+600+132|0)>>2])*a+(l=+p[s+600+136>>2])*l+(d=+p[s+600+140>>2])*d>9999999747378752e-20&&(A=+p[s+600+164>>2])<+p[o+4>>2]&&(W=1/+b(+(a*a+l*l+d*d)),p[c>>2]=a*W,p[s+600+136>>2]=l*W,p[s+600+140>>2]=d*W,_[s+120>>2]=_[i+8>>2],_[s+120+4>>2]=0,_[s+120+8>>2]=_[c>>2],_[s+120+8+4>>2]=_[c+4>>2],_[s+120+8+8>>2]=_[c+8>>2],_[s+120+8+12>>2]=_[c+12>>2],p[s+120+24>>2]=A,Fl[15&_[12+(0|_[o>>2])>>2]](o,s+120|0,1)),void(Q=s);if((j+-21|0)>>>0>=9){if(31!=(0|j))return void(Q=s);if(c=0|_[F+64>>2],i=0|_[i+8>>2],_[s+600>>2]=6656,_[s+600+4>>2]=i,_[s+600+8>>2]=F,_[s+600+12>>2]=r,_[s+600+16>>2]=t,_[s+600+20>>2]=e,_[s+600+24>>2]=o,c)B=+p[r+48>>2],u=+p[t+48>>2]-B,I=+p[r+52>>2],m=+p[t+52>>2]-I,R=+p[r+56>>2],h=+p[t+56>>2]-R,C=+p[r>>2],g=+p[r+16>>2],y=+p[r+32>>2],w=+p[r+4>>2],S=+p[r+20>>2],v=+p[r+36>>2],W=+p[r+8>>2],D=+p[r+24>>2],k=+p[r+40>>2],p[s+240>>2]=u*C+m*g+h*y,p[s+240+4>>2]=u*w+m*S+h*v,p[s+240+8>>2]=u*W+m*D+h*k,p[s+240+12>>2]=0,B=+p[e+48>>2]-B,I=+p[e+52>>2]-I,R=+p[e+56>>2]-R,p[s+224>>2]=y*R+(g*I+B*C),p[s+224+4>>2]=v*R+(S*I+B*w),p[s+224+8>>2]=k*R+(D*I+B*W),p[s+224+12>>2]=0,Xe(0|_[c>>2],s+240|0,s+224|0,s+600|0);else if((0|(t=0|_[F+16>>2]))>0){c=0;do{st(s+600|0,c),c=c+1|0}while((0|c)<(0|t))}Q=s}else{switch(a=+p[r>>2],g=+p[r+16>>2],C=+p[r+32>>2],l=+p[r+4>>2],w=+p[r+20>>2],k=+p[r+36>>2],d=+p[r+8>>2],D=+p[r+24>>2],I=+p[r+40>>2],B=-+p[r+48>>2],W=-+p[r+52>>2],R=-+p[r+56>>2],m=+p[t+48>>2],h=+p[t+52>>2],A=+p[t+56>>2],p[s+152>>2]=a*B+g*W+C*R+(a*m+g*h+C*A),p[s+152+4>>2]=l*B+w*W+k*R+(l*m+w*h+k*A),p[s+152+8>>2]=d*B+D*W+I*R+(d*m+D*h+I*A),p[s+152+12>>2]=0,a=a*B+g*W+C*R+(a*(v=+p[e+48>>2])+g*(S=+p[e+52>>2])+C*(y=+p[e+56>>2])),l=l*B+w*W+k*R+(l*v+w*S+k*y),d=d*B+D*W+I*R+(d*v+D*S+I*y),p[s+120>>2]=a,p[s+120+4>>2]=l,p[s+120+8>>2]=d,p[s+120+12>>2]=0,0|j){case 21:c=0|_[i+8>>2],i=0|_[o+16>>2],_[s+4>>2]=_[s+152>>2],_[s+4+4>>2]=_[s+152+4>>2],_[s+4+8>>2]=_[s+152+8>>2],_[s+4+12>>2]=_[s+152+12>>2],_[s+20>>2]=_[s+120>>2],_[s+20+4>>2]=_[s+120+4>>2],_[s+20+8>>2]=_[s+120+8>>2],_[s+20+12>>2]=_[s+120+12>>2],_[s+36>>2]=i,p[s+40>>2]=1,_[s>>2]=6608,_[s+44>>2]=o,_[s+48>>2]=c,_[s+52>>2]=F,_[s+56>>2]=_[r>>2],_[s+56+4>>2]=_[r+4>>2],_[s+56+8>>2]=_[r+8>>2],_[s+56+12>>2]=_[r+12>>2],_[s+72>>2]=_[r+16>>2],_[s+72+4>>2]=_[r+16+4>>2],_[s+72+8>>2]=_[r+16+8>>2],_[s+72+12>>2]=_[r+16+12>>2],_[s+88>>2]=_[r+32>>2],_[s+88+4>>2]=_[r+32+4>>2],_[s+88+8>>2]=_[r+32+8>>2],_[s+88+12>>2]=_[r+32+12>>2],_[s+104>>2]=_[r+48>>2],_[s+104+4>>2]=_[r+48+4>>2],_[s+104+8>>2]=_[r+48+8>>2],_[s+104+12>>2]=_[r+48+12>>2],_[s+40>>2]=_[o+4>>2],c=0|_[F+48>>2],_[s+224>>2]=7780,_[s+224+4>>2]=c,_[s+224+8>>2]=s,c=0|_[F+52>>2],_[s+600>>2]=0,_[s+600+4>>2]=0,_[s+600+8>>2]=0,_[s+600+12>>2]=0,_[s+240>>2]=0,_[s+240+4>>2]=0,_[s+240+8>>2]=0,_[s+240+12>>2]=0,0|n[c+60|0]?Ee(c,s+224|0,s+152|0,a,l,d,s+600|0,s+240|0,0|_[c+56>>2]):$e(c,s+224|0,s+152|0,a,l,d,s+600|0,s+240|0);break;case 25:i=0|_[i+8>>2],j=0|_[o+16>>2],_[s+600+4>>2]=_[s+152>>2],_[s+600+4+4>>2]=_[s+152+4>>2],_[s+600+4+8>>2]=_[s+152+8>>2],_[s+600+4+12>>2]=_[s+152+12>>2],_[s+600+20>>2]=_[s+120>>2],_[s+600+20+4>>2]=_[s+120+4>>2],_[s+600+20+8>>2]=_[s+120+8>>2],_[s+600+20+12>>2]=_[s+120+12>>2],_[s+600+36>>2]=j,p[s+600+40>>2]=1,_[s+600>>2]=6608,_[s+600+44>>2]=o,_[s+600+48>>2]=i,_[s+600+52>>2]=F,_[s+600+56>>2]=_[r>>2],_[s+600+56+4>>2]=_[r+4>>2],_[s+600+56+8>>2]=_[r+8>>2],_[s+600+56+12>>2]=_[r+12>>2],_[s+600+72>>2]=_[r+16>>2],_[s+600+72+4>>2]=_[r+16+4>>2],_[s+600+72+8>>2]=_[r+16+8>>2],_[s+600+72+12>>2]=_[r+16+12>>2],_[s+600+88>>2]=_[r+32>>2],_[s+600+88+4>>2]=_[r+32+4>>2],_[s+600+88+8>>2]=_[r+32+8>>2],_[s+600+88+12>>2]=_[r+32+12>>2],_[s+600+104>>2]=_[r+48>>2],_[s+600+104+4>>2]=_[r+48+4>>2],_[s+600+104+8>>2]=_[r+48+8>>2],_[s+600+104+12>>2]=_[r+48+12>>2],_[s+600+40>>2]=_[o+4>>2],pd[127&_[144+(0|_[F>>2])>>2]](F,s+600|0,s+152|0,s+120|0);break;default:f=C*A+(g*h+m*(d=+p[r>>2]))+(C*R+(g*W+d*B)),u=k*A+(w*h+m*(l=+p[r+4>>2]))+(k*R+(w*W+l*B)),A=I*A+(D*h+m*(a=+p[r+8>>2]))+(I*R+(D*W+a*B)),d=C*y+(g*S+v*d)+(C*R+(g*W+d*B)),l=k*y+(w*S+v*l)+(k*R+(w*W+l*B)),a=I*y+(D*S+v*a)+(I*R+(D*W+a*B)),i=0|_[i+8>>2],j=0|_[o+16>>2],p[s+600+4>>2]=f,p[s+600+8>>2]=u,p[s+600+12>>2]=A,p[s+600+16>>2]=0,p[s+600+20>>2]=d,p[s+600+24>>2]=l,p[s+600+28>>2]=a,p[s+600+32>>2]=0,_[s+600+36>>2]=j,p[s+600+40>>2]=1,_[s+600>>2]=6632,_[s+600+44>>2]=o,_[s+600+48>>2]=i,_[s+600+52>>2]=F,_[s+600+56>>2]=_[r>>2],_[s+600+56+4>>2]=_[r+4>>2],_[s+600+56+8>>2]=_[r+8>>2],_[s+600+56+12>>2]=_[r+12>>2],_[s+600+72>>2]=_[r+16>>2],_[s+600+72+4>>2]=_[r+16+4>>2],_[s+600+72+8>>2]=_[r+16+8>>2],_[s+600+72+12>>2]=_[r+16+12>>2],_[s+600+88>>2]=_[r+32>>2],_[s+600+88+4>>2]=_[r+32+4>>2],_[s+600+88+8>>2]=_[r+32+8>>2],_[s+600+88+12>>2]=_[r+32+12>>2],_[s+600+104>>2]=_[r+48>>2],_[s+600+104+4>>2]=_[r+48+4>>2],_[s+600+104+8>>2]=_[r+48+8>>2],_[s+600+104+12>>2]=_[r+48+12>>2],_[s+600+40>>2]=_[o+4>>2],p[s+240>>2]=f,p[s+240+4>>2]=u,p[s+240+8>>2]=A,p[s+240+12>>2]=0,d>2]=d),l>2]=l),a>2]=a),p[s+224>>2]=f,p[s+224+4>>2]=u,p[s+224+8>>2]=A,p[s+224+12>>2]=0,f>2]=d),u>2]=l),A>2]=a),pd[127&_[64+(0|_[F>>2])>>2]](F,s+600|0,s+240|0,s+224|0)}Q=s}}function Di(t){var e=0,i=0,n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0;c=0|_[372+(t|=0)>>2];t:do{switch(0|_[c+32>>2]){case 1:if(p[c+20>>2]=0,a=(0|_[t+364>>2])-1|0,_[t+364>>2]=a,a=0|_[t+348+(a<<2)>>2],_[c+4>>2]=a,_[c+32>>2]=2,Xt(t,1,0,0,a),0|Di(t))return 0|(a=1);if(c=0|_[t+372>>2],a=(0|_[c+32>>2])-1|0,_[c+32>>2]=a,a=0|_[c+(a<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=a,c=0|_[t+372>>2],l=0|_[c+32>>2],p[c+16+(l<<2)>>2]=0,_[c+(l<<2)>>2]=a,_[c+32>>2]=l+1,Xt(t,-1,-0,-0,a),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,0,1,0,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,-0,-1,-0,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,0,0,1,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,-0,-0,-1,l),0|Di(t))return 0|(l=1);l=0|_[t+372>>2],a=(0|_[l+32>>2])-1|0,_[l+32>>2]=a,a=0|_[l+(a<<2)>>2],l=0|_[t+364>>2],_[t+364>>2]=l+1,_[t+348+(l<<2)>>2]=a;break t;case 2:a=0|_[c+4>>2],l=0|_[c>>2],i=+p[a+16>>2]-+p[l+16>>2],e=0*(n=+p[a+20>>2]-+p[l+20>>2])-0*(o=+p[a+24>>2]-+p[l+24>>2]);do{if((0*i-n)*(0*i-n)+(e*e+(o-0*i)*(o-0*i))>0){if(p[c+24>>2]=0,l=(0|_[t+364>>2])-1|0,_[t+364>>2]=l,l=0|_[t+348+(l<<2)>>2],_[c+8>>2]=l,_[c+32>>2]=3,Xt(t,e,o-0*i,0*i-n,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,-e,-(o-0*i),-(0*i-n),l),0|Di(t))return 0|(l=1);l=0|_[t+372>>2],a=(0|_[l+32>>2])-1|0,_[l+32>>2]=a,a=0|_[l+(a<<2)>>2],l=0|_[t+364>>2],_[t+364>>2]=l+1,_[t+348+(l<<2)>>2]=a;break}}while(0);e=0*o-0*i;do{if((i-0*n)*(i-0*n)+((0*n-o)*(0*n-o)+e*e)>0){if(a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,l=(0|_[t+364>>2])-1|0,_[t+364>>2]=l,l=0|_[t+348+(l<<2)>>2],_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,0*n-o,e,i-0*n,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,-(0*n-o),-e,-(i-0*n),l),0|Di(t))return 0|(l=1);l=0|_[t+372>>2],a=(0|_[l+32>>2])-1|0,_[l+32>>2]=a,a=0|_[l+(a<<2)>>2],l=0|_[t+364>>2],_[t+364>>2]=l+1,_[t+348+(l<<2)>>2]=a;break}}while(0);if((e=0*i-0*n)*e+((n-0*o)*(n-0*o)+(0*o-i)*(0*o-i))>0){if(a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,l=(0|_[t+364>>2])-1|0,_[t+364>>2]=l,l=0|_[t+348+(l<<2)>>2],_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,n-0*o,0*o-i,e,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,-(n-0*o),-(0*o-i),-e,l),0|Di(t))return 0|(l=1);l=0|_[t+372>>2],a=(0|_[l+32>>2])-1|0,_[l+32>>2]=a,a=0|_[l+(a<<2)>>2],l=0|_[t+364>>2],_[t+364>>2]=l+1,_[t+348+(l<<2)>>2]=a;break t}break;case 3:if(l=0|_[c+4>>2],a=0|_[c>>2],o=+p[a+16>>2],e=+p[l+16>>2]-o,r=+p[a+20>>2],i=+p[l+20>>2]-r,s=+p[a+24>>2],n=+p[l+24>>2]-s,l=0|_[c+8>>2],o=+p[l+16>>2]-o,(e*(r=+p[l+20>>2]-r)-i*o)*(e*r-i*o)+((i*(s=+p[l+24>>2]-s)-n*r)*(i*s-n*r)+(n*o-e*s)*(n*o-e*s))>0){if(p[c+28>>2]=0,l=(0|_[t+364>>2])-1|0,_[t+364>>2]=l,l=0|_[t+348+(l<<2)>>2],_[c+12>>2]=l,_[c+32>>2]=4,Xt(t,i*s-n*r,n*o-e*s,e*r-i*o,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,-(i*s-n*r),-(n*o-e*s),-(e*r-i*o),l),0|Di(t))return 0|(l=1);l=0|_[t+372>>2],a=(0|_[l+32>>2])-1|0,_[l+32>>2]=a,a=0|_[l+(a<<2)>>2],l=0|_[t+364>>2],_[t+364>>2]=l+1,_[t+348+(l<<2)>>2]=a;break t}break;case 4:if(l=0|_[c>>2],a=0|_[c+12>>2],s=+p[a+16>>2],A=+p[l+16>>2]-s,d=+p[a+20>>2],e=+p[l+20>>2]-d,n=+p[a+24>>2],o=+p[l+24>>2]-n,l=0|_[c+4>>2],i=+p[l+16>>2]-s,r=+p[l+20>>2]-d,b=+p[l+24>>2]-n,l=0|_[c+8>>2],s=+p[l+16>>2]-s,d=+p[l+20>>2]-d,!(A*r*(n=+p[l+24>>2]-n)+(e*b*s+o*i*d-A*b*d-e*i*n)-o*r*s!=A*r*n+(e*b*s+o*i*d-A*b*d-e*i*n)-o*r*s|A*r*n+(e*b*s+o*i*d-A*b*d-e*i*n)-o*r*s==0))return 0|(l=1)}}while(0);return 0|(l=0)}function Ii(t,e,i,o,r,s,c,a,l){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,a|=0,l|=0;var d,A,f,u,m,h,y,g,C,v,S,w,k,R,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0;if(d=Q,Q=Q+32|0,_[d+12>>2]=s,_[d+12+4>>2]=c,_[d+12+8>>2]=a,_[d>>2]=i,_[d+4>>2]=o,_[d+8>>2]=r,!(+p[e+52>>2]<+p[t+12>>2]))return Q=d,0|(l=0);if(P=+p[e+36>>2],V=+p[e+40>>2],M=+p[e+44>>2],a=0|_[e+48>>2],G=1/+b(+(P*P+V*V+M*M)),r=0|ae(d),N=+p[e+4>>2]-+p[r+48>>2],L=+p[e+8>>2]-+p[r+52>>2],E=+p[e+12>>2]-+p[r+56>>2],r=0|ae(d+12|0),H=+p[e+20>>2]-+p[r+48>>2],Z=+p[e+24>>2]-+p[r+52>>2],U=+p[e+28>>2]-+p[r+56>>2],o?(B=+p[o+332>>2],W=+p[o+336>>2],T=+p[o+328>>2],j=E*B-L*W,D=+p[o+312>>2],W=N*W-E*T,F=+p[o+316>>2],I=+p[o+320>>2],B=L*T-N*B):i?(B=+p[i+336>>2],W=+p[i+340>>2],T=+p[i+332>>2],j=E*B-L*W,D=+p[i+316>>2],W=N*W-E*T,F=+p[i+320>>2],I=+p[i+324>>2],B=L*T-N*B):(j=0,D=0,W=0,F=0,I=0,B=0),T=D+j,O=F+W,x=I+B,c?(D=+p[c+332>>2],W=+p[c+336>>2],J=+p[c+328>>2],I=U*D-Z*W,B=+p[c+312>>2],W=H*W-U*J,F=+p[c+316>>2],j=+p[c+320>>2],D=Z*J-H*D):s?(D=+p[s+336>>2],W=+p[s+340>>2],J=+p[s+332>>2],I=U*D-Z*W,B=+p[s+316>>2],W=H*W-U*J,F=+p[s+320>>2],j=+p[s+324>>2],D=Z*J-H*D):(I=0,B=0,W=0,F=0,j=0,D=0),T=M*G*(x-=j+D)+(V*G*(O-=F+W)+P*G*(B=T-(B+I))),J=+p[e+52>>2]-+p[t+12>>2],_[l+4>>2]=_[d>>2],_[l+4+4>>2]=_[d+4>>2],_[l+4+8>>2]=_[d+8>>2],_[l+16>>2]=_[d+12>>2],_[l+16+4>>2]=_[d+12+4>>2],_[l+16+8>>2]=_[d+12+8>>2],e=0|ae(d),F=N*+p[e+4>>2]+L*+p[e+20>>2]+E*+p[e+36>>2],W=N*+p[e+8>>2]+L*+p[e+24>>2]+E*+p[e+40>>2],p[l+28>>2]=N*+p[e>>2]+L*+p[e+16>>2]+E*+p[e+32>>2],p[l+32>>2]=F,p[l+36>>2]=W,p[l+40>>2]=0,e=0|ae(d+12|0),W=H*+p[e+4>>2]+Z*+p[e+20>>2]+U*+p[e+36>>2],F=H*+p[e+8>>2]+Z*+p[e+24>>2]+U*+p[e+40>>2],p[l+44>>2]=H*+p[e>>2]+Z*+p[e+16>>2]+U*+p[e+32>>2],p[l+48>>2]=W,p[l+52>>2]=F,p[l+56>>2]=0,p[l+164>>2]=N,p[l+168>>2]=L,p[l+172>>2]=E,p[l+176>>2]=0,p[l+180>>2]=H,p[l+184>>2]=Z,p[l+188>>2]=U,p[l+192>>2]=0,p[l+60>>2]=1,p[l+64>>2]=1,_[l+156>>2]=0,_[l+160>>2]=0,p[l+68>>2]=1,p[l+72>>2]=P*G*J,p[l+76>>2]=V*G*J,p[l+80>>2]=M*G*J,p[l+84>>2]=0,p[l+196>>2]=P*G,p[l+200>>2]=V*G,p[l+204>>2]=M*G,_[l+208>>2]=a,n[l+152|0]=0,J=+p[t+16>>2],p[l+212>>2]=(x-M*G*T)*(x-M*G*T)+((B-P*G*T)*(B-P*G*T)+(O-V*G*T)*(O-V*G*T))>2])?(a=a+344|0,Y=14):(a=0|_[d>>2])?(a=a+128|0,Y=14):D=0,14==(0|Y)&&(D=+p[a>>2]),!(0|n[24448])&&0|Qs(24448)){r=48+(a=24984)|0;do{_[a>>2]=0,a=a+4|0}while((0|a)<(0|r))}if(i=(a=0|_[d+4>>2])?a+264|0:0|(i=0|_[d>>2])?i+180|0:24984,(a=0|_[d+12+4>>2])?(a=a+344|0,Y=25):(a=0|_[d+12>>2])?(a=a+128|0,Y=25):j=0,25==(0|Y)&&(j=+p[a>>2]),!(0|n[24448])&&0|Qs(24448)){r=48+(a=24984)|0;do{_[a>>2]=0,a=a+4|0}while((0|a)<(0|r))}return a=(a=0|_[d+12+4>>2])?a+264|0:0|(a=0|_[d+12>>2])?a+180|0:24984,R=+p[l+172>>2],h=+p[l+168>>2],m=+p[l+164>>2],k=+p[i>>2],w=+p[i+16>>2],S=+p[i+32>>2],v=+p[i+4>>2],C=+p[i+20>>2],g=+p[i+36>>2],y=+p[i+8>>2],u=+p[i+24>>2],f=+p[i+40>>2],L=+p[l+188>>2],T=+p[l+184>>2],P=+p[l+180>>2],H=D-(0*(0*k+w*-R+h*S)+R*(0*v+C*-R+h*g)+(0*y+u*-R+h*f)*-h)+(j-(0*(0*(A=+p[a>>2])+(I=+p[a+16>>2])*-L+T*(B=+p[a+32>>2]))+L*(0*(W=+p[a+4>>2])+(F=+p[a+20>>2])*-L+T*(x=+p[a+36>>2]))+(0*(O=+p[a+8>>2])+(J=+p[a+24>>2])*-L+T*(M=+p[a+40>>2]))*-T)),U=0-((0*k+w*-R+h*S)*-R+0*(0*v+C*-R+h*g)+m*(0*y+u*-R+h*f))+(0-((0*A+I*-L+T*B)*-L+0*(0*W+F*-L+T*x)+P*(0*O+J*-L+T*M))),Z=0-(0*(R*k+0*w+S*-m)+R*(R*v+0*C+g*-m)+(R*y+0*u+f*-m)*-h)+(0-(0*(L*A+0*I+B*-P)+L*(L*W+0*F+x*-P)+(L*O+0*J+M*-P)*-T)),E=D-((R*k+0*w+S*-m)*-R+0*(R*v+0*C+g*-m)+m*(R*y+0*u+f*-m))+(j-((L*A+0*I+B*-P)*-L+0*(L*W+0*F+x*-P)+P*(L*O+0*J+M*-P))),G=0-(h*(R*k+0*w+S*-m)+(R*v+0*C+g*-m)*-m+0*(R*y+0*u+f*-m))+(0-(T*(L*A+0*I+B*-P)+(L*W+0*F+x*-P)*-P+0*(L*O+0*J+M*-P))),N=0-(0*(k*-h+m*w+0*S)+R*(v*-h+m*C+0*g)+(y*-h+m*u+0*f)*-h)+(0-(0*(A*-T+P*I+0*B)+L*(W*-T+P*F+0*x)+(O*-T+P*J+0*M)*-T)),J=1/((V=0-(h*(0*k+w*-R+h*S)+(0*v+C*-R+h*g)*-m+0*(0*y+u*-R+h*f))+(0-(T*(0*A+I*-L+T*B)+(0*W+F*-L+T*x)*-P+0*(0*O+J*-L+T*M))))*((L=0-((k*-h+m*w+0*S)*-R+0*(v*-h+m*C+0*g)+m*(y*-h+m*u+0*f))+(0-((A*-T+P*I+0*B)*-L+0*(W*-T+P*F+0*x)+P*(O*-T+P*J+0*M))))*Z-E*N)+(H*(E*(M=D-(h*(k*-h+m*w+0*S)+(v*-h+m*C+0*g)*-m+0*(y*-h+m*u+0*f))+(j-(T*(A*-T+P*I+0*B)+(W*-T+P*F+0*x)*-P+0*(O*-T+P*J+0*M))))-G*L)+U*(G*N-M*Z))),p[l+104>>2]=(E*M-G*L)*J,p[l+108>>2]=(L*V-M*U)*J,p[l+112>>2]=(G*U-E*V)*J,p[l+116>>2]=0,p[l+120>>2]=(G*N-M*Z)*J,p[l+124>>2]=(M*H-N*V)*J,p[l+128>>2]=(Z*V-G*H)*J,p[l+132>>2]=0,p[l+136>>2]=(L*Z-E*N)*J,p[l+140>>2]=(N*U-L*H)*J,p[l+144>>2]=(E*H-Z*U)*J,p[l+148>>2]=0,Q=d,0|(l=1)}function Bi(t,e,i){e|=0,i|=0;var o=0,r=0,s=0,c=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0;if((v=!(0|n[180+(t|=0)|0]))&&0|n[t+48|0]?(m=+p[t+116>>2],r=+p[i>>2],T=+p[t+132>>2],o=+p[i+4>>2],P=+p[t+148>>2],k=+p[i+8>>2],h=+p[t+120>>2],x=+p[t+136>>2],O=+p[t+152>>2],y=+p[t+124>>2],F=+p[t+140>>2],g=+p[t+156>>2],S=+p[i+16>>2],w=+p[i+20>>2],R=+p[i+24>>2],W=+p[i+32>>2],C=+p[i+36>>2],j=+p[i+40>>2],d=+p[t+164>>2],s=+p[t+168>>2],B=+p[t+172>>2],I=+p[i+48>>2]+(r*d+o*s+k*B),D=S*d+w*s+R*B+ +p[i+52>>2],B=W*d+C*s+j*B+ +p[i+56>>2],p[t+824>>2]=m*r+T*o+P*k,p[t+828>>2]=r*h+o*x+k*O,p[t+832>>2]=r*y+o*F+k*g,p[t+836>>2]=0,p[t+840>>2]=m*S+T*w+P*R,p[t+844>>2]=h*S+x*w+O*R,p[t+848>>2]=y*S+F*w+g*R,p[t+852>>2]=0,p[t+856>>2]=m*W+T*C+P*j,p[t+860>>2]=h*W+x*C+O*j,p[t+864>>2]=y*W+F*C+g*j,p[t+868>>2]=0,p[t+872>>2]=I,p[t+876>>2]=D,p[t+880>>2]=B,p[t+884>>2]=0,B=+p[t+52>>2],D=+p[e>>2],I=+p[t+68>>2],j=+p[e+4>>2],g=+p[t+84>>2],C=+p[e+8>>2],F=+p[t+56>>2],W=+p[t+72>>2],y=+p[t+88>>2],O=+p[t+60>>2],x=+p[t+76>>2],h=+p[t+92>>2],P=+p[e+16>>2],T=+p[e+20>>2],m=+p[e+24>>2],R=+p[e+32>>2],w=+p[e+36>>2],S=+p[e+40>>2],c=t+856|0,l=t+840|0,s=P*(k=+p[t+100>>2])+T*(o=+p[t+104>>2])+m*(r=+p[t+108>>2]),d=O*R+x*w+h*S,b=F*R+W*w+y*S,A=B*R+I*w+g*S,f=O*P+x*T+h*m,u=F*P+W*T+y*m,m=B*P+I*T+g*m,h=D*O+j*x+C*h,y=D*F+j*W+C*y,g=B*D+I*j+g*C,C=D*k+j*o+C*r,o=R*k+w*o,r*=S):(m=+p[t+52>>2],r=+p[e>>2],w=+p[t+68>>2],o=+p[e+4>>2],S=+p[t+84>>2],O=+p[e+8>>2],h=+p[t+56>>2],R=+p[t+72>>2],k=+p[t+88>>2],y=+p[t+60>>2],j=+p[t+76>>2],g=+p[t+92>>2],P=+p[e+16>>2],T=+p[e+20>>2],x=+p[e+24>>2],D=+p[e+32>>2],C=+p[e+36>>2],F=+p[e+40>>2],d=+p[t+100>>2],s=+p[t+104>>2],I=+p[t+108>>2],B=+p[e+48>>2]+(r*d+o*s+O*I),W=P*d+T*s+x*I+ +p[e+52>>2],I=D*d+C*s+F*I+ +p[e+56>>2],p[t+824>>2]=m*r+w*o+S*O,p[t+828>>2]=r*h+o*R+O*k,p[t+832>>2]=r*y+o*j+O*g,p[t+836>>2]=0,p[t+840>>2]=m*P+w*T+S*x,p[t+844>>2]=h*P+R*T+k*x,p[t+848>>2]=y*P+j*T+g*x,p[t+852>>2]=0,p[t+856>>2]=m*D+w*C+S*F,p[t+860>>2]=h*D+R*C+k*F,p[t+864>>2]=y*D+j*C+g*F,p[t+868>>2]=0,p[t+872>>2]=B,p[t+876>>2]=W,p[t+880>>2]=I,p[t+884>>2]=0,I=+p[t+116>>2],W=+p[i>>2],B=+p[t+132>>2],F=+p[i+4>>2],g=+p[t+148>>2],C=+p[i+8>>2],j=+p[t+120>>2],D=+p[t+136>>2],y=+p[t+152>>2],k=+p[t+124>>2],R=+p[t+140>>2],h=+p[t+156>>2],S=+p[i+16>>2],w=+p[i+20>>2],m=+p[i+24>>2],x=+p[i+32>>2],T=+p[i+36>>2],P=+p[i+40>>2],c=t+856|0,l=t+840|0,s=S*(O=+p[t+164>>2])+w*(o=+p[t+168>>2])+m*(r=+p[t+172>>2]),d=k*x+R*T+h*P,b=j*x+D*T+y*P,A=I*x+B*T+g*P,f=k*S+R*w+h*m,u=j*S+D*w+y*m,m=I*S+B*w+g*m,h=W*k+F*R+C*h,y=W*j+F*D+C*y,g=I*W+B*F+g*C,C=W*O+F*o+C*r,e=i,o=x*O+T*o,r*=P),P=+p[e+48>>2]+C,s+=+p[e+52>>2],o=o+r+ +p[e+56>>2],p[t+888>>2]=g,p[t+892>>2]=y,p[t+896>>2]=h,p[t+900>>2]=0,p[t+904>>2]=m,p[t+908>>2]=u,p[t+912>>2]=f,p[t+916>>2]=0,p[t+920>>2]=A,p[t+924>>2]=b,p[t+928>>2]=d,p[t+932>>2]=0,p[t+936>>2]=P,p[t+940>>2]=s,p[t+944>>2]=o,p[t+948>>2]=0,_[t+968>>2]=_[t+872>>2],_[t+968+4>>2]=_[t+872+4>>2],_[t+968+8>>2]=_[t+872+8>>2],_[t+968+12>>2]=_[t+872+12>>2],_[t+984>>2]=_[t+936>>2],_[t+984+4>>2]=_[t+936+4>>2],_[t+984+8>>2]=_[t+936+8>>2],_[t+984+12>>2]=_[t+936+12>>2],e=0|_[t+824>>2],i=0|_[l>>2],l=0|_[c>>2],_[t+952>>2]=e,_[t+956>>2]=i,_[t+960>>2]=l,p[t+964>>2]=0,_[a>>2]=e,o=+p[a>>2],_[a>>2]=i,r=+p[a>>2],_[a>>2]=l,s=+p[a>>2],v&&!(0|n[t+48|0]))return j=+p[t+968>>2],D=+p[t+972>>2],O=(I=+p[t+976>>2])-+p[t+992>>2],F=D-+p[t+988>>2],W=j-+p[t+984>>2],p[(v=t+1016|0)>>2]=W,p[(v=t+1020|0)>>2]=F,p[(v=t+1024|0)>>2]=O,p[(v=t+1028|0)>>2]=0,B=j+(B=(P=(B=(P=W*o)+(B=F*r))+(P=O*s))*o),x=D+(x=P*r),T=I+(T=P*s),p[(v=t+1e3|0)>>2]=B,p[(v=t+1004|0)>>2]=x,p[(v=t+1008|0)>>2]=T,p[(v=t+1012|0)>>2]=0,p[(v=t+1032|0)>>2]=P,l=t+844|0,c=t+860|0,P=+p[(v=t+828|0)>>2],T=+p[l>>2],x=+p[c>>2],x=(T=(P*=W)+(T*=F))+(x*=O),p[(c=t+1036|0)>>2]=x,l=t+848|0,v=t+864|0,x=+p[(c=t+832|0)>>2],T=+p[l>>2],P=+p[v>>2],P=(T=(x*=W)+(T*=F))+(P*=O),void(p[(v=t+1040|0)>>2]=P);j=+p[t+968>>2],D=+p[t+972>>2],I=+p[t+976>>2],O=+p[t+992>>2]-I,F=+p[t+988>>2]-D,W=+p[t+984>>2]-j,p[(v=t+1016|0)>>2]=W,p[(v=t+1020|0)>>2]=F,p[(v=t+1024|0)>>2]=O,p[(v=t+1028|0)>>2]=0,B=j+(B=(P=(B=(P=W*o)+(B=F*r))+(P=O*s))*o),x=D+(x=P*r),T=I+(T=P*s),p[(v=t+1e3|0)>>2]=B,p[(v=t+1004|0)>>2]=x,p[(v=t+1008|0)>>2]=T,p[(v=t+1012|0)>>2]=0,p[(v=t+1032|0)>>2]=P,l=t+844|0,c=t+860|0,P=+p[(v=t+828|0)>>2],T=+p[l>>2],x=+p[c>>2],x=(T=(P*=W)+(T*=F))+(x*=O),p[(c=t+1036|0)>>2]=x,l=t+848|0,v=t+864|0,x=+p[(c=t+832|0)>>2],T=+p[l>>2],P=+p[v>>2],P=(T=(x*=W)+(T*=F))+(P*=O),p[(v=t+1040|0)>>2]=P}function Wi(t,e,i,n){t|=0,e|=0,i|=0,n|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0;o=Q,Q=Q+672|0,_[o+448+8>>2]=0,_[o+448+12>>2]=1065353216,_[o+448+16>>2]=1065353216,_[o+448+20>>2]=1065353216,p[o+448+24>>2]=0,_[o+448>>2]=7568,_[o+448+4>>2]=8,p[o+448+28>>2]=0,p[o+448+44>>2]=0,p[o+384>>2]=1,_[o+384+4>>2]=0,_[o+384+4+4>>2]=0,_[o+384+4+8>>2]=0,_[o+384+4+12>>2]=0,p[o+384+20>>2]=1,_[o+384+24>>2]=0,_[o+384+24+4>>2]=0,_[o+384+24+8>>2]=0,_[o+384+24+12>>2]=0,p[o+384+40>>2]=1,p[o+384+44>>2]=0,_[o+384+48>>2]=_[t>>2],_[o+384+48+4>>2]=_[t+4>>2],_[o+384+48+8>>2]=_[t+8>>2],_[o+384+48+12>>2]=_[t+12>>2],l=(t=n)+36|0;do{_[t>>2]=0,t=t+4|0}while((0|t)<(0|l));switch(_[o+504>>2]=e,_[o+504+4>>2]=o+448,v=+p[i>>2],C=+p[i+16>>2],r=+p[i+32>>2],s=+p[i+4>>2],c=+p[i+20>>2],a=+p[i+36>>2],A=+p[i+8>>2],m=+p[i+24>>2],y=+p[i+40>>2],p[o+504+8>>2]=v+0*C+0*r,p[o+504+12>>2]=s+0*c+0*a,p[o+504+16>>2]=A+0*m+0*y,p[o+504+20>>2]=0,p[o+504+24>>2]=0*v+C+0*r,p[o+504+28>>2]=0*s+c+0*a,p[o+504+32>>2]=0*A+m+0*y,p[o+504+36>>2]=0,p[o+504+40>>2]=0*v+0*C+r,p[o+504+44>>2]=0*s+0*c+a,p[o+504+48>>2]=0*A+0*m+y,p[o+504+52>>2]=0,d=+p[o+384+48>>2]-+p[i+48>>2],f=+p[o+384+52>>2]-+p[i+52>>2],h=+p[o+384+56>>2]-+p[i+56>>2],p[o+504+56>>2]=v+0*C+0*r,p[o+504+60>>2]=0*v+C+0*r,p[o+504+64>>2]=0*v+0*C+r,p[o+504+68>>2]=0,p[o+504+72>>2]=s+0*c+0*a,p[o+504+76>>2]=0*s+c+0*a,p[o+504+80>>2]=0*s+0*c+a,p[o+504+84>>2]=0,p[o+504+88>>2]=A+0*m+0*y,p[o+504+92>>2]=0*A+m+0*y,p[o+504+96>>2]=0*A+0*m+y,p[o+504+100>>2]=0,p[o+504+104>>2]=d*v+f*C+h*r,p[o+504+108>>2]=d*s+f*c+h*a,p[o+504+112>>2]=d*A+f*m+h*y,p[o+504+116>>2]=0,_[o+504+120>>2]=81,_[o+504+124>>2]=0,_[o+364>>2]=0,_[o+128>>2]=0,_[o+128+4>>2]=0,_[o+128+8>>2]=0,_[o+128+12>>2]=0,_[o+376>>2]=2,_[o+368>>2]=0,p[o+144>>2]=0,_[o+648>>2]=1065353216,_[o+648+4>>2]=1065353216,_[o+648+8>>2]=1065353216,p[o+648+12>>2]=0,0|Ci(o,o+504|0,o+648|0)){case 0:if(t=0|_[o+372>>2],0|_[t+32>>2]){g=0,r=0,c=0,a=0,s=0,f=0,m=0;do{y=+p[t+16+(g<<2)>>2],l=0|_[o+504+120>>2],S=0|_[o+504+124>>2],u=(0|_[o+504>>2])+(S>>1)|0,1&S&&(l=0|_[(0|_[u>>2])+l>>2]),_d[127&l](o+648|0,u,0|_[t+(g<<2)>>2]),r+=y*+p[o+648>>2],c+=y*+p[o+648+4>>2],a+=y*+p[o+648+8>>2],t=0|_[(0|_[o+372>>2])+(g<<2)>>2],d=-+p[t>>2],A=-+p[t+4>>2],h=-+p[t+8>>2],t=0|_[o+504+120>>2],S=0|_[o+504+124>>2],l=(0|_[o+504+4>>2])+(S>>1)|0,1&S&&(t=0|_[(0|_[l>>2])+t>>2]),v=+p[o+504+24>>2]*d+ +p[o+504+28>>2]*A+ +p[o+504+32>>2]*h,C=+p[o+504+40>>2]*d+ +p[o+504+44>>2]*A+ +p[o+504+48>>2]*h,p[o+632>>2]=+p[o+504+8>>2]*d+ +p[o+504+12>>2]*A+ +p[o+504+16>>2]*h,p[o+632+4>>2]=v,p[o+632+8>>2]=C,p[o+632+12>>2]=0,_d[127&t](o+648|0,l,o+632|0),h=+p[o+648>>2],C=+p[o+648+4>>2],v=+p[o+648+8>>2],s+=y*(h*+p[o+504+56>>2]+C*+p[o+504+60>>2]+v*+p[o+504+64>>2]+ +p[o+504+104>>2]),f+=y*(h*+p[o+504+72>>2]+C*+p[o+504+76>>2]+v*+p[o+504+80>>2]+ +p[o+504+108>>2]),m+=y*(h*+p[o+504+88>>2]+C*+p[o+504+92>>2]+v*+p[o+504+96>>2]+ +p[o+504+112>>2]),g=g+1|0,t=0|_[o+372>>2]}while(g>>>0<(0|_[t+32>>2])>>>0)}else a=0,c=0,r=0,m=0,f=0,s=0;switch(h=r*+p[i>>2]+c*+p[i+4>>2]+a*+p[i+8>>2]+ +p[i+48>>2],y=r*+p[i+16>>2]+c*+p[i+20>>2]+a*+p[i+24>>2]+ +p[i+52>>2],a=r*+p[i+32>>2]+c*+p[i+36>>2]+a*+p[i+40>>2]+ +p[i+56>>2],p[n+4>>2]=h,p[n+8>>2]=y,p[n+12>>2]=a,p[n+16>>2]=0,d=s*+p[i>>2]+f*+p[i+4>>2]+m*+p[i+8>>2]+ +p[i+48>>2],A=s*+p[i+16>>2]+f*+p[i+20>>2]+m*+p[i+24>>2]+ +p[i+52>>2],c=s*+p[i+32>>2]+f*+p[i+36>>2]+m*+p[i+40>>2]+ +p[i+56>>2],p[n+20>>2]=d,p[n+24>>2]=A,p[n+28>>2]=c,p[n+32>>2]=0,0|_[e+4>>2]){case 8:r=+p[e+28>>2]*+p[e+12>>2];break;case 0:case 1:case 13:case 11:case 10:case 4:case 5:r=+p[e+44>>2];break;default:r=+Il[15&_[48+(0|_[e>>2])>>2]](e)}switch(0|_[o+448+4>>2]){case 8:s=+p[o+448+28>>2]*+p[o+448+12>>2];break;case 0:case 1:case 13:case 11:case 10:case 4:case 5:s=+p[o+448+44>>2];break;default:s=+Il[15&_[48+(0|_[o+448>>2])>>2]](o+448|0)}return v=r+s,C=+b(+((d-h)*(d-h)+(A-y)*(A-y)+(c-a)*(c-a))),p[n+36>>2]=1/C*(d-h),p[n+40>>2]=1/C*(A-y),p[n+44>>2]=1/C*(c-a),p[n+48>>2]=0,p[n+4>>2]=v*(1/C*(d-h))+ +p[n+4>>2],p[n+8>>2]=v*(1/C*(A-y))+ +p[n+8>>2],p[n+12>>2]=v*(1/C*(c-a))+ +p[n+12>>2],Q=o,+(v=C-v);case 1:return 0|gi(e,i,o+448|0,o+384|0,o+128|0,n,1)?(r=+p[n+4>>2]-+p[n+20>>2],s=+p[n+8>>2]-+p[n+24>>2],c=+p[n+12>>2]-+p[n+28>>2],(a=+b(+(r*r+s*s+c*c)))>=1.1920928955078125e-7&&(p[n+36>>2]=r*(1/a),p[n+40>>2]=s*(1/a),p[n+44>>2]=c*(1/a),p[n+48>>2]=0),Q=o,+(v=-a)):(Q=o,+(v=34028234663852886e22));default:return Q=o,+(v=34028234663852886e22)}return 0}function Fi(t,e,i){t|=0,i|=0;var n=0,o=0,r=0,s=0,c=0,a=0,l=0,b=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,Q=0,E=0,H=0,Z=0,U=0,Y=0,J=0;_[(e|=0)>>2]=_[t>>2],_[e+4>>2]=_[t+4>>2],_[e+8>>2]=_[t+8>>2],_[e+12>>2]=_[t+12>>2],_[e+16>>2]=_[t+16>>2],_[e+16+4>>2]=_[t+16+4>>2],_[e+16+8>>2]=_[t+16+8>>2],_[e+16+12>>2]=_[t+16+12>>2],_[e+32>>2]=_[t+32>>2],_[e+32+4>>2]=_[t+32+4>>2],_[e+32+8>>2]=_[t+32+8>>2],_[e+32+12>>2]=_[t+32+12>>2],h=+p[t+20>>2],b=+p[t+40>>2],y=+p[t+24>>2],f=+p[t+36>>2],u=+p[t+32>>2],g=+p[t+16>>2],S=1/((h*b-y*f)*(C=+p[t>>2])+(m=+p[t+4>>2])*(y*u-b*g)+(f*g-h*u)*(v=+p[t+8>>2])),p[i>>2]=(h*b-y*f)*S,p[i+4>>2]=(f*v-b*m)*S,p[i+8>>2]=(y*m-h*v)*S,p[i+12>>2]=0,p[i+16>>2]=(y*u-b*g)*S,p[i+20>>2]=(b*C-u*v)*S,p[i+24>>2]=(g*v-y*C)*S,p[i+28>>2]=0,p[i+32>>2]=(f*g-h*u)*S,p[i+36>>2]=(u*m-f*C)*S,p[i+40>>2]=(h*C-g*m)*S,p[i+44>>2]=0;t:do{if(0|_[6279]){for(n=0,B=(h*C-g*m)*S,W=(h*b-y*f)*S,F=(y*u-b*g)*S,x=(f*g-h*u)*S,O=(f*v-b*m)*S,I=(b*C-u*v)*S,D=(u*m-f*C)*S,j=(y*m-h*v)*S,R=(g*v-y*C)*S;;){if(u=+d(+W),f=+d(+F),G=+d(+x),J=+d(+O),N=+d(+I),V=+d(+D),Q=+d(+j),L=+d(+R),w=+d(+B),E=u+f+G>J+N+V?u+f+G:J+N+V,N=u+J+Q>f+N+L?u+J+Q:f+N+L,f=+p[e>>2],J=+d(+f),u=+p[e+16>>2],Z=+d(+u),m=+p[e+32>>2],P=+d(+m),h=+p[e+4>>2],Y=+d(+h),y=+p[e+20>>2],H=+d(+y),g=+p[e+36>>2],T=+d(+g),C=+p[e+8>>2],U=+d(+C),v=+p[e+24>>2],M=+d(+v),S=+p[e+40>>2],(w=(E>Q+L+w?E:Q+L+w)*(N>G+V+w?N:G+V+w))<1.1920928955078125e-7|(k=(b=(b=J+Z+P>Y+H+T?J+Z+P:Y+H+T)>U+M+(k=+d(+S))?b:U+M+k)*((M=J+Y+U>Z+H+M?J+Y+U:Z+H+M)>P+T+k?M:P+T+k))<1.1920928955078125e-7){n=e+20|0,o=e+36|0,r=e+8|0,s=e+24|0,c=e+40|0,a=e,l=e+4|0;break t}if(N=.5*(f*((J=+A(+w/k,.25))-2)+1/J*W),Q=.5*(h*(J+-2)+1/J*F),H=.5*(C*(J+-2)+1/J*x),L=.5*(u*(J+-2)+1/J*O),E=.5*(y*(J+-2)+1/J*I),Z=.5*(v*(J+-2)+1/J*D),U=.5*(m*(J+-2)+1/J*j),Y=.5*(g*(J+-2)+1/J*R),J=.5*(S*(J+-2)+1/J*B),p[e>>2]=f+N,p[e+4>>2]=h+Q,p[e+8>>2]=C+H,p[e+12>>2]=0,p[e+16>>2]=u+L,p[e+20>>2]=y+E,p[e+24>>2]=v+Z,p[e+28>>2]=0,p[e+32>>2]=m+U,p[e+36>>2]=g+Y,p[e+40>>2]=S+J,p[e+44>>2]=0,W=((y+E)*(S+J)-(v+Z)*(g+Y))*(G=1/((C+H)*((u+L)*(g+Y)-(y+E)*(m+U))+((f+N)*((y+E)*(S+J)-(v+Z)*(g+Y))+(h+Q)*((v+Z)*(m+U)-(u+L)*(S+J))))),O=((C+H)*(g+Y)-(h+Q)*(S+J))*G,j=((h+Q)*(v+Z)-(C+H)*(y+E))*G,F=((v+Z)*(m+U)-(u+L)*(S+J))*G,I=((f+N)*(S+J)-(C+H)*(m+U))*G,R=((C+H)*(u+L)-(f+N)*(v+Z))*G,x=((u+L)*(g+Y)-(y+E)*(m+U))*G,D=((h+Q)*(m+U)-(f+N)*(g+Y))*G,B=((f+N)*(y+E)-(h+Q)*(u+L))*G,p[i>>2]=W,p[i+4>>2]=O,p[i+8>>2]=j,p[i+12>>2]=0,p[i+16>>2]=F,p[i+20>>2]=I,p[i+24>>2]=R,p[i+28>>2]=0,p[i+32>>2]=x,p[i+36>>2]=D,p[i+40>>2]=B,p[i+44>>2]=0,((Y=(U=+d(+N)+ +d(+L)+ +d(+U))>(Y=+d(+Q)+ +d(+E)+ +d(+Y))?U:Y)>(J=+d(+H)+ +d(+Z)+ +d(+J))?Y:J)<=b*+p[6278])break;if((n=n+1|0)>>>0>=(0|_[6279])>>>0){n=e+20|0,o=e+36|0,r=e+8|0,s=e+24|0,c=e+40|0,a=e,l=e+4|0;break t}}return V=+p[e>>2],N=+p[e+16>>2],Q=+p[e+32>>2],P=+p[e+4>>2],M=+p[e+20>>2],H=+p[e+36>>2],W=+p[e+8>>2],F=+p[e+24>>2],U=+p[e+40>>2],G=+p[t>>2],L=+p[t+16>>2],E=+p[t+32>>2],x=+p[t+4>>2],O=+p[t+20>>2],T=+p[t+36>>2],J=W*(D=+p[t+8>>2])+F*(I=+p[t+24>>2])+U*(B=+p[t+40>>2])+(W*D+F*I+U*B),Y=P*D+M*I+H*B+(W*x+F*O+U*T),Z=P*x+M*O+H*T+(P*x+M*O+H*T),U=V*D+N*I+Q*B+(W*G+F*L+U*E),H=V*x+N*O+Q*T+(P*G+M*L+H*E),E=V*G+N*L+Q*E+(V*G+N*L+Q*E),Y*=.5,U*=.5,H*=.5,E*=.5,p[i>>2]=E,p[i+4>>2]=H,p[i+8>>2]=U,p[i+12>>2]=0,p[i+16>>2]=H,Z*=.5,p[i+20>>2]=Z,p[i+24>>2]=Y,p[i+28>>2]=0,p[i+32>>2]=U,p[i+36>>2]=Y,J*=.5,p[i+40>>2]=J,void(p[i+44>>2]=0)}n=e+20|0,o=e+36|0,r=e+8|0,s=e+24|0,c=e+40|0,a=e,l=e+4|0}while(0);V=+p[a>>2],N=+p[e+16>>2],Q=+p[e+32>>2],P=+p[l>>2],M=+p[n>>2],H=+p[o>>2],W=+p[r>>2],F=+p[s>>2],U=+p[c>>2],G=+p[t>>2],L=+p[t+16>>2],E=+p[t+32>>2],x=+p[t+4>>2],O=+p[t+20>>2],T=+p[t+36>>2],J=W*(D=+p[t+8>>2])+F*(I=+p[t+24>>2])+U*(B=+p[t+40>>2])+(W*D+F*I+U*B),Y=P*D+M*I+H*B+(W*x+F*O+U*T),Z=P*x+M*O+H*T+(P*x+M*O+H*T),U=V*D+N*I+Q*B+(W*G+F*L+U*E),H=V*x+N*O+Q*T+(P*G+M*L+H*E),E=V*G+N*L+Q*E+(V*G+N*L+Q*E),Y*=.5,U*=.5,H*=.5,E*=.5,p[i>>2]=E,p[i+4>>2]=H,p[i+8>>2]=U,p[i+12>>2]=0,p[i+16>>2]=H,Z*=.5,p[i+20>>2]=Z,p[i+24>>2]=Y,p[i+28>>2]=0,p[i+32>>2]=U,p[i+36>>2]=Y,J*=.5,p[i+40>>2]=J,p[i+44>>2]=0}function xi(t,e,i,r,s){e|=0,i|=0,r|=0,s|=0;var c,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0;if(c=Q,Q=Q+128|0,n[60+(t|=0)|0]=1&i,i){if(y=+p[r>>2]-1,g=+p[r+4>>2]-1,C=+p[r+8>>2]-1,p[t+4>>2]=y,p[t+8>>2]=g,p[t+12>>2]=C,p[t+16>>2]=0,m=+p[s>>2]+1,d=+p[s+4>>2]+1,v=+p[s+8>>2]+1,p[t+20>>2]=m,p[t+24>>2]=d,p[t+28>>2]=v,p[t+32>>2]=0,p[t+36>>2]=65533/(m-y),p[t+40>>2]=65533/(d-g),p[t+44>>2]=65533/(v-C),p[t+48>>2]=0,n[t+60|0]=1,f=g+ +(65533/(d-g)*(g-g)&65535&-2&65535)/(65533/(d-g))+-1,h=C+ +(65533/(v-C)*(C-C)&65535&-2&65535)/(65533/(v-C))+-1,(a=y+ +(65533/(m-y)*(y-y)&65535&-2&65535)/(65533/(m-y))+-1)>2]=a,S=a):S=y,f>2]=f:f=g,h>2]=h,a=v-h):(a=v-C,h=C),g=f+ +(65535&65533/(d-g)*(d-f)+1|1)/(65533/(d-g))+1,C=h+ +(65535&65533/(v-C)*a+1|1)/(65533/(v-C))+1,m<(y=S+ +(65535&65533/(m-y)*(m-S)+1|1)/(65533/(m-y))+1)&&(p[t+20>>2]=y,m=y),d>2]=g,d=g),v>2]=C,a=C-h),p[t+36>>2]=65533/(m-S),p[t+40>>2]=65533/(d-f),p[t+44>>2]=65533/a,p[t+48>>2]=0,_[c+96>>2]=9016,_[c+96+4>>2]=t+104,_[c+96+8>>2]=t,pd[127&_[8+(0|_[e>>2])>>2]](e,c+96|0,t+4|0,t+20|0),i=0|_[t+108>>2],_[c+80>>2]=0,_[c+80+4>>2]=0,_[c+80+8>>2]=0,_[c+80+12>>2]=0,(0|(l=0|_[t+128>>2]))>2])>2]=r,r=r+4+15&-16):r=0,e=0|_[t+128>>2]):(r=0,e=l),(0|e)>0){s=0;do{u=r+(s<<4)|0,A=(0|_[t+136>>2])+(s<<4)|0,_[u>>2]=_[A>>2],_[u+4>>2]=_[A+4>>2],_[u+8>>2]=_[A+8>>2],_[u+12>>2]=_[A+12>>2],s=s+1|0}while((0|s)!=(0|e))}0|(s=0|_[t+136>>2])&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+136>>2]=0),n[t+140|0]=1,_[t+136>>2]=r,_[t+132>>2]=i<<1,s=t+136|0}else s=t+136|0;r=l;do{u=(0|_[s>>2])+(r<<4)|0,_[u>>2]=_[c+80>>2],_[u+4>>2]=_[c+80+4>>2],_[u+8>>2]=_[c+80+8>>2],_[u+12>>2]=_[c+80+12>>2],r=r+1|0}while((0|r)!=i<<1)}_[t+128>>2]=i<<1}else{_[c+96>>2]=9036,_[c+96+4>>2]=t+64,_[c+80>>2]=-581039253,_[c+80+4>>2]=-581039253,_[c+80+8>>2]=-581039253,p[c+80+12>>2]=0,_[c+64>>2]=1566444395,_[c+64+4>>2]=1566444395,_[c+64+8>>2]=1566444395,p[c+64+12>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,c+96|0,c+80|0,c+64|0),i=0|_[t+68>>2],A=(l=c)+64|0;do{_[l>>2]=0,l=l+4|0}while((0|l)<(0|A));if((0|(u=0|_[t+88>>2]))>2])>2]=r,r=r+4+15&-16):r=0,e=0|_[t+88>>2]):(r=0,e=u),(0|e)>0){s=0;do{l=r+(s<<6)|0,b=(0|_[t+96>>2])+(s<<6)|0,A=l+64|0;do{_[l>>2]=_[b>>2],l=l+4|0,b=b+4|0}while((0|l)<(0|A));s=s+1|0}while((0|s)!=(0|e))}0|(s=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=r,_[t+92>>2]=i<<1,s=t+96|0}else s=t+96|0;r=u;do{b=c,A=64+(l=(0|_[s>>2])+(r<<6)|0)|0;do{_[l>>2]=_[b>>2],l=l+4|0,b=b+4|0}while((0|l)<(0|A));r=r+1|0}while((0|r)!=i<<1)}_[t+88>>2]=i<<1}if(_[t+56>>2]=0,yi(t,0,i),0|n[t+60|0]&&!(0|_[t+152>>2])){if(0|_[t+156>>2])r=t+160|0,s=1,i=0|_[t+160>>2];else{if(_[6630]=1+(0|_[6630]),(i=0|di(51))?(_[(i+4+15&-16)-4>>2]=i,e=i+4+15&-16):e=0,(0|(r=0|_[t+152>>2]))>0){i=0;do{u=e+(i<<5)|0,A=(0|_[t+160>>2])+(i<<5)|0,_[u>>2]=_[A>>2],_[u+4>>2]=_[A+4>>2],_[u+8>>2]=_[A+8>>2],_[u+12>>2]=_[A+12>>2],_[u+16>>2]=_[A+16>>2],_[u+20>>2]=_[A+20>>2],_[u+24>>2]=_[A+24>>2],_[u+28>>2]=_[A+28>>2],i=i+1|0}while((0|i)!=(0|r))}0|(i=0|_[t+160>>2])&&(0|n[t+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+160>>2]=0),n[t+164|0]=1,_[t+160>>2]=e,_[t+156>>2]=1,r=t+160|0,s=1+(0|_[t+152>>2])|0,i=e}_[t+152>>2]=s,_[i>>2]=_[c+96>>2],_[i+4>>2]=_[c+96+4>>2],_[i+8>>2]=_[c+96+8>>2],_[i+12>>2]=_[c+96+12>>2],_[i+16>>2]=_[c+96+16>>2],_[i+20>>2]=_[c+96+20>>2],_[i+24>>2]=_[c+96+24>>2],_[i+28>>2]=_[c+96+28>>2],u=0|_[r>>2],A=0|_[t+136>>2],o[u>>1]=0|o[A>>1],o[u+2>>1]=0|o[A+2>>1],o[u+4>>1]=0|o[A+4>>1],o[u+6>>1]=0|o[A+6>>1],o[u+8>>1]=0|o[A+8>>1],o[u+10>>1]=0|o[A+10>>1],_[u+12>>2]=0,A=0|_[A+12>>2],_[u+16>>2]=(0|A)>-1?1:0-A|0}if(_[t+168>>2]=_[t+152>>2],0|(i=0|_[t+116>>2])&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+116>>2]=0),n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,!(i=0|_[t+76>>2]))return n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[(t=t+72|0)>>2]=0,void(Q=c);0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+76>>2]=0,n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[(t=t+72|0)>>2]=0,Q=c}function Oi(t,e,i,o,r,s,c,l,d,b,A){e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,l|=0,d=+d,b=+b,A=+A;var f,u,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,Q=0,E=0;if((0|(u=0|_[68+(t|=0)>>2]))==(0|_[t+72>>2])&&(0|u)<(0|(C=0|u?u<<1:1))){if(C?(_[6630]=1+(0|_[6630]),(m=0|di(16+(152*C|3)|0))?(_[(m+4+15&-16)-4>>2]=m,m=m+4+15&-16):m=0,y=0|_[t+68>>2]):(m=0,y=u),(0|y)>0){h=0;do{_e(m+(152*h|0)|0,(0|_[t+76>>2])+(152*h|0)|0,152),h=h+1|0}while((0|h)!=(0|y))}0|(h=0|_[t+76>>2])&&(0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[h+-4>>2])),_[t+76>>2]=0),n[t+80|0]=1,_[t+76>>2]=m,_[t+72>>2]=C,m=0|_[t+68>>2]}else m=u;return _[t+68>>2]=m+1,f=0|_[t+76>>2],_[f+(152*u|0)+140>>2]=r,y=0|_[t+16>>2],m=0|_[y+(244*i|0)+240>>2],C=0|_[y+(244*o|0)+240>>2],_[f+(152*u|0)+144>>2]=i,_[f+(152*u|0)+148>>2]=o,h=0|_[s+84>>2],_[f+(152*u|0)+104>>2]=h,_[f+(152*u|0)+132>>2]=0,p[f+(152*u|0)+100>>2]=0,p[f+(152*u|0)+96>>2]=0,_[a>>2]=h,G=+p[a>>2],0|m?(_[f+(152*u|0)+16>>2]=_[e>>2],_[f+(152*u|0)+16+4>>2]=_[e+4>>2],_[f+(152*u|0)+16+8>>2]=_[e+8>>2],_[f+(152*u|0)+16+12>>2]=_[e+12>>2],V=+p[c+4>>2],W=+p[f+(152*u|0)+24>>2],T=+p[c+8>>2],P=+p[f+(152*u|0)+20>>2],F=+p[f+(152*u|0)+16>>2],M=+p[c>>2],p[f+(152*u|0)>>2]=V*W-T*P,p[f+(152*u|0)+4>>2]=T*F-W*M,p[f+(152*u|0)+8>>2]=P*M-V*F,p[f+(152*u|0)+12>>2]=0,S=((V*W-T*P)*+p[m+264>>2]+(T*F-W*M)*+p[m+268>>2]+(P*M-V*F)*+p[m+272>>2])*+p[m+544>>2],g=((V*W-T*P)*+p[m+280>>2]+(T*F-W*M)*+p[m+284>>2]+(P*M-V*F)*+p[m+288>>2])*+p[m+548>>2],v=((V*W-T*P)*+p[m+296>>2]+(T*F-W*M)*+p[m+300>>2]+(P*M-V*F)*+p[m+304>>2])*+p[m+552>>2],p[f+(152*u|0)+64>>2]=S,p[f+(152*u|0)+68>>2]=g,p[f+(152*u|0)+72>>2]=v,p[f+(152*u|0)+76>>2]=0,j=F,D=P,I=W,B=V*W-T*P,W=T*F-W*M,F=P*M-V*F):(_[f+(152*u|0)+64>>2]=0,_[f+(152*u|0)+64+4>>2]=0,_[f+(152*u|0)+64+8>>2]=0,_[f+(152*u|0)+64+12>>2]=0,_[f+(152*u|0)>>2]=0,_[f+(152*u|0)+4>>2]=0,_[f+(152*u|0)+8>>2]=0,_[f+(152*u|0)+12>>2]=0,_[f+(152*u|0)+16>>2]=0,_[f+(152*u|0)+20>>2]=0,_[f+(152*u|0)+24>>2]=0,_[f+(152*u|0)+28>>2]=0,g=0,v=0,S=0,j=0,D=0,I=0,B=0,W=0,F=0),0|C?(V=-+p[e>>2],L=-+p[e+4>>2],M=-+p[e+8>>2],p[f+(152*u|0)+48>>2]=V,p[f+(152*u|0)+52>>2]=L,p[f+(152*u|0)+56>>2]=M,p[f+(152*u|0)+60>>2]=0,N=+p[l+4>>2],E=+p[l+8>>2],Q=+p[l>>2],p[f+(152*u|0)+32>>2]=N*M-E*L,p[f+(152*u|0)+36>>2]=E*V-Q*M,p[f+(152*u|0)+40>>2]=Q*L-N*V,p[f+(152*u|0)+44>>2]=0,w=((N*M-E*L)*+p[C+264>>2]+(E*V-Q*M)*+p[C+268>>2]+(Q*L-N*V)*+p[C+272>>2])*+p[C+544>>2],k=((N*M-E*L)*+p[C+280>>2]+(E*V-Q*M)*+p[C+284>>2]+(Q*L-N*V)*+p[C+288>>2])*+p[C+548>>2],R=((N*M-E*L)*+p[C+296>>2]+(E*V-Q*M)*+p[C+300>>2]+(Q*L-N*V)*+p[C+304>>2])*+p[C+552>>2],p[f+(152*u|0)+80>>2]=w,p[f+(152*u|0)+84>>2]=k,p[f+(152*u|0)+88>>2]=R,p[f+(152*u|0)+92>>2]=0,x=V,O=L,T=M,P=N*M-E*L,M=E*V-Q*M,V=Q*L-N*V):(_[f+(152*u|0)+80>>2]=0,_[f+(152*u|0)+80+4>>2]=0,_[f+(152*u|0)+80+8>>2]=0,_[f+(152*u|0)+80+12>>2]=0,_[f+(152*u|0)+32>>2]=0,_[f+(152*u|0)+32+4>>2]=0,_[f+(152*u|0)+32+8>>2]=0,_[f+(152*u|0)+32+12>>2]=0,_[f+(152*u|0)+32+16>>2]=0,_[f+(152*u|0)+32+20>>2]=0,_[f+(152*u|0)+32+24>>2]=0,_[f+(152*u|0)+32+28>>2]=0,w=0,k=0,R=0,x=0,O=0,T=0,P=0,M=0,V=0),0|m?(L=+p[c+8>>2],Q=+p[c+4>>2],E=+p[c>>2],v=+p[m+344>>2]+((g*L-v*Q)*+p[e>>2]+(v*E-L*S)*+p[e+4>>2]+(Q*S-g*E)*+p[e+8>>2])):v=0,0|C?(Q=-w,g=-k,R=-R,N=+p[l+8>>2],L=+p[l+4>>2],E=+p[l>>2],g=+p[C+344>>2]+((N*g-L*R)*+p[e>>2]+(E*R-N*Q)*+p[e+4>>2]+(L*Q-E*g)*+p[e+8>>2])):g=0,k=d/(v+g),p[f+(152*u|0)+108>>2]=k,0|m?(v=+p[y+(244*i|0)+192>>2],S=+p[y+(244*i|0)+196>>2],w=+p[y+(244*i|0)+200>>2],g=(+p[y+(244*i|0)+176>>2]+ +p[y+(244*i|0)+208>>2])*j+(+p[y+(244*i|0)+180>>2]+ +p[y+(244*i|0)+212>>2])*D+(+p[y+(244*i|0)+184>>2]+ +p[y+(244*i|0)+216>>2])*I):(v=0,S=0,w=0,g=0*j+0*D+0*I),g+=v*B+S*W+w*F,0|C?(N=+p[y+(244*o|0)+192>>2],L=+p[y+(244*o|0)+196>>2],E=+p[y+(244*o|0)+200>>2],E=b-(E=g+(E=(Q=(+p[y+(244*o|0)+176>>2]+ +p[y+(244*o|0)+208>>2])*x+(+p[y+(244*o|0)+180>>2]+ +p[y+(244*o|0)+212>>2])*O+(+p[y+(244*o|0)+184>>2]+ +p[y+(244*o|0)+216>>2])*T)+(E=(L=(N*=P)+(L*=M))+(E*=V)))),E*=k,p[(o=f+(152*u|0)+112|0)>>2]=E,p[(o=f+(152*u|0)+116|0)>>2]=A,E=-G,p[(o=f+(152*u|0)+120|0)>>2]=E,void(_[(o=f+(152*u|0)+124|0)>>2]=h)):(N=0,L=0,E=0,E=b-(E=g+(E=(Q=0*x+0*O+0*T)+(E=(L=(N*=P)+(L*=M))+(E*=V)))),E*=k,p[(o=f+(152*u|0)+112|0)>>2]=E,p[(o=f+(152*u|0)+116|0)>>2]=A,E=-G,p[(o=f+(152*u|0)+120|0)>>2]=E,void(_[(o=f+(152*u|0)+124|0)>>2]=h))}function Ti(t,e,i,o,r,s){e|=0,i|=0,o|=0,r|=0,s|=0;var c,a,l,d,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B,W,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0;W=Q,Q=Q+32|0,ot=0|_[4+(t|=0)>>2],n[ot+312|0]=0,_[ot>>2]=0,n[ot+356|0]=1,_[ot+292>>2]=1566444395,_[ot+296>>2]=1566444395,_[ot+300>>2]=1566444395,p[ot+304>>2]=0,_[ot+336>>2]=0,_[ot+336+4>>2]=0,_[ot+336+8>>2]=0,_[ot+336+12>>2]=0,n[ot+336+16|0]=0,n[ot+332|0]=-16&n[ot+332|0],M=+p[e+48>>2],G=+p[e+52>>2],E=+p[e+56>>2],P=+p[o+48>>2],V=+p[o+52>>2],L=+p[o+56>>2],a=+p[e>>2],S=+p[e+4>>2],k=+p[e+8>>2],j=+p[e+16>>2],d=+p[e+20>>2],f=+p[e+24>>2],m=+p[e+32>>2],y=+p[e+36>>2],C=+p[e+40>>2],c=+p[o>>2],v=+p[o+4>>2],w=+p[o+8>>2],R=+p[o+16>>2],l=+p[o+20>>2],A=+p[o+24>>2],u=+p[o+32>>2],h=+p[o+36>>2],g=+p[o+40>>2],D=+p[i+48>>2]-M-(+p[r+48>>2]-P),I=+p[i+52>>2]-G-(+p[r+52>>2]-V),B=+p[i+56>>2]-E-(+p[r+56>>2]-L),ot=0|_[t+8>>2],J=0|_[64+(0|_[ot>>2])>>2],p[W>>2]=a*-D+j*-I+m*-B,p[W+4>>2]=S*-D+d*-I+y*-B,p[W+8>>2]=k*-D+f*-I+C*-B,p[W+12>>2]=0,_d[127&J](W+16|0,ot,W),it=+p[W+16>>2],nt=+p[W+16+4>>2],et=+p[W+16+8>>2],O=it*+p[e>>2]+nt*+p[e+4>>2]+et*+p[e+8>>2]+ +p[e+48>>2],Z=it*+p[e+16>>2]+nt*+p[e+20>>2]+et*+p[e+24>>2]+ +p[e+52>>2],et=it*+p[e+32>>2]+nt*+p[e+36>>2]+et*+p[e+40>>2]+ +p[e+56>>2],ot=0|_[t+12>>2],J=0|_[64+(0|_[ot>>2])>>2],nt=D*+p[o+4>>2]+I*+p[o+20>>2]+B*+p[o+36>>2],it=D*+p[o+8>>2]+I*+p[o+24>>2]+B*+p[o+40>>2],p[W>>2]=D*+p[o>>2]+I*+p[o+16>>2]+B*+p[o+32>>2],p[W+4>>2]=nt,p[W+8>>2]=it,p[W+12>>2]=0,_d[127&J](W+16|0,ot,W),it=+p[W+16>>2],nt=+p[W+16+4>>2],T=+p[W+16+8>>2],O-=it*+p[o>>2]+nt*+p[o+4>>2]+T*+p[o+8>>2]+ +p[o+48>>2],Z-=it*+p[o+16>>2]+nt*+p[o+20>>2]+T*+p[o+24>>2]+ +p[o+52>>2],T=et-(it*+p[o+32>>2]+nt*+p[o+36>>2]+T*+p[o+40>>2]+ +p[o+56>>2]);t:do{if(O*O+Z*Z+T*T>9999999747378752e-20){for(x=0,ot=32,nt=O,F=0,it=T,N=0,X=P,P=0,T=0,O=0;;){if(!ot)break t;if(ot=ot+-1|0,J=0|_[t+8>>2],U=0|_[64+(0|_[J>>2])>>2],q=-nt,rt=-Z,Y=-it,p[W>>2]=a*q+j*rt+m*Y,p[W+4>>2]=S*q+d*rt+y*Y,p[W+8>>2]=k*q+f*rt+C*Y,p[W+12>>2]=0,_d[127&U](W+16|0,J,W),z=M+(a*(Y=+p[W+16>>2])+S*(rt=+p[W+16+4>>2])+k*(q=+p[W+16+8>>2])),K=G+(j*Y+d*rt+f*q),q=E+(m*Y+y*rt+C*q),J=0|_[t+12>>2],U=0|_[64+(0|_[J>>2])>>2],p[W>>2]=c*nt+R*Z+u*it,p[W+4>>2]=v*nt+l*Z+h*it,p[W+8>>2]=w*nt+A*Z+g*it,p[W+12>>2]=0,_d[127&U](W+16|0,J,W),Y=(z-($=X+(c*(rt=+p[W+16>>2])+v*(Y=+p[W+16+4>>2])+w*(et=+p[W+16+8>>2]))))*nt+(K-(tt=V+(R*rt+l*Y+A*et)))*Z+(q-(et=L+(u*rt+h*Y+g*et)))*it,x>1){F=0,_t=24;break}if(Y>0){if((O=D*nt+I*Z+B*it)>=-14210854715202004e-30){F=0,_t=24;break}x=E=x-Y/O,F=N,X=(1-E)*+p[o+48>>2]+E*+p[r+48>>2],M=(1-E)*+p[e+48>>2]+E*+p[i+48>>2],V=(1-E)*+p[o+52>>2]+E*+p[r+52>>2],G=(1-E)*+p[e+52>>2]+E*+p[i+52>>2],L=(1-E)*+p[o+56>>2]+E*+p[r+56>>2],E=(1-E)*+p[e+56>>2]+E*+p[i+56>>2],O=nt,T=Z,P=it}if(N=0|_[t+4>>2],(0|(J=0|_[N>>2]))>0){Z=+p[N+308>>2],U=0,H=0;do{H|=(it=z-$-+p[N+4+(U<<4)>>2])*it+(nt=K-tt-+p[N+4+(U<<4)+4>>2])*nt+(rt=q-et-+p[N+4+(U<<4)+8>>2])*rt<=Z,U=U+1|0}while((0|U)!=(0|J))}else H=0;if(0==+p[N+304>>2]&&q-et==+p[N+300>>2]&&K-tt==+p[N+296>>2]?z-$==+p[N+292>>2]|H||(_t=16):H||(_t=16),16==(0|_t)&&(_t=0,p[N+292>>2]=z-$,p[N+296>>2]=K-tt,p[N+300>>2]=q-et,p[N+304>>2]=0,n[N+356|0]=1,p[N+4+(J<<4)>>2]=z-$,p[N+4+(J<<4)+4>>2]=K-tt,p[N+4+(J<<4)+8>>2]=q-et,p[N+4+(J<<4)+12>>2]=0,J=0|_[N>>2],p[N+84+(J<<4)>>2]=z,p[N+84+(J<<4)+4>>2]=K,p[N+84+(J<<4)+8>>2]=q,p[N+84+(J<<4)+12>>2]=0,J=0|_[N>>2],p[N+164+(J<<4)>>2]=$,p[N+164+(J<<4)+4>>2]=tt,p[N+164+(J<<4)+8>>2]=et,p[N+164+(J<<4)+12>>2]=0,_[N>>2]=1+(0|_[N>>2]),N=0|_[t+4>>2]),J=0|fi(N),nt=+p[N+276>>2],Z=+p[N+280>>2],it=+p[N+284>>2],!J)break t;if(!(nt*nt+Z*Z+it*it>9999999747378752e-20))break t;N=0|_[N+288>>2]}if(24==(0|_t))return Q=W,0|F}else x=0,P=0,T=0,O=0,F=0}while(0);return p[s+164>>2]=x,(x=O*O+T*T+P*P)>=14210854715202004e-30?(x=O*(rt=1/+b(+x)),O=T*rt,T=P*rt,p[s+132>>2]=x,p[s+136>>2]=O,p[s+140>>2]=T,_[s+144>>2]=F):(_[s+132>>2]=0,_[s+132+4>>2]=0,_[s+132+8>>2]=0,_[s+132+12>>2]=0,x=0,O=0,T=0),D*x+I*O+B*T>=-+p[s+172>>2]?(Q=W,0|(s=0)):(fi(t=0|_[t+4>>2]),Do(s+148|0,t+260|0,16),Q=W,0|(s=1))}function Pi(t,e,i){e|=0,i|=0;var o,r,s,c,a=0,l=0,d=0,A=0,f=0,u=0,m=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0;I=+p[48+(t|=0)>>2],d=+p[e>>2],B=+p[t+64>>2],A=+p[e+4>>2],T=+p[t+80>>2],u=+p[e+8>>2],C=+p[t+52>>2],g=+p[t+68>>2],m=+p[t+84>>2],k=+p[t+56>>2],O=+p[t+72>>2],R=+p[t+88>>2],w=+p[e+16>>2],S=+p[e+20>>2],v=+p[e+24>>2],x=+p[e+32>>2],W=+p[e+36>>2],F=+p[e+40>>2],f=+p[t+96>>2],l=+p[t+100>>2],D=+p[t+104>>2],j=+p[e+48>>2]+(d*f+A*l+u*D),a=w*f+S*l+v*D+ +p[e+52>>2],D=x*f+W*l+F*D+ +p[e+56>>2],p[t+1064>>2]=I*d+B*A+T*u,p[t+1068>>2]=d*C+A*g+u*m,p[t+1072>>2]=d*k+A*O+u*R,p[t+1076>>2]=0,p[t+1080>>2]=I*w+B*S+T*v,p[t+1084>>2]=C*w+g*S+m*v,p[t+1088>>2]=k*w+O*S+R*v,p[t+1092>>2]=0,p[t+1096>>2]=I*x+B*W+T*F,p[t+1100>>2]=C*x+g*W+m*F,p[t+1104>>2]=k*x+O*W+R*F,p[t+1108>>2]=0,p[t+1112>>2]=j,p[t+1116>>2]=a,p[t+1120>>2]=D,p[t+1124>>2]=0,D=+p[t+112>>2],a=+p[i>>2],j=+p[t+128>>2],F=+p[i+4>>2],R=+p[t+144>>2],W=+p[i+8>>2],O=+p[t+116>>2],x=+p[t+132>>2],k=+p[t+148>>2],m=+p[t+120>>2],g=+p[t+136>>2],C=+p[t+152>>2],T=+p[i+16>>2],B=+p[i+20>>2],I=+p[i+24>>2],v=+p[i+32>>2],S=+p[i+36>>2],w=+p[i+40>>2],u=+p[t+160>>2],A=+p[t+164>>2],d=+p[t+168>>2],l=+p[i+48>>2]+(a*u+F*A+W*d),f=T*u+B*A+I*d+ +p[i+52>>2],d=v*u+S*A+w*d+ +p[i+56>>2],p[t+1128>>2]=D*a+j*F+R*W,p[t+1132>>2]=a*O+F*x+W*k,p[t+1136>>2]=a*m+F*g+W*C,p[t+1140>>2]=0,p[t+1144>>2]=D*T+j*B+R*I,p[t+1148>>2]=O*T+x*B+k*I,p[t+1152>>2]=m*T+g*B+C*I,p[t+1156>>2]=0,p[t+1160>>2]=D*v+j*S+R*w,p[t+1164>>2]=O*v+x*S+k*w,p[t+1168>>2]=m*v+g*S+C*w,p[t+1172>>2]=0,p[t+1176>>2]=l,p[t+1180>>2]=f,p[t+1184>>2]=d,p[t+1188>>2]=0,l-=+p[t+1112>>2],f-=+p[t+1116>>2],d-=+p[t+1120>>2],k=+p[t+1084>>2],x=+p[t+1104>>2],O=+p[t+1088>>2],R=+p[t+1100>>2],j=+p[t+1096>>2],D=+p[t+1080>>2],I=+p[t+1064>>2],a=d*((O*(B=+p[t+1068>>2])-k*(T=+p[t+1072>>2]))*(W=1/((k*x-O*R)*I+B*(O*j-x*D)+(R*D-k*j)*T)))+(l*((k*x-O*R)*W)+f*((R*T-x*B)*W)),A=d*((D*T-O*I)*W)+(l*((O*j-x*D)*W)+f*((x*I-j*T)*W)),f=d*((k*I-D*B)*W)+(l*(F=(R*D-k*j)*W)+f*((j*B-R*I)*W)),p[t+1256>>2]=a,p[t+1260>>2]=A,p[t+1264>>2]=f,p[t+1268>>2]=0,p[t+840>>2]=a,l=+p[t+680>>2],d=+p[t+696>>2];do{if(!(l>d)){if(l>a){_[t+856>>2]=2,a-=l;break}if(d>2]=1,a-=d;break}_[t+856>>2]=0,a=0;break}_[t+856>>2]=0,a=0}while(0);p[t+824>>2]=a,p[t+844>>2]=A,a=+p[t+684>>2],l=+p[t+700>>2];do{if(!(a>l)){if(a>A){_[t+860>>2]=2,a=A-a;break}if(l>2]=1,a=A-l;break}_[t+860>>2]=0,a=0;break}_[t+860>>2]=0,a=0}while(0);p[t+828>>2]=a,p[t+848>>2]=f,a=+p[t+688>>2],l=+p[t+704>>2];do{if(!(a>l)){if(a>f){_[t+864>>2]=2,a=f-a;break}if(l>2]=1,a=f-l;break}_[t+864>>2]=0,a=0;break}_[t+864>>2]=0,a=0}while(0);p[t+832>>2]=a,s=+p[t+1128>>2],c=+p[t+1144>>2],u=+p[t+1160>>2],f=(k*x-O*R)*W*(l=+p[t+1132>>2])+(R*T-x*B)*W*(d=+p[t+1148>>2])+(O*B-k*T)*W*(A=+p[t+1164>>2]),o=l*((O*j-x*D)*W)+(x*I-j*T)*W*d+(D*T-O*I)*W*A,r=u*((k*I-D*B)*W)+(s*F+c*((j*B-R*I)*W)),a=F*+p[t+1136>>2]+(j*B-R*I)*W*+p[t+1152>>2]+(k*I-D*B)*W*(m*v+g*S+C*w);do{if(r<1){if(r>-1){a=+y(+-(l*F+(j*B-R*I)*W*d+(k*I-D*B)*W*A),+a),p[t+1192>>2]=a,a=+h(+((a=r<-1?-1:r)>1?1:a)),p[t+1196>>2]=a,a=+y(+-(u*((D*T-O*I)*W)+(s*((O*j-x*D)*W)+c*((x*I-j*T)*W))),+(u*((O*B-k*T)*W)+(s*((k*x-O*R)*W)+c*((R*T-x*B)*W))));break}a=-+y(+f,+o),p[t+1192>>2]=a,p[t+1196>>2]=-1.5707963705062866,a=0;break}a=+y(+f,+o),p[t+1192>>2]=a,p[t+1196>>2]=1.5707963705062866,a=0}while(0);p[t+1200>>2]=a,p[t+1236>>2]=0,R=x*(s*x-u*T)-O*(c*T-s*O),j=T*(c*T-s*O)-x*(u*O-c*x),D=O*(u*O-c*x)-T*(s*x-u*T),p[t+1220>>2]=0,B=c*(c*T-s*O)-u*(s*x-u*T),W=u*(u*O-c*x)-s*(c*T-s*O),F=s*(s*x-u*T)-c*(u*O-c*x),p[t+1252>>2]=0,I=1/+b(+(R*R+j*j+D*D)),p[t+1208>>2]=R*I,p[t+1212>>2]=j*I,p[t+1216>>2]=D*I,I=1/+b(+((c*T-s*O)*(c*T-s*O)+((s*x-u*T)*(s*x-u*T)+(u*O-c*x)*(u*O-c*x)))),p[t+1224>>2]=(u*O-c*x)*I,p[t+1228>>2]=(s*x-u*T)*I,p[t+1232>>2]=(c*T-s*O)*I,T=1/+b(+(B*B+W*W+F*F)),p[t+1240>>2]=B*T,p[t+1244>>2]=W*T,p[t+1248>>2]=F*T,0|n[t+1301|0]&&(O=+p[344+(0|_[t+28>>2])>>2],T=+p[344+(0|_[t+32>>2])>>2],n[t+1280|0]=1&(O<1.1920928955078125e-7|T<1.1920928955078125e-7),T=O+T>0?T/(O+T):.5,p[t+1272>>2]=T,p[t+1276>>2]=1-T)}function Mi(t,e,i,n,o,r){t|=0,e|=0,i|=0,n|=0,o|=0,r=+r;var s,c,a,l,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0;if(s=Q,Q=Q+272|0,_[s+128>>2]=_[i>>2],_[s+128+4>>2]=_[i+4>>2],_[s+128+8>>2]=_[i+8>>2],_[s+128+12>>2]=_[i+12>>2],_[s+128+16>>2]=_[i+16>>2],_[s+128+16+4>>2]=_[i+16+4>>2],_[s+128+16+8>>2]=_[i+16+8>>2],_[s+128+16+12>>2]=_[i+16+12>>2],_[s+128+32>>2]=_[i+32>>2],_[s+128+32+4>>2]=_[i+32+4>>2],_[s+128+32+8>>2]=_[i+32+8>>2],_[s+128+32+12>>2]=_[i+32+12>>2],_[s+128+48>>2]=_[i+48>>2],_[s+128+48+4>>2]=_[i+48+4>>2],_[s+128+48+8>>2]=_[i+48+8>>2],_[s+128+48+12>>2]=_[i+48+12>>2],_[s+64>>2]=_[n>>2],_[s+64+4>>2]=_[n+4>>2],_[s+64+8>>2]=_[n+8>>2],_[s+64+12>>2]=_[n+12>>2],_[s+64+16>>2]=_[n+16>>2],_[s+64+16+4>>2]=_[n+16+4>>2],_[s+64+16+8>>2]=_[n+16+8>>2],_[s+64+16+12>>2]=_[n+16+12>>2],_[s+64+32>>2]=_[n+32>>2],_[s+64+32+4>>2]=_[n+32+4>>2],_[s+64+32+8>>2]=_[n+32+8>>2],_[s+64+32+12>>2]=_[n+32+12>>2],_[s+64+48>>2]=_[n+48>>2],_[s+64+48+4>>2]=_[n+48+4>>2],_[s+64+48+8>>2]=_[n+48+8>>2],_[s+64+48+12>>2]=_[n+48+12>>2],d=+p[s+64+52>>2]-+p[s+128+52>>2],W=+p[s+64+56>>2]-+p[s+128+56>>2],p[s+16>>2]=+p[s+64+48>>2]-+p[s+128+48>>2],p[s+16+4>>2]=d,p[s+16+8>>2]=W,p[s+16+12>>2]=0,$(s+128|0,s+64|0,s+208|0,s+192|0),d=(W=+p[s+192>>2])*+p[s+208+4>>2],B=W*+p[s+208+8>>2],p[s>>2]=+p[s+208>>2]*W,p[s+4>>2]=d,p[s+8>>2]=B,p[s+12>>2]=0,_[s+208+48>>2]=0,_[s+208+48+4>>2]=0,_[s+208+48+8>>2]=0,_[s+208+48+12>>2]=0,Qt(s+128|0,s+192|0),c=(B=+p[s+192>>2])*(2/(B*B+(d=+p[s+192+4>>2])*d+(W=+p[s+192+8>>2])*W+(a=+p[s+192+12>>2])*a)),b=d*(2/(B*B+d*d+W*W+a*a)),l=W*(2/(B*B+d*d+W*W+a*a)),p[s+208>>2]=1-(d*b+W*l),p[s+208+4>>2]=B*b-a*l,p[s+208+8>>2]=B*l+a*b,p[s+208+12>>2]=0,p[s+208+16>>2]=B*b+a*l,p[s+208+20>>2]=1-(B*c+W*l),p[s+208+24>>2]=d*l-a*c,p[s+208+28>>2]=0,p[s+208+32>>2]=B*l-a*b,p[s+208+36>>2]=d*l+a*c,p[s+208+40>>2]=1-(B*c+d*b),p[s+208+44>>2]=0,Nt(e,s+208|0,s+16|0,s,s+48|0,s+32|0),(0|_[t+268>>2])<=0)Q=s;else{A=0;do{f=0|_[(0|_[t+276>>2])+(A<<2)>>2],0|Ll[31&_[8+(0|_[o>>2])>>2]](o,0|_[f+188>>2])&&(D=0|_[f+192>>2],pd[127&_[8+(0|_[D>>2])>>2]](D,f+4|0,s+192|0,s+16|0),u=+p[s+192>>2]+ +p[s+48>>2],m=+p[s+192+4>>2]+ +p[s+48+4>>2],h=+p[s+192+8>>2]+ +p[s+48+8>>2],p[s+192>>2]=u,p[s+192+4>>2]=m,p[s+192+8>>2]=h,p[s+192+12>>2]=0,y=+p[s+16>>2]+ +p[s+32>>2],g=+p[s+16+4>>2]+ +p[s+32+4>>2],C=+p[s+16+8>>2]+ +p[s+32+8>>2],p[s+16>>2]=y,p[s+16+4>>2]=g,p[s+16+8>>2]=C,p[s+16+12>>2]=0,v=+p[i+48>>2]-.5*(y+u),S=+p[i+52>>2]-.5*(g+m),w=+p[i+56>>2]-.5*(C+h),!((I=((k=+p[n+48>>2]-.5*(y+u))>.5*(y-u)?8:0)|k<-.5*(y-u)|((R=+p[n+52>>2]-.5*(g+m))<-.5*(g-m)?2:0)|(R>.5*(g-m)?16:0)|((j=+p[n+56>>2]-.5*(C+h))<-.5*(C-h)?4:0)|(j>.5*(C-h)?32:0))&(D=(v>.5*(y-u)?8:0)|v<-.5*(y-u)|(S<-.5*(g-m)?2:0)|(S>.5*(g-m)?16:0)|(w<-.5*(C-h)?4:0)|(w>.5*(C-h)?32:0))))&&(v<-.5*(y-u)?(-v-.5*(y-u))/(k-v)>=0?(d=(-v-.5*(y-u))/(k-v),b=1):(d=0,b=1):k<-.5*(y-u)&&(-v-.5*(y-u))/(k-v)<1?(d=0,b=(-v-.5*(y-u))/(k-v)):(d=0,b=1),S<-.5*(g-m)?d<=(-S-.5*(g-m))/(R-S)&&(d=(-S-.5*(g-m))/(R-S)):R<-.5*(g-m)&&(-S-.5*(g-m))/(R-S).5*(y-u)?d<=(.5*(y-u)-v)/(k-v)&&(d=(.5*(y-u)-v)/(k-v)):k>.5*(y-u)&&(.5*(y-u)-v)/(k-v).5*(g-m)?d<=(.5*(g-m)-S)/(R-S)&&(d=(.5*(g-m)-S)/(R-S)):R>.5*(g-m)&&(.5*(g-m)-S)/(R-S)>2],_[s+208>>2]=0,_[s+208+4>>2]=F,_[s+208+8>>2]=f,_[s+208+12>>2]=f+4,_[s+208+16>>2]=-1,_[s+208+20>>2]=-1,mi(e,s+128|0,s+64|0,s+208|0,o,r))),A=A+1|0}while((0|A)<(0|_[t+268>>2]));Q=s}}function Vi(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;if(!((0|(i=0|_[8+(t|=0)>>2]))<=0)){o=0;do{n=0|_[(0|_[t+16>>2])+(o<<2)>>2],1==(0|_[n+236>>2])&&(ed[127&_[24+(0|_[n>>2])>>2]](n,e),i=0|_[t+8>>2]),o=o+1|0}while((0|o)<(0|i));if(!((0|(s=i))<=0)){for(p=0,A=0,h=0,m=0,r=0,o=0,w=0,S=0,v=0,n=0,u=0,f=0,i=0,l=0,b=0;;){y=9*(~((k=0|_[192+(0|_[(0|_[t+16>>2])+(p<<2)>>2])>>2])<<15)+k>>10^~(k<<15)+k)|0,c=(y=(y^=y>>6)+~(y<<11)>>16^y+~(y<<11))&f+-1;t:do{if(c>>>0>>0&&(R=0|_[o+(c<<2)>>2],-1!=(0|R))){for(c=R;(0|_[r+(c<<3)>>2])!=(0|k);)if(-1==(0|(c=0|_[n+(c<<2)>>2]))){W=14;break t}i+(c<<2)|0?(c=w,d=S,a=v):W=14}else W=14}while(0);if(14==(0|W)){W=0,d=y&f+-1;t:do{if(d>>>0>>0&&(j=0|_[o+(d<<2)>>2],-1!=(0|j))){for(s=j;(0|_[r+(s<<3)>>2])!=(0|k);)if(-1==(0|(s=0|_[n+(s<<2)>>2]))){W=20;break t}_[i+(s<<2)>>2]=k,c=w,d=S,a=v}else W=20}while(0);if(20==(0|W)){W=0;do{if((0|u)==(0|f))if((0|f)<(0|(c=0|f?f<<1:1))){if(0|c&&(_[6630]=1+(0|_[6630]),0|(B=0|di(16+(c<<2|3)|0)))?(_[(B+4+15&-16)-4>>2]=B,a=B+4+15&-16):a=0,(0|f)<=0){if(!i){C=c,i=a,s=f;break}}else{s=0;do{_[a+(s<<2)>>2]=_[i+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|f))}_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),C=c,i=a,s=f}else C=f,s=f;else C=f,s=u}while(0);_[i+(s<<2)>>2]=k,g=s+1|0;do{if((0|h)==(0|m))if((0|h)<(0|(c=0|h?h<<1:1))){if(0|c&&(_[6630]=1+(0|_[6630]),0|(D=0|di(16+(c<<3|3)|0)))?(_[(D+4+15&-16)-4>>2]=D,a=D+4+15&-16):a=0,(0|h)<=0){if(!r){m=c,r=a;break}}else{s=0;do{F=0|_[4+(x=r+(s<<3)|0)>>2],_[(m=a+(s<<3)|0)>>2]=_[x>>2],_[m+4>>2]=F,s=s+1|0}while((0|s)!=(0|h))}_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),m=c,r=a}else m=h}while(0);if(_[(x=r+(h<<3)|0)>>2]=k,_[x+4>>2]=0,h=h+1|0,(0|f)<(0|C)){if((0|w)<(0|C)){do{if((0|A)<(0|C)){if(0|C&&(_[6630]=1+(0|_[6630]),0|(I=0|di(16+(C<<2|3)|0)))?(_[(I+4+15&-16)-4>>2]=I,c=I+4+15&-16):c=0,(0|w)<=0){if(!o){A=C,o=c,b=c;break}}else{s=0;do{_[c+(s<<2)>>2]=_[o+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|w))}_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),A=C,o=c,b=c}}while(0);if(wn(o+(w<<2)|0,0,(d=C<<2)-(w<<2)|0),(0|S)<(0|C)){do{if((0|v)<(0|C)){do{if(C){if(_[6630]=1+(0|_[6630]),!(s=0|di(16+(3|d)|0))){c=0;break}_[(s+4+15&-16)-4>>2]=s,c=s+4+15&-16}else c=0}while(0);if((0|S)<=0){if(!n){a=C,n=c,s=c;break}}else{s=0;do{_[c+(s<<2)>>2]=_[n+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|S))}_[6631]=1+(0|_[6631]),Ni(0|_[n+-4>>2]),a=C,n=c,s=c}else a=v,s=l}while(0);wn(n+(S<<2)|0,0,d-(S<<2)|0),l=s}else a=v;if((0|C)>0&&(wn(0|b,-1,0|d),wn(0|l,-1,0|d)),(0|w)>0){c=C+-1|0,s=0;do{x=9*((x=0|_[r+(s<<3)>>2])+~(x<<15)>>10^x+~(x<<15))|0,x=o+((((x^=x>>6)+~(x<<11)>>16^x+~(x<<11))&c)<<2)|0,_[n+(s<<2)>>2]=_[x>>2],_[x>>2]=s,s=s+1|0}while((0|s)!=(0|w));c=C,d=C,s=b}else c=C,d=C,s=b}else c=w,d=S,a=v,s=b;f=y&C+-1}else f=d,c=w,d=S,a=v,s=b;f=o+(f<<2)|0,_[n+(u<<2)>>2]=_[f>>2],_[f>>2]=u,u=g,f=C,b=s}ed[127&_[60+(0|_[k>>2])>>2]](k,e),s=0|_[t+8>>2]}if((0|(p=p+1|0))>=(0|s))break;w=c,S=d,v=a}0|r&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),0|i&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),0|n&&(_[6631]=1+(0|_[6631]),Ni(0|_[n+-4>>2])),o&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]))}}}function Gi(t){var e=0,i=0,o=0,r=0,s=0,p=0;_[(t|=0)>>2]=4028,0|(e=0|_[t+192>>2])&&Xl[511&_[4+(0|_[e>>2])>>2]](e);t:do{if((0|_[t+1112>>2])>0)do{if(s=0|_[_[t+1120>>2]>>2],0|(e=0|_[s+348>>2])&&(Tt(t+1048|0,e),0|(i=0|_[t+1052>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+1052>>2]=e,_[t+1060>>2]=(0|_[t+1060>>2])-1),0|(e=0|_[s+52>>2])&&(0|n[s+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[s+52>>2]=0),n[s+56|0]=1,_[s+52>>2]=0,_[s+44>>2]=0,_[s+48>>2]=0,0|(e=0|_[s+32>>2])&&(0|n[s+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[s+32>>2]=0),n[s+36|0]=1,_[s+32>>2]=0,_[s+24>>2]=0,_[s+28>>2]=0,0|(e=0|_[s+12>>2])&&(0|n[s+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[s+12>>2]=0),n[s+16|0]=1,_[s+12>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),(0|(e=0|_[t+1112>>2]))<=0)break t;r=0|_[t+1120>>2],i=0;do{if((0|_[(o=r+(i<<2)|0)>>2])==(0|s)){p=25;break}i=i+1|0}while((0|i)<(0|e));25==(0|p)&&(p=0,(0|i)<(0|e)&&(_[o>>2]=_[r+(e+-1<<2)>>2],_[(0|_[t+1120>>2])+(e+-1<<2)>>2]=s,_[t+1112>>2]=e+-1,e=e+-1|0))}while((0|e)>0)}while(0);if((0|(e=0|_[t+872>>2]))>0){o=0;do{(i=0|_[(0|_[t+880>>2])+(o<<2)>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[t+872>>2]),o=o+1|0}while((0|o)<(0|e))}if((0|(e=0|_[t+852>>2]))>0){o=0;do{(i=0|_[(0|_[t+860>>2])+(o<<2)>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[t+852>>2]),o=o+1|0}while((0|o)<(0|e))}if(0|(e=0|_[t+1244>>2])&&(0|n[t+1248|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+1244>>2]=0),n[t+1248|0]=1,_[t+1244>>2]=0,_[t+1236>>2]=0,_[t+1240>>2]=0,0|(e=0|_[t+1140>>2])&&(0|n[t+1144|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+1140>>2]=0),n[t+1144|0]=1,_[t+1140>>2]=0,_[t+1132>>2]=0,_[t+1136>>2]=0,0|(e=0|_[t+1120>>2])&&(0|n[t+1124|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+1120>>2]=0),n[t+1124|0]=1,_[t+1120>>2]=0,_[t+1112>>2]=0,_[t+1116>>2]=0,oe(t+1048|0),oe(t+988|0),oe(t+928|0),0|(e=0|_[t+880>>2])&&(0|n[t+884|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+880>>2]=0),n[t+884|0]=1,_[t+880>>2]=0,_[t+872>>2]=0,_[t+876>>2]=0,0|(e=0|_[t+860>>2])&&(0|n[t+864|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+860>>2]=0),n[t+864|0]=1,_[t+860>>2]=0,_[t+852>>2]=0,_[t+856>>2]=0,0|(e=0|_[t+840>>2])&&(0|n[t+844|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+840>>2]=0),n[t+844|0]=1,_[t+840>>2]=0,_[t+832>>2]=0,_[t+836>>2]=0,0|(e=0|_[t+820>>2])&&(0|n[t+824|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+820>>2]=0),n[t+824|0]=1,_[t+820>>2]=0,_[t+812>>2]=0,_[t+816>>2]=0,0|(e=0|_[t+800>>2])&&(0|n[t+804|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+800>>2]=0),n[t+804|0]=1,_[t+800>>2]=0,_[t+792>>2]=0,_[t+796>>2]=0,0|(e=0|_[t+780>>2])&&(0|n[t+784|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+780>>2]=0),n[t+784|0]=1,_[t+780>>2]=0,_[t+772>>2]=0,_[t+776>>2]=0,0|(e=0|_[t+760>>2])&&(0|n[t+764|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+760>>2]=0),n[t+764|0]=1,_[t+760>>2]=0,_[t+752>>2]=0,_[t+756>>2]=0,0|(e=0|_[t+740>>2])&&(0|n[t+744|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+740>>2]=0),n[t+744|0]=1,_[t+740>>2]=0,_[t+732>>2]=0,_[t+736>>2]=0,0|(e=0|_[t+720>>2])&&(0|n[t+724|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+720>>2]=0),n[t+724|0]=1,_[t+720>>2]=0,_[t+712>>2]=0,_[t+716>>2]=0,0|(e=0|_[t+700>>2])&&(0|n[t+704|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+700>>2]=0),n[t+704|0]=1,_[t+700>>2]=0,_[t+692>>2]=0,_[t+696>>2]=0,0|(e=0|_[t+512>>2])&&(0|n[t+516|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+512>>2]=0),n[t+516|0]=1,_[t+512>>2]=0,_[t+504>>2]=0,_[t+508>>2]=0,0|(e=0|_[t+492>>2])&&(0|n[t+496|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+492>>2]=0),n[t+496|0]=1,_[t+492>>2]=0,_[t+484>>2]=0,_[t+488>>2]=0,fr(t+288|0),!(e=0|_[t+276>>2]))return n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[(p=t+272|0)>>2]=0,void(_[t>>2]=5904);0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+276>>2]=0,n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[(p=t+272|0)>>2]=0,_[t>>2]=5904}function Ni(t){var e=0,i=0,n=0,o=0,r=0,s=0,p=0,c=0;if(t|=0){e=0|_[6652],c=t+-8+(-8&(i=0|_[t+-4>>2]))|0;do{if(1&i)p=t+-8|0,e=-8&i,s=t+-8|0;else{if(n=0|_[t+-8>>2],!(3&i))return;if(r=n+(-8&i)|0,(s=t+-8+(0-n)|0)>>>0>>0)return;if((0|_[6653])==(0|s)){if(3&~(e=0|_[c+4>>2])){p=s,e=r;break}return _[6650]=r,_[c+4>>2]=-2&e,_[s+4>>2]=1|r,void(_[s+r>>2]=r)}if(i=n>>>3,n>>>0<256){if(e=0|_[s+8>>2],(0|(t=0|_[s+12>>2]))==(0|e)){_[6648]=_[6648]&~(1<>2]=t,_[t+8>>2]=e,p=s,e=r;break}o=0|_[s+24>>2],e=0|_[s+12>>2];do{if((0|e)==(0|s)){if(e=0|_[s+16+4>>2])t=s+16+4|0;else{if(!(e=0|_[s+16>>2])){e=0;break}t=s+16|0}for(;;)if(i=0|_[(n=e+20|0)>>2])e=i,t=n;else{if(!(i=0|_[(n=e+16|0)>>2]))break;e=i,t=n}_[t>>2]=0}else p=0|_[s+8>>2],_[p+12>>2]=e,_[e+8>>2]=p}while(0);if(o){if(t=0|_[s+28>>2],(0|_[26896+(t<<2)>>2])==(0|s)){if(_[26896+(t<<2)>>2]=e,!e){_[6649]=_[6649]&~(1<>2])==(0|s)?o+16:o+20)>>2]=e,!e){p=s,e=r;break}_[e+24>>2]=o,0|(t=0|_[s+16>>2])&&(_[e+16>>2]=t,_[t+24>>2]=e),(t=0|_[s+16+4>>2])?(_[e+20>>2]=t,_[t+24>>2]=e,p=s,e=r):(p=s,e=r)}else p=s,e=r}}while(0);if(!(s>>>0>=c>>>0)&&1&(t=0|_[c+4>>2])){if(2&t)_[c+4>>2]=-2&t,_[p+4>>2]=1|e,_[s+e>>2]=e,o=e;else{if((0|_[6654])==(0|c)){if(c=(0|_[6651])+e|0,_[6651]=c,_[6654]=p,_[p+4>>2]=1|c,(0|p)!=(0|_[6653]))return;return _[6653]=0,void(_[6650]=0)}if((0|_[6653])==(0|c))return c=(0|_[6650])+e|0,_[6650]=c,_[6653]=s,_[p+4>>2]=1|c,void(_[s+c>>2]=c);o=(-8&t)+e|0,i=t>>>3;do{if(t>>>0<256){if(t=0|_[c+8>>2],(0|(e=0|_[c+12>>2]))==(0|t)){_[6648]=_[6648]&~(1<>2]=e,_[e+8>>2]=t;break}r=0|_[c+24>>2],e=0|_[c+12>>2];do{if((0|e)==(0|c)){if(e=0|_[c+16+4>>2])t=c+16+4|0;else{if(!(e=0|_[c+16>>2])){t=0;break}t=c+16|0}for(;;)if(i=0|_[(n=e+20|0)>>2])e=i,t=n;else{if(!(i=0|_[(n=e+16|0)>>2]))break;e=i,t=n}_[t>>2]=0,t=e}else t=0|_[c+8>>2],_[t+12>>2]=e,_[e+8>>2]=t,t=e}while(0);if(0|r){if(e=0|_[c+28>>2],(0|_[26896+(e<<2)>>2])==(0|c)){if(_[26896+(e<<2)>>2]=t,!t){_[6649]=_[6649]&~(1<>2])==(0|c)?r+16:r+20)>>2]=t,!t)break;_[t+24>>2]=r,0|(e=0|_[c+16>>2])&&(_[t+16>>2]=e,_[e+24>>2]=t),0|(e=0|_[c+16+4>>2])&&(_[t+20>>2]=e,_[e+24>>2]=t)}}while(0);if(_[p+4>>2]=1|o,_[s+o>>2]=o,(0|p)==(0|_[6653]))return void(_[6650]=o)}if(i=o>>>3,o>>>0<256)return(e=0|_[6648])&1<>2],t=26632+(i<<1<<2)+8|0):(_[6648]=e|1<>2]=p,_[e+12>>2]=p,_[p+8>>2]=e,void(_[p+12>>2]=26632+(i<<1<<2));e=26896+((n=(e=o>>>8)?o>>>0>16777215?31:1&(7+(n=14-((c=(520192+(e<<(s=(e+1048320|0)>>>16&8))|0)>>>16&4)|s|(n=(245760+(e<>>16&2))+(e<>>15)|0)|0?o>>>(n+7|0):o)|n<<1:0)<<2)|0,_[p+28>>2]=n,_[p+20>>2]=0,_[p+16>>2]=0,t=0|_[6649],i=1<>2];e:do{if((-8&_[e+4>>2])!=(0|o)){for(n=o<<(31==(0|n)?0:25-(n>>>1));t=0|_[(i=e+16+(n>>>31<<2)|0)>>2];){if((-8&_[t+4>>2])==(0|o)){e=t;break e}n<<=1,e=t}_[i>>2]=p,_[p+24>>2]=e,_[p+12>>2]=p,_[p+8>>2]=p;break t}}while(0);c=0|_[(s=e+8|0)>>2],_[c+12>>2]=p,_[s>>2]=p,_[p+8>>2]=c,_[p+12>>2]=e,_[p+24>>2]=0}else _[6649]=t|i,_[e>>2]=p,_[p+24>>2]=e,_[p+12>>2]=p,_[p+8>>2]=p}while(0);if(c=(0|_[6656])-1|0,_[6656]=c,!(0|c)){for(e=27048;e=0|_[e>>2];)e=e+8|0;_[6656]=-1}}}}function Li(t,e,i,n,o,r,s){t|=0,e|=0,n|=0,o|=0,r|=0,s|=0;var p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0;if(!(c=0|_[8+(i|=0)>>2]))return 0|(s=0);p=0,B=c;do{if((0|_[B+20>>2])>(0|_[t+100>>2])){D=0|_[B+12>>2],k=(S=0|_[D+88>>2])-(0|_[i+88>>2])|0,j=(R=0|_[D+92>>2])-(0|_[i+92>>2])|0,I=(D=0|_[D+96>>2])-(0|_[i+96>>2])|0,a=0|f_(0|_[r>>2],0|_[r+4>>2],0|k,((0|k)<0)<<31>>31),f=0|w(),f=0|xr(0|(c=0|f_(0|_[r+8>>2],0|_[r+8+4>>2],0|j,((0|j)<0)<<31>>31)),0|w(),0|a,0|f),c=0|xr(0|f,0|(a=0|w()),0|(c=0|f_(0|_[r+16>>2],0|_[r+16+4>>2],0|I,((0|I)<0)<<31>>31)),0|w()),a=0|w(),f=0|f_(0|_[o>>2],0|_[o+4>>2],0|k,((0|k)<0)<<31>>31),v=0|w(),v=0|xr(0|(A=0|f_(0|_[o+8>>2],0|_[o+8+4>>2],0|j,((0|j)<0)<<31>>31)),0|w(),0|f,0|v),A=0|xr(0|v,0|(f=0|w()),0|(A=0|f_(0|_[o+16>>2],0|_[o+16+4>>2],0|I,((0|I)<0)<<31>>31)),0|w()),f=0|w(),(0|a)>0|!(0|a)&c>>>0>0?(l=1,d=-1,v=c):(v=0|Ir(0,0,0|c,0|a),C=0|w(),l=(!!(0|c)|!!(0|a))<<31>>31,d=1&(!!(0|c)|!!(0|a)),v=!!(0|c)|!!(0|a)?v:0,a=!!(0|c)|!!(0|a)?C:0),(0|f)>0|!(0|f)&A>>>0>0?(b=f,u=8):(c=0|Ir(0,0,0|A,0|f),b=0|w(),!(0|(!!(0|A)|!!(0|f)?d:l))&!(0|(c=!!(0|A)|!!(0|f)?c:0))&!(0|(b=!!(0|A)|!!(0|f)?b:0))||(l=!!(0|A)|!!(0|f)?d:l,A=c,u=8));t:do{if(8==(0|u)){if(u=0,!p){_[s>>2]=v,_[s+4>>2]=a,_[s+8>>2]=A,_[s+8+4>>2]=b,_[s+16>>2]=l,p=B;break}(0|l)==(0|(c=0|_[s+16>>2]))?0|l&&(f=0|_[s+8>>2],h=0|_[s+8+4>>2],d=0|f_(0|f,0,0|v,0),c=0|w(),y=0|f_(0|h,0,0|v,0),m=0|w(),f=0|f_(0|f,0,0|a,0),u=0|w(),h=0|f_(0|h,0,0|a,0),x=0|w(),f=0|xr(0|y,0,0|f,0),y=0|w(),x=0|xr(0|m,0,0|h,0|x),u=0|xr(0|x,0|w(),0|u,0),y=0|xr(0|u,0|w(),0|y,0),u=0|w(),c=0|xr(0,0|f,0|d,0|c),f=0|xr(0|y,0|u,1&((d=0|w())>>>0>>0|(0|d)==(0|f)&c>>>0<0),0),u=0|w(),y=0|_[s>>2],x=0|_[s+4>>2],h=0|f_(0|y,0,0|A,0),m=0|w(),W=0|f_(0|x,0,0|A,0),O=0|w(),y=0|f_(0|y,0,0|b,0),C=0|w(),x=0|f_(0|x,0,0|b,0),F=0|w(),y=0|xr(0|W,0,0|y,0),W=0|w(),F=0|xr(0|O,0,0|x,0|F),C=0|xr(0|F,0|w(),0|C,0),W=0|xr(0|C,0|w(),0|W,0),C=0|w(),m=0|xr(0,0|y,0|h,0|m),y=0|xr(0|W,0|C,1&((h=0|w())>>>0>>0|(0|h)==(0|y)&m>>>0<0),0),C=0|w(),c=0|g(c=u>>>0>>0|(0|u)==(0|C)&f>>>0>>0?-1:u>>>0>C>>>0|(0|u)==(0|C)&f>>>0>y>>>0?1:d>>>0>>0|(0|d)==(0|h)&c>>>0>>0?-1:1&(d>>>0>h>>>0|(0|d)==(0|h)&c>>>0>m>>>0),l),u=17):(c=l-c|0,u=17);do{if(17==(0|u)){if(u=0,(0|c)>=0){if(c)break t;break}_[s>>2]=v,_[s+4>>2]=a,_[s+8>>2]=A,_[s+8+4>>2]=b,_[s+16>>2]=l,p=B;break t}}while(0);c=(0|_[p+4>>2])==(0|B),(0|_[p>>2])==(0|B)?c?(O=0|_[n+8>>2],W=0|g(O,j),C=0|_[n+4>>2],W=W-(0|g(C,I))|0,x=0|_[n>>2],O=(0|g(x,I))-(0|g(O,k))|0,x=(0|g(C,k))-(0|g(x,j))|0,C=0|_[p+12>>2],c=0|_[12+(0|_[B+8>>2])>>2],I=0|_[c+88>>2],k=(0|_[C+88>>2])-I|0,v=0|_[c+92>>2],j=(0|_[C+92>>2])-v|0,c=0|_[c+96>>2],C=(0|_[C+96>>2])-c|0,F=(0|g(D-c|0,j))-(0|g(C,R-v|0))|0,c=(0|g(C,S-I|0))-(0|g(D-c|0,k))|0,I=(0|g(R-v|0,k))-(0|g(j,S-I|0))|0,W=0|f_(0|F,((0|F)<0)<<31>>31,0|W,((0|W)<0)<<31>>31),F=0|w(),O=0|f_(0|c,((0|c)<0)<<31>>31,0|O,((0|O)<0)<<31>>31),c=0|w(),x=0|xr(0|W,0|F,0|(x=0|f_(0|I,((0|I)<0)<<31>>31,0|x,((0|x)<0)<<31>>31)),0|w()),c=0|xr(0|x,0|w(),0|O,0|c),c=(0|(O=0|w()))>0|!(0|O)&c>>>0>0?2:1):c=2:c&=1,p=2==(0|c)^e?p:B}}while(0);c=0|_[i+8>>2]}B=0|_[B>>2]}while((0|B)!=(0|c));return 0|p}function Qi(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0;_[4+(t|=0)>>2]=35,_[t+8>>2]=0,_[t+12>>2]=1065353216,_[t+16>>2]=1065353216,_[t+20>>2]=1065353216,p[t+24>>2]=0,p[t+44>>2]=.03999999910593033,_[t>>2]=9136,_[t+52>>2]=1,o=+p[e>>2],n=+p[e+4>>2],i=+p[e+8>>2],(i=.10000000149011612*+p[e+((o>2])<.03999999910593033&&(s=+ca(t),r=+ca(t),o=+ca(t),s+=+p[t+28>>2],r+=+p[t+32>>2],o+=+p[t+36>>2],p[t+44>>2]=i,i=+ca(t),n=+ca(t),o-=+ca(t),p[t+28>>2]=s-i,p[t+32>>2]=r-n,p[t+36>>2]=o,p[t+40>>2]=0),o=+ca(t),r=+ca(t),s=+ca(t),r=+p[e+4>>2]-r,s=+p[e+8>>2]-s,p[t+28>>2]=+p[e>>2]-o,p[t+32>>2]=r,p[t+36>>2]=s,p[t+40>>2]=0,_[t+4>>2]=13}function Ei(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l=0,d=0,A=0,f=0;s=0|_[720+(t|=0)>>2];t:do{if(r&&(A=0|_[t+732>>2],(0|A)>0)){for(l=0|_[t+740>>2],r=0;;){if((0|(d=0|_[l+(52*r|0)+8>>2]))==(s+(104*e|0)|0)&&(0|_[l+(52*r|0)+12>>2])==(s+(104*i|0)|0)){r=10;break}if((0|d)==(s+(104*i|0)|0)&&(0|_[l+(52*r|0)+12>>2])==(s+(104*e|0)|0)){r=10;break}if((0|(r=r+1|0))>=(0|A))break t}if(10==(0|r))return}}while(0);ne(t,o),o=(0|_[t+732>>2])-1|0,A=0|_[t+740>>2],_[A+(52*o|0)+8>>2]=s+(104*e|0),_[A+(52*o|0)+12>>2]=s+(104*i|0),a=+p[s+(104*e|0)+8>>2]-+p[s+(104*i|0)+8>>2],c=+p[s+(104*e|0)+12>>2]-+p[s+(104*i|0)+12>>2],f=+p[s+(104*e|0)+16>>2]-+p[s+(104*i|0)+16>>2],f=+b(+(a*a+c*c+f*f)),p[A+(52*o|0)+16>>2]=f,n[t+924|0]=1}function Hi(t){var e=0,i=0,n=0,o=0,r=0,s=0,p=0,c=0,a=0;if(_[(t|=0)>>2]=4700,(0|_[t+104>>2])<=0)return zi(t=t+60|0),void Ki(t);a=0;do{if(c=0|_[684+(0|_[t+4>>2])>>2],p=(0|_[t+112>>2])+(a<<3)+4|0,e=0|_[p>>2],(0|(i=0|_[c+60>>2]))>0){s=0;do{if(r=(0|_[c+68>>2])+(s<<2)|0,n=0|_[r>>2]){for(o=0;i=n,n=0|_[n+280>>2],(0|_[i+276>>2])==(0|e)&&(_[(0|o?o+280:r)>>2]=n,yl(i),i=o),n;)o=i;i=0|_[c+60>>2]}s=s+1|0}while((0|s)<(0|i));e=0|_[p>>2]}0|e&&Xl[511&_[4+(0|_[e>>2])>>2]](e),a=a+1|0}while((0|a)<(0|_[t+104>>2]));zi(t=t+60|0),Ki(t)}function Zi(t,e,i,n){t|=0,e|=0,n=+n;var o,_,r,s,c,a=0,l=0,d=0;o=Q,Q=Q+96|0,Vo(o+80|0,a=+p[(i|=0)>>2],l=+p[i+4>>2],d=+p[i+8>>2],+vs(a,l,d,+p[e>>2],+p[e+4>>2],+p[e+8>>2])),d=+p[o+80>>2],l=+p[o+80+4>>2],a=+p[o+80+8>>2],Fo(o+64|0,+p[e>>2],+p[e+4>>2],+p[e+8>>2],d,l,a),go(o+48|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2],+p[e>>2],+p[e+4>>2],+p[e+8>>2]),s=+p[o+48>>2],r=+p[o+48+4>>2],_=+p[o+48+8>>2],c=+bl(n),Vo(o+16|0,+p[o+64>>2],+p[o+64+4>>2],+p[o+64+8>>2],c),Bo(o+32|0,d,l,a,+p[o+16>>2],+p[o+16+4>>2],+p[o+16+8>>2]),Vo(o,s,r,_,+dl(n)),Bo(t,+p[o+32>>2],+p[o+32+4>>2],+p[o+32+8>>2],+p[o>>2],+p[o+4>>2],+p[o+8>>2]),Q=o}function Ui(t,e,i){e|=0,i|=0;var n,o,r,s,c,a,l,d,b,A=0;0|(n=0|_[4+(t|=0)>>2])&&Dn(n,e,i),(t=0|_[t>>2])&&(l=+p[e>>2],c=+p[t+128>>2],a=+p[e+4>>2],s=+p[e+8>>2],A=+p[i+4>>2],b=+p[i+8>>2],d=+p[i>>2],r=+p[t+180>>2]*(s*A-a*b)+ +p[t+184>>2]*(l*b-s*d)+(a*d-l*A)*+p[t+188>>2],o=(s*A-a*b)*+p[t+196>>2]+(l*b-s*d)*+p[t+200>>2]+(a*d-l*A)*+p[t+204>>2],A=(s*A-a*b)*+p[t+212>>2]+(l*b-s*d)*+p[t+216>>2]+(a*d-l*A)*+p[t+220>>2],p[t+276>>2]=l*c+ +p[t+276>>2],p[t+280>>2]=c*a+ +p[t+280>>2],p[t+284>>2]=c*s+ +p[t+284>>2],p[t+292>>2]=r+ +p[t+292>>2],p[t+296>>2]=o+ +p[t+296>>2],p[t+300>>2]=A+ +p[t+300>>2],_[t+312>>2]=1+(0|_[t+312>>2]))}function Yi(t,e,i){e|=0,i|=0;var n,o,_,r,s,c,a,l,d,b,A,f,u,m,h,g,C,v,S,w=0;return C=+p[552+(t|=0)>>2],g=+p[t+568>>2],h=+p[t+584>>2],m=+p[e>>2],u=+p[e+4>>2],f=+p[e+8>>2],b=+p[e+16>>2],d=+p[e+20>>2],l=+p[e+24>>2],c=+p[e+32>>2],r=+p[e+36>>2],o=+p[e+40>>2],s=+p[t+556>>2],_=+p[t+572>>2],n=+p[t+588>>2],S=+p[t+620>>2],v=+p[t+636>>2],w=+p[t+652>>2],A=S*+p[i>>2]+v*+p[i+4>>2]+w*+p[i+8>>2],a=S*+p[i+16>>2]+v*+p[i+20>>2]+w*+p[i+24>>2],w=S*+p[i+32>>2]+v*+p[i+36>>2]+w*+p[i+40>>2],+(w=+y(+((C*m+g*u+h*f)*A+(C*b+g*d+h*l)*a+(C*c+g*r+h*o)*w),+((m*s+u*_+f*n)*A+(b*s+d*_+l*n)*a+(c*s+r*_+o*n)*w)))*+p[t+732>>2]}function Ji(t,e){e|=0;var i=0,n=0,o=0,r=0;if((0|(i=0|_[8+(t|=0)>>2]))>0){o=0;do{n=0|_[(0|_[t+16>>2])+(o<<2)>>2],2&_[n+236>>2]&&(r=0|Gl[127&_[16+(0|_[n>>2])>>2]](n),r=0|El[63&_[16+(0|_[e>>2])>>2]](e,r,1),i=0|El[63&_[20+(0|_[n>>2])>>2]](n,0|_[r+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,r,i,1497645650,n),i=0|_[t+8>>2]),o=o+1|0}while((0|o)<(0|i))}if(!((0|_[t+212>>2])<=0)){i=0;do{r=0|_[(0|_[t+220>>2])+(i<<2)>>2],n=0|Gl[127&_[36+(0|_[r>>2])>>2]](r),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,n,1),o=0|El[63&_[40+(0|_[r>>2])>>2]](r,0|_[n+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,n,o,1397641027,r),i=i+1|0}while((0|i)<(0|_[t+212>>2]))}}function Xi(t,e){e|=0;var i,r,s,p=0;s=Q,Q=Q+64|0,p=0|_[(t|=0)>>2],r=t+(0|_[p+-8>>2])|0,p=0|_[p+-4>>2],_[s>>2]=e,_[s+4>>2]=t,_[s+8>>2]=3280,t=0|Lp(p,e),i=40+(e=s+12|0)|0;do{_[e>>2]=0,e=e+4|0}while((0|e)<(0|i));o[s+12+40>>1]=0,n[s+12+42|0]=0;t:do{if(t)_[s+48>>2]=1,Ad[7&_[20+(0|_[p>>2])>>2]](p,s,r,r,1,0),t=1==(0|_[s+24>>2])?r:0;else{switch(dd[31&_[24+(0|_[p>>2])>>2]](p,s,r,1,0),0|_[s+36>>2]){case 0:t=(1==(0|_[s+40>>2])?1==(0|_[s+28>>2]):0)&1==(0|_[s+32>>2])?0|_[s+20>>2]:0;break t;case 1:break;default:t=0;break t}if(1!=(0|_[s+24>>2])&&!((0|_[s+40>>2]?0:1==(0|_[s+28>>2]))&1==(0|_[s+32>>2]))){t=0;break}t=0|_[s+16>>2]}}while(0);return Q=s,0|t}function zi(t){var e=0;if(0|(e=0|_[12+(t|=0)>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,0|(e=0|_[t+52>>2])&&(0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+52>>2]=0),n[t+56|0]=1,_[t+52>>2]=0,_[t+44>>2]=0,_[t+48>>2]=0,!(e=0|_[t+72>>2]))return n[t+76|0]=1,_[t+72>>2]=0,_[t+64>>2]=0,void(_[(t=t+68|0)>>2]=0);0|n[t+76|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+72>>2]=0,n[t+76|0]=1,_[t+72>>2]=0,_[t+64>>2]=0,_[(t=t+68|0)>>2]=0}function Ki(t){var e=0;if(0|(e=0|_[72+(t|=0)>>2])&&(0|n[t+76|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+72>>2]=0),n[t+76|0]=1,_[t+72>>2]=0,_[t+64>>2]=0,_[t+68>>2]=0,0|(e=0|_[t+52>>2])&&(0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+52>>2]=0),n[t+56|0]=1,_[t+52>>2]=0,_[t+44>>2]=0,_[t+48>>2]=0,0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,!(e=0|_[t+12>>2]))return n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,void(_[(t=t+8|0)>>2]=0);0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+12>>2]=0,n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[(t=t+8|0)>>2]=0}function qi(t,e){e|=0;var i=0,o=0,r=0,s=0;if((i=0|_[12+(t|=0)>>2])&&0|n[t+8|0]){if((0|(o=0|_[e+4>>2]))==(0|_[e+8>>2])&&(0|o)<(0|(s=0|o?o<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(i=0|di(16+(s<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,o=0|_[e+4>>2]):i=0,(0|o)>0){r=0;do{_[i+(r<<2)>>2]=_[(0|_[e+12>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|o))}(r=0|_[e+12>>2])&&(0|n[e+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),o=0|_[e+4>>2]),_[e+12>>2]=0),n[e+16|0]=1,_[e+12>>2]=i,_[e+8>>2]=s,i=0|_[t+12>>2]}_[(0|_[e+12>>2])+(o<<2)>>2]=i,_[e+4>>2]=o+1}}function $i(t){t|=0;var e,i=0,n=0,o=0;if(e=Q,Q=Q+16|0,n=0|_[2606],(0|_[n>>2])==(0|t))i=n;else{i=0|_[n+24>>2];t:do{if(i)for(;;){if((0|_[i>>2])==(0|t))break t;if(!(i=0|_[i+28>>2])){o=6;break}}else o=6}while(0);6==(0|o)&&(i=0|a_(36),_[i>>2]=t,_[i+4>>2]=0,_[i+4+4>>2]=0,_[i+4+8>>2]=0,_[i+4+12>>2]=0,_[i+20>>2]=n,_[i+24>>2]=0,_[i+28>>2]=0,_[i+32>>2]=0,qo(i),_[i+28>>2]=_[n+24>>2],_[n+24>>2]=i),_[2606]=i}_[(n=i+4|0)>>2]=1+(0|_[n>>2]),o=0|_[(n=i+16|0)>>2],_[n>>2]=o+1,0|o||(G(0|e,0),o=0|_[6629],_[i+12>>2]=(0|_[e+4>>2])-(0|_[o+4>>2])+(1e6*((0|_[e>>2])-(0|_[o>>2])|0)|0)),Q=e}function tn(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,b,A,f,u,m,h,y,g,C=0;a=(C=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t))+ +p[t+28>>2],s=C+ +p[t+32>>2],C+=+p[t+36>>2],g=+d(+ +p[e>>2]),y=+d(+ +p[e+4>>2]),h=+d(+ +p[e+8>>2]),u=+d(+ +p[e+16>>2]),f=+d(+ +p[e+20>>2]),A=+d(+ +p[e+24>>2]),c=+d(+ +p[e+32>>2]),r=+d(+ +p[e+36>>2]),o=+d(+ +p[e+40>>2]),m=+p[e+48>>2],b=+p[e+52>>2],l=+p[e+56>>2],p[i>>2]=m-(a*g+s*y+C*h),p[i+4>>2]=b-(a*u+s*f+C*A),p[i+8>>2]=l-(a*c+s*r+C*o),p[i+12>>2]=0,p[n>>2]=a*g+s*y+C*h+m,p[n+4>>2]=a*u+s*f+C*A+b,p[n+8>>2]=l+(a*c+s*r+C*o),p[n+12>>2]=0}function en(t){var e=0;_[(t|=0)>>2]=9580,0|_[t+108>>2]&&(e=0|_[t+112>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+112>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+108>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+108>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]))),0|(e=0|_[t+88>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|(e=0|_[t+84>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|(e=0|_[t+80>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|(e=0|_[t+60>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|n[t+100|0]&&(e=0|_[t+92>>2],Xl[511&_[_[e>>2]>>2]](e),(e=0|_[t+92>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])))}function nn(t){var e,i,o,r=0;e=Q,Q=Q+96|0,n[88+(t|=0)|0]=1,!(0|n[24528])&&0|Qs(24528)&&(_[5812]=1065353216,_[5813]=0,_[5814]=0,_[5815]=0,_[5816]=0,_[5817]=1065353216,_[5818]=0,_[5819]=0,_[5820]=0,_[5821]=0,_[5822]=1065353216,p[5823]=0,_[5824]=-1082130432,_[5825]=0,_[5826]=0,_[5827]=0,_[5828]=0,_[5829]=-1082130432,_[5830]=0,_[5831]=0,_[5832]=0,_[5833]=0,_[5834]=-1082130432,p[5835]=0),i=(r=e)+96|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|i));pd[127&_[76+(0|_[t>>2])>>2]](t,23248,e,6),o=+p[t+44>>2],p[t+72>>2]=+p[e>>2]+o,p[t+56>>2]=+p[e+48>>2]-o,p[t+76>>2]=+p[e+20>>2]+o,p[t+60>>2]=+p[e+68>>2]-o,p[t+80>>2]=+p[e+40>>2]+o,p[t+64>>2]=+p[e+88>>2]-o,Q=e}function on(t,e,i){t|=0,e|=0,i|=0;for(var n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0;;){for(c=0|_[t+12>>2],l=0|_[c+((e+i|0)/2<<3)>>2],o=i,n=e;;){for(;a=n+1|0,(0|_[(p=c+(n<<3)|0)>>2])<(0|l);)n=a;for(;s=o+-1|0,(0|_[(r=c+(o<<3)|0)>>2])>(0|l);)o=s;if((0|n)<=(0|o)&&(c=0|_[p>>2],n=0|_[p+4>>2],d=0|_[r+4>>2],_[p>>2]=_[r>>2],_[p+4>>2]=d,o=(0|_[t+12>>2])+(o<<3)|0,_[o>>2]=c,_[o+4>>2]=n,o=s,n=a),(0|n)>(0|o))break;c=0|_[t+12>>2]}if((0|o)>(0|e)&&on(t,e,o),!((0|n)<(0|i)))break;e=n}}function _n(t){var e,i=0,o=0,r=0,s=0;if(_[(t|=0)>>2]=7124,i=0|_[t+8>>2],(0|(e=0|_[i+8>>2]))>0){o=0;do{0|(r=0|_[(0|_[i+16>>2])+(12*o|0)+8>>2])&&(Xl[511&_[_[r>>2]>>2]](r),s=0|_[t+4>>2],ed[127&_[60+(0|_[s>>2])>>2]](s,r)),o=o+1|0}while((0|o)!=(0|e));i=0|_[t+8>>2]}if(te(i),i=0|_[t+8>>2],Xl[511&_[_[i>>2]>>2]](i),0|(i=0|_[t+8>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),!(i=0|_[t+24>>2]))return n[t+28|0]=1,_[t+24>>2]=0,_[t+16>>2]=0,void(_[(s=t+20|0)>>2]=0);0|n[t+28|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+24>>2]=0,n[t+28|0]=1,_[t+24>>2]=0,_[t+16>>2]=0,_[(s=t+20|0)>>2]=0}function rn(t,e){e|=0,_[204+(t|=0)>>2]=_[e+48>>2],_[t+208>>2]=_[e+52>>2],_[t+212>>2]=_[e+56>>2],_[t+216>>2]=_[e+60>>2],_[t+220>>2]=_[e+64>>2],_[t+224>>2]=_[e+68>>2],_[t+156>>2]=_[e>>2],_[t+156+4>>2]=_[e+4>>2],_[t+156+8>>2]=_[e+8>>2],_[t+156+12>>2]=_[e+12>>2],_[t+172>>2]=_[e+16>>2],_[t+172+4>>2]=_[e+16+4>>2],_[t+172+8>>2]=_[e+16+8>>2],_[t+172+12>>2]=_[e+16+12>>2],_[t+188>>2]=_[e+32>>2],_[t+188+4>>2]=_[e+32+4>>2],_[t+188+8>>2]=_[e+32+8>>2],_[t+188+12>>2]=_[e+32+12>>2],_[t+228>>2]=_[e+72>>2],p[t+232>>2]=0,p[t+252>>2]=0,p[t+236>>2]=0,p[t+240>>2]=0,p[t+256>>2]=0,p[t+244>>2]=.10000000149011612,n[t+260|0]=1&n[e+80|0],_[t+248>>2]=_[e+76>>2]}function sn(t,e,i){e|=0,i|=0;var o,r=0,s=0;o=Q,Q=Q+16|0,_[4+(t|=0)>>2]=e,_[t>>2]=5444,_[t+8>>2]=-1,_[t+12>>2]=-1,p[t+16>>2]=34028234663852886e22,n[t+20|0]=1,n[t+21|0]=0,_[t+24>>2]=-1,_[t+28>>2]=i,!(0|n[24496])&&0|Qs(24496)&&(_[o>>2]=0,_[o+4>>2]=0,_[o+8>>2]=0,_[o+12>>2]=0,ut(25184,0,0,0,o)),_[6347]=1|_[6347],p[6382]=0,r=0*+p[6392],s=0*+p[6393],p[6387]=0*+p[6391],p[6388]=r,p[6389]=s,p[6390]=0,_[6395]=0,_[6396]=0,_[6397]=0,_[6398]=0,s=0*+p[6384],r=0*+p[6385],p[6436]=0*+p[6383],p[6437]=s,p[6438]=r,p[6439]=0,_[t+32>>2]=25184,p[t+36>>2]=0,p[t+40>>2]=.30000001192092896,_[t+44>>2]=0,Q=o}function pn(t){var e=0;_[(t|=0)>>2]=3916,e=0|_[t+92>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+92>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+96>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+96>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+100>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+100>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+104>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+104>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+108>>2],Xl[511&_[_[e>>2]>>2]](e),(e=0|_[t+108>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),H(t)):H(t)}function cn(t){var e=0,i=0,o=0,r=0,s=0;if(_[(t|=0)>>2]=6528,i=0|_[t+8>>2],e=0|_[t+16>>2],(0|i)>0){s=0;do{o=188+(0|_[e+(s<<2)>>2])|0,(r=0|_[o>>2])&&(i=0|_[t+68>>2],i=0|Gl[127&_[36+(0|_[i>>2])>>2]](i),_d[127&_[40+(0|_[i>>2])>>2]](i,r,0|_[t+24>>2]),i=0|_[t+68>>2],_d[127&_[12+(0|_[i>>2])>>2]](i,r,0|_[t+24>>2]),_[o>>2]=0,i=0|_[t+8>>2],e=0|_[t+16>>2]),s=s+1|0}while((0|s)<(0|i))}if(!e)return n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[(t=t+12|0)>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[(t=t+12|0)>>2]=0}function an(t,e,i,n){t|=0,i|=0,n|=0;var o,r=0;o=Q,Q=Q+96|0,r=0|_[192+(e|=0)>>2],_[o+64>>2]=0,_[o+64+4>>2]=r,_[o+64+8>>2]=e,_[o+64+12>>2]=e+4,_[o+64+16>>2]=-1,_[o+64+20>>2]=-1,e=0|_[i+192>>2],_[o+40>>2]=0,_[o+40+4>>2]=e,_[o+40+8>>2]=i,_[o+40+12>>2]=i+4,_[o+40+16>>2]=-1,_[o+40+20>>2]=-1,e=0|_[t+24>>2],(e=0|Hl[31&_[8+(0|_[e>>2])>>2]](e,o+64|0,o+40|0,0))?(_[o+4>>2]=0,_[o+8>>2]=o+64,_[o+12>>2]=o+40,_[o>>2]=6872,_[o+32>>2]=n,dd[31&_[8+(0|_[e>>2])>>2]](e,o+64|0,o+40|0,t+28|0,o),Xl[511&_[_[e>>2]>>2]](e),r=0|_[t+24>>2],ed[127&_[60+(0|_[r>>2])>>2]](r,e),Q=o):Q=o}function ln(t){var e=0;if(_[(t|=0)>>2]=4720,0|n[t+456|0]&&(e=0|_[t+452>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+452>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|(e=0|_[t+420>>2])&&(0|n[t+424|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+420>>2]=0),n[t+424|0]=1,_[t+420>>2]=0,_[t+412>>2]=0,_[t+416>>2]=0,!(e=0|_[t+336>>2]))return n[t+340|0]=1,_[t+336>>2]=0,_[t+328>>2]=0,_[(e=t+332|0)>>2]=0,void kt(t);0|n[t+340|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+336>>2]=0,n[t+340|0]=1,_[t+336>>2]=0,_[t+328>>2]=0,_[(e=t+332|0)>>2]=0,kt(t)}function dn(t,e){var i,o;return e|=0,i=0|_[28+(t|=0)>>2],o=0|_[t+32>>2],0|n[t+1301|0]?void pt(t,e,0|bt(t,e,0,i+4|0,o+4|0,i+312|0,o+312|0,i+328|0,o+328|0),i+4|0,o+4|0,i+312|0,o+312|0,i+328|0,o+328|0):void bt(t,e,0|pt(t,e,0,i+4|0,o+4|0,i+312|0,o+312|0,i+328|0,o+328|0),i+4|0,o+4|0,i+312|0,o+312|0,i+328|0,o+328|0)}function bn(t,e,i,n,o){t|=0,e|=0,i=+i,n|=0,o|=0;var r,s,c,a,l,d=0;return r=Q,Q=Q+48|0,_[r+32>>2]=n,_[r+32+4>>2]=o,l=+p[e>>2],a=+p[e+4>>2],d=+p[e+8>>2],c=+p[t+56>>2]*l+ +p[t+60>>2]*a+ +p[t+64>>2]*d,s=l*+p[t+72>>2]+a*+p[t+76>>2]+d*+p[t+80>>2],d=l*+p[t+88>>2]+a*+p[t+92>>2]+d*+p[t+96>>2],_[r>>2]=_[t+48>>2],_[r+4>>2]=r+32,p[r+8>>2]=c,p[r+12>>2]=s,p[r+16>>2]=d,p[r+20>>2]=0,p[r+24>>2]=i,o=0|_[t+44>>2],i=+Fl[15&_[12+(0|_[o>>2])>>2]](o,r,1),Q=r,+i}function An(t){var e=0;if(_[(t|=0)>>2]=5204,0|(e=0|_[t+80>>2])&&(0|n[t+84|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+80>>2]=0),n[t+84|0]=1,_[t+80>>2]=0,_[t+72>>2]=0,_[t+76>>2]=0,0|(e=0|_[t+60>>2])&&(0|n[t+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+60>>2]=0),n[t+64|0]=1,_[t+60>>2]=0,_[t+52>>2]=0,_[t+56>>2]=0,!(e=0|_[t+40>>2]))return n[t+44|0]=1,_[t+40>>2]=0,_[t+32>>2]=0,void(_[(t=t+36|0)>>2]=0);0|n[t+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+40>>2]=0,n[t+44|0]=1,_[t+40>>2]=0,_[t+32>>2]=0,_[(t=t+36|0)>>2]=0}function fn(t){var e=0;if(_[(t|=0)>>2]=9720,0|(e=0|_[t+64>>2])&&(0|n[t+68|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+64>>2]=0),n[t+68|0]=1,_[t+64>>2]=0,_[t+56>>2]=0,_[t+60>>2]=0,0|(e=0|_[t+44>>2])&&(0|n[t+48|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+44>>2]=0),n[t+48|0]=1,_[t+44>>2]=0,_[t+36>>2]=0,_[t+40>>2]=0,!(e=0|_[t+16>>2]))return n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[(t=t+12|0)>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[(t=t+12|0)>>2]=0}function un(t){var e=0;if(_[(t|=0)>>2]=6352,0|(e=0|_[t+56>>2])&&(0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+56>>2]=0),n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,0|(e=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,!(e=0|_[t+16>>2]))return e=t+12|0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[e>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0,e=t+12|0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[e>>2]=0}function mn(t){var e=0;if(_[(t|=0)>>2]=10320,0|(e=0|_[t+60>>2])&&(0|n[t+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+60>>2]=0),n[t+64|0]=1,_[t+60>>2]=0,_[t+52>>2]=0,_[t+56>>2]=0,0|(e=0|_[t+40>>2])&&(0|n[t+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+40>>2]=0),n[t+44|0]=1,_[t+40>>2]=0,_[t+32>>2]=0,_[t+36>>2]=0,!(e=0|_[t+16>>2]))return n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[(t=t+12|0)>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[(t=t+12|0)>>2]=0}function hn(t,e){t|=0;var i,n=0,o=0,r=0,s=0;if(0|(n=0|_[188+(e|=0)>>2])&&(r=0|_[t+68>>2],r=0|Gl[127&_[36+(0|_[r>>2])>>2]](r),_d[127&_[40+(0|_[r>>2])>>2]](r,n,0|_[t+24>>2]),r=0|_[t+68>>2],_d[127&_[12+(0|_[r>>2])>>2]](r,n,0|_[t+24>>2]),_[e+188>>2]=0),!((0|(i=0|_[t+8>>2]))<=0)){for(r=0|_[t+16>>2],n=0;(0|_[(o=r+(n<<2)|0)>>2])!=(0|e);)if((0|(n=n+1|0))>=(0|i)){s=9;break}9!=(0|s)&&((0|n)>=(0|i)||(_[o>>2]=_[r+(i+-1<<2)>>2],_[(0|_[t+16>>2])+(i+-1<<2)>>2]=e,_[t+8>>2]=i+-1))}}function yn(t,e,i,n){t|=0,e|=0,i|=0,n|=0;for(var o=0,r=0,p=0;;){if(o=0|_[t+12>>2],!(((0|s[n>>1])>=(0|s[t>>1])?(0|s[i>>1])<=(0|s[t+6>>1]):0)&(0|s[i+4>>1])<=(0|s[t+10>>1])&(0|s[n+4>>1])>=(0|s[t+4>>1])&(0|s[i+2>>1])<=(0|s[t+8>>1])&(0|s[n+2>>1])>=(0|s[t+2>>1]))){r=6;break}if((0|o)>-1)break;yn(p=t+16|0,e,i,n),t=(0|(o=0|_[t+28>>2]))>-1?t+32|0:p+(0-o<<4)|0}6!=(0|r)&&_d[127&_[8+(0|_[e>>2])>>2]](e,o>>>21,2097151&o)}function gn(t,e,i,n){t|=0,e|=0,n=+n;var o,_,r,s=0,c=0,a=0;_=+f(+(i=+i)),o=+u(+i),i=+p[e+444>>2],+d(+_)>1.1920928955078125e-7?(a=+p[e+448>>2],s=o*o,c=_*_,i=+b(+(o*o/(_*_)+1)/(1/(a*a)+o*o/(_*_)/(i*i)))):(s=o*o,c=_*_),a=+u(+(i*=.5))/+b(+(s+(c+0))),r=(i=+f(+i))*n+_*a*0-o*a*-0,c=0*i-o*a*n-0*a*0,s=0*i+0*a*0-_*a*n,n=-0*a*n-_*a*0-o*a*-0,p[t>>2]=o*a*c+(i*r+n*(-0*a))-s*(-_*a),p[t+4>>2]=s*(-0*a)+(i*c+n*(-_*a))-o*a*r,p[t+8>>2]=r*(-_*a)+(o*a*n+i*s)-c*(-0*a),p[t+12>>2]=0}function Cn(t){var e,i=0,o=0;if(_[(t|=0)>>2]=7060,(0|(e=0|_[t+12>>2]))>0){i=0;do{0|(o=0|_[(0|_[t+20>>2])+(i<<2)>>2])&&(Xl[511&_[_[o>>2]>>2]](o),o=0|_[t+4>>2],ed[127&_[60+(0|_[o>>2])>>2]](o,0|_[(0|_[t+20>>2])+(i<<2)>>2])),i=i+1|0}while((0|i)!=(0|e))}if(!(i=0|_[t+20>>2]))return n[t+24|0]=1,_[t+20>>2]=0,_[t+12>>2]=0,void(_[(t=t+16|0)>>2]=0);0|n[t+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+20>>2]=0,n[t+24|0]=1,_[t+20>>2]=0,_[t+12>>2]=0,_[(t=t+16|0)>>2]=0}function vn(t,e,i,n,o,_,r,s,c,a){if(a|=0,!((((r=+r)-(n=+n))*(e=+e)-((s=+s)-(o=+o))*(t=+t))*(_=+_)+(((s-o)*(i=+i)-((c=+c)-_)*e)*n+((c-_)*t-(r-n)*i)*o)<0))return 0|(a=0);do{if(!((r-n)*n+(s-o)*o+(c-_)*_>0)){if((r-n)*r+(s-o)*s+(c-_)*c<0){t=r*r+s*s+c*c;break}t=(t=((r*r+s*s+c*c)*(n*n+o*o+_*_)-(r*n+s*o+c*_)*(r*n+s*o+c*_))/((r-n)*(r-n)+(s-o)*(s-o)+(c-_)*(c-_)))>0?t:0;break}t=n*n+o*o+_*_}while(0);return c=+b(+t),p[a>>2]=c,0|(a=1)}function Sn(t,e){var i,n,o,r,s,c,a,l,b;e|=0,a=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),r=+Il[15&_[48+(0|_[t>>2])>>2]](t),i=+Il[15&_[48+(0|_[t>>2])>>2]](t),b=(a+ +p[t+28>>2])/+p[t+12>>2],c=(r+ +p[t+32>>2])/+p[t+16>>2],o=(i+ +p[t+36>>2])/+p[t+20>>2],l=+d(+ +p[e>>2]),s=+d(+ +p[e+4>>2]),n=+d(+ +p[e+8>>2]),p[t+12>>2]=l,p[t+16>>2]=s,p[t+20>>2]=n,p[t+24>>2]=0,p[t+28>>2]=b*l-a,p[t+32>>2]=c*s-r,p[t+36>>2]=o*n-i,p[t+40>>2]=0}function wn(t,e,i){e|=0;var o,r=0;if(o=(t|=0)+(i|=0)|0,e&=255,(0|i)>=67){for(;3&t;)n[0|t]=e,t=t+1|0;for(r=e|e<<8|e<<16|e<<24;(0|t)<=((-4&o)-64|0);)_[t>>2]=r,_[t+4>>2]=r,_[t+8>>2]=r,_[t+12>>2]=r,_[t+16>>2]=r,_[t+20>>2]=r,_[t+24>>2]=r,_[t+28>>2]=r,_[t+32>>2]=r,_[t+36>>2]=r,_[t+40>>2]=r,_[t+44>>2]=r,_[t+48>>2]=r,_[t+52>>2]=r,_[t+56>>2]=r,_[t+60>>2]=r,t=t+64|0;for(;(0|t)<(-4&o);)_[t>>2]=r,t=t+4|0}for(;(0|t)<(0|o);)n[0|t]=e,t=t+1|0;return o-i|0}function kn(t,e,i){t|=0,i|=0;var n,o,r=0,s=0,c=0;_d[127&_[68+(0|_[(e|=0)>>2])>>2]](t,e,i),0!=+Il[15&_[48+(0|_[e>>2])>>2]](e)&&(o=(c=+p[i>>2])*c+(r=+p[i+4>>2])*r+(s=+p[i+8>>2])*s<14210854715202004e-30?-1:c,n=c*c+r*r+s*s<14210854715202004e-30?-1:r,r=1/+b(+((s=c*c+r*r+s*s<14210854715202004e-30?-1:s)*s+(o*o+n*n))),c=+Il[15&_[48+(0|_[e>>2])>>2]](e),p[t>>2]=+p[t>>2]+c*(o*r),p[t+4>>2]=+p[t+4>>2]+c*(n*r),p[t+8>>2]=+p[t+8>>2]+c*(s*r))}function Rn(t){var e,i=0,n=0,o=0,r=0,s=0,p=0;return e=Q,Q=Q+16|0,i=0|_[8+(t|=0)>>2],(0|(n=0|_[t+8+4>>2]))>-1|-1==(0|n)&i>>>0>4294967295?(o=0x10000000000000000*(+(i>>>0)+4294967296*+(n>>>0))+(+((0|_[t>>2])>>>0)+4294967296*+((0|_[t+4>>2])>>>0)),Q=e,+o):(r=0|Ir(0,0,0|(p=0|_[t>>2]),0|(s=0|_[t+4>>2])),t=0|w(),i=0|xr(!(0|p)&!(0|s)&1,0,0|~i,0|~n),n=0|w(),_[e>>2]=r,_[e+4>>2]=t,_[e+8>>2]=i,_[e+8+4>>2]=n,o=-+Rn(e),Q=e,+o)}function jn(t,e,i,o,r){e=+e,i|=0,o|=0,r|=0,p[(t|=0)>>2]=e,_[t+4>>2]=i,_[t+72>>2]=o,_[t+76>>2]=_[r>>2],_[t+76+4>>2]=_[r+4>>2],_[t+76+8>>2]=_[r+8>>2],_[t+76+12>>2]=_[r+12>>2],p[t+92>>2]=0,p[t+96>>2]=0,p[t+100>>2]=.5,p[t+104>>2]=0,p[t+108>>2]=0,p[t+112>>2]=.800000011920929,p[t+116>>2]=1,n[t+120|0]=0,p[t+124>>2]=.004999999888241291,p[t+128>>2]=.009999999776482582,p[t+132>>2]=.009999999776482582,p[t+136>>2]=.009999999776482582,Ho(t+8|0)}function Dn(t,e,i){var n;e|=0,i|=0,n=Q,Q=Q+32|0,0!=+p[344+(t|=0)>>2]?(ao(t,+p[e>>2],+p[e+4>>2],+p[e+8>>2]),0|Cl(t+544|0)?(Wo(n,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[t+348>>2],+p[t+352>>2],+p[t+356>>2]),go(n+16|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2],+p[n>>2],+p[n+4>>2],+p[n+8>>2]),lo(t,+p[n+16>>2],+p[n+16+4>>2],+p[n+16+8>>2]),Q=n):Q=n):Q=n}function In(t,e,i,o){e|=0,i|=0,o|=0,n[53+(t|=0)|0]=1;do{if((0|_[t+4>>2])==(0|i)){if(n[t+52|0]=1,!(i=0|_[t+16>>2])){if(_[t+16>>2]=e,_[t+24>>2]=o,_[t+36>>2]=1,1!=(0|o)||1!=(0|_[t+48>>2]))break;n[t+54|0]=1;break}if((0|i)!=(0|e)){_[t+36>>2]=1+(0|_[t+36>>2]),n[t+54|0]=1;break}2==(0|(i=0|_[t+24>>2]))&&(_[t+24>>2]=o,i=o),1==(0|i)&&1==(0|_[t+48>>2])&&(n[t+54|0]=1)}}while(0)}function Bn(t){var e=0;if(_[(t|=0)>>2]=5984,e=0|_[t+284>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+284>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t>>2]=5940,!(e=0|_[t+276>>2]))return n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[(e=t+272|0)>>2]=0,void(_[t>>2]=5904);0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+276>>2]=0,n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[(e=t+272|0)>>2]=0,_[t>>2]=5904}function Wn(t,e){e=+e;var i,n,o=0,r=0,s=0;r=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),o=+Il[15&_[48+(0|_[t>>2])>>2]](t),s=+Il[15&_[48+(0|_[t>>2])>>2]](t),r+=+p[t+28>>2],o+=+p[t+32>>2],s+=+p[t+36>>2],p[t+44>>2]=e,n=+Il[15&_[48+(0|_[t>>2])>>2]](t),i=+Il[15&_[48+(0|_[t>>2])>>2]](t),e=s-+Il[15&_[48+(0|_[t>>2])>>2]](t),p[t+28>>2]=r-n,p[t+32>>2]=o-i,p[t+36>>2]=e,p[t+40>>2]=0}function Fn(t,e,i,n,o){t|=0,i=+i,n=+n,o=+o;var _,r=0,s=0;_=Q,Q=Q+16|0,s=0|wa(e|=0,0),r=+vs(+p[s>>2],+p[s+4>>2],+p[s+8>>2],i,n,o),p[_+8>>2]=r,s=0|wa(e,1),r=+vs(+p[s>>2],+p[s+4>>2],+p[s+8>>2],i,n,o),p[_+4>>2]=r,e=0|wa(e,2),o=+vs(+p[e>>2],+p[e+4>>2],+p[e+8>>2],i,n,o),p[_>>2]=o,R_(t,_+8|0,_+4|0,_),Q=_}function xn(t,e,i,n,o){var _,r,s,c;t|=0,i=+i,n=+n,o=+o,_=Q,Q=Q+16|0,c=0|wa(e|=0,0),s=0|wa(e,1),r=0|wa(e,2),function(t,e,i,n,o,_,r,s,c,a,l,d,b){t|=0,s=+s,c=+c,a=+a,l=+l,d=+d,b=+b;var A=0;A=Q,Q=Q+16|0,r=+vs(e=+e,i=+i,n=+n,o=+o,_=+_,r=+r),p[A+8>>2]=r,a=+vs(e,i,n,s,c,a),p[A+4>>2]=a,b=+vs(e,i,n,l,d,b),p[A>>2]=b,R_(t,A+8|0,A+4|0,A),Q=A}(_,i,n,o,+p[c>>2],+p[c+4>>2],+p[c+8>>2],+p[s>>2],+p[s+4>>2],+p[s+8>>2],+p[r>>2],+p[r+4>>2],+p[r+8>>2]),Bo(t,+p[_>>2],+p[_+4>>2],+p[_+8>>2],+p[e+48>>2],+p[e+52>>2],+p[e+56>>2]),Q=_}function On(t,e,i,n,o,r,s,p,c,a){e|=0,i|=0,n|=0,o|=0,r|=0,s|=0,p|=0,c|=0,a|=0,t=0|_[32+(t|=0)>>2],_[i>>2]=_[t+(a<<5)+12>>2],_[e>>2]=_[t+(a<<5)+16>>2],_[n>>2]=_[t+(a<<5)+28>>2],_[o>>2]=_[t+(a<<5)+20>>2],_[p>>2]=_[t+(a<<5)>>2],_[r>>2]=_[t+(a<<5)+4>>2],_[s>>2]=_[t+(a<<5)+8>>2],_[c>>2]=_[t+(a<<5)+24>>2]}function Tn(t){var e=0,i=0;if(_[(t|=0)>>2]=7188,0|(e=0|_[t+64>>2])&&(oe(e),0|(i=0|_[t+64>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),!(e=0|_[t+24>>2]))return n[t+28|0]=1,_[t+24>>2]=0,_[t+16>>2]=0,void(_[(t=t+20|0)>>2]=0);0|n[t+28|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+24>>2]=0,n[t+28|0]=1,_[t+24>>2]=0,_[t+16>>2]=0,_[(t=t+20|0)>>2]=0}function Pn(t,e){e|=0,_[(t|=0)>>2]=_[e>>2],_[t+4>>2]=_[e+4>>2],_[t+8>>2]=_[e+8>>2],_[t+12>>2]=_[e+12>>2],_[t+16>>2]=_[e+16>>2],_[t+20>>2]=_[e+20>>2],_[t+24>>2]=_[e+24>>2],Vn(t+28|0,e+28|0),_[t+76>>2]=_[e+76>>2],_[t+76+4>>2]=_[e+76+4>>2],_[t+76+8>>2]=_[e+76+8>>2],_[t+76+12>>2]=_[e+76+12>>2],_[t+76+16>>2]=_[e+76+16>>2]}function Mn(t,e,i,n,o,r){e|=0,i|=0,n|=0,o|=0,r=+r,_[(t|=0)>>2]=e,_[t+4>>2]=i,_[t+8>>2]=_[n>>2],_[t+8+4>>2]=_[n+4>>2],_[t+8+8>>2]=_[n+8>>2],_[t+8+12>>2]=_[n+12>>2],_[t+24>>2]=_[o>>2],_[t+24+4>>2]=_[o+4>>2],_[t+24+8>>2]=_[o+8>>2],_[t+24+12>>2]=_[o+12>>2],p[t+40>>2]=r}function Vn(t,e){e|=0,_[(t|=0)>>2]=_[e>>2],_[t+4>>2]=_[e+4>>2],_[t+8>>2]=_[e+8>>2],_[t+12>>2]=_[e+12>>2],_[t+16>>2]=_[e+16>>2],_[t+16+4>>2]=_[e+16+4>>2],_[t+16+8>>2]=_[e+16+8>>2],_[t+16+12>>2]=_[e+16+12>>2],_[t+32>>2]=_[e+32>>2],_[t+32+4>>2]=_[e+32+4>>2],_[t+32+8>>2]=_[e+32+8>>2],_[t+32+12>>2]=_[e+32+12>>2]}function Gn(t,e,i){e|=0,i|=0,Mr(t|=0),_[t>>2]=3796,_[t+12>>2]=_[e>>2],_[t+12+4>>2]=_[e+4>>2],_[t+12+8>>2]=_[e+8>>2],_[t+12+12>>2]=_[e+12>>2],_[t+28>>2]=_[i>>2],_[t+28+4>>2]=_[i+4>>2],_[t+28+8>>2]=_[i+8>>2],_[t+28+12>>2]=_[i+12>>2],_[t+76>>2]=0}function Nn(t,e,i){var o;e|=0,i|=0,o=0|_[16+(t|=0)>>2];do{if(o){if((0|o)!=(0|e)){_[t+36>>2]=1+(0|_[t+36>>2]),_[t+24>>2]=2,n[t+54|0]=1;break}2==(0|_[t+24>>2])&&(_[t+24>>2]=i)}else _[t+16>>2]=e,_[t+24>>2]=i,_[t+36>>2]=1}while(0)}function Ln(t,e,i){e|=0,i|=0,E_(t|=0),_[t>>2]=3624,_[t+20>>2]=_[e>>2],_[t+20+4>>2]=_[e+4>>2],_[t+20+8>>2]=_[e+8>>2],_[t+20+12>>2]=_[e+12>>2],_[t+36>>2]=_[i>>2],_[t+36+4>>2]=_[i+4>>2],_[t+36+8>>2]=_[i+8>>2],_[t+36+12>>2]=_[i+12>>2]}function Qn(t,e,i){var n,o;t|=0,i|=0,n=Q,Q=Q+48|0,o=0|_[192+(e|=0)>>2],pd[127&_[8+(0|_[o>>2])>>2]](o,e+4|0,n+32|0,n+16|0),_[n>>2]=6852,_[n+4>>2]=e,_[n+8>>2]=t,_[n+12>>2]=i,i=0|_[t+68>>2],pd[127&_[28+(0|_[i>>2])>>2]](i,n+32|0,n+16|0,n),Q=n}function En(t,e){t|=0;var i,n,o,r=0;n=Q,Q=Q+112|0,i=0|Cl(0|_[4+(e|=0)>>2]),o=(r=n)+104|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|o));!function(t){(function(t){(function(t){_[(t|=0)>>2]=0})(t|=0)})(t|=0)}(n),function(t,e,i){e|=0,i|=0;var n=0,o=0,r=0,s=0;if((0|(n=0|Cl(0|_[4+(t|=0)>>2])))>(0|e))_[t+4>>2]=e;else{for((0|n)<(0|e)&&io(t,e);!((0|n)>=(0|e));){r=i,s=104+(o=(0|_[t+12>>2])+(104*n|0)|0)|0;do{_[o>>2]=_[r>>2],o=o+4|0,r=r+4|0}while((0|o)<(0|s));n=n+1|0}_[t+4>>2]=e}}(t,i,n),uo(e,i,0|_[t+12>>2]),Q=n}function Hn(t,e){e|=0;var i,n=0,o=0;return i=Q,Q=Q+16|0,n=+ll((n=+Vc(t|=0))*+Vc(e)),(o=+ho(t,e))<0?(function(t,e){t|=0;var i=0,n=0;i=Q,Q=Q+16|0,n=0|Cl(e|=0),p[i+12>>2]=-+p[n>>2],n=0|sl(e),p[i+8>>2]=-+p[n>>2],n=0|rl(e),p[i+4>>2]=-+p[n>>2],p[i>>2]=-+p[e+12>>2],Wr(t,i+12|0,i+8|0,i+4|0,i),Q=i}(i,e),o=+op(+ho(t,i)/n),Q=i,+(o*=2)):(o=+op(o/n),Q=i,+(o*=2))}function Zn(t,e){var i;e|=0,(0|Cl(0|_[8+(t|=0)>>2]))>=(0|e)||(i=0|function(t){return(t|=0)?0|(t=0|function(t){return t|=0,_[6630]=1+(0|_[6630]),(t=0|di(16+(36*t|3)|0))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(t)):0|(t=0)}(e),zo(t,0|Cl(0|_[t+4>>2]),i),y_(t,0|Cl(0|_[t+4>>2])),V_(t),n[t+16|0]=1,_[t+12>>2]=i,_[t+8>>2]=e)}function Un(t,e){e|=0;var i,n=0;(0|(i=0|Cl(n=0|_[4+(t|=0)>>2])))==(0|Cl(0|_[t+8>>2]))&&(to(t,0|function(t){return 0|(0|(t|=0)?t<<1:1)}(i)),n=0|_[t+4>>2]),Pn((0|_[t+12>>2])+(96*n|0)|0,e),_[t+4>>2]=1+(0|_[t+4>>2])}function Yn(t,e){var i;t|=0,0|_[40+(e|=0)>>2]&&(Yn(t,0|_[e+36>>2]),Yn(t,0|_[e+40>>2])),(0|_[t>>2])==(0|e)&&(_[t>>2]=0),(i=0|_[t+4>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),_[t+4>>2]=e):_[t+4>>2]=e}function Jn(t,e){t|=0;var i,n,o,r=0;n=Q,Q=Q+48|0,i=0|Cl(0|_[4+(e|=0)>>2]),o=(r=n)+36|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|o));Wa(n),function(t,e,i){e|=0,i|=0;var n=0;if((0|(n=0|Cl(0|_[4+(t|=0)>>2])))>(0|e)){for(i=e;!((0|i)>=(0|n));)Ba((0|_[t+12>>2])+(36*i|0)|0),i=i+1|0;_[t+4>>2]=e}else{for((0|n)<(0|e)&&Zn(t,e);!((0|n)>=(0|e));)Zo((0|_[t+12>>2])+(36*n|0)|0,i),n=n+1|0;_[t+4>>2]=e}}(t,i,n),Ba(n),zo(e,i,0|_[t+12>>2]),Q=n}function Xn(t,e){t|=0;var i,n,o,r=0;n=Q,Q=Q+96|0,i=0|Cl(0|_[4+(e|=0)>>2]),o=(r=n)+96|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|o));!function(t,e,i){e|=0,i|=0;var n=0;if((0|(n=0|Cl(0|_[4+(t|=0)>>2])))>(0|e))_[t+4>>2]=e;else{for((0|n)<(0|e)&&to(t,e);!((0|n)>=(0|e));)Pn((0|_[t+12>>2])+(96*n|0)|0,i),n=n+1|0;_[t+4>>2]=e}}(t,i,n),Qo(e,i,0|_[t+12>>2]),Q=n}function zn(t,e){var i,n=0,o=0;o=e|=0,i=104+(n=t|=0)|0;do{_[n>>2]=_[o>>2],n=n+4|0,o=o+4|0}while((0|n)<(0|i));!function(t,e){jo(t|=0,e|=0)}(t+104|0,e+104|0),ss(t+124|0,e+124|0),ss(t+144|0,e+144|0)}function Kn(t,e,i,n){e|=0,n|=0,_[(i|=0)>>2]=_[e+16>>2],_[i+4>>2]=_[e+16+4>>2],_[i+8>>2]=_[e+16+8>>2],_[i+12>>2]=_[e+16+12>>2],_[n>>2]=_[e+32>>2],_[n+4>>2]=_[e+32+4>>2],_[n+8>>2]=_[e+32+8>>2],_[n+12>>2]=_[e+32+12>>2]}function qn(t,e,i,n,o,r){e|=0,i|=0,n|=0,o|=0,r|=0;var s,p=0;p=(s=0|_[4+(t|=0)>>2])>>8,1&s&&(p=0|_[(0|_[n>>2])+p>>2]),t=0|_[t>>2],Ad[7&_[20+(0|_[t>>2])>>2]](t,e,i,n+p|0,2&s?o:2,r)}function $n(){var t;t=Q,Q=Q+32|0,0|n[24408]?Q=t:0|Qs(24408)?(function(){var t;t=Q,Q=Q+48|0,0|n[24416]?Q=t:0|Qs(24416)?(p[t+32>>2]=1,p[t+28>>2]=0,p[t+24>>2]=0,p[t+20>>2]=0,p[t+16>>2]=1,p[t+12>>2]=0,p[t+8>>2]=0,p[t+4>>2]=0,p[t>>2]=1,No(24888,t+32|0,t+28|0,t+24|0,t+20|0,t+16|0,t+12|0,t+8|0,t+4|0,t),Q=t):Q=t}(),p[t+8>>2]=0,p[t+4>>2]=0,p[t>>2]=0,R_(t+16|0,t+8|0,t+4|0,t),Lo(24824,24888,t+16|0),Q=t):Q=t}function to(t,e){var i;e|=0,(0|Cl(0|_[8+(t|=0)>>2]))>=(0|e)||(i=0|function(t){return(t|=0)?0|(t=0|function(t){return t|=0,_[6630]=1+(0|_[6630]),(t=0|di(96*t|19))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(t)):0|(t=0)}(e),Qo(t,0|Cl(0|_[t+4>>2]),i),V_(t),n[t+16|0]=1,_[t+12>>2]=i,_[t+8>>2]=e)}function eo(t,e,i,n,o,_){e=+e,i=+i,n=+n,o=+o,_=+_,p[692+(t|=0)>>2]=.5*(i-e),(e=(.5*(i-e)+e)%6.2831854820251465)<-3.1415927410125732?e+=6.2831854820251465:e>3.1415927410125732&&(e+=-6.2831854820251465),p[t+688>>2]=e,p[t+696>>2]=n,p[t+700>>2]=o,p[t+704>>2]=_}function io(t,e){var i;e|=0,(0|Cl(0|_[8+(t|=0)>>2]))>=(0|e)||(i=0|function(t){return(t|=0)?0|(t=0|function(t){return t|=0,_[6630]=1+(0|_[6630]),(t=0|di(16+(104*t|3)|0))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(t)):0|(t=0)}(e),uo(t,0|Cl(0|_[t+4>>2]),i),V_(t),n[t+16|0]=1,_[t+12>>2]=i,_[t+8>>2]=e)}function no(t,e){e|=0;var i=0,n=0,o=0;return o=0|rl(t|=0),i=+p[o>>2],o=0|Cl(e),i*=+p[o>>2],o=0|rl(t+16|0),n=+p[o>>2],o=0|sl(e),n=i+n*+p[o>>2],t=0|rl(t+32|0),i=+p[t>>2],e=0|rl(e),+(n+i*+p[e>>2])}function oo(t,e){e|=0;var i=0,n=0,o=0;return o=0|sl(t|=0),i=+p[o>>2],o=0|Cl(e),i*=+p[o>>2],o=0|sl(t+16|0),n=+p[o>>2],o=0|sl(e),n=i+n*+p[o>>2],t=0|sl(t+32|0),i=+p[t>>2],e=0|rl(e),+(n+i*+p[e>>2])}function _o(t,e){var i;t|=0,i=Q,Q=Q+80|0,function(t,e){No(t|=0,0|Cl(e|=0),0|Cl(e+16|0),0|Cl(e+32|0),0|sl(e),0|sl(e+16|0),0|sl(e+32|0),0|rl(e),0|rl(e+16|0),0|rl(e+32|0))}(i+32|0,e|=0),Xo(i,+p[e+48>>2],+p[e+52>>2],+p[e+56>>2]),Fn(i+16|0,i+32|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2]),Lo(t,i+32|0,i+16|0),Q=i}function ro(t,e,i,n,o){e|=0,i|=0,n|=0,o|=0;var r,s=0;s=(r=0|_[4+(t|=0)>>2])>>8,1&r&&(s=0|_[(0|_[i>>2])+s>>2]),t=0|_[t>>2],dd[31&_[24+(0|_[t>>2])>>2]](t,e,i+s|0,2&r?n:2,o)}function so(t,e,i){t|=0,e|=0,i|=0;var n=0,o=0,r=0;for(n=0;!((0|n)>=(0|e));)o=0|Cl(i+(n<<4)|0),r=(0|_[t+12>>2])+(n<<4)|0,_[o>>2]=_[r>>2],_[o+4>>2]=_[r+4>>2],_[o+8>>2]=_[r+8>>2],_[o+12>>2]=_[r+12>>2],n=n+1|0}function po(t,e,i){e|=0,i|=0,_[164+(t|=0)>>2]=_[e>>2],_[t+164+4>>2]=_[e+4>>2],_[t+164+8>>2]=_[e+8>>2],_[t+164+12>>2]=_[e+12>>2],e=0|Cl(e),1==+p[e>>2]&&1==+p[e+4>>2]&&1==+p[e+8>>2]&&(i=0),_[t+180>>2]=i}function co(t,e,i){e|=0,i|=0;var n=0;if((0|(n=0|Cl(0|_[4+(t|=0)>>2])))>(0|e))_[t+4>>2]=e;else{for((0|n)<(0|e)&&mo(t,e);!((0|n)>=(0|e));)_[(0|_[t+12>>2])+(n<<2)>>2]=_[i>>2],n=n+1|0;_[t+4>>2]=e}}function ao(t,e,i,n){var o;o=Q,Q=Q+32|0,Wo(o,e=+e,i=+i,n=+n,+p[348+(t|=0)>>2],+p[t+352>>2],+p[t+356>>2]),Vo(o+16|0,+p[o>>2],+p[o+4>>2],+p[o+8>>2],+p[t+344>>2]),c_(t+312|0,o+16|0),Q=o}function lo(t,e,i,n){var o;o=Q,Q=Q+32|0,Fn(o,264+(t|=0)|0,e=+e,i=+i,n=+n),Wo(o+16|0,+p[o>>2],+p[o+4>>2],+p[o+8>>2],+p[t+544>>2],+p[t+548>>2],+p[t+552>>2]),c_(t+328|0,o+16|0),Q=o}function bo(t,e,i,n){e|=0,i|=0,n|=0;var o,r=0;r=(o=0|_[4+(t|=0)>>2])>>8,1&o&&(r=0|_[(0|_[i>>2])+r>>2]),t=0|_[t>>2],pd[127&_[28+(0|_[t>>2])>>2]](t,e,i+r|0,2&o?n:2)}function Ao(t,e){var i;e|=0,(0|Cl(0|_[8+(t|=0)>>2]))>=(0|e)||(i=0|function(t){return(t|=0)?0|(t=0|function(t){return t|=0,_[6630]=1+(0|_[6630]),(t=0|di(16+(t<<4|3)|0))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(t)):0|(t=0)}(e),so(t,0|Cl(0|_[t+4>>2]),i),V_(t),n[t+16|0]=1,_[t+12>>2]=i,_[t+8>>2]=e)}function fo(t,e){e|=0;var i=0,n=0,o=0;return o=0|Cl(t|=0),i=+p[o>>2],o=0|Cl(e),i*=+p[o>>2],o=0|Cl(t+16|0),n=+p[o>>2],o=0|sl(e),n=i+n*+p[o>>2],t=0|Cl(t+32|0),i=+p[t>>2],e=0|rl(e),+(n+i*+p[e>>2])}function uo(t,e,i){t|=0,e|=0,i|=0;var n=0,o=0,r=0,s=0;for(n=0;!((0|n)>=(0|e));){o=i+(104*n|0)|0,r=(0|_[t+12>>2])+(104*n|0)|0,s=o+104|0;do{_[o>>2]=_[r>>2],o=o+4|0,r=r+4|0}while((0|o)<(0|s));n=n+1|0}}function mo(t,e){var i;e|=0,(0|Cl(0|_[8+(t|=0)>>2]))>=(0|e)||(i=0|function(t){return(t|=0)?0|(t=0|function(t){return t|=0,_[6630]=1+(0|_[6630]),(t=0|di(16+(t<<2|3)|0))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(t)):0|(t=0)}(e),e_(t,0|Cl(0|_[t+4>>2]),i),V_(t),n[t+16|0]=1,_[t+12>>2]=i,_[t+8>>2]=e)}function ho(t,e){e|=0;var i=0,n=0,o=0;return n=+p[(t|=0)>>2],i=0|Cl(e),n*=+p[i>>2],o=+p[t+4>>2],i=0|sl(e),o=n+o*+p[i>>2],n=+p[t+8>>2],i=0|rl(e),+(o+n*+p[i>>2]+ +p[t+12>>2]*+p[e+12>>2])}function yo(t){var e;return(0|(t|=0))>0&((e=0|_[l>>2])+t|0)<(0|e)|(e+t|0)<0?(L(e+t|0),R(12),-1):(e+t|0)>(0|P())&&!(0|V(e+t|0))?(R(12),-1):(_[l>>2]=e+t,0|e)}function go(t,e,i,n,o,_,r){var s;t|=0,e=+e,i=+i,n=+n,o=+o,_=+_,r=+r,s=Q,Q=Q+16|0,p[s+8>>2]=i*r-n*_,p[s+4>>2]=n*o-e*r,p[s>>2]=e*_-i*o,R_(t,s+8|0,s+4|0,s),Q=s}function Co(t){var e=0;_[(t|=0)>>2]=9836,0|n[t+192|0]&&(e=0|_[t+136>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+136>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),oe(t+64|0),oe(t+4|0)}function vo(t,e,i,n,o,_,r,s,p,c){o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,R_(t|=0,e|=0,i|=0,n|=0),R_(t+16|0,o,_,r),R_(t+32|0,s,p,c)}function So(t,e,i){var n;t|=0,n=Q,Q=Q+64|0,function(t,e,i){t|=0;var n,o=0,_=0;n=Q,Q=Q+48|0,o=+fo(i|=0,_=0|wa(e|=0,0)),p[n+32>>2]=o,o=+oo(i,_),p[n+28>>2]=o,o=+no(i,_),p[n+24>>2]=o,o=+fo(i,_=0|wa(e,1)),p[n+20>>2]=o,o=+oo(i,_),p[n+16>>2]=o,o=+no(i,_),p[n+12>>2]=o,o=+fo(i,e=0|wa(e,2)),p[n+8>>2]=o,o=+oo(i,e),p[n+4>>2]=o,o=+no(i,e),p[n>>2]=o,No(t,n+32|0,n+28|0,n+24|0,n+20|0,n+16|0,n+12|0,n+8|0,n+4|0,n),Q=n}(n+16|0,e|=0,i|=0),xn(n,e,+p[i+48>>2],+p[i+52>>2],+p[i+56>>2]),Lo(t,n+16|0,n),Q=n}function wo(t){var e,i=0;_[(t|=0)>>2]=8020,0|(e=0|_[t+52>>2])&&(Xl[511&_[_[e>>2]>>2]](e),0|(i=0|_[t+52>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])}function ko(t,e){var i,n;i=Q,Q=Q+16|0,function(t,e,i){e|=0,i|=0;var n=0,o=0;if((0|(n=0|Cl(0|_[4+(t|=0)>>2])))>(0|e))_[t+4>>2]=e;else{for((0|n)<(0|e)&&Ao(t,e);!((0|n)>=(0|e));)o=0|Cl((0|_[t+12>>2])+(n<<4)|0),_[o>>2]=_[i>>2],_[o+4>>2]=_[i+4>>2],_[o+8>>2]=_[i+8>>2],_[o+12>>2]=_[i+12>>2],n=n+1|0;_[t+4>>2]=e}}(t|=0,n=0|Cl(0|_[4+(e|=0)>>2]),i),so(e,n,0|_[t+12>>2]),Q=i}function Ro(t,e,i,n,o){var _;t|=0,e=+e,i=+i,n=+n,o=+o,_=Q,Q=Q+16|0,p[_+12>>2]=e,p[_+8>>2]=i,p[_+4>>2]=n,p[_>>2]=o,n_(t,_+12|0,_+8|0,_+4|0,_),Q=_}function jo(t,e){var i,n;t|=0,i=Q,Q=Q+16|0,n=0|Cl(0|_[4+(e|=0)>>2]),_[i>>2]=0,co(t,n,i),e_(e,n,0|_[t+12>>2]),Q=i}function Do(t,e,i){var o=0;if((0|(e|=0))<(0|(t|=0))&(0|t)<(e+(i|=0)|0)){for(o=t,e=e+i|0,t=t+i|0;(0|i)>0;)e=e-1|0,i=i-1|0,n[0|(t=t-1|0)]=0|n[0|e];t=o}else _e(t,e,i);return 0|t}function Io(t,e,i,n){e|=0,i|=0,n=+n,p[(t|=0)>>2]=(1-n)*+p[e>>2]+ +p[i>>2]*n,p[t+4>>2]=(1-n)*+p[e+4>>2]+ +p[i+4>>2]*n,p[t+8>>2]=(1-n)*+p[e+8>>2]+ +p[i+8>>2]*n}function Bo(t,e,i,n,o,_,r){var s;t|=0,e=+e,i=+i,n=+n,o=+o,_=+_,r=+r,s=Q,Q=Q+16|0,p[s+8>>2]=e+o,p[s+4>>2]=i+_,p[s>>2]=n+r,R_(t,s+8|0,s+4|0,s),Q=s}function Wo(t,e,i,n,o,_,r){var s;t|=0,e=+e,i=+i,n=+n,o=+o,_=+_,r=+r,s=Q,Q=Q+16|0,p[s+8>>2]=e*o,p[s+4>>2]=i*_,p[s>>2]=n*r,R_(t,s+8|0,s+4|0,s),Q=s}function Fo(t,e,i,n,o,_,r){var s;t|=0,e=+e,i=+i,n=+n,o=+o,_=+_,r=+r,s=Q,Q=Q+16|0,p[s+8>>2]=e-o,p[s+4>>2]=i-_,p[s>>2]=n-r,R_(t,s+8|0,s+4|0,s),Q=s}function xo(t,e,i,n){var o;o=Q,Q=Q+16|0,Wo(o,e=+e,i=+i,n=+n,+p[348+(t|=0)>>2],+p[t+352>>2],+p[t+356>>2]),c_(t+412|0,o),Q=o}function Oo(t,e,i,n){var o;o=Q,Q=Q+16|0,Wo(o,e=+e,i=+i,n=+n,+p[544+(t|=0)>>2],+p[t+548>>2],+p[t+552>>2]),c_(t+428|0,o),Q=o}function To(t,e,i){i|=0,Hs(t|=0,e|=0),_[t+48>>2]=_[i>>2],_[t+48+4>>2]=_[i+4>>2],_[t+48+8>>2]=_[i+8>>2],_[t+48+12>>2]=_[i+12>>2]}function Po(t,e){var i;return i=Q,Q=Q+16|0,Fn(i,t|=0,+p[48+(e|=0)>>2],+p[e+52>>2],+p[e+56>>2]),c_(t+48|0,i),function(t,e){var i,n=0;i=Q,Q=Q+48|0,n=+fo(e|=0,t|=0),p[i+32>>2]=n,n=+oo(e,t),p[i+28>>2]=n,n=+no(e,t),p[i+24>>2]=n,n=+fo(e,t+16|0),p[i+20>>2]=n,n=+oo(e,t+16|0),p[i+16>>2]=n,n=+no(e,t+16|0),p[i+12>>2]=n,n=+fo(e,t+32|0),p[i+8>>2]=n,n=+oo(e,t+32|0),p[i+4>>2]=n,n=+no(e,t+32|0),p[i>>2]=n,vo(t,i+32|0,i+28|0,i+24|0,i+20|0,i+16|0,i+12|0,i+8|0,i+4|0,i),Q=i}(t,e),Q=i,0|t}function Mo(t){var e,i;return i=+p[28+(t|=0)>>2],e=+Il[15&_[48+(0|_[t>>2])>>2]](t),Il[15&_[48+(0|_[t>>2])>>2]](t),Il[15&_[48+(0|_[t>>2])>>2]](t),+(i+e)}function Vo(t,e,i,n,o){var _;t|=0,e=+e,i=+i,n=+n,o=+o,_=Q,Q=Q+16|0,p[_+8>>2]=e*o,p[_+4>>2]=i*o,p[_>>2]=n*o,R_(t,_+8|0,_+4|0,_),Q=_}function Go(t,e){return e|=0,p[(t|=0)>>2]=+p[t>>2]*+p[e>>2],p[t+4>>2]=+p[t+4>>2]*+p[e>>2],p[t+8>>2]=+p[t+8>>2]*+p[e>>2],p[t+12>>2]=+p[t+12>>2]*+p[e>>2],0|t}function No(t,e,i,n,o,_,r,s,p,c){vo(t|=0,e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0)}function Lo(t,e,i){i|=0,Vn(t|=0,e|=0),_[t+48>>2]=_[i>>2],_[t+48+4>>2]=_[i+4>>2],_[t+48+8>>2]=_[i+8>>2],_[t+48+12>>2]=_[i+12>>2]}function Qo(t,e,i){t|=0,e|=0,i|=0;var n=0;for(n=0;!((0|n)>=(0|e));)Pn(i+(96*n|0)|0,(0|_[t+12>>2])+(96*n|0)|0),n=n+1|0}function Eo(t,e,i){e|=0,i|=0,function(t){_[(t|=0)>>2]=3752}(t|=0),_[t>>2]=3728,Yo(t+4|0,e),Yo(t+68|0,i),Yo(t+132|0,e),_[t+196>>2]=0}function Ho(t){var e;e=Q,Q=Q+16|0,function(t){var e;t|=0,e=Q,Q=Q+48|0,p[e+32>>2]=1,p[e+28>>2]=0,p[e+24>>2]=0,p[e+20>>2]=0,p[e+16>>2]=1,p[e+12>>2]=0,p[e+8>>2]=0,p[e+4>>2]=0,p[e>>2]=1,vo(t,e+32|0,e+28|0,e+24|0,e+20|0,e+16|0,e+12|0,e+8|0,e+4|0,e),Q=e}(t|=0),p[e+8>>2]=0,p[e+4>>2]=0,p[e>>2]=0,R_(t+48|0,e+8|0,e+4|0,e),Q=e}function Zo(t,e){(function(t,e){var i,n;e|=0,i=Q,Q=Q+16|0,_s(t|=0),n=0|Cl(0|_[e+4>>2]),_[i>>2]=0,co(t,n,i),e_(e,n,0|_[t+12>>2]),Q=i})(t|=0,e|=0),_[t+20>>2]=_[e+20>>2],_[t+20+4>>2]=_[e+20+4>>2],_[t+20+8>>2]=_[e+20+8>>2],_[t+20+12>>2]=_[e+20+12>>2]}function Uo(t,e,i,n,o,r,s,p){return e|=0,i|=0,n|=0,o|=0,r|=0,s|=0,p|=0,+ +Pl[1&_[12+(0|_[(t|=0)>>2])>>2]](t,e,i,n,o,r,s,p)}function Yo(t,e){Vn(t|=0,e|=0),_[t+48>>2]=_[e+48>>2],_[t+48+4>>2]=_[e+48+4>>2],_[t+48+8>>2]=_[e+48+8>>2],_[t+48+12>>2]=_[e+48+12>>2]}function Jo(){var t=0,e=0;return e=0|xr(0|(e=0|f_(0|_[6136],0|_[6137],1284865837,1481765933)),0|w(),1,0),t=0|w(),_[6136]=e,_[6137]=t,t=0|K_(0|e,0|t,33),w(),0|t}function Xo(t,e,i,n){var o;t|=0,e=+e,i=+i,n=+n,o=Q,Q=Q+16|0,p[o+8>>2]=-e,p[o+4>>2]=-i,p[o>>2]=-n,R_(t,o+8|0,o+4|0,o),Q=o}function zo(t,e,i){t|=0,e|=0,i|=0;var n=0;for(n=0;!((0|n)>=(0|e));)Zo(i+(36*n|0)|0,(0|_[t+12>>2])+(36*n|0)|0),n=n+1|0}function Ko(t,e,i){i|=0,R_(t|=0,(0|Cl(e|=0))+(i<<2)|0,(0|Cl(e+16|0))+(i<<2)|0,(0|Cl(e+32|0))+(i<<2)|0)}function qo(t){t|=0;var e=0;do{_[t+4>>2]=0,p[t+8>>2]=0,0|(e=0|_[t+24>>2])&&qo(e),t=0|_[t+28>>2]}while(0|t)}function $o(t,e,i,n,o,_){we(t|=0,e|=0,i|=0,n|=0,o|=0,_=+_)}function t_(t,e){e|=0,_[32+(t|=0)>>2]=_[e>>2],_[t+32+4>>2]=_[e+4>>2],_[t+32+8>>2]=_[e+8>>2],_[t+32+12>>2]=_[e+12>>2]}function e_(t,e,i){t|=0,e|=0,i|=0;var n=0;for(n=0;!((0|n)>=(0|e));)_[i+(n<<2)>>2]=_[(0|_[t+12>>2])+(n<<2)>>2],n=n+1|0}function i_(t,e){e|=0,_[52+(t|=0)>>2]=_[e>>2],_[t+52+4>>2]=_[e+4>>2],_[t+52+8>>2]=_[e+8>>2],_[t+52+12>>2]=_[e+12>>2]}function n_(t,e,i,n,o){e|=0,i|=0,n|=0,o|=0,_[(t|=0)>>2]=_[e>>2],_[t+4>>2]=_[i>>2],_[t+8>>2]=_[n>>2],_[t+12>>2]=_[o>>2]}function o_(t,e){e|=0,_[16+(t|=0)>>2]=_[e>>2],_[t+16+4>>2]=_[e+4>>2],_[t+16+8>>2]=_[e+8>>2],_[t+16+12>>2]=_[e+12>>2]}function __(t,e){e|=0,_[68+(t|=0)>>2]=_[e>>2],_[t+68+4>>2]=_[e+4>>2],_[t+68+8>>2]=_[e+8>>2],_[t+68+12>>2]=_[e+12>>2]}function r_(t,e){e|=0,_[36+(t|=0)>>2]=_[e>>2],_[t+36+4>>2]=_[e+4>>2],_[t+36+8>>2]=_[e+8>>2],_[t+36+12>>2]=_[e+12>>2]}function s_(t,e,i){e|=0,i|=0,(0|_[4+(t|=0)>>2])==(0|e)&&1!=(0|_[t+28>>2])&&(_[t+28>>2]=i)}function p_(t,e){e|=0,_[48+(t|=0)>>2]=_[e>>2],_[t+48+4>>2]=_[e+4>>2],_[t+48+8>>2]=_[e+8>>2],_[t+48+12>>2]=_[e+12>>2]}function c_(t,e){return e|=0,p[(t|=0)>>2]=+p[t>>2]+ +p[e>>2],p[t+4>>2]=+p[t+4>>2]+ +p[e+4>>2],p[t+8>>2]=+p[t+8>>2]+ +p[e+8>>2],0|t}function a_(t){var e;for(e=0|(t|=0)?t:1;!(0|(t=0|di(e)));){if(!(t=0|Wc())){t=0;break}Jl[1&t]()}return 0|t}function l_(t,e){e|=0,_[4+(t|=0)>>2]=_[e>>2],_[t+4+4>>2]=_[e+4>>2],_[t+4+8>>2]=_[e+8>>2],_[t+4+12>>2]=_[e+12>>2]}function d_(t,e){e|=0,_[(t|=0)>>2]=_[e>>2],_[t+4>>2]=_[e+4>>2],_[t+8>>2]=_[e+8>>2],_[t+12>>2]=_[e+12>>2]}function b_(t,e){e|=0,_[40+(t|=0)>>2]=_[e>>2],_[t+40+4>>2]=_[e+4>>2],_[t+40+8>>2]=_[e+8>>2],_[t+40+12>>2]=_[e+12>>2]}function A_(t,e){e|=0,_[24+(t|=0)>>2]=_[e>>2],_[t+24+4>>2]=_[e+4>>2],_[t+24+8>>2]=_[e+8>>2],_[t+24+12>>2]=_[e+12>>2]}function f_(t,e,i,n){var o,_;return e|=0,n|=0,o=0|function(t,e){var i,n,o;return o=((i=0|g(65535&(e|=0),65535&(t|=0)))>>>16)+(0|g(65535&e,t>>>16))|0,n=0|g(e>>>16,65535&t),0|(S((o>>>16)+(0|g(e>>>16,t>>>16))+(((65535&o)+n|0)>>>16)|0),o+n<<16|65535&i)}(t|=0,i|=0),_=0|w(),0|(S((0|g(e,i))+(0|g(n,t))+_|0),o)}function u_(t,e){return e|=0,p[(t|=0)>>2]=+p[t>>2]*+p[e>>2],p[t+4>>2]=+p[t+4>>2]*+p[e>>2],p[t+8>>2]=+p[t+8>>2]*+p[e>>2],0|t}function m_(t,e){e|=0,_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,p[t+(_[e+52>>2]<<2)>>2]=1}function h_(t,e){e|=0,_[8+(t|=0)>>2]=_[e>>2],_[t+8+4>>2]=_[e+4>>2],_[t+8+8>>2]=_[e+8>>2],_[t+8+12>>2]=_[e+12>>2]}function y_(t,e){t|=0,e|=0;var i=0;for(i=0;!((0|i)>=(0|e));)Ba((0|_[t+12>>2])+(36*i|0)|0),i=i+1|0}function g_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(203))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function C_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(1407))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function v_(t,e,i,n,o,r){e|=0,i|=0,n=+n,o|=0,r|=0,sd[1&_[32+(0|_[(t|=0)>>2])>>2]](t,e,i,n,o,r)}function S_(t){return t|=0,_[6630]=1+(0|_[6630]),(t=0|di(t+19|0))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function w_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(191))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function k_(t,e){t|=0,!(e|=0)&&3&_[t+204>>2]||(4!=(-2&_[t+216>>2])&&(_[t+216>>2]=1),p[t+220>>2]=0)}function R_(t,e,i,n){e|=0,i|=0,n|=0,_[(t|=0)>>2]=_[e>>2],_[t+4>>2]=_[i>>2],_[t+8>>2]=_[n>>2],p[t+12>>2]=0}function j_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(1331))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function D_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(379))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function I_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(135))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function B_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(627))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function W_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(219))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function F_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(1147))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function x_(t){return(t=+function(t){return+(t=+t)%6.2831854820251465}(t=+t))<-3.1415927410125732?+(t+=6.2831854820251465):t>3.1415927410125732?+(t+=-6.2831854820251465):+t}function O_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(115))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function T_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(783))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function P_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(131))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function M_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(111))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function V_(t){var e;(e=0|_[12+(t|=0)>>2])&&(1&n[t+16|0]&&gs(e),_[t+12>>2]=0)}function G_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(95))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function N_(t,e){return e|=0,+ +vs(+p[(t|=0)>>2],+p[t+4>>2],+p[t+8>>2],+p[e>>2],+p[e+4>>2],+p[e+8>>2])}function L_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(75))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function Q_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(35))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function E_(t){_[(t|=0)>>2]=3648,p[t+4>>2]=1,_[t+8>>2]=0,o[t+12>>1]=1,o[t+14>>1]=-1,_[t+16>>2]=0}function H_(t){_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=4096,_[t+12>>2]=4096,_[t+16>>2]=0,_[t+20>>2]=1}function Z_(t,e,i){return t|=0,e|=0,(0|(i|=0))<32?(S(e<>>32-i),t<>2])>>2]](t,e,i,n)}function Y_(t,e){var i;return t|=0,e=+e,i=Q,Q=Q+16|0,p[i>>2]=e,t=0|u_(t,i),Q=i,0|t}function J_(t){3&_[204+(t|=0)>>2]||(4!=(-2&_[t+216>>2])&&(_[t+216>>2]=1),p[t+220>>2]=0)}function X_(t,e){e|=0,t=0|_[4+(t|=0)>>2],Ll[31&_[8+(0|_[t>>2])>>2]](t,0|_[e+36>>2])}function z_(t,e){(function(t,e){R_(t|=0,e|=0,e+16|0,e+32|0),R_(t+16|0,e+4|0,e+20|0,e+36|0),R_(t+32|0,e+8|0,e+24|0,e+40|0)})(t|=0,e|=0),R_(t+48|0,e+48|0,e+52|0,e+56|0)}function K_(t,e,i){return t|=0,e|=0,(0|(i|=0))<32?(S(e>>>i|0),t>>>i|(e&(1<>>i-32|0)}function q_(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[88+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function $_(t,e){var i;return t|=0,e=+e,i=Q,Q=Q+16|0,p[i>>2]=1/e,t=0|Go(t,i),Q=i,0|t}function tr(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[36+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function er(t,e,i){return e=+e,i|=0,0|Nl[1&_[52+(0|_[(t|=0)>>2])>>2]](t,e,i,.01666666753590107)}function ir(t,e,i){e=+e,_[(i|=0)>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0}function nr(t,e,i,n){return e=+e,i|=0,n=+n,0|Nl[1&_[52+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function or(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[28+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function _r(t,e,i,n){e|=0,i|=0,n|=0,Hl[31&_[8+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function rr(t,e,i,n,o){o|=0,R_(t|=0,e|=0,i|=0,n|=0),_[t+12>>2]=_[o>>2]}function sr(t,e,i,o){e|=0,i=+i,o=+o,n[737+(t|=0)|0]=1&e,p[t+680>>2]=i,p[t+684>>2]=o}function pr(t,e,i){e|=0,i|=0,pd[127&_[36+(0|_[(t|=0)>>2])>>2]](t,e,i,-3)}function cr(t,e,i,n,o){return 1}function ar(t,e,i,n,o,_,r,s,p,c){return v(18),0}function lr(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[32+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function dr(t,e,i,n,o,_,r,s,p,c){return v(9),0}function br(t,e,i,n){e|=0,i=+i,n|=0,nd[7&_[28+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function Ar(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[8+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function fr(t){Rc(144+(t|=0)|0),Rc(t+124|0),Rc(t+104|0)}function ur(t,e,i){e|=0,i|=0,pd[127&_[36+(0|_[(t|=0)>>2])>>2]](t,e,i,-1)}function mr(t,e){return e=+e,0|Nl[1&_[52+(0|_[(t|=0)>>2])>>2]](t,e,1,.01666666753590107)}function hr(t,e,i){e|=0,i|=0,_d[127&_[56+(0|_[(t|=0)>>2])>>2]](t,e,i)}function yr(t,e,i,n,o,_,r,s,p,c){v(43)}function gr(t){en(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))}function Cr(t,e,i){po(t|=0,e|=0,i|=0)}function vr(t,e){e|=0,pd[127&_[36+(0|_[(t|=0)>>2])>>2]](t,e,2,-3)}function Sr(t,e,i){e=+e,i|=0,$l[15&_[32+(0|_[(t|=0)>>2])>>2]](t,e,i)}function wr(t){pe(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))}function kr(t,e,i){return e|=0,i|=0,+ +Fl[15&_[32+(0|_[(t|=0)>>2])>>2]](t,e,i)}function Rr(t,e,i,n,o,_,r,s,p){return v(17),0}function jr(t){_[(t|=0)>>2]=5444,t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))}function Dr(t,e,i,n,o,_,r,s,p){return v(8),0}function Ir(t,e,i,n){return 0|(S(0|(n=(e|=0)-(n|=0)-((i|=0)>>>0>(t|=0)>>>0|0)>>>0)),t-i>>>0)}function Br(t,e,i){e|=0,i=+i,id[7&_[8+(0|_[(t|=0)>>2])>>2]](t,e,i)}function Wr(t,e,i,n,o){n_(t|=0,e|=0,i|=0,n|=0,o|=0)}function Fr(t,e,i){e|=0,i|=0,_d[127&_[40+(0|_[(t|=0)>>2])>>2]](t,e,i)}function xr(t,e,i,n){return 0|(S((e|=0)+(n|=0)+((t|=0)+(i|=0)>>>0>>>0>>0|0)>>>0|0),t+i>>>0)}function Or(t,e){!function(t,e){t|=0,e|=0;var i=0,n=0,o=0;for(i=0;3!=(0|i);)o=(0|Cl(e))+(i<<2)|0,n=+x_(+p[o>>2]),p[t+868+(i<<6)+4>>2]=n,i=i+1|0}(t|=0,e|=0)}function Tr(t,e){!function(t,e){t|=0,e|=0;var i=0,n=0,o=0;for(i=0;3!=(0|i);)o=(0|Cl(e))+(i<<2)|0,n=+x_(+p[o>>2]),p[t+868+(i<<6)>>2]=n,i=i+1|0}(t|=0,e|=0)}function Pr(t,e){e|=0,pd[127&_[36+(0|_[(t|=0)>>2])>>2]](t,e,1,-1)}function Mr(t){_[(t|=0)>>2]=3820,p[t+4>>2]=1,o[t+8>>1]=1,o[t+10>>1]=-1}function Vr(t,e){e|=0,4!=(-2&_[216+(t|=0)>>2])&&(_[t+216>>2]=e)}function Gr(t,e){!function(t,e){e|=0,_[696+(t|=0)>>2]=_[e>>2],_[t+696+4>>2]=_[e+4>>2],_[t+696+8>>2]=_[e+8>>2],_[t+696+12>>2]=_[e+12>>2]}(t|=0,e|=0)}function Nr(t,e){!function(t,e){e|=0,_[680+(t|=0)>>2]=_[e>>2],_[t+680+4>>2]=_[e+4>>2],_[t+680+8>>2]=_[e+8>>2],_[t+680+12>>2]=_[e+12>>2]}(t|=0,e|=0)}function Lr(t,e){e|=0,_d[127&_[56+(0|_[(t|=0)>>2])>>2]](t,e,0)}function Qr(t,e){return e|=0,0|Ll[31&_[40+(0|_[(t|=0)>>2])>>2]](t,e)}function Er(t,e){e|=0,ed[127&_[60+(0|_[(t|=0)>>2])>>2]](t,e)}function Hr(t,e){e|=0,ed[127&_[92+(0|_[(t|=0)>>2])>>2]](t,e)}function Zr(t,e,i,n,o){xn(t|=0,e|=0,i=+i,n=+n,o=+o)}function Ur(t,e){e|=0,ed[127&_[40+(0|_[(t|=0)>>2])>>2]](t,e)}function Yr(t,e){e|=0,ed[127&_[84+(0|_[(t|=0)>>2])>>2]](t,e)}function Jr(t,e){e|=0,ed[127&_[72+(0|_[(t|=0)>>2])>>2]](t,e)}function Xr(t){(t|=0)&&Xl[511&_[8+(0|_[t>>2])>>2]](t)}function zr(t,e){return e|=0,e=0|Mc(0|_[12+(t|=0)>>2],e),0|_[e>>2]}function Kr(t){(t|=0)&&Xl[511&_[4+(0|_[t>>2])>>2]](t)}function qr(t){!function(t,e){var i;t|=0,e=+e,i=Q,Q=Q+16|0,p[i>>2]=1/e,u_(t,i),Q=i}(t|=0,+ep(+p[t>>2],+p[t+4>>2],+p[t+8>>2]))}function $r(t,e){e|=0,ed[127&_[8+(0|_[(t|=0)>>2])>>2]](t,e)}function ts(t,e){e|=0,ed[127&_[16+(0|_[(t|=0)>>2])>>2]](t,e)}function es(t,e){e|=0,ed[127&_[36+(0|_[(t|=0)>>2])>>2]](t,e)}function is(t,e){e|=0,ed[127&_[12+(0|_[(t|=0)>>2])>>2]](t,e)}function ns(t,e){K(t|=0,e|=0)}function os(t,e){e|=0,ed[127&_[68+(0|_[(t|=0)>>2])>>2]](t,e)}function _s(t){n[16+(t|=0)|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0}function rs(t){return 0|function(t){return 0|!!(3&(t|=0))}(0|_[204+(t|=0)>>2])}function ss(t,e){jo(t|=0,e|=0)}function ps(t,e){e|=0,ed[127&_[24+(0|_[(t|=0)>>2])>>2]](t,e)}function cs(t,e){e|=0,ed[127&_[64+(0|_[(t|=0)>>2])>>2]](t,e)}function as(t,e){e|=0,ed[127&_[44+(0|_[(t|=0)>>2])>>2]](t,e)}function ls(t,e){!function(t,e){e|=0,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),Yo(t+4|0,e)}(t|=0,e|=0)}function ds(t){return 0|(4==(0|Cl(0|_[236+(t|=0)>>2]))?t:0)}function bs(t,e){e=+e,p[572+(t|=0)>>2]=e,n[t+553|0]=1}function As(t){(t|=0)&&(Rc(t),yl(t))}function fs(t){return+ +qa(+p[16+(t|=0)>>2])}function us(t){return+ +ep(+p[(t|=0)>>2],+p[t+4>>2],+p[t+8>>2])}function ms(t,e){hp(t|=0,e=+e)}function hs(t,e){e=+e,zl[31&_[44+(0|_[(t|=0)>>2])>>2]](t,e)}function ys(t){return 0|function(t){return(t=+t)<1|0}(+p[4+(t|=0)>>2])}function gs(t){(t|=0)&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))}function Cs(t,e){return 0|function(t,e){return e|=0,e=0|Mc(0|_[276+(t|=0)>>2],e),0|_[e>>2]}(t|=0,e|=0)}function vs(t,e,i,n,o,_){return+((t=+t)*(n=+n)+(e=+e)*(o=+o)+(i=+i)*(_=+_))}function Ss(t,e){gp(t|=0,e=+e)}function ws(t){Xl[511&_[44+(0|_[(t|=0)>>2])>>2]](t)}function ks(t){return 0|function(t){return 0|!!(2&(t|=0))}(0|_[204+(t|=0)>>2])}function Rs(t,e){!function(t,e){e=+e,p[(t|=0)+184>>2]=e}(t|=0,e=+e)}function js(t){return 0|function(t){return 0|!!(0|(t|=0))}(0|_[8+(t|=0)>>2])}function Ds(t,e){Sc(t|=0,e=+e)}function Is(t,e,i,n,o){Vo(t|=0,i=+i,n=+n,o=+o,e=+e)}function Bs(t){return 0|Gl[127&_[20+(0|_[(t|=0)>>2])>>2]](t)}function Ws(t,e){Dp(t|=0,e|=0)}function Fs(t,e){return e|=0,0|_[(0|_[220+(t|=0)>>2])+(e<<2)>>2]}function xs(t,e){e=+e,p[572+(t|=0)>>2]=e,n[t+553|0]=0}function Os(t,e){!function(t,e){e|=0,_[(t|=0)+204>>2]=e}(t|=0,e|=0)}function Ts(t){Xl[511&_[24+(0|_[(t|=0)>>2])>>2]](t)}function Ps(t,e){!function(t,e){e=+e,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),p[t+232>>2]=e}(t|=0,e=+e)}function Ms(t,e,i,n){n=+n}function Vs(t){return 0|function(t){return 0|!!(1&(t|=0))}(0|_[204+(t|=0)>>2])}function Gs(t){return 0|Gl[127&_[28+(0|_[(t|=0)>>2])>>2]](t)}function Ns(t){return 0|Xs(0|_[68+(t|=0)>>2])}function Ls(t){return 0|Gl[127&_[48+(0|_[(t|=0)>>2])>>2]](t)}function Qs(t){return 1==(0|n[0|(t|=0)])?t=0:(n[0|t]=1,t=1),0|t}function Es(t){return 0|function(t){return 0|Cl(0|_[(t|=0)+268>>2])}(t|=0)}function Hs(t,e){!function(t,e){t|=0;var i,n,o,_,r,s,c=0;i=Q,Q=Q+48|0,n=2/+Vc(e|=0),c=0|Cl(e),_=+p[c>>2],c=0|sl(e),o=+p[c>>2],c=0|rl(e),s=+p[c>>2],e=0|_l(e),r=+p[e>>2],p[i+32>>2]=1-(o*(o*n)+s*(s*n)),p[i+28>>2]=_*(o*n)-r*(s*n),p[i+24>>2]=_*(s*n)+r*(o*n),p[i+20>>2]=_*(o*n)+r*(s*n),p[i+16>>2]=1-(_*(_*n)+s*(s*n)),p[i+12>>2]=o*(s*n)-r*(_*n),p[i+8>>2]=_*(s*n)-r*(o*n),p[i+4>>2]=o*(s*n)+r*(_*n),p[i>>2]=1-(_*(_*n)+o*(o*n)),vo(t,i+32|0,i+28|0,i+24|0,i+20|0,i+16|0,i+12|0,i+8|0,i+4|0,i),Q=i}(t|=0,e|=0)}function Zs(t,e){!function(t,e){e=+e,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),p[t+228>>2]=e}(t|=0,e=+e)}function Us(t){return+ +Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t)}function Ys(t,e){e|=0,o[10+(t|=0)>>1]=e}function Js(t,e){e|=0,o[8+(t|=0)>>1]=e}function Xs(t){return 0|Gl[127&_[36+(0|_[(t|=0)>>2])>>2]](t)}function zs(t,e){l_(t|=0,e|=0)}function Ks(t,e){!function(t,e){e|=0,_[(t|=0)+240>>2]=e}(t|=0,e|=0)}function qs(t,e){e|=0,n[170+(t|=0)|0]=1&e}function $s(t,e){e|=0,o[12+(t|=0)>>1]=e}function tp(t,e){e|=0,o[14+(t|=0)>>1]=e}function ep(t,e,i){return+ +ll(+function(t,e,i){return+ +vs(t=+t,e=+e,i=+i,t,e,i)}(t=+t,e=+e,i=+i))}function ip(t,e){!function(t,e){e=+e,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),p[t+224>>2]=e}(t|=0,e=+e)}function np(t){return 0|function(t){return 2!=(0|(t=0|Cl(t|=0)))&5!=(0|t)}(0|_[216+(t|=0)>>2])}function op(t){return(t=+t)<-1?t=-1:t>1&&(t=1),+ +m(+t)}function _p(t,e,i,n,o,_){return n=+n,v(4),0}function rp(t,e,i,n){}function sp(t){(t|=0)&&gs(t)}function pp(t,e,i,n){return 0|si(t|=0,e|=0,i|=0,n|=0,0)}function cp(t,e,i){e=+e}function ap(t,e){e|=0,_[72+(t|=0)>>2]=e}function lp(t,e){e|=0,_[8+(t|=0)>>2]=e}function dp(t,e){e|=0,_[216+(t|=0)>>2]=e}function bp(t,e,i,n,o,_){v(39)}function Ap(t){return(255&(t|=0))<<24|(t>>8&255)<<16|(t>>16&255)<<8|t>>>24}function fp(t,e){e|=0,_[4+(t|=0)>>2]=e}function up(t){return 0|Ga(t|=0)}function mp(t,e){e|=0,n[524+(t|=0)|0]=1&e}function hp(t,e){e=+e,p[248+(t|=0)>>2]=e}function yp(t){return+ +function(t){var e;return e=0|Cl(28+(t|=0)|0),+ +p[e+(_[t+52>>2]<<2)>>2]}(t|=0)}function gp(t,e){e=+e,p[252+(t|=0)>>2]=e}function Cp(t){return 0|Qa(t|=0)}function vp(t,e){e|=0,n[552+(t|=0)|0]=1&e}function Sp(t,e,i){return 0}function wp(t){return 0|function(t){return 0|_[(t|=0)+240>>2]}(t|=0)}function kp(t,e){e|=0,n[736+(t|=0)|0]=1&e}function Rp(t){return 0|o[10+(t|=0)>>1]}function jp(t){return 0|o[8+(t|=0)>>1]}function Dp(t,e){e|=0,n[21+(t|=0)|0]=1&e}function Ip(t){return 0|Cl(0|_[192+(t|=0)>>2])}function Bp(t){return 0|Cl(0|_[204+(t|=0)>>2])}function Wp(t){return 0|Cl(0|_[24+(t|=0)>>2])}function Fp(t){return 0|Cl(0|_[68+(t|=0)>>2])}function xp(t,e,i,n,o){return v(6),0}function Op(t){return 0|o[12+(t|=0)>>1]}function Tp(t,e){e|=0,n[737+(t|=0)|0]=1&e}function Pp(t,e){return 0|function(t,e){return e|=0,p[(t|=0)>>2]=+p[t>>2]-+p[e>>2],p[t+4>>2]=+p[t+4>>2]-+p[e+4>>2],p[t+8>>2]=+p[t+8>>2]-+p[e+8>>2],0|t}(t|=0,e|=0)}function Mp(t,e){return 0|c_(t|=0,e|=0)}function Vp(t){return 0|o[14+(t|=0)>>1]}function Gp(t,e){e|=0,_[84+(t|=0)>>2]=e}function Np(t,e){e|=0,_[88+(t|=0)>>2]=e}function Lp(t,e){return(0|(t|=0))==(0|(e|=0))|0}function Qp(t){return t=0|rl(t|=0),+ +p[t>>2]}function Ep(t){return t=0|sl(t|=0),+ +p[t>>2]}function Hp(t){return t=0|_l(t|=0),+ +p[t>>2]}function Zp(t){return 0|Cl(0|_[240+(t|=0)>>2])}function Up(t,e){e=+e,p[104+(t|=0)>>2]=e}function Yp(t,e,i,n,o){return i=+i,v(2),0}function Jp(t){return+ +function(t){var e;return e=(2+(0|_[52+(t|=0)>>2])|0)%3|0,t=(0|Cl(t+28|0))+(e<<2)|0,+ +p[t>>2]}(t|=0)}function Xp(t,e){e=+e,p[64+(t|=0)>>2]=e}function zp(t,e){e=+e,p[68+(t|=0)>>2]=e}function Kp(t){return 0|Cl(0|_[52+(t|=0)>>2])}function qp(t){(t|=0)&&yl(t)}function $p(t,e){Ec(t|=0,e=+e)}function tc(t,e){e=+e,p[76+(t|=0)>>2]=e}function ec(t,e){e=+e,p[60+(t|=0)>>2]=e}function ic(t,e){e=+e,p[52+(t|=0)>>2]=e}function nc(t,e){e=+e,p[56+(t|=0)>>2]=e}function oc(t,e){e|=0,_[20+(t|=0)>>2]=e}function _c(t,e,i){return i=+i,0}function rc(t){return+ +p[204+(t|=0)>>2]}function sc(t,e){ta(t|=0,e=+e)}function pc(t,e){ea(t|=0,e=+e)}function cc(t,e){Aa(t|=0,e=+e)}function ac(t){return+ +ll(+Vc(t|=0))}function lc(t){return 0|_[68+(t|=0)>>2]}function dc(t,e,i,n,o){v(37)}function bc(t){return 0|Ya(t|=0)}function Ac(t){return 0|_[8+(t|=0)>>2]}function fc(t,e){e=+e,p[92+(t|=0)>>2]=e}function uc(t,e){e=+e,p[40+(t|=0)>>2]=e}function mc(t,e){e=+e,p[36+(t|=0)>>2]=e}function hc(t,e){e=+e,p[48+(t|=0)>>2]=e}function yc(t){return t=0|Cl(t|=0),+ +p[t>>2]}function gc(t,e){e=+e,p[24+(t|=0)>>2]=e}function Cc(t,e){e=+e,p[20+(t|=0)>>2]=e}function vc(t,e){e=+e,p[32+(t|=0)>>2]=e}function Sc(t,e){e=+e,p[16+(t|=0)>>2]=e}function wc(t,e){e=+e,p[28+(t|=0)>>2]=e}function kc(t,e){e|=0,_[(t|=0)>>2]=e}function Rc(t){!function(t){V_(t|=0),_s(t)}(t|=0)}function jc(t,e,i){}function Dc(t,e){e=+e,p[72+(t|=0)>>2]=e}function Ic(t){return 0|_[24+(t|=0)>>2]}function Bc(t){return 0|sl(t|=0)}function Wc(){var t;return t=0|_[6773],_[6773]=t+0,0|t}function Fc(t){return 0|_[136+(t|=0)>>2]}function xc(t,e){e=+e,p[44+(t|=0)>>2]=e}function Oc(t){return 0|Cl(0|_[4+(t|=0)>>2])}function Tc(t,e,i,n){return v(15),0}function Pc(t){qr(t|=0)}function Mc(t,e){return(t|=0)+((e|=0)<<2)|0}function Vc(t){return+ +ho(t|=0,t)}function Gc(t){return 0|((t|=0)?31-(0|C(t^t-1)):32)}function Nc(t){return+ +p[(t|=0)>>2]}function Lc(t){return+ +p[64+(t|=0)>>2]}function Qc(t){return+ +p[68+(t|=0)>>2]}function Ec(t,e){e=+e,p[12+(t|=0)>>2]=e}function Hc(t){return 0|_[4+(t|=0)>>2]}function Zc(t){return 0|_[88+(t|=0)>>2]}function Uc(t){return 0|_[92+(t|=0)>>2]}function Yc(t){return 52+(t|=0)|0}function Jc(t){return+ +p[76+(t|=0)>>2]}function Xc(t){return 0|_[16+(t|=0)>>2]}function zc(t){return+ +p[60+(t|=0)>>2]}function Kc(t){return+ +p[52+(t|=0)>>2]}function qc(t){return+ +p[56+(t|=0)>>2]}function $c(t){return 0|_[96+(t|=0)>>2]}function ta(t,e){e=+e,p[8+(t|=0)>>2]=e}function ea(t,e){e=+e,p[4+(t|=0)>>2]=e}function ia(t){return 16+(t|=0)|0}function na(t,e){return 1}function oa(t){return 0|_[20+(t|=0)>>2]}function _a(t,e){}function ra(t,e,i,n){v(33)}function sa(t){return 36+(t|=0)|0}function pa(t){return+ +p[92+(t|=0)>>2]}function ca(t){return+ +p[44+(t|=0)>>2]}function aa(t){return+ +p[40+(t|=0)>>2]}function la(t){return+ +p[36+(t|=0)>>2]}function da(t){return+ +p[48+(t|=0)>>2]}function ba(t){return+ +p[72+(t|=0)>>2]}function Aa(t,e){e=+e,p[(t|=0)>>2]=e}function fa(t){return+ +p[24+(t|=0)>>2]}function ua(t){return+ +p[4+(t|=0)>>2]}function ma(t){return+ +p[20+(t|=0)>>2]}function ha(t){return+ +p[32+(t|=0)>>2]}function ya(t){return+ +p[16+(t|=0)>>2]}function ga(t){return+ +p[12+(t|=0)>>2]}function Ca(t){return+ +p[28+(t|=0)>>2]}function va(t){return 52}function Sa(t){return 84}function wa(t,e){return(t|=0)+((e|=0)<<4)|0}function ka(t){return+ +p[8+(t|=0)>>2]}function Ra(t,e,i,n){n=+n,v(31)}function ja(t){return 32+(t|=0)|0}function Da(t){return 0|_[(t|=0)>>2]}function Ia(t){return 68+(t|=0)|0}function Ba(t){Rc(t|=0)}function Wa(t){!function(t){_s(t|=0)}(t|=0)}function Fa(t,e,i){return v(14),0}function xa(t){return 60}function Oa(t,e,i){return v(3),0}function Ta(t){return 0|((t|=0)>>>0>4294963200?-1:t)}function Pa(t){_[(t|=0)>>2]=5444}function Ma(t){return(255&(t|=0))<<8|t>>8&255}function Va(t,e,i){return i=+i,v(13),0}function Ga(t){return 92+(t|=0)|0}function Na(){return 0|Q_()}function La(t){return 76+(t|=0)|0}function Qa(t){return 28+(t|=0)|0}function Ea(t){return 40+(t|=0)|0}function Ha(t){return 24+(t|=0)|0}function Za(t,e,i){v(30)}function Ua(t){return 0}function Ya(t){return 48+(t|=0)|0}function Ja(t){return 1}function Xa(t,e,i){i=+i,v(27)}function za(t,e,i){e=+e,v(24)}function Ka(t){return 3}function qa(t){return+(t=+t)}function $a(t,e,i){e=+e,i=+i,v(22)}function tl(t,e){return v(12),0}function el(t){return 6}function il(t){return 12}function nl(){return 4}function ol(t){return 2}function _l(t){return 12+(t|=0)|0}function rl(t){return 8+(t|=0)|0}function sl(t){return 4+(t|=0)|0}function pl(){return 2}function cl(t){N()}function al(){return 3}function ll(t){return+ +b(+(t=+t))}function dl(t){return+ +u(+(t=+t))}function bl(t){return+ +f(+(t=+t))}function Al(t,e){v(26)}function fl(t,e){e=+e,v(21)}function ul(t){return 0|a_(t|=0)}function ml(t){yl(t|=0)}function hl(t){}function yl(t){Ni(t|=0)}function gl(t){return v(10),0}function Cl(t){return 0|(t|=0)}function vl(t){return v(0),0}function Sl(t){v(20)}function wl(){return 1}function kl(t,e,i){e|=0,i|=0;var o,r=0,s=0,c=0,a=0,l=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0;o=Q,Q=Q+16|0,r=0|_[1112+(t|=0)>>2];t:do{if((0|r)>0)for(;;){if(A=0|_[_[t+1120>>2]>>2],0|(r=0|_[A+348>>2])&&(Tt(t+1048|0,r),0|(s=0|_[t+1052>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+1052>>2]=r,_[t+1060>>2]=(0|_[t+1060>>2])-1),0|(r=0|_[A+52>>2])&&(0|n[A+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[A+52>>2]=0),n[A+56|0]=1,_[A+52>>2]=0,_[A+44>>2]=0,_[A+48>>2]=0,0|(r=0|_[A+32>>2])&&(0|n[A+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[A+32>>2]=0),n[A+36|0]=1,_[A+32>>2]=0,_[A+24>>2]=0,_[A+28>>2]=0,0|(r=0|_[A+12>>2])&&(0|n[A+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[A+12>>2]=0),n[A+16|0]=1,_[A+12>>2]=0,_[A+4>>2]=0,_[A+8>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2]),(0|(r=0|_[t+1112>>2]))<=0){s=r;break t}a=0|_[t+1120>>2],s=0;do{if((0|_[(c=a+(s<<2)|0)>>2])==(0|A)){V=23;break}s=s+1|0}while((0|s)<(0|r));if(23==(0|V)&&(V=0,(0|s)<(0|r)&&(_[c>>2]=_[a+(r+-1<<2)>>2],_[(0|_[t+1120>>2])+(r+-1<<2)>>2]=A,_[t+1112>>2]=r+-1,r=r+-1|0)),(0|r)<=0){s=r;break}}else s=r}while(0);if((0|s)<(0|(r=(0|(r=0|_[t+712>>2]))>(0|e)?e:r))){if((0|_[t+1116>>2])<(0|r)){if(r)if(_[6630]=1+(0|_[6630]),(c=0|di(16+(r<<2|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,(0|(A=0|_[t+1112>>2]))>0){a=0;do{_[c+(a<<2)>>2]=_[(0|_[t+1120>>2])+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|A));a=c,c=t+1120|0}else a=c,c=t+1120|0;else a=0,c=t+1120|0;0|(A=0|_[c>>2])&&(0|n[t+1124|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[c>>2]=0),n[t+1124|0]=1,_[c>>2]=a,_[t+1116>>2]=r}else c=t+1120|0;do{_[(0|_[c>>2])+(s<<2)>>2]=0,s=s+1|0}while((0|s)!=(0|r))}if(_[t+1112>>2]=r,(0|r)>0){s=0;do{_[6630]=1+(0|_[6630]),(r=0|di(403))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,n[r+16|0]=1,_[r+12>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,n[r+36|0]=1,_[r+32>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,n[r+56|0]=1,_[r+52>>2]=0,_[r+44>>2]=0,_[r+48>>2]=0,_[(a=r+348|0)>>2]=0,_[a+4>>2]=0,_[a+8>>2]=0,_[a+12>>2]=0,_[a+16>>2]=0,p[r+368>>2]=100,p[r+372>>2]=.009999999776482582,n[r+376|0]=0,_[(0|_[t+1120>>2])+(s<<2)>>2]=r,a=0|_[t+1120>>2],n[377+(0|_[a+(s<<2)>>2])|0]=1,s=s+1|0,r=0|_[t+1112>>2]}while((0|s)<(0|r));if((0|r)>0){if((0|(c=0|_[t+712>>2]))>0){for(s=0,l=0,b=0,f=0,A=r;;){if(m=0|_[t+720>>2],u=l+ +p[m+(104*s|0)+8>>2],b+=+p[m+(104*s|0)+12>>2],k=f+ +p[m+(104*s|0)+16>>2],e=0|_[a+((29873*s|0)%(0|A)<<2)>>2],m=m+(104*s|0)|0,(0|(a=0|_[e+24>>2]))==(0|_[e+28>>2])&&(0|a)<(0|(h=0|a?a<<1:1))){if(h?(_[6630]=1+(0|_[6630]),(c=0|di(16+(h<<2|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,a=0|_[e+24>>2]):c=0,(0|a)>0){A=0;do{_[c+(A<<2)>>2]=_[(0|_[e+32>>2])+(A<<2)>>2],A=A+1|0}while((0|A)!=(0|a))}(A=0|_[e+32>>2])&&(0|n[e+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2]),a=0|_[e+24>>2]),_[e+32>>2]=0),n[e+36|0]=1,_[e+32>>2]=c,_[e+28>>2]=h,c=0|_[t+712>>2]}if(_[(0|_[e+32>>2])+(a<<2)>>2]=m,_[e+24>>2]=a+1,(0|(s=s+1|0))>=(0|c))break;l=u,f=k,A=0|_[t+1112>>2],a=0|_[t+1120>>2]}l=1/+(0|c),(0|r)>=0?r?(f=u*l,b*=l,l*=k,V=70):(c=0,f=u*l,b*=l,l*=k,V=72):(B=t+720|0,O=0,x=0)}else f=1/+(0|c)*0,b=1/+(0|c)*0,l=1/+(0|c)*0,V=70;if(70==(0|V)&&(_[6630]=1+(0|_[6630]),(s=0|di(16+(r<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,c=s+4+15&-16,V=72):(c=0,V=72)),72==(0|V)){s=0;do{p[c+(s<<4)>>2]=f,p[c+(s<<4)+4>>2]=b,p[c+(s<<4)+8>>2]=l,p[c+(s<<4)+12>>2]=0,s=s+1|0}while((0|s)!=(0|r));B=t+720|0,O=c,x=c}v=O+4|0,S=O+8|0,C=0;do{for(j=2-((j=.0625*+(0|C))>1?1:j),A=0,e=0;;){if(s=0|_[(0|_[t+1120>>2])+(e<<2)>>2],(0|(a=0|_[s+24>>2]))>0)if(c=0|_[s+32>>2],V=0|_[c>>2],f=+p[V+8>>2]+0,b=+p[V+12>>2]+0,l=+p[V+16>>2]+0,1==(0|a))V=82;else{s=1;do{V=0|_[c+(s<<2)>>2],f+=+p[V+8>>2],b+=+p[V+12>>2],l+=+p[V+16>>2],s=s+1|0}while((0|s)<(0|a));V=80}else l=0,b=0,f=0,V=80;if(80==(0|V)&&(V=0,a?V=82:y=A),82==(0|V)){if(V=0,f=(u=+p[(y=O+(e<<4)|0)>>2])+j*(f*(1/+(0|a))-u),b=(k=+p[(w=O+(e<<4)+4|0)>>2])+j*(b*(1/+(0|a))-k),l=(R=+p[(s=O+(e<<4)+8|0)>>2])+j*(l*(1/+(0|a))-R),p[y>>2]=f,p[w>>2]=b,p[s>>2]=l,p[O+(e<<4)+12>>2]=0,a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],(0|(s=0|_[a+24>>2]))<0){(0|_[a+28>>2])<0&&(0|(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=0,_[a+28>>2]=0);do{_[(0|_[a+32>>2])+(s<<2)>>2]=0,s=s+1|0}while(0|s)}_[a+24>>2]=0,y=A|(f-u)*(f-u)+(b-k)*(b-k)+(l-R)*(l-R)>1.1920928955078125e-7}if((0|(e=e+1|0))>=(0|r))break;A=y}C=C+1|0,s=0|_[t+712>>2];t:do{if((0|s)>0){if((0|r)<=1)for(m=0;;){if(A=0|_[_[t+1120>>2]>>2],e=(0|_[B>>2])+(104*m|0)|0,(0|(c=0|_[A+24>>2]))==(0|_[A+28>>2])&&(0|c)<(0|(F=0|c?c<<1:1))){if(F?(_[6630]=1+(0|_[6630]),(s=0|di(16+(F<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,c=0|_[A+24>>2]):s=0,(0|c)>0){a=0;do{_[s+(a<<2)>>2]=_[(0|_[A+32>>2])+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|c))}(a=0|_[A+32>>2])&&(0|n[A+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2]),c=0|_[A+24>>2]),_[A+32>>2]=0),n[A+36|0]=1,_[A+32>>2]=s,_[A+28>>2]=F,s=0|_[t+712>>2]}if(_[(0|_[A+32>>2])+(c<<2)>>2]=e,_[A+24>>2]=c+1,(0|(m=m+1|0))>=(0|s))break t}h=0;do{for(e=0|_[B>>2],b=+p[e+(104*h|0)+8>>2],f=+p[e+(104*h|0)+12>>2],u=+p[e+(104*h|0)+16>>2],c=1,l=+d(+(+p[O>>2]-b))+ +d(+(+p[v>>2]-f))+ +d(+(+p[S>>2]-u)),a=0;a=(A=(k=+d(+(+p[O+(c<<4)>>2]-b))+ +d(+(+p[O+(c<<4)+4>>2]-f))+ +d(+(+p[O+(c<<4)+8>>2]-u)))>2])+(a<<2)>>2],A=e+(104*h|0)|0,(0|(c=0|_[m+24>>2]))==(0|_[m+28>>2])&&(0|c)<(0|(W=0|c?c<<1:1))){if(W?(_[6630]=1+(0|_[6630]),(s=0|di(16+(W<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,c=0|_[m+24>>2]):s=0,(0|c)>0){a=0;do{_[s+(a<<2)>>2]=_[(0|_[m+32>>2])+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|c))}(a=0|_[m+32>>2])&&(0|n[m+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2]),c=0|_[m+24>>2]),_[m+32>>2]=0),n[m+36|0]=1,_[m+32>>2]=s,_[m+28>>2]=W,s=0|_[t+712>>2]}_[(0|_[m+32>>2])+(c<<2)>>2]=A,_[m+24>>2]=c+1,h=h+1|0}while((0|h)<(0|s))}}while(0)}while((0|C)<(0|i)&y);if((0|s)>0?(s<<=2,_[6630]=1+(0|_[6630]),(r=0|di(16+(3|s)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,wn(0|r,-1,0|s),w=r,S=r):(w=0,S=0),(0|(r=0|_[t+1112>>2]))>0){e=0|_[t+1120>>2],A=0;do{if(a=0|_[e+(A<<2)>>2],(0|_[a+24>>2])>0){if(s=0|_[B>>2],c=0|_[a+32>>2],_[w+(((0|_[c>>2])-s|0)/104<<2)>>2]=A,(0|_[a+24>>2])>1){r=1;do{_[w+(((0|_[c+(r<<2)>>2])-s|0)/104<<2)>>2]=A,r=r+1|0}while((0|r)<(0|_[a+24>>2]))}r=0|_[t+1112>>2]}A=A+1|0}while((0|A)<(0|r))}if((0|_[t+752>>2])>0){y=0;do{for(F=0|_[t+760>>2],e=0|_[B>>2],r=((0|_[F+(44*y|0)+8>>2])-e|0)/104|0,_[o>>2]=r,_[o+4>>2]=((0|_[F+(44*y|0)+12>>2])-e|0)/104|0,_[o+8>>2]=((0|_[F+(44*y|0)+16>>2])-e|0)/104|0,e=0;;){m=0|_[w+(r<<2)>>2],r=0|_[o+((3==(0|(h=e+1|0))?0:h)<<2)>>2];t:do{if((0|_[w+(r<<2)>>2])!=(0|m)){A=0|_[(0|_[t+1120>>2])+(m<<2)>>2],a=(0|_[B>>2])+(104*r|0)|0,s=0|_[A+24>>2];e:do{if((0|s)>0){for(c=0|_[A+32>>2],r=0;(0|_[c+(r<<2)>>2])!=(0|a);)if((0|(r=r+1|0))>=(0|s))break e;if((0|r)!=(0|s))break t}}while(0);if((0|s)==(0|_[A+28>>2])&&(0|s)<(0|(P=0|s?s<<1:1))){if(P?(_[6630]=1+(0|_[6630]),(r=0|di(16+(P<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[A+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[A+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[A+32>>2])&&(0|n[A+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[A+24>>2]),_[A+32>>2]=0),n[A+36|0]=1,_[A+32>>2]=r,_[A+28>>2]=P,r=s}else r=s;_[(0|_[A+32>>2])+(r<<2)>>2]=a,_[A+24>>2]=r+1}}while(0);r=0|_[o+(((e+2|0)>>>0)%3<<2)>>2];t:do{if((0|_[w+(r<<2)>>2])!=(0|m)){A=0|_[(0|_[t+1120>>2])+(m<<2)>>2],a=(0|_[B>>2])+(104*r|0)|0,s=0|_[A+24>>2];e:do{if((0|s)>0){for(c=0|_[A+32>>2],r=0;(0|_[c+(r<<2)>>2])!=(0|a);)if((0|(r=r+1|0))>=(0|s))break e;if((0|r)!=(0|s))break t}}while(0);if((0|s)==(0|_[A+28>>2])&&(0|s)<(0|(T=0|s?s<<1:1))){if(T?(_[6630]=1+(0|_[6630]),(r=0|di(16+(T<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[A+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[A+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[A+32>>2])&&(0|n[A+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[A+24>>2]),_[A+32>>2]=0),n[A+36|0]=1,_[A+32>>2]=r,_[A+28>>2]=T,r=s}else r=s;_[(0|_[A+32>>2])+(r<<2)>>2]=a,_[A+24>>2]=r+1}}while(0);if(h>>>0>=3)break;e=h,r=0|_[o+(h<<2)>>2]}y=y+1|0}while((0|y)<(0|_[t+752>>2]));r=0|_[t+1112>>2]}if((0|r)>1){if(_[6630]=1+(0|_[6630]),(r=0|di(403))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,n[r+16|0]=1,_[r+12>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,n[0|(m=r+36|0)]=1,_[(h=r+32|0)>>2]=0,_[(y=r+24|0)>>2]=0,_[(C=r+28|0)>>2]=0,n[r+56|0]=1,_[r+52>>2]=0,_[r+44>>2]=0,_[r+48>>2]=0,_[(v=r+348|0)>>2]=0,_[v+4>>2]=0,_[v+8>>2]=0,_[v+12>>2]=0,_[v+16>>2]=0,p[r+368>>2]=100,p[r+372>>2]=.009999999776482582,n[r+376|0]=0,v=r,n[r+377|0]=0,(0|(a=0|_[t+712>>2]))>0){if(_[6630]=1+(0|_[6630]),(r=0|di(16+(a<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,c=r+4+15&-16):c=0,(0|(s=0|_[y>>2]))>0){r=0;do{_[c+(r<<2)>>2]=_[(0|_[h>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s))}if(0|(r=0|_[h>>2])&&(0|n[0|m]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[h>>2]=0),n[0|m]=1,_[h>>2]=c,_[C>>2]=a,(0|(r=0|_[t+712>>2]))>0)for(e=0,c=0|_[y>>2],s=a;;){A=(0|_[B>>2])+(104*e|0)|0;do{if((0|c)==(0|s)){if((0|s)>=(0|(a=0|s?s<<1:1))){a=s;break}if(a?(_[6630]=1+(0|_[6630]),(r=0|di(16+(a<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[y>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[h>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[h>>2])&&(0|n[0|m]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[y>>2]),_[h>>2]=0),n[0|m]=1,_[h>>2]=r,_[C>>2]=a,r=0|_[t+712>>2]}else a=s,s=c}while(0);if(_[(0|_[h>>2])+(s<<2)>>2]=A,c=s+1|0,_[y>>2]=c,(0|(e=e+1|0))>=(0|r))break;s=a}}if((0|(r=0|_[t+1112>>2]))==(0|_[t+1116>>2])&&(0|r)<(0|(M=0|r?r<<1:1))){if(M?(_[6630]=1+(0|_[6630]),(r=0|di(16+(M<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,c=r,r=0|_[t+1112>>2]):c=0,(0|r)>0){s=0;do{_[c+(s<<2)>>2]=_[(0|_[t+1120>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r))}(s=0|_[t+1120>>2])&&(0|n[t+1124|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),r=0|_[t+1112>>2]),_[t+1120>>2]=0),n[t+1124|0]=1,_[t+1120>>2]=c,_[t+1116>>2]=M}_[(0|_[t+1120>>2])+(r<<2)>>2]=v,M=r+1|0,_[t+1112>>2]=M,r=(T=0|_[t+1120>>2])+(r<<2)|0,P=0|_[T>>2],_[T>>2]=_[r>>2],_[r>>2]=P,r=M}if((0|r)>0){s=0;do{e=0|_[(0|_[t+1120>>2])+(s<<2)>>2];t:do{if(!(0|_[e+24>>2])&&(s=s+-1|0,0|(r=0|_[e+348>>2])&&(Tt(t+1048|0,r),0|(c=0|_[t+1052>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[t+1052>>2]=r,_[t+1060>>2]=(0|_[t+1060>>2])-1),0|(r=0|_[e+52>>2])&&(0|n[e+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[e+52>>2]=0),n[e+56|0]=1,_[e+52>>2]=0,_[e+44>>2]=0,_[e+48>>2]=0,0|(r=0|_[e+32>>2])&&(0|n[e+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[e+32>>2]=0),n[e+36|0]=1,_[e+32>>2]=0,_[e+24>>2]=0,_[e+28>>2]=0,0|(r=0|_[e+12>>2])&&(0|n[e+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[e+12>>2]=0),n[e+16|0]=1,_[e+12>>2]=0,_[e+4>>2]=0,_[e+8>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),(0|(r=0|_[t+1112>>2]))>0)){for(A=0|_[t+1120>>2],c=0;(0|_[(a=A+(c<<2)|0)>>2])!=(0|e);)if((0|(c=c+1|0))>=(0|r))break t;if((0|c)>=(0|r))break;_[a>>2]=_[A+(r+-1<<2)>>2],_[(0|_[t+1120>>2])+(r+-1<<2)>>2]=e,_[t+1112>>2]=r+-1,r=r+-1|0}}while(0);s=s+1|0}while((0|s)<(0|r))}!(0|w)|!(0|S)||(_[6631]=1+(0|_[6631]),Ni(0|_[S+-4>>2])),!(0|O)|!(0|x)||(_[6631]=1+(0|_[6631]),Ni(0|_[x+-4>>2]))}else V=244}else V=244;t:do{if(244==(0|V)){if(!(A=0|_[t+772>>2])){if((0|r)<(0|(A=0|_[t+752>>2]))){if((0|_[t+1116>>2])<(0|A)){if(A)if(_[6630]=1+(0|_[6630]),(s=0|di(16+(A<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,(0|(a=0|_[t+1112>>2]))>0){c=0;do{_[s+(c<<2)>>2]=_[(0|_[t+1120>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|a));a=t+1120|0}else a=t+1120|0;else s=0,a=t+1120|0;0|(c=0|_[a>>2])&&(0|n[t+1124|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[a>>2]=0),n[t+1124|0]=1,_[a>>2]=s,_[t+1116>>2]=A}do{_[(0|_[t+1120>>2])+(r<<2)>>2]=0,r=r+1|0}while((0|r)!=(0|A))}if(_[t+1112>>2]=A,(0|A)>0){s=0;do{_[6630]=1+(0|_[6630]),(r=0|di(403))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,n[r+16|0]=1,_[r+12>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,n[r+36|0]=1,_[r+32>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,n[r+56|0]=1,_[r+52>>2]=0,_[r+44>>2]=0,_[r+48>>2]=0,_[(V=r+348|0)>>2]=0,_[V+4>>2]=0,_[V+8>>2]=0,_[V+12>>2]=0,_[V+16>>2]=0,p[r+368>>2]=100,p[r+372>>2]=.009999999776482582,n[r+376|0]=0,_[(0|_[t+1120>>2])+(s<<2)>>2]=r,n[377+(0|_[(0|_[t+1120>>2])+(s<<2)>>2])|0]=1,s=s+1|0}while((0|s)<(0|_[t+1112>>2]))}if((0|_[t+752>>2])<=0)break;for(e=0;;){if(a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+760>>2])+(44*e|0)+8|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(m=0|s?s<<1:1))){if(m?(_[6630]=1+(0|_[6630]),(r=0|di(16+(m<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=m,r=s}else r=s;if(_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+760>>2])+(44*e|0)+12|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(y=0|s?s<<1:1))){if(y?(_[6630]=1+(0|_[6630]),(r=0|di(16+(y<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=y,r=s}else r=s;if(_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+760>>2])+(44*e|0)+16|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(C=0|s?s<<1:1))){if(C?(_[6630]=1+(0|_[6630]),(r=0|di(16+(C<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=C,r=s}else r=s;if(_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,(0|(e=e+1|0))>=(0|_[t+752>>2]))break t}}if((0|r)<(0|A)){if((0|_[t+1116>>2])<(0|A)){if(_[6630]=1+(0|_[6630]),(s=0|di(16+(A<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,a=s+4+15&-16):a=0,(0|(c=0|_[t+1112>>2]))>0){s=0;do{_[a+(s<<2)>>2]=_[(0|_[t+1120>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|c))}0|(s=0|_[t+1120>>2])&&(0|n[t+1124|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+1120>>2]=0),n[t+1124|0]=1,_[t+1120>>2]=a,_[t+1116>>2]=A,s=t+1120|0}else s=t+1120|0;do{_[(0|_[s>>2])+(r<<2)>>2]=0,r=r+1|0}while((0|r)!=(0|A))}if(_[t+1112>>2]=A,(0|A)>0){s=0;do{_[6630]=1+(0|_[6630]),(r=0|di(403))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,n[r+16|0]=1,_[r+12>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,n[r+36|0]=1,_[r+32>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,n[r+56|0]=1,_[r+52>>2]=0,_[r+44>>2]=0,_[r+48>>2]=0,_[(V=r+348|0)>>2]=0,_[V+4>>2]=0,_[V+8>>2]=0,_[V+12>>2]=0,_[V+16>>2]=0,p[r+368>>2]=100,p[r+372>>2]=.009999999776482582,n[r+376|0]=0,_[(0|_[t+1120>>2])+(s<<2)>>2]=r,n[377+(0|_[(0|_[t+1120>>2])+(s<<2)>>2])|0]=1,s=s+1|0}while((0|s)<(0|_[t+1112>>2]))}if((0|_[t+772>>2])>0){e=0;do{if(a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+780>>2])+(104*e|0)+8|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(B=0|s?s<<1:1))){if(B?(_[6630]=1+(0|_[6630]),(r=0|di(16+(B<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=B,r=s}else r=s;if(_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+780>>2])+(104*e|0)+12|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(v=0|s?s<<1:1))){if(v?(_[6630]=1+(0|_[6630]),(r=0|di(16+(v<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=v,r=s}else r=s;if(_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+780>>2])+(104*e|0)+16|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(S=0|s?s<<1:1))){if(S?(_[6630]=1+(0|_[6630]),(r=0|di(16+(S<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=S,r=s}else r=s;if(_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+780>>2])+(104*e|0)+20|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(w=0|s?s<<1:1))){if(w?(_[6630]=1+(0|_[6630]),(r=0|di(16+(w<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=w,r=s}else r=s;_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,e=e+1|0}while((0|e)<(0|_[t+772>>2]))}}}while(0);if(!(r=0|_[t+1112>>2]))return Q=o,0|(t=0);if((0|r)>0){h=0;do{if(y=0|_[(0|_[t+1120>>2])+(h<<2)>>2],p[y+128>>2]=0,(0|(e=0|_[y+24>>2]))>(0|(A=0|_[y+4>>2]))){do{if((0|_[y+8>>2])<(0|e)){if(e?(_[6630]=1+(0|_[6630]),(r=0|di(16+(e<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,c=0|_[y+4>>2]):(r=0,c=A),a=0|_[y+12>>2],(0|c)<=0){if(!a){n[y+16|0]=1,_[y+12>>2]=r,_[y+8>>2]=e;break}}else{s=0;do{_[r+(s<<2)>>2]=_[a+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|c))}0|n[y+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),n[y+16|0]=1,_[y+12>>2]=r,_[y+8>>2]=e}else r=0|_[y+12>>2]}while(0);wn(r+(A<<2)|0,0,e-A<<2),m=0|_[y+24>>2]}else m=e;if(_[y+4>>2]=e,A=(0|m)>0){s=0|_[y+32>>2],c=0|_[y+12>>2],r=0;do{0==(l=+p[88+(0|_[s+(r<<2)>>2])>>2])?(n[y+376|0]=1,l=0xde0b6b000000000):l=1/l,p[c+(r<<2)>>2]=l,b=l+ +p[y+128>>2],p[y+128>>2]=b,r=r+1|0}while((0|r)!=(0|m));p[y+128>>2]=1/b,r=0,l=0,f=0,u=0;do{V=0|_[s+(r<<2)>>2],I=+p[c+(r<<2)>>2],l+=+p[V+8>>2]*I,f+=I*+p[V+12>>2],u+=I*+p[V+16>>2],r=r+1|0}while((0|r)!=(0|m));b=1/b}else b=1/+p[y+128>>2],p[y+128>>2]=b,u=0,f=0,l=0;I=b*l,D=b*f,j=b*u,p[y+228>>2]=I,p[y+232>>2]=D,p[y+236>>2]=j,p[y+240>>2]=0,s=36+(r=y+316|0)|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|s));s=48+(r=y+132|0)|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|s));if(A){s=0|_[y+32>>2],c=0|_[y+12>>2],r=0,l=0,b=0,f=0,u=0,k=0,R=0;do{V=0|_[s+(r<<2)>>2],E=+p[V+8>>2]-I,N=+p[V+12>>2]-D,L=+p[V+16>>2]-j,l+=(G=+p[c+(r<<2)>>2])*(N*N+L*L),p[y+132>>2]=l,b=G*(E*E+L*L)+b,p[y+152>>2]=b,f=(E*E+N*N)*G+f,p[y+172>>2]=f,u-=N*(E*G),p[y+136>>2]=u,k-=L*(E*G),p[y+140>>2]=k,R-=L*(N*G),p[y+156>>2]=R,r=r+1|0}while((0|r)!=(0|m));r=y+136|0,s=y+140|0,c=y+156|0,a=y+152|0}else r=y+136|0,s=y+140|0,c=y+156|0,a=y+152|0,R=0,k=0,u=0,f=0,b=0,l=0;if(L=(u*k-R*l)*(E=1/((I=b*f-R*R)*l+u*(G=R*k-f*u)+(N=R*u-b*k)*k)),p[y+132>>2]=I*E,p[r>>2]=G*E,p[s>>2]=N*E,p[y+144>>2]=0,p[y+148>>2]=G*E,p[a>>2]=(f*l-k*k)*E,p[c>>2]=L,p[y+160>>2]=0,p[y+164>>2]=N*E,p[y+168>>2]=L,p[y+172>>2]=(b*l-u*u)*E,p[y+176>>2]=0,_[y+60>>2]=1065353216,_[y+64>>2]=0,_[y+64+4>>2]=0,_[y+64+8>>2]=0,_[y+64+12>>2]=0,_[y+80>>2]=1065353216,_[y+84>>2]=0,_[y+84+4>>2]=0,_[y+84+8>>2]=0,_[y+84+12>>2]=0,_[y+100>>2]=1065353216,_[y+104>>2]=0,_[y+108>>2]=_[y+228>>2],_[y+108+4>>2]=_[y+228+4>>2],_[y+108+8>>2]=_[y+228+8>>2],_[y+108+12>>2]=_[y+228+12>>2],(0|(a=0|_[y+44>>2]))<(0|m)){if((0|_[y+48>>2])<(0|m)){if(m?(_[6630]=1+(0|_[6630]),(r=0|di(16+(m<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,c=0|_[y+44>>2]):(r=0,c=a),(0|c)>0){s=0;do{V=r+(s<<4)|0,M=(0|_[y+52>>2])+(s<<4)|0,_[V>>2]=_[M>>2],_[V+4>>2]=_[M+4>>2],_[V+8>>2]=_[M+8>>2],_[V+12>>2]=_[M+12>>2],s=s+1|0}while((0|s)!=(0|c))}0|(s=0|_[y+52>>2])&&(0|n[y+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[y+52>>2]=0),n[y+56|0]=1,_[y+52>>2]=r,_[y+48>>2]=m,s=y+52|0}else s=y+52|0;r=a;do{V=(0|_[s>>2])+(r<<4)|0,_[V>>2]=_[o>>2],_[V+4>>2]=_[o+4>>2],_[V+8>>2]=_[o+8>>2],_[V+12>>2]=_[o+12>>2],r=r+1|0}while((0|r)!=(0|m))}if(_[y+44>>2]=m,A){r=0;do{M=0|_[(0|_[y+32>>2])+(r<<2)>>2],L=+p[M+12>>2]-+p[y+232>>2],E=+p[M+16>>2]-+p[y+236>>2],V=0|_[y+52>>2],p[V+(r<<4)>>2]=+p[M+8>>2]-+p[y+228>>2],p[V+(r<<4)+4>>2]=L,p[V+(r<<4)+8>>2]=E,p[V+(r<<4)+12>>2]=0,r=r+1|0}while((0|r)<(0|_[y+44>>2]))}h=h+1|0}while((0|h)<(0|_[t+1112>>2]))}if(Ri(t),r=0|_[t+1112>>2],(0|(e=0|g(r,r)))>(0|(A=0|_[t+1132>>2]))){do{if((0|_[t+1136>>2])<(0|e)){if(e?(_[6630]=1+(0|_[6630]),(r=0|di(e+19|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,c=0|_[t+1132>>2]):(r=0,c=A),a=0|_[t+1140>>2],(0|c)<=0){if(!a){n[t+1144|0]=1,_[t+1140>>2]=r,_[t+1136>>2]=e;break}}else{s=0;do{n[r+s|0]=0|n[a+s|0],s=s+1|0}while((0|s)!=(0|c))}0|n[t+1144|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),n[t+1144|0]=1,_[t+1140>>2]=r,_[t+1136>>2]=e}else r=0|_[t+1140>>2]}while(0);wn(r+A|0,0,e-A|0),r=0|_[t+1112>>2]}if(_[t+1132>>2]=e,(0|r)<=0)return Q=o,0|(t=r);w=0|_[t+1120>>2],C=0|_[t+1140>>2],y=0;do{v=0|_[w+(y<<2)>>2],_[v+380>>2]=y,S=0|_[v+24>>2],h=0;do{for(m=0|_[w+(h<<2)>>2],e=0;;){if((0|e)>=(0|S)){s=0;break}c=0|_[m+24>>2];t:do{if((0|c)>0)for(a=0|_[(0|_[v+32>>2])+(e<<2)>>2],A=0|_[m+32>>2],s=0;;){if((0|a)==(0|_[A+(s<<2)>>2])){s=1;break t}if((0|(s=s+1|0))>=(0|c)){s=0;break}}else s=0}while(0);if(s){s=1;break}e=e+1|0}t=C+((0|g(h,r))+y)|0,n[0|t]=s,h=h+1|0}while((0|h)!=(0|r));y=y+1|0}while((0|y)!=(0|r));return Q=o,0|r}function Rl(t,e,i){t|=0,i|=0;var o,r=0,s=0,c=0,a=0,l=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0;if(o=Q,Q=Q+96|0,(0|(c=(r=0|_[4+(e|=0)>>2])>>>0>8?r:8))>0){_[6630]=1+(0|_[6630]),(r=0|di(16+(c<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,s=r+4+15&-16):s=0,r=0;do{_[(q=s+(r<<4)|0)>>2]=_[o>>2],_[q+4>>2]=_[o+4>>2],_[q+8>>2]=_[o+8>>2],_[q+12>>2]=_[o+12>>2],r=r+1|0}while((0|r)!=(0|c));q=s,K=s,r=0|_[e+4>>2]}else q=0,K=0;a=0|_[e+8>>2],j=0|_[e+12>>2],W=+p[e+16>>2];do{if(r){for((0|(c=0|_[t+24>>2]))<0&&(s=0|_[t+32>>2],(0|_[t+28>>2])<0&&(0|s&&0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),n[t+36|0]=1,_[t+32>>2]=0,_[t+28>>2]=0,s=0),wn(s+(c<<2)|0,0,0|g(c,-4))),_[t+24>>2]=0,s=a,c=0,m=34028234663852886e22,A=-34028234663852886e22,y=34028234663852886e22,f=-34028234663852886e22,v=34028234663852886e22,u=-34028234663852886e22;m=(H=+p[s>>2])A?H:A,y=(H=+p[s+4>>2])f?H:f,v=(H=+p[s+8>>2])u?H:u,(0|(c=c+1|0))!=(0|r);)s=s+j|0;B=m+.5*(E=A-m),D=y+.5*(H=f-y),R=v+.5*(u-=v);do{if(r>>>0<3|E<9.999999974752427e-7|H<9.999999974752427e-7|u<9.999999974752427e-7)34028234663852886e22!=(m=u>9.999999974752427e-7&u<(m=H>9.999999974752427e-7&H<(m=E>9.999999974752427e-7&E<34028234663852886e22?E:34028234663852886e22)?H:m)?u:m)?(f=E<9.999999974752427e-7?.05000000074505806*m:E,A=H<9.999999974752427e-7?.05000000074505806*m:H,u<9.999999974752427e-7&&(u=.05000000074505806*m)):(u=.009999999776482582,f=.009999999776482582,A=.009999999776482582),H=B-f,E=B+f,P=D-A,f=D+A,A=R-u,m=R+u,p[q>>2]=H,p[q+4>>2]=P,p[q+8>>2]=A,p[q+16>>2]=E,p[q+20>>2]=P,p[q+24>>2]=A,p[q+32>>2]=E,p[q+36>>2]=f,p[q+40>>2]=A,p[q+48>>2]=H,p[q+52>>2]=f,p[q+56>>2]=A,p[q+64>>2]=H,p[q+68>>2]=P,p[q+72>>2]=m,p[q+80>>2]=E,p[q+84>>2]=P,p[q+88>>2]=m,p[q+96>>2]=E,p[q+100>>2]=f,p[q+104>>2]=m,p[q+112>>2]=H,p[q+116>>2]=f,p[q+120>>2]=m,m=1,f=1,A=1,J=8,z=57;else{for(C=0,w=0,S=a,c=0;;){if(y=1/E*+p[S>>2],v=1/H*+p[S+4>>2],k=1/u*+p[S+8>>2],S=S+j|0,C){s=0;do{if(A=+p[(a=q+(s<<4)|0)>>2],f=+p[(l=q+(s<<4)+4|0)>>2],m=+p[(h=q+(s<<4)+8|0)>>2],+d(+(A-y))>>0>>0);28==(0|z)&&(z=0,(y-1/E*B)*(y-1/E*B)+(v-1/H*D)*(v-1/H*D)+(k-1/u*R)*(k-1/u*R)>(A-1/E*B)*(A-1/E*B)+(f-1/H*D)*(f-1/H*D)+(m-1/u*R)*(m-1/u*R)&&(p[a>>2]=y,p[l>>2]=v,p[h>>2]=k)),(0|s)==(0|C)?z=32:(h=s,M=C)}else s=0,z=32;if(32==(0|z)&&(z=0,p[q+(s<<4)>>2]=y,p[q+(s<<4)+4>>2]=v,p[q+(s<<4)+8>>2]=k,h=s,M=s+1|0),(0|c)==(0|_[t+28>>2])&&(0|c)<(0|(I=0|c?c<<1:1))){if(I?(_[6630]=1+(0|_[6630]),(s=0|di(16+(I<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,c=0|_[t+24>>2]):s=0,l=0|_[t+32>>2],(0|c)<=0)l&&(z=43);else{a=0;do{_[s+(a<<2)>>2]=_[l+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|c));z=43}43==(0|z)&&(z=0,0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+32>>2]=0,c=0|_[t+24>>2]),n[t+36|0]=1,_[t+32>>2]=s,_[t+28>>2]=I,s=c}else s=c;if(_[(0|_[t+32>>2])+(s<<2)>>2]=h,c=1+(0|_[t+24>>2])|0,_[t+24>>2]=c,(0|(w=w+1|0))==(0|r))break;C=M}if(S=!(0|M))r=1,k=34028234663852886e22,m=-34028234663852886e22,v=34028234663852886e22,f=-34028234663852886e22,y=34028234663852886e22,A=-34028234663852886e22;else{for(r=0,D=34028234663852886e22,k=34028234663852886e22,B=-34028234663852886e22,m=-34028234663852886e22,F=34028234663852886e22,v=34028234663852886e22,x=-34028234663852886e22,f=-34028234663852886e22,T=34028234663852886e22,y=34028234663852886e22,P=-34028234663852886e22,A=-34028234663852886e22;k=(s=(R=+p[q+(r<<4)>>2])B)?R:m,v=(a=(W=+p[q+(r<<4)+4>>2])x)?W:f,y=(h=(O=+p[q+(r<<4)+8>>2])P)?O:A,(0|(r=r+1|0))!=(0|M);)D=s?R:D,B=c?R:B,F=a?W:F,x=l?W:x,T=h?O:T,P=C?O:P;r=M>>>0<3}if(!(r|(D=m-k)<9.999999974752427e-7|(f-=v)<9.999999974752427e-7|(m=A-y)<9.999999974752427e-7)){if(!S){m=E,f=H,A=u,J=M,z=57;break}break}R=k+.5*D,k=v+.5*f,v=y+.5*m,34028234663852886e22!=(y=m>=9.999999974752427e-7&m<(y=f>=9.999999974752427e-7&f<(y=D>=9.999999974752427e-7&D<34028234663852886e22?D:34028234663852886e22)?f:y)?m:y)?(A=D<9.999999974752427e-7?.05000000074505806*y:D,f=f<9.999999974752427e-7?.05000000074505806*y:f,m<9.999999974752427e-7&&(m=.05000000074505806*y)):(m=.009999999776482582,f=.009999999776482582,A=.009999999776482582),P=R-A,A=R+A,T=k-f,f=k+f,O=v-m,m=v+m,p[q>>2]=P,p[q+4>>2]=T,p[q+8>>2]=O,p[q+16>>2]=A,p[q+20>>2]=T,p[q+24>>2]=O,p[q+32>>2]=A,p[q+36>>2]=f,p[q+40>>2]=O,p[q+48>>2]=P,p[q+52>>2]=f,p[q+56>>2]=O,p[q+64>>2]=P,p[q+68>>2]=T,p[q+72>>2]=m,p[q+80>>2]=A,p[q+84>>2]=T,p[q+88>>2]=m,p[q+96>>2]=A,p[q+100>>2]=f,p[q+104>>2]=m,p[q+112>>2]=P,p[q+116>>2]=f,p[q+120>>2]=m,m=E,f=H,A=u,J=8,z=57}}while(0);if(57==(0|z)){r=0;do{p[(X=q+(r<<4)|0)>>2]=m*+p[X>>2],p[(X=q+(r<<4)+4|0)>>2]=f*+p[X>>2],p[(X=q+(r<<4)+8|0)>>2]=A*+p[X>>2],r=r+1|0}while(r>>>0>>0);if(G=0|_[e+20>>2],(0|J)>=4){for(A=+p[q>>2],m=+p[q+4>>2],f=+p[q+8>>2],X=J<<2,_[6630]=1+(0|_[6630]),(r=0|di(16+(3|X)|0))?(_[(r+4+15&-16)-4>>2]=r,c=r+4+15&-16):c=0,n[o+52+16|0]=1,_[(Z=o+52+12|0)>>2]=0,_[o+52+4>>2]=0,_[(I=o+52+8|0)>>2]=0,_[6630]=1+(0|_[6630]),(s=0|di(16+(3|X)|0))?(_[(s+4+15&-16)-4>>2]=s,(r=0|_[Z>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),n[o+52+16|0]=1,_[Z>>2]=s+4+15&-16,_[I>>2]=J,j=Z):(r=s+4+15&-16,z=63)):(r=0,z=63),63==(0|z)&&(n[o+52+16|0]=1,_[Z>>2]=r,_[I>>2]=J,j=Z),w=0,r=0,R=A,k=f,u=f,h=J,S=c,y=m,v=m,l=c,s=J,C=c;;){if((0|r)==(0|s)&&(0|r)<(0|(V=0|r?r<<1:1))){if(0|V&&(_[6630]=1+(0|_[6630]),0|(U=0|di(16+(V<<2|3)|0)))?(_[(U+4+15&-16)-4>>2]=U,a=U+4+15&-16):a=0,c=0|_[Z>>2],(0|r)<=0)c&&(z=75);else{s=0;do{_[a+(s<<2)>>2]=_[c+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r));z=75}75==(0|z)&&(z=0,_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),_[Z>>2]=0,r=0|_[o+52+4>>2]),_[j>>2]=a,_[I>>2]=V}_[(0|_[Z>>2])+(r<<2)>>2]=1,_[o+52+4>>2]=r+1;do{if((0|w)==(0|h))if((0|w)<(0|(s=(r=!(0|w))?1:w<<1))){if(0|s&&(_[6630]=1+(0|_[6630]),0|(Y=0|di(16+(s<<2|3)|0)))?(_[(Y+4+15&-16)-4>>2]=Y,c=Y+4+15&-16):c=0,r){if(!S){s=1,N=c,L=c;break}}else{r=0;do{_[c+(r<<2)>>2]=_[S+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|w))}C?(_[6631]=1+(0|_[6631]),Ni(0|_[C+-4>>2]),N=c,L=c):(N=c,L=c)}else s=w,N=S,L=l,c=C;else s=h,N=S,L=l,c=C}while(0);if(_[N+(w<<2)>>2]=0,r=w+1|0,m=(E=+p[q+(w<<4)>>2])>2])>2])=(0|J))break;w=r,r=0|_[o+52+4>>2],R=A,A=m,k=f,h=s,S=N,l=L,s=0|_[I>>2],C=c}n[o+52+16|0]=1,F=.0010000000474974513*+b(+((A-m)*(A-m)+(y-v)*(y-v)+(f-u)*(f-u))),_[o>>2]=1008981770,_[o+4>>2]=1017370378,_[o+8>>2]=1065353216,p[o+12>>2]=0,M=0|ei(q,J,o,o+52|0),p[o+72>>2]=-.009999999776482582,p[o+72+4>>2]=-.019999999552965164,p[o+72+8>>2]=-1,p[o+72+12>>2]=0,C=q+((V=0|ei(q,J,o+72|0,o+52|0))<<4)|0,y=+p[(h=q+(M<<4)|0)>>2]-+p[C>>2],w=q+(V<<4)+4|0,v=+p[(S=q+(M<<4)+4|0)>>2]-+p[w>>2],I=q+(V<<4)+8|0,k=+p[(j=q+(M<<4)+8|0)>>2]-+p[I>>2],p[o>>2]=y,p[o+4>>2]=v,p[o+8>>2]=k,p[o+12>>2]=0;t:do{if((0|M)==(0|V)||0==k&0==v&0==y)z=101;else if(A=.019999999552965164*k-0*v,p[o+16>>2]=A,p[o+20>>2]=0*y-k,p[o+24>>2]=v-.019999999552965164*y,p[o+28>>2]=0,p[o+32>>2]=k-0*v,p[o+36>>2]=.019999999552965164*k+0*y,p[o+40>>2]=-.019999999552965164*v-y,p[o+44>>2]=0,(f=+b(+(A*A+(0*y-k)*(0*y-k)+(v-.019999999552965164*y)*(v-.019999999552965164*y))))>+b(+((k-0*v)*(k-0*v)+(.019999999552965164*k+0*y)*(.019999999552965164*k+0*y)+(-.019999999552965164*v-y)*(-.019999999552965164*v-y)))?(p[o+16>>2]=A*(1/f),p[o+20>>2]=1/f*(0*y-k),m=1/f*(v-.019999999552965164*y),u=A*(1/f),A=1/f*(0*y-k)):(_[o+16>>2]=_[o+32>>2],_[o+16+4>>2]=_[o+32+4>>2],_[o+16+8>>2]=_[o+32+8>>2],_[o+16+12>>2]=_[o+32+12>>2],u=+p[o+16>>2],H=+p[o+20>>2],m=+p[o+24>>2],A=1/+b(+(u*u+H*H+m*m)),p[o+16>>2]=u*A,p[o+20>>2]=H*A,m*=A,u*=A,A*=H),p[o+24>>2]=m,(0|(r=0|ei(q,J,o+16|0,o+52|0)))==(0|M)|(0|r)==(0|V)?(p[o+72>>2]=-u,p[o+72+4>>2]=-A,p[o+72+8>>2]=-m,p[o+72+12>>2]=0,l=0|ei(q,J,o+72|0,o+52|0)):l=r,(0|l)==(0|M)|(0|l)==(0|V))z=101;else if(A=+p[(s=q+(l<<4)|0)>>2]-+p[h>>2],f=+p[(c=q+(l<<4)+4|0)>>2]-+p[S>>2],u=+p[(a=q+(l<<4)+8|0)>>2]-+p[j>>2],p[o+16>>2]=A,p[o+20>>2]=f,p[o+24>>2]=u,p[o+28>>2]=0,m=1/+b(+((v*A-f*y)*(v*A-f*y)+((f*k-u*v)*(f*k-u*v)+(u*y-k*A)*(u*y-k*A)))),p[o+32>>2]=(f*k-u*v)*m,p[o+36>>2]=(u*y-k*A)*m,p[o+40>>2]=(v*A-f*y)*m,_[o+44>>2]=0,(0|(r=0|ei(q,J,o+32|0,o+52|0)))==(0|l)|(0|r)==(0|M)|(0|r)==(0|V)&&(p[o+72>>2]=-(f*k-u*v)*m,p[o+72+4>>2]=-(u*y-k*A)*m,p[o+72+8>>2]=-(v*A-f*y)*m,p[o+72+12>>2]=0,r=0|ei(q,J,o+72|0,o+52|0)),(0|r)==(0|l)|(0|r)==(0|M)|(0|r)==(0|V))z=101;else if(B=+p[h>>2],O=+p[S>>2],D=+p[j>>2],E=+p[C>>2]-B,W=+p[w>>2]-O,T=+p[I>>2]-D,P=+p[s>>2]-B,x=+p[c>>2]-O,H=+p[a>>2]-D,s=(Y=(+p[q+(r<<4)+8>>2]-D)*(E*x-W*P)+((+p[q+(r<<4)>>2]-B)*(W*H-T*x)+(+p[q+(r<<4)+4>>2]-O)*(T*P-E*H))<0)?l:r,r=Y?r:l,-1!=(0|M)){if(D=.25*(+p[q+(M<<4)>>2]+ +p[q+(V<<4)>>2]+ +p[q+(r<<4)>>2]+ +p[q+(s<<4)>>2]),B=.25*(+p[q+(M<<4)+4>>2]+ +p[q+(V<<4)+4>>2]+ +p[q+(r<<4)+4>>2]+ +p[q+(s<<4)+4>>2]),W=.25*(+p[q+(M<<4)+8>>2]+ +p[q+(V<<4)+8>>2]+ +p[q+(r<<4)+8>>2]+ +p[q+(s<<4)+8>>2]),Y=0|Kt(t,r,s,V),_[Y+12>>2]=2,_[Y+16>>2]=3,_[Y+20>>2]=1,Y=0|Kt(t,s,r,M),_[Y+12>>2]=3,_[Y+16>>2]=2,_[Y+20>>2]=0,Y=0|Kt(t,M,V,s),_[Y+12>>2]=0,_[Y+16>>2]=1,_[Y+20>>2]=3,Y=0|Kt(t,V,M,r),_[Y+12>>2]=1,_[Y+16>>2]=0,_[Y+20>>2]=2,_[N+(s<<2)>>2]=1,_[N+(r<<2)>>2]=1,_[N+(V<<2)>>2]=1,_[N+(M<<2)>>2]=1,(0|(r=0|_[t+4>>2]))>0){s=0;do{r=0|_[(0|_[t+12>>2])+(s<<2)>>2],U=0|_[r>>2],V=0|_[r+4>>2],Y=0|_[r+8>>2],u=(y=+p[q+(V<<4)>>2])-+p[q+(U<<4)>>2],m=(v=+p[q+(V<<4)+4>>2])-+p[q+(U<<4)+4>>2],A=(f=+p[q+(V<<4)+8>>2])-+p[q+(U<<4)+8>>2],y=+p[q+(Y<<4)>>2]-y,v=+p[q+(Y<<4)+4>>2]-v,f=+p[q+(Y<<4)+8>>2]-f,0==(k=+b(+((u*v-m*y)*(u*v-m*y)+((m*f-A*v)*(m*f-A*v)+(A*y-u*f)*(A*y-u*f)))))?(_[o>>2]=1065353216,_[o+4>>2]=0,_[o+8>>2]=0,R=1,f=0,A=0):(p[o>>2]=1/k*(m*f-A*v),p[o+4>>2]=1/k*(A*y-u*f),p[o+8>>2]=1/k*(u*v-m*y),R=1/k*(m*f-A*v),f=1/k*(A*y-u*f),A=1/k*(u*v-m*y)),p[o+12>>2]=0,U=0|ei(q,J,o,o+52|0),_[r+28>>2]=U,Y=0|_[r>>2],p[r+32>>2]=(+p[q+(U<<4)>>2]-+p[q+(Y<<4)>>2])*R+(+p[q+(U<<4)+4>>2]-+p[q+(Y<<4)+4>>2])*f+(+p[q+(U<<4)+8>>2]-+p[q+(Y<<4)+8>>2])*A,s=s+1|0,r=0|_[t+4>>2]}while((0|s)<(0|r))}if((0|(s=0|G?G+-4|0:999999996))>0)for(;;){C=0|_[t+12>>2],l=0,c=0;do{a=0|_[C+(l<<2)>>2];do{if(c){if(!a)break;+p[c+32>>2]<+p[a+32>>2]&&(z=115)}else z=115}while(0);115==(0|z)&&(z=0,c=a),l=l+1|0}while((0|l)<(0|r));if(!(0|c&&+p[c+32>>2]>F)){r=1;break t}S=0|_[c+28>>2],_[N+(S<<2)>>2]=1,r=0|_[t+4>>2];e:do{if(0|r){for(a=q+(S<<4)|0,l=q+(S<<4)+4|0,h=q+(S<<4)+8|0,c=C;;){c=0|_[c+((r=r+-1|0)<<2)>>2];do{if(0|c){if(U=0|_[c>>2],G=0|_[c+4>>2],Y=0|_[c+8>>2],T=+p[q+(G<<4)>>2],P=+p[q+(U<<4)>>2],y=+p[q+(G<<4)+4>>2],k=+p[q+(U<<4)+4>>2],R=+p[q+(G<<4)+8>>2],x=+p[q+(U<<4)+8>>2],O=+p[q+(Y<<4)>>2]-T,v=+p[q+(Y<<4)+4>>2]-y,E=+p[q+(Y<<4)+8>>2]-R,H=+b(+(((T-P)*v-(y-k)*O)*((T-P)*v-(y-k)*O)+(((y-k)*E-(R-x)*v)*((y-k)*E-(R-x)*v)+((R-x)*O-(T-P)*E)*((R-x)*O-(T-P)*E)))),!((+p[h>>2]-x)*(0==H?0:1/H*((T-P)*v-(y-k)*O))+((+p[a>>2]-P)*(0==H?1:1/H*((y-k)*E-(R-x)*v))+(+p[l>>2]-k)*(0==H?0:1/H*((R-x)*O-(T-P)*E)))>.009999999776482582*F))break;Ve(t,c,S)}}while(0);if(!r)break;c=0|_[t+12>>2]}if(!(r=0|_[t+4>>2]))break;c=r;i:do{c=c+-1|0,l=0|_[t+12>>2],h=0|_[l+(c<<2)>>2];do{if(h){C=0|_[h>>2];do{if((0|C)!=(0|S)){if((0|(a=0|_[h+4>>2]))==(0|S)){a=S;break}if((0|_[h+8>>2])!=(0|S))break i}else a=0|_[h+4>>2]}while(0);if(Y=0|_[h+8>>2],T=+p[q+(a<<4)>>2],P=+p[q+(C<<4)>>2],y=+p[q+(a<<4)+4>>2],k=+p[q+(C<<4)+4>>2],R=+p[q+(a<<4)+8>>2],x=+p[q+(C<<4)+8>>2],O=+p[q+(Y<<4)>>2]-T,v=+p[q+(Y<<4)+4>>2]-y,E=+p[q+(Y<<4)+8>>2]-R,!((H=+b(+(((T-P)*v-(y-k)*O)*((T-P)*v-(y-k)*O)+(((y-k)*E-(R-x)*v)*((y-k)*E-(R-x)*v)+((R-x)*O-(T-P)*E)*((R-x)*O-(T-P)*E))))).009999999776482582*F))break;Ve(t,0|_[l+(_[h+12>>2]<<2)>>2],S),c=r=0|_[t+4>>2]}}while(0)}while(0|c);if(!r)break;do{if(r=r+-1|0,0|(a=0|_[(0|_[t+12>>2])+(r<<2)>>2])){if((0|_[a+28>>2])>-1)break e;U=0|_[a>>2],G=0|_[a+4>>2],Y=0|_[a+8>>2],u=(y=+p[q+(G<<4)>>2])-+p[q+(U<<4)>>2],m=(v=+p[q+(G<<4)+4>>2])-+p[q+(U<<4)+4>>2],A=(f=+p[q+(G<<4)+8>>2])-+p[q+(U<<4)+8>>2],y=+p[q+(Y<<4)>>2]-y,v=+p[q+(Y<<4)+4>>2]-v,f=+p[q+(Y<<4)+8>>2]-f,0==(k=+b(+((u*v-m*y)*(u*v-m*y)+((m*f-A*v)*(m*f-A*v)+(A*y-u*f)*(A*y-u*f)))))?(_[o>>2]=1065353216,_[o+4>>2]=0,_[o+8>>2]=0,R=1,f=0,A=0):(p[o>>2]=1/k*(m*f-A*v),p[o+4>>2]=1/k*(A*y-u*f),p[o+8>>2]=1/k*(u*v-m*y),R=1/k*(m*f-A*v),f=1/k*(A*y-u*f),A=1/k*(u*v-m*y)),p[o+12>>2]=0,c=0|ei(q,J,o,o+52|0),_[a+28>>2]=c,0|_[N+(c<<2)>>2]?_[a+28>>2]=-1:(Y=0|_[a>>2],p[a+32>>2]=(+p[q+(c<<4)>>2]-+p[q+(Y<<4)>>2])*R+(+p[q+(c<<4)+4>>2]-+p[q+(Y<<4)+4>>2])*f+(+p[q+(c<<4)+8>>2]-+p[q+(Y<<4)+8>>2])*A)}}while(0|r)}}while(0);if((0|s)<=1){r=1;break t}s=s+-1|0,r=0|_[t+4>>2]}else r=1}else r=0}while(0);if(101==(0|z)&&(r=0),0|(s=0|_[Z>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),_[Z>>2]=0),!(0|N)|!(0|L)||(_[6631]=1+(0|_[6631]),Ni(0|_[L+-4>>2])),r){if((0|(s=0|_[t+4>>2]))>0){for(I=0,C=0,a=0,h=0,w=0,c=0;;){if(l=0|_[(0|_[t+12>>2])+(I<<2)>>2]){do{if((0|h)==(0|C)){if((0|C)>=(0|(s=0|C?C<<1:1))){s=C;break}do{if(s){if(_[6630]=1+(0|_[6630]),!(r=0|di(16+(s<<2|3)|0))){c=0;break}_[(r+4+15&-16)-4>>2]=r,c=r+4+15&-16}else c=0}while(0);if((0|C)>0){r=0;do{_[c+(r<<2)>>2]=_[a+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|C));if(!w){a=c,w=c;break}}else if(!(0|a)|!(0|w)){a=c,w=c;break}_[6631]=1+(0|_[6631]),Ni(0|_[w+-4>>2]),a=c,w=c}else s=C}while(0);_[a+(h<<2)>>2]=_[l>>2],C=h+1|0,S=4+(0|_[(0|_[t+12>>2])+(I<<2)>>2])|0;do{if((0|C)==(0|s)){if((0|s)>=(0|(l=0|s?s<<1:1))){j=w;break}do{if(l){if(_[6630]=1+(0|_[6630]),!(r=0|di(16+(l<<2|3)|0))){c=0;break}_[(r+4+15&-16)-4>>2]=r,c=r+4+15&-16}else c=0}while(0);if((0|s)>0){r=0;do{_[c+(r<<2)>>2]=_[a+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s));if(!w){s=l,a=c,j=c;break}}else if(!(0|a)|!(0|w)){s=l,a=c,j=c;break}_[6631]=1+(0|_[6631]),Ni(0|_[w+-4>>2]),s=l,a=c,j=c}else j=w}while(0);_[a+(C<<2)>>2]=_[S>>2],S=h+2|0,w=8+(0|_[(0|_[t+12>>2])+(I<<2)>>2])|0;do{if((0|S)==(0|s)){if((0|s)>=(0|(l=0|s?s<<1:1))){l=j;break}do{if(l){if(_[6630]=1+(0|_[6630]),!(r=0|di(16+(l<<2|3)|0))){C=0;break}_[(r+4+15&-16)-4>>2]=r,C=r+4+15&-16}else C=0}while(0);if((0|s)>0){r=0;do{_[C+(r<<2)>>2]=_[a+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s));if(!j){s=l,a=C,c=C,l=C;break}}else if(!(0|a)|!(0|j)){s=l,a=C,c=C,l=C;break}_[6631]=1+(0|_[6631]),Ni(0|_[j+-4>>2]),s=l,a=C,c=C,l=C}else l=j}while(0);_[a+(S<<2)>>2]=_[w>>2],Y=0|_[t+12>>2],r=0|_[Y+(I<<2)>>2],_[Y+(_[r+24>>2]<<2)>>2]=0,0|r&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),C=s,h=h+3|0,s=0|_[t+4>>2],r=l}else r=w;if((0|(I=I+1|0))>=(0|s))break;w=r}if(_[o+48>>2]=(0|h)/3|0,(0|h)>0){_[6630]=1+(0|_[6630]),(r=0|di(16+(h<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,s=r+4+15&-16):s=0,wn(0|s,0,h<<2),r=0;do{_[s+(r<<2)>>2]=_[a+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|h));l=s,r=s}else l=0,r=0;C=c,L=h,s=0|_[t+4>>2],M=l}else _[o+48>>2]=0,C=0,a=0,r=0,L=0,M=0;if((0|s)<0){(0|_[t+8>>2])<0&&(0|(c=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=0,_[t+8>>2]=0);do{_[(0|_[t+12>>2])+(s<<2)>>2]=0,s=s+1|0}while(0|s)}if(_[t+4>>2]=0,!(0|a)|!(0|C)||(_[6631]=1+(0|_[6631]),Ni(0|_[C+-4>>2])),N=0|_[o+48>>2],l=(0|J)>0){_[6630]=1+(0|_[6630]),(s=0|di(16+(J<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,c=s+4+15&-16):c=0,s=0;do{_[(Y=c+(s<<4)|0)>>2]=_[o>>2],_[Y+4>>2]=_[o+4>>2],_[Y+8>>2]=_[o+8>>2],_[Y+12>>2]=_[o+12>>2],s=s+1|0}while((0|s)!=(0|J));G=c,V=c}else G=0,V=0;c=0|_[t+24>>2];do{if((0|c)>0){if(_[6630]=1+(0|_[6630]),(s=0|di(16+(c<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,a=s+4+15&-16):a=0,wn(0|a,0,c<<2),(0|_[t+24>>2])<=0){I=a,j=a;break}c=0|_[t+32>>2],s=0;do{_[a+(s<<2)>>2]=_[c+(s<<2)>>2],s=s+1|0}while((0|s)<(0|_[t+24>>2]));I=a,j=a}else I=0,j=0}while(0);if(l?(_[6630]=1+(0|_[6630]),(s=0|di(16+(3|X)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,wn(0|s,0,0|X),S=s,w=s):(S=0,w=0),wn(0|w,0,0|X),(0|N)<=0)S?(s=0,z=241):C=0;else{C=0,s=0;do{if(l=0|_[(c=r+(C<<2)|0)>>2],a=0|_[(h=S+(l<<2)|0)>>2])_[c>>2]=a+-1;else{if(_[c>>2]=s,_[G+(s<<4)>>2]=_[K+(l<<4)>>2],_[G+(s<<4)+4>>2]=_[K+(l<<4)+4>>2],_[G+(s<<4)+8>>2]=_[K+(l<<4)+8>>2],(0|(c=0|_[t+24>>2]))>0){a=0;do{(0|_[I+(a<<2)>>2])==(0|l)&&(_[(0|_[t+32>>2])+(a<<2)>>2]=s,c=0|_[t+24>>2]),a=a+1|0}while((0|a)<(0|c))}s=s+1|0,_[h>>2]=s}C=C+1|0}while((0|C)!=(3*N|0));z=241}do{if(241==(0|z)){if(!w){C=s;break}_[6631]=1+(0|_[6631]),Ni(0|_[w+-4>>2]),C=s}}while(0);!(0|I)|!(0|j)||(_[6631]=1+(0|_[6631]),Ni(0|_[j+-4>>2]));do{if(1&_[e>>2]){if(n[0|i]=0,_[i+4>>2]=C,(0|(l=0|_[i+12>>2]))<(0|C)){if((0|_[i+16>>2])<(0|C)){if(C?(_[6630]=1+(0|_[6630]),(s=0|di(16+(C<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,a=0|_[i+12>>2]):(s=0,a=l),(0|a)>0){c=0;do{t=s+(c<<4)|0,z=(0|_[i+20>>2])+(c<<4)|0,_[t>>2]=_[z>>2],_[t+4>>2]=_[z+4>>2],_[t+8>>2]=_[z+8>>2],_[t+12>>2]=_[z+12>>2],c=c+1|0}while((0|c)!=(0|a))}0|(c=0|_[i+20>>2])&&(0|n[i+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[i+20>>2]=0),n[i+24|0]=1,_[i+20>>2]=s,_[i+16>>2]=C,c=i+20|0}else c=i+20|0;s=l;do{t=(0|_[c>>2])+(s<<4)|0,_[t>>2]=_[o>>2],_[t+4>>2]=_[o+4>>2],_[t+8>>2]=_[o+8>>2],_[t+12>>2]=_[o+12>>2],s=s+1|0}while((0|s)!=(0|C))}if(_[i+12>>2]=C,_[i+28>>2]=N,_[i+32>>2]=3*N,(0|(h=0|_[i+40>>2]))<(3*N|0)){t:do{if((0|_[i+44>>2])<(3*N|0)){N?(_[6630]=1+(0|_[6630]),(s=0|di(16+(12*N|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,a=0|_[i+40>>2]):(s=0,a=h),l=0|_[i+48>>2];do{if(!((0|a)>0)){if(0|l)break;n[i+52|0]=1,_[i+48>>2]=s,_[i+44>>2]=3*N;break t}c=0;do{_[s+(c<<2)>>2]=_[l+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|a))}while(0);0|n[i+52|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),n[i+52|0]=1,_[i+48>>2]=s,_[i+44>>2]=3*N}else s=0|_[i+48>>2]}while(0);wn(s+(h<<2)|0,0,(12*N|0)-(h<<2)|0)}if(_[i+40>>2]=3*N,_e(0|_[i+20>>2],0|V,C<<4),!(2&_[e>>2])){_e(0|_[i+48>>2],0|M,12*N|0);break}if(!N)break;for(a=0,s=0|_[i+48>>2],c=r;_[s>>2]=_[c+8>>2],_[s+4>>2]=_[c+4>>2],_[s+8>>2]=_[c>>2],(0|(a=a+1|0))!=(0|N);)s=s+12|0,c=c+12|0}else{if(n[0|i]=1,_[i+4>>2]=C,(0|(l=0|_[i+12>>2]))<(0|C)){if((0|_[i+16>>2])<(0|C)){if(C?(_[6630]=1+(0|_[6630]),(s=0|di(16+(C<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,a=0|_[i+12>>2]):(s=0,a=l),(0|a)>0){c=0;do{t=s+(c<<4)|0,z=(0|_[i+20>>2])+(c<<4)|0,_[t>>2]=_[z>>2],_[t+4>>2]=_[z+4>>2],_[t+8>>2]=_[z+8>>2],_[t+12>>2]=_[z+12>>2],c=c+1|0}while((0|c)!=(0|a))}0|(c=0|_[i+20>>2])&&(0|n[i+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[i+20>>2]=0),n[i+24|0]=1,_[i+20>>2]=s,_[i+16>>2]=C,c=i+20|0}else c=i+20|0;s=l;do{t=(0|_[c>>2])+(s<<4)|0,_[t>>2]=_[o>>2],_[t+4>>2]=_[o+4>>2],_[t+8>>2]=_[o+8>>2],_[t+12>>2]=_[o+12>>2],s=s+1|0}while((0|s)!=(0|C))}if(_[i+12>>2]=C,_[i+28>>2]=N,_[i+32>>2]=N<<2,N<<2>(0|(h=0|_[i+40>>2]))){t:do{if((0|_[i+44>>2])>2]=s,s=s+4+15&-16):s=0,a=0|_[i+40>>2]):(s=0,a=h),l=0|_[i+48>>2];do{if(!((0|a)>0)){if(0|l)break;n[i+52|0]=1,_[i+48>>2]=s,_[i+44>>2]=N<<2;break t}c=0;do{_[s+(c<<2)>>2]=_[l+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|a))}while(0);0|n[i+52|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),n[i+52|0]=1,_[i+48>>2]=s,_[i+44>>2]=N<<2}else s=0|_[i+48>>2]}while(0);wn(s+(h<<2)|0,0,(N<<2)-h<<2)}if(_[i+40>>2]=N<<2,_e(0|_[i+20>>2],0|V,C<<4),!N)break;for(l=0,s=0|_[i+48>>2],c=r;_[s>>2]=3,2&_[e>>2]?(_[s+4>>2]=_[c+8>>2],a=c):(_[s+4>>2]=_[c>>2],a=c+8|0),_[s+8>>2]=_[c+4>>2],_[s+12>>2]=_[a>>2],(0|(l=l+1|0))!=(0|N);)s=s+16|0,c=c+12|0}}while(0);do{if(L){if(!r){r=0;break}_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),r=0}}while(0);if(!(0|G)|!(0|V)){s=0;break}_[6631]=1+(0|_[6631]),Ni(0|_[V+-4>>2]),s=0;break}}}s=1,r=0}else s=1,r=0}while(0);return!(0|q)|!(0|K)||(_[6631]=1+(0|_[6631]),Ni(0|_[K+-4>>2])),r?(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),Q=o,0|s):(Q=o,0|s)}function jl(t){t|=0;var e,i=0,o=0,r=0,s=0,c=0,l=0,d=0,b=0,A=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0;if(e=Q,Q=Q+176|0,$i(14689),Me(t),0|Gl[127&_[20+(0|_[t>>2])>>2]](t)&&(q=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),6144&Gl[127&_[48+(0|_[q>>2])>>2]](q))&&(0|(i=0|Gl[127&_[104+(0|_[t>>2])>>2]](t)))>0){Z=e+112+44|0,V=e+112+4|0,L=e+112+8|0,E=e+112+16|0,H=e+112+20|0,x=e+112+24|0,O=e+112+32|0,T=e+112+36|0,P=e+112+40|0,F=e+112+48|0,M=e+112+52|0,N=e+112+56|0,U=e+112+16|0,Y=e+112+32|0,J=e+112+48|0,X=e+112+16|0,z=e+112+32|0,K=e+112+48|0,q=e+112+48|0;do{B=i,i=i+-1|0,m=0|Ll[31&_[108+(0|_[t>>2])>>2]](t,i),o=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),o=!!(2048&Gl[127&_[48+(0|_[o>>2])>>2]](o)),A=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),A=!!(4096&Gl[127&_[48+(0|_[A>>2])>>2]](A)),W=+p[m+40>>2];t:do{if(!(W<=0))switch(0|_[m+4>>2]){case 3:_[e+112>>2]=1065353216,_[e+112+4>>2]=0,_[e+112+4+4>>2]=0,_[e+112+4+8>>2]=0,_[e+112+4+12>>2]=0,_[e+112+20>>2]=1065353216,_[e+112+24>>2]=0,_[e+112+24+4>>2]=0,_[e+112+24+8>>2]=0,_[e+112+24+12>>2]=0,_[e+112+40>>2]=1065353216,_[Z>>2]=0,_[Z+4>>2]=0,_[Z+8>>2]=0,_[Z+12>>2]=0,_[Z+16>>2]=0,I=+p[m+300>>2],D=+p[m+304>>2],j=+p[m+308>>2],A=0|_[m+28>>2],R=I*+p[A+20>>2]+D*+p[A+24>>2]+j*+p[A+28>>2]+ +p[A+56>>2],k=I*+p[A+36>>2]+D*+p[A+40>>2]+j*+p[A+44>>2]+ +p[A+60>>2],p[e+112+48>>2]=I*+p[A+4>>2]+D*+p[A+8>>2]+j*+p[A+12>>2]+ +p[A+52>>2],p[e+112+52>>2]=R,p[e+112+56>>2]=k,p[e+112+60>>2]=0,A=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[A>>2])>>2]](A,e+112|0,W),k=+p[m+316>>2],R=+p[m+320>>2],j=+p[m+324>>2],m=0|_[m+32>>2],D=k*+p[m+20>>2]+R*+p[m+24>>2]+j*+p[m+28>>2]+ +p[m+56>>2],I=k*+p[m+36>>2]+R*+p[m+40>>2]+j*+p[m+44>>2]+ +p[m+60>>2],p[e+112+48>>2]=k*+p[m+4>>2]+R*+p[m+8>>2]+j*+p[m+12>>2]+ +p[m+52>>2],p[e+112+52>>2]=D,p[e+112+56>>2]=I,p[e+112+60>>2]=0,o&&(m=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[m>>2])>>2]](m,e+112|0,W));break t;case 4:b=0|_[m+28>>2],r=+p[m+552>>2],_t=+p[b+4>>2],s=+p[m+552+16>>2],ot=+p[b+8>>2],c=+p[m+552+32>>2],nt=+p[b+12>>2],h=+p[m+552+4>>2],y=+p[m+552+20>>2],g=+p[m+552+36>>2],C=+p[m+552+8>>2],S=+p[m+552+24>>2],k=+p[m+552+40>>2],it=+p[b+20>>2],et=+p[b+24>>2],tt=+p[b+28>>2],v=+p[b+36>>2],w=+p[b+40>>2],R=+p[b+44>>2],st=+p[m+552+48>>2],rt=+p[m+552+52>>2],I=+p[m+552+56>>2],j=+p[b+52>>2]+(_t*st+ot*rt+nt*I),D=it*st+et*rt+tt*I+ +p[b+56>>2],I=v*st+w*rt+R*I+ +p[b+60>>2],p[e+112>>2]=r*_t+s*ot+c*nt,p[e+112+4>>2]=_t*h+ot*y+nt*g,p[e+112+8>>2]=_t*C+ot*S+nt*k,p[e+112+12>>2]=0,p[e+112+16>>2]=r*it+s*et+c*tt,p[e+112+20>>2]=h*it+y*et+g*tt,p[e+112+24>>2]=C*it+S*et+k*tt,p[e+112+28>>2]=0,p[e+112+32>>2]=r*v+s*w+c*R,p[e+112+36>>2]=h*v+y*w+g*R,p[e+112+40>>2]=C*v+S*w+k*R,p[e+112+44>>2]=0,p[e+112+48>>2]=j,p[e+112+52>>2]=D,p[e+112+56>>2]=I,p[e+112+60>>2]=0,o?(b=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[b>>2])>>2]](b,e+112|0,W),b=0|_[m+32>>2],S=+p[m+616>>2],c=+p[b+4>>2],w=+p[m+616+16>>2],h=+p[b+8>>2],k=+p[m+616+32>>2],y=+p[b+12>>2],R=+p[m+616+4>>2],j=+p[m+616+20>>2],D=+p[m+616+36>>2],I=+p[m+616+8>>2],et=+p[m+616+24>>2],nt=+p[m+616+40>>2],g=+p[b+20>>2],C=+p[b+24>>2],v=+p[b+28>>2],tt=+p[b+36>>2],it=+p[b+40>>2],ot=+p[b+44>>2],r=+p[m+616+48>>2],s=+p[m+616+52>>2],st=+p[m+616+56>>2],_t=+p[b+52>>2]+(c*r+h*s+y*st),rt=g*r+C*s+v*st+ +p[b+56>>2],st=tt*r+it*s+ot*st+ +p[b+60>>2],p[e+112>>2]=S*c+w*h+k*y,p[e+112+4>>2]=c*R+h*j+y*D,p[e+112+8>>2]=c*I+h*et+y*nt,p[e+112+12>>2]=0,p[e+112+16>>2]=S*g+w*C+k*v,p[e+112+20>>2]=R*g+j*C+D*v,p[e+112+24>>2]=I*g+et*C+nt*v,p[e+112+28>>2]=0,p[e+112+32>>2]=S*tt+w*it+k*ot,p[e+112+36>>2]=R*tt+j*it+D*ot,p[e+112+40>>2]=I*tt+et*it+nt*ot,p[e+112+44>>2]=0,p[e+112+48>>2]=_t,p[e+112+52>>2]=rt,p[e+112+56>>2]=st,p[e+112+60>>2]=0,b=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[b>>2])>>2]](b,e+112|0,W)):(b=0|_[m+32>>2],S=+p[m+616>>2],c=+p[b+4>>2],w=+p[m+616+16>>2],h=+p[b+8>>2],k=+p[m+616+32>>2],y=+p[b+12>>2],R=+p[m+616+4>>2],j=+p[m+616+20>>2],D=+p[m+616+36>>2],I=+p[m+616+8>>2],et=+p[m+616+24>>2],nt=+p[m+616+40>>2],g=+p[b+20>>2],C=+p[b+24>>2],v=+p[b+28>>2],tt=+p[b+36>>2],it=+p[b+40>>2],ot=+p[b+44>>2],r=+p[m+616+48>>2],s=+p[m+616+52>>2],st=+p[m+616+56>>2],_t=+p[b+52>>2]+(c*r+h*s+y*st),rt=g*r+C*s+v*st+ +p[b+56>>2],st=tt*r+it*s+ot*st+ +p[b+60>>2],p[e+112>>2]=S*c+w*h+k*y,p[e+112+4>>2]=c*R+h*j+y*D,p[e+112+8>>2]=c*I+h*et+y*nt,p[e+112+12>>2]=0,p[e+112+16>>2]=S*g+w*C+k*v,p[e+112+20>>2]=R*g+j*C+D*v,p[e+112+24>>2]=I*g+et*C+nt*v,p[e+112+28>>2]=0,p[e+112+32>>2]=S*tt+w*it+k*ot,p[e+112+36>>2]=R*tt+j*it+D*ot,p[e+112+40>>2]=I*tt+et*it+nt*ot,p[e+112+44>>2]=0,p[e+112+48>>2]=_t,p[e+112+52>>2]=rt,p[e+112+56>>2]=st,p[e+112+60>>2]=0),(s=((c=+p[m+688>>2])-(r=+p[m+688+4>>2]))%6.2831854820251465<-3.1415927410125732?(c-r)%6.2831854820251465+6.2831854820251465:(c-r)%6.2831854820251465>3.1415927410125732?(c-r)%6.2831854820251465-6.2831854820251465:(c-r)%6.2831854820251465)!=(r=(c+r)%6.2831854820251465<-3.1415927410125732?(c+r)%6.2831854820251465+6.2831854820251465:(c+r)%6.2831854820251465>3.1415927410125732?(c+r)%6.2831854820251465-6.2831854820251465:(c+r)%6.2831854820251465)&&($=s>r,A)&&(_[e+96>>2]=_[e+112+8>>2],_[e+96+4>>2]=_[e+112+24>>2],_[e+96+8>>2]=_[e+112+40>>2],p[e+96+12>>2]=0,_[e+80>>2]=_[e+112>>2],_[e+80+4>>2]=_[e+112+16>>2],_[e+80+8>>2]=_[e+112+32>>2],p[e+80+12>>2]=0,m=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),A=0|_[60+(0|_[m>>2])>>2],_[e+64>>2]=0,_[e+64+4>>2]=0,_[e+64+8>>2]=0,_[e+64+12>>2]=0,ld[1&A](m,e+112+48|0,e+96|0,e+80|0,W,W,$?0:s,$?6.2831854820251465:r,e+64|0,1^$,10));break t;case 5:if(b=0|_[m+28>>2],S=+p[m+300>>2],c=+p[b+4>>2],w=+p[m+300+16>>2],h=+p[b+8>>2],k=+p[m+300+32>>2],y=+p[b+12>>2],R=+p[m+300+4>>2],j=+p[m+300+20>>2],D=+p[m+300+36>>2],I=+p[m+300+8>>2],et=+p[m+300+24>>2],nt=+p[m+300+40>>2],g=+p[b+20>>2],C=+p[b+24>>2],v=+p[b+28>>2],tt=+p[b+36>>2],it=+p[b+40>>2],ot=+p[b+44>>2],r=+p[m+300+48>>2],s=+p[m+300+52>>2],st=+p[m+300+56>>2],_t=+p[b+52>>2]+(c*r+h*s+y*st),rt=g*r+C*s+v*st+ +p[b+56>>2],st=tt*r+it*s+ot*st+ +p[b+60>>2],p[e+112>>2]=S*c+w*h+k*y,p[V>>2]=c*R+h*j+y*D,p[L>>2]=c*I+h*et+y*nt,p[e+112+12>>2]=0,p[E>>2]=S*g+w*C+k*v,p[H>>2]=R*g+j*C+D*v,p[x>>2]=I*g+et*C+nt*v,p[e+112+28>>2]=0,p[O>>2]=S*tt+w*it+k*ot,p[T>>2]=R*tt+j*it+D*ot,p[P>>2]=I*tt+et*it+nt*ot,p[e+112+44>>2]=0,p[F>>2]=_t,p[M>>2]=rt,p[N>>2]=st,p[e+112+60>>2]=0,o?(b=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[b>>2])>>2]](b,e+112|0,W),b=0|_[m+32>>2],S=+p[m+364>>2],c=+p[b+4>>2],w=+p[m+364+16>>2],h=+p[b+8>>2],k=+p[m+364+32>>2],y=+p[b+12>>2],R=+p[m+364+4>>2],j=+p[m+364+20>>2],D=+p[m+364+36>>2],I=+p[m+364+8>>2],et=+p[m+364+24>>2],nt=+p[m+364+40>>2],g=+p[b+20>>2],C=+p[b+24>>2],v=+p[b+28>>2],tt=+p[b+36>>2],it=+p[b+40>>2],ot=+p[b+44>>2],r=+p[m+364+48>>2],s=+p[m+364+52>>2],st=+p[m+364+56>>2],_t=+p[b+52>>2]+(c*r+h*s+y*st),rt=g*r+C*s+v*st+ +p[b+56>>2],st=tt*r+it*s+ot*st+ +p[b+60>>2],p[e+112>>2]=S*c+w*h+k*y,p[V>>2]=c*R+h*j+y*D,p[L>>2]=c*I+h*et+y*nt,p[e+112+12>>2]=0,p[E>>2]=S*g+w*C+k*v,p[H>>2]=R*g+j*C+D*v,p[x>>2]=I*g+et*C+nt*v,p[e+112+28>>2]=0,p[O>>2]=S*tt+w*it+k*ot,p[T>>2]=R*tt+j*it+D*ot,p[P>>2]=I*tt+et*it+nt*ot,p[e+112+44>>2]=0,p[F>>2]=_t,p[M>>2]=rt,p[N>>2]=st,p[e+112+60>>2]=0,b=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[b>>2])>>2]](b,e+112|0,W)):(b=0|_[m+32>>2],S=+p[m+364>>2],c=+p[b+4>>2],w=+p[m+364+16>>2],h=+p[b+8>>2],k=+p[m+364+32>>2],y=+p[b+12>>2],R=+p[m+364+4>>2],j=+p[m+364+20>>2],D=+p[m+364+36>>2],I=+p[m+364+8>>2],et=+p[m+364+24>>2],nt=+p[m+364+40>>2],g=+p[b+20>>2],C=+p[b+24>>2],v=+p[b+28>>2],tt=+p[b+36>>2],it=+p[b+40>>2],ot=+p[b+44>>2],r=+p[m+364+48>>2],s=+p[m+364+52>>2],st=+p[m+364+56>>2],_t=+p[b+52>>2]+(c*r+h*s+y*st),rt=g*r+C*s+v*st+ +p[b+56>>2],st=tt*r+it*s+ot*st+ +p[b+60>>2],p[e+112>>2]=S*c+w*h+k*y,p[V>>2]=c*R+h*j+y*D,p[L>>2]=c*I+h*et+y*nt,p[e+112+12>>2]=0,p[E>>2]=S*g+w*C+k*v,p[H>>2]=R*g+j*C+D*v,p[x>>2]=I*g+et*C+nt*v,p[e+112+28>>2]=0,p[O>>2]=S*tt+w*it+k*ot,p[T>>2]=R*tt+j*it+D*ot,p[P>>2]=I*tt+et*it+nt*ot,p[e+112+44>>2]=0,p[F>>2]=_t,p[M>>2]=rt,p[N>>2]=st,p[e+112+60>>2]=0),A){gn(e+96|0,m,6.0868353843688965,W),nt=+p[e+96>>2],ot=+p[e+96+4>>2],_t=+p[e+96+8>>2],rt=nt*+p[E>>2]+ot*+p[H>>2]+_t*+p[x>>2]+ +p[M>>2],st=nt*+p[O>>2]+ot*+p[T>>2]+_t*+p[P>>2]+ +p[N>>2],p[e+96>>2]=nt*+p[e+112>>2]+ot*+p[V>>2]+_t*+p[L>>2]+ +p[F>>2],p[e+96+4>>2]=rt,p[e+96+8>>2]=st,p[e+96+12>>2]=0,o=0;do{gn(e+80|0,m,6.283185005187988*+(0|o)*.03125,W),nt=+p[e+80>>2],ot=+p[e+80+4>>2],_t=+p[e+80+8>>2],rt=nt*+p[E>>2]+ot*+p[H>>2]+_t*+p[x>>2]+ +p[M>>2],st=nt*+p[O>>2]+ot*+p[T>>2]+_t*+p[P>>2]+ +p[N>>2],p[e+80>>2]=nt*+p[e+112>>2]+ot*+p[V>>2]+_t*+p[L>>2]+ +p[F>>2],p[e+80+4>>2]=rt,p[e+80+8>>2]=st,p[e+80+12>>2]=0,A=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),b=0|_[8+(0|_[A>>2])>>2],_[e+64>>2]=0,_[e+64+4>>2]=0,_[e+64+8>>2]=0,_[e+64+12>>2]=0,pd[127&b](A,e+96|0,e+80|0,e+64|0),3&o||(A=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),b=0|_[8+(0|_[A>>2])>>2],_[e+64>>2]=0,_[e+64+4>>2]=0,_[e+64+8>>2]=0,_[e+64+12>>2]=0,pd[127&b](A,q,e+80|0,e+64|0)),_[e+96>>2]=_[e+80>>2],_[e+96+4>>2]=_[e+80+4>>2],_[e+96+8>>2]=_[e+80+8>>2],_[e+96+12>>2]=_[e+80+12>>2],o=o+1|0}while(32!=(0|o));D=+p[m+452>>2],I=+p[m+512>>2],o=0|_[m+32>>2],+p[o+344>>2]>0?(nt=+p[m+364>>2],ot=+p[o+4>>2],_t=+p[m+364+16>>2],rt=+p[o+8>>2],st=+p[m+364+32>>2],k=+p[o+12>>2],et=+p[m+364+4>>2],it=+p[m+364+20>>2],w=+p[m+364+36>>2],pt=+p[m+364+8>>2],tt=+p[m+364+24>>2],S=+p[m+364+40>>2],at=+p[o+20>>2],ct=+p[o+24>>2],v=+p[o+28>>2],C=+p[o+36>>2],g=+p[o+40>>2],y=+p[o+44>>2],R=at*(c=+p[m+364+48>>2])+ct*(r=+p[m+364+52>>2])+v*(s=+p[m+364+56>>2]),j=ot*c+rt*r+k*s,r=C*c+g*r,s*=y,c=pt*C+tt*g+S*y,h=et*C+it*g+w*y,y=nt*C+_t*g+st*y,g=pt*at+tt*ct+S*v,C=et*at+it*ct+w*v,v=nt*at+_t*ct+st*v,S=ot*pt+rt*tt+k*S,w=ot*et+rt*it+k*w,k=nt*ot+_t*rt+st*k):(o=0|_[m+28>>2],rt=+p[m+300>>2],st=+p[o+4>>2],pt=+p[m+300+16>>2],ct=+p[o+8>>2],at=+p[m+300+32>>2],k=+p[o+12>>2],ot=+p[m+300+4>>2],_t=+p[m+300+20>>2],w=+p[m+300+36>>2],it=+p[m+300+8>>2],nt=+p[m+300+24>>2],S=+p[m+300+40>>2],tt=+p[o+20>>2],et=+p[o+24>>2],v=+p[o+28>>2],C=+p[o+36>>2],g=+p[o+40>>2],y=+p[o+44>>2],R=tt*(c=+p[m+300+48>>2])+et*(r=+p[m+300+52>>2])+v*(s=+p[m+300+56>>2]),j=st*c+ct*r+k*s,r=C*c+g*r,s*=y,c=it*C+nt*g+S*y,h=ot*C+_t*g+w*y,y=rt*C+pt*g+at*y,g=it*tt+nt*et+S*v,C=ot*tt+_t*et+w*v,v=rt*tt+pt*et+at*v,S=st*it+ct*nt+k*S,w=st*ot+ct*_t+k*w,k=rt*st+pt*ct+at*k),pt=+p[o+52>>2]+j,ct=R+ +p[o+56>>2],at=r+s+ +p[o+60>>2],p[e+112>>2]=k,p[V>>2]=w,p[L>>2]=S,p[e+112+12>>2]=0,p[E>>2]=v,p[H>>2]=C,p[x>>2]=g,p[e+112+28>>2]=0,p[O>>2]=y,p[T>>2]=h,p[P>>2]=c,p[e+112+44>>2]=0,p[F>>2]=pt,p[M>>2]=ct,p[N>>2]=at,p[e+112+60>>2]=0,_[e+80>>2]=_[q>>2],_[e+80+4>>2]=_[q+4>>2],_[e+80+8>>2]=_[q+8>>2],_[e+80+12>>2]=_[q+12>>2],p[e+64>>2]=k,p[e+64+4>>2]=v,p[e+64+8>>2]=y,p[e+64+12>>2]=0,p[e+48>>2]=w,p[e+48+4>>2]=C,p[e+48+8>>2]=h,p[e+48+12>>2]=0,m=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),A=0|_[60+(0|_[m>>2])>>2],_[e+32>>2]=0,_[e+32+4>>2]=0,_[e+32+8>>2]=0,_[e+32+12>>2]=0,ld[1&A](m,e+80|0,e+64|0,e+48|0,W,W,-I-D,D-I,e+32|0,1,10)}break t;case 6:case 9:_[e+112>>2]=_[m+1064>>2],_[e+112+4>>2]=_[m+1064+4>>2],_[e+112+8>>2]=_[m+1064+8>>2],_[e+112+12>>2]=_[m+1064+12>>2],l=m+1064+16|0,_[U>>2]=_[l>>2],_[U+4>>2]=_[l+4>>2],_[U+8>>2]=_[l+8>>2],_[U+12>>2]=_[l+12>>2],d=m+1064+32|0,_[Y>>2]=_[d>>2],_[Y+4>>2]=_[d+4>>2],_[Y+8>>2]=_[d+8>>2],_[Y+12>>2]=_[d+12>>2],b=m+1064+48|0,_[J>>2]=_[b>>2],_[J+4>>2]=_[b+4>>2],_[J+8>>2]=_[b+8>>2],_[J+12>>2]=_[b+12>>2],o?(o=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[o>>2])>>2]](o,e+112|0,W),_[e+112>>2]=_[m+1128>>2],_[e+112+4>>2]=_[m+1128+4>>2],_[e+112+8>>2]=_[m+1128+8>>2],_[e+112+12>>2]=_[m+1128+12>>2],_[U>>2]=_[m+1128+16>>2],_[U+4>>2]=_[m+1128+16+4>>2],_[U+8>>2]=_[m+1128+16+8>>2],_[U+12>>2]=_[m+1128+16+12>>2],_[Y>>2]=_[m+1128+32>>2],_[Y+4>>2]=_[m+1128+32+4>>2],_[Y+8>>2]=_[m+1128+32+8>>2],_[Y+12>>2]=_[m+1128+32+12>>2],_[J>>2]=_[m+1128+48>>2],_[J+4>>2]=_[m+1128+48+4>>2],_[J+8>>2]=_[m+1128+48+8>>2],_[J+12>>2]=_[m+1128+48+12>>2],o=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[o>>2])>>2]](o,e+112|0,W)):(_[e+112>>2]=_[m+1128>>2],_[e+112+4>>2]=_[m+1128+4>>2],_[e+112+8>>2]=_[m+1128+8>>2],_[e+112+12>>2]=_[m+1128+12>>2],_[U>>2]=_[m+1128+16>>2],_[U+4>>2]=_[m+1128+16+4>>2],_[U+8>>2]=_[m+1128+16+8>>2],_[U+12>>2]=_[m+1128+16+12>>2],_[Y>>2]=_[m+1128+32>>2],_[Y+4>>2]=_[m+1128+32+4>>2],_[Y+8>>2]=_[m+1128+32+8>>2],_[Y+12>>2]=_[m+1128+32+12>>2],_[J>>2]=_[m+1128+48>>2],_[J+4>>2]=_[m+1128+48+4>>2],_[J+8>>2]=_[m+1128+48+8>>2],_[J+12>>2]=_[m+1128+48+12>>2]),A&&(_[e+112>>2]=_[m+1064>>2],_[e+112+4>>2]=_[m+1064+4>>2],_[e+112+8>>2]=_[m+1064+8>>2],_[e+112+12>>2]=_[m+1064+12>>2],_[U>>2]=_[l>>2],_[U+4>>2]=_[l+4>>2],_[U+8>>2]=_[l+8>>2],_[U+12>>2]=_[l+12>>2],_[Y>>2]=_[d>>2],_[Y+4>>2]=_[d+4>>2],_[Y+8>>2]=_[d+8>>2],_[Y+12>>2]=_[d+12>>2],_[J>>2]=_[b>>2],_[J+4>>2]=_[b+4>>2],_[J+8>>2]=_[b+8>>2],_[J+12>>2]=_[b+12>>2],o=m+1128+48|0,_[e+96>>2]=_[e+112+8>>2],_[e+96+4>>2]=_[e+112+24>>2],_[e+96+8>>2]=_[e+112+40>>2],p[e+96+12>>2]=0,_[e+80>>2]=_[e+112>>2],_[e+80+4>>2]=_[e+112+16>>2],_[e+80+8>>2]=_[e+112+32>>2],p[e+80+12>>2]=0,rt=+p[m+932>>2],r=+p[m+932+4>>2],ct=+p[m+996>>2],pt=+p[m+996+4>>2],lt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),A=0|_[64+(0|_[lt>>2])>>2],_[e+64>>2]=0,_[e+64+4>>2]=0,_[e+64+8>>2]=0,_[e+64+12>>2]=0,ad[1&A](lt,o,e+96|0,e+80|0,.8999999761581421*W,rt,r,ct,pt,e+64|0,10,1),lt=0|_[e+112+20>>2],A=0|_[e+112+36>>2],_[e+80>>2]=_[e+112+4>>2],_[e+80+4>>2]=lt,_[e+80+8>>2]=A,p[e+80+12>>2]=0,pt=+p[m+1196>>2],ct=+p[m+1200>>2],r=+f(+pt),pt=+u(+pt),rt=+f(+ct),ct=+u(+ct),st=+p[e+80>>2],at=+p[e+80+4>>2],s=+p[e+80+8>>2],p[e+64>>2]=r*rt*st+r*ct*at-pt*s,p[e+64+4>>2]=rt*at-ct*st,p[e+64+8>>2]=pt*rt*st+pt*ct*at+r*s,_[e+112>>2]=_[m+1128>>2],_[e+112+4>>2]=_[m+1128+4>>2],_[e+112+8>>2]=_[m+1128+8>>2],_[e+112+12>>2]=_[m+1128+12>>2],_[U>>2]=_[m+1128+16>>2],_[U+4>>2]=_[m+1128+16+4>>2],_[U+8>>2]=_[m+1128+16+8>>2],_[U+12>>2]=_[m+1128+16+12>>2],_[Y>>2]=_[m+1128+32>>2],_[Y+4>>2]=_[m+1128+32+4>>2],_[Y+8>>2]=_[m+1128+32+8>>2],_[Y+12>>2]=_[m+1128+32+12>>2],_[J>>2]=_[o>>2],_[J+4>>2]=_[o+4>>2],_[J+8>>2]=_[o+8>>2],_[J+12>>2]=_[o+12>>2],s=-+p[e+112+16>>2],r=-+p[e+112+32>>2],p[e+48>>2]=-+p[e+112>>2],p[e+48+4>>2]=s,p[e+48+8>>2]=r,p[e+48+12>>2]=0,(r=+p[m+868>>2])>(s=+p[m+868+4>>2])?(lt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),A=0|_[60+(0|_[lt>>2])>>2],_[e+32>>2]=0,_[e+32+4>>2]=0,_[e+32+8>>2]=0,_[e+32+12>>2]=0,ld[1&A](lt,o,e+48|0,e+64|0,W,W,-3.1415927410125732,3.1415927410125732,e+32|0,0,10)):r>2])>>2]](t),A=0|_[60+(0|_[lt>>2])>>2],_[e+32>>2]=0,_[e+32+4>>2]=0,_[e+32+8>>2]=0,_[e+32+12>>2]=0,ld[1&A](lt,o,e+48|0,e+64|0,W,W,r,s,e+32|0,1,10)),_[e+112>>2]=_[m+1064>>2],_[e+112+4>>2]=_[m+1064+4>>2],_[e+112+8>>2]=_[m+1064+8>>2],_[e+112+12>>2]=_[m+1064+12>>2],_[U>>2]=_[l>>2],_[U+4>>2]=_[l+4>>2],_[U+8>>2]=_[l+8>>2],_[U+12>>2]=_[l+12>>2],_[Y>>2]=_[d>>2],_[Y+4>>2]=_[d+4>>2],_[Y+8>>2]=_[d+8>>2],_[Y+12>>2]=_[d+12>>2],_[J>>2]=_[b>>2],_[J+4>>2]=_[b+4>>2],_[J+8>>2]=_[b+8>>2],_[J+12>>2]=_[b+12>>2],_[e+32>>2]=_[m+680>>2],_[e+32+4>>2]=_[m+680+4>>2],_[e+32+8>>2]=_[m+680+8>>2],_[e+32+12>>2]=_[m+680+12>>2],_[e+16>>2]=_[m+680+16>>2],_[e+16+4>>2]=_[m+680+16+4>>2],_[e+16+8>>2]=_[m+680+16+8>>2],_[e+16+12>>2]=_[m+680+16+12>>2],lt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),m=0|_[72+(0|_[lt>>2])>>2],_[e>>2]=0,_[e+4>>2]=0,_[e+8>>2]=0,_[e+12>>2]=0,dd[31&m](lt,e+32|0,e+16|0,e+112|0,e));break t;case 7:_[e+112>>2]=_[m+824>>2],_[e+112+4>>2]=_[m+824+4>>2],_[e+112+8>>2]=_[m+824+8>>2],_[e+112+12>>2]=_[m+824+12>>2],_[X>>2]=_[m+824+16>>2],_[X+4>>2]=_[m+824+16+4>>2],_[X+8>>2]=_[m+824+16+8>>2],_[X+12>>2]=_[m+824+16+12>>2],_[z>>2]=_[m+824+32>>2],_[z+4>>2]=_[m+824+32+4>>2],_[z+8>>2]=_[m+824+32+8>>2],_[z+12>>2]=_[m+824+32+12>>2],_[K>>2]=_[m+824+48>>2],_[K+4>>2]=_[m+824+48+4>>2],_[K+8>>2]=_[m+824+48+8>>2],_[K+12>>2]=_[m+824+48+12>>2],o?(lt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[lt>>2])>>2]](lt,e+112|0,W),_[e+112>>2]=_[m+888>>2],_[e+112+4>>2]=_[m+888+4>>2],_[e+112+8>>2]=_[m+888+8>>2],_[e+112+12>>2]=_[m+888+12>>2],_[X>>2]=_[m+888+16>>2],_[X+4>>2]=_[m+888+16+4>>2],_[X+8>>2]=_[m+888+16+8>>2],_[X+12>>2]=_[m+888+16+12>>2],_[z>>2]=_[m+888+32>>2],_[z+4>>2]=_[m+888+32+4>>2],_[z+8>>2]=_[m+888+32+8>>2],_[z+12>>2]=_[m+888+32+12>>2],_[K>>2]=_[m+888+48>>2],_[K+4>>2]=_[m+888+48+4>>2],_[K+8>>2]=_[m+888+48+8>>2],_[K+12>>2]=_[m+888+48+12>>2],lt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[lt>>2])>>2]](lt,e+112|0,W)):(_[e+112>>2]=_[m+888>>2],_[e+112+4>>2]=_[m+888+4>>2],_[e+112+8>>2]=_[m+888+8>>2],_[e+112+12>>2]=_[m+888+12>>2],_[X>>2]=_[m+888+16>>2],_[X+4>>2]=_[m+888+16+4>>2],_[X+8>>2]=_[m+888+16+8>>2],_[X+12>>2]=_[m+888+16+12>>2],_[z>>2]=_[m+888+32>>2],_[z+4>>2]=_[m+888+32+4>>2],_[z+8>>2]=_[m+888+32+8>>2],_[z+12>>2]=_[m+888+32+12>>2],_[K>>2]=_[m+888+48>>2],_[K+4>>2]=_[m+888+48+4>>2],_[K+8>>2]=_[m+888+48+8>>2],_[K+12>>2]=_[m+888+48+12>>2]),A&&(dt=0|n[m+180|0]?m+824|0:m+888|0,o=0|_[dt>>2],b=0|_[dt+4>>2],l=0|_[dt+16>>2],A=0|_[dt+20>>2],d=0|_[dt+32>>2],lt=0|_[dt+36>>2],D=+p[dt+48>>2],it=+p[dt+52>>2],rt=+p[dt+56>>2],at=+p[m+184>>2],_[a>>2]=o,et=+p[a>>2],tt=0*(_[a>>2]=b,+p[a>>2]),I=0*+p[dt+8>>2],_[a>>2]=l,_t=+p[a>>2],ot=0*(_[a>>2]=A,+p[a>>2]),nt=0*+p[dt+24>>2],_[a>>2]=d,ct=+p[a>>2],pt=0*(_[a>>2]=lt,+p[a>>2]),st=0*+p[dt+40>>2],p[e+96>>2]=D+(I+(tt+at*et)),p[e+96+4>>2]=it+(nt+(ot+at*_t)),p[e+96+8>>2]=rt+(st+(pt+at*ct)),p[e+96+12>>2]=0,at=+p[m+188>>2],p[e+80>>2]=D+(I+(tt+at*et)),p[e+80+4>>2]=it+(nt+(ot+at*_t)),p[e+80+8>>2]=rt+(st+(pt+at*ct)),p[e+80+12>>2]=0,dt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),bt=0|_[8+(0|_[dt>>2])>>2],_[e+64>>2]=0,_[e+64+4>>2]=0,_[e+64+8>>2]=0,_[e+64+12>>2]=0,pd[127&bt](dt,e+96|0,e+80|0,e+64|0),_[e+64>>2]=o,_[e+64+4>>2]=l,_[e+64+8>>2]=d,p[e+64+12>>2]=0,_[e+48>>2]=b,_[e+48+4>>2]=A,_[e+48+8>>2]=lt,p[e+48+12>>2]=0,ct=+p[m+192>>2],at=+p[m+196>>2],lt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),A=0|_[60+(0|_[lt>>2])>>2],_[e+32>>2]=0,_[e+32+4>>2]=0,_[e+32+8>>2]=0,_[e+32+12>>2]=0,ld[1&A](lt,m+888+48|0,e+64|0,e+48|0,W,W,ct,at,e+32|0,1,10));break t;default:break t}}while(0)}while((0|B)>1)}if(0|Gl[127&_[20+(0|_[t>>2])>>2]](t)&&(bt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),16387&Gl[127&_[48+(0|_[bt>>2])>>2]](bt))&&0|Gl[127&_[20+(0|_[t>>2])>>2]](t)&&(bt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),0|Gl[127&_[48+(0|_[bt>>2])>>2]](bt))&&(0|_[t+280>>2])>0){i=0;do{bt=0|_[(0|_[t+288>>2])+(i<<2)>>2],ed[127&_[12+(0|_[bt>>2])>>2]](bt,0|_[t+72>>2]),i=i+1|0}while((0|i)<(0|_[t+280>>2]))}if(i=0|_[2606],bt=(0|_[i+16>>2])-1|0,_[i+16>>2]=bt,0|bt)Q=e;else{do{if(0|_[i+4>>2]){if(G(e+112|0,0),bt=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[e+112+4>>2])-(0|_[bt+4>>2])+(1e6*((0|_[e+112>>2])-(0|_[bt>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,0|_[i+16>>2])return void(Q=e);i=0|_[2606];break}}while(0);_[2606]=_[i+20>>2],Q=e}}function Dl(t,e,i,n){t|=0,e|=0,i|=0,n|=0;var o,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0;o=Q,Q=Q+144|0;t:do{switch(i-e|0){case 0:return _[n>>2]=0,_[n+4>>2]=0,_[n+8>>2]=0,_[n+12>>2]=0,void(Q=o);case 2:if(r=0|_[(0|_[t+92>>2])+(e<<2)>>2],(0|(c=0|_[r+88>>2]))==(0|(a=0|_[r+200>>2]))&(0|(p=0|_[r+92>>2]))==(0|(s=0|_[r+204>>2]))){if((0|_[r+96>>2])==(0|_[r+208>>2]))break t;s=p}s=p-s|0;do{if(s|c-a){if(_[r>>2]=r+112,_[r+4>>2]=r+112,_[r+112>>2]=r,_[r+116>>2]=r,M=(c-a|0)<0|!(c-a|0)&(0|s)<0,_[n>>2]=M?r:r+112|0,_[n+4>>2]=M?r+112|0:r,(0|s)<0|(c-a|0)<0&!(0|s)){_[n+8>>2]=r,s=r,p=r+112|0,r=r+112|0;break}_[n+8>>2]=r+112,s=r,p=r+112|0;break}p=(0|_[r+96>>2])>(0|_[r+208>>2]),_[(M=p?r+112|0:r)>>2]=M,_[M+4>>2]=M,_[n>>2]=M,_[n+4>>2]=M,_[n+8>>2]=M,s=M,p=p?r:r+112|0,r=M}while(0);return _[n+12>>2]=r,t=0|rt(t,s,p),_[t>>2]=t,_[t+4>>2]=t,_[s+8>>2]=t,t=0|_[t+8>>2],_[t>>2]=t,_[t+4>>2]=t,_[p+8>>2]=t,void(Q=o);case 1:r=0|_[(0|_[t+92>>2])+(e<<2)>>2];break;default:b=((i-e|0)/2|0)+e|0,d=0|_[t+92>>2],l=0|_[d+(b+-1<<2)>>2],c=0|_[l+88>>2],a=0|_[l+92>>2],l=0|_[l+96>>2];e:do{if((0|b)<(0|i)){r=b;do{if(p=0|_[d+(r<<2)>>2],(0|_[p+88>>2])!=(0|c))break e;if((0|_[p+92>>2])!=(0|a))break e;if((0|_[p+96>>2])!=(0|l))break e;r=r+1|0}while((0|r)<(0|i))}else r=b}while(0);Dl(t,e,b,n),_[o+96>>2]=0,_[o+96+4>>2]=0,_[o+96+8>>2]=0,_[o+96+12>>2]=0,Dl(t,r,i,o+96|0),a=0|_[o+96+4>>2];e:do{if(0|a){if(!(D=0|_[n+4>>2])){_[n>>2]=_[o+96>>2],_[n+4>>2]=_[o+96+4>>2],_[n+8>>2]=_[o+96+8>>2],_[n+12>>2]=_[o+96+12>>2];break}_[t+100>>2]=(0|_[t+100>>2])-1,d=0|_[n+12>>2],p=0|_[o+96+8>>2],c=0|_[d+88>>2];i:do{if((0|c)==(0|_[p+88>>2])&&(s=0|_[d+92>>2],(0|s)==(0|_[p+92>>2]))){if((0|(l=0|_[p+4>>2]))==(0|p)){(r=0|_[p+8>>2])?(p=0|_[r+12>>2],r=0|_[p+88>>2],s=0|_[p+92>>2]):r=c,l=p,a=r+1|0,i=d,b=0|_[p+96>>2],r=d,e=p;break}if(c=0|_[p>>2],_[l>>2]=c,_[c+4>>2]=l,(0|p)==(0|_[o+96>>2])){r=0|_[c+88>>2],s=0|_[l+88>>2];do{if((0|r)<(0|s))r=c;else{if((0|r)==(0|s)&&(0|_[c+92>>2])<(0|_[l+92>>2])){r=c;break}r=l}}while(0);_[o+96>>2]=r}if((0|p)==(0|a)){r=0|_[c+88>>2],s=0|_[l+88>>2];do{if((0|r)<=(0|s)){if((0|r)==(0|s)&&(0|_[c+92>>2])>(0|_[l+92>>2]))break;_[o+96+4>>2]=l,c=l,T=39;break i}}while(0);_[o+96+4>>2]=c,T=39}else c=a,T=39}else c=a,T=39}while(0);if(39==(0|T)){for(R=0|_[n>>2],j=0|_[o+96>>2],i=D,a=0,e=0,S=1,k=0,A=c;;){p=0|_[A+88>>2],b=0|_[i+88>>2],s=0|g(p-b|0,S);i:do{if((0|s)<=0){if((0|s)<0)for(v=!!(0|k),l=i,r=A,d=0|_[i+92>>2],C=0|_[A+92>>2];;){for(h=(0|(m=0|_[(v?r+4:r)>>2]))==(0|r),y=r+88|0;;){if(i=l+88|0,u=C-d|0,!h&&(I=0|_[m+88>>2],B=0|g(I-p|0,S),(0|(F=(W=0|_[m+92>>2])-C|0))>-1)){if(!B)break;if((0|B)<0&&(0|g(F,s))<=(0|g(B,u)))break}if((0|(f=0|_[(v?l+4:l)>>2]))==(0|l))break i;if(O=0|_[f+88>>2],b=0|g(O-(0|_[i>>2])|0,S),d=(A=0|_[f+92>>2])-d|0,p=0|_[y>>2],!((0|d)>0&(0|(i=0|g(p-O|0,S)))<0))break i;if(0|b){if((0|b)>=0)break i;if((0|g(d,s))>=(0|g(b,u)))break i}l=f,s=i,d=A}r=m,s=0|g(I-(0|_[i>>2])|0,S),C=W,p=I}r=0|_[i+92>>2],s=0|_[((d=!!(0|k))?i:i+4)>>2];n:do{if((0|s)!=(0|i))if(d)for(p=i,l=r;;){if((0|_[s+88>>2])!=(0|b)){l=p;break n}if(O=l,(0|(l=0|_[s+92>>2]))>(0|O)){l=p;break n}if((0|(r=0|_[s>>2]))==(0|i)){l=s;break}p=s,s=r}else for(p=i,l=r;;){if((0|_[s+88>>2])!=(0|b)){l=p;break n}if(O=l,(0|(l=0|_[s+92>>2]))>(0|O)){l=p;break n}if((0|(r=0|_[s+4>>2]))==(0|i)){l=s;break}p=s,s=r}else l=i}while(0);if(r=0|_[A+92>>2],(0|(p=0|_[(d?A+4:A)>>2]))!=(0|A))if(d)for(s=r,r=A;;){if((0|_[p+88>>2])!=(0|b))break i;if(O=s,(0|(s=0|_[p+92>>2]))<(0|O))break i;if((0|(r=0|_[p+4>>2]))==(0|A)){r=p;break}O=p,p=r,r=O}else for(s=r,r=A;;){if((0|_[p+88>>2])!=(0|b))break i;if(O=s,(0|(s=0|_[p+92>>2]))<(0|O))break i;if((0|(r=0|_[p>>2]))==(0|A)){r=p;break}O=p,p=r,r=O}else r=A}else for(h=!!(0|k),p=i,r=A,m=0|_[A+92>>2];;){for(f=r+88|0,l=p,p=0|_[p+92>>2];u=m-p|0,!((0|(d=0|_[(h?l:l+4)>>2]))==(0|l)||(i=0|_[d+88>>2],b=0|g(i-(0|_[l+88>>2])|0,S),(0|(p=(A=0|_[d+92>>2])-p|0))>=1));){if(0|b){if((0|b)>=0)break;if((0|g(p,s))>(0|g(b,u)))break}s=0|g((0|_[f>>2])-i|0,S),l=d,p=A}if((0|(A=0|_[(h?r:r+4)>>2]))==(0|r))break i;if(d=0|_[A+88>>2],i=0|g(d-(0|_[f>>2])|0,S),!((0|(p=(b=0|_[A+92>>2])-m|0))<0&(0|(d=0|g(d-(0|_[l+88>>2])|0,S)))>0))break i;if(0|i){if((0|i)>=0)break i;if((0|g(p,s))>=(0|g(i,u)))break i}s=d,p=l,r=A,m=b}}while(0);if(e=(s=!(0|k))?r:e,a=s?l:a,A=s?j:r,i=s?R:l,2==(0|(k=k+1|0)))break;S=s?-1:S}if(_[i+4>>2]=A,_[A>>2]=i,_[a>>2]=e,_[e+4>>2]=a,(0|_[j+88>>2])<(0|_[R+88>>2])&&(_[n>>2]=j),(0|_[c+88>>2])>=(0|_[D+88>>2])&&(_[n+4>>2]=c),_[n+12>>2]=_[o+96+12>>2],s=a,l=e,S=0|_[(d=e+88|0)>>2],m=0|_[a+88>>2],k=0|_[(c=e+92|0)>>2],R=0|_[a+92>>2],j=0|_[(p=e+96|0)>>2],h=0|_[a+96>>2],D=((k-R|0)<0)<<31>>31,B=0|f_(0|(B=0|Ir(0,0,0|(I=0-(S-m)|0),((0|I)<0)<<31>>31)),0|w(),j-h|0,((j-h|0)<0)<<31>>31),W=0|w(),F=0|f_(j-h|0,((j-h|0)<0)<<31>>31,k-R|0,0|D),n=0|w(),x=0|Ir(0|(y=0|f_(0|I,((0|I)<0)<<31>>31,S-m|0,((S-m|0)<0)<<31>>31)),0|(O=0|w()),0|(x=0|f_(k-R|0,0|D,k-R|0,0|D)),0|w()),O=0|w(),y=0|_[a+8>>2],_[o+120>>2]=0,y){C=0|Ir(0,0,k-R|0,0|D),v=0|w(),u=y,r=0;do{A=0|_[u+12>>2],i=0|_[A+88>>2],b=0|_[A+92>>2],A=0|_[A+96>>2],G=0|f_(b-R|0,((b-R|0)<0)<<31>>31,0|I,((0|I)<0)<<31>>31),f=0|w(),V=0|f_(0|C,0|v,i-m|0,((i-m|0)<0)<<31>>31);i:do{if((0|G)==(0|V)&(0|f)==(0|w())&&(V=0|f_(0|B,0|W,i-m|0,((i-m|0)<0)<<31>>31),f=0|w(),G=0|f_(0|F,0|n,b-R|0,((b-R|0)<0)<<31>>31),f=0|xr(0|G,0|w(),0|V,0|f),V=0|w(),G=0|f_(0|x,0|O,A-h|0,((A-h|0)<0)<<31>>31),G=0|xr(0|f,0|V,0|G,0|w()),V=0|w(),(0|V)>0|!(0|V)&G>>>0>0)){do{if(0|r){if(f=(0|_[r+4>>2])==(0|u),(0|_[r>>2])!=(0|u)){if(f)break;break i}if(!f)break i;if(V=0|_[r+12>>2],N=0|_[12+(0|_[u+8>>2])>>2],G=0|_[N+88>>2],f=0|_[N+92>>2],N=0|_[N+96>>2],L=(0|_[V+96>>2])-N|0,f=(0|g(A-N|0,(0|_[V+92>>2])-f|0))-(0|g(L,b-f|0))|0,G=(0|g(L,i-G|0))-(0|g(A-N|0,(0|_[V+88>>2])-G|0))|0,G=0|xr(0|(f=0|f_(0|f,((0|f)<0)<<31>>31,k-R|0,0|D)),0|(V=0|w()),0|(G=0|f_(0|G,((0|G)<0)<<31>>31,0|I,((0|I)<0)<<31>>31)),0|w()),(0|(V=0|w()))>0|!(0|V)&G>>>0>0)break i}}while(0);r=u}}while(0);u=0|_[u>>2]}while((0|u)!=(0|y));_[o+120>>2]=r,y=r}else y=0;if(u=0|_[e+8>>2],_[o+72>>2]=0,u){m=0|Ir(0,0,k-R|0,0|D),h=0|w(),f=u,r=0;do{A=0|_[f+12>>2],i=0|_[A+88>>2],b=0|_[A+92>>2],A=0|_[A+96>>2],G=0|f_(b-k|0,((b-k|0)<0)<<31>>31,0|I,((0|I)<0)<<31>>31),L=0|w(),N=0|f_(0|m,0|h,i-S|0,((i-S|0)<0)<<31>>31);do{if((0|G)==(0|N)&(0|L)==(0|w())&&(N=0|f_(0|B,0|W,i-S|0,((i-S|0)<0)<<31>>31),G=0|w(),G=0|xr(0|(L=0|f_(0|F,0|n,b-k|0,((b-k|0)<0)<<31>>31)),0|w(),0|N,0|G),L=0|xr(0|G,0|(N=0|w()),0|(L=0|f_(0|x,0|O,A-j|0,((A-j|0)<0)<<31>>31)),0|w()),(0|(N=0|w()))>0|!(0|N)&L>>>0>0)){if(0|r){if((0|_[r>>2])!=(0|f))break;if((0|_[r+4>>2])==(0|f)&&(N=0|_[r+12>>2],V=0|_[12+(0|_[f+8>>2])>>2],L=0|_[V+88>>2],G=0|_[V+92>>2],V=0|_[V+96>>2],v=(0|_[N+96>>2])-V|0,G=(0|g(A-V|0,(0|_[N+92>>2])-G|0))-(0|g(v,b-G|0))|0,L=(0|g(v,i-L|0))-(0|g(A-V|0,(0|_[N+88>>2])-L|0))|0,L=0|xr(0|(G=0|f_(0|G,((0|G)<0)<<31>>31,k-R|0,0|D)),0|(N=0|w()),0|(L=0|f_(0|L,((0|L)<0)<<31>>31,0|I,((0|I)<0)<<31>>31)),0|w()),!((0|(N=0|w()))>0|!(0|N)&L>>>0>0)))break}r=f}}while(0);f=0|_[f>>2]}while((0|f)!=(0|u));_[o+72>>2]=r}else r=0;!!(0|y)|!!(0|r)?(bi(t,a,e,o+120|0,o+72|0),(r=0|_[o+120>>2])&&(s=a=0|_[r+12>>2]),(r=0|_[o+72>>2])?(l=e=0|_[r+12>>2],d=e+88|0,p=e+96|0,c=e+92|0,r=a):r=a):r=a,a=0|_[d>>2],i=s,b=1+(0|_[p>>2])|0,s=0|_[c>>2]}for(F=0,n=0,p=0,S=0,x=1,I=0,B=0,c=0,j=0,D=a,R=i,v=e,C=r;;){L=0|_[C+88>>2],O=(0|_[v+88>>2])-L|0,N=0|_[C+92>>2],k=(0|_[v+92>>2])-N|0,W=0|_[C+96>>2],h=(0|_[v+96>>2])-W|0,_[o+120>>2]=O,_[o+120+4>>2]=k,_[o+120+8>>2]=h,_[o+120+12>>2]=-1,L=D-L|0,W=b-W|0,y=(0|g(N=s-N|0,h))-(0|g(W,k))|0,W=(0|g(W,O))-(0|g(L,h))|0,N=(0|g(L,k))-(0|g(N,O))|0,_[o+72>>2]=y,_[o+72+4>>2]=((0|y)<0)<<31>>31,_[o+72+8>>2]=W,_[o+72+8+4>>2]=((0|W)<0)<<31>>31,_[o+72+16>>2]=N,_[o+72+16+4>>2]=((0|N)<0)<<31>>31,V=0|Ir(0|(L=0|f_(0|N,((0|N)<0)<<31>>31,0|k,((0|k)<0)<<31>>31)),0|(G=0|w()),0|(V=0|f_(0|W,((0|W)<0)<<31>>31,0|h,((0|h)<0)<<31>>31)),0|w()),G=0|w(),N=0|Ir(0|(h=0|f_(0|y,((0|y)<0)<<31>>31,0|h,((0|h)<0)<<31>>31)),0|(L=0|w()),0|(N=0|f_(0|N,((0|N)<0)<<31>>31,0|O,((0|O)<0)<<31>>31)),0|w()),L=0|w(),k=0|Ir(0|(O=0|f_(0|W,((0|W)<0)<<31>>31,0|O,((0|O)<0)<<31>>31)),0|(W=0|w()),0|(k=0|f_(0|y,((0|y)<0)<<31>>31,0|k,((0|k)<0)<<31>>31)),0|w()),W=0|w(),_[o+48>>2]=V,_[o+48+4>>2]=G,_[o+48+8>>2]=N,_[o+48+8+4>>2]=L,_[o+48+16>>2]=k,_[o+48+16+4>>2]=W,_[o+24>>2]=0,_[o+24+4>>2]=0,_[o+24+8>>2]=0,_[o+24+12>>2]=0,_[o+24+16>>2]=0,W=0|Li(t,0,C,o+120|0,o+72|0,o+48|0,o+24|0),_[o>>2]=0,_[o+4>>2]=0,_[o+8>>2]=0,_[o+12>>2]=0,_[o+16>>2]=0,k=0|Li(t,1,v,o+120|0,o+72|0,o+48|0,o);do{if(!!(0|W)|!!(0|k)){a=0|W?-1:1;do{if(!!(0|W)&!!(0|k)){if((0|(y=0|_[o+24+16>>2]))!=(0|(a=0|_[o+16>>2]))){f=y-a|0;break}y?(L=0|_[o+24>>2],m=0|_[o+24+4>>2],i=0|_[o+8>>2],G=0|_[o+8+4>>2],d=0|f_(0|i,0,0|L,0),a=0|w(),L=0|f_(0|G,0,0|L,0),N=0|w(),i=0|f_(0|i,0,0|m,0),A=0|w(),m=0|f_(0|G,0,0|m,0),G=0|w(),i=0|xr(0|L,0,0|i,0),L=0|w(),G=0|xr(0|N,0,0|m,0|G),A=0|xr(0|G,0|w(),0|A,0),L=0|xr(0|A,0|w(),0|L,0),A=0|w(),a=0|xr(0,0|i,0|d,0|a),i=0|xr(0|L,0|A,1&((d=0|w())>>>0>>0|(0|d)==(0|i)&a>>>0<0),0),A=0|w(),L=0|_[o+24+8>>2],G=0|_[o+24+8+4>>2],m=0|_[o>>2],N=0|_[o+4>>2],u=0|f_(0|m,0,0|L,0),f=0|w(),L=0|f_(0|N,0,0|L,0),V=0|w(),m=0|f_(0|m,0,0|G,0),h=0|w(),G=0|f_(0|N,0,0|G,0),N=0|w(),m=0|xr(0|L,0,0|m,0),L=0|w(),N=0|xr(0|V,0,0|G,0|N),h=0|xr(0|N,0|w(),0|h,0),L=0|xr(0|h,0|w(),0|L,0),h=0|w(),f=0|xr(0,0|m,0|u,0|f),m=0|xr(0|L,0|h,1&((u=0|w())>>>0>>0|(0|u)==(0|m)&f>>>0<0),0),h=0|w(),f=0|g(a=A>>>0>>0|(0|A)==(0|h)&i>>>0>>0?-1:A>>>0>h>>>0|(0|A)==(0|h)&i>>>0>m>>>0?1:d>>>0>>0|(0|d)==(0|u)&a>>>0>>0?-1:1&(d>>>0>u>>>0|(0|d)==(0|u)&a>>>0>f>>>0),y)):f=0}else f=a}while(0);do{if(!x){if((0|f)>-1){if((0|_[o+16>>2])<0&(0|_[o+8>>2]?0:!(0|_[o+8+4>>2]))){A=j;break}T=139;break}if((0|_[o+24+16>>2])<0&(0|_[o+24+8>>2]?0:!(0|_[o+24+8+4>>2]))){A=j;break}T=139;break}T=139}while(0);if(139==(0|T)&&(T=0,d=0|rt(t,C,v),S?_[S+4>>2]=d:p=d,_[d>>2]=S,a=0|_[d+8>>2],j?_[j>>2]=a:c=a,_[a+4>>2]=j,S=d,A=a),_[o+116>>2]=W,_[o+112>>2]=k,f?a=k:(bi(t,R,l,o+116|0,o+112|0),a=0|_[o+112>>2]),(0|f)>-1&!!(0|a)){if((i=!!(0|I))&&(0|(P=0|_[I>>2]))!=(0|k)){a=P;do{d=a,a=0|_[a>>2],b=0|_[d+8>>2],(0|a)==(0|d)?s=0:(_[a+4>>2]=_[d+4>>2],_[_[d+4>>2]>>2]=a,s=a),_[8+(0|_[b+12>>2])>>2]=s,(0|(s=0|_[b>>2]))==(0|b)?(_[8+(0|_[d+12>>2])>>2]=0,s=b+4|0):(_[s+4>>2]=_[b+4>>2],_[_[b+4>>2]>>2]=s,_[8+(0|_[d+12>>2])>>2]=s,s=b+4|0),_[d+4>>2]=0,_[d+4+4>>2]=0,_[d+4+8>>2]=0,_[d+4+12>>2]=0,_[d>>2]=_[t+56>>2],_[t+56>>2]=d,_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[b>>2]=_[t+56>>2],_[t+56>>2]=b,_[t+116>>2]=(0|_[t+116>>2])-1}while((0|a)!=(0|k))}do{if(A){if(i){_[I>>2]=c,_[c+4>>2]=I,_[A>>2]=k,_[k+4>>2]=A,s=B,c=0;break}s=0|_[k+4>>2],_[s>>2]=c,_[c+4>>2]=s,_[A>>2]=k,_[k+4>>2]=A,s=c,c=0;break}s=i?B:k}while(0);L=l,l=0|_[o+112>>2],y=0|_[l+8>>2],m=s,I=0,l=0|_[l+12>>2],a=0|_[L+88>>2],b=0|_[L+96>>2],s=0|_[L+92>>2]}else y=I,m=B,I=A,a=D;if((0|f)<1&!!(0|_[o+116>>2])){if((i=!!(0|F))&&(0|(M=0|_[F+4>>2]))!=(0|W)){a=M;do{d=a,a=0|_[(b=a+4|0)>>2],s=0|_[d>>2],A=0|_[d+8>>2],(0|s)==(0|d)?s=0:(_[s+4>>2]=a,_[_[b>>2]>>2]=s),_[8+(0|_[A+12>>2])>>2]=s,(0|(s=0|_[A>>2]))==(0|A)?(_[8+(0|_[d+12>>2])>>2]=0,s=A+4|0):(_[s+4>>2]=_[A+4>>2],_[_[A+4>>2]>>2]=s,_[8+(0|_[d+12>>2])>>2]=s,s=A+4|0),_[b>>2]=0,_[b+4>>2]=0,_[b+8>>2]=0,_[b+12>>2]=0,_[d>>2]=_[t+56>>2],_[t+56>>2]=d,_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[A>>2]=_[t+56>>2],_[t+56>>2]=A,_[t+116>>2]=(0|_[t+116>>2])-1}while((0|a)!=(0|W))}do{if(S){if(i){_[p>>2]=F,_[F+4>>2]=p,_[W>>2]=S,_[S+4>>2]=W,s=n,p=0;break}s=0|_[W>>2],_[p>>2]=s,_[s+4>>2]=p,_[W>>2]=S,_[S+4>>2]=W,s=p,p=0;break}s=i?n:W}while(0);L=R,R=0|_[o+116>>2],h=0|_[R+8>>2],u=s,S=0,k=0|_[L+88>>2],R=0|_[R+12>>2],j=0|_[L+96>>2],s=0|_[L+92>>2]}else h=F,u=n,k=a,j=b;if((0|r)==(0|R)&(0|e)==(0|l)){if(h){if((0|(a=0|_[(f=h+4|0)>>2]))!=(0|u))do{i=a,a=0|_[(b=a+4|0)>>2],d=0|_[i>>2],A=0|_[i+8>>2],(0|d)==(0|i)?d=0:(_[d+4>>2]=a,_[_[b>>2]>>2]=d),_[8+(0|_[A+12>>2])>>2]=d,(0|(d=0|_[A>>2]))==(0|A)?(_[8+(0|_[i+12>>2])>>2]=0,d=A+4|0):(_[d+4>>2]=_[A+4>>2],_[_[A+4>>2]>>2]=d,_[8+(0|_[i+12>>2])>>2]=d,d=A+4|0),_[b>>2]=0,_[b+4>>2]=0,_[b+8>>2]=0,_[b+12>>2]=0,_[i>>2]=_[t+56>>2],_[t+56>>2]=i,_[d>>2]=0,_[d+4>>2]=0,_[d+8>>2]=0,_[d+12>>2]=0,_[A>>2]=_[t+56>>2],_[t+56>>2]=A,_[t+116>>2]=(0|_[t+116>>2])-1}while((0|a)!=(0|u));0|S&&(_[p>>2]=h,_[f>>2]=p,_[u>>2]=S,_[S+4>>2]=u)}else _[p>>2]=S,_[S+4>>2]=p,_[R+8>>2]=S;if(!y){_[I>>2]=c,_[c+4>>2]=I,_[e+8>>2]=I,v=0,C=x,y=0,A=S,f=I,i=l,a=k,d=R,b=j;break}if((0|(a=0|_[y>>2]))!=(0|m))do{i=a,a=0|_[a>>2],b=0|_[i+8>>2],(0|a)==(0|i)?d=0:(_[a+4>>2]=_[i+4>>2],_[_[i+4>>2]>>2]=a,d=a),_[8+(0|_[b+12>>2])>>2]=d,(0|(d=0|_[b>>2]))==(0|b)?(_[8+(0|_[i+12>>2])>>2]=0,d=b+4|0):(_[d+4>>2]=_[b+4>>2],_[_[b+4>>2]>>2]=d,_[8+(0|_[i+12>>2])>>2]=d,d=b+4|0),_[i+4>>2]=0,_[i+4+4>>2]=0,_[i+4+8>>2]=0,_[i+4+12>>2]=0,_[i>>2]=_[t+56>>2],_[t+56>>2]=i,_[d>>2]=0,_[d+4>>2]=0,_[d+8>>2]=0,_[d+12>>2]=0,_[b>>2]=_[t+56>>2],_[t+56>>2]=b,_[t+116>>2]=(0|_[t+116>>2])-1}while((0|a)!=(0|m));I?(_[y>>2]=c,_[c+4>>2]=y,_[I>>2]=m,_[m+4>>2]=I,v=0,C=x,A=S,f=I,i=l,a=k,d=R,b=j):(v=0,C=x,A=S,f=0,i=l,a=k,d=R,b=j)}else v=1,C=0,A=S,f=I,i=l,a=k,d=R,b=j}else h=0|rt(t,C,v),_[h>>2]=h,_[h+4>>2]=h,_[C+8>>2]=h,C=0|_[h+8>>2],_[C>>2]=C,_[C+4>>2]=C,_[v+8>>2]=C,v=0,C=x,h=F,y=I,u=n,A=S,m=B,f=j,i=l,a=D,d=R}while(0);if(!v)break e;F=h,n=u,S=A,x=C,I=y,B=m,j=f,l=i,D=a,R=d,v=i,C=d}}}while(0);return void(Q=o)}}while(0);_[r+8>>2]=0,_[r>>2]=r,_[r+4>>2]=r,_[n>>2]=r,_[n+4>>2]=r,_[n+8>>2]=r,_[n+12>>2]=r,Q=o}var Il=[vl,function(t){var e,i,n,o=0;return e=Q,Q=Q+32|0,_d[127&_[12+(0|_[(t|=0)>>2])>>2]](t,e+8|0,e),n=+p[e+8>>2],i=+p[e+8+4>>2],o=+p[e+8+8>>2],o=+b(+(n*n+i*i+o*o)),Q=e,+(+p[e>>2]+o)},ga,Us,ca,ba,function(t){return+ +p[28+(t|=0)>>2]*+p[t+12>>2]},Mo,function(t){var e,i;return i=+p[32+(t|=0)>>2],Il[15&_[48+(0|_[t>>2])>>2]](t),e=+Il[15&_[48+(0|_[t>>2])>>2]](t),Il[15&_[48+(0|_[t>>2])>>2]](t),+(i+e)},Mo,vl,vl,vl,vl,vl,vl],Bl=[function(t,e){return e=+e,v(1),0},function(t,e){return e=+e,+ +Il[15&_[16+(0|_[(t|=0)>>2])>>2]](t)*e}],Wl=[Yp,bn,bn,Yp],Fl=[Oa,function(t,e,i){e|=0,i|=0;var n,o=0,r=0;return n=Q,Q=Q+16|0,_[4+(t|=0)>>2]=_[e+24>>2],o=0|_[e>>2],_[t+8>>2]=o,i?(_[t+52>>2]=_[e+8>>2],_[t+52+4>>2]=_[e+8+4>>2],_[t+52+8>>2]=_[e+8+8>>2],_[t+52+12>>2]=_[e+8+12>>2],Io(t+68|0,i=t+20|0,o=t+36|0,r=+p[e+24>>2]),r=+p[e+24>>2],Q=n,+r):(Fn(n,i=0|Cl(0|sl(o)),+p[e+8>>2],+p[e+12>>2],+p[e+16>>2]),_[t+52>>2]=_[n>>2],_[t+52+4>>2]=_[n+4>>2],_[t+52+8>>2]=_[n+8>>2],_[t+52+12>>2]=_[n+12>>2],Io(i=t+68|0,o=t+20|0,t+36|0,r=+p[e+24>>2]),r=+p[e+24>>2],Q=n,+r)},function(t,e,i){e|=0,i|=0;var n,o=0;return n=Q,Q=Q+16|0,_[4+(t|=0)>>2]=_[e+40>>2],o=0|_[e>>2],_[t+76>>2]=o,i?(_[t+44>>2]=_[e+8>>2],_[t+44+4>>2]=_[e+8+4>>2],_[t+44+8>>2]=_[e+8+8>>2],_[t+44+12>>2]=_[e+8+12>>2]):(Fn(n,o=0|Cl(0|sl(o)),+p[e+8>>2],+p[e+12>>2],+p[e+16>>2]),_[t+44>>2]=_[n>>2],_[t+44+4>>2]=_[n+4>>2],_[t+44+8>>2]=_[n+8>>2],_[t+44+12>>2]=_[n+12>>2]),_[t+60>>2]=_[e+24>>2],_[t+60+4>>2]=_[e+24+4>>2],_[t+60+8>>2]=_[e+24+8>>2],_[t+60+12>>2]=_[e+24+12>>2],Q=n,+ +p[e+40>>2]},function(t,e,i){t|=0,i|=0;var n,o=0,r=0,s=0,c=0,a=0;return(0|(n=0|_[(e|=0)>>2]))==(0|_[t+80>>2])||4&_[n+204>>2]||(+p[t+28>>2]-+p[t+12>>2])*+p[e+8>>2]+(+p[t+32>>2]-+p[t+16>>2])*+p[e+12>>2]+(+p[t+36>>2]-+p[t+20>>2])*+p[e+16>>2]>=-+p[t+84>>2]?+(o=1):(_[t+4>>2]=_[e+40>>2],_[t+76>>2]=n,i?(_[t+44>>2]=_[e+8>>2],_[t+44+4>>2]=_[e+8+4>>2],_[t+44+8>>2]=_[e+8+8>>2],_[t+44+12>>2]=_[e+8+12>>2]):(a=+p[e+8>>2],c=+p[e+12>>2],s=+p[e+16>>2],r=a*+p[n+20>>2]+c*+p[n+24>>2]+s*+p[n+28>>2],o=a*+p[n+36>>2]+c*+p[n+40>>2]+s*+p[n+44>>2],p[t+44>>2]=+p[n+4>>2]*a+ +p[n+8>>2]*c+ +p[n+12>>2]*s,p[t+48>>2]=r,p[t+52>>2]=o,p[t+56>>2]=0),_[t+60>>2]=_[e+24>>2],_[t+60+4>>2]=_[e+24+4>>2],_[t+60+8>>2]=_[e+24+8>>2],_[t+60+12>>2]=_[e+24+12>>2],+(a=+p[e+40>>2]))},function(t,e,i){return 0},function(t,e,i){t|=0,e|=0,i|=0;var n=0;t:do{if(i>>>0>=3)if((i+-3|0)>>>0<3)switch(0|e){case 2:n=+p[t+868+(i+-3<<6)+32>>2];break t;case 4:n=+p[t+868+(i+-3<<6)+36>>2];break t;case 3:n=+p[t+868+(i+-3<<6)+28>>2];break t;default:n=0;break t}else n=0;else switch(0|e){case 2:n=+p[t+756+(i<<2)>>2];break t;case 4:n=+p[t+772+(i<<2)>>2];break t;case 3:n=+p[t+740+(i<<2)>>2];break t;default:n=0;break t}}while(0);return+n},function(t,e,i){t|=0,e|=0,i|=0;var n=0;t:do{if(-1==(0|i))switch(0|e){case 2:case 1:n=+p[t+336>>2];break t;case 4:case 3:n=+p[t+340>>2];break t;default:n=34028234663852886e22;break t}else n=34028234663852886e22}while(0);return+n},function(t,e,i){t|=0,e|=0,i|=0;var n=0;t:do{switch(0|e){case 2:if((0|i)<1){n=+p[t+232>>2];break t}if((0|i)<3){n=+p[t+264>>2];break t}if(3==(0|i)){n=+p[t+248>>2];break t}n=(0|i)<6?+p[t+280>>2]:34028234663852886e22;break;case 3:if((0|i)<1){n=+p[t+212>>2];break t}n=3==(0|i)?+p[t+228>>2]:34028234663852886e22;break;case 4:if((0|i)<1){n=+p[t+244>>2];break t}if((0|i)<3){n=+p[t+276>>2];break t}if(3==(0|i)){n=+p[t+260>>2];break t}n=(0|i)<6?+p[t+292>>2]:34028234663852886e22;break;default:n=34028234663852886e22}}while(0);return+n},function(t,e,i){t|=0,e|=0,i|=0;var n=0;t:do{switch(0|e){case 2:case 1:if(i>>>0<3){n=+p[t+600>>2];break t}n=(i+-3|0)>>>0<3?+p[t+432>>2]:0;break;case 4:case 3:if(i>>>0<3){n=+p[t+596>>2];break t}n=(i+-3|0)>>>0<3?+p[t+604>>2]:0;break;default:n=0}}while(0);return+n},function(t,e,i){t|=0,e|=0,i|=0;var n=0;t:do{switch(0|i){case 5:case-1:switch(0|e){case 2:n=+p[t+760>>2];break t;case 4:n=+p[t+756>>2];break t;case 3:n=+p[t+752>>2];break t;default:n=0;break t}default:n=0}}while(0);return+n},function(t,e,i){t|=0,i|=0;var n,o=0,r=0,s=0,c=0,a=0;return(0|(n=0|_[(e|=0)>>2]))==(0|_[t+80>>2])||4&_[n+204>>2]?+(s=1):(i?(o=+p[e+8>>2],r=+p[e+12>>2],s=+p[e+16>>2]):(a=+p[e+8>>2],c=+p[e+12>>2],s=+p[e+16>>2],o=+p[n+4>>2]*a+ +p[n+8>>2]*c+ +p[n+12>>2]*s,r=a*+p[n+20>>2]+c*+p[n+24>>2]+s*+p[n+28>>2],s=a*+p[n+36>>2]+c*+p[n+40>>2]+s*+p[n+44>>2]),o*+p[t+84>>2]+r*+p[t+88>>2]+s*+p[t+92>>2]<+p[t+100>>2]?+(a=1):(_[t+4>>2]=_[e+40>>2],_[t+76>>2]=n,i?(_[t+44>>2]=_[e+8>>2],_[t+44+4>>2]=_[e+8+4>>2],_[t+44+8>>2]=_[e+8+8>>2],_[t+44+12>>2]=_[e+8+12>>2]):(o=+p[e+8>>2],r=+p[e+12>>2],s=+p[e+16>>2],c=o*+p[n+20>>2]+r*+p[n+24>>2]+s*+p[n+28>>2],a=o*+p[n+36>>2]+r*+p[n+40>>2]+s*+p[n+44>>2],p[t+44>>2]=+p[n+4>>2]*o+ +p[n+8>>2]*r+ +p[n+12>>2]*s,p[t+48>>2]=c,p[t+52>>2]=a,p[t+56>>2]=0),_[t+60>>2]=_[e+24>>2],_[t+60+4>>2]=_[e+24+4>>2],_[t+60+8>>2]=_[e+24+8>>2],_[t+60+12>>2]=_[e+24+12>>2],+(a=+p[e+40>>2])))},function(t,e,i){var n,o,r;return t|=0,e|=0,i|=0,n=Q,Q=Q+16|0,_[n>>2]=-1,_[n+4>>2]=_[t+24>>2],0|_[e+4>>2]||(_[e+4>>2]=n),r=0|_[t+20>>2],o=+Fl[15&_[12+(0|_[r>>2])>>2]](r,e,i),_[t+4>>2]=_[4+(0|_[t+20>>2])>>2],Q=n,+o},function(t,e,i){var n,o,r;return t|=0,e|=0,i|=0,n=Q,Q=Q+16|0,_[n>>2]=-1,_[n+4>>2]=_[t+16>>2],0|_[e+4>>2]||(_[e+4>>2]=n),r=0|_[t+12>>2],o=+Fl[15&_[12+(0|_[r>>2])>>2]](r,e,i),_[t+4>>2]=_[4+(0|_[t+12>>2])>>2],Q=n,+o},function(t,e,i){switch(e|=0,i|=0,0|_[96+(t|=0)>>2]){case 0:return i=(0|_[t+92>>2])+((0|g(0|_[t+64>>2],i))+e<<2)|0,+ +p[i>>2];case 5:return i=(0|_[t+92>>2])+((0|g(0|_[t+64>>2],i))+e)|0,+ +p[t+88>>2]*+(0|r[0|i]);case 3:return i=(0|_[t+92>>2])+((0|g(0|_[t+64>>2],i))+e<<1)|0,+ +p[t+88>>2]*+(0|o[i>>1]);default:return 0}return 0},Oa,Oa],xl=[_p,function(t,e,i,n,o,r){var s;return t|=0,e|=0,i|=0,n=+n,o|=0,r|=0,s=Q,Q=Q+64|0,_[s+48>>2]=o,_[s+48+4>>2]=r,o=0|_[t+212>>2],+p[o+4>>2]>=n?(_[s>>2]=_[t+216>>2],_[s+4>>2]=s+48,_[s+8>>2]=_[e>>2],_[s+8+4>>2]=_[e+4>>2],_[s+8+8>>2]=_[e+8>>2],_[s+8+12>>2]=_[e+12>>2],_[s+24>>2]=_[i>>2],_[s+24+4>>2]=_[i+4>>2],_[s+24+8>>2]=_[i+8>>2],_[s+24+12>>2]=_[i+12>>2],p[s+40>>2]=n,n=+Fl[15&_[12+(0|_[o>>2])>>2]](o,s,1),Q=s,+n):(Q=s,+n)},function(t,e,i,n,o,r){var s;return t|=0,e|=0,i|=0,n=+n,o|=0,r|=0,s=Q,Q=Q+64|0,_[s+48>>2]=o,_[s+48+4>>2]=r,o=0|_[t+212>>2],+p[o+4>>2]>=n?(_[s>>2]=_[t+216>>2],_[s+4>>2]=s+48,_[s+8>>2]=_[e>>2],_[s+8+4>>2]=_[e+4>>2],_[s+8+8>>2]=_[e+8>>2],_[s+8+12>>2]=_[e+12>>2],_[s+24>>2]=_[i>>2],_[s+24+4>>2]=_[i+4>>2],_[s+24+8>>2]=_[i+8>>2],_[s+24+12>>2]=_[i+12>>2],p[s+40>>2]=n,n=+Fl[15&_[12+(0|_[o>>2])>>2]](o,s,0),Q=s,+n):(Q=s,+n)},_p],Ol=[function(t,e,i,n){return v(5),0},function(t,e,i,o){e|=0,i|=0,o|=0;var r,s=0,c=0,a=0,l=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0;if(r=Q,Q=Q+80|0,c=0|_[28+(t|=0)>>2],!!(4&(e=0|_[o+64>>2]))&(0|c)>0)if(i=0|_[t+36>>2],s=0|_[t+76>>2],16&e){e=0;do{l=0|_[i+(152*e|0)+132>>2],_[l+120>>2]=_[i+(152*e|0)+100>>2],a=0|_[i+(152*e|0)+140>>2],_[l+124>>2]=_[s+(152*a|0)+100>>2],_[l+128>>2]=_[s+(152*(a+1|0)|0)+100>>2],e=e+1|0}while((0|e)!=(0|c))}else{e=0;do{l=0|_[i+(152*e|0)+132>>2],_[l+120>>2]=_[i+(152*e|0)+100>>2],_[l+124>>2]=_[s+(152*(0|_[i+(152*e|0)+140>>2])|0)+100>>2],e=e+1|0}while((0|e)!=(0|c))}if((0|(s=0|_[t+48>>2]))>0){e=0;do{c=0|_[t+56>>2],a=0|_[c+(152*e|0)+132>>2],i=c+(152*e|0)+100|0,0|(l=0|_[a+44>>2])&&(f=+p[i>>2],h=0|_[a+28>>2],A=1/+p[o+12>>2],b=f*+p[c+(152*e|0)+20>>2]*+p[h+352>>2]*A,u=f*+p[c+(152*e|0)+24>>2]*+p[h+356>>2]*A,p[l>>2]=+p[l>>2]+ +p[c+(152*e|0)+16>>2]*f*+p[h+348>>2]*A,p[l+4>>2]=b+ +p[l+4>>2],p[l+8>>2]=u+ +p[l+8>>2],u=+p[i>>2],m=0|_[a+32>>2],b=1/+p[o+12>>2],A=u*+p[c+(152*e|0)+52>>2]*+p[m+352>>2]*b,f=u*+p[c+(152*e|0)+56>>2]*+p[m+356>>2]*b,p[l+32>>2]=+p[l+32>>2]+ +p[c+(152*e|0)+48>>2]*u*+p[m+348>>2]*b,p[l+36>>2]=A+ +p[l+36>>2],p[l+40>>2]=f+ +p[l+40>>2],f=+p[i>>2],A=1/+p[o+12>>2],b=+p[c+(152*e|0)+4>>2]*+p[h+548>>2]*f*A,u=f*(+p[c+(152*e|0)+8>>2]*+p[h+552>>2])*A,p[l+16>>2]=+p[l+16>>2]+ +p[c+(152*e|0)>>2]*+p[h+544>>2]*f*A,p[l+20>>2]=b+ +p[l+20>>2],p[l+24>>2]=u+ +p[l+24>>2],u=+p[i>>2],b=1/+p[o+12>>2],A=+p[c+(152*e|0)+36>>2]*+p[m+548>>2]*u*b,f=u*(+p[c+(152*e|0)+40>>2]*+p[m+552>>2])*b,p[l+48>>2]=+p[l+48>>2]+ +p[c+(152*e|0)+32>>2]*+p[m+544>>2]*u*b,p[l+52>>2]=A+ +p[l+52>>2],p[l+56>>2]=f+ +p[l+56>>2]),u=+p[i>>2],p[a+36>>2]=u,(u=+d(+u))>=+p[a+16>>2]&&(n[a+20|0]=0),e=e+1|0}while((0|e)!=(0|s))}if((0|(e=0|_[t+8>>2]))>0){a=0,i=0|_[t+16>>2];do{s=i+(244*a|0)|0,(c=0|_[i+(244*a|0)+240>>2])&&(0|_[o+44>>2]?(b=+p[o+12>>2],A=+p[o+52>>2],p[(e=i+(244*a|0)+176|0)>>2]=+p[i+(244*a|0)+64>>2]+ +p[e>>2],p[(e=i+(244*a|0)+180|0)>>2]=+p[i+(244*a|0)+68>>2]+ +p[e>>2],p[(e=i+(244*a|0)+184|0)>>2]=+p[i+(244*a|0)+72>>2]+ +p[e>>2],p[(e=i+(244*a|0)+192|0)>>2]=+p[i+(244*a|0)+80>>2]+ +p[e>>2],p[(e=i+(244*a|0)+196|0)>>2]=+p[i+(244*a|0)+84>>2]+ +p[e>>2],p[(e=i+(244*a|0)+200|0)>>2]=+p[i+(244*a|0)+88>>2]+ +p[e>>2],e=i+(244*a|0)+148|0,0==(f=+p[i+(244*a|0)+144>>2])&&0==+p[e>>2]&&0==+p[i+(244*a|0)+152>>2]&&0==+p[i+(244*a|0)+160>>2]&&0==+p[i+(244*a|0)+164>>2]&&0==+p[i+(244*a|0)+168>>2]?e=c:(y=+p[i+(244*a|0)+164>>2]*A,u=+p[i+(244*a|0)+168>>2]*A,p[r>>2]=+p[i+(244*a|0)+160>>2]*A,p[r+4>>2]=y,p[r+8>>2]=u,p[r+12>>2]=0,Bt(s,f,+p[e>>2],+p[i+(244*a|0)+152>>2],r,b,r+16|0),_[s>>2]=_[r+16>>2],_[s+4>>2]=_[r+16+4>>2],_[s+8>>2]=_[r+16+8>>2],_[s+12>>2]=_[r+16+12>>2],_[(e=i+(244*a|0)+16|0)>>2]=_[r+16+16>>2],_[e+4>>2]=_[r+16+16+4>>2],_[e+8>>2]=_[r+16+16+8>>2],_[e+12>>2]=_[r+16+16+12>>2],_[(e=i+(244*a|0)+32|0)>>2]=_[r+16+32>>2],_[e+4>>2]=_[r+16+32+4>>2],_[e+8>>2]=_[r+16+32+8>>2],_[e+12>>2]=_[r+16+32+12>>2],_[(e=i+(244*a|0)+48|0)>>2]=_[r+16+48>>2],_[e+4>>2]=_[r+16+48+4>>2],_[e+8>>2]=_[r+16+48+8>>2],_[e+12>>2]=_[r+16+48+12>>2],i=e=0|_[t+16>>2],e=0|_[e+(244*a|0)+240>>2]),s=i,A=+p[i+(244*a|0)+176>>2],f=+p[i+(244*a|0)+180>>2],b=+p[i+(244*a|0)+184>>2]):(s=i+(244*a|0)+176|0,A=+p[i+(244*a|0)+64>>2]+ +p[s>>2],p[s>>2]=A,s=i+(244*a|0)+180|0,f=+p[i+(244*a|0)+68>>2]+ +p[s>>2],p[s>>2]=f,s=i+(244*a|0)+184|0,b=+p[i+(244*a|0)+72>>2]+ +p[s>>2],p[s>>2]=b,p[(s=i+(244*a|0)+192|0)>>2]=+p[i+(244*a|0)+80>>2]+ +p[s>>2],p[(s=i+(244*a|0)+196|0)>>2]=+p[i+(244*a|0)+84>>2]+ +p[s>>2],p[(s=i+(244*a|0)+200|0)>>2]=+p[i+(244*a|0)+88>>2]+ +p[s>>2],s=i,e=c),y=A+ +p[s+(244*a|0)+208>>2],u=f+ +p[s+(244*a|0)+212>>2],f=b+ +p[s+(244*a|0)+216>>2],_[(m=e+260|0)>>2]=1+(0|_[m>>2]),p[e+312>>2]=y,p[e+316>>2]=u,p[e+320>>2]=f,p[e+324>>2]=0,m=0|_[t+16>>2],h=0|_[m+(244*a|0)+240>>2],f=+p[m+(244*a|0)+192>>2]+ +p[m+(244*a|0)+224>>2],u=+p[m+(244*a|0)+196>>2]+ +p[m+(244*a|0)+228>>2],y=+p[m+(244*a|0)+200>>2]+ +p[m+(244*a|0)+232>>2],_[h+260>>2]=1+(0|_[h+260>>2]),p[h+328>>2]=f,p[h+332>>2]=u,p[h+336>>2]=y,p[h+340>>2]=0,0|_[o+44>>2]&&(m=0|_[t+16>>2],h=0|_[m+(244*a|0)+240>>2],l=m+(244*a|0)|0,_[h+260>>2]=1+(0|_[h+260>>2]),_[h+4>>2]=_[l>>2],_[h+4+4>>2]=_[l+4>>2],_[h+4+8>>2]=_[l+8>>2],_[h+4+12>>2]=_[l+12>>2],l=m+(244*a|0)+16|0,_[h+20>>2]=_[l>>2],_[h+20+4>>2]=_[l+4>>2],_[h+20+8>>2]=_[l+8>>2],_[h+20+12>>2]=_[l+12>>2],l=m+(244*a|0)+32|0,_[h+36>>2]=_[l>>2],_[h+36+4>>2]=_[l+4>>2],_[h+36+8>>2]=_[l+8>>2],_[h+36+12>>2]=_[l+12>>2],m=m+(244*a|0)+48|0,_[h+52>>2]=_[m>>2],_[h+52+4>>2]=_[m+4>>2],_[h+52+8>>2]=_[m+8>>2],_[h+52+12>>2]=_[m+12>>2]),i=0|_[t+16>>2],_[212+(0|_[i+(244*a|0)+240>>2])>>2]=-1,e=0|_[t+8>>2]),a=a+1|0}while((0|a)<(0|e))}return(0|_[t+28>>2])<0&&(0|_[t+32>>2])<0&&(0|(e=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=0,_[t+32>>2]=0),_[t+28>>2]=0,(0|_[t+48>>2])<0&&(0|_[t+52>>2])<0&&(0|(e=0|_[t+56>>2])&&(0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+56>>2]=0),n[t+60|0]=1,_[t+56>>2]=0,_[t+52>>2]=0),_[t+48>>2]=0,(0|_[t+68>>2])<0&&(0|_[t+72>>2])<0&&(0|(e=0|_[t+76>>2])&&(0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+76>>2]=0),n[t+80|0]=1,_[t+76>>2]=0,_[t+72>>2]=0),_[t+68>>2]=0,(0|_[t+88>>2])<0&&(0|_[t+92>>2])<0&&(0|(e=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=0,_[t+92>>2]=0),_[t+88>>2]=0,(0|_[t+8>>2])>=0||(0|_[t+12>>2])>=0?(_[t+8>>2]=0,Q=r,0):(0|(e=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=0,_[t+12>>2]=0,_[t+8>>2]=0,Q=r,0)}],Tl=[xp,cr,function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B,W,F,x,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0;return x=Q,Q=Q+240|0,r=(o=!!(0|n[8+(t|=0)|0]))?i:e,o=o?e:i,(Z=+p[r+116>>2]-+p[r+52>>2])*Z+(U=+p[r+120>>2]-+p[r+56>>2])*U+(Y=+p[r+124>>2]-+p[r+60>>2])*Y<(J=+p[r+252>>2])*J?(Q=x,+(X=1)):(v=+p[o+4>>2],S=+p[o+20>>2],w=+p[o+36>>2],k=+p[o+8>>2],R=+p[o+24>>2],j=+p[o+40>>2],D=+p[o+12>>2],I=+p[o+28>>2],B=+p[o+44>>2],T=-+p[o+52>>2],P=-+p[o+56>>2],M=-+p[o+60>>2],W=+p[r+4>>2],F=+p[r+20>>2],Z=+p[r+36>>2],U=+p[r+8>>2],Y=+p[r+24>>2],J=+p[r+40>>2],s=+p[r+12>>2],c=+p[r+28>>2],a=+p[r+44>>2],l=v*T+S*P+w*M+(v*(E=+p[r+52>>2])+S*(L=+p[r+56>>2])+w*(N=+p[r+60>>2])),d=k*T+R*P+j*M+(k*E+R*L+j*N),N=D*T+I*P+B*M+(D*E+I*L+B*N),L=+p[r+68>>2],E=+p[r+84>>2],b=+p[r+100>>2],A=+p[r+72>>2],f=+p[r+88>>2],u=+p[r+104>>2],m=+p[r+76>>2],h=+p[r+92>>2],y=+p[r+108>>2],g=v*T+S*P+w*M+(v*(V=+p[r+116>>2])+S*(G=+p[r+120>>2])+w*(H=+p[r+124>>2])),C=k*T+R*P+j*M+(k*V+R*G+j*H),H=D*T+I*P+B*M+(D*V+I*G+B*H),o=0|_[o+192>>2],((0|_[o+4>>2])-21|0)>>>0>=9?(Q=x,+(X=1)):(p[x+224>>2]=l,p[x+224+4>>2]=d,p[x+224+8>>2]=N,p[x+224+12>>2]=0,g>2]=g,O=g):O=l,C>2]=C,T=C):T=d,H>2]=H,P=H):P=N,p[x+208>>2]=l,p[x+208+4>>2]=d,p[x+208+8>>2]=N,p[x+208+12>>2]=0,l>2]=g,M=g):M=l,d>2]=C,V=C):V=d,N>2]=H,G=H):G=N,z=+p[r+248>>2],p[x+224>>2]=O-z,p[x+224+4>>2]=T-z,p[x+224+8>>2]=P-z,p[x+208>>2]=z+M,p[x+208+4>>2]=z+V,p[x+208+8>>2]=z+G,_[x>>2]=4516,p[x+4>>2]=v*W+S*F+w*Z,p[x+8>>2]=v*U+S*Y+w*J,p[x+12>>2]=v*s+S*c+w*a,p[x+16>>2]=0,p[x+20>>2]=k*W+R*F+j*Z,p[x+24>>2]=k*U+R*Y+j*J,p[x+28>>2]=k*s+R*c+j*a,p[x+32>>2]=0,p[x+36>>2]=D*W+I*F+B*Z,p[x+40>>2]=D*U+I*Y+B*J,p[x+44>>2]=D*s+I*c+B*a,p[x+48>>2]=0,p[x+52>>2]=l,p[x+56>>2]=d,p[x+60>>2]=N,p[x+64>>2]=0,p[x+68>>2]=v*L+S*E+w*b,p[x+72>>2]=v*A+S*f+w*u,p[x+76>>2]=v*m+S*h+w*y,p[x+80>>2]=0,p[x+84>>2]=k*L+R*E+j*b,p[x+88>>2]=k*A+R*f+j*u,p[x+92>>2]=k*m+R*h+j*y,p[x+96>>2]=0,p[x+100>>2]=D*L+I*E+B*b,p[x+104>>2]=D*A+I*f+B*u,p[x+108>>2]=D*m+I*h+B*y,p[x+112>>2]=0,p[x+116>>2]=g,p[x+120>>2]=C,p[x+124>>2]=H,p[x+128>>2]=0,p[x+196>>2]=z,_[x+200>>2]=_[r+244>>2],0|o&&(pd[127&_[64+(0|_[o>>2])>>2]](o,x,x+224|0,x+208|0),(X=+p[x+200>>2])<+p[r+244>>2])?(p[r+244>>2]=X,Q=x,+(z=X)):(Q=x,+(z=1))))},cr,cr,function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B,W,F,x,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0;return x=Q,Q=Q+240|0,r=(o=!!(0|n[8+(t|=0)|0]))?i:e,o=o?e:i,(Z=+p[r+116>>2]-+p[r+52>>2])*Z+(U=+p[r+120>>2]-+p[r+56>>2])*U+(Y=+p[r+124>>2]-+p[r+60>>2])*Y<(J=+p[r+252>>2])*J?(Q=x,+(X=1)):(v=+p[o+4>>2],S=+p[o+20>>2],w=+p[o+36>>2],k=+p[o+8>>2],R=+p[o+24>>2],j=+p[o+40>>2],D=+p[o+12>>2],I=+p[o+28>>2],B=+p[o+44>>2],T=-+p[o+52>>2],P=-+p[o+56>>2],M=-+p[o+60>>2],W=+p[r+4>>2],F=+p[r+20>>2],Z=+p[r+36>>2],U=+p[r+8>>2],Y=+p[r+24>>2],J=+p[r+40>>2],s=+p[r+12>>2],c=+p[r+28>>2],a=+p[r+44>>2],l=v*T+S*P+w*M+(v*(E=+p[r+52>>2])+S*(L=+p[r+56>>2])+w*(N=+p[r+60>>2])),d=k*T+R*P+j*M+(k*E+R*L+j*N),N=D*T+I*P+B*M+(D*E+I*L+B*N),L=+p[r+68>>2],E=+p[r+84>>2],b=+p[r+100>>2],A=+p[r+72>>2],f=+p[r+88>>2],u=+p[r+104>>2],m=+p[r+76>>2],h=+p[r+92>>2],y=+p[r+108>>2],g=v*T+S*P+w*M+(v*(V=+p[r+116>>2])+S*(G=+p[r+120>>2])+w*(H=+p[r+124>>2])),C=k*T+R*P+j*M+(k*V+R*G+j*H),H=D*T+I*P+B*M+(D*V+I*G+B*H),o=0|_[o+192>>2],((0|_[o+4>>2])-21|0)>>>0>=9?(Q=x,+(X=1)):(p[x+224>>2]=l,p[x+224+4>>2]=d,p[x+224+8>>2]=N,p[x+224+12>>2]=0,g>2]=g,O=g):O=l,C>2]=C,T=C):T=d,H>2]=H,P=H):P=N,p[x+208>>2]=l,p[x+208+4>>2]=d,p[x+208+8>>2]=N,p[x+208+12>>2]=0,l>2]=g,M=g):M=l,d>2]=C,V=C):V=d,N>2]=H,G=H):G=N,z=+p[r+248>>2],p[x+224>>2]=O-z,p[x+224+4>>2]=T-z,p[x+224+8>>2]=P-z,p[x+208>>2]=z+M,p[x+208+4>>2]=z+V,p[x+208+8>>2]=z+G,_[x>>2]=6432,p[x+4>>2]=v*W+S*F+w*Z,p[x+8>>2]=v*U+S*Y+w*J,p[x+12>>2]=v*s+S*c+w*a,p[x+16>>2]=0,p[x+20>>2]=k*W+R*F+j*Z,p[x+24>>2]=k*U+R*Y+j*J,p[x+28>>2]=k*s+R*c+j*a,p[x+32>>2]=0,p[x+36>>2]=D*W+I*F+B*Z,p[x+40>>2]=D*U+I*Y+B*J,p[x+44>>2]=D*s+I*c+B*a,p[x+48>>2]=0,p[x+52>>2]=l,p[x+56>>2]=d,p[x+60>>2]=N,p[x+64>>2]=0,p[x+68>>2]=v*L+S*E+w*b,p[x+72>>2]=v*A+S*f+w*u,p[x+76>>2]=v*m+S*h+w*y,p[x+80>>2]=0,p[x+84>>2]=k*L+R*E+j*b,p[x+88>>2]=k*A+R*f+j*u,p[x+92>>2]=k*m+R*h+j*y,p[x+96>>2]=0,p[x+100>>2]=D*L+I*E+B*b,p[x+104>>2]=D*A+I*f+B*u,p[x+108>>2]=D*m+I*h+B*y,p[x+112>>2]=0,p[x+116>>2]=g,p[x+120>>2]=C,p[x+124>>2]=H,p[x+128>>2]=0,p[x+196>>2]=z,_[x+200>>2]=_[r+244>>2],0|o&&(pd[127&_[64+(0|_[o>>2])>>2]](o,x,x+224|0,x+208|0),(X=+p[x+200>>2])<+p[r+244>>2])?(p[r+244>>2]=X,Q=x,+(z=X)):(Q=x,+(z=1))))},cr,cr,function(t,e,i,o,r){t|=0,i|=0,o|=0,r|=0;var s,c,a,l,d=0,b=0,A=0;return t=Q,Q=Q+608|0,A=+p[116+(e|=0)>>2]-+p[e+52>>2],l=+p[e+120>>2]-+p[e+56>>2],a=+p[e+124>>2]-+p[e+60>>2],d=+p[i+116>>2]-+p[i+52>>2],b=+p[i+120>>2]-+p[i+56>>2],s=+p[i+124>>2]-+p[i+60>>2],A*A+l*l+a*a<(c=+p[e+252>>2])*c&&d*d+b*b+s*s<(A=+p[i+252>>2])*A?(Q=t,+(A=1)):(r=0|_[e+192>>2],o=0|_[i+248>>2],_[t+552+8>>2]=0,_[t+552+12>>2]=1065353216,_[t+552+16>>2]=1065353216,_[t+552+20>>2]=1065353216,p[t+552+24>>2]=0,_[t+552>>2]=7568,_[t+552+4>>2]=8,_[t+552+28>>2]=o,_[t+552+44>>2]=o,_[t+376>>2]=4536,p[t+376+164>>2]=0xde0b6b000000000,_[t+376+168>>2]=0,p[t+376+172>>2]=0,p[t+16+308>>2]=9999999747378752e-20,n[t+16+332|0]=0,_[t>>2]=10136,_[t+4>>2]=t+16,_[t+8>>2]=r,_[t+12>>2]=t+552,0|me(t,e+4|0,e+68|0,i+4|0,i+68|0,t+376|0)?(d=+p[t+376+164>>2],+p[e+244>>2]>d&&(p[e+244>>2]=d),+p[i+244>>2]>d&&(p[i+244>>2]=d),d<1||(d=1)):d=1,r=0|_[i+192>>2],o=0|_[e+248>>2],_[t+552+8>>2]=0,_[t+552+12>>2]=1065353216,_[t+552+16>>2]=1065353216,_[t+552+20>>2]=1065353216,p[t+552+24>>2]=0,_[t+552>>2]=7568,_[t+552+4>>2]=8,_[t+552+28>>2]=o,_[t+552+44>>2]=o,_[t+376>>2]=4536,p[t+376+164>>2]=0xde0b6b000000000,_[t+376+168>>2]=0,p[t+376+172>>2]=0,p[t+16+308>>2]=9999999747378752e-20,n[t+16+332|0]=0,_[t>>2]=10136,_[t+4>>2]=t+16,_[t+8>>2]=t+552,_[t+12>>2]=r,0|me(t,e+4|0,e+68|0,i+4|0,i+68|0,t+376|0)&&(b=+p[t+376+164>>2],+p[e+244>>2]>b&&(p[e+244>>2]=b),+p[i+244>>2]>b&&(p[i+244>>2]=b),d>b&&(d=b)),Q=t,+(A=d))},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0;if(w=(D=!!(0|n[28+(t|=0)|0]))?i:e,D=D?e:i,(0|(v=0|_[t+12>>2]))<=0)return+(R=1);S=24+(0|_[w+192>>2])|0,s=+p[w+4>>2],y=+p[w+8>>2],g=+p[w+12>>2],C=0|_[w+16>>2],R=+p[w+20>>2],c=+p[w+24>>2],a=+p[w+28>>2],i=0|_[w+32>>2],l=+p[w+36>>2],d=+p[w+40>>2],b=+p[w+44>>2],A=0|_[w+48>>2],f=+p[w+52>>2],u=+p[w+56>>2],m=+p[w+60>>2],h=0|_[w+64>>2],k=1,e=0,j=0|_[w+260>>2];do{B=0|_[S>>2],L=+p[B+(80*e|0)>>2],N=+p[B+(80*e|0)+16>>2],G=+p[B+(80*e|0)+32>>2],V=+p[B+(80*e|0)+4>>2],M=+p[B+(80*e|0)+20>>2],P=+p[B+(80*e|0)+36>>2],T=+p[B+(80*e|0)+8>>2],O=+p[B+(80*e|0)+24>>2],x=+p[B+(80*e|0)+40>>2],F=+p[B+(80*e|0)+48>>2],W=+p[B+(80*e|0)+52>>2],I=+p[B+(80*e|0)+56>>2],_[w+260>>2]=j+1,p[w+4>>2]=s*L+y*N+g*G,p[w+8>>2]=s*V+y*M+g*P,p[w+12>>2]=s*T+y*O+g*x,p[w+16>>2]=0,p[w+20>>2]=R*L+c*N+a*G,p[w+24>>2]=R*V+c*M+a*P,p[w+28>>2]=R*T+c*O+a*x,p[w+32>>2]=0,p[w+36>>2]=l*L+d*N+b*G,p[w+40>>2]=l*V+d*M+b*P,p[w+44>>2]=l*T+d*O+b*x,p[w+48>>2]=0,p[w+52>>2]=f+(s*F+y*W+g*I),p[w+56>>2]=u+(R*F+c*W+a*I),p[w+60>>2]=m+(l*F+d*W+b*I),p[w+64>>2]=0,B=0|_[(0|_[t+20>>2])+(e<<2)>>2],k=(I=+Tl[15&_[12+(0|_[B>>2])>>2]](B,w,D,o,r))>2])|0,_[w+260>>2]=j,p[w+4>>2]=s,p[w+8>>2]=y,p[w+12>>2]=g,_[w+16>>2]=C,p[w+20>>2]=R,p[w+24>>2]=c,p[w+28>>2]=a,_[w+32>>2]=i,p[w+36>>2]=l,p[w+40>>2]=d,p[w+44>>2]=b,_[w+48>>2]=A,p[w+52>>2]=f,p[w+56>>2]=u,p[w+60>>2]=m,_[w+64>>2]=h,e=e+1|0}while((0|e)!=(0|v));return+k},function(t,e,i,n,o){return 0},cr,cr,xp,xp,xp],Pl=[function(t,e,i,n,o,_,r,s){return v(7),0},function(t,e,i,n,o,_,r,s){return+ +B(6,0|(t|=0),0|(e|=0),0|(i|=0),0|(n|=0),0|(o|=0),0|(_|=0),0|(r|=0),0|(s|=0))}],Ml=[Dr,function(t,e,i,o,r,s,c,a,l){e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,a|=0,l|=0;var A,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0;if(A=Q,Q=Q+256|0,_[188+(t|=0)>>2]=-1,$i(15261),_[t+184>>2]=0,(0|i)>0){l=0;do{_[212+(0|_[e+(l<<2)>>2])>>2]=-1,l=l+1|0}while((0|l)!=(0|i))}if((0|(l=0|_[t+12>>2]))>(0|i))u=t+8|0,f=l;else{if(i+1|0&&(_[6630]=1+(0|_[6630]),0|(f=0|di(16+(244*(i+1|0)|3)|0)))?(_[(f+4+15&-16)-4>>2]=f,u=f+4+15&-16):u=0,(0|(f=0|_[t+8>>2]))>0){l=0;do{K=u+(244*l|0)|0,z=(q=0|_[t+16>>2])+(244*l|0)|0,_[K>>2]=_[z>>2],_[K+4>>2]=_[z+4>>2],_[K+8>>2]=_[z+8>>2],_[K+12>>2]=_[z+12>>2],K=q+(244*l|0)+16|0,_[(z=u+(244*l|0)+16|0)>>2]=_[K>>2],_[z+4>>2]=_[K+4>>2],_[z+8>>2]=_[K+8>>2],_[z+12>>2]=_[K+12>>2],z=q+(244*l|0)+32|0,_[(K=u+(244*l|0)+32|0)>>2]=_[z>>2],_[K+4>>2]=_[z+4>>2],_[K+8>>2]=_[z+8>>2],_[K+12>>2]=_[z+12>>2],z=q+(244*l|0)+48|0,_[(K=u+(244*l|0)+48|0)>>2]=_[z>>2],_[K+4>>2]=_[z+4>>2],_[K+8>>2]=_[z+8>>2],_[K+12>>2]=_[z+12>>2],_e(u+(244*l|0)+64|0,q+(244*l|0)+64|0,180),l=l+1|0}while((0|l)!=(0|f))}0|(l=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=u,_[t+12>>2]=i+1,u=t+8|0,f=i+1|0}if(wn(0|A,0,244),(0|(l=0|_[u>>2]))<0){(0|f)<0&&(0|(f=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=0,_[t+12>>2]=0);do{q=0|_[t+16>>2],_[(K=q+(244*l|0)|0)>>2]=_[A>>2],_[K+4>>2]=_[A+4>>2],_[K+8>>2]=_[A+8>>2],_[K+12>>2]=_[A+12>>2],_[(K=q+(244*l|0)+16|0)>>2]=_[A+16>>2],_[K+4>>2]=_[A+16+4>>2],_[K+8>>2]=_[A+16+8>>2],_[K+12>>2]=_[A+16+12>>2],_[(K=q+(244*l|0)+32|0)>>2]=_[A+32>>2],_[K+4>>2]=_[A+32+4>>2],_[K+8>>2]=_[A+32+8>>2],_[K+12>>2]=_[A+32+12>>2],_[(K=q+(244*l|0)+48|0)>>2]=_[A+48>>2],_[K+4>>2]=_[A+48+4>>2],_[K+8>>2]=_[A+48+8>>2],_[K+12>>2]=_[A+48+12>>2],_e(q+(244*l|0)+64|0,A+64|0,180),l=l+1|0}while(0|l)}if(_[u>>2]=0,(0|i)>0){l=0;do{f=0|Re(t,0|_[(u=e+(l<<2)|0)>>2],+p[a+12>>2]),0|(u=0|_[u>>2])&&2&_[u+236>>2]&&0!=+p[u+344>>2]&&(h=0|_[t+16>>2],2&_[u+504>>2])&&(m=+p[a+76>>2],L=1/+p[u+396>>2],H=1/+p[u+400>>2],g=1/+p[u+404>>2],O=+p[u+4>>2],T=+p[u+8>>2],P=+p[u+12>>2],M=+p[u+20>>2],V=+p[u+24>>2],N=+p[u+28>>2],E=+p[u+36>>2],Z=+p[u+40>>2],S=+p[u+44>>2],(g=((w=+p[u+328>>2])*(j=(L*M*O+H*V*T+g*N*P)*w+(L*M*M+H*V*V+g*N*N)*(k=+p[u+332>>2])+(L*M*E+H*V*Z+g*N*S)*(v=+p[u+336>>2]))-k*(R=(L*O*O+H*T*T+g*P*P)*w+(L*O*M+H*T*V+g*P*N)*k+(L*O*E+H*T*Z+g*P*S)*v))*(w*j-k*R)+((k*(S=(L*E*O+H*Z*T+g*S*P)*w+(L*E*M+H*Z*V+g*S*N)*k+(L*E*E+H*Z*Z+g*S*S)*v)-v*j)*(k*S-v*j)+(v*R-w*S)*(v*R-w*S)))>m*m?(C=(k*S-v*j)*(m=1/+b(+g)*m),g=(v*R-w*S)*m,m*=w*j-k*R):(C=k*S-v*j,g=v*R-w*S,m=w*j-k*R),E=+p[a+12>>2],H=(C*+p[u+268>>2]+g*+p[u+284>>2]+m*+p[u+300>>2])*E,Z=E*(C*+p[u+272>>2]+g*+p[u+288>>2]+m*+p[u+304>>2]),p[h+(244*f|0)+224>>2]=+p[h+(244*f|0)+224>>2]-(C*+p[u+264>>2]+g*+p[u+280>>2]+m*+p[u+296>>2])*E,p[h+(244*f|0)+228>>2]=+p[h+(244*f|0)+228>>2]-H,p[h+(244*f|0)+232>>2]=+p[h+(244*f|0)+232>>2]-Z),l=l+1|0}while((0|l)!=(0|i))}if((0|c)>0){l=0;do{q=0|_[s+(l<<2)>>2],Xl[511&_[8+(0|_[q>>2])>>2]](q),p[q+36>>2]=0,l=l+1|0}while((0|l)<(0|c))}if((0|(f=0|_[t+168>>2]))<(0|c)&&(0|_[t+172>>2])<(0|c)){if(c?(_[6630]=1+(0|_[6630]),(l=0|di(16+(c<<3|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,f=0|_[t+168>>2]):l=0,(0|f)>0){u=0;do{z=(0|_[t+176>>2])+(u<<3)|0,K=0|_[z+4>>2],_[(q=l+(u<<3)|0)>>2]=_[z>>2],_[q+4>>2]=K,u=u+1|0}while((0|u)!=(0|f))}0|(f=0|_[t+176>>2])&&(0|n[t+180|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2])),_[t+176>>2]=0),n[t+180|0]=1,_[t+176>>2]=l,_[t+172>>2]=c}if(_[t+168>>2]=c,(0|c)>0){l=0,y=0;do{if(i=(h=0|_[t+176>>2])+(y<<3)|0,f=0|_[(e=s+(y<<2)|0)>>2],u=0|_[f+44>>2]){f=u+64|0;do{_[u>>2]=0,u=u+4|0}while((0|u)<(0|f));f=0|_[e>>2]}0|n[f+20|0]?(ed[127&_[16+(0|_[f>>2])>>2]](f,i),f=0|_[i>>2]):(_[i>>2]=0,_[h+(y<<3)+4>>2]=0,f=0),l=f+l|0,y=y+1|0}while((0|y)<(0|c));e=l}else e=0;if((0|(f=0|_[t+48>>2]))<(0|e)&&(0|_[t+52>>2])<(0|e)){if(e?(_[6630]=1+(0|_[6630]),(l=0|di(16+(152*e|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,f=0|_[t+48>>2]):l=0,(0|f)>0){u=0;do{_e(l+(152*u|0)|0,(0|_[t+56>>2])+(152*u|0)|0,152),u=u+1|0}while((0|u)!=(0|f))}0|(f=0|_[t+56>>2])&&(0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2])),_[t+56>>2]=0),n[t+60|0]=1,_[t+56>>2]=l,_[t+52>>2]=e}if(_[t+48>>2]=e,(0|c)>0)for(K=0,q=0,l=0|_[t+176>>2];;){if(0|_[(z=l+(q<<3)|0)>>2]){if(e=(f=0|_[t+56>>2])+(152*K|0)|0,i=0|_[(h=s+(q<<2)|0)>>2],y=0|_[i+28>>2],U=0|_[i+32>>2],Y=0|Re(t,y,+p[a+12>>2]),J=0|Re(t,U,+p[a+12>>2]),X=0|_[t+16>>2],(0|(u=(0|(u=0|_[i+24>>2]))>0?u:0|_[a+20>>2]))>(0|_[t+184>>2])&&(_[t+184>>2]=u),(0|_[z>>2])>0){l=0;do{wn(e+(152*l|0)|0,0,152),p[e+(152*l|0)+120>>2]=-34028234663852886e22,p[e+(152*l|0)+124>>2]=34028234663852886e22,p[e+(152*l|0)+100>>2]=0,p[e+(152*l|0)+96>>2]=0,_[e+(152*l|0)+144>>2]=Y,_[e+(152*l|0)+148>>2]=J,_[e+(152*l|0)+136>>2]=u,l=l+1|0}while((0|l)<(0|_[z>>2]))}if(_[X+(244*Y|0)+64>>2]=0,_[X+(244*Y|0)+64+4>>2]=0,_[X+(244*Y|0)+64+8>>2]=0,_[X+(244*Y|0)+64+12>>2]=0,_[X+(244*Y|0)+64+16>>2]=0,_[X+(244*Y|0)+64+20>>2]=0,_[X+(244*Y|0)+64+24>>2]=0,_[X+(244*Y|0)+64+28>>2]=0,_[X+(244*Y|0)+144>>2]=0,_[X+(244*Y|0)+144+4>>2]=0,_[X+(244*Y|0)+144+8>>2]=0,_[X+(244*Y|0)+144+12>>2]=0,_[X+(244*Y|0)+144+16>>2]=0,_[X+(244*Y|0)+144+20>>2]=0,_[X+(244*Y|0)+144+24>>2]=0,_[X+(244*Y|0)+144+28>>2]=0,_[X+(244*J|0)+64>>2]=0,_[X+(244*J|0)+64+4>>2]=0,_[X+(244*J|0)+64+8>>2]=0,_[X+(244*J|0)+64+12>>2]=0,_[X+(244*J|0)+64+16>>2]=0,_[X+(244*J|0)+64+20>>2]=0,_[X+(244*J|0)+64+24>>2]=0,_[X+(244*J|0)+64+28>>2]=0,_[X+(244*J|0)+144>>2]=0,_[X+(244*J|0)+144+4>>2]=0,_[X+(244*J|0)+144+8>>2]=0,_[X+(244*J|0)+144+12>>2]=0,_[X+(244*J|0)+144+16>>2]=0,_[X+(244*J|0)+144+20>>2]=0,_[X+(244*J|0)+144+24>>2]=0,_[X+(244*J|0)+144+28>>2]=0,p[A>>2]=1/+p[a+12>>2],_[A+4>>2]=_[a+32>>2],_[A+8>>2]=f+(152*K|0)+16,_[A+12>>2]=e,_[A+16>>2]=f+(152*K|0)+48,_[A+20>>2]=f+(152*K|0)+32,_[A+24>>2]=38,_[A+28>>2]=f+(152*K|0)+112,_[(u=f+(152*K|0)+116|0)>>2]=_[a+40>>2],_[A+52>>2]=_[a+4>>2],_[A+32>>2]=u,_[A+36>>2]=f+(152*K|0)+120,_[A+40>>2]=f+(152*K|0)+124,_[A+48>>2]=_[a+20>>2],u=0|_[h>>2],ed[127&_[20+(0|_[u>>2])>>2]](u,A),(0|_[z>>2])>0){f=0;do{l=e+(152*f|0)+124|0,m=+p[16+(0|_[h>>2])>>2],+p[l>>2]>=m&&(p[l>>2]=m),+p[(l=e+(152*f|0)+120|0)>>2]<=-m&&(p[l>>2]=-m),_[e+(152*f|0)+132>>2]=i,u=e+(152*f|0)|0,l=0|_[i+28>>2],m=+p[u>>2],g=+p[u+4>>2],C=+p[u+8>>2],S=(m*+p[l+280>>2]+g*+p[l+284>>2]+C*+p[l+288>>2])*+p[l+548>>2],v=(m*+p[l+296>>2]+g*+p[l+300>>2]+C*+p[l+304>>2])*+p[l+552>>2],p[(u=e+(152*f|0)+64|0)>>2]=(+p[l+264>>2]*m+ +p[l+268>>2]*g+ +p[l+272>>2]*C)*+p[l+544>>2],p[u+4>>2]=S,p[u+8>>2]=v,p[u+12>>2]=0,u=e+(152*f|0)+32|0,l=0|_[i+32>>2],v=+p[u>>2],S=+p[u+4>>2],w=+p[u+8>>2],k=(v*+p[l+280>>2]+S*+p[l+284>>2]+w*+p[l+288>>2])*+p[l+548>>2],Z=(v*+p[l+296>>2]+S*+p[l+300>>2]+w*+p[l+304>>2])*+p[l+552>>2],p[(u=e+(152*f|0)+80|0)>>2]=(+p[l+264>>2]*v+ +p[l+268>>2]*S+ +p[l+272>>2]*w)*+p[l+544>>2],p[u+4>>2]=k,p[u+8>>2]=Z,p[u+12>>2]=0,u=e+(152*f|0)+16|0,Z=+p[y+344>>2],k=+p[u>>2],R=+p[u+4>>2],j=+p[u+8>>2],u=e+(152*f|0)+48|0,W=+p[U+344>>2],D=+p[u>>2],I=+p[u+4>>2],B=+p[u+8>>2],W=k*(Z*k)+R*(Z*R)+j*(Z*j)+(m*(m*+p[y+264>>2]+g*+p[y+268>>2]+C*+p[y+272>>2])+g*(m*+p[y+280>>2]+g*+p[y+284>>2]+C*+p[y+288>>2])+C*(m*+p[y+296>>2]+g*+p[y+300>>2]+C*+p[y+304>>2]))+(D*(W*D)+I*(W*I)+B*(W*B))+(v*(v*+p[U+264>>2]+S*+p[U+268>>2]+w*+p[U+272>>2])+S*(v*+p[U+280>>2]+S*+p[U+284>>2]+w*+p[U+288>>2])+w*(v*+p[U+296>>2]+S*+p[U+300>>2]+w*+p[U+304>>2])),W=(u=+d(+W)>1.1920928955078125e-7)?1/W:0,p[e+(152*f|0)+108>>2]=W,0|_[X+(244*Y|0)+240>>2]?(F=+p[X+(244*Y|0)+208>>2],x=+p[X+(244*Y|0)+212>>2],O=+p[X+(244*Y|0)+216>>2],T=+p[X+(244*Y|0)+224>>2],P=+p[X+(244*Y|0)+228>>2],M=+p[X+(244*Y|0)+232>>2]):(F=0,x=0,O=0,T=0,P=0,M=0),0|_[X+(244*J|0)+240>>2]?(V=+p[X+(244*J|0)+208>>2],N=+p[X+(244*J|0)+212>>2],L=+p[X+(244*J|0)+216>>2],E=+p[X+(244*J|0)+224>>2],H=+p[X+(244*J|0)+228>>2],Z=+p[X+(244*J|0)+232>>2]):(V=0,N=0,L=0,E=0,H=0,Z=0),p[(u=e+(152*f|0)+112|0)>>2]=W*+p[u>>2]+W*(0-+p[A+52>>2]*(k*(F+ +p[y+312>>2])+R*(x+ +p[y+316>>2])+j*(O+ +p[y+320>>2])+(m*(T+ +p[y+328>>2])+g*(P+ +p[y+332>>2])+C*(M+ +p[y+336>>2]))+(D*(V+ +p[U+312>>2])+I*(N+ +p[U+316>>2])+B*(L+ +p[U+320>>2])+(v*(E+ +p[U+328>>2])+S*(H+ +p[U+332>>2])+w*(Z+ +p[U+336>>2]))))),p[e+(152*f|0)+100>>2]=0,f=f+1|0}while((0|f)<(0|_[z>>2]))}l=0|_[t+176>>2],f=0|_[l+(q<<3)>>2]}else f=0;if((0|(q=q+1|0))>=(0|c))break;K=f+K|0}if(pd[127&_[28+(0|_[t>>2])>>2]](t,o,r,a),h=0|_[t+48>>2],i=0|_[t+28>>2],y=0|_[t+68>>2],(0|(f=0|_[t+128>>2]))<(0|h)&&(0|_[t+132>>2])<(0|h)){if(h?(_[6630]=1+(0|_[6630]),(l=0|di(16+(h<<2|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,f=0|_[t+128>>2]):l=0,e=0|_[t+136>>2],(0|f)<=0)e?$=106:f=t+140|0;else{u=0;do{_[l+(u<<2)>>2]=_[e+(u<<2)>>2],u=u+1|0}while((0|u)!=(0|f));$=106}106==(0|$)&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+136>>2]=0,f=t+140|0),n[0|f]=1,_[t+136>>2]=l,_[t+132>>2]=h}if(_[t+128>>2]=h,16&_[a+64>>2]){if((0|(f=0|_[t+108>>2]))>2])>2]=l,l=l+4+15&-16):l=0,f=0|_[t+108>>2]):l=0,e=0|_[t+116>>2],(0|f)<=0)e?$=122:f=t+120|0;else{u=0;do{_[l+(u<<2)>>2]=_[e+(u<<2)>>2],u=u+1|0}while((0|u)!=(0|f));$=122}122==(0|$)&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+116>>2]=0,f=t+120|0),n[0|f]=1,_[t+116>>2]=l,_[t+112>>2]=i<<1}_[t+108>>2]=i<<1}else{if((0|(f=0|_[t+108>>2]))<(0|i)&&(0|_[t+112>>2])<(0|i)){if(i?(_[6630]=1+(0|_[6630]),(l=0|di(16+(i<<2|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,f=0|_[t+108>>2]):l=0,e=0|_[t+116>>2],(0|f)<=0)e?$=138:f=t+120|0;else{u=0;do{_[l+(u<<2)>>2]=_[e+(u<<2)>>2],u=u+1|0}while((0|u)!=(0|f));$=138}138==(0|$)&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+116>>2]=0,f=t+120|0),n[0|f]=1,_[t+116>>2]=l,_[t+112>>2]=i}_[t+108>>2]=i}if((0|(f=0|_[t+148>>2]))<(0|y)&&(0|_[t+152>>2])<(0|y)){if(y?(_[6630]=1+(0|_[6630]),(l=0|di(16+(y<<2|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,f=0|_[t+148>>2]):l=0,e=0|_[t+156>>2],(0|f)<=0)e?$=154:f=t+160|0;else{u=0;do{_[l+(u<<2)>>2]=_[e+(u<<2)>>2],u=u+1|0}while((0|u)!=(0|f));$=154}154==(0|$)&&(0|n[t+160|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+156>>2]=0,f=t+160|0),n[0|f]=1,_[t+156>>2]=l,_[t+152>>2]=y}if(_[t+148>>2]=y,(0|h)>0){f=0|_[t+136>>2],l=0;do{_[f+(l<<2)>>2]=l,l=l+1|0}while((0|l)!=(0|h))}if((0|i)>0){f=0|_[t+116>>2],l=0;do{_[f+(l<<2)>>2]=l,l=l+1|0}while((0|l)!=(0|i))}if((0|y)>0){f=0|_[t+156>>2],l=0;do{_[f+(l<<2)>>2]=l,l=l+1|0}while((0|l)!=(0|y))}if(l=0|_[2606],t=(0|_[l+16>>2])-1|0,_[l+16>>2]=t,0|t)return Q=A,0;do{if(0|_[l+4>>2]){if(G(0|A,0),t=0|_[6629],p[l+8>>2]=+p[l+8>>2]+ +(((0|_[A+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[A>>2])-(0|_[t>>2])|0)|0)-(0|_[l+12>>2])|0)>>>0)/1e3,0|_[l+16>>2])return Q=A,0;l=0|_[2606];break}}while(0);return _[2606]=_[l+20>>2],Q=A,0},function(t,e,i,n,o,r,s,c,a){t|=0,e|=0,i|=0,n|=0,o|=0,r|=0,s|=0,c|=0,a|=0;var l,d=0,b=0;if(l=Q,Q=Q+16|0,$i(15227),md[1&_[32+(0|_[t>>2])>>2]](t,e,i,n,o,r,s,c,a),(0|(d=(0|(b=0|_[t+184>>2]))>(0|(d=0|_[c+20>>2]))?b:d))>0){b=0;do{Vl[3&_[40+(0|_[t>>2])>>2]](t,b,e,i,n,o,r,s,c,a),b=b+1|0}while((0|b)<(0|d))}if(d=0|_[2606],a=(0|_[d+16>>2])-1|0,_[d+16>>2]=a,0|a)return Q=l,0;do{if(0|_[d+4>>2]){if(G(0|l,0),a=0|_[6629],p[d+8>>2]=+p[d+8>>2]+ +(((0|_[l+4>>2])-(0|_[a+4>>2])+(1e6*((0|_[l>>2])-(0|_[a>>2])|0)|0)-(0|_[d+12>>2])|0)>>>0)/1e3,0|_[d+16>>2])return Q=l,0;d=0|_[2606];break}}while(0);return _[2606]=_[d+20>>2],Q=l,0},Dr],Vl=[dr,function(t,e,i,n,o,r,s,c,a,l){var d;if(t|=0,e|=0,i|=0,n|=0,o|=0,r|=0,s|=0,c|=0,a|=0,l|=0,d=Q,Q=Q+16|0,$i(15290),Ml[3&_[44+(0|_[t>>2])>>2]](t,e,i,n,o,r,s,c,a),Ml[3&_[48+(0|_[t>>2])>>2]](t,e,i,n,o,r,s,c,a),Ol[1&_[36+(0|_[t>>2])>>2]](t,e,i,c),l=0|_[2606],a=(0|_[l+16>>2])-1|0,_[l+16>>2]=a,0|a)return Q=d,0;do{if(0|_[l+4>>2]){if(G(0|d,0),a=0|_[6629],p[l+8>>2]=+p[l+8>>2]+ +(((0|_[d+4>>2])-(0|_[a+4>>2])+(1e6*((0|_[d>>2])-(0|_[a>>2])|0)|0)-(0|_[l+12>>2])|0)>>>0)/1e3,0|_[l+16>>2])return Q=d,0;l=0|_[2606];break}}while(0);return _[2606]=_[l+20>>2],Q=d,0},function(t,e,i,o,r,s,c,a,l,d){e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,a|=0,l|=0,d|=0;var b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0;if(r=0|_[48+(t|=0)>>2],u=0|_[t+28>>2],m=0|_[t+68>>2],1&_[l+64>>2]){if((0|r)>0){s=0|_[t+136>>2],o=0,f=0|_[t+192>>2];do{A=0|_[(d=s+(o<<2)|0)>>2],o=o+1|0,f=1013904223+(0|g(f,1664525))|0,o>>>0<65537?(i=f>>>16^f,o>>>0<257&&(i^=i>>>8,o>>>0<17&&(C=(i^=i>>>4)>>>2^i,i=o>>>0<5?(o>>>0<3?C>>>1:0)^C:i))):i=f,C=s+((i>>>0)%(o>>>0)<<2)|0,_[d>>2]=_[C>>2],_[C>>2]=A}while((0|o)!=(0|r));_[t+192>>2]=f}if((0|_[l+20>>2])>(0|e)){if((0|u)>0){r=0|_[t+116>>2],o=0,A=0|_[t+192>>2];do{d=0|_[(s=r+(o<<2)|0)>>2],o=o+1|0,A=1013904223+(0|g(A,1664525))|0,o>>>0<65537?(i=A>>>16^A,o>>>0<257&&(i^=i>>>8,o>>>0<17&&(C=(i^=i>>>4)>>>2^i,i=o>>>0<5?(o>>>0<3?C>>>1:0)^C:i))):i=A,C=r+((i>>>0)%(o>>>0)<<2)|0,_[s>>2]=_[C>>2],_[C>>2]=d}while((0|o)!=(0|u));_[t+192>>2]=A}if((0|m)>0){r=0|_[t+156>>2],o=0,A=0|_[t+192>>2];do{d=0|_[(s=r+(o<<2)|0)>>2],o=o+1|0,A=1013904223+(0|g(A,1664525))|0,o>>>0<65537?(i=A>>>16^A,o>>>0<257&&(i^=i>>>8,o>>>0<17&&(C=(i^=i>>>4)>>>2^i,i=o>>>0<5?(o>>>0<3?C>>>1:0)^C:i))):i=A,C=r+((i>>>0)%(o>>>0)<<2)|0,_[s>>2]=_[C>>2],_[C>>2]=d}while((0|o)!=(0|m));_[t+192>>2]=A}}}if(i=0|_[t+48>>2],!(256&_[l+64>>2])){if((0|i)>0){s=0;do{o=0|_[(0|_[t+136>>2])+(s<<2)>>2],r=0|_[t+56>>2],(0|_[r+(152*o|0)+136>>2])>(0|e)&&(Ct((i=0|_[t+16>>2])+(244*(0|_[r+(152*o|0)+144>>2])|0)|0,i+(244*(0|_[r+(152*o|0)+148>>2])|0)|0,r+(152*o|0)|0),i=0|_[t+48>>2]),s=s+1|0}while((0|s)<(0|i))}if((0|_[l+20>>2])<=(0|e))return 0;if((0|a)>0){i=0;do{r=0|_[(o=c+(i<<2)|0)>>2],0|n[r+20|0]&&(h=0|Re(t,0|_[r+28>>2],+p[l+12>>2]),C=0|Re(t,0|_[32+(0|_[o>>2])>>2],+p[l+12>>2]),y=0|_[t+16>>2],e=0|_[o>>2],rd[15&_[24+(0|_[e>>2])>>2]](e,y+(244*h|0)|0,y+(244*C|0)|0,+p[l+12>>2])),i=i+1|0}while((0|i)!=(0|a))}if((0|(o=0|_[t+28>>2]))>0){i=0;do{C=0|_[(0|_[t+116>>2])+(i<<2)>>2],l=0|_[t+36>>2],vt((a=0|_[t+16>>2])+(244*(0|_[l+(152*C|0)+144>>2])|0)|0,a+(244*(0|_[l+(152*C|0)+148>>2])|0)|0,l+(152*C|0)|0),i=i+1|0}while((0|i)!=(0|o))}if((0|(o=0|_[t+68>>2]))>0){i=0;do{r=0|_[(0|_[t+156>>2])+(i<<2)>>2],s=0|_[t+76>>2],(b=+p[(0|_[t+36>>2])+(152*(0|_[s+(152*r|0)+140>>2])|0)+100>>2])>0&&(b*=+p[s+(152*r|0)+104>>2],p[s+(152*r|0)+120>>2]=-b,p[s+(152*r|0)+124>>2]=b,Ct((C=0|_[t+16>>2])+(244*(0|_[s+(152*r|0)+144>>2])|0)|0,C+(244*(0|_[s+(152*r|0)+148>>2])|0)|0,s+(152*r|0)|0)),i=i+1|0}while((0|i)!=(0|o))}if((0|(o=0|_[t+88>>2]))<=0)return 0;i=0;do{r=0|_[t+96>>2],(b=+p[(0|_[t+36>>2])+(152*(0|_[r+(152*i|0)+140>>2])|0)+100>>2])>0&&(b=b*(v=+p[r+(152*i|0)+104>>2])>v?v:b*v,p[r+(152*i|0)+120>>2]=-b,p[r+(152*i|0)+124>>2]=b,Ct((C=0|_[t+16>>2])+(244*(0|_[r+(152*i|0)+144>>2])|0)|0,C+(244*(0|_[r+(152*i|0)+148>>2])|0)|0,r+(152*i|0)|0)),i=i+1|0}while((0|i)!=(0|o));return 0}if((0|i)>0){s=0;do{o=0|_[(0|_[t+136>>2])+(s<<2)>>2],r=0|_[t+56>>2],(0|_[r+(152*o|0)+136>>2])>(0|e)&&(Ct((i=0|_[t+16>>2])+(244*(0|_[r+(152*o|0)+144>>2])|0)|0,i+(244*(0|_[r+(152*o|0)+148>>2])|0)|0,r+(152*o|0)|0),i=0|_[t+48>>2]),s=s+1|0}while((0|s)<(0|i))}if((0|_[l+20>>2])<=(0|e))return 0;if((0|a)>0){i=0;do{r=0|_[(o=c+(i<<2)|0)>>2],0|n[r+20|0]&&(m=0|Re(t,0|_[r+28>>2],+p[l+12>>2]),C=0|Re(t,0|_[32+(0|_[o>>2])>>2],+p[l+12>>2]),e=0|_[t+16>>2],u=0|_[o>>2],rd[15&_[24+(0|_[u>>2])>>2]](u,e+(244*m|0)|0,e+(244*C|0)|0,+p[l+12>>2])),i=i+1|0}while((0|i)!=(0|a))}if(i=0|_[l+64>>2],A=0|_[t+28>>2],512&i){if(o=1+(i>>>4&1)|0,(0|A)<=0)return 0;i=0;do{r=0|_[(0|_[t+116>>2])+(i<<2)>>2],s=0|_[t+36>>2],vt((d=0|_[t+16>>2])+(244*(0|_[s+(152*r|0)+144>>2])|0)|0,d+(244*(0|_[s+(152*r|0)+148>>2])|0)|0,s+(152*r|0)|0),b=+p[s+(152*r|0)+100>>2],r=0|g(i,o),s=0|_[(0|_[t+156>>2])+(r<<2)>>2],d=0|_[t+76>>2],b>0&&(v=b*+p[d+(152*s|0)+104>>2],p[d+(152*s|0)+120>>2]=-v,p[d+(152*s|0)+124>>2]=v,Ct((C=0|_[t+16>>2])+(244*(0|_[d+(152*s|0)+144>>2])|0)|0,C+(244*(0|_[d+(152*s|0)+148>>2])|0)|0,d+(152*s|0)|0)),16&_[l+64>>2]&&(h=0|_[(0|_[t+156>>2])+(r+1<<2)>>2],y=0|_[t+76>>2],b>0)&&(v=b*+p[y+(152*h|0)+104>>2],p[y+(152*h|0)+120>>2]=-v,p[y+(152*h|0)+124>>2]=v,Ct((C=0|_[t+16>>2])+(244*(0|_[y+(152*h|0)+144>>2])|0)|0,C+(244*(0|_[y+(152*h|0)+148>>2])|0)|0,y+(152*h|0)|0)),i=i+1|0}while((0|i)!=(0|A));return 0}if((0|A)>0){i=0;do{C=0|_[(0|_[t+116>>2])+(i<<2)>>2],l=0|_[t+36>>2],vt((a=0|_[t+16>>2])+(244*(0|_[l+(152*C|0)+144>>2])|0)|0,a+(244*(0|_[l+(152*C|0)+148>>2])|0)|0,l+(152*C|0)|0),i=i+1|0}while((0|i)!=(0|A))}if((0|(o=0|_[t+68>>2]))>0){i=0;do{r=0|_[(0|_[t+156>>2])+(i<<2)>>2],s=0|_[t+76>>2],(b=+p[(0|_[t+36>>2])+(152*(0|_[s+(152*r|0)+140>>2])|0)+100>>2])>0&&(v=b*+p[s+(152*r|0)+104>>2],p[s+(152*r|0)+120>>2]=-v,p[s+(152*r|0)+124>>2]=v,Ct((C=0|_[t+16>>2])+(244*(0|_[s+(152*r|0)+144>>2])|0)|0,C+(244*(0|_[s+(152*r|0)+148>>2])|0)|0,s+(152*r|0)|0)),i=i+1|0}while((0|i)!=(0|o))}if((0|(o=0|_[t+88>>2]))<=0)return 0;i=0;do{r=0|_[t+96>>2],(b=+p[(0|_[t+36>>2])+(152*(0|_[r+(152*i|0)+140>>2])|0)+100>>2])>0&&(v=b*(v=+p[r+(152*i|0)+104>>2])>v?v:b*v,p[r+(152*i|0)+120>>2]=-v,p[r+(152*i|0)+124>>2]=v,Ct((C=0|_[t+16>>2])+(244*(0|_[r+(152*i|0)+144>>2])|0)|0,C+(244*(0|_[r+(152*i|0)+148>>2])|0)|0,r+(152*i|0)|0)),i=i+1|0}while((0|i)!=(0|o));return 0},dr],Gl=[gl,function(t){return 0|W(5,0|(t|=0))},Ua,Ja,Hc,Ac,Ac,Xc,Ic,function(t){return 428},ol,function(t){return 0|n[24464]?25096:0|Qs(24464)?(_[6274]=1065353216,_[6275]=1065353216,_[6276]=1065353216,p[6277]=0,25096):25096},function(t){return 13389},il,_l,function(t){return 13501},va,Ua,function(t){return 32},function(t){return 13768},ol,Ka,Ka,Ja,function(t){return 0|_[72+(t|=0)>>2]},function(t){return 0|_[200+(t|=0)>>2]},function(t){return 0|_[212+(t|=0)>>2]},function(t){return 4},function(t){return 488},ol,va,function(t){return 252},function(t){return 348},Sa,function(t){return 204},function(t){return 212},function(t){return 220},Ja,Ls,function(t){return 0!=+p[16+(t|=0)>>2]?0|(t=0):0|(t=0==+p[t+20>>2])},function(t){return 256},function(t){return 0|_[12+(t|=0)>>2]},function(t){return 0|_[12+(t|=0)>>2]?0|(t=0|_[t+20>>2]):0|(t=0)},lc,lc,La,function(t){return 18807},function(t){return 24},function(t){return 18850},xa,function(t){return 18869},function(t){return 18890},function(t){return 18911},function(t){return 4+(0|_[48+(t|=0)>>2])|0},function(t){return 19092},xa,function(t){return 19476},Ia,function(t){return 19534},va,function(t){return 19732},function(t){return 68},$c,$c,Ua,function(t){return 19833},xa,function(t){return 19863},function(t){return 19890},function(t){return 4+(0|_[92+(t|=0)>>2])|0},function(t){return 19946},Ua,Ua,Ua,function(t){return 20005},el,function(t){return 8},il,el,Sa,function(t){return 108+(t|=0)|0},function(t){return 20230},function(t){return 20290},xa,function(t){return 20318},function(t){return 20347},Ic,function(t){return 1==(0|_[48+(t|=0)>>2])|0},function(t){return 28},Uc,Uc,Xc,Xc,sl,Ua,Ja,Xc,Xc,sl,Ac,Ua,Fc,Fc,Xc,function(t){var e;return e=Q,Q=Q+16|0,t=0|Cl(0|_[60+(t|=0)>>2]),_[e>>2]=t,t=0|Ta(0|I(6,0|e)),Q=e,0|t},gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl],Nl=[function(t,e,i,n){return e=+e,n=+n,v(11),0},function(t,e,i,o){t|=0,e=+e,i|=0,o=+o;var r,s=0,c=0,a=0;if(r=Q,Q=Q+16|0,G(0|_[6629],0),qo(26476),_[6620]=1+(0|_[6620]),a=0|_[6623],_[6623]=a+1,a||(G(0|r,0),a=0|_[6629],_[6622]=(0|_[r+4>>2])-(0|_[a+4>>2])+(1e6*((0|_[r>>2])-(0|_[a>>2])|0)|0)),_[6628]=0,G(0|r,0),$i(14649),i?(p[t+268>>2]=o,c=+p[t+264>>2]+e,p[t+264>>2]=c,c>=o?(p[t+264>>2]=c-+(c/o|0)*o,e=o,a=~~(c/o)):(e=o,a=0)):(p[t+264>>2]=0|n[t+300|0]?0:e,p[t+268>>2]=0,i=a=1&!(+d(+e)<1.1920928955078125e-7)),0|Gl[127&_[20+(0|_[t>>2])>>2]](t)&&(s=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),s=0|Gl[127&_[48+(0|_[s>>2])>>2]](s),n[27096]=s>>>4&1),a)if(s=(0|a)>(0|i)?i:a,zl[31&_[164+(0|_[t>>2])>>2]](t,e*+(0|s)),Xl[511&_[168+(0|_[t>>2])>>2]](t),(0|s)>0){i=0;do{zl[31&_[160+(0|_[t>>2])>>2]](t,e),Xl[511&_[80+(0|_[t>>2])>>2]](t),i=i+1|0}while((0|i)<(0|s));i=t}else i=t;else Xl[511&_[80+(0|_[t>>2])>>2]](t),i=t;if(Xl[511&_[120+(0|_[i>>2])>>2]](t),_[6628]=1+(0|_[6628]),i=0|_[2606],t=(0|_[i+16>>2])-1|0,_[i+16>>2]=t,0|t)return Q=r,0|a;do{if(0|_[i+4>>2]){if(G(0|r,0),t=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[r+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[r>>2])-(0|_[t>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,0|_[i+16>>2])return Q=r,0|a;i=0|_[2606];break}}while(0);return _[2606]=_[i+20>>2],Q=r,0|a}],Ll=[tl,function(t,e){return t|=0,(o[4+(e|=0)>>1]&o[t+6>>1])<<16>>16?0|(e=!!((o[t+4>>1]&o[e+6>>1])<<16>>16)):0|(e=0)},function(t,e){return t|=0,(o[4+(e|=0)>>1]&o[t+14>>1])<<16>>16?0|(e=!!((o[t+12>>1]&o[e+6>>1])<<16>>16)):0|(e=0)},function(t,e){return t|=0,(o[4+(e|=0)>>1]&o[t+10>>1])<<16>>16?0|(e=!!((o[t+8>>1]&o[e+6>>1])<<16>>16)):0|(e=0)},na,na,na,function(t,e){e|=0;var i,r,c,l,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0;for(l=Q,Q=Q+192|0,0|(f=0|_[52+(t|=0)>>2])&&(Xl[511&_[_[f>>2]>>2]](f),0|(A=0|_[t+52>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[6630]=1+(0|_[6630]),(A=0|di(151))?(_[(A+4+15&-16)-4>>2]=A,A=A+4+15&-16):A=0,_[A>>2]=10348,n[A+20|0]=1,_[A+16>>2]=0,_[A+8>>2]=0,_[A+12>>2]=0,n[A+40|0]=1,_[A+36>>2]=0,_[A+28>>2]=0,_[A+32>>2]=0,n[A+60|0]=1,_[A+56>>2]=0,_[A+48>>2]=0,_[A+52>>2]=0,_[t+52>>2]=A,h=0,y=0,lt=0,M=0,A=0;!((0|h)>=(0|Gl[127&_[96+(0|_[t>>2])>>2]](t)));){do{if((0|M)==(0|y))if((0|y)<(0|(f=0|y?y<<1:1))){if(0|f&&(_[6630]=1+(0|_[6630]),0|(g=0|di(16+(f<<4|3)|0)))?(_[(g+4+15&-16)-4>>2]=g,u=g+4+15&-16):u=0,(0|y)<=0){if(!lt){m=u,A=u,u=y;break}}else{A=0;do{ct=lt+(A<<4)|0,_[(at=u+(A<<4)|0)>>2]=_[ct>>2],_[at+4>>2]=_[ct+4>>2],_[at+8>>2]=_[ct+8>>2],_[at+12>>2]=_[ct+12>>2],A=A+1|0}while((0|A)!=(0|y))}_[6631]=1+(0|_[6631]),Ni(0|_[lt+-4>>2]),m=u,A=u,u=y}else f=y,m=lt,u=y;else f=y,m=lt,u=M}while(0);_[(y=m+(M<<4)|0)>>2]=_[l>>2],_[y+4>>2]=_[l+4>>2],_[y+8>>2]=_[l+8>>2],_[y+12>>2]=_[l+12>>2],_d[127&_[108+(0|_[t>>2])>>2]](t,h,y),h=h+1|0,y=f,lt=m,M=u+1|0}if(n[l+124+16|0]=1,_[(at=l+124+12|0)>>2]=0,_[l+124+4>>2]=0,_[l+124+8>>2]=0,n[l+124+36|0]=1,_[(ct=l+124+32|0)>>2]=0,_[l+124+24>>2]=0,_[l+124+28>>2]=0,n[l+124+56|0]=1,_[(c=l+124+52|0)>>2]=0,_[l+124+44>>2]=0,_[l+124+48>>2]=0,e){if((0|M)>0){for(P=0,f=0,u=0,m=0;;){A=P,P=P+1|0;t:do{if((0|P)<(0|M))for(W=lt+(A<<4)|0,F=lt+(A<<4)+4|0,B=lt+(A<<4)+8|0,h=P,A=m;;){I=h+1|0;e:do{if((0|I)<(0|M))for(j=lt+(h<<4)|0,D=lt+(h<<4)+4|0,e=lt+(h<<4)+8|0,m=I;;){C=+p[W>>2],V=+p[j>>2]-C,v=+p[F>>2],G=+p[D>>2]-v,S=+p[B>>2],O=+p[e>>2]-S,L=+p[lt+(m<<4)>>2]-C,x=(V*(E=+p[lt+(m<<4)+4>>2]-v)-G*L)*(V*E-G*L)+((G*(T=+p[lt+(m<<4)+8>>2]-S)-O*E)*(G*T-O*E)+(O*L-V*T)*(O*L-V*T));i:do{if(x>9999999747378752e-20){w=(G*T-O*E)*(R=1/+b(+x)),k=(O*L-V*T)*R,R*=V*E-G*L;n:do{if((0|A)>0)for(h=0;;){if(w*+p[u+(h<<4)>>2]+k*+p[u+(h<<4)+4>>2]+R*+p[u+(h<<4)+8>>2]>.9990000128746033)break n;if((0|(h=h+1|0))>=(0|A)){st=34;break}}else st=34}while(0);n:do{if(34==(0|st)){st=0,h=0;do{if(w*+p[lt+(h<<4)>>2]+k*+p[lt+(h<<4)+4>>2]+R*+p[lt+(h<<4)+8>>2]-(w*C+k*v+R*S)-.009999999776482582>0)break n;h=h+1|0}while((0|h)<(0|M));do{if((0|A)==(0|f))if((0|f)<(0|(g=0|f?f<<1:1))){do{if(g){if(_[6630]=1+(0|_[6630]),!(h=0|di(16+(g<<4|3)|0))){y=0;break}_[(h+4+15&-16)-4>>2]=h,y=h+4+15&-16}else y=0}while(0);if((0|f)<=0){if(!u){h=g,u=y;break}}else{h=0;do{_t=u+(h<<4)|0,_[(rt=y+(h<<4)|0)>>2]=_[_t>>2],_[rt+4>>2]=_[_t+4>>2],_[rt+8>>2]=_[_t+8>>2],_[rt+12>>2]=_[_t+12>>2],h=h+1|0}while((0|h)!=(0|f))}_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2]),h=g,u=y}else h=f;else h=f,f=A}while(0);p[u+(f<<4)>>2]=w,p[u+(f<<4)+4>>2]=k,p[u+(f<<4)+8>>2]=R,p[u+(f<<4)+12>>2]=-(w*C+k*v+R*S),f=h,A=A+1|0}}while(0);if(x>9999999747378752e-20){if(w=-(G*T-O*E)*(v=1/+b(+x)),S=-(O*L-V*T)*v,v*=-(V*E-G*L),(0|A)>0){h=0;do{if(+p[u+(h<<4)>>2]*w+ +p[u+(h<<4)+4>>2]*S+ +p[u+(h<<4)+8>>2]*v>.9990000128746033)break i;h=h+1|0}while((0|h)<(0|A))}C=+p[W>>2]*w+ +p[F>>2]*S+ +p[B>>2]*v,h=0;do{if(+p[lt+(h<<4)>>2]*w+ +p[lt+(h<<4)+4>>2]*S+ +p[lt+(h<<4)+8>>2]*v-C-.009999999776482582>0)break i;h=h+1|0}while((0|h)<(0|M));do{if((0|A)==(0|f)){if((0|f)>=(0|(g=0|f?f<<1:1))){h=f;break}do{if(g){if(_[6630]=1+(0|_[6630]),!(h=0|di(16+(g<<4|3)|0))){y=0;break}_[(h+4+15&-16)-4>>2]=h,y=h+4+15&-16}else y=0}while(0);if((0|f)<=0){if(!u){h=g,u=y;break}}else{h=0;do{_t=u+(h<<4)|0,_[(rt=y+(h<<4)|0)>>2]=_[_t>>2],_[rt+4>>2]=_[_t+4>>2],_[rt+8>>2]=_[_t+8>>2],_[rt+12>>2]=_[_t+12>>2],h=h+1|0}while((0|h)!=(0|f))}_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2]),h=g,u=y}else h=f,f=A}while(0);p[u+(f<<4)>>2]=w,p[u+(f<<4)+4>>2]=S,p[u+(f<<4)+8>>2]=v,p[u+(f<<4)+12>>2]=-C,f=h,A=A+1|0}}}while(0);if((0|(m=m+1|0))==(0|M))break e}}while(0);if((0|I)==(0|M))break t;h=I}else A=m}while(0);if((0|P)==(0|M)){e=A;break}m=A}if((0|e)>0){for(A=0,y=0,g=0;;){rt=u+(g<<4)|0,_[l>>2]=_[rt>>2],_[l+4>>2]=_[rt+4>>2],_[l+8>>2]=_[rt+8>>2],C=+p[u+(g<<4)+12>>2],C-=+Il[15&_[48+(0|_[t>>2])>>2]](t);do{if((0|g)==(0|A))if((0|A)<(0|(h=0|A?A<<1:1))){if(0|h&&(_[6630]=1+(0|_[6630]),0|(H=0|di(16+(h<<4|3)|0)))?(_[(H+4+15&-16)-4>>2]=H,m=H+4+15&-16):m=0,(0|A)<=0){if(!y)break}else{f=0;do{_t=y+(f<<4)|0,_[(rt=m+(f<<4)|0)>>2]=_[_t>>2],_[rt+4>>2]=_[_t+4>>2],_[rt+8>>2]=_[_t+8>>2],_[rt+12>>2]=_[_t+12>>2],f=f+1|0}while((0|f)!=(0|A))}_[6631]=1+(0|_[6631]),Ni(0|_[y+-4>>2])}else h=A,m=y;else h=A,m=y,A=g}while(0);if(_[(rt=m+(A<<4)|0)>>2]=_[l>>2],_[rt+4>>2]=_[l+4>>2],_[rt+8>>2]=_[l+8>>2],p[m+(A<<4)+12>>2]=C,!((0|(g=g+1|0))<(0|e)))break;A=h,y=m}H=0,y=0,h=0,f=0,A=0;do{M=H,H=H+1|0;t:do{if((0|H)<(0|g))for(e=H;;){P=e+1|0;e:do{if((0|P)<(0|g))for(B=m+(e<<4)+4|0,W=m+(e<<4)+8|0,F=m+(e<<4)|0,I=m+(e<<4)+12|0,e=P;;){w=+p[B>>2],C=+p[m+(e<<4)+8>>2],v=+p[W>>2],k=+p[m+(e<<4)+4>>2],R=+p[m+(e<<4)>>2],x=+p[F>>2],S=+p[m+(M<<4)+8>>2],O=+p[m+(M<<4)+4>>2],T=+p[m+(M<<4)>>2];i:do{if((k*x-w*R)*(k*x-w*R)+((w*C-v*k)*(w*C-v*k)+(v*R-C*x)*(v*R-C*x))>9999999747378752e-20&&(R*O-k*T)*(R*O-k*T)+((k*S-C*O)*(k*S-C*O)+(C*T-R*S)*(C*T-R*S))>9999999747378752e-20&&(w*T-x*O)*(w*T-x*O)+((v*O-w*S)*(v*O-w*S)+(x*S-v*T)*(x*S-v*T))>9999999747378752e-20&&(et=S*(k*x-w*R)+(O*(v*R-C*x)+(w*C-v*k)*T),+d(+et)>9.999999974752427e-7)){L=+p[m+(M<<4)+12>>2],E=+p[I>>2],V=-1/et*((v*O-w*S)*(G=+p[m+(e<<4)+12>>2])+((w*C-v*k)*L+(k*S-C*O)*E)),v=-1/et*((x*S-v*T)*G+((v*R-C*x)*L+(C*T-R*S)*E)),C=-1/et*((w*T-x*O)*G+((k*x-w*R)*L+(R*O-k*T)*E)),j=0;do{if(+p[m+(j<<4)+12>>2]+(V*+p[m+(j<<4)>>2]+v*+p[m+(j<<4)+4>>2]+C*+p[m+(j<<4)+8>>2])-.009999999776482582>0)break i;j=j+1|0}while((0|j)<(0|g));do{if((0|f)==(0|y)){if((0|y)>=(0|(D=0|y?y<<1:1))){D=y;break}do{if(D){if(_[6630]=1+(0|_[6630]),!(A=0|di(16+(D<<4|3)|0))){j=0;break}_[(A+4+15&-16)-4>>2]=A,j=A+4+15&-16}else j=0}while(0);if((0|y)<=0){if(!h){h=j,A=j;break}}else{A=0;do{_t=h+(A<<4)|0,_[(rt=j+(A<<4)|0)>>2]=_[_t>>2],_[rt+4>>2]=_[_t+4>>2],_[rt+8>>2]=_[_t+8>>2],_[rt+12>>2]=_[_t+12>>2],A=A+1|0}while((0|A)!=(0|y))}_[6631]=1+(0|_[6631]),Ni(0|_[h+-4>>2]),h=j,A=j}else D=y,y=f}while(0);p[h+(y<<4)>>2]=V,p[h+(y<<4)+4>>2]=v,p[h+(y<<4)+8>>2]=C,p[h+(y<<4)+12>>2]=0,y=D,f=f+1|0}}while(0);if((0|(e=e+1|0))==(0|g))break e}}while(0);if((0|P)==(0|g))break t;e=P}}while(0)}while((0|H)!=(0|g))}else h=0,m=0,f=0,A=0}else h=0,m=0,u=0,f=0,A=0;Ai(l+124|0,A,f),0|h&&(_[6631]=1+(0|_[6631]),Ni(0|_[h+-4>>2])),0|m&&(_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2])),0|u&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2]))}else Ai(l+124|0,A,M);if((0|(P=0|_[l+124+44>>2]))>0){_[6630]=1+(0|_[6630]),(A=0|di(16+(P<<4|3)|0))?(_[(A+4+15&-16)-4>>2]=A,f=A+4+15&-16):f=0,A=0;do{_[(rt=f+(A<<4)|0)>>2]=_[l>>2],_[rt+4>>2]=_[l+4>>2],_[rt+8>>2]=_[l+8>>2],_[rt+12>>2]=_[l+12>>2],A=A+1|0}while((0|A)!=(0|P));rt=f,ot=f}else rt=0,ot=0;n[l+104+16|0]=1,_[(_t=l+104+12|0)>>2]=0,_[(r=l+104+4|0)>>2]=0,_[l+104+8>>2]=0,h=(u=l)+19|0;do{n[0|u]=0,u=u+1|0}while((0|u)<(0|h));if((0|P)<0&&N(),0|P){Zn(l+104|0,P),f=0|_[_t>>2],A=0;do{n[f+(36*A|0)+16|0]=1,_[(u=f+(36*A|0)+4|0)>>2]=0,_[u+4>>2]=0,_[u+8>>2]=0,m=l+3|0,h=16+(u=f+(36*A|0)+20|0)|0;do{n[0|u]=0|n[0|m],u=u+1|0,m=m+1|0}while((0|u)<(0|h));A=A+1|0}while((0|A)!=(0|P))}if(_[r>>2]=P,y=0|_[l+124+4>>2],h=0|_[t+52>>2],(0|(m=0|_[h+8>>2]))<(0|y)){if((0|_[h+12>>2])<(0|y)){if(y?(_[6630]=1+(0|_[6630]),(A=0|di(16+(y<<4|3)|0))?(_[(A+4+15&-16)-4>>2]=A,A=A+4+15&-16):A=0,u=0|_[h+8>>2]):(A=0,u=m),(0|u)>0){f=0;do{nt=A+(f<<4)|0,it=(0|_[h+16>>2])+(f<<4)|0,_[nt>>2]=_[it>>2],_[nt+4>>2]=_[it+4>>2],_[nt+8>>2]=_[it+8>>2],_[nt+12>>2]=_[it+12>>2],f=f+1|0}while((0|f)!=(0|u))}0|(f=0|_[h+16>>2])&&(0|n[h+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2])),_[h+16>>2]=0),n[h+20|0]=1,_[h+16>>2]=A,_[h+12>>2]=y,f=h+16|0}else f=h+16|0;A=m;do{nt=(0|_[f>>2])+(A<<4)|0,_[nt>>2]=_[l>>2],_[nt+4>>2]=_[l+4>>2],_[nt+8>>2]=_[l+8>>2],_[nt+12>>2]=_[l+12>>2],A=A+1|0}while((0|A)!=(0|y))}if(_[h+8>>2]=y,(0|y)>0){A=0;do{it=(0|_[at>>2])+(A<<4)|0,nt=(0|_[16+(0|_[t+52>>2])>>2])+(A<<4)|0,_[nt>>2]=_[it>>2],_[nt+4>>2]=_[it+4>>2],_[nt+8>>2]=_[it+8>>2],_[nt+12>>2]=_[it+12>>2],A=A+1|0}while((0|A)!=(0|y))}if((0|P)>0){F=0;do{I=B=(0|_[ct>>2])+(12*(0|_[(0|_[c>>2])+(F<<2)>>2])|0)|0,A=0;do{if(D=0|_[I+(12*(0|_[(W=I+4|0)>>2])|0)+8>>2],e=0|_[_t>>2],(0|(f=0|_[(j=e+(36*F|0)+4|0)>>2]))==(0|_[(g=e+(36*F|0)+8|0)>>2])&&(0|f)<(0|(Z=0|f?f<<1:1))){if(Z?(_[6630]=1+(0|_[6630]),(f=0|di(16+(Z<<2|3)|0))?(_[(f+4+15&-16)-4>>2]=f,f=f+4+15&-16):f=0,y=f,f=0|_[j>>2]):y=0,m=0|_[(h=e+(36*F|0)+12|0)>>2],(0|f)<=0)m?st=161:u=e+(36*F|0)+16|0;else{u=0;do{_[y+(u<<2)>>2]=_[m+(u<<2)>>2],u=u+1|0}while((0|u)!=(0|f));st=161}161==(0|st)&&(st=0,0|n[0|(f=e+(36*F|0)+16|0)]&&(_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2])),_[h>>2]=0,u=f,f=0|_[j>>2]),n[0|u]=1,_[h>>2]=y,_[g>>2]=Z}_[(0|_[e+(36*F|0)+12>>2])+(f<<2)>>2]=D,_[j>>2]=1+(0|_[j>>2]),it=0|_[I+8>>2],nt=0|_[at>>2],S=+p[nt+(it<<4)>>2]-+p[nt+(D<<4)>>2],w=+p[nt+(it<<4)+4>>2]-+p[nt+(D<<4)+4>>2],C=+p[nt+(it<<4)+8>>2]-+p[nt+(D<<4)+8>>2],v=1/+b(+(S*S+w*w+C*C)),(0|A)<2&&(p[l+(A<<4)>>2]=S*v,p[l+(A<<4)+4>>2]=w*v,p[l+(A<<4)+8>>2]=C*v,p[l+(A<<4)+12>>2]=0,A=A+1|0),I=(nt=I+(12*(0|_[W>>2])|0)|0)+(12*(0|_[nt>>2])|0)|0}while((0|I)!=(0|B));if(2==(0|A)?(V=+p[l+4>>2],G=+p[l+24>>2],L=+p[l+8>>2],E=+p[l+20>>2],T=+p[l+16>>2],O=+p[l>>2],it=rt+(F<<4)+4|0,nt=rt+(F<<4)+8|0,p[rt+(F<<4)+12>>2]=0,et=1/+b(+((E*O-V*T)*(E*O-V*T)+((V*G-L*E)*(V*G-L*E)+(L*T-G*O)*(L*T-G*O)))),p[rt+(F<<4)>>2]=(V*G-L*E)*et,p[it>>2]=(L*T-G*O)*et,p[nt>>2]=(E*O-V*T)*et,h=0|_[_t>>2],p[h+(36*F|0)+20>>2]=(V*G-L*E)*et,_[h+(36*F|0)+24>>2]=_[it>>2],_[h+(36*F|0)+28>>2]=_[nt>>2],p[h+(36*F|0)+32>>2]=1.0000000150474662e30):(_[(h=rt+(F<<4)|0)>>2]=0,_[h+4>>2]=0,_[h+8>>2]=0,_[h+12>>2]=0,h=0|_[_t>>2]),(0|(f=0|_[h+(36*F|0)+4>>2]))>0){if(u=0|_[16+(0|_[t+52>>2])>>2],v=+p[rt+(F<<4)>>2],S=+p[rt+(F<<4)+4>>2],w=+p[rt+(F<<4)+8>>2],m=0|_[h+(36*F|0)+12>>2],nt=0|_[m>>2],C=(C=+p[u+(nt<<4)>>2]*v+ +p[u+(nt<<4)+4>>2]*S+ +p[u+(nt<<4)+8>>2]*w)<1.0000000150474662e30?C:1.0000000150474662e30,1!=(0|f)){A=1;do{nt=0|_[m+(A<<2)>>2],C=C>(et=+p[u+(nt<<4)>>2]*v+ +p[u+(nt<<4)+4>>2]*S+ +p[u+(nt<<4)+8>>2]*w)?et:C,A=A+1|0}while((0|A)<(0|f))}}else C=1.0000000150474662e30;p[h+(36*F|0)+32>>2]=-C,F=F+1|0}while((0|F)!=(0|P))}t:do{if((0|_[r>>2])>0){for(A=0,h=0,m=0,f=0,y=0;;){do{if((0|y)==(0|A))if((0|y)<(0|(u=(A=!(0|y))?1:y<<1))){if(0|u&&(_[6630]=1+(0|_[6630]),0|(U=0|di(16+(u<<2|3)|0)))?(_[(U+4+15&-16)-4>>2]=U,m=U+4+15&-16):m=0,A){if(!h){A=1,h=m,J=m,f=m;break}}else{A=0;do{_[m+(A<<2)>>2]=_[h+(A<<2)>>2],A=A+1|0}while((0|A)!=(0|y))}f?(_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2]),A=u,h=m,J=m,f=m):(A=u,h=m,J=m,f=m)}else A=y,J=m;else J=m}while(0);if(_[h+(y<<2)>>2]=y,(0|(y=y+1|0))>=(0|_[r>>2]))break;m=J}for(Z=l+84+12|0,U=l+84+4|0,Y=l+48+12|0,A=y;;){u=0|_[h+((g=A+-1|0)<<2)>>2],_[6630]=1+(0|_[6630]),(f=0|di(23))?(_[(f+4+15&-16)-4>>2]=f,y=f+4+15&-16):y=0,_[y>>2]=u,m=0|_[_t>>2],v=+p[m+(36*u|0)+20>>2],S=+p[m+(36*u|0)+24>>2],C=+p[m+(36*u|0)+28>>2];do{if((0|A)>1){for(W=A+-2|0,e=1,f=y,B=1,A=g,g=y,j=y;;){I=0|_[h+(W<<2)>>2];e:do{if(v*+p[m+(36*I|0)+20>>2]+S*+p[m+(36*I|0)+24>>2]+C*+p[m+(36*I|0)+28>>2]>.9990000128746033){do{if((0|B)==(0|e)){if((0|e)>=(0|(m=0|e?e<<1:1))){m=e,D=g;break}do{if(m){if(_[6630]=1+(0|_[6630]),!(u=0|di(16+(m<<2|3)|0))){y=0;break}_[(u+4+15&-16)-4>>2]=u,y=u+4+15&-16}else y=0}while(0);if((0|e)>0){u=0;do{_[y+(u<<2)>>2]=_[f+(u<<2)>>2],u=u+1|0}while((0|u)!=(0|e));if(!j){f=y,D=y,j=y;break}}else if(!(0|f)|!(0|j)){f=y,D=y,j=y;break}_[6631]=1+(0|_[6631]),Ni(0|_[j+-4>>2]),f=y,D=y,j=y}else m=e,D=g}while(0);if(_[f+(B<<2)>>2]=I,B=B+1|0,(0|A)>0){for(u=0;(0|_[(y=h+(u<<2)|0)>>2])!=(0|I);)if((0|(u=u+1|0))>=(0|A)){H=D,u=j;break e}if(g=h+((e=A+-1|0)<<2)|0,(0|u)>=(0|A)){H=D,u=j;break}_[y>>2]=_[g>>2],_[g>>2]=I,A=e,H=D,u=j}else H=D,u=j}else m=e,H=g,u=j}while(0);if((0|W)<=0)break;W=W+-1|0,e=m,g=H,m=0|_[_t>>2],j=u}if((0|B)<=1){if(1==(0|B)){u=H,B=1,st=344;break}u=H;break}n[l+84+16|0]=1,_[Z>>2]=0,_[U>>2]=0,_[l+84+8>>2]=0,F=0,u=0,C=0,v=0,S=0;do{if(I=0|_[f+(F<<2)>>2],W=0|_[_t>>2],C=+p[W+(36*I|0)+20>>2]+C,v=+p[W+(36*I|0)+24>>2]+v,S=+p[W+(36*I|0)+28>>2]+S,(0|(m=0|_[W+(36*I|0)+4>>2]))>0){D=0;do{j=0|_[(0|_[W+(36*I|0)+12>>2])+(D<<2)>>2],nt=(0|_[16+(0|_[t+52>>2])>>2])+(j<<4)|0,_[l>>2]=_[nt>>2],_[l+4>>2]=_[nt+4>>2],_[l+8>>2]=_[nt+8>>2],_[l+12>>2]=_[nt+12>>2];e:do{if((0|u)>0)for(g=0|_[Z>>2],y=0;;){if((0|_[g+(24*y|0)+20>>2])==(0|j))break e;if((0|(y=y+1|0))>=(0|u)){st=224;break}}else st=224}while(0);if(224==(0|st)){st=0,_[l+48>>2]=_[l>>2],_[l+48+4>>2]=_[l+4>>2],_[l+48+8>>2]=_[l+8>>2],_[l+48+12>>2]=_[l+12>>2];do{if((0|u)==(0|_[l+84+8>>2])){if((0|u)>=(0|(e=0|u?u<<1:1)))break;if(e?(_[6630]=1+(0|_[6630]),(u=0|di(16+(24*e|3)|0))?(_[(u+4+15&-16)-4>>2]=u,u=u+4+15&-16):u=0,g=u,u=0|_[U>>2]):g=0,y=0|_[Z>>2],(0|u)<=0)y&&(st=234);else{m=0;do{nt=y+(24*m|0)|0,_[(st=g+(24*m|0)|0)>>2]=_[nt>>2],_[st+4>>2]=_[nt+4>>2],_[st+8>>2]=_[nt+8>>2],_[st+12>>2]=_[nt+12>>2],_[st+16>>2]=_[nt+16>>2],_[st+20>>2]=_[nt+20>>2],m=m+1|0}while((0|m)!=(0|u));st=234}234==(0|st)&&(st=0,0|n[l+84+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[y+-4>>2]),u=0|_[U>>2]),_[Z>>2]=0),n[l+84+16|0]=1,_[Z>>2]=g,_[l+84+8>>2]=e}}while(0);m=0|_[Z>>2],_[(nt=m+(24*u|0)|0)>>2]=_[l+48>>2],_[nt+4>>2]=_[l+48+4>>2],_[nt+8>>2]=_[l+48+8>>2],_[nt+12>>2]=_[l+48+12>>2],_[nt+16>>2]=_[l+48+16>>2],_[m+(24*u|0)+20>>2]=j,u=1+(0|_[U>>2])|0,_[U>>2]=u,m=0|_[W+(36*I|0)+4>>2]}D=D+1|0}while((0|D)<(0|m))}F=F+1|0}while((0|F)!=(0|B));n[l+48+16|0]=1,_[Y>>2]=0,_[l+48+4>>2]=0,_[l+48+8>>2]=0,nt=0|_[f>>2],it=0|_[_t>>2],_[l+48+20>>2]=_[it+(36*nt|0)+20>>2],_[l+48+24>>2]=_[it+(36*nt|0)+24>>2],_[l+48+28>>2]=_[it+(36*nt|0)+28>>2],_[l+48+32>>2]=_[it+(36*nt|0)+32>>2],T=C*(x=1/+b(+(C*C+v*v+S*S))),O=v*x,+d(+(x*=S))>.7071067690849304?(w=0,k=O*(R=1/+b(+(x*x+O*O))),R*=-x):(w=-O*(R=1/+b(+(T*T+O*O))),k=0,R*=T),g=0|_[U>>2];do{if((0|g)<2)if(1==(0|g))for(m=0,g=0,D=0,e=1;;){I=0|_[Z>>2];do{if((0|m)==(0|g)){if((0|g)>=(0|(j=0|g?g<<1:1))){j=g,u=D,y=g;break}do{if(j){if(_[6630]=1+(0|_[6630]),!(u=0|di(16+(24*j|3)|0))){u=0,g=m;break}_[(u+4+15&-16)-4>>2]=u,u=u+4+15&-16,g=m}else u=0}while(0);if((0|g)<=0)0|D&&(st=255);else{y=0;do{nt=D+(24*y|0)|0,_[(st=u+(24*y|0)|0)>>2]=_[nt>>2],_[st+4>>2]=_[nt+4>>2],_[st+8>>2]=_[nt+8>>2],_[st+12>>2]=_[nt+12>>2],_[st+16>>2]=_[nt+16>>2],_[st+20>>2]=_[nt+20>>2],y=y+1|0}while((0|y)!=(0|g));st=255}255==(0|st)&&(st=0,_[6631]=1+(0|_[6631]),Ni(0|_[D+-4>>2])),y=m,e=0|_[U>>2]}else j=g,u=D,y=m}while(0);if(_[(nt=u+(24*y|0)|0)>>2]=_[I>>2],_[nt+4>>2]=_[I+4>>2],_[nt+8>>2]=_[I+8>>2],_[nt+12>>2]=_[I+12>>2],_[nt+16>>2]=_[I+16>>2],_[nt+20>>2]=_[I+20>>2],!((0|(m=m+1|0))<(0|e))){st=289;break}g=j,D=u}else u=0,st=331;else{y=0|_[Z>>2],u=0;do{w*+p[(m=y+(24*u|0)|0)>>2]+R*+p[y+(24*u|0)+4>>2]+k*+p[y+(24*u|0)+8>>2]>2]+R*+p[y+4>>2]+k*+p[y+8>>2]&&(_[l>>2]=_[y>>2],_[l+4>>2]=_[y+4>>2],_[l+8>>2]=_[y+8>>2],_[l+12>>2]=_[y+12>>2],_[l+16>>2]=_[y+16>>2],_[l+20>>2]=_[y+20>>2],_[y>>2]=_[m>>2],_[y+4>>2]=_[m+4>>2],_[y+8>>2]=_[m+8>>2],_[y+12>>2]=_[m+12>>2],_[y+16>>2]=_[m+16>>2],_[y+20>>2]=_[m+20>>2],_[(st=y+(24*u|0)|0)>>2]=_[l>>2],_[st+4>>2]=_[l+4>>2],_[st+8>>2]=_[l+8>>2],_[st+12>>2]=_[l+12>>2],_[st+16>>2]=_[l+16>>2],_[st+20>>2]=_[l+20>>2]),u=u+1|0}while((0|u)<(0|g));if(p[y+16>>2]=-1.0000000150474662e30,(0|g)>1){C=+p[y>>2],v=+p[y+4>>2],S=+p[y+8>>2],u=1;do{L=+p[y+(24*u|0)>>2]-C,et=((w*(E=+p[y+(24*u|0)+4>>2]-v)-R*L)*x+(T*(R*(et=+p[y+(24*u|0)+8>>2]-S)-k*E)+O*(k*L-w*et)))/+b(+(L*L+E*E+et*et)),p[y+(24*u|0)+16>>2]=et,u=u+1|0}while((0|u)!=(0|g))}if(_[l>>2]=_[y>>2],_[l+4>>2]=_[y+4>>2],_[l+8>>2]=_[y+8>>2],_[l+12>>2]=_[y+12>>2],z(l+84|0,l,1,g+-1|0),m=0|_[Z>>2],_[6630]=1+(0|_[6630]),(u=0|di(43))?(_[(u+4+15&-16)-4>>2]=u,y=u+4+15&-16):y=0,g=0|_[Z>>2],_[y>>2]=_[m>>2],_[y+4>>2]=_[m+4>>2],_[y+8>>2]=_[m+8>>2],_[y+12>>2]=_[m+12>>2],_[y+16>>2]=_[m+16>>2],_[y+20>>2]=_[m+20>>2],_[6630]=1+(0|_[6630]),(u=0|di(67))?(_[(u+4+15&-16)-4>>2]=u,u=u+4+15&-16):u=0,_[u>>2]=_[y>>2],_[u+4>>2]=_[y+4>>2],_[u+8>>2]=_[y+8>>2],_[u+12>>2]=_[y+12>>2],_[u+16>>2]=_[y+16>>2],_[u+20>>2]=_[y+20>>2],0|y&&(_[6631]=1+(0|_[6631]),Ni(0|_[y+-4>>2])),_[(y=u+24|0)>>2]=_[g+24>>2],_[y+4>>2]=_[g+24+4>>2],_[y+8>>2]=_[g+24+8>>2],_[y+12>>2]=_[g+24+12>>2],_[y+16>>2]=_[g+24+16>>2],_[y+20>>2]=_[g+24+20>>2],2==(0|(y=0|_[U>>2]))){m=2,st=289;break}for(I=2,m=2,D=2,g=2;;){e:do{if((0|g)>1){for(st=0|_[Z>>2],C=+p[(j=st+(24*I|0)|0)>>2],v=+p[st+(24*I|0)+4>>2],S=+p[st+(24*I|0)+8>>2];e=g+-1|0,!(((E=(L=+p[u+(24*(st=g+-2|0)|0)>>2])-+p[u+(24*e|0)>>2])*((V=+p[u+(24*st|0)+4>>2])-v)-(R=V-+p[u+(24*e|0)+4>>2])*(L-C))*x+(T*(R*((et=+p[u+(24*st|0)+8>>2])-S)-(G=et-+p[u+(24*e|0)+8>>2])*(V-v))+O*(G*(L-C)-E*(et-S)))>0);){if(!((0|g)>2)){m=e,e=D,g=1;break e}m=e,g=e}do{if((0|g)==(0|D)){if((0|D)>=(0|(e=D<<1))){e=D,g=D;break}if(_[6630]=1+(0|_[6630]),(y=0|di(16+(48*D|3)|0))?(_[(y+4+15&-16)-4>>2]=y,g=y+4+15&-16):g=0,(0|m)>0){y=0;do{nt=u+(24*y|0)|0,_[(st=g+(24*y|0)|0)>>2]=_[nt>>2],_[st+4>>2]=_[nt+4>>2],_[st+8>>2]=_[nt+8>>2],_[st+12>>2]=_[nt+12>>2],_[st+16>>2]=_[nt+16>>2],_[st+20>>2]=_[nt+20>>2],y=y+1|0}while((0|y)!=(0|m))}_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2]),y=0|_[U>>2],u=g,g=m}else e=D}while(0);_[(g=u+(24*g|0)|0)>>2]=_[j>>2],_[g+4>>2]=_[j+4>>2],_[g+8>>2]=_[j+8>>2],_[g+12>>2]=_[j+12>>2],_[g+16>>2]=_[j+16>>2],_[g+20>>2]=_[j+20>>2],m=g=m+1|0}else e=D}while(0);if((0|(I=I+1|0))==(0|y))break;D=e}st=(0|m)>0?289:291}}while(0);if(289==(0|st)){for(st=0,M=0,g=0|_[l+48+4>>2],y=0|_[l+48+8>>2],D=0|n[l+48+16|0];;){P=u+(24*M|0)+20|0;do{if((0|g)==(0|y)){if((0|y)>=(0|(W=0|y?y<<1:1))){F=D,g=y,W=y;break}do{if(W){if(_[6630]=1+(0|_[6630]),!(g=0|di(16+(W<<2|3)|0))){j=0;break}_[(g+4+15&-16)-4>>2]=g,j=g+4+15&-16}else j=0}while(0);if(e=0|_[Y>>2],(0|y)<=0)e&&(st=321);else{g=0;do{_[j+(g<<2)>>2]=_[e+(g<<2)>>2],g=g+1|0}while((0|g)!=(0|y));st=321}321==(0|st)&&(st=0,D<<24>>24&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[Y>>2]=0,y=0|_[l+48+4>>2]),_[Y>>2]=j,_[l+48+8>>2]=W,F=1,g=y}else F=D,W=y}while(0);_[(0|_[Y>>2])+(g<<2)>>2]=_[P>>2],g=g+1|0,_[l+48+4>>2]=g,y=0|_[U>>2];e:do{if((0|y)>0){for(I=0|_[Z>>2],j=0|_[P>>2],e=0;D=I+(24*e|0)+20|0,e=e+1|0,(0|_[D>>2])!=(0|j);)if((0|e)>=(0|y))break e;_[D>>2]=-1}}while(0);if((0|(M=M+1|0))>=(0|m))break;y=W,D=F}n[l+48+16|0]=F,st=291}e:do{if(291==(0|st))if(st=0,(0|y)>0){if(I=0|_[Z>>2],W=0|_[r>>2],F=0|_[_t>>2],P=(0|B)>0,(0|W)<=0){st=331;break}for(D=0;;){M=0|_[I+(24*D|0)+20>>2];i:do{if(-1!=(0|M)){if(!P)for(g=0;;){if((0|(e=0|_[F+(36*g|0)+4>>2]))>0){j=0|_[F+(36*g|0)+12>>2],m=0;do{if((0|_[j+(m<<2)>>2])==(0|M)){m=1;break e}m=m+1|0}while((0|m)<(0|e))}if((0|(g=g+1|0))>=(0|W))break i}j=0;do{for(m=0;(0|_[f+(m<<2)>>2])!=(0|j);)if((0|(m=m+1|0))>=(0|B)){st=306;break}do{if(306==(0|st)){if(st=0,(0|(g=0|_[F+(36*j|0)+4>>2]))<=0)break;e=0|_[F+(36*j|0)+12>>2],m=0;do{if((0|_[e+(m<<2)>>2])==(0|M)){m=1;break e}m=m+1|0}while((0|m)<(0|g))}}while(0);j=j+1|0}while((0|j)<(0|W))}}while(0);if((0|(D=D+1|0))>=(0|y)){st=331;break}}}else st=331}while(0);331==(0|st)&&(st=0,Gt(24+(0|_[t+52>>2])|0,l+48|0),m=0),0|u&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),0|(u=0|_[Y>>2])&&(0|n[l+48+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[Y>>2]=0),0|(u=0|_[Z>>2])&&(0|n[l+84+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[Z>>2]=0),m&(0|B)>0?(u=H,st=344):u=H}else u=y,f=y,B=1,A=g,st=344}while(0);if(344==(0|st)){st=0,j=0;do{if(D=0|_[f+(j<<2)>>2],I=0|_[_t>>2],n[l+16|0]=1,_[l+12>>2]=0,_[l+4>>2]=0,_[l+8>>2]=0,(0|(e=0|_[I+(36*D|0)+4>>2]))>0){_[6630]=1+(0|_[6630]),y=0|di(16+(e<<2|3)|0);do{if(y){if(_[(y+4+15&-16)-4>>2]=y,!(0|(m=0|_[l+12>>2]))|!(0|n[l+16|0])){m=y+4+15&-16,g=y+4+15&-16;break}_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2]),m=y+4+15&-16,g=y+4+15&-16}else m=0,g=0}while(0);n[l+16|0]=1,_[l+12>>2]=m,_[l+8>>2]=e,wn(0|m,0,e<<2),_[l+4>>2]=e,y=0|_[I+(36*D|0)+12>>2],m=0;do{_[g+(m<<2)>>2]=_[y+(m<<2)>>2],m=m+1|0}while((0|m)!=(0|e));m=0|_[l+12>>2]}else _[l+4>>2]=e,m=0;_[l+20>>2]=_[I+(36*D|0)+20>>2],_[l+20+4>>2]=_[I+(36*D|0)+20+4>>2],_[l+20+8>>2]=_[I+(36*D|0)+20+8>>2],_[l+20+12>>2]=_[I+(36*D|0)+20+12>>2],Gt(24+(0|_[t+52>>2])|0,l),0|m&&(0|n[l+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2])),_[l+12>>2]=0),j=j+1|0}while((0|j)<(0|B))}if(!(0|f)|!(0|u)||(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),!A){nt=J,it=h;break t}}}else nt=0,it=0}while(0);if(i=0|_[t+52>>2],_[i+64>>2]=0,_[i+64+4>>2]=0,_[i+64+8>>2]=0,_[i+64+12>>2]=0,(0|(A=0|_[i+28>>2]))>0){for(tt=0,j=0,f=0,u=0,M=0,F=0,g=0,m=0,P=0,e=0,h=0,B=0,I=0,D=0,y=0;;){if(W=0|_[i+36>>2],(0|($=0|_[W+(36*tt|0)+4>>2]))>0){for(q=65535&tt,K=-65536|tt,Z=0,t=M,U=e,A=W,H=y;;){X=Z+1|0,Y=0|_[A+(36*tt|0)+12>>2],e=65535&_[Y+(Z<<2)>>2],Y=(Z=65535&_[Y+(((0|X)==(0|$)?0:X)<<2)>>2])<<16>>16>e<<16>>16?e:Z,J=Z<<16>>16>e<<16>>16?Z:e,y=Z<<16>>16>e<<16>>16?e:Z,e=Z<<16>>16>e<<16>>16?Z:e,Z=U+-1|0;t:do{if((((65535&y)<<16)+(e<<16>>16)&Z)>>>0>>0&&(pt=0|_[u+((((65535&y)<<16)+(e<<16>>16)&Z)<<2)>>2],-1!=(0|pt))){for(A=pt;e<<16>>16!=(0|o[f+(A<<2)>>1])||y<<16>>16!=(0|o[f+(A<<2)+2>>1]);)if(-1==(0|(A=0|_[m+(A<<2)>>2]))){M=0;break t}M=h+(A<<2)|0}else M=0}while(0);A=0|_[i+16>>2],R=+p[A+(y<<16>>16<<4)>>2]-+p[A+(e<<16>>16<<4)>>2],x=+p[A+(y<<16>>16<<4)+4>>2]-+p[A+(e<<16>>16<<4)+4>>2],w=+p[A+(y<<16>>16<<4)+8>>2]-+p[A+(e<<16>>16<<4)+8>>2],k=1/+b(+(R*R+x*x+w*w)),A=0|_[i+48>>2];t:do{if((0|A)>0)for(e=0|_[i+56>>2],y=0;;){C=+p[e+(y<<4)>>2],v=+p[e+(y<<4)+4>>2],S=+p[e+(y<<4)+8>>2];do{if(!(+d(+(C-R*k))>1e-6)){if(+d(+(v-x*k))>1e-6)break;if(!(+d(+(S-w*k))>1e-6))break t}}while(0);do{if(!(+d(+(R*k+C))>1e-6)){if(+d(+(x*k+v))>1e-6)break;if(!(+d(+(w*k+S))>1e-6))break t}}while(0);if((0|(y=y+1|0))>=(0|A)){st=387;break}}else st=387}while(0);if(387==(0|st)){st=0;do{if((0|A)==(0|_[i+52>>2])){if((0|A)>=(0|(W=0|A?A<<1:1)))break;if(W?(_[6630]=1+(0|_[6630]),(A=0|di(16+(W<<4|3)|0))?(_[(A+4+15&-16)-4>>2]=A,A=A+4+15&-16):A=0,e=A,A=0|_[i+48>>2]):e=0,(0|A)>0){y=0;do{dt=e+(y<<4)|0,bt=(0|_[i+56>>2])+(y<<4)|0,_[dt>>2]=_[bt>>2],_[dt+4>>2]=_[bt+4>>2],_[dt+8>>2]=_[bt+8>>2],_[dt+12>>2]=_[bt+12>>2],y=y+1|0}while((0|y)!=(0|A))}0|(A=0|_[i+56>>2])&&(0|n[i+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[i+56>>2]=0),n[i+60|0]=1,_[i+56>>2]=e,_[i+52>>2]=W,A=0|_[i+48>>2]}}while(0);bt=0|_[i+56>>2],p[bt+(A<<4)>>2]=R*k,p[bt+(A<<4)+4>>2]=x*k,p[bt+(A<<4)+8>>2]=w*k,p[bt+(A<<4)+12>>2]=0,_[i+48>>2]=1+(0|_[i+48>>2])}t:do{if(M)o[M+2>>1]=q,W=t,e=U,A=B,y=H;else{M=((65535&Y)<<16)+(J<<16>>16)&Z;e:do{if(M>>>0>>0){if(-1==(0|(A=0|_[u+(M<<2)>>2])))break;for(;J<<16>>16!=(0|o[f+(A<<2)>>1])||Y<<16>>16!=(0|o[f+(A<<2)+2>>1]);)if(-1==(0|(A=0|_[m+(A<<2)>>2])))break e;o[(W=h+(A<<2)|0)>>1]=K,o[W+2>>1]=K>>>16,W=t,e=U,A=B,y=H;break t}}while(0);do{if((0|P)==(0|U)){if((0|P)>=(0|(e=0|P?P<<1:1))){e=P;break}do{if(e){if(_[6630]=1+(0|_[6630]),!(A=0|di(16+(e<<2|3)|0))){y=0;break}_[(A+4+15&-16)-4>>2]=A,y=A+4+15&-16}else y=0}while(0);if((0|P)<=0){if(!h){h=y;break}}else{A=0;do{bt=y+(A<<2)|0,dt=s[(dt=h+(A<<2)|0)>>1]|s[dt+2>>1]<<16,o[bt>>1]=dt,o[bt+2>>1]=dt>>>16,A=A+1|0}while((0|A)!=(0|P))}_[6631]=1+(0|_[6631]),Ni(0|_[h+-4>>2]),h=y}else e=U}while(0);o[(Z=h+(P<<2)|0)>>1]=K,o[Z+2>>1]=K>>>16,Z=P+1|0;do{if((0|I)==(0|j)){if((0|I)>=(0|(j=0|I?I<<1:1))){j=I;break}do{if(j){if(_[6630]=1+(0|_[6630]),!(A=0|di(16+(j<<2|3)|0))){y=0;break}_[(A+4+15&-16)-4>>2]=A,y=A+4+15&-16}else y=0}while(0);if((0|I)<=0){if(!f){f=y;break}}else{A=0;do{bt=y+(A<<2)|0,dt=s[(dt=f+(A<<2)|0)>>1]|s[dt+2>>1]<<16,o[bt>>1]=dt,o[bt+2>>1]=dt>>>16,A=A+1|0}while((0|A)!=(0|I))}_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2]),f=y}}while(0);if(o[(bt=f+(I<<2)|0)>>1]=(65535&Y)<<16|65535&J,o[bt+2>>1]=((65535&Y)<<16|65535&J)>>>16,I=I+1|0,(0|U)<(0|e)){do{if((0|t)<(0|e)){do{if((0|B)<(0|e)){do{if(e){if(_[6630]=1+(0|_[6630]),!(A=0|di(16+(e<<2|3)|0))){y=0;break}_[(A+4+15&-16)-4>>2]=A,y=A+4+15&-16}else y=0}while(0);if((0|t)<=0){if(!u){u=y,M=e,H=y;break}}else{A=0;do{_[y+(A<<2)>>2]=_[u+(A<<2)>>2],A=A+1|0}while((0|A)!=(0|t))}_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2]),u=y,M=e,H=y}else M=B}while(0);if(wn(u+(t<<2)|0,0,(B=e<<2)-(t<<2)|0),(0|F)<(0|e)){do{if((0|g)<(0|e)){do{if(e){if(_[6630]=1+(0|_[6630]),!(A=0|di(16+(3|B)|0))){y=0;break}_[(A+4+15&-16)-4>>2]=A,y=A+4+15&-16}else y=0}while(0);if((0|F)<=0){if(!m){g=e,m=y,A=y;break}}else{A=0;do{_[y+(A<<2)>>2]=_[m+(A<<2)>>2],A=A+1|0}while((0|A)!=(0|F))}_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2]),g=e,m=y,A=y}else A=D}while(0);wn(m+(F<<2)|0,0,B-(F<<2)|0),D=A}if((0|e)>0&&(wn(0|H,-1,0|B),wn(0|D,-1,0|B)),(0|t)<=0){W=e,F=e,A=M,y=H;break}y=e+-1|0,A=0;do{bt=u+(((s[f+(A<<2)+2>>1]<<16)+(0|o[f+(A<<2)>>1])&y)<<2)|0,_[m+(A<<2)>>2]=_[bt>>2],_[bt>>2]=A,A=A+1|0}while((0|A)!=(0|t));W=e,F=e,A=M,y=H}else W=t,A=B,y=H}while(0);M=((65535&Y)<<16)+(J<<16>>16)&e+-1}else W=t,A=B,y=H;bt=u+(M<<2)|0,_[m+(P<<2)>>2]=_[bt>>2],_[bt>>2]=P,P=Z}}while(0);if((0|X)>=(0|$))break;Z=X,t=W,U=e,B=A,A=0|_[i+36>>2],H=y}B=A,A=0|_[i+28>>2]}else W=M;if((0|(tt=tt+1|0))>=(0|A))break;M=W}if((0|A)>0){I=0|_[i+36>>2],B=0|_[i+16>>2],D=0,C=0;do{if(g=0|_[I+(36*D|0)+4>>2],e=0|_[I+(36*D|0)+12>>2],j=0|_[e>>2],(0|g)>=3){y=1,v=+p[i+64>>2],S=+p[i+68>>2],w=+p[i+72>>2];do{dt=0|_[e+(y<<2)>>2],bt=0|_[e+((0|(y=y+1|0))%(0|g)<<2)>>2],k=+p[B+(j<<4)>>2],R=+p[B+(dt<<4)>>2],O=+p[B+(j<<4)+4>>2],T=+p[B+(dt<<4)+4>>2],G=+p[B+(j<<4)+8>>2],L=+p[B+(dt<<4)+8>>2],x=+p[B+(bt<<4)>>2],V=+p[B+(bt<<4)+4>>2],E=+p[B+(bt<<4)+8>>2],v+=.3333333432674408*(k+R+x)*(et=.5*+b(+(((k-R)*(O-V)-(O-T)*(k-x))*((k-R)*(O-V)-(O-T)*(k-x))+(((O-T)*(G-E)-(G-L)*(O-V))*((O-T)*(G-E)-(G-L)*(O-V))+((G-L)*(k-x)-(k-R)*(G-E))*((G-L)*(k-x)-(k-R)*(G-E)))))),p[i+64>>2]=v,S+=.3333333432674408*(O+T+V)*et,p[i+68>>2]=S,w+=.3333333432674408*(G+L+E)*et,p[i+72>>2]=w,C+=et}while((0|y)!=(g+-1|0))}D=D+1|0}while((0|D)!=(0|A));y=i+64|0,e=f,g=u,f=1}else st=365}else f=0,u=0,m=0,h=0,st=365;if(365==(0|st)&&(C=0,y=i+64|0,e=f,g=u,f=0),k=(w=1/C)*+p[y>>2],p[y>>2]=k,S=w*+p[i+68>>2],p[i+68>>2]=S,w*=+p[i+72>>2],p[i+72>>2]=w,p[i+96>>2]=34028234663852886e22,f)for(u=0|_[i+36>>2],f=0,v=34028234663852886e22;;){if((C=+d(+(+p[u+(36*f|0)+32>>2]+(k*+p[u+(36*f|0)+20>>2]+S*+p[u+(36*f|0)+24>>2]+w*+p[u+(36*f|0)+28>>2]))))>2]=C:C=v,(0|(f=f+1|0))==(0|A)){x=C;break}v=C}else x=34028234663852886e22;if((0|(f=0|_[i+8>>2]))>0){u=0|_[i+16>>2],A=0,k=-34028234663852886e22,R=-34028234663852886e22,w=-34028234663852886e22,S=34028234663852886e22,v=34028234663852886e22,C=34028234663852886e22;do{C=(et=+p[u+(A<<4)>>2])w?et:w,v=(et=+p[u+(A<<4)+4>>2])R?et:R,S=(et=+p[u+(A<<4)+8>>2])k?et:k,A=A+1|0}while((0|A)!=(0|f))}else k=-34028234663852886e22,R=-34028234663852886e22,w=-34028234663852886e22,S=34028234663852886e22,v=34028234663852886e22,C=34028234663852886e22;for(p[i+100>>2]=C+w,p[i+104>>2]=v+R,p[i+108>>2]=S+k,p[i+112>>2]=0,et=w-C,v=R-v,C=k-S,p[i+116>>2]=et,p[i+120>>2]=v,p[i+124>>2]=C,p[i+128>>2]=0,S=x/1.7320507764816284,C=.0009765625*(.5*+p[i+116+((y=et>2]-S),p[i+88>>2]=S,p[i+84>>2]=S,p[i+80>>2]=S,v=.5*+p[i+116+(y<<2)>>2],p[i+80+(y<<2)>>2]=v,A=0;;){if(0|xt(i)){st=478;break}if(v-=C,p[i+80+(y<<2)>>2]=v,(A=A+1|0)>>>0>=1024){st=477;break}}t:do{if(477==(0|st))p[i+88>>2]=S,p[i+84>>2]=S,p[i+80>>2]=S;else if(478==(0|st)){for(C=.0009765625*(+p[i+96>>2]-S),A=0,u=0|_[i+80+((1<<(1<>2];f=0|_[i+80+((1<>2],p[i+80+((1<>2]=C+(_[a>>2]=f,+p[a>>2]),v=C+ +p[i+80+((1<<(1<>2],p[i+80+((1<<(1<>2]=v,A=A+1|0,0|xt(i);){if(A>>>0>=1024)break t;p[a>>2]=v,u=0|_[a>>2]}_[i+80+((1<>2]=f,_[i+80+((1<<(1<>2]=u}}while(0);if(0|e&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|h&&(_[6631]=1+(0|_[6631]),Ni(0|_[h+-4>>2])),0|m&&(_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2])),0|g&&(_[6631]=1+(0|_[6631]),Ni(0|_[g+-4>>2])),!(0|it)|!(0|nt)||(_[6631]=1+(0|_[6631]),Ni(0|_[nt+-4>>2])),y=0|_[r>>2],g=0|_[_t>>2],(0|y)<=0)0|g&&(st=500);else{A=0;do{u=g+(36*A|0)+4|0,f=g+(36*A|0)+16|0,0|(h=0|_[(m=g+(36*A|0)+12|0)>>2])&&(0|n[0|f]&&(_[6631]=1+(0|_[6631]),Ni(0|_[h+-4>>2])),_[m>>2]=0),n[0|f]=1,_[m>>2]=0,_[u>>2]=0,_[g+(36*A|0)+8>>2]=0,A=A+1|0}while((0|A)!=(0|y));st=500}return 500==(0|st)&&(0|n[l+104+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[g+-4>>2])),_[_t>>2]=0),!(0|rt)|!(0|ot)||(_[6631]=1+(0|_[6631]),Ni(0|_[ot+-4>>2])),0|(A=0|_[c>>2])&&(0|n[l+124+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[c>>2]=0),n[l+124+56|0]=1,_[c>>2]=0,_[l+124+44>>2]=0,_[l+124+48>>2]=0,0|(A=0|_[ct>>2])&&(0|n[l+124+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[ct>>2]=0),n[l+124+36|0]=1,_[ct>>2]=0,_[l+124+24>>2]=0,_[l+124+28>>2]=0,0|(A=0|_[at>>2])&&(0|n[l+124+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[at>>2]=0),lt?(_[6631]=1+(0|_[6631]),Ni(0|_[lt+-4>>2]),Q=l,1):(Q=l,1)},Fs,Fs,function(t,e){e|=0;var i,o,r=0,s=0,c=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0;if(o=Q,Q=Q+96|0,r=0|_[216+(t|=0)>>2],0==+p[r+4>>2])return Q=o,0|(O=0);if(O=0|_[e>>2],!(0|Ll[31&_[8+(0|_[r>>2])>>2]](r,0|_[O+188>>2])))return Q=o,0|(O=1);if(e=0|_[O+192>>2],i=0|_[t+216>>2],32!=(0|_[e+4>>2]))return _[o+32>>2]=0,_[o+32+4>>2]=e,_[o+32+8>>2]=O,_[o+32+12>>2]=O+4,_[o+32+16>>2]=-1,_[o+32+20>>2]=-1,ji(t+68|0,t+132|0,o+32|0,i),Q=o,0|(O=1);if(!(0|O)||8!=(0|_[O+236>>2]))return Q=o,0|(O=1);if(e=0|_[O+752>>2])if(0|_[O+988>>2])r=O+988|0;else if(0|(e=0|_[O+988+4>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[O+988+4>>2]=0,_[O+988+8>>2]=-1,0|(e=0|_[O+988+32>>2])&&(0|n[O+988+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[O+988+32>>2]=0),n[O+988+36|0]=1,_[O+988+32>>2]=0,_[O+988+24>>2]=0,_[O+988+28>>2]=0,_[O+988+16>>2]=0,(0|(e=0|_[O+752>>2]))>0){C=0;do{if(y=(f=0|_[O+760>>2])+(44*C|0)|0,v=0|_[f+(44*C|0)+8>>2],B=0|_[f+(44*C|0)+12>>2],e=0|_[f+(44*C|0)+16>>2],m=+p[v+8>>2],h=+p[v+12>>2],g=+p[v+16>>2],A=+p[v+20>>2],s=(I=+p[B+8>>2])>2])>2])>2])>2])>2])>2])>2])>2])_[O+988+4>>2]=0;else{_[6630]=1+(0|_[6630]),(e=0|di(63))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,d=(r=e)+44|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|d))}_[e+32>>2]=0,_[e+36>>2]=y,_[e+40>>2]=0,p[e>>2]=s,p[e+4>>2]=u,p[e+8>>2]=c,p[e+12>>2]=l,p[e+16>>2]=m,p[e+20>>2]=h,p[e+24>>2]=g,p[e+28>>2]=A,U(O+988|0,0|_[O+988>>2],e),_[O+988+12>>2]=1+(0|_[O+988+12>>2]),_[f+(44*C|0)+40>>2]=e,C=C+1|0,e=0|_[O+752>>2]}while((0|C)<(0|e));r=O+988|0}else r=O+988|0;else r=O+988|0,e=0;if(W=+p[t+180>>2]-+p[t+116>>2],F=+p[t+184>>2]-+p[t+120>>2],x=+p[t+188>>2]-+p[t+124>>2],r=0|_[r>>2])_[o+32>>2]=4068,_[o+32+4>>2]=_[t+116>>2],_[o+32+4+4>>2]=_[t+116+4>>2],_[o+32+4+8>>2]=_[t+116+8>>2],_[o+32+4+12>>2]=_[t+116+12>>2],p[o+32+36>>2]=W,p[o+32+40>>2]=F,p[o+32+44>>2]=x,p[o+32+48>>2]=0,_[o+32+20>>2]=_[t+180>>2],_[o+32+20+4>>2]=_[t+180+4>>2],_[o+32+20+8>>2]=_[t+180+8>>2],_[o+32+20+12>>2]=_[t+180+12>>2],_[o+32+52>>2]=1065353216,_[o+32+56>>2]=0,_[o+32+60>>2]=0,Xe(r,t+116|0,t+180|0,o+32|0),(e=0|_[o+32+56>>2])?(P=0|_[o+32+52>>2],r=1,e=(e-(0|_[O+760>>2])|0)/44|0,d=P,f=3,_[a>>2]=P,s=+p[a>>2]):(r=0,e=-1,d=1065353216,f=0,s=1);else if((0|e)>0){v=0|_[O+760>>2],C=0,r=0,y=-1,d=1065353216,f=0,c=1,s=1;do{P=0|_[v+(44*C|0)+8>>2],T=0|_[v+(44*C|0)+12>>2],B=0|_[v+(44*C|0)+16>>2],(l=+zt(t+116|0,W,F,x,+p[P+8>>2],+p[P+12>>2],+p[P+16>>2],+p[T+8>>2],+p[T+12>>2],+p[T+16>>2],+p[B+8>>2],+p[B+12>>2],+p[B+16>>2],c))>0&&(r=r+1|0,y=C,p[a>>2]=l,d=0|_[a>>2],f=3,s=l,c=l),C=C+1|0}while((0|C)!=(0|e));e=y}else r=0,e=-1,d=1065353216,f=0,s=1;if((0|(v=0|_[O+772>>2]))>0){B=0|_[O+780>>2],C=0;do{P=0|_[B+(104*C|0)+8>>2],k=+p[P+8>>2],j=+p[P+12>>2],I=+p[P+16>>2],P=0|_[B+(104*C|0)+12>>2],u=+p[P+8>>2],h=+p[P+12>>2],S=+p[P+16>>2],P=0|_[B+(104*C|0)+16>>2],w=+p[P+8>>2],R=+p[P+12>>2],D=+p[P+16>>2],_[a>>2]=d,(l=+zt(t+116|0,W,F,x,k,j,I,u,h,S,w,R,D,c=+p[a>>2]))>0&&(r=r+1|0,e=C,p[a>>2]=l,d=0|_[a>>2],f=4,c=l,s=l),P=0|_[B+(104*C|0)+20>>2],(l=+zt(t+116|0,W,F,x,k,j,I,u,h,S,A=+p[P+8>>2],m=+p[P+12>>2],g=+p[P+16>>2],c))>0?(r=r+1|0,e=C,p[a>>2]=l,y=0|_[a>>2],f=4,c=l,s=l):(y=d,_[a>>2]=d,c=+p[a>>2]),(l=+zt(t+116|0,W,F,x,u,h,S,w,R,D,A,m,g,c))>0?(r=r+1|0,e=C,p[a>>2]=l,d=0|_[a>>2],f=4,c=l,s=l):(d=y,_[a>>2]=y,c=+p[a>>2]),(c=+zt(t+116|0,W,F,x,k,j,I,w,R,D,A,m,g,c))>0&&(r=r+1|0,e=C,p[a>>2]=c,d=0|_[a>>2],f=4,s=c),C=C+1|0}while((0|C)!=(0|v));d=f,h=s}else d=f,h=s;return r&&h<=+p[i+4>>2]?(_[o+32>>2]=0,_[o+32+4>>2]=e,A=+p[t+180>>2]-+p[t+116>>2],u=+p[t+184>>2]-+p[t+120>>2],m=+p[t+188>>2]-+p[t+124>>2],s=1/+b(+(A*A+u*u+m*m)),3==(0|d)?(r=0|_[O+748+12>>2],A*(s=+p[r+(44*e|0)+20>>2])+u*(l=+p[r+(44*e|0)+24>>2])+m*(c=+p[r+(44*e|0)+28>>2])>0?(A=-s,l=-l,c=-c,s=0):(A=s,s=+p[r+(44*e|0)+32>>2])):(A=-A*s,l=-u*s,c=-m*s,s=0),_[o>>2]=O,_[o+4>>2]=o+32,p[o+8>>2]=A,p[o+12>>2]=l,p[o+16>>2]=c,p[o+20>>2]=s,p[o+24>>2]=h,Fl[15&_[12+(0|_[i>>2])>>2]](i,o,1),Q=o,0|(P=1)):(Q=o,0|(P=1))},function(t,e){t|=0;var i=0,o=0,r=0;if(!(0|(e|=0)&&2&_[e+236>>2]))return 0|(r=1);if((0|(r=0|_[t+488>>2]))<=0)return 0|(r=1);for(i=0|_[t+496>>2],t=0;;){if(o=0|_[i+(t<<2)>>2],0|n[o+20|0]){if((0|_[o+28>>2])==(0|e)){t=0,i=8;break}if((0|_[o+32>>2])==(0|e)){t=0,i=8;break}}if((0|(t=t+1|0))>=(0|r)){t=1,i=8;break}}return 8==(0|i)?0|t:0},function(t,e){t|=0;var i,n=0;return(0|(i=0|_[(e|=0)>>2]))==(0|(n=0|_[t+80>>2]))?0|(n=0):(o[t+10>>1]&o[e+4>>1])<<16>>16&&(o[e+6>>1]&o[t+8>>1])<<16>>16?(e=0|_[t+92>>2],0|(n=0|El[63&_[28+(0|_[e>>2])>>2]](e,n,i))):0|(n=0)},function(t,e){return e|=0,0|_[(0|_[20+(t|=0)>>2])+(e<<2)>>2]},function(t,e){var i;return e|=0,t=0|_[64+(t|=0)>>2],0|(i=0|_[t+8>>2])?(e=0|_[t+12>>2],_[t+12>>2]=_[e>>2],_[t+8>>2]=i+-1,0|e):(_[6630]=1+(0|_[6630]),(t=0|di(e+19|0))?(_[(t+4+15&-16)-4>>2]=t,0|(e=t+4+15&-16)):0|(e=0))},function(t,e){var i;return e|=0,i=0|_[8+(t|=0)>>2],_d[127&_[i+60>>2]](e,i,0|_[t+4>>2]),0},function(t,e){e|=0;var i,n,o=0;return i=Q,Q=Q+32|0,o=0|_[216+(t|=0)>>2],0==+p[o+4>>2]?(Q=i,0|(o=0)):(e=0|_[e>>2],0|Ll[31&_[8+(0|_[o>>2])>>2]](o,0|_[e+188>>2])?(n=0|_[e+192>>2],o=0|_[t+216>>2],_[i>>2]=0,_[i+4>>2]=n,_[i+8>>2]=e,_[i+12>>2]=e+4,_[i+16>>2]=-1,_[i+20>>2]=-1,ji(t+68|0,t+132|0,i,o),Q=i,0|(o=1)):(Q=i,0|(o=1)))},function(t,e){return e|=0,t=0|_[20+(t|=0)>>2],0|Ll[31&_[8+(0|_[t>>2])>>2]](t,e)},function(t,e){return e|=0,t=0|_[12+(t|=0)>>2],0|Ll[31&_[8+(0|_[t>>2])>>2]](t,e)},function(t,e){e|=0;var i,n,o,r,s=0;return i=Q,Q=Q+32|0,s=0|_[184+(t|=0)>>2],0==+p[s+4>>2]?(Q=i,0|(s=0)):(e=0|_[e>>2],0|Ll[31&_[8+(0|_[s>>2])>>2]](s,0|_[e+188>>2])?(o=0|_[t+192>>2],r=0|_[e+192>>2],s=0|_[t+184>>2],n=+p[t+188>>2],_[i>>2]=0,_[i+4>>2]=r,_[i+8>>2]=e,_[i+12>>2]=e+4,_[i+16>>2]=-1,_[i+20>>2]=-1,mi(o,t+36|0,t+100|0,i,s,n),Q=i,0|(s=1)):(Q=i,0|(s=1)))},function(t,e){t|=0;var i,n=0,o=0;return i=Q,Q=Q+96|0,(0|(e=0|_[(e|=0)>>2]))==(0|_[t+4>>2])?(Q=i,1):(n=0|_[t+12>>2],0|Ll[31&_[8+(0|_[n>>2])>>2]](n,0|_[e+188>>2])?(n=0|_[t+4>>2],o=0|_[n+192>>2],_[i+64>>2]=0,_[i+64+4>>2]=o,_[i+64+8>>2]=n,_[i+64+12>>2]=n+4,_[i+64+16>>2]=-1,_[i+64+20>>2]=-1,n=0|_[e+192>>2],_[i+40>>2]=0,_[i+40+4>>2]=n,_[i+40+8>>2]=e,_[i+40+12>>2]=e+4,_[i+40+16>>2]=-1,_[i+40+20>>2]=-1,e=0|_[24+(0|_[t+8>>2])>>2],0|(e=0|Hl[31&_[8+(0|_[e>>2])>>2]](e,i+64|0,i+40|0,0))&&(o=0|_[t+12>>2],_[i+4>>2]=0,_[i+8>>2]=i+64,_[i+12>>2]=i+40,_[i>>2]=6872,_[i+32>>2]=o,dd[31&_[8+(0|_[e>>2])>>2]](e,i+64|0,i+40|0,28+(0|_[t+8>>2])|0,i),Xl[511&_[_[e>>2]>>2]](e),o=0|_[24+(0|_[t+8>>2])>>2],ed[127&_[60+(0|_[o>>2])>>2]](o,e)),Q=i,1):(Q=i,1))},function(t,e){e|=0;var i=0;return i=0|_[4+(t|=0)>>2],(0|_[e>>2])!=(0|i)&&(0|_[e+4>>2])!=(0|i)||(i=0|_[t+8>>2],_d[127&_[32+(0|_[i>>2])>>2]](i,e,0|_[t+12>>2])),0},function(t,e){return e|=0,t=0|_[4+(t|=0)>>2],0|((0|_[e>>2])==(0|t)?1:(0|_[e+4>>2])==(0|t))},tl,tl,tl,tl,tl,tl,tl,tl,tl],Ql=[Va,function(t,e,i){e|=0,i=+i;var n,o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0;return o=Q,Q=Q+32|0,a=+p[56+(t|=0)>>2],u=+p[t+72>>2]-a,c=+p[t+60>>2],A=+p[t+76>>2]-c,l=+p[t+64>>2],m=+p[t+80>>2]-l,d=+p[t+88>>2]-a,f=+p[t+92>>2]-c,n=(A*(r=+p[t+96>>2]-l)-m*f)*(s=1/+b(+((u*f-A*d)*(u*f-A*d)+((A*r-m*f)*(A*r-m*f)+(m*d-u*r)*(m*d-u*r))))),r=(m*d-u*r)*s,s*=u*f-A*d,!((c=+p[e+8>>2]*s+(+p[e>>2]*n+ +p[e+4>>2]*r)-(l*s+(a*n+c*r)))>=-i)|!(c<=i)?(Q=o,0|(e=0)):(pd[127&_[104+(0|_[t>>2])>>2]](t,0,o+16|0,o),l=+p[o+16>>2],u=+p[o>>2]-l,A=+p[o+16+4>>2],d=+p[o+4>>2]-A,a=+p[o+16+8>>2],f=+p[o+8>>2]-a,m=1/+b(+((r*u-n*d)*(r*u-n*d)+((s*d-r*f)*(s*d-r*f)+(n*f-s*u)*(n*f-s*u)))),+p[e+8>>2]*((r*u-n*d)*m)+(+p[e>>2]*((s*d-r*f)*m)+ +p[e+4>>2]*((n*f-s*u)*m))-(a*((r*u-n*d)*m)+(l*((s*d-r*f)*m)+A*((n*f-s*u)*m)))<-i?(Q=o,0|(e=0)):(pd[127&_[104+(0|_[t>>2])>>2]](t,1,o+16|0,o),l=+p[o+16>>2],u=+p[o>>2]-l,A=+p[o+16+4>>2],d=+p[o+4>>2]-A,a=+p[o+16+8>>2],f=+p[o+8>>2]-a,m=1/+b(+((r*u-n*d)*(r*u-n*d)+((s*d-r*f)*(s*d-r*f)+(n*f-s*u)*(n*f-s*u)))),+p[e+8>>2]*((r*u-n*d)*m)+(+p[e>>2]*((s*d-r*f)*m)+ +p[e+4>>2]*((n*f-s*u)*m))-(a*((r*u-n*d)*m)+(l*((s*d-r*f)*m)+A*((n*f-s*u)*m)))<-i?(Q=o,0|(e=0)):(pd[127&_[104+(0|_[t>>2])>>2]](t,2,o+16|0,o),l=+p[o+16>>2],u=+p[o>>2]-l,A=+p[o+16+4>>2],d=+p[o+4>>2]-A,a=+p[o+16+8>>2],f=+p[o+8>>2]-a,m=1/+b(+((r*u-n*d)*(r*u-n*d)+((s*d-r*f)*(s*d-r*f)+(n*f-s*u)*(n*f-s*u)))),+p[e+8>>2]*((r*u-n*d)*m)+(+p[e>>2]*((s*d-r*f)*m)+ +p[e+4>>2]*((n*f-s*u)*m))-(a*((r*u-n*d)*m)+(l*((s*d-r*f)*m)+A*((n*f-s*u)*m)))<-i?(Q=o,0|(e=0)):(Q=o,0|(e=1)))))},_c,_c,function(t,e,i){e|=0,i=+i;var n,o,_,r=0;return n=+p[28+(t|=0)>>2],o=+p[t+32>>2],_=+p[t+36>>2],(r=+p[e>>2])<=n+i&&r>=-n-i&&(r=+p[e+4>>2])<=o+i&&r>=-o-i&&(r=+p[e+8>>2])<=_+i?0|(e=r>=-_-i):0|(e=0)},Va,Va,Va],El=[Fa,function(t,e,i){t|=0,e|=0;var n=0;return n=0|_[(i|=0)>>2],t=0|ds(0|_[e>>2]),n=0|ds(n),0|t&&_d[127&_[28+(0|_[t>>2])>>2]](t,i,e),n?(_d[127&_[28+(0|_[n>>2])>>2]](n,e,i),0):0},function(t,e,i){t|=0,e|=0,i|=0;do{if(!(32==(0|e)&32==(0|i))){if(32==(0|e)){if((0|i)<20){t=t+96|0;break}if((i+-21|0)>>>0<9){t=t+104|0;break}}else{if((0|e)<20&32==(0|i)){t=t+100|0;break}if((e+-21|0)>>>0<9&32==(0|i)){t=t+108|0;break}if(8==(0|e)&8==(0|i)){t=t+60|0;break}if(8==(0|e)&1==(0|i)){t=t+76|0;break}if(1==(0|e)&8==(0|i)){t=t+80|0;break}}if(!(i|e)){t=t+72|0;break}if((0|e)<20&28==(0|i)){t=t+88|0;break}if(28==(0|e)&(0|i)<20){t=t+84|0;break}if((0|e)<20){if((0|i)<20){t=t+32|0;break}if((i+-21|0)>>>0<9){t=t+36|0;break}}else{if((0|i)<20&(e+-21|0)>>>0<9){t=t+40|0;break}if(31==(0|e)){if(31==(0|i)){t=t+48|0;break}t=t+44|0;break}}if(31==(0|i)){t=t+52|0;break}t=t+56|0;break}t=t+92|0}while(0);return 0|_[t>>2]},function(t,e,i){var o=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0;if(Y(t|=0,e|=0,i|=0),W=0|_[t+872>>2],_[e+292>>2]=W,W){if(W=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,t+868|0),_[e+260>>2]=W,0|W){if(c=0|_[e+292>>2],d=0|El[63&_[16+(0|_[i>>2])>>2]](i,4,c),(0|c)>0)for(o=0|_[d+8>>2],s=0;;){if((a=0|_[(0|_[t+880>>2])+(s<<2)>>2])?(p=a,l=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,a)):(p=0,l=0),_[o>>2]=l,0|Ll[31&_[24+(0|_[i>>2])>>2]](i,p)||(W=0|El[63&_[16+(0|_[i>>2])>>2]](i,16,1),B=0|_[W+8>>2],_[B+12>>2]=_[a+16>>2],_[B+4>>2]=_[a+8>>2],_[B>>2]=_[a+4>>2],_[B+8>>2]=_[a+12>>2],dd[31&_[20+(0|_[i>>2])>>2]](i,W,13085,1414349395,p)),(0|(s=s+1|0))>=(0|c)){o=i;break}o=o+4|0}else o=i;dd[31&_[20+(0|_[o>>2])>>2]](i,d,13085,1497453121,t+868|0)}}else _[e+260>>2]=0;if(W=0|_[t+712>>2],_[e+296>>2]=W,W)if(W=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,t+708|0),_[e+264>>2]=W,W){if(B=0|_[e+296>>2],W=0|El[63&_[16+(0|_[i>>2])>>2]](i,100,B),(0|B)>0)for(D=0,I=0|_[W+8>>2],f=0,y=0,g=0,o=0,s=0,u=0,w=0,v=0,p=0,m=0,c=0,a=0,j=0,S=0;;){d=0|_[t+720>>2],_[I+52>>2]=_[d+(104*D|0)+56>>2],_[I+56>>2]=_[d+(104*D|0)+60>>2],_[I+60>>2]=_[d+(104*D|0)+64>>2],_[I+64>>2]=_[d+(104*D|0)+68>>2],_[I+88>>2]=_[d+(104*D|0)+92>>2],l=n[d+(104*D|0)+100|0]<<7&255,_[I+92>>2]=l<<24>>24>>7<<24>>24,_[I+84>>2]=_[d+(104*D|0)+88>>2],(l=0|_[d+(104*D|0)+4>>2])?(l=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),d=0|_[t+720>>2]):l=0,_[I>>2]=l,A=d+(104*D|0)|0,_[I+68>>2]=_[d+(104*D|0)+72>>2],_[I+72>>2]=_[d+(104*D|0)+76>>2],_[I+76>>2]=_[d+(104*D|0)+80>>2],_[I+80>>2]=_[d+(104*D|0)+84>>2],_[I+4>>2]=_[d+(104*D|0)+8>>2],_[I+8>>2]=_[d+(104*D|0)+12>>2],_[I+12>>2]=_[d+(104*D|0)+16>>2],_[I+16>>2]=_[d+(104*D|0)+20>>2],_[I+20>>2]=_[d+(104*D|0)+24>>2],_[I+24>>2]=_[d+(104*D|0)+28>>2],_[I+28>>2]=_[d+(104*D|0)+32>>2],_[I+32>>2]=_[d+(104*D|0)+36>>2],_[I+36>>2]=_[d+(104*D|0)+40>>2],_[I+40>>2]=_[d+(104*D|0)+44>>2],_[I+44>>2]=_[d+(104*D|0)+48>>2],_[I+48>>2]=_[d+(104*D|0)+52>>2],C=9*(A+~(A<<15)>>10^A+~(A<<15))|0,h=(C=(C^=C>>6)+~(C<<11)>>16^C+~(C<<11))&c+-1;t:do{if(h>>>0>>0&&(F=0|_[s+(h<<2)>>2],-1!=(0|F))){for(l=F;(0|_[o+(l<<3)>>2])!=(0|A);)if(-1==(0|(l=0|_[p+(l<<2)>>2]))){T=27;break t}_[a+(l<<2)>>2]=D,h=g,A=w,d=v,b=j,l=S}else T=27}while(0);if(27==(0|T)){T=0;do{if((0|m)==(0|c))if((0|c)<(0|(d=0|c?c<<1:1))){if(0|d&&(_[6630]=1+(0|_[6630]),0|(x=0|di(16+(d<<2|3)|0)))?(_[(x+4+15&-16)-4>>2]=x,b=x+4+15&-16):b=0,(0|c)<=0){if(!a){R=d,a=b,l=c;break}}else{l=0;do{_[b+(l<<2)>>2]=_[a+(l<<2)>>2],l=l+1|0}while((0|l)!=(0|c))}_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2]),R=d,a=b,l=c}else R=c,l=c;else R=c,l=m}while(0);_[a+(l<<2)>>2]=D,k=m+1|0;do{if((0|y)==(0|g))if((0|y)<(0|(d=0|y?y<<1:1))){if(0|d&&(_[6630]=1+(0|_[6630]),0|(O=0|di(16+(d<<3|3)|0)))?(_[(O+4+15&-16)-4>>2]=O,b=O+4+15&-16):b=0,(0|y)<=0){if(!o){g=d,o=b;break}}else{l=0;do{P=0|_[4+(M=o+(l<<3)|0)>>2],_[(g=b+(l<<3)|0)>>2]=_[M>>2],_[g+4>>2]=P,l=l+1|0}while((0|l)!=(0|y))}_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),g=d,o=b}else g=y}while(0);if(_[o+(y<<3)>>2]=A,y=y+1|0,(0|c)<(0|R)){if((0|u)<(0|R)){do{if((0|f)<(0|R)){do{if(R){if(_[6630]=1+(0|_[6630]),!(c=0|di(16+(R<<2|3)|0))){l=0;break}_[(c+4+15&-16)-4>>2]=c,l=c+4+15&-16}else l=0}while(0);if((0|u)<=0){if(!s){f=R,s=l,h=l;break}}else{c=0;do{_[l+(c<<2)>>2]=_[s+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|u))}_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),f=R,s=l,h=l}else h=S}while(0);if(wn(s+(u<<2)|0,0,(A=R<<2)-(u<<2)|0),(0|w)<(0|R)){do{if((0|v)<(0|R)){do{if(R){if(_[6630]=1+(0|_[6630]),!(c=0|di(16+(3|A)|0))){l=0;break}_[(c+4+15&-16)-4>>2]=c,l=c+4+15&-16}else l=0}while(0);if((0|w)<=0){if(!p){d=R,p=l,c=l;break}}else{c=0;do{_[l+(c<<2)>>2]=_[p+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|w))}_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2]),d=R,p=l,c=l}else d=v,c=j}while(0);wn(p+(w<<2)|0,0,A-(w<<2)|0),b=c}else d=v,b=j;if((0|R)>0&&(wn(0|h,-1,0|A),wn(0|b,-1,0|A)),(0|u)>0){l=R+-1|0,c=0;do{M=9*((M=0|_[o+(c<<3)>>2])+~(M<<15)>>10^M+~(M<<15))|0,M=s+((((M^=M>>6)+~(M<<11)>>16^M+~(M<<11))&l)<<2)|0,_[p+(c<<2)>>2]=_[M>>2],_[M>>2]=c,c=c+1|0}while((0|c)!=(0|u));l=R,A=R,c=h}else l=R,A=R,c=h}else l=u,A=w,d=v,b=j,c=S;h=C&R+-1,u=l,l=c}else A=w,d=v,b=j,l=S;h=s+(h<<2)|0,_[p+(m<<2)>>2]=_[h>>2],_[h>>2]=m,h=g,m=k,c=R}if((0|(D=D+1|0))>=(0|B))break;I=I+100|0,g=h,w=A,v=d,j=b,S=l}else o=0,s=0,p=0,c=0,a=0;dd[31&_[20+(0|_[i>>2])>>2]](i,W,13106,1145979475,t+708|0),S=o}else S=0,s=0,p=0,c=0,a=0;else _[e+264>>2]=0,S=0,s=0,p=0,c=0,a=0;if(M=0|_[t+732>>2],_[e+300>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+740>>2]),_[e+268>>2]=M,0|M){if(f=0|_[e+300>>2],u=0|El[63&_[16+(0|_[i>>2])>>2]](i,20,f),(0|f)>0)for(d=0|_[t+740>>2],b=0|_[u+8>>2],A=0,o=d;l=n[d+(52*A|0)+20|0]<<7&255,_[b+16>>2]=l<<24>>24>>7<<24>>24,(l=0|_[d+(52*A|0)+4>>2])?(l=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),o=d=0|_[t+740>>2]):l=0,_[b>>2]=l,l=(l=0|_[d+(52*A|0)+8>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+4>>2]=l,l=(l=0|_[d+(52*A|0)+12>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+8>>2]=l,_[b+12>>2]=_[d+(52*A|0)+16>>2],!((0|(A=A+1|0))>=(0|f));)b=b+20|0;else o=0|_[t+740>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,u,13123,1497453121,o)}}else _[e+268>>2]=0;if(M=0|_[t+752>>2],_[e+304>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+760>>2]),_[e+272>>2]=M,0|M){if(f=0|_[e+304>>2],u=0|El[63&_[16+(0|_[i>>2])>>2]](i,36,f),(0|f)>0)for(d=0|_[t+760>>2],b=0|_[u+8>>2],A=0,o=d;(l=0|_[d+(44*A|0)+4>>2])?(l=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),o=d=0|_[t+760>>2]):l=0,_[b+16>>2]=l,_[b>>2]=_[d+(44*A|0)+20>>2],_[b+4>>2]=_[d+(44*A|0)+24>>2],_[b+8>>2]=_[d+(44*A|0)+28>>2],_[b+12>>2]=_[d+(44*A|0)+32>>2],l=(l=0|_[d+(44*A|0)+8>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+20>>2]=l,l=(l=0|_[d+(44*A|0)+12>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+24>>2]=l,l=(l=0|_[d+(44*A|0)+16>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+28>>2]=l,_[b+32>>2]=_[d+(44*A|0)+36>>2],!((0|(A=A+1|0))>=(0|f));)b=b+36|0;else o=0|_[t+760>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,u,13140,1497453121,o)}}else _[e+272>>2]=0;if(M=0|_[t+772>>2],_[e+308>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+780>>2]),_[e+276>>2]=M,0|M){if(f=0|_[e+308>>2],u=0|El[63&_[16+(0|_[i>>2])>>2]](i,100,f),(0|f)>0)for(d=0|_[t+780>>2],b=0|_[u+8>>2],A=0,o=d;_[b>>2]=_[d+(104*A|0)+32>>2],_[b+4>>2]=_[d+(104*A|0)+36>>2],_[b+8>>2]=_[d+(104*A|0)+40>>2],_[b+12>>2]=_[d+(104*A|0)+44>>2],l=(l=0|_[d+8>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+68>>2]=l,_[b+16>>2]=_[d+(104*A|0)+48>>2],_[b+20>>2]=_[d+(104*A|0)+52>>2],_[b+24>>2]=_[d+(104*A|0)+56>>2],_[b+28>>2]=_[d+(104*A|0)+60>>2],l=(l=0|_[d+116>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+72>>2]=l,_[b+32>>2]=_[d+(104*A|0)+64>>2],_[b+36>>2]=_[d+(104*A|0)+68>>2],_[b+40>>2]=_[d+(104*A|0)+72>>2],_[b+44>>2]=_[d+(104*A|0)+76>>2],l=(l=0|_[d+224>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+76>>2]=l,_[b+48>>2]=_[d+(104*A|0)+80>>2],_[b+52>>2]=_[d+(104*A|0)+84>>2],_[b+56>>2]=_[d+(104*A|0)+88>>2],_[b+60>>2]=_[d+(104*A|0)+92>>2],l=(l=0|_[d+332>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+80>>2]=l,_[b+88>>2]=_[d+(104*A|0)+96>>2],_[b+92>>2]=_[d+(104*A|0)+100>>2],(l=0|_[d+(104*A|0)+4>>2])?(l=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),o=d=0|_[t+780>>2]):l=0,_[b+64>>2]=l,_[b+84>>2]=_[d+(104*A|0)+24>>2],!((0|(A=A+1|0))>=(0|f));)b=b+100|0;else o=0|_[t+780>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,u,13157,1497453121,o)}}else _[e+276>>2]=0;if(M=0|_[t+792>>2],_[e+312>>2]=M,M)if(M=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+800>>2]),_[e+280>>2]=M,M){if(A=0|_[e+312>>2],f=0|El[63&_[16+(0|_[i>>2])>>2]](i,92,A),(0|A)>0)for(d=0|_[f+8>>2],b=0;l=0|_[t+800>>2],_[d>>2]=_[l+(96*b|0)+28>>2],_[d+4>>2]=_[l+(96*b|0)+32>>2],_[d+8>>2]=_[l+(96*b|0)+36>>2],_[d+12>>2]=_[l+(96*b|0)+40>>2],_[d+16>>2]=_[l+(96*b|0)+44>>2],_[d+20>>2]=_[l+(96*b|0)+48>>2],_[d+24>>2]=_[l+(96*b|0)+52>>2],_[d+28>>2]=_[l+(96*b|0)+56>>2],_[d+32>>2]=_[l+(96*b|0)+60>>2],_[d+36>>2]=_[l+(96*b|0)+64>>2],_[d+40>>2]=_[l+(96*b|0)+68>>2],_[d+44>>2]=_[l+(96*b|0)+72>>2],_[d+48>>2]=_[l+(96*b|0)+76>>2],_[d+52>>2]=_[l+(96*b|0)+80>>2],_[d+56>>2]=_[l+(96*b|0)+84>>2],_[d+60>>2]=_[l+(96*b|0)+88>>2],_[d+88>>2]=_[l+(96*b|0)+92>>2],_[d+64>>2]=_[l+(96*b|0)+4>>2],_[d+68>>2]=_[l+(96*b|0)+8>>2],_[d+72>>2]=_[l+(96*b|0)+12>>2],_[d+76>>2]=_[l+(96*b|0)+16>>2],o=(o=0|_[l+(96*b|0)>>2])?(o-(0|_[t+720>>2])|0)/104|0:-1,_[d+84>>2]=o,o=(o=0|_[l+(96*b|0)+20>>2])?0|Ll[31&_[28+(0|_[i>>2])>>2]](i,o):0,_[d+80>>2]=o,!((0|(b=b+1|0))>=(0|A));)d=d+92|0;dd[31&_[20+(0|_[i>>2])>>2]](i,f,13175,1497453121,0|_[t+800>>2]),v=i}else v=i;else _[e+280>>2]=0,v=i;if(_[e+352>>2]=_[t+316>>2],_[e+328>>2]=_[t+292>>2],_[e+344>>2]=_[t+308>>2],_[e+324>>2]=_[t+288>>2],_[e+340>>2]=_[t+304>>2],_[e+336>>2]=_[t+300>>2],_[e+412>>2]=_[t+376>>2],_[e+416>>2]=_[t+380>>2],_[e+420>>2]=_[t+384>>2],_[e+408>>2]=_[t+372>>2],u=0|_[t+364>>2],_[e+332>>2]=_[t+296>>2],_[e+356>>2]=_[t+320>>2],_[e+424>>2]=_[t+388>>2],_[e+348>>2]=_[t+312>>2],_[e+360>>2]=_[t+324>>2],_[e+364>>2]=_[t+328>>2],_[e+368>>2]=_[t+332>>2],_[e+372>>2]=_[t+336>>2],_[e+404>>2]=_[t+368>>2],_[e+400>>2]=u,_[e+376>>2]=_[t+340>>2],_[e+380>>2]=_[t+344>>2],_[e+384>>2]=_[t+348>>2],_[e+388>>2]=_[t+352>>2],_[e+392>>2]=_[t+356>>2],_[e+396>>2]=_[t+360>>2],u=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,t+472|0),_[e+256>>2]=u,u=0|El[63&_[16+(0|_[i>>2])>>2]](i,192,1),f=0|_[u+8>>2],_[f+96>>2]=_[t+632>>2],_[f+100>>2]=_[t+636>>2],_[f+104>>2]=_[t+640>>2],_[f+108>>2]=_[t+644>>2],_[f+112>>2]=_[t+648>>2],_[f+116>>2]=_[t+652>>2],_[f+120>>2]=_[t+656>>2],_[f+124>>2]=_[t+660>>2],_[f+128>>2]=_[t+664>>2],_[f+132>>2]=_[t+668>>2],_[f+136>>2]=_[t+672>>2],_[f+140>>2]=_[t+676>>2],_[f+180>>2]=r[t+473|0],_[f+176>>2]=r[t+472|0],_[f+144>>2]=_[t+520>>2],_[f+148>>2]=_[t+524>>2],_[f+152>>2]=_[t+528>>2],_[f+156>>2]=_[t+532>>2],M=0|_[t+484>>2],_[f+168>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,0|_[t+492>>2]),b=0|_[f+168>>2],_[f+160>>2]=M,0|b){if(A=0|El[63&_[16+(0|_[i>>2])>>2]](i,16,b),(0|b)>0)for(o=0|_[t+492>>2],l=0|_[A+8>>2],d=0;_[l>>2]=_[o+(d<<4)>>2],_[l+4>>2]=_[o+(d<<4)+4>>2],_[l+8>>2]=_[o+(d<<4)+8>>2],_[l+12>>2]=_[o+(d<<4)+12>>2],(0|(d=d+1|0))!=(0|b);)l=l+16|0;else o=0|_[t+492>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,A,21709,1497453121,o)}}else _[f+160>>2]=0;if(_[f+184>>2]=_[t+476>>2],_[f>>2]=_[t+536>>2],_[f+4>>2]=_[t+540>>2],_[f+8>>2]=_[t+544>>2],_[f+12>>2]=_[t+548>>2],_[f+16>>2]=_[t+552>>2],_[f+20>>2]=_[t+556>>2],_[f+24>>2]=_[t+560>>2],_[f+28>>2]=_[t+564>>2],_[f+32>>2]=_[t+568>>2],_[f+36>>2]=_[t+572>>2],_[f+40>>2]=_[t+576>>2],_[f+44>>2]=_[t+580>>2],_[f+48>>2]=_[t+584>>2],_[f+52>>2]=_[t+588>>2],_[f+56>>2]=_[t+592>>2],_[f+60>>2]=_[t+596>>2],_[f+64>>2]=_[t+600>>2],_[f+68>>2]=_[t+604>>2],_[f+72>>2]=_[t+608>>2],_[f+76>>2]=_[t+612>>2],_[f+80>>2]=_[t+616>>2],_[f+84>>2]=_[t+620>>2],_[f+88>>2]=_[t+624>>2],_[f+92>>2]=_[t+628>>2],M=0|_[t+504>>2],_[f+172>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,0|_[t+512>>2]),b=0|_[f+172>>2],_[f+164>>2]=M,0|b){if(A=0|El[63&_[16+(0|_[i>>2])>>2]](i,4,b),(0|b)>0)for(o=0|_[t+512>>2],l=0,d=0|_[A+8>>2];_[d>>2]=_[o+(l<<2)>>2],(0|(l=l+1|0))!=(0|b);)d=d+4|0;else o=0|_[t+512>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,A,13195,1497453121,o)}}else _[f+164>>2]=0;if(dd[31&_[20+(0|_[i>>2])>>2]](i,u,13201,1497453121,t+472|0),M=0|_[t+1112>>2],_[e+316>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,0|_[_[t+1120>>2]>>2]),g=0|_[e+316>>2],_[e+284>>2]=M,0|g){if(C=0|El[63&_[16+(0|_[i>>2])>>2]](i,348,g),(0|g)>0)for(y=c+-1|0,m=0,h=0|_[C+8>>2];;){if(c=0|_[(0|_[t+1120>>2])+(m<<2)>>2],_[(M=h+320|0)>>2]=_[c+360>>2],_[h+256>>2]=_[c+332>>2],_[h+260>>2]=_[c+336>>2],_[h+264>>2]=_[c+340>>2],_[h+268>>2]=_[c+344>>2],_[h+344>>2]=_[c+380>>2],_[h+340>>2]=r[c+377|0],_[h+160>>2]=_[c+228>>2],_[h+164>>2]=_[c+232>>2],_[h+168>>2]=_[c+236>>2],_[h+172>>2]=_[c+240>>2],_[h+336>>2]=r[c+376|0],_[h+208>>2]=_[c+276>>2],_[h+212>>2]=_[c+280>>2],_[h+216>>2]=_[c+284>>2],_[h+220>>2]=_[c+288>>2],_[h+224>>2]=_[c+292>>2],_[h+228>>2]=_[c+296>>2],_[h+232>>2]=_[c+300>>2],_[h+236>>2]=_[c+304>>2],_[h>>2]=_[c+60>>2],_[h+4>>2]=_[c+64>>2],_[h+8>>2]=_[c+68>>2],_[h+12>>2]=_[c+72>>2],_[h+16>>2]=_[c+76>>2],_[h+20>>2]=_[c+80>>2],_[h+24>>2]=_[c+84>>2],_[h+28>>2]=_[c+88>>2],_[h+32>>2]=_[c+92>>2],_[h+36>>2]=_[c+96>>2],_[h+40>>2]=_[c+100>>2],_[h+44>>2]=_[c+104>>2],_[h+48>>2]=_[c+108>>2],_[h+52>>2]=_[c+112>>2],_[h+56>>2]=_[c+116>>2],_[h+60>>2]=_[c+120>>2],_[h+296>>2]=_[c+124>>2],_[h+300>>2]=_[c+128>>2],_[h+112>>2]=_[c+180>>2],_[h+116>>2]=_[c+184>>2],_[h+120>>2]=_[c+188>>2],_[h+124>>2]=_[c+192>>2],_[h+128>>2]=_[c+196>>2],_[h+132>>2]=_[c+200>>2],_[h+136>>2]=_[c+204>>2],_[h+140>>2]=_[c+208>>2],_[h+144>>2]=_[c+212>>2],_[h+148>>2]=_[c+216>>2],_[h+152>>2]=_[c+220>>2],_[h+156>>2]=_[c+224>>2],_[(o=h+316|0)>>2]=_[c+356>>2],_[h+64>>2]=_[c+132>>2],_[h+68>>2]=_[c+136>>2],_[h+72>>2]=_[c+140>>2],_[h+76>>2]=_[c+144>>2],_[h+80>>2]=_[c+148>>2],_[h+84>>2]=_[c+152>>2],_[h+88>>2]=_[c+156>>2],_[h+92>>2]=_[c+160>>2],_[h+96>>2]=_[c+164>>2],_[h+100>>2]=_[c+168>>2],_[h+104>>2]=_[c+172>>2],_[h+108>>2]=_[c+176>>2],_[h+240>>2]=_[c+316>>2],_[h+244>>2]=_[c+320>>2],_[h+248>>2]=_[c+324>>2],_[h+252>>2]=_[c+328>>2],_[h+324>>2]=_[c+364>>2],_[h+328>>2]=_[c+368>>2],_[h+312>>2]=_[c+352>>2],_[o>>2]=_[c+356>>2],_[M>>2]=_[c+360>>2],_[h+332>>2]=_[c+372>>2],M=0|_[c+44>>2],_[(o=h+284|0)>>2]=M,_[(f=h+292|0)>>2]=_[c+4>>2],_[(u=h+288|0)>>2]=_[c+24>>2],_[h+304>>2]=_[c+308>>2],_[h+176>>2]=_[c+244>>2],_[h+180>>2]=_[c+248>>2],_[h+184>>2]=_[c+252>>2],_[h+188>>2]=_[c+256>>2],_[h+192>>2]=_[c+260>>2],_[h+196>>2]=_[c+264>>2],_[h+200>>2]=_[c+268>>2],_[h+204>>2]=_[c+272>>2],_[h+308>>2]=_[c+312>>2],M){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,0|_[c+52>>2]),_[h+272>>2]=M,0|M){if(d=0|_[o>>2],A=0|El[63&_[16+(0|_[i>>2])>>2]](i,16,d),(0|d)>0)for(o=52+(0|_[(0|_[t+1120>>2])+(m<<2)>>2])|0,b=0|_[o>>2],c=0,l=0|_[A+8>>2];_[l>>2]=_[b+(c<<4)>>2],_[l+4>>2]=_[b+(c<<4)+4>>2],_[l+8>>2]=_[b+(c<<4)+8>>2],_[l+12>>2]=_[b+(c<<4)+12>>2],(0|(c=c+1|0))!=(0|d);)l=l+16|0;else o=52+(0|_[(0|_[t+1120>>2])+(m<<2)>>2])|0;dd[31&_[20+(0|_[i>>2])>>2]](i,A,21709,1497453121,0|_[o>>2])}}else _[h+272>>2]=0;if(0|_[f>>2]){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,0|_[12+(0|_[(0|_[t+1120>>2])+(m<<2)>>2])>>2]),_[h+280>>2]=M,0|M){if(d=0|_[f>>2],A=0|El[63&_[16+(0|_[i>>2])>>2]](i,4,d),(0|d)>0)for(o=12+(0|_[(0|_[t+1120>>2])+(m<<2)>>2])|0,b=0|_[o>>2],c=0,l=0|_[A+8>>2];_[l>>2]=_[b+(c<<2)>>2],(0|(c=c+1|0))!=(0|d);)l=l+4|0;else o=12+(0|_[(0|_[t+1120>>2])+(m<<2)>>2])|0;dd[31&_[20+(0|_[i>>2])>>2]](i,A,13195,1497453121,0|_[o>>2])}}else _[h+280>>2]=0;if(0|_[u>>2]){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,20+(0|_[(0|_[t+1120>>2])+(m<<2)>>2])|0),_[h+276>>2]=M,0|M){if(f=0|_[f>>2],u=0|El[63&_[16+(0|_[i>>2])>>2]](i,4,f),(0|f)>0)for(o=0|_[(0|_[t+1120>>2])+(m<<2)>>2],A=0|_[o+32>>2],d=0,b=0|_[u+8>>2];;){if(c=9*(~((l=0|_[A+(d<<2)>>2])<<15)+l>>10^~(l<<15)+l)|0,c=0|_[s+((((c^=c>>6)+~(c<<11)>>16^c+~(c<<11))&y)<<2)>>2],(0|_[S+(c<<3)>>2])!=(0|l))do{c=0|_[p+(c<<2)>>2]}while((0|_[S+(c<<3)>>2])!=(0|l));if(_[b>>2]=_[a+(c<<2)>>2],(0|(d=d+1|0))==(0|f))break;b=b+4|0}else o=0|_[(0|_[t+1120>>2])+(m<<2)>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,u,13238,1497453121,o+20|0)}}else _[h+276>>2]=0;if((0|(m=m+1|0))>=(0|g))break;h=h+348|0}dd[31&_[20+(0|_[i>>2])>>2]](i,C,13218,1497453121,0|_[_[t+1120>>2]>>2])}}else _[e+284>>2]=0;if(M=0|_[t+852>>2],_[e+320>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,0|_[t+860>>2]),_[e+288>>2]=M,0|M){if(b=0|_[t+852>>2],A=0|El[63&_[16+(0|_[i>>2])>>2]](i,104,b),(0|b)>0)for(l=0,d=0|_[A+8>>2];o=0|_[(0|_[t+860>>2])+(l<<2)>>2],o=0|Gl[127&_[20+(0|_[o>>2])>>2]](o),_[d+96>>2]=o,o=(0|_[t+860>>2])+(l<<2)|0,M=0|_[o>>2],_[d+8>>2]=_[M+28>>2],_[d+12>>2]=_[M+32>>2],_[d+16>>2]=_[M+36>>2],_[d+20>>2]=_[M+40>>2],_[d+24>>2]=_[M+44>>2],_[d+28>>2]=_[M+48>>2],_[d+32>>2]=_[M+52>>2],_[d+36>>2]=_[M+56>>2],_[d+40>>2]=_[M+60>>2],_[d+44>>2]=_[M+64>>2],_[d+48>>2]=_[M+68>>2],_[d+52>>2]=r[M+152|0],M=d+56|0,_[d>>2]=0,_[(f=d+4|0)>>2]=0,_[M>>2]=0,_[M+4>>2]=0,_[M+8>>2]=0,_[M+12>>2]=0,_[M+16>>2]=0,_[M+20>>2]=0,_[M+24>>2]=0,_[M+28>>2]=0,0|(o=0|_[4+(0|_[o>>2])>>2])&&(_[d+88>>2]=1,M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,o),_[d>>2]=M),o=0|_[(0|_[t+860>>2])+(l<<2)>>2],(c=0|_[o+12>>2])&&(_[d+88>>2]=3,o=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,c),_[d>>2]=o,o=0|_[(0|_[t+860>>2])+(l<<2)>>2]),(c=0|_[o+8>>2])&&(_[d+88>>2]=2,o=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,c),_[d>>2]=o,o=0|_[(0|_[t+860>>2])+(l<<2)>>2]),(c=0|_[o+16>>2])&&(_[d+92>>2]=1,o=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,c),_[f>>2]=o,o=0|_[(0|_[t+860>>2])+(l<<2)>>2]),(c=0|_[o+24>>2])&&(_[d+92>>2]=3,o=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,c),_[f>>2]=o,o=0|_[(0|_[t+860>>2])+(l<<2)>>2]),0|(o=0|_[o+20>>2])&&(_[d+92>>2]=2,M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,o),_[f>>2]=M),!((0|(l=l+1|0))>=(0|b));)d=d+104|0;dd[31&_[20+(0|_[i>>2])>>2]](i,A,13242,1497453121,0|_[t+860>>2])}}else _[e+288>>2]=0;return 0|S&&(_[6631]=1+(0|_[6631]),Ni(0|_[S+-4>>2])),0|a&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),0|p&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),s?(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),13262):13262},function(t,e,i){var n,o;return t|=0,e|=0,n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],19630},function(t,e,i){var n,o;return t|=0,e|=0,n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],_[e+28>>2]=_[t+28>>2],_[e+32>>2]=_[t+32>>2],_[e+36>>2]=_[t+36>>2],_[e+40>>2]=_[t+40>>2],_[e+12>>2]=_[t+12>>2],_[e+16>>2]=_[t+16>>2],_[e+20>>2]=_[t+20>>2],_[e+24>>2]=_[t+24>>2],_[e+44>>2]=_[t+44>>2],13475},function(t,e,i){return Y(t|=0,e|=0,i|=0),_[e+256>>2]=_[t+264>>2],_[e+260>>2]=_[t+268>>2],_[e+264>>2]=_[t+272>>2],_[e+268>>2]=_[t+276>>2],_[e+272>>2]=_[t+280>>2],_[e+276>>2]=_[t+284>>2],_[e+280>>2]=_[t+288>>2],_[e+284>>2]=_[t+292>>2],_[e+288>>2]=_[t+296>>2],_[e+292>>2]=_[t+300>>2],_[e+296>>2]=_[t+304>>2],_[e+300>>2]=_[t+308>>2],_[e+304>>2]=_[t+312>>2],_[e+308>>2]=_[t+316>>2],_[e+312>>2]=_[t+320>>2],_[e+316>>2]=_[t+324>>2],_[e+320>>2]=_[t+328>>2],_[e+324>>2]=_[t+332>>2],_[e+328>>2]=_[t+336>>2],_[e+332>>2]=_[t+340>>2],_[e+448>>2]=_[t+344>>2],_[e+336>>2]=_[t+544>>2],_[e+340>>2]=_[t+548>>2],_[e+344>>2]=_[t+552>>2],_[e+348>>2]=_[t+556>>2],_[e+352>>2]=_[t+348>>2],_[e+356>>2]=_[t+352>>2],_[e+360>>2]=_[t+356>>2],_[e+364>>2]=_[t+360>>2],_[e+368>>2]=_[t+364>>2],_[e+372>>2]=_[t+368>>2],_[e+376>>2]=_[t+372>>2],_[e+380>>2]=_[t+376>>2],_[e+384>>2]=_[t+380>>2],_[e+388>>2]=_[t+384>>2],_[e+392>>2]=_[t+388>>2],_[e+396>>2]=_[t+392>>2],_[e+400>>2]=_[t+396>>2],_[e+404>>2]=_[t+400>>2],_[e+408>>2]=_[t+404>>2],_[e+412>>2]=_[t+408>>2],_[e+416>>2]=_[t+412>>2],_[e+420>>2]=_[t+416>>2],_[e+424>>2]=_[t+420>>2],_[e+428>>2]=_[t+424>>2],_[e+432>>2]=_[t+428>>2],_[e+436>>2]=_[t+432>>2],_[e+440>>2]=_[t+436>>2],_[e+444>>2]=_[t+440>>2],_[e+452>>2]=_[t+444>>2],_[e+456>>2]=_[t+448>>2],_[e+484>>2]=r[t+452|0],_[e+460>>2]=_[t+456>>2],_[e+464>>2]=_[t+460>>2],_[e+468>>2]=_[t+464>>2],_[e+472>>2]=_[t+468>>2],_[e+476>>2]=_[t+472>>2],_[e+480>>2]=_[t+476>>2],14251},ee,function(t,e,i){return ee(t|=0,e|=0,i|=0),_[e+52>>2]=_[t+48>>2],_[e+56>>2]=_[t+52>>2],_[e+60>>2]=_[t+56>>2],_[e+64>>2]=_[t+60>>2],_[e+68>>2]=_[t+64>>2],_[e+72>>2]=_[t+68>>2],_[e+76>>2]=_[t+72>>2],_[e+80>>2]=_[t+76>>2],_[e+84>>2]=_[t+80>>2],_[e+88>>2]=_[t+84>>2],_[e+92>>2]=_[t+88>>2],_[e+96>>2]=_[t+92>>2],_[e+100>>2]=_[t+96>>2],_[e+104>>2]=_[t+100>>2],_[e+108>>2]=_[t+104>>2],_[e+112>>2]=_[t+108>>2],_[e+116>>2]=_[t+112>>2],_[e+120>>2]=_[t+116>>2],_[e+124>>2]=_[t+120>>2],_[e+128>>2]=_[t+124>>2],_[e+132>>2]=_[t+128>>2],_[e+136>>2]=_[t+132>>2],_[e+140>>2]=_[t+136>>2],_[e+144>>2]=_[t+140>>2],_[e+148>>2]=_[t+144>>2],_[e+152>>2]=_[t+148>>2],_[e+156>>2]=_[t+152>>2],_[e+160>>2]=_[t+156>>2],_[e+164>>2]=_[t+160>>2],_[e+168>>2]=_[t+164>>2],_[e+172>>2]=_[t+168>>2],_[e+176>>2]=_[t+172>>2],_[e+228>>2]=_[t+868>>2],_[e+212>>2]=_[t+872>>2],_[e+196>>2]=_[t+680>>2],_[e+180>>2]=_[t+696>>2],_[e+232>>2]=_[t+932>>2],_[e+216>>2]=_[t+936>>2],_[e+200>>2]=_[t+684>>2],_[e+184>>2]=_[t+700>>2],_[e+236>>2]=_[t+996>>2],_[e+220>>2]=_[t+1e3>>2],_[e+204>>2]=_[t+688>>2],_[e+188>>2]=_[t+704>>2],_[e+244>>2]=r[t+1300|0],_[e+248>>2]=r[t+1301|0],14844},function(t,e,i){return ee(t|=0,e|=0,i|=0),_[e+52>>2]=_[t+48>>2],_[e+56>>2]=_[t+52>>2],_[e+60>>2]=_[t+56>>2],_[e+64>>2]=_[t+60>>2],_[e+68>>2]=_[t+64>>2],_[e+72>>2]=_[t+68>>2],_[e+76>>2]=_[t+72>>2],_[e+80>>2]=_[t+76>>2],_[e+84>>2]=_[t+80>>2],_[e+88>>2]=_[t+84>>2],_[e+92>>2]=_[t+88>>2],_[e+96>>2]=_[t+92>>2],_[e+100>>2]=_[t+96>>2],_[e+104>>2]=_[t+100>>2],_[e+108>>2]=_[t+104>>2],_[e+112>>2]=_[t+108>>2],_[e+116>>2]=_[t+112>>2],_[e+120>>2]=_[t+116>>2],_[e+124>>2]=_[t+120>>2],_[e+128>>2]=_[t+124>>2],_[e+132>>2]=_[t+128>>2],_[e+136>>2]=_[t+132>>2],_[e+140>>2]=_[t+136>>2],_[e+144>>2]=_[t+140>>2],_[e+148>>2]=_[t+144>>2],_[e+152>>2]=_[t+148>>2],_[e+156>>2]=_[t+152>>2],_[e+160>>2]=_[t+156>>2],_[e+164>>2]=_[t+160>>2],_[e+168>>2]=_[t+164>>2],_[e+172>>2]=_[t+168>>2],_[e+176>>2]=_[t+172>>2],_[e+228>>2]=_[t+868>>2],_[e+212>>2]=_[t+872>>2],_[e+196>>2]=_[t+680>>2],_[e+180>>2]=_[t+696>>2],_[e+232>>2]=_[t+932>>2],_[e+216>>2]=_[t+936>>2],_[e+200>>2]=_[t+684>>2],_[e+184>>2]=_[t+700>>2],_[e+236>>2]=_[t+996>>2],_[e+220>>2]=_[t+1e3>>2],_[e+204>>2]=_[t+688>>2],_[e+188>>2]=_[t+704>>2],_[e+244>>2]=r[t+1300|0],_[e+248>>2]=r[t+1301|0],_[e+276>>2]=_[t+1316>>2],_[e+324>>2]=_[t+1364>>2],_[e+252>>2]=r[t+1309|0],_[e+300>>2]=_[t+1340>>2],_[e+280>>2]=_[t+1320>>2],_[e+328>>2]=_[t+1368>>2],_[e+256>>2]=r[t+1310|0],_[e+304>>2]=_[t+1344>>2],_[e+284>>2]=_[t+1324>>2],_[e+332>>2]=_[t+1372>>2],_[e+260>>2]=r[t+1311|0],_[e+308>>2]=_[t+1348>>2],_[e+288>>2]=_[t+1328>>2],_[e+336>>2]=_[t+1376>>2],_[e+264>>2]=r[t+1312|0],_[e+312>>2]=_[t+1352>>2],_[e+292>>2]=_[t+1332>>2],_[e+340>>2]=_[t+1380>>2],_[e+268>>2]=r[t+1313|0],_[e+316>>2]=_[t+1356>>2],_[e+296>>2]=_[t+1336>>2],_[e+344>>2]=_[t+1384>>2],_[e+272>>2]=r[t+1314|0],_[e+320>>2]=_[t+1360>>2],14898},function(t,e,i){return ee(t|=0,e|=0,i|=0),_[e+52>>2]=_[t+300>>2],_[e+56>>2]=_[t+304>>2],_[e+60>>2]=_[t+308>>2],_[e+64>>2]=_[t+312>>2],_[e+68>>2]=_[t+316>>2],_[e+72>>2]=_[t+320>>2],_[e+76>>2]=_[t+324>>2],_[e+80>>2]=_[t+328>>2],14964},function(t,e,i){return ee(t|=0,e|=0,i|=0),_[e+52>>2]=_[t+52>>2],_[e+56>>2]=_[t+56>>2],_[e+60>>2]=_[t+60>>2],_[e+64>>2]=_[t+64>>2],_[e+68>>2]=_[t+68>>2],_[e+72>>2]=_[t+72>>2],_[e+76>>2]=_[t+76>>2],_[e+80>>2]=_[t+80>>2],_[e+84>>2]=_[t+84>>2],_[e+88>>2]=_[t+88>>2],_[e+92>>2]=_[t+92>>2],_[e+96>>2]=_[t+96>>2],_[e+100>>2]=_[t+100>>2],_[e+104>>2]=_[t+104>>2],_[e+108>>2]=_[t+108>>2],_[e+112>>2]=_[t+112>>2],_[e+116>>2]=_[t+116>>2],_[e+120>>2]=_[t+120>>2],_[e+124>>2]=_[t+124>>2],_[e+128>>2]=_[t+128>>2],_[e+132>>2]=_[t+132>>2],_[e+136>>2]=_[t+136>>2],_[e+140>>2]=_[t+140>>2],_[e+144>>2]=_[t+144>>2],_[e+148>>2]=_[t+148>>2],_[e+152>>2]=_[t+152>>2],_[e+156>>2]=_[t+156>>2],_[e+160>>2]=_[t+160>>2],_[e+164>>2]=_[t+164>>2],_[e+168>>2]=_[t+168>>2],_[e+172>>2]=_[t+172>>2],_[e+176>>2]=_[t+176>>2],_[e+180>>2]=_[t+188>>2],_[e+184>>2]=_[t+184>>2],_[e+188>>2]=_[t+196>>2],_[e+192>>2]=_[t+192>>2],_[e+196>>2]=r[t+180|0],_[e+200>>2]=r[t+49|0],15086},function(t,e,i){return ee(t|=0,e|=0,i|=0),_[e+52>>2]=_[t+300>>2],_[e+56>>2]=_[t+304>>2],_[e+60>>2]=_[t+308>>2],_[e+64>>2]=_[t+312>>2],_[e+68>>2]=_[t+316>>2],_[e+72>>2]=_[t+320>>2],_[e+76>>2]=_[t+324>>2],_[e+80>>2]=_[t+328>>2],_[e+84>>2]=_[t+332>>2],_[e+88>>2]=_[t+336>>2],_[e+92>>2]=_[t+340>>2],_[e+96>>2]=_[t+344>>2],_[e+100>>2]=_[t+348>>2],_[e+104>>2]=_[t+352>>2],_[e+108>>2]=_[t+356>>2],_[e+112>>2]=_[t+360>>2],_[e+116>>2]=_[t+364>>2],_[e+120>>2]=_[t+368>>2],_[e+124>>2]=_[t+372>>2],_[e+128>>2]=_[t+376>>2],_[e+132>>2]=_[t+380>>2],_[e+136>>2]=_[t+384>>2],_[e+140>>2]=_[t+388>>2],_[e+144>>2]=_[t+392>>2],_[e+148>>2]=_[t+396>>2],_[e+152>>2]=_[t+400>>2],_[e+156>>2]=_[t+404>>2],_[e+160>>2]=_[t+408>>2],_[e+164>>2]=_[t+412>>2],_[e+168>>2]=_[t+416>>2],_[e+172>>2]=_[t+420>>2],_[e+176>>2]=_[t+424>>2],_[e+180>>2]=_[t+444>>2],_[e+184>>2]=_[t+448>>2],_[e+188>>2]=_[t+452>>2],_[e+192>>2]=_[t+428>>2],_[e+196>>2]=_[t+432>>2],_[e+200>>2]=_[t+436>>2],_[e+204>>2]=_[t+440>>2],15130},function(t,e,i){var n,o=0,s=0,c=0;return ee(t|=0,e|=0,i|=0),_[e+52>>2]=_[t+552>>2],_[e+56>>2]=_[t+556>>2],_[e+60>>2]=_[t+560>>2],_[e+64>>2]=_[t+564>>2],_[e+68>>2]=_[t+568>>2],_[e+72>>2]=_[t+572>>2],_[e+76>>2]=_[t+576>>2],_[e+80>>2]=_[t+580>>2],_[e+84>>2]=_[t+584>>2],_[e+88>>2]=_[t+588>>2],_[e+92>>2]=_[t+592>>2],_[e+96>>2]=_[t+596>>2],_[e+100>>2]=_[t+600>>2],_[e+104>>2]=_[t+604>>2],_[e+108>>2]=_[t+608>>2],_[e+112>>2]=_[t+612>>2],_[e+116>>2]=_[t+616>>2],_[e+120>>2]=_[t+620>>2],_[e+124>>2]=_[t+624>>2],_[e+128>>2]=_[t+628>>2],_[e+132>>2]=_[t+632>>2],_[e+136>>2]=_[t+636>>2],_[e+140>>2]=_[t+640>>2],_[e+144>>2]=_[t+644>>2],_[e+148>>2]=_[t+648>>2],_[e+152>>2]=_[t+652>>2],_[e+156>>2]=_[t+656>>2],_[e+160>>2]=_[t+660>>2],_[e+164>>2]=_[t+664>>2],_[e+168>>2]=_[t+668>>2],_[e+172>>2]=_[t+672>>2],_[e+176>>2]=_[t+676>>2],_[e+184>>2]=r[t+736|0],_[e+188>>2]=r[t+737|0],_[e+196>>2]=_[t+684>>2],_[e+192>>2]=_[t+680>>2],_[e+180>>2]=r[t+740|0],o=((n=+p[t+688>>2])-(s=+p[t+692>>2]))%6.2831854820251465<-3.1415927410125732?(n-s)%6.2831854820251465+6.2831854820251465:(n-s)%6.2831854820251465>3.1415927410125732?(n-s)%6.2831854820251465-6.2831854820251465:(n-s)%6.2831854820251465,p[e+200>>2]=o,(n+s)%6.2831854820251465<-3.1415927410125732?(s=(n+s)%6.2831854820251465+6.2831854820251465,p[(i=e+204|0)>>2]=s,i=0|_[(i=t+696|0)>>2],_[(c=e+208|0)>>2]=i,c=0|_[(c=t+700|0)>>2],_[(i=e+212|0)>>2]=c,t=0|_[(t=t+704|0)>>2],_[(e=e+216|0)>>2]=t,15180):(n+s)%6.2831854820251465>3.1415927410125732?(s=(n+s)%6.2831854820251465-6.2831854820251465,p[(c=e+204|0)>>2]=s,c=0|_[(c=t+696|0)>>2],_[(i=e+208|0)>>2]=c,i=0|_[(i=t+700|0)>>2],_[(c=e+212|0)>>2]=i,t=0|_[(t=t+704|0)>>2],_[(c=e+216|0)>>2]=t,15180):(s=(n+s)%6.2831854820251465,p[(c=e+204|0)>>2]=s,c=0|_[(c=t+696|0)>>2],_[(i=e+208|0)>>2]=c,i=0|_[(i=t+700|0)>>2],_[(c=e+212|0)>>2]=i,t=0|_[(t=t+704|0)>>2],_[(c=e+216|0)>>2]=t,15180)},Y,function(t,e,i){t|=0,e|=0,i|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,b=0;if(_[6605]=1+(0|_[6605]),2&_[t+4>>2]?(l=0|_[e+192>>2],c=+Bl[1&_[20+(0|_[l>>2])>>2]](l,.019999999552965164),l=0|_[i+192>>2],a=c<(a=+Bl[1&_[20+(0|_[l>>2])>>2]](l,.019999999552965164))?c:a):a=.019999999552965164,c=(o=+p[e+184>>2])<(c=+p[i+184>>2])?o:c,r=0|_[t+68>>2],s=0|_[r+8>>2])b=0|_[r+12>>2],_[r+12>>2]=_[b>>2],_[r+8>>2]=s+-1,l=b,r=b;else{if(4&_[t+4>>2])return 0|(t=0);_[6630]=1+(0|_[6630]),(r=0|di(791))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,l=r}if(_[r>>2]=1025,_[l+116>>2]=0,n[l+120|0]=0,_[(r=l+124|0)>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+16>>2]=0,_[r+20>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,_[l+300>>2]=0,n[l+304|0]=0,_[(r=l+308|0)>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+16>>2]=0,_[r+20>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,_[l+484>>2]=0,n[l+488|0]=0,_[(r=l+492|0)>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+16>>2]=0,_[r+20>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,_[l+668>>2]=0,n[l+672|0]=0,_[(r=l+676|0)>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+16>>2]=0,_[r+20>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,_[l+740>>2]=e,_[l+744>>2]=i,_[l+748>>2]=0,p[l+752>>2]=a,p[l+756>>2]=c,i=l,r=0|_[t+12>>2],_[l+768>>2]=r,(0|r)==(0|_[t+16>>2])&&(0|r)<(0|(d=0|r?r<<1:1))){if(d?(_[6630]=1+(0|_[6630]),(r=0|di(16+(d<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,e=r,r=0|_[t+12>>2]):e=0,(0|r)>0){s=0;do{_[e+(s<<2)>>2]=_[(0|_[t+20>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r))}(s=0|_[t+20>>2])&&(0|n[t+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),r=0|_[t+12>>2]),_[t+20>>2]=0),n[t+24|0]=1,_[t+20>>2]=e,_[t+16>>2]=d}return _[(0|_[t+20>>2])+(r<<2)>>2]=i,_[t+12>>2]=r+1,0|(b=l)},function(t,e,i){t|=0,e|=0,i|=0;t:do{switch(0|_[e+216>>2]){case 2:case 5:switch(0|_[i+216>>2]){case 2:case 5:t=0;break;default:break t}return 0|t}}while(0);return 0|_[e+256>>2]&&!(0|Ll[31&_[_[e>>2]>>2]](e,i))?0|(i=0):0|(i=1)},function(t,e,i){return t|=0,i|=0,4&(e=0|_[204+(e|=0)>>2])||4&(t=0|_[i+204>>2])?0:!(3&e)|!(3&t)},function(t,e,i){t|=0,e|=0,i|=0;do{if(!(8==(0|e)&8==(0|i))){if(8==(0|e)&1==(0|i)){t=t+76|0;break}if(1==(0|e)&8==(0|i)){t=t+80|0;break}if(!(i|e)){t=t+72|0;break}if((0|e)<20&28==(0|i)){t=t+88|0;break}if(28==(0|e)&(0|i)<20){t=t+84|0;break}if((0|e)<20){if((0|i)<20){t=t+32|0;break}if((i+-21|0)>>>0<9){t=t+36|0;break}}else{if((0|i)<20&(e+-21|0)>>>0<9){t=t+40|0;break}if(31==(0|e)){if(31==(0|i)){t=t+48|0;break}t=t+44|0;break}}if(31==(0|i)){t=t+52|0;break}t=t+56|0;break}t=t+60|0}while(0);return 0|_[t>>2]},function(t,e,i){t|=0,e|=0;var n=0,o=0,r=0,s=0,p=0;if(n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),r=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=r,0|r&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],_[e+20>>2]=_[t+72>>2],n=0|_[t+16>>2],_[e+16>>2]=n,_[e+12>>2]=0,!n)return 18787;if(r=0|El[63&_[16+(0|_[i>>2])>>2]](i,76,n),n=0|_[r+8>>2],o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e+12>>2]=o,(0|_[e+16>>2])>0)for(o=0;;){if(s=0|_[t+24>>2],_[n+72>>2]=_[s+(80*o|0)+72>>2],s=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[s+(80*o|0)+64>>2]),_[n+64>>2]=s,0|Ll[31&_[24+(0|_[i>>2])>>2]](i,0|_[(0|_[t+24>>2])+(80*o|0)+64>>2])||(s=0|_[16+(0|_[i>>2])>>2],p=0|_[(0|_[t+24>>2])+(80*o|0)+64>>2],p=0|Gl[127&_[52+(0|_[p>>2])>>2]](p),p=0|El[63&s](i,p,1),s=0|_[(0|_[t+24>>2])+(80*o|0)+64>>2],s=0|El[63&_[56+(0|_[s>>2])>>2]](s,0|_[p+8>>2],i),dd[31&_[20+(0|_[i>>2])>>2]](i,p,s,1346455635,0|_[(0|_[t+24>>2])+(80*o|0)+64>>2])),p=0|_[t+24>>2],_[n+68>>2]=_[p+(80*o|0)+68>>2],_[n>>2]=_[p+(80*o|0)>>2],_[n+4>>2]=_[p+(80*o|0)+4>>2],_[n+8>>2]=_[p+(80*o|0)+8>>2],_[n+12>>2]=_[p+(80*o|0)+12>>2],_[n+16>>2]=_[p+(80*o|0)+16>>2],_[n+20>>2]=_[p+(80*o|0)+20>>2],_[n+24>>2]=_[p+(80*o|0)+24>>2],_[n+28>>2]=_[p+(80*o|0)+28>>2],_[n+32>>2]=_[p+(80*o|0)+32>>2],_[n+36>>2]=_[p+(80*o|0)+36>>2],_[n+40>>2]=_[p+(80*o|0)+40>>2],_[n+44>>2]=_[p+(80*o|0)+44>>2],_[n+48>>2]=_[p+(80*o|0)+48>>2],_[n+52>>2]=_[p+(80*o|0)+52>>2],_[n+56>>2]=_[p+(80*o|0)+56>>2],_[n+60>>2]=_[p+(80*o|0)+60>>2],(0|(o=o+1|0))>=(0|_[e+16>>2])){n=i;break}n=n+76|0}else n=i;return dd[31&_[20+(0|_[n>>2])>>2]](i,r,18762,1497453121,0|_[r+8>>2]),18787},function(t,e,i){var n,o;return t|=0,e|=0,n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],_[e+28>>2]=_[t+28>>2],_[e+32>>2]=_[t+32>>2],_[e+36>>2]=_[t+36>>2],_[e+40>>2]=_[t+40>>2],_[e+12>>2]=_[t+12>>2],_[e+16>>2]=_[t+16>>2],_[e+20>>2]=_[t+20>>2],_[e+24>>2]=_[t+24>>2],_[e+44>>2]=_[t+44>>2],_[e+52>>2]=_[t+68>>2],18834},function(t,e,i){t|=0,e|=0;var n=0,o=0,r=0;n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),r=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=r,0|r&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],r=0|_[t+48>>2],El[63&_[56+(0|_[r>>2])>>2]](r,e+12|0,i),_[e+52>>2]=_[t+12>>2];do{if(0|_[t+52>>2]&&!(1&Gl[127&_[52+(0|_[i>>2])>>2]](i))){if(n=0|Ll[31&_[24+(0|_[i>>2])>>2]](i,0|_[t+52>>2])){_[e+40>>2]=n,_[e+44>>2]=0;break}n=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+52>>2]),_[e+40>>2]=n,_[e+44>>2]=0,n=0|_[t+52>>2],n=0|Gl[127&_[12+(0|_[n>>2])>>2]](n),n=0|El[63&_[16+(0|_[i>>2])>>2]](i,n,1),r=0|_[t+52>>2],r=0|El[63&_[16+(0|_[r>>2])>>2]](r,0|_[n+8>>2],i),dd[31&_[20+(0|_[i>>2])>>2]](i,n,r,1213612625,0|_[t+52>>2]);break}o=8}while(0);return 8==(0|o)&&(_[e+40>>2]=0,_[e+44>>2]=0),0|_[t+56>>2]&&!(2&Gl[127&_[52+(0|_[i>>2])>>2]](i))?(n=0|Ll[31&_[24+(0|_[i>>2])>>2]](i,0|_[t+56>>2]))?(_[e+48>>2]=n,19068):(r=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+56>>2]),_[e+48>>2]=r,e=0|_[t+56>>2],e=0|Gl[127&_[8+(0|_[e>>2])>>2]](e),e=0|El[63&_[16+(0|_[i>>2])>>2]](i,e,1),r=0|_[t+56>>2],r=0|El[63&_[12+(0|_[r>>2])>>2]](r,0|_[e+8>>2],i),dd[31&_[20+(0|_[i>>2])>>2]](i,e,r,1346456916,0|_[t+56>>2]),19068):(_[e+48>>2]=0,19068)},function(t,e,i){var n,o;return t|=0,e|=0,n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],_[e+12>>2]=_[t+68>>2],_[e+16>>2]=_[t+72>>2],_[e+20>>2]=_[t+76>>2],_[e+24>>2]=_[t+80>>2],_[e+28>>2]=_[t+48>>2],_[e+32>>2]=_[t+52>>2],_[e+36>>2]=_[t+56>>2],_[e+40>>2]=_[t+60>>2],_[e+44>>2]=_[t+64>>2],19511},function(t,e,i){t|=0,e|=0;var n,o=0,r=0;if(o=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),r=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,o),_[e>>2]=r,0|r&&ed[127&_[48+(0|_[i>>2])>>2]](i,o),_[e+4>>2]=_[t+4>>2],_[e+28>>2]=_[t+28>>2],_[e+32>>2]=_[t+32>>2],_[e+36>>2]=_[t+36>>2],_[e+40>>2]=_[t+40>>2],_[e+12>>2]=_[t+12>>2],_[e+16>>2]=_[t+16>>2],_[e+20>>2]=_[t+20>>2],_[e+24>>2]=_[t+24>>2],_[e+44>>2]=_[t+44>>2],n=0|_[t+96>>2],_[e+60>>2]=n,!n)return _[e+52>>2]=0,_[e+56>>2]=0,19710;if(r=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+104>>2]),_[e+52>>2]=r,_[e+56>>2]=0,r=0|El[63&_[16+(0|_[i>>2])>>2]](i,16,n),(0|n)>0)for(o=0|_[t+104>>2],e=0|_[r+8>>2],t=0;_[e>>2]=_[o+(t<<4)>>2],_[e+4>>2]=_[o+(t<<4)+4>>2],_[e+8>>2]=_[o+(t<<4)+8>>2],_[e+12>>2]=_[o+(t<<4)+12>>2],(0|(t=t+1|0))!=(0|n);)e=e+16|0;else o=0|_[t+104>>2];return dd[31&_[20+(0|_[i>>2])>>2]](i,r,21709,1497453121,o),19710},function(t,e,i){var n,o;return t|=0,e|=0,n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],_[e+28>>2]=_[t+28>>2],_[e+32>>2]=_[t+32>>2],_[e+36>>2]=_[t+36>>2],_[e+40>>2]=_[t+40>>2],_[e+12>>2]=_[t+12>>2],_[e+16>>2]=_[t+16>>2],_[e+20>>2]=_[t+20>>2],_[e+24>>2]=_[t+24>>2],_[e+44>>2]=_[t+44>>2],_[e+52>>2]=_[t+52>>2],19814},function(t,e,i){t|=0,i|=0;var n=0,s=0,p=0,c=0,a=0;if(_[16+(e|=0)>>2]=_[t+20>>2],_[e+20>>2]=_[t+24>>2],_[e+24>>2]=_[t+28>>2],_[e+28>>2]=_[t+32>>2],_[e>>2]=_[t+4>>2],_[e+4>>2]=_[t+8>>2],_[e+8>>2]=_[t+12>>2],_[e+12>>2]=_[t+16>>2],_[e+32>>2]=_[t+36>>2],_[e+36>>2]=_[t+40>>2],_[e+40>>2]=_[t+44>>2],_[e+44>>2]=_[t+48>>2],_[e+48>>2]=_[t+56>>2],_[e+52>>2]=r[t+60|0],a=0|_[t+88>>2],_[e+56>>2]=a,a){if(a=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+96>>2]),_[e+64>>2]=a,0|a){if(c=0|_[t+88>>2],a=0|El[63&_[16+(0|_[i>>2])>>2]](i,48,c),(0|c)>0)for(n=0|_[t+96>>2],s=0|_[a+8>>2],p=0;_[s+16>>2]=_[n+(p<<6)+16>>2],_[s+20>>2]=_[n+(p<<6)+20>>2],_[s+24>>2]=_[n+(p<<6)+24>>2],_[s+28>>2]=_[n+(p<<6)+28>>2],_[s>>2]=_[n+(p<<6)>>2],_[s+4>>2]=_[n+(p<<6)+4>>2],_[s+8>>2]=_[n+(p<<6)+8>>2],_[s+12>>2]=_[n+(p<<6)+12>>2],_[s+32>>2]=_[n+(p<<6)+32>>2],_[s+36>>2]=_[n+(p<<6)+36>>2],_[s+40>>2]=_[n+(p<<6)+40>>2],(0|(p=p+1|0))!=(0|c);)s=s+48|0;else n=0|_[t+96>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,a,20871,1497453121,n)}}else _[e+64>>2]=0;if(a=0|_[t+128>>2],_[e+60>>2]=a,a){if(a=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+136>>2]),_[e+68>>2]=a,0|a){if(c=0|_[t+128>>2],a=0|El[63&_[16+(0|_[i>>2])>>2]](i,16,c),(0|c)>0)for(n=0|_[t+136>>2],s=0|_[a+8>>2],p=0;_[s+12>>2]=_[n+(p<<4)+12>>2],o[s+6>>1]=0|o[n+(p<<4)+6>>1],o[s+8>>1]=0|o[n+(p<<4)+8>>1],o[s+10>>1]=0|o[n+(p<<4)+10>>1],o[s>>1]=0|o[n+(p<<4)>>1],o[s+2>>1]=0|o[n+(p<<4)+2>>1],o[s+4>>1]=0|o[n+(p<<4)+4>>1],(0|(p=p+1|0))!=(0|c);)s=s+16|0;else n=0|_[t+136>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,a,20894,1497453121,n)}}else _[e+68>>2]=0;if(_[e+76>>2]=_[t+144>>2],a=0|_[t+152>>2],_[e+80>>2]=a,!a)return _[e+72>>2]=0,20938;if(a=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+160>>2]),_[e+72>>2]=a,!a)return 20938;if(c=0|_[t+152>>2],a=0|El[63&_[16+(0|_[i>>2])>>2]](i,20,c),(0|c)>0)for(n=0|_[t+160>>2],s=0|_[a+8>>2],p=0;o[s+14>>1]=0|o[n+(p<<5)+6>>1],o[s+16>>1]=0|o[n+(p<<5)+8>>1],o[s+18>>1]=0|o[n+(p<<5)+10>>1],o[s+8>>1]=0|o[n+(p<<5)>>1],o[s+10>>1]=0|o[n+(p<<5)+2>>1],o[s+12>>1]=0|o[n+(p<<5)+4>>1],_[s>>2]=_[n+(p<<5)+12>>2],_[s+4>>2]=_[n+(p<<5)+16>>2],(0|(p=p+1|0))!=(0|c);)s=s+20|0;else n=0|_[t+160>>2];return dd[31&_[20+(0|_[i>>2])>>2]](i,a,20917,1497453121,n),20938},function(t,e,i){var n,o;return t|=0,e|=0,n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],_[e+28>>2]=_[t+28>>2],_[e+32>>2]=_[t+32>>2],_[e+36>>2]=_[t+36>>2],_[e+40>>2]=_[t+40>>2],_[e+12>>2]=_[t+12>>2],_[e+16>>2]=_[t+16>>2],_[e+20>>2]=_[t+20>>2],_[e+24>>2]=_[t+24>>2],_[e+44>>2]=_[t+44>>2],_[e+52>>2]=_[t+52>>2],20270},function(t,e,i){e|=0,i|=0;var r,s=0,p=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0;if(r=Q,Q=Q+32|0,s=0|Gl[127&_[28+(0|_[(t|=0)>>2])>>2]](t),_[e+20>>2]=s,_[e>>2]=0,!s)return i=e+4|0,h=0|_[(h=t+4|0)>>2],_[i>>2]=h,i=0|_[(i=t+8|0)>>2],_[(h=e+8|0)>>2]=i,h=0|_[(h=t+12|0)>>2],_[(i=e+12|0)>>2]=h,t=0|_[(t=t+16|0)>>2],_[(i=e+16|0)>>2]=t,Q=r,21763;h=0|El[63&_[16+(0|_[i>>2])>>2]](i,32,s),s=0|_[h+8>>2],m=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,s),_[e>>2]=m,m=0|Gl[127&_[28+(0|_[t>>2])>>2]](t);t:do{if((0|m)>0)for(u=0;;){switch(hd[3&_[16+(0|_[t>>2])>>2]](t,r+28|0,r+4|0,r+16|0,r+8|0,r+24|0,r+20|0,r,r+12|0,u),p=0|_[r>>2],_[s+24>>2]=p,_[s+28>>2]=_[r+4>>2],a=s+12|0,d=s+16|0,f=s+4|0,_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[s+16>>2]=0,_[s+20>>2]=0,0|_[r+12>>2]){case 2:if(0|p){if(a=0|El[63&_[16+(0|_[i>>2])>>2]](i,4,3*p|0),l=0|_[a+8>>2],A=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),_[s+8>>2]=A,(0|_[r>>2])>0){d=0|_[r+24>>2],p=0;do{b=d+(0|g(0|_[r+20>>2],p))|0,_[l+((A=3*p|0)<<2)>>2]=_[b>>2],_[l+(A+1<<2)>>2]=_[b+4>>2],_[l+(A+2<<2)>>2]=_[b+8>>2],p=p+1|0}while((0|p)<(0|_[r>>2]))}dd[31&_[20+(0|_[i>>2])>>2]](i,a,21644,1497453121,0|_[a+8>>2])}break;case 3:if(0|p){if(b=0|El[63&_[16+(0|_[i>>2])>>2]](i,8,p),A=0|_[b+8>>2],d=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,A),_[a>>2]=d,(0|(a=0|_[r>>2]))>0){l=0|_[r+24>>2],d=0|_[r+20>>2],p=0;do{y=l+(0|g(d,p))|0,o[A+(p<<3)>>1]=0|o[y>>1],o[A+(p<<3)+2>>1]=0|o[y+2>>1],o[A+(p<<3)+4>>1]=0|o[y+4>>1],p=p+1|0}while((0|p)!=(0|a))}dd[31&_[20+(0|_[i>>2])>>2]](i,b,21659,1497453121,0|_[b+8>>2])}break;case 5:if(0|p){if(a=0|El[63&_[16+(0|_[i>>2])>>2]](i,4,p),l=0|_[a+8>>2],y=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),_[d>>2]=y,(0|_[r>>2])>0){p=0;do{y=(0|_[r+24>>2])+(0|g(0|_[r+20>>2],p))|0,n[l+(p<<2)|0]=0|n[0|y],n[l+(p<<2)+1|0]=0|n[y+1|0],n[l+(p<<2)+2|0]=0|n[y+2|0],p=p+1|0}while((0|p)<(0|_[r>>2]))}dd[31&_[20+(0|_[i>>2])>>2]](i,a,21686,1497453121,0|_[a+8>>2])}}switch(0|_[r+16>>2]){case 0:if(0|(p=0|_[r+4>>2])){if(a=0|El[63&_[16+(0|_[i>>2])>>2]](i,16,p),l=0|_[a+8>>2],d=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),_[s>>2]=d,(0|(d=0|_[r+4>>2]))>0){b=0|_[r+28>>2],A=0|_[r+8>>2],p=0;do{y=b+(0|g(A,p))|0,_[l+(p<<4)>>2]=_[y>>2],_[l+(p<<4)+4>>2]=_[y+4>>2],_[l+(p<<4)+8>>2]=_[y+8>>2],p=p+1|0}while((0|p)!=(0|d))}dd[31&_[20+(0|_[i>>2])>>2]](i,a,21709,1497453121,0|_[a+8>>2])}break;case 1:if(0|(p=0|_[r+4>>2])){if(b=0|El[63&_[16+(0|_[i>>2])>>2]](i,32,p),A=0|_[b+8>>2],a=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,A),_[f>>2]=a,(0|(a=0|_[r+4>>2]))>0){l=0|_[r+28>>2],d=0|_[r+8>>2],p=0;do{y=l+(0|g(d,p))|0,c[A+(p<<5)>>3]=+c[y>>3],c[A+(p<<5)+8>>3]=+c[y+8>>3],c[A+(p<<5)+16>>3]=+c[y+16>>3],p=p+1|0}while((0|p)!=(0|a))}dd[31&_[20+(0|_[i>>2])>>2]](i,b,21728,1497453121,0|_[b+8>>2])}}if(ed[127&_[24+(0|_[t>>2])>>2]](t,u),(0|(u=u+1|0))==(0|m)){s=i;break t}s=s+32|0}else s=i}while(0);return dd[31&_[20+(0|_[s>>2])>>2]](i,h,21748,1497453121,0|_[h+8>>2]),i=e+4|0,y=0|_[(y=t+4|0)>>2],_[i>>2]=y,i=0|_[(i=t+8|0)>>2],_[(y=e+8|0)>>2]=i,y=0|_[(y=t+12|0)>>2],_[(i=e+12|0)>>2]=y,i=0|_[(i=t+16|0)>>2],_[(y=e+16|0)>>2]=i,Q=r,21763},Sp,Sp,function(t,e,i){t|=0,e|=0,i|=0;var r,s,p=0,c=0,a=0,l=0,d=0,b=0;if(_[6608]=1+(0|_[6608]),p=0|_[t+24>>2]){if(!(0|El[63&_[8+(0|_[p>>2])>>2]](p,e,i)))return 0|(t=0)}else{if(!((o[i+6>>1]&o[e+4>>1])<<16>>16))return 0|(t=0);if(!((o[e+6>>1]&o[i+4>>1])<<16>>16))return 0|(t=0)}d=(0|_[e+12>>2])>(0|_[i+12>>2]),a=0|_[(s=d?i:e)+12>>2],l=9*((l=((i=0|_[(d=d?e:i)+12>>2])<<16|a)+~((i<<16|a)<<15)|0)>>10^l)|0,l=(l^=l>>6)+~(l<<11)>>16^l+~(l<<11),r=0|_[t+12>>2],p=0|_[(0|_[t+44>>2])+((l&r+-1)<<2)>>2];t:do{if(-1!=(0|p)){for(c=0|_[t+16>>2],e=p;(0|_[12+(0|_[(p=c+(e<<4)|0)>>2])>>2])!=(0|a)||(0|_[12+(0|_[c+(e<<4)+4>>2])>>2])!=(0|i);)if(-1==(0|(e=0|_[(0|_[t+64>>2])+(e<<2)>>2])))break t;return 0|p}}while(0);if((0|(a=0|_[t+8>>2]))==(0|r))if((0|r)<(0|(c=0|r?r<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(p=0|di(16+(c<<4|3)|0))?(_[(p+4+15&-16)-4>>2]=p,p=p+4+15&-16):p=0,i=0|_[t+8>>2]):(p=0,i=r),(0|i)>0){e=0;do{b=0|_[t+16>>2],_[p+(e<<4)>>2]=_[b+(e<<4)>>2],_[p+(e<<4)+4>>2]=_[b+(e<<4)+4>>2],_[p+(e<<4)+8>>2]=_[b+(e<<4)+8>>2],_[p+(e<<4)+12>>2]=_[b+(e<<4)+12>>2],e=e+1|0}while((0|e)!=(0|i))}0|(e=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=p,_[t+12>>2]=c,e=0|_[t+8>>2],p=c}else e=r,p=r;else e=a,p=r;return _[t+8>>2]=e+1,i=0|_[t+16>>2],(e=0|_[t+72>>2])&&(El[63&_[8+(0|_[e>>2])>>2]](e,s,d),p=0|_[t+12>>2]),(0|r)<(0|p)?(tt(t),p=(0|_[t+12>>2])-1&l):p=l&r+-1,b=(0|_[s+12>>2])<(0|_[d+12>>2]),_[i+(a<<4)>>2]=b?s:d,_[i+(a<<4)+4>>2]=b?d:s,_[i+(a<<4)+8>>2]=0,_[i+(a<<4)+8+4>>2]=0,b=(0|_[t+44>>2])+(p<<2)|0,_[(0|_[t+64>>2])+(a<<2)>>2]=_[b>>2],_[b>>2]=a,0|(b=i+(a<<4)|0)},function(t,e,i){t|=0,e|=0,i|=0;var n,o=0,r=0;if(_[6609]=1+(0|_[6609]),o=(0|_[e+12>>2])>(0|_[i+12>>2]),r=0|_[(o?i:e)+12>>2],e=9*((e=((o=0|_[(o?e:i)+12>>2])<<16|r)+~((o<<16|r)<<15)|0)>>10^e)|0,(0|(e=((e^=e>>6)+~(e<<11)>>16^e+~(e<<11))&(0|_[t+12>>2])-1))>=(0|_[t+36>>2]))return 0|(r=0);if(-1==(0|(e=0|_[(0|_[t+44>>2])+(e<<2)>>2])))return 0|(r=0);for(n=0|_[t+16>>2],i=e;;){if((0|_[12+(0|_[(e=n+(i<<4)|0)>>2])>>2])==(0|r)&&(0|_[12+(0|_[n+(i<<4)+4>>2])>>2])==(0|o)){i=7;break}if(-1==(0|(i=0|_[(0|_[t+64>>2])+(i<<2)>>2]))){e=0,i=7;break}}return 7==(0|i)?0|e:0},function(t,e,i){t|=0,e|=0,i|=0;var n,o,r,s,p,c=0,a=0,l=0,d=0,b=0;if(_[6616]=1+(0|_[6616]),l=9*((l=(i<<16|e)+~((i<<16|e)<<15)|0)>>10^l)|0,l^=l>>6,l=(s=0|_[t+40>>2])+(((0|_[t+12>>2])-1&(l+~(l<<11)>>16^l+~(l<<11)))<<2)|0,-1==(0|(a=0|_[l>>2])))return 0|(b=0);for(p=0|_[t+16>>2],c=a;(0|_[(d=p+(12*c|0)|0)>>2])!=(0|e)||(0|_[p+(12*c|0)+4>>2])!=(0|i);)if(-1==(0|(c=0|_[(0|_[t+60>>2])+(c<<2)>>2]))){c=0,b=23;break}if(23==(0|b))return 0|c;if(!d)return 0|(b=0);if(r=0|_[p+(12*c|0)+8>>2],o=(12*c|0)/12|0,n=0|_[t+60>>2],(0|a)!=(0|o)){for(e=a;(0|(c=0|_[(i=n+(e<<2)|0)>>2]))!=(0|o);)e=c;c=0|_[n+(o<<2)>>2],-1==(0|e)?b=12:_[i>>2]=c}else c=0|_[n+(a<<2)>>2],b=12;if(12==(0|b)&&(_[l>>2]=c),(0|(a=(0|_[t+8>>2])-1|0))==(0|o))return _[t+8>>2]=o,0|(b=r);if(l=9*((l=_[p+(12*a|0)+4>>2]<<16|_[p+(12*a|0)>>2])+~(l<<15)>>10^l+~(l<<15))|0,l=((l^=l>>6)+~(l<<11)>>16^l+~(l<<11))&(0|_[t+12>>2])-1,(0|(c=0|_[s+(l<<2)>>2]))!=(0|a)){for(e=c;(0|(c=0|_[(i=n+(e<<2)|0)>>2]))!=(0|a);)e=c;c=0|_[n+(a<<2)>>2],-1==(0|e)?b=21:_[i>>2]=c}else c=0|_[n+(a<<2)>>2],b=21;return 21==(0|b)&&(_[s+(l<<2)>>2]=c),_[d>>2]=_[p+(12*a|0)>>2],_[d+4>>2]=_[p+(12*a|0)+4>>2],_[d+8>>2]=_[p+(12*a|0)+8>>2],b=(0|_[t+40>>2])+(l<<2)|0,_[(0|_[t+60>>2])+(o<<2)>>2]=_[b>>2],_[b>>2]=o,_[t+8>>2]=(0|_[t+8>>2])-1,0|(b=r)},function(t,e,i){t|=0,e|=0,i|=0;var o,r,s=0,p=0,c=0,a=0,l=0,d=0,b=0;_[6617]=1+(0|_[6617]),l=9*((l=(i<<16|e)+~((i<<16|e)<<15)|0)>>10^l)|0,l=(l^=l>>6)+~(l<<11)>>16^l+~(l<<11),r=0|_[t+12>>2],s=0|_[(0|_[t+40>>2])+((r+-1&l)<<2)>>2];t:do{if(-1!=(0|s)){for(c=0|_[t+16>>2];(0|_[(p=c+(12*s|0)|0)>>2])!=(0|e)||(0|_[c+(12*s|0)+4>>2])!=(0|i);)if(-1==(0|(s=0|_[(0|_[t+60>>2])+(s<<2)>>2])))break t;if(0|p)return 0|(i=p)}}while(0);if((0|(o=0|_[t+8>>2]))==(0|r))if((0|r)<(0|(c=0|r?r<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(s=0|di(16+(12*c|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,a=0|_[t+8>>2]):(s=0,a=r),(0|a)>0){p=0;do{d=s+(12*p|0)|0,b=(0|_[t+16>>2])+(12*p|0)|0,_[d>>2]=_[b>>2],_[d+4>>2]=_[b+4>>2],_[d+8>>2]=_[b+8>>2],p=p+1|0}while((0|p)!=(0|a))}0|(p=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=s,_[t+12>>2]=c,s=0|_[t+8>>2]}else s=r,c=r;else s=o,c=r;return _[t+8>>2]=s+1,p=0|_[t+16>>2],(0|r)<(0|c)?(et(t),s=(0|_[t+12>>2])-1&l):s=r+-1&l,_[p+(12*o|0)>>2]=e,_[p+(12*o|0)+4>>2]=i,_[p+(12*o|0)+8>>2]=0,b=(0|_[t+40>>2])+(s<<2)|0,_[(0|_[t+60>>2])+(o<<2)>>2]=_[b>>2],_[b>>2]=o,0|(b=p+(12*o|0)|0)},function(t,e,i){e|=0,i|=0;var n,o=0,r=0,s=0,p=0,c=0,a=0;n=Q,Q=Q+48|0,o=0|_[28+(t|=0)>>2],_[n>>2]=o,o=(0|_[t+20>>2])-o|0,_[n+4>>2]=o,_[n+8>>2]=e,_[n+12>>2]=i,_[n+16>>2]=_[t+60>>2],_[n+16+4>>2]=n,_[n+16+8>>2]=2,r=0|Ta(0|D(146,n+16|0));t:do{if((o+i|0)!=(0|r)){for(e=2,s=o+i|0,o=n;!((0|r)<0);)if(s=s-r|0,e=e+((a=r>>>0>(c=0|_[o+4>>2])>>>0)<<31>>31)|0,c=r-(a?c:0)|0,_[(o=a?o+8|0:o)>>2]=(0|_[o>>2])+c,_[o+4>>2]=(0|_[o+4>>2])-c,_[n+32>>2]=_[t+60>>2],_[n+32+4>>2]=o,_[n+32+8>>2]=e,(0|s)==(0|(r=0|Ta(0|D(146,n+32|0))))){p=3;break t}_[t+16>>2]=0,_[t+28>>2]=0,_[t+20>>2]=0,_[t>>2]=32|_[t>>2],i=2==(0|e)?0:i-(0|_[o+4>>2])|0}else p=3}while(0);return 3==(0|p)&&(a=0|_[t+44>>2],_[t+16>>2]=a+(0|_[t+48>>2]),_[t+28>>2]=a,_[t+20>>2]=a),Q=n,0|i},function(t,e,i){var n;return t|=0,e|=0,i|=0,n=Q,Q=Q+32|0,_[n>>2]=_[t+60>>2],_[n+4>>2]=0,_[n+8>>2]=e,_[n+12>>2]=n+20,_[n+16>>2]=i,(0|Ta(0|j(140,0|n)))<0?(_[n+20>>2]=-1,t=-1):t=0|_[n+20>>2],Q=n,0|t},function(t,e,i){i|=0;var n,o=0,r=0;if(n=Q,Q=Q+64|0,0|Lp(t|=0,e|=0))e=1;else if(0|e&&0|(r=0|Xi(e,3264))){o=52+(e=n+4|0)|0;do{_[e>>2]=0,e=e+4|0}while((0|e)<(0|o));_[n>>2]=r,_[n+8>>2]=t,_[n+12>>2]=-1,_[n+48>>2]=1,pd[127&_[28+(0|_[r>>2])>>2]](r,n,0|_[i>>2],1),1==(0|_[n+24>>2])?(_[i>>2]=_[n+16>>2],e=1):e=0}else e=0;return Q=n,0|e},Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa],Hl=[Tc,function(t,e,i,n){t|=0,e|=0,n|=0;var o=0;return o=0|_[(i|=0)>>2],t=0|ds(0|_[e>>2]),o=0|ds(o),0|t&&pd[127&_[32+(0|_[t>>2])>>2]](t,i,n,e),o?(pd[127&_[32+(0|_[o>>2])>>2]](o,e,n,i),0):0},function(t,e,i,n){return n|=0,n=0|_[(e|=0)>>2],n=0|Ll[31&_[56+(0|_[n>>2])>>2]](n,24),_[n+4>>2]=_[e>>2],_[n>>2]=4928,0|n},function(t,e,i,o){return t|=0,i|=0,o|=0,o=0|_[(e|=0)>>2],o=0|Ll[31&_[56+(0|_[o>>2])>>2]](o,20),i=0|n[t+4|0],_[o+4>>2]=_[e>>2],_[o>>2]=4460,n[o+16|0]=i,0|o},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,156),e=0|_[e>>2],_[t+4>>2]=e,_[t>>2]=4488,n[t+8|0]=0,_[t+12>>2]=4700,_[t+60>>2]=e,_[t+64>>2]=0,n[t+88|0]=1,_[t+84>>2]=0,_[t+76>>2]=0,_[t+80>>2]=0,n[t+108|0]=1,_[t+104>>2]=0,_[t+96>>2]=0,_[t+100>>2]=0,n[t+128|0]=1,_[t+124>>2]=0,_[t+116>>2]=0,_[t+120>>2]=0,n[t+148|0]=1,_[t+144>>2]=0,_[t+136>>2]=0,_[t+140>>2]=0,_[t+16>>2]=_[i+8>>2],_[t+20>>2]=_[o+8>>2],zi(t+72|0),0|t},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,156),e=0|_[e>>2],_[t+4>>2]=e,_[t>>2]=4488,n[t+8|0]=1,_[t+12>>2]=4700,_[t+60>>2]=e,_[t+64>>2]=0,n[t+88|0]=1,_[t+84>>2]=0,_[t+76>>2]=0,_[t+80>>2]=0,n[t+108|0]=1,_[t+104>>2]=0,_[t+96>>2]=0,_[t+100>>2]=0,n[t+128|0]=1,_[t+124>>2]=0,_[t+116>>2]=0,_[t+120>>2]=0,n[t+148|0]=1,_[t+144>>2]=0,_[t+136>>2]=0,_[t+140>>2]=0,_[t+16>>2]=_[o+8>>2],_[t+20>>2]=_[i+8>>2],zi(t+72|0),0|t},function(t,e,i,n){var r,s,c,a,l;return t|=0,e|=0,i|=0,n|=0,r=Q,Q=Q+96|0,p[r+4>>2]=1,_[r+8>>2]=0,o[r+12>>1]=1,o[r+14>>1]=-1,_[r+16>>2]=0,_[r>>2]=3624,_[r+20>>2]=_[e>>2],_[r+20+4>>2]=_[e+4>>2],_[r+20+8>>2]=_[e+8>>2],_[r+20+12>>2]=_[e+12>>2],_[r+36>>2]=_[i>>2],_[r+36+4>>2]=_[i+4>>2],_[r+36+8>>2]=_[i+8>>2],_[r+36+12>>2]=_[i+12>>2],t=0|_[t+4>>2],pd[127&_[32+(0|_[t>>2])>>2]](t,e,i,r),(t=0|_[r+8>>2])&&2&_[t+236>>2]?4&_[t+204>>2]?(Q=r,0|(n=0)):(_[n>>2]=_[r+68>>2],_[n+4>>2]=_[r+68+4>>2],_[n+8>>2]=_[r+68+8>>2],_[n+12>>2]=_[r+68+12>>2],_[n+16>>2]=_[r+52>>2],_[n+16+4>>2]=_[r+52+4>>2],_[n+16+8>>2]=_[r+52+8>>2],_[n+16+12>>2]=_[r+52+12>>2],l=+p[n+16>>2],a=+p[n+20>>2],c=+p[n+24>>2],s=1/+b(+(l*l+a*a+c*c)),p[n+16>>2]=l*s,p[n+20>>2]=a*s,p[n+24>>2]=c*s,_[n+32>>2]=_[r+4>>2],Q=r,0|(n=t)):(Q=r,0|(n=0))},function(t,e,i,n){var o;return t|=0,e|=0,i|=0,n|=0,o=Q,Q=Q+16|0,_[o>>2]=t,_[o+4>>2]=n,n=0|_[t+72+(144*(0|_[4+(0|_[e+4>>2])>>2])|0)+(_[4+(0|_[i+4>>2])>>2]<<2)>>2],n=0|Hl[31&_[8+(0|_[n>>2])>>2]](n,o,e,i),Q=o,0|n},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,80),e=0|_[e>>2],_[t+4>>2]=e,_[t>>2]=6404,n[t+8|0]=0,_[t+12>>2]=6452,_[t+60>>2]=e,_[t+64>>2]=0,_[t+16>>2]=i,_[t+20>>2]=o,o=0|El[63&_[12+(0|_[e>>2])>>2]](e,0|_[i+8>>2],0|_[o+8>>2]),_[t+76>>2]=o,i=0|_[t+60>>2],ed[127&_[20+(0|_[i>>2])>>2]](i,o),0|t},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,80),e=0|_[e>>2],_[t+4>>2]=e,_[t>>2]=6404,n[t+8|0]=1,_[t+12>>2]=6452,_[t+60>>2]=e,_[t+64>>2]=0,_[t+16>>2]=o,_[t+20>>2]=i,o=0|El[63&_[12+(0|_[e>>2])>>2]](e,0|_[o+8>>2],0|_[i+8>>2]),_[t+76>>2]=o,i=0|_[t+60>>2],ed[127&_[20+(0|_[i>>2])>>2]](i,o),0|t},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,44),_[t+4>>2]=_[e>>2],_[t>>2]=7060,n[t+24|0]=1,_[t+20>>2]=0,_[t+12>>2]=0,_[t+16>>2]=0,n[t+28|0]=0,_[t+32>>2]=_[e+4>>2],n[t+36|0]=0,_[t+40>>2]=_[68+(0|_[i+4>>2])>>2],Pt(t,i,o),0|t},function(t,e,i,o){t|=0,i|=0,o|=0;var r,s,p,c=0,a=0,l=0,d=0,b=0;if(l=0|_[(e|=0)>>2],l=0|Ll[31&_[56+(0|_[l>>2])>>2]](l,48),_[l+4>>2]=_[e>>2],_[l>>2]=7124,n[l+28|0]=1,_[l+24>>2]=0,_[l+16>>2]=0,_[l+20>>2]=0,_[l+32>>2]=_[e+4>>2],n[l+36|0]=0,_[6630]=1+(0|_[6630]),(t=0|di(87))?(_[(t+4+15&-16)-4>>2]=t,a=t+4+15&-16):a=0,_[a>>2]=10320,n[0|(r=a+20|0)]=1,_[(s=a+16|0)>>2]=0,_[(e=a+8|0)>>2]=0,_[(p=a+12|0)>>2]=0,n[a+24|0]=0,n[a+44|0]=1,_[a+40>>2]=0,_[a+32>>2]=0,_[a+36>>2]=0,n[a+64|0]=1,_[a+60>>2]=0,_[a+52>>2]=0,_[a+56>>2]=0,_[6630]=1+(0|_[6630]),(t=0|di(43))?(_[(t+4+15&-16)-4>>2]=t,c=t+4+15&-16):c=0,(0|(e=0|_[e>>2]))>0){t=0;do{d=c+(12*t|0)|0,b=(0|_[s>>2])+(12*t|0)|0,_[d>>2]=_[b>>2],_[d+4>>2]=_[b+4>>2],_[d+8>>2]=_[b+8>>2],t=t+1|0}while((0|t)!=(0|e))}return(t=0|_[s>>2])?(0|n[0|r]&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])),_[s>>2]=0,n[0|r]=1,_[s>>2]=c,_[p>>2]=2,et(a),_[(b=l+8|0)>>2]=a,b=0|_[(b=i+4|0)>>2],b=0|_[(b=b+68|0)>>2],_[(d=l+40|0)>>2]=b,d=0|_[(d=o+4|0)>>2],d=0|_[(d=d+68|0)>>2],_[(b=l+44|0)>>2]=d,0|l):(n[0|r]=1,_[s>>2]=c,_[p>>2]=2,et(a),_[(b=l+8|0)>>2]=a,b=0|_[(b=i+4|0)>>2],b=0|_[(b=b+68|0)>>2],_[(d=l+40|0)>>2]=b,d=0|_[(d=o+4|0)>>2],d=0|_[(d=d+68|0)>>2],_[(b=l+44|0)>>2]=d,0|l)},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,44),_[t+4>>2]=_[e>>2],_[t>>2]=7060,n[t+24|0]=1,_[t+20>>2]=0,_[t+12>>2]=0,_[t+16>>2]=0,n[t+28|0]=1,_[t+32>>2]=_[e+4>>2],n[t+36|0]=0,_[t+40>>2]=_[68+(0|_[o+4>>2])>>2],Pt(t,i,o),0|t},function(t,e,i,n){return n|=0,n=0|_[(e|=0)>>2],n=0|Ll[31&_[56+(0|_[n>>2])>>2]](n,8),_[n+4>>2]=_[e>>2],_[n>>2]=10224,0|n},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,16),e=0|_[e>>2],_[t+4>>2]=e,_[t>>2]=10252,n[t+8|0]=0,_[t+12>>2]=0,o=0|El[63&_[12+(0|_[e>>2])>>2]](e,0|_[i+8>>2],0|_[o+8>>2]),_[t+12>>2]=o,n[t+8|0]=1,0|t},function(t,e,i,o){t|=0,i|=0,o|=0;var r,s=0,p=0;return s=0|_[(e|=0)>>2],s=0|Ll[31&_[56+(0|_[s>>2])>>2]](s,20),r=0|_[e+4>>2],p=0|n[t+4|0],t=0|_[e>>2],_[s+4>>2]=t,_[s>>2]=6900,n[s+8|0]=0,_[s+12>>2]=r,n[s+16|0]=p,0|r||(p=0|El[63&_[12+(0|_[t>>2])>>2]](t,0|_[i+8>>2],0|_[o+8>>2]),_[s+12>>2]=p,n[s+8|0]=1),0|s},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,16),e=0|_[e>>2],_[t+4>>2]=e,_[t>>2]=6472,n[t+8|0]=0,_[t+12>>2]=0,0|El[63&_[24+(0|_[e>>2])>>2]](e,0|_[i+8>>2],0|_[o+8>>2])?(e=0|_[t+4>>2],o=0|El[63&_[12+(0|_[e>>2])>>2]](e,0|_[i+8>>2],0|_[o+8>>2]),_[t+12>>2]=o,n[t+8|0]=1,0|t):0|t},function(t,e,i,o){t|=0,i|=0,o|=0;var r,s,p=0,c=0;return p=0|_[(e|=0)>>2],p=0|Ll[31&_[56+(0|_[p>>2])>>2]](p,28),c=!(0|n[t+4|0]),s=0|_[t+8>>2],r=0|_[t+12>>2],t=0|_[e>>2],_[p+4>>2]=t,_[p>>2]=6376,n[p+8|0]=0,_[p+12>>2]=0,c?(n[p+16|0]=0,_[p+20>>2]=s,_[p+24>>2]=r,0|El[63&_[24+(0|_[t>>2])>>2]](t,0|_[i+8>>2],0|_[o+8>>2])?(c=0|_[p+4>>2],c=0|El[63&_[12+(0|_[c>>2])>>2]](c,0|_[i+8>>2],0|_[o+8>>2]),_[p+12>>2]=c,n[p+8|0]=1,0|p):0|p):(n[p+16|0]=1,_[p+20>>2]=s,_[p+24>>2]=r,0|El[63&_[24+(0|_[t>>2])>>2]](t,0|_[o+8>>2],0|_[i+8>>2])?(c=0|_[p+4>>2],c=0|El[63&_[12+(0|_[c>>2])>>2]](c,0|_[o+8>>2],0|_[i+8>>2]),_[p+12>>2]=c,n[p+8|0]=1,0|p):0|p)},function(t,e,i,o){var r,s,p,c;return t|=0,i|=0,o|=0,o=0|_[(e|=0)>>2],o=0|Ll[31&_[56+(0|_[o>>2])>>2]](o,36),s=0|_[e+4>>2],c=0|_[t+12>>2],p=0|_[t+8>>2],r=0|_[t+16>>2],i=0|_[t+20>>2],_[o+4>>2]=_[e>>2],_[o>>2]=6948,_[o+8>>2]=c,_[o+12>>2]=p,n[o+16|0]=0,_[o+20>>2]=s,n[o+24|0]=0,_[o+28>>2]=r,_[o+32>>2]=i,0|o},wi,function(t,e,i,n){return wi(t|=0,e|=0,i|=0,n|=0),1},function(t,e,i,n){return 0},function(t,e,i,n){t|=0,e|=0,i|=0,n|=0;var o,r,s,p=0,c=0,a=0,l=0,d=0,b=0,A=0;if(_[6607]=1+(0|_[6607]),d=(0|_[e+12>>2])>(0|_[i+12>>2]),a=0|_[(r=d?i:e)+12>>2],l=9*((l=((p=0|_[(d=d?e:i)+12>>2])<<16|a)+~((p<<16|a)<<15)|0)>>10^l)|0,l=((l^=l>>6)+~(l<<11)>>16^l+~(l<<11))&(0|_[t+12>>2])-1,-1==(0|(e=0|_[(0|_[t+44>>2])+(l<<2)>>2])))return 0|(A=0);for(c=0|_[t+16>>2];(0|_[12+(0|_[(i=c+(e<<4)|0)>>2])>>2])!=(0|a)||(0|_[12+(0|_[c+(e<<4)+4>>2])>>2])!=(0|p);)if(-1==(0|(e=0|_[(0|_[t+64>>2])+(e<<2)>>2]))){e=0,A=25;break}if(25==(0|A))return 0|e;if(_d[127&_[32+(0|_[t>>2])>>2]](t,i,n),s=0|_[c+(e<<4)+12>>2],b=i-(0|_[t+16>>2])|0,b>>=4,a=(0|_[t+44>>2])+(l<<2)|0,e=0|_[a>>2],p=0|_[t+64>>2],(0|e)!=(0|b)){for(i=e;(0|(e=0|_[(c=p+(i<<2)|0)>>2]))!=(0|b);)i=e;e=0|_[p+(b<<2)>>2],-1==(0|i)?A=12:_[c>>2]=e}else e=0|_[p+(b<<2)>>2],A=12;if(12==(0|A)&&(_[a>>2]=e),o=(0|_[t+8>>2])-1|0,0|(e=0|_[t+72>>2])&&Hl[31&_[12+(0|_[e>>2])>>2]](e,r,d,n),(0|o)==(0|b))return _[t+8>>2]=(0|_[t+8>>2])-1,0|(A=s);if(d=0|_[t+16>>2],a=9*((a=_[12+(0|_[d+(o<<4)+4>>2])>>2]<<16|_[12+(0|_[d+(o<<4)>>2])>>2])+~(a<<15)>>10^a+~(a<<15))|0,a=((a^=a>>6)+~(a<<11)>>16^a+~(a<<11))&(0|_[t+12>>2])-1,l=(0|_[t+44>>2])+(a<<2)|0,e=0|_[l>>2],p=0|_[t+64>>2],(0|e)!=(0|o)){for(i=e;(0|(e=0|_[(c=p+(i<<2)|0)>>2]))!=(0|o);)i=e;e=0|_[p+(o<<2)>>2],-1==(0|i)?A=23:_[c>>2]=e}else e=0|_[p+(o<<2)>>2],A=23;return 23==(0|A)&&(_[l>>2]=e),_[d+(b<<4)>>2]=_[d+(o<<4)>>2],_[d+(b<<4)+4>>2]=_[d+(o<<4)+4>>2],_[d+(b<<4)+8>>2]=_[d+(o<<4)+8>>2],_[d+(b<<4)+12>>2]=_[d+(o<<4)+12>>2],A=(0|_[t+44>>2])+(a<<2)|0,_[(0|_[t+64>>2])+(b<<2)>>2]=_[A>>2],_[A>>2]=b,_[t+8>>2]=(0|_[t+8>>2])-1,0|(A=s)},Tc,Tc,Tc,Tc,Tc,Tc,Tc,Tc,Tc],Zl=[function(t,e,i,n,o,_){return v(16),0},Ti,me,Ie],Ul=[Rr,function(t,e,i,n,r,c,a,l,d){e|=0,i|=0,n|=0,r|=0,c|=0,a|=0,l|=0,d|=0;var b,A,f,u,m,h,y,g,C,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0;if(b=+p[8+(t|=0)>>2],f=+p[t+12>>2],m=+p[t+16>>2],A=+p[t+40>>2],j=(+p[e>>2]-b)*A,u=+p[t+44>>2],I=(+p[e+4>>2]-f)*u,h=+p[t+48>>2],B=(+p[e+8>>2]-m)*h,j<=0?D=0:(D=0|o[t+6>>1],D=o[t+4>>1]&(j>=+(65535&D)?D:65535&j)),I<=0?R=0:(R=0|o[t+6>>1],R=o[t+4>>1]&(I>=+(65535&R)?R:65535&I)),B<=0?k=0:(k=0|o[t+6>>1],k=o[t+4>>1]&(B>=+(65535&k)?k:65535&B)),B=(+p[i>>2]-b)*A,I=(+p[i+4>>2]-f)*u,j=(+p[i+8>>2]-m)*h,B<=0?w=1:(w=0|o[t+6>>1],w=o[t+4>>1]&(B>=+(65535&w)?w:65535&B)|1),I<=0?S=1:(S=0|o[t+6>>1],S=o[t+4>>1]&(I>=+(65535&S)?S:65535&I)|1),j<=0?v=1:(v=0|o[t+6>>1],v=o[t+4>>1]&(j>=+(65535&v)?v:65535&j)|1),g=0|o[t+64>>1],y=0|_[t+60>>2],o[t+64>>1]=0|o[y+((65535&g)<<6)+48>>1],C=1+(0|o[t+56>>1])<<16>>16,o[t+56>>1]=C,_[y+((65535&g)<<6)+12>>2]=65535&g,_[y+((65535&g)<<6)>>2]=r,o[y+((65535&g)<<6)+4>>1]=c,o[y+((65535&g)<<6)+6>>1]=a,_[y+((65535&g)<<6)+8>>2]=d,d=(65535&C)<<1&65534,o[y+54>>1]=2+(0|s[y+54>>1]),W=0|_[t+68>>2],F=s[W+(d+-1<<2)>>1]|s[W+(d+-1<<2)+2>>1]<<16,o[W+((1|d)<<2)>>1]=F,o[W+((1|d)<<2)+2>>1]=F>>>16,W=0|_[t+68>>2],o[W+(d+-1<<2)>>1]=D,o[W+(d+-1<<2)+2>>1]=g,o[W+(d<<2)>>1]=w,o[W+(d<<2)+2>>1]=g,o[y+((65535&g)<<6)+48>>1]=d+-1,o[y+((65535&g)<<6)+54>>1]=(65535&C)<<1,w=56+(0|_[t+60>>2])|0,o[w>>1]=2+(0|s[w>>1]),w=0|_[t+72>>2],D=s[w+(d+-1<<2)>>1]|s[w+(d+-1<<2)+2>>1]<<16,o[w+((1|d)<<2)>>1]=D,o[w+((1|d)<<2)+2>>1]=D>>>16,w=0|_[t+72>>2],o[w+(d+-1<<2)>>1]=R,o[w+(d+-1<<2)+2>>1]=g,o[w+(d<<2)>>1]=S,o[w+(d<<2)+2>>1]=g,o[y+((65535&g)<<6)+50>>1]=d+-1,o[y+((65535&g)<<6)+56>>1]=(65535&C)<<1,S=58+(0|_[t+60>>2])|0,o[S>>1]=2+(0|s[S>>1]),S=0|_[t+76>>2],w=s[S+(d+-1<<2)>>1]|s[S+(d+-1<<2)+2>>1]<<16,o[S+((1|d)<<2)>>1]=w,o[S+((1|d)<<2)+2>>1]=w>>>16,S=0|_[t+76>>2],o[S+(d+-1<<2)>>1]=k,o[S+(d+-1<<2)+2>>1]=g,o[S+(d<<2)>>1]=v,o[S+(d<<2)+2>>1]=g,o[y+((65535&g)<<6)+52>>1]=d+-1,o[y+((65535&g)<<6)+58>>1]=(65535&C)<<1,S=0|_[t+68>>2],w=0|s[y+((65535&g)<<6)+48>>1],D=0|_[t+60>>2],k=0|o[S+(w<<2)+-4>>1],(0|s[S+(w<<2)>>1])<(65535&k)){for(d=D+(s[S+(w<<2)+2>>1]<<6)+48|0,v=S+(w<<2)+-4|0,R=S+(w<<2)|0,w=k,S=D;F=0|s[R+-2>>1],o[(S=1&w?S+(F<<6)+54|0:S+(F<<6)+48|0)>>1]=1+(0|o[S>>1])<<16>>16,o[d>>1]=(0|o[d>>1])-1<<16>>16,S=s[R>>1]|s[R+2>>1]<<16,w=s[v>>1]|s[v+2>>1]<<16,o[R>>1]=w,o[R+2>>1]=w>>>16,o[v>>1]=S,o[v+2>>1]=S>>>16,S=R+-4|0,w=0|o[(v=v+-4|0)>>1],!((0|s[S>>1])>=(65535&w));)R=S,S=0|_[t+60>>2];S=0|_[t+68>>2]}v=0|s[y+((65535&g)<<6)+54>>1],R=0|o[(w=S+(v<<2)|0)-4>>1];t:do{if((0|s[w>>1])<(65535&R))for(D=(F=0|_[t+60>>2])+(s[S+(v<<2)+2>>1]<<6)+54|0,v=w+-4|0,k=w,S=R,w=F;;){if(F=0|s[k+-2>>1],o[(w=1&S?w+(F<<6)+54|0:w+(F<<6)+48|0)>>1]=1+(0|o[w>>1])<<16>>16,o[D>>1]=(0|o[D>>1])-1<<16>>16,w=s[k>>1]|s[k+2>>1]<<16,S=s[v>>1]|s[v+2>>1]<<16,o[k>>1]=S,o[k+2>>1]=S>>>16,o[v>>1]=w,o[v+2>>1]=w>>>16,w=k+-4|0,S=0|o[(v=v+-4|0)>>1],(0|s[w>>1])>=(65535&S))break t;k=w,w=0|_[t+60>>2]}}while(0);if(S=0|_[t+72>>2],w=0|s[y+((65535&g)<<6)+50>>1],D=0|_[t+60>>2],k=0|o[S+(w<<2)+-4>>1],(0|s[S+(w<<2)>>1])<(65535&k)){for(d=D+(s[S+(w<<2)+2>>1]<<6)+50|0,v=S+(w<<2)+-4|0,R=S+(w<<2)|0,w=k,S=D;F=0|s[R+-2>>1],o[(S=1&w?S+(F<<6)+56|0:S+(F<<6)+50|0)>>1]=1+(0|o[S>>1])<<16>>16,o[d>>1]=(0|o[d>>1])-1<<16>>16,S=s[R>>1]|s[R+2>>1]<<16,w=s[v>>1]|s[v+2>>1]<<16,o[R>>1]=w,o[R+2>>1]=w>>>16,o[v>>1]=S,o[v+2>>1]=S>>>16,S=R+-4|0,w=0|o[(v=v+-4|0)>>1],!((0|s[S>>1])>=(65535&w));)R=S,S=0|_[t+60>>2];S=0|_[t+72>>2]}v=0|s[y+((65535&g)<<6)+56>>1],R=0|o[(w=S+(v<<2)|0)-4>>1];t:do{if((0|s[w>>1])<(65535&R))for(D=(F=0|_[t+60>>2])+(s[S+(v<<2)+2>>1]<<6)+56|0,v=w+-4|0,k=w,S=R,w=F;;){if(F=0|s[k+-2>>1],o[(w=1&S?w+(F<<6)+56|0:w+(F<<6)+50|0)>>1]=1+(0|o[w>>1])<<16>>16,o[D>>1]=(0|o[D>>1])-1<<16>>16,w=s[k>>1]|s[k+2>>1]<<16,S=s[v>>1]|s[v+2>>1]<<16,o[k>>1]=S,o[k+2>>1]=S>>>16,o[v>>1]=w,o[v+2>>1]=w>>>16,w=k+-4|0,S=0|o[(v=v+-4|0)>>1],(0|s[w>>1])>=(65535&S))break t;k=w,w=0|_[t+60>>2]}}while(0);return Yt(t,2,0|o[y+((65535&g)<<6)+52>>1]),Ht(t,2,0|o[y+((65535&g)<<6)+58>>1],l),S=0|_[t+60>>2],(v=0|_[t+108>>2])?(F=0|Ul[3&_[8+(0|_[v>>2])>>2]](v,e,i,n,r,c,a,l,0),_[S+((65535&g)<<6)+60>>2]=F,0|(F=S+((65535&g)<<6)|0)):0|(F=S+((65535&g)<<6)|0)},function(t,e,i,r,s,p,c,a,l){t|=0,e|=0,i|=0,r|=0,s|=0,p|=0,c|=0,a|=0,l|=0;var d,b=0;if(d=Q,Q=Q+48|0,_[6630]=1+(0|_[6630]),(r=0|di(83))?(_[(r+4+15&-16)-4>>2]=r,b=r+4+15&-16):b=0,_[b>>2]=s,o[b+4>>1]=p,o[b+6>>1]=c,_[(s=b+16|0)>>2]=_[e>>2],_[s+4>>2]=_[e+4>>2],_[s+8>>2]=_[e+8>>2],_[s+12>>2]=_[e+12>>2],_[(s=b+32|0)>>2]=_[i>>2],_[s+4>>2]=_[i+4>>2],_[s+8>>2]=_[i+8>>2],_[s+12>>2]=_[i+12>>2],_[b+8>>2]=0,_[(s=b+56|0)>>2]=0,_[(p=b+52|0)>>2]=0,_[d+16>>2]=_[e>>2],_[d+16+4>>2]=_[e+4>>2],_[d+16+8>>2]=_[e+8>>2],_[d+16+12>>2]=_[e+12>>2],_[d+16+16>>2]=_[i>>2],_[d+16+16+4>>2]=_[i+4>>2],_[d+16+16+8>>2]=_[i+8>>2],_[d+16+16+12>>2]=_[i+12>>2],_[b+60>>2]=_[t+144>>2],r=1+(0|_[t+188>>2])|0,_[t+188>>2]=r,_[b+12>>2]=r,r=0|_[t+8>>2])_[t+8>>2]=0;else{_[6630]=1+(0|_[6630]),(r=0|di(63))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,l=(a=r)+44|0;do{_[a>>2]=0,a=a+4|0}while((0|a)<(0|l))}return _[r+32>>2]=0,_[r+36>>2]=b,_[r+40>>2]=0,_[r>>2]=_[d+16>>2],_[r+4>>2]=_[d+16+4>>2],_[r+8>>2]=_[d+16+8>>2],_[r+12>>2]=_[d+16+12>>2],_[r+16>>2]=_[d+16+16>>2],_[r+20>>2]=_[d+16+20>>2],_[r+24>>2]=_[d+16+24>>2],_[r+28>>2]=_[d+16+28>>2],U(t+4|0,0|_[t+4>>2],r),_[t+16>>2]=1+(0|_[t+16>>2]),_[b+48>>2]=r,a=t+124+(_[t+144>>2]<<2)|0,_[p>>2]=0,_[s>>2]=_[a>>2],0|(r=0|_[a>>2])&&(_[r+52>>2]=b),_[a>>2]=b,0|n[t+193|0]?(Q=d,0|b):(_[d>>2]=9900,_[d+4>>2]=t,_[d+8>>2]=b,ci(0|_[t+4>>2],d+16|0,d),ci(0|_[t+64>>2],d+16|0,d),Q=d,0|b)},Rr],Yl=[ar,function(t,e,i,o,r,s,c,a,l,d){t|=0,e|=0,o|=0,r|=0,s|=0,c|=0,a|=0,l|=0,d|=0;var b,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;b=Q,Q=Q+4224|0,R=((0|_[4+(i|=0)>>2])-17|0)>>>0<2?((0|_[o+4>>2])-17|0)>>>0<2:0,t=0;do{ni(),C=+p[23344+(t<<4)>>2],v=+p[23344+(t<<4)+4>>2],S=+p[23344+(t<<4)+8>>2],k=+p[r+4>>2]*-C+ +p[r+20>>2]*-v+ +p[r+36>>2]*-S,w=+p[r+8>>2]*-C+ +p[r+24>>2]*-v+ +p[r+40>>2]*-S,p[b+992+(t<<4)>>2]=+p[r>>2]*-C+ +p[r+16>>2]*-v+ +p[r+32>>2]*-S,p[b+992+(t<<4)+4>>2]=k,p[b+992+(t<<4)+8>>2]=w,p[b+992+(t<<4)+12>>2]=0,w=C*+p[s+4>>2]+v*+p[s+20>>2]+S*+p[s+36>>2],k=C*+p[s+8>>2]+v*+p[s+24>>2]+S*+p[s+40>>2],p[b+(t<<4)>>2]=C*+p[s>>2]+v*+p[s+16>>2]+S*+p[s+32>>2],p[b+(t<<4)+4>>2]=w,p[b+(t<<4)+8>>2]=k,p[b+(t<<4)+12>>2]=0,t=t+1|0}while(42!=(0|t));if((0|(u=0|Gl[127&_[84+(0|_[i>>2])>>2]](i)))>0){for(t=0,f=42;_d[127&_[88+(0|_[i>>2])>>2]](i,t,b+4144|0),w=+p[b+4144>>2],k=+p[b+4144+4>>2],S=+p[b+4144+8>>2],v=w*+p[r+16>>2]+k*+p[r+20>>2]+S*+p[r+24>>2],C=w*+p[r+32>>2]+k*+p[r+36>>2]+S*+p[r+40>>2],p[b+4144>>2]=+p[r>>2]*w+ +p[r+4>>2]*k+ +p[r+8>>2]*S,p[b+4144+4>>2]=v,p[b+4144+8>>2]=C,p[b+4144+12>>2]=0,ni(),_[(m=23344+(f<<4)|0)>>2]=_[b+4144>>2],_[m+4>>2]=_[b+4144+4>>2],_[m+8>>2]=_[b+4144+8>>2],_[m+12>>2]=_[b+4144+12>>2],C=+p[b+4144>>2],v=+p[b+4144+4>>2],S=+p[b+4144+8>>2],k=+p[r+4>>2]*-C+ +p[r+20>>2]*-v+ +p[r+36>>2]*-S,w=+p[r+8>>2]*-C+ +p[r+24>>2]*-v+ +p[r+40>>2]*-S,p[b+992+(f<<4)>>2]=+p[r>>2]*-C+ +p[r+16>>2]*-v+ +p[r+32>>2]*-S,p[b+992+(f<<4)+4>>2]=k,p[b+992+(f<<4)+8>>2]=w,p[b+992+(f<<4)+12>>2]=0,w=C*+p[s+4>>2]+v*+p[s+20>>2]+S*+p[s+36>>2],k=C*+p[s+8>>2]+v*+p[s+24>>2]+S*+p[s+40>>2],p[b+(f<<4)>>2]=C*+p[s>>2]+v*+p[s+16>>2]+S*+p[s+32>>2],p[b+(f<<4)+4>>2]=w,p[b+(f<<4)+8>>2]=k,p[b+(f<<4)+12>>2]=0,(0|(t=t+1|0))!=(0|u);)f=f+1|0;f=u+42|0}else f=42;if((0|(m=0|Gl[127&_[84+(0|_[o>>2])>>2]](o)))>0){for(t=0,u=f;_d[127&_[88+(0|_[o>>2])>>2]](o,t,b+4144|0),w=+p[b+4144>>2],k=+p[b+4144+4>>2],S=+p[b+4144+8>>2],v=w*+p[s+16>>2]+k*+p[s+20>>2]+S*+p[s+24>>2],C=w*+p[s+32>>2]+k*+p[s+36>>2]+S*+p[s+40>>2],p[b+4144>>2]=+p[s>>2]*w+ +p[s+4>>2]*k+ +p[s+8>>2]*S,p[b+4144+4>>2]=v,p[b+4144+8>>2]=C,p[b+4144+12>>2]=0,ni(),_[(D=23344+(u<<4)|0)>>2]=_[b+4144>>2],_[D+4>>2]=_[b+4144+4>>2],_[D+8>>2]=_[b+4144+8>>2],_[D+12>>2]=_[b+4144+12>>2],C=+p[b+4144>>2],v=+p[b+4144+4>>2],S=+p[b+4144+8>>2],k=+p[r+4>>2]*-C+ +p[r+20>>2]*-v+ +p[r+36>>2]*-S,w=+p[r+8>>2]*-C+ +p[r+24>>2]*-v+ +p[r+40>>2]*-S,p[b+992+(u<<4)>>2]=+p[r>>2]*-C+ +p[r+16>>2]*-v+ +p[r+32>>2]*-S,p[b+992+(u<<4)+4>>2]=k,p[b+992+(u<<4)+8>>2]=w,p[b+992+(u<<4)+12>>2]=0,w=C*+p[s+4>>2]+v*+p[s+20>>2]+S*+p[s+36>>2],k=C*+p[s+8>>2]+v*+p[s+24>>2]+S*+p[s+40>>2],p[b+(u<<4)>>2]=C*+p[s>>2]+v*+p[s+16>>2]+S*+p[s+32>>2],p[b+(u<<4)+4>>2]=w,p[b+(u<<4)+8>>2]=k,p[b+(u<<4)+12>>2]=0,(0|(t=t+1|0))!=(0|m);)u=u+1|0;f=m+f|0}if(pd[127&_[76+(0|_[i>>2])>>2]](i,b+992|0,b+2976|0,f),pd[127&_[76+(0|_[o>>2])>>2]](o,b,b+1984|0,f),(0|f)>0)for(C=0xde0b6b000000000,t=0,w=0,A=0,S=0,h=0;;){if(ni(),g=+p[23344+(t<<4)>>2],v=+p[23344+(t<<4)+4>>2],y=+p[23344+(t<<4)+12>>2],g*g+v*v+(k=R?0:+p[23344+(t<<4)+8>>2])*k>.01&&(B=+p[b+2976+(t<<4)>>2],I=+p[b+2976+(t<<4)+4>>2],j=+p[b+2976+(t<<4)+8>>2],x=+p[b+1984+(t<<4)>>2],F=+p[b+1984+(t<<4)+4>>2],W=+p[b+1984+(t<<4)+8>>2],(j=g*(x*+p[s>>2]+F*+p[s+4>>2]+W*+p[s+8>>2]+ +p[s+48>>2]-(B*+p[r>>2]+I*+p[r+4>>2]+j*+p[r+8>>2]+ +p[r+48>>2]))+v*(x*+p[s+16>>2]+F*+p[s+20>>2]+W*+p[s+24>>2]+ +p[s+52>>2]-(B*+p[r+16>>2]+I*+p[r+20>>2]+j*+p[r+24>>2]+ +p[r+52>>2]))+k*(R?0:x*+p[s+32>>2]+F*+p[s+36>>2]+W*+p[s+40>>2]+ +p[s+56>>2]-(B*+p[r+32>>2]+I*+p[r+36>>2]+j*+p[r+40>>2]+ +p[r+56>>2])))>2]){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:Il[15&_[48+(0|_[i>>2])>>2]](i)}switch(0|_[o+4>>2]){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:Il[15&_[48+(0|_[o>>2])>>2]](o)}if(C<0)return Q=b,0|(D=0);switch(0|_[i+4>>2]){case 8:A=+p[i+28>>2]*+p[i+12>>2];break;case 0:case 1:case 13:case 11:case 10:case 4:case 5:A=+p[i+44>>2];break;default:A=+Il[15&_[48+(0|_[i>>2])>>2]](i)}switch(0|(t=0|_[o+4>>2])){case 8:h=+p[o+28>>2]*+p[o+12>>2],t=8;break;case 0:h=+p[o+44>>2],t=0;break;case 1:h=+p[o+44>>2],t=1;break;case 13:h=+p[o+44>>2],t=13;break;case 11:h=+p[o+44>>2],t=11;break;case 10:h=+p[o+44>>2],t=10;break;case 4:case 5:h=+p[o+44>>2];break;default:h=+Il[15&_[48+(0|_[o>>2])>>2]](o),t=0|_[o+4>>2]}return A=C+(A+h+.5),_[b+4144>>2]=10204,_[b+4144+4>>2]=0,_[b+4144+8>>2]=1065353216,_[b+4144+12>>2]=0,p[b+4144+16>>2]=0,_[b+4144+20>>2]=0,_[b+4144+24>>2]=e,_[b+4144+28>>2]=i,_[b+4144+32>>2]=o,_[b+4144+36>>2]=_[i+4>>2],_[b+4144+40>>2]=t,W=+Il[15&_[48+(0|_[i>>2])>>2]](i),p[b+4144+44>>2]=W,W=+Il[15&_[48+(0|_[o>>2])>>2]](o),p[b+4144+48>>2]=W,n[b+4144+52|0]=0,_[b+4144+60>>2]=-1,_[b+4144+72>>2]=1,_[b+4144+76>>2]=1,W=g*A+ +p[r+48>>2],F=v*A+ +p[r+52>>2],x=S*A+ +p[r+56>>2],_[b+4012>>2]=_[r>>2],_[b+4012+4>>2]=_[r+4>>2],_[b+4012+8>>2]=_[r+8>>2],_[b+4012+12>>2]=_[r+12>>2],_[b+4012+16>>2]=_[r+16>>2],_[b+4012+16+4>>2]=_[r+16+4>>2],_[b+4012+16+8>>2]=_[r+16+8>>2],_[b+4012+16+12>>2]=_[r+16+12>>2],_[b+4012+32>>2]=_[r+32>>2],_[b+4012+32+4>>2]=_[r+32+4>>2],_[b+4012+32+8>>2]=_[r+32+8>>2],_[b+4012+32+12>>2]=_[r+32+12>>2],p[b+4012+48>>2]=W,p[b+4012+52>>2]=F,p[b+4012+56>>2]=x,p[b+4012+60>>2]=0,_[b+4012+64>>2]=_[s>>2],_[b+4012+64+4>>2]=_[s+4>>2],_[b+4012+64+8>>2]=_[s+8>>2],_[b+4012+64+12>>2]=_[s+12>>2],_[b+4012+80>>2]=_[s+16>>2],_[b+4012+80+4>>2]=_[s+16+4>>2],_[b+4012+80+8>>2]=_[s+16+8>>2],_[b+4012+80+12>>2]=_[s+16+12>>2],_[b+4012+96>>2]=_[s+32>>2],_[b+4012+96+4>>2]=_[s+32+4>>2],_[b+4012+96+8>>2]=_[s+32+8>>2],_[b+4012+96+12>>2]=_[s+32+12>>2],_[b+4012+112>>2]=_[s+48>>2],_[b+4012+112+4>>2]=_[s+48+4>>2],_[b+4012+112+8>>2]=_[s+48+8>>2],_[b+4012+112+12>>2]=_[s+48+12>>2],p[b+4012+128>>2]=0xde0b6b000000000,_[b+3968>>2]=10088,n[b+3968+40|0]=0,p[b+4144+4>>2]=-g,p[b+4144+8>>2]=-v,p[b+4144+12>>2]=-S,p[b+4144+16>>2]=0,Si(b+4144|0,b+4012|0,b+3968|0,d,0),A-=+p[b+3968+36>>2],(t=0|n[b+3968+40|0])<<24>>24&&(D=b+3968+20|0,F=+p[b+3968+24>>2]-v*A,x=+p[b+3968+28>>2]-S*A,p[a>>2]=+p[D>>2]-g*A,p[a+4>>2]=F,p[a+8>>2]=x,p[a+12>>2]=0,_[l>>2]=_[D>>2],_[l+4>>2]=_[D+4>>2],_[l+8>>2]=_[D+8>>2],_[l+12>>2]=_[D+12>>2],p[c>>2]=g,p[c+4>>2]=v,p[c+8>>2]=S,p[c+12>>2]=y),Q=b,0|(D=!!(t<<24>>24))},function(t,e,i,n,o,r,s,c,a,l){var d,b;return t|=0,i|=0,n|=0,o|=0,s|=0,c|=0,a|=0,t=Q,Q=Q+80|0,b=+p[52+(r|=0)>>2]-+p[o+52>>2],d=+p[r+56>>2]-+p[o+56>>2],p[t+56>>2]=+p[r+48>>2]-+p[o+48>>2],p[t+56+4>>2]=b,p[t+56+8>>2]=d,p[t+56+12>>2]=0,0|gi(i,o,n,r,t+56|0,t,1)?(_[c>>2]=_[t+4>>2],_[c+4>>2]=_[t+4+4>>2],_[c+8>>2]=_[t+4+8>>2],_[c+12>>2]=_[t+4+12>>2],_[a>>2]=_[t+20>>2],_[a+4>>2]=_[t+20+4>>2],_[a+8>>2]=_[t+20+8>>2],_[a+12>>2]=_[t+20+12>>2],_[s>>2]=_[t+36>>2],_[s+4>>2]=_[t+36+4>>2],_[s+8>>2]=_[t+36+8>>2],_[s+12>>2]=_[t+36+12>>2],Q=t,0|(a=1)):0|Se(i,o,n,r,t+56|0,t)?(_[c>>2]=_[t+4>>2],_[c+4>>2]=_[t+4+4>>2],_[c+8>>2]=_[t+4+8>>2],_[c+12>>2]=_[t+4+12>>2],_[a>>2]=_[t+20>>2],_[a+4>>2]=_[t+20+4>>2],_[a+8>>2]=_[t+20+8>>2],_[a+12>>2]=_[t+20+12>>2],_[s>>2]=_[t+36>>2],_[s+4>>2]=_[t+36+4>>2],_[s+8>>2]=_[t+36+8>>2],_[s+12>>2]=_[t+36+12>>2],Q=t,0|(a=0)):(Q=t,0|(a=0))},ar],Jl=[function(){v(19)},function(){k()}],Xl=[Sl,hl,ml,hl,cl,hl,ml,hl,cl,hl,ml,hl,cl,hl,ml,hl,cl,hl,function(t){gs(t|=0)},hl,cl,hl,cl,hl,ml,hl,cl,function(t){var e;_[(t|=0)>>2]=3844,0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0},function(t){var e;_[(t|=0)>>2]=3844,(e=0|_[t+32>>2])&&0|n[t+36|0]?(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),yl(t)):yl(t)},function(t){var e=0,i=0,n=0;if(!((0|(e=0|_[24+(t|=0)>>2]))<=0)){n=0;do{switch(i=0|_[(0|_[t+32>>2])+(n<<2)>>2],0|_[i+216>>2]){case 2:case 5:break;default:ht(i),e=0|_[t+24>>2]}n=n+1|0}while((0|n)<(0|e))}},pn,function(t){pn(t|=0),yl(t)},hl,ml,ml,ml,ml,Gi,function(t){Gi(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},hl,ml,hl,ml,hl,gs,ml,ml,hl,gs,ml,ml,hl,ml,function(t){_[(t|=0)>>2]=4488,Hi(t+12|0)},function(t){_[(t|=0)>>2]=4488,Hi(t+12|0),yl(t)},hl,ml,hl,ml,function(t){var e;_[(t|=0)>>2]=8020,(e=0|_[t+52>>2])&&(Xl[511&_[_[e>>2]>>2]](e),(t=0|_[t+52>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])))},wo,Hi,function(t){Hi(t|=0),yl(t)},ln,function(t){ln(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},function(t){t|=0;var e,i=0,o=0,r=0,s=0;if(e=Q,Q=Q+16|0,$i(17386),(0|(i=0|_[t+8>>2]))>0){r=0;do{if(o=0|_[(0|_[t+16>>2])+(r<<2)>>2],0|n[t+76|0])s=11;else switch(0|_[o+216>>2]){case 2:case 5:break;default:s=11}11==(0|s)&&(s=0,K(t,o),i=0|_[t+8>>2]),r=r+1|0}while((0|r)<(0|i))}if(i=0|_[2606],s=(0|_[i+16>>2])-1|0,_[i+16>>2]=s,0|s)Q=e;else{do{if(0|_[i+4>>2]){if(G(0|e,0),s=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[e+4>>2])-(0|_[s+4>>2])+(1e6*((0|_[e>>2])-(0|_[s>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,0|_[i+16>>2])return void(Q=e);i=0|_[2606];break}}while(0);_[2606]=_[i+20>>2],Q=e}},function(t){t|=0;var e,i=0;if(e=Q,Q=Q+16|0,$i(17360),i=0|_[t+68>>2],ed[127&_[32+(0|_[i>>2])>>2]](i,0|_[t+24>>2]),t=0|_[2606],i=(0|_[t+16>>2])-1|0,_[t+16>>2]=i,0|i)Q=e;else{do{if(0|_[t+4>>2]){if(G(0|e,0),i=0|_[6629],p[t+8>>2]=+p[t+8>>2]+ +(((0|_[e+4>>2])-(0|_[i+4>>2])+(1e6*((0|_[e>>2])-(0|_[i>>2])|0)|0)-(0|_[t+12>>2])|0)>>>0)/1e3,0|_[t+16>>2])return void(Q=e);t=0|_[2606];break}}while(0);_[2606]=_[t+20>>2],Q=e}},function(t){var e,i,o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,nt=0,ot=0,_t=0,rt=0;if(o=Q,Q=Q+176|0,jl(t|=0),0|Gl[127&_[20+(0|_[t>>2])>>2]](t))if((0|_[t+328>>2])<=0)Q=o;else{e=o+96+32|0,i=o+96+52|0,N=0;do{if(H=0|_[(0|_[t+336>>2])+(N<<2)>>2],0|Gl[127&_[20+(0|_[t>>2])>>2]](t)&&(G=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),1&Gl[127&_[48+(0|_[G>>2])>>2]](G))){if(s=0|_[t+72>>2],0|n[H+473|0]){if(_[o+80>>2]=_[H+520>>2],_[o+80+4>>2]=_[H+520+4>>2],_[o+80+8>>2]=_[H+520+8>>2],_[o+80+12>>2]=_[H+520+12>>2],l=+p[H+584>>2],d=+p[H+536>>2],A=+p[H+600>>2],g=+p[H+540>>2],C=+p[H+616>>2],v=+p[H+544>>2],S=+p[H+588>>2],w=+p[H+604>>2],k=+p[H+620>>2],R=+p[H+592>>2],j=+p[H+608>>2],D=+p[H+624>>2],I=+p[H+552>>2],B=+p[H+556>>2],W=+p[H+560>>2],F=+p[H+568>>2],x=+p[H+572>>2],O=+p[H+576>>2],_t=1/+b(+((rt=l*d+A*g+C*v+0*(d*S+g*w+v*k)+0*(d*R+g*j+v*D))*rt+(ot=0*(R*I+j*B+D*W)+(l*I+A*B+C*W+0*(S*I+w*B+k*W)))*ot+(nt=0*(R*F+j*x+D*O)+(l*F+A*x+C*O+0*(S*F+w*x+k*O)))*nt)),tt=1/+b(+((et=0*(l*d+A*g+C*v)+(d*S+g*w+v*k)+0*(d*R+g*j+v*D))*et+($=0*(R*I+j*B+D*W)+(S*I+w*B+k*W+0*(l*I+A*B+C*W)))*$+(q=0*(R*F+j*x+D*O)+(S*F+w*x+k*O+0*(l*F+A*x+C*O)))*q)),z=1/+b(+((K=0*(l*d+A*g+C*v)+0*(d*S+g*w+v*k)+(d*R+g*j+v*D))*K+(X=R*I+j*B+D*W+(0*(l*I+A*B+C*W)+0*(S*I+w*B+k*W)))*X+(J=R*F+j*x+D*O+(0*(l*F+A*x+C*O)+0*(S*F+w*x+k*O)))*J)),G=0|_[8+(0|_[s>>2])>>2],ot=+p[o+80+4>>2]+ot*_t*10,nt=+p[o+80+8>>2]+nt*_t*10,p[o+160>>2]=+p[o+80>>2]+rt*_t*10,p[o+160+4>>2]=ot,p[o+160+8>>2]=nt,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=0,_[o+96+8>>2]=0,p[o+96+12>>2]=0,pd[127&G](s,o+80|0,o+160|0,o+96|0),G=0|_[8+(0|_[s>>2])>>2],$=$*tt*10+ +p[o+80+4>>2],q=q*tt*10+ +p[o+80+8>>2],p[o+160>>2]=et*tt*10+ +p[o+80>>2],p[o+160+4>>2]=$,p[o+160+8>>2]=q,p[o+160+12>>2]=0,_[o+96>>2]=0,_[o+96+4>>2]=1065353216,_[o+96+8>>2]=0,p[o+96+12>>2]=0,pd[127&G](s,o+80|0,o+160|0,o+96|0),G=0|_[8+(0|_[s>>2])>>2],X=X*z*10+ +p[o+80+4>>2],J=J*z*10+ +p[o+80+8>>2],p[o+160>>2]=K*z*10+ +p[o+80>>2],p[o+160+4>>2]=X,p[o+160+8>>2]=J,p[o+160+12>>2]=0,_[o+96>>2]=0,_[o+96+4>>2]=0,_[o+96+8>>2]=1065353216,p[o+96+12>>2]=0,pd[127&G](s,o+80|0,o+160|0,o+96|0),(0|_[H+484>>2])>0){r=0;do{G=0|_[H+492>>2],et=+p[G+(r<<4)>>2],nt=+p[G+(r<<4)+4>>2],rt=+p[G+(r<<4)+8>>2],ot=+p[o+80>>2]+((l*d+A*g+C*v)*et+(d*S+g*w+v*k)*nt+(d*R+g*j+v*D)*rt),_t=+p[o+80+4>>2]+((l*I+A*B+C*W)*et+(S*I+w*B+k*W)*nt+(R*I+j*B+D*W)*rt),rt=(l*F+A*x+C*O)*et+(S*F+w*x+k*O)*nt+(R*F+j*x+D*O)*rt+ +p[o+80+8>>2],_[o+64>>2]=1065353216,_[o+64+4>>2]=0,_[o+64+8>>2]=1065353216,p[o+64+12>>2]=0,G=0|_[8+(0|_[s>>2])>>2],p[o+160>>2]=ot+-.10000000149011612,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+.10000000149011612,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&G](s,o+160|0,o+96|0,o+64|0),G=0|_[8+(0|_[s>>2])>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t+-.10000000149011612,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+.10000000149011612,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&G](s,o+160|0,o+96|0,o+64|0),G=0|_[8+(0|_[s>>2])>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt+-.10000000149011612,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+.10000000149011612,p[o+96+12>>2]=0,pd[127&G](s,o+160|0,o+96|0,o+64|0),r=r+1|0}while((0|r)<(0|_[H+484>>2]))}G=0|_[t+72>>2]}else G=s;if(V=0|_[t+344>>2],_[o+80>>2]=0,_[o+80+4>>2]=0,_[o+80+8>>2]=0,_[o+80+12>>2]=0,_[o+64>>2]=1065353216,_[o+64+4>>2]=1065353216,_[o+64+8>>2]=1065353216,p[o+64+12>>2]=0,_[o+48>>2]=1065353216,_[o+48+4>>2]=0,_[o+48+8>>2]=0,p[o+48+12>>2]=0,256&V){if(_[6136]=1805,_[6137]=0,(0|(r=0|_[H+1112>>2]))>0){M=0;do{if(0|n[377+(0|_[(0|_[H+1120>>2])+(M<<2)>>2])|0]){if(nt=4.656612873077393e-10*+(0|Jo()),ot=4.656612873077393e-10*+(0|Jo()),_t=4.656612873077393e-10*+(0|Jo()),rt=1/+b(+(_t*_t+(nt*nt+ot*ot))),p[o+160>>2]=nt*rt*.75,p[o+160+4>>2]=ot*rt*.75,p[o+160+8>>2]=_t*rt*.75,p[o+160+12>>2]=0,(0|(c=0|_[24+(0|_[(0|_[H+1120>>2])+(M<<2)>>2])>>2]))>0){_[6630]=1+(0|_[6630]),(r=0|di(16+(c<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,s=r+4+15&-16):s=0,r=0;do{_[(P=s+(r<<4)|0)>>2]=_[o+96>>2],_[P+4>>2]=_[o+96+4>>2],_[P+8>>2]=_[o+96+8>>2],_[P+12>>2]=_[o+96+12>>2],r=r+1|0}while((0|r)!=(0|c));r=0;do{T=8+(0|_[(0|_[32+(0|_[(0|_[H+1120>>2])+(M<<2)>>2])>>2])+(r<<2)>>2])|0,_[(P=s+(r<<4)|0)>>2]=_[T>>2],_[P+4>>2]=_[T+4>>2],_[P+8>>2]=_[T+8>>2],_[P+12>>2]=_[T+12>>2],r=r+1|0}while((0|r)!=(0|c));P=s,T=s}else P=0,T=0;if(n[o+96+16|0]=1,_[o+96+12>>2]=0,_[o+96+4>>2]=0,_[o+96+8>>2]=0,n[o+96+36|0]=1,_[e>>2]=0,_[o+96+24>>2]=0,_[o+96+28>>2]=0,n[o+96+56|0]=1,_[i>>2]=0,_[o+96+44>>2]=0,_[o+96+48>>2]=0,Ai(o+96|0,T,c),(0|(h=0|_[o+96+44>>2]))>0){u=0|_[e>>2],f=0;do{if((0|(r=u+(12*(y=0|_[(0|_[i>>2])+(f<<2)>>2])|0)+(12*(s=0|_[u+(12*y|0)+4>>2])|0)+(12*(0|_[u+(12*y|0)+(12*s|0)>>2])|0)|0))!=(u+(12*y|0)|0))for(m=0|_[o+96+12>>2],s=0|_[u+(12*y|0)+(12*s|0)+8>>2],c=0|_[u+(12*y|0)+8>>2];a=0|_[r+8>>2],bd[1&_[28+(0|_[G>>2])>>2]](G,m+(s<<4)|0,m+(c<<4)|0,m+(a<<4)|0,o+160|0,1),(0|(r=(s=r+(12*(0|_[r+4>>2])|0)|0)+(12*(0|_[s>>2])|0)|0))!=(u+(12*y|0)|0);)s=c,c=a;f=f+1|0}while((0|f)<(0|h))}0|(r=0|_[i>>2])&&(0|n[o+96+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[i>>2]=0),n[o+96+56|0]=1,_[i>>2]=0,_[o+96+44>>2]=0,_[o+96+48>>2]=0,0|(r=0|_[e>>2])&&(0|n[o+96+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[e>>2]=0),n[o+96+36|0]=1,_[e>>2]=0,_[o+96+24>>2]=0,_[o+96+28>>2]=0,0|(r=0|_[o+96+12>>2])&&(0|n[o+96+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[o+96+12>>2]=0),!(0|P)|!(0|T)||(_[6631]=1+(0|_[6631]),Ni(0|_[T+-4>>2])),r=0|_[H+1112>>2]}M=M+1|0}while((0|M)<(0|r))}}else{if(1&V&&(0|(Z=0|_[H+712>>2]))>0){c=0,r=Z;do{s=0|_[H+720>>2],1&_[16+(0|_[s+(104*c|0)+4>>2])>>2]&&(r=0|_[8+(0|_[G>>2])>>2],M=s+(104*c|0)+8|0,h=0|_[(T=s+(104*c|0)+12|0)>>2],y=0|_[(P=s+(104*c|0)+16|0)>>2],p[o+160>>2]=+p[M>>2]-.10000000149011612,_[o+160+4>>2]=h,_[o+160+8>>2]=y,p[o+160+12>>2]=0,_t=+p[T>>2]+0,rt=+p[P>>2]+0,p[o+96>>2]=+p[M>>2]+.10000000149011612,p[o+96+4>>2]=_t,p[o+96+8>>2]=rt,p[o+96+12>>2]=0,_[o+32>>2]=1065353216,_[o+32+4>>2]=0,_[o+32+8>>2]=0,p[o+32+12>>2]=0,pd[127&r](G,o+160|0,o+96|0,o+32|0),r=0|_[8+(0|_[G>>2])>>2],rt=+p[T>>2]-.10000000149011612,y=0|_[P>>2],_[o+160>>2]=_[M>>2],p[o+160+4>>2]=rt,_[o+160+8>>2]=y,p[o+160+12>>2]=0,rt=+p[T>>2]+.10000000149011612,_t=+p[P>>2]+0,p[o+96>>2]=+p[M>>2]+0,p[o+96+4>>2]=rt,p[o+96+8>>2]=_t,p[o+96+12>>2]=0,_[o+32>>2]=0,_[o+32+4>>2]=1065353216,_[o+32+8>>2]=0,p[o+32+12>>2]=0,pd[127&r](G,o+160|0,o+96|0,o+32|0),r=0|_[8+(0|_[G>>2])>>2],y=0|_[T>>2],_t=+p[P>>2]-.10000000149011612,_[o+160>>2]=_[M>>2],_[o+160+4>>2]=y,p[o+160+8>>2]=_t,p[o+160+12>>2]=0,_t=+p[T>>2]+0,rt=+p[P>>2]+.10000000149011612,p[o+96>>2]=+p[M>>2]+0,p[o+96+4>>2]=_t,p[o+96+8>>2]=rt,p[o+96+12>>2]=0,_[o+32>>2]=0,_[o+32+4>>2]=0,_[o+32+8>>2]=1065353216,p[o+32+12>>2]=0,pd[127&r](G,o+160|0,o+96|0,o+32|0),r=0|_[H+712>>2]),c=c+1|0}while((0|c)<(0|r))}if(2&V&&(0|(U=0|_[H+732>>2]))>0){c=0,r=U;do{s=0|_[H+740>>2],1&_[16+(0|_[s+(52*c|0)+4>>2])>>2]&&(pd[127&_[8+(0|_[G>>2])>>2]](G,8+(0|_[s+(52*c|0)+8>>2])|0,8+(0|_[s+(52*c|0)+12>>2])|0,o+80|0),r=0|_[H+732>>2]),c=c+1|0}while((0|c)<(0|r))}if(16&V&&(0|(Y=0|_[H+712>>2]))>0){c=0,r=Y;do{s=0|_[H+720>>2],1&_[16+(0|_[s+(104*c|0)+4>>2])>>2]&&(ot=.5*+p[s+(104*c|0)+72>>2],rt=.5*+p[s+(104*c|0)+76>>2],_t=.5*+p[s+(104*c|0)+80>>2],M=0|_[8+(0|_[G>>2])>>2],r=s+(104*c|0)+8|0,et=rt+ +p[(T=s+(104*c|0)+12|0)>>2],nt=_t+ +p[(P=s+(104*c|0)+16|0)>>2],p[o+160>>2]=ot+ +p[r>>2],p[o+160+4>>2]=et,p[o+160+8>>2]=nt,p[o+160+12>>2]=0,pd[127&M](G,r,o+160|0,o+64|0),M=0|_[8+(0|_[G>>2])>>2],rt=+p[T>>2]-rt,_t=+p[P>>2]-_t,p[o+160>>2]=+p[r>>2]-ot,p[o+160+4>>2]=rt,p[o+160+8>>2]=_t,p[o+160+12>>2]=0,_t=.5*+p[o+64+4>>2],rt=.5*+p[o+64+8>>2],p[o+96>>2]=.5*+p[o+64>>2],p[o+96+4>>2]=_t,p[o+96+8>>2]=rt,p[o+96+12>>2]=0,pd[127&M](G,r,o+160|0,o+96|0),r=0|_[H+712>>2]),c=c+1|0}while((0|c)<(0|r))}if(32&V&&(!(0|n[24488])&&0|Qs(24488)&&(_[5540]=1065353216,_[5541]=0,_[5542]=0,_[5543]=0,_[5544]=0,_[5545]=1065353216,_[5546]=0,_[5547]=0,_[5548]=0,_[5549]=0,_[5550]=1065353216,p[5551]=0),(0|_[H+812>>2])>0)){r=0;do{M=0|_[H+820>>2],T=0|_[M+(104*r|0)+24>>2],I=+p[T+8>>2],B=+p[(P=M+(104*r|0)+4|0)>>2],W=+p[T+12>>2],F=+p[(y=M+(104*r|0)+8|0)>>2],J=+p[T+16>>2],X=+p[(T=M+(104*r|0)+12|0)>>2],z=+p[M+(104*r|0)+20>>2]+(I*B+W*F+J*X),p[o+160>>2]=I-B*z,p[o+160+4>>2]=W-F*z,p[o+160+8>>2]=J-X*z,p[o+160+12>>2]=0,K=+p[P>>2],_t=+p[y>>2],x=+p[T>>2],O=+p[22160+((M=K<_t?K>2],q=+p[22160+(M<<4)+4>>2],nt=+p[22160+(M<<4)>>2],tt=1/+b(+((K*q-_t*nt)*(K*q-_t*nt)+((_t*O-x*q)*(_t*O-x*q)+(x*nt-K*O)*(x*nt-K*O)))),rt=1/+b(+((ot=_t*((_t*O-x*q)*tt)-K*((x*nt-K*O)*tt))*ot+(($=x*((x*nt-K*O)*tt)-_t*((K*q-_t*nt)*tt))*$+(et=K*((K*q-_t*nt)*tt)-x*((_t*O-x*q)*tt))*et))),M=0|_[8+(0|_[G>>2])>>2],p[o+96>>2]=I-B*z-(_t*O-x*q)*tt*.5,p[o+96+4>>2]=W-F*z-(x*nt-K*O)*tt*.5,p[o+96+8>>2]=J-X*z-(K*q-_t*nt)*tt*.5,p[o+96+12>>2]=0,p[o+32>>2]=I-B*z+(_t*O-x*q)*tt*.5,p[o+32+4>>2]=W-F*z+(x*nt-K*O)*tt*.5,p[o+32+8>>2]=J-X*z+(K*q-_t*nt)*tt*.5,p[o+32+12>>2]=0,pd[127&M](G,o+96|0,o+32|0,o+48|0),M=0|_[8+(0|_[G>>2])>>2],tt=+p[o+160>>2],nt=+p[o+160+4>>2],_t=+p[o+160+8>>2],p[o+96>>2]=tt-$*rt*.5,p[o+96+4>>2]=nt-et*rt*.5,p[o+96+8>>2]=_t-ot*rt*.5,p[o+96+12>>2]=0,p[o+32>>2]=$*rt*.5+tt,p[o+32+4>>2]=et*rt*.5+nt,p[o+32+8>>2]=ot*rt*.5+_t,p[o+32+12>>2]=0,pd[127&M](G,o+96|0,o+32|0,o+48|0),M=0|_[8+(0|_[G>>2])>>2],_t=.5*+p[y>>2]*3+ +p[o+160+4>>2],rt=.5*+p[T>>2]*3+ +p[o+160+8>>2],p[o+96>>2]=.5*+p[P>>2]*3+ +p[o+160>>2],p[o+96+4>>2]=_t,p[o+96+8>>2]=rt,p[o+96+12>>2]=0,_[o+32>>2]=1065353216,_[o+32+4>>2]=1065353216,_[o+32+8>>2]=0,p[o+32+12>>2]=0,pd[127&M](G,o+160|0,o+96|0,o+32|0),r=r+1|0}while((0|r)<(0|_[H+812>>2]))}if(4&V&&(_[o+160>>2]=0,_[o+160+4>>2]=1060320051,_[o+160+8>>2]=0,p[o+160+12>>2]=0,(0|(L=0|_[H+752>>2]))>0)){c=0,r=L;do{s=0|_[H+760>>2],1&_[16+(0|_[s+(44*c|0)+4>>2])>>2]&&(r=0|_[s+(44*c|0)+8>>2],K=+p[r+8>>2],tt=+p[r+12>>2],ot=+p[r+16>>2],r=0|_[s+(44*c|0)+12>>2],q=+p[r+8>>2],et=+p[r+12>>2],_t=+p[r+16>>2],r=0|_[s+(44*c|0)+16>>2],$=+p[r+8>>2],nt=+p[r+12>>2],rt=+p[r+16>>2],r=0|_[28+(0|_[G>>2])>>2],p[o+96>>2]=.3333333432674408*(K+q+$)+.800000011920929*(K-.3333333432674408*(K+q+$)),p[o+96+4>>2]=.3333333432674408*(tt+et+nt)+.800000011920929*(tt-.3333333432674408*(tt+et+nt)),p[o+96+8>>2]=.3333333432674408*(ot+_t+rt)+.800000011920929*(ot-.3333333432674408*(ot+_t+rt)),p[o+96+12>>2]=0,p[o+32>>2]=.3333333432674408*(K+q+$)+.800000011920929*(q-.3333333432674408*(K+q+$)),p[o+32+4>>2]=.3333333432674408*(tt+et+nt)+.800000011920929*(et-.3333333432674408*(tt+et+nt)),p[o+32+8>>2]=.3333333432674408*(ot+_t+rt)+.800000011920929*(_t-.3333333432674408*(ot+_t+rt)),p[o+32+12>>2]=0,p[o+16>>2]=.3333333432674408*(K+q+$)+.800000011920929*($-.3333333432674408*(K+q+$)),p[o+16+4>>2]=.3333333432674408*(tt+et+nt)+.800000011920929*(nt-.3333333432674408*(tt+et+nt)),p[o+16+8>>2]=.3333333432674408*(ot+_t+rt)+.800000011920929*(rt-.3333333432674408*(ot+_t+rt)),p[o+16+12>>2]=0,bd[1&r](G,o+96|0,o+32|0,o+16|0,o+160|0,1),r=0|_[H+752>>2]),c=c+1|0}while((0|c)<(0|r))}if(8&V&&(_[o+160>>2]=1050253722,_[o+160+4>>2]=1050253722,_[o+160+8>>2]=1060320051,p[o+160+12>>2]=0,(0|(E=0|_[H+772>>2]))>0)){c=0,r=E;do{s=0|_[H+780>>2],1&_[16+(0|_[s+(104*c|0)+4>>2])>>2]&&(r=0|_[s+(104*c|0)+8>>2],R=+p[r+8>>2],I=+p[r+12>>2],F=+p[r+16>>2],r=0|_[s+(104*c|0)+12>>2],j=+p[r+8>>2],B=+p[r+12>>2],x=+p[r+16>>2],r=0|_[s+(104*c|0)+16>>2],D=+p[r+8>>2],W=+p[r+12>>2],O=+p[r+16>>2],r=0|_[s+(104*c|0)+20>>2],ot=+p[r+8>>2],_t=+p[r+12>>2],rt=+p[r+16>>2],r=0|_[28+(0|_[G>>2])>>2],tt=.25*(R+j+D+ot)+.800000011920929*(R-.25*(R+j+D+ot)),et=.25*(I+B+W+_t)+.800000011920929*(I-.25*(I+B+W+_t)),nt=.25*(F+x+O+rt)+.800000011920929*(F-.25*(F+x+O+rt)),p[o+96>>2]=tt,p[o+96+4>>2]=et,p[o+96+8>>2]=nt,p[o+96+12>>2]=0,J=.25*(R+j+D+ot)+.800000011920929*(j-.25*(R+j+D+ot)),X=.25*(I+B+W+_t)+.800000011920929*(B-.25*(I+B+W+_t)),z=.25*(F+x+O+rt)+.800000011920929*(x-.25*(F+x+O+rt)),p[o+32>>2]=J,p[o+32+4>>2]=X,p[o+32+8>>2]=z,p[o+32+12>>2]=0,K=.25*(R+j+D+ot)+.800000011920929*(D-.25*(R+j+D+ot)),q=.25*(I+B+W+_t)+.800000011920929*(W-.25*(I+B+W+_t)),$=.25*(F+x+O+rt)+.800000011920929*(O-.25*(F+x+O+rt)),p[o+16>>2]=K,p[o+16+4>>2]=q,p[o+16+8>>2]=$,p[o+16+12>>2]=0,bd[1&r](G,o+96|0,o+32|0,o+16|0,o+160|0,1),r=0|_[28+(0|_[G>>2])>>2],p[o+96>>2]=tt,p[o+96+4>>2]=et,p[o+96+8>>2]=nt,p[o+96+12>>2]=0,p[o+32>>2]=J,p[o+32+4>>2]=X,p[o+32+8>>2]=z,p[o+32+12>>2]=0,ot=.25*(R+j+D+ot)+.800000011920929*(ot-.25*(R+j+D+ot)),_t=.25*(I+B+W+_t)+.800000011920929*(_t-.25*(I+B+W+_t)),rt=.25*(F+x+O+rt)+.800000011920929*(rt-.25*(F+x+O+rt)),p[o+16>>2]=ot,p[o+16+4>>2]=_t,p[o+16+8>>2]=rt,p[o+16+12>>2]=0,bd[1&r](G,o+96|0,o+32|0,o+16|0,o+160|0,1),r=0|_[28+(0|_[G>>2])>>2],p[o+96>>2]=J,p[o+96+4>>2]=X,p[o+96+8>>2]=z,p[o+96+12>>2]=0,p[o+32>>2]=K,p[o+32+4>>2]=q,p[o+32+8>>2]=$,p[o+32+12>>2]=0,p[o+16>>2]=ot,p[o+16+4>>2]=_t,p[o+16+8>>2]=rt,p[o+16+12>>2]=0,bd[1&r](G,o+96|0,o+32|0,o+16|0,o+160|0,1),r=0|_[28+(0|_[G>>2])>>2],p[o+96>>2]=K,p[o+96+4>>2]=q,p[o+96+8>>2]=$,p[o+96+12>>2]=0,p[o+32>>2]=tt,p[o+32+4>>2]=et,p[o+32+8>>2]=nt,p[o+32+12>>2]=0,p[o+16>>2]=ot,p[o+16+4>>2]=_t,p[o+16+8>>2]=rt,p[o+16+12>>2]=0,bd[1&r](G,o+96|0,o+32|0,o+16|0,o+160|0,1),r=0|_[H+772>>2]),c=c+1|0}while((0|c)<(0|r))}}if(64&V){if((0|_[H+792>>2])>0){r=0;do{M=0|_[H+800>>2],T=0|_[M+(96*r|0)+20>>2],et=+p[M+(96*r|0)+4>>2],nt=+p[M+(96*r|0)+8>>2],ot=+p[M+(96*r|0)+12>>2],_t=et*+p[T+20>>2]+nt*+p[T+24>>2]+ot*+p[T+28>>2]+ +p[T+56>>2],rt=et*+p[T+36>>2]+nt*+p[T+40>>2]+ot*+p[T+44>>2]+ +p[T+60>>2],p[o+32>>2]=et*+p[T+4>>2]+nt*+p[T+8>>2]+ot*+p[T+12>>2]+ +p[T+52>>2],p[o+32+4>>2]=_t,p[o+32+8>>2]=rt,p[o+32+12>>2]=0,T=0|_[(M=M+(96*r|0)|0)>>2],_[o+16>>2]=1065353216,_[o+16+4>>2]=0,_[o+16+8>>2]=0,p[o+16+12>>2]=0,P=0|_[8+(0|_[G>>2])>>2],rt=+p[T+8>>2],_t=+p[T+12>>2],ot=+p[T+16>>2],p[o+160>>2]=rt+-.25,p[o+160+4>>2]=_t,p[o+160+8>>2]=ot,p[o+160+12>>2]=0,p[o+96>>2]=rt+.25,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=ot+0,p[o+96+12>>2]=0,pd[127&P](G,o+160|0,o+96|0,o+16|0),P=0|_[8+(0|_[G>>2])>>2],ot=+p[T+8>>2],_t=+p[T+12>>2],rt=+p[T+16>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t+-.25,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+.25,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&P](G,o+160|0,o+96|0,o+16|0),P=0|_[8+(0|_[G>>2])>>2],rt=+p[T+8>>2],_t=+p[T+12>>2],ot=+p[T+16>>2],p[o+160>>2]=rt,p[o+160+4>>2]=_t,p[o+160+8>>2]=ot+-.25,p[o+160+12>>2]=0,p[o+96>>2]=rt+0,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=ot+.25,p[o+96+12>>2]=0,pd[127&P](G,o+160|0,o+96|0,o+16|0),_[o+16>>2]=0,_[o+16+4>>2]=1065353216,_[o+16+8>>2]=0,p[o+16+12>>2]=0,P=0|_[8+(0|_[G>>2])>>2],ot=+p[o+32>>2],_t=+p[o+32+4>>2],rt=+p[o+32+8>>2],p[o+160>>2]=ot+-.25,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+.25,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&P](G,o+160|0,o+96|0,o+16|0),P=0|_[8+(0|_[G>>2])>>2],rt=+p[o+32>>2],_t=+p[o+32+4>>2],ot=+p[o+32+8>>2],p[o+160>>2]=rt,p[o+160+4>>2]=_t+-.25,p[o+160+8>>2]=ot,p[o+160+12>>2]=0,p[o+96>>2]=rt+0,p[o+96+4>>2]=_t+.25,p[o+96+8>>2]=ot+0,p[o+96+12>>2]=0,pd[127&P](G,o+160|0,o+96|0,o+16|0),P=0|_[8+(0|_[G>>2])>>2],ot=+p[o+32>>2],_t=+p[o+32+4>>2],rt=+p[o+32+8>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt+-.25,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+.25,p[o+96+12>>2]=0,pd[127&P](G,o+160|0,o+96|0,o+16|0),P=0|_[8+(0|_[G>>2])>>2],M=8+(0|_[M>>2])|0,_[o+160>>2]=1065353216,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=1065353216,p[o+160+12>>2]=0,pd[127&P](G,M,o+32|0,o+160|0),r=r+1|0}while((0|r)<(0|_[H+792>>2]))}if((0|(r=0|_[H+712>>2]))>0){c=0;do{s=0|_[H+720>>2],1&_[16+(0|_[s+(104*c|0)+4>>2])>>2]&&+p[s+(104*c|0)+88>>2]<=0&&(_[o+32>>2]=1065353216,_[o+32+4>>2]=0,_[o+32+8>>2]=0,p[o+32+12>>2]=0,r=0|_[8+(0|_[G>>2])>>2],ot=+p[(T=s+(104*c|0)+8|0)>>2],_t=+p[(P=s+(104*c|0)+12|0)>>2],rt=+p[(M=s+(104*c|0)+16|0)>>2],p[o+160>>2]=ot+-.25,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+.25,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&r](G,o+160|0,o+96|0,o+32|0),r=0|_[8+(0|_[G>>2])>>2],rt=+p[T>>2],_t=+p[P>>2],ot=+p[M>>2],p[o+160>>2]=rt,p[o+160+4>>2]=_t+-.25,p[o+160+8>>2]=ot,p[o+160+12>>2]=0,p[o+96>>2]=rt+0,p[o+96+4>>2]=_t+.25,p[o+96+8>>2]=ot+0,p[o+96+12>>2]=0,pd[127&r](G,o+160|0,o+96|0,o+32|0),r=0|_[8+(0|_[G>>2])>>2],ot=+p[T>>2],_t=+p[P>>2],rt=+p[M>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt+-.25,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+.25,p[o+96+12>>2]=0,pd[127&r](G,o+160|0,o+96|0,o+32|0),r=0|_[H+712>>2]),c=c+1|0}while((0|c)<(0|r))}}if(128&V&&(0|_[H+692>>2])>0){s=0;do{if(a=(c=0|_[H+700>>2])+(60*s|0)+8|0,_[o+160>>2]=_[a>>2],_[o+160+4>>2]=_[a+4>>2],_[o+160+8>>2]=_[a+8>>2],_[o+160+12>>2]=_[a+12>>2],(0|(a=0|_[c+(60*s|0)+24>>2]))>0){r=0,l=+p[o+160>>2],d=+p[o+160+4>>2],A=+p[o+160+8>>2];do{M=0|_[c+(60*s|0)+28+(r<<2)>>2],rt=+p[c+(60*s|0)+44+(r<<2)>>2],l=+p[M+8>>2]*rt+l,d=rt*+p[M+12>>2]+d,A=rt*+p[M+16>>2]+A,p[o+160+8>>2]=A,r=r+1|0}while((0|r)!=(0|a));p[o+160>>2]=l,p[o+160+4>>2]=d}_d[127&_[40+(0|_[G>>2])>>2]](G,o+160|0,0|_[c+(60*s|0)+4>>2]),s=s+1|0}while((0|s)<(0|_[H+692>>2]))}512&V&&(M=0|_[H+928>>2],_[o+160>>2]=1065353216,_[o+160+4>>2]=0,_[o+160+8>>2]=1065353216,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=1065353216,_[o+96+8>>2]=1065353216,p[o+96+12>>2]=0,it(G,M,0,o+160|0,o+96|0)),1024&V&&(M=0|_[H+988>>2],_[o+160>>2]=0,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=0,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=0,_[o+96+8>>2]=0,p[o+96+12>>2]=0,it(G,M,0,o+160|0,o+96|0)),2048&V&&(M=0|_[H+1048>>2],_[o+160>>2]=0,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=1065353216,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=0,_[o+96+8>>2]=0,p[o+96+12>>2]=0,it(G,M,0,o+160|0,o+96|0));t:do{if(4096&V&&(0|_[H+852>>2])>0)for(r=0;;){switch(s=0|_[(0|_[H+860>>2])+(r<<2)>>2],0|Gl[127&_[20+(0|_[s>>2])>>2]](s)){case 0:V=0|ae(s+4|0),rt=+p[s+28>>2],_t=+p[s+32>>2],ot=+p[s+36>>2],nt=rt*+p[V+16>>2]+_t*+p[V+20>>2]+ot*+p[V+24>>2]+ +p[V+52>>2],et=rt*+p[V+32>>2]+_t*+p[V+36>>2]+ot*+p[V+40>>2]+ +p[V+56>>2],p[o+32>>2]=rt*+p[V>>2]+_t*+p[V+4>>2]+ot*+p[V+8>>2]+ +p[V+48>>2],p[o+32+4>>2]=nt,p[o+32+8>>2]=et,p[o+32+12>>2]=0,V=0|ae(s+16|0),et=+p[s+44>>2],nt=+p[s+48>>2],ot=+p[s+52>>2],_t=et*+p[V+16>>2]+nt*+p[V+20>>2]+ot*+p[V+24>>2]+ +p[V+52>>2],rt=et*+p[V+32>>2]+nt*+p[V+36>>2]+ot*+p[V+40>>2]+ +p[V+56>>2],p[o+16>>2]=et*+p[V>>2]+nt*+p[V+4>>2]+ot*+p[V+8>>2]+ +p[V+48>>2],p[o+16+4>>2]=_t,p[o+16+8>>2]=rt,p[o+16+12>>2]=0,V=0|_[8+(0|_[G>>2])>>2],M=48+(0|ae(s+4|0))|0,_[o+160>>2]=1065353216,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=0,p[o+160+12>>2]=0,pd[127&V](G,M,o+32|0,o+160|0),M=0|_[8+(0|_[G>>2])>>2],V=48+(0|ae(s+16|0))|0,_[o+160>>2]=0,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=1065353216,p[o+160+12>>2]=0,pd[127&M](G,V,o+16|0,o+160|0),_[o>>2]=1065353216,_[o+4>>2]=1065353216,_[o+8>>2]=0,p[o+12>>2]=0,V=0|_[8+(0|_[G>>2])>>2],rt=+p[o+32>>2],_t=+p[o+32+4>>2],ot=+p[o+32+8>>2],p[o+160>>2]=rt+-.25,p[o+160+4>>2]=_t,p[o+160+8>>2]=ot,p[o+160+12>>2]=0,p[o+96>>2]=rt+.25,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=ot+0,p[o+96+12>>2]=0,pd[127&V](G,o+160|0,o+96|0,o),V=0|_[8+(0|_[G>>2])>>2],ot=+p[o+32>>2],_t=+p[o+32+4>>2],rt=+p[o+32+8>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t+-.25,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+.25,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&V](G,o+160|0,o+96|0,o),V=0|_[8+(0|_[G>>2])>>2],rt=+p[o+32>>2],_t=+p[o+32+4>>2],ot=+p[o+32+8>>2],p[o+160>>2]=rt,p[o+160+4>>2]=_t,p[o+160+8>>2]=ot+-.25,p[o+160+12>>2]=0,p[o+96>>2]=rt+0,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=ot+.25,p[o+96+12>>2]=0,pd[127&V](G,o+160|0,o+96|0,o),_[o>>2]=0,_[o+4>>2]=1065353216,_[o+8>>2]=1065353216,p[o+12>>2]=0,V=0|_[8+(0|_[G>>2])>>2],ot=+p[o+16>>2],_t=+p[o+16+4>>2],rt=+p[o+16+8>>2],p[o+160>>2]=ot+-.25,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+.25,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&V](G,o+160|0,o+96|0,o),V=0|_[8+(0|_[G>>2])>>2],rt=+p[o+16>>2],_t=+p[o+16+4>>2],ot=+p[o+16+8>>2],p[o+160>>2]=rt,p[o+160+4>>2]=_t+-.25,p[o+160+8>>2]=ot,p[o+160+12>>2]=0,p[o+96>>2]=rt+0,p[o+96+4>>2]=_t+.25,p[o+96+8>>2]=ot+0,p[o+96+12>>2]=0,pd[127&V](G,o+160|0,o+96|0,o),V=0|_[8+(0|_[G>>2])>>2],ot=+p[o+16>>2],_t=+p[o+16+4>>2],rt=+p[o+16+8>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt+-.25,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+.25,p[o+96+12>>2]=0,pd[127&V](G,o+160|0,o+96|0,o);break;case 1:V=48+(0|ae(s+4|0))|0,_[o+160>>2]=_[V>>2],_[o+160+4>>2]=_[V+4>>2],_[o+160+8>>2]=_[V+8>>2],_[o+160+12>>2]=_[V+12>>2],V=48+(0|ae(s+16|0))|0,_[o+96>>2]=_[V>>2],_[o+96+4>>2]=_[V+4>>2],_[o+96+8>>2]=_[V+8>>2],_[o+96+12>>2]=_[V+12>>2],V=0|ae(s+4|0),$=+p[s+28>>2],q=+p[s+32>>2],nt=+p[s+36>>2],tt=+p[V>>2]*$+ +p[V+4>>2]*q+ +p[V+8>>2]*nt,et=$*+p[V+16>>2]+q*+p[V+20>>2]+nt*+p[V+24>>2],nt=$*+p[V+32>>2]+q*+p[V+36>>2]+nt*+p[V+40>>2],V=0|ae(s+16|0),q=+p[s+44>>2],$=+p[s+48>>2],rt=+p[s+52>>2],ot=+p[V>>2]*q+ +p[V+4>>2]*$+ +p[V+8>>2]*rt,_t=q*+p[V+16>>2]+$*+p[V+20>>2]+rt*+p[V+24>>2],rt=q*+p[V+32>>2]+$*+p[V+36>>2]+rt*+p[V+40>>2],V=0|_[8+(0|_[G>>2])>>2],$=10*et+ +p[o+160+4>>2],q=10*nt+ +p[o+160+8>>2],p[o+32>>2]=10*tt+ +p[o+160>>2],p[o+32+4>>2]=$,p[o+32+8>>2]=q,p[o+32+12>>2]=0,_[o+16>>2]=1065353216,_[o+16+4>>2]=1065353216,_[o+16+8>>2]=0,p[o+16+12>>2]=0,pd[127&V](G,o+160|0,o+32|0,o+16|0),V=0|_[8+(0|_[G>>2])>>2],q=10*_t+ +p[o+160+4>>2],$=10*rt+ +p[o+160+8>>2],p[o+32>>2]=10*ot+ +p[o+160>>2],p[o+32+4>>2]=q,p[o+32+8>>2]=$,p[o+32+12>>2]=0,_[o+16>>2]=1065353216,_[o+16+4>>2]=1065353216,_[o+16+8>>2]=0,p[o+16+12>>2]=0,pd[127&V](G,o+160|0,o+32|0,o+16|0),V=0|_[8+(0|_[G>>2])>>2],et=10*et+ +p[o+96+4>>2],nt=10*nt+ +p[o+96+8>>2],p[o+32>>2]=10*tt+ +p[o+96>>2],p[o+32+4>>2]=et,p[o+32+8>>2]=nt,p[o+32+12>>2]=0,_[o+16>>2]=0,_[o+16+4>>2]=1065353216,_[o+16+8>>2]=1065353216,p[o+16+12>>2]=0,pd[127&V](G,o+96|0,o+32|0,o+16|0),V=0|_[8+(0|_[G>>2])>>2],_t=10*_t+ +p[o+96+4>>2],rt=10*rt+ +p[o+96+8>>2],p[o+32>>2]=10*ot+ +p[o+96>>2],p[o+32+4>>2]=_t,p[o+32+8>>2]=rt,p[o+32+12>>2]=0,_[o+16>>2]=0,_[o+16+4>>2]=1065353216,_[o+16+8>>2]=1065353216,p[o+16+12>>2]=0,pd[127&V](G,o+96|0,o+32|0,o+16|0)}if((0|(r=r+1|0))>=(0|_[H+852>>2]))break t}}while(0)}0|(r=0|_[t+72>>2])&&2&Gl[127&_[48+(0|_[r>>2])>>2]](r)&&(0|n[t+348|0]&&(V=0|_[t+72>>2],G=0|_[H+928>>2],_[o+160>>2]=1065353216,_[o+160+4>>2]=0,_[o+160+8>>2]=1065353216,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=1065353216,_[o+96+8>>2]=1065353216,p[o+96+12>>2]=0,it(V,G,0,o+160|0,o+96|0)),0|n[t+349|0]&&(V=0|_[t+72>>2],G=0|_[H+988>>2],_[o+160>>2]=0,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=0,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=0,_[o+96+8>>2]=0,p[o+96+12>>2]=0,it(V,G,0,o+160|0,o+96|0)),0|n[t+350|0]&&(G=0|_[t+72>>2],H=0|_[H+1048>>2],_[o+160>>2]=0,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=1065353216,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=0,_[o+96+8>>2]=0,p[o+96+12>>2]=0,it(G,H,0,o+160|0,o+96|0))),N=N+1|0}while((0|N)<(0|_[t+328>>2]));Q=o}else Q=o},function(t){t|=0;var e,i=0,n=0,o=0;e=Q,Q=Q+16|0,$i(16703),Xl[511&_[8+(0|_[t>>2])>>2]](t),Xl[511&_[12+(0|_[t>>2])>>2]](t),i=0|_[t+24>>2],$i(16737),0|i&&(o=0|_[32+(0|_[i>>2])>>2],n=0|_[t+68>>2],n=0|Gl[127&_[36+(0|_[n>>2])>>2]](n),pd[127&o](i,n,t+28|0,0|_[t+24>>2])),i=0|_[2606],o=(0|_[i+16>>2])-1|0,_[i+16>>2]=o;do{if(o)t=i;else{if(0|_[i+4>>2]){if(G(0|e,0),t=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[e+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[e>>2])-(0|_[t>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,t=0|_[2606],0|_[i+16>>2])break}else t=i;t=0|_[t+20>>2],_[2606]=t}}while(0);if(o=(0|_[(i=t+16|0)>>2])-1|0,_[i>>2]=o,0|o)Q=e;else{do{if(0|_[t+4>>2]){if(G(0|e,0),n=0|_[6629],p[(o=t+8|0)>>2]=+p[o>>2]+ +(((0|_[e+4>>2])-(0|_[n+4>>2])+(1e6*((0|_[e>>2])-(0|_[n>>2])|0)|0)-(0|_[t+12>>2])|0)>>>0)/1e3,0|_[i>>2])return void(Q=e);t=0|_[2606];break}}while(0);_[2606]=_[t+20>>2],Q=e}},function(t){t|=0;var e,i=0,o=0,r=0,s=0,c=0,a=0;e=Q,Q=Q+64|0,$i(14625);t:do{if(0|n[t+274|0]){if((0|(i=0|_[t+8>>2]))>0){s=0;do{0|(r=0|_[(0|_[t+16>>2])+(s<<2)>>2])&&2&_[r+236>>2]&&0|_[r+480>>2]&&!(3&_[r+204>>2])&&(o=0|n[t+300|0]&&0!=(c=+p[t+268>>2])?+p[t+264>>2]-c:+p[t+264>>2]*+p[r+244>>2],Bt(r+68|0,+p[r+132>>2],+p[r+136>>2],+p[r+140>>2],r+148|0,o,e),i=0|_[r+480>>2],ed[127&_[12+(0|_[i>>2])>>2]](i,e),i=0|_[t+8>>2]),s=s+1|0}while((0|s)<(0|i))}}else if((0|(i=0|_[t+232>>2]))>0)for(s=0;;){switch(r=0|_[(0|_[t+240>>2])+(s<<2)>>2],0|_[r+216>>2]){case 2:case 5:break;default:0|_[r+480>>2]&&!(3&_[r+204>>2])&&(o=0|n[t+300|0]&&0!=(a=+p[t+268>>2])?+p[t+264>>2]-a:+p[t+264>>2]*+p[r+244>>2],Bt(r+68|0,+p[r+132>>2],+p[r+136>>2],+p[r+140>>2],r+148|0,o,e),i=0|_[r+480>>2],ed[127&_[12+(0|_[i>>2])>>2]](i,e),i=0|_[t+232>>2])}if((0|(s=s+1|0))>=(0|i))break t}}while(0);if(i=0|_[2606],t=(0|_[i+16>>2])-1|0,_[i+16>>2]=t,0|t)Q=e;else{do{if(0|_[i+4>>2]){if(G(0|e,0),t=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[e+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[e>>2])-(0|_[t>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,0|_[i+16>>2])return void(Q=e);i=0|_[2606];break}}while(0);_[2606]=_[i+20>>2],Q=e}},function(t){var e=0,i=0;if(!((0|_[232+(t|=0)>>2])<=0)){e=0;do{i=412+(0|_[(0|_[t+240>>2])+(e<<2)>>2])|0,_[i>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,_[i+16>>2]=0,_[i+20>>2]=0,_[i+24>>2]=0,_[i+28>>2]=0,e=e+1|0}while((0|e)<(0|_[t+232>>2]))}},function(t){t|=0;var e,i=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0;if(e=Q,Q=Q+16|0,$i(14494),l=0|_[t+204>>2],_d[127&_[8+(0|_[l>>2])>>2]](l,t,0|_[t+24>>2]),(0|(l=0|_[t+308>>2]))>0){d=0|_[t+316>>2],a=0;do{if(o=0|_[d+(a<<2)>>2],i=0|_[o+740>>2],o=0|_[o+744>>2],0|i&&0|o&&!(3&_[i+204>>2])&&!(3&_[o+204>>2])){if(r=0|_[i+208>>2],i=0|_[o+208>>2],c=0|_[16+(0|_[t+204>>2])>>2],(0|(o=0|_[c+(r<<3)>>2]))!=(0|r)&&(_[c+(r<<3)>>2]=_[c+(o<<3)>>2],(0|(r=0|_[c+(o<<3)>>2]))!=(0|(o=0|_[c+(r<<3)>>2])))){s=c+(r<<3)|0;do{r=c+(o<<3)|0,_[s>>2]=_[r>>2],r=0|_[r>>2],o=0|_[(s=c+(r<<3)|0)>>2]}while((0|r)!=(0|o))}if((0|(o=0|_[c+(i<<3)>>2]))!=(0|i)&&(_[c+(i<<3)>>2]=_[c+(o<<3)>>2],(0|(i=0|_[c+(o<<3)>>2]))!=(0|(o=0|_[c+(i<<3)>>2])))){s=c+(i<<3)|0;do{i=c+(o<<3)|0,_[s>>2]=_[i>>2],i=0|_[i>>2],o=0|_[(s=c+(i<<3)|0)>>2]}while((0|i)!=(0|o))}(0|r)!=(0|i)&&(_[c+(r<<3)>>2]=i,_[(s=c+(i<<3)+4|0)>>2]=(0|_[s>>2])+(0|_[c+(r<<3)+4>>2]))}a=a+1|0}while((0|a)!=(0|l))}if((0|(l=0|_[t+212>>2]))>0){d=0|_[t+220>>2],a=0;do{if(i=0|_[d+(a<<2)>>2],0|n[i+20|0]&&(b=0|_[i+28>>2],!(3&_[b+204>>2]))&&(A=0|_[i+32>>2],!(3&_[A+204>>2]))){if(o=0|_[b+208>>2],i=0|_[A+208>>2],c=0|_[16+(0|_[t+204>>2])>>2],(0|(r=0|_[c+(o<<3)>>2]))!=(0|o)&&(_[c+(o<<3)>>2]=_[c+(r<<3)>>2],(0|(o=0|_[c+(r<<3)>>2]))!=(0|(r=0|_[c+(o<<3)>>2])))){s=c+(o<<3)|0;do{o=c+(r<<3)|0,_[s>>2]=_[o>>2],o=0|_[o>>2],r=0|_[(s=c+(o<<3)|0)>>2]}while((0|o)!=(0|r))}if((0|(r=0|_[c+(i<<3)>>2]))!=(0|i)&&(_[c+(i<<3)>>2]=_[c+(r<<3)>>2],(0|(i=0|_[c+(r<<3)>>2]))!=(0|(r=0|_[c+(i<<3)>>2])))){s=c+(i<<3)|0;do{i=c+(r<<3)|0,_[s>>2]=_[i>>2],i=0|_[i>>2],r=0|_[(s=c+(i<<3)|0)>>2]}while((0|i)!=(0|r))}(0|o)!=(0|i)&&(_[c+(o<<3)>>2]=i,_[(s=c+(i<<3)+4|0)>>2]=(0|_[s>>2])+(0|_[c+(o<<3)+4>>2]))}a=a+1|0}while((0|a)!=(0|l))}if(i=0|_[t+204>>2],ed[127&_[12+(0|_[i>>2])>>2]](i,t),i=0|_[2606],A=(0|_[i+16>>2])-1|0,_[i+16>>2]=A,0|A)Q=e;else{do{if(0|_[i+4>>2]){if(G(0|e,0),A=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[e+4>>2])-(0|_[A+4>>2])+(1e6*((0|_[e>>2])-(0|_[A>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,0|_[i+16>>2])return void(Q=e);i=0|_[2606];break}}while(0);_[2606]=_[i+20>>2],Q=e}},function(t){var e,i,n=0,o=0,r=0;if(!((0|(i=0|_[232+(t|=0)>>2]))<=0)){e=0|_[t+240>>2],t=0;do{switch(n=0|_[e+(t<<2)>>2],0|_[n+216>>2]){case 2:case 5:break;default:3&_[n+204>>2]||(r=+p[n+368>>2]*+p[n+352>>2],o=+p[n+372>>2]*+p[n+356>>2],p[n+412>>2]=+p[n+364>>2]*+p[n+348>>2]+ +p[n+412>>2],p[n+416>>2]=r+ +p[n+416>>2],p[n+420>>2]=o+ +p[n+420>>2])}t=t+1|0}while((0|t)!=(0|i))}},hl,ml,hl,ml,function(t){var e;_[(t|=0)>>2]=4956,0|(e=0|_[t+496>>2])&&(0|n[t+500|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+496>>2]=0),n[t+500|0]=1,_[t+496>>2]=0,_[t+488>>2]=0,_[t+492>>2]=0,_[t>>2]=5904},function(t){var e;_[(t|=0)>>2]=4956,0|(e=0|_[t+496>>2])&&(0|n[t+500|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+496>>2]=0),n[t+500|0]=1,_[t+496>>2]=0,_[t+488>>2]=0,_[t+492>>2]=0,_[t>>2]=5904,_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])},kt,function(t){kt(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},jl,ml,An,function(t){An(t|=0),yl(t)},Pa,jr,hl,Pa,jr,function(t){var e,i,o,r,s=0,c=0,a=0;r=Q,Q=Q+16|0,0|n[1308+(t|=0)|0]?(p[t+928>>2]=0,p[t+992>>2]=0,p[t+1056>>2]=0,_[t+712>>2]=0,_[t+712+4>>2]=0,_[t+712+8>>2]=0,_[t+712+12>>2]=0,Pi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0),Xl[511&_[44+(0|_[t>>2])>>2]](t),e=+p[t+1284>>2],i=+p[t+1288>>2],o=+p[t+1292>>2],+p[t+696>>2]>=+p[t+680>>2]&&(a=!(0|n[t+1300|0]),s=0|_[(a?t+1160:t+1096)>>2],c=0|_[(a?t+1144:t+1080)>>2],_[r>>2]=_[(a?t+1128:t+1064)>>2],_[r+4>>2]=c,_[r+8>>2]=s,p[r+12>>2]=0,Jt(0|_[t+28>>2],0|_[t+32>>2],t+176|0,r,e,i,o,e,i,o)),+p[t+700>>2]>=+p[t+684>>2]&&(s=!(0|n[t+1300|0]),a=0|_[(s?t+1164:t+1100)>>2],c=0|_[(s?t+1148:t+1084)>>2],_[r>>2]=_[(s?t+1132:t+1068)>>2],_[r+4>>2]=c,_[r+8>>2]=a,p[r+12>>2]=0,Jt(0|_[t+28>>2],0|_[t+32>>2],t+260|0,r,e,i,o,e,i,o)),+p[t+704>>2]>=+p[t+688>>2]&&(s=!(0|n[t+1300|0]),a=0|_[(s?t+1168:t+1104)>>2],c=0|_[(s?t+1152:t+1088)>>2],_[r>>2]=_[(s?t+1136:t+1072)>>2],_[r+4>>2]=c,_[r+8>>2]=a,p[r+12>>2]=0,Jt(0|_[t+28>>2],0|_[t+32>>2],t+344|0,r,e,i,o,e,i,o)),0|at(t,0)&&(_[r>>2]=_[t+1208>>2],_[r+4>>2]=_[t+1208+4>>2],_[r+8>>2]=_[t+1208+8>>2],_[r+12>>2]=_[t+1208+12>>2],wt(0|_[t+28>>2],0|_[t+32>>2],t+428|0,r)),0|at(t,1)&&(_[r>>2]=_[t+1224>>2],_[r+4>>2]=_[t+1224+4>>2],_[r+8>>2]=_[t+1224+8>>2],_[r+12>>2]=_[t+1224+12>>2],wt(0|_[t+28>>2],0|_[t+32>>2],t+512|0,r)),0|at(t,2)&&(_[r>>2]=_[t+1240>>2],_[r+4>>2]=_[t+1240+4>>2],_[r+8>>2]=_[t+1240+8>>2],_[r+12>>2]=_[t+1240+12>>2],wt(0|_[t+28>>2],0|_[t+32>>2],t+596|0,r)),Q=r):Q=r},function(t){var e,i=0,n=0;i=+p[344+(0|_[28+(t|=0)>>2])>>2],n=0==(n=+p[344+(0|_[t+32>>2])>>2])?1:i/(i+n),i=+p[t+1116>>2]*n+(1-n)*+p[t+1180>>2],e=n*+p[t+1120>>2]+(1-n)*+p[t+1184>>2],p[t+1284>>2]=+p[t+1112>>2]*n+ +p[t+1176>>2]*(1-n),p[t+1288>>2]=i,p[t+1292>>2]=e,p[t+1296>>2]=0},jr,jr,function(t){var e,i=0,n=0,o=0,r=0,s=0,c=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;e=Q,Q=Q+144|0,p[36+(t|=0)>>2]=0,_[e+128>>2]=0,_[e+128+4>>2]=0,_[e+128+8>>2]=0,_[e+128+12>>2]=0,i=0;do{p[(n=e+128+(i<<2)|0)>>2]=1,r=0|_[t+28>>2],x=0|_[r+4>>2],_[e+80>>2]=x,B=0|_[r+20>>2],_[e+80+4>>2]=B,j=0|_[r+36>>2],_[e+80+8>>2]=j,p[e+80+12>>2]=0,F=0|_[r+8>>2],_[e+80+16>>2]=F,I=0|_[r+24>>2],_[e+80+20>>2]=I,R=0|_[r+40>>2],_[e+80+24>>2]=R,p[e+80+28>>2]=0,W=0|_[r+12>>2],_[e+80+32>>2]=W,D=0|_[r+28>>2],_[e+80+36>>2]=D,k=0|_[r+44>>2],_[e+80+40>>2]=k,p[e+80+44>>2]=0,o=0|_[t+32>>2],w=0|_[o+4>>2],_[e+32>>2]=w,C=0|_[o+20>>2],_[e+32+4>>2]=C,h=0|_[o+36>>2],_[e+32+8>>2]=h,p[e+32+12>>2]=0,S=0|_[o+8>>2],_[e+32+16>>2]=S,g=0|_[o+24>>2],_[e+32+20>>2]=g,m=0|_[o+40>>2],_[e+32+24>>2]=m,p[e+32+28>>2]=0,v=0|_[o+12>>2],_[e+32+32>>2]=v,y=0|_[o+28>>2],_[e+32+36>>2]=y,A=0|_[o+44>>2],_[e+32+40>>2]=A,p[e+32+44>>2]=0,l=(f=+p[t+300>>2])*(_[a>>2]=x,+p[a>>2]),l+=(s=+p[t+304>>2])*(_[a>>2]=F,+p[a>>2]),l+=(c=+p[t+308>>2])*(_[a>>2]=W,+p[a>>2]),u=f*(_[a>>2]=B,+p[a>>2]),u+=s*(_[a>>2]=I,+p[a>>2]),u+=c*(_[a>>2]=D,+p[a>>2]),s=(f*=(_[a>>2]=j,+p[a>>2]))+s*(_[a>>2]=R,+p[a>>2]),f=+p[r+52>>2],b=+p[r+56>>2],d=+p[r+60>>2],d=s+c*(_[a>>2]=k,+p[a>>2])+d-d,p[e+16>>2]=l+f-f,p[e+16+4>>2]=u+b-b,p[e+16+8>>2]=d,p[e+16+12>>2]=0,b=(d=+p[t+316>>2])*(_[a>>2]=w,+p[a>>2]),b+=(u=+p[t+320>>2])*(_[a>>2]=S,+p[a>>2]),b+=(f=+p[t+324>>2])*(_[a>>2]=v,+p[a>>2]),l=d*(_[a>>2]=C,+p[a>>2]),l+=u*(_[a>>2]=g,+p[a>>2]),l+=f*(_[a>>2]=y,+p[a>>2]),u=(d*=(_[a>>2]=h,+p[a>>2]))+u*(_[a>>2]=m,+p[a>>2]),d=+p[o+52>>2],c=+p[o+56>>2],s=+p[o+60>>2],s=u+f*(_[a>>2]=A,+p[a>>2])+s-s,p[e>>2]=b+d-d,p[e+4>>2]=l+c-c,p[e+8>>2]=s,p[e+12>>2]=0,Dt(t+48+(84*i|0)|0,e+80|0,e+32|0,e+16|0,e,e+128|0,r+396|0,+p[r+344>>2],o+396|0,+p[o+344>>2]),p[n>>2]=0,i=i+1|0}while(3!=(0|i));Q=e},cl,jr,jr,function(t){var e,i,o=0,r=0,s=0,c=0,a=0,l=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0;e=Q,Q=Q+176|0,0|n[527+(t|=0)|0]?(p[t+36>>2]=0,p[t+520>>2]=0,p[t+516>>2]=0,_[t+576>>2]=0,_[t+576+4>>2]=0,_[t+576+8>>2]=0,_[t+576+12>>2]=0,0|n[t+524|0]||(C=0|_[t+28>>2],c=+p[t+348>>2],a=+p[t+352>>2],m=+p[t+356>>2],y=c*+p[C+20>>2]+a*+p[C+24>>2]+m*+p[C+28>>2]+ +p[C+56>>2],o=0|_[t+32>>2],l=+p[t+412>>2],A=+p[t+416>>2],h=+p[t+420>>2],g=l*+p[o+20>>2]+A*+p[o+24>>2]+h*+p[o+28>>2]+ +p[o+56>>2],f=l*+p[o+36>>2]+A*+p[o+40>>2]+h*+p[o+44>>2]+ +p[o+60>>2],u=c*+p[C+4>>2]+a*+p[C+8>>2]+m*+p[C+12>>2]+ +p[C+52>>2],m=c*+p[C+36>>2]+a*+p[C+40>>2]+m*+p[C+44>>2]+ +p[C+60>>2],((h=l*+p[o+4>>2]+A*+p[o+8>>2]+h*+p[o+12>>2]+ +p[o+52>>2])-u)*(h-u)+(g-y)*(g-y)+(f-m)*(f-m)>1.1920928955078125e-7?(s=1/+b(+((h-u)*(h-u)+(g-y)*(g-y)+(f-m)*(f-m))),p[e>>2]=(h-u)*s,p[e+4>>2]=(g-y)*s,p[e+8>>2]=(f-m)*s,_[e+12>>2]=0,c=(f-m)*s,r=(g-y)*s,s*=h-u):(_[e>>2]=1065353216,_[e+4>>2]=0,_[e+8>>2]=0,p[e+12>>2]=0,c=0,r=0,s=1),+d(+c)>.7071067690849304?(A=-s*(a=r*(v=1/+b(+(S=c*c+r*r)))),l=s*(c=-c*v),r=S*v,s=a,a=0):(S=s*(l=1/+b(+(v=s*s+r*r))),A=c*(a=-r*l),l*=v,r=-c*S,s=0,c=S),p[e+16>>2]=a,p[e+20>>2]=c,p[e+24>>2]=s,p[e+32>>2]=r,p[e+36>>2]=A,p[e+40>>2]=l,C=0|_[t+28>>2],_[e+128>>2]=_[C+4>>2],_[e+128+4>>2]=_[C+20>>2],_[e+128+8>>2]=_[C+36>>2],p[e+128+12>>2]=0,_[e+128+16>>2]=_[C+8>>2],_[e+128+20>>2]=_[C+24>>2],_[e+128+24>>2]=_[C+40>>2],p[e+128+28>>2]=0,_[e+128+32>>2]=_[C+12>>2],_[e+128+36>>2]=_[C+28>>2],_[e+128+40>>2]=_[C+44>>2],p[e+128+44>>2]=0,o=0|_[t+32>>2],_[e+80>>2]=_[o+4>>2],_[e+80+4>>2]=_[o+20>>2],_[e+80+8>>2]=_[o+36>>2],p[e+80+12>>2]=0,_[e+80+16>>2]=_[o+8>>2],_[e+80+20>>2]=_[o+24>>2],_[e+80+24>>2]=_[o+40>>2],p[e+80+28>>2]=0,_[e+80+32>>2]=_[o+12>>2],_[e+80+36>>2]=_[o+28>>2],_[e+80+40>>2]=_[o+44>>2],p[e+80+44>>2]=0,S=y-+p[C+56>>2],v=m-+p[C+60>>2],p[e+64>>2]=u-+p[C+52>>2],p[e+64+4>>2]=S,p[e+64+8>>2]=v,p[e+64+12>>2]=0,v=g-+p[o+56>>2],S=f-+p[o+60>>2],p[e+48>>2]=h-+p[o+52>>2],p[e+48+4>>2]=v,p[e+48+8>>2]=S,p[e+48+12>>2]=0,Dt(t+48|0,e+128|0,e+80|0,e+64|0,e+48|0,e,C+396|0,+p[C+344>>2],o+396|0,+p[o+344>>2]),o=0|_[t+28>>2],_[e+128>>2]=_[o+4>>2],_[e+128+4>>2]=_[o+20>>2],_[e+128+8>>2]=_[o+36>>2],p[e+128+12>>2]=0,_[e+128+16>>2]=_[o+8>>2],_[e+128+20>>2]=_[o+24>>2],_[e+128+24>>2]=_[o+40>>2],p[e+128+28>>2]=0,_[e+128+32>>2]=_[o+12>>2],_[e+128+36>>2]=_[o+28>>2],_[e+128+40>>2]=_[o+44>>2],p[e+128+44>>2]=0,C=0|_[t+32>>2],_[e+80>>2]=_[C+4>>2],_[e+80+4>>2]=_[C+20>>2],_[e+80+8>>2]=_[C+36>>2],p[e+80+12>>2]=0,_[e+80+16>>2]=_[C+8>>2],_[e+80+20>>2]=_[C+24>>2],_[e+80+24>>2]=_[C+40>>2],p[e+80+28>>2]=0,_[e+80+32>>2]=_[C+12>>2],_[e+80+36>>2]=_[C+28>>2],_[e+80+40>>2]=_[C+44>>2],p[e+80+44>>2]=0,S=y-+p[o+56>>2],v=m-+p[o+60>>2],p[e+64>>2]=u-+p[o+52>>2],p[e+64+4>>2]=S,p[e+64+8>>2]=v,p[e+64+12>>2]=0,v=g-+p[C+56>>2],S=f-+p[C+60>>2],p[e+48>>2]=h-+p[C+52>>2],p[e+48+4>>2]=v,p[e+48+8>>2]=S,p[e+48+12>>2]=0,Dt(t+132|0,e+128|0,e+80|0,e+64|0,e+48|0,e+16|0,o+396|0,+p[o+344>>2],C+396|0,+p[C+344>>2]),C=0|_[t+28>>2],_[e+128>>2]=_[C+4>>2],_[e+128+4>>2]=_[C+20>>2],_[e+128+8>>2]=_[C+36>>2],p[e+128+12>>2]=0,_[e+128+16>>2]=_[C+8>>2],_[e+128+20>>2]=_[C+24>>2],_[e+128+24>>2]=_[C+40>>2],p[e+128+28>>2]=0,_[e+128+32>>2]=_[C+12>>2],_[e+128+36>>2]=_[C+28>>2],_[e+128+40>>2]=_[C+44>>2],p[e+128+44>>2]=0,o=0|_[t+32>>2],_[e+80>>2]=_[o+4>>2],_[e+80+4>>2]=_[o+20>>2],_[e+80+8>>2]=_[o+36>>2],p[e+80+12>>2]=0,_[e+80+16>>2]=_[o+8>>2],_[e+80+20>>2]=_[o+24>>2],_[e+80+24>>2]=_[o+40>>2],p[e+80+28>>2]=0,_[e+80+32>>2]=_[o+12>>2],_[e+80+36>>2]=_[o+28>>2],_[e+80+40>>2]=_[o+44>>2],p[e+80+44>>2]=0,S=y-+p[C+56>>2],v=m-+p[C+60>>2],p[e+64>>2]=u-+p[C+52>>2],p[e+64+4>>2]=S,p[e+64+8>>2]=v,p[e+64+12>>2]=0,v=g-+p[o+56>>2],S=f-+p[o+60>>2],p[e+48>>2]=h-+p[o+52>>2],p[e+48+4>>2]=v,p[e+48+8>>2]=S,p[e+48+12>>2]=0,Dt(t+216|0,e+128|0,e+80|0,e+64|0,e+48|0,e+32|0,C+396|0,+p[C+344>>2],o+396|0,+p[o+344>>2])),o=t+32|0,ui(t,4+(i=0|_[t+28>>2])|0,4+(C=0|_[o>>2])|0,i+264|0,C+264|0),Q=e):Q=e},jr,function(t){var e,i=0,o=0,r=0,s=0,c=0,l=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0;if(e=Q,Q=Q+176|0,0|n[738+(t|=0)|0]){p[t+36>>2]=0,p[t+744>>2]=0,0|n[t+736|0]||(o=0|_[t+28>>2],c=+p[t+600>>2],l=+p[t+604>>2],h=+p[t+608>>2],g=c*+p[o+20>>2]+l*+p[o+24>>2]+h*+p[o+28>>2]+ +p[o+56>>2],r=0|_[t+32>>2],A=+p[t+664>>2],f=+p[t+668>>2],y=+p[t+672>>2],C=A*+p[r+20>>2]+f*+p[r+24>>2]+y*+p[r+28>>2]+ +p[r+56>>2],u=A*+p[r+36>>2]+f*+p[r+40>>2]+y*+p[r+44>>2]+ +p[r+60>>2],m=c*+p[o+4>>2]+l*+p[o+8>>2]+h*+p[o+12>>2]+ +p[o+52>>2],h=c*+p[o+36>>2]+l*+p[o+40>>2]+h*+p[o+44>>2]+ +p[o+60>>2],((y=A*+p[r+4>>2]+f*+p[r+8>>2]+y*+p[r+12>>2]+ +p[r+52>>2])-m)*(y-m)+(C-g)*(C-g)+(u-h)*(u-h)>1.1920928955078125e-7?(s=1/+b(+((y-m)*(y-m)+(C-g)*(C-g)+(u-h)*(u-h))),p[e>>2]=(y-m)*s,p[e+4>>2]=(C-g)*s,p[e+8>>2]=(u-h)*s,_[e+12>>2]=0,c=(u-h)*s,i=(C-g)*s,s*=y-m):(_[e>>2]=1065353216,_[e+4>>2]=0,_[e+8>>2]=0,p[e+12>>2]=0,c=0,i=0,s=1),+d(+c)>.7071067690849304?(f=-s*(l=i*(v=1/+b(+(S=c*c+i*i)))),A=s*(c=-c*v),i=S*v,s=l,l=0):(S=s*(A=1/+b(+(v=s*s+i*i))),f=c*(l=-i*A),A*=v,i=-c*S,s=0,c=S),p[e+16>>2]=l,p[e+20>>2]=c,p[e+24>>2]=s,p[e+32>>2]=i,p[e+36>>2]=f,p[e+40>>2]=A,o=0|_[t+28>>2],_[e+128>>2]=_[o+4>>2],_[e+128+4>>2]=_[o+20>>2],_[e+128+8>>2]=_[o+36>>2],p[e+128+12>>2]=0,_[e+128+16>>2]=_[o+8>>2],_[e+128+20>>2]=_[o+24>>2],_[e+128+24>>2]=_[o+40>>2],p[e+128+28>>2]=0,_[e+128+32>>2]=_[o+12>>2],_[e+128+36>>2]=_[o+28>>2],_[e+128+40>>2]=_[o+44>>2],p[e+128+44>>2]=0,r=0|_[t+32>>2],_[e+80>>2]=_[r+4>>2],_[e+80+4>>2]=_[r+20>>2],_[e+80+8>>2]=_[r+36>>2],p[e+80+12>>2]=0,_[e+80+16>>2]=_[r+8>>2],_[e+80+20>>2]=_[r+24>>2],_[e+80+24>>2]=_[r+40>>2],p[e+80+28>>2]=0,_[e+80+32>>2]=_[r+12>>2],_[e+80+36>>2]=_[r+28>>2],_[e+80+40>>2]=_[r+44>>2],p[e+80+44>>2]=0,S=g-+p[o+56>>2],v=h-+p[o+60>>2],p[e+64>>2]=m-+p[o+52>>2],p[e+64+4>>2]=S,p[e+64+8>>2]=v,p[e+64+12>>2]=0,v=C-+p[r+56>>2],S=u-+p[r+60>>2],p[e+48>>2]=y-+p[r+52>>2],p[e+48+4>>2]=v,p[e+48+8>>2]=S,p[e+48+12>>2]=0,Dt(t+48|0,e+128|0,e+80|0,e+64|0,e+48|0,e,o+396|0,+p[o+344>>2],r+396|0,+p[r+344>>2]),r=0|_[t+28>>2],_[e+128>>2]=_[r+4>>2],_[e+128+4>>2]=_[r+20>>2],_[e+128+8>>2]=_[r+36>>2],p[e+128+12>>2]=0,_[e+128+16>>2]=_[r+8>>2],_[e+128+20>>2]=_[r+24>>2],_[e+128+24>>2]=_[r+40>>2],p[e+128+28>>2]=0,_[e+128+32>>2]=_[r+12>>2],_[e+128+36>>2]=_[r+28>>2],_[e+128+40>>2]=_[r+44>>2],p[e+128+44>>2]=0,o=0|_[t+32>>2],_[e+80>>2]=_[o+4>>2],_[e+80+4>>2]=_[o+20>>2],_[e+80+8>>2]=_[o+36>>2],p[e+80+12>>2]=0,_[e+80+16>>2]=_[o+8>>2],_[e+80+20>>2]=_[o+24>>2],_[e+80+24>>2]=_[o+40>>2],p[e+80+28>>2]=0,_[e+80+32>>2]=_[o+12>>2],_[e+80+36>>2]=_[o+28>>2],_[e+80+40>>2]=_[o+44>>2],p[e+80+44>>2]=0,S=g-+p[r+56>>2],v=h-+p[r+60>>2],p[e+64>>2]=m-+p[r+52>>2],p[e+64+4>>2]=S,p[e+64+8>>2]=v,p[e+64+12>>2]=0,v=C-+p[o+56>>2],S=u-+p[o+60>>2],p[e+48>>2]=y-+p[o+52>>2],p[e+48+4>>2]=v,p[e+48+8>>2]=S,p[e+48+12>>2]=0,Dt(t+132|0,e+128|0,e+80|0,e+64|0,e+48|0,e+16|0,r+396|0,+p[r+344>>2],o+396|0,+p[o+344>>2]),o=0|_[t+28>>2],_[e+128>>2]=_[o+4>>2],_[e+128+4>>2]=_[o+20>>2],_[e+128+8>>2]=_[o+36>>2],p[e+128+12>>2]=0,_[e+128+16>>2]=_[o+8>>2],_[e+128+20>>2]=_[o+24>>2],_[e+128+24>>2]=_[o+40>>2],p[e+128+28>>2]=0,_[e+128+32>>2]=_[o+12>>2],_[e+128+36>>2]=_[o+28>>2],_[e+128+40>>2]=_[o+44>>2],p[e+128+44>>2]=0,r=0|_[t+32>>2],_[e+80>>2]=_[r+4>>2],_[e+80+4>>2]=_[r+20>>2],_[e+80+8>>2]=_[r+36>>2],p[e+80+12>>2]=0,_[e+80+16>>2]=_[r+8>>2],_[e+80+20>>2]=_[r+24>>2],_[e+80+24>>2]=_[r+40>>2],p[e+80+28>>2]=0,_[e+80+32>>2]=_[r+12>>2],_[e+80+36>>2]=_[r+28>>2],_[e+80+40>>2]=_[r+44>>2],p[e+80+44>>2]=0,S=g-+p[o+56>>2],v=h-+p[o+60>>2],p[e+64>>2]=m-+p[o+52>>2],p[e+64+4>>2]=S,p[e+64+8>>2]=v,p[e+64+12>>2]=0,v=C-+p[r+56>>2],S=u-+p[r+60>>2],p[e+48>>2]=y-+p[r+52>>2],p[e+48+4>>2]=v,p[e+48+8>>2]=S,p[e+48+12>>2]=0,Dt(t+216|0,e+128|0,e+80|0,e+64|0,e+48|0,e+32|0,o+396|0,+p[o+344>>2],r+396|0,+p[r+344>>2])),o=0|_[t+560>>2],r=0|_[t+576>>2],h=+p[t+592>>2],+d(+h)>.7071067690849304?(_[a>>2]=r,S=+p[a>>2],m=1/+b(+(h*h+S*S)),_[a>>2]=o,i=u=+p[a>>2],s=S,c=u*(-h*m),l=(h*h+S*S)*m,A=0,f=m*S,u*=-m*S,m*=-h):(_[a>>2]=o,m=+p[a>>2],_[a>>2]=r,i=m,s=u=+p[a>>2],c=(m*m+u*u)*(S=1/+b(+(m*m+u*u))),l=S*m*-h,A=-S*u,f=0,u=h*(-S*u),m*=S),o=0|_[t+28>>2],x=A*(E=+p[o+4>>2])+m*(P=+p[o+8>>2])+f*(I=+p[o+12>>2]),k=A*(L=+p[o+20>>2])+m*(j=+p[o+24>>2])+f*(O=+p[o+28>>2]),V=A*(N=+p[o+36>>2])+m*(y=+p[o+40>>2])+f*(W=+p[o+44>>2]),B=l*E+u*P+c*I,F=l*L+u*j+c*O,T=l*N+u*y+c*W,g=E*i+P*s+h*I,v=L*i+j*s+h*O,s=N*i+y*s+h*W,r=0|_[t+32>>2],R=+p[r+4>>2],w=+p[r+20>>2],c=+p[r+36>>2],u=+p[r+8>>2],m=+p[r+24>>2],C=+p[r+40>>2],A=+p[r+12>>2],h=+p[r+28>>2],M=+p[r+44>>2],_[t+300>>2]=0,_[t+300+4>>2]=0,_[t+300+8>>2]=0,_[t+300+12>>2]=0,p[t+316>>2]=x*E+k*L+V*N,p[t+320>>2]=x*P+k*j+V*y,p[t+324>>2]=x*I+k*O+V*W,p[t+328>>2]=0,p[t+332>>2]=R*-x+w*-k+c*-V,p[t+336>>2]=u*-x+m*-k+C*-V,p[t+340>>2]=A*-x+h*-k+M*-V,p[t+344>>2]=0,l=(x*E+k*L+V*N)*+p[o+396>>2],i=(x*P+k*j+V*y)*+p[o+400>>2],D=(x*I+k*O+V*W)*+p[o+404>>2],p[t+348>>2]=l,p[t+352>>2]=i,p[t+356>>2]=D,p[t+360>>2]=0,f=(R*-x+w*-k+c*-V)*+p[r+396>>2],S=(u*-x+m*-k+C*-V)*+p[r+400>>2],G=(A*-x+h*-k+M*-V)*+p[r+404>>2],p[t+364>>2]=f,p[t+368>>2]=S,p[t+372>>2]=G,p[t+376>>2]=0,p[t+380>>2]=(x*E+k*L+V*N)*l+(x*P+k*j+V*y)*i+(x*I+k*O+V*W)*D+((R*-x+w*-k+c*-V)*f+(u*-x+m*-k+C*-V)*S+(A*-x+h*-k+M*-V)*G),G=+p[o+4>>2],V=+p[o+20>>2],M=+p[o+36>>2],h=+p[o+8>>2],A=+p[o+24>>2],k=+p[o+40>>2],x=+p[o+12>>2],S=+p[o+28>>2],C=+p[o+44>>2],m=+p[r+4>>2],u=+p[r+20>>2],f=+p[r+36>>2],c=+p[r+8>>2],w=+p[r+24>>2],R=+p[r+40>>2],D=+p[r+12>>2],W=+p[r+28>>2],O=+p[r+44>>2],_[t+384>>2]=0,_[t+384+4>>2]=0,_[t+384+8>>2]=0,_[t+384+12>>2]=0,p[t+400>>2]=B*G+F*V+T*M,p[t+404>>2]=B*h+F*A+T*k,p[t+408>>2]=B*x+F*S+T*C,p[t+412>>2]=0,p[t+416>>2]=m*-B+u*-F+f*-T,p[t+420>>2]=c*-B+w*-F+R*-T,p[t+424>>2]=D*-B+W*-F+O*-T,p[t+428>>2]=0,i=(B*G+F*V+T*M)*+p[o+396>>2],I=(B*h+F*A+T*k)*+p[o+400>>2],y=(B*x+F*S+T*C)*+p[o+404>>2],p[t+432>>2]=i,p[t+436>>2]=I,p[t+440>>2]=y,p[t+444>>2]=0,l=(m*-B+u*-F+f*-T)*+p[r+396>>2],j=(c*-B+w*-F+R*-T)*+p[r+400>>2],P=(D*-B+W*-F+O*-T)*+p[r+404>>2],p[t+448>>2]=l,p[t+452>>2]=j,p[t+456>>2]=P,p[t+460>>2]=0,p[t+464>>2]=(B*G+F*V+T*M)*i+(B*h+F*A+T*k)*I+(B*x+F*S+T*C)*y+((m*-B+u*-F+f*-T)*l+(c*-B+w*-F+R*-T)*j+(D*-B+W*-F+O*-T)*P),P=+p[o+4>>2],T=+p[o+20>>2],O=+p[o+36>>2],F=+p[o+8>>2],W=+p[o+24>>2],B=+p[o+40>>2],D=+p[o+12>>2],j=+p[o+28>>2],R=+p[o+44>>2],w=+p[r+4>>2],c=+p[r+20>>2],l=+p[r+36>>2],f=+p[r+8>>2],u=+p[r+24>>2],m=+p[r+40>>2],y=+p[r+12>>2],C=+p[r+28>>2],S=+p[r+44>>2],_[t+468>>2]=0,_[t+468+4>>2]=0,_[t+468+8>>2]=0,_[t+468+12>>2]=0,p[t+484>>2]=g*P+v*T+s*O,p[t+488>>2]=g*F+v*W+s*B,p[t+492>>2]=g*D+v*j+s*R,p[t+496>>2]=0,p[t+500>>2]=w*-g+c*-v+l*-s,p[t+504>>2]=f*-g+u*-v+m*-s,p[t+508>>2]=y*-g+C*-v+S*-s,p[t+512>>2]=0,x=(g*P+v*T+s*O)*+p[o+396>>2],I=(g*F+v*W+s*B)*+p[o+400>>2],k=(g*D+v*j+s*R)*+p[o+404>>2],p[t+516>>2]=x,p[t+520>>2]=I,p[t+524>>2]=k,p[t+528>>2]=0,A=(w*-g+c*-v+l*-s)*+p[r+396>>2],h=(f*-g+u*-v+m*-s)*+p[r+400>>2],i=(y*-g+C*-v+S*-s)*+p[r+404>>2],p[t+532>>2]=A,p[t+536>>2]=h,p[t+540>>2]=i,p[t+544>>2]=0,p[t+548>>2]=(g*P+v*T+s*O)*x+(g*F+v*W+s*B)*I+(g*D+v*j+s*R)*k+((w*-g+c*-v+l*-s)*A+(f*-g+u*-v+m*-s)*h+(y*-g+C*-v+S*-s)*i),p[t+724>>2]=0,i=+Yi(t,o+4|0,r+4|0),p[t+728>>2]=i,p[t+708>>2]=0,p[t+712>>2]=0,n[t+716|0]=0,s=+p[t+692>>2];do{if(s>=0){if((i=(i-+p[t+688>>2])%6.2831854820251465)<-3.1415927410125732?i+=6.2831854820251465:i>3.1415927410125732&&(i+=-6.2831854820251465),i<-s){n[t+716|0]=1,p[t+708>>2]=-(s+i),p[t+712>>2]=1;break}i>s&&(n[t+716|0]=1,p[t+708>>2]=s-i,p[t+712>>2]=-1)}}while(0);o=0|_[t+28>>2],V=+p[t+560>>2],G=+p[t+576>>2],E=+p[t+592>>2],N=V*+p[o+4>>2]+G*+p[o+8>>2]+E*+p[o+12>>2],L=V*+p[o+20>>2]+G*+p[o+24>>2]+E*+p[o+28>>2],E=V*+p[o+36>>2]+G*+p[o+40>>2]+E*+p[o+44>>2],r=0|_[t+32>>2],p[t+720>>2]=1/(N*(N*+p[o+264>>2]+L*+p[o+280>>2]+E*+p[o+296>>2])+L*(N*+p[o+268>>2]+L*+p[o+284>>2]+E*+p[o+300>>2])+E*(N*+p[o+272>>2]+L*+p[o+288>>2]+E*+p[o+304>>2])+(N*(N*+p[r+264>>2]+L*+p[r+280>>2]+E*+p[r+296>>2])+L*(N*+p[r+268>>2]+L*+p[r+284>>2]+E*+p[r+300>>2])+E*(N*+p[r+272>>2]+L*+p[r+288>>2]+E*+p[r+304>>2]))),Q=e}else Q=e},At,function(t){At(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},function(t){_[192+(t|=0)>>2]=0},ce,function(t){ce(t|=0),yl(t)},ml,function(t){var e;_[(t|=0)>>2]=5772,0|(e=0|_[t+140>>2])&&(0|n[t+144|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+140>>2]=0),n[t+144|0]=1,_[t+140>>2]=0,_[t+132>>2]=0,_[t+136>>2]=0},function(t){var e;_[(t|=0)>>2]=5772,0|(e=0|_[t+140>>2])&&(0|n[t+144|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+140>>2]=0),n[t+144|0]=1,_[t+140>>2]=0,_[t+132>>2]=0,_[t+136>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])},function(t){0|Gl[127&_[40+(0|_[(t|=0)>>2])>>2]](t)&&(_[t+16>>2]=_[t+28>>2],n[t+169|0]=1)},ml,hl,ml,function(t){_[(t|=0)>>2]=5904},function(t){_[(t|=0)>>2]=5904,t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},function(t){var e;_[(t|=0)>>2]=5940,0|(e=0|_[t+276>>2])&&(0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+276>>2]=0),n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[t+272>>2]=0,_[t>>2]=5904},function(t){var e;_[(t|=0)>>2]=5940,0|(e=0|_[t+276>>2])&&(0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+276>>2]=0),n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[t+272>>2]=0,_[t>>2]=5904,_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])},Bn,function(t){Bn(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},function(t){var e;_[(t|=0)>>2]=6028,0|(e=0|_[t+20>>2])&&(0|n[t+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+20>>2]=0),n[t+24|0]=1,_[t+20>>2]=0,_[t+12>>2]=0,_[t+16>>2]=0},function(t){var e;_[(t|=0)>>2]=6028,(e=0|_[t+20>>2])&&0|n[t+24|0]?(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),yl(t)):yl(t)},hl,ml,H,function(t){H(t|=0),yl(t)},ml,ml,ml,ml,ml,ml,ml,ml,ml,ml,un,function(t){un(t|=0),yl(t)},function(t){var e;_[(t|=0)>>2]=6376,0|n[t+8|0]&&(e=0|_[t+12>>2])&&(t=0|_[t+4>>2],ed[127&_[16+(0|_[t>>2])>>2]](t,e))},function(t){var e,i;_[(t|=0)>>2]=6376,0|n[t+8|0]&&(e=0|_[t+12>>2])?(i=0|_[t+4>>2],ed[127&_[16+(0|_[i>>2])>>2]](i,e),yl(t)):yl(t)},function(t){var e=0;_[(t|=0)>>2]=6404,_[t+12>>2]=6452,e=0|_[t+60>>2],ed[127&_[20+(0|_[e>>2])>>2]](e,0|_[t+76>>2]),e=0|_[t+60>>2],ed[127&_[16+(0|_[e>>2])>>2]](e,0|_[t+76>>2])},function(t){var e=0;_[(t|=0)>>2]=6404,_[t+12>>2]=6452,e=0|_[t+60>>2],ed[127&_[20+(0|_[e>>2])>>2]](e,0|_[t+76>>2]),e=0|_[t+60>>2],ed[127&_[16+(0|_[e>>2])>>2]](e,0|_[t+76>>2]),yl(t)},ml,function(t){var e=0;_[(t|=0)>>2]=6452,e=0|_[t+48>>2],ed[127&_[20+(0|_[e>>2])>>2]](e,0|_[t+64>>2]),e=0|_[t+48>>2],ed[127&_[16+(0|_[e>>2])>>2]](e,0|_[t+64>>2])},function(t){var e=0;_[(t|=0)>>2]=6452,e=0|_[t+48>>2],ed[127&_[20+(0|_[e>>2])>>2]](e,0|_[t+64>>2]),e=0|_[t+48>>2],ed[127&_[16+(0|_[e>>2])>>2]](e,0|_[t+64>>2]),yl(t)},function(t){var e;_[(t|=0)>>2]=6472,0|n[t+8|0]&&(e=0|_[t+12>>2])&&(t=0|_[t+4>>2],ed[127&_[16+(0|_[t>>2])>>2]](t,e))},function(t){var e,i;_[(t|=0)>>2]=6472,0|n[t+8|0]&&(e=0|_[t+12>>2])?(i=0|_[t+4>>2],ed[127&_[16+(0|_[i>>2])>>2]](i,e),yl(t)):yl(t)},hl,ml,cn,function(t){cn(t|=0),yl(t)},Me,ml,ml,ml,ml,ml,hl,ml,hl,function(t){yl((t|=0)-4|0)},ml,ml,ml,ml,ml,ml,function(t){var e;_[(t|=0)>>2]=6900,0|n[t+8|0]&&(e=0|_[t+12>>2])&&(t=0|_[t+4>>2],ed[127&_[16+(0|_[t>>2])>>2]](t,e))},function(t){var e,i;_[(t|=0)>>2]=6900,0|n[t+8|0]&&(e=0|_[t+12>>2])?(i=0|_[t+4>>2],ed[127&_[16+(0|_[i>>2])>>2]](i,e),yl(t)):yl(t)},hl,ml,function(t){var e;_[(t|=0)>>2]=6948,0|n[t+16|0]&&(e=0|_[t+20>>2])&&(t=0|_[t+4>>2],ed[127&_[16+(0|_[t>>2])>>2]](t,e))},function(t){var e,i;_[(t|=0)>>2]=6948,0|n[t+16|0]&&(e=0|_[t+20>>2])?(i=0|_[t+4>>2],ed[127&_[16+(0|_[i>>2])>>2]](i,e),yl(t)):yl(t)},ml,ml,ml,Cn,function(t){Cn(t|=0),yl(t)},ml,_n,function(t){_n(t|=0),yl(t)},ml,Tn,function(t){Tn(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},function(t){var e,i=0,n=0,o=0,r=0;if(e=Q,Q=Q+32|0,_[32+(t|=0)>>2]=1566444395,_[t+36>>2]=1566444395,_[t+40>>2]=1566444395,p[t+44>>2]=0,_[t+48>>2]=-581039253,_[t+52>>2]=-581039253,_[t+56>>2]=-581039253,p[t+60>>2]=0,(0|_[t+16>>2])<=0)Q=e;else{n=0;do{o=0|_[t+24>>2],r=0|_[o+(80*n|0)+64>>2],pd[127&_[8+(0|_[r>>2])>>2]](r,o+(80*n|0)|0,e+16|0,e),i=+p[e+16>>2],+p[t+32>>2]>i&&(p[t+32>>2]=i),i=+p[e>>2],+p[t+48>>2]>2]=i),i=+p[e+16+4>>2],+p[t+36>>2]>i&&(p[t+36>>2]=i),i=+p[e+4>>2],+p[t+52>>2]>2]=i),i=+p[e+16+8>>2],+p[t+40>>2]>i&&(p[t+40>>2]=i),i=+p[e+8>>2],+p[t+56>>2]>2]=i),n=n+1|0}while((0|n)<(0|_[t+16>>2]));Q=e}},gs,gs,gs,gs,function(t){var e;_[(t|=0)>>2]=7668,0|n[t+61|0]&&(e=0|_[t+52>>2],Xl[511&_[_[e>>2]>>2]](e),(t=0|_[t+52>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])))},function(t){var e=0;_[(t|=0)>>2]=7668,0|n[t+61|0]&&(e=0|_[t+52>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+52>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])},hl,ml,ml,ml,hl,gs,ml,hl,ml,hl,gs,cl,cl,function(t){var e=0;_[(t|=0)>>2]=8252,0|(e=0|_[t+104>>2])&&(0|n[t+108|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+104>>2]=0),n[t+108|0]=1,_[t+104>>2]=0,_[t+96>>2]=0,_[t+100>>2]=0,_[t>>2]=8020,(e=0|_[t+52>>2])&&(Xl[511&_[_[e>>2]>>2]](e),(e=0|_[t+52>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])))},function(t){var e=0,i=0;_[(t|=0)>>2]=8252,0|(e=0|_[t+104>>2])&&(0|n[t+108|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+104>>2]=0),n[t+108|0]=1,_[t+104>>2]=0,_[t+96>>2]=0,_[t+100>>2]=0,_[t>>2]=8020,0|(e=0|_[t+52>>2])&&(Xl[511&_[_[e>>2]>>2]](e),0|(i=0|_[t+52>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])},gs,gs,gs,wo,ml,wo,function(t){pe(t|=0)},wr,ml,ml,function(t){_[(t|=0)>>2]=9056},function(t){_[(t|=0)>>2]=9056,t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},gs,gs,gs,se,function(t){se(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},en,gr,hl,gr,function(t){var e;_[(t|=0)>>2]=9644,0|(e=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0},function(t){var e;_[(t|=0)>>2]=9644,(e=0|_[t+16>>2])&&0|n[t+20|0]?(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),yl(t)):yl(t)},fn,function(t){fn(t|=0),yl(t)},ml,ml,Co,function(t){Co(t|=0),yl(t)},hl,ml,ml,ml,pe,wr,cl,hl,ml,ml,ml,ml,ml,ml,hl,ml,hl,ml,function(t){var e;_[(t|=0)>>2]=10252,0|n[t+8|0]&&(e=0|_[t+12>>2])&&(t=0|_[t+4>>2],ed[127&_[16+(0|_[t>>2])>>2]](t,e))},function(t){var e,i;_[(t|=0)>>2]=10252,0|n[t+8|0]&&(e=0|_[t+12>>2])?(i=0|_[t+4>>2],ed[127&_[16+(0|_[i>>2])>>2]](i,e),yl(t)):yl(t)},ml,ml,mn,function(t){mn(t|=0),yl(t)},re,function(t){re(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},function(t){var e;_[(t|=0)>>2]=10364,0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0},function(t){var e;_[(t|=0)>>2]=10364,0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])},hl,ml,hl,hl,ml,ml,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl],zl=[fl,function(t,e){e=+e;var i,o,r,s,c=0,l=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,N=0,L=0,E=0,H=0,Z=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,bt=0;if(s=Q,Q=Q+240|0,(0|(c=0|_[24+(t|=0)>>2]))<=0)Q=s;else{i=s+128+76|0,o=s+80+16|0,r=s+80+32|0,P=0;do{switch(T=0|_[(0|_[t+32>>2])+(P<<2)>>2],0|_[T+216>>2]){case 2:case 5:break;default:if(0|n[T+924|0]){if(n[T+924|0]=0,(0|(l=0|_[T+732>>2]))>0){A=0|_[T+740>>2],c=0;do{I=0|_[A+(52*c|0)+8>>2],B=0|_[A+(52*c|0)+12>>2],F=+p[I+8>>2]-+p[B+8>>2],x=+p[I+12>>2]-+p[B+12>>2],O=+p[I+16>>2]-+p[B+16>>2],O=+b(+(F*F+x*x+O*O)),p[A+(52*c|0)+16>>2]=O,p[A+(52*c|0)+28>>2]=O*O,c=c+1|0}while((0|c)!=(0|l));c=0;do{p[A+(52*c|0)+24>>2]=(+p[88+(0|_[A+(52*c|0)+8>>2])>>2]+ +p[88+(0|_[A+(52*c|0)+12>>2])>>2])/+p[4+(0|_[A+(52*c|0)+4>>2])>>2],c=c+1|0}while((0|c)!=(0|l))}if(_t(T),0|(c=0|_[T+988>>2])&&Yn(T+988|0,c),0|(c=0|_[T+992>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[T+992>>2]=0,_[T+996>>2]=-1,0|(c=0|_[T+1020>>2])&&(0|n[T+1024|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[T+1020>>2]=0),n[T+1024|0]=1,_[T+1020>>2]=0,_[T+1012>>2]=0,_[T+1016>>2]=0,_[T+1004>>2]=0,16&_[T+388>>2]&&(0|(c=0|_[T+988>>2])&&Yn(T+988|0,c),0|(c=0|_[T+992>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[T+992>>2]=0,_[T+996>>2]=-1,0|(c=0|_[T+1020>>2])&&(0|n[T+1024|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[T+1020>>2]=0),n[T+1024|0]=1,_[T+1020>>2]=0,_[T+1012>>2]=0,_[T+1016>>2]=0,_[T+1004>>2]=0,(0|_[T+752>>2])>0)){l=0;do{if(k=(A=0|_[T+760>>2])+(44*l|0)|0,I=0|_[A+(44*l|0)+8>>2],B=0|_[A+(44*l|0)+12>>2],c=0|_[A+(44*l|0)+16>>2],g=+p[I+8>>2],C=+p[I+12>>2],v=+p[I+16>>2],h=+p[I+20>>2],f=(W=+p[B+8>>2])>2])>2])>2])>2])>2])>2])>2])>2])_[T+992>>2]=0;else{_[6630]=1+(0|_[6630]),(c=0|di(63))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,I=(D=c)+44|0;do{_[D>>2]=0,D=D+4|0}while((0|D)<(0|I))}_[c+32>>2]=0,_[c+36>>2]=k,_[c+40>>2]=0,p[c>>2]=f,p[c+4>>2]=y,p[c+8>>2]=u,p[c+12>>2]=m,p[c+16>>2]=g,p[c+20>>2]=C,p[c+24>>2]=v,p[c+28>>2]=h,U(T+988|0,0|_[T+988>>2],c),_[T+1e3>>2]=1+(0|_[T+1e3>>2]),_[A+(44*l|0)+40>>2]=c,l=l+1|0}while((0|l)<(0|_[T+752>>2]))}}if(m=+p[T+368>>2]*e,p[T+452>>2]=m,p[T+456>>2]=1/m,p[T+460>>2]=3*m,l=0|_[T+192>>2],m=+Il[15&_[48+(0|_[l>>2])>>2]](l),p[T+464>>2]=m,p[T+468>>2]=.25*m,l=0|_[T+684>>2],m=+p[T+452>>2],f=+p[l+40>>2]*m,u=m*+p[l+44>>2],m*=+p[l+48>>2],(0|(l=0|_[T+712>>2]))>0){A=0|_[T+720>>2],c=0;do{+p[A+(104*c|0)+88>>2]>0&&(p[(B=A+(104*c|0)+40|0)>>2]=f+ +p[B>>2],p[(B=A+(104*c|0)+44|0)>>2]=u+ +p[B>>2],p[(B=A+(104*c|0)+48|0)>>2]=m+ +p[B>>2]),c=c+1|0}while((0|c)!=(0|l))}if($i(13440),y=+p[T+308>>2],g=+p[T+312>>2],k=+p[T+304>>2]>0?1:+p[T+300>>2]>0,D=0|_[T+712>>2],0!=y|g>0){if((0|D)>0){if(l=0|_[T+720>>2],u=+p[l+8>>2],m=+p[l+12>>2],h=+p[l+16>>2],(0|(l=0|_[T+752>>2]))>0){A=0|_[T+760>>2],c=0,f=0;do{B=0|_[A+(44*c|0)+8>>2],I=0|_[A+(44*c|0)+12>>2],x=+p[I+8>>2]-u,R=+p[I+12>>2]-m,W=+p[I+16>>2]-h,I=0|_[A+(44*c|0)+16>>2],F=+p[I+8>>2]-u,j=+p[I+12>>2]-m,O=+p[I+16>>2]-h,f+=(+p[B+16>>2]-h)*(x*j-R*F)+((+p[B+8>>2]-u)*(R*O-W*j)+(+p[B+12>>2]-m)*(W*F-x*O)),c=c+1|0}while((0|c)!=(0|l))}else f=0;f/=6}else f=0;u=y*(1/+d(+f)),f=g*(+p[T+476>>2]-f)}else f=0,u=0;if((0|D)>0)if(k){c=0;do{l=0|_[T+720>>2],+p[l+(104*c|0)+88>>2]>0&&(qe(T,T+1212|0,c),0!=y&&(x=(F=u*+p[l+(104*c|0)+92>>2])*+p[l+(104*c|0)+76>>2],O=F*+p[l+(104*c|0)+80>>2],p[(B=l+(104*c|0)+56|0)>>2]=+p[l+(104*c|0)+72>>2]*F+ +p[B>>2],p[(B=l+(104*c|0)+60|0)>>2]=x+ +p[B>>2],p[(B=l+(104*c|0)+64|0)>>2]=O+ +p[B>>2]),g>0&&(x=(F=f*+p[l+(104*c|0)+92>>2])*+p[l+(104*c|0)+76>>2],O=F*+p[l+(104*c|0)+80>>2],p[(B=l+(104*c|0)+56|0)>>2]=+p[l+(104*c|0)+72>>2]*F+ +p[B>>2],p[(B=l+(104*c|0)+60|0)>>2]=x+ +p[B>>2],p[(B=l+(104*c|0)+64|0)>>2]=O+ +p[B>>2])),c=c+1|0}while((0|c)!=(0|D))}else{l=0|_[T+720>>2],c=0;do{+p[l+(104*c|0)+88>>2]>0&&(0!=y&&(x=(F=u*+p[l+(104*c|0)+92>>2])*+p[l+(104*c|0)+76>>2],O=F*+p[l+(104*c|0)+80>>2],p[(B=l+(104*c|0)+56|0)>>2]=+p[l+(104*c|0)+72>>2]*F+ +p[B>>2],p[(B=l+(104*c|0)+60|0)>>2]=x+ +p[B>>2],p[(B=l+(104*c|0)+64|0)>>2]=O+ +p[B>>2]),g>0&&(x=(F=f*+p[l+(104*c|0)+92>>2])*+p[l+(104*c|0)+76>>2],O=F*+p[l+(104*c|0)+80>>2],p[(B=l+(104*c|0)+56|0)>>2]=+p[l+(104*c|0)+72>>2]*F+ +p[B>>2],p[(B=l+(104*c|0)+60|0)>>2]=x+ +p[B>>2],p[(B=l+(104*c|0)+64|0)>>2]=O+ +p[B>>2])),c=c+1|0}while((0|c)!=(0|D))}if((0|(l=0|_[T+752>>2]))>0){c=0;do{W=+p[T+452>>2],C=+p[T+304>>2],h=+p[T+300>>2];t:do{if(C>0|h>0&&(M=0|_[T+288>>2],(0|M)>3)&&(V=0|_[T+760>>2],N=0|_[V+(44*c|0)+8>>2],L=0|_[V+(44*c|0)+12>>2],E=+p[N+40>>2],H=+p[N+44>>2],Z=+p[N+48>>2],Y=0|_[V+(44*c|0)+16>>2],J=0|_[_[T+684>>2]>>2],X=.3333333432674408*(E+ +p[L+40>>2]+ +p[Y+40>>2])-+p[T+1212>>2],z=.3333333432674408*(H+ +p[L+44>>2]+ +p[Y+44>>2])-+p[T+1216>>2],K=.3333333432674408*(Z+ +p[L+48>>2]+ +p[Y+48>>2])-+p[T+1220>>2],q=+b(+(X*X+z*z+K*K)),X*X+z*z+K*K>1.1920928955078125e-7)){switch(w=X*(1/q),R=z*(1/q),j=K*(1/q),g=+p[V+(44*c|0)+20>>2],v=+p[V+(44*c|0)+24>>2],S=+p[V+(44*c|0)+28>>2],0|M){case 5:break;case 4:case 6:if(!(K*(S*(f=X*g+z*v+K*S<0?-1:1))+(X*(g*f)+z*(v*f))>0))break t;if(w=.3333333432674408*(w*(h*(y=-(X*X+z*z+K*K)*((K*(S*f)+(X*(g*f)+z*(v*f)))*+p[V+(44*c|0)+36>>2])*(_[a>>2]=J,+p[a>>2])))+(g*f*(C*y)+0)),v=.3333333432674408*(R*(h*y)+(v*f*(C*y)+0)),g=1/+b(+((y=.3333333432674408*(j*(h*y)+(S*f*(C*y)+0)))*y+(w*w+v*v))),y*(f=W*+p[N+88>>2])*(y*f)+(w*f*(w*f)+v*f*(v*f))>E*E+H*H+Z*Z?(p[N+56>>2]=+p[N+56>>2]-1/f*(w*g*(w*g*E+v*g*H+y*g*Z)),p[N+60>>2]=+p[N+60>>2]-1/f*(v*g*(w*g*E+v*g*H+y*g*Z)),p[N+64>>2]=+p[N+64>>2]-1/f*(y*g*(w*g*E+v*g*H+y*g*Z))):(p[N+56>>2]=w+ +p[N+56>>2],p[N+60>>2]=v+ +p[N+60>>2],p[N+64>>2]=y+ +p[N+64>>2]),y*(f=W*+p[L+88>>2])*(y*f)+(w*f*(w*f)+v*f*(v*f))>(u=+p[L+40>>2])*u+(m=+p[L+44>>2])*m+(h=+p[L+48>>2])*h?(p[L+56>>2]=+p[L+56>>2]-1/f*(w*g*(w*g*u+v*g*m+y*g*h)),p[L+60>>2]=+p[L+60>>2]-1/f*(v*g*(w*g*u+v*g*m+y*g*h)),p[L+64>>2]=+p[L+64>>2]-1/f*(y*g*(w*g*u+v*g*m+y*g*h))):(p[L+56>>2]=w+ +p[L+56>>2],p[L+60>>2]=v+ +p[L+60>>2],p[L+64>>2]=y+ +p[L+64>>2]),y*(f=W*+p[Y+88>>2])*(y*f)+(w*f*(w*f)+v*f*(v*f))>(u=+p[Y+40>>2])*u+(m=+p[Y+44>>2])*m+(h=+p[Y+48>>2])*h){p[Y+56>>2]=+p[Y+56>>2]-1/f*(w*g*(w*g*u+v*g*m+y*g*h)),p[Y+60>>2]=+p[Y+60>>2]-1/f*(v*g*(w*g*u+v*g*m+y*g*h)),p[Y+64>>2]=+p[Y+64>>2]-1/f*(y*g*(w*g*u+v*g*m+y*g*h));break t}p[Y+56>>2]=w+ +p[Y+56>>2],p[Y+60>>2]=v+ +p[Y+60>>2],p[Y+64>>2]=y+ +p[Y+64>>2];break t;default:break t}f=j*(S*(y=X*g+z*v+K*S<0?-1:1))+(w*(g*y)+R*(v*y)),u=.5*+p[V+(44*c|0)+36>>2],_[a>>2]=J,h=f*(.5*h*(m=+p[a>>2])*(X*X+z*z+K*K)*u),f>0&f<.9847999811172485?(x=(j*(w*(S*y)-j*(g*y))-R*(R*(g*y)-w*(v*y)))*(F=+b(+(1-f*f))*(.5*C*m*q*u))*.3333333432674408,O=(w*(R*(g*y)-w*(v*y))-j*(j*(v*y)-R*(S*y)))*F*.3333333432674408,F=(R*(j*(v*y)-R*(S*y))-w*(w*(S*y)-j*(g*y)))*F*.3333333432674408):(x=0,O=0,F=0),(f=+p[N+88>>2])>0?((f=j*h*-.3333333432674408*f*W*(j*h*-.3333333432674408*f*W)+(w*h*-.3333333432674408*f*W*(w*h*-.3333333432674408*f*W)+R*h*-.3333333432674408*f*W*(R*h*-.3333333432674408*f*W)))>0&&f>=E*E+H*H+Z*Z?(m=w*h*-.3333333432674408*(f=+b(+(E*E+H*H+Z*Z))/+b(+f)*.800000011920929),u=R*h*-.3333333432674408*f,f*=j*h*-.3333333432674408):(m=w*h*-.3333333432674408,u=R*h*-.3333333432674408,f=j*h*-.3333333432674408),j=u+ +p[N+60>>2],W=f+ +p[N+64>>2],p[N+56>>2]=x+(m+ +p[N+56>>2]),p[N+60>>2]=O+j,p[N+64>>2]=F+W):(m=w*h*-.3333333432674408,u=R*h*-.3333333432674408,f=j*h*-.3333333432674408),(h=+p[L+88>>2])>0&&(v=m*h*(y=+p[T+452>>2]),S=u*h*y,h=f*h*y,y=+p[L+40>>2],g=+p[L+44>>2],C=+p[L+48>>2],h*h+(v*v+S*S)>0&&h*h+(v*v+S*S)>=y*y+g*g+C*C&&(m*=W=+b(+(y*y+g*g+C*C))/+b(+(h*h+(v*v+S*S)))*.800000011920929,u*=W,f*=W),j=u+ +p[L+60>>2],W=f+ +p[L+64>>2],p[L+56>>2]=x+(m+ +p[L+56>>2]),p[L+60>>2]=O+j,p[L+64>>2]=F+W),(h=+p[Y+88>>2])>0&&(v=m*h*(y=+p[T+452>>2]),S=u*h*y,h=f*h*y,y=+p[Y+40>>2],g=+p[Y+44>>2],C=+p[Y+48>>2],h*h+(v*v+S*S)>0&&h*h+(v*v+S*S)>=y*y+g*g+C*C&&(m*=W=+b(+(y*y+g*g+C*C))/+b(+(h*h+(v*v+S*S)))*.800000011920929,u*=W,f*=W),j=u+ +p[Y+60>>2],W=f+ +p[Y+64>>2],p[Y+56>>2]=x+(m+ +p[Y+56>>2]),p[Y+60>>2]=O+j,p[Y+64>>2]=F+W)}}while(0);c=c+1|0}while((0|c)!=(0|l))}c=0|_[2606],B=(0|_[c+16>>2])-1|0,_[c+16>>2]=B;do{if(!B){if(0|_[c+4>>2]){if(G(s+128|0,0),B=0|_[6629],p[c+8>>2]=+p[c+8>>2]+ +(((0|_[s+128+4>>2])-(0|_[B+4>>2])+(1e6*((0|_[s+128>>2])-(0|_[B>>2])|0)|0)-(0|_[c+12>>2])|0)>>>0)/1e3,0|_[c+16>>2])break;c=0|_[2606]}_[2606]=_[c+20>>2]}}while(0);if((0|(l=0|_[T+712>>2]))>0){c=0;do{D=(I=0|_[T+720>>2])+(104*c|0)+8|0,_[(B=I+(104*c|0)+24|0)>>2]=_[D>>2],_[B+4>>2]=_[D+4>>2],_[B+8>>2]=_[D+8>>2],_[B+12>>2]=_[D+12>>2],B=I+(104*c|0)+56|0,x=+p[I+(104*c|0)+88>>2],O=+p[T+452>>2],W=+p[B>>2]*x*O,F=x*+p[I+(104*c|0)+60>>2]*O,x=O*(x*+p[I+(104*c|0)+64>>2]),F=F>(O=+p[12+(0|_[T+684>>2])>>2]/O)?O:F,x=x>O?O:x,W=((W=W>O?O:W)<-O?-O:W)+ +p[(k=I+(104*c|0)+40|0)>>2],p[k>>2]=W,F=(F<-O?-O:F)+ +p[(k=I+(104*c|0)+44|0)>>2],p[k>>2]=F,x=(x<-O?-O:x)+ +p[(k=I+(104*c|0)+48|0)>>2],p[k>>2]=x,O=+p[T+452>>2],p[D>>2]=W*O+ +p[D>>2],p[(D=I+(104*c|0)+12|0)>>2]=F*O+ +p[D>>2],p[(I=I+(104*c|0)+16|0)>>2]=x*O+ +p[I>>2],_[B>>2]=0,_[B+4>>2]=0,_[B+8>>2]=0,_[B+12>>2]=0,c=c+1|0}while((0|c)!=(0|l))}if(Ri(T),(c=0|_[T+928>>2])?(B=0|_[T+192>>2],F=+Il[15&_[48+(0|_[B>>2])>>2]](B),O=+p[c+4>>2]-F,x=+p[c+8>>2]-F,p[T+892>>2]=+p[c>>2]-F,p[T+896>>2]=O,p[T+900>>2]=x,p[T+904>>2]=0,x=F+ +p[c+20>>2],O=F+ +p[c+24>>2],p[T+908>>2]=F+ +p[c+16>>2],p[T+912>>2]=x,p[T+916>>2]=O,p[T+920>>2]=0,0|(c=0|_[T+188>>2])&&(B=0|_[T+684>>2],I=0|_[B+32>>2],dd[31&_[16+(0|_[I>>2])>>2]](I,c,T+892|0,T+908|0,0|_[B+36>>2]))):(_[T+892>>2]=0,_[T+892+4>>2]=0,_[T+892+8>>2]=0,_[T+892+12>>2]=0,_[T+892+16>>2]=0,_[T+892+20>>2]=0,_[T+892+24>>2]=0,_[T+892+28>>2]=0),(0|(l=0|_[T+712>>2]))>0){c=0;do{I=0|_[T+720>>2],x=+p[T+464>>2],W=+p[I+(104*c|0)+8>>2],O=+p[I+(104*c|0)+12>>2],F=+p[I+(104*c|0)+16>>2],p[s>>2]=W-x,p[s+4>>2]=O-x,p[s+8>>2]=F-x,p[s+12>>2]=0,p[s+16>>2]=x+W,p[s+20>>2]=x+O,p[s+24>>2]=x+F,p[s+28>>2]=0,B=0|_[I+(104*c|0)+96>>2],x=(F=+p[T+460>>2])*+p[I+(104*c|0)+44>>2],O=F*+p[I+(104*c|0)+48>>2],p[s+128>>2]=+p[I+(104*c|0)+40>>2]*F,p[s+128+4>>2]=x,p[s+128+8>>2]=O,p[s+128+12>>2]=0,Lt(T+928|0,B,s,s+128|0,+p[T+468>>2]),c=c+1|0}while((0|c)!=(0|l))}if(0|_[T+988>>2]&&(0|_[T+752>>2])>0){c=0;do{B=0|_[T+760>>2],k=0|_[B+(44*c|0)+8>>2],D=0|_[B+(44*c|0)+12>>2],I=0|_[B+(44*c|0)+16>>2],W=.3333333432674408*(+p[k+40>>2]+ +p[D+40>>2]+ +p[I+40>>2]),F=.3333333432674408*(+p[k+44>>2]+ +p[D+44>>2]+ +p[I+44>>2]),x=.3333333432674408*(+p[k+48>>2]+ +p[D+48>>2]+ +p[I+48>>2]),S=+p[T+464>>2],g=+p[k+8>>2],v=+p[k+12>>2],R=+p[k+16>>2],O=+p[k+20>>2],f=(j=+p[D+8>>2])>2])>2])>2])>2],C=+p[I+12>>2],w=+p[I+16>>2],j=+p[I+20>>2],p[s>>2]=(y>2]=(C>2]=(w>2]=j>2]=S+(g>2]=S+(v>2]=S+(R>2]=O>2],O=+p[T+460>>2],p[s+128>>2]=W*O,p[s+128+4>>2]=F*O,p[s+128+8>>2]=x*O,p[s+128+12>>2]=0,Lt(T+988|0,B,s,s+128|0,+p[T+468>>2]),c=c+1|0}while((0|c)<(0|_[T+752>>2]))}do{if(0|n[T+473|0]){if((0|(B=0|_[T+712>>2]))>0){l=0|_[T+720>>2],A=0|_[T+512>>2],c=0,f=0,u=0,m=0;do{O=+p[A+(c<<2)>>2],f+=+p[l+(104*c|0)+8>>2]*O,u+=O*+p[l+(104*c|0)+12>>2],m+=O*+p[l+(104*c|0)+16>>2],c=c+1|0}while((0|c)!=(0|B))}else f=0,u=0,m=0;p[T+520>>2]=f,p[T+524>>2]=u,p[T+528>>2]=m,p[T+532>>2]=0,I=44+(D=s+128+4|0)|0;do{_[D>>2]=0,D=D+4|0}while((0|D)<(0|I));if(p[s+128>>2]=1.1920928955078125e-7,p[s+128+20>>2]=2.384185791015625e-7,p[s+128+40>>2]=3.5762786865234375e-7,(0|B)>0){l=0|_[T+512>>2],A=0|_[T+720>>2],k=0|_[T+492>>2],c=0,h=1.1920928955078125e-7,y=0,g=0,C=0,v=2.384185791015625e-7,S=0,w=0,R=0,j=3.5762786865234375e-7;do{x=+p[l+(c<<2)>>2],tt=(+p[A+(104*c|0)+8>>2]-f)*x,$=(+p[A+(104*c|0)+12>>2]-u)*x,x*=+p[A+(104*c|0)+16>>2]-m,h=tt*(W=+p[k+(c<<4)>>2])+h,y=tt*(F=+p[k+(c<<4)+4>>2])+y,g=tt*(O=+p[k+(c<<4)+8>>2])+g,C=$*W+C,v=$*F+v,S=$*O+S,w=x*W+w,R=x*F+R,j=x*O+j,c=c+1|0}while((0|c)!=(0|B));p[s+128>>2]=h,p[s+128+4>>2]=y,p[s+128+8>>2]=g,p[s+128+16>>2]=C,p[s+128+20>>2]=v,p[s+128+24>>2]=S,p[s+128+32>>2]=w,p[s+128+36>>2]=R,p[s+128+40>>2]=j}if(!(0|n[24472])&&0|Qs(24472)&&(p[6278]=9999999747378752e-20,_[6279]=16),Fi(s+128|0,s+80|0,s+32|0),_[T+536>>2]=_[s+80>>2],_[T+536+4>>2]=_[s+80+4>>2],_[T+536+8>>2]=_[s+80+8>>2],_[T+536+12>>2]=_[s+80+12>>2],_[T+552>>2]=_[o>>2],_[T+552+4>>2]=_[o+4>>2],_[T+552+8>>2]=_[o+8>>2],_[T+552+12>>2]=_[o+12>>2],_[T+568>>2]=_[r>>2],_[T+568+4>>2]=_[r+4>>2],_[T+568+8>>2]=_[r+8>>2],_[T+568+12>>2]=_[r+12>>2],rt=+p[s+80>>2],et=+p[o>>2],F=+p[r>>2],ot=+p[s+80+4>>2],R=+p[s+80+20>>2],O=+p[s+80+36>>2],nt=+p[s+80+8>>2],j=+p[s+80+24>>2],tt=+p[s+80+40>>2],y=+p[T+632>>2],h=+p[T+636>>2],m=+p[T+640>>2],bt=+p[T+648>>2],lt=+p[T+652>>2],g=+p[T+656>>2],x=+p[T+664>>2],$=+p[T+668>>2],w=+p[T+672>>2],f=(rt*y+ot*h+nt*m)*(at=+p[s+128>>2])+(et*y+R*h+j*m)*(ct=+p[s+128+16>>2])+(F*y+O*h+tt*m)*(C=+p[s+128+32>>2]),u=(rt*y+ot*h+nt*m)*(pt=+p[s+128+4>>2])+(et*y+R*h+j*m)*(st=+p[s+128+20>>2])+(F*y+O*h+tt*m)*(v=+p[s+128+36>>2]),m=(rt*y+ot*h+nt*m)*(it=+p[s+128+8>>2])+(et*y+R*h+j*m)*(W=+p[s+128+24>>2])+(F*y+O*h+tt*m)*(S=+p[s+128+40>>2]),h=(rt*bt+ot*lt+nt*g)*at+(et*bt+R*lt+j*g)*ct+(F*bt+O*lt+tt*g)*C,y=(rt*bt+ot*lt+nt*g)*pt+(et*bt+R*lt+j*g)*st+(F*bt+O*lt+tt*g)*v,g=(rt*bt+ot*lt+nt*g)*it+(et*bt+R*lt+j*g)*W+(F*bt+O*lt+tt*g)*S,C=at*(rt*x+ot*$+nt*w)+ct*(et*x+R*$+j*w)+(F*x+O*$+tt*w)*C,v=(rt*x+ot*$+nt*w)*pt+(et*x+R*$+j*w)*st+(F*x+O*$+tt*w)*v,S=(rt*x+ot*$+nt*w)*it+(et*x+R*$+j*w)*W+(F*x+O*$+tt*w)*S,p[T+584>>2]=f,p[T+588>>2]=u,p[T+592>>2]=m,p[T+596>>2]=0,p[T+600>>2]=h,p[T+604>>2]=y,p[T+608>>2]=g,p[T+612>>2]=0,p[T+616>>2]=C,p[T+620>>2]=v,p[T+624>>2]=S,p[T+628>>2]=0,(w=+p[T+364>>2])>1&&(bt=1/(m*(v*h-y*C)+(f*(y*S-g*v)+u*(g*C-S*h)))<1?1:w<1/(m*(v*h-y*C)+(f*(y*S-g*v)+u*(g*C-S*h)))?w:1/(m*(v*h-y*C)+(f*(y*S-g*v)+u*(g*C-S*h))),p[T+584>>2]=f*bt,p[T+588>>2]=u*bt,p[T+592>>2]=m*bt,p[T+596>>2]=0,p[T+600>>2]=h*bt,p[T+604>>2]=y*bt,p[T+608>>2]=g*bt,p[T+612>>2]=0,p[T+616>>2]=C*bt,p[T+620>>2]=v*bt,p[T+624>>2]=S*bt,p[T+628>>2]=0),0|n[T+473|0]){if(!(+p[T+320>>2]>0))break;if(f=+p[T+536>>2],y=+p[T+540>>2],g=+p[T+544>>2],C=+p[T+552>>2],v=+p[T+556>>2],S=+p[T+560>>2],u=+p[T+568>>2],m=+p[T+572>>2],h=+p[T+576>>2],(0|(l=0|_[T+712>>2]))<=0)break;c=0;do{A=0|_[T+720>>2],+p[A+(104*c|0)+88>>2]>0&&(D=0|_[T+492>>2],st=+p[D+(c<<4)>>2],pt=+p[D+(c<<4)+4>>2],ct=+p[D+(c<<4)+8>>2],rt=+p[T+320>>2],at=+p[(D=A+(104*c|0)+8|0)>>2],lt=+p[(I=A+(104*c|0)+12|0)>>2],bt=+p[(B=A+(104*c|0)+16|0)>>2],lt+=rt*(C*st+v*pt+S*ct+ +p[T+524>>2]-lt),bt+=rt*(u*st+m*pt+h*ct+ +p[T+528>>2]-bt),p[D>>2]=at+rt*(+p[T+520>>2]+(f*st+y*pt+g*ct)-at),p[I>>2]=lt,p[B>>2]=bt,p[A+(104*c|0)+20>>2]=0),c=c+1|0}while((0|c)!=(0|l))}}}while(0);I=104+(D=s+128|0)|0;do{_[D>>2]=0,D=D+4|0}while((0|D)<(0|I));if((0|(c=0|_[T+812>>2]))<0){(0|_[T+816>>2])<0&&(0|(l=0|_[T+820>>2])&&(0|n[T+824|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[T+820>>2]=0),n[T+824|0]=1,_[T+820>>2]=0,_[T+816>>2]=0);do{B=0|_[T+820>>2],_[(I=B+(104*c|0)|0)>>2]=_[s+128>>2],_[I+4>>2]=_[s+128+4>>2],_[I+8>>2]=_[s+128+8>>2],_[I+12>>2]=_[s+128+12>>2],_[I+16>>2]=_[s+128+16>>2],_[I+20>>2]=_[s+128+20>>2],_[I+24>>2]=_[s+128+24>>2],_[(I=B+(104*c|0)+28|0)>>2]=_[s+128+28>>2],_[I+4>>2]=_[s+128+28+4>>2],_[I+8>>2]=_[s+128+28+8>>2],_[I+12>>2]=_[s+128+28+12>>2],_[(I=B+(104*c|0)+44|0)>>2]=_[s+128+44>>2],_[I+4>>2]=_[s+128+44+4>>2],_[I+8>>2]=_[s+128+44+8>>2],_[I+12>>2]=_[s+128+44+12>>2],_[(I=B+(104*c|0)+60|0)>>2]=_[s+128+60>>2],_[I+4>>2]=_[s+128+60+4>>2],_[I+8>>2]=_[s+128+60+8>>2],_[I+12>>2]=_[s+128+60+12>>2],_[(B=B+(104*c|0)+76|0)>>2]=_[i>>2],_[B+4>>2]=_[i+4>>2],_[B+8>>2]=_[i+8>>2],_[B+12>>2]=_[i+12>>2],_[B+16>>2]=_[i+16>>2],_[B+20>>2]=_[i+20>>2],_[B+24>>2]=_[i+24>>2],c=c+1|0}while(0|c)}_[T+812>>2]=0,I=56+(D=s+128|0)|0;do{_[D>>2]=0,D=D+4|0}while((0|D)<(0|I));if((0|(c=0|_[T+832>>2]))<0){(0|_[T+836>>2])<0&&(0|(l=0|_[T+840>>2])&&(0|n[T+844|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[T+840>>2]=0),n[T+844|0]=1,_[T+840>>2]=0,_[T+836>>2]=0);do{l=s+128|0,I=56+(D=(0|_[T+840>>2])+(56*c|0)|0)|0;do{_[D>>2]=_[l>>2],D=D+4|0,l=l+4|0}while((0|D)<(0|I));c=c+1|0}while(0|c)}_[T+832>>2]=0,dt(T+928|0,1),dt(T+988|0,1),dt(T+1048|0,1),c=0|_[t+24>>2]}P=P+1|0}while((0|P)<(0|c));Q=s}},function(t,e){e=+e;var i,n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0;if(i=Q,Q=Q+48|0,(0|(n=0|_[24+(t|=0)>>2]))<=0)Q=i;else{b=0;t:for(;;){switch(d=0|_[(0|_[t+32>>2])+(b<<2)>>2],0|_[d+216>>2]){case 2:case 5:break;default:if(De(d,0),(0|(o=0|_[d+732>>2]))>0){n=0;do{l=0|_[d+740>>2],c=0|_[l+(52*n|0)+12>>2],a=0|_[l+(52*n|0)+8>>2],S=+p[c+24>>2]-+p[a+24>>2],v=+p[c+28>>2]-+p[a+28>>2],e=+p[c+32>>2]-+p[a+32>>2],p[l+(52*n|0)+36>>2]=S,p[l+(52*n|0)+40>>2]=v,p[l+(52*n|0)+44>>2]=e,p[l+(52*n|0)+48>>2]=0,p[l+(52*n|0)+32>>2]=1/(+p[l+(52*n|0)+24>>2]*(S*S+v*v+e*e)),n=n+1|0}while((0|n)!=(0|o))}if((0|(r=0|_[d+792>>2]))>0){n=0,e=+p[d+452>>2];do{l=0|_[d+800>>2],c=0|_[(o=l+(96*n|0)+20|0)>>2],R=+p[l+(96*n|0)+4>>2],k=+p[l+(96*n|0)+8>>2],S=+p[l+(96*n|0)+12>>2],w=+p[c+4>>2]*R+ +p[c+8>>2]*k+ +p[c+12>>2]*S,v=R*+p[c+20>>2]+k*+p[c+24>>2]+S*+p[c+28>>2],S=R*+p[c+36>>2]+k*+p[c+40>>2]+S*+p[c+44>>2],nt(i,e,+p[88+(0|_[(a=l+(96*n|0)|0)>>2])>>2],+p[c+344>>2],c+264|0,w,v,S),_[(c=l+(96*n|0)+28|0)>>2]=_[i>>2],_[c+4>>2]=_[i+4>>2],_[c+8>>2]=_[i+8>>2],_[c+12>>2]=_[i+12>>2],_[(c=l+(96*n|0)+44|0)>>2]=_[i+16>>2],_[c+4>>2]=_[i+16+4>>2],_[c+8>>2]=_[i+16+8>>2],_[c+12>>2]=_[i+16+12>>2],_[(c=l+(96*n|0)+60|0)>>2]=_[i+32>>2],_[c+4>>2]=_[i+32+4>>2],_[c+8>>2]=_[i+32+8>>2],_[c+12>>2]=_[i+32+12>>2],p[l+(96*n|0)+76>>2]=w,p[l+(96*n|0)+80>>2]=v,p[l+(96*n|0)+84>>2]=S,p[l+(96*n|0)+88>>2]=0,e=+p[d+452>>2],p[l+(96*n|0)+92>>2]=e*+p[88+(0|_[a>>2])>>2],o=0|_[o>>2],3&_[o+204>>2]||(4!=(-2&_[o+216>>2])&&(_[o+216>>2]=1),p[o+220>>2]=0),n=n+1|0}while((0|n)!=(0|r))}if((0|(n=0|_[d+372>>2]))>0){r=0,o=0|_[d+396>>2];do{if((0|o)>0){n=0;do{zl[31&(0|_[(0|_[d+404>>2])+(n<<2)>>2]?0:23)](d,1),n=n+1|0,o=0|_[d+396>>2]}while((0|n)<(0|o));n=0|_[d+372>>2]}r=r+1|0}while((0|r)<(0|n));if((0|(o=0|_[d+712>>2]))>0){n=0;do{l=0|_[d+720>>2],k=(w=+p[d+452>>2])*+p[l+(104*n|0)+44>>2]+ +p[l+(104*n|0)+28>>2],R=w*+p[l+(104*n|0)+48>>2]+ +p[l+(104*n|0)+32>>2],p[l+(104*n|0)+8>>2]=+p[l+(104*n|0)+40>>2]*w+ +p[l+(104*n|0)+24>>2],p[l+(104*n|0)+12>>2]=k,p[l+(104*n|0)+16>>2]=R,p[l+(104*n|0)+20>>2]=0,n=n+1|0}while((0|n)!=(0|o))}}if((0|(n=0|_[d+376>>2]))>0){s=0,o=0|_[d+416>>2];do{if(e=+(0|s)/+(0|n),(0|o)>0){r=0;do{switch(0|_[(0|_[d+424>>2])+(r<<2)>>2]){case 1:n=2;break;case 0:n=3;break;case 2:n=4;break;case 3:n=5;break;default:C=37;break t}Kl[7&n](d,1,e),r=r+1|0,o=0|_[d+416>>2]}while((0|r)<(0|o));n=0|_[d+376>>2]}s=s+1|0}while((0|s)<(0|n));if(e=+p[d+456>>2]*(1-+p[d+296>>2]),(0|(o=0|_[d+712>>2]))>0){n=0;do{l=0|_[d+720>>2],k=e*(+p[l+(104*n|0)+12>>2]-+p[l+(104*n|0)+28>>2]),R=e*(+p[l+(104*n|0)+16>>2]-+p[l+(104*n|0)+32>>2]),p[l+(104*n|0)+40>>2]=e*(+p[l+(104*n|0)+8>>2]-+p[l+(104*n|0)+24>>2]),p[l+(104*n|0)+44>>2]=k,p[l+(104*n|0)+48>>2]=R,l=l+(104*n|0)+52|0,n=n+1|0,_[l>>2]=0,_[l+4>>2]=0,_[l+8>>2]=0,_[l+12>>2]=0,_[l+16>>2]=0}while((0|n)!=(0|o))}}if((0|(n=0|_[d+380>>2]))>0){if(e=+p[d+292>>2]*+p[d+456>>2],(0|(o=0|_[d+712>>2]))>0){n=0;do{a=(l=0|_[d+720>>2])+(104*n|0)+8|0,_[(l=l+(104*n|0)+24|0)>>2]=_[a>>2],_[l+4>>2]=_[a+4>>2],_[l+8>>2]=_[a+8>>2],_[l+12>>2]=_[a+12>>2],n=n+1|0}while((0|n)!=(0|o));(0|(n=0|_[d+380>>2]))>0&&(C=45)}else C=45;if(45==(0|C)){C=0,s=0,o=0|_[d+436>>2];do{if((0|o)>0){r=0;do{switch(0|_[(0|_[d+444>>2])+(r<<2)>>2]){case 1:n=2;break;case 0:n=3;break;case 2:n=4;break;case 3:n=5;break;default:C=56;break t}Kl[7&n](d,1,0),r=r+1|0,o=0|_[d+436>>2]}while((0|r)<(0|o));n=0|_[d+380>>2]}s=s+1|0}while((0|s)<(0|n))}if((0|(o=0|_[d+712>>2]))>0){r=0|_[d+720>>2],n=0;do{k=e*(+p[r+(104*n|0)+12>>2]-+p[r+(104*n|0)+28>>2]),R=e*(+p[r+(104*n|0)+16>>2]-+p[r+(104*n|0)+32>>2]),p[(l=r+(104*n|0)+40|0)>>2]=e*(+p[r+(104*n|0)+8>>2]-+p[r+(104*n|0)+24>>2])+ +p[l>>2],p[(l=r+(104*n|0)+44|0)>>2]=k+ +p[l>>2],p[(l=r+(104*n|0)+48|0)>>2]=R+ +p[l>>2],n=n+1|0}while((0|n)!=(0|o))}}if((0|(r=0|_[d+1112>>2]))>0){s=0|_[d+1120>>2],o=0;do{if(c=0|_[s+(o<<2)>>2],+p[c+352>>2]>0&&(0|(A=0|_[c+24>>2]))>0){a=0|_[c+32>>2],n=0;do{l=0|_[a+(n<<2)>>2],+p[l+88>>2]>0&&(h=+p[l+24>>2]-+p[c+228>>2],g=+p[l+28>>2]-+p[c+232>>2],u=+p[l+32>>2]-+p[c+236>>2],m=+p[c+336>>2],R=+p[c+340>>2],y=+p[c+332>>2],(f=+p[c+316>>2]+(m*u-g*R))*f+(u=+p[c+320>>2]+(h*R-u*y))*u+(m=g*y-h*m+ +p[c+324>>2])*m<=(h=+p[l+40>>2])*h+(y=+p[l+44>>2])*y+(g=+p[l+48>>2])*g)&&(R=+p[c+352>>2],p[l+40>>2]=h+(f-h)*R,p[l+44>>2]=y+(u-y)*R,p[l+48>>2]=g+(m-g)*R),n=n+1|0}while((0|n)!=(0|A))}o=o+1|0}while((0|o)!=(0|r))}De(d,1),n=0|_[t+24>>2]}if((0|(b=b+1|0))>=(0|n)){C=3;break}}3!=(0|C)||(Q=i)}},function(t,e){var i,n;e=+e,i=Q,Q=Q+16|0,+p[68+(t|=0)>>2]>0?(n=-+p[t+92>>2],e=-+p[t+96>>2],p[i>>2]=-+p[t+88>>2],p[i+4>>2]=n,p[i+8>>2]=e,p[i+12>>2]=0,Ui(t+4|0,i,t+164|0),Ui(t+16|0,t+88|0,t+180|0),Q=i):Q=i},Ec,xc,function(t,e){e=+e},xc,function(t,e){var i,n=0;if(i=Q,Q=Q+16|0,Z(t|=0,e=+e),$i(14072),t=0|_[t+452>>2],zl[31&_[24+(0|_[t>>2])>>2]](t,e),t=0|_[2606],n=(0|_[t+16>>2])-1|0,_[t+16>>2]=n,0|n)Q=i;else{do{if(0|_[t+4>>2]){if(G(0|i,0),n=0|_[6629],p[t+8>>2]=+p[t+8>>2]+ +(((0|_[i+4>>2])-(0|_[n+4>>2])+(1e6*((0|_[i>>2])-(0|_[n>>2])|0)|0)-(0|_[t+12>>2])|0)>>>0)/1e3,0|_[t+16>>2])return void(Q=i);t=0|_[2606];break}}while(0);_[2606]=_[t+20>>2],Q=i}},function(t,e){t|=0,e=+e;var i,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0;i=Q,Q=Q+304|0,$i(14521);t:do{if((0|_[t+232>>2])>0)for(b=i+136+48|0,d=0;;){A=0|_[(0|_[t+240>>2])+(d<<2)>>2],p[A+244>>2]=1;e:do{switch(0|_[A+216>>2]){case 2:case 5:break;default:if(!(3&_[A+204>>2])){if(Bt(A+4|0,+p[A+312>>2],+p[A+316>>2],+p[A+320>>2],A+328|0,e,i+136|0),s=+p[b>>2]-+p[A+52>>2],a=+p[i+136+52>>2]-+p[A+56>>2],l=+p[i+136+56>>2]-+p[A+60>>2],0|n[t+44|0]&&(h=+p[A+252>>2])*h!=0&&h*h>2])>>2])<20?(_[6295]=1+(0|_[6295]),r=0|_[t+68>>2],r=0|Gl[127&_[36+(0|_[r>>2])>>2]](r),c=0|_[t+24>>2],p[i+200+4>>2]=1,_[i+200+12>>2]=_[A+52>>2],_[i+200+12+4>>2]=_[A+52+4>>2],_[i+200+12+8>>2]=_[A+52+8>>2],_[i+200+12+12>>2]=_[A+52+12>>2],_[i+200+28>>2]=_[b>>2],_[i+200+28+4>>2]=_[b+4>>2],_[i+200+28+8>>2]=_[b+8>>2],_[i+200+28+12>>2]=_[b+12>>2],_[i+200+76>>2]=0,_[i+200>>2]=5180,_[i+200+80>>2]=A,_[i+200+88>>2]=r,_[i+200+92>>2]=c,c=0|_[A+248>>2],_[i+80+8>>2]=0,_[i+80+12>>2]=1065353216,_[i+80+16>>2]=1065353216,_[i+80+20>>2]=1065353216,p[i+80+24>>2]=0,_[i+80>>2]=7568,_[i+80+4>>2]=8,_[i+80+28>>2]=c,_[i+80+44>>2]=c,_[i+200+84>>2]=_[t+56>>2],c=0|_[A+188>>2],o[i+200+8>>1]=0|o[c+4>>1],o[i+200+10>>1]=0|o[c+6>>1],_[i+16+48>>2]=_[b>>2],_[i+16+48+4>>2]=_[b+4>>2],_[i+16+48+8>>2]=_[b+8>>2],_[i+16+48+12>>2]=_[b+12>>2],_[i+16>>2]=_[A+4>>2],_[i+16+4>>2]=_[A+4+4>>2],_[i+16+8>>2]=_[A+4+8>>2],_[i+16+12>>2]=_[A+4+12>>2],_[i+16+16>>2]=_[A+20>>2],_[i+16+16+4>>2]=_[A+20+4>>2],_[i+16+16+8>>2]=_[A+20+8>>2],_[i+16+16+12>>2]=_[A+20+12>>2],_[i+16+32>>2]=_[A+36>>2],_[i+16+32+4>>2]=_[A+36+4>>2],_[i+16+32+8>>2]=_[A+36+8>>2],_[i+16+32+12>>2]=_[A+36+12>>2],we(t,i+80|0,A+4|0,i+16|0,i+200|0,0),(s=+p[i+200+4>>2])<1?(p[A+244>>2]=s,Bt(A+4|0,+p[A+312>>2],+p[A+316>>2],+p[A+320>>2],A+328|0,s*e,i+136|0),p[A+244>>2]=0,ti(A,i+136|0),r=4):r=0,r||(f=12)):f=12,12==(0|f)&&(f=0,r=0),c=0|_[2606],y=(0|_[c+16>>2])-1|0,_[c+16>>2]=y;do{if(!y){if(0|_[c+4>>2]){if(G(i+200|0,0),y=0|_[6629],p[c+8>>2]=+p[c+8>>2]+ +(((0|_[i+200+4>>2])-(0|_[y+4>>2])+(1e6*((0|_[i+200>>2])-(0|_[y>>2])|0)|0)-(0|_[c+12>>2])|0)>>>0)/1e3,0|_[c+16>>2])break;c=0|_[2606]}_[2606]=_[c+20>>2]}}while(0);if(0|r)break e}ti(A,i+136|0)}}}while(0);if((0|(d=d+1|0))>=(0|_[t+232>>2]))break t}}while(0);do{if(0|n[t+275|0]){if($i(14561),(0|_[t+308>>2])>0){A=0;do{if(f=0|_[(0|_[t+316>>2])+(A<<2)>>2],c=0|_[f+740>>2],c=2&_[c+236>>2]?c:0,b=0|_[f+744>>2],b=2&_[b+236>>2]?b:0,(0|(r=0|_[f+748>>2]))>0)if(c){d=0;do{(s=+p[c+228>>2]*+p[b+228>>2])>0&&0!=(m=+p[f+4+(184*d|0)+120>>2])&&(l=s*(m*+p[f+4+(184*d|0)+64>>2]),e=s*(m*+p[f+4+(184*d|0)+68>>2]),h=s*(m*+p[f+4+(184*d|0)+72>>2]),p[i+200>>2]=-l,p[i+200+4>>2]=-e,p[i+200+8>>2]=-h,p[i+200+12>>2]=0,a=+p[f+4+(184*d|0)+52>>2]-+p[c+56>>2],s=+p[f+4+(184*d|0)+56>>2]-+p[c+60>>2],p[i+80>>2]=+p[f+4+(184*d|0)+48>>2]-+p[c+52>>2],p[i+80+4>>2]=a,p[i+80+8>>2]=s,p[i+80+12>>2]=0,s=+p[f+4+(184*d|0)+36>>2]-+p[b+56>>2],a=+p[f+4+(184*d|0)+40>>2]-+p[b+60>>2],p[i+16>>2]=+p[f+4+(184*d|0)+32>>2]-+p[b+52>>2],p[i+16+4>>2]=s,p[i+16+8>>2]=a,p[i+16+12>>2]=0,Dn(c,i+200|0,i+80|0),p[i>>2]=l,p[i+4>>2]=e,p[i+8>>2]=h,p[i+12>>2]=0,Dn(b,i,i+16|0),r=0|_[f+748>>2]),d=d+1|0}while((0|d)<(0|r))}else{c=0;do{(s=+p[57]*+p[b+228>>2])>0&&0!=(u=+p[f+4+(184*c|0)+120>>2])&&(l=s*(u*+p[f+4+(184*c|0)+64>>2]),e=s*(u*+p[f+4+(184*c|0)+68>>2]),h=s*(u*+p[f+4+(184*c|0)+72>>2]),s=+p[f+4+(184*c|0)+36>>2]-+p[b+56>>2],a=+p[f+4+(184*c|0)+40>>2]-+p[b+60>>2],p[i+16>>2]=+p[f+4+(184*c|0)+32>>2]-+p[b+52>>2],p[i+16+4>>2]=s,p[i+16+8>>2]=a,p[i+16+12>>2]=0,p[i>>2]=l,p[i+4>>2]=e,p[i+8>>2]=h,p[i+12>>2]=0,Dn(b,i,i+16|0),r=0|_[f+748>>2]),c=c+1|0}while((0|c)<(0|r))}A=A+1|0}while((0|A)<(0|_[t+308>>2]))}if(r=0|_[2606],y=(0|_[r+16>>2])-1|0,_[r+16>>2]=y,!y){if(0|_[r+4>>2]){if(G(i+200|0,0),y=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+200+4>>2])-(0|_[y+4>>2])+(1e6*((0|_[i+200>>2])-(0|_[y>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])break;r=0|_[2606]}_[2606]=_[r+20>>2]}}}while(0);if(r=0|_[2606],y=(0|_[r+16>>2])-1|0,_[r+16>>2]=y,0|y)Q=i;else{do{if(0|_[r+4>>2]){if(G(i+200|0,0),y=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+200+4>>2])-(0|_[y+4>>2])+(1e6*((0|_[i+200>>2])-(0|_[y>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])return void(Q=i);r=0|_[2606];break}}while(0);_[2606]=_[r+20>>2],Q=i}},function(t,e){t|=0,e=+e;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;if(i=Q,Q=Q+16|0,$i(14455),(0|(o=0|_[t+232>>2]))>0){l=!(0|n[27096]),a=0;do{c=0|_[(0|_[t+240>>2])+(a<<2)>>2];t:do{if(c){r=0|_[c+216>>2];e:do{switch(0|r){case 4:case 2:if(4==(0|r))break t;break;default:if((f=+p[c+312>>2])*f+(A=+p[c+316>>2])*A+(b=+p[c+320>>2])*b<(d=+p[c+472>>2])*d&&(d=+p[c+328>>2])*d+(b=+p[c+332>>2])*b+(A=+p[c+336>>2])*A<(f=+p[c+476>>2])*f){p[c+220>>2]=+p[c+220>>2]+e;break e}p[c+220>>2]=0,4!=(-2&r)&&(_[c+216>>2]=0,r=0)}}while(0);s=-2&r;do{if(l){if(2!=(0|s)&&!(+p[c+220>>2]>2))break;if(3&_[c+204>>2]){if(4==(0|s))break t;_[c+216>>2]=2;break t}if(1==(0|r)){_[c+216>>2]=3;break t}if(2!=(0|r))break t;o=2+(0|_[c+260>>2])|0,_[c+328>>2]=0,_[c+328+4>>2]=0,_[c+328+8>>2]=0,_[c+328+12>>2]=0,_[c+260>>2]=o,_[c+312>>2]=0,_[c+312+4>>2]=0,_[c+312+8>>2]=0,_[c+312+12>>2]=0,o=0|_[t+232>>2];break t}}while(0);4!=(0|s)&&(_[c+216>>2]=1)}}while(0);a=a+1|0}while((0|a)<(0|o))}if(o=0|_[2606],l=(0|_[o+16>>2])-1|0,_[o+16>>2]=l,0|l)Q=i;else{do{if(0|_[o+4>>2]){if(G(0|i,0),l=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[i+4>>2])-(0|_[l+4>>2])+(1e6*((0|_[i>>2])-(0|_[l>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])return void(Q=i);o=0|_[2606];break}}while(0);_[2606]=_[o+20>>2],Q=i}},function(t,e){e=+e;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0;if(i=Q,Q=Q+16|0,A=0|_[452+(t|=0)>>2],_d[127&_[16+(0|_[A>>2])>>2]](A,t+324|0,0),A=0|_[t+452>>2],Gl[127&_[12+(0|_[A>>2])>>2]](A),ki(t,e),$i(14051),(0|(A=0|_[t+328>>2]))>0){r=0|_[t+336>>2],o=0,l=0;do{l=(0|l)>(0|(b=0|_[384+(0|_[r+(o<<2)>>2])>>2]))?l:b,o=o+1|0}while((0|o)!=(0|A));for(o=0;;){if(s=0|_[r+(o<<2)>>2],(0|_[s+852>>2])>0){r=0;do{b=0|_[(0|_[s+860>>2])+(r<<2)>>2],$l[15&_[8+(0|_[b>>2])>>2]](b,+p[s+452>>2],l),r=r+1|0}while((0|r)<(0|_[s+852>>2]))}if((0|(o=o+1|0))==(0|A))break;r=0|_[t+336>>2]}if((0|l)>0){s=0;do{o=0;do{if(c=0|_[(0|_[t+336>>2])+(o<<2)>>2],(0|(a=0|_[c+852>>2]))>0){r=0;do{b=0|_[(0|_[c+860>>2])+(r<<2)>>2],Kl[7&_[12+(0|_[b>>2])>>2]](b,+p[c+452>>2],1),r=r+1|0}while((0|r)!=(0|a))}o=o+1|0}while((0|o)!=(0|A));s=s+1|0}while((0|s)!=(0|l))}d=0;do{if(b=0|_[(0|_[t+336>>2])+(d<<2)>>2],(0|_[b+852>>2])>0){o=0;do{r=0|_[(0|_[b+860>>2])+(o<<2)>>2],zl[31&_[16+(0|_[r>>2])>>2]](r,+p[b+452>>2]),r=0|_[b+860>>2],s=0|_[r+(o<<2)>>2];t:do{if(0|n[s+152|0])if(s?(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),l=0|_[b+860>>2]):l=r,a=o+-1|0,(0|(r=0|_[b+852>>2]))>0){for(c=0|_[l+(o<<2)>>2],o=0;(0|_[(s=l+(o<<2)|0)>>2])!=(0|c);)if((0|(o=o+1|0))>=(0|r)){o=a;break t}(0|o)<(0|r)?(_[s>>2]=_[l+(r+-1<<2)>>2],_[(0|_[b+860>>2])+(r+-1<<2)>>2]=c,_[b+852>>2]=r+-1,o=a,r=r+-1|0):o=a}else o=a;else r=0|_[b+852>>2]}while(0);o=o+1|0}while((0|o)<(0|r))}d=d+1|0}while((0|d)!=(0|A))}o=0|_[t+452>>2],zl[31&_[28+(0|_[o>>2])>>2]](o,+p[o+12>>2]*e),o=0|_[2606],A=(0|_[o+16>>2])-1|0,_[o+16>>2]=A;do{if(!A){if(0|_[o+4>>2]){if(G(0|i,0),A=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[i+4>>2])-(0|_[A+4>>2])+(1e6*((0|_[i>>2])-(0|_[A>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])break;o=0|_[2606]}_[2606]=_[o+20>>2]}}while(0);if((0|_[t+328>>2])<=0)return t=0|_[t+452>>2],A=0|_[t>>2],A=0|_[(A=A+32|0)>>2],Xl[511&A](t),void(Q=i);o=0;do{ie(A=0|_[(0|_[t+336>>2])+(o<<2)>>2],A),o=o+1|0}while((0|o)<(0|_[t+328>>2]));t=0|_[t+452>>2],A=0|_[t>>2],A=0|_[(A=A+32|0)>>2],Xl[511&A](t),Q=i},function(t,e){e=+e;var i,n=0,o=0,r=0,s=0,c=0,a=0;if(i=Q,Q=Q+32|0,(0|(n=0|_[8+(t|=0)>>2]))<=0)Q=i;else{r=0;do{0|(o=0|_[(0|_[t+16>>2])+(r<<2)>>2])&&2&_[o+236>>2]&&2!=(0|_[o+216>>2])&&0!=e&&2&_[o+204>>2]&&((n=0|_[o+480>>2])?(ed[127&_[8+(0|_[n>>2])>>2]](n,o+4|0),n=o+4|0):n=o+4|0,c=1/e*(+p[o+56>>2]-+p[o+120>>2]),a=1/e*(+p[o+60>>2]-+p[o+124>>2]),p[o+312>>2]=1/e*(+p[o+52>>2]-+p[o+116>>2]),p[o+316>>2]=c,p[o+320>>2]=a,p[o+324>>2]=0,$(o+68|0,n,i+8|0,i),c=1/e*((a=+p[i>>2])*+p[i+8+4>>2]),s=1/e*(a*+p[i+8+8>>2]),p[o+328>>2]=1/e*(+p[i+8>>2]*a),p[o+332>>2]=c,p[o+336>>2]=s,p[o+340>>2]=0,_[o+132>>2]=_[o+312>>2],_[o+132+4>>2]=_[o+312+4>>2],_[o+132+8>>2]=_[o+312+8>>2],_[o+132+12>>2]=_[o+312+12>>2],_[o+148>>2]=_[o+328>>2],_[o+148+4>>2]=_[o+328+4>>2],_[o+148+8>>2]=_[o+328+8>>2],_[o+148+12>>2]=_[o+328+12>>2],_[o+68>>2]=_[n>>2],_[o+68+4>>2]=_[n+4>>2],_[o+68+8>>2]=_[n+8>>2],_[o+68+12>>2]=_[n+12>>2],_[o+84>>2]=_[o+20>>2],_[o+84+4>>2]=_[o+20+4>>2],_[o+84+8>>2]=_[o+20+8>>2],_[o+84+12>>2]=_[o+20+12>>2],_[o+100>>2]=_[o+36>>2],_[o+100+4>>2]=_[o+36+4>>2],_[o+100+8>>2]=_[o+36+8>>2],_[o+100+12>>2]=_[o+36+12>>2],_[o+116>>2]=_[o+52>>2],_[o+116+4>>2]=_[o+52+4>>2],_[o+116+8>>2]=_[o+52+8>>2],_[o+116+12>>2]=_[o+52+12>>2],n=0|_[t+8>>2]),r=r+1|0}while((0|r)<(0|n));Q=i}},function(t,e){t|=0,e=+e;var i,n=0,o=0;if(i=Q,Q=Q+16|0,$i(14315),(0|_[t+280>>2])>0){n=0;do{o=0|_[(0|_[t+288>>2])+(n<<2)>>2],id[7&_[8+(0|_[o>>2])>>2]](o,t,e),n=n+1|0}while((0|n)<(0|_[t+280>>2]))}if(n=0|_[2606],o=(0|_[n+16>>2])-1|0,_[n+16>>2]=o,0|o)Q=i;else{do{if(0|_[n+4>>2]){if(G(0|i,0),o=0|_[6629],p[n+8>>2]=+p[n+8>>2]+ +(((0|_[i+4>>2])-(0|_[o+4>>2])+(1e6*((0|_[i>>2])-(0|_[o>>2])|0)|0)-(0|_[n+12>>2])|0)>>>0)/1e3,0|_[n+16>>2])return void(Q=i);n=0|_[2606];break}}while(0);_[2606]=_[n+20>>2],Q=i}},Z,ki,function(t,e){e=+e;var i,o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0;if(o=Q,Q=Q+32|0,(0|(r=0|_[136+(t|=0)>>2]))>0){s=0;do{Ue(0|_[t+116>>2],0|_[t+144>>2],s,0),s=s+1|0,r=0|_[t+136>>2]}while((0|s)<(0|r))}if(h=0|_[t+116>>2],A=+p[h+312>>2],f=+p[h+316>>2],c=+p[h+320>>2],c=3.5999999046325684*+b(+(A*A+f*f+c*c)),p[t+112>>2]=c,m=0|_[t+128>>2],+p[h+4+(m<<2)>>2]*+p[h+312>>2]+ +p[h+20+(m<<2)>>2]*+p[h+316>>2]+ +p[h+36+(m<<2)>>2]*+p[h+320>>2]<0&&(p[t+112>>2]=-c),(0|r)>0){r=0;do{J(t,(0|_[t+144>>2])+(284*r|0)|0),r=r+1|0,s=0|_[t+136>>2]}while((0|r)<(0|s));if(a=1/+p[344+(0|_[t+116>>2])>>2],(0|s)>0){s=0;do{r=0|_[t+144>>2],0|n[r+(284*s|0)+84|0]?(c=+p[r+(284*s|0)+272>>2],c=(c=a*(+p[r+(284*s|0)+216>>2]*(+p[r+(284*s|0)+204>>2]-+p[r+(284*s|0)+32>>2])*+p[r+(284*s|0)+268>>2]-c*+p[(c<0?r+(284*s|0)+220:r+(284*s|0)+224)>>2]))<0?0:c):c=0,p[r+(284*s|0)+276>>2]=c,s=s+1|0,r=0|_[t+136>>2]}while((0|s)<(0|r));if((0|r)>0){r=0;do{m=0|_[t+144>>2],f=(d=(d=+p[m+(284*r|0)+276>>2])>(f=+p[m+(284*r|0)+248>>2])?f:d)*+p[m+(284*r|0)+4>>2]*e,A=d*+p[m+(284*r|0)+8>>2]*e,p[o+16>>2]=+p[m+(284*r|0)>>2]*d*e,p[o+16+4>>2]=f,p[o+16+8>>2]=A,p[o+16+12>>2]=0,h=0|_[t+116>>2],A=+p[m+(284*r|0)+20>>2]-+p[h+56>>2],f=+p[m+(284*r|0)+24>>2]-+p[h+60>>2],p[o>>2]=+p[m+(284*r|0)+16>>2]-+p[h+52>>2],p[o+4>>2]=A,p[o+8>>2]=f,p[o+12>>2]=0,Dn(h,o+16|0,o),r=r+1|0}while((0|r)<(0|_[t+136>>2]))}}}if(zl[31&_[20+(0|_[t>>2])>>2]](t,e),(0|(i=0|_[t+136>>2]))<=0)Q=o;else{m=0|_[t+144>>2],h=0|_[t+116>>2],u=0;do{c=+p[m+(284*u|0)+36>>2]-+p[h+52>>2],a=+p[m+(284*u|0)+40>>2]-+p[h+56>>2],l=+p[m+(284*u|0)+44>>2]-+p[h+60>>2],d=+p[h+332>>2],A=+p[h+336>>2],f=+p[h+328>>2],0|n[m+(284*u|0)+84|0]?(r=0|_[t+128>>2],k=+p[h+4+(r<<2)>>2],S=+p[h+20+(r<<2)>>2],C=+p[h+36+(r<<2)>>2],w=+p[m+(284*u|0)>>2],v=+p[m+(284*u|0)+4>>2],g=+p[m+(284*u|0)+8>>2],l=((a*f-c*d+ +p[h+320>>2])*(C-g*(k*w+S*v+C*g))+((d*l-a*A+ +p[h+312>>2])*(k-w*(k*w+S*v+C*g))+(c*A-l*f+ +p[h+316>>2])*(S-v*(k*w+S*v+C*g))))*e/+p[m+(284*u|0)+212>>2],p[(r=m+(284*u|0)+240|0)>>2]=l,s=y=m+(284*u|0)+236|0,c=+p[y>>2],a=l):(s=y=m+(284*u|0)+236|0,c=l=+p[(r=m+(284*u|0)+240|0)>>2],a=+p[y>>2]),p[s>>2]=c+a,p[r>>2]=.9900000095367432*l,u=u+1|0}while((0|u)!=(0|i));Q=o}},function(t,e){e=+e;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0;if(i=Q,Q=Q+96|0,f=0|_[136+(t|=0)>>2]){if((0|(o=0|_[t+8>>2]))<(0|f)){if((0|_[t+12>>2])<(0|f)){if(_[6630]=1+(0|_[6630]),(s=0|di(16+(f<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,a=s+4+15&-16):a=0,(0|(c=0|_[t+8>>2]))>0){s=0;do{A=a+(s<<4)|0,h=(0|_[t+16>>2])+(s<<4)|0,_[A>>2]=_[h>>2],_[A+4>>2]=_[h+4>>2],_[A+8>>2]=_[h+8>>2],_[A+12>>2]=_[h+12>>2],s=s+1|0}while((0|s)!=(0|c))}0|(s=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=a,_[t+12>>2]=f,s=t+16|0}else s=t+16|0;do{h=(0|_[s>>2])+(o<<4)|0,_[h>>2]=_[i+48>>2],_[h+4>>2]=_[i+48+4>>2],_[h+8>>2]=_[i+48+8>>2],_[h+12>>2]=_[i+48+12>>2],o=o+1|0}while((0|o)!=(0|f))}if(_[t+8>>2]=f,(0|(o=0|_[t+28>>2]))<(0|f)){if((0|_[t+32>>2])<(0|f)){if(_[6630]=1+(0|_[6630]),(s=0|di(16+(f<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,a=s+4+15&-16):a=0,(0|(c=0|_[t+28>>2]))>0){s=0;do{h=a+(s<<4)|0,A=(0|_[t+36>>2])+(s<<4)|0,_[h>>2]=_[A>>2],_[h+4>>2]=_[A+4>>2],_[h+8>>2]=_[A+8>>2],_[h+12>>2]=_[A+12>>2],s=s+1|0}while((0|s)!=(0|c))}0|(s=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=a,_[t+32>>2]=f,s=t+36|0}else s=t+36|0;do{h=(0|_[s>>2])+(o<<4)|0,_[h>>2]=_[i+48>>2],_[h+4>>2]=_[i+48+4>>2],_[h+8>>2]=_[i+48+8>>2],_[h+12>>2]=_[i+48+12>>2],o=o+1|0}while((0|o)!=(0|f))}if(_[t+28>>2]=f,(0|(A=0|_[t+48>>2]))<(0|f)){do{if((0|_[t+52>>2])<(0|f)){if(_[6630]=1+(0|_[6630]),(o=0|di(16+(f<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,c=0|_[t+48>>2],a=0|_[t+56>>2],(0|c)<=0){if(!a){n[t+60|0]=1,_[t+56>>2]=o,_[t+52>>2]=f,s=f<<2;break}}else{s=0;do{_[o+(s<<2)>>2]=_[a+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|c))}0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),n[t+60|0]=1,_[t+56>>2]=o,_[t+52>>2]=f,s=f<<2}else s=f<<2,o=0|_[t+56>>2]}while(0);wn(o+(A<<2)|0,0,s-(A<<2)|0)}if(_[t+48>>2]=f,(0|(A=0|_[t+68>>2]))<(0|f)){do{if((0|_[t+72>>2])<(0|f)){if(_[6630]=1+(0|_[6630]),(o=0|di(16+(f<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,c=0|_[t+68>>2],a=0|_[t+76>>2],(0|c)<=0){if(!a){n[t+80|0]=1,_[t+76>>2]=o,_[t+72>>2]=f,s=f<<2;break}}else{s=0;do{_[o+(s<<2)>>2]=_[a+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|c))}0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),n[t+80|0]=1,_[t+76>>2]=o,_[t+72>>2]=f,s=f<<2}else s=f<<2,o=0|_[t+76>>2]}while(0);wn(o+(A<<2)|0,0,s-(A<<2)|0)}if(_[t+68>>2]=f,(0|(o=0|_[t+136>>2]))<=0)Q=i;else{c=0|_[t+76>>2],a=0|_[t+56>>2],s=0;do{p[c+(s<<2)>>2]=0,p[a+(s<<2)>>2]=0,s=s+1|0}while((0|s)!=(0|o));a=0;do{s=0|_[t+144>>2],(c=0|_[s+(284*a|0)+88>>2])&&(S=s+(284*a|0)+92|0,_[i+48>>2]=_[S>>2],_[i+48+4>>2]=_[S+4>>2],_[i+48+8>>2]=_[S+8>>2],_[i+48+12>>2]=_[S+12>>2],S=s+(284*a|0)+108|0,_[i+48+16>>2]=_[S>>2],_[i+48+16+4>>2]=_[S+4>>2],_[i+48+16+8>>2]=_[S+8>>2],_[i+48+16+12>>2]=_[S+12>>2],S=s+(284*a|0)+124|0,_[i+48+32>>2]=_[S>>2],_[i+48+32+4>>2]=_[S+4>>2],_[i+48+32+8>>2]=_[S+8>>2],_[i+48+32+12>>2]=_[S+12>>2],S=0|_[t+120>>2],o=0|_[i+48+16+(S<<2)>>2],w=0|_[i+48+32+(S<<2)>>2],A=0|_[t+36>>2],_[A+(a<<4)>>2]=_[i+48+(S<<2)>>2],_[A+(a<<4)+4>>2]=o,_[A+(a<<4)+8>>2]=w,p[A+(a<<4)+12>>2]=0,A=0|_[t+36>>2],d=(k=+p[(w=A+(a<<4)|0)>>2])-(r=+p[(o=s+(284*a|0)|0)>>2])*(k*r+(v=+p[(S=A+(a<<4)+4|0)>>2])*(l=+p[(h=s+(284*a|0)+4|0)>>2])+(y=+p[(A=A+(a<<4)+8|0)>>2])*(C=+p[(f=s+(284*a|0)+8|0)>>2])),g=v-l*(k*r+v*l+y*C),y=1/+b(+((C=y-C*(k*r+v*l+y*C))*C+(d*d+g*g))),p[w>>2]=d*y,p[S>>2]=g*y,p[A>>2]=C*y,l=+p[h>>2],v=+p[f>>2],r=+p[o>>2],o=0|_[t+16>>2],p[o+(a<<4)>>2]=l*(C*y)-v*(g*y),p[o+(a<<4)+4>>2]=v*(d*y)-C*y*r,p[o+(a<<4)+8>>2]=g*y*r-l*(d*y),p[o+(a<<4)+12>>2]=0,o=0|_[t+16>>2],y=+p[(f=o+(a<<4)|0)>>2],d=+p[(h=o+(a<<4)+4|0)>>2],l=+p[(o=o+(a<<4)+8|0)>>2],r=1/+b(+(y*y+d*d+l*l)),p[f>>2]=y*r,p[h>>2]=d*r,p[o>>2]=l*r,o=0|_[t+116>>2],h=0|_[t+36>>2],(r=+p[h+(a<<4)>>2])*r+(l=+p[h+(a<<4)+4>>2])*l+(d=+p[h+(a<<4)+8>>2])*d>1.100000023841858?r=0:(F=(D=+p[s+(284*a|0)+16>>2])-+p[o+52>>2],O=(B=+p[s+(284*a|0)+20>>2])-+p[o+56>>2],M=(T=+p[s+(284*a|0)+24>>2])-+p[o+60>>2],D-=+p[c+52>>2],B-=+p[c+56>>2],T-=+p[c+60>>2],W=+p[o+332>>2],V=+p[o+336>>2],x=+p[o+328>>2],j=+p[c+332>>2],P=+p[c+336>>2],I=+p[c+328>>2],R=(d*O-l*M)*+p[o+4>>2]+(r*M-d*F)*+p[o+20>>2]+(l*F-r*O)*+p[o+36>>2],y=(d*O-l*M)*+p[o+8>>2]+(r*M-d*F)*+p[o+24>>2]+(l*F-r*O)*+p[o+40>>2],g=(d*O-l*M)*+p[o+12>>2]+(r*M-d*F)*+p[o+28>>2]+(l*F-r*O)*+p[o+44>>2],C=(B*-d-T*-l)*+p[c+4>>2]+(T*-r-D*-d)*+p[c+20>>2]+(D*-l-B*-r)*+p[c+36>>2],v=(B*-d-T*-l)*+p[c+8>>2]+(T*-r-D*-d)*+p[c+24>>2]+(D*-l-B*-r)*+p[c+40>>2],k=(B*-d-T*-l)*+p[c+12>>2]+(T*-r-D*-d)*+p[c+28>>2]+(D*-l-B*-r)*+p[c+44>>2],r=-.20000000298023224*(r*(M*W-O*V+ +p[o+312>>2]-(T*j-B*P+ +p[c+312>>2]))+l*(+p[o+316>>2]+(F*V-M*x)-(+p[c+316>>2]+(D*P-T*I)))+d*(O*x-F*W+ +p[o+320>>2]-(B*I-D*j+ +p[c+320>>2])))*(1/(+p[c+344>>2]+(+p[o+344>>2]+(R*(R*+p[o+396>>2])+y*(y*+p[o+400>>2])+g*(g*+p[o+404>>2])))+(C*(C*+p[c+396>>2])+v*(v*+p[c+400>>2])+k*(k*+p[c+404>>2]))))),p[(0|_[t+76>>2])+(a<<2)>>2]=r,o=0|_[t+136>>2]),a=a+1|0}while((0|a)<(0|o));if((0|o)<=0)Q=i;else{for(s=0,A=0,c=0|_[t+144>>2];(o=0|_[c+(284*A|0)+88>>2])?(0!=(r=+p[c+(284*A|0)+252>>2])?(r*=e,o=c):(V=0==(V=+p[c+(284*A|0)+256>>2])?0:V,w=0|_[t+116>>2],S=0|_[t+16>>2],F=+p[c+(284*A|0)+16>>2],B=+p[c+(284*A|0)+20>>2],R=+p[c+(284*A|0)+24>>2],v=+p[S+(A<<4)>>2],I=+p[S+(A<<4)+4>>2],r=+p[S+(A<<4)+8>>2],N=F-+p[w+52>>2],L=B-+p[w+56>>2],l=R-+p[w+60>>2],d=+p[w+264>>2]*(L*r-l*I)+ +p[w+280>>2]*(l*v-N*r)+(N*I-L*v)*+p[w+296>>2],E=(L*r-l*I)*+p[w+268>>2]+(l*v-N*r)*+p[w+284>>2]+(N*I-L*v)*+p[w+300>>2],G=(L*r-l*I)*+p[w+272>>2]+(l*v-N*r)*+p[w+288>>2]+(N*I-L*v)*+p[w+304>>2],P=F-+p[o+52>>2],O=B-+p[o+56>>2],D=R-+p[o+60>>2],C=(I*P-v*O)*+p[o+296>>2]+(+p[o+264>>2]*(r*O-I*D)+ +p[o+280>>2]*(v*D-r*P)),y=(r*O-I*D)*+p[o+268>>2]+(v*D-r*P)*+p[o+284>>2]+(I*P-v*O)*+p[o+300>>2],g=(r*O-I*D)*+p[o+272>>2]+(v*D-r*P)*+p[o+288>>2]+(I*P-v*O)*+p[o+304>>2],F-=+p[w+52>>2],B-=+p[w+56>>2],R-=+p[w+60>>2],x=+p[w+332>>2],k=+p[w+336>>2],W=+p[w+328>>2],M=+p[o+332>>2],j=+p[o+336>>2],T=+p[o+328>>2],r=(r=V<(r=-1/(+p[w+344>>2]+(r*(L*d-N*E)+(v*(l*E-L*G)+I*(N*G-l*d)))+(+p[o+344>>2]+(r*(O*C-P*y)+(v*(D*y-O*g)+I*(P*g-D*C)))))*((R*x-B*k+ +p[w+312>>2]-(D*M-O*j+ +p[o+312>>2]))*v+(+p[w+316>>2]+(F*k-R*W)-(+p[o+316>>2]+(P*j-D*T)))*I+(B*W-F*x+ +p[w+320>>2]-(O*T-P*M+ +p[o+320>>2]))*r))?V:r)<-V?-V:r,o=0|_[t+144>>2]),w=(0|_[t+56>>2])+(A<<2)|0,p[w>>2]=0,p[(a=o+(284*A|0)+280|0)>>2]=1,d=+p[c+(284*A|0)+276>>2]*e*+p[c+(284*A|0)+228>>2],p[w>>2]=r,(r*=.5)*r+(l=+p[(0|_[t+76>>2])+(A<<2)>>2])*l>d*d&&(E=d/+b(+(r*r+l*l)),p[a>>2]=E*+p[a>>2],s=1)):(p[(0|_[t+56>>2])+(A<<2)>>2]=0,p[c+(284*A|0)+280>>2]=1,o=c),!((0|(A=A+1|0))>=(0|(a=0|_[t+136>>2])));)c=o;if(s&(0|a)>0){s=0|_[t+76>>2],o=0;do{0!=+p[(c=s+(o<<2)|0)>>2]&&(u=(0|_[t+144>>2])+(284*o|0)+280|0,(m=+p[u>>2])<1)&&(w=(0|_[t+56>>2])+(o<<2)|0,p[w>>2]=m*+p[w>>2],p[c>>2]=+p[u>>2]*+p[c>>2]),o=o+1|0}while((0|o)!=(0|a))}if((0|a)<=0)Q=i;else{s=0;do{c=0|_[t+144>>2],o=0|_[t+116>>2],l=+p[(a=c+(284*s|0)+16|0)>>2]-+p[o+52>>2],d=+p[(A=c+(284*s|0)+20|0)>>2]-+p[o+56>>2],e=+p[(f=c+(284*s|0)+24|0)>>2]-+p[o+60>>2],p[i+48>>2]=l,p[i+48+4>>2]=d,p[i+48+8>>2]=e,p[i+48+12>>2]=0,0!=(r=+p[(0|_[t+56>>2])+(s<<2)>>2])&&(w=0|_[t+16>>2],L=r*+p[w+(s<<4)+4>>2],E=r*+p[w+(s<<4)+8>>2],p[i+32>>2]=r*+p[w+(s<<4)>>2],p[i+32+4>>2]=L,p[i+32+8>>2]=E,p[i+32+12>>2]=0,Dn(o,i+32|0,i+48|0)),0!=(r=+p[(0|_[t+76>>2])+(s<<2)>>2])&&(w=0|_[(0|_[t+144>>2])+(284*s|0)+88>>2],L=+p[A>>2]-+p[w+56>>2],N=+p[f>>2]-+p[w+60>>2],p[i+32>>2]=+p[a>>2]-+p[w+52>>2],p[i+32+4>>2]=L,p[i+32+8>>2]=N,p[i+32+12>>2]=0,S=0|_[t+36>>2],N=+p[S+(s<<4)>>2]*r,L=r*+p[S+(s<<4)+4>>2],E=r*+p[S+(s<<4)+8>>2],p[i+16>>2]=N,p[i+16+4>>2]=L,p[i+16+8>>2]=E,p[i+16+12>>2]=0,S=0|_[t+116>>2],h=0|_[t+124>>2],G=((P=+p[S+4+(h<<2)>>2])*l+(M=+p[S+20+(h<<2)>>2])*d+(V=+p[S+36+(h<<2)>>2])*e)*(1-+p[c+(284*s|0)+244>>2]),p[i+48>>2]=l-P*G,p[i+48+4>>2]=d-M*G,p[i+48+8>>2]=e-V*G,Dn(S,i+16|0,i+48|0),p[i>>2]=-N,p[i+4>>2]=-L,p[i+8>>2]=-E,p[i+12>>2]=0,Dn(w,i,i+32|0)),s=s+1|0}while((0|s)<(0|_[t+136>>2]));Q=i}}}}else Q=i},Dc,xc,Wn,Wn,Wn,function(t,e){e=+e;var i,n,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0;if(!((0|(n=0|_[732+(t|=0)>>2]))<=0)){i=0|_[t+740>>2],t=0;do{b=0|_[i+(52*t|0)+8>>2],o=0|_[i+(52*t|0)+12>>2],h=+p[b+40>>2],u=+p[b+44>>2],A=+p[b+48>>2],m=+p[(a=i+(52*t|0)+36|0)>>2],f=+p[(d=i+(52*t|0)+40|0)>>2],r=+p[(l=i+(52*t|0)+44|0)>>2],c=-+p[i+(52*t|0)+32>>2]*((h-+p[o+40>>2])*m+(u-+p[o+44>>2])*f+(A-+p[o+48>>2])*r)*e,s=+p[b+88>>2]*c,p[b+40>>2]=h+m*s,p[b+44>>2]=u+f*s,p[b+48>>2]=A+r*s,s=(c=+p[o+88>>2]*c)*+p[d>>2],r=c*+p[l>>2],p[o+40>>2]=+p[o+40>>2]-+p[a>>2]*c,p[o+44>>2]=+p[o+44>>2]-s,p[o+48>>2]=+p[o+48>>2]-r,t=t+1|0}while((0|t)!=(0|n))}},fl,fl,fl,fl,fl,fl,fl,fl],Kl=[$a,function(t,e,i){e=+e,i=+i;var o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0;if(o=Q,Q=Q+80|0,(r=0|_[8+(t|=0)>>2])?(h=+p[r+332>>2],A=+p[t+172>>2],f=+p[r+336>>2],u=+p[t+168>>2],d=+p[t+164>>2],m=+p[r+328>>2],e=h*A-f*u,a=+p[r+312>>2],A=f*d-A*m,f=+p[r+316>>2],l=+p[r+320>>2],d=u*m-h*d):(r=0|_[t+4>>2])?(h=+p[r+336>>2],A=+p[t+172>>2],f=+p[r+340>>2],u=+p[t+168>>2],d=+p[t+164>>2],m=+p[r+332>>2],e=h*A-f*u,a=+p[r+316>>2],A=f*d-A*m,f=+p[r+320>>2],l=+p[r+324>>2],d=u*m-h*d):(e=0,a=0,A=0,f=0,l=0,d=0),u=a+e,h=f+A,m=l+d,(r=0|_[t+20>>2])?(C=+p[r+332>>2],A=+p[t+188>>2],f=+p[r+336>>2],y=+p[t+184>>2],d=+p[t+180>>2],g=+p[r+328>>2],e=C*A-f*y,a=+p[r+312>>2],A=f*d-A*g,f=+p[r+316>>2],l=+p[r+320>>2],d=y*g-C*d):(r=0|_[t+16>>2])?(y=+p[r+336>>2],A=+p[t+188>>2],f=+p[r+340>>2],C=+p[t+184>>2],d=+p[t+180>>2],g=+p[r+332>>2],e=y*A-f*C,a=+p[r+316>>2],A=f*d-A*g,f=+p[r+320>>2],l=+p[r+324>>2],d=C*g-y*d):(e=0,a=0,A=0,f=0,l=0,d=0),u-=a+e,A=h-(f+A),e=m-(l+d),a=+p[t+196>>2],l=+p[t+200>>2],d=+p[t+204>>2],n[o+36+32|0]=1,_[o+36+16>>2]=0,_[o+36+16+4>>2]=0,_[o+36+16+8>>2]=0,_[o+36+16+12>>2]=0,_[o+36>>2]=_[t+72>>2],_[o+36+4>>2]=_[t+72+4>>2],_[o+36+8>>2]=_[t+72+8>>2],_[o+36+12>>2]=_[t+72+12>>2],a*u+A*l+e*d<0?(y=+p[t+212>>2],g=+p[o+36>>2]+(a*(a*u+A*l+e*d)+(u-a*(a*u+A*l+e*d))*y),p[o+36>>2]=g,C=l*(a*u+A*l+e*d)+(A-l*(a*u+A*l+e*d))*y+ +p[o+36+4>>2],p[o+36+4>>2]=C,l=d*(a*u+A*l+e*d)+(e-d*(a*u+A*l+e*d))*y+ +p[o+36+8>>2],p[o+36+8>>2]=l,r=o+36+4|0,s=o+36+8|0,c=o+36|0,e=g,a=C):(r=o+36+4|0,s=o+36+8|0,c=o+36|0,e=+p[o+36>>2],a=+p[o+36+4>>2],l=+p[o+36+8>>2]),d=(+p[t+104>>2]*e+ +p[t+108>>2]*a+ +p[t+112>>2]*l)*i,A=(e*+p[t+120>>2]+a*+p[t+124>>2]+l*+p[t+128>>2])*i,e=(e*+p[t+136>>2]+a*+p[t+140>>2]+l*+p[t+144>>2])*i,p[c>>2]=d,p[r>>2]=A,p[s>>2]=e,p[o+36+12>>2]=0,(0|(r=0|_[t+4>>2]))!=(0|_[t+16>>2])){s=o+36|0,c=(r=o)+36|0;do{_[r>>2]=_[s>>2],r=r+4|0,s=s+4|0}while((0|r)<(0|c));return C=-+p[o+4>>2],g=-+p[o+8>>2],p[o>>2]=-+p[o>>2],p[o+4>>2]=C,p[o+8>>2]=g,p[o+12>>2]=0,g=-+p[o+20>>2],C=-+p[o+24>>2],p[o+16>>2]=-+p[o+16>>2],p[o+20>>2]=g,p[o+24>>2]=C,p[o+28>>2]=0,qt(t+4|0,o,t+164|0),qt(t+16|0,o+36|0,t+180|0),void(Q=o)}if(d==d&A==A&e==e&!0)if((C=+b(+(d*d+A*A+e*e)))<+p[r+368>>2])Q=o;else{s=0|_[o+36+32>>2],C=+p[r+372>>2],p[o+12>>2]=0,p[o+28>>2]=0,_[o+32>>2]=s,p[o>>2]=-d*C,p[o+4>>2]=-A*C,p[o+8>>2]=-e*C,p[o+16>>2]=-0*C,p[o+20>>2]=-0*C,p[o+24>>2]=-0*C,qt(t+4|0,o,t+164|0),e=+p[372+(0|_[t+4>>2])>>2],s=o+36|0,c=(r=o)+36|0;do{_[r>>2]=_[s>>2],r=r+4|0,s=s+4|0}while((0|r)<(0|c));p[o>>2]=e*+p[o>>2],p[o+4>>2]=e*+p[o+4>>2],p[o+8>>2]=e*+p[o+8>>2],p[o+16>>2]=e*+p[o+16>>2],p[o+20>>2]=e*+p[o+20>>2],p[o+24>>2]=e*+p[o+24>>2],qt(t+16|0,o,t+180|0),Q=o}else Q=o},function(t,e,i){e=+e,i=+i;var n,o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0;if(o=Q,Q=Q+16|0,i=+p[336+(t|=0)>>2]*e,e=+p[t+452>>2],(0|(n=0|_[t+792>>2]))<=0)Q=o;else{r=0;do{h=0|_[t+800>>2],c=0|_[h+(96*r|0)+20>>2],b=0|_[h+(96*r|0)>>2],S=+p[h+(96*r|0)+4>>2],v=+p[h+(96*r|0)+8>>2],C=+p[h+(96*r|0)+12>>2],s=h+(96*r|0)+76|0,g=+p[c+332>>2],A=+p[h+(96*r|0)+84>>2],w=+p[c+336>>2],l=+p[h+(96*r|0)+80>>2],a=+p[s>>2],d=+p[c+328>>2],m=+p[b+8>>2],u=+p[b+12>>2],f=+p[b+16>>2],y=i*(S*+p[c+4>>2]+v*+p[c+8>>2]+C*+p[c+12>>2]+ +p[c+52>>2]-m)+(e*(g*A-w*l+ +p[c+312>>2])-(m-+p[b+24>>2])),A=i*(S*+p[c+20>>2]+v*+p[c+24>>2]+C*+p[c+28>>2]+ +p[c+56>>2]-u)+(e*(+p[c+316>>2]+(w*a-A*d))-(u-+p[b+28>>2])),a=i*(S*+p[c+36>>2]+v*+p[c+40>>2]+C*+p[c+44>>2]+ +p[c+60>>2]-f)+(e*(l*d-g*a+ +p[c+320>>2])-(f-+p[b+32>>2])),g=+p[h+(96*r|0)+24>>2],d=(y*+p[h+(96*r|0)+28>>2]+A*+p[h+(96*r|0)+32>>2]+ +p[h+(96*r|0)+36>>2]*a)*g,l=(y*+p[h+(96*r|0)+44>>2]+A*+p[h+(96*r|0)+48>>2]+a*+p[h+(96*r|0)+52>>2])*g,a=g*(y*+p[h+(96*r|0)+60>>2]+A*+p[h+(96*r|0)+64>>2]+a*+p[h+(96*r|0)+68>>2]),A=+p[h+(96*r|0)+92>>2],p[b+8>>2]=m+d*A,p[b+12>>2]=u+A*l,p[b+16>>2]=f+A*a,p[o>>2]=-d,p[o+4>>2]=-l,p[o+8>>2]=-a,p[o+12>>2]=0,Dn(c,o,s),r=r+1|0}while((0|r)!=(0|n));Q=o}},function(t,e,i){e=+e,i=+i;var n,o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0;if(!((0|(o=0|_[732+(t|=0)>>2]))<=0)){n=0|_[t+740>>2],t=0;do{(i=+p[n+(52*t|0)+24>>2])>0&&(r=0|_[n+(52*t|0)+8>>2],s=0|_[n+(52*t|0)+12>>2],c=+p[r+8>>2],a=+p[s+8>>2]-c,l=+p[r+12>>2],d=+p[s+12>>2]-l,b=+p[r+16>>2],A=+p[s+16>>2]-b,(f=+p[n+(52*t|0)+28>>2])+(a*a+d*d+A*A)>1.1920928955078125e-7)&&(u=(i=(f-(a*a+d*d+A*A))/(i*(f+(a*a+d*d+A*A)))*e)*+p[r+88>>2],p[r+8>>2]=c-a*u,p[r+12>>2]=l-d*u,p[r+16>>2]=b-A*u,i*=+p[s+88>>2],p[s+8>>2]=+p[s+8>>2]+a*i,p[s+12>>2]=d*i+ +p[s+12>>2],p[s+16>>2]=A*i+ +p[s+16>>2]),t=t+1|0}while((0|t)!=(0|o))}},function(t,e,i){e=+e,i=+i;var n,o,r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0;if(r=Q,Q=Q+16|0,o=+p[452+(t|=0)>>2],f=0|_[t+192>>2],n=+Il[15&_[48+(0|_[f>>2])>>2]](f),(0|(f=0|_[t+812>>2]))<=0)Q=r;else{A=0;do{u=0|_[t+820>>2],b=0|_[u+(104*A|0)>>2],0|(b=2&_[b+236>>2]?b:0)?(g=+p[b+332>>2],s=+p[u+(104*A|0)+84>>2],d=+p[b+336>>2],h=+p[u+(104*A|0)+80>>2],c=+p[u+(104*A|0)+76>>2],y=+p[b+328>>2],i=o*(g*s-d*h+ +p[b+312>>2]),s=o*(+p[b+316>>2]+(d*c-s*y)),c=o*(h*y-g*c+ +p[b+320>>2])):(i=0,s=0,c=0),m=0|_[u+(104*A|0)+24>>2],h=+p[m+8>>2],y=+p[m+12>>2],g=+p[m+16>>2],d=h-+p[m+24>>2]-i,l=y-+p[m+28>>2]-s,i=g-+p[m+32>>2]-c,d*(s=+p[u+(104*A|0)+4>>2])+l*(c=+p[u+(104*A|0)+8>>2])+i*(a=+p[u+(104*A|0)+12>>2])<=1.1920928955078125e-7&&(S=h*s+y*c+g*a+ +p[u+(104*A|0)+20>>2],v=(d-(d-s*(d*s+l*c+i*a))*(w=+p[u+(104*A|0)+96>>2])+s*(S=(S>2]))*e,C=(l-(l-c*(d*s+l*c+i*a))*w+c*S)*e,l=(i-(i-a*(d*s+l*c+i*a))*w+a*S)*e,c=+p[u+(104*A|0)+36>>2]*l+(+p[u+(104*A|0)+28>>2]*v+ +p[u+(104*A|0)+32>>2]*C),a=v*+p[u+(104*A|0)+44>>2]+C*+p[u+(104*A|0)+48>>2]+l*+p[u+(104*A|0)+52>>2],l=v*+p[u+(104*A|0)+60>>2]+C*+p[u+(104*A|0)+64>>2]+l*+p[u+(104*A|0)+68>>2],p[r>>2]=c,p[r+4>>2]=a,p[r+8>>2]=l,p[r+12>>2]=0,d=+p[u+(104*A|0)+92>>2],p[m+8>>2]=h-c*d,p[m+12>>2]=y-a*d,p[m+16>>2]=g-l*d,0|b)&&Dn(b,r,u+(104*A|0)+76|0),A=A+1|0}while((0|A)!=(0|f));Q=r}},function(t,e,i){e=+e,i=+i;var n,o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0;if(!((0|(o=0|_[832+(t|=0)>>2]))<=0)){n=0|_[t+840>>2],t=0;do{S=0|_[n+(56*t|0)>>2],b=0|_[n+(56*t|0)+4>>2],l=0|_[b+8>>2],d=0|_[b+12>>2],b=0|_[b+16>>2],C=+p[(s=n+(56*t|0)+8|0)>>2],g=+p[(c=n+(56*t|0)+12|0)>>2],y=+p[(a=n+(56*t|0)+16|0)>>2],e=+p[l+8>>2]*C+ +p[d+8>>2]*g+ +p[b+8>>2]*y,i=+p[l+12>>2]*C+ +p[d+12>>2]*g+ +p[b+12>>2]*y,r=+p[l+16>>2]*C+ +p[d+16>>2]*g+ +p[b+16>>2]*y,A=+p[S+8>>2],f=+p[S+12>>2],u=+p[S+16>>2],m=A-+p[S+24>>2]-(e-(C*+p[l+24>>2]+g*+p[d+24>>2]+y*+p[b+24>>2])),h=f-+p[S+28>>2]-(i-(C*+p[l+28>>2]+g*+p[d+28>>2]+y*+p[b+28>>2])),y=u-+p[S+32>>2]-(r-(C*+p[l+32>>2]+g*+p[d+32>>2]+y*+p[b+32>>2])),m*(g=+p[n+(56*t|0)+24>>2])+h*(C=+p[n+(56*t|0)+28>>2])+y*(v=+p[n+(56*t|0)+32>>2])<0?(e=g*(r=+p[n+(56*t|0)+40>>2]-(A*g+f*C+u*v-(e*g+i*C+r*v)))+0,i=C*r+0,r=v*r+0):(e=0,i=0,r=0),e-=(w=+p[n+(56*t|0)+44>>2])*(m-g*(m*g+h*C+y*v)),i-=w*(h-C*(m*g+h*C+y*v)),C=r-w*(y-v*(m*g+h*C+y*v)),v=+p[n+(56*t|0)+48>>2],p[S+8>>2]=A+v*e,p[S+12>>2]=f+v*i,p[S+16>>2]=u+v*C,v=+p[(S=n+(56*t|0)+52|0)>>2]*+p[s>>2],p[l+8>>2]=+p[l+8>>2]-e*v,p[l+12>>2]=+p[l+12>>2]-i*v,p[l+16>>2]=+p[l+16>>2]-C*v,v=+p[S>>2]*+p[c>>2],p[d+8>>2]=+p[d+8>>2]-e*v,p[d+12>>2]=+p[d+12>>2]-i*v,p[d+16>>2]=+p[d+16>>2]-C*v,v=+p[S>>2]*+p[a>>2],p[b+8>>2]=+p[b+8>>2]-e*v,p[b+12>>2]=+p[b+12>>2]-i*v,p[b+16>>2]=+p[b+16>>2]-C*v,t=t+1|0}while((0|t)!=(0|o))}},$a,$a],ql=[function(t,e,i,n,o,_){e=+e,i=+i,v(23)},function(t,e,i,n,o,r){t|=0,e=+e,i=+i,n|=0,o|=0,r|=0;var s,c,a,l,d,b=0,A=0,f=0,u=0,m=0;for(d=Q,Q=Q+400|0,p[d+376>>2]=0,p[d+372>>2]=0,p[d+368>>2]=0,R_(d+384|0,d+376|0,d+372|0,d+368|0),a=0|Cl(d+384|0),p[a+(n<<2)>>2]=-i,p[d+344>>2]=0,p[d+340>>2]=0,p[d+336>>2]=0,R_(d+352|0,d+344|0,d+340|0,d+336|0),l=0|Cl(d+352|0),p[l+(n<<2)>>2]=i,Yo(d+272|0,o),Zr(d+256|0,o,+p[d+384>>2],+p[d+384+4>>2],+p[d+384+8>>2]),b=0|Ya(d+272|0),_[b>>2]=_[d+256>>2],_[b+4>>2]=_[d+256+4>>2],_[b+8>>2]=_[d+256+8>>2],_[b+12>>2]=_[d+256+12>>2],_[d+240>>2]=_[d+256>>2],_[d+240+4>>2]=_[d+256+4>>2],_[d+240+8>>2]=_[d+256+8>>2],_[d+240+12>>2]=_[d+256+12>>2],Ko(d+224|0,b=0|Cl(d+272|0),(n+1|0)%3|0),Ko(d+192|0,b,n),Xo(d+208|0,+p[d+192>>2],+p[d+192+4>>2],+p[d+192+8>>2]),ad[1&_[64+(0|_[t>>2])>>2]](t,d+240|0,d+224|0,d+208|0,e,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,r,30,0),Yo(d+128|0,o),Zr(d+112|0,o,+p[d+352>>2],+p[d+352+4>>2],+p[d+352+8>>2]),b=0|Ya(d+128|0),_[b>>2]=_[d+112>>2],_[b+4>>2]=_[d+112+4>>2],_[b+8>>2]=_[d+112+8>>2],_[b+12>>2]=_[d+112+12>>2],_[d+96>>2]=_[d+112>>2],_[d+96+4>>2]=_[d+112+4>>2],_[d+96+8>>2]=_[d+112+8>>2],_[d+96+12>>2]=_[d+112+12>>2],Ko(d+80|0,b=0|Cl(d+128|0),(n+1|0)%3|0),Ko(d+64|0,b,n),ad[1&_[64+(0|_[t>>2])>>2]](t,d+96|0,d+80|0,d+64|0,e,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,r,30,0),b=0|Ya(o),i=+p[b>>2],s=+p[b+4>>2],c=+p[b+8>>2],b=0;!(b>>>0>=360);)m=+dl(u=.01745329238474369*+(0|b))*e,p[a+((n+1|0)%3<<2)>>2]=m,p[l+((n+1|0)%3<<2)>>2]=m,u=+bl(u)*e,p[a+((n+2|0)%3<<2)>>2]=u,p[l+((n+2|0)%3<<2)>>2]=u,A=0|_[8+(0|_[t>>2])>>2],Fn(d+32|0,f=0|Cl(o),+p[d+384>>2],+p[d+384+4>>2],+p[d+384+8>>2]),Bo(d+48|0,i,s,c,+p[d+32>>2],+p[d+32+4>>2],+p[d+32+8>>2]),Fn(d,f,+p[d+352>>2],+p[d+352+4>>2],+p[d+352+8>>2]),Bo(d+16|0,i,s,c,+p[d>>2],+p[d+4>>2],+p[d+8>>2]),pd[127&A](t,d+48|0,d+16|0,r),b=b+30|0;Q=d},function(t,e,i,n,o,r){t|=0,e=+e,i=+i,n|=0,r|=0;var s,c,a,l,d,b=0,A=0,f=0,u=0,m=0;for(d=Q,Q=Q+352|0,A=0|Ya(o|=0),s=+p[A>>2],c=+p[A+4>>2],a=+p[A+8>>2],p[d+328>>2]=0,p[d+324>>2]=0,p[d+320>>2]=0,R_(d+336|0,d+328|0,d+324|0,d+320|0),A=(0|Cl(d+336|0))+(n<<2)|0,p[A>>2]=i,p[d+296>>2]=0,p[d+292>>2]=0,p[d+288>>2]=0,R_(d+304|0,d+296|0,d+292|0,d+288|0),A=0|Cl(d+304|0),p[A+(n<<2)>>2]=-i,p[d+264>>2]=0,p[d+260>>2]=0,p[d+256>>2]=0,R_(d+272|0,d+264|0,d+260|0,d+256|0),l=0|Cl(d+272|0),p[l+(n<<2)>>2]=i,b=0;!(b>>>0>=360);)m=+dl(i=.01745329238474369*+(0|b))*e,p[A+((n+1|0)%3<<2)>>2]=m,p[l+((n+1|0)%3<<2)>>2]=m,i=+bl(i)*e,p[A+((n+2|0)%3<<2)>>2]=i,p[l+((n+2|0)%3<<2)>>2]=i,f=0|_[8+(0|_[t>>2])>>2],Fn(d+224|0,u=0|Cl(o),+p[d+304>>2],+p[d+304+4>>2],+p[d+304+8>>2]),Bo(d+240|0,s,c,a,+p[d+224>>2],+p[d+224+4>>2],+p[d+224+8>>2]),Fn(d+192|0,u,+p[d+272>>2],+p[d+272+4>>2],+p[d+272+8>>2]),Bo(d+208|0,s,c,a,+p[d+192>>2],+p[d+192+4>>2],+p[d+192+8>>2]),pd[127&f](t,d+240|0,d+208|0,r),b=b+30|0;p[d+168>>2]=0,p[d+164>>2]=0,p[d+160>>2]=0,R_(d+176|0,d+168|0,d+164|0,d+160|0),u=(0|Cl(d+176|0))+(n<<2)|0,p[u>>2]=1,p[d+136>>2]=0,p[d+132>>2]=0,p[d+128>>2]=0,R_(d+144|0,d+136|0,d+132|0,d+128|0),u=(0|Cl(d+144|0))+((n+1|0)%3<<2)|0,p[u>>2]=1,u=0|_[60+(0|_[t>>2])>>2],Fn(d+96|0,f=0|Cl(o),+p[d+336>>2],+p[d+336+4>>2],+p[d+336+8>>2]),Fo(d+112|0,s,c,a,+p[d+96>>2],+p[d+96+4>>2],+p[d+96+8>>2]),Fn(d+80|0,f,+p[d+176>>2],+p[d+176+4>>2],+p[d+176+8>>2]),Fn(d+64|0,f,+p[d+144>>2],+p[d+144+4>>2],+p[d+144+8>>2]),ld[1&u](t,d+112|0,d+80|0,d+64|0,e,e,0,6.2831854820251465,r,0,10),u=0|_[60+(0|_[t>>2])>>2],Fn(d+32|0,f,+p[d+336>>2],+p[d+336+4>>2],+p[d+336+8>>2]),Bo(d+48|0,s,c,a,+p[d+32>>2],+p[d+32+4>>2],+p[d+32+8>>2]),Fn(d+16|0,f,+p[d+176>>2],+p[d+176+4>>2],+p[d+176+8>>2]),Fn(d,f,+p[d+144>>2],+p[d+144+4>>2],+p[d+144+8>>2]),ld[1&u](t,d+48|0,d+16|0,d,e,e,0,6.2831854820251465,r,0,10),Q=d},function(t,e,i,n,o,r){t|=0,e=+e,i=+i,n|=0,r|=0;var s,c,a,l,d,b,A=0,f=0,u=0,m=0,h=0;for(b=Q,Q=Q+704|0,f=0|Ya(o|=0),a=+p[f>>2],l=+p[f+4>>2],d=+p[f+8>>2],p[b+680>>2]=0,p[b+676>>2]=0,p[b+672>>2]=0,R_(b+688|0,b+680|0,b+676|0,b+672|0),f=(0|Cl(b+688|0))+(n<<2)|0,p[f>>2]=.5*i,p[b+648>>2]=0,p[b+644>>2]=0,p[b+640>>2]=0,R_(b+656|0,b+648|0,b+644|0,b+640|0),f=(0|Cl(b+656|0))+((n+1|0)%3<<2)|0,p[f>>2]=e,p[b+616>>2]=0,p[b+612>>2]=0,p[b+608>>2]=0,R_(b+624|0,b+616|0,b+612|0,b+608|0),f=(0|Cl(b+624|0))+((n+2|0)%3<<2)|0,p[f>>2]=e,p[b+584>>2]=0,p[b+580>>2]=0,p[b+576>>2]=0,R_(b+592|0,b+584|0,b+580|0,b+576|0),f=0|Cl(b+592|0),p[f+(n<<2)>>2]=-.5*i,s=b+688+4|0,c=b+688+8|0,A=0;!(A>>>0>=360);)h=+dl(i=.01745329238474369*+(0|A))*e,p[f+((n+1|0)%3<<2)>>2]=h,i=+bl(i)*e,p[f+((n+2|0)%3<<2)>>2]=i,u=0|_[8+(0|_[t>>2])>>2],Fn(b+544|0,m=0|Cl(o),+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+560|0,a,l,d,+p[b+544>>2],+p[b+544+4>>2],+p[b+544+8>>2]),Fn(b+512|0,m,+p[b+592>>2],+p[b+592+4>>2],+p[b+592+8>>2]),Bo(b+528|0,a,l,d,+p[b+512>>2],+p[b+512+4>>2],+p[b+512+8>>2]),pd[127&u](t,b+560|0,b+528|0,r),A=A+30|0;m=0|_[8+(0|_[t>>2])>>2],Fn(b+480|0,u=0|Cl(o),+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+496|0,a,l,d,+p[b+480>>2],+p[b+480+4>>2],+p[b+480+8>>2]),Xo(b+416|0,+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+432|0,+p[b+416>>2],+p[b+416+4>>2],+p[b+416+8>>2],+p[b+656>>2],+p[b+656+4>>2],+p[b+656+8>>2]),Fn(b+448|0,u,+p[b+432>>2],+p[b+432+4>>2],+p[b+432+8>>2]),Bo(b+464|0,a,l,d,+p[b+448>>2],+p[b+448+4>>2],+p[b+448+8>>2]),pd[127&m](t,b+496|0,b+464|0,r),m=0|_[8+(0|_[t>>2])>>2],Fn(b+384|0,u,+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+400|0,a,l,d,+p[b+384>>2],+p[b+384+4>>2],+p[b+384+8>>2]),Xo(b+320|0,+p[b+688>>2],+p[s>>2],+p[c>>2]),Fo(b+336|0,+p[b+320>>2],+p[b+320+4>>2],+p[b+320+8>>2],+p[b+656>>2],+p[b+656+4>>2],+p[b+656+8>>2]),Fn(b+352|0,u,+p[b+336>>2],+p[b+336+4>>2],+p[b+336+8>>2]),Bo(b+368|0,a,l,d,+p[b+352>>2],+p[b+352+4>>2],+p[b+352+8>>2]),pd[127&m](t,b+400|0,b+368|0,r),m=0|_[8+(0|_[t>>2])>>2],Fn(b+288|0,u,+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+304|0,a,l,d,+p[b+288>>2],+p[b+288+4>>2],+p[b+288+8>>2]),Xo(b+224|0,+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+240|0,+p[b+224>>2],+p[b+224+4>>2],+p[b+224+8>>2],+p[b+624>>2],+p[b+624+4>>2],+p[b+624+8>>2]),Fn(b+256|0,u,+p[b+240>>2],+p[b+240+4>>2],+p[b+240+8>>2]),Bo(b+272|0,a,l,d,+p[b+256>>2],+p[b+256+4>>2],+p[b+256+8>>2]),pd[127&m](t,b+304|0,b+272|0,r),m=0|_[8+(0|_[t>>2])>>2],Fn(b+192|0,u,+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+208|0,a,l,d,+p[b+192>>2],+p[b+192+4>>2],+p[b+192+8>>2]),Xo(b+128|0,+p[b+688>>2],+p[s>>2],+p[c>>2]),Fo(b+144|0,+p[b+128>>2],+p[b+128+4>>2],+p[b+128+8>>2],+p[b+624>>2],+p[b+624+4>>2],+p[b+624+8>>2]),Fn(b+160|0,u,+p[b+144>>2],+p[b+144+4>>2],+p[b+144+8>>2]),Bo(b+176|0,a,l,d,+p[b+160>>2],+p[b+160+4>>2],+p[b+160+8>>2]),pd[127&m](t,b+208|0,b+176|0,r),p[b+104>>2]=0,p[b+100>>2]=0,p[b+96>>2]=0,R_(b+112|0,b+104|0,b+100|0,b+96|0),m=(0|Cl(b+112|0))+(n<<2)|0,p[m>>2]=1,p[b+72>>2]=0,p[b+68>>2]=0,p[b+64>>2]=0,R_(b+80|0,b+72|0,b+68|0,b+64|0),m=(0|Cl(b+80|0))+((n+1|0)%3<<2)|0,p[m>>2]=1,m=0|_[60+(0|_[t>>2])>>2],Fn(b+32|0,u,+p[b+688>>2],+p[s>>2],+p[c>>2]),Fo(b+48|0,a,l,d,+p[b+32>>2],+p[b+32+4>>2],+p[b+32+8>>2]),Fn(b+16|0,u,+p[b+112>>2],+p[b+112+4>>2],+p[b+112+8>>2]),Fn(b,u,+p[b+80>>2],+p[b+80+4>>2],+p[b+80+8>>2]),ld[1&m](t,b+48|0,b+16|0,b,e,e,0,6.2831854820251465,r,0,10),Q=b}],$l=[za,function(t,e,i){e=+e,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0;if(0|(o=0|_[8+(t|=0)>>2])&&!(3&_[o+204>>2])&&(4!=(-2&_[o+216>>2])&&(_[o+216>>2]=1),p[o+220>>2]=0),0|(o=0|_[t+12>>2])&&!(3&_[o+204>>2])&&(4!=(-2&_[o+216>>2])&&(_[o+216>>2]=1),p[o+220>>2]=0),0|(o=0|_[t+20>>2])&&!(3&_[o+204>>2])&&(4!=(-2&_[o+216>>2])&&(_[o+216>>2]=1),p[o+220>>2]=0),0|(o=0|_[t+24>>2])&&!(3&_[o+204>>2])&&(4!=(-2&_[o+216>>2])&&(_[o+216>>2]=1),p[o+220>>2]=0),o=0|_[t+156>>2],_[t+156>>2]=o+1,n[t+152|0]=(0|o)>=(0|_[t+160>>2])&1,0|o)return _[t+72>>2]=0,_[t+72+4>>2]=0,_[t+72+8>>2]=0,_[t+72+12>>2]=0,_[t+72+16>>2]=0,_[t+72+20>>2]=0,_[t+72+24>>2]=0,void(_[t+72+28>>2]=0);c=+p[t+64>>2],s=1/e*(+p[t+72>>2]*c),r=1/e*(c*+p[t+76>>2]),e=1/e*(c*+p[t+80>>2]),p[t+72>>2]=s,p[t+76>>2]=r,p[t+80>>2]=e,p[t+84>>2]=0,(c=+p[t+68>>2])>0&&(l=c*s*+p[t+120>>2]+c*r*+p[t+124>>2]+c*e*+p[t+128>>2],a=c*s*+p[t+136>>2]+c*r*+p[t+140>>2]+c*e*+p[t+144>>2],p[t+88>>2]=c*s*+p[t+104>>2]+c*r*+p[t+108>>2]+c*e*+p[t+112>>2],p[t+92>>2]=l,p[t+96>>2]=a,p[t+100>>2]=0,p[t+72>>2]=(1-c)*s,p[t+76>>2]=(1-c)*r,p[t+80>>2]=(1-c)*e,s*=1-c,r*=1-c,e*=1-c),p[t+72>>2]=1/+(0|i)*s,p[t+76>>2]=1/+(0|i)*r,p[t+80>>2]=1/+(0|i)*e},cp,cp,ir,function(t,e,i){var n,o,r,s,c;t|=0,e=+e,i|=0,n=Q,Q=Q+96|0,_[n+32>>2]=1065353216,_[n+32+4>>2]=0,_[n+32+4+4>>2]=0,_[n+32+4+8>>2]=0,_[n+32+4+12>>2]=0,_[n+32+20>>2]=1065353216,_[n+32+24>>2]=0,_[n+32+24+4>>2]=0,_[n+32+24+8>>2]=0,_[n+32+24+12>>2]=0,_[n+32+40>>2]=1065353216,_[(c=n+32+44|0)>>2]=0,_[c+4>>2]=0,_[c+8>>2]=0,_[c+12>>2]=0,_[c+16>>2]=0,pd[127&_[8+(0|_[t>>2])>>2]](t,n+32|0,n+16|0,n),r=.5*(+p[n>>2]-+p[n+16>>2])*2,o=.5*(+p[n+4>>2]-+p[n+16+4>>2])*2,s=.5*(+p[n+8>>2]-+p[n+16+8>>2])*2,p[i>>2]=e/12*(o*o+s*s),p[i+4>>2]=e/12*(r*r+s*s),p[i+8>>2]=e/12*(r*r+o*o),Q=n},function(t,e,i){var n,o,r,s,c,a;t|=0,e=+e,i|=0,n=Q,Q=Q+96|0,_[n+32>>2]=1065353216,_[n+32+4>>2]=0,_[n+32+4+4>>2]=0,_[n+32+4+8>>2]=0,_[n+32+4+12>>2]=0,_[n+32+20>>2]=1065353216,_[n+32+24>>2]=0,_[n+32+24+4>>2]=0,_[n+32+24+8>>2]=0,_[n+32+24+12>>2]=0,_[n+32+40>>2]=1065353216,_[(a=n+32+44|0)>>2]=0,_[a+4>>2]=0,_[a+8>>2]=0,_[a+12>>2]=0,_[a+16>>2]=0,pd[127&_[8+(0|_[t>>2])>>2]](t,n+32|0,n+16|0,n),s=.5*(+p[n>>2]-+p[n+16>>2]),r=.5*(+p[n+4>>2]-+p[n+16+4>>2]),c=.5*(+p[n+8>>2]-+p[n+16+8>>2]),o=+Il[15&_[48+(0|_[t>>2])>>2]](t),p[i>>2]=.0833333283662796*e*(2*(r+o)*(2*(r+o))+2*(c+o)*(2*(c+o))),p[i+4>>2]=.0833333283662796*e*(2*(s+o)*(2*(s+o))+2*(c+o)*(2*(c+o))),p[i+8>>2]=.0833333283662796*e*(2*(s+o)*(2*(s+o))+2*(r+o)*(2*(r+o))),p[i+12>>2]=0,Q=n},function(t,e,i){i|=0,e=.4000000059604645*(e=+e)*+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),e*=+Il[15&_[48+(0|_[t>>2])>>2]](t),p[i>>2]=e,p[i+4>>2]=e,p[i+8>>2]=e,p[i+12>>2]=0},ir,ir,function(t,e,i){e=+e,i|=0;var n,o,r,s,c=0;n=Q,Q=Q+96|0,c=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),_[n+32>>2]=1065353216,_[n+32+4>>2]=0,_[n+32+4+4>>2]=0,_[n+32+4+8>>2]=0,_[n+32+4+12>>2]=0,_[n+32+20>>2]=1065353216,_[n+32+24>>2]=0,_[n+32+24+4>>2]=0,_[n+32+24+8>>2]=0,_[n+32+24+12>>2]=0,_[n+32+40>>2]=1065353216,_[(s=n+32+44|0)>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[s+16>>2]=0,pd[127&_[8+(0|_[t>>2])>>2]](t,n+32|0,n+16|0,n),r=2*(c+.5*(+p[n>>2]-+p[n+16>>2])),o=2*(c+.5*(+p[n+4>>2]-+p[n+16+4>>2])),c=2*(c+.5*(+p[n+8>>2]-+p[n+16+8>>2])),p[i>>2]=.0833333283662796*e*(o*o+c*c),p[i+4>>2]=.0833333283662796*e*(r*r+c*c),p[i+8>>2]=.0833333283662796*e*(r*r+o*o),p[i+12>>2]=0,Q=n},function(t,e,i){var n,o,r,s,c,a;e=+e,i|=0,n=Q,Q=Q+16|0,c=0|_[52+(t|=0)>>2],a=0|_[t+28+((c+2|0)%3<<2)>>2],_[n>>2]=a,_[n+4>>2]=a,_[n+8>>2]=a,p[n+12>>2]=0,p[n+(c<<2)>>2]=+p[t+28+(c<<2)>>2]+ +p[n+(c<<2)>>2],r=2*(+p[n>>2]+.03999999910593033),o=2*(+p[n+4>>2]+.03999999910593033),s=2*(+p[n+8>>2]+.03999999910593033),p[i>>2]=.0833333283662796*e*(o*o+s*s),p[i+4>>2]=.0833333283662796*e*(r*r+s*s),p[i+8>>2]=.0833333283662796*e*(r*r+o*o),Q=n},function(t,e,i){e=+e,i|=0;var n,o,r,s,c=0;s=+p[28+(t|=0)>>2],o=+p[t+32>>2],c=+p[t+36>>2],r=+Il[15&_[48+(0|_[t>>2])>>2]](t),n=+Il[15&_[48+(0|_[t>>2])>>2]](t),c=2*(c+ +Il[15&_[48+(0|_[t>>2])>>2]](t)),p[i>>2]=e/12*(2*(o+n)*(2*(o+n))+c*c),p[i+4>>2]=e/12*(2*(s+r)*(2*(s+r))+c*c),p[i+8>>2]=e/12*(2*(s+r)*(2*(s+r))+2*(o+n)*(2*(o+n))),p[i+12>>2]=0},ir,function(t,e,i){e=+e,i|=0;var n,o,r,s=0,c=0,a=0,l=0;switch(s=+p[28+(t|=0)>>2],n=+p[t+32>>2],l=+p[t+36>>2],r=+Il[15&_[48+(0|_[t>>2])>>2]](t),o=+Il[15&_[48+(0|_[t>>2])>>2]](t),l=+Il[15&_[48+(0|_[t>>2])>>2]](t)+l,0|_[t+52>>2]){case 0:c=a=.25*e*((o+n)*(o+n))+e/12*((r+s)*(4*(r+s))),s=.5*e*((o+n)*(o+n));break;case 2:c=.5*e*((r+s)*(r+s)),a=.25*e*((r+s)*(r+s))+e/12*(l*(4*l)),s=.25*e*((r+s)*(r+s))+e/12*(l*(4*l));break;default:c=l=.25*e*((r+s)*(r+s))+e/12*((o+n)*(4*(o+n))),a=.5*e*((r+s)*(r+s)),s=l}p[i>>2]=s,p[i+4>>2]=a,p[i+8>>2]=c,p[i+12>>2]=0},za],td=[function(t,e,i,n){e=+e,v(25)},function(t,e,i,n){var o,r;t|=0,e=+e,n|=0,o=Q,Q=Q+64|0,r=0|Ya(i|=0),_[o+48>>2]=_[r>>2],_[o+48+4>>2]=_[r+4>>2],_[o+48+8>>2]=_[r+8>>2],_[o+48+12>>2]=_[r+12>>2],Ko(o+32|0,i=0|Cl(i),1),Ko(o+16|0,i,0),ad[1&_[64+(0|_[t>>2])>>2]](t,o+48|0,o+32|0,o+16|0,e,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,n,30,0),i=0|_[64+(0|_[t>>2])>>2],Xo(o,+p[o+16>>2],+p[o+16+4>>2],+p[o+16+8>>2]),ad[1&i](t,o+48|0,o+32|0,o,e,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,n,30,0),Q=o}],ed=[Al,function(t,e){F(2,0|(t|=0),0|(e|=0))},function(t,e){F(4,0|(t|=0),0|(e|=0))},function(t,e){var i;e|=0,i=Q,Q=Q+128|0,_o(i,68+(t|=0)|0),So(i+64|0,i,t+4|0),Yo(e,i+64|0),Q=i},function(t,e){var i;i=Q,Q=Q+64|0,So(i,e|=0,68+(t|=0)|0),Yo(t+4|0,i),Q=i},_a,fp,lp,_a,function(t,e){e|=0;var i,n=0;n=0|Gl[127&_[16+(0|_[(t|=0)>>2])>>2]](t),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,n,1),i=0|El[63&_[20+(0|_[t>>2])>>2]](t,0|_[n+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,n,i,1245859651,t)},function(t,e){t|=0;var i,n,o,r=0,s=0;if(e=0|_[36+(e|=0)>>2],s=0|_[e+8>>2],r=0|_[e+12>>2],o=0|_[e+16>>2],n=+p[t+52>>2],!((i=+zt(t+4|0,+p[t+36>>2],+p[t+40>>2],+p[t+44>>2],+p[s+8>>2],+p[s+12>>2],+p[s+16>>2],+p[r+8>>2],+p[r+12>>2],+p[r+16>>2],+p[o+8>>2],+p[o+12>>2],+p[o+16>>2],n))>0&i>2])|0,void(_[s>>2]=r);p[t+52>>2]=i,_[t+56>>2]=e,r=1+(r=0|_[(s=t+60|0)>>2])|0,_[s>>2]=r},_a,function(t,e){_[(t|=0)>>2]=1065353216,_[t+4>>2]=1065353216,_[t+8>>2]=1065353216,p[t+12>>2]=0},function(t,e){e|=0;var i,n=0;n=0|Gl[127&_[52+(0|_[(t|=0)>>2])>>2]](t),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,n,1),i=0|El[63&_[56+(0|_[t>>2])>>2]](t,0|_[n+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,n,i,1346455635,t)},function(t,e){t|=0;var i,o,r,s,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0;if(s=Q,Q=Q+192|0,L=0|_[36+(e|=0)>>2],h=+p[(+p[L+88>>2]>0?t+16:t+20)>>2],1&n[L+100|0])Q=s;else{V=0|_[t+8>>2],w=0|_[V+4>>2],G=0|_[V+12>>2],r=0|_[684+(0|_[t+4>>2])>>2],F=+p[L+8>>2]-+p[G+48>>2],C=+p[L+12>>2]-+p[G+52>>2],x=+p[L+16>>2]-+p[G+56>>2],I=1/+p[r+76>>2],v=3*((D=(F*+p[G>>2]+C*+p[G+16>>2]+x*+p[G+32>>2])*I/3)+ +(0|(P=D<0?~~(1-D):0))-+(D+ +(0|P)|0))-+(0|(M=~~(3*(D+ +(0|P)-+(D+ +(0|P)|0))))),P=~~(D+ +(0|P))-P|0,m=3*((D=I*(F*+p[G+4>>2]+C*+p[G+20>>2]+x*+p[G+36>>2])/3)+ +(0|(O=D<0?~~(1-D):0))-+(D+ +(0|O)|0))-+(0|(i=~~(3*(D+ +(0|O)-+(D+ +(0|O)|0))))),O=~~(D+ +(0|O))-O|0,C=3*((x=I*(F*+p[G+8>>2]+C*+p[G+24>>2]+x*+p[G+40>>2])/3)+ +(0|(T=x<0?~~(1-x):0))-+(x+ +(0|T)|0))-+(0|(o=~~(3*(x+ +(0|T)-+(x+ +(0|T)|0))))),y=(((y=(((y=(((y=((y=(y=(y=(y=(y=(y=(y=P>>>16<<11^16+(65535&P)^16+(65535&P)<<16)+(65535&O)+(y>>>11)|0)^O>>>16<<11^y<<16)+(65535&(T=~~(x+ +(0|T))-T|0))+(y>>>11)|0)^T>>>16<<11^y<<16)+(65535&w)+(y>>>11)|0)^w>>>16<<11^y<<16)>>>11)+y|0)<<3^y)>>>5)+(y<<3^y)|0)<<4^y)>>>17)+(y<<4^y)|0)<<25^y)>>>6)+(y<<25^y)|0,g=0|_[r+60>>2],S=0|_[r+68>>2],e=0|_[S+((y>>>0)%(g>>>0)<<2)>>2],_[r+96>>2]=1+(0|_[r+96>>2]),c=1+(0|_[r+92>>2])|0,_[r+92>>2]=c;t:do{if(e)for(;;){if((0|_[e+272>>2])==(0|y)&&(0|_[e+256>>2])==(0|P)&&(0|_[e+260>>2])==(0|O)&&(0|_[e+264>>2])==(0|T)&&(0|_[e+276>>2])==(0|w))break t;if(e=0|_[e+280>>2],c=c+1|0,_[r+92>>2]=c,!e){u=10;break}}else u=10}while(0);t:do{if(10==(0|u)){if(W=0|_[r+84>>2],_[r+84>>2]=W+1,(0|W)>=(0|_[r+88>>2])){_[6280]=1+(0|_[6280]);e:do{if((0|g)>0)for(e=0,c=S;;){if(c=0|_[(W=c+(e<<2)|0)>>2],_[W>>2]=0,0|c)do{W=c,c=0|_[c+280>>2],yl(W)}while(0|c);if((0|(e=e+1|0))==(0|g))break e;c=0|_[r+68>>2]}}while(0);p[r+76>>2]=.25,_[r+80>>2]=0,_[r+84>>2]=0,_[r+92>>2]=1,_[r+96>>2]=1}for(wn(0|(e=0|a_(284)),0,284),_[e+280>>2]=_[S+((y>>>0)%(g>>>0)<<2)>>2],_[S+((y>>>0)%(g>>>0)<<2)>>2]=e,_[e+276>>2]=w,_[e+272>>2]=y,_[e+256>>2]=P,_[e+260>>2]=O,_[e+264>>2]=T,w=s+120+4|0,B=s+120+24|0,W=s+120+44|0,c=0,a=A=+p[r+76>>2];;){for(d=A*(3*+(0|T))+a*+(0|c),u=0;l=A*(3*+(0|O))+a*+(0|u),p[s+48>>2]=3*+(0|P)*A+0*a,p[s+48+4>>2]=l,p[s+48+8>>2]=d,p[s+48+12>>2]=0,y=0|_[e+276>>2],_[s+120>>2]=1065353216,_[w>>2]=0,_[w+4>>2]=0,_[w+8>>2]=0,_[w+12>>2]=0,_[s+120+20>>2]=1065353216,_[B>>2]=0,_[B+4>>2]=0,_[B+8>>2]=0,_[B+12>>2]=0,_[s+120+40>>2]=1065353216,_[W>>2]=0,_[W+4>>2]=0,_[W+8>>2]=0,_[W+12>>2]=0,_[W+16>>2]=0,(0|(S=0|_[y+4>>2]))<20?(a=+Wi(s+48|0,y,s+120|0,s+64|0),g=4+(y=0|_[e+276>>2])|0,S=0|_[y+4>>2]):(a=0,g=y+4|0),p[e+(u<<4)+(c<<2)>>2]=a,p[s+48>>2]=3*+(0|P)*A+ +p[r+76>>2],p[s+48+4>>2]=l,p[s+48+8>>2]=d,p[s+48+12>>2]=0,_[s+120>>2]=1065353216,_[w>>2]=0,_[w+4>>2]=0,_[w+8>>2]=0,_[w+12>>2]=0,_[s+120+20>>2]=1065353216,_[B>>2]=0,_[B+4>>2]=0,_[B+8>>2]=0,_[B+12>>2]=0,_[s+120+40>>2]=1065353216,_[W>>2]=0,_[W+4>>2]=0,_[W+8>>2]=0,_[W+12>>2]=0,_[W+16>>2]=0,(0|S)<20?(a=+Wi(s+48|0,y,s+120|0,s+64|0),g=4+(y=0|_[e+276>>2])|0):a=0,p[e+64+(u<<4)+(c<<2)>>2]=a,p[s+48>>2]=3*+(0|P)*A+2*+p[r+76>>2],p[s+48+4>>2]=l,p[s+48+8>>2]=d,p[s+48+12>>2]=0,_[s+120>>2]=1065353216,_[w>>2]=0,_[w+4>>2]=0,_[w+8>>2]=0,_[w+12>>2]=0,_[s+120+20>>2]=1065353216,_[B>>2]=0,_[B+4>>2]=0,_[B+8>>2]=0,_[B+12>>2]=0,_[s+120+40>>2]=1065353216,_[W>>2]=0,_[W+4>>2]=0,_[W+8>>2]=0,_[W+12>>2]=0,_[W+16>>2]=0,(0|_[g>>2])<20?(a=+Wi(s+48|0,y,s+120|0,s+64|0),g=4+(y=0|_[e+276>>2])|0):a=0,p[e+128+(u<<4)+(c<<2)>>2]=a,p[s+48>>2]=3*+(0|P)*A+3*+p[r+76>>2],p[s+48+4>>2]=l,p[s+48+8>>2]=d,p[s+48+12>>2]=0,_[s+120>>2]=1065353216,_[w>>2]=0,_[w+4>>2]=0,_[w+8>>2]=0,_[w+12>>2]=0,_[s+120+20>>2]=1065353216,_[B>>2]=0,_[B+4>>2]=0,_[B+8>>2]=0,_[B+12>>2]=0,_[s+120+40>>2]=1065353216,_[W>>2]=0,_[W+4>>2]=0,_[W+8>>2]=0,_[W+12>>2]=0,_[W+16>>2]=0,a=(0|_[g>>2])<20?+Wi(s+48|0,y,s+120|0,s+64|0):0,p[e+192+(u<<4)+(c<<2)>>2]=a,4!=(0|(u=u+1|0));)a=+p[r+76>>2];if(4==(0|(c=c+1|0)))break t;a=+p[r+76>>2]}}}while(0);if(_[e+268>>2]=_[r+80>>2],a=+p[e+(M<<6)+(i<<4)+(o<<2)>>2],j=+p[e+(M+1<<6)+(i<<4)+(o<<2)>>2],k=+p[e+(M+1<<6)+(i+1<<4)+(o<<2)>>2],R=+p[e+(M<<6)+(i+1<<4)+(o<<2)>>2],x=+p[e+(M<<6)+(i<<4)+(o+1<<2)>>2],F=+p[e+(M+1<<6)+(i<<4)+(o+1<<2)>>2],D=+p[e+(M+1<<6)+(i+1<<4)+(o+1<<2)>>2],I=+p[e+(M<<6)+(i+1<<4)+(o+1<<2)>>2],f=1/+b(+((A=x-a+v*(F-j-(x-a))+m*(I-R+v*(D-k-(I-R))-(x-a+v*(F-j-(x-a)))))*A+((l=j-a+m*(k-R-(j-a))+C*(F-x+m*(D-I-(F-x))-(j-a+m*(k-R-(j-a)))))*l+(d=R-a+v*(k-j-(R-a))+C*(I-x+v*(D-F-(I-x))-(R-a+v*(k-j-(R-a)))))*d))),(a=(a=a+v*(j-a)+m*(R+v*(k-R)-(a+v*(j-a))))+C*(x+v*(F-x)+m*(I+v*(D-I)-(x+v*(F-x)))-a)-h)<0)if(S=0|_[V+8>>2],F=+p[G>>2]*(l*f)+ +p[G+4>>2]*(d*f)+ +p[G+8>>2]*(A*f),x=l*f*+p[G+16>>2]+d*f*+p[G+20>>2]+A*f*+p[G+24>>2],I=l*f*+p[G+32>>2]+d*f*+p[G+36>>2]+A*f*+p[G+40>>2],D=-(F*(+p[L+8>>2]-a*F)+x*(+p[L+12>>2]-a*x)+I*(+p[L+16>>2]-a*I)),(v=+p[L+88>>2])+(C=(e=0|_[t+12>>2])?+p[e+344>>2]:0)>0){if(u=e?e+4|0:4+(0|_[8+(0|_[t+8>>2])>>2])|0,!(0|n[24480])&&0|Qs(24480)){c=48+(e=25124)|0;do{_[e>>2]=0,e=e+4|0}while((0|e)<(0|c))}if(c=0|_[t+12>>2],R=(f=+p[L+8>>2])-+p[u+48>>2],j=(m=+p[L+12>>2])-+p[u+52>>2],k=(h=+p[L+16>>2])-+p[u+56>>2],c?(d=+p[c+332>>2],l=+p[c+336>>2],E=+p[c+328>>2],e=0|_[t+4>>2],A=+p[e+452>>2],a=(k*d-j*l+ +p[c+312>>2])*A,l=(+p[c+316>>2]+(R*l-k*E))*A,d=(j*E-R*d+ +p[c+320>>2])*A):(a=0,l=0,d=0,e=G=0|_[t+4>>2],A=+p[G+452>>2]),f=f-+p[L+24>>2]-a,m=m-+p[L+28>>2]-l,E=h-+p[L+32>>2]-d,l=+p[e+316>>2]*+p[224+(0|_[8+(0|_[t+8>>2])>>2])>>2],nt(s+120|0,A,v,C,0|c?c+264|0:25124,R,j,k),_[s+32>>2]=_[s+120>>2],_[s+32+4>>2]=_[s+120+4>>2],_[s+32+8>>2]=_[s+120+8>>2],_[s+32+12>>2]=_[s+120+12>>2],_[s+16>>2]=_[s+120+16>>2],_[s+16+4>>2]=_[s+120+16+4>>2],_[s+16+8>>2]=_[s+120+16+8>>2],_[s+16+12>>2]=_[s+120+16+12>>2],_[s>>2]=_[s+120+32>>2],_[s+4>>2]=_[s+120+32+4>>2],_[s+8>>2]=_[s+120+32+8>>2],_[s+12>>2]=_[s+120+32+12>>2],g=0|_[t+4>>2],a=v*+p[g+452>>2],l=(E-I*(f*F+m*x+E*I))*(E-I*(f*F+m*x+E*I))+((f-F*(f*F+m*x+E*I))*(f-F*(f*F+m*x+E*I))+(m-x*(f*F+m*x+E*I))*(m-x*(f*F+m*x+E*I)))>2])>>2])>>2]?g+328:g+324)>>2],(0|(e=0|_[g+812>>2]))==(0|_[g+816>>2])&&(0|e)<(0|(N=0|e?e<<1:1))){if(N?(_[6630]=1+(0|_[6630]),(e=0|di(16+(104*N|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,u=e,e=0|_[g+812>>2]):u=0,(0|e)>0){c=0;do{G=u+(104*c|0)|0,M=(V=0|_[g+820>>2])+(104*c|0)|0,_[G>>2]=_[M>>2],_[G+4>>2]=_[M+4>>2],_[G+8>>2]=_[M+8>>2],_[G+12>>2]=_[M+12>>2],_[G+16>>2]=_[M+16>>2],_[G+20>>2]=_[M+20>>2],_[G+24>>2]=_[M+24>>2],M=V+(104*c|0)+28|0,_[(G=u+(104*c|0)+28|0)>>2]=_[M>>2],_[G+4>>2]=_[M+4>>2],_[G+8>>2]=_[M+8>>2],_[G+12>>2]=_[M+12>>2],G=V+(104*c|0)+44|0,_[(M=u+(104*c|0)+44|0)>>2]=_[G>>2],_[M+4>>2]=_[G+4>>2],_[M+8>>2]=_[G+8>>2],_[M+12>>2]=_[G+12>>2],M=V+(104*c|0)+60|0,_[(G=u+(104*c|0)+60|0)>>2]=_[M>>2],_[G+4>>2]=_[M+4>>2],_[G+8>>2]=_[M+8>>2],_[G+12>>2]=_[M+12>>2],V=V+(104*c|0)+76|0,_[(G=u+(104*c|0)+76|0)>>2]=_[V>>2],_[G+4>>2]=_[V+4>>2],_[G+8>>2]=_[V+8>>2],_[G+12>>2]=_[V+12>>2],_[G+16>>2]=_[V+16>>2],_[G+20>>2]=_[V+20>>2],_[G+24>>2]=_[V+24>>2],c=c+1|0}while((0|c)!=(0|e))}0|(e=0|_[g+820>>2])&&(0|n[g+824|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[g+820>>2]=0),n[g+824|0]=1,_[g+820>>2]=u,_[g+816>>2]=N,e=0|_[g+812>>2]}N=0|_[g+820>>2],_[N+(104*e|0)>>2]=S,p[N+(104*e|0)+4>>2]=F,p[N+(104*e|0)+8>>2]=x,p[N+(104*e|0)+12>>2]=I,p[N+(104*e|0)+16>>2]=0,p[N+(104*e|0)+20>>2]=D,_[N+(104*e|0)+24>>2]=L,_[(L=N+(104*e|0)+28|0)>>2]=_[s+32>>2],_[L+4>>2]=_[s+32+4>>2],_[L+8>>2]=_[s+32+8>>2],_[L+12>>2]=_[s+32+12>>2],_[(L=N+(104*e|0)+44|0)>>2]=_[s+16>>2],_[L+4>>2]=_[s+16+4>>2],_[L+8>>2]=_[s+16+8>>2],_[L+12>>2]=_[s+16+12>>2],_[(L=N+(104*e|0)+60|0)>>2]=_[s>>2],_[L+4>>2]=_[s+4>>2],_[L+8>>2]=_[s+8>>2],_[L+12>>2]=_[s+12>>2],p[(L=N+(104*e|0)+76|0)>>2]=R,p[N+(104*e|0)+80>>2]=j,p[N+(104*e|0)+84>>2]=k,p[N+(104*e|0)+88>>2]=0,p[L+16>>2]=a,p[L+20>>2]=l,_[L+24>>2]=y,_[g+812>>2]=1+(0|_[g+812>>2]),(e=0|_[t+12>>2])?(3&_[e+204>>2]||(4!=(-2&_[e+216>>2])&&(_[e+216>>2]=1),p[e+220>>2]=0),Q=s):Q=s}else Q=s;else Q=s}},function(t,e){t|=0;var i,o=0,r=0,s=0,c=0,a=0,l=0;if(i=Q,Q=Q+336|0,r=0|_[36+(e|=0)>>2],_[i+272+4>>2]=35,_[i+272+8>>2]=0,_[i+272+12>>2]=1065353216,_[i+272+16>>2]=1065353216,_[i+272+20>>2]=1065353216,p[i+272+24>>2]=0,_[i+272>>2]=4284,_[i+272+52>>2]=r,p[i+272+44>>2]=0,a=0|_[t+28>>2],e=0|_[a+4>>2],3&_[204+(0|_[a+8>>2])>>2]&&0|n[r+376|0])Q=i;else{if(!(0|n[24408])&&0|Qs(24408)&&(!(0|n[24416])&&0|Qs(24416)&&(_[6222]=1065353216,_[6223]=0,_[6224]=0,_[6225]=0,_[6226]=0,_[6227]=1065353216,_[6228]=0,_[6229]=0,_[6230]=0,_[6231]=0,_[6232]=1065353216,p[6233]=0),_[6206]=_[6222],_[6207]=_[6223],_[6208]=_[6224],_[6209]=_[6225],_[6210]=_[6226],_[6211]=_[6227],_[6212]=_[6228],_[6213]=_[6229],_[6214]=_[6230],_[6215]=_[6231],_[6216]=_[6232],_[6217]=_[6233],_[6218]=0,_[6219]=0,_[6220]=0,_[6221]=0),o=0|_[12+(0|_[t+28>>2])>>2],_[i>>2]=1065353216,_[i+4>>2]=0,_[i+8>>2]=0,p[i+12>>2]=0,(0|Se(i+272|0,24824,e,o,i,i+216|0)||0|gi(i+272|0,24824,e,o,i,i+216|0,0))&&(s=12),12==(0|s)&&(_[i+4>>2]=0,_[i+4+4>>2]=0,_[i+4+8>>2]=0,_[i+4+12>>2]=0,_[i+4+16>>2]=0,_[i+4+20>>2]=0,n[i+152|0]=0,_[i>>2]=4104,a=0|_[8+(0|_[t+28>>2])>>2],0|Ii(t,i+216|0,r,0,0,0,2&_[a+236>>2]?a:0,a,i))){_[6630]=1+(0|_[6630]),(e=0|di(235))?(_[(e+4+15&-16)-4>>2]=e,a=e+4+15&-16):a=0,e=a+152|0,wn(0|(o=a+4|0),0,212),_[a>>2]=4104,r=i+4|0,s=o+100|0;do{_[o>>2]=_[r>>2],o=o+4|0,r=r+4|0}while((0|o)<(0|s));_[(o=a+104|0)>>2]=_[i+104>>2],_[o+4>>2]=_[i+104+4>>2],_[o+8>>2]=_[i+104+8>>2],_[o+12>>2]=_[i+104+12>>2],_[(o=a+120|0)>>2]=_[i+120>>2],_[o+4>>2]=_[i+120+4>>2],_[o+8>>2]=_[i+120+8>>2],_[o+12>>2]=_[i+120+12>>2],_[(o=a+136|0)>>2]=_[i+136>>2],_[o+4>>2]=_[i+136+4>>2],_[o+8>>2]=_[i+136+8>>2],_[o+12>>2]=_[i+136+12>>2],n[0|e]=0|n[i+152|0],r=i+156|0,s=60+(o=a+156|0)|0;do{_[o>>2]=_[r>>2],o=o+4|0,r=r+4|0}while((0|o)<(0|s));if(s=0|_[t+24>>2],c=a,(0|(e=0|_[s+852>>2]))==(0|_[s+856>>2])&&(0|e)<(0|(l=0|e?e<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(e=0|di(16+(l<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,r=e,e=0|_[s+852>>2]):r=0,(0|e)>0){o=0;do{_[r+(o<<2)>>2]=_[(0|_[s+860>>2])+(o<<2)>>2],o=o+1|0}while((0|o)!=(0|e))}(o=0|_[s+860>>2])&&(0|n[s+864|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),e=0|_[s+852>>2]),_[s+860>>2]=0),n[s+864|0]=1,_[s+860>>2]=r,_[s+856>>2]=l}_[(0|_[s+860>>2])+(e<<2)>>2]=c,_[s+852>>2]=e+1,e=0|_[t+24>>2],3&_[204+(0|_[8+(0|_[t+28>>2])>>2])>>2]?(p[(t=a+64|0)>>2]=+p[e+344>>2]*+p[t>>2],e=e+356|0):(p[(t=a+64|0)>>2]=+p[e+340>>2]*+p[t>>2],e=e+352|0),p[(t=a+68|0)>>2]=+p[e>>2]*+p[t>>2]}Q=i}},function(t,e){var i,n,o;t|=0,o=+d(+ +p[(e|=0)>>2]),n=+d(+ +p[e+4>>2]),i=+d(+ +p[e+8>>2]),p[t+12>>2]=o,p[t+16>>2]=n,p[t+20>>2]=i,p[t+24>>2]=0},_a,_a,_a,_a,ap,function(t,e){t|=0;var i=0,n=0,o=0,r=0,s=0,p=0;if(!(0|(e|=0))|8!=(0|(i=0|_[e+236>>2]))){if(!(!(0|e)|!(2&i)))return void ed[127&_[92+(0|_[t>>2])>>2]](t,e);if(0|(i=0|_[e+188>>2])&&(s=0|_[t+68>>2],s=0|Gl[127&_[36+(0|_[s>>2])>>2]](s),_d[127&_[40+(0|_[s>>2])>>2]](s,i,0|_[t+24>>2]),s=0|_[t+68>>2],_d[127&_[12+(0|_[s>>2])>>2]](s,i,0|_[t+24>>2]),_[e+188>>2]=0),(0|(n=0|_[t+8>>2]))<=0)return;for(o=0|_[t+16>>2],i=0;(0|_[(r=o+(i<<2)|0)>>2])!=(0|e);){if(!((0|(s=i+1|0))<(0|n))){p=26;break}i=s}if(26==(0|p))return;if((0|i)>=(0|n))return;return _[r>>2]=_[o+(n+-1<<2)>>2],_[(0|_[t+16>>2])+(n+-1<<2)>>2]=e,void(_[t+8>>2]=n+-1)}r=0|_[t+328>>2];t:do{if((0|r)>0){for(o=0|_[t+336>>2],i=0;(0|_[(n=o+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|r))break t;(0|i)<(0|r)&&(_[n>>2]=_[o+(r+-1<<2)>>2],_[(0|_[t+336>>2])+(r+-1<<2)>>2]=e,_[t+328>>2]=r+-1)}}while(0);if(0|(i=0|_[e+188>>2])&&(s=0|_[t+68>>2],s=0|Gl[127&_[36+(0|_[s>>2])>>2]](s),_d[127&_[40+(0|_[s>>2])>>2]](s,i,0|_[t+24>>2]),s=0|_[t+68>>2],_d[127&_[12+(0|_[s>>2])>>2]](s,i,0|_[t+24>>2]),_[e+188>>2]=0),!((0|(n=0|_[t+8>>2]))<=0)){for(o=0|_[t+16>>2],i=0;(0|_[(r=o+(i<<2)|0)>>2])!=(0|e);){if(!((0|(s=i+1|0))<(0|n))){p=26;break}i=s}26!=(0|p)&&((0|i)>=(0|n)||(_[r>>2]=_[o+(n+-1<<2)>>2],_[(0|_[t+16>>2])+(n+-1<<2)>>2]=e,_[t+8>>2]=n+-1))}},function(t,e){t|=0;var i=0,n=0,o=0,r=0;Xl[511&_[32+(0|_[(e|=0)>>2])>>2]](e),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,104,1),r=104+(o=i=0|_[n+8>>2])|0;do{_[o>>2]=0,o=o+4|0}while((0|o)<(0|r));if(_[i+88>>2]=_[t+248>>2],_[i+92>>2]=_[t+252>>2],_[i+96>>2]=_[t+256>>2],_[i+100>>2]=_[t+260>>2],_[i>>2]=_[t+92>>2],_[i+4>>2]=_[t+96>>2],_[i+8>>2]=_[t+100>>2],_[i+12>>2]=_[t+104>>2],_[i+16>>2]=_[t+108>>2],_[i+20>>2]=_[t+116>>2],_[i+24>>2]=_[t+120>>2],_[i+28>>2]=_[t+124>>2],_[i+32>>2]=_[t+128>>2],_[i+36>>2]=_[t+132>>2],_[i+40>>2]=_[t+140>>2],_[i+44>>2]=_[t+144>>2],_[i+48>>2]=_[t+148>>2],_[i+52>>2]=_[t+152>>2],_[i+56>>2]=_[t+168>>2],_[i+60>>2]=_[t+172>>2],_[i+64>>2]=_[t+112>>2],_[i+68>>2]=_[t+156>>2],_[i+72>>2]=_[t+160>>2],_[i+76>>2]=_[t+164>>2],_[i+80>>2]=_[t+136>>2],dd[31&_[20+(0|_[e>>2])>>2]](e,n,14664,1145853764,i),(0|(i=0|_[t+8>>2]))<=0)return Ji(t,e),Vi(t,e),t=0|_[e>>2],t=0|_[(t=t+36|0)>>2],void Xl[511&t](e);o=0;do{n=0|_[(0|_[t+16>>2])+(o<<2)>>2],8&_[n+236>>2]&&(r=0|Gl[127&_[16+(0|_[n>>2])>>2]](n),r=0|El[63&_[16+(0|_[e>>2])>>2]](e,r,1),i=0|El[63&_[20+(0|_[n>>2])>>2]](n,0|_[r+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,r,i,1497645651,n),i=0|_[t+8>>2]),o=o+1|0}while((0|o)<(0|i));Ji(t,e),Vi(t,e),t=0|_[e>>2],t=0|_[(t=t+36|0)>>2],Xl[511&t](e)},function(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0;o=0|_[212+(t|=0)>>2];t:do{if((0|o)>0){for(r=0|_[t+220>>2],i=0;(0|_[(n=r+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|o))break t;(0|i)<(0|o)&&(_[n>>2]=_[r+(o+-1<<2)>>2],_[(0|_[t+220>>2])+(o+-1<<2)>>2]=e,_[t+212>>2]=o+-1)}}while(0);r=0|_[e+28>>2],i=0|_[r+488>>2];t:do{if((0|i)>0){for(o=0|_[r+496>>2],n=0;(0|_[(t=o+(n<<2)|0)>>2])!=(0|e);)if((0|(n=n+1|0))>=(0|i))break t;(0|n)<(0|i)&&(_[t>>2]=_[o+(i+-1<<2)>>2],_[(0|_[r+496>>2])+(i+-1<<2)>>2]=e,_[r+488>>2]=i+-1,i=i+-1|0)}}while(0);if(_[r+256>>2]=(0|i)>0&1,r=0|_[e+32>>2],(0|(i=0|_[r+488>>2]))<=0)return e=(0|(e=i))>0,e&=1,void(_[(s=r+256|0)>>2]=e);for(o=0|_[r+496>>2],n=0;(0|_[(t=o+(n<<2)|0)>>2])!=(0|e);)if((0|(n=n+1|0))>=(0|i)){s=19;break}return 19==(0|s)?(e=(0|i)>0,e&=1,void(_[(s=r+256|0)>>2]=e)):(0|n)>=(0|i)?(e=(0|(e=i))>0,e&=1,void(_[(s=r+256|0)>>2]=e)):(_[t>>2]=_[o+(i+-1<<2)>>2],_[(0|_[r+496>>2])+(i+-1<<2)>>2]=e,_[r+488>>2]=i+-1,e=(0|(e=i+-1|0))>0,e&=1,void(_[(s=r+256|0)>>2]=e))},function(t,e){e|=0;var i=0,o=0,r=0,s=0;if((0|(i=0|_[280+(t|=0)>>2]))==(0|_[t+284>>2])&&(0|i)<(0|(s=0|i?i<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(i=0|di(16+(s<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,r=i,i=0|_[t+280>>2]):r=0,(0|i)>0){o=0;do{_[r+(o<<2)>>2]=_[(0|_[t+288>>2])+(o<<2)>>2],o=o+1|0}while((0|o)!=(0|i))}(o=0|_[t+288>>2])&&(0|n[t+292|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),i=0|_[t+280>>2]),_[t+288>>2]=0),n[t+292|0]=1,_[t+288>>2]=r,_[t+284>>2]=s}_[(0|_[t+288>>2])+(i<<2)>>2]=e,_[t+280>>2]=i+1},function(t,e){e|=0;var i,n,o=0,r=0,s=0;if(!((0|(i=0|_[280+(t|=0)>>2]))<=0)){for(n=0|_[t+288>>2],o=0;(0|_[(r=n+(o<<2)|0)>>2])!=(0|e);)if((0|(o=o+1|0))>=(0|i)){s=7;break}7!=(0|s)&&((0|o)>=(0|i)||(_[r>>2]=_[n+(i+-1<<2)>>2],_[(0|_[t+288>>2])+(i+-1<<2)>>2]=e,_[t+280>>2]=i+-1))}},function(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0,c=0;if(_[248+(t|=0)>>2]=_[e>>2],_[t+248+4>>2]=_[e+4>>2],_[t+248+8>>2]=_[e+8>>2],_[t+248+12>>2]=_[e+12>>2],!((0|(i=0|_[t+232>>2]))<=0)){r=0;do{switch(o=0|_[(0|_[t+240>>2])+(r<<2)>>2],0|_[o+216>>2]){case 2:case 5:break;default:1&_[o+504>>2]||(0!=(n=+p[o+344>>2])&&(c=1/n*+p[e+4>>2],s=1/n*+p[e+8>>2],p[o+364>>2]=1/n*+p[e>>2],p[o+368>>2]=c,p[o+372>>2]=s,p[o+376>>2]=0),_[o+380>>2]=_[e>>2],_[o+380+4>>2]=_[e+4>>2],_[o+380+8>>2]=_[e+8>>2],_[o+380+12>>2]=_[e+12>>2],i=0|_[t+232>>2])}r=r+1|0}while((0|r)<(0|i))}},function(t,e){e|=0,_[(t|=0)>>2]=_[e+248>>2],_[t+4>>2]=_[e+248+4>>2],_[t+8>>2]=_[e+248+8>>2],_[t+12>>2]=_[e+248+12>>2]},function(t,e){t|=0;var i=0,o=0,r=0,s=0,c=0,a=0,l=0;if(3&(i=0|_[204+(e|=0)>>2])||1&_[e+504>>2]||(0!=(r=+p[e+344>>2])&&(l=1/r*+p[t+252>>2],a=1/r*+p[t+256>>2],p[e+364>>2]=1/r*+p[t+248>>2],p[e+368>>2]=l,p[e+372>>2]=a,p[e+376>>2]=0),_[e+380>>2]=_[t+248>>2],_[e+380+4>>2]=_[t+248+4>>2],_[e+380+8>>2]=_[t+248+8>>2],_[e+380+12>>2]=_[t+248+12>>2]),0|_[e+192>>2]){if(1&i)4==(-2&_[e+216>>2])||(_[e+216>>2]=2),i&=3;else{if((0|(o=0|_[t+232>>2]))==(0|_[t+236>>2])&&(0|o)<(0|(c=0|o?o<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(i=0|di(16+(c<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,o=0|_[t+232>>2]):i=0,(0|o)>0){s=0;do{_[i+(s<<2)>>2]=_[(0|_[t+240>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|o))}(s=0|_[t+240>>2])&&(0|n[t+244|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),o=0|_[t+232>>2]),_[t+240>>2]=0),n[t+244|0]=1,_[t+240>>2]=i,_[t+236>>2]=c,i=3&_[e+204>>2]}else i&=3;_[(0|_[t+240>>2])+(o<<2)>>2]=e,_[t+232>>2]=o+1}c=!!(0|i),pd[127&_[36+(0|_[t>>2])>>2]](t,e,c?2:1,c?-3:-1)}},function(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0;o=0|_[232+(t|=0)>>2];t:do{if((0|o)>0){for(r=0|_[t+240>>2],i=0;(0|_[(n=r+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|o))break t;(0|i)<(0|o)&&(_[n>>2]=_[r+(o+-1<<2)>>2],_[(0|_[t+240>>2])+(o+-1<<2)>>2]=e,_[t+232>>2]=o+-1)}}while(0);if(0|(i=0|_[e+188>>2])&&(r=0|_[t+68>>2],r=0|Gl[127&_[36+(0|_[r>>2])>>2]](r),_d[127&_[40+(0|_[r>>2])>>2]](r,i,0|_[t+24>>2]),r=0|_[t+68>>2],_d[127&_[12+(0|_[r>>2])>>2]](r,i,0|_[t+24>>2]),_[e+188>>2]=0),!((0|(o=0|_[t+8>>2]))<=0)){for(r=0|_[t+16>>2],i=0;(0|_[(n=r+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|o)){s=15;break}15!=(0|s)&&((0|i)>=(0|o)||(_[n>>2]=_[r+(o+-1<<2)>>2],_[(0|_[t+16>>2])+(o+-1<<2)>>2]=e,_[t+8>>2]=o+-1))}},function(t,e){e|=0;var i=0;0|n[273+(t|=0)|0]&&0|(i=0|_[t+200>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),n[t+273|0]=0,_[t+200>>2]=e,_[8+(0|_[t+196>>2])>>2]=e},cs,os,cs,os,function(t,e){t|=0,e|=0;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0;if(i=Q,Q=Q+16|0,$i(14477),a=0|_[t+212>>2],(0|(c=0|_[t+180>>2]))<(0|a)){if((0|_[t+184>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(o=0|di(16+(a<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=0|_[t+180>>2]):(o=0,s=c),(0|s)>0){r=0;do{_[o+(r<<2)>>2]=_[(0|_[t+188>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s))}0|(r=0|_[t+188>>2])&&(0|n[t+192|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+188>>2]=0),n[t+192|0]=1,_[t+188>>2]=o,_[t+184>>2]=a,r=t+188|0}else r=t+188|0;o=c;do{_[(0|_[r>>2])+(o<<2)>>2]=0,o=o+1|0}while((0|o)!=(0|a))}else r=t+188|0;for(_[t+180>>2]=a,o=0;!((0|o)>=(0|Gl[127&_[104+(0|_[t>>2])>>2]](t)));)_[(0|_[r>>2])+(o<<2)>>2]=_[(0|_[t+220>>2])+(o<<2)>>2],o=o+1|0;if((0|(o=0|_[t+180>>2]))>1&&It(t+176|0,0,o+-1|0),o=0|Gl[127&_[104+(0|_[t>>2])>>2]](t)?0|_[r>>2]:0,s=0|_[t+196>>2],h=0|_[t+180>>2],y=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),_[s+4>>2]=e,_[s+12>>2]=o,_[s+16>>2]=h,_[s+20>>2]=y,(0|(o=0|_[s+32>>2]))<0){(0|_[s+36>>2])<0&&(0|(r=0|_[s+40>>2])&&(0|n[s+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[s+40>>2]=0),n[s+44|0]=1,_[s+40>>2]=0,_[s+36>>2]=0);do{_[(0|_[s+40>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[s+32>>2]=0,(0|(o=0|_[s+52>>2]))<0){(0|_[s+56>>2])<0&&(0|(r=0|_[s+60>>2])&&(0|n[s+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[s+60>>2]=0),n[s+64|0]=1,_[s+60>>2]=0,_[s+56>>2]=0);do{_[(0|_[s+60>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[s+52>>2]=0,(0|(o=0|_[s+72>>2]))<0){(0|_[s+76>>2])<0&&(0|(r=0|_[s+80>>2])&&(0|n[s+84|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[s+80>>2]=0),n[s+84|0]=1,_[s+80>>2]=0,_[s+76>>2]=0);do{_[(0|_[s+80>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[s+72>>2]=0,y=0|_[t+200>>2],o=0|_[8+(0|_[y>>2])>>2],u=0|_[t+8>>2],h=0|_[t+24>>2],h=0|Gl[127&_[36+(0|_[h>>2])>>2]](h),_d[127&o](y,u,h),h=0|_[t+204>>2],u=0|_[t+24>>2],y=0|_[t+196>>2],$i(16309),(0|(o=0|_[h+28>>2]))<0){(0|_[h+32>>2])<0&&(0|(r=0|_[h+36>>2])&&(0|n[h+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[h+36>>2]=0),n[h+40|0]=1,_[h+36>>2]=0,_[h+32>>2]=0);do{_[(0|_[h+36>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[h+28>>2]=0,(0|(a=0|_[h+8>>2]))>0){l=0|_[h+16>>2],c=0;do{if((0|(o=0|_[(d=l+(c<<3)|0)>>2]))!=(0|c)){if(_[d>>2]=_[l+(o<<3)>>2],(0|(o=0|_[l+(o<<3)>>2]))!=(0|(r=0|_[l+(o<<3)>>2]))){s=l+(o<<3)|0;do{o=l+(r<<3)|0,_[s>>2]=_[o>>2],o=0|_[o>>2],r=0|_[(s=l+(o<<3)|0)>>2]}while((0|o)!=(0|r))}}else o=c;_[d>>2]=o,c=c+1|0}while((0|c)!=(0|a));if((0|a)>1?(on(h+4|0,0,a+-1|0),b=0|_[h+8>>2]):b=a,(0|b)>0)for(A=0|_[h+16>>2],l=0;;){f=0|_[A+(l<<3)>>2],o=l+1|0;t:do{if((0|o)<(0|b))for(r=l,s=o;;){if((0|_[A+(s<<3)>>2])!=(0|f)){o=s;break t}if(!((0|(o=s+1|0))<(0|b))){r=s;break}r=s,s=o}else r=l}while(0);t:do{if((0|l)<=(0|r)){for(d=0|_[t+16>>2],s=1,a=l;c=0|_[d+(_[A+(a<<3)+4>>2]<<2)>>2],(0|_[c+208>>2])==(0|f)&&(s=4!=(0|(c=0|_[c+216>>2]))&s&1!=(0|c)),(0|a)<(0|r);)a=a+1|0;if(s)for(s=l;;){c=0|_[d+(_[A+(s<<3)+4>>2]<<2)>>2];do{if((0|_[c+208>>2])==(0|f)){if(4==(-2&_[c+216>>2]))break;_[c+216>>2]=2}}while(0);if((0|s)>=(0|r))break t;s=s+1|0}else for(s=l;;){c=0|_[d+(_[A+(s<<3)+4>>2]<<2)>>2];do{if((0|_[c+208>>2])==(0|f)){if(2!=(0|_[c+216>>2]))break;_[c+216>>2]=3,p[c+220>>2]=0}}while(0);if((0|s)>=(0|r))break t;s=s+1|0}}}while(0);if(!((0|o)<(0|b)))break;l=o}}if((0|(l=0|Gl[127&_[36+(0|_[u>>2])>>2]](u)))>0){a=0;do{if(d=0|Ll[31&_[40+(0|_[u>>2])>>2]](u,a),s=0|_[d+740>>2],c=0|_[d+744>>2],101==(0|(r=0|s&&2!=(0|_[s+216>>2])?2&(o=0|_[s+204>>2])?106:111:101))&&(r=0,0|c)&&2!=(0|_[c+216>>2])&&(r=2&(o=0|_[s+204>>2])&&2!=(0|_[s+216>>2])?106:111),106==(0|r)&&(4&o||3&_[c+204>>2]||(4!=(-2&_[c+216>>2])&&(_[c+216>>2]=1),p[c+220>>2]=0),r=111),111==(0|r)&&(2&(f=0|_[c+204>>2])&&!(4&f|3&o)&&2!=(0|_[c+216>>2])&&(4!=(-2&_[s+216>>2])&&(_[s+216>>2]=1),p[s+220>>2]=0),0|n[h+64|0]&&0|El[63&_[28+(0|_[u>>2])>>2]](u,s,c))){if((0|(r=0|_[h+28>>2]))==(0|_[h+32>>2])&&(0|r)<(0|(m=0|r?r<<1:1))){if(m?(_[6630]=1+(0|_[6630]),(o=0|di(16+(m<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,r=0|_[h+28>>2]):o=0,(0|r)>0){s=0;do{_[o+(s<<2)>>2]=_[(0|_[h+36>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r))}(s=0|_[h+36>>2])&&(0|n[h+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),r=0|_[h+28>>2]),_[h+36>>2]=0),n[h+40|0]=1,_[h+36>>2]=o,_[h+32>>2]=m,o=r}else o=r;_[(0|_[h+36>>2])+(o<<2)>>2]=d,_[h+28>>2]=o+1}a=a+1|0}while((0|a)<(0|l))}o=0|_[2606],m=(0|_[o+16>>2])-1|0,_[o+16>>2]=m;do{if(!m){if(0|_[o+4>>2]){if(G(0|i,0),m=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[i+4>>2])-(0|_[m+4>>2])+(1e6*((0|_[i>>2])-(0|_[m>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])break;o=0|_[2606]}_[2606]=_[o+20>>2]}}while(0);if(m=0|_[h+8>>2],$i(16337),0|n[h+64|0]){if((0|(u=0|_[h+28>>2]))>1&&Rt(h+24|0,0,u+-1|0),(0|m)>0)for(o=0,a=1,f=0;;){r=0|_[h+16>>2],A=0|_[r+(o<<3)>>2];t:do{if((0|o)<(0|m))for(b=1,l=0|_[h+48>>2],s=0|_[h+52>>2];;){d=0|_[(0|_[t+16>>2])+(_[r+(o<<3)+4>>2]<<2)>>2];do{if((0|l)==(0|s)){if((0|s)>=(0|(l=0|s?s<<1:1))){r=s;break}if(l?(_[6630]=1+(0|_[6630]),(r=0|di(16+(l<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[h+48>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[h+56>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[h+56>>2])&&(0|n[h+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[h+48>>2]),_[h+56>>2]=0),n[h+60|0]=1,_[h+56>>2]=r,_[h+52>>2]=l,r=s,s=l}else r=l}while(0);if(_[(0|_[h+56>>2])+(r<<2)>>2]=d,l=r+1|0,_[h+48>>2]=l,c=b&(5==(0|(c=0|_[d+216>>2]))|2==(0|c)),(0|(o=o+1|0))>=(0|m)){b=o;break t}if(r=0|_[h+16>>2],(0|_[r+(o<<3)>>2])!=(0|A)){b=o;break}b=c}else b=o,c=1}while(0);if((0|f)<(0|u))if(l=0|_[h+36>>2],r=0|_[(d=l+(f<<2)|0)>>2],(0|(o=0|_[208+(0|_[r+740>>2])>>2]))<=-1&&(o=0|_[208+(0|_[r+744>>2])>>2]),(0|o)==(0|A)){o=f+1|0;t:do{if((0|o)<(0|u))do{if(s=0|_[l+(o<<2)>>2],(0|(r=0|_[208+(0|_[s+740>>2])>>2]))<=-1&&(r=0|_[208+(0|_[s+744>>2])>>2]),(0|A)!=(0|r))break t;o=o+1|0}while((0|o)<(0|u))}while(0);r=d,s=o-f|0,a=o}else r=0,s=0;else r=0,s=0;if(c||Ad[7&_[8+(0|_[y>>2])>>2]](y,0|_[h+56>>2],0|_[h+48>>2],r,s,A),f=0|s?a:f,(0|(o=0|_[h+48>>2]))<0){(0|_[h+52>>2])<0&&(0|(r=0|_[h+56>>2])&&(0|n[h+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[h+56>>2]=0),n[h+60|0]=1,_[h+56>>2]=0,_[h+52>>2]=0);do{_[(0|_[h+56>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[h+48>>2]=0,(0|b)>=(0|m))break;o=b}}else m=0|Gl[127&_[44+(0|_[u>>2])>>2]](u),h=0|Gl[127&_[36+(0|_[u>>2])>>2]](u),Ad[7&_[8+(0|_[y>>2])>>2]](y,0|_[t+16>>2],0|_[t+8>>2],m,h,-1);o=0|_[2606],y=(0|_[o+16>>2])-1|0,_[o+16>>2]=y;do{if(!y){if(0|_[o+4>>2]){if(G(0|i,0),y=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[i+4>>2])-(0|_[y+4>>2])+(1e6*((0|_[i>>2])-(0|_[y>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])break;o=0|_[2606]}_[2606]=_[o+20>>2]}}while(0);if(Mt(0|_[t+196>>2]),o=0|_[t+200>>2],_d[127&_[16+(0|_[o>>2])>>2]](o,e,0|_[t+72>>2]),o=0|_[2606],e=(0|_[o+16>>2])-1|0,_[o+16>>2]=e,0|e)Q=i;else{do{if(0|_[o+4>>2]){if(G(0|i,0),e=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[i+4>>2])-(0|_[e+4>>2])+(1e6*((0|_[i>>2])-(0|_[e>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])return void(Q=i);o=0|_[2606];break}}while(0);_[2606]=_[o+20>>2],Q=i}},_a,qi,function(t,e){e|=0,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),_[t+192>>2]=e,_[t+200>>2]=e},function(t,e){t|=0;var i=0,n=0;i=0|_[16+(0|_[(e|=0)>>2])>>2],n=0|Gl[127&_[16+(0|_[t>>2])>>2]](t),n=0|El[63&i](e,n,1),i=0|El[63&_[20+(0|_[t>>2])>>2]](t,0|_[n+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,n,i,1497645650,t)},function(t,e){return t|=0,0|(e|=0)&&2&_[e+236>>2]?void ed[127&_[92+(0|_[t>>2])>>2]](t,e):void hn(t,e)},function(t,e){t|=0;var i,n,o,r=0;Xl[511&_[32+(0|_[(e|=0)>>2])>>2]](e),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,104,1),o=104+(r=i=0|_[n+8>>2])|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|o));_[i+88>>2]=_[t+248>>2],_[i+92>>2]=_[t+252>>2],_[i+96>>2]=_[t+256>>2],_[i+100>>2]=_[t+260>>2],_[i>>2]=_[t+92>>2],_[i+4>>2]=_[t+96>>2],_[i+8>>2]=_[t+100>>2],_[i+12>>2]=_[t+104>>2],_[i+16>>2]=_[t+108>>2],_[i+20>>2]=_[t+116>>2],_[i+24>>2]=_[t+120>>2],_[i+28>>2]=_[t+124>>2],_[i+32>>2]=_[t+128>>2],_[i+36>>2]=_[t+132>>2],_[i+40>>2]=_[t+140>>2],_[i+44>>2]=_[t+144>>2],_[i+48>>2]=_[t+148>>2],_[i+52>>2]=_[t+152>>2],_[i+56>>2]=_[t+168>>2],_[i+60>>2]=_[t+172>>2],_[i+64>>2]=_[t+112>>2],_[i+68>>2]=_[t+156>>2],_[i+72>>2]=_[t+160>>2],_[i+76>>2]=_[t+164>>2],_[i+80>>2]=_[t+136>>2],dd[31&_[20+(0|_[e>>2])>>2]](e,n,14664,1145853764,i),Ji(t,e),Vi(t,e),Xl[511&_[36+(0|_[e>>2])>>2]](e)},function(t,e){_[(e|=0)>>2]=6,_[e+4>>2]=6},function(t,e){e|=0;var i,n,o,r,s,c,a,l,d=0,A=0,f=0,u=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0;if(r=Q,Q=Q+64|0,n=0|_[28+(t|=0)>>2],o=0|_[t+32>>2],h=0|_[e+8>>2],p[h>>2]=1,i=0|_[e+24>>2],p[h+(i+1<<2)>>2]=1,p[h+(2+(i<<1)<<2)>>2]=1,R=+p[t+48>>2],j=+p[t+52>>2],u=+p[t+56>>2],d=+p[n+4>>2]*R+ +p[n+8>>2]*j+ +p[n+12>>2]*u,f=R*+p[n+20>>2]+j*+p[n+24>>2]+u*+p[n+28>>2],u=R*+p[n+36>>2]+j*+p[n+40>>2]+u*+p[n+44>>2],h=0|_[e+12>>2],_[h>>2]=0,p[h+4>>2]=u,p[h+8>>2]=-f,p[h+12>>2]=0,p[h+(i<<2)>>2]=-u,_[h+(i<<2)+4>>2]=0,p[h+(i<<2)+8>>2]=d,p[h+(i<<2)+12>>2]=0,p[h+(i<<1<<2)>>2]=f,p[h+(i<<1<<2)+4>>2]=-d,_[h+(i<<1<<2)+8>>2]=0,p[h+(i<<1<<2)+12>>2]=0,0|(A=0|_[e+16>>2])&&(p[A>>2]=-1,p[A+(i+1<<2)>>2]=-1,p[A+(2+(i<<1)<<2)>>2]=-1),S=+p[t+64>>2],j=+p[t+68>>2],R=+p[t+72>>2],w=+p[o+4>>2]*S+ +p[o+8>>2]*j+ +p[o+12>>2]*R,k=S*+p[o+20>>2]+j*+p[o+24>>2]+R*+p[o+28>>2],R=S*+p[o+36>>2]+j*+p[o+40>>2]+R*+p[o+44>>2],A=0|_[e+20>>2],_[A>>2]=0,p[A+4>>2]=-R,p[A+8>>2]=k,p[A+12>>2]=0,p[A+(i<<2)>>2]=R,_[A+(i<<2)+4>>2]=0,p[A+(i<<2)+8>>2]=-w,p[A+(i<<2)+12>>2]=0,p[A+(i<<1<<2)>>2]=-k,p[A+(i<<1<<2)+4>>2]=w,_[A+(i<<1<<2)+8>>2]=0,p[A+(i<<1<<2)+12>>2]=0,k=(j=+p[e>>2]*+p[e+4>>2])*(k+ +p[o+56>>2]-f-+p[n+56>>2]),R=j*(R+ +p[o+60>>2]-u-+p[n+60>>2]),D=0|_[e+28>>2],p[D>>2]=j*(w+ +p[o+52>>2]-d-+p[n+52>>2]),p[D+(i<<2)>>2]=k,p[D+(i<<1<<2)>>2]=R,p[h+(3*i<<2)>>2]=1,p[h+((i<<2|1)<<2)>>2]=1,p[h+(2+(5*i|0)<<2)>>2]=1,0|A&&(p[A+(3*i<<2)>>2]=-1,p[A+((i<<2|1)<<2)>>2]=-1,p[A+(2+(5*i|0)<<2)>>2]=-1),y=+p[o+24>>2],c=+p[o+44>>2],u=+p[o+28>>2],g=+p[o+40>>2],s=+p[o+36>>2],f=+p[o+20>>2],d=1/((y*c-u*g)*(R=+p[o+4>>2])+(k=+p[o+8>>2])*(u*s-c*f)+(g*f-y*s)*(v=+p[o+12>>2])),W=+p[n+4>>2],B=+p[n+8>>2],F=+p[n+12>>2],I=+p[n+20>>2],l=+p[n+24>>2],a=+p[n+28>>2],C=+p[n+36>>2],S=+p[n+40>>2],w=+p[n+44>>2],p[r+16>>2]=F*((g*f-y*s)*d)+(W*((y*c-u*g)*d)+B*((u*s-c*f)*d)),p[r+16+4>>2]=F*((s*k-g*R)*d)+(W*((g*v-c*k)*d)+B*((c*R-s*v)*d)),p[r+16+8>>2]=F*((y*R-f*k)*d)+(W*((u*k-y*v)*d)+B*((f*v-u*R)*d)),p[r+16+12>>2]=0,p[r+16+16>>2]=(y*c-u*g)*d*I+(u*s-c*f)*d*l+(g*f-y*s)*d*a,p[r+16+20>>2]=(g*v-c*k)*d*I+(c*R-s*v)*d*l+(s*k-g*R)*d*a,p[r+16+24>>2]=(u*k-y*v)*d*I+(f*v-u*R)*d*l+(y*R-f*k)*d*a,p[r+16+28>>2]=0,p[r+16+32>>2]=(y*c-u*g)*d*C+(u*s-c*f)*d*S+(g*f-y*s)*d*w,p[r+16+36>>2]=(g*v-c*k)*d*C+(c*R-s*v)*d*S+(s*k-g*R)*d*w,p[r+16+40>>2]=(u*k-y*v)*d*C+(f*v-u*R)*d*S+(y*R-f*k)*d*w,p[r+16+44>>2]=0,Qt(r+16|0,r),((w=+p[t+80>>2])-(d=+p[r>>2]))*(w-d)+((k=+p[t+84>>2])-(f=+p[r+4>>2]))*(k-f)+((R=+p[t+88>>2])-(y=+p[r+8>>2]))*(R-y)+((S=+p[t+92>>2])-(u=+p[r+12>>2]))*(S-u)<(w+d)*(w+d)+(k+f)*(k+f)+(R+y)*(R+y)+(S+u)*(S+u)||(d=-d,f=-f,y=-y,u=-u),g=f*-R+(u*-w+d*S)-y*-k,C=y*-w+(u*-k+f*S)-d*-R,v=d*-k+(u*-R+y*S)-f*-w,d=2*+m(+((d=(d=u*S-d*-w-f*-k-y*-R)<-1?-1:d)>1?1:d)),g*g+C*C+v*v<14210854715202004e-30)return B=1,W=0,B*=F=-d,W*=F,F*=I=0,t=0|_[e+28>>2],D=0|_[e+24>>2],B*=j,p[(e=t+((e=3*D|0)<<2)|0)>>2]=B,W*=j,p[(e=t+((e=D<<2)<<2)|0)>>2]=W,F*=j,p[(D=t+((D=5*D|0)<<2)|0)>>2]=F,void(Q=r);B=g*(I=1/+b(+(g*g+C*C+v*v))),W=C*I,B*=F=-d,W*=F,F*=I*=v,t=0|_[e+28>>2],D=0|_[e+24>>2],B*=j,p[(e=t+((e=3*D|0)<<2)|0)>>2]=B,W*=j,p[(e=t+((e=D<<2)<<2)|0)>>2]=W,F*=j,p[(D=t+((D=5*D|0)<<2)|0)>>2]=F,Q=r},function(t,e){e|=0;var i=0,o=0;if(0|n[1308+(t|=0)|0])return _[e>>2]=0,void(_[e+4>>2]=0);Pi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0),_[e>>2]=0,_[e+4>>2]=6,0|_[t+856>>2]||0|n[t+788|0]?(_[e>>2]=1,_[e+4>>2]=5,i=1,o=5):(i=0,o=6),(0|_[t+860>>2]||0|n[t+789|0])&&(i=i+1|0,_[e>>2]=i,o=o+-1|0,_[e+4>>2]=o),(0|_[t+864>>2]||0|n[t+790|0])&&(_[e>>2]=i+1,_[e+4>>2]=o+-1),0|at(t,0)&&(_[e>>2]=1+(0|_[e>>2]),_[e+4>>2]=(0|_[e+4>>2])-1),0|at(t,1)&&(_[e>>2]=1+(0|_[e>>2]),_[e+4>>2]=(0|_[e+4>>2])-1),0|at(t,2)&&(_[e>>2]=1+(0|_[e>>2]),_[e+4>>2]=(0|_[e+4>>2])-1)},dn,function(t,e){e|=0;var i=0,o=0;0|n[1309+(t|=0)|0]&&(i=(+p[t+1256>>2]-+p[t+1316>>2])*+p[t+1340>>2],p[t+792>>2]=i*(+p[e>>2]*+p[t+1364>>2]/+(0|_[e+48>>2])),i=+d(+i),p[t+808>>2]=i/+p[e>>2]),0|n[t+1310|0]&&(i=(+p[t+1260>>2]-+p[t+1320>>2])*+p[t+1344>>2],p[t+796>>2]=i*(+p[e>>2]*+p[t+1368>>2]/+(0|_[e+48>>2])),i=+d(+i),p[t+812>>2]=i/+p[e>>2]),0|n[t+1311|0]&&(i=(+p[t+1264>>2]-+p[t+1324>>2])*+p[t+1348>>2],p[t+800>>2]=i*(+p[e>>2]*+p[t+1372>>2]/+(0|_[e+48>>2])),i=+d(+i),p[t+816>>2]=i/+p[e>>2]),0|n[t+1312|0]&&(o=-(+p[t+1192>>2]-+p[t+1328>>2])*+p[t+1352>>2],i=+p[e>>2],p[t+876>>2]=i*+p[t+1376>>2]/+(0|_[e+48>>2])*o,i=+d(+o)/i,p[t+880>>2]=i),0|n[t+1313|0]&&(i=-(+p[t+1196>>2]-+p[t+1332>>2])*+p[t+1356>>2],o=+p[e>>2],p[t+940>>2]=o*+p[t+1380>>2]/+(0|_[e+48>>2])*i,o=+d(+i)/o,p[t+944>>2]=o),0|n[t+1314|0]?(i=-(+p[t+1200>>2]-+p[t+1336>>2])*+p[t+1360>>2],o=+p[e>>2],p[t+1004>>2]=o*+p[t+1384>>2]/+(0|_[e+48>>2])*i,o=+d(+i)/o,p[t+1008>>2]=o,dn(t,e)):dn(t,e)},function(t,e){e|=0,t=0|n[344+(t|=0)|0]?0:3,_[e>>2]=t,_[e+4>>2]=t},function(t,e){e|=0;var i,n,o,r,s,c,a=0,l=0,d=0,b=0,A=0,f=0,u=0;if(b=0|_[28+(t|=0)>>2],A=0|_[t+32>>2],d=0|_[e+8>>2],p[d>>2]=1,i=0|_[e+24>>2],p[d+(i+1<<2)>>2]=1,p[d+(2+(i<<1)<<2)>>2]=1,f=+p[t+300>>2],u=+p[t+304>>2],l=+p[t+308>>2],s=+p[b+4>>2]*f+ +p[b+8>>2]*u+ +p[b+12>>2]*l,o=f*+p[b+20>>2]+u*+p[b+24>>2]+l*+p[b+28>>2],l=f*+p[b+36>>2]+u*+p[b+40>>2]+l*+p[b+44>>2],d=0|_[e+12>>2],_[d>>2]=0,p[d+4>>2]=l,p[d+8>>2]=-o,p[d+12>>2]=0,p[d+(i<<2)>>2]=-l,_[d+(i<<2)+4>>2]=0,p[d+(i<<2)+8>>2]=s,p[d+(i<<2)+12>>2]=0,p[d+(i<<1<<2)>>2]=o,p[d+(i<<1<<2)+4>>2]=-s,_[d+(i<<1<<2)+8>>2]=0,p[d+(i<<1<<2)+12>>2]=0,d=0|_[e+16>>2],p[d>>2]=-1,p[d+(i+1<<2)>>2]=-1,p[d+(2+(i<<1)<<2)>>2]=-1,u=+p[t+316>>2],f=+p[t+320>>2],a=+p[t+324>>2],c=+p[A+4>>2]*u+ +p[A+8>>2]*f+ +p[A+12>>2]*a,r=u*+p[A+20>>2]+f*+p[A+24>>2]+a*+p[A+28>>2],a=u*+p[A+36>>2]+f*+p[A+40>>2]+a*+p[A+44>>2],d=0|_[e+20>>2],_[d>>2]=0,p[d+4>>2]=-a,p[d+8>>2]=r,p[d+12>>2]=0,p[d+(i<<2)>>2]=a,_[d+(i<<2)+4>>2]=0,p[d+(i<<2)+8>>2]=-c,p[d+(i<<2)+12>>2]=0,p[d+(i<<1<<2)>>2]=-r,p[d+(i<<1<<2)+4>>2]=c,_[d+(i<<1<<2)+8>>2]=0,p[d+(i<<1<<2)+12>>2]=0,d=0|_[t+332>>2],f=+p[(1&d?t+336:e+4)>>2]*+p[e>>2],n=0|_[e+28>>2],p[n>>2]=f*(c+ +p[A+52>>2]-s-+p[b+52>>2]),p[n+(i<<2)>>2]=f*(r+ +p[A+56>>2]-o-+p[b+56>>2]),p[n+(i<<1<<2)>>2]=f*(a+ +p[A+60>>2]-l-+p[b+60>>2]),2&d&&(A=0|_[e+32>>2],_[A>>2]=_[t+340>>2],_[A+(i<<2)>>2]=_[t+340>>2],_[A+(i<<1<<2)>>2]=_[t+340>>2]),(l=+p[t+356>>2])>0?(p[_[e+36>>2]>>2]=-l,p[_[e+40>>2]>>2]=l,a=+p[t+356>>2]):a=l,a>0&&(p[(0|_[e+36>>2])+(i<<2)>>2]=-l,p[(0|_[e+40>>2])+(i<<2)>>2]=l,a=+p[t+356>>2]),!(a>0))return b=0|_[(b=t+352|0)>>2],void(_[(A=e+52|0)>>2]=b);p[(0|_[e+36>>2])+(i<<1<<2)>>2]=-l,p[(0|_[e+40>>2])+(i<<1<<2)>>2]=l,b=0|_[(b=t+352|0)>>2],_[(A=e+52|0)>>2]=b},function(t,e){e|=0;var i,o,r=0,s=0,c=0,l=0,b=0;if(0|n[48+(t|=0)|0])return _[e>>2]=0,void(_[e+4>>2]=0);_[e>>2]=4,_[e+4>>2]=2,Bi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0),p[t+1088>>2]=0,n[t+297|0]=0,i=+p[t+192>>2],o=+p[t+196>>2];do{if(i<=o){c=+p[t+892>>2],l=+p[t+908>>2],s=+p[t+924>>2],s=+y(+(+p[t+832>>2]*c+ +p[t+848>>2]*l+ +p[t+864>>2]*s),+(+p[t+828>>2]*c+ +p[t+844>>2]*l+ +p[t+860>>2]*s));do{if(!(i>=o)){if(s3.1415927410125732?(i-s)%6.2831854820251465-6.2831854820251465:(i-s)%6.2831854820251465)))<+d(+(c=(o-s)%6.2831854820251465<-3.1415927410125732?(o-s)%6.2831854820251465+6.2831854820251465:(o-s)%6.2831854820251465>3.1415927410125732?(o-s)%6.2831854820251465-6.2831854820251465:(o-s)%6.2831854820251465)))?s:s+6.2831854820251465;break}s>o&&(l=+d(+(c=(s-o)%6.2831854820251465<-3.1415927410125732?(s-o)%6.2831854820251465+6.2831854820251465:(s-o)%6.2831854820251465>3.1415927410125732?(s-o)%6.2831854820251465-6.2831854820251465:(s-o)%6.2831854820251465)),s=(b=+d(+(c=(s-i)%6.2831854820251465<-3.1415927410125732?(s-i)%6.2831854820251465+6.2831854820251465:(s-i)%6.2831854820251465>3.1415927410125732?(s-i)%6.2831854820251465-6.2831854820251465:(s-i)%6.2831854820251465))>2]=s,s>2]=s-i,n[t+297|0]=1,b=1;break}s>o?(p[t+1088>>2]=s-o,n[t+297|0]=1,b=1):b=0}else b=0}while(0);n[t+296|0]=0,r=0|_[t+1032>>2],_[t+1080>>2]=r,s=+p[t+184>>2],c=+p[t+188>>2],_[a>>2]=r,l=+p[a>>2];do{if(s<=c){if(cl)){r=32;break}p[t+1032>>2]=l-s,n[t+296|0]=1,r=34}else r=32}while(0);32==(0|r)&&(p[t+1032>>2]=0,0|n[t+1096|0])&&(r=34),34==(0|r)&&(_[e>>2]=1+(0|_[e>>2]),_[e+4>>2]=(0|_[e+4>>2])-1),(b<<24>>24||0|n[t+1112|0])&&(_[e>>2]=1+(0|_[e>>2]),_[e+4>>2]=(0|_[e+4>>2])-1)},function(t,e){e|=0;var i,o,r,s,c,l,A,f,u,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,Q=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0;if(u=0|_[28+(t|=0)>>2],ot=0|_[t+32>>2],z=+p[u+344>>2],K=+p[ot+344>>2],f=0|_[e+24>>2],nt=0|n[t+180|0]?1:-1,c=+p[t+936>>2]-+p[t+872>>2],l=+p[t+940>>2]-+p[t+876>>2],X=+p[t+944>>2]-+p[t+880>>2],q=z+K>0?K/(z+K):.5,i=0|_[t+824>>2],o=0|_[t+840>>2],r=0|_[t+856>>2],s=0|_[t+888>>2],G=0|_[t+904>>2],N=0|_[t+920>>2],(A=!(0|n[t+49|0]))?(D=0|_[t+828>>2],C=0|_[t+844>>2],O=0|_[t+860>>2],T=0|_[t+832>>2],y=0|_[t+848>>2],J=0|_[t+864>>2],_[a>>2]=D,k=+p[a>>2],_[a>>2]=C,h=+p[a>>2],_[a>>2]=O,j=+p[a>>2],_[a>>2]=T,I=+p[a>>2],_[a>>2]=y,B=+p[a>>2],tt=i,F=J,et=o,it=r,_[a>>2]=J,R=+p[a>>2]):(m=q*(_[a>>2]=i,+p[a>>2]),S=q*(_[a>>2]=o,+p[a>>2]),v=q*(_[a>>2]=r,+p[a>>2]),h=(1-q)*(_[a>>2]=s,+p[a>>2]),w=(1-q)*(_[a>>2]=G,+p[a>>2]),v+=(1-q)*(_[a>>2]=N,+p[a>>2]),k=1/+b(+((m+h)*(m+h)+(S+w)*(S+w)+v*v)),p[a>>2]=(m+h)*k,y=0|_[a>>2],p[a>>2]=(S+w)*k,C=0|_[a>>2],p[a>>2]=v*k,D=0|_[a>>2],+d(+v*k)>.7071067690849304?(B=-(m+h)*k*((S+w)*k*(Z=1/+b(+(v*k*(v*k)+(S+w)*k*((S+w)*k))))),R=(m+h)*k*(-v*k*Z),I=(v*k*(v*k)+(S+w)*k*((S+w)*k))*Z,j=(S+w)*k*Z,h=-v*k*Z,m=0):(B=v*k*(-(S+w)*k*(Z=1/+b(+(R=(m+h)*k*((m+h)*k)+(S+w)*k*((S+w)*k))))),R*=Z,I=-v*k*((m+h)*k*Z),j=0,h=(m+h)*k*Z,m=-(S+w)*k*Z),p[a>>2]=m,J=0|_[a>>2],p[a>>2]=h,Y=0|_[a>>2],p[a>>2]=j,O=0|_[a>>2],p[a>>2]=I,T=0|_[a>>2],p[a>>2]=B,U=0|_[a>>2],tt=y,p[a>>2]=R,F=0|_[a>>2],et=C,it=D,y=U,C=Y,D=J,k=m),J=0|_[e+12>>2],_[J>>2]=D,_[J+4>>2]=C,_[J+8>>2]=O,_[J+(f<<2)>>2]=T,_[J+(f+1<<2)>>2]=y,_[J+(f+2<<2)>>2]=F,v=-k,U=0|_[e+20>>2],p[U>>2]=v,p[U+4>>2]=-h,p[U+8>>2]=-j,p[U+(f<<2)>>2]=-I,p[U+(f+1<<2)>>2]=-B,p[U+(f+2<<2)>>2]=-R,Y=0|_[t+300>>2],m=+p[t+280>>2],128&Y||(m*=+p[e+4>>2]),M=m*+p[e>>2],_[a>>2]=o,H=+p[a>>2],_[a>>2]=N,L=+p[a>>2],_[a>>2]=r,V=+p[a>>2],_[a>>2]=G,E=+p[a>>2],_[a>>2]=s,Z=+p[a>>2],_[a>>2]=i,Q=+p[a>>2],F=0|_[e+28>>2],p[F>>2]=M*((H*L-V*E)*k+(V*Z-Q*L)*h+(Q*E-H*Z)*j),p[F+(f<<2)>>2]=M*((H*L-V*E)*I+(V*Z-Q*L)*B+(Q*E-H*Z)*R),64&Y&&(N=0|_[e+32>>2],_[N>>2]=_[t+292>>2],_[N+(f<<2)>>2]=_[t+292>>2]),P=+p[u+52>>2],W=+p[u+56>>2],x=+p[u+60>>2],w=+p[ot+52>>2],m=+p[ot+56>>2],S=+p[ot+60>>2],A?(H=(m-W)*j-(S-x)*h,Z=(S-x)*k-(w-P)*j,E=(w-P)*h-(m-W)*k,p[J+(f<<1<<2)>>2]=q*H,p[J+((f<<1|1)<<2)>>2]=q*Z,p[J+(2+(f<<1)<<2)>>2]=q*E,p[U+(f<<1<<2)>>2]=(1-q)*H,p[U+((f<<1|1)<<2)>>2]=(1-q)*Z,p[U+(2+(f<<1)<<2)>>2]=(1-q)*E,E=(m-W)*R-(S-x)*B,Z=(S-x)*I-(w-P)*R,H=(w-P)*B-(m-W)*I,p[J+(3*f<<2)>>2]=q*E,p[J+(1+(3*f|0)<<2)>>2]=q*Z,p[J+(2+(3*f|0)<<2)>>2]=q*H,p[U+(3*f<<2)>>2]=(1-q)*E,p[U+(1+(3*f|0)<<2)>>2]=(1-q)*Z,p[U+(2+(3*f|0)<<2)>>2]=(1-q)*H,C=0|_[e+8>>2],p[C+(f<<1<<2)>>2]=k,p[C+((f<<1|1)<<2)>>2]=h,p[C+(2+(f<<1)<<2)>>2]=j,p[C+(3*f<<2)>>2]=I,p[C+(1+(3*f|0)<<2)>>2]=B,p[C+(2+(3*f|0)<<2)>>2]=R,D=0|_[e+16>>2],p[D+(f<<1<<2)>>2]=v,p[D+((f<<1|1)<<2)>>2]=-h,p[D+(2+(f<<1)<<2)>>2]=-j,p[D+(3*f<<2)>>2]=-I,p[D+(1+(3*f|0)<<2)>>2]=-B,y=D+(2+(3*f|0)<<2)|0,H=k,Z=0,E=0,Q=0,L=0,V=0,M=0,k=m-W,S-=x,v=w-P):(I=+p[t+936>>2]-w,B=+p[t+940>>2]-m,E=+p[t+944>>2]-S,_[a>>2]=tt,k=+p[a>>2],_[a>>2]=et,R=+p[a>>2],_[a>>2]=it,w=+p[a>>2],Q=(H=+p[t+872>>2]-P)-(H*k+(Z=+p[t+876>>2]-W)*R+(m=+p[t+880>>2]-x)*w)*k+q*(M=(H*k+Z*R+m*w)*k+(V=+p[t+1080>>2]-+p[t+1032>>2])*k-(I*k+B*R+E*w)*k),W=Z-(H*k+Z*R+m*w)*R+q*(L=(H*k+Z*R+m*w)*R+V*R-(I*k+B*R+E*w)*R),x=m-(H*k+Z*R+m*w)*w+q*(V=(H*k+Z*R+m*w)*w+V*w-(I*k+B*R+E*w)*w),M=I-(I*k+B*R+E*w)*k-(1-q)*M,L=B-(I*k+B*R+E*w)*R-(1-q)*L,V=E-(I*k+B*R+E*w)*w-(1-q)*V,v=q*(I-(I*k+B*R+E*w)*k)+(1-q)*(H-(H*k+Z*R+m*w)*k),h=q*(B-(I*k+B*R+E*w)*R)+(1-q)*(Z-(H*k+Z*R+m*w)*R),(m=q*(E-(I*k+B*R+E*w)*w)+(1-q)*(m-(H*k+Z*R+m*w)*w))*m+(v*v+h*h)>1.1920928955078125e-7?(Z=1/+b(+(m*m+(v*v+h*h))),p[a>>2]=h*Z,C=0|_[a>>2],p[a>>2]=m*Z,D=0|_[a>>2],S=m*Z,m=h*Z,j=v*Z,p[a>>2]=v*Z,y=0|_[a>>2]):(y=0|_[t+828>>2],C=0|_[t+844>>2],D=0|_[t+860>>2],_[a>>2]=D,S=+p[a>>2],_[a>>2]=C,m=+p[a>>2],_[a>>2]=y,j=+p[a>>2]),I=S*R-m*w,B=j*w-S*k,R=m*k-j*R,p[J+(f<<1<<2)>>2]=W*S-x*m,p[J+(f<<1<<2)+4>>2]=x*j-Q*S,p[J+(f<<1<<2)+8>>2]=Q*m-W*j,p[U+(f<<1<<2)>>2]=-(L*S-V*m),p[U+((f<<1|1)<<2)>>2]=-(V*j-M*S),p[U+(2+(f<<1)<<2)>>2]=-(M*m-L*j),z<1.1920928955078125e-7|K<1.1920928955078125e-7&&0|n[t+297|0]?(m=q*(W*R-x*B),h=q*(Q*B-W*I),v=q*(x*I-Q*R),S=(1-q)*(L*R-V*B),w=(1-q)*(V*I-M*R),k=(1-q)*(M*B-L*I)):(m=W*R-x*B,h=Q*B-W*I,v=x*I-Q*R,S=L*R-V*B,w=V*I-M*R,k=M*B-L*I),p[J+(3*f<<2)>>2]=m,p[J+(3*f<<2)+4>>2]=v,p[J+(3*f<<2)+8>>2]=h,p[U+(3*f<<2)>>2]=-S,p[U+(1+(3*f|0)<<2)>>2]=-w,p[U+(2+(3*f|0)<<2)>>2]=-k,G=0|_[e+8>>2],_[G+(f<<1<<2)>>2]=y,_[G+((f<<1|1)<<2)>>2]=C,_[G+(2+(f<<1)<<2)>>2]=D,p[G+(3*f<<2)>>2]=I,p[G+(1+(3*f|0)<<2)>>2]=B,p[G+(2+(3*f|0)<<2)>>2]=R,N=0|_[e+16>>2],p[N+(f<<1<<2)>>2]=-j,_[a>>2]=C,h=+p[a>>2],p[N+((f<<1|1)<<2)>>2]=-h,_[a>>2]=D,Z=+p[a>>2],p[N+(2+(f<<1)<<2)>>2]=-Z,p[N+(3*f<<2)>>2]=-I,p[N+(1+(3*f|0)<<2)>>2]=-B,y=N+(2+(3*f|0)<<2)|0,H=j,j=Z,C=G,D=N,Z=W,E=x,k=0,S=0,v=0),p[y>>2]=-R,m=+p[t+264>>2],32&Y||(m*=+p[e+4>>2]),P=m*+p[e>>2],p[F+(f<<1<<2)>>2]=P*(c*H+l*h+X*j),p[F+(3*f<<2)>>2]=P*(c*I+l*B+X*R),16&Y&&(N=0|_[e+32>>2],_[N+(f<<1<<2)>>2]=_[t+276>>2],_[N+(3*f<<2)>>2]=_[t+276>>2]),0|n[t+296|0]?(R=X=nt*+p[t+1032>>2],T=X>0?2:1):(R=0,T=0),O=!!(0|T),T|255&(y=0|n[t+1096|0])){if(_[C+(f<<2<<2)>>2]=tt,_[C+((f<<2|1)<<2)>>2]=et,_[C+((f<<2|2)<<2)>>2]=it,_[a>>2]=tt,j=+p[a>>2],p[D+(f<<2<<2)>>2]=-j,_[a>>2]=et,I=+p[a>>2],p[D+((f<<2|1)<<2)>>2]=-I,_[a>>2]=it,B=+p[a>>2],p[D+((f<<2|2)<<2)>>2]=-B,A?(z=k*B-S*I,K=S*j-v*B,m=v*I-k*j,p[J+(f<<2<<2)>>2]=q*z,p[J+((f<<2|1)<<2)>>2]=q*K,p[J+((f<<2|2)<<2)>>2]=q*m,p[U+(f<<2<<2)>>2]=(1-q)*z,p[U+((f<<2|1)<<2)>>2]=(1-q)*K,m*=1-q,$=31):z<1.1920928955078125e-7|K<1.1920928955078125e-7||(p[J+(f<<2<<2)>>2]=Z*B-E*I,p[J+((f<<2|1)<<2)>>2]=E*j-Q*B,p[J+((f<<2|2)<<2)>>2]=Q*I-Z*j,p[U+(f<<2<<2)>>2]=-(L*B-V*I),p[U+((f<<2|1)<<2)>>2]=-(V*j-M*B),m=-(M*I-L*j),$=31),31==(0|$)&&(p[U+((f<<2|2)<<2)>>2]=m),D=+p[t+184>>2]==+p[t+188>>2],p[F+(f<<2<<2)>>2]=0,C=(0|_[e+36>>2])+(f<<2<<2)|0,p[C>>2]=0,F=(0|_[e+40>>2])+(f<<2<<2)|0,p[F>>2]=0,k=+p[(512&Y?t+232:e+4)>>2],!(!(y<<24>>24)|O&D)){1&Y&&(_[(0|_[e+32>>2])+(f<<2<<2)>>2]=_[t+212>>2]),w=+p[t+1100>>2],m=+p[t+1080>>2],h=+p[t+184>>2],v=+p[t+188>>2],S=k*+p[e>>2];do{if(h>v)m=1;else if(h!=v){if(w/S<0){if(m>=h&&h-w/S>m){m=(h-m)/(w/S);break}m=m0){if(m<=v&&v-w/Sv?0:1;break}m=0}else m=0}while(0);$=(0|_[e+28>>2])+(f<<2<<2)|0,p[$>>2]=+p[$>>2]-nt*m*w,p[C>>2]=+p[C>>2]-+p[t+1104>>2]*+p[e>>2],p[F>>2]=+p[t+1104>>2]*+p[e>>2]+ +p[F>>2]}if(O){y=(0|_[e+28>>2])+(f<<2<<2)|0,p[y>>2]=+p[y>>2]+R*(k*+p[e>>2]),256&_[t+300>>2]&&(_[(0|_[e+32>>2])+(f<<2<<2)>>2]=_[t+244>>2]);do{if(!D){if(1==(0|T)){p[C>>2]=-34028234663852886e22,m=0;break}p[C>>2]=0,m=34028234663852886e22;break}p[C>>2]=-34028234663852886e22,m=34028234663852886e22}while(0);p[F>>2]=m,q=1-+p[t+240>>2],h=+d(+q);do{if(!(q!=q|!1|0==q)){if(m=nt*(+p[u+312>>2]*j+ +p[u+316>>2]*I+ +p[u+320>>2]*B-(+p[ot+312>>2]*j+ +p[ot+316>>2]*I+ +p[ot+320>>2]*B)),1==(0|T)){if(!(m<0))break;if(!(+p[y>>2]<-h*m))break;p[y>>2]=-h*m;break}if(!(m>0))break;if(!(+p[y>>2]>-h*m))break;p[y>>2]=-h*m;break}}while(0);p[y>>2]=+p[t+232>>2]*+p[y>>2],y=5}else y=5}else y=4;if(0|n[t+297|0]?(B=nt=+p[t+1088>>2],O=nt>0?1:2):(B=0,O=0),D=!!(0|O),O|255&(C=0|n[t+1112|0])){if(F=0|g(0|_[e+24>>2],y),y=0|_[e+12>>2],_[y+(F<<2)>>2]=tt,_[y+(F+1<<2)>>2]=et,_[y+(F+2<<2)>>2]=it,_[a>>2]=tt,x=+p[a>>2],y=0|_[e+20>>2],p[y+(F<<2)>>2]=-x,_[a>>2]=et,W=+p[a>>2],p[y+(F+1<<2)>>2]=-W,_[a>>2]=it,I=+p[a>>2],p[y+(F+2<<2)>>2]=-I,k=+p[t+192>>2],R=+p[t+196>>2],y=0|_[t+300>>2],j=+p[(2048&y?t+248:e+4)>>2],!(!(C<<24>>24)|D&k==R)){4&y?(_[(0|_[e+32>>2])+(F<<2)>>2]=_[t+228>>2],v=+p[t+196>>2],S=+p[t+192>>2]):(v=R,S=k),m=+p[t+1084>>2],w=+p[t+1116>>2],h=j*+p[e>>2];do{if(S>v)m=1;else if(S!=v){if(w/h<0){if(m>=S&&S-w/h>m){m=(S-m)/(w/h);break}m=m0){if(m<=v&&v-w/hv?0:1;break}m=0}else m=0}while(0);p[(0|_[e+28>>2])+(F<<2)>>2]=m*w,p[(0|_[e+36>>2])+(F<<2)>>2]=-+p[t+1120>>2]*+p[e>>2],p[(0|_[e+40>>2])+(F<<2)>>2]=+p[t+1120>>2]*+p[e>>2]}if(D){C=(0|_[e+28>>2])+(F<<2)|0,p[C>>2]=+p[C>>2]+B*(j*+p[e>>2]),1024&y&&(_[(0|_[e+32>>2])+(F<<2)>>2]=_[t+260>>2]);do{if(k!=R){if(y=(0|_[e+36>>2])+(F<<2)|0,1==(0|O)){p[y>>2]=0,m=34028234663852886e22;break}p[y>>2]=-34028234663852886e22,m=0;break}p[(0|_[e+36>>2])+(F<<2)>>2]=-34028234663852886e22,m=34028234663852886e22}while(0);p[(0|_[e+40>>2])+(F<<2)>>2]=m,nt=1-+p[t+256>>2],h=+d(+nt);do{if(!(nt!=nt|!1|0==nt)){if(ot=0|_[t+28>>2],e=0|_[t+32>>2],m=+p[ot+328>>2]*x+ +p[ot+332>>2]*W+ +p[ot+336>>2]*I-(+p[e+328>>2]*x+ +p[e+332>>2]*W+ +p[e+336>>2]*I),1==(0|O)){if(!(m<0))break;if(!(+p[C>>2]<-h*m))break;p[C>>2]=-h*m;break}if(!(m>0))break;if(!(+p[C>>2]>-h*m))break;p[C>>2]=-h*m;break}}while(0);p[C>>2]=+p[t+248>>2]*+p[C>>2]}}},function(t,e){e|=0;var i,o,r=0,s=0,c=0;if(0|n[527+(t|=0)|0])return _[e>>2]=0,void(_[e+4>>2]=0);_[e>>2]=3,_[e+4>>2]=3,ui(t,4+(o=0|_[t+28>>2])|0,4+(i=0|_[t+32>>2])|0,o+264|0,i+264|0),0|n[t+526|0]&&(r=0|_[e>>2],_[e>>2]=r+1,s=0|_[e+4>>2],_[e+4>>2]=s+-1,c=+p[t+456>>2],+p[t+444>>2]>2]>2]=r+2,_[e+4>>2]=s+-2),0|n[t+525|0]&&(_[e>>2]=1+(0|_[e>>2]),_[e+4>>2]=(0|_[e+4>>2])-1)},function(t,e){e|=0;var i,o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;ui(t|=0,4+(i=0|_[t+28>>2])|0,4+(u=0|_[t+32>>2])|0,i+264|0,u+264|0),h=0|_[e+8>>2],p[h>>2]=1,l=0|_[e+24>>2],p[h+(l+1<<2)>>2]=1,p[h+(2+(l<<1)<<2)>>2]=1,b=+p[t+348>>2],C=+p[t+352>>2],f=+p[t+356>>2],y=+p[i+4>>2]*b+ +p[i+8>>2]*C+ +p[i+12>>2]*f,A=b*+p[i+20>>2]+C*+p[i+24>>2]+f*+p[i+28>>2],f=b*+p[i+36>>2]+C*+p[i+40>>2]+f*+p[i+44>>2],h=0|_[e+12>>2],_[h>>2]=0,p[h+4>>2]=f,p[h+8>>2]=-A,p[h+12>>2]=0,p[h+(l<<2)>>2]=-f,_[h+(l<<2)+4>>2]=0,p[h+(l<<2)+8>>2]=y,p[h+(l<<2)+12>>2]=0,p[h+(l<<1<<2)>>2]=A,p[h+(l<<1<<2)+4>>2]=-y,_[h+(l<<1<<2)+8>>2]=0,p[h+(l<<1<<2)+12>>2]=0,m=0|_[e+16>>2],p[m>>2]=-1,p[m+(l+1<<2)>>2]=-1,p[m+(2+(l<<1)<<2)>>2]=-1,C=+p[t+412>>2],b=+p[t+416>>2],d=+p[t+420>>2],g=+p[u+4>>2]*C+ +p[u+8>>2]*b+ +p[u+12>>2]*d,r=C*+p[u+20>>2]+b*+p[u+24>>2]+d*+p[u+28>>2],d=C*+p[u+36>>2]+b*+p[u+40>>2]+d*+p[u+44>>2],m=0|_[e+20>>2],_[m>>2]=0,p[m+4>>2]=-d,p[m+8>>2]=r,p[m+12>>2]=0,p[m+(l<<2)>>2]=d,_[m+(l<<2)+4>>2]=0,p[m+(l<<2)+8>>2]=-g,p[m+(l<<2)+12>>2]=0,p[m+(l<<1<<2)>>2]=-r,p[m+(l<<1<<2)+4>>2]=g,_[m+(l<<1<<2)+8>>2]=0,p[m+(l<<1<<2)+12>>2]=0,o=0|_[t+592>>2],b=+p[(2&o?t+600:e+4)>>2]*+p[e>>2],c=0|_[e+28>>2],s=0|_[e+36>>2],a=0|_[e+40>>2],p[c>>2]=b*(g+ +p[u+52>>2]-y-+p[i+52>>2]),p[s>>2]=-34028234663852886e22,p[a>>2]=34028234663852886e22,1&o?(v=0|_[e+32>>2],_[v>>2]=_[t+596>>2],p[c+(l<<2)>>2]=b*(r+ +p[u+56>>2]-A-+p[i+56>>2]),p[s+(l<<2)>>2]=-34028234663852886e22,p[a+(l<<2)>>2]=34028234663852886e22,_[v+(l<<2)>>2]=_[t+596>>2],p[c+(l<<1<<2)>>2]=b*(d+ +p[u+60>>2]-f-+p[i+60>>2]),p[s+(l<<1<<2)>>2]=-34028234663852886e22,p[a+(l<<1<<2)>>2]=34028234663852886e22,_[v+(l<<1<<2)>>2]=_[t+596>>2]):(p[c+(l<<2)>>2]=b*(r+ +p[u+56>>2]-A-+p[i+56>>2]),p[s+(l<<2)>>2]=-34028234663852886e22,p[a+(l<<2)>>2]=34028234663852886e22,p[c+(l<<1<<2)>>2]=b*(d+ +p[u+60>>2]-f-+p[i+60>>2]),p[s+(l<<1<<2)>>2]=-34028234663852886e22,p[a+(l<<1<<2)>>2]=34028234663852886e22);do{if(0|n[t+526|0]){if(C=+p[t+456>>2],+p[t+444>>2]>2]>2],k=+p[i+8>>2],w=+p[i+12>>2],B=+p[t+304>>2],I=+p[t+320>>2],D=+p[t+336>>2],b=+p[t+308>>2],f=+p[t+324>>2],g=+p[t+340>>2],S=+p[i+20>>2],r=+p[i+24>>2],d=+p[i+28>>2],A=+p[i+36>>2],y=+p[i+40>>2],C=+p[i+44>>2],p[h+(3*l<<2)>>2]=R*B+k*I+w*D,p[h+(1+(3*l|0)<<2)>>2]=B*S+I*r+D*d,p[h+(2+(3*l|0)<<2)>>2]=B*A+I*y+D*C,p[h+(l<<2<<2)>>2]=R*b+k*f+w*g,p[h+((l<<2|1)<<2)>>2]=b*S+f*r+g*d,p[h+((l<<2|2)<<2)>>2]=b*A+f*y+g*C,p[m+(3*l<<2)>>2]=-(R*B+k*I+w*D),p[m+(1+(3*l|0)<<2)>>2]=-(B*S+I*r+D*d),p[m+(2+(3*l|0)<<2)>>2]=-(B*A+I*y+D*C),p[m+(l<<2<<2)>>2]=-(R*b+k*f+w*g),p[m+((l<<2|1)<<2)>>2]=-(b*S+f*r+g*d),p[m+((l<<2|2)<<2)>>2]=-(b*A+f*y+g*C),j=+p[e>>2]*+p[t+436>>2],c=0|_[e+28>>2],p[c+(3*l<<2)>>2]=j*((R*B+k*I+w*D)*+p[t+460>>2]+(B*S+I*r+D*d)*+p[t+464>>2]+(B*A+I*y+D*C)*+p[t+468>>2]),p[c+(l<<2<<2)>>2]=j*((R*b+k*f+w*g)*+p[t+460>>2]+(b*S+f*r+g*d)*+p[t+464>>2]+(b*A+f*y+g*C)*+p[t+468>>2]),s=0|_[e+36>>2],p[s+(3*l<<2)>>2]=-34028234663852886e22,a=0|_[e+40>>2],p[a+(3*l<<2)>>2]=34028234663852886e22,p[s+(l<<2<<2)>>2]=-34028234663852886e22,p[a+(l<<2<<2)>>2]=34028234663852886e22,l=5*l|0;break}D=(B=+p[t+436>>2])*(+p[t+460>>2]*B),I=B*(B*+p[t+464>>2]),B*=B*+p[t+468>>2],p[h+(3*l<<2)>>2]=D,p[h+(1+(3*l|0)<<2)>>2]=I,p[h+(2+(3*l|0)<<2)>>2]=B,p[m+(3*l<<2)>>2]=-D,p[m+(1+(3*l|0)<<2)>>2]=-I,p[m+(2+(3*l|0)<<2)>>2]=-B,p[c+(3*l<<2)>>2]=+p[e>>2]*+p[t+432>>2]*+p[t+504>>2],4&o&&(_[(0|_[e+32>>2])+(3*l<<2)>>2]=_[t+604>>2]),p[s+(3*l<<2)>>2]=0,p[a+(3*l<<2)>>2]=34028234663852886e22,l<<=2}else l=3*l|0}while(0);if(0|n[t+525|0]){D=(B=+p[t+436>>2])*(+p[t+476>>2]*B),I=B*(B*+p[t+480>>2]),B*=B*+p[t+484>>2],p[h+(l<<2)>>2]=D,p[h+((u=l+1|0)<<2)>>2]=I,p[h+((v=l+2|0)<<2)>>2]=B,p[m+(l<<2)>>2]=-D,p[m+(u<<2)>>2]=-I,p[m+(v<<2)>>2]=-B,p[c+(l<<2)>>2]=+p[e>>2]*+p[t+432>>2]*+p[t+508>>2],4&o&&(_[(0|_[e+32>>2])+(l<<2)>>2]=_[t+604>>2]);do{if(+p[t+452>>2]>0){if(s=s+(l<<2)|0,+p[t+508>>2]>0){p[s>>2]=0,r=34028234663852886e22;break}p[s>>2]=-34028234663852886e22,r=0;break}p[s+(l<<2)>>2]=-34028234663852886e22,r=34028234663852886e22}while(0);p[a+(l<<2)>>2]=r}},function(t,e){e|=0;var i,o=0,r=0;if(0|n[738+(t|=0)|0])return _[e>>2]=0,void(_[e+4>>2]=0);_[e>>2]=5,_[e+4>>2]=1,o=+Yi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0),p[t+728>>2]=o,p[t+708>>2]=0,p[t+712>>2]=0,n[t+716|0]=0,i=+p[t+692>>2];do{if(i>=0){if((o=(o-+p[t+688>>2])%6.2831854820251465)<-3.1415927410125732?o+=6.2831854820251465:o>3.1415927410125732&&(o+=-6.2831854820251465),o<-i){n[t+716|0]=1,p[t+708>>2]=-(i+o),p[t+712>>2]=1;break}o>i?(n[t+716|0]=1,p[t+708>>2]=i-o,p[t+712>>2]=-1):r=12}else r=12}while(0);(12!=(0|r)||0|n[t+737|0])&&(_[e>>2]=6,_[e+4>>2]=0)},function(t,e){e|=0;var i,o,r,s,c,a,l,d,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,Q=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0;if(l=0|_[28+(t|=0)>>2],d=0|_[t+32>>2],a=0|_[e+24>>2],0|n[t+739|0]){if(q=+p[l+4>>2],$=+p[l+8>>2],tt=+p[l+12>>2],w=+p[t+556>>2],D=+p[t+572>>2],I=+p[t+588>>2],et=+p[t+560>>2],it=+p[t+576>>2],nt=+p[t+592>>2],ot=+p[l+20>>2],_t=+p[l+24>>2],rt=+p[l+28>>2],st=+p[l+36>>2],pt=+p[l+40>>2],ct=+p[l+44>>2],F=+p[t+600>>2],O=+p[t+604>>2],x=+p[t+608>>2],f=+p[l+52>>2],j=+p[l+56>>2],g=+p[l+60>>2],i=+p[d+4>>2],o=+p[d+8>>2],r=+p[d+12>>2],s=+p[t+624>>2],at=+p[t+640>>2],H=+p[t+656>>2],Z=+p[d+20>>2],U=+p[d+24>>2],Y=+p[d+28>>2],J=+p[d+36>>2],X=+p[d+40>>2],K=+p[d+44>>2],M=+p[t+664>>2],P=+p[t+668>>2],m=+p[t+672>>2],G=(A=+p[d+52>>2])+(i*M+o*P+r*m)-(f+(q*F+$*O+tt*x)),N=Z*M+U*P+Y*m+(v=+p[d+56>>2])-(ot*F+_t*O+rt*x+j),L=J*M+X*P+K*m+(h=+p[d+60>>2])-(st*F+pt*O+ct*x+g),A=A+(i*M+o*P+r*m)-A-(c=(q*et+$*it+tt*nt)*(V=(B=+p[344+(0|_[t+28>>2])>>2])+(W=+p[344+(0|_[t+32>>2])>>2])>0?W/(B+W):.5)+(i*s+o*at+r*H)*(1-V))*(bt=1/+b(+((dt=(et*st+it*pt+nt*ct)*V+(s*J+at*X+H*K)*(1-V))*dt+(c*c+(lt=(et*ot+it*_t+nt*rt)*V+(s*Z+at*U+H*Y)*(1-V))*lt))))*(T=dt*bt*(J*M+X*P+K*m+h-h)+(c*bt*(A+(i*M+o*P+r*m)-A)+lt*bt*(Z*M+U*P+Y*m+v-v))),v=Z*M+U*P+Y*m+v-v-lt*bt*T,h=J*M+X*P+K*m+h-h-dt*bt*T,j=ot*F+_t*O+rt*x+j-j-lt*bt*(m=dt*bt*(st*F+pt*O+ct*x+g-g)+(c*bt*(f+(q*F+$*O+tt*x)-f)+lt*bt*(ot*F+_t*O+rt*x+j-j))),g=st*F+pt*O+ct*x+g-g-dt*bt*m,x=(f=f+(q*F+$*O+tt*x)-f-c*bt*m)+V*(c*bt*m-c*bt*T),O=j+V*(lt*bt*m-lt*bt*T),F=g+V*(dt*bt*m-dt*bt*T),P=A-(1-V)*(c*bt*m-c*bt*T),M=v-(1-V)*(lt*bt*m-lt*bt*T),T=h-(1-V)*(dt*bt*m-dt*bt*T),(m=(V*h+(1-V)*g)*(V*h+(1-V)*g)+((V*A+(1-V)*f)*(V*A+(1-V)*f)+(V*v+(1-V)*j)*(V*v+(1-V)*j)))>1.1920928955078125e-7?(E=(V*A+(1-V)*f)*(w=1/+b(+m)),Q=(V*h+(1-V)*g)*w,w*=V*v+(1-V)*j):(E=q*w+$*D+tt*I,Q=w*st+D*pt+I*ct,w=w*ot+D*_t+I*rt),j=lt*bt*Q-dt*bt*w,D=dt*bt*E-c*bt*Q,I=c*bt*w-lt*bt*E,z=0|_[e+12>>2],p[z>>2]=O*Q-F*w,p[z+4>>2]=F*E-x*Q,p[z+8>>2]=x*w-O*E,z=0|_[e+20>>2],p[z>>2]=-(M*Q-T*w),p[z+4>>2]=-(T*E-P*Q),p[z+8>>2]=-(P*w-M*E),B<1.1920928955078125e-7|W<1.1920928955078125e-7&&0|n[t+716|0]?(A=V*(O*I-F*D),f=V*(F*j-x*I),m=V*(x*D-O*j),h=(1-V)*(M*I-T*D),g=(1-V)*(T*j-P*I),v=(1-V)*(P*D-M*j)):(A=O*I-F*D,f=F*j-x*I,m=x*D-O*j,h=M*I-T*D,g=T*j-P*I,v=P*D-M*j),z=(0|_[e+12>>2])+(a<<2)|0,p[z>>2]=A,p[z+4>>2]=f,p[z+8>>2]=m,z=0|_[e+20>>2],p[z+(a<<2)>>2]=-h,p[z+(a+1<<2)>>2]=-g,p[z+(a+2<<2)>>2]=-v,B<1.1920928955078125e-7|W<1.1920928955078125e-7?(v=V*(O*(dt*bt)-F*(lt*bt)),g=V*(F*(c*bt)-x*(dt*bt)),f=V*(x*(lt*bt)-O*(c*bt)),h=(1-V)*(M*(dt*bt)-T*(lt*bt)),m=(1-V)*(T*(c*bt)-P*(dt*bt)),A=(1-V)*(P*(lt*bt)-M*(c*bt))):(v=O*(dt*bt)-F*(lt*bt),g=F*(c*bt)-x*(dt*bt),f=x*(lt*bt)-O*(c*bt),h=M*(dt*bt)-T*(lt*bt),m=T*(c*bt)-P*(dt*bt),A=P*(lt*bt)-M*(c*bt)),C=(0|_[e+12>>2])+(a<<1<<2)|0,p[C>>2]=v,p[C+4>>2]=g,p[C+8>>2]=f,C=0|_[e+20>>2],p[C+(a<<1<<2)>>2]=-h,p[C+((a<<1|1)<<2)>>2]=-m,p[C+(2+(a<<1)<<2)>>2]=-A,A=+p[e>>2]*+p[e+4>>2],0|n[t+736|0]?(A=-E,f=-j,m=-D,h=-I,S=0|_[e+28>>2]):(S=0|_[e+8>>2],p[S>>2]=E,p[S+4>>2]=w,p[S+8>>2]=Q,S=(0|_[e+8>>2])+(a<<2)|0,p[S>>2]=j,p[S+4>>2]=D,p[S+8>>2]=I,S=(0|_[e+8>>2])+(a<<1<<2)|0,p[S>>2]=c*bt,p[S+4>>2]=lt*bt,p[S+8>>2]=dt*bt,S=0|_[e+16>>2],f=-E,p[S>>2]=f,p[S+4>>2]=-w,p[S+8>>2]=-Q,p[S+(a<<2)>>2]=-j,p[S+(a+1<<2)>>2]=-D,p[S+(a+2<<2)>>2]=-I,p[S+(a<<1<<2)>>2]=-c*bt,p[S+((a<<1|1)<<2)>>2]=-lt*bt,p[S+(2+(a<<1)<<2)>>2]=-dt*bt,S=0|_[e+28>>2],p[S>>2]=A*(G*E+N*w+L*Q),p[S+(a<<2)>>2]=A*(G*j+N*D+L*I),p[S+(a<<1<<2)>>2]=A*(G*(c*bt)+N*(lt*bt)+L*(dt*bt)),A=f,f=-j,m=-D,h=-I,C=0|_[e+20>>2]),y=0|_[e+12>>2],p[y+(3*a<<2)>>2]=E,p[y+(1+(3*a|0)<<2)>>2]=w,p[y+(2+(3*a|0)<<2)>>2]=Q,p[y+(a<<2<<2)>>2]=j,p[y+((a<<2|1)<<2)>>2]=D,p[y+((a<<2|2)<<2)>>2]=I,p[C+(3*a<<2)>>2]=A,p[C+(1+(3*a|0)<<2)>>2]=-w,p[C+(2+(3*a|0)<<2)>>2]=-Q,p[C+(a<<2<<2)>>2]=f,p[C+((a<<2|1)<<2)>>2]=m,p[C+((a<<2|2)<<2)>>2]=h,N=+p[e>>2]*+p[e+4>>2],L=(et*ot+it*_t+nt*rt)*(s*J+at*X+H*K)-(et*st+it*pt+nt*ct)*(s*Z+at*U+H*Y),ct=(et*st+it*pt+nt*ct)*(i*s+o*at+r*H)-(q*et+$*it+tt*nt)*(s*J+at*X+H*K),at=(q*et+$*it+tt*nt)*(s*Z+at*U+H*Y)-(et*ot+it*_t+nt*rt)*(i*s+o*at+r*H),p[S+(3*a<<2)>>2]=N*(L*E+ct*w+at*Q),p[S+(a<<2<<2)>>2]=N*(L*j+ct*D+at*I),0|n[t+716|0]?(w=at=+p[t+708>>2]*+p[t+732>>2],R=at>0?1:2):(w=0,R=0),k=!!(0|R),R|255&(u=0|n[t+737|0])){if(p[y+(5*a<<2)>>2]=c*bt,p[y+(1+(5*a|0)<<2)>>2]=lt*bt,p[y+(2+(5*a|0)<<2)>>2]=dt*bt,p[C+(5*a<<2)>>2]=-c*bt,p[C+(1+(5*a|0)<<2)>>2]=-lt*bt,p[C+(2+(5*a|0)<<2)>>2]=-dt*bt,C=(v=((A=+p[t+688>>2])-(f=+p[t+692>>2]))%6.2831854820251465<-3.1415927410125732?(A-f)%6.2831854820251465+6.2831854820251465:(A-f)%6.2831854820251465>3.1415927410125732?(A-f)%6.2831854820251465-6.2831854820251465:(A-f)%6.2831854820251465)==(h=(A+f)%6.2831854820251465<-3.1415927410125732?(A+f)%6.2831854820251465+6.2831854820251465:(A+f)%6.2831854820251465>3.1415927410125732?(A+f)%6.2831854820251465-6.2831854820251465:(A+f)%6.2831854820251465),p[(S=S+(5*a<<2)|0)>>2]=0,y=0|_[t+748>>2],g=+p[(2&y?t+760:e+4)>>2],!(!(u<<24>>24)|k&C)){4&y&&(_[(0|_[e+32>>2])+(5*a<<2)>>2]=_[t+752>>2]),f=+p[t+728>>2],m=+p[t+680>>2],A=v>h?1:0;do{if(!(v>=h)){if((A=m/(g*+p[e>>2]))<0){if(f>=v&v-A>f){A=(v-f)/A;break}A=f0){if(f<=h&h-Ah?0:1;break}A=0}}while(0);p[S>>2]=A*m*+p[t+732>>2]+ +p[S>>2],p[(0|_[e+36>>2])+(5*a<<2)>>2]=-+p[t+684>>2],_[(0|_[e+40>>2])+(5*a<<2)>>2]=_[t+684>>2]}if(k){p[S>>2]=+p[S>>2]+w*(g*+p[e>>2]),1&y&&(_[(0|_[e+32>>2])+(5*a<<2)>>2]=_[t+756>>2]);do{if(!C){if(u=(0|_[e+36>>2])+(5*a<<2)|0,1==(0|R)){p[u>>2]=0,A=34028234663852886e22;break}p[u>>2]=-34028234663852886e22,A=0;break}p[(0|_[e+36>>2])+(5*a<<2)>>2]=-34028234663852886e22,A=34028234663852886e22}while(0);p[(0|_[e+40>>2])+(5*a<<2)>>2]=A,f=+p[t+704>>2];do{if(f>0){if(A=+p[l+328>>2]*(c*bt)+ +p[l+332>>2]*(lt*bt)+ +p[l+336>>2]*(dt*bt)-(+p[d+328>>2]*(c*bt)+ +p[d+332>>2]*(lt*bt)+ +p[d+336>>2]*(dt*bt)),1==(0|R)){if(!(A<0))break;if(!(+p[S>>2]<-f*A))break;p[S>>2]=-f*A;break}if(!(A>0))break;if(!(+p[S>>2]>-f*A))break;p[S>>2]=-f*A;break}}while(0);p[S>>2]=+p[t+700>>2]*+p[S>>2]}}}else{if(h=+p[t+552>>2],K=+p[l+4>>2],g=+p[t+568>>2],q=+p[l+8>>2],v=+p[t+584>>2],$=+p[l+12>>2],w=+p[t+556>>2],j=+p[t+572>>2],D=+p[t+588>>2],tt=+p[t+560>>2],et=+p[t+576>>2],it=+p[t+592>>2],nt=+p[l+20>>2],ot=+p[l+24>>2],_t=+p[l+28>>2],rt=+p[l+36>>2],st=+p[l+40>>2],pt=+p[l+44>>2],I=+p[t+600>>2],B=+p[t+604>>2],W=+p[t+608>>2],F=+p[l+52>>2],x=+p[l+56>>2],O=+p[l+60>>2],T=+p[d+4>>2],P=+p[d+8>>2],M=+p[d+12>>2],V=+p[t+624>>2],G=+p[t+640>>2],N=+p[t+656>>2],L=+p[d+20>>2],Q=+p[d+24>>2],E=+p[d+28>>2],H=+p[d+36>>2],Z=+p[d+40>>2],U=+p[d+44>>2],dt=+p[t+664>>2],bt=+p[t+668>>2],X=+p[t+672>>2],Y=+p[d+52>>2]+(T*dt+P*bt+M*X),J=L*dt+Q*bt+E*X+ +p[d+56>>2],X=H*dt+Z*bt+U*X+ +p[d+60>>2],(y=!(0|n[t+736|0]))?(u=0|_[e+8>>2],p[u>>2]=1,p[u+(a+1<<2)>>2]=1,p[u+(2+(a<<1)<<2)>>2]=1,u=0|_[e+16>>2],p[u>>2]=-1,p[u+(a+1<<2)>>2]=-1,p[u+(2+(a<<1)<<2)>>2]=-1,u=a<<1,A=+p[l+52>>2],f=+p[l+56>>2],m=+p[l+60>>2]):(u=a<<1,A=F,f=x,m=O),A=F+(K*I+q*B+$*W)-A,bt=nt*I+ot*B+_t*W+x-f,dt=rt*I+st*B+pt*W+O-m,S=(C=0|_[e+12>>2])+(u<<2)|0,_[C>>2]=0,p[C+4>>2]=dt,p[C+8>>2]=-bt,p[C+12>>2]=0,p[C+(a<<2)>>2]=-dt,_[C+(a<<2)+4>>2]=0,p[C+(a<<2)+8>>2]=A,p[C+(a<<2)+12>>2]=0,p[S>>2]=bt,p[S+4>>2]=-A,_[S+8>>2]=0,p[S+12>>2]=0,A=Y-+p[d+52>>2],bt=J-+p[d+56>>2],dt=X-+p[d+60>>2],z=(S=0|_[e+20>>2])+(u<<2)|0,_[S>>2]=0,p[S+4>>2]=-dt,p[S+8>>2]=bt,p[S+12>>2]=0,p[S+(a<<2)>>2]=dt,_[S+(a<<2)+4>>2]=0,p[S+(a<<2)+8>>2]=-A,p[S+(a<<2)+12>>2]=0,p[z>>2]=-bt,p[z+4>>2]=A,_[z+8>>2]=0,p[z+12>>2]=0,A=+p[e>>2]*+p[e+4>>2],z=0|_[e+28>>2],y&&(p[z>>2]=A*(Y-(F+(K*I+q*B+$*W))),p[z+(a<<2)>>2]=A*(J-(nt*I+ot*B+_t*W+x)),p[z+(a<<1<<2)>>2]=A*(X-(rt*I+st*B+pt*W+O))),p[C+(3*a<<2)>>2]=h*K+g*q+v*$,p[C+(1+(3*a|0)<<2)>>2]=h*nt+g*ot+v*_t,p[C+(2+(3*a|0)<<2)>>2]=h*rt+g*st+v*pt,p[C+(a<<2<<2)>>2]=K*w+q*j+$*D,p[C+((a<<2|1)<<2)>>2]=w*nt+j*ot+D*_t,p[C+((a<<2|2)<<2)>>2]=w*rt+j*st+D*pt,p[S+(3*a<<2)>>2]=-(h*K+g*q+v*$),p[S+(1+(3*a|0)<<2)>>2]=-(h*nt+g*ot+v*_t),p[S+(2+(3*a|0)<<2)>>2]=-(h*rt+g*st+v*pt),p[S+(a<<2<<2)>>2]=-(K*w+q*j+$*D),p[S+((a<<2|1)<<2)>>2]=-(w*nt+j*ot+D*_t),p[S+((a<<2|2)<<2)>>2]=-(w*rt+j*st+D*pt),dt=(tt*nt+et*ot+it*_t)*(V*H+G*Z+N*U)-(tt*rt+et*st+it*pt)*(V*L+G*Q+N*E),bt=(tt*rt+et*st+it*pt)*(T*V+P*G+M*N)-(K*tt+q*et+$*it)*(V*H+G*Z+N*U),lt=(K*tt+q*et+$*it)*(V*L+G*Q+N*E)-(tt*nt+et*ot+it*_t)*(T*V+P*G+M*N),p[z+(3*a<<2)>>2]=((h*rt+g*st+v*pt)*lt+((h*K+g*q+v*$)*dt+(h*nt+g*ot+v*_t)*bt))*A,p[z+(a<<2<<2)>>2]=((w*rt+j*st+D*pt)*lt+((K*w+q*j+$*D)*dt+(w*nt+j*ot+D*_t)*bt))*A,0|n[t+716|0]?(w=bt=+p[t+708>>2]*+p[t+732>>2],R=bt>0?1:2):(w=0,R=0),k=!!(0|R),!(R|255&(u=0|n[t+737|0])))return;if(p[C+(5*a<<2)>>2]=K*tt+q*et+$*it,p[C+(1+(5*a|0)<<2)>>2]=tt*nt+et*ot+it*_t,p[C+(2+(5*a|0)<<2)>>2]=tt*rt+et*st+it*pt,p[S+(5*a<<2)>>2]=-(K*tt+q*et+$*it),p[S+(1+(5*a|0)<<2)>>2]=-(tt*nt+et*ot+it*_t),p[S+(2+(5*a|0)<<2)>>2]=-(tt*rt+et*st+it*pt),C=(v=((A=+p[t+688>>2])-(f=+p[t+692>>2]))%6.2831854820251465<-3.1415927410125732?(A-f)%6.2831854820251465+6.2831854820251465:(A-f)%6.2831854820251465>3.1415927410125732?(A-f)%6.2831854820251465-6.2831854820251465:(A-f)%6.2831854820251465)==(h=(A+f)%6.2831854820251465<-3.1415927410125732?(A+f)%6.2831854820251465+6.2831854820251465:(A+f)%6.2831854820251465>3.1415927410125732?(A+f)%6.2831854820251465-6.2831854820251465:(A+f)%6.2831854820251465),p[(S=z+(5*a<<2)|0)>>2]=0,y=0|_[t+748>>2],g=+p[(2&y?t+760:e+4)>>2],!(!(u<<24>>24)|k&C)){4&y&&(_[(0|_[e+32>>2])+(5*a<<2)>>2]=_[t+752>>2]),f=+p[t+728>>2],m=+p[t+680>>2],A=v>h?1:0;do{if(!(v>=h)){if((A=m/(g*+p[e>>2]))<0){if(f>=v&v-A>f){A=(v-f)/A;break}A=f0){if(f<=h&h-Ah?0:1;break}A=0}}while(0);p[S>>2]=A*m*+p[t+732>>2]+ +p[S>>2],p[(0|_[e+36>>2])+(5*a<<2)>>2]=-+p[t+684>>2],_[(0|_[e+40>>2])+(5*a<<2)>>2]=_[t+684>>2]}if(!k)return;p[S>>2]=+p[S>>2]+w*(g*+p[e>>2]),1&y&&(_[(0|_[e+32>>2])+(5*a<<2)>>2]=_[t+756>>2]);do{if(!C){if(u=(0|_[e+36>>2])+(5*a<<2)|0,1==(0|R)){p[u>>2]=0,A=34028234663852886e22;break}p[u>>2]=-34028234663852886e22,A=0;break}p[(0|_[e+36>>2])+(5*a<<2)>>2]=-34028234663852886e22,A=34028234663852886e22}while(0);p[(0|_[e+40>>2])+(5*a<<2)>>2]=A,f=+p[t+704>>2];do{if(f>0){if(A=(K*tt+q*et+$*it)*+p[l+328>>2]+(tt*nt+et*ot+it*_t)*+p[l+332>>2]+(tt*rt+et*st+it*pt)*+p[l+336>>2]-((K*tt+q*et+$*it)*+p[d+328>>2]+(tt*nt+et*ot+it*_t)*+p[d+332>>2]+(tt*rt+et*st+it*pt)*+p[d+336>>2]),1==(0|R)){if(!(A<0))break;if(!(+p[S>>2]<-f*A))break;p[S>>2]=-f*A;break}if(!(A>0))break;if(!(+p[S>>2]>-f*A))break;p[S>>2]=-f*A;break}}while(0);p[S>>2]=+p[t+700>>2]*+p[S>>2]}},function(t,e){e|=0;var i,o=0,r=0,s=0,c=0,a=0,l=0;if(i=Q,Q=Q+48|0,(0|_[136+(t|=0)>>2])<=0)Q=i;else{o=0;do{l=0|_[t+144>>2],_[i+32>>2]=0|n[l+(284*o|0)+84|0]?0:1065353216,_[i+32+4>>2]=0,_[i+32+8>>2]=1065353216,p[i+32+12>>2]=0,a=l+(284*o|0)+140|0,_[i+16>>2]=_[a>>2],_[i+16+4>>2]=_[a+4>>2],_[i+16+8>>2]=_[a+8>>2],_[i+16+12>>2]=_[a+12>>2],a=0|_[t+120>>2],r=0|_[8+(0|_[e>>2])>>2],c=+p[l+(284*o|0)+108+(a<<2)>>2]+ +p[i+16+4>>2],s=+p[l+(284*o|0)+124+(a<<2)>>2]+ +p[i+16+8>>2],p[i>>2]=+p[l+(284*o|0)+92+(a<<2)>>2]+ +p[i+16>>2],p[i+4>>2]=c,p[i+8>>2]=s,p[i+12>>2]=0,pd[127&r](e,i+16|0,i,i+32|0),pd[127&_[8+(0|_[e>>2])>>2]](e,i+16|0,(0|_[t+144>>2])+(284*o|0)+16|0,i+32|0),o=o+1|0}while((0|o)<(0|_[t+136>>2]));Q=i}},_a,function(t,e){e|=0;var i,o,r=0,s=0,c=0;n[171+(t|=0)|0]=1,_[t+60>>2]=_[e>>2],_[t+60+4>>2]=_[e+4>>2],_[t+60+8>>2]=_[e+8>>2],_[t+60+12>>2]=_[e+12>>2],r=+p[t+60>>2],s=+p[t+64>>2],i=+p[t+68>>2],o=1/+b(+(r*r+s*s+i*i)),+b(+(i*o*(i*o)+(r*o*(r*o)+s*o*(s*o))))<1.1920928955078125e-7?(c=0,s=0,r=0,e=0):(c=r*o,s*=o,r=i*o,e=0|_[t+72>>2]),p[t+76>>2]=c,p[t+80>>2]=s,p[t+84>>2]=r,_[t+88>>2]=e},function(t,e){e|=0;var i=0,o=0,r=0;if(p[16+(t|=0)>>2]=0,p[t+20>>2]=0,n[t+168|0]=0,n[t+169|0]=0,p[t+172>>2]=0,_[t+60>>2]=0,_[t+60+4>>2]=0,_[t+60+8>>2]=0,_[t+60+12>>2]=0,t=0|_[284+(0|_[t+8>>2])>>2],i=4+(0|Gl[127&_[28+(0|_[t>>2])>>2]](t))|0,!((0|_[i>>2])<=0))do{o=0|_[t>>2],r=0|_[o+12>>2],o=12+(0|Gl[127&_[o+28>>2]](t))|0,o=0|_[_[o>>2]>>2],i=12+(0|Gl[127&_[28+(0|_[t>>2])>>2]](t))|0,Hl[31&r](t,o,0|_[4+(0|_[i>>2])>>2],0|_[e+24>>2]),i=4+(0|Gl[127&_[28+(0|_[t>>2])>>2]](t))|0}while((0|_[i>>2])>0)},function(t,e){var i;t|=0,e|=0,i=Q,Q=Q+16|0,_[i>>2]=_[e>>2],_[i+4>>2]=_[e+4>>2],_[i+8>>2]=_[e+8>>2],_[i+12>>2]=_[e+12>>2],e=0|_[t+8>>2],_[e+260>>2]=1+(0|_[e+260>>2]),_[e+4>>2]=1065353216,_[e+8>>2]=0,_[e+8+4>>2]=0,_[e+8+8>>2]=0,_[e+8+12>>2]=0,_[e+24>>2]=1065353216,_[e+28>>2]=0,_[e+28+4>>2]=0,_[e+28+8>>2]=0,_[e+28+12>>2]=0,_[e+44>>2]=1065353216,_[e+48>>2]=0,_[e+52>>2]=_[i>>2],_[e+52+4>>2]=_[i+4>>2],_[e+52+8>>2]=_[i+8>>2],_[e+52+12>>2]=_[i+12>>2],Q=i},function(t,e){e|=0;var i=0;n[148+(t|=0)|0]=0;t:do{if(0|xe(t,e))for(i=0;;){if(n[t+148|0]=1,i>>>0>3)break t;if(!(0|xe(t,e)))break;i=i+1|0}}while(0);e=52+(0|_[t+8>>2])|0,_[t+92>>2]=_[e>>2],_[t+92+4>>2]=_[e+4>>2],_[t+92+8>>2]=_[e+8>>2],_[t+92+12>>2]=_[e+12>>2],Do(t+112|0,0|e,16)},function(t,e){e|=0,n[180+(t|=0)|0]=1&e},function(t,e){t|=0,e|=0;var i,n,o,r=0;if(_[6605]=(0|_[6605])-1,ed[127&_[20+(0|_[t>>2])>>2]](t,e),n=0|_[e+768>>2],i=(0|_[t+12>>2])-1|0,r=0|_[t+20>>2],o=0|_[r+(n<<2)>>2],_[r+(n<<2)>>2]=_[r+(i<<2)>>2],_[(0|_[t+20>>2])+(i<<2)>>2]=o,_[768+(0|_[(0|_[t+20>>2])+(n<<2)>>2])>>2]=n,_[t+12>>2]=i,t=0|_[t+68>>2],e){if((r=0|_[t+16>>2])>>>0<=e>>>0&&(r+(0|g(0|_[t>>2],0|_[t+4>>2]))|0)>>>0>e>>>0)return _[e>>2]=_[t+12>>2],_[t+12>>2]=e,void(_[t+8>>2]=1+(0|_[t+8>>2]));_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])}},function(t,e){_[748+(e|=0)>>2]=0},function(t,e){var i;if(e|=0,t=0|_[64+(t|=0)>>2],e){if((i=0|_[t+16>>2])>>>0<=e>>>0&&(i+(0|g(0|_[t>>2],0|_[t+4>>2]))|0)>>>0>e>>>0)return _[e>>2]=_[t+12>>2],_[t+12>>2]=e,void(_[t+8>>2]=1+(0|_[t+8>>2]));_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])}},function(t,e){t|=0;var i,n,o=0,r=0,s=0,p=0,c=0,a=0;if(!((0|(n=0|_[8+(e|=0)>>2]))<=0)){i=0|_[e+16>>2],a=0,e=0;do{if(c=0|_[i+(a<<2)>>2],3&_[c+204>>2])_[c+208>>2]=-1,_[c+212>>2]=-2;else{if(p=0|_[t+16>>2],(0|(r=0|_[(o=p+(e<<3)|0)>>2]))!=(0|e)){if(_[o>>2]=_[p+(r<<3)>>2],(0|(o=0|_[p+(r<<3)>>2]))!=(0|(r=0|_[p+(o<<3)>>2]))){s=p+(o<<3)|0;do{o=p+(r<<3)|0,_[s>>2]=_[o>>2],o=0|_[o>>2],r=0|_[(s=p+(o<<3)|0)>>2]}while((0|o)!=(0|r))}}else o=e;_[c+208>>2]=o,_[p+(e<<3)+4>>2]=a,_[c+212>>2]=-1,e=e+1|0}a=a+1|0}while((0|a)!=(0|n))}},qi,function(t,e){e|=0;var i=0,o=0,r=0,s=0;if(i=0|_[76+(t|=0)>>2]){if((0|(o=0|_[e+4>>2]))==(0|_[e+8>>2])&&(0|o)<(0|(s=0|o?o<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(i=0|di(16+(s<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,o=0|_[e+4>>2]):i=0,(0|o)>0){r=0;do{_[i+(r<<2)>>2]=_[(0|_[e+12>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|o))}(r=0|_[e+12>>2])&&(0|n[e+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),o=0|_[e+4>>2]),_[e+12>>2]=0),n[e+16|0]=1,_[e+12>>2]=i,_[e+8>>2]=s,i=0|_[t+76>>2]}_[(0|_[e+12>>2])+(o<<2)>>2]=i,_[e+4>>2]=o+1}},qi,hn,function(t,e){t|=0,Xl[511&_[32+(0|_[(e|=0)>>2])>>2]](e),Vi(t,e),Xl[511&_[36+(0|_[e>>2])>>2]](e)},function(t,e){st(t|=0,0|_[36+(e|=0)>>2])},qi,function(t,e){e|=0;var i=0,o=0,r=0,s=0;if((i=0|_[20+(t|=0)>>2])&&0|n[t+16|0]){if((0|(o=0|_[e+4>>2]))==(0|_[e+8>>2])&&(0|o)<(0|(s=0|o?o<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(i=0|di(16+(s<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,o=0|_[e+4>>2]):i=0,(0|o)>0){r=0;do{_[i+(r<<2)>>2]=_[(0|_[e+12>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|o))}(r=0|_[e+12>>2])&&(0|n[e+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),o=0|_[e+4>>2]),_[e+12>>2]=0),n[e+16|0]=1,_[e+12>>2]=i,_[e+8>>2]=s,i=0|_[t+20>>2]}_[(0|_[e+12>>2])+(o<<2)>>2]=i,_[e+4>>2]=o+1}},function(t,e){e|=0;var i=0,n=0,o=0;if(!((0|(i=0|_[12+(t|=0)>>2]))<=0)){o=0;do{(n=0|_[(0|_[t+20>>2])+(o<<2)>>2])&&(ed[127&_[16+(0|_[n>>2])>>2]](n,e),i=0|_[t+12>>2]),o=o+1|0}while((0|o)<(0|i))}},function(t,e){t|=0,e=0|_[36+(e|=0)>>2],ii(t,0|_[(0|_[24+(0|_[4+(0|_[t+4>>2])>>2])>>2])+(80*e|0)+64>>2],e)},function(t,e){e|=0;var i,n=0,o=0;if(i=0|_[8+(t|=0)>>2],!((0|(t=0|_[i+8>>2]))<=0)){o=0;do{(n=0|_[(0|_[i+16>>2])+(12*o|0)+8>>2])&&(ed[127&_[16+(0|_[n>>2])>>2]](n,e),t=0|_[i+8>>2]),o=o+1|0}while((0|o)<(0|t))}},function(t,e){e|=0;var i,n,o,r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0;if(r=Q,Q=Q+144|0,(0|_[16+(t|=0)>>2])<=0)return _[(A=t+76|0)>>2]=_[e>>2],_[A+4>>2]=_[e+4>>2],_[A+8>>2]=_[e+8>>2],_[A+12>>2]=_[e+12>>2],A=0|_[t>>2],A=0|_[(A=A+68|0)>>2],Xl[511&A](t),void(Q=r);i=r+16+16|0,n=r+16+32|0,o=r+16+48|0,d=0;do{if(b=(A=0|_[t+24>>2])+(80*d|0)|0,_[r+16>>2]=_[b>>2],_[r+16+4>>2]=_[b+4>>2],_[r+16+8>>2]=_[b+8>>2],_[r+16+12>>2]=_[b+12>>2],b=A+(80*d|0)+16|0,_[i>>2]=_[b>>2],_[i+4>>2]=_[b+4>>2],_[i+8>>2]=_[b+8>>2],_[i+12>>2]=_[b+12>>2],b=A+(80*d|0)+32|0,_[n>>2]=_[b>>2],_[n+4>>2]=_[b+4>>2],_[n+8>>2]=_[b+8>>2],_[n+12>>2]=_[b+12>>2],b=A+(80*d|0)+48|0,_[o>>2]=_[b>>2],_[o+4>>2]=_[b+4>>2],_[o+8>>2]=_[b+8>>2],_[o+12>>2]=_[b+12>>2],A=0|_[A+(80*d|0)+64>>2],A=0|Gl[127&_[28+(0|_[A>>2])>>2]](A),_[r>>2]=_[A>>2],_[r+4>>2]=_[A+4>>2],_[r+8>>2]=_[A+8>>2],f=+p[r+4>>2]*+p[e+4>>2]/+p[t+80>>2],u=+p[r+8>>2]*+p[e+8>>2]/+p[t+84>>2],p[r>>2]=+p[r>>2]*+p[e>>2]/+p[t+76>>2],p[r+4>>2]=f,p[r+8>>2]=u,p[r+12>>2]=0,A=0|_[(0|_[t+24>>2])+(80*d|0)+64>>2],ed[127&_[24+(0|_[A>>2])>>2]](A,r),u=+p[r+16+52>>2]*+p[e+4>>2]/+p[t+80>>2],f=+p[r+16+56>>2]*+p[e+8>>2]/+p[t+84>>2],p[r+16+48>>2]=+p[o>>2]*+p[e>>2]/+p[t+76>>2],p[r+16+52>>2]=u,p[r+16+56>>2]=f,p[r+16+60>>2]=0,A=0|_[t+24>>2],_[(b=A+(80*d|0)|0)>>2]=_[r+16>>2],_[b+4>>2]=_[r+16+4>>2],_[b+8>>2]=_[r+16+8>>2],_[b+12>>2]=_[r+16+12>>2],_[(b=A+(80*d|0)+16|0)>>2]=_[i>>2],_[b+4>>2]=_[i+4>>2],_[b+8>>2]=_[i+8>>2],_[b+12>>2]=_[i+12>>2],_[(b=A+(80*d|0)+32|0)>>2]=_[n>>2],_[b+4>>2]=_[n+4>>2],_[b+8>>2]=_[n+8>>2],_[b+12>>2]=_[n+12>>2],_[(A=A+(80*d|0)+48|0)>>2]=_[o>>2],_[A+4>>2]=_[o+4>>2],_[A+8>>2]=_[o+8>>2],_[A+12>>2]=_[o+12>>2],0|_[t+64>>2]){b=0|_[(0|_[t+24>>2])+(80*d|0)+64>>2],pd[127&_[8+(0|_[b>>2])>>2]](b,r+16|0,r+128|0,r+112|0),_[r+80>>2]=_[r+128>>2],_[r+80+4>>2]=_[r+128+4>>2],_[r+80+8>>2]=_[r+128+8>>2],_[r+80+12>>2]=_[r+128+12>>2],_[r+80+16>>2]=_[r+112>>2],_[r+80+16+4>>2]=_[r+112+4>>2],_[r+80+16+8>>2]=_[r+112+8>>2],_[r+80+16+12>>2]=_[r+112+12>>2],s=0|Tt(b=0|_[t+64>>2],A=0|_[(0|_[t+24>>2])+(80*d|0)+76>>2]);t:do{if(s){if((0|(l=0|_[b+8>>2]))<=-1){s=0|_[b>>2];break}if(l)for(c=0;;){if(c=c+1|0,!(a=0|_[s+32>>2]))break t;if((0|c)>=(0|l)){s=a;break}s=a}}else s=0}while(0);_[A>>2]=_[r+80>>2],_[A+4>>2]=_[r+80+4>>2],_[A+8>>2]=_[r+80+8>>2],_[A+12>>2]=_[r+80+12>>2],_[A+16>>2]=_[r+80+16>>2],_[A+20>>2]=_[r+80+20>>2],_[A+24>>2]=_[r+80+24>>2],_[A+28>>2]=_[r+80+28>>2],U(b,s,A)}d=d+1|0}while((0|d)<(0|_[t+16>>2]));_[(A=t+76|0)>>2]=_[e>>2],_[A+4>>2]=_[e+4>>2],_[A+8>>2]=_[e+8>>2],_[A+12>>2]=_[e+12>>2],A=0|_[t>>2],A=0|_[(A=A+68|0)>>2],Xl[511&A](t),Q=r},function(t,e){e|=0;var i=0,n=0;if(_[68+(t|=0)>>2]=1+(0|_[t+68>>2]),(0|(i=0|_[t+16>>2]))>0)do{n=i,i=i+-1|0,(0|_[(0|_[t+24>>2])+(80*i|0)+64>>2])==(0|e)&&Qe(t,i)}while((0|n)>1);Xl[511&_[68+(0|_[t>>2])>>2]](t)},function(t,e){e|=0;var i,n,o,r,s=0,c=0;r=0|_[68+(t|=0)>>2],o=0|_[t+64>>2],n=0|_[t+72>>2],s=+p[t+60>>2]*(+p[e+(r<<2)>>2]/+p[t+12+(r<<2)>>2]),p[t+60>>2]=s,c=+p[t+56>>2]*(.5*(+p[e+(o<<2)>>2]/+p[t+12+(o<<2)>>2]+ +p[e+(n<<2)>>2]/+p[t+12+(n<<2)>>2])),p[t+56>>2]=c,c/=+b(+(s*s+c*c)),p[t+52>>2]=c,c=+d(+ +p[e>>2]),s=+d(+ +p[e+4>>2]),i=+d(+ +p[e+8>>2]),p[t+12>>2]=c,p[t+16>>2]=s,p[t+20>>2]=i,p[t+24>>2]=0},function(t,e){_[(t|=0)>>2]=0,_[t+4>>2]=1065353216,_[t+8>>2]=0,p[t+12>>2]=0},function(t,e){_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=1065353216,p[t+12>>2]=0},function(t,e){_[(t|=0)>>2]=1065353216,_[t+4>>2]=0,_[t+8>>2]=0,p[t+12>>2]=0},function(t,e){e|=0;var i,o,r,s,c=0;s=0|Gl[127&_[28+(0|_[(t|=0)>>2])>>2]](t),(r=+p[s>>2]-+p[e>>2])*r+(o=+p[s+4>>2]-+p[e+4>>2])*o+(i=+p[s+8>>2]-+p[e+8>>2])*i>1.1920928955078125e-7&&(Wt(t,e),0|n[t+61|0]&&(c=0|_[t+52>>2],Xl[511&_[_[c>>2]>>2]](c),0|(c=0|_[t+52>>2]))?(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),c=t+52|0):c=t+52|0,_[6630]=1+(0|_[6630]),(e=0|di(191))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,_[e+52>>2]=282,n[e+60|0]=0,n[e+80|0]=1,_[e+76>>2]=0,_[e+68>>2]=0,_[e+72>>2]=0,n[e+100|0]=1,_[e+96>>2]=0,_[e+88>>2]=0,_[e+92>>2]=0,n[e+120|0]=1,_[e+116>>2]=0,_[e+108>>2]=0,_[e+112>>2]=0,n[e+140|0]=1,_[e+136>>2]=0,_[e+128>>2]=0,_[e+132>>2]=0,_[e+144>>2]=0,n[e+164|0]=1,_[e+160>>2]=0,_[e+152>>2]=0,_[e+156>>2]=0,_[e+168>>2]=0,_[e+4>>2]=-8388609,_[e+8>>2]=-8388609,_[e+12>>2]=-8388609,p[e+16>>2]=0,_[e+20>>2]=2139095039,_[e+24>>2]=2139095039,_[e+28>>2]=2139095039,p[e+32>>2]=0,_[e>>2]=8976,_[c>>2]=e,xi(e,0|_[t+48>>2],!!(0|n[t+60|0]),t+16|0,t+32|0),n[t+61|0]=1)},function(t,e){e|=0;var i=0,n=0;(i=0|_[52+(t|=0)>>2])&&(n=0|Gl[127&_[12+(0|_[i>>2])>>2]](i),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,n,1),i=0|_[t+52>>2],i=0|El[63&_[16+(0|_[i>>2])>>2]](i,0|_[n+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,n,i,1213612625,0|_[t+52>>2]))},function(t,e){e|=0;var i=0,n=0;(i=0|_[56+(t|=0)>>2])&&(n=0|Gl[127&_[8+(0|_[i>>2])>>2]](i),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,n,1),i=0|_[t+56>>2],i=0|El[63&_[12+(0|_[i>>2])>>2]](i,0|_[n+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,n,i,1346456916,0|_[t+56>>2]))},Wt,__,function(t,e){e|=0,_[12+(t|=0)>>2]=_[e>>2],_[t+12+4>>2]=_[e+4>>2],_[t+12+8>>2]=_[e+8>>2],_[t+12+12>>2]=_[e+12>>2],nn(t)},Sn,m_,function(t,e){var i;e|=0,i=4+(0|_[92+(t|=0)>>2])|0,_[i>>2]=_[e>>2],_[i+4>>2]=_[e+4>>2],_[i+8>>2]=_[e+8>>2],_[i+12>>2]=_[e+12>>2],nn(t)},Sn,function(t,e){e|=0;var i,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0;i=Q,Q=Q+64|0,_[20+(t|=0)>>2]=_[e+16>>2],_[t+24>>2]=_[e+20>>2],_[t+28>>2]=_[e+24>>2],_[t+32>>2]=_[e+28>>2],_[t+4>>2]=_[e>>2],_[t+8>>2]=_[e+4>>2],_[t+12>>2]=_[e+8>>2],_[t+16>>2]=_[e+12>>2],_[t+36>>2]=_[e+32>>2],_[t+40>>2]=_[e+36>>2],_[t+44>>2]=_[e+40>>2],_[t+48>>2]=_[e+44>>2],_[t+56>>2]=_[e+48>>2],n[t+60|0]=1&!!(0|_[e+52>>2]),b=0|_[e+56>>2],l=(c=i)+64|0;do{_[c>>2]=0,c=c+4|0}while((0|c)<(0|l));if((0|(d=0|_[t+88>>2]))<(0|b)){if((0|_[t+92>>2])<(0|b)){if(b?(_[6630]=1+(0|_[6630]),(r=0|di(b<<6|19))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,p=0|_[t+88>>2]):(r=0,p=d),(0|p)>0){s=0;do{c=r+(s<<6)|0,a=(0|_[t+96>>2])+(s<<6)|0,l=c+64|0;do{_[c>>2]=_[a>>2],c=c+4|0,a=a+4|0}while((0|c)<(0|l));s=s+1|0}while((0|s)!=(0|p))}0|(s=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=r,_[t+92>>2]=b,s=t+96|0}else s=t+96|0;r=d;do{a=i,l=64+(c=(0|_[s>>2])+(r<<6)|0)|0;do{_[c>>2]=_[a>>2],c=c+4|0,a=a+4|0}while((0|c)<(0|l));r=r+1|0}while((0|r)!=(0|b))}if(_[t+88>>2]=b,(0|b)>0)for(p=0|_[t+96>>2],r=0|_[e+64>>2],s=0;_[p+(s<<6)+16>>2]=_[r+16>>2],_[p+(s<<6)+20>>2]=_[r+20>>2],_[p+(s<<6)+24>>2]=_[r+24>>2],_[p+(s<<6)+28>>2]=_[r+28>>2],_[p+(s<<6)>>2]=_[r>>2],_[p+(s<<6)+4>>2]=_[r+4>>2],_[p+(s<<6)+8>>2]=_[r+8>>2],_[p+(s<<6)+12>>2]=_[r+12>>2],_[p+(s<<6)+32>>2]=_[r+32>>2],_[p+(s<<6)+36>>2]=_[r+36>>2],_[p+(s<<6)+40>>2]=_[r+40>>2],(0|(s=s+1|0))!=(0|b);)r=r+48|0;if(a=0|_[e+60>>2],_[i>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,(0|(c=0|_[t+128>>2]))<(0|a)){if((0|_[t+132>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(r=0|di(16+(a<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,p=0|_[t+128>>2]):(r=0,p=c),(0|p)>0){s=0;do{b=r+(s<<4)|0,d=(0|_[t+136>>2])+(s<<4)|0,_[b>>2]=_[d>>2],_[b+4>>2]=_[d+4>>2],_[b+8>>2]=_[d+8>>2],_[b+12>>2]=_[d+12>>2],s=s+1|0}while((0|s)!=(0|p))}0|(s=0|_[t+136>>2])&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+136>>2]=0),n[t+140|0]=1,_[t+136>>2]=r,_[t+132>>2]=a,s=t+136|0}else s=t+136|0;r=c;do{b=(0|_[s>>2])+(r<<4)|0,_[b>>2]=_[i>>2],_[b+4>>2]=_[i+4>>2],_[b+8>>2]=_[i+8>>2],_[b+12>>2]=_[i+12>>2],r=r+1|0}while((0|r)!=(0|a))}if(_[t+128>>2]=a,(0|a)>0)for(p=0|_[t+136>>2],r=0,s=0|_[e+68>>2];_[p+(r<<4)+12>>2]=_[s+12>>2],o[p+(r<<4)+6>>1]=0|o[s+6>>1],o[p+(r<<4)+8>>1]=0|o[s+8>>1],o[p+(r<<4)+10>>1]=0|o[s+10>>1],o[p+(r<<4)>>1]=0|o[s>>1],o[p+(r<<4)+2>>1]=0|o[s+2>>1],o[p+(r<<4)+4>>1]=0|o[s+4>>1],(0|(r=r+1|0))!=(0|a);)s=s+16|0;if(_[t+144>>2]=_[e+76>>2],a=0|_[e+80>>2],(0|(c=0|_[t+152>>2]))<(0|a)){if((0|_[t+156>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(r=0|di(a<<5|19))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,p=0|_[t+152>>2]):(r=0,p=c),(0|p)>0){s=0;do{b=r+(s<<5)|0,d=(0|_[t+160>>2])+(s<<5)|0,_[b>>2]=_[d>>2],_[b+4>>2]=_[d+4>>2],_[b+8>>2]=_[d+8>>2],_[b+12>>2]=_[d+12>>2],_[b+16>>2]=_[d+16>>2],_[b+20>>2]=_[d+20>>2],_[b+24>>2]=_[d+24>>2],_[b+28>>2]=_[d+28>>2],s=s+1|0}while((0|s)!=(0|p))}0|(s=0|_[t+160>>2])&&(0|n[t+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+160>>2]=0),n[t+164|0]=1,_[t+160>>2]=r,_[t+156>>2]=a,s=t+160|0}else s=t+160|0;r=c;do{b=(0|_[s>>2])+(r<<5)|0,_[b>>2]=_[i>>2],_[b+4>>2]=_[i+4>>2],_[b+8>>2]=_[i+8>>2],_[b+12>>2]=_[i+12>>2],_[b+16>>2]=_[i+16>>2],_[b+20>>2]=_[i+20>>2],_[b+24>>2]=_[i+24>>2],_[b+28>>2]=_[i+28>>2],r=r+1|0}while((0|r)!=(0|a))}if(_[t+152>>2]=a,(0|a)<=0)Q=i;else{for(p=0|_[t+160>>2],s=0,r=0|_[e+72>>2];o[p+(s<<5)+6>>1]=0|o[r+14>>1],o[p+(s<<5)+8>>1]=0|o[r+16>>1],o[p+(s<<5)+10>>1]=0|o[r+18>>1],o[p+(s<<5)>>1]=0|o[r+8>>1],o[p+(s<<5)+2>>1]=0|o[r+10>>1],o[p+(s<<5)+4>>1]=0|o[r+12>>1],_[p+(s<<5)+12>>2]=_[r>>2],_[p+(s<<5)+16>>2]=_[r+4>>2],(0|(s=s+1|0))!=(0|a);)r=r+20|0;Q=i}},function(t,e){e|=0;var i,r=0,s=0,a=0,l=0,d=0,b=0,A=0,f=0;i=Q,Q=Q+64|0,p[20+(t|=0)>>2]=+c[e+32>>3],p[t+24>>2]=+c[e+40>>3],p[t+28>>2]=+c[e+48>>3],p[t+32>>2]=+c[e+56>>3],p[t+4>>2]=+c[e>>3],p[t+8>>2]=+c[e+8>>3],p[t+12>>2]=+c[e+16>>3],p[t+16>>2]=+c[e+24>>3],p[t+36>>2]=+c[e+64>>3],p[t+40>>2]=+c[e+72>>3],p[t+44>>2]=+c[e+80>>3],p[t+48>>2]=+c[e+88>>3],_[t+56>>2]=_[e+96>>2],n[t+60|0]=1&!!(0|_[e+100>>2]),f=0|_[e+104>>2],b=(l=i)+64|0;do{_[l>>2]=0,l=l+4|0}while((0|l)<(0|b));if((0|(A=0|_[t+88>>2]))<(0|f)){if((0|_[t+92>>2])<(0|f)){if(f?(_[6630]=1+(0|_[6630]),(r=0|di(f<<6|19))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,a=0|_[t+88>>2]):(r=0,a=A),(0|a)>0){s=0;do{l=r+(s<<6)|0,d=(0|_[t+96>>2])+(s<<6)|0,b=l+64|0;do{_[l>>2]=_[d>>2],l=l+4|0,d=d+4|0}while((0|l)<(0|b));s=s+1|0}while((0|s)!=(0|a))}0|(s=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=r,_[t+92>>2]=f,s=t+96|0}else s=t+96|0;r=A;do{d=i,b=64+(l=(0|_[s>>2])+(r<<6)|0)|0;do{_[l>>2]=_[d>>2],l=l+4|0,d=d+4|0}while((0|l)<(0|b));r=r+1|0}while((0|r)!=(0|f))}if(_[t+88>>2]=f,(0|f)>0)for(a=0|_[t+96>>2],r=0|_[e+112>>2],s=0;p[a+(s<<6)+16>>2]=+c[r+32>>3],p[a+(s<<6)+20>>2]=+c[r+40>>3],p[a+(s<<6)+24>>2]=+c[r+48>>3],p[a+(s<<6)+28>>2]=+c[r+56>>3],p[a+(s<<6)>>2]=+c[r>>3],p[a+(s<<6)+4>>2]=+c[r+8>>3],p[a+(s<<6)+8>>2]=+c[r+16>>3],p[a+(s<<6)+12>>2]=+c[r+24>>3],_[a+(s<<6)+32>>2]=_[r+64>>2],_[a+(s<<6)+36>>2]=_[r+68>>2],_[a+(s<<6)+40>>2]=_[r+72>>2],(0|(s=s+1|0))!=(0|f);)r=r+80|0;if(d=0|_[e+108>>2],_[i>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,(0|(l=0|_[t+128>>2]))<(0|d)){if((0|_[t+132>>2])<(0|d)){if(d?(_[6630]=1+(0|_[6630]),(r=0|di(16+(d<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,a=0|_[t+128>>2]):(r=0,a=l),(0|a)>0){s=0;do{f=r+(s<<4)|0,A=(0|_[t+136>>2])+(s<<4)|0,_[f>>2]=_[A>>2],_[f+4>>2]=_[A+4>>2],_[f+8>>2]=_[A+8>>2],_[f+12>>2]=_[A+12>>2],s=s+1|0}while((0|s)!=(0|a))}0|(s=0|_[t+136>>2])&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+136>>2]=0),n[t+140|0]=1,_[t+136>>2]=r,_[t+132>>2]=d,s=t+136|0}else s=t+136|0;r=l;do{f=(0|_[s>>2])+(r<<4)|0,_[f>>2]=_[i>>2],_[f+4>>2]=_[i+4>>2],_[f+8>>2]=_[i+8>>2],_[f+12>>2]=_[i+12>>2],r=r+1|0}while((0|r)!=(0|d))}if(_[t+128>>2]=d,(0|d)>0)for(a=0|_[t+136>>2],r=0,s=0|_[e+116>>2];_[a+(r<<4)+12>>2]=_[s+12>>2],o[a+(r<<4)+6>>1]=0|o[s+6>>1],o[a+(r<<4)+8>>1]=0|o[s+8>>1],o[a+(r<<4)+10>>1]=0|o[s+10>>1],o[a+(r<<4)>>1]=0|o[s>>1],o[a+(r<<4)+2>>1]=0|o[s+2>>1],o[a+(r<<4)+4>>1]=0|o[s+4>>1],(0|(r=r+1|0))!=(0|d);)s=s+16|0;if(_[t+144>>2]=_[e+120>>2],d=0|_[e+124>>2],(0|(l=0|_[t+152>>2]))<(0|d)){if((0|_[t+156>>2])<(0|d)){if(d?(_[6630]=1+(0|_[6630]),(r=0|di(d<<5|19))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,a=0|_[t+152>>2]):(r=0,a=l),(0|a)>0){s=0;do{f=r+(s<<5)|0,A=(0|_[t+160>>2])+(s<<5)|0,_[f>>2]=_[A>>2],_[f+4>>2]=_[A+4>>2],_[f+8>>2]=_[A+8>>2],_[f+12>>2]=_[A+12>>2],_[f+16>>2]=_[A+16>>2],_[f+20>>2]=_[A+20>>2],_[f+24>>2]=_[A+24>>2],_[f+28>>2]=_[A+28>>2],s=s+1|0}while((0|s)!=(0|a))}0|(s=0|_[t+160>>2])&&(0|n[t+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+160>>2]=0),n[t+164|0]=1,_[t+160>>2]=r,_[t+156>>2]=d,s=t+160|0}else s=t+160|0;r=l;do{f=(0|_[s>>2])+(r<<5)|0,_[f>>2]=_[i>>2],_[f+4>>2]=_[i+4>>2],_[f+8>>2]=_[i+8>>2],_[f+12>>2]=_[i+12>>2],_[f+16>>2]=_[i+16>>2],_[f+20>>2]=_[i+20>>2],_[f+24>>2]=_[i+24>>2],_[f+28>>2]=_[i+28>>2],r=r+1|0}while((0|r)!=(0|d))}if(_[t+152>>2]=d,(0|d)<=0)Q=i;else{for(a=0|_[t+160>>2],s=0,r=0|_[e+128>>2];o[a+(s<<5)+6>>1]=0|o[r+14>>1],o[a+(s<<5)+8>>1]=0|o[r+16>>1],o[a+(s<<5)+10>>1]=0|o[r+18>>1],o[a+(s<<5)>>1]=0|o[r+8>>1],o[a+(s<<5)+2>>1]=0|o[r+10>>1],o[a+(s<<5)+4>>1]=0|o[r+12>>1],_[a+(s<<5)+12>>2]=_[r>>2],_[a+(s<<5)+16>>2]=_[r+4>>2],(0|(s=s+1|0))!=(0|d);)r=r+20|0;Q=i}},function(t,e){e|=0,_[108+(t|=0)>>2]=_[e>>2],_[t+108+4>>2]=_[e+4>>2],_[t+108+8>>2]=_[e+8>>2],_[t+108+12>>2]=_[e+12>>2]},Sn,m_,_a,_a,function(t,e){e|=0;var i=0,o=0,r=0,s=0,p=0;if(0|n[165+(t|=0)|0]){if((0|_[t+92>>2])>=(0|e))return;if(0|e&&(_[6630]=1+(0|_[6630]),0|(i=0|di(16+(e<<4|3)|0)))?(_[(i+4+15&-16)-4>>2]=i,r=i+4+15&-16):r=0,(0|(o=0|_[t+88>>2]))>0){i=0;do{p=r+(i<<4)|0,s=(0|_[t+96>>2])+(i<<4)|0,_[p>>2]=_[s>>2],_[p+4>>2]=_[s+4>>2],_[p+8>>2]=_[s+8>>2],_[p+12>>2]=_[s+12>>2],i=i+1|0}while((0|i)!=(0|o))}return 0|(i=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=r,void(_[t+92>>2]=e)}if(!((0|_[t+112>>2])>=(0|e))){if(0|e&&(_[6630]=1+(0|_[6630]),0|(o=0|di(16+(e<<2|3)|0)))?(_[(o+4+15&-16)-4>>2]=o,s=o+4+15&-16):s=0,o=0|_[t+108>>2],r=0|_[t+116>>2],(0|o)<=0)r?p=23:i=t+120|0;else{i=0;do{_[s+(i<<2)>>2]=_[r+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|o));p=23}23==(0|p)&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+116>>2]=0,i=t+120|0),n[0|i]=1,_[t+116>>2]=s,_[t+112>>2]=e}},function(t,e){e|=0;var i=0,r=0,s=0,p=0,c=0;if(0|n[164+(t|=0)|0]){if((0|_[t+132>>2])>=(0|e))return;if(0|e&&(_[6630]=1+(0|_[6630]),0|(i=0|di(16+(e<<2|3)|0)))?(_[(i+4+15&-16)-4>>2]=i,p=i+4+15&-16):p=0,r=0|_[t+128>>2],s=0|_[t+136>>2],(0|r)<=0)s?c=11:i=t+140|0;else{i=0;do{_[p+(i<<2)>>2]=_[s+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|r));c=11}return 11==(0|c)&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+136>>2]=0,i=t+140|0),n[0|i]=1,_[t+136>>2]=p,void(_[t+132>>2]=e)}if(!((0|_[t+152>>2])>=(0|e))){if(0|e&&(_[6630]=1+(0|_[6630]),0|(r=0|di(19+(e<<1)|0)))?(_[(r+4+15&-16)-4>>2]=r,p=r+4+15&-16):p=0,r=0|_[t+148>>2],s=0|_[t+156>>2],(0|r)<=0)s?c=24:i=t+160|0;else{i=0;do{o[p+(i<<1)>>1]=0|o[s+(i<<1)>>1],i=i+1|0}while((0|i)!=(0|r));c=24}return 24==(0|c)&&(0|n[t+160|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+156>>2]=0,i=t+160|0),n[0|i]=1,_[t+156>>2]=p,void(_[t+152>>2]=e)}},function(t,e){e|=0;var i=0,o=0,r=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;if(A=0|_[92+(t|=0)>>2],0|Gl[127&_[56+(0|_[A>>2])>>2]](A)){if(A=0|_[t+92>>2],A=0|Gl[127&_[28+(0|_[A>>2])>>2]](A),(0|(i=0|_[A+4>>2]))>1?(He(A,0,i+-1|0),c=0|_[A+4>>2]):c=i,i=c-(d=0|_[t+104>>2])|0,(0|d)<0){if((0|_[A+8>>2])<(0|i)){if(i?(_[6630]=1+(0|_[6630]),(o=0|di(16+(i<<4|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,p=0|_[A+4>>2]):(o=0,p=c),(0|p)>0){r=0;do{d=0|_[A+12>>2],_[o+(r<<4)>>2]=_[d+(r<<4)>>2],_[o+(r<<4)+4>>2]=_[d+(r<<4)+4>>2],_[o+(r<<4)+8>>2]=_[d+(r<<4)+8>>2],_[o+(r<<4)+12>>2]=_[d+(r<<4)+12>>2],r=r+1|0}while((0|r)!=(0|p))}0|(r=0|_[A+12>>2])&&(0|n[A+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[A+12>>2]=0),n[A+16|0]=1,_[A+12>>2]=o,_[A+8>>2]=i,r=A+12|0}else r=A+12|0;o=c;do{d=(0|_[r>>2])+(o<<4)|0,o=o+1|0,_[d>>2]=0,_[d+4>>2]=0,_[d+8>>2]=0,_[d+12>>2]=0}while((0|o)!=(0|i))}if(_[A+4>>2]=i,_[t+104>>2]=0,(0|i)>0){l=0,d=0,o=0,r=0;do{a=0|_[A+12>>2],f=d,(0|(d=0|_[(c=a+(l<<4)|0)>>2]))==(0|f)&(0|(p=0|_[(a=a+(l<<4)+4|0)>>2]))==(0|o)?(i=o,b=30):(o=d+48|0,(0|s[(f=d+54|0)>>1])>=(0|s[p+48>>1])&&(0|s[p+54>>1])>=(0|s[o>>1])&&(0|s[f+2>>1])>=(0|s[p+48+2>>1])&&(0|s[p+54+2>>1])>=(0|s[o+2>>1])&&(0|s[f+4>>1])>=(0|s[p+52>>1])&&(0|s[p+54+4>>1])>=(0|s[d+52>>1])?o=p:(i=p,b=30)),30==(0|b)&&(b=0,r=0|_[t+92>>2],_d[127&_[32+(0|_[r>>2])>>2]](r,c,e),_[c>>2]=0,_[a>>2]=0,r=1+(0|_[t+104>>2])|0,_[t+104>>2]=r,_[6606]=(0|_[6606])-1,o=i,i=0|_[A+4>>2]),l=l+1|0}while((0|l)<(0|i));if((0|i)>1?(He(A,0,i+-1|0),r=0|_[t+104>>2],o=0|_[A+4>>2]):o=i,i=o-r|0,(0|r)<0){if((0|_[A+8>>2])<(0|i)){if(i?(_[6630]=1+(0|_[6630]),(r=0|di(16+(i<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,c=0|_[A+4>>2]):(r=0,c=o),(0|c)>0){p=0;do{f=0|_[A+12>>2],_[r+(p<<4)>>2]=_[f+(p<<4)>>2],_[r+(p<<4)+4>>2]=_[f+(p<<4)+4>>2],_[r+(p<<4)+8>>2]=_[f+(p<<4)+8>>2],_[r+(p<<4)+12>>2]=_[f+(p<<4)+12>>2],p=p+1|0}while((0|p)!=(0|c))}0|(p=0|_[A+12>>2])&&(0|n[A+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),_[A+12>>2]=0),n[A+16|0]=1,_[A+12>>2]=r,_[A+8>>2]=i}do{f=(0|_[A+12>>2])+(o<<4)|0,o=o+1|0,_[f>>2]=0,_[f+4>>2]=0,_[f+8>>2]=0,_[f+12>>2]=0}while((0|o)!=(0|i))}}_[A+4>>2]=i,_[t+104>>2]=0}},function(t,e){e|=0;var i,n=0;if(!(0|o[56+(t|=0)>>1])){if(o[t+64>>1]=1,e=0|o[t+58>>1],i=0|_[t+60>>2],(65535&e)>1){n=1;do{e=n,n=n+1|0,o[i+(e<<6)+48>>1]=n,e=0|s[t+58>>1]}while(n>>>0>>0)}else e&=65535;o[i+(e+-1<<6)+48>>1]=0}},_a,_a,_a,function(t,e){e|=0,_[24+(t|=0)>>2]=e},ap,function(t,e){t|=0,e|=0;var i,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;if(i=Q,Q=Q+32|0,n[i+16|0]=1,_[i+12>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,(0|_[t+8>>2])>0){for(d=0,s=0,p=0,o=0,r=0;;){if(A=(b=0|_[t+16>>2])+(d<<4)|0,(0|s)==(0|r))if((0|r)<(0|(l=0|r?r<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(o=0|di(16+(l<<4|3)|0))?(_[(o+4+15&-16)-4>>2]=o,p=o+4+15&-16,r=s):(p=0,r=s)):p=0,(0|r)>0){o=0;do{a=0|_[i+12>>2],_[p+(o<<4)>>2]=_[a+(o<<4)>>2],_[p+(o<<4)+4>>2]=_[a+(o<<4)+4>>2],_[p+(o<<4)+8>>2]=_[a+(o<<4)+8>>2],_[p+(o<<4)+12>>2]=_[a+(o<<4)+12>>2],o=o+1|0}while((0|o)!=(0|r))}(o=0|_[i+12>>2])?(0|n[i+16|0]?(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])):s=r,_[i+12>>2]=0):s=r,n[i+16|0]=1,_[i+12>>2]=p,a=l,c=s,o=l}else a=r,c=r;else a=r,c=s;if(_[p+(c<<4)>>2]=_[A>>2],_[p+(c<<4)+4>>2]=_[b+(d<<4)+4>>2],_[p+(c<<4)+8>>2]=_[b+(d<<4)+8>>2],_[p+(c<<4)+12>>2]=_[b+(d<<4)+12>>2],s=c+1|0,(0|(d=d+1|0))>=(0|_[t+8>>2]))break;r=a}if(_[i+4>>2]=s,_[i+8>>2]=o,(0|c)>-1)for(r=0|_[i+12>>2],o=0;Hl[31&_[12+(0|_[t>>2])>>2]](t,0|_[r+(o<<4)>>2],0|_[r+(o<<4)+4>>2],e),(0|o)<(0|c);)o=o+1|0}else s=0;if((0|_[t+56>>2])>0){r=0|_[t+64>>2],o=0;do{_[r+(o<<2)>>2]=-1,o=o+1|0}while((0|o)<(0|_[t+56>>2]))}if((0|s)<=1)if((0|s)<=0){if(!(o=0|_[i+12>>2]))return void(Q=i)}else f=26;else He(i,0,s+-1|0),f=26;if(26==(0|f)){o=0|_[i+12>>2],r=0;do{El[63&_[8+(0|_[t>>2])>>2]](t,0|_[o+(r<<4)>>2],0|_[o+(r<<4)+4>>2]),r=r+1|0}while((0|r)<(0|s))}_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),_[i+12>>2]=0,Q=i},function(t,e){e|=0;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;if(i=Q,Q=Q+32|0,dt(4+(t|=0)|0,1+((0|g(0|_[t+152>>2],0|_[t+16>>2]))/100|0)|0),0|_[t+164>>2]&&(dt(t+64|0,f=1+((0|g(0|_[t+148>>2],0|_[t+76>>2]))/100|0)|0),f=(0|_[t+164>>2])-f|0,_[t+164>>2]=(0|f)>0?f:0),r=(1+(0|_[t+144>>2])|0)%2|0,_[t+144>>2]=r,0|(r=0|_[t+124+(r<<2)>>2])){do{if(d=r,r=0|_[(a=r+56|0)>>2],s=(s=0|_[d+52>>2])?s+56|0:t+124+(_[d+60>>2]<<2)|0,_[s>>2]=r,0|(s=0|_[a>>2])&&(_[s+52>>2]=_[d+52>>2]),_[d+52>>2]=0,_[a>>2]=_[t+132>>2],0|(s=0|_[t+132>>2])&&(_[s+52>>2]=d),_[t+132>>2]=d,Tt(t+4|0,s=0|_[d+48>>2]),0|(a=0|_[t+8>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+8>>2]=s,_[t+16>>2]=(0|_[t+16>>2])-1,_[i>>2]=_[d+16>>2],_[i+4>>2]=_[d+16+4>>2],_[i+8>>2]=_[d+16+8>>2],_[i+12>>2]=_[d+16+12>>2],_[i+16>>2]=_[d+32>>2],_[i+16+4>>2]=_[d+32+4>>2],_[i+16+8>>2]=_[d+32+8>>2],_[i+16+12>>2]=_[d+32+12>>2],s=0|_[t+68>>2])_[t+68>>2]=0;else{_[6630]=1+(0|_[6630]),(s=0|di(63))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,l=(a=s)+44|0;do{_[a>>2]=0,a=a+4|0}while((0|a)<(0|l))}_[s+32>>2]=0,_[s+36>>2]=d,_[s+40>>2]=0,_[s>>2]=_[i>>2],_[s+4>>2]=_[i+4>>2],_[s+8>>2]=_[i+8>>2],_[s+12>>2]=_[i+12>>2],_[s+16>>2]=_[i+16>>2],_[s+20>>2]=_[i+20>>2],_[s+24>>2]=_[i+24>>2],_[s+28>>2]=_[i+28>>2],U(t+64|0,0|_[t+64>>2],s),a=1+(0|_[t+76>>2])|0,_[t+76>>2]=a,_[d+48>>2]=s,_[d+60>>2]=2}while(0|r);_[t+164>>2]=a,n[t+194|0]=1}if(_[i>>2]=9900,_[i+4>>2]=t,0|n[t+193|0]&&(Le(t+4|0,0|_[t+4>>2],0|_[t+64>>2],i),0|n[t+193|0])&&Le(t+4|0,f=0|_[t+4>>2],f,i),0|n[t+194|0]&&(b=0|_[t+136>>2],b=0|Gl[127&_[28+(0|_[b>>2])>>2]](b),(0|(o=0|_[b+4>>2]))>0)){if(r=(0|g(0|_[t+156>>2],o))/100|0,(0|(r=(0|o)<(0|(r=(0|(f=0|_[t+160>>2]))>(0|r)?f:r))?o:r))>0){s=0;do{l=((0|_[t+184>>2])+s|0)%(0|o)|0,A=0|_[b+12>>2],a=0|_[A+(l<<4)>>2],l=0|_[A+(l<<4)+4>>2],A=0|_[a+48>>2],f=0|_[l+48>>2],+p[A>>2]<=+p[f+16>>2]&&+p[A+16>>2]>=+p[f>>2]&&+p[A+4>>2]<=+p[f+20>>2]&&+p[A+20>>2]>=+p[f+4>>2]&&+p[A+8>>2]<=+p[f+24>>2]&&+p[A+24>>2]>=+p[f+8>>2]||(o=0|_[t+136>>2],Hl[31&_[12+(0|_[o>>2])>>2]](o,a,l,e),s=s+-1|0,r=r+-1|0,o=0|_[b+4>>2]),s=s+1|0}while((0|s)<(0|r));(0|o)>0?u=37:o=0}else u=37;37==(0|u)&&(o=((0|_[t+184>>2])+r|0)%(0|o)|0),_[t+184>>2]=o}if(_[t+180>>2]=1+(0|_[t+180>>2]),_[t+160>>2]=1,n[t+194|0]=0,r=0|_[t+168>>2],o=0|_[t+172>>2],c=r?+(o>>>0)/+(r>>>0):0,p[t+176>>2]=c,_[t+172>>2]=o>>>1,_[t+168>>2]=r>>>1,f=0|_[t+136>>2],0|Gl[127&_[56+(0|_[f>>2])>>2]](f)){if(f=0|_[t+136>>2],f=0|Gl[127&_[28+(0|_[f>>2])>>2]](f),(0|(o=0|_[f+4>>2]))>1&&(He(f,0,o+-1|0),o=0|_[f+4>>2]),(0|o)>0){for(b=0,d=0,A=0,r=0;a=0|_[f+12>>2],m=A,(0|(A=0|_[(s=a+(b<<4)|0)>>2]))==(0|m)&(0|(l=0|_[(a=a+(b<<4)+4|0)>>2]))==(0|r)?u=53:(r=0|_[A+48>>2],m=0|_[l+48>>2],+p[r>>2]<=+p[m+16>>2]&&+p[r+16>>2]>=+p[m>>2]&&+p[r+4>>2]<=+p[m+20>>2]&&+p[r+20>>2]>=+p[m+4>>2]&&+p[r+8>>2]<=+p[m+24>>2]&&+p[r+24>>2]>=+p[m+8>>2]?(s=d,r=l):(r=l,u=53)),53==(0|u)&&(u=0,o=0|_[t+136>>2],_d[127&_[32+(0|_[o>>2])>>2]](o,s,e),_[s>>2]=0,_[a>>2]=0,s=d+1|0,o=0|_[f+4>>2]),!((0|(b=b+1|0))>=(0|o));)d=s;if((0|o)>1&&(He(f,0,o+-1|0),o=0|_[f+4>>2]),l=o-s|0,(0|s)<0){if((0|_[f+8>>2])<(0|l)){if(l?(_[6630]=1+(0|_[6630]),(r=0|di(16+(l<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,a=0|_[f+4>>2]):(r=0,a=o),(0|a)>0){s=0;do{m=0|_[f+12>>2],_[r+(s<<4)>>2]=_[m+(s<<4)>>2],_[r+(s<<4)+4>>2]=_[m+(s<<4)+4>>2],_[r+(s<<4)+8>>2]=_[m+(s<<4)+8>>2],_[r+(s<<4)+12>>2]=_[m+(s<<4)+12>>2],s=s+1|0}while((0|s)!=(0|a))}0|(s=0|_[f+12>>2])&&(0|n[f+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[f+12>>2]=0),n[f+16|0]=1,_[f+12>>2]=r,_[f+8>>2]=l}do{m=(0|_[f+12>>2])+(o<<4)|0,o=o+1|0,_[m>>2]=0,_[m+4>>2]=0,_[m+8>>2]=0,_[m+12>>2]=0}while((0|o)!=(0|l));o=l}else o=l}_[f+4>>2]=o,Q=i}else Q=i},function(t,e){e|=0,(0|_[16+(t|=0)>>2])==(0-(0|_[t+76>>2])|0)&&(0|(e=0|_[t+4>>2])&&Yn(t+4|0,e),0|(e=0|_[t+8>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+8>>2]=0,_[t+12>>2]=-1,0|(e=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,_[t+20>>2]=0,0|(e=0|_[t+64>>2])&&Yn(t+64|0,e),0|(e=0|_[t+68>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+68>>2]=0,_[t+72>>2]=-1,0|(e=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,_[t+80>>2]=0,n[t+193|0]=0,n[t+194|0]=1,_[t+144>>2]=0,_[t+164>>2]=0,_[t+148>>2]=1,_[t+152>>2]=0,_[t+156>>2]=10,_[t+160>>2]=1,_[t+124>>2]=0,_[t+124+4>>2]=0,_[t+124+8>>2]=0,_[t+168>>2]=0,_[t+168+4>>2]=0,_[t+168+8>>2]=0,_[t+168+12>>2]=0,_[t+168+16>>2]=0,_[t+168+20>>2]=0)},function(t,e){e|=0,_d[127&_[8+(0|_[(t|=0)>>2])>>2]](t,e,0|_[48+(0|_[t+8>>2])>>2])},X_,X_,_a,qi,_a,_a,Al,Al,Al,Al,Al,Al,Al,Al],id=[Xa,function(t,e,i){t|=0,e|=0,i=+i;var n,o,r=0;n=Q,Q=Q+288|0,p[n+280>>2]=i,r=0|Ya(e),_[n+264>>2]=_[r>>2],_[n+264+4>>2]=_[r+4>>2],_[n+264+8>>2]=_[r+8>>2],_[n+264+12>>2]=_[r+12>>2],r=0|_[8+(0|_[t>>2])>>2],o=0|Cl(e),p[n+212>>2]=0,p[n+208>>2]=0,R_(n+216|0,n+280|0,n+212|0,n+208|0),Fn(n+232|0,o,+p[n+216>>2],+p[n+216+4>>2],+p[n+216+8>>2]),Bo(n+248|0,+p[n+264>>2],+p[n+264+4>>2],+p[n+264+8>>2],+p[n+232>>2],+p[n+232+4>>2],+p[n+232+8>>2]),p[n+184>>2]=.699999988079071,p[n+180>>2]=0,p[n+176>>2]=0,R_(n+192|0,n+184|0,n+180|0,n+176|0),pd[127&r](t,n+264|0,n+248|0,n+192|0),e=0|_[8+(0|_[t>>2])>>2],p[n+124>>2]=0,p[n+120>>2]=0,R_(n+128|0,n+124|0,n+280|0,n+120|0),Fn(n+144|0,o,+p[n+128>>2],+p[n+128+4>>2],+p[n+128+8>>2]),Bo(n+160|0,+p[n+264>>2],+p[n+264+4>>2],+p[n+264+8>>2],+p[n+144>>2],+p[n+144+4>>2],+p[n+144+8>>2]),p[n+96>>2]=0,p[n+92>>2]=.699999988079071,p[n+88>>2]=0,R_(n+104|0,n+96|0,n+92|0,n+88|0),pd[127&e](t,n+264|0,n+160|0,n+104|0),e=0|_[8+(0|_[t>>2])>>2],p[n+36>>2]=0,p[n+32>>2]=0,R_(n+40|0,n+36|0,n+32|0,n+280|0),Fn(n+56|0,o,+p[n+40>>2],+p[n+40+4>>2],+p[n+40+8>>2]),Bo(n+72|0,+p[n+264>>2],+p[n+264+4>>2],+p[n+264+8>>2],+p[n+56>>2],+p[n+56+4>>2],+p[n+56+8>>2]),p[n+8>>2]=0,p[n+4>>2]=0,p[n>>2]=.699999988079071,R_(n+16|0,n+8|0,n+4|0,n),pd[127&e](t,n+264|0,n+72|0,n+16|0),Q=n},function(t,e,i){e|=0,i=+i,ed[127&_[12+(0|_[(t|=0)>>2])>>2]](t,e)},function(t,e,i){i=+i,zl[31&_[16+(0|_[(t|=0)>>2])>>2]](t,i)},function(t,e,i){e|=0,i=+i,ed[127&_[32+(0|_[(t|=0)>>2])>>2]](t,e),id[7&_[36+(0|_[t>>2])>>2]](t,e,i)},function(t,e,i){e|=0,i=+i;var o,r,s=0,c=0,a=0;n[171+(t|=0)|0]=0,_[t+60>>2]=_[e>>2],_[t+60+4>>2]=_[e+4>>2],_[t+60+8>>2]=_[e+8>>2],_[t+60+12>>2]=_[e+12>>2],s=+p[t+60>>2],c=+p[t+64>>2],o=+p[t+68>>2],r=1/+b(+(s*s+c*c+o*o)),+b(+(o*r*(o*r)+(s*r*(s*r)+c*r*(c*r))))<1.1920928955078125e-7?(a=0,c=0,s=0,e=0):(a=s*r,c*=r,s=o*r,e=0|_[t+72>>2]),p[t+76>>2]=a,p[t+80>>2]=c,p[t+84>>2]=s,_[t+88>>2]=e,p[t+172>>2]=+p[t+172>>2]+i},function(t,e,i){e|=0,i=+i;var r,s=0,c=0,a=0,l=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0;if(r=Q,Q=Q+528|0,0|n[171+(t|=0)|0]||!(+p[t+172>>2]<=0)){if(u=1&Gl[127&_[48+(0|_[t>>2])>>2]](t),n[t+168|0]=u,c=+p[t+16>>2]-+p[t+44>>2]*i,p[t+16>>2]=c,c>0&&c>(a=+p[t+28>>2])&&(p[t+16>>2]=a,c=a),c<0&&(h=+d(+c))>(l=+d(+ +p[t+24>>2]))&&(p[t+16>>2]=-l,c=-l),p[t+20>>2]=c*i,u=0|_[t+8>>2],_[r>>2]=_[u+4>>2],_[r+4>>2]=_[u+4+4>>2],_[r+8>>2]=_[u+4+8>>2],_[r+12>>2]=_[u+4+12>>2],_[r+16>>2]=_[u+20>>2],_[r+16+4>>2]=_[u+20+4>>2],_[r+16+8>>2]=_[u+20+8>>2],_[r+16+12>>2]=_[u+20+12>>2],_[r+32>>2]=_[u+36>>2],_[r+32+4>>2]=_[u+36+4>>2],_[r+32+8>>2]=_[u+36+8>>2],_[r+32+12>>2]=_[u+36+12>>2],_[r+48>>2]=_[u+52>>2],_[r+48+4>>2]=_[u+52+4>>2],_[r+48+8>>2]=_[u+52+8>>2],_[r+48+12>>2]=_[u+52+12>>2],!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),u=0|_[t+176>>2],l=+p[t+20>>2],l=+p[t+52>>2]+(l>0?l:0),m=+p[22208+(u<<4)+4>>2]*l+ +p[t+96>>2],h=l*+p[22208+(u<<4)+8>>2]+ +p[t+100>>2],p[t+112>>2]=+p[t+92>>2]+ +p[22208+(u<<4)>>2]*l,p[t+116>>2]=m,p[t+120>>2]=h,p[t+124>>2]=0,_[r+456>>2]=1065353216,_[r+456+4>>2]=0,_[r+456+4+4>>2]=0,_[r+456+4+8>>2]=0,_[r+456+4+12>>2]=0,_[r+456+20>>2]=1065353216,_[r+456+24>>2]=0,_[r+456+24+4>>2]=0,_[r+456+24+8>>2]=0,_[r+456+24+12>>2]=0,_[r+456+40>>2]=1065353216,_[(u=r+456+44|0)>>2]=0,_[u+4>>2]=0,_[u+8>>2]=0,_[u+12>>2]=0,_[u+16>>2]=0,_[r+392>>2]=1065353216,_[r+392+4>>2]=0,_[r+392+4+4>>2]=0,_[r+392+4+8>>2]=0,_[r+392+4+12>>2]=0,_[r+392+20>>2]=1065353216,_[r+392+24>>2]=0,_[r+392+24+4>>2]=0,_[r+392+24+8>>2]=0,_[r+392+24+12>>2]=0,_[r+392+40>>2]=1065353216,_[(u=r+392+44|0)>>2]=0,_[u+4>>2]=0,_[u+8>>2]=0,_[u+12>>2]=0,_[u+16>>2]=0,!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),s=0|_[t+176>>2],u=0|_[t+12>>2],l=+Il[15&_[48+(0|_[u>>2])>>2]](u),m=(l+=+p[t+56>>2])*+p[22208+(s<<4)+4>>2]+ +p[t+96>>2],h=l*+p[22208+(s<<4)+8>>2]+ +p[t+100>>2],p[r+456+48>>2]=+p[22208+(s<<4)>>2]*l+ +p[t+92>>2],p[r+456+52>>2]=m,p[r+456+56>>2]=h,p[r+456+60>>2]=0,_[r+392+48>>2]=_[t+112>>2],_[r+392+48+4>>2]=_[t+112+4>>2],_[r+392+48+8>>2]=_[t+112+8>>2],_[r+392+48+12>>2]=_[t+112+12>>2],s=0|_[t+8>>2],!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),u=0|_[t+176>>2],l=-+p[22208+(u<<4)>>2],m=-+p[22208+(u<<4)+4>>2],h=-+p[22208+(u<<4)+8>>2],p[r+288+4>>2]=1,u=r+288+12|0,_[r+288+76>>2]=0,_[u>>2]=0,_[u+4>>2]=0,_[u+8>>2]=0,_[u+12>>2]=0,_[u+16>>2]=0,_[u+20>>2]=0,_[u+24>>2]=0,_[u+28>>2]=0,_[r+288>>2]=5836,_[r+288+80>>2]=s,p[r+288+84>>2]=l,p[r+288+88>>2]=m,p[r+288+92>>2]=h,p[r+288+96>>2]=0,p[r+288+100>>2]=.707099974155426,s=0|_[t+8>>2],u=0|_[s+188>>2],o[r+288+8>>1]=0|o[u+4>>1],o[r+288+10>>1]=0|o[u+6>>1],0|n[t+170|0]?Mi(s,0|_[t+12>>2],r+456|0,r+392|0,r+288|0,+p[e+56>>2]):we(e,0|_[t+12>>2],r+456|0,r+392|0,r+288|0,0),+p[r+288+4>>2]<1){!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),u=0|_[t+176>>2];do{if(+p[r+288+44>>2]*+p[22208+(u<<4)>>2]+ +p[r+288+48>>2]*+p[22208+(u<<4)+4>>2]+ +p[r+288+52>>2]*+p[22208+(u<<4)+8>>2]>0){if(c=+p[r+288+4>>2],p[t+108>>2]=+p[t+52>>2]*c,0|n[t+180|0]){p[t+92>>2]=(1-c)*+p[t+92>>2]+c*+p[t+112>>2],p[t+96>>2]=(1-c)*+p[t+96>>2]+c*+p[t+116>>2],p[t+100>>2]=(1-c)*+p[t+100>>2]+c*+p[t+120>>2];break}_[t+92>>2]=_[t+112>>2],_[t+92+4>>2]=_[t+112+4>>2],_[t+92+8>>2]=_[t+112+8>>2],_[t+92+12>>2]=_[t+112+12>>2];break}}while(0);p[t+16>>2]=0,p[t+20>>2]=0}else _[t+108>>2]=_[t+52>>2],_[t+92>>2]=_[t+112>>2],_[t+92+4>>2]=_[t+112+4>>2],_[t+92+8>>2]=_[t+112+8>>2],_[t+92+12>>2]=_[t+112+12>>2];0|n[t+171|0]?Te(t,e,+p[t+60>>2],+p[t+64>>2],+p[t+68>>2]):(h=(m=+p[t+172>>2])>i?i:m,p[t+172>>2]=m-i,Te(t,e,h*+p[t+60>>2],h*+p[t+64>>2],h*+p[t+68>>2])),_[r+272>>2]=_[t+112>>2],_[r+272+4>>2]=_[t+112+4>>2],_[r+272+8>>2]=_[t+112+8>>2],_[r+272+12>>2]=_[t+112+12>>2],c=((c=+p[t+16>>2])<0?-c:0)*i;do{if(c>0&&c>(A=+p[t+24>>2])){if(!(0|n[t+168|0])&&0|n[t+169|0])break;c=A}}while(0);for(!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),s=0|_[t+176>>2],h=c+ +p[t+108>>2],A=+p[22208+(s<<4)>>2]*h,m=h*+p[22208+(s<<4)+4>>2],h*=+p[22208+(s<<4)+8>>2],p[t+112>>2]=+p[t+112>>2]-A,p[t+116>>2]=+p[t+116>>2]-m,p[t+120>>2]=+p[t+120>>2]-h,s=0|_[t+8>>2],!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),b=22208+(_[t+176>>2]<<4)|0,f=0|_[t+40>>2],p[(u=r+168+4|0)>>2]=1,g=r+168+12|0,_[r+168+76>>2]=0,_[g>>2]=0,_[g+4>>2]=0,_[g+8>>2]=0,_[g+12>>2]=0,_[g+16>>2]=0,_[g+20>>2]=0,_[g+24>>2]=0,_[g+28>>2]=0,_[r+168>>2]=5836,_[r+168+80>>2]=s,_[r+168+84>>2]=_[b>>2],_[r+168+84+4>>2]=_[b+4>>2],_[r+168+84+8>>2]=_[b+8>>2],_[r+168+84+12>>2]=_[b+12>>2],_[r+168+100>>2]=f,s=0|_[t+8>>2],f=0|_[s+188>>2],o[r+168+8>>1]=0|o[f+4>>1],o[r+168+10>>1]=0|o[f+6>>1],!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),f=22208+(_[t+176>>2]<<4)|0,g=0|_[t+40>>2],p[r+64+4>>2]=1,b=r+64+12|0,_[r+64+76>>2]=0,_[b>>2]=0,_[b+4>>2]=0,_[b+8>>2]=0,_[b+12>>2]=0,_[b+16>>2]=0,_[b+20>>2]=0,_[b+24>>2]=0,_[b+28>>2]=0,_[r+64>>2]=5836,_[r+64+80>>2]=s,_[r+64+84>>2]=_[f>>2],_[r+64+84+4>>2]=_[f+4>>2],_[r+64+84+8>>2]=_[f+8>>2],_[r+64+84+12>>2]=_[f+12>>2],_[r+64+100>>2]=g,s=0|_[188+(0|_[t+8>>2])>>2],o[r+64+8>>1]=0|o[s+4>>1],o[r+64+10>>1]=0|o[s+6>>1],s=0,c=+p[t+112>>2],a=+p[t+116>>2],l=+p[t+120>>2];_[r+456>>2]=1065353216,_[r+456+4>>2]=0,_[r+456+4+4>>2]=0,_[r+456+4+8>>2]=0,_[r+456+4+12>>2]=0,_[r+456+20>>2]=1065353216,_[r+456+24>>2]=0,_[r+456+24+4>>2]=0,_[r+456+24+8>>2]=0,_[r+456+24+12>>2]=0,_[r+456+40>>2]=1065353216,_[r+456+44>>2]=0,_[r+392>>2]=1065353216,_[r+392+4>>2]=0,_[r+392+4+4>>2]=0,_[r+392+4+8>>2]=0,_[r+392+4+12>>2]=0,_[r+392+20>>2]=1065353216,_[r+392+24>>2]=0,_[r+392+24+4>>2]=0,_[r+392+24+8>>2]=0,_[r+392+24+12>>2]=0,_[r+392+40>>2]=1065353216,_[r+392+44>>2]=0,_[r+288>>2]=1065353216,_[r+288+4>>2]=0,_[r+288+4+4>>2]=0,_[r+288+4+8>>2]=0,_[r+288+4+12>>2]=0,_[r+288+20>>2]=1065353216,_[r+288+24>>2]=0,_[r+288+24+4>>2]=0,_[r+288+24+8>>2]=0,_[r+288+24+12>>2]=0,_[r+288+40>>2]=1065353216,_[r+288+44>>2]=0,_[r+456+48>>2]=_[t+92>>2],_[r+456+48+4>>2]=_[t+92+4>>2],_[r+456+48+8>>2]=_[t+92+8>>2],_[r+456+48+12>>2]=_[t+92+12>>2],_[r+392+48>>2]=_[t+112>>2],_[r+392+48+4>>2]=_[t+112+4>>2],_[r+392+48+8>>2]=_[t+112+8>>2],_[r+392+48+12>>2]=_[t+112+12>>2],p[r+288+48>>2]=c-A,p[r+288+52>>2]=a-m,p[r+288+56>>2]=l-h,p[r+288+60>>2]=0,0|n[t+170|0]?(Mi(0|_[t+8>>2],0|_[t+12>>2],r+456|0,r+392|0,r+168|0,+p[e+56>>2]),+p[u>>2]<1||Mi(0|_[t+8>>2],0|_[t+12>>2],r+456|0,r+288|0,r+64|0,+p[e+56>>2])):(we(e,0|_[t+12>>2],r+456|0,r+392|0,r+168|0,+p[e+56>>2]),+p[u>>2]<1||we(e,0|_[t+12>>2],r+456|0,r+288|0,r+64|0,+p[e+56>>2])),a=((a=+p[t+16>>2])<0?-a:0)*i,b=!(f=!(0|n[t+182|0]))&&+p[u>>2]<1?1:+p[r+64+4>>2]<1,a>0&&!(s|!(a<(c=+p[t+52>>2]))|1^b);){if(!(0|n[t+168|0])&&0|n[t+169|0]){s=0;break}_[t+112>>2]=_[r+272>>2],_[t+112+4>>2]=_[r+272+4>>2],_[t+112+8>>2]=_[r+272+8>>2],_[t+112+12>>2]=_[r+272+12>>2];do{if(!(0|n[24512])){if(!(0|Qs(24512)))break;_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0}}while(0);s=0|_[t+176>>2],a=(c+=+p[t+108>>2])*+p[22208+(s<<4)+4>>2],l=c*+p[22208+(s<<4)+8>>2],c=+p[t+112>>2]-+p[22208+(s<<4)>>2]*c,p[t+112>>2]=c,a=+p[t+116>>2]-a,p[t+116>>2]=a,l=+p[t+120>>2]-l,p[t+120>>2]=l,s=1}if(s|(l=+p[u>>2])<1){a=.5*((c=+p[t+96>>2])-+p[r+168+64>>2]);do{if(!f){if(0|n[t+181|0]){p[t+92>>2]=(1-l)*+p[t+92>>2]+l*+p[t+112>>2],p[t+96>>2]=c*(1-l)+l*+p[t+116>>2],p[t+100>>2]=(1-l)*+p[t+100>>2]+l*+p[t+120>>2],s=t+181|0;break}p[t+92>>2]=(1-a)*+p[t+92>>2]+a*+p[t+112>>2],p[t+96>>2]=c*(1-a)+a*+p[t+116>>2],p[t+100>>2]=(1-a)*+p[t+100>>2]+a*+p[t+120>>2],s=t+181|0;break}p[t+92>>2]=(1-l)*+p[t+92>>2]+l*+p[t+112>>2],p[t+96>>2]=c*(1-l)+l*+p[t+116>>2],p[t+100>>2]=(1-l)*+p[t+100>>2]+l*+p[t+120>>2],s=t+181|0}while(0);n[0|s]=0,p[t+16>>2]=0,p[t+20>>2]=0,n[t+169|0]=0}else{n[t+181|0]=1;do{if(!f&&a>(y=+p[t+24>>2])){if(!(0|n[t+168|0])&&0|n[t+169|0])break;p[t+112>>2]=A+ +p[t+112>>2],p[t+116>>2]=m+ +p[t+116>>2],p[t+120>>2]=h+ +p[t+120>>2];do{if(!(0|n[24512])){if(!(0|Qs(24512)))break;_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0}}while(0);g=0|_[t+176>>2],i=(h=y+ +p[t+108>>2])*+p[22208+(g<<4)+4>>2],y=h*+p[22208+(g<<4)+8>>2],p[t+112>>2]=+p[t+112>>2]-+p[22208+(g<<4)>>2]*h,p[t+116>>2]=+p[t+116>>2]-i,p[t+120>>2]=+p[t+120>>2]-y}}while(0);_[t+92>>2]=_[t+112>>2],_[t+92+4>>2]=_[t+112+4>>2],_[t+92+8>>2]=_[t+112+8>>2],_[t+92+12>>2]=_[t+112+12>>2]}_[r+48>>2]=_[t+92>>2],_[r+48+4>>2]=_[t+92+4>>2],_[r+48+8>>2]=_[t+92+8>>2],_[r+48+12>>2]=_[t+92+12>>2],g=0|_[t+8>>2],_[g+260>>2]=1+(0|_[g+260>>2]),_[g+4>>2]=_[r>>2],_[g+4+4>>2]=_[r+4>>2],_[g+4+8>>2]=_[r+8>>2],_[g+4+12>>2]=_[r+12>>2],_[g+20>>2]=_[r+16>>2],_[g+20+4>>2]=_[r+16+4>>2],_[g+20+8>>2]=_[r+16+8>>2],_[g+20+12>>2]=_[r+16+12>>2],_[g+36>>2]=_[r+32>>2],_[g+36+4>>2]=_[r+32+4>>2],_[g+36+8>>2]=_[r+32+8>>2],_[g+36+12>>2]=_[r+32+12>>2],_[g+52>>2]=_[r+48>>2],_[g+52+4>>2]=_[r+48+4>>2],_[g+52+8>>2]=_[r+48+8>>2],_[g+52+12>>2]=_[r+48+12>>2],Q=r}else Q=r},Xa],nd=[function(t,e,i,n){i=+i,v(28)},function(t,e,i,n){var o;t|=0,e|=0,i=+i,n|=0,o=Q,Q=Q+64|0,Ho(o),p_(o,e),td[1&_[16+(0|_[t>>2])>>2]](t,i,o,n),Q=o},function(t,e,i,n){i=+i},function(t,e,i,n){if(t|=0,e|=0,i=+i,(n|=0)>>>0<3)switch(0|e){case 2:return p[t+756+(n<<2)>>2]=i,void(_[t+1304>>2]=_[t+1304>>2]|4<<3*n);case 4:return p[t+772+(n<<2)>>2]=i,void(_[t+1304>>2]=_[t+1304>>2]|2<<3*n);case 3:return p[t+740+(n<<2)>>2]=i,void(_[t+1304>>2]=_[t+1304>>2]|1<<3*n);default:return}if(!((n+-3|0)>>>0>=3))switch(0|e){case 2:return p[t+868+(n+-3<<6)+32>>2]=i,void(_[t+1304>>2]=_[t+1304>>2]|4<<3*n);case 4:return p[t+868+(n+-3<<6)+36>>2]=i,void(_[t+1304>>2]=_[t+1304>>2]|2<<3*n);case 3:return p[t+868+(n+-3<<6)+28>>2]=i,void(_[t+1304>>2]=_[t+1304>>2]|1<<3*n);default:return}},function(t,e,i,n){if(t|=0,e|=0,i=+i,-1==(0|(n|=0)))switch(0|e){case 2:case 1:return p[t+336>>2]=i,void(_[t+332>>2]=1|_[t+332>>2]);case 4:case 3:return p[t+340>>2]=i,void(_[t+332>>2]=2|_[t+332>>2]);default:return}},function(t,e,i,n){switch(t|=0,i=+i,n|=0,0|(e|=0)){case 2:if((0|n)<1)return p[t+232>>2]=i,void(_[t+300>>2]=512|_[t+300>>2]);if((0|n)<3)return p[t+264>>2]=i,void(_[t+300>>2]=32|_[t+300>>2]);if(3==(0|n))return p[t+248>>2]=i,void(_[t+300>>2]=2048|_[t+300>>2]);if((0|n)>=6)return;return p[t+280>>2]=i,void(_[t+300>>2]=128|_[t+300>>2]);case 3:if((0|n)<1)return p[t+212>>2]=i,void(_[t+300>>2]=1|_[t+300>>2]);if(3!=(0|n))return;return p[t+228>>2]=i,void(_[t+300>>2]=4|_[t+300>>2]);case 4:if((0|n)<1)return p[t+244>>2]=i,void(_[t+300>>2]=256|_[t+300>>2]);if((0|n)<3)return p[t+276>>2]=i,void(_[t+300>>2]=16|_[t+300>>2]);if(3==(0|n))return p[t+260>>2]=i,void(_[t+300>>2]=1024|_[t+300>>2]);if((0|n)>=6)return;return p[t+292>>2]=i,void(_[t+300>>2]=64|_[t+300>>2]);default:return}},function(t,e,i,n){switch(t|=0,i=+i,n|=0,0|(e|=0)){case 2:case 1:return n>>>0<3?(p[t+600>>2]=i,void(_[t+592>>2]=2|_[t+592>>2])):void(p[t+432>>2]=i);case 4:case 3:return n>>>0<3?(p[t+596>>2]=i,void(_[t+592>>2]=1|_[t+592>>2])):(p[t+604>>2]=i,void(_[t+592>>2]=4|_[t+592>>2]));default:return}},function(t,e,i,n){switch(t|=0,e|=0,i=+i,0|(n|=0)){case 5:case-1:break;default:return}switch(0|e){case 2:return p[t+760>>2]=i,void(_[t+748>>2]=2|_[t+748>>2]);case 4:return p[t+756>>2]=i,void(_[t+748>>2]=1|_[t+748>>2]);case 3:return p[t+752>>2]=i,void(_[t+748>>2]=4|_[t+748>>2]);default:return}}],od=[function(t,e,i,n,o){i=+i,v(29)},function(t,e,i,n,o){var r,s,c;t|=0,i=+i,n|=0,o|=0,r=Q,Q=Q+240|0,Vo(r+224|0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2],i),function(t,e,i){e|=0,i|=0;var n=0,o=0,_=0,r=0;t=0|Cl(t|=0),+function(t){return+ +d(+(t=+t))}(n=+p[t+8>>2])>.7071067690849304?(o=1/+ll((_=+p[t+4>>2])*_+n*n),e=0|Cl(e),p[e>>2]=0,p[e+4>>2]=-+p[t+8>>2]*o,p[e+8>>2]=+p[t+4>>2]*o,i=0|Cl(i),p[i>>2]=(_*_+n*n)*o,p[i+4>>2]=-+p[t>>2]*+p[e+8>>2],p[i+8>>2]=+p[t>>2]*+p[e+4>>2]):(_=1/+ll((n=+p[t>>2])*n+(o=+p[t+4>>2])*o),e=0|Cl(e),p[e>>2]=-o*_,r=+p[t>>2]*_,p[e+4>>2]=r,p[e+8>>2]=0,r=-+p[t+8>>2]*r,i=0|Cl(i),p[i>>2]=r,p[i+4>>2]=+p[t+8>>2]*+p[e>>2],p[i+8>>2]=(n*n+o*o)*_)}(e,r+208|0,r+192|0),Vo(r+160|0,+p[r+208>>2],+p[r+208+4>>2],+p[r+208+8>>2],100),Bo(r+176|0,c=+p[r+224>>2],s=+p[r+224+4>>2],i=+p[r+224+8>>2],+p[r+160>>2],+p[r+160+4>>2],+p[r+160+8>>2]),Vo(r+128|0,+p[r+208>>2],+p[r+208+4>>2],+p[r+208+8>>2],100),Fo(r+144|0,c,s,i,+p[r+128>>2],+p[r+128+4>>2],+p[r+128+8>>2]),Vo(r+96|0,+p[r+192>>2],+p[r+192+4>>2],+p[r+192+8>>2],100),Bo(r+112|0,c,s,i,+p[r+96>>2],+p[r+96+4>>2],+p[r+96+8>>2]),Vo(r+64|0,+p[r+192>>2],+p[r+192+4>>2],+p[r+192+8>>2],100),Fo(r+80|0,c,s,i,+p[r+64>>2],+p[r+64+4>>2],+p[r+64+8>>2]),e=0|_[8+(0|_[t>>2])>>2],Zr(r+48|0,n,+p[r+176>>2],+p[r+176+4>>2],+p[r+176+8>>2]),Zr(r+32|0,n,+p[r+144>>2],+p[r+144+4>>2],+p[r+144+8>>2]),pd[127&e](t,r+48|0,r+32|0,o),e=0|_[8+(0|_[t>>2])>>2],Zr(r+16|0,n,+p[r+112>>2],+p[r+112+4>>2],+p[r+112+8>>2]),Zr(r,n,+p[r+80>>2],+p[r+80+4>>2],+p[r+80+8>>2]),pd[127&e](t,r+16|0,r,o),Q=r}],_d=[Za,function(t,e,i){x(3,0|(t|=0),0|(e|=0),0|(i|=0))},jc,function(t,e,i){t|=0,i|=0;var o,r=0,s=0,p=0;if(o=0|_[4+(e|=0)>>2],(0|(r=0|_[t+24>>2]))<(0|o)){if((0|_[t+28>>2])<(0|o)){if(o?(_[6630]=1+(0|_[6630]),(i=0|di(16+(o<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,p=0|_[t+24>>2]):(i=0,p=r),(0|p)>0){s=0;do{_[i+(s<<2)>>2]=_[(0|_[t+32>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|p))}0|(s=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=i,_[t+28>>2]=o,i=t+32|0}else i=t+32|0;do{_[(0|_[i>>2])+(r<<2)>>2]=0,r=r+1|0}while((0|r)!=(0|o))}else i=t+32|0;if(_[t+24>>2]=o,r=0|_[i>>2],!((0|o)<=0)){i=0;do{_[r+(i<<2)>>2]=_[(0|_[e+12>>2])+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|o))}},function(t,e,i){t|=0,i|=0;var n=0,o=0,r=0,s=0,c=0;switch(t=Q,Q=Q+144|0,15&_[388+(e|=0)>>2]){case 1:return _[t+112>>2]=4212,r=0|_[i+8>>2],r=2&_[r+236>>2]?r:0,s=0|_[i+12>>2],c=+p[s+48>>2],n=+p[s+52>>2],o=+p[s+56>>2],o=+b(+((c-c)*(c-c)+(n-n)*(n-n)+(o-o)*(o-o))),s=0|_[e+192>>2],n=+Il[15&_[48+(0|_[s>>2])>>2]](s),s=0|_[i+4>>2],pd[127&_[8+(0|_[s>>2])>>2]](s,0|_[i+12>>2],t+96|0,t+64|0),_[t>>2]=_[t+96>>2],_[t+4>>2]=_[t+96+4>>2],_[t+8>>2]=_[t+96+8>>2],_[t+12>>2]=_[t+96+12>>2],_[t+16>>2]=_[t+64>>2],_[t+16+4>>2]=_[t+64+4>>2],_[t+16+8>>2]=_[t+64+8>>2],_[t+16+12>>2]=_[t+64+12>>2],_[t+32>>2]=_[t>>2],_[t+32+4>>2]=_[t+4>>2],_[t+32+8>>2]=_[t+8>>2],_[t+32+12>>2]=_[t+12>>2],_[t+32+16>>2]=_[t+16>>2],_[t+32+20>>2]=_[t+20>>2],_[t+32+24>>2]=_[t+24>>2],_[t+32+28>>2]=_[t+28>>2],p[t+32>>2]=+p[t+32>>2]-n,p[t+32+4>>2]=+p[t+32+4>>2]-n,p[t+32+8>>2]=+p[t+32+8>>2]-n,p[t+32+16>>2]=n+ +p[t+32+16>>2],p[t+32+20>>2]=n+ +p[t+32+20>>2],p[t+32+24>>2]=n+ +p[t+32+24>>2],_[t+112+4>>2]=e,_[t+112+8>>2]=i,_[t+112+12>>2]=r,p[t+112+16>>2]=n+o,p[t+112+20>>2]=n,ci(0|_[e+928>>2],t+32|0,t+112|0),void(Q=t);case 2:return p[t+4>>2]=1,_[t+8+4>>2]=0,_[t+8+4+4>>2]=0,_[t+8+4+8>>2]=0,_[t>>2]=4248,_[t+24>>2]=e,_[t+28>>2]=i,_[t+8>>2]=_[e+456>>2],s=0|_[i+4>>2],c=+Il[15&_[48+(0|_[s>>2])>>2]](s),s=0|_[e+192>>2],c+=+Il[15&_[48+(0|_[s>>2])>>2]](s),p[t+12>>2]=c,o=+p[224+(0|_[i+8>>2])>>2],p[t+112>>2]=o,_[t+16>>2]=_[(+p[e+316>>2]>2],s=0|_[i+4>>2],pd[127&_[8+(0|_[s>>2])>>2]](s,0|_[i+12>>2],t+112|0,t+96|0),_[t+32>>2]=_[t+112>>2],_[t+32+4>>2]=_[t+112+4>>2],_[t+32+8>>2]=_[t+112+8>>2],_[t+32+12>>2]=_[t+112+12>>2],_[t+32+16>>2]=_[t+96>>2],_[t+32+16+4>>2]=_[t+96+4>>2],_[t+32+16+8>>2]=_[t+96+8>>2],_[t+32+16+12>>2]=_[t+96+12>>2],_[t+64>>2]=_[t+32>>2],_[t+64+4>>2]=_[t+32+4>>2],_[t+64+8>>2]=_[t+32+8>>2],_[t+64+12>>2]=_[t+32+12>>2],_[t+64+16>>2]=_[t+32+16>>2],_[t+64+20>>2]=_[t+32+20>>2],_[t+64+24>>2]=_[t+32+24>>2],_[t+64+28>>2]=_[t+32+28>>2],p[t+64>>2]=+p[t+64>>2]-c,p[t+64+4>>2]=+p[t+64+4>>2]-c,p[t+64+8>>2]=+p[t+64+8>>2]-c,p[t+64+16>>2]=c+ +p[t+64+16>>2],p[t+64+20>>2]=c+ +p[t+64+20>>2],p[t+64+24>>2]=c+ +p[t+64+24>>2],ci(0|_[e+1048>>2],t+64|0,t),void(Q=t);default:return void(Q=t)}},function(t,e,i){ie(e|=0,i|=0)},function(t,e,i){t|=0,e|=0;var n,o,r=0,s=0,p=0,c=0,a=0;if(!(0|Gl[127&_[16+(0|_[(i|=0)>>2])>>2]](i))){if(o=0|_[e+712>>2],n=0|Gl[127&_[36+(0|_[i>>2])>>2]](i),0|Gl[127&_[8+(0|_[i>>2])>>2]](i)&&(r=0|Gl[127&_[20+(0|_[i>>2])>>2]](i),p=0|Gl[127&_[24+(0|_[i>>2])>>2]](i),(0|o)>0))for(s=0|_[e+720>>2],t=n+(r<<2)|0,r=0;a=0|_[s+(104*r|0)+12>>2],c=0|_[s+(104*r|0)+16>>2],_[t>>2]=_[s+(104*r|0)+8>>2],_[t+4>>2]=a,_[t+8>>2]=c,(0|(r=r+1|0))!=(0|o);)t=t+(p<<2)|0;if(0|Gl[127&_[12+(0|_[i>>2])>>2]](i)&&(t=0|Gl[127&_[28+(0|_[i>>2])>>2]](i),p=0|Gl[127&_[32+(0|_[i>>2])>>2]](i),!((0|o)<=0)))for(s=0|_[e+720>>2],t=n+(t<<2)|0,r=0;c=0|_[s+(104*r|0)+76>>2],a=0|_[s+(104*r|0)+80>>2],_[t>>2]=_[s+(104*r|0)+72>>2],_[t+4>>2]=c,_[t+8>>2]=a,(0|(r=r+1|0))!=(0|o);)t=t+(p<<2)|0}},function(t,e,i){t|=0,i|=0,_[(e|=0)>>2]=_[t+892>>2],_[e+4>>2]=_[t+892+4>>2],_[e+8>>2]=_[t+892+8>>2],_[e+12>>2]=_[t+892+12>>2],_[i>>2]=_[t+908>>2],_[i+4>>2]=_[t+908+4>>2],_[i+8>>2]=_[t+908+8>>2],_[i+12>>2]=_[t+908+12>>2]},jc,function(t,e,i){var n,o,r,s,c,a,l,d,A;t|=0,e|=0,i|=0,n=Q,Q=Q+96|0,_[n+32>>2]=1065353216,_[n+32+4>>2]=0,_[n+32+4+4>>2]=0,_[n+32+4+8>>2]=0,_[n+32+4+12>>2]=0,_[n+32+20>>2]=1065353216,_[n+32+24>>2]=0,_[n+32+24+4>>2]=0,_[n+32+24+8>>2]=0,_[n+32+24+12>>2]=0,_[n+32+40>>2]=1065353216,_[(A=n+32+44|0)>>2]=0,_[A+4>>2]=0,_[A+8>>2]=0,_[A+12>>2]=0,_[A+16>>2]=0,pd[127&_[8+(0|_[t>>2])>>2]](t,n+32|0,n+16|0,n),l=+p[n>>2],a=+p[n+16>>2],c=+p[n+4>>2],s=+p[n+16+4>>2],r=+p[n+8>>2],o=+p[n+16+8>>2],d=.5*+b(+((l-a)*(l-a)+(c-s)*(c-s)+(r-o)*(r-o))),p[i>>2]=d,p[e>>2]=.5*(l+a),p[e+4>>2]=.5*(c+s),p[e+8>>2]=.5*(r+o),p[e+12>>2]=0,Q=n},function(t,e,i){t|=0,i|=0;var n,o,r,s=0,c=0,a=0,l=0,d=0;if(l=0|_[52+(e|=0)>>2],d=0|_[l+32>>2],e=0|_[d>>2],r=+p[i>>2],o=+p[i+4>>2],n=+p[i+8>>2],(0|(l=0|_[l+24>>2]))<=1)return d=(d=e)+8|0,_[t>>2]=_[d>>2],_[t+4>>2]=_[d+4>>2],_[t+8>>2]=_[d+8>>2],void(_[t+12>>2]=_[d+12>>2]);for(i=0,a=1,s=r*+p[e+8>>2]+o*+p[e+12>>2]+n*+p[e+16>>2];e=0|_[d+(a<<2)>>2],i=(e=(c=r*+p[e+8>>2]+o*+p[e+12>>2]+n*+p[e+16>>2])>s)?a:i,(0|(a=a+1|0))!=(0|l);)s=e?c:s;d=8+(d=0|_[d+(i<<2)>>2])|0,_[t>>2]=_[d>>2],_[t+4>>2]=_[d+4>>2],_[t+8>>2]=_[d+8>>2],_[t+12>>2]=_[d+12>>2]},function(t,e,i){t|=0,i|=0,_d[127&_[64+(0|_[(e|=0)>>2])>>2]](t,e,i)},jc,function(t,e,i){t|=0,i|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,b=0;if(o=Q,Q=Q+384|0,r=0|_[36+(e|=0)>>2],e=0|_[i+36>>2],(0|(i=0|_[t+24>>2]))==(0|_[t+28>>2])&&0|_[i+1132>>2]&&(a=(0|g(0|_[e+380>>2],0|_[i+1112>>2]))+(0|_[r+380>>2])|0,0|n[(0|_[i+1140>>2])+a|0]))return _[6293]=1+(0|_[6293]),void(Q=o);if(_[o+328+4>>2]=35,_[o+328+8>>2]=0,_[o+328+12>>2]=1065353216,_[o+328+16>>2]=1065353216,_[o+328+20>>2]=1065353216,p[o+328+24>>2]=0,_[o+328>>2]=4284,_[o+328+52>>2]=r,p[o+328+44>>2]=0,_[o+272+4>>2]=35,_[o+272+8>>2]=0,_[o+272+12>>2]=1065353216,_[o+272+16>>2]=1065353216,_[o+272+20>>2]=1065353216,p[o+272+24>>2]=0,_[o+272>>2]=4284,_[o+272+52>>2]=e,p[o+272+44>>2]=0,!(0|n[24408])&&0|Qs(24408)&&(!(0|n[24416])&&0|Qs(24416)&&(_[6222]=1065353216,_[6223]=0,_[6224]=0,_[6225]=0,_[6226]=0,_[6227]=1065353216,_[6228]=0,_[6229]=0,_[6230]=0,_[6231]=0,_[6232]=1065353216,p[6233]=0),_[6206]=_[6222],_[6207]=_[6223],_[6208]=_[6224],_[6209]=_[6225],_[6210]=_[6226],_[6211]=_[6227],_[6212]=_[6228],_[6213]=_[6229],_[6214]=_[6230],_[6215]=_[6231],_[6216]=_[6232],_[6217]=_[6233],_[6218]=0,_[6219]=0,_[6220]=0,_[6221]=0),!(0|n[24408])&&0|Qs(24408)&&(!(0|n[24416])&&0|Qs(24416)&&(_[6222]=1065353216,_[6223]=0,_[6224]=0,_[6225]=0,_[6226]=0,_[6227]=1065353216,_[6228]=0,_[6229]=0,_[6230]=0,_[6231]=0,_[6232]=1065353216,p[6233]=0),_[6206]=_[6222],_[6207]=_[6223],_[6208]=_[6224],_[6209]=_[6225],_[6210]=_[6226],_[6211]=_[6227],_[6212]=_[6228],_[6213]=_[6229],_[6214]=_[6230],_[6215]=_[6231],_[6216]=_[6232],_[6217]=_[6233],_[6218]=0,_[6219]=0,_[6220]=0,_[6221]=0),b=+p[r+232>>2]-+p[e+232>>2],d=+p[r+236>>2]-+p[e+236>>2],p[o>>2]=+p[r+228>>2]-+p[e+228>>2],p[o+4>>2]=b,p[o+8>>2]=d,p[o+12>>2]=0,(0|Se(o+328|0,24824,o+272|0,24824,o,o+216|0)||0|gi(o+328|0,24824,o+272|0,24824,o,o+216|0,0))&&(s=19),19==(0|s)&&(_[o+4>>2]=0,_[o+4+4>>2]=0,_[o+4+8>>2]=0,_[o+4+12>>2]=0,_[o+4+16>>2]=0,_[o+4+20>>2]=0,n[o+152|0]=0,_[o>>2]=4104,0|Ii(t,o+216|0,r,0,0,e,0,0,o))){_[6630]=1+(0|_[6630]),(e=0|di(235))?(_[(e+4+15&-16)-4>>2]=e,a=e+4+15&-16):a=0,e=a+152|0,wn(0|(i=a+4|0),0,212),_[a>>2]=4104,r=o+4|0,s=i+100|0;do{_[i>>2]=_[r>>2],i=i+4|0,r=r+4|0}while((0|i)<(0|s));_[(i=a+104|0)>>2]=_[o+104>>2],_[i+4>>2]=_[o+104+4>>2],_[i+8>>2]=_[o+104+8>>2],_[i+12>>2]=_[o+104+12>>2],_[(i=a+120|0)>>2]=_[o+120>>2],_[i+4>>2]=_[o+120+4>>2],_[i+8>>2]=_[o+120+8>>2],_[i+12>>2]=_[o+120+12>>2],_[(i=a+136|0)>>2]=_[o+136>>2],_[i+4>>2]=_[o+136+4>>2],_[i+8>>2]=_[o+136+8>>2],_[i+12>>2]=_[o+136+12>>2],n[0|e]=0|n[o+152|0],r=o+156|0,s=60+(i=a+156|0)|0;do{_[i>>2]=_[r>>2],i=i+4|0,r=r+4|0}while((0|i)<(0|s));if(s=0|_[t+24>>2],c=a,(0|(e=0|_[s+852>>2]))==(0|_[s+856>>2])&&(0|e)<(0|(l=0|e?e<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(e=0|di(16+(l<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,r=e,e=0|_[s+852>>2]):r=0,(0|e)>0){i=0;do{_[r+(i<<2)>>2]=_[(0|_[s+860>>2])+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|e))}(i=0|_[s+860>>2])&&(0|n[s+864|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[s+852>>2]),_[s+860>>2]=0),n[s+864|0]=1,_[s+860>>2]=r,_[s+856>>2]=l}_[(0|_[s+860>>2])+(e<<2)>>2]=c,_[s+852>>2]=e+1,c=0|_[t+24>>2],l=0|_[t+28>>2],d=+p[c+348>>2],b=+p[l+348>>2],p[(t=a+64|0)>>2]=+p[t>>2]*(d>b?d:b),p[(t=a+68|0)>>2]=+p[t>>2]*(.5*(+p[c+360>>2]+ +p[l+360>>2]))}Q=o},function(t,e,i){t|=0,i|=0;var o,r,s,c,a,l,d,A,f,u,m,h,y,g,C,v,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,Q=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0;v=0|_[36+(e|=0)>>2],C=0|_[i+36>>2],a=+p[v+8>>2],d=+p[v+12>>2],l=+p[v+16>>2],w=0|_[C+8>>2],m=+p[w+8>>2],h=+p[w+12>>2],y=+p[w+16>>2],e=0|_[C+12>>2],A=+p[e+8>>2],f=+p[e+12>>2],u=+p[e+16>>2],i=0|_[C+16>>2],g=+p[i+8>>2],J=+p[i+12>>2],T=(s=f-d-(h-d))*((X=+p[i+16>>2])-l-(y-l))-(P=u-l-(y-l))*(J-d-(h-d)),c=P*(g-a-(m-a))-(O=A-a-(m-a))*(X-l-(y-l)),r=O*(J-d-(h-d))-s*(g-a-(m-a));do{if(r*r+(T*T+c*c)>1.1920928955078125e-7&&(Q=r*(L=1/+b(+(r*r+(T*T+c*c))))*(y-l)+(T*L*(m-a)+c*L*(h-d)))*Q<34028234663852886e22){if(r*((F=f-d-c*L*Q)*(S=m-a-T*L*Q)-(j=h-d-c*L*Q)*(B=A-a-T*L*Q))+(T*(j*(x=u-l-r*L*Q)-(I=y-l-r*L*Q)*F)+c*(I*B-x*S))>0&&r*((V=J-d-c*L*Q)*B-F*(M=g-a-T*L*Q))+(T*(F*(G=X-l-r*L*Q)-x*V)+c*(x*M-G*B))>0&&r*(j*M-V*S)+(T*(V*I-G*j)+c*(G*S-I*M))>0){W=Q*Q,B=T*L*Q,I=r*L*Q,D=c*L*Q;break}O*O+s*s+P*P>1.1920928955078125e-7&&(W=(y-l+P*(N=(N=-((m-a)*O+(h-d)*s+(y-l)*P)/(O*O+s*s+P*P))<0?0:N>1?1:N))*(y-l+P*N)+((m-a+O*N)*(m-a+O*N)+(h-d+s*N)*(h-d+s*N)))<34028234663852886e22?(B=m-a+O*N,I=y-l+P*N,j=h-d+s*N):(W=34028234663852886e22,B=0,I=0,j=0),(S=(g-a-(A-a))*(g-a-(A-a))+(J-d-(f-d))*(J-d-(f-d))+(X-l-(u-l))*(X-l-(u-l)))>1.1920928955078125e-7&&(E=A-a+(g-a-(A-a))*(H=(H=-((A-a)*(g-a-(A-a))+(f-d)*(J-d-(f-d))+(u-l)*(X-l-(u-l)))/S)<0?0:H>1?1:H),Z=f-d+(J-d-(f-d))*H,(H=u-l+(X-l-(u-l))*H)*H+(E*E+Z*Z)1.1920928955078125e-7&&(U=g-a+(m-a-(g-a))*(Y=(Y=-((g-a)*(m-a-(g-a))+(J-d)*(h-d-(J-d))+(X-l)*(y-l-(X-l)))/S)<0?0:Y>1?1:Y),D=J-d+(h-d-(J-d))*Y,(Y=X-l+(y-l-(X-l))*Y)*Y+(U*U+D*D)>2],Y=d-+p[v+28>>2],P=l-+p[v+32>>2],W<(P=+p[t+12>>2]+2*+b(+(U*U+Y*Y+P*P)))*P&&(T=+b(+(((m-(x=a+B))*(f-(S=d+D))-(h-S)*(A-x))*((m-x)*(f-S)-(h-S)*(A-x))+(((h-S)*(u-(j=l+I))-(y-j)*(f-S))*((h-S)*(u-j)-(y-j)*(f-S))+((y-j)*(A-x)-(m-x)*(u-j))*((y-j)*(A-x)-(m-x)*(u-j))))),O=+b(+(((A-x)*(J-S)-(f-S)*(g-x))*((A-x)*(J-S)-(f-S)*(g-x))+(((f-S)*(X-j)-(u-j)*(J-S))*((f-S)*(X-j)-(u-j)*(J-S))+((u-j)*(g-x)-(A-x)*(X-j))*((u-j)*(g-x)-(A-x)*(X-j))))),x=+b(+(((h-S)*(g-x)-(m-x)*(J-S))*((h-S)*(g-x)-(m-x)*(J-S))+(((y-j)*(J-S)-(h-S)*(X-j))*((y-j)*(J-S)-(h-S)*(X-j))+((m-x)*(X-j)-(y-j)*(g-x))*((m-x)*(X-j)-(y-j)*(g-x))))),(j=+p[v+88>>2])+(S=!((X=+p[w+88>>2])<=0)&!((S=+p[e+88>>2])<=0)&!((J=+p[i+88>>2])<=0)?J*(T*(1/(x+(T+O))))+(X*(O*(1/(x+(T+O))))+S*(x*(1/(x+(T+O))))):0)>0)){if(F=B*(X=1/-+b(+W)),W=X*D,B=X*I,o=0|_[t+4>>2],e=0|_[t+8>>2],D=(I=+p[o+316>>2])>(D=+p[e+316>>2])?I:D,I=j/(j+S)*+p[o+332>>2],S=S/(j+S)*+p[e+332>>2],(0|(e=0|_[o+832>>2]))==(0|_[o+836>>2])&&(0|e)<(0|(z=0|e?e<<1:1))){if(z?(_[6630]=1+(0|_[6630]),(e=0|di(16+(56*z|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,R=e,e=0|_[o+832>>2]):R=0,(0|e)>0){i=0;do{w=R+(56*i|0)|0,t=(0|_[o+840>>2])+(56*i|0)|0,k=w+56|0;do{_[w>>2]=_[t>>2],w=w+4|0,t=t+4|0}while((0|w)<(0|k));i=i+1|0}while((0|i)!=(0|e))}0|(e=0|_[o+840>>2])&&(0|n[o+844|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[o+840>>2]=0),n[o+844|0]=1,_[o+840>>2]=R,_[o+836>>2]=z,e=0|_[o+832>>2]}z=0|_[o+840>>2],_[z+(56*e|0)>>2]=v,_[z+(56*e|0)+4>>2]=C,p[z+(56*e|0)+8>>2]=O*(1/(x+(T+O))),p[z+(56*e|0)+12>>2]=x*(1/(x+(T+O))),p[z+(56*e|0)+16>>2]=T*(1/(x+(T+O))),p[z+(56*e|0)+20>>2]=0,p[z+(56*e|0)+24>>2]=F,p[z+(56*e|0)+28>>2]=W,p[z+(56*e|0)+32>>2]=B,p[z+(56*e|0)+36>>2]=0,p[z+(56*e|0)+40>>2]=P,p[z+(56*e|0)+44>>2]=D,p[z+(56*e|0)+48>>2]=I,p[z+(56*e|0)+52>>2]=S,_[o+832>>2]=1+(0|_[o+832>>2])}},jc,kn,function(t,e,i){t|=0,e|=0;var n,o,r,s,c=0;s=+p[(i|=0)>>2],r=+p[i+4>>2],c=+p[i+8>>2],n=s*+p[e+56>>2]+r*+p[e+60>>2]+c*+p[e+64>>2],o=s*+p[e+72>>2]+r*+p[e+76>>2]+c*+p[e+80>>2],c=s*+p[e+88>>2]+r*+p[e+92>>2]+c*+p[e+96>>2],i=e+56+((n>2]=_[i>>2],_[t+4>>2]=_[i+4>>2],_[t+8>>2]=_[i+8>>2],_[t+12>>2]=_[i+12>>2]},function(t,e,i){e|=0,i|=0;var n,o,_,r,s=0,c=0,a=0;c=+p[56+(t|=0)>>2],r=+p[t+72>>2]-c,a=+p[t+60>>2],o=+p[t+76>>2]-a,s=+p[t+64>>2],_=+p[t+80>>2]-s,c=+p[t+88>>2]-c,a=+p[t+92>>2]-a,s=+p[t+96>>2]-s,p[i+12>>2]=0,n=1/+b(+((r*a-o*c)*(r*a-o*c)+((o*s-_*a)*(o*s-_*a)+(_*c-r*s)*(_*c-r*s)))),p[i>>2]=(o*s-_*a)*n,p[i+4>>2]=(_*c-r*s)*n,p[i+8>>2]=(r*a-o*c)*n,e&&(p[i>>2]=-(o*s-_*a)*n,p[i+4>>2]=-(_*c-r*s)*n,p[i+8>>2]=-(r*a-o*c)*n)},function(t,e,i){t|=0,e|=0,_[(i|=0)>>2]=_[t+56+(e<<4)>>2],_[i+4>>2]=_[t+56+(e<<4)+4>>2],_[i+8>>2]=_[t+56+(e<<4)+8>>2],_[i+12>>2]=_[t+56+(e<<4)+12>>2]},function(t,e,i){e|=0,i|=0;var o=0,r=0,s=0,p=0;if((0|(o=0|_[212+(t|=0)>>2]))==(0|_[t+216>>2])&&(0|o)<(0|(p=0|o?o<<1:1))){if(p?(_[6630]=1+(0|_[6630]),(o=0|di(16+(p<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=o,o=0|_[t+212>>2]):s=0,(0|o)>0){r=0;do{_[s+(r<<2)>>2]=_[(0|_[t+220>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|o))}(r=0|_[t+220>>2])&&(0|n[t+224|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),o=0|_[t+212>>2]),_[t+220>>2]=0),n[t+224|0]=1,_[t+220>>2]=s,_[t+216>>2]=p}_[(0|_[t+220>>2])+(o<<2)>>2]=e,_[t+212>>2]=o+1,i&&(be(0|_[e+28>>2],e),be(0|_[e+32>>2],e))},function(t,e,i){t|=0,i|=0;var n,o,r,s,c,a,l,d,A,f,u,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0;s=+p[(e|=0)>>2],r=+p[e+4>>2],o=+p[e+8>>2],n=1/+b(+(s*s+r*r+o*o)),d=+p[i>>2],l=+p[i+4>>2],a=+p[i+8>>2],u=o*n*(l*(c=1/+b(+(d*d+l*l+a*a))))-r*n*(a*c),f=s*n*(a*c)-o*n*(d*c),A=r*n*(d*c)-s*n*(l*c),i=0|_[t+28>>2],m=+p[i+4>>2],y=+p[i+20>>2],C=+p[i+36>>2],h=+p[i+8>>2],g=+p[i+24>>2],v=+p[i+40>>2],S=+p[i+12>>2],k=+p[i+28>>2],j=+p[i+44>>2],w=-+p[i+52>>2],R=-+p[i+56>>2],D=-+p[i+60>>2],p[t+48>>2]=C*A+(m*u+y*f),p[t+52>>2]=C*(a*c)+(m*(d*c)+y*(l*c)),p[t+56>>2]=m*(s*n)+r*n*y+o*n*C,p[t+60>>2]=0,p[t+64>>2]=A*v+(h*u+g*f),p[t+68>>2]=d*c*h+l*c*g+a*c*v,p[t+72>>2]=s*n*h+r*n*g+o*n*v,p[t+76>>2]=0,p[t+80>>2]=u*S+f*k+A*j,p[t+84>>2]=d*c*S+l*c*k+a*c*j,p[t+88>>2]=s*n*S+r*n*k+o*n*j,p[t+92>>2]=0,p[t+96>>2]=0*m+0*y+0*C+(m*w+y*R+C*D),p[t+100>>2]=0*h+0*g+0*v+(h*w+g*R+v*D),p[t+104>>2]=0*S+0*k+0*j+(S*w+k*R+j*D),p[t+108>>2]=0,i=0|_[t+32>>2],D=+p[i+4>>2],j=+p[i+20>>2],R=+p[i+36>>2],k=+p[i+8>>2],w=+p[i+24>>2],S=+p[i+40>>2],v=+p[i+12>>2],g=+p[i+28>>2],h=+p[i+44>>2],C=-+p[i+52>>2],y=-+p[i+56>>2],m=-+p[i+60>>2],p[t+112>>2]=u*D+f*j+A*R,p[t+116>>2]=d*c*D+l*c*j+a*c*R,p[t+120>>2]=s*n*D+r*n*j+o*n*R,p[t+124>>2]=0,p[t+128>>2]=u*k+f*w+A*S,p[t+132>>2]=d*c*k+l*c*w+a*c*S,p[t+136>>2]=s*n*k+r*n*w+o*n*S,p[t+140>>2]=0,p[t+144>>2]=u*v+f*g+A*h,p[t+148>>2]=d*c*v+l*c*g+a*c*h,p[t+152>>2]=s*n*v+r*n*g+o*n*h,p[t+156>>2]=0,p[t+160>>2]=0*D+0*j+0*R+(D*C+j*y+R*m),p[t+164>>2]=0*k+0*w+0*S+(k*C+w*y+S*m),p[t+168>>2]=0*v+0*g+0*h+(v*C+g*y+h*m),p[t+172>>2]=0,Pi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0)},function(t,e,i){e|=0,i|=0,_[300+(t|=0)>>2]=_[e>>2],_[t+300+4>>2]=_[e+4>>2],_[t+300+8>>2]=_[e+8>>2],_[t+300+12>>2]=_[e+12>>2],_[t+316>>2]=_[e+16>>2],_[t+316+4>>2]=_[e+16+4>>2],_[t+316+8>>2]=_[e+16+8>>2],_[t+316+12>>2]=_[e+16+12>>2],_[t+332>>2]=_[e+32>>2],_[t+332+4>>2]=_[e+32+4>>2],_[t+332+8>>2]=_[e+32+8>>2],_[t+332+12>>2]=_[e+32+12>>2],_[t+348>>2]=_[e+48>>2],_[t+348+4>>2]=_[e+48+4>>2],_[t+348+8>>2]=_[e+48+8>>2],_[t+348+12>>2]=_[e+48+12>>2],_[t+364>>2]=_[i>>2],_[t+364+4>>2]=_[i+4>>2],_[t+364+8>>2]=_[i+8>>2],_[t+364+12>>2]=_[i+12>>2],_[t+380>>2]=_[i+16>>2],_[t+380+4>>2]=_[i+16+4>>2],_[t+380+8>>2]=_[i+16+8>>2],_[t+380+12>>2]=_[i+16+12>>2],_[t+396>>2]=_[i+32>>2],_[t+396+4>>2]=_[i+32+4>>2],_[t+396+8>>2]=_[i+32+8>>2],_[t+396+12>>2]=_[i+32+12>>2],_[t+412>>2]=_[i+48>>2],_[t+412+4>>2]=_[i+48+4>>2],_[t+412+8>>2]=_[i+48+8>>2],_[t+412+12>>2]=_[i+48+12>>2],Xl[511&_[8+(0|_[t>>2])>>2]](t)},jc,jc,function(t,e,i){t|=0,i|=0;var o,r=0,s=0;o=0|_[(e|=0)>>2],e=0|_[t+268>>2];t:do{if((0|e)>0){for(r=0|_[t+276>>2],i=0;(0|_[r+(i<<2)>>2])!=(0|o);)if((0|(i=i+1|0))>=(0|e))break t;if((0|i)!=(0|e))return}}while(0);if((0|e)==(0|_[t+272>>2])&&(0|e)<(0|(s=0|e?e<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(e=0|di(16+(s<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,r=e,e=0|_[t+268>>2]):r=0,(0|e)>0){i=0;do{_[r+(i<<2)>>2]=_[(0|_[t+276>>2])+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|e))}(i=0|_[t+276>>2])&&(0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[t+268>>2]),_[t+276>>2]=0),n[t+280|0]=1,_[t+276>>2]=r,_[t+272>>2]=s}_[(0|_[t+276>>2])+(e<<2)>>2]=o,_[t+268>>2]=e+1},function(t,e,i){t|=0,e|=0;var o,r=0,s=0,p=0,c=0;(i|=0)||(i=0|_[t+188>>2]),o=0|_[e>>2],r=0|_[t+268>>2];t:do{if((0|r)>0){for(p=0|_[t+276>>2],s=0;(0|_[p+(s<<2)>>2])!=(0|o);)if((0|(s=s+1|0))>=(0|r))break t;if((0|s)!=(0|r))return}}while(0);if((0|r)==(0|_[t+272>>2])&&(0|r)<(0|(c=0|r?r<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(r=0|di(16+(c<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,p=r,r=0|_[t+268>>2]):p=0,(0|r)>0){s=0;do{_[p+(s<<2)>>2]=_[(0|_[t+276>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r))}(s=0|_[t+276>>2])&&(0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),r=0|_[t+268>>2]),_[t+276>>2]=0),n[t+280|0]=1,_[t+276>>2]=p,_[t+272>>2]=c}_[(0|_[t+276>>2])+(r<<2)>>2]=o,_[t+268>>2]=r+1,t=0|_[t+284>>2],El[63&_[8+(0|_[t>>2])>>2]](t,i,e)},function(t,e,i){t|=0,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0;if((0|(r=0|_[8+(e|=0)>>2]))>0){s=0|_[e+16>>2],o=0,i=0;do{c=0|_[s+(o<<2)>>2],3&_[c+204>>2]||(_[c+208>>2]=i,i=i+1|0),_[c+212>>2]=-1,p[c+244>>2]=1,o=o+1|0}while((0|o)!=(0|r));c=i}else c=0;if((0|(s=0|_[t+8>>2]))<(0|c)){if((0|_[t+12>>2])<(0|c)){if(c?(_[6630]=1+(0|_[6630]),(i=0|di(16+(c<<3|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,r=0|_[t+8>>2]):(i=0,r=s),(0|r)>0){o=0;do{d=(0|_[t+16>>2])+(o<<3)|0,a=0|_[d+4>>2],_[(l=i+(o<<3)|0)>>2]=_[d>>2],_[l+4>>2]=a,o=o+1|0}while((0|o)!=(0|r))}0|(o=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=i,_[t+12>>2]=c,o=t+16|0}else o=t+16|0;i=s;do{d=(0|_[o>>2])+(i<<3)|0,_[d>>2]=0,_[d+4>>2]=0,i=i+1|0}while((0|i)!=(0|c))}if(_[t+8>>2]=c,(0|c)>0){o=0|_[t+16>>2],i=0;do{_[o+(i<<3)>>2]=i,_[o+(i<<3)+4>>2]=1,i=i+1|0}while((0|i)!=(0|c))}if(i=0|_[e+68>>2],i=0|Gl[127&_[36+(0|_[i>>2])>>2]](i),(l=0|Gl[127&_[36+(0|_[i>>2])>>2]](i))&&(a=0|Gl[127&_[20+(0|_[i>>2])>>2]](i),!((0|l)<=0))){e=0;do{if(i=0|_[_[a+(e<<4)>>2]>>2],o=0|_[_[a+(e<<4)+4>>2]>>2],0|i&&0|o&&!(7&_[i+204>>2])&&!(7&_[o+204>>2])){if(r=0|_[i+208>>2],i=0|_[o+208>>2],c=0|_[t+16>>2],(0|(o=0|_[c+(r<<3)>>2]))!=(0|r)&&(_[c+(r<<3)>>2]=_[c+(o<<3)>>2],(0|(r=0|_[c+(o<<3)>>2]))!=(0|(o=0|_[c+(r<<3)>>2])))){s=c+(r<<3)|0;do{r=c+(o<<3)|0,_[s>>2]=_[r>>2],r=0|_[r>>2],o=0|_[(s=c+(r<<3)|0)>>2]}while((0|r)!=(0|o))}if((0|(o=0|_[c+(i<<3)>>2]))!=(0|i)&&(_[c+(i<<3)>>2]=_[c+(o<<3)>>2],(0|(i=0|_[c+(o<<3)>>2]))!=(0|(o=0|_[c+(i<<3)>>2])))){s=c+(i<<3)|0;do{i=c+(o<<3)|0,_[s>>2]=_[i>>2],i=0|_[i>>2],o=0|_[(s=c+(i<<3)|0)>>2]}while((0|i)!=(0|o))}(0|r)!=(0|i)&&(_[c+(r<<3)>>2]=i,_[(d=c+(i<<3)+4|0)>>2]=(0|_[d>>2])+(0|_[c+(r<<3)+4>>2]))}e=e+1|0}while((0|e)!=(0|l))}},function(t,e,i){e|=0,i|=0,_[16+(t|=0)>>2]=e,_[t+24>>2]=i},function(t,e,i){e|=0,i|=0,_[20+(t|=0)>>2]=e,_[t+28>>2]=i},jc,jc,jc,jc,function(t,e,i){e|=0,i|=0;var n,o,r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0;if(r=Q,Q=Q+240|0,_[4+(t|=0)>>2]=1+(0|_[t+4>>2]),o=0|_[e+36>>2],n=0|_[i+36>>2],T=0|_[t+8>>2],c=0|_[t+12>>2],P=0|_[24+(0|_[T+4>>2])>>2],i=0|_[P+(80*o|0)+64>>2],e=24+(0|_[c+4>>2])|0,s=0|_[(0|_[e>>2])+(80*n|0)+64>>2],T=0|_[T+12>>2],d=+p[T>>2],x=+p[T+4>>2],O=+p[T+8>>2],f=+p[T+16>>2],m=+p[T+20>>2],y=+p[T+24>>2],u=+p[T+32>>2],g=+p[T+36>>2],D=+p[T+40>>2],C=+p[P+(80*o|0)>>2],v=+p[P+(80*o|0)+16>>2],S=+p[P+(80*o|0)+32>>2],w=+p[P+(80*o|0)+4>>2],k=+p[P+(80*o|0)+20>>2],R=+p[P+(80*o|0)+36>>2],h=+p[P+(80*o|0)+8>>2],j=+p[P+(80*o|0)+24>>2],I=+p[P+(80*o|0)+40>>2],b=+p[P+(80*o|0)+48>>2],A=+p[P+(80*o|0)+52>>2],F=+p[P+(80*o|0)+56>>2],B=+p[T+48>>2]+(d*b+x*A+O*F),W=+p[T+52>>2]+(f*b+m*A+y*F),F=+p[T+56>>2]+(u*b+g*A+D*F),p[r+176>>2]=d*C+x*v+O*S,p[r+176+4>>2]=d*w+x*k+O*R,p[r+176+8>>2]=d*h+x*j+O*I,p[r+176+12>>2]=0,p[r+176+16>>2]=f*C+m*v+y*S,p[r+176+20>>2]=f*w+m*k+y*R,p[r+176+24>>2]=f*h+m*j+y*I,p[r+176+28>>2]=0,p[r+176+32>>2]=u*C+g*v+D*S,p[r+176+36>>2]=u*w+g*k+D*R,p[r+176+40>>2]=u*h+g*j+D*I,p[r+176+44>>2]=0,p[r+176+48>>2]=B,p[r+176+52>>2]=W,p[r+176+56>>2]=F,p[r+176+60>>2]=0,c=0|_[c+12>>2],F=+p[c>>2],W=+p[c+4>>2],B=+p[c+8>>2],I=+p[c+16>>2],D=+p[c+20>>2],j=+p[c+24>>2],g=+p[c+32>>2],h=+p[c+36>>2],u=+p[c+40>>2],e=0|_[e>>2],R=+p[e+(80*n|0)>>2],k=+p[e+(80*n|0)+16>>2],w=+p[e+(80*n|0)+32>>2],S=+p[e+(80*n|0)+4>>2],v=+p[e+(80*n|0)+20>>2],C=+p[e+(80*n|0)+36>>2],y=+p[e+(80*n|0)+8>>2],m=+p[e+(80*n|0)+24>>2],f=+p[e+(80*n|0)+40>>2],O=+p[e+(80*n|0)+48>>2],x=+p[e+(80*n|0)+52>>2],d=+p[e+(80*n|0)+56>>2],A=+p[c+48>>2]+(F*O+W*x+B*d),b=+p[c+52>>2]+(I*O+D*x+j*d),d=+p[c+56>>2]+(g*O+h*x+u*d),p[r+112>>2]=F*R+W*k+B*w,p[r+112+4>>2]=F*S+W*v+B*C,p[r+112+8>>2]=F*y+W*m+B*f,p[r+112+12>>2]=0,p[r+112+16>>2]=I*R+D*k+j*w,p[r+112+20>>2]=I*S+D*v+j*C,p[r+112+24>>2]=I*y+D*m+j*f,p[r+112+28>>2]=0,p[r+112+32>>2]=g*R+h*k+u*w,p[r+112+36>>2]=g*S+h*v+u*C,p[r+112+40>>2]=g*y+h*m+u*f,p[r+112+44>>2]=0,p[r+112+48>>2]=A,p[r+112+52>>2]=b,p[r+112+56>>2]=d,p[r+112+60>>2]=0,pd[127&_[8+(0|_[i>>2])>>2]](i,r+176|0,r+96|0,r+80|0),pd[127&_[8+(0|_[s>>2])>>2]](s,r+112|0,r+64|0,r+48|0),e=+p[r+96>>2]>+p[r+48>>2]||+p[r+80>>2]<+p[r+64>>2]?0:1,(+p[r+96+8>>2]>+p[r+48+8>>2]||+p[r+80+8>>2]<+p[r+64+8>>2])&&(e=0),+p[r+96+4>>2]>+p[r+48+4>>2])Q=r;else if(+p[r+80+4>>2]<+p[r+64+4>>2]|1^e)Q=r;else{c=0|_[t+8>>2],e=0|_[c+8>>2],_[r+24>>2]=c,_[r+24+4>>2]=i,_[r+24+8>>2]=e,_[r+24+12>>2]=r+176,_[r+24+16>>2]=-1,_[r+24+20>>2]=o,e=0|_[t+12>>2],c=0|_[e+8>>2],_[r>>2]=e,_[r+4>>2]=s,_[r+8>>2]=c,_[r+12>>2]=r+112,_[r+16>>2]=-1,_[r+20>>2]=n,c=0|_[t+28>>2],_[6618]=1+(0|_[6618]),e=9*((e=(n<<16|o)+~((n<<16|o)<<15)|0)>>10^e)|0,e^=e>>6,e=(0|_[c+12>>2])-1&(e+~(e<<11)>>16^e+~(e<<11));t:do{if((0|e)<(0|_[c+32>>2])&&(a=0|_[(0|_[c+40>>2])+(e<<2)>>2],-1!=(0|a))){for(s=0|_[c+16>>2],e=a;(0|_[(i=s+(12*e|0)|0)>>2])!=(0|o)||(0|_[s+(12*e|0)+4>>2])!=(0|n);)if(-1==(0|(e=0|_[(0|_[c+60>>2])+(e<<2)>>2]))){l=16;break t}i?e=0|_[s+(12*e|0)+8>>2]:l=16}else l=16}while(0);16==(0|l)&&(e=0|_[t+16>>2],e=0|Hl[31&_[8+(0|_[e>>2])>>2]](e,r+24|0,r,0|_[t+32>>2]),P=0|_[t+28>>2],P=8+(0|El[63&_[12+(0|_[P>>2])>>2]](P,o,n))|0,_[P>>2]=e),P=0|_[t+24>>2],l=0|_[P+8>>2],T=0|_[P+12>>2],_[P+8>>2]=r+24,_[P+12>>2]=r,_d[127&_[8+(0|_[P>>2])>>2]](P,-1,o),P=0|_[t+24>>2],_d[127&_[12+(0|_[P>>2])>>2]](P,-1,n),dd[31&_[8+(0|_[e>>2])>>2]](e,r+24|0,r,0|_[t+20>>2],0|_[t+24>>2]),P=0|_[t+24>>2],_[P+8>>2]=l,_[P+12>>2]=T,Q=r}},function(t,e,i){t|=0,i|=0;var n,o,r,s=0,c=0,a=0,l=0,d=0;d=.5*+p[60+(e|=0)>>2],o=0|_[e+68>>2],c=+p[i>>2],a=+p[i+4>>2],l=+p[i+8>>2],l=+b(+(c*c+a*a+l*l)),n=0|_[e+64>>2];do{if(!(+p[i+(o<<2)>>2]>+p[e+52>>2]*l)){if(c=+p[i+(n<<2)>>2],s=0|_[e+72>>2],a=+p[i+(s<<2)>>2],(l=+b(+(c*c+a*a)))>1.1920928955078125e-7){l=+p[e+56>>2]/l,p[t+(n<<2)>>2]=c*l,p[t+(o<<2)>>2]=-d,c=a*l;break}p[t+(n<<2)>>2]=0,p[t+(o<<2)>>2]=-d,c=0;break}p[t+(n<<2)>>2]=0,p[t+(o<<2)>>2]=d,c=0,s=0|_[e+72>>2]}while(0);p[t+(s<<2)>>2]=c,0!=+Il[15&_[48+(0|_[e>>2])>>2]](e)&&(r=(a=+p[i>>2])*a+(d=+p[i+4>>2])*d+(l=+p[i+8>>2])*l<14210854715202004e-30?-1:a,c=a*a+d*d+l*l<14210854715202004e-30?-1:d,d=1/+b(+((l=a*a+d*d+l*l<14210854715202004e-30?-1:l)*l+(r*r+c*c))),a=+Il[15&_[48+(0|_[e>>2])>>2]](e),p[t>>2]=+p[t>>2]+a*(r*d),p[t+4>>2]=+p[t+4>>2]+a*(c*d),p[t+8>>2]=+p[t+8>>2]+a*(l*d))},function(t,e,i){t|=0,i|=0;var n,o,r=0,s=0,c=0,a=0,l=0;return a=.5*+p[60+(e|=0)>>2],l=0|_[e+68>>2],r=+p[i>>2],s=+p[i+4>>2],c=+p[i+8>>2],c=+b(+(r*r+s*s+c*c)),n=0|_[e+64>>2],+p[i+(l<<2)>>2]>+p[e+52>>2]*c?(p[t+(n<<2)>>2]=0,p[t+(l<<2)>>2]=a,a=0,l=0|_[e+72>>2],void(p[(l=t+(l<<2)|0)>>2]=a)):(c=+p[i+(n<<2)>>2],o=0|_[e+72>>2],r=+p[i+(o<<2)>>2],(s=+b(+(c*c+r*r)))>1.1920928955078125e-7?(s=+p[e+56>>2]/s,p[t+(n<<2)>>2]=c*s,p[t+(l<<2)>>2]=-a,a=r*s,void(p[(l=t+((l=o)<<2)|0)>>2]=a)):(p[t+(n<<2)>>2]=0,p[t+(l<<2)>>2]=-a,a=0,void(p[(l=t+((l=o)<<2)|0)>>2]=a)))},function(t,e,i){t|=0,i|=0;var n,o,r,s=0,c=0,a=0;n=Q,Q=Q+16|0,_d[127&_[68+(0|_[(e|=0)>>2])>>2]](n,e,i),_[t>>2]=_[n>>2],_[t+4>>2]=_[n+4>>2],_[t+8>>2]=_[n+8>>2],_[t+12>>2]=_[n+12>>2],r=(a=+p[i>>2])*a+(s=+p[i+4>>2])*s+(c=+p[i+8>>2])*c<14210854715202004e-30?-1:a,o=a*a+s*s+c*c<14210854715202004e-30?-1:s,s=1/+b(+((c=a*a+s*s+c*c<14210854715202004e-30?-1:c)*c+(r*r+o*o))),a=+Il[15&_[48+(0|_[e>>2])>>2]](e),p[t>>2]=+p[t>>2]+a*(r*s),p[t+4>>2]=+p[t+4>>2]+a*(o*s),p[t+8>>2]=+p[t+8>>2]+a*(c*s),Q=n},function(t,e,i){_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0},function(t,e,i){var n,o,r,s,c;t|=0,e|=0,i|=0,n=Q,Q=Q+160|0,_[n+136>>2]=0,_[n+136+4>>2]=0,_[n+136+8>>2]=0,_[n+136+12>>2]=0,_[n+136+16>>2]=0,_[n+32>>2]=7904,_[(o=n+32+4|0)>>2]=0,_[o+4>>2]=0,_[o+8>>2]=0,_[o+12>>2]=0,_[n+32+20>>2]=1065353216,_[n+32+24>>2]=0,_[n+32+24+4>>2]=0,_[n+32+24+8>>2]=0,_[n+32+24+12>>2]=0,_[n+32+40>>2]=1065353216,_[n+32+44>>2]=0,_[n+32+44+4>>2]=0,_[n+32+44+8>>2]=0,_[n+32+44+12>>2]=0,_[n+32+60>>2]=1065353216,_[n+32+64>>2]=0,_[n+32+68>>2]=_[n+136+4>>2],_[n+32+68+4>>2]=_[n+136+4+4>>2],_[n+32+68+8>>2]=_[n+136+4+8>>2],_[n+32+68+12>>2]=_[n+136+4+12>>2],p[n+32+84>>2]=-0xde0b6b000000000,c=+p[i>>2],s=+p[i+4>>2],r=+p[i+8>>2],p[n+32+88>>2]=c+0*s+0*r,p[n+32+92>>2]=0*c+s+0*r,p[n+32+96>>2]=0*c+0*s+r,p[n+32+100>>2]=0,_[n+16>>2]=1566444395,_[n+16+4>>2]=1566444395,_[n+16+8>>2]=1566444395,p[n+16+12>>2]=0,i=0|_[64+(0|_[e>>2])>>2],p[n>>2]=-0xde0b6b000000000,p[n+4>>2]=-0xde0b6b000000000,p[n+8>>2]=-0xde0b6b000000000,p[n+12>>2]=0,pd[127&i](e,n+32|0,n,n+16|0),_[t>>2]=_[o>>2],_[t+4>>2]=_[o+4>>2],_[t+8>>2]=_[o+8>>2],_[t+12>>2]=_[o+12>>2],Q=n},function(t,e,i){t|=0,i|=0,_d[127&_[68+(0|_[(e|=0)>>2])>>2]](t,e,i)},function(t,e,i){e|=0,i|=0;var n,o,a,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0;switch(a=Q,Q=Q+32|0,u=0|_[4+(t|=0)>>2],hd[3&_[16+(0|_[u>>2])>>2]](u,a+28|0,a+24|0,a+20|0,a+16|0,a+12|0,a+8|0,a+4|0,a,e),u=(0|_[a+12>>2])+(0|g(0|_[a+8>>2],i))|0,h=0|_[t+4>>2],0|(n=0|_[a>>2])){case 3:l=0|s[u+4>>1];break;case 2:l=0|_[u+8>>2];break;default:l=0|r[u+2|0]}switch(y=!(0|_[a+20>>2]),o=0|_[a+28>>2],m=0|_[a+16>>2],l=o+(0|g(m,l))|0,y?(A=+p[l+4>>2]*+p[h+8>>2],f=+p[l>>2]*+p[h+4>>2],b=l+8|0,d=+p[h+12>>2]):(A=+p[h+8>>2]*+c[l+8>>3],f=+p[h+4>>2]*+c[l>>3],b=h+12|0,d=+c[l+16>>3]),d=+p[b>>2]*d,p[t+44>>2]=f,p[t+48>>2]=A,p[t+52>>2]=d,p[t+56>>2]=0,0|n){case 3:l=0|s[u+2>>1];break;case 2:l=0|_[u+4>>2];break;default:l=0|r[u+1|0]}switch(l=o+(0|g(m,l))|0,y?(b=l+8|0,A=+p[l+4>>2]*+p[h+8>>2],f=+p[l>>2]*+p[h+4>>2],d=+p[h+12>>2]):(b=h+12|0,A=+p[h+8>>2]*+c[l+8>>3],f=+p[h+4>>2]*+c[l>>3],d=+c[l+16>>3]),d=+p[b>>2]*d,p[t+28>>2]=f,p[t+32>>2]=A,p[t+36>>2]=d,p[t+40>>2]=0,0|n){case 3:l=0|s[u>>1];break;case 2:l=0|_[u>>2];break;default:l=0|r[0|u]}return l=o+(0|g(m,l))|0,y?(A=+p[l+4>>2]*+p[h+8>>2],d=+p[l>>2]*+p[h+4>>2],m=l+8|0,f=+p[h+12>>2],f*=C=+p[m>>2],p[(h=t+12|0)>>2]=d,p[(h=t+16|0)>>2]=A,p[(h=t+20|0)>>2]=f,p[(h=t+24|0)>>2]=0,h=0|_[(h=t+8|0)>>2],m=0|_[h>>2],m=0|_[(m=m+8|0)>>2],y=t+12|0,pd[127&m](h,y,e,i),y=0|_[t+4>>2],h=0|_[y>>2],h=0|_[(h=h+24|0)>>2],ed[127&h](y,e),void(Q=a)):(f=+p[h+8>>2]*+c[l+8>>3],A=+p[h+4>>2]*+c[l>>3],h=h+12|0,C=+c[l+16>>3],C*=d=+p[h>>2],p[(h=t+12|0)>>2]=A,p[(h=t+16|0)>>2]=f,p[(h=t+20|0)>>2]=C,p[(h=t+24|0)>>2]=0,h=0|_[(h=t+8|0)>>2],m=0|_[h>>2],m=0|_[(m=m+8|0)>>2],y=t+12|0,pd[127&m](h,y,e,i),y=0|_[t+4>>2],h=0|_[y>>2],h=0|_[(h=h+24|0)>>2],ed[127&h](y,e),void(Q=a))},Ye,Ye,function(t,e,i){e|=0,i|=0;var n,o=0,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0;if(n=Q,Q=Q+2048|0,_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,(o=+p[i>>2])*o+(s=+p[i+4>>2])*s+(r=+p[i+8>>2])*r<9999999747378752e-20?(A=1,d=0,s=0):(A=o*(u=1/+b(+(o*o+s*s+r*r))),d=s*u,s=r*u),(0|Gl[127&_[96+(0|_[e>>2])>>2]](e))<=0)Q=n;else{for(l=0,r=-0xde0b6b000000000;;){if(((0|Gl[127&_[96+(0|_[e>>2])>>2]](e))-l|0)<128?(0|(i=(0|Gl[127&_[96+(0|_[e>>2])>>2]](e))-l|0))>0?f=8:(o=-34028234663852886e22,i=-1):(i=128,f=8),8==(0|f)){f=0,c=0;do{_d[127&_[108+(0|_[e>>2])>>2]](e,c,n+(c<<4)|0),c=c+1|0}while((0|c)!=(0|i));c=-1,a=0,o=-34028234663852886e22;do{c=(m=(u=A*+p[n+(a<<4)>>2]+d*+p[n+(a<<4)+4>>2]+s*+p[n+(a<<4)+8>>2])>o)?a:c,o=m?u:o,a=a+1|0}while((0|a)!=(0|i));i=c}if(o>r?(m=n+(i<<4)|0,_[t>>2]=_[m>>2],_[t+4>>2]=_[m+4>>2],_[t+8>>2]=_[m+8>>2],_[t+12>>2]=_[m+12>>2]):o=r,(0|(l=l+128|0))>=(0|Gl[127&_[96+(0|_[e>>2])>>2]](e)))break;r=o}Q=n}},kn,function(t,e,i){t|=0,i|=0;var n,o,r,s,c,a,l=0,d=0,b=0,A=0,f=0;if((0|(c=0|_[96+(e|=0)>>2]))<=0)return _[t>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,void(_[t+12>>2]=0);for(a=+p[e+12>>2],f=+p[i>>2]*a,r=+p[e+16>>2],A=+p[i+4>>2]*r,s=+p[e+20>>2],o=+p[i+8>>2]*s,n=0|_[e+104>>2],i=-1,e=0,l=-34028234663852886e22;i=(b=(d=f*+p[n+(e<<4)>>2]+A*+p[n+(e<<4)+4>>2]+o*+p[n+(e<<4)+8>>2])>l)?e:i,(0|(e=e+1|0))!=(0|c);)l=b?d:l;A=r*+p[n+(i<<4)+4>>2],f=s*+p[n+(i<<4)+8>>2],p[t>>2]=a*+p[n+(i<<4)>>2],p[t+4>>2]=A,p[t+8>>2]=f,p[t+12>>2]=0},function(t,e,i){var n,o,r;e|=0,i|=0,r=0|_[104+(t|=0)>>2],o=+p[r+(e<<4)+4>>2]*+p[t+16>>2],n=+p[r+(e<<4)+8>>2]*+p[t+20>>2],p[i>>2]=+p[r+(e<<4)>>2]*+p[t+12>>2],p[i+4>>2]=o,p[i+8>>2]=n,p[i+12>>2]=0},function(t,e,i){e|=0,i|=0;var n,o,r,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0;r=Q,Q=Q+16|0,_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,(s=+p[i>>2])*s+(c=+p[i+4>>2])*c+(a=+p[i+8>>2])*a<9999999747378752e-20?(u=1,f=0,A=0):(u=s*(A=1/+b(+(s*s+c*c+a*a))),f=c*A,A*=a),i=0|_[e+52>>2],d=+p[e+28+((i+2|0)%3<<2)>>2],_[r>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+(i<<2)>>2]=_[e+28+(i<<2)>>2],n=u*d,o=f*d,d*=A,s=n+ +p[r>>2],c=o+ +p[r+4>>2],l=d+ +p[r+8>>2],s-=u*(a=+Il[15&_[48+(0|_[e>>2])>>2]](e)),c-=f*a,(l=A*(a=l-A*a)+(u*s+f*c))>-0xde0b6b000000000?(p[t>>2]=s,p[t+4>>2]=c,p[t+8>>2]=a,p[t+12>>2]=0):l=-0xde0b6b000000000,_[r>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,i=0|_[e+52>>2],p[r+(i<<2)>>2]=-+p[e+28+(i<<2)>>2],s=n+ +p[r>>2],c=o+ +p[r+4>>2],d+=+p[r+8>>2],s-=u*(a=+Il[15&_[48+(0|_[e>>2])>>2]](e)),c-=f*a,A*(a=d-A*a)+(u*s+f*c)>l?(p[t>>2]=s,p[t+4>>2]=c,p[t+8>>2]=a,p[t+12>>2]=0,Q=r):Q=r},kn,function(t,e,i){e|=0,i|=0;var n,o,r,s=0,c=0,l=0,d=0,A=0;r=Q,Q=Q+80|0,_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,(s=+p[i>>2])*s+(n=+p[i+4>>2])*n+(o=+p[i+8>>2])*o<9999999747378752e-20?(l=1065353216,c=0,s=0,i=0):(A=1/+b(+(s*s+n*n+o*o)),p[a>>2]=s*A,l=0|_[a>>2],p[a>>2]=n*A,d=0|_[a>>2],p[a>>2]=o*A,c=0|_[a>>2],s=+p[i+12>>2],i=d),_[r+32>>2]=8820,_[(d=r+32+4|0)>>2]=0,_[d+4>>2]=0,_[d+8>>2]=0,_[d+12>>2]=0,p[r+32+20>>2]=-0xde0b6b000000000,_[r+32+24>>2]=l,_[r+32+28>>2]=i,_[r+32+32>>2]=c,p[r+32+36>>2]=s,_[r+16>>2]=1566444395,_[r+16+4>>2]=1566444395,_[r+16+8>>2]=1566444395,p[r+16+12>>2]=0,e=0|_[e+92>>2],l=0|_[8+(0|_[e>>2])>>2],p[r>>2]=-0xde0b6b000000000,p[r+4>>2]=-0xde0b6b000000000,p[r+8>>2]=-0xde0b6b000000000,p[r+12>>2]=0,pd[127&l](e,r+32|0,r,r+16|0),_[t>>2]=_[d>>2],_[t+4>>2]=_[d+4>>2],_[t+8>>2]=_[d+8>>2],_[t+12>>2]=_[d+12>>2],Q=r},jc,function(t,e,i){t|=0,i|=0;var n,o,r,s=0,c=0;o=+p[28+(e|=0)>>2],r=+p[e+32>>2],s=+p[e+36>>2],n=+Il[15&_[48+(0|_[e>>2])>>2]](e),c=+Il[15&_[48+(0|_[e>>2])>>2]](e),s+=+Il[15&_[48+(0|_[e>>2])>>2]](e),c=+p[i+4>>2]>=0?r+c:-(r+c),s=+p[i+8>>2]>=0?s:-s,p[t>>2]=+p[i>>2]>=0?o+n:-(o+n),p[t+4>>2]=c,p[t+8>>2]=s,p[t+12>>2]=0},function(t,e,i){t|=0,i|=0;var n,o=0,_=0;n=+p[28+(e|=0)>>2],_=+p[e+32>>2],_=+p[i+4>>2]>=0?_:-_,o=+p[e+36>>2],o=+p[i+8>>2]>=0?o:-o,p[t>>2]=+p[i>>2]>=0?n:-n,p[t+4>>2]=_,p[t+8>>2]=o,p[t+12>>2]=0},function(t,e,i){t|=0,i|=0;var n=0;switch(0|(e|=0)){case 0:t=0,e=0,n=1065353216;break;case 1:t=0,e=0,n=-1082130432;break;case 2:t=0,e=1065353216,n=0;break;case 3:t=0,e=-1082130432,n=0;break;case 4:t=1065353216,e=0,n=0;break;case 5:t=-1082130432,e=0,n=0;break;default:return}_[i>>2]=n,_[i+4>>2]=e,_[i+8>>2]=t,p[i+12>>2]=0},function(t,e,i){e|=0,i|=0;var n,o,r,s,c,a=0;c=+p[28+(t|=0)>>2],r=+p[t+32>>2],a=+p[t+36>>2],s=+Il[15&_[48+(0|_[t>>2])>>2]](t),o=+Il[15&_[48+(0|_[t>>2])>>2]](t),a+=+Il[15&_[48+(0|_[t>>2])>>2]](t),n=e>>>1&1,t=e>>>2&1,p[i>>2]=(c+s)*+(1&e^1)-(c+s)*+(1&e),p[i+4>>2]=(r+o)*+(1^n)-(r+o)*+(0|n),p[i+8>>2]=a*+(1^t)-a*+(0|t),p[i+12>>2]=0},function(t,e,i){e|=0,i|=0;var n,o,r=0,s=0;switch(r=+p[28+(t|=0)>>2],o=+p[t+32>>2],n=+p[t+36>>2],0|i){case 0:t=0,i=0,s=1065353216;break;case 1:t=0,i=0,s=-1082130432;break;case 2:t=0,i=1065353216,s=0,r=o;break;case 3:t=0,i=-1082130432,s=0,r=o;break;case 4:t=1065353216,i=0,s=0,r=n;break;case 5:t=-1082130432,i=0,s=0,r=n;break;default:return}_[e>>2]=s,_[e+4>>2]=i,_[e+8>>2]=t,p[e+12>>2]=-r},function(t,e,i){t|=0,i|=0;var n,o,r,s=0,c=0,a=0;n=Q,Q=Q+16|0,_d[127&_[68+(0|_[(e|=0)>>2])>>2]](n,e,i),_[t>>2]=_[n>>2],_[t+4>>2]=_[n+4>>2],_[t+8>>2]=_[n+8>>2],_[t+12>>2]=_[n+12>>2],0!=+Il[15&_[48+(0|_[e>>2])>>2]](e)?(r=(a=+p[i>>2])*a+(s=+p[i+4>>2])*s+(c=+p[i+8>>2])*c<14210854715202004e-30?-1:a,o=a*a+s*s+c*c<14210854715202004e-30?-1:s,s=1/+b(+((c=a*a+s*s+c*c<14210854715202004e-30?-1:c)*c+(r*r+o*o))),a=+Il[15&_[48+(0|_[e>>2])>>2]](e),p[t>>2]=+p[t>>2]+a*(r*s),p[t+4>>2]=+p[t+4>>2]+a*(o*s),p[t+8>>2]=+p[t+8>>2]+a*(c*s),Q=n):Q=n},function(t,e,i){t|=0,i|=0;var n,o,_,r=0,s=0,c=0;r=+p[28+(e|=0)>>2],n=+p[e+32>>2],_=+p[i>>2],s=+p[i+8>>2],0!=(o=+b(+(_*_+s*s)))?(c=s*(r/o),s=+p[i+4>>2]<0?-n:n,r=_*(r/o)):(c=0,s=+p[i+4>>2]<0?-n:n),p[t>>2]=r,p[t+4>>2]=s,p[t+8>>2]=c},function(t,e,i){t|=0,i|=0;var n,o,_,r=0,s=0,c=0;r=+p[32+(e|=0)>>2],n=+p[e+28>>2],_=+p[i+4>>2],s=+p[i+8>>2],0!=(o=+b(+(_*_+s*s)))?(c=s*(r/o),s=+p[i>>2]<0?-n:n,r=_*(r/o)):(c=0,s=+p[i>>2]<0?-n:n),p[t+4>>2]=r,p[t>>2]=s,p[t+8>>2]=c},function(t,e,i){t|=0,i|=0;var n,o,_,r=0,s=0,c=0;r=+p[28+(e|=0)>>2],n=+p[e+36>>2],_=+p[i>>2],s=+p[i+4>>2],0!=(o=+b(+(_*_+s*s)))?(c=s*(r/o),s=+p[i+8>>2]<0?-n:n,r=_*(r/o)):(c=0,s=+p[i+8>>2]<0?-n:n),p[t>>2]=r,p[t+8>>2]=s,p[t+4>>2]=c},function(t,e,i){e|=0,i|=0,_[52+(t|=0)>>2]=_[e>>2],_[t+52+4>>2]=_[e+4>>2],_[t+52+8>>2]=_[e+8>>2],_[t+52+12>>2]=_[e+12>>2],_[t+68>>2]=_[i>>2],_[t+68+4>>2]=_[i+4>>2],_[t+68+8>>2]=_[i+8>>2],_[t+68+12>>2]=_[i+12>>2],_[t+48>>2]=1},function(t,e,i){t|=0,i|=0,_[(e|=0)>>2]=_[t+52>>2],_[e+4>>2]=_[t+52+4>>2],_[e+8>>2]=_[t+52+8>>2],_[e+12>>2]=_[t+52+12>>2],_[i>>2]=_[t+68>>2],_[i+4>>2]=_[t+68+4>>2],_[i+8>>2]=_[t+68+8>>2],_[i+12>>2]=_[t+68+12>>2]},function(t,e,i){e|=0,i|=0;var n=0,r=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0;if(0|(n=0|_[108+(t|=0)>>2])&&_d[127&_[12+(0|_[n>>2])>>2]](n,0|_[e+60>>2],i),A=0|_[e+12>>2],d=0|_[t+60>>2],b=0|_[t+92>>2],0|Gl[127&_[56+(0|_[b>>2])>>2]](b)||(b=0|_[t+92>>2],_d[127&_[16+(0|_[b>>2])>>2]](b,d+((65535&A)<<6)|0,i)),b=0|s[t+56>>1],e=0|_[t+60>>2],o[e+54>>1]=65534+(0|s[e+54>>1]),o[e+56>>1]=65534+(0|s[e+56>>1]),o[e+58>>1]=65534+(0|s[e+58>>1]),l=0|_[t+68>>2],n=0|o[t+6>>1],i=0|s[d+((65535&A)<<6)+54>>1],o[l+(i<<2)>>1]=n,(r=0|o[l+(i<<2)+6>>1])<<16>>16){for(c=e+(s[l+(i<<2)+2>>1]<<6)+54|0,p=l+(i<<2)|0;i=p,!((65535&n)<(65535&(e=0|o[(p=p+4|0)>>1])))&&(n=0|_[t+60>>2],a=65535&r,o[(e=1&e?n+(a<<6)+54|0:n+(a<<6)+48|0)>>1]=(0|o[e>>1])-1<<16>>16,o[c>>1]=1+(0|o[c>>1])<<16>>16,e=s[i>>1]|s[i+2>>1]<<16,a=s[p>>1]|s[p+2>>1]<<16,o[i>>1]=a,o[i+2>>1]=a>>>16,o[p>>1]=e,o[p+2>>1]=e>>>16,(r=0|o[i+10>>1])<<16>>16);)n=65535&e;n=0|o[t+6>>1],i=0|_[t+68>>2]}else i=l;if(e=0|s[d+((65535&A)<<6)+48>>1],o[l+(e<<2)>>1]=n,(r=0|o[6+(p=i+(e<<2)|0)>>1])<<16>>16){for(a=(0|_[t+60>>2])+(s[i+(e<<2)+2>>1]<<6)+48|0,c=p,i=0|o[p>>1];n=c,!((65535&i)<(65535&(e=0|o[(c=c+4|0)>>1])))&&(i=0|_[t+60>>2],p=65535&r,o[(e=1&e?i+(p<<6)+54|0:i+(p<<6)+48|0)>>1]=(0|o[e>>1])-1<<16>>16,o[a>>1]=1+(0|o[a>>1])<<16>>16,e=s[n>>1]|s[n+2>>1]<<16,p=s[c>>1]|s[c+2>>1]<<16,o[n>>1]=p,o[n+2>>1]=p>>>16,o[c>>1]=e,o[c+2>>1]=e>>>16,(r=0|o[n+10>>1])<<16>>16);)i=65535&e;n=0|o[t+6>>1]}if(o[l+((b<<1)-1<<2)+2>>1]=0,o[l+((b<<1)-1<<2)>>1]=n,l=0|_[t+72>>2],e=0|s[d+((65535&A)<<6)+56>>1],o[l+(e<<2)>>1]=n,(i=0|o[l+(e<<2)+6>>1])<<16>>16){for(c=(0|_[t+60>>2])+(s[l+(e<<2)+2>>1]<<6)+56|0,p=l+(e<<2)|0;r=p,!((65535&n)<(65535&(e=0|o[(p=p+4|0)>>1])))&&(n=0|_[t+60>>2],a=65535&i,o[(e=1&e?n+(a<<6)+56|0:n+(a<<6)+50|0)>>1]=(0|o[e>>1])-1<<16>>16,o[c>>1]=1+(0|o[c>>1])<<16>>16,e=s[r>>1]|s[r+2>>1]<<16,a=s[p>>1]|s[p+2>>1]<<16,o[r>>1]=a,o[r+2>>1]=a>>>16,o[p>>1]=e,o[p+2>>1]=e>>>16,(i=0|o[r+10>>1])<<16>>16);)n=65535&e;n=0|o[t+6>>1],i=0|_[t+72>>2]}else i=l;if(e=0|s[d+((65535&A)<<6)+50>>1],o[l+(e<<2)>>1]=n,(p=0|o[6+(r=i+(e<<2)|0)>>1])<<16>>16){for(a=(0|_[t+60>>2])+(s[i+(e<<2)+2>>1]<<6)+50|0,c=r,i=0|o[r>>1],r=p;n=c,!((65535&i)<(65535&(e=0|o[(c=c+4|0)>>1])))&&(i=0|_[t+60>>2],p=65535&r,o[(e=1&e?i+(p<<6)+56|0:i+(p<<6)+50|0)>>1]=(0|o[e>>1])-1<<16>>16,o[a>>1]=1+(0|o[a>>1])<<16>>16,e=s[n>>1]|s[n+2>>1]<<16,p=s[c>>1]|s[c+2>>1]<<16,o[n>>1]=p,o[n+2>>1]=p>>>16,o[c>>1]=e,o[c+2>>1]=e>>>16,(r=0|o[n+10>>1])<<16>>16);)i=65535&e;n=0|o[t+6>>1]}if(o[l+((b<<1)-1<<2)+2>>1]=0,o[l+((b<<1)-1<<2)>>1]=n,l=0|_[t+76>>2],e=0|s[d+((65535&A)<<6)+58>>1],o[l+(e<<2)>>1]=n,(i=0|o[l+(e<<2)+6>>1])<<16>>16){for(c=(0|_[t+60>>2])+(s[l+(e<<2)+2>>1]<<6)+58|0,p=l+(e<<2)|0;r=p,!((65535&n)<(65535&(e=0|o[(p=p+4|0)>>1])))&&(n=0|_[t+60>>2],a=65535&i,o[(e=1&e?n+(a<<6)+58|0:n+(a<<6)+52|0)>>1]=(0|o[e>>1])-1<<16>>16,o[c>>1]=1+(0|o[c>>1])<<16>>16,e=s[r>>1]|s[r+2>>1]<<16,a=s[p>>1]|s[p+2>>1]<<16,o[r>>1]=a,o[r+2>>1]=a>>>16,o[p>>1]=e,o[p+2>>1]=e>>>16,(i=0|o[r+10>>1])<<16>>16);)n=65535&e;n=0|o[t+6>>1],i=0|_[t+76>>2]}else i=l;if(e=0|s[d+((65535&A)<<6)+52>>1],o[l+(e<<2)>>1]=n,!((p=0|o[6+(r=i+(e<<2)|0)>>1])<<16>>16))return a=n,o[(d=l+((b<<1)-1<<2)+2|0)>>1]=0,o[(d=l+((b<<1)-1<<2)|0)>>1]=a,d=0|_[t+60>>2],l=0|o[(b=t+64|0)>>1],o[(d=d+((65535&A)<<6)+48|0)>>1]=l,o[b>>1]=A,A=(A=0|o[t+56>>1])-1<<16>>16,void(o[t+56>>1]=A);for(a=(0|_[t+60>>2])+(s[i+(e<<2)+2>>1]<<6)+52|0,c=r,i=0|o[r>>1],r=p;n=c,!((65535&i)<(65535&(e=0|o[(c=c+4|0)>>1])))&&(p=0|_[t+60>>2],d=65535&r,o[(e=1&e?p+(d<<6)+58|0:p+(d<<6)+52|0)>>1]=(0|o[e>>1])-1<<16>>16,o[a>>1]=1+(0|o[a>>1])<<16>>16,e=s[n>>1]|s[n+2>>1]<<16,d=s[c>>1]|s[c+2>>1]<<16,o[n>>1]=d,o[n+2>>1]=d>>>16,o[c>>1]=e,o[c+2>>1]=e>>>16,(r=0|o[n+10>>1])<<16>>16);)i=65535&e;a=0|o[t+6>>1],o[(d=l+((b<<1)-1<<2)+2|0)>>1]=0,o[(d=l+((b<<1)-1<<2)|0)>>1]=a,d=0|_[t+60>>2],l=0|o[(b=t+64|0)>>1],o[(d=d+((65535&A)<<6)+48|0)>>1]=l,o[b>>1]=A,A=(A=0|o[t+56>>1])-1<<16>>16,o[t+56>>1]=A},function(t,e,i){t|=0,i|=0,_[(e|=0)>>2]=_[t+8>>2],_[e+4>>2]=_[t+8+4>>2],_[e+8>>2]=_[t+8+8>>2],_[e+12>>2]=_[t+8+12>>2],_[i>>2]=_[t+24>>2],_[i+4>>2]=_[t+24+4>>2],_[i+8>>2]=_[t+24+8>>2],_[i+12>>2]=_[t+24+12>>2]},jc,jc,jc,jc,function(t,e,i){var n;t|=0,e|=0,i|=0,n=Q,Q=Q+16|0,_[n>>2]=9816,_[n+4>>2]=e,_d[127&_[48+(0|_[t>>2])>>2]](t,n,i),Q=n},function(t,e,i){t|=0,!!(0|(i|=0))&!!(0|(t=0|_[8+(e|=0)>>2]))&&(Xl[511&_[_[t>>2]>>2]](t),ed[127&_[60+(0|_[i>>2])>>2]](i,0|_[e+8>>2]),_[e+8>>2]=0)},function(t,e,i){var n;t|=0,e|=0,i|=0,n=Q,Q=Q+16|0,_[n>>2]=9796,_[n+4>>2]=e,_[n+8>>2]=t,_[n+12>>2]=i,_d[127&_[48+(0|_[t>>2])>>2]](t,n,i),Q=n},function(t,e,i){e|=0,i|=0;var n=0,o=0,r=0;if(!((0|_[8+(t|=0)>>2])<=0)){n=0;do{r=(o=0|_[t+16>>2])+(n<<4)|0,0|Ll[31&_[8+(0|_[e>>2])>>2]](e,r)?(Hl[31&_[12+(0|_[t>>2])>>2]](t,0|_[r>>2],0|_[o+(n<<4)+4>>2],i),_[6606]=(0|_[6606])-1):n=n+1|0}while((0|n)<(0|_[t+8>>2]))}},function(t,e,i){t|=0,i|=0;var o=0,r=0;2==(0|_[60+(e|=0)>>2])?(Tt(t+64|0,r=0|_[e+48>>2]),0|(o=0|_[t+68>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])),_[t+68>>2]=r,_[t+76>>2]=(0|_[t+76>>2])-1):(Tt(t+4|0,o=0|_[e+48>>2]),0|(r=0|_[t+8>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+8>>2]=o,_[t+16>>2]=(0|_[t+16>>2])-1),o=(o=0|_[e+52>>2])?o+56|0:t+124+(_[e+60>>2]<<2)|0,_[o>>2]=_[e+56>>2],0|(o=0|_[e+56>>2])&&(_[o+52>>2]=_[e+52>>2]),r=0|_[t+136>>2],_d[127&_[16+(0|_[r>>2])>>2]](r,e,i),_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),n[t+194|0]=1},function(t,e,i){e|=0,i|=0;var n,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0;n=0|_[4+(t|=0)>>2],t=0|_[t+64>>2];do{if(n){if(o=+p[n>>2],!t){b=+p[n+12>>2],a=+p[n+16>>2],d=+p[n+20>>2],c=+p[n+24>>2],l=+p[n+28>>2],s=+p[n+4>>2],r=+p[n+8>>2];break}o=o<(l=+p[t>>2])?o:l,a=(l=+p[n+16>>2])>(a=+p[t+16>>2])?l:a,s=(l=+p[n+4>>2])<(s=+p[t+4>>2])?l:s,d=(l=+p[n+20>>2])>(d=+p[t+20>>2])?l:d,r=(l=+p[n+8>>2])<(r=+p[t+8>>2])?l:r,(l=+p[n+24>>2])>(c=+p[t+24>>2])?(b=0,c=l,l=0):(b=0,l=0)}else t?(o=+p[t>>2],b=+p[t+12>>2],a=+p[t+16>>2],d=+p[t+20>>2],c=+p[t+24>>2],l=+p[t+28>>2],s=+p[t+4>>2],r=+p[t+8>>2]):(o=0,b=0,a=0,d=0,c=0,l=0,s=0,r=0)}while(0);p[e>>2]=o,p[e+4>>2]=s,p[e+8>>2]=r,p[e+12>>2]=b,p[i>>2]=a,p[i+4>>2]=d,p[i+8>>2]=c,p[i+12>>2]=l},function(t,e,i){var n;t|=0,(0|(e|=0))!=(0|(i|=0))&&(n=0|_[136+(0|_[t+4>>2])>>2],El[63&_[8+(0|_[n>>2])>>2]](n,0|_[e+36>>2],0|_[i+36>>2]),i=160+(0|_[t+4>>2])|0,_[i>>2]=1+(0|_[i>>2]))},jc,jc,jc,jc,function(t,e,i){e|=0,i|=0;var n,o,r,s=0,c=0,a=0;r=Q,Q=Q+80|0,o=0|_[_[(t|=0)>>2]>>2],n=0|_[_[t+4>>2]>>2],0|El[63&_[24+(0|_[e>>2])>>2]](e,o,n)?(c=0|_[o+192>>2],_[r+56>>2]=0,_[r+56+4>>2]=c,_[r+56+8>>2]=o,_[r+56+12>>2]=o+4,_[r+56+16>>2]=-1,_[r+56+20>>2]=-1,c=0|_[n+192>>2],_[r+32>>2]=0,_[r+32+4>>2]=c,_[r+32+8>>2]=n,_[r+32+12>>2]=n+4,_[r+32+16>>2]=-1,_[r+32+20>>2]=-1,(c=0|_[t+8>>2])?a=4:(c=0|Hl[31&_[8+(0|_[e>>2])>>2]](e,r+56|0,r+32|0,0),_[t+8>>2]=c,0|c&&(a=4)),4==(0|a)&&(_[r>>2]=6500,_[r+4>>2]=0,_[r+8>>2]=r+56,_[r+12>>2]=r+32,1!=(0|_[i+8>>2])?(s=+Tl[15&_[12+(0|_[c>>2])>>2]](c,o,n,i,r),+p[i+12>>2]>s&&(p[i+12>>2]=s)):dd[31&_[8+(0|_[c>>2])>>2]](c,r+56|0,r+32|0,i,r)),Q=r):Q=r},ye,function(t,e,i){t|=0,e|=0,i|=0;var n,o=0,r=0,s=0,c=0;switch(n=Q,Q=Q+32|0,_[n+16>>2]=_[i>>2],_[n+16+4>>2]=_[i+4>>2],_[n+16+8>>2]=_[i+8>>2],_[n+16+12>>2]=_[i+12>>2],(r=+p[n+16>>2])*r+(s=+p[n+16+4>>2])*s+(o=+p[n+16+8>>2])*o<14210854715202004e-30&&(_[n+16>>2]=-1082130432,_[n+16+4>>2]=-1082130432,_[n+16+8>>2]=-1082130432,p[n+16+12>>2]=0,r=-1,s=-1,o=-1),c=1/+b(+(r*r+s*s+o*o)),p[n+16>>2]=r*c,p[n+16+4>>2]=s*c,p[n+16+8>>2]=o*c,ye(n,e,n+16|0),0|_[e+4>>2]){case 8:o=+p[e+28>>2]*+p[e+12>>2];break;case 0:case 1:case 13:case 11:case 10:case 4:case 5:o=+p[e+44>>2];break;default:o=+Il[15&_[48+(0|_[e>>2])>>2]](e)}s=o*+p[n+16+4>>2]+ +p[n+4>>2],c=o*+p[n+16+8>>2]+ +p[n+8>>2],p[t>>2]=o*+p[n+16>>2]+ +p[n>>2],p[t+4>>2]=s,p[t+8>>2]=c,p[t+12>>2]=0,Q=n},Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za],rd=[Ra,Ms,function(t,e,i,o){e|=0,i|=0,o=+o;var r,s=0,c=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,tt=0,et=0,it=0;if(r=Q,Q=Q+448|0,0|n[527+(t|=0)|0]){if(P=0|_[t+28>>2],I=+p[t+348>>2],D=+p[t+352>>2],T=+p[t+356>>2],B=+p[P+52>>2],W=I*+p[P+4>>2]+D*+p[P+8>>2]+T*+p[P+12>>2]+B,F=+p[P+56>>2],x=I*+p[P+20>>2]+D*+p[P+24>>2]+T*+p[P+28>>2]+F,O=+p[P+60>>2],T=I*+p[P+36>>2]+D*+p[P+40>>2]+T*+p[P+44>>2]+O,M=0|_[t+32>>2],D=+p[t+412>>2],I=+p[t+416>>2],g=+p[t+420>>2],l=+p[M+52>>2],d=D*+p[M+4>>2]+I*+p[M+8>>2]+g*+p[M+12>>2]+l,A=+p[M+56>>2],f=D*+p[M+20>>2]+I*+p[M+24>>2]+g*+p[M+28>>2]+A,y=+p[M+60>>2],g=D*+p[M+36>>2]+I*+p[M+40>>2]+g*+p[M+44>>2]+y,!(0|n[t+524|0])){j=+p[e+192>>2]+ +p[e+80>>2],D=+p[e+196>>2]+ +p[e+84>>2],R=+p[e+200>>2]+ +p[e+88>>2],I=+p[i+192>>2]+ +p[i+80>>2],w=+p[i+196>>2]+ +p[i+84>>2],v=+p[i+200>>2]+ +p[i+88>>2],C=+p[e+176>>2]+ +p[e+64>>2]+((T-O)*D-(x-F)*R)-(+p[i+176>>2]+ +p[i+64>>2]+((g-y)*w-(f-A)*v)),v=+p[e+180>>2]+ +p[e+68>>2]+((W-B)*R-(T-O)*j)-(+p[i+180>>2]+ +p[i+68>>2]+((d-l)*v-(g-y)*I)),w=+p[e+184>>2]+ +p[e+72>>2]+((x-F)*j-(W-B)*D)-(+p[i+184>>2]+ +p[i+72>>2]+((f-A)*I-(d-l)*w)),u=!(0|_[e+240>>2]),m=!(0|_[i+240>>2]),s=0;do{R=(I=1/+p[t+48+(84*s|0)+80>>2])*(-.30000001192092896*((W-d)*(D=+p[(h=t+48+(84*s|0)|0)>>2])+(x-f)*(j=+p[(S=t+48+(84*s|0)+4|0)>>2])+(T-g)*(R=+p[(k=t+48+(84*s|0)+8|0)>>2]))/o)-I*(C*D+v*j+w*R),p[t+36>>2]=+p[t+36>>2]+R,j=+p[k>>2],D=+p[S>>2],I=+p[h>>2],c=+p[P+344>>2],u||(Z=((x-F)*j-(T-O)*D)*+p[P+296>>2]+((T-O)*I-(W-B)*j)*+p[P+300>>2]+((W-B)*D-(x-F)*I)*+p[P+304>>2],E=((x-F)*j-(T-O)*D)*+p[P+280>>2]+((T-O)*I-(W-B)*j)*+p[P+284>>2]+((W-B)*D-(x-F)*I)*+p[P+288>>2],H=((x-F)*j-(T-O)*D)*+p[P+264>>2]+((T-O)*I-(W-B)*j)*+p[P+268>>2]+((W-B)*D-(x-F)*I)*+p[P+272>>2],Y=R*(D*c)*+p[e+116>>2],U=R*(j*c)*+p[e+120>>2],p[e+64>>2]=R*(I*c)*+p[e+112>>2]+ +p[e+64>>2],p[e+68>>2]=Y+ +p[e+68>>2],p[e+72>>2]=U+ +p[e+72>>2],E*=R*+p[e+100>>2],c=Z*(R*+p[e+104>>2]),p[e+80>>2]=H*(R*+p[e+96>>2])+ +p[e+80>>2],p[e+84>>2]=E+ +p[e+84>>2],p[e+88>>2]=c+ +p[e+88>>2]),c=+p[M+344>>2],m||(Y=((f-A)*j-(g-y)*D)*+p[M+296>>2]+((g-y)*I-(d-l)*j)*+p[M+300>>2]+((d-l)*D-(f-A)*I)*+p[M+304>>2],U=((f-A)*j-(g-y)*D)*+p[M+280>>2]+((g-y)*I-(d-l)*j)*+p[M+284>>2]+((d-l)*D-(f-A)*I)*+p[M+288>>2],Z=((f-A)*j-(g-y)*D)*+p[M+264>>2]+((g-y)*I-(d-l)*j)*+p[M+268>>2]+((d-l)*D-(f-A)*I)*+p[M+272>>2],E=c*+p[S>>2]*-R*+p[i+116>>2],H=c*+p[k>>2]*-R*+p[i+120>>2],p[i+64>>2]=+p[i+112>>2]*(c*+p[h>>2]*-R)+ +p[i+64>>2],p[i+68>>2]=E+ +p[i+68>>2],p[i+72>>2]=H+ +p[i+72>>2],U*=+p[i+100>>2]*-R,Y*=+p[i+104>>2]*-R,p[i+80>>2]=Z*(+p[i+96>>2]*-R)+ +p[i+80>>2],p[i+84>>2]=U+ +p[i+84>>2],p[i+88>>2]=Y+ +p[i+88>>2]),s=s+1|0}while(3!=(0|s))}do{if(0|n[t+552|0])_[r+352>>2]=_[P+4>>2],_[r+352+4>>2]=_[P+4+4>>2],_[r+352+8>>2]=_[P+4+8>>2],_[r+352+12>>2]=_[P+4+12>>2],_[r+352+16>>2]=_[P+20>>2],_[r+352+16+4>>2]=_[P+20+4>>2],_[r+352+16+8>>2]=_[P+20+8>>2],_[r+352+16+12>>2]=_[P+20+12>>2],_[r+352+32>>2]=_[P+36>>2],_[r+352+32+4>>2]=_[P+36+4>>2],_[r+352+32+8>>2]=_[P+36+8>>2],_[r+352+32+12>>2]=_[P+36+12>>2],_[r+352+48>>2]=_[P+52>>2],_[r+352+48+4>>2]=_[P+52+4>>2],_[r+352+48+8>>2]=_[P+52+8>>2],_[r+352+48+12>>2]=_[P+52+12>>2],_[r+288>>2]=_[M+4>>2],_[r+288+4>>2]=_[M+4+4>>2],_[r+288+8>>2]=_[M+4+8>>2],_[r+288+12>>2]=_[M+4+12>>2],_[r+288+16>>2]=_[M+20>>2],_[r+288+16+4>>2]=_[M+20+4>>2],_[r+288+16+8>>2]=_[M+20+8>>2],_[r+288+16+12>>2]=_[M+20+12>>2],_[r+288+32>>2]=_[M+36>>2],_[r+288+32+4>>2]=_[M+36+4>>2],_[r+288+32+8>>2]=_[M+36+8>>2],_[r+288+32+12>>2]=_[M+36+12>>2],_[r+288+48>>2]=_[M+52>>2],_[r+288+48+4>>2]=_[M+52+4>>2],_[r+288+48+8>>2]=_[M+52+8>>2],_[r+288+48+12>>2]=_[M+52+12>>2],Z=+p[e+196>>2]+ +p[e+84>>2],C=+p[e+200>>2]+ +p[e+88>>2],p[r+272>>2]=+p[e+192>>2]+ +p[e+80>>2],p[r+272+4>>2]=Z,p[r+272+8>>2]=C,p[r+272+12>>2]=0,C=+p[i+196>>2]+ +p[i+84>>2],Z=+p[i+200>>2]+ +p[i+88>>2],p[r+256>>2]=+p[i+192>>2]+ +p[i+80>>2],p[r+256+4>>2]=C,p[r+256+8>>2]=Z,p[r+256+12>>2]=0,_[r+192>>2]=1065353216,_[(N=r+192+4|0)>>2]=0,_[N+4>>2]=0,_[N+8>>2]=0,_[N+12>>2]=0,_[r+192+20>>2]=1065353216,_[(L=r+192+24|0)>>2]=0,_[L+4>>2]=0,_[L+8>>2]=0,_[L+12>>2]=0,_[r+192+40>>2]=1065353216,_[(V=r+192+44|0)>>2]=0,_[V+4>>2]=0,_[V+8>>2]=0,_[V+12>>2]=0,_[V+16>>2]=0,Bt(r+352|0,0,0,0,r+272|0,o,r+192|0),_[r+128>>2]=1065353216,_[(V=r+128+4|0)>>2]=0,_[V+4>>2]=0,_[V+8>>2]=0,_[V+12>>2]=0,_[r+128+20>>2]=1065353216,_[(G=r+128+24|0)>>2]=0,_[G+4>>2]=0,_[G+8>>2]=0,_[G+12>>2]=0,_[r+128+40>>2]=1065353216,_[(M=r+128+44|0)>>2]=0,_[M+4>>2]=0,_[M+8>>2]=0,_[M+12>>2]=0,_[M+16>>2]=0,Bt(r+288|0,0,0,0,r+256|0,o,r+128|0),x=(Z=+p[t+556>>2])*(2/(Z*Z+(C=+p[t+560>>2])*C+(U=+p[t+564>>2])*U+(v=+p[t+568>>2])*v)),D=C*(2/(Z*Z+C*C+U*U+v*v)),O=U*(2/(Z*Z+C*C+U*U+v*v)),X=+p[t+364>>2],J=+p[t+368>>2],l=(q=+p[t+372>>2])*(Z*O-v*D)+(J*(Z*D+v*O)+X*(1-(C*D+U*O))),d=q*(C*O+v*x)+(X*(Z*D-v*O)+J*(1-(Z*x+U*O))),A=X*(Z*O+v*D)+J*(C*O-v*x)+q*(1-(Z*x+C*D)),c=+p[t+380>>2],F=+p[t+384>>2],f=(Z*O-v*D)*(I=+p[t+388>>2])+(F*(Z*D+v*O)+c*(1-(C*D+U*O))),y=(C*O+v*x)*I+(c*(Z*D-v*O)+F*(1-(Z*x+U*O))),g=c*(Z*O+v*D)+F*(C*O-v*x)+I*(1-(Z*x+C*D)),H=(1-(C*D+U*O))*(E=+p[t+396>>2])+(Z*D+v*O)*(B=+p[t+400>>2])+(Z*O-v*D)*(j=+p[t+404>>2]),U=(Z*D-v*O)*E+(1-(Z*x+U*O))*B+(C*O+v*x)*j,D=(Z*O+v*D)*E+(C*O-v*x)*B+(1-(Z*x+C*D))*j,C=+p[t+300>>2],x=+p[t+316>>2],Z=+p[t+332>>2],v=+p[t+304>>2],O=+p[t+320>>2],Y=+p[t+336>>2],W=+p[t+308>>2],T=+p[t+324>>2],R=+p[t+340>>2],w=-+p[t+348>>2],it=-+p[t+352>>2],K=-+p[t+356>>2],q=0*X+0*J+0*q+ +p[t+412>>2]+(A*(W*w+T*it+R*K)+(l*(C*w+x*it+Z*K)+d*(v*w+O*it+Y*K))),I=0*c+0*F+0*I+ +p[t+416>>2]+(g*(W*w+T*it+R*K)+(f*(C*w+x*it+Z*K)+y*(v*w+O*it+Y*K))),K=0*E+0*B+0*j+ +p[t+420>>2]+(D*(W*w+T*it+R*K)+(H*(C*w+x*it+Z*K)+U*(v*w+O*it+Y*K))),it=+p[r+128>>2],w=+p[V>>2],j=+p[r+128+8>>2],B=+p[r+128+16>>2],E=+p[r+128+20>>2],F=+p[G>>2],c=+p[r+128+32>>2],J=+p[r+128+36>>2],X=+p[r+128+40>>2],z=j*K+(it*q+w*I)+ +p[r+128+48>>2],tt=B*q+I*E+K*F+ +p[r+128+52>>2],et=q*c+I*J+K*X+ +p[r+128+56>>2],p[r+64>>2]=(l*C+d*v+A*W)*it+(f*C+y*v+g*W)*w+(H*C+U*v+D*W)*j,p[r+64+4>>2]=(l*x+d*O+A*T)*it+(f*x+y*O+g*T)*w+(H*x+U*O+D*T)*j,p[r+64+8>>2]=(l*Z+d*Y+A*R)*it+(f*Z+y*Y+g*R)*w+(H*Z+U*Y+D*R)*j,p[r+64+12>>2]=0,p[r+64+16>>2]=(l*C+d*v+A*W)*B+(f*C+y*v+g*W)*E+(H*C+U*v+D*W)*F,p[r+64+20>>2]=(l*x+d*O+A*T)*B+(f*x+y*O+g*T)*E+(H*x+U*O+D*T)*F,p[r+64+24>>2]=(l*Z+d*Y+A*R)*B+(f*Z+y*Y+g*R)*E+(H*Z+U*Y+D*R)*F,p[r+64+28>>2]=0,p[r+64+32>>2]=(l*C+d*v+A*W)*c+(f*C+y*v+g*W)*J+(H*C+U*v+D*W)*X,p[r+64+36>>2]=(l*x+d*O+A*T)*c+(f*x+y*O+g*T)*J+(H*x+U*O+D*T)*X,p[r+64+40>>2]=(l*Z+d*Y+A*R)*c+(f*Z+y*Y+g*R)*J+(H*Z+U*Y+D*R)*X,p[r+64+44>>2]=0,p[r+64+48>>2]=z,p[r+64+52>>2]=tt,p[r+64+56>>2]=et,p[r+64+60>>2]=0,et=(H*C+U*v+D*W)*-K+((l*C+d*v+A*W)*-q+(f*C+y*v+g*W)*-I),tt=(H*x+U*O+D*T)*-K+((l*x+d*O+A*T)*-q+(f*x+y*O+g*T)*-I),I=(H*Z+U*Y+D*R)*-K+((l*Z+d*Y+A*R)*-q+(f*Z+y*Y+g*R)*-I),q=+p[r+192>>2],K=+p[N>>2],z=+p[r+192+8>>2],X=+p[r+192+16>>2],J=+p[r+192+20>>2],c=+p[L>>2],F=+p[r+192+32>>2],E=+p[r+192+36>>2],B=+p[r+192+40>>2],j=et*q+tt*K+I*z+ +p[r+192+48>>2],w=et*X+tt*J+I*c+ +p[r+192+52>>2],I=et*F+tt*E+I*B+ +p[r+192+56>>2],p[r>>2]=(l*C+d*v+A*W)*q+(l*x+d*O+A*T)*K+(l*Z+d*Y+A*R)*z,p[r+4>>2]=(f*C+y*v+g*W)*q+(f*x+y*O+g*T)*K+(f*Z+y*Y+g*R)*z,p[r+8>>2]=(H*C+U*v+D*W)*q+(H*x+U*O+D*T)*K+(H*Z+U*Y+D*R)*z,p[r+12>>2]=0,p[r+16>>2]=(l*C+d*v+A*W)*X+(l*x+d*O+A*T)*J+(l*Z+d*Y+A*R)*c,p[r+20>>2]=(f*C+y*v+g*W)*X+(f*x+y*O+g*T)*J+(f*Z+y*Y+g*R)*c,p[r+24>>2]=(H*C+U*v+D*W)*X+(H*x+U*O+D*T)*J+(H*Z+U*Y+D*R)*c,p[r+28>>2]=0,p[r+32>>2]=(l*C+d*v+A*W)*F+(l*x+d*O+A*T)*E+(l*Z+d*Y+A*R)*B,p[r+36>>2]=(f*C+y*v+g*W)*F+(f*x+y*O+g*T)*E+(f*Z+y*Y+g*R)*B,p[r+40>>2]=(H*C+U*v+D*W)*F+(H*x+U*O+D*T)*E+(H*Z+U*Y+D*R)*B,p[r+44>>2]=0,p[r+48>>2]=j,p[r+52>>2]=w,p[r+56>>2]=I,p[r+60>>2]=0,$(r+352|0,r+64|0,r+424|0,r+416|0),I=+p[r+416>>2],w=1/o*(+p[r+424>>2]*I),j=1/o*(I*+p[r+424+4>>2]),I=1/o*(I*+p[r+424+8>>2]),$(r+288|0,r,r+424|0,r+416|0),B=+p[r+416>>2],w-=+p[r+272>>2],j-=+p[r+272+4>>2],I-=+p[r+272+8>>2],R=1/o*(+p[r+424>>2]*B)-+p[r+256>>2],D=1/o*(B*+p[r+424+4>>2])-+p[r+256+4>>2],B=1/o*(B*+p[r+424+8>>2])-+p[r+256+8>>2],w*w+j*j+I*I>1.1920928955078125e-7?(C=1/+b(+(w*w+j*j+I*I)),L=0|_[t+28>>2],f=w*C*(w*C*+p[L+264>>2]+j*C*+p[L+280>>2]+I*C*+p[L+296>>2])+j*C*(w*C*+p[L+268>>2]+j*C*+p[L+284>>2]+I*C*+p[L+300>>2])+I*C*(w*C*+p[L+272>>2]+j*C*+p[L+288>>2]+I*C*+p[L+304>>2]),l=w*C,A=j*C,C*=I):(f=0,l=0,A=0,C=0),R*R+D*D+B*B>1.1920928955078125e-7?(g=1/+b(+(R*R+D*D+B*B)),L=0|_[t+32>>2],y=R*g*(R*g*+p[L+264>>2]+D*g*+p[L+280>>2]+B*g*+p[L+296>>2])+D*g*(R*g*+p[L+268>>2]+D*g*+p[L+284>>2]+B*g*+p[L+300>>2])+B*g*(R*g*+p[L+272>>2]+D*g*+p[L+288>>2]+B*g*+p[L+304>>2]),c=R*g,d=D*g,g*=B):(y=0,c=0,d=0,g=0),(v=f*l+y*c)*v+(l=f*A+y*d)*l+(c=f*C+y*g)*c>1.1920928955078125e-7&&(f=1/+b(+(v*v+l*l+c*c)),s=0|_[t+28>>2],d=v*f*(v*f*+p[s+264>>2]+l*f*+p[s+280>>2]+c*f*+p[s+296>>2])+l*f*(v*f*+p[s+268>>2]+l*f*+p[s+284>>2]+c*f*+p[s+300>>2])+c*f*(v*f*+p[s+272>>2]+l*f*+p[s+288>>2]+c*f*+p[s+304>>2]),u=0|_[t+32>>2],R=1/((d+(f=v*f*(v*f*+p[u+264>>2]+l*f*+p[u+280>>2]+c*f*+p[u+296>>2])+l*f*(v*f*+p[u+268>>2]+l*f*+p[u+284>>2]+c*f*+p[u+300>>2])+c*f*(v*f*+p[u+272>>2]+l*f*+p[u+288>>2]+c*f*+p[u+304>>2])))*(d+f))*(w*d-R*f),c=1/((d+f)*(d+f))*(j*d-D*f),f=1/((d+f)*(d+f))*(I*d-B*f),(l=+p[t+572>>2])>=0?(g=0|n[t+553|0]?l/d:l,l=+p[t+576>>2],A=+p[t+580>>2],d=+p[t+584>>2],(y=+b(+((R+l)*(R+l)+(c+A)*(c+A)+(f+d)*(f+d))))>g?(C=A+(g*((c+A)*(1/y))-A),v=d+(g*((f+d)*(1/y))-d),w=l+(g*((R+l)*(1/y))-l),l=g*((R+l)*(1/y))-l,f=g*((f+d)*(1/y))-d,c=g*((c+A)*(1/y))-A):(C=c+A,v=f+d,w=R+l,l=R),p[t+576>>2]=w,p[t+580>>2]=C,p[t+584>>2]=v):l=R,d=l*(1/(A=+b(+(l*l+c*c+f*f)))),l=c*(1/A),c=f*(1/A),0|_[e+240>>2]&&(it=d*+p[s+296>>2]+l*+p[s+300>>2]+c*+p[s+304>>2],et=d*+p[s+280>>2]+l*+p[s+284>>2]+c*+p[s+288>>2],tt=d*+p[s+264>>2]+l*+p[s+268>>2]+c*+p[s+272>>2],K=0*A*+p[e+116>>2],q=0*A*+p[e+120>>2],p[e+64>>2]=0*A*+p[e+112>>2]+ +p[e+64>>2],p[e+68>>2]=K+ +p[e+68>>2],p[e+72>>2]=q+ +p[e+72>>2],et*=A*+p[e+100>>2],it*=A*+p[e+104>>2],p[e+80>>2]=tt*(A*+p[e+96>>2])+ +p[e+80>>2],p[e+84>>2]=et+ +p[e+84>>2],p[e+88>>2]=it+ +p[e+88>>2]),0|_[i+240>>2]&&(it=d*+p[u+296>>2]+l*+p[u+300>>2]+c*+p[u+304>>2],et=d*+p[u+280>>2]+l*+p[u+284>>2]+c*+p[u+288>>2],tt=d*+p[u+264>>2]+l*+p[u+268>>2]+c*+p[u+272>>2],K=-0*A*+p[i+116>>2],q=-0*A*+p[i+120>>2],p[i+64>>2]=-0*A*+p[i+112>>2]+ +p[i+64>>2],p[i+68>>2]=K+ +p[i+68>>2],p[i+72>>2]=q+ +p[i+72>>2],et*=+p[i+100>>2]*-A,it*=+p[i+104>>2]*-A,p[i+80>>2]=tt*(+p[i+96>>2]*-A)+ +p[i+80>>2],p[i+84>>2]=et+ +p[i+84>>2],p[i+88>>2]=it+ +p[i+88>>2])),s=e+192|0,P=e+80|0,u=e+196|0,M=e+84|0,m=e+200|0,V=e+88|0,h=i+192|0,G=i+80|0,S=i+196|0,N=i+84|0,k=i+200|0,L=i+88|0;else{if(!((c=+p[t+440>>2])>1.1920928955078125e-7)){s=e+192|0,P=e+80|0,u=e+196|0,M=e+84|0,m=e+200|0,V=e+88|0,h=i+192|0,G=i+80|0,S=i+196|0,N=i+84|0,k=i+200|0,L=i+88|0;break}C=+p[e+80>>2],v=+p[e+84>>2],w=+p[e+88>>2],(l=+p[i+192>>2]+ +p[i+80>>2]-(+p[e+192>>2]+C))*l+(A=+p[i+196>>2]+ +p[i+84>>2]-(+p[e+196>>2]+v))*A+(y=+p[i+200>>2]+ +p[i+88>>2]-(+p[e+200>>2]+w))*y>1.1920928955078125e-7?(d=l*(c*=1/(l*(f=1/+b(+(l*l+A*A+y*y)))*(l*f*(R=+p[P+264>>2])+A*f*(j=+p[P+280>>2])+y*f*(D=+p[P+296>>2]))+A*f*(l*f*(I=+p[P+268>>2])+A*f*(B=+p[P+284>>2])+y*f*(W=+p[P+300>>2]))+y*f*(l*f*(F=+p[P+272>>2])+A*f*(x=+p[P+288>>2])+y*f*(g=+p[P+304>>2]))+(l*f*(l*f*+p[M+264>>2]+A*f*+p[M+280>>2]+y*f*+p[M+296>>2])+A*f*(l*f*+p[M+268>>2]+A*f*+p[M+284>>2]+y*f*+p[M+300>>2])+y*f*(l*f*+p[M+272>>2]+A*f*+p[M+288>>2]+y*f*+p[M+304>>2]))))*(1/(f=+b(+(y*c*(y*c)+(l*c*(l*c)+A*c*(A*c)))))),l=A*c*(1/f),c=y*c*(1/f),0|_[e+240>>2]&&(Y=0*f*+p[e+116>>2],U=0*f*+p[e+120>>2],p[e+64>>2]=0*f*+p[e+112>>2]+ +p[e+64>>2],p[e+68>>2]=Y+ +p[e+68>>2],p[e+72>>2]=U+ +p[e+72>>2],U=(d*j+l*B+c*x)*(f*+p[e+100>>2]),Y=(d*D+l*W+c*g)*(f*+p[e+104>>2]),p[e+80>>2]=C+(d*R+l*I+c*F)*(f*+p[e+96>>2]),p[e+84>>2]=v+U,p[e+88>>2]=w+Y),0|_[i+240>>2]?(Y=d*+p[M+296>>2]+l*+p[M+300>>2]+c*+p[M+304>>2],U=d*+p[M+280>>2]+l*+p[M+284>>2]+c*+p[M+288>>2],Z=d*+p[M+264>>2]+l*+p[M+268>>2]+c*+p[M+272>>2],E=-0*f*+p[i+116>>2],H=-0*f*+p[i+120>>2],p[i+64>>2]=-0*f*+p[i+112>>2]+ +p[i+64>>2],p[i+68>>2]=E+ +p[i+68>>2],p[i+72>>2]=H+ +p[i+72>>2],U*=+p[i+100>>2]*-f,Y*=+p[i+104>>2]*-f,p[i+80>>2]=Z*(+p[i+96>>2]*-f)+ +p[i+80>>2],p[i+84>>2]=U+ +p[i+84>>2],p[i+88>>2]=Y+ +p[i+88>>2],s=e+192|0,P=e+80|0,u=e+196|0,M=e+84|0,m=e+200|0,V=e+88|0,h=i+192|0,G=i+80|0,S=i+196|0,N=i+84|0,k=i+200|0,L=i+88|0):(s=e+192|0,P=e+80|0,u=e+196|0,M=e+84|0,m=e+200|0,V=e+88|0,h=i+192|0,G=i+80|0,S=i+196|0,N=i+84|0,k=i+200|0,L=i+88|0)):(s=e+192|0,P=e+80|0,u=e+196|0,M=e+84|0,m=e+200|0,V=e+88|0,h=i+192|0,G=i+80|0,S=i+196|0,N=i+84|0,k=i+200|0,L=i+88|0)}}while(0);R=+p[s>>2]+ +p[P>>2],w=+p[u>>2]+ +p[M>>2],v=+p[m>>2]+ +p[V>>2],C=+p[h>>2]+ +p[G>>2],g=+p[S>>2]+ +p[N>>2],y=+p[k>>2]+ +p[L>>2],0|n[t+526|0]&&(c=(l=+p[t+528>>2])*+p[t+504>>2]*+p[t+432>>2]/o,(C-R)*(d=+p[t+460>>2])+(g-w)*(A=+p[t+464>>2])+(y-v)*(f=+p[t+468>>2])>0&&(c+=l*((C-R)*d+(g-w)*A+(y-v)*f)*+p[t+436>>2]),q=(et=+p[t+516>>2])+c*+p[t+492>>2],p[r+424>>2]=q,p[r+416>>2]=0,s=0|_[(q>0?r+424:r+416)>>2],_[t+516>>2]=s,_[a>>2]=s,l=d*(et=+p[a>>2]-et)-(q=+p[t+536>>2])*(d*et*q+A*et*(tt=+p[t+540>>2])+f*et*(c=+p[t+544>>2])),it=A*et-tt*(d*et*q+A*et*tt+f*et*c),l*=1/(c=+b(+((A=f*et-c*(d*et*q+A*et*tt+f*et*c))*A+(l*l+it*it)))),d=it*(1/c),A*=1/c,s=0|_[t+28>>2],0|_[e+240>>2]&&(it=l*+p[s+296>>2]+d*+p[s+300>>2]+A*+p[s+304>>2],et=l*+p[s+280>>2]+d*+p[s+284>>2]+A*+p[s+288>>2],tt=l*+p[s+264>>2]+d*+p[s+268>>2]+A*+p[s+272>>2],K=0*c*+p[e+116>>2],q=0*c*+p[e+120>>2],p[e+64>>2]=0*c*+p[e+112>>2]+ +p[e+64>>2],p[e+68>>2]=K+ +p[e+68>>2],p[e+72>>2]=q+ +p[e+72>>2],et*=c*+p[e+100>>2],it*=c*+p[e+104>>2],p[P>>2]=tt*(c*+p[e+96>>2])+ +p[P>>2],p[M>>2]=et+ +p[M>>2],p[V>>2]=it+ +p[V>>2]),s=0|_[t+32>>2],0|_[i+240>>2]&&(it=l*+p[s+296>>2]+d*+p[s+300>>2]+A*+p[s+304>>2],et=l*+p[s+280>>2]+d*+p[s+284>>2]+A*+p[s+288>>2],tt=l*+p[s+264>>2]+d*+p[s+268>>2]+A*+p[s+272>>2],K=-0*c*+p[i+116>>2],q=-0*c*+p[i+120>>2],p[i+64>>2]=-0*c*+p[i+112>>2]+ +p[i+64>>2],p[i+68>>2]=K+ +p[i+68>>2],p[i+72>>2]=q+ +p[i+72>>2],et*=+p[i+100>>2]*-c,it*=+p[i+104>>2]*-c,p[G>>2]=tt*(+p[i+96>>2]*-c)+ +p[G>>2],p[N>>2]=et+ +p[N>>2],p[L>>2]=it+ +p[L>>2])),0|n[t+525|0]?(A=(f=+p[t+532>>2])*+p[t+508>>2]*+p[t+432>>2]/o,(C-R)*(d=+p[t+476>>2])+(g-w)*(l=+p[t+480>>2])+(y-v)*(c=+p[t+484>>2])>0&&(A+=f*((C-R)*d+(g-w)*l+(y-v)*c)*+p[t+436>>2]),A=(it=+p[t+520>>2])+A*+p[t+496>>2],p[r+424>>2]=A,p[r+416>>2]=0,s=0|_[(A>0?r+424:r+416)>>2],_[t+520>>2]=s,_[a>>2]=s,A=+p[a>>2]-it,s=0|_[t+28>>2],0|_[e+240>>2]&&(it=d*+p[s+296>>2]+l*+p[s+300>>2]+c*+p[s+304>>2],et=d*+p[s+280>>2]+l*+p[s+284>>2]+c*+p[s+288>>2],c=d*+p[s+264>>2]+l*+p[s+268>>2]+c*+p[s+272>>2],d=0*A*+p[e+116>>2],l=0*A*+p[e+120>>2],p[e+64>>2]=0*A*+p[e+112>>2]+ +p[e+64>>2],p[e+68>>2]=d+ +p[e+68>>2],p[e+72>>2]=l+ +p[e+72>>2],l=et*(A*+p[e+100>>2]),d=it*(A*+p[e+104>>2]),p[P>>2]=c*(A*+p[e+96>>2])+ +p[P>>2],p[M>>2]=l+ +p[M>>2],p[V>>2]=d+ +p[V>>2],d=+p[t+476>>2],l=+p[t+480>>2],c=+p[t+484>>2]),s=0|_[t+32>>2],0|_[i+240>>2]?(it=d*+p[s+296>>2]+l*+p[s+300>>2]+c*+p[s+304>>2],et=d*+p[s+280>>2]+l*+p[s+284>>2]+c*+p[s+288>>2],tt=d*+p[s+264>>2]+l*+p[s+268>>2]+c*+p[s+272>>2],K=-0*A*+p[i+116>>2],q=-0*A*+p[i+120>>2],p[i+64>>2]=-0*A*+p[i+112>>2]+ +p[i+64>>2],p[i+68>>2]=K+ +p[i+68>>2],p[i+72>>2]=q+ +p[i+72>>2],et*=+p[i+100>>2]*-A,it*=+p[i+104>>2]*-A,p[G>>2]=tt*(+p[i+96>>2]*-A)+ +p[G>>2],p[N>>2]=et+ +p[N>>2],p[L>>2]=it+ +p[L>>2],Q=r):Q=r):Q=r}else Q=r},function(t,e,i,o){e|=0,i|=0,o=+o;var r,s,c,a=0,l=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;if(c=Q,Q=Q+192|0,y=0|_[4+(t|=0)>>2],(s=+p[y+752>>2])>2],k=0|_[8+(0|_[t+8>>2])>>2],A=+p[i>>2],f=+p[e>>2]*o+A,u=+p[i+4>>2],m=+p[e+4>>2]*o+u,h=+p[i+8>>2],r=+p[e+8>>2]*o+h,(0|w)!=(0|k)?(l=0|_[8+(0|_[t+12>>2])>>2],j=f-+p[l+52>>2],R=m-+p[l+56>>2],v=r-+p[l+60>>2],S=t+12|0,a=k,g=j*+p[l+4>>2]+R*+p[l+20>>2]+v*+p[l+36>>2],C=j*+p[l+8>>2]+R*+p[l+24>>2]+v*+p[l+40>>2],v=j*+p[l+12>>2]+R*+p[l+28>>2]+v*+p[l+44>>2]):(R=f-+p[w+52>>2],j=m-+p[w+56>>2],v=r-+p[w+60>>2],S=t+12|0,a=0|_[8+(0|_[t+12>>2])>>2],g=R*+p[w+4>>2]+j*+p[w+20>>2]+v*+p[w+36>>2],C=R*+p[w+8>>2]+j*+p[w+24>>2]+v*+p[w+40>>2],v=R*+p[w+12>>2]+j*+p[w+28>>2]+v*+p[w+44>>2]),A-=+p[a+52>>2],u-=+p[a+56>>2],j=h-+p[a+60>>2],h=A*+p[a+4>>2]+u*+p[a+20>>2]+j*+p[a+36>>2],R=A*+p[a+8>>2]+u*+p[a+24>>2]+j*+p[a+40>>2],j=A*+p[a+12>>2]+u*+p[a+28>>2]+j*+p[a+44>>2],p[c>>2]=g,p[c+4>>2]=C,p[c+8>>2]=v,p[c+12>>2]=0,p[c+16>>2]=h,p[c+20>>2]=R,p[c+24>>2]=j,p[c+28>>2]=0,_[c+64>>2]=_[e>>2],_[c+64+4>>2]=_[e+4>>2],_[c+64+8>>2]=_[e+8>>2],_[c+64+12>>2]=_[e+12>>2],p[c+80>>2]=o,p[c+84>>2]=0,p[c+88>>2]=0,p[c+92>>2]=0,_[c+112>>2]=0,n[c+116|0]=0,_[c+120>>2]=0,_[c+120+4>>2]=0,_[c+120+8>>2]=0,_[c+120+12>>2]=0,_[c+120+16>>2]=0,_[c+120+20>>2]=0,_[c+120+24>>2]=0,_[c+120+28>>2]=0,p[c+48>>2]=f,p[c+52>>2]=m,p[c+56>>2]=r,p[c+60>>2]=0,_[c+32>>2]=_[i>>2],_[c+32+4>>2]=_[i+4>>2],_[c+32+8>>2]=_[i+8>>2],_[c+32+12>>2]=_[i+12>>2],(0|(l=0|_[y+748>>2]))>0)for(a=-1,i=0,A=s*s;;){if(a=(e=(f=+p[y+4+(184*i|0)>>2]-g)*f+(u=+p[y+4+(184*i|0)+4>>2]-C)*u+(m=+p[y+4+(184*i|0)+8>>2]-v)*m>2])>>2],S=0|_[8+(0|_[S>>2])>>2],A=(A=+p[l+224>>2]*+p[S+224>>2])<-10?-10:A,p[c+84>>2]=A>10?10:A,p[c+92>>2]=+p[l+228>>2]*+p[S+228>>2],A=(A=+p[l+232>>2]*+p[S+232>>2])<-10?-10:A,p[c+88>>2]=A>10?10:A,A=+p[c+72>>2],+d(+A)>.7071067690849304?(h=+p[c+68>>2],f=1/+b(+(A*A+h*h)),u=-(m=+p[c+64>>2])*(h*f),m*=-A*f,o=(A*A+h*h)*f,h*=f,A=-A*f,f=0):(R=+p[c+64>>2],u=A*(-(j=+p[c+68>>2])*(f=1/+b(+(R*R+j*j)))),m=(R*R+j*j)*f,o=R*f*-A,h=0,A=R*f,f*=-j),p[c+152>>2]=f,p[c+156>>2]=A,p[c+160>>2]=h,p[c+168>>2]=o,p[c+172>>2]=u,p[c+176>>2]=m,(0|w)!=(0|k)?(a=t+24|0,e=t+28|0,i=t+16|0,l=t+20|0):(a=t+28|0,e=t+24|0,i=t+20|0,l=t+16|0),a=0|_[a>>2],k=0|_[e>>2],w=0|_[i>>2],_[c+96>>2]=_[l>>2],_[c+100>>2]=w,_[c+104>>2]=k,_[c+108>>2]=a,a=0|_[t+4>>2],(0|y)>-1?(k=0|_[(t=a+4+(184*y|0)+148|0)>>2],D=0|_[(e=a+4+(184*y|0)+120|0)>>2],i=0|_[(l=a+4+(184*y|0)+124|0)>>2],S=0|_[(w=a+4+(184*y|0)+128|0)>>2],B=0|_[(I=a+4+(184*y|0)+112|0)>>2],_e(a+4+(184*y|0)|0,0|c,184),_[I>>2]=B,_[e>>2]=D,_[l>>2]=i,_[w>>2]=S,_[t>>2]=k):X(a,c),Q=c}},function(t,e,i,o){e|=0,i|=0,o=+o;var r,s,c,a,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0;return a=Q,Q=Q+192|0,y=0|_[740+(0|_[4+(t|=0)>>2])>>2],f=0|_[8+(0|_[t+8>>2])>>2],u=+p[i>>2],r=+p[e>>2]*o+u,m=+p[i+4>>2],s=+p[e+4>>2]*o+m,h=+p[i+8>>2],c=+p[e+8>>2]*o+h,(0|y)!=(0|f)?(g=0|_[8+(0|_[t+12>>2])>>2],v=r-+p[g+52>>2],C=s-+p[g+56>>2],A=c-+p[g+60>>2],l=f,d=v*+p[g+4>>2]+C*+p[g+20>>2]+A*+p[g+36>>2],b=v*+p[g+8>>2]+C*+p[g+24>>2]+A*+p[g+40>>2],A=v*+p[g+12>>2]+C*+p[g+28>>2]+A*+p[g+44>>2]):(C=r-+p[y+52>>2],v=s-+p[y+56>>2],A=c-+p[y+60>>2],l=0|_[8+(0|_[t+12>>2])>>2],d=C*+p[y+4>>2]+v*+p[y+20>>2]+A*+p[y+36>>2],b=C*+p[y+8>>2]+v*+p[y+24>>2]+A*+p[y+40>>2],A=C*+p[y+12>>2]+v*+p[y+28>>2]+A*+p[y+44>>2]),u-=+p[l+52>>2],m-=+p[l+56>>2],v=h-+p[l+60>>2],h=u*+p[l+4>>2]+m*+p[l+20>>2]+v*+p[l+36>>2],C=u*+p[l+8>>2]+m*+p[l+24>>2]+v*+p[l+40>>2],v=u*+p[l+12>>2]+m*+p[l+28>>2]+v*+p[l+44>>2],p[a>>2]=d,p[a+4>>2]=b,p[a+8>>2]=A,p[a+12>>2]=0,p[a+16>>2]=h,p[a+20>>2]=C,p[a+24>>2]=v,p[a+28>>2]=0,_[a+64>>2]=_[e>>2],_[a+64+4>>2]=_[e+4>>2],_[a+64+8>>2]=_[e+8>>2],_[a+64+12>>2]=_[e+12>>2],p[a+80>>2]=o,p[a+84>>2]=0,p[a+88>>2]=0,p[a+92>>2]=0,_[a+112>>2]=0,n[a+116|0]=0,_[a+120>>2]=0,_[a+120+4>>2]=0,_[a+120+8>>2]=0,_[a+120+12>>2]=0,_[a+120+16>>2]=0,_[a+120+20>>2]=0,_[a+120+24>>2]=0,_[a+120+28>>2]=0,p[a+48>>2]=r,p[a+52>>2]=s,p[a+56>>2]=c,p[a+60>>2]=0,_[a+32>>2]=_[i>>2],_[a+32+4>>2]=_[i+4>>2],_[a+32+8>>2]=_[i+8>>2],_[a+32+12>>2]=_[i+12>>2],(0|y)!=(0|f)?(e=t+28|0,i=t+16|0,l=t+20|0,g=0|_[(g=t+24|0)>>2],e=0|_[e>>2],i=0|_[i>>2],l=0|_[l>>2],_[(w=a+96|0)>>2]=l,_[(w=a+100|0)>>2]=i,_[(w=a+104|0)>>2]=e,_[(w=a+108|0)>>2]=g,w=t+12|0,S=0|_[(S=(0|y)!=(0|f)?w:t+8|0)>>2],y=0|_[(y=(0|y)!=(0|f)?t+8|0:w)>>2],f=0|_[(f=t+32|0)>>2],t=0|_[f>>2],t=0|_[(t=t+12|0)>>2],Pl[1&t](f,a,S,l,e,y,i,g),void(Q=a)):(i=t+24|0,S=t+20|0,e=t+16|0,w=0|_[(w=t+28|0)>>2],i=0|_[i>>2],S=0|_[S>>2],e=0|_[e>>2],_[(g=a+96|0)>>2]=e,_[(g=a+100|0)>>2]=S,_[(g=a+104|0)>>2]=i,_[(g=a+108|0)>>2]=w,g=t+12|0,l=0|_[(l=(0|y)!=(0|f)?g:t+8|0)>>2],g=0|_[(g=(0|y)!=(0|f)?t+8|0:g)>>2],y=0|_[(y=t+32|0)>>2],f=0|_[y>>2],f=0|_[(f=f+12|0)>>2],Pl[1&f](y,a,l,e,i,g,S,w),void(Q=a))},Ms,function(t,e,i,o){var r,s,c,a;if(e|=0,i|=0,o=+o,r=Q,Q=Q+16|0,p[32+(t|=0)>>2]=o,_[t+8>>2]=_[e>>2],_[t+8+4>>2]=_[e+4>>2],_[t+8+8>>2]=_[e+8>>2],_[t+8+12>>2]=_[e+12>>2],s=+p[t+28>>2],a=+p[i+4>>2]-s*+p[e+4>>2],c=+p[i+8>>2]-s*+p[e+8>>2],p[r>>2]=+p[i>>2]-+p[e>>2]*s,p[r+4>>2]=a,p[r+8>>2]=c,p[r+12>>2]=0,o=s+ +p[t+24>>2]+o,p[t+32>>2]=o,!(o<0))return t=0|_[(t=t+4|0)>>2],i=0|_[t>>2],i=0|_[(i=i+16|0)>>2],rd[15&i](t,e,r,o),void(Q=r);n[t+36|0]=1,t=0|_[(t=t+4|0)>>2],i=0|_[t>>2],i=0|_[(i=i+16|0)>>2],rd[15&i](t,e,r,o),Q=r},function(t,e,i,o){t|=0,i|=0,o=+o;var r,s,c,a,l,d,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0;return d=Q,Q=Q+16|0,b=+p[(e|=0)>>2],s=+p[e+4>>2],c=+p[e+8>>2],a=+p[i>>2],l=+p[i+4>>2],r=+p[i+8>>2],0|n[t+228|0]?(w=+p[t+36>>2],j=+p[t+52>>2],C=+p[t+68>>2],k=+p[t+40>>2],I=+p[t+56>>2],v=+p[t+72>>2],R=+p[t+44>>2],W=+p[t+60>>2],S=+p[t+76>>2],h=-+p[t+84>>2],y=-+p[t+88>>2],g=-+p[t+92>>2],A=+p[t+164>>2],f=+p[t+168>>2],F=+p[t+172>>2],u=+p[t+180>>2],m=+p[t+184>>2],x=+p[t+188>>2],D=+p[t+196>>2],B=+p[t+200>>2],O=+p[t+204>>2],F=(c*o+r)*(C*A+v*f+S*F)+((b*o+a)*(w*A+k*f+R*F)+(s*o+l)*(j*A+I*f+W*F))+(A*(w*h+j*y+C*g)+(k*h+I*y+v*g)*f+(R*h+W*y+S*g)*F+ +p[t+212>>2]),x=(c*o+r)*(C*u+v*m+S*x)+((b*o+a)*(w*u+k*m+R*x)+(s*o+l)*(j*u+I*m+W*x))+((w*h+j*y+C*g)*u+(k*h+I*y+v*g)*m+(R*h+W*y+S*g)*x+ +p[t+216>>2]),O=(w*h+j*y+C*g)*D+(k*h+I*y+v*g)*B+(R*h+W*y+S*g)*O+ +p[t+220>>2]+((c*o+r)*(C*D+v*B+S*O)+((b*o+a)*(w*D+k*B+R*O)+(s*o+l)*(j*D+I*B+W*O))),p[d>>2]=F+b*(b*(F-a)+s*(x-l)+c*(O-r)),p[d+4>>2]=x+s*(b*(F-a)+s*(x-l)+c*(O-r)),p[d+8>>2]=O+c*(b*(F-a)+s*(x-l)+c*(O-r)),O=b*(F-a)+s*(x-l)+c*(O-r),p[(i=d+12|0)>>2]=0,t=0|_[(t=t+32|0)>>2],i=0|_[t>>2],i=0|_[(i=i+16|0)>>2],rd[15&i](t,e,d,O),void(Q=d)):(w=+p[t+100>>2],C=+p[t+116>>2],j=+p[t+132>>2],S=+p[t+104>>2],y=+p[t+120>>2],R=+p[t+136>>2],v=+p[t+108>>2],m=+p[t+124>>2],k=+p[t+140>>2],B=-+p[t+148>>2],I=-+p[t+152>>2],D=-+p[t+156>>2],O=+p[t+164>>2],x=+p[t+168>>2],u=+p[t+172>>2],F=+p[t+180>>2],W=+p[t+184>>2],f=+p[t+188>>2],g=+p[t+196>>2],h=+p[t+200>>2],A=+p[t+204>>2],u=r*(j*O+R*x+k*u)+(a*(w*O+S*x+v*u)+l*(C*O+y*x+m*u))+(O*(w*B+C*I+j*D)+(S*B+y*I+R*D)*x+(v*B+m*I+k*D)*u+ +p[t+212>>2]),f=r*(j*F+R*W+k*f)+(a*(w*F+S*W+v*f)+l*(C*F+y*W+m*f))+((w*B+C*I+j*D)*F+(S*B+y*I+R*D)*W+(v*B+m*I+k*D)*f+ +p[t+216>>2]),A=(w*B+C*I+j*D)*g+(S*B+y*I+R*D)*h+(v*B+m*I+k*D)*A+ +p[t+220>>2]+(r*(j*g+R*h+k*A)+(a*(w*g+S*h+v*A)+l*(C*g+y*h+m*A))),p[d>>2]=u,p[d+4>>2]=f,p[d+8>>2]=A,b=b*(b*o+a-u)+s*(s*o+l-f)+c*(c*o+r-A),p[(i=d+12|0)>>2]=0,t=0|_[(t=t+32|0)>>2],i=0|_[t>>2],i=0|_[(i=i+16|0)>>2],rd[15&i](t,e,d,b),void(Q=d))},function(t,e,i,o){e|=0,i|=0,o=+o,_[4+(t|=0)>>2]=_[e>>2],_[t+4+4>>2]=_[e+4>>2],_[t+4+8>>2]=_[e+8>>2],_[t+4+12>>2]=_[e+12>>2],_[t+20>>2]=_[i>>2],_[t+20+4>>2]=_[i+4>>2],_[t+20+8>>2]=_[i+8>>2],_[t+20+12>>2]=_[i+12>>2],p[t+36>>2]=o,n[t+40|0]=1},function(t,e,i,o){e|=0,i|=0,o=+o,+p[36+(t|=0)>>2]>o&&(n[t+40|0]=1,_[t+4>>2]=_[e>>2],_[t+4+4>>2]=_[e+4>>2],_[t+4+8>>2]=_[e+8>>2],_[t+4+12>>2]=_[e+12>>2],_[t+20>>2]=_[i>>2],_[t+20+4>>2]=_[i+4>>2],_[t+20+8>>2]=_[i+8>>2],_[t+20+12>>2]=_[i+12>>2],p[t+36>>2]=o)},Ra,Ra,Ra,Ra,Ra,Ra],sd=[function(t,e,i,n,o,_){n=+n,v(32)},function(t,e,i,n,o,_){O(1,0|(t|=0),0|(e|=0),0|(i|=0),+(n=+n),0|(o|=0),0|(_|=0))}],pd=[ra,function(t,e,i,n){T(0,0|(t|=0),0|(e|=0),0|(i|=0),0|(n|=0))},function(t,e,i,n){t|=0,e|=0,n|=0;var o,r=0,s=0,c=0,a=0;for(o=Q,Q=Q+224|0,Fo(o+192|0,+p[(i|=0)>>2],+p[i+4>>2],+p[i+8>>2],+p[e>>2],+p[e+4>>2],+p[e+8>>2]),Vo(o+208|0,+p[o+192>>2],+p[o+192+4>>2],+p[o+192+8>>2],.5),Bo(o+160|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2],+p[e>>2],+p[e+4>>2],+p[e+8>>2]),Vo(o+176|0,+p[o+160>>2],+p[o+160+4>>2],+p[o+160+8>>2],.5),p[o+136>>2]=1,p[o+132>>2]=1,p[o+128>>2]=1,R_(o+144|0,o+136|0,o+132|0,o+128|0),i=0;4!=(0|i);){for(e=0;3!=(0|e);)s=0|Cl(o+144|0),a=+p[s>>2],r=0|Cl(o+208|0),p[o+72>>2]=a*+p[r>>2],p[o+68>>2]=+p[s+4>>2]*+p[r+4>>2],p[o+64>>2]=+p[s+8>>2]*+p[r+8>>2],R_(o+80|0,o+72|0,o+68|0,o+64|0),_[o+112>>2]=_[o+80>>2],_[o+112+4>>2]=_[o+80+4>>2],_[o+112+8>>2]=_[o+80+8>>2],_[o+112+12>>2]=_[o+80+12>>2],c_(o+112|0,o+176|0),p[(c=s+((e>>>0)%3<<2)|0)>>2]=-+p[c>>2],p[o+40>>2]=+p[s>>2]*+p[r>>2],p[o+36>>2]=+p[s+4>>2]*+p[r+4>>2],p[o+32>>2]=+p[s+8>>2]*+p[r+8>>2],R_(o+48|0,o+40|0,o+36|0,o+32|0),_[o+96>>2]=_[o+48>>2],_[o+96+4>>2]=_[o+48+4>>2],_[o+96+8>>2]=_[o+48+8>>2],_[o+96+12>>2]=_[o+48+12>>2],c_(o+96|0,o+176|0),pd[127&_[8+(0|_[t>>2])>>2]](t,o+112|0,o+96|0,n),e=e+1|0;p[o+8>>2]=-1,p[o+4>>2]=-1,p[o>>2]=-1,R_(o+16|0,o+8|0,o+4|0,o),_[o+144>>2]=_[o+16>>2],_[o+144+4>>2]=_[o+16+4>>2],_[o+144+8>>2]=_[o+16+8>>2],_[o+144+12>>2]=_[o+16+12>>2],i>>>0<3&&(c=(0|Cl(o+144|0))+(i<<2)|0,p[c>>2]=-+p[c>>2]),i=i+1|0}Q=o},function(t,e,i,n){var o,r,s;e|=0,i|=0,n|=0,o=Q,Q=Q+384|0,s=0|_[8+(0|_[(t|=0)>>2])>>2],R_(o+368|0,r=0|Cl(e),r+4|0,r+8|0),R_(o+352|0,e=0|Cl(i),r+4|0,r+8|0),pd[127&s](t,o+368|0,o+352|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+336|0,e,r+4|0,r+8|0),R_(o+320|0,e,e+4|0,r+8|0),pd[127&i](t,o+336|0,o+320|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+304|0,e,e+4|0,r+8|0),R_(o+288|0,r,e+4|0,r+8|0),pd[127&i](t,o+304|0,o+288|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+272|0,r,e+4|0,r+8|0),R_(o+256|0,r,r+4|0,r+8|0),pd[127&i](t,o+272|0,o+256|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+240|0,r,r+4|0,r+8|0),R_(o+224|0,r,r+4|0,e+8|0),pd[127&i](t,o+240|0,o+224|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+208|0,e,r+4|0,r+8|0),R_(o+192|0,e,r+4|0,e+8|0),pd[127&i](t,o+208|0,o+192|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+176|0,e,e+4|0,r+8|0),R_(o+160|0,e,e+4|0,e+8|0),pd[127&i](t,o+176|0,o+160|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+144|0,r,e+4|0,r+8|0),R_(o+128|0,r,e+4|0,e+8|0),pd[127&i](t,o+144|0,o+128|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+112|0,r,r+4|0,e+8|0),R_(o+96|0,e,r+4|0,e+8|0),pd[127&i](t,o+112|0,o+96|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+80|0,e,r+4|0,e+8|0),R_(o+64|0,e,e+4|0,e+8|0),pd[127&i](t,o+80|0,o+64|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+48|0,e,e+4|0,e+8|0),R_(o+32|0,r,e+4|0,e+8|0),pd[127&i](t,o+48|0,o+32|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+16|0,r,e+4|0,e+8|0),R_(o,r,r+4|0,e+8|0),pd[127&i](t,o+16|0,o,n),Q=o},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,d,b,A,f,u,m,h,y,g,C=0,v=0,S=0,w=0;o=Q,Q=Q+128|0,t=0|_[16+(t|=0)>>2],c=+p[t+892>>2],y=+p[t+896>>2],g=+p[t+900>>2],h=+p[t+908>>2],r=+p[t+912>>2],v=+p[t+916>>2],m=+p[e>>2],u=+p[e+4>>2],f=+p[e+8>>2],b=+p[e+16>>2],d=+p[e+20>>2],l=+p[e+24>>2],s=+p[e+32>>2],C=+p[e+36>>2],S=+p[e+40>>2],A=+p[e+48>>2],a=+p[e+52>>2],w=+p[e+56>>2],p[o>>2]=c*m+y*u+g*f+A,p[o+4>>2]=c*b+y*d+g*l+a,p[o+8>>2]=c*s+y*C+g*S+w,p[o+12>>2]=0,p[o+16>>2]=h*m+y*u+g*f+A,p[o+20>>2]=h*b+y*d+g*l+a,p[o+24>>2]=h*s+y*C+g*S+w,p[o+28>>2]=0,p[o+32>>2]=h*m+r*u+g*f+A,p[o+36>>2]=h*b+r*d+g*l+a,p[o+40>>2]=h*s+r*C+g*S+w,p[o+44>>2]=0,p[o+48>>2]=c*m+r*u+g*f+A,p[o+52>>2]=c*b+r*d+g*l+a,p[o+56>>2]=c*s+r*C+g*S+w,p[o+60>>2]=0,p[o+64>>2]=c*m+y*u+v*f+A,p[o+68>>2]=c*b+y*d+v*l+a,p[o+72>>2]=c*s+y*C+v*S+w,p[o+76>>2]=0,p[o+80>>2]=h*m+y*u+v*f+A,p[o+84>>2]=h*b+y*d+v*l+a,p[o+88>>2]=h*s+y*C+v*S+w,p[o+92>>2]=0,p[o+96>>2]=h*m+r*u+v*f+A,p[o+100>>2]=h*b+r*d+v*l+a,p[o+104>>2]=h*s+r*C+v*S+w,p[o+108>>2]=0,p[o+112>>2]=c*m+r*u+v*f+A,p[o+116>>2]=c*b+r*d+v*l+a,p[o+120>>2]=c*s+r*C+v*S+w,p[o+124>>2]=0,_[n>>2]=_[o>>2],_[n+4>>2]=_[o+4>>2],_[n+8>>2]=_[o+8>>2],_[n+12>>2]=_[o+12>>2],_[i>>2]=_[o>>2],_[i+4>>2]=_[o+4>>2],_[i+8>>2]=_[o+8>>2],_[i+12>>2]=_[o+12>>2],t=1;do{(C=+p[o+(t<<4)>>2])<+p[i>>2]&&(p[i>>2]=C),(v=+p[o+(t<<4)+4>>2])<+p[i+4>>2]&&(p[i+4>>2]=v),(S=+p[o+(t<<4)+8>>2])<+p[i+8>>2]&&(p[i+8>>2]=S),(w=+p[o+(t<<4)+12>>2])<+p[i+12>>2]&&(p[i+12>>2]=w),+p[n>>2]>2]=C),+p[n+4>>2]>2]=v),+p[n+8>>2]>2]=S),+p[n+12>>2]>2]=w),t=t+1|0}while(8!=(0|t));Q=o},rp,rp,rp,function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;r=Q,Q=Q+80|0,o=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),s=0;do{f=r+64+(s<<2)|0,_[r+64>>2]=0,_[r+64+4>>2]=0,_[r+64+8>>2]=0,_[r+64+12>>2]=0,p[f>>2]=1,c=0|_[64+(0|_[t>>2])>>2],a=+p[r+64>>2],l=+p[r+64+4>>2],d=+p[r+64+8>>2],b=a*+p[e+4>>2]+l*+p[e+20>>2]+d*+p[e+36>>2],A=a*+p[e+8>>2]+l*+p[e+24>>2]+d*+p[e+40>>2],p[r+32>>2]=+p[e>>2]*a+ +p[e+16>>2]*l+ +p[e+32>>2]*d,p[r+32+4>>2]=b,p[r+32+8>>2]=A,p[r+32+12>>2]=0,_d[127&c](r+48|0,t,r+32|0),A=+p[r+48>>2],b=+p[r+48+4>>2],d=+p[r+48+8>>2],l=A*+p[e+16>>2]+b*+p[e+20>>2]+d*+p[e+24>>2]+ +p[e+52>>2],a=A*+p[e+32>>2]+b*+p[e+36>>2]+d*+p[e+40>>2]+ +p[e+56>>2],p[r+32>>2]=A*+p[e>>2]+b*+p[e+4>>2]+d*+p[e+8>>2]+ +p[e+48>>2],p[r+32+4>>2]=l,p[r+32+8>>2]=a,p[r+32+12>>2]=0,c=r+32+(s<<2)|0,p[n+(s<<2)>>2]=o+ +p[c>>2],p[f>>2]=-1,f=0|_[64+(0|_[t>>2])>>2],a=+p[r+64>>2],l=+p[r+64+4>>2],d=+p[r+64+8>>2],b=a*+p[e+4>>2]+l*+p[e+20>>2]+d*+p[e+36>>2],A=a*+p[e+8>>2]+l*+p[e+24>>2]+d*+p[e+40>>2],p[r>>2]=+p[e>>2]*a+ +p[e+16>>2]*l+ +p[e+32>>2]*d,p[r+4>>2]=b,p[r+8>>2]=A,p[r+12>>2]=0,_d[127&f](r+16|0,t,r),A=+p[r+16>>2],b=+p[r+16+4>>2],d=+p[r+16+8>>2],l=A*+p[e+16>>2]+b*+p[e+20>>2]+d*+p[e+24>>2]+ +p[e+52>>2],a=A*+p[e+32>>2]+b*+p[e+36>>2]+d*+p[e+40>>2]+ +p[e+56>>2],p[r+32>>2]=A*+p[e>>2]+b*+p[e+4>>2]+d*+p[e+8>>2]+ +p[e+48>>2],p[r+32+4>>2]=l,p[r+32+8>>2]=a,p[r+32+12>>2]=0,p[i+(s<<2)>>2]=+p[c>>2]-o,s=s+1|0}while(3!=(0|s));Q=r},ot,U_,function(t,e,i,n){t|=0,e|=0,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0;if(!((0|(n|=0))<=0)){o=0;do{b=+p[e+(o<<4)>>2],d=+p[e+(o<<4)+4>>2],c=+p[e+(o<<4)+8>>2],a=b*+p[t+56>>2]+d*+p[t+60>>2]+c*+p[t+64>>2],l=b*+p[t+72>>2]+d*+p[t+76>>2]+c*+p[t+80>>2],c=b*+p[t+88>>2]+d*+p[t+92>>2]+c*+p[t+96>>2],s=t+56+((a>2]=_[s>>2],_[r+4>>2]=_[s+4>>2],_[r+8>>2]=_[s+8>>2],_[r+12>>2]=_[s+12>>2],o=o+1|0}while((0|o)!=(0|n))}},function(t,e,i,n){e|=0,i|=0,n|=0,_d[127&_[108+(0|_[(t|=0)>>2])>>2]](t,e,i),_d[127&_[108+(0|_[t>>2])>>2]](t,(e+1|0)%3|0,n)},function(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[124+(0|_[(t|=0)>>2])>>2]](t,n,e,i)},function(t,e,i,n){i|=0,n|=0;var o,r,s,c,a=0,l=0,d=0;a=+p[56+(t|=0)>>2],s=+p[t+72>>2]-a,l=+p[t+60>>2],r=+p[t+76>>2]-l,d=+p[t+64>>2],c=+p[t+80>>2]-d,a=+p[t+88>>2]-a,l=+p[t+92>>2]-l,d=+p[t+96>>2]-d,p[i+12>>2]=0,o=1/+b(+((s*l-r*a)*(s*l-r*a)+((r*d-c*l)*(r*d-c*l)+(c*a-s*d)*(c*a-s*d)))),p[i>>2]=(r*d-c*l)*o,p[i+4>>2]=(c*a-s*d)*o,p[i+8>>2]=(s*l-r*a)*o,_[n>>2]=_[t+56>>2],_[n+4>>2]=_[t+56+4>>2],_[n+8>>2]=_[t+56+8>>2],_[n+12>>2]=_[t+56+12>>2]},function(t,e,i,o){e|=0,i|=0,o|=0;var r,s,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;r=Q,Q=Q+144|0,A=0|_[48+(t|=0)>>2],0|(l=0|_[t+52>>2])&&0|(d=0|_[l+20>>2])&&1&Gl[127&_[48+(0|_[d>>2])>>2]](d)&&(_[r>>2]=1065353216,_[r+4>>2]=1065353216,_[r+8>>2]=0,p[r+12>>2]=0,d=0|_[t+8>>2],h=0|_[20+(0|_[t+52>>2])>>2],m=0|_[8+(0|_[h>>2])>>2],y=+p[e>>2],j=+p[e+4>>2],g=+p[e+8>>2],k=+p[d+20>>2],C=+p[d+24>>2],D=+p[d+28>>2],v=+p[d+36>>2],B=+p[d+40>>2],S=+p[d+44>>2],w=+p[d+52>>2],I=+p[d+56>>2],R=+p[d+60>>2],p[r+120>>2]=y*+p[d+4>>2]+j*+p[d+8>>2]+g*+p[d+12>>2]+w,p[r+120+4>>2]=y*k+j*C+g*D+I,p[r+120+8>>2]=y*v+j*B+g*S+R,p[r+120+12>>2]=0,g=+p[e+16>>2],j=+p[e+20>>2],y=+p[e+24>>2],p[r+96>>2]=w+(g*+p[d+4>>2]+j*+p[d+8>>2]+y*+p[d+12>>2]),p[r+96+4>>2]=I+(k*g+C*j+D*y),p[r+96+8>>2]=R+(v*g+B*j+S*y),p[r+96+12>>2]=0,pd[127&m](h,r+120|0,r+96|0,r),h=0|_[20+(0|_[t+52>>2])>>2],m=0|_[8+(0|_[h>>2])>>2],y=+p[e+16>>2],S=+p[e+20>>2],j=+p[e+24>>2],B=+p[d+20>>2],g=+p[d+24>>2],v=+p[d+28>>2],R=+p[d+36>>2],D=+p[d+40>>2],C=+p[d+44>>2],k=+p[d+52>>2],I=+p[d+56>>2],w=+p[d+60>>2],p[r+120>>2]=y*+p[d+4>>2]+S*+p[d+8>>2]+j*+p[d+12>>2]+k,p[r+120+4>>2]=y*B+S*g+j*v+I,p[r+120+8>>2]=y*R+S*D+j*C+w,p[r+120+12>>2]=0,j=+p[e+32>>2],S=+p[e+36>>2],y=+p[e+40>>2],p[r+96>>2]=k+(j*+p[d+4>>2]+S*+p[d+8>>2]+y*+p[d+12>>2]),p[r+96+4>>2]=I+(B*j+g*S+v*y),p[r+96+8>>2]=w+(R*j+D*S+C*y),p[r+96+12>>2]=0,pd[127&m](h,r+120|0,r+96|0,r),h=0|_[20+(0|_[t+52>>2])>>2],m=0|_[8+(0|_[h>>2])>>2],y=+p[e+32>>2],C=+p[e+36>>2],S=+p[e+40>>2],D=+p[d+20>>2],j=+p[d+24>>2],R=+p[d+28>>2],w=+p[d+36>>2],v=+p[d+40>>2],g=+p[d+44>>2],B=+p[d+52>>2],I=+p[d+56>>2],k=+p[d+60>>2],p[r+120>>2]=y*+p[d+4>>2]+C*+p[d+8>>2]+S*+p[d+12>>2]+B,p[r+120+4>>2]=y*D+C*j+S*R+I,p[r+120+8>>2]=y*w+C*v+S*g+k,p[r+120+12>>2]=0,S=+p[e>>2],C=+p[e+4>>2],y=+p[e+8>>2],p[r+96>>2]=B+(S*+p[d+4>>2]+C*+p[d+8>>2]+y*+p[d+12>>2]),p[r+96+4>>2]=I+(D*S+j*C+R*y),p[r+96+8>>2]=k+(w*S+v*C+g*y),p[r+96+12>>2]=0,pd[127&m](h,r+120|0,r+96|0,r)),l=9*((i<<21|o)+~(o<<15)>>10^(i<<21|o)+~(o<<15))|0,l^=l>>6,l=(0|_[t+108>>2])-1&(l+~(l<<11)>>16^l+~(l<<11));t:do{if(l>>>0<(0|_[t+64>>2])>>>0&&(c=0|_[(0|_[t+72>>2])+(l<<2)>>2],-1!=(0|c))){for(l=0|_[t+132>>2];(i<<21|o)!=(0|_[l+(c<<2)>>2]);)if(-1==(0|(c=0|_[(0|_[t+92>>2])+(c<<2)>>2])))break t;if((l=0|_[t+112>>2])+(c<<3)|0)return m=0|_[l+(c<<3)+4>>2],h=0|_[t+8>>2],_[m+8>>2]=_[8+(0|_[h+192>>2])>>2],u=0|_[t+4>>2],f=0|_[u+192>>2],_[r>>2]=0,_[r+4>>2]=f,_[r+8>>2]=u,_[r+12>>2]=u+4,_[r+16>>2]=-1,_[r+20>>2]=-1,_[r+120>>2]=0,_[r+120+4>>2]=m,_[r+120+8>>2]=h,_[r+120+12>>2]=h+4,_[r+120+16>>2]=i,_[r+120+20>>2]=o,h=0|Hl[31&_[8+(0|_[A>>2])>>2]](A,r,r+120|0,0),dd[31&_[8+(0|_[h>>2])>>2]](h,r,r+120|0,0|_[t+52>>2],0|_[t+44>>2]),Xl[511&_[_[h>>2]>>2]](h),ed[127&_[60+(0|_[A>>2])>>2]](A,h),void(Q=r)}}while(0);C=+p[e+16>>2],s=+p[e>>2],v=+p[e+20>>2],y=+p[e+4>>2],S=+p[e+24>>2],g=+p[e+8>>2],w=+p[e+32>>2],R=+p[e+36>>2],D=+p[e+40>>2],B=1/+b(+((I=(C-s)*(R-y)-(v-y)*(w-s))*I+((k=(v-y)*(D-g)-(S-g)*(R-y))*k+(j=(S-g)*(w-s)-(C-s)*(D-g))*j))),p[r>>2]=s+k*B*.05999999865889549,p[r+4>>2]=y+j*B*.05999999865889549,p[r+8>>2]=g+I*B*.05999999865889549,p[r+12>>2]=0,p[r+16>>2]=C+k*B*.05999999865889549,p[r+20>>2]=v+j*B*.05999999865889549,p[r+24>>2]=S+I*B*.05999999865889549,p[r+28>>2]=0,p[r+32>>2]=w+k*B*.05999999865889549,p[r+36>>2]=R+j*B*.05999999865889549,p[r+40>>2]=D+I*B*.05999999865889549,p[r+44>>2]=0,p[r+48>>2]=s-k*B*.05999999865889549,p[r+52>>2]=y-j*B*.05999999865889549,p[r+56>>2]=g-I*B*.05999999865889549,p[r+60>>2]=0,p[r+64>>2]=C-k*B*.05999999865889549,p[r+68>>2]=v-j*B*.05999999865889549,p[r+72>>2]=S-I*B*.05999999865889549,p[r+76>>2]=0,p[r+80>>2]=w-k*B*.05999999865889549,p[r+84>>2]=R-j*B*.05999999865889549,p[r+88>>2]=D-I*B*.05999999865889549,p[r+92>>2]=0,_[6630]=1+(0|_[6630]),(c=0|di(131))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,ft(c,r,6,16),h=0|_[t+8>>2],_[c+8>>2]=_[8+(0|_[h+192>>2])>>2],m=0|_[t+4>>2],e=0|_[m+192>>2],_[r+120>>2]=0,_[r+120+4>>2]=e,_[r+120+8>>2]=m,_[r+120+12>>2]=m+4,_[r+120+16>>2]=-1,_[r+120+20>>2]=-1,_[r+96>>2]=0,_[r+96+4>>2]=c,_[r+96+8>>2]=h,_[r+96+12>>2]=h+4,_[r+96+16>>2]=i,_[r+96+20>>2]=o,h=0|Hl[31&_[8+(0|_[A>>2])>>2]](A,r+120|0,r+96|0,0),dd[31&_[8+(0|_[h>>2])>>2]](h,r+120|0,r+96|0,0|_[t+52>>2],0|_[t+44>>2]),Xl[511&_[_[h>>2]>>2]](h),ed[127&_[60+(0|_[A>>2])>>2]](A,h),h=9*((i<<21|o)+~(o<<15)>>10^(i<<21|o)+~(o<<15))|0,h=(h^=h>>6)+~(h<<11)>>16^h+~(h<<11),A=0|_[t+108>>2];t:do{if((h&A+-1)>>>0<(0|_[t+64>>2])>>>0&&(a=0|_[(0|_[t+72>>2])+((h&A+-1)<<2)>>2],-1!=(0|a))){for(l=0|_[t+132>>2];(i<<21|o)!=(0|_[l+(a<<2)>>2]);)if(-1==(0|(a=0|_[(0|_[t+92>>2])+(a<<2)>>2]))){f=20;break t}t=0|_[t+112>>2],_[t+(a<<3)>>2]=i<<21|o,_[t+(a<<3)+4>>2]=c}else f=20}while(0);if(20==(0|f)){if((0|(m=0|_[t+104>>2]))==(0|A))if((0|A)<(0|(e=0|A?A<<1:1))){if(e?(_[6630]=1+(0|_[6630]),(a=0|di(16+(e<<3|3)|0))?(_[(a+4+15&-16)-4>>2]=a,a=a+4+15&-16):a=0,d=0|_[t+104>>2]):(a=0,d=A),(0|d)>0){l=0;do{x=(0|_[t+112>>2])+(l<<3)|0,F=0|_[x+4>>2],_[(W=a+(l<<3)|0)>>2]=_[x>>2],_[W+4>>2]=F,l=l+1|0}while((0|l)!=(0|d))}0|(l=0|_[t+112>>2])&&(0|n[t+116|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+112>>2]=0),n[t+116|0]=1,_[t+112>>2]=a,_[t+108>>2]=e,a=0|_[t+104>>2]}else a=A;else a=m;if(x=0|_[t+112>>2],_[x+(a<<3)>>2]=i<<21|o,_[x+(a<<3)+4>>2]=c,_[t+104>>2]=1+(0|_[t+104>>2]),(0|(c=0|_[t+124>>2]))==(0|_[t+128>>2])&&(0|c)<(0|(u=0|c?c<<1:1))){if(u?(_[6630]=1+(0|_[6630]),(c=0|di(16+(u<<2|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,d=c,c=0|_[t+124>>2]):d=0,l=0|_[t+132>>2],(0|c)<=0)l?f=45:a=t+136|0;else{a=0;do{_[d+(a<<2)>>2]=_[l+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|c));f=45}45==(0|f)&&(0|n[t+136|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+132>>2]=0,a=t+136|0,c=0|_[t+124>>2]),n[0|a]=1,_[t+132>>2]=d,_[t+128>>2]=u}if(_[(0|_[t+132>>2])+(c<<2)>>2]=i<<21|o,_[t+124>>2]=1+(0|_[t+124>>2]),(0|A)<(0|(f=0|_[t+108>>2]))){if((0|(u=0|_[t+64>>2]))<(0|f)){do{if((0|_[t+68>>2])<(0|f)){if(f?(_[6630]=1+(0|_[6630]),(c=0|di(16+(f<<2|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,l=0|_[t+64>>2]):(c=0,l=u),d=0|_[t+72>>2],(0|l)<=0){if(!d){n[t+76|0]=1,_[t+72>>2]=c,_[t+68>>2]=f,A=t+72|0;break}}else{a=0;do{_[c+(a<<2)>>2]=_[d+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|l))}0|n[t+76|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[d+-4>>2])),n[t+76|0]=1,_[t+72>>2]=c,_[t+68>>2]=f,A=t+72|0}else A=t+72|0,c=0|_[t+72>>2]}while(0);if(wn(c+(u<<2)|0,0,(f<<2)-(u<<2)|0),_[t+64>>2]=f,(0|(e=0|_[t+84>>2]))<(0|f)){do{if((0|_[t+88>>2])<(0|f)){if(f?(_[6630]=1+(0|_[6630]),(c=0|di(16+(f<<2|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,l=0|_[t+84>>2]):(c=0,l=e),d=0|_[t+92>>2],(0|l)<=0){if(!d){n[t+96|0]=1,_[t+92>>2]=c,_[t+88>>2]=f;break}}else{a=0;do{_[c+(a<<2)>>2]=_[d+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|l))}0|n[t+96|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[d+-4>>2])),n[t+96|0]=1,_[t+92>>2]=c,_[t+88>>2]=f}else c=0|_[t+92>>2]}while(0);wn(c+(e<<2)|0,0,(f<<2)-(e<<2)|0)}if(_[t+84>>2]=f,(0|f)>0&&(wn(0|_[A>>2],-1,f<<2),wn(0|_[t+92>>2],-1,f<<2)),(0|u)>0){d=0|_[t+132>>2],a=0|_[A>>2],l=0|_[t+92>>2],c=0;do{x=9*((x=0|_[d+(c<<2)>>2])+~(x<<15)>>10^x+~(x<<15))|0,x=a+((((x^=x>>6)+~(x<<11)>>16^x+~(x<<11))&(0|_[t+108>>2])-1)<<2)|0,_[l+(c<<2)>>2]=_[x>>2],_[x>>2]=c,c=c+1|0}while((0|c)!=(0|u))}}c=h&(0|_[t+108>>2])-1}else c=h&A+-1;x=(0|_[t+72>>2])+(c<<2)|0,_[(0|_[t+92>>2])+(m<<2)>>2]=_[x>>2],_[x>>2]=m}Q=r},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0;switch(o=Q,Q=Q+208|0,r=0|Gl[127&_[20+(0|_[(t|=0)>>2])>>2]](t),id[7&_[56+(0|_[r>>2])>>2]](r,e,1),0|(r=0|_[i+4>>2])){case 31:if((0|(r=0|_[i+16>>2]))<=0)return void(Q=o);do{m=r,r=r+-1|0,u=0|_[i+24>>2],D=+p[u+(80*r|0)>>2],k=+p[u+(80*r|0)+4>>2],v=+p[u+(80*r|0)+8>>2],j=+p[u+(80*r|0)+16>>2],w=+p[u+(80*r|0)+20>>2],g=+p[u+(80*r|0)+24>>2],R=+p[u+(80*r|0)+32>>2],S=+p[u+(80*r|0)+36>>2],h=+p[u+(80*r|0)+40>>2],P=+p[u+(80*r|0)+48>>2],T=+p[u+(80*r|0)+52>>2],l=+p[u+(80*r|0)+56>>2],u=0|_[u+(80*r|0)+64>>2],f=0|_[28+(0|_[t>>2])>>2],O=+p[e>>2],x=+p[e+4>>2],F=+p[e+8>>2],W=+p[e+16>>2],B=+p[e+20>>2],I=+p[e+24>>2],C=+p[e+32>>2],y=+p[e+36>>2],s=+p[e+40>>2],c=P*O+T*x+l*F+ +p[e+48>>2],a=P*W+T*B+l*I+ +p[e+52>>2],l=P*C+T*y+l*s+ +p[e+56>>2],p[o+144>>2]=D*O+j*x+R*F,p[o+144+4>>2]=k*O+w*x+S*F,p[o+144+8>>2]=v*O+g*x+h*F,p[o+144+12>>2]=0,p[o+144+16>>2]=D*W+j*B+R*I,p[o+144+20>>2]=k*W+w*B+S*I,p[o+144+24>>2]=v*W+g*B+h*I,p[o+144+28>>2]=0,p[o+144+32>>2]=D*C+j*y+R*s,p[o+144+36>>2]=k*C+w*y+S*s,p[o+144+40>>2]=v*C+g*y+h*s,p[o+144+44>>2]=0,p[o+144+48>>2]=c,p[o+144+52>>2]=a,p[o+144+56>>2]=l,p[o+144+60>>2]=0,pd[127&f](t,o+144|0,u,n)}while((0|m)>1);return void(Q=o);case 0:return _[o+144>>2]=_[i+28>>2],_[o+144+4>>2]=_[i+28+4>>2],_[o+144+8>>2]=_[i+28+8>>2],_[o+144+12>>2]=_[i+28+12>>2],O=+Il[15&_[48+(0|_[i>>2])>>2]](i),T=+Il[15&_[48+(0|_[i>>2])>>2]](i),P=+Il[15&_[48+(0|_[i>>2])>>2]](i),O+=+p[o+144>>2],p[o+144>>2]=O,T+=+p[o+144+4>>2],p[o+144+4>>2]=T,P+=+p[o+144+8>>2],p[o+144+8>>2]=P,i=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),t=0|_[72+(0|_[i>>2])>>2],p[o+112>>2]=-O,p[o+112+4>>2]=-T,p[o+112+8>>2]=-P,p[o+112+12>>2]=0,dd[31&t](i,o+112|0,o+144|0,e,n),void(Q=o);case 8:return P=+Il[15&_[48+(0|_[i>>2])>>2]](i),i=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),td[1&_[16+(0|_[i>>2])>>2]](i,P,e,n),void(Q=o);case 9:if((0|(r=0|_[i+92>>2]))<=0)return void(Q=o);do{m=r,r=r+-1|0,u=0|_[i+100>>2],v=+p[u+(r<<4)>>2],S=+p[u+(r<<4)+4>>2],T=+p[u+(r<<4)+8>>2],u=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),f=0|_[16+(0|_[u>>2])>>2],P=+p[(0|_[i+120>>2])+(r<<2)>>2],k=+p[e>>2],R=+p[e+4>>2],w=+p[e+8>>2],D=+p[e+16>>2],I=+p[e+20>>2],j=+p[e+24>>2],W=+p[e+32>>2],F=+p[e+36>>2],B=+p[e+40>>2],x=v*k+S*R+T*w+ +p[e+48>>2],O=v*D+S*I+T*j+ +p[e+52>>2],T=v*W+S*F+T*B+ +p[e+56>>2],p[o+144>>2]=k+0*R+0*w,p[o+144+4>>2]=0*k+R+0*w,p[o+144+8>>2]=w+(0*k+0*R),p[o+144+12>>2]=0,p[o+144+16>>2]=D+0*I+0*j,p[o+144+20>>2]=0*D+I+0*j,p[o+144+24>>2]=j+(0*D+0*I),p[o+144+28>>2]=0,p[o+144+32>>2]=W+0*F+0*B,p[o+144+36>>2]=0*W+F+0*B,p[o+144+40>>2]=B+(0*W+0*F),p[o+144+44>>2]=0,p[o+144+48>>2]=x,p[o+144+52>>2]=O,p[o+144+56>>2]=T,p[o+144+60>>2]=0,td[1&f](u,P,o+144|0,n)}while((0|m)>1);return void(Q=o);case 10:return m=0|_[i+52>>2],T=+p[i+28+((m+2|0)%3<<2)>>2],P=+p[i+28+(m<<2)>>2],i=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),ql[3&_[76+(0|_[i>>2])>>2]](i,T,P,m,e,n),void(Q=o);case 11:return T=+p[i+56>>2],P=+p[i+60>>2],i=0|_[i+68>>2],t=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),ql[3&_[84+(0|_[t>>2])>>2]](t,T,P,i,e,n),void(Q=o);case 13:return m=0|_[i+52>>2],T=+Il[15&_[92+(0|_[i>>2])>>2]](i),_[o+128>>2]=_[i+28>>2],_[o+128+4>>2]=_[i+28+4>>2],_[o+128+8>>2]=_[i+28+8>>2],_[o+128+12>>2]=_[i+28+12>>2],x=+Il[15&_[48+(0|_[i>>2])>>2]](i),O=+Il[15&_[48+(0|_[i>>2])>>2]](i),P=+Il[15&_[48+(0|_[i>>2])>>2]](i),p[o+128>>2]=x+ +p[o+128>>2],p[o+128+4>>2]=O+ +p[o+128+4>>2],p[o+128+8>>2]=P+ +p[o+128+8>>2],P=+p[o+128+(m<<2)>>2],i=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),ql[3&_[80+(0|_[i>>2])>>2]](i,T,P,m,e,n),void(Q=o);case 28:return P=+p[i+64>>2],t=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),od[1&_[88+(0|_[t>>2])>>2]](t,i+48|0,P,e,n),void(Q=o);default:t:do{if((0|r)<7){if(!(m=0|_[i+52>>2])){if((0|Gl[127&_[100+(0|_[i>>2])>>2]](i))<=0)break;for(r=0;;)if(pd[127&_[104+(0|_[i>>2])>>2]](i,r,o+144|0,o+112|0),P=+p[o+144>>2],S=+p[e>>2],O=+p[o+144+4>>2],w=+p[e+4>>2],F=+p[o+144+8>>2],k=+p[e+8>>2],j=+p[e+16>>2],D=+p[e+20>>2],I=+p[e+24>>2],W=+p[e+32>>2],x=+p[e+36>>2],T=+p[e+40>>2],v=+p[e+48>>2],R=+p[e+52>>2],B=+p[e+56>>2],p[o+16>>2]=P*S+O*w+F*k+v,p[o+16+4>>2]=P*j+O*D+F*I+R,p[o+16+8>>2]=P*W+O*x+F*T+B,p[o+16+12>>2]=0,F=+p[o+112>>2],O=+p[o+112+4>>2],P=+p[o+112+8>>2],p[o>>2]=v+(S*F+w*O+k*P),p[o+4>>2]=R+(j*F+D*O+I*P),p[o+8>>2]=B+(W*F+x*O+T*P),p[o+12>>2]=0,m=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),pd[127&_[8+(0|_[m>>2])>>2]](m,o+16|0,o,n),(0|(r=r+1|0))>=(0|Gl[127&_[100+(0|_[i>>2])>>2]](i)))break t}if((0|_[m+28>>2])>0){u=0;do{r=0|_[m+36>>2],f=0|_[r+(36*u|0)+4>>2];e:do{if((0|f)>0)for(d=0|_[r+(36*u|0)+12>>2],r=0,b=0|_[d+(f+-1<<2)>>2],s=0,c=0,l=0;;){if(A=0|_[d+(r<<2)>>2],d=0|_[m+16>>2],s+=+p[d+(A<<4)>>2],c+=+p[d+(A<<4)+4>>2],l+=+p[d+(A<<4)+8>>2],d=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),M=0|_[8+(0|_[d>>2])>>2],V=0|_[m+16>>2],P=+p[V+(b<<4)>>2],S=+p[e>>2],O=+p[V+(b<<4)+4>>2],w=+p[e+4>>2],F=+p[V+(b<<4)+8>>2],k=+p[e+8>>2],j=+p[e+16>>2],D=+p[e+20>>2],I=+p[e+24>>2],W=+p[e+32>>2],x=+p[e+36>>2],T=+p[e+40>>2],v=+p[e+48>>2],R=+p[e+52>>2],B=+p[e+56>>2],p[o+144>>2]=P*S+O*w+F*k+v,p[o+144+4>>2]=P*j+O*D+F*I+R,p[o+144+8>>2]=P*W+O*x+F*T+B,p[o+144+12>>2]=0,F=+p[V+(A<<4)>>2],O=+p[V+(A<<4)+4>>2],P=+p[V+(A<<4)+8>>2],p[o+112>>2]=v+(S*F+w*O+k*P),p[o+112+4>>2]=R+(j*F+D*O+I*P),p[o+112+8>>2]=B+(W*F+x*O+T*P),p[o+112+12>>2]=0,pd[127&M](d,o+144|0,o+112|0,n),r=r+1|0,d=0|_[m+36>>2],(0|r)>=(0|_[d+(36*u|0)+4>>2]))break e;b=A,d=0|_[d+(36*u|0)+12>>2]}else s=0,c=0,l=0}while(0);a=1/+(0|f)*s,c*=1/+(0|f),s=1/+(0|f)*l,V=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),16384&Gl[127&_[48+(0|_[V>>2])>>2]](V)&&(_[o+144>>2]=1065353216,_[o+144+4>>2]=1065353216,_[o+144+8>>2]=0,p[o+144+12>>2]=0,V=0|_[m+36>>2],B=+p[V+(36*u|0)+20>>2],F=+p[V+(36*u|0)+24>>2],O=+p[V+(36*u|0)+28>>2],V=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),M=0|_[8+(0|_[V>>2])>>2],v=+p[e>>2],S=+p[e+4>>2],w=+p[e+8>>2],R=+p[e+16>>2],j=+p[e+20>>2],D=+p[e+24>>2],W=+p[e+32>>2],x=+p[e+36>>2],T=+p[e+40>>2],k=+p[e+48>>2],I=+p[e+52>>2],P=+p[e+56>>2],p[o+112>>2]=a*v+c*S+s*w+k,p[o+112+4>>2]=a*R+c*j+s*D+I,p[o+112+8>>2]=a*W+c*x+s*T+P,p[o+112+12>>2]=0,p[o+16>>2]=(a+B)*v+(c+F)*S+(s+O)*w+k,p[o+16+4>>2]=(a+B)*R+(c+F)*j+(s+O)*D+I,p[o+16+8>>2]=(a+B)*W+(c+F)*x+(s+O)*T+P,p[o+16+12>>2]=0,pd[127&M](V,o+112|0,o+16|0,o+144|0)),u=u+1|0}while((0|u)<(0|_[m+28>>2]))}}}while(0);return((r=0|_[i+4>>2])-21|0)>>>0<9&&(_[o+144>>2]=1566444395,_[o+144+4>>2]=1566444395,_[o+144+8>>2]=1566444395,p[o+144+12>>2]=0,_[o+112>>2]=-581039253,_[o+112+4>>2]=-581039253,_[o+112+8>>2]=-581039253,p[o+112+12>>2]=0,r=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),_[o+16>>2]=6716,_[o+16+4>>2]=6740,_[o+16+8>>2]=r,_[o+16+12>>2]=_[n>>2],_[o+16+12+4>>2]=_[n+4>>2],_[o+16+12+8>>2]=_[n+8>>2],_[o+16+12+12>>2]=_[n+12>>2],_[o+16+28>>2]=_[e>>2],_[o+16+28+4>>2]=_[e+4>>2],_[o+16+28+8>>2]=_[e+8>>2],_[o+16+28+12>>2]=_[e+12>>2],_[o+16+44>>2]=_[e+16>>2],_[o+16+44+4>>2]=_[e+16+4>>2],_[o+16+44+8>>2]=_[e+16+8>>2],_[o+16+44+12>>2]=_[e+16+12>>2],_[o+16+60>>2]=_[e+32>>2],_[o+16+60+4>>2]=_[e+32+4>>2],_[o+16+60+8>>2]=_[e+32+8>>2],_[o+16+60+12>>2]=_[e+32+12>>2],_[o+16+76>>2]=_[e+48>>2],_[o+16+76+4>>2]=_[e+48+4>>2],_[o+16+76+8>>2]=_[e+48+8>>2],_[o+16+76+12>>2]=_[e+48+12>>2],pd[127&_[64+(0|_[i>>2])>>2]](i,o+16|0,o+112|0,o+144|0),r=0|_[i+4>>2]),3!=(0|r)||(_[o+144>>2]=1566444395,_[o+144+4>>2]=1566444395,_[o+144+8>>2]=1566444395,p[o+144+12>>2]=0,_[o+112>>2]=-581039253,_[o+112+4>>2]=-581039253,_[o+112+8>>2]=-581039253,p[o+112+12>>2]=0,V=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),_[o+16>>2]=6716,_[o+16+4>>2]=6740,_[o+16+8>>2]=V,_[o+16+12>>2]=_[n>>2],_[o+16+12+4>>2]=_[n+4>>2],_[o+16+12+8>>2]=_[n+8>>2],_[o+16+12+12>>2]=_[n+12>>2],_[o+16+28>>2]=_[e>>2],_[o+16+28+4>>2]=_[e+4>>2],_[o+16+28+8>>2]=_[e+8>>2],_[o+16+28+12>>2]=_[e+12>>2],_[o+16+44>>2]=_[e+16>>2],_[o+16+44+4>>2]=_[e+16+4>>2],_[o+16+44+8>>2]=_[e+16+8>>2],_[o+16+44+12>>2]=_[e+16+12>>2],_[o+16+60>>2]=_[e+32>>2],_[o+16+60+4>>2]=_[e+32+4>>2],_[o+16+60+8>>2]=_[e+32+8>>2],_[o+16+60+12>>2]=_[e+32+12>>2],_[o+16+76>>2]=_[e+48>>2],_[o+16+76+4>>2]=_[e+48+4>>2],_[o+16+76+8>>2]=_[e+48+8>>2],_[o+16+76+12>>2]=_[e+48+12>>2],V=0|_[i+92>>2],pd[127&_[8+(0|_[V>>2])>>2]](V,o+16+4|0,o+112|0,o+144|0)),void(Q=o)}},function(t,e,i,n){t|=0,e|=0,i|=0,n|=0;var o,r,s,c,a,l,d,A,f,u=0;if(o=Q,Q=Q+256|0,$i(14106),_[o+32>>2]=4908,_[(a=o+32+36|0)>>2]=_[e>>2],_[a+4>>2]=_[e+4>>2],_[a+8>>2]=_[e+8>>2],_[a+12>>2]=_[e+12>>2],_[(u=o+32+52|0)>>2]=_[i>>2],_[u+4>>2]=_[i+4>>2],_[u+8>>2]=_[i+8>>2],_[u+12>>2]=_[i+12>>2],_[o+32+212>>2]=t,_[o+32+216>>2]=n,_[o+32+68>>2]=1065353216,_[o+32+72>>2]=0,_[o+32+72+4>>2]=0,_[o+32+72+8>>2]=0,_[o+32+72+12>>2]=0,_[o+32+88>>2]=1065353216,_[o+32+92>>2]=0,_[o+32+92+4>>2]=0,_[o+32+92+8>>2]=0,_[o+32+92+12>>2]=0,_[o+32+108>>2]=1065353216,_[o+32+112>>2]=0,_[o+32+116>>2]=_[a>>2],_[o+32+116+4>>2]=_[a+4>>2],_[o+32+116+8>>2]=_[a+8>>2],_[o+32+116+12>>2]=_[a+12>>2],_[o+32+132>>2]=1065353216,_[o+32+136>>2]=0,_[o+32+136+4>>2]=0,_[o+32+136+8>>2]=0,_[o+32+136+12>>2]=0,_[o+32+152>>2]=1065353216,_[o+32+156>>2]=0,_[o+32+156+4>>2]=0,_[o+32+156+8>>2]=0,_[o+32+156+12>>2]=0,_[o+32+172>>2]=1065353216,_[o+32+176>>2]=0,_[o+32+180>>2]=_[i>>2],_[o+32+180+4>>2]=_[i+4>>2],_[o+32+180+8>>2]=_[i+8>>2],_[o+32+180+12>>2]=_[i+12>>2],l=+p[i>>2]-+p[e>>2],c=+p[i+4>>2]-+p[e+4>>2],s=+p[i+8>>2]-+p[e+8>>2],f=l*(r=1/+b(+(l*l+c*c+s*s)))==0?1.0000000150474662e30:1/(l*r),p[o+32+4>>2]=f,A=c*r==0?1.0000000150474662e30:1/(c*r),p[o+32+8>>2]=A,d=s*r==0?1.0000000150474662e30:1/(s*r),p[o+32+12>>2]=d,_[o+32+20>>2]=f<0&1,_[o+32+24>>2]=A<0&1,_[o+32+28>>2]=d<0&1,p[o+32+32>>2]=l*r*(+p[u>>2]-+p[a>>2])+c*r*(+p[o+32+56>>2]-+p[o+32+40>>2])+s*r*(+p[o+32+60>>2]-+p[o+32+44>>2]),t=0|_[t+68>>2],n=0|_[24+(0|_[t>>2])>>2],_[o+16>>2]=0,_[o+16+4>>2]=0,_[o+16+8>>2]=0,_[o+16+12>>2]=0,_[o>>2]=0,_[o+4>>2]=0,_[o+8>>2]=0,_[o+12>>2]=0,Ad[7&n](t,e,i,o+32|0,o+16|0,o),t=0|_[2606],n=(0|_[t+16>>2])-1|0,_[t+16>>2]=n,0|n)Q=o;else{do{if(0|_[t+4>>2]){if(G(o+32|0,0),u=0|_[6629],p[t+8>>2]=+p[t+8>>2]+ +(((0|_[o+32+4>>2])-(0|_[u+4>>2])+(1e6*((0|_[o+32>>2])-(0|_[u>>2])|0)|0)-(0|_[t+12>>2])|0)>>>0)/1e3,0|_[t+16>>2])return void(Q=o);t=0|_[2606];break}}while(0);_[2606]=_[t+20>>2],Q=o}},function(t,e,i,n){St(t|=0,e|=0,i|=0,n|=0)},function(t,e,i,o){t|=0,i|=0,o|=0;var r=0,s=0,c=0,a=0,l=0,d=0,b=0;if(3&(r=0|_[204+(e|=0)>>2])||1&_[e+504>>2]||(0!=(s=+p[e+344>>2])&&(b=1/s*+p[t+252>>2],d=1/s*+p[t+256>>2],p[e+364>>2]=1/s*+p[t+248>>2],p[e+368>>2]=b,p[e+372>>2]=d,p[e+376>>2]=0),_[e+380>>2]=_[t+248>>2],_[e+380+4>>2]=_[t+248+4>>2],_[e+380+8>>2]=_[t+248+8>>2],_[e+380+12>>2]=_[t+248+12>>2]),0|_[e+192>>2]){if(1&r)4!=(-2&_[e+216>>2])&&(_[e+216>>2]=2);else{if((0|(r=0|_[t+232>>2]))==(0|_[t+236>>2])&&(0|r)<(0|(l=0|r?r<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(r=0|di(16+(l<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,a=r,r=0|_[t+232>>2]):a=0,(0|r)>0){c=0;do{_[a+(c<<2)>>2]=_[(0|_[t+240>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|r))}(c=0|_[t+240>>2])&&(0|n[t+244|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),r=0|_[t+232>>2]),_[t+240>>2]=0),n[t+244|0]=1,_[t+240>>2]=a,_[t+236>>2]=l}_[(0|_[t+240>>2])+(r<<2)>>2]=e,_[t+232>>2]=r+1}pd[127&_[36+(0|_[t>>2])>>2]](t,e,i,o)}},function(t,e,i,n){var o,r,s,c,a,l,d,A,f,u;t|=0,e|=0,i|=0,n|=0,o=Q,Q=Q+256|0,_[o+32>>2]=6588,_[(a=o+32+36|0)>>2]=_[e>>2],_[a+4>>2]=_[e+4>>2],_[a+8>>2]=_[e+8>>2],_[a+12>>2]=_[e+12>>2],_[(l=o+32+52|0)>>2]=_[i>>2],_[l+4>>2]=_[i+4>>2],_[l+8>>2]=_[i+8>>2],_[l+12>>2]=_[i+12>>2],_[o+32+212>>2]=t,_[o+32+216>>2]=n,_[o+32+68>>2]=1065353216,_[o+32+72>>2]=0,_[o+32+72+4>>2]=0,_[o+32+72+8>>2]=0,_[o+32+72+12>>2]=0,_[o+32+88>>2]=1065353216,_[o+32+92>>2]=0,_[o+32+92+4>>2]=0,_[o+32+92+8>>2]=0,_[o+32+92+12>>2]=0,_[o+32+108>>2]=1065353216,_[o+32+112>>2]=0,_[o+32+116>>2]=_[a>>2],_[o+32+116+4>>2]=_[a+4>>2],_[o+32+116+8>>2]=_[a+8>>2],_[o+32+116+12>>2]=_[a+12>>2],_[o+32+132>>2]=1065353216,_[o+32+136>>2]=0,_[o+32+136+4>>2]=0,_[o+32+136+8>>2]=0,_[o+32+136+12>>2]=0,_[o+32+152>>2]=1065353216,_[o+32+156>>2]=0,_[o+32+156+4>>2]=0,_[o+32+156+8>>2]=0,_[o+32+156+12>>2]=0,_[o+32+172>>2]=1065353216,_[o+32+176>>2]=0,_[o+32+180>>2]=_[i>>2],_[o+32+180+4>>2]=_[i+4>>2],_[o+32+180+8>>2]=_[i+8>>2],_[o+32+180+12>>2]=_[i+12>>2],d=+p[i>>2]-+p[e>>2],c=+p[i+4>>2]-+p[e+4>>2],s=+p[i+8>>2]-+p[e+8>>2],u=d*(r=1/+b(+(d*d+c*c+s*s)))==0?0xde0b6b000000000:1/(d*r),p[o+32+4>>2]=u,f=c*r==0?0xde0b6b000000000:1/(c*r),p[o+32+8>>2]=f,A=s*r==0?0xde0b6b000000000:1/(s*r),p[o+32+12>>2]=A,_[o+32+20>>2]=u<0&1,_[o+32+24>>2]=f<0&1,_[o+32+28>>2]=A<0&1,p[o+32+32>>2]=d*r*(+p[l>>2]-+p[a>>2])+c*r*(+p[o+32+56>>2]-+p[o+32+40>>2])+s*r*(+p[o+32+60>>2]-+p[o+32+44>>2]),n=0|_[t+68>>2],t=0|_[24+(0|_[n>>2])>>2],_[o+16>>2]=0,_[o+16+4>>2]=0,_[o+16+8>>2]=0,_[o+16+12>>2]=0,_[o>>2]=0,_[o+4>>2]=0,_[o+8>>2]=0,_[o+12>>2]=0,Ad[7&t](n,e,i,o+32|0,o+16|0,o),Q=o},function(t,e,i,o){t|=0,e|=0,o|=0;var r,s=0,c=0,a=0,l=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0;if(r=Q,Q=Q+80|0,(0|(i|=0))<=0)Q=r;else{Y=0;do{if(z=0|_[e+(Y<<2)>>2],K=0|_[z+740>>2],q=0|_[z+744>>2],$=0|Re(t,K,+p[o+12>>2]),tt=0|Re(t,q,+p[o+12>>2]),et=0|_[t+16>>2],0==+p[et+(244*$|0)+128>>2]&&0==+p[et+(244*$|0)+132>>2]&&0==+p[et+(244*$|0)+136>>2]&&0==+p[et+(244*tt|0)+128>>2]&&0==+p[et+(244*tt|0)+132>>2]&&0==+p[et+(244*tt|0)+136>>2]||(nt=9),9==(0|nt)&&(nt=0,(0|(it=0|_[z+748>>2]))>0)){J=0,s=1,c=it;do{if(Z=z+4+(184*J|0)|0,+p[(u=z+4+(184*J|0)+80|0)>>2]<=+p[z+756>>2]){if((0|(U=0|_[t+28>>2]))==(0|_[t+32>>2])&&(0|U)<(0|(X=0|U?U<<1:1))){if(X?(_[6630]=1+(0|_[6630]),(c=0|di(16+(152*X|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,l=0|_[t+28>>2]):(c=0,l=U),(0|l)>0){a=0;do{_e(c+(152*a|0)|0,(0|_[t+36>>2])+(152*a|0)|0,152),a=a+1|0}while((0|a)!=(0|l))}0|(a=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=c,_[t+32>>2]=X,c=0|_[t+28>>2]}else c=U;_[t+28>>2]=c+1,H=0|_[t+36>>2],m=2&_[K+236>>2]?K:0,h=2&_[q+236>>2]?q:0,_[H+(152*U|0)+144>>2]=$,_[H+(152*U|0)+148>>2]=tt,_[H+(152*U|0)+132>>2]=Z,j=+p[z+4+(184*J|0)+48>>2]-+p[K+52>>2],D=+p[z+4+(184*J|0)+52>>2]-+p[K+56>>2],R=+p[z+4+(184*J|0)+56>>2]-+p[K+60>>2],p[r+64>>2]=j,p[r+64+4>>2]=D,p[r+64+8>>2]=R,p[r+64+12>>2]=0,W=+p[z+4+(184*J|0)+32>>2]-+p[q+52>>2],F=+p[z+4+(184*J|0)+36>>2]-+p[q+56>>2],B=+p[z+4+(184*J|0)+40>>2]-+p[q+60>>2],p[r+48>>2]=W,p[r+48+4>>2]=F,p[r+48+8>>2]=B,p[r+48+12>>2]=0,0|_[et+(244*$|0)+240>>2]?(G=+p[et+(244*$|0)+192>>2]+ +p[et+(244*$|0)+224>>2],v=+p[et+(244*$|0)+196>>2]+ +p[et+(244*$|0)+228>>2],g=+p[et+(244*$|0)+200>>2]+ +p[et+(244*$|0)+232>>2],f=+p[et+(244*$|0)+176>>2]+ +p[et+(244*$|0)+208>>2]+(R*v-D*g),g=+p[et+(244*$|0)+180>>2]+ +p[et+(244*$|0)+212>>2]+(j*g-R*G),v=+p[et+(244*$|0)+184>>2]+ +p[et+(244*$|0)+216>>2]+(D*G-j*v)):(f=0,g=0,v=0),0|_[et+(244*tt|0)+240>>2]?(G=+p[et+(244*tt|0)+192>>2]+ +p[et+(244*tt|0)+224>>2],C=+p[et+(244*tt|0)+196>>2]+ +p[et+(244*tt|0)+228>>2],y=+p[et+(244*tt|0)+200>>2]+ +p[et+(244*tt|0)+232>>2],A=+p[et+(244*tt|0)+176>>2]+ +p[et+(244*tt|0)+208>>2]+(B*C-F*y),y=+p[et+(244*tt|0)+180>>2]+ +p[et+(244*tt|0)+212>>2]+(W*y-B*G),C=+p[et+(244*tt|0)+184>>2]+ +p[et+(244*tt|0)+216>>2]+(F*G-W*C)):(A=0,y=0,C=0),G=f-A,V=g-y,O=v-C,T=+p[(N=z+4+(184*J|0)+64|0)>>2],P=+p[(L=z+4+(184*J|0)+68|0)>>2],M=+p[(E=z+4+(184*J|0)+72|0)>>2],l=0|_[t+16>>2],c=0|_[l+(244*$|0)+240>>2],a=0|_[l+(244*tt|0)+240>>2],0|c?(A=((D*M-R*P)*+p[c+264>>2]+(R*T-M*j)*+p[c+268>>2]+(P*j-D*T)*+p[c+272>>2])*+p[c+544>>2],f=((D*M-R*P)*+p[c+280>>2]+(R*T-M*j)*+p[c+284>>2]+(P*j-D*T)*+p[c+288>>2])*+p[c+548>>2],y=((D*M-R*P)*+p[c+296>>2]+(R*T-M*j)*+p[c+300>>2]+(P*j-D*T)*+p[c+304>>2])*+p[c+552>>2]):(A=0,f=0,y=0),p[H+(152*U|0)+64>>2]=A,p[H+(152*U|0)+68>>2]=f,p[H+(152*U|0)+72>>2]=y,p[H+(152*U|0)+76>>2]=0,S=+p[E>>2],w=+p[L>>2],k=+p[N>>2],0|a?(g=(+p[a+264>>2]*-(F*S-B*w)+ +p[a+268>>2]*-(B*k-S*W)+ +p[a+272>>2]*-(w*W-F*k))*+p[a+544>>2],C=(+p[a+280>>2]*-(F*S-B*w)+ +p[a+284>>2]*-(B*k-S*W)+ +p[a+288>>2]*-(w*W-F*k))*+p[a+548>>2],v=(+p[a+296>>2]*-(F*S-B*w)+ +p[a+300>>2]*-(B*k-S*W)+ +p[a+304>>2]*-(w*W-F*k))*+p[a+552>>2]):(g=0,C=0,v=0),p[H+(152*U|0)+80>>2]=g,p[H+(152*U|0)+84>>2]=C,p[H+(152*U|0)+88>>2]=v,p[H+(152*U|0)+92>>2]=0,f=0|c?+p[c+344>>2]+((f*R-y*D)*+p[N>>2]+(y*j-R*A)*+p[L>>2]+(D*A-f*j)*+p[E>>2]):0,0|a?(x=-g,A=-C,v=-v,A=+p[a+344>>2]+((B*A-F*v)*+p[N>>2]+(W*v-B*x)*+p[L>>2]+(F*x-W*A)*+p[E>>2])):A=0,p[H+(152*U|0)+108>>2]=1/(f+A),0|c?(_[H+(152*U|0)+16>>2]=_[N>>2],_[H+(152*U|0)+16+4>>2]=_[N+4>>2],_[H+(152*U|0)+16+8>>2]=_[N+8>>2],_[H+(152*U|0)+16+12>>2]=_[N+12>>2],p[H+(152*U|0)>>2]=D*M-R*P,p[H+(152*U|0)+4>>2]=R*T-M*j,p[H+(152*U|0)+8>>2]=P*j-D*T,p[H+(152*U|0)+12>>2]=0):(_[H+(152*U|0)>>2]=0,_[H+(152*U|0)+4>>2]=0,_[H+(152*U|0)+8>>2]=0,_[H+(152*U|0)+12>>2]=0,_[H+(152*U|0)+16>>2]=0,_[H+(152*U|0)+20>>2]=0,_[H+(152*U|0)+24>>2]=0,_[H+(152*U|0)+28>>2]=0),0|a?(v=-+p[L>>2],x=-+p[E>>2],p[H+(152*U|0)+48>>2]=-+p[N>>2],p[H+(152*U|0)+52>>2]=v,p[H+(152*U|0)+56>>2]=x,p[H+(152*U|0)+60>>2]=0,p[H+(152*U|0)+32>>2]=-(F*S-B*w),p[H+(152*U|0)+36>>2]=-(B*k-S*W),p[H+(152*U|0)+40>>2]=-(w*W-F*k),p[H+(152*U|0)+44>>2]=0):(_[H+(152*U|0)+32>>2]=0,_[H+(152*U|0)+32+4>>2]=0,_[H+(152*U|0)+32+8>>2]=0,_[H+(152*U|0)+32+12>>2]=0,_[H+(152*U|0)+32+16>>2]=0,_[H+(152*U|0)+32+20>>2]=0,_[H+(152*U|0)+32+24>>2]=0,_[H+(152*U|0)+32+28>>2]=0),x=+p[u>>2]+ +p[o+56>>2],0|c?(g=+p[c+332>>2],C=+p[c+336>>2],k=+p[c+328>>2],v=g*R-C*D+ +p[c+312>>2],C=+p[c+316>>2]+(C*j-R*k),g=D*k-g*j+ +p[c+320>>2]):(v=0,C=0,g=0),0|a?(A=+p[a+332>>2],f=+p[a+336>>2],D=+p[a+328>>2],y=A*B-f*F+ +p[a+312>>2],f=+p[a+316>>2]+(f*W-B*D),A=F*D-A*W+ +p[a+320>>2]):(y=0,f=0,A=0),B=(v-y)*+p[N>>2]+(C-f)*+p[L>>2]+(g-A)*+p[E>>2],_[H+(152*U|0)+104>>2]=_[z+4+(184*J|0)+84>>2],B=(B*=+p[z+4+(184*J|0)+92>>2])>=-0?0:-B;do{if(4&_[o+64>>2]){A=+p[z+4+(184*J|0)+120>>2]*+p[o+60>>2],p[H+(152*U|0)+100>>2]=A;do{if(0|c){if(!(0|_[l+(244*$|0)+240>>2]))break;F=A*(+p[H+(152*U|0)+20>>2]*+p[l+(244*$|0)+132>>2]*+p[c+352>>2])*+p[l+(244*$|0)+116>>2],W=A*(+p[H+(152*U|0)+24>>2]*+p[l+(244*$|0)+136>>2]*+p[c+356>>2])*+p[l+(244*$|0)+120>>2],p[l+(244*$|0)+64>>2]=+p[l+(244*$|0)+112>>2]*(A*(+p[H+(152*U|0)+16>>2]*+p[l+(244*$|0)+128>>2]*+p[c+348>>2]))+ +p[l+(244*$|0)+64>>2],p[l+(244*$|0)+68>>2]=F+ +p[l+(244*$|0)+68>>2],p[l+(244*$|0)+72>>2]=W+ +p[l+(244*$|0)+72>>2],W=A*+p[l+(244*$|0)+100>>2]*+p[H+(152*U|0)+68>>2],F=A*+p[l+(244*$|0)+104>>2]*+p[H+(152*U|0)+72>>2],p[l+(244*$|0)+80>>2]=A*+p[l+(244*$|0)+96>>2]*+p[H+(152*U|0)+64>>2]+ +p[l+(244*$|0)+80>>2],p[l+(244*$|0)+84>>2]=W+ +p[l+(244*$|0)+84>>2],p[l+(244*$|0)+88>>2]=F+ +p[l+(244*$|0)+88>>2]}}while(0);if(!a)break;if(A=+p[H+(152*U|0)+100>>2],!(0|_[l+(244*tt|0)+240>>2]))break;F=+p[H+(152*U|0)+88>>2],W=+p[H+(152*U|0)+84>>2],D=+p[H+(152*U|0)+80>>2],R=A*(+p[H+(152*U|0)+52>>2]*+p[l+(244*tt|0)+132>>2]*+p[a+352>>2])*+p[l+(244*tt|0)+116>>2],j=A*(+p[H+(152*U|0)+56>>2]*+p[l+(244*tt|0)+136>>2]*+p[a+356>>2])*+p[l+(244*tt|0)+120>>2],p[l+(244*tt|0)+64>>2]=+p[l+(244*tt|0)+112>>2]*(A*(+p[H+(152*U|0)+48>>2]*+p[l+(244*tt|0)+128>>2]*+p[a+348>>2]))+ +p[l+(244*tt|0)+64>>2],p[l+(244*tt|0)+68>>2]=R+ +p[l+(244*tt|0)+68>>2],p[l+(244*tt|0)+72>>2]=j+ +p[l+(244*tt|0)+72>>2],W*=+p[l+(244*tt|0)+100>>2]*-A,F*=+p[l+(244*tt|0)+104>>2]*-A,p[l+(244*tt|0)+80>>2]=+p[l+(244*tt|0)+80>>2]-D*(+p[l+(244*tt|0)+96>>2]*-A),p[l+(244*tt|0)+84>>2]=+p[l+(244*tt|0)+84>>2]-W,p[l+(244*tt|0)+88>>2]=+p[l+(244*tt|0)+88>>2]-F}else p[H+(152*U|0)+100>>2]=0}while(0);p[H+(152*U|0)+96>>2]=0,0|_[l+(244*$|0)+240>>2]?(A=+p[l+(244*$|0)+208>>2],f=+p[l+(244*$|0)+212>>2],y=+p[l+(244*$|0)+216>>2],g=+p[l+(244*$|0)+224>>2],C=+p[l+(244*$|0)+228>>2],v=+p[l+(244*$|0)+232>>2]):(A=0,f=0,y=0,g=0,C=0,v=0),0|_[l+(244*tt|0)+240>>2]?(S=+p[l+(244*tt|0)+208>>2],w=+p[l+(244*tt|0)+212>>2],k=+p[l+(244*tt|0)+216>>2],R=+p[l+(244*tt|0)+224>>2],j=+p[l+(244*tt|0)+228>>2],D=+p[l+(244*tt|0)+232>>2]):(S=0,w=0,k=0,R=0,j=0,D=0),A=B-((A+ +p[l+(244*$|0)+176>>2])*+p[H+(152*U|0)+16>>2]+(f+ +p[l+(244*$|0)+180>>2])*+p[H+(152*U|0)+20>>2]+(y+ +p[l+(244*$|0)+184>>2])*+p[H+(152*U|0)+24>>2]+((g+ +p[l+(244*$|0)+192>>2])*+p[H+(152*U|0)>>2]+(C+ +p[l+(244*$|0)+196>>2])*+p[H+(152*U|0)+4>>2]+(v+ +p[l+(244*$|0)+200>>2])*+p[H+(152*U|0)+8>>2])+((S+ +p[l+(244*tt|0)+176>>2])*+p[H+(152*U|0)+48>>2]+(w+ +p[l+(244*tt|0)+180>>2])*+p[H+(152*U|0)+52>>2]+(k+ +p[l+(244*tt|0)+184>>2])*+p[H+(152*U|0)+56>>2]+((R+ +p[l+(244*tt|0)+192>>2])*+p[H+(152*U|0)+32>>2]+(j+ +p[l+(244*tt|0)+196>>2])*+p[H+(152*U|0)+36>>2]+(D+ +p[l+(244*tt|0)+200>>2])*+p[H+(152*U|0)+40>>2]))),c=!(0|_[o+44>>2]),x>0?(A-=x/+p[o+12>>2],f=0):f=-x*(c|x>+p[o+48>>2]?+p[o+32>>2]:+p[o+36>>2])/+p[o+12>>2],F=f*(W=+p[H+(152*U|0)+108>>2]),W*=A,I=c|x>+p[o+48>>2],p[H+(152*U|0)+112>>2]=I?F+W:W,p[H+(152*U|0)+128>>2]=I?0:F,p[H+(152*U|0)+116>>2]=0,p[H+(152*U|0)+120>>2]=0,p[H+(152*U|0)+124>>2]=1e10,_[H+(152*U|0)+140>>2]=_[t+68>>2],m?(f=+p[m+328>>2],v=+p[m+332>>2],S=+p[m+336>>2]):(f=0,v=0,S=0),h?(A=+p[h+328>>2],y=+p[h+332>>2],g=+p[h+336>>2]):(A=0,y=0,g=0),C=A-f,f=y-v,g-=S,p[r+32>>2]=C,p[r+32+4>>2]=f,p[r+32+8>>2]=g,p[r+32+12>>2]=0;do{if((0|s)>0&&+p[z+4+(184*J|0)+88>>2]>0){if(s=s+-1|0,(A=+b(+(C*C+f*f+g*g)))>+p[o+80>>2]){if(p[r+32>>2]=C*(1/A),p[r+32+4>>2]=f*(1/A),p[r+32+8>>2]=g*(1/A),2&_[K+180>>2]?(S=+p[K+4>>2],k=+p[K+20>>2],D=+p[K+36>>2],w=+p[K+8>>2],R=+p[K+24>>2],W=+p[K+40>>2],y=+p[K+12>>2],j=+p[K+28>>2],x=+p[K+44>>2],B=(C*(1/A)*S+f*(1/A)*k+g*(1/A)*D)*+p[K+164>>2],F=(C*(1/A)*w+f*(1/A)*R+g*(1/A)*W)*+p[K+168>>2],A=(C*(1/A)*y+f*(1/A)*j+g*(1/A)*x)*+p[K+172>>2],p[r+32>>2]=S*B+w*F+y*A,p[r+32+4>>2]=k*B+R*F+j*A,p[r+32+8>>2]=D*B+W*F+x*A,p[r+32+12>>2]=0,y=S*B+w*F+y*A,f=k*B+R*F+j*A,A=D*B+W*F+x*A):(y=C*(1/A),f*=1/A,A=g*(1/A)),2&_[q+180>>2]&&(v=+p[q+4>>2],k=+p[q+20>>2],D=+p[q+36>>2],S=+p[q+8>>2],R=+p[q+24>>2],W=+p[q+40>>2],w=+p[q+12>>2],j=+p[q+28>>2],x=+p[q+44>>2],B=(v*y+k*f+D*A)*+p[q+164>>2],F=(y*S+f*R+A*W)*+p[q+168>>2],A=(y*w+f*j+A*x)*+p[q+172>>2],p[r+32>>2]=v*B+S*F+w*A,p[r+32+4>>2]=k*B+R*F+j*A,p[r+32+8>>2]=D*B+W*F+x*A,p[r+32+12>>2]=0,y=v*B+S*F+w*A,f=k*B+R*F+j*A,A=D*B+W*F+x*A),!(+b(+(y*y+f*f+A*A))>.001))break;ge(t,r+32|0,$,tt,U,Z);break}ge(t,N,$,tt,U,Z),A=+p[E>>2],+d(+A)>.7071067690849304?(x=+p[L>>2],f=1/+b(+(A*A+x*x)),p[r+16>>2]=0,p[r+16+4>>2]=-A*f,p[r+16+8>>2]=x*f,p[r>>2]=(A*A+x*x)*f,F=+p[N>>2],p[r+4>>2]=x*f*-F,S=F*(-A*f),g=-A*f,C=x*f,y=(A*A+x*x)*f,f=x*f*-F,A=0):(y=+p[N>>2],F=+p[L>>2],x=1/+b(+(y*y+F*F)),p[r+16>>2]=-F*x,p[r+16+4>>2]=y*x,p[r+16+8>>2]=0,p[r>>2]=y*x*-A,p[r+4>>2]=A*(-F*x),S=(y*y+F*F)*x,g=y*x,C=0,y=y*x*-A,f=A*(-F*x),A=-F*x),p[r+8>>2]=S,(a=!(2&_[K+180>>2]))||(ot=+p[K+4>>2],k=+p[K+20>>2],D=+p[K+36>>2],v=+p[K+8>>2],R=+p[K+24>>2],W=+p[K+40>>2],w=+p[K+12>>2],j=+p[K+28>>2],x=+p[K+44>>2],B=(ot*A+k*g+D*C)*+p[K+164>>2],F=(A*v+g*R+C*W)*+p[K+168>>2],C=(A*w+g*j+C*x)*+p[K+172>>2],p[r+16>>2]=ot*B+v*F+w*C,p[r+16+4>>2]=k*B+R*F+j*C,p[r+16+8>>2]=D*B+W*F+x*C,p[r+16+12>>2]=0,A=ot*B+v*F+w*C,g=k*B+R*F+j*C,C=D*B+W*F+x*C),(c=!(2&_[q+180>>2]))?v=A:(w=+p[q+4>>2],R=+p[q+20>>2],B=+p[q+36>>2],k=+p[q+8>>2],j=+p[q+24>>2],F=+p[q+40>>2],v=+p[q+12>>2],D=+p[q+28>>2],ot=+p[q+44>>2],W=(w*A+R*g+B*C)*+p[q+164>>2],x=(A*k+g*j+C*F)*+p[q+168>>2],C=(A*v+g*D+C*ot)*+p[q+172>>2],p[r+16>>2]=w*W+k*x+v*C,p[r+16+4>>2]=R*W+j*x+D*C,p[r+16+8>>2]=B*W+F*x+ot*C,p[r+16+12>>2]=0,v=w*W+k*x+v*C,g=R*W+j*x+D*C,C=B*W+F*x+ot*C),a?A=S:(_t=+p[K+4>>2],R=+p[K+20>>2],B=+p[K+36>>2],w=+p[K+8>>2],j=+p[K+24>>2],F=+p[K+40>>2],k=+p[K+12>>2],D=+p[K+28>>2],ot=+p[K+44>>2],W=(_t*y+R*f+S*B)*+p[K+164>>2],x=(y*w+f*j+S*F)*+p[K+168>>2],A=(y*k+f*D+S*ot)*+p[K+172>>2],p[r>>2]=_t*W+w*x+k*A,p[r+4>>2]=R*W+j*x+D*A,p[r+8>>2]=B*W+F*x+ot*A,p[r+12>>2]=0,y=_t*W+w*x+k*A,f=R*W+j*x+D*A,A=B*W+F*x+ot*A),c||(w=+p[q+4>>2],j=+p[q+20>>2],W=+p[q+36>>2],k=+p[q+8>>2],D=+p[q+24>>2],x=+p[q+40>>2],R=+p[q+12>>2],B=+p[q+28>>2],_t=+p[q+44>>2],F=(w*y+j*f+W*A)*+p[q+164>>2],ot=(y*k+f*D+A*x)*+p[q+168>>2],A=(y*R+f*B+A*_t)*+p[q+172>>2],p[r>>2]=w*F+k*ot+R*A,p[r+4>>2]=j*F+D*ot+B*A,p[r+8>>2]=W*F+x*ot+_t*A,p[r+12>>2]=0,y=w*F+k*ot+R*A,f=j*F+D*ot+B*A,A=W*F+x*ot+_t*A),+b(+(v*v+g*g+C*C))>.001&&ge(t,r+16|0,$,tt,U,Z),+b(+(y*y+f*f+A*A))>.001&&ge(t,r,$,tt,U,Z)}}while(0);do{if(32&_[o+64>>2]){if(!(0|n[z+4+(184*J|0)+116|0])){nt=93;break}if(Oi(t,z+4+(184*J|0)+152|0,$,tt,U,Z,r+64|0,r+48|0,1,+p[z+4+(184*J|0)+132>>2],+p[z+4+(184*J|0)+140>>2]),!(16&_[o+64>>2]))break;Oi(t,z+4+(184*J|0)+168|0,$,tt,U,Z,r+64|0,r+48|0,1,+p[z+4+(184*J|0)+136>>2],+p[z+4+(184*J|0)+144>>2])}else nt=93}while(0);do{if(93==(0|nt)){if(nt=0,f=G-(G*T+V*P+O*M)*(A=+p[N>>2]),C=V-(G*T+V*P+O*M)*(w=+p[L>>2]),g=O-(G*T+V*P+O*M)*(S=+p[E>>2]),I=z+4+(184*J|0)+152|0,p[z+4+(184*J|0)+152>>2]=f,p[(c=z+4+(184*J|0)+156|0)>>2]=C,p[(m=z+4+(184*J|0)+160|0)>>2]=g,p[(h=z+4+(184*J|0)+164|0)>>2]=0,!(64&_[o+64>>2])&&f*f+C*C+g*g>1.1920928955078125e-7){if(A=1/+b(+(f*f+C*C+g*g)),p[I>>2]=f*A,p[c>>2]=C*A,p[m>>2]=g*A,1&_[K+180>>2]?(F=+p[K+4>>2],O=+p[K+20>>2],M=+p[K+36>>2],x=+p[K+8>>2],T=+p[K+24>>2],G=+p[K+40>>2],y=+p[K+12>>2],P=+p[K+28>>2],_t=+p[K+44>>2],V=(f*A*F+C*A*O+g*A*M)*+p[K+164>>2],ot=(f*A*x+C*A*T+g*A*G)*+p[K+168>>2],A=(f*A*y+C*A*P+g*A*_t)*+p[K+172>>2],p[I>>2]=F*V+x*ot+y*A,p[c>>2]=O*V+T*ot+P*A,p[m>>2]=M*V+G*ot+_t*A,p[h>>2]=0,y=F*V+x*ot+y*A,f=O*V+T*ot+P*A,A=M*V+G*ot+_t*A):(y=f*A,f=C*A,A*=g),1&_[q+180>>2]&&(B=+p[q+4>>2],x=+p[q+20>>2],P=+p[q+36>>2],W=+p[q+8>>2],O=+p[q+24>>2],V=+p[q+40>>2],F=+p[q+12>>2],T=+p[q+28>>2],ot=+p[q+44>>2],M=(B*y+x*f+P*A)*+p[q+164>>2],G=(y*W+f*O+A*V)*+p[q+168>>2],_t=(y*F+f*T+A*ot)*+p[q+172>>2],p[I>>2]=B*M+W*G+F*_t,p[c>>2]=x*M+O*G+T*_t,p[m>>2]=P*M+V*G+ot*_t,p[h>>2]=0),Oi(t,I,$,tt,U,Z,r+64|0,r+48|0,1,0,0),!(16&_[o+64>>2]))break;ot=+p[c>>2],y=+p[E>>2],M=+p[m>>2],V=+p[L>>2],_t=+p[N>>2],G=+p[I>>2],u=z+4+(184*J|0)+168|0,p[z+4+(184*J|0)+168>>2]=ot*y-M*V,c=z+4+(184*J|0)+172|0,a=z+4+(184*J|0)+176|0,p[(l=z+4+(184*J|0)+180|0)>>2]=0,A=(ot*y-M*V)*(f=1/+b(+((ot*y-M*V)*(ot*y-M*V)+(M*_t-y*G)*(M*_t-y*G)+(V*G-ot*_t)*(V*G-ot*_t)))),p[u>>2]=A,y=(M*_t-y*G)*f,p[c>>2]=y,f*=V*G-ot*_t,p[a>>2]=f,1&_[K+180>>2]&&(W=+p[K+4>>2],O=+p[K+20>>2],M=+p[K+36>>2],F=+p[K+8>>2],T=+p[K+24>>2],G=+p[K+40>>2],x=+p[K+12>>2],P=+p[K+28>>2],_t=+p[K+44>>2],V=(A*W+y*O+f*M)*+p[K+164>>2],ot=(A*F+y*T+f*G)*+p[K+168>>2],f=(A*x+y*P+f*_t)*+p[K+172>>2],p[u>>2]=W*V+F*ot+x*f,p[c>>2]=O*V+T*ot+P*f,p[a>>2]=M*V+G*ot+_t*f,p[l>>2]=0,A=W*V+F*ot+x*f,y=O*V+T*ot+P*f,f=M*V+G*ot+_t*f),1&_[q+180>>2]&&(B=+p[q+4>>2],x=+p[q+20>>2],P=+p[q+36>>2],W=+p[q+8>>2],O=+p[q+24>>2],V=+p[q+40>>2],F=+p[q+12>>2],T=+p[q+28>>2],ot=+p[q+44>>2],M=(B*A+x*y+P*f)*+p[q+164>>2],G=(A*W+y*O+f*V)*+p[q+168>>2],_t=(A*F+y*T+f*ot)*+p[q+172>>2],p[u>>2]=B*M+W*G+F*_t,p[c>>2]=x*M+O*G+T*_t,p[a>>2]=P*M+V*G+ot*_t,p[l>>2]=0),Oi(t,u,$,tt,U,Z,r+64|0,r+48|0,1,0,0);break}if(u=z+4+(184*J|0)+168|0,+d(+S)>.7071067690849304?(_t=1/+b(+(w*w+S*S)),p[I>>2]=0,p[c>>2]=-S*_t,p[m>>2]=w*_t,C=w*_t*-A,v=A*(-S*_t),g=(w*w+S*S)*_t,y=0,f=-S*_t,A=w*_t):(f=1/+b(+(A*A+w*w)),p[I>>2]=-w*f,p[c>>2]=A*f,p[m>>2]=0,C=S*(-w*f),v=(A*A+w*w)*f,g=A*f*-S,y=-w*f,f*=A,A=0),p[u>>2]=g,p[(l=z+4+(184*J|0)+172|0)>>2]=C,p[(a=z+4+(184*J|0)+176|0)>>2]=v,1&_[K+180>>2]&&(W=+p[K+4>>2],O=+p[K+20>>2],M=+p[K+36>>2],F=+p[K+8>>2],T=+p[K+24>>2],G=+p[K+40>>2],x=+p[K+12>>2],P=+p[K+28>>2],_t=+p[K+44>>2],V=(W*y+O*f+M*A)*+p[K+164>>2],ot=(y*F+f*T+A*G)*+p[K+168>>2],A=(y*x+f*P+A*_t)*+p[K+172>>2],p[I>>2]=W*V+F*ot+x*A,p[c>>2]=O*V+T*ot+P*A,p[m>>2]=M*V+G*ot+_t*A,p[h>>2]=0,y=W*V+F*ot+x*A,f=O*V+T*ot+P*A,A=M*V+G*ot+_t*A),1&_[q+180>>2]&&(B=+p[q+4>>2],x=+p[q+20>>2],P=+p[q+36>>2],W=+p[q+8>>2],O=+p[q+24>>2],V=+p[q+40>>2],F=+p[q+12>>2],T=+p[q+28>>2],ot=+p[q+44>>2],M=(B*y+x*f+P*A)*+p[q+164>>2],G=(y*W+f*O+A*V)*+p[q+168>>2],_t=(y*F+f*T+A*ot)*+p[q+172>>2],p[I>>2]=B*M+W*G+F*_t,p[c>>2]=x*M+O*G+T*_t,p[m>>2]=P*M+V*G+ot*_t,p[h>>2]=0),Oi(t,I,$,tt,U,Z,r+64|0,r+48|0,1,0,0),16&(c=0|_[o+64>>2])&&(1&_[K+180>>2]&&(B=+p[K+4>>2],j=+p[u>>2],x=+p[K+20>>2],D=+p[l>>2],P=+p[K+36>>2],_t=+p[a>>2],W=+p[K+8>>2],O=+p[K+24>>2],V=+p[K+40>>2],F=+p[K+12>>2],T=+p[K+28>>2],ot=+p[K+44>>2],M=(B*j+x*D+P*_t)*+p[K+164>>2],G=(j*W+D*O+_t*V)*+p[K+168>>2],_t=(j*F+D*T+_t*ot)*+p[K+172>>2],p[u>>2]=B*M+W*G+F*_t,p[l>>2]=x*M+O*G+T*_t,p[a>>2]=P*M+V*G+ot*_t,p[z+4+(184*J|0)+180>>2]=0),1&_[q+180>>2]&&(B=+p[q+4>>2],j=+p[u>>2],x=+p[q+20>>2],D=+p[l>>2],P=+p[q+36>>2],_t=+p[a>>2],W=+p[q+8>>2],O=+p[q+24>>2],V=+p[q+40>>2],F=+p[q+12>>2],T=+p[q+28>>2],ot=+p[q+44>>2],M=(B*j+x*D+P*_t)*+p[q+164>>2],G=(j*W+D*O+_t*V)*+p[q+168>>2],_t=(j*F+D*T+_t*ot)*+p[q+172>>2],p[u>>2]=B*M+W*G+F*_t,p[l>>2]=x*M+O*G+T*_t,p[a>>2]=P*M+V*G+ot*_t,p[z+4+(184*J|0)+180>>2]=0),Oi(t,u,$,tt,U,Z,r+64|0,r+48|0,1,0,0),c=0|_[o+64>>2]),80&~c)break;n[z+4+(184*J|0)+116|0]=1}}while(0);u=0|_[t+16>>2],m=0|_[u+(244*$|0)+240>>2],h=0|_[u+(244*tt|0)+240>>2],a=0|_[H+(152*U|0)+140>>2],l=0|_[t+76>>2],c=0|_[o+64>>2];do{if(4&c){if(A=+p[z+4+(184*J|0)+124>>2]*+p[o+60>>2],p[l+(152*a|0)+100>>2]=A,0|m&&(_t=A*((G=+p[m+344>>2])*+p[l+(152*a|0)+20>>2]*+p[m+352>>2])*+p[u+(244*$|0)+116>>2],ot=A*(G*+p[l+(152*a|0)+24>>2]*+p[m+356>>2])*+p[u+(244*$|0)+120>>2],p[u+(244*$|0)+64>>2]=A*(G*+p[l+(152*a|0)+16>>2]*+p[m+348>>2])*+p[u+(244*$|0)+112>>2]+ +p[u+(244*$|0)+64>>2],p[u+(244*$|0)+68>>2]=_t+ +p[u+(244*$|0)+68>>2],p[u+(244*$|0)+72>>2]=ot+ +p[u+(244*$|0)+72>>2],ot=A*+p[u+(244*$|0)+100>>2]*+p[l+(152*a|0)+68>>2],_t=A*+p[u+(244*$|0)+104>>2]*+p[l+(152*a|0)+72>>2],p[u+(244*$|0)+80>>2]=A*+p[u+(244*$|0)+96>>2]*+p[l+(152*a|0)+64>>2]+ +p[u+(244*$|0)+80>>2],p[u+(244*$|0)+84>>2]=ot+ +p[u+(244*$|0)+84>>2],p[u+(244*$|0)+88>>2]=_t+ +p[u+(244*$|0)+88>>2]),!h)break;T=+p[h+344>>2],V=+p[l+(152*a|0)+80>>2],ot=+p[l+(152*a|0)+84>>2],_t=+p[l+(152*a|0)+88>>2],G=+p[l+(152*a|0)+100>>2],P=+p[l+(152*a|0)+52>>2]*T*+p[h+352>>2]*G*+p[u+(244*tt|0)+116>>2],M=+p[l+(152*a|0)+56>>2]*T*+p[h+356>>2]*G*+p[u+(244*tt|0)+120>>2],p[u+(244*tt|0)+64>>2]=+p[l+(152*a|0)+48>>2]*T*+p[h+348>>2]*G*+p[u+(244*tt|0)+112>>2]+ +p[u+(244*tt|0)+64>>2],p[u+(244*tt|0)+68>>2]=P+ +p[u+(244*tt|0)+68>>2],p[u+(244*tt|0)+72>>2]=M+ +p[u+(244*tt|0)+72>>2],ot*=+p[u+(244*tt|0)+100>>2]*-G,_t*=+p[u+(244*tt|0)+104>>2]*-G,p[u+(244*tt|0)+80>>2]=+p[u+(244*tt|0)+80>>2]-V*(+p[u+(244*tt|0)+96>>2]*-G),p[u+(244*tt|0)+84>>2]=+p[u+(244*tt|0)+84>>2]-ot,p[u+(244*tt|0)+88>>2]=+p[u+(244*tt|0)+88>>2]-_t}else p[l+(152*a|0)+100>>2]=0}while(0);do{if(16&c){if(!(4&c)){p[l+(152*(a+1|0)|0)+100>>2]=0;break}if(A=+p[z+4+(184*J|0)+128>>2]*+p[o+60>>2],p[l+(152*(a+1|0)|0)+100>>2]=A,0|m&&(_t=A*((G=+p[m+344>>2])*+p[l+(152*(a+1|0)|0)+20>>2])*+p[u+(244*$|0)+116>>2],ot=A*(G*+p[l+(152*(a+1|0)|0)+24>>2])*+p[u+(244*$|0)+120>>2],p[u+(244*$|0)+64>>2]=A*(G*+p[l+(152*(a+1|0)|0)+16>>2])*+p[u+(244*$|0)+112>>2]+ +p[u+(244*$|0)+64>>2],p[u+(244*$|0)+68>>2]=_t+ +p[u+(244*$|0)+68>>2],p[u+(244*$|0)+72>>2]=ot+ +p[u+(244*$|0)+72>>2],ot=A*+p[u+(244*$|0)+100>>2]*+p[l+(152*(a+1|0)|0)+68>>2],_t=A*+p[u+(244*$|0)+104>>2]*+p[l+(152*(a+1|0)|0)+72>>2],p[u+(244*$|0)+80>>2]=A*+p[u+(244*$|0)+96>>2]*+p[l+(152*(a+1|0)|0)+64>>2]+ +p[u+(244*$|0)+80>>2],p[u+(244*$|0)+84>>2]=ot+ +p[u+(244*$|0)+84>>2],p[u+(244*$|0)+88>>2]=_t+ +p[u+(244*$|0)+88>>2]),!h)break;T=+p[h+344>>2],V=+p[l+(152*(a+1|0)|0)+80>>2],ot=+p[l+(152*(a+1|0)|0)+84>>2],_t=+p[l+(152*(a+1|0)|0)+88>>2],G=+p[l+(152*(a+1|0)|0)+100>>2],P=+p[l+(152*(a+1|0)|0)+52>>2]*T*G*+p[u+(244*tt|0)+116>>2],M=+p[l+(152*(a+1|0)|0)+56>>2]*T*G*+p[u+(244*tt|0)+120>>2],p[u+(244*tt|0)+64>>2]=+p[l+(152*(a+1|0)|0)+48>>2]*T*G*+p[u+(244*tt|0)+112>>2]+ +p[u+(244*tt|0)+64>>2],p[u+(244*tt|0)+68>>2]=P+ +p[u+(244*tt|0)+68>>2],p[u+(244*tt|0)+72>>2]=M+ +p[u+(244*tt|0)+72>>2],ot*=+p[u+(244*tt|0)+100>>2]*-G,_t*=+p[u+(244*tt|0)+104>>2]*-G,p[u+(244*tt|0)+80>>2]=+p[u+(244*tt|0)+80>>2]-V*(+p[u+(244*tt|0)+96>>2]*-G),p[u+(244*tt|0)+84>>2]=+p[u+(244*tt|0)+84>>2]-ot,p[u+(244*tt|0)+88>>2]=+p[u+(244*tt|0)+88>>2]-_t}}while(0);c=0|_[z+748>>2]}J=J+1|0}while((0|J)<(0|c))}Y=Y+1|0}while((0|Y)!=(0|i));Q=r}},function(t,e,i,n){e|=0,i|=0,n|=0,_[120+(t|=0)>>2]=e,_[t+124>>2]=i,_[t+128>>2]=n},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s=0;if(!((0|(r=0|_[268+(t|=0)>>2]))<=0)){for(e=0|_[e>>2],o=0|_[t+276>>2],i=0;(0|_[(n=o+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|r)){s=7;break}7!=(0|s)&&((0|i)>=(0|r)||(_[n>>2]=_[o+(r+-1<<2)>>2],_[t+268>>2]=r+-1))}},function(t,e,i,n){t|=0,i|=0,n|=0;var o,r,s,p=0,c=0,a=0;if(s=0|_[(e|=0)>>2],n||(n=0|_[t+188>>2]),!((0|(r=0|_[t+268>>2]))<=0)){for(o=0|_[t+276>>2],p=0;(0|_[(c=o+(p<<2)|0)>>2])!=(0|s);)if((0|(p=p+1|0))>=(0|r)){a=9;break}9!=(0|a)&&((0|p)>=(0|r)||(_[c>>2]=_[o+(r+-1<<2)>>2],_[t+268>>2]=r+-1,a=0|_[t+284>>2],Hl[31&_[12+(0|_[a>>2])>>2]](a,n,e,i)))}},function(t,e,i,n){var o;t|=0,e|=0,i|=0,n|=0,o=Q,Q=Q+16|0,_[o>>2]=6100,_[o+4>>2]=i,_[o+8>>2]=t,_d[127&_[48+(0|_[e>>2])>>2]](e,o,n),Q=o},ot,function(t,e,i,n){t|=0,i|=0,n|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;o=Q,Q=Q+128|0,((A=(c=+p[(e|=0)>>2])<(a=+p[e+16>>2])?c:a)<(s=+p[e+32>>2])?A:s)>+p[t+28>>2]||+p[(+p[(d=c>a?e:e+16|0)>>2]>s?d:e+32)>>2]<+p[t+12>>2]||((A=(s=+p[e+8>>2])<(c=+p[e+24>>2])?s:c)<(a=+p[e+40>>2])?A:a)>+p[t+36>>2]||+p[(+p[(d=s>c?e+8|0:e+24|0)>>2]>a?d:e+40)>>2]<+p[t+20>>2]||((A=(s=+p[e+4>>2])<(c=+p[e+20>>2])?s:c)<(a=+p[e+36>>2])?A:a)>+p[t+32>>2]||+p[(+p[(d=s>c?e+4|0:e+20|0)>>2]>a?d:e+36)>>2]<+p[t+16>>2]||(r=0|_[t+4>>2],(0|_[4+(0|_[r+4>>2])>>2])>=20||(d=0|_[t+48>>2],_[o+24+8>>2]=0,_[o+24+12>>2]=1065353216,_[o+24+16>>2]=1065353216,_[o+24+20>>2]=1065353216,p[o+24+24>>2]=0,_[o+24+52>>2]=0,_[o+24>>2]=4564,_[o+24+4>>2]=1,_[o+24+56>>2]=_[e>>2],_[o+24+56+4>>2]=_[e+4>>2],_[o+24+56+8>>2]=_[e+8>>2],_[o+24+56+12>>2]=_[e+12>>2],_[o+24+72>>2]=_[e+16>>2],_[o+24+72+4>>2]=_[e+16+4>>2],_[o+24+72+8>>2]=_[e+16+8>>2],_[o+24+72+12>>2]=_[e+16+12>>2],_[o+24+88>>2]=_[e+32>>2],_[o+24+88+4>>2]=_[e+32+4>>2],_[o+24+88+8>>2]=_[e+32+8>>2],_[o+24+88+12>>2]=_[e+32+12>>2],_[o+24+44>>2]=_[t+56>>2],f=0|_[t+8>>2],e=0|_[f+8>>2],l=0|_[f+12>>2],_[o>>2]=f,_[o+4>>2]=o+24,_[o+8>>2]=e,_[o+12>>2]=l,_[o+16>>2]=i,_[o+20>>2]=n,l=0|Hl[31&_[8+(0|_[d>>2])>>2]](d,r,o,0|_[t+64>>2]),e=0|_[t+44>>2],r=0|_[e+8>>2],(0|_[r+8>>2])==(0|_[8+(0|_[t+8>>2])>>2])?(_[e+8>>2]=o,_d[127&_[8+(0|_[e>>2])>>2]](e,i,n)):(r=0|_[e+12>>2],_[e+12>>2]=o,_d[127&_[12+(0|_[e>>2])>>2]](e,i,n)),dd[31&_[8+(0|_[l>>2])>>2]](l,0|_[t+4>>2],o,0|_[t+52>>2],0|_[t+44>>2]),f=0|_[t+44>>2],_[((0|_[8+(0|_[f+8>>2])>>2])==(0|_[8+(0|_[t+8>>2])>>2])?f+8:f+12)>>2]=r,Xl[511&_[_[l>>2]>>2]](l),ed[127&_[60+(0|_[d>>2])>>2]](d,l),_[o+24>>2]=8020,0|(r=0|_[o+24+52>>2])&&(Xl[511&_[_[r>>2]>>2]](r),0|(b=0|_[o+24+52>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[b+-4>>2])))),Q=o},St,function(t,e,i,n){t|=0,i|=0,n|=0;var o,r,s,c,a,l,d,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D=0,I=0,B=0,W=0,F=0,x=0;if(j=Q,Q=Q+32|0,W=+p[16+(e|=0)>>2],D=+p[e>>2],F=+p[e+20>>2],I=+p[e+4>>2],r=+p[e+24>>2],B=+p[e+8>>2],l=+p[e+32>>2],u=+p[e+36>>2],v=(F-I)*((m=+p[e+40>>2])-B)-(r-B)*(u-I),S=(r-B)*(l-D)-(W-D)*(m-B),w=(W-D)*(u-I)-(F-I)*(l-D),p[j+16>>2]=v,p[j+16+4>>2]=S,p[j+16+8>>2]=w,p[j+16+12>>2]=0,(k=v*(s=+p[t+4>>2])+S*(d=+p[t+8>>2])+w*(h=+p[t+12>>2])-(B*w+(D*v+I*S)))*(v*(c=+p[t+20>>2])+S*(A=+p[t+24>>2])+w*(y=+p[t+28>>2])-(B*w+(D*v+I*S)))>=0)Q=j;else if(k<=0&!!(1&(R=0|_[t+36>>2])))Q=j;else if((x=k/(k-(v*c+S*A+w*y-(B*w+(D*v+I*S)))))<+p[t+40>>2])if(w*((F-=A*x+d*(1-x))*(g=D-(c*x+s*(1-x)))-(f=I-(A*x+d*(1-x)))*(o=W-(c*x+s*(1-x))))+(v*(f*(W=r-(y*x+h*(1-x)))-(a=B-(y*x+h*(1-x)))*F)+S*(a*o-W*g))>=(C=-9999999747378752e-20*(w*w+(v*v+S*S))))if(w*((I=u-(A*x+d*(1-x)))*o-F*(B=l-(c*x+s*(1-x))))+(v*(F*(D=m-(y*x+h*(1-x)))-W*I)+S*(W*B-D*o))>=C){if(w*(f*B-I*g)+(v*(I*a-D*f)+S*(D*g-a*B))>=C)return D=1/+b(+(w*w+(v*v+S*S))),p[j+16>>2]=v*D,p[j+16+4>>2]=S*D,p[j+16+8>>2]=w*D,e=0|_[12+(0|_[t>>2])>>2],k<=0&!(2&R)?(p[j>>2]=-v*D,p[j+4>>2]=-S*D,p[j+8>>2]=-w*D,p[j+12>>2]=0,x=+Wl[3&e](t,j,x,i,n),p[t+40>>2]=x,void(Q=j)):(x=+Wl[3&e](t,j+16|0,x,i,n),p[t+40>>2]=x,void(Q=j));Q=j}else Q=j;else Q=j;else Q=j},function(t,e,i,n){t|=0,i|=0,n|=0;var o,r,s,c,a,l,d,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I=0,B=0,W=0,F=0,x=0,O=0;if(i=Q,Q=Q+96|0,a=+p[(e|=0)>>2],l=+p[t+28>>2],d=+p[e+4>>2],A=+p[t+32>>2],f=+p[e+8>>2],u=+p[t+36>>2],m=+p[t+44>>2],h=+p[t+48>>2],y=+p[t+52>>2],g=+p[t+60>>2],C=+p[t+64>>2],I=+p[t+68>>2],v=+p[t+76>>2],B=+p[t+80>>2],W=+p[t+84>>2],p[i+80>>2]=a*l+d*A+f*u+v,p[i+80+4>>2]=a*m+d*h+f*y+B,p[i+80+8>>2]=a*g+d*C+f*I+W,p[i+80+12>>2]=0,S=+p[e+16>>2],w=+p[e+20>>2],k=+p[e+24>>2],p[i+64>>2]=v+(l*S+A*w+u*k),p[i+64+4>>2]=B+(m*S+h*w+y*k),p[i+64+8>>2]=W+(g*S+C*w+I*k),p[i+64+12>>2]=0,F=+p[e+32>>2],x=+p[e+36>>2],c=+p[e+40>>2],p[i+48>>2]=v+(l*F+A*x+u*c),p[i+48+4>>2]=B+(m*F+h*x+y*c),p[i+48+8>>2]=W+(g*F+C*x+I*c),p[i+48+12>>2]=0,o=.3333333432674408*(a*l+d*A+f*u+v+(v+(l*S+A*w+u*k))+(v+(l*F+A*x+u*c))),r=.3333333432674408*(a*m+d*h+f*y+B+(B+(m*S+h*w+y*k))+(B+(m*F+h*x+y*c))),s=.3333333432674408*(a*g+d*C+f*I+W+(W+(g*S+C*w+I*k))+(W+(g*F+C*x+I*c))),p[i+32>>2]=o,p[i+32+4>>2]=r,p[i+32+8>>2]=s,p[i+32+12>>2]=0,e=0|_[t+8>>2],!(16384&Gl[127&_[48+(0|_[e>>2])>>2]](e)))return n=0|_[t+8>>2],O=0|_[n>>2],O=0|_[(O=O+8|0)>>2],e=t+12|0,pd[127&O](n,i+80|0,i+64|0,e),n=0|_[t+8>>2],O=0|_[n>>2],O=0|_[(O=O+8|0)>>2],pd[127&O](n,i+64|0,i+48|0,e),t=0|_[t+8>>2],n=0|_[t>>2],n=0|_[(n=n+8|0)>>2],pd[127&n](t,i+48|0,i+80|0,e),void(Q=i);j=B+(m*S+h*w+y*k)-(a*m+d*h+f*y+B),W=(R=W+(g*S+C*w+I*k)-(a*g+d*C+f*I+W))*(v+(l*F+A*x+u*c)-(D=+p[i+80>>2]))-(v+(l*S+A*w+u*k)-D)*(I=W+(g*F+C*x+I*c)-(a*g+d*C+f*I+W)),x=1/+b(+((F=(v+(l*S+A*w+u*k)-D)*(B=B+(m*F+h*x+y*c)-(a*m+d*h+f*y+B))-j*(v+(l*F+A*x+u*c)-D))*F+((j*I-R*B)*(j*I-R*B)+W*W))),_[i+16>>2]=1065353216,_[i+16+4>>2]=1065353216,_[i+16+8>>2]=0,p[i+16+12>>2]=0,e=0|_[t+8>>2],n=0|_[8+(0|_[e>>2])>>2],p[i>>2]=(j*I-R*B)*x+o,p[i+4>>2]=W*x+r,p[i+8>>2]=F*x+s,p[i+12>>2]=0,pd[127&n](e,i+32|0,i,i+16|0),e=0|_[t+8>>2],n=0|_[e>>2],n=0|_[(n=n+8|0)>>2],O=t+12|0,pd[127&n](e,i+80|0,i+64|0,O),e=0|_[t+8>>2],n=0|_[e>>2],n=0|_[(n=n+8|0)>>2],pd[127&n](e,i+64|0,i+48|0,O),t=0|_[t+8>>2],e=0|_[t>>2],e=0|_[(e=e+8|0)>>2],pd[127&e](t,i+48|0,i+80|0,O),Q=i},Ar,function(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[8+(0|_[(t|=0)-4>>2])>>2]](t+-4|0,e,i,n)},function(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r,s=0,c=0,a=0,l=0,d=0;r=Q,Q=Q+672|0,_[r+568+8>>2]=0,_[r+568+12>>2]=1065353216,_[r+568+16>>2]=1065353216,_[r+568+20>>2]=1065353216,p[r+568+24>>2]=0,_[r+568+52>>2]=0,_[r+568>>2]=4564,_[r+568+4>>2]=1,_[r+568+56>>2]=_[e>>2],_[r+568+56+4>>2]=_[e+4>>2],_[r+568+56+8>>2]=_[e+8>>2],_[r+568+56+12>>2]=_[e+12>>2],_[r+568+72>>2]=_[e+16>>2],_[r+568+72+4>>2]=_[e+16+4>>2],_[r+568+72+8>>2]=_[e+16+8>>2],_[r+568+72+12>>2]=_[e+16+12>>2],_[r+568+88>>2]=_[e+32>>2],_[r+568+88+4>>2]=_[e+32+4>>2],_[r+568+88+8>>2]=_[e+32+8>>2],_[r+568+88+12>>2]=_[e+32+12>>2],_[r+568+44>>2]=_[t+204>>2],p[r+208+308>>2]=9999999747378752e-20,n[r+208+332|0]=0,_[r+200>>2]=10116,e=0|_[t+4>>2],_[r+176>>2]=10184,_[r+176+4>>2]=r+208,_[r+176+8>>2]=r+200,_[r+176+12>>2]=e,_[r+176+16>>2]=r+568,_[r+176+20>>2]=0,_[r>>2]=4536,_[r+168>>2]=0,p[r+164>>2]=1,_[r+172>>2]=_[t+208>>2],0|Ie(r+176|0,t+8|0,t+72|0,t+136|0,t+136|0,r)&&(s=+p[r+132>>2])*s+(c=+p[r+136>>2])*c+(a=+p[r+140>>2])*a>9999999747378752e-20&&(l=+p[r+164>>2])<+p[t+200>>2]&&(d=1/+b(+(s*s+c*c+a*a)),p[r+132>>2]=s*d,p[r+136>>2]=c*d,p[r+140>>2]=a*d,xl[3&_[12+(0|_[t>>2])>>2]](t,r+132|0,r+148|0,l,i,o)),_[r+568>>2]=8020,(t=0|_[r+568+52>>2])?(Xl[511&_[_[t>>2]>>2]](t),(t=0|_[r+568+52>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]),Q=r):Q=r):Q=r},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,b,A,f,u,m,h,y,g,C,v,S,w,k,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0;k=+p[48+(t|=0)>>2],O=+p[t+32>>2],w=+p[t+52>>2],x=+p[t+36>>2],v=+p[t+56>>2],F=+p[t+40>>2],I=((S=!(0|_[t+16>>2]))?0:.5*(k-O))+(I=+Il[15&_[48+(0|_[t>>2])>>2]](t)),D=(S?0:.5*(w-x))+(D=+Il[15&_[48+(0|_[t>>2])>>2]](t)),j=(S?0:.5*(v-F))+(j=+Il[15&_[48+(0|_[t>>2])>>2]](t)),C=+p[e>>2],f=+d(+C),g=+p[e+4>>2],A=+d(+g),W=+p[e+8>>2],b=+d(+W),y=+p[e+16>>2],l=+d(+y),h=+p[e+20>>2],a=+d(+h),B=+p[e+24>>2],c=+d(+B),m=+p[e+32>>2],s=+d(+m),u=+p[e+36>>2],r=+d(+u),R=+p[e+40>>2],o=+d(+R),W=(O=S?0:.5*(k+O))*C+(x=S?0:.5*(w+x))*g+(F=S?0:.5*(v+F))*W+ +p[e+48>>2],B=O*y+x*h+F*B+ +p[e+52>>2],R=O*m+x*u+F*R+ +p[e+56>>2],p[i>>2]=W-(I*f+D*A+j*b),p[i+4>>2]=B-(I*l+D*a+j*c),p[i+8>>2]=R-(I*s+D*r+j*o),p[i+12>>2]=0,p[n>>2]=I*f+D*A+j*b+W,p[n+4>>2]=I*l+D*a+j*c+B,p[n+8>>2]=I*s+D*r+j*o+R,p[n+12>>2]=0},U_,function(t,e,i,n){t|=0,e|=0,i|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0;if(o=Q,Q=Q+16|0,(0|(n|=0))<=0)Q=o;else{f=0;do{s=.5*+p[t+60>>2],c=0|_[t+68>>2],l=+p[e+(f<<4)>>2],d=+p[e+(f<<4)+4>>2],A=+p[e+(f<<4)+8>>2],A=+b(+(l*l+d*d+A*A)),a=0|_[t+64>>2];do{if(!(+p[e+(f<<4)+(c<<2)>>2]>+p[t+52>>2]*A)){if(l=+p[e+(f<<4)+(a<<2)>>2],r=0|_[t+72>>2],d=+p[e+(f<<4)+(r<<2)>>2],(A=+b(+(l*l+d*d)))>1.1920928955078125e-7){A=+p[t+56>>2]/A,p[o+(a<<2)>>2]=l*A,p[o+(c<<2)>>2]=-s,s=d*A;break}p[o+(a<<2)>>2]=0,p[o+(c<<2)>>2]=-s,s=0;break}p[o+(a<<2)>>2]=0,p[o+(c<<2)>>2]=s,s=0,r=0|_[t+72>>2]}while(0);p[o+(r<<2)>>2]=s,_[(a=i+(f<<4)|0)>>2]=_[o>>2],_[a+4>>2]=_[o+4>>2],_[a+8>>2]=_[o+8>>2],_[a+12>>2]=_[o+12>>2],f=f+1|0}while((0|f)!=(0|n));Q=o}},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c=0,a=0;o=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),a=+Il[15&_[48+(0|_[t>>2])>>2]](t),c=+Il[15&_[48+(0|_[t>>2])>>2]](t),s=+p[e+52>>2]-a,r=+p[e+56>>2]-c,p[i>>2]=+p[e+48>>2]-o,p[i+4>>2]=s,p[i+8>>2]=r,p[i+12>>2]=0,a+=+p[e+52>>2],c+=+p[e+56>>2],p[n>>2]=o+ +p[e+48>>2],p[n+4>>2]=a,p[n+8>>2]=c,p[n+12>>2]=0},function(t,e,i,n){i|=0,(0|(n|=0))<=0||wn(0|i,0,n<<4)},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I=0,B=0,W=0,F=0;b=.5*(+p[32+(t|=0)>>2]-+p[t+16>>2]),c=.5*(+p[t+36>>2]-+p[t+20>>2]),B=.5*(+p[t+40>>2]-+p[t+24>>2]),l=+Il[15&_[48+(0|_[t>>2])>>2]](t),s=+Il[15&_[48+(0|_[t>>2])>>2]](t),B+=+Il[15&_[48+(0|_[t>>2])>>2]](t),w=.5*(+p[t+32>>2]+ +p[t+16>>2]),v=.5*(+p[t+36>>2]+ +p[t+20>>2]),g=.5*(+p[t+40>>2]+ +p[t+24>>2]),D=+p[e>>2],y=+d(+D),j=+p[e+4>>2],h=+d(+j),F=+p[e+8>>2],m=+d(+F),R=+p[e+16>>2],u=+d(+R),k=+p[e+20>>2],f=+d(+k),W=+p[e+24>>2],A=+d(+W),S=+p[e+32>>2],a=+d(+S),C=+p[e+36>>2],r=+d(+C),I=+p[e+40>>2],o=+d(+I),F=w*D+v*j+g*F+ +p[e+48>>2],W=w*R+v*k+g*W+ +p[e+52>>2],I=w*S+v*C+g*I+ +p[e+56>>2],p[i>>2]=F-((b+l)*y+(c+s)*h+B*m),p[i+4>>2]=W-((b+l)*u+(c+s)*f+B*A),p[i+8>>2]=I-((b+l)*a+(c+s)*r+B*o),p[i+12>>2]=0,p[n>>2]=(b+l)*y+(c+s)*h+B*m+F,p[n+4>>2]=(b+l)*u+(c+s)*f+B*A+W,p[n+8>>2]=(b+l)*a+(c+s)*r+B*o+I,p[n+12>>2]=0},function(t,e,i,r){e|=0,i|=0,r|=0;var c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;if(A=Q,Q=Q+80|0,B=0|_[48+(t|=0)>>2],_[A>>2]=7760,_[A+4>>2]=B,_[A+8>>2]=e,B=0|_[t+52>>2],!(0|n[B+60|0])){if((0|(e=0|_[B+56>>2]))>0)for(I=0,t=0,D=0|_[B+96>>2];t=t+1|0,w=+p[i>>2]>+p[D+16>>2]||+p[r>>2]<+p[D>>2]?0:1,(+p[i+8>>2]>+p[D+24>>2]||+p[r+8>>2]<+p[D+8>>2])&&(w=0),+p[i+4>>2]>+p[D+20>>2]||+p[r+4>>2]<+p[D+4>>2]?(w=0,R=-1==(0|(k=0|_[D+32>>2])),j=43):w&-1==(0|(k=0|_[D+32>>2]))?(_d[127&_[8+(0|_[A>>2])>>2]](A,0|_[D+36>>2],0|_[D+40>>2]),e=0|_[B+56>>2],j=44):(R=-1==(0|k),j=43),43==(0|j)&&(j=0,R|w?j=44:(R=D+(k<<6)|0,w=k+I|0)),44==(0|j)&&(R=D+64|0,w=I+1|0),(0|w)<(0|e);)I=w,D=R;else t=0;return(0|_[6610])>=(0|t)||(_[6610]=t),void(Q=A)}switch(W=+p[i>>2],F=+p[i+4>>2],x=+p[i+8>>2],W=W<(C=+p[B+4>>2])?C:W,F=F<(h=+p[B+8>>2])?h:F,x=x<(f=+p[B+12>>2])?f:x,v=+p[B+20>>2],y=+p[B+24>>2],u=+p[B+28>>2],S=+p[B+36>>2],g=+p[B+40>>2],m=+p[B+44>>2],l=((v>1]=l,d=((y>1]=d,o[A+66+4>>1]=b,x=+p[r>>2],F=(F=+p[r+4>>2])>2])>1]=r,c=g*((y>1]=c,o[A+60+4>>1]=a,0|_[B+144>>2]){case 0:if((0|(D=0|_[B+56>>2]))>0){t=0,e=0|_[B+136>>2],w=0;do{t=t+1|0,k=((65535&r)>=(0|s[e>>1])?(65535&l)<=(0|s[e+6>>1]):0)&(65535&b)<=(0|s[e+10>>1])&(65535&a)>=(0|s[e+4>>1])&(65535&d)<=(0|s[e+8>>1])&(65535&c)>=(0|s[e+2>>1]),(0|(j=0|_[(R=e+12|0)>>2]))>-1&k&&_d[127&_[8+(0|_[A>>2])>>2]](A,j>>>21,2097151&j),k|(0|j)>-1?(w=w+1|0,e=e+16|0):(w=w-(B=0|_[R>>2])|0,e=e+(0-B<<4)|0)}while((0|w)<(0|D))}else t=0;(0|_[6610])<(0|t)&&(_[6610]=t);break;case 1:if((0|_[B+152>>2])>0){i=0;do{if(t=0|_[B+160>>2],((65535&r)>=(0|s[t+(i<<5)>>1])?(65535&l)<=(0|s[t+(i<<5)+6>>1]):0)&(65535&b)<=(0|s[t+(i<<5)+10>>1])&(65535&a)>=(0|s[t+(i<<5)+4>>1])&(65535&d)<=(0|s[t+(i<<5)+8>>1])&(65535&c)>=(0|s[t+(i<<5)+2>>1])){I=0|_[t+(i<<5)+12>>2],D=0|_[t+(i<<5)+16>>2];t:do{if((0|D)>0){for(t=0,e=(0|_[B+136>>2])+(I<<4)|0,w=I;;)if(t=t+1|0,k=((65535&r)>=(0|s[e>>1])?(65535&l)<=(0|s[e+6>>1]):0)&(65535&b)<=(0|s[e+10>>1])&(65535&a)>=(0|s[e+4>>1])&(65535&d)<=(0|s[e+8>>1])&(65535&c)>=(0|s[e+2>>1]),(0|(j=0|_[(R=e+12|0)>>2]))>-1&k&&_d[127&_[8+(0|_[A>>2])>>2]](A,j>>>21,2097151&j),k|(0|j)>-1?(w=w+1|0,e=e+16|0):(w=w-(j=0|_[R>>2])|0,e=e+(0-j<<4)|0),(0|w)>=(D+I|0))break t}else t=0}while(0);(0|_[6610])<(0|t)&&(_[6610]=t)}i=i+1|0}while((0|i)<(0|_[B+152>>2]))}break;case 2:yn(0|_[B+136>>2],A,A+66|0,A+60|0)}Q=A},function(t,e,i,n){var o;t|=0,e|=0,i|=0,n|=0,o=Q,Q=Q+48|0,_[o>>2]=7924,_[o+4>>2]=e,_[o+8>>2]=_[i>>2],_[o+8+4>>2]=_[i+4>>2],_[o+8+8>>2]=_[i+8>>2],_[o+8+12>>2]=_[i+12>>2],_[o+24>>2]=_[n>>2],_[o+24+4>>2]=_[n+4>>2],_[o+24+8>>2]=_[n+8>>2],_[o+24+12>>2]=_[n+12>>2],e=0|_[t+48>>2],pd[127&_[8+(0|_[e>>2])>>2]](e,o,i,n),Q=o},function(t,e,i,n){e|=0;var o,r,s,c=0,a=0;s=+p[88+(t|=0)>>2],o=+p[t+92>>2],r=+p[t+96>>2],(c=s*+p[e>>2]+o*+p[e+4>>2]+r*+p[e+8>>2])>(a=+p[t+84>>2])?(p[t+84>>2]=c,_[t+4>>2]=_[e>>2],_[t+4+4>>2]=_[e+4>>2],_[t+4+8>>2]=_[e+8>>2],_[t+4+12>>2]=_[e+12>>2]):c=a,(a=s*+p[e+16>>2]+o*+p[e+20>>2]+r*+p[e+24>>2])>c?(p[t+84>>2]=a,_[t+4>>2]=_[e+16>>2],_[t+4+4>>2]=_[e+16+4>>2],_[t+4+8>>2]=_[e+16+8>>2],_[t+4+12>>2]=_[e+16+12>>2]):a=c,(c=s*+p[e+32>>2]+o*+p[e+36>>2]+r*+p[e+40>>2])>a&&(p[t+84>>2]=c,_[t+4>>2]=_[e+32>>2],_[t+4+4>>2]=_[e+32+4>>2],_[t+4+8>>2]=_[e+32+8>>2],_[t+4+12>>2]=_[e+32+12>>2])},function(t,e,i,n){t|=0,i|=0,n|=0;var o=0,r=0,s=0,c=0,a=0;((c=(r=+p[(e|=0)>>2])<(s=+p[e+16>>2])?r:s)<(o=+p[e+32>>2])?c:o)>+p[t+24>>2]||+p[(+p[(a=r>s?e:e+16|0)>>2]>o?a:e+32)>>2]<+p[t+8>>2]||((c=(o=+p[e+8>>2])<(r=+p[e+24>>2])?o:r)<(s=+p[e+40>>2])?c:s)>+p[t+32>>2]||+p[(+p[(a=o>r?e+8|0:e+24|0)>>2]>s?a:e+40)>>2]<+p[t+16>>2]||((c=(o=+p[e+4>>2])<(r=+p[e+20>>2])?o:r)<(s=+p[e+36>>2])?c:s)>+p[t+28>>2]||+p[(+p[(a=o>r?e+4|0:e+20|0)>>2]>s?a:e+36)>>2]<+p[t+12>>2]||(a=0|_[t+4>>2],pd[127&_[8+(0|_[a>>2])>>2]](a,e,i,n))},function(t,e,i,n){n|=0,_[(i|=0)>>2]=-581039253,_[i+4>>2]=-581039253,_[i+8>>2]=-581039253,p[i+12>>2]=0,_[n>>2]=1566444395,_[n+4>>2]=1566444395,_[n+8>>2]=1566444395,p[n+12>>2]=0},function(t,e,i,n){t|=0,e|=0,i|=0;var o,r,s,c,a,l,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0;a=Q,Q=Q+48|0,S=+p[(n|=0)>>2],w=+p[i>>2],k=+p[n+4>>2],v=+p[i+4>>2],c=+p[n+8>>2],o=+p[i+8>>2],r=+b(+(.5*(S-w)*(.5*(S-w))+.5*(k-v)*(.5*(k-v))+.5*(c-o)*(.5*(c-o)))),s=+p[t+56>>2],+d(+s)>.7071067690849304?(C=+p[t+52>>2],y=1/+b(+(s*s+C*C)),A=(g=+p[t+48>>2])*(-s*y),f=(s*s+C*C)*y,u=0,m=C*y*-g,h=-s*y,y*=C):(A=((g=+p[t+48>>2])*g+(C=+p[t+52>>2])*C)*(h=1/+b(+(g*g+C*C))),f=g*h*-s,u=-C*h,m=s*(-C*h),h*=g,y=0),v=.5*(k+v)-C*(l=s*(.5*(c+o))+(.5*(S+w)*g+.5*(k+v)*C)-+p[t+64>>2]),g=.5*(S+w)-g*l,u*=r,S=r*h,k=r*y,y=r*f,C=r*m,w=r*A,p[a>>2]=y+(u+g),p[a+4>>2]=C+(S+v),p[a+8>>2]=w+(k+(.5*(c+o)-s*l)),p[a+12>>2]=0,p[a+16>>2]=u+g-y,p[a+20>>2]=S+v-C,p[a+24>>2]=k+(.5*(c+o)-s*l)-w,p[a+28>>2]=0,p[a+32>>2]=g-u-y,p[a+36>>2]=v-S-C,p[a+40>>2]=.5*(c+o)-s*l-k-w,p[a+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,a,0,0),p[a>>2]=g-u-y,p[a+4>>2]=v-S-C,p[a+8>>2]=.5*(c+o)-s*l-k-w,p[a+12>>2]=0,p[a+16>>2]=y+(g-u),p[a+20>>2]=C+(v-S),p[a+24>>2]=w+(.5*(c+o)-s*l-k),p[a+28>>2]=0,p[a+32>>2]=y+(u+g),p[a+36>>2]=C+(S+v),p[a+40>>2]=w+(k+(.5*(c+o)-s*l)),p[a+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,a,0,1),Q=a},function(t,e,i,n){t|=0,e|=0,i|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0;if(o=Q,Q=Q+2048|0,(0|(n|=0))<=0)Q=o;else{r=0;do{p[i+(r<<4)+12>>2]=-0xde0b6b000000000,r=r+1|0}while((0|r)!=(0|n));f=0;do{if((0|Gl[127&_[96+(0|_[t>>2])>>2]](t))>0){u=e+(f<<4)|0,m=e+(f<<4)+4|0,h=e+(f<<4)+8|0,y=i+(f<<4)+12|0,g=i+(f<<4)|0,A=0;do{if(((0|Gl[127&_[96+(0|_[t>>2])>>2]](t))-A|0)<128?(0|(r=(0|Gl[127&_[96+(0|_[t>>2])>>2]](t))-A|0))>0?C=11:(c=-34028234663852886e22,r=-1):(r=128,C=11),11==(0|C)){C=0,s=0;do{_d[127&_[108+(0|_[t>>2])>>2]](t,s,o+(s<<4)|0),s=s+1|0}while((0|s)!=(0|r));l=+p[u>>2],d=+p[m>>2],b=+p[h>>2],s=-1,a=0,c=-34028234663852886e22;do{s=(S=(v=l*+p[o+(a<<4)>>2]+d*+p[o+(a<<4)+4>>2]+b*+p[o+(a<<4)+8>>2])>c)?a:s,c=S?v:c,a=a+1|0}while((0|a)!=(0|r));r=s}c>+p[y>>2]&&(S=o+(r<<4)|0,_[g>>2]=_[S>>2],_[g+4>>2]=_[S+4>>2],_[g+8>>2]=_[S+8>>2],_[g+12>>2]=_[S+12>>2],p[y>>2]=c),A=A+128|0}while((0|A)<(0|Gl[127&_[96+(0|_[t>>2])>>2]](t)))}f=f+1|0}while((0|f)!=(0|n));Q=o}},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,b,A,f,u,m,h,y,g,C,v,S,w,k,R=0,j=0,D=0,I=0,B=0,W=0;s=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),f=+p[t+72>>2],A=+p[t+56>>2],l=+p[t+76>>2],a=+p[t+60>>2],r=+p[t+80>>2],o=+p[t+64>>2],k=+p[e>>2],y=+d(+k),w=+p[e+4>>2],h=+d(+w),B=+p[e+8>>2],W=+d(+B),S=+p[e+16>>2],m=+d(+S),v=+p[e+20>>2],u=+d(+v),D=+p[e+24>>2],I=+d(+D),C=+p[e+32>>2],b=+d(+C),g=+p[e+36>>2],c=+d(+g),R=+p[e+40>>2],j=+d(+R),B=.5*(f+A)*k+.5*(l+a)*w+.5*(r+o)*B+ +p[e+48>>2],D=.5*(f+A)*S+.5*(l+a)*v+.5*(r+o)*D+ +p[e+52>>2],R=.5*(f+A)*C+.5*(l+a)*g+.5*(r+o)*R+ +p[e+56>>2],W=(s+.5*(f-A))*y+(s+.5*(l-a))*h+(s+.5*(r-o))*W,I=(s+.5*(f-A))*m+(s+.5*(l-a))*u+(s+.5*(r-o))*I,j=(s+.5*(f-A))*b+(s+.5*(l-a))*c+(s+.5*(r-o))*j,p[i>>2]=B-W,p[i+4>>2]=D-I,p[i+8>>2]=R-j,p[i+12>>2]=0,p[n>>2]=W+B,p[n+4>>2]=I+D,p[n+8>>2]=j+R,p[n+12>>2]=0},function(t,e,i,n){t|=0,e|=0,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0;if(!((0|(n|=0))<=0)){o=0;do{p[i+(o<<4)+12>>2]=-0xde0b6b000000000,o=o+1|0}while((0|o)!=(0|n));m=0;do{if(c=+p[t+12>>2],a=+p[e+(m<<4)>>2]*c,l=+p[t+16>>2],d=+p[e+(m<<4)+4>>2]*l,b=+p[t+20>>2],A=+p[e+(m<<4)+8>>2]*b,(0|(f=0|_[t+96>>2]))>0){u=0|_[t+104>>2],o=-1,s=0,r=-34028234663852886e22;do{o=(y=(h=a*+p[u+(s<<4)>>2]+d*+p[u+(s<<4)+4>>2]+A*+p[u+(s<<4)+8>>2])>r)?s:o,r=y?h:r,s=s+1|0}while((0|s)!=(0|f));A=+p[u+(o<<4)+4>>2]*l,h=+p[u+(o<<4)+8>>2]*b,p[i+(m<<4)>>2]=+p[u+(o<<4)>>2]*c,p[i+(m<<4)+4>>2]=A,p[i+(m<<4)+8>>2]=h}else r=-0xde0b6b000000000;p[i+(m<<4)+12>>2]=r,m=m+1|0}while((0|m)!=(0|n))}},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s=0,c=0;o=0|_[96+(t|=0)>>2],r=0|_[t+104>>2],s=+p[r+((0|e)%(0|o)<<4)+4>>2]*+p[t+16>>2],c=+p[r+((0|e)%(0|o)<<4)+8>>2]*+p[t+20>>2],p[i>>2]=+p[r+((0|e)%(0|o)<<4)>>2]*+p[t+12>>2],p[i+4>>2]=s,p[i+8>>2]=c,p[i+12>>2]=0,i=0|_[t+104>>2],c=+p[i+((e+1|0)%(0|o)<<4)+4>>2]*+p[t+16>>2],s=+p[i+((e+1|0)%(0|o)<<4)+8>>2]*+p[t+20>>2],p[n>>2]=+p[i+((e+1|0)%(0|o)<<4)>>2]*+p[t+12>>2],p[n+4>>2]=c,p[n+8>>2]=s,p[n+12>>2]=0},rp,function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,b,A,f,u,m,h,y,g,C=0,v=0,S=0;o=Q,Q=Q+16|0,g=0|_[52+(t|=0)>>2],S=+p[t+28+((g+2|0)%3<<2)>>2],p[o>>2]=S,p[o+4>>2]=S,p[o+8>>2]=S,p[o+12>>2]=0,p[o+(g<<2)>>2]=S+ +p[t+28+(g<<2)>>2],S=+Il[15&_[48+(0|_[t>>2])>>2]](t),v=+Il[15&_[48+(0|_[t>>2])>>2]](t),C=+Il[15&_[48+(0|_[t>>2])>>2]](t),S+=+p[o>>2],p[o>>2]=S,v+=+p[o+4>>2],p[o+4>>2]=v,C+=+p[o+8>>2],y=+d(+ +p[e>>2]),h=+d(+ +p[e+4>>2]),m=+d(+ +p[e+8>>2]),f=+d(+ +p[e+16>>2]),A=+d(+ +p[e+20>>2]),b=+d(+ +p[e+24>>2]),c=+d(+ +p[e+32>>2]),s=+d(+ +p[e+36>>2]),r=+d(+ +p[e+40>>2]),u=+p[e+48>>2],l=+p[e+52>>2],a=+p[e+56>>2],p[i>>2]=u-(S*y+v*h+C*m),p[i+4>>2]=l-(S*f+v*A+C*b),p[i+8>>2]=a-(S*c+v*s+C*r),p[i+12>>2]=0,p[n>>2]=S*y+v*h+C*m+u,p[n+4>>2]=S*f+v*A+C*b+l,p[n+8>>2]=a+(S*c+v*s+C*r),p[n+12>>2]=0,Q=o},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0;if(r=Q,Q=Q+16|0,c=0|_[52+(t|=0)>>2],o=+p[t+28+((c+2|0)%3<<2)>>2],(0|n)<=0)Q=r;else{for(s=0;_[r>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+(c<<2)>>2]=_[t+28+(c<<2)>>2],h=e+(s<<4)+4|0,y=e+(s<<4)+8|0,b=o*+p[(c=e+(s<<4)|0)>>2]+ +p[r>>2],A=o*+p[h>>2]+ +p[r+4>>2],f=o*+p[y>>2]+ +p[r+8>>2],u=+Il[15&_[48+(0|_[t>>2])>>2]](t),(a=+p[c>>2])*(b-u*a)+(l=+p[h>>2])*(A-u*l)+(d=+p[y>>2])*(f-u*d)>-0xde0b6b000000000?(p[i+(s<<4)>>2]=b-u*a,p[i+(s<<4)+4>>2]=A-u*l,p[i+(s<<4)+8>>2]=f-u*d,p[i+(s<<4)+12>>2]=0,m=a*(b-u*a)+l*(A-u*l)+d*(f-u*d),a=+p[c>>2],l=+p[h>>2],d=+p[y>>2]):m=-0xde0b6b000000000,_[r>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,g=0|_[t+52>>2],p[r+(g<<2)>>2]=-+p[t+28+(g<<2)>>2],u=o*a+ +p[r>>2],f=o*l+ +p[r+4>>2],b=o*d+ +p[r+8>>2],A=+Il[15&_[48+(0|_[t>>2])>>2]](t),(d=+p[c>>2])*(u-A*d)+(l=+p[h>>2])*(f-A*l)+(a=+p[y>>2])*(b-A*a)>m&&(p[i+(s<<4)>>2]=u-A*d,p[i+(s<<4)+4>>2]=f-A*l,p[i+(s<<4)+8>>2]=b-A*a,p[i+(s<<4)+12>>2]=0),(0|(s=s+1|0))!=(0|n);)c=0|_[t+52>>2];Q=r}},function(t,e,i,n){t|=0,e|=0,i|=0;var o,r,s=0,c=0,a=0;if(r=Q,Q=Q+80|0,(0|(n|=0))<=0)Q=r;else{s=0;do{p[i+(s<<4)+12>>2]=-0xde0b6b000000000,s=s+1|0}while((0|s)!=(0|n));o=r+32+4|0,s=0;do{c=e+(s<<4)|0,_[r+32>>2]=8820,_[o>>2]=0,_[o+4>>2]=0,_[o+8>>2]=0,_[o+12>>2]=0,p[r+32+20>>2]=-0xde0b6b000000000,_[r+32+24>>2]=_[c>>2],_[r+32+24+4>>2]=_[c+4>>2],_[r+32+24+8>>2]=_[c+8>>2],_[r+32+24+12>>2]=_[c+12>>2],_[r+16>>2]=1566444395,_[r+16+4>>2]=1566444395,_[r+16+8>>2]=1566444395,p[r+16+12>>2]=0,c=0|_[t+92>>2],a=0|_[8+(0|_[c>>2])>>2],p[r>>2]=-0xde0b6b000000000,p[r+4>>2]=-0xde0b6b000000000,p[r+8>>2]=-0xde0b6b000000000,p[r+12>>2]=0,pd[127&a](c,r+32|0,r,r+16|0),_[(c=i+(s<<4)|0)>>2]=_[o>>2],_[c+4>>2]=_[o+4>>2],_[c+8>>2]=_[o+8>>2],_[c+12>>2]=_[o+12>>2],s=s+1|0}while((0|s)<(0|n));Q=r}},rp,rp,function(t,e,i,n){e|=0;var o,r,s,c=0,a=0;s=+p[24+(t|=0)>>2],o=+p[t+28>>2],r=+p[t+32>>2],(c=s*+p[e>>2]+o*+p[e+4>>2]+r*+p[e+8>>2])>(a=+p[t+20>>2])?(p[t+20>>2]=c,_[t+4>>2]=_[e>>2],_[t+4+4>>2]=_[e+4>>2],_[t+4+8>>2]=_[e+8>>2],_[t+4+12>>2]=_[e+12>>2]):c=a,(a=s*+p[e+16>>2]+o*+p[e+20>>2]+r*+p[e+24>>2])>c?(p[t+20>>2]=a,_[t+4>>2]=_[e+16>>2],_[t+4+4>>2]=_[e+16+4>>2],_[t+4+8>>2]=_[e+16+8>>2],_[t+4+12>>2]=_[e+16+12>>2]):a=c,(c=s*+p[e+32>>2]+o*+p[e+36>>2]+r*+p[e+40>>2])>a&&(p[t+20>>2]=c,_[t+4>>2]=_[e+32>>2],_[t+4+4>>2]=_[e+32+4>>2],_[t+4+8>>2]=_[e+32+8>>2],_[t+4+12>>2]=_[e+32+12>>2])},tn,function(t,e,i,n){t|=0,e|=0,i|=0;var o=0,_=0,r=0,s=0;if(!((0|(n|=0))<=0)){o=0;do{s=+p[t+28>>2],r=+p[t+32>>2],r=+p[e+(o<<4)+4>>2]>=0?r:-r,_=+p[t+36>>2],_=+p[e+(o<<4)+8>>2]>=0?_:-_,p[i+(o<<4)>>2]=+p[e+(o<<4)>>2]>=0?s:-s,p[i+(o<<4)+4>>2]=r,p[i+(o<<4)+8>>2]=_,p[i+(o<<4)+12>>2]=0,o=o+1|0}while((0|o)!=(0|n))}},function(t,e,i,n){t|=0,i|=0,n|=0;var o=0;switch(0|(e|=0)){case 0:e=1,o=0;break;case 1:e=2,o=0;break;case 2:e=3,o=1;break;case 3:e=3,o=2;break;case 4:e=4,o=0;break;case 5:e=5,o=1;break;case 6:e=6,o=2;break;case 7:e=7,o=3;break;case 8:e=5,o=4;break;case 9:e=6,o=4;break;case 10:e=7,o=5;break;case 11:e=7,o=6;break;default:e=0,o=0}_d[127&_[108+(0|_[t>>2])>>2]](t,o,i),_d[127&_[108+(0|_[t>>2])>>2]](t,e,n)},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,l=0,d=0,b=0;o=Q,Q=Q+48|0,_d[127&_[124+(0|_[(t|=0)>>2])>>2]](t,o+32|0,n),c=0|_[o+32>>2],s=0|_[o+32+4>>2],r=0|_[o+32+8>>2],_[e>>2]=c,_[e+4>>2]=s,_[e+8>>2]=r,p[e+12>>2]=0,n=0|_[64+(0|_[t>>2])>>2],_[a>>2]=c,b=-+p[a>>2],_[a>>2]=s,d=-+p[a>>2],_[a>>2]=r,l=-+p[a>>2],p[o>>2]=b,p[o+4>>2]=d,p[o+8>>2]=l,p[o+12>>2]=0,_d[127&n](o+16|0,t,o),_[i>>2]=_[o+16>>2],_[i+4>>2]=_[o+16+4>>2],_[i+8>>2]=_[o+16+8>>2],_[i+12>>2]=_[o+16+12>>2],Q=o},function(t,e,i,r){t|=0,i|=0,r|=0;var s,c,l,d,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;if(y=+p[(e|=0)>>2],p[a>>2]=y,b=0|_[a>>2],w=y<0xde0b6b000000000?b:1566444395,u=+p[e+4>>2],p[a>>2]=u,f=0|_[a>>2],k=u<0xde0b6b000000000?f:1566444395,D=+p[e+8>>2],p[a>>2]=D,h=0|_[a>>2],R=D<0xde0b6b000000000?h:1566444395,b=y>-0xde0b6b000000000?b:-581039253,f=u>-0xde0b6b000000000?f:-581039253,h=D>-0xde0b6b000000000?h:-581039253,S=(D=+p[e+16>>2])<(_[a>>2]=w,+p[a>>2]),p[a>>2]=D,A=0|_[a>>2],w=S?A:w,S=(u=+p[e+20>>2])<(_[a>>2]=k,+p[a>>2]),p[a>>2]=u,m=0|_[a>>2],k=S?m:k,S=(y=+p[e+24>>2])<(_[a>>2]=R,+p[a>>2]),p[a>>2]=y,g=0|_[a>>2],R=S?g:R,A=D>(_[a>>2]=b,+p[a>>2])?A:b,b=u>(_[a>>2]=f,+p[a>>2])?m:f,h=y>(_[a>>2]=h,+p[a>>2])?g:h,g=(D=+p[e+32>>2])<(_[a>>2]=w,+p[a>>2]),p[a>>2]=D,C=0|_[a>>2],v=(u=+p[e+36>>2])<(_[a>>2]=k,+p[a>>2]),p[a>>2]=u,S=0|_[a>>2],f=(y=+p[e+40>>2])<(_[a>>2]=R,+p[a>>2]),p[a>>2]=y,m=0|_[a>>2],A=D>(_[a>>2]=A,+p[a>>2])?C:A,b=u>(_[a>>2]=b,+p[a>>2])?S:b,h=y>(_[a>>2]=h,+p[a>>2])?m:h,_[a>>2]=A,F=+p[a>>2],_[a>>2]=g?C:w,x=+p[a>>2],_[a>>2]=b,B=+p[a>>2],_[a>>2]=v?S:k,W=+p[a>>2],_[a>>2]=h,u=+p[a>>2],_[a>>2]=f?m:R,I=+p[a>>2],h=0|_[t+8>>2],d=+p[h+4>>2],c=+p[h+8>>2],y=+p[h+12>>2],l=+p[h+36>>2],s=+p[h+40>>2],D=+p[h+44>>2],h=((F-x<.0020000000949949026?x+-.0010000000474974513:x)-d)*l&65535&-2,g=((B-W<.0020000000949949026?W+-.0010000000474974513:W)-c)*s&65535&-2,C=((u-I<.0020000000949949026?I+-.0010000000474974513:I)-y)*D&65535&-2,v=((F-x<.0020000000949949026?F+.0010000000474974513:F)-d)*l+1&65535|1,S=((B-W<.0020000000949949026?B+.0010000000474974513:B)-c)*s+1&65535|1,e=((u-I<.0020000000949949026?u+.0010000000474974513:u)-y)*D+1&65535|1,m=0|_[t+4>>2],(0|(b=0|_[m+4>>2]))==(0|_[m+8>>2])&&(0|b)<(0|(j=0|b?b<<1:1))){if(j?(_[6630]=1+(0|_[6630]),(b=0|di(16+(j<<4|3)|0))?(_[(b+4+15&-16)-4>>2]=b,b=b+4+15&-16):b=0,f=b,b=0|_[m+4>>2]):f=0,(0|b)>0){A=0;do{t=f+(A<<4)|0,R=(0|_[m+12>>2])+(A<<4)|0,_[t>>2]=_[R>>2],_[t+4>>2]=_[R+4>>2],_[t+8>>2]=_[R+8>>2],_[t+12>>2]=_[R+12>>2],A=A+1|0}while((0|A)!=(0|b))}0|(b=0|_[m+12>>2])&&(0|n[m+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[b+-4>>2])),_[m+12>>2]=0),n[m+16|0]=1,_[m+12>>2]=f,_[m+8>>2]=j,b=0|_[m+4>>2]}j=0|_[m+12>>2],o[j+(b<<4)>>1]=h,o[j+(b<<4)+2>>1]=g,o[j+(b<<4)+4>>1]=C,o[j+(b<<4)+6>>1]=v,o[j+(b<<4)+8>>1]=S,o[j+(b<<4)+10>>1]=e,_[j+(b<<4)+12>>2]=i<<21|r,_[m+4>>2]=1+(0|_[m+4>>2])},function(t,e,i,o){t|=0,i|=0,o|=0;var r,s,c=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0;if(s=Q,Q=Q+32|0,m=+p[(e|=0)>>2],p[a>>2]=m,c=0|_[a>>2],g=m<0xde0b6b000000000?c:1566444395,u=+p[e+4>>2],p[a>>2]=u,d=0|_[a>>2],C=u<0xde0b6b000000000?d:1566444395,I=+p[e+8>>2],p[a>>2]=I,A=0|_[a>>2],S=I<0xde0b6b000000000?A:1566444395,w=(h=+p[e+12>>2])<0?h:0,c=m>-0xde0b6b000000000?c:-581039253,d=u>-0xde0b6b000000000?d:-581039253,A=I>-0xde0b6b000000000?A:-581039253,h=h>0?h:0,j=(I=+p[e+16>>2])<(_[a>>2]=g,+p[a>>2]),p[a>>2]=I,l=0|_[a>>2],g=j?l:g,j=(u=+p[e+20>>2])<(_[a>>2]=C,+p[a>>2]),p[a>>2]=u,b=0|_[a>>2],C=j?b:C,j=(m=+p[e+24>>2])<(_[a>>2]=S,+p[a>>2]),p[a>>2]=m,f=0|_[a>>2],S=j?f:S,w=(y=+p[e+28>>2])(_[a>>2]=c,+p[a>>2])?l:c,v=u>(_[a>>2]=d,+p[a>>2])?b:d,b=m>(_[a>>2]=A,+p[a>>2])?f:A,y=h>2])<(_[a>>2]=g,+p[a>>2]),p[a>>2]=I,c=0|_[a>>2],j=j?c:g,R=(m=+p[e+36>>2])<(_[a>>2]=C,+p[a>>2]),p[a>>2]=m,l=0|_[a>>2],R=R?l:C,k=(h=+p[e+40>>2])<(_[a>>2]=S,+p[a>>2]),p[a>>2]=h,d=0|_[a>>2],k=k?d:S,w=(u=+p[e+44>>2])(_[a>>2]=r,+p[a>>2])?c:r,v=m>(_[a>>2]=v,+p[a>>2])?l:v,C=h>(_[a>>2]=b,+p[a>>2])?d:b,u=y>2],(0|(c=0|_[g+4>>2]))==(0|_[g+8>>2])&&(0|c)<(0|(D=0|c?c<<1:1))){if(D?(_[6630]=1+(0|_[6630]),(c=0|di(D<<6|19))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,f=c,c=0|_[g+4>>2]):f=0,(0|c)>0){l=0;do{d=f+(l<<6)|0,b=(0|_[g+12>>2])+(l<<6)|0,A=d+64|0;do{_[d>>2]=_[b>>2],d=d+4|0,b=b+4|0}while((0|d)<(0|A));l=l+1|0}while((0|l)!=(0|c))}0|(c=0|_[g+12>>2])&&(0|n[g+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[g+12>>2]=0),n[g+16|0]=1,_[g+12>>2]=f,_[g+8>>2]=D,c=0|_[g+4>>2]}D=0|_[g+12>>2],_[D+(c<<6)>>2]=j,_[D+(c<<6)+4>>2]=R,_[D+(c<<6)+8>>2]=k,p[D+(c<<6)+12>>2]=w,_[D+(c<<6)+16>>2]=S,_[D+(c<<6)+20>>2]=v,_[D+(c<<6)+24>>2]=C,p[D+(c<<6)+28>>2]=u,_[D+(c<<6)+32>>2]=-1,_[D+(c<<6)+36>>2]=i,_[D+(c<<6)+40>>2]=o,_[(o=D+(c<<6)+44|0)>>2]=_[s>>2],_[o+4>>2]=_[s+4>>2],_[o+8>>2]=_[s+8>>2],_[o+12>>2]=_[s+12>>2],_[o+16>>2]=_[s+16>>2],_[g+4>>2]=1+(0|_[g+4>>2]),Q=s},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,b,A,f,u,m,h,y,g,C,v,S=0;A=(+p[32+(t|=0)>>2]-+p[t+16>>2])*+p[t+108>>2]*.5,l=(+p[t+36>>2]-+p[t+20>>2])*+p[t+112>>2]*.5,c=(+p[t+40>>2]-+p[t+24>>2])*+p[t+116>>2]*.5,y=+d(+ +p[e>>2]),h=+d(+ +p[e+4>>2]),m=+d(+ +p[e+8>>2]),b=+d(+ +p[e+16>>2]),a=+d(+ +p[e+20>>2]),s=+d(+ +p[e+24>>2]),v=+d(+ +p[e+32>>2]),C=+d(+ +p[e+36>>2]),S=+d(+ +p[e+40>>2]),g=+p[e+48>>2],f=+p[e+52>>2],o=+p[e+56>>2],u=+Il[15&_[48+(0|_[t>>2])>>2]](t),r=+Il[15&_[48+(0|_[t>>2])>>2]](t),S=A*v+l*C+c*S+ +Il[15&_[48+(0|_[t>>2])>>2]](t),p[i>>2]=g-(A*y+l*h+c*m+u),p[i+4>>2]=f-(A*b+l*a+c*s+r),p[i+8>>2]=o-S,p[i+12>>2]=0,p[n>>2]=g+(A*y+l*h+c*m+u),p[n+4>>2]=f+(A*b+l*a+c*s+r),p[n+8>>2]=o+S,p[n+12>>2]=0},function(t,e,i,o){e|=0,i|=0,o|=0;var r,s,c,a,l,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0;switch(s=Q,Q=Q+48|0,k=1/+p[108+(t|=0)>>2],R=1/+p[t+112>>2],j=1/+p[t+116>>2],S=+p[t+48>>2],w=k*+p[i>>2]+S,y=+p[t+52>>2],b=R*+p[i+4>>2]+y,C=+p[t+56>>2],g=j*+p[i+8>>2]+C,S=k*+p[o>>2]+S,y=R*+p[o+4>>2]+y,C=j*+p[o+8>>2]+C,w=w<(j=+p[t+16>>2])?j:w,b=b<(R=+p[t+20>>2])?R:b,g=g<(k=+p[t+24>>2])?k:g,m=~~(((w=(l=+p[t+32>>2])>2])>2])>2])-1|0,o=(0|_[t+68>>2])-1|0,0|_[t+104>>2]){case 0:o=(0|i)<(0|o)?i:o,i=(0|d)>0?d:0,u=(0|f)<(0|u)?f:u,h=(0|h)>0?h:0;break;case 1:o=(0|i)<(0|o)?i:o,i=(0|d)>0?d:0,u=(0|A)<(0|u)?A:u,h=(0|m)>0?m:0;break;case 2:o=(0|f)<(0|o)?f:o,i=(0|h)>0?h:0,u=(0|A)<(0|u)?A:u,h=(0|m)>0?m:0;break;default:i=0,h=0}if((0|i)>=(0|o))Q=s;else{r=(0|h)<(0|u);do{if(r)for(f=!(1&i),C=+(0|i),m=i+1|0,d=h;;){do{if(0|n[t+100|0])v=16;else{if(0|n[t+101|0]&&!(d+i&1)){v=16;break}if(f&!!(0|n[t+102|0]))v=16;else{switch(b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,d,i),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|d)-.5*+p[t+80>>2],g=C-.5*+p[t+84>>2],p[s>>2]=b,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0;break;case 1:j=+(0|d)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=C-.5*+p[t+84>>2],p[s>>2]=j,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0,b=j;break;case 2:j=+(0|d)-.5*+p[t+80>>2],y=C-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s>>2]=j,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0,b=j;break;default:b=+p[s>>2],y=+p[s+4>>2],g=+p[s+8>>2]}switch(p[s>>2]=b*+p[t+108>>2],p[s+4>>2]=y*+p[t+112>>2],p[s+8>>2]=g*+p[t+116>>2],b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,d,m),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|d)-.5*+p[t+80>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+16>>2]=b,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0;break;case 1:j=+(0|d)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+16>>2]=j,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0,b=j;break;case 2:j=+(0|d)-.5*+p[t+80>>2],y=+(0|m)-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+16>>2]=j,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0,b=j;break;default:b=+p[s+16>>2],y=+p[s+20>>2],g=+p[s+24>>2]}switch(p[s+16>>2]=b*+p[t+108>>2],p[s+20>>2]=y*+p[t+112>>2],p[s+24>>2]=g*+p[t+116>>2],A=d+1|0,b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,A,i),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|A)-.5*+p[t+80>>2],g=C-.5*+p[t+84>>2],p[s+32>>2]=b,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0;break;case 1:j=+(0|A)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=C-.5*+p[t+84>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;case 2:j=+(0|A)-.5*+p[t+80>>2],y=C-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;default:b=+p[s+32>>2],y=+p[s+36>>2],g=+p[s+40>>2]}switch(p[s+32>>2]=b*+p[t+108>>2],p[s+36>>2]=y*+p[t+112>>2],p[s+40>>2]=g*+p[t+116>>2],pd[127&_[8+(0|_[e>>2])>>2]](e,s,d,i),b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,A,i),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|A)-.5*+p[t+80>>2],g=C-.5*+p[t+84>>2],p[s>>2]=b,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0;break;case 1:j=+(0|A)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=C-.5*+p[t+84>>2],p[s>>2]=j,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0,b=j;break;case 2:j=+(0|A)-.5*+p[t+80>>2],y=C-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s>>2]=j,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0,b=j;break;default:b=+p[s>>2],y=+p[s+4>>2],g=+p[s+8>>2]}switch(p[s>>2]=b*+p[t+108>>2],p[s+4>>2]=y*+p[t+112>>2],p[s+8>>2]=g*+p[t+116>>2],b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,A,m),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|A)-.5*+p[t+80>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+32>>2]=b,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0;break;case 1:j=+(0|A)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;case 2:j=+(0|A)-.5*+p[t+80>>2],y=+(0|m)-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;default:b=+p[s+32>>2],y=+p[s+36>>2],g=+p[s+40>>2]}p[s+32>>2]=b*+p[t+108>>2],p[s+36>>2]=y*+p[t+112>>2],p[s+40>>2]=g*+p[t+116>>2],pd[127&_[8+(0|_[e>>2])>>2]](e,s,d,i),d=A}}}while(0);if(16==(0|v)){switch(v=0,b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,d,i),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|d)-.5*+p[t+80>>2],g=C-.5*+p[t+84>>2],p[s>>2]=b,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0;break;case 1:j=+(0|d)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=C-.5*+p[t+84>>2],p[s>>2]=j,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0,b=j;break;case 2:j=+(0|d)-.5*+p[t+80>>2],y=C-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s>>2]=j,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0,b=j;break;default:b=+p[s>>2],y=+p[s+4>>2],g=+p[s+8>>2]}switch(p[s>>2]=b*+p[t+108>>2],p[s+4>>2]=y*+p[t+112>>2],p[s+8>>2]=g*+p[t+116>>2],A=d+1|0,b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,A,i),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|A)-.5*+p[t+80>>2],g=C-.5*+p[t+84>>2],p[s+16>>2]=b,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0;break;case 1:j=+(0|A)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=C-.5*+p[t+84>>2],p[s+16>>2]=j,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0,b=j;break;case 2:j=+(0|A)-.5*+p[t+80>>2],y=C-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+16>>2]=j,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0,b=j;break;default:b=+p[s+16>>2],y=+p[s+20>>2],g=+p[s+24>>2]}switch(p[s+16>>2]=b*+p[t+108>>2],p[s+20>>2]=y*+p[t+112>>2],p[s+24>>2]=g*+p[t+116>>2],b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,A,m),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|A)-.5*+p[t+80>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+32>>2]=b,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0;break;case 1:j=+(0|A)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;case 2:j=+(0|A)-.5*+p[t+80>>2],y=+(0|m)-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;default:b=+p[s+32>>2],y=+p[s+36>>2],g=+p[s+40>>2]}switch(p[s+32>>2]=b*+p[t+108>>2],p[s+36>>2]=y*+p[t+112>>2],p[s+40>>2]=g*+p[t+116>>2],pd[127&_[8+(0|_[e>>2])>>2]](e,s,d,i),b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,A,m),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|A)-.5*+p[t+80>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+16>>2]=b,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0;break;case 1:j=+(0|A)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+16>>2]=j,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0,b=j;break;case 2:j=+(0|A)-.5*+p[t+80>>2],y=+(0|m)-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+16>>2]=j,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0,b=j;break;default:b=+p[s+16>>2],y=+p[s+20>>2],g=+p[s+24>>2]}switch(p[s+16>>2]=b*+p[t+108>>2],p[s+20>>2]=y*+p[t+112>>2],p[s+24>>2]=g*+p[t+116>>2],b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,d,m),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|d)-.5*+p[t+80>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+32>>2]=b,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0;break;case 1:j=+(0|d)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;case 2:j=+(0|d)-.5*+p[t+80>>2],y=+(0|m)-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;default:b=+p[s+32>>2],y=+p[s+36>>2],g=+p[s+40>>2]}p[s+32>>2]=b*+p[t+108>>2],p[s+36>>2]=y*+p[t+112>>2],p[s+40>>2]=g*+p[t+116>>2],pd[127&_[8+(0|_[e>>2])>>2]](e,s,d,i),d=A}if((0|d)==(0|u)){i=m;break}}else i=i+1|0}while((0|i)!=(0|o));Q=s}},tn,function(t,e,i,n){t|=0,e|=0,i|=0;var o=0,_=0,r=0,s=0,c=0,a=0,l=0;if(!((0|(n|=0))<=0)){l=0;do{o=+p[t+28>>2],r=+p[t+32>>2],c=+p[e+(l<<4)>>2],_=+p[e+(l<<4)+8>>2],0!=(a=+b(+(c*c+_*_)))?(s=_*(o/a),_=+p[e+(l<<4)+4>>2]<0?-r:r,o=c*(o/a)):(s=0,_=+p[e+(l<<4)+4>>2]<0?-r:r),p[i+(l<<4)>>2]=o,p[i+(l<<4)+4>>2]=_,p[i+(l<<4)+8>>2]=s,l=l+1|0}while((0|l)!=(0|n))}},function(t,e,i,n){t|=0,e|=0,i|=0;var o=0,_=0,r=0,s=0,c=0,a=0,l=0,d=0;if(!((0|(n|=0))<=0)){d=0;do{o=+p[t+32>>2],r=+p[t+28>>2],s=e+(d<<4)|0,a=+p[e+(d<<4)+4>>2],_=+p[e+(d<<4)+8>>2],0!=(l=+b(+(a*a+_*_)))?(c=_*(o/l),_=+p[s>>2]<0?-r:r,o=a*(o/l)):(c=0,_=+p[s>>2]<0?-r:r),p[i+(d<<4)>>2]=_,p[i+(d<<4)+4>>2]=o,p[i+(d<<4)+8>>2]=c,d=d+1|0}while((0|d)!=(0|n))}},function(t,e,i,n){t|=0,e|=0,i|=0;var o=0,_=0,r=0,s=0,c=0,a=0,l=0;if(!((0|(n|=0))<=0)){l=0;do{o=+p[t+28>>2],r=+p[t+36>>2],c=+p[e+(l<<4)>>2],_=+p[e+(l<<4)+4>>2],0!=(a=+b(+(c*c+_*_)))?(s=_*(o/a),_=+p[e+(l<<4)+8>>2]<0?-r:r,o=c*(o/a)):(s=0,_=+p[e+(l<<4)+8>>2]<0?-r:r),p[i+(l<<4)>>2]=o,p[i+(l<<4)+4>>2]=s,p[i+(l<<4)+8>>2]=_,l=l+1|0}while((0|l)!=(0|n))}},function(t,e,i,n){e|=0,i|=0,n|=0;var o,a,l,d,b,A=0,f=0,u=0,m=0,h=0,y=0;if(b=Q,Q=Q+80|0,d=0|Gl[127&_[28+(0|_[(t|=0)>>2])>>2]](t),o=+p[t+4>>2],a=+p[t+8>>2],l=+p[t+12>>2],(0|d)<=0)Q=b;else{n=0;do{hd[3&_[16+(0|_[t>>2])>>2]](t,b+76|0,b+52|0,b+64|0,b+56|0,b+72|0,b+68|0,b+48|0,b+60|0,n);t:do{switch(0|_[b+64>>2]){case 0:switch(0|_[b+60>>2]){case 2:if((0|_[b+48>>2])<=0)break t;i=0;do{m=(0|_[b+72>>2])+(0|g(0|_[b+68>>2],i))|0,h=0|_[b+76>>2],u=0|_[b+56>>2],y=h+(0|g(u,0|_[m>>2]))|0,f=a*+p[y+4>>2],A=l*+p[y+8>>2],p[b>>2]=o*+p[y>>2],p[b+4>>2]=f,p[b+8>>2]=A,p[b+12>>2]=0,y=h+(0|g(0|_[m+4>>2],u))|0,A=a*+p[y+4>>2],f=l*+p[y+8>>2],p[b+16>>2]=o*+p[y>>2],p[b+20>>2]=A,p[b+24>>2]=f,p[b+28>>2]=0,u=h+(0|g(0|_[m+8>>2],u))|0,f=a*+p[u+4>>2],A=l*+p[u+8>>2],p[b+32>>2]=o*+p[u>>2],p[b+36>>2]=f,p[b+40>>2]=A,p[b+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,b,n,i),i=i+1|0}while((0|i)<(0|_[b+48>>2]));break;case 3:if((0|_[b+48>>2])<=0)break t;i=0;do{y=(0|_[b+72>>2])+(0|g(0|_[b+68>>2],i))|0,m=0|_[b+76>>2],h=0|_[b+56>>2],u=m+(0|g(h,0|s[y>>1]))|0,A=a*+p[u+4>>2],f=l*+p[u+8>>2],p[b>>2]=o*+p[u>>2],p[b+4>>2]=A,p[b+8>>2]=f,p[b+12>>2]=0,u=m+(0|g(h,0|s[y+2>>1]))|0,f=a*+p[u+4>>2],A=l*+p[u+8>>2],p[b+16>>2]=o*+p[u>>2],p[b+20>>2]=f,p[b+24>>2]=A,p[b+28>>2]=0,y=m+(0|g(h,0|s[y+4>>1]))|0,A=a*+p[y+4>>2],f=l*+p[y+8>>2],p[b+32>>2]=o*+p[y>>2],p[b+36>>2]=A,p[b+40>>2]=f,p[b+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,b,n,i),i=i+1|0}while((0|i)<(0|_[b+48>>2]));break;case 5:if((0|_[b+48>>2])<=0)break t;i=0;do{y=(0|_[b+72>>2])+(0|g(0|_[b+68>>2],i))|0,m=0|_[b+76>>2],h=0|_[b+56>>2],u=m+(0|g(h,0|r[0|y]))|0,A=a*+p[u+4>>2],f=l*+p[u+8>>2],p[b>>2]=o*+p[u>>2],p[b+4>>2]=A,p[b+8>>2]=f,p[b+12>>2]=0,u=m+(0|g(h,0|r[y+1|0]))|0,f=a*+p[u+4>>2],A=l*+p[u+8>>2],p[b+16>>2]=o*+p[u>>2],p[b+20>>2]=f,p[b+24>>2]=A,p[b+28>>2]=0,y=m+(0|g(h,0|r[y+2|0]))|0,A=a*+p[y+4>>2],f=l*+p[y+8>>2],p[b+32>>2]=o*+p[y>>2],p[b+36>>2]=A,p[b+40>>2]=f,p[b+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,b,n,i),i=i+1|0}while((0|i)<(0|_[b+48>>2]));break;default:break t}break;case 1:switch(0|_[b+60>>2]){case 2:if((0|_[b+48>>2])<=0)break t;i=0;do{h=(0|_[b+72>>2])+(0|g(0|_[b+68>>2],i))|0,m=0|_[b+76>>2],y=0|_[b+56>>2],u=m+(0|g(y,0|_[h>>2]))|0,A=a*+c[u+8>>3],f=l*+c[u+16>>3],p[b>>2]=o*+c[u>>3],p[b+4>>2]=A,p[b+8>>2]=f,p[b+12>>2]=0,u=m+(0|g(0|_[h+4>>2],y))|0,f=a*+c[u+8>>3],A=l*+c[u+16>>3],p[b+16>>2]=o*+c[u>>3],p[b+20>>2]=f,p[b+24>>2]=A,p[b+28>>2]=0,y=m+(0|g(0|_[h+8>>2],y))|0,A=a*+c[y+8>>3],f=l*+c[y+16>>3],p[b+32>>2]=o*+c[y>>3],p[b+36>>2]=A,p[b+40>>2]=f,p[b+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,b,n,i),i=i+1|0}while((0|i)<(0|_[b+48>>2]));break;case 3:if((0|_[b+48>>2])<=0)break t;i=0;do{y=(0|_[b+72>>2])+(0|g(0|_[b+68>>2],i))|0,m=0|_[b+76>>2],h=0|_[b+56>>2],u=m+(0|g(h,0|s[y>>1]))|0,A=a*+c[u+8>>3],f=l*+c[u+16>>3],p[b>>2]=o*+c[u>>3],p[b+4>>2]=A,p[b+8>>2]=f,p[b+12>>2]=0,u=m+(0|g(h,0|s[y+2>>1]))|0,f=a*+c[u+8>>3],A=l*+c[u+16>>3],p[b+16>>2]=o*+c[u>>3],p[b+20>>2]=f,p[b+24>>2]=A,p[b+28>>2]=0,y=m+(0|g(h,0|s[y+4>>1]))|0,A=a*+c[y+8>>3],f=l*+c[y+16>>3],p[b+32>>2]=o*+c[y>>3],p[b+36>>2]=A,p[b+40>>2]=f,p[b+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,b,n,i),i=i+1|0}while((0|i)<(0|_[b+48>>2]));break;case 5:if((0|_[b+48>>2])<=0)break t;i=0;do{y=(0|_[b+72>>2])+(0|g(0|_[b+68>>2],i))|0,m=0|_[b+76>>2],h=0|_[b+56>>2],u=m+(0|g(h,0|r[0|y]))|0,A=a*+c[u+8>>3],f=l*+c[u+16>>3],p[b>>2]=o*+c[u>>3],p[b+4>>2]=A,p[b+8>>2]=f,p[b+12>>2]=0,u=m+(0|g(h,0|r[y+1|0]))|0,f=a*+c[u+8>>3],A=l*+c[u+16>>3],p[b+16>>2]=o*+c[u>>3],p[b+20>>2]=f,p[b+24>>2]=A,p[b+28>>2]=0,y=m+(0|g(h,0|r[y+2|0]))|0,A=a*+c[y+8>>3],f=l*+c[y+16>>3],p[b+32>>2]=o*+c[y>>3],p[b+36>>2]=A,p[b+40>>2]=f,p[b+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,b,n,i),i=i+1|0}while((0|i)<(0|_[b+48>>2]));break;default:break t}}}while(0);ed[127&_[24+(0|_[t>>2])>>2]](t,n),n=n+1|0}while((0|n)!=(0|d));Q=b}},Kn,function(t,e,i,n){e|=0,i|=0,n|=0;var r=0,c=0,a=0,l=0,d=0;if(0|(r=0|_[108+(t|=0)>>2]))pd[127&_[28+(0|_[r>>2])>>2]](r,e,i,n);else if((r=0|o[t+56>>1])<<16>>16){d=1,a=1;do{c=0|_[t+68>>2],1&o[c+(a<<2)>>1]&&(l=0|_[t+60>>2],a=0|s[c+(a<<2)+2>>1],c=+p[e>>2]>+p[l+(a<<6)+32>>2]||+p[i>>2]<+p[l+(a<<6)+16>>2]?0:1,(+p[e+8>>2]>+p[l+(a<<6)+40>>2]||+p[i+8>>2]<+p[l+(a<<6)+24>>2])&&(c=0),+p[e+4>>2]>+p[l+(a<<6)+36>>2]||+p[i+4>>2]<+p[l+(a<<6)+20>>2]|1^c||(Ll[31&_[8+(0|_[n>>2])>>2]](n,l+(a<<6)|0),r=0|o[t+56>>1])),a=65535&(d=d+1<<16>>16)}while(((65535&r)<<1|1)>>>0>a>>>0)}},Kn,function(t,e,i,n){var o;t|=0,e|=0,i|=0,n|=0,o=Q,Q=Q+48|0,_[o+32>>2]=9936,_[o+32+4>>2]=n,_[o>>2]=_[e>>2],_[o+4>>2]=_[e+4>>2],_[o+8>>2]=_[e+8>>2],_[o+12>>2]=_[e+12>>2],_[o+16>>2]=_[i>>2],_[o+16+4>>2]=_[i+4>>2],_[o+16+8>>2]=_[i+8>>2],_[o+16+12>>2]=_[i+12>>2],ci(0|_[t+4>>2],o,o+32|0),ci(0|_[t+64>>2],o,o+32|0),Q=o},function(t,e,i,n){i|=0,n|=0,0|Lp(t|=0,0|_[8+(e|=0)>>2])&&Nn(e,i,n)},function(t,e,i,n){i|=0,n|=0,0|Lp(t|=0,0|_[8+(e|=0)>>2])?Nn(e,i,n):(t=0|_[t+8>>2],pd[127&_[28+(0|_[t>>2])>>2]](t,e,i,n))},function(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r=0,s=0;t:do{if(0|Lp(t,0|_[e+8>>2]))Nn(e,i,o);else if(s=0|_[t+12>>2],bo(t+16|0,e,i,o),(0|s)>1){r=t+24|0;do{if(bo(r,e,i,o),0|n[e+54|0])break t;r=r+8|0}while(r>>>0<(t+16+(s<<3)|0)>>>0)}}while(0)},ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra],cd=[function(t,e,i,n,o){o=+o,v(34)},function(t,e,i,n,o){o=+o}],ad=[function(t,e,i,n,o,_,r,s,p,c,a,l){o=+o,_=+_,r=+r,s=+s,p=+p,a=+a,v(35)},function(t,e,i,n,o,r,s,c,a,l,d,b){t|=0,e|=0,n|=0,o=+o,r=+r,s=+s,c=+c,a=+a,l|=0,d=+d,b|=0;var A,f,u,m,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;for(m=Q,Q=Q+2560|0,Vo(m+2528|0,+p[(i|=0)>>2],+p[i+4>>2],+p[i+8>>2],o),Bo(m+2544|0,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[m+2528>>2],+p[m+2528+4>>2],+p[m+2528+8>>2]),Vo(m+2496|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2],o),Fo(m+2512|0,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[m+2496>>2],+p[m+2496+4>>2],+p[m+2496+8>>2]),go(m+2464|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2],+p[n>>2],+p[n+4>>2],+p[n+8>>2]),(y=r<=-1.5707963705062866?.01745329238474369*d-1.5707963705062866:r)>(h=s>=1.5707963705062866?1.5707963705062866-.01745329238474369*d:s)?(B=1,I=1,y=.01745329238474369*d-1.5707963705062866,h=1.5707963705062866-.01745329238474369*d):(B=1^!(s>=1.5707963705062866),I=1^!(r<=-1.5707963705062866)),u=((f=h-y)/(.01745329238474369*d)|0)<1?2:1+~~(f/(.01745329238474369*d))|0,c>a?(c=.01745329238474369*d-3.1415927410125732,h=3.1415927410125732,D=1):a-c>=6.2831854820251465?(h=a,D=1):(h=a,D=0),A=((r=h-c)/(.01745329238474369*d)|0)<1?2:1+~~(r/(.01745329238474369*d))|0,C=0,v=m+1184|0,S=m;!((0|C)>=(0|u));){for(h=+dl(s=y+f/+(u+-1|0)*+(0|C))*o,s=+bl(s)*o,w=!(0|C),k=(0|C)==(u+-1|0),g=0;!((0|g)>=(0|A));){d=+dl(a=c+r/+(A+-1|0)*+(0|g)),Is(m+2400|0,a=s*+bl(a),+p[n>>2],+p[n+4>>2],+p[n+8>>2]),Bo(m+2416|0,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[m+2400>>2],+p[m+2400+4>>2],+p[m+2400+8>>2]),Is(m+2384|0,s*d,+p[m+2464>>2],+p[m+2464+4>>2],+p[m+2464+8>>2]),Bo(m+2432|0,+p[m+2416>>2],+p[m+2416+4>>2],+p[m+2416+8>>2],+p[m+2384>>2],+p[m+2384+4>>2],+p[m+2384+8>>2]),Is(m+2368|0,h,+p[i>>2],+p[i+4>>2],+p[i+8>>2]),Bo(m+2448|0,+p[m+2432>>2],+p[m+2432+4>>2],+p[m+2432+8>>2],+p[m+2368>>2],+p[m+2368+4>>2],+p[m+2368+8>>2]),_[(R=S+(g<<4)|0)>>2]=_[m+2448>>2],_[R+4>>2]=_[m+2448+4>>2],_[R+8>>2]=_[m+2448+8>>2],_[R+12>>2]=_[m+2448+12>>2],w?B&&pd[127&_[8+(0|_[t>>2])>>2]](t,m+2512|0,R,l):pd[127&_[8+(0|_[t>>2])>>2]](t,v+(g<<4)|0,R,l),(j=!(0|g))?(_[m+2480>>2]=_[S>>2],_[m+2480+4>>2]=_[S+4>>2],_[m+2480+8>>2]=_[S+8>>2],_[m+2480+12>>2]=_[S+12>>2]):pd[127&_[8+(0|_[t>>2])>>2]](t,S+(g+-1<<4)|0,R,l),k&I&&pd[127&_[8+(0|_[t>>2])>>2]](t,m+2544|0,R,l);do{if(b){if(D){if((0|g)!=(A+-1|0))break;pd[127&_[8+(0|_[t>>2])>>2]](t,m+2480|0,S+(A+-1<<4)|0,l);break}if(!((w|k)&(j|(0|g)==(A+-1|0))))break;pd[127&_[8+(0|_[t>>2])>>2]](t,e,R,l);break}}while(0);g=g+1|0}j=S,C=C+1|0,S=v,v=j}Q=m}],ld=[function(t,e,i,n,o,_,r,s,p,c,a){o=+o,_=+_,r=+r,s=+s,a=+a,v(36)},function(t,e,i,n,o,r,s,c,a,l,d){t|=0,e|=0,n|=0,o=+o,r=+r,s=+s,c=+c,a|=0,l|=0,d=+d;var b,A,f,u,m=0,h=0;for(u=Q,Q=Q+208|0,go(u+192|0,+p[(i|=0)>>2],+p[i+4>>2],+p[i+8>>2],+p[n>>2],+p[n+4>>2],+p[n+8>>2]),f=(c-s)/(.01745329238474369*d)|0?~~((c-s)/(.01745329238474369*d)):1,Is(u+128|0,o,+p[n>>2],+p[n+4>>2],+p[n+8>>2]),d=+bl(s),Vo(u+144|0,+p[u+128>>2],+p[u+128+4>>2],+p[u+128+8>>2],d),Bo(u+160|0,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[u+144>>2],+p[u+144+4>>2],+p[u+144+8>>2]),Is(u+96|0,r,d=+p[u+192>>2],b=+p[u+192+4>>2],A=+p[u+192+8>>2]),m=+dl(s),Vo(u+112|0,+p[u+96>>2],+p[u+96+4>>2],+p[u+96+8>>2],m),Bo(u+176|0,+p[u+160>>2],+p[u+160+4>>2],+p[u+160+8>>2],+p[u+112>>2],+p[u+112+4>>2],+p[u+112+8>>2]),l&&pd[127&_[8+(0|_[t>>2])>>2]](t,e,u+176|0,a),i=1;!((0|i)>(0|f));)m=(c-s)*+(0|i)/+(0|f)+s,Is(u+32|0,o,+p[n>>2],+p[n+4>>2],+p[n+8>>2]),h=+bl(m),Vo(u+48|0,+p[u+32>>2],+p[u+32+4>>2],+p[u+32+8>>2],h),Bo(u+64|0,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[u+48>>2],+p[u+48+4>>2],+p[u+48+8>>2]),Is(u,r,d,b,A),m=+dl(m),Vo(u+16|0,+p[u>>2],+p[u+4>>2],+p[u+8>>2],m),Bo(u+80|0,+p[u+64>>2],+p[u+64+4>>2],+p[u+64+8>>2],+p[u+16>>2],+p[u+16+4>>2],+p[u+16+8>>2]),pd[127&_[8+(0|_[t>>2])>>2]](t,u+176|0,u+80|0,a),_[u+176>>2]=_[u+80>>2],_[u+176+4>>2]=_[u+80+4>>2],_[u+176+8>>2]=_[u+80+8>>2],_[u+176+12>>2]=_[u+80+12>>2],i=i+1|0;l?(pd[127&_[8+(0|_[t>>2])>>2]](t,e,u+176|0,a),Q=u):Q=u}],dd=[dc,function(t,e,i,n,o){e|=0,i|=0,n|=0,pd[127&_[8+(0|_[(t|=0)>>2])>>2]](t,e,i,n)},function(t,e,i,n,o){var r,s,c;e|=0,i|=0,n|=0,o|=0,r=Q,Q=Q+768|0,c=0|_[8+(0|_[(t|=0)>>2])>>2],R_(r+736|0,s=0|Cl(e),s+4|0,s+8|0),Zr(r+752|0,n,+p[r+736>>2],+p[r+736+4>>2],+p[r+736+8>>2]),R_(r+704|0,e=0|Cl(i),s+4|0,s+8|0),Zr(r+720|0,n,+p[r+704>>2],+p[r+704+4>>2],+p[r+704+8>>2]),pd[127&c](t,r+752|0,r+720|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+672|0,e,s+4|0,s+8|0),Zr(r+688|0,n,+p[r+672>>2],+p[r+672+4>>2],+p[r+672+8>>2]),R_(r+640|0,e,e+4|0,s+8|0),Zr(r+656|0,n,+p[r+640>>2],+p[r+640+4>>2],+p[r+640+8>>2]),pd[127&i](t,r+688|0,r+656|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+608|0,e,e+4|0,s+8|0),Zr(r+624|0,n,+p[r+608>>2],+p[r+608+4>>2],+p[r+608+8>>2]),R_(r+576|0,s,e+4|0,s+8|0),Zr(r+592|0,n,+p[r+576>>2],+p[r+576+4>>2],+p[r+576+8>>2]),pd[127&i](t,r+624|0,r+592|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+544|0,s,e+4|0,s+8|0),Zr(r+560|0,n,+p[r+544>>2],+p[r+544+4>>2],+p[r+544+8>>2]),R_(r+512|0,s,s+4|0,s+8|0),Zr(r+528|0,n,+p[r+512>>2],+p[r+512+4>>2],+p[r+512+8>>2]),pd[127&i](t,r+560|0,r+528|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+480|0,s,s+4|0,s+8|0),Zr(r+496|0,n,+p[r+480>>2],+p[r+480+4>>2],+p[r+480+8>>2]),R_(r+448|0,s,s+4|0,e+8|0),Zr(r+464|0,n,+p[r+448>>2],+p[r+448+4>>2],+p[r+448+8>>2]),pd[127&i](t,r+496|0,r+464|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+416|0,e,s+4|0,s+8|0),Zr(r+432|0,n,+p[r+416>>2],+p[r+416+4>>2],+p[r+416+8>>2]),R_(r+384|0,e,s+4|0,e+8|0),Zr(r+400|0,n,+p[r+384>>2],+p[r+384+4>>2],+p[r+384+8>>2]),pd[127&i](t,r+432|0,r+400|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+352|0,e,e+4|0,s+8|0),Zr(r+368|0,n,+p[r+352>>2],+p[r+352+4>>2],+p[r+352+8>>2]),R_(r+320|0,e,e+4|0,e+8|0),Zr(r+336|0,n,+p[r+320>>2],+p[r+320+4>>2],+p[r+320+8>>2]),pd[127&i](t,r+368|0,r+336|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+288|0,s,e+4|0,s+8|0),Zr(r+304|0,n,+p[r+288>>2],+p[r+288+4>>2],+p[r+288+8>>2]),R_(r+256|0,s,e+4|0,e+8|0),Zr(r+272|0,n,+p[r+256>>2],+p[r+256+4>>2],+p[r+256+8>>2]),pd[127&i](t,r+304|0,r+272|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+224|0,s,s+4|0,e+8|0),Zr(r+240|0,n,+p[r+224>>2],+p[r+224+4>>2],+p[r+224+8>>2]),R_(r+192|0,e,s+4|0,e+8|0),Zr(r+208|0,n,+p[r+192>>2],+p[r+192+4>>2],+p[r+192+8>>2]),pd[127&i](t,r+240|0,r+208|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+160|0,e,s+4|0,e+8|0),Zr(r+176|0,n,+p[r+160>>2],+p[r+160+4>>2],+p[r+160+8>>2]),R_(r+128|0,e,e+4|0,e+8|0),Zr(r+144|0,n,+p[r+128>>2],+p[r+128+4>>2],+p[r+128+8>>2]),pd[127&i](t,r+176|0,r+144|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+96|0,e,e+4|0,e+8|0),Zr(r+112|0,n,+p[r+96>>2],+p[r+96+4>>2],+p[r+96+8>>2]),R_(r+64|0,s,e+4|0,e+8|0),Zr(r+80|0,n,+p[r+64>>2],+p[r+64+4>>2],+p[r+64+8>>2]),pd[127&i](t,r+112|0,r+80|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+32|0,s,e+4|0,e+8|0),Zr(r+48|0,n,+p[r+32>>2],+p[r+32+4>>2],+p[r+32+8>>2]),R_(r,s,s+4|0,e+8|0),Zr(r+16|0,n,+p[r>>2],+p[r+4>>2],+p[r+8>>2]),pd[127&i](t,r+48|0,r+16|0,o),Q=r},function(t,e,i,n,o){t|=0,e|=0,n|=0,o|=0;var r,s,c,a=0,l=0,d=0,b=0,A=0,f=0,u=0;r=Q,Q=Q+48|0,b=+p[(i|=0)>>2],A=+p[i+4>>2],d=+p[i+8>>2],f=b*+p[e+4>>2]+A*+p[e+20>>2]+d*+p[e+36>>2],u=b*+p[e+8>>2]+A*+p[e+24>>2]+d*+p[e+40>>2],p[r+32>>2]=+p[e>>2]*b+ +p[e+16>>2]*A+ +p[e+32>>2]*d,p[r+32+4>>2]=f,p[r+32+8>>2]=u,p[r+32+12>>2]=0,_d[127&_[64+(0|_[t>>2])>>2]](r+16|0,t,r+32|0),u=+p[r+16>>2],f=+p[r+16+4>>2],d=+p[r+16+8>>2],A=u*+p[e>>2]+f*+p[e+4>>2]+d*+p[e+8>>2]+ +p[e+48>>2],b=u*+p[e+16>>2]+f*+p[e+20>>2]+d*+p[e+24>>2]+ +p[e+52>>2],d=u*+p[e+32>>2]+f*+p[e+36>>2]+d*+p[e+40>>2]+ +p[e+56>>2],c=0|_[64+(0|_[t>>2])>>2],f=-+p[r+32+4>>2],u=-+p[r+32+8>>2],p[r>>2]=-+p[r+32>>2],p[r+4>>2]=f,p[r+8>>2]=u,p[r+12>>2]=0,_d[127&c](r+16|0,t,r),u=+p[r+16>>2],f=+p[r+16+4>>2],a=+p[r+16+8>>2],s=u*+p[e>>2]+f*+p[e+4>>2]+a*+p[e+8>>2]+ +p[e+48>>2],l=u*+p[e+16>>2]+f*+p[e+20>>2]+a*+p[e+24>>2]+ +p[e+52>>2],a=u*+p[e+32>>2]+f*+p[e+36>>2]+a*+p[e+40>>2]+ +p[e+56>>2],p[n>>2]=A*+p[i>>2]+b*+p[i+4>>2]+d*+p[i+8>>2],a=s*+p[i>>2]+l*+p[i+4>>2]+a*+p[i+8>>2],p[o>>2]=a,(l=+p[n>>2])>a?(p[n>>2]=a,p[o>>2]=l,Q=r):Q=r},function(t,e,i,o,r){var s;e|=0,i|=0,o|=0,r|=0,o=!(0|n[16+(t|=0)|0]),s=0|_[(o?e:i)+8>>2],o=0|_[(i=o?i:e)+8>>2],r=0|_[s+268>>2];t:do{if((0|r)>0){for(e=0|_[s+276>>2],t=0;(0|_[e+(t<<2)>>2])!=(0|o);)if((0|(t=t+1|0))>=(0|r))break t;if((0|t)!=(0|r))return}}while(0);e=0|_[s+284>>2],_d[127&_[36+(0|_[e>>2])>>2]](e,s,i)},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,b,A,f,u,m,h,y,g,C,v,S,w,k=0,R=0,j=0,D=0,I=0;s=Q,Q=Q+32|0,e=0|n[8+(t|=0)|0]?e:i,((0|_[4+(0|_[e+4>>2])>>2])-21|0)>>>0>=9||(i=0|_[192+(0|_[e+8>>2])>>2],I=+Il[15&_[48+(0|_[i>>2])>>2]](i),_[t+64>>2]=o,p[t+68>>2]=I+.05999999865889549,_[t+56>>2]=r,r=0|_[t+16>>2],_d[127&_[28+(0|_[r>>2])>>2]](r,s+16|0,s),I=+p[s>>2],m=+p[s+16>>2],b=+p[s+4>>2],l=+p[s+16+4>>2],y=+p[s+8>>2],h=+p[s+16+8>>2],r=0|_[e+12>>2],S=+p[r>>2],v=+p[r+16>>2],D=+p[r+32>>2],C=+p[r+4>>2],g=+p[r+20>>2],j=+p[r+36>>2],u=+p[r+8>>2],f=+p[r+24>>2],A=+p[r+40>>2],a=.5*(I+m)*S+.5*(b+l)*v+.5*(y+h)*D+(S*(w=-+p[r+48>>2])+v*(k=-+p[r+52>>2])+D*(R=-+p[r+56>>2])),c=.5*(I+m)*C+.5*(b+l)*g+.5*(y+h)*j+(C*w+g*k+j*R),R=.5*(I+m)*u+.5*(b+l)*f+.5*(y+h)*A+(u*w+f*k+A*R),k=+p[t+68>>2],D=+d(+(D+(0*S+0*v)))*(.5*(y-h)+k)+(+d(+(S+0*v+0*D))*(.5*(I-m)+k)+ +d(+(0*S+v+0*D))*(.5*(b-l)+k)),j=+d(+(j+(0*C+0*g)))*(.5*(y-h)+k)+(+d(+(C+0*g+0*j))*(.5*(I-m)+k)+ +d(+(0*C+g+0*j))*(.5*(b-l)+k)),k=+d(+(A+(0*u+0*f)))*(.5*(y-h)+k)+(+d(+(u+0*f+0*A))*(.5*(I-m)+k)+ +d(+(0*u+f+0*A))*(.5*(b-l)+k)),p[t+24>>2]=a-D,p[t+28>>2]=c-j,p[t+32>>2]=R-k,p[t+36>>2]=0,p[t+40>>2]=a+D,p[t+44>>2]=c+j,p[t+48>>2]=R+k,p[t+52>>2]=0,pd[127&_[64+(0|_[i>>2])>>2]](i,t+12|0,t+24|0,t+40|0)),Q=s},function(t,e,i,n,o){i|=0,n|=0,o|=0,o=0|_[8+(e|=0)>>2],n=0|_[o+284>>2],_d[127&_[40+(0|_[n>>2])>>2]](n,o,0|_[i+8>>2])},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a=0,l=0,A=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0,At=0,ft=0;if(c=Q,Q=Q+64|0,0|_[12+(t|=0)>>2]){if(a=(G=!!(0|n[t+16|0]))?i:e,G=G?e:i,o=0|_[a+4>>2],s=0|_[G+4>>2],a=0|_[a+12>>2],tt=+p[a>>2],$=+p[a+16>>2],q=+p[a+32>>2],K=+p[a+4>>2],z=+p[a+20>>2],h=+p[a+36>>2],l=+p[a+8>>2],C=+p[a+24>>2],D=+p[a+40>>2],Z=+p[a+48>>2],H=+p[a+52>>2],L=+p[a+56>>2],et=0|_[G+12>>2],X=+p[et>>2],J=+p[et+16>>2],y=+p[et+32>>2],Y=+p[et+4>>2],U=+p[et+20>>2],g=+p[et+36>>2],j=+p[et+8>>2],k=+p[et+24>>2],S=+p[et+40>>2],N=-+p[et+48>>2],O=-+p[et+52>>2],T=-+p[et+56>>2],P=+p[a>>2],M=+p[a+16>>2],x=+p[a+32>>2],W=+p[a+4>>2],B=+p[a+20>>2],I=+p[a+36>>2],R=+p[a+8>>2],w=+p[a+24>>2],v=+p[a+40>>2],a=0|_[64+(0|_[o>>2])>>2],m=-+p[s+48>>2],A=-+p[s+52>>2],F=-+p[s+56>>2],p[c+48>>2]=(tt*X+$*J+q*y)*m+(tt*Y+$*U+q*g)*A+(tt*j+$*k+q*S)*F,p[c+48+4>>2]=(K*X+z*J+h*y)*m+(K*Y+z*U+h*g)*A+(K*j+z*k+h*S)*F,p[c+48+8>>2]=(l*X+C*J+D*y)*m+(l*Y+C*U+D*g)*A+(l*j+C*k+D*S)*F,p[c+48+12>>2]=0,_d[127&a](c,o,c+48|0),F=+p[c>>2],D=+p[c+4>>2],C=+p[c+8>>2],l=+p[s+48>>2],A=+p[s+52>>2],y=Z*X+H*J+L*y+(X*N+J*O+y*T)+((X*P+J*M+y*x)*F+(X*W+J*B+y*I)*D+(X*R+J*w+y*v)*C)-l*(h=(m=+p[s+56>>2])*(Z*j+H*k+L*S+(j*N+k*O+S*T)+((j*P+k*M+S*x)*F+(j*W+k*B+S*I)*D+(j*R+k*w+S*v)*C))+(l*(Z*X+H*J+L*y+(X*N+J*O+y*T)+((X*P+J*M+y*x)*F+(X*W+J*B+y*I)*D+(X*R+J*w+y*v)*C))+A*(Z*Y+H*U+L*g+(Y*N+U*O+g*T)+((Y*P+U*M+g*x)*F+(Y*W+U*B+g*I)*D+(Y*R+U*w+g*v)*C)))-+p[s+64>>2]),g=Z*Y+H*U+L*g+(Y*N+U*O+g*T)+((Y*P+U*M+g*x)*F+(Y*W+U*B+g*I)*D+(Y*R+U*w+g*v)*C)-A*h,C=Z*j+H*k+L*S+(j*N+k*O+S*T)+((j*P+k*M+S*x)*F+(j*W+k*B+S*I)*D+(j*R+k*w+S*v)*C)-m*h,G=0|_[G+12>>2],v=+p[G>>2],S=+p[G+4>>2],w=+p[G+8>>2],k=+p[G+16>>2],R=+p[G+20>>2],j=+p[G+24>>2],D=+p[G+32>>2],I=+p[G+36>>2],B=+p[G+40>>2],W=+p[G+48>>2],F=+p[G+52>>2],x=+p[G+56>>2],G=0|_[t+12>>2],a=h<+p[G+752>>2],_[r+4>>2]=G,a&&(p[c+48>>2]=v*l+S*A+w*m,p[c+48+4>>2]=l*k+A*R+m*j,p[c+48+8>>2]=l*D+A*I+m*B,p[c+48+12>>2]=0,p[c+32>>2]=w*C+(v*y+S*g)+W,p[c+32+4>>2]=y*k+g*R+C*j+F,p[c+32+8>>2]=y*D+g*I+C*B+x,p[c+32+12>>2]=0,rd[15&_[16+(0|_[r>>2])>>2]](r,c+48|0,c+32|0,h)),(0|_[o+4>>2])<7&&(0|_[748+(0|_[r+4>>2])>>2])<(0|_[t+24>>2])&&(l=+p[s+56>>2],+d(+l)>.7071067690849304?(m=+p[s+52>>2],A=0,m*=tt=1/+b(+(l*l+m*m)),l=-l*tt):(tt=+p[s+48>>2],A=-(A=+p[s+52>>2])*(l=1/+b(+(tt*tt+A*A))),m=0,l*=tt),T=.019999999552965164/+Il[15&_[16+(0|_[o>>2])>>2]](o),M=A*(O=+u(+(T=.5*(T>.39269909262657166?.39269909262657166:T)))/+b(+(A*A+l*l+m*m))),P=l*O,O*=m,T=+f(+T),(0|(o=0|_[t+20>>2]))>0)){a=0;do{k=+p[s+48>>2],tt=+p[s+52>>2],ct=(W=+p[s+56>>2])*($=+u(+(I=6.2831854820251465/+(0|o)*+(0|a)*.5))/+b(+(k*k+tt*tt+W*W)))*(j=M*(-W*$)+(P*(I=+f(+I))+T*(-tt*$))-O*(-k*$))+(k*$*(x=T*I-M*(-k*$)-P*(-tt*$)-O*(-W*$))+I*(B=O*(-tt*$)+(M*I+T*(-k*$))-P*(-W*$)))-tt*$*(ot=P*(-k*$)+(O*I+T*(-W*$))-M*(-tt*$)),pt=k*$*ot+(I*j+tt*$*x)-W*$*B,dt=tt*$*B+(W*$*x+I*ot)-k*$*j,ot=I*x-k*$*B-tt*$*j-W*$*ot,it=(G=!!(0|n[t+16|0]))?i:e,G=G?e:i,o=0|_[it+4>>2],et=0|_[G+4>>2],it=0|_[it+12>>2],$=+p[it>>2],W=+p[it+4>>2],j=+p[it+8>>2],tt=+p[it+16>>2],B=+p[it+20>>2],k=+p[it+24>>2],x=+p[it+32>>2],I=+p[it+36>>2],S=+p[it+40>>2],Y=+p[it+48>>2],J=+p[it+52>>2],X=+p[it+56>>2],it=0|_[G+12>>2],L=+p[it>>2],H=+p[it+16>>2],y=+p[it+32>>2],Z=+p[it+4>>2],U=+p[it+20>>2],g=+p[it+36>>2],R=+p[it+8>>2],w=+p[it+24>>2],v=+p[it+40>>2],z=-+p[it+48>>2],K=-+p[it+52>>2],q=-+p[it+56>>2],At=j*(ct*(nt=dt*(2/(ct*ct+pt*pt+dt*dt+ot*ot)))-ot*(m=pt*(2/(ct*ct+pt*pt+dt*dt+ot*ot))))+(W*(ct*m+ot*nt)+$*(1-(pt*m+dt*nt))),lt=j*(pt*nt+ot*(st=ct*(2/(ct*ct+pt*pt+dt*dt+ot*ot))))+($*(ct*m-ot*nt)+W*(1-(ct*st+dt*nt))),l=$*(ct*nt+ot*m)+W*(pt*nt-ot*st)+j*(1-(ct*st+pt*m)),bt=k*(ct*nt-ot*m)+(B*(ct*m+ot*nt)+tt*(1-(pt*m+dt*nt))),at=k*(pt*nt+ot*st)+(tt*(ct*m-ot*nt)+B*(1-(ct*st+dt*nt))),D=tt*(ct*nt+ot*m)+B*(pt*nt-ot*st)+k*(1-(ct*st+pt*m)),ft=S*(ct*nt-ot*m)+(I*(ct*m+ot*nt)+x*(1-(pt*m+dt*nt))),dt=S*(pt*nt+ot*st)+(x*(ct*m-ot*nt)+I*(1-(ct*st+dt*nt))),m=x*(ct*nt+ot*m)+I*(pt*nt-ot*st)+S*(1-(ct*st+pt*m)),pt=+p[it>>2],st=+p[it+16>>2],ct=+p[it+32>>2],ot=+p[it+4>>2],nt=+p[it+20>>2],_t=+p[it+36>>2],A=+p[it+8>>2],C=+p[it+24>>2],h=+p[it+40>>2],it=0|_[64+(0|_[o>>2])>>2],rt=-+p[et+48>>2],N=-+p[et+52>>2],F=-+p[et+56>>2],p[c+32>>2]=(ct*ft+(pt*At+st*bt))*rt+(_t*ft+(ot*At+nt*bt))*N+(h*ft+(A*At+C*bt))*F,p[c+32+4>>2]=(ct*dt+(pt*lt+st*at))*rt+(_t*dt+(ot*lt+nt*at))*N+(h*dt+(A*lt+C*at))*F,p[c+32+8>>2]=(ct*m+(pt*l+st*D))*rt+(_t*m+(ot*l+nt*D))*N+(h*m+(A*l+C*D))*F,p[c+32+12>>2]=0,_d[127&it](c+48|0,o,c+32|0),F=+p[c+48>>2],D=+p[c+48+4>>2],C=+p[c+48+8>>2],l=+p[et+48>>2],A=+p[et+52>>2],y=Y*L+J*H+X*y+(L*z+H*K+y*q)+(($*L+tt*H+x*y)*F+(W*L+B*H+I*y)*D+(j*L+k*H+S*y)*C)-l*(h=(m=+p[et+56>>2])*(Y*R+J*w+X*v+(R*z+w*K+v*q)+(($*R+tt*w+x*v)*F+(W*R+B*w+I*v)*D+(j*R+k*w+S*v)*C))+(l*(Y*L+J*H+X*y+(L*z+H*K+y*q)+(($*L+tt*H+x*y)*F+(W*L+B*H+I*y)*D+(j*L+k*H+S*y)*C))+A*(Y*Z+J*U+X*g+(Z*z+U*K+g*q)+(($*Z+tt*U+x*g)*F+(W*Z+B*U+I*g)*D+(j*Z+k*U+S*g)*C)))-+p[et+64>>2]),g=Y*Z+J*U+X*g+(Z*z+U*K+g*q)+(($*Z+tt*U+x*g)*F+(W*Z+B*U+I*g)*D+(j*Z+k*U+S*g)*C)-A*h,C=Y*R+J*w+X*v+(R*z+w*K+v*q)+(($*R+tt*w+x*v)*F+(W*R+B*w+I*v)*D+(j*R+k*w+S*v)*C)-m*h,G=0|_[G+12>>2],v=+p[G>>2],S=+p[G+4>>2],w=+p[G+8>>2],k=+p[G+16>>2],R=+p[G+20>>2],j=+p[G+24>>2],D=+p[G+32>>2],I=+p[G+36>>2],B=+p[G+40>>2],W=+p[G+48>>2],F=+p[G+52>>2],x=+p[G+56>>2],G=0|_[t+12>>2],et=h<+p[G+752>>2],_[r+4>>2]=G,et&&(p[c+32>>2]=v*l+S*A+w*m,p[c+32+4>>2]=l*k+A*R+m*j,p[c+32+8>>2]=l*D+A*I+m*B,p[c+32+12>>2]=0,p[c+16>>2]=w*C+(v*y+S*g)+W,p[c+16+4>>2]=y*k+g*R+C*j+F,p[c+16+8>>2]=y*D+g*I+C*B+x,p[c+16+12>>2]=0,rd[15&_[16+(0|_[r>>2])>>2]](r,c+32|0,c+16|0,h)),a=a+1|0,o=0|_[t+20>>2]}while((0|a)<(0|o))}do{if(0|n[t+8|0]&&0|_[748+(0|_[t+12>>2])>>2]&&(V=0|_[r+4>>2],0|_[V+748>>2])){if((0|(o=0|_[V+740>>2]))==(0|(a=0|_[8+(0|_[r+8>>2])>>2]))){E(V,o+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0);break}E(V,4+(0|_[8+(0|_[r+12>>2])>>2])|0,a+4|0);break}}while(0);Q=c}else Q=c},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B,W,F,x,O,T=0;if(c=Q,Q=Q+64|0,s=(T=!!(0|n[8+(t|=0)|0]))?i:e,i=0|_[(e=T?e:i)+4>>2],((0|_[i+4>>2])-21|0)>>>0>=9)Q=c;else if((0|_[4+(0|_[s+4>>2])>>2])>=20)Q=c;else{a=+Il[15&_[48+(0|_[i>>2])>>2]](i),_[r+4>>2]=_[t+76>>2],_[t+16>>2]=s,_[t+20>>2]=e,_[t+64>>2]=o,p[t+68>>2]=a,_[t+56>>2]=r,T=0|_[e+12>>2],k=+p[T>>2],w=+p[T+16>>2],S=+p[T+32>>2],v=+p[T+4>>2],C=+p[T+20>>2],g=+p[T+36>>2],u=+p[T+8>>2],A=+p[T+24>>2],d=+p[T+40>>2],y=-+p[T+48>>2],h=-+p[T+52>>2],m=-+p[T+56>>2],T=0|_[s+12>>2],O=+p[T>>2],x=+p[T+16>>2],F=+p[T+32>>2],W=+p[T+4>>2],B=+p[T+20>>2],I=+p[T+36>>2],D=+p[T+8>>2],j=+p[T+24>>2],R=+p[T+40>>2],f=+p[T+48>>2],b=+p[T+52>>2],l=+p[T+56>>2],p[c>>2]=k*O+w*x+S*F,p[c+4>>2]=k*W+w*B+S*I,p[c+8>>2]=k*D+w*j+S*R,p[c+12>>2]=0,p[c+16>>2]=v*O+C*x+g*F,p[c+20>>2]=v*W+C*B+g*I,p[c+24>>2]=v*D+C*j+g*R,p[c+28>>2]=0,p[c+32>>2]=u*O+A*x+d*F,p[c+36>>2]=u*W+A*B+d*I,p[c+40>>2]=u*D+A*j+d*R,p[c+44>>2]=0,p[c+48>>2]=k*y+w*h+S*m+(k*f+w*b+S*l),p[c+52>>2]=v*y+C*h+g*m+(v*f+C*b+g*l),p[c+56>>2]=u*y+A*h+d*m+(u*f+A*b+d*l),p[c+60>>2]=0,T=0|_[s+4>>2],pd[127&_[8+(0|_[T>>2])>>2]](T,c,t+24|0,t+40|0),p[t+40>>2]=+p[t+40>>2]+a,p[t+44>>2]=+p[t+44>>2]+a,p[t+48>>2]=+p[t+48>>2]+a,p[t+24>>2]=+p[t+24>>2]-a,p[t+28>>2]=+p[t+28>>2]-a,p[t+32>>2]=+p[t+32>>2]-a,T=0|_[t+76>>2],e=0|_[e+8>>2],_[T+740>>2]=_[s+8>>2],_[T+744>>2]=e,pd[127&_[64+(0|_[i>>2])>>2]](i,t+12|0,t+24|0,t+40|0),e=0|_[r+4>>2];do{if(0|_[e+748>>2]){if((0|(i=0|_[e+740>>2]))==(0|(o=0|_[8+(0|_[r+8>>2])>>2]))){E(e,i+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0);break}E(e,4+(0|_[8+(0|_[r+12>>2])>>2])|0,o+4|0);break}}while(0);_[t+16>>2]=0,_[t+20>>2]=0,Q=c}},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l=0,d=0;if(s=Q,Q=Q+144|0,l=0|_[12+(t|=0)>>2]){a=0|_[e+4>>2],c=0|_[i+4>>2],_[r+4>>2]=l,p[s+12+128>>2]=0xde0b6b000000000,l=0|_[e+12>>2],_[s+12>>2]=_[l>>2],_[s+12+4>>2]=_[l+4>>2],_[s+12+8>>2]=_[l+8>>2],_[s+12+12>>2]=_[l+12>>2],_[s+12+16>>2]=_[l+16>>2],_[s+12+16+4>>2]=_[l+16+4>>2],_[s+12+16+8>>2]=_[l+16+8>>2],_[s+12+16+12>>2]=_[l+16+12>>2],_[s+12+32>>2]=_[l+32>>2],_[s+12+32+4>>2]=_[l+32+4>>2],_[s+12+32+8>>2]=_[l+32+8>>2],_[s+12+32+12>>2]=_[l+32+12>>2],_[s+12+48>>2]=_[l+48>>2],_[s+12+48+4>>2]=_[l+48+4>>2],_[s+12+48+8>>2]=_[l+48+8>>2],_[s+12+48+12>>2]=_[l+48+12>>2],l=0|_[i+12>>2],_[s+12+64>>2]=_[l>>2],_[s+12+64+4>>2]=_[l+4>>2],_[s+12+64+8>>2]=_[l+8>>2],_[s+12+64+12>>2]=_[l+12>>2],_[s+12+80>>2]=_[l+16>>2],_[s+12+80+4>>2]=_[l+16+4>>2],_[s+12+80+8>>2]=_[l+16+8>>2],_[s+12+80+12>>2]=_[l+16+12>>2],_[s+12+96>>2]=_[l+32>>2],_[s+12+96+4>>2]=_[l+32+4>>2],_[s+12+96+8>>2]=_[l+32+8>>2],_[s+12+96+12>>2]=_[l+32+12>>2],_[s+12+112>>2]=_[l+48>>2],_[s+12+112+4>>2]=_[l+48+4>>2],_[s+12+112+8>>2]=_[l+48+8>>2],_[s+12+112+12>>2]=_[l+48+12>>2],_[s>>2]=10280,_[s+4>>2]=a,_[s+8>>2]=c,li(s,s+12|0,r,0|_[o+20>>2],0);do{if(0|n[t+8|0]&&(d=0|_[r+4>>2],0|_[d+748>>2])){if((0|(t=0|_[d+740>>2]))==(0|(e=0|_[8+(0|_[r+8>>2])>>2]))){E(d,t+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0);break}E(d,4+(0|_[8+(0|_[r+12>>2])>>2])|0,e+4|0);break}}while(0);Q=s}else Q=s},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,d=0,b=0;if(s=Q,Q=Q+160|0,d=0|_[12+(t|=0)>>2]){a=(c=!!(0|n[t+16|0]))?i:e,i=c?e:i,l=0|_[a+4>>2],e=0|_[i+4>>2],_[r+4>>2]=d,d=0|_[d+752>>2],_[s+136>>2]=10300,_[s+136+4>>2]=l,_[s+136+8>>2]=e,_[s+136+12>>2]=d,p[s+128>>2]=0xde0b6b000000000,d=0|_[a+12>>2],_[s>>2]=_[d>>2],_[s+4>>2]=_[d+4>>2],_[s+8>>2]=_[d+8>>2],_[s+12>>2]=_[d+12>>2],_[s+16>>2]=_[d+16>>2],_[s+16+4>>2]=_[d+16+4>>2],_[s+16+8>>2]=_[d+16+8>>2],_[s+16+12>>2]=_[d+16+12>>2],_[s+32>>2]=_[d+32>>2],_[s+32+4>>2]=_[d+32+4>>2],_[s+32+8>>2]=_[d+32+8>>2],_[s+32+12>>2]=_[d+32+12>>2],_[s+48>>2]=_[d+48>>2],_[s+48+4>>2]=_[d+48+4>>2],_[s+48+8>>2]=_[d+48+8>>2],_[s+48+12>>2]=_[d+48+12>>2],d=0|_[i+12>>2],_[s+64>>2]=_[d>>2],_[s+64+4>>2]=_[d+4>>2],_[s+64+8>>2]=_[d+8>>2],_[s+64+12>>2]=_[d+12>>2],_[s+80>>2]=_[d+16>>2],_[s+80+4>>2]=_[d+16+4>>2],_[s+80+8>>2]=_[d+16+8>>2],_[s+80+12>>2]=_[d+16+12>>2],_[s+96>>2]=_[d+32>>2],_[s+96+4>>2]=_[d+32+4>>2],_[s+96+8>>2]=_[d+32+8>>2],_[s+96+12>>2]=_[d+32+12>>2],_[s+112>>2]=_[d+48>>2],_[s+112+4>>2]=_[d+48+4>>2],_[s+112+8>>2]=_[d+48+8>>2],_[s+112+12>>2]=_[d+48+12>>2],Be(s+136|0,s,r,0|_[o+20>>2],c);do{if(0|n[t+8|0]&&(b=0|_[r+4>>2],0|_[b+748>>2])){if((0|(t=0|_[b+740>>2]))==(0|(e=0|_[8+(0|_[r+8>>2])>>2]))){E(b,t+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0);break}E(b,4+(0|_[8+(0|_[r+12>>2])>>2])|0,e+4|0);break}}while(0);Q=s}else Q=s},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l=0,A=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0,At=0,ft=0,ut=0,mt=0,ht=0,yt=0,gt=0,Ct=0,vt=0;if(a=Q,Q=Q+688|0,(l=0|_[20+(t|=0)>>2])||(l=0|_[t+4>>2],l=0|El[63&_[12+(0|_[l>>2])>>2]](l,0|_[e+8>>2],0|_[i+8>>2]),_[t+20>>2]=l,n[t+16|0]=1),_[r+4>>2]=l,s=0|_[e+4>>2],c=0|_[i+4>>2],10==(0|(A=0|_[s+4>>2]))&10==(0|(m=0|_[c+4>>2]))){if(Y=+p[l+752>>2],gt=0|_[s+52>>2],k=+p[s+28+(gt<<2)>>2],U=+p[s+28+((gt+2|0)%3<<2)>>2],vt=0|_[c+52>>2],C=+p[c+28+(vt<<2)>>2],Z=+p[c+28+((vt+2|0)%3<<2)>>2],t=0|_[e+12>>2],e=0|_[i+12>>2],F=+p[t+(gt<<2)>>2],O=+p[t+16+(gt<<2)>>2],x=+p[t+32+(gt<<2)>>2],g=+p[e+(vt<<2)>>2],v=+p[e+16+(vt<<2)>>2],w=+p[e+32+(vt<<2)>>2],M=+p[e+48>>2],N=+p[e+52>>2],H=+p[e+56>>2],D=M-+p[t+48>>2],B=N-+p[t+52>>2],W=H-+p[t+56>>2],0!=(h=1-(F*g+O*v+x*w)*(F*g+O*v+x*w))?(h=(F*D+O*B+x*W-(F*g+O*v+x*w)*(g*D+v*B+w*W))/h)<-k?h=-k:h>k&&(h=k):h=0,(y=(F*g+O*v+x*w)*h-(g*D+v*B+w*W))<-C?(h=(F*g+O*v+x*w)*-C+(F*D+O*B+x*W))<-k?(y=-C,h=-k):h>k?(y=-C,h=k):y=-C:y>C&&((h=C*(F*g+O*v+x*w)+(F*D+O*B+x*W))<-k?(y=C,h=-k):h>k?(y=C,h=k):y=C),k=v*y,w*=y,y=(j=g*y)+(D-F*h),C=k+(B-O*h),!((v=+b(+((h=w+(W-x*h))*h+(y*y+C*C))))-U-Z>Y)){do{if(h*h+(y*y+C*C)<=14210854715202004e-30){if(+d(+x)>.7071067690849304){h=1/+b(+(O*O+x*x)),p[a+280>>2]=0,p[a+280+4>>2]=-x*h,p[a+280+8>>2]=O*h,g=0,y=-x*h,h*=O;break}y=1/+b(+(F*F+O*O)),p[a+280>>2]=-O*y,p[a+280+4>>2]=F*y,p[a+280+8>>2]=0,g=-O*y,y*=F,h=0;break}p[a+280>>2]=y*(-1/v),p[a+280+4>>2]=C*(-1/v),p[a+280+8>>2]=h*(-1/v),p[a+280+12>>2]=0,g=y*(-1/v),y=C*(-1/v),h*=-1/v}while(0);p[a+264>>2]=M+j+Z*g,p[a+264+4>>2]=N+k+Z*y,p[a+264+8>>2]=H+w+Z*h,p[a+264+12>>2]=0}return v-U-Z>2])>>2]](r,a+280|0,a+264|0,v-U-Z),l=0|_[r+4>>2],0|_[l+748>>2]?(0|(A=0|_[l+740>>2]))==(0|(m=0|_[8+(0|_[r+8>>2])>>2]))?(E(l,A+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0),void(Q=a)):(E(l,4+(0|_[8+(0|_[r+12>>2])>>2])|0,m+4|0),void(Q=a)):void(Q=a)}if(p[a+128+128>>2]=0xde0b6b000000000,l=0|_[t+8>>2],R=0|_[t+12>>2],_[a+48>>2]=10204,_[a+48+4>>2]=0,_[a+48+8>>2]=1065353216,_[a+48+12>>2]=0,p[a+48+16>>2]=0,_[a+48+20>>2]=R,_[a+48+24>>2]=l,_[a+48+28>>2]=s,_[a+48+32>>2]=c,_[a+48+36>>2]=A,_[a+48+40>>2]=m,yt=+Il[15&_[48+(0|_[s>>2])>>2]](s),p[a+48+44>>2]=yt,yt=+Il[15&_[48+(0|_[c>>2])>>2]](c),p[a+48+48>>2]=yt,n[a+48+52|0]=0,_[a+48+60>>2]=-1,_[a+48+72>>2]=1,_[a+48+76>>2]=1,_[a+48+28>>2]=s,_[a+48+32>>2]=c,Ct=(yt=+Il[15&_[48+(0|_[s>>2])>>2]](s))+(Ct=+Il[15&_[48+(0|_[c>>2])>>2]](c))+ +p[752+(0|_[t+20>>2])>>2],p[a+128+128>>2]=Ct*Ct,l=0|_[e+12>>2],_[a+128>>2]=_[l>>2],_[a+128+4>>2]=_[l+4>>2],_[a+128+8>>2]=_[l+8>>2],_[a+128+12>>2]=_[l+12>>2],_[(m=a+128+16|0)>>2]=_[l+16>>2],_[m+4>>2]=_[l+16+4>>2],_[m+8>>2]=_[l+16+8>>2],_[m+12>>2]=_[l+16+12>>2],_[(R=a+128+32|0)>>2]=_[l+32>>2],_[R+4>>2]=_[l+32+4>>2],_[R+8>>2]=_[l+32+8>>2],_[R+12>>2]=_[l+32+12>>2],_[(I=a+128+48|0)>>2]=_[l+48>>2],_[I+4>>2]=_[l+48+4>>2],_[I+8>>2]=_[l+48+8>>2],_[I+12>>2]=_[l+48+12>>2],l=0|_[i+12>>2],_[(T=a+128+64|0)>>2]=_[l>>2],_[T+4>>2]=_[l+4>>2],_[T+8>>2]=_[l+8>>2],_[T+12>>2]=_[l+12>>2],_[(P=a+128+80|0)>>2]=_[l+16>>2],_[P+4>>2]=_[l+16+4>>2],_[P+8>>2]=_[l+16+8>>2],_[P+12>>2]=_[l+16+12>>2],_[(V=a+128+96|0)>>2]=_[l+32>>2],_[V+4>>2]=_[l+32+4>>2],_[V+8>>2]=_[l+32+8>>2],_[V+12>>2]=_[l+32+12>>2],_[(G=a+128+112|0)>>2]=_[l+48>>2],_[G+4>>2]=_[l+48+4>>2],_[G+8>>2]=_[l+48+8>>2],_[G+12>>2]=_[l+48+12>>2],(0|(l=0|_[s+4>>2]))<7&&(0|(S=0|_[c+4>>2]))<7){_[a+40>>2]=6976,l?(y=+Il[15&_[48+(0|_[s>>2])>>2]](s),l=0|_[c+4>>2]):(l=S,y=0),h=l?+Il[15&_[48+(0|_[c>>2])>>2]](c):0,_[a>>2]=7004,_[a+4>>2]=r,p[a+24>>2]=y,p[a+28>>2]=h,n[a+36|0]=0,z=0|_[s+52>>2];t:do{if(0|z){ut=0|_[c+52>>2];do{if(ut){Ct=+p[752+(0|_[t+20>>2])>>2];e:do{if(0|n[o+24|0]){T=0|_[e+12>>2],P=0|_[i+12>>2],_[6613]=1+(0|_[6613]),lt=+p[z+64>>2],dt=+p[z+68>>2],v=+p[T+4>>2],bt=+p[z+72>>2],w=+p[T+8>>2],j=+p[T+16>>2],B=+p[T+20>>2],F=+p[T+24>>2],x=+p[T+32>>2],W=+p[T+36>>2],D=+p[T+40>>2],At=+p[ut+64>>2],ft=+p[ut+68>>2],yt=+p[ut+72>>2],mt=lt*+p[T>>2]+dt*v+bt*w+ +p[T+48>>2]-(At*+p[P>>2]+ft*+p[P+4>>2]+yt*+p[P+8>>2]+ +p[P+48>>2]),ht=lt*j+dt*B+bt*F+ +p[T+52>>2]-(At*+p[P+16>>2]+ft*+p[P+20>>2]+yt*+p[P+24>>2]+ +p[P+52>>2]),yt=lt*x+dt*W+bt*D+ +p[T+56>>2]-(At*+p[P+32>>2]+ft*+p[P+36>>2]+yt*+p[P+40>>2]+ +p[P+56>>2]),m=0|_[z+28>>2];i:do{if((0|m)>0){for(h=34028234663852886e22,l=0,k=0,y=0,g=0,C=0,O=j;;){if(o=0|_[z+36>>2],bt=+p[o+(36*l|0)+20>>2],At=+p[o+(36*l|0)+24>>2],ft=+p[o+(36*l|0)+28>>2],j=bt*+p[T>>2]+At*v+ft*w,w=bt*O+At*B+ft*F,v=bt*x+At*W+ft*D,p[a+296>>2]=j,p[a+296+4>>2]=w,p[a+296+8>>2]=v,p[a+296+12>>2]=0,j*mt+w*ht+v*yt<0?(p[a+296>>2]=-j,p[a+296+4>>2]=-w,p[a+296+8>>2]=-v,F=-j,w=-w,v=-v):F=j,_[6611]=1+(0|_[6611]),0|fe(T,P,mt,ht,yt,F,w,v,z,ut,h)){_[6612]=1+(0|_[6612]),Ot(z,T,a+296|0,a+624|0,a+384|0,a+360|0,a+344|0),Ot(ut,P,a+296|0,a+380|0,a+376|0,a+328|0,a+312|0),j=+p[a+384>>2],D=+p[a+380>>2];do{if(j>2])<(W=+p[a+624>>2])){A=0;break}A=1,k=j-D=(0|m))break i;v=+p[T+4>>2],w=+p[T+8>>2],O=+p[T+16>>2],B=+p[T+20>>2],F=+p[T+24>>2],x=+p[T+32>>2],W=+p[T+36>>2],D=+p[T+40>>2]}break e}h=34028234663852886e22,y=0,g=0,C=0}while(0);m=0|_[ut+28>>2];i:do{if((0|m)>0){for(A=0,j=0;;){if(o=0|_[ut+36>>2],At=+p[o+(36*A|0)+20>>2],ft=+p[o+(36*A|0)+24>>2],k=+p[o+(36*A|0)+28>>2],v=At*+p[P>>2]+ft*+p[P+4>>2]+k*+p[P+8>>2],w=At*+p[P+16>>2]+ft*+p[P+20>>2]+k*+p[P+24>>2],k=At*+p[P+32>>2]+ft*+p[P+36>>2]+k*+p[P+40>>2],p[a+296>>2]=v,p[a+296+4>>2]=w,p[a+296+8>>2]=k,p[a+296+12>>2]=0,v*mt+w*ht+k*yt<0&&(p[a+296>>2]=-v,p[a+296+4>>2]=-w,p[a+296+8>>2]=-k,v=-v,w=-w,k=-k),_[6611]=1+(0|_[6611]),0|fe(T,P,mt,ht,yt,v,w,k,z,ut,h)){_[6612]=1+(0|_[6612]),Ot(z,T,a+296|0,a+624|0,a+384|0,a+360|0,a+344|0),Ot(ut,P,a+296|0,a+380|0,a+376|0,a+328|0,a+312|0),D=+p[a+384>>2],B=+p[a+380>>2];do{if(D>2])<(F=+p[a+624>>2])){l=0;break}l=1,j=D-B=(0|m))break i}break e}}while(0);m=0|_[z+48>>2];i:do{if((0|m)>0){I=0,A=-1,l=-1,k=0,W=0,K=0,q=0,F=0,x=0,Y=0,U=0,w=0,B=0,Z=0,v=0,D=0,N=0,H=0,$=0,j=0,O=0,M=0,S=0|_[ut+48>>2];n:for(;;){if(o=0|_[z+56>>2],lt=+p[o+(I<<4)>>2],dt=+p[o+(I<<4)+4>>2],ft=+p[o+(I<<4)+8>>2],bt=lt*+p[T>>2]+dt*+p[T+4>>2]+ft*+p[T+8>>2],At=lt*+p[T+16>>2]+dt*+p[T+20>>2]+ft*+p[T+24>>2],ft=lt*+p[T+32>>2]+dt*+p[T+36>>2]+ft*+p[T+40>>2],(0|S)>0){for(R=0,lt=k,dt=y,et=W,_t=F,rt=x,at=g,ct=C,pt=$;;){o=0|_[ut+56>>2],nt=+p[o+(R<<4)>>2],st=+p[o+(R<<4)+4>>2],ot=+p[o+(R<<4)+8>>2],$=nt*+p[P>>2]+st*+p[P+4>>2]+ot*+p[P+8>>2],tt=nt*+p[P+16>>2]+st*+p[P+20>>2]+ot*+p[P+24>>2],ot=nt*+p[P+32>>2]+st*+p[P+36>>2]+ot*+p[P+40>>2],p[a+296>>2]=At*ot-ft*tt,p[a+296+4>>2]=ft*$-bt*ot,p[a+296+8>>2]=bt*tt-At*$,p[a+296+12>>2]=0;do{if(+d(+(At*ot-ft*tt))>1e-6)gt=76;else{if(+d(+(ft*$-bt*ot))>1e-6){gt=76;break}+d(+(bt*tt-At*$))>1e-6?gt=76:(k=lt,y=dt,it=K,nt=q,st=Y,g=at,C=ct,$=pt)}}while(0);do{if(76==(0|gt)){if(gt=0,y=(At*ot-ft*tt)*(C=1/+b(+((bt*tt-At*$)*(bt*tt-At*$)+((At*ot-ft*tt)*(At*ot-ft*tt)+(ft*$-bt*ot)*(ft*$-bt*ot))))),p[a+296>>2]=y,g=(ft*$-bt*ot)*C,p[a+296+4>>2]=g,C*=bt*tt-At*$,p[a+296+8>>2]=C,y*mt+g*ht+yt*C<0&&(p[a+296>>2]=-y,p[a+296+4>>2]=-g,p[a+296+8>>2]=-C,y=-y,g=-g,C=-C),_[6611]=1+(0|_[6611]),!(0|fe(T,P,mt,ht,yt,y,g,C,z,ut,h))){k=lt,y=dt,it=K,nt=q,st=Y,g=at,C=ct,$=pt;break}_[6612]=1+(0|_[6612]),Ot(z,T,a+296|0,a+624|0,a+384|0,a+360|0,a+344|0),Ot(ut,P,a+296|0,a+380|0,a+376|0,a+328|0,a+312|0),k=+p[a+384>>2],W=+p[a+380>>2];do{if(!(k>2])<(x=+p[a+624>>2])){m=0,k=lt,F=et,W=_t,x=rt;break}if(k-W>2],K=+p[a+328+4>>2],q=+p[a+328+8>>2],W=+p[a+344>>2],x=+p[a+344+4>>2],Y=+p[a+344+8>>2];break}m=1,k=F-x,F=+p[a+312>>2],K=+p[a+312+4>>2],q=+p[a+312+8>>2],W=+p[a+360>>2],x=+p[a+360+4>>2],Y=+p[a+360+8>>2];break}m=0,k=lt,F=et,W=_t,x=rt}while(0);if(!m)break n;if(!(k=(0|(S=0|_[ut+48>>2])))break;lt=k,dt=y,K=it,q=nt,Y=st,at=g,ct=C,pt=$}W=et,K=it,q=nt,F=_t,x=rt,Y=st,m=0|_[z+48>>2]}if((0|(I=I+1|0))>=(0|m)){h=$;break i}}break e}A=-1,l=-1,U=0,w=0,B=0,Z=0,v=0,D=0,N=0,H=0,h=0,j=0,O=0,M=0}while(0);if((A|l)>-1){W=U-w,w=B*Z+D*N+j*O,k=W*Z+(F=H-v)*N+(x=M-h)*O,h=W*B+F*D+x*j;do{if(1-w*w==0)v=0;else{if((k-h*w)/(1-w*w)<-1.0000000150474662e30){v=-1.0000000150474662e30;break}if(!((k-h*w)/(1-w*w)>1.0000000150474662e30)){v=(k-h*w)/(1-w*w);break}v=1.0000000150474662e30}}while(0);h=w*v-h;do{if(h<-1.0000000150474662e30){if(k-1.0000000150474662e30*w<-1.0000000150474662e30){h=-1.0000000150474662e30,v=-1.0000000150474662e30;break}if(!(k-1.0000000150474662e30*w>1.0000000150474662e30)){h=-1.0000000150474662e30,v=k-1.0000000150474662e30*w;break}h=-1.0000000150474662e30,v=1.0000000150474662e30}else{if(!(h>1.0000000150474662e30))break;if(k+1.0000000150474662e30*w<-1.0000000150474662e30){h=1.0000000150474662e30,v=-1.0000000150474662e30;break}if(!(k+1.0000000150474662e30*w>1.0000000150474662e30)){h=1.0000000150474662e30,v=k+1.0000000150474662e30*w;break}h=1.0000000150474662e30,v=1.0000000150474662e30}}while(0);k=(B*=h)+(W-Z*v),w=(D*=h)+(F-N*v),h=(j*=h)+(x-O*v),p[a+624>>2]=k,p[a+624+4>>2]=w,p[a+624+8>>2]=h,p[a+624+12>>2]=0,h*h+(k*k+w*w)>1.1920928955078125e-7&&(v=+b(+(h*h+(k*k+w*w))),p[a+624>>2]=k*(1/v),p[a+624+4>>2]=w*(1/v),p[a+624+8>>2]=h*(1/v),k*(1/v)*mt+w*(1/v)*ht+h*(1/v)*yt<0&&(p[a+624>>2]=1/v*-k,p[a+624+4>>2]=1/v*-w,p[a+624+8>>2]=1/v*-h),p[a+384>>2]=U+B,p[a+384+4>>2]=H+D,p[a+384+8>>2]=M+j,p[a+384+12>>2]=0,rd[15&_[16+(0|_[r>>2])>>2]](r,a+624|0,a+384|0,-v))}mt*y+ht*g+yt*C<0?(h=-1.0000000150474662e30,y=-y,g=-g,C=-C,l=0,gt=112):(h=-1.0000000150474662e30,l=0,gt=112)}else Si(a+48|0,a+128|0,a,0|_[o+20>>2],0),(h=+p[a+32>>2])<0&!!(0|n[a+36|0])&&(y=+p[a+8>>2],g=+p[a+12>>2],C=+p[a+16>>2],l=0|_[a+20>>2],gt=112)}while(0);if(112==(0|gt)){if(z=0|_[s+52>>2],o=0|_[c+52>>2],X=0|_[e+12>>2],J=0|_[i+12>>2],H=h-Ct,N=y*(O=1/+b(+(y*y+g*g+C*C))),M=g*O,O*=C,p[a+624>>2]=N,p[a+624+4>>2]=M,p[a+624+8>>2]=O,_[a+624+12>>2]=l,m=0|_[o+28>>2],R=0|_[o+36>>2],(0|m)>0)for(y=+p[J>>2],g=+p[J+4>>2],C=+p[J+8>>2],v=+p[J+16>>2],w=+p[J+20>>2],k=+p[J+24>>2],j=+p[J+32>>2],D=+p[J+36>>2],B=+p[J+40>>2],h=-34028234663852886e22,A=0,l=-1;;){if(l=(S=N*((W=+p[R+(36*A|0)+20>>2])*y+(F=+p[R+(36*A|0)+24>>2])*g+(x=+p[R+(36*A|0)+28>>2])*C)+M*(W*v+F*w+x*k)+O*(W*j+F*D+x*B)>h)?A:l,(0|(A=A+1|0))==(0|m)){P=l;break}h=S?N*(W*y+F*g+x*C)+M*(W*v+F*w+x*k)+O*(W*j+F*D+x*B):h}else P=-1;n[a+384+16|0]=1,_[(L=a+384+12|0)>>2]=0,_[(V=a+384+4|0)>>2]=0,_[a+384+8>>2]=0,G=0|_[R+(36*P|0)+4>>2];e:do{if((0|G)>0)for(T=R+(36*P|0)+12|0,l=0,A=0,m=0;;){if(e=0|_[(0|_[T>>2])+(l<<2)>>2],i=0|_[o+16>>2],ht=+p[i+(e<<4)>>2],yt=+p[i+(e<<4)+4>>2],g=+p[i+(e<<4)+8>>2],h=ht*+p[J>>2]+yt*+p[J+4>>2]+g*+p[J+8>>2]+ +p[J+48>>2],y=ht*+p[J+16>>2]+yt*+p[J+20>>2]+g*+p[J+24>>2]+ +p[J+52>>2],g=ht*+p[J+32>>2]+yt*+p[J+36>>2]+g*+p[J+40>>2]+ +p[J+56>>2],(0|A)==(0|m))if((0|m)<(0|(I=0|m?m<<1:1))){if(I?(_[6630]=1+(0|_[6630]),(A=0|di(16+(I<<4|3)|0))?(_[(A+4+15&-16)-4>>2]=A,A=A+4+15&-16):A=0,R=A,A=0|_[V>>2]):(R=0,A=m),S=0|_[L>>2],(0|A)<=0)S&&(gt=128);else{m=0;do{i=S+(m<<4)|0,_[(e=R+(m<<4)|0)>>2]=_[i>>2],_[e+4>>2]=_[i+4>>2],_[e+8>>2]=_[i+8>>2],_[e+12>>2]=_[i+12>>2],m=m+1|0}while((0|m)!=(0|A));gt=128}128==(0|gt)&&(gt=0,0|n[a+384+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[S+-4>>2]),A=0|_[V>>2]),_[L>>2]=0),n[a+384+16|0]=1,_[L>>2]=R,_[a+384+8>>2]=I}else A=m;if(e=0|_[L>>2],p[e+(A<<4)>>2]=h,p[e+(A<<4)+4>>2]=y,p[e+(A<<4)+8>>2]=g,p[e+(A<<4)+12>>2]=0,A=1+(0|_[V>>2])|0,_[V>>2]=A,(0|(l=l+1|0))>=(0|G))break e;m=0|_[a+384+8>>2]}}while(0);(0|P)>-1&&vi(a+624|0,z,X,a+384|0,H,Ct,r),0|(l=0|_[L>>2])&&(0|n[a+384+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[L>>2]=0)}if(0|n[t+16|0]&&(vt=0|_[r+4>>2],0|_[vt+748>>2])){if((0|(l=0|_[vt+740>>2]))==(0|(A=0|_[8+(0|_[r+8>>2])>>2]))){E(vt,l+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0);break}E(vt,4+(0|_[8+(0|_[r+12>>2])>>2])|0,A+4|0);break}}else{if(1!=(0|_[c+4>>2]))break t;if(n[0|(I=a+624+16|0)]=1,_[(T=a+624+12|0)>>2]=0,_[(R=a+624+4|0)>>2]=0,_[(S=a+624+8|0)>>2]=0,l=0|_[i+12>>2],yt=+p[c+56>>2],Ct=+p[c+56+4>>2],y=+p[c+56+8>>2],g=yt*+p[l>>2]+Ct*+p[l+4>>2]+y*+p[l+8>>2]+ +p[l+48>>2],h=yt*+p[l+16>>2]+Ct*+p[l+20>>2]+y*+p[l+24>>2]+ +p[l+52>>2],y=yt*+p[l+32>>2]+Ct*+p[l+36>>2]+y*+p[l+40>>2]+ +p[l+56>>2],_[6630]=1+(0|_[6630]),(l=0|di(35))?(_[(l+4+15&-16)-4>>2]=l,A=l+4+15&-16):A=0,(l=0|_[T>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2]),l=0|_[R>>2],_[T>>2]=0):l=0,n[0|I]=1,_[T>>2]=A,_[S>>2]=1,p[A+(l<<4)>>2]=g,p[A+(l<<4)+4>>2]=h,p[A+(l<<4)+8>>2]=y,p[A+(l<<4)+12>>2]=0,l=1+(0|_[R>>2])|0,_[R>>2]=l,vt=0|_[i+12>>2],yt=+p[c+56+16>>2],Ct=+p[c+56+20>>2],g=+p[c+56+24>>2],h=yt*+p[vt>>2]+Ct*+p[vt+4>>2]+g*+p[vt+8>>2]+ +p[vt+48>>2],y=yt*+p[vt+16>>2]+Ct*+p[vt+20>>2]+g*+p[vt+24>>2]+ +p[vt+52>>2],g=yt*+p[vt+32>>2]+Ct*+p[vt+36>>2]+g*+p[vt+40>>2]+ +p[vt+56>>2],(0|l)==(0|_[S>>2])&&(0|l)<(0|(L=0|l?l<<1:1))){if(L?(_[6630]=1+(0|_[6630]),(l=0|di(16+(L<<4|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,m=l,l=0|_[R>>2]):m=0,(0|l)>0){A=0;do{vt=m+(A<<4)|0,gt=(0|_[T>>2])+(A<<4)|0,_[vt>>2]=_[gt>>2],_[vt+4>>2]=_[gt+4>>2],_[vt+8>>2]=_[gt+8>>2],_[vt+12>>2]=_[gt+12>>2],A=A+1|0}while((0|A)!=(0|l))}0|(l=0|_[T>>2])&&(0|n[0|I]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[T>>2]=0),n[0|I]=1,_[T>>2]=m,_[S>>2]=L,l=0|_[R>>2]}if(vt=0|_[T>>2],p[vt+(l<<4)>>2]=h,p[vt+(l<<4)+4>>2]=y,p[vt+(l<<4)+8>>2]=g,p[vt+(l<<4)+12>>2]=0,l=1+(0|_[R>>2])|0,_[R>>2]=l,vt=0|_[i+12>>2],yt=+p[c+56+32>>2],Ct=+p[c+56+36>>2],g=+p[c+56+40>>2],h=yt*+p[vt>>2]+Ct*+p[vt+4>>2]+g*+p[vt+8>>2]+ +p[vt+48>>2],y=yt*+p[vt+16>>2]+Ct*+p[vt+20>>2]+g*+p[vt+24>>2]+ +p[vt+52>>2],g=yt*+p[vt+32>>2]+Ct*+p[vt+36>>2]+g*+p[vt+40>>2]+ +p[vt+56>>2],(0|l)==(0|_[S>>2])&&(0|l)<(0|(J=0|l?l<<1:1))){if(J?(_[6630]=1+(0|_[6630]),(l=0|di(16+(J<<4|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,m=l,l=0|_[R>>2]):m=0,(0|l)>0){A=0;do{vt=m+(A<<4)|0,i=(0|_[T>>2])+(A<<4)|0,_[vt>>2]=_[i>>2],_[vt+4>>2]=_[i+4>>2],_[vt+8>>2]=_[i+8>>2],_[vt+12>>2]=_[i+12>>2],A=A+1|0}while((0|A)!=(0|l))}0|(l=0|_[T>>2])&&(0|n[0|I]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[T>>2]=0),n[0|I]=1,_[T>>2]=m,_[S>>2]=J,l=0|_[R>>2]}vt=0|_[T>>2],p[vt+(l<<4)>>2]=h,p[vt+(l<<4)+4>>2]=y,p[vt+(l<<4)+8>>2]=g,p[vt+(l<<4)+12>>2]=0,_[R>>2]=1+(0|_[R>>2]),C=+p[752+(0|_[t+20>>2])>>2],Si(a+48|0,a+128|0,a+40|0,0|_[o+20>>2],0),(h=+p[a+48+4>>2])*h+(y=+p[a+48+8>>2])*y+(g=+p[a+48+12>>2])*g>1.1920928955078125e-7&&(yt=1/(h*h+y*y+g*g),p[a+384>>2]=h*yt,p[a+384+4>>2]=y*yt,p[a+384+8>>2]=g*yt,p[a+384+12>>2]=0,Ct=(yt=+p[a+48+56>>2])-(Ct=+Il[15&_[48+(0|_[s>>2])>>2]](s))-+Il[15&_[48+(0|_[c>>2])>>2]](c),vi(a+384|0,0|_[s+52>>2],0|_[e+12>>2],a+624|0,Ct-C,C,r));do{if(0|n[t+16|0]&&(X=0|_[r+4>>2],0|_[X+748>>2])){if((0|(l=0|_[X+740>>2]))==(0|(A=0|_[8+(0|_[r+8>>2])>>2]))){E(X,l+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0);break}E(X,4+(0|_[8+(0|_[r+12>>2])>>2])|0,A+4|0);break}}while(0);0|(l=0|_[T>>2])&&(0|n[0|I]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[T>>2]=0)}}while(0);return void(Q=a)}}while(0)}if(Si(a+48|0,a+128|0,r,0|_[o+20>>2],0),0|_[t+28>>2]&&(0|_[748+(0|_[r+4>>2])>>2])<(0|_[t+32>>2])&&(O=+p[a+48+4>>2])*O+(M=+p[a+48+8>>2])*M+(N=+p[a+48+12>>2])*N>1.1920928955078125e-7&&(+d(+N*(x=1/(O*O+M*M+N*N)))>.7071067690849304?(y=0,C=M*x*(g=1/+b(+(N*x*(N*x)+M*x*(M*x)))),g*=-N*x):(y=-M*x*(g=1/+b(+(O*x*(O*x)+M*x*(M*x)))),C=0,g*=O*x),h=.019999999552965164/((F=+Il[15&_[16+(0|_[s>>2])>>2]](s))<(B=+Il[15&_[16+(0|_[c>>2])>>2]](c))?F:B),F>2]=_[a+128>>2],_[a+624+4>>2]=_[a+128+4>>2],_[a+624+8>>2]=_[a+128+8>>2],_[a+624+12>>2]=_[a+128+12>>2],_[a+624+16>>2]=_[m>>2],_[a+624+16+4>>2]=_[m+4>>2],_[a+624+16+8>>2]=_[m+8>>2],_[a+624+16+12>>2]=_[m+12>>2],_[a+624+32>>2]=_[R>>2],_[a+624+32+4>>2]=_[R+4>>2],_[a+624+32+8>>2]=_[R+8>>2],_[a+624+32+12>>2]=_[R+12>>2],_[a+624+48>>2]=_[I>>2],_[a+624+48+4>>2]=_[I+4>>2],_[a+624+48+8>>2]=_[I+8>>2],_[a+624+48+12>>2]=_[I+12>>2]):(_[a+624>>2]=_[T>>2],_[a+624+4>>2]=_[T+4>>2],_[a+624+8>>2]=_[T+8>>2],_[a+624+12>>2]=_[T+12>>2],_[a+624+16>>2]=_[P>>2],_[a+624+16+4>>2]=_[P+4>>2],_[a+624+16+8>>2]=_[P+8>>2],_[a+624+16+12>>2]=_[P+12>>2],_[a+624+32>>2]=_[V>>2],_[a+624+32+4>>2]=_[V+4>>2],_[a+624+32+8>>2]=_[V+8>>2],_[a+624+32+12>>2]=_[V+12>>2],_[a+624+48>>2]=_[G>>2],_[a+624+48+4>>2]=_[G+4>>2],_[a+624+48+8>>2]=_[G+8>>2],_[a+624+48+12>>2]=_[G+12>>2]),(0|(l=0|_[t+28>>2]))>0)){v=+b(+(W=y*y+g*g+C*C)),D=y*(v=+u(+(w=.5*(h>.39269909262657166?.39269909262657166:h)))/v),j=g*v,v*=C,w=+f(+w),k=+b(+(N*x*(N*x)+(O*x*(O*x)+M*x*(M*x)))),A=0;do{W>1.1920928955078125e-7&&(h=O*x*(g=+u(+(C=6.2831854820251465/+(0|l)*+(0|A)*.5))/k),y=M*x*g,g*=N*x,C=+f(+C),F>2],_t=+p[vt>>2],rt=+p[vt+16>>2],st=+p[vt+32>>2],pt=+p[vt+4>>2],ct=+p[vt+20>>2],at=+p[vt+36>>2],lt=+p[vt+8>>2],At=+p[vt+24>>2],Ct=+p[vt+40>>2],p[a+128>>2]=(1-(ht*yt+ot*dt))*_t+(ft*yt-bt*dt)*rt+(ft*dt+bt*yt)*st,p[a+128+4>>2]=(1-(ht*yt+ot*dt))*pt+(ft*yt-bt*dt)*ct+(ft*dt+bt*yt)*at,p[a+128+8>>2]=(1-(ht*yt+ot*dt))*lt+(ft*yt-bt*dt)*At+(ft*dt+bt*yt)*Ct,p[a+128+12>>2]=0,p[a+128+16>>2]=(ft*yt+bt*dt)*_t+(1-(ft*mt+ot*dt))*rt+(ht*dt-bt*mt)*st,p[a+128+20>>2]=(ft*yt+bt*dt)*pt+(1-(ft*mt+ot*dt))*ct+(ht*dt-bt*mt)*at,p[a+128+24>>2]=(ft*yt+bt*dt)*lt+(1-(ft*mt+ot*dt))*At+(ht*dt-bt*mt)*Ct,p[a+128+28>>2]=0,p[a+128+32>>2]=(ft*dt-bt*yt)*_t+(ht*dt+bt*mt)*rt+(1-(ft*mt+ht*yt))*st,p[a+128+36>>2]=(ft*dt-bt*yt)*pt+(ht*dt+bt*mt)*ct+(1-(ft*mt+ht*yt))*at,p[a+128+40>>2]=(ft*dt-bt*yt)*lt+(ht*dt+bt*mt)*At+(1-(ft*mt+ht*yt))*Ct,p[a+128+44>>2]=0,vt=0|_[i+12>>2],_[T>>2]=_[vt>>2],_[T+4>>2]=_[vt+4>>2],_[T+8>>2]=_[vt+8>>2],_[T+12>>2]=_[vt+12>>2],_[P>>2]=_[vt+16>>2],_[P+4>>2]=_[vt+16+4>>2],_[P+8>>2]=_[vt+16+8>>2],_[P+12>>2]=_[vt+16+12>>2],_[V>>2]=_[vt+32>>2],_[V+4>>2]=_[vt+32+4>>2],_[V+8>>2]=_[vt+32+8>>2],_[V+12>>2]=_[vt+32+12>>2],_[G>>2]=_[vt+48>>2],_[G+4>>2]=_[vt+48+4>>2],_[G+8>>2]=_[vt+48+8>>2],_[G+12>>2]=_[vt+48+12>>2]):(vt=0|_[e+12>>2],_[a+128>>2]=_[vt>>2],_[a+128+4>>2]=_[vt+4>>2],_[a+128+8>>2]=_[vt+8>>2],_[a+128+12>>2]=_[vt+12>>2],_[m>>2]=_[vt+16>>2],_[m+4>>2]=_[vt+16+4>>2],_[m+8>>2]=_[vt+16+8>>2],_[m+12>>2]=_[vt+16+12>>2],_[R>>2]=_[vt+32>>2],_[R+4>>2]=_[vt+32+4>>2],_[R+8>>2]=_[vt+32+8>>2],_[R+12>>2]=_[vt+32+12>>2],_[I>>2]=_[vt+48>>2],_[I+4>>2]=_[vt+48+4>>2],_[I+8>>2]=_[vt+48+8>>2],_[I+12>>2]=_[vt+48+12>>2],mt=(ft=g*(D*-g+(j*C+w*-y)-v*-h)+(h*(w*C-D*-h-j*-y-v*-g)+C*(v*-y+(D*C+w*-h)-j*-g))-y*(j*-h+(v*C+w*-g)-D*-y))*(2/((bt=C*(w*C-D*-h-j*-y-v*-g)-h*(v*-y+(D*C+w*-h)-j*-g)-y*(D*-g+(j*C+w*-y)-v*-h)-g*(j*-h+(v*C+w*-g)-D*-y))*bt+((ot=y*(v*-y+(D*C+w*-h)-j*-g)+(g*(w*C-D*-h-j*-y-v*-g)+C*(j*-h+(v*C+w*-g)-D*-y))-h*(D*-g+(j*C+w*-y)-v*-h))*ot+(ft*ft+(ht=h*(j*-h+(v*C+w*-g)-D*-y)+(C*(D*-g+(j*C+w*-y)-v*-h)+y*(w*C-D*-h-j*-y-v*-g))-g*(v*-y+(D*C+w*-h)-j*-g))*ht)))),yt=ht*(2/(bt*bt+(ot*ot+(ft*ft+ht*ht)))),dt=ot*(2/(bt*bt+(ot*ot+(ft*ft+ht*ht)))),vt=0|_[i+12>>2],_t=+p[vt>>2],rt=+p[vt+16>>2],st=+p[vt+32>>2],pt=+p[vt+4>>2],ct=+p[vt+20>>2],at=+p[vt+36>>2],lt=+p[vt+8>>2],At=+p[vt+24>>2],Ct=+p[vt+40>>2],p[a+128+64>>2]=(1-(ht*yt+ot*dt))*_t+(ft*yt-bt*dt)*rt+(ft*dt+bt*yt)*st,p[a+128+68>>2]=(1-(ht*yt+ot*dt))*pt+(ft*yt-bt*dt)*ct+(ft*dt+bt*yt)*at,p[a+128+72>>2]=(1-(ht*yt+ot*dt))*lt+(ft*yt-bt*dt)*At+(ft*dt+bt*yt)*Ct,p[a+128+76>>2]=0,p[a+128+80>>2]=(ft*yt+bt*dt)*_t+(1-(ft*mt+ot*dt))*rt+(ht*dt-bt*mt)*st,p[a+128+84>>2]=(ft*yt+bt*dt)*pt+(1-(ft*mt+ot*dt))*ct+(ht*dt-bt*mt)*at,p[a+128+88>>2]=(ft*yt+bt*dt)*lt+(1-(ft*mt+ot*dt))*At+(ht*dt-bt*mt)*Ct,p[a+128+92>>2]=0,p[a+128+96>>2]=(ft*dt-bt*yt)*_t+(ht*dt+bt*mt)*rt+(1-(ft*mt+ht*yt))*st,p[a+128+100>>2]=(ft*dt-bt*yt)*pt+(ht*dt+bt*mt)*ct+(1-(ft*mt+ht*yt))*at,p[a+128+104>>2]=(ft*dt-bt*yt)*lt+(ht*dt+bt*mt)*At+(1-(ft*mt+ht*yt))*Ct,p[a+128+108>>2]=0),l=0|_[o+20>>2],_[a+384>>2]=7032,_[a+384+32>>2]=r,_[a+384+36>>2]=_[a+128>>2],_[a+384+36+4>>2]=_[a+128+4>>2],_[a+384+36+8>>2]=_[a+128+8>>2],_[a+384+36+12>>2]=_[a+128+12>>2],_[a+384+52>>2]=_[m>>2],_[a+384+52+4>>2]=_[m+4>>2],_[a+384+52+8>>2]=_[m+8>>2],_[a+384+52+12>>2]=_[m+12>>2],_[a+384+68>>2]=_[R>>2],_[a+384+68+4>>2]=_[R+4>>2],_[a+384+68+8>>2]=_[R+8>>2],_[a+384+68+12>>2]=_[R+12>>2],_[a+384+84>>2]=_[I>>2],_[a+384+84+4>>2]=_[I+4>>2],_[a+384+84+8>>2]=_[I+8>>2],_[a+384+84+12>>2]=_[I+12>>2],_[a+384+100>>2]=_[T>>2],_[a+384+100+4>>2]=_[T+4>>2],_[a+384+100+8>>2]=_[T+8>>2],_[a+384+100+12>>2]=_[T+12>>2],_[a+384+116>>2]=_[P>>2],_[a+384+116+4>>2]=_[P+4>>2],_[a+384+116+8>>2]=_[P+8>>2],_[a+384+116+12>>2]=_[P+12>>2],_[a+384+132>>2]=_[V>>2],_[a+384+132+4>>2]=_[V+4>>2],_[a+384+132+8>>2]=_[V+8>>2],_[a+384+132+12>>2]=_[V+12>>2],_[a+384+148>>2]=_[G>>2],_[a+384+148+4>>2]=_[G+4>>2],_[a+384+148+8>>2]=_[G+8>>2],_[a+384+148+12>>2]=_[G+12>>2],_[a+384+164>>2]=_[a+624>>2],_[a+384+164+4>>2]=_[a+624+4>>2],_[a+384+164+8>>2]=_[a+624+8>>2],_[a+384+164+12>>2]=_[a+624+12>>2],_[a+384+180>>2]=_[a+624+16>>2],_[a+384+180+4>>2]=_[a+624+16+4>>2],_[a+384+180+8>>2]=_[a+624+16+8>>2],_[a+384+180+12>>2]=_[a+624+16+12>>2],_[a+384+196>>2]=_[a+624+32>>2],_[a+384+196+4>>2]=_[a+624+32+4>>2],_[a+384+196+8>>2]=_[a+624+32+8>>2],_[a+384+196+12>>2]=_[a+624+32+12>>2],_[a+384+212>>2]=_[a+624+48>>2],_[a+384+212+4>>2]=_[a+624+48+4>>2],_[a+384+212+8>>2]=_[a+624+48+8>>2],_[a+384+212+12>>2]=_[a+624+48+12>>2],n[a+384+228|0]=F>2]=l,Si(a+48|0,a+128|0,a+384|0,l,0),l=0|_[t+28>>2]),A=A+1|0}while((0|A)<(0|l))}if(0|n[t+16|0]){if(l=0|_[r+4>>2],0|_[l+748>>2])return(0|(A=0|_[l+740>>2]))==(0|(m=0|_[8+(0|_[r+8>>2])>>2]))?(E(l,A+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0),void(Q=a)):(E(l,4+(0|_[8+(0|_[r+12>>2])>>2])|0,m+4|0),void(Q=a));Q=a}else Q=a},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0;if(a=Q,Q=Q+224|0,s=(u=!!(0|n[28+(t|=0)|0]))?i:e,u=u?e:i,c=0|_[s+4>>2],(0|_[c+68>>2])!=(0|_[t+40>>2])){if((0|(d=0|_[t+12>>2]))>0){l=0;do{0|(b=0|_[(0|_[t+20>>2])+(l<<2)>>2])&&(Xl[511&_[_[b>>2]>>2]](b),A=0|_[t+4>>2],ed[127&_[60+(0|_[A>>2])>>2]](A,0|_[(0|_[t+20>>2])+(l<<2)>>2])),l=l+1|0}while((0|l)!=(0|d))}Pt(t,e,i)}if(A=0|_[c+64>>2],b=0|_[t+4>>2],l=0|_[t+20>>2],e=0|_[t+32>>2],_[a+192>>2]=7088,_[a+192+4>>2]=s,_[a+192+8>>2]=u,_[a+192+12>>2]=b,_[a+192+16>>2]=o,_[a+192+20>>2]=r,_[a+192+24>>2]=l,_[a+192+28>>2]=e,n[a+128+16|0]=1,_[(o=a+128+12|0)>>2]=0,_[a+128+4>>2]=0,_[a+128+8>>2]=0,(0|(e=0|_[t+12>>2]))>0){for(b=0;;){if(l=0|_[l+(b<<2)>>2]){if(ed[127&_[16+(0|_[l>>2])>>2]](l,a+128|0),(0|(l=0|_[a+128+4>>2]))>0){d=0;do{i=0|_[(0|_[o>>2])+(d<<2)>>2],0|_[i+748>>2]&&(_[r+4>>2]=i,(0|(l=0|_[i+740>>2]))==(0|(e=0|_[8+(0|_[r+8>>2])>>2]))?E(i,l+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0):E(i,4+(0|_[8+(0|_[r+12>>2])>>2])|0,e+4|0),_[r+4>>2]=0,l=0|_[a+128+4>>2]),d=d+1|0}while((0|d)<(0|l))}if((0|l)<0){(0|_[a+128+8>>2])<0&&(0|(e=0|_[o>>2])&&(0|n[a+128+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[o>>2]=0),n[a+128+16|0]=1,_[o>>2]=0,_[a+128+8>>2]=0);do{_[(0|_[o>>2])+(l<<2)>>2]=0,l=l+1|0}while(0|l)}_[a+128+4>>2]=0,e=0|_[t+12>>2]}if((0|(l=b+1|0))>=(0|e))break;b=l,l=0|_[t+20>>2]}0|(l=0|_[o>>2])&&(0|n[a+128+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[o>>2]=0)}if(A)f=0|_[s+12>>2],W=+p[f>>2],B=+p[f+16>>2],I=+p[f+32>>2],D=+p[f+4>>2],j=+p[f+20>>2],R=+p[f+36>>2],v=+p[f+8>>2],g=+p[f+24>>2],h=+p[f+40>>2],k=-+p[f+48>>2],w=-+p[f+52>>2],S=-+p[f+56>>2],f=0|_[u+12>>2],N=+p[f>>2],G=+p[f+16>>2],V=+p[f+32>>2],M=+p[f+4>>2],P=+p[f+20>>2],T=+p[f+36>>2],O=+p[f+8>>2],x=+p[f+24>>2],F=+p[f+40>>2],C=+p[f+48>>2],y=+p[f+52>>2],m=+p[f+56>>2],p[a+48>>2]=W*N+B*G+I*V,p[a+48+4>>2]=W*M+B*P+I*T,p[a+48+8>>2]=W*O+B*x+I*F,p[a+48+12>>2]=0,p[a+48+16>>2]=D*N+j*G+R*V,p[a+48+20>>2]=D*M+j*P+R*T,p[a+48+24>>2]=D*O+j*x+R*F,p[a+48+28>>2]=0,p[a+48+32>>2]=v*N+g*G+h*V,p[a+48+36>>2]=v*M+g*P+h*T,p[a+48+40>>2]=v*O+g*x+h*F,p[a+48+44>>2]=0,p[a+48+48>>2]=W*k+B*w+I*S+(W*C+B*y+I*m),p[a+48+52>>2]=D*k+j*w+R*S+(D*C+j*y+R*m),p[a+48+56>>2]=v*k+g*w+h*S+(v*C+g*y+h*m),p[a+48+60>>2]=0,f=0|_[u+4>>2],pd[127&_[8+(0|_[f>>2])>>2]](f,a+48|0,a+128|0,a+112|0),_[a+16>>2]=_[a+128>>2],_[a+16+4>>2]=_[a+128+4>>2],_[a+16+8>>2]=_[a+128+8>>2],_[a+16+12>>2]=_[a+128+12>>2],_[a+16+16>>2]=_[a+112>>2],_[a+16+16+4>>2]=_[a+112+4>>2],_[a+16+16+8>>2]=_[a+112+8>>2],_[a+16+16+12>>2]=_[a+112+12>>2],ci(0|_[A>>2],a+16|0,a+192|0),f=40;else if((0|(e=0|_[t+12>>2]))>0){l=0;do{ii(a+192|0,0|_[(0|_[c+24>>2])+(80*l|0)+64>>2],l),l=l+1|0}while((0|l)<(0|e));f=40}if(40==(0|f)&&(e=0|_[t+12>>2]),(0|e)<=0)Q=a;else{i=0;do{do{if(0|_[(0|_[t+20>>2])+(i<<2)>>2]){if(A=0|_[c+24>>2],f=0|_[A+(80*i|0)+64>>2],r=0|_[s+12>>2],g=+p[r>>2],C=+p[r+4>>2],v=+p[r+8>>2],S=+p[r+16>>2],w=+p[r+20>>2],k=+p[r+24>>2],F=+p[r+32>>2],O=+p[r+36>>2],P=+p[r+40>>2],R=+p[A+(80*i|0)>>2],j=+p[A+(80*i|0)+16>>2],D=+p[A+(80*i|0)+32>>2],I=+p[A+(80*i|0)+4>>2],B=+p[A+(80*i|0)+20>>2],W=+p[A+(80*i|0)+36>>2],x=+p[A+(80*i|0)+8>>2],T=+p[A+(80*i|0)+24>>2],M=+p[A+(80*i|0)+40>>2],h=+p[A+(80*i|0)+48>>2],y=+p[A+(80*i|0)+52>>2],N=+p[A+(80*i|0)+56>>2],V=+p[r+48>>2]+(g*h+C*y+v*N),G=+p[r+52>>2]+(S*h+w*y+k*N),N=+p[r+56>>2]+(F*h+O*y+P*N),p[a+128>>2]=g*R+C*j+v*D,p[a+128+4>>2]=g*I+C*B+v*W,p[a+128+8>>2]=g*x+C*T+v*M,p[a+128+12>>2]=0,p[a+128+16>>2]=S*R+w*j+k*D,p[a+128+20>>2]=S*I+w*B+k*W,p[a+128+24>>2]=S*x+w*T+k*M,p[a+128+28>>2]=0,p[a+128+32>>2]=F*R+O*j+P*D,p[a+128+36>>2]=F*I+O*B+P*W,p[a+128+40>>2]=F*x+O*T+P*M,p[a+128+44>>2]=0,p[a+128+48>>2]=V,p[a+128+52>>2]=G,p[a+128+56>>2]=N,p[a+128+60>>2]=0,pd[127&_[8+(0|_[f>>2])>>2]](f,a+128|0,a+112|0,a+48|0),f=0|_[u+4>>2],pd[127&_[8+(0|_[f>>2])>>2]](f,0|_[u+12>>2],a+16|0,a),l=+p[a+112>>2]>+p[a>>2]||+p[a+48>>2]<+p[a+16>>2]?0:1,(+p[a+112+8>>2]>+p[a+8>>2]||+p[a+48+8>>2]<+p[a+16+8>>2])&&(l=0),!(+p[a+112+4>>2]>+p[a+4>>2]||+p[a+48+4>>2]<+p[a+16+4>>2]|1^l))break;f=0|_[(0|_[t+20>>2])+(i<<2)>>2],Xl[511&_[_[f>>2]>>2]](f),f=0|_[t+4>>2],ed[127&_[60+(0|_[f>>2])>>2]](f,0|_[(0|_[t+20>>2])+(i<<2)>>2]),_[(0|_[t+20>>2])+(i<<2)>>2]=0}}while(0);i=i+1|0}while((0|i)<(0|e));Q=a}},function(t,e,i,o,r){t|=0,i|=0,o|=0,r|=0;var s,c,a,l,b,A,f,u,m,h,y,g,C,v,S,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0,At=0,ft=0,ut=0,mt=0,ht=0,yt=0;if(S=Q,Q=Q+176|0,C=0|_[4+(e|=0)>>2],v=0|_[i+4>>2],(0|_[C+68>>2])==(0|_[t+40>>2])&&(0|_[v+68>>2])==(0|_[t+44>>2]))st=t+8|0;else{if(w=0|_[t+8>>2],(0|(R=0|_[w+8>>2]))>0){k=0;do{0|(j=0|_[(0|_[w+16>>2])+(12*k|0)+8>>2])&&(Xl[511&_[_[j>>2]>>2]](j),st=0|_[t+4>>2],ed[127&_[60+(0|_[st>>2])>>2]](st,j)),k=k+1|0}while((0|k)!=(0|R));w=0|_[t+8>>2]}te(w),st=t+8|0}if(n[S+128+16|0]=1,_[(B=S+128+12|0)>>2]=0,_[S+128+4>>2]=0,_[S+128+8>>2]=0,I=0|_[st>>2],(0|(w=0|_[I+8>>2]))>0){D=0;do{if(k=0|_[(0|_[I+16>>2])+(12*D|0)+8>>2]){if(ed[127&_[16+(0|_[k>>2])>>2]](k,S+128|0),(0|(w=0|_[S+128+4>>2]))>0){j=0;do{R=0|_[(0|_[B>>2])+(j<<2)>>2],0|_[R+748>>2]&&(_[r+4>>2]=R,(0|(w=0|_[R+740>>2]))==(0|(k=0|_[8+(0|_[r+8>>2])>>2]))?E(R,w+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0):E(R,4+(0|_[8+(0|_[r+12>>2])>>2])|0,k+4|0),_[r+4>>2]=0,w=0|_[S+128+4>>2]),j=j+1|0}while((0|j)<(0|w))}if((0|w)<0){(0|_[S+128+8>>2])<0&&(0|(k=0|_[B>>2])&&(0|n[S+128+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[k+-4>>2])),_[B>>2]=0),n[S+128+16|0]=1,_[B>>2]=0,_[S+128+8>>2]=0);do{_[(0|_[B>>2])+(w<<2)>>2]=0,w=w+1|0}while(0|w)}_[S+128+4>>2]=0,w=0|_[I+8>>2]}D=D+1|0}while((0|D)<(0|w));0|(w=0|_[B>>2])&&(0|n[S+128+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[w+-4>>2])),_[B>>2]=0)}if(k=0|_[C+64>>2],R=0|_[v+64>>2],O=0|_[t+4>>2],T=0|_[st>>2],P=0|_[t+32>>2],_[S+128>>2]=7152,_[S+128+4>>2]=0,_[S+128+8>>2]=e,_[S+128+12>>2]=i,_[S+128+16>>2]=O,_[S+128+20>>2]=o,_[S+128+24>>2]=r,_[S+128+28>>2]=T,_[S+128+32>>2]=P,P=0|_[e+12>>2],s=+p[P>>2],c=+p[P+16>>2],a=+p[P+32>>2],l=+p[P+4>>2],b=+p[P+20>>2],A=+p[P+36>>2],f=+p[P+8>>2],u=+p[P+24>>2],m=+p[P+40>>2],h=-+p[P+48>>2],y=-+p[P+52>>2],g=-+p[P+56>>2],P=0|_[i+12>>2],J=+p[P>>2],X=+p[P+16>>2],z=+p[P+32>>2],K=+p[P+4>>2],q=+p[P+20>>2],$=+p[P+36>>2],tt=+p[P+8>>2],et=+p[P+24>>2],it=+p[P+40>>2],nt=+p[P+48>>2],ot=+p[P+52>>2],_t=+p[P+56>>2],!!(0|(k=0|_[k>>2]))&!!(0|(R=0|_[R>>2]))){for(_[6630]=1+(0|_[6630]),(w=0|di(1043))?(_[(w+4+15&-16)-4>>2]=w,w=w+4+15&-16):w=0,_[w>>2]=k,_[w+4>>2]=R,M=+d(+(s*J+c*X+a*z)),V=+d(+(s*K+c*q+a*$)),G=+d(+(s*tt+c*et+a*it)),N=+d(+(l*J+b*X+A*z)),L=+d(+(l*K+b*q+A*$)),H=+d(+(l*tt+b*et+A*it)),Z=+d(+(f*J+u*X+m*z)),U=+d(+(f*K+u*q+m*$)),Y=+d(+(f*tt+u*et+m*it)),W=1,I=124,B=128,x=w,D=128,o=w,j=w,R=w;;){O=0|_[x+((P=W+-1|0)<<3)>>2],T=0|_[x+(P<<3)+4>>2],At=s*h+c*y+a*g+(s*nt+c*ot+a*_t)+(.5*((yt=+p[T+16>>2])+(ht=+p[T>>2]))*(s*J+c*X+a*z)+.5*((mt=+p[T+20>>2])+(ut=+p[T+4>>2]))*(s*K+c*q+a*$)+.5*((ft=+p[T+24>>2])+(ct=+p[T+8>>2]))*(s*tt+c*et+a*it)),dt=l*h+b*y+A*g+(l*nt+b*ot+A*_t)+(.5*(yt+ht)*(l*J+b*X+A*z)+.5*(mt+ut)*(l*K+b*q+A*$)+.5*(ft+ct)*(l*tt+b*et+A*it)),at=f*h+u*y+m*g+(f*nt+u*ot+m*_t)+(.5*(yt+ht)*(f*J+u*X+m*z)+.5*(mt+ut)*(f*K+u*q+m*$)+.5*(ft+ct)*(f*tt+u*et+m*it)),bt=M*(.5*(yt-ht)+0)+V*(.5*(mt-ut)+0)+G*(.5*(ft-ct)+0),lt=N*(.5*(yt-ht)+0)+L*(.5*(mt-ut)+0)+H*(.5*(ft-ct)+0),ct=Z*(.5*(yt-ht)+0)+U*(.5*(mt-ut)+0)+Y*(.5*(ft-ct)+0);do{if(+p[O>>2]<=bt+At&&+p[O+16>>2]>=At-bt&&+p[O+4>>2]<=lt+dt&&+p[O+20>>2]>=dt-lt&&+p[O+8>>2]<=ct+at&&+p[O+24>>2]>=at-ct){if((0|P)>(0|I)){F=D<<1;do{if((0|D)<(0|F)&(0|B)<(0|F)){do{if(D){if(_[6630]=1+(0|_[6630]),(w=0|di(16+(D<<4|3)|0))?(_[(w+4+15&-16)-4>>2]=w,k=w+4+15&-16):k=0,(0|D)<=0){R=k,w=k,rt=55;break}w=0;do{B=0|_[4+(I=x+(w<<3)|0)>>2],_[(r=k+(w<<3)|0)>>2]=_[I>>2],_[r+4>>2]=B,w=w+1|0}while((0|w)!=(0|D));R=k,w=k}else R=0,w=0,rt=55}while(0);if(55==(0|rt)&&(rt=0,!x)){D=F,j=R,I=R,k=R;break}o?(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),D=F,j=R,I=R,k=R):(D=F,j=R,I=R,k=R)}else D=B,w=x,I=R,k=o}while(0);r=F+-4|0,B=D,D=F,o=k}else r=I,w=x,I=R;if(k=!!(0|_[T+40>>2]),0|_[O+40>>2]){if(R=0|_[O+36>>2],k){k=0|_[T+36>>2],_[w+(P<<3)>>2]=R,_[w+(P<<3)+4>>2]=k,P=0|_[T+36>>2],k=W+1|0,_[w+(W<<3)>>2]=_[O+40>>2],_[w+(W<<3)+4>>2]=P,P=0|_[T+40>>2],R=W+2|0,_[w+(k<<3)>>2]=_[O+36>>2],_[w+(k<<3)+4>>2]=P,k=0|_[T+40>>2],_[w+(R<<3)>>2]=_[O+40>>2],_[w+(R<<3)+4>>2]=k,W=W+3|0,R=I,k=o;break}_[w+(P<<3)>>2]=R,_[w+(P<<3)+4>>2]=T,_[w+(W<<3)>>2]=_[O+40>>2],_[w+(W<<3)+4>>2]=T,W=W+1|0,R=I,k=o;break}if(k){R=0|_[T+36>>2],_[w+(P<<3)>>2]=O,_[w+(P<<3)+4>>2]=R,R=0|_[T+40>>2],_[w+(W<<3)>>2]=O,_[w+(W<<3)+4>>2]=R,W=W+1|0,R=I,k=o;break}_d[127&_[8+(0|_[S+128>>2])>>2]](S+128|0,O,T),W=P,R=I,k=o;break}W=P,r=I,w=x,k=o}while(0);if(!W)break;I=r,x=w,o=k}!(0|w)|!(0|j)||(_[6631]=1+(0|_[6631]),Ni(0|_[j+-4>>2]))}if(B=0|_[st>>2],(0|_[B+8>>2])>0){I=0;do{w=0|_[B+16>>2],k=0|_[w+(12*I|0)+8>>2];do{if(0|k){if(rt=0|_[w+(12*I|0)>>2],P=0|_[C+24>>2],T=0|_[P+(80*rt|0)+64>>2],O=0|_[e+12>>2],yt=+p[O>>2],X=+p[O+4>>2],J=+p[O+8>>2],ut=+p[O+16>>2],At=+p[O+20>>2],dt=+p[O+24>>2],ft=+p[O+32>>2],lt=+p[O+36>>2],tt=+p[O+40>>2],at=+p[P+(80*rt|0)>>2],ct=+p[P+(80*rt|0)+16>>2],_t=+p[P+(80*rt|0)+32>>2],ot=+p[P+(80*rt|0)+4>>2],nt=+p[P+(80*rt|0)+20>>2],it=+p[P+(80*rt|0)+36>>2],bt=+p[P+(80*rt|0)+8>>2],et=+p[P+(80*rt|0)+24>>2],$=+p[P+(80*rt|0)+40>>2],ht=+p[P+(80*rt|0)+48>>2],mt=+p[P+(80*rt|0)+52>>2],z=+p[P+(80*rt|0)+56>>2],q=+p[O+48>>2]+(yt*ht+X*mt+J*z),K=+p[O+52>>2]+(ut*ht+At*mt+dt*z),z=+p[O+56>>2]+(ft*ht+lt*mt+tt*z),p[S>>2]=yt*at+X*ct+J*_t,p[S+4>>2]=yt*ot+X*nt+J*it,p[S+8>>2]=yt*bt+X*et+J*$,p[S+12>>2]=0,p[S+16>>2]=ut*at+At*ct+dt*_t,p[S+20>>2]=ut*ot+At*nt+dt*it,p[S+24>>2]=ut*bt+At*et+dt*$,p[S+28>>2]=0,p[S+32>>2]=ft*at+lt*ct+tt*_t,p[S+36>>2]=ft*ot+lt*nt+tt*it,p[S+40>>2]=ft*bt+lt*et+tt*$,p[S+44>>2]=0,p[S+48>>2]=q,p[S+52>>2]=K,p[S+56>>2]=z,p[S+60>>2]=0,pd[127&_[8+(0|_[T>>2])>>2]](T,S,S+112|0,S+96|0),T=0|_[(0|_[B+16>>2])+(12*I|0)+4>>2],O=0|_[v+24>>2],rt=0|_[O+(80*T|0)+64>>2],P=0|_[i+12>>2],z=+p[P>>2],K=+p[P+4>>2],q=+p[P+8>>2],$=+p[P+16>>2],tt=+p[P+20>>2],et=+p[P+24>>2],lt=+p[P+32>>2],bt=+p[P+36>>2],ft=+p[P+40>>2],it=+p[O+(80*T|0)>>2],nt=+p[O+(80*T|0)+16>>2],ot=+p[O+(80*T|0)+32>>2],_t=+p[O+(80*T|0)+4>>2],ct=+p[O+(80*T|0)+20>>2],at=+p[O+(80*T|0)+36>>2],dt=+p[O+(80*T|0)+8>>2],At=+p[O+(80*T|0)+24>>2],ut=+p[O+(80*T|0)+40>>2],J=+p[O+(80*T|0)+48>>2],X=+p[O+(80*T|0)+52>>2],yt=+p[O+(80*T|0)+56>>2],mt=+p[P+48>>2]+(z*J+K*X+q*yt),ht=+p[P+52>>2]+($*J+tt*X+et*yt),yt=+p[P+56>>2]+(lt*J+bt*X+ft*yt),p[S>>2]=z*it+K*nt+q*ot,p[S+4>>2]=z*_t+K*ct+q*at,p[S+8>>2]=z*dt+K*At+q*ut,p[S+12>>2]=0,p[S+16>>2]=$*it+tt*nt+et*ot,p[S+20>>2]=$*_t+tt*ct+et*at,p[S+24>>2]=$*dt+tt*At+et*ut,p[S+28>>2]=0,p[S+32>>2]=lt*it+bt*nt+ft*ot,p[S+36>>2]=lt*_t+bt*ct+ft*at,p[S+40>>2]=lt*dt+bt*At+ft*ut,p[S+44>>2]=0,p[S+48>>2]=mt,p[S+52>>2]=ht,p[S+56>>2]=yt,p[S+60>>2]=0,pd[127&_[8+(0|_[rt>>2])>>2]](rt,S,S+80|0,S+64|0),w=+p[S+112>>2]>+p[S+64>>2]||+p[S+96>>2]<+p[S+80>>2]?0:1,(+p[S+112+8>>2]>+p[S+64+8>>2]||+p[S+96+8>>2]<+p[S+80+8>>2])&&(w=0),!(+p[S+112+4>>2]>+p[S+64+4>>2]||+p[S+96+4>>2]<+p[S+80+4>>2]|1^w))break;if(Xl[511&_[_[k>>2]>>2]](k),D=0|_[t+4>>2],ed[127&_[60+(0|_[D>>2])>>2]](D,k),D=0|_[B+16>>2],j=0|_[D+(12*I|0)>>2],D=0|_[D+(12*I|0)+4>>2],(0|(k=0|_[t+16>>2]))==(0|_[t+20>>2])&&(0|k)<(0|(pt=0|k?k<<1:1))){if(pt?(_[6630]=1+(0|_[6630]),(w=0|di(16+(12*pt|3)|0))?(_[(w+4+15&-16)-4>>2]=w,w=w+4+15&-16):w=0,k=0|_[t+16>>2]):w=0,(0|k)>0){R=0;do{rt=w+(12*R|0)|0,P=(0|_[t+24>>2])+(12*R|0)|0,_[rt>>2]=_[P>>2],_[rt+4>>2]=_[P+4>>2],_[rt+8>>2]=_[P+8>>2],R=R+1|0}while((0|R)!=(0|k))}0|(k=0|_[t+24>>2])&&(0|n[t+28|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[k+-4>>2])),_[t+24>>2]=0),n[t+28|0]=1,_[t+24>>2]=w,_[t+20>>2]=pt,w=0|_[t+16>>2]}else w=k;rt=0|_[t+24>>2],_[rt+(12*w|0)>>2]=j,_[rt+(12*w|0)+4>>2]=D,_[rt+(12*w|0)+8>>2]=0,_[t+16>>2]=1+(0|_[t+16>>2])}}while(0);I=I+1|0}while((0|I)<(0|_[B+8>>2]));k=t+24|0,R=t+16|0}else k=t+24|0,R=t+16|0;if((0|_[R>>2])>0){w=0;do{i=0|_[st>>2],pt=0|_[k>>2],El[63&_[8+(0|_[i>>2])>>2]](i,0|_[pt+(12*w|0)>>2],0|_[pt+(12*w|0)+4>>2]),w=w+1|0}while((0|w)<(0|_[R>>2]))}if(!(w=0|_[k>>2]))return n[t+28|0]=1,_[k>>2]=0,_[R>>2]=0,_[(t=t+20|0)>>2]=0,void(Q=S);0|n[t+28|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[w+-4>>2])),_[k>>2]=0,n[t+28|0]=1,_[k>>2]=0,_[R>>2]=0,_[(t=t+20|0)>>2]=0,Q=S},function(t,e,i,n,r){t|=0,i|=0,n|=0,r|=0;var c,a,l,d,b,A,f,u,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;_[16+(e|=0)>>2]=_[i>>2],_[e+16+4>>2]=_[i+4>>2],_[e+16+8>>2]=_[i+8>>2],_[e+16+12>>2]=_[i+12>>2],_[e+32>>2]=_[n>>2],_[e+32+4>>2]=_[n+4>>2],_[e+32+8>>2]=_[n+8>>2],_[e+32+12>>2]=_[n+12>>2],f=0|_[t+60>>2],u=65535&_[e+12>>2],c=+p[t+8>>2],l=+p[t+12>>2],b=+p[t+16>>2],a=+p[t+40>>2],C=(+p[i>>2]-c)*a,d=+p[t+44>>2],v=(+p[i+4>>2]-l)*d,A=+p[t+48>>2],S=(+p[i+8>>2]-b)*A,C<=0?j=0:(j=0|o[t+6>>1],j=o[t+4>>1]&(C>=+(65535&j)?j:65535&C)),v<=0?D=0:(D=0|o[t+6>>1],D=o[t+4>>1]&(v>=+(65535&D)?D:65535&v)),S<=0?I=0:(I=0|o[t+6>>1],I=o[t+4>>1]&(S>=+(65535&I)?I:65535&S)),S=(+p[n>>2]-c)*a,v=(+p[n+4>>2]-l)*d,C=(+p[n+8>>2]-b)*A,S<=0?w=1:(w=0|o[t+6>>1],w=o[t+4>>1]&(S>=+(65535&w)?w:65535&S)|1),v<=0?k=1:(k=0|o[t+6>>1],k=o[t+4>>1]&(v>=+(65535&k)?k:65535&v)|1),C<=0?R=1:(R=0|o[t+6>>1],R=o[t+4>>1]&(C>=+(65535&R)?R:65535&C)|1),m=0|o[f+(u<<6)+48>>1],h=0|o[f+(u<<6)+54>>1],B=0|_[t+68>>2],y=(65535&j)-(0|s[B+((65535&m)<<2)>>1])|0,g=(65535&w)-(0|s[B+((65535&h)<<2)>>1])|0,o[B+((65535&m)<<2)>>1]=j,o[B+((65535&h)<<2)>>1]=w,(0|y)<0&&Yt(t,0,m),(0|g)>0&&Zt(t,0,h),(0|y)>0&&Ut(t,0,m,r),(0|g)<0&&Ht(t,0,h,r),m=0|o[f+(u<<6)+50>>1],h=0|o[f+(u<<6)+56>>1],B=0|_[t+72>>2],y=(65535&D)-(0|s[B+((65535&m)<<2)>>1])|0,g=(65535&k)-(0|s[B+((65535&h)<<2)>>1])|0,o[B+((65535&m)<<2)>>1]=D,o[B+((65535&h)<<2)>>1]=k,(0|y)<0&&Yt(t,1,m),(0|g)>0&&Zt(t,1,h),(0|y)>0&&Ut(t,1,m,r),(0|g)<0&&Ht(t,1,h,r),g=0|o[f+(u<<6)+52>>1],m=0|o[f+(u<<6)+58>>1],B=0|_[t+76>>2],h=(65535&I)-(0|s[B+((65535&g)<<2)>>1])|0,y=(65535&R)-(0|s[B+((65535&m)<<2)>>1])|0,o[B+((65535&g)<<2)>>1]=I,o[B+((65535&m)<<2)>>1]=R,(0|h)<0&&Yt(t,2,g),(0|y)>0&&Zt(t,2,m),(0|h)>0&&Ut(t,2,g,r),(0|y)<0&&Ht(t,2,m,r),(m=0|_[t+108>>2])&&dd[31&_[16+(0|_[m>>2])>>2]](m,0|_[e+60>>2],i,n,r)},function(t,e,i,o,r){t|=0,e|=0,i|=0,o|=0,r|=0;var s,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0;s=Q,Q=Q+48|0,_[s+16>>2]=_[i>>2],_[s+16+4>>2]=_[i+4>>2],_[s+16+8>>2]=_[i+8>>2],_[s+16+12>>2]=_[i+12>>2],_[s+16+16>>2]=_[o>>2],_[s+16+16+4>>2]=_[o+4>>2],_[s+16+16+8>>2]=_[o+8>>2],_[s+16+16+12>>2]=_[o+12>>2];do{if(2==(0|_[e+60>>2])){if(Tt(t+64|0,r=0|_[e+48>>2]),0|(c=0|_[t+68>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[t+68>>2]=r,_[t+76>>2]=(0|_[t+76>>2])-1,r=0|_[t+8>>2])_[t+8>>2]=0;else{_[6630]=1+(0|_[6630]),(r=0|di(63))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,a=(c=r)+44|0;do{_[c>>2]=0,c=c+4|0}while((0|c)<(0|a))}_[r+32>>2]=0,_[r+36>>2]=e,_[r+40>>2]=0,_[r>>2]=_[s+16>>2],_[r+4>>2]=_[s+16+4>>2],_[r+8>>2]=_[s+16+8>>2],_[r+12>>2]=_[s+16+12>>2],_[r+16>>2]=_[s+16+16>>2],_[r+20>>2]=_[s+16+20>>2],_[r+24>>2]=_[s+16+24>>2],_[r+28>>2]=_[s+16+28>>2],U(t+4|0,0|_[t+4>>2],r),_[t+16>>2]=1+(0|_[t+16>>2]),_[e+48>>2]=r,r=1}else{if(_[t+168>>2]=1+(0|_[t+168>>2]),m=0|_[e+48>>2],+p[m>>2]<=+p[s+16+16>>2]&&+p[m+16>>2]>=+p[s+16>>2]&&+p[m+4>>2]<=+p[s+16+20>>2]&&+p[m+20>>2]>=+p[s+16+4>>2]&&+p[m+8>>2]<=+p[s+16+24>>2]&&+p[m+24>>2]>=+p[s+16+8>>2]){l=+p[e+16>>2],h=+p[i>>2]-l,d=+p[e+20>>2],f=+p[i+4>>2]-d,b=+p[e+24>>2],u=+p[i+8>>2]-b,y=+p[t+140>>2],l=.5*(+p[e+32>>2]-l)*y,d=y*(.5*(+p[e+36>>2]-d)),b=y*(.5*(+p[e+40>>2]-b)),p[s>>2]=l,p[s+4>>2]=d,p[s+8>>2]=b,p[s+12>>2]=0,h<0&&(p[s>>2]=-l),f<0&&(p[s+4>>2]=-d),u<0&&(p[s+8>>2]=-b),0|Lt(t+4|0,m,s+16|0,s,.05000000074505806)?(_[t+172>>2]=1+(0|_[t+172>>2]),r=1):r=0;break}r=0|Tt(t+4|0,m);t:do{if(r){if((0|(A=0|_[t+12>>2]))<=-1){r=0|_[t+4>>2];break}if(A)for(c=0;;){if(c=c+1|0,!(a=0|_[r+32>>2]))break t;if((0|c)>=(0|A)){r=a;break}r=a}}else r=0}while(0);_[m>>2]=_[s+16>>2],_[m+4>>2]=_[s+16+4>>2],_[m+8>>2]=_[s+16+8>>2],_[m+12>>2]=_[s+16+12>>2],_[m+16>>2]=_[s+16+16>>2],_[m+20>>2]=_[s+16+20>>2],_[m+24>>2]=_[s+16+24>>2],_[m+28>>2]=_[s+16+28>>2],U(t+4|0,r,m),_[t+172>>2]=1+(0|_[t+172>>2]),r=1}}while(0);c=(c=0|_[e+52>>2])?c+56|0:t+124+(_[e+60>>2]<<2)|0,_[c>>2]=_[e+56>>2],0|(c=0|_[e+56>>2])&&(_[c+52>>2]=_[e+52>>2]),_[e+16>>2]=_[i>>2],_[e+16+4>>2]=_[i+4>>2],_[e+16+8>>2]=_[i+8>>2],_[e+16+12>>2]=_[i+12>>2],_[e+32>>2]=_[o>>2],_[e+32+4>>2]=_[o+4>>2],_[e+32+8>>2]=_[o+8>>2],_[e+32+12>>2]=_[o+12>>2],c=0|_[t+144>>2],_[e+60>>2]=c,_[e+52>>2]=0,_[e+56>>2]=_[t+124+(c<<2)>>2],0|(a=0|_[t+124+(c<<2)>>2])&&(_[a+52>>2]=e),_[t+124+(c<<2)>>2]=e,r?(n[t+194|0]=1,0|n[t+193|0]||(_[s>>2]=9900,_[s+4>>2]=t,Le(t+64|0,0|_[t+64>>2],0|_[e+48>>2],s),Le(t+4|0,0|_[t+4>>2],0|_[e+48>>2],s)),Q=s):Q=s},Si,function(t,e,i,n,o){},function(t,e,i,n,o){e|=0,i|=0,n|=0,o|=0;var r,s,c,a,l,d,A,f,u,m=0,h=0,y=0;if(u=Q,Q=Q+32|0,f=0|_[12+(t|=0)>>2]){if(_[o+4>>2]=f,t=0|_[e+4>>2],n=0|_[i+4>>2],e=0|_[e+12>>2],i=0|_[i+12>>2],s=+p[i+48>>2],m=+p[e+48>>2]-s,c=+p[i+52>>2],h=+p[e+52>>2]-c,a=+p[i+56>>2],r=+p[e+56>>2]-a,l=+b(+(m*m+h*h+r*r)),d=+p[n+28>>2]*+p[n+12>>2],l>(A=+p[t+28>>2]*+p[t+12>>2]+d))return 0|_[f+748>>2]?(0|(n=0|_[f+740>>2]))==(0|(t=0|_[8+(0|_[o+8>>2])>>2]))?(E(f,n+4|0,4+(0|_[8+(0|_[o+12>>2])>>2])|0),void(Q=u)):(E(f,4+(0|_[8+(0|_[o+12>>2])>>2])|0,t+4|0),void(Q=u)):void(Q=u);_[u+16>>2]=1065353216,_[u+16+4>>2]=0,_[u+16+8>>2]=0,p[u+16+12>>2]=0,l>1.1920928955078125e-7?(p[u+16>>2]=m*(1/l),p[u+16+4>>2]=h*(1/l),p[u+16+8>>2]=r*(1/l),p[u+16+12>>2]=0,y=m*(1/l),h*=1/l,m=r*(1/l)):(y=1,h=0,m=0),p[u>>2]=s+d*y,p[u+4>>2]=c+d*h,p[u+8>>2]=a+d*m,p[u+12>>2]=0,rd[15&_[16+(0|_[o>>2])>>2]](o,u+16|0,u,l-A),e=0|_[o+4>>2];do{if(0|_[e+748>>2]){if((0|(n=0|_[e+740>>2]))==(0|(t=0|_[8+(0|_[o+8>>2])>>2]))){E(e,n+4|0,4+(0|_[8+(0|_[o+12>>2])>>2])|0);break}E(e,4+(0|_[8+(0|_[o+12>>2])>>2])|0,t+4|0);break}}while(0);Q=u}else Q=u},li,Be,function(t,e,i,o,r){t|=0,e|=0,i|=0,o|=0;do{if(0|Lp(t,0|_[e+8>>2]))s_(e,i,o);else if(0|Lp(t,0|_[e>>2])){if((0|_[e+16>>2])!=(0|i)&&(0|_[e+20>>2])!=(0|i)){_[e+32>>2]=o,_[e+20>>2]=i,_[e+40>>2]=1+(0|_[e+40>>2]),1==(0|_[e+36>>2])&&2==(0|_[e+24>>2])&&(n[e+54|0]=1),_[e+44>>2]=4;break}1==(0|o)&&(_[e+32>>2]=1)}}while(0)},function(t,e,i,o,r){t|=0,e|=0,i|=0,o|=0,r|=0;do{if(0|Lp(t,0|_[e+8>>2]))s_(e,i,o);else{if(!(0|Lp(t,0|_[e>>2]))){t=0|_[t+8>>2],dd[31&_[24+(0|_[t>>2])>>2]](t,e,i,o,r);break}if((0|_[e+16>>2])!=(0|i)&&(0|_[e+20>>2])!=(0|i)){if(_[e+32>>2]=o,4==(0|_[e+44>>2]))break;n[e+52|0]=0,n[e+53|0]=0,o=0|_[t+8>>2],Ad[7&_[20+(0|_[o>>2])>>2]](o,e,i,i,1,r),0|n[e+53|0]?0|n[e+52|0]?o=15:(t=1,o=11):(t=0,o=11);do{if(11==(0|o)){if(_[e+20>>2]=i,_[e+40>>2]=1+(0|_[e+40>>2]),1==(0|_[e+36>>2])&&2==(0|_[e+24>>2])){if(n[e+54|0]=1,t){o=15;break}t=4;break}t?o=15:t=4}}while(0);15==(0|o)&&(t=3),_[e+44>>2]=t;break}1==(0|o)&&(_[e+32>>2]=1)}}while(0)},function(t,e,i,o,r){t|=0,e|=0,i|=0,o|=0,r|=0;var s=0,p=0,c=0,a=0;t:do{if(0|Lp(t,0|_[e+8>>2]))s_(e,i,o);else{if(!(0|Lp(t,0|_[e>>2]))){if(p=0|_[t+12>>2],ro(t+16|0,e,i,o,r),(0|p)<=1)break;if(!(2&(s=0|_[t+8>>2]))&&1!=(0|_[e+36>>2])){if(!(1&s))for(s=t+24|0;;){if(0|n[e+54|0])break t;if(1==(0|_[e+36>>2]))break t;if(ro(s,e,i,o,r),(s=s+8|0)>>>0>=(t+16+(p<<3)|0)>>>0)break t}for(s=t+24|0;;){if(0|n[e+54|0])break t;if(1==(0|_[e+36>>2])&&1==(0|_[e+24>>2]))break t;if(ro(s,e,i,o,r),(s=s+8|0)>>>0>=(t+16+(p<<3)|0)>>>0)break t}}for(s=t+24|0;;){if(0|n[e+54|0])break t;if(ro(s,e,i,o,r),(s=s+8|0)>>>0>=(t+16+(p<<3)|0)>>>0)break t}}if((0|_[e+16>>2])!=(0|i)&&(0|_[e+20>>2])!=(0|i)){if(_[e+32>>2]=o,4==(0|_[e+44>>2]))break;c=t+16+(_[t+12>>2]<<3)|0,s=0,p=t+16|0,a=0;e:for(;;){if(p>>>0>=c>>>0){o=18;break}if(n[e+52|0]=0,n[e+53|0]=0,qn(p,e,i,i,1,r),0|n[e+54|0]){o=18;break}do{if(0|n[e+53|0]){if(!(0|n[e+52|0])){if(1&_[t+8>>2]){s=1,o=a;break}s=1,o=18;break e}if(1==(0|_[e+24>>2])){o=23;break e}if(!(2&_[t+8>>2])){o=23;break e}s=1,o=1}else o=a}while(0);p=p+8|0,a=o}do{if(18==(0|o)){if(!a&&(_[e+20>>2]=i,_[e+40>>2]=1+(0|_[e+40>>2]),1==(0|_[e+36>>2]))&&2==(0|_[e+24>>2])){if(n[e+54|0]=1,s){o=23;break}s=4;break}s?o=23:s=4}}while(0);23==(0|o)&&(s=3),_[e+44>>2]=s;break}1==(0|o)&&(_[e+32>>2]=1)}}while(0)},dc,dc,dc,dc,dc,dc,dc,dc],bd=[function(t,e,i,n,o,_){_=+_,v(38)},function(t,e,i,n,o,r){e|=0,i|=0,n|=0,o|=0,r=+r,pd[127&_[8+(0|_[(t|=0)>>2])>>2]](t,e,i,o),pd[127&_[8+(0|_[t>>2])>>2]](t,i,n,o),pd[127&_[8+(0|_[t>>2])>>2]](t,n,e,o)}],Ad=[bp,function(t,e,i,o,r,s){t|=0,e|=0,i|=0,o|=0,r|=0;var p=0,c=0,a=0,l=0,d=0,b=0,A=0;if((0|(s|=0))<0)return s=0|_[t+8>>2],void Vl[3&_[12+(0|_[s>>2])>>2]](s,e,i,o,r,0|_[t+12>>2],0|_[t+16>>2],0|_[t+4>>2],0|_[t+20>>2],0|_[t+24>>2]);A=0|_[t+16>>2];t:do{if((0|A)>0)for(l=0|_[t+12>>2],p=0;;){if(a=0|_[(d=l+(p<<2)|0)>>2],(0|(c=0|_[208+(0|_[a+28>>2])>>2]))<=-1&&(c=0|_[208+(0|_[a+32>>2])>>2]),(0|c)==(0|s))break t;if((0|(p=p+1|0))>=(0|A)){d=0;break}}else p=0,d=0}while(0);if((0|p)<(0|A)){b=0|_[t+12>>2],c=0;do{l=0|_[b+(p<<2)>>2],(0|(a=0|_[208+(0|_[l+28>>2])>>2]))<=-1&&(a=0|_[208+(0|_[l+32>>2])>>2]),c=c+((0|a)==(0|s)&1)|0,p=p+1|0}while((0|p)!=(0|A));s=c}else s=0;if(p=0|_[t+4>>2],(0|_[p+72>>2])<2)return A=0|_[t+8>>2],void Vl[3&_[12+(0|_[A>>2])>>2]](A,e,i,o,r,d,s,p,0|_[t+20>>2],0|_[t+24>>2]);if((0|i)>0){b=0,p=0|_[t+32>>2],c=0|_[t+36>>2];do{if(A=e+(b<<2)|0,(0|p)==(0|c))if((0|c)<(0|(l=0|c?c<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(p=0|di(16+(l<<2|3)|0))?(_[(p+4+15&-16)-4>>2]=p,p=p+4+15&-16):p=0,c=0|_[t+32>>2]):p=0,(0|c)>0){a=0;do{_[p+(a<<2)>>2]=_[(0|_[t+40>>2])+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|c))}(a=0|_[t+40>>2])&&(0|n[t+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2]),c=0|_[t+32>>2]),_[t+40>>2]=0),n[t+44|0]=1,_[t+40>>2]=p,_[t+36>>2]=l,p=c,c=l}else p=c;_[(0|_[t+40>>2])+(p<<2)>>2]=_[A>>2],p=p+1|0,_[t+32>>2]=p,b=b+1|0}while((0|b)!=(0|i))}if((0|r)>0){b=0,p=0|_[t+52>>2],c=0|_[t+56>>2];do{if(A=o+(b<<2)|0,(0|p)==(0|c))if((0|c)<(0|(l=0|c?c<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(p=0|di(16+(l<<2|3)|0))?(_[(p+4+15&-16)-4>>2]=p,p=p+4+15&-16):p=0,c=0|_[t+52>>2]):p=0,(0|c)>0){a=0;do{_[p+(a<<2)>>2]=_[(0|_[t+60>>2])+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|c))}(a=0|_[t+60>>2])&&(0|n[t+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2]),c=0|_[t+52>>2]),_[t+60>>2]=0),n[t+64|0]=1,_[t+60>>2]=p,_[t+56>>2]=l,p=c,c=l}else p=c;_[(0|_[t+60>>2])+(p<<2)>>2]=_[A>>2],p=p+1|0,_[t+52>>2]=p,b=b+1|0}while((0|b)!=(0|r))}if(s){A=0,p=0|_[t+72>>2],c=0|_[t+76>>2];do{if(b=d+(A<<2)|0,(0|p)==(0|c))if((0|c)<(0|(l=0|c?c<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(p=0|di(16+(l<<2|3)|0))?(_[(p+4+15&-16)-4>>2]=p,p=p+4+15&-16):p=0,a=p,p=0|_[t+72>>2]):(a=0,p=c),(0|p)>0){c=0;do{_[a+(c<<2)>>2]=_[(0|_[t+80>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|p))}(c=0|_[t+80>>2])&&(0|n[t+84|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),p=0|_[t+72>>2]),_[t+80>>2]=0),n[t+84|0]=1,_[t+80>>2]=a,_[t+76>>2]=l,c=l}else p=c;_[(0|_[t+80>>2])+(p<<2)>>2]=_[b>>2],p=p+1|0,_[t+72>>2]=p,A=A+1|0}while((0|A)!=(0|s))}else p=0|_[t+72>>2];((0|_[t+52>>2])+p|0)<=(0|_[72+(0|_[t+4>>2])>>2])||Mt(t)},function(t,e,i,n,r,p){var c;if(e|=0,i|=0,n|=0,r|=0,p|=0,0|(c=0|_[108+(t|=0)>>2]))Ad[7&_[24+(0|_[c>>2])>>2]](c,e,i,n,r,p);else if((e=0|o[t+56>>1])<<16>>16){r=1,p=1;do{i=0|_[t+68>>2],1&o[i+(p<<2)>>1]&&(Ll[31&_[8+(0|_[n>>2])>>2]](n,(0|_[t+60>>2])+(s[i+(p<<2)+2>>1]<<6)|0),e=0|o[t+56>>1]),p=65535&(r=r+1<<16>>16)}while(((65535&e)<<1|1)>>>0>p>>>0)}},function(t,e,i,n,o,r){t|=0,e|=0,i|=0,n|=0,o|=0,r|=0,i=Q,Q=Q+16|0,_[i>>2]=9972,_[i+4>>2]=n,Ze(t+4|0,0|_[t+4>>2],e,n+4|0,n+20|0,+p[n+32>>2],o,r,i),Ze(t+64|0,0|_[t+64>>2],e,n+4|0,n+20|0,+p[n+32>>2],o,r,i),Q=i},function(t,e,i,n,o,r){i|=0,n|=0,o|=0,0|Lp(t|=0,0|_[8+(e|=0)>>2])&&In(e,i,n,o)},function(t,e,i,n,o,r){i|=0,n|=0,o|=0,r|=0,0|Lp(t|=0,0|_[8+(e|=0)>>2])?In(e,i,n,o):(t=0|_[t+8>>2],Ad[7&_[20+(0|_[t>>2])>>2]](t,e,i,n,o,r))},function(t,e,i,o,r,s){i|=0,o|=0,r|=0,s|=0;var p=0,c=0,a=0,l=0;if(0|Lp(t|=0,0|_[8+(e|=0)>>2]))In(e,i,o,r);else{c=0|n[e+52|0],a=0|n[e+53|0],l=0|_[t+12>>2],n[e+52|0]=0,n[e+53|0]=0,qn(t+16|0,e,i,o,r,s);t:do{if((0|l)>1){p=t+24|0;do{if(0|n[e+54|0])break t;if(0|n[e+52|0]){if(1==(0|_[e+24>>2]))break t;if(!(2&_[t+8>>2]))break t}else if(0|n[e+53|0]&&!(1&_[t+8>>2]))break t;n[e+52|0]=0,n[e+53|0]=0,qn(p,e,i,o,r,s),p=p+8|0}while(p>>>0<(t+16+(l<<3)|0)>>>0)}}while(0);n[e+52|0]=c,n[e+53|0]=a}},bp],fd=[function(t,e,i,n,o,_,r){v(40)},function(t,e,i,n,o,r,s){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0;var c,l,d=0,b=0,A=0,f=0,u=0,m=0,h=0;if(l=Q,Q=Q+16|0,p[(n|=0)>>2]=34028234663852886e22,p[o>>2]=-34028234663852886e22,(0|(c=0|_[t+96>>2]))>0){A=0;do{h=0|_[t+104>>2],m=+p[h+(A<<4)>>2]*+p[t+12>>2],u=+p[h+(A<<4)+4>>2]*+p[t+16>>2],f=+p[h+(A<<4)+8>>2]*+p[t+20>>2],d=m*+p[e>>2]+u*+p[e+4>>2]+f*+p[e+8>>2]+ +p[e+48>>2],b=m*+p[e+16>>2]+u*+p[e+20>>2]+f*+p[e+24>>2]+ +p[e+52>>2],f=m*+p[e+32>>2]+u*+p[e+36>>2]+f*+p[e+40>>2]+ +p[e+56>>2],(u=d*+p[i>>2]+b*+p[i+4>>2]+f*+p[i+8>>2])<+p[n>>2]&&(p[n>>2]=u,p[r>>2]=d,p[r+4>>2]=b,p[r+8>>2]=f,p[r+12>>2]=0),u>+p[o>>2]&&(p[o>>2]=u,p[s>>2]=d,p[s+4>>2]=b,p[s+8>>2]=f,p[s+12>>2]=0),A=A+1|0}while((0|A)!=(0|c));b=m=+p[o>>2],p[a>>2]=m,A=0|_[a>>2]}else b=-34028234663852886e22,A=-8388609;(d=+p[n>>2])>b?(_[n>>2]=A,p[o>>2]=d,_[l>>2]=_[r>>2],_[l+4>>2]=_[r+4>>2],_[l+8>>2]=_[r+8>>2],_[l+12>>2]=_[r+12>>2],_[r>>2]=_[s>>2],_[r+4>>2]=_[s+4>>2],_[r+8>>2]=_[s+8>>2],_[r+12>>2]=_[s+12>>2],_[s>>2]=_[l>>2],_[s+4>>2]=_[l+4>>2],_[s+8>>2]=_[l+8>>2],_[s+12>>2]=_[l+12>>2],Q=l):Q=l}],ud=[function(t,e,i,n,o,_,r,s,p){p=+p,v(41)},function(t,e,i,n,o,r,s,p,c){e|=0,i|=0,n|=0,p|=0,c=+c,bd[1&_[28+(0|_[(t|=0)>>2])>>2]](t,e,i,n,p,c)}],md=[function(t,e,i,n,o,_,r,s,p){v(42)},function(t,e,i,n,o,r,s,p,c){if(t|=0,e|=0,i|=0,n|=0,r|=0,s|=0,c|=0,0|_[44+(p|=0)>>2])if(e=0|_[p+20>>2],256&_[p+64>>2]){if((0|e)<=0)return;n=0;do{if((0|(i=0|_[t+28>>2]))>0){e=0;do{c=0|_[(0|_[t+116>>2])+(e<<2)>>2],s=0|_[t+36>>2],gt((r=0|_[t+16>>2])+(244*(0|_[s+(152*c|0)+144>>2])|0)|0,r+(244*(0|_[s+(152*c|0)+148>>2])|0)|0,s+(152*c|0)|0),e=e+1|0}while((0|e)!=(0|i));e=0|_[p+20>>2]}n=n+1|0}while((0|n)<(0|e))}else if(!((0|e)<=0)){n=0;do{if((0|(i=0|_[t+28>>2]))>0){e=0;do{c=0|_[(0|_[t+116>>2])+(e<<2)>>2],s=0|_[t+36>>2],gt((r=0|_[t+16>>2])+(244*(0|_[s+(152*c|0)+144>>2])|0)|0,r+(244*(0|_[s+(152*c|0)+148>>2])|0)|0,s+(152*c|0)|0),e=e+1|0}while((0|e)!=(0|i));e=0|_[p+20>>2]}n=n+1|0}while((0|n)<(0|e))}}],hd=[yr,On,On,yr];return{__GLOBAL__sub_I_btQuickprof_cpp:function(){var t;t=0|a_(8),_[6629]=t,G(0|t,0),_[6619]=21817,_[6620]=0,_[6621]=0,_[6622]=0,_[6623]=0,_[6624]=0,_[6625]=0,_[6626]=0,_[6627]=0,qo(26476)},___cxa_can_catch:function(t,e,i){var n;return t|=0,e|=0,i|=0,n=Q,Q=Q+16|0,_[n>>2]=_[i>>2],(t=0|El[63&_[16+(0|_[t>>2])>>2]](t,e,n))&&(_[i>>2]=_[n>>2]),Q=n,1&t},___cxa_is_pointer_type:function(t){return 0|(t=(t|=0)?1&!!(0|Xi(t,3336)):0)},___muldi3:f_,___udivdi3:pp,_bitshift64Lshr:K_,_bitshift64Shl:Z_,_emscripten_bind_Anchor___destroy___0:qp,_emscripten_bind_Anchor_get_m_body_0:oa,_emscripten_bind_Anchor_get_m_c0_0:Qa,_emscripten_bind_Anchor_get_m_c1_0:La,_emscripten_bind_Anchor_get_m_c2_0:pa,_emscripten_bind_Anchor_get_m_influence_0:fa,_emscripten_bind_Anchor_get_m_local_0:sl,_emscripten_bind_Anchor_get_m_node_0:Da,_emscripten_bind_Anchor_set_m_body_1:oc,_emscripten_bind_Anchor_set_m_c0_1:function(t,e){Vn(28+(t|=0)|0,e|=0)},_emscripten_bind_Anchor_set_m_c1_1:function(t,e){e|=0,_[76+(t|=0)>>2]=_[e>>2],_[t+76+4>>2]=_[e+4>>2],_[t+76+8>>2]=_[e+8>>2],_[t+76+12>>2]=_[e+12>>2]},_emscripten_bind_Anchor_set_m_c2_1:fc,_emscripten_bind_Anchor_set_m_influence_1:gc,_emscripten_bind_Anchor_set_m_local_1:l_,_emscripten_bind_Anchor_set_m_node_1:kc,_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2:function(t,e){var i;return t|=0,e|=0,Gn(i=0|a_(80),t,e),0|i},_emscripten_bind_ClosestConvexResultCallback___destroy___0:Kr,_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0:ua,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0:jp,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0:Rp,_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0:_l,_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0:Qa,_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0:function(t){return 44+(t|=0)|0},_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0:function(t){return 60+(t|=0)|0},_emscripten_bind_ClosestConvexResultCallback_hasHit_0:ys,_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1:ea,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1:Js,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1:Ys,_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1:function(t,e){e|=0,_[12+(t|=0)>>2]=_[e>>2],_[t+12+4>>2]=_[e+4>>2],_[t+12+8>>2]=_[e+8>>2],_[t+12+12>>2]=_[e+12>>2]},_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1:function(t,e){e|=0,_[28+(t|=0)>>2]=_[e>>2],_[t+28+4>>2]=_[e+4>>2],_[t+28+8>>2]=_[e+8>>2],_[t+28+12>>2]=_[e+12>>2]},_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1:function(t,e){e|=0,_[44+(t|=0)>>2]=_[e>>2],_[t+44+4>>2]=_[e+4>>2],_[t+44+8>>2]=_[e+8>>2],_[t+44+12>>2]=_[e+12>>2]},_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1:function(t,e){e|=0,_[60+(t|=0)>>2]=_[e>>2],_[t+60+4>>2]=_[e+4>>2],_[t+60+8>>2]=_[e+8>>2],_[t+60+12>>2]=_[e+12>>2]},_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2:function(t,e){var i;return t|=0,e|=0,Ln(i=0|a_(84),t,e),0|i},_emscripten_bind_ClosestRayResultCallback___destroy___0:Kr,_emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0:ua,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0:Op,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0:Vp,_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0:Ac,_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0:Yc,_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0:Ia,_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0:function(t){return 20+(t|=0)|0},_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0:sa,_emscripten_bind_ClosestRayResultCallback_hasHit_0:js,_emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1:ea,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1:$s,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1:tp,_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1:lp,_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1:i_,_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1:__,_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1:function(t,e){e|=0,_[20+(t|=0)>>2]=_[e>>2],_[t+20+4>>2]=_[e+4>>2],_[t+20+8>>2]=_[e+8>>2],_[t+20+12>>2]=_[e+12>>2]},_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1:r_,_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0:function(){var t;return t=0|a_(8),_[t>>2]=0,_[t+4>>2]=0,function(t){(function(t){_[(t|=0)>>2]=3600,o[t+4>>1]=1,o[t+6>>1]=-1})(t|=0),_[t>>2]=3576}(t),0|t},_emscripten_bind_ConcreteContactResultCallback___destroy___0:Kr,_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7:Uo,_emscripten_bind_Config___destroy___0:function(t){(t|=0)&&(fr(t),yl(t))},_emscripten_bind_Config_get_citerations_0:$c,_emscripten_bind_Config_get_collisions_0:function(t){return 0|_[100+(t|=0)>>2]},_emscripten_bind_Config_get_diterations_0:Uc,_emscripten_bind_Config_get_kAHR_0:da,_emscripten_bind_Config_get_kCHR_0:la,_emscripten_bind_Config_get_kDF_0:Ca,_emscripten_bind_Config_get_kDG_0:ga,_emscripten_bind_Config_get_kDP_0:ka,_emscripten_bind_Config_get_kKHR_0:aa,_emscripten_bind_Config_get_kLF_0:ya,_emscripten_bind_Config_get_kMT_0:ha,_emscripten_bind_Config_get_kPR_0:ma,_emscripten_bind_Config_get_kSHR_0:ca,_emscripten_bind_Config_get_kSKHR_CL_0:qc,_emscripten_bind_Config_get_kSK_SPLT_CL_0:Qc,_emscripten_bind_Config_get_kSRHR_CL_0:Kc,_emscripten_bind_Config_get_kSR_SPLT_CL_0:Lc,_emscripten_bind_Config_get_kSSHR_CL_0:zc,_emscripten_bind_Config_get_kSS_SPLT_CL_0:ba,_emscripten_bind_Config_get_kVCF_0:ua,_emscripten_bind_Config_get_kVC_0:fa,_emscripten_bind_Config_get_maxvolume_0:Jc,_emscripten_bind_Config_get_piterations_0:Zc,_emscripten_bind_Config_get_timescale_0:function(t){return+ +p[80+(t|=0)>>2]},_emscripten_bind_Config_get_viterations_0:function(t){return 0|_[84+(t|=0)>>2]},_emscripten_bind_Config_set_citerations_1:function(t,e){e|=0,_[96+(t|=0)>>2]=e},_emscripten_bind_Config_set_collisions_1:function(t,e){e|=0,_[100+(t|=0)>>2]=e},_emscripten_bind_Config_set_diterations_1:function(t,e){e|=0,_[92+(t|=0)>>2]=e},_emscripten_bind_Config_set_kAHR_1:hc,_emscripten_bind_Config_set_kCHR_1:mc,_emscripten_bind_Config_set_kDF_1:wc,_emscripten_bind_Config_set_kDG_1:Ec,_emscripten_bind_Config_set_kDP_1:ta,_emscripten_bind_Config_set_kKHR_1:uc,_emscripten_bind_Config_set_kLF_1:Sc,_emscripten_bind_Config_set_kMT_1:vc,_emscripten_bind_Config_set_kPR_1:Cc,_emscripten_bind_Config_set_kSHR_1:xc,_emscripten_bind_Config_set_kSKHR_CL_1:nc,_emscripten_bind_Config_set_kSK_SPLT_CL_1:zp,_emscripten_bind_Config_set_kSRHR_CL_1:ic,_emscripten_bind_Config_set_kSR_SPLT_CL_1:Xp,_emscripten_bind_Config_set_kSSHR_CL_1:ec,_emscripten_bind_Config_set_kSS_SPLT_CL_1:Dc,_emscripten_bind_Config_set_kVCF_1:ea,_emscripten_bind_Config_set_kVC_1:gc,_emscripten_bind_Config_set_maxvolume_1:tc,_emscripten_bind_Config_set_piterations_1:Np,_emscripten_bind_Config_set_timescale_1:function(t,e){e=+e,p[80+(t|=0)>>2]=e},_emscripten_bind_Config_set_viterations_1:Gp,_emscripten_bind_ContactResultCallback___destroy___0:Kr,_emscripten_bind_ContactResultCallback_addSingleResult_7:Uo,_emscripten_bind_ConvexResultCallback___destroy___0:Kr,_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0:ua,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0:jp,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0:Rp,_emscripten_bind_ConvexResultCallback_hasHit_0:ys,_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1:ea,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1:Js,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1:Ys,_emscripten_bind_DebugDrawer_DebugDrawer_0:function(){var t;return t=0|a_(4),_[t>>2]=0,function(t){(function(t){_[(t|=0)>>2]=3476})(t|=0),_[t>>2]=3376}(t),0|t},_emscripten_bind_DebugDrawer___destroy___0:Kr,_emscripten_bind_DebugDrawer_draw3dText_2:Fr,_emscripten_bind_DebugDrawer_drawContactPoint_5:v_,_emscripten_bind_DebugDrawer_drawLine_3:Ar,_emscripten_bind_DebugDrawer_getDebugMode_0:Ls,_emscripten_bind_DebugDrawer_reportErrorWarning_1:es,_emscripten_bind_DebugDrawer_setDebugMode_1:as,_emscripten_bind_LocalConvexResult_LocalConvexResult_5:function(t,e,i,n,o){var _;return t|=0,e|=0,i|=0,n|=0,o=+o,Mn(_=0|a_(44),t,e,i,n,o),0|_},_emscripten_bind_LocalConvexResult___destroy___0:qp,_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0:Da,_emscripten_bind_LocalConvexResult_get_m_hitFraction_0:aa,_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0:rl,_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0:Ha,_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0:Hc,_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1:kc,_emscripten_bind_LocalConvexResult_set_m_hitFraction_1:uc,_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1:h_,_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1:A_,_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1:fp,_emscripten_bind_LocalShapeInfo___destroy___0:qp,_emscripten_bind_LocalShapeInfo_get_m_shapePart_0:Da,_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0:Hc,_emscripten_bind_LocalShapeInfo_set_m_shapePart_1:kc,_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1:fp,_emscripten_bind_Material___destroy___0:qp,_emscripten_bind_Material_get_m_flags_0:Xc,_emscripten_bind_Material_get_m_kAST_0:ka,_emscripten_bind_Material_get_m_kLST_0:ua,_emscripten_bind_Material_get_m_kVST_0:ga,_emscripten_bind_Material_set_m_flags_1:function(t,e){e|=0,_[16+(t|=0)>>2]=e},_emscripten_bind_Material_set_m_kAST_1:ta,_emscripten_bind_Material_set_m_kLST_1:ea,_emscripten_bind_Material_set_m_kVST_1:Ec,_emscripten_bind_Node___destroy___0:qp,_emscripten_bind_Node_get_m_area_0:pa,_emscripten_bind_Node_get_m_f_0:function(t){return 56+(t|=0)|0},_emscripten_bind_Node_get_m_im_0:function(t){return+ +p[88+(t|=0)>>2]},_emscripten_bind_Node_get_m_n_0:function(t){return 72+(t|=0)|0},_emscripten_bind_Node_get_m_q_0:Ha,_emscripten_bind_Node_get_m_v_0:Ea,_emscripten_bind_Node_get_m_x_0:rl,_emscripten_bind_Node_set_m_area_1:fc,_emscripten_bind_Node_set_m_f_1:function(t,e){e|=0,_[56+(t|=0)>>2]=_[e>>2],_[t+56+4>>2]=_[e+4>>2],_[t+56+8>>2]=_[e+8>>2],_[t+56+12>>2]=_[e+12>>2]},_emscripten_bind_Node_set_m_im_1:function(t,e){e=+e,p[88+(t|=0)>>2]=e},_emscripten_bind_Node_set_m_n_1:function(t,e){e|=0,_[72+(t|=0)>>2]=_[e>>2],_[t+72+4>>2]=_[e+4>>2],_[t+72+8>>2]=_[e+8>>2],_[t+72+12>>2]=_[e+12>>2]},_emscripten_bind_Node_set_m_q_1:A_,_emscripten_bind_Node_set_m_v_1:b_,_emscripten_bind_Node_set_m_x_1:h_,_emscripten_bind_RayResultCallback___destroy___0:Kr,_emscripten_bind_RayResultCallback_get_m_closestHitFraction_0:ua,_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0:Op,_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0:Vp,_emscripten_bind_RayResultCallback_get_m_collisionObject_0:Ac,_emscripten_bind_RayResultCallback_hasHit_0:js,_emscripten_bind_RayResultCallback_set_m_closestHitFraction_1:ea,_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1:$s,_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1:tp,_emscripten_bind_RayResultCallback_set_m_collisionObject_1:lp,_emscripten_bind_RaycastInfo___destroy___0:qp,_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0:Cl,_emscripten_bind_RaycastInfo_get_m_contactPointWS_0:ia,_emscripten_bind_RaycastInfo_get_m_groundObject_0:Zc,_emscripten_bind_RaycastInfo_get_m_hardPointWS_0:sa,_emscripten_bind_RaycastInfo_get_m_isInContact_0:function(t){return 0|!!(1&n[84+(t|=0)|0])},_emscripten_bind_RaycastInfo_get_m_suspensionLength_0:ha,_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0:Ia,_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0:Yc,_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1:d_,_emscripten_bind_RaycastInfo_set_m_contactPointWS_1:o_,_emscripten_bind_RaycastInfo_set_m_groundObject_1:Np,_emscripten_bind_RaycastInfo_set_m_hardPointWS_1:r_,_emscripten_bind_RaycastInfo_set_m_isInContact_1:function(t,e){e|=0,n[84+(t|=0)|0]=1&e},_emscripten_bind_RaycastInfo_set_m_suspensionLength_1:vc,_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1:__,_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1:i_,_emscripten_bind_VoidPtr___destroy___0:qp,_emscripten_bind_btActionInterface___destroy___0:Kr,_emscripten_bind_btActionInterface_updateAction_2:Br,_emscripten_bind_btAxisSweep3___destroy___0:Kr,_emscripten_bind_btAxisSweep3_btAxisSweep3_2:function(t,e){var i;return t|=0,e|=0,Ge(i=0|I_(),t,e,16384,0,0),0|i},_emscripten_bind_btAxisSweep3_btAxisSweep3_3:function(t,e,i){var n;return t|=0,e|=0,i|=0,Ge(n=0|I_(),t,e,65535&i,0,0),0|n},_emscripten_bind_btAxisSweep3_btAxisSweep3_4:function(t,e,i,n){var o;return t|=0,e|=0,i|=0,n|=0,Ge(o=0|I_(),t,e,65535&i,n,0),0|o},_emscripten_bind_btAxisSweep3_btAxisSweep3_5:function(t,e,i,n,o){var _;return t|=0,e|=0,i|=0,n|=0,o|=0,Ge(_=0|I_(),t,e,65535&i,n,o),0|_},_emscripten_bind_btBoxShape___destroy___0:Kr,_emscripten_bind_btBoxShape_btBoxShape_1:function(t){t|=0;var e,i=0,n=0,o=0,r=0,s=0;return e=0|L_(),_[e+8>>2]=0,_[e+12>>2]=1065353216,_[e+16>>2]=1065353216,_[e+20>>2]=1065353216,p[e+24>>2]=0,p[e+44>>2]=.03999999910593033,_[e+52>>2]=0,_[e>>2]=8840,_[e+4>>2]=0,o=+p[t>>2],n=+p[t+4>>2],i=+p[t+8>>2],(i=.10000000149011612*+p[t+((o>2])<.03999999910593033&&(s=+ca(e),r=+ca(e),o=+ca(e),s+=+p[e+28>>2],r+=+p[e+32>>2],o+=+p[e+36>>2],p[e+44>>2]=i,i=+ca(e),n=+ca(e),o-=+ca(e),p[e+28>>2]=s-i,p[e+32>>2]=r-n,p[e+36>>2]=o,p[e+40>>2]=0),o=+ca(e),r=+ca(e),s=+ca(e),r=+p[t+4>>2]-r,s=+p[t+8>>2]-s,p[e+28>>2]=+p[t>>2]-o,p[e+32>>2]=r,p[e+36>>2]=s,p[e+40>>2]=0,0|e},_emscripten_bind_btBoxShape_calculateLocalInertia_2:Sr,_emscripten_bind_btBoxShape_getLocalScaling_0:Gs,_emscripten_bind_btBoxShape_getMargin_0:Us,_emscripten_bind_btBoxShape_setLocalScaling_1:ps,_emscripten_bind_btBoxShape_setMargin_1:hs,_emscripten_bind_btBroadphaseInterface___destroy___0:Kr,_emscripten_bind_btBroadphaseProxy___destroy___0:sp,_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0:function(t){return 0|o[4+(t|=0)>>1]},_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0:function(t){return 0|o[6+(t|=0)>>1]},_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1:function(t,e){e|=0,o[4+(t|=0)>>1]=e},_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1:function(t,e){e|=0,o[6+(t|=0)>>1]=e},_emscripten_bind_btBvhTriangleMeshShape___destroy___0:Kr,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2:function(t,e){var i;return t|=0,e|=0,pi(i=0|G_(),t,e,1),0|i},_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3:function(t,e,i){var n;return t|=0,e|=0,i|=0,pi(n=0|G_(),t,e,i),0|n},_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2:Sr,_emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0:Gs,_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1:ps,_emscripten_bind_btCapsuleShapeX___destroy___0:Kr,_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2:function(t,e){var i;return t=+t,e=+e,i=0|L_(),_[i+8>>2]=0,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,_[i+4>>2]=10,_[i>>2]=8488,_[i+52>>2]=0,p[i+28>>2]=.5*e,p[i+32>>2]=t,p[i+36>>2]=t,p[i+40>>2]=0,0|i},_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2:Sr,_emscripten_bind_btCapsuleShapeX_getHalfHeight_0:yp,_emscripten_bind_btCapsuleShapeX_getLocalScaling_0:Gs,_emscripten_bind_btCapsuleShapeX_getMargin_0:Us,_emscripten_bind_btCapsuleShapeX_getRadius_0:Jp,_emscripten_bind_btCapsuleShapeX_getUpAxis_0:Kp,_emscripten_bind_btCapsuleShapeX_setLocalScaling_1:ps,_emscripten_bind_btCapsuleShapeX_setMargin_1:hs,_emscripten_bind_btCapsuleShapeZ___destroy___0:Kr,_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2:function(t,e){var i;return t=+t,e=+e,i=0|L_(),_[i+8>>2]=0,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,_[i+4>>2]=10,_[i>>2]=8588,_[i+52>>2]=2,p[i+28>>2]=t,p[i+32>>2]=t,p[i+36>>2]=.5*e,p[i+40>>2]=0,0|i},_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2:Sr,_emscripten_bind_btCapsuleShapeZ_getHalfHeight_0:yp,_emscripten_bind_btCapsuleShapeZ_getLocalScaling_0:Gs,_emscripten_bind_btCapsuleShapeZ_getMargin_0:Us,_emscripten_bind_btCapsuleShapeZ_getRadius_0:Jp,_emscripten_bind_btCapsuleShapeZ_getUpAxis_0:Kp,_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1:ps,_emscripten_bind_btCapsuleShapeZ_setMargin_1:hs,_emscripten_bind_btCapsuleShape___destroy___0:Kr,_emscripten_bind_btCapsuleShape_btCapsuleShape_2:function(t,e){var i;return t=+t,e=+e,i=0|L_(),_[i+8>>2]=0,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,_[i>>2]=8388,_[i+4>>2]=10,_[i+52>>2]=1,p[i+28>>2]=t,p[i+32>>2]=.5*e,p[i+36>>2]=t,p[i+40>>2]=0,0|i},_emscripten_bind_btCapsuleShape_calculateLocalInertia_2:Sr,_emscripten_bind_btCapsuleShape_getHalfHeight_0:yp,_emscripten_bind_btCapsuleShape_getLocalScaling_0:Gs,_emscripten_bind_btCapsuleShape_getMargin_0:Us,_emscripten_bind_btCapsuleShape_getRadius_0:Jp,_emscripten_bind_btCapsuleShape_getUpAxis_0:Kp,_emscripten_bind_btCapsuleShape_setLocalScaling_1:ps,_emscripten_bind_btCapsuleShape_setMargin_1:hs,_emscripten_bind_btCollisionConfiguration___destroy___0:Kr,_emscripten_bind_btCollisionDispatcher___destroy___0:Kr,_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1:function(t){t|=0;var e,i=0,o=0;e=0|a_(5260),_[e>>2]=6028,_[e+4>>2]=2,n[e+24|0]=1,_[e+20>>2]=0,_[e+12>>2]=0,_[e+16>>2]=0,_[e+28>>2]=6500,_[e+5256>>2]=t,_[e+60>>2]=80,i=0|Gl[127&_[12+(0|_[t>>2])>>2]](t),_[e+64>>2]=i,t=0|Gl[127&_[8+(0|_[t>>2])>>2]](t),_[e+68>>2]=t,t=0;do{i=0;do{o=0|_[e+5256>>2],o=0|El[63&_[16+(0|_[o>>2])>>2]](o,t,i),_[e+72+(144*t|0)+(i<<2)>>2]=o,i=i+1|0}while(i>>>0<36);t=t+1|0}while(t>>>0<36);return 0|e},_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1:Qr,_emscripten_bind_btCollisionDispatcher_getNumManifolds_0:Xs,_emscripten_bind_btCollisionObject___destroy___0:Xr,_emscripten_bind_btCollisionObject_activate_0:J_,_emscripten_bind_btCollisionObject_activate_1:k_,_emscripten_bind_btCollisionObject_forceActivationState_1:dp,_emscripten_bind_btCollisionObject_getCollisionFlags_0:Bp,_emscripten_bind_btCollisionObject_getCollisionShape_0:Ip,_emscripten_bind_btCollisionObject_getUserIndex_0:wp,_emscripten_bind_btCollisionObject_getUserPointer_0:Zp,_emscripten_bind_btCollisionObject_getWorldTransform_0:Bc,_emscripten_bind_btCollisionObject_isActive_0:np,_emscripten_bind_btCollisionObject_isKinematicObject_0:ks,_emscripten_bind_btCollisionObject_isStaticObject_0:Vs,_emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0:rs,_emscripten_bind_btCollisionObject_setActivationState_1:Vr,_emscripten_bind_btCollisionObject_setAnisotropicFriction_2:Cr,_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1:Ss,_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1:ms,_emscripten_bind_btCollisionObject_setCollisionFlags_1:Os,_emscripten_bind_btCollisionObject_setCollisionShape_1:is,_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1:Rs,_emscripten_bind_btCollisionObject_setFriction_1:ip,_emscripten_bind_btCollisionObject_setRestitution_1:Zs,_emscripten_bind_btCollisionObject_setRollingFriction_1:Ps,_emscripten_bind_btCollisionObject_setUserIndex_1:Ks,_emscripten_bind_btCollisionObject_setUserPointer_1:Ks,_emscripten_bind_btCollisionObject_setWorldTransform_1:ls,_emscripten_bind_btCollisionShape___destroy___0:Kr,_emscripten_bind_btCollisionShape_calculateLocalInertia_2:Sr,_emscripten_bind_btCollisionShape_getLocalScaling_0:Gs,_emscripten_bind_btCollisionShape_getMargin_0:Us,_emscripten_bind_btCollisionShape_setLocalScaling_1:ps,_emscripten_bind_btCollisionShape_setMargin_1:hs,_emscripten_bind_btCollisionWorld___destroy___0:Kr,_emscripten_bind_btCollisionWorld_addCollisionObject_1:Pr,_emscripten_bind_btCollisionWorld_addCollisionObject_2:ur,_emscripten_bind_btCollisionWorld_addCollisionObject_3:tr,_emscripten_bind_btCollisionWorld_btCollisionWorld_3:function(t,e,i){return t|=0,e|=0,i|=0,i=0|a_(80),_[i>>2]=6528,n[i+20|0]=1,_[i+16>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,_[i+24>>2]=t,p[i+28>>2]=0,_[i+32>>2]=0,_[i+36>>2]=1,p[i+40>>2]=1,n[i+44|0]=1,_[i+48>>2]=0,n[i+52|0]=0,n[i+53|0]=1,n[i+54|0]=1,p[i+56>>2]=.03999999910593033,n[i+60|0]=0,p[i+64>>2]=0,_[i+68>>2]=e,_[i+72>>2]=0,n[i+76|0]=1,0|i},_emscripten_bind_btCollisionWorld_contactPairTest_3:an,_emscripten_bind_btCollisionWorld_contactTest_2:Qn,_emscripten_bind_btCollisionWorld_convexSweepTest_5:$o,_emscripten_bind_btCollisionWorld_debugDrawObject_3:or,_emscripten_bind_btCollisionWorld_debugDrawWorld_0:Ts,_emscripten_bind_btCollisionWorld_getBroadphase_0:Fp,_emscripten_bind_btCollisionWorld_getDebugDrawer_0:Bs,_emscripten_bind_btCollisionWorld_getDispatchInfo_0:Cp,_emscripten_bind_btCollisionWorld_getDispatcher_0:Wp,_emscripten_bind_btCollisionWorld_getPairCache_0:Ns,_emscripten_bind_btCollisionWorld_performDiscreteCollisionDetection_0:ws,_emscripten_bind_btCollisionWorld_rayTest_3:lr,_emscripten_bind_btCollisionWorld_removeCollisionObject_1:Ur,_emscripten_bind_btCollisionWorld_setDebugDrawer_1:ts,_emscripten_bind_btCollisionWorld_updateSingleAabb_1:ns,_emscripten_bind_btCompoundShape___destroy___0:Kr,_emscripten_bind_btCompoundShape_addChildShape_2:function(t,e,i){e|=0,i|=0;var o,r,s,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;if(s=Q,Q=Q+128|0,_[68+(t|=0)>>2]=1+(0|_[t+68>>2]),_[s>>2]=_[e>>2],_[s+4>>2]=_[e+4>>2],_[s+8>>2]=_[e+8>>2],_[s+12>>2]=_[e+12>>2],_[s+16>>2]=_[e+16>>2],_[s+16+4>>2]=_[e+16+4>>2],_[s+16+8>>2]=_[e+16+8>>2],_[s+16+12>>2]=_[e+16+12>>2],_[s+32>>2]=_[e+32>>2],_[s+32+4>>2]=_[e+32+4>>2],_[s+32+8>>2]=_[e+32+8>>2],_[s+32+12>>2]=_[e+32+12>>2],_[s+48>>2]=_[e+48>>2],_[s+48+4>>2]=_[e+48+4>>2],_[s+48+8>>2]=_[e+48+8>>2],_[s+48+12>>2]=_[e+48+12>>2],o=0|_[i+4>>2],r=+Il[15&_[48+(0|_[i>>2])>>2]](i),pd[127&_[8+(0|_[i>>2])>>2]](i,e,s+112|0,s+96|0),c=+p[s+112>>2],+p[t+32>>2]>c&&(p[t+32>>2]=c),c=+p[s+96>>2],+p[t+48>>2]>2]=c),c=+p[s+112+4>>2],+p[t+36>>2]>c&&(p[t+36>>2]=c),c=+p[s+96+4>>2],+p[t+52>>2]>2]=c),c=+p[s+112+8>>2],+p[t+40>>2]>c&&(p[t+40>>2]=c),c=+p[s+96+8>>2],+p[t+56>>2]>2]=c),b=0|_[t+64>>2]){if(_[s+64>>2]=_[s+112>>2],_[s+64+4>>2]=_[s+112+4>>2],_[s+64+8>>2]=_[s+112+8>>2],_[s+64+12>>2]=_[s+112+12>>2],_[s+64+16>>2]=_[s+96>>2],_[s+64+16+4>>2]=_[s+96+4>>2],_[s+64+16+8>>2]=_[s+96+8>>2],_[s+64+16+12>>2]=_[s+96+12>>2],d=0|_[t+16>>2],e=0|_[b+4>>2])_[b+4>>2]=0;else{_[6630]=1+(0|_[6630]),(e=0|di(63))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,l=(a=e)+44|0;do{_[a>>2]=0,a=a+4|0}while((0|a)<(0|l))}_[e+32>>2]=0,_[e+36>>2]=d,_[e+40>>2]=0,_[e>>2]=_[s+64>>2],_[e+4>>2]=_[s+64+4>>2],_[e+8>>2]=_[s+64+8>>2],_[e+12>>2]=_[s+64+12>>2],_[e+16>>2]=_[s+64+16>>2],_[e+20>>2]=_[s+64+20>>2],_[e+24>>2]=_[s+64+24>>2],_[e+28>>2]=_[s+64+28>>2],U(b,0|_[b>>2],e),_[b+12>>2]=1+(0|_[b+12>>2]),b=t+16|0,d=e}else b=t+16|0,d=0;if((0|(e=0|_[b>>2]))==(0|_[t+20>>2])&&(0|e)<(0|(A=0|e?e<<1:1))){if(A?(_[6630]=1+(0|_[6630]),(e=0|di(16+(80*A|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,l=e,e=0|_[b>>2]):l=0,(0|e)>0){a=0;do{f=l+(80*a|0)|0,m=(u=0|_[t+24>>2])+(80*a|0)|0,_[f>>2]=_[m>>2],_[f+4>>2]=_[m+4>>2],_[f+8>>2]=_[m+8>>2],_[f+12>>2]=_[m+12>>2],f=u+(80*a|0)+16|0,_[(m=l+(80*a|0)+16|0)>>2]=_[f>>2],_[m+4>>2]=_[f+4>>2],_[m+8>>2]=_[f+8>>2],_[m+12>>2]=_[f+12>>2],m=u+(80*a|0)+32|0,_[(f=l+(80*a|0)+32|0)>>2]=_[m>>2],_[f+4>>2]=_[m+4>>2],_[f+8>>2]=_[m+8>>2],_[f+12>>2]=_[m+12>>2],m=u+(80*a|0)+48|0,_[(f=l+(80*a|0)+48|0)>>2]=_[m>>2],_[f+4>>2]=_[m+4>>2],_[f+8>>2]=_[m+8>>2],_[f+12>>2]=_[m+12>>2],u=u+(80*a|0)+64|0,_[(f=l+(80*a|0)+64|0)>>2]=_[u>>2],_[f+4>>2]=_[u+4>>2],_[f+8>>2]=_[u+8>>2],_[f+12>>2]=_[u+12>>2],a=a+1|0}while((0|a)!=(0|e))}0|(e=0|_[t+24>>2])&&(0|n[t+28|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+24>>2]=0),n[t+28|0]=1,_[t+24>>2]=l,_[t+20>>2]=A,e=0|_[b>>2]}m=0|_[t+24>>2],_[(u=m+(80*e|0)|0)>>2]=_[s>>2],_[u+4>>2]=_[s+4>>2],_[u+8>>2]=_[s+8>>2],_[u+12>>2]=_[s+12>>2],_[(u=m+(80*e|0)+16|0)>>2]=_[s+16>>2],_[u+4>>2]=_[s+16+4>>2],_[u+8>>2]=_[s+16+8>>2],_[u+12>>2]=_[s+16+12>>2],_[(u=m+(80*e|0)+32|0)>>2]=_[s+32>>2],_[u+4>>2]=_[s+32+4>>2],_[u+8>>2]=_[s+32+8>>2],_[u+12>>2]=_[s+32+12>>2],_[(u=m+(80*e|0)+48|0)>>2]=_[s+48>>2],_[u+4>>2]=_[s+48+4>>2],_[u+8>>2]=_[s+48+8>>2],_[u+12>>2]=_[s+48+12>>2],_[(m=m+(80*e|0)+64|0)>>2]=i,_[m+4>>2]=o,p[m+8>>2]=r,_[m+12>>2]=d,_[b>>2]=1+(0|_[b>>2]),Q=s},_emscripten_bind_btCompoundShape_btCompoundShape_0:function(){var t,e=0;return t=0|M_(),_[t+8>>2]=0,_[t>>2]=7188,n[t+28|0]=1,_[t+24>>2]=0,_[t+16>>2]=0,_[t+20>>2]=0,_[t+32>>2]=1566444395,_[t+36>>2]=1566444395,_[t+40>>2]=1566444395,p[t+44>>2]=0,_[t+48>>2]=-581039253,_[t+52>>2]=-581039253,_[t+56>>2]=-581039253,p[t+60>>2]=0,_[t+64>>2]=0,_[t+68>>2]=1,p[t+72>>2]=0,_[t+76>>2]=1065353216,_[t+80>>2]=1065353216,_[t+84>>2]=1065353216,p[t+88>>2]=0,_[t+4>>2]=31,_[6630]=1+(0|_[6630]),(e=0|di(79))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,n[e+36|0]=1,_[e+32>>2]=0,_[e+24>>2]=0,_[e+28>>2]=0,n[e+56|0]=1,_[e+52>>2]=0,_[e+44>>2]=0,_[e+48>>2]=0,_[e>>2]=0,_[e+4>>2]=0,_[e+8>>2]=-1,_[e+12>>2]=0,_[e+16>>2]=0,_[t+64>>2]=e,0|t},_emscripten_bind_btCompoundShape_btCompoundShape_1:function(t){var e;return t|=0,e=0|M_(),_[e+8>>2]=0,_[e>>2]=7188,n[e+28|0]=1,_[e+24>>2]=0,_[e+16>>2]=0,_[e+20>>2]=0,_[e+32>>2]=1566444395,_[e+36>>2]=1566444395,_[e+40>>2]=1566444395,p[e+44>>2]=0,_[e+48>>2]=-581039253,_[e+52>>2]=-581039253,_[e+56>>2]=-581039253,p[e+60>>2]=0,_[e+64>>2]=0,_[e+68>>2]=1,p[e+72>>2]=0,_[e+76>>2]=1065353216,_[e+80>>2]=1065353216,_[e+84>>2]=1065353216,p[e+88>>2]=0,_[e+4>>2]=31,t?(_[6630]=1+(0|_[6630]),(t=0|di(79))?(_[(t+4+15&-16)-4>>2]=t,t=t+4+15&-16):t=0,n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,n[t+56|0]=1,_[t+52>>2]=0,_[t+44>>2]=0,_[t+48>>2]=0,_[t>>2]=0,_[t+4>>2]=0,_[t+8>>2]=-1,_[t+12>>2]=0,_[t+16>>2]=0,_[e+64>>2]=t,0|e):0|e},_emscripten_bind_btCompoundShape_calculateLocalInertia_2:Sr,_emscripten_bind_btCompoundShape_getChildShape_1:function(t,e){return 0|function(t,e){return e|=0,e=64+(0|function(t,e){return(t|=0)+(80*(e|=0)|0)|0}(0|_[24+(t|=0)>>2],e))|0,0|_[e>>2]}(t|=0,e|=0)},_emscripten_bind_btCompoundShape_getLocalScaling_0:Gs,_emscripten_bind_btCompoundShape_getMargin_0:Us,_emscripten_bind_btCompoundShape_getNumChildShapes_0:function(t){return 0|function(t){return 0|Cl(0|_[(t|=0)+16>>2])}(t|=0)},_emscripten_bind_btCompoundShape_recalculateLocalAabb_0:function(t){Xl[511&_[68+(0|_[(t|=0)>>2])>>2]](t)},_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1:function(t,e){Qe(t|=0,e|=0)},_emscripten_bind_btCompoundShape_setLocalScaling_1:ps,_emscripten_bind_btCompoundShape_setMargin_1:hs,_emscripten_bind_btCompoundShape_updateChildTransform_2:function(t,e,i){e|=0,i|=0;var n,o,r=0,s=0,p=0;if(o=Q,Q=Q+64|0,p=0|_[24+(t|=0)>>2],_[p+(80*e|0)>>2]=_[i>>2],_[p+(80*e|0)+4>>2]=_[i+4>>2],_[p+(80*e|0)+8>>2]=_[i+8>>2],_[p+(80*e|0)+12>>2]=_[i+12>>2],_[p+(80*e|0)+16>>2]=_[i+16>>2],_[p+(80*e|0)+16+4>>2]=_[i+16+4>>2],_[p+(80*e|0)+16+8>>2]=_[i+16+8>>2],_[p+(80*e|0)+16+12>>2]=_[i+16+12>>2],_[p+(80*e|0)+32>>2]=_[i+32>>2],_[p+(80*e|0)+32+4>>2]=_[i+32+4>>2],_[p+(80*e|0)+32+8>>2]=_[i+32+8>>2],_[p+(80*e|0)+32+12>>2]=_[i+32+12>>2],_[p+(80*e|0)+48>>2]=_[i+48>>2],_[p+(80*e|0)+48+4>>2]=_[i+48+4>>2],_[p+(80*e|0)+48+8>>2]=_[i+48+8>>2],_[p+(80*e|0)+48+12>>2]=_[i+48+12>>2],!(0|_[t+64>>2]))return p=0|_[t>>2],p=0|_[(p=p+68|0)>>2],Xl[511&p](t),void(Q=o);p=0|_[(0|_[t+24>>2])+(80*e|0)+64>>2],pd[127&_[8+(0|_[p>>2])>>2]](p,i,o+48|0,o+32|0),_[o>>2]=_[o+48>>2],_[o+4>>2]=_[o+48+4>>2],_[o+8>>2]=_[o+48+8>>2],_[o+12>>2]=_[o+48+12>>2],_[o+16>>2]=_[o+32>>2],_[o+16+4>>2]=_[o+32+4>>2],_[o+16+8>>2]=_[o+32+8>>2],_[o+16+12>>2]=_[o+32+12>>2],i=0|Tt(p=0|_[t+64>>2],n=0|_[(0|_[t+24>>2])+(80*e|0)+76>>2]);t:do{if(i){if((0|(s=0|_[p+8>>2]))<=-1){i=0|_[p>>2];break}if(s)for(e=0;;){if(e=e+1|0,!(r=0|_[i+32>>2]))break t;if((0|e)>=(0|s)){i=r;break}i=r}}else i=0}while(0);_[n>>2]=_[o>>2],_[n+4>>2]=_[o+4>>2],_[n+8>>2]=_[o+8>>2],_[n+12>>2]=_[o+12>>2],_[n+16>>2]=_[o+16>>2],_[n+20>>2]=_[o+20>>2],_[n+24>>2]=_[o+24>>2],_[n+28>>2]=_[o+28>>2],U(p,i,n),p=0|_[t>>2],p=0|_[(p=p+68|0)>>2],Xl[511&p](t),Q=o},_emscripten_bind_btCompoundShape_updateChildTransform_3:function(t,e,i,n){e|=0,i|=0,n|=0;var o,r=0,s=0,p=0,c=0;if(o=Q,Q=Q+64|0,c=0|_[24+(t|=0)>>2],_[c+(80*e|0)>>2]=_[i>>2],_[c+(80*e|0)+4>>2]=_[i+4>>2],_[c+(80*e|0)+8>>2]=_[i+8>>2],_[c+(80*e|0)+12>>2]=_[i+12>>2],_[c+(80*e|0)+16>>2]=_[i+16>>2],_[c+(80*e|0)+16+4>>2]=_[i+16+4>>2],_[c+(80*e|0)+16+8>>2]=_[i+16+8>>2],_[c+(80*e|0)+16+12>>2]=_[i+16+12>>2],_[c+(80*e|0)+32>>2]=_[i+32>>2],_[c+(80*e|0)+32+4>>2]=_[i+32+4>>2],_[c+(80*e|0)+32+8>>2]=_[i+32+8>>2],_[c+(80*e|0)+32+12>>2]=_[i+32+12>>2],_[c+(80*e|0)+48>>2]=_[i+48>>2],_[c+(80*e|0)+48+4>>2]=_[i+48+4>>2],_[c+(80*e|0)+48+8>>2]=_[i+48+8>>2],_[c+(80*e|0)+48+12>>2]=_[i+48+12>>2],0|_[t+64>>2]){c=0|_[(0|_[t+24>>2])+(80*e|0)+64>>2],pd[127&_[8+(0|_[c>>2])>>2]](c,i,o+48|0,o+32|0),_[o>>2]=_[o+48>>2],_[o+4>>2]=_[o+48+4>>2],_[o+8>>2]=_[o+48+8>>2],_[o+12>>2]=_[o+48+12>>2],_[o+16>>2]=_[o+32>>2],_[o+16+4>>2]=_[o+32+4>>2],_[o+16+8>>2]=_[o+32+8>>2],_[o+16+12>>2]=_[o+32+12>>2],i=0|Tt(c=0|_[t+64>>2],p=0|_[(0|_[t+24>>2])+(80*e|0)+76>>2]);t:do{if(i){if((0|(s=0|_[c+8>>2]))<=-1){i=0|_[c>>2];break}if(s)for(e=0;;){if(e=e+1|0,!(r=0|_[i+32>>2]))break t;if((0|e)>=(0|s)){i=r;break}i=r}}else i=0}while(0);_[p>>2]=_[o>>2],_[p+4>>2]=_[o+4>>2],_[p+8>>2]=_[o+8>>2],_[p+12>>2]=_[o+12>>2],_[p+16>>2]=_[o+16>>2],_[p+20>>2]=_[o+20>>2],_[p+24>>2]=_[o+24>>2],_[p+28>>2]=_[o+28>>2],U(c,i,p)}n?(Xl[511&_[68+(0|_[t>>2])>>2]](t),Q=o):Q=o},_emscripten_bind_btConcaveShape___destroy___0:Kr,_emscripten_bind_btConcaveShape_calculateLocalInertia_2:Sr,_emscripten_bind_btConcaveShape_getLocalScaling_0:Gs,_emscripten_bind_btConcaveShape_setLocalScaling_1:ps,_emscripten_bind_btConeShapeX___destroy___0:Kr,_emscripten_bind_btConeShapeX_btConeShapeX_2:function(t,e){var i,n;return t=+t,e=+e,i=0|G_(),_[i+8>>2]=0,_[i>>2]=8152,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,p[i+56>>2]=t,p[i+60>>2]=e,_[i+4>>2]=11,n=t/+b(+(t*t+e*e)),p[i+52>>2]=n,_[i>>2]=7468,_[i+64>>2]=1,_[i+68>>2]=0,_[i+72>>2]=2,p[i+32>>2]=t,p[i+28>>2]=e,p[i+36>>2]=t,0|i},_emscripten_bind_btConeShapeX_calculateLocalInertia_2:Sr,_emscripten_bind_btConeShapeX_getLocalScaling_0:Gs,_emscripten_bind_btConeShapeX_setLocalScaling_1:ps,_emscripten_bind_btConeShapeZ___destroy___0:Kr,_emscripten_bind_btConeShapeZ_btConeShapeZ_2:function(t,e){var i,n;return t=+t,e=+e,i=0|G_(),_[i+8>>2]=0,_[i>>2]=8152,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,p[i+56>>2]=t,p[i+60>>2]=e,_[i+4>>2]=11,n=t/+b(+(t*t+e*e)),p[i+52>>2]=n,_[i>>2]=7368,_[i+64>>2]=0,_[i+68>>2]=2,_[i+72>>2]=1,p[i+28>>2]=t,p[i+36>>2]=e,p[i+32>>2]=t,0|i},_emscripten_bind_btConeShapeZ_calculateLocalInertia_2:Sr,_emscripten_bind_btConeShapeZ_getLocalScaling_0:Gs,_emscripten_bind_btConeShapeZ_setLocalScaling_1:ps,_emscripten_bind_btConeShape___destroy___0:Kr,_emscripten_bind_btConeShape_btConeShape_2:function(t,e){var i;return t=+t,e=+e,i=0|G_(),_[i+8>>2]=0,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,_[i>>2]=7268,p[i+56>>2]=t,p[i+60>>2]=e,_[i+4>>2]=11,_[i+64>>2]=0,_[i+68>>2]=1,_[i+72>>2]=2,p[i+28>>2]=t,p[i+32>>2]=e,p[i+36>>2]=t,e=t/+b(+(t*t+e*e)),p[i+52>>2]=e,0|i},_emscripten_bind_btConeShape_calculateLocalInertia_2:Sr,_emscripten_bind_btConeShape_getLocalScaling_0:Gs,_emscripten_bind_btConeShape_setLocalScaling_1:ps,_emscripten_bind_btConeTwistConstraint___destroy___0:Kr,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2:function(t,e){var i;return t|=0,e|=0,sn(i=0|B_(),5,t),_[i>>2]=5548,_[i+300>>2]=_[e>>2],_[i+300+4>>2]=_[e+4>>2],_[i+300+8>>2]=_[e+8>>2],_[i+300+12>>2]=_[e+12>>2],_[i+316>>2]=_[e+16>>2],_[i+316+4>>2]=_[e+16+4>>2],_[i+316+8>>2]=_[e+16+8>>2],_[i+316+12>>2]=_[e+16+12>>2],_[i+332>>2]=_[e+32>>2],_[i+332+4>>2]=_[e+32+4>>2],_[i+332+8>>2]=_[e+32+8>>2],_[i+332+12>>2]=_[e+32+12>>2],_[i+348>>2]=_[e+48>>2],_[i+348+4>>2]=_[e+48+4>>2],_[i+348+8>>2]=_[e+48+8>>2],_[i+348+12>>2]=_[e+48+12>>2],n[i+527|0]=0,_[i+364>>2]=_[i+300>>2],_[i+364+4>>2]=_[i+300+4>>2],_[i+364+8>>2]=_[i+300+8>>2],_[i+364+12>>2]=_[i+300+12>>2],_[i+380>>2]=_[i+316>>2],_[i+380+4>>2]=_[i+316+4>>2],_[i+380+8>>2]=_[i+316+8>>2],_[i+380+12>>2]=_[i+316+12>>2],_[i+396>>2]=_[i+332>>2],_[i+396+4>>2]=_[i+332+4>>2],_[i+396+8>>2]=_[i+332+8>>2],_[i+396+12>>2]=_[i+332+12>>2],n[i+524|0]=0,n[i+525|0]=0,n[i+526|0]=0,n[i+552|0]=0,_[i+412>>2]=0,_[i+412+4>>2]=0,_[i+412+8>>2]=0,_[i+412+12>>2]=0,p[i+572>>2]=-1,p[i+444>>2]=0xde0b6b000000000,p[i+448>>2]=0xde0b6b000000000,p[i+452>>2]=0xde0b6b000000000,p[i+428>>2]=1,p[i+432>>2]=.30000001192092896,p[i+436>>2]=1,p[i+440>>2]=.009999999776482582,p[i+456>>2]=.05000000074505806,_[i+592>>2]=0,p[i+596>>2]=0,p[i+600>>2]=.699999988079071,p[i+604>>2]=0,0|i},_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4:function(t,e,i,o){var r;return t|=0,e|=0,i|=0,o|=0,r=0|B_(),_[r+4>>2]=5,_[r+8>>2]=-1,_[r+12>>2]=-1,p[r+16>>2]=34028234663852886e22,n[r+20|0]=1,n[r+21|0]=0,_[r+24>>2]=-1,_[r+28>>2]=t,_[r+32>>2]=e,p[r+36>>2]=0,p[r+40>>2]=.30000001192092896,_[r+44>>2]=0,_[r>>2]=5548,_[r+300>>2]=_[i>>2],_[r+300+4>>2]=_[i+4>>2],_[r+300+8>>2]=_[i+8>>2],_[r+300+12>>2]=_[i+12>>2],_[r+316>>2]=_[i+16>>2],_[r+316+4>>2]=_[i+16+4>>2],_[r+316+8>>2]=_[i+16+8>>2],_[r+316+12>>2]=_[i+16+12>>2],_[r+332>>2]=_[i+32>>2],_[r+332+4>>2]=_[i+32+4>>2],_[r+332+8>>2]=_[i+32+8>>2],_[r+332+12>>2]=_[i+32+12>>2],_[r+348>>2]=_[i+48>>2],_[r+348+4>>2]=_[i+48+4>>2],_[r+348+8>>2]=_[i+48+8>>2],_[r+348+12>>2]=_[i+48+12>>2],_[r+364>>2]=_[o>>2],_[r+364+4>>2]=_[o+4>>2],_[r+364+8>>2]=_[o+8>>2],_[r+364+12>>2]=_[o+12>>2],_[r+380>>2]=_[o+16>>2],_[r+380+4>>2]=_[o+16+4>>2],_[r+380+8>>2]=_[o+16+8>>2],_[r+380+12>>2]=_[o+16+12>>2],_[r+396>>2]=_[o+32>>2],_[r+396+4>>2]=_[o+32+4>>2],_[r+396+8>>2]=_[o+32+8>>2],_[r+396+12>>2]=_[o+32+12>>2],_[r+412>>2]=_[o+48>>2],_[r+412+4>>2]=_[o+48+4>>2],_[r+412+8>>2]=_[o+48+8>>2],_[r+412+12>>2]=_[o+48+12>>2],n[r+552|0]=0,_[r+524>>2]=0,p[r+572>>2]=-1,p[r+444>>2]=0xde0b6b000000000,p[r+448>>2]=0xde0b6b000000000,p[r+452>>2]=0xde0b6b000000000,p[r+428>>2]=1,p[r+432>>2]=.30000001192092896,p[r+436>>2]=1,p[r+440>>2]=.009999999776482582,p[r+456>>2]=.05000000074505806,_[r+592>>2]=0,p[r+596>>2]=0,p[r+600>>2]=.699999988079071,p[r+604>>2]=0,0|r},_emscripten_bind_btConeTwistConstraint_enableFeedback_1:Ws,_emscripten_bind_btConeTwistConstraint_enableMotor_1:function(t,e){vp(t|=0,e|=0)},_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btConeTwistConstraint_getParam_2:kr,_emscripten_bind_btConeTwistConstraint_setAngularOnly_1:function(t,e){mp(t|=0,e|=0)},_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btConeTwistConstraint_setDamping_1:function(t,e){!function(t,e){e=+e,p[(t|=0)+440>>2]=e}(t|=0,e=+e)},_emscripten_bind_btConeTwistConstraint_setLimit_2:function(t,e,i){!function(t,e,i){switch(t|=0,i=+i,0|(e|=0)){case 3:return void(p[t+452>>2]=i);case 4:return void(p[t+448>>2]=i);case 5:p[t+444>>2]=i}}(t|=0,e|=0,i=+i)},_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1:function(t,e){bs(t|=0,e=+e)},_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1:function(t,e){xs(t|=0,e=+e)},_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1:function(t,e){ri(t|=0,e|=0)},_emscripten_bind_btConeTwistConstraint_setMotorTarget_1:function(t,e){var i,n,o,_,r,s,c,a,l,d,b,A,f;e|=0,i=Q,Q=Q+48|0,Qt(364+(t|=0)|0,i+16|0),r=-+p[i+16>>2],o=-+p[i+16+4>>2],l=-+p[i+16+8>>2],a=+p[i+16+12>>2],_=+p[e>>2],d=+p[e+12>>2],c=+p[e+8>>2],s=+p[e+4>>2],Qt(t+300|0,i),A=+p[i>>2],f=+p[i+12>>2],n=+p[i+8>>2],b=+p[i+4>>2],p[i+32>>2]=(a*d-_*r-s*o-c*l)*A+(a*_+d*r+c*o-s*l)*f+(_*l+(d*o+a*s)-c*r)*n-(d*l+a*c+s*r-_*o)*b,p[i+32+4>>2]=A*(d*l+a*c+s*r-_*o)+(f*(_*l+(d*o+a*s)-c*r)+(a*d-_*r-s*o-c*l)*b)-(a*_+d*r+c*o-s*l)*n,p[i+32+8>>2]=(d*l+a*c+s*r-_*o)*f+(a*d-_*r-s*o-c*l)*n+(a*_+d*r+c*o-s*l)*b-A*(_*l+(d*o+a*s)-c*r),p[i+32+12>>2]=(a*d-_*r-s*o-c*l)*f-(a*_+d*r+c*o-s*l)*A-(_*l+(d*o+a*s)-c*r)*b-(d*l+a*c+s*r-_*o)*n,ri(t,i+32|0),Q=i},_emscripten_bind_btConeTwistConstraint_setParam_3:br,_emscripten_bind_btConstraintSetting___destroy___0:qp,_emscripten_bind_btConstraintSetting_btConstraintSetting_0:function(){var t;return function(t){p[(t|=0)>>2]=.30000001192092896,p[t+4>>2]=1,p[t+8>>2]=0}(t=0|a_(12)),0|t},_emscripten_bind_btConstraintSetting_get_m_damping_0:ua,_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0:ka,_emscripten_bind_btConstraintSetting_get_m_tau_0:Nc,_emscripten_bind_btConstraintSetting_set_m_damping_1:ea,_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1:ta,_emscripten_bind_btConstraintSetting_set_m_tau_1:Aa,_emscripten_bind_btConstraintSolver___destroy___0:Kr,_emscripten_bind_btContactSolverInfo___destroy___0:qp,_emscripten_bind_btContactSolverInfo_get_m_numIterations_0:oa,_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0:function(t){return 0|+p[48+(t|=0)>>2]},_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0:function(t){return 0|!!(0|_[44+(t|=0)>>2])},_emscripten_bind_btContactSolverInfo_set_m_numIterations_1:oc,_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1:function(t,e){e|=0,p[48+(t|=0)>>2]=+(0|e)},_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1:function(t,e){e|=0,_[44+(t|=0)>>2]=1&e},_emscripten_bind_btConvexHullShape___destroy___0:Kr,_emscripten_bind_btConvexHullShape_addPoint_1:function(t,e){le(t|=0,e|=0,1)},_emscripten_bind_btConvexHullShape_addPoint_2:function(t,e,i){le(t|=0,e|=0,i|=0)},_emscripten_bind_btConvexHullShape_btConvexHullShape_0:function(){var t;return ft(t=0|P_(),0,0,16),0|t},_emscripten_bind_btConvexHullShape_btConvexHullShape_1:function(t){var e;return t|=0,ft(e=0|P_(),t,0,16),0|e},_emscripten_bind_btConvexHullShape_btConvexHullShape_2:function(t,e){var i;return t|=0,e|=0,ft(i=0|P_(),t,e,16),0|i},_emscripten_bind_btConvexHullShape_calculateLocalInertia_2:Sr,_emscripten_bind_btConvexHullShape_getConvexPolyhedron_0:Kp,_emscripten_bind_btConvexHullShape_getLocalScaling_0:Gs,_emscripten_bind_btConvexHullShape_getMargin_0:Us,_emscripten_bind_btConvexHullShape_getNumVertices_0:function(t){return 0|Gl[127&_[96+(0|_[(t|=0)>>2])>>2]](t)},_emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1:function(t,e){return e|=0,0|Ll[31&_[92+(0|_[(t|=0)>>2])>>2]](t,e)},_emscripten_bind_btConvexHullShape_recalcLocalAabb_0:function(t){nn(t|=0)},_emscripten_bind_btConvexHullShape_setLocalScaling_1:ps,_emscripten_bind_btConvexHullShape_setMargin_1:hs,_emscripten_bind_btConvexPolyhedron___destroy___0:Kr,_emscripten_bind_btConvexPolyhedron_get_m_faces_0:Ha,_emscripten_bind_btConvexPolyhedron_get_m_vertices_0:sl,_emscripten_bind_btConvexPolyhedron_set_m_faces_1:function(t,e){!function(t,e){Jn(t|=0,e|=0)}(24+(t|=0)|0,e|=0)},_emscripten_bind_btConvexPolyhedron_set_m_vertices_1:function(t,e){!function(t,e){ko(t|=0,e|=0)}(4+(t|=0)|0,e|=0)},_emscripten_bind_btConvexShape___destroy___0:Kr,_emscripten_bind_btConvexShape_calculateLocalInertia_2:Sr,_emscripten_bind_btConvexShape_getLocalScaling_0:Gs,_emscripten_bind_btConvexShape_getMargin_0:Us,_emscripten_bind_btConvexShape_setLocalScaling_1:ps,_emscripten_bind_btConvexShape_setMargin_1:hs,_emscripten_bind_btConvexTriangleMeshShape___destroy___0:Kr,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1:function(t){var e;return t|=0,e=0|O_(),_[e+8>>2]=0,_[e+12>>2]=1065353216,_[e+16>>2]=1065353216,_[e+20>>2]=1065353216,p[e+24>>2]=0,p[e+44>>2]=.03999999910593033,_[e+52>>2]=0,_[e+56>>2]=1065353216,_[e+60>>2]=1065353216,_[e+64>>2]=1065353216,p[e+68>>2]=0,_[e+72>>2]=-1082130432,_[e+76>>2]=-1082130432,_[e+80>>2]=-1082130432,p[e+84>>2]=0,n[e+88|0]=0,_[e>>2]=8688,_[e+92>>2]=t,_[e+4>>2]=3,nn(e),0|e},_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2:function(t,e){var i;return t|=0,e|=0,i=0|O_(),_[i+8>>2]=0,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,_[i+52>>2]=0,_[i+56>>2]=1065353216,_[i+60>>2]=1065353216,_[i+64>>2]=1065353216,p[i+68>>2]=0,_[i+72>>2]=-1082130432,_[i+76>>2]=-1082130432,_[i+80>>2]=-1082130432,p[i+84>>2]=0,n[i+88|0]=0,_[i>>2]=8688,_[i+92>>2]=t,_[i+4>>2]=3,e?(nn(i),0|i):0|i},_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2:Sr,_emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0:Gs,_emscripten_bind_btConvexTriangleMeshShape_getMargin_0:Us,_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1:ps,_emscripten_bind_btConvexTriangleMeshShape_setMargin_1:hs,_emscripten_bind_btCylinderShapeX___destroy___0:Kr,_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1:function(t){var e;return t|=0,Qi(e=0|L_(),t),_[e>>2]=9240,_[e+52>>2]=0,0|e},_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2:Sr,_emscripten_bind_btCylinderShapeX_getLocalScaling_0:Gs,_emscripten_bind_btCylinderShapeX_getMargin_0:Us,_emscripten_bind_btCylinderShapeX_setLocalScaling_1:ps,_emscripten_bind_btCylinderShapeX_setMargin_1:hs,_emscripten_bind_btCylinderShapeZ___destroy___0:Kr,_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1:function(t){var e;return t|=0,Qi(e=0|L_(),t),_[e>>2]=9344,_[e+52>>2]=2,0|e},_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2:Sr,_emscripten_bind_btCylinderShapeZ_getLocalScaling_0:Gs,_emscripten_bind_btCylinderShapeZ_getMargin_0:Us,_emscripten_bind_btCylinderShapeZ_setLocalScaling_1:ps,_emscripten_bind_btCylinderShapeZ_setMargin_1:hs,_emscripten_bind_btCylinderShape___destroy___0:Kr,_emscripten_bind_btCylinderShape_btCylinderShape_1:function(t){var e;return t|=0,Qi(e=0|L_(),t),0|e},_emscripten_bind_btCylinderShape_calculateLocalInertia_2:Sr,_emscripten_bind_btCylinderShape_getLocalScaling_0:Gs,_emscripten_bind_btCylinderShape_getMargin_0:Us,_emscripten_bind_btCylinderShape_setLocalScaling_1:ps,_emscripten_bind_btCylinderShape_setMargin_1:hs,_emscripten_bind_btDbvtBroadphase___destroy___0:Kr,_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0:function(){var t;return $t(t=0|a_(196),0),0|t},_emscripten_bind_btDefaultCollisionConfiguration___destroy___0:Kr,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0:function(){var t,e;return e=Q,Q=Q+32|0,t=0|a_(92),H_(e),We(t,e),Q=e,0|t},_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1:function(t){var e;return t|=0,We(e=0|a_(92),t),0|e},_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0:qp,_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0:function(){var t;return H_(t=0|a_(24)),0|t},_emscripten_bind_btDefaultMotionState___destroy___0:Kr,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0:function(){var t;return t=0|W_(),$n(),$n(),Eo(t,24824,24824),0|t},_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1:function(t){var e;return t|=0,e=0|W_(),$n(),Eo(e,t,24824),0|e},_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2:function(t,e){var i;return t|=0,e|=0,Eo(i=0|W_(),t,e),0|i},_emscripten_bind_btDefaultMotionState_getWorldTransform_1:$r,_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0:sl,_emscripten_bind_btDefaultMotionState_setWorldTransform_1:is,_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1:function(t,e){Yo(4+(t|=0)|0,e|=0)},_emscripten_bind_btDefaultSoftBodySolver___destroy___0:Kr,_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0:function(){var t;return t=0|a_(40),p[t+12>>2]=1,_[t+8>>2]=0,_[t+4>>2]=5,_[t>>2]=3844,n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,n[t+16|0]=1,0|t},_emscripten_bind_btDefaultVehicleRaycaster___destroy___0:Kr,_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1:function(t){var e;return t|=0,function(t,e){e|=0,function(t){_[(t|=0)>>2]=3776}(t|=0),_[t>>2]=5752,_[t+4>>2]=e}(e=0|a_(8),t),0|e},_emscripten_bind_btDefaultVehicleRaycaster_castRay_3:_r,_emscripten_bind_btDiscreteDynamicsWorld___destroy___0:Kr,_emscripten_bind_btDiscreteDynamicsWorld_addAction_1:cs,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1:vr,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2:pr,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3:tr,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1:Lr,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2:hr,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1:Yr,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3:q_,_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4:function(t,e,i,n){return t|=0,e|=0,i|=0,n|=0,Oe(n=0|S_(324),t,e,i),0|n},_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3:an,_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2:Qn,_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5:$o,_emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3:or,_emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0:Ts,_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0:Fp,_emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0:Bs,_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0:Cp,_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0:Wp,_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24432]||Qs(24432),ed[127&_[76+(0|_[t>>2])>>2]](e,t),_[6238]=_[e>>2],_[6239]=_[e+4>>2],_[6240]=_[e+8>>2],_[6241]=_[e+12>>2],Q=e,24952},_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0:Ns,_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0:up,_emscripten_bind_btDiscreteDynamicsWorld_performDiscreteCollisionDetection_0:ws,_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3:lr,_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1:os,_emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1:Ur,_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1:Er,_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1:Hr,_emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1:ts,_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1:Jr,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1:mr,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2:er,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3:nr,_emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1:ns,_emscripten_bind_btDispatcherInfo___destroy___0:qp,_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0:Ca,_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0:la,_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0:Ac,_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0:function(t){return 0|!!(1&n[25+(t|=0)|0])},_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0:function(t){return 0|!!(1&n[24+(t|=0)|0])},_emscripten_bind_btDispatcherInfo_get_m_stepCount_0:Hc,_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0:ga,_emscripten_bind_btDispatcherInfo_get_m_timeStep_0:Nc,_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0:function(t){return 0|!!(1&n[16+(t|=0)|0])},_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0:function(t){return 0|!!(1&n[32+(t|=0)|0])},_emscripten_bind_btDispatcherInfo_get_m_useEpa_0:function(t){return 0|!!(1&n[26+(t|=0)|0])},_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1:wc,_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1:mc,_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1:lp,_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1:function(t,e){e|=0,n[25+(t|=0)|0]=1&e},_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1:function(t,e){e|=0,n[24+(t|=0)|0]=1&e},_emscripten_bind_btDispatcherInfo_set_m_stepCount_1:fp,_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1:Ec,_emscripten_bind_btDispatcherInfo_set_m_timeStep_1:Aa,_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1:function(t,e){e|=0,n[16+(t|=0)|0]=1&e},_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1:function(t,e){e|=0,n[32+(t|=0)|0]=1&e},_emscripten_bind_btDispatcherInfo_set_m_useEpa_1:function(t,e){e|=0,n[26+(t|=0)|0]=1&e},_emscripten_bind_btDispatcher___destroy___0:Kr,_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1:Qr,_emscripten_bind_btDispatcher_getNumManifolds_0:Xs,_emscripten_bind_btDynamicsWorld___destroy___0:Kr,_emscripten_bind_btDynamicsWorld_addAction_1:cs,_emscripten_bind_btDynamicsWorld_addCollisionObject_1:Pr,_emscripten_bind_btDynamicsWorld_addCollisionObject_2:ur,_emscripten_bind_btDynamicsWorld_addCollisionObject_3:tr,_emscripten_bind_btDynamicsWorld_contactPairTest_3:an,_emscripten_bind_btDynamicsWorld_contactTest_2:Qn,_emscripten_bind_btDynamicsWorld_convexSweepTest_5:$o,_emscripten_bind_btDynamicsWorld_debugDrawObject_3:or,_emscripten_bind_btDynamicsWorld_debugDrawWorld_0:Ts,_emscripten_bind_btDynamicsWorld_getBroadphase_0:Fp,_emscripten_bind_btDynamicsWorld_getDebugDrawer_0:Bs,_emscripten_bind_btDynamicsWorld_getDispatchInfo_0:Cp,_emscripten_bind_btDynamicsWorld_getDispatcher_0:Wp,_emscripten_bind_btDynamicsWorld_getPairCache_0:Ns,_emscripten_bind_btDynamicsWorld_getSolverInfo_0:up,_emscripten_bind_btDynamicsWorld_performDiscreteCollisionDetection_0:ws,_emscripten_bind_btDynamicsWorld_rayTest_3:lr,_emscripten_bind_btDynamicsWorld_removeAction_1:os,_emscripten_bind_btDynamicsWorld_removeCollisionObject_1:Ur,_emscripten_bind_btDynamicsWorld_setDebugDrawer_1:ts,_emscripten_bind_btDynamicsWorld_updateSingleAabb_1:ns,_emscripten_bind_btFaceArray___destroy___0:function(t){(t|=0)&&(function(t){(function(t){y_(t|=0,0|Cl(0|_[t+4>>2])),V_(t),_s(t)})(t|=0)}(t),yl(t))},_emscripten_bind_btFaceArray_at_1:function(t,e){return e|=0,0|function(t,e){return(t|=0)+(36*(e|=0)|0)|0}(0|_[12+(t|=0)>>2],e)},_emscripten_bind_btFaceArray_size_0:Oc,_emscripten_bind_btFace___destroy___0:function(t){(t|=0)&&(Ba(t),yl(t))},_emscripten_bind_btFace_get_m_indices_0:Cl,_emscripten_bind_btFace_get_m_plane_1:function(t,e){return+ +p[20+(t|=0)+((e|=0)<<2)>>2]},_emscripten_bind_btFace_set_m_indices_1:function(t,e){!function(t,e){jo(t|=0,e|=0)}(t|=0,e|=0)},_emscripten_bind_btFace_set_m_plane_2:function(t,e,i){i=+i,p[20+(t|=0)+((e|=0)<<2)>>2]=i},_emscripten_bind_btFixedConstraint___destroy___0:Kr,_emscripten_bind_btFixedConstraint_btFixedConstraint_4:function(t,e,i,o){var r,s,c,a,l,d,b,A,f,u;return t|=0,e|=0,i|=0,o|=0,s=Q,Q=Q+32|0,r=0|O_(),_[r+4>>2]=11,_[r+8>>2]=-1,_[r+12>>2]=-1,p[r+16>>2]=34028234663852886e22,n[r+20|0]=1,n[r+21|0]=0,_[r+24>>2]=-1,_[r+28>>2]=t,_[r+32>>2]=e,p[r+36>>2]=0,p[r+40>>2]=.30000001192092896,_[r+44>>2]=0,_[r>>2]=5224,_[r+48>>2]=_[i+48>>2],_[r+48+4>>2]=_[i+48+4>>2],_[r+48+8>>2]=_[i+48+8>>2],_[r+48+12>>2]=_[i+48+12>>2],_[r+64>>2]=_[o+48>>2],_[r+64+4>>2]=_[o+48+4>>2],_[r+64+8>>2]=_[o+48+8>>2],_[r+64+12>>2]=_[o+48+12>>2],Qt(i,s+16|0),Qt(o,s),b=-+p[s>>2],l=-+p[s+4>>2],c=-+p[s+8>>2],u=+p[s+12>>2],f=+p[s+16+12>>2],A=+p[s+16>>2],d=+p[s+16+4>>2],a=+p[s+16+8>>2],p[r+80>>2]=f*b+u*A+d*c-a*l,p[r+84>>2]=a*b+(f*l+u*d)-A*c,p[r+88>>2]=A*l+(f*c+u*a)-d*b,p[r+92>>2]=u*f-A*b-d*l-a*c,Q=s,0|r},_emscripten_bind_btFixedConstraint_enableFeedback_1:Ws,_emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btFixedConstraint_getParam_2:kr,_emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btFixedConstraint_setParam_3:br,_emscripten_bind_btGeneric6DofConstraint___destroy___0:Kr,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3:function(t,e,i){var n;return t|=0,e|=0,i|=0,Fe(n=0|j_(),t,e,i),0|n},_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5:function(t,e,i,n,o){var _;return t|=0,e|=0,i|=0,n|=0,o|=0,Ke(_=0|j_(),t,e,i,n,o),0|_},_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1:Ws,_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0:bc,_emscripten_bind_btGeneric6DofConstraint_getParam_2:kr,_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1:Tr,_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1:Or,_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1:Nr,_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1:Gr,_emscripten_bind_btGeneric6DofConstraint_setParam_3:br,_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0:Kr,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3:function(t,e,i){var o;t|=0,e|=0,i|=0,Fe(o=0|C_(),t,e,i),_[o>>2]=5332,_[o+4>>2]=9,n[o+1309|0]=0,n[o+1309+1|0]=0,n[o+1309+2|0]=0,n[o+1309+3|0]=0,n[o+1309+4|0]=0,n[o+1309+5|0]=0,e=48+(t=o+1316|0)|0;do{_[t>>2]=0,t=t+4|0}while((0|t)<(0|e));return p[o+1364>>2]=1,p[o+1368>>2]=1,p[o+1372>>2]=1,p[o+1376>>2]=1,p[o+1380>>2]=1,p[o+1384>>2]=1,0|o},_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5:function(t,e,i,o,r){var s;t|=0,e|=0,i|=0,o|=0,r|=0,Ke(s=0|C_(),t,e,i,o,r),_[s>>2]=5332,_[s+4>>2]=9,n[s+1309|0]=0,n[s+1309+1|0]=0,n[s+1309+2|0]=0,n[s+1309+3|0]=0,n[s+1309+4|0]=0,n[s+1309+5|0]=0,e=48+(t=s+1316|0)|0;do{_[t>>2]=0,t=t+4|0}while((0|t)<(0|e));return p[s+1364>>2]=1,p[s+1368>>2]=1,p[s+1372>>2]=1,p[s+1376>>2]=1,p[s+1380>>2]=1,p[s+1384>>2]=1,0|s},_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1:Ws,_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2:function(t,e,i){return i|=0,n[1309+(t|=0)+(e|=0)|0]=1&i,(0|e)<3?void(n[t+788+e|0]=1&i):void(n[t+868+(e+-3<<6)+44|0]=1&i)},_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0:bc,_emscripten_bind_btGeneric6DofSpringConstraint_getParam_2:kr,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1:Tr,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1:Or,_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2:function(t,e,i){i=+i,p[1364+(t|=0)+((e|=0)<<2)>>2]=i},_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1:Nr,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1:Gr,_emscripten_bind_btGeneric6DofSpringConstraint_setParam_3:br,_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2:function(t,e,i){i=+i,p[1340+(t|=0)+((e|=0)<<2)>>2]=i},_emscripten_bind_btGhostObject___destroy___0:Xr,_emscripten_bind_btGhostObject_activate_0:J_,_emscripten_bind_btGhostObject_activate_1:k_,_emscripten_bind_btGhostObject_btGhostObject_0:function(){var t;return t=0|S_(284),_[t+164>>2]=1065353216,_[t+168>>2]=1065353216,_[t+172>>2]=1065353216,p[t+176>>2]=0,_[t+180>>2]=0,p[t+184>>2]=0xde0b6b000000000,_[t+188>>2]=0,_[t+188+4>>2]=0,_[t+188+8>>2]=0,_[t+188+12>>2]=0,_[t+204>>2]=1,_[t+208>>2]=-1,_[t+212>>2]=-1,_[t+216>>2]=1,p[t+220>>2]=0,p[t+224>>2]=.5,p[t+228>>2]=0,p[t+232>>2]=0,_[t+240>>2]=0,p[t+244>>2]=1,_[t+248>>2]=0,_[t+248+4>>2]=0,_[t+248+8>>2]=0,_[t+248+12>>2]=0,_[t+4>>2]=1065353216,_[t+8>>2]=0,_[t+8+4>>2]=0,_[t+8+8>>2]=0,_[t+8+12>>2]=0,_[t+24>>2]=1065353216,_[t+28>>2]=0,_[t+28+4>>2]=0,_[t+28+8>>2]=0,_[t+28+12>>2]=0,_[t+44>>2]=1065353216,_[t+48>>2]=0,_[t+48+4>>2]=0,_[t+48+8>>2]=0,_[t+48+12>>2]=0,_[t+48+16>>2]=0,_[t>>2]=5940,n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[t+272>>2]=0,_[t+236>>2]=4,0|t},_emscripten_bind_btGhostObject_forceActivationState_1:dp,_emscripten_bind_btGhostObject_getCollisionFlags_0:Bp,_emscripten_bind_btGhostObject_getCollisionShape_0:Ip,_emscripten_bind_btGhostObject_getNumOverlappingObjects_0:Es,_emscripten_bind_btGhostObject_getOverlappingObject_1:Cs,_emscripten_bind_btGhostObject_getUserIndex_0:wp,_emscripten_bind_btGhostObject_getUserPointer_0:Zp,_emscripten_bind_btGhostObject_getWorldTransform_0:Bc,_emscripten_bind_btGhostObject_isActive_0:np,_emscripten_bind_btGhostObject_isKinematicObject_0:ks,_emscripten_bind_btGhostObject_isStaticObject_0:Vs,_emscripten_bind_btGhostObject_isStaticOrKinematicObject_0:rs,_emscripten_bind_btGhostObject_setActivationState_1:Vr,_emscripten_bind_btGhostObject_setAnisotropicFriction_2:Cr,_emscripten_bind_btGhostObject_setCcdMotionThreshold_1:Ss,_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1:ms,_emscripten_bind_btGhostObject_setCollisionFlags_1:Os,_emscripten_bind_btGhostObject_setCollisionShape_1:is,_emscripten_bind_btGhostObject_setContactProcessingThreshold_1:Rs,_emscripten_bind_btGhostObject_setFriction_1:ip,_emscripten_bind_btGhostObject_setRestitution_1:Zs,_emscripten_bind_btGhostObject_setRollingFriction_1:Ps,_emscripten_bind_btGhostObject_setUserIndex_1:Ks,_emscripten_bind_btGhostObject_setUserPointer_1:Ks,_emscripten_bind_btGhostObject_setWorldTransform_1:ls,_emscripten_bind_btGhostPairCallback___destroy___0:Kr,_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0:function(){var t;return function(t){(function(t){_[(t|=0)>>2]=3700})(t|=0),_[t>>2]=3672}(t=0|a_(4)),0|t},_emscripten_bind_btHeightfieldTerrainShape___destroy___0:Kr,_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9:function(t,e,i,o,r,s,c,a,l){t|=0,e|=0,i|=0,o=+o,r=+r,s=+s,c|=0,a|=0,l|=0;var d,b=0,A=0,f=0;switch(d=0|function(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(143))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(),_[d+8>>2]=0,p[d+12>>2]=0,_[d>>2]=9056,_[d+4>>2]=24,_[d+64>>2]=t,_[d+68>>2]=e,p[d+72>>2]=r,p[d+76>>2]=s,p[d+80>>2]=+(t+-1|0),p[d+84>>2]=+(e+-1|0),p[d+88>>2]=o,_[d+92>>2]=i,_[d+96>>2]=a,n[d+100|0]=1&l,n[d+101|0]=0,n[d+102|0]=0,_[d+104>>2]=c,_[d+108>>2]=1065353216,_[d+112>>2]=1065353216,_[d+116>>2]=1065353216,p[d+120>>2]=0,0|c){case 0:p[d+16>>2]=r,_[d+20>>2]=0,_[d+24>>2]=0,p[d+28>>2]=0,p[d+32>>2]=s,p[d+36>>2]=+(t+-1|0),p[d+40>>2]=+(e+-1|0),p[d+44>>2]=0,A=s,f=r,o=+(t+-1|0),b=0,s=+(e+-1|0),r=0;break;case 1:_[d+16>>2]=0,p[d+20>>2]=r,_[d+24>>2]=0,p[d+28>>2]=0,p[d+32>>2]=+(t+-1|0),p[d+36>>2]=s,p[d+40>>2]=+(e+-1|0),p[d+44>>2]=0,A=+(t+-1|0),f=0,o=s,b=r,s=+(e+-1|0),r=0;break;case 2:_[d+16>>2]=0,_[d+20>>2]=0,p[d+24>>2]=r,p[d+28>>2]=0,p[d+32>>2]=+(t+-1|0),p[d+36>>2]=+(e+-1|0),p[d+40>>2]=s,p[d+44>>2]=0,A=+(t+-1|0),f=0,o=+(e+-1|0),b=0;break;default:A=+p[d+32>>2],f=+p[d+16>>2],o=+p[d+36>>2],b=+p[d+20>>2],s=+p[d+40>>2],r=+p[d+24>>2]}return p[d+48>>2]=.5*(f+A),p[d+52>>2]=.5*(b+o),p[d+56>>2]=.5*(r+s),p[d+60>>2]=0,0|d},_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2:Sr,_emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0:Gs,_emscripten_bind_btHeightfieldTerrainShape_getMargin_0:Us,_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1:ps,_emscripten_bind_btHeightfieldTerrainShape_setMargin_1:hs,_emscripten_bind_btHingeConstraint___destroy___0:Kr,_emscripten_bind_btHingeConstraint_btHingeConstraint_2:function(t,e){var i,o,r,s,c,a;return t|=0,e|=0,sn(i=0|T_(),4,t),_[i>>2]=5604,_[i+552>>2]=_[e>>2],_[i+552+4>>2]=_[e+4>>2],_[i+552+8>>2]=_[e+8>>2],_[i+552+12>>2]=_[e+12>>2],_[i+568>>2]=_[e+16>>2],_[i+568+4>>2]=_[e+16+4>>2],_[i+568+8>>2]=_[e+16+8>>2],_[i+568+12>>2]=_[e+16+12>>2],_[i+584>>2]=_[e+32>>2],_[i+584+4>>2]=_[e+32+4>>2],_[i+584+8>>2]=_[e+32+8>>2],_[i+584+12>>2]=_[e+32+12>>2],_[i+600>>2]=_[e+48>>2],_[i+600+4>>2]=_[e+48+4>>2],_[i+600+8>>2]=_[e+48+8>>2],_[i+600+12>>2]=_[e+48+12>>2],_[i+616>>2]=_[e>>2],_[i+616+4>>2]=_[e+4>>2],_[i+616+8>>2]=_[e+8>>2],_[i+616+12>>2]=_[e+12>>2],_[i+632>>2]=_[e+16>>2],_[i+632+4>>2]=_[e+16+4>>2],_[i+632+8>>2]=_[e+16+8>>2],_[i+632+12>>2]=_[e+16+12>>2],_[i+648>>2]=_[e+32>>2],_[i+648+4>>2]=_[e+32+4>>2],_[i+648+8>>2]=_[e+32+8>>2],_[i+648+12>>2]=_[e+32+12>>2],_[i+664>>2]=_[e+48>>2],_[i+664+4>>2]=_[e+48+4>>2],_[i+664+8>>2]=_[e+48+8>>2],_[i+664+12>>2]=_[e+48+12>>2],p[i+688>>2]=0,p[i+692>>2]=-1,p[i+696>>2]=.8999999761581421,p[i+700>>2]=.30000001192092896,p[i+704>>2]=1,p[i+708>>2]=0,p[i+712>>2]=0,n[i+716|0]=0,n[i+736|0]=0,n[i+737|0]=0,n[i+738|0]=0,n[i+739|0]=1,n[i+740|0]=0,_[i+748>>2]=0,e=0|_[i+28>>2],a=+p[i+600>>2],c=+p[i+604>>2],s=+p[i+608>>2],r=a*+p[e+20>>2]+c*+p[e+24>>2]+s*+p[e+28>>2]+ +p[e+56>>2],o=a*+p[e+36>>2]+c*+p[e+40>>2]+s*+p[e+44>>2]+ +p[e+60>>2],p[i+664>>2]=a*+p[e+4>>2]+c*+p[e+8>>2]+s*+p[e+12>>2]+ +p[e+52>>2],p[i+668>>2]=r,p[i+672>>2]=o,p[i+676>>2]=0,p[i+732>>2]=1,0|i},_emscripten_bind_btHingeConstraint_btHingeConstraint_3:function(t,e,i){var o,r,s,c,a,l;return t|=0,e|=0,i|=0,sn(o=0|T_(),4,t),_[o>>2]=5604,_[o+552>>2]=_[e>>2],_[o+552+4>>2]=_[e+4>>2],_[o+552+8>>2]=_[e+8>>2],_[o+552+12>>2]=_[e+12>>2],_[o+568>>2]=_[e+16>>2],_[o+568+4>>2]=_[e+16+4>>2],_[o+568+8>>2]=_[e+16+8>>2],_[o+568+12>>2]=_[e+16+12>>2],_[o+584>>2]=_[e+32>>2],_[o+584+4>>2]=_[e+32+4>>2],_[o+584+8>>2]=_[e+32+8>>2],_[o+584+12>>2]=_[e+32+12>>2],_[o+600>>2]=_[e+48>>2],_[o+600+4>>2]=_[e+48+4>>2],_[o+600+8>>2]=_[e+48+8>>2],_[o+600+12>>2]=_[e+48+12>>2],_[o+616>>2]=_[e>>2],_[o+616+4>>2]=_[e+4>>2],_[o+616+8>>2]=_[e+8>>2],_[o+616+12>>2]=_[e+12>>2],_[o+632>>2]=_[e+16>>2],_[o+632+4>>2]=_[e+16+4>>2],_[o+632+8>>2]=_[e+16+8>>2],_[o+632+12>>2]=_[e+16+12>>2],_[o+648>>2]=_[e+32>>2],_[o+648+4>>2]=_[e+32+4>>2],_[o+648+8>>2]=_[e+32+8>>2],_[o+648+12>>2]=_[e+32+12>>2],_[o+664>>2]=_[e+48>>2],_[o+664+4>>2]=_[e+48+4>>2],_[o+664+8>>2]=_[e+48+8>>2],_[o+664+12>>2]=_[e+48+12>>2],p[o+688>>2]=0,p[o+692>>2]=-1,p[o+696>>2]=.8999999761581421,p[o+700>>2]=.30000001192092896,p[o+704>>2]=1,p[o+708>>2]=0,p[o+712>>2]=0,n[o+716|0]=0,n[o+736|0]=0,n[o+737|0]=0,n[o+738|0]=0,n[o+739|0]=1,n[o+740|0]=1&i,_[o+748>>2]=0,e=0|_[o+28>>2],l=+p[o+600>>2],a=+p[o+604>>2],c=+p[o+608>>2],s=l*+p[e+20>>2]+a*+p[e+24>>2]+c*+p[e+28>>2]+ +p[e+56>>2],r=l*+p[e+36>>2]+a*+p[e+40>>2]+c*+p[e+44>>2]+ +p[e+60>>2],p[o+664>>2]=l*+p[e+4>>2]+a*+p[e+8>>2]+c*+p[e+12>>2]+ +p[e+52>>2],p[o+668>>2]=s,p[o+672>>2]=r,p[o+676>>2]=0,p[o+732>>2]=i?-1:1,0|o},_emscripten_bind_btHingeConstraint_btHingeConstraint_4:function(t,e,i,o){var r;return t|=0,e|=0,i|=0,o|=0,r=0|T_(),_[r+4>>2]=4,_[r+8>>2]=-1,_[r+12>>2]=-1,p[r+16>>2]=34028234663852886e22,n[r+20|0]=1,n[r+21|0]=0,_[r+24>>2]=-1,_[r+28>>2]=t,_[r+32>>2]=e,p[r+36>>2]=0,p[r+40>>2]=.30000001192092896,_[r+44>>2]=0,_[r>>2]=5604,_[r+552>>2]=_[i>>2],_[r+552+4>>2]=_[i+4>>2],_[r+552+8>>2]=_[i+8>>2],_[r+552+12>>2]=_[i+12>>2],_[r+568>>2]=_[i+16>>2],_[r+568+4>>2]=_[i+16+4>>2],_[r+568+8>>2]=_[i+16+8>>2],_[r+568+12>>2]=_[i+16+12>>2],_[r+584>>2]=_[i+32>>2],_[r+584+4>>2]=_[i+32+4>>2],_[r+584+8>>2]=_[i+32+8>>2],_[r+584+12>>2]=_[i+32+12>>2],_[r+600>>2]=_[i+48>>2],_[r+600+4>>2]=_[i+48+4>>2],_[r+600+8>>2]=_[i+48+8>>2],_[r+600+12>>2]=_[i+48+12>>2],_[r+616>>2]=_[o>>2],_[r+616+4>>2]=_[o+4>>2],_[r+616+8>>2]=_[o+8>>2],_[r+616+12>>2]=_[o+12>>2],_[r+632>>2]=_[o+16>>2],_[r+632+4>>2]=_[o+16+4>>2],_[r+632+8>>2]=_[o+16+8>>2],_[r+632+12>>2]=_[o+16+12>>2],_[r+648>>2]=_[o+32>>2],_[r+648+4>>2]=_[o+32+4>>2],_[r+648+8>>2]=_[o+32+8>>2],_[r+648+12>>2]=_[o+32+12>>2],_[r+664>>2]=_[o+48>>2],_[r+664+4>>2]=_[o+48+4>>2],_[r+664+8>>2]=_[o+48+8>>2],_[r+664+12>>2]=_[o+48+12>>2],p[r+688>>2]=0,p[r+692>>2]=-1,p[r+696>>2]=.8999999761581421,p[r+700>>2]=.30000001192092896,p[r+704>>2]=1,p[r+708>>2]=0,p[r+712>>2]=0,n[r+716|0]=0,n[r+736|0]=0,n[r+737|0]=0,n[r+738|0]=0,n[r+739|0]=1,n[r+740|0]=0,_[r+748>>2]=0,p[r+732>>2]=1,0|r},_emscripten_bind_btHingeConstraint_btHingeConstraint_5:function(t,e,i,o,r){var s;return t|=0,e|=0,i|=0,o|=0,r|=0,s=0|T_(),_[s+4>>2]=4,_[s+8>>2]=-1,_[s+12>>2]=-1,p[s+16>>2]=34028234663852886e22,n[s+20|0]=1,n[s+21|0]=0,_[s+24>>2]=-1,_[s+28>>2]=t,_[s+32>>2]=e,p[s+36>>2]=0,p[s+40>>2]=.30000001192092896,_[s+44>>2]=0,_[s>>2]=5604,_[s+552>>2]=_[i>>2],_[s+552+4>>2]=_[i+4>>2],_[s+552+8>>2]=_[i+8>>2],_[s+552+12>>2]=_[i+12>>2],_[s+568>>2]=_[i+16>>2],_[s+568+4>>2]=_[i+16+4>>2],_[s+568+8>>2]=_[i+16+8>>2],_[s+568+12>>2]=_[i+16+12>>2],_[s+584>>2]=_[i+32>>2],_[s+584+4>>2]=_[i+32+4>>2],_[s+584+8>>2]=_[i+32+8>>2],_[s+584+12>>2]=_[i+32+12>>2],_[s+600>>2]=_[i+48>>2],_[s+600+4>>2]=_[i+48+4>>2],_[s+600+8>>2]=_[i+48+8>>2],_[s+600+12>>2]=_[i+48+12>>2],_[s+616>>2]=_[o>>2],_[s+616+4>>2]=_[o+4>>2],_[s+616+8>>2]=_[o+8>>2],_[s+616+12>>2]=_[o+12>>2],_[s+632>>2]=_[o+16>>2],_[s+632+4>>2]=_[o+16+4>>2],_[s+632+8>>2]=_[o+16+8>>2],_[s+632+12>>2]=_[o+16+12>>2],_[s+648>>2]=_[o+32>>2],_[s+648+4>>2]=_[o+32+4>>2],_[s+648+8>>2]=_[o+32+8>>2],_[s+648+12>>2]=_[o+32+12>>2],_[s+664>>2]=_[o+48>>2],_[s+664+4>>2]=_[o+48+4>>2],_[s+664+8>>2]=_[o+48+8>>2],_[s+664+12>>2]=_[o+48+12>>2],p[s+688>>2]=0,p[s+692>>2]=-1,p[s+696>>2]=.8999999761581421,p[s+700>>2]=.30000001192092896,p[s+704>>2]=1,p[s+708>>2]=0,p[s+712>>2]=0,n[s+716|0]=0,n[s+736|0]=0,n[s+737|0]=0,n[s+738|0]=0,n[s+739|0]=1,n[s+740|0]=1&r,_[s+748>>2]=0,p[s+732>>2]=r?-1:1,0|s},_emscripten_bind_btHingeConstraint_btHingeConstraint_6:function(t,e,i,n,o,_){var r;return t|=0,e|=0,i|=0,n|=0,o|=0,_|=0,Je(r=0|T_(),t,e,i,n,o,_,0),0|r},_emscripten_bind_btHingeConstraint_btHingeConstraint_7:function(t,e,i,n,o,_,r){var s;return t|=0,e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,Je(s=0|T_(),t,e,i,n,o,_,r),0|s},_emscripten_bind_btHingeConstraint_enableAngularMotor_3:function(t,e,i,n){sr(t|=0,e|=0,i=+i,n=+n)},_emscripten_bind_btHingeConstraint_enableFeedback_1:Ws,_emscripten_bind_btHingeConstraint_enableMotor_1:function(t,e){Tp(t|=0,e|=0)},_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btHingeConstraint_getParam_2:kr,_emscripten_bind_btHingeConstraint_setAngularOnly_1:function(t,e){kp(t|=0,e|=0)},_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btHingeConstraint_setLimit_4:function(t,e,i,n,o){eo(t|=0,e=+e,i=+i,n=+n,o=+o,1)},_emscripten_bind_btHingeConstraint_setLimit_5:function(t,e,i,n,o,_){eo(t|=0,e=+e,i=+i,n=+n,o=+o,_=+_)},_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1:function(t,e){!function(t,e){e=+e,p[(t|=0)+684>>2]=e}(t|=0,e=+e)},_emscripten_bind_btHingeConstraint_setMotorTarget_2:function(t,e,i){e=+e,i=+i;var n,o=0,r=0;n=+p[692+(t|=0)>>2];do{if(n>0&&!(!((o=(e-(r=+p[t+688>>2]))%6.2831854820251465<-3.1415927410125732?(e-r)%6.2831854820251465+6.2831854820251465:(e-r)%6.2831854820251465>3.1415927410125732?(e-r)%6.2831854820251465-6.2831854820251465:(e-r)%6.2831854820251465)<-n)&o<=n)){if(o>0){if((n+r)%6.2831854820251465<-3.1415927410125732){e=(n+r)%6.2831854820251465+6.2831854820251465;break}if(!((n+r)%6.2831854820251465>3.1415927410125732)){e=(n+r)%6.2831854820251465;break}e=(n+r)%6.2831854820251465-6.2831854820251465;break}if((r-n)%6.2831854820251465<-3.1415927410125732){e=(r-n)%6.2831854820251465+6.2831854820251465;break}if(!((r-n)%6.2831854820251465>3.1415927410125732)){e=(r-n)%6.2831854820251465;break}e=(r-n)%6.2831854820251465-6.2831854820251465;break}}while(0);i=(e-+Yi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0))/i,p[t+680>>2]=i},_emscripten_bind_btHingeConstraint_setParam_3:br,_emscripten_bind_btIDebugDraw___destroy___0:Kr,_emscripten_bind_btIDebugDraw_draw3dText_2:Fr,_emscripten_bind_btIDebugDraw_drawContactPoint_5:v_,_emscripten_bind_btIDebugDraw_drawLine_3:Ar,_emscripten_bind_btIDebugDraw_getDebugMode_0:Ls,_emscripten_bind_btIDebugDraw_reportErrorWarning_1:es,_emscripten_bind_btIDebugDraw_setDebugMode_1:as,_emscripten_bind_btIntArray___destroy___0:As,_emscripten_bind_btIntArray_at_1:zr,_emscripten_bind_btIntArray_size_0:Oc,_emscripten_bind_btKinematicCharacterController___destroy___0:Kr,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3:function(t,e,i){var o;return t|=0,e|=0,i=+i,o=0|g_(),_[o>>2]=5772,n[o+144|0]=1,_[o+140>>2]=0,_[o+132>>2]=0,_[o+136>>2]=0,_[o+176>>2]=1,p[o+56>>2]=.019999999552965164,_[o+60>>2]=0,_[o+60+4>>2]=0,_[o+60+8>>2]=0,_[o+60+12>>2]=0,n[o+170|0]=1,_[o+8>>2]=t,p[o+52>>2]=i,p[o+48>>2]=0,_[o+12>>2]=e,n[o+171|0]=1,p[o+172>>2]=0,p[o+16>>2]=0,p[o+20>>2]=0,p[o+44>>2]=29.399999618530273,p[o+24>>2]=55,p[o+28>>2]=10,n[o+168|0]=0,n[o+169|0]=0,n[o+180|0]=1,p[o+36>>2]=.7853981852531433,p[o+40>>2]=.7071067690849304,p[o+108>>2]=0,n[o+181|0]=0,n[o+182|0]=0,0|o},_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4:function(t,e,i,o){var r;return t|=0,e|=0,i=+i,o|=0,r=0|g_(),_[r>>2]=5772,n[r+144|0]=1,_[r+140>>2]=0,_[r+132>>2]=0,_[r+136>>2]=0,_[r+176>>2]=o,p[r+56>>2]=.019999999552965164,_[r+60>>2]=0,_[r+60+4>>2]=0,_[r+60+8>>2]=0,_[r+60+12>>2]=0,n[r+170|0]=1,_[r+8>>2]=t,p[r+52>>2]=i,p[r+48>>2]=0,_[r+12>>2]=e,n[r+171|0]=1,p[r+172>>2]=0,p[r+16>>2]=0,p[r+20>>2]=0,p[r+44>>2]=29.399999618530273,p[r+24>>2]=55,p[r+28>>2]=10,n[r+168|0]=0,n[r+169|0]=0,n[r+180|0]=1,p[r+36>>2]=.7853981852531433,p[r+40>>2]=.7071067690849304,p[r+108>>2]=0,n[r+181|0]=0,n[r+182|0]=0,0|r},_emscripten_bind_btKinematicCharacterController_canJump_0:function(t){return 0|Gl[127&_[40+(0|_[(t|=0)>>2])>>2]](t)},_emscripten_bind_btKinematicCharacterController_getGhostObject_0:Ac,_emscripten_bind_btKinematicCharacterController_getGravity_0:ca,_emscripten_bind_btKinematicCharacterController_getMaxSlope_0:la,_emscripten_bind_btKinematicCharacterController_jump_0:ws,_emscripten_bind_btKinematicCharacterController_onGround_0:Ls,_emscripten_bind_btKinematicCharacterController_playerStep_2:function(t,e,i){e|=0,i=+i,id[7&_[36+(0|_[(t|=0)>>2])>>2]](t,e,i)},_emscripten_bind_btKinematicCharacterController_preStep_1:function(t,e){e|=0,ed[127&_[32+(0|_[(t|=0)>>2])>>2]](t,e)},_emscripten_bind_btKinematicCharacterController_setFallSpeed_1:gc,_emscripten_bind_btKinematicCharacterController_setGravity_1:xc,_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1:wc,_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1:vc,_emscripten_bind_btKinematicCharacterController_setMaxSlope_1:function(t,e){e=+e,p[36+(t|=0)>>2]=e,e=+f(+e),p[t+40>>2]=e},_emscripten_bind_btKinematicCharacterController_setUpAxis_1:function(t,e){!function(t,e){e=(0|(e|=0))<2?e:2,_[176+(t|=0)>>2]=(0|e)>0?e:0}(t|=0,e|=0)},_emscripten_bind_btKinematicCharacterController_setUpInterpolate_1:function(t,e){e|=0,ed[127&_[52+(0|_[(t|=0)>>2])>>2]](t,e)},_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1:function(t,e){qs(t|=0,e|=0)},_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2:function(t,e,i){e|=0,i=+i,id[7&_[20+(0|_[(t|=0)>>2])>>2]](t,e,i)},_emscripten_bind_btKinematicCharacterController_setWalkDirection_1:ts,_emscripten_bind_btKinematicCharacterController_updateAction_2:Br,_emscripten_bind_btKinematicCharacterController_warp_1:function(t,e){e|=0,ed[127&_[28+(0|_[(t|=0)>>2])>>2]](t,e)},_emscripten_bind_btManifoldPoint___destroy___0:qp,_emscripten_bind_btManifoldPoint_getAppliedImpulse_0:function(t){return+ +qa(+p[120+(t|=0)>>2])},_emscripten_bind_btManifoldPoint_getDistance_0:function(t){return+ +qa(+p[80+(t|=0)>>2])},_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0:bc,_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0:function(t){return 0|ja(t|=0)},_emscripten_bind_btManifoldPoint_get_m_localPointA_0:Cl,_emscripten_bind_btManifoldPoint_get_m_localPointB_0:ia,_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0:function(t){return 64+(t|=0)|0},_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0:Ya,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0:ja,_emscripten_bind_btManifoldPoint_set_m_localPointA_1:d_,_emscripten_bind_btManifoldPoint_set_m_localPointB_1:o_,_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1:function(t,e){e|=0,_[64+(t|=0)>>2]=_[e>>2],_[t+64+4>>2]=_[e+4>>2],_[t+64+8>>2]=_[e+8>>2],_[t+64+12>>2]=_[e+12>>2]},_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1:p_,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1:t_,_emscripten_bind_btMatrix3x3___destroy___0:qp,_emscripten_bind_btMatrix3x3_getRotation_1:function(t,e){Qt(t|=0,e|=0)},_emscripten_bind_btMatrix3x3_getRow_1:function(t,e){return t|=0,e|=0,0|n[24424]||Qs(24424),e=0|wa(t,e),_[6234]=_[e>>2],_[6235]=_[e+4>>2],_[6236]=_[e+8>>2],_[6237]=_[e+12>>2],24936},_emscripten_bind_btMatrix3x3_setEulerZYX_3:function(t,e,i,n){!function(t,e,i,n){var o,_,r,s;t|=0,i=+i,n=+n,o=Q,Q=Q+48|0,_=+bl(e=+e),r=+bl(i),s=+bl(n),e=+dl(e),i=+dl(i),n=+dl(n),p[o+32>>2]=r*s,p[o+28>>2]=i*(e*s)-_*n,p[o+24>>2]=i*(_*s)+e*n,p[o+20>>2]=r*n,p[o+16>>2]=i*(e*n)+_*s,p[o+12>>2]=i*(_*n)-e*s,p[o+8>>2]=-i,p[o+4>>2]=r*e,p[o>>2]=r*_,vo(t,o+32|0,o+28|0,o+24|0,o+20|0,o+16|0,o+12|0,o+8|0,o+4|0,o),Q=o}(t|=0,e=+e,i=+i,n=+n)},_emscripten_bind_btMatrix3x3_setValue_9:function(t,e,i,n,o,_,r,s,c,a){var l;t|=0,e=+e,i=+i,n=+n,o=+o,_=+_,r=+r,s=+s,c=+c,a=+a,l=Q,Q=Q+48|0,p[l+32>>2]=e,p[l+28>>2]=i,p[l+24>>2]=n,p[l+20>>2]=o,p[l+16>>2]=_,p[l+12>>2]=r,p[l+8>>2]=s,p[l+4>>2]=c,p[l>>2]=a,vo(t,l+32|0,l+28|0,l+24|0,l+20|0,l+16|0,l+12|0,l+8|0,l+4|0,l),Q=l},_emscripten_bind_btMotionState___destroy___0:Kr,_emscripten_bind_btMotionState_getWorldTransform_1:$r,_emscripten_bind_btMotionState_setWorldTransform_1:is,_emscripten_bind_btOverlappingPairCache___destroy___0:Kr,_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1:Er,_emscripten_bind_btOverlappingPairCallback___destroy___0:Kr,_emscripten_bind_btPairCachingGhostObject___destroy___0:Xr,_emscripten_bind_btPairCachingGhostObject_activate_0:J_,_emscripten_bind_btPairCachingGhostObject_activate_1:k_,_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0:function(){var t,e=0,i=0;return t=0|S_(288),_[t+164>>2]=1065353216,_[t+168>>2]=1065353216,_[t+172>>2]=1065353216,p[t+176>>2]=0,_[t+180>>2]=0,p[t+184>>2]=0xde0b6b000000000,_[t+188>>2]=0,_[t+188+4>>2]=0,_[t+188+8>>2]=0,_[t+188+12>>2]=0,_[t+204>>2]=1,_[t+208>>2]=-1,_[t+212>>2]=-1,_[t+216>>2]=1,p[t+220>>2]=0,p[t+224>>2]=.5,p[t+228>>2]=0,p[t+232>>2]=0,_[t+240>>2]=0,p[t+244>>2]=1,_[t+248>>2]=0,_[t+248+4>>2]=0,_[t+248+8>>2]=0,_[t+248+12>>2]=0,_[t+4>>2]=1065353216,_[t+8>>2]=0,_[t+8+4>>2]=0,_[t+8+8>>2]=0,_[t+8+12>>2]=0,_[t+24>>2]=1065353216,_[t+28>>2]=0,_[t+28+4>>2]=0,_[t+28+8>>2]=0,_[t+28+12>>2]=0,_[t+44>>2]=1065353216,_[t+48>>2]=0,_[t+48+4>>2]=0,_[t+48+8>>2]=0,_[t+48+12>>2]=0,_[t+48+16>>2]=0,n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[t+272>>2]=0,_[t+236>>2]=4,_[t>>2]=5984,_[6630]=1+(0|_[6630]),(e=0|di(95))?(_[(e+4+15&-16)-4>>2]=e,Ae(e=e+4+15&-16),_[(i=t+284|0)>>2]=e,0|t):(Ae(i=0),_[(e=t+284|0)>>2]=i,0|t)},_emscripten_bind_btPairCachingGhostObject_forceActivationState_1:dp,_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0:Bp,_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0:Ip,_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0:Es,_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1:Cs,_emscripten_bind_btPairCachingGhostObject_getUserIndex_0:wp,_emscripten_bind_btPairCachingGhostObject_getUserPointer_0:Zp,_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0:Bc,_emscripten_bind_btPairCachingGhostObject_isActive_0:np,_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0:ks,_emscripten_bind_btPairCachingGhostObject_isStaticObject_0:Vs,_emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0:rs,_emscripten_bind_btPairCachingGhostObject_setActivationState_1:Vr,_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2:Cr,_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1:Ss,_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1:ms,_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1:Os,_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1:is,_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1:Rs,_emscripten_bind_btPairCachingGhostObject_setFriction_1:ip,_emscripten_bind_btPairCachingGhostObject_setRestitution_1:Zs,_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1:Ps,_emscripten_bind_btPairCachingGhostObject_setUserIndex_1:Ks,_emscripten_bind_btPairCachingGhostObject_setUserPointer_1:Ks,_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1:ls,_emscripten_bind_btPersistentManifold___destroy___0:sp,_emscripten_bind_btPersistentManifold_btPersistentManifold_0:function(){var t;return t=0|function(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(791))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(),_[t>>2]=1025,_[t+116>>2]=0,n[t+120|0]=0,_[t+124>>2]=0,_[t+124+4>>2]=0,_[t+124+8>>2]=0,_[t+124+12>>2]=0,_[t+124+16>>2]=0,_[t+124+20>>2]=0,_[t+124+24>>2]=0,_[t+124+28>>2]=0,_[t+300>>2]=0,n[t+304|0]=0,_[t+308>>2]=0,_[t+308+4>>2]=0,_[t+308+8>>2]=0,_[t+308+12>>2]=0,_[t+308+16>>2]=0,_[t+308+20>>2]=0,_[t+308+24>>2]=0,_[t+308+28>>2]=0,_[t+484>>2]=0,n[t+488|0]=0,_[t+492>>2]=0,_[t+492+4>>2]=0,_[t+492+8>>2]=0,_[t+492+12>>2]=0,_[t+492+16>>2]=0,_[t+492+20>>2]=0,_[t+492+24>>2]=0,_[t+492+28>>2]=0,_[t+668>>2]=0,n[t+672|0]=0,_[t+676>>2]=0,_[t+676+4>>2]=0,_[t+676+8>>2]=0,_[t+676+12>>2]=0,_[t+676+16>>2]=0,_[t+676+20>>2]=0,_[t+676+24>>2]=0,_[t+676+28>>2]=0,_[t+740>>2]=0,_[t+744>>2]=0,_[t+748>>2]=0,_[t+768>>2]=0,0|t},_emscripten_bind_btPersistentManifold_getBody0_0:function(t){return 0|Cl(0|_[740+(t|=0)>>2])},_emscripten_bind_btPersistentManifold_getBody1_0:function(t){return 0|Cl(0|_[744+(t|=0)>>2])},_emscripten_bind_btPersistentManifold_getContactPoint_1:function(t,e){return 0|function(t,e){return(t|=0)+4+(184*(e|=0)|0)|0}(t|=0,e|=0)},_emscripten_bind_btPersistentManifold_getNumContacts_0:function(t){return 0|Cl(0|_[748+(t|=0)>>2])},_emscripten_bind_btPoint2PointConstraint___destroy___0:Kr,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2:function(t,e){var i,o,r,s,c,a;return t|=0,e|=0,sn(i=0|D_(),3,t),_[i>>2]=5392,_[i+300>>2]=_[e>>2],_[i+300+4>>2]=_[e+4>>2],_[i+300+8>>2]=_[e+8>>2],_[i+300+12>>2]=_[e+12>>2],a=+p[e>>2],c=+p[e+4>>2],s=+p[e+8>>2],r=a*+p[t+20>>2]+c*+p[t+24>>2]+s*+p[t+28>>2]+ +p[t+56>>2],o=a*+p[t+36>>2]+c*+p[t+40>>2]+s*+p[t+44>>2]+ +p[t+60>>2],p[i+316>>2]=a*+p[t+4>>2]+c*+p[t+8>>2]+s*+p[t+12>>2]+ +p[t+52>>2],p[i+320>>2]=r,p[i+324>>2]=o,p[i+328>>2]=0,_[i+332>>2]=0,n[i+344|0]=0,p[i+348>>2]=.30000001192092896,p[i+352>>2]=1,p[i+356>>2]=0,0|i},_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4:function(t,e,i,o){var r;return t|=0,e|=0,i|=0,o|=0,r=0|D_(),_[r+4>>2]=3,_[r+8>>2]=-1,_[r+12>>2]=-1,p[r+16>>2]=34028234663852886e22,n[r+20|0]=1,n[r+21|0]=0,_[r+24>>2]=-1,_[r+28>>2]=t,_[r+32>>2]=e,p[r+36>>2]=0,p[r+40>>2]=.30000001192092896,_[r+44>>2]=0,_[r>>2]=5392,_[r+300>>2]=_[i>>2],_[r+300+4>>2]=_[i+4>>2],_[r+300+8>>2]=_[i+8>>2],_[r+300+12>>2]=_[i+12>>2],_[r+316>>2]=_[o>>2],_[r+316+4>>2]=_[o+4>>2],_[r+316+8>>2]=_[o+8>>2],_[r+316+12>>2]=_[o+12>>2],_[r+332>>2]=0,n[r+344|0]=0,p[r+348>>2]=.30000001192092896,p[r+352>>2]=1,p[r+356>>2]=0,0|r},_emscripten_bind_btPoint2PointConstraint_enableFeedback_1:Ws,_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btPoint2PointConstraint_getParam_2:kr,_emscripten_bind_btPoint2PointConstraint_getPivotInA_0:function(t){return 0|function(t){return(t|=0)+300|0}(t|=0)},_emscripten_bind_btPoint2PointConstraint_getPivotInB_0:function(t){return 0|function(t){return(t|=0)+316|0}(t|=0)},_emscripten_bind_btPoint2PointConstraint_get_m_setting_0:function(t){return 348+(t|=0)|0},_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btPoint2PointConstraint_setParam_3:br,_emscripten_bind_btPoint2PointConstraint_setPivotA_1:function(t,e){!function(t,e){e|=0,_[300+(t|=0)>>2]=_[e>>2],_[t+300+4>>2]=_[e+4>>2],_[t+300+8>>2]=_[e+8>>2],_[t+300+12>>2]=_[e+12>>2]}(t|=0,e|=0)},_emscripten_bind_btPoint2PointConstraint_setPivotB_1:function(t,e){!function(t,e){e|=0,_[316+(t|=0)>>2]=_[e>>2],_[t+316+4>>2]=_[e+4>>2],_[t+316+8>>2]=_[e+8>>2],_[t+316+12>>2]=_[e+12>>2]}(t|=0,e|=0)},_emscripten_bind_btPoint2PointConstraint_set_m_setting_1:function(t,e){e|=0,_[348+(t|=0)>>2]=_[e>>2],_[t+348+4>>2]=_[e+4>>2],_[t+348+8>>2]=_[e+8>>2]},_emscripten_bind_btQuadWord___destroy___0:qp,_emscripten_bind_btQuadWord_setW_1:$p,_emscripten_bind_btQuadWord_setX_1:cc,_emscripten_bind_btQuadWord_setY_1:pc,_emscripten_bind_btQuadWord_setZ_1:sc,_emscripten_bind_btQuadWord_w_0:Hp,_emscripten_bind_btQuadWord_x_0:yc,_emscripten_bind_btQuadWord_y_0:Ep,_emscripten_bind_btQuadWord_z_0:Qp,_emscripten_bind_btQuaternion___destroy___0:qp,_emscripten_bind_btQuaternion_angleShortestPath_1:function(t,e){return+ +Hn(t|=0,e|=0)},_emscripten_bind_btQuaternion_angle_1:function(t,e){return+ +function(t,e){e|=0;var i=0;return i=+ll((i=+Vc(t|=0))*+Vc(e)),+ +op(+ho(t,e)/i)}(t|=0,e|=0)},_emscripten_bind_btQuaternion_btQuaternion_4:function(t,e,i,n){var o,_;return t=+t,e=+e,i=+i,n=+n,_=Q,Q=Q+16|0,p[_+12>>2]=t,p[_+8>>2]=e,p[_+4>>2]=i,p[_>>2]=n,Wr(o=0|a_(16),_+12|0,_+8|0,_+4|0,_),Q=_,0|o},_emscripten_bind_btQuaternion_dot_1:function(t,e){return+ +ho(t|=0,e|=0)},_emscripten_bind_btQuaternion_getAngleShortestPath_0:function(t){return+ +function(t){var e,i=0;return e=+ho(t|=0,t)<0,i=+p[t+12>>2],e?(i=+op(i),+(i*=2)):(i=+op(-i),+(i*=2))}(t|=0)},_emscripten_bind_btQuaternion_getAngle_0:function(t){return+ +function(t){return 2*+op(t=+t)}(+p[12+(t|=0)>>2])},_emscripten_bind_btQuaternion_getAxis_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24344]||Qs(24344),function(t,e){t|=0;var i,n=0;i=Q,Q=Q+32|0,1-(n=+p[12+(e|=0)>>2])*n<11920928955078125e-22?(p[i+20>>2]=1,p[i+16>>2]=0,p[i+12>>2]=0,R_(t,i+20|0,i+16|0,i+12|0),Q=i):(n=1/+ll(1-n*n),p[i+8>>2]=+p[e>>2]*n,p[i+4>>2]=+p[e+4>>2]*n,p[i>>2]=+p[e+8>>2]*n,R_(t,i+8|0,i+4|0,i),Q=i)}(e,t),_[6142]=_[e>>2],_[6143]=_[e+4>>2],_[6144]=_[e+8>>2],_[6145]=_[e+12>>2],Q=e,24568},_emscripten_bind_btQuaternion_inverse_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24336]||Qs(24336),function(t,e){t|=0,e|=0;var i=0;i=Q,Q=Q+16|0,p[i+8>>2]=-+p[e>>2],p[i+4>>2]=-+p[e+4>>2],p[i>>2]=-+p[e+8>>2],Wr(t,i+8|0,i+4|0,i,e+12|0),Q=i}(e,t),_[6138]=_[e>>2],_[6139]=_[e+4>>2],_[6140]=_[e+8>>2],_[6141]=_[e+12>>2],Q=e,24552},_emscripten_bind_btQuaternion_length2_0:function(t){return+ +Vc(t|=0)},_emscripten_bind_btQuaternion_length_0:function(t){return+ +ac(t|=0)},_emscripten_bind_btQuaternion_normalize_0:function(t){!function(t){$_(t|=0,+ac(t))}(t|=0)},_emscripten_bind_btQuaternion_normalized_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24352]||Qs(24352),function(t,e){(function(t,e,i){(function(t,e,i){t|=0,i=+i;var n,o=0;n=Q,Q=Q+16|0,o=0|Cl(e|=0),p[n+12>>2]=+p[o>>2]*i,o=0|sl(e),p[n+8>>2]=+p[o>>2]*i,o=0|rl(e),p[n+4>>2]=+p[o>>2]*i,p[n>>2]=+p[e+12>>2]*i,Wr(t,n+12|0,n+8|0,n+4|0,n),Q=n})(t|=0,e|=0,1/(i=+i))})(t|=0,e|=0,+ac(e))}(e,t),_[6146]=_[e>>2],_[6147]=_[e+4>>2],_[6148]=_[e+8>>2],_[6149]=_[e+12>>2],Q=e,24584},_emscripten_bind_btQuaternion_op_add_1:function(t,e){return 0|function(t,e){t|=0;var i=0;return i=0|Cl(e|=0),p[t>>2]=+p[t>>2]+ +p[i>>2],i=0|sl(e),p[t+4>>2]=+p[t+4>>2]+ +p[i>>2],i=0|rl(e),p[t+8>>2]=+p[t+8>>2]+ +p[i>>2],p[t+12>>2]=+p[t+12>>2]+ +p[e+12>>2],0|t}(t|=0,e|=0)},_emscripten_bind_btQuaternion_op_div_1:function(t,e){return 0|$_(t|=0,e=+e)},_emscripten_bind_btQuaternion_op_mul_1:function(t,e){var i;return t|=0,e=+e,i=Q,Q=Q+16|0,p[i>>2]=e,t=0|Go(t,i),Q=i,0|t},_emscripten_bind_btQuaternion_op_mulq_1:function(t,e){return 0|function(t,e){e|=0;var i,n,o,_,r,s,c,a,l,d=0;return i=Q,Q=Q+16|0,l=+p[12+(t|=0)>>2],d=0|Cl(e),s=+p[d>>2],c=+p[t>>2],a=+p[e+12>>2],r=+p[t+4>>2],d=0|rl(e),n=+p[d>>2],o=+p[t+8>>2],e=0|sl(e),_=+p[e>>2],p[i+12>>2]=l*s+c*a+r*n-o*_,p[i+8>>2]=l*_+r*a+o*s-c*n,p[i+4>>2]=l*n+o*a+c*_-r*s,p[i>>2]=l*a-c*s-r*_-o*n,n_(t,i+12|0,i+8|0,i+4|0,i),Q=i,0|t}(t|=0,e|=0)},_emscripten_bind_btQuaternion_op_sub_1:function(t,e){return 0|function(t,e){t|=0;var i=0;return i=0|Cl(e|=0),p[t>>2]=+p[t>>2]-+p[i>>2],i=0|sl(e),p[t+4>>2]=+p[t+4>>2]-+p[i>>2],i=0|rl(e),p[t+8>>2]=+p[t+8>>2]-+p[i>>2],p[t+12>>2]=+p[t+12>>2]-+p[e+12>>2],0|t}(t|=0,e|=0)},_emscripten_bind_btQuaternion_setEulerZYX_3:function(t,e,i,n){!function(t,e,i,n){var o,_,r,s;t|=0,i=+i,n=+n,o=Q,Q=Q+16|0,_=+bl(.5*(e=+e)),e=+dl(.5*e),r=+bl(.5*i),i=+dl(.5*i),s=+bl(.5*n),n=+dl(.5*n),p[o+12>>2]=n*r*_-s*i*e,p[o+8>>2]=s*i*_+n*r*e,p[o+4>>2]=s*r*e-n*i*_,p[o>>2]=s*r*_+n*i*e,n_(t,o+12|0,o+8|0,o+4|0,o),Q=o}(t|=0,e=+e,i=+i,n=+n)},_emscripten_bind_btQuaternion_setRotation_2:function(t,e,i){!function(t,e,i){t|=0,i=+i;var n,o=0,_=0;n=Q,Q=Q+16|0,o=+ep(+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2]),o=+dl(.5*i)/o,_=0|Cl(e),p[n+12>>2]=+p[_>>2]*o,_=0|sl(e),p[n+8>>2]=+p[_>>2]*o,e=0|rl(e),p[n+4>>2]=+p[e>>2]*o,i=+bl(.5*i),p[n>>2]=i,n_(t,n+12|0,n+8|0,n+4|0,n),Q=n}(t|=0,e|=0,i=+i)},_emscripten_bind_btQuaternion_setValue_4:Ro,_emscripten_bind_btQuaternion_setW_1:$p,_emscripten_bind_btQuaternion_setX_1:cc,_emscripten_bind_btQuaternion_setY_1:pc,_emscripten_bind_btQuaternion_setZ_1:sc,_emscripten_bind_btQuaternion_w_0:Hp,_emscripten_bind_btQuaternion_x_0:yc,_emscripten_bind_btQuaternion_y_0:Ep,_emscripten_bind_btQuaternion_z_0:Qp,_emscripten_bind_btRaycastVehicle___destroy___0:Kr,_emscripten_bind_btRaycastVehicle_addWheel_7:function(t,e,i,o,r,s,c,a){t|=0,e|=0,i|=0,o|=0,r=+r,s=+s,c|=0,a|=0;var l,d,b,A,f,u,m,h=0,y=0,g=0,C=0;if(m=Q,Q=Q+288|0,_[m+208>>2]=_[e>>2],_[m+208+4>>2]=_[e+4>>2],_[m+208+8>>2]=_[e+8>>2],_[m+208+12>>2]=_[e+12>>2],_[(g=m+208+16|0)>>2]=_[i>>2],_[g+4>>2]=_[i+4>>2],_[g+8>>2]=_[i+8>>2],_[g+12>>2]=_[i+12>>2],_[(i=m+208+32|0)>>2]=_[o>>2],_[i+4>>2]=_[o+4>>2],_[i+8>>2]=_[o+8>>2],_[i+12>>2]=_[o+12>>2],u=0|_[c>>2],d=0|_[c+4>>2],b=0|_[c+8>>2],A=0|_[c+16>>2],f=0|_[c+12>>2],l=0|_[c+20>>2],_[m+156>>2]=_[m+208>>2],_[m+156+4>>2]=_[m+208+4>>2],_[m+156+8>>2]=_[m+208+8>>2],_[m+156+12>>2]=_[m+208+12>>2],_[m+172>>2]=_[g>>2],_[m+172+4>>2]=_[g+4>>2],_[m+172+8>>2]=_[g+8>>2],_[m+172+12>>2]=_[g+12>>2],_[m+188>>2]=_[i>>2],_[m+188+4>>2]=_[i+4>>2],_[m+188+8>>2]=_[i+8>>2],_[m+188+12>>2]=_[i+12>>2],(0|(i=0|_[t+136>>2]))==(0|_[t+140>>2])&&(0|i)<(0|(C=0|i?i<<1:1))){if(C?(_[6630]=1+(0|_[6630]),(e=0|di(16+(284*C|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,i=0|_[t+136>>2]):e=0,(0|i)>0){o=0;do{y=(c=0|_[t+144>>2])+(284*o|0)|0,g=92+(h=e+(284*o|0)|0)|0;do{_[h>>2]=_[y>>2],h=h+4|0,y=y+4|0}while((0|h)<(0|g));y=c+(284*o|0)+92|0,_[(h=e+(284*o|0)+92|0)>>2]=_[y>>2],_[h+4>>2]=_[y+4>>2],_[h+8>>2]=_[y+8>>2],_[h+12>>2]=_[y+12>>2],h=c+(284*o|0)+108|0,_[(y=e+(284*o|0)+108|0)>>2]=_[h>>2],_[y+4>>2]=_[h+4>>2],_[y+8>>2]=_[h+8>>2],_[y+12>>2]=_[h+12>>2],y=c+(284*o|0)+124|0,_[(h=e+(284*o|0)+124|0)>>2]=_[y>>2],_[h+4>>2]=_[y+4>>2],_[h+8>>2]=_[y+8>>2],_[h+12>>2]=_[y+12>>2],y=c+(284*o|0)+140|0,_[(h=e+(284*o|0)+140|0)>>2]=_[y>>2],_[h+4>>2]=_[y+4>>2],_[h+8>>2]=_[y+8>>2],_[h+12>>2]=_[y+12>>2],y=c+(284*o|0)+156|0,g=128+(h=e+(284*o|0)+156|0)|0;do{_[h>>2]=_[y>>2],h=h+4|0,y=y+4|0}while((0|h)<(0|g));o=o+1|0}while((0|o)!=(0|i))}0|(i=0|_[t+144>>2])&&(0|n[t+148|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+144>>2]=0),n[t+148|0]=1,_[t+144>>2]=e,_[t+140>>2]=C,i=0|_[t+136>>2]}y=m,g=92+(h=(e=0|_[t+144>>2])+(284*i|0)|0)|0;do{_[h>>2]=_[y>>2],h=h+4|0,y=y+4|0}while((0|h)<(0|g));_[(h=e+(284*i|0)+92|0)>>2]=_[m+92>>2],_[h+4>>2]=_[m+92+4>>2],_[h+8>>2]=_[m+92+8>>2],_[h+12>>2]=_[m+92+12>>2],_[(h=e+(284*i|0)+108|0)>>2]=_[m+108>>2],_[h+4>>2]=_[m+108+4>>2],_[h+8>>2]=_[m+108+8>>2],_[h+12>>2]=_[m+108+12>>2],_[(h=e+(284*i|0)+124|0)>>2]=_[m+124>>2],_[h+4>>2]=_[m+124+4>>2],_[h+8>>2]=_[m+124+8>>2],_[h+12>>2]=_[m+124+12>>2],_[(h=e+(284*i|0)+140|0)>>2]=_[m+140>>2],_[h+4>>2]=_[m+140+4>>2],_[h+8>>2]=_[m+140+8>>2],_[h+12>>2]=_[m+140+12>>2],y=m+156|0,g=48+(h=e=e+(284*i|0)+156|0)|0;do{_[h>>2]=_[y>>2],h=h+4|0,y=y+4|0}while((0|h)<(0|g));p[e+48>>2]=r,_[e+52>>2]=f,p[e+56>>2]=s,_[e+60>>2]=u,_[e+64>>2]=d,_[e+68>>2]=b,_[e+72>>2]=A,p[e+76>>2]=0,p[e+80>>2]=0,p[e+84>>2]=0,p[e+88>>2]=.10000000149011612,_[e+92>>2]=l,p[e+96>>2]=0,p[e+100>>2]=0,n[e+104|0]=1&a,y=m+256|0,g=23+(h=e+105|0)|0;do{n[0|h]=0|n[0|y],h=h+1|0,y=y+1|0}while((0|h)<(0|g));return a=0|_[t+136>>2],_[t+136>>2]=a+1,a=(0|_[t+144>>2])+(284*a|0)|0,jt(0|_[t+116>>2],a,0),Ue(0|_[t+116>>2],0|_[t+144>>2],(0|_[t+136>>2])-1|0,0),Q=m,0|a},_emscripten_bind_btRaycastVehicle_applyEngineForce_2:function(t,e,i){e=+e,i|=0,p[(0|_[144+(t|=0)>>2])+(284*i|0)+252>>2]=e},_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3:function(t,e,i){return t|=0,e|=0,i|=0,t=0|a_(152),_[t>>2]=5716,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[t+72>>2]=0,_[t+100>>2]=i,p[t+104>>2]=0,n[t+148|0]=1,_[t+144>>2]=0,_[t+136>>2]=0,_[t+140>>2]=0,_[t+116>>2]=e,_[t+120>>2]=0,_[t+124>>2]=2,_[t+128>>2]=1,p[t+112>>2]=0,p[t+108>>2]=0,0|t},_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0:function(t){return 4+(0|_[116+(t|=0)>>2])|0},_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0:function(t){return+ +qa(+p[112+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getForwardAxis_0:function(t){return 0|Cl(0|_[128+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getForwardVector_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24392]||Qs(24392),function(t,e,i){t|=0,i|=0;var n=0,o=0;e=0|Cl((e|=0)+4|0),o=(0|Cl(0|wa(e,0)))+(i<<2)|0,n=(0|Cl(0|wa(e,1)))+(i<<2)|0,R_(t,o,n,(0|Cl(0|wa(e,2)))+(i<<2)|0)}(e,0|_[t+116>>2],0|_[t+128>>2]),_[6198]=_[e>>2],_[6199]=_[e+4>>2],_[6200]=_[e+8>>2],_[6201]=_[e+12>>2],Q=e,24792},_emscripten_bind_btRaycastVehicle_getNumWheels_0:function(t){return 0|function(t){return 0|Cl(0|_[(t|=0)+136>>2])}(t|=0)},_emscripten_bind_btRaycastVehicle_getRightAxis_0:function(t){return 0|Cl(0|_[120+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getRigidBody_0:function(t){return 0|Cl(0|_[116+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getSteeringValue_1:function(t,e){return e|=0,+ +p[(0|_[144+(t|=0)>>2])+(284*e|0)+232>>2]},_emscripten_bind_btRaycastVehicle_getUpAxis_0:function(t){return 0|Cl(0|_[124+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getUserConstraintId_0:function(t){return 0|Cl(0|_[88+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getUserConstraintType_0:function(t){return 0|Cl(0|_[84+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getWheelInfo_1:function(t,e){return e|=0,(0|_[144+(t|=0)>>2])+(284*e|0)|0},_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1:function(t,e){return e|=0,(0|_[144+(t|=0)>>2])+(284*e|0)+92|0},_emscripten_bind_btRaycastVehicle_rayCast_1:function(t,e){return+ +J(t|=0,e|=0)},_emscripten_bind_btRaycastVehicle_resetSuspension_0:function(t){var e=0,i=0,n=0,o=0;if(!((0|_[136+(t|=0)>>2])<=0)){e=0;do{i=0|_[t+144>>2],_[i+(284*e|0)+32>>2]=_[i+(284*e|0)+204>>2],p[i+(284*e|0)+272>>2]=0,o=-+p[i+(284*e|0)+56>>2],n=-+p[i+(284*e|0)+60>>2],p[i+(284*e|0)>>2]=-+p[i+(284*e|0)+52>>2],p[i+(284*e|0)+4>>2]=o,p[i+(284*e|0)+8>>2]=n,p[i+(284*e|0)+12>>2]=0,p[i+(284*e|0)+268>>2]=1,e=e+1|0}while((0|e)<(0|_[t+136>>2]))}},_emscripten_bind_btRaycastVehicle_setBrake_2:function(t,e,i){e=+e,i|=0,p[(0|_[144+(t|=0)>>2])+(284*i|0)+256>>2]=e},_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3:function(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[24+(0|_[(t|=0)>>2])>>2]](t,e,i,n)},_emscripten_bind_btRaycastVehicle_setPitchControl_1:function(t,e){Up(t|=0,e=+e)},_emscripten_bind_btRaycastVehicle_setSteeringValue_2:function(t,e,i){e=+e,i|=0,p[(0|_[144+(t|=0)>>2])+(284*i|0)+232>>2]=e},_emscripten_bind_btRaycastVehicle_setUserConstraintId_1:function(t,e){Np(t|=0,e|=0)},_emscripten_bind_btRaycastVehicle_setUserConstraintType_1:function(t,e){Gp(t|=0,e|=0)},_emscripten_bind_btRaycastVehicle_updateAction_2:Br,_emscripten_bind_btRaycastVehicle_updateFriction_1:function(t,e){e=+e,zl[31&_[20+(0|_[(t|=0)>>2])>>2]](t,e)},_emscripten_bind_btRaycastVehicle_updateSuspension_1:function(t,e){e=+e;var i=0,o=0,r=0;if(e=1/+p[344+(0|_[116+(t|=0)>>2])>>2],!((0|_[t+136>>2])<=0)){i=0;do{o=0|_[t+144>>2],0|n[o+(284*i|0)+84|0]?(r=+p[o+(284*i|0)+272>>2],r=(r=e*(+p[o+(284*i|0)+216>>2]*(+p[o+(284*i|0)+204>>2]-+p[o+(284*i|0)+32>>2])*+p[o+(284*i|0)+268>>2]-r*+p[(r<0?o+(284*i|0)+220:o+(284*i|0)+224)>>2]))<0?0:r):r=0,p[o+(284*i|0)+276>>2]=r,i=i+1|0}while((0|i)<(0|_[t+136>>2]))}},_emscripten_bind_btRaycastVehicle_updateVehicle_1:function(t,e){e=+e,zl[31&_[16+(0|_[(t|=0)>>2])>>2]](t,e)},_emscripten_bind_btRaycastVehicle_updateWheelTransform_2:function(t,e,i){e|=0,i|=0,Ue(0|_[116+(t|=0)>>2],0|_[t+144>>2],e,i)},_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1:function(t,e){e|=0,jt(0|_[116+(t|=0)>>2],e,1)},_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2:function(t,e,i){e|=0,i|=0,jt(0|_[116+(t|=0)>>2],e,i)},_emscripten_bind_btRigidBodyConstructionInfo___destroy___0:qp,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3:function(t,e,i){var n,o;return t=+t,e|=0,i|=0,o=Q,Q=Q+32|0,n=0|a_(140),p[o+8>>2]=0,p[o+4>>2]=0,p[o>>2]=0,R_(o+16|0,o+8|0,o+4|0,o),jn(n,t,e,i,o+16|0),Q=o,0|n},_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4:function(t,e,i,n){var o;return t=+t,e|=0,i|=0,n|=0,jn(o=0|a_(140),t,e,i,n),0|o},_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0:function(t){return+ +p[136+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0:function(t){return+ +p[132+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0:function(t){return+ +p[124+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0:function(t){return 0|!!(1&n[120+(t|=0)|0])},_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0:function(t){return+ +p[128+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0:function(t){return+ +p[96+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0:function(t){return+ +p[116+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0:function(t){return+ +p[100+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0:pa,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0:function(t){return+ +p[112+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0:function(t){return+ +p[108+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0:function(t){return+ +p[104+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1:function(t,e){e=+e,p[136+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1:function(t,e){e=+e,p[132+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1:function(t,e){e=+e,p[124+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1:function(t,e){e|=0,n[120+(t|=0)|0]=1&e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1:function(t,e){e=+e,p[128+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1:function(t,e){e=+e,p[96+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1:function(t,e){e=+e,p[116+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1:function(t,e){e=+e,p[100+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1:fc,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1:function(t,e){e=+e,p[112+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1:function(t,e){e=+e,p[108+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1:Up,_emscripten_bind_btRigidBody___destroy___0:Xr,_emscripten_bind_btRigidBody_activate_0:J_,_emscripten_bind_btRigidBody_activate_1:k_,_emscripten_bind_btRigidBody_applyCentralForce_1:function(t,e){xo(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2])},_emscripten_bind_btRigidBody_applyCentralImpulse_1:function(t,e){ao(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2])},_emscripten_bind_btRigidBody_applyCentralLocalForce_1:function(t,e){!function(t,e,i,n){var o;e=+e,i=+i,n=+n,o=Q,Q=Q+32|0,Fn(o,0|Cl(4+(t|=0)|0),e,i,n),Wo(o+16|0,+p[o>>2],+p[o+4>>2],+p[o+8>>2],+p[t+348>>2],+p[t+352>>2],+p[t+356>>2]),c_(t+412|0,o+16|0),Q=o}(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2])},_emscripten_bind_btRigidBody_applyForce_2:function(t,e,i){!function(t,e,i){var n;i|=0,n=Q,Q=Q+32|0,xo(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2]),Wo(n,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[t+348>>2],+p[t+352>>2],+p[t+356>>2]),go(n+16|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2],+p[n>>2],+p[n+4>>2],+p[n+8>>2]),Oo(t,+p[n+16>>2],+p[n+16+4>>2],+p[n+16+8>>2]),Q=n}(t|=0,e|=0,i|=0)},_emscripten_bind_btRigidBody_applyGravity_0:function(t){var e,i;3&_[204+(t|=0)>>2]||(i=+p[t+368>>2]*+p[t+352>>2],e=+p[t+372>>2]*+p[t+356>>2],p[t+412>>2]=+p[t+364>>2]*+p[t+348>>2]+ +p[t+412>>2],p[t+416>>2]=i+ +p[t+416>>2],p[t+420>>2]=e+ +p[t+420>>2])},_emscripten_bind_btRigidBody_applyImpulse_2:function(t,e,i){Dn(t|=0,e|=0,i|=0)},_emscripten_bind_btRigidBody_applyLocalTorque_1:function(t,e){!function(t,e,i,n){var o;e=+e,i=+i,n=+n,o=Q,Q=Q+32|0,Fn(o,0|Cl(4+(t|=0)|0),e,i,n),Wo(o+16|0,+p[o>>2],+p[o+4>>2],+p[o+8>>2],+p[t+544>>2],+p[t+548>>2],+p[t+552>>2]),c_(t+428|0,o+16|0),Q=o}(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2])},_emscripten_bind_btRigidBody_applyTorqueImpulse_1:function(t,e){lo(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2])},_emscripten_bind_btRigidBody_applyTorque_1:function(t,e){Oo(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2])},_emscripten_bind_btRigidBody_btRigidBody_1:function(t){var e;return t|=0,e=0|S_(616),_[e+164>>2]=1065353216,_[e+168>>2]=1065353216,_[e+172>>2]=1065353216,p[e+176>>2]=0,_[e+180>>2]=0,p[e+184>>2]=0xde0b6b000000000,_[e+188>>2]=0,_[e+188+4>>2]=0,_[e+188+8>>2]=0,_[e+188+12>>2]=0,_[e+204>>2]=1,_[e+208>>2]=-1,_[e+212>>2]=-1,_[e+216>>2]=1,p[e+220>>2]=0,p[e+224>>2]=.5,p[e+228>>2]=0,p[e+232>>2]=0,_[e+236>>2]=1,_[e+240>>2]=0,p[e+244>>2]=1,_[e+248>>2]=0,_[e+248+4>>2]=0,_[e+248+8>>2]=0,_[e+248+12>>2]=0,_[e+4>>2]=1065353216,_[e+8>>2]=0,_[e+8+4>>2]=0,_[e+8+8>>2]=0,_[e+8+12>>2]=0,_[e+24>>2]=1065353216,_[e+28>>2]=0,_[e+28+4>>2]=0,_[e+28+8>>2]=0,_[e+28+12>>2]=0,_[e+44>>2]=1065353216,_[e+48>>2]=0,_[e+48+4>>2]=0,_[e+48+8>>2]=0,_[e+48+12>>2]=0,_[e+48+16>>2]=0,_[e>>2]=4956,n[e+500|0]=1,_[e+496>>2]=0,_[e+488>>2]=0,_[e+492>>2]=0,Ce(e,t),0|e},_emscripten_bind_btRigidBody_forceActivationState_1:dp,_emscripten_bind_btRigidBody_getAabb_2:function(t,e,i){var n;e|=0,i|=0,n=0|_[192+(t|=0)>>2],pd[127&_[8+(0|_[n>>2])>>2]](n,t+4|0,e,i)},_emscripten_bind_btRigidBody_getAngularVelocity_0:function(t){return 0|function(t){return(t|=0)+328|0}(t|=0)},_emscripten_bind_btRigidBody_getBroadphaseProxy_0:function(t){return 0|Cl(0|_[188+(t|=0)>>2])},_emscripten_bind_btRigidBody_getCenterOfMassTransform_0:Bc,_emscripten_bind_btRigidBody_getCollisionFlags_0:Bp,_emscripten_bind_btRigidBody_getCollisionShape_0:Ip,_emscripten_bind_btRigidBody_getGravity_0:function(t){return 0|function(t){return(t|=0)+380|0}(t|=0)},_emscripten_bind_btRigidBody_getLinearVelocity_0:function(t){return 0|function(t){return(t|=0)+312|0}(t|=0)},_emscripten_bind_btRigidBody_getMotionState_0:function(t){return 0|Cl(0|_[480+(t|=0)>>2])},_emscripten_bind_btRigidBody_getUserIndex_0:wp,_emscripten_bind_btRigidBody_getUserPointer_0:Zp,_emscripten_bind_btRigidBody_getWorldTransform_0:Bc,_emscripten_bind_btRigidBody_isActive_0:np,_emscripten_bind_btRigidBody_isKinematicObject_0:ks,_emscripten_bind_btRigidBody_isStaticObject_0:Vs,_emscripten_bind_btRigidBody_isStaticOrKinematicObject_0:rs,_emscripten_bind_btRigidBody_setActivationState_1:Vr,_emscripten_bind_btRigidBody_setAngularFactor_1:function(t,e){!function(t,e){e|=0,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),_[t+544>>2]=_[e>>2],_[t+544+4>>2]=_[e+4>>2],_[t+544+8>>2]=_[e+8>>2],_[t+544+12>>2]=_[e+12>>2]}(t|=0,e|=0)},_emscripten_bind_btRigidBody_setAngularVelocity_1:function(t,e){!function(t,e){e|=0,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),_[t+328>>2]=_[e>>2],_[t+328+4>>2]=_[e+4>>2],_[t+328+8>>2]=_[e+8>>2],_[t+328+12>>2]=_[e+12>>2]}(t|=0,e|=0)},_emscripten_bind_btRigidBody_setAnisotropicFriction_2:Cr,_emscripten_bind_btRigidBody_setCcdMotionThreshold_1:Ss,_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1:ms,_emscripten_bind_btRigidBody_setCenterOfMassTransform_1:function(t,e){ti(t|=0,e|=0)},_emscripten_bind_btRigidBody_setCollisionFlags_1:Os,_emscripten_bind_btRigidBody_setCollisionShape_1:is,_emscripten_bind_btRigidBody_setContactProcessingThreshold_1:Rs,_emscripten_bind_btRigidBody_setDamping_2:function(t,e,i){var n;t|=0,e=+e,i=+i,n=Q,Q=Q+16|0,p[n+12>>2]=e,p[n+8>>2]=i,p[n+4>>2]=0,p[n>>2]=1,_[t+444>>2]=_[(e<0?n+4:e>1?n:n+12)>>2],p[n+4>>2]=0,p[n>>2]=1,_[t+448>>2]=_[(i<0?n+4:i>1?n:n+8)>>2],Q=n},_emscripten_bind_btRigidBody_setFriction_1:ip,_emscripten_bind_btRigidBody_setGravity_1:function(t,e){e|=0;var i,n=0,o=0;0!=(i=+p[344+(t|=0)>>2])&&(o=1/i*+p[e+4>>2],n=1/i*+p[e+8>>2],p[t+364>>2]=1/i*+p[e>>2],p[t+368>>2]=o,p[t+372>>2]=n,p[t+376>>2]=0),_[t+380>>2]=_[e>>2],_[t+380+4>>2]=_[e+4>>2],_[t+380+8>>2]=_[e+8>>2],_[t+380+12>>2]=_[e+12>>2]},_emscripten_bind_btRigidBody_setLinearFactor_1:function(t,e){!function(t,e){var i;e|=0,i=Q,Q=Q+16|0,_[348+(t|=0)>>2]=_[e>>2],_[t+348+4>>2]=_[e+4>>2],_[t+348+8>>2]=_[e+8>>2],_[t+348+12>>2]=_[e+12>>2],Vo(i,+p[t+348>>2],+p[t+352>>2],+p[t+356>>2],+p[t+344>>2]),_[t+560>>2]=_[i>>2],_[t+560+4>>2]=_[i+4>>2],_[t+560+8>>2]=_[i+8>>2],_[t+560+12>>2]=_[i+12>>2],Q=i}(t|=0,e|=0)},_emscripten_bind_btRigidBody_setLinearVelocity_1:function(t,e){!function(t,e){e|=0,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),_[t+312>>2]=_[e>>2],_[t+312+4>>2]=_[e+4>>2],_[t+312+8>>2]=_[e+8>>2],_[t+312+12>>2]=_[e+12>>2]}(t|=0,e|=0)},_emscripten_bind_btRigidBody_setMassProps_2:function(t,e,i){e=+e,i|=0;var n,o=0,r=0,s=0,c=0;o=0|_[204+(t|=0)>>2],0==e?(_[t+204>>2]=1|o,r=0):(_[t+204>>2]=-2&o,r=1/e),p[t+344>>2]=r,c=+p[t+384>>2]*e,s=+p[t+388>>2]*e,p[t+364>>2]=+p[t+380>>2]*e,p[t+368>>2]=c,p[t+372>>2]=s,p[t+376>>2]=0,n=0!=(e=+p[i>>2])?(p[a>>2]=1/e,0|_[a>>2]):0,o=0!=(e=+p[i+4>>2])?(p[a>>2]=1/e,0|_[a>>2]):0,i=0!=(e=+p[i+8>>2])?(p[a>>2]=1/e,0|_[a>>2]):0,_[t+396>>2]=n,_[t+400>>2]=o,_[t+404>>2]=i,p[t+408>>2]=0,s=r*+p[t+352>>2],c=r*+p[t+356>>2],p[t+560>>2]=+p[t+348>>2]*r,p[t+564>>2]=s,p[t+568>>2]=c,p[t+572>>2]=0},_emscripten_bind_btRigidBody_setMotionState_1:function(t,e){!function(t,e){e|=0,_[480+(t|=0)>>2]=e,e&&ed[127&_[8+(0|_[e>>2])>>2]](e,t+4|0)}(t|=0,e|=0)},_emscripten_bind_btRigidBody_setRestitution_1:Zs,_emscripten_bind_btRigidBody_setRollingFriction_1:Ps,_emscripten_bind_btRigidBody_setSleepingThresholds_2:function(t,e,i){!function(t,e,i){e=+e,i=+i,p[(t|=0)+472>>2]=e,p[t+476>>2]=i}(t|=0,e=+e,i=+i)},_emscripten_bind_btRigidBody_setUserIndex_1:Ks,_emscripten_bind_btRigidBody_setUserPointer_1:Ks,_emscripten_bind_btRigidBody_setWorldTransform_1:ls,_emscripten_bind_btRigidBody_upcast_1:function(t,e){return 0|function(t){return 0|(2&Cl(0|_[236+(t|=0)>>2])?t:0)}(e|=0)},_emscripten_bind_btRigidBody_updateInertiaTensor_0:function(t){var e,i,n,o,_,r,s,c,a,l,d,b;b=+p[4+(t|=0)>>2],r=+p[t+396>>2],d=+p[t+8>>2],o=+p[t+400>>2],l=+p[t+12>>2],i=+p[t+404>>2],a=+p[t+20>>2],c=+p[t+24>>2],s=+p[t+28>>2],_=+p[t+36>>2],n=+p[t+40>>2],e=+p[t+44>>2],p[t+264>>2]=b*r*b+d*o*d+l*i*l,p[t+268>>2]=b*r*a+d*o*c+l*i*s,p[t+272>>2]=b*r*_+d*o*n+l*i*e,p[t+276>>2]=0,p[t+280>>2]=r*a*b+o*c*d+i*s*l,p[t+284>>2]=r*a*a+o*c*c+i*s*s,p[t+288>>2]=r*a*_+o*c*n+i*s*e,p[t+292>>2]=0,p[t+296>>2]=r*_*b+o*n*d+i*e*l,p[t+300>>2]=r*_*a+o*n*c+i*e*s,p[t+304>>2]=r*_*_+o*n*n+i*e*e,p[t+308>>2]=0},_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0:Kr,_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0:function(){var t;return t=0|function(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(215))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(),_[t>>2]=5656,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[t+72>>2]=0,n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,n[t+140|0]=1,_[t+136>>2]=0,_[t+128>>2]=0,_[t+132>>2]=0,n[t+160|0]=1,_[t+156>>2]=0,_[t+148>>2]=0,_[t+152>>2]=0,n[t+180|0]=1,_[t+176>>2]=0,_[t+168>>2]=0,_[t+172>>2]=0,_[t+192>>2]=0,0|t},_emscripten_bind_btShapeHull___destroy___0:function(t){var e=0,i=0;if(t|=0){0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,e=0|_[t+12>>2];do{if(e){if(!(0|n[t+16|0])){n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,e=t+8|0,i=14;break}if(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+32>>2],n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,e){if(!(0|n[t+36|0])){n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,e=t+8|0;break}_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+12>>2],n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,e?(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+12>>2]=0,e=t+8|0):e=t+8|0}else e=t+8|0,i=14}else n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,e=t+8|0,i=14}while(0);14==(0|i)&&(n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0),n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[e>>2]=0,gs(t)}},_emscripten_bind_btShapeHull_btShapeHull_1:function(t){var e;return t|=0,e=0|function(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(67))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(),_[e+44>>2]=t,n[e+16|0]=1,_[e+12>>2]=0,_[e+4>>2]=0,_[e+8>>2]=0,n[e+36|0]=1,_[e+32>>2]=0,_[e+24>>2]=0,_[e+28>>2]=0,_[e+40>>2]=0,0|e},_emscripten_bind_btShapeHull_buildHull_1:function(t,e){e=+e;var i,o,r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;if(r=Q,Q=Q+1136|0,a=0|_[44+(t|=0)>>2],(0|(a=0|Gl[127&_[84+(0|_[a>>2])>>2]](a)))>0){for(s=0,c=42;f=0|_[t+44>>2],_d[127&_[88+(0|_[f>>2])>>2]](f,s,r),oi(),_[(f=22256+(c<<4)|0)>>2]=_[r>>2],_[f+4>>2]=_[r+4>>2],_[f+8>>2]=_[r+8>>2],_[f+12>>2]=_[r+12>>2],(0|(s=s+1|0))!=(0|a);)c=c+1|0;c=a+42|0}else c=42;s=0;do{f=0|_[t+44>>2],A=0|_[64+(0|_[f>>2])>>2],oi(),_d[127&A](r+1104|0,f,22256+(s<<4)|0),_[(f=r+(s<<4)|0)>>2]=_[r+1104>>2],_[f+4>>2]=_[r+1104+4>>2],_[f+8>>2]=_[r+1104+8>>2],_[f+12>>2]=_[r+1104+12>>2],s=s+1|0}while(s>>>0>>0);if(p[r+1104+16>>2]=.0010000000474974513,_[r+1104+20>>2]=4096,_[r+1104+24>>2]=4096,_[r+1104>>2]=1,_[r+1104+4>>2]=c,_[r+1104+8>>2]=r,_[r+1104+12>>2]=16,n[r+1064+16|0]=1,_[r+1064+12>>2]=0,_[r+1064+4>>2]=0,_[r+1064+8>>2]=0,n[r+1064+36|0]=1,_[r+1064+32>>2]=0,_[r+1064+24>>2]=0,_[r+1064+28>>2]=0,n[r+1008+24|0]=1,_[(f=r+1008+20|0)>>2]=0,_[r+1008+12>>2]=0,_[r+1008+16>>2]=0,n[0|(o=r+1008+52|0)]=1,_[(A=r+1008+48|0)>>2]=0,_[r+1008+40>>2]=0,_[r+1008+44>>2]=0,n[r+1008|0]=1,_[(i=r+1008+4|0)>>2]=0,_[r+1008+28>>2]=0,_[r+1008+32>>2]=0,1!=(0|Rl(r+1064|0,r+1104|0,r+1008|0))){if(d=0|_[i>>2],(0|(l=0|_[t+4>>2]))<(0|d)){if((0|_[t+8>>2])<(0|d)){if(d?(_[6630]=1+(0|_[6630]),(s=0|di(16+(d<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,a=0|_[t+4>>2]):(s=0,a=l),(0|a)>0){c=0;do{b=s+(c<<4)|0,m=(0|_[t+12>>2])+(c<<4)|0,_[b>>2]=_[m>>2],_[b+4>>2]=_[m+4>>2],_[b+8>>2]=_[m+8>>2],_[b+12>>2]=_[m+12>>2],c=c+1|0}while((0|c)!=(0|a))}0|(c=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=s,_[t+8>>2]=d,c=t+12|0}else c=t+12|0;s=l;do{m=(0|_[c>>2])+(s<<4)|0,_[m>>2]=_[r+992>>2],_[m+4>>2]=_[r+992+4>>2],_[m+8>>2]=_[r+992+8>>2],_[m+12>>2]=_[r+992+12>>2],s=s+1|0}while((0|s)!=(0|d));s=0|_[i>>2]}else s=d;if(_[t+4>>2]=d,(0|s)>0){c=0|_[f>>2],s=0;do{b=c+(s<<4)|0,m=(0|_[t+12>>2])+(s<<4)|0,_[m>>2]=_[b>>2],_[m+4>>2]=_[b+4>>2],_[m+8>>2]=_[b+8>>2],_[m+12>>2]=_[b+12>>2],s=s+1|0}while((0|s)<(0|_[i>>2]))}if(b=0|_[r+1008+32>>2],_[t+40>>2]=b,(0|b)>(0|(d=0|_[t+24>>2]))){do{if((0|_[t+28>>2])<(0|b)){if(b?(_[6630]=1+(0|_[6630]),(s=0|di(16+(b<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,a=0|_[t+24>>2]):(s=0,a=d),l=0|_[t+32>>2],(0|a)<=0){if(!l){n[t+36|0]=1,_[t+32>>2]=s,_[t+28>>2]=b;break}}else{c=0;do{_[s+(c<<2)>>2]=_[l+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|a))}0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),n[t+36|0]=1,_[t+32>>2]=s,_[t+28>>2]=b}else s=0|_[t+32>>2]}while(0);wn(s+(d<<2)|0,0,b-d<<2),s=0|_[t+40>>2]}else s=b;if(_[t+24>>2]=b,(0|s)>0){c=0|_[A>>2],a=0|_[t+32>>2],s=0;do{_[a+(s<<2)>>2]=_[c+(s<<2)>>2],s=s+1|0}while((0|s)<(0|_[t+40>>2]))}0|_[r+1008+12>>2]&&(_[i>>2]=0,0|(s=0|_[f>>2])&&(0|n[r+1008+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[f>>2]=0),n[r+1008+24|0]=1,_[f>>2]=0,_[r+1008+12>>2]=0,_[r+1008+16>>2]=0),0|_[r+1008+40>>2]?(_[r+1008+32>>2]=0,0|(s=0|_[A>>2])&&(0|n[0|o]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[A>>2]=0),n[0|o]=1,_[A>>2]=0,_[r+1008+40>>2]=0,_[r+1008+44>>2]=0,c=1):(c=1,u=60)}else c=0,u=60;return 60==(0|u)&&(s=0|_[A>>2])&&(0|n[0|o]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[A>>2]=0),n[0|o]=1,_[A>>2]=0,_[r+1008+40>>2]=0,_[r+1008+44>>2]=0,0|(s=0|_[f>>2])&&(0|n[r+1008+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[f>>2]=0),0|(s=0|_[r+1064+32>>2])&&(0|n[r+1064+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[r+1064+32>>2]=0),n[r+1064+36|0]=1,_[r+1064+32>>2]=0,_[r+1064+24>>2]=0,_[r+1064+28>>2]=0,(s=0|_[r+1064+12>>2])?(0|n[r+1064+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[r+1064+12>>2]=0,Q=r,0|c):(Q=r,0|c)},_emscripten_bind_btShapeHull_getVertexPointer_0:function(t){return 0|function(t){return 0|Cl(0|_[(t|=0)+12>>2])}(t|=0)},_emscripten_bind_btShapeHull_numVertices_0:Hc,_emscripten_bind_btSliderConstraint___destroy___0:Kr,_emscripten_bind_btSliderConstraint_btSliderConstraint_3:function(t,e,i){t|=0,e|=0,i|=0;var o,r,s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D=0,I=0,B=0;return r=Q,Q=Q+16|0,o=0|F_(),!(0|n[24496])&&0|Qs(24496)&&(_[r>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,ut(25184,0,0,0,r)),_[6347]=1|_[6347],p[6382]=0,I=0*+p[6392],B=0*+p[6393],p[6387]=0*+p[6391],p[6388]=I,p[6389]=B,p[6390]=0,_[6395]=0,_[6396]=0,_[6397]=0,_[6398]=0,B=0*+p[6384],I=0*+p[6385],p[6436]=0*+p[6383],p[6437]=B,p[6438]=I,p[6439]=0,_[o+4>>2]=7,_[o+8>>2]=-1,_[o+12>>2]=-1,p[o+16>>2]=34028234663852886e22,n[o+20|0]=1,n[o+21|0]=0,_[o+24>>2]=-1,_[o+28>>2]=25184,_[o+32>>2]=t,p[o+36>>2]=0,p[o+40>>2]=.30000001192092896,_[o+44>>2]=0,_[o>>2]=5496,n[o+48|0]=0,_[o+116>>2]=_[e>>2],_[o+116+4>>2]=_[e+4>>2],_[o+116+8>>2]=_[e+8>>2],_[o+116+12>>2]=_[e+12>>2],_[o+132>>2]=_[e+16>>2],_[o+132+4>>2]=_[e+16+4>>2],_[o+132+8>>2]=_[e+16+8>>2],_[o+132+12>>2]=_[e+16+12>>2],_[o+148>>2]=_[e+32>>2],_[o+148+4>>2]=_[e+32+4>>2],_[o+148+8>>2]=_[e+32+8>>2],_[o+148+12>>2]=_[e+32+12>>2],_[o+164>>2]=_[e+48>>2],_[o+164+4>>2]=_[e+48+4>>2],_[o+164+8>>2]=_[e+48+8>>2],_[o+164+12>>2]=_[e+48+12>>2],n[o+180|0]=1&i,I=+p[o+116>>2],B=+p[t+4>>2],g=+p[o+132>>2],k=+p[t+8>>2],y=+p[o+148>>2],w=+p[t+12>>2],h=+p[o+120>>2],m=+p[o+136>>2],u=+p[o+152>>2],f=+p[o+124>>2],b=+p[o+140>>2],l=+p[o+156>>2],S=+p[t+20>>2],v=+p[t+24>>2],C=+p[t+28>>2],A=+p[t+36>>2],d=+p[t+40>>2],a=+p[t+44>>2],j=+p[o+164>>2],R=+p[o+168>>2],D=+p[o+172>>2],c=+p[t+52>>2]+(B*j+k*R+w*D),s=S*j+v*R+C*D+ +p[t+56>>2],D=A*j+d*R+a*D+ +p[t+60>>2],p[o+52>>2]=I*B+g*k+y*w,p[o+56>>2]=B*h+k*m+w*u,p[o+60>>2]=B*f+k*b+w*l,p[o+64>>2]=0,p[o+68>>2]=I*S+g*v+y*C,p[o+72>>2]=h*S+m*v+u*C,p[o+76>>2]=f*S+b*v+l*C,p[o+80>>2]=0,p[o+84>>2]=I*A+g*d+y*a,p[o+88>>2]=h*A+m*d+u*a,p[o+92>>2]=f*A+b*d+l*a,p[o+96>>2]=0,p[o+100>>2]=c,p[o+104>>2]=s,p[o+108>>2]=D,p[o+112>>2]=0,p[o+184>>2]=1,p[o+188>>2]=-1,p[o+192>>2]=0,p[o+196>>2]=0,p[o+200>>2]=1,p[o+204>>2]=.699999988079071,p[o+208>>2]=0,p[o+212>>2]=0,p[o+216>>2]=1,p[o+220>>2]=.699999988079071,p[o+224>>2]=0,p[o+228>>2]=0,p[o+264>>2]=1,p[o+268>>2]=.699999988079071,p[o+272>>2]=1,p[o+276>>2]=0,p[o+280>>2]=1,p[o+284>>2]=.699999988079071,p[o+288>>2]=1,p[o+292>>2]=0,p[o+232>>2]=1,p[o+236>>2]=.699999988079071,p[o+240>>2]=1,p[o+244>>2]=0,p[o+248>>2]=1,p[o+252>>2]=.699999988079071,p[o+256>>2]=1,p[o+260>>2]=0,n[o+1096|0]=0,p[o+1116>>2]=0,p[o+1120>>2]=0,p[o+1124>>2]=0,_[o+300>>2]=0,_[o+1100>>2]=0,_[o+1100+4>>2]=0,_[o+1100+8>>2]=0,n[o+1100+12|0]=0,n[o+49|0]=1,Bi(o,4+(0|_[o+28>>2])|0,4+(0|_[o+32>>2])|0),Q=r,0|o},_emscripten_bind_btSliderConstraint_btSliderConstraint_5:function(t,e,i,o,r){var s;return t|=0,e|=0,i|=0,o|=0,r|=0,s=0|F_(),_[s+4>>2]=7,_[s+8>>2]=-1,_[s+12>>2]=-1,p[s+16>>2]=34028234663852886e22,n[s+20|0]=1,n[s+21|0]=0,_[s+24>>2]=-1,_[s+28>>2]=t,_[s+32>>2]=e,p[s+36>>2]=0,p[s+40>>2]=.30000001192092896,_[s+44>>2]=0,_[s>>2]=5496,n[s+48|0]=0,_[s+52>>2]=_[i>>2],_[s+52+4>>2]=_[i+4>>2],_[s+52+8>>2]=_[i+8>>2],_[s+52+12>>2]=_[i+12>>2],_[s+68>>2]=_[i+16>>2],_[s+68+4>>2]=_[i+16+4>>2],_[s+68+8>>2]=_[i+16+8>>2],_[s+68+12>>2]=_[i+16+12>>2],_[s+84>>2]=_[i+32>>2],_[s+84+4>>2]=_[i+32+4>>2],_[s+84+8>>2]=_[i+32+8>>2],_[s+84+12>>2]=_[i+32+12>>2],_[s+100>>2]=_[i+48>>2],_[s+100+4>>2]=_[i+48+4>>2],_[s+100+8>>2]=_[i+48+8>>2],_[s+100+12>>2]=_[i+48+12>>2],_[s+116>>2]=_[o>>2],_[s+116+4>>2]=_[o+4>>2],_[s+116+8>>2]=_[o+8>>2],_[s+116+12>>2]=_[o+12>>2],_[s+132>>2]=_[o+16>>2],_[s+132+4>>2]=_[o+16+4>>2],_[s+132+8>>2]=_[o+16+8>>2],_[s+132+12>>2]=_[o+16+12>>2],_[s+148>>2]=_[o+32>>2],_[s+148+4>>2]=_[o+32+4>>2],_[s+148+8>>2]=_[o+32+8>>2],_[s+148+12>>2]=_[o+32+12>>2],_[s+164>>2]=_[o+48>>2],_[s+164+4>>2]=_[o+48+4>>2],_[s+164+8>>2]=_[o+48+8>>2],_[s+164+12>>2]=_[o+48+12>>2],n[s+180|0]=1&r,p[s+184>>2]=1,p[s+188>>2]=-1,p[s+192>>2]=0,p[s+196>>2]=0,p[s+200>>2]=1,p[s+204>>2]=.699999988079071,p[s+208>>2]=0,p[s+212>>2]=0,p[s+216>>2]=1,p[s+220>>2]=.699999988079071,p[s+224>>2]=0,p[s+228>>2]=0,p[s+264>>2]=1,p[s+268>>2]=.699999988079071,p[s+272>>2]=1,p[s+276>>2]=0,p[s+280>>2]=1,p[s+284>>2]=.699999988079071,p[s+288>>2]=1,p[s+292>>2]=0,p[s+232>>2]=1,p[s+236>>2]=.699999988079071,p[s+240>>2]=1,p[s+244>>2]=0,p[s+248>>2]=1,p[s+252>>2]=.699999988079071,p[s+256>>2]=1,p[s+260>>2]=0,n[s+1096|0]=0,p[s+1116>>2]=0,p[s+1120>>2]=0,p[s+1124>>2]=0,_[s+300>>2]=0,_[s+1100>>2]=0,_[s+1100+4>>2]=0,_[s+1100+8>>2]=0,n[s+1100+12|0]=0,n[s+49|0]=1,Bi(s,4+(0|_[s+28>>2])|0,4+(0|_[s+32>>2])|0),0|s},_emscripten_bind_btSliderConstraint_enableFeedback_1:Ws,_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btSliderConstraint_getParam_2:kr,_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btSliderConstraint_setLowerAngLimit_1:function(t,e){!function(t,e){t|=0,e=+x_(e=+e),p[t+192>>2]=e}(t|=0,e=+e)},_emscripten_bind_btSliderConstraint_setLowerLinLimit_1:Rs,_emscripten_bind_btSliderConstraint_setParam_3:br,_emscripten_bind_btSliderConstraint_setUpperAngLimit_1:function(t,e){!function(t,e){t|=0,e=+x_(e=+e),p[t+196>>2]=e}(t|=0,e=+e)},_emscripten_bind_btSliderConstraint_setUpperLinLimit_1:function(t,e){!function(t,e){e=+e,p[(t|=0)+188>>2]=e}(t|=0,e=+e)},_emscripten_bind_btSoftBodyArray___destroy___0:As,_emscripten_bind_btSoftBodyArray_at_1:zr,_emscripten_bind_btSoftBodyArray_size_0:Oc,_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4:function(t,e,i,n,o){t|=0,e|=0,i|=0,n|=0;var r,s=0,c=0,a=0,l=0,d=0,A=0,m=0,h=0;if(r=Q,Q=Q+16|0,(0|(o|=0))>-3){_[6630]=1+(0|_[6630]),(t=0|di(16+(o+3<<4|3)|0))?(_[(t+4+15&-16)-4>>2]=t,d=t+4+15&-16):d=0,t=0;do{_[(c=d+(t<<4)|0)>>2]=_[r>>2],_[c+4>>2]=_[r+4>>2],_[c+8>>2]=_[r+8>>2],_[c+12>>2]=_[r+12>>2],t=t+1|0}while((0|t)!=(o+3|0));for(s=0,c=d;;){if(s)for(t=s,a=0,l=.5;a=1&t?a+l:a,t>>=1;)l*=.5;else a=0;if(m=(3.1415927410125732*+(s<<1)+3.1415927410125732)/+(o+3|0),a=+b(+(1-(l=2*a-1)*l)),A=+f(+m)*a,a=+u(+m)*a,p[c>>2]=A,p[c+4>>2]=a,p[c+8>>2]=l,p[c+12>>2]=0,(0|(s=s+1|0))==(o+3|0))break;c=c+16|0}t=0;do{h=d+(t<<4)|0,c=d+(t<<4)+8|0,A=+p[(s=d+(t<<4)+4|0)>>2]*+p[n+4>>2]+ +p[i+4>>2],m=+p[c>>2]*+p[n+8>>2]+ +p[i+8>>2],p[h>>2]=+p[h>>2]*+p[n>>2]+ +p[i>>2],p[s>>2]=A,p[c>>2]=m,p[d+(t<<4)+12>>2]=0,t=t+1|0}while((0|t)<(o+3|0));c=d,s=d}else c=0,s=0;return t=0|ue(e,c,o+3|0,1),!(0|c)|!(0|s)?(Q=r,0|t):(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),Q=r,0|t)},_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4:function(t,e,i,n,o){return 0|ue(e|=0,i|=0,n|=0,o|=0)},_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5:function(t,e,i,o,r,s){t|=0,e|=0,i|=0,o|=0,s|=0;var c,a,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0;if(a=Q,Q=Q+64|0,(0|(r|=0))>0){t=0,l=0;do{t=(0|(w=0|_[o+(l<<2)>>2]))>(0|t)?w:t,l=l+1|0}while((0|l)<(3*r|0))}else t=0;if((d=0|g(c=t+1|0,c))?(_[6630]=1+(0|_[6630]),(l=0|di(d+19|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,wn(0|l,0,0|d)):l=0,(0|t)>-1){_[6630]=1+(0|_[6630]),(t=0|di(16+(c<<4|3)|0))?(_[(t+4+15&-16)-4>>2]=t,A=t+4+15&-16):A=0,t=0;do{_[(w=A+(t<<4)|0)>>2]=_[a>>2],_[w+4>>2]=_[a+4>>2],_[w+8>>2]=_[a+8>>2],_[w+12>>2]=_[a+12>>2],t=t+1|0}while((0|t)!=(0|c));for(t=0,d=0;;){if(S=0|_[i+(d+1<<2)>>2],w=0|_[i+(d+2<<2)>>2],_[A+(t<<4)>>2]=_[i+(d<<2)>>2],_[A+(t<<4)+4>>2]=S,_[A+(t<<4)+8>>2]=w,p[A+(t<<4)+12>>2]=0,(0|(d=d+3|0))>=(3*c|0)){w=A,S=A;break}t=t+1|0}}else w=0,S=0;if(_[6630]=1+(0|_[6630]),(t=0|di(1271))?(_[(t+4+15&-16)-4>>2]=t,v=t+4+15&-16):v=0,hi(v,e,c,w,0),(0|r)>0){e=v+720|0,f=v+732|0,u=v+740|0,m=v+924|0,i=0;do{h=0|_[o+(i<<2)>>2],y=0|_[o+(i+1<<2)>>2],C=0|_[o+(i+2<<2)>>2],A=0|g(h,c),0|n[0|(t=l+(A+C)|0)]||(n[0|t]=1,D=l+((0|g(C,c))+h)|0,n[0|D]=1,D=0|_[e>>2],ne(v,0),d=(0|_[f>>2])-1|0,t=0|_[u>>2],_[t+(52*d|0)+8>>2]=D+(104*C|0),_[t+(52*d|0)+12>>2]=D+(104*h|0),j=+p[D+(104*C|0)+8>>2]-+p[D+(104*h|0)+8>>2],R=+p[D+(104*C|0)+12>>2]-+p[D+(104*h|0)+12>>2],k=+p[D+(104*C|0)+16>>2]-+p[D+(104*h|0)+16>>2],k=+b(+(j*j+R*R+k*k)),p[t+(52*d|0)+16>>2]=k,n[0|m]=1),d=0|g(y,c),0|n[0|(t=l+(d+h)|0)]||(n[0|t]=1,n[l+(A+y)|0]=1,t=0|_[e>>2],ne(v,0),D=(0|_[f>>2])-1|0,A=0|_[u>>2],_[A+(52*D|0)+8>>2]=t+(104*h|0),_[A+(52*D|0)+12>>2]=t+(104*y|0),k=+p[t+(104*h|0)+8>>2]-+p[t+(104*y|0)+8>>2],R=+p[t+(104*h|0)+12>>2]-+p[t+(104*y|0)+12>>2],j=+p[t+(104*h|0)+16>>2]-+p[t+(104*y|0)+16>>2],j=+b(+(k*k+R*R+j*j)),p[A+(52*D|0)+16>>2]=j,n[0|m]=1),t=l+((0|g(C,c))+y)|0,0|n[0|t]||(n[0|t]=1,n[l+(d+C)|0]=1,d=0|_[e>>2],ne(v,0),D=(0|_[f>>2])-1|0,A=0|_[u>>2],_[A+(52*D|0)+8>>2]=d+(104*y|0),_[A+(52*D|0)+12>>2]=d+(104*C|0),k=+p[d+(104*y|0)+8>>2]-+p[d+(104*C|0)+8>>2],R=+p[d+(104*y|0)+12>>2]-+p[d+(104*C|0)+12>>2],j=+p[d+(104*y|0)+16>>2]-+p[d+(104*C|0)+16>>2],j=+b(+(k*k+R*R+j*j)),p[A+(52*D|0)+16>>2]=j,n[0|m]=1),ct(v,h,y,C,0),i=i+3|0}while((0|i)<(3*r|0))}if(s){if((0|(A=0|_[v+732>>2]))>0){i=v+740|0,t=243703,d=0;do{f=(e=0|_[i>>2])+(52*d|0)|0,t=1013904223+(0|g(t,1664525))|0,m=f,h=(u=a)+52|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));m=e+(52*((t>>>0)%(A>>>0)|0)|0)|0,h=(u=f)+52|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));m=a,h=52+(u=e+(52*((t>>>0)%(A>>>0)|0)|0)|0)|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));d=d+1|0}while((0|d)!=(0|A))}else t=243703;if((0|(e=0|_[v+752>>2]))>0){f=v+760|0,d=0;do{A=(i=0|_[f>>2])+(44*d|0)|0,i=i+(44*(((t=1013904223+(0|g(t,1664525))|0)>>>0)%(e>>>0)|0)|0)|0,m=A,h=(u=a)+44|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));m=i,h=(u=A)+44|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));m=a,h=(u=i)+44|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));d=d+1|0}while((0|d)!=(0|e))}}return!(0|w)|!(0|S)||(_[6631]=1+(0|_[6631]),Ni(0|_[S+-4>>2])),l?(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2]),Q=a,0|v):(Q=a,0|v)},_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10:function(t,e,i,o,r,s,c,a,l,d,A){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0,l|=0,d|=0,A|=0;var f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0;if((0|(c|=0))<2|(0|(a|=0))<2)return 0|(d=0);w=0|g(a,c),_[6630]=1+(0|_[6630]),(t=0|di(w>>>0>268435455?18:16+(w<<4|3)|0))?(_[(t+4+15&-16)-4>>2]=t,k=t+4+15&-16):k=0,R=0|ul(w>>>0>1073741823?-1:w<<2),t=0;do{I=+(0|t)/+(a+-1|0),m=+p[i>>2],m+=I*(+p[r>>2]-m),h=+p[i+4>>2],h+=I*(+p[r+4>>2]-h),y=+p[i+8>>2],y+=I*(+p[r+8>>2]-y),C=+p[o>>2],v=+p[o+4>>2],S=+p[o+8>>2],C=C+I*(+p[s>>2]-C)-m,v=v+I*(+p[s+4>>2]-v)-h,S=S+I*(+p[s+8>>2]-S)-y,u=0|g(t,c),f=0;do{I=+(0|f)/+(c+-1|0),p[k+((D=f+u|0)<<4)>>2]=m+C*I,p[k+(D<<4)+4>>2]=h+v*I,p[k+(D<<4)+8>>2]=y+S*I,p[k+(D<<4)+12>>2]=0,p[R+(D<<2)>>2]=1,f=f+1|0}while((0|f)!=(0|c));t=t+1|0}while((0|t)!=(0|a));_[6630]=1+(0|_[6630]),(t=0|di(1271))?(_[(t+4+15&-16)-4>>2]=t,t=t+4+15&-16):t=0,hi(t,e,w,k,R),1&l&&(p[88+(0|_[t+720>>2])>>2]=0,n[t+924|0]=1),2&l&&(p[(0|_[t+720>>2])+(104*(c+-1|0)|0)+88>>2]=0,n[t+924|0]=1),4&l&&(D=0|g(a+-1|0,c),p[(0|_[t+720>>2])+(104*D|0)+88>>2]=0,n[t+924|0]=1),8&l&&(D=c+-1+(0|g(a+-1|0,c))|0,p[(0|_[t+720>>2])+(104*D|0)+88>>2]=0,n[t+924|0]=1),16&l&&(p[(0|_[t+720>>2])+(104*((c+-1|0)/2|0)|0)+88>>2]=0,n[t+924|0]=1),32&l&&(D=0|g((a+-1|0)/2|0,c),p[(0|_[t+720>>2])+(104*D|0)+88>>2]=0,n[t+924|0]=1),64&l&&(D=c+-1+(0|g((a+-1|0)/2|0,c))|0,p[(0|_[t+720>>2])+(104*D|0)+88>>2]=0,n[t+924|0]=1),128&l&&(D=(0|g(a+-1|0,c))+((c+-1|0)/2|0)|0,p[(0|_[t+720>>2])+(104*D|0)+88>>2]=0,n[t+924|0]=1),256&l?(D=(0|g((a+-1|0)/2|0,c))+((c+-1|0)/2|0)|0,p[(0|_[(j=t+720|0)>>2])+(104*D|0)+88>>2]=0,n[0|(D=t+924|0)]=1):(j=t+720|0,D=t+924|0),_[6631]=1+(0|_[6631]),Ni(0|_[k+-4>>2]),ml(R),R=t+732|0,l=t+740|0,f=0,e=0;do{u=e,e=e+1|0;t:do{if((0|c)>0){if(k=0|g(u,c),w=0|g(e,c),h=1/+(a+-1|0)*+(a+-1-u|0),m=1/+(a+-1|0)*+(a+-2-u|0),(0|e)>=(0|a))for(u=0;;)if(i=u,(0|(u=u+1|0))<(0|c)&&(r=u+k|0,o=0|_[j>>2],ne(t,0),w=(0|_[R>>2])-1|0,s=0|_[l>>2],_[s+(52*w|0)+8>>2]=o+(104*(i+k|0)|0),_[s+(52*w|0)+12>>2]=o+(104*r|0),v=+p[o+(104*(i+k|0)|0)+8>>2]-+p[o+(104*r|0)+8>>2],S=+p[o+(104*(i+k|0)|0)+12>>2]-+p[o+(104*r|0)+12>>2],I=+p[o+(104*(i+k|0)|0)+16>>2]-+p[o+(104*r|0)+16>>2],I=+b(+(v*v+S*S+I*I)),p[s+(52*w|0)+16>>2]=I,n[0|D]=1),(0|u)==(0|c))break t;s=0;do{u=s,i=(s=s+1|0)+k|0,o=s+w|0,r=0|_[j>>2],(0|s)<(0|c)?(ne(t,0),W=(0|_[R>>2])-1|0,B=0|_[l>>2],_[B+(52*W|0)+8>>2]=r+(104*(u+k|0)|0),_[B+(52*W|0)+12>>2]=r+(104*i|0),I=+p[r+(104*(u+k|0)|0)+8>>2]-+p[r+(104*i|0)+8>>2],S=+p[r+(104*(u+k|0)|0)+12>>2]-+p[r+(104*i|0)+12>>2],v=+p[r+(104*(u+k|0)|0)+16>>2]-+p[r+(104*i|0)+16>>2],v=+b(+(I*I+S*S+v*v)),p[B+(52*W|0)+16>>2]=v,n[0|D]=1,W=0|_[j>>2],ne(t,0),r=(0|_[R>>2])-1|0,B=0|_[l>>2],_[B+(52*r|0)+8>>2]=W+(104*(u+k|0)|0),_[B+(52*r|0)+12>>2]=W+(104*(u+w|0)|0),v=+p[W+(104*(u+k|0)|0)+8>>2]-+p[W+(104*(u+w|0)|0)+8>>2],S=+p[W+(104*(u+k|0)|0)+12>>2]-+p[W+(104*(u+w|0)|0)+12>>2],I=+p[W+(104*(u+k|0)|0)+16>>2]-+p[W+(104*(u+w|0)|0)+16>>2],I=+b(+(v*v+S*S+I*I)),p[B+(52*r|0)+16>>2]=I,n[0|D]=1,ct(t,u+k|0,u+w|0,o,0),A?(I=1/+(c+-1|0)*+(0|u),p[A+(f<<2)>>2]=I,p[A+(f+1<<2)>>2]=h,p[A+(f+2<<2)>>2]=I,p[A+(f+3<<2)>>2]=m,S=1/+(c+-1|0)*+(0|s),p[A+(f+4<<2)>>2]=S,p[A+(f+5<<2)>>2]=m,ct(t,o,i,u+k|0,0),p[A+(f+6<<2)>>2]=S,p[A+(f+7<<2)>>2]=m,p[A+(f+8<<2)>>2]=S,p[A+(f+9<<2)>>2]=h,p[A+(f+10<<2)>>2]=I,p[A+(f+11<<2)>>2]=h):ct(t,o,i,u+k|0,0),d&&(r=0|_[j>>2],ne(t,0),W=(0|_[R>>2])-1|0,B=0|_[l>>2],_[B+(52*W|0)+8>>2]=r+(104*(u+k|0)|0),_[B+(52*W|0)+12>>2]=r+(104*o|0),v=+p[r+(104*(u+k|0)|0)+8>>2]-+p[r+(104*o|0)+8>>2],S=+p[r+(104*(u+k|0)|0)+12>>2]-+p[r+(104*o|0)+12>>2],I=+p[r+(104*(u+k|0)|0)+16>>2]-+p[r+(104*o|0)+16>>2],I=+b(+(v*v+S*S+I*I)),p[B+(52*W|0)+16>>2]=I,n[0|D]=1),f=f+12|0):(ne(t,0),W=(0|_[R>>2])-1|0,B=0|_[l>>2],_[B+(52*W|0)+8>>2]=r+(104*(u+k|0)|0),_[B+(52*W|0)+12>>2]=r+(104*(u+w|0)|0),v=+p[r+(104*(u+k|0)|0)+8>>2]-+p[r+(104*(u+w|0)|0)+8>>2],S=+p[r+(104*(u+k|0)|0)+12>>2]-+p[r+(104*(u+w|0)|0)+12>>2],I=+p[r+(104*(u+k|0)|0)+16>>2]-+p[r+(104*(u+w|0)|0)+16>>2],I=+b(+(v*v+S*S+I*I)),p[B+(52*W|0)+16>>2]=I,n[0|D]=1)}while((0|s)!=(0|c))}}while(0)}while((0|e)!=(0|a));return 0|t},_emscripten_bind_btSoftBodyHelpers_CreatePatch_9:function(t,e,i,o,r,s,c,a,l,d){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0,l|=0,d|=0;var A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;if((0|(c|=0))<2|(0|(a|=0))<2)return 0|(d=0);u=0|g(a,c),_[6630]=1+(0|_[6630]),(t=0|di(u>>>0>268435455?18:16+(u<<4|3)|0))?(_[(t+4+15&-16)-4>>2]=t,m=t+4+15&-16):m=0,h=0|ul(u>>>0>1073741823?-1:u<<2),t=0;do{D=+(0|t)/+(a+-1|0),y=+p[i>>2],y+=D*(+p[r>>2]-y),C=+p[i+4>>2],C+=D*(+p[r+4>>2]-C),v=+p[i+8>>2],v+=D*(+p[r+8>>2]-v),S=+p[o>>2],w=+p[o+4>>2],k=+p[o+8>>2],S=S+D*(+p[s>>2]-S)-y,w=w+D*(+p[s+4>>2]-w)-C,k=k+D*(+p[s+8>>2]-k)-v,f=0|g(t,c),A=0;do{D=+(0|A)/+(c+-1|0),p[m+((j=A+f|0)<<4)>>2]=y+S*D,p[m+(j<<4)+4>>2]=C+w*D,p[m+(j<<4)+8>>2]=v+k*D,p[m+(j<<4)+12>>2]=0,p[h+(j<<2)>>2]=1,A=A+1|0}while((0|A)!=(0|c));t=t+1|0}while((0|t)!=(0|a));_[6630]=1+(0|_[6630]),(t=0|di(1271))?(_[(t+4+15&-16)-4>>2]=t,t=t+4+15&-16):t=0,hi(t,e,u,m,h),1&l&&(p[88+(0|_[t+720>>2])>>2]=0,n[t+924|0]=1),2&l&&(p[(0|_[t+720>>2])+(104*(c+-1|0)|0)+88>>2]=0,n[t+924|0]=1),4&l&&(j=0|g(a+-1|0,c),p[(0|_[t+720>>2])+(104*j|0)+88>>2]=0,n[t+924|0]=1),8&l?(j=c+-1+(0|g(a+-1|0,c))|0,p[(0|_[(R=t+720|0)>>2])+(104*j|0)+88>>2]=0,n[0|(j=t+924|0)]=1):(R=t+720|0,j=t+924|0),_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2]),ml(h),h=t+732|0,l=t+740|0,A=0;do{t:do{if((0|c)>0){if(m=0|g(A,c),o=0|g(e=A+1|0,c),(0|e)>=(0|a))for(A=0;;)if(f=A,(0|(A=A+1|0))<(0|c)&&(r=A+m|0,o=0|_[R>>2],ne(t,0),u=(0|_[h>>2])-1|0,s=0|_[l>>2],_[s+(52*u|0)+8>>2]=o+(104*(f+m|0)|0),_[s+(52*u|0)+12>>2]=o+(104*r|0),w=+p[o+(104*(f+m|0)|0)+8>>2]-+p[o+(104*r|0)+8>>2],k=+p[o+(104*(f+m|0)|0)+12>>2]-+p[o+(104*r|0)+12>>2],D=+p[o+(104*(f+m|0)|0)+16>>2]-+p[o+(104*r|0)+16>>2],D=+b(+(w*w+k*k+D*D)),p[s+(52*u|0)+16>>2]=D,n[0|j]=1),(0|A)==(0|c)){A=e;break t}f=0;do{r=f+m|0,i=f,f=f+1|0;do{if((0|f)<(0|c)){if(s=f+m|0,I=0|_[R>>2],ne(t,0),B=(0|_[h>>2])-1|0,u=0|_[l>>2],_[u+(52*B|0)+8>>2]=I+(104*r|0),_[u+(52*B|0)+12>>2]=I+(104*s|0),D=+p[I+(104*r|0)+8>>2]-+p[I+(104*s|0)+8>>2],k=+p[I+(104*r|0)+12>>2]-+p[I+(104*s|0)+12>>2],w=+p[I+(104*r|0)+16>>2]-+p[I+(104*s|0)+16>>2],w=+b(+(D*D+k*k+w*w)),p[u+(52*B|0)+16>>2]=w,n[0|j]=1,B=0|_[R>>2],ne(t,0),u=(0|_[h>>2])-1|0,I=0|_[l>>2],_[I+(52*u|0)+8>>2]=B+(104*r|0),_[I+(52*u|0)+12>>2]=B+(104*(i+o|0)|0),w=+p[B+(104*r|0)+8>>2]-+p[B+(104*(i+o|0)|0)+8>>2],k=+p[B+(104*r|0)+12>>2]-+p[B+(104*(i+o|0)|0)+12>>2],D=+p[B+(104*r|0)+16>>2]-+p[B+(104*(i+o|0)|0)+16>>2],D=+b(+(w*w+k*k+D*D)),p[I+(52*u|0)+16>>2]=D,n[0|j]=1,i+A&1){if(ct(t,r,s,u=f+o|0,0),ct(t,r,u,i+o|0,0),!d)break;s=0|_[R>>2],ne(t,0),B=(0|_[h>>2])-1|0,I=0|_[l>>2],_[I+(52*B|0)+8>>2]=s+(104*r|0),_[I+(52*B|0)+12>>2]=s+(104*u|0),w=+p[s+(104*r|0)+8>>2]-+p[s+(104*u|0)+8>>2],k=+p[s+(104*r|0)+12>>2]-+p[s+(104*u|0)+12>>2],D=+p[s+(104*r|0)+16>>2]-+p[s+(104*u|0)+16>>2],D=+b(+(w*w+k*k+D*D)),p[I+(52*B|0)+16>>2]=D,n[0|j]=1;break}if(ct(t,i+o|0,r,s,0),ct(t,i+o|0,s,f+o|0,0),!d)break;u=0|_[R>>2],ne(t,0),B=(0|_[h>>2])-1|0,I=0|_[l>>2],_[I+(52*B|0)+8>>2]=u+(104*s|0),_[I+(52*B|0)+12>>2]=u+(104*(i+o|0)|0),w=+p[u+(104*s|0)+8>>2]-+p[u+(104*(i+o|0)|0)+8>>2],k=+p[u+(104*s|0)+12>>2]-+p[u+(104*(i+o|0)|0)+12>>2],D=+p[u+(104*s|0)+16>>2]-+p[u+(104*(i+o|0)|0)+16>>2],D=+b(+(w*w+k*k+D*D)),p[I+(52*B|0)+16>>2]=D,n[0|j]=1;break}u=0|_[R>>2],ne(t,0),B=(0|_[h>>2])-1|0,I=0|_[l>>2],_[I+(52*B|0)+8>>2]=u+(104*r|0),_[I+(52*B|0)+12>>2]=u+(104*(i+o|0)|0),w=+p[u+(104*r|0)+8>>2]-+p[u+(104*(i+o|0)|0)+8>>2],k=+p[u+(104*r|0)+12>>2]-+p[u+(104*(i+o|0)|0)+12>>2],D=+p[u+(104*r|0)+16>>2]-+p[u+(104*(i+o|0)|0)+16>>2],D=+b(+(w*w+k*k+D*D)),p[I+(52*B|0)+16>>2]=D,n[0|j]=1}while(0)}while((0|f)!=(0|c));A=e}else A=A+1|0}while(0)}while((0|A)!=(0|a));return 0|t},_emscripten_bind_btSoftBodyHelpers_CreateRope_5:function(t,e,i,o,r,s){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0;var c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0;if(_[6630]=1+(0|_[6630]),(t=0|di((r+2|0)>>>0>268435455?18:16+(r+2<<4|3)|0))?(_[(t+4+15&-16)-4>>2]=t,c=t+4+15&-16):c=0,a=0|ul((r+2|0)>>>0>1073741823?-1:r+2<<2),(0|r)>-2){t=0;do{u=+(0|t)/+(r+1|0),f=+p[i>>2],A=+p[i+4>>2],A+=u*(+p[o+4>>2]-A),d=+p[i+8>>2],d+=u*(+p[o+8>>2]-d),p[c+(t<<4)>>2]=f+u*(+p[o>>2]-f),p[c+(t<<4)+4>>2]=A,p[c+(t<<4)+8>>2]=d,p[c+(t<<4)+12>>2]=0,p[a+(t<<2)>>2]=1,t=t+1|0}while((0|t)<(r+2|0))}if(_[6630]=1+(0|_[6630]),(t=0|di(1271))?(_[(t+4+15&-16)-4>>2]=t,l=t+4+15&-16):l=0,hi(l,e,r+2|0,c,a),1&s&&(p[88+(0|_[l+720>>2])>>2]=0,n[l+924|0]=1),2&s&&(p[(0|_[l+720>>2])+(104*(r+1|0)|0)+88>>2]=0,n[l+924|0]=1),0|c&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),ml(a),(0|r)<=-1)return 0|l;c=l+720|0,a=l+732|0,i=l+740|0,o=l+924|0,t=1;do{h=t+-1|0,m=0|_[c>>2],ne(l,0),s=(0|_[a>>2])-1|0,e=0|_[i>>2],_[e+(52*s|0)+8>>2]=m+(104*h|0),_[e+(52*s|0)+12>>2]=m+(104*t|0),A=+p[m+(104*h|0)+8>>2]-+p[m+(104*t|0)+8>>2],f=+p[m+(104*h|0)+12>>2]-+p[m+(104*t|0)+12>>2],u=+p[m+(104*h|0)+16>>2]-+p[m+(104*t|0)+16>>2],u=+b(+(A*A+f*f+u*u)),p[e+(52*s|0)+16>>2]=u,n[0|o]=1,t=t+1|0}while((0|t)<(r+2|0));return 0|l},_emscripten_bind_btSoftBodyHelpers___destroy___0:qp,_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0:function(){return 0|a_(1)},_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0:Kr,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0:function(){var t,e;return e=Q,Q=Q+32|0,t=0|a_(112),H_(e),mt(t,e),Q=e,0|t},_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1:function(t){var e;return t|=0,mt(e=0|a_(112),t),0|e},_emscripten_bind_btSoftBodySolver___destroy___0:Kr,_emscripten_bind_btSoftBodyWorldInfo___destroy___0:function(t){(t|=0)&&(function(t){Ba((t|=0)+56|0)}(t),yl(t))},_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0:function(){var t;return function(t){var e;e=Q,Q=Q+32|0,p[(t|=0)>>2]=1.2000000476837158,p[t+4>>2]=0,p[t+8>>2]=0,p[t+12>>2]=1e3,p[e+20>>2]=0,p[e+16>>2]=0,p[e+12>>2]=0,R_(t+16|0,e+20|0,e+16|0,e+12|0),_[t+32>>2]=0,_[t+36>>2]=0,p[e+8>>2]=0,p[e+4>>2]=-10,p[e>>2]=0,R_(t+40|0,e+8|0,e+4|0,e),Wa(t+56|0),Q=e}(t=0|a_(100)),0|t},_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0:Nc,_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0:function(t){return 0|_[32+(t|=0)>>2]},_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0:function(t){return 0|_[36+(t|=0)>>2]},_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0:Ea,_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0:ga,_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0:ua,_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0:ia,_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0:ka,_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1:Aa,_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1:function(t,e){e|=0,_[32+(t|=0)>>2]=e},_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1:function(t,e){e|=0,_[36+(t|=0)>>2]=e},_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1:b_,_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1:Ec,_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1:ea,_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1:o_,_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1:ta,_emscripten_bind_btSoftBody___destroy___0:Xr,_emscripten_bind_btSoftBody_activate_0:J_,_emscripten_bind_btSoftBody_activate_1:k_,_emscripten_bind_btSoftBody_addAeroForceToNode_2:function(t,e,i){qe(t|=0,e|=0,i|=0)},_emscripten_bind_btSoftBody_addForce_1:function(t,e){e|=0;var i,n,o=0;if(!((0|(n=0|_[712+(t|=0)>>2]))<=0)){i=0|_[t+720>>2],t=0;do{+p[i+(104*t|0)+88>>2]>0&&(p[(o=i+(104*t|0)+56|0)>>2]=+p[e>>2]+ +p[o>>2],p[(o=i+(104*t|0)+60|0)>>2]=+p[e+4>>2]+ +p[o>>2],p[(o=i+(104*t|0)+64|0)>>2]=+p[e+8>>2]+ +p[o>>2]),t=t+1|0}while((0|t)!=(0|n))}},_emscripten_bind_btSoftBody_addForce_2:function(t,e,i){e|=0,i|=0,t=0|_[720+(t|=0)>>2],+p[t+(104*i|0)+88>>2]>0&&(p[t+(104*i|0)+56>>2]=+p[e>>2]+ +p[t+(104*i|0)+56>>2],p[t+(104*i|0)+60>>2]=+p[e+4>>2]+ +p[t+(104*i|0)+60>>2],p[t+(104*i|0)+64>>2]=+p[e+8>>2]+ +p[t+(104*i|0)+64>>2])},_emscripten_bind_btSoftBody_appendAnchor_4:function(t,e,i,o,r){t|=0,e|=0,o|=0,r=+r;var s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k=0,R=0,j=0;w=Q,Q=Q+96|0,c=+p[4+(i|=0)>>2],a=+p[i+20>>2],l=+p[i+36>>2],d=+p[i+8>>2],b=+p[i+24>>2],A=+p[i+40>>2],f=+p[i+12>>2],u=+p[i+28>>2],m=+p[i+44>>2],h=-+p[i+52>>2],y=-+p[i+56>>2],g=-+p[i+60>>2],s=0|_[t+720>>2],C=+p[s+(104*e|0)+8>>2],v=+p[s+(104*e|0)+12>>2],S=+p[s+(104*e|0)+16>>2];t:do{if(o){o=0|_[t+268>>2];e:do{if((0|o)>0){for(R=0|_[t+276>>2],k=0;(0|_[R+(k<<2)>>2])!=(0|i);)if((0|(k=k+1|0))>=(0|o))break e;if((0|k)!=(0|o)){o=s;break t}}}while(0);if((0|o)==(0|_[t+272>>2])&&(0|o)<(0|(j=0|o?o<<1:1))){if(j?(_[6630]=1+(0|_[6630]),(o=0|di(16+(j<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,R=o,o=0|_[t+268>>2]):R=0,(0|o)>0){k=0;do{_[R+(k<<2)>>2]=_[(0|_[t+276>>2])+(k<<2)>>2],k=k+1|0}while((0|k)!=(0|o))}(k=0|_[t+276>>2])&&(0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[k+-4>>2]),o=0|_[t+268>>2]),_[t+276>>2]=0),n[t+280|0]=1,_[t+276>>2]=R,_[t+272>>2]=j}_[(0|_[t+276>>2])+(o<<2)>>2]=i,_[t+268>>2]=o+1,o=0|_[t+720>>2]}else o=s}while(0);_[w>>2]=o+(104*e|0),_[w+20>>2]=i,p[w+4>>2]=c*h+a*y+l*g+(c*C+a*v+l*S),p[w+8>>2]=d*h+b*y+A*g+(d*C+b*v+A*S),p[w+12>>2]=f*h+u*y+m*g+(f*C+u*v+m*S),p[w+16>>2]=0,n[0|(i=o+(104*e|0)+100|0)]=1|n[0|i],p[w+24>>2]=r,Un(t+788|0,w),Q=w},_emscripten_bind_btSoftBody_appendFace_4:function(t,e,i,n,o){ct(t|=0,e|=0,i|=0,n|=0,o|=0)},_emscripten_bind_btSoftBody_appendLink_4:function(t,e,i,n,o){Ei(t|=0,e|=0,i|=0,n|=0,o|=0)},_emscripten_bind_btSoftBody_appendMaterial_0:function(t){return 0|Vt(t|=0)},_emscripten_bind_btSoftBody_appendNode_2:function(t,e,i){e|=0,i=+i;var o,r,s,c,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;if(c=Q,Q=Q+112|0,(0|(b=0|_[716+(t|=0)>>2]))==(0|_[t+712>>2])){t:do{if(b)if(d=0|_[t+720>>2],(0|b)>0)for(a=0,l=d;;){if(0|(l=0|_[l+(104*a|0)+96>>2])&&(_[l+36>>2]=a),(0|(a=a+1|0))==(0|b)){A=d;break t}l=0|_[t+720>>2]}else A=d;else A=0}while(0);if((0|(l=0|_[t+732>>2]))>0){a=0;do{u=(0|_[t+740>>2])+(52*a|0)+8|0,_[u>>2]=((0|_[u>>2])-A|0)/104|0,u=(0|_[t+740>>2])+(52*a|0)+12|0,_[u>>2]=((0|_[u>>2])-A|0)/104|0,a=a+1|0}while((0|a)!=(0|l))}if((0|(l=0|_[t+752>>2]))>0){a=0;do{d=(0|_[t+760>>2])+(44*a|0)+8|0,_[d>>2]=((0|_[d>>2])-A|0)/104|0,d=(0|_[t+760>>2])+(44*a|0)+12|0,_[d>>2]=((0|_[d>>2])-A|0)/104|0,d=(0|_[t+760>>2])+(44*a|0)+16|0,_[d>>2]=((0|_[d>>2])-A|0)/104|0,0|(d=0|_[(0|_[t+760>>2])+(44*a|0)+40>>2])&&(_[d+36>>2]=a),a=a+1|0}while((0|a)!=(0|l))}if((0|(l=0|_[t+792>>2]))>0){d=0|_[t+800>>2],a=0;do{_[(u=d+(96*a|0)|0)>>2]=((0|_[u>>2])-A|0)/104|0,a=a+1|0}while((0|a)!=(0|l))}if((0|(b=0|_[t+692>>2]))>0){d=0,a=0|_[t+700>>2];do{if((0|_[a+(60*d|0)+24>>2])>0){l=0;do{_[(a=a+(60*d|0)+28+(l<<2)|0)>>2]=((0|_[a>>2])-A|0)/104|0,l=l+1|0,a=0|_[t+700>>2]}while((0|l)<(0|_[a+(60*d|0)+24>>2]))}d=d+1|0}while((0|d)!=(0|b))}if(b=0|_[t+712>>2],(0|_[t+716>>2])<(1|b<<1)){if(_[6630]=1+(0|_[6630]),(a=0|di(16+(104*(b<<1|1)|3)|0))?(_[(a+4+15&-16)-4>>2]=a,d=a+4+15&-16):d=0,(0|(l=0|_[t+712>>2]))>0){a=0;do{f=d+(104*a|0)|0,A=(0|_[t+720>>2])+(104*a|0)|0,u=f+104|0;do{_[f>>2]=_[A>>2],f=f+4|0,A=A+4|0}while((0|f)<(0|u));a=a+1|0}while((0|a)!=(0|l))}0|(a=0|_[t+720>>2])&&(0|n[t+724|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+720>>2]=0),n[t+724|0]=1,_[t+720>>2]=d,_[t+716>>2]=b<<1|1,b=0|_[t+712>>2]}t:do{if(b){if(A=0|_[t+720>>2],(0|b)>0)for(a=0,l=A;;){if(0|(d=0|_[l+(104*a|0)+96>>2])&&(_[d+36>>2]=l+(104*a|0)),(0|(a=a+1|0))==(0|b))break t;l=0|_[t+720>>2]}}else A=0}while(0);if((0|(l=0|_[t+732>>2]))>0){a=0;do{u=(0|_[t+740>>2])+(52*a|0)+8|0,_[u>>2]=A+(104*(0|_[u>>2])|0),u=(0|_[t+740>>2])+(52*a|0)+12|0,_[u>>2]=A+(104*(0|_[u>>2])|0),a=a+1|0}while((0|a)!=(0|l))}if((0|(l=0|_[t+752>>2]))>0){a=0;do{d=(0|_[t+760>>2])+(44*a|0)+8|0,_[d>>2]=A+(104*(0|_[d>>2])|0),d=(0|_[t+760>>2])+(44*a|0)+12|0,_[d>>2]=A+(104*(0|_[d>>2])|0),d=(0|_[t+760>>2])+(44*a|0)+16|0,_[d>>2]=A+(104*(0|_[d>>2])|0),d=0|_[t+760>>2],0|(b=0|_[d+(44*a|0)+40>>2])&&(_[b+36>>2]=d+(44*a|0)),a=a+1|0}while((0|a)!=(0|l))}if((0|(d=0|_[t+792>>2]))>0){l=0|_[t+800>>2],a=0;do{_[(u=l+(96*a|0)|0)>>2]=A+(104*(0|_[u>>2])|0),a=a+1|0}while((0|a)!=(0|d))}if((0|(b=0|_[t+692>>2]))>0){d=0,a=0|_[t+700>>2];do{if((0|_[a+(60*d|0)+24>>2])>0){l=0;do{_[(a=a+(60*d|0)+28+(l<<2)|0)>>2]=A+(104*(0|_[a>>2])|0),l=l+1|0,a=0|_[t+700>>2]}while((0|l)<(0|_[a+(60*d|0)+24>>2]))}d=d+1|0}while((0|d)!=(0|b))}}f=0|_[t+192>>2],s=+Il[15&_[48+(0|_[f>>2])>>2]](f),u=(f=c)+100|0;do{_[f>>2]=0,f=f+4|0}while((0|f)<(0|u));if((0|(a=0|_[t+712>>2]))==(0|_[t+716>>2])&&(0|a)<(0|(m=0|a?a<<1:1))){if(m?(_[6630]=1+(0|_[6630]),(a=0|di(16+(104*m|3)|0))?(_[(a+4+15&-16)-4>>2]=a,a=a+4+15&-16):a=0,d=a,a=0|_[t+712>>2]):d=0,(0|a)>0){l=0;do{f=d+(104*l|0)|0,A=(0|_[t+720>>2])+(104*l|0)|0,u=f+104|0;do{_[f>>2]=_[A>>2],f=f+4|0,A=A+4|0}while((0|f)<(0|u));l=l+1|0}while((0|l)!=(0|a))}0|(a=0|_[t+720>>2])&&(0|n[t+724|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+720>>2]=0),n[t+724|0]=1,_[t+720>>2]=d,_[t+716>>2]=m,a=0|_[t+712>>2]}f=0|_[t+720>>2],_[f+(104*a|0)>>2]=0,A=c,u=100+(f=f+(104*a|0)+4|0)|0;do{_[f>>2]=_[A>>2],f=f+4|0,A=A+4|0}while((0|f)<(0|u));l=0|_[t+712>>2],_[t+712>>2]=l+1,u=104+(f=(d=0|_[t+720>>2])+(104*l|0)|0)|0;do{_[f>>2]=0,f=f+4|0}while((0|f)<(0|u));if(_[d+(104*l|0)+8>>2]=_[e>>2],_[d+(104*l|0)+8+4>>2]=_[e+4>>2],_[d+(104*l|0)+8+8>>2]=_[e+8>>2],_[d+(104*l|0)+8+12>>2]=_[e+12>>2],Do(d+(104*l|0)+24|0,0|e,16),p[d+(104*l|0)+88>>2]=i>0?1/i:0,_[d+(104*l|0)+4>>2]=_[_[t+880>>2]>>2],i=+p[d+(104*l|0)+8>>2],o=+p[d+(104*l|0)+12>>2],r=+p[d+(104*l|0)+16>>2],0|(a=0|_[t+932>>2]))return _[t+932>>2]=0,_[(m=(e=a)+32|0)>>2]=0,_[(m=e+36|0)>>2]=d+(104*l|0),_[(m=e+40|0)>>2]=0,p[e>>2]=i-s,p[(m=e+4|0)>>2]=o-s,p[(m=e+8|0)>>2]=r-s,p[(m=e+12|0)>>2]=0,p[(m=e+16|0)>>2]=s+i,p[(m=e+20|0)>>2]=s+o,p[(m=e+24|0)>>2]=s+r,p[(m=e+28|0)>>2]=0,U(t+928|0,m=0|_[t+928>>2],e),m=1+(m=0|_[(t=t+940|0)>>2])|0,_[t>>2]=m,_[(t=d+(104*l|0)+96|0)>>2]=e,void(Q=c);_[6630]=1+(0|_[6630]),(a=0|di(63))?(_[(a+4+15&-16)-4>>2]=a,a=a+4+15&-16):a=0,u=(f=a)+44|0;do{_[f>>2]=0,f=f+4|0}while((0|f)<(0|u));_[(m=(e=a)+32|0)>>2]=0,_[(m=e+36|0)>>2]=d+(104*l|0),_[(m=e+40|0)>>2]=0,p[e>>2]=i-s,p[(m=e+4|0)>>2]=o-s,p[(m=e+8|0)>>2]=r-s,p[(m=e+12|0)>>2]=0,p[(m=e+16|0)>>2]=s+i,p[(m=e+20|0)>>2]=s+o,p[(m=e+24|0)>>2]=s+r,p[(m=e+28|0)>>2]=0,U(t+928|0,m=0|_[t+928>>2],e),m=1+(m=0|_[(t=t+940|0)>>2])|0,_[t>>2]=m,_[(t=d+(104*l|0)+96|0)>>2]=e,Q=c},_emscripten_bind_btSoftBody_appendTetra_5:function(t,e,i,o,r,s){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0;var c,a,l,d,b,A,f,u,m,h,y=0,g=0,C=0,v=0,S=0,w=0,k=0;c=Q,Q=Q+96|0,v=(C=c)+96|0;do{_[C>>2]=0,C=C+4|0}while((0|C)<(0|v));if(w=s||0|_[_[t+880>>2]>>2],(0|(s=0|_[t+772>>2]))==(0|_[t+776>>2])&&(0|s)<(0|(k=0|s?s<<1:1))){if(k?(_[6630]=1+(0|_[6630]),(s=0|di(16+(104*k|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,S=s,s=0|_[t+772>>2]):S=0,(0|s)>0){y=0;do{C=S+(104*y|0)|0,g=(0|_[t+780>>2])+(104*y|0)|0,v=C+104|0;do{_[C>>2]=_[g>>2],C=C+4|0,g=g+4|0}while((0|C)<(0|v));y=y+1|0}while((0|y)!=(0|s))}0|(s=0|_[t+780>>2])&&(0|n[t+784|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+780>>2]=0),n[t+784|0]=1,_[t+780>>2]=S,_[t+776>>2]=k,s=0|_[t+772>>2]}C=0|_[t+780>>2],_[C+(104*s|0)>>2]=0,_[C+(104*s|0)+4>>2]=w,g=c,v=96+(C=C+(104*s|0)+8|0)|0;do{_[C>>2]=_[g>>2],C=C+4|0,g=g+4|0}while((0|C)<(0|v));k=0|_[t+772>>2],_[t+772>>2]=k+1,w=0|_[t+780>>2],g=0|_[t+720>>2],_[w+(104*k|0)+8>>2]=g+(104*e|0),S=0|_[t+720>>2],_[w+(104*k|0)+12>>2]=S+(104*i|0),C=0|_[t+720>>2],_[w+(104*k|0)+16>>2]=C+(104*o|0),v=0|_[t+720>>2],_[w+(104*k|0)+20>>2]=v+(104*r|0),m=+p[g+(104*e|0)+8>>2],A=+p[g+(104*e|0)+12>>2],h=+p[g+(104*e|0)+16>>2],l=+p[C+(104*o|0)+8>>2]-m,u=+p[C+(104*o|0)+12>>2]-A,b=+p[C+(104*o|0)+16>>2]-h,d=+p[v+(104*r|0)+8>>2]-m,f=+p[v+(104*r|0)+12>>2]-A,a=+p[v+(104*r|0)+16>>2]-h,p[w+(104*k|0)+24>>2]=(+p[S+(104*i|0)+16>>2]-h)*(l*f-u*d)+((+p[S+(104*i|0)+8>>2]-m)*(u*a-b*f)+(+p[S+(104*i|0)+12>>2]-A)*(b*d-l*a)),n[t+924|0]=1,Q=c},_emscripten_bind_btSoftBody_btSoftBody_4:function(t,e,i,n){var o;return t|=0,e|=0,i|=0,n|=0,hi(o=0|S_(1252),t,e,i,n),0|o},_emscripten_bind_btSoftBody_checkFace_3:function(t,e,i,n){e|=0,i|=0,n|=0;var o,r=0,s=0,p=0;if(s=0|_[720+(t|=0)>>2],(0|(o=0|_[t+752>>2]))<=0)return 0|(s=0);for(r=0|_[t+760>>2],t=0;;){if((0|(p=0|_[r+(44*t|0)+8>>2]))==(s+(104*n|0)|0)|(0|p)==(s+(104*e|0)|0)|(0|p)==(s+(104*i|0)|0)&&(0|(p=0|_[r+(44*t|0)+12>>2]))==(s+(104*n|0)|0)|(0|p)==(s+(104*e|0)|0)|(0|p)==(s+(104*i|0)|0)&&(0|(p=0|_[r+(44*t|0)+16>>2]))==(s+(104*n|0)|0)|(0|p)==(s+(104*e|0)|0)|(0|p)==(s+(104*i|0)|0)){t=1,r=7;break}if((0|(t=t+1|0))>=(0|o)){t=0,r=7;break}}return 7==(0|r)?0|t:0},_emscripten_bind_btSoftBody_checkLink_2:function(t,e,i){e|=0,i|=0;var n,o=0,r=0,s=0;if(n=0|_[720+(t|=0)>>2],(0|(s=0|_[t+732>>2]))<=0)return 0|(s=0);for(o=0|_[t+740>>2],t=0;;){if((0|(r=0|_[o+(52*t|0)+8>>2]))==(n+(104*e|0)|0)&&(0|_[o+(52*t|0)+12>>2])==(n+(104*i|0)|0)){t=1,o=8;break}if((0|r)==(n+(104*i|0)|0)&&(0|_[o+(52*t|0)+12>>2])==(n+(104*e|0)|0)){t=1,o=8;break}if((0|(t=t+1|0))>=(0|s)){t=0,o=8;break}}return 8==(0|o)?0|t:0},_emscripten_bind_btSoftBody_forceActivationState_1:dp,_emscripten_bind_btSoftBody_generateBendingConstraints_2:function(t,e,i){i|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0;if((0|(e|=0))<=1)return 0|(k=0);if(o=0|_[712+(t|=0)>>2],k=0|ul((k=0|g(o,o))>>>0>1073741823?-1:k<<2),(0|o)>0){s=0;do{a=k+(s+(c=0|g(s,o))<<2)|0,r=0;do{l=k+((0|g(r,o))+s<<2)|0,(0|r)==(0|s)?(_[l>>2]=0,_[a>>2]=0):(_[l>>2]=2147483647,_[k+(r+c<<2)>>2]=2147483647),r=r+1|0}while((0|r)!=(0|o));s=s+1|0}while((0|s)!=(0|o))}if((0|(s=0|_[t+732>>2]))>0){c=0|_[t+740>>2],a=0|_[t+720>>2],r=0;do{m=((0|_[c+(52*r|0)+8>>2])-a|0)/104|0,v=((0|_[c+(52*r|0)+12>>2])-a|0)/104|0,u=k+((0|g(v,o))+m<<2)|0,_[u>>2]=1,v=k+((0|g(m,o))+v<<2)|0,_[v>>2]=1,r=r+1|0}while((0|r)!=(0|s))}do{if(2!=(0|e))if((0|o)>0){r=0;do{l=0|g(r,o),s=0;do{if(c=s,(0|(s=s+1|0))<(0|o)){d=k+((f=0|g(c,o))+r<<2)|0,a=s;do{A=(0|_[d>>2])+(0|_[k+(a+l<<2)>>2])|0,(0|_[(u=k+(a+f<<2)|0)>>2])>>>0>A>>>0&&(w=k+((0|g(a,o))+c<<2)|0,_[w>>2]=A,_[u>>2]=A),a=a+1|0}while((0|a)!=(0|o))}}while((0|s)!=(0|o));r=r+1|0}while((0|r)!=(0|o));h=97}else r=0;else{if((0|o)<0&&N(),(0|o)>0){_[6630]=1+(0|_[6630]),(r=0|di(16+(20*o|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0;do{n[r+(20*s|0)+16|0]=1,_[r+(20*s|0)+12>>2]=0,_[(v=r+(20*s|0)+4|0)>>2]=0,_[r+(20*s|0)+8>>2]=0,_[v>>2]=0,s=s+1|0}while((0|s)!=(0|o));v=r}else v=0;if((0|_[t+732>>2])>0){f=0;do{A=0|_[t+740>>2],m=0|_[t+720>>2],u=((0|_[A+(52*f|0)+8>>2])-m|0)/104|0,m=((0|_[A+(52*f|0)+12>>2])-m|0)/104|0,r=0|_[(A=v+(20*u|0)+4|0)>>2];t:do{if((0|r)>0){for(c=0|_[v+(20*u|0)+12>>2],s=0;(0|_[c+(s<<2)>>2])!=(0|m);)if((0|(s=s+1|0))>=(0|r)){h=28;break t}(0|s)==(0|r)&&(h=28)}else h=28}while(0);if(28==(0|h)){if(h=0,(0|r)==(0|_[(d=v+(20*u|0)+8|0)>>2])&&(0|r)<(0|(C=0|r?r<<1:1))){if(C?(_[6630]=1+(0|_[6630]),(r=0|di(16+(C<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,l=r,r=0|_[A>>2]):l=0,c=0|_[(a=v+(20*u|0)+12|0)>>2],(0|r)<=0)c?h=39:s=v+(20*u|0)+16|0;else{s=0;do{_[l+(s<<2)>>2]=_[c+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r));h=39}39==(0|h)&&(h=0,0|n[0|(r=v+(20*u|0)+16|0)]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[a>>2]=0,s=r,r=0|_[A>>2]),n[0|s]=1,_[a>>2]=l,_[d>>2]=C}_[(0|_[v+(20*u|0)+12>>2])+(r<<2)>>2]=m,_[A>>2]=1+(0|_[A>>2])}r=0|_[(A=v+(20*m|0)+4|0)>>2];t:do{if((0|r)>0){for(c=0|_[v+(20*m|0)+12>>2],s=0;(0|_[c+(s<<2)>>2])!=(0|u);)if((0|(s=s+1|0))>=(0|r)){h=49;break t}(0|s)==(0|r)&&(h=49)}else h=49}while(0);if(49==(0|h)){if(h=0,(0|r)==(0|_[(d=v+(20*m|0)+8|0)>>2])&&(0|r)<(0|(y=0|r?r<<1:1))){if(y?(_[6630]=1+(0|_[6630]),(r=0|di(16+(y<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,l=r,r=0|_[A>>2]):l=0,c=0|_[(a=v+(20*m|0)+12|0)>>2],(0|r)<=0)c?h=60:s=v+(20*m|0)+16|0;else{s=0;do{_[l+(s<<2)>>2]=_[c+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r));h=60}60==(0|h)&&(h=0,0|n[0|(r=v+(20*m|0)+16|0)]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[a>>2]=0,s=r,r=0|_[A>>2]),n[0|s]=1,_[a>>2]=l,_[d>>2]=y}_[(0|_[v+(20*m|0)+12>>2])+(r<<2)>>2]=u,_[A>>2]=1+(0|_[A>>2])}f=f+1|0}while((0|f)<(0|_[t+732>>2]))}if((0|o)<=0){if(!v){r=0;break}}else{u=0;do{if((0|(r=0|_[(h=v+(20*u|0)+4|0)>>2]))>0){y=0|g(u,o),m=0|_[v+(20*u|0)+12>>2],f=0;do{if(d=0|_[m+(f<<2)>>2],(0|(s=0|_[(A=v+(20*d|0)+4|0)>>2]))>0){a=0|_[v+(20*d|0)+12>>2],l=k+((0|g(d,o))+u<<2)|0,c=0,r=s;do{(0|u)!=(0|(s=0|_[a+(c<<2)>>2]))&&(w=0|g(s,o),S=(0|_[k+(w+d<<2)>>2])+(0|_[l>>2])|0,(0|_[(w=k+(w+u<<2)|0)>>2])>>>0>S>>>0)&&(_[k+(s+y<<2)>>2]=S,_[w>>2]=S,r=0|_[A>>2]),c=c+1|0}while((0|c)<(0|r));r=0|_[h>>2]}f=f+1|0}while((0|f)<(0|r))}u=u+1|0}while((0|u)!=(0|o));r=0;do{c=v+(20*r|0)+4|0,s=v+(20*r|0)+16|0,0|(l=0|_[(a=v+(20*r|0)+12|0)>>2])&&(0|n[0|s]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[a>>2]=0),n[0|s]=1,_[a>>2]=0,_[c>>2]=0,_[v+(20*r|0)+8>>2]=0,r=r+1|0}while((0|r)!=(0|o))}_[6631]=1+(0|_[6631]),Ni(0|_[v+-4>>2]),h=97}}while(0);if(97==(0|h))if((0|o)>0){r=0,l=0;do{if(c=l,(0|(l=l+1|0))<(0|o)){a=0|g(c,o),s=l;do{(0|_[k+(s+a<<2)>>2])==(0|e)&&(v=0|_[t+720>>2],ne(t,i),w=(0|_[t+732>>2])-1|0,S=0|_[t+740>>2],_[S+(52*w|0)+8>>2]=v+(104*s|0),_[S+(52*w|0)+12>>2]=v+(104*c|0),D=+p[v+(104*s|0)+8>>2]-+p[v+(104*c|0)+8>>2],j=+p[v+(104*s|0)+12>>2]-+p[v+(104*c|0)+12>>2],R=+p[v+(104*s|0)+16>>2]-+p[v+(104*c|0)+16>>2],R=+b(+(D*D+j*j+R*R)),p[S+(52*w|0)+16>>2]=R,n[t+924|0]=1,w=(0|_[t+740>>2])+(52*w|0)+20|0,n[0|w]=1|n[0|w],r=r+1|0),s=s+1|0}while((0|s)!=(0|o))}}while((0|l)!=(0|o))}else r=0;return ml(k),0|(k=r)},_emscripten_bind_btSoftBody_generateClusters_1:function(t,e){return 0|kl(t|=0,e|=0,8192)},_emscripten_bind_btSoftBody_generateClusters_2:function(t,e,i){return 0|kl(t|=0,e|=0,i|=0)},_emscripten_bind_btSoftBody_getCollisionFlags_0:Bp,_emscripten_bind_btSoftBody_getCollisionShape_0:Ip,_emscripten_bind_btSoftBody_getTotalMass_0:function(t){var e,i,n=0,o=0;if((0|(i=0|_[712+(t|=0)>>2]))<=0)return+(n=0);e=0|_[t+720>>2],t=0,n=0;do{n+=(o=+p[e+(104*t|0)+88>>2])>0?1/o:0,t=t+1|0}while((0|t)!=(0|i));return+n},_emscripten_bind_btSoftBody_getUserIndex_0:wp,_emscripten_bind_btSoftBody_getUserPointer_0:Zp,_emscripten_bind_btSoftBody_getWorldTransform_0:Bc,_emscripten_bind_btSoftBody_get_m_anchors_0:function(t){return 788+(t|=0)|0},_emscripten_bind_btSoftBody_get_m_cfg_0:function(t){return 288+(t|=0)|0},_emscripten_bind_btSoftBody_get_m_materials_0:function(t){return 868+(t|=0)|0},_emscripten_bind_btSoftBody_get_m_nodes_0:function(t){return 708+(t|=0)|0},_emscripten_bind_btSoftBody_isActive_0:np,_emscripten_bind_btSoftBody_isKinematicObject_0:ks,_emscripten_bind_btSoftBody_isStaticObject_0:Vs,_emscripten_bind_btSoftBody_isStaticOrKinematicObject_0:rs,_emscripten_bind_btSoftBody_rotate_1:function(t,e){var i,n,o,r,s,c,a,l;t|=0,e|=0,i=Q,Q=Q+64|0,_[i+48>>2]=0,_[i+48+4>>2]=0,_[i+48+8>>2]=0,_[i+48+12>>2]=0,r=(s=+p[e>>2])*(2/(s*s+(o=+p[e+4>>2])*o+(l=+p[e+8>>2])*l+(c=+p[e+12>>2])*c)),n=o*(2/(s*s+o*o+l*l+c*c)),a=l*(2/(s*s+o*o+l*l+c*c)),p[i>>2]=1-(o*n+l*a),p[i+4>>2]=s*n-c*a,p[i+8>>2]=s*a+c*n,p[i+12>>2]=0,p[i+16>>2]=s*n+c*a,p[i+20>>2]=1-(s*r+l*a),p[i+24>>2]=o*a-c*r,p[i+28>>2]=0,p[i+32>>2]=s*a-c*n,p[i+36>>2]=o*a+c*r,p[i+40>>2]=1-(s*r+o*n),p[i+44>>2]=0,ke(t,i),Q=i},_emscripten_bind_btSoftBody_scale_1:function(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0;if(f=0|_[192+(t|=0)>>2],A=+Il[15&_[48+(0|_[f>>2])>>2]](f),(0|(f=0|_[t+712>>2]))>0){s=0;do{i=(d=0|_[t+720>>2])+(104*s|0)+8|0,c=+p[e>>2]*+p[i>>2],p[i>>2]=c,i=d+(104*s|0)+12|0,a=+p[e+4>>2]*+p[i>>2],p[i>>2]=a,i=d+(104*s|0)+16|0,l=+p[e+8>>2]*+p[i>>2],p[i>>2]=l,p[(i=d+(104*s|0)+24|0)>>2]=+p[e>>2]*+p[i>>2],p[(i=d+(104*s|0)+28|0)>>2]=+p[e+4>>2]*+p[i>>2],p[(i=d+(104*s|0)+32|0)>>2]=+p[e+8>>2]*+p[i>>2],i=0|Tt(t+928|0,d=0|_[d+(104*s|0)+96>>2]);t:do{if(i){if((0|(r=0|_[t+936>>2]))<=-1){i=0|_[t+928>>2];break}if(r)for(n=0;;){if(n=n+1|0,!(o=0|_[i+32>>2]))break t;if((0|n)>=(0|r)){i=o;break}i=o}}else i=0}while(0);p[d>>2]=c-A,p[d+4>>2]=a-A,p[d+8>>2]=l-A,p[d+12>>2]=0,p[d+16>>2]=A+c,p[d+20>>2]=A+a,p[d+24>>2]=A+l,p[d+28>>2]=0,U(t+928|0,i,d),s=s+1|0}while((0|s)!=(0|f))}if(ht(t),(i=0|_[t+928>>2])?(f=0|_[t+192>>2],a=+Il[15&_[48+(0|_[f>>2])>>2]](f),A=+p[i+4>>2]-a,l=+p[i+8>>2]-a,p[t+892>>2]=+p[i>>2]-a,p[t+896>>2]=A,p[t+900>>2]=l,p[t+904>>2]=0,l=a+ +p[i+20>>2],A=a+ +p[i+24>>2],p[t+908>>2]=a+ +p[i+16>>2],p[t+912>>2]=l,p[t+916>>2]=A,p[t+920>>2]=0,0|(i=0|_[t+188>>2])&&(f=0|_[t+684>>2],d=0|_[f+32>>2],dd[31&_[16+(0|_[d>>2])>>2]](d,i,t+892|0,t+908|0,0|_[f+36>>2]))):(_[t+892>>2]=0,_[t+892+4>>2]=0,_[t+892+8>>2]=0,_[t+892+12>>2]=0,_[t+892+16>>2]=0,_[t+892+20>>2]=0,_[t+892+24>>2]=0,_[t+892+28>>2]=0),(0|(n=0|_[t+732>>2]))<=0)_t(t);else{o=0|_[t+740>>2],i=0;do{d=0|_[o+(52*i|0)+8>>2],f=0|_[o+(52*i|0)+12>>2],a=+p[d+8>>2]-+p[f+8>>2],l=+p[d+12>>2]-+p[f+12>>2],A=+p[d+16>>2]-+p[f+16>>2],A=+b(+(a*a+l*l+A*A)),p[o+(52*i|0)+16>>2]=A,p[o+(52*i|0)+28>>2]=A*A,i=i+1|0}while((0|i)!=(0|n));i=0;do{p[o+(52*i|0)+24>>2]=(+p[88+(0|_[o+(52*i|0)+8>>2])>>2]+ +p[88+(0|_[o+(52*i|0)+12>>2])>>2])/+p[4+(0|_[o+(52*i|0)+4>>2])>>2],i=i+1|0}while((0|i)!=(0|n));_t(t)}},_emscripten_bind_btSoftBody_setActivationState_1:Vr,_emscripten_bind_btSoftBody_setAnisotropicFriction_2:Cr,_emscripten_bind_btSoftBody_setCcdMotionThreshold_1:Ss,_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1:ms,_emscripten_bind_btSoftBody_setCollisionFlags_1:Os,_emscripten_bind_btSoftBody_setCollisionShape_1:is,_emscripten_bind_btSoftBody_setContactProcessingThreshold_1:Rs,_emscripten_bind_btSoftBody_setFriction_1:ip,_emscripten_bind_btSoftBody_setMass_2:function(t,e,i){e|=0,i=+i,p[(0|_[720+(t|=0)>>2])+(104*e|0)+88>>2]=i>0?1/i:0,n[t+924|0]=1},_emscripten_bind_btSoftBody_setRestitution_1:Zs,_emscripten_bind_btSoftBody_setRollingFriction_1:Ps,_emscripten_bind_btSoftBody_setTotalMass_2:function(t,e,i){e=+e,i|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0;if(o=0|_[712+(t|=0)>>2],i){if((0|o)>0){r=0|_[t+720>>2],i=0;do{p[r+(104*i|0)+88>>2]=0,i=i+1|0}while((0|i)!=(0|o))}if((0|(r=0|_[t+752>>2]))>0){c=0|_[t+760>>2],i=0;do{d=0|_[c+(44*i|0)+8>>2],l=0|_[c+(44*i|0)+12>>2],a=0|_[c+(44*i|0)+16>>2],f=+p[d+8>>2],m=+p[d+12>>2],s=+p[d+16>>2],A=+p[l+8>>2]-f,h=+p[l+12>>2]-m,u=+p[l+16>>2]-s,f=+p[a+8>>2]-f,m=+p[a+12>>2]-m,s=+p[a+16>>2]-s,s=+b(+((A*m-h*f)*(A*m-h*f)+((h*s-u*m)*(h*s-u*m)+(u*f-A*s)*(u*f-A*s)))),p[d+88>>2]=s+ +p[d+88>>2],p[l+88>>2]=s+ +p[l+88>>2],p[a+88>>2]=s+ +p[a+88>>2],i=i+1|0}while((0|i)!=(0|r))}if((0|o)<=0)return void(n[0|(d=t+924|0)]=1);r=0|_[t+720>>2],i=0;do{p[(d=r+(104*i|0)+88|0)>>2]=1/+p[d>>2],i=i+1|0}while((0|i)!=(0|o))}if((0|o)<=0)n[0|(d=t+924|0)]=1;else{r=0|_[t+720>>2],i=0,s=0;do{s+=(h=+p[r+(104*i|0)+88>>2])>0?1/h:0,i=i+1|0}while((0|i)!=(0|o));s=1/s*e,i=0;do{p[(d=r+(104*i|0)+88|0)>>2]=+p[d>>2]/s,i=i+1|0}while((0|i)!=(0|o));n[0|(d=t+924|0)]=1}},_emscripten_bind_btSoftBody_setUserIndex_1:Ks,_emscripten_bind_btSoftBody_setUserPointer_1:Ks,_emscripten_bind_btSoftBody_setWorldTransform_1:ls,_emscripten_bind_btSoftBody_set_m_anchors_1:function(t,e){!function(t,e){Xn(t|=0,e|=0)}(788+(t|=0)|0,e|=0)},_emscripten_bind_btSoftBody_set_m_cfg_1:function(t,e){zn(288+(t|=0)|0,e|=0)},_emscripten_bind_btSoftBody_set_m_materials_1:function(t,e){!function(t,e){jo(t|=0,e|=0)}(868+(t|=0)|0,e|=0)},_emscripten_bind_btSoftBody_set_m_nodes_1:function(t,e){!function(t,e){En(t|=0,e|=0)}(708+(t|=0)|0,e|=0)},_emscripten_bind_btSoftBody_transform_1:function(t,e){ke(t|=0,e|=0)},_emscripten_bind_btSoftBody_translate_1:function(t,e){var i;t|=0,e|=0,i=Q,Q=Q+64|0,_[i>>2]=1065353216,_[i+4>>2]=0,_[i+4+4>>2]=0,_[i+4+8>>2]=0,_[i+4+12>>2]=0,_[i+20>>2]=1065353216,_[i+24>>2]=0,_[i+24+4>>2]=0,_[i+24+8>>2]=0,_[i+24+12>>2]=0,_[i+40>>2]=1065353216,_[i+44>>2]=0,_[i+48>>2]=_[e>>2],_[i+48+4>>2]=_[e+4>>2],_[i+48+8>>2]=_[e+8>>2],_[i+48+12>>2]=_[e+12>>2],ke(t,i),Q=i},_emscripten_bind_btSoftBody_upcast_1:function(t,e){return 0|function(t){return 0|(8==(0|Cl(0|_[236+(t|=0)>>2]))?t:0)}(e|=0)},_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0:Kr,_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1:cs,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1:vr,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2:pr,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3:tr,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1:Lr,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2:hr,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1:Yr,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3:q_,_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3:function(t,e,i,o){e|=0,i|=0,o|=0;var r=0,s=0,p=0,c=0;if((0|(r=0|_[328+(t|=0)>>2]))==(0|_[t+332>>2])&&(0|r)<(0|(c=0|r?r<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(r=0|di(16+(c<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,p=r,r=0|_[t+328>>2]):p=0,(0|r)>0){s=0;do{_[p+(s<<2)>>2]=_[(0|_[t+336>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r))}(s=0|_[t+336>>2])&&(0|n[t+340|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),r=0|_[t+328>>2]),_[t+336>>2]=0),n[t+340|0]=1,_[t+336>>2]=p,_[t+332>>2]=c}_[(0|_[t+336>>2])+(r<<2)>>2]=e,_[t+328>>2]=r+1,_[e+284>>2]=_[t+452>>2],St(t,e,i,o)},_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5:function(t,e,i,o,r){var s;if(t|=0,e|=0,i|=0,o|=0,r|=0,Oe(s=0|S_(460),t,e,i),_[s>>2]=4720,n[s+340|0]=1,_[s+336>>2]=0,_[s+328>>2]=0,_[s+332>>2]=0,p[s+352>>2]=1.2000000476837158,p[s+356>>2]=0,p[s+360>>2]=0,p[s+364>>2]=1e3,_[s+368>>2]=0,_[s+368+4>>2]=0,_[s+368+8>>2]=0,_[s+368+12>>2]=0,_[s+368+16>>2]=0,_[s+368+20>>2]=0,_[s+368+24>>2]=0,_[s+396>>2]=-1054867456,_[s+400>>2]=0,p[s+404>>2]=0,n[s+424|0]=1,_[s+420>>2]=0,_[s+412>>2]=0,_[s+416>>2]=0,_[s+452>>2]=r,n[s+456|0]=0,r||(_[6630]=1+(0|_[6630]),(o=0|di(59))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,p[o+12>>2]=1,_[o+8>>2]=0,_[o+4>>2]=5,_[o>>2]=3844,n[o+36|0]=1,_[o+32>>2]=0,_[o+24>>2]=0,_[o+28>>2]=0,n[o+16|0]=1,_[s+452>>2]=o,n[s+456|0]=1),_[s+344>>2]=4302,n[s+348|0]=1,n[s+349|0]=0,n[s+350|0]=0,_[s+384>>2]=e,_[s+388>>2]=t,de(s+408|0),(0|(r=0|_[s+412>>2]))<=0)return p[(e=s+428|0)>>2]=.25,_[(e=s+432|0)>>2]=0,_[(e=s+436|0)>>2]=0,_[(e=s+444|0)>>2]=1,_[(e=s+448|0)>>2]=1,p[s+352>>2]=1.2000000476837158,p[s+356>>2]=0,p[s+360>>2]=0,_[(e=s+392|0)>>2]=0,_[s+368>>2]=0,_[s+368+4>>2]=0,_[s+368+8>>2]=0,_[s+368+12>>2]=0,_[s+396>>2]=-1054867456,_[s+400>>2]=0,p[s+404>>2]=0,de(s+408|0),0|s;i=0;do{if(e=(0|_[s+420>>2])+(i<<2)|0,o=0|_[e>>2],_[e>>2]=0,0|o)do{e=o,o=0|_[o+280>>2],yl(e)}while(0|o);i=i+1|0}while((0|i)!=(0|r));return p[(e=s+428|0)>>2]=.25,_[(e=s+432|0)>>2]=0,_[(e=s+436|0)>>2]=0,_[(e=s+444|0)>>2]=1,_[(e=s+448|0)>>2]=1,p[s+352>>2]=1.2000000476837158,p[s+356>>2]=0,p[s+360>>2]=0,_[(e=s+392|0)>>2]=0,_[s+368>>2]=0,_[s+368+4>>2]=0,_[s+368+8>>2]=0,_[s+368+12>>2]=0,_[s+396>>2]=-1054867456,_[s+400>>2]=0,p[s+404>>2]=0,de(s+408|0),0|s},_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3:an,_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2:Qn,_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5:$o,_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3:or,_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0:Ts,_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0:Fp,_emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0:Bs,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0:Cp,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0:Wp,_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24376]||Qs(24376),ed[127&_[76+(0|_[t>>2])>>2]](e,t),_[6170]=_[e>>2],_[6171]=_[e+4>>2],_[6172]=_[e+8>>2],_[6173]=_[e+12>>2],Q=e,24680},_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0:Ns,_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0:function(t){return 0|function(t){return(t|=0)+324|0}(t|=0)},_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0:up,_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0:function(t){return 0|function(t){return(t|=0)+352|0}(t|=0)},_emscripten_bind_btSoftRigidDynamicsWorld_performDiscreteCollisionDetection_0:ws,_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3:lr,_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1:os,_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1:Ur,_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1:Er,_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1:Hr,_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1:function(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0;o=0|_[328+(t|=0)>>2];t:do{if((0|o)>0){for(r=0|_[t+336>>2],i=0;(0|_[(n=r+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|o))break t;(0|i)<(0|o)&&(_[n>>2]=_[r+(o+-1<<2)>>2],_[(0|_[t+336>>2])+(o+-1<<2)>>2]=e,_[t+328>>2]=o+-1)}}while(0);if(0|(i=0|_[e+188>>2])&&(r=0|_[t+68>>2],r=0|Gl[127&_[36+(0|_[r>>2])>>2]](r),_d[127&_[40+(0|_[r>>2])>>2]](r,i,0|_[t+24>>2]),r=0|_[t+68>>2],_d[127&_[12+(0|_[r>>2])>>2]](r,i,0|_[t+24>>2]),_[e+188>>2]=0),!((0|(o=0|_[t+8>>2]))<=0)){for(r=0|_[t+16>>2],i=0;(0|_[(n=r+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|o)){s=15;break}15!=(0|s)&&((0|i)>=(0|o)||(_[n>>2]=_[r+(o+-1<<2)>>2],_[(0|_[t+16>>2])+(o+-1<<2)>>2]=e,_[t+8>>2]=o+-1))}},_emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1:ts,_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1:Jr,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1:mr,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2:er,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3:nr,_emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1:ns,_emscripten_bind_btSphereShape___destroy___0:Kr,_emscripten_bind_btSphereShape_btSphereShape_1:function(t){var e;return t=+t,e=0|function(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(71))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(),function(t,e){e=+e,_[8+(t|=0)>>2]=0,_[t+12>>2]=1065353216,_[t+16>>2]=1065353216,_[t+20>>2]=1065353216,p[t+24>>2]=0,p[t+44>>2]=.03999999910593033,_[t>>2]=7568,_[t+4>>2]=8,Aa(t+28|0,e),p[t+44>>2]=e}(e,t),0|e},_emscripten_bind_btSphereShape_calculateLocalInertia_2:Sr,_emscripten_bind_btSphereShape_getLocalScaling_0:Gs,_emscripten_bind_btSphereShape_getMargin_0:Us,_emscripten_bind_btSphereShape_setLocalScaling_1:ps,_emscripten_bind_btSphereShape_setMargin_1:hs,_emscripten_bind_btStaticPlaneShape___destroy___0:Kr,_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2:function(t,e){var i,n,o,r,s;return t|=0,e=+e,i=0|function(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(103))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(),_[i+4>>2]=35,_[i+8>>2]=0,p[i+12>>2]=0,_[i>>2]=7944,s=+p[t>>2],r=+p[t+4>>2],o=+p[t+8>>2],t=0|_[t+12>>2],n=1/+b(+(s*s+r*r+o*o)),p[i+48>>2]=s*n,p[i+52>>2]=r*n,p[i+56>>2]=o*n,_[i+60>>2]=t,p[i+64>>2]=e,_[i+68>>2]=0,_[i+68+4>>2]=0,_[i+68+8>>2]=0,_[i+68+12>>2]=0,_[i+4>>2]=28,0|i},_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2:Sr,_emscripten_bind_btStaticPlaneShape_getLocalScaling_0:Gs,_emscripten_bind_btStaticPlaneShape_setLocalScaling_1:ps,_emscripten_bind_btStridingMeshInterface___destroy___0:Kr,_emscripten_bind_btStridingMeshInterface_setScaling_1:zs,_emscripten_bind_btTransform___destroy___0:qp,_emscripten_bind_btTransform_btTransform_0:function(){return 0|a_(64)},_emscripten_bind_btTransform_btTransform_2:function(t,e){var i;return t|=0,e|=0,To(i=0|a_(64),t,e),0|i},_emscripten_bind_btTransform_getBasis_0:function(t){return 0|Cl(t|=0)},_emscripten_bind_btTransform_getOrigin_0:bc,_emscripten_bind_btTransform_getRotation_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24368]||Qs(24368),function(t,e){Qt(e|=0,t|=0)}(e,t),_[6166]=_[e>>2],_[6167]=_[e+4>>2],_[6168]=_[e+8>>2],_[6169]=_[e+12>>2],Q=e,24664},_emscripten_bind_btTransform_inverse_0:function(t){var e;return t|=0,e=Q,Q=Q+64|0,0|n[24360]||Qs(24360),_o(e,t),Yo(24600,e),Q=e,24600},_emscripten_bind_btTransform_op_mul_1:function(t,e){return 0|Po(t|=0,e|=0)},_emscripten_bind_btTransform_setFromOpenGLMatrix_1:function(t,e){z_(t|=0,e|=0)},_emscripten_bind_btTransform_setIdentity_0:function(t){Ho(t|=0)},_emscripten_bind_btTransform_setOrigin_1:function(t,e){p_(t|=0,e|=0)},_emscripten_bind_btTransform_setRotation_1:function(t,e){Hs(t|=0,e|=0)},_emscripten_bind_btTriangleMeshShape___destroy___0:Kr,_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2:Sr,_emscripten_bind_btTriangleMeshShape_getLocalScaling_0:Gs,_emscripten_bind_btTriangleMeshShape_setLocalScaling_1:ps,_emscripten_bind_btTriangleMesh___destroy___0:Kr,_emscripten_bind_btTriangleMesh_addTriangle_3:function(t,e,i,n){var o;e|=0,i|=0,n|=0,o=0|_[32+(t|=0)>>2],_[o>>2]=1+(0|_[o>>2]),yt(t,0|je(t,e,0)),yt(t,0|je(t,i,0)),yt(t,0|je(t,n,0))},_emscripten_bind_btTriangleMesh_addTriangle_4:function(t,e,i,n,o){var r;e|=0,i|=0,n|=0,o|=0,r=0|_[32+(t|=0)>>2],_[r>>2]=1+(0|_[r>>2]),yt(t,0|je(t,e,o)),yt(t,0|je(t,i,o)),yt(t,0|je(t,n,o))},_emscripten_bind_btTriangleMesh_btTriangleMesh_0:function(){var t;return lt(t=0|w_(),1,1),0|t},_emscripten_bind_btTriangleMesh_btTriangleMesh_1:function(t){var e;return t|=0,lt(e=0|w_(),t,1),0|e},_emscripten_bind_btTriangleMesh_btTriangleMesh_2:function(t,e){var i;return t|=0,e|=0,lt(i=0|w_(),t,e),0|i},_emscripten_bind_btTriangleMesh_setScaling_1:zs,_emscripten_bind_btTypedConstraint___destroy___0:Kr,_emscripten_bind_btTypedConstraint_enableFeedback_1:Ws,_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btTypedConstraint_getParam_2:kr,_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btTypedConstraint_setParam_3:br,_emscripten_bind_btVector3Array___destroy___0:As,_emscripten_bind_btVector3Array_at_1:function(t,e){return e|=0,0|wa(0|_[12+(t|=0)>>2],e)},_emscripten_bind_btVector3Array_size_0:Oc,_emscripten_bind_btVector3___destroy___0:sp,_emscripten_bind_btVector3_btVector3_0:Na,_emscripten_bind_btVector3_btVector3_3:function(t,e,i){var n,o;return t=+t,e=+e,i=+i,o=Q,Q=Q+16|0,p[o+8>>2]=t,p[o+4>>2]=e,p[o>>2]=i,R_(n=0|Q_(),o+8|0,o+4|0,o),Q=o,0|n},_emscripten_bind_btVector3_dot_1:N_,_emscripten_bind_btVector3_length_0:us,_emscripten_bind_btVector3_normalize_0:Pc,_emscripten_bind_btVector3_op_add_1:Mp,_emscripten_bind_btVector3_op_mul_1:Y_,_emscripten_bind_btVector3_op_sub_1:Pp,_emscripten_bind_btVector3_rotate_2:function(t,e,i){var o;return t|=0,e|=0,i=+i,o=Q,Q=Q+16|0,0|n[24440]||Qs(24440),Zi(o,t,e,i),_[6242]=_[o>>2],_[6243]=_[o+4>>2],_[6244]=_[o+8>>2],_[6245]=_[o+12>>2],Q=o,24968},_emscripten_bind_btVector3_setValue_3:function(t,e,i,n){var o;t|=0,e=+e,i=+i,n=+n,o=Q,Q=Q+16|0,p[o+8>>2]=e,p[o+4>>2]=i,p[o>>2]=n,R_(t,o+8|0,o+4|0,o),Q=o},_emscripten_bind_btVector3_setX_1:cc,_emscripten_bind_btVector3_setY_1:pc,_emscripten_bind_btVector3_setZ_1:sc,_emscripten_bind_btVector3_x_0:yc,_emscripten_bind_btVector3_y_0:Ep,_emscripten_bind_btVector3_z_0:Qp,_emscripten_bind_btVector4___destroy___0:sp,_emscripten_bind_btVector4_btVector4_0:Na,_emscripten_bind_btVector4_btVector4_4:function(t,e,i,n){var o,_;return t=+t,e=+e,i=+i,n=+n,_=Q,Q=Q+16|0,p[_+12>>2]=t,p[_+8>>2]=e,p[_+4>>2]=i,p[_>>2]=n,rr(o=0|Q_(),_+12|0,_+8|0,_+4|0,_),Q=_,0|o},_emscripten_bind_btVector4_dot_1:N_,_emscripten_bind_btVector4_length_0:us,_emscripten_bind_btVector4_normalize_0:Pc,_emscripten_bind_btVector4_op_add_1:Mp,_emscripten_bind_btVector4_op_mul_1:Y_,_emscripten_bind_btVector4_op_sub_1:Pp,_emscripten_bind_btVector4_rotate_2:function(t,e,i){var o;return t|=0,e|=0,i=+i,o=Q,Q=Q+16|0,0|n[24400]||Qs(24400),Zi(o,t,e,i),_[6202]=_[o>>2],_[6203]=_[o+4>>2],_[6204]=_[o+8>>2],_[6205]=_[o+12>>2],Q=o,24808},_emscripten_bind_btVector4_setValue_4:Ro,_emscripten_bind_btVector4_setX_1:cc,_emscripten_bind_btVector4_setY_1:pc,_emscripten_bind_btVector4_setZ_1:sc,_emscripten_bind_btVector4_w_0:Hp,_emscripten_bind_btVector4_x_0:yc,_emscripten_bind_btVector4_y_0:Ep,_emscripten_bind_btVector4_z_0:Qp,_emscripten_bind_btVehicleRaycasterResult___destroy___0:qp,_emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0:ha,_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0:ia,_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0:Cl,_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1:vc,_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1:o_,_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1:d_,_emscripten_bind_btVehicleRaycaster___destroy___0:Kr,_emscripten_bind_btVehicleRaycaster_castRay_3:_r,_emscripten_bind_btVehicleTuning_btVehicleTuning_0:function(){var t;return function(t){p[(t|=0)>>2]=5.880000114440918,p[t+4>>2]=.8299999833106995,p[t+8>>2]=.8799999952316284,p[t+12>>2]=500,p[t+16>>2]=10.5,p[t+20>>2]=6e3}(t=0|a_(24)),0|t},_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0:ya,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0:ma,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0:ga,_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0:ua,_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0:ka,_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0:Nc,_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1:Sc,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1:Cc,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1:Ec,_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1:ea,_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1:ta,_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1:Aa,_emscripten_bind_btWheelInfoConstructionInfo___destroy___0:qp,_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0:function(t){return 0|!!(1&n[80+(t|=0)|0])},_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0:Cl,_emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0:ba,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0:Jc,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0:Kc,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0:da,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0:zc,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0:ja,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0:ia,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0:qc,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0:Lc,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0:Qc,_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1:function(t,e){e|=0,n[80+(t|=0)|0]=1&e},_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1:d_,_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1:Dc,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1:tc,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1:ic,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1:hc,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1:ec,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1:t_,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1:o_,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1:nc,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1:Xp,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1:zp,_emscripten_bind_btWheelInfo___destroy___0:qp,_emscripten_bind_btWheelInfo_btWheelInfo_1:function(t){var e;return t|=0,rn(e=0|a_(284),t),0|e},_emscripten_bind_btWheelInfo_getSuspensionRestLength_0:rc,_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0:function(t){return 0|!!(1&n[260+(t|=0)|0])},_emscripten_bind_btWheelInfo_get_m_brake_0:function(t){return+ +p[256+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0:function(t){return 156+(t|=0)|0},_emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0:function(t){return+ +p[268+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_deltaRotation_0:function(t){return+ +p[240+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_engineForce_0:function(t){return+ +p[252+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_frictionSlip_0:function(t){return+ +p[228+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0:function(t){return+ +p[248+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0:function(t){return+ +p[208+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_raycastInfo_0:Cl,_emscripten_bind_btWheelInfo_get_m_rollInfluence_0:function(t){return+ +p[244+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_rotation_0:function(t){return+ +p[236+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_skidInfo_0:function(t){return+ +p[280+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_steering_0:function(t){return+ +p[232+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0:function(t){return+ +p[272+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0:rc,_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0:function(t){return+ +p[216+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0:function(t){return 188+(t|=0)|0},_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0:function(t){return 172+(t|=0)|0},_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0:function(t){return+ +p[220+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0:function(t){return+ +p[224+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0:function(t){return+ +p[212+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0:function(t){return+ +p[276+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_worldTransform_0:Ga,_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1:function(t,e){e|=0,n[260+(t|=0)|0]=1&e},_emscripten_bind_btWheelInfo_set_m_brake_1:function(t,e){e=+e,p[256+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1:function(t,e){e|=0,_[156+(t|=0)>>2]=_[e>>2],_[t+156+4>>2]=_[e+4>>2],_[t+156+8>>2]=_[e+8>>2],_[t+156+12>>2]=_[e+12>>2]},_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1:function(t,e){e=+e,p[268+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_deltaRotation_1:function(t,e){e=+e,p[240+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_engineForce_1:gp,_emscripten_bind_btWheelInfo_set_m_frictionSlip_1:function(t,e){e=+e,p[228+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1:hp,_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1:function(t,e){e=+e,p[208+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_raycastInfo_1:function(t,e){var i;e|=0,i=92+(t|=0)|0;do{_[t>>2]=_[e>>2],t=t+4|0,e=e+4|0}while((0|t)<(0|i))},_emscripten_bind_btWheelInfo_set_m_rollInfluence_1:function(t,e){e=+e,p[244+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_rotation_1:function(t,e){e=+e,p[236+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_skidInfo_1:function(t,e){e=+e,p[280+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_steering_1:function(t,e){e=+e,p[232+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1:function(t,e){e=+e,p[272+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1:function(t,e){e=+e,p[204+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1:function(t,e){e=+e,p[216+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1:function(t,e){e|=0,_[188+(t|=0)>>2]=_[e>>2],_[t+188+4>>2]=_[e+4>>2],_[t+188+8>>2]=_[e+8>>2],_[t+188+12>>2]=_[e+12>>2]},_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1:function(t,e){e|=0,_[172+(t|=0)>>2]=_[e>>2],_[t+172+4>>2]=_[e+4>>2],_[t+172+8>>2]=_[e+8>>2],_[t+172+12>>2]=_[e+12>>2]},_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1:function(t,e){e=+e,p[220+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1:function(t,e){e=+e,p[224+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1:function(t,e){e=+e,p[212+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1:function(t,e){e=+e,p[276+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_worldTransform_1:function(t,e){Yo(92+(t|=0)|0,e|=0)},_emscripten_bind_btWheelInfo_updateWheel_2:function(t,e,i){e|=0;var o,r,s,c,a,l,d,b,A=0,f=0;return 0|n[84+(t|=0)|0]?(f=+p[t>>2],o=+p[t+4>>2],r=+p[t+8>>2],s=f*+p[t+52>>2]+o*+p[t+56>>2]+r*+p[t+60>>2],c=+p[t+16>>2]-+p[e+52>>2],a=+p[t+20>>2]-+p[e+56>>2],l=+p[t+24>>2]-+p[e+60>>2],d=+p[e+332>>2],b=+p[e+336>>2],A=+p[e+328>>2],s>=-.10000000149011612?(p[t+272>>2]=0,f=10,void(p[(e=t+268|0)>>2]=f)):(p[t+272>>2]=-1/s*(f*(d*l-a*b+ +p[e+312>>2])+o*(c*b-l*A+ +p[e+316>>2])+r*(a*A-c*d+ +p[e+320>>2])),f=-1/s,void(p[(e=t+268|0)>>2]=f))):(_[t+32>>2]=_[t+204>>2],p[t+272>>2]=0,A=-+p[t+56>>2],f=-+p[t+60>>2],p[t>>2]=-+p[t+52>>2],p[t+4>>2]=A,p[t+8>>2]=f,p[t+12>>2]=0,f=1,void(p[(e=t+268|0)>>2]=f))},_emscripten_bind_tAnchorArray___destroy___0:As,_emscripten_bind_tAnchorArray_at_1:function(t,e){return t|=0,e|=0,0|n[24384]||Qs(24384),function(t){t|=0,_[6174]=_[t>>2],_[6175]=_[t+4>>2],_[6176]=_[t+8>>2],_[6177]=_[t+12>>2],_[6178]=_[t+16>>2],_[6179]=_[t+20>>2],_[6180]=_[t+24>>2],Vn(24724,t+28|0),_[6193]=_[t+76>>2],_[6194]=_[t+76+4>>2],_[6195]=_[t+76+8>>2],_[6196]=_[t+76+12>>2],_[6197]=_[t+76+16>>2]}(0|function(t,e){return(t|=0)+(96*(e|=0)|0)|0}(0|_[t+12>>2],e)),24696},_emscripten_bind_tAnchorArray_clear_0:Rc,_emscripten_bind_tAnchorArray_pop_back_0:function(t){!function(t){_[4+(t|=0)>>2]=(0|_[t+4>>2])-1}(t|=0)},_emscripten_bind_tAnchorArray_push_back_1:function(t,e){Un(t|=0,e|=0)},_emscripten_bind_tAnchorArray_size_0:Oc,_emscripten_bind_tMaterialArray___destroy___0:As,_emscripten_bind_tMaterialArray_at_1:zr,_emscripten_bind_tMaterialArray_size_0:Oc,_emscripten_bind_tNodeArray___destroy___0:As,_emscripten_bind_tNodeArray_at_1:function(t,e){return e|=0,0|function(t,e){return(t|=0)+(104*(e|=0)|0)|0}(0|_[12+(t|=0)>>2],e)},_emscripten_bind_tNodeArray_size_0:Oc,_emscripten_enum_PHY_ScalarType_PHY_DOUBLE:wl,_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88:nl,_emscripten_enum_PHY_ScalarType_PHY_FLOAT:function(){return 0},_emscripten_enum_PHY_ScalarType_PHY_INTEGER:pl,_emscripten_enum_PHY_ScalarType_PHY_SHORT:al,_emscripten_enum_PHY_ScalarType_PHY_UCHAR:function(){return 5},_emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM:al,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP:wl,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM:nl,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP:pl,_emscripten_replace_memory:function(t){return n=new Int8Array(t),r=new Uint8Array(t),o=new Int16Array(t),s=new Uint16Array(t),_=new Int32Array(t),p=new Float32Array(t),c=new Float64Array(t),i=t,!0},_free:Ni,_i64Add:xr,_i64Subtract:Ir,_llvm_bswap_i16:Ma,_llvm_bswap_i32:Ap,_malloc:di,_memcpy:_e,_memmove:Do,_memset:wn,_sbrk:yo,dynCall_di:function(t,e){return e|=0,+Il[15&(t|=0)](0|e)},dynCall_did:function(t,e,i){return e|=0,i=+i,+Bl[1&(t|=0)](0|e,+i)},dynCall_diidii:function(t,e,i,n,o,_){return e|=0,i|=0,n=+n,o|=0,_|=0,+Wl[3&(t|=0)](0|e,0|i,+n,0|o,0|_)},dynCall_diii:function(t,e,i,n){return e|=0,i|=0,n|=0,+Fl[15&(t|=0)](0|e,0|i,0|n)},dynCall_diiidii:function(t,e,i,n,o,_,r){return e|=0,i|=0,n|=0,o=+o,_|=0,r|=0,+xl[3&(t|=0)](0|e,0|i,0|n,+o,0|_,0|r)},dynCall_diiii:function(t,e,i,n,o){return e|=0,i|=0,n|=0,o|=0,+Ol[1&(t|=0)](0|e,0|i,0|n,0|o)},dynCall_diiiii:function(t,e,i,n,o,_){return e|=0,i|=0,n|=0,o|=0,_|=0,+Tl[15&(t|=0)](0|e,0|i,0|n,0|o,0|_)},dynCall_diiiiiiii:function(t,e,i,n,o,_,r,s,p){return e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,+Pl[1&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p)},dynCall_diiiiiiiii:function(t,e,i,n,o,_,r,s,p,c){return e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,+Ml[3&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,0|c)},dynCall_diiiiiiiiii:function(t,e,i,n,o,_,r,s,p,c,a){return e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,a|=0,+Vl[3&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,0|c,0|a)},dynCall_ii:function(t,e){return e|=0,0|Gl[127&(t|=0)](0|e)},dynCall_iidid:function(t,e,i,n,o){return e|=0,i=+i,n|=0,o=+o,0|Nl[1&(t|=0)](0|e,+i,0|n,+o)},dynCall_iii:function(t,e,i){return e|=0,i|=0,0|Ll[31&(t|=0)](0|e,0|i)},dynCall_iiid:function(t,e,i,n){return e|=0,i|=0,n=+n,0|Ql[7&(t|=0)](0|e,0|i,+n)},dynCall_iiii:function(t,e,i,n){return e|=0,i|=0,n|=0,0|El[63&(t|=0)](0|e,0|i,0|n)},dynCall_iiiii:function(t,e,i,n,o){return e|=0,i|=0,n|=0,o|=0,0|Hl[31&(t|=0)](0|e,0|i,0|n,0|o)},dynCall_iiiiiii:function(t,e,i,n,o,_,r){return e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,0|Zl[3&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r)},dynCall_iiiiiiiiii:function(t,e,i,n,o,_,r,s,p,c){return e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,0|Ul[3&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,0|c)},dynCall_iiiiiiiiiii:function(t,e,i,n,o,_,r,s,p,c,a){return e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,a|=0,0|Yl[3&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,0|c,0|a)},dynCall_v:function(t){Jl[1&(t|=0)]()},dynCall_vi:function(t,e){e|=0,Xl[511&(t|=0)](0|e)},dynCall_vid:function(t,e,i){e|=0,i=+i,zl[31&(t|=0)](0|e,+i)},dynCall_vidd:function(t,e,i,n){e|=0,i=+i,n=+n,Kl[7&(t|=0)](0|e,+i,+n)},dynCall_viddiii:function(t,e,i,n,o,_,r){e|=0,i=+i,n=+n,o|=0,_|=0,r|=0,ql[3&(t|=0)](0|e,+i,+n,0|o,0|_,0|r)},dynCall_vidi:function(t,e,i,n){e|=0,i=+i,n|=0,$l[15&(t|=0)](0|e,+i,0|n)},dynCall_vidii:function(t,e,i,n,o){e|=0,i=+i,n|=0,o|=0,td[1&(t|=0)](0|e,+i,0|n,0|o)},dynCall_vii:function(t,e,i){e|=0,i|=0,ed[127&(t|=0)](0|e,0|i)},dynCall_viid:function(t,e,i,n){e|=0,i|=0,n=+n,id[7&(t|=0)](0|e,0|i,+n)},dynCall_viidi:function(t,e,i,n,o){e|=0,i|=0,n=+n,o|=0,nd[7&(t|=0)](0|e,0|i,+n,0|o)},dynCall_viidii:function(t,e,i,n,o,_){e|=0,i|=0,n=+n,o|=0,_|=0,od[1&(t|=0)](0|e,0|i,+n,0|o,0|_)},dynCall_viii:function(t,e,i,n){e|=0,i|=0,n|=0,_d[127&(t|=0)](0|e,0|i,0|n)},dynCall_viiid:function(t,e,i,n,o){e|=0,i|=0,n|=0,o=+o,rd[15&(t|=0)](0|e,0|i,0|n,+o)},dynCall_viiidii:function(t,e,i,n,o,_,r){e|=0,i|=0,n|=0,o=+o,_|=0,r|=0,sd[1&(t|=0)](0|e,0|i,0|n,+o,0|_,0|r)},dynCall_viiii:function(t,e,i,n,o){e|=0,i|=0,n|=0,o|=0,pd[127&(t|=0)](0|e,0|i,0|n,0|o)},dynCall_viiiid:function(t,e,i,n,o,_){e|=0,i|=0,n|=0,o|=0,_=+_,cd[1&(t|=0)](0|e,0|i,0|n,0|o,+_)},dynCall_viiiidddddidi:function(t,e,i,n,o,_,r,s,p,c,a,l,d){e|=0,i|=0,n|=0,o|=0,_=+_,r=+r,s=+s,p=+p,c=+c,a|=0,l=+l,d|=0,ad[1&(t|=0)](0|e,0|i,0|n,0|o,+_,+r,+s,+p,+c,0|a,+l,0|d)},dynCall_viiiiddddiid:function(t,e,i,n,o,_,r,s,p,c,a,l){e|=0,i|=0,n|=0,o|=0,_=+_,r=+r,s=+s,p=+p,c|=0,a|=0,l=+l,ld[1&(t|=0)](0|e,0|i,0|n,0|o,+_,+r,+s,+p,0|c,0|a,+l)},dynCall_viiiii:function(t,e,i,n,o,_){e|=0,i|=0,n|=0,o|=0,_|=0,dd[31&(t|=0)](0|e,0|i,0|n,0|o,0|_)},dynCall_viiiiid:function(t,e,i,n,o,_,r){e|=0,i|=0,n|=0,o|=0,_|=0,r=+r,bd[1&(t|=0)](0|e,0|i,0|n,0|o,0|_,+r)},dynCall_viiiiii:function(t,e,i,n,o,_,r){e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,Ad[7&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r)},dynCall_viiiiiii:function(t,e,i,n,o,_,r,s){e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,fd[1&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s)},dynCall_viiiiiiiid:function(t,e,i,n,o,_,r,s,p,c){e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c=+c,ud[1&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,+c)},dynCall_viiiiiiiii:function(t,e,i,n,o,_,r,s,p,c){e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,md[1&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,0|c)},dynCall_viiiiiiiiii:function(t,e,i,n,o,_,r,s,p,c,a){e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,a|=0,hd[3&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,0|c,0|a)},establishStackSpace:function(t,e){Q=t|=0,0},stackAlloc:function(t){var e;return e=Q,Q=15+(Q=Q+(t|=0)|0)&-16,0|e},stackRestore:function(t){Q=t|=0},stackSave:function(){return 0|Q}}}(ot,_t,h),st=i.__GLOBAL__sub_I_btQuickprof_cpp=rt.__GLOBAL__sub_I_btQuickprof_cpp,pt=(i.___cxa_can_catch=rt.___cxa_can_catch,i.___cxa_is_pointer_type=rt.___cxa_is_pointer_type,i.___muldi3=rt.___muldi3,i.___udivdi3=rt.___udivdi3,i._bitshift64Lshr=rt._bitshift64Lshr,i._bitshift64Shl=rt._bitshift64Shl,i._emscripten_bind_Anchor___destroy___0=rt._emscripten_bind_Anchor___destroy___0),ct=i._emscripten_bind_Anchor_get_m_body_0=rt._emscripten_bind_Anchor_get_m_body_0,at=i._emscripten_bind_Anchor_get_m_c0_0=rt._emscripten_bind_Anchor_get_m_c0_0,lt=i._emscripten_bind_Anchor_get_m_c1_0=rt._emscripten_bind_Anchor_get_m_c1_0,dt=i._emscripten_bind_Anchor_get_m_c2_0=rt._emscripten_bind_Anchor_get_m_c2_0,bt=i._emscripten_bind_Anchor_get_m_influence_0=rt._emscripten_bind_Anchor_get_m_influence_0,At=i._emscripten_bind_Anchor_get_m_local_0=rt._emscripten_bind_Anchor_get_m_local_0,ft=i._emscripten_bind_Anchor_get_m_node_0=rt._emscripten_bind_Anchor_get_m_node_0,ut=i._emscripten_bind_Anchor_set_m_body_1=rt._emscripten_bind_Anchor_set_m_body_1,mt=i._emscripten_bind_Anchor_set_m_c0_1=rt._emscripten_bind_Anchor_set_m_c0_1,ht=i._emscripten_bind_Anchor_set_m_c1_1=rt._emscripten_bind_Anchor_set_m_c1_1,yt=i._emscripten_bind_Anchor_set_m_c2_1=rt._emscripten_bind_Anchor_set_m_c2_1,gt=i._emscripten_bind_Anchor_set_m_influence_1=rt._emscripten_bind_Anchor_set_m_influence_1,Ct=i._emscripten_bind_Anchor_set_m_local_1=rt._emscripten_bind_Anchor_set_m_local_1,vt=i._emscripten_bind_Anchor_set_m_node_1=rt._emscripten_bind_Anchor_set_m_node_1,St=i._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2=rt._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2,wt=i._emscripten_bind_ClosestConvexResultCallback___destroy___0=rt._emscripten_bind_ClosestConvexResultCallback___destroy___0,kt=i._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0,Rt=i._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0,jt=i._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0,Dt=i._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0,It=i._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0,Bt=i._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0,Wt=i._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0,Ft=i._emscripten_bind_ClosestConvexResultCallback_hasHit_0=rt._emscripten_bind_ClosestConvexResultCallback_hasHit_0,xt=i._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1,Ot=i._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1,Tt=i._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1,Pt=i._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1,Mt=i._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1,Vt=i._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1,Gt=i._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1,Nt=i._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2=rt._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2,Lt=i._emscripten_bind_ClosestRayResultCallback___destroy___0=rt._emscripten_bind_ClosestRayResultCallback___destroy___0,Qt=i._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0,Et=i._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0,Ht=i._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0,Zt=i._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0,Ut=i._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0,Yt=i._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0,Jt=i._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0,Xt=i._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0,zt=i._emscripten_bind_ClosestRayResultCallback_hasHit_0=rt._emscripten_bind_ClosestRayResultCallback_hasHit_0,Kt=i._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1,qt=i._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1,$t=i._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1,te=i._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1,ee=i._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1,ie=i._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1,ne=i._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1,oe=i._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1,_e=i._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=rt._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0,re=i._emscripten_bind_ConcreteContactResultCallback___destroy___0=rt._emscripten_bind_ConcreteContactResultCallback___destroy___0,se=i._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=rt._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7,pe=i._emscripten_bind_Config___destroy___0=rt._emscripten_bind_Config___destroy___0,ce=i._emscripten_bind_Config_get_citerations_0=rt._emscripten_bind_Config_get_citerations_0,ae=i._emscripten_bind_Config_get_collisions_0=rt._emscripten_bind_Config_get_collisions_0,le=i._emscripten_bind_Config_get_diterations_0=rt._emscripten_bind_Config_get_diterations_0,de=i._emscripten_bind_Config_get_kAHR_0=rt._emscripten_bind_Config_get_kAHR_0,be=i._emscripten_bind_Config_get_kCHR_0=rt._emscripten_bind_Config_get_kCHR_0,Ae=i._emscripten_bind_Config_get_kDF_0=rt._emscripten_bind_Config_get_kDF_0,fe=i._emscripten_bind_Config_get_kDG_0=rt._emscripten_bind_Config_get_kDG_0,ue=i._emscripten_bind_Config_get_kDP_0=rt._emscripten_bind_Config_get_kDP_0,me=i._emscripten_bind_Config_get_kKHR_0=rt._emscripten_bind_Config_get_kKHR_0,he=i._emscripten_bind_Config_get_kLF_0=rt._emscripten_bind_Config_get_kLF_0,ye=i._emscripten_bind_Config_get_kMT_0=rt._emscripten_bind_Config_get_kMT_0,ge=i._emscripten_bind_Config_get_kPR_0=rt._emscripten_bind_Config_get_kPR_0,Ce=i._emscripten_bind_Config_get_kSHR_0=rt._emscripten_bind_Config_get_kSHR_0,ve=i._emscripten_bind_Config_get_kSKHR_CL_0=rt._emscripten_bind_Config_get_kSKHR_CL_0,Se=i._emscripten_bind_Config_get_kSK_SPLT_CL_0=rt._emscripten_bind_Config_get_kSK_SPLT_CL_0,we=i._emscripten_bind_Config_get_kSRHR_CL_0=rt._emscripten_bind_Config_get_kSRHR_CL_0,ke=i._emscripten_bind_Config_get_kSR_SPLT_CL_0=rt._emscripten_bind_Config_get_kSR_SPLT_CL_0,Re=i._emscripten_bind_Config_get_kSSHR_CL_0=rt._emscripten_bind_Config_get_kSSHR_CL_0,je=i._emscripten_bind_Config_get_kSS_SPLT_CL_0=rt._emscripten_bind_Config_get_kSS_SPLT_CL_0,De=i._emscripten_bind_Config_get_kVCF_0=rt._emscripten_bind_Config_get_kVCF_0,Ie=i._emscripten_bind_Config_get_kVC_0=rt._emscripten_bind_Config_get_kVC_0,Be=i._emscripten_bind_Config_get_maxvolume_0=rt._emscripten_bind_Config_get_maxvolume_0,We=i._emscripten_bind_Config_get_piterations_0=rt._emscripten_bind_Config_get_piterations_0,Fe=i._emscripten_bind_Config_get_timescale_0=rt._emscripten_bind_Config_get_timescale_0,xe=i._emscripten_bind_Config_get_viterations_0=rt._emscripten_bind_Config_get_viterations_0,Oe=i._emscripten_bind_Config_set_citerations_1=rt._emscripten_bind_Config_set_citerations_1,Te=i._emscripten_bind_Config_set_collisions_1=rt._emscripten_bind_Config_set_collisions_1,Pe=i._emscripten_bind_Config_set_diterations_1=rt._emscripten_bind_Config_set_diterations_1,Me=i._emscripten_bind_Config_set_kAHR_1=rt._emscripten_bind_Config_set_kAHR_1,Ve=i._emscripten_bind_Config_set_kCHR_1=rt._emscripten_bind_Config_set_kCHR_1,Ge=i._emscripten_bind_Config_set_kDF_1=rt._emscripten_bind_Config_set_kDF_1,Ne=i._emscripten_bind_Config_set_kDG_1=rt._emscripten_bind_Config_set_kDG_1,Le=i._emscripten_bind_Config_set_kDP_1=rt._emscripten_bind_Config_set_kDP_1,Qe=i._emscripten_bind_Config_set_kKHR_1=rt._emscripten_bind_Config_set_kKHR_1,Ee=i._emscripten_bind_Config_set_kLF_1=rt._emscripten_bind_Config_set_kLF_1,He=i._emscripten_bind_Config_set_kMT_1=rt._emscripten_bind_Config_set_kMT_1,Ze=i._emscripten_bind_Config_set_kPR_1=rt._emscripten_bind_Config_set_kPR_1,Ue=i._emscripten_bind_Config_set_kSHR_1=rt._emscripten_bind_Config_set_kSHR_1,Ye=i._emscripten_bind_Config_set_kSKHR_CL_1=rt._emscripten_bind_Config_set_kSKHR_CL_1,Je=i._emscripten_bind_Config_set_kSK_SPLT_CL_1=rt._emscripten_bind_Config_set_kSK_SPLT_CL_1,Xe=i._emscripten_bind_Config_set_kSRHR_CL_1=rt._emscripten_bind_Config_set_kSRHR_CL_1,ze=i._emscripten_bind_Config_set_kSR_SPLT_CL_1=rt._emscripten_bind_Config_set_kSR_SPLT_CL_1,Ke=i._emscripten_bind_Config_set_kSSHR_CL_1=rt._emscripten_bind_Config_set_kSSHR_CL_1,qe=i._emscripten_bind_Config_set_kSS_SPLT_CL_1=rt._emscripten_bind_Config_set_kSS_SPLT_CL_1,$e=i._emscripten_bind_Config_set_kVCF_1=rt._emscripten_bind_Config_set_kVCF_1,ti=i._emscripten_bind_Config_set_kVC_1=rt._emscripten_bind_Config_set_kVC_1,ei=i._emscripten_bind_Config_set_maxvolume_1=rt._emscripten_bind_Config_set_maxvolume_1,ii=i._emscripten_bind_Config_set_piterations_1=rt._emscripten_bind_Config_set_piterations_1,ni=i._emscripten_bind_Config_set_timescale_1=rt._emscripten_bind_Config_set_timescale_1,oi=i._emscripten_bind_Config_set_viterations_1=rt._emscripten_bind_Config_set_viterations_1,_i=i._emscripten_bind_ContactResultCallback___destroy___0=rt._emscripten_bind_ContactResultCallback___destroy___0,ri=i._emscripten_bind_ContactResultCallback_addSingleResult_7=rt._emscripten_bind_ContactResultCallback_addSingleResult_7,si=i._emscripten_bind_ConvexResultCallback___destroy___0=rt._emscripten_bind_ConvexResultCallback___destroy___0,pi=i._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0=rt._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0,ci=i._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0=rt._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0,ai=i._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0=rt._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0,li=i._emscripten_bind_ConvexResultCallback_hasHit_0=rt._emscripten_bind_ConvexResultCallback_hasHit_0,di=i._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1=rt._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1,bi=i._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1=rt._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1,Ai=i._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1=rt._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1,fi=i._emscripten_bind_DebugDrawer_DebugDrawer_0=rt._emscripten_bind_DebugDrawer_DebugDrawer_0,ui=i._emscripten_bind_DebugDrawer___destroy___0=rt._emscripten_bind_DebugDrawer___destroy___0,mi=i._emscripten_bind_DebugDrawer_draw3dText_2=rt._emscripten_bind_DebugDrawer_draw3dText_2,hi=i._emscripten_bind_DebugDrawer_drawContactPoint_5=rt._emscripten_bind_DebugDrawer_drawContactPoint_5,yi=i._emscripten_bind_DebugDrawer_drawLine_3=rt._emscripten_bind_DebugDrawer_drawLine_3,gi=i._emscripten_bind_DebugDrawer_getDebugMode_0=rt._emscripten_bind_DebugDrawer_getDebugMode_0,Ci=i._emscripten_bind_DebugDrawer_reportErrorWarning_1=rt._emscripten_bind_DebugDrawer_reportErrorWarning_1,vi=i._emscripten_bind_DebugDrawer_setDebugMode_1=rt._emscripten_bind_DebugDrawer_setDebugMode_1,Si=i._emscripten_bind_LocalConvexResult_LocalConvexResult_5=rt._emscripten_bind_LocalConvexResult_LocalConvexResult_5,wi=i._emscripten_bind_LocalConvexResult___destroy___0=rt._emscripten_bind_LocalConvexResult___destroy___0,ki=i._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0=rt._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0,Ri=i._emscripten_bind_LocalConvexResult_get_m_hitFraction_0=rt._emscripten_bind_LocalConvexResult_get_m_hitFraction_0,ji=i._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0=rt._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0,Di=i._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0=rt._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0,Ii=i._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0=rt._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0,Bi=i._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1=rt._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1,Wi=i._emscripten_bind_LocalConvexResult_set_m_hitFraction_1=rt._emscripten_bind_LocalConvexResult_set_m_hitFraction_1,Fi=i._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1=rt._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1,xi=i._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1=rt._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1,Oi=i._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1=rt._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1,Ti=i._emscripten_bind_LocalShapeInfo___destroy___0=rt._emscripten_bind_LocalShapeInfo___destroy___0,Pi=i._emscripten_bind_LocalShapeInfo_get_m_shapePart_0=rt._emscripten_bind_LocalShapeInfo_get_m_shapePart_0,Mi=i._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0=rt._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0,Vi=i._emscripten_bind_LocalShapeInfo_set_m_shapePart_1=rt._emscripten_bind_LocalShapeInfo_set_m_shapePart_1,Gi=i._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1=rt._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1,Ni=i._emscripten_bind_Material___destroy___0=rt._emscripten_bind_Material___destroy___0,Li=i._emscripten_bind_Material_get_m_flags_0=rt._emscripten_bind_Material_get_m_flags_0,Qi=i._emscripten_bind_Material_get_m_kAST_0=rt._emscripten_bind_Material_get_m_kAST_0,Ei=i._emscripten_bind_Material_get_m_kLST_0=rt._emscripten_bind_Material_get_m_kLST_0,Hi=i._emscripten_bind_Material_get_m_kVST_0=rt._emscripten_bind_Material_get_m_kVST_0,Zi=i._emscripten_bind_Material_set_m_flags_1=rt._emscripten_bind_Material_set_m_flags_1,Ui=i._emscripten_bind_Material_set_m_kAST_1=rt._emscripten_bind_Material_set_m_kAST_1,Yi=i._emscripten_bind_Material_set_m_kLST_1=rt._emscripten_bind_Material_set_m_kLST_1,Ji=i._emscripten_bind_Material_set_m_kVST_1=rt._emscripten_bind_Material_set_m_kVST_1,Xi=i._emscripten_bind_Node___destroy___0=rt._emscripten_bind_Node___destroy___0,zi=i._emscripten_bind_Node_get_m_area_0=rt._emscripten_bind_Node_get_m_area_0,Ki=i._emscripten_bind_Node_get_m_f_0=rt._emscripten_bind_Node_get_m_f_0,qi=i._emscripten_bind_Node_get_m_im_0=rt._emscripten_bind_Node_get_m_im_0,$i=i._emscripten_bind_Node_get_m_n_0=rt._emscripten_bind_Node_get_m_n_0,tn=i._emscripten_bind_Node_get_m_q_0=rt._emscripten_bind_Node_get_m_q_0,en=i._emscripten_bind_Node_get_m_v_0=rt._emscripten_bind_Node_get_m_v_0,nn=i._emscripten_bind_Node_get_m_x_0=rt._emscripten_bind_Node_get_m_x_0,on=i._emscripten_bind_Node_set_m_area_1=rt._emscripten_bind_Node_set_m_area_1,_n=i._emscripten_bind_Node_set_m_f_1=rt._emscripten_bind_Node_set_m_f_1,rn=i._emscripten_bind_Node_set_m_im_1=rt._emscripten_bind_Node_set_m_im_1,sn=i._emscripten_bind_Node_set_m_n_1=rt._emscripten_bind_Node_set_m_n_1,pn=i._emscripten_bind_Node_set_m_q_1=rt._emscripten_bind_Node_set_m_q_1,cn=i._emscripten_bind_Node_set_m_v_1=rt._emscripten_bind_Node_set_m_v_1,an=i._emscripten_bind_Node_set_m_x_1=rt._emscripten_bind_Node_set_m_x_1,ln=i._emscripten_bind_RayResultCallback___destroy___0=rt._emscripten_bind_RayResultCallback___destroy___0,dn=i._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0=rt._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0,bn=i._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0=rt._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0,An=i._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0=rt._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0,fn=i._emscripten_bind_RayResultCallback_get_m_collisionObject_0=rt._emscripten_bind_RayResultCallback_get_m_collisionObject_0,un=i._emscripten_bind_RayResultCallback_hasHit_0=rt._emscripten_bind_RayResultCallback_hasHit_0,mn=i._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1=rt._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1,hn=i._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1=rt._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1,yn=i._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1=rt._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1,gn=i._emscripten_bind_RayResultCallback_set_m_collisionObject_1=rt._emscripten_bind_RayResultCallback_set_m_collisionObject_1,Cn=i._emscripten_bind_RaycastInfo___destroy___0=rt._emscripten_bind_RaycastInfo___destroy___0,vn=i._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0=rt._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0,Sn=i._emscripten_bind_RaycastInfo_get_m_contactPointWS_0=rt._emscripten_bind_RaycastInfo_get_m_contactPointWS_0,wn=i._emscripten_bind_RaycastInfo_get_m_groundObject_0=rt._emscripten_bind_RaycastInfo_get_m_groundObject_0,kn=i._emscripten_bind_RaycastInfo_get_m_hardPointWS_0=rt._emscripten_bind_RaycastInfo_get_m_hardPointWS_0,Rn=i._emscripten_bind_RaycastInfo_get_m_isInContact_0=rt._emscripten_bind_RaycastInfo_get_m_isInContact_0,jn=i._emscripten_bind_RaycastInfo_get_m_suspensionLength_0=rt._emscripten_bind_RaycastInfo_get_m_suspensionLength_0,Dn=i._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0=rt._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0,In=i._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0=rt._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0,Bn=i._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1=rt._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1,Wn=i._emscripten_bind_RaycastInfo_set_m_contactPointWS_1=rt._emscripten_bind_RaycastInfo_set_m_contactPointWS_1,Fn=i._emscripten_bind_RaycastInfo_set_m_groundObject_1=rt._emscripten_bind_RaycastInfo_set_m_groundObject_1,xn=i._emscripten_bind_RaycastInfo_set_m_hardPointWS_1=rt._emscripten_bind_RaycastInfo_set_m_hardPointWS_1,On=i._emscripten_bind_RaycastInfo_set_m_isInContact_1=rt._emscripten_bind_RaycastInfo_set_m_isInContact_1,Tn=i._emscripten_bind_RaycastInfo_set_m_suspensionLength_1=rt._emscripten_bind_RaycastInfo_set_m_suspensionLength_1,Pn=i._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1=rt._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1,Mn=i._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1=rt._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1,Vn=i._emscripten_bind_VoidPtr___destroy___0=rt._emscripten_bind_VoidPtr___destroy___0,Gn=i._emscripten_bind_btActionInterface___destroy___0=rt._emscripten_bind_btActionInterface___destroy___0,Nn=i._emscripten_bind_btActionInterface_updateAction_2=rt._emscripten_bind_btActionInterface_updateAction_2,Ln=i._emscripten_bind_btAxisSweep3___destroy___0=rt._emscripten_bind_btAxisSweep3___destroy___0,Qn=i._emscripten_bind_btAxisSweep3_btAxisSweep3_2=rt._emscripten_bind_btAxisSweep3_btAxisSweep3_2,En=i._emscripten_bind_btAxisSweep3_btAxisSweep3_3=rt._emscripten_bind_btAxisSweep3_btAxisSweep3_3,Hn=i._emscripten_bind_btAxisSweep3_btAxisSweep3_4=rt._emscripten_bind_btAxisSweep3_btAxisSweep3_4,Zn=i._emscripten_bind_btAxisSweep3_btAxisSweep3_5=rt._emscripten_bind_btAxisSweep3_btAxisSweep3_5,Un=i._emscripten_bind_btBoxShape___destroy___0=rt._emscripten_bind_btBoxShape___destroy___0,Yn=i._emscripten_bind_btBoxShape_btBoxShape_1=rt._emscripten_bind_btBoxShape_btBoxShape_1,Jn=i._emscripten_bind_btBoxShape_calculateLocalInertia_2=rt._emscripten_bind_btBoxShape_calculateLocalInertia_2,Xn=i._emscripten_bind_btBoxShape_getLocalScaling_0=rt._emscripten_bind_btBoxShape_getLocalScaling_0,zn=i._emscripten_bind_btBoxShape_getMargin_0=rt._emscripten_bind_btBoxShape_getMargin_0,Kn=i._emscripten_bind_btBoxShape_setLocalScaling_1=rt._emscripten_bind_btBoxShape_setLocalScaling_1,qn=i._emscripten_bind_btBoxShape_setMargin_1=rt._emscripten_bind_btBoxShape_setMargin_1,$n=i._emscripten_bind_btBroadphaseInterface___destroy___0=rt._emscripten_bind_btBroadphaseInterface___destroy___0,to=i._emscripten_bind_btBroadphaseProxy___destroy___0=rt._emscripten_bind_btBroadphaseProxy___destroy___0,eo=i._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0=rt._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0,io=i._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0=rt._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0,no=i._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1=rt._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1,oo=i._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1=rt._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1,_o=i._emscripten_bind_btBvhTriangleMeshShape___destroy___0=rt._emscripten_bind_btBvhTriangleMeshShape___destroy___0,ro=i._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2=rt._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2,so=i._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3=rt._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3,po=i._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=rt._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2,co=i._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0=rt._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0,ao=i._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1=rt._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1,lo=i._emscripten_bind_btCapsuleShapeX___destroy___0=rt._emscripten_bind_btCapsuleShapeX___destroy___0,bo=i._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2=rt._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2,Ao=i._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2=rt._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2,fo=i._emscripten_bind_btCapsuleShapeX_getHalfHeight_0=rt._emscripten_bind_btCapsuleShapeX_getHalfHeight_0,uo=i._emscripten_bind_btCapsuleShapeX_getLocalScaling_0=rt._emscripten_bind_btCapsuleShapeX_getLocalScaling_0,mo=i._emscripten_bind_btCapsuleShapeX_getMargin_0=rt._emscripten_bind_btCapsuleShapeX_getMargin_0,ho=i._emscripten_bind_btCapsuleShapeX_getRadius_0=rt._emscripten_bind_btCapsuleShapeX_getRadius_0,yo=i._emscripten_bind_btCapsuleShapeX_getUpAxis_0=rt._emscripten_bind_btCapsuleShapeX_getUpAxis_0,go=i._emscripten_bind_btCapsuleShapeX_setLocalScaling_1=rt._emscripten_bind_btCapsuleShapeX_setLocalScaling_1,Co=i._emscripten_bind_btCapsuleShapeX_setMargin_1=rt._emscripten_bind_btCapsuleShapeX_setMargin_1,vo=i._emscripten_bind_btCapsuleShapeZ___destroy___0=rt._emscripten_bind_btCapsuleShapeZ___destroy___0,So=i._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=rt._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2,wo=i._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2=rt._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2,ko=i._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0=rt._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0,Ro=i._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0=rt._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0,jo=i._emscripten_bind_btCapsuleShapeZ_getMargin_0=rt._emscripten_bind_btCapsuleShapeZ_getMargin_0,Do=i._emscripten_bind_btCapsuleShapeZ_getRadius_0=rt._emscripten_bind_btCapsuleShapeZ_getRadius_0,Io=i._emscripten_bind_btCapsuleShapeZ_getUpAxis_0=rt._emscripten_bind_btCapsuleShapeZ_getUpAxis_0,Bo=i._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=rt._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1,Wo=i._emscripten_bind_btCapsuleShapeZ_setMargin_1=rt._emscripten_bind_btCapsuleShapeZ_setMargin_1,Fo=i._emscripten_bind_btCapsuleShape___destroy___0=rt._emscripten_bind_btCapsuleShape___destroy___0,xo=i._emscripten_bind_btCapsuleShape_btCapsuleShape_2=rt._emscripten_bind_btCapsuleShape_btCapsuleShape_2,Oo=i._emscripten_bind_btCapsuleShape_calculateLocalInertia_2=rt._emscripten_bind_btCapsuleShape_calculateLocalInertia_2,To=i._emscripten_bind_btCapsuleShape_getHalfHeight_0=rt._emscripten_bind_btCapsuleShape_getHalfHeight_0,Po=i._emscripten_bind_btCapsuleShape_getLocalScaling_0=rt._emscripten_bind_btCapsuleShape_getLocalScaling_0,Mo=i._emscripten_bind_btCapsuleShape_getMargin_0=rt._emscripten_bind_btCapsuleShape_getMargin_0,Vo=i._emscripten_bind_btCapsuleShape_getRadius_0=rt._emscripten_bind_btCapsuleShape_getRadius_0,Go=i._emscripten_bind_btCapsuleShape_getUpAxis_0=rt._emscripten_bind_btCapsuleShape_getUpAxis_0,No=i._emscripten_bind_btCapsuleShape_setLocalScaling_1=rt._emscripten_bind_btCapsuleShape_setLocalScaling_1,Lo=i._emscripten_bind_btCapsuleShape_setMargin_1=rt._emscripten_bind_btCapsuleShape_setMargin_1,Qo=i._emscripten_bind_btCollisionConfiguration___destroy___0=rt._emscripten_bind_btCollisionConfiguration___destroy___0,Eo=i._emscripten_bind_btCollisionDispatcher___destroy___0=rt._emscripten_bind_btCollisionDispatcher___destroy___0,Ho=i._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1=rt._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1,Zo=i._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=rt._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1,Uo=i._emscripten_bind_btCollisionDispatcher_getNumManifolds_0=rt._emscripten_bind_btCollisionDispatcher_getNumManifolds_0,Yo=i._emscripten_bind_btCollisionObject___destroy___0=rt._emscripten_bind_btCollisionObject___destroy___0,Jo=i._emscripten_bind_btCollisionObject_activate_0=rt._emscripten_bind_btCollisionObject_activate_0,Xo=i._emscripten_bind_btCollisionObject_activate_1=rt._emscripten_bind_btCollisionObject_activate_1,zo=i._emscripten_bind_btCollisionObject_forceActivationState_1=rt._emscripten_bind_btCollisionObject_forceActivationState_1,Ko=i._emscripten_bind_btCollisionObject_getCollisionFlags_0=rt._emscripten_bind_btCollisionObject_getCollisionFlags_0,qo=i._emscripten_bind_btCollisionObject_getCollisionShape_0=rt._emscripten_bind_btCollisionObject_getCollisionShape_0,$o=i._emscripten_bind_btCollisionObject_getUserIndex_0=rt._emscripten_bind_btCollisionObject_getUserIndex_0,t_=i._emscripten_bind_btCollisionObject_getUserPointer_0=rt._emscripten_bind_btCollisionObject_getUserPointer_0,e_=i._emscripten_bind_btCollisionObject_getWorldTransform_0=rt._emscripten_bind_btCollisionObject_getWorldTransform_0,i_=i._emscripten_bind_btCollisionObject_isActive_0=rt._emscripten_bind_btCollisionObject_isActive_0,n_=i._emscripten_bind_btCollisionObject_isKinematicObject_0=rt._emscripten_bind_btCollisionObject_isKinematicObject_0,o_=i._emscripten_bind_btCollisionObject_isStaticObject_0=rt._emscripten_bind_btCollisionObject_isStaticObject_0,__=i._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0=rt._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0,r_=i._emscripten_bind_btCollisionObject_setActivationState_1=rt._emscripten_bind_btCollisionObject_setActivationState_1,s_=i._emscripten_bind_btCollisionObject_setAnisotropicFriction_2=rt._emscripten_bind_btCollisionObject_setAnisotropicFriction_2,p_=i._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1=rt._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1,c_=i._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1=rt._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1,a_=i._emscripten_bind_btCollisionObject_setCollisionFlags_1=rt._emscripten_bind_btCollisionObject_setCollisionFlags_1,l_=i._emscripten_bind_btCollisionObject_setCollisionShape_1=rt._emscripten_bind_btCollisionObject_setCollisionShape_1,d_=i._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1=rt._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1,b_=i._emscripten_bind_btCollisionObject_setFriction_1=rt._emscripten_bind_btCollisionObject_setFriction_1,A_=i._emscripten_bind_btCollisionObject_setRestitution_1=rt._emscripten_bind_btCollisionObject_setRestitution_1,f_=i._emscripten_bind_btCollisionObject_setRollingFriction_1=rt._emscripten_bind_btCollisionObject_setRollingFriction_1,u_=i._emscripten_bind_btCollisionObject_setUserIndex_1=rt._emscripten_bind_btCollisionObject_setUserIndex_1,m_=i._emscripten_bind_btCollisionObject_setUserPointer_1=rt._emscripten_bind_btCollisionObject_setUserPointer_1,h_=i._emscripten_bind_btCollisionObject_setWorldTransform_1=rt._emscripten_bind_btCollisionObject_setWorldTransform_1,y_=i._emscripten_bind_btCollisionShape___destroy___0=rt._emscripten_bind_btCollisionShape___destroy___0,g_=i._emscripten_bind_btCollisionShape_calculateLocalInertia_2=rt._emscripten_bind_btCollisionShape_calculateLocalInertia_2,C_=i._emscripten_bind_btCollisionShape_getLocalScaling_0=rt._emscripten_bind_btCollisionShape_getLocalScaling_0,v_=i._emscripten_bind_btCollisionShape_getMargin_0=rt._emscripten_bind_btCollisionShape_getMargin_0,S_=i._emscripten_bind_btCollisionShape_setLocalScaling_1=rt._emscripten_bind_btCollisionShape_setLocalScaling_1,w_=i._emscripten_bind_btCollisionShape_setMargin_1=rt._emscripten_bind_btCollisionShape_setMargin_1,k_=i._emscripten_bind_btCollisionWorld___destroy___0=rt._emscripten_bind_btCollisionWorld___destroy___0,R_=i._emscripten_bind_btCollisionWorld_addCollisionObject_1=rt._emscripten_bind_btCollisionWorld_addCollisionObject_1,j_=i._emscripten_bind_btCollisionWorld_addCollisionObject_2=rt._emscripten_bind_btCollisionWorld_addCollisionObject_2,D_=i._emscripten_bind_btCollisionWorld_addCollisionObject_3=rt._emscripten_bind_btCollisionWorld_addCollisionObject_3,I_=i._emscripten_bind_btCollisionWorld_btCollisionWorld_3=rt._emscripten_bind_btCollisionWorld_btCollisionWorld_3,B_=i._emscripten_bind_btCollisionWorld_contactPairTest_3=rt._emscripten_bind_btCollisionWorld_contactPairTest_3,W_=i._emscripten_bind_btCollisionWorld_contactTest_2=rt._emscripten_bind_btCollisionWorld_contactTest_2,F_=i._emscripten_bind_btCollisionWorld_convexSweepTest_5=rt._emscripten_bind_btCollisionWorld_convexSweepTest_5,x_=i._emscripten_bind_btCollisionWorld_debugDrawObject_3=rt._emscripten_bind_btCollisionWorld_debugDrawObject_3,O_=i._emscripten_bind_btCollisionWorld_debugDrawWorld_0=rt._emscripten_bind_btCollisionWorld_debugDrawWorld_0,T_=i._emscripten_bind_btCollisionWorld_getBroadphase_0=rt._emscripten_bind_btCollisionWorld_getBroadphase_0,P_=i._emscripten_bind_btCollisionWorld_getDebugDrawer_0=rt._emscripten_bind_btCollisionWorld_getDebugDrawer_0,M_=i._emscripten_bind_btCollisionWorld_getDispatchInfo_0=rt._emscripten_bind_btCollisionWorld_getDispatchInfo_0,V_=i._emscripten_bind_btCollisionWorld_getDispatcher_0=rt._emscripten_bind_btCollisionWorld_getDispatcher_0,G_=i._emscripten_bind_btCollisionWorld_getPairCache_0=rt._emscripten_bind_btCollisionWorld_getPairCache_0,N_=i._emscripten_bind_btCollisionWorld_performDiscreteCollisionDetection_0=rt._emscripten_bind_btCollisionWorld_performDiscreteCollisionDetection_0,L_=i._emscripten_bind_btCollisionWorld_rayTest_3=rt._emscripten_bind_btCollisionWorld_rayTest_3,Q_=i._emscripten_bind_btCollisionWorld_removeCollisionObject_1=rt._emscripten_bind_btCollisionWorld_removeCollisionObject_1,E_=i._emscripten_bind_btCollisionWorld_setDebugDrawer_1=rt._emscripten_bind_btCollisionWorld_setDebugDrawer_1,H_=i._emscripten_bind_btCollisionWorld_updateSingleAabb_1=rt._emscripten_bind_btCollisionWorld_updateSingleAabb_1,Z_=i._emscripten_bind_btCompoundShape___destroy___0=rt._emscripten_bind_btCompoundShape___destroy___0,U_=i._emscripten_bind_btCompoundShape_addChildShape_2=rt._emscripten_bind_btCompoundShape_addChildShape_2,Y_=i._emscripten_bind_btCompoundShape_btCompoundShape_0=rt._emscripten_bind_btCompoundShape_btCompoundShape_0,J_=i._emscripten_bind_btCompoundShape_btCompoundShape_1=rt._emscripten_bind_btCompoundShape_btCompoundShape_1,X_=i._emscripten_bind_btCompoundShape_calculateLocalInertia_2=rt._emscripten_bind_btCompoundShape_calculateLocalInertia_2,z_=i._emscripten_bind_btCompoundShape_getChildShape_1=rt._emscripten_bind_btCompoundShape_getChildShape_1,K_=i._emscripten_bind_btCompoundShape_getLocalScaling_0=rt._emscripten_bind_btCompoundShape_getLocalScaling_0,q_=i._emscripten_bind_btCompoundShape_getMargin_0=rt._emscripten_bind_btCompoundShape_getMargin_0,$_=i._emscripten_bind_btCompoundShape_getNumChildShapes_0=rt._emscripten_bind_btCompoundShape_getNumChildShapes_0,tr=i._emscripten_bind_btCompoundShape_recalculateLocalAabb_0=rt._emscripten_bind_btCompoundShape_recalculateLocalAabb_0,er=i._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1=rt._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1,ir=i._emscripten_bind_btCompoundShape_setLocalScaling_1=rt._emscripten_bind_btCompoundShape_setLocalScaling_1,nr=i._emscripten_bind_btCompoundShape_setMargin_1=rt._emscripten_bind_btCompoundShape_setMargin_1,or=i._emscripten_bind_btCompoundShape_updateChildTransform_2=rt._emscripten_bind_btCompoundShape_updateChildTransform_2,_r=i._emscripten_bind_btCompoundShape_updateChildTransform_3=rt._emscripten_bind_btCompoundShape_updateChildTransform_3,rr=i._emscripten_bind_btConcaveShape___destroy___0=rt._emscripten_bind_btConcaveShape___destroy___0,sr=i._emscripten_bind_btConcaveShape_calculateLocalInertia_2=rt._emscripten_bind_btConcaveShape_calculateLocalInertia_2,pr=i._emscripten_bind_btConcaveShape_getLocalScaling_0=rt._emscripten_bind_btConcaveShape_getLocalScaling_0,cr=i._emscripten_bind_btConcaveShape_setLocalScaling_1=rt._emscripten_bind_btConcaveShape_setLocalScaling_1,ar=i._emscripten_bind_btConeShapeX___destroy___0=rt._emscripten_bind_btConeShapeX___destroy___0,lr=i._emscripten_bind_btConeShapeX_btConeShapeX_2=rt._emscripten_bind_btConeShapeX_btConeShapeX_2,dr=i._emscripten_bind_btConeShapeX_calculateLocalInertia_2=rt._emscripten_bind_btConeShapeX_calculateLocalInertia_2,br=i._emscripten_bind_btConeShapeX_getLocalScaling_0=rt._emscripten_bind_btConeShapeX_getLocalScaling_0,Ar=i._emscripten_bind_btConeShapeX_setLocalScaling_1=rt._emscripten_bind_btConeShapeX_setLocalScaling_1,fr=i._emscripten_bind_btConeShapeZ___destroy___0=rt._emscripten_bind_btConeShapeZ___destroy___0,ur=i._emscripten_bind_btConeShapeZ_btConeShapeZ_2=rt._emscripten_bind_btConeShapeZ_btConeShapeZ_2,mr=i._emscripten_bind_btConeShapeZ_calculateLocalInertia_2=rt._emscripten_bind_btConeShapeZ_calculateLocalInertia_2,hr=i._emscripten_bind_btConeShapeZ_getLocalScaling_0=rt._emscripten_bind_btConeShapeZ_getLocalScaling_0,yr=i._emscripten_bind_btConeShapeZ_setLocalScaling_1=rt._emscripten_bind_btConeShapeZ_setLocalScaling_1,gr=i._emscripten_bind_btConeShape___destroy___0=rt._emscripten_bind_btConeShape___destroy___0,Cr=i._emscripten_bind_btConeShape_btConeShape_2=rt._emscripten_bind_btConeShape_btConeShape_2,vr=i._emscripten_bind_btConeShape_calculateLocalInertia_2=rt._emscripten_bind_btConeShape_calculateLocalInertia_2,Sr=i._emscripten_bind_btConeShape_getLocalScaling_0=rt._emscripten_bind_btConeShape_getLocalScaling_0,wr=i._emscripten_bind_btConeShape_setLocalScaling_1=rt._emscripten_bind_btConeShape_setLocalScaling_1,kr=i._emscripten_bind_btConeTwistConstraint___destroy___0=rt._emscripten_bind_btConeTwistConstraint___destroy___0,Rr=i._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2=rt._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2,jr=i._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4=rt._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4,Dr=i._emscripten_bind_btConeTwistConstraint_enableFeedback_1=rt._emscripten_bind_btConeTwistConstraint_enableFeedback_1,Ir=i._emscripten_bind_btConeTwistConstraint_enableMotor_1=rt._emscripten_bind_btConeTwistConstraint_enableMotor_1,Br=i._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0,Wr=i._emscripten_bind_btConeTwistConstraint_getParam_2=rt._emscripten_bind_btConeTwistConstraint_getParam_2,Fr=i._emscripten_bind_btConeTwistConstraint_setAngularOnly_1=rt._emscripten_bind_btConeTwistConstraint_setAngularOnly_1,xr=i._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1,Or=i._emscripten_bind_btConeTwistConstraint_setDamping_1=rt._emscripten_bind_btConeTwistConstraint_setDamping_1,Tr=i._emscripten_bind_btConeTwistConstraint_setLimit_2=rt._emscripten_bind_btConeTwistConstraint_setLimit_2,Pr=i._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1=rt._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1,Mr=i._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1=rt._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1,Vr=i._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1=rt._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1,Gr=i._emscripten_bind_btConeTwistConstraint_setMotorTarget_1=rt._emscripten_bind_btConeTwistConstraint_setMotorTarget_1,Nr=i._emscripten_bind_btConeTwistConstraint_setParam_3=rt._emscripten_bind_btConeTwistConstraint_setParam_3,Lr=i._emscripten_bind_btConstraintSetting___destroy___0=rt._emscripten_bind_btConstraintSetting___destroy___0,Qr=i._emscripten_bind_btConstraintSetting_btConstraintSetting_0=rt._emscripten_bind_btConstraintSetting_btConstraintSetting_0,Er=i._emscripten_bind_btConstraintSetting_get_m_damping_0=rt._emscripten_bind_btConstraintSetting_get_m_damping_0,Hr=i._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0=rt._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0,Zr=i._emscripten_bind_btConstraintSetting_get_m_tau_0=rt._emscripten_bind_btConstraintSetting_get_m_tau_0,Ur=i._emscripten_bind_btConstraintSetting_set_m_damping_1=rt._emscripten_bind_btConstraintSetting_set_m_damping_1,Yr=i._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1=rt._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1,Jr=i._emscripten_bind_btConstraintSetting_set_m_tau_1=rt._emscripten_bind_btConstraintSetting_set_m_tau_1,Xr=i._emscripten_bind_btConstraintSolver___destroy___0=rt._emscripten_bind_btConstraintSolver___destroy___0,zr=i._emscripten_bind_btContactSolverInfo___destroy___0=rt._emscripten_bind_btContactSolverInfo___destroy___0,Kr=i._emscripten_bind_btContactSolverInfo_get_m_numIterations_0=rt._emscripten_bind_btContactSolverInfo_get_m_numIterations_0,qr=i._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0=rt._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0,$r=i._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0=rt._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0,ts=i._emscripten_bind_btContactSolverInfo_set_m_numIterations_1=rt._emscripten_bind_btContactSolverInfo_set_m_numIterations_1,es=i._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1=rt._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1,is=i._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1=rt._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1,ns=i._emscripten_bind_btConvexHullShape___destroy___0=rt._emscripten_bind_btConvexHullShape___destroy___0,os=i._emscripten_bind_btConvexHullShape_addPoint_1=rt._emscripten_bind_btConvexHullShape_addPoint_1,_s=i._emscripten_bind_btConvexHullShape_addPoint_2=rt._emscripten_bind_btConvexHullShape_addPoint_2,rs=i._emscripten_bind_btConvexHullShape_btConvexHullShape_0=rt._emscripten_bind_btConvexHullShape_btConvexHullShape_0,ss=i._emscripten_bind_btConvexHullShape_btConvexHullShape_1=rt._emscripten_bind_btConvexHullShape_btConvexHullShape_1,ps=i._emscripten_bind_btConvexHullShape_btConvexHullShape_2=rt._emscripten_bind_btConvexHullShape_btConvexHullShape_2,cs=i._emscripten_bind_btConvexHullShape_calculateLocalInertia_2=rt._emscripten_bind_btConvexHullShape_calculateLocalInertia_2,as=i._emscripten_bind_btConvexHullShape_getConvexPolyhedron_0=rt._emscripten_bind_btConvexHullShape_getConvexPolyhedron_0,ls=i._emscripten_bind_btConvexHullShape_getLocalScaling_0=rt._emscripten_bind_btConvexHullShape_getLocalScaling_0,ds=i._emscripten_bind_btConvexHullShape_getMargin_0=rt._emscripten_bind_btConvexHullShape_getMargin_0,bs=i._emscripten_bind_btConvexHullShape_getNumVertices_0=rt._emscripten_bind_btConvexHullShape_getNumVertices_0,As=i._emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1=rt._emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1,fs=i._emscripten_bind_btConvexHullShape_recalcLocalAabb_0=rt._emscripten_bind_btConvexHullShape_recalcLocalAabb_0,us=i._emscripten_bind_btConvexHullShape_setLocalScaling_1=rt._emscripten_bind_btConvexHullShape_setLocalScaling_1,ms=i._emscripten_bind_btConvexHullShape_setMargin_1=rt._emscripten_bind_btConvexHullShape_setMargin_1,hs=i._emscripten_bind_btConvexPolyhedron___destroy___0=rt._emscripten_bind_btConvexPolyhedron___destroy___0,ys=i._emscripten_bind_btConvexPolyhedron_get_m_faces_0=rt._emscripten_bind_btConvexPolyhedron_get_m_faces_0,gs=i._emscripten_bind_btConvexPolyhedron_get_m_vertices_0=rt._emscripten_bind_btConvexPolyhedron_get_m_vertices_0,Cs=i._emscripten_bind_btConvexPolyhedron_set_m_faces_1=rt._emscripten_bind_btConvexPolyhedron_set_m_faces_1,vs=i._emscripten_bind_btConvexPolyhedron_set_m_vertices_1=rt._emscripten_bind_btConvexPolyhedron_set_m_vertices_1,Ss=i._emscripten_bind_btConvexShape___destroy___0=rt._emscripten_bind_btConvexShape___destroy___0,ws=i._emscripten_bind_btConvexShape_calculateLocalInertia_2=rt._emscripten_bind_btConvexShape_calculateLocalInertia_2,ks=i._emscripten_bind_btConvexShape_getLocalScaling_0=rt._emscripten_bind_btConvexShape_getLocalScaling_0,Rs=i._emscripten_bind_btConvexShape_getMargin_0=rt._emscripten_bind_btConvexShape_getMargin_0,js=i._emscripten_bind_btConvexShape_setLocalScaling_1=rt._emscripten_bind_btConvexShape_setLocalScaling_1,Ds=i._emscripten_bind_btConvexShape_setMargin_1=rt._emscripten_bind_btConvexShape_setMargin_1,Is=i._emscripten_bind_btConvexTriangleMeshShape___destroy___0=rt._emscripten_bind_btConvexTriangleMeshShape___destroy___0,Bs=i._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1=rt._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1,Ws=i._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2=rt._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2,Fs=i._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2=rt._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2,xs=i._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0=rt._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0,Os=i._emscripten_bind_btConvexTriangleMeshShape_getMargin_0=rt._emscripten_bind_btConvexTriangleMeshShape_getMargin_0,Ts=i._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1=rt._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1,Ps=i._emscripten_bind_btConvexTriangleMeshShape_setMargin_1=rt._emscripten_bind_btConvexTriangleMeshShape_setMargin_1,Ms=i._emscripten_bind_btCylinderShapeX___destroy___0=rt._emscripten_bind_btCylinderShapeX___destroy___0,Vs=i._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1=rt._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1,Gs=i._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2=rt._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2,Ns=i._emscripten_bind_btCylinderShapeX_getLocalScaling_0=rt._emscripten_bind_btCylinderShapeX_getLocalScaling_0,Ls=i._emscripten_bind_btCylinderShapeX_getMargin_0=rt._emscripten_bind_btCylinderShapeX_getMargin_0,Qs=i._emscripten_bind_btCylinderShapeX_setLocalScaling_1=rt._emscripten_bind_btCylinderShapeX_setLocalScaling_1,Es=i._emscripten_bind_btCylinderShapeX_setMargin_1=rt._emscripten_bind_btCylinderShapeX_setMargin_1,Hs=i._emscripten_bind_btCylinderShapeZ___destroy___0=rt._emscripten_bind_btCylinderShapeZ___destroy___0,Zs=i._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1=rt._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1,Us=i._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2=rt._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2,Ys=i._emscripten_bind_btCylinderShapeZ_getLocalScaling_0=rt._emscripten_bind_btCylinderShapeZ_getLocalScaling_0,Js=i._emscripten_bind_btCylinderShapeZ_getMargin_0=rt._emscripten_bind_btCylinderShapeZ_getMargin_0,Xs=i._emscripten_bind_btCylinderShapeZ_setLocalScaling_1=rt._emscripten_bind_btCylinderShapeZ_setLocalScaling_1,zs=i._emscripten_bind_btCylinderShapeZ_setMargin_1=rt._emscripten_bind_btCylinderShapeZ_setMargin_1,Ks=i._emscripten_bind_btCylinderShape___destroy___0=rt._emscripten_bind_btCylinderShape___destroy___0,qs=i._emscripten_bind_btCylinderShape_btCylinderShape_1=rt._emscripten_bind_btCylinderShape_btCylinderShape_1,$s=i._emscripten_bind_btCylinderShape_calculateLocalInertia_2=rt._emscripten_bind_btCylinderShape_calculateLocalInertia_2,tp=i._emscripten_bind_btCylinderShape_getLocalScaling_0=rt._emscripten_bind_btCylinderShape_getLocalScaling_0,ep=i._emscripten_bind_btCylinderShape_getMargin_0=rt._emscripten_bind_btCylinderShape_getMargin_0,ip=i._emscripten_bind_btCylinderShape_setLocalScaling_1=rt._emscripten_bind_btCylinderShape_setLocalScaling_1,np=i._emscripten_bind_btCylinderShape_setMargin_1=rt._emscripten_bind_btCylinderShape_setMargin_1,op=i._emscripten_bind_btDbvtBroadphase___destroy___0=rt._emscripten_bind_btDbvtBroadphase___destroy___0,_p=i._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0=rt._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0,rp=i._emscripten_bind_btDefaultCollisionConfiguration___destroy___0=rt._emscripten_bind_btDefaultCollisionConfiguration___destroy___0,sp=i._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=rt._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0,pp=i._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=rt._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1,cp=i._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0=rt._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0,ap=i._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=rt._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0,lp=i._emscripten_bind_btDefaultMotionState___destroy___0=rt._emscripten_bind_btDefaultMotionState___destroy___0,dp=i._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0=rt._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0,bp=i._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1=rt._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1,Ap=i._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=rt._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2,fp=i._emscripten_bind_btDefaultMotionState_getWorldTransform_1=rt._emscripten_bind_btDefaultMotionState_getWorldTransform_1,up=i._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0=rt._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0,mp=i._emscripten_bind_btDefaultMotionState_setWorldTransform_1=rt._emscripten_bind_btDefaultMotionState_setWorldTransform_1,hp=i._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1=rt._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1,yp=i._emscripten_bind_btDefaultSoftBodySolver___destroy___0=rt._emscripten_bind_btDefaultSoftBodySolver___destroy___0,gp=i._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0=rt._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0,Cp=i._emscripten_bind_btDefaultVehicleRaycaster___destroy___0=rt._emscripten_bind_btDefaultVehicleRaycaster___destroy___0,vp=i._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1=rt._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1,Sp=i._emscripten_bind_btDefaultVehicleRaycaster_castRay_3=rt._emscripten_bind_btDefaultVehicleRaycaster_castRay_3,wp=i._emscripten_bind_btDiscreteDynamicsWorld___destroy___0=rt._emscripten_bind_btDiscreteDynamicsWorld___destroy___0,kp=i._emscripten_bind_btDiscreteDynamicsWorld_addAction_1=rt._emscripten_bind_btDiscreteDynamicsWorld_addAction_1,Rp=i._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1=rt._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1,jp=i._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2=rt._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2,Dp=i._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3=rt._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3,Ip=i._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1=rt._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1,Bp=i._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2=rt._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2,Wp=i._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1=rt._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1,Fp=i._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3=rt._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3,xp=i._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4=rt._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4,Op=i._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3=rt._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3,Tp=i._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2=rt._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2,Pp=i._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5=rt._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5,Mp=i._emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3=rt._emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3,Vp=i._emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0=rt._emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0,Gp=i._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0,Np=i._emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0,Lp=i._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0,Qp=i._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0,Ep=i._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0,Hp=i._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0,Zp=i._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0,Up=i._emscripten_bind_btDiscreteDynamicsWorld_performDiscreteCollisionDetection_0=rt._emscripten_bind_btDiscreteDynamicsWorld_performDiscreteCollisionDetection_0,Yp=i._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=rt._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3,Jp=i._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1=rt._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1,Xp=i._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1=rt._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1,zp=i._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1=rt._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1,Kp=i._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1=rt._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1,qp=i._emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1=rt._emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1,$p=i._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=rt._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1,tc=i._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1=rt._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1,ec=i._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2=rt._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2,ic=i._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3=rt._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3,nc=i._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1=rt._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1,oc=i._emscripten_bind_btDispatcherInfo___destroy___0=rt._emscripten_bind_btDispatcherInfo___destroy___0,_c=i._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0=rt._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0,rc=i._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=rt._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0,sc=i._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0=rt._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0,pc=i._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0=rt._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0,cc=i._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0=rt._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0,ac=i._emscripten_bind_btDispatcherInfo_get_m_stepCount_0=rt._emscripten_bind_btDispatcherInfo_get_m_stepCount_0,lc=i._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0=rt._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0,dc=i._emscripten_bind_btDispatcherInfo_get_m_timeStep_0=rt._emscripten_bind_btDispatcherInfo_get_m_timeStep_0,bc=i._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0=rt._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0,Ac=i._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=rt._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0,fc=i._emscripten_bind_btDispatcherInfo_get_m_useEpa_0=rt._emscripten_bind_btDispatcherInfo_get_m_useEpa_0,uc=i._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1=rt._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1,mc=i._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1=rt._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1,hc=i._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1=rt._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1,yc=i._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1=rt._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1,gc=i._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1=rt._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1,Cc=i._emscripten_bind_btDispatcherInfo_set_m_stepCount_1=rt._emscripten_bind_btDispatcherInfo_set_m_stepCount_1,vc=i._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1=rt._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1,Sc=i._emscripten_bind_btDispatcherInfo_set_m_timeStep_1=rt._emscripten_bind_btDispatcherInfo_set_m_timeStep_1,wc=i._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1=rt._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1,kc=i._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1=rt._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1,Rc=i._emscripten_bind_btDispatcherInfo_set_m_useEpa_1=rt._emscripten_bind_btDispatcherInfo_set_m_useEpa_1,jc=i._emscripten_bind_btDispatcher___destroy___0=rt._emscripten_bind_btDispatcher___destroy___0,Dc=i._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=rt._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1,Ic=i._emscripten_bind_btDispatcher_getNumManifolds_0=rt._emscripten_bind_btDispatcher_getNumManifolds_0,Bc=i._emscripten_bind_btDynamicsWorld___destroy___0=rt._emscripten_bind_btDynamicsWorld___destroy___0,Wc=i._emscripten_bind_btDynamicsWorld_addAction_1=rt._emscripten_bind_btDynamicsWorld_addAction_1,Fc=i._emscripten_bind_btDynamicsWorld_addCollisionObject_1=rt._emscripten_bind_btDynamicsWorld_addCollisionObject_1,xc=i._emscripten_bind_btDynamicsWorld_addCollisionObject_2=rt._emscripten_bind_btDynamicsWorld_addCollisionObject_2,Oc=i._emscripten_bind_btDynamicsWorld_addCollisionObject_3=rt._emscripten_bind_btDynamicsWorld_addCollisionObject_3,Tc=i._emscripten_bind_btDynamicsWorld_contactPairTest_3=rt._emscripten_bind_btDynamicsWorld_contactPairTest_3,Pc=i._emscripten_bind_btDynamicsWorld_contactTest_2=rt._emscripten_bind_btDynamicsWorld_contactTest_2,Mc=i._emscripten_bind_btDynamicsWorld_convexSweepTest_5=rt._emscripten_bind_btDynamicsWorld_convexSweepTest_5,Vc=i._emscripten_bind_btDynamicsWorld_debugDrawObject_3=rt._emscripten_bind_btDynamicsWorld_debugDrawObject_3,Gc=i._emscripten_bind_btDynamicsWorld_debugDrawWorld_0=rt._emscripten_bind_btDynamicsWorld_debugDrawWorld_0,Nc=i._emscripten_bind_btDynamicsWorld_getBroadphase_0=rt._emscripten_bind_btDynamicsWorld_getBroadphase_0,Lc=i._emscripten_bind_btDynamicsWorld_getDebugDrawer_0=rt._emscripten_bind_btDynamicsWorld_getDebugDrawer_0,Qc=i._emscripten_bind_btDynamicsWorld_getDispatchInfo_0=rt._emscripten_bind_btDynamicsWorld_getDispatchInfo_0,Ec=i._emscripten_bind_btDynamicsWorld_getDispatcher_0=rt._emscripten_bind_btDynamicsWorld_getDispatcher_0,Hc=i._emscripten_bind_btDynamicsWorld_getPairCache_0=rt._emscripten_bind_btDynamicsWorld_getPairCache_0,Zc=i._emscripten_bind_btDynamicsWorld_getSolverInfo_0=rt._emscripten_bind_btDynamicsWorld_getSolverInfo_0,Uc=i._emscripten_bind_btDynamicsWorld_performDiscreteCollisionDetection_0=rt._emscripten_bind_btDynamicsWorld_performDiscreteCollisionDetection_0,Yc=i._emscripten_bind_btDynamicsWorld_rayTest_3=rt._emscripten_bind_btDynamicsWorld_rayTest_3,Jc=i._emscripten_bind_btDynamicsWorld_removeAction_1=rt._emscripten_bind_btDynamicsWorld_removeAction_1,Xc=i._emscripten_bind_btDynamicsWorld_removeCollisionObject_1=rt._emscripten_bind_btDynamicsWorld_removeCollisionObject_1,zc=i._emscripten_bind_btDynamicsWorld_setDebugDrawer_1=rt._emscripten_bind_btDynamicsWorld_setDebugDrawer_1,Kc=i._emscripten_bind_btDynamicsWorld_updateSingleAabb_1=rt._emscripten_bind_btDynamicsWorld_updateSingleAabb_1,qc=i._emscripten_bind_btFaceArray___destroy___0=rt._emscripten_bind_btFaceArray___destroy___0,$c=i._emscripten_bind_btFaceArray_at_1=rt._emscripten_bind_btFaceArray_at_1,ta=i._emscripten_bind_btFaceArray_size_0=rt._emscripten_bind_btFaceArray_size_0,ea=i._emscripten_bind_btFace___destroy___0=rt._emscripten_bind_btFace___destroy___0,ia=i._emscripten_bind_btFace_get_m_indices_0=rt._emscripten_bind_btFace_get_m_indices_0,na=i._emscripten_bind_btFace_get_m_plane_1=rt._emscripten_bind_btFace_get_m_plane_1,oa=i._emscripten_bind_btFace_set_m_indices_1=rt._emscripten_bind_btFace_set_m_indices_1,_a=i._emscripten_bind_btFace_set_m_plane_2=rt._emscripten_bind_btFace_set_m_plane_2,ra=i._emscripten_bind_btFixedConstraint___destroy___0=rt._emscripten_bind_btFixedConstraint___destroy___0,sa=i._emscripten_bind_btFixedConstraint_btFixedConstraint_4=rt._emscripten_bind_btFixedConstraint_btFixedConstraint_4,pa=i._emscripten_bind_btFixedConstraint_enableFeedback_1=rt._emscripten_bind_btFixedConstraint_enableFeedback_1,ca=i._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0,aa=i._emscripten_bind_btFixedConstraint_getParam_2=rt._emscripten_bind_btFixedConstraint_getParam_2,la=i._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1,da=i._emscripten_bind_btFixedConstraint_setParam_3=rt._emscripten_bind_btFixedConstraint_setParam_3,ba=i._emscripten_bind_btGeneric6DofConstraint___destroy___0=rt._emscripten_bind_btGeneric6DofConstraint___destroy___0,Aa=i._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3=rt._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3,fa=i._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5=rt._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5,ua=i._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1=rt._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1,ma=i._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0,ha=i._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0=rt._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0,ya=i._emscripten_bind_btGeneric6DofConstraint_getParam_2=rt._emscripten_bind_btGeneric6DofConstraint_getParam_2,ga=i._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1=rt._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1,Ca=i._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1=rt._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1,va=i._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1,Sa=i._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1=rt._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1,wa=i._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1=rt._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1,ka=i._emscripten_bind_btGeneric6DofConstraint_setParam_3=rt._emscripten_bind_btGeneric6DofConstraint_setParam_3,Ra=i._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=rt._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0,ja=i._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3=rt._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3,Da=i._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5=rt._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5,Ia=i._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1=rt._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1,Ba=i._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2=rt._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2,Wa=i._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0,Fa=i._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0=rt._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0,xa=i._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2=rt._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2,Oa=i._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=rt._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1,Ta=i._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1=rt._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1,Pa=i._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1,Ma=i._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2=rt._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2,Va=i._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1=rt._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1,Ga=i._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1=rt._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1,Na=i._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3=rt._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3,La=i._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2=rt._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2,Qa=i._emscripten_bind_btGhostObject___destroy___0=rt._emscripten_bind_btGhostObject___destroy___0,Ea=i._emscripten_bind_btGhostObject_activate_0=rt._emscripten_bind_btGhostObject_activate_0,Ha=i._emscripten_bind_btGhostObject_activate_1=rt._emscripten_bind_btGhostObject_activate_1,Za=i._emscripten_bind_btGhostObject_btGhostObject_0=rt._emscripten_bind_btGhostObject_btGhostObject_0,Ua=i._emscripten_bind_btGhostObject_forceActivationState_1=rt._emscripten_bind_btGhostObject_forceActivationState_1,Ya=i._emscripten_bind_btGhostObject_getCollisionFlags_0=rt._emscripten_bind_btGhostObject_getCollisionFlags_0,Ja=i._emscripten_bind_btGhostObject_getCollisionShape_0=rt._emscripten_bind_btGhostObject_getCollisionShape_0,Xa=i._emscripten_bind_btGhostObject_getNumOverlappingObjects_0=rt._emscripten_bind_btGhostObject_getNumOverlappingObjects_0,za=i._emscripten_bind_btGhostObject_getOverlappingObject_1=rt._emscripten_bind_btGhostObject_getOverlappingObject_1,Ka=i._emscripten_bind_btGhostObject_getUserIndex_0=rt._emscripten_bind_btGhostObject_getUserIndex_0,qa=i._emscripten_bind_btGhostObject_getUserPointer_0=rt._emscripten_bind_btGhostObject_getUserPointer_0,$a=i._emscripten_bind_btGhostObject_getWorldTransform_0=rt._emscripten_bind_btGhostObject_getWorldTransform_0,tl=i._emscripten_bind_btGhostObject_isActive_0=rt._emscripten_bind_btGhostObject_isActive_0,el=i._emscripten_bind_btGhostObject_isKinematicObject_0=rt._emscripten_bind_btGhostObject_isKinematicObject_0,il=i._emscripten_bind_btGhostObject_isStaticObject_0=rt._emscripten_bind_btGhostObject_isStaticObject_0,nl=i._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0=rt._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0,ol=i._emscripten_bind_btGhostObject_setActivationState_1=rt._emscripten_bind_btGhostObject_setActivationState_1,_l=i._emscripten_bind_btGhostObject_setAnisotropicFriction_2=rt._emscripten_bind_btGhostObject_setAnisotropicFriction_2,rl=i._emscripten_bind_btGhostObject_setCcdMotionThreshold_1=rt._emscripten_bind_btGhostObject_setCcdMotionThreshold_1,sl=i._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=rt._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1,pl=i._emscripten_bind_btGhostObject_setCollisionFlags_1=rt._emscripten_bind_btGhostObject_setCollisionFlags_1,cl=i._emscripten_bind_btGhostObject_setCollisionShape_1=rt._emscripten_bind_btGhostObject_setCollisionShape_1,al=i._emscripten_bind_btGhostObject_setContactProcessingThreshold_1=rt._emscripten_bind_btGhostObject_setContactProcessingThreshold_1,ll=i._emscripten_bind_btGhostObject_setFriction_1=rt._emscripten_bind_btGhostObject_setFriction_1,dl=i._emscripten_bind_btGhostObject_setRestitution_1=rt._emscripten_bind_btGhostObject_setRestitution_1,bl=i._emscripten_bind_btGhostObject_setRollingFriction_1=rt._emscripten_bind_btGhostObject_setRollingFriction_1,Al=i._emscripten_bind_btGhostObject_setUserIndex_1=rt._emscripten_bind_btGhostObject_setUserIndex_1,fl=i._emscripten_bind_btGhostObject_setUserPointer_1=rt._emscripten_bind_btGhostObject_setUserPointer_1,ul=i._emscripten_bind_btGhostObject_setWorldTransform_1=rt._emscripten_bind_btGhostObject_setWorldTransform_1,ml=i._emscripten_bind_btGhostPairCallback___destroy___0=rt._emscripten_bind_btGhostPairCallback___destroy___0,hl=i._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0=rt._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0,yl=i._emscripten_bind_btHeightfieldTerrainShape___destroy___0=rt._emscripten_bind_btHeightfieldTerrainShape___destroy___0,gl=i._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9=rt._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9,Cl=i._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2=rt._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2,vl=i._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0=rt._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0,Sl=i._emscripten_bind_btHeightfieldTerrainShape_getMargin_0=rt._emscripten_bind_btHeightfieldTerrainShape_getMargin_0,wl=i._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1=rt._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1,kl=i._emscripten_bind_btHeightfieldTerrainShape_setMargin_1=rt._emscripten_bind_btHeightfieldTerrainShape_setMargin_1,Rl=i._emscripten_bind_btHingeConstraint___destroy___0=rt._emscripten_bind_btHingeConstraint___destroy___0,jl=i._emscripten_bind_btHingeConstraint_btHingeConstraint_2=rt._emscripten_bind_btHingeConstraint_btHingeConstraint_2,Dl=i._emscripten_bind_btHingeConstraint_btHingeConstraint_3=rt._emscripten_bind_btHingeConstraint_btHingeConstraint_3,Il=i._emscripten_bind_btHingeConstraint_btHingeConstraint_4=rt._emscripten_bind_btHingeConstraint_btHingeConstraint_4,Bl=i._emscripten_bind_btHingeConstraint_btHingeConstraint_5=rt._emscripten_bind_btHingeConstraint_btHingeConstraint_5,Wl=i._emscripten_bind_btHingeConstraint_btHingeConstraint_6=rt._emscripten_bind_btHingeConstraint_btHingeConstraint_6,Fl=i._emscripten_bind_btHingeConstraint_btHingeConstraint_7=rt._emscripten_bind_btHingeConstraint_btHingeConstraint_7,xl=i._emscripten_bind_btHingeConstraint_enableAngularMotor_3=rt._emscripten_bind_btHingeConstraint_enableAngularMotor_3,Ol=i._emscripten_bind_btHingeConstraint_enableFeedback_1=rt._emscripten_bind_btHingeConstraint_enableFeedback_1,Tl=i._emscripten_bind_btHingeConstraint_enableMotor_1=rt._emscripten_bind_btHingeConstraint_enableMotor_1,Pl=i._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0,Ml=i._emscripten_bind_btHingeConstraint_getParam_2=rt._emscripten_bind_btHingeConstraint_getParam_2,Vl=i._emscripten_bind_btHingeConstraint_setAngularOnly_1=rt._emscripten_bind_btHingeConstraint_setAngularOnly_1,Gl=i._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1,Nl=i._emscripten_bind_btHingeConstraint_setLimit_4=rt._emscripten_bind_btHingeConstraint_setLimit_4,Ll=i._emscripten_bind_btHingeConstraint_setLimit_5=rt._emscripten_bind_btHingeConstraint_setLimit_5,Ql=i._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1=rt._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1,El=i._emscripten_bind_btHingeConstraint_setMotorTarget_2=rt._emscripten_bind_btHingeConstraint_setMotorTarget_2,Hl=i._emscripten_bind_btHingeConstraint_setParam_3=rt._emscripten_bind_btHingeConstraint_setParam_3,Zl=i._emscripten_bind_btIDebugDraw___destroy___0=rt._emscripten_bind_btIDebugDraw___destroy___0,Ul=i._emscripten_bind_btIDebugDraw_draw3dText_2=rt._emscripten_bind_btIDebugDraw_draw3dText_2,Yl=i._emscripten_bind_btIDebugDraw_drawContactPoint_5=rt._emscripten_bind_btIDebugDraw_drawContactPoint_5,Jl=i._emscripten_bind_btIDebugDraw_drawLine_3=rt._emscripten_bind_btIDebugDraw_drawLine_3,Xl=i._emscripten_bind_btIDebugDraw_getDebugMode_0=rt._emscripten_bind_btIDebugDraw_getDebugMode_0,zl=i._emscripten_bind_btIDebugDraw_reportErrorWarning_1=rt._emscripten_bind_btIDebugDraw_reportErrorWarning_1,Kl=i._emscripten_bind_btIDebugDraw_setDebugMode_1=rt._emscripten_bind_btIDebugDraw_setDebugMode_1,ql=i._emscripten_bind_btIntArray___destroy___0=rt._emscripten_bind_btIntArray___destroy___0,$l=i._emscripten_bind_btIntArray_at_1=rt._emscripten_bind_btIntArray_at_1,td=i._emscripten_bind_btIntArray_size_0=rt._emscripten_bind_btIntArray_size_0,ed=i._emscripten_bind_btKinematicCharacterController___destroy___0=rt._emscripten_bind_btKinematicCharacterController___destroy___0,id=i._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3=rt._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3,nd=i._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=rt._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4,od=i._emscripten_bind_btKinematicCharacterController_canJump_0=rt._emscripten_bind_btKinematicCharacterController_canJump_0,_d=i._emscripten_bind_btKinematicCharacterController_getGhostObject_0=rt._emscripten_bind_btKinematicCharacterController_getGhostObject_0,rd=i._emscripten_bind_btKinematicCharacterController_getGravity_0=rt._emscripten_bind_btKinematicCharacterController_getGravity_0,sd=i._emscripten_bind_btKinematicCharacterController_getMaxSlope_0=rt._emscripten_bind_btKinematicCharacterController_getMaxSlope_0,pd=i._emscripten_bind_btKinematicCharacterController_jump_0=rt._emscripten_bind_btKinematicCharacterController_jump_0,cd=i._emscripten_bind_btKinematicCharacterController_onGround_0=rt._emscripten_bind_btKinematicCharacterController_onGround_0,ad=i._emscripten_bind_btKinematicCharacterController_playerStep_2=rt._emscripten_bind_btKinematicCharacterController_playerStep_2,ld=i._emscripten_bind_btKinematicCharacterController_preStep_1=rt._emscripten_bind_btKinematicCharacterController_preStep_1,dd=i._emscripten_bind_btKinematicCharacterController_setFallSpeed_1=rt._emscripten_bind_btKinematicCharacterController_setFallSpeed_1,bd=i._emscripten_bind_btKinematicCharacterController_setGravity_1=rt._emscripten_bind_btKinematicCharacterController_setGravity_1,Ad=i._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1=rt._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1,fd=i._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1=rt._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1,ud=i._emscripten_bind_btKinematicCharacterController_setMaxSlope_1=rt._emscripten_bind_btKinematicCharacterController_setMaxSlope_1,md=i._emscripten_bind_btKinematicCharacterController_setUpAxis_1=rt._emscripten_bind_btKinematicCharacterController_setUpAxis_1,hd=i._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1=rt._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1,yd=i._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1=rt._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1,gd=i._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=rt._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2,Cd=i._emscripten_bind_btKinematicCharacterController_setWalkDirection_1=rt._emscripten_bind_btKinematicCharacterController_setWalkDirection_1,vd=i._emscripten_bind_btKinematicCharacterController_updateAction_2=rt._emscripten_bind_btKinematicCharacterController_updateAction_2,Sd=i._emscripten_bind_btKinematicCharacterController_warp_1=rt._emscripten_bind_btKinematicCharacterController_warp_1,wd=i._emscripten_bind_btManifoldPoint___destroy___0=rt._emscripten_bind_btManifoldPoint___destroy___0,kd=i._emscripten_bind_btManifoldPoint_getAppliedImpulse_0=rt._emscripten_bind_btManifoldPoint_getAppliedImpulse_0,Rd=i._emscripten_bind_btManifoldPoint_getDistance_0=rt._emscripten_bind_btManifoldPoint_getDistance_0,jd=i._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=rt._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0,Dd=i._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0=rt._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0,Id=i._emscripten_bind_btManifoldPoint_get_m_localPointA_0=rt._emscripten_bind_btManifoldPoint_get_m_localPointA_0,Bd=i._emscripten_bind_btManifoldPoint_get_m_localPointB_0=rt._emscripten_bind_btManifoldPoint_get_m_localPointB_0,Wd=i._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0=rt._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0,Fd=i._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0=rt._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0,xd=i._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0=rt._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0,Od=i._emscripten_bind_btManifoldPoint_set_m_localPointA_1=rt._emscripten_bind_btManifoldPoint_set_m_localPointA_1,Td=i._emscripten_bind_btManifoldPoint_set_m_localPointB_1=rt._emscripten_bind_btManifoldPoint_set_m_localPointB_1,Pd=i._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1=rt._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1,Md=i._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1=rt._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1,Vd=i._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1=rt._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1,Gd=i._emscripten_bind_btMatrix3x3___destroy___0=rt._emscripten_bind_btMatrix3x3___destroy___0,Nd=i._emscripten_bind_btMatrix3x3_getRotation_1=rt._emscripten_bind_btMatrix3x3_getRotation_1,Ld=i._emscripten_bind_btMatrix3x3_getRow_1=rt._emscripten_bind_btMatrix3x3_getRow_1,Qd=i._emscripten_bind_btMatrix3x3_setEulerZYX_3=rt._emscripten_bind_btMatrix3x3_setEulerZYX_3,Ed=i._emscripten_bind_btMatrix3x3_setValue_9=rt._emscripten_bind_btMatrix3x3_setValue_9,Hd=i._emscripten_bind_btMotionState___destroy___0=rt._emscripten_bind_btMotionState___destroy___0,Zd=i._emscripten_bind_btMotionState_getWorldTransform_1=rt._emscripten_bind_btMotionState_getWorldTransform_1,Ud=i._emscripten_bind_btMotionState_setWorldTransform_1=rt._emscripten_bind_btMotionState_setWorldTransform_1,Yd=i._emscripten_bind_btOverlappingPairCache___destroy___0=rt._emscripten_bind_btOverlappingPairCache___destroy___0,Jd=i._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1=rt._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1,Xd=i._emscripten_bind_btOverlappingPairCallback___destroy___0=rt._emscripten_bind_btOverlappingPairCallback___destroy___0,zd=i._emscripten_bind_btPairCachingGhostObject___destroy___0=rt._emscripten_bind_btPairCachingGhostObject___destroy___0,Kd=i._emscripten_bind_btPairCachingGhostObject_activate_0=rt._emscripten_bind_btPairCachingGhostObject_activate_0,qd=i._emscripten_bind_btPairCachingGhostObject_activate_1=rt._emscripten_bind_btPairCachingGhostObject_activate_1,$d=i._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0=rt._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0,tb=i._emscripten_bind_btPairCachingGhostObject_forceActivationState_1=rt._emscripten_bind_btPairCachingGhostObject_forceActivationState_1,eb=i._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0=rt._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0,ib=i._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0=rt._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0,nb=i._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=rt._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0,ob=i._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=rt._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1,_b=i._emscripten_bind_btPairCachingGhostObject_getUserIndex_0=rt._emscripten_bind_btPairCachingGhostObject_getUserIndex_0,rb=i._emscripten_bind_btPairCachingGhostObject_getUserPointer_0=rt._emscripten_bind_btPairCachingGhostObject_getUserPointer_0,sb=i._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0=rt._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0,pb=i._emscripten_bind_btPairCachingGhostObject_isActive_0=rt._emscripten_bind_btPairCachingGhostObject_isActive_0,cb=i._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0=rt._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0,ab=i._emscripten_bind_btPairCachingGhostObject_isStaticObject_0=rt._emscripten_bind_btPairCachingGhostObject_isStaticObject_0,lb=i._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0=rt._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0,db=i._emscripten_bind_btPairCachingGhostObject_setActivationState_1=rt._emscripten_bind_btPairCachingGhostObject_setActivationState_1,bb=i._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=rt._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2,Ab=i._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1=rt._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1,fb=i._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=rt._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1,ub=i._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=rt._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1,mb=i._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1=rt._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1,hb=i._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1=rt._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1,yb=i._emscripten_bind_btPairCachingGhostObject_setFriction_1=rt._emscripten_bind_btPairCachingGhostObject_setFriction_1,gb=i._emscripten_bind_btPairCachingGhostObject_setRestitution_1=rt._emscripten_bind_btPairCachingGhostObject_setRestitution_1,Cb=i._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1=rt._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1,vb=i._emscripten_bind_btPairCachingGhostObject_setUserIndex_1=rt._emscripten_bind_btPairCachingGhostObject_setUserIndex_1,Sb=i._emscripten_bind_btPairCachingGhostObject_setUserPointer_1=rt._emscripten_bind_btPairCachingGhostObject_setUserPointer_1,wb=i._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1=rt._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1,kb=i._emscripten_bind_btPersistentManifold___destroy___0=rt._emscripten_bind_btPersistentManifold___destroy___0,Rb=i._emscripten_bind_btPersistentManifold_btPersistentManifold_0=rt._emscripten_bind_btPersistentManifold_btPersistentManifold_0,jb=i._emscripten_bind_btPersistentManifold_getBody0_0=rt._emscripten_bind_btPersistentManifold_getBody0_0,Db=i._emscripten_bind_btPersistentManifold_getBody1_0=rt._emscripten_bind_btPersistentManifold_getBody1_0,Ib=i._emscripten_bind_btPersistentManifold_getContactPoint_1=rt._emscripten_bind_btPersistentManifold_getContactPoint_1,Bb=i._emscripten_bind_btPersistentManifold_getNumContacts_0=rt._emscripten_bind_btPersistentManifold_getNumContacts_0,Wb=i._emscripten_bind_btPoint2PointConstraint___destroy___0=rt._emscripten_bind_btPoint2PointConstraint___destroy___0,Fb=i._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2=rt._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2,xb=i._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=rt._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4,Ob=i._emscripten_bind_btPoint2PointConstraint_enableFeedback_1=rt._emscripten_bind_btPoint2PointConstraint_enableFeedback_1,Tb=i._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0,Pb=i._emscripten_bind_btPoint2PointConstraint_getParam_2=rt._emscripten_bind_btPoint2PointConstraint_getParam_2,Mb=i._emscripten_bind_btPoint2PointConstraint_getPivotInA_0=rt._emscripten_bind_btPoint2PointConstraint_getPivotInA_0,Vb=i._emscripten_bind_btPoint2PointConstraint_getPivotInB_0=rt._emscripten_bind_btPoint2PointConstraint_getPivotInB_0,Gb=i._emscripten_bind_btPoint2PointConstraint_get_m_setting_0=rt._emscripten_bind_btPoint2PointConstraint_get_m_setting_0,Nb=i._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1,Lb=i._emscripten_bind_btPoint2PointConstraint_setParam_3=rt._emscripten_bind_btPoint2PointConstraint_setParam_3,Qb=i._emscripten_bind_btPoint2PointConstraint_setPivotA_1=rt._emscripten_bind_btPoint2PointConstraint_setPivotA_1,Eb=i._emscripten_bind_btPoint2PointConstraint_setPivotB_1=rt._emscripten_bind_btPoint2PointConstraint_setPivotB_1,Hb=i._emscripten_bind_btPoint2PointConstraint_set_m_setting_1=rt._emscripten_bind_btPoint2PointConstraint_set_m_setting_1,Zb=i._emscripten_bind_btQuadWord___destroy___0=rt._emscripten_bind_btQuadWord___destroy___0,Ub=i._emscripten_bind_btQuadWord_setW_1=rt._emscripten_bind_btQuadWord_setW_1,Yb=i._emscripten_bind_btQuadWord_setX_1=rt._emscripten_bind_btQuadWord_setX_1,Jb=i._emscripten_bind_btQuadWord_setY_1=rt._emscripten_bind_btQuadWord_setY_1,Xb=i._emscripten_bind_btQuadWord_setZ_1=rt._emscripten_bind_btQuadWord_setZ_1,zb=i._emscripten_bind_btQuadWord_w_0=rt._emscripten_bind_btQuadWord_w_0,Kb=i._emscripten_bind_btQuadWord_x_0=rt._emscripten_bind_btQuadWord_x_0,qb=i._emscripten_bind_btQuadWord_y_0=rt._emscripten_bind_btQuadWord_y_0,$b=i._emscripten_bind_btQuadWord_z_0=rt._emscripten_bind_btQuadWord_z_0,tA=i._emscripten_bind_btQuaternion___destroy___0=rt._emscripten_bind_btQuaternion___destroy___0,eA=i._emscripten_bind_btQuaternion_angleShortestPath_1=rt._emscripten_bind_btQuaternion_angleShortestPath_1,iA=i._emscripten_bind_btQuaternion_angle_1=rt._emscripten_bind_btQuaternion_angle_1,nA=i._emscripten_bind_btQuaternion_btQuaternion_4=rt._emscripten_bind_btQuaternion_btQuaternion_4,oA=i._emscripten_bind_btQuaternion_dot_1=rt._emscripten_bind_btQuaternion_dot_1,_A=i._emscripten_bind_btQuaternion_getAngleShortestPath_0=rt._emscripten_bind_btQuaternion_getAngleShortestPath_0,rA=i._emscripten_bind_btQuaternion_getAngle_0=rt._emscripten_bind_btQuaternion_getAngle_0,sA=i._emscripten_bind_btQuaternion_getAxis_0=rt._emscripten_bind_btQuaternion_getAxis_0,pA=i._emscripten_bind_btQuaternion_inverse_0=rt._emscripten_bind_btQuaternion_inverse_0,cA=i._emscripten_bind_btQuaternion_length2_0=rt._emscripten_bind_btQuaternion_length2_0,aA=i._emscripten_bind_btQuaternion_length_0=rt._emscripten_bind_btQuaternion_length_0,lA=i._emscripten_bind_btQuaternion_normalize_0=rt._emscripten_bind_btQuaternion_normalize_0,dA=i._emscripten_bind_btQuaternion_normalized_0=rt._emscripten_bind_btQuaternion_normalized_0,bA=i._emscripten_bind_btQuaternion_op_add_1=rt._emscripten_bind_btQuaternion_op_add_1,AA=i._emscripten_bind_btQuaternion_op_div_1=rt._emscripten_bind_btQuaternion_op_div_1,fA=i._emscripten_bind_btQuaternion_op_mul_1=rt._emscripten_bind_btQuaternion_op_mul_1,uA=i._emscripten_bind_btQuaternion_op_mulq_1=rt._emscripten_bind_btQuaternion_op_mulq_1,mA=i._emscripten_bind_btQuaternion_op_sub_1=rt._emscripten_bind_btQuaternion_op_sub_1,hA=i._emscripten_bind_btQuaternion_setEulerZYX_3=rt._emscripten_bind_btQuaternion_setEulerZYX_3,yA=i._emscripten_bind_btQuaternion_setRotation_2=rt._emscripten_bind_btQuaternion_setRotation_2,gA=i._emscripten_bind_btQuaternion_setValue_4=rt._emscripten_bind_btQuaternion_setValue_4,CA=i._emscripten_bind_btQuaternion_setW_1=rt._emscripten_bind_btQuaternion_setW_1,vA=i._emscripten_bind_btQuaternion_setX_1=rt._emscripten_bind_btQuaternion_setX_1,SA=i._emscripten_bind_btQuaternion_setY_1=rt._emscripten_bind_btQuaternion_setY_1,wA=i._emscripten_bind_btQuaternion_setZ_1=rt._emscripten_bind_btQuaternion_setZ_1,kA=i._emscripten_bind_btQuaternion_w_0=rt._emscripten_bind_btQuaternion_w_0,RA=i._emscripten_bind_btQuaternion_x_0=rt._emscripten_bind_btQuaternion_x_0,jA=i._emscripten_bind_btQuaternion_y_0=rt._emscripten_bind_btQuaternion_y_0,DA=i._emscripten_bind_btQuaternion_z_0=rt._emscripten_bind_btQuaternion_z_0,IA=i._emscripten_bind_btRaycastVehicle___destroy___0=rt._emscripten_bind_btRaycastVehicle___destroy___0,BA=i._emscripten_bind_btRaycastVehicle_addWheel_7=rt._emscripten_bind_btRaycastVehicle_addWheel_7,WA=i._emscripten_bind_btRaycastVehicle_applyEngineForce_2=rt._emscripten_bind_btRaycastVehicle_applyEngineForce_2,FA=i._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3=rt._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3,xA=i._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0=rt._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0,OA=i._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0=rt._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0,TA=i._emscripten_bind_btRaycastVehicle_getForwardAxis_0=rt._emscripten_bind_btRaycastVehicle_getForwardAxis_0,PA=i._emscripten_bind_btRaycastVehicle_getForwardVector_0=rt._emscripten_bind_btRaycastVehicle_getForwardVector_0,MA=i._emscripten_bind_btRaycastVehicle_getNumWheels_0=rt._emscripten_bind_btRaycastVehicle_getNumWheels_0,VA=i._emscripten_bind_btRaycastVehicle_getRightAxis_0=rt._emscripten_bind_btRaycastVehicle_getRightAxis_0,GA=i._emscripten_bind_btRaycastVehicle_getRigidBody_0=rt._emscripten_bind_btRaycastVehicle_getRigidBody_0,NA=i._emscripten_bind_btRaycastVehicle_getSteeringValue_1=rt._emscripten_bind_btRaycastVehicle_getSteeringValue_1,LA=i._emscripten_bind_btRaycastVehicle_getUpAxis_0=rt._emscripten_bind_btRaycastVehicle_getUpAxis_0,QA=i._emscripten_bind_btRaycastVehicle_getUserConstraintId_0=rt._emscripten_bind_btRaycastVehicle_getUserConstraintId_0,EA=i._emscripten_bind_btRaycastVehicle_getUserConstraintType_0=rt._emscripten_bind_btRaycastVehicle_getUserConstraintType_0,HA=i._emscripten_bind_btRaycastVehicle_getWheelInfo_1=rt._emscripten_bind_btRaycastVehicle_getWheelInfo_1,ZA=i._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=rt._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1,UA=i._emscripten_bind_btRaycastVehicle_rayCast_1=rt._emscripten_bind_btRaycastVehicle_rayCast_1,YA=i._emscripten_bind_btRaycastVehicle_resetSuspension_0=rt._emscripten_bind_btRaycastVehicle_resetSuspension_0,JA=i._emscripten_bind_btRaycastVehicle_setBrake_2=rt._emscripten_bind_btRaycastVehicle_setBrake_2,XA=i._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3=rt._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3,zA=i._emscripten_bind_btRaycastVehicle_setPitchControl_1=rt._emscripten_bind_btRaycastVehicle_setPitchControl_1,KA=i._emscripten_bind_btRaycastVehicle_setSteeringValue_2=rt._emscripten_bind_btRaycastVehicle_setSteeringValue_2,qA=i._emscripten_bind_btRaycastVehicle_setUserConstraintId_1=rt._emscripten_bind_btRaycastVehicle_setUserConstraintId_1,$A=i._emscripten_bind_btRaycastVehicle_setUserConstraintType_1=rt._emscripten_bind_btRaycastVehicle_setUserConstraintType_1,tf=i._emscripten_bind_btRaycastVehicle_updateAction_2=rt._emscripten_bind_btRaycastVehicle_updateAction_2,ef=i._emscripten_bind_btRaycastVehicle_updateFriction_1=rt._emscripten_bind_btRaycastVehicle_updateFriction_1,nf=i._emscripten_bind_btRaycastVehicle_updateSuspension_1=rt._emscripten_bind_btRaycastVehicle_updateSuspension_1,of=i._emscripten_bind_btRaycastVehicle_updateVehicle_1=rt._emscripten_bind_btRaycastVehicle_updateVehicle_1,_f=i._emscripten_bind_btRaycastVehicle_updateWheelTransform_2=rt._emscripten_bind_btRaycastVehicle_updateWheelTransform_2,rf=i._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1=rt._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1,sf=i._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2=rt._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2,pf=i._emscripten_bind_btRigidBodyConstructionInfo___destroy___0=rt._emscripten_bind_btRigidBodyConstructionInfo___destroy___0,cf=i._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=rt._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3,af=i._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4=rt._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4,lf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0,df=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0,bf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0,Af=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0,ff=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0,uf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0,mf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0,hf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0,yf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0,gf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0,Cf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0,vf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0,Sf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1,wf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1,kf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1,Rf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1,jf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1,Df=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1,If=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1,Bf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1,Wf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1,Ff=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1,xf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1,Of=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1,Tf=i._emscripten_bind_btRigidBody___destroy___0=rt._emscripten_bind_btRigidBody___destroy___0,Pf=i._emscripten_bind_btRigidBody_activate_0=rt._emscripten_bind_btRigidBody_activate_0,Mf=i._emscripten_bind_btRigidBody_activate_1=rt._emscripten_bind_btRigidBody_activate_1,Vf=i._emscripten_bind_btRigidBody_applyCentralForce_1=rt._emscripten_bind_btRigidBody_applyCentralForce_1,Gf=i._emscripten_bind_btRigidBody_applyCentralImpulse_1=rt._emscripten_bind_btRigidBody_applyCentralImpulse_1,Nf=i._emscripten_bind_btRigidBody_applyCentralLocalForce_1=rt._emscripten_bind_btRigidBody_applyCentralLocalForce_1,Lf=i._emscripten_bind_btRigidBody_applyForce_2=rt._emscripten_bind_btRigidBody_applyForce_2,Qf=i._emscripten_bind_btRigidBody_applyGravity_0=rt._emscripten_bind_btRigidBody_applyGravity_0,Ef=i._emscripten_bind_btRigidBody_applyImpulse_2=rt._emscripten_bind_btRigidBody_applyImpulse_2,Hf=i._emscripten_bind_btRigidBody_applyLocalTorque_1=rt._emscripten_bind_btRigidBody_applyLocalTorque_1,Zf=i._emscripten_bind_btRigidBody_applyTorqueImpulse_1=rt._emscripten_bind_btRigidBody_applyTorqueImpulse_1,Uf=i._emscripten_bind_btRigidBody_applyTorque_1=rt._emscripten_bind_btRigidBody_applyTorque_1,Yf=i._emscripten_bind_btRigidBody_btRigidBody_1=rt._emscripten_bind_btRigidBody_btRigidBody_1,Jf=i._emscripten_bind_btRigidBody_forceActivationState_1=rt._emscripten_bind_btRigidBody_forceActivationState_1,Xf=i._emscripten_bind_btRigidBody_getAabb_2=rt._emscripten_bind_btRigidBody_getAabb_2,zf=i._emscripten_bind_btRigidBody_getAngularVelocity_0=rt._emscripten_bind_btRigidBody_getAngularVelocity_0,Kf=i._emscripten_bind_btRigidBody_getBroadphaseProxy_0=rt._emscripten_bind_btRigidBody_getBroadphaseProxy_0,qf=i._emscripten_bind_btRigidBody_getCenterOfMassTransform_0=rt._emscripten_bind_btRigidBody_getCenterOfMassTransform_0,$f=i._emscripten_bind_btRigidBody_getCollisionFlags_0=rt._emscripten_bind_btRigidBody_getCollisionFlags_0,tu=i._emscripten_bind_btRigidBody_getCollisionShape_0=rt._emscripten_bind_btRigidBody_getCollisionShape_0,eu=i._emscripten_bind_btRigidBody_getGravity_0=rt._emscripten_bind_btRigidBody_getGravity_0,iu=i._emscripten_bind_btRigidBody_getLinearVelocity_0=rt._emscripten_bind_btRigidBody_getLinearVelocity_0,nu=i._emscripten_bind_btRigidBody_getMotionState_0=rt._emscripten_bind_btRigidBody_getMotionState_0,ou=i._emscripten_bind_btRigidBody_getUserIndex_0=rt._emscripten_bind_btRigidBody_getUserIndex_0,_u=i._emscripten_bind_btRigidBody_getUserPointer_0=rt._emscripten_bind_btRigidBody_getUserPointer_0,ru=i._emscripten_bind_btRigidBody_getWorldTransform_0=rt._emscripten_bind_btRigidBody_getWorldTransform_0,su=i._emscripten_bind_btRigidBody_isActive_0=rt._emscripten_bind_btRigidBody_isActive_0,pu=i._emscripten_bind_btRigidBody_isKinematicObject_0=rt._emscripten_bind_btRigidBody_isKinematicObject_0,cu=i._emscripten_bind_btRigidBody_isStaticObject_0=rt._emscripten_bind_btRigidBody_isStaticObject_0,au=i._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0=rt._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0,lu=i._emscripten_bind_btRigidBody_setActivationState_1=rt._emscripten_bind_btRigidBody_setActivationState_1,du=i._emscripten_bind_btRigidBody_setAngularFactor_1=rt._emscripten_bind_btRigidBody_setAngularFactor_1,bu=i._emscripten_bind_btRigidBody_setAngularVelocity_1=rt._emscripten_bind_btRigidBody_setAngularVelocity_1,Au=i._emscripten_bind_btRigidBody_setAnisotropicFriction_2=rt._emscripten_bind_btRigidBody_setAnisotropicFriction_2,fu=i._emscripten_bind_btRigidBody_setCcdMotionThreshold_1=rt._emscripten_bind_btRigidBody_setCcdMotionThreshold_1,uu=i._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=rt._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1,mu=i._emscripten_bind_btRigidBody_setCenterOfMassTransform_1=rt._emscripten_bind_btRigidBody_setCenterOfMassTransform_1,hu=i._emscripten_bind_btRigidBody_setCollisionFlags_1=rt._emscripten_bind_btRigidBody_setCollisionFlags_1,yu=i._emscripten_bind_btRigidBody_setCollisionShape_1=rt._emscripten_bind_btRigidBody_setCollisionShape_1,gu=i._emscripten_bind_btRigidBody_setContactProcessingThreshold_1=rt._emscripten_bind_btRigidBody_setContactProcessingThreshold_1,Cu=i._emscripten_bind_btRigidBody_setDamping_2=rt._emscripten_bind_btRigidBody_setDamping_2,vu=i._emscripten_bind_btRigidBody_setFriction_1=rt._emscripten_bind_btRigidBody_setFriction_1,Su=i._emscripten_bind_btRigidBody_setGravity_1=rt._emscripten_bind_btRigidBody_setGravity_1,wu=i._emscripten_bind_btRigidBody_setLinearFactor_1=rt._emscripten_bind_btRigidBody_setLinearFactor_1,ku=i._emscripten_bind_btRigidBody_setLinearVelocity_1=rt._emscripten_bind_btRigidBody_setLinearVelocity_1,Ru=i._emscripten_bind_btRigidBody_setMassProps_2=rt._emscripten_bind_btRigidBody_setMassProps_2,ju=i._emscripten_bind_btRigidBody_setMotionState_1=rt._emscripten_bind_btRigidBody_setMotionState_1,Du=i._emscripten_bind_btRigidBody_setRestitution_1=rt._emscripten_bind_btRigidBody_setRestitution_1,Iu=i._emscripten_bind_btRigidBody_setRollingFriction_1=rt._emscripten_bind_btRigidBody_setRollingFriction_1,Bu=i._emscripten_bind_btRigidBody_setSleepingThresholds_2=rt._emscripten_bind_btRigidBody_setSleepingThresholds_2,Wu=i._emscripten_bind_btRigidBody_setUserIndex_1=rt._emscripten_bind_btRigidBody_setUserIndex_1,Fu=i._emscripten_bind_btRigidBody_setUserPointer_1=rt._emscripten_bind_btRigidBody_setUserPointer_1,xu=i._emscripten_bind_btRigidBody_setWorldTransform_1=rt._emscripten_bind_btRigidBody_setWorldTransform_1,Ou=i._emscripten_bind_btRigidBody_upcast_1=rt._emscripten_bind_btRigidBody_upcast_1,Tu=i._emscripten_bind_btRigidBody_updateInertiaTensor_0=rt._emscripten_bind_btRigidBody_updateInertiaTensor_0,Pu=i._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0=rt._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0,Mu=i._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0=rt._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0,Vu=i._emscripten_bind_btShapeHull___destroy___0=rt._emscripten_bind_btShapeHull___destroy___0,Gu=i._emscripten_bind_btShapeHull_btShapeHull_1=rt._emscripten_bind_btShapeHull_btShapeHull_1,Nu=i._emscripten_bind_btShapeHull_buildHull_1=rt._emscripten_bind_btShapeHull_buildHull_1,Lu=i._emscripten_bind_btShapeHull_getVertexPointer_0=rt._emscripten_bind_btShapeHull_getVertexPointer_0,Qu=i._emscripten_bind_btShapeHull_numVertices_0=rt._emscripten_bind_btShapeHull_numVertices_0,Eu=i._emscripten_bind_btSliderConstraint___destroy___0=rt._emscripten_bind_btSliderConstraint___destroy___0,Hu=i._emscripten_bind_btSliderConstraint_btSliderConstraint_3=rt._emscripten_bind_btSliderConstraint_btSliderConstraint_3,Zu=i._emscripten_bind_btSliderConstraint_btSliderConstraint_5=rt._emscripten_bind_btSliderConstraint_btSliderConstraint_5,Uu=i._emscripten_bind_btSliderConstraint_enableFeedback_1=rt._emscripten_bind_btSliderConstraint_enableFeedback_1,Yu=i._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0,Ju=i._emscripten_bind_btSliderConstraint_getParam_2=rt._emscripten_bind_btSliderConstraint_getParam_2,Xu=i._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1,zu=i._emscripten_bind_btSliderConstraint_setLowerAngLimit_1=rt._emscripten_bind_btSliderConstraint_setLowerAngLimit_1,Ku=i._emscripten_bind_btSliderConstraint_setLowerLinLimit_1=rt._emscripten_bind_btSliderConstraint_setLowerLinLimit_1,qu=i._emscripten_bind_btSliderConstraint_setParam_3=rt._emscripten_bind_btSliderConstraint_setParam_3,$u=i._emscripten_bind_btSliderConstraint_setUpperAngLimit_1=rt._emscripten_bind_btSliderConstraint_setUpperAngLimit_1,tm=i._emscripten_bind_btSliderConstraint_setUpperLinLimit_1=rt._emscripten_bind_btSliderConstraint_setUpperLinLimit_1,em=i._emscripten_bind_btSoftBodyArray___destroy___0=rt._emscripten_bind_btSoftBodyArray___destroy___0,im=i._emscripten_bind_btSoftBodyArray_at_1=rt._emscripten_bind_btSoftBodyArray_at_1,nm=i._emscripten_bind_btSoftBodyArray_size_0=rt._emscripten_bind_btSoftBodyArray_size_0,om=i._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4=rt._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4,_m=i._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4=rt._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4,rm=i._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5=rt._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5,sm=i._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10=rt._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10,pm=i._emscripten_bind_btSoftBodyHelpers_CreatePatch_9=rt._emscripten_bind_btSoftBodyHelpers_CreatePatch_9,cm=i._emscripten_bind_btSoftBodyHelpers_CreateRope_5=rt._emscripten_bind_btSoftBodyHelpers_CreateRope_5,am=i._emscripten_bind_btSoftBodyHelpers___destroy___0=rt._emscripten_bind_btSoftBodyHelpers___destroy___0,lm=i._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0=rt._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0,dm=i._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0=rt._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0,bm=i._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0=rt._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0,Am=i._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1=rt._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1,fm=i._emscripten_bind_btSoftBodySolver___destroy___0=rt._emscripten_bind_btSoftBodySolver___destroy___0,um=i._emscripten_bind_btSoftBodyWorldInfo___destroy___0=rt._emscripten_bind_btSoftBodyWorldInfo___destroy___0,mm=i._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0=rt._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0,hm=i._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0,ym=i._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0,gm=i._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0,Cm=i._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0,vm=i._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0,Sm=i._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0,wm=i._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0,km=i._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0,Rm=i._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1,jm=i._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1,Dm=i._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1,Im=i._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1,Bm=i._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1,Wm=i._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1,Fm=i._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1,xm=i._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1,Om=i._emscripten_bind_btSoftBody___destroy___0=rt._emscripten_bind_btSoftBody___destroy___0,Tm=i._emscripten_bind_btSoftBody_activate_0=rt._emscripten_bind_btSoftBody_activate_0,Pm=i._emscripten_bind_btSoftBody_activate_1=rt._emscripten_bind_btSoftBody_activate_1,Mm=i._emscripten_bind_btSoftBody_addAeroForceToNode_2=rt._emscripten_bind_btSoftBody_addAeroForceToNode_2,Vm=i._emscripten_bind_btSoftBody_addForce_1=rt._emscripten_bind_btSoftBody_addForce_1,Gm=i._emscripten_bind_btSoftBody_addForce_2=rt._emscripten_bind_btSoftBody_addForce_2,Nm=i._emscripten_bind_btSoftBody_appendAnchor_4=rt._emscripten_bind_btSoftBody_appendAnchor_4,Lm=i._emscripten_bind_btSoftBody_appendFace_4=rt._emscripten_bind_btSoftBody_appendFace_4,Qm=i._emscripten_bind_btSoftBody_appendLink_4=rt._emscripten_bind_btSoftBody_appendLink_4,Em=i._emscripten_bind_btSoftBody_appendMaterial_0=rt._emscripten_bind_btSoftBody_appendMaterial_0,Hm=i._emscripten_bind_btSoftBody_appendNode_2=rt._emscripten_bind_btSoftBody_appendNode_2,Zm=i._emscripten_bind_btSoftBody_appendTetra_5=rt._emscripten_bind_btSoftBody_appendTetra_5,Um=i._emscripten_bind_btSoftBody_btSoftBody_4=rt._emscripten_bind_btSoftBody_btSoftBody_4,Ym=i._emscripten_bind_btSoftBody_checkFace_3=rt._emscripten_bind_btSoftBody_checkFace_3,Jm=i._emscripten_bind_btSoftBody_checkLink_2=rt._emscripten_bind_btSoftBody_checkLink_2,Xm=i._emscripten_bind_btSoftBody_forceActivationState_1=rt._emscripten_bind_btSoftBody_forceActivationState_1,zm=i._emscripten_bind_btSoftBody_generateBendingConstraints_2=rt._emscripten_bind_btSoftBody_generateBendingConstraints_2,Km=i._emscripten_bind_btSoftBody_generateClusters_1=rt._emscripten_bind_btSoftBody_generateClusters_1,qm=i._emscripten_bind_btSoftBody_generateClusters_2=rt._emscripten_bind_btSoftBody_generateClusters_2,$m=i._emscripten_bind_btSoftBody_getCollisionFlags_0=rt._emscripten_bind_btSoftBody_getCollisionFlags_0,th=i._emscripten_bind_btSoftBody_getCollisionShape_0=rt._emscripten_bind_btSoftBody_getCollisionShape_0,eh=i._emscripten_bind_btSoftBody_getTotalMass_0=rt._emscripten_bind_btSoftBody_getTotalMass_0,ih=i._emscripten_bind_btSoftBody_getUserIndex_0=rt._emscripten_bind_btSoftBody_getUserIndex_0,nh=i._emscripten_bind_btSoftBody_getUserPointer_0=rt._emscripten_bind_btSoftBody_getUserPointer_0,oh=i._emscripten_bind_btSoftBody_getWorldTransform_0=rt._emscripten_bind_btSoftBody_getWorldTransform_0,_h=i._emscripten_bind_btSoftBody_get_m_anchors_0=rt._emscripten_bind_btSoftBody_get_m_anchors_0,rh=i._emscripten_bind_btSoftBody_get_m_cfg_0=rt._emscripten_bind_btSoftBody_get_m_cfg_0,sh=i._emscripten_bind_btSoftBody_get_m_materials_0=rt._emscripten_bind_btSoftBody_get_m_materials_0,ph=i._emscripten_bind_btSoftBody_get_m_nodes_0=rt._emscripten_bind_btSoftBody_get_m_nodes_0,ch=i._emscripten_bind_btSoftBody_isActive_0=rt._emscripten_bind_btSoftBody_isActive_0,ah=i._emscripten_bind_btSoftBody_isKinematicObject_0=rt._emscripten_bind_btSoftBody_isKinematicObject_0,lh=i._emscripten_bind_btSoftBody_isStaticObject_0=rt._emscripten_bind_btSoftBody_isStaticObject_0,dh=i._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0=rt._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0,bh=i._emscripten_bind_btSoftBody_rotate_1=rt._emscripten_bind_btSoftBody_rotate_1,Ah=i._emscripten_bind_btSoftBody_scale_1=rt._emscripten_bind_btSoftBody_scale_1,fh=i._emscripten_bind_btSoftBody_setActivationState_1=rt._emscripten_bind_btSoftBody_setActivationState_1,uh=i._emscripten_bind_btSoftBody_setAnisotropicFriction_2=rt._emscripten_bind_btSoftBody_setAnisotropicFriction_2,mh=i._emscripten_bind_btSoftBody_setCcdMotionThreshold_1=rt._emscripten_bind_btSoftBody_setCcdMotionThreshold_1,hh=i._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1=rt._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1,yh=i._emscripten_bind_btSoftBody_setCollisionFlags_1=rt._emscripten_bind_btSoftBody_setCollisionFlags_1,gh=i._emscripten_bind_btSoftBody_setCollisionShape_1=rt._emscripten_bind_btSoftBody_setCollisionShape_1,Ch=i._emscripten_bind_btSoftBody_setContactProcessingThreshold_1=rt._emscripten_bind_btSoftBody_setContactProcessingThreshold_1,vh=i._emscripten_bind_btSoftBody_setFriction_1=rt._emscripten_bind_btSoftBody_setFriction_1,Sh=i._emscripten_bind_btSoftBody_setMass_2=rt._emscripten_bind_btSoftBody_setMass_2,wh=i._emscripten_bind_btSoftBody_setRestitution_1=rt._emscripten_bind_btSoftBody_setRestitution_1,kh=i._emscripten_bind_btSoftBody_setRollingFriction_1=rt._emscripten_bind_btSoftBody_setRollingFriction_1,Rh=i._emscripten_bind_btSoftBody_setTotalMass_2=rt._emscripten_bind_btSoftBody_setTotalMass_2,jh=i._emscripten_bind_btSoftBody_setUserIndex_1=rt._emscripten_bind_btSoftBody_setUserIndex_1,Dh=i._emscripten_bind_btSoftBody_setUserPointer_1=rt._emscripten_bind_btSoftBody_setUserPointer_1,Ih=i._emscripten_bind_btSoftBody_setWorldTransform_1=rt._emscripten_bind_btSoftBody_setWorldTransform_1,Bh=i._emscripten_bind_btSoftBody_set_m_anchors_1=rt._emscripten_bind_btSoftBody_set_m_anchors_1,Wh=i._emscripten_bind_btSoftBody_set_m_cfg_1=rt._emscripten_bind_btSoftBody_set_m_cfg_1,Fh=i._emscripten_bind_btSoftBody_set_m_materials_1=rt._emscripten_bind_btSoftBody_set_m_materials_1,xh=i._emscripten_bind_btSoftBody_set_m_nodes_1=rt._emscripten_bind_btSoftBody_set_m_nodes_1,Oh=i._emscripten_bind_btSoftBody_transform_1=rt._emscripten_bind_btSoftBody_transform_1,Th=i._emscripten_bind_btSoftBody_translate_1=rt._emscripten_bind_btSoftBody_translate_1,Ph=i._emscripten_bind_btSoftBody_upcast_1=rt._emscripten_bind_btSoftBody_upcast_1,Mh=i._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0=rt._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0,Vh=i._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1,Gh=i._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1,Nh=i._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2=rt._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2,Lh=i._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3,Qh=i._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1,Eh=i._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2=rt._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2,Hh=i._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1,Zh=i._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3,Uh=i._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3,Yh=i._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5=rt._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5,Jh=i._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3,Xh=i._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2=rt._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2,zh=i._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5=rt._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5,Kh=i._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3,qh=i._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0,$h=i._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0,ty=i._emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0,ey=i._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0,iy=i._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0,ny=i._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0,oy=i._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0,_y=i._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0,ry=i._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0,sy=i._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0,py=i._emscripten_bind_btSoftRigidDynamicsWorld_performDiscreteCollisionDetection_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_performDiscreteCollisionDetection_0,cy=i._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3,ay=i._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1,ly=i._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1,dy=i._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1,by=i._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1,Ay=i._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1,fy=i._emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1,uy=i._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1,my=i._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1,hy=i._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2=rt._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2,yy=i._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3,gy=i._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1,Cy=i._emscripten_bind_btSphereShape___destroy___0=rt._emscripten_bind_btSphereShape___destroy___0,vy=i._emscripten_bind_btSphereShape_btSphereShape_1=rt._emscripten_bind_btSphereShape_btSphereShape_1,Sy=i._emscripten_bind_btSphereShape_calculateLocalInertia_2=rt._emscripten_bind_btSphereShape_calculateLocalInertia_2,wy=i._emscripten_bind_btSphereShape_getLocalScaling_0=rt._emscripten_bind_btSphereShape_getLocalScaling_0,ky=i._emscripten_bind_btSphereShape_getMargin_0=rt._emscripten_bind_btSphereShape_getMargin_0,Ry=i._emscripten_bind_btSphereShape_setLocalScaling_1=rt._emscripten_bind_btSphereShape_setLocalScaling_1,jy=i._emscripten_bind_btSphereShape_setMargin_1=rt._emscripten_bind_btSphereShape_setMargin_1,Dy=i._emscripten_bind_btStaticPlaneShape___destroy___0=rt._emscripten_bind_btStaticPlaneShape___destroy___0,Iy=i._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2=rt._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2,By=i._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=rt._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2,Wy=i._emscripten_bind_btStaticPlaneShape_getLocalScaling_0=rt._emscripten_bind_btStaticPlaneShape_getLocalScaling_0,Fy=i._emscripten_bind_btStaticPlaneShape_setLocalScaling_1=rt._emscripten_bind_btStaticPlaneShape_setLocalScaling_1,xy=i._emscripten_bind_btStridingMeshInterface___destroy___0=rt._emscripten_bind_btStridingMeshInterface___destroy___0,Oy=i._emscripten_bind_btStridingMeshInterface_setScaling_1=rt._emscripten_bind_btStridingMeshInterface_setScaling_1,Ty=i._emscripten_bind_btTransform___destroy___0=rt._emscripten_bind_btTransform___destroy___0,Py=i._emscripten_bind_btTransform_btTransform_0=rt._emscripten_bind_btTransform_btTransform_0,My=i._emscripten_bind_btTransform_btTransform_2=rt._emscripten_bind_btTransform_btTransform_2,Vy=i._emscripten_bind_btTransform_getBasis_0=rt._emscripten_bind_btTransform_getBasis_0,Gy=i._emscripten_bind_btTransform_getOrigin_0=rt._emscripten_bind_btTransform_getOrigin_0,Ny=i._emscripten_bind_btTransform_getRotation_0=rt._emscripten_bind_btTransform_getRotation_0,Ly=i._emscripten_bind_btTransform_inverse_0=rt._emscripten_bind_btTransform_inverse_0,Qy=i._emscripten_bind_btTransform_op_mul_1=rt._emscripten_bind_btTransform_op_mul_1,Ey=i._emscripten_bind_btTransform_setFromOpenGLMatrix_1=rt._emscripten_bind_btTransform_setFromOpenGLMatrix_1,Hy=i._emscripten_bind_btTransform_setIdentity_0=rt._emscripten_bind_btTransform_setIdentity_0,Zy=i._emscripten_bind_btTransform_setOrigin_1=rt._emscripten_bind_btTransform_setOrigin_1,Uy=i._emscripten_bind_btTransform_setRotation_1=rt._emscripten_bind_btTransform_setRotation_1,Yy=i._emscripten_bind_btTriangleMeshShape___destroy___0=rt._emscripten_bind_btTriangleMeshShape___destroy___0,Jy=i._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=rt._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2,Xy=i._emscripten_bind_btTriangleMeshShape_getLocalScaling_0=rt._emscripten_bind_btTriangleMeshShape_getLocalScaling_0,zy=i._emscripten_bind_btTriangleMeshShape_setLocalScaling_1=rt._emscripten_bind_btTriangleMeshShape_setLocalScaling_1,Ky=i._emscripten_bind_btTriangleMesh___destroy___0=rt._emscripten_bind_btTriangleMesh___destroy___0,qy=i._emscripten_bind_btTriangleMesh_addTriangle_3=rt._emscripten_bind_btTriangleMesh_addTriangle_3,$y=i._emscripten_bind_btTriangleMesh_addTriangle_4=rt._emscripten_bind_btTriangleMesh_addTriangle_4,tg=i._emscripten_bind_btTriangleMesh_btTriangleMesh_0=rt._emscripten_bind_btTriangleMesh_btTriangleMesh_0,eg=i._emscripten_bind_btTriangleMesh_btTriangleMesh_1=rt._emscripten_bind_btTriangleMesh_btTriangleMesh_1,ig=i._emscripten_bind_btTriangleMesh_btTriangleMesh_2=rt._emscripten_bind_btTriangleMesh_btTriangleMesh_2,ng=i._emscripten_bind_btTriangleMesh_setScaling_1=rt._emscripten_bind_btTriangleMesh_setScaling_1,og=i._emscripten_bind_btTypedConstraint___destroy___0=rt._emscripten_bind_btTypedConstraint___destroy___0,_g=i._emscripten_bind_btTypedConstraint_enableFeedback_1=rt._emscripten_bind_btTypedConstraint_enableFeedback_1,rg=i._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0,sg=i._emscripten_bind_btTypedConstraint_getParam_2=rt._emscripten_bind_btTypedConstraint_getParam_2,pg=i._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1,cg=i._emscripten_bind_btTypedConstraint_setParam_3=rt._emscripten_bind_btTypedConstraint_setParam_3,ag=i._emscripten_bind_btVector3Array___destroy___0=rt._emscripten_bind_btVector3Array___destroy___0,lg=i._emscripten_bind_btVector3Array_at_1=rt._emscripten_bind_btVector3Array_at_1,dg=i._emscripten_bind_btVector3Array_size_0=rt._emscripten_bind_btVector3Array_size_0,bg=i._emscripten_bind_btVector3___destroy___0=rt._emscripten_bind_btVector3___destroy___0,Ag=i._emscripten_bind_btVector3_btVector3_0=rt._emscripten_bind_btVector3_btVector3_0,fg=i._emscripten_bind_btVector3_btVector3_3=rt._emscripten_bind_btVector3_btVector3_3,ug=i._emscripten_bind_btVector3_dot_1=rt._emscripten_bind_btVector3_dot_1,mg=i._emscripten_bind_btVector3_length_0=rt._emscripten_bind_btVector3_length_0,hg=i._emscripten_bind_btVector3_normalize_0=rt._emscripten_bind_btVector3_normalize_0,yg=i._emscripten_bind_btVector3_op_add_1=rt._emscripten_bind_btVector3_op_add_1,gg=i._emscripten_bind_btVector3_op_mul_1=rt._emscripten_bind_btVector3_op_mul_1,Cg=i._emscripten_bind_btVector3_op_sub_1=rt._emscripten_bind_btVector3_op_sub_1,vg=i._emscripten_bind_btVector3_rotate_2=rt._emscripten_bind_btVector3_rotate_2,Sg=i._emscripten_bind_btVector3_setValue_3=rt._emscripten_bind_btVector3_setValue_3,wg=i._emscripten_bind_btVector3_setX_1=rt._emscripten_bind_btVector3_setX_1,kg=i._emscripten_bind_btVector3_setY_1=rt._emscripten_bind_btVector3_setY_1,Rg=i._emscripten_bind_btVector3_setZ_1=rt._emscripten_bind_btVector3_setZ_1,jg=i._emscripten_bind_btVector3_x_0=rt._emscripten_bind_btVector3_x_0,Dg=i._emscripten_bind_btVector3_y_0=rt._emscripten_bind_btVector3_y_0,Ig=i._emscripten_bind_btVector3_z_0=rt._emscripten_bind_btVector3_z_0,Bg=i._emscripten_bind_btVector4___destroy___0=rt._emscripten_bind_btVector4___destroy___0,Wg=i._emscripten_bind_btVector4_btVector4_0=rt._emscripten_bind_btVector4_btVector4_0,Fg=i._emscripten_bind_btVector4_btVector4_4=rt._emscripten_bind_btVector4_btVector4_4,xg=i._emscripten_bind_btVector4_dot_1=rt._emscripten_bind_btVector4_dot_1,Og=i._emscripten_bind_btVector4_length_0=rt._emscripten_bind_btVector4_length_0,Tg=i._emscripten_bind_btVector4_normalize_0=rt._emscripten_bind_btVector4_normalize_0,Pg=i._emscripten_bind_btVector4_op_add_1=rt._emscripten_bind_btVector4_op_add_1,Mg=i._emscripten_bind_btVector4_op_mul_1=rt._emscripten_bind_btVector4_op_mul_1,Vg=i._emscripten_bind_btVector4_op_sub_1=rt._emscripten_bind_btVector4_op_sub_1,Gg=i._emscripten_bind_btVector4_rotate_2=rt._emscripten_bind_btVector4_rotate_2,Ng=i._emscripten_bind_btVector4_setValue_4=rt._emscripten_bind_btVector4_setValue_4,Lg=i._emscripten_bind_btVector4_setX_1=rt._emscripten_bind_btVector4_setX_1,Qg=i._emscripten_bind_btVector4_setY_1=rt._emscripten_bind_btVector4_setY_1,Eg=i._emscripten_bind_btVector4_setZ_1=rt._emscripten_bind_btVector4_setZ_1,Hg=i._emscripten_bind_btVector4_w_0=rt._emscripten_bind_btVector4_w_0,Zg=i._emscripten_bind_btVector4_x_0=rt._emscripten_bind_btVector4_x_0,Ug=i._emscripten_bind_btVector4_y_0=rt._emscripten_bind_btVector4_y_0,Yg=i._emscripten_bind_btVector4_z_0=rt._emscripten_bind_btVector4_z_0,Jg=i._emscripten_bind_btVehicleRaycasterResult___destroy___0=rt._emscripten_bind_btVehicleRaycasterResult___destroy___0,Xg=i._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0=rt._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0,zg=i._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0=rt._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0,Kg=i._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0=rt._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0,qg=i._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1=rt._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1,$g=i._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1=rt._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1,tC=i._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1=rt._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1,eC=i._emscripten_bind_btVehicleRaycaster___destroy___0=rt._emscripten_bind_btVehicleRaycaster___destroy___0,iC=i._emscripten_bind_btVehicleRaycaster_castRay_3=rt._emscripten_bind_btVehicleRaycaster_castRay_3,nC=i._emscripten_bind_btVehicleTuning_btVehicleTuning_0=rt._emscripten_bind_btVehicleTuning_btVehicleTuning_0,oC=i._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0=rt._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0,_C=i._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0=rt._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0,rC=i._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0=rt._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0,sC=i._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0=rt._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0,pC=i._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0=rt._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0,cC=i._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0=rt._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0,aC=i._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1=rt._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1,lC=i._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1=rt._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1,dC=i._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1=rt._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1,bC=i._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1=rt._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1,AC=i._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1=rt._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1,fC=i._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1=rt._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1,uC=i._emscripten_bind_btWheelInfoConstructionInfo___destroy___0=rt._emscripten_bind_btWheelInfoConstructionInfo___destroy___0,mC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0,hC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0,yC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0,gC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0,CC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0,vC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0,SC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0,wC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0,kC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0,RC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0,jC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0,DC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0,IC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1,BC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1,WC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1,FC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1,xC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1,OC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1,TC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1,PC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1,MC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1,VC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1,GC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1,NC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1,LC=i._emscripten_bind_btWheelInfo___destroy___0=rt._emscripten_bind_btWheelInfo___destroy___0,QC=i._emscripten_bind_btWheelInfo_btWheelInfo_1=rt._emscripten_bind_btWheelInfo_btWheelInfo_1,EC=i._emscripten_bind_btWheelInfo_getSuspensionRestLength_0=rt._emscripten_bind_btWheelInfo_getSuspensionRestLength_0,HC=i._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0=rt._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0,ZC=i._emscripten_bind_btWheelInfo_get_m_brake_0=rt._emscripten_bind_btWheelInfo_get_m_brake_0,UC=i._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0=rt._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0,YC=i._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0=rt._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0,JC=i._emscripten_bind_btWheelInfo_get_m_deltaRotation_0=rt._emscripten_bind_btWheelInfo_get_m_deltaRotation_0,XC=i._emscripten_bind_btWheelInfo_get_m_engineForce_0=rt._emscripten_bind_btWheelInfo_get_m_engineForce_0,zC=i._emscripten_bind_btWheelInfo_get_m_frictionSlip_0=rt._emscripten_bind_btWheelInfo_get_m_frictionSlip_0,KC=i._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0=rt._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0,qC=i._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0=rt._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0,$C=i._emscripten_bind_btWheelInfo_get_m_raycastInfo_0=rt._emscripten_bind_btWheelInfo_get_m_raycastInfo_0,tv=i._emscripten_bind_btWheelInfo_get_m_rollInfluence_0=rt._emscripten_bind_btWheelInfo_get_m_rollInfluence_0,ev=i._emscripten_bind_btWheelInfo_get_m_rotation_0=rt._emscripten_bind_btWheelInfo_get_m_rotation_0,iv=i._emscripten_bind_btWheelInfo_get_m_skidInfo_0=rt._emscripten_bind_btWheelInfo_get_m_skidInfo_0,nv=i._emscripten_bind_btWheelInfo_get_m_steering_0=rt._emscripten_bind_btWheelInfo_get_m_steering_0,ov=i._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0=rt._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0,_v=i._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0=rt._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0,rv=i._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0=rt._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0,sv=i._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0=rt._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0,pv=i._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0=rt._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0,cv=i._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0=rt._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0,av=i._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0=rt._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0,lv=i._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0=rt._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0,dv=i._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0=rt._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0,bv=i._emscripten_bind_btWheelInfo_get_m_worldTransform_0=rt._emscripten_bind_btWheelInfo_get_m_worldTransform_0,Av=i._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1=rt._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1,fv=i._emscripten_bind_btWheelInfo_set_m_brake_1=rt._emscripten_bind_btWheelInfo_set_m_brake_1,uv=i._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1=rt._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1,mv=i._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1=rt._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1,hv=i._emscripten_bind_btWheelInfo_set_m_deltaRotation_1=rt._emscripten_bind_btWheelInfo_set_m_deltaRotation_1,yv=i._emscripten_bind_btWheelInfo_set_m_engineForce_1=rt._emscripten_bind_btWheelInfo_set_m_engineForce_1,gv=i._emscripten_bind_btWheelInfo_set_m_frictionSlip_1=rt._emscripten_bind_btWheelInfo_set_m_frictionSlip_1,Cv=i._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1=rt._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1,vv=i._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1=rt._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1,Sv=i._emscripten_bind_btWheelInfo_set_m_raycastInfo_1=rt._emscripten_bind_btWheelInfo_set_m_raycastInfo_1,wv=i._emscripten_bind_btWheelInfo_set_m_rollInfluence_1=rt._emscripten_bind_btWheelInfo_set_m_rollInfluence_1,kv=i._emscripten_bind_btWheelInfo_set_m_rotation_1=rt._emscripten_bind_btWheelInfo_set_m_rotation_1,Rv=i._emscripten_bind_btWheelInfo_set_m_skidInfo_1=rt._emscripten_bind_btWheelInfo_set_m_skidInfo_1,jv=i._emscripten_bind_btWheelInfo_set_m_steering_1=rt._emscripten_bind_btWheelInfo_set_m_steering_1,Dv=i._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1=rt._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1,Iv=i._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1=rt._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1,Bv=i._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1=rt._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1,Wv=i._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1=rt._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1,Fv=i._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1=rt._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1,xv=i._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1=rt._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1,Ov=i._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1=rt._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1,Tv=i._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1=rt._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1,Pv=i._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1=rt._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1,Mv=i._emscripten_bind_btWheelInfo_set_m_worldTransform_1=rt._emscripten_bind_btWheelInfo_set_m_worldTransform_1,Vv=i._emscripten_bind_btWheelInfo_updateWheel_2=rt._emscripten_bind_btWheelInfo_updateWheel_2,Gv=i._emscripten_bind_tAnchorArray___destroy___0=rt._emscripten_bind_tAnchorArray___destroy___0,Nv=i._emscripten_bind_tAnchorArray_at_1=rt._emscripten_bind_tAnchorArray_at_1,Lv=i._emscripten_bind_tAnchorArray_clear_0=rt._emscripten_bind_tAnchorArray_clear_0,Qv=i._emscripten_bind_tAnchorArray_pop_back_0=rt._emscripten_bind_tAnchorArray_pop_back_0,Ev=i._emscripten_bind_tAnchorArray_push_back_1=rt._emscripten_bind_tAnchorArray_push_back_1,Hv=i._emscripten_bind_tAnchorArray_size_0=rt._emscripten_bind_tAnchorArray_size_0,Zv=i._emscripten_bind_tMaterialArray___destroy___0=rt._emscripten_bind_tMaterialArray___destroy___0,Uv=i._emscripten_bind_tMaterialArray_at_1=rt._emscripten_bind_tMaterialArray_at_1,Yv=i._emscripten_bind_tMaterialArray_size_0=rt._emscripten_bind_tMaterialArray_size_0,Jv=i._emscripten_bind_tNodeArray___destroy___0=rt._emscripten_bind_tNodeArray___destroy___0,Xv=i._emscripten_bind_tNodeArray_at_1=rt._emscripten_bind_tNodeArray_at_1,zv=i._emscripten_bind_tNodeArray_size_0=rt._emscripten_bind_tNodeArray_size_0,Kv=i._emscripten_enum_PHY_ScalarType_PHY_DOUBLE=rt._emscripten_enum_PHY_ScalarType_PHY_DOUBLE,qv=i._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88=rt._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88,$v=i._emscripten_enum_PHY_ScalarType_PHY_FLOAT=rt._emscripten_enum_PHY_ScalarType_PHY_FLOAT,tS=i._emscripten_enum_PHY_ScalarType_PHY_INTEGER=rt._emscripten_enum_PHY_ScalarType_PHY_INTEGER,eS=i._emscripten_enum_PHY_ScalarType_PHY_SHORT=rt._emscripten_enum_PHY_ScalarType_PHY_SHORT,iS=i._emscripten_enum_PHY_ScalarType_PHY_UCHAR=rt._emscripten_enum_PHY_ScalarType_PHY_UCHAR,nS=i._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM=rt._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM,oS=i._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP=rt._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP,_S=i._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM=rt._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM,rS=i._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP=rt._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP,sS=(i._emscripten_replace_memory=rt._emscripten_replace_memory,i._free=rt._free),pS=(i._i64Add=rt._i64Add,i._i64Subtract=rt._i64Subtract,i._llvm_bswap_i16=rt._llvm_bswap_i16,i._llvm_bswap_i32=rt._llvm_bswap_i32,i._malloc=rt._malloc);if(i._memcpy=rt._memcpy,i._memmove=rt._memmove,i._memset=rt._memset,i._sbrk=rt._sbrk,i.establishStackSpace=rt.establishStackSpace,i.stackAlloc=rt.stackAlloc,i.stackRestore=rt.stackRestore,i.stackSave=rt.stackSave,i.dynCall_di=rt.dynCall_di,i.dynCall_did=rt.dynCall_did,i.dynCall_diidii=rt.dynCall_diidii,i.dynCall_diii=rt.dynCall_diii,i.dynCall_diiidii=rt.dynCall_diiidii,i.dynCall_diiii=rt.dynCall_diiii,i.dynCall_diiiii=rt.dynCall_diiiii,i.dynCall_diiiiiiii=rt.dynCall_diiiiiiii,i.dynCall_diiiiiiiii=rt.dynCall_diiiiiiiii,i.dynCall_diiiiiiiiii=rt.dynCall_diiiiiiiiii,i.dynCall_ii=rt.dynCall_ii,i.dynCall_iidid=rt.dynCall_iidid,i.dynCall_iii=rt.dynCall_iii,i.dynCall_iiid=rt.dynCall_iiid,i.dynCall_iiii=rt.dynCall_iiii,i.dynCall_iiiii=rt.dynCall_iiiii,i.dynCall_iiiiiii=rt.dynCall_iiiiiii,i.dynCall_iiiiiiiiii=rt.dynCall_iiiiiiiiii,i.dynCall_iiiiiiiiiii=rt.dynCall_iiiiiiiiiii,i.dynCall_v=rt.dynCall_v,i.dynCall_vi=rt.dynCall_vi,i.dynCall_vid=rt.dynCall_vid,i.dynCall_vidd=rt.dynCall_vidd,i.dynCall_viddiii=rt.dynCall_viddiii,i.dynCall_vidi=rt.dynCall_vidi,i.dynCall_vidii=rt.dynCall_vidii,i.dynCall_vii=rt.dynCall_vii,i.dynCall_viid=rt.dynCall_viid,i.dynCall_viidi=rt.dynCall_viidi,i.dynCall_viidii=rt.dynCall_viidii,i.dynCall_viii=rt.dynCall_viii,i.dynCall_viiid=rt.dynCall_viiid,i.dynCall_viiidii=rt.dynCall_viiidii,i.dynCall_viiii=rt.dynCall_viiii,i.dynCall_viiiid=rt.dynCall_viiiid,i.dynCall_viiiidddddidi=rt.dynCall_viiiidddddidi,i.dynCall_viiiiddddiid=rt.dynCall_viiiiddddiid,i.dynCall_viiiii=rt.dynCall_viiiii,i.dynCall_viiiiid=rt.dynCall_viiiiid,i.dynCall_viiiiii=rt.dynCall_viiiiii,i.dynCall_viiiiiii=rt.dynCall_viiiiiii,i.dynCall_viiiiiiiid=rt.dynCall_viiiiiiiid,i.dynCall_viiiiiiiii=rt.dynCall_viiiiiiiii,i.dynCall_viiiiiiiiii=rt.dynCall_viiiiiiiiii,i.asm=rt,i.Pointer_stringify=function(t,e){uS("this function has been removed - you should use UTF8ToString(ptr, maxBytesToRead) instead!")},Q)if(H(Q)||(nt=Q,Q=i.locateFile?i.locateFile(nt,l):l+nt),p||s){var cS=i.readBinary(Q);g.set(cS,8)}else{G++,i.monitorRunDependencies&&i.monitorRunDependencies(G);var aS=function(t){t.byteLength&&(t=new Uint8Array(t)),g.set(t,8),i.memoryInitializerRequest&&delete i.memoryInitializerRequest.response,function(){if(G--,i.monitorRunDependencies&&i.monitorRunDependencies(G),0==G&&(null!==N&&(clearInterval(N),N=null),L)){var t=L;L=null,t()}}()},lS=function(){i.readAsync(Q,aS,(function(){throw"could not load memory initializer "+Q}))},dS=it(Q);if(dS)aS(dS.buffer);else if(i.memoryInitializerRequest){var bS=function(){var t=i.memoryInitializerRequest,e=t.response;if(200!==t.status&&0!==t.status){var n=it(i.memoryInitializerRequestURL);if(!n)return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+t.status+", retrying "+Q),void lS();e=n.buffer}aS(e)};i.memoryInitializerRequest.response?setTimeout(bS,0):i.memoryInitializerRequest.addEventListener("load",bS)}else lS()}function AS(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function fS(t){function e(){i.calledRun||(i.calledRun=!0,u||(V||(V=!0,x(T)),x(P),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)t=i.postRun.shift(),M.unshift(t);var t;x(M)}()))}t=t||i.arguments,G>0||(function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)t=i.preRun.shift(),O.unshift(t);var t;x(O)}(),G>0||i.calledRun||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}function uS(t){throw i.onAbort&&i.onAbort(t),void 0!==t?(d(t),b(t),t=JSON.stringify(t)):t="",u=!0,"abort("+t+"). Build with -s ASSERTIONS=1 for more info."}if(i.then=function(t){if(i.calledRun)t(i);else{var e=i.onRuntimeInitialized;i.onRuntimeInitialized=function(){e&&e(),t(i)}}return i},AS.prototype=new Error,AS.prototype.constructor=AS,L=function t(){i.calledRun||fS(),i.calledRun||(L=t)},i.run=fS,i.abort=uS,i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();function mS(){}function hS(t){return(t||mS).__cache__}function yS(t,e){var i=hS(e),n=i[t];return n||((n=Object.create((e||mS).prototype)).ptr=t,i[t]=n)}i.noExitRuntime=!0,fS(),mS.prototype=Object.create(mS.prototype),mS.prototype.constructor=mS,mS.prototype.__class__=mS,mS.__cache__={},i.WrapperObject=mS,i.getCache=hS,i.wrapPointer=yS,i.castObject=function(t,e){return yS(t.ptr,e)},i.NULL=yS(0),i.destroy=function(t){if(!t.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";t.__destroy__(),delete hS(t.__class__)[t.ptr]},i.compare=function(t,e){return t.ptr===e.ptr},i.getPointer=function(t){return t.ptr},i.getClass=function(t){return t.__class__};var gS={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(gS.needed){for(var t=0;t=gS.size?(m(_>0),gS.needed+=_,n=i._malloc(_),gS.temps.push(n)):(n=gS.buffer+gS.pos,gS.pos+=_),n},copy:function(t,e,i){var n=i;switch(e.BYTES_PER_ELEMENT){case 2:n>>=1;break;case 4:n>>=2;break;case 8:n>>=3}for(var o=0;o0?_:function(t){for(var e=0,i=0;i=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&t.charCodeAt(++i)),n<=127?++e:e+=n<=2047?2:n<=65535?3:4}return e}(n)+1,s=new Array(r),p=j(n,s,0,s.length),o&&(s.length=p),s),i=gS.alloc(e,y);return gS.copy(e,y,i),i}var n,o,_,r,s,p;return t}function vS(t){if("object"==typeof t){var e=gS.alloc(t,v);return gS.copy(t,v,e),e}return t}function SS(t,e,i){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),this.ptr=I_(t,e,i),hS(SS)[this.ptr]=this}function wS(){throw"cannot construct a btCollisionShape, no constructor in IDL"}function kS(){throw"cannot construct a btCollisionObject, no constructor in IDL"}function RS(){throw"cannot construct a btDynamicsWorld, no constructor in IDL"}function jS(){throw"cannot construct a btTypedConstraint, no constructor in IDL"}function DS(){throw"cannot construct a btConcaveShape, no constructor in IDL"}function IS(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=xo(t,e),hS(IS)[this.ptr]=this}function BS(){throw"cannot construct a btIDebugDraw, no constructor in IDL"}function WS(t){if(t&&"object"==typeof t&&(t=t.ptr),void 0===t)return this.ptr=sp(),void(hS(WS)[this.ptr]=this);this.ptr=pp(t),hS(WS)[this.ptr]=this}function xS(){throw"cannot construct a ConvexResultCallback, no constructor in IDL"}function OS(){throw"cannot construct a btTriangleMeshShape, no constructor in IDL"}function TS(){this.ptr=Za(),hS(TS)[this.ptr]=this}function PS(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=Cr(t,e),hS(PS)[this.ptr]=this}function MS(){throw"cannot construct a btActionInterface, no constructor in IDL"}function VS(t,e,i){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0===t?(this.ptr=Ag(),void(hS(VS)[this.ptr]=this)):void 0===e?(this.ptr=_emscripten_bind_btVector3_btVector3_1(t),void(hS(VS)[this.ptr]=this)):void 0===i?(this.ptr=_emscripten_bind_btVector3_btVector3_2(t,e),void(hS(VS)[this.ptr]=this)):(this.ptr=fg(t,e,i),void(hS(VS)[this.ptr]=this))}function GS(){throw"cannot construct a btVehicleRaycaster, no constructor in IDL"}function NS(){throw"cannot construct a btQuadWord, no constructor in IDL"}function LS(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=qs(t),hS(LS)[this.ptr]=this}function QS(t,e,i,n){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),this.ptr=xp(t,e,i,n),hS(QS)[this.ptr]=this}function ES(){throw"cannot construct a btConvexShape, no constructor in IDL"}function HS(){throw"cannot construct a btDispatcher, no constructor in IDL"}function ZS(t,e,i,n,o){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),void 0===n?(this.ptr=Aa(t,e,i),void(hS(ZS)[this.ptr]=this)):void 0===o?(this.ptr=_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_4(t,e,i,n),void(hS(ZS)[this.ptr]=this)):(this.ptr=fa(t,e,i,n,o),void(hS(ZS)[this.ptr]=this))}function US(){throw"cannot construct a btStridingMeshInterface, no constructor in IDL"}function YS(){throw"cannot construct a btMotionState, no constructor in IDL"}function JS(){throw"cannot construct a ContactResultCallback, no constructor in IDL"}function XS(){throw"cannot construct a btSoftBodySolver, no constructor in IDL"}function zS(){throw"cannot construct a RayResultCallback, no constructor in IDL"}function KS(){throw"cannot construct a btMatrix3x3, no constructor in IDL"}function qS(){throw"cannot construct a btDispatcherInfo, no constructor in IDL"}function $S(){throw"cannot construct a Material, no constructor in IDL"}function tw(){throw"cannot construct a btWheelInfoConstructionInfo, no constructor in IDL"}function ew(t,e){if(t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0===e)return this.ptr=Bs(t),void(hS(ew)[this.ptr]=this);this.ptr=Ws(t,e),hS(ew)[this.ptr]=this}function iw(){throw"cannot construct a btBroadphaseInterface, no constructor in IDL"}function nw(t,e,i,n){if(t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),void 0===n)return this.ptr=cf(t,e,i),void(hS(nw)[this.ptr]=this);this.ptr=af(t,e,i,n),hS(nw)[this.ptr]=this}function ow(){throw"cannot construct a btCollisionConfiguration, no constructor in IDL"}function _w(){this.ptr=Rb(),hS(_w)[this.ptr]=this}function rw(t){if(t&&"object"==typeof t&&(t=t.ptr),void 0===t)return this.ptr=Y_(),void(hS(rw)[this.ptr]=this);this.ptr=J_(t),hS(rw)[this.ptr]=this}function sw(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=St(t,e),hS(sw)[this.ptr]=this}function pw(){throw"cannot construct a tMaterialArray, no constructor in IDL"}function cw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=vp(t),hS(cw)[this.ptr]=this}function aw(){this.ptr=Qr(),hS(aw)[this.ptr]=this}function lw(){throw"cannot construct a LocalShapeInfo, no constructor in IDL"}function dw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=Yf(t),hS(dw)[this.ptr]=this}function bw(){throw"cannot construct a btConvexPolyhedron, no constructor in IDL"}function Aw(){this.ptr=_p(),hS(Aw)[this.ptr]=this}function fw(t,e,i,n,o,_,r,s,p){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),s&&"object"==typeof s&&(s=s.ptr),p&&"object"==typeof p&&(p=p.ptr),this.ptr=gl(t,e,i,n,o,_,r,s,p),hS(fw)[this.ptr]=this}function uw(){this.ptr=gp(),hS(uw)[this.ptr]=this}function mw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=Ho(t),hS(mw)[this.ptr]=this}function hw(t,e,i,n,o){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),void 0===i?(this.ptr=Qn(t,e),void(hS(hw)[this.ptr]=this)):void 0===n?(this.ptr=En(t,e,i),void(hS(hw)[this.ptr]=this)):void 0===o?(this.ptr=Hn(t,e,i,n),void(hS(hw)[this.ptr]=this)):(this.ptr=Zn(t,e,i,n,o),void(hS(hw)[this.ptr]=this))}function yw(){this.ptr=mm(),hS(yw)[this.ptr]=this}function gw(t,e,i,n){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),void 0===i?(this.ptr=Rr(t,e),void(hS(gw)[this.ptr]=this)):void 0===n?(this.ptr=_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_3(t,e,i),void(hS(gw)[this.ptr]=this)):(this.ptr=jr(t,e,i,n),void(hS(gw)[this.ptr]=this))}function Cw(t,e,i,n,o,_,r){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),void 0===i?(this.ptr=jl(t,e),void(hS(Cw)[this.ptr]=this)):void 0===n?(this.ptr=Dl(t,e,i),void(hS(Cw)[this.ptr]=this)):void 0===o?(this.ptr=Il(t,e,i,n),void(hS(Cw)[this.ptr]=this)):void 0===_?(this.ptr=Bl(t,e,i,n,o),void(hS(Cw)[this.ptr]=this)):void 0===r?(this.ptr=Wl(t,e,i,n,o,_),void(hS(Cw)[this.ptr]=this)):(this.ptr=Fl(t,e,i,n,o,_,r),void(hS(Cw)[this.ptr]=this))}function vw(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=ur(t,e),hS(vw)[this.ptr]=this}function Sw(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=lr(t,e),hS(Sw)[this.ptr]=this}function ww(t,e){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0===t?(this.ptr=tg(),void(hS(ww)[this.ptr]=this)):void 0===e?(this.ptr=eg(t),void(hS(ww)[this.ptr]=this)):(this.ptr=ig(t,e),void(hS(ww)[this.ptr]=this))}function kw(t,e){return gS.prepare(),"object"==typeof t&&(t=vS(t)),e&&"object"==typeof e&&(e=e.ptr),void 0===t?(this.ptr=rs(),void(hS(kw)[this.ptr]=this)):void 0===e?(this.ptr=ss(t),void(hS(kw)[this.ptr]=this)):(this.ptr=ps(t,e),void(hS(kw)[this.ptr]=this))}function Rw(){this.ptr=nC(),hS(Rw)[this.ptr]=this}function jw(){throw"cannot construct a btCollisionObjectWrapper, no constructor in IDL"}function Dw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=Gu(t),hS(Dw)[this.ptr]=this}function Iw(t,e){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0===t?(this.ptr=dp(),void(hS(Iw)[this.ptr]=this)):void 0===e?(this.ptr=bp(t),void(hS(Iw)[this.ptr]=this)):(this.ptr=Ap(t,e),void(hS(Iw)[this.ptr]=this))}function Bw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=QC(t),hS(Bw)[this.ptr]=this}function Ww(t,e,i,n){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),void 0===t?(this.ptr=Wg(),void(hS(Ww)[this.ptr]=this)):void 0===e?(this.ptr=_emscripten_bind_btVector4_btVector4_1(t),void(hS(Ww)[this.ptr]=this)):void 0===i?(this.ptr=_emscripten_bind_btVector4_btVector4_2(t,e),void(hS(Ww)[this.ptr]=this)):void 0===n?(this.ptr=_emscripten_bind_btVector4_btVector4_3(t,e,i),void(hS(Ww)[this.ptr]=this)):(this.ptr=Fg(t,e,i,n),void(hS(Ww)[this.ptr]=this))}function Fw(){this.ptr=ap(),hS(Fw)[this.ptr]=this}function xw(){throw"cannot construct a Anchor, no constructor in IDL"}function Ow(){throw"cannot construct a btVehicleRaycasterResult, no constructor in IDL"}function Tw(){throw"cannot construct a btVector3Array, no constructor in IDL"}function Pw(){throw"cannot construct a btConstraintSolver, no constructor in IDL"}function Mw(t,e,i){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),this.ptr=FA(t,e,i),hS(Mw)[this.ptr]=this}function Vw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=Vs(t),hS(Vw)[this.ptr]=this}function Gw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=Zs(t),hS(Gw)[this.ptr]=this}function Nw(){this.ptr=Mu(),hS(Nw)[this.ptr]=this}function Lw(){throw"cannot construct a tAnchorArray, no constructor in IDL"}function Qw(){throw"cannot construct a RaycastInfo, no constructor in IDL"}function Ew(){throw"cannot construct a tNodeArray, no constructor in IDL"}function Hw(t,e,i,n){gS.prepare(),t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),"object"==typeof n&&(n=vS(n)),this.ptr=Um(t,e,i,n),hS(Hw)[this.ptr]=this}function Zw(){throw"cannot construct a btIntArray, no constructor in IDL"}function Uw(){throw"cannot construct a Config, no constructor in IDL"}function Yw(){throw"cannot construct a Node, no constructor in IDL"}function Jw(){this.ptr=hl(),hS(Jw)[this.ptr]=this}function Xw(){throw"cannot construct a btOverlappingPairCallback, no constructor in IDL"}function zw(t,e,i,n){if(t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),void 0===n)return this.ptr=id(t,e,i),void(hS(zw)[this.ptr]=this);this.ptr=nd(t,e,i,n),hS(zw)[this.ptr]=this}function Kw(){throw"cannot construct a btSoftBodyArray, no constructor in IDL"}function qw(){throw"cannot construct a btFaceArray, no constructor in IDL"}function $w(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=Iy(t,e),hS($w)[this.ptr]=this}function tk(){throw"cannot construct a btOverlappingPairCache, no constructor in IDL"}function ek(t,e,i,n,o){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),this.ptr=Yh(t,e,i,n,o),hS(ek)[this.ptr]=this}function ik(t,e,i,n){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),this.ptr=sa(t,e,i,n),hS(ik)[this.ptr]=this}function nk(t,e){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0===t?(this.ptr=Py(),void(hS(nk)[this.ptr]=this)):void 0===e?(this.ptr=_emscripten_bind_btTransform_btTransform_1(t),void(hS(nk)[this.ptr]=this)):(this.ptr=My(t,e),void(hS(nk)[this.ptr]=this))}function ok(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=Nt(t,e),hS(ok)[this.ptr]=this}function _k(t){if(t&&"object"==typeof t&&(t=t.ptr),void 0===t)return this.ptr=bm(),void(hS(_k)[this.ptr]=this);this.ptr=Am(t),hS(_k)[this.ptr]=this}function rk(){this.ptr=_e(),hS(rk)[this.ptr]=this}function sk(t,e,i){if(t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0===i)return this.ptr=ro(t,e),void(hS(sk)[this.ptr]=this);this.ptr=so(t,e,i),hS(sk)[this.ptr]=this}function pk(t,e,i,n,o){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),void 0===n?(this.ptr=Hu(t,e,i),void(hS(pk)[this.ptr]=this)):void 0===o?(this.ptr=_emscripten_bind_btSliderConstraint_btSliderConstraint_4(t,e,i,n),void(hS(pk)[this.ptr]=this)):(this.ptr=Zu(t,e,i,n,o),void(hS(pk)[this.ptr]=this))}function ck(){this.ptr=$d(),hS(ck)[this.ptr]=this}function ak(){throw"cannot construct a btManifoldPoint, no constructor in IDL"}function lk(t,e,i,n){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),void 0===i?(this.ptr=Fb(t,e),void(hS(lk)[this.ptr]=this)):void 0===n?(this.ptr=_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_3(t,e,i),void(hS(lk)[this.ptr]=this)):(this.ptr=xb(t,e,i,n),void(hS(lk)[this.ptr]=this))}function dk(){this.ptr=lm(),hS(dk)[this.ptr]=this}function bk(){throw"cannot construct a VoidPtr, no constructor in IDL"}function Ak(){throw"cannot construct a btBroadphaseProxy, no constructor in IDL"}function fk(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=Yn(t),hS(fk)[this.ptr]=this}function uk(){throw"cannot construct a btFace, no constructor in IDL"}function mk(){this.ptr=fi(),hS(mk)[this.ptr]=this}function hk(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=bo(t,e),hS(hk)[this.ptr]=this}function yk(t,e,i,n){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),this.ptr=nA(t,e,i,n),hS(yk)[this.ptr]=this}function gk(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=So(t,e),hS(gk)[this.ptr]=this}function Ck(){throw"cannot construct a btContactSolverInfo, no constructor in IDL"}function vk(t,e,i,n,o){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),void 0===n?(this.ptr=ja(t,e,i),void(hS(vk)[this.ptr]=this)):void 0===o?(this.ptr=_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_4(t,e,i,n),void(hS(vk)[this.ptr]=this)):(this.ptr=Da(t,e,i,n,o),void(hS(vk)[this.ptr]=this))}function Sk(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=vy(t),hS(Sk)[this.ptr]=this}function wk(t,e,i,n,o){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),this.ptr=Si(t,e,i,n,o),hS(wk)[this.ptr]=this}return SS.prototype=Object.create(mS.prototype),SS.prototype.constructor=SS,SS.prototype.__class__=SS,SS.__cache__={},i.btCollisionWorld=SS,SS.prototype.getDispatcher=SS.prototype.getDispatcher=function(){var t=this.ptr;return yS(V_(t),HS)},SS.prototype.rayTest=SS.prototype.rayTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),L_(n,t,e,i)},SS.prototype.getPairCache=SS.prototype.getPairCache=function(){var t=this.ptr;return yS(G_(t),tk)},SS.prototype.getDispatchInfo=SS.prototype.getDispatchInfo=function(){var t=this.ptr;return yS(M_(t),qS)},SS.prototype.addCollisionObject=SS.prototype.addCollisionObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==e?void 0!==i?D_(n,t,e,i):j_(n,t,e):R_(n,t)},SS.prototype.removeCollisionObject=SS.prototype.removeCollisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Q_(e,t)},SS.prototype.getBroadphase=SS.prototype.getBroadphase=function(){var t=this.ptr;return yS(T_(t),iw)},SS.prototype.convexSweepTest=SS.prototype.convexSweepTest=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),F_(_,t,e,i,n,o)},SS.prototype.contactPairTest=SS.prototype.contactPairTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),B_(n,t,e,i)},SS.prototype.contactTest=SS.prototype.contactTest=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),W_(i,t,e)},SS.prototype.updateSingleAabb=SS.prototype.updateSingleAabb=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),H_(e,t)},SS.prototype.setDebugDrawer=SS.prototype.setDebugDrawer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),E_(e,t)},SS.prototype.getDebugDrawer=SS.prototype.getDebugDrawer=function(){var t=this.ptr;return yS(P_(t),BS)},SS.prototype.debugDrawWorld=SS.prototype.debugDrawWorld=function(){var t=this.ptr;O_(t)},SS.prototype.debugDrawObject=SS.prototype.debugDrawObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),x_(n,t,e,i)},SS.prototype.performDiscreteCollisionDetection=SS.prototype.performDiscreteCollisionDetection=function(){var t=this.ptr;N_(t)},SS.prototype.__destroy__=SS.prototype.__destroy__=function(){var t=this.ptr;k_(t)},wS.prototype=Object.create(mS.prototype),wS.prototype.constructor=wS,wS.prototype.__class__=wS,wS.__cache__={},i.btCollisionShape=wS,wS.prototype.setLocalScaling=wS.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),S_(e,t)},wS.prototype.getLocalScaling=wS.prototype.getLocalScaling=function(){var t=this.ptr;return yS(C_(t),VS)},wS.prototype.calculateLocalInertia=wS.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),g_(i,t,e)},wS.prototype.setMargin=wS.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),w_(e,t)},wS.prototype.getMargin=wS.prototype.getMargin=function(){var t=this.ptr;return v_(t)},wS.prototype.__destroy__=wS.prototype.__destroy__=function(){var t=this.ptr;y_(t)},kS.prototype=Object.create(mS.prototype),kS.prototype.constructor=kS,kS.prototype.__class__=kS,kS.__cache__={},i.btCollisionObject=kS,kS.prototype.setAnisotropicFriction=kS.prototype.setAnisotropicFriction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),s_(i,t,e)},kS.prototype.getCollisionShape=kS.prototype.getCollisionShape=function(){var t=this.ptr;return yS(qo(t),wS)},kS.prototype.setContactProcessingThreshold=kS.prototype.setContactProcessingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),d_(e,t)},kS.prototype.setActivationState=kS.prototype.setActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),r_(e,t)},kS.prototype.forceActivationState=kS.prototype.forceActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zo(e,t)},kS.prototype.activate=kS.prototype.activate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),void 0!==t?Xo(e,t):Jo(e)},kS.prototype.isActive=kS.prototype.isActive=function(){var t=this.ptr;return!!i_(t)},kS.prototype.isKinematicObject=kS.prototype.isKinematicObject=function(){var t=this.ptr;return!!n_(t)},kS.prototype.isStaticObject=kS.prototype.isStaticObject=function(){var t=this.ptr;return!!o_(t)},kS.prototype.isStaticOrKinematicObject=kS.prototype.isStaticOrKinematicObject=function(){var t=this.ptr;return!!__(t)},kS.prototype.setRestitution=kS.prototype.setRestitution=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),A_(e,t)},kS.prototype.setFriction=kS.prototype.setFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),b_(e,t)},kS.prototype.setRollingFriction=kS.prototype.setRollingFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),f_(e,t)},kS.prototype.getWorldTransform=kS.prototype.getWorldTransform=function(){var t=this.ptr;return yS(e_(t),nk)},kS.prototype.getCollisionFlags=kS.prototype.getCollisionFlags=function(){var t=this.ptr;return Ko(t)},kS.prototype.setCollisionFlags=kS.prototype.setCollisionFlags=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),a_(e,t)},kS.prototype.setWorldTransform=kS.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),h_(e,t)},kS.prototype.setCollisionShape=kS.prototype.setCollisionShape=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),l_(e,t)},kS.prototype.setCcdMotionThreshold=kS.prototype.setCcdMotionThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),p_(e,t)},kS.prototype.setCcdSweptSphereRadius=kS.prototype.setCcdSweptSphereRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),c_(e,t)},kS.prototype.getUserIndex=kS.prototype.getUserIndex=function(){var t=this.ptr;return $o(t)},kS.prototype.setUserIndex=kS.prototype.setUserIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),u_(e,t)},kS.prototype.getUserPointer=kS.prototype.getUserPointer=function(){var t=this.ptr;return yS(t_(t),bk)},kS.prototype.setUserPointer=kS.prototype.setUserPointer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),m_(e,t)},kS.prototype.__destroy__=kS.prototype.__destroy__=function(){var t=this.ptr;Yo(t)},RS.prototype=Object.create(SS.prototype),RS.prototype.constructor=RS,RS.prototype.__class__=RS,RS.__cache__={},i.btDynamicsWorld=RS,RS.prototype.addAction=RS.prototype.addAction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wc(e,t)},RS.prototype.removeAction=RS.prototype.removeAction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Jc(e,t)},RS.prototype.getSolverInfo=RS.prototype.getSolverInfo=function(){var t=this.ptr;return yS(Zc(t),Ck)},RS.prototype.getDispatcher=RS.prototype.getDispatcher=function(){var t=this.ptr;return yS(Ec(t),HS)},RS.prototype.rayTest=RS.prototype.rayTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Yc(n,t,e,i)},RS.prototype.getPairCache=RS.prototype.getPairCache=function(){var t=this.ptr;return yS(Hc(t),tk)},RS.prototype.getDispatchInfo=RS.prototype.getDispatchInfo=function(){var t=this.ptr;return yS(Qc(t),qS)},RS.prototype.addCollisionObject=RS.prototype.addCollisionObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==e?void 0!==i?Oc(n,t,e,i):xc(n,t,e):Fc(n,t)},RS.prototype.removeCollisionObject=RS.prototype.removeCollisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xc(e,t)},RS.prototype.getBroadphase=RS.prototype.getBroadphase=function(){var t=this.ptr;return yS(Nc(t),iw)},RS.prototype.convexSweepTest=RS.prototype.convexSweepTest=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),Mc(_,t,e,i,n,o)},RS.prototype.contactPairTest=RS.prototype.contactPairTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Tc(n,t,e,i)},RS.prototype.contactTest=RS.prototype.contactTest=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Pc(i,t,e)},RS.prototype.updateSingleAabb=RS.prototype.updateSingleAabb=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Kc(e,t)},RS.prototype.setDebugDrawer=RS.prototype.setDebugDrawer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zc(e,t)},RS.prototype.getDebugDrawer=RS.prototype.getDebugDrawer=function(){var t=this.ptr;return yS(Lc(t),BS)},RS.prototype.debugDrawWorld=RS.prototype.debugDrawWorld=function(){var t=this.ptr;Gc(t)},RS.prototype.debugDrawObject=RS.prototype.debugDrawObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Vc(n,t,e,i)},RS.prototype.performDiscreteCollisionDetection=RS.prototype.performDiscreteCollisionDetection=function(){var t=this.ptr;Uc(t)},RS.prototype.__destroy__=RS.prototype.__destroy__=function(){var t=this.ptr;Bc(t)},jS.prototype=Object.create(mS.prototype),jS.prototype.constructor=jS,jS.prototype.__class__=jS,jS.__cache__={},i.btTypedConstraint=jS,jS.prototype.enableFeedback=jS.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),_g(e,t)},jS.prototype.getBreakingImpulseThreshold=jS.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return rg(t)},jS.prototype.setBreakingImpulseThreshold=jS.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),pg(e,t)},jS.prototype.getParam=jS.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),sg(i,t,e)},jS.prototype.setParam=jS.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),cg(n,t,e,i)},jS.prototype.__destroy__=jS.prototype.__destroy__=function(){var t=this.ptr;og(t)},DS.prototype=Object.create(wS.prototype),DS.prototype.constructor=DS,DS.prototype.__class__=DS,DS.__cache__={},i.btConcaveShape=DS,DS.prototype.setLocalScaling=DS.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),cr(e,t)},DS.prototype.getLocalScaling=DS.prototype.getLocalScaling=function(){var t=this.ptr;return yS(pr(t),VS)},DS.prototype.calculateLocalInertia=DS.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),sr(i,t,e)},DS.prototype.__destroy__=DS.prototype.__destroy__=function(){var t=this.ptr;rr(t)},IS.prototype=Object.create(wS.prototype),IS.prototype.constructor=IS,IS.prototype.__class__=IS,IS.__cache__={},i.btCapsuleShape=IS,IS.prototype.setMargin=IS.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Lo(e,t)},IS.prototype.getMargin=IS.prototype.getMargin=function(){var t=this.ptr;return Mo(t)},IS.prototype.getUpAxis=IS.prototype.getUpAxis=function(){var t=this.ptr;return Go(t)},IS.prototype.getRadius=IS.prototype.getRadius=function(){var t=this.ptr;return Vo(t)},IS.prototype.getHalfHeight=IS.prototype.getHalfHeight=function(){var t=this.ptr;return To(t)},IS.prototype.setLocalScaling=IS.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),No(e,t)},IS.prototype.getLocalScaling=IS.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Po(t),VS)},IS.prototype.calculateLocalInertia=IS.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Oo(i,t,e)},IS.prototype.__destroy__=IS.prototype.__destroy__=function(){var t=this.ptr;Fo(t)},BS.prototype=Object.create(mS.prototype),BS.prototype.constructor=BS,BS.prototype.__class__=BS,BS.__cache__={},i.btIDebugDraw=BS,BS.prototype.drawLine=BS.prototype.drawLine=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Jl(n,t,e,i)},BS.prototype.drawContactPoint=BS.prototype.drawContactPoint=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),Yl(_,t,e,i,n,o)},BS.prototype.reportErrorWarning=BS.prototype.reportErrorWarning=function(t){var e=this.ptr;gS.prepare(),t=t&&"object"==typeof t?t.ptr:CS(t),zl(e,t)},BS.prototype.draw3dText=BS.prototype.draw3dText=function(t,e){var i=this.ptr;gS.prepare(),t&&"object"==typeof t&&(t=t.ptr),e=e&&"object"==typeof e?e.ptr:CS(e),Ul(i,t,e)},BS.prototype.setDebugMode=BS.prototype.setDebugMode=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Kl(e,t)},BS.prototype.getDebugMode=BS.prototype.getDebugMode=function(){var t=this.ptr;return Xl(t)},BS.prototype.__destroy__=BS.prototype.__destroy__=function(){var t=this.ptr;Zl(t)},WS.prototype=Object.create(mS.prototype),WS.prototype.constructor=WS,WS.prototype.__class__=WS,WS.__cache__={},i.btDefaultCollisionConfiguration=WS,WS.prototype.__destroy__=WS.prototype.__destroy__=function(){var t=this.ptr;rp(t)},xS.prototype=Object.create(mS.prototype),xS.prototype.constructor=xS,xS.prototype.__class__=xS,xS.__cache__={},i.ConvexResultCallback=xS,xS.prototype.hasHit=xS.prototype.hasHit=function(){var t=this.ptr;return!!li(t)},xS.prototype.get_m_collisionFilterGroup=xS.prototype.get_m_collisionFilterGroup=function(){var t=this.ptr;return ci(t)},xS.prototype.set_m_collisionFilterGroup=xS.prototype.set_m_collisionFilterGroup=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),bi(e,t)},Object.defineProperty(xS.prototype,"m_collisionFilterGroup",{get:xS.prototype.get_m_collisionFilterGroup,set:xS.prototype.set_m_collisionFilterGroup}),xS.prototype.get_m_collisionFilterMask=xS.prototype.get_m_collisionFilterMask=function(){var t=this.ptr;return ai(t)},xS.prototype.set_m_collisionFilterMask=xS.prototype.set_m_collisionFilterMask=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ai(e,t)},Object.defineProperty(xS.prototype,"m_collisionFilterMask",{get:xS.prototype.get_m_collisionFilterMask,set:xS.prototype.set_m_collisionFilterMask}),xS.prototype.get_m_closestHitFraction=xS.prototype.get_m_closestHitFraction=function(){var t=this.ptr;return pi(t)},xS.prototype.set_m_closestHitFraction=xS.prototype.set_m_closestHitFraction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),di(e,t)},Object.defineProperty(xS.prototype,"m_closestHitFraction",{get:xS.prototype.get_m_closestHitFraction,set:xS.prototype.set_m_closestHitFraction}),xS.prototype.__destroy__=xS.prototype.__destroy__=function(){var t=this.ptr;si(t)},OS.prototype=Object.create(DS.prototype),OS.prototype.constructor=OS,OS.prototype.__class__=OS,OS.__cache__={},i.btTriangleMeshShape=OS,OS.prototype.setLocalScaling=OS.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zy(e,t)},OS.prototype.getLocalScaling=OS.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Xy(t),VS)},OS.prototype.calculateLocalInertia=OS.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Jy(i,t,e)},OS.prototype.__destroy__=OS.prototype.__destroy__=function(){var t=this.ptr;Yy(t)},TS.prototype=Object.create(kS.prototype),TS.prototype.constructor=TS,TS.prototype.__class__=TS,TS.__cache__={},i.btGhostObject=TS,TS.prototype.getNumOverlappingObjects=TS.prototype.getNumOverlappingObjects=function(){var t=this.ptr;return Xa(t)},TS.prototype.getOverlappingObject=TS.prototype.getOverlappingObject=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(za(e,t),kS)},TS.prototype.setAnisotropicFriction=TS.prototype.setAnisotropicFriction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),_l(i,t,e)},TS.prototype.getCollisionShape=TS.prototype.getCollisionShape=function(){var t=this.ptr;return yS(Ja(t),wS)},TS.prototype.setContactProcessingThreshold=TS.prototype.setContactProcessingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),al(e,t)},TS.prototype.setActivationState=TS.prototype.setActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ol(e,t)},TS.prototype.forceActivationState=TS.prototype.forceActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ua(e,t)},TS.prototype.activate=TS.prototype.activate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),void 0!==t?Ha(e,t):Ea(e)},TS.prototype.isActive=TS.prototype.isActive=function(){var t=this.ptr;return!!tl(t)},TS.prototype.isKinematicObject=TS.prototype.isKinematicObject=function(){var t=this.ptr;return!!el(t)},TS.prototype.isStaticObject=TS.prototype.isStaticObject=function(){var t=this.ptr;return!!il(t)},TS.prototype.isStaticOrKinematicObject=TS.prototype.isStaticOrKinematicObject=function(){var t=this.ptr;return!!nl(t)},TS.prototype.setRestitution=TS.prototype.setRestitution=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),dl(e,t)},TS.prototype.setFriction=TS.prototype.setFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ll(e,t)},TS.prototype.setRollingFriction=TS.prototype.setRollingFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),bl(e,t)},TS.prototype.getWorldTransform=TS.prototype.getWorldTransform=function(){var t=this.ptr;return yS($a(t),nk)},TS.prototype.getCollisionFlags=TS.prototype.getCollisionFlags=function(){var t=this.ptr;return Ya(t)},TS.prototype.setCollisionFlags=TS.prototype.setCollisionFlags=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),pl(e,t)},TS.prototype.setWorldTransform=TS.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ul(e,t)},TS.prototype.setCollisionShape=TS.prototype.setCollisionShape=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),cl(e,t)},TS.prototype.setCcdMotionThreshold=TS.prototype.setCcdMotionThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),rl(e,t)},TS.prototype.setCcdSweptSphereRadius=TS.prototype.setCcdSweptSphereRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),sl(e,t)},TS.prototype.getUserIndex=TS.prototype.getUserIndex=function(){var t=this.ptr;return Ka(t)},TS.prototype.setUserIndex=TS.prototype.setUserIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Al(e,t)},TS.prototype.getUserPointer=TS.prototype.getUserPointer=function(){var t=this.ptr;return yS(qa(t),bk)},TS.prototype.setUserPointer=TS.prototype.setUserPointer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fl(e,t)},TS.prototype.__destroy__=TS.prototype.__destroy__=function(){var t=this.ptr;Qa(t)},PS.prototype=Object.create(wS.prototype),PS.prototype.constructor=PS,PS.prototype.__class__=PS,PS.__cache__={},i.btConeShape=PS,PS.prototype.setLocalScaling=PS.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wr(e,t)},PS.prototype.getLocalScaling=PS.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Sr(t),VS)},PS.prototype.calculateLocalInertia=PS.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),vr(i,t,e)},PS.prototype.__destroy__=PS.prototype.__destroy__=function(){var t=this.ptr;gr(t)},MS.prototype=Object.create(mS.prototype),MS.prototype.constructor=MS,MS.prototype.__class__=MS,MS.__cache__={},i.btActionInterface=MS,MS.prototype.updateAction=MS.prototype.updateAction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Nn(i,t,e)},MS.prototype.__destroy__=MS.prototype.__destroy__=function(){var t=this.ptr;Gn(t)},VS.prototype=Object.create(mS.prototype),VS.prototype.constructor=VS,VS.prototype.__class__=VS,VS.__cache__={},i.btVector3=VS,VS.prototype.length=VS.prototype.length=function(){var t=this.ptr;return mg(t)},VS.prototype.x=VS.prototype.x=function(){var t=this.ptr;return jg(t)},VS.prototype.y=VS.prototype.y=function(){var t=this.ptr;return Dg(t)},VS.prototype.z=VS.prototype.z=function(){var t=this.ptr;return Ig(t)},VS.prototype.setX=VS.prototype.setX=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wg(e,t)},VS.prototype.setY=VS.prototype.setY=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kg(e,t)},VS.prototype.setZ=VS.prototype.setZ=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Rg(e,t)},VS.prototype.setValue=VS.prototype.setValue=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Sg(n,t,e,i)},VS.prototype.normalize=VS.prototype.normalize=function(){var t=this.ptr;hg(t)},VS.prototype.rotate=VS.prototype.rotate=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),yS(vg(i,t,e),VS)},VS.prototype.dot=VS.prototype.dot=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),ug(e,t)},VS.prototype.op_mul=VS.prototype.op_mul=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(gg(e,t),VS)},VS.prototype.op_add=VS.prototype.op_add=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(yg(e,t),VS)},VS.prototype.op_sub=VS.prototype.op_sub=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Cg(e,t),VS)},VS.prototype.__destroy__=VS.prototype.__destroy__=function(){var t=this.ptr;bg(t)},GS.prototype=Object.create(mS.prototype),GS.prototype.constructor=GS,GS.prototype.__class__=GS,GS.__cache__={},i.btVehicleRaycaster=GS,GS.prototype.castRay=GS.prototype.castRay=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),iC(n,t,e,i)},GS.prototype.__destroy__=GS.prototype.__destroy__=function(){var t=this.ptr;eC(t)},NS.prototype=Object.create(mS.prototype),NS.prototype.constructor=NS,NS.prototype.__class__=NS,NS.__cache__={},i.btQuadWord=NS,NS.prototype.x=NS.prototype.x=function(){var t=this.ptr;return Kb(t)},NS.prototype.y=NS.prototype.y=function(){var t=this.ptr;return qb(t)},NS.prototype.z=NS.prototype.z=function(){var t=this.ptr;return $b(t)},NS.prototype.w=NS.prototype.w=function(){var t=this.ptr;return zb(t)},NS.prototype.setX=NS.prototype.setX=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Yb(e,t)},NS.prototype.setY=NS.prototype.setY=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Jb(e,t)},NS.prototype.setZ=NS.prototype.setZ=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xb(e,t)},NS.prototype.setW=NS.prototype.setW=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ub(e,t)},NS.prototype.__destroy__=NS.prototype.__destroy__=function(){var t=this.ptr;Zb(t)},LS.prototype=Object.create(wS.prototype),LS.prototype.constructor=LS,LS.prototype.__class__=LS,LS.__cache__={},i.btCylinderShape=LS,LS.prototype.setMargin=LS.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),np(e,t)},LS.prototype.getMargin=LS.prototype.getMargin=function(){var t=this.ptr;return ep(t)},LS.prototype.setLocalScaling=LS.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ip(e,t)},LS.prototype.getLocalScaling=LS.prototype.getLocalScaling=function(){var t=this.ptr;return yS(tp(t),VS)},LS.prototype.calculateLocalInertia=LS.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),$s(i,t,e)},LS.prototype.__destroy__=LS.prototype.__destroy__=function(){var t=this.ptr;Ks(t)},QS.prototype=Object.create(RS.prototype),QS.prototype.constructor=QS,QS.prototype.__class__=QS,QS.__cache__={},i.btDiscreteDynamicsWorld=QS,QS.prototype.setGravity=QS.prototype.setGravity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),$p(e,t)},QS.prototype.getGravity=QS.prototype.getGravity=function(){var t=this.ptr;return yS(Ep(t),VS)},QS.prototype.addRigidBody=QS.prototype.addRigidBody=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==e?void 0!==i?Fp(n,t,e,i):_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_2(n,t,e):Wp(n,t)},QS.prototype.removeRigidBody=QS.prototype.removeRigidBody=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Kp(e,t)},QS.prototype.addConstraint=QS.prototype.addConstraint=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0!==e?Bp(i,t,e):Ip(i,t)},QS.prototype.removeConstraint=QS.prototype.removeConstraint=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zp(e,t)},QS.prototype.stepSimulation=QS.prototype.stepSimulation=function(t,e,i){var n=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0===e?tc(n,t):void 0===i?ec(n,t,e):ic(n,t,e,i)},QS.prototype.getDispatcher=QS.prototype.getDispatcher=function(){var t=this.ptr;return yS(Qp(t),HS)},QS.prototype.rayTest=QS.prototype.rayTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Yp(n,t,e,i)},QS.prototype.getPairCache=QS.prototype.getPairCache=function(){var t=this.ptr;return yS(Hp(t),tk)},QS.prototype.getDispatchInfo=QS.prototype.getDispatchInfo=function(){var t=this.ptr;return yS(Lp(t),qS)},QS.prototype.addCollisionObject=QS.prototype.addCollisionObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==e?void 0!==i?Dp(n,t,e,i):jp(n,t,e):Rp(n,t)},QS.prototype.removeCollisionObject=QS.prototype.removeCollisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xp(e,t)},QS.prototype.getBroadphase=QS.prototype.getBroadphase=function(){var t=this.ptr;return yS(Gp(t),iw)},QS.prototype.convexSweepTest=QS.prototype.convexSweepTest=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),Pp(_,t,e,i,n,o)},QS.prototype.contactPairTest=QS.prototype.contactPairTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Op(n,t,e,i)},QS.prototype.contactTest=QS.prototype.contactTest=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Tp(i,t,e)},QS.prototype.updateSingleAabb=QS.prototype.updateSingleAabb=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),nc(e,t)},QS.prototype.setDebugDrawer=QS.prototype.setDebugDrawer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),qp(e,t)},QS.prototype.getDebugDrawer=QS.prototype.getDebugDrawer=function(){var t=this.ptr;return yS(Np(t),BS)},QS.prototype.debugDrawWorld=QS.prototype.debugDrawWorld=function(){var t=this.ptr;Vp(t)},QS.prototype.debugDrawObject=QS.prototype.debugDrawObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Mp(n,t,e,i)},QS.prototype.performDiscreteCollisionDetection=QS.prototype.performDiscreteCollisionDetection=function(){var t=this.ptr;Up(t)},QS.prototype.addAction=QS.prototype.addAction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kp(e,t)},QS.prototype.removeAction=QS.prototype.removeAction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Jp(e,t)},QS.prototype.getSolverInfo=QS.prototype.getSolverInfo=function(){var t=this.ptr;return yS(Zp(t),Ck)},QS.prototype.__destroy__=QS.prototype.__destroy__=function(){var t=this.ptr;wp(t)},ES.prototype=Object.create(wS.prototype),ES.prototype.constructor=ES,ES.prototype.__class__=ES,ES.__cache__={},i.btConvexShape=ES,ES.prototype.setLocalScaling=ES.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),js(e,t)},ES.prototype.getLocalScaling=ES.prototype.getLocalScaling=function(){var t=this.ptr;return yS(ks(t),VS)},ES.prototype.calculateLocalInertia=ES.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),ws(i,t,e)},ES.prototype.setMargin=ES.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ds(e,t)},ES.prototype.getMargin=ES.prototype.getMargin=function(){var t=this.ptr;return Rs(t)},ES.prototype.__destroy__=ES.prototype.__destroy__=function(){var t=this.ptr;Ss(t)},HS.prototype=Object.create(mS.prototype),HS.prototype.constructor=HS,HS.prototype.__class__=HS,HS.__cache__={},i.btDispatcher=HS,HS.prototype.getNumManifolds=HS.prototype.getNumManifolds=function(){var t=this.ptr;return Ic(t)},HS.prototype.getManifoldByIndexInternal=HS.prototype.getManifoldByIndexInternal=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Dc(e,t),_w)},HS.prototype.__destroy__=HS.prototype.__destroy__=function(){var t=this.ptr;jc(t)},ZS.prototype=Object.create(jS.prototype),ZS.prototype.constructor=ZS,ZS.prototype.__class__=ZS,ZS.__cache__={},i.btGeneric6DofConstraint=ZS,ZS.prototype.setLinearLowerLimit=ZS.prototype.setLinearLowerLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Sa(e,t)},ZS.prototype.setLinearUpperLimit=ZS.prototype.setLinearUpperLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wa(e,t)},ZS.prototype.setAngularLowerLimit=ZS.prototype.setAngularLowerLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ga(e,t)},ZS.prototype.setAngularUpperLimit=ZS.prototype.setAngularUpperLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ca(e,t)},ZS.prototype.getFrameOffsetA=ZS.prototype.getFrameOffsetA=function(){var t=this.ptr;return yS(ha(t),nk)},ZS.prototype.enableFeedback=ZS.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ua(e,t)},ZS.prototype.getBreakingImpulseThreshold=ZS.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return ma(t)},ZS.prototype.setBreakingImpulseThreshold=ZS.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),va(e,t)},ZS.prototype.getParam=ZS.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),ya(i,t,e)},ZS.prototype.setParam=ZS.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),ka(n,t,e,i)},ZS.prototype.__destroy__=ZS.prototype.__destroy__=function(){var t=this.ptr;ba(t)},US.prototype=Object.create(mS.prototype),US.prototype.constructor=US,US.prototype.__class__=US,US.__cache__={},i.btStridingMeshInterface=US,US.prototype.setScaling=US.prototype.setScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Oy(e,t)},US.prototype.__destroy__=US.prototype.__destroy__=function(){var t=this.ptr;xy(t)},YS.prototype=Object.create(mS.prototype),YS.prototype.constructor=YS,YS.prototype.__class__=YS,YS.__cache__={},i.btMotionState=YS,YS.prototype.getWorldTransform=YS.prototype.getWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Zd(e,t)},YS.prototype.setWorldTransform=YS.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ud(e,t)},YS.prototype.__destroy__=YS.prototype.__destroy__=function(){var t=this.ptr;Hd(t)},JS.prototype=Object.create(mS.prototype),JS.prototype.constructor=JS,JS.prototype.__class__=JS,JS.__cache__={},i.ContactResultCallback=JS,JS.prototype.addSingleResult=JS.prototype.addSingleResult=function(t,e,i,n,o,_,r){var s=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),ri(s,t,e,i,n,o,_,r)},JS.prototype.__destroy__=JS.prototype.__destroy__=function(){var t=this.ptr;_i(t)},XS.prototype=Object.create(mS.prototype),XS.prototype.constructor=XS,XS.prototype.__class__=XS,XS.__cache__={},i.btSoftBodySolver=XS,XS.prototype.__destroy__=XS.prototype.__destroy__=function(){var t=this.ptr;fm(t)},zS.prototype=Object.create(mS.prototype),zS.prototype.constructor=zS,zS.prototype.__class__=zS,zS.__cache__={},i.RayResultCallback=zS,zS.prototype.hasHit=zS.prototype.hasHit=function(){var t=this.ptr;return!!un(t)},zS.prototype.get_m_collisionFilterGroup=zS.prototype.get_m_collisionFilterGroup=function(){var t=this.ptr;return bn(t)},zS.prototype.set_m_collisionFilterGroup=zS.prototype.set_m_collisionFilterGroup=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hn(e,t)},Object.defineProperty(zS.prototype,"m_collisionFilterGroup",{get:zS.prototype.get_m_collisionFilterGroup,set:zS.prototype.set_m_collisionFilterGroup}),zS.prototype.get_m_collisionFilterMask=zS.prototype.get_m_collisionFilterMask=function(){var t=this.ptr;return An(t)},zS.prototype.set_m_collisionFilterMask=zS.prototype.set_m_collisionFilterMask=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yn(e,t)},Object.defineProperty(zS.prototype,"m_collisionFilterMask",{get:zS.prototype.get_m_collisionFilterMask,set:zS.prototype.set_m_collisionFilterMask}),zS.prototype.get_m_closestHitFraction=zS.prototype.get_m_closestHitFraction=function(){var t=this.ptr;return dn(t)},zS.prototype.set_m_closestHitFraction=zS.prototype.set_m_closestHitFraction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mn(e,t)},Object.defineProperty(zS.prototype,"m_closestHitFraction",{get:zS.prototype.get_m_closestHitFraction,set:zS.prototype.set_m_closestHitFraction}),zS.prototype.get_m_collisionObject=zS.prototype.get_m_collisionObject=function(){var t=this.ptr;return yS(fn(t),kS)},zS.prototype.set_m_collisionObject=zS.prototype.set_m_collisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gn(e,t)},Object.defineProperty(zS.prototype,"m_collisionObject",{get:zS.prototype.get_m_collisionObject,set:zS.prototype.set_m_collisionObject}),zS.prototype.__destroy__=zS.prototype.__destroy__=function(){var t=this.ptr;ln(t)},KS.prototype=Object.create(mS.prototype),KS.prototype.constructor=KS,KS.prototype.__class__=KS,KS.__cache__={},i.btMatrix3x3=KS,KS.prototype.setEulerZYX=KS.prototype.setEulerZYX=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Qd(n,t,e,i)},KS.prototype.getRotation=KS.prototype.getRotation=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Nd(e,t)},KS.prototype.getRow=KS.prototype.getRow=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Ld(e,t),VS)},KS.prototype.setValue=KS.prototype.setValue=function(t,e,i,n,o,_,r,s,p){var c=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),s&&"object"==typeof s&&(s=s.ptr),p&&"object"==typeof p&&(p=p.ptr),Ed(c,t,e,i,n,o,_,r,s,p)},KS.prototype.__destroy__=KS.prototype.__destroy__=function(){var t=this.ptr;Gd(t)},qS.prototype=Object.create(mS.prototype),qS.prototype.constructor=qS,qS.prototype.__class__=qS,qS.__cache__={},i.btDispatcherInfo=qS,qS.prototype.get_m_timeStep=qS.prototype.get_m_timeStep=function(){var t=this.ptr;return dc(t)},qS.prototype.set_m_timeStep=qS.prototype.set_m_timeStep=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Sc(e,t)},Object.defineProperty(qS.prototype,"m_timeStep",{get:qS.prototype.get_m_timeStep,set:qS.prototype.set_m_timeStep}),qS.prototype.get_m_stepCount=qS.prototype.get_m_stepCount=function(){var t=this.ptr;return ac(t)},qS.prototype.set_m_stepCount=qS.prototype.set_m_stepCount=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Cc(e,t)},Object.defineProperty(qS.prototype,"m_stepCount",{get:qS.prototype.get_m_stepCount,set:qS.prototype.set_m_stepCount}),qS.prototype.get_m_dispatchFunc=qS.prototype.get_m_dispatchFunc=function(){var t=this.ptr;return sc(t)},qS.prototype.set_m_dispatchFunc=qS.prototype.set_m_dispatchFunc=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hc(e,t)},Object.defineProperty(qS.prototype,"m_dispatchFunc",{get:qS.prototype.get_m_dispatchFunc,set:qS.prototype.set_m_dispatchFunc}),qS.prototype.get_m_timeOfImpact=qS.prototype.get_m_timeOfImpact=function(){var t=this.ptr;return lc(t)},qS.prototype.set_m_timeOfImpact=qS.prototype.set_m_timeOfImpact=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vc(e,t)},Object.defineProperty(qS.prototype,"m_timeOfImpact",{get:qS.prototype.get_m_timeOfImpact,set:qS.prototype.set_m_timeOfImpact}),qS.prototype.get_m_useContinuous=qS.prototype.get_m_useContinuous=function(){var t=this.ptr;return!!bc(t)},qS.prototype.set_m_useContinuous=qS.prototype.set_m_useContinuous=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wc(e,t)},Object.defineProperty(qS.prototype,"m_useContinuous",{get:qS.prototype.get_m_useContinuous,set:qS.prototype.set_m_useContinuous}),qS.prototype.get_m_enableSatConvex=qS.prototype.get_m_enableSatConvex=function(){var t=this.ptr;return!!cc(t)},qS.prototype.set_m_enableSatConvex=qS.prototype.set_m_enableSatConvex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gc(e,t)},Object.defineProperty(qS.prototype,"m_enableSatConvex",{get:qS.prototype.get_m_enableSatConvex,set:qS.prototype.set_m_enableSatConvex}),qS.prototype.get_m_enableSPU=qS.prototype.get_m_enableSPU=function(){var t=this.ptr;return!!pc(t)},qS.prototype.set_m_enableSPU=qS.prototype.set_m_enableSPU=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yc(e,t)},Object.defineProperty(qS.prototype,"m_enableSPU",{get:qS.prototype.get_m_enableSPU,set:qS.prototype.set_m_enableSPU}),qS.prototype.get_m_useEpa=qS.prototype.get_m_useEpa=function(){var t=this.ptr;return!!fc(t)},qS.prototype.set_m_useEpa=qS.prototype.set_m_useEpa=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Rc(e,t)},Object.defineProperty(qS.prototype,"m_useEpa",{get:qS.prototype.get_m_useEpa,set:qS.prototype.set_m_useEpa}),qS.prototype.get_m_allowedCcdPenetration=qS.prototype.get_m_allowedCcdPenetration=function(){var t=this.ptr;return _c(t)},qS.prototype.set_m_allowedCcdPenetration=qS.prototype.set_m_allowedCcdPenetration=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),uc(e,t)},Object.defineProperty(qS.prototype,"m_allowedCcdPenetration",{get:qS.prototype.get_m_allowedCcdPenetration,set:qS.prototype.set_m_allowedCcdPenetration}),qS.prototype.get_m_useConvexConservativeDistanceUtil=qS.prototype.get_m_useConvexConservativeDistanceUtil=function(){var t=this.ptr;return!!Ac(t)},qS.prototype.set_m_useConvexConservativeDistanceUtil=qS.prototype.set_m_useConvexConservativeDistanceUtil=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kc(e,t)},Object.defineProperty(qS.prototype,"m_useConvexConservativeDistanceUtil",{get:qS.prototype.get_m_useConvexConservativeDistanceUtil,set:qS.prototype.set_m_useConvexConservativeDistanceUtil}),qS.prototype.get_m_convexConservativeDistanceThreshold=qS.prototype.get_m_convexConservativeDistanceThreshold=function(){var t=this.ptr;return rc(t)},qS.prototype.set_m_convexConservativeDistanceThreshold=qS.prototype.set_m_convexConservativeDistanceThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mc(e,t)},Object.defineProperty(qS.prototype,"m_convexConservativeDistanceThreshold",{get:qS.prototype.get_m_convexConservativeDistanceThreshold,set:qS.prototype.set_m_convexConservativeDistanceThreshold}),qS.prototype.__destroy__=qS.prototype.__destroy__=function(){var t=this.ptr;oc(t)},$S.prototype=Object.create(mS.prototype),$S.prototype.constructor=$S,$S.prototype.__class__=$S,$S.__cache__={},i.Material=$S,$S.prototype.get_m_kLST=$S.prototype.get_m_kLST=function(){var t=this.ptr;return Ei(t)},$S.prototype.set_m_kLST=$S.prototype.set_m_kLST=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Yi(e,t)},Object.defineProperty($S.prototype,"m_kLST",{get:$S.prototype.get_m_kLST,set:$S.prototype.set_m_kLST}),$S.prototype.get_m_kAST=$S.prototype.get_m_kAST=function(){var t=this.ptr;return Qi(t)},$S.prototype.set_m_kAST=$S.prototype.set_m_kAST=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ui(e,t)},Object.defineProperty($S.prototype,"m_kAST",{get:$S.prototype.get_m_kAST,set:$S.prototype.set_m_kAST}),$S.prototype.get_m_kVST=$S.prototype.get_m_kVST=function(){var t=this.ptr;return Hi(t)},$S.prototype.set_m_kVST=$S.prototype.set_m_kVST=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ji(e,t)},Object.defineProperty($S.prototype,"m_kVST",{get:$S.prototype.get_m_kVST,set:$S.prototype.set_m_kVST}),$S.prototype.get_m_flags=$S.prototype.get_m_flags=function(){var t=this.ptr;return Li(t)},$S.prototype.set_m_flags=$S.prototype.set_m_flags=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Zi(e,t)},Object.defineProperty($S.prototype,"m_flags",{get:$S.prototype.get_m_flags,set:$S.prototype.set_m_flags}),$S.prototype.__destroy__=$S.prototype.__destroy__=function(){var t=this.ptr;Ni(t)},tw.prototype=Object.create(mS.prototype),tw.prototype.constructor=tw,tw.prototype.__class__=tw,tw.__cache__={},i.btWheelInfoConstructionInfo=tw,tw.prototype.get_m_chassisConnectionCS=tw.prototype.get_m_chassisConnectionCS=function(){var t=this.ptr;return yS(hC(t),VS)},tw.prototype.set_m_chassisConnectionCS=tw.prototype.set_m_chassisConnectionCS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),BC(e,t)},Object.defineProperty(tw.prototype,"m_chassisConnectionCS",{get:tw.prototype.get_m_chassisConnectionCS,set:tw.prototype.set_m_chassisConnectionCS}),tw.prototype.get_m_wheelDirectionCS=tw.prototype.get_m_wheelDirectionCS=function(){var t=this.ptr;return yS(kC(t),VS)},tw.prototype.set_m_wheelDirectionCS=tw.prototype.set_m_wheelDirectionCS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),MC(e,t)},Object.defineProperty(tw.prototype,"m_wheelDirectionCS",{get:tw.prototype.get_m_wheelDirectionCS,set:tw.prototype.set_m_wheelDirectionCS}),tw.prototype.get_m_wheelAxleCS=tw.prototype.get_m_wheelAxleCS=function(){var t=this.ptr;return yS(wC(t),VS)},tw.prototype.set_m_wheelAxleCS=tw.prototype.set_m_wheelAxleCS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),PC(e,t)},Object.defineProperty(tw.prototype,"m_wheelAxleCS",{get:tw.prototype.get_m_wheelAxleCS,set:tw.prototype.set_m_wheelAxleCS}),tw.prototype.get_m_suspensionRestLength=tw.prototype.get_m_suspensionRestLength=function(){var t=this.ptr;return vC(t)},tw.prototype.set_m_suspensionRestLength=tw.prototype.set_m_suspensionRestLength=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),OC(e,t)},Object.defineProperty(tw.prototype,"m_suspensionRestLength",{get:tw.prototype.get_m_suspensionRestLength,set:tw.prototype.set_m_suspensionRestLength}),tw.prototype.get_m_maxSuspensionTravelCm=tw.prototype.get_m_maxSuspensionTravelCm=function(){var t=this.ptr;return CC(t)},tw.prototype.set_m_maxSuspensionTravelCm=tw.prototype.set_m_maxSuspensionTravelCm=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xC(e,t)},Object.defineProperty(tw.prototype,"m_maxSuspensionTravelCm",{get:tw.prototype.get_m_maxSuspensionTravelCm,set:tw.prototype.set_m_maxSuspensionTravelCm}),tw.prototype.get_m_wheelRadius=tw.prototype.get_m_wheelRadius=function(){var t=this.ptr;return RC(t)},tw.prototype.set_m_wheelRadius=tw.prototype.set_m_wheelRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),VC(e,t)},Object.defineProperty(tw.prototype,"m_wheelRadius",{get:tw.prototype.get_m_wheelRadius,set:tw.prototype.set_m_wheelRadius}),tw.prototype.get_m_suspensionStiffness=tw.prototype.get_m_suspensionStiffness=function(){var t=this.ptr;return SC(t)},tw.prototype.set_m_suspensionStiffness=tw.prototype.set_m_suspensionStiffness=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),TC(e,t)},Object.defineProperty(tw.prototype,"m_suspensionStiffness",{get:tw.prototype.get_m_suspensionStiffness,set:tw.prototype.set_m_suspensionStiffness}),tw.prototype.get_m_wheelsDampingCompression=tw.prototype.get_m_wheelsDampingCompression=function(){var t=this.ptr;return jC(t)},tw.prototype.set_m_wheelsDampingCompression=tw.prototype.set_m_wheelsDampingCompression=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),GC(e,t)},Object.defineProperty(tw.prototype,"m_wheelsDampingCompression",{get:tw.prototype.get_m_wheelsDampingCompression,set:tw.prototype.set_m_wheelsDampingCompression}),tw.prototype.get_m_wheelsDampingRelaxation=tw.prototype.get_m_wheelsDampingRelaxation=function(){var t=this.ptr;return DC(t)},tw.prototype.set_m_wheelsDampingRelaxation=tw.prototype.set_m_wheelsDampingRelaxation=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),NC(e,t)},Object.defineProperty(tw.prototype,"m_wheelsDampingRelaxation",{get:tw.prototype.get_m_wheelsDampingRelaxation,set:tw.prototype.set_m_wheelsDampingRelaxation}),tw.prototype.get_m_frictionSlip=tw.prototype.get_m_frictionSlip=function(){var t=this.ptr;return yC(t)},tw.prototype.set_m_frictionSlip=tw.prototype.set_m_frictionSlip=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),WC(e,t)},Object.defineProperty(tw.prototype,"m_frictionSlip",{get:tw.prototype.get_m_frictionSlip,set:tw.prototype.set_m_frictionSlip}),tw.prototype.get_m_maxSuspensionForce=tw.prototype.get_m_maxSuspensionForce=function(){var t=this.ptr;return gC(t)},tw.prototype.set_m_maxSuspensionForce=tw.prototype.set_m_maxSuspensionForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),FC(e,t)},Object.defineProperty(tw.prototype,"m_maxSuspensionForce",{get:tw.prototype.get_m_maxSuspensionForce,set:tw.prototype.set_m_maxSuspensionForce}),tw.prototype.get_m_bIsFrontWheel=tw.prototype.get_m_bIsFrontWheel=function(){var t=this.ptr;return!!mC(t)},tw.prototype.set_m_bIsFrontWheel=tw.prototype.set_m_bIsFrontWheel=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),IC(e,t)},Object.defineProperty(tw.prototype,"m_bIsFrontWheel",{get:tw.prototype.get_m_bIsFrontWheel,set:tw.prototype.set_m_bIsFrontWheel}),tw.prototype.__destroy__=tw.prototype.__destroy__=function(){var t=this.ptr;uC(t)},ew.prototype=Object.create(ES.prototype),ew.prototype.constructor=ew,ew.prototype.__class__=ew,ew.__cache__={},i.btConvexTriangleMeshShape=ew,ew.prototype.setLocalScaling=ew.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ts(e,t)},ew.prototype.getLocalScaling=ew.prototype.getLocalScaling=function(){var t=this.ptr;return yS(xs(t),VS)},ew.prototype.calculateLocalInertia=ew.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Fs(i,t,e)},ew.prototype.setMargin=ew.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ps(e,t)},ew.prototype.getMargin=ew.prototype.getMargin=function(){var t=this.ptr;return Os(t)},ew.prototype.__destroy__=ew.prototype.__destroy__=function(){var t=this.ptr;Is(t)},iw.prototype=Object.create(mS.prototype),iw.prototype.constructor=iw,iw.prototype.__class__=iw,iw.__cache__={},i.btBroadphaseInterface=iw,iw.prototype.__destroy__=iw.prototype.__destroy__=function(){var t=this.ptr;$n(t)},nw.prototype=Object.create(mS.prototype),nw.prototype.constructor=nw,nw.prototype.__class__=nw,nw.__cache__={},i.btRigidBodyConstructionInfo=nw,nw.prototype.get_m_linearDamping=nw.prototype.get_m_linearDamping=function(){var t=this.ptr;return yf(t)},nw.prototype.set_m_linearDamping=nw.prototype.set_m_linearDamping=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wf(e,t)},Object.defineProperty(nw.prototype,"m_linearDamping",{get:nw.prototype.get_m_linearDamping,set:nw.prototype.set_m_linearDamping}),nw.prototype.get_m_angularDamping=nw.prototype.get_m_angularDamping=function(){var t=this.ptr;return uf(t)},nw.prototype.set_m_angularDamping=nw.prototype.set_m_angularDamping=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Df(e,t)},Object.defineProperty(nw.prototype,"m_angularDamping",{get:nw.prototype.get_m_angularDamping,set:nw.prototype.set_m_angularDamping}),nw.prototype.get_m_friction=nw.prototype.get_m_friction=function(){var t=this.ptr;return hf(t)},nw.prototype.set_m_friction=nw.prototype.set_m_friction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bf(e,t)},Object.defineProperty(nw.prototype,"m_friction",{get:nw.prototype.get_m_friction,set:nw.prototype.set_m_friction}),nw.prototype.get_m_rollingFriction=nw.prototype.get_m_rollingFriction=function(){var t=this.ptr;return vf(t)},nw.prototype.set_m_rollingFriction=nw.prototype.set_m_rollingFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Of(e,t)},Object.defineProperty(nw.prototype,"m_rollingFriction",{get:nw.prototype.get_m_rollingFriction,set:nw.prototype.set_m_rollingFriction}),nw.prototype.get_m_restitution=nw.prototype.get_m_restitution=function(){var t=this.ptr;return Cf(t)},nw.prototype.set_m_restitution=nw.prototype.set_m_restitution=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xf(e,t)},Object.defineProperty(nw.prototype,"m_restitution",{get:nw.prototype.get_m_restitution,set:nw.prototype.set_m_restitution}),nw.prototype.get_m_linearSleepingThreshold=nw.prototype.get_m_linearSleepingThreshold=function(){var t=this.ptr;return gf(t)},nw.prototype.set_m_linearSleepingThreshold=nw.prototype.set_m_linearSleepingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ff(e,t)},Object.defineProperty(nw.prototype,"m_linearSleepingThreshold",{get:nw.prototype.get_m_linearSleepingThreshold,set:nw.prototype.set_m_linearSleepingThreshold}),nw.prototype.get_m_angularSleepingThreshold=nw.prototype.get_m_angularSleepingThreshold=function(){var t=this.ptr;return mf(t)},nw.prototype.set_m_angularSleepingThreshold=nw.prototype.set_m_angularSleepingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),If(e,t)},Object.defineProperty(nw.prototype,"m_angularSleepingThreshold",{get:nw.prototype.get_m_angularSleepingThreshold,set:nw.prototype.set_m_angularSleepingThreshold}),nw.prototype.get_m_additionalDamping=nw.prototype.get_m_additionalDamping=function(){var t=this.ptr;return!!Af(t)},nw.prototype.set_m_additionalDamping=nw.prototype.set_m_additionalDamping=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Rf(e,t)},Object.defineProperty(nw.prototype,"m_additionalDamping",{get:nw.prototype.get_m_additionalDamping,set:nw.prototype.set_m_additionalDamping}),nw.prototype.get_m_additionalDampingFactor=nw.prototype.get_m_additionalDampingFactor=function(){var t=this.ptr;return bf(t)},nw.prototype.set_m_additionalDampingFactor=nw.prototype.set_m_additionalDampingFactor=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kf(e,t)},Object.defineProperty(nw.prototype,"m_additionalDampingFactor",{get:nw.prototype.get_m_additionalDampingFactor,set:nw.prototype.set_m_additionalDampingFactor}),nw.prototype.get_m_additionalLinearDampingThresholdSqr=nw.prototype.get_m_additionalLinearDampingThresholdSqr=function(){var t=this.ptr;return ff(t)},nw.prototype.set_m_additionalLinearDampingThresholdSqr=nw.prototype.set_m_additionalLinearDampingThresholdSqr=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),jf(e,t)},Object.defineProperty(nw.prototype,"m_additionalLinearDampingThresholdSqr",{get:nw.prototype.get_m_additionalLinearDampingThresholdSqr,set:nw.prototype.set_m_additionalLinearDampingThresholdSqr}),nw.prototype.get_m_additionalAngularDampingThresholdSqr=nw.prototype.get_m_additionalAngularDampingThresholdSqr=function(){var t=this.ptr;return df(t)},nw.prototype.set_m_additionalAngularDampingThresholdSqr=nw.prototype.set_m_additionalAngularDampingThresholdSqr=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wf(e,t)},Object.defineProperty(nw.prototype,"m_additionalAngularDampingThresholdSqr",{get:nw.prototype.get_m_additionalAngularDampingThresholdSqr,set:nw.prototype.set_m_additionalAngularDampingThresholdSqr}),nw.prototype.get_m_additionalAngularDampingFactor=nw.prototype.get_m_additionalAngularDampingFactor=function(){var t=this.ptr;return lf(t)},nw.prototype.set_m_additionalAngularDampingFactor=nw.prototype.set_m_additionalAngularDampingFactor=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Sf(e,t)},Object.defineProperty(nw.prototype,"m_additionalAngularDampingFactor",{get:nw.prototype.get_m_additionalAngularDampingFactor,set:nw.prototype.set_m_additionalAngularDampingFactor}),nw.prototype.__destroy__=nw.prototype.__destroy__=function(){var t=this.ptr;pf(t)},ow.prototype=Object.create(mS.prototype),ow.prototype.constructor=ow,ow.prototype.__class__=ow,ow.__cache__={},i.btCollisionConfiguration=ow,ow.prototype.__destroy__=ow.prototype.__destroy__=function(){var t=this.ptr;Qo(t)},_w.prototype=Object.create(mS.prototype),_w.prototype.constructor=_w,_w.prototype.__class__=_w,_w.__cache__={},i.btPersistentManifold=_w,_w.prototype.getBody0=_w.prototype.getBody0=function(){var t=this.ptr;return yS(jb(t),kS)},_w.prototype.getBody1=_w.prototype.getBody1=function(){var t=this.ptr;return yS(Db(t),kS)},_w.prototype.getNumContacts=_w.prototype.getNumContacts=function(){var t=this.ptr;return Bb(t)},_w.prototype.getContactPoint=_w.prototype.getContactPoint=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Ib(e,t),ak)},_w.prototype.__destroy__=_w.prototype.__destroy__=function(){var t=this.ptr;kb(t)},rw.prototype=Object.create(wS.prototype),rw.prototype.constructor=rw,rw.prototype.__class__=rw,rw.__cache__={},i.btCompoundShape=rw,rw.prototype.addChildShape=rw.prototype.addChildShape=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),U_(i,t,e)},rw.prototype.removeChildShapeByIndex=rw.prototype.removeChildShapeByIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),er(e,t)},rw.prototype.getNumChildShapes=rw.prototype.getNumChildShapes=function(){var t=this.ptr;return $_(t)},rw.prototype.getChildShape=rw.prototype.getChildShape=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(z_(e,t),wS)},rw.prototype.setMargin=rw.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),nr(e,t)},rw.prototype.getMargin=rw.prototype.getMargin=function(){var t=this.ptr;return q_(t)},rw.prototype.updateChildTransform=rw.prototype.updateChildTransform=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==i?_r(n,t,e,i):or(n,t,e)},rw.prototype.recalculateLocalAabb=rw.prototype.recalculateLocalAabb=function(){var t=this.ptr;tr(t)},rw.prototype.setLocalScaling=rw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ir(e,t)},rw.prototype.getLocalScaling=rw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(K_(t),VS)},rw.prototype.calculateLocalInertia=rw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),X_(i,t,e)},rw.prototype.__destroy__=rw.prototype.__destroy__=function(){var t=this.ptr;Z_(t)},sw.prototype=Object.create(xS.prototype),sw.prototype.constructor=sw,sw.prototype.__class__=sw,sw.__cache__={},i.ClosestConvexResultCallback=sw,sw.prototype.hasHit=sw.prototype.hasHit=function(){var t=this.ptr;return!!Ft(t)},sw.prototype.get_m_convexFromWorld=sw.prototype.get_m_convexFromWorld=function(){var t=this.ptr;return yS(Dt(t),VS)},sw.prototype.set_m_convexFromWorld=sw.prototype.set_m_convexFromWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pt(e,t)},Object.defineProperty(sw.prototype,"m_convexFromWorld",{get:sw.prototype.get_m_convexFromWorld,set:sw.prototype.set_m_convexFromWorld}),sw.prototype.get_m_convexToWorld=sw.prototype.get_m_convexToWorld=function(){var t=this.ptr;return yS(It(t),VS)},sw.prototype.set_m_convexToWorld=sw.prototype.set_m_convexToWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Mt(e,t)},Object.defineProperty(sw.prototype,"m_convexToWorld",{get:sw.prototype.get_m_convexToWorld,set:sw.prototype.set_m_convexToWorld}),sw.prototype.get_m_hitNormalWorld=sw.prototype.get_m_hitNormalWorld=function(){var t=this.ptr;return yS(Bt(t),VS)},sw.prototype.set_m_hitNormalWorld=sw.prototype.set_m_hitNormalWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vt(e,t)},Object.defineProperty(sw.prototype,"m_hitNormalWorld",{get:sw.prototype.get_m_hitNormalWorld,set:sw.prototype.set_m_hitNormalWorld}),sw.prototype.get_m_hitPointWorld=sw.prototype.get_m_hitPointWorld=function(){var t=this.ptr;return yS(Wt(t),VS)},sw.prototype.set_m_hitPointWorld=sw.prototype.set_m_hitPointWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Gt(e,t)},Object.defineProperty(sw.prototype,"m_hitPointWorld",{get:sw.prototype.get_m_hitPointWorld,set:sw.prototype.set_m_hitPointWorld}),sw.prototype.get_m_collisionFilterGroup=sw.prototype.get_m_collisionFilterGroup=function(){var t=this.ptr;return Rt(t)},sw.prototype.set_m_collisionFilterGroup=sw.prototype.set_m_collisionFilterGroup=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ot(e,t)},Object.defineProperty(sw.prototype,"m_collisionFilterGroup",{get:sw.prototype.get_m_collisionFilterGroup,set:sw.prototype.set_m_collisionFilterGroup}),sw.prototype.get_m_collisionFilterMask=sw.prototype.get_m_collisionFilterMask=function(){var t=this.ptr;return jt(t)},sw.prototype.set_m_collisionFilterMask=sw.prototype.set_m_collisionFilterMask=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Tt(e,t)},Object.defineProperty(sw.prototype,"m_collisionFilterMask",{get:sw.prototype.get_m_collisionFilterMask,set:sw.prototype.set_m_collisionFilterMask}),sw.prototype.get_m_closestHitFraction=sw.prototype.get_m_closestHitFraction=function(){var t=this.ptr;return kt(t)},sw.prototype.set_m_closestHitFraction=sw.prototype.set_m_closestHitFraction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xt(e,t)},Object.defineProperty(sw.prototype,"m_closestHitFraction",{get:sw.prototype.get_m_closestHitFraction,set:sw.prototype.set_m_closestHitFraction}),sw.prototype.__destroy__=sw.prototype.__destroy__=function(){var t=this.ptr;wt(t)},pw.prototype=Object.create(mS.prototype),pw.prototype.constructor=pw,pw.prototype.__class__=pw,pw.__cache__={},i.tMaterialArray=pw,pw.prototype.size=pw.prototype.size=function(){var t=this.ptr;return Yv(t)},pw.prototype.at=pw.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Uv(e,t),$S)},pw.prototype.__destroy__=pw.prototype.__destroy__=function(){var t=this.ptr;Zv(t)},cw.prototype=Object.create(GS.prototype),cw.prototype.constructor=cw,cw.prototype.__class__=cw,cw.__cache__={},i.btDefaultVehicleRaycaster=cw,cw.prototype.castRay=cw.prototype.castRay=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Sp(n,t,e,i)},cw.prototype.__destroy__=cw.prototype.__destroy__=function(){var t=this.ptr;Cp(t)},aw.prototype=Object.create(mS.prototype),aw.prototype.constructor=aw,aw.prototype.__class__=aw,aw.__cache__={},i.btConstraintSetting=aw,aw.prototype.get_m_tau=aw.prototype.get_m_tau=function(){var t=this.ptr;return Zr(t)},aw.prototype.set_m_tau=aw.prototype.set_m_tau=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Jr(e,t)},Object.defineProperty(aw.prototype,"m_tau",{get:aw.prototype.get_m_tau,set:aw.prototype.set_m_tau}),aw.prototype.get_m_damping=aw.prototype.get_m_damping=function(){var t=this.ptr;return Er(t)},aw.prototype.set_m_damping=aw.prototype.set_m_damping=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ur(e,t)},Object.defineProperty(aw.prototype,"m_damping",{get:aw.prototype.get_m_damping,set:aw.prototype.set_m_damping}),aw.prototype.get_m_impulseClamp=aw.prototype.get_m_impulseClamp=function(){var t=this.ptr;return Hr(t)},aw.prototype.set_m_impulseClamp=aw.prototype.set_m_impulseClamp=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Yr(e,t)},Object.defineProperty(aw.prototype,"m_impulseClamp",{get:aw.prototype.get_m_impulseClamp,set:aw.prototype.set_m_impulseClamp}),aw.prototype.__destroy__=aw.prototype.__destroy__=function(){var t=this.ptr;Lr(t)},lw.prototype=Object.create(mS.prototype),lw.prototype.constructor=lw,lw.prototype.__class__=lw,lw.__cache__={},i.LocalShapeInfo=lw,lw.prototype.get_m_shapePart=lw.prototype.get_m_shapePart=function(){var t=this.ptr;return Pi(t)},lw.prototype.set_m_shapePart=lw.prototype.set_m_shapePart=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vi(e,t)},Object.defineProperty(lw.prototype,"m_shapePart",{get:lw.prototype.get_m_shapePart,set:lw.prototype.set_m_shapePart}),lw.prototype.get_m_triangleIndex=lw.prototype.get_m_triangleIndex=function(){var t=this.ptr;return Mi(t)},lw.prototype.set_m_triangleIndex=lw.prototype.set_m_triangleIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Gi(e,t)},Object.defineProperty(lw.prototype,"m_triangleIndex",{get:lw.prototype.get_m_triangleIndex,set:lw.prototype.set_m_triangleIndex}),lw.prototype.__destroy__=lw.prototype.__destroy__=function(){var t=this.ptr;Ti(t)},dw.prototype=Object.create(kS.prototype),dw.prototype.constructor=dw,dw.prototype.__class__=dw,dw.__cache__={},i.btRigidBody=dw,dw.prototype.getCenterOfMassTransform=dw.prototype.getCenterOfMassTransform=function(){var t=this.ptr;return yS(qf(t),nk)},dw.prototype.setCenterOfMassTransform=dw.prototype.setCenterOfMassTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mu(e,t)},dw.prototype.setSleepingThresholds=dw.prototype.setSleepingThresholds=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Bu(i,t,e)},dw.prototype.setDamping=dw.prototype.setDamping=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Cu(i,t,e)},dw.prototype.setMassProps=dw.prototype.setMassProps=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ru(i,t,e)},dw.prototype.setLinearFactor=dw.prototype.setLinearFactor=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wu(e,t)},dw.prototype.applyTorque=dw.prototype.applyTorque=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Uf(e,t)},dw.prototype.applyLocalTorque=dw.prototype.applyLocalTorque=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Hf(e,t)},dw.prototype.applyForce=dw.prototype.applyForce=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Lf(i,t,e)},dw.prototype.applyCentralForce=dw.prototype.applyCentralForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vf(e,t)},dw.prototype.applyCentralLocalForce=dw.prototype.applyCentralLocalForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Nf(e,t)},dw.prototype.applyTorqueImpulse=dw.prototype.applyTorqueImpulse=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Zf(e,t)},dw.prototype.applyImpulse=dw.prototype.applyImpulse=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ef(i,t,e)},dw.prototype.applyCentralImpulse=dw.prototype.applyCentralImpulse=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Gf(e,t)},dw.prototype.updateInertiaTensor=dw.prototype.updateInertiaTensor=function(){var t=this.ptr;Tu(t)},dw.prototype.getLinearVelocity=dw.prototype.getLinearVelocity=function(){var t=this.ptr;return yS(iu(t),VS)},dw.prototype.getAngularVelocity=dw.prototype.getAngularVelocity=function(){var t=this.ptr;return yS(zf(t),VS)},dw.prototype.setLinearVelocity=dw.prototype.setLinearVelocity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ku(e,t)},dw.prototype.setAngularVelocity=dw.prototype.setAngularVelocity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),bu(e,t)},dw.prototype.getMotionState=dw.prototype.getMotionState=function(){var t=this.ptr;return yS(nu(t),YS)},dw.prototype.setMotionState=dw.prototype.setMotionState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ju(e,t)},dw.prototype.setAngularFactor=dw.prototype.setAngularFactor=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),du(e,t)},dw.prototype.upcast=dw.prototype.upcast=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Ou(e,t),dw)},dw.prototype.getAabb=dw.prototype.getAabb=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Xf(i,t,e)},dw.prototype.applyGravity=dw.prototype.applyGravity=function(){var t=this.ptr;Qf(t)},dw.prototype.getGravity=dw.prototype.getGravity=function(){var t=this.ptr;return yS(eu(t),VS)},dw.prototype.setGravity=dw.prototype.setGravity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Su(e,t)},dw.prototype.getBroadphaseProxy=dw.prototype.getBroadphaseProxy=function(){var t=this.ptr;return yS(Kf(t),Ak)},dw.prototype.setAnisotropicFriction=dw.prototype.setAnisotropicFriction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Au(i,t,e)},dw.prototype.getCollisionShape=dw.prototype.getCollisionShape=function(){var t=this.ptr;return yS(tu(t),wS)},dw.prototype.setContactProcessingThreshold=dw.prototype.setContactProcessingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gu(e,t)},dw.prototype.setActivationState=dw.prototype.setActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),lu(e,t)},dw.prototype.forceActivationState=dw.prototype.forceActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Jf(e,t)},dw.prototype.activate=dw.prototype.activate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),void 0!==t?Mf(e,t):Pf(e)},dw.prototype.isActive=dw.prototype.isActive=function(){var t=this.ptr;return!!su(t)},dw.prototype.isKinematicObject=dw.prototype.isKinematicObject=function(){var t=this.ptr;return!!pu(t)},dw.prototype.isStaticObject=dw.prototype.isStaticObject=function(){var t=this.ptr;return!!cu(t)},dw.prototype.isStaticOrKinematicObject=dw.prototype.isStaticOrKinematicObject=function(){var t=this.ptr;return!!au(t)},dw.prototype.setRestitution=dw.prototype.setRestitution=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Du(e,t)},dw.prototype.setFriction=dw.prototype.setFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vu(e,t)},dw.prototype.setRollingFriction=dw.prototype.setRollingFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Iu(e,t)},dw.prototype.getWorldTransform=dw.prototype.getWorldTransform=function(){var t=this.ptr;return yS(ru(t),nk)},dw.prototype.getCollisionFlags=dw.prototype.getCollisionFlags=function(){var t=this.ptr;return $f(t)},dw.prototype.setCollisionFlags=dw.prototype.setCollisionFlags=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hu(e,t)},dw.prototype.setWorldTransform=dw.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xu(e,t)},dw.prototype.setCollisionShape=dw.prototype.setCollisionShape=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yu(e,t)},dw.prototype.setCcdMotionThreshold=dw.prototype.setCcdMotionThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fu(e,t)},dw.prototype.setCcdSweptSphereRadius=dw.prototype.setCcdSweptSphereRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),uu(e,t)},dw.prototype.getUserIndex=dw.prototype.getUserIndex=function(){var t=this.ptr;return ou(t)},dw.prototype.setUserIndex=dw.prototype.setUserIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wu(e,t)},dw.prototype.getUserPointer=dw.prototype.getUserPointer=function(){var t=this.ptr;return yS(_u(t),bk)},dw.prototype.setUserPointer=dw.prototype.setUserPointer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fu(e,t)},dw.prototype.__destroy__=dw.prototype.__destroy__=function(){var t=this.ptr;Tf(t)},bw.prototype=Object.create(mS.prototype),bw.prototype.constructor=bw,bw.prototype.__class__=bw,bw.__cache__={},i.btConvexPolyhedron=bw,bw.prototype.get_m_vertices=bw.prototype.get_m_vertices=function(){var t=this.ptr;return yS(gs(t),Tw)},bw.prototype.set_m_vertices=bw.prototype.set_m_vertices=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vs(e,t)},Object.defineProperty(bw.prototype,"m_vertices",{get:bw.prototype.get_m_vertices,set:bw.prototype.set_m_vertices}),bw.prototype.get_m_faces=bw.prototype.get_m_faces=function(){var t=this.ptr;return yS(ys(t),qw)},bw.prototype.set_m_faces=bw.prototype.set_m_faces=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Cs(e,t)},Object.defineProperty(bw.prototype,"m_faces",{get:bw.prototype.get_m_faces,set:bw.prototype.set_m_faces}),bw.prototype.__destroy__=bw.prototype.__destroy__=function(){var t=this.ptr;hs(t)},Aw.prototype=Object.create(mS.prototype),Aw.prototype.constructor=Aw,Aw.prototype.__class__=Aw,Aw.__cache__={},i.btDbvtBroadphase=Aw,Aw.prototype.__destroy__=Aw.prototype.__destroy__=function(){var t=this.ptr;op(t)},fw.prototype=Object.create(DS.prototype),fw.prototype.constructor=fw,fw.prototype.__class__=fw,fw.__cache__={},i.btHeightfieldTerrainShape=fw,fw.prototype.setMargin=fw.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kl(e,t)},fw.prototype.getMargin=fw.prototype.getMargin=function(){var t=this.ptr;return Sl(t)},fw.prototype.setLocalScaling=fw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wl(e,t)},fw.prototype.getLocalScaling=fw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(vl(t),VS)},fw.prototype.calculateLocalInertia=fw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Cl(i,t,e)},fw.prototype.__destroy__=fw.prototype.__destroy__=function(){var t=this.ptr;yl(t)},uw.prototype=Object.create(XS.prototype),uw.prototype.constructor=uw,uw.prototype.__class__=uw,uw.__cache__={},i.btDefaultSoftBodySolver=uw,uw.prototype.__destroy__=uw.prototype.__destroy__=function(){var t=this.ptr;yp(t)},mw.prototype=Object.create(HS.prototype),mw.prototype.constructor=mw,mw.prototype.__class__=mw,mw.__cache__={},i.btCollisionDispatcher=mw,mw.prototype.getNumManifolds=mw.prototype.getNumManifolds=function(){var t=this.ptr;return Uo(t)},mw.prototype.getManifoldByIndexInternal=mw.prototype.getManifoldByIndexInternal=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Zo(e,t),_w)},mw.prototype.__destroy__=mw.prototype.__destroy__=function(){var t=this.ptr;Eo(t)},hw.prototype=Object.create(mS.prototype),hw.prototype.constructor=hw,hw.prototype.__class__=hw,hw.__cache__={},i.btAxisSweep3=hw,hw.prototype.__destroy__=hw.prototype.__destroy__=function(){var t=this.ptr;Ln(t)},yw.prototype=Object.create(mS.prototype),yw.prototype.constructor=yw,yw.prototype.__class__=yw,yw.__cache__={},i.btSoftBodyWorldInfo=yw,yw.prototype.get_air_density=yw.prototype.get_air_density=function(){var t=this.ptr;return hm(t)},yw.prototype.set_air_density=yw.prototype.set_air_density=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Rm(e,t)},Object.defineProperty(yw.prototype,"air_density",{get:yw.prototype.get_air_density,set:yw.prototype.set_air_density}),yw.prototype.get_water_density=yw.prototype.get_water_density=function(){var t=this.ptr;return Sm(t)},yw.prototype.set_water_density=yw.prototype.set_water_density=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wm(e,t)},Object.defineProperty(yw.prototype,"water_density",{get:yw.prototype.get_water_density,set:yw.prototype.set_water_density}),yw.prototype.get_water_offset=yw.prototype.get_water_offset=function(){var t=this.ptr;return km(t)},yw.prototype.set_water_offset=yw.prototype.set_water_offset=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xm(e,t)},Object.defineProperty(yw.prototype,"water_offset",{get:yw.prototype.get_water_offset,set:yw.prototype.set_water_offset}),yw.prototype.get_m_maxDisplacement=yw.prototype.get_m_maxDisplacement=function(){var t=this.ptr;return vm(t)},yw.prototype.set_m_maxDisplacement=yw.prototype.set_m_maxDisplacement=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bm(e,t)},Object.defineProperty(yw.prototype,"m_maxDisplacement",{get:yw.prototype.get_m_maxDisplacement,set:yw.prototype.set_m_maxDisplacement}),yw.prototype.get_water_normal=yw.prototype.get_water_normal=function(){var t=this.ptr;return yS(wm(t),VS)},yw.prototype.set_water_normal=yw.prototype.set_water_normal=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fm(e,t)},Object.defineProperty(yw.prototype,"water_normal",{get:yw.prototype.get_water_normal,set:yw.prototype.set_water_normal}),yw.prototype.get_m_broadphase=yw.prototype.get_m_broadphase=function(){var t=this.ptr;return yS(ym(t),iw)},yw.prototype.set_m_broadphase=yw.prototype.set_m_broadphase=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),jm(e,t)},Object.defineProperty(yw.prototype,"m_broadphase",{get:yw.prototype.get_m_broadphase,set:yw.prototype.set_m_broadphase}),yw.prototype.get_m_dispatcher=yw.prototype.get_m_dispatcher=function(){var t=this.ptr;return yS(gm(t),HS)},yw.prototype.set_m_dispatcher=yw.prototype.set_m_dispatcher=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Dm(e,t)},Object.defineProperty(yw.prototype,"m_dispatcher",{get:yw.prototype.get_m_dispatcher,set:yw.prototype.set_m_dispatcher}),yw.prototype.get_m_gravity=yw.prototype.get_m_gravity=function(){var t=this.ptr;return yS(Cm(t),VS)},yw.prototype.set_m_gravity=yw.prototype.set_m_gravity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Im(e,t)},Object.defineProperty(yw.prototype,"m_gravity",{get:yw.prototype.get_m_gravity,set:yw.prototype.set_m_gravity}),yw.prototype.__destroy__=yw.prototype.__destroy__=function(){var t=this.ptr;um(t)},gw.prototype=Object.create(jS.prototype),gw.prototype.constructor=gw,gw.prototype.__class__=gw,gw.__cache__={},i.btConeTwistConstraint=gw,gw.prototype.setLimit=gw.prototype.setLimit=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Tr(i,t,e)},gw.prototype.setAngularOnly=gw.prototype.setAngularOnly=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fr(e,t)},gw.prototype.setDamping=gw.prototype.setDamping=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Or(e,t)},gw.prototype.enableMotor=gw.prototype.enableMotor=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ir(e,t)},gw.prototype.setMaxMotorImpulse=gw.prototype.setMaxMotorImpulse=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Mr(e,t)},gw.prototype.setMaxMotorImpulseNormalized=gw.prototype.setMaxMotorImpulseNormalized=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pr(e,t)},gw.prototype.setMotorTarget=gw.prototype.setMotorTarget=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Gr(e,t)},gw.prototype.setMotorTargetInConstraintSpace=gw.prototype.setMotorTargetInConstraintSpace=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vr(e,t)},gw.prototype.enableFeedback=gw.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Dr(e,t)},gw.prototype.getBreakingImpulseThreshold=gw.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return Br(t)},gw.prototype.setBreakingImpulseThreshold=gw.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xr(e,t)},gw.prototype.getParam=gw.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Wr(i,t,e)},gw.prototype.setParam=gw.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Nr(n,t,e,i)},gw.prototype.__destroy__=gw.prototype.__destroy__=function(){var t=this.ptr;kr(t)},Cw.prototype=Object.create(jS.prototype),Cw.prototype.constructor=Cw,Cw.prototype.__class__=Cw,Cw.__cache__={},i.btHingeConstraint=Cw,Cw.prototype.setLimit=Cw.prototype.setLimit=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),void 0!==o?Ll(_,t,e,i,n,o):Nl(_,t,e,i,n)},Cw.prototype.enableAngularMotor=Cw.prototype.enableAngularMotor=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),xl(n,t,e,i)},Cw.prototype.setAngularOnly=Cw.prototype.setAngularOnly=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vl(e,t)},Cw.prototype.enableMotor=Cw.prototype.enableMotor=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Tl(e,t)},Cw.prototype.setMaxMotorImpulse=Cw.prototype.setMaxMotorImpulse=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ql(e,t)},Cw.prototype.setMotorTarget=Cw.prototype.setMotorTarget=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),El(i,t,e)},Cw.prototype.enableFeedback=Cw.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ol(e,t)},Cw.prototype.getBreakingImpulseThreshold=Cw.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return Pl(t)},Cw.prototype.setBreakingImpulseThreshold=Cw.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Gl(e,t)},Cw.prototype.getParam=Cw.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ml(i,t,e)},Cw.prototype.setParam=Cw.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Hl(n,t,e,i)},Cw.prototype.__destroy__=Cw.prototype.__destroy__=function(){var t=this.ptr;Rl(t)},vw.prototype=Object.create(PS.prototype),vw.prototype.constructor=vw,vw.prototype.__class__=vw,vw.__cache__={},i.btConeShapeZ=vw,vw.prototype.setLocalScaling=vw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yr(e,t)},vw.prototype.getLocalScaling=vw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(hr(t),VS)},vw.prototype.calculateLocalInertia=vw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),mr(i,t,e)},vw.prototype.__destroy__=vw.prototype.__destroy__=function(){var t=this.ptr;fr(t)},Sw.prototype=Object.create(PS.prototype),Sw.prototype.constructor=Sw,Sw.prototype.__class__=Sw,Sw.__cache__={},i.btConeShapeX=Sw,Sw.prototype.setLocalScaling=Sw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ar(e,t)},Sw.prototype.getLocalScaling=Sw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(br(t),VS)},Sw.prototype.calculateLocalInertia=Sw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),dr(i,t,e)},Sw.prototype.__destroy__=Sw.prototype.__destroy__=function(){var t=this.ptr;ar(t)},ww.prototype=Object.create(US.prototype),ww.prototype.constructor=ww,ww.prototype.__class__=ww,ww.__cache__={},i.btTriangleMesh=ww,ww.prototype.addTriangle=ww.prototype.addTriangle=function(t,e,i,n){var o=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),void 0!==n?$y(o,t,e,i,n):qy(o,t,e,i)},ww.prototype.setScaling=ww.prototype.setScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ng(e,t)},ww.prototype.__destroy__=ww.prototype.__destroy__=function(){var t=this.ptr;Ky(t)},kw.prototype=Object.create(wS.prototype),kw.prototype.constructor=kw,kw.prototype.__class__=kw,kw.__cache__={},i.btConvexHullShape=kw,kw.prototype.addPoint=kw.prototype.addPoint=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0!==e?_s(i,t,e):os(i,t)},kw.prototype.setMargin=kw.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ms(e,t)},kw.prototype.getMargin=kw.prototype.getMargin=function(){var t=this.ptr;return ds(t)},kw.prototype.getNumVertices=kw.prototype.getNumVertices=function(){var t=this.ptr;return bs(t)},kw.prototype.initializePolyhedralFeatures=kw.prototype.initializePolyhedralFeatures=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),!!As(e,t)},kw.prototype.recalcLocalAabb=kw.prototype.recalcLocalAabb=function(){var t=this.ptr;fs(t)},kw.prototype.getConvexPolyhedron=kw.prototype.getConvexPolyhedron=function(){var t=this.ptr;return yS(as(t),bw)},kw.prototype.setLocalScaling=kw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),us(e,t)},kw.prototype.getLocalScaling=kw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(ls(t),VS)},kw.prototype.calculateLocalInertia=kw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),cs(i,t,e)},kw.prototype.__destroy__=kw.prototype.__destroy__=function(){var t=this.ptr;ns(t)},Rw.prototype=Object.create(mS.prototype),Rw.prototype.constructor=Rw,Rw.prototype.__class__=Rw,Rw.__cache__={},i.btVehicleTuning=Rw,Rw.prototype.get_m_suspensionStiffness=Rw.prototype.get_m_suspensionStiffness=function(){var t=this.ptr;return cC(t)},Rw.prototype.set_m_suspensionStiffness=Rw.prototype.set_m_suspensionStiffness=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fC(e,t)},Object.defineProperty(Rw.prototype,"m_suspensionStiffness",{get:Rw.prototype.get_m_suspensionStiffness,set:Rw.prototype.set_m_suspensionStiffness}),Rw.prototype.get_m_suspensionCompression=Rw.prototype.get_m_suspensionCompression=function(){var t=this.ptr;return sC(t)},Rw.prototype.set_m_suspensionCompression=Rw.prototype.set_m_suspensionCompression=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),bC(e,t)},Object.defineProperty(Rw.prototype,"m_suspensionCompression",{get:Rw.prototype.get_m_suspensionCompression,set:Rw.prototype.set_m_suspensionCompression}),Rw.prototype.get_m_suspensionDamping=Rw.prototype.get_m_suspensionDamping=function(){var t=this.ptr;return pC(t)},Rw.prototype.set_m_suspensionDamping=Rw.prototype.set_m_suspensionDamping=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),AC(e,t)},Object.defineProperty(Rw.prototype,"m_suspensionDamping",{get:Rw.prototype.get_m_suspensionDamping,set:Rw.prototype.set_m_suspensionDamping}),Rw.prototype.get_m_maxSuspensionTravelCm=Rw.prototype.get_m_maxSuspensionTravelCm=function(){var t=this.ptr;return rC(t)},Rw.prototype.set_m_maxSuspensionTravelCm=Rw.prototype.set_m_maxSuspensionTravelCm=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),dC(e,t)},Object.defineProperty(Rw.prototype,"m_maxSuspensionTravelCm",{get:Rw.prototype.get_m_maxSuspensionTravelCm,set:Rw.prototype.set_m_maxSuspensionTravelCm}),Rw.prototype.get_m_frictionSlip=Rw.prototype.get_m_frictionSlip=function(){var t=this.ptr;return oC(t)},Rw.prototype.set_m_frictionSlip=Rw.prototype.set_m_frictionSlip=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),aC(e,t)},Object.defineProperty(Rw.prototype,"m_frictionSlip",{get:Rw.prototype.get_m_frictionSlip,set:Rw.prototype.set_m_frictionSlip}),Rw.prototype.get_m_maxSuspensionForce=Rw.prototype.get_m_maxSuspensionForce=function(){var t=this.ptr;return _C(t)},Rw.prototype.set_m_maxSuspensionForce=Rw.prototype.set_m_maxSuspensionForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),lC(e,t)},Object.defineProperty(Rw.prototype,"m_maxSuspensionForce",{get:Rw.prototype.get_m_maxSuspensionForce,set:Rw.prototype.set_m_maxSuspensionForce}),jw.prototype=Object.create(mS.prototype),jw.prototype.constructor=jw,jw.prototype.__class__=jw,jw.__cache__={},i.btCollisionObjectWrapper=jw,Dw.prototype=Object.create(mS.prototype),Dw.prototype.constructor=Dw,Dw.prototype.__class__=Dw,Dw.__cache__={},i.btShapeHull=Dw,Dw.prototype.buildHull=Dw.prototype.buildHull=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),!!Nu(e,t)},Dw.prototype.numVertices=Dw.prototype.numVertices=function(){var t=this.ptr;return Qu(t)},Dw.prototype.getVertexPointer=Dw.prototype.getVertexPointer=function(){var t=this.ptr;return yS(Lu(t),VS)},Dw.prototype.__destroy__=Dw.prototype.__destroy__=function(){var t=this.ptr;Vu(t)},Iw.prototype=Object.create(YS.prototype),Iw.prototype.constructor=Iw,Iw.prototype.__class__=Iw,Iw.__cache__={},i.btDefaultMotionState=Iw,Iw.prototype.getWorldTransform=Iw.prototype.getWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fp(e,t)},Iw.prototype.setWorldTransform=Iw.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mp(e,t)},Iw.prototype.get_m_graphicsWorldTrans=Iw.prototype.get_m_graphicsWorldTrans=function(){var t=this.ptr;return yS(up(t),nk)},Iw.prototype.set_m_graphicsWorldTrans=Iw.prototype.set_m_graphicsWorldTrans=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hp(e,t)},Object.defineProperty(Iw.prototype,"m_graphicsWorldTrans",{get:Iw.prototype.get_m_graphicsWorldTrans,set:Iw.prototype.set_m_graphicsWorldTrans}),Iw.prototype.__destroy__=Iw.prototype.__destroy__=function(){var t=this.ptr;lp(t)},Bw.prototype=Object.create(mS.prototype),Bw.prototype.constructor=Bw,Bw.prototype.__class__=Bw,Bw.__cache__={},i.btWheelInfo=Bw,Bw.prototype.getSuspensionRestLength=Bw.prototype.getSuspensionRestLength=function(){var t=this.ptr;return EC(t)},Bw.prototype.updateWheel=Bw.prototype.updateWheel=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Vv(i,t,e)},Bw.prototype.get_m_suspensionStiffness=Bw.prototype.get_m_suspensionStiffness=function(){var t=this.ptr;return rv(t)},Bw.prototype.set_m_suspensionStiffness=Bw.prototype.set_m_suspensionStiffness=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bv(e,t)},Object.defineProperty(Bw.prototype,"m_suspensionStiffness",{get:Bw.prototype.get_m_suspensionStiffness,set:Bw.prototype.set_m_suspensionStiffness}),Bw.prototype.get_m_frictionSlip=Bw.prototype.get_m_frictionSlip=function(){var t=this.ptr;return zC(t)},Bw.prototype.set_m_frictionSlip=Bw.prototype.set_m_frictionSlip=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gv(e,t)},Object.defineProperty(Bw.prototype,"m_frictionSlip",{get:Bw.prototype.get_m_frictionSlip,set:Bw.prototype.set_m_frictionSlip}),Bw.prototype.get_m_engineForce=Bw.prototype.get_m_engineForce=function(){var t=this.ptr;return XC(t)},Bw.prototype.set_m_engineForce=Bw.prototype.set_m_engineForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yv(e,t)},Object.defineProperty(Bw.prototype,"m_engineForce",{get:Bw.prototype.get_m_engineForce,set:Bw.prototype.set_m_engineForce}),Bw.prototype.get_m_rollInfluence=Bw.prototype.get_m_rollInfluence=function(){var t=this.ptr;return tv(t)},Bw.prototype.set_m_rollInfluence=Bw.prototype.set_m_rollInfluence=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wv(e,t)},Object.defineProperty(Bw.prototype,"m_rollInfluence",{get:Bw.prototype.get_m_rollInfluence,set:Bw.prototype.set_m_rollInfluence}),Bw.prototype.get_m_suspensionRestLength1=Bw.prototype.get_m_suspensionRestLength1=function(){var t=this.ptr;return _v(t)},Bw.prototype.set_m_suspensionRestLength1=Bw.prototype.set_m_suspensionRestLength1=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Iv(e,t)},Object.defineProperty(Bw.prototype,"m_suspensionRestLength1",{get:Bw.prototype.get_m_suspensionRestLength1,set:Bw.prototype.set_m_suspensionRestLength1}),Bw.prototype.get_m_wheelsRadius=Bw.prototype.get_m_wheelsRadius=function(){var t=this.ptr;return lv(t)},Bw.prototype.set_m_wheelsRadius=Bw.prototype.set_m_wheelsRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Tv(e,t)},Object.defineProperty(Bw.prototype,"m_wheelsRadius",{get:Bw.prototype.get_m_wheelsRadius,set:Bw.prototype.set_m_wheelsRadius}),Bw.prototype.get_m_wheelsDampingCompression=Bw.prototype.get_m_wheelsDampingCompression=function(){var t=this.ptr;return cv(t)},Bw.prototype.set_m_wheelsDampingCompression=Bw.prototype.set_m_wheelsDampingCompression=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xv(e,t)},Object.defineProperty(Bw.prototype,"m_wheelsDampingCompression",{get:Bw.prototype.get_m_wheelsDampingCompression,set:Bw.prototype.set_m_wheelsDampingCompression}),Bw.prototype.get_m_wheelsDampingRelaxation=Bw.prototype.get_m_wheelsDampingRelaxation=function(){var t=this.ptr;return av(t)},Bw.prototype.set_m_wheelsDampingRelaxation=Bw.prototype.set_m_wheelsDampingRelaxation=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ov(e,t)},Object.defineProperty(Bw.prototype,"m_wheelsDampingRelaxation",{get:Bw.prototype.get_m_wheelsDampingRelaxation,set:Bw.prototype.set_m_wheelsDampingRelaxation}),Bw.prototype.get_m_steering=Bw.prototype.get_m_steering=function(){var t=this.ptr;return nv(t)},Bw.prototype.set_m_steering=Bw.prototype.set_m_steering=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),jv(e,t)},Object.defineProperty(Bw.prototype,"m_steering",{get:Bw.prototype.get_m_steering,set:Bw.prototype.set_m_steering}),Bw.prototype.get_m_maxSuspensionForce=Bw.prototype.get_m_maxSuspensionForce=function(){var t=this.ptr;return KC(t)},Bw.prototype.set_m_maxSuspensionForce=Bw.prototype.set_m_maxSuspensionForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Cv(e,t)},Object.defineProperty(Bw.prototype,"m_maxSuspensionForce",{get:Bw.prototype.get_m_maxSuspensionForce,set:Bw.prototype.set_m_maxSuspensionForce}),Bw.prototype.get_m_maxSuspensionTravelCm=Bw.prototype.get_m_maxSuspensionTravelCm=function(){var t=this.ptr;return qC(t)},Bw.prototype.set_m_maxSuspensionTravelCm=Bw.prototype.set_m_maxSuspensionTravelCm=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vv(e,t)},Object.defineProperty(Bw.prototype,"m_maxSuspensionTravelCm",{get:Bw.prototype.get_m_maxSuspensionTravelCm,set:Bw.prototype.set_m_maxSuspensionTravelCm}),Bw.prototype.get_m_wheelsSuspensionForce=Bw.prototype.get_m_wheelsSuspensionForce=function(){var t=this.ptr;return dv(t)},Bw.prototype.set_m_wheelsSuspensionForce=Bw.prototype.set_m_wheelsSuspensionForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pv(e,t)},Object.defineProperty(Bw.prototype,"m_wheelsSuspensionForce",{get:Bw.prototype.get_m_wheelsSuspensionForce,set:Bw.prototype.set_m_wheelsSuspensionForce}),Bw.prototype.get_m_bIsFrontWheel=Bw.prototype.get_m_bIsFrontWheel=function(){var t=this.ptr;return!!HC(t)},Bw.prototype.set_m_bIsFrontWheel=Bw.prototype.set_m_bIsFrontWheel=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Av(e,t)},Object.defineProperty(Bw.prototype,"m_bIsFrontWheel",{get:Bw.prototype.get_m_bIsFrontWheel,set:Bw.prototype.set_m_bIsFrontWheel}),Bw.prototype.get_m_raycastInfo=Bw.prototype.get_m_raycastInfo=function(){var t=this.ptr;return yS($C(t),Qw)},Bw.prototype.set_m_raycastInfo=Bw.prototype.set_m_raycastInfo=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Sv(e,t)},Object.defineProperty(Bw.prototype,"m_raycastInfo",{get:Bw.prototype.get_m_raycastInfo,set:Bw.prototype.set_m_raycastInfo}),Bw.prototype.get_m_chassisConnectionPointCS=Bw.prototype.get_m_chassisConnectionPointCS=function(){var t=this.ptr;return yS(UC(t),VS)},Bw.prototype.set_m_chassisConnectionPointCS=Bw.prototype.set_m_chassisConnectionPointCS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),uv(e,t)},Object.defineProperty(Bw.prototype,"m_chassisConnectionPointCS",{get:Bw.prototype.get_m_chassisConnectionPointCS,set:Bw.prototype.set_m_chassisConnectionPointCS}),Bw.prototype.get_m_worldTransform=Bw.prototype.get_m_worldTransform=function(){var t=this.ptr;return yS(bv(t),nk)},Bw.prototype.set_m_worldTransform=Bw.prototype.set_m_worldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Mv(e,t)},Object.defineProperty(Bw.prototype,"m_worldTransform",{get:Bw.prototype.get_m_worldTransform,set:Bw.prototype.set_m_worldTransform}),Bw.prototype.get_m_wheelDirectionCS=Bw.prototype.get_m_wheelDirectionCS=function(){var t=this.ptr;return yS(pv(t),VS)},Bw.prototype.set_m_wheelDirectionCS=Bw.prototype.set_m_wheelDirectionCS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fv(e,t)},Object.defineProperty(Bw.prototype,"m_wheelDirectionCS",{get:Bw.prototype.get_m_wheelDirectionCS,set:Bw.prototype.set_m_wheelDirectionCS}),Bw.prototype.get_m_wheelAxleCS=Bw.prototype.get_m_wheelAxleCS=function(){var t=this.ptr;return yS(sv(t),VS)},Bw.prototype.set_m_wheelAxleCS=Bw.prototype.set_m_wheelAxleCS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wv(e,t)},Object.defineProperty(Bw.prototype,"m_wheelAxleCS",{get:Bw.prototype.get_m_wheelAxleCS,set:Bw.prototype.set_m_wheelAxleCS}),Bw.prototype.get_m_rotation=Bw.prototype.get_m_rotation=function(){var t=this.ptr;return ev(t)},Bw.prototype.set_m_rotation=Bw.prototype.set_m_rotation=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kv(e,t)},Object.defineProperty(Bw.prototype,"m_rotation",{get:Bw.prototype.get_m_rotation,set:Bw.prototype.set_m_rotation}),Bw.prototype.get_m_deltaRotation=Bw.prototype.get_m_deltaRotation=function(){var t=this.ptr;return JC(t)},Bw.prototype.set_m_deltaRotation=Bw.prototype.set_m_deltaRotation=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hv(e,t)},Object.defineProperty(Bw.prototype,"m_deltaRotation",{get:Bw.prototype.get_m_deltaRotation,set:Bw.prototype.set_m_deltaRotation}),Bw.prototype.get_m_brake=Bw.prototype.get_m_brake=function(){var t=this.ptr;return ZC(t)},Bw.prototype.set_m_brake=Bw.prototype.set_m_brake=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fv(e,t)},Object.defineProperty(Bw.prototype,"m_brake",{get:Bw.prototype.get_m_brake,set:Bw.prototype.set_m_brake}),Bw.prototype.get_m_clippedInvContactDotSuspension=Bw.prototype.get_m_clippedInvContactDotSuspension=function(){var t=this.ptr;return YC(t)},Bw.prototype.set_m_clippedInvContactDotSuspension=Bw.prototype.set_m_clippedInvContactDotSuspension=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mv(e,t)},Object.defineProperty(Bw.prototype,"m_clippedInvContactDotSuspension",{get:Bw.prototype.get_m_clippedInvContactDotSuspension,set:Bw.prototype.set_m_clippedInvContactDotSuspension}),Bw.prototype.get_m_suspensionRelativeVelocity=Bw.prototype.get_m_suspensionRelativeVelocity=function(){var t=this.ptr;return ov(t)},Bw.prototype.set_m_suspensionRelativeVelocity=Bw.prototype.set_m_suspensionRelativeVelocity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Dv(e,t)},Object.defineProperty(Bw.prototype,"m_suspensionRelativeVelocity",{get:Bw.prototype.get_m_suspensionRelativeVelocity,set:Bw.prototype.set_m_suspensionRelativeVelocity}),Bw.prototype.get_m_skidInfo=Bw.prototype.get_m_skidInfo=function(){var t=this.ptr;return iv(t)},Bw.prototype.set_m_skidInfo=Bw.prototype.set_m_skidInfo=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Rv(e,t)},Object.defineProperty(Bw.prototype,"m_skidInfo",{get:Bw.prototype.get_m_skidInfo,set:Bw.prototype.set_m_skidInfo}),Bw.prototype.__destroy__=Bw.prototype.__destroy__=function(){var t=this.ptr;LC(t)},Ww.prototype=Object.create(VS.prototype),Ww.prototype.constructor=Ww,Ww.prototype.__class__=Ww,Ww.__cache__={},i.btVector4=Ww,Ww.prototype.w=Ww.prototype.w=function(){var t=this.ptr;return Hg(t)},Ww.prototype.setValue=Ww.prototype.setValue=function(t,e,i,n){var o=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),Ng(o,t,e,i,n)},Ww.prototype.length=Ww.prototype.length=function(){var t=this.ptr;return Og(t)},Ww.prototype.x=Ww.prototype.x=function(){var t=this.ptr;return Zg(t)},Ww.prototype.y=Ww.prototype.y=function(){var t=this.ptr;return Ug(t)},Ww.prototype.z=Ww.prototype.z=function(){var t=this.ptr;return Yg(t)},Ww.prototype.setX=Ww.prototype.setX=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Lg(e,t)},Ww.prototype.setY=Ww.prototype.setY=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Qg(e,t)},Ww.prototype.setZ=Ww.prototype.setZ=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Eg(e,t)},Ww.prototype.normalize=Ww.prototype.normalize=function(){var t=this.ptr;Tg(t)},Ww.prototype.rotate=Ww.prototype.rotate=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),yS(Gg(i,t,e),VS)},Ww.prototype.dot=Ww.prototype.dot=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),xg(e,t)},Ww.prototype.op_mul=Ww.prototype.op_mul=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Mg(e,t),VS)},Ww.prototype.op_add=Ww.prototype.op_add=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Pg(e,t),VS)},Ww.prototype.op_sub=Ww.prototype.op_sub=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Vg(e,t),VS)},Ww.prototype.__destroy__=Ww.prototype.__destroy__=function(){var t=this.ptr;Bg(t)},Fw.prototype=Object.create(mS.prototype),Fw.prototype.constructor=Fw,Fw.prototype.__class__=Fw,Fw.__cache__={},i.btDefaultCollisionConstructionInfo=Fw,Fw.prototype.__destroy__=Fw.prototype.__destroy__=function(){var t=this.ptr;cp(t)},xw.prototype=Object.create(mS.prototype),xw.prototype.constructor=xw,xw.prototype.__class__=xw,xw.__cache__={},i.Anchor=xw,xw.prototype.get_m_node=xw.prototype.get_m_node=function(){var t=this.ptr;return yS(ft(t),Yw)},xw.prototype.set_m_node=xw.prototype.set_m_node=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vt(e,t)},Object.defineProperty(xw.prototype,"m_node",{get:xw.prototype.get_m_node,set:xw.prototype.set_m_node}),xw.prototype.get_m_local=xw.prototype.get_m_local=function(){var t=this.ptr;return yS(At(t),VS)},xw.prototype.set_m_local=xw.prototype.set_m_local=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ct(e,t)},Object.defineProperty(xw.prototype,"m_local",{get:xw.prototype.get_m_local,set:xw.prototype.set_m_local}),xw.prototype.get_m_body=xw.prototype.get_m_body=function(){var t=this.ptr;return yS(ct(t),dw)},xw.prototype.set_m_body=xw.prototype.set_m_body=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ut(e,t)},Object.defineProperty(xw.prototype,"m_body",{get:xw.prototype.get_m_body,set:xw.prototype.set_m_body}),xw.prototype.get_m_influence=xw.prototype.get_m_influence=function(){var t=this.ptr;return bt(t)},xw.prototype.set_m_influence=xw.prototype.set_m_influence=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gt(e,t)},Object.defineProperty(xw.prototype,"m_influence",{get:xw.prototype.get_m_influence,set:xw.prototype.set_m_influence}),xw.prototype.get_m_c0=xw.prototype.get_m_c0=function(){var t=this.ptr;return yS(at(t),KS)},xw.prototype.set_m_c0=xw.prototype.set_m_c0=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mt(e,t)},Object.defineProperty(xw.prototype,"m_c0",{get:xw.prototype.get_m_c0,set:xw.prototype.set_m_c0}),xw.prototype.get_m_c1=xw.prototype.get_m_c1=function(){var t=this.ptr;return yS(lt(t),VS)},xw.prototype.set_m_c1=xw.prototype.set_m_c1=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ht(e,t)},Object.defineProperty(xw.prototype,"m_c1",{get:xw.prototype.get_m_c1,set:xw.prototype.set_m_c1}),xw.prototype.get_m_c2=xw.prototype.get_m_c2=function(){var t=this.ptr;return dt(t)},xw.prototype.set_m_c2=xw.prototype.set_m_c2=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yt(e,t)},Object.defineProperty(xw.prototype,"m_c2",{get:xw.prototype.get_m_c2,set:xw.prototype.set_m_c2}),xw.prototype.__destroy__=xw.prototype.__destroy__=function(){var t=this.ptr;pt(t)},Ow.prototype=Object.create(mS.prototype),Ow.prototype.constructor=Ow,Ow.prototype.__class__=Ow,Ow.__cache__={},i.btVehicleRaycasterResult=Ow,Ow.prototype.get_m_hitPointInWorld=Ow.prototype.get_m_hitPointInWorld=function(){var t=this.ptr;return yS(Kg(t),VS)},Ow.prototype.set_m_hitPointInWorld=Ow.prototype.set_m_hitPointInWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),tC(e,t)},Object.defineProperty(Ow.prototype,"m_hitPointInWorld",{get:Ow.prototype.get_m_hitPointInWorld,set:Ow.prototype.set_m_hitPointInWorld}),Ow.prototype.get_m_hitNormalInWorld=Ow.prototype.get_m_hitNormalInWorld=function(){var t=this.ptr;return yS(zg(t),VS)},Ow.prototype.set_m_hitNormalInWorld=Ow.prototype.set_m_hitNormalInWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),$g(e,t)},Object.defineProperty(Ow.prototype,"m_hitNormalInWorld",{get:Ow.prototype.get_m_hitNormalInWorld,set:Ow.prototype.set_m_hitNormalInWorld}),Ow.prototype.get_m_distFraction=Ow.prototype.get_m_distFraction=function(){var t=this.ptr;return Xg(t)},Ow.prototype.set_m_distFraction=Ow.prototype.set_m_distFraction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),qg(e,t)},Object.defineProperty(Ow.prototype,"m_distFraction",{get:Ow.prototype.get_m_distFraction,set:Ow.prototype.set_m_distFraction}),Ow.prototype.__destroy__=Ow.prototype.__destroy__=function(){var t=this.ptr;Jg(t)},Tw.prototype=Object.create(mS.prototype),Tw.prototype.constructor=Tw,Tw.prototype.__class__=Tw,Tw.__cache__={},i.btVector3Array=Tw,Tw.prototype.size=Tw.prototype.size=function(){var t=this.ptr;return dg(t)},Tw.prototype.at=Tw.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(lg(e,t),VS)},Tw.prototype.__destroy__=Tw.prototype.__destroy__=function(){var t=this.ptr;ag(t)},Pw.prototype=Object.create(mS.prototype),Pw.prototype.constructor=Pw,Pw.prototype.__class__=Pw,Pw.__cache__={},i.btConstraintSolver=Pw,Pw.prototype.__destroy__=Pw.prototype.__destroy__=function(){var t=this.ptr;Xr(t)},Mw.prototype=Object.create(MS.prototype),Mw.prototype.constructor=Mw,Mw.prototype.__class__=Mw,Mw.__cache__={},i.btRaycastVehicle=Mw,Mw.prototype.applyEngineForce=Mw.prototype.applyEngineForce=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),WA(i,t,e)},Mw.prototype.setSteeringValue=Mw.prototype.setSteeringValue=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),KA(i,t,e)},Mw.prototype.getWheelTransformWS=Mw.prototype.getWheelTransformWS=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(ZA(e,t),nk)},Mw.prototype.updateWheelTransform=Mw.prototype.updateWheelTransform=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),_f(i,t,e)},Mw.prototype.addWheel=Mw.prototype.addWheel=function(t,e,i,n,o,_,r){var s=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),yS(BA(s,t,e,i,n,o,_,r),Bw)},Mw.prototype.getNumWheels=Mw.prototype.getNumWheels=function(){var t=this.ptr;return MA(t)},Mw.prototype.getRigidBody=Mw.prototype.getRigidBody=function(){var t=this.ptr;return yS(GA(t),dw)},Mw.prototype.getWheelInfo=Mw.prototype.getWheelInfo=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(HA(e,t),Bw)},Mw.prototype.setBrake=Mw.prototype.setBrake=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),JA(i,t,e)},Mw.prototype.setCoordinateSystem=Mw.prototype.setCoordinateSystem=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),XA(n,t,e,i)},Mw.prototype.getCurrentSpeedKmHour=Mw.prototype.getCurrentSpeedKmHour=function(){var t=this.ptr;return OA(t)},Mw.prototype.getChassisWorldTransform=Mw.prototype.getChassisWorldTransform=function(){var t=this.ptr;return yS(xA(t),nk)},Mw.prototype.rayCast=Mw.prototype.rayCast=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),UA(e,t)},Mw.prototype.updateVehicle=Mw.prototype.updateVehicle=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),of(e,t)},Mw.prototype.resetSuspension=Mw.prototype.resetSuspension=function(){var t=this.ptr;YA(t)},Mw.prototype.getSteeringValue=Mw.prototype.getSteeringValue=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),NA(e,t)},Mw.prototype.updateWheelTransformsWS=Mw.prototype.updateWheelTransformsWS=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0!==e?sf(i,t,e):rf(i,t)},Mw.prototype.setPitchControl=Mw.prototype.setPitchControl=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zA(e,t)},Mw.prototype.updateSuspension=Mw.prototype.updateSuspension=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),nf(e,t)},Mw.prototype.updateFriction=Mw.prototype.updateFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ef(e,t)},Mw.prototype.getRightAxis=Mw.prototype.getRightAxis=function(){var t=this.ptr;return VA(t)},Mw.prototype.getUpAxis=Mw.prototype.getUpAxis=function(){var t=this.ptr;return LA(t)},Mw.prototype.getForwardAxis=Mw.prototype.getForwardAxis=function(){var t=this.ptr;return TA(t)},Mw.prototype.getForwardVector=Mw.prototype.getForwardVector=function(){var t=this.ptr;return yS(PA(t),VS)},Mw.prototype.getUserConstraintType=Mw.prototype.getUserConstraintType=function(){var t=this.ptr;return EA(t)},Mw.prototype.setUserConstraintType=Mw.prototype.setUserConstraintType=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),$A(e,t)},Mw.prototype.setUserConstraintId=Mw.prototype.setUserConstraintId=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),qA(e,t)},Mw.prototype.getUserConstraintId=Mw.prototype.getUserConstraintId=function(){var t=this.ptr;return QA(t)},Mw.prototype.updateAction=Mw.prototype.updateAction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),tf(i,t,e)},Mw.prototype.__destroy__=Mw.prototype.__destroy__=function(){var t=this.ptr;IA(t)},Vw.prototype=Object.create(LS.prototype),Vw.prototype.constructor=Vw,Vw.prototype.__class__=Vw,Vw.__cache__={},i.btCylinderShapeX=Vw,Vw.prototype.setMargin=Vw.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Es(e,t)},Vw.prototype.getMargin=Vw.prototype.getMargin=function(){var t=this.ptr;return Ls(t)},Vw.prototype.setLocalScaling=Vw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Qs(e,t)},Vw.prototype.getLocalScaling=Vw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Ns(t),VS)},Vw.prototype.calculateLocalInertia=Vw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Gs(i,t,e)},Vw.prototype.__destroy__=Vw.prototype.__destroy__=function(){var t=this.ptr;Ms(t)},Gw.prototype=Object.create(LS.prototype),Gw.prototype.constructor=Gw,Gw.prototype.__class__=Gw,Gw.__cache__={},i.btCylinderShapeZ=Gw,Gw.prototype.setMargin=Gw.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zs(e,t)},Gw.prototype.getMargin=Gw.prototype.getMargin=function(){var t=this.ptr;return Js(t)},Gw.prototype.setLocalScaling=Gw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xs(e,t)},Gw.prototype.getLocalScaling=Gw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Ys(t),VS)},Gw.prototype.calculateLocalInertia=Gw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Us(i,t,e)},Gw.prototype.__destroy__=Gw.prototype.__destroy__=function(){var t=this.ptr;Hs(t)},Nw.prototype=Object.create(mS.prototype),Nw.prototype.constructor=Nw,Nw.prototype.__class__=Nw,Nw.__cache__={},i.btSequentialImpulseConstraintSolver=Nw,Nw.prototype.__destroy__=Nw.prototype.__destroy__=function(){var t=this.ptr;Pu(t)},Lw.prototype=Object.create(mS.prototype),Lw.prototype.constructor=Lw,Lw.prototype.__class__=Lw,Lw.__cache__={},i.tAnchorArray=Lw,Lw.prototype.size=Lw.prototype.size=function(){var t=this.ptr;return Hv(t)},Lw.prototype.at=Lw.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Nv(e,t),xw)},Lw.prototype.clear=Lw.prototype.clear=function(){var t=this.ptr;Lv(t)},Lw.prototype.push_back=Lw.prototype.push_back=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ev(e,t)},Lw.prototype.pop_back=Lw.prototype.pop_back=function(){var t=this.ptr;Qv(t)},Lw.prototype.__destroy__=Lw.prototype.__destroy__=function(){var t=this.ptr;Gv(t)},Qw.prototype=Object.create(mS.prototype),Qw.prototype.constructor=Qw,Qw.prototype.__class__=Qw,Qw.__cache__={},i.RaycastInfo=Qw,Qw.prototype.get_m_contactNormalWS=Qw.prototype.get_m_contactNormalWS=function(){var t=this.ptr;return yS(vn(t),VS)},Qw.prototype.set_m_contactNormalWS=Qw.prototype.set_m_contactNormalWS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bn(e,t)},Object.defineProperty(Qw.prototype,"m_contactNormalWS",{get:Qw.prototype.get_m_contactNormalWS,set:Qw.prototype.set_m_contactNormalWS}),Qw.prototype.get_m_contactPointWS=Qw.prototype.get_m_contactPointWS=function(){var t=this.ptr;return yS(Sn(t),VS)},Qw.prototype.set_m_contactPointWS=Qw.prototype.set_m_contactPointWS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wn(e,t)},Object.defineProperty(Qw.prototype,"m_contactPointWS",{get:Qw.prototype.get_m_contactPointWS,set:Qw.prototype.set_m_contactPointWS}),Qw.prototype.get_m_suspensionLength=Qw.prototype.get_m_suspensionLength=function(){var t=this.ptr;return jn(t)},Qw.prototype.set_m_suspensionLength=Qw.prototype.set_m_suspensionLength=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Tn(e,t)},Object.defineProperty(Qw.prototype,"m_suspensionLength",{get:Qw.prototype.get_m_suspensionLength,set:Qw.prototype.set_m_suspensionLength}),Qw.prototype.get_m_hardPointWS=Qw.prototype.get_m_hardPointWS=function(){var t=this.ptr;return yS(kn(t),VS)},Qw.prototype.set_m_hardPointWS=Qw.prototype.set_m_hardPointWS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xn(e,t)},Object.defineProperty(Qw.prototype,"m_hardPointWS",{get:Qw.prototype.get_m_hardPointWS,set:Qw.prototype.set_m_hardPointWS}),Qw.prototype.get_m_wheelDirectionWS=Qw.prototype.get_m_wheelDirectionWS=function(){var t=this.ptr;return yS(In(t),VS)},Qw.prototype.set_m_wheelDirectionWS=Qw.prototype.set_m_wheelDirectionWS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Mn(e,t)},Object.defineProperty(Qw.prototype,"m_wheelDirectionWS",{get:Qw.prototype.get_m_wheelDirectionWS,set:Qw.prototype.set_m_wheelDirectionWS}),Qw.prototype.get_m_wheelAxleWS=Qw.prototype.get_m_wheelAxleWS=function(){var t=this.ptr;return yS(Dn(t),VS)},Qw.prototype.set_m_wheelAxleWS=Qw.prototype.set_m_wheelAxleWS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pn(e,t)},Object.defineProperty(Qw.prototype,"m_wheelAxleWS",{get:Qw.prototype.get_m_wheelAxleWS,set:Qw.prototype.set_m_wheelAxleWS}),Qw.prototype.get_m_isInContact=Qw.prototype.get_m_isInContact=function(){var t=this.ptr;return!!Rn(t)},Qw.prototype.set_m_isInContact=Qw.prototype.set_m_isInContact=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),On(e,t)},Object.defineProperty(Qw.prototype,"m_isInContact",{get:Qw.prototype.get_m_isInContact,set:Qw.prototype.set_m_isInContact}),Qw.prototype.get_m_groundObject=Qw.prototype.get_m_groundObject=function(){var t=this.ptr;return wn(t)},Qw.prototype.set_m_groundObject=Qw.prototype.set_m_groundObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fn(e,t)},Object.defineProperty(Qw.prototype,"m_groundObject",{get:Qw.prototype.get_m_groundObject,set:Qw.prototype.set_m_groundObject}),Qw.prototype.__destroy__=Qw.prototype.__destroy__=function(){var t=this.ptr;Cn(t)},Ew.prototype=Object.create(mS.prototype),Ew.prototype.constructor=Ew,Ew.prototype.__class__=Ew,Ew.__cache__={},i.tNodeArray=Ew,Ew.prototype.size=Ew.prototype.size=function(){var t=this.ptr;return zv(t)},Ew.prototype.at=Ew.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Xv(e,t),Yw)},Ew.prototype.__destroy__=Ew.prototype.__destroy__=function(){var t=this.ptr;Jv(t)},Hw.prototype=Object.create(kS.prototype),Hw.prototype.constructor=Hw,Hw.prototype.__class__=Hw,Hw.__cache__={},i.btSoftBody=Hw,Hw.prototype.checkLink=Hw.prototype.checkLink=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),!!Jm(i,t,e)},Hw.prototype.checkFace=Hw.prototype.checkFace=function(t,e,i){var n=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Ym(n,t,e,i)},Hw.prototype.appendMaterial=Hw.prototype.appendMaterial=function(){var t=this.ptr;return yS(Em(t),$S)},Hw.prototype.appendNode=Hw.prototype.appendNode=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Hm(i,t,e)},Hw.prototype.appendLink=Hw.prototype.appendLink=function(t,e,i,n){var o=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),Qm(o,t,e,i,n)},Hw.prototype.appendFace=Hw.prototype.appendFace=function(t,e,i,n){var o=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),Lm(o,t,e,i,n)},Hw.prototype.appendTetra=Hw.prototype.appendTetra=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),Zm(_,t,e,i,n,o)},Hw.prototype.appendAnchor=Hw.prototype.appendAnchor=function(t,e,i,n){var o=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),Nm(o,t,e,i,n)},Hw.prototype.addForce=Hw.prototype.addForce=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0!==e?Gm(i,t,e):Vm(i,t)},Hw.prototype.addAeroForceToNode=Hw.prototype.addAeroForceToNode=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Mm(i,t,e)},Hw.prototype.getTotalMass=Hw.prototype.getTotalMass=function(){var t=this.ptr;return eh(t)},Hw.prototype.setTotalMass=Hw.prototype.setTotalMass=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Rh(i,t,e)},Hw.prototype.setMass=Hw.prototype.setMass=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Sh(i,t,e)},Hw.prototype.transform=Hw.prototype.transform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Oh(e,t)},Hw.prototype.translate=Hw.prototype.translate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Th(e,t)},Hw.prototype.rotate=Hw.prototype.rotate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),bh(e,t)},Hw.prototype.scale=Hw.prototype.scale=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ah(e,t)},Hw.prototype.generateClusters=Hw.prototype.generateClusters=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0===e?Km(i,t):qm(i,t,e)},Hw.prototype.generateBendingConstraints=Hw.prototype.generateBendingConstraints=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),zm(i,t,e)},Hw.prototype.upcast=Hw.prototype.upcast=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Ph(e,t),Hw)},Hw.prototype.setAnisotropicFriction=Hw.prototype.setAnisotropicFriction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),uh(i,t,e)},Hw.prototype.getCollisionShape=Hw.prototype.getCollisionShape=function(){var t=this.ptr;return yS(th(t),wS)},Hw.prototype.setContactProcessingThreshold=Hw.prototype.setContactProcessingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ch(e,t)},Hw.prototype.setActivationState=Hw.prototype.setActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fh(e,t)},Hw.prototype.forceActivationState=Hw.prototype.forceActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xm(e,t)},Hw.prototype.activate=Hw.prototype.activate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),void 0!==t?Pm(e,t):Tm(e)},Hw.prototype.isActive=Hw.prototype.isActive=function(){var t=this.ptr;return!!ch(t)},Hw.prototype.isKinematicObject=Hw.prototype.isKinematicObject=function(){var t=this.ptr;return!!ah(t)},Hw.prototype.isStaticObject=Hw.prototype.isStaticObject=function(){var t=this.ptr;return!!lh(t)},Hw.prototype.isStaticOrKinematicObject=Hw.prototype.isStaticOrKinematicObject=function(){var t=this.ptr;return!!dh(t)},Hw.prototype.setRestitution=Hw.prototype.setRestitution=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wh(e,t)},Hw.prototype.setFriction=Hw.prototype.setFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vh(e,t)},Hw.prototype.setRollingFriction=Hw.prototype.setRollingFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kh(e,t)},Hw.prototype.getWorldTransform=Hw.prototype.getWorldTransform=function(){var t=this.ptr;return yS(oh(t),nk)},Hw.prototype.getCollisionFlags=Hw.prototype.getCollisionFlags=function(){var t=this.ptr;return $m(t)},Hw.prototype.setCollisionFlags=Hw.prototype.setCollisionFlags=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yh(e,t)},Hw.prototype.setWorldTransform=Hw.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ih(e,t)},Hw.prototype.setCollisionShape=Hw.prototype.setCollisionShape=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gh(e,t)},Hw.prototype.setCcdMotionThreshold=Hw.prototype.setCcdMotionThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mh(e,t)},Hw.prototype.setCcdSweptSphereRadius=Hw.prototype.setCcdSweptSphereRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hh(e,t)},Hw.prototype.getUserIndex=Hw.prototype.getUserIndex=function(){var t=this.ptr;return ih(t)},Hw.prototype.setUserIndex=Hw.prototype.setUserIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),jh(e,t)},Hw.prototype.getUserPointer=Hw.prototype.getUserPointer=function(){var t=this.ptr;return yS(nh(t),bk)},Hw.prototype.setUserPointer=Hw.prototype.setUserPointer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Dh(e,t)},Hw.prototype.get_m_cfg=Hw.prototype.get_m_cfg=function(){var t=this.ptr;return yS(rh(t),Uw)},Hw.prototype.set_m_cfg=Hw.prototype.set_m_cfg=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wh(e,t)},Object.defineProperty(Hw.prototype,"m_cfg",{get:Hw.prototype.get_m_cfg,set:Hw.prototype.set_m_cfg}),Hw.prototype.get_m_nodes=Hw.prototype.get_m_nodes=function(){var t=this.ptr;return yS(ph(t),Ew)},Hw.prototype.set_m_nodes=Hw.prototype.set_m_nodes=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xh(e,t)},Object.defineProperty(Hw.prototype,"m_nodes",{get:Hw.prototype.get_m_nodes,set:Hw.prototype.set_m_nodes}),Hw.prototype.get_m_materials=Hw.prototype.get_m_materials=function(){var t=this.ptr;return yS(sh(t),pw)},Hw.prototype.set_m_materials=Hw.prototype.set_m_materials=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fh(e,t)},Object.defineProperty(Hw.prototype,"m_materials",{get:Hw.prototype.get_m_materials,set:Hw.prototype.set_m_materials}),Hw.prototype.get_m_anchors=Hw.prototype.get_m_anchors=function(){var t=this.ptr;return yS(_h(t),Lw)},Hw.prototype.set_m_anchors=Hw.prototype.set_m_anchors=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bh(e,t)},Object.defineProperty(Hw.prototype,"m_anchors",{get:Hw.prototype.get_m_anchors,set:Hw.prototype.set_m_anchors}),Hw.prototype.__destroy__=Hw.prototype.__destroy__=function(){var t=this.ptr;Om(t)},Zw.prototype=Object.create(mS.prototype),Zw.prototype.constructor=Zw,Zw.prototype.__class__=Zw,Zw.__cache__={},i.btIntArray=Zw,Zw.prototype.size=Zw.prototype.size=function(){var t=this.ptr;return td(t)},Zw.prototype.at=Zw.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),$l(e,t)},Zw.prototype.__destroy__=Zw.prototype.__destroy__=function(){var t=this.ptr;ql(t)},Uw.prototype=Object.create(mS.prototype),Uw.prototype.constructor=Uw,Uw.prototype.__class__=Uw,Uw.__cache__={},i.Config=Uw,Uw.prototype.get_kVCF=Uw.prototype.get_kVCF=function(){var t=this.ptr;return De(t)},Uw.prototype.set_kVCF=Uw.prototype.set_kVCF=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),$e(e,t)},Object.defineProperty(Uw.prototype,"kVCF",{get:Uw.prototype.get_kVCF,set:Uw.prototype.set_kVCF}),Uw.prototype.get_kDP=Uw.prototype.get_kDP=function(){var t=this.ptr;return ue(t)},Uw.prototype.set_kDP=Uw.prototype.set_kDP=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Le(e,t)},Object.defineProperty(Uw.prototype,"kDP",{get:Uw.prototype.get_kDP,set:Uw.prototype.set_kDP}),Uw.prototype.get_kDG=Uw.prototype.get_kDG=function(){var t=this.ptr;return fe(t)},Uw.prototype.set_kDG=Uw.prototype.set_kDG=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ne(e,t)},Object.defineProperty(Uw.prototype,"kDG",{get:Uw.prototype.get_kDG,set:Uw.prototype.set_kDG}),Uw.prototype.get_kLF=Uw.prototype.get_kLF=function(){var t=this.ptr;return he(t)},Uw.prototype.set_kLF=Uw.prototype.set_kLF=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ee(e,t)},Object.defineProperty(Uw.prototype,"kLF",{get:Uw.prototype.get_kLF,set:Uw.prototype.set_kLF}),Uw.prototype.get_kPR=Uw.prototype.get_kPR=function(){var t=this.ptr;return ge(t)},Uw.prototype.set_kPR=Uw.prototype.set_kPR=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ze(e,t)},Object.defineProperty(Uw.prototype,"kPR",{get:Uw.prototype.get_kPR,set:Uw.prototype.set_kPR}),Uw.prototype.get_kVC=Uw.prototype.get_kVC=function(){var t=this.ptr;return Ie(t)},Uw.prototype.set_kVC=Uw.prototype.set_kVC=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ti(e,t)},Object.defineProperty(Uw.prototype,"kVC",{get:Uw.prototype.get_kVC,set:Uw.prototype.set_kVC}),Uw.prototype.get_kDF=Uw.prototype.get_kDF=function(){var t=this.ptr;return Ae(t)},Uw.prototype.set_kDF=Uw.prototype.set_kDF=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ge(e,t)},Object.defineProperty(Uw.prototype,"kDF",{get:Uw.prototype.get_kDF,set:Uw.prototype.set_kDF}),Uw.prototype.get_kMT=Uw.prototype.get_kMT=function(){var t=this.ptr;return ye(t)},Uw.prototype.set_kMT=Uw.prototype.set_kMT=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),He(e,t)},Object.defineProperty(Uw.prototype,"kMT",{get:Uw.prototype.get_kMT,set:Uw.prototype.set_kMT}),Uw.prototype.get_kCHR=Uw.prototype.get_kCHR=function(){var t=this.ptr;return be(t)},Uw.prototype.set_kCHR=Uw.prototype.set_kCHR=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ve(e,t)},Object.defineProperty(Uw.prototype,"kCHR",{get:Uw.prototype.get_kCHR,set:Uw.prototype.set_kCHR}),Uw.prototype.get_kKHR=Uw.prototype.get_kKHR=function(){var t=this.ptr;return me(t)},Uw.prototype.set_kKHR=Uw.prototype.set_kKHR=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Qe(e,t)},Object.defineProperty(Uw.prototype,"kKHR",{get:Uw.prototype.get_kKHR,set:Uw.prototype.set_kKHR}),Uw.prototype.get_kSHR=Uw.prototype.get_kSHR=function(){var t=this.ptr;return Ce(t)},Uw.prototype.set_kSHR=Uw.prototype.set_kSHR=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ue(e,t)},Object.defineProperty(Uw.prototype,"kSHR",{get:Uw.prototype.get_kSHR,set:Uw.prototype.set_kSHR}),Uw.prototype.get_kAHR=Uw.prototype.get_kAHR=function(){var t=this.ptr;return de(t)},Uw.prototype.set_kAHR=Uw.prototype.set_kAHR=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Me(e,t)},Object.defineProperty(Uw.prototype,"kAHR",{get:Uw.prototype.get_kAHR,set:Uw.prototype.set_kAHR}),Uw.prototype.get_kSRHR_CL=Uw.prototype.get_kSRHR_CL=function(){var t=this.ptr;return we(t)},Uw.prototype.set_kSRHR_CL=Uw.prototype.set_kSRHR_CL=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xe(e,t)},Object.defineProperty(Uw.prototype,"kSRHR_CL",{get:Uw.prototype.get_kSRHR_CL,set:Uw.prototype.set_kSRHR_CL}),Uw.prototype.get_kSKHR_CL=Uw.prototype.get_kSKHR_CL=function(){var t=this.ptr;return ve(t)},Uw.prototype.set_kSKHR_CL=Uw.prototype.set_kSKHR_CL=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ye(e,t)},Object.defineProperty(Uw.prototype,"kSKHR_CL",{get:Uw.prototype.get_kSKHR_CL,set:Uw.prototype.set_kSKHR_CL}),Uw.prototype.get_kSSHR_CL=Uw.prototype.get_kSSHR_CL=function(){var t=this.ptr;return Re(t)},Uw.prototype.set_kSSHR_CL=Uw.prototype.set_kSSHR_CL=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ke(e,t)},Object.defineProperty(Uw.prototype,"kSSHR_CL",{get:Uw.prototype.get_kSSHR_CL,set:Uw.prototype.set_kSSHR_CL}),Uw.prototype.get_kSR_SPLT_CL=Uw.prototype.get_kSR_SPLT_CL=function(){var t=this.ptr;return ke(t)},Uw.prototype.set_kSR_SPLT_CL=Uw.prototype.set_kSR_SPLT_CL=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ze(e,t)},Object.defineProperty(Uw.prototype,"kSR_SPLT_CL",{get:Uw.prototype.get_kSR_SPLT_CL,set:Uw.prototype.set_kSR_SPLT_CL}),Uw.prototype.get_kSK_SPLT_CL=Uw.prototype.get_kSK_SPLT_CL=function(){var t=this.ptr;return Se(t)},Uw.prototype.set_kSK_SPLT_CL=Uw.prototype.set_kSK_SPLT_CL=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Je(e,t)},Object.defineProperty(Uw.prototype,"kSK_SPLT_CL",{get:Uw.prototype.get_kSK_SPLT_CL,set:Uw.prototype.set_kSK_SPLT_CL}),Uw.prototype.get_kSS_SPLT_CL=Uw.prototype.get_kSS_SPLT_CL=function(){var t=this.ptr;return je(t)},Uw.prototype.set_kSS_SPLT_CL=Uw.prototype.set_kSS_SPLT_CL=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),qe(e,t)},Object.defineProperty(Uw.prototype,"kSS_SPLT_CL",{get:Uw.prototype.get_kSS_SPLT_CL,set:Uw.prototype.set_kSS_SPLT_CL}),Uw.prototype.get_maxvolume=Uw.prototype.get_maxvolume=function(){var t=this.ptr;return Be(t)},Uw.prototype.set_maxvolume=Uw.prototype.set_maxvolume=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ei(e,t)},Object.defineProperty(Uw.prototype,"maxvolume",{get:Uw.prototype.get_maxvolume,set:Uw.prototype.set_maxvolume}),Uw.prototype.get_timescale=Uw.prototype.get_timescale=function(){var t=this.ptr;return Fe(t)},Uw.prototype.set_timescale=Uw.prototype.set_timescale=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ni(e,t)},Object.defineProperty(Uw.prototype,"timescale",{get:Uw.prototype.get_timescale,set:Uw.prototype.set_timescale}),Uw.prototype.get_viterations=Uw.prototype.get_viterations=function(){var t=this.ptr;return xe(t)},Uw.prototype.set_viterations=Uw.prototype.set_viterations=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),oi(e,t)},Object.defineProperty(Uw.prototype,"viterations",{get:Uw.prototype.get_viterations,set:Uw.prototype.set_viterations}),Uw.prototype.get_piterations=Uw.prototype.get_piterations=function(){var t=this.ptr;return We(t)},Uw.prototype.set_piterations=Uw.prototype.set_piterations=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ii(e,t)},Object.defineProperty(Uw.prototype,"piterations",{get:Uw.prototype.get_piterations,set:Uw.prototype.set_piterations}),Uw.prototype.get_diterations=Uw.prototype.get_diterations=function(){var t=this.ptr;return le(t)},Uw.prototype.set_diterations=Uw.prototype.set_diterations=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pe(e,t)},Object.defineProperty(Uw.prototype,"diterations",{get:Uw.prototype.get_diterations,set:Uw.prototype.set_diterations}),Uw.prototype.get_citerations=Uw.prototype.get_citerations=function(){var t=this.ptr;return ce(t)},Uw.prototype.set_citerations=Uw.prototype.set_citerations=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Oe(e,t)},Object.defineProperty(Uw.prototype,"citerations",{get:Uw.prototype.get_citerations,set:Uw.prototype.set_citerations}),Uw.prototype.get_collisions=Uw.prototype.get_collisions=function(){var t=this.ptr;return ae(t)},Uw.prototype.set_collisions=Uw.prototype.set_collisions=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Te(e,t)},Object.defineProperty(Uw.prototype,"collisions",{get:Uw.prototype.get_collisions,set:Uw.prototype.set_collisions}),Uw.prototype.__destroy__=Uw.prototype.__destroy__=function(){var t=this.ptr;pe(t)},Yw.prototype=Object.create(mS.prototype),Yw.prototype.constructor=Yw,Yw.prototype.__class__=Yw,Yw.__cache__={},i.Node=Yw,Yw.prototype.get_m_x=Yw.prototype.get_m_x=function(){var t=this.ptr;return yS(nn(t),VS)},Yw.prototype.set_m_x=Yw.prototype.set_m_x=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),an(e,t)},Object.defineProperty(Yw.prototype,"m_x",{get:Yw.prototype.get_m_x,set:Yw.prototype.set_m_x}),Yw.prototype.get_m_q=Yw.prototype.get_m_q=function(){var t=this.ptr;return yS(tn(t),VS)},Yw.prototype.set_m_q=Yw.prototype.set_m_q=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),pn(e,t)},Object.defineProperty(Yw.prototype,"m_q",{get:Yw.prototype.get_m_q,set:Yw.prototype.set_m_q}),Yw.prototype.get_m_v=Yw.prototype.get_m_v=function(){var t=this.ptr;return yS(en(t),VS)},Yw.prototype.set_m_v=Yw.prototype.set_m_v=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),cn(e,t)},Object.defineProperty(Yw.prototype,"m_v",{get:Yw.prototype.get_m_v,set:Yw.prototype.set_m_v}),Yw.prototype.get_m_f=Yw.prototype.get_m_f=function(){var t=this.ptr;return yS(Ki(t),VS)},Yw.prototype.set_m_f=Yw.prototype.set_m_f=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),_n(e,t)},Object.defineProperty(Yw.prototype,"m_f",{get:Yw.prototype.get_m_f,set:Yw.prototype.set_m_f}),Yw.prototype.get_m_n=Yw.prototype.get_m_n=function(){var t=this.ptr;return yS($i(t),VS)},Yw.prototype.set_m_n=Yw.prototype.set_m_n=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),sn(e,t)},Object.defineProperty(Yw.prototype,"m_n",{get:Yw.prototype.get_m_n,set:Yw.prototype.set_m_n}),Yw.prototype.get_m_im=Yw.prototype.get_m_im=function(){var t=this.ptr;return qi(t)},Yw.prototype.set_m_im=Yw.prototype.set_m_im=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),rn(e,t)},Object.defineProperty(Yw.prototype,"m_im",{get:Yw.prototype.get_m_im,set:Yw.prototype.set_m_im}),Yw.prototype.get_m_area=Yw.prototype.get_m_area=function(){var t=this.ptr;return zi(t)},Yw.prototype.set_m_area=Yw.prototype.set_m_area=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),on(e,t)},Object.defineProperty(Yw.prototype,"m_area",{get:Yw.prototype.get_m_area,set:Yw.prototype.set_m_area}),Yw.prototype.__destroy__=Yw.prototype.__destroy__=function(){var t=this.ptr;Xi(t)},Jw.prototype=Object.create(mS.prototype),Jw.prototype.constructor=Jw,Jw.prototype.__class__=Jw,Jw.__cache__={},i.btGhostPairCallback=Jw,Jw.prototype.__destroy__=Jw.prototype.__destroy__=function(){var t=this.ptr;ml(t)},Xw.prototype=Object.create(mS.prototype),Xw.prototype.constructor=Xw,Xw.prototype.__class__=Xw,Xw.__cache__={},i.btOverlappingPairCallback=Xw,Xw.prototype.__destroy__=Xw.prototype.__destroy__=function(){var t=this.ptr;Xd(t)},zw.prototype=Object.create(MS.prototype),zw.prototype.constructor=zw,zw.prototype.__class__=zw,zw.__cache__={},i.btKinematicCharacterController=zw,zw.prototype.setUpAxis=zw.prototype.setUpAxis=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),md(e,t)},zw.prototype.setWalkDirection=zw.prototype.setWalkDirection=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Cd(e,t)},zw.prototype.setVelocityForTimeInterval=zw.prototype.setVelocityForTimeInterval=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),gd(i,t,e)},zw.prototype.warp=zw.prototype.warp=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Sd(e,t)},zw.prototype.preStep=zw.prototype.preStep=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ld(e,t)},zw.prototype.playerStep=zw.prototype.playerStep=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),ad(i,t,e)},zw.prototype.setFallSpeed=zw.prototype.setFallSpeed=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),dd(e,t)},zw.prototype.setJumpSpeed=zw.prototype.setJumpSpeed=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ad(e,t)},zw.prototype.setMaxJumpHeight=zw.prototype.setMaxJumpHeight=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fd(e,t)},zw.prototype.canJump=zw.prototype.canJump=function(){var t=this.ptr;return!!od(t)},zw.prototype.jump=zw.prototype.jump=function(){var t=this.ptr;pd(t)},zw.prototype.setGravity=zw.prototype.setGravity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),bd(e,t)},zw.prototype.getGravity=zw.prototype.getGravity=function(){var t=this.ptr;return rd(t)},zw.prototype.setMaxSlope=zw.prototype.setMaxSlope=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ud(e,t)},zw.prototype.getMaxSlope=zw.prototype.getMaxSlope=function(){var t=this.ptr;return sd(t)},zw.prototype.getGhostObject=zw.prototype.getGhostObject=function(){var t=this.ptr;return yS(_d(t),ck)},zw.prototype.setUseGhostSweepTest=zw.prototype.setUseGhostSweepTest=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yd(e,t)},zw.prototype.onGround=zw.prototype.onGround=function(){var t=this.ptr;return!!cd(t)},zw.prototype.setUpInterpolate=zw.prototype.setUpInterpolate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hd(e,t)},zw.prototype.updateAction=zw.prototype.updateAction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),vd(i,t,e)},zw.prototype.__destroy__=zw.prototype.__destroy__=function(){var t=this.ptr;ed(t)},Kw.prototype=Object.create(mS.prototype),Kw.prototype.constructor=Kw,Kw.prototype.__class__=Kw,Kw.__cache__={},i.btSoftBodyArray=Kw,Kw.prototype.size=Kw.prototype.size=function(){var t=this.ptr;return nm(t)},Kw.prototype.at=Kw.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(im(e,t),Hw)},Kw.prototype.__destroy__=Kw.prototype.__destroy__=function(){var t=this.ptr;em(t)},qw.prototype=Object.create(mS.prototype),qw.prototype.constructor=qw,qw.prototype.__class__=qw,qw.__cache__={},i.btFaceArray=qw,qw.prototype.size=qw.prototype.size=function(){var t=this.ptr;return ta(t)},qw.prototype.at=qw.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS($c(e,t),uk)},qw.prototype.__destroy__=qw.prototype.__destroy__=function(){var t=this.ptr;qc(t)},$w.prototype=Object.create(DS.prototype),$w.prototype.constructor=$w,$w.prototype.__class__=$w,$w.__cache__={},i.btStaticPlaneShape=$w,$w.prototype.setLocalScaling=$w.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fy(e,t)},$w.prototype.getLocalScaling=$w.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Wy(t),VS)},$w.prototype.calculateLocalInertia=$w.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),By(i,t,e)},$w.prototype.__destroy__=$w.prototype.__destroy__=function(){var t=this.ptr;Dy(t)},tk.prototype=Object.create(mS.prototype),tk.prototype.constructor=tk,tk.prototype.__class__=tk,tk.__cache__={},i.btOverlappingPairCache=tk,tk.prototype.setInternalGhostPairCallback=tk.prototype.setInternalGhostPairCallback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Jd(e,t)},tk.prototype.__destroy__=tk.prototype.__destroy__=function(){var t=this.ptr;Yd(t)},ek.prototype=Object.create(QS.prototype),ek.prototype.constructor=ek,ek.prototype.__class__=ek,ek.__cache__={},i.btSoftRigidDynamicsWorld=ek,ek.prototype.addSoftBody=ek.prototype.addSoftBody=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Uh(n,t,e,i)},ek.prototype.removeSoftBody=ek.prototype.removeSoftBody=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ay(e,t)},ek.prototype.removeCollisionObject=ek.prototype.removeCollisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ly(e,t)},ek.prototype.getWorldInfo=ek.prototype.getWorldInfo=function(){var t=this.ptr;return yS(sy(t),yw)},ek.prototype.getSoftBodyArray=ek.prototype.getSoftBodyArray=function(){var t=this.ptr;return yS(_y(t),Kw)},ek.prototype.getDispatcher=ek.prototype.getDispatcher=function(){var t=this.ptr;return yS(iy(t),HS)},ek.prototype.rayTest=ek.prototype.rayTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),cy(n,t,e,i)},ek.prototype.getPairCache=ek.prototype.getPairCache=function(){var t=this.ptr;return yS(oy(t),tk)},ek.prototype.getDispatchInfo=ek.prototype.getDispatchInfo=function(){var t=this.ptr;return yS(ey(t),qS)},ek.prototype.addCollisionObject=ek.prototype.addCollisionObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==e?void 0!==i?Lh(n,t,e,i):Nh(n,t,e):Gh(n,t)},ek.prototype.getBroadphase=ek.prototype.getBroadphase=function(){var t=this.ptr;return yS($h(t),iw)},ek.prototype.convexSweepTest=ek.prototype.convexSweepTest=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),zh(_,t,e,i,n,o)},ek.prototype.contactPairTest=ek.prototype.contactPairTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Jh(n,t,e,i)},ek.prototype.contactTest=ek.prototype.contactTest=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Xh(i,t,e)},ek.prototype.updateSingleAabb=ek.prototype.updateSingleAabb=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gy(e,t)},ek.prototype.setDebugDrawer=ek.prototype.setDebugDrawer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fy(e,t)},ek.prototype.getDebugDrawer=ek.prototype.getDebugDrawer=function(){var t=this.ptr;return yS(ty(t),BS)},ek.prototype.debugDrawWorld=ek.prototype.debugDrawWorld=function(){var t=this.ptr;qh(t)},ek.prototype.debugDrawObject=ek.prototype.debugDrawObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Kh(n,t,e,i)},ek.prototype.performDiscreteCollisionDetection=ek.prototype.performDiscreteCollisionDetection=function(){var t=this.ptr;py(t)},ek.prototype.setGravity=ek.prototype.setGravity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),uy(e,t)},ek.prototype.getGravity=ek.prototype.getGravity=function(){var t=this.ptr;return yS(ny(t),VS)},ek.prototype.addRigidBody=ek.prototype.addRigidBody=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==e?void 0!==i?Zh(n,t,e,i):_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_2(n,t,e):Hh(n,t)},ek.prototype.removeRigidBody=ek.prototype.removeRigidBody=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),by(e,t)},ek.prototype.addConstraint=ek.prototype.addConstraint=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0!==e?Eh(i,t,e):Qh(i,t)},ek.prototype.removeConstraint=ek.prototype.removeConstraint=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),dy(e,t)},ek.prototype.stepSimulation=ek.prototype.stepSimulation=function(t,e,i){var n=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0===e?my(n,t):void 0===i?hy(n,t,e):yy(n,t,e,i)},ek.prototype.addAction=ek.prototype.addAction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vh(e,t)},ek.prototype.removeAction=ek.prototype.removeAction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ay(e,t)},ek.prototype.getSolverInfo=ek.prototype.getSolverInfo=function(){var t=this.ptr;return yS(ry(t),Ck)},ek.prototype.__destroy__=ek.prototype.__destroy__=function(){var t=this.ptr;Mh(t)},ik.prototype=Object.create(jS.prototype),ik.prototype.constructor=ik,ik.prototype.__class__=ik,ik.__cache__={},i.btFixedConstraint=ik,ik.prototype.enableFeedback=ik.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),pa(e,t)},ik.prototype.getBreakingImpulseThreshold=ik.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return ca(t)},ik.prototype.setBreakingImpulseThreshold=ik.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),la(e,t)},ik.prototype.getParam=ik.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),aa(i,t,e)},ik.prototype.setParam=ik.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),da(n,t,e,i)},ik.prototype.__destroy__=ik.prototype.__destroy__=function(){var t=this.ptr;ra(t)},nk.prototype=Object.create(mS.prototype),nk.prototype.constructor=nk,nk.prototype.__class__=nk,nk.__cache__={},i.btTransform=nk,nk.prototype.setIdentity=nk.prototype.setIdentity=function(){var t=this.ptr;Hy(t)},nk.prototype.setOrigin=nk.prototype.setOrigin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Zy(e,t)},nk.prototype.setRotation=nk.prototype.setRotation=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Uy(e,t)},nk.prototype.getOrigin=nk.prototype.getOrigin=function(){var t=this.ptr;return yS(Gy(t),VS)},nk.prototype.getRotation=nk.prototype.getRotation=function(){var t=this.ptr;return yS(Ny(t),yk)},nk.prototype.getBasis=nk.prototype.getBasis=function(){var t=this.ptr;return yS(Vy(t),KS)},nk.prototype.setFromOpenGLMatrix=nk.prototype.setFromOpenGLMatrix=function(t){var e=this.ptr;gS.prepare(),"object"==typeof t&&(t=vS(t)),Ey(e,t)},nk.prototype.inverse=nk.prototype.inverse=function(){var t=this.ptr;return yS(Ly(t),nk)},nk.prototype.op_mul=nk.prototype.op_mul=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Qy(e,t),nk)},nk.prototype.__destroy__=nk.prototype.__destroy__=function(){var t=this.ptr;Ty(t)},ok.prototype=Object.create(zS.prototype),ok.prototype.constructor=ok,ok.prototype.__class__=ok,ok.__cache__={},i.ClosestRayResultCallback=ok,ok.prototype.hasHit=ok.prototype.hasHit=function(){var t=this.ptr;return!!zt(t)},ok.prototype.get_m_rayFromWorld=ok.prototype.get_m_rayFromWorld=function(){var t=this.ptr;return yS(Jt(t),VS)},ok.prototype.set_m_rayFromWorld=ok.prototype.set_m_rayFromWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ne(e,t)},Object.defineProperty(ok.prototype,"m_rayFromWorld",{get:ok.prototype.get_m_rayFromWorld,set:ok.prototype.set_m_rayFromWorld}),ok.prototype.get_m_rayToWorld=ok.prototype.get_m_rayToWorld=function(){var t=this.ptr;return yS(Xt(t),VS)},ok.prototype.set_m_rayToWorld=ok.prototype.set_m_rayToWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),oe(e,t)},Object.defineProperty(ok.prototype,"m_rayToWorld",{get:ok.prototype.get_m_rayToWorld,set:ok.prototype.set_m_rayToWorld}),ok.prototype.get_m_hitNormalWorld=ok.prototype.get_m_hitNormalWorld=function(){var t=this.ptr;return yS(Ut(t),VS)},ok.prototype.set_m_hitNormalWorld=ok.prototype.set_m_hitNormalWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ee(e,t)},Object.defineProperty(ok.prototype,"m_hitNormalWorld",{get:ok.prototype.get_m_hitNormalWorld,set:ok.prototype.set_m_hitNormalWorld}),ok.prototype.get_m_hitPointWorld=ok.prototype.get_m_hitPointWorld=function(){var t=this.ptr;return yS(Yt(t),VS)},ok.prototype.set_m_hitPointWorld=ok.prototype.set_m_hitPointWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ie(e,t)},Object.defineProperty(ok.prototype,"m_hitPointWorld",{get:ok.prototype.get_m_hitPointWorld,set:ok.prototype.set_m_hitPointWorld}),ok.prototype.get_m_collisionFilterGroup=ok.prototype.get_m_collisionFilterGroup=function(){var t=this.ptr;return Et(t)},ok.prototype.set_m_collisionFilterGroup=ok.prototype.set_m_collisionFilterGroup=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),qt(e,t)},Object.defineProperty(ok.prototype,"m_collisionFilterGroup",{get:ok.prototype.get_m_collisionFilterGroup,set:ok.prototype.set_m_collisionFilterGroup}),ok.prototype.get_m_collisionFilterMask=ok.prototype.get_m_collisionFilterMask=function(){var t=this.ptr;return Ht(t)},ok.prototype.set_m_collisionFilterMask=ok.prototype.set_m_collisionFilterMask=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),$t(e,t)},Object.defineProperty(ok.prototype,"m_collisionFilterMask",{get:ok.prototype.get_m_collisionFilterMask,set:ok.prototype.set_m_collisionFilterMask}),ok.prototype.get_m_closestHitFraction=ok.prototype.get_m_closestHitFraction=function(){var t=this.ptr;return Qt(t)},ok.prototype.set_m_closestHitFraction=ok.prototype.set_m_closestHitFraction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Kt(e,t)},Object.defineProperty(ok.prototype,"m_closestHitFraction",{get:ok.prototype.get_m_closestHitFraction,set:ok.prototype.set_m_closestHitFraction}),ok.prototype.get_m_collisionObject=ok.prototype.get_m_collisionObject=function(){var t=this.ptr;return yS(Zt(t),kS)},ok.prototype.set_m_collisionObject=ok.prototype.set_m_collisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),te(e,t)},Object.defineProperty(ok.prototype,"m_collisionObject",{get:ok.prototype.get_m_collisionObject,set:ok.prototype.set_m_collisionObject}),ok.prototype.__destroy__=ok.prototype.__destroy__=function(){var t=this.ptr;Lt(t)},_k.prototype=Object.create(WS.prototype),_k.prototype.constructor=_k,_k.prototype.__class__=_k,_k.__cache__={},i.btSoftBodyRigidBodyCollisionConfiguration=_k,_k.prototype.__destroy__=_k.prototype.__destroy__=function(){var t=this.ptr;dm(t)},rk.prototype=Object.create(JS.prototype),rk.prototype.constructor=rk,rk.prototype.__class__=rk,rk.__cache__={},i.ConcreteContactResultCallback=rk,rk.prototype.addSingleResult=rk.prototype.addSingleResult=function(t,e,i,n,o,_,r){var s=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),se(s,t,e,i,n,o,_,r)},rk.prototype.__destroy__=rk.prototype.__destroy__=function(){var t=this.ptr;re(t)},sk.prototype=Object.create(OS.prototype),sk.prototype.constructor=sk,sk.prototype.__class__=sk,sk.__cache__={},i.btBvhTriangleMeshShape=sk,sk.prototype.setLocalScaling=sk.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ao(e,t)},sk.prototype.getLocalScaling=sk.prototype.getLocalScaling=function(){var t=this.ptr;return yS(co(t),VS)},sk.prototype.calculateLocalInertia=sk.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),po(i,t,e)},sk.prototype.__destroy__=sk.prototype.__destroy__=function(){var t=this.ptr;_o(t)},pk.prototype=Object.create(jS.prototype),pk.prototype.constructor=pk,pk.prototype.__class__=pk,pk.__cache__={},i.btSliderConstraint=pk,pk.prototype.setLowerLinLimit=pk.prototype.setLowerLinLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ku(e,t)},pk.prototype.setUpperLinLimit=pk.prototype.setUpperLinLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),tm(e,t)},pk.prototype.setLowerAngLimit=pk.prototype.setLowerAngLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zu(e,t)},pk.prototype.setUpperAngLimit=pk.prototype.setUpperAngLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),$u(e,t)},pk.prototype.enableFeedback=pk.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Uu(e,t)},pk.prototype.getBreakingImpulseThreshold=pk.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return Yu(t)},pk.prototype.setBreakingImpulseThreshold=pk.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xu(e,t)},pk.prototype.getParam=pk.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ju(i,t,e)},pk.prototype.setParam=pk.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),qu(n,t,e,i)},pk.prototype.__destroy__=pk.prototype.__destroy__=function(){var t=this.ptr;Eu(t)},ck.prototype=Object.create(TS.prototype),ck.prototype.constructor=ck,ck.prototype.__class__=ck,ck.__cache__={},i.btPairCachingGhostObject=ck,ck.prototype.setAnisotropicFriction=ck.prototype.setAnisotropicFriction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),bb(i,t,e)},ck.prototype.getCollisionShape=ck.prototype.getCollisionShape=function(){var t=this.ptr;return yS(ib(t),wS)},ck.prototype.setContactProcessingThreshold=ck.prototype.setContactProcessingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hb(e,t)},ck.prototype.setActivationState=ck.prototype.setActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),db(e,t)},ck.prototype.forceActivationState=ck.prototype.forceActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),tb(e,t)},ck.prototype.activate=ck.prototype.activate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),void 0!==t?qd(e,t):Kd(e)},ck.prototype.isActive=ck.prototype.isActive=function(){var t=this.ptr;return!!pb(t)},ck.prototype.isKinematicObject=ck.prototype.isKinematicObject=function(){var t=this.ptr;return!!cb(t)},ck.prototype.isStaticObject=ck.prototype.isStaticObject=function(){var t=this.ptr;return!!ab(t)},ck.prototype.isStaticOrKinematicObject=ck.prototype.isStaticOrKinematicObject=function(){var t=this.ptr;return!!lb(t)},ck.prototype.setRestitution=ck.prototype.setRestitution=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gb(e,t)},ck.prototype.setFriction=ck.prototype.setFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yb(e,t)},ck.prototype.setRollingFriction=ck.prototype.setRollingFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Cb(e,t)},ck.prototype.getWorldTransform=ck.prototype.getWorldTransform=function(){var t=this.ptr;return yS(sb(t),nk)},ck.prototype.getCollisionFlags=ck.prototype.getCollisionFlags=function(){var t=this.ptr;return eb(t)},ck.prototype.setCollisionFlags=ck.prototype.setCollisionFlags=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ub(e,t)},ck.prototype.setWorldTransform=ck.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wb(e,t)},ck.prototype.setCollisionShape=ck.prototype.setCollisionShape=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mb(e,t)},ck.prototype.setCcdMotionThreshold=ck.prototype.setCcdMotionThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ab(e,t)},ck.prototype.setCcdSweptSphereRadius=ck.prototype.setCcdSweptSphereRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fb(e,t)},ck.prototype.getUserIndex=ck.prototype.getUserIndex=function(){var t=this.ptr;return _b(t)},ck.prototype.setUserIndex=ck.prototype.setUserIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vb(e,t)},ck.prototype.getUserPointer=ck.prototype.getUserPointer=function(){var t=this.ptr;return yS(rb(t),bk)},ck.prototype.setUserPointer=ck.prototype.setUserPointer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Sb(e,t)},ck.prototype.getNumOverlappingObjects=ck.prototype.getNumOverlappingObjects=function(){var t=this.ptr;return nb(t)},ck.prototype.getOverlappingObject=ck.prototype.getOverlappingObject=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(ob(e,t),kS)},ck.prototype.__destroy__=ck.prototype.__destroy__=function(){var t=this.ptr;zd(t)},ak.prototype=Object.create(mS.prototype),ak.prototype.constructor=ak,ak.prototype.__class__=ak,ak.__cache__={},i.btManifoldPoint=ak,ak.prototype.getPositionWorldOnA=ak.prototype.getPositionWorldOnA=function(){var t=this.ptr;return yS(jd(t),VS)},ak.prototype.getPositionWorldOnB=ak.prototype.getPositionWorldOnB=function(){var t=this.ptr;return yS(Dd(t),VS)},ak.prototype.getAppliedImpulse=ak.prototype.getAppliedImpulse=function(){var t=this.ptr;return kd(t)},ak.prototype.getDistance=ak.prototype.getDistance=function(){var t=this.ptr;return Rd(t)},ak.prototype.get_m_localPointA=ak.prototype.get_m_localPointA=function(){var t=this.ptr;return yS(Id(t),VS)},ak.prototype.set_m_localPointA=ak.prototype.set_m_localPointA=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Od(e,t)},Object.defineProperty(ak.prototype,"m_localPointA",{get:ak.prototype.get_m_localPointA,set:ak.prototype.set_m_localPointA}),ak.prototype.get_m_localPointB=ak.prototype.get_m_localPointB=function(){var t=this.ptr;return yS(Bd(t),VS)},ak.prototype.set_m_localPointB=ak.prototype.set_m_localPointB=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Td(e,t)},Object.defineProperty(ak.prototype,"m_localPointB",{get:ak.prototype.get_m_localPointB,set:ak.prototype.set_m_localPointB}),ak.prototype.get_m_positionWorldOnB=ak.prototype.get_m_positionWorldOnB=function(){var t=this.ptr;return yS(xd(t),VS)},ak.prototype.set_m_positionWorldOnB=ak.prototype.set_m_positionWorldOnB=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vd(e,t)},Object.defineProperty(ak.prototype,"m_positionWorldOnB",{get:ak.prototype.get_m_positionWorldOnB,set:ak.prototype.set_m_positionWorldOnB}),ak.prototype.get_m_positionWorldOnA=ak.prototype.get_m_positionWorldOnA=function(){var t=this.ptr;return yS(Fd(t),VS)},ak.prototype.set_m_positionWorldOnA=ak.prototype.set_m_positionWorldOnA=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Md(e,t)},Object.defineProperty(ak.prototype,"m_positionWorldOnA",{get:ak.prototype.get_m_positionWorldOnA,set:ak.prototype.set_m_positionWorldOnA}),ak.prototype.get_m_normalWorldOnB=ak.prototype.get_m_normalWorldOnB=function(){var t=this.ptr;return yS(Wd(t),VS)},ak.prototype.set_m_normalWorldOnB=ak.prototype.set_m_normalWorldOnB=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pd(e,t)},Object.defineProperty(ak.prototype,"m_normalWorldOnB",{get:ak.prototype.get_m_normalWorldOnB,set:ak.prototype.set_m_normalWorldOnB}),ak.prototype.__destroy__=ak.prototype.__destroy__=function(){var t=this.ptr;wd(t)},lk.prototype=Object.create(jS.prototype),lk.prototype.constructor=lk,lk.prototype.__class__=lk,lk.__cache__={},i.btPoint2PointConstraint=lk,lk.prototype.setPivotA=lk.prototype.setPivotA=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Qb(e,t)},lk.prototype.setPivotB=lk.prototype.setPivotB=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Eb(e,t)},lk.prototype.getPivotInA=lk.prototype.getPivotInA=function(){var t=this.ptr;return yS(Mb(t),VS)},lk.prototype.getPivotInB=lk.prototype.getPivotInB=function(){var t=this.ptr;return yS(Vb(t),VS)},lk.prototype.enableFeedback=lk.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ob(e,t)},lk.prototype.getBreakingImpulseThreshold=lk.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return Tb(t)},lk.prototype.setBreakingImpulseThreshold=lk.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Nb(e,t)},lk.prototype.getParam=lk.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Pb(i,t,e)},lk.prototype.setParam=lk.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Lb(n,t,e,i)},lk.prototype.get_m_setting=lk.prototype.get_m_setting=function(){var t=this.ptr;return yS(Gb(t),aw)},lk.prototype.set_m_setting=lk.prototype.set_m_setting=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Hb(e,t)},Object.defineProperty(lk.prototype,"m_setting",{get:lk.prototype.get_m_setting,set:lk.prototype.set_m_setting}),lk.prototype.__destroy__=lk.prototype.__destroy__=function(){var t=this.ptr;Wb(t)},dk.prototype=Object.create(mS.prototype),dk.prototype.constructor=dk,dk.prototype.__class__=dk,dk.__cache__={},i.btSoftBodyHelpers=dk,dk.prototype.CreateRope=dk.prototype.CreateRope=function(t,e,i,n,o){var _=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),yS(cm(_,t,e,i,n,o),Hw)},dk.prototype.CreatePatch=dk.prototype.CreatePatch=function(t,e,i,n,o,_,r,s,p){var c=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),s&&"object"==typeof s&&(s=s.ptr),p&&"object"==typeof p&&(p=p.ptr),yS(pm(c,t,e,i,n,o,_,r,s,p),Hw)},dk.prototype.CreatePatchUV=dk.prototype.CreatePatchUV=function(t,e,i,n,o,_,r,s,p,c){var a=this.ptr;return gS.prepare(),t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),s&&"object"==typeof s&&(s=s.ptr),p&&"object"==typeof p&&(p=p.ptr),"object"==typeof c&&(c=vS(c)),yS(sm(a,t,e,i,n,o,_,r,s,p,c),Hw)},dk.prototype.CreateEllipsoid=dk.prototype.CreateEllipsoid=function(t,e,i,n){var o=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),yS(om(o,t,e,i,n),Hw)},dk.prototype.CreateFromTriMesh=dk.prototype.CreateFromTriMesh=function(t,e,i,n,o){var _=this.ptr;return gS.prepare(),t&&"object"==typeof t&&(t=t.ptr),"object"==typeof e&&(e=vS(e)),"object"==typeof i&&(i=function(t){if("object"==typeof t){var e=gS.alloc(t,C);return gS.copy(t,C,e),e}return t}(i)),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),yS(rm(_,t,e,i,n,o),Hw)},dk.prototype.CreateFromConvexHull=dk.prototype.CreateFromConvexHull=function(t,e,i,n){var o=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),yS(_m(o,t,e,i,n),Hw)},dk.prototype.__destroy__=dk.prototype.__destroy__=function(){var t=this.ptr;am(t)},bk.prototype=Object.create(mS.prototype),bk.prototype.constructor=bk,bk.prototype.__class__=bk,bk.__cache__={},i.VoidPtr=bk,bk.prototype.__destroy__=bk.prototype.__destroy__=function(){var t=this.ptr;Vn(t)},Ak.prototype=Object.create(mS.prototype),Ak.prototype.constructor=Ak,Ak.prototype.__class__=Ak,Ak.__cache__={},i.btBroadphaseProxy=Ak,Ak.prototype.get_m_collisionFilterGroup=Ak.prototype.get_m_collisionFilterGroup=function(){var t=this.ptr;return eo(t)},Ak.prototype.set_m_collisionFilterGroup=Ak.prototype.set_m_collisionFilterGroup=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),no(e,t)},Object.defineProperty(Ak.prototype,"m_collisionFilterGroup",{get:Ak.prototype.get_m_collisionFilterGroup,set:Ak.prototype.set_m_collisionFilterGroup}),Ak.prototype.get_m_collisionFilterMask=Ak.prototype.get_m_collisionFilterMask=function(){var t=this.ptr;return io(t)},Ak.prototype.set_m_collisionFilterMask=Ak.prototype.set_m_collisionFilterMask=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),oo(e,t)},Object.defineProperty(Ak.prototype,"m_collisionFilterMask",{get:Ak.prototype.get_m_collisionFilterMask,set:Ak.prototype.set_m_collisionFilterMask}),Ak.prototype.__destroy__=Ak.prototype.__destroy__=function(){var t=this.ptr;to(t)},fk.prototype=Object.create(wS.prototype),fk.prototype.constructor=fk,fk.prototype.__class__=fk,fk.__cache__={},i.btBoxShape=fk,fk.prototype.setMargin=fk.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),qn(e,t)},fk.prototype.getMargin=fk.prototype.getMargin=function(){var t=this.ptr;return zn(t)},fk.prototype.setLocalScaling=fk.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Kn(e,t)},fk.prototype.getLocalScaling=fk.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Xn(t),VS)},fk.prototype.calculateLocalInertia=fk.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Jn(i,t,e)},fk.prototype.__destroy__=fk.prototype.__destroy__=function(){var t=this.ptr;Un(t)},uk.prototype=Object.create(mS.prototype),uk.prototype.constructor=uk,uk.prototype.__class__=uk,uk.__cache__={},i.btFace=uk,uk.prototype.get_m_indices=uk.prototype.get_m_indices=function(){var t=this.ptr;return yS(ia(t),Zw)},uk.prototype.set_m_indices=uk.prototype.set_m_indices=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),oa(e,t)},Object.defineProperty(uk.prototype,"m_indices",{get:uk.prototype.get_m_indices,set:uk.prototype.set_m_indices}),uk.prototype.get_m_plane=uk.prototype.get_m_plane=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),na(e,t)},uk.prototype.set_m_plane=uk.prototype.set_m_plane=function(t,e){var i=this.ptr;gS.prepare(),t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),_a(i,t,e)},Object.defineProperty(uk.prototype,"m_plane",{get:uk.prototype.get_m_plane,set:uk.prototype.set_m_plane}),uk.prototype.__destroy__=uk.prototype.__destroy__=function(){var t=this.ptr;ea(t)},mk.prototype=Object.create(BS.prototype),mk.prototype.constructor=mk,mk.prototype.__class__=mk,mk.__cache__={},i.DebugDrawer=mk,mk.prototype.drawLine=mk.prototype.drawLine=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),yi(n,t,e,i)},mk.prototype.drawContactPoint=mk.prototype.drawContactPoint=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),hi(_,t,e,i,n,o)},mk.prototype.reportErrorWarning=mk.prototype.reportErrorWarning=function(t){var e=this.ptr;gS.prepare(),t=t&&"object"==typeof t?t.ptr:CS(t),Ci(e,t)},mk.prototype.draw3dText=mk.prototype.draw3dText=function(t,e){var i=this.ptr;gS.prepare(),t&&"object"==typeof t&&(t=t.ptr),e=e&&"object"==typeof e?e.ptr:CS(e),mi(i,t,e)},mk.prototype.setDebugMode=mk.prototype.setDebugMode=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vi(e,t)},mk.prototype.getDebugMode=mk.prototype.getDebugMode=function(){var t=this.ptr;return gi(t)},mk.prototype.__destroy__=mk.prototype.__destroy__=function(){var t=this.ptr;ui(t)},hk.prototype=Object.create(IS.prototype),hk.prototype.constructor=hk,hk.prototype.__class__=hk,hk.__cache__={},i.btCapsuleShapeX=hk,hk.prototype.setMargin=hk.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Co(e,t)},hk.prototype.getMargin=hk.prototype.getMargin=function(){var t=this.ptr;return mo(t)},hk.prototype.getUpAxis=hk.prototype.getUpAxis=function(){var t=this.ptr;return yo(t)},hk.prototype.getRadius=hk.prototype.getRadius=function(){var t=this.ptr;return ho(t)},hk.prototype.getHalfHeight=hk.prototype.getHalfHeight=function(){var t=this.ptr;return fo(t)},hk.prototype.setLocalScaling=hk.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),go(e,t)},hk.prototype.getLocalScaling=hk.prototype.getLocalScaling=function(){var t=this.ptr;return yS(uo(t),VS)},hk.prototype.calculateLocalInertia=hk.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ao(i,t,e)},hk.prototype.__destroy__=hk.prototype.__destroy__=function(){var t=this.ptr;lo(t)},yk.prototype=Object.create(NS.prototype),yk.prototype.constructor=yk,yk.prototype.__class__=yk,yk.__cache__={},i.btQuaternion=yk,yk.prototype.setValue=yk.prototype.setValue=function(t,e,i,n){var o=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),gA(o,t,e,i,n)},yk.prototype.setEulerZYX=yk.prototype.setEulerZYX=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),hA(n,t,e,i)},yk.prototype.setRotation=yk.prototype.setRotation=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),yA(i,t,e)},yk.prototype.normalize=yk.prototype.normalize=function(){var t=this.ptr;lA(t)},yk.prototype.length2=yk.prototype.length2=function(){var t=this.ptr;return cA(t)},yk.prototype.length=yk.prototype.length=function(){var t=this.ptr;return aA(t)},yk.prototype.dot=yk.prototype.dot=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),oA(e,t)},yk.prototype.normalized=yk.prototype.normalized=function(){var t=this.ptr;return yS(dA(t),yk)},yk.prototype.getAxis=yk.prototype.getAxis=function(){var t=this.ptr;return yS(sA(t),VS)},yk.prototype.inverse=yk.prototype.inverse=function(){var t=this.ptr;return yS(pA(t),yk)},yk.prototype.getAngle=yk.prototype.getAngle=function(){var t=this.ptr;return rA(t)},yk.prototype.getAngleShortestPath=yk.prototype.getAngleShortestPath=function(){var t=this.ptr;return _A(t)},yk.prototype.angle=yk.prototype.angle=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),iA(e,t)},yk.prototype.angleShortestPath=yk.prototype.angleShortestPath=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),eA(e,t)},yk.prototype.op_add=yk.prototype.op_add=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(bA(e,t),yk)},yk.prototype.op_sub=yk.prototype.op_sub=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(mA(e,t),yk)},yk.prototype.op_mul=yk.prototype.op_mul=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(fA(e,t),yk)},yk.prototype.op_mulq=yk.prototype.op_mulq=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(uA(e,t),yk)},yk.prototype.op_div=yk.prototype.op_div=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(AA(e,t),yk)},yk.prototype.x=yk.prototype.x=function(){var t=this.ptr;return RA(t)},yk.prototype.y=yk.prototype.y=function(){var t=this.ptr;return jA(t)},yk.prototype.z=yk.prototype.z=function(){var t=this.ptr;return DA(t)},yk.prototype.w=yk.prototype.w=function(){var t=this.ptr;return kA(t)},yk.prototype.setX=yk.prototype.setX=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vA(e,t)},yk.prototype.setY=yk.prototype.setY=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),SA(e,t)},yk.prototype.setZ=yk.prototype.setZ=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wA(e,t)},yk.prototype.setW=yk.prototype.setW=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),CA(e,t)},yk.prototype.__destroy__=yk.prototype.__destroy__=function(){var t=this.ptr;tA(t)},gk.prototype=Object.create(IS.prototype),gk.prototype.constructor=gk,gk.prototype.__class__=gk,gk.__cache__={},i.btCapsuleShapeZ=gk,gk.prototype.setMargin=gk.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wo(e,t)},gk.prototype.getMargin=gk.prototype.getMargin=function(){var t=this.ptr;return jo(t)},gk.prototype.getUpAxis=gk.prototype.getUpAxis=function(){var t=this.ptr;return Io(t)},gk.prototype.getRadius=gk.prototype.getRadius=function(){var t=this.ptr;return Do(t)},gk.prototype.getHalfHeight=gk.prototype.getHalfHeight=function(){var t=this.ptr;return ko(t)},gk.prototype.setLocalScaling=gk.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bo(e,t)},gk.prototype.getLocalScaling=gk.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Ro(t),VS)},gk.prototype.calculateLocalInertia=gk.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),wo(i,t,e)},gk.prototype.__destroy__=gk.prototype.__destroy__=function(){var t=this.ptr;vo(t)},Ck.prototype=Object.create(mS.prototype),Ck.prototype.constructor=Ck,Ck.prototype.__class__=Ck,Ck.__cache__={},i.btContactSolverInfo=Ck,Ck.prototype.get_m_splitImpulse=Ck.prototype.get_m_splitImpulse=function(){var t=this.ptr;return!!$r(t)},Ck.prototype.set_m_splitImpulse=Ck.prototype.set_m_splitImpulse=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),is(e,t)},Object.defineProperty(Ck.prototype,"m_splitImpulse",{get:Ck.prototype.get_m_splitImpulse,set:Ck.prototype.set_m_splitImpulse}),Ck.prototype.get_m_splitImpulsePenetrationThreshold=Ck.prototype.get_m_splitImpulsePenetrationThreshold=function(){var t=this.ptr;return qr(t)},Ck.prototype.set_m_splitImpulsePenetrationThreshold=Ck.prototype.set_m_splitImpulsePenetrationThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),es(e,t)},Object.defineProperty(Ck.prototype,"m_splitImpulsePenetrationThreshold",{get:Ck.prototype.get_m_splitImpulsePenetrationThreshold,set:Ck.prototype.set_m_splitImpulsePenetrationThreshold}),Ck.prototype.get_m_numIterations=Ck.prototype.get_m_numIterations=function(){var t=this.ptr;return Kr(t)},Ck.prototype.set_m_numIterations=Ck.prototype.set_m_numIterations=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ts(e,t)},Object.defineProperty(Ck.prototype,"m_numIterations",{get:Ck.prototype.get_m_numIterations,set:Ck.prototype.set_m_numIterations}),Ck.prototype.__destroy__=Ck.prototype.__destroy__=function(){var t=this.ptr;zr(t)},vk.prototype=Object.create(ZS.prototype),vk.prototype.constructor=vk,vk.prototype.__class__=vk,vk.__cache__={},i.btGeneric6DofSpringConstraint=vk,vk.prototype.enableSpring=vk.prototype.enableSpring=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ba(i,t,e)},vk.prototype.setStiffness=vk.prototype.setStiffness=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),La(i,t,e)},vk.prototype.setDamping=vk.prototype.setDamping=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ma(i,t,e)},vk.prototype.setLinearLowerLimit=vk.prototype.setLinearLowerLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Va(e,t)},vk.prototype.setLinearUpperLimit=vk.prototype.setLinearUpperLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ga(e,t)},vk.prototype.setAngularLowerLimit=vk.prototype.setAngularLowerLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Oa(e,t)},vk.prototype.setAngularUpperLimit=vk.prototype.setAngularUpperLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ta(e,t)},vk.prototype.getFrameOffsetA=vk.prototype.getFrameOffsetA=function(){var t=this.ptr;return yS(Fa(t),nk)},vk.prototype.enableFeedback=vk.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ia(e,t)},vk.prototype.getBreakingImpulseThreshold=vk.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return Wa(t)},vk.prototype.setBreakingImpulseThreshold=vk.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pa(e,t)},vk.prototype.getParam=vk.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),xa(i,t,e)},vk.prototype.setParam=vk.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Na(n,t,e,i)},vk.prototype.__destroy__=vk.prototype.__destroy__=function(){var t=this.ptr;Ra(t)},Sk.prototype=Object.create(wS.prototype),Sk.prototype.constructor=Sk,Sk.prototype.__class__=Sk,Sk.__cache__={},i.btSphereShape=Sk,Sk.prototype.setMargin=Sk.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),jy(e,t)},Sk.prototype.getMargin=Sk.prototype.getMargin=function(){var t=this.ptr;return ky(t)},Sk.prototype.setLocalScaling=Sk.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ry(e,t)},Sk.prototype.getLocalScaling=Sk.prototype.getLocalScaling=function(){var t=this.ptr;return yS(wy(t),VS)},Sk.prototype.calculateLocalInertia=Sk.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Sy(i,t,e)},Sk.prototype.__destroy__=Sk.prototype.__destroy__=function(){var t=this.ptr;Cy(t)},wk.prototype=Object.create(mS.prototype),wk.prototype.constructor=wk,wk.prototype.__class__=wk,wk.__cache__={},i.LocalConvexResult=wk,wk.prototype.get_m_hitCollisionObject=wk.prototype.get_m_hitCollisionObject=function(){var t=this.ptr;return yS(ki(t),kS)},wk.prototype.set_m_hitCollisionObject=wk.prototype.set_m_hitCollisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bi(e,t)},Object.defineProperty(wk.prototype,"m_hitCollisionObject",{get:wk.prototype.get_m_hitCollisionObject,set:wk.prototype.set_m_hitCollisionObject}),wk.prototype.get_m_localShapeInfo=wk.prototype.get_m_localShapeInfo=function(){var t=this.ptr;return yS(Ii(t),lw)},wk.prototype.set_m_localShapeInfo=wk.prototype.set_m_localShapeInfo=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Oi(e,t)},Object.defineProperty(wk.prototype,"m_localShapeInfo",{get:wk.prototype.get_m_localShapeInfo,set:wk.prototype.set_m_localShapeInfo}),wk.prototype.get_m_hitNormalLocal=wk.prototype.get_m_hitNormalLocal=function(){var t=this.ptr;return yS(ji(t),VS)},wk.prototype.set_m_hitNormalLocal=wk.prototype.set_m_hitNormalLocal=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fi(e,t)},Object.defineProperty(wk.prototype,"m_hitNormalLocal",{get:wk.prototype.get_m_hitNormalLocal,set:wk.prototype.set_m_hitNormalLocal}),wk.prototype.get_m_hitPointLocal=wk.prototype.get_m_hitPointLocal=function(){var t=this.ptr;return yS(Di(t),VS)},wk.prototype.set_m_hitPointLocal=wk.prototype.set_m_hitPointLocal=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xi(e,t)},Object.defineProperty(wk.prototype,"m_hitPointLocal",{get:wk.prototype.get_m_hitPointLocal,set:wk.prototype.set_m_hitPointLocal}),wk.prototype.get_m_hitFraction=wk.prototype.get_m_hitFraction=function(){var t=this.ptr;return Ri(t)},wk.prototype.set_m_hitFraction=wk.prototype.set_m_hitFraction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wi(e,t)},Object.defineProperty(wk.prototype,"m_hitFraction",{get:wk.prototype.get_m_hitFraction,set:wk.prototype.set_m_hitFraction}),wk.prototype.__destroy__=wk.prototype.__destroy__=function(){var t=this.ptr;wi(t)},function(){function t(){i.BT_CONSTRAINT_ERP=oS(),i.BT_CONSTRAINT_STOP_ERP=rS(),i.BT_CONSTRAINT_CFM=nS(),i.BT_CONSTRAINT_STOP_CFM=_S(),i.PHY_FLOAT=$v(),i.PHY_DOUBLE=Kv(),i.PHY_INTEGER=tS(),i.PHY_SHORT=eS(),i.PHY_FIXEDPOINT88=qv(),i.PHY_UCHAR=iS()}var e;V?t():(e=t,P.unshift(e))}(),this.Ammo=i,t});const j=R,D=new(y().add("ammo",j)),I=y().add("AmmoClass",D);function B(t){v.call(this,t),this.addType(b().BallJoint),this._anchorPoint.setUnit("length"),this.joint=null,this.outputs=new Set,this.localAnchorPoint1=new(k()),this.localAnchorPoint2=new(k())}var W,F;Object.assign(Object.setPrototypeOf(B.prototype,v.prototype),{initialize(){v.prototype.initialize.call(this),this._anchorPoint.addInterest("set_anchorPoint__",this)},addJoint(){this.getCollection()&&this.getBody1()&&this.getBody2()&&this.getBody1().getCollection()===this.getCollection()&&this.getBody2().getCollection()===this.getCollection()&&(this.joint=new I.btPoint2PointConstraint(this.getBody1().getRigidBody(),this.getBody2().getRigidBody(),new I.btVector3,new I.btVector3),this.set_anchorPoint__(),this.getCollection().getDynamicsWorld().addConstraint(this.joint,!0))},removeJoint(){this.joint&&(this.getCollection()?.getDynamicsWorld().removeConstraint(this.joint),I.destroy(this.joint),this.joint=null)},set_forceOutput__(){this.outputs.clear();for(var t=0,e=this._forceOutput.length;t1)for(var e=this.geometryNode.getType(),i=e.length-1;i>=0;--i){switch(e[i]){case b().Box:var n=this.geometryNode._size.getValue();this.collisionShape=new I.btBoxShape(new I.btVector3(n.x/2,n.y/2,n.z/2));break;case b().Cone:var o=this.geometryNode;o._side.getValue()&&o._bottom.getValue()?this.collisionShape=new I.btConeShape(o._bottomRadius.getValue(),o._height.getValue()):this.collisionShape=this.createConcaveGeometry();break;case b().Cylinder:var _=this.geometryNode,r=_._radius.getValue(),s=.5*_._height.getValue();_._side.getValue()&&_._top.getValue()&&_._bottom.getValue()?this.collisionShape=new I.btCylinderShape(new I.btVector3(r,s,r)):this.collisionShape=this.createConcaveGeometry();break;case b().ElevationGrid:var p=this.geometryNode;if(p._xDimension.getValue()>1&&p._zDimension.getValue()>1){for(var c=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,l=this.heightField=I._malloc(4*p._xDimension.getValue()*p._zDimension.getValue()),d=0,A=0,f=p._height.length;A>>2]=p._height[A],d+=4}this.collisionShape=new I.btHeightfieldTerrainShape(p._xDimension.getValue(),p._zDimension.getValue(),l,1,c,a,1,"PHY_FLOAT",!0),this.collisionShape.setLocalScaling(new I.btVector3(p._xSpacing.getValue(),1,p._zSpacing.getValue())),this.setOffset(p._xSpacing.getValue()*(p._xDimension.getValue()-1)*.5,.5*(c+a),p._zSpacing.getValue()*(p._zDimension.getValue()-1)*.5)}break;case b().Sphere:var m=this.geometryNode;this.collisionShape=new I.btSphereShape(m._radius.getValue());break;case b().X3DGeometryNode:this.convex?this.collisionShape=this.createConvexGeometry():this.collisionShape=this.createConcaveGeometry();break;default:continue}break}else this.collisionShape=null;this.collisionShape&&this.getCompoundShape().addChildShape(this.getLocalTransform(),this.collisionShape),this.getCompoundShape().setLocalScaling(K),this.addNodeEvent(),this._compoundShape_changed=this.getBrowser().getCurrentTime()}),removeCollidableGeometry(){this.collisionShape&&(this.getCompoundShape().removeChildShapeByIndex(0),I.destroy(this.collisionShape),this.collisionShape=null),this.heightField&&(I._free(this.heightField),this.heightField=null),this.triangleMesh&&(I.destroy(this.triangleMesh),this.triangleMesh=null)},traverse(t,e){switch(t){case U().POINTER:case U().CAMERA:case U().SHADOW:{const i=e.getModelViewMatrix();return i.push(),i.multLeft(this.getMatrix()),this.visibleNode?.traverse(t,e),void i.pop()}case U().PICKING:{const i=this.getBrowser().getPickingHierarchy(),n=e.getModelViewMatrix();return i.push(this),n.push(),n.multLeft(this.getMatrix()),this.visibleNode?.traverse(t,e),n.pop(),void i.pop()}case U().COLLISION:{const i=e.getModelViewMatrix();return i.push(),i.multLeft(this.getMatrix()),this.visibleNode?.traverse(t,e),void i.pop()}case U().DISPLAY:{const i=e.getModelViewMatrix();return i.push(),i.multLeft(this.getMatrix()),this.visibleNode?.traverse(t,e),this.boundedObject?.displayBBox(t,e),void i.pop()}}},dispose(){this.removeCollidableGeometry(),H.prototype.dispose.call(this)}}),Object.defineProperties(z,{...l().getStaticProperties("CollidableShape","RigidBodyPhysics",1,"children","3.2"),fieldDefinitions:{value:new(c())([new(s())(b().inputOutput,"metadata",new(_().SFNode)),new(s())(b().inputOutput,"enabled",new(_().SFBool)(!0)),new(s())(b().inputOutput,"translation",new(_().SFVec3f)),new(s())(b().inputOutput,"rotation",new(_().SFRotation)),new(s())(b().inputOutput,"visible",new(_().SFBool)(!0)),new(s())(b().inputOutput,"bboxDisplay",new(_().SFBool)),new(s())(b().initializeOnly,"bboxSize",new(_().SFVec3f)(-1,-1,-1)),new(s())(b().initializeOnly,"bboxCenter",new(_().SFVec3f)),new(s())(b().initializeOnly,"shape",new(_().SFNode))]),enumerable:!0}});const nt=z,ot=y().add("CollidableShape",nt);let _t=0;const rt={BOUNCE:_t++,USER_FRICTION:_t++,FRICTION_COEFFICIENT_2:_t++,ERROR_REDUCTION:_t++,CONSTANT_FORCE:_t++,SPEED_1:_t++,SPEED_2:_t++,SLIP_1:_t++,SLIP_2:_t++},st=y().add("AppliedParametersType",rt);function pt(t){P().call(this,t),L().call(this,t),this.addType(b().CollisionCollection),this._minBounceSpeed.setUnit("speed"),this._surfaceSpeed.setUnit("speed"),this._softnessConstantForceMix.setUnit("force"),this.appliedParameters=new Set,this.collidableNodes=[],this.collisionSpaceNodes=[]}var ct;Object.assign(Object.setPrototypeOf(pt.prototype,P().prototype),L().prototype,{initialize(){P().prototype.initialize.call(this),L().prototype.initialize.call(this),this._appliedParameters.addInterest("set_appliedParameters__",this),this._collidables.addInterest("set_collidables__",this),this.set_appliedParameters__(),this.set_collidables__()},getBBox:(t,e)=>t.set(),getAppliedParameters(){return this.appliedParameters},getCollidables(){return this.collidableNodes},set_appliedParameters__:(ct=new Map([["BOUNCE",st.BOUNCE],["USER_FRICTION",st.USER_FRICTION],["FRICTION_COEFFICIENT-2",st.FRICTION_COEFFICIENT_2],["ERROR_REDUCTION",st.ERROR_REDUCTION],["CONSTANT_FORCE",st.CONSTANT_FORCE],["SPEED-1",st.SPEED_1],["SPEED-2",st.SPEED_2],["SLIP-1",st.SLIP_1],["SLIP-2",st.SLIP_2]]),function(){this.appliedParameters.clear();for(var t=0,e=this._appliedParameters.length;t{for(var i=e.getDispatcher(),n=i.getNumManifolds(),o=0;othis._intersections[i++]=t)),this._intersections.length=i),ut.length&&(i=0,ut.forEach((t=>this._contacts[i++]=t)),this._contacts.length=i)}),getContact(t){const e=this.contactCache[t];if(e)return e;{const e=this.contactCache[t]=this.getExecutionContext().createNode("Contact",!1);return e.setup(),e}}}),Object.defineProperties(gt,{...l().getStaticProperties("CollisionSensor","RigidBodyPhysics",1,"children","3.2"),fieldDefinitions:{value:new(c())([new(s())(b().inputOutput,"metadata",new(_().SFNode)),new(s())(b().inputOutput,"description",new(_().SFString)),new(s())(b().inputOutput,"enabled",new(_().SFBool)(!0)),new(s())(b().outputOnly,"isActive",new(_().SFBool)),new(s())(b().outputOnly,"intersections",new(_().MFNode)),new(s())(b().outputOnly,"contacts",new(_().MFNode)),new(s())(b().inputOutput,"collider",new(_().SFNode))]),enumerable:!0}});const Ct=gt,vt=y().add("CollisionSensor",Ct);function St(t){l().call(this,t),L().call(this,t),this.addType(b().X3DNBodyCollisionSpaceNode)}Object.assign(Object.setPrototypeOf(St.prototype,l().prototype),L().prototype,{initialize(){l().prototype.initialize.call(this),L().prototype.initialize.call(this)},dispose(){L().prototype.dispose.call(this),l().prototype.dispose.call(this)}}),Object.defineProperties(St,l().getStaticProperties("X3DNBodyCollisionSpaceNode","RigidBodyPhysics",1));const wt=St,kt=y().add("X3DNBodyCollisionSpaceNode",wt);function Rt(t){kt.call(this,t),this.addType(b().CollisionSpace),this.collidableNodes=[],this.collisionSpaceNodes=[]}Object.assign(Object.setPrototypeOf(Rt.prototype,kt.prototype),{initialize(){kt.prototype.initialize.call(this),this._collidables.addInterest("set_collidables__",this),this.set_collidables__()},getBBox(t,e){return this._bboxSize.getValue().equals(this.getDefaultBBoxSize())?X3DBoundedObject.getBBox(this.collidableNodes,t,e):t},getCollidables(){return this.collidableNodes},set_collidables__(){for(var t=this.collisionSpaceNodes,e=0,i=t.length;e{var t=new(k()),e=new(k()),i=new(k()),n=new(k());return function(){this.getCollection()&&this.getBody1()&&this.getBody2()&&this.getBody1().getCollection()===this.getCollection()&&this.getBody2().getCollection()===this.getCollection()&&(t.assign(this._anchorPoint.getValue()),e.assign(this._anchorPoint.getValue()),i.assign(this._axis1.getValue()),n.assign(this._axis2.getValue()),this.getInitialInverseMatrix1().multVecMatrix(t),this.getInitialInverseMatrix2().multVecMatrix(e),this.getInitialInverseMatrix1().multDirMatrix(i).normalize(),this.getInitialInverseMatrix2().multDirMatrix(n).normalize(),this.joint=new I.btHingeConstraint(this.getBody1().getRigidBody(),this.getBody2().getRigidBody(),new I.btVector3(t.x,t.y,t.z),new I.btVector3(e.x,e.y,e.z),new I.btVector3(i.x,i.y,i.z),new I.btVector3(n.x,n.y,n.z),!1),this.getCollection().getDynamicsWorld().addConstraint(this.joint,!0))}})(),removeJoint(){this.joint&&(this.getCollection()?.getDynamicsWorld().removeConstraint(this.joint),I.destroy(this.joint),this.joint=null)},set_forceOutput__(){this.outputs.clear();for(var t=0,e=this._forceOutput.length;t{var t=new(k()),e=new(k()),i=new(m()),n=new(xt());return function(){if(this.outputs.has("body1AnchorPoint")&&(this._body1AnchorPoint=this.getBody1().getMatrix().multVecMatrix(this.getInitialInverseMatrix1().multVecMatrix(t.assign(this.localAnchorPoint1)))),this.outputs.has("body1Axis")&&(this._body1Axis=this.getInitialInverseMatrix1().multDirMatrix(this.getBody1().getMatrix().multDirMatrix(e.assign(this.localAxis1))).normalize()),this.outputs.has("hinge1Angle")){var o=this._hinge1Angle.getValue();i.assign(this.getInitialInverseMatrix1()).multRight(this.getBody1().getMatrix()),i.get(null,n),this._hinge1Angle=n.angle,this.outputs.has("angleRate")&&(this._hinge1AngleRate=(this._hinge1Angle.getValue()-o)*this.getBrowser().getCurrentFrameRate())}}})(),update2:(()=>{var t=new(k()),e=new(k()),i=new(m()),n=new(xt());return function(){if(this.outputs.has("body2AnchorPoint")&&(this._body2AnchorPoint=this.getBody2().getMatrix().multVecMatrix(this.getInitialInverseMatrix2().multVecMatrix(t.assign(this.localAnchorPoint2)))),this.outputs.has("body2Axis")&&(this._body2Axis=this.getInitialInverseMatrix2().multDirMatrix(this.getBody2().getMatrix().multDirMatrix(e.assign(this.localAxis2))).normalize()),this.outputs.has("hinge2Angle")){var o=this._hinge2Angle.getValue();i.assign(this.getInitialInverseMatrix2()).multRight(this.getBody2().getMatrix()),i.get(null,n),this._hinge2Angle=n.angle,this.outputs.has("angleRate")&&(this._hinge2AngleRate=(this._hinge2Angle.getValue()-o)*this.getBrowser().getCurrentFrameRate())}}})()}),Object.defineProperties(Ot,{...l().getStaticProperties("DoubleAxisHingeJoint","RigidBodyPhysics",2,"joints","3.2"),fieldDefinitions:{value:new(c())([new(s())(b().inputOutput,"metadata",new(_().SFNode)),new(s())(b().inputOutput,"forceOutput",new(_().MFString)("NONE")),new(s())(b().inputOutput,"anchorPoint",new(_().SFVec3f)),new(s())(b().inputOutput,"axis1",new(_().SFVec3f)(1,0,0)),new(s())(b().inputOutput,"axis2",new(_().SFVec3f)(0,1,0)),new(s())(b().inputOutput,"minAngle1",new(_().SFFloat)(-3.141592653)),new(s())(b().inputOutput,"maxAngle1",new(_().SFFloat)(3.141592653)),new(s())(b().inputOutput,"desiredAngularVelocity1",new(_().SFFloat)),new(s())(b().inputOutput,"desiredAngularVelocity2",new(_().SFFloat)),new(s())(b().inputOutput,"maxTorque1",new(_().SFFloat)),new(s())(b().inputOutput,"maxTorque2",new(_().SFFloat)),new(s())(b().inputOutput,"stop1Bounce",new(_().SFFloat)),new(s())(b().inputOutput,"stop1ConstantForceMix",new(_().SFFloat)(.001)),new(s())(b().inputOutput,"stop1ErrorCorrection",new(_().SFFloat)(.8)),new(s())(b().inputOutput,"suspensionForce",new(_().SFFloat)),new(s())(b().inputOutput,"suspensionErrorCorrection",new(_().SFFloat)(.8)),new(s())(b().outputOnly,"body1AnchorPoint",new(_().SFVec3f)),new(s())(b().outputOnly,"body2AnchorPoint",new(_().SFVec3f)),new(s())(b().outputOnly,"body1Axis",new(_().SFVec3f)),new(s())(b().outputOnly,"body2Axis",new(_().SFVec3f)),new(s())(b().outputOnly,"hinge1Angle",new(_().SFFloat)),new(s())(b().outputOnly,"hinge2Angle",new(_().SFFloat)),new(s())(b().outputOnly,"hinge1AngleRate",new(_().SFFloat)),new(s())(b().outputOnly,"hinge2AngleRate",new(_().SFFloat)),new(s())(b().inputOutput,"body1",new(_().SFNode)),new(s())(b().inputOutput,"body2",new(_().SFNode))]),enumerable:!0}});const Tt=Ot,Pt=y().add("DoubleAxisHingeJoint",Tt);function Mt(t){v.call(this,t),this.addType(b().MotorJoint),this._axis1Angle.setUnit("angle"),this._axis2Angle.setUnit("angle"),this._axis3Angle.setUnit("angle"),this._motor1Angle.setUnit("angle"),this._motor2Angle.setUnit("angle"),this._motor3Angle.setUnit("angle"),this._motor1AngleRate.setUnit("angularRate"),this._motor2AngleRate.setUnit("angularRate"),this._motor3AngleRate.setUnit("angularRate"),t.getSpecificationVersion()<=3.3&&(this._motor1Axis=new(k()),this._motor2Axis=new(k()),this._motor3Axis=new(k()))}Object.setPrototypeOf(Mt.prototype,v.prototype),Object.defineProperties(Mt,{...l().getStaticProperties("MotorJoint","RigidBodyPhysics",2,"joints","3.2"),fieldDefinitions:{value:new(c())([new(s())(b().inputOutput,"metadata",new(_().SFNode)),new(s())(b().initializeOnly,"autoCalc",new(_().SFBool)),new(s())(b().inputOutput,"forceOutput",new(_().MFString)("NONE")),new(s())(b().inputOutput,"axis1Angle",new(_().SFFloat)),new(s())(b().inputOutput,"axis2Angle",new(_().SFFloat)),new(s())(b().inputOutput,"axis3Angle",new(_().SFFloat)),new(s())(b().inputOutput,"axis1Torque",new(_().SFFloat)),new(s())(b().inputOutput,"axis2Torque",new(_().SFFloat)),new(s())(b().inputOutput,"axis3Torque",new(_().SFFloat)),new(s())(b().inputOutput,"enabledAxes",new(_().SFInt32)(1)),new(s())(b().inputOutput,"motor1Axis",new(_().SFVec3f)(1,0,0)),new(s())(b().inputOutput,"motor2Axis",new(_().SFVec3f)(0,1,0)),new(s())(b().inputOutput,"motor3Axis",new(_().SFVec3f)(0,0,1)),new(s())(b().inputOutput,"stop1Bounce",new(_().SFFloat)),new(s())(b().inputOutput,"stop2Bounce",new(_().SFFloat)),new(s())(b().inputOutput,"stop3Bounce",new(_().SFFloat)),new(s())(b().inputOutput,"stop1ErrorCorrection",new(_().SFFloat)(.8)),new(s())(b().inputOutput,"stop2ErrorCorrection",new(_().SFFloat)(.8)),new(s())(b().inputOutput,"stop3ErrorCorrection",new(_().SFFloat)(.8)),new(s())(b().outputOnly,"motor1Angle",new(_().SFFloat)),new(s())(b().outputOnly,"motor2Angle",new(_().SFFloat)),new(s())(b().outputOnly,"motor3Angle",new(_().SFFloat)),new(s())(b().outputOnly,"motor1AngleRate",new(_().SFFloat)),new(s())(b().outputOnly,"motor2AngleRate",new(_().SFFloat)),new(s())(b().outputOnly,"motor3AngleRate",new(_().SFFloat)),new(s())(b().inputOutput,"body1",new(_().SFNode)),new(s())(b().inputOutput,"body2",new(_().SFNode))]),enumerable:!0}});const Vt=Mt,Gt=y().add("MotorJoint",Vt),Nt=t.Quaternion;var Lt,Qt,Et,Ht,Zt,Ut,Yt,Jt,Xt,zt,Kt,qt,$t=n.n(Nt);function te(t){l().call(this,t),L().call(this,t),this.addType(b().RigidBody),this.addChildObjects(b().inputOutput,"collection",new(_().SFNode),b().inputOutput,"transform",new(_().SFTime),b().inputOutput,"otherGeometry",new(_().MFNode)),this._position.setUnit("length"),this._linearVelocity.setUnit("speed"),this._angularVelocity.setUnit("angularRate"),this._mass.setUnit("mass"),this._forces.setUnit("force"),this._torques.setUnit("force"),this._disableLinearSpeed.setUnit("speed"),this._disableAngularSpeed.setUnit("angularRate"),this.compoundShape=new I.btCompoundShape,this.motionState=new I.btDefaultMotionState,this.constructionInfo=new I.btRigidBodyConstructionInfo(0,this.motionState,this.compoundShape),this.rigidBody=new I.btRigidBody(this.constructionInfo),this.geometryNodes=[],this.otherGeometryNodes=[],this.matrix=new(m()),this.force=new(k()),this.torque=new(k())}Object.assign(Object.setPrototypeOf(te.prototype,l().prototype),L().prototype,{initialize(){l().prototype.initialize.call(this),L().prototype.initialize.call(this),this._linearVelocity.addInterest("set_linearVelocity__",this),this._angularVelocity.addInterest("set_angularVelocity__",this),this._useFiniteRotation.addInterest("set_finiteRotationAxis__",this),this._finiteRotationAxis.addInterest("set_finiteRotationAxis__",this),this._autoDamp.addInterest("set_damping__",this),this._linearDampingFactor.addInterest("set_damping__",this),this._angularDampingFactor.addInterest("set_damping__",this),this._forces.addInterest("set_forces__",this),this._torques.addInterest("set_torques__",this),this._disableTime.addInterest("set_disable__",this),this._disableTime.addInterest("set_disable__",this),this._disableLinearSpeed.addInterest("set_disable__",this),this._disableAngularSpeed.addInterest("set_disable__",this),this._geometry.addInterest("set_geometry__",this),this._otherGeometry.addInterest("set_geometry__",this),this._fixed.addInterest("set_massProps__",this),this._mass.addInterest("set_massProps__",this),this._inertia.addInterest("set_massProps__",this),this._transform.addInterest("set_transform__",this),this.set_forces__(),this.set_torques__(),this.set_geometry__()},getBBox:(t,e)=>t.set(),setCollection(t){this._collection=t},getCollection(){return this._collection.getValue()},getRigidBody(){return this.rigidBody},getMatrix(){return this.matrix},set_position__(){for(var t=0,e=this.geometryNodes.length;t{var t=new I.btVector3(0,0,0),e=new I.btTransform,i=new(m()),n=new I.btTransform,o=new I.btVector3(0,0,0);return function(){var _=this.matrix;_.set(this._position.getValue(),this._orientation.getValue()),t.setValue(_[12],_[13],_[14]),e.getBasis().setValue(_[0],_[4],_[8],_[1],_[5],_[9],_[2],_[6],_[10]),e.setOrigin(t),i.assign(_),i.inverse(),o.setValue(i[12],i[13],i[14]),n.getBasis().setValue(i[0],i[4],i[8],i[1],i[5],i[9],i[2],i[6],i[10]),n.setOrigin(o);for(var r=this.compoundShape,s=0,p=this.compoundShape.getNumChildShapes();s=0;--e)t.removeChildShapeByIndex(e);e=0;for(var i=this.geometryNodes.length;e{var t=new I.btTransform,e=new(k()),i=new($t()),n=new(xt()),o=new(k()),_=new(k());return function(){this.motionState.getWorldTransform(t);var r=t.getOrigin(),s=t.getRotation(),p=this.rigidBody.getLinearVelocity(),c=this.rigidBody.getAngularVelocity();i.set(s.x(),s.y(),s.z(),s.w()),this._position=e.set(r.x(),r.y(),r.z()),this._orientation=n.setQuaternion(i),this._linearVelocity=o.set(p.x(),p.y(),p.z()),this._angularVelocity=_.set(c.x(),c.y(),c.z())}})(),dispose(){I.destroy(this.rigidBody),I.destroy(this.constructionInfo),I.destroy(this.motionState),I.destroy(this.compoundShape),L().prototype.dispose.call(this),l().prototype.dispose.call(this)}}),Object.defineProperties(te,{...l().getStaticProperties("RigidBody","RigidBodyPhysics",2,"bodies","3.2"),fieldDefinitions:{value:new(c())([new(s())(b().inputOutput,"metadata",new(_().SFNode)),new(s())(b().inputOutput,"enabled",new(_().SFBool)(!0)),new(s())(b().inputOutput,"fixed",new(_().SFBool)),new(s())(b().inputOutput,"position",new(_().SFVec3f)),new(s())(b().inputOutput,"orientation",new(_().SFRotation)),new(s())(b().inputOutput,"linearVelocity",new(_().SFVec3f)),new(s())(b().inputOutput,"angularVelocity",new(_().SFVec3f)),new(s())(b().inputOutput,"useFiniteRotation",new(_().SFBool)),new(s())(b().inputOutput,"finiteRotationAxis",new(_().SFVec3f)(0,1,0)),new(s())(b().inputOutput,"autoDamp",new(_().SFBool)),new(s())(b().inputOutput,"linearDampingFactor",new(_().SFFloat)(.001)),new(s())(b().inputOutput,"angularDampingFactor",new(_().SFFloat)(.001)),new(s())(b().inputOutput,"mass",new(_().SFFloat)(1)),new(s())(b().inputOutput,"centerOfMass",new(_().SFVec3f)),new(s())(b().inputOutput,"massDensityModel",new(_().SFNode)),new(s())(b().inputOutput,"useGlobalGravity",new(_().SFBool)(!0)),new(s())(b().inputOutput,"forces",new(_().MFVec3f)),new(s())(b().inputOutput,"torques",new(_().MFVec3f)),new(s())(b().inputOutput,"inertia",new(_().SFMatrix3f)),new(s())(b().inputOutput,"autoDisable",new(_().SFBool)),new(s())(b().inputOutput,"disableTime",new(_().SFTime)),new(s())(b().inputOutput,"disableLinearSpeed",new(_().SFFloat)),new(s())(b().inputOutput,"disableAngularSpeed",new(_().SFFloat)),new(s())(b().inputOutput,"geometry",new(_().MFNode)),new(s())(b().inputOutput,"visible",new(_().SFBool)(!0)),new(s())(b().inputOutput,"bboxDisplay",new(_().SFBool)),new(s())(b().initializeOnly,"bboxSize",new(_().SFVec3f)(-1,-1,-1)),new(s())(b().initializeOnly,"bboxCenter",new(_().SFVec3f))]),enumerable:!0}});const ee=te,ie=y().add("RigidBody",ee);function ne(t){P().call(this,t),L().call(this,t),this.addType(b().RigidBodyCollection),this._gravity.setUnit("acceleration"),this._constantForceMix.setUnit("force"),this._maxCorrectionSpeed.setUnit("speed"),this._contactSurfaceThickness.setUnit("length"),this._disableLinearSpeed.setUnit("length"),this._disableAngularSpeed.setUnit("angularRate"),this.broadphase=new I.btDbvtBroadphase,this.collisionConfiguration=new I.btDefaultCollisionConfiguration,this.dispatcher=new I.btCollisionDispatcher(this.collisionConfiguration),this.solver=new I.btSequentialImpulseConstraintSolver,this.dynamicsWorld=new I.btDiscreteDynamicsWorld(this.dispatcher,this.broadphase,this.solver,this.collisionConfiguration),this.deltaTime=0,this.colliderNode=null,this.bodyNodes=[],this.otherBodyNodes=[],this.rigidBodies=[],this.jointNodes=[],this.otherJointNodes=[]}var oe;Object.assign(Object.setPrototypeOf(ne.prototype,P().prototype),L().prototype,{initialize(){P().prototype.initialize.call(this),L().prototype.initialize.call(this),this.getLive().addInterest("set_enabled__",this),this._enabled.addInterest("set_enabled__",this),this._set_contacts.addInterest("set_contacts__",this),this._gravity.addInterest("set_gravity__",this),this._contactSurfaceThickness.addInterest("set_contactSurfaceThickness__",this),this._collider.addInterest("set_collider__",this),this._bodies.addInterest("set_bodies__",this),this._joints.addInterest("set_joints__",this),this.set_enabled__(),this.set_gravity__(),this.set_collider__(),this.set_bodies__()},getBBox:(t,e)=>t.set(),getDynamicsWorld(){return this.dynamicsWorld},getTimeStep(){var t=1/Math.max(10,this.getBrowser().getCurrentFrameRate());return this.deltaTime=(14*this.deltaTime+t)/15},set_enabled__(){this.getLive().getValue()&&this._enabled.getValue()?this.getBrowser().sensorEvents().addInterest("update",this):this.getBrowser().sensorEvents().removeInterest("update",this)},set_contacts__(){},set_gravity__:(oe=new I.btVector3(0,0,0),function(){oe.setValue(this._gravity.x,this._gravity.y,this._gravity.z),this.dynamicsWorld.setGravity(oe)}),set_contactSurfaceThickness__(){for(var t=0,e=this.bodyNodes.length;t=t._minBounceSpeed.getValue()?o.setRestitution(t._bounce.getValue()):o.setRestitution(0)}else for(i=0,n=e.length;i{var t=new(k());return function(){this.outputs.has("body1AnchorPoint")&&(this._body1AnchorPoint=this.getBody1().getMatrix().multVecMatrix(this.getInitialInverseMatrix1().multVecMatrix(t.assign(this.localAnchorPoint1))))}})(),update2:(()=>{var t=new(k()),e=new(m()),i=new(xt());return function(){if(this.outputs.has("body2AnchorPoint")&&(this._body2AnchorPoint=this.getBody2().getMatrix().multVecMatrix(this.getInitialInverseMatrix2().multVecMatrix(t.assign(this.localAnchorPoint2)))),this.outputs.has("angle")){var n=this._angle.getValue();e.assign(this.getInitialInverseMatrix2()).multRight(this.getBody2().getMatrix()),e.get(null,i),this._angle=i.angle,this.outputs.has("angleRate")&&(this._angleRate=(this._angle.getValue()-n)*this.getBrowser().getCurrentFrameRate())}}})()}),Object.defineProperties(se,{...l().getStaticProperties("SingleAxisHingeJoint","RigidBodyPhysics",2,"joints","3.2"),fieldDefinitions:{value:new(c())([new(s())(b().inputOutput,"metadata",new(_().SFNode)),new(s())(b().inputOutput,"forceOutput",new(_().MFString)("NONE")),new(s())(b().inputOutput,"anchorPoint",new(_().SFVec3f)),new(s())(b().inputOutput,"axis",new(_().SFVec3f)(0,1,0)),new(s())(b().inputOutput,"minAngle",new(_().SFFloat)(-3.141592653)),new(s())(b().inputOutput,"maxAngle",new(_().SFFloat)(3.141592653)),new(s())(b().inputOutput,"stopBounce",new(_().SFFloat)),new(s())(b().inputOutput,"stopErrorCorrection",new(_().SFFloat)(.8)),new(s())(b().outputOnly,"body1AnchorPoint",new(_().SFVec3f)),new(s())(b().outputOnly,"body2AnchorPoint",new(_().SFVec3f)),new(s())(b().outputOnly,"angle",new(_().SFFloat)),new(s())(b().outputOnly,"angleRate",new(_().SFFloat)),new(s())(b().inputOutput,"body1",new(_().SFNode)),new(s())(b().inputOutput,"body2",new(_().SFNode))]),enumerable:!0}});const ae=se,le=y().add("SingleAxisHingeJoint",ae);function de(t){v.call(this,t),this.addType(b().SliderJoint),this._minSeparation.setUnit("length"),this._maxSeparation.setUnit("length"),this._sliderForce.setUnit("force"),this._separation.setUnit("force"),this._separationRate.setUnit("speed"),this.joint=null,this.outputs=new Set}Object.assign(Object.setPrototypeOf(de.prototype,v.prototype),{initialize(){v.prototype.initialize.call(this),this._axis.addInterest("set_joint__",this),this._minSeparation.addInterest("set_separation__",this),this._maxSeparation.addInterest("set_separation__",this)},addJoint:(()=>{var t=new(xt()),e=new(m()),i=new(m()),n=new I.btVector3(0,0,0),o=new I.btTransform,_=new I.btTransform;return function(){this.getCollection()&&this.getBody1()&&this.getBody2()&&this.getBody1().getCollection()===this.getCollection()&&this.getBody2().getCollection()===this.getCollection()&&(t.setFromToVec(k().xAxis,this._axis.getValue()),e.set(this.getBody1()._position.getValue(),this.getBody1()._orientation.getValue().copy().multRight(t)),i.set(this.getBody1()._position.getValue(),this.getBody1()._orientation.getValue().copy().multRight(t)),n.setValue(e[12],e[13],e[14]),o.getBasis().setValue(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),o.setOrigin(n),n.setValue(i[12],i[13],i[14]),o.getBasis().setValue(i[0],i[4],i[8],i[1],i[5],i[9],i[2],i[6],i[10]),_.setOrigin(n),this.joint=new I.btSliderConstraint(this.getBody1().getRigidBody(),this.getBody2().getRigidBody(),o,_,!0),this.joint.setLowerAngLimit(0),this.joint.setUpperAngLimit(0),this.set_separation__(),this.getCollection().getDynamicsWorld().addConstraint(this.joint,!0))}})(),removeJoint(){this.joint&&(this.getCollection()?.getDynamicsWorld().removeConstraint(this.joint),I.destroy(this.joint),this.joint=null)},set_forceOutput__(){this.outputs.clear();for(var t=0,e=this._forceOutput.length;t{var e={447:()=>{},923:()=>{}},i={};function n(t){var o=i[t];if(void 0!==o)return o.exports;var _=i[t]={exports:{}};return e[t](_,_.exports,n),_.exports}n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),(()=>{const e=t.Components;var i=n.n(e);const o=t.Fields;var _=n.n(o);const r=t.X3DFieldDefinition;var s=n.n(r);const p=t.FieldDefinitionArray;var c=n.n(p);const a=t.X3DNode;var l=n.n(a);const d=t.X3DConstants;var b=n.n(d);const A=t.X3DCast;var f=n.n(A);const u=t.Matrix4;var m=n.n(u);const h=t.Namespace;var y=n.n(h);function g(t){l().call(this,t),this.addType(b().X3DRigidJointNode),this.addChildObjects(b().inputOutput,"collection",new(_().SFNode)),this.bodyNode1=null,this.bodyNode2=null,this.initialInverseMatrix1=new(m()),this.initialInverseMatrix2=new(m()),this.output=!1}Object.assign(Object.setPrototypeOf(g.prototype,l().prototype),{initialize(){l().prototype.initialize.call(this),this._forceOutput.addInterest("set_forceOutput__",this),this._body1.addInterest("set_body1__",this),this._body2.addInterest("set_body2__",this),this.set_forceOutput__(),this.set_body1__(),this.set_body2__()},setCollection(t){this.removeJoint(),this._collection=t,this.addJoint()},getCollection(){return this._collection.getValue()},getBody1(){return this.bodyNode1},getBody2(){return this.bodyNode2},getInitialInverseMatrix1(){return this.initialInverseMatrix1},getInitialInverseMatrix2(){return this.initialInverseMatrix2},setOutput(t){this.output=t,t?(this.bodyNode1&&this.bodyNode1.addInterest("update1",this),this.bodyNode2&&this.bodyNode2.addInterest("update2",this)):(this.bodyNode1&&this.bodyNode1.removeInterest("update1",this),this.bodyNode2&&this.bodyNode2.removeInterest("update2",this))},addJoint(){},removeJoint(){},set_forceOutput__(){},set_joint__(){this.removeJoint(),this.addJoint()},set_body1__(){this.removeJoint(),this.bodyNode1&&(this.bodyNode1.removeInterest("update1",this),this.bodyNode1._collection.removeInterest("set_joint__",this)),this.bodyNode1=f()(b().RigidBody,this._body1),this.bodyNode1&&(this.bodyNode1._collection.addInterest("set_joint__",this),this.initialize1(),this.addJoint(),this.setOutput(this.output))},set_body2__(){this.removeJoint(),this.bodyNode2&&(this.bodyNode2.removeInterest("update2",this),this.bodyNode2._collection.removeInterest("set_joint__",this)),this.bodyNode2=f()(b().RigidBody,this._body2),this.bodyNode2&&(this.bodyNode2._collection.addInterest("set_joint__",this),this.initialize2(),this.addJoint(),this.setOutput(this.output))},initialize1(){this.initialInverseMatrix1.set(this.bodyNode1._position.getValue(),this.bodyNode1._orientation.getValue()),this.initialInverseMatrix1.inverse()},initialize2(){this.initialInverseMatrix2.set(this.bodyNode2._position.getValue(),this.bodyNode2._orientation.getValue()),this.initialInverseMatrix2.inverse()},update1(){},update2(){},dispose(){this.removeJoint(),l().prototype.dispose.call(this)}}),Object.defineProperties(g,l().getStaticProperties("X3DRigidJointNode","RigidBodyPhysics",2));const C=g,v=y().add("X3DRigidJointNode",C),S=t.Vector3;var w,k=n.n(S),R=(w="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(t){var e,i=void 0!==(t=t||{})?t:{},o={};for(e in i)i.hasOwnProperty(e)&&(o[e]=i[e]);i.arguments=[],i.thisProgram="./this.program",i.quit=function(t,e){throw e},i.preRun=[],i.postRun=[];var _,r,s,p=!1;_="object"==typeof window,r="function"==typeof importScripts,p="object"==typeof process&&!_&&!r,s=!_&&!p&&!r;var c,a,l="";p?(l="//",i.read=function(t,e){var i;return(i=it(t))||(c||(c=n(447)),a||(a=n(923)),t=a.normalize(t),i=c.readFileSync(t)),e?i:i.toString()},i.readBinary=function(t){var e=i.read(t,!0);return e.buffer||(e=new Uint8Array(e)),m(e.buffer),e},process.argv.length>1&&(i.thisProgram=process.argv[1].replace(/\\/g,"/")),i.arguments=process.argv.slice(2),process.on("uncaughtException",(function(t){if(!(t instanceof AS))throw t})),process.on("unhandledRejection",uS),i.quit=function(t){process.exit(t)},i.inspect=function(){return"[Emscripten Module object]"}):s?("undefined"!=typeof read&&(i.read=function(t){var e=it(t);return e?tt(e):read(t)}),i.readBinary=function(t){var e;return(e=it(t))?e:"function"==typeof readbuffer?new Uint8Array(readbuffer(t)):(m("object"==typeof(e=read(t,"binary"))),e)},"undefined"!=typeof scriptArgs?i.arguments=scriptArgs:void 0!==arguments&&(i.arguments=arguments),"function"==typeof quit&&(i.quit=function(t){quit(t)})):(_||r)&&(r?l=self.location.href:document.currentScript&&(l=document.currentScript.src),w&&(l=w),l=0!==l.indexOf("blob:")?l.substr(0,l.lastIndexOf("/")+1):"",i.read=function(t){try{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText}catch(e){var i=it(t);if(i)return tt(i);throw e}},r&&(i.readBinary=function(t){try{var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}catch(e){var i=it(t);if(i)return i;throw e}}),i.readAsync=function(t,e,i){var n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="arraybuffer",n.onload=function(){if(200==n.status||0==n.status&&n.response)e(n.response);else{var o=it(t);o?e(o.buffer):i()}},n.onerror=i,n.send(null)},i.setWindowTitle=function(t){document.title=t});var d=i.print||("undefined"!=typeof console?console.log.bind(console):"undefined"!=typeof print?print:null),b=i.printErr||("undefined"!=typeof printErr?printErr:"undefined"!=typeof console&&console.warn.bind(console)||d);for(e in o)o.hasOwnProperty(e)&&(i[e]=o[e]);o=void 0,new Array(0);var A=0,f=function(t){A=t},u=!1;function m(t,e){t||uS("Assertion failed: "+e)}var h,y,g,C,v,S="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function k(t,e,i){for(var n=e+i,o=e;t[o]&&!(o>=n);)++o;if(o-e>16&&t.subarray&&S)return S.decode(t.subarray(e,o));for(var _="";e>10,56320|1023&c)}}else _+=String.fromCharCode((31&r)<<6|s)}else _+=String.fromCharCode(r)}return _}function R(t,e){return t?k(g,t,e):""}function j(t,e,i,n){if(!(n>0))return 0;for(var o=i,_=i+n-1,r=0;r=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&t.charCodeAt(++r)),s<=127){if(i>=_)break;e[i++]=s}else if(s<=2047){if(i+1>=_)break;e[i++]=192|s>>6,e[i++]=128|63&s}else if(s<=65535){if(i+2>=_)break;e[i++]=224|s>>12,e[i++]=128|s>>6&63,e[i++]=128|63&s}else{if(i+3>=_)break;e[i++]=240|s>>18,e[i++]=128|s>>12&63,e[i++]=128|s>>6&63,e[i++]=128|63&s}}return e[i]=0,i-o}function D(t,e){return t%e>0&&(t+=e-t%e),t}function I(){i.HEAP8=y=new Int8Array(h),i.HEAP16=new Int16Array(h),i.HEAP32=C=new Int32Array(h),i.HEAPU8=g=new Uint8Array(h),i.HEAPU16=new Uint16Array(h),i.HEAPU32=new Uint32Array(h),i.HEAPF32=v=new Float32Array(h),i.HEAPF64=new Float64Array(h)}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var B=27136,W=5242880,F=i.TOTAL_MEMORY||67108864;function x(t){for(;t.length>0;){var e=t.shift();if("function"!=typeof e){var n=e.func;"number"==typeof n?void 0===e.arg?i.dynCall_v(n):i.dynCall_vi(n,e.arg):n(void 0===e.arg?null:e.arg)}else e()}}F>2]=5270272;var O=[],T=[],P=[],M=[],V=!1;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(t,e){var i=65535&t,n=65535&e;return i*n+((t>>>16)*n+i*(e>>>16)<<16)|0}),Math.clz32||(Math.clz32=function(t){var e=32,i=t>>16;return i&&(e-=16,t=i),(i=t>>8)&&(e-=8,t=i),(i=t>>4)&&(e-=4,t=i),(i=t>>2)&&(e-=2,t=i),(i=t>>1)?e-2:e-t}),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Math.abs,Math.ceil,Math.floor,Math.min;var G=0,N=null,L=null;i.preloadedImages={},i.preloadedAudios={};var Q=null,E="data:application/octet-stream;base64,";function H(t){return String.prototype.startsWith?t.startsWith(E):0===t.indexOf(E)}var Z=[function(t,e,n,o){var _=i.getCache(i.DebugDrawer)[t];if(!_.hasOwnProperty("drawLine"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawLine.";_.drawLine(e,n,o)},function(t,e,n,o,_,r){var s=i.getCache(i.DebugDrawer)[t];if(!s.hasOwnProperty("drawContactPoint"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::drawContactPoint.";s.drawContactPoint(e,n,o,_,r)},function(t,e){var n=i.getCache(i.DebugDrawer)[t];if(!n.hasOwnProperty("reportErrorWarning"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::reportErrorWarning.";n.reportErrorWarning(e)},function(t,e,n){var o=i.getCache(i.DebugDrawer)[t];if(!o.hasOwnProperty("draw3dText"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::draw3dText.";o.draw3dText(e,n)},function(t,e){var n=i.getCache(i.DebugDrawer)[t];if(!n.hasOwnProperty("setDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::setDebugMode.";n.setDebugMode(e)},function(t){var e=i.getCache(i.DebugDrawer)[t];if(!e.hasOwnProperty("getDebugMode"))throw"a JSImplementation must implement all functions, you forgot DebugDrawer::getDebugMode.";return e.getDebugMode()},function(t,e,n,o,_,r,s,p){var c=i.getCache(i.ConcreteContactResultCallback)[t];if(!c.hasOwnProperty("addSingleResult"))throw"a JSImplementation must implement all functions, you forgot ConcreteContactResultCallback::addSingleResult.";return c.addSingleResult(e,n,o,_,r,s,p)}];function U(){return!!U.uncaught_exception}function Y(t){try{return sS(t)}catch(t){}}T.push({func:function(){st()}}),Q="data:application/octet-stream;base64,AAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUZsKQAAJi8AAAACAAAAAAAARCkAADQvAABsKQAAazAAABgCAAAAAAAARCkAAIswAABsKQAAtzAAADACAAAAAAAARCkAAOYwAABsKQAADjEAAEgCAAAAAAAARCkAACQxAABsKQAAQDEAAGACAAAAAAAARCkAAFcxAABEKQAAZzEAAGwpAAB8MQAAgAIAAAAAAABEKQAArjEAAGwpAADZMQAAmAIAAAAAAABEKQAA8zEAAGwpAAAGMgAAEAYAAAAAAABsKQAAMjIAAMACAAAAAAAARCkAAG0yAABsKQAAjjIAAMACAAAAAAAAbCkAAMIyAADAAgAAAAAAAGwpAADwMgAAwAIAAAAAAABsKQAA4jMAAMAFAAAAAAAAbCkAAO8zAAAYAwAAAAAAAEQpAAAPNAAARCkAACI0AABsKQAANzQAACADAAAAAAAAbCkAAFY0AABACgAAAAAAAGwpAADnNAAAaAMAAAAAAABsKQAAyTQAAMAJAAAAAAAAbCkAAAk1AAAYAwAAAAAAAGwpAAAqNQAAGAMAAAAAAABsKQAATTUAABgDAAAAAAAAbCkAAG81AABoAwAAAAAAAGwpAACRNQAAuAMAAAAAAABEKQAAsTUAAGwpAAC9NgAAuAMAAAAAAABsKQAAADYAAOAJAAAAAAAAbCkAANE1AACICQAAAAAAAEQpAADjNQAAbCkAAKA2AADgCQAAAAAAAGwpAABxNwAAYAQAAAAAAABsKQAAIjcAACgEAAAAAAAAbCkAADw3AAA4BAAAAAAAAEQpAABWNwAAbCkAAIw3AAC4AwAAAAAAAGwpAADANwAAwAUAAAAAAABsKQAAcDkAAIAEAAAAAAAAbCkAAFI4AABwAgAAAAAAAGwpAACKOQAAOAcAAAAAAABsKQAAnDkAAKAEAAAAAAAARCkAALo5AABsKQAA6DkAAOgEAAAAAAAAbCkAABg6AADoBAAAAAAAAGwpAABUOgAAuAQAAAAAAABsKQAAlToAAOgEAAAAAAAAlCkAAMo6AAAAAAAAAQAAAAAFAAACBAAARCkAAN46AABsKQAABTsAAOgEAAAAAAAAbCkAADQ7AADoBAAAAAAAAGwpAABnOwAA6AQAAAAAAABsKQAAxTsAAEgFAAAAAAAARCkAAOs7AABsKQAAADwAAGAFAAAAAAAARCkAABM8AABsKQAAJzwAAGgCAAAAAAAAbCkAAHE8AACYBQAAAAAAAGwpAABDPAAAcAIAAAAAAABsKQAAkjwAAGAFAAAAAAAAbCkAALM8AAC4BQAAAAAAAEQpAADMPAAARCkAAPY8AABsKQAACj0AAMAFAAAAAAAAbCkAABo9AADIBQAAAAAAAGwpAABjPQAAmAsAAAAAAABsKQAANT0AAAgGAAAAAAAARCkAAE89AABsKQAAez0AACAGAAAAAAAARCkAAJ09AABsKQAAuD0AAMACAAAAAAAAbCkAAOg9AADAAgAAAAAAAGwpAAATPgAAwAIAAAAAAABsKQAARj4AAMACAAAAAAAAbCkAAHc+AADAAgAAAAAAAGwpAACYPgAAwAIAAAAAAABsKQAAzD4AAMACAAAAAAAAbCkAAAE/AADAAgAAAAAAAGwpAAAuPwAAwAIAAAAAAABsKQAAZz8AAMACAAAAAAAARCkAAJk/AABsKQAA4D8AALgDAAAAAAAAbCkAALtAAABIDAAAAAAAAGwpAAACQAAA4AkAAAAAAABsKQAAoEAAAOAJAAAAAAAAbCkAAN9AAABIDAAAAAAAAGwpAAD8QAAAMAcAAAAAAABEKQAAD0EAAEQpAAC2RAAAbCkAAKZDAAAoBAAAAAAAAGwpAAB7QQAAMAIAAAAAAABsKQAAAEIAABgDAAAAAAAAbCkAAH5CAACoCwAAAAAAAGwpAAATQwAAqAsAAAAAAACUKQAAvEMAAAAAAAACAAAA4AkAAAIAAADoCQAAAgQAAGwpAADdRAAAgAIAAAAAAABsKQAAekUAALgLAAAAAAAAbCkAACtGAAC4CwAAAAAAAGwpAADqRgAAKAQAAAAAAABsKQAAHEcAADgEAAAAAAAAbCkAAAJHAAAgBwAAAAAAAGwpAAA2RwAASAwAAAAAAABsKQAAokgAAMACAAAAAAAAbCkAAIhIAABIDAAAAAAAAGwpAABbRwAAIAcAAAAAAABsKQAAdkcAADAHAAAAAAAAbCkAAANIAAAwBwAAAAAAAGwpAADjSAAASAwAAAAAAABsKQAAykgAABgDAAAAAAAAbCkAACNJAABIDAAAAAAAAGwpAAACSQAAGAMAAAAAAABsKQAAgEkAAKgJAAAAAAAAbCkAAKdJAADACQAAAAAAAGwpAAC7SQAAwAgAAAAAAABsKQAA0EkAAMAIAAAAAAAAbCkAAOZJAADACQAAAAAAAGwpAACkSgAASAkAAAAAAABsKQAA9kkAACAJAAAAAAAARCkAAGRKAABsKQAAvUoAACAJAAAAAAAAbCkAACVLAAAgCQAAAAAAAGwpAAAhTAAAQAoAAAAAAABsKQAAlksAAOAJAAAAAAAAbCkAAK5LAADoCQAAAAAAAGwpAABaTAAAQAoAAAAAAABsKQAAb0wAAMAJAAAAAAAAbCkAAIlMAACICQAAAAAAAEQpAADDTAAAbCkAANZMAACoCQAAAAAAAGwpAADmTAAAsAkAAAAAAABsKQAAG00AAJgJAAAAAAAARCkAAC9NAABEKQAARE0AAGwpAACGTQAAwAkAAAAAAABsKQAAoE0AAPAJAAAAAAAAbCkAALtNAADwCQAAAAAAAGwpAAD4TQAAmAkAAAAAAABsKQAAzU0AAOgJAAAAAAAAbCkAABROAACoCQAAAAAAAGwpAAApTgAAiAkAAAAAAABsKQAANk4AAKALAAAAAAAAbCkAAEdOAADoCQAAAAAAAGwpAACiTgAA6AkAAAAAAABsKQAAEk8AAEAKAAAAAAAAbCkAAExPAADACQAAAAAAAGwpAABoTwAAoAoAAAAAAABsKQAAhU8AAKAKAAAAAAAAbCkAAJhPAACoDAAAAAAAAGwpAADbTwAA8AoAAAAAAABsKQAAqU8AAAALAAAAAAAARCkAAMNPAABsKQAA6k8AABgLAAAAAAAAbCkAAPxPAABIAgAAAAAAAGwpAAAEUQAAGAsAAAAAAABsKQAAFVAAAAgGAAAAAAAAbCkAAINQAAAIBgAAAAAAAGwpAABlUQAAAAsAAAAAAABsKQAAI1EAABgDAAAAAAAAbCkAADhRAAAYAwAAAAAAAGwpAABPUQAAGAMAAAAAAABEKQAAeFEAAEQpAADiUQAAbCkAAPNRAADgCQAAAAAAAGwpAAAPUgAA4AkAAAAAAABsKQAA2VIAAOgLAAAAAAAAbCkAAC5SAAAwBwAAAAAAAEQpAAD9UgAAbCkAAB5TAADoCwAAAAAAAGwpAABSUwAAuAUAAAAAAABsKQAAP1MAADAHAAAAAAAAbCkAAGRTAAC4BQAAAAAAAGwpAACCUwAAQAwAAAAAAABEKQAAllMAAGwpAAC9UwAAuAMAAAAAAABsKQAA3lMAALgDAAAAAAAAbCkAAPFTAABIDAAAAAAAAGwpAAAUVAAAQAwAAAAAAABsKQAAJ1QAAEAMAAAAAAAARCkAAEBUAABEKQAAWlQAAGwpAABvVAAAuAwAAAAAAABEKQAAH1UAAGwpAADHVQAA0AwAAAAAAABsKQAAdFUAAOAMAAAAAAAARCkAAJVVAABsKQAAolUAAMAMAAAAAAAAbCkAAD5WAADQDAAAAAAAAGwpAAAaVgAA+AwAAAAAAABsKQAAYFYAAMAMAAAAAAAAAAAAAPABAAABAAAAAgAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAABAAAAAgAAAAEAAAABAAAAAQAAAAMAAAACAAAAAQAAAAIAAAADAAAAAQAAAAAAAAAAAgAAAwAAAAQAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAIAAAABAAAAAQAAAAEAAAADAAAAAgAAAAEAAAACAAAAAwAAAAEAAAAAAAAACAIAAAUAAAAGAAAAAQAAAAEAAAAAAAAAGAIAAAcAAAAIAAAAAQAAAAEAAAAAAAAAIAIAAAkAAAAKAAAAAgAAAAEAAAAAAAAAMAIAAAsAAAAMAAAAAgAAAAEAAAAAAAAAOAIAAA0AAAAOAAAAAQAAAAEAAAACAAAAAAAAAEgCAAAPAAAAEAAAAAEAAAABAAAAAQAAAAAAAABQAgAAEQAAABIAAAADAAAABAAAAAAAAABgAgAAEwAAABQAAAABAAAAAQAAAAAAAABoAgAAFQAAABYAAAABAAAAAAAAAHACAAAXAAAAGAAAAAMAAAACAAAAAAAAAIACAAAZAAAAGgAAAAMAAAABAAAAAAAAAIgCAAAbAAAAHAAAAAIAAAADAAAAAwAAAAUAAAABAAAAAgAAAB0AAAAEAAAABQAAAAYAAAAEAAAABwAAAAUAAAAGAAAAAAAAAKACAAAeAAAAHwAAAAYAAAAHAAAAAgAAAAgAAAAAAAAA6AIAACAAAAAhAAAAAgAAAAAAAADYAgAAIAAAACIAAAADAAAAAAAAAMgCAAAgAAAAIwAAAAQAAAAAAAAAsAIAACAAAAAkAAAABQAAAAAAAAD4AgAABAAAACUAAAAmAAAACAAAAAkAAAADAAAACQAAAAcAAAAAAAAACAMAACcAAAAoAAAACAAAAAoAAAACAAAABQAAAAYAAAAAAAAAKAMAACkAAAAqAAAAAQAAAAEAAAADAAAACgAAAAAAAAA4AwAAKwAAACwAAAAEAAAACQAAAAEAAAABAAAACwAAAAsAAAACAAAADAAAAAwAAAAEAAAAAgAAAA0AAAAEAAAADQAAAAUAAAAAAAAAeAMAACcAAAAtAAAACAAAAA4AAAACAAAABQAAAAYAAAAAAAAASAMAACcAAAAuAAAACAAAAA8AAAACAAAABQAAAAYAAAAAAAAAWAMAAC8AAAAwAAAABgAAAAkAAAABAAAAAQAAABAAAAAOAAAAAwAAAA8AAAAMAAAABQAAAAMAAAAQAAAABQAAAA0AAAAKAAAACwAAAAMAAAAHAAAACAAAABEAAAAMAAAAEgAAAAAAAACYAwAAJwAAADEAAAANAAAAEQAAAAIAAAAFAAAABgAAAAAAAACIAwAAJwAAADIAAAAOAAAAEQAAAAIAAAAFAAAABgAAAAAAAACoAwAAMwAAADQAAAAEAAAAAQAAABIAAAAAAAAAwAMAADUAAAA2AAAABQAAAAIAAAATAAAAAAAAANADAAA3AAAAOAAAAAkAAAAAAAAA8AMAAAYAAAAUAAAADwAAADkAAAA6AAAAAAAAAOADAAA7AAAAPAAAAAoAAAAJAAAAAQAAAAEAAAAQAAAADgAAAAQAAAATAAAADAAAAAcAAAAEAAAAEAAAAAUAAAANAAAAEAAAABEAAAADAAAACwAAAAgAAAAUAAAAEgAAAAcAAAAVAAAAFgAAAAwAAAATAAAAFwAAAA0AAAABAAAADgAAAAAAAAD4AwAAPQAAAD4AAAAPAAAAAAAAAAgEAAA/AAAAQAAAAEEAAABCAAAAFQAAABgAAABDAAAAEAAAABEAAAASAAAAFgAAAEQAAAAXAAAAAQAAABQAAAAYAAAAGQAAABoAAAAbAAAAHAAAAEUAAAAdAAAAEwAAAB4AAAAfAAAAGQAAABoAAAAIAAAACQAAABsAAABGAAAAIAAAACEAAAAiAAAAIwAAAAgAAAAJAAAARwAAACQAAAAKAAAACwAAAAwAAABIAAAAJQAAAA0AAAAAAAAAGAQAAEkAAABKAAAACgAAAAAAAABABAAASwAAAEwAAAAGAAAAAwAAACYAAAAAAAAAUAQAAAsAAABNAAAATgAAACcAAAAcAAAABgAAACgAAAAAAAAAYAQAAE8AAABQAAAAQQAAAEIAAAAVAAAAGAAAAFEAAAAQAAAAFAAAABIAAAApAAAARAAAACoAAAABAAAAFAAAABgAAAAZAAAAGgAAABsAAAAcAAAARQAAAB0AAAATAAAAHgAAAB8AAAAZAAAAGgAAAAgAAAAJAAAAHQAAAEYAAAAgAAAAIQAAACIAAAAjAAAADgAAAAkAAABHAAAAJAAAAAoAAAAPAAAADAAAAEgAAAAlAAAADQAAAAAAAABwBAAAGQAAAFIAAAAMAAAAAwAAAAAAAACQBAAAUwAAAFQAAAABAAAAAAAAAKgEAABVAAAAVgAAAFcAAAABAAAAKwAAACwAAAABAAAAAgAAAAQAAAAeAAAABwAAAAAAAAC4BAAAWAAAAFkAAABaAAAAAQAAAC0AAAAuAAAAAQAAAAMAAAAFAAAAHwAAAAgAAABbAAAAAAAAAMgEAABYAAAAXAAAAFoAAAABAAAALQAAAC8AAAABAAAAAwAAAAUAAAAgAAAACQAAAFsAAAAVAAAAAAAAANgEAABYAAAAXQAAAF4AAAABAAAAMAAAADEAAAABAAAABAAAAAYAAAAhAAAACgAAAAAAAADoBAAAWAAAAF8AAABXAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAHgAAAAcAAAAAAAAACAUAAFgAAABgAAAAVwAAAAEAAAAyAAAAMwAAAAEAAAAFAAAABwAAACIAAAALAAAAAAAAABgFAABYAAAAYQAAAGIAAAABAAAANAAAADUAAAACAAAABgAAAAgAAAAjAAAADAAAABYAAAAAAAAAKAUAAFgAAABjAAAAZAAAAAEAAAA2AAAANwAAAAEAAAAHAAAACQAAACQAAAANAAAAAAAAADgFAABlAAAAZgAAABcAAAABAAAAGAAAAGcAAAAlAAAAFQAAAAEAAAABAAAAAgAAAAEAAAACAAAAAAAAAFAFAABoAAAAaQAAAAMAAAA4AAAAEAAAABEAAAAWAAAAAAAAAGgFAAAVAAAAagAAAAYAAAAAAAAAeAUAAGsAAABsAAAABAAAADkAAAA6AAAABQAAADsAAAA8AAAAPQAAAAYAAAAmAAAAbQAAACcAAAA+AAAAAAAAAIgFAAAZAAAAbgAAAAMAAAAKAAAAAAAAAKgFAABvAAAAcAAAAAEAAAABAAAAAgAAAAAAAAACAAAAAAAAAAEAAAAAAAAAwAUAAAQAAABxAAAAcgAAACcAAAAoAAAADgAAAAkAAAAAAAAAyAUAAAQAAABzAAAAdAAAACcAAAAoAAAADgAAAAkAAAAZAAAAFwAAAAAAAADYBQAABAAAAHUAAAB2AAAAJwAAACgAAAAOAAAACQAAABoAAAAYAAAAAAAAAOgFAAB3AAAAeAAAAAcAAAAPAAAAPwAAAEAAAAAQAAAAEQAAABkAAAApAAAADQAAACoAAAArAAAALAAAAA4AAABBAAAAAAAAAPgFAAB5AAAAegAAAA8AAAAAAAAAEAYAAHsAAAB8AAAABgAAAAcAAAASAAAACAAAAAAAAAC4BgAAIAAAAH0AAAAIAAAAAAAAAKgGAAAgAAAAfgAAAAkAAAAAAAAAmAYAACAAAAB/AAAACgAAAAAAAACIBgAAIAAAAIAAAAALAAAAAAAAAHgGAAAgAAAAgQAAAAwAAAAAAAAAaAYAACAAAACCAAAADQAAAAAAAABYBgAAIAAAAIMAAAAOAAAAAAAAAEgGAAAgAAAAhAAAAA8AAAAAAAAAOAYAACAAAACFAAAAEAAAAAAAAAAoBgAAIAAAAIYAAAARAAAAAAAAAMgGAACHAAAAiAAAABsAAABCAAAAAAAAANAGAACJAAAAigAAAAcAAAAEAAAAQwAAAAAAAADgBgAAiwAAAIwAAAAIAAAABQAAAEQAAAAAAAAA8AYAADcAAACNAAAAGgAAAAAAAAAABwAAjgAAAI8AAAAbAAAAAAAAABAHAACQAAAAkQAAAAkAAAAGAAAARQAAAAAAAAAgBwAAkgAAAJMAAAAcAAAAHQAAAAMAAAAAAAAAOAcAAJQAAACVAAAAQQAAAEIAAAAVAAAAGAAAAJYAAAAQAAAAFAAAABwAAABGAAAARAAAAEcAAAAAAAAAQAcAAEkAAACXAAAAEAAAAAAAAACABwAANwAAAJgAAAAdAAAAAQAAAAAAAABwBwAANwAAAJkAAAAdAAAAAgAAAAAAAABgBwAAJwAAAJoAAAAIAAAASAAAAAIAAAAFAAAABgAAAAAAAABQBwAACwAAAJsAAAARAAAACwAAAAAAAACQBwAAnAAAAJ0AAAAeAAAAHwAAAPz///+QBwAAngAAAJ8AAAAgAAAAAAAAANAHAAA3AAAAoAAAACEAAAABAAAAAAAAAMAHAAA3AAAAoQAAACEAAAACAAAAAAAAALAHAAAZAAAAogAAABIAAAAMAAAAAAAAAOAHAABJAAAAowAAABMAAAAAAAAA8AcAAEkAAACkAAAAFAAAAAAAAAAACAAAkgAAAKUAAAAcAAAAHQAAAAQAAAAAAAAAEAgAAKYAAACnAAAACgAAAAcAAABJAAAAAAAAACAIAACoAAAAqQAAABIAAAAAAAAAMAgAAKoAAACrAAAACwAAAAgAAABKAAAAAAAAAGAIAACSAAAArAAAAB4AAAAfAAAABQAAAAAAAABQCAAAkgAAAK0AAAAgAAAAIQAAAAYAAAAAAAAAQAgAAJIAAACuAAAAHAAAAB0AAAAHAAAAAAAAAHAIAACvAAAAsAAAAAwAAAAJAAAASwAAAAAAAACACAAAJwAAALEAAAAIAAAATAAAAAIAAAAFAAAABgAAAAAAAACQCAAAsgAAALMAAAANAAAACgAAAE0AAAAAAAAAoAgAACcAAAC0AAAAIgAAABEAAAACAAAABQAAAAYAAAAAAAAAsAgAALUAAAC2AAAAIgAAAAkAAAABAAAAAQAAAE4AAAAtAAAABQAAAC4AAAAMAAAAEgAAAAUAAAAvAAAAEwAAAA0AAABPAAAAtwAAAAAAAADACAAALwAAALgAAAAjAAAACQAAAAEAAAABAAAAUAAAAA4AAAAGAAAAMAAAAFEAAAAHAAAABAAAADEAAAAUAAAADQAAACMAAAAkAAAAAwAAACQAAAAIAAAAEQAAAAwAAAAAAAAA0AgAAC8AAAC5AAAAIwAAAAkAAAABAAAAAQAAAFAAAAAOAAAABgAAADIAAABSAAAABwAAAAQAAAAxAAAAFAAAAA0AAAAjAAAAJAAAAAMAAAAkAAAACAAAABEAAAAMAAAAAAAAAOAIAAAvAAAAugAAACMAAAAJAAAAAQAAAAEAAABQAAAADgAAAAYAAAAzAAAAUwAAAAcAAAAEAAAAMQAAABQAAAANAAAAIwAAACQAAAADAAAAJAAAAAgAAAARAAAADAAAAAAAAADwCAAALwAAALsAAAAlAAAACQAAAAEAAAABAAAAEAAAAA4AAAAHAAAANAAAAAwAAAATAAAABgAAABAAAAAFAAAADQAAACUAAAAmAAAAAwAAACYAAAAIAAAAEQAAAAwAAAAAAAAAAAkAALwAAAC9AAAAJwAAAAkAAAABAAAAAQAAAFQAAAA1AAAACAAAADYAAAAMAAAABAAAAAIAAAA3AAAAFQAAAA0AAAAoAAAAJwAAACgAAABVAAAAVgAAAAAAAAAQCQAAvgAAAL8AAAApAAAAAAAAACgJAAC+AAAAwAAAACoAAAAAAAAAOAkAAL4AAADBAAAAKwAAAAAAAABICQAAwgAAAMMAAAAnAAAACQAAAAEAAAABAAAAVwAAADUAAAAIAAAAOAAAAAwAAAAEAAAAAgAAAA0AAAAEAAAADQAAACkAAAAnAAAAKAAAAAAAAABYCQAANwAAAMQAAAAqAAAAAAAAAGgJAADFAAAAxgAAACsAAAAAAAAAeAkAAMcAAADIAAAALAAAAAkAAAABAAAAAQAAAFgAAAA5AAAACQAAADoAAAAMAAAABAAAAAIAAAA7AAAAFgAAAA0AAAAtAAAAAAAAAIgJAAA7AAAAyQAAACMAAAAJAAAAAQAAAAEAAAAQAAAADgAAAAoAAAABAAAADAAAAAcAAAAEAAAAEAAAAAUAAAANAAAAEAAAACwAAAADAAAALgAAAAgAAAARAAAADAAAAAcAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAMAJAAAvAAAAygAAACMAAAAJAAAAAQAAAAEAAAAQAAAADgAAAAEAAAABAAAADAAAAAcAAAAEAAAAEAAAAAUAAAANAAAAEAAAAAEAAAADAAAAAQAAAAgAAAARAAAADAAAAAAAAADQCQAAywAAAMwAAAAvAAAACQAAAAEAAAABAAAAWQAAAA4AAAAKAAAAPAAAAAwAAAAHAAAABAAAAD0AAAAXAAAADQAAAC0AAAAuAAAAAwAAADAAAAAIAAAAEQAAAAwAAAAHAAAAPgAAAD8AAAAxAAAALwAAAEAAAAAyAAAAAgAAAAEAAAAAAAAA8AkAAC8AAADNAAAAMwAAAAkAAAABAAAAAQAAAFoAAAAOAAAACwAAAEEAAABbAAAAFAAAAAQAAABCAAAAGAAAAA0AAAAQAAAAMAAAAAMAAAA0AAAACAAAABEAAAAMAAAAAAAAAAAKAAAvAAAAzgAAADMAAAAJAAAAAQAAAAEAAABaAAAADgAAAAsAAABDAAAAWwAAABQAAAAEAAAAQgAAABgAAAANAAAAEAAAADAAAAADAAAANAAAAAgAAAARAAAADAAAAAAAAAAQCgAALwAAAM8AAAAzAAAACQAAAAEAAAABAAAAWgAAAA4AAAALAAAARAAAAFsAAAAUAAAABAAAAEIAAAAYAAAADQAAABAAAAAwAAAAAwAAADQAAAAIAAAAEQAAAAwAAAAAAAAAIAoAADsAAADQAAAALwAAAAkAAAABAAAAAQAAAFwAAABFAAAACgAAAEYAAAAMAAAABwAAAAQAAAAQAAAABQAAAA0AAAAxAAAAMgAAAAMAAAA1AAAACAAAABEAAAAMAAAABwAAAEcAAABIAAAANgAAADMAAABJAAAANwAAAAMAAAAAAAAAMAoAAMUAAADRAAAAOAAAAAAAAABQCgAAOwAAANIAAAA5AAAACQAAAAEAAAABAAAAXQAAAA4AAAAMAAAASgAAAAwAAAAVAAAABAAAABAAAAAFAAAADQAAADQAAAA1AAAAAwAAADoAAAAIAAAASwAAADYAAAAHAAAATAAAAE0AAAA7AAAANwAAAE4AAAA8AAAABAAAADgAAAAAAAAAYAoAANMAAADUAAAAEwAAAE8AAAAZAAAAXgAAAF8AAAAUAAAAAAAAAIAKAADFAAAA1QAAAD0AAAAAAAAAcAoAAMUAAADWAAAAPgAAAAAAAACQCgAA1wAAANgAAAA/AAAACQAAAAEAAAABAAAAYAAAAFAAAAANAAAAUQAAAAwAAAAEAAAAAgAAAA0AAAAEAAAADQAAAEAAAAANAAAAAAAAAKAKAAAvAAAA2QAAAEEAAAAJAAAAAQAAAAEAAABhAAAADgAAAA4AAABSAAAAYgAAABYAAAAEAAAAUwAAABoAAAANAAAAOQAAADoAAAADAAAAQgAAAAgAAAARAAAADAAAAAcAAAAAAAAAsAoAAC8AAADaAAAAQQAAAAkAAAABAAAAAQAAAGEAAAAOAAAADgAAAFQAAABiAAAAFgAAAAQAAABTAAAAGgAAAA0AAAA5AAAAOwAAAAMAAABDAAAACAAAABEAAAAMAAAACAAAAAAAAADACgAALwAAANsAAABBAAAACQAAAAEAAAABAAAAYQAAAA4AAAAOAAAAVQAAAGIAAAAWAAAABAAAAFMAAAAaAAAADQAAADkAAAA8AAAAAwAAAEQAAAAIAAAAEQAAAAwAAAAJAAAAAAAAANAKAADcAAAA3QAAAEUAAAABAAAAAgAAAGMAAABkAAAAVgAAAGUAAABmAAAAVwAAAD0AAAA+AAAAWAAAABsAAAAAAAAA4AoAAN4AAADfAAAAAQAAAD8AAAAOAAAARgAAAAIAAABHAAAAZwAAAFkAAABaAAAAQAAAAGgAAADgAAAAAAAAAPAKAADeAAAA4QAAAAEAAAA/AAAADgAAAEYAAAACAAAARwAAAGcAAABZAAAAWgAAAEAAAABoAAAA4AAAAAAAAAAICwAA4gAAAOMAAAAcAAAAFQAAAEEAAABbAAAAXAAAAF0AAABCAAAAXgAAAEMAAABpAAAARAAAAB0AAABfAAAAagAAAGsAAAAAAAAAKAsAAOQAAADlAAAAHgAAABYAAABFAAAAYAAAAGEAAABiAAAARgAAAGMAAABHAAAAbAAAAEgAAAAfAAAAZAAAAG0AAABuAAAAAAAAADgLAAB5AAAA5gAAABUAAAAAAAAASAsAAHkAAADnAAAAFgAAAAAAAABYCwAA6AAAAOkAAAACAAAASQAAAA8AAABIAAAAAwAAAEkAAABvAAAAZQAAAGYAAABKAAAAcAAAAOoAAAAAAAAAaAsAACcAAADrAAAASwAAAHEAAAACAAAABQAAAAYAAAAAAAAAeAsAACcAAADsAAAACAAAAHIAAAACAAAABQAAAAYAAAAAAAAAiAsAACcAAADtAAAACAAAAHMAAAACAAAABQAAAAYAAAAAAAAAoAsAAO4AAADvAAAAEwAAAE8AAAAZAAAAXgAAAF8AAAAAAAAAuAsAADcAAADwAAAAIQAAAAEAAAAAAAAAyAsAAPEAAADyAAAAAQAAAAAAAADYCwAAkgAAAPMAAABMAAAATQAAAAgAAAAAAAAA8AsAAPEAAAD0AAAAAgAAAAAAAAAADAAAbwAAAPUAAAACAAAAAAAAABAMAACSAAAA9gAAAE4AAABPAAAACQAAAAAAAAAgDAAAbwAAAPcAAAADAAAAAAAAADAMAAD4AAAA+QAAABAAAAAAAAAAWAwAAPoAAAD7AAAAEQAAAAsAAAB0AAAAAAAAAGgMAAD8AAAA/QAAABIAAAAMAAAAdQAAAAAAAAB4DAAA+AAAAP4AAAATAAAAAAAAAIgMAAD4AAAA/wAAABQAAAAAAAAAmAwAAAABAAABAQAAIAAAACEAAABnAAAAAAAAAKAMAAACAQAAAwEAAAAAAACoDAAABAEAAAUBAABFAAAAAQAAAAIAAABjAAAAZAAAAFYAAAB2AAAAdwAAAFcAAAA9AAAAPgAAAFgAAAAbAAAAbGcAAP////8FAAAAAAAAAAAAAABoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAiAAAAIwAAAOFpAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAMAAAGAQAABwEAAAgBAAAJAQAAJAAAAAQAAAAVAAAASgAAAAAAAADoDAAABgEAAAoBAAAIAQAACQEAACQAAAAFAAAAFgAAAEsAAAAAAAAAGA0AAAYBAAALAQAACAEAAAkBAAAkAAAABgAAABcAAABMAAAAeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0RlYnVnRHJhd2VyJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdnZXREZWJ1Z01vZGUnKSkgdGhyb3cgJ2EgSlNJbXBsZW1lbnRhdGlvbiBtdXN0IGltcGxlbWVudCBhbGwgZnVuY3Rpb25zLCB5b3UgZm9yZ290IERlYnVnRHJhd2VyOjpnZXREZWJ1Z01vZGUuJzsgcmV0dXJuIHNlbGZbJ2dldERlYnVnTW9kZSddKCk7IH0AeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0RlYnVnRHJhd2VyJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdzZXREZWJ1Z01vZGUnKSkgdGhyb3cgJ2EgSlNJbXBsZW1lbnRhdGlvbiBtdXN0IGltcGxlbWVudCBhbGwgZnVuY3Rpb25zLCB5b3UgZm9yZ290IERlYnVnRHJhd2VyOjpzZXREZWJ1Z01vZGUuJzsgc2VsZlsnc2V0RGVidWdNb2RlJ10oJDEpOyB9AHsgdmFyIHNlbGYgPSBNb2R1bGVbJ2dldENhY2hlJ10oTW9kdWxlWydEZWJ1Z0RyYXdlciddKVskMF07IGlmICghc2VsZi5oYXNPd25Qcm9wZXJ0eSgnZHJhdzNkVGV4dCcpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OmRyYXczZFRleHQuJzsgc2VsZlsnZHJhdzNkVGV4dCddKCQxLCQyKTsgfQB7IHZhciBzZWxmID0gTW9kdWxlWydnZXRDYWNoZSddKE1vZHVsZVsnRGVidWdEcmF3ZXInXSlbJDBdOyBpZiAoIXNlbGYuaGFzT3duUHJvcGVydHkoJ3JlcG9ydEVycm9yV2FybmluZycpKSB0aHJvdyAnYSBKU0ltcGxlbWVudGF0aW9uIG11c3QgaW1wbGVtZW50IGFsbCBmdW5jdGlvbnMsIHlvdSBmb3Jnb3QgRGVidWdEcmF3ZXI6OnJlcG9ydEVycm9yV2FybmluZy4nOyBzZWxmWydyZXBvcnRFcnJvcldhcm5pbmcnXSgkMSk7IH0AeyB2YXIgc2VsZiA9IE1vZHVsZVsnZ2V0Q2FjaGUnXShNb2R1bGVbJ0RlYnVnRHJhd2VyJ10pWyQwXTsgaWYgKCFzZWxmLmhhc093blByb3BlcnR5KCdkcmF3Q29udGFjdFBvaW50JykpIHRocm93ICdhIEpTSW1wbGVtZW50YXRpb24gbXVzdCBpbXBsZW1lbnQgYWxsIGZ1bmN0aW9ucywgeW91IGZvcmdvdCBEZWJ1Z0RyYXdlcjo6ZHJhd0NvbnRhY3RQb2ludC4nOyBzZWxmWydkcmF3Q29udGFjdFBvaW50J10oJDEsJDIsJDMsJDQsJDUpOyB9AHsgdmFyIHNlbGYgPSBNb2R1bGVbJ2dldENhY2hlJ10oTW9kdWxlWydEZWJ1Z0RyYXdlciddKVskMF07IGlmICghc2VsZi5oYXNPd25Qcm9wZXJ0eSgnZHJhd0xpbmUnKSkgdGhyb3cgJ2EgSlNJbXBsZW1lbnRhdGlvbiBtdXN0IGltcGxlbWVudCBhbGwgZnVuY3Rpb25zLCB5b3UgZm9yZ290IERlYnVnRHJhd2VyOjpkcmF3TGluZS4nOyBzZWxmWydkcmF3TGluZSddKCQxLCQyLCQzKTsgfQAxMURlYnVnRHJhd2VyADEyYnRJRGVidWdEcmF3AHsgdmFyIHNlbGYgPSBNb2R1bGVbJ2dldENhY2hlJ10oTW9kdWxlWydDb25jcmV0ZUNvbnRhY3RSZXN1bHRDYWxsYmFjayddKVskMF07IGlmICghc2VsZi5oYXNPd25Qcm9wZXJ0eSgnYWRkU2luZ2xlUmVzdWx0JykpIHRocm93ICdhIEpTSW1wbGVtZW50YXRpb24gbXVzdCBpbXBsZW1lbnQgYWxsIGZ1bmN0aW9ucywgeW91IGZvcmdvdCBDb25jcmV0ZUNvbnRhY3RSZXN1bHRDYWxsYmFjazo6YWRkU2luZ2xlUmVzdWx0Lic7IHJldHVybiBzZWxmWydhZGRTaW5nbGVSZXN1bHQnXSgkMSwkMiwkMywkNCwkNSwkNiwkNyk7IH0AMjlDb25jcmV0ZUNvbnRhY3RSZXN1bHRDYWxsYmFjawBOMTZidENvbGxpc2lvbldvcmxkMjFDb250YWN0UmVzdWx0Q2FsbGJhY2tFAE4xNmJ0Q29sbGlzaW9uV29ybGQyNENsb3Nlc3RSYXlSZXN1bHRDYWxsYmFja0UATjE2YnRDb2xsaXNpb25Xb3JsZDE3UmF5UmVzdWx0Q2FsbGJhY2tFADE5YnRHaG9zdFBhaXJDYWxsYmFjawAyNWJ0T3ZlcmxhcHBpbmdQYWlyQ2FsbGJhY2sAMjBidERlZmF1bHRNb3Rpb25TdGF0ZQAxM2J0TW90aW9uU3RhdGUAMThidFZlaGljbGVSYXljYXN0ZXIATjE2YnRDb2xsaXNpb25Xb3JsZDI3Q2xvc2VzdENvbnZleFJlc3VsdENhbGxiYWNrRQBOMTZidENvbGxpc2lvbldvcmxkMjBDb252ZXhSZXN1bHRDYWxsYmFja0UAMjNidERlZmF1bHRTb2Z0Qm9keVNvbHZlcgAxNmJ0U29mdEJvZHlTb2x2ZXIANDFidFNvZnRCb2R5UmlnaWRCb2R5Q29sbGlzaW9uQ29uZmlndXJhdGlvbgBOMzVidFNvZnRCb2R5Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTE3U3dhcHBlZENyZWF0ZUZ1bmNFADMwYnRDb2xsaXNpb25BbGdvcml0aG1DcmVhdGVGdW5jAE4zNWJ0U29mdEJvZHlDb25jYXZlQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMjlidFNvZnRSaWdpZENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjI4YnRTb2Z0U29mdENvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UAU29mdEJvZHlNYXRlcmlhbERhdGEAU29mdEJvZHlOb2RlRGF0YQBTb2Z0Qm9keUxpbmtEYXRhAFNvZnRCb2R5RmFjZURhdGEAU29mdEJvZHlUZXRyYURhdGEAU29mdFJpZ2lkQW5jaG9yRGF0YQBmbG9hdABTb2Z0Qm9keVBvc2VEYXRhAFNvZnRCb2R5Q2x1c3RlckRhdGEAaW50AGJ0U29mdEJvZHlKb2ludERhdGEAYnRTb2Z0Qm9keUZsb2F0RGF0YQAxMGJ0U29mdEJvZHkATjEwYnRTb2Z0Qm9keTE1UmF5RnJvbVRvQ2FzdGVyRQBONmJ0RGJ2dDhJQ29sbGlkZUUATjEwYnRTb2Z0Qm9keTVKb2ludEUATjEwYnRTb2Z0Qm9keTZDSm9pbnRFAFNvZnRCb2R5ADI0YnRTb2Z0Qm9keUNvbGxpc2lvblNoYXBlAFVwZGF0ZUNsdXN0ZXJzAFNvZnRCb2R5IGFwcGx5Rm9yY2VzAEFwcGx5Q2x1c3RlcnMAYnRDb252ZXhJbnRlcm5hbFNoYXBlRGF0YQBTT0ZUQ0xVU1RFUgAyN2J0U29mdENsdXN0ZXJDb2xsaXNpb25TaGFwZQBOMTVidFNvZnRDb2xsaWRlcnMxMkNvbGxpZGVDTF9SU0UATjE1YnRTb2Z0Q29sbGlkZXJzMTFDbHVzdGVyQmFzZUUATjE1YnRTb2Z0Q29sbGlkZXJzMTNDb2xsaWRlU0RGX1JTRQBOMTVidFNvZnRDb2xsaWRlcnMxMkNvbGxpZGVWRl9TU0UATjE1YnRTb2Z0Q29sbGlkZXJzMTJDb2xsaWRlQ0xfU1NFADI5YnRTb2Z0UmlnaWRDb2xsaXNpb25BbGdvcml0aG0AMjBidENvbGxpc2lvbkFsZ29yaXRobQBUcmlhbmdsZQAxNWJ0VHJpYW5nbGVTaGFwZQBOMTJidENvbnZleENhc3QxMENhc3RSZXN1bHRFAFpOMzVidFNvZnRCb2R5Q29uY2F2ZUNvbGxpc2lvbkFsZ29yaXRobTIxY2FsY3VsYXRlVGltZU9mSW1wYWN0RVAxN2J0Q29sbGlzaW9uT2JqZWN0UzFfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTMxTG9jYWxUcmlhbmdsZVNwaGVyZUNhc3RDYWxsYmFjawAyNmJ0U29mdEJvZHlUcmlhbmdsZUNhbGxiYWNrADM1YnRTb2Z0Qm9keUNvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0Ac29sdmVTb2Z0Q29uc3RyYWludHMAcHJlZGljdFVuY29uc3RyYWludE1vdGlvblNvZnRCb2R5AHJheVRlc3QAMjNidFNvZnRTaW5nbGVSYXlDYWxsYmFjawAyM2J0QnJvYWRwaGFzZVJheUNhbGxiYWNrADI0YnRCcm9hZHBoYXNlQWFiYkNhbGxiYWNrADI0YnRTb2Z0UmlnaWREeW5hbWljc1dvcmxkADI4YnRTb2Z0U29mdENvbGxpc2lvbkFsZ29yaXRobQBidFJpZ2lkQm9keUZsb2F0RGF0YQAxMWJ0UmlnaWRCb2R5AGludGVybmFsU2luZ2xlU3RlcFNpbXVsYXRpb24AdXBkYXRlQWN0aW9ucwBjcmVhdGVQcmVkaWN0aXZlQ29udGFjdHMAcmVsZWFzZSBwcmVkaWN0aXZlIGNvbnRhY3QgbWFuaWZvbGRzAHByZWRpY3RpdmUgY29udmV4U3dlZXBUZXN0ADM0YnRDbG9zZXN0Tm90TWVDb252ZXhSZXN1bHRDYWxsYmFjawB1cGRhdGVBY3RpdmF0aW9uU3RhdGUAc29sdmVDb25zdHJhaW50cwBjYWxjdWxhdGVTaW11bGF0aW9uSXNsYW5kcwBpbnRlZ3JhdGVUcmFuc2Zvcm1zAENDRCBtb3Rpb24gY2xhbXBpbmcAYXBwbHkgc3BlY3VsYXRpdmUgY29udGFjdCByZXN0aXR1dGlvbgBwcmVkaWN0VW5jb25zdHJhaW50TW90aW9uAHN5bmNocm9uaXplTW90aW9uU3RhdGVzAHN0ZXBTaW11bGF0aW9uAGJ0RHluYW1pY3NXb3JsZEZsb2F0RGF0YQBkZWJ1Z0RyYXdXb3JsZAAyM2J0RGlzY3JldGVEeW5hbWljc1dvcmxkADE1YnREeW5hbWljc1dvcmxkADI3SW5wbGFjZVNvbHZlcklzbGFuZENhbGxiYWNrAE4yNWJ0U2ltdWxhdGlvbklzbGFuZE1hbmFnZXIxNElzbGFuZENhbGxiYWNrRQAxN2J0Rml4ZWRDb25zdHJhaW50AGJ0R2VuZXJpYzZEb2ZDb25zdHJhaW50RGF0YQAyM2J0R2VuZXJpYzZEb2ZDb25zdHJhaW50AGJ0R2VuZXJpYzZEb2ZTcHJpbmdDb25zdHJhaW50RGF0YQAyOWJ0R2VuZXJpYzZEb2ZTcHJpbmdDb25zdHJhaW50AGJ0UG9pbnQyUG9pbnRDb25zdHJhaW50RmxvYXREYXRhADIzYnRQb2ludDJQb2ludENvbnN0cmFpbnQAYnRUeXBlZENvbnN0cmFpbnRGbG9hdERhdGEAMTdidFR5cGVkQ29uc3RyYWludAAxM2J0VHlwZWRPYmplY3QAYnRTbGlkZXJDb25zdHJhaW50RGF0YQAxOGJ0U2xpZGVyQ29uc3RyYWludABidENvbmVUd2lzdENvbnN0cmFpbnREYXRhADIxYnRDb25lVHdpc3RDb25zdHJhaW50AGJ0SGluZ2VDb25zdHJhaW50RmxvYXREYXRhADE3YnRIaW5nZUNvbnN0cmFpbnQAc29sdmVHcm91cENhY2hlRnJpZW5kbHlJdGVyYXRpb25zAHNvbHZlR3JvdXBDYWNoZUZyaWVuZGx5U2V0dXAAc29sdmVHcm91cAAzNWJ0U2VxdWVudGlhbEltcHVsc2VDb25zdHJhaW50U29sdmVyADE4YnRDb25zdHJhaW50U29sdmVyADE2YnRSYXljYXN0VmVoaWNsZQAxN2J0QWN0aW9uSW50ZXJmYWNlADI1YnREZWZhdWx0VmVoaWNsZVJheWNhc3RlcgA0M2J0S2luZW1hdGljQ2xvc2VzdE5vdE1lQ29udmV4UmVzdWx0Q2FsbGJhY2sAMzBidEtpbmVtYXRpY0NoYXJhY3RlckNvbnRyb2xsZXIAMzBidENoYXJhY3RlckNvbnRyb2xsZXJJbnRlcmZhY2UAMjJidFN1YnNpbXBsZXhDb252ZXhDYXN0ADEyYnRDb252ZXhDYXN0AGJ0Q29sbGlzaW9uT2JqZWN0RmxvYXREYXRhADE3YnRDb2xsaXNpb25PYmplY3QAMTNidEdob3N0T2JqZWN0ADI0YnRQYWlyQ2FjaGluZ0dob3N0T2JqZWN0ADIzYnRDb2xsaXNpb25QYWlyQ2FsbGJhY2sAMTdidE92ZXJsYXBDYWxsYmFjawAyMWJ0Q29sbGlzaW9uRGlzcGF0Y2hlcgAzMWJ0RGVmYXVsdENvbGxpc2lvbkNvbmZpZ3VyYXRpb24AMjRidENvbGxpc2lvbkNvbmZpZ3VyYXRpb24ATjMxYnRDb252ZXhQbGFuZUNvbGxpc2lvbkFsZ29yaXRobTEwQ3JlYXRlRnVuY0UATjI2YnRCb3hCb3hDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4zNGJ0U3BoZXJlVHJpYW5nbGVDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFAE4zMmJ0U3BoZXJlU3BoZXJlQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMTZidEVtcHR5QWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMjhidENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtMTdTd2FwcGVkQ3JlYXRlRnVuY0UATjM2YnRDb21wb3VuZENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMjhidENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtMTBDcmVhdGVGdW5jRQBOMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0xN1N3YXBwZWRDcmVhdGVGdW5jRQBOMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0xMENyZWF0ZUZ1bmNFADI1YnRTaW11bGF0aW9uSXNsYW5kTWFuYWdlcgBpc2xhbmRVbmlvbkZpbmRBbmRRdWlja1NvcnQAcHJvY2Vzc0lzbGFuZHMAMzFidENvbnZleFBsYW5lQ29sbGlzaW9uQWxnb3JpdGhtAFpOMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0yMWNhbGN1bGF0ZVRpbWVPZkltcGFjdEVQMTdidENvbGxpc2lvbk9iamVjdFMxX1JLMTZidERpc3BhdGNoZXJJbmZvUDE2YnRNYW5pZm9sZFJlc3VsdEUzMUxvY2FsVHJpYW5nbGVTcGhlcmVDYXN0Q2FsbGJhY2sAMjRidENvbnZleFRyaWFuZ2xlQ2FsbGJhY2sAMzNidENvbnZleENvbmNhdmVDb2xsaXNpb25BbGdvcml0aG0AMjZidEJveEJveENvbGxpc2lvbkFsZ29yaXRobQAxNmJ0TWFuaWZvbGRSZXN1bHQATjM2YnREaXNjcmV0ZUNvbGxpc2lvbkRldGVjdG9ySW50ZXJmYWNlNlJlc3VsdEUAcGVyZm9ybURpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0aW9uAGRpc3BhdGNoQWxsQ29sbGlzaW9uUGFpcnMAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTE1TG9jYWxJbmZvQWRkZXIyAFpOMTZidENvbGxpc2lvbldvcmxkMjFyYXlUZXN0U2luZ2xlSW50ZXJuYWxFUksxMWJ0VHJhbnNmb3JtUzJfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18xN1JheVJlc3VsdENhbGxiYWNrRUU5UmF5VGVzdGVyAFpOMTZidENvbGxpc2lvbldvcmxkMjFyYXlUZXN0U2luZ2xlSW50ZXJuYWxFUksxMWJ0VHJhbnNmb3JtUzJfUEsyNGJ0Q29sbGlzaW9uT2JqZWN0V3JhcHBlclJOU18xN1JheVJlc3VsdENhbGxiYWNrRUUyOUJyaWRnZVRyaWFuZ2xlUmF5Y2FzdENhbGxiYWNrXzAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyMXJheVRlc3RTaW5nbGVJbnRlcm5hbEVSSzExYnRUcmFuc2Zvcm1TMl9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzE3UmF5UmVzdWx0Q2FsbGJhY2tFRTI5QnJpZGdlVHJpYW5nbGVSYXljYXN0Q2FsbGJhY2sAMTlidFNpbmdsZVJheUNhbGxiYWNrADE3RGVidWdEcmF3Y2FsbGJhY2sAY2FsY3VsYXRlT3ZlcmxhcHBpbmdQYWlycwB1cGRhdGVBYWJicwABT3ZlcmZsb3cgaW4gQUFCQiwgb2JqZWN0IHJlbW92ZWQgZnJvbSBzaW11bGF0aW9uAElmIHlvdSBjYW4gcmVwcm9kdWNlIHRoaXMsIHBsZWFzZSBlbWFpbCBidWdzQGNvbnRpbnVvdXNwaHlzaWNzLmNvbQoAUGxlYXNlIGluY2x1ZGUgYWJvdmUgaW5mb3JtYXRpb24sIHlvdXIgUGxhdGZvcm0sIHZlcnNpb24gb2YgT1MuCgBUaGFua3MuCgAxNmJ0Q29sbGlzaW9uV29ybGQAY29udmV4U3dlZXBDb21wb3VuZABaTjE2YnRDb2xsaXNpb25Xb3JsZDI1b2JqZWN0UXVlcnlTaW5nbGVJbnRlcm5hbEVQSzEzYnRDb252ZXhTaGFwZVJLMTFidFRyYW5zZm9ybVM1X1BLMjRidENvbGxpc2lvbk9iamVjdFdyYXBwZXJSTlNfMjBDb252ZXhSZXN1bHRDYWxsYmFja0VmRTE0TG9jYWxJbmZvQWRkZXIAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUzMkJyaWRnZVRyaWFuZ2xlQ29udmV4Y2FzdENhbGxiYWNrXzAAWk4xNmJ0Q29sbGlzaW9uV29ybGQyNW9iamVjdFF1ZXJ5U2luZ2xlSW50ZXJuYWxFUEsxM2J0Q29udmV4U2hhcGVSSzExYnRUcmFuc2Zvcm1TNV9QSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUk5TXzIwQ29udmV4UmVzdWx0Q2FsbGJhY2tFZkUzMkJyaWRnZVRyaWFuZ2xlQ29udmV4Y2FzdENhbGxiYWNrAGNvbnZleFN3ZWVwVGVzdAAyMWJ0U2luZ2xlU3dlZXBDYWxsYmFjawAyM2J0QnJpZGdlZE1hbmlmb2xkUmVzdWx0ADIzYnRTaW5nbGVDb250YWN0Q2FsbGJhY2sAMzRidFNwaGVyZVRyaWFuZ2xlQ29sbGlzaW9uQWxnb3JpdGhtADI0YnRQZXJ0dXJiZWRDb250YWN0UmVzdWx0AFpOMjNidENvbnZleENvbnZleEFsZ29yaXRobTE2cHJvY2Vzc0NvbGxpc2lvbkVQSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUzJfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTIxYnRXaXRob3V0TWFyZ2luUmVzdWx0AFpOMjNidENvbnZleENvbnZleEFsZ29yaXRobTE2cHJvY2Vzc0NvbGxpc2lvbkVQSzI0YnRDb2xsaXNpb25PYmplY3RXcmFwcGVyUzJfUksxNmJ0RGlzcGF0Y2hlckluZm9QMTZidE1hbmlmb2xkUmVzdWx0RTEzYnREdW1teVJlc3VsdAAyM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtAE4yM2J0Q29udmV4Q29udmV4QWxnb3JpdGhtMTBDcmVhdGVGdW5jRQAyMmJ0Q29tcG91bmRMZWFmQ2FsbGJhY2sAMjhidENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtADMwYnRDb21wb3VuZENvbXBvdW5kTGVhZkNhbGxiYWNrADM2YnRDb21wb3VuZENvbXBvdW5kQ29sbGlzaW9uQWxnb3JpdGhtAGJ0Q29tcG91bmRTaGFwZUNoaWxkRGF0YQBidENvbXBvdW5kU2hhcGVEYXRhAENvbXBvdW5kADE1YnRDb21wb3VuZFNoYXBlAGJ0Q29uZVNoYXBlRGF0YQBDb25lADExYnRDb25lU2hhcGUAQ29uZVoAMTJidENvbmVTaGFwZVoAQ29uZVgAMTJidENvbmVTaGFwZVgAU1BIRVJFADEzYnRTcGhlcmVTaGFwZQBaTksyMmJ0QnZoVHJpYW5nbGVNZXNoU2hhcGUxOXByb2Nlc3NBbGxUcmlhbmdsZXNFUDE4YnRUcmlhbmdsZUNhbGxiYWNrUks5YnRWZWN0b3IzUzRfRTIxTXlOb2RlT3ZlcmxhcENhbGxiYWNrADIxYnROb2RlT3ZlcmxhcENhbGxiYWNrAGJ0VHJpYW5nbGVNZXNoU2hhcGVEYXRhAEJWSFRSSUFOR0xFTUVTSAAyMmJ0QnZoVHJpYW5nbGVNZXNoU2hhcGUAWk4yMmJ0QnZoVHJpYW5nbGVNZXNoU2hhcGUxNHBlcmZvcm1SYXljYXN0RVAxOGJ0VHJpYW5nbGVDYWxsYmFja1JLOWJ0VmVjdG9yM1M0X0UyMU15Tm9kZU92ZXJsYXBDYWxsYmFjawBaTjIyYnRCdmhUcmlhbmdsZU1lc2hTaGFwZTE3cGVyZm9ybUNvbnZleGNhc3RFUDE4YnRUcmlhbmdsZUNhbGxiYWNrUks5YnRWZWN0b3IzUzRfUzRfUzRfRTIxTXlOb2RlT3ZlcmxhcENhbGxiYWNrADIxU3VwcG9ydFZlcnRleENhbGxiYWNrAFpOSzE5YnRUcmlhbmdsZU1lc2hTaGFwZTE5cHJvY2Vzc0FsbFRyaWFuZ2xlc0VQMThidFRyaWFuZ2xlQ2FsbGJhY2tSSzlidFZlY3RvcjNTNF9FMTZGaWx0ZXJlZENhbGxiYWNrAFRSSUFOR0xFTUVTSAAxOWJ0VHJpYW5nbGVNZXNoU2hhcGUAYnRTdGF0aWNQbGFuZVNoYXBlRGF0YQBTVEFUSUNQTEFORQAxOGJ0U3RhdGljUGxhbmVTaGFwZQAyM2J0UG9seWhlZHJhbENvbnZleFNoYXBlADM0YnRQb2x5aGVkcmFsQ29udmV4QWFiYkNhY2hpbmdTaGFwZQBidENvbGxpc2lvblNoYXBlRGF0YQAxNmJ0Q29sbGlzaW9uU2hhcGUAMTNidENvbnZleFNoYXBlADIxYnRDb252ZXhJbnRlcm5hbFNoYXBlAGJ0Q29udmV4SHVsbFNoYXBlRGF0YQBDb252ZXgAMTdidENvbnZleEh1bGxTaGFwZQAxOGJ0VHJpYW5nbGVDYWxsYmFjawAzMWJ0SW50ZXJuYWxUcmlhbmdsZUluZGV4Q2FsbGJhY2sAYnRDYXBzdWxlU2hhcGVEYXRhAENhcHN1bGVTaGFwZQAxNGJ0Q2Fwc3VsZVNoYXBlAENhcHN1bGVYADE1YnRDYXBzdWxlU2hhcGVYAENhcHN1bGVaADE1YnRDYXBzdWxlU2hhcGVaADI2TG9jYWxTdXBwb3J0VmVydGV4Q2FsbGJhY2sAQ29udmV4VHJpbWVzaAAyNWJ0Q29udmV4VHJpYW5nbGVNZXNoU2hhcGUAMTRidENvbmNhdmVTaGFwZQBCb3gAMTBidEJveFNoYXBlADE0YnRPcHRpbWl6ZWRCdmgAWk4xNGJ0T3B0aW1pemVkQnZoNWJ1aWxkRVAyM2J0U3RyaWRpbmdNZXNoSW50ZXJmYWNlYlJLOWJ0VmVjdG9yM1M0X0UyME5vZGVUcmlhbmdsZUNhbGxiYWNrAFpOMTRidE9wdGltaXplZEJ2aDVidWlsZEVQMjNidFN0cmlkaW5nTWVzaEludGVyZmFjZWJSSzlidFZlY3RvcjNTNF9FMjlRdWFudGl6ZWROb2RlVHJpYW5nbGVDYWxsYmFjawBIRUlHSFRGSUVMRAAyNWJ0SGVpZ2h0ZmllbGRUZXJyYWluU2hhcGUAYnRDeWxpbmRlclNoYXBlRGF0YQBDeWxpbmRlclkAMTVidEN5bGluZGVyU2hhcGUAQ3lsaW5kZXJYADE2YnRDeWxpbmRlclNoYXBlWABDeWxpbmRlcloAMTZidEN5bGluZGVyU2hhcGVaADE0YnRUcmlhbmdsZU1lc2gAMjBidEF4aXNTd2VlcDNJbnRlcm5hbEl0RQAyMWJ0QnJvYWRwaGFzZUludGVyZmFjZQAxMmJ0QXhpc1N3ZWVwMwAxNWJ0TnVsbFBhaXJDYWNoZQAyMmJ0T3ZlcmxhcHBpbmdQYWlyQ2FjaGUAWk4yOGJ0SGFzaGVkT3ZlcmxhcHBpbmdQYWlyQ2FjaGUxOWNsZWFuUHJveHlGcm9tUGFpcnNFUDE3YnRCcm9hZHBoYXNlUHJveHlQMTJidERpc3BhdGNoZXJFMTdDbGVhblBhaXJDYWxsYmFjawBaTjI4YnRIYXNoZWRPdmVybGFwcGluZ1BhaXJDYWNoZTM3cmVtb3ZlT3ZlcmxhcHBpbmdQYWlyc0NvbnRhaW5pbmdQcm94eUVQMTdidEJyb2FkcGhhc2VQcm94eVAxMmJ0RGlzcGF0Y2hlckUxOFJlbW92ZVBhaXJDYWxsYmFjawAyOGJ0SGFzaGVkT3ZlcmxhcHBpbmdQYWlyQ2FjaGUAMThidERidnRUcmVlQ29sbGlkZXIAMjBCcm9hZHBoYXNlQWFiYlRlc3RlcgAxOUJyb2FkcGhhc2VSYXlUZXN0ZXIAMTZidERidnRCcm9hZHBoYXNlADEyYnREaXNwYXRjaGVyAGJ0T3B0aW1pemVkQnZoTm9kZURhdGEAYnRRdWFudGl6ZWRCdmhOb2RlRGF0YQBidEJ2aFN1YnRyZWVJbmZvRGF0YQBidFF1YW50aXplZEJ2aEZsb2F0RGF0YQAxNGJ0UXVhbnRpemVkQnZoADI1YnRUcmlhbmdsZVJheWNhc3RDYWxsYmFjawAyOGJ0VHJpYW5nbGVDb252ZXhjYXN0Q2FsbGJhY2sAWk4zM2J0TWlua293c2tpUGVuZXRyYXRpb25EZXB0aFNvbHZlcjEyY2FsY1BlbkRlcHRoRVIyMmJ0Vm9yb25vaVNpbXBsZXhTb2x2ZXJQSzEzYnRDb252ZXhTaGFwZVM0X1JLMTFidFRyYW5zZm9ybVM3X1I5YnRWZWN0b3IzUzlfUzlfUDEyYnRJRGVidWdEcmF3RTIwYnRJbnRlcm1lZGlhdGVSZXN1bHQAMzNidE1pbmtvd3NraVBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIAMzBidENvbnZleFBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIAMzBidEdqa0VwYVBlbmV0cmF0aW9uRGVwdGhTb2x2ZXIAMTZidFBvaW50Q29sbGVjdG9yADE1YnRHamtDb252ZXhDYXN0ADI3YnRDb250aW51b3VzQ29udmV4Q29sbGlzaW9uADE3YnRHamtQYWlyRGV0ZWN0b3IAMzZidERpc2NyZXRlQ29sbGlzaW9uRGV0ZWN0b3JJbnRlcmZhY2UAMzBidEFjdGl2YXRpbmdDb2xsaXNpb25BbGdvcml0aG0AMTZidEVtcHR5QWxnb3JpdGhtADMyYnRTcGhlcmVTcGhlcmVDb2xsaXNpb25BbGdvcml0aG0AMTZidEJveEJveERldGVjdG9yADIyU3BoZXJlVHJpYW5nbGVEZXRlY3RvcgAyM2J0SGFzaGVkU2ltcGxlUGFpckNhY2hlADE4YnRDb252ZXhQb2x5aGVkcm9uADI2YnRUcmlhbmdsZUluZGV4VmVydGV4QXJyYXkAYnRJbnRJbmRleERhdGEAYnRTaG9ydEludEluZGV4VHJpcGxldERhdGEAYnRDaGFySW5kZXhUcmlwbGV0RGF0YQBidFZlY3RvcjNGbG9hdERhdGEAYnRWZWN0b3IzRG91YmxlRGF0YQBidE1lc2hQYXJ0RGF0YQBidFN0cmlkaW5nTWVzaEludGVyZmFjZURhdGEAMjNidFN0cmlkaW5nTWVzaEludGVyZmFjZQBSb290AC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYAbmFuAE5BTgAuAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHB0aHJlYWRfb25jZSBmYWlsdXJlIGluIF9fY3hhX2dldF9nbG9iYWxzX2Zhc3QoKQBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQ==";var J={last:0,caught:[],infos:{},deAdjust:function(t){if(!t||J.infos[t])return t;for(var e in J.infos)for(var i=+e,n=J.infos[i].adjusted,o=n.length,_=0;_0),e.refcount--,0!==e.refcount||e.rethrown||(e.destructor&&i.dynCall_vi(e.destructor,t),delete J.infos[t],Y(t))}},clearRef:function(t){t&&(J.infos[t].refcount=0)}},X={buffers:[null,[],[]],printChar:function(t,e){var i=X.buffers[t];0===e||10===e?((1===t?d:b)(k(i,0)),i.length=0):i.push(e)},varargs:0,get:function(t){return X.varargs+=4,C[X.varargs-4>>2]},getStr:function(){return R(X.get())},get64:function(){var t=X.get();return X.get(),t},getZero:function(){X.get()}};function z(){return y.length}function K(t){try{var e=new ArrayBuffer(t);if(e.byteLength!=t)return!1;new Int8Array(e).set(y)}catch(t){return!1}return i._emscripten_replace_memory(e),y=new Int8Array(e),new Int16Array(e),C=new Int32Array(e),g=new Uint8Array(e),new Uint16Array(e),new Uint32Array(e),v=new Float32Array(e),new Float64Array(e),h=e,e}function q(t){var e=z(),i=16777216,n=2130706432;if(t>n)return!1;for(var o=Math.max(e,16777216);o255&&($&&m(!1,"Character code "+n+" ("+String.fromCharCode(n)+") at offset "+i+" not in 0x00-0xFF."),n&=255),e.push(String.fromCharCode(n))}return e.join("")}var et="function"==typeof atob?atob:function(t){var e,i,n,o,_,r,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",p="",c=0;t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{e=s.indexOf(t.charAt(c++))<<2|(o=s.indexOf(t.charAt(c++)))>>4,i=(15&o)<<4|(_=s.indexOf(t.charAt(c++)))>>2,n=(3&_)<<6|(r=s.indexOf(t.charAt(c++))),p+=String.fromCharCode(e),64!==_&&(p+=String.fromCharCode(i)),64!==r&&(p+=String.fromCharCode(n))}while(c>2]=e,e=t.buffer;for(var r=0;r<_.length;r++)if(_[r]&&i.___cxa_can_catch(_[r],o,e))return e=C[e>>2],n.adjusted.push(e),0|(f(_[r]),e);return e=C[e>>2],0|(f(o),e)},g:Y,h:function(){throw u=!0,"Pure virtual function called!"},i:function(){},j:function(t){throw J.last||(J.last=t),t},k:function(t){return i.___errno_location&&(C[i.___errno_location()>>2]=t),t},l:function(t,e){X.varargs=e;try{var i=X.getStreamFromFD(),n=(X.get(),X.get()),o=X.get(),_=X.get(),r=n;return FS.llseek(i,r,_),C[o>>2]=i.position,i.getdents&&0===r&&0===_&&(i.getdents=null),0}catch(t){return"undefined"!=typeof FS&&t instanceof FS.ErrnoError||uS(t),-t.errno}},m:function(t,e){X.varargs=e;try{for(var i=X.get(),n=X.get(),o=X.get(),_=0,r=0;r>2],p=C[n+(8*r+4)>>2],c=0;c>2]=e/1e3|0,C[t+4>>2]=e%1e3*1e3|0,0},z:function(){uS("trap!")},A:function(t){uS("OOM")},B:K,C:function(){var t=i._fflush;t&&t(0);var e=X.buffers;e[1].length&&X.printChar(1,10),e[2].length&&X.printChar(2,10)},D:27376,E:B},rt=function(t,e,i){var n=new t.Int8Array(i),o=new t.Int16Array(i),_=new t.Int32Array(i),r=new t.Uint8Array(i),s=new t.Uint16Array(i),p=new t.Float32Array(i),c=new t.Float64Array(i),a=0|e.D,l=0|e.E,d=t.Math.abs,b=t.Math.sqrt,A=t.Math.pow,f=t.Math.cos,u=t.Math.sin,m=t.Math.acos,h=t.Math.asin,y=t.Math.atan2,g=t.Math.imul,C=t.Math.clz32,v=e.a,S=e.b,w=e.c,k=e.h,R=e.k,j=e.l,D=e.m,I=e.n,B=e.p,W=e.q,F=e.r,x=e.s,O=e.t,T=e.u,P=e.v,M=e.w,V=e.x,G=e.y,N=e.z,L=e.A,Q=27392;function E(t,e,i){e|=0,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0;if(!((0|(o=0|_[748+(t|=0)>>2]))<=0)){do{c=o,f=+p[t+4+(184*(o=o+-1|0)|0)>>2],u=+p[t+4+(184*o|0)+4>>2],r=+p[t+4+(184*o|0)+8>>2],A=f*+p[e>>2]+u*+p[e+4>>2]+r*+p[e+8>>2]+ +p[e+48>>2],d=f*+p[e+16>>2]+u*+p[e+20>>2]+r*+p[e+24>>2]+ +p[e+52>>2],r=f*+p[e+32>>2]+u*+p[e+36>>2]+r*+p[e+40>>2]+ +p[e+56>>2],p[t+4+(184*o|0)+48>>2]=A,p[t+4+(184*o|0)+52>>2]=d,p[t+4+(184*o|0)+56>>2]=r,p[t+4+(184*o|0)+60>>2]=0,u=+p[t+4+(184*o|0)+16>>2],f=+p[t+4+(184*o|0)+20>>2],s=+p[t+4+(184*o|0)+24>>2],b=u*+p[i>>2]+f*+p[i+4>>2]+s*+p[i+8>>2]+ +p[i+48>>2],l=u*+p[i+16>>2]+f*+p[i+20>>2]+s*+p[i+24>>2]+ +p[i+52>>2],s=u*+p[i+32>>2]+f*+p[i+36>>2]+s*+p[i+40>>2]+ +p[i+56>>2],p[t+4+(184*o|0)+32>>2]=b,p[t+4+(184*o|0)+36>>2]=l,p[t+4+(184*o|0)+40>>2]=s,p[t+4+(184*o|0)+44>>2]=0,p[t+4+(184*o|0)+80>>2]=(A-b)*+p[t+4+(184*o|0)+64>>2]+(d-l)*+p[t+4+(184*o|0)+68>>2]+(r-s)*+p[t+4+(184*o|0)+72>>2],_[(a=t+4+(184*o|0)+148|0)>>2]=1+(0|_[a>>2])}while((0|c)>1);if(!((0|(o=0|_[t+748>>2]))<=0)){c=o;do{i=c,e=t+4+(184*(c=c+-1|0)|0)|0,(r=+p[t+4+(184*c|0)+80>>2])<=(s=+p[t+752>>2])?(A=+p[t+4+(184*c|0)+32>>2]-(+p[t+4+(184*c|0)+48>>2]-+p[t+4+(184*c|0)+64>>2]*r))*A+(f=+p[t+4+(184*c|0)+36>>2]-(+p[t+4+(184*c|0)+52>>2]-r*+p[t+4+(184*c|0)+68>>2]))*f+(u=+p[t+4+(184*c|0)+40>>2]-(+p[t+4+(184*c|0)+56>>2]-r*+p[t+4+(184*c|0)+72>>2]))*u>s*s&&((0|(o=o+-1|0))==(0|c)?o=c:(_e(0|e,t+4+(184*o|0)|0,184),_[t+4+(184*o|0)+112>>2]=0,p[t+4+(184*o|0)+120>>2]=0,n[t+4+(184*o|0)+116|0]=0,p[t+4+(184*o|0)+124>>2]=0,p[t+4+(184*o|0)+128>>2]=0,_[t+4+(184*o|0)+148>>2]=0,o=(0|_[t+748>>2])-1|0),_[t+748>>2]=o):((0|(o=o+-1|0))==(0|c)?o=c:(_e(0|e,t+4+(184*o|0)|0,184),_[t+4+(184*o|0)+112>>2]=0,p[t+4+(184*o|0)+120>>2]=0,n[t+4+(184*o|0)+116|0]=0,p[t+4+(184*o|0)+124>>2]=0,p[t+4+(184*o|0)+128>>2]=0,_[t+4+(184*o|0)+148>>2]=0,o=(0|_[t+748>>2])-1|0),_[t+748>>2]=o)}while((0|i)>1)}}}function H(t){var e=0,i=0;_[(t|=0)>>2]=6120,0|n[t+20|0]&&(e=0|_[t+16>>2],(i=0|_[e+16>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[t+16>>2]),0|e&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]))),0|n[t+12|0]&&(e=0|_[t+8>>2],(i=0|_[e+16>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[t+8>>2]),0|e&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]))),e=0|_[t+32>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+32>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+36>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+36>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+40>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+40>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+44>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+44>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+48>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+48>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+52>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+52>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+56>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+56>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+60>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+60>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+76>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+76>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+80>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+80>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+72>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+72>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+88>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+88>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+84>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+84>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|(e=0|_[t+24>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+28>>2],Xl[511&_[_[e>>2]>>2]](e),(e=0|_[t+28>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]))}function Z(t,e){t|=0,e=+e;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,f=0,u=0,m=0,h=0,y=0,g=0;if(i=Q,Q=Q+16|0,$i(14599),(0|(o=0|_[t+232>>2]))>0){y=0;do{if(h=0|_[(0|_[t+240>>2])+(y<<2)>>2],!(3&_[h+204>>2])){u=+p[h+444>>2],s=+A(+(1-u),+e),c=+p[h+312>>2]*s,p[h+312>>2]=c,r=s*+p[h+316>>2],p[h+316>>2]=r,s*=+p[h+320>>2],p[h+320>>2]=s,m=+p[h+448>>2],l=+A(+(1-m),+e),a=+p[h+328>>2]*l,p[h+328>>2]=a,d=l*+p[h+332>>2],p[h+332>>2]=d,l*=+p[h+336>>2],p[h+336>>2]=l;do{if(0|n[h+452|0]){a*a+d*d+l*l<+p[h+464>>2]&&c*c+r*r+s*s<+p[h+460>>2]?(g=+p[h+456>>2],p[h+328>>2]=a*g,p[h+332>>2]=d*g,p[h+336>>2]=l*g,p[h+312>>2]=c*g,p[h+316>>2]=r*g,p[h+320>>2]=s*g,r*=g,f=s*g,a*=g,d*=g,l*=g,c*=g):f=s,s=+b(+(c*c+r*r+f*f));do{if(s.004999999888241291){p[h+312>>2]=c-c*(1/s)*.004999999888241291,p[h+316>>2]=r-r*(1/s)*.004999999888241291,p[h+320>>2]=f-f*(1/s)*.004999999888241291;break}_[h+312>>2]=0,_[h+312+4>>2]=0,_[h+312+8>>2]=0,_[h+312+12>>2]=0;break}}while(0);if((r=+b(+(a*a+d*d+l*l))).004999999888241291){p[h+328>>2]=a-a*(1/r)*.004999999888241291,p[h+332>>2]=d-d*(1/r)*.004999999888241291,p[h+336>>2]=l-l*(1/r)*.004999999888241291;break}_[h+328>>2]=0,_[h+328+4>>2]=0,_[h+328+8>>2]=0,_[h+328+12>>2]=0;break}}}while(0);Bt(h+4|0,+p[h+312>>2],+p[h+316>>2],+p[h+320>>2],h+328|0,e,h+68|0),o=0|_[t+232>>2]}y=y+1|0}while((0|y)<(0|o))}if(o=0|_[2606],t=(0|_[o+16>>2])-1|0,_[o+16>>2]=t,0|t)Q=i;else{do{if(0|_[o+4>>2]){if(G(0|i,0),t=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[i+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[i>>2])-(0|_[t>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])return void(Q=i);o=0|_[2606];break}}while(0);_[2606]=_[o+20>>2],Q=i}}function U(t,e,i){e|=0,i|=0;var n=0,o=0,r=0,s=0,c=0,a=0,l=0,b=0,A=0;if(!(0|_[(t|=0)>>2]))return _[t>>2]=i,void(_[i+32>>2]=0);if(o=0|_[e+40>>2]){n=+p[i>>2]+ +p[i+16>>2],c=+p[i+4>>2]+ +p[i+20>>2],a=+p[i+8>>2]+ +p[i+24>>2];do{b=0|_[e+36>>2],e=e+36+((1&!((A=+d(+(n-(+p[b>>2]+ +p[b+16>>2])))+ +d(+(c-(+p[b+4>>2]+ +p[b+20>>2])))+ +d(+(a-(+p[b+8>>2]+ +p[b+24>>2]))))<+d(+(n-(+p[o>>2]+ +p[o+16>>2])))+ +d(+(c-(+p[o+4>>2]+ +p[o+20>>2])))+ +d(+(a-(+p[o+8>>2]+ +p[o+24>>2])))))<<2)|0,e=0|_[e>>2],o=0|_[e+40>>2]}while(0|o);l=e}else l=e;if(r=0|_[(b=l+32|0)>>2],e=0|_[t+4>>2])_[t+4>>2]=0;else{_[6630]=1+(0|_[6630]),(e=0|di(63))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,s=(o=e)+44|0;do{_[o>>2]=0,o=o+4|0}while((0|o)<(0|s))}if(_[e+32>>2]=r,_[e+36>>2]=0,_[(o=e+40|0)>>2]=0,A=+p[i>>2],a=+p[l>>2],p[e>>2]=A>2],A=+p[l+16>>2],p[e+16>>2]=a>A?a:A,A=+p[i+4>>2],a=+p[l+4>>2],p[e+4>>2]=A>2],A=+p[l+20>>2],p[e+20>>2]=a>A?a:A,A=+p[i+8>>2],a=+p[l+8>>2],p[e+8>>2]=A>2],A=+p[l+24>>2],p[e+24>>2]=a>A?a:A,!r)return _[e+36>>2]=l,_[b>>2]=e,_[o>>2]=i,_[i+32>>2]=e,void(_[t>>2]=e);for(_[r+36+(((0|_[40+(0|_[b>>2])>>2])==(0|l)&1)<<2)>>2]=e,_[e+36>>2]=l,_[b>>2]=e,_[o>>2]=i,_[i+32>>2]=e,o=e,n=+p[e>>2];;){if(e=r+4|0,+p[r>>2]<=n&&+p[e>>2]<=+p[o+4>>2]&&+p[r+8>>2]<=+p[o+8>>2]&&+p[r+16>>2]>=+p[o+16>>2]&&+p[r+20>>2]>=+p[o+20>>2]&&+p[r+24>>2]>=+p[o+24>>2]){e=21;break}if(t=0|_[r+36>>2],i=0|_[r+40>>2],n=(a=+p[t>>2])<(n=+p[i>>2])?a:n,p[r>>2]=n,a=+p[t+16>>2],A=+p[i+16>>2],p[r+16>>2]=a>A?a:A,A=+p[t+4>>2],a=+p[i+4>>2],p[e>>2]=A>2],A=+p[i+20>>2],p[r+20>>2]=a>A?a:A,A=+p[t+8>>2],a=+p[i+8>>2],p[r+8>>2]=A>2],A=+p[i+24>>2],p[r+24>>2]=a>A?a:A,!(e=0|_[r+32>>2])){e=21;break}o=r,r=e}}function Y(t,e,i){t|=0,i|=0;var n=0,o=0;return _[16+(e|=0)>>2]=_[t+4>>2],_[e+20>>2]=_[t+8>>2],_[e+24>>2]=_[t+12>>2],_[e+28>>2]=_[t+16>>2],_[e+32>>2]=_[t+20>>2],_[e+36>>2]=_[t+24>>2],_[e+40>>2]=_[t+28>>2],_[e+44>>2]=_[t+32>>2],_[e+48>>2]=_[t+36>>2],_[e+52>>2]=_[t+40>>2],_[e+56>>2]=_[t+44>>2],_[e+60>>2]=_[t+48>>2],_[e+64>>2]=_[t+52>>2],_[e+68>>2]=_[t+56>>2],_[e+72>>2]=_[t+60>>2],_[e+76>>2]=_[t+64>>2],_[e+80>>2]=_[t+68>>2],_[e+84>>2]=_[t+72>>2],_[e+88>>2]=_[t+76>>2],_[e+92>>2]=_[t+80>>2],_[e+96>>2]=_[t+84>>2],_[e+100>>2]=_[t+88>>2],_[e+104>>2]=_[t+92>>2],_[e+108>>2]=_[t+96>>2],_[e+112>>2]=_[t+100>>2],_[e+116>>2]=_[t+104>>2],_[e+120>>2]=_[t+108>>2],_[e+124>>2]=_[t+112>>2],_[e+128>>2]=_[t+116>>2],_[e+132>>2]=_[t+120>>2],_[e+136>>2]=_[t+124>>2],_[e+140>>2]=_[t+128>>2],_[e+144>>2]=_[t+132>>2],_[e+148>>2]=_[t+136>>2],_[e+152>>2]=_[t+140>>2],_[e+156>>2]=_[t+144>>2],_[e+160>>2]=_[t+148>>2],_[e+164>>2]=_[t+152>>2],_[e+168>>2]=_[t+156>>2],_[e+172>>2]=_[t+160>>2],_[e+176>>2]=_[t+164>>2],_[e+180>>2]=_[t+168>>2],_[e+184>>2]=_[t+172>>2],_[e+188>>2]=_[t+176>>2],_[e+224>>2]=_[t+180>>2],_[e+192>>2]=_[t+184>>2],_[e>>2]=0,n=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+192>>2]),_[e+4>>2]=n,_[e+8>>2]=0,_[e+228>>2]=_[t+204>>2],_[e+232>>2]=_[t+208>>2],_[e+236>>2]=_[t+212>>2],_[e+240>>2]=_[t+216>>2],_[e+196>>2]=_[t+220>>2],_[e+200>>2]=_[t+224>>2],_[e+204>>2]=_[t+232>>2],_[e+208>>2]=_[t+228>>2],_[e+244>>2]=_[t+236>>2],n=0|Ll[31&_[40+(0|_[i>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e+12>>2]=o,o?(ed[127&_[48+(0|_[i>>2])>>2]](i,n),o=0|_[(o=t+244|0)>>2],_[(i=e+212|0)>>2]=o,i=0|_[(i=t+248|0)>>2],_[(o=e+216|0)>>2]=i,o=0|_[(o=t+252|0)>>2],_[(i=e+220|0)>>2]=o,i=0|_[(i=t+256|0)>>2],_[(o=e+248|0)>>2]=i,15579):(o=0|_[(o=t+244|0)>>2],_[(i=e+212|0)>>2]=o,i=0|_[(i=t+248|0)>>2],_[(o=e+216|0)>>2]=i,o=0|_[(o=t+252|0)>>2],_[(i=e+220|0)>>2]=o,i=0|_[(i=t+256|0)>>2],_[(o=e+248|0)>>2]=i,15579)}function J(t,e){e|=0;var i,o,r,s,c,a,l,d=0,b=0,A=0,f=0,u=0,m=0;return l=Q,Q=Q+64|0,jt(0|_[116+(t|=0)>>2],e,0),f=(d=+p[e+204>>2]+ +p[e+212>>2])*+p[e+56>>2]+ +p[e+40>>2],u=d*+p[e+60>>2]+ +p[e+44>>2],p[e+16>>2]=+p[e+52>>2]*d+ +p[e+36>>2],p[e+20>>2]=f,p[e+24>>2]=u,p[e+28>>2]=0,p[l+32>>2]=-1,m=0|_[t+100>>2],m=0|Hl[31&_[8+(0|_[m>>2])>>2]](m,e+36|0,e+16|0,l),_[e+88>>2]=0,m?(u=d*+p[l+32>>2],_[e>>2]=_[l+16>>2],_[e+4>>2]=_[l+16+4>>2],_[e+8>>2]=_[l+16+8>>2],_[e+12>>2]=_[l+16+12>>2],n[e+84|0]=1,!(0|n[24504])&&0|Qs(24504)&&(_[l+40>>2]=0,_[l+40+4>>2]=0,_[l+40+8>>2]=0,_[l+40+12>>2]=0,ut(25804,0,0,0,l+40|0)),_[6502]=1|_[6502],p[6537]=0,f=0*+p[6547],d=0*+p[6548],p[6542]=0*+p[6546],p[6543]=f,p[6544]=d,p[6545]=0,_[6550]=0,_[6551]=0,_[6552]=0,_[6553]=0,d=0*+p[6539],f=0*+p[6540],p[6591]=0*+p[6538],p[6592]=d,p[6593]=f,p[6594]=0,_[e+88>>2]=25804,f=u-+p[e+212>>2],p[e+32>>2]=f,f<(d=+p[e+204>>2])-(b=.009999999776482582*+p[e+208>>2])|(A=fd+b&&(p[e+32>>2]=A>d+b?d+b:A),_[e+16>>2]=_[l>>2],_[e+16+4>>2]=_[l+4>>2],_[e+16+8>>2]=_[l+8>>2],_[e+16+12>>2]=_[l+12>>2],s=+p[e>>2],c=+p[e+4>>2],a=+p[e+8>>2],f=s*+p[e+52>>2]+c*+p[e+56>>2]+a*+p[e+60>>2],t=0|_[t+116>>2],A=+p[e+16>>2]-+p[t+52>>2],i=+p[e+20>>2]-+p[t+56>>2],o=+p[e+24>>2]-+p[t+60>>2],r=+p[t+332>>2],d=+p[t+336>>2],b=+p[t+328>>2],f>=-.10000000149011612?(p[e+272>>2]=0,f=10,p[(m=e+268|0)>>2]=f,Q=l,+u):(p[e+272>>2]=-1/f*(s*(r*o-i*d+ +p[t+312>>2])+c*(A*d-o*b+ +p[t+316>>2])+a*(i*b-A*r+ +p[t+320>>2])),f=-1/f,p[(m=e+268|0)>>2]=f,Q=l,+u)):(_[e+32>>2]=_[e+204>>2],p[e+272>>2]=0,f=-+p[e+56>>2],u=-+p[e+60>>2],p[e>>2]=-+p[e+52>>2],p[e+4>>2]=f,p[e+8>>2]=u,p[e+12>>2]=0,u=-1,f=1,p[(m=e+268|0)>>2]=f,Q=l,+u)}function X(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0,c=0,a=0,l=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0;return 4!=(0|(i=0|_[748+(t|=0)>>2]))?(_[t+748>>2]=i+1,_e(0|(t=t+4+(184*(k=(w=(0|(k=i))>0)?k:0)|0)|0),0|e,184),0|k):(a=+p[e+80>>2],v=(S=+p[t+84>>2])>2])>2],i=(k=+p[t+636>>2]<(y>31,a=+p[e>>2],i?(A=+p[t+188>>2],r=+p[e+4>>2],m=+p[t+192>>2],c=+p[e+8>>2],u=+p[t+196>>2],b=+p[t+556>>2],y=+p[t+372>>2],s=((a-A)*((o=+p[t+560>>2])-(f=+p[t+376>>2]))-(r-m)*(b-y))*((a-A)*(o-f)-(r-m)*(b-y))+(((r-m)*((n=+p[t+564>>2])-(l=+p[t+380>>2]))-(c-u)*(o-f))*((r-m)*(n-l)-(c-u)*(o-f))+((c-u)*(b-y)-(a-A)*(n-l))*((c-u)*(b-y)-(a-A)*(n-l))),1==(0|i)?(a-=+p[t+4>>2],C=r-+p[t+8>>2],g=c-+p[t+12>>2],r=0,c=u,w=7):(g=b-y,C=o-f,h=n-l,w=6)):(g=(b=+p[t+556>>2])-(y=+p[t+372>>2]),C=(o=+p[t+560>>2])-(f=+p[t+376>>2]),h=(n=+p[t+564>>2])-(l=+p[t+380>>2]),A=+p[t+188>>2],m=+p[t+192>>2],u=+p[t+196>>2],s=0,r=+p[e+4>>2],c=+p[e+8>>2],w=6),6==(0|w)&&(a-=+p[t+4>>2],S=(r-=+p[t+8>>2])*h-(c-=+p[t+12>>2])*C,v=c*g-a*h,h=a*C-r*g,2==(0|i)?(C=r,g=c,b=f,c=u,o=l,n=0,r=h*h+(S*S+v*v),w=8):(C=r,g=c,r=h*h+(S*S+v*v),c=u,w=7)),7==(0|w)&&(h=C*(n-=c)-g*(S=o-m),n=g*(u=b-A)-a*n,u=a*S-C*u,k?(n=u*u+(h*h+n*n),o=0):(b=f,o=l,n=u*u+(h*h+n*n),w=8)),8==(0|w)&&(v=y-A,S=C*(o-=c)-g*(y=b-m),o=g*v-a*o,o=(v=a*y-C*v)*v+(S*S+o*o)),S=+d(+s),C=+d(+r),y=+d(+n),_e(0|(t=t+4+(184*(k=(w=(0|(k=(h=+d(+o))>(y>(g=C>(v=S>-0xde0b6b000000000?S:-0xde0b6b000000000)?C:v)?y:g)?3:y>g?2:C>v?1:(S>-0xde0b6b000000000^1)<<31>>31))>0)?k:0)|0)|0),0|e,184),0|k)}function z(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0;for(l=Q,Q=Q+32|0,S=0|_[12+(t|=0)>>2],o=+p[S+(24*((n+i|0)/2|0)|0)>>2],s=+p[S+(24*((n+i|0)/2|0)|0)+4>>2],c=+p[S+(24*((n+i|0)/2|0)|0)+8>>2],a=+p[S+(24*((n+i|0)/2|0)|0)+16>>2],r=0|_[S+(24*((n+i|0)/2|0)|0)+20>>2],d=n,b=i;;){v=(o-(y=+p[e>>2]))*(o-y)+(s-(g=+p[e+4>>2]))*(s-g)+(c-(C=+p[e+8>>2]))*(c-C);t:for(;;){h=S+(24*b|0)|0,A=+p[S+(24*b|0)+16>>2];do{if(A==a){if((A=+p[h>>2]-y)*A+(f=+p[S+(24*b|0)+4>>2]-g)*f+(u=+p[S+(24*b|0)+8>>2]-C)*u!=v){if(A*A+f*f+u*u>2])<(0|r))break;break t}if(!(A>2];do{if(a==A){if(v!=(A=+p[m>>2]-y)*A+(f=+p[S+(24*d|0)+4>>2]-g)*f+(u=+p[S+(24*d|0)+8>>2]-C)*u){if(v>2]))break;break t}if(!(a>2]=_[h>>2],_[l+4>>2]=_[h+4>>2],_[l+8>>2]=_[h+8>>2],_[l+12>>2]=_[h+12>>2],_[l+16>>2]=_[h+16>>2],_[l+20>>2]=_[h+20>>2],_[h>>2]=_[m>>2],_[h+4>>2]=_[m+4>>2],_[h+8>>2]=_[m+8>>2],_[h+12>>2]=_[m+12>>2],_[h+16>>2]=_[m+16>>2],_[h+20>>2]=_[m+20>>2],S=(0|_[t+12>>2])+(24*d|0)|0,_[S>>2]=_[l>>2],_[S+4>>2]=_[l+4>>2],_[S+8>>2]=_[l+8>>2],_[S+12>>2]=_[l+12>>2],_[S+16>>2]=_[l+16>>2],_[S+20>>2]=_[l+20>>2],d=d+-1|0,b=b+1|0),(0|b)>(0|d))break;S=0|_[t+12>>2]}(0|d)>(0|i)&&z(t,e,i,d),(0|b)>=(0|n)||z(t,e,b,n),Q=l}function K(t,e){t|=0;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0;if(i=Q,Q=Q+64|0,o=0|_[192+(e|=0)>>2],pd[127&_[8+(0|_[o>>2])>>2]](o,e+4|0,i+48|0,i+32|0),r=+p[i+48>>2]-.019999999552965164,p[i+48>>2]=r,c=+p[i+48+4>>2]-.019999999552965164,p[i+48+4>>2]=c,a=+p[i+48+8>>2]-.019999999552965164,p[i+48+8>>2]=a,s=+p[i+32>>2]+.019999999552965164,p[i+32>>2]=s,l=+p[i+32+4>>2]+.019999999552965164,p[i+32+4>>2]=l,d=+p[i+32+8>>2]+.019999999552965164,p[i+32+8>>2]=d,0|n[t+44|0]&&2==(0|_[e+236>>2])&&!(3&_[e+204>>2])&&(o=0|_[e+192>>2],pd[127&_[8+(0|_[o>>2])>>2]](o,e+68|0,i+16|0,i),r=+p[i+16>>2]-.019999999552965164,p[i+16>>2]=r,a=+p[i+16+4>>2]-.019999999552965164,p[i+16+4>>2]=a,l=+p[i+16+8>>2]-.019999999552965164,p[i+16+8>>2]=l,s=+p[i>>2]+.019999999552965164,p[i>>2]=s,d=+p[i+4>>2]+.019999999552965164,p[i+4>>2]=d,b=+p[i+8>>2]+.019999999552965164,p[i+8>>2]=b,r<(c=+p[i+48>>2])?p[i+48>>2]=r:r=c,a<(c=+p[i+48+4>>2])&&(p[i+48+4>>2]=a,c=a),l<(a=+p[i+48+8>>2])&&(p[i+48+8>>2]=l,a=l),(l=+p[i+16+12>>2])<+p[i+48+12>>2]&&(p[i+48+12>>2]=l),(l=+p[i+32>>2])>2]=s:s=l,(l=+p[i+32+4>>2])>2]=d,l=d),(d=+p[i+32+8>>2])>2]=b,d=b),b=+p[i+12>>2],+p[i+32+12>>2]>2]=b)),o=0|_[t+68>>2],!(1&_[e+204>>2]||(s-=r)*s+(l-=c)*l+(b=d-a)*b<999999995904))return 4!=(-2&_[e+216>>2])&&(_[e+216>>2]=5),0|n[17398]&&(o=0|_[t+72>>2])?(n[17398]=0,ed[127&_[36+(0|_[o>>2])>>2]](o,17399),e=0|_[t+72>>2],ed[127&_[36+(0|_[e>>2])>>2]](e,17448),e=0|_[t+72>>2],ed[127&_[36+(0|_[e>>2])>>2]](e,17516),t=0|_[t+72>>2],ed[127&_[36+(0|_[t>>2])>>2]](t,17581),void(Q=i)):void(Q=i);dd[31&_[16+(0|_[o>>2])>>2]](o,0|_[e+188>>2],i+48|0,i+32|0,0|_[t+24>>2]),Q=i}function q(t,e){e|=0;var i,o=0,r=0,s=0,p=0,c=0,a=0,l=0;if((0|(i=0|_[4+(t|=0)>>2]))==(0|_[t+8>>2])&&(0|i)<(0|(p=0|i?i<<1:1))){if(p?(_[6630]=1+(0|_[6630]),(o=0|di(16+(244*p|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=0|_[t+4>>2]):(o=0,s=i),(0|s)>0){r=0;do{a=o+(244*r|0)|0,l=(c=0|_[t+12>>2])+(244*r|0)|0,_[a>>2]=_[l>>2],_[a+4>>2]=_[l+4>>2],_[a+8>>2]=_[l+8>>2],_[a+12>>2]=_[l+12>>2],a=c+(244*r|0)+16|0,_[(l=o+(244*r|0)+16|0)>>2]=_[a>>2],_[l+4>>2]=_[a+4>>2],_[l+8>>2]=_[a+8>>2],_[l+12>>2]=_[a+12>>2],l=c+(244*r|0)+32|0,_[(a=o+(244*r|0)+32|0)>>2]=_[l>>2],_[a+4>>2]=_[l+4>>2],_[a+8>>2]=_[l+8>>2],_[a+12>>2]=_[l+12>>2],l=c+(244*r|0)+48|0,_[(a=o+(244*r|0)+48|0)>>2]=_[l>>2],_[a+4>>2]=_[l+4>>2],_[a+8>>2]=_[l+8>>2],_[a+12>>2]=_[l+12>>2],_e(o+(244*r|0)+64|0,c+(244*r|0)+64|0,180),r=r+1|0}while((0|r)!=(0|s))}0|(r=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=o,_[t+8>>2]=p,o=0|_[t+4>>2]}else o=i;return _[t+4>>2]=o+1,l=0|_[t+12>>2],_[l+(244*i|0)>>2]=_[e>>2],_[l+(244*i|0)+4>>2]=_[e+4>>2],_[l+(244*i|0)+8>>2]=_[e+8>>2],_[l+(244*i|0)+12>>2]=_[e+12>>2],_[l+(244*i|0)+16>>2]=_[e+16>>2],_[l+(244*i|0)+16+4>>2]=_[e+16+4>>2],_[l+(244*i|0)+16+8>>2]=_[e+16+8>>2],_[l+(244*i|0)+16+12>>2]=_[e+16+12>>2],_[l+(244*i|0)+32>>2]=_[e+32>>2],_[l+(244*i|0)+32+4>>2]=_[e+32+4>>2],_[l+(244*i|0)+32+8>>2]=_[e+32+8>>2],_[l+(244*i|0)+32+12>>2]=_[e+32+12>>2],_[l+(244*i|0)+48>>2]=_[e+48>>2],_[l+(244*i|0)+48+4>>2]=_[e+48+4>>2],_[l+(244*i|0)+48+8>>2]=_[e+48+8>>2],_[l+(244*i|0)+48+12>>2]=_[e+48+12>>2],_e(l+(244*i|0)+64|0,e+64|0,180),(0|_[t+12>>2])+(244*i|0)|0}function $(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,d,A,f,u,h,y,g,C,v=0,S=0,w=0,k=0,R=0,j=0;return o=Q,Q=Q+64|0,r=+p[20+(t|=0)>>2],f=+p[t+40>>2],c=+p[t+24>>2],d=+p[t+36>>2],A=+p[t+32>>2],R=+p[t+16>>2],S=1/((r*f-c*d)*(k=+p[t>>2])+(w=+p[t+4>>2])*(c*A-f*R)+(d*R-r*A)*(a=+p[t+8>>2])),C=+p[e>>2],g=+p[e+4>>2],j=+p[e+8>>2],y=+p[e+16>>2],h=+p[e+20>>2],u=+p[e+24>>2],l=+p[e+32>>2],s=+p[e+36>>2],v=+p[e+40>>2],p[o+16>>2]=j*((d*R-r*A)*S)+(C*((r*f-c*d)*S)+g*((c*A-f*R)*S)),p[o+16+4>>2]=j*((A*w-d*k)*S)+(C*((d*a-f*w)*S)+g*((f*k-A*a)*S)),p[o+16+8>>2]=j*((r*k-R*w)*S)+(C*((c*w-r*a)*S)+g*((R*a-c*k)*S)),p[o+16+12>>2]=0,p[o+16+16>>2]=(r*f-c*d)*S*y+(c*A-f*R)*S*h+(d*R-r*A)*S*u,p[o+16+20>>2]=(d*a-f*w)*S*y+(f*k-A*a)*S*h+(A*w-d*k)*S*u,p[o+16+24>>2]=(c*w-r*a)*S*y+(R*a-c*k)*S*h+(r*k-R*w)*S*u,p[o+16+28>>2]=0,p[o+16+32>>2]=(r*f-c*d)*S*l+(c*A-f*R)*S*s+(d*R-r*A)*S*v,p[o+16+36>>2]=(d*a-f*w)*S*l+(f*k-A*a)*S*s+(A*w-d*k)*S*v,p[o+16+40>>2]=(c*w-r*a)*S*l+(R*a-c*k)*S*s+(r*k-R*w)*S*v,p[o+16+44>>2]=0,Qt(o+16|0,o),v=+p[o>>2],S=+p[o+4>>2],w=+p[o+8>>2],R=+p[o+12>>2],k=1/+b(+(v*v+S*S+w*w+R*R)),p[o>>2]=v*k,p[o+4>>2]=S*k,p[o+8>>2]=w*k,p[o+12>>2]=R*k,R=2*+m(+((R=R*k<-1?-1:R*k)>1?1:R)),p[n>>2]=R,p[i>>2]=v*k,p[i+4>>2]=S*k,p[i+8>>2]=w*k,p[i+12>>2]=0,v*k*(v*k)+S*k*(S*k)+w*k*(w*k)<14210854715202004e-30?(_[i>>2]=1065353216,_[i+4>>2]=0,_[i+8>>2]=0,p[i+12>>2]=0,void(Q=o)):(j=1/+b(+(v*k*(v*k)+S*k*(S*k)+w*k*(w*k))),p[i>>2]=v*k*j,p[i+4>>2]=S*k*j,p[i+8>>2]=w*k*j,void(Q=o))}function tt(t){var e,i,o=0,r=0,s=0,p=0,c=0,a=0;if(a=0|_[12+(t|=0)>>2],!((0|(i=0|_[t+36>>2]))>=(0|a))){do{if((0|_[t+40>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(o=0|di(16+(a<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=0|_[t+36>>2]):(o=0,s=i),p=0|_[t+44>>2],(0|s)<=0){if(!p){n[t+48|0]=1,_[t+44>>2]=o,_[t+40>>2]=a,c=t+44|0;break}}else{r=0;do{_[o+(r<<2)>>2]=_[p+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s))}0|n[t+48|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),n[t+48|0]=1,_[t+44>>2]=o,_[t+40>>2]=a,c=t+44|0}else c=t+44|0,o=0|_[t+44>>2]}while(0);if(wn(o+(i<<2)|0,0,(a<<2)-(i<<2)|0),_[t+36>>2]=a,(0|(e=0|_[t+56>>2]))<(0|a)){do{if((0|_[t+60>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(o=0|di(16+(a<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=0|_[t+56>>2]):(o=0,s=e),p=0|_[t+64>>2],(0|s)<=0){if(!p){n[t+68|0]=1,_[t+64>>2]=o,_[t+60>>2]=a;break}}else{r=0;do{_[o+(r<<2)>>2]=_[p+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s))}0|n[t+68|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),n[t+68|0]=1,_[t+64>>2]=o,_[t+60>>2]=a}else o=0|_[t+64>>2]}while(0);wn(o+(e<<2)|0,0,(a<<2)-(e<<2)|0)}if(_[t+56>>2]=a,(0|a)>0&&(wn(0|_[c>>2],-1,a<<2),wn(0|_[t+64>>2],-1,a<<2)),!((0|i)<=0)){p=0|_[t+16>>2],r=0|_[c>>2],s=0|_[t+64>>2],o=0;do{a=9*((a=_[12+(0|_[p+(o<<4)+4>>2])>>2]<<16|_[12+(0|_[p+(o<<4)>>2])>>2])+~(a<<15)>>10^a+~(a<<15))|0,a=r+((((a^=a>>6)+~(a<<11)>>16^a+~(a<<11))&(0|_[t+12>>2])-1)<<2)|0,_[s+(o<<2)>>2]=_[a>>2],_[a>>2]=o,o=o+1|0}while((0|o)!=(0|i))}}}function et(t){var e,i,o=0,r=0,s=0,p=0,c=0,a=0;if(a=0|_[12+(t|=0)>>2],!((0|(i=0|_[t+32>>2]))>=(0|a))){do{if((0|_[t+36>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(o=0|di(16+(a<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=0|_[t+32>>2]):(o=0,s=i),p=0|_[t+40>>2],(0|s)<=0){if(!p){n[t+44|0]=1,_[t+40>>2]=o,_[t+36>>2]=a,c=t+40|0;break}}else{r=0;do{_[o+(r<<2)>>2]=_[p+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s))}0|n[t+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),n[t+44|0]=1,_[t+40>>2]=o,_[t+36>>2]=a,c=t+40|0}else c=t+40|0,o=0|_[t+40>>2]}while(0);if(wn(o+(i<<2)|0,0,(a<<2)-(i<<2)|0),_[t+32>>2]=a,(0|(e=0|_[t+52>>2]))<(0|a)){do{if((0|_[t+56>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(o=0|di(16+(a<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=0|_[t+52>>2]):(o=0,s=e),p=0|_[t+60>>2],(0|s)<=0){if(!p){n[t+64|0]=1,_[t+60>>2]=o,_[t+56>>2]=a;break}}else{r=0;do{_[o+(r<<2)>>2]=_[p+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s))}0|n[t+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),n[t+64|0]=1,_[t+60>>2]=o,_[t+56>>2]=a}else o=0|_[t+60>>2]}while(0);wn(o+(e<<2)|0,0,(a<<2)-(e<<2)|0)}if(_[t+52>>2]=a,(0|a)>0&&(wn(0|_[c>>2],-1,a<<2),wn(0|_[t+60>>2],-1,a<<2)),!((0|i)<=0)){p=0|_[t+16>>2],r=0|_[c>>2],s=0|_[t+60>>2],o=0;do{a=9*((a=_[p+(12*o|0)+4>>2]<<16|_[p+(12*o|0)>>2])+~(a<<15)>>10^a+~(a<<15))|0,a=r+((((a^=a>>6)+~(a<<11)>>16^a+~(a<<11))&(0|_[t+12>>2])-1)<<2)|0,_[s+(o<<2)>>2]=_[a>>2],_[a>>2]=o,o=o+1|0}while((0|o)!=(0|i))}}}function it(t,e,i,n,o){t|=0,i|=0,n|=0,o|=0;var r,s,c,a,l,d,b,A=0,f=0,u=0;r=Q,Q=Q+128|0,(e|=0)?(0|_[e+40>>2]&&(it(t,0|_[e+36>>2],i+1|0,n,o),it(t,0|_[e+40>>2],i+1|0,n,o)),(0|i)<0||(s=.5*((u=+p[e>>2])+(b=+p[e+16>>2]))-.5*(b-u),c=.5*((f=+p[e+4>>2])+(d=+p[e+20>>2]))-.5*(d-f),a=.5*((A=+p[e+8>>2])+(l=+p[e+24>>2]))-.5*(l-A),u=.5*(u+b)+.5*(b-u),f=.5*(f+d)+.5*(d-f),A=.5*(A+l)+.5*(l-A),o=0|_[e+40>>2]?n:o,p[r>>2]=s,p[r+4>>2]=c,p[r+8>>2]=a,p[r+12>>2]=0,p[r+16>>2]=u,p[r+20>>2]=c,p[r+24>>2]=a,p[r+28>>2]=0,p[r+32>>2]=u,p[r+36>>2]=f,p[r+40>>2]=a,p[r+44>>2]=0,p[r+48>>2]=s,p[r+52>>2]=f,p[r+56>>2]=a,p[r+60>>2]=0,p[r+64>>2]=s,p[r+68>>2]=c,p[r+72>>2]=A,p[r+76>>2]=0,p[r+80>>2]=u,p[r+84>>2]=c,p[r+88>>2]=A,p[r+92>>2]=0,p[r+96>>2]=u,p[r+100>>2]=f,p[r+104>>2]=A,p[r+108>>2]=0,p[r+112>>2]=s,p[r+116>>2]=f,p[r+120>>2]=A,p[r+124>>2]=0,pd[127&_[8+(0|_[t>>2])>>2]](t,r,r+16|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+16|0,r+32|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+32|0,r+48|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+48|0,r,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+64|0,r+80|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+80|0,r+96|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+96|0,r+112|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+112|0,r+64|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r,r+64|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+16|0,r+80|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+32|0,r+96|0,o),pd[127&_[8+(0|_[t>>2])>>2]](t,r+48|0,r+112|0,o)),Q=r):Q=r}function nt(t,e,i,n,o,_,r,s){var c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w;t|=0,e=+e,i=+i,_=+_,r=+r,s=+s,c=(n=+n)-(0*(0*(w=+p[(o|=0)>>2])+(S=+p[o+16>>2])*-s+(v=+p[o+32>>2])*r)+(0*(C=+p[o+4>>2])+(g=+p[o+20>>2])*-s+(y=+p[o+36>>2])*r)*s+(0*(h=+p[o+8>>2])+(m=+p[o+24>>2])*-s+(u=+p[o+40>>2])*r)*-r)+i,A=0-((0*w+S*-s+v*r)*-s+0*(0*C+g*-s+y*r)+(0*h+m*-s+u*r)*_)+0,d=0-(0*(w*s+0*S+v*-_)+(C*s+0*g+y*-_)*s+(h*s+0*m+u*-_)*-r)+0,b=n-((w*s+0*S+v*-_)*-s+0*(C*s+0*g+y*-_)+(h*s+0*m+u*-_)*_)+i,a=0-((w*s+0*S+v*-_)*r+(C*s+0*g+y*-_)*-_+0*(h*s+0*m+u*-_))+0,f=0-(0*(w*-r+S*_+0*v)+(C*-r+g*_+0*y)*s+(h*-r+m*_+0*u)*-r)+0,n=1/((l=0-((0*w+S*-s+v*r)*r+(0*C+g*-s+y*r)*-_+0*(0*h+m*-s+u*r))+0)*((s=0-((w*-r+S*_+0*v)*-s+0*(C*-r+g*_+0*y)+(h*-r+m*_+0*u)*_)+0)*d-b*f)+(c*(b*(i=n-((w*-r+S*_+0*v)*r+(C*-r+g*_+0*y)*-_+0*(h*-r+m*_+0*u))+i)-a*s)+A*(a*f-i*d))),p[t>>2]=(s*d-b*f)*n*0+(1/e*((b*i-a*s)*n)+(a*f-i*d)*n*0),p[t+4>>2]=(f*A-s*c)*n*0+(1/e*((s*l-i*A)*n)+(i*c-f*l)*n*0),p[t+8>>2]=(b*c-d*A)*n*0+(1/e*((a*A-b*l)*n)+(d*l-a*c)*n*0),p[t+12>>2]=0,p[t+16>>2]=(s*d-b*f)*n*0+((b*i-a*s)*n*0+1/e*((a*f-i*d)*n)),p[t+20>>2]=(f*A-s*c)*n*0+((s*l-i*A)*n*0+1/e*((i*c-f*l)*n)),p[t+24>>2]=(b*c-d*A)*n*0+((a*A-b*l)*n*0+1/e*((d*l-a*c)*n)),p[t+28>>2]=0,p[t+32>>2]=1/e*((s*d-b*f)*n)+((b*i-a*s)*n*0+(a*f-i*d)*n*0),p[t+36>>2]=1/e*((f*A-s*c)*n)+((s*l-i*A)*n*0+(i*c-f*l)*n*0),p[t+40>>2]=1/e*((b*c-d*A)*n)+((a*A-b*l)*n*0+(d*l-a*c)*n*0),p[t+44>>2]=0}function ot(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r=0;o=Q,Q=Q+784|0,_[o+712>>2]=1065353216,_[o+712+4>>2]=0,_[o+712+4+4>>2]=0,_[o+712+4+8>>2]=0,_[o+712+4+12>>2]=0,_[o+712+20>>2]=1065353216,_[o+712+24>>2]=0,_[o+712+24+4>>2]=0,_[o+712+24+8>>2]=0,_[o+712+24+12>>2]=0,_[o+712+40>>2]=1065353216,_[(i=o+712+44|0)>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,_[i+16>>2]=0,_[o+536>>2]=4536,_[o+536+168>>2]=0,p[o+536+172>>2]=0,_[o+536+164>>2]=_[t+200>>2],i=0|_[t+196>>2],_[o+480+8>>2]=0,_[o+480+12>>2]=1065353216,_[o+480+16>>2]=1065353216,_[o+480+20>>2]=1065353216,p[o+480+24>>2]=0,_[o+480>>2]=7568,_[o+480+4>>2]=8,_[o+480+28>>2]=i,_[o+480+44>>2]=i,_[o+376+8>>2]=0,_[o+376+12>>2]=1065353216,_[o+376+16>>2]=1065353216,_[o+376+20>>2]=1065353216,p[o+376+24>>2]=0,p[o+376+44>>2]=.03999999910593033,_[o+376+52>>2]=0,_[o+376>>2]=4564,_[o+376+4>>2]=1,_[o+376+56>>2]=_[e>>2],_[o+376+56+4>>2]=_[e+4>>2],_[o+376+56+8>>2]=_[e+8>>2],_[o+376+56+12>>2]=_[e+12>>2],_[o+376+72>>2]=_[e+16>>2],_[o+376+72+4>>2]=_[e+16+4>>2],_[o+376+72+8>>2]=_[e+16+8>>2],_[o+376+72+12>>2]=_[e+16+12>>2],_[o+376+88>>2]=_[e+32>>2],_[o+376+88+4>>2]=_[e+32+4>>2],_[o+376+88+8>>2]=_[e+32+8>>2],_[o+376+88+12>>2]=_[e+32+12>>2],p[o+16+308>>2]=9999999747378752e-20,n[o+16+332|0]=0,_[o>>2]=5860,_[o+4>>2]=o+16,_[o+8>>2]=o+480,_[o+12>>2]=o+376,0|Ti(o,t+4|0,t+68|0,o+712|0,o+712|0,o+536|0)&&(r=+p[o+536+164>>2],+p[t+200>>2]>r)&&(p[t+200>>2]=r),_[o+376>>2]=8020,(i=0|_[o+376+52>>2])?(Xl[511&_[_[i>>2]>>2]](i),(i=0|_[o+376+52>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),Q=o):Q=o):Q=o}function _t(t){var e=0,i=0,n=0,o=0,r=0,s=0,c=0,a=0,l=0,A=0,f=0,u=0,m=0,h=0;if((0|(i=0|_[752+(t|=0)>>2]))>0){n=0|_[t+760>>2],e=0;do{o=0|_[n+(44*e|0)+8>>2],r=0|_[n+(44*e|0)+12>>2],s=0|_[n+(44*e|0)+16>>2],l=+p[o+8>>2],f=+p[o+12>>2],c=+p[o+16>>2],a=+p[r+8>>2]-l,u=+p[r+12>>2]-f,A=+p[r+16>>2]-c,l=+p[s+8>>2]-l,f=+p[s+12>>2]-f,c=+p[s+16>>2]-c,c=+b(+((a*f-u*l)*(a*f-u*l)+((u*c-A*f)*(u*c-A*f)+(A*l-a*c)*(A*l-a*c)))),p[n+(44*e|0)+36>>2]=c,e=e+1|0}while((0|e)!=(0|i))}if((0|(i=0|_[t+712>>2]))>0)if(_[6630]=1+(0|_[6630]),(e=0|di(16+(i<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,n=e+4+15&-16):n=0,wn(0|n,0,i<<2),(0|(o=0|_[t+712>>2]))>0){i=0|_[t+720>>2],e=0;do{p[i+(104*e|0)+92>>2]=0,e=e+1|0}while((0|e)!=(0|o));s=n,r=n,e=o}else s=n,r=n,e=o;else s=0,r=0,e=i;if((0|(o=0|_[t+752>>2]))>0){i=0|_[t+760>>2],n=0|_[t+720>>2],e=0;do{u=+d(+ +p[i+(44*e|0)+36>>2]),m=0|_[i+(44*e|0)+8>>2],_[(h=s+((m-n|0)/104<<2)|0)>>2]=1+(0|_[h>>2]),p[m+92>>2]=u+ +p[m+92>>2],m=0|_[i+(44*e|0)+12>>2],_[(h=s+((m-n|0)/104<<2)|0)>>2]=1+(0|_[h>>2]),p[m+92>>2]=u+ +p[m+92>>2],m=0|_[i+(44*e|0)+16>>2],_[(h=s+((m-n|0)/104<<2)|0)>>2]=1+(0|_[h>>2]),p[m+92>>2]=u+ +p[m+92>>2],e=e+1|0}while((0|e)!=(0|o));e=0|_[t+712>>2]}if((0|e)>0){i=0;do{(0|(n=0|_[s+(i<<2)>>2]))>0?(h=(0|_[t+720>>2])+(104*i|0)+92|0,p[h>>2]=+p[h>>2]/+(0|n)):p[(0|_[t+720>>2])+(104*i|0)+92>>2]=0,i=i+1|0}while((0|i)!=(0|e));if(!r)return}else if(!(0|s)|!(0|r))return;_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])}function rt(t,e,i){e|=0,i|=0;var n=0,o=0,r=0,s=0,p=0,c=0,a=0;if(n=0|_[56+(t|=0)>>2])s=n;else if((n=0|_[t+52>>2])?_[t+52>>2]=_[n+8>>2]:(_[6630]=1+(0|_[6630]),(n=0|di(31))?(_[(n+4+15&-16)-4>>2]=n,n=n+4+15&-16):n=0,o=0|_[t+60>>2],_[n+4>>2]=o,_[(r=n+8|0)>>2]=0,_[6630]=1+(0|_[6630]),(o=0|di(16+(24*o|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,_[n>>2]=o,_[r>>2]=_[t+48>>2],_[t+48>>2]=n),s=0|_[n>>2],(0|(r=0|_[n+4>>2]))>0&&(_[s>>2]=1!=(0|r)?s+24|0:0,1!=(0|r))){n=1,o=s+24|0;do{p=(0|(n=n+1|0))<(0|r),c=o,o=o+24|0,_[c>>2]=p?o:0}while(p)}if(_[t+56>>2]=_[s>>2],_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[s+16>>2]=0,_[s+20>>2]=0,!(n=0|_[t+56>>2])&&((n=0|_[t+52>>2])?(_[t+52>>2]=_[n+8>>2],o=n):(_[6630]=1+(0|_[6630]),(n=0|di(31))?(_[(n+4+15&-16)-4>>2]=n,o=n+4+15&-16):o=0,n=0|_[t+60>>2],_[o+4>>2]=n,_[(r=o+8|0)>>2]=0,_[6630]=1+(0|_[6630]),(n=0|di(16+(24*n|3)|0))?(_[(n+4+15&-16)-4>>2]=n,n=n+4+15&-16):n=0,_[o>>2]=n,_[r>>2]=_[t+48>>2],_[t+48>>2]=o),n=0|_[o>>2],(0|(p=0|_[o+4>>2]))>0&&(_[n>>2]=1!=(0|p)?n+24|0:0,1!=(0|p)))){o=1,r=n+24|0;do{c=(0|(o=o+1|0))<(0|p),a=r,r=r+24|0,_[a>>2]=c?r:0}while(c)}return _[t+56>>2]=_[n>>2],_[(a=n)>>2]=0,_[a+4>>2]=0,_[s+8>>2]=n,_[n+8>>2]=s,a=0|_[t+100>>2],_[s+20>>2]=a,_[n+20>>2]=a,_[s+12>>2]=i,_[n+12>>2]=e,_[s+16>>2]=0,_[n+16>>2]=0,n=0|_[t+116>>2],_[t+116>>2]=n+1,(0|n)<(0|_[t+120>>2])||(_[t+120>>2]=n+1),0|s}function st(t,e){e|=0;var i,n,r,s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B=0,W=0;i=Q,Q=Q+128|0,I=0|_[24+(0|_[8+(t|=0)>>2])>>2],n=0|_[I+(80*e|0)+64>>2],B=0|_[t+12>>2],g=+p[I+(80*e|0)>>2],R=+p[B>>2],y=+p[I+(80*e|0)+16>>2],k=+p[B+4>>2],h=+p[I+(80*e|0)+32>>2],w=+p[B+8>>2],m=+p[I+(80*e|0)+4>>2],u=+p[I+(80*e|0)+20>>2],f=+p[I+(80*e|0)+36>>2],A=+p[I+(80*e|0)+8>>2],d=+p[I+(80*e|0)+24>>2],a=+p[I+(80*e|0)+40>>2],S=+p[B+16>>2],v=+p[B+20>>2],C=+p[B+24>>2],b=+p[B+32>>2],l=+p[B+36>>2],c=+p[B+40>>2],D=+p[I+(80*e|0)+48>>2],j=+p[I+(80*e|0)+52>>2],W=+p[I+(80*e|0)+56>>2],s=+p[B+48>>2]+(R*D+k*j+w*W),r=S*D+v*j+C*W+ +p[B+52>>2],W=b*D+l*j+c*W+ +p[B+56>>2],p[i+56>>2]=g*R+y*k+h*w,p[i+56+4>>2]=R*m+k*u+w*f,p[i+56+8>>2]=R*A+k*d+w*a,p[i+56+12>>2]=0,p[i+56+16>>2]=g*S+y*v+h*C,p[i+56+20>>2]=m*S+u*v+f*C,p[i+56+24>>2]=A*S+d*v+a*C,p[i+56+28>>2]=0,p[i+56+32>>2]=g*b+y*l+h*c,p[i+56+36>>2]=m*b+u*l+f*c,p[i+56+40>>2]=A*b+d*l+a*c,p[i+56+44>>2]=0,p[i+56+48>>2]=s,p[i+56+52>>2]=r,p[i+56+56>>2]=W,p[i+56+60>>2]=0,B=0|_[t+4>>2],_[i+32>>2]=0,_[i+32+4>>2]=n,_[i+32+8>>2]=B,_[i+32+12>>2]=i+56,_[i+32+16>>2]=-1,_[i+32+20>>2]=e,B=0|_[t+24>>2],p[i+4>>2]=1,_[i+8>>2]=0,o[i+12>>1]=1,o[i+14>>1]=-1,_[i+16>>2]=0,_[i>>2]=6692,_[i+20>>2]=B,_[i+24>>2]=e,_[i+4>>2]=_[B+4>>2],_[i+16>>2]=_[B+16>>2],ji(0|_[t+16>>2],0|_[t+20>>2],i+32|0,i),Q=i}function pt(t,e,i,o,r,s,c,a,l){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,a|=0,l|=0;var d,b=0,A=0,f=0,u=0;d=Q,Q=Q+80|0,p[d+16+60>>2]=0,p[d+16+8>>2]=0,p[d+16+12>>2]=.10000000149011612,p[d+16+16>>2]=300,p[d+16>>2]=1,p[d+16+4>>2]=-1,p[d+16+28>>2]=0,p[d+16+32>>2]=.20000000298023224,p[d+16+36>>2]=0,p[d+16+40>>2]=0,p[d+16+20>>2]=1,p[d+16+24>>2]=.5,_[d+16+56>>2]=0,p[d+16+48>>2]=0,n[d+16+44|0]=0,f=0;do{A=0|_[t+856+(f<<2)>>2],b=0|n[t+788+f|0],A?u=5:b<<24>>24&&(b=1,u=5),5==(0|u)&&(u=0,p[d+16+40>>2]=0,_[d+16+56>>2]=A,_[d+16+52>>2]=_[t+840+(f<<2)>>2],_[d+16+48>>2]=_[t+824+(f<<2)>>2],_[d+16+20>>2]=_[t+732>>2],n[d+16+44|0]=b,_[d+16+4>>2]=_[t+696+(f<<2)>>2],_[d+16+24>>2]=_[t+728>>2],_[d+16>>2]=_[t+680+(f<<2)>>2],p[d+16+16>>2]=0,_[d+16+12>>2]=_[t+808+(f<<2)>>2],_[d+16+8>>2]=_[t+792+(f<<2)>>2],_[d>>2]=_[t+1064+(f<<2)>>2],_[d+4>>2]=_[t+1080+(f<<2)>>2],_[d+8>>2]=_[t+1096+(f<<2)>>2],p[d+12>>2]=0,A=0|_[t+1304>>2],b=1&(A=(b=3*f|0)?A>>b:A)?t+740+(f<<2)|0:0|_[e+32>>2],_[d+16+28>>2]=_[b>>2],b=2&A?t+772+(f<<2)|0:0|_[e+32>>2],_[d+16+36>>2]=_[b>>2],_[d+16+32>>2]=_[(4&A?t+756+(f<<2):e+4)>>2],i=(0|he(t,d+16|0,o,r,s,c,a,l,e,i,d,0,b=0|n[t+1301|0]?0|_[t+868+((3==(0|(A=f+1|0))?0:A)<<6)+56>>2]?1&!(0|_[t+868+(((f+2|0)>>>0)%3<<6)+56>>2]):1:0))+i|0),f=f+1|0}while(3!=(0|f));return Q=d,0|i}function ct(t,e,i,o,r){t|=0,r|=0;var s,c,a,l,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0;if(s=Q,Q=Q+48|0,(0|(o|=0))==(0|(e|=0))|(0|e)==(0|(i|=0))|(0|i)==(0|o))Q=s;else{u=(f=s)+36|0;do{_[f>>2]=0,f=f+4|0}while((0|f)<(0|u));if(h=r||0|_[_[t+880>>2]>>2],(0|(r=0|_[t+752>>2]))==(0|_[t+756>>2])&&(0|r)<(0|(y=0|r?r<<1:1))){if(y?(_[6630]=1+(0|_[6630]),(r=0|di(16+(44*y|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,m=r,r=0|_[t+752>>2]):m=0,(0|r)>0){d=0;do{f=m+(44*d|0)|0,A=(0|_[t+760>>2])+(44*d|0)|0,u=f+44|0;do{_[f>>2]=_[A>>2],f=f+4|0,A=A+4|0}while((0|f)<(0|u));d=d+1|0}while((0|d)!=(0|r))}0|(r=0|_[t+760>>2])&&(0|n[t+764|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+760>>2]=0),n[t+764|0]=1,_[t+760>>2]=m,_[t+756>>2]=y,r=0|_[t+752>>2]}f=0|_[t+760>>2],_[f+(44*r|0)>>2]=0,_[f+(44*r|0)+4>>2]=h,A=s,u=36+(f=f+(44*r|0)+8|0)|0;do{_[f>>2]=_[A>>2],f=f+4|0,A=A+4|0}while((0|f)<(0|u));y=0|_[t+752>>2],_[t+752>>2]=y+1,h=0|_[t+760>>2],f=0|_[t+720>>2],_[h+(44*y|0)+8>>2]=f+(104*e|0),u=0|_[t+720>>2],_[h+(44*y|0)+12>>2]=u+(104*i|0),m=0|_[t+720>>2],_[h+(44*y|0)+16>>2]=m+(104*o|0),C=+p[f+(104*e|0)+8>>2],v=+p[f+(104*e|0)+12>>2],g=+p[f+(104*e|0)+16>>2],c=+p[u+(104*i|0)+8>>2]-C,l=+p[u+(104*i|0)+12>>2]-v,a=+p[u+(104*i|0)+16>>2]-g,C=+p[m+(104*o|0)+8>>2]-C,v=+p[m+(104*o|0)+12>>2]-v,g=+p[m+(104*o|0)+16>>2]-g,g=+b(+((c*v-l*C)*(c*v-l*C)+((l*g-a*v)*(l*g-a*v)+(a*C-c*g)*(a*C-c*g)))),p[h+(44*y|0)+36>>2]=g,n[t+924|0]=1,Q=s}}function at(t,e){var i,o,r=0,s=0,c=0,a=0;r=+p[1192+(t|=0)+((e|=0)<<2)>>2],i=+p[t+868+(e<<6)>>2],o=+p[t+868+(e<<6)+4>>2];do{if(!(i>=o)){if(r3.1415927410125732?(i-r)%6.2831854820251465-6.2831854820251465:(i-r)%6.2831854820251465)))<+d(+((o-r)%6.2831854820251465<-3.1415927410125732?(o-r)%6.2831854820251465+6.2831854820251465:(o-r)%6.2831854820251465>3.1415927410125732?(o-r)%6.2831854820251465-6.2831854820251465:(o-r)%6.2831854820251465))?r:r+6.2831854820251465;break}r>o&&(s=+d(+((r-o)%6.2831854820251465<-3.1415927410125732?(r-o)%6.2831854820251465+6.2831854820251465:(r-o)%6.2831854820251465>3.1415927410125732?(r-o)%6.2831854820251465-6.2831854820251465:(r-o)%6.2831854820251465)),r=+d(+((r-i)%6.2831854820251465<-3.1415927410125732?(r-i)%6.2831854820251465+6.2831854820251465:(r-i)%6.2831854820251465>3.1415927410125732?(r-i)%6.2831854820251465-6.2831854820251465:(r-i)%6.2831854820251465))>2]=r;do{if(i>o)c=t+868+(e<<6)+56|0,a=34;else{if(i>r){if(_[t+868+(e<<6)+56>>2]=1,r-=i,p[t+868+(e<<6)+48>>2]=r,r>3.1415927410125732){p[t+868+(e<<6)+48>>2]=r+-6.2831854820251465;break}if(!(r<-3.1415927410125732))break;p[t+868+(e<<6)+48>>2]=r+6.2831854820251465;break}if(o>2]=2,r-=o,p[t+868+(e<<6)+48>>2]=r,r>3.1415927410125732){p[t+868+(e<<6)+48>>2]=r+-6.2831854820251465;break}r<-3.1415927410125732&&(p[t+868+(e<<6)+48>>2]=r+6.2831854820251465)}else c=t+868+(e<<6)+56|0,a=34}}while(0);return 34!=(0|a)||(_[c>>2]=0,0|n[t+868+(e<<6)+44|0])?1:0}function lt(t,e,i){e|=0,i|=0;var o=0,r=0,s=0;if(_[4+(t|=0)>>2]=1065353216,_[t+8>>2]=1065353216,_[t+12>>2]=1065353216,p[t+16>>2]=0,n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,_[t+48>>2]=0,_[t>>2]=9448,n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,n[t+140|0]=1,_[t+136>>2]=0,_[t+128>>2]=0,_[t+132>>2]=0,n[t+160|0]=1,_[t+156>>2]=0,_[t+148>>2]=0,_[t+152>>2]=0,n[t+164|0]=1&e,n[t+165|0]=1&i,p[t+168>>2]=0,_[6630]=1+(0|_[6630]),(e=0|di(51))?(_[(e+4+15&-16)-4>>2]=e,o=e+4+15&-16):o=0,(0|(i=0|_[t+24>>2]))>0){e=0;do{r=o+(e<<5)|0,s=(0|_[t+32>>2])+(e<<5)|0,_[r>>2]=_[s>>2],_[r+4>>2]=_[s+4>>2],_[r+8>>2]=_[s+8>>2],_[r+12>>2]=_[s+12>>2],_[r+16>>2]=_[s+16>>2],_[r+20>>2]=_[s+20>>2],_[r+24>>2]=_[s+24>>2],_[r+28>>2]=_[s+28>>2],e=e+1|0}while((0|e)!=(0|i))}return 0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=o,_[t+28>>2]=1,s=0|_[t+24>>2],_[o+(s<<5)>>2]=0,_[o+(s<<5)+4>>2]=0,_[o+(s<<5)+8>>2]=12,_[o+(s<<5)+12>>2]=0,_[o+(s<<5)+16>>2]=0,_[o+(s<<5)+20>>2]=16,_[o+(s<<5)+24>>2]=2,_[o+(s<<5)+28>>2]=0,_[t+24>>2]=1+(0|_[t+24>>2]),s=!(0|n[t+164|0]),e=0|_[t+32>>2],_[e>>2]=(0|_[(s?t+148:t+128)>>2])/3|0,_[e+4>>2]=0,_[e+24>>2]=s?3:2,_[e+8>>2]=s?6:12,0|n[t+165|0]?(r=16,t=0|_[t+88>>2],_[(s=e+12|0)>>2]=t,_[(s=e+16|0)>>2]=0,void(_[(s=e+20|0)>>2]=r)):(r=12,t=(0|_[t+108>>2])/3|0,_[(s=e+12|0)>>2]=t,_[(s=e+16|0)>>2]=0,void(_[(s=e+20|0)>>2]=r))}function dt(t,e){t|=0;var i,n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0;if(i=Q,Q=Q+32|0,(0|(e|=0))<0&&(e=0|_[t+12>>2]),(0|e)>0&!!(0|(n=0|_[t>>2]))){for(;;){if(0|_[(o=n+40|0)>>2])for(d=0;(p=0|_[(s=n+32|0)>>2])>>>0>n>>>0&&(c=(0|_[p+40>>2])==(0|n),a=0|_[p+36+((1&(1^c))<<2)>>2],r=(l=0|_[p+32>>2])?l+36+(((0|_[l+40>>2])==(0|p)&1)<<2)|0:t,_[r>>2]=n,_[a+32>>2]=n,_[p+32>>2]=n,_[s>>2]=l,l=n+36|0,_[p+36>>2]=_[l>>2],_[p+40>>2]=_[o>>2],_[32+(0|_[l>>2])>>2]=p,_[32+(0|_[o>>2])>>2]=p,_[n+36+((1&c)<<2)>>2]=p,_[n+36+((1&(1^c))<<2)>>2]=a,_[i>>2]=_[p>>2],_[i+4>>2]=_[p+4>>2],_[i+8>>2]=_[p+8>>2],_[i+12>>2]=_[p+12>>2],_[i+16>>2]=_[p+16>>2],_[i+20>>2]=_[p+20>>2],_[i+24>>2]=_[p+24>>2],_[i+28>>2]=_[p+28>>2],_[p>>2]=_[n>>2],_[p+4>>2]=_[n+4>>2],_[p+8>>2]=_[n+8>>2],_[p+12>>2]=_[n+12>>2],_[p+16>>2]=_[n+16>>2],_[p+20>>2]=_[n+20>>2],_[p+24>>2]=_[n+24>>2],_[p+28>>2]=_[n+28>>2],_[n>>2]=_[i>>2],_[n+4>>2]=_[i+4>>2],_[n+8>>2]=_[i+8>>2],_[n+12>>2]=_[i+12>>2],_[n+16>>2]=_[i+16>>2],_[n+20>>2]=_[i+20>>2],_[n+24>>2]=_[i+24>>2],_[n+28>>2]=_[i+28>>2],n=p),o=0|_[t+16>>2],n=0|_[n+36+((1&(d?o>>>d:o))<<2)>>2],0|_[(o=n+40|0)>>2];)d=d+1&31;if(U(t,o=0|Tt(t,n)?0|_[t>>2]:0,n),_[t+16>>2]=1+(0|_[t+16>>2]),!(e=e+-1|0))break;n=0|_[t>>2]}Q=i}else Q=i}function bt(t,e,i,o,r,s,p,c,a){e|=0,i|=0,o|=0,r|=0,s|=0,p|=0,c|=0,a|=0;var l,d=0;return l=Q,Q=Q+16|0,(0|_[924+(t|=0)>>2]||0|n[t+912|0])&&(_[l>>2]=_[t+1208>>2],_[l+4>>2]=_[t+1208+4>>2],_[l+8>>2]=_[t+1208+8>>2],_[l+12>>2]=_[t+1208+12>>2],512&(d=0|_[t+1304>>2])||(_[t+896>>2]=_[_[e+32>>2]>>2]),1024&d||(_[t+904>>2]=_[_[e+32>>2]>>2]),2048&d||(_[t+900>>2]=_[e+4>>2]),i=(0|he(t,t+868|0,o,r,s,p,c,a,e,i,l,1,0))+i|0),(0|_[t+988>>2]||0|n[t+976|0])&&(_[l>>2]=_[t+1224>>2],_[l+4>>2]=_[t+1224+4>>2],_[l+8>>2]=_[t+1224+8>>2],_[l+12>>2]=_[t+1224+12>>2],4096&(d=0|_[t+1304>>2])||(_[t+960>>2]=_[_[e+32>>2]>>2]),8192&d||(_[t+968>>2]=_[_[e+32>>2]>>2]),16384&d||(_[t+964>>2]=_[e+4>>2]),i=(0|he(t,t+932|0,o,r,s,p,c,a,e,i,l,1,0))+i|0),0|_[t+1052>>2]||0|n[t+1040|0]?(_[l>>2]=_[t+1240>>2],_[l+4>>2]=_[t+1240+4>>2],_[l+8>>2]=_[t+1240+8>>2],_[l+12>>2]=_[t+1240+12>>2],32768&(d=0|_[t+1304>>2])||(_[t+1024>>2]=_[_[e+32>>2]>>2]),65536&d||(_[t+1032>>2]=_[_[e+32>>2]>>2]),131072&d||(_[t+1028>>2]=_[e+4>>2]),a=(0|he(t,t+996|0,o,r,s,p,c,a,e,i,l,1,0))+i|0,Q=l,0|a):(Q=l,0|(a=i))}function At(t){var e=0;if(_[(t|=0)>>2]=5656,0|(e=0|_[t+176>>2])&&(0|n[t+180|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+176>>2]=0),n[t+180|0]=1,_[t+176>>2]=0,_[t+168>>2]=0,_[t+172>>2]=0,0|(e=0|_[t+156>>2])&&(0|n[t+160|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+156>>2]=0),n[t+160|0]=1,_[t+156>>2]=0,_[t+148>>2]=0,_[t+152>>2]=0,0|(e=0|_[t+136>>2])&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+136>>2]=0),n[t+140|0]=1,_[t+136>>2]=0,_[t+128>>2]=0,_[t+132>>2]=0,0|(e=0|_[t+116>>2])&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+116>>2]=0),n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,0|(e=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,0|(e=0|_[t+76>>2])&&(0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+76>>2]=0),n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[t+72>>2]=0,0|(e=0|_[t+56>>2])&&(0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+56>>2]=0),n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,0|(e=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,!(e=0|_[t+16>>2]))return n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[(t=t+12|0)>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[(t=t+12|0)>>2]=0}function ft(t,e,i,o){e|=0,i|=0,o|=0;var r,s,c=0,a=0,l=0,d=0;if(s=Q,Q=Q+16|0,_[8+(t|=0)>>2]=0,_[t+12>>2]=1065353216,_[t+16>>2]=1065353216,_[t+20>>2]=1065353216,p[t+24>>2]=0,p[t+44>>2]=.03999999910593033,_[t+52>>2]=0,_[t+56>>2]=1065353216,_[t+60>>2]=1065353216,_[t+64>>2]=1065353216,p[t+68>>2]=0,_[t+72>>2]=-1082130432,_[t+76>>2]=-1082130432,_[t+80>>2]=-1082130432,p[t+84>>2]=0,n[t+88|0]=0,_[t>>2]=8252,n[t+108|0]=1,_[t+104>>2]=0,_[t+96>>2]=0,_[t+100>>2]=0,_[t+4>>2]=4,(0|i)<=0)return _[t+96>>2]=i,nn(t),void(Q=s);if(_[6630]=1+(0|_[6630]),(c=0|di(16+(i<<4|3)|0))?(_[(c+4+15&-16)-4>>2]=c,a=c+4+15&-16):a=0,(0|(r=0|_[t+96>>2]))>0){c=0;do{l=a+(c<<4)|0,d=(0|_[t+104>>2])+(c<<4)|0,_[l>>2]=_[d>>2],_[l+4>>2]=_[d+4>>2],_[l+8>>2]=_[d+8>>2],_[l+12>>2]=_[d+12>>2],c=c+1|0}while((0|c)!=(0|r))}if(0|(c=0|_[t+104>>2])&&(0|n[t+108|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[t+104>>2]=0),n[t+108|0]=1,_[t+104>>2]=a,_[t+100>>2]=i,_[a>>2]=_[s>>2],_[a+4>>2]=_[s+4>>2],_[a+8>>2]=_[s+8>>2],_[a+12>>2]=_[s+12>>2],1!=(0|i)){c=1;do{d=(0|_[t+104>>2])+(c<<4)|0,_[d>>2]=_[s>>2],_[d+4>>2]=_[s+4>>2],_[d+8>>2]=_[s+8>>2],_[d+12>>2]=_[s+12>>2],c=c+1|0}while((0|c)!=(0|i))}for(_[t+96>>2]=i,c=0;a=0|_[e+4>>2],l=0|_[e+8>>2],d=0|_[t+104>>2],_[d+(c<<4)>>2]=_[e>>2],_[d+(c<<4)+4>>2]=a,_[d+(c<<4)+8>>2]=l,p[d+(c<<4)+12>>2]=0,(0|(c=c+1|0))!=(0|i);)e=e+o|0;nn(t),Q=s}function ut(t,e,i,o,r){var s;e=+e,i|=0,o|=0,r|=0,s=Q,Q=Q+144|0,_[164+(t|=0)>>2]=1065353216,_[t+168>>2]=1065353216,_[t+172>>2]=1065353216,p[t+176>>2]=0,_[t+180>>2]=0,p[t+184>>2]=0xde0b6b000000000,_[t+188>>2]=0,_[t+188+4>>2]=0,_[t+188+8>>2]=0,_[t+188+12>>2]=0,_[t+204>>2]=1,_[t+208>>2]=-1,_[t+212>>2]=-1,_[t+216>>2]=1,p[t+220>>2]=0,p[t+224>>2]=.5,p[t+228>>2]=0,p[t+232>>2]=0,_[t+236>>2]=1,_[t+240>>2]=0,p[t+244>>2]=1,_[t+248>>2]=0,_[t+248+4>>2]=0,_[t+248+8>>2]=0,_[t+248+12>>2]=0,_[t+4>>2]=1065353216,_[t+8>>2]=0,_[t+8+4>>2]=0,_[t+8+8>>2]=0,_[t+8+12>>2]=0,_[t+24>>2]=1065353216,_[t+28>>2]=0,_[t+28+4>>2]=0,_[t+28+8>>2]=0,_[t+28+12>>2]=0,_[t+44>>2]=1065353216,_[t+48>>2]=0,_[t+48+4>>2]=0,_[t+48+8>>2]=0,_[t+48+12>>2]=0,_[t+48+16>>2]=0,_[t>>2]=4956,n[t+500|0]=1,_[t+496>>2]=0,_[t+488>>2]=0,_[t+492>>2]=0,p[s>>2]=e,_[s+4>>2]=i,_[s+72>>2]=o,_[s+76>>2]=_[r>>2],_[s+76+4>>2]=_[r+4>>2],_[s+76+8>>2]=_[r+8>>2],_[s+76+12>>2]=_[r+12>>2],p[s+92>>2]=0,p[s+96>>2]=0,p[s+100>>2]=.5,p[s+104>>2]=0,p[s+108>>2]=0,p[s+112>>2]=.800000011920929,p[s+116>>2]=1,n[s+120|0]=0,p[s+124>>2]=.004999999888241291,p[s+128>>2]=.009999999776482582,p[s+132>>2]=.009999999776482582,p[s+136>>2]=.009999999776482582,_[s+8>>2]=1065353216,_[s+12>>2]=0,_[s+12+4>>2]=0,_[s+12+8>>2]=0,_[s+12+12>>2]=0,_[s+28>>2]=1065353216,_[s+32>>2]=0,_[s+32+4>>2]=0,_[s+32+8>>2]=0,_[s+32+12>>2]=0,_[s+48>>2]=1065353216,_[s+52>>2]=0,_[s+52+4>>2]=0,_[s+52+8>>2]=0,_[s+52+12>>2]=0,_[s+52+16>>2]=0,Ce(t,s),Q=s}function mt(t,e){var i=0,o=0,r=0,s=0,p=0,c=0;if(We(t|=0,e|=0),_[t>>2]=3916,_[6630]=1+(0|_[6630]),i=0|di(27),_[(p=i+4+15&-16)-4>>2]=i,n[p+4|0]=0,_[(i+4+15&-16)>>2]=3948,_[t+92>>2]=p,_[6630]=1+(0|_[6630]),p=0|di(27),_[(i=p+4+15&-16)-4>>2]=p,n[i+4|0]=0,_[(p+4+15&-16)>>2]=3968,_[t+96>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[i>>2]=3968,_[t+100>>2]=i,n[i+4|0]=1,_[6630]=1+(0|_[6630]),p=0|di(27),_[(i=p+4+15&-16)-4>>2]=p,n[i+4|0]=0,_[(p+4+15&-16)>>2]=3988,_[t+104>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[i>>2]=4008,_[t+108>>2]=i,n[i+4|0]=1,0|n[t+20|0]&&(i=0|_[t+16>>2])&&!((0|_[i>>2])>=156)){if((o=0|_[i+16>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),(i=0|_[t+16>>2])?(o=t+16|0,r=11):p=t+16|0):(o=t+16|0,r=11),11==(0|r)&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),p=o),_[6630]=1+(0|_[6630]),(i=0|di(39))?(_[(i+4+15&-16)-4>>2]=i,s=i+4+15&-16):s=0,i=0|_[e+12>>2],_[s>>2]=156,_[(o=s+4|0)>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(16+(156*i|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[s+16>>2]=i,_[s+12>>2]=i,t=0|_[o>>2],_[s+8>>2]=t,t+-1|0){r=0|_[s>>2],o=i,e=t+-1|0;do{c=o,o=o+r|0,_[c>>2]=o,e=e+-1|0}while(0|e);i=i+(0|g(r,t+-1|0))|0}_[i>>2]=0,_[p>>2]=s}}function ht(t){var e=0,i=0,n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0;if((0|(i=0|_[712+(t|=0)>>2]))>0){e=0;do{l=(0|_[t+720>>2])+(104*e|0)+72|0,e=e+1|0,_[l>>2]=0,_[l+4>>2]=0,_[l+8>>2]=0,_[l+12>>2]=0}while((0|e)!=(0|i))}if((0|(i=0|_[t+752>>2]))>0){e=0;do{f=0|_[t+760>>2],c=0|_[f+(44*e|0)+12>>2],r=0|_[f+(44*e|0)+8>>2],a=+p[r+8>>2],n=+p[c+8>>2]-a,o=+p[r+12>>2],s=+p[c+12>>2]-o,d=+p[r+16>>2],A=+p[c+16>>2]-d,l=0|_[f+(44*e|0)+16>>2],a=+p[l+8>>2]-a,o=+p[l+12>>2]-o,d=+p[l+16>>2]-d,u=1/+b(+((n*o-s*a)*(n*o-s*a)+((s*d-A*o)*(s*d-A*o)+(A*a-n*d)*(A*a-n*d)))),p[f+(44*e|0)+20>>2]=(s*d-A*o)*u,p[f+(44*e|0)+24>>2]=(A*a-n*d)*u,p[f+(44*e|0)+28>>2]=(n*o-s*a)*u,_[f+(44*e|0)+32>>2]=0,p[r+72>>2]=s*d-A*o+ +p[r+72>>2],p[r+76>>2]=A*a-n*d+ +p[r+76>>2],p[r+80>>2]=n*o-s*a+ +p[r+80>>2],p[c+72>>2]=s*d-A*o+ +p[c+72>>2],p[c+76>>2]=A*a-n*d+ +p[c+76>>2],p[c+80>>2]=n*o-s*a+ +p[c+80>>2],p[l+72>>2]=s*d-A*o+ +p[l+72>>2],p[l+76>>2]=A*a-n*d+ +p[l+76>>2],p[l+80>>2]=n*o-s*a+ +p[l+80>>2],e=e+1|0}while((0|e)!=(0|i))}if(!((0|(l=0|_[t+712>>2]))<=0)){t=0|_[t+720>>2],e=0;do{s=+p[(r=t+(104*e|0)+72|0)>>2],a=+p[(c=t+(104*e|0)+76|0)>>2],n=+p[(i=t+(104*e|0)+80|0)>>2],(o=+b(+(s*s+a*a+n*n)))>1.1920928955078125e-7&&(p[r>>2]=s*(1/o),p[c>>2]=a*(1/o),p[i>>2]=n*(1/o)),e=e+1|0}while((0|e)!=(0|l))}}function yt(t,e){e|=0;var i=0,r=0,s=0,p=0,c=0,a=0,l=0;if(0|n[164+(t|=0)|0]){if((0|(i=0|_[t+128>>2]))==(0|_[t+132>>2])&&(0|i)<(0|(c=0|i?i<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(i=0|di(16+(c<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,p=i,i=0|_[t+128>>2]):p=0,s=0|_[t+136>>2],(0|i)<=0)s?l=13:r=t+140|0;else{r=0;do{_[p+(r<<2)>>2]=_[s+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|i));l=13}13==(0|l)&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+136>>2]=0,r=t+140|0,i=0|_[t+128>>2]),n[0|r]=1,_[t+136>>2]=p,_[t+132>>2]=c}return l=0|_[t+136>>2],_[l+(i<<2)>>2]=e,_[t+128>>2]=1+(0|_[t+128>>2]),void(_[4+(0|_[t+32>>2])>>2]=l)}if((0|(i=0|_[t+148>>2]))==(0|_[t+152>>2])&&(0|i)<(0|(a=0|i?i<<1:1))){if(a?(_[6630]=1+(0|_[6630]),(i=0|di(19+(a<<1)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,p=i,i=0|_[t+148>>2]):p=0,s=0|_[t+156>>2],(0|i)<=0)s?l=29:r=t+160|0;else{r=0;do{o[p+(r<<1)>>1]=0|o[s+(r<<1)>>1],r=r+1|0}while((0|r)!=(0|i));l=29}29==(0|l)&&(0|n[t+160|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),i=0|_[t+148>>2]),_[t+156>>2]=0,r=t+160|0),n[0|r]=1,_[t+156>>2]=p,_[t+152>>2]=a}return l=0|_[t+156>>2],o[l+(i<<1)>>1]=e,_[t+148>>2]=i+1,void(_[4+(0|_[t+32>>2])>>2]=l)}function gt(t,e,i){t|=0,e|=0;var n,o,r,s=0,c=0,a=0,l=0;0!=(s=+p[128+(i|=0)>>2])&&(_[6450]=1+(0|_[6450]),a=+p[i+96>>2],n=+p[i+16>>2],o=+p[i+20>>2],r=+p[i+24>>2],c=+p[i+108>>2],s=a+(c=s-a*+p[i+116>>2]-(n*+p[t+144>>2]+o*+p[t+148>>2]+r*+p[t+152>>2]+(+p[i>>2]*+p[t+160>>2]+ +p[i+4>>2]*+p[t+164>>2]+ +p[i+8>>2]*+p[t+168>>2]))*c-c*(+p[i+48>>2]*+p[e+144>>2]+ +p[i+52>>2]*+p[e+148>>2]+ +p[i+56>>2]*+p[e+152>>2]+(+p[i+32>>2]*+p[e+160>>2]+ +p[i+36>>2]*+p[e+164>>2]+ +p[i+40>>2]*+p[e+168>>2])))<(l=+p[i+120>>2])?l-a:c,p[i+96>>2]=a+c>2]&&(l=s*(o*+p[t+132>>2])*+p[t+116>>2],a=s*(r*+p[t+136>>2])*+p[t+120>>2],p[t+144>>2]=+p[t+112>>2]*(s*(n*+p[t+128>>2]))+ +p[t+144>>2],p[t+148>>2]=l+ +p[t+148>>2],p[t+152>>2]=a+ +p[t+152>>2],a=s*+p[t+100>>2]*+p[i+68>>2],l=s*+p[t+104>>2]*+p[i+72>>2],p[t+160>>2]=s*+p[t+96>>2]*+p[i+64>>2]+ +p[t+160>>2],p[t+164>>2]=a+ +p[t+164>>2],p[t+168>>2]=l+ +p[t+168>>2]),0|_[e+240>>2]&&(l=s*(+p[i+52>>2]*+p[e+132>>2])*+p[e+116>>2],a=s*(+p[i+56>>2]*+p[e+136>>2])*+p[e+120>>2],p[e+144>>2]=+p[e+112>>2]*(s*(+p[i+48>>2]*+p[e+128>>2]))+ +p[e+144>>2],p[e+148>>2]=l+ +p[e+148>>2],p[e+152>>2]=a+ +p[e+152>>2],a=s*+p[e+100>>2]*+p[i+84>>2],l=s*+p[e+104>>2]*+p[i+88>>2],p[e+160>>2]=s*+p[e+96>>2]*+p[i+80>>2]+ +p[e+160>>2],p[e+164>>2]=a+ +p[e+164>>2],p[e+168>>2]=l+ +p[e+168>>2]))}function Ct(t,e,i){t|=0,e|=0;var n,o,r=0,s=0,c=0,a=0,l=0;n=+p[100+(i|=0)>>2],o=+p[i+16>>2],a=+p[i+20>>2],l=+p[i+24>>2],s=+p[i+108>>2],n+(s=+p[i+112>>2]-n*+p[i+116>>2]-(o*+p[t+64>>2]+a*+p[t+68>>2]+l*+p[t+72>>2]+(+p[i>>2]*+p[t+80>>2]+ +p[i+4>>2]*+p[t+84>>2]+ +p[i+8>>2]*+p[t+88>>2]))*s-s*(+p[i+48>>2]*+p[e+64>>2]+ +p[i+52>>2]*+p[e+68>>2]+ +p[i+56>>2]*+p[e+72>>2]+(+p[i+32>>2]*+p[e+80>>2]+ +p[i+36>>2]*+p[e+84>>2]+ +p[i+40>>2]*+p[e+88>>2])))<(r=+p[i+120>>2])||n+s>(r=+p[i+124>>2])?c=r-n:(c=s,r=n+s),p[i+100>>2]=r,0|_[t+240>>2]&&(s=c*(a*+p[t+132>>2])*+p[t+116>>2],a=c*(l*+p[t+136>>2])*+p[t+120>>2],p[t+64>>2]=+p[t+112>>2]*(c*(o*+p[t+128>>2]))+ +p[t+64>>2],p[t+68>>2]=s+ +p[t+68>>2],p[t+72>>2]=a+ +p[t+72>>2],a=c*+p[t+100>>2]*+p[i+68>>2],l=c*+p[t+104>>2]*+p[i+72>>2],p[t+80>>2]=c*+p[t+96>>2]*+p[i+64>>2]+ +p[t+80>>2],p[t+84>>2]=a+ +p[t+84>>2],p[t+88>>2]=l+ +p[t+88>>2]),0|_[e+240>>2]&&(l=c*(+p[i+52>>2]*+p[e+132>>2])*+p[e+116>>2],a=c*(+p[i+56>>2]*+p[e+136>>2])*+p[e+120>>2],p[e+64>>2]=+p[e+112>>2]*(c*(+p[i+48>>2]*+p[e+128>>2]))+ +p[e+64>>2],p[e+68>>2]=l+ +p[e+68>>2],p[e+72>>2]=a+ +p[e+72>>2],a=c*+p[e+100>>2]*+p[i+84>>2],l=c*+p[e+104>>2]*+p[i+88>>2],p[e+80>>2]=c*+p[e+96>>2]*+p[i+80>>2]+ +p[e+80>>2],p[e+84>>2]=a+ +p[e+84>>2],p[e+88>>2]=l+ +p[e+88>>2])}function vt(t,e,i){t|=0,e|=0;var n,o,r,s,c=0,a=0,l=0;a=+p[100+(i|=0)>>2],o=+p[i+16>>2],r=+p[i+20>>2],s=+p[i+24>>2],c=+p[i+108>>2],n=a+(c=+p[i+112>>2]-a*+p[i+116>>2]-(o*+p[t+64>>2]+r*+p[t+68>>2]+s*+p[t+72>>2]+(+p[i>>2]*+p[t+80>>2]+ +p[i+4>>2]*+p[t+84>>2]+ +p[i+8>>2]*+p[t+88>>2]))*c-c*(+p[i+48>>2]*+p[e+64>>2]+ +p[i+52>>2]*+p[e+68>>2]+ +p[i+56>>2]*+p[e+72>>2]+(+p[i+32>>2]*+p[e+80>>2]+ +p[i+36>>2]*+p[e+84>>2]+ +p[i+40>>2]*+p[e+88>>2])))<(l=+p[i+120>>2])?l-a:c,p[i+100>>2]=a+c>2]&&(l=n*(r*+p[t+132>>2])*+p[t+116>>2],a=n*(s*+p[t+136>>2])*+p[t+120>>2],p[t+64>>2]=+p[t+112>>2]*(n*(o*+p[t+128>>2]))+ +p[t+64>>2],p[t+68>>2]=l+ +p[t+68>>2],p[t+72>>2]=a+ +p[t+72>>2],a=n*+p[t+100>>2]*+p[i+68>>2],l=n*+p[t+104>>2]*+p[i+72>>2],p[t+80>>2]=n*+p[t+96>>2]*+p[i+64>>2]+ +p[t+80>>2],p[t+84>>2]=a+ +p[t+84>>2],p[t+88>>2]=l+ +p[t+88>>2]),0|_[e+240>>2]&&(l=n*(+p[i+52>>2]*+p[e+132>>2])*+p[e+116>>2],a=n*(+p[i+56>>2]*+p[e+136>>2])*+p[e+120>>2],p[e+64>>2]=+p[e+112>>2]*(n*(+p[i+48>>2]*+p[e+128>>2]))+ +p[e+64>>2],p[e+68>>2]=l+ +p[e+68>>2],p[e+72>>2]=a+ +p[e+72>>2],a=n*+p[e+100>>2]*+p[i+84>>2],l=n*+p[e+104>>2]*+p[i+88>>2],p[e+80>>2]=n*+p[e+96>>2]*+p[i+80>>2]+ +p[e+80>>2],p[e+84>>2]=a+ +p[e+84>>2],p[e+88>>2]=l+ +p[e+88>>2])}function St(t,e,i,o){e|=0,i|=0,o|=0;var r,s=0,p=0,c=0,a=0;if(r=Q,Q=Q+96|0,(0|(s=0|_[8+(t|=0)>>2]))==(0|_[t+12>>2])&&(0|s)<(0|(a=0|s?s<<1:1))){if(a?(_[6630]=1+(0|_[6630]),(s=0|di(16+(a<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,c=s,s=0|_[t+8>>2]):c=0,(0|s)>0){p=0;do{_[c+(p<<2)>>2]=_[(0|_[t+16>>2])+(p<<2)>>2],p=p+1|0}while((0|p)!=(0|s))}(p=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2]),s=0|_[t+8>>2]),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=c,_[t+12>>2]=a}_[(0|_[t+16>>2])+(s<<2)>>2]=e,_[t+8>>2]=s+1,_[r+32>>2]=_[e+4>>2],_[r+32+4>>2]=_[e+4+4>>2],_[r+32+8>>2]=_[e+4+8>>2],_[r+32+12>>2]=_[e+4+12>>2],_[r+32+16>>2]=_[e+20>>2],_[r+32+16+4>>2]=_[e+20+4>>2],_[r+32+16+8>>2]=_[e+20+8>>2],_[r+32+16+12>>2]=_[e+20+12>>2],_[r+32+32>>2]=_[e+36>>2],_[r+32+32+4>>2]=_[e+36+4>>2],_[r+32+32+8>>2]=_[e+36+8>>2],_[r+32+32+12>>2]=_[e+36+12>>2],_[r+32+48>>2]=_[e+52>>2],_[r+32+48+4>>2]=_[e+52+4>>2],_[r+32+48+8>>2]=_[e+52+8>>2],_[r+32+48+12>>2]=_[e+52+12>>2],a=0|_[e+192>>2],pd[127&_[8+(0|_[a>>2])>>2]](a,r+32|0,r+16|0,r),a=0|_[t+68>>2],o=0|Ul[3&_[8+(0|_[a>>2])>>2]](a,r+16|0,r,0|_[4+(0|_[e+192>>2])>>2],e,i,o,0|_[t+24>>2],0),_[e+188>>2]=o,Q=r}function wt(t,e,i,n){var o,r,s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B,W,F,x,O,T;e|=0,i|=0,n|=0,T=+p[4+(t|=0)>>2],O=+p[t+20>>2],x=+p[t+36>>2],W=+p[t+8>>2],B=+p[t+24>>2],I=+p[t+40>>2],j=+p[t+12>>2],k=+p[t+28>>2],S=+p[t+44>>2],g=+p[e+4>>2],y=+p[e+20>>2],h=+p[e+36>>2],u=+p[e+8>>2],f=+p[e+24>>2],A=+p[e+40>>2],d=+p[e+12>>2],a=+p[e+28>>2],s=+p[e+44>>2],_[i>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,R=+p[n>>2],w=+p[n+4>>2],v=+p[n+8>>2],p[i+16>>2]=T*R+O*w+x*v,p[i+20>>2]=W*R+B*w+I*v,p[i+24>>2]=j*R+k*w+S*v,p[i+28>>2]=0,l=-+p[n>>2],c=-+p[n+4>>2],r=-+p[n+8>>2],p[i+32>>2]=g*l+y*c+h*r,p[i+36>>2]=u*l+f*c+A*r,p[i+40>>2]=d*l+a*c+s*r,p[i+44>>2]=0,F=(T*R+O*w+x*v)*+p[t+396>>2],D=(W*R+B*w+I*v)*+p[t+400>>2],C=(j*R+k*w+S*v)*+p[t+404>>2],p[i+48>>2]=F,p[i+52>>2]=D,p[i+56>>2]=C,p[i+60>>2]=0,m=(g*l+y*c+h*r)*+p[e+396>>2],b=(u*l+f*c+A*r)*+p[e+400>>2],o=(d*l+a*c+s*r)*+p[e+404>>2],p[i+64>>2]=m,p[i+68>>2]=b,p[i+72>>2]=o,p[i+76>>2]=0,p[i+80>>2]=(T*R+O*w+x*v)*F+(W*R+B*w+I*v)*D+(j*R+k*w+S*v)*C+((g*l+y*c+h*r)*m+(u*l+f*c+A*r)*b+(d*l+a*c+s*r)*o)}function kt(t){var e=0,i=0,o=0;if(_[(t|=0)>>2]=4992,0|n[t+272|0]&&(e=0|_[t+204>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+204>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|(e=0|_[t+196>>2])&&(Xl[511&_[_[e>>2]>>2]](e),0|(i=0|_[t+196>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),0|n[t+273|0]&&(o=0|_[t+200>>2],Xl[511&_[_[o>>2]>>2]](o),0|(o=0|_[t+200>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])),0|(e=0|_[t+316>>2])&&(0|n[t+320|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+316>>2]=0),n[t+320|0]=1,_[t+316>>2]=0,_[t+308>>2]=0,_[t+312>>2]=0,0|(e=0|_[t+288>>2])&&(0|n[t+292|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+288>>2]=0),n[t+292|0]=1,_[t+288>>2]=0,_[t+280>>2]=0,_[t+284>>2]=0,0|(e=0|_[t+240>>2])&&(0|n[t+244|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+240>>2]=0),n[t+244|0]=1,_[t+240>>2]=0,_[t+232>>2]=0,_[t+236>>2]=0,0|(e=0|_[t+220>>2])&&(0|n[t+224|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+220>>2]=0),n[t+224|0]=1,_[t+220>>2]=0,_[t+212>>2]=0,_[t+216>>2]=0,!(e=0|_[t+188>>2]))return n[t+192|0]=1,_[t+188>>2]=0,_[t+180>>2]=0,_[(o=t+184|0)>>2]=0,void cn(t);0|n[t+192|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+188>>2]=0,n[t+192|0]=1,_[t+188>>2]=0,_[t+180>>2]=0,_[(o=t+184|0)>>2]=0,cn(t)}function Rt(t,e,i){t|=0,e|=0,i|=0;for(var n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0;;){for(d=0|_[t+12>>2],b=0|_[d+((e+i|0)/2<<2)>>2],n=e,o=i;;){if((0|(l=0|_[208+(0|_[b+740>>2])>>2]))>-1)for(;;){if(s=0|_[(p=d+(n<<2)|0)>>2],(0|(r=0|_[208+(0|_[s+740>>2])>>2]))<=-1&&(r=0|_[208+(0|_[s+744>>2])>>2]),!((0|r)<(0|l))){a=p;break}n=n+1|0}else for(p=0|_[208+(0|_[b+744>>2])>>2];;){if(s=0|_[(c=d+(n<<2)|0)>>2],(0|(r=0|_[208+(0|_[s+740>>2])>>2]))<=-1&&(r=0|_[208+(0|_[s+744>>2])>>2]),!((0|r)<(0|p))){a=c;break}n=n+1|0}if((0|l)>-1)for(;p=0|_[(r=d+(o<<2)|0)>>2],(0|(s=0|_[208+(0|_[p+740>>2])>>2]))<=-1&&(s=0|_[208+(0|_[p+744>>2])>>2]),(0|l)<(0|s);)o=o+-1|0;else for(c=0|_[208+(0|_[b+744>>2])>>2];p=0|_[(r=d+(o<<2)|0)>>2],(0|(s=0|_[208+(0|_[p+740>>2])>>2]))<=-1&&(s=0|_[208+(0|_[p+744>>2])>>2]),(0|c)<(0|s);)o=o+-1|0;if((0|n)<=(0|o)&&(d=0|_[a>>2],_[a>>2]=_[r>>2],_[(0|_[t+12>>2])+(o<<2)>>2]=d,n=n+1|0,o=o+-1|0),(0|n)>(0|o))break;d=0|_[t+12>>2]}if((0|o)>(0|e)&&Rt(t,e,o),!((0|n)<(0|i)))break;e=n}}function jt(t,e,i){t|=0,i|=0;var o,r,s,c,a,l,d,b,A,f,u,m,h=0,y=0,g=0,C=0;o=Q,Q=Q+64|0,n[84+(e|=0)|0]=0,_[o>>2]=_[t+4>>2],_[o+4>>2]=_[t+4+4>>2],_[o+8>>2]=_[t+4+8>>2],_[o+12>>2]=_[t+4+12>>2],_[o+16>>2]=_[t+20>>2],_[o+16+4>>2]=_[t+20+4>>2],_[o+16+8>>2]=_[t+20+8>>2],_[o+16+12>>2]=_[t+20+12>>2],_[o+32>>2]=_[t+36>>2],_[o+32+4>>2]=_[t+36+4>>2],_[o+32+8>>2]=_[t+36+8>>2],_[o+32+12>>2]=_[t+36+12>>2],_[o+48>>2]=_[t+52>>2],_[o+48+4>>2]=_[t+52+4>>2],_[o+48+8>>2]=_[t+52+8>>2],_[o+48+12>>2]=_[t+52+12>>2],i&&0|(h=0|_[t+480>>2])&&ed[127&_[8+(0|_[h>>2])>>2]](h,o),m=+p[e+156>>2],f=+p[o>>2],u=+p[e+160>>2],A=+p[o+4>>2],C=+p[e+164>>2],b=+p[o+8>>2],d=+p[o+16>>2],l=+p[o+20>>2],a=+p[o+24>>2],c=+p[o+32>>2],s=+p[o+36>>2],r=+p[o+40>>2],g=m*d+u*l+C*a+ +p[o+52>>2],y=m*c+u*s+C*r+ +p[o+56>>2],p[e+36>>2]=m*f+u*A+C*b+ +p[o+48>>2],p[e+40>>2]=g,p[e+44>>2]=y,p[e+48>>2]=0,y=+p[e+172>>2],g=+p[e+176>>2],C=+p[e+180>>2],p[e+52>>2]=f*y+A*g+b*C,p[e+56>>2]=y*d+g*l+C*a,p[e+60>>2]=y*c+g*s+C*r,p[e+64>>2]=0,C=+p[e+188>>2],g=+p[e+192>>2],y=+p[e+196>>2],p[e+68>>2]=f*C+A*g+b*y,p[e+72>>2]=d*C+l*g+a*y,p[e+76>>2]=c*C+s*g+r*y,p[e+80>>2]=0,Q=o}function Dt(t,e,i,n,o,r,s,c,a,l){e|=0,i|=0,n|=0,o|=0,r|=0,s|=0,c=+c,a|=0,l=+l;var d,b,A,f,u,m=0,h=0,y=0,g=0,C=0,v=0,S=0;_[(t|=0)>>2]=_[r>>2],_[t+4>>2]=_[r+4>>2],_[t+8>>2]=_[r+8>>2],_[t+12>>2]=_[r+12>>2],C=+p[n+4>>2],y=+p[t+8>>2],h=+p[n+8>>2],v=+p[t+4>>2],m=+p[t>>2],S=+p[n>>2],u=(C*y-h*v)*+p[e>>2]+ +p[e+4>>2]*(h*m-y*S)+(v*S-C*m)*+p[e+8>>2],f=(C*y-h*v)*+p[e+16>>2]+(h*m-y*S)*+p[e+20>>2]+(v*S-C*m)*+p[e+24>>2],C=(C*y-h*v)*+p[e+32>>2]+(h*m-y*S)*+p[e+36>>2]+(v*S-C*m)*+p[e+40>>2],p[t+16>>2]=u,p[t+20>>2]=f,p[t+24>>2]=C,p[t+28>>2]=0,S=+p[o+4>>2],h=+p[o+8>>2],g=+p[o>>2],A=+p[i>>2]*(S*-y-h*-v)+ +p[i+4>>2]*(h*-m-g*-y)+(g*-v-S*-m)*+p[i+8>>2],b=(S*-y-h*-v)*+p[i+16>>2]+(h*-m-g*-y)*+p[i+20>>2]+(g*-v-S*-m)*+p[i+24>>2],m=(S*-y-h*-v)*+p[i+32>>2]+(h*-m-g*-y)*+p[i+36>>2]+(g*-v-S*-m)*+p[i+40>>2],p[t+32>>2]=A,p[t+36>>2]=b,p[t+40>>2]=m,p[t+44>>2]=0,S=+p[s>>2]*u,v=+p[s+4>>2]*f,g=+p[s+8>>2]*C,p[t+48>>2]=S,p[t+52>>2]=v,p[t+56>>2]=g,p[t+60>>2]=0,y=+p[a>>2]*A,h=+p[a+4>>2]*b,d=+p[a+8>>2]*m,p[t+64>>2]=y,p[t+68>>2]=h,p[t+72>>2]=d,p[t+76>>2]=0,p[t+80>>2]=u*S+f*v+C*g+c+l+(A*y+b*h+m*d)}function It(t,e,i){t|=0,e|=0,i|=0;for(var n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0;;){for(l=0|_[t+12>>2],d=0|_[l+((e+i|0)/2<<2)>>2],n=e,o=i;;){if((0|(a=0|_[208+(0|_[d+28>>2])>>2]))>-1)for(;;){if(s=0|_[(p=l+(n<<2)|0)>>2],(0|(r=0|_[208+(0|_[s+28>>2])>>2]))<=-1&&(r=0|_[208+(0|_[s+32>>2])>>2]),!((0|r)<(0|a))){c=p;break}n=n+1|0}else for(p=0|_[208+(0|_[d+32>>2])>>2];s=0|_[(c=l+(n<<2)|0)>>2],(0|(r=0|_[208+(0|_[s+28>>2])>>2]))<=-1&&(r=0|_[208+(0|_[s+32>>2])>>2]),(0|r)<(0|p);)n=n+1|0;if((0|a)>-1)for(;p=0|_[(r=l+(o<<2)|0)>>2],(0|(s=0|_[208+(0|_[p+28>>2])>>2]))<=-1&&(s=0|_[208+(0|_[p+32>>2])>>2]),(0|a)<(0|s);)o=o+-1|0;else for(a=0|_[208+(0|_[d+32>>2])>>2];p=0|_[(r=l+(o<<2)|0)>>2],(0|(s=0|_[208+(0|_[p+28>>2])>>2]))<=-1&&(s=0|_[208+(0|_[p+32>>2])>>2]),(0|a)<(0|s);)o=o+-1|0;if((0|n)<=(0|o)&&(l=0|_[c>>2],_[c>>2]=_[r>>2],_[(0|_[t+12>>2])+(o<<2)>>2]=l,n=n+1|0,o=o+-1|0),(0|n)>(0|o))break;l=0|_[t+12>>2]}if((0|o)>(0|e)&&It(t,e,o),!((0|n)<(0|i)))break;e=n}}function Bt(t,e,i,n,o,_,r){e=+e,n=+n,o|=0,r|=0;var s,c,a,l,d,A,m,h=0,y=0;s=Q,Q=Q+16|0,y=(i=+i)*(_=+_)+ +p[52+(t|=0)>>2],h=n*_+ +p[t+56>>2],p[r+48>>2]=e*_+ +p[t+48>>2],p[r+52>>2]=y,p[r+56>>2]=h,p[r+60>>2]=0,h=+p[o>>2],y=+p[o+4>>2],a=(n=+p[o+8>>2])*(i=(e=(e=+b(+(h*h+y*y+n*n)))*_>.7853981852531433?.7853981852531433/_:e)<.0010000000474974513?.5*_-e*(_*_*_*.02083333395421505*e):+u(.5*e*_)/e),l=y*i,d=h*i,m=+f(+e*_*.5),Qt(t,s),e=+p[s>>2],A=+p[s+12>>2],h=+p[s+8>>2],y=(a*e+(l*A+m*(_=+p[s+4>>2]))-d*h)*(i=1/+b(+((m*A-d*e-l*_-a*h)*(m*A-d*e-l*_-a*h)+((a*A+m*h+d*_-l*e)*(a*A+m*h+d*_-l*e)+((m*e+d*A+l*h-a*_)*(m*e+d*A+l*h-a*_)+(a*e+(l*A+m*_)-d*h)*(a*e+(l*A+m*_)-d*h)))))),c=(a*A+m*h+d*_-l*e)*i,h=(n=(m*e+d*A+l*h-a*_)*i)*(2/((i*=m*A-d*e-l*_-a*h)*i+(c*c+(n*n+y*y)))),_=y*(2/(i*i+(c*c+(n*n+y*y)))),e=c*(2/(i*i+(c*c+(n*n+y*y)))),p[r>>2]=1-(y*_+c*e),p[r+4>>2]=n*_-i*e,p[r+8>>2]=n*e+i*_,p[r+12>>2]=0,p[r+16>>2]=n*_+i*e,p[r+20>>2]=1-(n*h+c*e),p[r+24>>2]=y*e-i*h,p[r+28>>2]=0,p[r+32>>2]=n*e-i*_,p[r+36>>2]=y*e+i*h,p[r+40>>2]=1-(n*h+y*_),p[r+44>>2]=0,Q=s}function Wt(t,e){var i,n;e|=0,i=Q,Q=Q+48|0,n=4+(0|_[48+(t|=0)>>2])|0,_[n>>2]=_[e>>2],_[n+4>>2]=_[e+4>>2],_[n+8>>2]=_[e+8>>2],_[n+12>>2]=_[e+12>>2],_[(e=i+32+4|0)>>2]=0,_[e+4>>2]=0,_[e+8>>2]=0,p[i+32>>2]=1,_d[127&_[68+(0|_[t>>2])>>2]](i+16|0,t,i+32|0),p[t+32>>2]=+p[i+16>>2]+ +p[t+12>>2],p[i+32>>2]=-1,_d[127&_[68+(0|_[t>>2])>>2]](i,t,i+32|0),_[i+16>>2]=_[i>>2],_[i+16+4>>2]=_[i+4>>2],_[i+16+8>>2]=_[i+8>>2],_[i+16+12>>2]=_[i+12>>2],p[t+16>>2]=+p[i+16>>2]-+p[t+12>>2],_[i+32>>2]=0,_[i+32+4>>2]=0,_[i+32+8>>2]=0,_[i+32+12>>2]=0,p[e>>2]=1,_d[127&_[68+(0|_[t>>2])>>2]](i+16|0,t,i+32|0),p[t+36>>2]=+p[i+16+4>>2]+ +p[t+12>>2],p[e>>2]=-1,_d[127&_[68+(0|_[t>>2])>>2]](i,t,i+32|0),_[i+16>>2]=_[i>>2],_[i+16+4>>2]=_[i+4>>2],_[i+16+8>>2]=_[i+8>>2],_[i+16+12>>2]=_[i+12>>2],p[t+20>>2]=+p[i+16+4>>2]-+p[t+12>>2],_[i+32>>2]=0,_[i+32+4>>2]=0,_[i+32+8>>2]=0,_[i+32+12>>2]=0,p[i+32+8>>2]=1,_d[127&_[68+(0|_[t>>2])>>2]](i+16|0,t,i+32|0),p[t+40>>2]=+p[i+16+8>>2]+ +p[t+12>>2],p[i+32+8>>2]=-1,_d[127&_[68+(0|_[t>>2])>>2]](i,t,i+32|0),_[i+16>>2]=_[i>>2],_[i+16+4>>2]=_[i+4>>2],_[i+16+8>>2]=_[i+8>>2],_[i+16+12>>2]=_[i+12>>2],p[t+24>>2]=+p[i+16+8>>2]-+p[t+12>>2],Q=i}function Ft(t,e,i){e|=0,i|=0;var n,o,r,s,p=0,c=0,a=0,l=0,d=0,b=0;for(s=Q,Q=Q+16|0,b=0|_[12+(t|=0)>>2],n=0|_[b+((i+e|0)/2<<4)>>2],o=0|_[b+((i+e|0)/2<<4)+4>>2],r=0|_[b+((i+e|0)/2<<4)+8>>2],c=i,p=e;;){for(;;){if(d=b+(p<<4)|0,(0|(a=0|_[b+(p<<4)+4>>2]))>=(0|o)){if((0|a)!=(0|o))break;if((0|(a=0|_[d>>2]))>=(0|n)){if((0|a)!=(0|n))break;if((0|_[b+(p<<4)+8>>2])>=(0|r))break}}p=p+1|0}for(;;){if(l=b+(c<<4)|0,(0|o)>=(0|(a=0|_[b+(c<<4)+4>>2]))){if((0|o)!=(0|a))break;if((0|n)>=(0|(a=0|_[l>>2]))){if((0|n)!=(0|a))break;if((0|r)>=(0|_[b+(c<<4)+8>>2]))break}}c=c+-1|0}if((0|p)<=(0|c)&&(_[s>>2]=_[d>>2],_[s+4>>2]=_[d+4>>2],_[s+8>>2]=_[d+8>>2],_[s+12>>2]=_[d+12>>2],_[d>>2]=_[l>>2],_[d+4>>2]=_[l+4>>2],_[d+8>>2]=_[l+8>>2],_[d+12>>2]=_[l+12>>2],b=(0|_[t+12>>2])+(c<<4)|0,_[b>>2]=_[s>>2],_[b+4>>2]=_[s+4>>2],_[b+8>>2]=_[s+8>>2],_[b+12>>2]=_[s+12>>2],c=c+-1|0,p=p+1|0),(0|p)>(0|c))break;b=0|_[t+12>>2]}(0|c)>(0|e)&&Ft(t,e,c),(0|p)>=(0|i)||Ft(t,p,i),Q=s}function xt(t){var e,i=0,n=0,o=0,r=0,s=0,c=0;e=0|_[28+(t|=0)>>2],o=0,r=0,s=0,c=0;t:for(;;){switch(2147483647&c){case 0:o=+p[t+80>>2]+ +p[t+64>>2],r=+p[t+84>>2]+ +p[t+68>>2],s=+p[t+88>>2]+ +p[t+72>>2];break;case 1:o=+p[t+80>>2]+ +p[t+64>>2],r=+p[t+84>>2]+ +p[t+68>>2],s=+p[t+72>>2]-+p[t+88>>2];break;case 2:o=+p[t+80>>2]+ +p[t+64>>2],r=+p[t+68>>2]-+p[t+84>>2],s=+p[t+88>>2]+ +p[t+72>>2];break;case 3:o=+p[t+80>>2]+ +p[t+64>>2],r=+p[t+68>>2]-+p[t+84>>2],s=+p[t+72>>2]-+p[t+88>>2];break;case 4:o=+p[t+64>>2]-+p[t+80>>2],r=+p[t+84>>2]+ +p[t+68>>2],s=+p[t+88>>2]+ +p[t+72>>2];break;case 5:o=+p[t+64>>2]-+p[t+80>>2],r=+p[t+84>>2]+ +p[t+68>>2],s=+p[t+72>>2]-+p[t+88>>2];break;case 6:o=+p[t+64>>2]-+p[t+80>>2],r=+p[t+68>>2]-+p[t+84>>2],s=+p[t+88>>2]+ +p[t+72>>2];break;case 7:o=+p[t+64>>2]-+p[t+80>>2],r=+p[t+68>>2]-+p[t+84>>2],s=+p[t+72>>2]-+p[t+88>>2]}if((0|e)>0){n=0|_[t+36>>2],i=0;do{if(+p[n+(36*i|0)+32>>2]+(o*+p[n+(36*i|0)+20>>2]+r*+p[n+(36*i|0)+24>>2]+s*+p[n+(36*i|0)+28>>2])>0){i=0,n=16;break t}i=i+1|0}while((0|i)<(0|e))}if((c=c+1|0)>>>0>=8){i=1,n=16;break}}return 16==(0|n)?0|i:0}function Ot(t,e,i,n,o,r,s){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0;var c,l,d=0,b=0,A=0,f=0,u=0,m=0,h=0;if(l=Q,Q=Q+16|0,p[(n|=0)>>2]=34028234663852886e22,p[o>>2]=-34028234663852886e22,(0|(c=0|_[t+8>>2]))>0){A=0;do{h=0|_[t+16>>2],m=+p[h+(A<<4)>>2],u=+p[h+(A<<4)+4>>2],f=+p[h+(A<<4)+8>>2],d=m*+p[e>>2]+u*+p[e+4>>2]+f*+p[e+8>>2]+ +p[e+48>>2],b=m*+p[e+16>>2]+u*+p[e+20>>2]+f*+p[e+24>>2]+ +p[e+52>>2],f=m*+p[e+32>>2]+u*+p[e+36>>2]+f*+p[e+40>>2]+ +p[e+56>>2],(u=d*+p[i>>2]+b*+p[i+4>>2]+f*+p[i+8>>2])<+p[n>>2]&&(p[n>>2]=u,p[r>>2]=d,p[r+4>>2]=b,p[r+8>>2]=f,p[r+12>>2]=0),u>+p[o>>2]&&(p[o>>2]=u,p[s>>2]=d,p[s+4>>2]=b,p[s+8>>2]=f,p[s+12>>2]=0),A=A+1|0}while((0|A)!=(0|c));b=m=+p[o>>2],p[a>>2]=m,A=0|_[a>>2]}else b=-34028234663852886e22,A=-8388609;(d=+p[n>>2])>b?(_[n>>2]=A,p[o>>2]=d,_[l>>2]=_[r>>2],_[l+4>>2]=_[r+4>>2],_[l+8>>2]=_[r+8>>2],_[l+12>>2]=_[r+12>>2],_[r>>2]=_[s>>2],_[r+4>>2]=_[s+4>>2],_[r+8>>2]=_[s+8>>2],_[r+12>>2]=_[s+12>>2],_[s>>2]=_[l>>2],_[s+4>>2]=_[l+4>>2],_[s+8>>2]=_[l+8>>2],_[s+12>>2]=_[l+12>>2],Q=l):Q=l}function Tt(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0;if((0|_[(t|=0)>>2])==(0|e))return _[t>>2]=0,0|(t=0);if(n=0|_[e+32>>2],i=0|_[n+32>>2],e=0|_[n+36+(((0|_[n+40>>2])!=(0|e)&1)<<2)>>2],!i)return _[t>>2]=e,_[e+32>>2]=0,(i=0|_[t+4>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),i=0|_[t>>2]):i=e,_[t+4>>2]=n,0|(t=i);_[i+36+(((0|_[i+40>>2])==(0|n)&1)<<2)>>2]=e,_[e+32>>2]=i,0|(e=0|_[t+4>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+4>>2]=n;do{if(u=+p[i>>2],A=+p[(S=i+4|0)>>2],d=+p[(C=i+8|0)>>2],h=+p[(w=i+16|0)>>2],a=+p[(v=i+20|0)>>2],s=+p[(n=i+24|0)>>2],g=0|_[i+36>>2],e=0|_[i+40>>2],f=(y=+p[g>>2])<(f=+p[e>>2])?y:f,p[i>>2]=f,m=(y=+p[g+16>>2])>(m=+p[e+16>>2])?y:m,p[w>>2]=m,b=(y=+p[g+4>>2])<(b=+p[e+4>>2])?y:b,p[S>>2]=b,c=(y=+p[g+20>>2])>(c=+p[e+20>>2])?y:c,p[v>>2]=c,l=(y=+p[g+8>>2])<(l=+p[e+8>>2])?y:l,p[C>>2]=l,r=(y=+p[g+24>>2])>(r=+p[e+24>>2])?y:r,p[n>>2]=r,!(h!=m|u!=f|A!=b|d!=l||a!=c|s!=r)){o=14;break}i=0|_[i+32>>2]}while(0|i);return 14==(0|o)?0|i:0|(w=0|_[t>>2])}function Pt(t,e,i){e|=0,i|=0;var o,r,s,p,c=0,a=0,l=0;if(p=Q,Q=Q+32|0,s=(l=!!(0|n[28+(t|=0)|0]))?i:e,l=l?e:i,o=0|_[s+4>>2],r=0|_[o+16>>2],(0|(a=0|_[t+12>>2]))<(0|r)){if((0|_[t+16>>2])<(0|r)){if(r?(_[6630]=1+(0|_[6630]),(e=0|di(16+(r<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,c=0|_[t+12>>2]):(e=0,c=a),(0|c)>0){i=0;do{_[e+(i<<2)>>2]=_[(0|_[t+20>>2])+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|c))}0|(i=0|_[t+20>>2])&&(0|n[t+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+20>>2]=0),n[t+24|0]=1,_[t+20>>2]=e,_[t+16>>2]=r,i=t+20|0}else i=t+20|0;e=a;do{_[(0|_[i>>2])+(e<<2)>>2]=0,e=e+1|0}while((0|e)!=(0|r))}if(_[t+12>>2]=r,(0|r)<=0)Q=p;else{e=0;do{0|_[o+64>>2]?_[(0|_[t+20>>2])+(e<<2)>>2]=0:(i=0|_[(0|_[o+24>>2])+(80*e|0)+64>>2],c=0|_[s+8>>2],a=0|_[s+12>>2],_[p>>2]=s,_[p+4>>2]=i,_[p+8>>2]=c,_[p+12>>2]=a,_[p+16>>2]=-1,_[p+20>>2]=e,a=0|_[t+4>>2],a=0|Hl[31&_[8+(0|_[a>>2])>>2]](a,p,l,0|_[t+32>>2]),_[(0|_[t+20>>2])+(e<<2)>>2]=a),e=e+1|0}while((0|e)!=(0|r));Q=p}}function Mt(t){var e,i,o=0,r=0,s=0,p=0,c=0;if(s=(r=0|_[32+(t|=0)>>2])?0|_[t+40>>2]:0,p=(e=0|_[t+52>>2])?0|_[t+60>>2]:0,c=(o=0|_[t+72>>2])?0|_[t+80>>2]:0,i=0|_[t+8>>2],Vl[3&_[12+(0|_[i>>2])>>2]](i,s,r,p,e,c,o,0|_[t+4>>2],0|_[t+20>>2],0|_[t+24>>2]),(0|(o=0|_[t+32>>2]))<0){(0|_[t+36>>2])<0&&(0|(r=0|_[t+40>>2])&&(0|n[t+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+40>>2]=0),n[t+44|0]=1,_[t+40>>2]=0,_[t+36>>2]=0);do{_[(0|_[t+40>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[t+32>>2]=0,(0|(o=0|_[t+52>>2]))<0){(0|_[t+56>>2])<0&&(0|(r=0|_[t+60>>2])&&(0|n[t+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+60>>2]=0),n[t+64|0]=1,_[t+60>>2]=0,_[t+56>>2]=0);do{_[(0|_[t+60>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[t+52>>2]=0,(0|(o=0|_[t+72>>2]))>=0)_[t+72>>2]=0;else{(0|_[t+76>>2])<0&&(0|(r=0|_[t+80>>2])&&(0|n[t+84|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+80>>2]=0),n[t+84|0]=1,_[t+80>>2]=0,_[t+76>>2]=0);do{_[(0|_[t+80>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o);_[t+72>>2]=0}}function Vt(t){t|=0;var e,i=0,o=0,r=0,s=0,p=0;if(_[6630]=1+(0|_[6630]),(i=0|di(39))?(_[(i+4+15&-16)-4>>2]=i,s=i+4+15&-16):s=0,e=s,_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[s+16>>2]=0,(0|_[t+872>>2])>0?(p=0|_[_[t+880>>2]>>2],_[s>>2]=_[p>>2],_[s+4>>2]=_[p+4>>2],_[s+8>>2]=_[p+8>>2],_[s+12>>2]=_[p+12>>2],_[s+16>>2]=_[p+16>>2]):(_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[s+16>>2]=0),(0|(o=0|_[t+872>>2]))!=(0|_[t+876>>2]))return p=o,r=0|_[(r=t+880|0)>>2],_[(r=r+(p<<2)|0)>>2]=e,p=p+1|0,_[t+872>>2]=p,0|s;if((0|o)>=(0|(p=0|o?o<<1:1)))return p=o,r=0|_[(r=t+880|0)>>2],_[(r=r+(p<<2)|0)>>2]=e,p=p+1|0,_[t+872>>2]=p,0|s;if(p?(_[6630]=1+(0|_[6630]),(i=0|di(16+(p<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,o=0|_[t+872>>2]):i=0,(0|o)>0){r=0;do{_[i+(r<<2)>>2]=_[(0|_[t+880>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|o))}return(r=0|_[t+880>>2])&&(0|n[t+884|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),o=0|_[t+872>>2]),_[t+880>>2]=0),n[t+884|0]=1,_[t+880>>2]=i,_[t+876>>2]=p,p=o,r=0|_[(r=t+880|0)>>2],_[(r=r+(p<<2)|0)>>2]=e,p=p+1|0,_[t+872>>2]=p,0|s}function Gt(t,e){e|=0;var i,o,r,s,p,c,a=0,l=0,d=0,b=0,A=0,f=0;if((0|(a=0|_[4+(t|=0)>>2]))==(0|_[t+8>>2])&&(Zn(t,0|a?a<<1:1),a=0|_[t+4>>2]),c=0|_[t+12>>2],n[0|(o=c+(36*a|0)+16|0)]=1,_[(r=c+(36*a|0)+12|0)>>2]=0,_[(s=c+(36*a|0)+4|0)>>2]=0,_[(p=c+(36*a|0)+8|0)>>2]=0,(0|(f=0|_[e+4>>2]))<=0)return _[s>>2]=f,e=e+20|0,_[(f=c+(36*a|0)+20|0)>>2]=_[e>>2],_[f+4>>2]=_[e+4>>2],_[f+8>>2]=_[e+8>>2],_[f+12>>2]=_[e+12>>2],e=1+(e=0|_[t+4>>2])|0,void(_[t+4>>2]=e);if(_[6630]=1+(0|_[6630]),(l=0|di(16+(f<<2|3)|0))?(_[(l+4+15&-16)-4>>2]=l,d=l+4+15&-16):d=0,b=0|_[s>>2],i=0|_[r>>2],(0|b)<=0)0|i&&(A=10);else{l=0;do{_[d+(l<<2)>>2]=_[i+(l<<2)>>2],l=l+1|0}while((0|l)!=(0|b));A=10}10==(0|A)&&0|n[0|o]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),n[0|o]=1,_[r>>2]=d,_[p>>2]=f,wn(0|d,0,f<<2),_[s>>2]=f,d=0|_[r>>2],b=0|_[e+12>>2],l=0;do{_[d+(l<<2)>>2]=_[b+(l<<2)>>2],l=l+1|0}while((0|l)!=(0|f));e=e+20|0,_[(f=c+(36*a|0)+20|0)>>2]=_[e>>2],_[f+4>>2]=_[e+4>>2],_[f+8>>2]=_[e+8>>2],_[f+12>>2]=_[e+12>>2],e=1+(e=0|_[t+4>>2])|0,_[t+4>>2]=e}function Nt(t,e,i,n,o,r){e|=0,i|=0,n|=0,o|=0,r|=0;var s,c=0,l=0,d=0,A=0,f=0,u=0,m=0;pd[127&_[8+(0|_[(t|=0)>>2])>>2]](t,e,o,r),f=0|_[r>>2],l=0|_[r+4>>2],e=0|_[r+8>>2],d=0|_[o>>2],s=0|_[o+4>>2],c=0|_[o+8>>2],A=+p[i>>2],u=+p[i+4>>2],m=+p[i+8>>2],A>0?(p[a>>2]=A+(_[a>>2]=f,+p[a>>2]),f=0|_[a>>2]):(p[a>>2]=A+(_[a>>2]=d,+p[a>>2]),d=0|_[a>>2]),u>0?(i=s,p[a>>2]=u+(_[a>>2]=l,+p[a>>2]),l=0|_[a>>2]):(p[a>>2]=u+(_[a>>2]=s,+p[a>>2]),i=0|_[a>>2]),m>0?(p[a>>2]=m+(_[a>>2]=e,+p[a>>2]),e=0|_[a>>2]):(p[a>>2]=m+(_[a>>2]=c,+p[a>>2]),c=0|_[a>>2]),A=+p[n>>2],u=+p[n+4>>2],m=+p[n+8>>2],m=+b(+(A*A+u*u+m*m)),m*=+Il[15&_[16+(0|_[t>>2])>>2]](t),_[o>>2]=d,_[o+4>>2]=i,_[o+8>>2]=c,p[o+12>>2]=0,_[r>>2]=f,_[r+4>>2]=l,_[r+8>>2]=e,p[r+12>>2]=0,p[o>>2]=+p[o>>2]-m,p[o+4>>2]=+p[o+4>>2]-m,p[o+8>>2]=+p[o+8>>2]-m,p[r>>2]=m+ +p[r>>2],p[r+4>>2]=m+ +p[r+4>>2],p[r+8>>2]=m+ +p[r+8>>2]}function Lt(t,e,i,n,o){t|=0,e|=0,n|=0,o=+o;var r,s,c,a,l,d=0,b=0,A=0,f=0,u=0;if(u=+p[(i|=0)>>2],+p[e>>2]<=u){if(A=+p[i+4>>2],+p[e+4>>2]<=A&&+p[e+8>>2]<=+p[i+8>>2]&&+p[e+16>>2]>=+p[i+16>>2]&&+p[e+20>>2]>=+p[i+20>>2]&&+p[e+24>>2]>=+p[i+24>>2])return 0|(i=0);d=i+4|0}else d=i+4|0,A=+p[i+4>>2];p[i>>2]=u-o,s=A-o,p[d>>2]=s,A=+p[i+8>>2]-o,p[i+8>>2]=A,l=+p[i+16>>2]+o,p[i+16>>2]=l,c=+p[i+20>>2]+o,p[i+20>>2]=c,r=+p[i+24>>2]+o,p[i+24>>2]=r,a=+p[n>>2],p[(a>0?i+16:i)>>2]=(a>0?l:u-o)+a,u=+p[n+4>>2],p[(u>0?i+20:d)>>2]=(u>0?c:s)+u,u=+p[n+8>>2],p[(u>0?i+24:i+8)>>2]=(u>0?r:A)+u,d=0|Tt(t,e);t:do{if(d){if((0|(f=0|_[t+8>>2]))<=-1){d=0|_[t>>2];break}if(f)for(n=0;;){if(n=n+1|0,!(b=0|_[d+32>>2]))break t;if((0|n)>=(0|f)){d=b;break}d=b}}else d=0}while(0);return _[e>>2]=_[i>>2],_[e+4>>2]=_[i+4>>2],_[e+8>>2]=_[i+8>>2],_[e+12>>2]=_[i+12>>2],_[e+16>>2]=_[i+16>>2],_[e+20>>2]=_[i+20>>2],_[e+24>>2]=_[i+24>>2],_[e+28>>2]=_[i+28>>2],U(t,d,e),0|(i=1)}function Qt(t,e){e|=0;var i,n,o=0,_=0,r=0,s=0,c=0,a=0;return n=Q,Q=Q+16|0,r=0|Cl(t|=0),o=+p[r>>2],r=0|sl(t+16|0),_=+p[r>>2],r=0|rl(t+32|0),o+_+(i=+p[r>>2])>0?(_=+ll(o+_+i+1),p[n+12>>2]=.5*_,s=0|sl(t+32|0),o=+p[s>>2],s=0|rl(t+16|0),p[n>>2]=(o-+p[s>>2])*(.5/_),s=0|rl(t),o=+p[s>>2],s=0|Cl(t+32|0),p[n+4>>2]=(o-+p[s>>2])*(.5/_),s=0|Cl(t+16|0),o=+p[s>>2],s=0|sl(t),p[n+8>>2]=(o-+p[s>>2])*(.5/_),n_(e,c=n,s=n+4|0,t=n+8|0,r=n+12|0),void(Q=n)):(s=0|Cl(t+((r=o<_?_>2],a=0|Cl(t+(((r+1|0)>>>0)%3<<4)|0),_-=+p[a+(((r+1|0)>>>0)%3<<2)>>2],c=0|Cl(t+(((r+2|0)>>>0)%3<<4)|0),_=+ll(_-+p[c+(((r+2|0)>>>0)%3<<2)>>2]+1),p[n+(r<<2)>>2]=.5*_,p[n+12>>2]=(+p[c+(((r+1|0)>>>0)%3<<2)>>2]-+p[a+(((r+2|0)>>>0)%3<<2)>>2])*(.5/_),p[n+(((r+1|0)>>>0)%3<<2)>>2]=(+p[a+(r<<2)>>2]+ +p[s+(((r+1|0)>>>0)%3<<2)>>2])*(.5/_),p[n+(((r+2|0)>>>0)%3<<2)>>2]=(+p[c+(r<<2)>>2]+ +p[s+(((r+2|0)>>>0)%3<<2)>>2])*(.5/_),n_(e,t=n,r=n+4|0,s=n+8|0,c=n+12|0),void(Q=n))}function Et(t,e,i,o,s,c){var a;return t|=0,e|=0,i|=0,s|=0,c|=0,(0|r[55+(o|=0)|0])==(0|e)?0|(o=0):(a=0|_[5872+(s<<2)>>2],+p[o>>2]*+p[i+16>>2]+ +p[o+4>>2]*+p[i+20>>2]+ +p[o+8>>2]*+p[i+24>>2]-+p[o+16>>2]<-9999999747378752e-21?(e=0|_i(t,0|_[o+20+(a<<2)>>2],0|_[o+20+(s<<2)>>2],i,0))?(n[e+52|0]=s,_[e+32>>2]=o,n[o+52+s|0]=0,_[o+32+(s<<2)>>2]=e,(s=0|_[c>>2])?(n[s+53|0]=2,_[s+36>>2]=e,n[e+54|0]=1,_[e+40>>2]=s):_[c+4>>2]=e,_[c>>2]=e,_[c+8>>2]=1+(0|_[c+8>>2]),0|(o=1)):0|(o=0):(s=0|_[5884+(s<<2)>>2],n[o+55|0]=e,0|Et(t,e,i,0|_[o+32+(a<<2)>>2],0|r[o+52+a|0],c)&&0|Et(t,e,i,0|_[o+32+(s<<2)>>2],0|r[o+52+s|0],c)?(0|(s=0|_[o+48>>2])&&(_[s+44>>2]=_[o+44>>2]),0|(s=0|_[o+44>>2])&&(_[s+48>>2]=_[o+48>>2]),(0|_[t+9280>>2])==(0|o)&&(_[t+9280>>2]=_[o+48>>2]),_[t+9284>>2]=(0|_[t+9284>>2])-1,_[o+44>>2]=0,_[o+48>>2]=_[t+9288>>2],0|(s=0|_[t+9288>>2])&&(_[s+44>>2]=o),_[t+9288>>2]=o,_[t+9292>>2]=1+(0|_[t+9292>>2]),0|(o=1)):0|(o=0)))}function Ht(t,e,i,n){i|=0,n|=0;var r,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;if(c=0|_[68+(t|=0)+((e|=0)<<2)>>2],a=0|o[c+((65535&i)<<2)+-4>>1],!((0|s[c+((65535&i)<<2)>>1])>=(65535&a)))for(r=(l=0|_[t+60>>2])+(s[c+((65535&i)<<2)+2>>1]<<6)+54+(e<<1)|0,p=c+((65535&i)<<2)+-4|0,d=c+((65535&i)<<2)|0;c=0|s[d+-2>>1],1&a?i=l+(c<<6)+54+(e<<1)|0:(i=0|s[d+2>>1],(0|s[l+(i<<6)+54+((1<>1])>=(0|s[l+(c<<6)+48+((1<>1])&&(0|s[l+(c<<6)+54+((1<>1])>=(0|s[l+(i<<6)+48+((1<>1])&&(0|s[l+(i<<6)+54+((1<<(1<>1])>=(0|s[l+(c<<6)+48+((1<<(1<>1])&&(0|s[l+(c<<6)+54+((1<<(1<>1])>=(0|s[l+(i<<6)+48+((1<<(1<>1])&&(f=0|_[t+92>>2],b=l+(i<<6)|0,A=l+(c<<6)|0,Hl[31&_[12+(0|_[f>>2])>>2]](f,b,A,n),0|(f=0|_[t+96>>2]))&&Hl[31&_[12+(0|_[f>>2])>>2]](f,b,A,n),i=l+(c<<6)+48+(e<<1)|0),o[i>>1]=1+(0|o[i>>1])<<16>>16,o[r>>1]=(0|o[r>>1])-1<<16>>16,i=s[d>>1]|s[d+2>>1]<<16,a=s[p>>1]|s[p+2>>1]<<16,o[d>>1]=a,o[d+2>>1]=a>>>16,o[p>>1]=i,o[p+2>>1]=i>>>16,i=d+-4|0,a=0|o[(p=p+-4|0)>>1],!((0|s[i>>1])>=(65535&a));)d=i,l=0|_[t+60>>2]}function Zt(t,e,i){i|=0;var n,r,p=0,c=0,a=0,l=0,d=0,b=0,A=0;if(p=0|_[68+(t|=0)+((e|=0)<<2)>>2],n=0|_[t+60>>2],r=0|s[p+((65535&i)<<2)+2>>1],(c=0|o[p+((65535&i)<<2)+6>>1])<<16>>16)for(d=p+((65535&i)<<2)|0;;){if(l=d,p=0|o[(d=d+4|0)>>1],(0|s[l>>1])<(65535&p)){i=14;break}if(a=0|_[t+60>>2],i=65535&c,1&p?i=a+(i<<6)+54+(e<<1)|0:((0|s[n+(r<<6)+54+((1<>1])>=(0|s[a+(i<<6)+48+((1<>1])&&(0|s[a+(i<<6)+54+((1<>1])>=(0|s[n+(r<<6)+48+((1<>1])&&(0|s[n+(r<<6)+54+((1<<(1<>1])>=(0|s[a+(i<<6)+48+((1<<(1<>1])&&(0|s[a+(i<<6)+54+((1<<(1<>1])>=(0|s[n+(r<<6)+48+((1<<(1<>1])&&(A=0|_[t+92>>2],b=a+(s[l+2>>1]<<6)|0,El[63&_[8+(0|_[A>>2])>>2]](A,b,a+(i<<6)|0),0|(A=0|_[t+96>>2]))&&El[63&_[8+(0|_[A>>2])>>2]](A,b,a+(i<<6)|0),i=a+(i<<6)+48+(e<<1)|0),o[i>>1]=(0|o[i>>1])-1<<16>>16,o[n+(r<<6)+54+(e<<1)>>1]=1+(0|o[n+(r<<6)+54+(e<<1)>>1])<<16>>16,c=s[l>>1]|s[l+2>>1]<<16,a=s[d>>1]|s[d+2>>1]<<16,o[l>>1]=a,o[l+2>>1]=a>>>16,o[d>>1]=c,o[d+2>>1]=c>>>16,!((c=0|o[l+10>>1])<<16>>16)){i=14;break}}}function Ut(t,e,i,n){i|=0,n|=0;var r,p=0,c=0,a=0,l=0,d=0,b=0;if(p=0|_[68+(t|=0)+((e|=0)<<2)>>2],(c=0|o[p+((65535&i)<<2)+6>>1])<<16>>16)for(r=(0|_[t+60>>2])+(s[p+((65535&i)<<2)+2>>1]<<6)+48+(e<<1)|0,d=p+((65535&i)<<2)|0;;){if(l=d,i=0|o[(d=d+4|0)>>1],(0|s[l>>1])<(65535&i)){i=14;break}if(a=0|_[t+60>>2],p=65535&c,1&i?(i=0|s[l+2>>1],(0|s[a+(i<<6)+54+((1<>1])>=(0|s[a+(p<<6)+48+((1<>1])&&(0|s[a+(p<<6)+54+((1<>1])>=(0|s[a+(i<<6)+48+((1<>1])&&(0|s[a+(i<<6)+54+((1<<(1<>1])>=(0|s[a+(p<<6)+48+((1<<(1<>1])&&(0|s[a+(p<<6)+54+((1<<(1<>1])>=(0|s[a+(i<<6)+48+((1<<(1<>1])&&(b=0|_[t+92>>2],Hl[31&_[12+(0|_[b>>2])>>2]](b,a+(i<<6)|0,a+(p<<6)|0,n),0|(b=0|_[t+96>>2]))&&Hl[31&_[12+(0|_[b>>2])>>2]](b,a+(i<<6)|0,a+(p<<6)|0,n),i=a+(p<<6)+54+(e<<1)|0):i=a+(p<<6)+48+(e<<1)|0,o[i>>1]=(0|o[i>>1])-1<<16>>16,o[r>>1]=1+(0|o[r>>1])<<16>>16,c=s[l>>1]|s[l+2>>1]<<16,a=s[d>>1]|s[d+2>>1]<<16,o[l>>1]=a,o[l+2>>1]=a>>>16,o[d>>1]=c,o[d+2>>1]=c>>>16,!((c=0|o[l+10>>1])<<16>>16)){i=14;break}}}function Yt(t,e,i){i|=0;var n,r,p=0,c=0,a=0,l=0,d=0,b=0;if(c=0|_[68+(t|=0)+((e|=0)<<2)>>2],n=0|_[t+60>>2],r=0|s[c+((65535&i)<<2)+2>>1],a=0|o[c+((65535&i)<<2)+-4>>1],!((0|s[c+((65535&i)<<2)>>1])>=(65535&a)))for(p=c+((65535&i)<<2)+-4|0,l=c+((65535&i)<<2)|0,c=n;i=0|s[l+-2>>1],1&a?((0|s[n+(r<<6)+54+((1<>1])>=(0|s[c+(i<<6)+48+((1<>1])&&(0|s[c+(i<<6)+54+((1<>1])>=(0|s[n+(r<<6)+48+((1<>1])&&(0|s[n+(r<<6)+54+((1<<(1<>1])>=(0|s[c+(i<<6)+48+((1<<(1<>1])&&(0|s[c+(i<<6)+54+((1<<(1<>1])>=(0|s[n+(r<<6)+48+((1<<(1<>1])&&(b=0|_[t+92>>2],d=c+(i<<6)|0,El[63&_[8+(0|_[b>>2])>>2]](b,n+(r<<6)|0,d),0|(b=0|_[t+96>>2]))&&El[63&_[8+(0|_[b>>2])>>2]](b,n+(r<<6)|0,d),i=c+(i<<6)+54+(e<<1)|0):i=c+(i<<6)+48+(e<<1)|0,o[i>>1]=1+(0|o[i>>1])<<16>>16,o[n+(r<<6)+48+(e<<1)>>1]=(0|o[n+(r<<6)+48+(e<<1)>>1])-1<<16>>16,i=s[l>>1]|s[l+2>>1]<<16,a=s[p>>1]|s[p+2>>1]<<16,o[l>>1]=a,o[l+2>>1]=a>>>16,o[p>>1]=i,o[p+2>>1]=i>>>16,i=l+-4|0,a=0|o[(p=p+-4|0)>>1],!((0|s[i>>1])>=(65535&a));)l=i,c=0|_[t+60>>2]}function Jt(t,e,i,n,o,r,s,c,a,l){var d;t|=0,e|=0,i|=0,n|=0,o=+o,r=+r,s=+s,c=+c,a=+a,l=+l,d=Q,Q=Q+128|0,_[d+80>>2]=_[t+4>>2],_[d+80+4>>2]=_[t+20>>2],_[d+80+8>>2]=_[t+36>>2],p[d+80+12>>2]=0,_[d+80+16>>2]=_[t+8>>2],_[d+80+20>>2]=_[t+24>>2],_[d+80+24>>2]=_[t+40>>2],p[d+80+28>>2]=0,_[d+80+32>>2]=_[t+12>>2],_[d+80+36>>2]=_[t+28>>2],_[d+80+40>>2]=_[t+44>>2],p[d+80+44>>2]=0,_[d+32>>2]=_[e+4>>2],_[d+32+4>>2]=_[e+20>>2],_[d+32+8>>2]=_[e+36>>2],p[d+32+12>>2]=0,_[d+32+16>>2]=_[e+8>>2],_[d+32+20>>2]=_[e+24>>2],_[d+32+24>>2]=_[e+40>>2],p[d+32+28>>2]=0,_[d+32+32>>2]=_[e+12>>2],_[d+32+36>>2]=_[e+28>>2],_[d+32+40>>2]=_[e+44>>2],p[d+32+44>>2]=0,r-=+p[t+56>>2],s-=+p[t+60>>2],p[d+16>>2]=o-+p[t+52>>2],p[d+16+4>>2]=r,p[d+16+8>>2]=s,p[d+16+12>>2]=0,s=a-+p[e+56>>2],l-=+p[e+60>>2],p[d>>2]=c-+p[e+52>>2],p[d+4>>2]=s,p[d+8>>2]=l,p[d+12>>2]=0,Dt(i,d+80|0,d+32|0,d+16|0,d,n,t+396|0,+p[t+344>>2],e+396|0,+p[e+344>>2]),Q=d}function Xt(t,e,i,n,o){t|=0,o|=0;var r,s=0,c=0,a=0,l=0,d=0;r=Q,Q=Q+48|0,l=1/+b(+((e=+e)*e+(i=+i)*i+(n=+n)*n)),p[o>>2]=l*e,p[o+4>>2]=l*i,p[o+8>>2]=l*n,p[o+12>>2]=0,s=0|_[t+120>>2],a=0|_[t+124>>2],c=(0|_[t>>2])+(a>>1)|0,1&a&&(s=0|_[(0|_[c>>2])+s>>2]),_d[127&s](r,c,o),e=-+p[o>>2],i=-+p[o+4>>2],n=-+p[o+8>>2],s=0|_[t+120>>2],a=0|_[t+124>>2],c=(0|_[t+4>>2])+(a>>1)|0,1&a&&(s=0|_[(0|_[c>>2])+s>>2]),l=+p[t+24>>2]*e+ +p[t+28>>2]*i+ +p[t+32>>2]*n,d=+p[t+40>>2]*e+ +p[t+44>>2]*i+ +p[t+48>>2]*n,p[r+16>>2]=+p[t+8>>2]*e+ +p[t+12>>2]*i+ +p[t+16>>2]*n,p[r+16+4>>2]=l,p[r+16+8>>2]=d,p[r+16+12>>2]=0,_d[127&s](r+32|0,c,r+16|0),d=+p[r+32>>2],e=+p[r+32+4>>2],i=+p[r+32+8>>2],n=+p[r+4>>2]-(d*+p[t+72>>2]+e*+p[t+76>>2]+i*+p[t+80>>2]+ +p[t+108>>2]),l=+p[r+8>>2]-(d*+p[t+88>>2]+e*+p[t+92>>2]+i*+p[t+96>>2]+ +p[t+112>>2]),p[o+16>>2]=+p[r>>2]-(d*+p[t+56>>2]+e*+p[t+60>>2]+i*+p[t+64>>2]+ +p[t+104>>2]),p[o+20>>2]=n,p[o+24>>2]=l,p[o+28>>2]=0,Q=r}function zt(t,e,i,n,o,_,r,s,c,a,l,b,A,f){t|=0,f=+f;var u,m,h,y,g,C=0,v=0;return+d(+((C=((s=+s)-(o=+o))*((b=+b)-(_=+_))-((c=+c)-_)*((l=+l)-o))*(n=+n)+((m=(c-_)*((A=+A)-(r=+r))-((a=+a)-r)*(b-_))*(e=+e)+(h=(a-r)*(l-o)-(s-o)*(A-r))*(i=+i))))<1.1920928955078125e-7?+(C=-1):(u=-(m*(y=+p[t>>2])+h*(v=+p[t+4>>2])+C*(g=+p[t+8>>2])-(C*r+(m*o+h*_)))/(C*n+(m*e+h*i)))>11920928955078125e-22&u-11920928955078125e-22&&C*((b-(v+u*i))*(s-(y+u*e))-(c-(v+u*i))*(l-(y+u*e)))+(m*((c-(v+u*i))*(A-(g+u*n))-(a-(g+u*n))*(b-(v+u*i)))+h*((a-(g+u*n))*(l-(y+u*e))-(A-(g+u*n))*(s-(y+u*e))))>-11920928955078125e-22&&C*((_-(v+u*i))*(l-(y+u*e))-(b-(v+u*i))*(o-(y+u*e)))+(m*((b-(v+u*i))*(r-(g+u*n))-(A-(g+u*n))*(_-(v+u*i)))+h*((A-(g+u*n))*(o-(y+u*e))-(r-(g+u*n))*(l-(y+u*e))))>-11920928955078125e-22?+(v=u):+(v=-1)}function Kt(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r=0,s=0,c=0;if(_[6630]=1+(0|_[6630]),(r=0|di(55))?(_[(r+4+15&-16)-4>>2]=r,c=r+4+15&-16):c=0,_[c>>2]=e,_[c+4>>2]=i,_[c+8>>2]=o,_[c+12>>2]=-1,_[c+16>>2]=-1,_[c+20>>2]=-1,_[c+28>>2]=-1,p[c+32>>2]=0,o=c,e=0|_[t+4>>2],_[c+24>>2]=e,(0|e)!=(0|_[t+8>>2]))return s=e,i=0|_[(i=t+12|0)>>2],_[(i=i+(s<<2)|0)>>2]=o,s=s+1|0,_[t+4>>2]=s,0|c;if((0|e)>=(0|(s=0|e?e<<1:1)))return s=e,i=0|_[(i=t+12|0)>>2],_[(i=i+(s<<2)|0)>>2]=o,s=s+1|0,_[t+4>>2]=s,0|c;if(s?(_[6630]=1+(0|_[6630]),(r=0|di(16+(s<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,e=0|_[t+4>>2]):r=0,(0|e)>0){i=0;do{_[r+(i<<2)>>2]=_[(0|_[t+12>>2])+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|e))}return(i=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[t+4>>2]),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=r,_[t+8>>2]=s,s=e,i=0|_[(i=t+12|0)>>2],_[(i=i+(s<<2)|0)>>2]=o,s=s+1|0,_[t+4>>2]=s,0|c}function qt(t,e,i){t|=0,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;1&n[32+(e|=0)|0]&&(0|(o=0|_[t+4>>2])&&Dn(o,e,i),0|(o=0|_[t>>2])&&(b=+p[e>>2],l=+p[o+128>>2],d=+p[e+4>>2],a=+p[e+8>>2],r=+p[i+4>>2],f=+p[i+8>>2],A=+p[i>>2],c=+p[o+180>>2]*(a*r-d*f)+ +p[o+184>>2]*(b*f-a*A)+(d*A-b*r)*+p[o+188>>2],s=(a*r-d*f)*+p[o+196>>2]+(b*f-a*A)*+p[o+200>>2]+(d*A-b*r)*+p[o+204>>2],r=(a*r-d*f)*+p[o+212>>2]+(b*f-a*A)*+p[o+216>>2]+(d*A-b*r)*+p[o+220>>2],p[o+244>>2]=b*l+ +p[o+244>>2],p[o+248>>2]=l*d+ +p[o+248>>2],p[o+252>>2]=l*a+ +p[o+252>>2],p[o+316>>2]=b*l+ +p[o+316>>2],p[o+320>>2]=l*d+ +p[o+320>>2],p[o+324>>2]=l*a+ +p[o+324>>2],p[o+260>>2]=c+ +p[o+260>>2],p[o+264>>2]=s+ +p[o+264>>2],p[o+268>>2]=r+ +p[o+268>>2],p[o+332>>2]=c+ +p[o+332>>2],p[o+336>>2]=s+ +p[o+336>>2],p[o+340>>2]=r+ +p[o+340>>2],_[o+308>>2]=1+(0|_[o+308>>2]))),2&n[e+32|0]&&Ui(t,e+16|0,i)}function $t(t,e){e|=0;var i=0;if(_[(t|=0)>>2]=9836,n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=-1,_[t+16>>2]=0,_[t+20>>2]=0,n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,_[t+64>>2]=0,_[t+68>>2]=0,_[t+72>>2]=-1,_[t+76>>2]=0,_[t+80>>2]=0,n[t+193|0]=0,n[t+194|0]=1,n[t+192|0]=1&(1^!!(0|e)),p[t+140>>2]=0,_[t+144>>2]=0,_[t+164>>2]=0,_[t+148>>2]=1,_[t+152>>2]=0,_[t+156>>2]=10,_[t+160>>2]=1,_[t+168>>2]=0,_[t+172>>2]=0,p[t+176>>2]=0,0|e)return i=e,_[(e=t+136|0)>>2]=i,_[(e=t+188|0)>>2]=0,_[(e=t+180|0)>>2]=0,_[(e=t+184|0)>>2]=0,_[(t=t+124|0)>>2]=0,_[t+4>>2]=0,void(_[t+8>>2]=0);_[6630]=1+(0|_[6630]),(e=0|di(95))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,Ae(e),_[(i=t+136|0)>>2]=e,_[(i=t+188|0)>>2]=0,_[(i=t+180|0)>>2]=0,_[(i=t+184|0)>>2]=0,_[(i=t+124|0)>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0}function te(t){var e,i=0,o=0,r=0,s=0;if(0|(i=0|_[16+(t|=0)>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,0|(i=0|_[t+40>>2])&&(0|n[t+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+40>>2]=0),n[t+44|0]=1,_[t+40>>2]=0,_[t+32>>2]=0,_[t+36>>2]=0,0|(i=0|_[t+60>>2])&&(0|n[t+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+60>>2]=0),n[t+64|0]=1,_[t+60>>2]=0,_[t+52>>2]=0,_[t+56>>2]=0,(0|_[t+12>>2])>=2)et(t);else{if(_[6630]=1+(0|_[6630]),(i=0|di(43))?(_[(i+4+15&-16)-4>>2]=i,o=i+4+15&-16):o=0,(0|(e=0|_[t+8>>2]))>0){i=0;do{r=o+(12*i|0)|0,s=(0|_[t+16>>2])+(12*i|0)|0,_[r>>2]=_[s>>2],_[r+4>>2]=_[s+4>>2],_[r+8>>2]=_[s+8>>2],i=i+1|0}while((0|i)!=(0|e))}0|(i=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=o,_[t+12>>2]=2,et(t)}}function ee(t,e,i){t|=0,e|=0;var n=0,o=0;if(n=0|Ll[31&_[28+(0|_[(i|=0)>>2])>>2]](i,0|_[t+28>>2]),_[e>>2]=n,n=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+32>>2]),_[e+4>>2]=n,n=0|Ll[31&_[40+(0|_[i>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e+8>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+12>>2]=_[t+4>>2],_[e+24>>2]=r[t+21|0],_[e+40>>2]=_[t+24>>2],_[e+44>>2]=_[t+16>>2],_[e+48>>2]=r[t+20|0],_[e+20>>2]=_[t+12>>2],_[e+16>>2]=_[t+8>>2],_[e+28>>2]=_[t+36>>2],_[e+32>>2]=_[t+40>>2],_[e+36>>2]=0,n=0|_[t+28>>2],(0|(o=0|_[n+488>>2]))>0&&(i=0|_[n+496>>2],(0|_[i>>2])==(0|t)&&(_[e+36>>2]=1),(0|o)>1)){n=1;do{(0|_[i+(n<<2)>>2])==(0|t)&&(_[e+36>>2]=1),n=n+1|0}while((0|n)!=(0|o))}if(n=0|_[t+32>>2],(0|(o=0|_[n+488>>2]))<=0)return 15023;if(i=0|_[n+496>>2],(0|_[i>>2])==(0|t)&&(_[e+36>>2]=1),(0|o)<=1)return 15023;n=1;do{(0|_[i+(n<<2)>>2])==(0|t)&&(_[e+36>>2]=1),n=n+1|0}while((0|n)!=(0|o));return 15023}function ie(t,e){t|=0;var i,n=0,o=0,r=0;switch(i=Q,Q=Q+32|0,n=0|_[388+(e|=0)>>2],48&_[t+388>>2]&n&63){case 32:return(0|t)==(0|e)&!(64&n)||(p[i+4>>2]=1,_[i+8+4>>2]=0,_[i+8+4+4>>2]=0,_[i+8+4+8>>2]=0,_[i>>2]=4388,_[i+8>>2]=_[t+456>>2],n=0|_[t+192>>2],r=+Il[15&_[48+(0|_[n>>2])>>2]](n),n=0|_[e+192>>2],r+=+Il[15&_[48+(0|_[n>>2])>>2]](n),p[i+12>>2]=r,r=+p[t+316>>2],o=+p[e+316>>2],p[i+16>>2]=r>2]=t,_[i+28>>2]=e,ze(0|_[t+1048>>2],0|_[e+1048>>2],i)),void(Q=i);case 16:return(0|t)==(0|e)||(_[i>>2]=4424,n=0|_[t+192>>2],r=+Il[15&_[48+(0|_[n>>2])>>2]](n),n=0|_[e+192>>2],r+=+Il[15&_[48+(0|_[n>>2])>>2]](n),p[i+12>>2]=r,_[i+4>>2]=t,_[i+8>>2]=e,ze(0|_[t+928>>2],0|_[e+988>>2],i),_[i+4>>2]=e,_[i+8>>2]=t,ze(0|_[e+928>>2],0|_[t+988>>2],i)),void(Q=i);default:return void(Q=i)}}function ne(t,e){t|=0,e|=0;var i,o=0,r=0,s=0,p=0,c=0,a=0,l=0;i=Q,Q=Q+48|0,p=(s=i)+44|0;do{_[s>>2]=0,s=s+4|0}while((0|s)<(0|p));if(a=e||0|_[_[t+880>>2]>>2],(0|(e=0|_[t+732>>2]))==(0|_[t+736>>2])&&(0|e)<(0|(l=0|e?e<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(e=0|di(16+(52*l|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,c=e,e=0|_[t+732>>2]):c=0,(0|e)>0){o=0;do{s=c+(52*o|0)|0,r=(0|_[t+740>>2])+(52*o|0)|0,p=s+52|0;do{_[s>>2]=_[r>>2],s=s+4|0,r=r+4|0}while((0|s)<(0|p));o=o+1|0}while((0|o)!=(0|e))}0|(e=0|_[t+740>>2])&&(0|n[t+744|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+740>>2]=0),n[t+744|0]=1,_[t+740>>2]=c,_[t+736>>2]=l,e=0|_[t+732>>2]}s=0|_[t+740>>2],_[s+(52*e|0)>>2]=0,_[s+(52*e|0)+4>>2]=a,r=i,p=44+(s=s+(52*e|0)+8|0)|0;do{_[s>>2]=_[r>>2],s=s+4|0,r=r+4|0}while((0|s)<(0|p));_[t+732>>2]=1+(0|_[t+732>>2]),Q=i}function oe(t){var e=0;return 0|(e=0|_[(t|=0)>>2])&&Yn(t,e),0|(e=0|_[t+4>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+4>>2]=0,_[t+8>>2]=-1,0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,_[t+16>>2]=0,(e=0|_[t+52>>2])&&0|n[t+56|0]?(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+32>>2],n[t+56|0]=1,_[t+52>>2]=0,_[t+44>>2]=0,_[t+48>>2]=0,e?(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0,n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,void(_[t+28>>2]=0)):(n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,void(_[t+28>>2]=0))):(n[t+56|0]=1,_[t+52>>2]=0,_[t+44>>2]=0,_[t+48>>2]=0,n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,void(_[t+28>>2]=0))}function _e(t,e,i){t|=0,e|=0;var o,r,s=0;if((0|(i|=0))>=8192)return M(0|t,0|e,0|i),0|t;if(r=0|t,o=t+i|0,(3&t)==(3&e)){for(;3&t;){if(!i)return 0|r;n[0|t]=0|n[0|e],t=t+1|0,e=e+1|0,i=i-1|0}for(s=(i=-4&o)-64|0;(0|t)<=(0|s);)_[t>>2]=_[e>>2],_[t+4>>2]=_[e+4>>2],_[t+8>>2]=_[e+8>>2],_[t+12>>2]=_[e+12>>2],_[t+16>>2]=_[e+16>>2],_[t+20>>2]=_[e+20>>2],_[t+24>>2]=_[e+24>>2],_[t+28>>2]=_[e+28>>2],_[t+32>>2]=_[e+32>>2],_[t+36>>2]=_[e+36>>2],_[t+40>>2]=_[e+40>>2],_[t+44>>2]=_[e+44>>2],_[t+48>>2]=_[e+48>>2],_[t+52>>2]=_[e+52>>2],_[t+56>>2]=_[e+56>>2],_[t+60>>2]=_[e+60>>2],t=t+64|0,e=e+64|0;for(;(0|t)<(0|i);)_[t>>2]=_[e>>2],t=t+4|0,e=e+4|0}else for(i=o-4|0;(0|t)<(0|i);)n[0|t]=0|n[0|e],n[t+1|0]=0|n[e+1|0],n[t+2|0]=0|n[e+2|0],n[t+3|0]=0|n[e+3|0],t=t+4|0,e=e+4|0;for(;(0|t)<(0|o);)n[0|t]=0|n[0|e],t=t+1|0,e=e+1|0;return 0|r}function re(t){var e,i=0,o=0,r=0,s=0,p=0,c=0;if(_[(t|=0)>>2]=10348,0|(i=0|_[t+56>>2])&&(0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+56>>2]=0),n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,(0|(e=0|_[t+28>>2]))>0){i=0;do{s=(r=0|_[t+36>>2])+(36*i|0)+4|0,o=r+(36*i|0)+16|0,0|(c=0|_[(p=r+(36*i|0)+12|0)>>2])&&(0|n[0|o]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[p>>2]=0),n[0|o]=1,_[p>>2]=0,_[s>>2]=0,_[r+(36*i|0)+8>>2]=0,i=i+1|0}while((0|i)!=(0|e))}if(0|(i=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,!(i=0|_[t+16>>2]))return n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[(t=t+12|0)>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[(t=t+12|0)>>2]=0}function se(t){var e=0;if(_[(t|=0)>>2]=9448,0|(e=0|_[t+156>>2])&&(0|n[t+160|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+156>>2]=0),n[t+160|0]=1,_[t+156>>2]=0,_[t+148>>2]=0,_[t+152>>2]=0,0|(e=0|_[t+136>>2])&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+136>>2]=0),n[t+140|0]=1,_[t+136>>2]=0,_[t+128>>2]=0,_[t+132>>2]=0,0|(e=0|_[t+116>>2])&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+116>>2]=0),n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,0|(e=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,_[t>>2]=10364,!(e=0|_[t+32>>2]))return n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,void(_[(t=t+28|0)>>2]=0);0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0,n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[(t=t+28|0)>>2]=0}function pe(t){var e=0;if(_[(t|=0)>>2]=10008,0|(e=0|_[t+160>>2])&&(0|n[t+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+160>>2]=0),n[t+164|0]=1,_[t+160>>2]=0,_[t+152>>2]=0,_[t+156>>2]=0,0|(e=0|_[t+136>>2])&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+136>>2]=0),n[t+140|0]=1,_[t+136>>2]=0,_[t+128>>2]=0,_[t+132>>2]=0,0|(e=0|_[t+116>>2])&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+116>>2]=0),n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,0|(e=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,!(e=0|_[t+76>>2]))return n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,void(_[(t=t+72|0)>>2]=0);0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+76>>2]=0,n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[(t=t+72|0)>>2]=0}function ce(t){var e=0;if(_[(t|=0)>>2]=5716,0|(e=0|_[t+144>>2])&&(0|n[t+148|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+144>>2]=0),n[t+148|0]=1,_[t+144>>2]=0,_[t+136>>2]=0,_[t+140>>2]=0,0|(e=0|_[t+76>>2])&&(0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+76>>2]=0),n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[t+72>>2]=0,0|(e=0|_[t+56>>2])&&(0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+56>>2]=0),n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,0|(e=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,!(e=0|_[t+16>>2]))return n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[(t=t+12|0)>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[(t=t+12|0)>>2]=0}function ae(t){t|=0;var e=0;return!(0|n[24456])&&0|Qs(24456)&&(!(0|n[24408])&&0|Qs(24408)&&(!(0|n[24416])&&0|Qs(24416)&&(_[6222]=1065353216,_[6223]=0,_[6224]=0,_[6225]=0,_[6226]=0,_[6227]=1065353216,_[6228]=0,_[6229]=0,_[6230]=0,_[6231]=0,_[6232]=1065353216,p[6233]=0),_[6206]=_[6222],_[6207]=_[6223],_[6208]=_[6224],_[6209]=_[6225],_[6210]=_[6226],_[6211]=_[6227],_[6212]=_[6228],_[6213]=_[6229],_[6214]=_[6230],_[6215]=_[6231],_[6216]=_[6232],_[6217]=_[6233],_[6218]=0,_[6219]=0,_[6220]=0,_[6221]=0),_[6258]=_[6206],_[6259]=_[6207],_[6260]=_[6208],_[6261]=_[6209],_[6262]=_[6210],_[6263]=_[6211],_[6264]=_[6212],_[6265]=_[6213],_[6266]=_[6214],_[6267]=_[6215],_[6268]=_[6216],_[6269]=_[6217],_[6270]=_[6218],_[6271]=_[6219],_[6272]=_[6220],_[6273]=_[6221]),(e=0|_[t+8>>2])?e+4|0:0|(0|(e=0|_[t>>2])?e+60:25032)}function le(t,e,i){e|=0,i|=0;var o=0,r=0,s=0,p=0,c=0,a=0;if((0|(o=0|_[96+(t|=0)>>2]))==(0|_[t+100>>2])&&(0|o)<(0|(p=0|o?o<<1:1))){if(p?(_[6630]=1+(0|_[6630]),(o=0|di(16+(p<<4|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=o,o=0|_[t+96>>2]):s=0,(0|o)>0){r=0;do{c=s+(r<<4)|0,a=(0|_[t+104>>2])+(r<<4)|0,_[c>>2]=_[a>>2],_[c+4>>2]=_[a+4>>2],_[c+8>>2]=_[a+8>>2],_[c+12>>2]=_[a+12>>2],r=r+1|0}while((0|r)!=(0|o))}0|(o=0|_[t+104>>2])&&(0|n[t+108|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])),_[t+104>>2]=0),n[t+108|0]=1,_[t+104>>2]=s,_[t+100>>2]=p,o=0|_[t+96>>2]}a=(0|_[t+104>>2])+(o<<4)|0,_[a>>2]=_[e>>2],_[a+4>>2]=_[e+4>>2],_[a+8>>2]=_[e+8>>2],_[a+12>>2]=_[e+12>>2],_[t+96>>2]=1+(0|_[t+96>>2]),i&&nn(t)}function de(t){var e=0,i=0,o=0,r=0;if(_[32+(t|=0)>>2]=262144,(0|(e=0|_[t+4>>2]))<2383){if((0|_[t+8>>2])<2383){if(_[6630]=1+(0|_[6630]),(i=0|di(9551))?(_[(i+4+15&-16)-4>>2]=i,r=i+4+15&-16):r=0,(0|(o=0|_[t+4>>2]))>0){i=0;do{_[r+(i<<2)>>2]=_[(0|_[t+12>>2])+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|o))}0|(i=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=r,_[t+8>>2]=2383,i=t+12|0}else i=t+12|0;do{_[(0|_[i>>2])+(e<<2)>>2]=0,e=e+1|0}while(2383!=(0|e))}_[t+4>>2]=2383,i=0;do{if(r=(0|_[t+12>>2])+(i<<2)|0,e=0|_[r>>2],_[r>>2]=0,0|e)do{r=e,e=0|_[e+280>>2],yl(r)}while(0|e);i=i+1|0}while(2383!=(0|i));p[t+20>>2]=.25,_[t+24>>2]=0,_[t+28>>2]=0,_[t+36>>2]=1,_[t+40>>2]=1}function be(t,e){e|=0;var i=0,o=0,r=0,s=0;i=0|_[488+(t|=0)>>2];t:do{if((0|i)>0){for(r=0|_[t+496>>2],o=0;(0|_[r+(o<<2)>>2])!=(0|e);)if((0|(o=o+1|0))>=(0|i))break t;if((0|o)!=(0|i))return void(_[(e=t+256|0)>>2]=1)}}while(0);if((0|i)==(0|_[t+492>>2])&&(0|i)<(0|(s=0|i?i<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(i=0|di(16+(s<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,r=i,i=0|_[t+488>>2]):r=0,(0|i)>0){o=0;do{_[r+(o<<2)>>2]=_[(0|_[t+496>>2])+(o<<2)>>2],o=o+1|0}while((0|o)!=(0|i))}(o=0|_[t+496>>2])&&(0|n[t+500|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),i=0|_[t+488>>2]),_[t+496>>2]=0),n[t+500|0]=1,_[t+496>>2]=r,_[t+492>>2]=s}_[(0|_[t+496>>2])+(i<<2)>>2]=e,_[t+488>>2]=i+1,_[(e=t+256|0)>>2]=1}function Ae(t){var e,i=0,o=0,r=0;if(_[(t|=0)>>2]=9720,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,_[t+24>>2]=0,n[t+28|0]=0,n[t+48|0]=1,_[t+44>>2]=0,_[t+36>>2]=0,_[t+40>>2]=0,n[t+68|0]=1,_[t+64>>2]=0,_[t+56>>2]=0,_[t+60>>2]=0,_[t+72>>2]=0,_[6630]=1+(0|_[6630]),(i=0|di(51))?(_[(i+4+15&-16)-4>>2]=i,o=i+4+15&-16):o=0,(0|(e=0|_[t+8>>2]))>0){i=0;do{r=0|_[t+16>>2],_[o+(i<<4)>>2]=_[r+(i<<4)>>2],_[o+(i<<4)+4>>2]=_[r+(i<<4)+4>>2],_[o+(i<<4)+8>>2]=_[r+(i<<4)+8>>2],_[o+(i<<4)+12>>2]=_[r+(i<<4)+12>>2],i=i+1|0}while((0|i)!=(0|e))}if(!(i=0|_[t+16>>2]))return n[t+20|0]=1,_[t+16>>2]=o,_[t+12>>2]=2,void tt(t);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=o,_[t+12>>2]=2,tt(t)}function fe(t,e,i,n,o,_,r,s,c,a,l){e|=0,i=+i,n=+n,o=+o,_=+_,r=+r,s=+s,c|=0,a|=0,l=+l;var d,b,A,f,u,m,h,y,g=0,C=0,v=0,S=0;return y=+p[(t|=0)>>2]*_+ +p[t+16>>2]*r+ +p[t+32>>2]*s,m=+p[t+4>>2]*_+ +p[t+20>>2]*r+ +p[t+36>>2]*s,f=+p[t+8>>2]*_+ +p[t+24>>2]*r+ +p[t+40>>2]*s,A=+p[e>>2]*_+ +p[e+16>>2]*r+ +p[e+32>>2]*s,d=+p[e+4>>2]*_+ +p[e+20>>2]*r+ +p[e+36>>2]*s,v=+p[e+8>>2]*_+ +p[e+24>>2]*r+ +p[e+40>>2]*s,h=+p[c+80>>2],u=+p[c+84>>2],S=+p[c+88>>2],b=+p[a+80>>2],g=+p[a+84>>2],C=+p[a+88>>2],C=A*(A<0?-b:b)+d*(d<0?-g:g)+v*(v<0?-C:C),0|!((i*_+n*r+o*s+(g=((S=y*(y<0?-h:h)+m*(m<0?-u:u)+f*(f<0?-S:S))>(v=+p[c+96>>2])?S:v)+(C>(g=+p[a+96>>2])?C:g))l)}function ue(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r,s,c,a,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0;if(a=Q,Q=Q+176|0,_[a+96>>2]=1,_[a+96+4>>2]=i,_[a+96+8>>2]=e,_[a+96+12>>2]=16,p[a+96+16>>2]=.0010000000474974513,n[a+40+24|0]=1,_[(c=a+40+20|0)>>2]=0,_[a+40+12>>2]=0,_[a+40+16>>2]=0,n[0|(r=a+40+52|0)]=1,_[(s=a+40+48|0)>>2]=0,_[a+40+40>>2]=0,_[a+40+44>>2]=0,n[a+40|0]=1,_[a+40+4>>2]=0,_[a+40+28>>2]=0,_[a+40+32>>2]=0,n[a+16|0]=1,_[a+12>>2]=0,_[a+4>>2]=0,_[a+8>>2]=0,n[a+36|0]=1,_[a+32>>2]=0,_[a+24>>2]=0,_[a+28>>2]=0,_[a+96+20>>2]=i,Rl(a,a+96|0,a+40|0),_[6630]=1+(0|_[6630]),(e=0|di(1271))?(_[(e+4+15&-16)-4>>2]=e,m=e+4+15&-16):m=0,hi(m,t,0|_[a+40+4>>2],0|_[c>>2],0),(0|_[a+40+28>>2])>0){i=m+720|0,t=m+732|0,l=m+740|0,d=m+924|0,e=0;do{u=3*e|0,h=0|_[s>>2],A=0|_[h+(u<<2)>>2],f=0|_[h+(u+1<<2)>>2],u=0|_[h+(u+2<<2)>>2],(0|A)<(0|f)&&(w=0|_[i>>2],ne(m,0),h=(0|_[t>>2])-1|0,y=0|_[l>>2],_[y+(52*h|0)+8>>2]=w+(104*A|0),_[y+(52*h|0)+12>>2]=w+(104*f|0),S=+p[w+(104*A|0)+8>>2]-+p[w+(104*f|0)+8>>2],v=+p[w+(104*A|0)+12>>2]-+p[w+(104*f|0)+12>>2],C=+p[w+(104*A|0)+16>>2]-+p[w+(104*f|0)+16>>2],C=+b(+(S*S+v*v+C*C)),p[y+(52*h|0)+16>>2]=C,n[0|d]=1),(0|f)<(0|u)&&(h=0|_[i>>2],ne(m,0),w=(0|_[t>>2])-1|0,y=0|_[l>>2],_[y+(52*w|0)+8>>2]=h+(104*f|0),_[y+(52*w|0)+12>>2]=h+(104*u|0),C=+p[h+(104*f|0)+8>>2]-+p[h+(104*u|0)+8>>2],v=+p[h+(104*f|0)+12>>2]-+p[h+(104*u|0)+12>>2],S=+p[h+(104*f|0)+16>>2]-+p[h+(104*u|0)+16>>2],S=+b(+(C*C+v*v+S*S)),p[y+(52*w|0)+16>>2]=S,n[0|d]=1),(0|u)<(0|A)&&(h=0|_[i>>2],ne(m,0),w=(0|_[t>>2])-1|0,y=0|_[l>>2],_[y+(52*w|0)+8>>2]=h+(104*u|0),_[y+(52*w|0)+12>>2]=h+(104*A|0),C=+p[h+(104*u|0)+8>>2]-+p[h+(104*A|0)+8>>2],v=+p[h+(104*u|0)+12>>2]-+p[h+(104*A|0)+12>>2],S=+p[h+(104*u|0)+16>>2]-+p[h+(104*A|0)+16>>2],S=+b(+(C*C+v*v+S*S)),p[y+(52*w|0)+16>>2]=S,n[0|d]=1),ct(m,A,f,u,0),e=e+1|0}while((0|e)<(0|_[a+40+28>>2]))}if(0|_[a+40+12>>2]&&(_[a+40+4>>2]=0,0|(e=0|_[c>>2])&&(0|n[a+40+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[c>>2]=0),n[a+40+24|0]=1,_[c>>2]=0,_[a+40+12>>2]=0,_[a+40+16>>2]=0),0|_[a+40+40>>2]&&(_[a+40+32>>2]=0,0|(e=0|_[s>>2])&&(0|n[0|r]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[s>>2]=0),n[0|r]=1,_[s>>2]=0,_[a+40+40>>2]=0,_[a+40+44>>2]=0),o){if((0|(t=0|_[m+732>>2]))>0){l=m+740|0,e=243703,i=0;do{A=(d=0|_[l>>2])+(52*i|0)|0,e=1013904223+(0|g(e,1664525))|0,u=A,o=52+(f=a+124|0)|0;do{_[f>>2]=_[u>>2],f=f+4|0,u=u+4|0}while((0|f)<(0|o));u=d+(52*((e>>>0)%(t>>>0)|0)|0)|0,o=(f=A)+52|0;do{_[f>>2]=_[u>>2],f=f+4|0,u=u+4|0}while((0|f)<(0|o));u=a+124|0,o=52+(f=d+(52*((e>>>0)%(t>>>0)|0)|0)|0)|0;do{_[f>>2]=_[u>>2],f=f+4|0,u=u+4|0}while((0|f)<(0|o));i=i+1|0}while((0|i)!=(0|t))}else e=243703;if((0|(d=0|_[m+752>>2]))>0){A=m+760|0,i=0;do{t=(l=0|_[A>>2])+(44*i|0)|0,l=l+(44*(((e=1013904223+(0|g(e,1664525))|0)>>>0)%(d>>>0)|0)|0)|0,u=t,o=44+(f=a+124|0)|0;do{_[f>>2]=_[u>>2],f=f+4|0,u=u+4|0}while((0|f)<(0|o));u=l,o=(f=t)+44|0;do{_[f>>2]=_[u>>2],f=f+4|0,u=u+4|0}while((0|f)<(0|o));u=a+124|0,o=(f=l)+44|0;do{_[f>>2]=_[u>>2],f=f+4|0,u=u+4|0}while((0|f)<(0|o));i=i+1|0}while((0|i)!=(0|d))}}return 0|(e=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=0,_[a+24>>2]=0,_[a+28>>2]=0,0|(e=0|_[a+12>>2])&&(0|n[a+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[a+12>>2]=0),0|(e=0|_[s>>2])&&(0|n[0|r]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[s>>2]=0),n[0|r]=1,_[s>>2]=0,_[a+40+40>>2]=0,_[a+40+44>>2]=0,(e=0|_[c>>2])?(0|n[a+40+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[c>>2]=0,Q=a,0|m):(Q=a,0|m)}function me(t,e,i,o,r,s){e|=0,i|=0,o|=0,r|=0,s|=0;var c,l,d,b,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0;if(b=Q,Q=Q+288|0,y=0|_[4+(t|=0)>>2],n[y+312|0]=0,_[y>>2]=0,n[y+356|0]=1,_[y+292>>2]=1566444395,_[y+296>>2]=1566444395,_[y+300>>2]=1566444395,p[y+304>>2]=0,_[y+336>>2]=0,_[y+336+4>>2]=0,_[y+336+8>>2]=0,_[y+336+12>>2]=0,n[y+336+16|0]=0,n[y+332|0]=-16&n[y+332|0],c=+p[i+48>>2]-+p[e+48>>2]-(+p[r+48>>2]-+p[o+48>>2]),l=+p[i+52>>2]-+p[e+52>>2]-(+p[r+52>>2]-+p[o+52>>2]),d=+p[i+56>>2]-+p[e+56>>2]-(+p[r+56>>2]-+p[o+56>>2]),_[b+216>>2]=10156,p[b+216+36>>2]=0xde0b6b000000000,n[b+216+40|0]=0,y=0|_[t+8>>2],h=0|_[t+12>>2],m=0|_[t+4>>2],_[b+136>>2]=10204,_[b+136+4>>2]=0,_[b+136+8>>2]=1065353216,_[b+136+12>>2]=0,p[b+136+16>>2]=0,_[b+136+20>>2]=0,_[b+136+24>>2]=m,_[b+136+28>>2]=y,_[b+136+32>>2]=h,_[b+136+36>>2]=_[y+4>>2],_[b+136+40>>2]=_[h+4>>2],u=+Il[15&_[48+(0|_[y>>2])>>2]](y),p[b+136+44>>2]=u,u=+Il[15&_[48+(0|_[h>>2])>>2]](h),p[b+136+48>>2]=u,n[b+136+52|0]=0,_[b+136+60>>2]=-1,_[b+136+72>>2]=1,_[b+136+76>>2]=1,p[b+128>>2]=0xde0b6b000000000,_[b>>2]=_[e>>2],_[b+4>>2]=_[e+4>>2],_[b+8>>2]=_[e+8>>2],_[b+12>>2]=_[e+12>>2],_[b+16>>2]=_[e+16>>2],_[b+16+4>>2]=_[e+16+4>>2],_[b+16+8>>2]=_[e+16+8>>2],_[b+16+12>>2]=_[e+16+12>>2],_[b+32>>2]=_[e+32>>2],_[b+32+4>>2]=_[e+32+4>>2],_[b+32+8>>2]=_[e+32+8>>2],_[b+32+12>>2]=_[e+32+12>>2],_[b+48>>2]=_[e+48>>2],_[b+48+4>>2]=_[e+48+4>>2],_[b+48+8>>2]=_[e+48+8>>2],_[b+48+12>>2]=_[e+48+12>>2],_[b+64>>2]=_[o>>2],_[b+64+4>>2]=_[o+4>>2],_[b+64+8>>2]=_[o+8>>2],_[b+64+12>>2]=_[o+12>>2],_[b+80>>2]=_[o+16>>2],_[b+80+4>>2]=_[o+16+4>>2],_[b+80+8>>2]=_[o+16+8>>2],_[b+80+12>>2]=_[o+16+12>>2],_[b+96>>2]=_[o+32>>2],_[b+96+4>>2]=_[o+32+4>>2],_[b+96+8>>2]=_[o+32+8>>2],_[b+96+12>>2]=_[o+32+12>>2],_[b+112>>2]=_[o+48>>2],_[b+112+4>>2]=_[o+48+4>>2],_[b+112+8>>2]=_[o+48+8>>2],_[b+112+12>>2]=_[o+48+12>>2],Si(b+136|0,b,b+216|0,0,0),h=!(0|n[b+216+40|0]),y=b+216+20|0,_[b+264>>2]=_[y>>2],_[b+264+4>>2]=_[y+4>>2],_[b+264+8>>2]=_[y+8>>2],_[b+264+12>>2]=_[y+12>>2],h)return Q=b,0|(s=0);u=+p[b+216+36>>2],A=+p[b+216+16>>2],t=0|_[b+216+12>>2],f=0|_[b+216+8>>2],m=0|_[b+216+4>>2];do{if(u>.0010000000474974513){for(h=0,A=0;;){if(h>>>0>31){t=0,h=13;break}if(C=c*(_[a>>2]=m,+p[a>>2]),C=l*(_[a>>2]=f,+p[a>>2])+C,g=A,!(!((A-=u/(d*(_[a>>2]=t,+p[a>>2])+C))<=g)&!(A<0)&!(A>1))){t=0,h=13;break}if(zl[31&_[_[s>>2]>>2]](s,A),C=1-A,p[b+48>>2]=C*+p[e+48>>2]+A*+p[i+48>>2],p[b+52>>2]=C*+p[e+52>>2]+A*+p[i+52>>2],p[b+56>>2]=C*+p[e+56>>2]+A*+p[i+56>>2],p[b+112>>2]=C*+p[o+48>>2]+A*+p[r+48>>2],p[b+116>>2]=C*+p[o+52>>2]+A*+p[r+52>>2],p[b+120>>2]=C*+p[o+56>>2]+A*+p[r+56>>2],Si(b+136|0,b,b+216|0,0,0),!(0|n[b+216+40|0])){t=0,h=13;break}if((u=+p[b+216+36>>2])<0){h=8;break}if(_[b+264>>2]=_[y>>2],_[b+264+4>>2]=_[y+4>>2],_[b+264+8>>2]=_[y+8>>2],_[b+264+12>>2]=_[y+12>>2],t=0|_[b+216+12>>2],f=0|_[b+216+8>>2],m=0|_[b+216+4>>2],!(u>.0010000000474974513)){h=10;break}h=h+1|0}if(8==(0|h))return p[s+164>>2]=A,i=0|_[b+216+8>>2],o=0|_[b+216+12>>2],r=0|_[b+216+16>>2],_[s+132>>2]=_[b+216+4>>2],_[s+136>>2]=i,_[s+140>>2]=o,_[s+144>>2]=r,_[s+148>>2]=_[y>>2],_[s+148+4>>2]=_[y+4>>2],_[s+148+8>>2]=_[y+8>>2],_[s+148+12>>2]=_[y+12>>2],Q=b,0|(s=1);if(10==(0|h)){u=A,A=+p[b+216+16>>2];break}if(13==(0|h))return Q=b,0|t}else u=0}while(0);return C=c*(_[a>>2]=m,+p[a>>2]),C=l*(_[a>>2]=f,+p[a>>2])+C,d*(_[a>>2]=t,+p[a>>2])+C>=-+p[s+172>>2]?(Q=b,0|(s=0)):(p[s+164>>2]=u,_[s+132>>2]=m,_[s+136>>2]=f,_[s+140>>2]=t,p[s+144>>2]=A,_[s+148>>2]=_[b+264>>2],_[s+148+4>>2]=_[b+264+4>>2],_[s+148+8>>2]=_[b+264+8>>2],_[s+148+12>>2]=_[b+264+12>>2],Q=b,0|(s=1))}function he(t,e,i,o,r,s,c,a,l,d,b,A,f){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,a|=0,d|=0,b|=0,A|=0,f|=0;var u,m,h,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0;if(m=0|g(0|_[24+(l|=0)>>2],d),!(!!((u=0|n[e+44|0])<<24>>24)|!!(0|(h=0|_[e+56>>2]))))return 0|(l=0);I=0|_[(0|A?l+12:l+8)>>2],d=0|_[(0|A?l+20:l+16)>>2],_[I+(m<<2)>>2]=_[b>>2],_[I+(m+1<<2)>>2]=_[b+4>>2],_[I+(m+2<<2)>>2]=_[b+8>>2],p[d+(m<<2)>>2]=-+p[b>>2],p[d+(m+1<<2)>>2]=-+p[b+4>>2],p[d+(m+2<<2)>>2]=-+p[b+8>>2];do{if(!A){if(y=+p[t+1176>>2],!(0|n[t+1301|0])){S=y-+p[i+48>>2],R=+p[t+1180>>2]-+p[i+52>>2],j=+p[t+1184>>2]-+p[i+56>>2],k=+p[b+8>>2],v=+p[b+4>>2],w=+p[b>>2],I=0|_[l+12>>2],p[I+(m<<2)>>2]=R*k-j*v,p[I+(m+1<<2)>>2]=j*w-S*k,p[I+(m+2<<2)>>2]=S*v-R*w,w=+p[t+1176>>2]-+p[o+48>>2],R=+p[t+1180>>2]-+p[o+52>>2],v=+p[t+1184>>2]-+p[o+56>>2],S=+p[b+8>>2],k=+p[b+4>>2],j=+p[b>>2],I=0|_[l+20>>2],p[I+(m<<2)>>2]=-(R*S-v*k),p[I+(m+1<<2)>>2]=-(v*j-w*S),p[I+(m+2<<2)>>2]=-(w*k-R*j);break}T=y-+p[o+48>>2],x=+p[t+1180>>2]-+p[o+52>>2],W=+p[t+1184>>2]-+p[o+56>>2],O=+p[b>>2],F=+p[b+4>>2],B=+p[b+8>>2],P=O*(O*(M=+p[t+1112>>2]-+p[i+48>>2])+F*(v=+p[t+1116>>2]-+p[i+52>>2])+B*(S=+p[t+1120>>2]-+p[i+56>>2]))+O*(C=+p[e+52>>2]-+p[e+48>>2])-O*(T*O+x*F+W*B),y=F*(O*M+F*v+B*S)+F*C-F*(T*O+x*F+W*B),C=B*(O*M+F*v+B*S)+B*C-B*(T*O+x*F+W*B),w=B*(v-F*(O*M+F*v+B*S)+(R=+p[t+1272>>2])*y)-F*(S-B*(O*M+F*v+B*S)+R*C),k=O*(S-B*(O*M+F*v+B*S)+R*C)-B*(M-O*(O*M+F*v+B*S)+R*P),S=F*(M-O*(O*M+F*v+B*S)+R*P)-O*(v-F*(O*M+F*v+B*S)+R*y),v=B*(x-F*(T*O+x*F+W*B)-(j=+p[t+1276>>2])*y)-F*(W-B*(T*O+x*F+W*B)-j*C),C=O*(W-B*(T*O+x*F+W*B)-j*C)-B*(T-O*(T*O+x*F+W*B)-j*P),y=F*(T-O*(T*O+x*F+W*B)-j*P)-O*(x-F*(T*O+x*F+W*B)-j*y),!!(0|f)|!(0|n[t+1280|0])||(w*=R,k*=R,S*=R,v*=j,C*=j,y*=j),I=(0|_[l+12>>2])+(m<<2)|0,p[I>>2]=w,p[I+4>>2]=k,p[I+8>>2]=S,I=0|_[l+20>>2],p[I+(m<<2)>>2]=-v,p[I+(m+1<<2)>>2]=-C,p[I+(m+2<<2)>>2]=-y}}while(0);0|h&&+p[e>>2]==+p[e+4>>2]?(i=(0|_[l+28>>2])+(m<<2)|0,p[i>>2]=0,y=0):D=11;do{if(11==(0|D)){if(d=(0|_[l+28>>2])+(m<<2)|0,p[d>>2]=0,!(u<<24>>24)){if(0|h){i=d,y=0;break}return 0|(s=1)}if(_[(0|_[l+32>>2])+(m<<2)>>2]=_[e+28>>2],0|h){i=d,y=+p[d>>2];break}k=+p[e+8>>2],y=0|A?k:-k,C=+p[e+52>>2],v=+p[e>>2],S=+p[e+4>>2],w=+p[l>>2]*+p[e+32>>2];do{if(v>S)y=1;else if(v!=S){if(y/w<0){if(C>=v&&v-y/w>C){y=(v-C)/(y/w);break}y=C0){if(C<=S&&S-y/wS?0:1;break}y=0}else y=0}while(0);return p[d>>2]=y*k+ +p[d>>2],p[(0|_[l+36>>2])+(m<<2)>>2]=-+p[e+12>>2],_[(0|_[l+40>>2])+(m<<2)>>2]=_[e+12>>2],0|(I=1)}}while(0);return M=+p[l>>2]*+p[e+32>>2]*+p[e+48>>2],p[i>>2]=y+(0|A?-M:M),_[(0|_[l+32>>2])+(m<<2)>>2]=_[e+36>>2],+p[e>>2]==+p[e+4>>2]?(p[(0|_[l+36>>2])+(m<<2)>>2]=-34028234663852886e22,p[(0|_[l+40>>2])+(m<<2)>>2]=34028234663852886e22,0|(I=1)):(p[(0|_[l+36>>2])+(m<<2)>>2]=1==(0|h)?0:-34028234663852886e22,p[(0|_[l+40>>2])+(m<<2)>>2]=1==(0|h)?34028234663852886e22:0,(k=+p[e+40>>2])>0?(0|A?(M=+p[b>>2],C=+p[b+4>>2],v=y=+p[b+8>>2],S=C,w=M,s=a,C=+p[c>>2]*M+ +p[c+4>>2]*C,y=+p[c+8>>2]*y):(M=+p[b>>2],C=+p[b+4>>2],v=y=+p[b+8>>2],S=C,w=M,C=+p[r>>2]*M+ +p[r+4>>2]*C,y=+p[r+8>>2]*y),y=C+y-(w*+p[s>>2]+S*+p[s+4>>2]+v*+p[s+8>>2]),1==(0|h)?y<0&&+p[i>>2]<-k*y?(p[i>>2]=-k*y,0|(I=1)):0|(I=1):y>0&&+p[i>>2]>-k*y?(p[i>>2]=-k*y,0|(I=1)):0|(I=1)):0|(I=1))}function ye(t,e,i){t|=0,i|=0;var n,o=0,r=0,s=0,c=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0;switch(n=Q,Q=Q+48|0,0|_[4+(e|=0)>>2]){case 8:return _[t>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,void(Q=n);case 0:return S=+p[e+28>>2],w=+p[e+28+4>>2],w=+p[i+4>>2]>=0?w:-w,k=+p[e+28+8>>2],k=+p[i+8>>2]>=0?k:-k,p[t>>2]=+p[i>>2]>=0?S:-S,p[t+4>>2]=w,p[t+8>>2]=k,p[t+12>>2]=0,void(Q=n);case 1:return C=+p[i>>2],v=+p[i+4>>2],k=+p[i+8>>2],w=C*+p[e+56>>2]+v*+p[e+56+4>>2]+k*+p[e+56+8>>2],S=C*+p[e+56+16>>2]+v*+p[e+56+20>>2]+k*+p[e+56+24>>2],k=C*+p[e+56+32>>2]+v*+p[e+56+36>>2]+k*+p[e+56+40>>2],u=0|_[e+56+((f=w>2],y=0|_[e+56+(f<<4)+8>>2],_[t>>2]=_[e+56+(f<<4)>>2],_[t+4>>2]=u,_[t+8>>2]=y,p[t+12>>2]=0,void(Q=n);case 13:switch(_[n+32>>2]=_[e+28>>2],_[n+32+4>>2]=_[e+28+4>>2],_[n+32+8>>2]=_[e+28+8>>2],_[n+32+12>>2]=_[e+28+12>>2],_[n+16>>2]=_[i>>2],o=0|_[i+4>>2],_[n+16+4>>2]=o,y=0|_[i+8>>2],_[n+16+8>>2]=y,p[n+16+12>>2]=0,i=0|_[e+52>>2],_[a>>2]=y,r=+p[a>>2],0|i){case 2:e=0,f=2,u=1,_[a>>2]=o,s=+p[a>>2];break;case 1:e=0,f=1,u=2,s=r;break;default:e=1,f=0,u=2,s=r}return r=+p[n+32+(e<<2)>>2],c=+p[n+32+(i<<2)>>2],A=+p[n+16+(e<<2)>>2],0!=(d=+b(+(A*A+s*s)))?(l=s*(r/d),s=+p[n+16+(f<<2)>>2]<0?-c:c,r=A*(r/d)):(l=0,s=+p[n+16+(f<<2)>>2]<0?-c:c),p[n+(e<<2)>>2]=r,p[n+(f<<2)>>2]=s,p[n+(u<<2)>>2]=l,_[t>>2]=_[n>>2],_[t+4>>2]=_[n+4>>2],_[t+8>>2]=_[n+8>>2],p[t+12>>2]=0,void(Q=n);case 10:return r=+p[i>>2],s=+p[i+4>>2],c=+p[i+8>>2],o=0|_[e+52>>2],w=+p[e+28+(o<<2)>>2],l=+p[e+28+((o+2|0)%3<<2)>>2],r*r+s*s+c*c<9999999747378752e-20?(k=1,S=0,v=0):(k=r*(v=1/+b(+(r*r+s*s+c*c))),S=s*v,v*=c),_[n+32>>2]=0,_[n+32+4>>2]=0,_[n+32+8>>2]=0,_[n+32+12>>2]=0,p[n+32+(o<<2)>>2]=w,g=l*k,C=l*S,h=l*v,d=k*(m=+p[e+44>>2]),A=S*m,m*=v,l=g+ +p[n+32>>2]-d,r=C+ +p[n+32+4>>2]-A,(c=v*(s=h+ +p[n+32+8>>2]-m)+(k*l+S*r))>-0xde0b6b000000000?(p[a>>2]=s,u=0|_[a>>2],p[a>>2]=r,y=0|_[a>>2],p[a>>2]=l,f=0|_[a>>2]):(c=-0xde0b6b000000000,f=0,u=0,y=0),_[n+32>>2]=0,_[n+32+4>>2]=0,_[n+32+8>>2]=0,_[n+32+12>>2]=0,p[n+32+(o<<2)>>2]=-w,o=k*(g=g+ +p[n+32>>2]-d)+S*(w=C+ +p[n+32+4>>2]-A)+v*(r=h+ +p[n+32+8>>2]-m)>c,p[a>>2]=g,i=0|_[a>>2],p[a>>2]=w,e=0|_[a>>2],u=o?(p[a>>2]=r,0|_[a>>2]):u,_[t>>2]=o?i:f,_[t+4>>2]=o?e:y,_[t+8>>2]=u,p[t+12>>2]=0,void(Q=n);case 5:if(u=0|_[e+92>>2],f=0|_[e+96>>2],m=+p[e+12>>2],h=+p[e+16>>2],A=+p[e+20>>2],l=+p[i>>2]*m,d=+p[i+4>>2]*h,s=+p[i+8>>2]*A,(0|f)>0)for(o=-1,i=0,r=-34028234663852886e22;o=(e=(c=l*+p[u+(i<<4)>>2]+d*+p[u+(i<<4)+4>>2]+s*+p[u+(i<<4)+8>>2])>r)?i:o,(0|(i=i+1|0))!=(0|f);)r=e?c:r;else o=-1;return w=h*+p[u+(o<<4)+4>>2],k=A*+p[u+(o<<4)+8>>2],p[t>>2]=m*+p[u+(o<<4)>>2],p[t+4>>2]=w,p[t+8>>2]=k,p[t+12>>2]=0,void(Q=n);case 4:if(u=0|_[e+104>>2],f=0|_[e+96>>2],m=+p[e+12>>2],h=+p[e+16>>2],A=+p[e+20>>2],l=+p[i>>2]*m,d=+p[i+4>>2]*h,s=+p[i+8>>2]*A,(0|f)>0)for(o=-1,i=0,r=-34028234663852886e22;o=(e=(c=l*+p[u+(i<<4)>>2]+d*+p[u+(i<<4)+4>>2]+s*+p[u+(i<<4)+8>>2])>r)?i:o,(0|(i=i+1|0))!=(0|f);)r=e?c:r;else o=-1;return w=h*+p[u+(o<<4)+4>>2],k=A*+p[u+(o<<4)+8>>2],p[t>>2]=m*+p[u+(o<<4)>>2],p[t+4>>2]=w,p[t+8>>2]=k,p[t+12>>2]=0,void(Q=n);default:return _d[127&_[68+(0|_[e>>2])>>2]](t,e,i),void(Q=n)}}function ge(t,e,i,o,r,s){e|=0,i|=0,o|=0,r|=0,s|=0;var c,l,d,b,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0;if((0|(I=0|_[88+(t|=0)>>2]))==(0|_[t+92>>2])&&(0|I)<(0|(h=0|I?I<<1:1))){if(h?(_[6630]=1+(0|_[6630]),(A=0|di(16+(152*h|3)|0))?(_[(A+4+15&-16)-4>>2]=A,A=A+4+15&-16):A=0,u=0|_[t+88>>2]):(A=0,u=I),(0|u)>0){f=0;do{_e(A+(152*f|0)|0,(0|_[t+96>>2])+(152*f|0)|0,152),f=f+1|0}while((0|f)!=(0|u))}0|(f=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=A,_[t+92>>2]=h,A=0|_[t+88>>2]}else A=I;if(_[t+88>>2]=A+1,b=0|_[t+96>>2],_[b+(152*I|0)+140>>2]=r,_[b+(152*I|0)+16>>2]=0,_[b+(152*I|0)+16+4>>2]=0,_[b+(152*I|0)+16+8>>2]=0,_[b+(152*I|0)+16+12>>2]=0,p[b+(152*I|0)+48>>2]=-0,p[b+(152*I|0)+52>>2]=-0,p[b+(152*I|0)+56>>2]=-0,p[b+(152*I|0)+60>>2]=0,r=0|_[t+16>>2],h=0|_[r+(244*i|0)+240>>2],d=0|_[r+(244*o|0)+240>>2],_[b+(152*I|0)+144>>2]=i,_[b+(152*I|0)+148>>2]=o,t=0|_[s+88>>2],_[b+(152*I|0)+104>>2]=t,_[b+(152*I|0)+132>>2]=0,p[b+(152*I|0)+100>>2]=0,p[b+(152*I|0)+96>>2]=0,k=-+p[e>>2],R=-+p[e+4>>2],j=-+p[e+8>>2],p[b+(152*I|0)>>2]=k,p[b+(152*I|0)+4>>2]=R,p[b+(152*I|0)+8>>2]=j,p[b+(152*I|0)+12>>2]=0,_[a>>2]=t,D=+p[a>>2],0|h?(p[a>>2]=(+p[h+264>>2]*k+ +p[h+268>>2]*R+ +p[h+272>>2]*j)*+p[h+544>>2],A=0|_[a>>2],p[a>>2]=(+p[h+280>>2]*k+ +p[h+284>>2]*R+ +p[h+288>>2]*j)*+p[h+548>>2],f=0|_[a>>2],p[a>>2]=(+p[h+296>>2]*k+ +p[h+300>>2]*R+ +p[h+304>>2]*j)*+p[h+552>>2],u=0|_[a>>2]):(A=0,f=0,u=0),_[b+(152*I|0)+64>>2]=A,_[b+(152*I|0)+68>>2]=f,_[b+(152*I|0)+72>>2]=u,p[b+(152*I|0)+76>>2]=0,c=+p[e>>2],w=+p[e+4>>2],l=+p[e+8>>2],e=0|_[e+12>>2],p[b+(152*I|0)+32>>2]=c,p[b+(152*I|0)+36>>2]=w,p[b+(152*I|0)+40>>2]=l,_[b+(152*I|0)+44>>2]=e,0|d?(p[a>>2]=(c*+p[d+264>>2]+w*+p[d+268>>2]+l*+p[d+272>>2])*+p[d+544>>2],A=0|_[a>>2],p[a>>2]=(c*+p[d+280>>2]+w*+p[d+284>>2]+l*+p[d+288>>2])*+p[d+548>>2],f=0|_[a>>2],p[a>>2]=(c*+p[d+296>>2]+w*+p[d+300>>2]+l*+p[d+304>>2])*+p[d+552>>2],u=0|_[a>>2]):(A=0,f=0,u=0),_[b+(152*I|0)+80>>2]=A,_[b+(152*I|0)+84>>2]=f,_[b+(152*I|0)+88>>2]=u,p[b+(152*I|0)+92>>2]=0,0|h?(m=+p[h+264>>2]*k+ +p[h+268>>2]*R+ +p[h+272>>2]*j,y=+p[h+280>>2]*k+ +p[h+284>>2]*R+ +p[h+288>>2]*j,g=+p[h+296>>2]*k+ +p[h+300>>2]*R+ +p[h+304>>2]*j):(m=0,y=0,g=0),0|d?(C=+p[d+264>>2]*c+ +p[d+268>>2]*w+ +p[d+272>>2]*l,v=c*+p[d+280>>2]+w*+p[d+284>>2]+l*+p[d+288>>2],S=c*+p[d+296>>2]+w*+p[d+300>>2]+l*+p[d+304>>2]):(C=0,v=0,S=0),v=1/(m*k+y*R+g*j+0+(C*c+v*w+S*l)),p[b+(152*I|0)+108>>2]=v,0|h?(y=+p[r+(244*i|0)+192>>2],g=+p[r+(244*i|0)+196>>2],C=+p[r+(244*i|0)+200>>2],m=0*(+p[r+(244*i|0)+176>>2]+ +p[r+(244*i|0)+208>>2])+0*(+p[r+(244*i|0)+180>>2]+ +p[r+(244*i|0)+212>>2])+0*(+p[r+(244*i|0)+184>>2]+ +p[r+(244*i|0)+216>>2])):(y=0,g=0,C=0,m=0),m+=C*j+(g*R+y*k),!d)return j=0,k=0,j=0-(j=m+(j=(R=-0)+(j=(k*=l)+(j=(w*=S=0)+(j*=c))))),j*=v,p[(o=b+(152*I|0)+112|0)>>2]=j,p[(o=b+(152*I|0)+116|0)>>2]=0,D=-D,p[(o=b+(152*I|0)+120|0)>>2]=D,void(_[(I=b+(152*I|0)+124|0)>>2]=t);j=+p[r+(244*o|0)+192>>2],S=+p[r+(244*o|0)+196>>2],k=+p[r+(244*o|0)+200>>2],j=0-(j=m+(j=(R=-0*(+p[r+(244*o|0)+176>>2]+ +p[r+(244*o|0)+208>>2])+-0*(+p[r+(244*o|0)+180>>2]+ +p[r+(244*o|0)+212>>2])+-0*(+p[r+(244*o|0)+184>>2]+ +p[r+(244*o|0)+216>>2]))+(j=(k*=l)+(j=(w*=S)+(j*=c))))),j*=v,p[(o=b+(152*I|0)+112|0)>>2]=j,p[(o=b+(152*I|0)+116|0)>>2]=0,D=-D,p[(o=b+(152*I|0)+120|0)>>2]=D,_[(I=b+(152*I|0)+124|0)>>2]=t}function Ce(t,e){e|=0;var i,o,r,s,c,l,d,b,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0;i=Q,Q=Q+16|0,_[236+(t|=0)>>2]=2,_[t+312>>2]=0,_[t+312+4>>2]=0,_[t+312+8>>2]=0,_[t+312+12>>2]=0,_[t+312+16>>2]=0,_[t+312+20>>2]=0,_[t+312+24>>2]=0,_[t+312+28>>2]=0,_[t+544>>2]=1065353216,_[t+548>>2]=1065353216,_[t+552>>2]=1065353216,p[t+556>>2]=0,_[t+348>>2]=1065353216,_[t+352>>2]=1065353216,_[t+356>>2]=1065353216,u=36+(A=t+360|0)|0;do{_[A>>2]=0,A=A+4|0}while((0|A)<(0|u));_[t+412>>2]=0,_[t+412+4>>2]=0,_[t+412+8>>2]=0,_[t+412+12>>2]=0,_[t+412+16>>2]=0,_[t+412+20>>2]=0,_[t+412+24>>2]=0,_[t+412+28>>2]=0,f=+p[e+92>>2],y=+p[e+96>>2],p[i+12>>2]=f,p[i+8>>2]=y,p[i+4>>2]=0,p[i>>2]=1,_[t+444>>2]=_[(f<0?i+4:f>1?i:i+12)>>2],p[i+4>>2]=0,p[i>>2]=1,_[t+448>>2]=_[(y<0?i+4:y>1?i:i+8)>>2],_[t+472>>2]=_[e+112>>2],_[t+476>>2]=_[e+116>>2],A=0|_[e+4>>2],_[t+480>>2]=A,_[t+608>>2]=0,_[t+612>>2]=0,n[t+452|0]=0|n[e+120|0],_[t+456>>2]=_[e+124>>2],_[t+460>>2]=_[e+128>>2],_[t+464>>2]=_[e+132>>2],_[t+468>>2]=_[e+136>>2],A?(ed[127&_[8+(0|_[A>>2])>>2]](A,t+4|0),A=t+20|0,u=t+36|0,m=t+52|0,h=t+4|0):(_[t+4>>2]=_[e+8>>2],_[t+4+4>>2]=_[e+8+4>>2],_[t+4+8>>2]=_[e+8+8>>2],_[t+4+12>>2]=_[e+8+12>>2],_[t+20>>2]=_[e+24>>2],_[t+20+4>>2]=_[e+24+4>>2],_[t+20+8>>2]=_[e+24+8>>2],_[t+20+12>>2]=_[e+24+12>>2],_[t+36>>2]=_[e+40>>2],_[t+36+4>>2]=_[e+40+4>>2],_[t+36+8>>2]=_[e+40+8>>2],_[t+36+12>>2]=_[e+40+12>>2],_[t+52>>2]=_[e+56>>2],_[t+52+4>>2]=_[e+56+4>>2],_[t+52+8>>2]=_[e+56+8>>2],_[t+52+12>>2]=_[e+56+12>>2],A=t+20|0,u=t+36|0,m=t+52|0,h=t+4|0),_[t+68>>2]=_[h>>2],_[t+68+4>>2]=_[h+4>>2],_[t+68+8>>2]=_[h+8>>2],_[t+68+12>>2]=_[h+12>>2],_[t+84>>2]=_[A>>2],_[t+84+4>>2]=_[A+4>>2],_[t+84+8>>2]=_[A+8>>2],_[t+84+12>>2]=_[A+12>>2],_[t+100>>2]=_[u>>2],_[t+100+4>>2]=_[u+4>>2],_[t+100+8>>2]=_[u+8>>2],_[t+100+12>>2]=_[u+12>>2],_[t+116>>2]=_[m>>2],_[t+116+4>>2]=_[m+4>>2],_[t+116+8>>2]=_[m+8>>2],_[t+116+12>>2]=_[m+12>>2],_[t+132>>2]=0,_[t+132+4>>2]=0,_[t+132+8>>2]=0,_[t+132+12>>2]=0,_[t+132+16>>2]=0,_[t+132+20>>2]=0,_[t+132+24>>2]=0,_[t+132+28>>2]=0,_[t+224>>2]=_[e+100>>2],_[t+232>>2]=_[e+104>>2],_[t+228>>2]=_[e+108>>2],ed[127&_[12+(0|_[t>>2])>>2]](t,0|_[e+72>>2]),A=0|_[6294],_[6294]=A+1,_[t+508>>2]=A,f=+p[e>>2],A=0|_[t+204>>2],0==f?(_[t+204>>2]=1|A,y=0):(_[t+204>>2]=-2&A,y=1/f),p[t+344>>2]=y,C=f*+p[t+384>>2],g=f*+p[t+388>>2],p[t+364>>2]=f*+p[t+380>>2],p[t+368>>2]=C,p[t+372>>2]=g,p[t+376>>2]=0,u=0!=(f=+p[e+76>>2])?(p[a>>2]=1/f,0|_[a>>2]):0,A=0!=(f=+p[e+80>>2])?(p[a>>2]=1/f,0|_[a>>2]):0,e=0!=(f=+p[e+84>>2])?(p[a>>2]=1/f,0|_[a>>2]):0,_[t+396>>2]=u,_[t+400>>2]=A,_[t+404>>2]=e,p[t+408>>2]=0,v=y*+p[t+352>>2],S=y*+p[t+356>>2],p[t+560>>2]=y*+p[t+348>>2],p[t+564>>2]=v,p[t+568>>2]=S,p[t+572>>2]=0,S=+p[t+4>>2],_[a>>2]=u,v=+p[a>>2],b=+p[t+8>>2],_[a>>2]=A,f=+p[a>>2],d=+p[t+12>>2],_[a>>2]=e,g=+p[a>>2],l=+p[t+20>>2],c=+p[t+24>>2],s=+p[t+28>>2],r=+p[t+36>>2],o=+p[t+40>>2],C=+p[t+44>>2],p[t+264>>2]=S*(S*v)+b*(b*f)+d*(d*g),p[t+268>>2]=S*v*l+b*f*c+d*g*s,p[t+272>>2]=S*v*r+b*f*o+d*g*C,p[t+276>>2]=0,p[t+280>>2]=S*(l*v)+b*(c*f)+d*(s*g),p[t+284>>2]=l*(l*v)+c*(c*f)+s*(s*g),p[t+288>>2]=l*v*r+c*f*o+s*g*C,p[t+292>>2]=0,p[t+296>>2]=S*(r*v)+b*(o*f)+d*(C*g),p[t+300>>2]=l*(r*v)+c*(o*f)+s*(C*g),p[t+304>>2]=r*(r*v)+o*(o*f)+C*(C*g),p[t+308>>2]=0,_[t+504>>2]=0,_[t+512>>2]=0,_[t+512+4>>2]=0,_[t+512+8>>2]=0,_[t+512+12>>2]=0,_[t+512+16>>2]=0,_[t+512+20>>2]=0,_[t+512+24>>2]=0,_[t+512+28>>2]=0,g=y*+p[t+352>>2],C=y*+p[t+356>>2],p[t+560>>2]=y*+p[t+348>>2],p[t+564>>2]=g,p[t+568>>2]=C,u=36+(A=t+572|0)|0;do{_[A>>2]=0,A=A+4|0}while((0|A)<(0|u));Q=i}function ve(t,e,i,o){e|=0,i|=0,o|=0;var r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0;return r=Q,Q=Q+240|0,0|_[16+(t|=0)>>2]?(V=0|_[t+4>>2],n[V+312|0]=0,_[V>>2]=0,n[V+356|0]=1,_[V+292>>2]=1566444395,_[V+296>>2]=1566444395,_[V+300>>2]=1566444395,p[V+304>>2]=0,_[V+336>>2]=0,_[V+336+4>>2]=0,_[V+336+8>>2]=0,_[V+336+12>>2]=0,n[V+336+16|0]=0,n[V+332|0]=-16&n[V+332|0],V=0|_[t+12>>2],M=0|_[t+16>>2],P=0|_[V+4>>2],T=0|_[M+4>>2],x=+Il[15&_[48+(0|_[V>>2])>>2]](V),G=0|_[t+16>>2],O=+Il[15&_[48+(0|_[G>>2])>>2]](G),G=0|_[t+4>>2],t=0|_[t+8>>2],_[r+152>>2]=10204,_[r+152+4>>2]=0,_[r+152+8>>2]=1065353216,_[r+152+12>>2]=0,p[r+152+16>>2]=0,_[r+152+20>>2]=t,_[r+152+24>>2]=G,_[r+152+28>>2]=V,_[r+152+32>>2]=M,_[r+152+36>>2]=P,_[r+152+40>>2]=T,p[r+152+44>>2]=x,p[r+152+48>>2]=O,n[r+152+52|0]=0,_[r+152+60>>2]=-1,_[r+152+72>>2]=1,_[r+152+76>>2]=1,p[r+16+128>>2]=0xde0b6b000000000,_[r+16>>2]=_[e>>2],_[r+16+4>>2]=_[e+4>>2],_[r+16+8>>2]=_[e+8>>2],_[r+16+12>>2]=_[e+12>>2],_[r+16+16>>2]=_[e+16>>2],_[r+16+16+4>>2]=_[e+16+4>>2],_[r+16+16+8>>2]=_[e+16+8>>2],_[r+16+16+12>>2]=_[e+16+12>>2],_[r+16+32>>2]=_[e+32>>2],_[r+16+32+4>>2]=_[e+32+4>>2],_[r+16+32+8>>2]=_[e+32+8>>2],_[r+16+32+12>>2]=_[e+32+12>>2],_[r+16+48>>2]=_[e+48>>2],_[r+16+48+4>>2]=_[e+48+4>>2],_[r+16+48+8>>2]=_[e+48+8>>2],_[r+16+48+12>>2]=_[e+48+12>>2],_[r+16+64>>2]=_[i>>2],_[r+16+64+4>>2]=_[i+4>>2],_[r+16+64+8>>2]=_[i+8>>2],_[r+16+64+12>>2]=_[i+12>>2],_[r+16+80>>2]=_[i+16>>2],_[r+16+80+4>>2]=_[i+16+4>>2],_[r+16+80+8>>2]=_[i+16+8>>2],_[r+16+80+12>>2]=_[i+16+12>>2],_[r+16+96>>2]=_[i+32>>2],_[r+16+96+4>>2]=_[i+32+4>>2],_[r+16+96+8>>2]=_[i+32+8>>2],_[r+16+96+12>>2]=_[i+32+12>>2],_[r+16+112>>2]=_[i+48>>2],_[r+16+112+4>>2]=_[i+48+4>>2],_[r+16+112+8>>2]=_[i+48+8>>2],_[r+16+112+12>>2]=_[i+48+12>>2],Si(r+152|0,r+16|0,o,0,0),void(Q=r)):(T=0|_[t+12>>2],t=0|_[t+20>>2],v=+p[e>>2],f=+p[e+4>>2],y=+p[e+8>>2],c=+p[e+16>>2],u=+p[e+20>>2],s=+p[e+24>>2],l=+p[e+32>>2],m=+p[e+36>>2],d=+p[e+40>>2],B=+p[e+48>>2],I=+p[e+52>>2],D=+p[e+56>>2],O=+p[i>>2],x=+p[i+16>>2],w=+p[i+32>>2],F=+p[i+4>>2],W=+p[i+20>>2],S=+p[i+36>>2],g=+p[i+8>>2],a=+p[i+24>>2],A=+p[i+40>>2],j=-+p[i+48>>2],R=-+p[i+52>>2],C=-+p[i+56>>2],e=0|_[64+(0|_[T>>2])>>2],k=-+p[t+48>>2],h=-+p[t+52>>2],b=-+p[t+56>>2],p[r+16>>2]=(v*O+c*x+l*w)*k+(v*F+c*W+l*S)*h+(v*g+c*a+l*A)*b,p[r+16+4>>2]=(f*O+u*x+m*w)*k+(f*F+u*W+m*S)*h+(f*g+u*a+m*A)*b,p[r+16+8>>2]=(y*O+s*x+d*w)*k+(y*F+s*W+d*S)*h+(y*g+s*a+d*A)*b,p[r+16+12>>2]=0,_d[127&e](r+152|0,T,r+16|0),w=B*O+I*x+D*w+(O*j+x*R+w*C)+((v*O+c*x+l*w)*(b=+p[r+152>>2])+(f*O+u*x+m*w)*(h=+p[r+152+4>>2])+(y*O+s*x+d*w)*(k=+p[r+152+8>>2])),S=B*F+I*W+D*S+(F*j+W*R+S*C)+((v*F+c*W+l*S)*b+(f*F+u*W+m*S)*h+(y*F+s*W+d*S)*k),k=B*g+I*a+D*A+(g*j+a*R+A*C)+((v*g+c*a+l*A)*b+(f*g+u*a+m*A)*h+(y*g+s*a+d*A)*k),A=+p[t+48>>2],d=+p[t+52>>2],s=(a=+p[t+56>>2])*k+(A*w+d*S)-+p[t+64>>2],g=+p[i>>2],y=+p[i+4>>2],h=+p[i+8>>2],m=+p[i+16>>2],u=+p[i+20>>2],f=+p[i+24>>2],b=+p[i+32>>2],l=+p[i+36>>2],c=+p[i+40>>2],v=(w-A*s)*m+(S-d*s)*u+(k-a*s)*f+ +p[i+52>>2],C=(w-A*s)*b+(S-d*s)*l+(k-a*s)*c+ +p[i+56>>2],p[r+16>>2]=h*(k-a*s)+(g*(w-A*s)+y*(S-d*s))+ +p[i+48>>2],p[r+16+4>>2]=v,p[r+16+8>>2]=C,p[r+16+12>>2]=0,p[r>>2]=A*g+d*y+a*h,p[r+4>>2]=A*m+d*u+a*f,p[r+8>>2]=A*b+d*l+a*c,p[r+12>>2]=0,rd[15&_[16+(0|_[o>>2])>>2]](o,r,r+16|0,s),void(Q=r))}function Se(t,e,i,n,o,r){t|=0,e|=0,i|=0,n|=0,o|=0;var s,c,a,l,d,A,f,u,m,h,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0;s=Q,Q=Q+544|0,C=36+(g=r|=0)|0;do{_[g>>2]=0,g=g+4|0}while((0|g)<(0|C));if(_[s+384>>2]=t,_[s+384+4>>2]=i,A=+p[n>>2],F=+p[e>>2],d=+p[n+16>>2],W=+p[e+16>>2],l=+p[n+32>>2],h=+p[e+32>>2],m=+p[e+4>>2],u=+p[e+20>>2],f=+p[e+36>>2],v=+p[e+8>>2],w=+p[e+24>>2],R=+p[e+40>>2],a=+p[n+4>>2],c=+p[n+20>>2],y=+p[n+36>>2],S=+p[n+8>>2],k=+p[n+24>>2],j=+p[n+40>>2],p[s+384+8>>2]=A*F+d*W+l*h,p[s+384+12>>2]=A*m+d*u+l*f,p[s+384+16>>2]=A*v+d*w+l*R,p[s+384+20>>2]=0,p[s+384+24>>2]=F*a+W*c+h*y,p[s+384+28>>2]=m*a+u*c+f*y,p[s+384+32>>2]=v*a+w*c+R*y,p[s+384+36>>2]=0,p[s+384+40>>2]=F*S+W*k+h*j,p[s+384+44>>2]=m*S+u*k+f*j,p[s+384+48>>2]=v*S+w*k+R*j,p[s+384+52>>2]=0,O=+p[n+48>>2]-+p[e+48>>2],x=+p[n+52>>2]-+p[e+52>>2],B=+p[n+56>>2]-+p[e+56>>2],D=O*+p[e>>2]+x*+p[e+16>>2]+B*+p[e+32>>2],I=O*+p[e+4>>2]+x*+p[e+20>>2]+B*+p[e+36>>2],B=O*+p[e+8>>2]+x*+p[e+24>>2]+B*+p[e+40>>2],p[s+384+56>>2]=A*F+d*W+l*h,p[s+384+60>>2]=F*a+W*c+h*y,p[s+384+64>>2]=F*S+W*k+h*j,p[s+384+68>>2]=0,p[s+384+72>>2]=A*m+d*u+l*f,p[s+384+76>>2]=m*a+u*c+f*y,p[s+384+80>>2]=m*S+u*k+f*j,p[s+384+84>>2]=0,p[s+384+88>>2]=A*v+d*w+l*R,p[s+384+92>>2]=v*a+w*c+R*y,p[s+384+96>>2]=v*S+w*k+R*j,p[s+384+100>>2]=0,p[s+384+104>>2]=D,p[s+384+108>>2]=I,p[s+384+112>>2]=B,p[s+384+116>>2]=0,_[s+384+120>>2]=81,_[s+384+124>>2]=0,_[s+364>>2]=0,_[s+128>>2]=0,_[s+128+4>>2]=0,_[s+128+8>>2]=0,_[s+128+12>>2]=0,_[s+376>>2]=2,_[s+368>>2]=0,p[s+144>>2]=0,0|(t=0|Ci(s,s+384|0,o)))return _[r>>2]=1==(0|t)?1:2,Q=s,0|(r=0);if(t=0|_[s+372>>2],0|_[t+32>>2]){o=0,w=0,k=0,R=0,y=0,v=0,S=0;do{B=+p[t+16+(o<<2)>>2],i=0|_[s+384+120>>2],C=0|_[s+384+124>>2],n=(0|_[s+384>>2])+(C>>1)|0,1&C&&(i=0|_[(0|_[n>>2])+i>>2]),_d[127&i](s+528|0,n,0|_[t+(o<<2)>>2]),w+=B*+p[s+528>>2],k+=B*+p[s+528+4>>2],R+=B*+p[s+528+8>>2],t=0|_[(0|_[s+372>>2])+(o<<2)>>2],j=-+p[t>>2],D=-+p[t+4>>2],I=-+p[t+8>>2],t=0|_[s+384+120>>2],C=0|_[s+384+124>>2],i=(0|_[s+384+4>>2])+(C>>1)|0,1&C&&(t=0|_[(0|_[i>>2])+t>>2]),x=+p[s+384+24>>2]*j+ +p[s+384+28>>2]*D+ +p[s+384+32>>2]*I,F=+p[s+384+40>>2]*j+ +p[s+384+44>>2]*D+ +p[s+384+48>>2]*I,p[s+512>>2]=+p[s+384+8>>2]*j+ +p[s+384+12>>2]*D+ +p[s+384+16>>2]*I,p[s+512+4>>2]=x,p[s+512+8>>2]=F,p[s+512+12>>2]=0,_d[127&t](s+528|0,i,s+512|0),F=+p[s+528>>2],x=+p[s+528+4>>2],O=+p[s+528+8>>2],y+=B*(F*+p[s+384+56>>2]+x*+p[s+384+60>>2]+O*+p[s+384+64>>2]+ +p[s+384+104>>2]),v+=B*(F*+p[s+384+72>>2]+x*+p[s+384+76>>2]+O*+p[s+384+80>>2]+ +p[s+384+108>>2]),S+=B*(F*+p[s+384+88>>2]+x*+p[s+384+92>>2]+O*+p[s+384+96>>2]+ +p[s+384+112>>2]),o=o+1|0,t=0|_[s+372>>2]}while(o>>>0<(0|_[t+32>>2])>>>0)}else R=0,k=0,w=0,S=0,v=0,y=0;return W=w*+p[e+16>>2]+k*+p[e+20>>2]+R*+p[e+24>>2]+ +p[e+52>>2],F=w*+p[e+32>>2]+k*+p[e+36>>2]+R*+p[e+40>>2]+ +p[e+56>>2],p[r+4>>2]=w*+p[e>>2]+k*+p[e+4>>2]+R*+p[e+8>>2]+ +p[e+48>>2],p[r+8>>2]=W,p[r+12>>2]=F,p[r+16>>2]=0,F=y*+p[e+16>>2]+v*+p[e+20>>2]+S*+p[e+24>>2]+ +p[e+52>>2],W=y*+p[e+32>>2]+v*+p[e+36>>2]+S*+p[e+40>>2]+ +p[e+56>>2],p[r+20>>2]=y*+p[e>>2]+v*+p[e+4>>2]+S*+p[e+8>>2]+ +p[e+48>>2],p[r+24>>2]=F,p[r+28>>2]=W,p[r+32>>2]=0,W=w-y,F=k-v,x=R-S,p[r+48>>2]=0,O=+b(+(W*W+F*F+x*x)),p[r+52>>2]=O,O=O>9999999747378752e-20?1/O:1,p[r+36>>2]=W*O,p[r+40>>2]=F*O,p[r+44>>2]=x*O,Q=s,0|(r=1)}function we(t,e,i,n,o,r){t|=0,e|=0,i|=0,n|=0,o|=0,r=+r;var s,c,a,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0;if(s=Q,Q=Q+464|0,$i(18138),_[s+128>>2]=_[i>>2],_[s+128+4>>2]=_[i+4>>2],_[s+128+8>>2]=_[i+8>>2],_[s+128+12>>2]=_[i+12>>2],_[s+128+16>>2]=_[i+16>>2],_[s+128+16+4>>2]=_[i+16+4>>2],_[s+128+16+8>>2]=_[i+16+8>>2],_[s+128+16+12>>2]=_[i+16+12>>2],_[s+128+32>>2]=_[i+32>>2],_[s+128+32+4>>2]=_[i+32+4>>2],_[s+128+32+8>>2]=_[i+32+8>>2],_[s+128+32+12>>2]=_[i+32+12>>2],_[(a=s+128+48|0)>>2]=_[i+48>>2],_[a+4>>2]=_[i+48+4>>2],_[a+8>>2]=_[i+48+8>>2],_[a+12>>2]=_[i+48+12>>2],_[s+64>>2]=_[n>>2],_[s+64+4>>2]=_[n+4>>2],_[s+64+8>>2]=_[n+8>>2],_[s+64+12>>2]=_[n+12>>2],_[s+64+16>>2]=_[n+16>>2],_[s+64+16+4>>2]=_[n+16+4>>2],_[s+64+16+8>>2]=_[n+16+8>>2],_[s+64+16+12>>2]=_[n+16+12>>2],_[s+64+32>>2]=_[n+32>>2],_[s+64+32+4>>2]=_[n+32+4>>2],_[s+64+32+8>>2]=_[n+32+8>>2],_[s+64+32+12>>2]=_[n+32+12>>2],_[(c=s+64+48|0)>>2]=_[n+48>>2],_[c+4>>2]=_[n+48+4>>2],_[c+8>>2]=_[n+48+8>>2],_[c+12>>2]=_[n+48+12>>2],$(s+128|0,s+64|0,s+256|0,s+192|0),l=(y=+p[s+192>>2])*+p[s+256+4>>2],m=y*+p[s+256+8>>2],p[s+16>>2]=+p[s+256>>2]*y,p[s+16+4>>2]=l,p[s+16+8>>2]=m,p[s+16+12>>2]=0,_[s+256>>2]=0,_[s+256+4>>2]=0,_[s+256+8>>2]=0,_[s+256+12>>2]=0,_[s+192+48>>2]=0,_[s+192+48+4>>2]=0,_[s+192+48+8>>2]=0,_[s+192+48+12>>2]=0,Qt(s+128|0,s),A=(m=+p[s>>2])*(2/(m*m+(l=+p[s+4>>2])*l+(y=+p[s+8>>2])*y+(u=+p[s+12>>2])*u)),d=l*(2/(m*m+l*l+y*y+u*u)),f=y*(2/(m*m+l*l+y*y+u*u)),p[s+192>>2]=1-(l*d+y*f),p[s+192+4>>2]=m*d-u*f,p[s+192+8>>2]=m*f+u*d,p[s+192+12>>2]=0,p[s+192+16>>2]=m*d+u*f,p[s+192+20>>2]=1-(m*A+y*f),p[s+192+24>>2]=l*f-u*A,p[s+192+28>>2]=0,p[s+192+32>>2]=m*f-u*d,p[s+192+36>>2]=l*f+u*A,p[s+192+40>>2]=1-(m*A+l*d),p[s+192+44>>2]=0,Nt(e,s+192|0,s+256|0,s+16|0,s+48|0,s+32|0),_[s+256>>2]=6832,_[s+256+36>>2]=_[i>>2],_[s+256+36+4>>2]=_[i+4>>2],_[s+256+36+8>>2]=_[i+8>>2],_[s+256+36+12>>2]=_[i+12>>2],_[s+256+52>>2]=_[i+16>>2],_[s+256+52+4>>2]=_[i+16+4>>2],_[s+256+52+8>>2]=_[i+16+8>>2],_[s+256+52+12>>2]=_[i+16+12>>2],_[s+256+68>>2]=_[i+32>>2],_[s+256+68+4>>2]=_[i+32+4>>2],_[s+256+68+8>>2]=_[i+32+8>>2],_[s+256+68+12>>2]=_[i+32+12>>2],_[(h=s+256+84|0)>>2]=_[i+48>>2],_[h+4>>2]=_[i+48+4>>2],_[h+8>>2]=_[i+48+8>>2],_[h+12>>2]=_[i+48+12>>2],_[s+256+100>>2]=_[n>>2],_[s+256+100+4>>2]=_[n+4>>2],_[s+256+100+8>>2]=_[n+8>>2],_[s+256+100+12>>2]=_[n+12>>2],_[s+256+116>>2]=_[n+16>>2],_[s+256+116+4>>2]=_[n+16+4>>2],_[s+256+116+8>>2]=_[n+16+8>>2],_[s+256+116+12>>2]=_[n+16+12>>2],_[s+256+132>>2]=_[n+32>>2],_[s+256+132+4>>2]=_[n+32+4>>2],_[s+256+132+8>>2]=_[n+32+8>>2],_[s+256+132+12>>2]=_[n+32+12>>2],_[(i=s+256+148|0)>>2]=_[n+48>>2],_[i+4>>2]=_[n+48+4>>2],_[i+8>>2]=_[n+48+8>>2],_[i+12>>2]=_[n+48+12>>2],_[s+256+180>>2]=t,_[s+256+184>>2]=o,p[s+256+188>>2]=r,_[s+256+192>>2]=e,d=+p[i>>2]-+p[h>>2],l=+p[s+256+152>>2]-+p[s+256+88>>2],A=+p[s+256+156>>2]-+p[s+256+92>>2],m=d*(r=1/+b(+(d*d+l*l+A*A)))==0?0xde0b6b000000000:1/(d*r),p[s+256+4>>2]=m,u=l*r==0?0xde0b6b000000000:1/(l*r),p[s+256+8>>2]=u,f=A*r==0?0xde0b6b000000000:1/(A*r),p[s+256+12>>2]=f,_[s+256+20>>2]=m<0&1,_[s+256+24>>2]=u<0&1,_[s+256+28>>2]=f<0&1,p[s+256+32>>2]=A*(A*r)+(d*(d*r)+l*(l*r)),t=0|_[t+68>>2],Ad[7&_[24+(0|_[t>>2])>>2]](t,a,c,s+256|0,s+48|0,s+32|0),t=0|_[2606],o=(0|_[t+16>>2])-1|0,_[t+16>>2]=o,0|o)Q=s;else{do{if(0|_[t+4>>2]){if(G(s+256|0,0),h=0|_[6629],p[t+8>>2]=+p[t+8>>2]+ +(((0|_[s+256+4>>2])-(0|_[h+4>>2])+(1e6*((0|_[s+256>>2])-(0|_[h>>2])|0)|0)-(0|_[t+12>>2])|0)>>>0)/1e3,0|_[t+16>>2])return void(Q=s);t=0|_[2606];break}}while(0);_[2606]=_[t+20>>2],Q=s}}function ke(t,e){e|=0;var i,n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0;if(f=0|_[192+(t|=0)>>2],i=+Il[15&_[48+(0|_[f>>2])>>2]](f),(0|(f=0|_[t+712>>2]))>0){c=0;do{A=0|_[t+720>>2],m=+p[(r=A+(104*c|0)+8|0)>>2],u=+p[(s=A+(104*c|0)+12|0)>>2],d=+p[(n=A+(104*c|0)+16|0)>>2],a=m*+p[e>>2]+u*+p[e+4>>2]+d*+p[e+8>>2]+ +p[e+48>>2],l=m*+p[e+16>>2]+u*+p[e+20>>2]+d*+p[e+24>>2]+ +p[e+52>>2],d=m*+p[e+32>>2]+u*+p[e+36>>2]+d*+p[e+40>>2]+ +p[e+56>>2],p[r>>2]=a,p[s>>2]=l,p[n>>2]=d,p[A+(104*c|0)+20>>2]=0,u=+p[(n=A+(104*c|0)+24|0)>>2],m=+p[(s=A+(104*c|0)+28|0)>>2],h=+p[(r=A+(104*c|0)+32|0)>>2],y=u*+p[e+16>>2]+m*+p[e+20>>2]+h*+p[e+24>>2]+ +p[e+52>>2],g=u*+p[e+32>>2]+m*+p[e+36>>2]+h*+p[e+40>>2]+ +p[e+56>>2],p[n>>2]=u*+p[e>>2]+m*+p[e+4>>2]+h*+p[e+8>>2]+ +p[e+48>>2],p[s>>2]=y,p[r>>2]=g,p[A+(104*c|0)+36>>2]=0,g=+p[(r=A+(104*c|0)+72|0)>>2],y=+p[(s=A+(104*c|0)+76|0)>>2],h=+p[(n=A+(104*c|0)+80|0)>>2],m=g*+p[e+16>>2]+y*+p[e+20>>2]+h*+p[e+24>>2],u=g*+p[e+32>>2]+y*+p[e+36>>2]+h*+p[e+40>>2],p[r>>2]=+p[e>>2]*g+ +p[e+4>>2]*y+ +p[e+8>>2]*h,p[s>>2]=m,p[n>>2]=u,p[A+(104*c|0)+84>>2]=0,n=0|Tt(t+928|0,A=0|_[A+(104*c|0)+96>>2]);t:do{if(n){if((0|(s=0|_[t+936>>2]))<=-1){n=0|_[t+928>>2];break}if(s)for(o=0;;){if(o=o+1|0,!(r=0|_[n+32>>2]))break t;if((0|o)>=(0|s)){n=r;break}n=r}}else n=0}while(0);p[A>>2]=a-i,p[A+4>>2]=l-i,p[A+8>>2]=d-i,p[A+12>>2]=0,p[A+16>>2]=i+a,p[A+20>>2]=i+l,p[A+24>>2]=i+d,p[A+28>>2]=0,U(t+928|0,n,A),c=c+1|0}while((0|c)!=(0|f))}if(ht(t),(n=0|_[t+928>>2])?(f=0|_[t+192>>2],h=+Il[15&_[48+(0|_[f>>2])>>2]](f),g=+p[n+4>>2]-h,y=+p[n+8>>2]-h,p[t+892>>2]=+p[n>>2]-h,p[t+896>>2]=g,p[t+900>>2]=y,p[t+904>>2]=0,y=h+ +p[n+20>>2],g=h+ +p[n+24>>2],p[t+908>>2]=h+ +p[n+16>>2],p[t+912>>2]=y,p[t+916>>2]=g,p[t+920>>2]=0,0|(n=0|_[t+188>>2])&&(f=0|_[t+684>>2],A=0|_[f+32>>2],dd[31&_[16+(0|_[A>>2])>>2]](A,n,t+892|0,t+908|0,0|_[f+36>>2]))):(_[t+892>>2]=0,_[t+892+4>>2]=0,_[t+892+8>>2]=0,_[t+892+12>>2]=0,_[t+892+16>>2]=0,_[t+892+20>>2]=0,_[t+892+24>>2]=0,_[t+892+28>>2]=0),(0|(o=0|_[t+732>>2]))<=0)return _t(t),_[(f=t+1148|0)>>2]=_[e>>2],_[f+4>>2]=_[e+4>>2],_[f+8>>2]=_[e+8>>2],_[f+12>>2]=_[e+12>>2],f=e+16|0,_[(A=t+1164|0)>>2]=_[f>>2],_[A+4>>2]=_[f+4>>2],_[A+8>>2]=_[f+8>>2],_[A+12>>2]=_[f+12>>2],A=e+32|0,_[(f=t+1180|0)>>2]=_[A>>2],_[f+4>>2]=_[A+4>>2],_[f+8>>2]=_[A+8>>2],_[f+12>>2]=_[A+12>>2],f=e+48|0,_[(e=t+1196|0)>>2]=_[f>>2],_[e+4>>2]=_[f+4>>2],_[e+8>>2]=_[f+8>>2],void(_[e+12>>2]=_[f+12>>2]);r=0|_[t+740>>2],n=0;do{A=0|_[r+(52*n|0)+8>>2],f=0|_[r+(52*n|0)+12>>2],h=+p[A+8>>2]-+p[f+8>>2],y=+p[A+12>>2]-+p[f+12>>2],g=+p[A+16>>2]-+p[f+16>>2],g=+b(+(h*h+y*y+g*g)),p[r+(52*n|0)+16>>2]=g,p[r+(52*n|0)+28>>2]=g*g,n=n+1|0}while((0|n)!=(0|o));n=0;do{p[r+(52*n|0)+24>>2]=(+p[88+(0|_[r+(52*n|0)+8>>2])>>2]+ +p[88+(0|_[r+(52*n|0)+12>>2])>>2])/+p[4+(0|_[r+(52*n|0)+4>>2])>>2],n=n+1|0}while((0|n)!=(0|o));_t(t),_[(f=t+1148|0)>>2]=_[e>>2],_[f+4>>2]=_[e+4>>2],_[f+8>>2]=_[e+8>>2],_[f+12>>2]=_[e+12>>2],f=e+16|0,_[(A=t+1164|0)>>2]=_[f>>2],_[A+4>>2]=_[f+4>>2],_[A+8>>2]=_[f+8>>2],_[A+12>>2]=_[f+12>>2],A=e+32|0,_[(f=t+1180|0)>>2]=_[A>>2],_[f+4>>2]=_[A+4>>2],_[f+8>>2]=_[A+8>>2],_[f+12>>2]=_[A+12>>2],f=e+48|0,_[(e=t+1196|0)>>2]=_[f>>2],_[e+4>>2]=_[f+4>>2],_[e+8>>2]=_[f+8>>2],_[e+12>>2]=_[f+12>>2]}function Re(t,e,i){t|=0,i=+i;var n,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0;if(n=Q,Q=Q+256|0,(0|(o=0|_[212+(e|=0)>>2]))>-1)return Q=n,0|(e=o);o=(s=!(2&_[e+236>>2]))?0:e;do{if(!s){if(0==+p[o+344>>2]&&!(2&_[o+204>>2]))break;if(s=0|_[t+8>>2],wn(0|n,0,244),t=0|q(t+4|0,n),o=(r=!(2&_[e+236>>2]))?0:e,_[t+64>>2]=0,_[t+64+4>>2]=0,_[t+64+8>>2]=0,_[t+64+12>>2]=0,_[t+64+16>>2]=0,_[t+64+20>>2]=0,_[t+64+24>>2]=0,_[t+64+28>>2]=0,_[t+144>>2]=0,_[t+144+4>>2]=0,_[t+144+8>>2]=0,_[t+144+12>>2]=0,_[t+144+16>>2]=0,_[t+144+20>>2]=0,_[t+144+24>>2]=0,_[t+144+28>>2]=0,r){_[t>>2]=1065353216,_[t+4>>2]=0,_[t+4+4>>2]=0,_[t+4+8>>2]=0,_[t+4+12>>2]=0,_[t+20>>2]=1065353216,_[t+24>>2]=0,_[t+24+4>>2]=0,_[t+24+8>>2]=0,_[t+24+12>>2]=0,_[t+40>>2]=1065353216,_[t+44>>2]=0,_[t+44+4>>2]=0,_[t+44+8>>2]=0,_[t+44+12>>2]=0,_[t+44+16>>2]=0,_[t+240>>2]=0,_[t+128>>2]=0,_[t+128+4>>2]=0,_[t+128+8>>2]=0,_[t+128+12>>2]=0,_[t+96>>2]=1065353216,_[t+100>>2]=1065353216,_[t+104>>2]=1065353216,p[t+108>>2]=0,_[t+112>>2]=1065353216,_[t+116>>2]=1065353216,_[t+120>>2]=1065353216,p[t+124>>2]=0,r=60+(o=t+176|0)|0;do{_[o>>2]=0,o=o+4|0}while((0|o)<(0|r))}else _[t>>2]=_[o+4>>2],_[t+4>>2]=_[o+4+4>>2],_[t+8>>2]=_[o+4+8>>2],_[t+12>>2]=_[o+4+12>>2],_[t+16>>2]=_[o+20>>2],_[t+16+4>>2]=_[o+20+4>>2],_[t+16+8>>2]=_[o+20+8>>2],_[t+16+12>>2]=_[o+20+12>>2],_[t+32>>2]=_[o+36>>2],_[t+32+4>>2]=_[o+36+4>>2],_[t+32+8>>2]=_[o+36+8>>2],_[t+32+12>>2]=_[o+36+12>>2],_[t+48>>2]=_[o+52>>2],_[t+48+4>>2]=_[o+52+4>>2],_[t+48+8>>2]=_[o+52+8>>2],_[t+48+12>>2]=_[o+52+12>>2],d=(b=+p[o+344>>2])*+p[o+352>>2],l=b*+p[o+356>>2],p[t+128>>2]=b*+p[o+348>>2],p[t+132>>2]=d,p[t+136>>2]=l,p[t+140>>2]=0,_[t+240>>2]=o,_[t+96>>2]=_[o+544>>2],_[t+96+4>>2]=_[o+544+4>>2],_[t+96+8>>2]=_[o+544+8>>2],_[t+96+12>>2]=_[o+544+12>>2],_[t+112>>2]=_[o+348>>2],_[t+112+4>>2]=_[o+348+4>>2],_[t+112+8>>2]=_[o+348+8>>2],_[t+112+12>>2]=_[o+348+12>>2],_[t+176>>2]=_[o+312>>2],_[t+176+4>>2]=_[o+312+4>>2],_[t+176+8>>2]=_[o+312+8>>2],_[t+176+12>>2]=_[o+312+12>>2],_[t+192>>2]=_[o+328>>2],_[t+192+4>>2]=_[o+328+4>>2],_[t+192+8>>2]=_[o+328+8>>2],_[t+192+12>>2]=_[o+328+12>>2],d=(l=+p[o+344>>2])*+p[o+416>>2]*i,b=l*+p[o+420>>2]*i,p[t+208>>2]=l*+p[o+412>>2]*i,p[t+212>>2]=d,p[t+216>>2]=b,p[t+220>>2]=0,b=+p[o+428>>2],d=+p[o+432>>2],l=+p[o+436>>2],a=(b*+p[o+268>>2]+d*+p[o+284>>2]+l*+p[o+300>>2])*i,c=(b*+p[o+272>>2]+d*+p[o+288>>2]+l*+p[o+304>>2])*i,p[t+224>>2]=(+p[o+264>>2]*b+ +p[o+280>>2]*d+ +p[o+296>>2]*l)*i,p[t+228>>2]=a,p[t+232>>2]=c;return p[t+236>>2]=0,_[e+212>>2]=s,Q=n,0|(e=s)}}while(0);if((0|(o=0|_[t+188>>2]))>=0)return Q=n,0|(e=o);_[t+188>>2]=_[t+8>>2],wn(0|n,0,244),o=0|q(t+4|0,n),_[o+64>>2]=0,_[o+64+4>>2]=0,_[o+64+8>>2]=0,_[o+64+12>>2]=0,_[o+64+16>>2]=0,_[o+64+20>>2]=0,_[o+64+24>>2]=0,_[o+64+28>>2]=0,_[o+144>>2]=0,_[o+144+4>>2]=0,_[o+144+8>>2]=0,_[o+144+12>>2]=0,_[o+144+16>>2]=0,_[o+144+20>>2]=0,_[o+144+24>>2]=0,_[o+144+28>>2]=0,_[o>>2]=1065353216,_[o+4>>2]=0,_[o+4+4>>2]=0,_[o+4+8>>2]=0,_[o+4+12>>2]=0,_[o+20>>2]=1065353216,_[o+24>>2]=0,_[o+24+4>>2]=0,_[o+24+8>>2]=0,_[o+24+12>>2]=0,_[o+40>>2]=1065353216,_[o+44>>2]=0,_[o+44+4>>2]=0,_[o+44+8>>2]=0,_[o+44+12>>2]=0,_[o+44+16>>2]=0,_[o+240>>2]=0,_[o+128>>2]=0,_[o+128+4>>2]=0,_[o+128+8>>2]=0,_[o+128+12>>2]=0,_[o+96>>2]=1065353216,_[o+100>>2]=1065353216,_[o+104>>2]=1065353216,p[o+108>>2]=0,_[o+112>>2]=1065353216,_[o+116>>2]=1065353216,_[o+120>>2]=1065353216,p[o+124>>2]=0,r=64+(o=o+176|0)|0;do{_[o>>2]=0,o=o+4|0}while((0|o)<(0|r));return e=0|_[t+188>>2],Q=n,0|e}function je(t,e,i){e|=0,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0;if(0|n[165+(t|=0)|0]){r=0|_[t+88>>2];t:do{if((0|r)>0&i){for(o=0|_[t+96>>2],a=+p[e>>2],l=+p[e+4>>2],d=+p[e+8>>2],b=+p[t+168>>2],i=0;!((h=+p[o+(i<<4)>>2]-a)*h+(m=+p[o+(i<<4)+4>>2]-l)*m+(u=+p[o+(i<<4)+8>>2]-d)*u<=b);)if((0|(i=i+1|0))>=(0|r))break t;return 0|i}}while(0);if(f=12+(0|_[t+32>>2])|0,_[f>>2]=1+(0|_[f>>2]),(0|r)==(0|_[t+92>>2])&&(0|r)<(0|(s=0|r?r<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(i=0|di(16+(s<<4|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,r=0|_[t+88>>2]):i=0,(0|r)>0){o=0;do{f=i+(o<<4)|0,A=(0|_[t+96>>2])+(o<<4)|0,_[f>>2]=_[A>>2],_[f+4>>2]=_[A+4>>2],_[f+8>>2]=_[A+8>>2],_[f+12>>2]=_[A+12>>2],o=o+1|0}while((0|o)!=(0|r))}0|(o=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=i,_[t+92>>2]=s,i=0|_[t+88>>2]}else i=r;return f=(0|_[t+96>>2])+(i<<4)|0,_[f>>2]=_[e>>2],_[f+4>>2]=_[e+4>>2],_[f+8>>2]=_[e+8>>2],_[f+12>>2]=_[e+12>>2],e=0|_[t+88>>2],_[t+88>>2]=e+1,_[16+(0|_[t+32>>2])>>2]=_[t+96>>2],0|e}c=0|_[t+108>>2];t:do{if((0|c)>0&i){for(o=0|_[t+116>>2],a=+p[e>>2],l=+p[e+4>>2],d=+p[e+8>>2],b=+p[t+168>>2],i=0;r=i+3|0,!((u=+p[o+(i<<2)>>2]-a)*u+(m=+p[o+(i+1<<2)>>2]-l)*m+(h=+p[o+(i+2<<2)>>2]-d)*h<=b);){if(!((0|r)<(0|c)))break t;i=r}return 0|(e=(i>>>0)/3|0)}}while(0);if((0|c)==(0|(i=0|_[t+112>>2])))if((0|c)<(0|(i=0|c?c<<1:1))){if(i?(_[6630]=1+(0|_[6630]),(o=0|di(16+(i<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,c=0|_[t+108>>2]):o=0,s=0|_[t+116>>2],(0|c)<=0)s?f=36:(s=t+120|0,r=c);else{r=0;do{_[o+(r<<2)>>2]=_[s+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|c));f=36}36==(0|f)&&(0|n[t+120|0]?(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),r=0|_[t+108>>2]):r=c,_[t+116>>2]=0,s=t+120|0),n[0|s]=1,_[t+116>>2]=o,_[t+112>>2]=i}else r=c,i=c;else r=c;if(c=0|_[t+116>>2],_[c+(r<<2)>>2]=_[e>>2],o=r+1|0,_[t+108>>2]=o,(0|o)==(0|i))if((0|i)<(0|(A=0|i?i<<1:1))){if(A?(_[6630]=1+(0|_[6630]),(i=0|di(16+(A<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,s=i,i=0|_[t+108>>2],r=0|_[t+116>>2]):(s=0,r=c),(0|i)<=0)r?f=51:o=t+120|0;else{o=0;do{_[s+(o<<2)>>2]=_[r+(o<<2)>>2],o=o+1|0}while((0|o)!=(0|i));f=51}51==(0|f)&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),i=0|_[t+108>>2]),_[t+116>>2]=0,o=t+120|0),n[0|o]=1,_[t+116>>2]=s,_[t+112>>2]=A,o=i,i=A}else s=c,o=i;else s=c;if(_[s+(o<<2)>>2]=_[e+4>>2],o=o+1|0,_[t+108>>2]=o,(0|o)==(0|i))if((0|i)<(0|(c=0|i?i<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(i=0|di(16+(c<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,r=i,i=0|_[t+108>>2],s=0|_[t+116>>2]):r=0,(0|i)<=0)s?f=66:o=t+120|0;else{o=0;do{_[r+(o<<2)>>2]=_[s+(o<<2)>>2],o=o+1|0}while((0|o)!=(0|i));f=66}66==(0|f)&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),i=0|_[t+108>>2]),_[t+116>>2]=0,o=t+120|0),n[0|o]=1,_[t+116>>2]=r,_[t+112>>2]=c}else r=s;else r=s,i=o;return _[r+(i<<2)>>2]=_[e+8>>2],e=i+1|0,_[t+108>>2]=e,t=0|_[t+32>>2],_[t+12>>2]=1+(0|_[t+12>>2]),_[t+16>>2]=r,0|(e=((0|e)/3|0)-1|0)}function De(t,e){t|=0,e|=0;var i,n,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0;if(n=Q,Q=Q+16|0,$i(13461),(0|(i=0|_[t+712>>2]))>0?(_[6630]=1+(0|_[6630]),(o=0|di(16+(i<<4|3)|0))?(_[(o+4+15&-16)-4>>2]=o,c=o+4+15&-16):c=0,wn(0|c,0,i<<4),(0|(s=0|_[t+712>>2]))>0?(_[6630]=1+(0|_[6630]),(o=0|di(16+(s<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,wn(0|o,0,s<<2),B=o,W=c,D=o,j=c):(B=0,W=c,D=0,j=c)):(B=0,W=0,D=0,j=0),R=0|_[t+1112>>2],e){if((0|R)>0){s=0|_[t+1120>>2],o=0;do{c=0|_[s+(o<<2)>>2],0|(a=0|_[c+312>>2])&&(p[c+276>>2]=1/+(0|a)*+p[c+276>>2],p[c+280>>2]=1/+(0|a)*+p[c+280>>2],p[c+284>>2]=1/+(0|a)*+p[c+284>>2],p[c+292>>2]=1/+(0|a)*+p[c+292>>2],p[c+296>>2]=1/+(0|a)*+p[c+296>>2],p[c+300>>2]=1/+(0|a)*+p[c+300>>2]),o=o+1|0}while((0|o)!=(0|R));I=14}}else I=14;if(14==(0|I)&&(0|R)>0)if(d=0|_[t+1120>>2],e){s=0;do{if(e=0|_[d+(s<<2)>>2],(0|_[e+312>>2])>0&&(w=+p[t+452>>2],y=+p[e+276>>2]*w,g=w*+p[e+280>>2],C=w*+p[e+284>>2],v=w*+p[e+292>>2],S=w*+p[e+296>>2],w*=+p[e+300>>2],(0|(k=0|_[e+24>>2]))>0)){l=0|_[e+32>>2],c=0|_[t+720>>2],a=0|_[e+12>>2],o=0;do{h=0|_[l+(o<<2)>>2],m=+p[a+(o<<2)>>2],u=+p[h+8>>2]-+p[e+228>>2],f=+p[h+12>>2]-+p[e+232>>2],A=+p[h+16>>2]-+p[e+236>>2],p[(F=W+((h-c|0)/104<<4)|0)>>2]=+p[F>>2]+m*(y+(S*A-w*f)),p[(F=W+((h-c|0)/104<<4)+4|0)>>2]=+p[F>>2]+m*(g+(w*u-v*A)),p[(F=W+((h-c|0)/104<<4)+8|0)>>2]=m*(C+(v*f-S*u))+ +p[F>>2],p[(h=B+((h-c|0)/104<<2)|0)>>2]=m+ +p[h>>2],o=o+1|0}while((0|o)!=(0|k))}s=s+1|0}while((0|s)!=(0|R))}else{s=0;do{if(c=0|_[d+(s<<2)>>2],(0|_[c+308>>2])>0&&(m=+p[t+452>>2],r=+p[c+244>>2]*m,b=m*+p[c+248>>2],A=m*+p[c+252>>2],f=m*+p[c+260>>2],u=m*+p[c+264>>2],m*=+p[c+268>>2],(0|(h=0|_[c+24>>2]))>0)){a=0|_[c+32>>2],e=0|_[t+720>>2],l=0|_[c+12>>2],o=0;do{F=0|_[a+(o<<2)>>2],w=+p[l+(o<<2)>>2],S=+p[F+8>>2]-+p[c+228>>2],v=+p[F+12>>2]-+p[c+232>>2],C=+p[F+16>>2]-+p[c+236>>2],p[(k=W+((F-e|0)/104<<4)|0)>>2]=+p[k>>2]+w*(r+(u*C-m*v)),p[(k=W+((F-e|0)/104<<4)+4|0)>>2]=+p[k>>2]+w*(b+(m*S-f*C)),p[(k=W+((F-e|0)/104<<4)+8|0)>>2]=w*(A+(f*v-u*S))+ +p[k>>2],p[(F=B+((F-e|0)/104<<2)|0)>>2]=w+ +p[F>>2],o=o+1|0}while((0|o)!=(0|h))}s=s+1|0}while((0|s)!=(0|R))}if((0|i)>0){o=0;do{(r=+p[B+(o<<2)>>2])>0&&(S=1/r*+p[W+(o<<4)+4>>2],w=1/r*+p[W+(o<<4)+8>>2],F=0|_[t+720>>2],p[(R=F+(104*o|0)+8|0)>>2]=1/r*+p[W+(o<<4)>>2]+ +p[R>>2],p[(R=F+(104*o|0)+12|0)>>2]=S+ +p[R>>2],p[(F=F+(104*o|0)+16|0)>>2]=w+ +p[F>>2]),o=o+1|0}while((0|o)!=(0|i));0|D&&(I=35)}else!(0|B)|!(0|D)||(I=35);if(35==(0|I)&&(_[6631]=1+(0|_[6631]),Ni(0|_[D+-4>>2])),!(0|W)|!(0|j)||(_[6631]=1+(0|_[6631]),Ni(0|_[j+-4>>2])),o=0|_[2606],F=(0|_[o+16>>2])-1|0,_[o+16>>2]=F,0|F)Q=n;else{do{if(0|_[o+4>>2]){if(G(0|n,0),F=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[n+4>>2])-(0|_[F+4>>2])+(1e6*((0|_[n>>2])-(0|_[F>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])return void(Q=n);o=0|_[2606];break}}while(0);_[2606]=_[o+20>>2],Q=n}}function Ie(t,e,i,o,r,s){t|=0,e|=0,o|=0,r|=0,s|=0;var c,l,d,A,f,u,m,h,y,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0;if(y=Q,Q=Q+272|0,u=+p[48+(i|=0)>>2]-+p[e+48>>2],m=+p[i+52>>2]-+p[e+52>>2],h=+p[i+56>>2]-+p[e+56>>2],$(e,i,y+256|0,y+208|0),D=+p[y+208>>2],c=+p[y+256>>2]*D,l=D*+p[y+256+4>>2],D*=+p[y+256+8>>2],p[y+192>>2]=c,p[y+192+4>>2]=l,p[y+192+8>>2]=D,p[y+192+12>>2]=0,d=+p[r+48>>2]-+p[o+48>>2],A=+p[r+52>>2]-+p[o+52>>2],f=+p[r+56>>2]-+p[o+56>>2],$(o,r,y+256|0,y+208|0),R=+p[y+208>>2],w=+p[y+256>>2]*R,k=R*+p[y+256+4>>2],R*=+p[y+256+8>>2],p[y+176>>2]=w,p[y+176+4>>2]=k,p[y+176+8>>2]=R,p[y+176+12>>2]=0,i=0|_[t+12>>2],j=+Il[15&_[16+(0|_[i>>2])>>2]](i),C=(i=0|_[t+16>>2])?+Il[15&_[16+(0|_[i>>2])>>2]](i):0,(j=j*+b(+(c*c+l*l+D*D))+C*+b(+(w*w+k*k+R*R)))+ +b(+((d-u)*(d-u)+(A-m)*(A-m)+(f-h)*(f-h)))==0)return Q=y,0|(s=0);_[y+208>>2]=10156,p[y+208+36>>2]=0xde0b6b000000000,n[y+208+40|0]=0,ve(t,e,o,y+208|0),r=!(0|n[y+208+40|0]),_[y+256>>2]=_[y+208+20>>2],_[y+256+4>>2]=_[y+208+20+4>>2],_[y+256+8>>2]=_[y+208+20+8>>2],_[y+256+12>>2]=_[y+208+20+12>>2];t:do{if(r||(S=0|_[y+208+4>>2],g=0|_[y+208+8>>2],v=0|_[y+208+12>>2],D=(d-u)*(_[a>>2]=S,+p[a>>2]),D+=(A-m)*(_[a>>2]=g,+p[a>>2]),j+(D+(f-h)*(_[a>>2]=v,+p[a>>2]))<=1.1920928955078125e-7))g=0;else{C=+p[y+208+16>>2],w=+p[s+172>>2]+ +p[y+208+36>>2];e:do{if(w>.0010000000474974513){for(r=0,k=0,R=w;;){if(0|(i=0|_[s+168>>2])&&(I=0|_[20+(0|_[i>>2])>>2],_[y+112>>2]=1065353216,_[y+112+4>>2]=1065353216,_[y+112+8>>2]=1065353216,p[y+112+12>>2]=0,nd[7&I](i,y+256|0,.20000000298023224,y+112|0)),C=(d-u)*(_[a>>2]=S,+p[a>>2]),(C=j+((C+=(A-m)*(_[a>>2]=g,+p[a>>2]))+(f-h)*(_[a>>2]=v,+p[a>>2])))<=1.1920928955078125e-7){g=0;break t}if(!(!((w=k+R/C)<=k)&!(w<0)&!(w>1))){g=0;break t}if(Bt(e,u,m,h,y+192|0,w,y+112|0),Bt(o,d,A,f,y+176|0,w,y+48|0),0|(g=0|_[s+168>>2])&&(I=0|_[20+(0|_[g>>2])>>2],_[y>>2]=1065353216,_[y+4>>2]=0,_[y+8>>2]=0,p[y+12>>2]=0,nd[7&I](g,y+112+48|0,.20000000298023224,y)),zl[31&_[_[s>>2]>>2]](s,w),_[y>>2]=10156,p[y+36>>2]=0xde0b6b000000000,n[y+40|0]=0,ve(t,y+112|0,y+48|0,y),!(0|n[y+40|0])){g=17;break}if(R=+p[y+36>>2]+ +p[s+172>>2],_[y+256>>2]=_[y+20>>2],_[y+256+4>>2]=_[y+20+4>>2],_[y+256+8>>2]=_[y+20+8>>2],_[y+256+12>>2]=_[y+20+12>>2],S=0|_[y+4>>2],g=0|_[y+8>>2],v=0|_[y+12>>2],i=r+1|0,r>>>0>63){g=18;break}if(!(R>.0010000000474974513)){C=+p[y+16>>2];break e}r=i,k=w}17==(0|g)?_d[127&_[8+(0|_[s>>2])>>2]](s,-1,r):18==(0|g)&&_d[127&_[8+(0|_[s>>2])>>2]](s,-2,i),g=0;break t}w=0}while(0);p[s+164>>2]=w,_[s+132>>2]=S,_[s+136>>2]=g,_[s+140>>2]=v,p[s+144>>2]=C,_[s+148>>2]=_[y+256>>2],_[s+148+4>>2]=_[y+256+4>>2],_[s+148+8>>2]=_[y+256+8>>2],_[s+148+12>>2]=_[y+256+12>>2],g=1}}while(0);return Q=y,0|(I=g)}function Be(t,e,i,n,o){t|=0,i|=0,n|=0,o|=0;var r,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0;if(r=Q,Q=Q+32|0,j=+p[48+(e|=0)>>2]-+p[e+112>>2],s=+p[e+52>>2]-+p[e+116>>2],B=+p[e+56>>2]-+p[e+120>>2],D=j*+p[e+64>>2]+s*+p[e+80>>2]+B*+p[e+96>>2],I=j*+p[e+68>>2]+s*+p[e+84>>2]+B*+p[e+100>>2],B=j*+p[e+72>>2]+s*+p[e+88>>2]+B*+p[e+104>>2],n=0|_[t+8>>2],R=0|_[t+4>>2],j=(s=+p[R+28>>2]*+p[R+12>>2])+ +p[t+12>>2],u=+p[n+72>>2],m=+p[n+56>>2],h=+p[n+76>>2],y=+p[n+60>>2],g=+p[n+80>>2],C=+p[n+64>>2],v=+p[n+88>>2],S=+p[n+92>>2],w=+p[n+96>>2],(c=(f=(u-m)*(S-y)-(h-y)*(v-m))*(A=1/+b(+(f*f+((a=(h-y)*(w-C)-(g-C)*(S-y))*a+(d=(g-C)*(v-m)-(u-m)*(w-C))*d))))*(B-C)+(a*A*(D-m)+d*A*(I-y)))<0?(k=-c,l=-a*A,c=-d*A,a=-f*A):(k=c,l=a*A,c=d*A,a=f*A),k0&f>0&g>0|w<=0&f<=0&g<=0)u=j*j,y=D-k*l,h=B-k*a,m=I-k*c;else{if((0|Gl[127&_[100+(0|_[n>>2])>>2]](n))<=0)return void(Q=r);n=0,R=0,y=0,h=0,m=0;do{W=0|_[t+8>>2],pd[127&_[104+(0|_[W>>2])>>2]](W,R,r+16|0,r),u=+p[r+16>>2],w=+p[r+16+4>>2],C=+p[r+16+8>>2],g=+p[r>>2]-u,k=+p[r+4>>2]-w,v=+p[r+8>>2]-C;do{if((D-u)*g+(I-w)*k+(B-C)*v>0){if((D-u)*g+(I-w)*k+(B-C)*v>2]}while((0|R)<(0|Gl[127&_[100+(0|_[W>>2])>>2]](W)));if(!(1&n))return void(Q=r);u=j*j}if((A=D-y)*A+(f=I-m)*f+(d=B-h)*d1.1920928955078125e-7&&(s-=c=+b(+(A*A+f*f+d*d)),l=A*(1/c),a=d*(1/c),c=f*(1/c)),s=-s,o?(D=(w=+p[e+64>>2])*l+(k=+p[e+68>>2])*c+(j=+p[e+72>>2])*a,I=l*(f=+p[e+80>>2])+c*(u=+p[e+84>>2])+a*(g=+p[e+88>>2]),B=l*(C=+p[e+96>>2])+c*(v=+p[e+100>>2])+a*(S=+p[e+104>>2]),p[r+16>>2]=-D,p[r+16+4>>2]=-I,p[r+16+8>>2]=-B,p[r+16+12>>2]=0,I=y*f+m*u+h*g+ +p[e+116>>2]+I*s,B=y*C+m*v+h*S+ +p[e+120>>2]+B*s,p[r>>2]=y*w+m*k+h*j+ +p[e+112>>2]+D*s,p[r+4>>2]=I,p[r+8>>2]=B,p[r+12>>2]=0,rd[15&_[16+(0|_[i>>2])>>2]](i,r+16|0,r,s),void(Q=r)):(W=0|_[16+(0|_[i>>2])>>2],k=+p[e+64>>2],j=+p[e+68>>2],D=+p[e+72>>2],C=+p[e+80>>2],v=+p[e+84>>2],I=+p[e+88>>2],S=+p[e+96>>2],w=+p[e+100>>2],B=+p[e+104>>2],p[r+16>>2]=k*l+j*c+D*a,p[r+16+4>>2]=l*C+c*v+a*I,p[r+16+8>>2]=l*S+c*w+a*B,p[r+16+12>>2]=0,I=y*C+m*v+h*I+ +p[e+116>>2],B=y*S+m*w+h*B+ +p[e+120>>2],p[r>>2]=y*k+m*j+h*D+ +p[e+112>>2],p[r+4>>2]=I,p[r+8>>2]=B,p[r+12>>2]=0,rd[15&W](i,r+16|0,r,s),void(Q=r));Q=r}else Q=r}function We(t,e){e|=0;var i=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0;if(_[(t|=0)>>2]=6120,_[6630]=1+(0|_[6630]),(i=0|di(379))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,p[i+308>>2]=9999999747378752e-20,n[0|(l=i+332|0)]=-16&n[0|l],_[t+24>>2]=i,l=!(0|_[e+20>>2]),_[6630]=1+(0|_[6630]),i=0|di(23),_[(i+4+15&-16)-4>>2]=i,_[(i+4+15&-16)>>2]=l?10068:10116,_[t+28>>2]=i+4+15&-16,_[6630]=1+(0|_[6630]),(i=0|di(43))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,a=0|_[t+24>>2],l=0|_[t+28>>2],n[i+4|0]=0,_[i>>2]=6928,_[i+16>>2]=0,_[i+20>>2]=3,_[i+12>>2]=a,_[i+8>>2]=l,_[t+32>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6152,_[t+36>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6172,_[t+40>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6192,_[t+44>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6212,_[t+48>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6232,_[t+52>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6252,_[t+56>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6272,_[t+60>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6292,_[t+76>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[i>>2]=6292,_[t+80>>2]=i,n[i+4|0]=1,_[6630]=1+(0|_[6630]),(i=0|di(27))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6312,_[t+72>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(35))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,n[i+4|0]=0,_[i>>2]=6332,_[i+8>>2]=1,_[i+12>>2]=0,_[t+88>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(35))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[i>>2]=6332,_[i+8>>2]=1,_[i+12>>2]=0,_[t+84>>2]=i,n[i+4|0]=1,l=(0|(l=0|_[e+16>>2]))>80?l:80,i=0|_[e>>2])n[t+12|0]=0,_[t+8>>2]=i;else{if(n[t+12|0]=1,_[6630]=1+(0|_[6630]),(i=0|di(39))?(_[(i+4+15&-16)-4>>2]=i,a=i+4+15&-16):a=0,i=0|_[e+8>>2],_[a>>2]=772,_[(o=a+4|0)>>2]=i,_[6630]=1+(0|_[6630]),(i=0|di(16+(772*i|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[a+16>>2]=i,_[a+12>>2]=i,r=0|_[o>>2],_[a+8>>2]=r,r+-1|0){s=0|_[a>>2],o=i,c=r+-1|0;do{d=o,o=o+s|0,_[d>>2]=o,c=c+-1|0}while(0|c);i=i+(0|g(s,r+-1|0))|0}_[i>>2]=0,_[t+8>>2]=a}if(0|(i=0|_[e+4>>2]))return n[t+20|0]=0,void(_[t+16>>2]=i);if(n[t+20|0]=1,_[6630]=1+(0|_[6630]),(i=0|di(39))?(_[(i+4+15&-16)-4>>2]=i,a=i+4+15&-16):a=0,i=0|_[e+12>>2],_[a>>2]=l,_[(o=a+4|0)>>2]=i,i=0|g(i,l),_[6630]=1+(0|_[6630]),(i=0|di(i+19|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[a+16>>2]=i,_[a+12>>2]=i,r=0|_[o>>2],_[a+8>>2]=r,r+-1|0){s=0|_[a>>2],o=i,c=r+-1|0;do{d=o,o=o+s|0,_[d>>2]=o,c=c+-1|0}while(0|c);i=i+(0|g(s,r+-1|0))|0}_[i>>2]=0,_[t+16>>2]=a}function Fe(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r,s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B=0,W=0;s=Q,Q=Q+16|0,!(0|n[24496])&&0|Qs(24496)&&(_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,ut(25184,0,0,0,s)),_[6347]=1|_[6347],p[6382]=0,B=0*+p[6392],W=0*+p[6393],p[6387]=0*+p[6391],p[6388]=B,p[6389]=W,p[6390]=0,_[6395]=0,_[6396]=0,_[6397]=0,_[6398]=0,W=0*+p[6384],B=0*+p[6385],p[6436]=0*+p[6383],p[6437]=W,p[6438]=B,p[6439]=0,_[t+4>>2]=6,_[t+8>>2]=-1,_[t+12>>2]=-1,p[t+16>>2]=34028234663852886e22,n[t+20|0]=1,n[t+21|0]=0,_[t+24>>2]=-1,_[t+28>>2]=25184,_[t+32>>2]=e,p[t+36>>2]=0,p[t+40>>2]=.30000001192092896,_[t+44>>2]=0,_[t>>2]=5276,_[t+112>>2]=_[i>>2],_[t+112+4>>2]=_[i+4>>2],_[t+112+8>>2]=_[i+8>>2],_[t+112+12>>2]=_[i+12>>2],_[t+128>>2]=_[i+16>>2],_[t+128+4>>2]=_[i+16+4>>2],_[t+128+8>>2]=_[i+16+8>>2],_[t+128+12>>2]=_[i+16+12>>2],_[t+144>>2]=_[i+32>>2],_[t+144+4>>2]=_[i+32+4>>2],_[t+144+8>>2]=_[i+32+8>>2],_[t+144+12>>2]=_[i+32+12>>2],_[t+160>>2]=_[i+48>>2],_[t+160+4>>2]=_[i+48+4>>2],_[t+160+8>>2]=_[i+48+8>>2],_[t+160+12>>2]=_[i+48+12>>2],r=48+(i=t+680|0)|0;do{_[i>>2]=0,i=i+4|0}while((0|i)<(0|r));_[t+740>>2]=0,_[t+740+4>>2]=0,_[t+740+8>>2]=0,_[t+740+12>>2]=0,_[t+756>>2]=1045220557,_[t+760>>2]=1045220557,_[t+764>>2]=1045220557,_[t+768>>2]=0,_[t+768+4>>2]=0,_[t+768+8>>2]=0,_[t+768+12>>2]=0,_[t+768+16>>2]=0,p[t+728>>2]=.699999988079071,p[t+732>>2]=1,p[t+736>>2]=.5,n[t+788|0]=0,n[t+788+1|0]=0,n[t+788+2|0]=0,_[t+792>>2]=0,_[t+792+4>>2]=0,_[t+792+8>>2]=0,_[t+808>>2]=0,_[t+808+4>>2]=0,_[t+808+8>>2]=0,p[t+928>>2]=0,p[t+876>>2]=0,p[t+880>>2]=.10000000149011612,p[t+884>>2]=300,p[t+868>>2]=1,p[t+872>>2]=-1,p[t+896>>2]=0,p[t+900>>2]=.20000000298023224,p[t+904>>2]=0,p[t+908>>2]=0,p[t+888>>2]=1,p[t+892>>2]=.5,_[t+924>>2]=0,p[t+916>>2]=0,n[t+912|0]=0,p[t+992>>2]=0,p[t+940>>2]=0,p[t+944>>2]=.10000000149011612,p[t+948>>2]=300,p[t+932>>2]=1,p[t+936>>2]=-1,p[t+960>>2]=0,p[t+964>>2]=.20000000298023224,p[t+968>>2]=0,p[t+972>>2]=0,p[t+952>>2]=1,p[t+956>>2]=.5,_[t+988>>2]=0,p[t+980>>2]=0,n[t+976|0]=0,p[t+1056>>2]=0,p[t+1004>>2]=0,p[t+1008>>2]=.10000000149011612,p[t+1012>>2]=300,p[t+996>>2]=1,p[t+1e3>>2]=-1,p[t+1024>>2]=0,p[t+1028>>2]=.20000000298023224,p[t+1032>>2]=0,p[t+1036>>2]=0,p[t+1016>>2]=1,p[t+1020>>2]=.5,_[t+1052>>2]=0,p[t+1044>>2]=0,n[t+1040|0]=0,n[t+1300|0]=1&o,n[t+1301|0]=1,_[t+1304>>2]=0,n[t+1308|0]=0,C=+p[t+112>>2],j=+p[e+4>>2],g=+p[t+128>>2],R=+p[e+8>>2],y=+p[t+144>>2],k=+p[e+12>>2],h=+p[t+116>>2],m=+p[t+132>>2],u=+p[t+148>>2],f=+p[t+120>>2],b=+p[t+136>>2],l=+p[t+152>>2],w=+p[e+20>>2],S=+p[e+24>>2],v=+p[e+28>>2],A=+p[e+36>>2],d=+p[e+40>>2],a=+p[e+44>>2],I=+p[t+160>>2],D=+p[t+164>>2],W=+p[t+168>>2],c=+p[e+52>>2]+(j*I+R*D+k*W),B=w*I+S*D+v*W+ +p[e+56>>2],W=A*I+d*D+a*W+ +p[e+60>>2],p[t+48>>2]=C*j+g*R+y*k,p[t+52>>2]=j*h+R*m+k*u,p[t+56>>2]=j*f+R*b+k*l,p[t+60>>2]=0,p[t+64>>2]=C*w+g*S+y*v,p[t+68>>2]=h*w+m*S+u*v,p[t+72>>2]=f*w+b*S+l*v,p[t+76>>2]=0,p[t+80>>2]=C*A+g*d+y*a,p[t+84>>2]=h*A+m*d+u*a,p[t+88>>2]=f*A+b*d+l*a,p[t+92>>2]=0,p[t+96>>2]=c,p[t+100>>2]=B,p[t+104>>2]=W,p[t+108>>2]=0,Pi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0),Q=s}function xe(t,e){e|=0;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0;if(i=Q,Q=Q+96|0,h=0|_[12+(t|=0)>>2],pd[127&_[8+(0|_[h>>2])>>2]](h,4+(0|_[t+8>>2])|0,i+80|0,i+64|0),h=0|_[e+68>>2],dd[31&_[16+(0|_[h>>2])>>2]](h,0|_[188+(0|_[t+8>>2])>>2],i+80|0,i+64|0,0|_[e+24>>2]),h=0|_[e+24>>2],pd[127&_[32+(0|_[h>>2])>>2]](h,0|_[284+(0|_[t+8>>2])>>2],e+28|0,h),h=0|_[t+8>>2],_[t+92>>2]=_[h+52>>2],_[t+92+4>>2]=_[h+52+4>>2],_[t+92+8>>2]=_[h+52+8>>2],_[t+92+12>>2]=_[h+52+12>>2],h=0|_[h+284>>2],(0|Gl[127&_[36+(0|_[h>>2])>>2]](h))>0){e=0,r=0,h=0;do{if((0|(o=0|_[t+132>>2]))<0){(0|_[t+136>>2])<0&&(0|(s=0|_[t+140>>2])&&(0|n[t+144|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+140>>2]=0),n[t+144|0]=1,_[t+140>>2]=0,_[t+136>>2]=0);do{_[(0|_[t+140>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}_[t+132>>2]=0,o=0|_[284+(0|_[t+8>>2])>>2],o=12+(0|Gl[127&_[28+(0|_[o>>2])>>2]](o))|0,o=0|_[o>>2],m=0|_[_[o+(h<<4)>>2]>>2],s=0|_[_[o+(h<<4)+4>>2]>>2],0|m&&4&_[m+204>>2]||(y=15);do{if(15==(0|y)){if(y=0,0|s&&4&_[s+204>>2])break;if(0|(o=0|_[o+(h<<4)+8>>2])&&ed[127&_[16+(0|_[o>>2])>>2]](o,t+128|0),(0|(m=0|_[t+132>>2]))>0){f=0|_[t+140>>2],u=0|_[t+8>>2],A=0;do{if(d=0|_[f+(A<<2)>>2],b=(0|_[d+740>>2])==(0|u)?-1:1,(0|(o=0|_[d+748>>2]))>0){l=0;do{(a=+p[d+4+(184*l|0)+80>>2])<0&&(c=d+4+(184*l|0)+64|0,a>2],r=b*+p[(s=d+4+(184*l|0)+72|0)>>2],p[t+152>>2]=b*+p[c>>2],p[t+156>>2]=g,p[t+160>>2]=r,p[t+164>>2]=0,r=a,o=0|_[d+748>>2]):(e=d+4+(184*l|0)+68|0,s=d+4+(184*l|0)+72|0),C=a*(b*+p[e>>2])*.20000000298023224,g=a*(b*+p[s>>2])*.20000000298023224,p[t+92>>2]=a*(b*+p[c>>2])*.20000000298023224+ +p[t+92>>2],p[t+96>>2]=C+ +p[t+96>>2],p[t+100>>2]=g+ +p[t+100>>2],e=1),l=l+1|0}while((0|l)<(0|o))}A=A+1|0}while((0|A)!=(0|m))}}}while(0);h=h+1|0,m=0|_[284+(0|_[t+8>>2])>>2]}while((0|h)<(0|Gl[127&_[36+(0|_[m>>2])>>2]](m)))}else e=0;return y=0|_[t+8>>2],_[i>>2]=_[y+4>>2],_[i+4>>2]=_[y+4+4>>2],_[i+8>>2]=_[y+4+8>>2],_[i+12>>2]=_[y+4+12>>2],_[i+16>>2]=_[y+20>>2],_[i+16+4>>2]=_[y+20+4>>2],_[i+16+8>>2]=_[y+20+8>>2],_[i+16+12>>2]=_[y+20+12>>2],_[i+32>>2]=_[y+36>>2],_[i+32+4>>2]=_[y+36+4>>2],_[i+32+8>>2]=_[y+36+8>>2],_[i+32+12>>2]=_[y+36+12>>2],_[i+48>>2]=_[t+92>>2],_[i+48+4>>2]=_[t+92+4>>2],_[i+48+8>>2]=_[t+92+8>>2],_[i+48+12>>2]=_[t+92+12>>2],_[y+260>>2]=1+(0|_[y+260>>2]),_[y+4>>2]=_[i>>2],_[y+4+4>>2]=_[i+4>>2],_[y+4+8>>2]=_[i+8>>2],_[y+4+12>>2]=_[i+12>>2],_[y+20>>2]=_[i+16>>2],_[y+20+4>>2]=_[i+16+4>>2],_[y+20+8>>2]=_[i+16+8>>2],_[y+20+12>>2]=_[i+16+12>>2],_[y+36>>2]=_[i+32>>2],_[y+36+4>>2]=_[i+32+4>>2],_[y+36+8>>2]=_[i+32+8>>2],_[y+36+12>>2]=_[i+32+12>>2],_[y+52>>2]=_[i+48>>2],_[y+52+4>>2]=_[i+48+4>>2],_[y+52+8>>2]=_[i+48+8>>2],_[y+52+12>>2]=_[i+48+12>>2],Q=i,0|e}function Oe(t,e,i,o){e|=0,i|=0,o|=0;var r=0;if(n[20+(t|=0)|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,_[t+24>>2]=e,p[t+28>>2]=0,_[t+32>>2]=0,_[t+36>>2]=1,p[t+40>>2]=1,n[t+44|0]=1,_[t+48>>2]=0,n[t+52|0]=0,n[t+53|0]=1,n[t+54|0]=1,p[t+56>>2]=.03999999910593033,n[t+60|0]=0,p[t+64>>2]=0,_[t+68>>2]=i,_[t+72>>2]=0,n[t+76|0]=1,_[t+80>>2]=0,_[t+84>>2]=0,_[t+88>>2]=0,p[t+92>>2]=.6000000238418579,p[t+96>>2]=1,p[t+100>>2]=.30000001192092896,p[t+104>>2]=.01666666753590107,p[t+108>>2]=0,p[t+116>>2]=20,_[t+112>>2]=10,p[t+124>>2]=.20000000298023224,p[t+128>>2]=.800000011920929,p[t+132>>2]=0,p[t+120>>2]=1,_[t+136>>2]=1,p[t+140>>2]=-.03999999910593033,p[t+144>>2]=.10000000149011612,p[t+148>>2]=0,p[t+152>>2]=.8500000238418579,_[t+156>>2]=260,_[t+160>>2]=2,_[t+164>>2]=128,p[t+168>>2]=100,p[t+172>>2]=1.0000000150474662e30,_[t>>2]=4992,n[t+192|0]=1,_[t+188>>2]=0,_[t+180>>2]=0,_[t+184>>2]=0,_[t+196>>2]=0,_[t+200>>2]=o,n[t+224|0]=1,_[t+220>>2]=0,_[t+212>>2]=0,_[t+216>>2]=0,n[t+244|0]=1,_[t+240>>2]=0,_[t+232>>2]=0,_[t+236>>2]=0,_[t+248>>2]=0,_[t+252>>2]=-1054867456,n[t+274|0]=0,n[t+275|0]=0,_[t+256>>2]=0,_[t+256+4>>2]=0,_[t+256+8>>2]=0,_[t+256+12>>2]=0,n[t+292|0]=1,_[t+288>>2]=0,_[t+280>>2]=0,_[t+284>>2]=0,_[t+296>>2]=0,n[t+300|0]=1,n[t+320|0]=1,_[t+316>>2]=0,_[t+308>>2]=0,_[t+312>>2]=0,o?i=0:(_[6630]=1+(0|_[6630]),(i=0|di(215))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[i>>2]=5656,n[i+20|0]=1,_[i+16>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,n[i+40|0]=1,_[i+36>>2]=0,_[i+28>>2]=0,_[i+32>>2]=0,n[i+60|0]=1,_[i+56>>2]=0,_[i+48>>2]=0,_[i+52>>2]=0,n[i+80|0]=1,_[i+76>>2]=0,_[i+68>>2]=0,_[i+72>>2]=0,n[i+100|0]=1,_[i+96>>2]=0,_[i+88>>2]=0,_[i+92>>2]=0,n[i+120|0]=1,_[i+116>>2]=0,_[i+108>>2]=0,_[i+112>>2]=0,n[i+140|0]=1,_[i+136>>2]=0,_[i+128>>2]=0,_[i+132>>2]=0,n[i+160|0]=1,_[i+156>>2]=0,_[i+148>>2]=0,_[i+152>>2]=0,n[i+180|0]=1,_[i+176>>2]=0,_[i+168>>2]=0,_[i+172>>2]=0,_[i+192>>2]=0,_[t+200>>2]=i,i=1),n[t+273|0]=i,_[6630]=1+(0|_[6630]),(i=0|di(87))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,_[i>>2]=6352,n[i+20|0]=1,_[i+16>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,n[i+40|0]=1,_[i+36>>2]=0,_[i+28>>2]=0,_[i+32>>2]=0,n[i+60|0]=1,_[i+56>>2]=0,_[i+48>>2]=0,_[i+52>>2]=0,n[i+64|0]=1,_[t+204>>2]=i,n[t+272|0]=1,_[6630]=1+(0|_[6630]),!(i=0|di(107)))return o=0,r=0|_[t+200>>2],_[o>>2]=5204,_[(i=o+4|0)>>2]=0,_[(i=o+8|0)>>2]=r,_[(i=o+12|0)>>2]=0,_[(i=o+16|0)>>2]=0,_[(i=o+20|0)>>2]=0,_[(i=o+24|0)>>2]=e,n[0|(e=o+44|0)]=1,_[(e=o+40|0)>>2]=0,_[(e=o+32|0)>>2]=0,_[(e=o+36|0)>>2]=0,n[0|(e=o+64|0)]=1,_[(e=o+60|0)>>2]=0,_[(e=o+52|0)>>2]=0,_[(e=o+56|0)>>2]=0,n[0|(e=o+84|0)]=1,_[(e=o+80|0)>>2]=0,_[(e=o+72|0)>>2]=0,_[(e=o+76|0)>>2]=0,void(_[t+196>>2]=o);_[(i+4+15&-16)-4>>2]=i,r=i+4+15&-16,i=0|_[t+200>>2],_[r>>2]=5204,_[(o=r+4|0)>>2]=0,_[(o=r+8|0)>>2]=i,_[(o=r+12|0)>>2]=0,_[(o=r+16|0)>>2]=0,_[(o=r+20|0)>>2]=0,_[(o=r+24|0)>>2]=e,n[0|(e=r+44|0)]=1,_[(e=r+40|0)>>2]=0,_[(e=r+32|0)>>2]=0,_[(e=r+36|0)>>2]=0,n[0|(e=r+64|0)]=1,_[(e=r+60|0)>>2]=0,_[(e=r+52|0)>>2]=0,_[(e=r+56|0)>>2]=0,n[0|(e=r+84|0)]=1,_[(e=r+80|0)>>2]=0,_[(e=r+72|0)>>2]=0,_[(e=r+76|0)>>2]=0,_[t+196>>2]=r}function Te(t,e,i,r,s){e|=0,i=+i,r=+r,s=+s;var c,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0;for(c=Q,Q=Q+240|0,l=+p[96+(t|=0)>>2]+r,d=+p[t+100>>2]+s,p[t+112>>2]=+p[t+92>>2]+i,p[t+116>>2]=l,p[t+120>>2]=d,p[t+124>>2]=0,_[c+168>>2]=1065353216,_[c+168+4>>2]=0,_[c+168+4+4>>2]=0,_[c+168+4+8>>2]=0,_[c+168+4+12>>2]=0,_[c+168+20>>2]=1065353216,_[c+168+24>>2]=0,_[c+168+24+4>>2]=0,_[c+168+24+8>>2]=0,_[c+168+24+12>>2]=0,_[c+168+40>>2]=1065353216,_[(a=c+168+44|0)>>2]=0,_[a+4>>2]=0,_[a+8>>2]=0,_[a+12>>2]=0,_[a+16>>2]=0,_[c+104>>2]=1065353216,_[c+104+4>>2]=0,_[c+104+4+4>>2]=0,_[c+104+4+8>>2]=0,_[c+104+4+12>>2]=0,_[c+104+20>>2]=1065353216,_[c+104+24>>2]=0,_[c+104+24+4>>2]=0,_[c+104+24+8>>2]=0,_[c+104+24+12>>2]=0,_[c+104+40>>2]=1065353216,_[(a=c+104+44|0)>>2]=0,_[a+4>>2]=0,_[a+8>>2]=0,_[a+12>>2]=0,_[a+16>>2]=0,d=1,a=10;;){if(!a){a=15;break}if(a=a+-1|0,_[c+168+48>>2]=_[t+92>>2],_[c+168+48+4>>2]=_[t+92+4>>2],_[c+168+48+8>>2]=_[t+92+8>>2],_[c+168+48+12>>2]=_[t+92+12>>2],_[c+104+48>>2]=_[t+112>>2],_[c+104+48+4>>2]=_[t+112+4>>2],_[c+104+48+8>>2]=_[t+112+8>>2],_[c+104+48+12>>2]=_[t+112+12>>2],s=+p[t+92>>2]-+p[t+112>>2],l=+p[t+96>>2]-+p[t+116>>2],i=+p[t+100>>2]-+p[t+120>>2],A=0|_[t+8>>2],p[c+4>>2]=1,_[c+76>>2]=0,_[c+12>>2]=0,_[c+12+4>>2]=0,_[c+12+8>>2]=0,_[c+12+12>>2]=0,_[c+12+16>>2]=0,_[c+12+20>>2]=0,_[c+12+24>>2]=0,_[c+12+28>>2]=0,_[c>>2]=5836,_[c+80>>2]=A,p[c+84>>2]=s,p[c+88>>2]=l,p[c+92>>2]=i,p[c+96>>2]=0,p[c+100>>2]=0,A=0|_[A+188>>2],o[c+8>>1]=0|o[A+4>>1],o[c+10>>1]=0|o[A+6>>1],A=0|_[t+12>>2],i=+Il[15&_[48+(0|_[A>>2])>>2]](A),A=0|_[t+12>>2],zl[31&_[44+(0|_[A>>2])>>2]](A,i+ +p[t+56>>2]),0|n[t+170|0]?Mi(0|_[t+8>>2],0|_[t+12>>2],c+168|0,c+104|0,c,+p[e+56>>2]):we(e,0|_[t+12>>2],c+168|0,c+104|0,c,+p[e+56>>2]),A=0|_[t+12>>2],zl[31&_[44+(0|_[A>>2])>>2]](A,i),d-=l=+p[c+4>>2],l<1){if(r=+p[t+112>>2]-+p[t+92>>2],s=+p[t+116>>2]-+p[t+96>>2],l=+p[t+120>>2]-+p[t+100>>2],(i=+b(+(r*r+s*s+l*l)))>1.1920928955078125e-7?(f=+p[c+44>>2],g=+p[c+48>>2],u=(m=+p[c+52>>2])*((l*(1/i)-m*(y=2*(r*(1/i)*f+s*(1/i)*g+l*(1/i)*m)))*(h=1/+b(+((l*(1/i)-m*y)*(l*(1/i)-m*y)+((r*(1/i)-f*y)*(r*(1/i)-f*y)+(s*(1/i)-g*y)*(s*(1/i)-g*y))))))+(f*((r*(1/i)-f*y)*h)+g*((s*(1/i)-g*y)*h)),_[t+112>>2]=_[t+92>>2],_[t+112+4>>2]=_[t+92+4>>2],_[t+112+8>>2]=_[t+92+8>>2],_[t+112+12>>2]=_[t+92+12>>2],f=i*((r*(1/i)-f*y)*h-f*u)+ +p[t+112>>2],p[t+112>>2]=f,r=i*((s*(1/i)-g*y)*h-g*u)+ +p[t+116>>2],p[t+116>>2]=r,l=i*((l*(1/i)-m*y)*h-m*u)+ +p[t+120>>2],p[t+120>>2]=l,i=f):(i=+p[t+112>>2],r=+p[t+116>>2],l=+p[t+120>>2]),!((s=i-+p[t+92>>2])*s+(r-=+p[t+96>>2])*r+(i=l-+p[t+100>>2])*i>1.1920928955078125e-7)){a=13;break}if(s*(g=1/+b(+(s*s+r*r+i*i)))*+p[t+76>>2]+r*g*+p[t+80>>2]+i*g*+p[t+84>>2]<=0){a=13;break}}else _[t+92>>2]=_[t+112>>2],_[t+92+4>>2]=_[t+112+4>>2],_[t+92+8>>2]=_[t+112+8>>2],_[t+92+12>>2]=_[t+112+12>>2];if(!(d>.009999999776482582)){a=15;break}}13!=(0|a)&&15!=(0|a)||(Q=c)}function Pe(t,e,i,n,o){e|=0,i|=0,n|=0,o|=0;var r,s,c,l,d,A,f,u,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0;if(u=+p[(t|=0)>>2],x=+p[e>>2],O=+p[t+4>>2],W=+p[e+4>>2],r=+p[t+8>>2],F=+p[e+8>>2],s=+p[i>>2],!((f=(u-x)*(W-(c=+p[i+4>>2]))-(O-W)*(x-s))*f+((d=(O-W)*(F-(l=+p[i+8>>2]))-(r-F)*(W-c))*d+(A=(r-F)*(x-s)-(u-x)*(F-l))*A)>0))return+(O=-1);if(u*(f*(O-W)-A*(r-F))+O*(d*(r-F)-f*(u-x))+(A*(u-x)-d*(O-W))*r>0){do{if((x-u)*(x-u)+(W-O)*(W-O)+(F-r)*(F-r)>0){if((m=-(u*(x-u)+O*(W-O)+r*(F-r))/((x-u)*(x-u)+(W-O)*(W-O)+(F-r)*(F-r)))>=1){g=2,h=x*x+W*W+F*F,C=0,y=1065353216;break}if(m<=0){g=1,h=u*u+O*O+r*r,C=1065353216,y=0;break}p[a>>2]=m,y=0|_[a>>2],g=3,h=(r+(F-r)*m)*(r+(F-r)*m)+((u+(x-u)*m)*(u+(x-u)*m)+(O+(W-O)*m)*(O+(W-O)*m)),p[a>>2]=1-m,C=0|_[a>>2];break}g=0,h=-1,C=0,y=0}while(0);_[o>>2]=g,_[n>>2]=C,_[n+4>>2]=y,p[n+8>>2]=0,k=+p[e>>2],R=+p[e+4>>2],j=+p[e+8>>2]}else h=-1,g=0,C=0,y=0,k=x,R=W,j=F;if(k*(f*(W-c)-A*(F-l))+R*(d*(F-l)-f*(x-s))+(A*(x-s)-d*(W-c))*j>0){m=(D=+p[i>>2])-k,S=(I=+p[i+4>>2])-R,w=(B=+p[i+8>>2])-j;do{if(m*m+S*S+w*w>0){if((v=-(k*m+R*S+j*w)/(m*m+S*S+w*w))>=1){g=2,m=D*D+I*I+B*B,C=0,y=1065353216;break}if(v<=0){g=1,m=k*k+R*R+j*j,C=1065353216,y=0;break}p[a>>2]=v,y=0|_[a>>2],g=3,m=(I=j+w*v)*I+((B=k+m*v)*B+(m=R+S*v)*m),p[a>>2]=1-v,C=0|_[a>>2];break}m=-1}while(0);h<0|m>2]=g<<1&6,_[n+4>>2]=C,_[n+8>>2]=y,p[n>>2]=0,h=m)}if((m=+p[i>>2])*(f*(c-O)-A*(l-r))+(S=+p[i+4>>2])*(d*(l-r)-f*(s-u))+(A*(s-u)-d*(c-O))*(w=+p[i+8>>2])>0){k=+p[t>>2],R=+p[t+4>>2],j=+p[t+8>>2];do{if((k-m)*(k-m)+(R-S)*(R-S)+(j-w)*(j-w)>0){if((v=-(m*(k-m)+S*(R-S)+w*(j-w))/((k-m)*(k-m)+(R-S)*(R-S)+(j-w)*(j-w)))>=1){g=2,m=k*k+R*R+j*j,C=0,y=1065353216;break}if(v<=0){g=1,m=m*m+S*S+w*w,C=1065353216,y=0;break}p[a>>2]=v,y=0|_[a>>2],g=3,m=(w+(j-w)*v)*(w+(j-w)*v)+((m+(k-m)*v)*(m+(k-m)*v)+(S+(R-S)*v)*(S+(R-S)*v)),p[a>>2]=1-v,C=0|_[a>>2];break}m=-1}while(0);h<0|m>2]=g<<2&4|g>>>1&1,_[n+8>>2]=C,_[n>>2]=y,p[n+4>>2]=0):m=h}else m=h;return m<0?(I=+b(+(f*f+(d*d+A*A))),B=(d*+p[t>>2]+A*+p[t+4>>2]+f*+p[t+8>>2])/(f*f+(d*d+A*A)),_[o>>2]=7,j=+p[e>>2]-d*B,R=+p[e+4>>2]-A*B,D=+p[e+8>>2]-f*B,x=+b(+(((x-s)*R-(W-c)*j)*((x-s)*R-(W-c)*j)+(((W-c)*D-(F-l)*R)*((W-c)*D-(F-l)*R)+((F-l)*j-(x-s)*D)*((F-l)*j-(x-s)*D))))/I,p[n>>2]=x,W=+p[i>>2]-d*B,D=+p[i+4>>2]-A*B,F=+p[i+8>>2]-f*B,O=+b(+(((s-u)*D-(c-O)*W)*((s-u)*D-(c-O)*W)+(((c-O)*F-(l-r)*D)*((c-O)*F-(l-r)*D)+((l-r)*W-(s-u)*F)*((l-r)*W-(s-u)*F))))/I,p[n+4>>2]=O,p[n+8>>2]=1-(x+O),+(O=f*B*(f*B)+(d*B*(d*B)+A*B*(A*B)))):+(O=m)}function Me(t){var e,i=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0;if(e=Q,Q=Q+80|0,0|Gl[127&_[20+(0|_[(t|=0)>>2])>>2]](t)&&(a=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),8&Gl[127&_[48+(0|_[a>>2])>>2]](a))&&(s=0|_[t+24>>2],s=0|Gl[127&_[36+(0|_[s>>2])>>2]](s),_[e+64>>2]=1065353216,_[e+64+4>>2]=1065353216,_[e+64+8>>2]=0,p[e+64+12>>2]=0,(0|s)>0)){o=0;do{if(c=0|_[t+24>>2],c=0|Ll[31&_[40+(0|_[c>>2])>>2]](c,o),(0|(a=0|_[c+748>>2]))>0){r=0;do{u=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),sd[1&_[32+(0|_[u>>2])>>2]](u,c+4+(184*r|0)+32|0,c+4+(184*r|0)+64|0,+p[c+4+(184*r|0)+80>>2],0|_[c+4+(184*r|0)+148>>2],e+64|0),r=r+1|0}while((0|r)!=(0|a))}o=o+1|0}while((0|o)!=(0|s))}if(0|Gl[127&_[20+(0|_[t>>2])>>2]](t))if(u=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),3&Gl[127&_[48+(0|_[u>>2])>>2]](u))if((0|_[t+8>>2])<=0)Q=e;else{a=0;do{if(c=0|_[(0|_[t+16>>2])+(a<<2)>>2],!(32&_[c+204>>2])){if(0|Gl[127&_[20+(0|_[t>>2])>>2]](t)&&(u=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),1&Gl[127&_[48+(0|_[u>>2])>>2]](u))){switch(_[e+64>>2]=1065353216,_[e+64+4>>2]=1065353216,_[e+64+8>>2]=1065353216,p[e+64+12>>2]=0,0|_[c+216>>2]){case 1:o=1065353216,r=1065353216,s=1065353216;break;case 2:o=0,r=1065353216,s=0;break;case 3:o=1065353216,r=1065353216,s=0;break;case 4:default:o=0,r=0,s=1065353216;break;case 5:o=0,r=1065353216,s=1065353216}_[e+64>>2]=s,_[e+64+4>>2]=r,_[e+64+8>>2]=o,p[e+64+12>>2]=0,pd[127&_[28+(0|_[t>>2])>>2]](t,c+4|0,0|_[c+192>>2],e+64|0)}if(0|(o=0|_[t+72>>2])&&2&Gl[127&_[48+(0|_[o>>2])>>2]](o)){_[e+32>>2]=1065353216,_[e+32+4>>2]=0,_[e+32+8>>2]=0,p[e+32+12>>2]=0,u=0|_[c+192>>2],pd[127&_[8+(0|_[u>>2])>>2]](u,c+4|0,e+64|0,e+48|0),p[e+64>>2]=+p[e+64>>2]-.019999999552965164,p[e+64+4>>2]=+p[e+64+4>>2]-.019999999552965164,p[e+64+8>>2]=+p[e+64+8>>2]-.019999999552965164,p[e+48>>2]=+p[e+48>>2]+.019999999552965164,p[e+48+4>>2]=+p[e+48+4>>2]+.019999999552965164,p[e+48+8>>2]=+p[e+48+8>>2]+.019999999552965164;do{if(0|n[t+44|0]&&2==(0|_[c+236>>2])&&!(3&_[c+204>>2])){if(u=0|_[c+192>>2],pd[127&_[8+(0|_[u>>2])>>2]](u,c+68|0,e+16|0,e),i=+p[e+16>>2]-.019999999552965164,p[e+16>>2]=i,l=+p[e+16+4>>2]-.019999999552965164,p[e+16+4>>2]=l,d=+p[e+16+8>>2]-.019999999552965164,p[e+16+8>>2]=d,b=+p[e>>2]+.019999999552965164,p[e>>2]=b,A=+p[e+4>>2]+.019999999552965164,p[e+4>>2]=A,f=+p[e+8>>2]+.019999999552965164,p[e+8>>2]=f,i<+p[e+64>>2]&&(p[e+64>>2]=i),l<+p[e+64+4>>2]&&(p[e+64+4>>2]=l),d<+p[e+64+8>>2]&&(p[e+64+8>>2]=d),(i=+p[e+16+12>>2])<+p[e+64+12>>2]&&(p[e+64+12>>2]=i),+p[e+48>>2]>2]=b),+p[e+48+4>>2]>2]=A),+p[e+48+8>>2]>2]=f),i=+p[e+12>>2],!(+p[e+48+12>>2]>2]=i}}while(0);u=0|_[t+72>>2],pd[127&_[52+(0|_[u>>2])>>2]](u,e+64|0,e+48|0,e+32|0)}}a=a+1|0}while((0|a)<(0|_[t+8>>2]));Q=e}else Q=e;else Q=e}function Ve(t,e,i){t|=0,i|=0;var n,o,r,s,p,c,a=0,l=0,d=0,b=0,A=0,f=0;r=0|_[(e|=0)>>2],s=0|_[e+4>>2],A=0|_[e+8>>2],p=0|_[t+4>>2],c=0|Kt(t,i,s,A),_[c+12>>2]=_[e+12>>2],_[c+16>>2]=p+1,_[c+20>>2]=p+2,b=0|_[(0|_[t+12>>2])+(_[e+12>>2]<<2)>>2],a=0|_[b>>2],l=0|_[b+4>>2];do{if((0|a)==(0|s)&(0|l)==(0|A))a=2,f=2;else{if((0|a)==(0|A)&(0|l)==(0|s))a=2;else{if((0|l)==(0|s)&(0|(d=0|_[b+8>>2]))==(0|A)){a=0,f=2;break}if((0|l)==(0|A)&(0|d)==(0|s))a=0;else{if(!((0|d)!=(0|s)|(0|a)==(0|A)^1)){a=1,f=2;break}if((0|d)!=(0|A)|(0|a)==(0|s)^1){a=10428;break}a=1}}a=b+12+(a<<2)|0}}while(0);2==(0|f)&&(a=b+12+(a<<2)|0),_[a>>2]=p,o=0|Kt(t,i,A,r),_[o+12>>2]=_[e+12+4>>2],_[o+16>>2]=p+2,_[o+20>>2]=p,b=0|_[(0|_[t+12>>2])+(_[e+12+4>>2]<<2)>>2],a=0|_[b>>2],l=0|_[b+4>>2];do{if((0|a)==(0|A)&(0|l)==(0|r))a=2,f=10;else{if((0|a)==(0|r)&(0|l)==(0|A))a=2;else{if((0|l)==(0|A)&(0|(d=0|_[b+8>>2]))==(0|r)){a=0,f=10;break}if((0|l)==(0|r)&(0|d)==(0|A))a=0;else{if(!((0|d)!=(0|A)|(0|a)==(0|r)^1)){a=1,f=10;break}if((0|d)!=(0|r)|(0|a)==(0|A)^1){a=10428;break}a=1}}a=b+12+(a<<2)|0}}while(0);10==(0|f)&&(a=b+12+(a<<2)|0),_[a>>2]=p+1,n=0|Kt(t,i,r,s),_[n+12>>2]=_[e+12+8>>2],_[n+16>>2]=p,_[n+20>>2]=p+1,a=0|_[t+12>>2],A=0|_[a+(_[e+12+8>>2]<<2)>>2],l=0|_[A>>2],d=0|_[A+4>>2];do{if((0|l)==(0|r)&(0|d)==(0|s))l=2,f=18;else{if((0|l)==(0|s)&(0|d)==(0|r))l=2;else{if((0|d)==(0|r)&(0|(b=0|_[A+8>>2]))==(0|s)){l=0,f=18;break}if((0|d)==(0|s)&(0|b)==(0|r))l=0;else{if(!((0|b)!=(0|r)|(0|l)==(0|s)^1)){l=1,f=18;break}if((0|b)!=(0|s)|(0|l)==(0|r)^1){l=10428;break}l=1}}l=A+12+(l<<2)|0}}while(0);if(18==(0|f)&&(l=A+12+(l<<2)|0),_[l>>2]=p+2,l=0|_[a+(_[c+12>>2]<<2)>>2],(0|_[l>>2])!=(0|i)&&(0|_[l+4>>2])!=(0|i)&&(0|_[l+8>>2])!=(0|i)||(Ne(a,c,l),_[(0|_[t+12>>2])+(_[c+24>>2]<<2)>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),_[(0|_[t+12>>2])+(_[l+24>>2]<<2)>>2]=0,0|l&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),a=0|_[t+12>>2]),l=0|_[a+(_[o+12>>2]<<2)>>2],(0|_[l>>2])!=(0|i)&&(0|_[l+4>>2])!=(0|i)&&(0|_[l+8>>2])!=(0|i)||(Ne(a,o,l),_[(0|_[t+12>>2])+(_[o+24>>2]<<2)>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),_[(0|_[t+12>>2])+(_[l+24>>2]<<2)>>2]=0,0|l&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),a=0|_[t+12>>2]),l=0|_[a+(_[n+12>>2]<<2)>>2],(0|_[l>>2])!=(0|i)&&(0|_[l+4>>2])!=(0|i)&&(0|_[l+8>>2])!=(0|i))return t=a,i=0|_[(i=e+24|0)>>2],_[(i=t+(i<<2)|0)>>2]=0,i=1+(i=0|_[6631])|0,_[6631]=i,void Ni(i=0|_[(i=e+-4|0)>>2]);Ne(a,n,l),_[(0|_[t+12>>2])+(_[n+24>>2]<<2)>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[n+-4>>2]),_[(0|_[t+12>>2])+(_[l+24>>2]<<2)>>2]=0,0|l&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),t=0|_[t+12>>2],i=0|_[(i=e+24|0)>>2],_[(i=t+(i<<2)|0)>>2]=0,i=1+(i=0|_[6631])|0,_[6631]=i,Ni(i=0|_[(i=e+-4|0)>>2])}function Ge(t,e,i,r,c,a){var l,d,b;if(e|=0,i|=0,r|=0,c|=0,a|=0,_[(t|=0)>>2]=9580,o[t+4>>1]=-2,o[t+6>>1]=-1,_[t+92>>2]=c,_[t+96>>2]=0,n[t+100|0]=0,_[t+104>>2]=0,_[t+108>>2]=0,c||(_[6630]=1+(0|_[6630]),(c=0|di(95))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,Ae(c),_[t+92>>2]=c,n[t+100|0]=1),a||(_[6630]=1+(0|_[6630]),(c=0|di(43))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,_[(a=c+4|0)>>2]=0,_[a+4>>2]=0,_[a+8>>2]=0,_[a+12>>2]=0,_[a+16>>2]=0,_[c>>2]=9644,n[c+20|0]=1,_[c+16>>2]=0,_[c+8>>2]=0,_[c+12>>2]=0,_[t+112>>2]=c,_[6630]=1+(0|_[6630]),(c=0|di(215))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,$t(c,0|_[t+112>>2]),_[t+108>>2]=c,n[c+193|0]=1),_[t+8>>2]=_[e>>2],_[t+8+4>>2]=_[e+4>>2],_[t+8+8>>2]=_[e+8>>2],_[t+8+12>>2]=_[e+12>>2],_[t+24>>2]=_[i>>2],_[t+24+4>>2]=_[i+4>>2],_[t+24+8>>2]=_[i+8>>2],_[t+24+12>>2]=_[i+12>>2],d=(b=+(0|s[t+6>>1]))/(+p[t+28>>2]-+p[t+12>>2]),l=b/(+p[t+32>>2]-+p[t+16>>2]),p[t+40>>2]=b/(+p[t+24>>2]-+p[t+8>>2]),p[t+44>>2]=d,p[t+48>>2]=l,p[t+52>>2]=0,i=r+1&65535,_[6630]=1+(0|_[6630]),(c=0|di(i<<6|19))?(_[(c+4+15&-16)-4>>2]=c,e=c+4+15&-16):e=0,r+1<<16>>16<<16>>16){c=e+(i<<6)|0,a=e;do{_[a>>2]=0,_[a+8>>2]=0,a=a+64|0}while((0|a)!=(0|c))}if(_[t+60>>2]=e,o[t+58>>1]=1+(65535&r),o[t+56>>1]=0,o[t+64>>1]=1,(r+1&65535)>1&&(o[e+112>>1]=2,r+1<<16>>16<<16>>16!=2)){c=2;do{r=c,c=c+1|0,o[e+(r<<6)+48>>1]=c}while((0|c)!=(0|i))}if(o[e+(i+-1<<6)+48>>1]=0,_[6630]=1+(0|_[6630]),(c=0|di(16+(i<<3|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,_[t+80>>2]=c,_[t+68>>2]=c,_[6630]=1+(0|_[6630]),(c=0|di(16+(i<<3|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,_[t+84>>2]=c,_[t+72>>2]=c,_[6630]=1+(0|_[6630]),!(c=0|di(16+(i<<3|3)|0)))return e=0,_[(r=t+88|0)>>2]=e,_[(r=t+76|0)>>2]=e,e=0|_[t+60>>2],_[e>>2]=0,o[(i=e+48|0)>>1]=0,o[(i=e+54|0)>>1]=1,i=0|_[t+68>>2],o[i>>1]=0,o[(a=i+2|0)>>1]=0,a=0|o[t+6>>1],o[(c=i+4|0)>>1]=a,o[(i=i+6|0)>>1]=0,o[(i=e+50|0)>>1]=0,o[(i=e+56|0)>>1]=1,i=0|_[t+72>>2],o[i>>1]=0,o[(c=i+2|0)>>1]=0,c=0|o[t+6>>1],o[(a=i+4|0)>>1]=c,o[(i=i+6|0)>>1]=0,o[(i=e+52|0)>>1]=0,o[(e=e+58|0)>>1]=1,r=0|_[r>>2],o[r>>1]=0,o[(e=r+2|0)>>1]=0,e=0|o[t+6>>1],o[(i=r+4|0)>>1]=e,o[(r=r+6|0)>>1]=0,void(_[t>>2]=9516);_[(c+4+15&-16)-4>>2]=c,e=c+4+15&-16,_[(r=t+88|0)>>2]=e,_[(r=t+76|0)>>2]=e,e=0|_[t+60>>2],_[e>>2]=0,o[(i=e+48|0)>>1]=0,o[(i=e+54|0)>>1]=1,i=0|_[t+68>>2],o[i>>1]=0,o[(a=i+2|0)>>1]=0,a=0|o[t+6>>1],o[(c=i+4|0)>>1]=a,o[(i=i+6|0)>>1]=0,o[(i=e+50|0)>>1]=0,o[(i=e+56|0)>>1]=1,i=0|_[t+72>>2],o[i>>1]=0,o[(c=i+2|0)>>1]=0,c=0|o[t+6>>1],o[(a=i+4|0)>>1]=c,o[(i=i+6|0)>>1]=0,o[(i=e+52|0)>>1]=0,o[(e=e+58|0)>>1]=1,r=0|_[r>>2],o[r>>1]=0,o[(e=r+2|0)>>1]=0,e=0|o[t+6>>1],o[(i=r+4|0)>>1]=e,o[(r=r+6|0)>>1]=0,_[t>>2]=9516}function Ne(t,e,i){t|=0,e|=0,i|=0;var n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0;l=0;do{a=l,c=0|_[e+(((d=3==(0|(l=l+1|0)))?0:l)<<2)>>2],a=0|_[e+(((a+2|0)>>>0)%3<<2)>>2],n=0|_[i>>2],o=0|_[i+4>>2];do{if((0|n)==(0|a)&(0|o)==(0|c))n=2,b=3;else{if((0|n)==(0|c)&(0|o)==(0|a))n=2;else{if((0|o)==(0|a)&(0|(r=0|_[i+8>>2]))==(0|c)){n=0,b=3;break}if((0|o)==(0|c)&(0|r)==(0|a))n=0;else{if(!((0|r)!=(0|a)|(0|n)==(0|c)^1)){n=1,b=3;break}if((0|r)!=(0|c)|(0|n)==(0|a)^1){n=10428;break}n=1}}n=i+12+(n<<2)|0}}while(0);3==(0|b)&&(b=0,n=i+12+(n<<2)|0),p=0|_[n>>2],n=0|_[e>>2],o=0|_[e+4>>2];do{if((0|n)==(0|c)&(0|o)==(0|a))n=2,b=11;else{if((0|n)==(0|a)&(0|o)==(0|c))n=2;else{if((0|o)==(0|c)&(0|(r=0|_[e+8>>2]))==(0|a)){n=0,b=11;break}if((0|o)==(0|a)&(0|r)==(0|c))n=0;else{if(!((0|r)!=(0|c)|(0|n)==(0|a)^1)){n=1,b=11;break}if((0|r)!=(0|a)|(0|n)==(0|c)^1){n=10428;break}n=1}}n=e+12+(n<<2)|0}}while(0);11==(0|b)&&(b=0,n=e+12+(n<<2)|0),s=0|_[t+(_[n>>2]<<2)>>2],n=0|_[s>>2],o=0|_[s+4>>2];do{if((0|n)==(0|a)&(0|o)==(0|c))n=2,b=19;else{if((0|n)==(0|c)&(0|o)==(0|a))n=2;else{if((0|o)==(0|a)&(0|(r=0|_[s+8>>2]))==(0|c)){n=0,b=19;break}if((0|o)==(0|c)&(0|r)==(0|a))n=0;else{if(!((0|r)!=(0|a)|(0|n)==(0|c)^1)){n=1,b=19;break}if((0|r)!=(0|c)|(0|n)==(0|a)^1){n=10428;break}n=1}}n=s+12+(n<<2)|0}}while(0);19==(0|b)&&(b=0,n=s+12+(n<<2)|0),_[n>>2]=p,n=0|_[e>>2],o=0|_[e+4>>2];do{if((0|n)==(0|c)&(0|o)==(0|a))n=2,b=27;else{if((0|n)==(0|a)&(0|o)==(0|c))n=2;else{if((0|o)==(0|c)&(0|(r=0|_[e+8>>2]))==(0|a)){n=0,b=27;break}if((0|o)==(0|a)&(0|r)==(0|c))n=0;else{if(!((0|r)!=(0|c)|(0|n)==(0|a)^1)){n=1,b=27;break}if((0|r)!=(0|a)|(0|n)==(0|c)^1){n=10428;break}n=1}}n=e+12+(n<<2)|0}}while(0);27==(0|b)&&(b=0,n=e+12+(n<<2)|0),p=0|_[n>>2],n=0|_[i>>2],o=0|_[i+4>>2];do{if((0|n)==(0|a)&(0|o)==(0|c))n=2,b=35;else{if((0|n)==(0|c)&(0|o)==(0|a))n=2;else{if((0|o)==(0|a)&(0|(r=0|_[i+8>>2]))==(0|c)){n=0,b=35;break}if((0|o)==(0|c)&(0|r)==(0|a))n=0;else{if(!((0|r)!=(0|a)|(0|n)==(0|c)^1)){n=1,b=35;break}if((0|r)!=(0|c)|(0|n)==(0|a)^1){n=10428;break}n=1}}n=i+12+(n<<2)|0}}while(0);35==(0|b)&&(b=0,n=i+12+(n<<2)|0),s=0|_[t+(_[n>>2]<<2)>>2],o=0|_[s>>2],r=0|_[s+4>>2];do{if((0|o)==(0|c)&(0|r)==(0|a))n=2,b=43;else{if((0|o)==(0|a)&(0|r)==(0|c))n=2;else{if((0|r)==(0|c)&(0|(n=0|_[s+8>>2]))==(0|a)){n=0,b=43;break}if((0|r)==(0|a)&(0|n)==(0|c))n=0;else{if(!((0|n)!=(0|c)|(0|o)==(0|a)^1)){n=1,b=43;break}if((0|n)!=(0|a)|(0|o)==(0|c)^1){n=10428;break}n=1}}n=s+12+(n<<2)|0}}while(0);43==(0|b)&&(b=0,n=s+12+(n<<2)|0),_[n>>2]=p}while(!d)}function Le(t,e,i,o){t|=0,o|=0;var r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;if(!!(0|(e|=0))&!!(0|(i|=0))){if((0|_[t+24>>2])<128&&(0|_[t+28>>2])<128){if(_[6630]=1+(0|_[6630]),(r=0|di(1043))?(_[(r+4+15&-16)-4>>2]=r,c=r+4+15&-16):c=0,(0|(s=0|_[t+24>>2]))>0){r=0;do{l=(0|_[t+32>>2])+(r<<3)|0,d=0|_[l+4>>2],_[(b=c+(r<<3)|0)>>2]=_[l>>2],_[b+4>>2]=d,r=r+1|0}while((0|r)!=(0|s))}0|(r=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=c,_[t+28>>2]=128}_[t+24>>2]=128,r=0|_[t+32>>2],_[r>>2]=e,_[r+4>>2]=i,r=1,s=124;do{if(b=r+-1|0,c=0|_[t+32>>2],l=0|_[c+(b<<3)>>2],d=0|_[c+(b<<3)+4>>2],(0|b)>(0|s)){if((0|(a=0|_[t+24>>2]))>2])>2]=s,i=s+4+15&-16):i=0,(0|(c=0|_[t+24>>2]))>0){s=0;do{f=(0|_[t+32>>2])+(s<<3)|0,A=0|_[f+4>>2],_[(e=i+(s<<3)|0)>>2]=_[f>>2],_[e+4>>2]=A,s=s+1|0}while((0|s)!=(0|c));e=i,c=i}else e=i,c=i;else e=0,c=0;0|(s=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=e,_[t+28>>2]=a<<1}_[t+24>>2]=a<<1,s=(a<<1)-4|0}do{if((0|l)==(0|d))0|_[l+40>>2]?(A=0|_[l+36>>2],_[c+(b<<3)>>2]=A,_[c+(b<<3)+4>>2]=A,A=0|_[l+40>>2],f=r+1|0,b=0|_[t+32>>2],_[b+(r<<3)>>2]=A,_[b+(r<<3)+4>>2]=A,b=0|_[l+40>>2],A=0|_[t+32>>2],_[A+(f<<3)>>2]=_[l+36>>2],_[A+(f<<3)+4>>2]=b,r=r+2|0):r=b;else{if(+p[l>>2]<=+p[d+16>>2]&&+p[l+16>>2]>=+p[d>>2]&&+p[l+4>>2]<=+p[d+20>>2]&&+p[l+20>>2]>=+p[d+4>>2]&&+p[l+8>>2]<=+p[d+24>>2]&&+p[l+24>>2]>=+p[d+8>>2]){if(e=!!(0|_[d+40>>2]),0|_[l+40>>2]){if(i=0|_[l+36>>2],e){f=0|_[d+36>>2],_[c+(b<<3)>>2]=i,_[c+(b<<3)+4>>2]=f,f=0|_[d+36>>2],b=r+1|0,a=0|_[t+32>>2],_[a+(r<<3)>>2]=_[l+40>>2],_[a+(r<<3)+4>>2]=f,a=0|_[d+40>>2],f=r+2|0,A=0|_[t+32>>2],_[A+(b<<3)>>2]=_[l+36>>2],_[A+(b<<3)+4>>2]=a,b=0|_[d+40>>2],A=0|_[t+32>>2],_[A+(f<<3)>>2]=_[l+40>>2],_[A+(f<<3)+4>>2]=b,r=r+3|0;break}_[c+(b<<3)>>2]=i,_[c+(b<<3)+4>>2]=d,f=0|_[t+32>>2],_[f+(r<<3)>>2]=_[l+40>>2],_[f+(r<<3)+4>>2]=d,r=r+1|0;break}if(e){A=0|_[d+36>>2],_[c+(b<<3)>>2]=l,_[c+(b<<3)+4>>2]=A,A=0|_[d+40>>2],f=0|_[t+32>>2],_[f+(r<<3)>>2]=l,_[f+(r<<3)+4>>2]=A,r=r+1|0;break}_d[127&_[8+(0|_[o>>2])>>2]](o,l,d),r=b;break}r=b}}while(0)}while(0|r)}}function Qe(t,e){e|=0;var i,n=0,o=0,r=0;if(i=Q,Q=Q+80|0,_[68+(t|=0)>>2]=1+(0|_[t+68>>2]),0|(r=0|_[t+64>>2])&&(Tt(r,n=0|_[(0|_[t+24>>2])+(80*e|0)+76>>2]),0|(o=0|_[r+4>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])),_[r+4>>2]=n,_[r+12>>2]=(0|_[r+12>>2])-1),r=(0|_[t+16>>2])-1|0,o=0|_[t+24>>2],_[i>>2]=_[o+(80*e|0)>>2],_[i+4>>2]=_[o+(80*e|0)+4>>2],_[i+8>>2]=_[o+(80*e|0)+8>>2],_[i+12>>2]=_[o+(80*e|0)+12>>2],_[i+16>>2]=_[o+(80*e|0)+16>>2],_[i+16+4>>2]=_[o+(80*e|0)+16+4>>2],_[i+16+8>>2]=_[o+(80*e|0)+16+8>>2],_[i+16+12>>2]=_[o+(80*e|0)+16+12>>2],_[i+32>>2]=_[o+(80*e|0)+32>>2],_[i+32+4>>2]=_[o+(80*e|0)+32+4>>2],_[i+32+8>>2]=_[o+(80*e|0)+32+8>>2],_[i+32+12>>2]=_[o+(80*e|0)+32+12>>2],_[i+48>>2]=_[o+(80*e|0)+48>>2],_[i+48+4>>2]=_[o+(80*e|0)+48+4>>2],_[i+48+8>>2]=_[o+(80*e|0)+48+8>>2],_[i+48+12>>2]=_[o+(80*e|0)+48+12>>2],_[i+64>>2]=_[o+(80*e|0)+64>>2],_[i+64+4>>2]=_[o+(80*e|0)+64+4>>2],_[i+64+8>>2]=_[o+(80*e|0)+64+8>>2],_[i+64+12>>2]=_[o+(80*e|0)+64+12>>2],_[o+(80*e|0)>>2]=_[o+(80*r|0)>>2],_[o+(80*e|0)+4>>2]=_[o+(80*r|0)+4>>2],_[o+(80*e|0)+8>>2]=_[o+(80*r|0)+8>>2],_[o+(80*e|0)+12>>2]=_[o+(80*r|0)+12>>2],_[o+(80*e|0)+16>>2]=_[o+(80*r|0)+16>>2],_[o+(80*e|0)+16+4>>2]=_[o+(80*r|0)+16+4>>2],_[o+(80*e|0)+16+8>>2]=_[o+(80*r|0)+16+8>>2],_[o+(80*e|0)+16+12>>2]=_[o+(80*r|0)+16+12>>2],_[o+(80*e|0)+32>>2]=_[o+(80*r|0)+32>>2],_[o+(80*e|0)+32+4>>2]=_[o+(80*r|0)+32+4>>2],_[o+(80*e|0)+32+8>>2]=_[o+(80*r|0)+32+8>>2],_[o+(80*e|0)+32+12>>2]=_[o+(80*r|0)+32+12>>2],_[o+(80*e|0)+48>>2]=_[o+(80*r|0)+48>>2],_[o+(80*e|0)+48+4>>2]=_[o+(80*r|0)+48+4>>2],_[o+(80*e|0)+48+8>>2]=_[o+(80*r|0)+48+8>>2],_[o+(80*e|0)+48+12>>2]=_[o+(80*r|0)+48+12>>2],_[o+(80*e|0)+64>>2]=_[o+(80*r|0)+64>>2],_[o+(80*e|0)+64+4>>2]=_[o+(80*r|0)+64+4>>2],_[o+(80*e|0)+64+8>>2]=_[o+(80*r|0)+64+8>>2],_[o+(80*e|0)+64+12>>2]=_[o+(80*r|0)+64+12>>2],o=0|_[t+24>>2],_[o+(80*r|0)>>2]=_[i>>2],_[o+(80*r|0)+4>>2]=_[i+4>>2],_[o+(80*r|0)+8>>2]=_[i+8>>2],_[o+(80*r|0)+12>>2]=_[i+12>>2],_[o+(80*r|0)+16>>2]=_[i+16>>2],_[o+(80*r|0)+16+4>>2]=_[i+16+4>>2],_[o+(80*r|0)+16+8>>2]=_[i+16+8>>2],_[o+(80*r|0)+16+12>>2]=_[i+16+12>>2],_[o+(80*r|0)+32>>2]=_[i+32>>2],_[o+(80*r|0)+32+4>>2]=_[i+32+4>>2],_[o+(80*r|0)+32+8>>2]=_[i+32+8>>2],_[o+(80*r|0)+32+12>>2]=_[i+32+12>>2],_[o+(80*r|0)+48>>2]=_[i+48>>2],_[o+(80*r|0)+48+4>>2]=_[i+48+4>>2],_[o+(80*r|0)+48+8>>2]=_[i+48+8>>2],_[o+(80*r|0)+48+12>>2]=_[i+48+12>>2],_[o+(80*r|0)+64>>2]=_[i+64>>2],_[o+(80*r|0)+64+4>>2]=_[i+64+4>>2],_[o+(80*r|0)+64+8>>2]=_[i+64+8>>2],_[o+(80*r|0)+64+12>>2]=_[i+64+12>>2],!(0|_[t+64>>2]))return r=(r=0|_[t+16>>2])-1|0,_[t+16>>2]=r,void(Q=i);_[36+(0|_[(0|_[t+24>>2])+(80*e|0)+76>>2])>>2]=e,r=(r=0|_[t+16>>2])-1|0,_[t+16>>2]=r,Q=i}function Ee(t,e,i,n,r,c,a,l,d){t|=0,e|=0,n=+n,r=+r,c=+c,a|=0,l|=0,d|=0;var A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B,W,F,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0;if(j=Q,Q=Q+32|0,S=+p[(i|=0)>>2],A=+p[i+4>>2],h=+p[i+8>>2],g=(n-S)*(y=1/+b(+((n-S)*(n-S)+(r-A)*(r-A)+(c-h)*(c-h))))==0?0xde0b6b000000000:1/((n-S)*y),C=(r-A)*y==0?0xde0b6b000000000:1/((r-A)*y),v=(c-h)*y==0?0xde0b6b000000000:1/((c-h)*y),ot=(S>n?n:S)+ +p[a>>2],nt=(A>r?r:A)+ +p[a+4>>2],it=(h>c?c:h)+ +p[a+8>>2],tt=(S>2],$=(A>2],V=(h>2],ot=ot<(F=+p[t+4>>2])?F:ot,nt=nt<(I=+p[t+8>>2])?I:nt,it=it<(G=+p[t+12>>2])?G:it,et=+p[t+20>>2],B=+p[t+24>>2],M=+p[t+28>>2],w=((et>2])&65535&-2,k=((B>2])&65535&-2,R=((M>2])&65535&-2,f=((et<(tt=tt0){O=0,x=0,T=0|_[t+136>>2];do{x=x+1|0,P=T+6|0,L=0|o[T>>1],E=T+10|0,H=0|o[T+4>>1],Z=T+8|0,U=0|o[T+2>>1],J=(0|_[(Y=T+12|0)>>2])>-1;do{if(((65535&f)>=(65535&L)?(65535&w)<=(0|s[P>>1]):0)&(65535&R)<=(0|s[E>>1])&(65535&m)>=(65535&H)&(65535&k)<=(0|s[Z>>1])&(65535&u)>=(65535&U)){if(tt=+p[t+36>>2],it=+p[t+40>>2],ot=+p[t+44>>2],et=+p[t+4>>2],nt=+p[t+8>>2],G=+p[t+12>>2],p[j+12>>2]=0,N=et+ +(0|s[P>>1])/tt,M=nt+ +(0|s[Z>>1])/it,V=G+ +(0|s[E>>1])/ot,p[j+28>>2]=0,p[j>>2]=+(65535&L)/tt+et-+p[l>>2],p[j+4>>2]=+(65535&U)/it+nt-+p[l+4>>2],p[j+8>>2]=+(65535&H)/ot+G-+p[l+8>>2],p[j+16>>2]=N-+p[a>>2],p[j+20>>2]=M-+p[a+4>>2],p[j+24>>2]=V-+p[a+8>>2],V=+p[i>>2],M=g*(+p[j+((g<0&1)<<4)>>2]-V),V=g*(+p[j+((1&(g<0^1))<<4)>>2]-V),N=+p[i+4>>2],!((G=C*(+p[j+((C<0&1)<<4)+4>>2]-N))>V|M>(N=C*(+p[j+((1&(C<0^1))<<4)+4>>2]-N))||(z=G>M?G:M,X=N>2],(K=v*(+p[j+((v<0&1)<<4)+8>>2]-q))>X|z>(q=v*(+p[j+((1&(v<0^1))<<4)+8>>2]-q))))){if(!(J&(P=(q0?(K>z?K:z)<(c-h)*y*(c-h)+((n-S)*y*(n-S)+(r-A)*y*(r-A)):0))){L=9;break}L=0|_[Y>>2],_d[127&_[8+(0|_[e>>2])>>2]](e,L>>21,2097151&L),L=10;break}P=0,L=9}else P=0,L=9}while(0);9==(0|L)&&(L=0,J|P?L=10:(O=O-(J=0|_[Y>>2])|0,T=T+(0-J<<4)|0)),10==(0|L)&&(O=O+1|0,T=T+16|0)}while((0|O)<(0|d))}else x=0;(0|_[6610])>=(0|x)||(_[6610]=x),Q=j}function He(t,e,i){t|=0,e|=0,i|=0;for(var n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;;){for(A=0|_[t+12>>2],m=0|_[A+((u=(e+i|0)/2|0)<<4)>>2],f=0|_[A+(u<<4)+4>>2],u=0|_[A+(u<<4)+8>>2],n=i,o=e;;){t:do{if(m)for(d=0|_[m+12>>2];;){r=(c=0|_[(l=A+(o<<4)|0)>>2])?0|_[c+12>>2]:-1,s=(a=0|_[A+(o<<4)+4>>2])?0|_[a+12>>2]:-1,p=f?0|_[f+12>>2]:-1;do{if((0|r)<=(0|d)){if((r=(0|s)>(0|p))|(0|c)==(0|m)^1){if((0|c)==(0|m)&r)break;break t}if((0|a)!=(0|f))break t;if((0|_[A+(o<<4)+8>>2])>>>0<=u>>>0)break t}}while(0);o=o+1|0}else for(;;){r=(c=0|_[(l=A+(o<<4)|0)>>2])?0|_[c+12>>2]:-1,s=(a=0|_[A+(o<<4)+4>>2])?0|_[a+12>>2]:-1,p=f?0|_[f+12>>2]:-1;do{if((0|r)<=-1){if((r=(0|s)>(0|p))|1^!(0|c)){if(!(0|c)&r)break;break t}if((0|a)!=(0|f))break t;if((0|_[A+(o<<4)+8>>2])>>>0<=u>>>0)break t}}while(0);o=o+1|0}}while(0);t:do{if(m)for(b=0|_[m+12>>2];;){s=(a=0|_[(r=A+(n<<4)|0)>>2])?0|_[a+12>>2]:-1,p=f?0|_[f+12>>2]:-1,c=(d=0|_[A+(n<<4)+4>>2])?0|_[d+12>>2]:-1;do{if((0|b)<=(0|s)){if((s=(0|p)>(0|c))|(0|m)==(0|a)^1){if((0|m)==(0|a)&s)break;break t}if((0|f)!=(0|d))break t;if((0|_[A+(n<<4)+8>>2])>>>0>=u>>>0)break t}}while(0);n=n+-1|0}else for(;;){s=(a=0|_[(r=A+(n<<4)|0)>>2])?0|_[a+12>>2]:-1,p=f?0|_[f+12>>2]:-1,c=(d=0|_[A+(n<<4)+4>>2])?0|_[d+12>>2]:-1;do{if((0|s)>=-1){if((s=(0|p)>(0|c))|1^!(0|a)){if(!(0|a)&s)break;break t}if((0|f)!=(0|d))break t;if((0|_[A+(n<<4)+8>>2])>>>0>=u>>>0)break t}}while(0);n=n+-1|0}}while(0);if((0|o)<=(0|n)&&(c=0|_[l>>2],a=0|_[A+(o<<4)+4>>2],d=0|_[A+(o<<4)+8>>2],b=0|_[A+(o<<4)+12>>2],_[l>>2]=_[r>>2],_[l+4>>2]=_[r+4>>2],_[l+8>>2]=_[r+8>>2],_[l+12>>2]=_[r+12>>2],A=0|_[t+12>>2],_[A+(n<<4)>>2]=c,_[A+(n<<4)+4>>2]=a,_[A+(n<<4)+8>>2]=d,_[A+(n<<4)+12>>2]=b,n=n+-1|0,o=o+1|0),(0|o)>(0|n))break;A=0|_[t+12>>2]}if((0|n)>(0|e)&&He(t,e,n),!((0|o)<(0|i)))break;e=o}}function Ze(t,e,i,o,r,s,c,a,l){t|=0,i|=0,o|=0,r|=0,s=+s,c|=0,a|=0,l|=0;var d,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;if(d=Q,Q=Q+32|0,e|=0){if((0|(b=0|_[t+44>>2]))<128){if((0|_[t+48>>2])<128){if(_[6630]=1+(0|_[6630]),(A=0|di(531))?(_[(A+4+15&-16)-4>>2]=A,u=A+4+15&-16):u=0,(0|(f=0|_[t+44>>2]))>0){A=0;do{_[u+(A<<2)>>2]=_[(0|_[t+52>>2])+(A<<2)>>2],A=A+1|0}while((0|A)!=(0|f))}0|(A=0|_[t+52>>2])&&(0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[t+52>>2]=0),n[t+56|0]=1,_[t+52>>2]=u,_[t+48>>2]=128,A=t+52|0}else A=t+52|0;do{_[(0|_[A>>2])+(b<<2)>>2]=0,b=b+1|0}while(128!=(0|b));k=t+48|0}else A=t+52|0,k=t+48|0;_[t+44>>2]=128,_[_[A>>2]>>2]=e,f=1,b=126;do{S=f+-1|0,u=0|_[A>>2],w=0|_[u+(S<<2)>>2],C=+p[w+4>>2]-+p[a+4>>2],y=+p[w+8>>2]-+p[a+8>>2],p[d>>2]=+p[w>>2]-+p[a>>2],p[d+4>>2]=C,p[d+8>>2]=y,p[d+12>>2]=0,y=+p[w+20>>2]-+p[c+4>>2],C=+p[w+24>>2]-+p[c+8>>2],p[d+16>>2]=+p[w+16>>2]-+p[c>>2],p[d+20>>2]=y,p[d+24>>2]=C,p[d+28>>2]=0,v=0|_[r>>2],C=+p[i>>2],y=+p[o>>2],g=(+p[d+(v<<4)>>2]-C)*y,C=y*(+p[d+(1-v<<4)>>2]-C),v=0|_[r+4>>2],y=+p[i+4>>2],B=+p[o+4>>2],h=(+p[d+(v<<4)+4>>2]-y)*B,y=B*(+p[d+(1-v<<4)+4>>2]-y);do{if(h>C|g>y||(j=h>g?h:g,R=y>2],I=+p[i+8>>2],B=+p[o+8>>2],(D=(+p[d+(v<<4)+8>>2]-I)*B)>R|j>(I=B*(+p[d+(1-v<<4)+8>>2]-I)))||!((I0&&(D>j?D:j)>2])){ed[127&_[12+(0|_[l>>2])>>2]](l,w),f=S;break}if((0|S)>(0|b)){if((0|(v=0|_[t+44>>2]))>2])>2]=b,m=b+4+15&-16):m=0,(0|(u=0|_[t+44>>2]))>0){b=0;do{_[m+(b<<2)>>2]=_[(0|_[A>>2])+(b<<2)>>2],b=b+1|0}while((0|b)!=(0|u));e=m,b=m}else e=m,b=m;else e=0,b=0;0|(u=0|_[A>>2])&&(0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[A>>2]=0),n[t+56|0]=1,_[A>>2]=e,_[k>>2]=v<<1}else b=u;u=v;do{_[b+(u<<2)>>2]=0,u=u+1|0,b=0|_[A>>2]}while((0|u)!=v<<1);u=b+(S<<2)|0}else u=u+(S<<2)|0;_[t+44>>2]=v<<1,b=(v<<1)-2|0}else u=u+(S<<2)|0;_[u>>2]=_[w+36>>2],_[(0|_[A>>2])+(f<<2)>>2]=_[w+40>>2],f=f+1|0}}while(0)}while(0|f);Q=d}else Q=d}function Ue(t,e,i,n){var o,_,r,s,c,a,l,d,A,m,h,y,g,C,v,S,w,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0;jt(t|=0,(e|=0)+(284*(i|=0)|0)|0,n|=0),o=+p[e+(284*i|0)+52>>2],R=+p[e+(284*i|0)+56>>2],k=+p[e+(284*i|0)+60>>2],w=+p[e+(284*i|0)+76>>2],x=+p[e+(284*i|0)+72>>2],T=+p[e+(284*i|0)+68>>2],m=(w*-R-x*-k)*(F=1/+b(+((x*-o-T*-R)*(x*-o-T*-R)+((w*-R-x*-k)*(w*-R-x*-k)+(T*-k-w*-o)*(T*-k-w*-o))))),A=(T*-k-w*-o)*F,F*=x*-o-T*-R,D=.5*+p[e+(284*i|0)+232>>2],v=1-((B=+u(+D)/+b(+(o*o+R*R+k*k)))*-R*(B*-R*(I=2/((D=+f(+D))*D+(B*-k*(B*-k)+(B*-o*(B*-o)+B*-R*(B*-R))))))+B*-k*(B*-k*I)),C=B*-o*(B*-R*I)-D*(B*-k*I),S=B*-o*(B*-k*I)+D*(B*-R*I),y=B*-o*(B*-R*I)+D*(B*-k*I),h=1-(B*-o*(B*-o*I)+B*-k*(B*-k*I)),g=B*-R*(B*-k*I)-D*(B*-o*I),r=B*-o*(B*-k*I)-D*(B*-R*I),D=B*-R*(B*-k*I)+D*(B*-o*I),I=1-(B*-o*(B*-o*I)+B*-R*(B*-R*I)),B=-.5*+p[e+(284*i|0)+236>>2],s=1-(x*(O=+u(+B)/+b(+(w*w+(x*x+T*T))))*(x*O*(W=2/((B=+f(+B))*B+(w*O*(w*O)+(T*O*(T*O)+x*O*(x*O))))))+w*O*(w*O*W)),_=T*O*(x*O*W)-B*(w*O*W),d=T*O*(w*O*W)+B*(x*O*W),c=T*O*(x*O*W)+B*(w*O*W),j=1-(T*O*(T*O*W)+w*O*(w*O*W)),l=x*O*(w*O*W)-B*(T*O*W),a=T*O*(w*O*W)-B*(x*O*W),B=x*O*(w*O*W)+B*(T*O*W),W=1-(T*O*(T*O*W)+x*O*(x*O*W)),O=+p[e+(284*i|0)+68>>2],x=+p[e+(284*i|0)+72>>2],T=+p[e+(284*i|0)+76>>2],p[e+(284*i|0)+92>>2]=T*(v*d+C*l+S*W)+(O*(S*a+(C*c+v*s))+x*(S*B+(v*_+C*j))),p[e+(284*i|0)+96>>2]=F*(v*d+C*l+S*W)+(m*(S*a+(C*c+v*s))+A*(S*B+(v*_+C*j))),p[e+(284*i|0)+100>>2]=(v*d+C*l+S*W)*-k+((S*a+(C*c+v*s))*-o+(S*B+(v*_+C*j))*-R),p[e+(284*i|0)+104>>2]=0,p[e+(284*i|0)+108>>2]=T*(y*d+l*h+g*W)+(O*(g*a+(c*h+y*s))+x*(g*B+(y*_+h*j))),p[e+(284*i|0)+112>>2]=F*(y*d+l*h+g*W)+(m*(g*a+(c*h+y*s))+A*(g*B+(y*_+h*j))),p[e+(284*i|0)+116>>2]=(y*d+l*h+g*W)*-k+((g*a+(c*h+y*s))*-o+(g*B+(y*_+h*j))*-R),p[e+(284*i|0)+120>>2]=0,p[e+(284*i|0)+124>>2]=T*(r*d+D*l+I*W)+(O*(a*I+(D*c+r*s))+x*(B*I+(r*_+D*j))),p[e+(284*i|0)+128>>2]=F*(r*d+D*l+I*W)+(m*(a*I+(D*c+r*s))+A*(B*I+(r*_+D*j))),p[e+(284*i|0)+132>>2]=(r*d+D*l+I*W)*-k+((a*I+(D*c+r*s))*-o+(B*I+(r*_+D*j))*-R),p[e+(284*i|0)+136>>2]=0,R=R*(j=+p[e+(284*i|0)+32>>2])+ +p[e+(284*i|0)+40>>2],k=k*j+ +p[e+(284*i|0)+44>>2],p[e+(284*i|0)+140>>2]=+p[e+(284*i|0)+36>>2]+o*j,p[e+(284*i|0)+144>>2]=R,p[e+(284*i|0)+148>>2]=k,p[e+(284*i|0)+152>>2]=0}function Ye(t,e,i){e|=0,i|=0;var n,o,r=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;return o=Q,Q=Q+80|0,f=0|_[4+(t|=0)>>2],hd[3&_[16+(0|_[f>>2])>>2]](f,o+76|0,o+72|0,o+68|0,o+64|0,o+60|0,o+56|0,o+52|0,o+48|0,e),f=(0|_[o+60>>2])+(0|g(0|_[o+56>>2],i))|0,m=0|_[t+4>>2],u=!(0|_[o+68>>2]),n=0|_[o+76>>2],3==(0|_[o+48>>2])?(A=0|_[o+64>>2],d=n+(0|g(A,0|s[f+4>>1]))|0,u?(a=+p[d+4>>2]*+p[m+8>>2],l=+p[d>>2]*+p[m+4>>2],b=d+8|0,r=+p[m+12>>2]):(a=+p[m+8>>2]*+c[d+8>>3],l=+p[m+4>>2]*+c[d>>3],b=m+12|0,r=+c[d+16>>3]),r=+p[b>>2]*r,p[o+32>>2]=l,p[o+36>>2]=a,p[o+40>>2]=r,p[o+44>>2]=0,d=n+(0|g(A,0|s[f+2>>1]))|0,u?(a=+p[d+4>>2]*+p[m+8>>2],l=+p[d>>2]*+p[m+4>>2],b=d+8|0,r=+p[m+12>>2]):(a=+p[m+8>>2]*+c[d+8>>3],l=+p[m+4>>2]*+c[d>>3],b=m+12|0,r=+c[d+16>>3]),r=+p[b>>2]*r,p[o+16>>2]=l,p[o+20>>2]=a,p[o+24>>2]=r,p[o+28>>2]=0,b=n+(0|g(A,0|s[f>>1]))|0,u?(a=+p[b+4>>2]*+p[m+8>>2],l=+p[b>>2]*+p[m+4>>2],d=b+8|0,r=+p[m+12>>2]):(a=+p[m+8>>2]*+c[b+8>>3],l=+p[m+4>>2]*+c[b>>3],d=m+12|0,r=+c[b+16>>3]),r=+p[d>>2]*r,p[o>>2]=l,p[(m=o+4|0)>>2]=a,p[(m=o+8|0)>>2]=r,p[(m=o+12|0)>>2]=0,m=0|_[(m=t+8|0)>>2],u=0|_[m>>2],u=0|_[(u=u+8|0)>>2],pd[127&u](m,o,e,i),i=0|_[t+4>>2],t=0|_[i>>2],t=0|_[(t=t+24|0)>>2],ed[127&t](i,e),void(Q=o)):(A=0|_[o+64>>2],d=n+(0|g(A,0|_[f+8>>2]))|0,u?(b=d+8|0,a=+p[d+4>>2]*+p[m+8>>2],l=+p[d>>2]*+p[m+4>>2],r=+p[m+12>>2]):(b=m+12|0,a=+p[m+8>>2]*+c[d+8>>3],l=+p[m+4>>2]*+c[d>>3],r=+c[d+16>>3]),r=+p[b>>2]*r,p[o+32>>2]=l,p[o+36>>2]=a,p[o+40>>2]=r,p[o+44>>2]=0,d=n+(0|g(A,0|_[f+4>>2]))|0,u?(a=+p[d+4>>2]*+p[m+8>>2],l=+p[d>>2]*+p[m+4>>2],b=d+8|0,r=+p[m+12>>2]):(a=+p[m+8>>2]*+c[d+8>>3],l=+p[m+4>>2]*+c[d>>3],b=m+12|0,r=+c[d+16>>3]),r=+p[b>>2]*r,p[o+16>>2]=l,p[o+20>>2]=a,p[o+24>>2]=r,p[o+28>>2]=0,b=n+(0|g(A,0|_[f>>2]))|0,u?(a=+p[b+4>>2]*+p[m+8>>2],l=+p[b>>2]*+p[m+4>>2],d=b+8|0,r=+p[m+12>>2]):(a=+p[m+8>>2]*+c[b+8>>3],l=+p[m+4>>2]*+c[b>>3],d=m+12|0,r=+c[b+16>>3]),r=+p[d>>2]*r,p[o>>2]=l,p[(m=o+4|0)>>2]=a,p[(m=o+8|0)>>2]=r,p[(m=o+12|0)>>2]=0,m=0|_[(m=t+8|0)>>2],u=0|_[m>>2],u=0|_[(u=u+8|0)>>2],pd[127&u](m,o,e,i),i=0|_[t+4>>2],t=0|_[i>>2],t=0|_[(t=t+24|0)>>2],ed[127&t](i,e),void(Q=o))}function Je(t,e,i,o,r,s,c,l){e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,l|=0;var A,f,u,m,h,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0;_[4+(t|=0)>>2]=4,_[t+8>>2]=-1,_[t+12>>2]=-1,p[t+16>>2]=34028234663852886e22,n[t+20|0]=1,n[t+21|0]=0,_[t+24>>2]=-1,_[t+28>>2]=e,_[t+32>>2]=i,p[t+36>>2]=0,p[t+40>>2]=.30000001192092896,_[t+44>>2]=0,_[t>>2]=5604,p[t+688>>2]=0,p[t+692>>2]=-1,p[t+696>>2]=.8999999761581421,p[t+700>>2]=.30000001192092896,p[t+704>>2]=1,p[t+708>>2]=0,p[t+712>>2]=0,n[t+716|0]=0,n[t+736|0]=0,n[t+737|0]=0,n[t+738|0]=0,n[t+739|0]=1,n[t+740|0]=1&l,_[t+748>>2]=0,_[t+600>>2]=_[o>>2],_[t+600+4>>2]=_[o+4>>2],_[t+600+8>>2]=_[o+8>>2],_[t+600+12>>2]=_[o+12>>2],y=+p[e+4>>2],g=+p[e+20>>2],C=+p[e+36>>2],v=+p[s>>2],S=+p[s+4>>2],w=+p[s+8>>2];do{if(!(y*v+g*S+C*w>=.9999998807907104)){if(y*v+g*S+C*w<=-.9999998807907104){i=0|_[e+8>>2],o=0|_[e+40>>2],k=0|_[e+24>>2],j=+p[e+12>>2],D=+p[e+28>>2],R=+p[e+44>>2];break}p[a>>2]=C*S-g*w,i=0|_[a>>2],p[a>>2]=y*w-C*v,k=0|_[a>>2],p[a>>2]=g*v-y*S,o=0|_[a>>2],j=w*(y*w-C*v)-S*(g*v-y*S),D=v*(g*v-y*S)-w*(C*S-g*w),R=S*(C*S-g*w)-v*(y*w-C*v);break}i=0|_[e+8>>2],o=0|_[e+40>>2],k=0|_[e+24>>2],j=-+p[e+12>>2],D=-+p[e+28>>2],R=-+p[e+44>>2]}while(0);p[t+552>>2]=j,_[t+556>>2]=i,_[t+560>>2]=_[s>>2],p[t+564>>2]=0,p[t+568>>2]=D,_[t+572>>2]=k,_[t+576>>2]=_[s+4>>2],p[t+580>>2]=0,p[t+584>>2]=R,_[t+588>>2]=o,_[t+592>>2]=_[s+8>>2],p[t+596>>2]=0,v=+p[s+4>>2],A=+p[c+8>>2],S=+p[s+8>>2],f=+p[c+4>>2],u=+p[c>>2],y=+p[s>>2];do{if(A*S+(v*f+u*y)<-.9999998807907104){if(+d(+S)>.7071067690849304){C=-S*(g=1/+b(+(v*v+S*S))),w=0,g*=v,y=0;break}C=y*(S=1/+b(+(v*v+y*y))),w=0,g=0,y=-v*S;break}C=1/(I=+b(2*(A*S+(v*f+u*y)+1)))*(S*u-A*y),w=.5*I,g=1/I*(f*y-v*u),y=1/I*(v*A-S*f)}while(0);h=j*w+R*C-D*g,v=R*w+D*y-j*C,m=-j*y-D*C-R*g,I=(S=D*w+j*g-R*y)*(R=-g)+(w*h+m*(j=-y))-v*(C=-C),D=v*j+(w*S+m*C)-h*R,j=h*C+(m*R+w*v)-S*j,_[t+664>>2]=_[r>>2],_[t+664+4>>2]=_[r+4>>2],_[t+664+8>>2]=_[r+8>>2],_[t+664+12>>2]=_[r+12>>2],p[t+616>>2]=I,p[t+620>>2]=f*j-A*D,_[t+624>>2]=_[c>>2],p[t+628>>2]=0,p[t+632>>2]=D,p[t+636>>2]=A*I-u*j,_[t+640>>2]=_[c+4>>2],p[t+644>>2]=0,p[t+648>>2]=j,p[t+652>>2]=u*D-f*I,_[t+656>>2]=_[c+8>>2],p[t+660>>2]=0,p[t+732>>2]=l?-1:1}function Xe(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,d,A,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0;if(A=Q,Q=Q+32|0,t|=0){for(d=+p[i>>2]-+p[e>>2],l=+p[i+4>>2]-+p[e+4>>2],o=+p[i+8>>2]-+p[e+8>>2],s=d*(r=1/+b(+(d*d+l*l+o*o)))==0?0xde0b6b000000000:1/(d*r),c=l*r==0?0xde0b6b000000000:1/(l*r),a=o*r==0?0xde0b6b000000000:1/(o*r),_[6630]=1+(0|_[6630]),(i=0|di(531))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,wn(i+4|0,0,508),_[i>>2]=t,w=1,S=126,v=128,j=i,D=128,B=i,g=i,f=i;;){I=0|_[(i=j+((k=w+-1|0)<<2)|0)>>2],_[A>>2]=_[I>>2],_[A+4>>2]=_[I+4>>2],_[A+8>>2]=_[I+8>>2],_[A+12>>2]=_[I+12>>2],_[A+16>>2]=_[I+16>>2],_[A+16+4>>2]=_[I+16+4>>2],_[A+16+8>>2]=_[I+16+8>>2],_[A+16+12>>2]=_[I+16+12>>2],m=+p[e>>2],u=s*(+p[A+((s<0&1)<<4)>>2]-m),m=s*(+p[A+((1&(s<0^1))<<4)>>2]-m),y=+p[e+4>>2],h=c*(+p[A+((c<0&1)<<4)+4>>2]-y),y=c*(+p[A+((1&(c<0^1))<<4)+4>>2]-y);do{if(h>m|u>y||(F=h>u?h:u,W=y>2],(x=a*(+p[A+((a<0&1)<<4)+8>>2]-O))>W|F>(O=a*(+p[A+((1&(a<0^1))<<4)+8>>2]-O)))||!((O0&&(x>F?x:F)>2])){ed[127&_[12+(0|_[n>>2])>>2]](n,I),w=k,i=j,C=D,t=B;break}if((0|k)>(0|S)){if((0|D)<(0|(R=D<<1))){do{if((0|v)<(0|R)){if(D)if(_[6630]=1+(0|_[6630]),(i=0|di(16+(D<<3|3)|0))?(_[(i+4+15&-16)-4>>2]=i,t=i+4+15&-16):t=0,(0|D)>0){i=0;do{_[t+(i<<2)>>2]=_[j+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|D));f=t,i=t}else f=t,i=t,T=18;else f=0,i=0,T=18;if(18==(0|T)&&(T=0,!j)){v=R,g=f,C=f,t=f;break}B?(_[6631]=1+(0|_[6631]),Ni(0|_[B+-4>>2]),v=R,g=f,C=f,t=f):(v=R,g=f,C=f,t=f)}else i=j,C=f,t=B}while(0);wn(i+(D<<2)|0,0,D<<2),S=i+(k<<2)|0,f=C}else S=i,i=j,t=B;k=R+-2|0,C=R}else k=S,S=i,i=j,C=D,t=B;_[S>>2]=_[I+36>>2],_[i+(w<<2)>>2]=_[I+40>>2],w=w+1|0,S=k}}while(0);if(!w)break;j=i,D=C,B=t}!(0|i)|!(0|g)||(_[6631]=1+(0|_[6631]),Ni(0|_[g+-4>>2])),Q=A}else Q=A}function ze(t,e,i){i|=0;var n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;if(!!(0|(t|=0))&!!(0|(e|=0))){for(_[6630]=1+(0|_[6630]),(n=0|di(1043))?(_[(n+4+15&-16)-4>>2]=n,o=n+4+15&-16):o=0,_[o>>2]=t,_[o+4>>2]=e,n=1,e=124,r=128,t=o,a=128,c=o,b=o;;){if(A=0|_[t+((u=n+-1|0)<<3)>>2],f=0|_[t+(u<<3)+4>>2],(0|u)>(0|e)){d=a<<1;do{if((0|a)<(0|d)&(0|r)<(0|d)){if(a)if(_[6630]=1+(0|_[6630]),(e=0|di(16+(a<<4|3)|0))?(_[(e+4+15&-16)-4>>2]=e,o=e+4+15&-16):o=0,(0|a)>0){e=0;do{c=0|_[4+(s=t+(e<<3)|0)>>2],_[(l=o+(e<<3)|0)>>2]=_[s>>2],_[l+4>>2]=c,e=e+1|0}while((0|e)!=(0|a));r=o,t=o}else r=o,e=o,m=13;else r=0,e=0,m=13;if(13==(0|m)){if(m=0,!t){s=d,t=e,o=r,e=r;break}t=e}b?(_[6631]=1+(0|_[6631]),Ni(0|_[b+-4>>2]),s=d,o=r,e=r):(s=d,o=r,e=r)}else s=r,o=c,e=b}while(0);l=d+-4|0,r=s,a=d,c=o,s=e}else l=e,s=b;do{if((0|A)==(0|f))0|_[A+40>>2]?(f=0|_[A+36>>2],_[t+(u<<3)>>2]=f,_[t+(u<<3)+4>>2]=f,f=0|_[A+40>>2],u=n+1|0,_[t+(n<<3)>>2]=f,_[t+(n<<3)+4>>2]=f,f=0|_[A+40>>2],_[t+(u<<3)>>2]=_[A+36>>2],_[t+(u<<3)+4>>2]=f,n=n+2|0):n=u;else{if(+p[A>>2]<=+p[f+16>>2]&&+p[A+16>>2]>=+p[f>>2]&&+p[A+4>>2]<=+p[f+20>>2]&&+p[A+20>>2]>=+p[f+4>>2]&&+p[A+8>>2]<=+p[f+24>>2]&&+p[A+24>>2]>=+p[f+8>>2]){if(e=!!(0|_[f+40>>2]),0|_[A+40>>2]){if(o=0|_[A+36>>2],e){d=0|_[f+36>>2],_[t+(u<<3)>>2]=o,_[t+(u<<3)+4>>2]=d,d=0|_[f+36>>2],b=n+1|0,_[t+(n<<3)>>2]=_[A+40>>2],_[t+(n<<3)+4>>2]=d,d=0|_[f+40>>2],u=n+2|0,_[t+(b<<3)>>2]=_[A+36>>2],_[t+(b<<3)+4>>2]=d,f=0|_[f+40>>2],_[t+(u<<3)>>2]=_[A+40>>2],_[t+(u<<3)+4>>2]=f,n=n+3|0;break}_[t+(u<<3)>>2]=o,_[t+(u<<3)+4>>2]=f,_[t+(n<<3)>>2]=_[A+40>>2],_[t+(n<<3)+4>>2]=f,n=n+1|0;break}if(e){b=0|_[f+36>>2],_[t+(u<<3)>>2]=A,_[t+(u<<3)+4>>2]=b,u=0|_[f+40>>2],_[t+(n<<3)>>2]=A,_[t+(n<<3)+4>>2]=u,n=n+1|0;break}_d[127&_[8+(0|_[i>>2])>>2]](i,A,f),n=u;break}n=u}}while(0);if(!n)break;e=l,b=s}!(0|t)|!(0|c)||(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]))}}function Ke(t,e,i,o,r,s){e|=0,i|=0,o|=0,r|=0,s|=0,_[4+(t|=0)>>2]=6,_[t+8>>2]=-1,_[t+12>>2]=-1,p[t+16>>2]=34028234663852886e22,n[t+20|0]=1,n[t+21|0]=0,_[t+24>>2]=-1,_[t+28>>2]=e,_[t+32>>2]=i,p[t+36>>2]=0,p[t+40>>2]=.30000001192092896,_[t+44>>2]=0,_[t>>2]=5276,_[t+48>>2]=_[o>>2],_[t+48+4>>2]=_[o+4>>2],_[t+48+8>>2]=_[o+8>>2],_[t+48+12>>2]=_[o+12>>2],_[t+64>>2]=_[o+16>>2],_[t+64+4>>2]=_[o+16+4>>2],_[t+64+8>>2]=_[o+16+8>>2],_[t+64+12>>2]=_[o+16+12>>2],_[t+80>>2]=_[o+32>>2],_[t+80+4>>2]=_[o+32+4>>2],_[t+80+8>>2]=_[o+32+8>>2],_[t+80+12>>2]=_[o+32+12>>2],_[t+96>>2]=_[o+48>>2],_[t+96+4>>2]=_[o+48+4>>2],_[t+96+8>>2]=_[o+48+8>>2],_[t+96+12>>2]=_[o+48+12>>2],_[t+112>>2]=_[r>>2],_[t+112+4>>2]=_[r+4>>2],_[t+112+8>>2]=_[r+8>>2],_[t+112+12>>2]=_[r+12>>2],_[t+128>>2]=_[r+16>>2],_[t+128+4>>2]=_[r+16+4>>2],_[t+128+8>>2]=_[r+16+8>>2],_[t+128+12>>2]=_[r+16+12>>2],_[t+144>>2]=_[r+32>>2],_[t+144+4>>2]=_[r+32+4>>2],_[t+144+8>>2]=_[r+32+8>>2],_[t+144+12>>2]=_[r+32+12>>2],_[t+160>>2]=_[r+48>>2],_[t+160+4>>2]=_[r+48+4>>2],_[t+160+8>>2]=_[r+48+8>>2],_[t+160+12>>2]=_[r+48+12>>2],i=48+(e=t+680|0)|0;do{_[e>>2]=0,e=e+4|0}while((0|e)<(0|i));_[t+740>>2]=0,_[t+740+4>>2]=0,_[t+740+8>>2]=0,_[t+740+12>>2]=0,_[t+756>>2]=1045220557,_[t+760>>2]=1045220557,_[t+764>>2]=1045220557,_[t+768>>2]=0,_[t+768+4>>2]=0,_[t+768+8>>2]=0,_[t+768+12>>2]=0,_[t+768+16>>2]=0,p[t+728>>2]=.699999988079071,p[t+732>>2]=1,p[t+736>>2]=.5,n[t+788|0]=0,n[t+788+1|0]=0,n[t+788+2|0]=0,_[t+792>>2]=0,_[t+792+4>>2]=0,_[t+792+8>>2]=0,_[t+808>>2]=0,_[t+808+4>>2]=0,_[t+808+8>>2]=0,p[t+928>>2]=0,p[t+876>>2]=0,p[t+880>>2]=.10000000149011612,p[t+884>>2]=300,p[t+868>>2]=1,p[t+872>>2]=-1,p[t+896>>2]=0,p[t+900>>2]=.20000000298023224,p[t+904>>2]=0,p[t+908>>2]=0,p[t+888>>2]=1,p[t+892>>2]=.5,_[t+924>>2]=0,p[t+916>>2]=0,n[t+912|0]=0,p[t+992>>2]=0,p[t+940>>2]=0,p[t+944>>2]=.10000000149011612,p[t+948>>2]=300,p[t+932>>2]=1,p[t+936>>2]=-1,p[t+960>>2]=0,p[t+964>>2]=.20000000298023224,p[t+968>>2]=0,p[t+972>>2]=0,p[t+952>>2]=1,p[t+956>>2]=.5,_[t+988>>2]=0,p[t+980>>2]=0,n[t+976|0]=0,p[t+1056>>2]=0,p[t+1004>>2]=0,p[t+1008>>2]=.10000000149011612,p[t+1012>>2]=300,p[t+996>>2]=1,p[t+1e3>>2]=-1,p[t+1024>>2]=0,p[t+1028>>2]=.20000000298023224,p[t+1032>>2]=0,p[t+1036>>2]=0,p[t+1016>>2]=1,p[t+1020>>2]=.5,_[t+1052>>2]=0,p[t+1044>>2]=0,n[t+1040|0]=0,n[t+1300|0]=1&s,n[t+1301|0]=1,_[t+1304>>2]=0,n[t+1308|0]=0,Pi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0)}function qe(t,e,i){e|=0,i|=0;var n,o,r,s,c,l,d,A,f,u,m,h,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;if(B=+p[452+(t|=0)>>2],C=(d=+p[t+304>>2])>0|(s=+p[t+300>>2])>0?(0|_[t+288>>2])<4:0,h=0|_[t+720>>2],(f=+p[h+(104*i|0)+88>>2])>0&&(n=0|_[_[t+684>>2]>>2],C&&(k=(u=+p[h+(104*i|0)+40>>2])-+p[e>>2],R=(m=+p[h+(104*i|0)+44>>2])-+p[e+4>>2],S=(I=+p[h+(104*i|0)+48>>2])-+p[e+8>>2],w=+b(+(k*k+R*R+S*S)),k*k+R*R+S*S>1.1920928955078125e-7)))switch(l=k*(1/w),A=R*(1/w),D=S*(1/w),o=+p[h+(104*i|0)+72>>2],r=+p[h+(104*i|0)+76>>2],c=+p[h+(104*i|0)+80>>2],0|_[t+288>>2]){case 2:return g=D*(c*(j=k*o+R*r+S*c<0?-1:1))+(l*(o*j)+A*(r*j)),v=.5*+p[h+(104*i|0)+92>>2],_[a>>2]=n,R=g*(.5*s*(y=+p[a>>2])*(k*k+R*R+S*S)*v),g>0&g<.9847999811172485?(w=(D*(l*(c*j)-D*(o*j))-A*(A*(o*j)-l*(r*j)))*(S=+b(+(1-g*g))*(.5*d*y*w*v)),k=(l*(A*(o*j)-l*(r*j))-D*(D*(r*j)-A*(c*j)))*S,S*=A*(D*(r*j)-A*(c*j))-l*(l*(c*j)-D*(o*j))):(w=0,k=0,S=0),(y=B*(f*(-D*R))*(B*(f*(-D*R)))+(B*(f*(-l*R))*(B*(f*(-l*R)))+B*(f*(-A*R))*(B*(f*(-A*R)))))>0&&y>=u*u+m*m+I*I?(v=(y=+b(+(u*u+m*m+I*I))/+b(+y)*.800000011920929)*(-l*R),g=y*(-D*R),y*=-A*R):(v=-l*R,g=-D*R,y=-A*R),I=y+ +p[h+(104*i|0)+60>>2],B=g+ +p[h+(104*i|0)+64>>2],p[h+(104*i|0)+56>>2]=w+(v+ +p[h+(104*i|0)+56>>2]),p[h+(104*i|0)+60>>2]=k+I,void(p[h+(104*i|0)+64>>2]=S+B);case 1:case 3:case 0:if(!(S*(c*(y=k*o+R*r+S*c<0?-1:1))+(k*(o*y)+R*(r*y))>0))return;return v=l*(s*(j=-(k*k+R*R+S*S)*((S*(c*y)+(k*(o*y)+R*(r*y)))*+p[h+(104*i|0)+92>>2])*.5*(_[a>>2]=n,+p[a>>2])))+(o*y*(d*j)+0),g=A*(s*j)+(r*y*(d*j)+0),B*f*(y=D*(s*j)+(c*y*(d*j)+0))*(B*f*y)+(B*f*v*(B*f*v)+B*f*g*(B*f*g))>u*u+m*m+I*I?(D=1/+b(+(y*y+(v*v+g*g))),p[h+(104*i|0)+56>>2]=+p[h+(104*i|0)+56>>2]-1/(B*f)*(v*D*(I*(y*D)+(u*(v*D)+m*(g*D)))),p[h+(104*i|0)+60>>2]=+p[h+(104*i|0)+60>>2]-1/(B*f)*(g*D*(I*(y*D)+(u*(v*D)+m*(g*D)))),void(p[h+(104*i|0)+64>>2]=+p[h+(104*i|0)+64>>2]-1/(B*f)*(y*D*(I*(y*D)+(u*(v*D)+m*(g*D)))))):(p[h+(104*i|0)+56>>2]=v+ +p[h+(104*i|0)+56>>2],p[h+(104*i|0)+60>>2]=g+ +p[h+(104*i|0)+60>>2],void(p[h+(104*i|0)+64>>2]=y+ +p[h+(104*i|0)+64>>2]));default:return}}function $e(t,e,i,n,o,r,s,c){t|=0,e|=0,n=+n,o=+o,r=+r,s|=0,c|=0;var a,l,d,A,f,u,m,h,y,g,C,v,S,w,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0;w=Q,Q=Q+32|0,a=+p[(i|=0)>>2],d=+p[i+4>>2],l=+p[i+8>>2],P=+p[s>>2],x=+p[s+4>>2],W=+p[s+8>>2],B=+p[c>>2],F=+p[c+4>>2],T=+p[c+8>>2],f=(n-a)*(A=1/+b(+((n-a)*(n-a)+(o-d)*(o-d)+(r-l)*(r-l))))==0?0xde0b6b000000000:1/((n-a)*A),u=(o-d)*A==0?0xde0b6b000000000:1/((o-d)*A),m=(r-l)*A==0?0xde0b6b000000000:1/((r-l)*A),h=(a>n?n:a)+P,y=(d>o?o:d)+x,g=(l>r?r:l)+W,C=(a>2];t:do{if((0|R)>0)for(D=0|_[t+96>>2],k=0,V=0,M=R;;){if(k=k+1|0,_[w>>2]=_[D>>2],_[w+4>>2]=_[D+4>>2],_[w+8>>2]=_[D+8>>2],_[w+12>>2]=_[D+12>>2],O=D+16|0,_[w+16>>2]=_[O>>2],_[w+16+4>>2]=_[O+4>>2],_[w+16+8>>2]=_[O+8>>2],_[w+16+12>>2]=_[O+12>>2],p[w>>2]=+p[w>>2]-B,p[w+4>>2]=+p[w+4>>2]-F,p[w+8>>2]=+p[w+8>>2]-T,p[w+16>>2]=+p[w+16>>2]-P,p[w+20>>2]=+p[w+20>>2]-x,p[w+24>>2]=+p[w+24>>2]-W,R=h>+p[O>>2]||C<+p[D>>2]?0:1,(g>+p[D+24>>2]||S<+p[D+8>>2])&&(R=0),y>+p[D+20>>2]||v<+p[D+4>>2]|1^R||(L=+p[i>>2],N=f*(+p[w+((f<0&1)<<4)>>2]-L),L=f*(+p[w+((1&(f<0^1))<<4)>>2]-L),H=+p[i+4>>2],(E=u*(+p[w+((u<0&1)<<4)+4>>2]-H))>L|N>(H=u*(+p[w+((1&(u<0^1))<<4)+4>>2]-H)))||(Z=E>N?E:N,G=H>2],(U=m*(+p[w+((m<0&1)<<4)+8>>2]-Y))>G|Z>(Y=m*(+p[w+((1&(m<0^1))<<4)+8>>2]-Y)))?(R=0,I=-1==(0|(j=0|_[D+32>>2])),O=16):(R=(Y0?(U>Z?U:Z)<(r-l)*A*(r-l)+((n-a)*A*(n-a)+(o-d)*A*(o-d)):0)&-1==(0|(j=0|_[D+32>>2]))?(_d[127&_[8+(0|_[e>>2])>>2]](e,0|_[D+36>>2],0|_[D+40>>2]),R=0|_[t+56>>2],O=17):(I=-1==(0|j),O=16),16==(0|O)&&(O=0,I|R?(R=M,O=17):(D=D+(j<<6)|0,j=j+V|0,R=M)),17==(0|O)&&(D=D+64|0,j=V+1|0),(0|j)>=(0|R))break t;V=j,M=R,B=+p[c>>2],F=+p[c+4>>2],T=+p[c+8>>2],P=+p[s>>2],x=+p[s+4>>2],W=+p[s+8>>2]}else k=0}while(0);(0|_[6610])>=(0|k)||(_[6610]=k),Q=w}function ti(t,e){e|=0;var i,n,o,r,s,c,a,l,d,b,A,f,u=0,m=0,h=0,y=0,g=0,C=0,v=0;2&_[204+(t|=0)>>2]?(_[t+68>>2]=_[t+4>>2],_[t+68+4>>2]=_[t+4+4>>2],_[t+68+8>>2]=_[t+4+8>>2],_[t+68+12>>2]=_[t+4+12>>2],_[t+84>>2]=_[t+20>>2],_[t+84+4>>2]=_[t+20+4>>2],_[t+84+8>>2]=_[t+20+8>>2],_[t+84+12>>2]=_[t+20+12>>2],_[t+100>>2]=_[t+36>>2],_[t+100+4>>2]=_[t+36+4>>2],_[t+100+8>>2]=_[t+36+8>>2],_[t+100+12>>2]=_[t+36+12>>2],_[t+116>>2]=_[t+52>>2],_[t+116+4>>2]=_[t+52+4>>2],_[t+116+8>>2]=_[t+52+8>>2],_[t+116+12>>2]=_[t+52+12>>2],u=t+20|0,m=e+16|0,h=t+36|0,y=e+32|0,g=t+52|0,C=e+48|0,v=t+4|0):(_[t+68>>2]=_[e>>2],_[t+68+4>>2]=_[e+4>>2],_[t+68+8>>2]=_[e+8>>2],_[t+68+12>>2]=_[e+12>>2],_[t+84>>2]=_[e+16>>2],_[t+84+4>>2]=_[e+16+4>>2],_[t+84+8>>2]=_[e+16+8>>2],_[t+84+12>>2]=_[e+16+12>>2],_[t+100>>2]=_[e+32>>2],_[t+100+4>>2]=_[e+32+4>>2],_[t+100+8>>2]=_[e+32+8>>2],_[t+100+12>>2]=_[e+32+12>>2],_[t+116>>2]=_[e+48>>2],_[t+116+4>>2]=_[e+48+4>>2],_[t+116+8>>2]=_[e+48+8>>2],_[t+116+12>>2]=_[e+48+12>>2],u=t+20|0,m=e+16|0,h=t+36|0,y=e+32|0,g=t+52|0,C=e+48|0,v=t+4|0),_[t+132>>2]=_[t+312>>2],_[t+132+4>>2]=_[t+312+4>>2],_[t+132+8>>2]=_[t+312+8>>2],_[t+132+12>>2]=_[t+312+12>>2],_[t+148>>2]=_[t+328>>2],_[t+148+4>>2]=_[t+328+4>>2],_[t+148+8>>2]=_[t+328+8>>2],_[t+148+12>>2]=_[t+328+12>>2],_[v>>2]=_[e>>2],_[v+4>>2]=_[e+4>>2],_[v+8>>2]=_[e+8>>2],_[v+12>>2]=_[e+12>>2],_[u>>2]=_[m>>2],_[u+4>>2]=_[m+4>>2],_[u+8>>2]=_[m+8>>2],_[u+12>>2]=_[m+12>>2],_[h>>2]=_[y>>2],_[h+4>>2]=_[y+4>>2],_[h+8>>2]=_[y+8>>2],_[h+12>>2]=_[y+12>>2],_[g>>2]=_[C>>2],_[g+4>>2]=_[C+4>>2],_[g+8>>2]=_[C+8>>2],_[g+12>>2]=_[C+12>>2],f=+p[t+4>>2],c=+p[t+396>>2],A=+p[t+8>>2],r=+p[t+400>>2],b=+p[t+12>>2],n=+p[t+404>>2],d=+p[t+20>>2],l=+p[t+24>>2],a=+p[t+28>>2],s=+p[t+36>>2],o=+p[t+40>>2],i=+p[t+44>>2],p[t+264>>2]=f*(f*c)+A*(A*r)+b*(b*n),p[t+268>>2]=f*c*d+A*r*l+b*n*a,p[t+272>>2]=f*c*s+A*r*o+b*n*i,p[t+276>>2]=0,p[t+280>>2]=f*(c*d)+A*(r*l)+b*(n*a),p[t+284>>2]=d*(c*d)+l*(r*l)+a*(n*a),p[t+288>>2]=c*d*s+r*l*o+n*a*i,p[t+292>>2]=0,p[t+296>>2]=f*(c*s)+A*(r*o)+b*(n*i),p[t+300>>2]=d*(c*s)+l*(r*o)+a*(n*i),p[t+304>>2]=s*(c*s)+o*(r*o)+i*(n*i),p[t+308>>2]=0}function ei(t,e,i,n){t|=0,e|=0,i|=0,n|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0,A=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;t:for(;;){if(W=0|_[n+12>>2],(0|e)>0){a=+p[i>>2],s=+p[i+4>>2],c=+p[i+8>>2],o=-1,r=0;do{do{if(0|_[W+(r<<2)>>2]){if(-1!=(0|o)&&!(a*+p[t+(r<<4)>>2]+s*+p[t+(r<<4)+4>>2]+c*+p[t+(r<<4)+8>>2]>a*+p[t+(o<<4)>>2]+s*+p[t+(o<<4)+4>>2]+c*+p[t+(o<<4)+8>>2]))break;o=r}}while(0);r=r+1|0}while((0|r)!=(0|e))}else o=-1;if(3==(0|_[(B=W+(o<<2)|0)>>2])){F=40;break}for(j=+p[i+4>>2],D=+p[i+8>>2],I=+p[i>>2],(s=+b(+((j-0*D)*(j-0*D)+(0*D-I)*(0*D-I)+(0*I-0*j)*(0*I-0*j))))>(c=+b(+((I-0*j)*(I-0*j)+((0*j-D)*(0*j-D)+(0*D-0*I)*(0*D-0*I)))))?(k=1/s*(j-0*D),R=1/s*(0*I-0*j),y=1/s*(0*D-I)):(k=1/c*(0*j-D),R=1/c*(I-0*j),y=1/c*(0*D-0*I)),g=D*y-j*R,C=I*R-D*k,v=j*k-I*y,S=-1==(0|o),h=0,r=-1;;){if(s=I+.02500000037252903*(k*(m=+u(.01745329238474369*(w=+(0|h))))+g*(a=+f(.01745329238474369*w))),c=j+.02500000037252903*(y*m+C*a),a=D+.02500000037252903*(R*m+v*a),(0|e)>0){l=-1,d=0;do{do{if(0|_[W+(d<<2)>>2]){if(-1!=(0|l)&&!(s*+p[t+(d<<4)>>2]+c*+p[t+(d<<4)+4>>2]+a*+p[t+(d<<4)+8>>2]>s*+p[t+(l<<4)>>2]+c*+p[t+(l<<4)+4>>2]+a*+p[t+(l<<4)+8>>2]))break;l=d}}while(0);d=d+1|0}while((0|d)!=(0|e))}else l=-1;if((0|r)==(0|o)&(0|l)==(0|o))break t;e:do{if(!(-1==(0|r)|(0|r)==(0|l))&&w+-40<=w){if((0|e)<=0)for(s=w+-40;;){if((0|r)==(0|o)&S){o=-1;break t}if(!((s+=5)<=w))break e;r=-1}for(m=w+-40;;){s=I+.02500000037252903*(k*(x=+u(+(a=.01745329238474369*m)))+g*(a=+f(+a))),c=j+.02500000037252903*(y*x+C*a),a=D+.02500000037252903*(R*x+v*a),d=-1,A=0;do{do{if(0|_[W+(A<<2)>>2]){if(-1!=(0|d)&&!(s*+p[t+(A<<4)>>2]+c*+p[t+(A<<4)+4>>2]+a*+p[t+(A<<4)+8>>2]>s*+p[t+(d<<4)>>2]+c*+p[t+(d<<4)+4>>2]+a*+p[t+(d<<4)+8>>2]))break;d=A}}while(0);A=A+1|0}while((0|A)!=(0|e));if((0|r)==(0|o)&(0|d)==(0|o))break t;if(!((m+=5)<=w))break;r=d}}}while(0);if((h=h+45|0)>>>0>360)break;r=l}_[B>>2]=0}return 40==(0|F)?0|o:(_[B>>2]=3,0|(F=o))}function ii(t,e,i){e|=0,i|=0;var n,o,r,s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D=0,I=0,B=0;n=Q,Q=Q+160|0,D=0|_[4+(t|=0)>>2],I=0|_[D+12>>2],k=+p[I>>2],w=+p[I+4>>2],S=+p[I+8>>2],v=+p[I+16>>2],C=+p[I+20>>2],g=+p[I+24>>2],b=+p[I+32>>2],l=+p[I+36>>2],c=+p[I+40>>2],D=0|_[24+(0|_[D+4>>2])>>2],y=+p[D+(80*i|0)>>2],h=+p[D+(80*i|0)+16>>2],m=+p[D+(80*i|0)+32>>2],u=+p[D+(80*i|0)+4>>2],f=+p[D+(80*i|0)+20>>2],A=+p[D+(80*i|0)+36>>2],d=+p[D+(80*i|0)+8>>2],a=+p[D+(80*i|0)+24>>2],s=+p[D+(80*i|0)+40>>2],j=+p[D+(80*i|0)+48>>2],R=+p[D+(80*i|0)+52>>2],B=+p[D+(80*i|0)+56>>2],r=+p[I+48>>2]+(k*j+w*R+S*B),o=+p[I+52>>2]+(v*j+C*R+g*B),B=+p[I+56>>2]+(b*j+l*R+c*B),p[n+88>>2]=k*y+w*h+S*m,p[n+88+4>>2]=k*u+w*f+S*A,p[n+88+8>>2]=k*d+w*a+S*s,p[n+88+12>>2]=0,p[n+88+16>>2]=v*y+C*h+g*m,p[n+88+20>>2]=v*u+C*f+g*A,p[n+88+24>>2]=v*d+C*a+g*s,p[n+88+28>>2]=0,p[n+88+32>>2]=b*y+l*h+c*m,p[n+88+36>>2]=b*u+l*f+c*A,p[n+88+40>>2]=b*d+l*a+c*s,p[n+88+44>>2]=0,p[n+88+48>>2]=r,p[n+88+52>>2]=o,p[n+88+56>>2]=B,p[n+88+60>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,n+88|0,n+72|0,n+56|0),I=0|_[t+8>>2],D=0|_[I+4>>2],pd[127&_[8+(0|_[D>>2])>>2]](D,0|_[I+12>>2],n+40|0,n+24|0),D=+p[n+72>>2]>+p[n+24>>2]||+p[n+56>>2]<+p[n+40>>2]?0:1,(+p[n+72+8>>2]>+p[n+24+8>>2]||+p[n+56+8>>2]<+p[n+40+8>>2])&&(D=0),+p[n+72+4>>2]>+p[n+24+4>>2]||+p[n+56+4>>2]<+p[n+40+4>>2]|1^D||(D=0|_[t+4>>2],I=0|_[D+8>>2],_[n>>2]=D,_[n+4>>2]=e,_[n+8>>2]=I,_[n+12>>2]=n+88,_[n+16>>2]=-1,_[n+20>>2]=i,0|_[(0|_[t+24>>2])+(i<<2)>>2]?e=D+8|0:(e=0|_[t+12>>2],e=0|Hl[31&_[8+(0|_[e>>2])>>2]](e,n,0|_[t+8>>2],0|_[t+28>>2]),_[(0|_[t+24>>2])+(i<<2)>>2]=e,e=8+(0|_[t+4>>2])|0),I=0|_[t+20>>2],D=0|_[I+8>>2],(0|_[D+8>>2])==(0|_[e>>2])?(_[I+8>>2]=n,_d[127&_[8+(0|_[I>>2])>>2]](I,-1,i)):(D=0|_[I+12>>2],_[I+12>>2]=n,_d[127&_[12+(0|_[I>>2])>>2]](I,-1,i)),i=0|_[(0|_[t+24>>2])+(i<<2)>>2],dd[31&_[8+(0|_[i>>2])>>2]](i,n,0|_[t+8>>2],0|_[t+16>>2],0|_[t+20>>2]),i=0|_[t+20>>2],_[((0|_[8+(0|_[i+8>>2])>>2])==(0|_[8+(0|_[t+4>>2])>>2])?i+8:i+12)>>2]=D),Q=n}function ni(){0|n[24536]||0|Qs(24536)&&(_[5836]=0,_[5837]=-2147483648,_[5838]=-1082130432,p[5839]=0,_[5840]=1060716128,_[5841]=-1090087446,_[5842]=-1092290076,p[5843]=0,_[5844]=-1098022214,_[5845]=-1084636126,_[5846]=-1092290076,p[5847]=0,_[5848]=-1083901670,_[5849]=-2147483648,_[5850]=-1092290177,p[5851]=0,_[5852]=-1098022214,_[5853]=1062847522,_[5854]=-1092290043,p[5855]=0,_[5856]=1060716128,_[5857]=1057396202,_[5858]=-1092290076,p[5859]=0,_[5860]=1049461434,_[5861]=-1084636126,_[5862]=1055193605,p[5863]=0,_[5864]=-1086767520,_[5865]=-1090087446,_[5866]=1055193572,p[5867]=0,_[5868]=-1086767520,_[5869]=1057396202,_[5870]=1055193572,p[5871]=0,_[5872]=1049461434,_[5873]=1062847522,_[5874]=1055193572,p[5875]=0,_[5876]=1063581978,_[5877]=0,_[5878]=1055193471,p[5879]=0,_[5880]=-2147483648,_[5881]=0,_[5882]=1065353216,p[5883]=0,_[5884]=1054458864,_[5885]=-1096927567,_[5886]=-1084636042,p[5887]=0,_[5888]=-1104782626,_[5889]=-1090519208,_[5890]=-1084636042,p[5891]=0,_[5892]=1049007812,_[5893]=-1085334679,_[5894]=-1090087228,p[5895]=0,_[5896]=1054458864,_[5897]=1050556081,_[5898]=-1084636042,p[5899]=0,_[5900]=1062847505,_[5901]=-2147483648,_[5902]=-1090087262,p[5903]=0,_[5904]=-1090087362,_[5905]=-2147483648,_[5906]=-1084636076,p[5907]=0,_[5908]=-1087361736,_[5909]=-1090519141,_[5910]=-1090087262,p[5911]=0,_[5912]=-1104782626,_[5913]=1056964440,_[5914]=-1084636042,p[5915]=0,_[5916]=-1087361736,_[5917]=1056964507,_[5918]=-1090087262,p[5919]=0,_[5920]=1049007812,_[5921]=1062148969,_[5922]=-1090087228,p[5923]=0,_[5924]=1064532105,_[5925]=1050556148,_[5926]=0,p[5927]=0,_[5928]=1064532105,_[5929]=-1096927500,_[5930]=0,p[5931]=0,_[5932]=1058437413,_[5933]=-1085334595,_[5934]=0,p[5935]=0,_[5936]=0,_[5937]=-1082130432,_[5938]=0,p[5939]=0,_[5940]=-1089046235,_[5941]=-1085334595,_[5942]=0,p[5943]=0,_[5944]=-1082951543,_[5945]=-1096927500,_[5946]=-2147483648,p[5947]=0,_[5948]=-1082951543,_[5949]=1050556148,_[5950]=-2147483648,p[5951]=0,_[5952]=-1089046235,_[5953]=1062149053,_[5954]=-2147483648,p[5955]=0,_[5956]=-2147483648,_[5957]=1065353216,_[5958]=-2147483648,p[5959]=0,_[5960]=1058437413,_[5961]=1062149053,_[5962]=-2147483648,p[5963]=0,_[5964]=1060121912,_[5965]=-1090519141,_[5966]=1057396386,p[5967]=0,_[5968]=-1098475836,_[5969]=-1085334679,_[5970]=1057396420,p[5971]=0,_[5972]=-1084636143,_[5973]=0,_[5974]=1057396386,p[5975]=0,_[5976]=-1098475836,_[5977]=1062148969,_[5978]=1057396420,p[5979]=0,_[5980]=1060121912,_[5981]=1056964507,_[5982]=1057396386,p[5983]=0,_[5984]=1057396286,_[5985]=0,_[5986]=1062847572,p[5987]=0,_[5988]=1042701022,_[5989]=-1090519208,_[5990]=1062847606,p[5991]=0,_[5992]=-1093024784,_[5993]=-1096927567,_[5994]=1062847606,p[5995]=0,_[5996]=-1093024784,_[5997]=1050556081,_[5998]=1062847606,p[5999]=0,_[6e3]=1042701022,_[6001]=1056964440,_[6002]=1062847606,p[6003]=0)}function oi(){0|n[24520]||0|Qs(24520)&&(_[5564]=0,_[5565]=-2147483648,_[5566]=-1082130432,p[5567]=0,_[5568]=1060716128,_[5569]=-1090087446,_[5570]=-1092290076,p[5571]=0,_[5572]=-1098022214,_[5573]=-1084636126,_[5574]=-1092290076,p[5575]=0,_[5576]=-1083901670,_[5577]=-2147483648,_[5578]=-1092290177,p[5579]=0,_[5580]=-1098022214,_[5581]=1062847522,_[5582]=-1092290043,p[5583]=0,_[5584]=1060716128,_[5585]=1057396202,_[5586]=-1092290076,p[5587]=0,_[5588]=1049461434,_[5589]=-1084636126,_[5590]=1055193605,p[5591]=0,_[5592]=-1086767520,_[5593]=-1090087446,_[5594]=1055193572,p[5595]=0,_[5596]=-1086767520,_[5597]=1057396202,_[5598]=1055193572,p[5599]=0,_[5600]=1049461434,_[5601]=1062847522,_[5602]=1055193572,p[5603]=0,_[5604]=1063581978,_[5605]=0,_[5606]=1055193471,p[5607]=0,_[5608]=-2147483648,_[5609]=0,_[5610]=1065353216,p[5611]=0,_[5612]=1054458864,_[5613]=-1096927567,_[5614]=-1084636042,p[5615]=0,_[5616]=-1104782626,_[5617]=-1090519208,_[5618]=-1084636042,p[5619]=0,_[5620]=1049007812,_[5621]=-1085334679,_[5622]=-1090087228,p[5623]=0,_[5624]=1054458864,_[5625]=1050556081,_[5626]=-1084636042,p[5627]=0,_[5628]=1062847505,_[5629]=-2147483648,_[5630]=-1090087262,p[5631]=0,_[5632]=-1090087362,_[5633]=-2147483648,_[5634]=-1084636076,p[5635]=0,_[5636]=-1087361736,_[5637]=-1090519141,_[5638]=-1090087262,p[5639]=0,_[5640]=-1104782626,_[5641]=1056964440,_[5642]=-1084636042,p[5643]=0,_[5644]=-1087361736,_[5645]=1056964507,_[5646]=-1090087262,p[5647]=0,_[5648]=1049007812,_[5649]=1062148969,_[5650]=-1090087228,p[5651]=0,_[5652]=1064532105,_[5653]=1050556148,_[5654]=0,p[5655]=0,_[5656]=1064532105,_[5657]=-1096927500,_[5658]=0,p[5659]=0,_[5660]=1058437413,_[5661]=-1085334595,_[5662]=0,p[5663]=0,_[5664]=0,_[5665]=-1082130432,_[5666]=0,p[5667]=0,_[5668]=-1089046235,_[5669]=-1085334595,_[5670]=0,p[5671]=0,_[5672]=-1082951543,_[5673]=-1096927500,_[5674]=-2147483648,p[5675]=0,_[5676]=-1082951543,_[5677]=1050556148,_[5678]=-2147483648,p[5679]=0,_[5680]=-1089046235,_[5681]=1062149053,_[5682]=-2147483648,p[5683]=0,_[5684]=-2147483648,_[5685]=1065353216,_[5686]=-2147483648,p[5687]=0,_[5688]=1058437413,_[5689]=1062149053,_[5690]=-2147483648,p[5691]=0,_[5692]=1060121912,_[5693]=-1090519141,_[5694]=1057396386,p[5695]=0,_[5696]=-1098475836,_[5697]=-1085334679,_[5698]=1057396420,p[5699]=0,_[5700]=-1084636143,_[5701]=0,_[5702]=1057396386,p[5703]=0,_[5704]=-1098475836,_[5705]=1062148969,_[5706]=1057396420,p[5707]=0,_[5708]=1060121912,_[5709]=1056964507,_[5710]=1057396386,p[5711]=0,_[5712]=1057396286,_[5713]=0,_[5714]=1062847572,p[5715]=0,_[5716]=1042701022,_[5717]=-1090519208,_[5718]=1062847606,p[5719]=0,_[5720]=-1093024784,_[5721]=-1096927567,_[5722]=1062847606,p[5723]=0,_[5724]=-1093024784,_[5725]=1050556081,_[5726]=1062847606,p[5727]=0,_[5728]=1042701022,_[5729]=1056964440,_[5730]=1062847606,p[5731]=0)}function _i(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l=0,d=0,A=0,f=0,u=0;return(A=0|_[9288+(t|=0)>>2])?(0|(l=0|_[A+48>>2])&&(_[l+44>>2]=_[A+44>>2]),0|(l=0|_[A+44>>2])&&(_[l+48>>2]=_[A+48>>2]),(0|_[t+9288>>2])==(0|A)&&(_[t+9288>>2]=_[A+48>>2]),_[t+9292>>2]=(0|_[t+9292>>2])-1,_[A+44>>2]=0,_[A+48>>2]=_[t+9280>>2],0|(l=0|_[t+9280>>2])&&(_[l+44>>2]=A),_[t+9280>>2]=A,_[t+9284>>2]=1+(0|_[t+9284>>2]),n[A+55|0]=0,_[A+20>>2]=e,_[A+24>>2]=i,_[A+28>>2]=o,d=+p[e+16>>2],c=+p[i+16>>2]-d,f=+p[e+20>>2],s=+p[i+20>>2]-f,u=+p[e+24>>2],a=+p[i+24>>2]-u,d=+p[o+16>>2]-d,f=+p[o+20>>2]-f,u=+p[o+24>>2]-u,p[A>>2]=s*u-a*f,p[A+4>>2]=a*d-c*u,p[A+8>>2]=c*f-s*d,p[A+12>>2]=0,(d=+b(+((s*u-a*f)*(s*u-a*f)+(a*d-c*u)*(a*d-c*u)+(c*f-s*d)*(c*f-s*d))))>9999999747378752e-20?(0|vn(+p[A>>2],+p[A+4>>2],+p[A+8>>2],+p[e+16>>2],+p[e+20>>2],+p[e+24>>2],+p[i+16>>2],+p[i+20>>2],+p[i+24>>2],A+16|0)||0|vn(+p[A>>2],+p[A+4>>2],+p[A+8>>2],+p[i+16>>2],+p[i+20>>2],+p[i+24>>2],+p[o+16>>2],+p[o+20>>2],+p[o+24>>2],A+16|0)||0|vn(+p[A>>2],+p[A+4>>2],+p[A+8>>2],+p[o+16>>2],+p[o+20>>2],+p[o+24>>2],+p[e+16>>2],+p[e+20>>2],+p[e+24>>2],A+16|0)||(p[A+16>>2]=(+p[e+16>>2]*+p[A>>2]+ +p[e+20>>2]*+p[A+4>>2]+ +p[e+24>>2]*+p[A+8>>2])/d),p[A>>2]=1/d*+p[A>>2],p[A+4>>2]=1/d*+p[A+4>>2],p[A+8>>2]=1/d*+p[A+8>>2],r||+p[A+16>>2]>=-9999999747378752e-21?0|A:(_[t>>2]=3,0|(l=0|_[A+48>>2])&&(_[l+44>>2]=_[A+44>>2]),0|(l=0|_[A+44>>2])&&(_[l+48>>2]=_[A+48>>2]),(0|_[t+9280>>2])==(0|A)&&(_[t+9280>>2]=_[A+48>>2]),_[t+9284>>2]=(0|_[t+9284>>2])-1,_[A+44>>2]=0,_[A+48>>2]=_[t+9288>>2],0|(l=0|_[t+9288>>2])&&(_[l+44>>2]=A),_[t+9288>>2]=A,_[t+9292>>2]=1+(0|_[t+9292>>2]),0|(A=0))):(_[t>>2]=2,0|(l=0|_[A+48>>2])&&(_[l+44>>2]=_[A+44>>2]),0|(l=0|_[A+44>>2])&&(_[l+48>>2]=_[A+48>>2]),(0|_[t+9280>>2])==(0|A)&&(_[t+9280>>2]=_[A+48>>2]),_[t+9284>>2]=(0|_[t+9284>>2])-1,_[A+44>>2]=0,_[A+48>>2]=_[t+9288>>2],0|(l=0|_[t+9288>>2])&&(_[l+44>>2]=A),_[t+9288>>2]=A,_[t+9292>>2]=1+(0|_[t+9292>>2]),0|(A=0))):(_[t>>2]=5,0|(A=0))}function ri(t,e){e|=0;var i,n=0,o=0,r=0,s=0,c=0,a=0,l=0,A=0,h=0,y=0,g=0,C=0,v=0,S=0;_[556+(t|=0)>>2]=_[e>>2],_[t+556+4>>2]=_[e+4>>2],_[t+556+8>>2]=_[e+8>>2],_[t+556+12>>2]=_[e+12>>2],l=+p[t+568>>2],A=+p[t+560>>2],o=((c=+p[t+564>>2])+0*l-0*(a=+p[t+556>>2]))*-c+(l*(l+0*A-0*c)+(n=-a-0*A-0*c)*-a)-(0*l+0*a-A)*-A,r=(0*l+0*a-A)*-a+(l*(c+0*l-0*a)+n*-A)-(l+0*A-0*c)*-c,0*(n=(l+0*A-0*c)*-A+(n*-c+l*(0*l+0*a-A))-(c+0*l-0*a)*-a)+(0*r+o)<-.9999998807907104?(s=1,n=-0,o=0,r=0):(s=1/(S=+b(2*(0*n+(0*r+o)+1)))*(0*o-n),n=1/S*(0*n-0*r),o=1/S*(r-0*o),r=.5*S),g=n*(h=1/+b(+(n*n+s*s+o*o+r*r))),i=o*h,s=(c*-(y=s*h)+(a*(h*=r)+l*-g)-A*-i)*(v=1/+b(+((l*h-a*-g-A*-y-c*-i)*(l*h-a*-g-A*-y-c*-i)+((A*-g+(c*h+l*-i)-a*-y)*(A*-g+(c*h+l*-i)-a*-y)+((c*-y+(a*h+l*-g)-A*-i)*(c*-y+(a*h+l*-g)-A*-i)+(a*-i+(l*-y+A*h)-c*-g)*(a*-i+(l*-y+A*h)-c*-g)))))),S=(a*-i+(l*-y+A*h)-c*-g)*v,r=(A*-g+(c*h+l*-i)-a*-y)*v,v*=l*h-a*-g-A*-y-c*-i,(o=+p[t+444>>2])>=.05000000074505806&&(C=+p[t+448>>2])>=.05000000074505806?((n=2*+m(+((n=h<-1?-1:h)>1?1:n)))>1.1920928955078125e-7?(c=1/+b(+(i*i+(g*g+y*y))),+d(+y*c)>1.1920928955078125e-7?(l=g*c,a=y*c,A=i*c,o=+b(+(i*c*(i*c)/(y*c*(y*c))+1)/(i*c*(i*c)/(y*c*(y*c))/(o*o)+1/(C*C)))):(l=g*c,a=y*c,A=i*c)):(l=0,a=0,A=0,o=0),+d(+n)>1.1920928955078125e-7?((n>o||n<(o=-o))&&(n=o),y=a*(C=+u(+(h=.5*n))/+b(+(l*l+a*a+A*A))),h=+f(+h),g=l*C,A*=C):A=i):A=i,(l=+p[t+452>>2])>=.05000000074505806?((n=2*+m(+((n=v<-1?-1:v)>1?1:n)))>3.1415927410125732?(n=2*+m(+((n=-v<-1?-1:-v)>1?1:n)),o=-s,c=-S,a=-r):(o=s,c=S,a=r),n>1.1920928955078125e-7&&(o*=C=1/+b(+(o*o+c*c+a*a)),c*=C,a*=C),+d(+n)>1.1920928955078125e-7?(n>l?n=l:n<-l&&(n=-l),s=o*(n=+u(+(S=.5*n))/+b(+(a*a+(c*c+o*o)))),r=a*n,o=+f(+S),n*=c):(o=v,n=S)):(o=v,n=S),p[t+556>>2]=y*r+(h*s+g*o)-A*n,p[t+560>>2]=A*s+(h*n+y*o)-g*r,p[t+564>>2]=g*n+(h*r+A*o)-y*s,p[t+568>>2]=h*o-g*s-y*n-A*r}function si(t,e,i,n,o){t|=0,i|=0,n|=0,o|=0;var r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;if(!(e|=0))return n?o?(_[o>>2]=0|t,_[o+4>>2]=0,o=0,0|(S(0|(n=0)),o)):(o=0,0|(S(0|(n=0)),o)):(0|o&&(_[o>>2]=(t>>>0)%(i>>>0),_[o+4>>2]=0),o=(t>>>0)/(i>>>0)>>>0,0|(S(0|(n=0)),o));do{if(i){if(0|n){if((s=(0|C(0|n))-(0|C(0|e))|0)>>>0<=31){b=s+1|0,p=t>>>((s+1|0)>>>0)&s-31>>31|e<<31-s,d=e>>>((s+1|0)>>>0)&s-31>>31,r=0,s=t<<31-s;break}return o?(_[o>>2]=0|t,_[o+4>>2]=0|e,o=0,0|(S(0|(n=0)),o)):(o=0,0|(S(0|(n=0)),o))}if(i-1&i){b=s=33+(0|C(0|i))-(0|C(0|e))|0,p=32-s-1>>31&e>>>((s-32|0)>>>0)|(e<<32-s|t>>>(s>>>0))&s-32>>31,d=s-32>>31&e>>>(s>>>0),r=t<<64-s&32-s>>31,s=(e<<64-s|t>>>((s-32|0)>>>0))&32-s>>31|t<<32-s&s-33>>31;break}return 0|o&&(_[o>>2]=i-1&t,_[o+4>>2]=0),1==(0|i)?(o=0|t,0|(S(0|(n=0|e)),o)):(n=e>>>((o=0|Gc(0|i))>>>0)|0,o=e<<32-o|t>>>(o>>>0),0|(S(0|n),o))}if(!n)return 0|o&&(_[o>>2]=(e>>>0)%(i>>>0),_[o+4>>2]=0),o=(e>>>0)/(i>>>0)>>>0,0|(S(0|(n=0)),o);if(!t)return 0|o&&(_[o>>2]=0,_[o+4>>2]=(e>>>0)%(n>>>0)),o=(e>>>0)/(n>>>0)>>>0,0|(S(0|(i=0)),o);if(!(n-1&n))return 0|o&&(_[o>>2]=0|t,_[o+4>>2]=n-1&e),i=0,o=e>>>((0|Gc(0|n))>>>0),0|(S(0|i),o);if((s=(0|C(0|n))-(0|C(0|e))|0)>>>0<=30){b=s+1|0,p=e<<31-s|t>>>((s+1|0)>>>0),d=e>>>((s+1|0)>>>0),r=0,s=t<<31-s;break}return o?(_[o>>2]=0|t,_[o+4>>2]=0|e,o=0,0|(S(0|(n=0)),o)):(o=0,0|(S(0|(n=0)),o))}while(0);if(b){a=0|xr(0|i,0|n,-1,-1),l=0|w(),c=s,e=d,t=b,s=0;do{f=c,c=r>>>31|c<<1,r=s|r<<1,Ir(0|a,0|l,0|(f=p<<1|f>>>31),0|(A=p>>>31|e<<1)),s=1&(d=(b=0|w())>>31|((0|b)<0?-1:0)<<1),p=0|Ir(0|f,0|A,d&i,(((0|b)<0?-1:0)>>31|((0|b)<0?-1:0)<<1)&n),e=0|w(),t=t-1|0}while(0|t);t=0}else c=s,e=d,t=0,s=0;return 0|o&&(_[o>>2]=p,_[o+4>>2]=e),f=r<<1&-2|s,0|(S(0|(A=(0|r)>>>31|c<<1|t)),f)}function pi(t,e,i,o){var r;e|=0,i|=0,o|=0,r=Q,Q=Q+48|0,_[8+(t|=0)>>2]=0,p[t+12>>2]=0,_[t>>2]=7820,_[t+48>>2]=e,_[t+4>>2]=21,0|Gl[127&_[40+(0|_[e>>2])>>2]](e)?_d[127&_[48+(0|_[e>>2])>>2]](e,t+16|0,t+32|0):(_[(e=r+32+4|0)>>2]=0,_[e+4>>2]=0,_[e+8>>2]=0,p[r+32>>2]=1,_d[127&_[68+(0|_[t>>2])>>2]](r+16|0,t,r+32|0),p[t+32>>2]=+p[r+16>>2]+ +p[t+12>>2],p[r+32>>2]=-1,_d[127&_[68+(0|_[t>>2])>>2]](r,t,r+32|0),_[r+16>>2]=_[r>>2],_[r+16+4>>2]=_[r+4>>2],_[r+16+8>>2]=_[r+8>>2],_[r+16+12>>2]=_[r+12>>2],p[t+16>>2]=+p[r+16>>2]-+p[t+12>>2],_[r+32>>2]=0,_[r+32+4>>2]=0,_[r+32+8>>2]=0,_[r+32+12>>2]=0,p[e>>2]=1,_d[127&_[68+(0|_[t>>2])>>2]](r+16|0,t,r+32|0),p[t+36>>2]=+p[r+16+4>>2]+ +p[t+12>>2],p[e>>2]=-1,_d[127&_[68+(0|_[t>>2])>>2]](r,t,r+32|0),_[r+16>>2]=_[r>>2],_[r+16+4>>2]=_[r+4>>2],_[r+16+8>>2]=_[r+8>>2],_[r+16+12>>2]=_[r+12>>2],p[t+20>>2]=+p[r+16+4>>2]-+p[t+12>>2],_[r+32>>2]=0,_[r+32+4>>2]=0,_[r+32+8>>2]=0,_[r+32+12>>2]=0,p[r+32+8>>2]=1,_d[127&_[68+(0|_[t>>2])>>2]](r+16|0,t,r+32|0),p[t+40>>2]=+p[r+16+8>>2]+ +p[t+12>>2],p[r+32+8>>2]=-1,_d[127&_[68+(0|_[t>>2])>>2]](r,t,r+32|0),_[r+16>>2]=_[r>>2],_[r+16+4>>2]=_[r+4>>2],_[r+16+8>>2]=_[r+8>>2],_[r+16+12>>2]=_[r+12>>2],p[t+24>>2]=+p[r+16+8>>2]-+p[t+12>>2]),_[t>>2]=7668,_[t+52>>2]=0,_[t+56>>2]=0,n[t+60|0]=1&i,n[t+61|0]=0,_[t+4>>2]=21,o?(_[6630]=1+(0|_[6630]),(e=0|di(191))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,_[e+52>>2]=282,n[e+60|0]=0,n[e+80|0]=1,_[e+76>>2]=0,_[e+68>>2]=0,_[e+72>>2]=0,n[e+100|0]=1,_[e+96>>2]=0,_[e+88>>2]=0,_[e+92>>2]=0,n[e+120|0]=1,_[e+116>>2]=0,_[e+108>>2]=0,_[e+112>>2]=0,n[e+140|0]=1,_[e+136>>2]=0,_[e+128>>2]=0,_[e+132>>2]=0,_[e+144>>2]=0,n[e+164|0]=1,_[e+160>>2]=0,_[e+152>>2]=0,_[e+156>>2]=0,_[e+168>>2]=0,_[e+4>>2]=-8388609,_[e+8>>2]=-8388609,_[e+12>>2]=-8388609,p[e+16>>2]=0,_[e+20>>2]=2139095039,_[e+24>>2]=2139095039,_[e+28>>2]=2139095039,p[e+32>>2]=0,_[e>>2]=8976,_[t+52>>2]=e,xi(e,0|_[t+48>>2],!!(0|n[t+60|0]),t+16|0,t+32|0),n[t+61|0]=1,Q=r):Q=r}function ci(t,e,i){e|=0,i|=0;var n,o,r,s,c,a,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0;if(t|=0){for(o=+p[e>>2],r=+p[e+4>>2],s=+p[e+8>>2],c=+p[e+16>>2],a=+p[e+20>>2],n=+p[e+24>>2],_[6630]=1+(0|_[6630]),(e=0|di(275))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,_[e>>2]=t,y=64,A=1,d=e,b=e,l=e,m=e;;){h=0|_[d+((f=A+-1|0)<<2)>>2];do{if(+p[h>>2]<=c&&+p[h+16>>2]>=o&&+p[h+4>>2]<=a&&+p[h+20>>2]>=r&&+p[h+8>>2]<=n&&+p[h+24>>2]>=s){if(!(0|_[h+40>>2])){ed[127&_[12+(0|_[i>>2])>>2]](i,h),t=y,e=m;break}u=0|_[h+36>>2];do{if((0|f)==(0|y))if((0|A)<=(0|(t=0|y?y<<1:1))){if(0|t&&(_[6630]=1+(0|_[6630]),0|(g=0|di(16+(t<<2|3)|0)))?(_[(g+4+15&-16)-4>>2]=g,l=g+4+15&-16):l=0,(0|A)<=1){if(!d){d=l,A=l,b=l,e=l,f=0;break}}else{e=0;do{_[l+(e<<2)>>2]=_[d+(e<<2)>>2],e=e+1|0}while((0|e)!=(0|y))}m?(_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2]),d=l,A=l,b=l,e=l,f=y):(d=l,A=l,b=l,e=l,f=y)}else t=y,A=l,e=m,f=y;else t=y,A=l,e=m}while(0);_[d+(f<<2)>>2]=u,m=f+1|0,u=0|_[h+40>>2];do{if((0|m)==(0|t)&&(0|t)<(0|(C=0|t?t<<1:1))){if(0|C&&(_[6630]=1+(0|_[6630]),0|(v=0|di(16+(C<<2|3)|0)))?(_[(v+4+15&-16)-4>>2]=v,l=v+4+15&-16):l=0,(0|f)>-1){e=0;do{_[l+(e<<2)>>2]=_[d+(e<<2)>>2],e=e+1|0}while((0|e)!=(0|t));if(!A){t=C,d=l,b=l,A=l,e=l;break}}else if(!(0|d)|!(0|A)){t=C,d=l,b=l,A=l,e=l;break}_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2]),t=C,d=l,b=l,A=l,e=l}}while(0);_[d+(m<<2)>>2]=u,f=f+2|0,l=A}else t=y,e=m}while(0);if((0|f)<=0)break;y=t,A=f,m=e}!(0|d)|!(0|b)||(_[6631]=1+(0|_[6631]),Ni(0|_[b+-4>>2]))}}function ai(t,e,i,o,r){t|=0,e|=0,i|=0,o|=0;var s,c,a,l,d,b,A,f,u,m,h,y,g=0,C=0,v=0,S=0,w=0,k=0;f=-16&n[16+(r|=0)|0],n[r+16|0]=f,u=+p[i>>2],m=+p[e>>2],s=+p[i+4>>2],c=+p[e+4>>2],a=+p[i+8>>2],l=+p[e+8>>2],d=+p[o>>2],b=+p[o+4>>2],A=+p[o+8>>2],h=(u-m)*((S=+p[t>>2])-m)+(s-c)*((w=+p[t+4>>2])-c)+(a-l)*((g=+p[t+8>>2])-l),y=(d-m)*(S-m)+(b-c)*(w-c)+(A-l)*(g-l);do{if(h<=0&y<=0)_[r>>2]=_[e>>2],_[r+4>>2]=_[e+4>>2],_[r+8>>2]=_[e+8>>2],_[r+12>>2]=_[e+12>>2],n[r+16|0]=1|f,C=0,v=0,g=1;else{if(!(!((k=(u-m)*(S-u)+(s-c)*(w-s)+(a-l)*(g-a))>=0)|!((v=(d-m)*(S-u)+(b-c)*(w-s)+(A-l)*(g-a))<=k))){_[r>>2]=_[i>>2],_[r+4>>2]=_[i+4>>2],_[r+8>>2]=_[i+8>>2],_[r+12>>2]=_[i+12>>2],n[r+16|0]=2|f,C=0,v=1,g=0;break}if(k<=0&(h>=0?h*v-k*y<=0:0)){p[r>>2]=m+h/(h-k)*(u-m),p[r+4>>2]=c+h/(h-k)*(s-c),p[r+8>>2]=l+h/(h-k)*(a-l),p[r+12>>2]=0,n[r+16|0]=3|f,C=0,v=h/(h-k),g=1-h/(h-k);break}if(C=(u-m)*(S-d)+(s-c)*(w-b)+(a-l)*(g-A),!(!((g=(d-m)*(S-d)+(b-c)*(w-b)+(A-l)*(g-A))>=0)|!(C<=g))){_[r>>2]=_[o>>2],_[r+4>>2]=_[o+4>>2],_[r+8>>2]=_[o+8>>2],_[r+12>>2]=_[o+12>>2],n[r+16|0]=4|f,C=1,v=0,g=0;break}if(g<=0&(y>=0?C*y-h*g<=0:0)){p[r>>2]=m+y/(y-g)*(d-m),p[r+4>>2]=c+y/(y-g)*(b-c),p[r+8>>2]=l+y/(y-g)*(A-l),p[r+12>>2]=0,n[r+16|0]=5|f,C=y/(y-g),v=0,g=1-y/(y-g);break}if(k*g-C*v<=0&&v-k>=0&&C-g>=0){v=(v-k)/(v-k+(C-g)),p[r>>2]=u+(d-u)*v,p[r+4>>2]=s+(b-s)*v,p[r+8>>2]=a+(A-a)*v,p[r+12>>2]=0,n[r+16|0]=6|f,C=v,v=1-v,g=0;break}w=(C*y-h*g)*(S=1/(h*v-k*y+(k*g-C*v+(C*y-h*g)))),g=(h*v-k*y)*S,p[r>>2]=(d-m)*g+(m+(u-m)*w),p[r+4>>2]=(b-c)*g+(c+(s-c)*w),p[r+8>>2]=(A-l)*g+(l+(a-l)*w),p[r+12>>2]=0,n[r+16|0]=7|f,C=g,v=w,g=1-w-g}}while(0);p[r+20>>2]=g,p[r+24>>2]=v,p[r+28>>2]=C,p[r+32>>2]=0}function li(t,e,i,n,o){t|=0,e|=0,i|=0,n|=0,o|=0;var r,s,c,l,A,f,u,m,h,C,v,S,w,k,R,j,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0,At=0,ft=0,ut=0,mt=0,ht=0,yt=0,gt=0,Ct=0,vt=0,St=0,wt=0,kt=0,Rt=0,jt=0,Dt=0,It=0,Bt=0;if(j=Q,Q=Q+480|0,_[j+48>>2]=_[e>>2],_[j>>2]=_[e+64>>2],_[(o=j+48+4|0)>>2]=_[e+4>>2],_[j+4>>2]=_[e+68>>2],_[(n=j+48+8|0)>>2]=_[e+8>>2],_[j+8>>2]=_[e+72>>2],_[(X=j+48+16|0)>>2]=_[e+16>>2],_[j+16>>2]=_[e+80>>2],_[(B=j+48+20|0)>>2]=_[e+20>>2],_[j+20>>2]=_[e+84>>2],_[(x=j+48+24|0)>>2]=_[e+24>>2],_[j+24>>2]=_[e+88>>2],_[(J=j+48+32|0)>>2]=_[e+32>>2],_[j+32>>2]=_[e+96>>2],_[(_t=j+48+36|0)>>2]=_[e+36>>2],_[j+36>>2]=_[e+100>>2],_[(W=j+48+40|0)>>2]=_[e+40>>2],_[j+40>>2]=_[e+104>>2],Bt=0|_[t+4>>2],S=+p[Bt+28>>2],w=+p[Bt+32>>2],wt=+p[Bt+36>>2],k=+Il[15&_[48+(0|_[Bt>>2])>>2]](Bt),R=+Il[15&_[48+(0|_[Bt>>2])>>2]](Bt),wt=2*(wt+ +Il[15&_[48+(0|_[Bt>>2])>>2]](Bt)),Bt=0|_[t+8>>2],kt=+p[Bt+28>>2],Rt=+p[Bt+32>>2],ct=+p[Bt+36>>2],jt=+Il[15&_[48+(0|_[Bt>>2])>>2]](Bt),Dt=+Il[15&_[48+(0|_[Bt>>2])>>2]](Bt),ct=2*(ct+ +Il[15&_[48+(0|_[Bt>>2])>>2]](Bt)),mt=+p[e+112>>2]-+p[e+48>>2],ht=+p[e+116>>2]-+p[e+52>>2],yt=+p[e+120>>2]-+p[e+56>>2],St=+p[j+48>>2],C=+p[X>>2],v=+p[J>>2],u=+p[o>>2],A=+p[B>>2],f=+p[_t>>2],tt=+p[n>>2],Y=+p[x>>2],$=+p[W>>2],p[j+468>>2]=2*(S+k)*.5,p[j+468+4>>2]=2*(w+R)*.5,p[j+468+8>>2]=.5*wt,p[j+456>>2]=2*(kt+jt)*.5,p[j+456+4>>2]=2*(Rt+Dt)*.5,p[j+456+8>>2]=.5*ct,pt=+p[j>>2],rt=+p[j+16>>2],st=+p[j+32>>2],ft=+p[j+4>>2],bt=+p[j+20>>2],At=+p[j+36>>2],vt=+p[j+8>>2],m=+p[j+24>>2],h=+p[j+40>>2],et=+d(+(St*pt+C*rt+v*st)),at=+d(+(St*ft+C*bt+v*At)),Ct=+d(+(St*vt+C*m+v*h)),it=+d(+(u*pt+A*rt+f*st)),lt=+d(+(u*ft+A*bt+f*At)),s=+d(+(u*vt+A*m+f*h)),c=+d(+(tt*pt+Y*rt+$*st)),l=+d(+(tt*ft+Y*bt+$*At)),dt=+d(+(tt*vt+Y*m+$*h)),(O=+d(+(mt*St+ht*C+yt*v))-(2*(S+k)*.5+2*(kt+jt)*.5*et+2*(Rt+Dt)*.5*at+.5*ct*Ct))>0)Q=j;else if(O>-34028234663852886e22?(z=j+48|0,t=1,K=mt*St+ht*C+yt*v<0&1):(z=0,t=0,K=0,O=-34028234663852886e22),(D=+d(+(mt*u+ht*A+yt*f))-(2*(w+R)*.5+2*(kt+jt)*.5*it+2*(Rt+Dt)*.5*lt+.5*ct*s))>0)Q=j;else if(D>O&&(z=o,t=2,K=mt*u+ht*A+yt*f<0&1,O=D),(D=+d(+(mt*tt+ht*Y+yt*$))-(.5*wt+2*(kt+jt)*.5*c+2*(Rt+Dt)*.5*l+.5*ct*dt))>0)Q=j;else if(D>O&&(z=n,t=3,K=mt*tt+ht*Y+yt*$<0&1,O=D),(D=+d(+(mt*pt+ht*rt+yt*st))-(2*(kt+jt)*.5+(.5*wt*c+(2*(S+k)*.5*et+2*(w+R)*.5*it))))>0)Q=j;else if(D>O&&(z=j,t=4,K=mt*pt+ht*rt+yt*st<0&1,O=D),(D=+d(+(mt*ft+ht*bt+yt*At))-(2*(Rt+Dt)*.5+(.5*wt*l+(2*(S+k)*.5*at+2*(w+R)*.5*lt))))>0)Q=j;else if(D>O&&(z=j+4|0,t=5,K=mt*ft+ht*bt+yt*At<0&1,O=D),(D=+d(+(mt*vt+ht*m+yt*h))-(.5*ct+(.5*wt*dt+(2*(S+k)*.5*Ct+2*(w+R)*.5*s))))>0)Q=j;else if(D>O&&(z=j+8|0,t=6,K=mt*vt+ht*m+yt*h<0&1,O=D),(I=+d(+(D=(mt*tt+ht*Y+yt*$)*(u*pt+A*rt+f*st)-(mt*u+ht*A+yt*f)*(tt*pt+Y*rt+$*st)))-(.5*ct*(at+9999999747378752e-21)+(2*(w+R)*.5*(c+9999999747378752e-21)+.5*wt*(it+9999999747378752e-21)+2*(Rt+Dt)*.5*(Ct+9999999747378752e-21))))>1.1920928955078125e-7)Q=j;else if((T=+b(+((H=(u*pt+A*rt+f*st)*(u*pt+A*rt+f*st))+(V=(tt*pt+Y*rt+$*st)*(tt*pt+Y*rt+$*st)+0))))>1.1920928955078125e-7&&I/T*1.0499999523162842>O?(z=0,t=7,K=D<0&1,O=I/T,F=0/T,I=-(tt*pt+Y*rt+$*st)/T,D=(u*pt+A*rt+f*st)/T):(F=0,I=0,D=0),(P=+d(+(T=(mt*tt+ht*Y+yt*$)*(u*ft+A*bt+f*At)-(mt*u+ht*A+yt*f)*(tt*ft+Y*bt+$*At)))-(.5*ct*(et+9999999747378752e-21)+(2*(w+R)*.5*(l+9999999747378752e-21)+.5*wt*(lt+9999999747378752e-21)+2*(kt+jt)*.5*(Ct+9999999747378752e-21))))>1.1920928955078125e-7)Q=j;else if((M=+b(+((Z=(u*ft+A*bt+f*At)*(u*ft+A*bt+f*At))+(G=(tt*ft+Y*bt+$*At)*(tt*ft+Y*bt+$*At)+0))))>1.1920928955078125e-7&&P/M*1.0499999523162842>O&&(z=0,t=8,K=T<0&1,O=P/M,F=0/M,I=-(tt*ft+Y*bt+$*At)/M,D=(u*ft+A*bt+f*At)/M),(P=+d(+(T=(mt*tt+ht*Y+yt*$)*(u*vt+A*m+f*h)-(mt*u+ht*A+yt*f)*(tt*vt+Y*m+$*h)))-(2*(Rt+Dt)*.5*(et+9999999747378752e-21)+(2*(kt+jt)*.5*(at+9999999747378752e-21)+(2*(w+R)*.5*(dt+9999999747378752e-21)+.5*wt*(s+9999999747378752e-21)))))>1.1920928955078125e-7)Q=j;else if((M=+b(+((U=(u*vt+A*m+f*h)*(u*vt+A*m+f*h))+(L=(tt*vt+Y*m+$*h)*(tt*vt+Y*m+$*h)+0))))>1.1920928955078125e-7&&P/M*1.0499999523162842>O&&(z=0,t=9,K=T<0&1,O=P/M,F=0/M,I=-(tt*vt+Y*m+$*h)/M,D=(u*vt+A*m+f*h)/M),(P=+d(+(T=(mt*St+ht*C+yt*v)*(tt*pt+Y*rt+$*st)-(mt*tt+ht*Y+yt*$)*(St*pt+C*rt+v*st)))-(.5*ct*(lt+9999999747378752e-21)+(2*(S+k)*.5*(c+9999999747378752e-21)+.5*wt*(et+9999999747378752e-21)+2*(Rt+Dt)*.5*(s+9999999747378752e-21))))>1.1920928955078125e-7)Q=j;else{M=+b(+((E=(St*pt+C*rt+v*st)*(St*pt+C*rt+v*st))+V));do{if(M>1.1920928955078125e-7){if(!(P/M*1.0499999523162842>O))break;z=0,t=10,K=T<0&1,O=P/M,F=(tt*pt+Y*rt+$*st)/M,I=0/M,D=-(St*pt+C*rt+v*st)/M}}while(0);if((P=+d(+(T=(mt*St+ht*C+yt*v)*(tt*ft+Y*bt+$*At)-(mt*tt+ht*Y+yt*$)*(St*ft+C*bt+v*At)))-(.5*ct*(it+9999999747378752e-21)+(2*(S+k)*.5*(l+9999999747378752e-21)+.5*wt*(at+9999999747378752e-21)+2*(kt+jt)*.5*(s+9999999747378752e-21))))>1.1920928955078125e-7)Q=j;else{M=+b(+((N=(St*ft+C*bt+v*At)*(St*ft+C*bt+v*At))+G));do{if(M>1.1920928955078125e-7){if(!(P/M*1.0499999523162842>O))break;z=0,t=11,K=T<0&1,O=P/M,F=(tt*ft+Y*bt+$*At)/M,I=0/M,D=-(St*ft+C*bt+v*At)/M}}while(0);if((P=+d(+(T=(mt*St+ht*C+yt*v)*(tt*vt+Y*m+$*h)-(mt*tt+ht*Y+yt*$)*(St*vt+C*m+v*h)))-(2*(Rt+Dt)*.5*(it+9999999747378752e-21)+(2*(kt+jt)*.5*(lt+9999999747378752e-21)+(2*(S+k)*.5*(dt+9999999747378752e-21)+.5*wt*(Ct+9999999747378752e-21)))))>1.1920928955078125e-7)Q=j;else{M=+b(+((V=(St*vt+C*m+v*h)*(St*vt+C*m+v*h))+L));do{if(M>1.1920928955078125e-7){if(!(P/M*1.0499999523162842>O))break;z=0,t=12,K=T<0&1,O=P/M,F=(tt*vt+Y*m+$*h)/M,I=0/M,D=-(St*vt+C*m+v*h)/M}}while(0);if((T=+d(+(P=(mt*u+ht*A+yt*f)*(St*pt+C*rt+v*st)-(mt*St+ht*C+yt*v)*(u*pt+A*rt+f*st)))-(.5*ct*(l+9999999747378752e-21)+(2*(S+k)*.5*(it+9999999747378752e-21)+2*(w+R)*.5*(et+9999999747378752e-21)+2*(Rt+Dt)*.5*(dt+9999999747378752e-21))))>1.1920928955078125e-7)Q=j;else{M=+b(+(H+E+0));do{if(M>1.1920928955078125e-7){if(!(T/M*1.0499999523162842>O))break;z=0,t=13,K=P<0&1,O=T/M,F=-(u*pt+A*rt+f*st)/M,I=(St*pt+C*rt+v*st)/M,D=0/M}}while(0);if((T=+d(+(M=(mt*u+ht*A+yt*f)*(St*ft+C*bt+v*At)-(mt*St+ht*C+yt*v)*(u*ft+A*bt+f*At)))-(.5*ct*(c+9999999747378752e-21)+(2*(S+k)*.5*(lt+9999999747378752e-21)+2*(w+R)*.5*(at+9999999747378752e-21)+2*(kt+jt)*.5*(dt+9999999747378752e-21))))>1.1920928955078125e-7)Q=j;else{P=+b(+(Z+N+0));do{if(P>1.1920928955078125e-7){if(!(T/P*1.0499999523162842>O))break;z=0,t=14,K=M<0&1,O=T/P,F=-(u*ft+A*bt+f*At)/P,I=(St*ft+C*bt+v*At)/P,D=0/P}}while(0);if((T=+d(+(M=(mt*u+ht*A+yt*f)*(St*vt+C*m+v*h)-(mt*St+ht*C+yt*v)*(u*vt+A*m+f*h)))-(2*(Rt+Dt)*.5*(c+9999999747378752e-21)+(2*(kt+jt)*.5*(l+9999999747378752e-21)+(2*(S+k)*.5*(s+9999999747378752e-21)+2*(w+R)*.5*(Ct+9999999747378752e-21)))))>1.1920928955078125e-7)Q=j;else{P=+b(+(U+V+0));do{if(P>1.1920928955078125e-7){if(!(T/P*1.0499999523162842>O)){nt=55;break}t=15,K=M<0&1,O=T/P,F=-(u*vt+A*m+f*h)/P,I=(St*vt+C*m+v*h)/P,D=0/P,nt=58}else nt=55}while(0);do{if(55==(0|nt)){if(!t)return void(Q=j);if(!z){nt=58;break}It=0|_[z>>2],q=0|_[z+16>>2],Bt=0|_[z+32>>2],_[a>>2]=It,D=+p[a>>2],_[a>>2]=q,I=+p[a>>2],ot=t,it=O,t=It,z=q,q=Bt,_[a>>2]=Bt,F=+p[a>>2]}}while(0);if(58==(0|nt)&&(vt=St*F+I*+p[o>>2]+D*+p[n>>2],p[a>>2]=vt,q=0|_[a>>2],St=F*+p[X>>2]+I*+p[B>>2]+D*+p[x>>2],p[a>>2]=St,z=0|_[a>>2],F=F*+p[J>>2]+I*+p[_t>>2]+D*+p[W>>2],ot=t,it=O,t=q,p[a>>2]=F,q=0|_[a>>2],D=vt,I=St),K&&(p[a>>2]=-D,t=0|_[a>>2],p[a>>2]=-I,z=0|_[a>>2],p[a>>2]=-F,q=0|_[a>>2]),(0|ot)>6)return _[a>>2]=t,et=+p[a>>2],_[a>>2]=z,tt=+p[a>>2],_[a>>2]=q,$=+p[a>>2],D=2*(S+k)*.5*((G=+p[j+48>>2])*et+(L=+p[X>>2])*tt+(T=+p[J>>2])*$>0?1:-1),H=2*(w+R)*.5*((I=+p[o>>2])*et+(N=+p[B>>2])*tt+(V=+p[_t>>2])*$>0?1:-1),F=.5*wt*((Z=+p[n>>2])*et+(U=+p[x>>2])*tt+(Y=+p[W>>2])*$>0?1:-1),Z=+p[e+48>>2]+D*G+H*I+F*Z,U=+p[e+52>>2]+D*L+H*N+F*U,Y=+p[e+56>>2]+D*T+H*V+F*Y,_[j+352>>2]=_[e+112>>2],_[j+352+4>>2]=_[e+112+4>>2],_[j+352+8>>2]=_[e+112+8>>2],T=2*(kt+jt)*.5*((F=+p[j>>2])*et+(V=+p[j+16>>2])*tt+(H=+p[j+32>>2])*$>0?-1:1),I=2*(Rt+Dt)*.5*((D=+p[j+4>>2])*et+(N=+p[j+20>>2])*tt+(L=+p[j+36>>2])*$>0?-1:1),N=+p[j+352+4>>2]+T*V+I*N,L=+p[j+352+8>>2]+T*H+I*L,E=((H=+p[j+8>>2])*et+(V=+p[j+24>>2])*tt+(G=+p[j+40>>2])*$>0?-1:1)*+p[j+456+8>>2],H=+p[j+352>>2]+T*F+I*D+E*H,p[j+352>>2]=H,p[j+352+4>>2]=N+E*V,p[j+352+8>>2]=L+E*G,D=+p[j+48+((0|(Bt=ot+-7|0))/3<<2)>>2],I=+p[j+48+(4+((0|Bt)/3|0)<<2)>>2],F=+p[j+48+(8+((0|Bt)/3|0)<<2)>>2],Bt=Bt+(0|g((0|Bt)/3|0,-3))|0,D=(O=1-(D*(T=+p[j+(Bt<<2)>>2])+I*(P=+p[j+(Bt+4<<2)>>2])+F*(M=+p[j+(Bt+8<<2)>>2]))*(D*T+I*P+F*M))<=9999999747378752e-20?0:1/O*(((H-Z)*D+(N+E*V-U)*I+(L+E*G-Y)*F)*(D*T+I*P+F*M)-((H-Z)*T+(N+E*V-U)*P+(L+E*G-Y)*M)),p[j+352>>2]=H+D*T,p[j+352+4>>2]=N+E*V+D*P,p[j+352+8>>2]=L+E*G+D*M,Bt=0|_[16+(0|_[i>>2])>>2],p[j+320>>2]=-et,p[j+320+4>>2]=-tt,p[j+320+8>>2]=-$,p[j+320+12>>2]=0,rd[15&Bt](i,j+320|0,j+352|0,it),void(Q=j);switch(It=(0|ot)<4,_[a>>2]=t,Ct=+p[a>>2],It?(_[a>>2]=z,ht=+p[a>>2],nt=j+456|0,ut=j+468|0,K=e+112|0,Bt=e+48|0,X=j+16|0,J=j+32|0,gt=j,e=j+48|0,x=j+24|0,W=j+40|0,B=j+20|0,t=j+36|0,o=j+4|0,n=j+8|0,mt=Ct,_[a>>2]=q,yt=+p[a>>2]):(_[a>>2]=z,ht=-+p[a>>2],nt=j+468|0,ut=j+456|0,K=e+48|0,Bt=e+112|0,gt=j+48|0,e=j,t=_t,mt=-Ct,_[a>>2]=q,yt=-+p[a>>2]),L=mt*+p[gt>>2]+ht*+p[X>>2]+yt*+p[J>>2],p[j+440>>2]=L,E=mt*+p[o>>2]+ht*+p[B>>2]+yt*+p[t>>2],p[j+440+4>>2]=E,H=mt*+p[n>>2]+ht*+p[x>>2]+yt*+p[W>>2],p[j+440+8>>2]=H,L=+d(+L),E=+d(+E),H=+d(+H),r=(E>L?E>H:L>H)?2:1,F=+p[nt+((n=E>L?E>H?1:2:L>H?0:2)<<2)>>2],D=+p[K>>2]-+p[Bt>>2],I=F*+p[gt+(n<<2)>>2],+p[j+440+(n<<2)>>2]<0?(ft=+p[K+8>>2]-+p[Bt+8>>2]+F*+p[gt+((8|n)<<2)>>2],At=D+I,bt=+p[K+4>>2]-+p[Bt+4>>2]+F*+p[gt+((4|n)<<2)>>2]):(ft=+p[K+8>>2]-+p[Bt+8>>2]-F*+p[gt+((8|n)<<2)>>2],At=D-I,bt=+p[K+4>>2]-+p[Bt+4>>2]-F*+p[gt+((4|n)<<2)>>2]),0|(ot=(It?-1:-4)+ot|0)){case 0:o=2,n=1;break;case 1:o=2,n=0;break;default:o=1,n=0}dt=At*(lt=+p[(_t=e+(n<<2)|0)>>2])+bt*(ct=+p[_t+16>>2])+ft*(at=+p[_t+32>>2]),pt=At*(it=+p[(e=e+(o<<2)|0)>>2])+bt*(Z=+p[e+16>>2])+ft*(U=+p[e+32>>2]),st=+p[(e=gt+((L>H&(E>L^1)&1)<<2)|0)>>2],tt=+p[e+16>>2],et=+p[e+32>>2],rt=+p[(_t=gt+(r<<2)|0)>>2],Y=+p[_t+16>>2],$=+p[_t+32>>2],P=dt-(lt*st+ct*tt+at*et)*(N=+p[nt+((L>H&(E>L^1)&1)<<2)>>2])-(V=(lt*rt+ct*Y+at*$)*(G=+p[nt+(r<<2)>>2])),M=pt-(it*st+Z*tt+U*et)*N-(G*=it*rt+Z*Y+U*$),D=dt-(lt*st+ct*tt+at*et)*N+V,p[j+416>>2]=D,F=pt-(it*st+Z*tt+U*et)*N+G,O=dt+(lt*st+ct*tt+at*et)*N+V,T=pt+(it*st+Z*tt+U*et)*N+G,V=dt+(lt*st+ct*tt+at*et)*N-V,G=pt+(it*st+Z*tt+U*et)*N-G,X=0|_[ut+(n<<2)>>2],K=0|_[ut+(o<<2)>>2],_[a>>2]=X,N=+p[a>>2];do{if(N>-P){if(p[j+256>>2]=P,p[j+256+4>>2]=M,!(N>-D)){o=j+256+8|0,n=2,t=N>-D,I=-D,nt=78;break}p[j+256+8>>2]=D,p[j+256+8+4>>2]=F,o=j+256+8|0,n=2,nt=152}else N>-D?(o=j+256|0,n=1,t=1,I=-D,nt=78):(o=j+256|0,n=0,I=-D,nt=153)}while(0);do{if(78==(0|nt)){if(p[o+4>>2]=M+(F-M)/(D-P)*(-N-P),p[o>>2]=-N,o=o+8|0,!t){nt=153;break}p[o>>2]=D,p[o+4>>2]=F,n+1&8?(n=n+1|0,nt=102):(n=n+1|0,nt=152)}}while(0);152==(0|nt)&&(o=o+8|0,I=-(D=+p[j+416>>2]),nt=153);t:do{if(153==(0|nt)){if(I-O){if(p[o+4>>2]=F+(T-F)/(O-D)*(-N-D),p[o>>2]=-N,8&(n=n+1|0)){nt=102;break}o=o+8|0}if(N>-O){if(p[o>>2]=O,p[o+4>>2]=T,8&(n=n+1|0)){nt=102;break}o=o+8|0,N>-O^N>-V?(t=N>-V,nt=159):(t=N>-V,nt=161)}else N>-O^N>-V?(t=N>-V,nt=159):(t=N>-V,nt=161);if(159==(0|nt)){if(p[o+4>>2]=T+(G-T)/(V-O)*(-N-O),p[o>>2]=-N,8&(n=n+1|0)){nt=102;break}o=o+8|0,nt=t?162:163}else 161==(0|nt)&&(nt=t?162:163);do{if(162==(0|nt)){if(p[o>>2]=V,p[o+4>>2]=G,8&(n=n+1|0)){nt=102;break t}t^N>-P?(o=o+8|0,nt=165):nt=167}else if(163==(0|nt)){if(N>-P){nt=165;break}(0|n)>0?nt=167:(n=0,nt=79)}}while(0);if(165==(0|nt)){if(p[o+4>>2]=G+(M-G)/(P-V)*(-N-V),p[o>>2]=-N,8&(n=n+1|0)){nt=102;break}nt=167}e:do{if(167==(0|nt)){for(t=j+352|0,J=j+256|0,o=0;;){if((D=+p[J>>2])>2]=D,_[t+4>>2]=_[J+4>>2],8&(o=o+1|0)){n=o,nt=79;break e}t=t+8|0,D=+p[J>>2]}if(B=J,J=J+8|0,D1)?J:j+256|0)>>2])>2],p[t+4>>2]=Dt+(N-D)*((+p[W+4>>2]-Dt)/(I-D)),_[t>>2]=X,8&(o=o+1|0)){n=o,nt=79;break e}t=t+8|0}if(!x)break;n=n+-1|0}if((0|o)<=0){n=0,nt=79;break}for(_[a>>2]=K,O=+p[a>>2],t=j+256|0,J=j+352|0,n=0;;){if(O>-(D=+p[(B=J+4|0)>>2])){if(_[t>>2]=_[J>>2],_[t+4>>2]=_[B>>2],8&(n=n+1|0))break e;t=t+8|0,F=-(D=+p[B>>2])}else F=-D;if(B=J,J=J+8|0,F-(I=+p[(W=(x=(0|o)>1)?J:j+352|0)+4>>2])){if(Dt=+p[B>>2],p[t>>2]=Dt+(-O-D)*((+p[W>>2]-Dt)/(I-D)),p[t+4>>2]=-O,8&(n=n+1|0))break e;t=t+8|0}if(!x)break;o=o+-1|0}if((0|n)<=0){n=0,nt=79;break}for(x=n,o=j+352|0,J=j+256|0,n=0;;){if((D=+p[(t=J+4|0)>>2])>2]=_[J>>2],_[o+4>>2]=_[t>>2],8&(n=n+1|0)){nt=79;break e}o=o+8|0,D=+p[t>>2]}if(t=J,J=J+8|0,D1)?J:j+256|0)+4>>2])>2],p[o>>2]=Dt+(O-D)*((+p[B>>2]-Dt)/(I-D)),_[o+4>>2]=K,8&(n=n+1|0)){nt=79;break e}o=o+8|0}if(!W){nt=79;break}x=x+-1|0}}}while(0);79==(0|nt)&&_e(j+256|0,j+352|0,n<<3),(0|n)>=1&&(nt=104)}}while(0);if(102==(0|nt)&&(nt=104),104==(0|nt)){N=1/((lt*st+ct*tt+at*et)*(it*rt+Z*Y+U*$)-(it*st+Z*tt+U*et)*(lt*rt+ct*Y+at*$)),G=+p[ut+(ot<<2)>>2],V=+p[e>>2],T=+p[_t>>2],P=+p[gt+((L>H&(E>L^1)&1|4)<<2)>>2],M=+p[gt+((4|r)<<2)>>2],O=+p[gt+((L>H&(E>L^1)&1|8)<<2)>>2],F=+p[gt+((8|r)<<2)>>2],x=0,t=0;do{Rt=At+(kt=(it*rt+Z*Y+U*$)*N*((D=+p[j+256+((o=t<<1)<<2)>>2])-dt)-(lt*rt+ct*Y+at*$)*N*((I=+p[j+256+((1|o)<<2)>>2])-pt))*V+(Dt=(lt*st+ct*tt+at*et)*N*(I-pt)-(it*st+Z*tt+U*et)*N*(D-dt))*T,p[j+160+((o=3*x|0)<<2)>>2]=Rt,jt=bt+kt*P+Dt*M,p[j+160+(o+1<<2)>>2]=jt,Dt=ft+kt*O+Dt*F,p[j+160+(o+2<<2)>>2]=Dt,Dt=G-(mt*Rt+ht*jt+yt*Dt),p[j+128+(x<<2)>>2]=Dt,o=x<<1,Dt>=0&&(p[j+256+(o<<2)>>2]=D,p[j+256+((1|o)<<2)>>2]=I,x=x+1|0),t=t+1|0}while((0|t)!=(0|n));t:do{if((0|x)>=1){if((0|x)<=(0|(X=(0|(J=(0|x)<4?x:4))>1?J:1)))if(It){for(o=Bt+4|0,t=Bt+8|0,_[a>>2]=z,I=-+p[a>>2],_[a>>2]=q,D=-+p[a>>2],n=0;;)if(It=3*n|0,p[j+352>>2]=+p[j+160+(It<<2)>>2]+ +p[Bt>>2],p[j+352+4>>2]=+p[j+160+(It+1<<2)>>2]+ +p[o>>2],p[j+352+8>>2]=+p[j+160+(It+2<<2)>>2]+ +p[t>>2],It=0|_[16+(0|_[i>>2])>>2],p[j+320>>2]=-Ct,p[j+320+4>>2]=I,p[j+320+8>>2]=D,p[j+320+12>>2]=0,rd[15&It](i,j+320|0,j+352|0,-+p[j+128+(n<<2)>>2]),(0|(n=n+1|0))==(0|x))break t}else for(o=Bt+4|0,t=Bt+8|0,_[a>>2]=z,I=+p[a>>2],_[a>>2]=q,D=+p[a>>2],n=0;;)if(It=3*n|0,Dt=+p[j+128+(n<<2)>>2],p[j+352>>2]=+p[j+160+(It<<2)>>2]+ +p[Bt>>2]-Dt*Ct,p[j+352+4>>2]=+p[j+160+(It+1<<2)>>2]+ +p[o>>2]-Dt*I,p[j+352+8>>2]=+p[j+160+(It+2<<2)>>2]+ +p[t>>2]-Dt*D,It=0|_[16+(0|_[i>>2])>>2],p[j+320>>2]=-Ct,p[j+320+4>>2]=-I,p[j+320+8>>2]=-D,p[j+320+12>>2]=0,rd[15&It](i,j+320|0,j+352|0,-Dt),(0|(n=n+1|0))==(0|x))break t;e:do{if((0|x)>1){for(D=+p[j+128>>2],n=0,o=1;n=(t=(I=+p[j+128+(o<<2)>>2])>D)?o:n,(0|(o=o+1|0))!=(0|x);)D=t?I:D;switch(0|x){case 1:o=1,t=j+96|0,B=j+96|0,nt=120;break e;case 2:D=.5*(+p[j+256+4>>2]+ +p[j+256+12>>2]),I=.5*(+p[j+256>>2]+ +p[j+256+8>>2]),o=2,t=j+96|0,B=j+96|0,nt=124;break e}t=x+-1|0,M=0,V=0,D=0,o=0;do{D+=(kt=+p[j+256+((gt=o<<1)<<2)>>2])*(Rt=+p[j+256+(gt+3<<2)>>2])-(jt=+p[j+256+(gt+2<<2)>>2])*(Dt=+p[j+256+((1|gt)<<2)>>2]),V+=(kt+jt)*(kt*Rt-jt*Dt),M+=(Rt+Dt)*(kt*Rt-jt*Dt),o=o+1|0}while((0|o)!=(0|t));if(F=+p[j+256+((gt=x<<1)-2<<2)>>2],O=+p[j+256+4>>2],T=+p[j+256>>2],P=+p[j+256+(gt+-1<<2)>>2],I=(gt=+d(+(I=D+(F*O-T*P)))>1.1920928955078125e-7)?1/(3*I):0xde0b6b000000000,(0|x)>0){D=(M+(O+P)*(F*O-T*P))*I,I*=V+(F+T)*(F*O-T*P),t=j+96|0,B=j+96|0,W=j+352|0,nt=127;break}W=n,n=j+96|0,o=0}else n=0,o=x,t=j+96|0,B=j+96|0,nt=120}while(0);if(120==(0|nt)&&(D=+p[j+256+4>>2],I=+p[j+256>>2],nt=124),124==(0|nt)&&(x=o,W=j+352|0,nt=127),127==(0|nt)){o=0;do{Dt=+y(+(+p[j+256+((1|(gt=o<<1))<<2)>>2]-D),+(+p[j+256+(gt<<2)>>2]-I)),p[j+352+(o<<2)>>2]=Dt,o=o+1|0}while((0|o)!=(0|x));o=0;do{_[j+320+(o<<2)>>2]=1,o=o+1|0}while((0|o)!=(0|x));W=n,n=t,o=1}_[(t=j+320+(W<<2)|0)>>2]=0,_[n>>2]=W;e:do{if((0|J)>1){if(O=+p[j+352+(W<<2)>>2],!o)for(n=1,o=j+96+4|0;;){if(_[o>>2]=W,_[t>>2]=0,(0|(n=n+1|0))==(0|X))break e;o=o+4|0}for(o=1,t=j+96+4|0;;){for(F=(F=6.2831854820251465/+(0|X)*+(0|o)+O)>3.1415927410125732?F+-6.2831854820251465:F,_[t>>2]=W,I=1e9,B=0,n=W;;){do{if(0|_[j+320+(B<<2)>>2]){if(!((D=(D=+d(+(+p[j+352+(B<<2)>>2]-F)))>3.1415927410125732?6.2831854820251465-D:D)>2]=B,n=B}else D=I}while(0);if((0|(B=B+1|0))==(0|x))break;I=D}if(_[j+320+(n<<2)>>2]=0,(0|(o=o+1|0))==(0|X))break;t=t+4|0}}}while(0);if((0|X)>0)if(o=Bt+4|0,t=Bt+8|0,_[a>>2]=z,I=+p[a>>2],_[a>>2]=q,D=+p[a>>2],It){n=0;do{It=0|_[j+96+(n<<2)>>2],p[j+352>>2]=+p[j+160+(3*It<<2)>>2]+ +p[Bt>>2],p[j+352+4>>2]=+p[j+160+(1+(3*It|0)<<2)>>2]+ +p[o>>2],p[j+352+8>>2]=+p[j+160+(2+(3*It|0)<<2)>>2]+ +p[t>>2],gt=0|_[16+(0|_[i>>2])>>2],p[j+320>>2]=-Ct,p[j+320+4>>2]=-I,p[j+320+8>>2]=-D,p[j+320+12>>2]=0,rd[15>](i,j+320|0,j+352|0,-+p[j+128+(It<<2)>>2]),n=n+1|0}while(n>>>0>>0)}else{n=0;do{gt=0|_[j+96+(n<<2)>>2],kt=+p[j+160+(3*gt<<2)>>2]+ +p[Bt>>2],p[j+352>>2]=kt,Rt=+p[j+160+(1+(3*gt|0)<<2)>>2]+ +p[o>>2],p[j+352+4>>2]=Rt,jt=+p[j+160+(2+(3*gt|0)<<2)>>2]+ +p[t>>2],p[j+352+8>>2]=jt,It=0|_[16+(0|_[i>>2])>>2],p[j+320>>2]=-Ct,p[j+320+4>>2]=-I,p[j+320+8>>2]=-D,p[j+320+12>>2]=0,Dt=+p[j+128+(gt<<2)>>2],p[j+424>>2]=kt-Dt*Ct,p[j+424+4>>2]=Rt-Dt*I,p[j+424+8>>2]=jt-Dt*D,p[j+424+12>>2]=0,rd[15&It](i,j+320|0,j+424|0,-Dt),n=n+1|0}while(n>>>0>>0)}}}while(0)}Q=j}}}}}}}function di(t){t|=0;var e,i=0,n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;e=Q,Q=Q+16|0;do{if(t>>>0<245){if(o=(d=t>>>0<11?16:t+11&-8)>>>3,b=0|_[6648],3&(r=o?b>>>o:b))return i=0|_[8+(t=26632+((1&r^1)+o<<1<<2)|0)>>2],(0|(n=0|_[i+8>>2]))==(0|t)?_[6648]=b&~(1<<(1&r^1)+o):(_[n+12>>2]=t,_[t+8>>2]=n),_[i+4>>2]=(1&r^1)+o<<3|3,_[i+((1&r^1)+o<<3)+4>>2]=1|_[i+((1&r^1)+o<<3)+4>>2],Q=e,0|(m=i+8|0);if(d>>>0>(l=0|_[6650])>>>0){if(0|r)return s=0|_[26632+((r=((f=(r=(u=(r=(r<>>12&16)?r>>>u:r)>>>5&8)|u|(m=(r=f?r>>>f:r)>>>2&4)|(t=(r=m?r>>>m:r)>>>1&2)|(s=(r=t?r>>>t:r)>>>1&1))+(s?r>>>s:r)|0)<<1<<2)+8>>2],(0|(t=0|_[s+8>>2]))==(26632+(r<<1<<2)|0)?(_[6648]=b&~(1<>2]=26632+(r<<1<<2),_[26632+(r<<1<<2)+8>>2]=t,t=b),_[s+4>>2]=3|d,_[s+d+4>>2]=(r<<3)-d|1,_[s+(r<<3)>>2]=(r<<3)-d,0|l&&(o=0|_[6653],t&1<<(n=l>>>3)?(t=0|_[26632+(n<<1<<2)+8>>2],i=26632+(n<<1<<2)+8|0):(_[6648]=t|1<>2]=o,_[t+12>>2]=o,_[o+8>>2]=t,_[o+12>>2]=26632+(n<<1<<2)),_[6650]=(r<<3)-d,_[6653]=s+d,Q=e,0|(m=s+8|0);if(s=0|_[6649]){for(n=a=0|_[26896+(((o=(a=(r=((s&0-s)-1|0)>>>12&16)?((s&0-s)-1|0)>>>r:(s&0-s)-1|0)>>>5&8)|r|(p=(a=o?a>>>o:a)>>>2&4)|(c=(a=p?a>>>p:a)>>>1&2)|(n=(a=c?a>>>c:a)>>>1&1))+(n?a>>>n:a)<<2)>>2],c=a,a=(-8&_[a+4>>2])-d|0;(t=0|_[n+16>>2])||(t=0|_[n+20>>2]);)n=t,c=(r=(p=(-8&_[t+4>>2])-d|0)>>>0>>0)?t:c,a=r?p:a;if((p=c+d|0)>>>0>c>>>0){r=0|_[c+24>>2],t=0|_[c+12>>2];do{if((0|t)==(0|c)){if(!(t=0|_[(i=c+20|0)>>2])&&!(t=0|_[(i=c+16|0)>>2])){i=0;break}for(;;)if(n=0|_[(o=t+20|0)>>2])t=n,i=o;else{if(!(n=0|_[(o=t+16|0)>>2]))break;t=n,i=o}_[i>>2]=0,i=t}else i=0|_[c+8>>2],_[i+12>>2]=t,_[t+8>>2]=i,i=t}while(0);do{if(0|r){if(t=0|_[c+28>>2],(0|c)==(0|_[26896+(t<<2)>>2])){if(_[26896+(t<<2)>>2]=i,!i){_[6649]=s&~(1<>2])==(0|c)?r+16:r+20)>>2]=i,!i)break;_[i+24>>2]=r,0|(t=0|_[c+16>>2])&&(_[i+16>>2]=t,_[t+24>>2]=i),0|(t=0|_[c+20>>2])&&(_[i+20>>2]=t,_[t+24>>2]=i)}}while(0);return a>>>0<16?(m=a+d|0,_[c+4>>2]=3|m,_[(m=c+m+4|0)>>2]=1|_[m>>2]):(_[c+4>>2]=3|d,_[p+4>>2]=1|a,_[p+a>>2]=a,0|l&&(o=0|_[6653],1<<(n=l>>>3)&b?(t=0|_[26632+(n<<1<<2)+8>>2],i=26632+(n<<1<<2)+8|0):(_[6648]=1<>2]=o,_[t+12>>2]=o,_[o+8>>2]=t,_[o+12>>2]=26632+(n<<1<<2)),_[6650]=a,_[6653]=p),Q=e,0|(m=c+8|0)}}}}else if(t>>>0<=4294967231){if(d=t+11&-8,o=0|_[6649]){a=(t=(t+11|0)>>>8)?d>>>0>16777215?31:1&(7+(a=14-((u=(520192+(t<<(b=(t+1048320|0)>>>16&8))|0)>>>16&4)|b|(a=(245760+(t<>>16&2))+(t<>>15)|0)|0?d>>>(a+7|0):d)|a<<1:0,t=0|_[26896+(a<<2)>>2];t:do{if(t)for(p=0,n=0-d|0,c=d<<(31==(0|a)?0:25-(a>>>1)),r=0;;){if((s=(-8&_[t+4>>2])-d|0)>>>0>>0){if(!s){s=t,n=0,r=t,u=65;break t}p=t,n=s}if(r=!(0|(u=0|_[t+20>>2]))|(0|u)==(0|(t=0|_[t+16+(c>>>31<<2)>>2]))?r:u,!t){t=p,u=61;break}c<<=1}else r=0,t=0,n=0-d|0,u=61}while(0);if(61==(0|u)){if(!(0|r)&!(0|t)){if(!(((t=2<>>12&16)?r>>>p:r)>>>5&8)|p|(c=(r=s?r>>>s:r)>>>2&4)|(a=(r=c?r>>>c:r)>>>1&2)|(b=(r=a?r>>>a:r)>>>1&1))+(b?r>>>b:r)<<2)>>2]}r?(s=t,u=65):(s=t,c=n)}if(65==(0|u))for(;;){if(n=(t=(b=(-8&_[r+4>>2])-d|0)>>>0>>0)?b:n,s=t?r:s,(t=0|_[r+16>>2])||(t=0|_[r+20>>2]),!t){c=n;break}r=t}if(0|s&&c>>>0<((0|_[6650])-d|0)>>>0&&(l=s+d|0)>>>0>s>>>0){p=0|_[s+24>>2],t=0|_[s+12>>2];do{if((0|t)==(0|s)){if(!(t=0|_[(i=s+20|0)>>2])&&!(t=0|_[(i=s+16|0)>>2])){t=0;break}for(;;)if(n=0|_[(r=t+20|0)>>2])t=n,i=r;else{if(!(n=0|_[(r=t+16|0)>>2]))break;t=n,i=r}_[i>>2]=0}else m=0|_[s+8>>2],_[m+12>>2]=t,_[t+8>>2]=m}while(0);do{if(p){if(i=0|_[s+28>>2],(0|s)==(0|_[26896+(i<<2)>>2])){if(_[26896+(i<<2)>>2]=t,!t){_[6649]=o&~(1<>2])==(0|s)?p+16:p+20)>>2]=t,!t)break;_[t+24>>2]=p,0|(i=0|_[s+16>>2])&&(_[t+16>>2]=i,_[i+24>>2]=t),(i=0|_[s+20>>2])&&(_[t+20>>2]=i,_[i+24>>2]=t)}}while(0);t:do{if(c>>>0<16)m=c+d|0,_[s+4>>2]=3|m,_[(m=s+m+4|0)>>2]=1|_[m>>2];else{if(_[s+4>>2]=3|d,_[l+4>>2]=1|c,_[l+c>>2]=c,n=c>>>3,c>>>0<256){(t=0|_[6648])&1<>2],i=26632+(n<<1<<2)+8|0):(_[6648]=t|1<>2]=l,_[t+12>>2]=l,_[l+8>>2]=t,_[l+12>>2]=26632+(n<<1<<2);break}if(t=26896+((n=(t=c>>>8)?c>>>0>16777215?31:1&(7+(n=14-((m=(520192+(t<<(u=(t+1048320|0)>>>16&8))|0)>>>16&4)|u|(n=(245760+(t<>>16&2))+(t<>>15)|0)|0?c>>>(n+7|0):c)|n<<1:0)<<2)|0,_[l+28>>2]=n,_[l+16+4>>2]=0,_[l+16>>2]=0,!(o&(i=1<>2]=l,_[l+24>>2]=t,_[l+12>>2]=l,_[l+8>>2]=l;break}t=0|_[t>>2];e:do{if((-8&_[t+4>>2])!=(0|c)){for(o=c<<(31==(0|n)?0:25-(n>>>1));i=0|_[(n=t+16+(o>>>31<<2)|0)>>2];){if((-8&_[i+4>>2])==(0|c)){t=i;break e}o<<=1,t=i}_[n>>2]=l,_[l+24>>2]=t,_[l+12>>2]=l,_[l+8>>2]=l;break t}}while(0);m=0|_[(u=t+8|0)>>2],_[m+12>>2]=l,_[u>>2]=l,_[l+8>>2]=m,_[l+12>>2]=t,_[l+24>>2]=0}}while(0);return Q=e,0|(m=s+8|0)}}}else d=-1}while(0);if((n=0|_[6650])>>>0>=d>>>0)return t=n-d|0,i=0|_[6653],t>>>0>15?(m=i+d|0,_[6653]=m,_[6650]=t,_[m+4>>2]=1|t,_[i+n>>2]=t,_[i+4>>2]=3|d):(_[6650]=0,_[6653]=0,_[i+4>>2]=3|n,_[i+n+4>>2]=1|_[i+n+4>>2]),Q=e,0|(m=i+8|0);if((r=0|_[6651])>>>0>d>>>0)return f=r-d|0,_[6651]=f,u=(m=0|_[6654])+d|0,_[6654]=u,_[u+4>>2]=1|f,_[m+4>>2]=3|d,Q=e,0|(m=m+8|0);if(0|_[6766]?t=0|_[6768]:(_[6768]=4096,_[6767]=4096,_[6769]=-1,_[6770]=-1,_[6771]=0,_[6759]=0,_[6766]=-16&e^1431655768,t=4096),s=d+48|0,((a=t+(p=d+47|0)|0)&(c=0-t|0))>>>0<=d>>>0)return Q=e,0|(m=0);if(0|(t=0|_[6758])&&(((b=0|_[6756])+(a&c)|0)>>>0<=b>>>0||(b+(a&c)|0)>>>0>t>>>0))return Q=e,0|(m=0);t:do{if(4&_[6759])t=0,u=143;else{o=0|_[6654];e:do{if(o){for(t=27040;!((n=0|_[t>>2])>>>0<=o>>>0&&(n+(0|_[(A=t+4|0)>>2])|0)>>>0>o>>>0);)if(!(t=0|_[t+8>>2])){u=128;break e}if((a-r&c)>>>0<2147483647)if((0|(o=0|yo(a-r&c)))==((0|_[t>>2])+(0|_[A>>2])|0)){if(-1!=(0|o)){p=a-r&c;break t}t=a-r&c}else i=a-r&c,u=136;else t=0}else u=128}while(0);do{if(128==(0|u))if(-1!=(0|(t=0|yo(0)))&&(i=((i=0|_[6767])-1&t?(i+-1+t&0-i)-t|0:0)+(a&c)|0,f=0|_[6756],i>>>0>d>>>0&i>>>0<2147483647)){if(0|(A=0|_[6758])&&(i+f|0)>>>0<=f>>>0|(i+f|0)>>>0>A>>>0){t=0;break}if((0|(o=0|yo(0|i)))==(0|t)){p=i,o=t;break t}u=136}else t=0}while(0);do{if(136==(0|u)){if(n=0-i|0,!(s>>>0>i>>>0&i>>>0<2147483647&-1!=(0|o))){if(-1==(0|o)){t=0;break}p=i;break t}if((t=p-i+(t=0|_[6768])&0-t)>>>0>=2147483647){p=i;break t}if(-1==(0|yo(0|t))){yo(0|n),t=0;break}p=t+i|0;break t}}while(0);_[6759]=4|_[6759],u=143}}while(0);if(143==(0|u)){if((a&c)>>>0>=2147483647)return Q=e,0|(m=0);if(-1==(0|(o=0|yo(a&c)))|1^(n=((i=0|yo(0))-o|0)>>>0>(d+40|0)>>>0)|o>>>0>>0&-1!=(0|o)&-1!=(0|i)^1)return Q=e,0|(m=0);p=n?i-o|0:t}t=(0|_[6756])+p|0,_[6756]=t,t>>>0>(0|_[6757])>>>0&&(_[6757]=t),a=0|_[6654];t:do{if(a){for(t=27040;;){if((0|o)==((i=0|_[t>>2])+(r=0|_[(n=t+4|0)>>2])|0)){u=154;break}if(!(s=0|_[t+8>>2]))break;t=s}if(!(154!=(0|u)||8&_[t+12>>2])&&o>>>0>a>>>0&i>>>0<=a>>>0){_[n>>2]=r+p,m=(0|_[6651])+p|0,u=a+8&7?0-(a+8)&7:0,_[6654]=a+u,_[6651]=m-u,_[a+u+4>>2]=m-u|1,_[a+m+4>>2]=40,_[6655]=_[6770];break}for(o>>>0<(0|_[6652])>>>0&&(_[6652]=o),n=o+p|0,t=27040;;){if((0|_[t>>2])==(0|n)){u=162;break}if(!(i=0|_[t+8>>2]))break;t=i}if(162==(0|u)&&!(8&_[t+12>>2])){_[t>>2]=o,_[(b=t+4|0)>>2]=(0|_[b>>2])+p,l=(b=o+(7&(b=o+8|0)?0-b&7:0)|0)+d|0,c=(t=n+(n+8&7?0-(n+8)&7:0)|0)-b-d|0,_[b+4>>2]=3|d;e:do{if((0|a)==(0|t))m=(0|_[6651])+c|0,_[6651]=m,_[6654]=l,_[l+4>>2]=1|m;else{if((0|_[6653])==(0|t)){m=(0|_[6650])+c|0,_[6650]=m,_[6653]=l,_[l+4>>2]=1|m,_[l+m>>2]=m;break}if(1==(3&(p=0|_[t+4>>2]))){i=p>>>3;i:do{if(p>>>0<256){if(n=0|_[t+8>>2],(0|(o=0|_[t+12>>2]))==(0|n)){_[6648]=_[6648]&~(1<>2]=o,_[o+8>>2]=n;break}s=0|_[t+24>>2],i=0|_[t+12>>2];do{if((0|i)==(0|t)){if(i=0|_[t+16+4>>2])n=t+16+4|0;else{if(!(i=0|_[t+16>>2])){i=0;break}n=t+16|0}for(;;)if(o=0|_[(r=i+20|0)>>2])i=o,n=r;else{if(!(o=0|_[(r=i+16|0)>>2]))break;i=o,n=r}_[n>>2]=0}else m=0|_[t+8>>2],_[m+12>>2]=i,_[i+8>>2]=m}while(0);if(!s)break;n=0|_[t+28>>2];do{if((0|_[26896+(n<<2)>>2])==(0|t)){if(_[26896+(n<<2)>>2]=i,0|i)break;_[6649]=_[6649]&~(1<>2])==(0|t)?s+16:s+20)>>2]=i,!i)break i}while(0);if(_[i+24>>2]=s,0|(n=0|_[t+16>>2])&&(_[i+16>>2]=n,_[n+24>>2]=i),!(n=0|_[t+16+4>>2]))break;_[i+20>>2]=n,_[n+24>>2]=i}while(0);t=t+(-8&p)|0,r=(-8&p)+c|0}else r=c;if(_[(n=t+4|0)>>2]=-2&_[n>>2],_[l+4>>2]=1|r,_[l+r>>2]=r,n=r>>>3,r>>>0<256){(t=0|_[6648])&1<>2],i=26632+(n<<1<<2)+8|0):(_[6648]=t|1<>2]=l,_[t+12>>2]=l,_[l+8>>2]=t,_[l+12>>2]=26632+(n<<1<<2);break}t=r>>>8;do{if(t){if(r>>>0>16777215){o=31;break}o=1&(7+(o=14-((m=(520192+(t<<(u=(t+1048320|0)>>>16&8))|0)>>>16&4)|u|(o=(245760+(t<>>16&2))+(t<>>15)|0)|0?r>>>(o+7|0):r)|o<<1}else o=0}while(0);if(t=26896+(o<<2)|0,_[l+28>>2]=o,_[l+16+4>>2]=0,_[l+16>>2]=0,!((i=0|_[6649])&(n=1<>2]=l,_[l+24>>2]=t,_[l+12>>2]=l,_[l+8>>2]=l;break}t=0|_[t>>2];i:do{if((-8&_[t+4>>2])!=(0|r)){for(o=r<<(31==(0|o)?0:25-(o>>>1));i=0|_[(n=t+16+(o>>>31<<2)|0)>>2];){if((-8&_[i+4>>2])==(0|r)){t=i;break i}o<<=1,t=i}_[n>>2]=l,_[l+24>>2]=t,_[l+12>>2]=l,_[l+8>>2]=l;break e}}while(0);m=0|_[(u=t+8|0)>>2],_[m+12>>2]=l,_[u>>2]=l,_[l+8>>2]=m,_[l+12>>2]=t,_[l+24>>2]=0}}while(0);return Q=e,0|(m=b+8|0)}for(t=27040;!((i=0|_[t>>2])>>>0<=a>>>0&&(m=i+(0|_[t+4>>2])|0)>>>0>a>>>0);)t=0|_[t+8>>2];r=(r=m+-47+(m+-47+8&7?0-(m+-47+8)&7:0)|0)>>>0<(a+16|0)>>>0?a:r,t=p+-40|0,u=o+(f=7&(f=o+8|0)?0-f&7:0)|0,_[6654]=u,_[6651]=t-f,_[u+4>>2]=t-f|1,_[o+t+4>>2]=40,_[6655]=_[6770],_[r+4>>2]=27,_[r+8>>2]=_[6760],_[r+8+4>>2]=_[6761],_[r+8+8>>2]=_[6762],_[r+8+12>>2]=_[6763],_[6760]=o,_[6761]=p,_[6763]=0,_[6762]=r+8,t=r+24|0;do{u=t,_[(t=t+4|0)>>2]=7}while((u+8|0)>>>0>>0);if((0|r)!=(0|a)){if(_[r+4>>2]=-2&_[r+4>>2],_[a+4>>2]=r-a|1,_[r>>2]=r-a,n=(r-a|0)>>>3,(r-a|0)>>>0<256){(t=0|_[6648])&1<>2],i=26632+(n<<1<<2)+8|0):(_[6648]=t|1<>2]=a,_[t+12>>2]=a,_[a+8>>2]=t,_[a+12>>2]=26632+(n<<1<<2);break}if(t=26896+((o=(t=(r-a|0)>>>8)?(r-a|0)>>>0>16777215?31:1&(7+(o=14-((m=(520192+(t<<(u=(t+1048320|0)>>>16&8))|0)>>>16&4)|u|(o=(245760+(t<>>16&2))+(t<>>15)|0)|0?(r-a|0)>>>(o+7|0):r-a)|o<<1:0)<<2)|0,_[a+28>>2]=o,_[a+20>>2]=0,_[a+16>>2]=0,!((i=0|_[6649])&(n=1<>2]=a,_[a+24>>2]=t,_[a+12>>2]=a,_[a+8>>2]=a;break}t=0|_[t>>2];e:do{if((-8&_[t+4>>2])!=(r-a|0)){for(o=r-a<<(31==(0|o)?0:25-(o>>>1));i=0|_[(n=t+16+(o>>>31<<2)|0)>>2];){if((-8&_[i+4>>2])==(r-a|0)){t=i;break e}o<<=1,t=i}_[n>>2]=a,_[a+24>>2]=t,_[a+12>>2]=a,_[a+8>>2]=a;break t}}while(0);m=0|_[(u=t+8|0)>>2],_[m+12>>2]=a,_[u>>2]=a,_[a+8>>2]=m,_[a+12>>2]=t,_[a+24>>2]=0}}else!(0|(m=0|_[6652]))|o>>>0>>0&&(_[6652]=o),_[6760]=o,_[6761]=p,_[6763]=0,_[6657]=_[6766],_[6656]=-1,_[6661]=26632,_[6660]=26632,_[6663]=26640,_[6662]=26640,_[6665]=26648,_[6664]=26648,_[6667]=26656,_[6666]=26656,_[6669]=26664,_[6668]=26664,_[6671]=26672,_[6670]=26672,_[6673]=26680,_[6672]=26680,_[6675]=26688,_[6674]=26688,_[6677]=26696,_[6676]=26696,_[6679]=26704,_[6678]=26704,_[6681]=26712,_[6680]=26712,_[6683]=26720,_[6682]=26720,_[6685]=26728,_[6684]=26728,_[6687]=26736,_[6686]=26736,_[6689]=26744,_[6688]=26744,_[6691]=26752,_[6690]=26752,_[6693]=26760,_[6692]=26760,_[6695]=26768,_[6694]=26768,_[6697]=26776,_[6696]=26776,_[6699]=26784,_[6698]=26784,_[6701]=26792,_[6700]=26792,_[6703]=26800,_[6702]=26800,_[6705]=26808,_[6704]=26808,_[6707]=26816,_[6706]=26816,_[6709]=26824,_[6708]=26824,_[6711]=26832,_[6710]=26832,_[6713]=26840,_[6712]=26840,_[6715]=26848,_[6714]=26848,_[6717]=26856,_[6716]=26856,_[6719]=26864,_[6718]=26864,_[6721]=26872,_[6720]=26872,_[6723]=26880,_[6722]=26880,m=p+-40|0,u=o+(f=7&(f=o+8|0)?0-f&7:0)|0,_[6654]=u,_[6651]=m-f,_[u+4>>2]=m-f|1,_[o+m+4>>2]=40,_[6655]=_[6770]}while(0);return(t=0|_[6651])>>>0<=d>>>0?(Q=e,0|(m=0)):(f=t-d|0,_[6651]=f,u=(m=0|_[6654])+d|0,_[6654]=u,_[u+4>>2]=1|f,_[m+4>>2]=3|d,Q=e,0|(m=m+8|0))}function bi(t,e,i,n,o){t|=0,e|=0,i|=0,o|=0;var r,s,p,c,a,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,Q=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0;if(z=0|_[(n|=0)>>2],a=0|_[o>>2],l=0|z?0|_[z+12>>2]:e,d=0|_[l+88>>2],A=0|_[l+92>>2],u=0|_[l+96>>2],l=a?0|_[a+12>>2]:i,k=0|_[l+88>>2],v=0|_[l+92>>2],f=0|_[l+96>>2],q=0|_[e+88>>2],p=(0|_[i+88>>2])-q|0,j=0|_[e+92>>2],c=(0|_[i+92>>2])-j|0,b=0|_[e+96>>2],r=(0|_[i+96>>2])-b|0,K=0|_[(0|z?z:a)+12>>2],$=(0|_[K+88>>2])-q|0,X=(0|_[K+92>>2])-j|0,K=(0|_[K+96>>2])-b|0,s=(0|g(X,r))-(0|g(K,c))|0,K=(0|g(K,p))-(0|g($,r))|0,X=(0|g($,c))-(0|g(X,p))|0,q=0|f_(0|s,((0|s)<0)<<31>>31,0|q,((0|q)<0)<<31>>31),$=0|w(),j=0|f_(0|K,((0|K)<0)<<31>>31,0|j,((0|j)<0)<<31>>31),R=0|w(),b=0|xr(0|q,0|$,0|(b=0|f_(0|X,((0|X)<0)<<31>>31,0|b,((0|b)<0)<<31>>31)),0|w()),R=0|xr(0|b,0|w(),0|j,0|R),j=0|w(),q=0|Ir(0|(b=0|f_(0|X,((0|X)<0)<<31>>31,0|c,((0|c)<0)<<31>>31)),0|($=0|w()),0|(q=0|f_(0|K,((0|K)<0)<<31>>31,0|r,((0|r)<0)<<31>>31)),0|w()),$=0|w(),tt=0|Ir(0|(b=0|f_(0|s,((0|s)<0)<<31>>31,0|r,((0|r)<0)<<31>>31)),0|(et=0|w()),0|(tt=0|f_(0|X,((0|X)<0)<<31>>31,0|p,((0|p)<0)<<31>>31)),0|w()),et=0|w(),it=0|Ir(0|(b=0|f_(0|K,((0|K)<0)<<31>>31,0|p,((0|p)<0)<<31>>31)),0|(nt=0|w()),0|(it=0|f_(0|s,((0|s)<0)<<31>>31,0|c,((0|c)<0)<<31>>31)),0|w()),nt=0|w(),b=0|f_(0|q,0|$,0|d,((0|d)<0)<<31>>31),J=0|w(),J=0|xr(0|(m=0|f_(0|tt,0|et,0|A,((0|A)<0)<<31>>31)),0|w(),0|b,0|J),m=0|xr(0|J,0|(b=0|w()),0|(m=0|f_(0|it,0|nt,0|u,((0|u)<0)<<31>>31)),0|w()),b=0|w(),0|z&&0|_[z+12>>2]){for(l=d,e=A,i=u,h=z,y=b;;){if(h=0|_[4+(0|_[h+8>>2])>>2],A=0|_[(u=h+12|0)>>2],Y=0|f_(0|(d=0|_[A+88>>2]),((0|d)<0)<<31>>31,0|s,((0|s)<0)<<31>>31),U=0|w(),U=0|xr(0|(J=0|f_(0|(b=0|_[A+92>>2]),((0|b)<0)<<31>>31,0|K,((0|K)<0)<<31>>31)),0|w(),0|Y,0|U),J=0|xr(0|U,0|(Y=0|w()),0|(J=0|f_(0|(A=0|_[A+96>>2]),((0|A)<0)<<31>>31,0|X,((0|X)<0)<<31>>31)),0|w()),(0|(Y=0|w()))<(0|j)|(0|Y)==(0|j)&J>>>0>>0){A=m,b=y;break}if((0|_[h+20>>2])==(0|_[t+100>>2])){A=m,b=y;break}if(Y=0|f_(0|q,0|$,0|d,((0|d)<0)<<31>>31),J=0|w(),J=0|xr(0|(b=0|f_(0|tt,0|et,0|b,((0|b)<0)<<31>>31)),0|w(),0|Y,0|J),A=0|xr(0|J,0|(b=0|w()),0|(A=0|f_(0|it,0|nt,0|A,((0|A)<0)<<31>>31)),0|w()),!((0|(b=0|w()))>(0|y)|(0|b)==(0|y)&A>>>0>m>>>0)){A=m,b=y;break}if(_[n>>2]=h,J=0|_[u>>2],l=0|_[J+88>>2],e=0|_[J+92>>2],i=0|_[J+96>>2],!J)break;y=b,m=A}d=l,u=i,h=0|_[o>>2]}else e=A,h=a,A=m;l=0|f_(0|q,0|$,0|k,((0|k)<0)<<31>>31),J=0|w(),J=0|xr(0|(i=0|f_(0|tt,0|et,0|v,((0|v)<0)<<31>>31)),0|w(),0|l,0|J),i=0|xr(0|J,0|(l=0|w()),0|(i=0|f_(0|it,0|nt,0|f,((0|f)<0)<<31>>31)),0|w()),l=0|w();t:do{if(h)if(0|_[h+12>>2])for(C=h;;){if(S=0|_[_[C+8>>2]>>2],y=0|_[S+12>>2],Y=0|f_(0|(m=0|_[y+88>>2]),((0|m)<0)<<31>>31,0|s,((0|s)<0)<<31>>31),U=0|w(),U=0|xr(0|(J=0|f_(0|(h=0|_[y+92>>2]),((0|h)<0)<<31>>31,0|K,((0|K)<0)<<31>>31)),0|w(),0|Y,0|U),J=0|xr(0|U,0|(Y=0|w()),0|(J=0|f_(0|(y=0|_[y+96>>2]),((0|y)<0)<<31>>31,0|X,((0|X)<0)<<31>>31)),0|w()),(0|(Y=0|w()))<(0|j)|(0|Y)==(0|j)&J>>>0>>0)break t;if((0|_[S+20>>2])==(0|_[t+100>>2]))break t;if(m=0|f_(0|q,0|$,0|m,((0|m)<0)<<31>>31),J=0|w(),J=0|xr(0|(h=0|f_(0|tt,0|et,0|h,((0|h)<0)<<31>>31)),0|w(),0|m,0|J),m=0|xr(0|J,0|(h=0|w()),0|(m=0|f_(0|it,0|nt,0|y,((0|y)<0)<<31>>31)),0|w()),!((0|(h=0|w()))>(0|l)|(0|h)==(0|l)&m>>>0>i>>>0))break t;if(_[o>>2]=S,J=0|_[S+12>>2],l=0|_[J+88>>2],i=0|_[J+92>>2],f=0|_[J+96>>2],!J){k=l,v=i,C=S,i=m,l=h;break}k=l,v=i,C=S,l=h,i=m}else C=h;else C=0}while(0);if(b=0|Ir(0|i,0|l,0|A,0|b),(0|(i=0|w()))>0|!(0|i)&b>>>0>0){for(Y=0|Ir(0,0,0|X,((0|X)<0)<<31>>31),J=0|w(),Q=k,l=d,E=v,A=e,H=f,m=u,y=b,h=i;;){U=l,L=0|_[n>>2];t:for(;Z=(0|g(E-A|0,c))+(0|g(Q-U|0,p))+(0|g(H-m|0,r))|0,L&&0|_[L+12>>2]&&(M=0|_[8+(0|_[L>>2])>>2],!((0|_[M+20>>2])<=(0|_[t+100>>2])));){N=0|_[M+12>>2],P=(V=0|_[N+88>>2])-U|0,T=(G=0|_[N+92>>2])-A|0,l=(N=0|_[N+96>>2])-m|0,R=0|f_(0|q,0|$,0|P,((0|P)<0)<<31>>31),O=0|w(),O=0|xr(0|(S=0|f_(0|tt,0|et,0|T,((0|T)<0)<<31>>31)),0|w(),0|R,0|O),S=0|xr(0|O,0|(R=0|w()),0|(S=0|f_(0|it,0|nt,0|l,((0|l)<0)<<31>>31)),0|w()),R=0|w(),l=(0|g(T,c))+(0|g(P,p))+(0|g(l,r))|0;do{if(!(0|S)&!(0|R)){if((0|l)>=0)break t}else{if((0|R)>=0)break t;if((0|l)>0?(P=-1,D=l,j=((0|l)<0)<<31>>31):(D=0|Ir(0,0,0|l,((0|l)<0)<<31>>31),j=0|w(),P=1&!!(0|l),D=0|l?D:0,j=0|l?j:0),F=0|Ir(0,0,0|S,0|R),x=0|w(),(0|Z)>0?(l=1,S=-1,O=Z,T=((0|Z)<0)<<31>>31):(O=0|Ir(0,0,0|Z,((0|Z)<0)<<31>>31),T=0|w(),l=!!(0|Z)<<31>>31,S=1&!!(0|Z),O=0|Z?O:0,T=0|Z?T:0),(0|h)>0|!(0|h)&y>>>0>0?(S=y,R=h):(W=!!(0|y)|!!(0|h),B=0|Ir(0,0,0|y,0|h),R=0|w(),l=W?S:l,S=W?B:0,R=W?R:0),(0|P)==(0|l)){if(!P)break;l=0|f_(0|S,0,0|D,0),I=0|w(),st=0|f_(0|R,0,0|D,0),rt=0|w(),B=0|f_(0|S,0,0|j,0),W=0|w(),_t=0|f_(0|R,0,0|j,0),D=0|w(),B=0|xr(0|st,0,0|B,0),S=0|w(),D=0|xr(0|rt,0,0|_t,0|D),W=0|xr(0|D,0|w(),0|W,0),S=0|xr(0|W,0|w(),0|S,0),W=0|w(),D=0|xr(0,0|B,0|l,0|I),B=0|xr(0|S,0|W,1&((I=0|w())>>>0>>0|(0|I)==(0|B)&D>>>0<0),0),W=0|w(),S=0|f_(0|O,0,0|F,0),l=0|w(),_t=0|f_(0|T,0,0|F,0),F=0|w(),R=0|f_(0|O,0,0|x,0),j=0|w(),x=0|f_(0|T,0,0|x,0),O=0|w(),R=0|xr(0|_t,0,0|R,0),T=0|w(),O=0|xr(0|F,0,0|x,0|O),j=0|xr(0|O,0|w(),0|j,0),T=0|xr(0|j,0|w(),0|T,0),j=0|w(),l=0|xr(0,0|R,0|S,0|l),R=0|xr(0|T,0|j,1&((S=0|w())>>>0>>0|(0|S)==(0|R)&l>>>0<0),0),j=0|w(),l=0|g(l=W>>>0>>0|(0|W)==(0|j)&B>>>0>>0?-1:W>>>0>j>>>0|(0|W)==(0|j)&B>>>0>R>>>0?1:I>>>0>>0|(0|I)==(0|S)&D>>>0>>0?-1:1&(I>>>0>S>>>0|(0|I)==(0|S)&D>>>0>l>>>0),P)}else l=P-l|0;if((0|l)<=-1)break t}}while(0);U=E-G|0,y=H-N|0,h=0|f_(0|q,0|$,0|(h=Q-V|0),((0|h)<0)<<31>>31),st=0|w(),st=0|xr(0|(U=0|f_(0|tt,0|et,0|U,((0|U)<0)<<31>>31)),0|w(),0|h,0|st),y=0|xr(0|st,0|(h=0|w()),0|(y=0|f_(0|it,0|nt,0|y,((0|y)<0)<<31>>31)),0|w()),h=0|w(),st=(0|L)==(0|z)?0:M,_[n>>2]=st,U=V,A=G,m=N,L=st}if(!(l=0|_[o>>2])){l=110;break}if(!(0|_[l+12>>2])){l=110;break}if(M=0|_[_[l+8>>2]>>2],(0|_[M+20>>2])<=(0|_[t+100>>2])){l=110;break}if(j=0|_[M+12>>2],R=(I=0|_[j+88>>2])-Q|0,S=(D=0|_[j+92>>2])-E|0,l=(j=0|_[j+96>>2])-H|0,st=0|f_(0|R,((0|R)<0)<<31>>31,0|s,((0|s)<0)<<31>>31),_t=0|w(),_t=0|xr(0|(rt=0|f_(0|S,((0|S)<0)<<31>>31,0|K,((0|K)<0)<<31>>31)),0|w(),0|st,0|_t),st=0|w(),!((0|_t)==(0|(rt=0|f_(0|Y,0|J,0|l,((0|l)<0)<<31>>31)))&(0|st)==(0|w()))){l=110;break}if(W=0|f_(0|q,0|$,0|R,((0|R)<0)<<31>>31),P=0|w(),P=0|xr(0|(B=0|f_(0|tt,0|et,0|S,((0|S)<0)<<31>>31)),0|w(),0|W,0|P),B=0|xr(0|P,0|(W=0|w()),0|(B=0|f_(0|it,0|nt,0|l,((0|l)<0)<<31>>31)),0|w()),W=0|w(),l=(0|g(S,c))+(0|g(R,p))+(0|g(l,r))|0,rt=D-A|0,T=j-m|0,P=0|f_(0|q,0|$,0|(P=I-U|0),((0|P)<0)<<31>>31),st=0|w(),st=0|xr(0|(rt=0|f_(0|tt,0|et,0|rt,((0|rt)<0)<<31>>31)),0|w(),0|P,0|st),T=0|xr(0|st,0|(P=0|w()),0|(T=0|f_(0|it,0|nt,0|T,((0|T)<0)<<31>>31)),0|w()),!((0|(P=0|w()))>0|!(0|P)&T>>>0>0)){l=110;break}if(!(0|B)&!(0|W)){if((0|l)>=0){l=110;break}}else{if((0|W)>=0){l=110;break}if((0|l)>0?(O=-1,j=l,R=((0|l)<0)<<31>>31):(j=0|Ir(0,0,0|l,((0|l)<0)<<31>>31),R=0|w(),O=1&!!(0|l),j=0|l?j:0,R=0|l?R:0),W=0|Ir(0,0,0|B,0|W),F=0|w(),(0|Z)>0?(l=1,S=-1,x=Z,B=((0|Z)<0)<<31>>31):(x=0|Ir(0,0,0|Z,((0|Z)<0)<<31>>31),B=0|w(),l=!!(0|Z)<<31>>31,S=1&!!(0|Z),x=0|Z?x:0,B=0|Z?B:0),(0|h)>0|!(0|h)&y>>>0>0||(st=!!(0|y)|!!(0|h),y=0|Ir(0,0,0|y,0|h),h=0|w(),l=st?S:l,y=st?y:0,h=st?h:0),(0|O)==(0|l)){if(!O){l=110;break}st=0|f_(0|y,0,0|j,0),l=0|w(),S=0|f_(0|h,0,0|j,0),Z=0|w(),D=0|f_(0|y,0,0|R,0),I=0|w(),j=0|f_(0|h,0,0|R,0),R=0|w(),D=0|xr(0|S,0,0|D,0),h=0|w(),R=0|xr(0|Z,0,0|j,0|R),I=0|xr(0|R,0|w(),0|I,0),h=0|xr(0|I,0|w(),0|h,0),I=0|w(),R=0|xr(0,0|D,0|st,0|l),D=0|xr(0|h,0|I,1&((j=0|w())>>>0>>0|(0|j)==(0|D)&R>>>0<0),0),I=0|w(),h=0|f_(0|x,0,0|W,0),l=0|w(),st=0|f_(0|B,0,0|W,0),Z=0|w(),y=0|f_(0|x,0,0|F,0),S=0|w(),_t=0|f_(0|B,0,0|F,0),rt=0|w(),y=0|xr(0|st,0,0|y,0),st=0|w(),rt=0|xr(0|Z,0,0|_t,0|rt),S=0|xr(0|rt,0|w(),0|S,0),st=0|xr(0|S,0|w(),0|st,0),S=0|w(),l=0|xr(0,0|y,0|h,0|l),y=0|xr(0|st,0|S,1&((h=0|w())>>>0>>0|(0|h)==(0|y)&l>>>0<0),0),S=0|w(),l=0|g(l=I>>>0>>0|(0|I)==(0|S)&D>>>0>>0?-1:I>>>0>S>>>0|(0|I)==(0|S)&D>>>0>y>>>0?1:j>>>0>>0|(0|j)==(0|h)&R>>>0>>0?-1:1&(j>>>0>h>>>0|(0|j)==(0|h)&R>>>0>l>>>0),O)}else l=O-l|0;if((0|l)<=0){l=110;break}}_[o>>2]=M,H=0|_[M+12>>2],Q=0|_[H+88>>2],l=U,E=0|_[H+92>>2],H=0|_[H+96>>2],y=T,h=P}if(110==(0|l))return}if(!((0|i)>=0)){M=0|Ir(0,0,0|X,((0|X)<0)<<31>>31),V=0|w(),A=C,l=u;t:for(;;){T=l,O=A;e:for(;;){P=(0|g(v-e|0,c))+(0|g(k-d|0,p))+(0|g(f-T|0,r))|0;do{if(0|O&&0|_[O+12>>2]&&(ot=0|_[8+(0|_[O+4>>2])>>2],(0|_[ot+20>>2])>(0|_[t+100>>2]))){if(x=0|_[ot+12>>2],st=(W=0|_[x+88>>2])-k|0,rt=(F=0|_[x+92>>2])-v|0,l=(x=0|_[x+96>>2])-f|0,u=0|f_(0|q,0|$,0|st,((0|st)<0)<<31>>31),_t=0|w(),_t=0|xr(0|(A=0|f_(0|tt,0|et,0|rt,((0|rt)<0)<<31>>31)),0|w(),0|u,0|_t),A=0|xr(0|_t,0|(u=0|w()),0|(A=0|f_(0|it,0|nt,0|l,((0|l)<0)<<31>>31)),0|w()),u=0|w(),l=(0|g(rt,c))+(0|g(st,p))+(0|g(l,r))|0,!(0|A)&!(0|u)){if((0|l)>0)break e;break}if((0|u)<0){if((0|l)>0?(B=-1,h=l,m=((0|l)<0)<<31>>31):(h=0|Ir(0,0,0|l,((0|l)<0)<<31>>31),m=0|w(),B=1&!!(0|l),h=0|l?h:0,m=0|l?m:0),R=0|Ir(0,0,0|A,0|u),j=0|w(),(0|P)>0?(l=1,A=-1,D=P,I=((0|P)<0)<<31>>31):(D=0|Ir(0,0,0|P,((0|P)<0)<<31>>31),I=0|w(),l=!!(0|P)<<31>>31,A=1&!!(0|P),D=0|P?D:0,I=0|P?I:0),(0|i)>0|!(0|i)&b>>>0>0?(A=b,u=i):(st=!!(0|b)|!!(0|i),rt=0|Ir(0,0,0|b,0|i),u=0|w(),l=st?A:l,A=st?rt:0,u=st?u:0),(0|B)==(0|l)){if(!B)break e;l=0|f_(0|A,0,0|h,0),y=0|w(),_t=0|f_(0|u,0,0|h,0),z=0|w(),C=0|f_(0|A,0,0|m,0),S=0|w(),st=0|f_(0|u,0,0|m,0),h=0|w(),C=0|xr(0|_t,0,0|C,0),A=0|w(),h=0|xr(0|z,0,0|st,0|h),S=0|xr(0|h,0|w(),0|S,0),A=0|xr(0|S,0|w(),0|A,0),S=0|w(),h=0|xr(0,0|C,0|l,0|y),C=0|xr(0|A,0|S,1&((y=0|w())>>>0>>0|(0|y)==(0|C)&h>>>0<0),0),S=0|w(),A=0|f_(0|D,0,0|R,0),l=0|w(),st=0|f_(0|I,0,0|R,0),z=0|w(),u=0|f_(0|D,0,0|j,0),m=0|w(),_t=0|f_(0|I,0,0|j,0),rt=0|w(),u=0|xr(0|st,0,0|u,0),st=0|w(),rt=0|xr(0|z,0,0|_t,0|rt),m=0|xr(0|rt,0|w(),0|m,0),st=0|xr(0|m,0|w(),0|st,0),m=0|w(),l=0|xr(0,0|u,0|A,0|l),u=0|xr(0|st,0|m,1&((A=0|w())>>>0>>0|(0|A)==(0|u)&l>>>0<0),0),m=0|w(),l=0|g(l=S>>>0>>0|(0|S)==(0|m)&C>>>0>>0?-1:S>>>0>m>>>0|(0|S)==(0|m)&C>>>0>u>>>0?1:y>>>0>>0|(0|y)==(0|A)&h>>>0>>0?-1:1&(y>>>0>A>>>0|(0|y)==(0|A)&h>>>0>l>>>0),B)}else l=B-l|0;if((0|l)<1)break e}}}while(0);if(!(l=0|_[n>>2])){l=110;break t}if(!(0|_[l+12>>2])){l=110;break t}if(I=0|_[4+(0|_[l+8>>2])>>2],(0|_[I+20>>2])<=(0|_[t+100>>2])){l=110;break t}if(A=0|_[I+12>>2],d=(m=0|_[A+88>>2])-d|0,e=(u=0|_[A+92>>2])-e|0,l=(A=0|_[A+96>>2])-T|0,st=0|f_(0|d,((0|d)<0)<<31>>31,0|s,((0|s)<0)<<31>>31),_t=0|w(),_t=0|xr(0|(rt=0|f_(0|e,((0|e)<0)<<31>>31,0|K,((0|K)<0)<<31>>31)),0|w(),0|st,0|_t),st=0|w(),!((0|_t)==(0|(rt=0|f_(0|M,0|V,0|l,((0|l)<0)<<31>>31)))&(0|st)==(0|w()))){l=110;break t}if(y=0|f_(0|q,0|$,0|d,((0|d)<0)<<31>>31),D=0|w(),D=0|xr(0|(h=0|f_(0|tt,0|et,0|e,((0|e)<0)<<31>>31)),0|w(),0|y,0|D),h=0|xr(0|D,0|(y=0|w()),0|(h=0|f_(0|it,0|nt,0|l,((0|l)<0)<<31>>31)),0|w()),y=0|w(),l=(0|g(e,c))+(0|g(d,p))+(0|g(l,r))|0,rt=v-u|0,j=f-A|0,D=0|f_(0|q,0|$,0|(D=k-m|0),((0|D)<0)<<31>>31),st=0|w(),st=0|xr(0|(rt=0|f_(0|tt,0|et,0|rt,((0|rt)<0)<<31>>31)),0|w(),0|D,0|st),j=0|xr(0|st,0|(D=0|w()),0|(j=0|f_(0|it,0|nt,0|j,((0|j)<0)<<31>>31)),0|w()),(0|(D=0|w()))>=0){l=110;break t}if(!(0|h)&!(0|y)){if((0|l)<=0){l=110;break t}}else{if((0|y)>=0){l=110;break t}if((0|l)>0?(R=-1,A=l,d=((0|l)<0)<<31>>31):(A=0|Ir(0,0,0|l,((0|l)<0)<<31>>31),d=0|w(),R=1&!!(0|l),A=0|l?A:0,d=0|l?d:0),C=0|Ir(0,0,0|h,0|y),S=0|w(),(0|P)>0?(e=1,h=P,y=((0|P)<0)<<31>>31,l=-1):(h=0|Ir(0,0,0|P,((0|P)<0)<<31>>31),y=0|w(),e=!!(0|P)<<31>>31,h=0|P?h:0,y=0|P?y:0,l=1&!!(0|P)),(0|i)>0|!(0|i)&b>>>0>0||(st=!!(0|b)|!!(0|i),b=0|Ir(0,0,0|b,0|i),i=0|w(),e=st?l:e,b=st?b:0,i=st?i:0),(0|R)==(0|e)){if(!R){l=110;break t}m=0|f_(0|b,0,0|A,0),u=0|w(),e=0|f_(0|i,0,0|A,0),z=0|w(),b=0|f_(0|b,0,0|d,0),A=0|w(),st=0|f_(0|i,0,0|d,0),l=0|w(),b=0|xr(0|e,0,0|b,0),e=0|w(),l=0|xr(0|z,0,0|st,0|l),A=0|xr(0|l,0|w(),0|A,0),e=0|xr(0|A,0|w(),0|e,0),A=0|w(),u=0|xr(0,0|b,0|m,0|u),b=0|xr(0|e,0|A,1&((m=0|w())>>>0>>0|(0|m)==(0|b)&u>>>0<0),0),A=0|w(),e=0|f_(0|h,0,0|C,0),l=0|w(),st=0|f_(0|y,0,0|C,0),z=0|w(),i=0|f_(0|h,0,0|S,0),d=0|w(),_t=0|f_(0|y,0,0|S,0),rt=0|w(),i=0|xr(0|st,0,0|i,0),st=0|w(),rt=0|xr(0|z,0,0|_t,0|rt),d=0|xr(0|rt,0|w(),0|d,0),st=0|xr(0|d,0|w(),0|st,0),d=0|w(),l=0|xr(0,0|i,0|e,0|l),i=0|xr(0|st,0|d,1&((e=0|w())>>>0>>0|(0|e)==(0|i)&l>>>0<0),0),d=0|w(),l=0|g(l=A>>>0>>0|(0|A)==(0|d)&b>>>0>>0?-1:A>>>0>d>>>0|(0|A)==(0|d)&b>>>0>i>>>0?1:m>>>0>>0|(0|m)==(0|e)&u>>>0>>0?-1:1&(m>>>0>e>>>0|(0|m)==(0|e)&u>>>0>l>>>0),R)}else l=R-e|0;if((0|l)>=0){l=110;break t}}_[n>>2]=I,T=0|_[I+12>>2],d=0|_[T+88>>2],e=0|_[T+92>>2],T=0|_[T+96>>2],O=0|_[o>>2],i=D,b=j}k=F-e|0,b=x-T|0,i=0|f_(0|q,0|$,0|(i=W-d|0),((0|i)<0)<<31>>31),A=0|w(),A=0|xr(0|(k=0|f_(0|tt,0|et,0|k,((0|k)<0)<<31>>31)),0|w(),0|i,0|A),b=0|xr(0|A,0|(i=0|w()),0|(b=0|f_(0|it,0|nt,0|b,((0|b)<0)<<31>>31)),0|w()),i=0|w(),A=(0|O)==(0|a)?0:ot,_[o>>2]=A,k=W,v=F,f=x,l=T}}}function Ai(t,e,i){t|=0,e|=0;var o,r=0,s=0,c=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0;if(o=Q,Q=Q+176|0,(0|(i|=0))<1)return 0|(r=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,0|(r=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,0|(r=0|_[t+52>>2])&&(0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+52>>2]=0),n[t+56|0]=1,_[t+52>>2]=0,_[t+44>>2]=0,_[t+48>>2]=0,void(Q=o);for(_[o+32>>2]=0,_[o+36>>2]=0,_[o+40>>2]=0,_[o+44>>2]=256,_[o+48>>2]=0,_[o+52>>2]=0,_[o+56>>2]=0,_[o+60>>2]=256,_[o+64>>2]=0,_[o+68>>2]=0,_[o+72>>2]=0,_[o+76>>2]=256,n[o+96|0]=1,_[o+92>>2]=0,_[o+84>>2]=0,_[o+88>>2]=0,r=0,s=e,c=-246811958,m=1900671690,y=-246811958,v=1900671690,w=-246811958,k=1900671690;l=0|_[s>>2],b=0|_[s+4>>2],u=0|_[s+8>>2],_[a>>2]=l,m=(d=+p[a>>2])<(_[a>>2]=m,+p[a>>2])?l:m,_[a>>2]=b,v=(A=+p[a>>2])<(_[a>>2]=v,+p[a>>2])?b:v,_[a>>2]=u,k=(f=+p[a>>2])<(_[a>>2]=k,+p[a>>2])?u:k,_[a>>2]=c,c=+p[a>>2]>2]=y,y=+p[a>>2]>2]=w,w=+p[a>>2]>2]=c,S=+p[a>>2],_[a>>2]=m,C=+p[a>>2],_[a>>2]=y,h=+p[a>>2],_[a>>2]=v,f=+p[a>>2],_[a>>2]=w,A=+p[a>>2],_[a>>2]=k,d=+p[a>>2],s=S-C>2]=s,(0|(r=S-C>>0)%3|0),_[o+104>>2]=r,m=(3^s)-r|0,_[o+108>>2]=m,R=((m+1|0)%3|0)==(0|s)?9788566967472434e-20*(S-C):-9788566967472434e-20*(S-C),j=((m+1|0)%3|0)==(0|s)?9788566967472434e-20*(h-f):-9788566967472434e-20*(h-f),D=((m+1|0)%3|0)==(0|s)?9788566967472434e-20*(A-d):-9788566967472434e-20*(A-d),p[o>>2]=R,p[o+4>>2]=j,p[o+8>>2]=D,p[o+12>>2]=0,R=0!=R?1/R:R,j=0!=j?1/j:j,D=0!=D?1/D:D,p[o+16>>2]=.5*(S+C),p[o+20>>2]=.5*(h+f),p[o+24>>2]=.5*(A+d),p[o+28>>2]=0,n[0|(m=o+144+16|0)]=1,_[(y=o+144+12|0)>>2]=0,_[o+144+4>>2]=0,_[o+144+8>>2]=0,_[6630]=1+(0|_[6630]),(r=0|di(16+(i<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,s=r+4+15&-16):s=0,c=0|_[o+144+4>>2],l=0|_[y>>2],(0|c)<=0)0|l&&(T=25);else{r=0;do{x=l+(r<<4)|0,_[(T=s+(r<<4)|0)>>2]=_[x>>2],_[T+4>>2]=_[x+4>>2],_[T+8>>2]=_[x+8>>2],_[T+12>>2]=_[x+12>>2],r=r+1|0}while((0|r)!=(0|c));T=25}if(25==(0|T)&&(0|n[0|m]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[y>>2]=0),n[0|m]=1,_[y>>2]=s,_[o+144+8>>2]=i,_[s>>2]=_[o+128>>2],_[s+4>>2]=_[o+128+4>>2],_[s+8>>2]=_[o+128+8>>2],_[s+12>>2]=_[o+128+12>>2],1!=(0|i)){r=1;do{x=(0|_[y>>2])+(r<<4)|0,_[x>>2]=_[o+128>>2],_[x+4>>2]=_[o+128+4>>2],_[x+8>>2]=_[o+128+8>>2],_[x+12>>2]=_[o+128+12>>2],r=r+1|0}while((0|r)!=(0|i))}for(_[o+144+4>>2]=i,c=o+128+(_[o+108>>2]<<2)|0,l=0|_[y>>2],b=o+128+(_[o+112>>2]<<2)|0,u=o+128+(_[o+104>>2]<<2)|0,d=+p[o+16>>2],A=+p[o+20>>2],f=+p[o+24>>2],s=0,r=e;C=j*(+p[r+4>>2]-A),S=D*(+p[r+8>>2]-f),p[o+128>>2]=R*(+p[r>>2]-d),p[o+128+4>>2]=C,p[o+128+8>>2]=S,p[o+128+12>>2]=0,_[l+(s<<4)>>2]=~~+p[c>>2],_[l+(s<<4)+4>>2]=~~+p[b>>2],_[l+(s<<4)+8>>2]=~~+p[u>>2],_[l+(s<<4)+12>>2]=s,(0|(s=s+1|0))!=(0|i);)r=r+16|0;if((0|i)>1&&Ft(o+144|0,0,i+-1|0),_[o+36>>2]=_[o+32>>2],_[o+40>>2]=0,_[o+44>>2]=i,(0|(r=0|_[o+84>>2]))<(0|i)){if((0|_[o+88>>2])<(0|i)){if(i?(_[6630]=1+(0|_[6630]),(s=0|di(16+(i<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,l=0|_[o+84>>2]):(s=0,l=r),(0|l)>0){c=0;do{_[s+(c<<2)>>2]=_[(0|_[o+92>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|l))}0|(c=0|_[o+92>>2])&&(0|n[o+96|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[o+92>>2]=0),n[o+96|0]=1,_[o+92>>2]=s,_[o+88>>2]=i}do{_[(0|_[o+92>>2])+(r<<2)>>2]=0,r=r+1|0}while((0|r)!=(0|i))}_[o+84>>2]=i,b=0;do{if(!(r=0|_[o+40>>2])&&((r=0|_[o+36>>2])?(_[o+36>>2]=_[r+8>>2],s=r):(_[6630]=1+(0|_[6630]),(r=0|di(31))?(_[(r+4+15&-16)-4>>2]=r,s=r+4+15&-16):s=0,r=0|_[o+44>>2],_[s+4>>2]=r,_[(c=s+8|0)>>2]=0,_[6630]=1+(0|_[6630]),(r=0|di(16+(112*r|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,_[s>>2]=r,_[c>>2]=_[o+32>>2],_[o+32>>2]=s),r=0|_[s>>2],(0|(l=0|_[s+4>>2]))>0&&(_[r>>2]=1!=(0|l)?r+112|0:0,1!=(0|l)))){s=1,c=r+112|0;do{x=(0|(s=s+1|0))<(0|l),F=c,c=c+112|0,_[F>>2]=x?c:0}while(x)}_[o+40>>2]=_[r>>2],x=r+104|0,_[r>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+16>>2]=0,_[x>>2]=-1,_[r+8>>2]=0,W=(0|_[y>>2])+(b<<4)|0,_[(F=r+88|0)>>2]=_[W>>2],_[F+4>>2]=_[W+4>>2],_[F+8>>2]=_[W+8>>2],_[F+12>>2]=_[W+12>>2],_[x>>2]=-1,_[(0|_[o+92>>2])+(b<<2)>>2]=r,b=b+1|0}while((0|b)<(0|i));if(0|(r=0|_[y>>2])&&(0|n[0|m]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[y>>2]=0),n[0|m]=1,_[y>>2]=0,_[o+144+4>>2]=0,_[o+144+8>>2]=0,_[o+52>>2]=_[o+48>>2],_[o+56>>2]=0,_[o+60>>2]=6*i,_[o+116>>2]=0,_[o+120>>2]=0,_[o+100>>2]=-3,_[o+128>>2]=0,_[o+128+4>>2]=0,_[o+128+8>>2]=0,_[o+128+12>>2]=0,Dl(o,0,i,o+128|0),_[o+124>>2]=_[o+128>>2],0|(r=0|_[y>>2])&&(0|n[0|m]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[y>>2]=0),(0|(r=0|_[t+4>>2]))<0){(0|_[t+8>>2])<0&&(0|(s=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=0,_[t+8>>2]=0);do{x=(0|_[t+12>>2])+(r<<4)|0,_[x>>2]=_[o+144>>2],_[x+4>>2]=_[o+144+4>>2],_[x+8>>2]=_[o+144+8>>2],_[x+12>>2]=_[o+144+12>>2],r=r+1|0}while(0|r)}if(_[t+4>>2]=0,_[o+144>>2]=0,_[o+144+4>>2]=0,_[o+144+8>>2]=0,(0|(r=0|_[t+24>>2]))<0){(0|_[t+28>>2])<0&&(0|(s=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+28>>2]=0);do{x=(0|_[t+32>>2])+(12*r|0)|0,_[x>>2]=_[o+144>>2],_[x+4>>2]=_[o+144+4>>2],_[x+8>>2]=_[o+144+8>>2],r=r+1|0}while(0|r)}if(_[t+24>>2]=0,(0|(s=0|_[t+44>>2]))<0&&(r=0|_[t+52>>2],(0|_[t+48>>2])<0&&(0|r&&0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),n[t+56|0]=1,_[t+52>>2]=0,_[t+48>>2]=0,r=0),wn(r+(s<<2)|0,0,0|g(s,-4))),_[t+44>>2]=0,s=0|_[o+124>>2],(0|_[s+104>>2])<0){for(_[s+104>>2]=0,_[6630]=1+(0|_[6630]),(r=0|di(23))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,_[r>>2]=s,x=0,u=1,m=r,y=1,c=r,w=r;;){if((0|_[s+100>>2])>-1?(p[o+144+(_[o+108>>2]<<2)>>2]=+(0|_[s+88>>2]),p[o+144+(_[o+112>>2]<<2)>>2]=+(0|_[s+92>>2]),d=+(0|_[s+96>>2])):(d=+Rn(s+24|0),d/=+Rn(F=s+72|0),p[o+144+(_[o+108>>2]<<2)>>2]=d,d=+Rn(s+40|0),d/=+Rn(F),p[o+144+(_[o+112>>2]<<2)>>2]=d,d=+Rn(s+56|0),d/=+Rn(F)),p[o+144+(_[o+104>>2]<<2)>>2]=d,d=+p[o+144>>2]*+p[o>>2]+ +p[o+16>>2],A=+p[o+144+4>>2]*+p[o+4>>2]+ +p[o+20>>2],f=+p[o+144+8>>2]*+p[o+8>>2]+ +p[o+24>>2],(0|(l=0|_[t+4>>2]))==(0|_[t+8>>2])&&(0|l)<(0|(O=0|l?l<<1:1))){if(O?(_[6630]=1+(0|_[6630]),(r=0|di(16+(O<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,l=0|_[t+4>>2]):r=0,(0|l)>0){b=0;do{F=r+(b<<4)|0,W=(0|_[t+12>>2])+(b<<4)|0,_[F>>2]=_[W>>2],_[F+4>>2]=_[W+4>>2],_[F+8>>2]=_[W+8>>2],_[F+12>>2]=_[W+12>>2],b=b+1|0}while((0|b)!=(0|l))}0|(l=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=r,_[t+8>>2]=O,r=0|_[t+4>>2]}else r=l;if(F=0|_[t+12>>2],p[F+(r<<4)>>2]=d,p[F+(r<<4)+4>>2]=A,p[F+(r<<4)+8>>2]=f,p[F+(r<<4)+12>>2]=0,_[t+4>>2]=1+(0|_[t+4>>2]),F=0|_[s+8>>2]){for(B=F,W=-1,r=-1,k=u,i=m,s=y;;){if((0|(b=0|_[(I=B+20|0)>>2]))<0){e=0|_[t+24>>2],_[o+144>>2]=0,_[o+144+4>>2]=0,_[o+144+8>>2]=0;do{if((0|e)==(0|_[t+28>>2])){if((0|e)>=(0|(m=0|e?e<<1:1))){l=e;break}if(m?(_[6630]=1+(0|_[6630]),(l=0|di(16+(12*m|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,u=0|_[t+24>>2]):(l=0,u=e),(0|u)>0){b=0;do{v=l+(12*b|0)|0,y=(0|_[t+32>>2])+(12*b|0)|0,_[v>>2]=_[y>>2],_[v+4>>2]=_[y+4>>2],_[v+8>>2]=_[y+8>>2],b=b+1|0}while((0|b)!=(0|u))}0|(b=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[b+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=l,_[t+28>>2]=m,l=0|_[t+24>>2]}else l=e}while(0);l=(0|_[t+32>>2])+(12*l|0)|0,_[l>>2]=_[o+144>>2],_[l+4>>2]=_[o+144+4>>2],_[l+8>>2]=_[o+144+8>>2],l=1+(0|_[t+24>>2])|0,_[t+24>>2]=l,_[o+144>>2]=0,_[o+144+4>>2]=0,_[o+144+8>>2]=0;do{if((0|l)==(0|_[t+28>>2])){if((0|l)>=(0|(m=0|l?l<<1:1)))break;if(m?(_[6630]=1+(0|_[6630]),(l=0|di(16+(12*m|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,u=l,l=0|_[t+24>>2]):u=0,(0|l)>0){b=0;do{v=u+(12*b|0)|0,y=(0|_[t+32>>2])+(12*b|0)|0,_[v>>2]=_[y>>2],_[v+4>>2]=_[y+4>>2],_[v+8>>2]=_[y+8>>2],b=b+1|0}while((0|b)!=(0|l))}0|(l=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=u,_[t+28>>2]=m,l=0|_[t+24>>2]}}while(0);if(v=(0|_[t+32>>2])+(12*l|0)|0,_[v>>2]=_[o+144>>2],_[v+4>>2]=_[o+144+4>>2],_[v+8>>2]=_[o+144+8>>2],_[t+24>>2]=1+(0|_[t+24>>2]),v=0|_[t+32>>2],_[I>>2]=e,_[20+(0|_[B+8>>2])>>2]=e+1,_[v+(12*e|0)+4>>2]=1,_[v+(12*(e+1|0)|0)+4>>2]=-1,y=0|_[B+12>>2],(0|(l=0|_[y+104>>2]))<0){_[y+104>>2]=s;do{if((0|s)==(0|k)){if((0|k)>=(0|(l=0|k?k<<1:1))){l=k,b=i,m=w;break}do{if(l){if(_[6630]=1+(0|_[6630]),!(b=0|di(16+(l<<2|3)|0))){u=0;break}_[(b+4+15&-16)-4>>2]=b,u=b+4+15&-16}else u=0}while(0);if((0|k)>0){b=0;do{_[u+(b<<2)>>2]=_[i+(b<<2)>>2],b=b+1|0}while((0|b)!=(0|k));if(!c){b=u,m=u,c=u;break}}else if(!(0|i)|!(0|c)){b=u,m=u,c=u;break}_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),b=u,m=u,c=u}else l=k,b=i,m=w}while(0);_[b+(s<<2)>>2]=y,y=s,s=s+1|0,u=m}else y=l,l=k,b=i,u=w;_[v+(12*e|0)+8>>2]=y,_[v+(12*(e+1|0)|0)+8>>2]=x,m=b,b=0|_[I>>2]}else l=k,m=i,u=w;if((0|W)>-1?_[(0|_[t+32>>2])+(12*b|0)>>2]=W-b:r=b,(0|(B=0|_[B>>2]))==(0|F))break;W=b,k=l,i=m,w=u}_[(0|_[t+32>>2])+(12*r|0)>>2]=b-r,k=m,w=u}else l=u,k=m,s=y;if((0|(r=x+1|0))>=(0|s))break;x=r,u=l,m=k,y=s,s=0|_[k+(r<<2)>>2]}for(y=0;;){if(0|(v=0|_[8+(0|_[k+(y<<2)>>2])>>2])){m=v;do{if((0|(r=0|_[(u=m+20|0)>>2]))>-1){s=0|_[t+44>>2];do{if((0|s)==(0|_[t+48>>2])){if((0|s)>=(0|(b=0|s?s<<1:1)))break;if(b?(_[6630]=1+(0|_[6630]),(r=0|di(16+(b<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[t+44>>2]):r=0,l=0|_[t+52>>2],(0|s)<=0)l&&(T=186);else{c=0;do{_[r+(c<<2)>>2]=_[l+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s));T=186}186==(0|T)&&(T=0,0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+52>>2]=0,s=0|_[t+44>>2]),n[t+56|0]=1,_[t+52>>2]=r,_[t+48>>2]=b,r=0|_[u>>2]}}while(0);_[(0|_[t+52>>2])+(s<<2)>>2]=r,_[t+44>>2]=1+(0|_[t+44>>2]),r=m;do{_[r+20>>2]=-1,r=0|_[4+(0|_[r+8>>2])>>2]}while((0|r)!=(0|m))}m=0|_[m>>2]}while((0|m)!=(0|v))}if((0|y)==(0|x))break;y=y+1|0}!(0|k)|!(0|w)||(_[6631]=1+(0|_[6631]),Ni(0|_[w+-4>>2]))}!function(t){var e=0,i=0;if(0|(e=0|_[(t|=0)+92>>2])&&(0|n[t+96|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+92>>2]=0),n[t+96|0]=1,_[t+92>>2]=0,_[t+84>>2]=0,_[t+88>>2]=0,0|(e=0|_[t+64>>2]))do{_[t+64>>2]=_[e+8>>2],0|(i=0|_[e>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+64>>2]}while(0|e);if(0|(e=0|_[t+48>>2]))do{_[t+48>>2]=_[e+8>>2],0|(i=0|_[e>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+48>>2]}while(0|e);if(e=0|_[t+32>>2])do{_[t+32>>2]=_[e+8>>2],0|(i=0|_[e>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+32>>2]}while(0|e)}(o),Q=o}function fi(t){var e,i=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0;if(e=Q,Q=Q+64|0,!(0|n[356+(t|=0)|0]))return t=0|n[t+312|0],Q=e,0|(t=!!(t<<24>>24));switch(_[t+336>>2]=0,_[t+336+4>>2]=0,_[t+336+8>>2]=0,_[t+336+12>>2]=0,n[t+336+16|0]=0,f=0|n[t+332|0],n[t+332|0]=-16&f,n[t+356|0]=0,0|_[t>>2]){case 0:return n[t+312|0]=0,Q=e,0|(t=!!((t=0)<<24>>24));case 1:return _[t+244>>2]=_[t+84>>2],_[t+244+4>>2]=_[t+84+4>>2],_[t+244+8>>2]=_[t+84+8>>2],_[t+244+12>>2]=_[t+84+12>>2],_[t+260>>2]=_[t+164>>2],_[t+260+4>>2]=_[t+164+4>>2],_[t+260+8>>2]=_[t+164+8>>2],_[t+260+12>>2]=_[t+164+12>>2],W=+p[t+248>>2]-+p[t+264>>2],F=+p[t+252>>2]-+p[t+268>>2],p[t+276>>2]=+p[t+244>>2]-+p[t+260>>2],p[t+280>>2]=W,p[t+284>>2]=F,p[t+288>>2]=0,n[t+352|0]=0,n[t+332|0]=-16&f,p[t+336>>2]=1,p[t+340>>2]=0,p[t+344>>2]=0,p[t+348>>2]=0,n[t+312|0]=1,Q=e,0|(t=!!((t=1)<<24>>24));case 2:return o=+p[t+4>>2],r=+p[t+8>>2],a=+p[t+12>>2],(0-o)*(l=+p[t+20>>2]-o)+(0-r)*(d=+p[t+24>>2]-r)+(0-a)*(b=+p[t+28>>2]-a)>0?(0-o)*l+(0-r)*d+(0-a)*b>2]=o,p[t+340>>2]=r,p[t+344>>2]=0,p[t+348>>2]=0,j=+p[t+84>>2],I=+p[t+88>>2],W=+p[t+92>>2],j+=r*(+p[t+100>>2]-j),I+=r*(+p[t+104>>2]-I),W+=r*(+p[t+108>>2]-W),p[t+244>>2]=j,p[t+248>>2]=I,p[t+252>>2]=W,p[t+256>>2]=0,D=+p[t+164>>2],B=+p[t+168>>2],F=+p[t+172>>2],D+=r*(+p[t+180>>2]-D),B+=r*(+p[t+184>>2]-B),F+=r*(+p[t+188>>2]-F),p[t+260>>2]=D,p[t+264>>2]=B,p[t+268>>2]=F,p[t+272>>2]=0,p[t+276>>2]=j-D,p[t+280>>2]=I-B,p[t+284>>2]=W-F,p[t+288>>2]=0,2&s?i=1:(_[t>>2]=1,i=0),1&s||(m=t+4+(i<<4)|0,x=t+84+(i<<4)|0,O=t+164+(i<<4)|0,_[t>>2]=i,_[t+4>>2]=_[m>>2],_[t+4+4>>2]=_[m+4>>2],_[t+4+8>>2]=_[m+8>>2],_[t+4+12>>2]=_[m+12>>2],_[t+84>>2]=_[x>>2],_[t+84+4>>2]=_[x+4>>2],_[t+84+8>>2]=_[x+8>>2],_[t+84+12>>2]=_[x+12>>2],_[t+164>>2]=_[O>>2],_[t+164+4>>2]=_[O+4>>2],_[t+164+8>>2]=_[O+8>>2],_[t+164+12>>2]=_[O+12>>2]),O=r>=0&o>=0&1,n[t+312|0]=O,Q=e,0|(t=!!((t=O)<<24>>24));case 3:_[e+16>>2]=0,_[e+16+4>>2]=0,_[e+16+8>>2]=0,_[e+16+12>>2]=0,ai(e+16|0,t+4|0,t+20|0,t+36|0,t+316|0),F=+p[t+336>>2],o=+p[t+340>>2],r=+p[t+344>>2],j=+p[t+84>>2]*F+ +p[t+100>>2]*o+ +p[t+116>>2]*r,I=F*+p[t+88>>2]+o*+p[t+104>>2]+r*+p[t+120>>2],W=F*+p[t+92>>2]+o*+p[t+108>>2]+r*+p[t+124>>2],p[t+244>>2]=j,p[t+248>>2]=I,p[t+252>>2]=W,p[t+256>>2]=0,D=F*+p[t+164>>2]+o*+p[t+180>>2]+r*+p[t+196>>2],B=F*+p[t+168>>2]+o*+p[t+184>>2]+r*+p[t+200>>2],F=F*+p[t+172>>2]+o*+p[t+188>>2]+r*+p[t+204>>2],p[t+260>>2]=D,p[t+264>>2]=B,p[t+268>>2]=F,p[t+272>>2]=0,p[t+276>>2]=j-D,p[t+280>>2]=I-B,p[t+284>>2]=W-F,p[t+288>>2]=0,f=0|_[t>>2];do{if((0|f)>3)8&(i=0|n[t+332|0])?(s=t+332|0,A=i,c=f,O=19):(s=t+164+(f+-1<<4)|0,A=t+84+(f+-1<<4)|0,c=t+4+(f+-1<<4)|0,_[t>>2]=f+-1,_[t+52>>2]=_[c>>2],_[t+52+4>>2]=_[c+4>>2],_[t+52+8>>2]=_[c+8>>2],_[t+52+12>>2]=_[c+12>>2],_[t+132>>2]=_[A>>2],_[t+132+4>>2]=_[A+4>>2],_[t+132+8>>2]=_[A+8>>2],_[t+132+12>>2]=_[A+12>>2],_[t+212>>2]=_[s>>2],_[t+212+4>>2]=_[s+4>>2],_[t+212+8>>2]=_[s+8>>2],_[t+212+12>>2]=_[s+12>>2],s=t+332|0,A=i,c=f+-1|0,O=19);else{if(3==(0|f)){s=t+332|0,A=0|n[t+332|0],c=3,O=19;break}(0|f)<=1?1==(0|f)&&(i=1,O=26):(i=2,O=22)}}while(0);return 19==(0|O)&&(i=c+-1|0,4&A?(i=c,O=22):(_[t>>2]=i,_[t+36>>2]=_[t+4+(i<<4)>>2],_[t+36+4>>2]=_[t+4+(i<<4)+4>>2],_[t+36+8>>2]=_[t+4+(i<<4)+8>>2],_[t+36+12>>2]=_[t+4+(i<<4)+12>>2],_[t+116>>2]=_[t+84+(i<<4)>>2],_[t+116+4>>2]=_[t+84+(i<<4)+4>>2],_[t+116+8>>2]=_[t+84+(i<<4)+8>>2],_[t+116+12>>2]=_[t+84+(i<<4)+12>>2],_[t+196>>2]=_[t+164+(i<<4)>>2],_[t+196+4>>2]=_[t+164+(i<<4)+4>>2],_[t+196+8>>2]=_[t+164+(i<<4)+8>>2],_[t+196+12>>2]=_[t+164+(i<<4)+12>>2],O=23)),22==(0|O)&&(s=t+332|0,O=23),23==(0|O)&&(c=i+-1|0,2&n[0|s]?O=26:(_[t>>2]=c,_[t+20>>2]=_[t+4+(c<<4)>>2],_[t+20+4>>2]=_[t+4+(c<<4)+4>>2],_[t+20+8>>2]=_[t+4+(c<<4)+8>>2],_[t+20+12>>2]=_[t+4+(c<<4)+12>>2],_[t+100>>2]=_[t+84+(c<<4)>>2],_[t+100+4>>2]=_[t+84+(c<<4)+4>>2],_[t+100+8>>2]=_[t+84+(c<<4)+8>>2],_[t+100+12>>2]=_[t+84+(c<<4)+12>>2],_[t+180>>2]=_[t+164+(c<<4)>>2],_[t+180+4>>2]=_[t+164+(c<<4)+4>>2],_[t+180+8>>2]=_[t+164+(c<<4)+8>>2],_[t+180+12>>2]=_[t+164+(c<<4)+12>>2],A=s,O=27)),26==(0|O)&&(A=t+332|0,c=i,O=27),27!=(0|O)||(u=c+-1|0,1&n[0|A])||(_[t>>2]=u,_[t+4>>2]=_[t+4+(u<<4)>>2],_[t+4+4>>2]=_[t+4+(u<<4)+4>>2],_[t+4+8>>2]=_[t+4+(u<<4)+8>>2],_[t+4+12>>2]=_[t+4+(u<<4)+12>>2],_[t+84>>2]=_[t+84+(u<<4)>>2],_[t+84+4>>2]=_[t+84+(u<<4)+4>>2],_[t+84+8>>2]=_[t+84+(u<<4)+8>>2],_[t+84+12>>2]=_[t+84+(u<<4)+12>>2],_[t+164>>2]=_[t+164+(u<<4)>>2],_[t+164+4>>2]=_[t+164+(u<<4)+4>>2],_[t+164+8>>2]=_[t+164+(u<<4)+8>>2],_[t+164+12>>2]=_[t+164+(u<<4)+12>>2]),i=(o>=0?!(+p[t+336>>2]>=0):1)|!(r>=0)?0:+p[t+348>>2]>=0&1,n[t+312|0]=i,Q=e,0|(t=!!((t=i)<<24>>24));case 4:_[e>>2]=0,_[e+4>>2]=0,_[e+8>>2]=0,_[e+12>>2]=0,n[0|(m=e+16+16|0)]=0,_[t+316>>2]=0,_[t+316+4>>2]=0,_[t+316+8>>2]=0,_[t+316+12>>2]=0,n[t+332|0]=15|f,P=+p[t+20>>2],U=+p[t+4>>2],E=+p[t+24>>2],T=+p[t+8>>2],V=+p[t+28>>2],Y=+p[t+12>>2],L=+p[t+36>>2],H=+p[t+40>>2],c=(J=((E-T)*((G=+p[t+44>>2])-Y)-(V-Y)*(H-T))*((M=+p[t+52>>2])-U)+((V-Y)*(L-U)-(P-U)*(G-Y))*((Z=+p[t+56>>2])-T)+((P-U)*(H-T)-(E-T)*(L-U))*((N=+p[t+60>>2])-Y))*J<9.99999905104687e-9?-1:((0-U)*((E-T)*(G-Y)-(V-Y)*(H-T))+(0-T)*((V-Y)*(L-U)-(P-U)*(G-Y))+((P-U)*(H-T)-(E-T)*(L-U))*(0-Y))*J<0&1,A=(J=(V-Y)*((L-U)*(Z-T)-(H-T)*(M-U))+((P-U)*((H-T)*(N-Y)-(G-Y)*(Z-T))+(E-T)*((G-Y)*(M-U)-(L-U)*(N-Y))))*J<9.99999905104687e-9?-1:((0-Y)*((L-U)*(Z-T)-(H-T)*(M-U))+((0-U)*((H-T)*(N-Y)-(G-Y)*(Z-T))+(0-T)*((G-Y)*(M-U)-(L-U)*(N-Y))))*J<0&1,f=(J=(G-Y)*((E-T)*(M-U)-(P-U)*(Z-T))+((L-U)*((V-Y)*(Z-T)-(E-T)*(N-Y))+(H-T)*((P-U)*(N-Y)-(V-Y)*(M-U))))*J<9.99999905104687e-9?-1:((0-Y)*((E-T)*(M-U)-(P-U)*(Z-T))+((0-U)*((V-Y)*(Z-T)-(E-T)*(N-Y))+(0-T)*((P-U)*(N-Y)-(V-Y)*(M-U))))*J<0&1,u=(T=(Y-V)*((H-E)*(M-P)-(L-P)*(Z-E))+((U-P)*((G-V)*(Z-E)-(H-E)*(N-V))+(T-E)*((L-P)*(N-V)-(G-V)*(M-P))))*T<9.99999905104687e-9?-1:((0-V)*((H-E)*(M-P)-(L-P)*(Z-E))+((0-P)*((G-V)*(Z-E)-(H-E)*(N-V))+(0-E)*((L-P)*(N-V)-(G-V)*(M-P))))*T<0&1;do{if((A|c|f|u)<0)n[t+352|0]=1,i=t+312|0,O=68;else{if(!(A|c|f|u)){if(0|n[t+352|0]){i=t+312|0,O=68;break}n[t+312|0]=1,_[t+276>>2]=0,_[t+276+4>>2]=0,_[t+276+8>>2]=0,_[t+276+12>>2]=0,i=1;break}0|c&&(ai(e,t+4|0,t+20|0,t+36|0,e+16|0),o=+p[e+16>>2],r=+p[e+16+4>>2],a=+p[e+16+8>>2],(l=o-+p[e>>2])*l+(d=r-+p[e+4>>2])*d+(b=a-+p[e+8>>2])*b<34028234663852886e22)?(X=0|_[e+16+12>>2],p[t+316>>2]=o,p[t+320>>2]=r,p[t+324>>2]=a,_[t+328>>2]=X,X=0|n[0|m],n[t+332|0]=1&X|-16&n[t+332|0]|2&X|4&X,X=0|_[e+16+24>>2],c=0|_[e+16+28>>2],_[t+336>>2]=_[e+16+20>>2],_[t+340>>2]=X,_[t+344>>2]=c,p[t+348>>2]=0,o=l*l+d*d+b*b):o=34028234663852886e22,0|A&&(ai(e,t+4|0,t+36|0,t+52|0,e+16|0),h=+p[e+16>>2],y=+p[e+16+4>>2],g=+p[e+16+8>>2],(C=h-+p[e>>2])*C+(v=y-+p[e+4>>2])*v+(S=g-+p[e+8>>2])*S>2],p[t+316>>2]=h,p[t+320>>2]=y,p[t+324>>2]=g,_[t+328>>2]=A,A=0|n[0|m],n[t+332|0]=1&A|-16&n[t+332|0]|A<<1&4|A<<1&8,A=0|_[e+16+24>>2],X=0|_[e+16+28>>2],_[t+336>>2]=_[e+16+20>>2],p[t+340>>2]=0,_[t+344>>2]=A,_[t+348>>2]=X,o=C*C+v*v+S*S),0|f&&(ai(e,t+4|0,t+52|0,t+20|0,e+16|0),w=+p[e+16>>2],k=+p[e+16+4>>2],R=+p[e+16+8>>2],(j=w-+p[e>>2])*j+(D=k-+p[e+4>>2])*D+(I=R-+p[e+8>>2])*I>2],p[t+316>>2]=w,p[t+320>>2]=k,p[t+324>>2]=R,_[t+328>>2]=f,f=0|n[0|m],n[t+332|0]=1&f|-16&n[t+332|0]|(255&f)>>>1&2|f<<2&8,f=0|_[e+16+28>>2],X=0|_[e+16+24>>2],_[t+336>>2]=_[e+16+20>>2],_[t+340>>2]=f,p[t+344>>2]=0,_[t+348>>2]=X,o=j*j+D*D+I*I),0|u&&(ai(e,t+20|0,t+52|0,t+36|0,e+16|0),B=+p[e+16>>2],W=+p[e+16+4>>2],F=+p[e+16+8>>2],(U=B-+p[e>>2])*U+(Y=W-+p[e+4>>2])*Y+(J=F-+p[e+8>>2])*J>2],p[t+316>>2]=B,p[t+320>>2]=W,p[t+324>>2]=F,_[t+328>>2]=u,u=0|n[0|m],n[t+332|0]=4&u|-16&n[t+332|0]|u<<1&2|u<<2&8,u=0|_[e+16+20>>2],m=0|_[e+16+28>>2],X=0|_[e+16+24>>2],p[t+336>>2]=0,_[t+340>>2]=u,_[t+344>>2]=m,_[t+348>>2]=X),N=+p[t+336>>2],L=+p[t+340>>2],J=+p[t+344>>2],o=+p[t+348>>2],E=+p[t+84>>2]*N+ +p[t+100>>2]*L+ +p[t+116>>2]*J+ +p[t+132>>2]*o,Z=N*+p[t+88>>2]+L*+p[t+104>>2]+J*+p[t+120>>2]+o*+p[t+136>>2],Y=N*+p[t+92>>2]+L*+p[t+108>>2]+J*+p[t+124>>2]+o*+p[t+140>>2],p[t+244>>2]=E,p[t+248>>2]=Z,p[t+252>>2]=Y,p[t+256>>2]=0,H=N*+p[t+164>>2]+L*+p[t+180>>2]+J*+p[t+196>>2]+o*+p[t+212>>2],U=N*+p[t+168>>2]+L*+p[t+184>>2]+J*+p[t+200>>2]+o*+p[t+216>>2],J=N*+p[t+172>>2]+L*+p[t+188>>2]+J*+p[t+204>>2]+o*+p[t+220>>2],p[t+260>>2]=H,p[t+264>>2]=U,p[t+268>>2]=J,p[t+272>>2]=0,p[t+276>>2]=E-H,p[t+280>>2]=Z-U,p[t+284>>2]=Y-J,p[t+288>>2]=0,c=0|_[t>>2];do{if((0|c)>3)8&(i=0|n[t+332|0])?(s=t+332|0,A=i,O=52):(s=t+164+(c+-1<<4)|0,A=t+84+(c+-1<<4)|0,O=t+4+(c+-1<<4)|0,_[t>>2]=c+-1,_[t+52>>2]=_[O>>2],_[t+52+4>>2]=_[O+4>>2],_[t+52+8>>2]=_[O+8>>2],_[t+52+12>>2]=_[O+12>>2],_[t+132>>2]=_[A>>2],_[t+132+4>>2]=_[A+4>>2],_[t+132+8>>2]=_[A+8>>2],_[t+132+12>>2]=_[A+12>>2],_[t+212>>2]=_[s>>2],_[t+212+4>>2]=_[s+4>>2],_[t+212+8>>2]=_[s+8>>2],_[t+212+12>>2]=_[s+12>>2],s=t+332|0,A=i,c=c+-1|0,O=52);else{if(3==(0|c)){s=t+332|0,A=0|n[t+332|0],c=3,O=52;break}(0|c)<=1?1==(0|c)&&(i=1,O=59):(i=2,O=55)}}while(0);52==(0|O)&&(i=c+-1|0,4&A?(i=c,O=55):(_[t>>2]=i,_[t+36>>2]=_[t+4+(i<<4)>>2],_[t+36+4>>2]=_[t+4+(i<<4)+4>>2],_[t+36+8>>2]=_[t+4+(i<<4)+8>>2],_[t+36+12>>2]=_[t+4+(i<<4)+12>>2],_[t+116>>2]=_[t+84+(i<<4)>>2],_[t+116+4>>2]=_[t+84+(i<<4)+4>>2],_[t+116+8>>2]=_[t+84+(i<<4)+8>>2],_[t+116+12>>2]=_[t+84+(i<<4)+12>>2],_[t+196>>2]=_[t+164+(i<<4)>>2],_[t+196+4>>2]=_[t+164+(i<<4)+4>>2],_[t+196+8>>2]=_[t+164+(i<<4)+8>>2],_[t+196+12>>2]=_[t+164+(i<<4)+12>>2],O=56)),55==(0|O)&&(s=t+332|0,O=56),56==(0|O)&&(c=i+-1|0,2&n[0|s]?O=59:(_[t>>2]=c,_[t+20>>2]=_[t+4+(c<<4)>>2],_[t+20+4>>2]=_[t+4+(c<<4)+4>>2],_[t+20+8>>2]=_[t+4+(c<<4)+8>>2],_[t+20+12>>2]=_[t+4+(c<<4)+12>>2],_[t+100>>2]=_[t+84+(c<<4)>>2],_[t+100+4>>2]=_[t+84+(c<<4)+4>>2],_[t+100+8>>2]=_[t+84+(c<<4)+8>>2],_[t+100+12>>2]=_[t+84+(c<<4)+12>>2],_[t+180>>2]=_[t+164+(c<<4)>>2],_[t+180+4>>2]=_[t+164+(c<<4)+4>>2],_[t+180+8>>2]=_[t+164+(c<<4)+8>>2],_[t+180+12>>2]=_[t+164+(c<<4)+12>>2],i=c,O=60)),59==(0|O)&&(s=t+332|0,O=60),60!=(0|O)||(x=i+-1|0,1&n[0|s])||(_[t>>2]=x,_[t+4>>2]=_[t+4+(x<<4)>>2],_[t+4+4>>2]=_[t+4+(x<<4)+4>>2],_[t+4+8>>2]=_[t+4+(x<<4)+8>>2],_[t+4+12>>2]=_[t+4+(x<<4)+12>>2],_[t+84>>2]=_[t+84+(x<<4)>>2],_[t+84+4>>2]=_[t+84+(x<<4)+4>>2],_[t+84+8>>2]=_[t+84+(x<<4)+8>>2],_[t+84+12>>2]=_[t+84+(x<<4)+12>>2],_[t+164>>2]=_[t+164+(x<<4)>>2],_[t+164+4>>2]=_[t+164+(x<<4)+4>>2],_[t+164+8>>2]=_[t+164+(x<<4)+8>>2],_[t+164+12>>2]=_[t+164+(x<<4)+12>>2]),i=+p[t+336>>2]>=0&&+p[t+340>>2]>=0&&+p[t+344>>2]>=0?o>=0&1:0,n[t+312|0]=i}}while(0);return 68==(0|O)&&(n[0|i]=0,i=0),Q=e,0|(X=!!((X=i)<<24>>24));default:return n[t+312|0]=0,Q=e,0|(X=!!((X=0)<<24>>24))}return 0}function ui(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c=0,a=0,l=0,A=0,h=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0,At=0,ft=0,ut=0,mt=0,ht=0;if(s=Q,Q=Q+80|0,p[504+(t|=0)>>2]=0,p[t+500>>2]=0,n[t+525|0]=0,n[t+526|0]=0,0|n[t+552|0]&&!(0|n[t+527|0]))return it=(ht=+p[t+556>>2])*(2/(ht*ht+(ut=+p[t+560>>2])*ut+(bt=+p[t+564>>2])*bt+(ft=+p[t+568>>2])*ft)),mt=ut*(2/(ht*ht+ut*ut+bt*bt+ft*ft)),At=bt*(2/(ht*ht+ut*ut+bt*bt+ft*ft)),nt=+p[t+300>>2],Y=+p[e>>2],ot=+p[t+316>>2],J=+p[e+4>>2],_t=+p[t+332>>2],X=+p[e+8>>2],st=+p[t+304>>2],ct=+p[t+320>>2],lt=+p[t+336>>2],$=+p[t+308>>2],tt=+p[t+324>>2],et=+p[t+340>>2],z=+p[e+16>>2],K=+p[e+20>>2],q=+p[e+24>>2],pt=+p[e+32>>2],at=+p[e+36>>2],dt=+p[e+40>>2],w=+p[t+348>>2],S=+p[t+352>>2],v=+p[t+356>>2],D=+p[t+364>>2],A=+p[i>>2],I=+p[t+380>>2],h=+p[i+4>>2],B=+p[t+396>>2],l=+p[i+8>>2],W=+p[t+368>>2],F=+p[t+384>>2],x=+p[t+400>>2],k=+p[t+372>>2],R=+p[t+388>>2],j=+p[t+404>>2],g=+p[i+16>>2],C=+p[i+20>>2],a=+p[i+24>>2],O=+p[i+32>>2],P=+p[i+36>>2],V=+p[i+40>>2],T=+p[t+412>>2],M=+p[t+416>>2],c=+p[t+420>>2],N=(1-(ut*mt+bt*At))*(D*A+I*h+B*l)+(ht*mt+ft*At)*(A*W+h*F+l*x)+(ht*At-ft*mt)*(A*k+h*R+l*j),L=(ht*mt-ft*At)*(D*A+I*h+B*l)+(1-(ht*it+bt*At))*(A*W+h*F+l*x)+(ut*At+ft*it)*(A*k+h*R+l*j),G=(ht*At+ft*mt)*(D*A+I*h+B*l)+(ut*At-ft*it)*(A*W+h*F+l*x)+(1-(ht*it+ut*mt))*(A*k+h*R+l*j),Z=(ht*At-ft*mt)*(k*g+R*C+j*a)+((1-(ut*mt+bt*At))*(D*g+I*C+B*a)+(ht*mt+ft*At)*(W*g+F*C+x*a)),U=(ut*At+ft*it)*(k*g+R*C+j*a)+((ht*mt-ft*At)*(D*g+I*C+B*a)+(1-(ht*it+bt*At))*(W*g+F*C+x*a)),E=(1-(ht*it+ut*mt))*(k*g+R*C+j*a)+((ht*At+ft*mt)*(D*g+I*C+B*a)+(ut*At-ft*it)*(W*g+F*C+x*a)),rt=(ht*At-ft*mt)*(k*O+R*P+j*V)+((1-(ut*mt+bt*At))*(D*O+I*P+B*V)+(ht*mt+ft*At)*(W*O+F*P+x*V)),bt=(ut*At+ft*it)*(k*O+R*P+j*V)+((ht*mt-ft*At)*(D*O+I*P+B*V)+(1-(ht*it+bt*At))*(W*O+F*P+x*V)),it=(1-(ht*it+ut*mt))*(k*O+R*P+j*V)+((ht*At+ft*mt)*(D*O+I*P+B*V)+(ut*At-ft*it)*(W*O+F*P+x*V)),S=(nt*Y+ot*J+_t*X)*(ft=-(+p[e+48>>2]+(Y*w+J*S+X*v)))+(nt*z+ot*K+_t*q)*(At=-(z*w+K*S+q*v+ +p[e+52>>2]))+(nt*pt+ot*at+_t*dt)*(v=-(pt*w+at*S+dt*v+ +p[e+56>>2])),w=(Y*st+J*ct+X*lt)*ft+(st*z+ct*K+lt*q)*At+(st*pt+ct*at+lt*dt)*v,l=(v=(Y*$+J*tt+X*et)*ft+($*z+tt*K+et*q)*At+($*pt+tt*at+et*dt)*v)*G+(S*N+w*L)+(0*(D*A+I*h+B*l)+0*(A*W+h*F+l*x)+0*(A*k+h*R+l*j)+(+p[i+48>>2]+(A*T+h*M+l*c))),a=v*E+(S*Z+w*U)+(0*(k*g+R*C+j*a)+(0*(D*g+I*C+B*a)+0*(W*g+F*C+x*a))+(g*T+C*M+a*c+ +p[i+52>>2])),c=v*it+(S*rt+w*bt)+(0*(k*O+R*P+j*V)+(0*(D*O+I*P+B*V)+0*(W*O+F*P+x*V))+(O*T+P*M+V*c+ +p[i+56>>2])),p[s+16>>2]=(Y*$+J*tt+X*et)*G+((nt*Y+ot*J+_t*X)*N+(Y*st+J*ct+X*lt)*L),p[s+16+4>>2]=($*z+tt*K+et*q)*G+((nt*z+ot*K+_t*q)*N+(st*z+ct*K+lt*q)*L),p[s+16+8>>2]=($*pt+tt*at+et*dt)*G+((nt*pt+ot*at+_t*dt)*N+(st*pt+ct*at+lt*dt)*L),p[s+16+12>>2]=0,p[s+16+16>>2]=(Y*$+J*tt+X*et)*E+((nt*Y+ot*J+_t*X)*Z+(Y*st+J*ct+X*lt)*U),p[s+16+20>>2]=($*z+tt*K+et*q)*E+((nt*z+ot*K+_t*q)*Z+(st*z+ct*K+lt*q)*U),p[s+16+24>>2]=($*pt+tt*at+et*dt)*E+((nt*pt+ot*at+_t*dt)*Z+(st*pt+ct*at+lt*dt)*U),p[s+16+28>>2]=0,p[s+16+32>>2]=(Y*$+J*tt+X*et)*it+((nt*Y+ot*J+_t*X)*rt+(Y*st+J*ct+X*lt)*bt),p[s+16+36>>2]=($*z+tt*K+et*q)*it+((nt*z+ot*K+_t*q)*rt+(st*z+ct*K+lt*q)*bt),p[s+16+40>>2]=($*pt+tt*at+et*dt)*it+((nt*pt+ot*at+_t*dt)*rt+(st*pt+ct*at+lt*dt)*bt),p[s+16+44>>2]=0,p[s+16+48>>2]=l,p[s+16+52>>2]=a,p[s+16+56>>2]=c,p[s+16+60>>2]=0,Qt(s+16|0,s),c=+p[s>>2],a=+p[s+4>>2],l=+p[s+8>>2],+d(+(c*c+a*a+l*l))<1.1920928955078125e-7||(p[t+472>>2]=0,ht=1/+b(+(c*c+a*a+l*l)),p[t+460>>2]=ht*c,p[t+464>>2]=ht*a,p[t+468>>2]=ht*l,ht=+p[s+12>>2],ht=2*+m(+((ht=ht<-1?-1:ht)>1?1:ht)),p[t+504>>2]=ht,+d(+ht)<1.1920928955078125e-7)||(n[t+526|0]=1),void(Q=s);Qt(e,s+16|0),Qt(t+300|0,s),X=+p[s+16+12>>2],z=+p[s>>2],K=+p[s+16>>2],q=+p[s+12>>2],$=+p[s+16+4>>2],tt=+p[s+8>>2],et=+p[s+16+8>>2],it=+p[s+4>>2],Qt(i,s+16|0),Qt(t+364|0,s),a=((S=(z*et+(q*$+X*it)-K*tt)*(lt=-((nt=+p[s+16+12>>2])*(ot=+p[s>>2])+(_t=+p[s+16>>2])*(rt=+p[s+12>>2])+(st=+p[s+16+4>>2])*(pt=+p[s+8>>2])-(ct=+p[s+16+8>>2])*(at=+p[s+4>>2])))+((X*tt+q*et+K*it-z*$)*(nt*rt-ot*_t-st*at-pt*ct)+(X*q-z*K-$*it-tt*et)*(bt=-(nt*pt+rt*ct+_t*at-ot*st)))-(X*z+K*q+$*tt-et*it)*(dt=-(ot*ct+(rt*st+nt*at)-_t*pt)))+0*(w=(X*q-z*K-$*it-tt*et)*(nt*rt-ot*_t-st*at-pt*ct)-(X*z+K*q+$*tt-et*it)*lt-(z*et+(q*$+X*it)-K*tt)*dt-(X*tt+q*et+K*it-z*$)*bt)-0*(C=(X*q-z*K-$*it-tt*et)*lt+(X*z+K*q+$*tt-et*it)*(nt*rt-ot*_t-st*at-pt*ct)+(X*tt+q*et+K*it-z*$)*dt-(z*et+(q*$+X*it)-K*tt)*bt))*-S+(w*(w+0*(v=(X*z+K*q+$*tt-et*it)*bt+((z*et+(q*$+X*it)-K*tt)*(nt*rt-ot*_t-st*at-pt*ct)+(X*q-z*K-$*it-tt*et)*dt)-(X*tt+q*et+K*it-z*$)*lt)-0*S)+(c=-C-0*v-0*S)*-C)-(0*w+0*C-v)*-v,l=(0*w+0*C-v)*-C+(w*(S+0*w-0*C)+c*-v)-(w+0*v-0*S)*-S,(c=(w+0*v-0*S)*-v+(w*(0*w+0*C-v)+c*-S)-(S+0*w-0*C)*-C)*(A=1/+b(+(c*c+(a*a+l*l))))*0+(l*A*0+a*A)<-.9999998807907104?(g=1,h=-0,c=0,a=0):(g=1/(ht=+b(2*(c*A*0+(l*A*0+a*A)+1)))*(a*A*0-c*A),h=1/ht*(c*A*0-l*A*0),c=1/ht*(l*A-a*A*0),a=.5*ht),A=h*(l=1/+b(+(h*h+g*g+c*c+a*a))),k=c*l,J=(S*-(R=g*l)+(C*(l*=a)+w*-A)-v*-k)*(Y=1/+b(+((w*l-C*-A-v*-R-S*-k)*(w*l-C*-A-v*-R-S*-k)+((v*-A+(S*l+w*-k)-C*-R)*(v*-A+(S*l+w*-k)-C*-R)+((S*-R+(C*l+w*-A)-v*-k)*(S*-R+(C*l+w*-A)-v*-k)+(C*-k+(w*-R+v*l)-S*-A)*(C*-k+(w*-R+v*l)-S*-A)))))),a=(C*-k+(w*-R+v*l)-S*-A)*Y,c=(v*-A+(S*l+w*-k)-C*-R)*Y,Y*=w*l-C*-A-v*-R-S*-k,(U=+p[t+444>>2])>=(Z=+p[t+456>>2])&&(j=+p[t+448>>2])>=Z?((S=2*+m(+((S=l<-1?-1:l)>1?1:S)))>1.1920928955078125e-7?(g=1/+b(+(k*k+(A*A+R*R))),+d(+R*g)>1.1920928955078125e-7?(h=A*g,A=k*g,l=R*g,C=+b(+(k*g*(k*g)/(R*g*(R*g))+1)/(k*g*(k*g)/(R*g*(R*g))/(U*U)+1/(j*j)))):(h=A*g,A=k*g,l=R*g,C=U)):(h=0,A=0,l=0,C=0),S>(v=C*(g=+p[t+428>>2]))&&(n[t+526|0]=1,g=S>2]=g,p[t+504>>2]=S-v,+d(+l)>1.1920928955078125e-7&&(ht=+d(j/U*(-A/l)*+l),h*=ht=1/+b(+(h*h+l*l+(A=A<-0?ht:-ht)*A)),A=-A*ht,l*=ht),U=(nt*rt-ot*_t-st*at-pt*ct)*(mt=-h)+(ot*ct+(rt*st+nt*at)-_t*pt)*(At=-A)-(nt*pt+rt*ct+_t*at-ot*st)*(ut=-l),ft=(nt*ot+_t*rt+st*pt-ct*at)*ut+(nt*rt-ot*_t-st*at-pt*ct)*At-(ot*ct+(rt*st+nt*at)-_t*pt)*mt,ut=(ht=(nt*pt+rt*ct+_t*at-ot*st)*mt+(nt*rt-ot*_t-st*at-pt*ct)*ut-(nt*ot+_t*rt+st*pt-ct*at)*At)*bt+((At=-(nt*ot+_t*rt+st*pt-ct*at)*mt-(ot*ct+(rt*st+nt*at)-_t*pt)*ut-(nt*pt+rt*ct+_t*at-ot*st)*At)*lt+(nt*rt-ot*_t-st*at-pt*ct)*U)-ft*dt,mt=ft*lt+((nt*rt-ot*_t-st*at-pt*ct)*ht+At*dt)-U*bt,ht=U*dt+(At*bt+(nt*rt-ot*_t-st*at-pt*ct)*ft)-ht*lt,p[t+460>>2]=ut,p[t+464>>2]=mt,p[t+468>>2]=ht,p[t+472>>2]=0,_[t+536>>2]=0,_[t+536+4>>2]=0,_[t+536+8>>2]=0,_[t+536+12>>2]=0,p[t+492>>2]=1/(ut*(+p[o>>2]*ut+ +p[o+16>>2]*mt+ +p[o+32>>2]*ht)+mt*(ut*+p[o+4>>2]+mt*+p[o+20>>2]+ht*+p[o+36>>2])+ht*(ut*+p[o+8>>2]+mt*+p[o+24>>2]+ht*+p[o+40>>2])+(ut*(ut*+p[r>>2]+mt*+p[r+16>>2]+ht*+p[r+32>>2])+mt*(ut*+p[r+4>>2]+mt*+p[r+20>>2]+ht*+p[r+36>>2])+ht*(ut*+p[r+8>>2]+mt*+p[r+24>>2]+ht*+p[r+40>>2]))))):H=20;t:do{if(20==(0|H)){F=+p[t+300>>2],x=+p[t+316>>2],O=+p[t+332>>2],T=+p[e>>2],P=+p[e+4>>2],M=+p[e+8>>2],V=+p[e+16>>2],G=+p[e+20>>2],N=+p[e+24>>2],L=+p[e+32>>2],E=+p[e+36>>2],S=+p[e+40>>2],w=+p[t+304>>2],k=+p[t+320>>2],R=+p[t+336>>2],j=+p[t+308>>2],D=+p[t+324>>2],I=+p[t+340>>2],g=+p[t+364>>2],l=+p[t+380>>2],v=+p[t+396>>2],l=(F*T+x*P+O*M)*(B=g*+p[i>>2]+l*+p[i+4>>2]+v*+p[i+8>>2])+(F*V+x*G+O*N)*(W=g*+p[i+16>>2]+l*+p[i+20>>2]+v*+p[i+24>>2])+(F*L+x*E+O*S)*(v=g*+p[i+32>>2]+l*+p[i+36>>2]+v*+p[i+40>>2]),g=(T*w+P*k+M*R)*B+(V*w+G*k+N*R)*W+(L*w+E*k+S*R)*v,h=(T*j+P*D+M*I)*B+(V*j+G*D+N*I)*W+(L*j+E*D+S*I)*v;do{if(U>2])>2]=-((F*L+x*E+O*S)*W-(F*V+x*G+O*N)*v),p[t+464>>2]=-((F*T+x*P+O*M)*v-(F*L+x*E+O*S)*B),p[t+468>>2]=-((F*V+x*G+O*N)*B-(F*T+x*P+O*M)*W),p[t+472>>2]=0;break t}if(!(+d(+l)<1.1920928955078125e-7&+d(+h)<1.1920928955078125e-7)&&(n[t+526|0]=1,C>=Z)){if((A=+y(+h,+l))>C){h=+u(+C),A=0,l=+f(+C);break}A<-C?(h=-+u(+C),A=0,l=+f(+C)):A=0}else A=g}else if(!(+d(+l)<1.1920928955078125e-7&+d(+g)<1.1920928955078125e-7)&&(n[t+526|0]=1,U>=Z)){if((A=+y(+g,+l))>U){h=0,A=+u(+U),l=+f(+U);break}A<-U?(h=0,A=-+u(+U),l=+f(+U)):(h=0,A=g)}else A=g}while(0);mt=1/+b(+((At=(L*j+E*D+S*I)*h+((L*w+E*k+S*R)*A+(F*L+x*E+O*S)*l))*At+((ut=(T*j+P*D+M*I)*h+((T*w+P*k+M*R)*A+(F*T+x*P+O*M)*l))*ut+(ft=(V*j+G*D+N*I)*h+((V*w+G*k+N*R)*A+(F*V+x*G+O*N)*l))*ft))),p[t+472>>2]=0,ht=+b(+((W*(At*mt)-v*(ft*mt))*(W*(At*mt)-v*(ft*mt))+(v*(ut*mt)-B*(At*mt))*(v*(ut*mt)-B*(At*mt))+(B*(ft*mt)-W*(ut*mt))*(B*(ft*mt)-W*(ut*mt)))),p[t+504>>2]=ht,p[t+460>>2]=-1/ht*(W*(At*mt)-v*(ft*mt)),p[t+464>>2]=-1/ht*(v*(ut*mt)-B*(At*mt)),p[t+468>>2]=-1/ht*(B*(ft*mt)-W*(ut*mt))}}while(0);if(!((C=+p[t+452>>2])>=0))return p[t+512>>2]=0,void(Q=s);(A=2*+m(+((A=Y<-1?-1:Y)>1?1:A)))>3.1415927410125732?(l=-J,a=-a,c=-c,g=2*+m(+((g=-Y<-1?-1:-Y)>1?1:g))):(l=J,g=A),p[t+512>>2]=g,g>1.1920928955078125e-7?(l*=ht=1/+b(+(l*l+a*a+c*c)),h=c*ht,a*=ht):h=c,g>C*(c=+p[t+428>>2])&&(n[t+525|0]=1,A=g-C*c,c=g>2]=c,p[t+508>>2]=A,J=(nt*rt-ot*_t-st*at-pt*ct)*(mt=-l)+(ot*ct+(rt*st+nt*at)-_t*pt)*(At=-h)-(nt*pt+rt*ct+_t*at-ot*st)*(ut=-a),ft=(nt*ot+_t*rt+st*pt-ct*at)*ut+(nt*rt-ot*_t-st*at-pt*ct)*At-(ot*ct+(rt*st+nt*at)-_t*pt)*mt,ut=(ht=(nt*pt+rt*ct+_t*at-ot*st)*mt+(nt*rt-ot*_t-st*at-pt*ct)*ut-(nt*ot+_t*rt+st*pt-ct*at)*At)*bt+((At=-(nt*ot+_t*rt+st*pt-ct*at)*mt-(ot*ct+(rt*st+nt*at)-_t*pt)*ut-(nt*pt+rt*ct+_t*at-ot*st)*At)*lt+(nt*rt-ot*_t-st*at-pt*ct)*J)-ft*dt,mt=ft*lt+((nt*rt-ot*_t-st*at-pt*ct)*ht+At*dt)-J*bt,ht=J*dt+(At*bt+(nt*rt-ot*_t-st*at-pt*ct)*ft)-ht*lt,p[t+476>>2]=ut,p[t+480>>2]=mt,p[t+484>>2]=ht,p[t+488>>2]=0,p[t+496>>2]=1/(ut*(+p[o>>2]*ut+ +p[o+16>>2]*mt+ +p[o+32>>2]*ht)+mt*(ut*+p[o+4>>2]+mt*+p[o+20>>2]+ht*+p[o+36>>2])+ht*(ut*+p[o+8>>2]+mt*+p[o+24>>2]+ht*+p[o+40>>2])+(ut*(ut*+p[r>>2]+mt*+p[r+16>>2]+ht*+p[r+32>>2])+mt*(ut*+p[r+4>>2]+mt*+p[r+20>>2]+ht*+p[r+36>>2])+ht*(ut*+p[r+8>>2]+mt*+p[r+24>>2]+ht*+p[r+40>>2])))),0|n[t+526|0]?(dt=(X*q-z*K-$*it-tt*et)*(bt=-l)+(z*et+(q*$+X*it)-K*tt)*(At=-h)-(X*tt+q*et+K*it-z*$)*(ht=-a),mt=(X*tt+q*et+K*it-z*$)*bt+(X*q-z*K-$*it-tt*et)*ht-(X*z+K*q+$*tt-et*it)*At,ut=(X*z+K*q+$*tt-et*it)*ht+(X*q-z*K-$*it-tt*et)*At-(z*et+(q*$+X*it)-K*tt)*bt,At=-(X*z+K*q+$*tt-et*it)*bt-(z*et+(q*$+X*it)-K*tt)*ht-(X*tt+q*et+K*it-z*$)*At,ht=-(X*z+K*q+$*tt-et*it),bt=-(z*et+(q*$+X*it)-K*tt),ft=-(X*tt+q*et+K*it-z*$),p[t+536>>2]=mt*ft+(At*ht+(X*q-z*K-$*it-tt*et)*dt)-ut*bt,p[t+540>>2]=ut*ht+((X*q-z*K-$*it-tt*et)*mt+At*bt)-dt*ft,p[t+544>>2]=dt*bt+(At*ft+(X*q-z*K-$*it-tt*et)*ut)-mt*ht,p[t+548>>2]=0,Q=s):Q=s}function mi(t,e,i,r,s,c){t|=0,e|=0,i|=0,s|=0,c=+c;var a,l,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,N=0,L=0;if(l=Q,Q=Q+896|0,W=0|_[4+(r|=0)>>2],a=0|_[r+12>>2],(0|(d=0|_[W+4>>2]))<20)return _[l+712>>2]=4536,_[l+712+168>>2]=0,p[l+712+172>>2]=c,_[l+712+164>>2]=_[s+4>>2],p[l+352+308>>2]=9999999747378752e-20,n[l+352+332|0]=0,_[l+288>>2]=10116,_[l+64>>2]=10184,_[l+64+4>>2]=l+352,_[l+64+8>>2]=l+288,_[l+64+12>>2]=t,_[l+64+16>>2]=W,_[l+64+20>>2]=0,0|Ie(l+64|0,e,i,a,a,l+712|0)&&(h=+p[(S=l+712+132|0)>>2])*h+(y=+p[l+712+136>>2])*y+(g=+p[l+712+140>>2])*g>9999999747378752e-20&&(C=+p[l+712+164>>2])<+p[s+4>>2]&&(c=1/+b(+(h*h+y*y+g*g)),p[S>>2]=h*c,p[l+712+136>>2]=y*c,p[l+712+140>>2]=g*c,_[l+16>>2]=_[r+8>>2],_[l+16+4>>2]=0,_[l+16+8>>2]=_[S>>2],_[l+16+8+4>>2]=_[S+4>>2],_[l+16+8+8>>2]=_[S+8>>2],_[l+16+8+12>>2]=_[S+12>>2],_[l+16+24>>2]=_[l+712+148>>2],_[l+16+24+4>>2]=_[l+712+148+4>>2],_[l+16+24+8>>2]=_[l+712+148+8>>2],_[l+16+24+12>>2]=_[l+712+148+12>>2],p[l+16+40>>2]=C,Fl[15&_[12+(0|_[s>>2])>>2]](s,l+16|0,1)),void(Q=l);if((d+-21|0)>>>0>=9){if(31!=(0|d))return void(Q=l);if($i(17609),(0|_[W+16>>2])>0){d=0;do{v=0|_[W+24>>2],A=+p[v+(80*d|0)>>2],m=+p[v+(80*d|0)+4>>2],g=+p[v+(80*d|0)+8>>2],f=+p[v+(80*d|0)+16>>2],h=+p[v+(80*d|0)+20>>2],w=+p[v+(80*d|0)+24>>2],u=+p[v+(80*d|0)+32>>2],y=+p[v+(80*d|0)+36>>2],R=+p[v+(80*d|0)+40>>2],N=+p[v+(80*d|0)+48>>2],V=+p[v+(80*d|0)+52>>2],B=+p[v+(80*d|0)+56>>2],v=0|_[v+(80*d|0)+64>>2],M=+p[a>>2],P=+p[a+4>>2],T=+p[a+8>>2],O=+p[a+16>>2],x=+p[a+20>>2],F=+p[a+24>>2],C=+p[a+32>>2],k=+p[a+36>>2],j=+p[a+40>>2],D=N*M+V*P+B*T+ +p[a+48>>2],I=N*O+V*x+B*F+ +p[a+52>>2],B=N*C+V*k+B*j+ +p[a+56>>2],p[l+712>>2]=A*M+f*P+u*T,p[l+712+4>>2]=m*M+h*P+y*T,p[l+712+8>>2]=g*M+w*P+R*T,p[l+712+12>>2]=0,p[l+712+16>>2]=A*O+f*x+u*F,p[l+712+20>>2]=m*O+h*x+y*F,p[l+712+24>>2]=g*O+w*x+R*F,p[l+712+28>>2]=0,p[l+712+32>>2]=A*C+f*k+u*j,p[l+712+36>>2]=m*C+h*k+y*j,p[l+712+40>>2]=g*C+w*k+R*j,p[l+712+44>>2]=0,p[l+712+48>>2]=D,p[l+712+52>>2]=I,p[l+712+56>>2]=B,p[l+712+60>>2]=0,o[l+352+8>>1]=1,o[l+352+10>>1]=-1,_[l+352>>2]=6808,_[l+352+12>>2]=s,_[l+352+16>>2]=d,_[l+352+4>>2]=_[s+4>>2],S=0|_[r+8>>2],_[l+288>>2]=r,_[l+288+4>>2]=v,_[l+288+8>>2]=S,_[l+288+12>>2]=l+712,_[l+288+16>>2]=-1,_[l+288+20>>2]=d,mi(t,e,i,l+288|0,l+352|0,c),d=d+1|0}while((0|d)<(0|_[W+16>>2]))}if(d=0|_[2606],W=(0|_[d+16>>2])-1|0,_[d+16>>2]=W,0|W)return void(Q=l);do{if(0|_[d+4>>2]){if(G(l+712|0,0),W=0|_[6629],p[d+8>>2]=+p[d+8>>2]+ +(((0|_[l+712+4>>2])-(0|_[W+4>>2])+(1e6*((0|_[l+712>>2])-(0|_[W>>2])|0)|0)-(0|_[d+12>>2])|0)>>>0)/1e3,0|_[d+16>>2])return void(Q=l);d=0|_[2606];break}}while(0);return _[2606]=_[d+20>>2],void(Q=l)}switch(0|d){case 21:return m=+p[a>>2],h=+p[a+16>>2],y=+p[a+32>>2],g=+p[a+4>>2],C=+p[a+20>>2],w=+p[a+36>>2],k=+p[a+8>>2],R=+p[a+24>>2],j=+p[a+40>>2],D=-+p[a+48>>2],I=-+p[a+52>>2],B=-+p[a+56>>2],u=+p[e+48>>2],f=+p[e+52>>2],A=+p[e+56>>2],p[l+352>>2]=m*D+h*I+y*B+(m*u+h*f+y*A),p[l+352+4>>2]=g*D+C*I+w*B+(g*u+C*f+w*A),p[l+352+8>>2]=k*D+R*I+j*B+(k*u+R*f+j*A),p[l+352+12>>2]=0,A=+p[i+48>>2],f=+p[i+52>>2],u=+p[i+56>>2],L=+p[i>>2],F=+p[i+16>>2],x=+p[i+32>>2],O=+p[i+4>>2],T=+p[i+20>>2],P=+p[i+36>>2],M=+p[i+8>>2],V=+p[i+24>>2],N=+p[i+40>>2],p[l+288>>2]=m*L+h*F+y*x,p[l+288+4>>2]=m*O+h*T+y*P,p[l+288+8>>2]=m*M+h*V+y*N,p[l+288+12>>2]=0,p[l+288+16>>2]=g*L+C*F+w*x,p[l+288+20>>2]=g*O+C*T+w*P,p[l+288+24>>2]=g*M+C*V+w*N,p[l+288+28>>2]=0,p[l+288+32>>2]=k*L+R*F+j*x,p[l+288+36>>2]=k*O+R*T+j*P,p[l+288+40>>2]=k*M+R*V+j*N,_[(d=l+288+44|0)>>2]=0,_[d+4>>2]=0,_[d+8>>2]=0,_[d+12>>2]=0,_[d+16>>2]=0,d=0|_[r+8>>2],N=+Il[15&_[48+(0|_[W>>2])>>2]](W),_[l+64>>2]=10044,_[l+64+4>>2]=t,_[l+64+8>>2]=_[e>>2],_[l+64+8+4>>2]=_[e+4>>2],_[l+64+8+8>>2]=_[e+8>>2],_[l+64+8+12>>2]=_[e+12>>2],_[l+64+24>>2]=_[e+16>>2],_[l+64+24+4>>2]=_[e+16+4>>2],_[l+64+24+8>>2]=_[e+16+8>>2],_[l+64+24+12>>2]=_[e+16+12>>2],_[l+64+40>>2]=_[e+32>>2],_[l+64+40+4>>2]=_[e+32+4>>2],_[l+64+40+8>>2]=_[e+32+8>>2],_[l+64+40+12>>2]=_[e+32+12>>2],_[l+64+56>>2]=_[e+48>>2],_[l+64+56+4>>2]=_[e+48+4>>2],_[l+64+56+8>>2]=_[e+48+8>>2],_[l+64+56+12>>2]=_[e+48+12>>2],_[l+64+72>>2]=_[i>>2],_[l+64+72+4>>2]=_[i+4>>2],_[l+64+72+8>>2]=_[i+8>>2],_[l+64+72+12>>2]=_[i+12>>2],_[l+64+88>>2]=_[i+16>>2],_[l+64+88+4>>2]=_[i+16+4>>2],_[l+64+88+8>>2]=_[i+16+8>>2],_[l+64+88+12>>2]=_[i+16+12>>2],_[l+64+104>>2]=_[i+32>>2],_[l+64+104+4>>2]=_[i+32+4>>2],_[l+64+104+8>>2]=_[i+32+8>>2],_[l+64+104+12>>2]=_[i+32+12>>2],_[l+64+120>>2]=_[i+48>>2],_[l+64+120+4>>2]=_[i+48+4>>2],_[l+64+120+8>>2]=_[i+48+8>>2],_[l+64+120+12>>2]=_[i+48+12>>2],_[l+64+136>>2]=_[a>>2],_[l+64+136+4>>2]=_[a+4>>2],_[l+64+136+8>>2]=_[a+8>>2],_[l+64+136+12>>2]=_[a+12>>2],_[l+64+152>>2]=_[a+16>>2],_[l+64+152+4>>2]=_[a+16+4>>2],_[l+64+152+8>>2]=_[a+16+8>>2],_[l+64+152+12>>2]=_[a+16+12>>2],_[l+64+168>>2]=_[a+32>>2],_[l+64+168+4>>2]=_[a+32+4>>2],_[l+64+168+8>>2]=_[a+32+8>>2],_[l+64+168+12>>2]=_[a+32+12>>2],_[l+64+184>>2]=_[a+48>>2],_[l+64+184+4>>2]=_[a+48+4>>2],_[l+64+184+8>>2]=_[a+48+8>>2],_[l+64+184+12>>2]=_[a+48+12>>2],p[l+64+204>>2]=N,_[l+64>>2]=6760,_[l+64+212>>2]=s,_[l+64+216>>2]=d,_[l+64+220>>2]=W,_[l+64+200>>2]=_[s+4>>2],p[l+64+208>>2]=c,pd[127&_[8+(0|_[t>>2])>>2]](t,l+288|0,l+16|0,l),d=0|_[W+48>>2],_[l+712>>2]=7800,_[l+712+4>>2]=d,_[l+712+8>>2]=l+64,d=0|_[W+52>>2],0|n[d+60|0]?Ee(d,l+712|0,l+352|0,m*D+h*I+y*B+(m*A+h*f+y*u),g*D+C*I+w*B+(g*A+C*f+w*u),k*D+R*I+j*B+(k*A+R*f+j*u),l+16|0,l,0|_[d+56>>2]):$e(d,l+712|0,l+352|0,m*D+h*I+y*B+(m*A+h*f+y*u),g*D+C*I+w*B+(g*A+C*f+w*u),k*D+R*I+j*B+(k*A+R*f+j*u),l+16|0,l),void(Q=l);case 28:return _[l+712>>2]=4536,_[l+712+168>>2]=0,p[l+712+172>>2]=c,_[l+712+164>>2]=_[s+4>>2],_[l+352>>2]=10184,_[l+352+4>>2]=0,_[l+352+8>>2]=0,_[l+352+12>>2]=t,_[l+352+16>>2]=0,_[l+352+20>>2]=W,0|Ie(l+352|0,e,i,a,a,l+712|0)&&(A=+p[(v=l+712+132|0)>>2])*A+(f=+p[l+712+136>>2])*f+(u=+p[l+712+140>>2])*u>9999999747378752e-20&&(m=+p[l+712+164>>2])<+p[s+4>>2]&&(L=1/+b(+(A*A+f*f+u*u)),p[v>>2]=A*L,p[l+712+136>>2]=f*L,p[l+712+140>>2]=u*L,_[l+288>>2]=_[r+8>>2],_[l+288+4>>2]=0,_[l+288+8>>2]=_[v>>2],_[l+288+8+4>>2]=_[v+4>>2],_[l+288+8+8>>2]=_[v+8>>2],_[l+288+8+12>>2]=_[v+12>>2],_[l+288+24>>2]=_[l+712+148>>2],_[l+288+24+4>>2]=_[l+712+148+4>>2],_[l+288+24+8>>2]=_[l+712+148+8>>2],_[l+288+24+12>>2]=_[l+712+148+12>>2],p[l+288+40>>2]=m,Fl[15&_[12+(0|_[s>>2])>>2]](s,l+288|0,1)),void(Q=l);default:return m=+p[a>>2],h=+p[a+16>>2],y=+p[a+32>>2],k=+p[a+4>>2],R=+p[a+20>>2],j=+p[a+36>>2],T=+p[a+8>>2],M=+p[a+24>>2],N=+p[a+40>>2],u=m*(x=-+p[a+48>>2])+h*(F=-+p[a+52>>2])+y*(B=-+p[a+56>>2])+(m*(D=+p[e+48>>2])+h*(I=+p[e+52>>2])+y*(A=+p[e+56>>2])),f=k*x+R*F+j*B+(k*D+R*I+j*A),A=T*x+M*F+N*B+(T*D+M*I+N*A),g=m*x+h*F+y*B+(m*(I=+p[i+48>>2])+h*(D=+p[i+52>>2])+y*(w=+p[i+56>>2])),C=k*x+R*F+j*B+(k*I+R*D+j*w),w=T*x+M*F+N*B+(T*I+M*D+N*w),D=+p[i>>2],I=+p[i+16>>2],B=+p[i+32>>2],F=+p[i+4>>2],x=+p[i+20>>2],O=+p[i+36>>2],P=+p[i+8>>2],V=+p[i+24>>2],L=+p[i+40>>2],p[l+712>>2]=m*D+h*I+y*B,p[l+712+4>>2]=m*F+h*x+y*O,p[l+712+8>>2]=m*P+h*V+y*L,p[l+712+12>>2]=0,p[l+712+16>>2]=k*D+R*I+j*B,p[l+712+20>>2]=k*F+R*x+j*O,p[l+712+24>>2]=k*P+R*V+j*L,p[l+712+28>>2]=0,p[l+712+32>>2]=T*D+M*I+N*B,p[l+712+36>>2]=T*F+M*x+N*O,p[l+712+40>>2]=T*P+M*V+N*L,_[(S=l+712+44|0)>>2]=0,_[S+4>>2]=0,_[S+8>>2]=0,_[S+12>>2]=0,_[S+16>>2]=0,r=0|_[r+8>>2],L=+Il[15&_[48+(0|_[W>>2])>>2]](W),_[l+352>>2]=10044,_[l+352+4>>2]=t,_[l+352+8>>2]=_[e>>2],_[l+352+8+4>>2]=_[e+4>>2],_[l+352+8+8>>2]=_[e+8>>2],_[l+352+8+12>>2]=_[e+12>>2],_[l+352+24>>2]=_[e+16>>2],_[l+352+24+4>>2]=_[e+16+4>>2],_[l+352+24+8>>2]=_[e+16+8>>2],_[l+352+24+12>>2]=_[e+16+12>>2],_[l+352+40>>2]=_[e+32>>2],_[l+352+40+4>>2]=_[e+32+4>>2],_[l+352+40+8>>2]=_[e+32+8>>2],_[l+352+40+12>>2]=_[e+32+12>>2],_[l+352+56>>2]=_[e+48>>2],_[l+352+56+4>>2]=_[e+48+4>>2],_[l+352+56+8>>2]=_[e+48+8>>2],_[l+352+56+12>>2]=_[e+48+12>>2],_[l+352+72>>2]=_[i>>2],_[l+352+72+4>>2]=_[i+4>>2],_[l+352+72+8>>2]=_[i+8>>2],_[l+352+72+12>>2]=_[i+12>>2],_[l+352+88>>2]=_[i+16>>2],_[l+352+88+4>>2]=_[i+16+4>>2],_[l+352+88+8>>2]=_[i+16+8>>2],_[l+352+88+12>>2]=_[i+16+12>>2],_[l+352+104>>2]=_[i+32>>2],_[l+352+104+4>>2]=_[i+32+4>>2],_[l+352+104+8>>2]=_[i+32+8>>2],_[l+352+104+12>>2]=_[i+32+12>>2],_[l+352+120>>2]=_[i+48>>2],_[l+352+120+4>>2]=_[i+48+4>>2],_[l+352+120+8>>2]=_[i+48+8>>2],_[l+352+120+12>>2]=_[i+48+12>>2],_[l+352+136>>2]=_[a>>2],_[l+352+136+4>>2]=_[a+4>>2],_[l+352+136+8>>2]=_[a+8>>2],_[l+352+136+12>>2]=_[a+12>>2],_[l+352+152>>2]=_[a+16>>2],_[l+352+152+4>>2]=_[a+16+4>>2],_[l+352+152+8>>2]=_[a+16+8>>2],_[l+352+152+12>>2]=_[a+16+12>>2],_[l+352+168>>2]=_[a+32>>2],_[l+352+168+4>>2]=_[a+32+4>>2],_[l+352+168+8>>2]=_[a+32+8>>2],_[l+352+168+12>>2]=_[a+32+12>>2],_[l+352+184>>2]=_[a+48>>2],_[l+352+184+4>>2]=_[a+48+4>>2],_[l+352+184+8>>2]=_[a+48+8>>2],_[l+352+184+12>>2]=_[a+48+12>>2],p[l+352+204>>2]=L,_[l+352>>2]=6784,_[l+352+212>>2]=s,_[l+352+216>>2]=r,_[l+352+220>>2]=W,_[l+352+200>>2]=_[s+4>>2],p[l+352+208>>2]=c,pd[127&_[8+(0|_[t>>2])>>2]](t,l+712|0,l+288|0,l+64|0),p[l+16>>2]=u,p[l+16+4>>2]=f,p[l+16+8>>2]=A,p[l+16+12>>2]=0,g>2]=g,m=g):m=u,C>2]=C,h=C):h=f,w>2]=w,y=w):y=A,p[l>>2]=u,p[l+4>>2]=f,p[l+8>>2]=A,p[l+12>>2]=0,u>2]=g,u=g),f>2]=C,f=C),A>2]=w,A=w),p[l+16>>2]=+p[l+288>>2]+m,p[l+16+4>>2]=+p[l+288+4>>2]+h,p[l+16+8>>2]=+p[l+288+8>>2]+y,p[l>>2]=+p[l+64>>2]+u,p[l+4>>2]=+p[l+64+4>>2]+f,p[l+8>>2]=+p[l+64+8>>2]+A,pd[127&_[64+(0|_[W>>2])>>2]](W,l+352|0,l+16|0,l),void(Q=l)}}function hi(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0;c=Q,Q=Q+112|0,_[164+(t|=0)>>2]=1065353216,_[t+168>>2]=1065353216,_[t+172>>2]=1065353216,p[t+176>>2]=0,_[t+180>>2]=0,p[t+184>>2]=0xde0b6b000000000,_[t+188>>2]=0,_[t+188+4>>2]=0,_[t+188+8>>2]=0,_[t+188+12>>2]=0,_[t+204>>2]=1,_[t+208>>2]=-1,_[t+212>>2]=-1,_[t+216>>2]=1,p[t+220>>2]=0,p[t+224>>2]=.5,p[t+228>>2]=0,p[t+232>>2]=0,_[t+236>>2]=1,_[t+240>>2]=0,p[t+244>>2]=1,_[t+248>>2]=0,_[t+248+4>>2]=0,_[t+248+8>>2]=0,_[t+248+12>>2]=0,_[t+4>>2]=1065353216,_[t+8>>2]=0,_[t+8+4>>2]=0,_[t+8+8>>2]=0,_[t+8+12>>2]=0,_[t+24>>2]=1065353216,_[t+28>>2]=0,_[t+28+4>>2]=0,_[t+28+8>>2]=0,_[t+28+12>>2]=0,_[t+44>>2]=1065353216,_[t+48>>2]=0,_[t+48+4>>2]=0,_[t+48+8>>2]=0,_[t+48+12>>2]=0,_[t+48+16>>2]=0,_[t>>2]=4028,n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[t+272>>2]=0,_[t+284>>2]=0,n[t+408|0]=1,_[t+404>>2]=0,_[t+396>>2]=0,_[t+400>>2]=0,n[t+428|0]=1,_[t+424>>2]=0,_[t+416>>2]=0,_[t+420>>2]=0,n[t+448|0]=1,_[t+444>>2]=0,_[t+436>>2]=0,_[t+440>>2]=0,n[t+496|0]=1,_[t+492>>2]=0,_[t+484>>2]=0,_[t+488>>2]=0,n[t+516|0]=1,_[t+512>>2]=0,_[t+504>>2]=0,_[t+508>>2]=0,_[t+684>>2]=e,n[t+704|0]=1,_[t+700>>2]=0,_[t+692>>2]=0,_[t+696>>2]=0,n[t+724|0]=1,_[t+720>>2]=0,_[t+712>>2]=0,_[t+716>>2]=0,n[t+744|0]=1,_[t+740>>2]=0,_[t+732>>2]=0,_[t+736>>2]=0,n[t+764|0]=1,_[t+760>>2]=0,_[t+752>>2]=0,_[t+756>>2]=0,n[t+784|0]=1,_[t+780>>2]=0,_[t+772>>2]=0,_[t+776>>2]=0,n[t+804|0]=1,_[t+800>>2]=0,_[t+792>>2]=0,_[t+796>>2]=0,n[t+824|0]=1,_[t+820>>2]=0,_[t+812>>2]=0,_[t+816>>2]=0,n[t+844|0]=1,_[t+840>>2]=0,_[t+832>>2]=0,_[t+836>>2]=0,n[t+864|0]=1,_[t+860>>2]=0,_[t+852>>2]=0,_[t+856>>2]=0,n[t+884|0]=1,_[t+880>>2]=0,_[t+872>>2]=0,_[t+876>>2]=0,n[t+964|0]=1,_[t+960>>2]=0,_[t+952>>2]=0,_[t+956>>2]=0,n[t+984|0]=1,_[t+980>>2]=0,_[t+972>>2]=0,_[t+976>>2]=0,_[t+928>>2]=0,_[t+932>>2]=0,_[t+936>>2]=-1,_[t+940>>2]=0,_[t+944>>2]=0,n[t+1024|0]=1,_[t+1020>>2]=0,_[t+1012>>2]=0,_[t+1016>>2]=0,n[t+1044|0]=1,_[t+1040>>2]=0,_[t+1032>>2]=0,_[t+1036>>2]=0,_[t+988>>2]=0,_[t+992>>2]=0,_[t+996>>2]=-1,_[t+1e3>>2]=0,_[t+1004>>2]=0,n[t+1084|0]=1,_[t+1080>>2]=0,_[t+1072>>2]=0,_[t+1076>>2]=0,n[t+1104|0]=1,_[t+1100>>2]=0,_[t+1092>>2]=0,_[t+1096>>2]=0,_[t+1048>>2]=0,_[t+1052>>2]=0,_[t+1056>>2]=-1,_[t+1060>>2]=0,_[t+1064>>2]=0,n[t+1124|0]=1,_[t+1120>>2]=0,_[t+1112>>2]=0,_[t+1116>>2]=0,n[t+1144|0]=1,_[t+1140>>2]=0,_[t+1132>>2]=0,_[t+1136>>2]=0,n[t+1248|0]=1,_[t+1244>>2]=0,_[t+1236>>2]=0,_[t+1240>>2]=0,_[t+236>>2]=8,_[t+288>>2]=0,p[t+292>>2]=1,_[t+296>>2]=0,_[t+296+4>>2]=0,_[t+296+8>>2]=0,_[t+296+12>>2]=0,_[t+296+16>>2]=0,p[t+316>>2]=.20000000298023224,p[t+320>>2]=0,p[t+324>>2]=1,p[t+328>>2]=.10000000149011612,p[t+332>>2]=1,p[t+336>>2]=.699999988079071,p[t+340>>2]=.10000000149011612,p[t+344>>2]=1,p[t+348>>2]=.5,p[t+352>>2]=.5,p[t+356>>2]=.5,p[t+360>>2]=.5,p[t+364>>2]=1,p[t+368>>2]=1,_[t+372>>2]=0,_[t+376>>2]=1,_[t+380>>2]=0,_[t+384>>2]=4,_[t+388>>2]=1,n[t+472|0]=0,n[t+473|0]=0,p[t+476>>2]=0,_[t+520>>2]=0,_[t+520+4>>2]=0,_[t+520+8>>2]=0,_[t+520+12>>2]=0,_[t+536>>2]=1065353216,_[t+540>>2]=0,_[t+540+4>>2]=0,_[t+540+8>>2]=0,_[t+540+12>>2]=0,_[t+556>>2]=1065353216,_[t+560>>2]=0,_[t+560+4>>2]=0,_[t+560+8>>2]=0,_[t+560+12>>2]=0,_[t+576>>2]=1065353216,p[t+580>>2]=0,_[t+584>>2]=1065353216,_[t+588>>2]=0,_[t+588+4>>2]=0,_[t+588+8>>2]=0,_[t+588+12>>2]=0,_[t+604>>2]=1065353216,_[t+608>>2]=0,_[t+608+4>>2]=0,_[t+608+8>>2]=0,_[t+608+12>>2]=0,_[t+624>>2]=1065353216,p[t+628>>2]=0,_[t+680>>2]=0,p[t+888>>2]=0,n[t+924|0]=1,_[t+892>>2]=0,_[t+892+4>>2]=0,_[t+892+8>>2]=0,_[t+892+12>>2]=0,_[t+892+16>>2]=0,_[t+892+20>>2]=0,_[t+892+24>>2]=0,_[t+892+28>>2]=0,_[t+4>>2]=1065353216,_[t+8>>2]=0,_[t+8+4>>2]=0,_[t+8+8>>2]=0,_[t+8+12>>2]=0,_[t+24>>2]=1065353216,_[t+28>>2]=0,_[t+28+4>>2]=0,_[t+28+8>>2]=0,_[t+28+12>>2]=0,_[t+44>>2]=1065353216,_[t+48>>2]=0,_[t+48+4>>2]=0,_[t+48+8>>2]=0,_[t+48+12>>2]=0,_[t+48+16>>2]=0,0|(e=0|_[t+404>>2])&&(0|n[t+408|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+404>>2]=0),n[t+408|0]=1,_[t+404>>2]=0,_[t+396>>2]=0,_[t+400>>2]=0,0|(e=0|_[t+424>>2])&&(0|n[t+428|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+424>>2]=0),n[t+428|0]=1,_[t+424>>2]=0,_[t+416>>2]=0,_[t+420>>2]=0,e=0|_[t+444>>2];do{if(e){if(!(0|n[t+448|0])){_[t+444>>2]=0,n[t+448|0]=1,_[t+444>>2]=0,_[t+436>>2]=0,_[t+440>>2]=0,l=1,v=17;break}_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+416>>2],l=0|_[t+420>>2],_[t+444>>2]=0,n[t+448|0]=1,_[t+444>>2]=0,_[t+436>>2]=0,_[t+440>>2]=0,(0|e)==(0|l)?l?(0|l)>2]=0,_[t+436>>2]=0,_[t+440>>2]=0,l=1,v=17}while(0);if(17==(0|v)&&(_[6630]=1+(0|_[6630]),(e=0|di(16+(l<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,a=0|_[t+416>>2],b=l,v=20),20==(0|v)){if(d=0|_[t+424>>2],(0|a)<=0)d&&(v=24);else{l=0;do{_[e+(l<<2)>>2]=_[d+(l<<2)>>2],l=l+1|0}while((0|l)!=(0|a));v=24}24==(0|v)&&(0|n[t+428|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[d+-4>>2]),a=0|_[t+416>>2]),_[t+424>>2]=0),n[t+428|0]=1,_[t+424>>2]=e,_[t+420>>2]=b,e=b}if(l=0|_[t+424>>2],_[l+(a<<2)>>2]=1,a=a+1|0,_[t+416>>2]=a,(0|a)==(0|e))if((0|e)<(0|(b=0|e?e<<1:1))){if(b?(_[6630]=1+(0|_[6630]),(e=0|di(16+(b<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,d=e,e=0|_[t+416>>2],l=0|_[t+424>>2]):d=0,(0|e)<=0)l&&(v=38);else{a=0;do{_[d+(a<<2)>>2]=_[l+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|e));v=38}38==(0|v)&&(0|n[t+428|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2]),e=0|_[t+416>>2]),_[t+424>>2]=0),n[t+428|0]=1,_[t+424>>2]=d,_[t+420>>2]=b,l=d,a=e,e=b}else a=e;if(_[l+(a<<2)>>2]=2,a=a+1|0,_[t+416>>2]=a,(0|a)==(0|e))if((0|e)<(0|(b=0|e?e<<1:1))){if(b?(_[6630]=1+(0|_[6630]),(e=0|di(16+(b<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,d=e,e=0|_[t+416>>2],l=0|_[t+424>>2]):d=0,(0|e)<=0)l&&(v=52);else{a=0;do{_[d+(a<<2)>>2]=_[l+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|e));v=52}52==(0|v)&&(0|n[t+428|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2]),e=0|_[t+416>>2]),_[t+424>>2]=0),n[t+428|0]=1,_[t+424>>2]=d,_[t+420>>2]=b,a=e,e=b}else d=l,a=e;else d=l;if(_[d+(a<<2)>>2]=3,a=a+1|0,_[t+416>>2]=a,(0|a)==(0|e))if((0|e)<(0|(b=0|e?e<<1:1))){if(b?(_[6630]=1+(0|_[6630]),(e=0|di(16+(b<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,l=e,e=0|_[t+416>>2],d=0|_[t+424>>2]):l=0,(0|e)<=0)d&&(v=66);else{a=0;do{_[l+(a<<2)>>2]=_[d+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|e));v=66}66==(0|v)&&(0|n[t+428|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[d+-4>>2]),e=0|_[t+416>>2]),_[t+424>>2]=0),n[t+428|0]=1,_[t+424>>2]=l,_[t+420>>2]=b}else l=d;else l=d,e=a;_[l+(e<<2)>>2]=0,_[t+416>>2]=e+1,_[6630]=1+(0|_[6630]),(e=0|di(39))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,_[e+8>>2]=0,_[e>>2]=4136,_[e+4>>2]=32,_[e+16>>2]=t,_[t+192>>2]=e,p[e+12>>2]=.25,_[t+1148>>2]=1065353216,_[t+1152>>2]=0,_[t+1152+4>>2]=0,_[t+1152+8>>2]=0,_[t+1152+12>>2]=0,_[t+1168>>2]=1065353216,_[t+1172>>2]=0,_[t+1172+4>>2]=0,_[t+1172+8>>2]=0,_[t+1172+12>>2]=0,_[t+1188>>2]=1065353216,w=36+(S=t+1192|0)|0;do{_[S>>2]=0,S=S+4|0}while((0|S)<(0|w));p[t+1228>>2]=1,s=0|Vt(t),p[s+4>>2]=1,p[s+8>>2]=1,p[s+12>>2]=1,_[s+16>>2]=1,S=0|_[t+192>>2],k=+Il[15&_[48+(0|_[S>>2])>>2]](S),w=(S=c)+100|0;do{_[S>>2]=0,S=S+4|0}while((0|S)<(0|w));if((0|(b=0|_[t+712>>2]))<(0|i)){if((0|_[t+716>>2])<(0|i)){if(i?(_[6630]=1+(0|_[6630]),(e=0|di(16+(104*i|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,l=0|_[t+712>>2]):(e=0,l=b),(0|l)>0){a=0;do{S=e+(104*a|0)|0,d=(0|_[t+720>>2])+(104*a|0)|0,w=S+104|0;do{_[S>>2]=_[d>>2],S=S+4|0,d=d+4|0}while((0|S)<(0|w));a=a+1|0}while((0|a)!=(0|l))}0|(a=0|_[t+720>>2])&&(0|n[t+724|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+720>>2]=0),n[t+724|0]=1,_[t+720>>2]=e,_[t+716>>2]=i}e=b;do{S=0|_[t+720>>2],_[S+(104*e|0)>>2]=0,d=c,w=100+(S=S+(104*e|0)+4|0)|0;do{_[S>>2]=_[d>>2],S=S+4|0,d=d+4|0}while((0|S)<(0|w));e=e+1|0}while((0|e)!=(0|i))}if(_[t+712>>2]=i,(0|i)>0)for(e=o,a=r,d=0;;){w=104+(S=o=(v=0|_[t+720>>2])+(104*d|0)|0)|0;do{_[S>>2]=0,S=S+4|0}while((0|S)<(0|w));if(e?(b=e+16|0,A=+p[e+12>>2],f=+p[e>>2],u=+p[e+4>>2],m=+p[e+8>>2]):(b=0,A=0,f=0,u=0,m=0),p[(w=v+(104*d|0)+8|0)>>2]=f,p[v+(104*d|0)+12>>2]=u,p[v+(104*d|0)+16>>2]=m,p[v+(104*d|0)+20>>2]=A,_[(r=v+(104*d|0)+24|0)>>2]=_[w>>2],_[r+4>>2]=_[w+4>>2],_[r+8>>2]=_[w+8>>2],_[r+12>>2]=_[w+12>>2],a?(l=a+4|0,A=+p[a>>2]):(l=0,A=1),p[v+(104*d|0)+88>>2]=A>0?1/A:0,y=f-k,g=u-k,C=m-k,h=k+f,f=k+u,A=k+m,e=0|_[t+932>>2])_[t+932>>2]=0;else{_[6630]=1+(0|_[6630]),(e=0|di(63))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,w=(S=e)+44|0;do{_[S>>2]=0,S=S+4|0}while((0|S)<(0|w))}if(_[e+32>>2]=0,_[e+36>>2]=o,_[e+40>>2]=0,p[e>>2]=y,p[e+4>>2]=g,p[e+8>>2]=C,p[e+12>>2]=0,p[e+16>>2]=h,p[e+20>>2]=f,p[e+24>>2]=A,p[e+28>>2]=0,U(t+928|0,0|_[t+928>>2],e),_[t+940>>2]=1+(0|_[t+940>>2]),_[v+(104*d|0)+96>>2]=e,_[v+(104*d|0)+4>>2]=s,(0|(d=d+1|0))==(0|i))break;e=b,a=l}if(!(e=0|_[t+928>>2]))return _[t+892>>2]=0,_[t+892+4>>2]=0,_[t+892+8>>2]=0,_[t+892+12>>2]=0,_[t+892+16>>2]=0,_[t+892+20>>2]=0,_[t+892+24>>2]=0,_[t+892+28>>2]=0,void(Q=c);i=0|_[t+192>>2],g=+Il[15&_[48+(0|_[i>>2])>>2]](i),k=+p[e+4>>2]-g,C=+p[e+8>>2]-g,p[t+892>>2]=+p[e>>2]-g,p[t+896>>2]=k,p[t+900>>2]=C,p[t+904>>2]=0,C=g+ +p[e+20>>2],k=g+ +p[e+24>>2],p[t+908>>2]=g+ +p[e+16>>2],p[t+912>>2]=C,p[t+916>>2]=k,p[t+920>>2]=0,(e=0|_[t+188>>2])?(i=0|_[t+684>>2],r=0|_[i+32>>2],dd[31&_[16+(0|_[r>>2])>>2]](r,e,t+892|0,t+908|0,0|_[i+36>>2]),Q=c):Q=c}function yi(t,e,i){e|=0,i|=0;var r,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0;if(r=Q,Q=Q+96|0,x=0|_[56+(t|=0)>>2],1==(i-e|0)){if(0|n[t+60|0])O=(0|_[t+116>>2])+(e<<4)|0,T=(0|_[t+136>>2])+(x<<4)|0,_[T>>2]=_[O>>2],_[T+4>>2]=_[O+4>>2],_[T+8>>2]=_[O+8>>2],_[T+12>>2]=_[O+12>>2];else{u=(0|_[t+96>>2])+(x<<6)|0,m=(0|_[t+76>>2])+(e<<6)|0,h=u+64|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h))}return _[t+56>>2]=1+(0|_[t+56>>2]),void(Q=r)}if((0|i)>(0|e)){if(b=!(0|n[t+60|0])){a=0|_[t+76>>2],c=e,l=0,d=0,A=0;do{l+=.5*(+p[a+(c<<6)+16>>2]+ +p[a+(c<<6)>>2]),d+=.5*(+p[a+(c<<6)+20>>2]+ +p[a+(c<<6)+4>>2]),A+=.5*(+p[a+(c<<6)+24>>2]+ +p[a+(c<<6)+8>>2]),c=c+1|0}while((0|c)!=(0|i))}else{a=0|_[t+116>>2],f=+p[t+36>>2],y=+p[t+40>>2],g=+p[t+44>>2],S=+p[t+4>>2],w=+p[t+8>>2],k=+p[t+12>>2],c=e,l=0,d=0,A=0;do{l+=.5*(+(0|s[a+(c<<4)+6>>1])/f+S+(+(0|s[a+(c<<4)>>1])/f+S)),d+=.5*(+(0|s[a+(c<<4)+8>>1])/y+w+(+(0|s[a+(c<<4)+2>>1])/y+w)),A+=.5*(+(0|s[a+(c<<4)+10>>1])/g+k+(+(0|s[a+(c<<4)+4>>1])/g+k)),c=c+1|0}while((0|c)!=(0|i))}if(B=(D=1/+(i-e|0))*l,I=D*d,D*=A,b){a=0|_[t+76>>2],c=e,l=0,A=0,f=0;do{l+=(S=.5*(+p[a+(c<<6)+16>>2]+ +p[a+(c<<6)>>2])-B)*S,A+=(w=.5*(+p[a+(c<<6)+20>>2]+ +p[a+(c<<6)+4>>2])-I)*w,f+=(k=.5*(+p[a+(c<<6)+24>>2]+ +p[a+(c<<6)+8>>2])-D)*k,c=c+1|0}while((0|c)!=(0|i));d=+(i-e|0)}else{a=0|_[t+116>>2],d=+p[t+36>>2],y=+p[t+40>>2],g=+p[t+44>>2],S=+p[t+4>>2],w=+p[t+8>>2],k=+p[t+12>>2],c=e,l=0,A=0,f=0;do{l+=(V=.5*(+(0|s[a+(c<<4)+6>>1])/d+S+(+(0|s[a+(c<<4)>>1])/d+S))-B)*V,A+=(M=.5*(+(0|s[a+(c<<4)+8>>1])/y+w+(+(0|s[a+(c<<4)+2>>1])/y+w))-I)*M,f+=(P=.5*(+(0|s[a+(c<<4)+10>>1])/g+k+(+(0|s[a+(c<<4)+4>>1])/g+k))-D)*P,c=c+1|0}while((0|c)!=(0|i));d=+(i-e|0)}}else f=0,A=0,l=0,d=+(i-e|0);if(M=(V=1/(d+-1))*l,P=V*A,V*=f,v=M>2]=0,_[r+16+4>>2]=0,_[r+16+8>>2]=0,_[r+16+12>>2]=0,(0|i)>(0|e)){if(0|n[t+60|0]){a=0|_[t+116>>2],f=+p[t+36>>2],y=+p[t+40>>2],g=+p[t+44>>2],S=+p[t+4>>2],w=+p[t+8>>2],k=+p[t+12>>2],c=e,A=0,d=0,l=0;do{A=.5*(+(0|s[a+(c<<4)+6>>1])/f+S+(+(0|s[a+(c<<4)>>1])/f+S))+A,d=.5*(+(0|s[a+(c<<4)+8>>1])/y+w+(+(0|s[a+(c<<4)+2>>1])/y+w))+d,l=.5*(+(0|s[a+(c<<4)+10>>1])/g+k+(+(0|s[a+(c<<4)+4>>1])/g+k))+l,c=c+1|0}while((0|c)!=(0|i))}else{a=0|_[t+76>>2],c=e,A=0,d=0,l=0;do{A=.5*(+p[a+(c<<6)+16>>2]+ +p[a+(c<<6)>>2])+A,d=.5*(+p[a+(c<<6)+20>>2]+ +p[a+(c<<6)+4>>2])+d,l=.5*(+p[a+(c<<6)+24>>2]+ +p[a+(c<<6)+8>>2])+l,c=c+1|0}while((0|c)!=(0|i))}p[r+16>>2]=A,p[r+16+4>>2]=d,p[r+16+8>>2]=l,c=r+16|0}else c=r+16|0,A=0,d=0,l=0;if(p[c>>2]=1/+(i-e|0)*A,p[r+16+4>>2]=1/+(i-e|0)*d,p[r+16+8>>2]=1/+(i-e|0)*l,S=+p[r+16+(v<<2)>>2],(0|i)>(0|e)){c=e,C=e;do{if((a=!(0|n[t+60|0]))?(F=0|_[t+76>>2],l=+p[F+(C<<6)>>2],d=+p[F+(C<<6)+16>>2],A=+p[F+(C<<6)+4>>2],f=+p[F+(C<<6)+20>>2],y=+p[F+(C<<6)+8>>2],g=+p[F+(C<<6)+24>>2]):(F=0|_[t+116>>2],A=+p[t+36>>2],y=+p[t+40>>2],V=+p[t+44>>2],d=+p[t+4>>2],f=+p[t+8>>2],g=+p[t+12>>2],l=+(0|s[F+(C<<4)>>1])/A+d,d=+(0|s[F+(C<<4)+6>>1])/A+d,A=+(0|s[F+(C<<4)+2>>1])/y+f,f=+(0|s[F+(C<<4)+8>>1])/y+f,y=+(0|s[F+(C<<4)+4>>1])/V+g,g=+(0|s[F+(C<<4)+10>>1])/V+g),p[r>>2]=.5*(d+l),p[r+4>>2]=.5*(f+A),p[r+8>>2]=.5*(g+y),p[r+12>>2]=0,+p[r+(v<<2)>>2]>S){if(a){m=b=(a=0|_[t+76>>2])+(C<<6)|0,h=64+(u=r+32|0)|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));m=a+(c<<6)|0,h=(u=b)+64|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));m=r+32|0,h=64+(u=(0|_[t+76>>2])+(c<<6)|0)|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h))}else F=(W=0|_[t+116>>2])+(C<<4)|0,_[r+32>>2]=_[F>>2],_[r+32+4>>2]=_[F+4>>2],_[r+32+8>>2]=_[F+8>>2],_[r+32+12>>2]=_[F+12>>2],W=W+(c<<4)|0,_[F>>2]=_[W>>2],_[F+4>>2]=_[W+4>>2],_[F+8>>2]=_[W+8>>2],_[F+12>>2]=_[W+12>>2],F=(0|_[t+116>>2])+(c<<4)|0,_[F>>2]=_[r+32>>2],_[F+4>>2]=_[r+32+4>>2],_[F+8>>2]=_[r+32+8>>2],_[F+12>>2]=_[r+32+12>>2];c=c+1|0}C=C+1|0}while((0|C)!=(0|i))}else c=e;if((0|c)>(((i-e|0)/3|0)+e|0)&&(0|c)<(i+-1-((i-e|0)/3|0)|0)||(c=(i-e>>1)+e|0),F=0|_[t+56>>2],0|n[t+60|0]?(W=0|_[t+136>>2],M=(+p[t+24>>2]-+p[t+8>>2])*+p[t+40>>2],V=(+p[t+28>>2]-+p[t+12>>2])*+p[t+44>>2],o[W+(F<<4)>>1]=(+p[t+20>>2]-+p[t+4>>2])*+p[t+36>>2]&65535&-2,o[W+(F<<4)+2>>1]=65535&M&-2,o[W+(F<<4)+4>>1]=65535&V&-2):(W=(0|_[t+96>>2])+(F<<6)|0,_[W>>2]=_[t+20>>2],_[W+4>>2]=_[t+20+4>>2],_[W+8>>2]=_[t+20+8>>2],_[W+12>>2]=_[t+20+12>>2]),a=0|_[t+56>>2],0|n[t+60|0]?(W=0|_[t+136>>2],P=+p[t+4>>2],M=+p[t+8>>2],V=+p[t+12>>2],M=(M-M)*+p[t+40>>2],V=(V-V)*+p[t+44>>2],o[W+(a<<4)+6>>1]=(P-P)*+p[t+36>>2]+1&65535|1,o[W+(a<<4)+8>>1]=M+1&65535|1,o[W+(a<<4)+10>>1]=V+1&65535|1):(W=(0|_[t+96>>2])+(a<<6)+16|0,_[W>>2]=_[t+4>>2],_[W+4>>2]=_[t+4+4>>2],_[W+8>>2]=_[t+4+8>>2],_[W+12>>2]=_[t+4+12>>2]),W=0|_[t+56>>2],(0|i)>(0|e)){j=0|n[t+60|0],R=e;do{j<<24>>24?(C=0|_[t+116>>2],y=+p[t+36>>2],k=+p[t+40>>2],P=+p[t+44>>2],g=+p[t+4>>2],D=+p[t+8>>2],M=+p[t+12>>2],S=+p[t+4>>2],I=+p[t+8>>2],V=+p[t+12>>2],f=+p[t+36>>2],w=+p[t+40>>2],B=+p[t+44>>2],a=(+(0|s[C+(R<<4)>>1])/y+g-S)*f&65535&-2,b=(+(0|s[C+(R<<4)+2>>1])/k+D-I)*w&65535&-2,u=(+(0|s[C+(R<<4)+4>>1])/P+M-V)*B&65535&-2,m=f*(+(0|s[C+(R<<4)+6>>1])/y+g-S)+1&65535|1,h=w*(+(0|s[C+(R<<4)+8>>1])/k+D-I)+1&65535|1,C=B*(+(0|s[C+(R<<4)+10>>1])/P+M-V)+1&65535|1,v=0|_[t+136>>2],(0|s[v+(W<<4)>>1])>(65535&a)&&(o[v+(W<<4)>>1]=a),(0|s[v+(W<<4)+6>>1])<(65535&m)&&(o[v+(W<<4)+6>>1]=m),(0|s[v+(W<<4)+2>>1])>(65535&b)&&(o[v+(W<<4)+2>>1]=b),(0|s[v+(W<<4)+8>>1])<(65535&h)&&(o[v+(W<<4)+8>>1]=h),(0|s[v+(W<<4)+4>>1])>(65535&u)&&(o[v+(W<<4)+4>>1]=u),(0|s[v+(W<<4)+10>>1])<(65535&C)&&(o[v+(W<<4)+10>>1]=C)):(a=0|_[t+76>>2],d=+p[a+(R<<6)>>2],g=+p[a+(R<<6)+4>>2],w=+p[a+(R<<6)+8>>2],f=+p[a+(R<<6)+12>>2],l=+p[a+(R<<6)+16>>2],S=+p[a+(R<<6)+20>>2],A=+p[a+(R<<6)+24>>2],y=+p[a+(R<<6)+28>>2],a=0|_[t+96>>2],d<+p[a+(W<<6)>>2]&&(p[a+(W<<6)>>2]=d),g<+p[a+(W<<6)+4>>2]&&(p[a+(W<<6)+4>>2]=g),w<+p[a+(W<<6)+8>>2]&&(p[a+(W<<6)+8>>2]=w),f<+p[a+(W<<6)+12>>2]&&(p[a+(W<<6)+12>>2]=f),+p[a+(W<<6)+16>>2]>2]=l),+p[a+(W<<6)+20>>2]>2]=S),+p[a+(W<<6)+24>>2]>2]=A),+p[a+(W<<6)+28>>2]>2]=y)),R=R+1|0}while((0|R)!=(0|i))}if(_[t+56>>2]=W+1,yi(t,e,c),R=0|_[t+56>>2],yi(t,c,i),v=(0|_[t+56>>2])-x|0,!!((c=0|n[t+60|0])<<24>>24)&(0|v)>128){if(h=0|_[t+136>>2],m=(0|(m=0|_[h+(W+1<<4)+12>>2]))>-1?1:0-m|0,C=(0|(C=0|_[h+(R<<4)+12>>2]))>-1?1:0-C|0,(0|m)<129){if((0|(u=0|_[t+152>>2]))==(0|_[t+156>>2])&&(0|u)<(0|(O=0|u?u<<1:1))){if(O?(_[6630]=1+(0|_[6630]),(c=0|di(O<<5|19))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,b=0|_[t+152>>2]):(c=0,b=u),(0|b)>0){a=0;do{x=c+(a<<5)|0,i=(0|_[t+160>>2])+(a<<5)|0,_[x>>2]=_[i>>2],_[x+4>>2]=_[i+4>>2],_[x+8>>2]=_[i+8>>2],_[x+12>>2]=_[i+12>>2],_[x+16>>2]=_[i+16>>2],_[x+20>>2]=_[i+20>>2],_[x+24>>2]=_[i+24>>2],_[x+28>>2]=_[i+28>>2],a=a+1|0}while((0|a)!=(0|b))}0|(a=0|_[t+160>>2])&&(0|n[t+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+160>>2]=0),n[t+164|0]=1,_[t+160>>2]=c,_[t+156>>2]=O,c=0|_[t+152>>2]}else c=u;_[t+152>>2]=c+1,O=(0|_[t+160>>2])+(u<<5)|0,_[O>>2]=_[r+32>>2],_[O+4>>2]=_[r+32+4>>2],_[O+8>>2]=_[r+32+8>>2],_[O+12>>2]=_[r+32+12>>2],_[O+16>>2]=_[r+32+16>>2],_[O+20>>2]=_[r+32+20>>2],_[O+24>>2]=_[r+32+24>>2],_[O+28>>2]=_[r+32+28>>2],O=0|_[t+160>>2],o[O+(u<<5)>>1]=0|o[h+(W+1<<4)>>1],o[O+(u<<5)+2>>1]=0|o[h+(W+1<<4)+2>>1],o[O+(u<<5)+4>>1]=0|o[h+(W+1<<4)+4>>1],o[O+(u<<5)+6>>1]=0|o[h+(W+1<<4)+6>>1],o[O+(u<<5)+8>>1]=0|o[h+(W+1<<4)+8>>1],o[O+(u<<5)+10>>1]=0|o[h+(W+1<<4)+10>>1],_[O+(u<<5)+12>>2]=W+1,_[O+(u<<5)+16>>2]=m}if((0|C)<129){if((0|(u=0|_[t+152>>2]))==(0|_[t+156>>2])&&(0|u)<(0|(T=0|u?u<<1:1))){if(T?(_[6630]=1+(0|_[6630]),(c=0|di(T<<5|19))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,b=0|_[t+152>>2]):(c=0,b=u),(0|b)>0){a=0;do{O=c+(a<<5)|0,x=(0|_[t+160>>2])+(a<<5)|0,_[O>>2]=_[x>>2],_[O+4>>2]=_[x+4>>2],_[O+8>>2]=_[x+8>>2],_[O+12>>2]=_[x+12>>2],_[O+16>>2]=_[x+16>>2],_[O+20>>2]=_[x+20>>2],_[O+24>>2]=_[x+24>>2],_[O+28>>2]=_[x+28>>2],a=a+1|0}while((0|a)!=(0|b))}0|(a=0|_[t+160>>2])&&(0|n[t+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+160>>2]=0),n[t+164|0]=1,_[t+160>>2]=c,_[t+156>>2]=T,c=0|_[t+152>>2]}else c=u;_[t+152>>2]=c+1,c=(0|_[t+160>>2])+(u<<5)|0,_[c>>2]=_[r+32>>2],_[c+4>>2]=_[r+32+4>>2],_[c+8>>2]=_[r+32+8>>2],_[c+12>>2]=_[r+32+12>>2],_[c+16>>2]=_[r+32+16>>2],_[c+20>>2]=_[r+32+20>>2],_[c+24>>2]=_[r+32+24>>2],_[c+28>>2]=_[r+32+28>>2],c=0|_[t+160>>2],o[c+(u<<5)>>1]=0|o[h+(R<<4)>>1],o[c+(u<<5)+2>>1]=0|o[h+(R<<4)+2>>1],o[c+(u<<5)+4>>1]=0|o[h+(R<<4)+4>>1],o[c+(u<<5)+6>>1]=0|o[h+(R<<4)+6>>1],o[c+(u<<5)+8>>1]=0|o[h+(R<<4)+8>>1],o[c+(u<<5)+10>>1]=0|o[h+(R<<4)+10>>1],_[c+(u<<5)+12>>2]=R,_[c+(u<<5)+16>>2]=C,c=t+152|0}else c=t+152|0;_[t+168>>2]=_[c>>2],c=0|n[t+60|0]}return c<<24>>24?(_[(0|_[t+136>>2])+(F<<4)+12>>2]=0-v,void(Q=r)):(_[(0|_[t+96>>2])+(F<<6)+32>>2]=v,void(Q=r))}function gi(t,e,i,o,s,c,a){t|=0,e|=0,i|=0,o|=0,s|=0,a|=0;var l,d,A,f,u,m,h,y,g,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0;l=Q,Q=Q+9824|0,k=36+(w=c|=0)|0;do{_[w>>2]=0,w=w+4|0}while((0|w)<(0|k));switch(_[l+9680>>2]=t,_[l+9680+4>>2]=i,W=+p[o>>2],M=+p[e>>2],B=+p[o+16>>2],P=+p[e+16>>2],g=+p[o+32>>2],T=+p[e+32>>2],O=+p[e+4>>2],x=+p[e+20>>2],F=+p[e+36>>2],u=+p[e+8>>2],A=+p[e+24>>2],C=+p[e+40>>2],y=+p[o+4>>2],h=+p[o+20>>2],m=+p[o+36>>2],f=+p[o+8>>2],d=+p[o+24>>2],v=+p[o+40>>2],p[l+9680+8>>2]=W*M+B*P+g*T,p[l+9680+12>>2]=W*O+B*x+g*F,p[l+9680+16>>2]=W*u+B*A+g*C,p[l+9680+20>>2]=0,p[l+9680+24>>2]=M*y+P*h+T*m,p[l+9680+28>>2]=O*y+x*h+F*m,p[l+9680+32>>2]=u*y+A*h+C*m,p[l+9680+36>>2]=0,p[l+9680+40>>2]=M*f+P*d+T*v,p[l+9680+44>>2]=O*f+x*d+F*v,p[l+9680+48>>2]=u*f+A*d+C*v,p[l+9680+52>>2]=0,G=+p[o+48>>2]-+p[e+48>>2],V=+p[o+52>>2]-+p[e+52>>2],R=+p[o+56>>2]-+p[e+56>>2],S=G*+p[e>>2]+V*+p[e+16>>2]+R*+p[e+32>>2],j=G*+p[e+4>>2]+V*+p[e+20>>2]+R*+p[e+36>>2],R=G*+p[e+8>>2]+V*+p[e+24>>2]+R*+p[e+40>>2],p[l+9680+56>>2]=W*M+B*P+g*T,p[l+9680+60>>2]=M*y+P*h+T*m,p[l+9680+64>>2]=M*f+P*d+T*v,p[l+9680+68>>2]=0,p[l+9680+72>>2]=W*O+B*x+g*F,p[l+9680+76>>2]=O*y+x*h+F*m,p[l+9680+80>>2]=O*f+x*d+F*v,p[l+9680+84>>2]=0,p[l+9680+88>>2]=W*u+B*A+g*C,p[l+9680+92>>2]=u*y+A*h+C*m,p[l+9680+96>>2]=u*f+A*d+C*v,p[l+9680+100>>2]=0,p[l+9680+104>>2]=S,p[l+9680+108>>2]=j,p[l+9680+112>>2]=R,p[l+9680+116>>2]=0,_[l+9680+120>>2]=a?82:81,_[l+9680+124>>2]=0,_[l+9296+364>>2]=0,_[l+9296+128>>2]=0,_[l+9296+128+4>>2]=0,_[l+9296+128+8>>2]=0,_[l+9296+128+12>>2]=0,_[l+9296+376>>2]=2,_[l+9296+368>>2]=0,p[l+9296+144>>2]=0,R=-+p[s+4>>2],j=-+p[s+8>>2],p[l+9808>>2]=-+p[s>>2],p[l+9808+4>>2]=R,p[l+9808+8>>2]=j,p[l+9808+12>>2]=0,0|Ci(l+9296|0,l+9680|0,l+9808|0)){case 1:_[l+9280>>2]=0,_[l+9280+4>>2]=0,_[l+9280+8>>2]=0,_[l+9280+12>>2]=0,_[l>>2]=9,_[l+9276>>2]=0,_[l+40>>2]=0,_[l+40+4>>2]=0,_[l+40+8>>2]=0,_[l+40+12>>2]=0,_[l+40+16>>2]=0,t=0;do{_[l+2108+(56*(i=128-t-1|0)|0)+44>>2]=0,o=0|_[l+9288>>2],_[l+2108+(56*i|0)+48>>2]=o,0|o&&(_[o+44>>2]=l+2108+(56*i|0)),_[l+9288>>2]=l+2108+(56*i|0),t=t+1|0}while(128!=(0|t));_[l+9292>>2]=128,S=+p[s>>2],R=+p[s+4>>2],v=+p[s+8>>2],D=0|_[l+9296+372>>2];do{if((0|_[D+32>>2])>>>0>1&&0|Di(l+9296|0)){if(0|(t=0|_[l+9280>>2])){w=0|_[l+9284>>2],k=0|_[l+9292>>2];do{i=t+44|0,0|(o=0|_[(a=t+48|0)>>2])&&(_[o+44>>2]=_[i>>2]),0|(i=0|_[i>>2])&&(_[i+48>>2]=_[a>>2]),(0|_[l+9280>>2])==(0|t)&&(_[l+9280>>2]=_[a>>2]),w=w+-1|0,_[t+44>>2]=0,_[a>>2]=_[l+9288>>2],0|(i=0|_[l+9288>>2])&&(_[i+44>>2]=t),_[l+9288>>2]=t,k=k+1|0,t=0|_[l+9280>>2]}while(0|t);_[l+9284>>2]=w,_[l+9292>>2]=k}if(_[l>>2]=0,_[l+9276>>2]=0,t=0|_[D>>2],i=0|_[D+12>>2],G=+p[i+16>>2],W=+p[t+16>>2]-G,x=+p[i+20>>2],O=+p[t+20>>2]-x,P=+p[i+24>>2],M=+p[t+24>>2]-P,i=0|_[D+4>>2],T=+p[i+16>>2]-G,V=+p[i+20>>2]-x,F=+p[i+24>>2]-P,o=0|_[D+8>>2],G=+p[o+16>>2]-G,x=+p[o+20>>2]-x,W*V*(P=+p[o+24>>2]-P)+(O*F*G+M*T*x-W*F*x-O*T*P)-M*V*G<0?(_[D>>2]=i,_[D+4>>2]=t,a=0|_[D+16>>2],_[D+16>>2]=_[D+20>>2],_[D+20>>2]=a,a=i):(a=t,t=i),a=0|_i(l,a,t,o,1),w=0|_i(l,0|_[D+4>>2],0|_[D>>2],0|_[D+12>>2],1),k=0|_i(l,0|_[D+8>>2],0|_[D+4>>2],0|_[D+12>>2],1),s=0|_i(l,0|_[D>>2],0|_[D+8>>2],0|_[D+12>>2],1),4==(0|_[l+9284>>2])){if(i=0|_[l+9280>>2],C=+p[i+16>>2],t=0|_[i+48>>2]){for(v=C*C;i=(o=(C=+p[t+16>>2])*C>2];)v=o?C*C:v;t=i,C=+p[i+16>>2]}else t=i;for(S=+p[t>>2],j=+p[t+4>>2],R=+p[t+8>>2],v=+p[t+12>>2],N=0|_[t+20>>2],i=0|_[t+24>>2],o=0|_[t+28>>2],n[a+52|0]=0,_[a+32>>2]=w,n[w+52|0]=0,_[w+32>>2]=a,n[a+53|0]=0,_[a+36>>2]=k,n[k+52|0]=1,_[k+32>>2]=a,n[a+54|0]=0,_[a+40>>2]=s,n[s+52|0]=2,_[s+32>>2]=a,n[w+53|0]=2,_[w+36>>2]=s,n[s+54|0]=1,_[s+40>>2]=w,n[w+54|0]=1,_[w+40>>2]=k,n[k+53|0]=2,_[k+36>>2]=w,n[k+54|0]=1,_[k+40>>2]=s,n[s+53|0]=2,_[s+36>>2]=k,_[l>>2]=0,s=t,D=0,w=N,k=i,a=o;;){if((i=0|_[l+9276>>2])>>>0>=64){I=45;break}if(_[l+9808>>2]=0,_[l+9808+4>>2]=0,_[l+9808+8>>2]=0,_[l+9276>>2]=i+1,D=D+1|0,n[s+55|0]=D,o=s+4|0,N=s+8|0,Xt(l+9296|0,+p[s>>2],+p[o>>2],+p[N>>2],l+60+(i<<5)|0),!(+p[s>>2]*+p[l+60+(i<<5)+16>>2]+ +p[o>>2]*+p[l+60+(i<<5)+20>>2]+ +p[N>>2]*+p[l+60+(i<<5)+24>>2]-+p[s+16>>2]>9999999747378752e-20)){t=7,I=44;break}t=0;do{o=0|Et(l,D,l+60+(i<<5)|0,0|_[s+32+(t<<2)>>2],0|r[s+52+t|0],l+9808|0),t=t+1|0}while(o&t>>>0<3);if(!(o&(0|_[l+9808+8>>2])>>>0>2)){t=4,I=44;break}if(o=0|_[l+9808>>2],t=0|_[l+9808+4>>2],n[o+53|0]=2,_[o+36>>2]=t,n[t+54|0]=1,_[t+40>>2]=o,t=s+44|0,0|(i=0|_[(o=s+48|0)>>2])&&(_[i+44>>2]=_[t>>2]),0|(t=0|_[t>>2])&&(_[t+48>>2]=_[o>>2]),(0|_[l+9280>>2])==(0|s)&&(_[l+9280>>2]=_[o>>2]),_[l+9284>>2]=(0|_[l+9284>>2])-1,_[s+44>>2]=0,_[o>>2]=_[l+9288>>2],0|(t=0|_[l+9288>>2])&&(_[t+44>>2]=s),_[l+9288>>2]=s,_[l+9292>>2]=1+(0|_[l+9292>>2]),i=0|_[l+9280>>2],C=+p[i+16>>2],t=0|_[i+48>>2]){for(v=C*C,o=i;o=(i=(C=+p[t+16>>2])*C>2];)v=i?C*C:v;i=o,C=+p[o+16>>2]}if(S=+p[i>>2],j=+p[i+4>>2],R=+p[i+8>>2],v=+p[i+12>>2],t=0|_[i+20>>2],o=0|_[i+24>>2],a=0|_[i+28>>2],D>>>0>=255){i=a;break}s=i,w=t,k=o}if(44==(0|I)?(_[l>>2]=t,t=w,o=k,i=a):45==(0|I)&&(_[l>>2]=6,t=w,o=k,i=a),T=S*C,x=j*C,G=R*C,p[l+40>>2]=S,p[l+44>>2]=j,p[l+48>>2]=R,p[l+52>>2]=v,p[l+56>>2]=C,_[l+36>>2]=3,_[l+4>>2]=t,_[l+8>>2]=o,_[l+12>>2]=i,P=+p[(N=o)+16>>2]-T,W=+p[N+20>>2]-x,O=+p[N+24>>2]-G,B=+p[(D=i)+16>>2]-T,F=+p[D+20>>2]-x,M=+p[D+24>>2]-G,M=+b(+((P*F-W*B)*(P*F-W*B)+((W*M-O*F)*(W*M-O*F)+(O*B-P*M)*(O*B-P*M)))),p[l+20>>2]=M,P=+p[D+16>>2]-T,B=+p[D+20>>2]-x,O=+p[D+24>>2]-G,F=+p[(D=t)+16>>2]-T,W=+p[D+20>>2]-x,V=+p[D+24>>2]-G,V=+b(+((P*W-B*F)*(P*W-B*F)+((B*V-O*W)*(B*V-O*W)+(O*F-P*V)*(O*F-P*V)))),p[l+24>>2]=V,P=+p[D+16>>2]-T,F=+p[D+20>>2]-x,O=+p[D+24>>2]-G,T=+p[N+16>>2]-T,x=+p[N+20>>2]-x,G=+p[N+24>>2]-G,G=+b(+((P*x-F*T)*(P*x-F*T)+((F*G-O*x)*(F*G-O*x)+(O*T-P*G)*(O*T-P*G)))),p[l+20>>2]=M/(M+V+G),p[l+24>>2]=V/(M+V+G),p[l+28>>2]=G/(M+V+G),9!=(0|_[l>>2])){if(0|_[l+36>>2]){a=l+36|0,I=54;break}S=0,v=0,C=0;break}return _[c>>2]=3,Q=l,0|(N=0)}I=48}else I=48}while(0);if(48==(0|I)&&(_[l>>2]=8,p[l+40>>2]=S,p[l+44>>2]=R,p[l+48>>2]=v,p[l+52>>2]=0,(C=+b(+(S*S+R*R+v*v)))>0?(p[l+40>>2]=1/C*S,p[l+44>>2]=1/C*R,p[l+48>>2]=1/C*v):(_[l+40>>2]=1065353216,_[l+44>>2]=0,_[l+48>>2]=0),p[l+52>>2]=0,p[l+56>>2]=0,_[l+36>>2]=1,_[l+4>>2]=_[D>>2],p[l+20>>2]=1,a=l+36|0,I=54),54==(0|I)){o=0,C=0,v=0,S=0;do{t=0|_[l+9680+120>>2],N=0|_[l+9680+124>>2],i=(0|_[l+9680>>2])+(N>>1)|0,1&N&&(t=0|_[(0|_[i>>2])+t>>2]),_d[127&t](l+9808|0,i,0|_[l+4+(o<<2)>>2]),G=+p[l+20+(o<<2)>>2],C+=+p[l+9808>>2]*G,v+=G*+p[l+9808+4>>2],S+=G*+p[l+9808+8>>2],o=o+1|0}while(o>>>0<(0|_[a>>2])>>>0)}return _[c>>2]=1,G=C*+p[e+16>>2]+v*+p[e+20>>2]+S*+p[e+24>>2]+ +p[e+52>>2],P=C*+p[e+32>>2]+v*+p[e+36>>2]+S*+p[e+40>>2]+ +p[e+56>>2],p[c+4>>2]=C*+p[e>>2]+v*+p[e+4>>2]+S*+p[e+8>>2]+ +p[e+48>>2],p[c+8>>2]=G,p[c+12>>2]=P,p[c+16>>2]=0,P=+p[l+40>>2],F=v-(G=+p[l+56>>2])*(M=+p[l+44>>2]),x=S-G*(V=+p[l+48>>2]),O=(W=C-P*G)*+p[e+16>>2]+F*+p[e+20>>2]+x*+p[e+24>>2]+ +p[e+52>>2],T=W*+p[e+32>>2]+F*+p[e+36>>2]+x*+p[e+40>>2]+ +p[e+56>>2],p[c+20>>2]=W*+p[e>>2]+F*+p[e+4>>2]+x*+p[e+8>>2]+ +p[e+48>>2],p[c+24>>2]=O,p[c+28>>2]=T,p[c+32>>2]=0,p[c+36>>2]=-P,p[c+40>>2]=-M,p[c+44>>2]=-V,p[c+48>>2]=0,p[c+52>>2]=-G,Q=l,0|(N=1);case 2:return _[c>>2]=2,Q=l,0|(N=0);default:return Q=l,0|(N=0)}return 0}function Ci(t,e,i){e|=0,i|=0;var n,o=0,r=0,s=0,c=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0;n=Q,Q=Q+112|0,_[348+(t|=0)>>2]=t+220,_[t+352>>2]=t+252,_[t+356>>2]=t+284,_[t+360>>2]=t+316,_[t+364>>2]=4,_[t+368>>2]=0,_[t+376>>2]=0,W=0|_[e+4>>2],_[t>>2]=_[e>>2],_[t+4>>2]=W,_[t+8>>2]=_[e+8>>2],_[t+8+4>>2]=_[e+8+4>>2],_[t+8+8>>2]=_[e+8+8>>2],_[t+8+12>>2]=_[e+8+12>>2],_[t+24>>2]=_[e+24>>2],_[t+24+4>>2]=_[e+24+4>>2],_[t+24+8>>2]=_[e+24+8>>2],_[t+24+12>>2]=_[e+24+12>>2],_[t+40>>2]=_[e+40>>2],_[t+40+4>>2]=_[e+40+4>>2],_[t+40+8>>2]=_[e+40+8>>2],_[t+40+12>>2]=_[e+40+12>>2],_[t+56>>2]=_[e+56>>2],_[t+56+4>>2]=_[e+56+4>>2],_[t+56+8>>2]=_[e+56+8>>2],_[t+56+12>>2]=_[e+56+12>>2],_[t+72>>2]=_[e+72>>2],_[t+72+4>>2]=_[e+72+4>>2],_[t+72+8>>2]=_[e+72+8>>2],_[t+72+12>>2]=_[e+72+12>>2],_[t+88>>2]=_[e+88>>2],_[t+88+4>>2]=_[e+88+4>>2],_[t+88+8>>2]=_[e+88+8>>2],_[t+88+12>>2]=_[e+88+12>>2],_[t+104>>2]=_[e+104>>2],_[t+104+4>>2]=_[e+104+4>>2],_[t+104+8>>2]=_[e+104+8>>2],_[t+104+12>>2]=_[e+104+12>>2],W=0|_[e+124>>2],_[t+120>>2]=_[e+120>>2],_[t+124>>2]=W,p[t+144>>2]=0,_[t+180>>2]=0,_[t+128>>2]=_[i>>2],_[t+128+4>>2]=_[i+4>>2],_[t+128+8>>2]=_[i+8>>2],_[t+128+12>>2]=_[i+12>>2],(o=+p[t+128>>2])*o+(r=+p[t+132>>2])*r+(s=+p[t+136>>2])*s>0?(p[t+164>>2]=0,_[t+364>>2]=3,_[t+148>>2]=t+316,_[t+180>>2]=1,Xt(t,-o,-r,-s,t+316|0),e=t+148|0,i=t+164|0):(p[t+164>>2]=0,_[t+364>>2]=3,_[t+148>>2]=t+316,_[t+180>>2]=1,Xt(t,1,0,0,t+316|0),e=t+148|0,i=t+164|0),p[i>>2]=1,W=16+(0|_[e>>2])|0,_[t+128>>2]=_[W>>2],_[t+128+4>>2]=_[W+4>>2],_[t+128+8>>2]=_[W+8>>2],_[t+128+12>>2]=_[W+12>>2],_[n+16+48>>2]=_[W>>2],_[n+16+48+4>>2]=_[W+4>>2],_[n+16+48+8>>2]=_[W+8>>2],_[n+16+48+12>>2]=_[W+12>>2],_[n+16+32>>2]=_[W>>2],_[n+16+32+4>>2]=_[W+4>>2],_[n+16+32+8>>2]=_[W+8>>2],_[n+16+32+12>>2]=_[W+12>>2],_[n+16+16>>2]=_[W>>2],_[n+16+16+4>>2]=_[W+4>>2],_[n+16+16+8>>2]=_[W+8>>2],_[n+16+16+12>>2]=_[W+12>>2],_[n+16>>2]=_[W>>2],_[n+16+4>>2]=_[W+4>>2],_[n+16+8>>2]=_[W+8>>2],_[n+16+12>>2]=_[W+12>>2],W=0,F=0,o=o*o+r*r+s*s,B=0,I=0|_[t+368>>2],r=+p[t+128>>2],l=+p[t+132>>2],s=+p[t+136>>2];t:for(;;){if(e=1-I|0,u=t+148+(36*I|0)|0,(d=+b(+(r*r+l*l+s*s)))<9999999747378752e-20){T=6;break}if(c=0|_[(h=t+148+(36*I|0)+32|0)>>2],p[t+148+(36*I|0)+16+(c<<2)>>2]=0,i=(0|_[t+364>>2])-1|0,_[t+364>>2]=i,i=0|_[t+348+(i<<2)>>2],_[t+148+(36*I|0)+(c<<2)>>2]=i,_[h>>2]=c+1,Xt(t,-r,-l,-s,i),i=0|_[h>>2],c=0|_[t+148+(36*I|0)+(i+-1<<2)>>2],r=+p[c+16>>2],s=+p[c+20>>2],l=+p[c+24>>2],(R=r-+p[n+16>>2])*R+(j=s-+p[n+16+4>>2])*j+(D=l-+p[n+16+8>>2])*D<9999999747378752e-20){T=9;break}if((R=r-+p[n+16+16>>2])*R+(j=s-+p[n+16+20>>2])*j+(D=l-+p[n+16+24>>2])*D<9999999747378752e-20){T=9;break}if((R=r-+p[n+16+32>>2])*R+(j=s-+p[n+16+36>>2])*j+(D=l-+p[n+16+40>>2])*D<9999999747378752e-20){T=9;break}if((R=r-+p[n+16+48>>2])*R+(j=s-+p[n+16+52>>2])*j+(D=l-+p[n+16+56>>2])*D<9999999747378752e-20){T=9;break}if(_[(m=n+16+((B=B+1&3)<<4)|0)>>2]=_[c+16>>2],_[m+4>>2]=_[c+16+4>>2],_[m+8>>2]=_[c+16+8>>2],_[m+12>>2]=_[c+16+12>>2],d-(F=(D=(+p[t+128>>2]*r+ +p[t+132>>2]*s+ +p[t+136>>2]*l)/d)>F?D:F)-9999999747378752e-20*d<=0){T=10;break}_[n+80>>2]=0;e:do{switch(0|i){case 2:if(m=0|_[u>>2],u=0|_[t+148+(36*I|0)+4>>2],!(((o=+p[u+16>>2])-(r=+p[m+16>>2]))*(o-r)+((s=+p[u+20>>2])-(l=+p[m+20>>2]))*(s-l)+((d=+p[u+24>>2])-(A=+p[m+24>>2]))*(d-A)>0)){T=46;break t}if((f=-(r*(o-r)+l*(s-l)+A*(d-A))/((o-r)*(o-r)+(s-l)*(s-l)+(d-A)*(d-A)))>=1){p[n>>2]=0,p[n+4>>2]=1,_[n+80>>2]=2,o=o*o+s*s+d*d;break e}if(f<=0){p[n>>2]=1,p[n+4>>2]=0,_[n+80>>2]=1,o=r*r+l*l+A*A;break e}p[n+4>>2]=f,p[n>>2]=1-f,_[n+80>>2]=3,o=(A+(d-A)*f)*(A+(d-A)*f)+((r+(o-r)*f)*(r+(o-r)*f)+(l+(s-l)*f)*(l+(s-l)*f));break e;case 3:o=+Pe(16+(0|_[u>>2])|0,16+(0|_[t+148+(36*I|0)+4>>2])|0,16+(0|_[t+148+(36*I|0)+8>>2])|0,n,n+80|0);break;case 4:if(i=0|_[u>>2],c=0|_[t+148+(36*I|0)+4>>2],u=0|_[t+148+(36*I|0)+8>>2],m=0|_[t+148+(36*I|0)+12>>2],y=+p[i+16>>2],g=+p[m+16>>2],C=+p[i+20>>2],v=+p[m+20>>2],S=+p[i+24>>2],w=+p[m+24>>2],r=+p[c+16>>2],s=+p[c+20>>2],l=+p[c+24>>2],k=+p[u+16>>2],R=+p[u+20>>2],!((D=(y-g)*(s-v)*((j=+p[u+24>>2])-w)+((C-v)*(l-w)*(k-g)+(S-w)*(r-g)*(R-v)-(y-g)*(l-w)*(R-v)-(C-v)*(r-g)*(j-w))-(S-w)*(s-v)*(k-g))==D&!0&0!=D&D*(S*((C-s)*(r-k)-(y-r)*(s-R))+(y*((S-l)*(s-R)-(C-s)*(l-j))+C*((y-r)*(l-j)-(S-l)*(r-k))))<=0)){T=46;break t}_[n+88>>2]=0,_[n+88+4>>2]=0,_[n+88+8>>2]=0,_[n+84>>2]=0,D*(((C-v)*(l-w)-(S-w)*(s-v))*g+v*((S-w)*(r-g)-(y-g)*(l-w))+((y-g)*(s-v)-(C-v)*(r-g))*w)>0?(o=+Pe(i+16|0,c+16|0,m+16|0,n+88|0,n+84|0),P=0|_[n+84>>2],_[n+80>>2]=2&P|P<<1&8|1&P,_[n>>2]=_[n+88>>2],_[n+4>>2]=_[n+88+4>>2],p[n+8>>2]=0,_[n+12>>2]=_[n+88+8>>2],d=+p[m+16>>2],A=+p[m+20>>2],f=+p[m+24>>2]):(o=-1,d=g,A=v,f=w),D*(((s-v)*(j-w)-(l-w)*(R-v))*d+A*((l-w)*(k-g)-(j-w)*(r-g))+((R-v)*(r-g)-(s-v)*(k-g))*f)>0&&o<0|(x=+Pe(c+16|0,u+16|0,m+16|0,n+88|0,n+84|0))>2]=_[n+84>>2]<<1&14,_[n+4>>2]=_[n+88>>2],_[n+8>>2]=_[n+88+4>>2],p[n>>2]=0,_[n+12>>2]=_[n+88+8>>2],o=x),D*(((R-v)*(S-w)-(j-w)*(C-v))*+p[m+16>>2]+ +p[m+20>>2]*((j-w)*(y-g)-(S-w)*(k-g))+((C-v)*(k-g)-(R-v)*(y-g))*+p[m+24>>2])>0&&o<0|(O=+Pe(u+16|0,i+16|0,m+16|0,n+88|0,n+84|0))>2],_[n+80>>2]=P>>>1&1|P<<1&8|P<<2&4,_[n+8>>2]=_[n+88>>2],_[n>>2]=_[n+88+4>>2],p[n+4>>2]=0,_[n+12>>2]=_[n+88+8>>2],o=O),o<0&&(_[n+80>>2]=15,y=+p[u+20>>2],j=+p[c+24>>2],R=+p[m+16>>2],A=+p[u+24>>2],k=+p[c+16>>2],g=+p[m+20>>2],f=+p[u+16>>2],w=+p[m+24>>2],v=+p[c+20>>2],p[n>>2]=(y*j*R+A*k*g-g*(j*f)-y*k*w+w*(f*v)-R*(A*v))/D,o=+p[i+20>>2],C=+p[i+24>>2],S=+p[i+16>>2],p[n+4>>2]=(o*A*R+C*f*g-g*(A*S)-o*f*w+w*(S*y)-R*(C*y))/D,p[n+8>>2]=(v*C*R+j*S*g-g*(C*k)-v*S*w+w*(k*o)-R*(j*o))/D,p[n+12>>2]=1-((y*j*R+A*k*g-g*(j*f)-y*k*w+w*(f*v)-R*(A*v))/D+(o*A*R+C*f*g-g*(A*S)-o*f*w+w*(S*y)-R*(C*y))/D+(v*C*R+j*S*g-g*(C*k)-v*S*w+w*(k*o)-R*(j*o))/D),o=0)}}while(0);if(!(o>=0)){T=46;break}if(_[t+148+(36*e|0)+32>>2]=0,_[t+128>>2]=0,_[t+128+4>>2]=0,_[t+128+8>>2]=0,_[t+128+12>>2]=0,_[t+368>>2]=e,m=0|_[h>>2],h=0|_[n+80>>2],m){if(c=0|_[(i=t+148+(36*I|0)|0)>>2],1&h?(P=0|_[t+148+(36*e|0)+32>>2],_[t+148+(36*e|0)+(P<<2)>>2]=c,u=0|_[n>>2],_[t+148+(36*e|0)+32>>2]=P+1,_[t+148+(36*e|0)+16+(P<<2)>>2]=u,P=0|_[i>>2],_[a>>2]=u,r=+p[a>>2],l=+p[P+20>>2]*r,s=+p[P+24>>2]*r,r=+p[P+16>>2]*r+ +p[t+128>>2],p[t+128>>2]=r,l+=+p[t+132>>2],p[t+132>>2]=l,s+=+p[t+136>>2],p[t+136>>2]=s):(P=0|_[t+364>>2],_[t+364>>2]=P+1,_[t+348+(P<<2)>>2]=c,s=0,l=0,r=0),1!=(0|m)){u=1;do{c=0|_[(i=t+148+(36*I|0)+(u<<2)|0)>>2],h&1<>2],_[t+148+(36*e|0)+(P<<2)>>2]=c,c=0|_[n+(u<<2)>>2],_[t+148+(36*e|0)+32>>2]=P+1,_[t+148+(36*e|0)+16+(P<<2)>>2]=c,P=0|_[i>>2],_[a>>2]=c,r=+p[a>>2],l=+p[P+20>>2]*r,s=+p[P+24>>2]*r,r=+p[P+16>>2]*r+ +p[t+128>>2],p[t+128>>2]=r,l+=+p[t+132>>2],p[t+132>>2]=l,s+=+p[t+136>>2],p[t+136>>2]=s):(P=0|_[t+364>>2],_[t+364>>2]=P+1,_[t+348+(P<<2)>>2]=c),u=u+1|0}while((0|u)!=(0|m))}}else s=0,l=0,r=0;if(15==(0|h)&&(_[t+376>>2]=1),(W=W+1|0)>>>0>=128){T=45;break}if(0|(i=0|_[t+376>>2]))break;I=e}if(6==(0|T))_[t+376>>2]=1,e=I,T=48;else if(9==(0|T))e=0|_[t+368>>2],W=(0|_[t+148+(36*e|0)+32>>2])-1|0,_[t+148+(36*e|0)+32>>2]=W,W=0|_[t+148+(36*e|0)+(W<<2)>>2],P=0|_[t+364>>2],_[t+364>>2]=P+1,_[t+348+(P<<2)>>2]=W,T=48;else if(10==(0|T))e=0|_[t+368>>2],W=(0|_[t+148+(36*e|0)+32>>2])-1|0,_[t+148+(36*e|0)+32>>2]=W,W=0|_[t+148+(36*e|0)+(W<<2)>>2],P=0|_[t+364>>2],_[t+364>>2]=P+1,_[t+348+(P<<2)>>2]=W,T=48;else{if(45==(0|T))return _[t+376>>2]=2,_[t+372>>2]=t+148+(36*e|0),Q=n,0|(P=2);46==(0|T)&&(e=0|_[t+368>>2],W=(0|_[t+148+(36*e|0)+32>>2])-1|0,_[t+148+(36*e|0)+32>>2]=W,W=0|_[t+148+(36*e|0)+(W<<2)>>2],P=0|_[t+364>>2],_[t+364>>2]=P+1,_[t+348+(P<<2)>>2]=W,T=48)}switch(48==(0|T)&&(i=0|_[t+376>>2]),_[t+372>>2]=t+148+(36*e|0),0|i){case 0:return F=+p[t+128>>2],x=+p[t+132>>2],O=+p[t+136>>2],O=+b(+(F*F+x*x+O*O)),p[t+144>>2]=O,Q=n,0|(P=0);case 1:return p[t+144>>2]=0,Q=n,0|(P=1);default:return Q=n,0|(P=i)}return 0}function vi(t,e,i,o,r,s,c){t|=0,e|=0,i|=0,o|=0,r=+r,s=+s,c|=0;var a,l,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0;if(l=Q,Q=Q+48|0,n[l+16+16|0]=1,_[(a=l+16+12|0)>>2]=0,_[l+16+4>>2]=0,_[l+16+8>>2]=0,(0|(u=0|_[o+4>>2]))>0){if(_[6630]=1+(0|_[6630]),(d=0|di(16+(u<<4|3)|0))?(_[(d+4+15&-16)-4>>2]=d,f=d+4+15&-16):f=0,(0|(A=0|_[l+16+4>>2]))>0){d=0;do{X=f+(d<<4)|0,J=(0|_[a>>2])+(d<<4)|0,_[X>>2]=_[J>>2],_[X+4>>2]=_[J+4>>2],_[X+8>>2]=_[J+8>>2],_[X+12>>2]=_[J+12>>2],d=d+1|0}while((0|d)!=(0|A))}0|(d=0|_[a>>2])&&(0|n[l+16+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[d+-4>>2])),_[a>>2]=0),n[l+16+16|0]=1,_[a>>2]=f,_[l+16+8>>2]=u}if((0|(A=0|_[e+28>>2]))>0){for(X=0|_[e+36>>2],w=+p[i>>2],S=+p[i+4>>2],g=+p[i+8>>2],v=+p[i+16>>2],y=+p[i+20>>2],h=+p[i+24>>2],C=+p[i+32>>2],m=+p[i+36>>2],b=+p[i+40>>2],R=+p[t>>2],j=+p[t+4>>2],D=+p[t+8>>2],J=-1,k=34028234663852886e22,d=0;J=(f=((I=+p[X+(36*d|0)+20>>2])*w+(B=+p[X+(36*d|0)+24>>2])*S+(W=+p[X+(36*d|0)+28>>2])*g)*R+(I*v+B*y+W*h)*j+(I*C+B*m+W*b)*D=0){if((0|(V=0|_[X+(36*J|0)+4>>2]))>0){for(G=X+(36*J|0)+12|0,N=X+(36*J|0)+20|0,L=X+(36*J|0)+24|0,E=X+(36*J|0)+28|0,d=0,M=l+16|0,P=o;;){if(O=0|_[G>>2],x=0|_[O+(d<<2)>>2],o=0|_[e+16>>2],O=0|_[O+(((0|(T=d+1|0))==(0|V)?0:T)<<2)>>2],R=(q=(K=+p[o+(x<<4)>>2])-+p[o+(O<<4)>>2])*w+($=(z=+p[o+(x<<4)+4>>2])-+p[o+(O<<4)+4>>2])*S+(D=(k=+p[o+(x<<4)+8>>2])-+p[o+(O<<4)+8>>2])*g,j=q*v+$*y+D*h,D=q*C+$*m+D*b,I=w*($=+p[N>>2])+S*(q=+p[L>>2])+g*(W=+p[E>>2]),B=v*$+y*q+h*W,W=C*$+m*q+b*W,k=(K*w+z*S+k*g+ +p[i+48>>2])*-(j*W-D*B)+(K*v+z*y+k*h+ +p[i+52>>2])*-(D*I-R*W)+(K*C+z*m+k*b+ +p[i+56>>2])*-(R*B-j*I),o=M,(0|(d=0|_[(O=P)+4>>2]))>=2){for(f=0|_[O+12>>2],A=0,b=(m=+p[f+(d+-1<<4)>>2])*-(j*W-D*B)+(h=+p[f+(d+-1<<4)+4>>2])*-(D*I-R*W)+(y=+p[f+(d+-1<<4)+8>>2])*-(R*B-j*I)-k;;){v=+p[f+(A<<4)>>2],S=+p[f+(A<<4)+4>>2],w=+p[f+(A<<4)+8>>2],x=0|_[f+(A<<4)+12>>2],C=v*-(j*W-D*B)+S*-(D*I-R*W)+w*-(R*B-j*I)-k;do{if(b<0){if(C<0){if((0|(u=0|_[o+4>>2]))==(0|_[o+8>>2])&&(0|u)<(0|(H=0|u?u<<1:1))){if(H?(_[6630]=1+(0|_[6630]),(f=0|di(16+(H<<4|3)|0))?(_[(f+4+15&-16)-4>>2]=f,f=f+4+15&-16):f=0,u=0|_[o+4>>2]):f=0,(0|u)>0){F=0;do{tt=f+(F<<4)|0,et=(0|_[o+12>>2])+(F<<4)|0,_[tt>>2]=_[et>>2],_[tt+4>>2]=_[et+4>>2],_[tt+8>>2]=_[et+8>>2],_[tt+12>>2]=_[et+12>>2],F=F+1|0}while((0|F)!=(0|u))}0|(u=0|_[o+12>>2])&&(0|n[o+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[o+12>>2]=0),n[o+16|0]=1,_[o+12>>2]=f,_[o+8>>2]=H,f=0|_[o+4>>2]}else f=u;F=0|_[o+12>>2],p[F+(f<<4)>>2]=v,p[F+(f<<4)+4>>2]=S,p[F+(f<<4)+8>>2]=w,_[F+(f<<4)+12>>2]=x,F=83;break}if(g=m+(v-m)*(b/=b-C),m=h+(S-h)*b,b=y+(w-y)*b,(0|(u=0|_[o+4>>2]))==(0|_[o+8>>2])&&(0|u)<(0|(Z=0|u?u<<1:1))){if(Z?(_[6630]=1+(0|_[6630]),(f=0|di(16+(Z<<4|3)|0))?(_[(f+4+15&-16)-4>>2]=f,f=f+4+15&-16):f=0,u=0|_[o+4>>2]):f=0,(0|u)>0){F=0;do{et=f+(F<<4)|0,tt=(0|_[o+12>>2])+(F<<4)|0,_[et>>2]=_[tt>>2],_[et+4>>2]=_[tt+4>>2],_[et+8>>2]=_[tt+8>>2],_[et+12>>2]=_[tt+12>>2],F=F+1|0}while((0|F)!=(0|u))}0|(u=0|_[o+12>>2])&&(0|n[o+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[o+12>>2]=0),n[o+16|0]=1,_[o+12>>2]=f,_[o+8>>2]=Z,f=0|_[o+4>>2]}else f=u;F=0|_[o+12>>2],p[F+(f<<4)>>2]=g,p[F+(f<<4)+4>>2]=m,p[F+(f<<4)+8>>2]=b,p[F+(f<<4)+12>>2]=0,F=83;break}if(C<0){if(g=m+(v-m)*(b/=b-C),m=h+(S-h)*b,b=y+(w-y)*b,(0|(u=0|_[o+4>>2]))==(0|_[o+8>>2])&&(0|u)<(0|(U=0|u?u<<1:1))){if(U?(_[6630]=1+(0|_[6630]),(f=0|di(16+(U<<4|3)|0))?(_[(f+4+15&-16)-4>>2]=f,f=f+4+15&-16):f=0,u=0|_[o+4>>2]):f=0,(0|u)>0){F=0;do{et=f+(F<<4)|0,tt=(0|_[o+12>>2])+(F<<4)|0,_[et>>2]=_[tt>>2],_[et+4>>2]=_[tt+4>>2],_[et+8>>2]=_[tt+8>>2],_[et+12>>2]=_[tt+12>>2],F=F+1|0}while((0|F)!=(0|u))}0|(u=0|_[o+12>>2])&&(0|n[o+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[o+12>>2]=0),n[o+16|0]=1,_[o+12>>2]=f,_[o+8>>2]=U,f=0|_[o+4>>2]}else f=u;if(u=0|_[o+12>>2],p[u+(f<<4)>>2]=g,p[u+(f<<4)+4>>2]=m,p[u+(f<<4)+8>>2]=b,p[u+(f<<4)+12>>2]=0,u=1+(0|_[o+4>>2])|0,_[o+4>>2]=u,(0|u)==(0|_[o+8>>2])&&(0|u)<(0|(Y=0|u?u<<1:1))){if(Y?(_[6630]=1+(0|_[6630]),(f=0|di(16+(Y<<4|3)|0))?(_[(f+4+15&-16)-4>>2]=f,f=f+4+15&-16):f=0,u=0|_[o+4>>2]):f=0,(0|u)>0){F=0;do{et=f+(F<<4)|0,tt=(0|_[o+12>>2])+(F<<4)|0,_[et>>2]=_[tt>>2],_[et+4>>2]=_[tt+4>>2],_[et+8>>2]=_[tt+8>>2],_[et+12>>2]=_[tt+12>>2],F=F+1|0}while((0|F)!=(0|u))}0|(u=0|_[o+12>>2])&&(0|n[o+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[o+12>>2]=0),n[o+16|0]=1,_[o+12>>2]=f,_[o+8>>2]=Y,f=0|_[o+4>>2]}else f=u;F=0|_[o+12>>2],p[F+(f<<4)>>2]=v,p[F+(f<<4)+4>>2]=S,p[F+(f<<4)+8>>2]=w,_[F+(f<<4)+12>>2]=x,F=83}}while(0);if(83==(0|F)&&(F=0,_[o+4>>2]=1+(0|_[o+4>>2])),(0|(A=A+1|0))==(0|d))break;b=C,m=v,y=w,h=S,f=0|_[O+12>>2]}d=0|_[O+4>>2]}if((0|d)<0){(0|_[O+8>>2])<0&&(0|(A=0|_[O+12>>2])&&(0|n[O+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[O+12>>2]=0),n[O+16|0]=1,_[O+12>>2]=0,_[O+8>>2]=0);do{et=(0|_[O+12>>2])+(d<<4)|0,_[et>>2]=_[l>>2],_[et+4>>2]=_[l+4>>2],_[et+8>>2]=_[l+8>>2],_[et+12>>2]=_[l+12>>2],d=d+1|0}while(0|d)}if(_[O+4>>2]=0,(0|T)>=(0|V))break;et=P,d=T,w=+p[i>>2],S=+p[i+4>>2],g=+p[i+8>>2],v=+p[i+16>>2],y=+p[i+20>>2],h=+p[i+24>>2],C=+p[i+32>>2],m=+p[i+36>>2],b=+p[i+40>>2],P=M,M=et}f=N,A=L,d=E,u=i+48|0,F=i+52|0,x=i+56|0,O=o+4|0,w=+p[i>>2],S=+p[i+4>>2],g=+p[i+8>>2],v=+p[i+16>>2],y=+p[i+20>>2],h=+p[i+24>>2],C=+p[i+32>>2],m=+p[i+36>>2],b=+p[i+40>>2]}else f=X+(36*J|0)+20|0,A=X+(36*J|0)+24|0,d=X+(36*J|0)+28|0,u=i+48|0,F=i+52|0,x=i+56|0,O=o+4|0;if(g=(K=+p[f>>2])*w+(q=+p[A>>2])*S+($=+p[d>>2])*g,y=K*v+q*y+$*h,h=K*C+q*m+$*b,m=+p[X+(36*J|0)+32>>2]-(g*+p[u>>2]+y*+p[F>>2]+h*+p[x>>2]),(0|(d=0|_[O>>2]))>0){u=o+12|0,f=0;do{et=0|_[u>>2],(b=(b=m+(g*+p[(A=et+(f<<4)|0)>>2]+y*+p[et+(f<<4)+4>>2]+h*+p[et+(f<<4)+8>>2]))<=r?r:b)<=s&&(_[l>>2]=_[A>>2],_[l+4>>2]=_[A+4>>2],_[l+8>>2]=_[A+8>>2],_[l+12>>2]=_[A+12>>2],rd[15&_[16+(0|_[c>>2])>>2]](c,t,l,b),d=0|_[O>>2]),f=f+1|0}while((0|f)<(0|d))}}}(d=0|_[a>>2])?(0|n[l+16+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[d+-4>>2])),_[a>>2]=0,Q=l):Q=l}function Si(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,d,A,f,u,m,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0;m=Q,Q=Q+208|0,p[56+(t|=0)>>2]=0,s=m+192+4|0,c=m+192+8|0,_[m+192>>2]=0,_[m+192+4>>2]=0,_[m+192+8>>2]=0,_[m+192+12>>2]=0,_[m+128>>2]=_[e>>2],_[m+128+4>>2]=_[e+4>>2],_[m+128+8>>2]=_[e+8>>2],_[m+128+12>>2]=_[e+12>>2],_[m+128+16>>2]=_[e+16>>2],_[m+128+16+4>>2]=_[e+16+4>>2],_[m+128+16+8>>2]=_[e+16+8>>2],_[m+128+16+12>>2]=_[e+16+12>>2],_[m+128+32>>2]=_[e+32>>2],_[m+128+32+4>>2]=_[e+32+4>>2],_[m+128+32+8>>2]=_[e+32+8>>2],_[m+128+32+12>>2]=_[e+32+12>>2],_[(V=m+128+48|0)>>2]=_[e+48>>2],_[V+4>>2]=_[e+48+4>>2],_[V+8>>2]=_[e+48+8>>2],_[V+12>>2]=_[e+48+12>>2],_[m+64>>2]=_[e+64>>2],_[m+64+4>>2]=_[e+64+4>>2],_[m+64+8>>2]=_[e+64+8>>2],_[m+64+12>>2]=_[e+64+12>>2],_[m+64+16>>2]=_[e+80>>2],_[m+64+16+4>>2]=_[e+80+4>>2],_[m+64+16+8>>2]=_[e+80+8>>2],_[m+64+16+12>>2]=_[e+80+12>>2],_[m+64+32>>2]=_[e+96>>2],_[m+64+32+4>>2]=_[e+96+4>>2],_[m+64+32+8>>2]=_[e+96+8>>2],_[m+64+32+12>>2]=_[e+96+12>>2],_[(G=m+64+48|0)>>2]=_[e+112>>2],_[G+4>>2]=_[e+112+4>>2],_[G+8>>2]=_[e+112+8>>2],_[G+12>>2]=_[e+112+12>>2],a=+p[V>>2],l=+p[G>>2],d=+p[m+128+52>>2],A=+p[m+64+52>>2],f=+p[m+128+56>>2],u=+p[m+64+56>>2],p[V>>2]=a-.5*(a+l),p[m+128+52>>2]=d-.5*(d+A),p[m+128+56>>2]=f-.5*(f+u),p[G>>2]=l-.5*(a+l),p[m+64+52>>2]=A-.5*(d+A),p[m+64+56>>2]=u-.5*(f+u),V=((0|_[4+(0|_[t+28>>2])>>2])-17|0)>>>0<2?((0|_[4+(0|_[t+32>>2])>>2])-17|0)>>>0<2:0,B=+p[t+44>>2],I=+p[t+48>>2],_[6615]=1+(0|_[6615]),G=0|n[t+52|0],_[t+64>>2]=0,_[t+4>>2]=0,_[t+8>>2]=1065353216,_[t+12>>2]=0,p[t+16>>2]=0,_[t+68>>2]=0,_[t+60>>2]=-1,v=0|_[t+24>>2],n[v+312|0]=0,_[v>>2]=0,n[v+356|0]=1,_[v+292>>2]=1566444395,_[v+296>>2]=1566444395,_[v+300>>2]=1566444395,p[v+304>>2]=0,_[v+336>>2]=0,_[v+336+4>>2]=0,_[v+336+8>>2]=0,_[v+336+12>>2]=0,n[v+336+16|0]=0,n[v+332|0]=-16&n[v+332|0],v=0,C=0xde0b6b000000000;do{S=+p[t+4>>2],g=+p[t+8>>2],y=+p[t+12>>2],j=+p[e+4>>2]*-S+ +p[e+20>>2]*-g+ +p[e+36>>2]*-y,D=+p[e+8>>2]*-S+ +p[e+24>>2]*-g+ +p[e+40>>2]*-y,p[m+48>>2]=+p[e>>2]*-S+ +p[e+16>>2]*-g+ +p[e+32>>2]*-y,p[m+48+4>>2]=j,p[m+48+8>>2]=D,p[m+48+12>>2]=0,D=S*+p[e+68>>2]+g*+p[e+84>>2]+y*+p[e+100>>2],j=S*+p[e+72>>2]+g*+p[e+88>>2]+y*+p[e+104>>2],p[m+32>>2]=S*+p[e+64>>2]+g*+p[e+80>>2]+y*+p[e+96>>2],p[m+32+4>>2]=D,p[m+32+8>>2]=j,p[m+32+12>>2]=0,ye(m+16|0,0|_[t+28>>2],m+48|0),ye(m,0|_[t+32>>2],m+32|0),j=+p[m+16>>2],D=+p[m+16+4>>2],y=+p[m+16+8>>2],g=j*+p[m+128>>2]+D*+p[m+128+4>>2]+y*+p[m+128+8>>2]+ +p[m+128+48>>2],S=j*+p[m+128+16>>2]+D*+p[m+128+20>>2]+y*+p[m+128+24>>2]+ +p[m+128+52>>2],y=j*+p[m+128+32>>2]+D*+p[m+128+36>>2]+y*+p[m+128+40>>2]+ +p[m+128+56>>2],D=+p[m>>2],j=+p[m+4>>2],R=+p[m+8>>2],w=D*+p[m+64>>2]+j*+p[m+64+4>>2]+R*+p[m+64+8>>2]+ +p[m+64+48>>2],k=D*+p[m+64+16>>2]+j*+p[m+64+20>>2]+R*+p[m+64+24>>2]+ +p[m+64+52>>2],R=D*+p[m+64+32>>2]+j*+p[m+64+36>>2]+R*+p[m+64+40>>2]+ +p[m+64+56>>2],j=V?0:R,D=V?0:y,R=V?0:y-R,(y=(g-w)*+p[t+4>>2]+(S-k)*+p[t+8>>2]+R*+p[t+12>>2])>0&&y*y>C*+p[e+128>>2]?(_[t+68>>2]=10,r=0,v=1):Z=7;do{if(7==(0|Z)){if(Z=0,P=0|_[t+24>>2],(0|(M=0|_[P>>2]))>0){h=+p[P+308>>2],T=0,r=0;do{r|=(F=g-w-+p[P+4+(T<<4)>>2])*F+(x=S-k-+p[P+4+(T<<4)+4>>2])*x+(O=R-+p[P+4+(T<<4)+8>>2])*O<=h,T=T+1|0}while((0|T)!=(0|M))}else r=0;if(0==+p[P+304>>2]&&R==+p[P+300>>2]&&S-k==+p[P+296>>2]?g-w==+p[P+292>>2]|r&&(Z=15):Z=14,14==(0|Z)&&(Z=0,r)&&(Z=15),15==(0|Z)){Z=0,_[t+68>>2]=1,r=0,v=1;break}if((h=C-y)<=9.999999974752427e-7*C){_[t+68>>2]=h<=0?2:11,r=0,v=1;break}if(p[P+292>>2]=g-w,p[P+296>>2]=S-k,p[P+300>>2]=R,p[P+304>>2]=0,n[P+356|0]=1,p[P+4+(M<<4)>>2]=g-w,p[P+4+(M<<4)+4>>2]=S-k,p[P+4+(M<<4)+8>>2]=R,p[P+4+(M<<4)+12>>2]=0,r=0|_[P>>2],p[P+84+(r<<4)>>2]=g,p[P+84+(r<<4)+4>>2]=S,p[P+84+(r<<4)+8>>2]=D,p[P+84+(r<<4)+12>>2]=0,r=0|_[P>>2],p[P+164+(r<<4)>>2]=w,p[P+164+(r<<4)+4>>2]=k,p[P+164+(r<<4)+8>>2]=j,p[P+164+(r<<4)+12>>2]=0,_[P>>2]=1+(0|_[P>>2]),M=0|fi(r=0|_[t+24>>2]),h=+p[r+276>>2],y=+p[r+280>>2],g=+p[r+284>>2],r=0|_[r+288>>2],!M){_[t+68>>2]=3,r=0,v=1;break}if(h*h+y*y+g*g<9.999999974752427e-7){p[t+4>>2]=h,p[t+8>>2]=y,p[t+12>>2]=g,_[t+16>>2]=r,_[t+68>>2]=6,r=0,v=1;break}if(C-(h*h+y*y+g*g)<=1.1920928955078125e-7*C){_[t+68>>2]=12,C=h*h+y*y+g*g,r=0,v=1;break}p[t+4>>2]=h,p[t+8>>2]=y,p[t+12>>2]=g,_[t+16>>2]=r,M=0|_[t+64>>2],_[t+64>>2]=M+1,(0|M)<=1e3?4==(0|_[_[t+24>>2]>>2])?(_[t+68>>2]=13,C=h*h+y*y+g*g,r=0):(C=h*h+y*y+g*g,r=1):(C=h*h+y*y+g*g,r=0)}}while(0)}while(r);j=(G<<24>>24?0:B)+(D=G<<24>>24?0:I),v?(fi(G=0|_[t+24>>2]),g=+p[G+260>>2],y=+p[G+264>>2],h=+p[G+268>>2],_[m+192>>2]=_[t+4>>2],_[m+192+4>>2]=_[t+4+4>>2],_[m+192+8>>2]=_[t+4+8>>2],_[m+192+12>>2]=_[t+4+12>>2],(S=+p[t+4>>2])*S+(w=+p[t+8>>2])*w+(k=+p[t+12>>2])*k<1e-4&&(_[t+68>>2]=5),S*S+w*w+k*k>14210854715202004e-30?(x=1/+b(+(S*S+w*w+k*k)),p[m+192>>2]=x*+p[m+192>>2],p[s>>2]=x*+p[s>>2],p[c>>2]=x*+p[c>>2],O=D/+b(+C),C=1/x-j,v=1,r=1,g=O*S+g,y=O*w+y,h=O*k+h):(C=0,v=0,r=2),_[t+60>>2]=r):(C=0,v=0,g=0,y=0,h=0),r=0|_[t+72>>2]&&0|_[t+20>>2]?j+C<.01&!!(0|_[t+68>>2]):0,T=1^v;do{if(r|T&&0|(N=0|_[t+20>>2])){if(_[6614]=1+(0|_[6614]),_[t+4>>2]=0,_[t+4+4>>2]=0,_[t+4+8>>2]=0,_[t+4+12>>2]=0,0|Yl[3&_[8+(0|_[N>>2])>>2]](N,0|_[t+24>>2],0|_[t+28>>2],0|_[t+32>>2],m+128|0,m+64|0,t+4|0,m+48|0,m+32|0,o)){if(((w=+p[m+32>>2])-(k=+p[m+48>>2]))*(w-k)+((R=+p[m+32+4>>2])-(j=+p[m+48+4>>2]))*(R-j)+((D=+p[m+32+8>>2])-(I=+p[m+48+8>>2]))*(D-I)<=14210854715202004e-30?(S=(W=+p[t+4>>2])*W+(O=+p[t+8>>2])*O+(F=+p[t+12>>2])*F,x=+p[t+16>>2]):(S=(w-k)*(w-k)+(R-j)*(R-j)+(D-I)*(D-I),W=w-k,F=D-I,x=0,O=R-j),S>14210854715202004e-30){if(B=1/+b(+S),C>(S=-+b(+((k-w)*(k-w)+(j-R)*(j-R)+(I-D)*(I-D))))|T){g=+p[m+32>>2],y=+p[m+32+4>>2],h=+p[m+32+8>>2],p[m+192>>2]=W*B,p[s>>2]=O*B,p[c>>2]=F*B,p[m+192+12>>2]=x,_[t+60>>2]=3,C=S;break}r=8}else r=9;if(_[t+60>>2]=r,v)break;return void(Q=m)}if(!((w=+p[t+4>>2])*w+(k=+p[t+8>>2])*k+(R=+p[t+12>>2])*R>0)){if(v)break;return void(Q=m)}if(x=+p[m+48>>2]-+p[m+32>>2],O=+p[m+48+4>>2]-+p[m+32+4>>2],S=+p[m+48+8>>2]-+p[m+32+8>>2],(S=+b(+(x*x+O*O+S*S))-j)>2],y=D*k+ +p[m+32+4>>2],h=D*R+ +p[m+32+8>>2],_[m+192>>2]=_[t+4>>2],_[m+192+4>>2]=_[t+4+4>>2],_[m+192+8>>2]=_[t+4+8>>2],_[m+192+12>>2]=_[t+4+12>>2],F=+p[m+192>>2],x=+p[s>>2],O=+p[c>>2],C=1/+b(+(F*F+x*x+O*O)),p[m+192>>2]=F*C,p[s>>2]=x*C,p[c>>2]=O*C,_[t+60>>2]=6,C=S;break}if(_[t+60>>2]=5,v)break;return void(Q=m)}Z=51}while(0);(51!=(0|Z)||v)&&(C<0||C*C<+p[e+128>>2])?(0|_[t+76>>2]&&(Z=0|_[t+28>>2],pd[127&_[8+(0|_[Z>>2])>>2]](Z,m+128|0,m+48|0,m+32|0),F=.5*(+p[m+32>>2]+ +p[m+48>>2]),x=.5*(+p[m+32+4>>2]+ +p[m+48+4>>2]),O=.5*(+p[m+32+8>>2]+ +p[m+48+8>>2]),Z=0|_[t+32>>2],pd[127&_[8+(0|_[Z>>2])>>2]](Z,m+64|0,m+48|0,m+32|0),L=+p[m+192>>2],E=+p[s>>2],H=+p[c>>2],(F-.5*(+p[m+48>>2]+ +p[m+32>>2]))*L+(x-.5*(+p[m+48+4>>2]+ +p[m+32+4>>2]))*E+(O-.5*(+p[m+48+8>>2]+ +p[m+32+8>>2]))*H<0)&&(p[m+192>>2]=-L,p[s>>2]=-E,p[c>>2]=-H),_[t+4>>2]=_[m+192>>2],_[t+4+4>>2]=_[m+192+4>>2],_[t+4+8>>2]=_[m+192+8>>2],_[t+4+12>>2]=_[m+192+12>>2],p[t+56>>2]=C,Z=0|_[16+(0|_[i>>2])>>2],p[m+48>>2]=.5*(a+l)+g,p[m+48+4>>2]=.5*(d+A)+y,p[m+48+8>>2]=.5*(f+u)+h,p[m+48+12>>2]=0,rd[15&Z](i,m+192|0,m+48|0,C),Q=m):Q=m}function wi(t,e,i,r){e|=0,i|=0,r|=0;var s=0,c=0,a=0,l=0,d=0,b=0;if(_[168+(t|=0)>>2]=_[t+152>>2],_[e>>2]=10008,_[e+52>>2]=282,n[e+60|0]=0,n[e+80|0]=1,_[e+76>>2]=0,_[e+68>>2]=0,_[e+72>>2]=0,n[e+100|0]=1,_[e+96>>2]=0,_[e+88>>2]=0,_[e+92>>2]=0,n[e+120|0]=1,_[e+116>>2]=0,_[e+108>>2]=0,_[e+112>>2]=0,n[e+140|0]=1,_[e+136>>2]=0,_[e+128>>2]=0,_[e+132>>2]=0,_[e+144>>2]=0,n[e+164|0]=1,_[e+160>>2]=0,_[e+152>>2]=0,_[e+156>>2]=0,_[e+168>>2]=0,_[e+4>>2]=-8388609,_[e+8>>2]=-8388609,_[e+12>>2]=-8388609,p[e+16>>2]=0,_[e+20>>2]=2139095039,_[e+24>>2]=2139095039,_[e+28>>2]=2139095039,p[e+32>>2]=0,i=0|_[t+56>>2],r?(i=0|Ap(0|i),_[e+56>>2]=i,n[e+4|0]=0|n[t+4+3|0],n[e+5|0]=0|n[t+4+2|0],n[e+6|0]=0|n[t+4+1|0],n[e+7|0]=0|n[t+4|0],n[e+8|0]=0|n[t+8+3|0],n[e+9|0]=0|n[t+8+2|0],n[e+10|0]=0|n[t+8+1|0],n[e+11|0]=0|n[t+8|0],n[e+12|0]=0|n[t+12+3|0],n[e+13|0]=0|n[t+12+2|0],n[e+14|0]=0|n[t+12+1|0],n[e+15|0]=0|n[t+12|0],n[e+16|0]=0|n[t+16+3|0],n[e+17|0]=0|n[t+16+2|0],n[e+18|0]=0|n[t+16+1|0],n[e+19|0]=0|n[t+16|0],n[e+20|0]=0|n[t+20+3|0],n[e+21|0]=0|n[t+20+2|0],n[e+22|0]=0|n[t+20+1|0],n[e+23|0]=0|n[t+20|0],n[e+24|0]=0|n[t+24+3|0],n[e+25|0]=0|n[t+24+2|0],n[e+26|0]=0|n[t+24+1|0],n[e+27|0]=0|n[t+24|0],n[e+28|0]=0|n[t+28+3|0],n[e+29|0]=0|n[t+28+2|0],n[e+30|0]=0|n[t+28+1|0],n[e+31|0]=0|n[t+28|0],n[e+32|0]=0|n[t+32+3|0],n[e+33|0]=0|n[t+32+2|0],n[e+34|0]=0|n[t+32+1|0],n[e+35|0]=0|n[t+32|0],n[e+36|0]=0|n[t+36+3|0],n[e+37|0]=0|n[t+36+2|0],n[e+38|0]=0|n[t+36+1|0],n[e+39|0]=0|n[t+36|0],n[e+40|0]=0|n[t+40+3|0],n[e+41|0]=0|n[t+40+2|0],n[e+42|0]=0|n[t+40+1|0],n[e+43|0]=0|n[t+40|0],n[e+44|0]=0|n[t+44+3|0],n[e+45|0]=0|n[t+44+2|0],n[e+46|0]=0|n[t+44+1|0],n[e+47|0]=0|n[t+44|0],n[e+48|0]=0|n[t+48+3|0],n[e+49|0]=0|n[t+48+2|0],n[e+50|0]=0|n[t+48+1|0],n[e+51|0]=0|n[t+48|0],i=0|Ap(0|_[t+144>>2]),_[e+144>>2]=i,i=0|Ap(0|_[t+168>>2])):(_[e+56>>2]=i,_[e+4>>2]=_[t+4>>2],_[e+4+4>>2]=_[t+4+4>>2],_[e+4+8>>2]=_[t+4+8>>2],_[e+4+12>>2]=_[t+4+12>>2],_[e+20>>2]=_[t+20>>2],_[e+20+4>>2]=_[t+20+4>>2],_[e+20+8>>2]=_[t+20+8>>2],_[e+20+12>>2]=_[t+20+12>>2],_[e+36>>2]=_[t+36>>2],_[e+36+4>>2]=_[t+36+4>>2],_[e+36+8>>2]=_[t+36+8>>2],_[e+36+12>>2]=_[t+36+12>>2],_[e+144>>2]=_[t+144>>2],i=0|_[t+168>>2]),_[e+168>>2]=i,n[e+60|0]=0|n[t+60|0],a=0|_[t+56>>2],0|n[t+60|0]){if(0|(i=0|_[e+136>>2])&&(0|n[e+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[e+136>>2]=0),n[e+140|0]=0,_[e+136>>2]=e+172,_[e+128>>2]=a,_[e+132>>2]=a,r){if((0|a)>0){s=0|_[t+136>>2],i=0;do{b=0|Ma(0|o[s+(i<<4)>>1]),o[e+172+(i<<4)>>1]=b,b=0|Ma(0|o[s+(i<<4)+2>>1]),o[e+172+(i<<4)+2>>1]=b,b=0|Ma(0|o[s+(i<<4)+4>>1]),o[e+172+(i<<4)+4>>1]=b,b=0|Ma(0|o[s+(i<<4)+6>>1]),o[e+172+(i<<4)+6>>1]=b,b=0|Ma(0|o[s+(i<<4)+8>>1]),o[e+172+(i<<4)+8>>1]=b,b=0|Ma(0|o[s+(i<<4)+10>>1]),o[e+172+(i<<4)+10>>1]=b,b=0|Ap(0|_[s+(i<<4)+12>>2]),_[e+172+(i<<4)+12>>2]=b,i=i+1|0}while((0|i)!=(0|a))}}else if((0|a)>0){s=0|_[t+136>>2],i=0;do{o[e+172+(i<<4)>>1]=0|o[s+(i<<4)>>1],o[e+172+(i<<4)+2>>1]=0|o[s+(i<<4)+2>>1],o[e+172+(i<<4)+4>>1]=0|o[s+(i<<4)+4>>1],o[e+172+(i<<4)+6>>1]=0|o[s+(i<<4)+6>>1],o[e+172+(i<<4)+8>>1]=0|o[s+(i<<4)+8>>1],o[e+172+(i<<4)+10>>1]=0|o[s+(i<<4)+10>>1],_[e+172+(i<<4)+12>>2]=_[s+(i<<4)+12>>2],i=i+1|0}while((0|i)!=(0|a))}_[e+128>>2]=0,_[e+128+4>>2]=0,_[e+128+8>>2]=0,n[e+128+12|0]=0,i=a<<4}else{if(0|(i=0|_[e+96>>2])&&(0|n[e+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[e+96>>2]=0),n[e+100|0]=0,_[e+96>>2]=e+172,_[e+88>>2]=a,_[e+92>>2]=a,r)if((0|a)>0){s=0,c=0|_[t+96>>2],i=e+172|0;do{l=c+(s<<6)|0,n[0|(b=i+(s<<6)|0)]=0|n[l+3|0],n[b+1|0]=0|n[l+2|0],n[b+2|0]=0|n[l+1|0],n[b+3|0]=0|n[0|l],b=c+(s<<6)+4|0,n[0|(l=i+(s<<6)+4|0)]=0|n[b+3|0],n[l+1|0]=0|n[b+2|0],n[l+2|0]=0|n[b+1|0],n[l+3|0]=0|n[0|b],l=c+(s<<6)+8|0,n[0|(b=i+(s<<6)+8|0)]=0|n[l+3|0],n[b+1|0]=0|n[l+2|0],n[b+2|0]=0|n[l+1|0],n[b+3|0]=0|n[0|l],b=c+(s<<6)+12|0,n[0|(i=i+(s<<6)+12|0)]=0|n[b+3|0],n[i+1|0]=0|n[b+2|0],n[i+2|0]=0|n[b+1|0],n[i+3|0]=0|n[0|b],b=(i=0|_[t+96>>2])+(s<<6)+16|0,l=0|_[e+96>>2],n[0|(d=l+(s<<6)+16|0)]=0|n[b+3|0],n[d+1|0]=0|n[b+2|0],n[d+2|0]=0|n[b+1|0],n[d+3|0]=0|n[0|b],d=i+(s<<6)+20|0,n[0|(b=l+(s<<6)+20|0)]=0|n[d+3|0],n[b+1|0]=0|n[d+2|0],n[b+2|0]=0|n[d+1|0],n[b+3|0]=0|n[0|d],b=i+(s<<6)+24|0,n[0|(d=l+(s<<6)+24|0)]=0|n[b+3|0],n[d+1|0]=0|n[b+2|0],n[d+2|0]=0|n[b+1|0],n[d+3|0]=0|n[0|b],i=i+(s<<6)+28|0,n[0|(l=l+(s<<6)+28|0)]=0|n[i+3|0],n[l+1|0]=0|n[i+2|0],n[l+2|0]=0|n[i+1|0],n[l+3|0]=0|n[0|i],c=0|_[t+96>>2],l=0|Ap(0|_[c+(s<<6)+32>>2]),i=0|_[e+96>>2],_[i+(s<<6)+32>>2]=l,l=0|Ap(0|_[c+(s<<6)+36>>2]),_[i+(s<<6)+36>>2]=l,l=0|Ap(0|_[c+(s<<6)+40>>2]),_[i+(s<<6)+40>>2]=l,s=s+1|0}while((0|s)!=(0|a));s=29}else s=28;else if((0|a)>0){s=0,c=0|_[t+96>>2],i=e+172|0;do{d=c+(s<<6)|0,_[(b=i+(s<<6)|0)>>2]=_[d>>2],_[b+4>>2]=_[d+4>>2],_[b+8>>2]=_[d+8>>2],_[b+12>>2]=_[d+12>>2],b=(0|_[t+96>>2])+(s<<6)+16|0,i=(0|_[e+96>>2])+(s<<6)+16|0,_[i>>2]=_[b>>2],_[i+4>>2]=_[b+4>>2],_[i+8>>2]=_[b+8>>2],_[i+12>>2]=_[b+12>>2],c=0|_[t+96>>2],i=0|_[e+96>>2],_[i+(s<<6)+32>>2]=_[c+(s<<6)+32>>2],_[i+(s<<6)+36>>2]=_[c+(s<<6)+36>>2],_[i+(s<<6)+40>>2]=_[c+(s<<6)+40>>2],s=s+1|0}while((0|s)!=(0|a));s=29}else s=28;28==(0|s)?(i=a<<6,s=32):29==(0|s)&&(i?!(0|n[e+100|0])|!(0|i)?(i=a<<6,s=32):(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),i=a<<6,s=32):i=a<<6),32==(0|s)&&(_[e+96>>2]=0),_[e+88>>2]=0,_[e+88+4>>2]=0,_[e+88+8>>2]=0,n[e+88+12|0]=0}if(a=e+172+i|0,i=0|_[t+168>>2],0|(s=0|_[e+160>>2])&&(0|n[e+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[e+160>>2]=0),n[e+164|0]=0,_[e+160>>2]=a,_[e+152>>2]=i,_[e+156>>2]=i,c=0|_[t+168>>2],r){if((0|c)<=0)return _[e>>2]=0,_[e+152>>2]=0,_[e+152+4>>2]=0,_[e+152+8>>2]=0,n[e+152+12|0]=0,1;s=0|_[t+160>>2],i=0;do{b=0|Ma(0|o[s+(i<<5)>>1]),o[a+(i<<5)>>1]=b,b=0|Ma(0|o[s+(i<<5)+2>>1]),o[a+(i<<5)+2>>1]=b,b=0|Ma(0|o[s+(i<<5)+4>>1]),o[a+(i<<5)+4>>1]=b,b=0|Ma(0|o[s+(i<<5)+6>>1]),o[a+(i<<5)+6>>1]=b,b=0|Ma(0|o[s+(i<<5)+8>>1]),o[a+(i<<5)+8>>1]=b,b=0|Ma(0|o[s+(i<<5)+10>>1]),o[a+(i<<5)+10>>1]=b,b=0|Ap(0|_[s+(i<<5)+12>>2]),_[a+(i<<5)+12>>2]=b,b=0|Ap(0|_[s+(i<<5)+16>>2]),_[a+(i<<5)+16>>2]=b,i=i+1|0}while((0|i)!=(0|c));return _[e>>2]=0,_[e+152>>2]=0,_[e+152+4>>2]=0,_[e+152+8>>2]=0,n[e+152+12|0]=0,1}if((0|c)<=0)return _[e>>2]=0,_[e+152>>2]=0,_[e+152+4>>2]=0,_[e+152+8>>2]=0,n[e+152+12|0]=0,1;s=0|_[t+160>>2],i=0;do{o[a+(i<<5)>>1]=0|o[s+(i<<5)>>1],o[a+(i<<5)+2>>1]=0|o[s+(i<<5)+2>>1],o[a+(i<<5)+4>>1]=0|o[s+(i<<5)+4>>1],o[a+(i<<5)+6>>1]=0|o[s+(i<<5)+6>>1],o[a+(i<<5)+8>>1]=0|o[s+(i<<5)+8>>1],o[a+(i<<5)+10>>1]=0|o[s+(i<<5)+10>>1],_[a+(i<<5)+12>>2]=_[s+(i<<5)+12>>2],_[a+(i<<5)+16>>2]=_[s+(i<<5)+16>>2],_[a+(i<<5)+20>>2]=0,_[a+(i<<5)+24>>2]=0,_[a+(i<<5)+28>>2]=0,i=i+1|0}while((0|i)<(0|_[t+168>>2]));return _[e>>2]=0,_[e+152>>2]=0,_[e+152+4>>2]=0,_[e+152+8>>2]=0,n[e+152+12|0]=0,1}function ki(t,e){t|=0,e=+e;var i,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0;if(i=Q,Q=Q+464|0,$i(14286),0|(r=0|_[t+84>>2])&&zl[31&r](t,e),zl[31&_[140+(0|_[t>>2])>>2]](t,e),p[t+28>>2]=e,_[t+32>>2]=0,r=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),_[t+48>>2]=r,$i(14329),$i(14354),r=0|_[t+316>>2],(0|_[t+308>>2])>0){s=0;do{h=0|_[t+24>>2],ed[127&_[16+(0|_[h>>2])>>2]](h,0|_[r+(s<<2)>>2]),s=s+1|0,r=0|_[t+316>>2]}while((0|s)<(0|_[t+308>>2]))}0|r&&(0|n[t+320|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+316>>2]=0),n[t+320|0]=1,_[t+316>>2]=0,_[t+308>>2]=0,_[t+312>>2]=0,r=0|_[2606],h=(0|_[r+16>>2])-1|0,_[r+16>>2]=h;do{if(!h){if(0|_[r+4>>2]){if(G(i+368|0,0),h=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+368+4>>2])-(0|_[h+4>>2])+(1e6*((0|_[i+368>>2])-(0|_[h>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])break;r=0|_[2606]}_[2606]=_[r+20>>2]}}while(0);t:do{if((0|_[t+232>>2])>0)for(h=i+304+48|0,m=i+368+44|0,u=0;;){a=0|_[(0|_[t+240>>2])+(u<<2)>>2],p[a+244>>2]=1;e:do{switch(0|_[a+216>>2]){case 2:case 5:break;default:if(!(3&_[a+204>>2])&&(Bt(a+4|0,+p[a+312>>2],+p[a+316>>2],+p[a+320>>2],a+328|0,e,i+304|0),g=(y=+p[h>>2])-+p[a+52>>2],v=(C=+p[i+304+52>>2])-+p[a+56>>2],w=(S=+p[i+304+56>>2])-+p[a+60>>2],0|n[t+44|0])&&(A=+p[a+252>>2])*A!=0&&A*A>2])>>2])<20&&(_[6295]=1+(0|_[6295]),c=0|_[t+68>>2],c=0|Gl[127&_[36+(0|_[c>>2])>>2]](c),f=0|_[t+24>>2],p[i+368+4>>2]=1,_[i+368+12>>2]=_[a+52>>2],_[i+368+12+4>>2]=_[a+52+4>>2],_[i+368+12+8>>2]=_[a+52+8>>2],_[i+368+12+12>>2]=_[a+52+12>>2],_[i+368+28>>2]=_[h>>2],_[i+368+28+4>>2]=_[h+4>>2],_[i+368+28+8>>2]=_[h+8>>2],_[i+368+28+12>>2]=_[h+12>>2],_[i+368+76>>2]=0,_[i+368>>2]=5180,_[i+368+80>>2]=a,_[i+368+88>>2]=c,_[i+368+92>>2]=f,f=0|_[a+248>>2],_[i+248+8>>2]=0,_[i+248+12>>2]=1065353216,_[i+248+16>>2]=1065353216,_[i+248+20>>2]=1065353216,p[i+248+24>>2]=0,_[i+248>>2]=7568,_[i+248+4>>2]=8,_[i+248+28>>2]=f,_[i+248+44>>2]=f,_[i+368+84>>2]=_[t+56>>2],f=0|_[a+188>>2],o[i+368+8>>1]=0|o[f+4>>1],o[i+368+10>>1]=0|o[f+6>>1],_[i+184+48>>2]=_[h>>2],_[i+184+48+4>>2]=_[h+4>>2],_[i+184+48+8>>2]=_[h+8>>2],_[i+184+48+12>>2]=_[h+12>>2],_[i+184>>2]=_[a+4>>2],_[i+184+4>>2]=_[a+4+4>>2],_[i+184+8>>2]=_[a+4+8>>2],_[i+184+12>>2]=_[a+4+12>>2],_[i+184+16>>2]=_[a+20>>2],_[i+184+16+4>>2]=_[a+20+4>>2],_[i+184+16+8>>2]=_[a+20+8>>2],_[i+184+16+12>>2]=_[a+20+12>>2],_[i+184+32>>2]=_[a+36>>2],_[i+184+32+4>>2]=_[a+36+4>>2],_[i+184+32+8>>2]=_[a+36+8>>2],_[i+184+32+12>>2]=_[a+36+12>>2],we(t,i+248|0,a+4|0,i+184|0,i+368|0,0),(k=+p[i+368+4>>2])<1)){if(l=k*(y-+p[a+52>>2]),d=k*(C-+p[a+56>>2]),b=k*(S-+p[a+60>>2]),A=-d*+p[i+368+48>>2]-l*+p[m>>2]-b*+p[i+368+52>>2],f=0|_[t+24>>2],f=0|El[63&_[12+(0|_[f>>2])>>2]](f,a,0|_[i+368+76>>2]),(0|(s=0|_[t+308>>2]))==(0|_[t+312>>2])&&(0|s)<(0|(R=0|s?s<<1:1))){if(R?(_[6630]=1+(0|_[6630]),(r=0|di(16+(R<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[t+308>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[t+316>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[t+316>>2])&&(0|n[t+320|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[t+308>>2]),_[t+316>>2]=0),n[t+320|0]=1,_[t+316>>2]=r,_[t+312>>2]=R,r=s}else r=s;_[(0|_[t+316>>2])+(r<<2)>>2]=f,_[t+308>>2]=r+1,l+=+p[a+52>>2],d+=+p[a+56>>2],b+=+p[a+60>>2],c=0|_[i+368+76>>2],V=+p[c+4>>2],M=+p[c+20>>2],P=+p[c+36>>2],T=+p[c+8>>2],O=+p[c+24>>2],x=+p[c+40>>2],F=+p[c+12>>2],B=+p[c+28>>2],D=+p[c+44>>2],W=-+p[c+52>>2],I=-+p[c+56>>2],j=-+p[c+60>>2],_[i>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,p[i+16>>2]=l*V+d*M+b*P+(V*W+M*I+P*j),p[i+20>>2]=l*T+d*O+b*x+(T*W+O*I+x*j),p[i+24>>2]=l*F+d*B+b*D+(F*W+B*I+D*j),p[i+28>>2]=0,_[i+64>>2]=_[m>>2],_[i+64+4>>2]=_[m+4>>2],_[i+64+8>>2]=_[m+8>>2],_[i+64+12>>2]=_[m+12>>2],p[i+80>>2]=A,p[i+84>>2]=0,p[i+88>>2]=0,p[i+92>>2]=0,_[i+112>>2]=0,n[i+116|0]=0,_[i+120>>2]=0,_[i+120+4>>2]=0,_[i+120+8>>2]=0,_[i+120+12>>2]=0,_[i+120+16>>2]=0,_[i+120+20>>2]=0,_[i+120+24>>2]=0,_[i+120+28>>2]=0,c=0|X(f,i),p[f+4+(184*c|0)+92>>2]=0,A=(A=+p[a+224>>2]*+p[224+(0|_[i+368+76>>2])>>2])<-10?-10:A,p[f+4+(184*c|0)+84>>2]=A>10?10:A,_[f+4+(184*c|0)+48>>2]=_[a+52>>2],_[f+4+(184*c|0)+48+4>>2]=_[a+52+4>>2],_[f+4+(184*c|0)+48+8>>2]=_[a+52+8>>2],_[f+4+(184*c|0)+48+12>>2]=_[a+52+12>>2],p[f+4+(184*c|0)+32>>2]=l,p[f+4+(184*c|0)+36>>2]=d,p[f+4+(184*c|0)+40>>2]=b,p[f+4+(184*c|0)+44>>2]=0}if(r=0|_[2606],f=(0|_[r+16>>2])-1|0,_[r+16>>2]=f,!f){if(0|_[r+4>>2]){if(G(i+368|0,0),f=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+368+4>>2])-(0|_[f+4>>2])+(1e6*((0|_[i+368>>2])-(0|_[f>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])break e;r=0|_[2606]}_[2606]=_[r+20>>2]}}}}while(0);if((0|(u=u+1|0))>=(0|_[t+232>>2]))break t}}while(0);r=0|_[2606],R=(0|_[r+16>>2])-1|0,_[r+16>>2]=R;do{if(!R){if(0|_[r+4>>2]){if(G(i+368|0,0),R=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+368+4>>2])-(0|_[R+4>>2])+(1e6*((0|_[i+368>>2])-(0|_[R>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])break;r=0|_[2606]}_[2606]=_[r+20>>2]}}while(0);if(Xl[511&_[44+(0|_[t>>2])>>2]](t),Xl[511&_[148+(0|_[t>>2])>>2]](t),p[t+104>>2]=e,ed[127&_[152+(0|_[t>>2])>>2]](t,t+92|0),zl[31&_[144+(0|_[t>>2])>>2]](t,e),$i(14315),(0|_[t+280>>2])>0){r=0;do{R=0|_[(0|_[t+288>>2])+(r<<2)>>2],id[7&_[8+(0|_[R>>2])>>2]](R,t,e),r=r+1|0}while((0|r)<(0|_[t+280>>2]))}r=0|_[2606],R=(0|_[r+16>>2])-1|0,_[r+16>>2]=R;do{if(!R){if(0|_[r+4>>2]){if(G(i+368|0,0),R=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+368+4>>2])-(0|_[R+4>>2])+(1e6*((0|_[i+368>>2])-(0|_[R>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])break;r=0|_[2606]}_[2606]=_[r+20>>2]}}while(0);if(zl[31&_[156+(0|_[t>>2])>>2]](t,e),0|(r=0|_[t+80>>2])&&zl[31&r](t,e),r=0|_[2606],t=(0|_[r+16>>2])-1|0,_[r+16>>2]=t,0|t)Q=i;else{do{if(0|_[r+4>>2]){if(G(i+368|0,0),t=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+368+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[i+368>>2])-(0|_[t>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])return void(Q=i);r=0|_[2606];break}}while(0);_[2606]=_[r+20>>2],Q=i}}function Ri(t){t|=0;var e,i=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0;if(e=Q,Q=Q+192|0,$i(13425),(0|(i=0|_[t+1112>>2]))>0){F=0;do{if(W=0|_[(0|_[t+1120>>2])+(F<<2)>>2],B=0|_[W+24>>2]){a=44+(c=e+144+4|0)|0;do{_[c>>2]=0,c=c+4|0}while((0|c)<(0|a));if(p[e+144>>2]=9999999747378752e-20,p[e+144+20>>2]=.00019999999494757503,p[e+144+40>>2]=.00029999998514540493,(0|B)>0){c=0|_[W+32>>2],a=0|_[W+12>>2],i=0,o=0,r=0,s=0;do{I=0|_[c+(i<<2)>>2],D=+p[a+(i<<2)>>2],o+=+p[I+8>>2]*D,r+=D*+p[I+12>>2],s+=D*+p[I+16>>2],i=i+1|0}while((0|i)!=(0|B))}else s=0,r=0,o=0;if(y=o*(m=+p[W+128>>2]),h=r*m,m*=s,p[W+228>>2]=y,p[W+232>>2]=h,p[W+236>>2]=m,p[W+240>>2]=0,(0|B)>0){c=0|_[W+32>>2],a=0|_[W+52>>2],i=0,o=9999999747378752e-20,r=0,s=0,l=0,d=.00019999999494757503,b=0,A=0,f=0,u=.00029999998514540493;do{I=0|_[c+(i<<2)>>2],S=+p[I+8>>2]-y,w=+p[I+12>>2]-h,j=+p[I+16>>2]-m,o=S*(k=+p[a+(i<<4)>>2])+o,r=S*(R=+p[a+(i<<4)+4>>2])+r,s=S*(D=+p[a+(i<<4)+8>>2])+s,l=w*k+l,d=w*R+d,b=w*D+b,A=j*k+A,f=j*R+f,u=j*D+u,i=i+1|0}while((0|i)!=(0|B));p[e+144>>2]=o,p[e+144+4>>2]=r,p[e+144+8>>2]=s,p[e+144+16>>2]=l,p[e+144+20>>2]=d,p[e+144+24>>2]=b,p[e+144+32>>2]=A,p[e+144+36>>2]=f,p[e+144+40>>2]=u}if(!(0|n[24472])&&0|Qs(24472)&&(p[6278]=9999999747378752e-20,_[6279]=16),Fi(e+144|0,e+96|0,e+48|0),_[W+108>>2]=_[W+228>>2],_[W+108+4>>2]=_[W+228+4>>2],_[W+108+8>>2]=_[W+228+8>>2],_[W+108+12>>2]=_[W+228+12>>2],_[W+60>>2]=_[e+96>>2],_[W+60+4>>2]=_[e+96+4>>2],_[W+60+8>>2]=_[e+96+8>>2],_[W+60+12>>2]=_[e+96+12>>2],_[W+76>>2]=_[e+96+16>>2],_[W+76+4>>2]=_[e+96+16+4>>2],_[W+76+8>>2]=_[e+96+16+8>>2],_[W+76+12>>2]=_[e+96+16+12>>2],_[W+92>>2]=_[e+96+32>>2],_[W+92+4>>2]=_[e+96+32+4>>2],_[W+92+8>>2]=_[e+96+32+8>>2],_[W+92+12>>2]=_[e+96+32+12>>2],g=((d=+p[W+132>>2])*(T=+p[W+60>>2])+(b=+p[W+148>>2])*(O=+p[W+64>>2])+(A=+p[W+164>>2])*(R=+p[W+68>>2]))*T+(T*(f=+p[W+136>>2])+O*(u=+p[W+152>>2])+R*(m=+p[W+168>>2]))*O+(T*(h=+p[W+140>>2])+O*(y=+p[W+156>>2])+R*(D=+p[W+172>>2]))*R,C=(d*T+b*O+A*R)*(x=+p[W+76>>2])+(T*f+O*u+R*m)*(o=+p[W+80>>2])+(T*h+O*y+R*D)*(j=+p[W+84>>2]),v=(d*T+b*O+A*R)*(l=+p[W+92>>2])+(T*f+O*u+R*m)*(s=+p[W+96>>2])+(T*h+O*y+R*D)*(r=+p[W+100>>2]),S=(d*x+b*o+A*j)*T+(f*x+u*o+m*j)*O+(h*x+y*o+D*j)*R,w=(d*x+b*o+A*j)*x+(f*x+u*o+m*j)*o+(h*x+y*o+D*j)*j,k=(d*x+b*o+A*j)*l+(f*x+u*o+m*j)*s+(h*x+y*o+D*j)*r,R=T*(d*l+b*s+A*r)+(f*l+u*s+m*r)*O+(h*l+y*s+D*r)*R,j=x*(d*l+b*s+A*r)+(f*l+u*s+m*r)*o+(h*l+y*s+D*r)*j,D=(d*l+b*s+A*r)*l+(f*l+u*s+m*r)*s+(h*l+y*s+D*r)*r,p[W+180>>2]=g,p[W+184>>2]=C,p[W+188>>2]=v,p[W+192>>2]=0,p[W+196>>2]=S,p[W+200>>2]=w,p[W+204>>2]=k,p[W+208>>2]=0,p[W+212>>2]=R,p[W+216>>2]=j,p[W+220>>2]=D,p[W+224>>2]=0,_[W+316>>2]=0,_[W+316+4>>2]=0,_[W+316+8>>2]=0,_[W+316+12>>2]=0,_[W+316+16>>2]=0,_[W+316+20>>2]=0,_[W+316+24>>2]=0,_[W+316+28>>2]=0,(0|B)>0){c=0|_[W+32>>2],a=0|_[W+12>>2],m=+p[W+228>>2],h=+p[W+232>>2],y=+p[W+236>>2],i=0,u=0,f=0,A=0,b=0,d=0,o=0;do{I=0|_[c+(i<<2)>>2],M=+p[a+(i<<2)>>2],O=+p[I+40>>2]*M,P=M*+p[I+44>>2],M*=+p[I+48>>2],u=O+u,p[W+316>>2]=u,f=P+f,p[W+320>>2]=f,A=M+A,p[W+324>>2]=A,x=+p[I+8>>2]-m,b+=M*(T=+p[I+12>>2]-h)-P*(V=+p[I+16>>2]-y),p[W+332>>2]=b,d=O*V-M*x+d,p[W+336>>2]=d,o=P*x-O*T+o,p[W+340>>2]=o,i=i+1|0}while((0|i)!=(0|B));I=W+316|0,i=W+332|0}else I=W+316|0,i=W+332|0,u=0,f=0,A=0,b=0,d=0,o=0;M=+p[W+128>>2],V=1-+p[W+356>>2],p[W+316>>2]=u*M*V,p[W+320>>2]=M*f*V,p[W+324>>2]=M*A*V,p[W+328>>2]=0,V=1-+p[W+360>>2],p[i>>2]=(g*b+C*d+v*o)*V,p[W+336>>2]=(b*S+d*w+o*k)*V,p[W+340>>2]=V*(b*R+d*j+o*D),p[W+344>>2]=0,a=72+(c=W+244|0)|0;do{_[c>>2]=0,c=c+4|0}while((0|c)<(0|a));o=+p[W+364>>2];t:do{if(o>0&&(0|_[W+24>>2])>0)for(i=0;;){if(a=0|_[(0|_[W+32>>2])+(i<<2)>>2],c=0|_[W+52>>2],x=+p[c+(i<<4)>>2],O=+p[c+(i<<4)+4>>2],T=+p[c+(i<<4)+8>>2],P=+p[a+8>>2],M=+p[a+12>>2],V=+p[a+16>>2],M+=o*(x*+p[W+76>>2]+O*+p[W+80>>2]+T*+p[W+84>>2]+ +p[W+112>>2]-M),V+=o*(x*l+O*s+T*r+ +p[W+116>>2]-V),p[a+8>>2]=P+o*(x*+p[W+60>>2]+O*+p[W+64>>2]+T*+p[W+68>>2]+ +p[W+108>>2]-P),p[a+12>>2]=M,p[a+16>>2]=V,p[a+20>>2]=0,(0|(i=i+1|0))>=(0|_[W+24>>2]))break t;l=+p[W+92>>2],s=+p[W+96>>2],r=+p[W+100>>2],o=+p[W+364>>2]}}while(0);if(0|n[W+377|0]){if(c=0|_[W+32>>2],a=0|_[c>>2],o=+p[a+8>>2],u=+p[a+12>>2],m=+p[a+16>>2],r=+p[a+20>>2],(0|B)>1){i=1,d=o,f=o,b=r,A=m,l=r,s=u,r=u,o=m;do{a=0|_[c+(i<<2)>>2],f=(T=+p[a+8>>2])>2])>2])>2])>2]=f,p[e+16+4>>2]=r,p[e+16+8>>2]=A,p[e+16+12>>2]=l,p[e+16+16>>2]=d,p[e+16+20>>2]=s,p[e+16+24>>2]=o,p[e+16+28>>2]=b,i=0|_[W+348>>2])M=(P=+p[t+452>>2])*+p[W+320>>2]*3,V=P*+p[W+324>>2]*3,p[e>>2]=+p[I>>2]*P*3,p[e+4>>2]=M,p[e+8>>2]=V,p[e+12>>2]=0,Lt(t+1048|0,i,e+16|0,e,+p[t+464>>2]);else{if(i=0|_[t+1052>>2])_[t+1052>>2]=0;else{_[6630]=1+(0|_[6630]),(i=0|di(63))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,a=(c=i)+44|0;do{_[c>>2]=0,c=c+4|0}while((0|c)<(0|a))}_[i+32>>2]=0,_[i+36>>2]=W,_[i+40>>2]=0,_[i>>2]=_[e+16>>2],_[i+4>>2]=_[e+16+4>>2],_[i+8>>2]=_[e+16+8>>2],_[i+12>>2]=_[e+16+12>>2],_[i+16>>2]=_[e+16+16>>2],_[i+20>>2]=_[e+16+20>>2],_[i+24>>2]=_[e+16+24>>2],_[i+28>>2]=_[e+16+28>>2],U(t+1048|0,0|_[t+1048>>2],i),_[t+1060>>2]=1+(0|_[t+1060>>2]),_[W+348>>2]=i}}i=0|_[t+1112>>2]}F=F+1|0}while((0|F)<(0|i))}if(i=0|_[2606],t=(0|_[i+16>>2])-1|0,_[i+16>>2]=t,0|t)Q=e;else{do{if(0|_[i+4>>2]){if(G(e+144|0,0),t=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[e+144+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[e+144>>2])-(0|_[t>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,0|_[i+16>>2])return void(Q=e);i=0|_[2606];break}}while(0);_[2606]=_[i+20>>2],Q=e}}function ji(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r,s,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0;if(s=Q,Q=Q+784|0,_[s+168+8>>2]=0,_[s+168+12>>2]=1065353216,_[s+168+16>>2]=1065353216,_[s+168+20>>2]=1065353216,p[s+168+24>>2]=0,_[s+168>>2]=7568,_[s+168+4>>2]=8,p[s+168+28>>2]=0,p[s+168+44>>2]=0,F=0|_[i+4>>2],r=0|_[i+12>>2],(0|(j=0|_[F+4>>2]))<20)return _[s+600>>2]=4536,_[s+600+168>>2]=0,p[s+600+172>>2]=0,_[s+600+164>>2]=_[o+4>>2],p[s+240+308>>2]=9999999747378752e-20,n[s+240+332|0]=0,_[s+224>>2]=5860,_[s+224+4>>2]=s+240,_[s+224+8>>2]=s+168,_[s+224+12>>2]=F,_[s+152>>2]=10136,_[s+152+4>>2]=s+240,_[s+152+8>>2]=s+168,_[s+152+12>>2]=F,F=8&_[o+16>>2]?s+152|0:s+224|0,0|Zl[3&_[8+(0|_[F>>2])>>2]](F,t,e,r,r,s+600|0)&&(a=+p[(c=s+600+132|0)>>2])*a+(l=+p[s+600+136>>2])*l+(d=+p[s+600+140>>2])*d>9999999747378752e-20&&(A=+p[s+600+164>>2])<+p[o+4>>2]&&(W=1/+b(+(a*a+l*l+d*d)),p[c>>2]=a*W,p[s+600+136>>2]=l*W,p[s+600+140>>2]=d*W,_[s+120>>2]=_[i+8>>2],_[s+120+4>>2]=0,_[s+120+8>>2]=_[c>>2],_[s+120+8+4>>2]=_[c+4>>2],_[s+120+8+8>>2]=_[c+8>>2],_[s+120+8+12>>2]=_[c+12>>2],p[s+120+24>>2]=A,Fl[15&_[12+(0|_[o>>2])>>2]](o,s+120|0,1)),void(Q=s);if((j+-21|0)>>>0>=9){if(31!=(0|j))return void(Q=s);if(c=0|_[F+64>>2],i=0|_[i+8>>2],_[s+600>>2]=6656,_[s+600+4>>2]=i,_[s+600+8>>2]=F,_[s+600+12>>2]=r,_[s+600+16>>2]=t,_[s+600+20>>2]=e,_[s+600+24>>2]=o,c)B=+p[r+48>>2],u=+p[t+48>>2]-B,I=+p[r+52>>2],m=+p[t+52>>2]-I,R=+p[r+56>>2],h=+p[t+56>>2]-R,C=+p[r>>2],g=+p[r+16>>2],y=+p[r+32>>2],w=+p[r+4>>2],S=+p[r+20>>2],v=+p[r+36>>2],W=+p[r+8>>2],D=+p[r+24>>2],k=+p[r+40>>2],p[s+240>>2]=u*C+m*g+h*y,p[s+240+4>>2]=u*w+m*S+h*v,p[s+240+8>>2]=u*W+m*D+h*k,p[s+240+12>>2]=0,B=+p[e+48>>2]-B,I=+p[e+52>>2]-I,R=+p[e+56>>2]-R,p[s+224>>2]=y*R+(g*I+B*C),p[s+224+4>>2]=v*R+(S*I+B*w),p[s+224+8>>2]=k*R+(D*I+B*W),p[s+224+12>>2]=0,Xe(0|_[c>>2],s+240|0,s+224|0,s+600|0);else if((0|(t=0|_[F+16>>2]))>0){c=0;do{st(s+600|0,c),c=c+1|0}while((0|c)<(0|t))}Q=s}else{switch(a=+p[r>>2],g=+p[r+16>>2],C=+p[r+32>>2],l=+p[r+4>>2],w=+p[r+20>>2],k=+p[r+36>>2],d=+p[r+8>>2],D=+p[r+24>>2],I=+p[r+40>>2],B=-+p[r+48>>2],W=-+p[r+52>>2],R=-+p[r+56>>2],m=+p[t+48>>2],h=+p[t+52>>2],A=+p[t+56>>2],p[s+152>>2]=a*B+g*W+C*R+(a*m+g*h+C*A),p[s+152+4>>2]=l*B+w*W+k*R+(l*m+w*h+k*A),p[s+152+8>>2]=d*B+D*W+I*R+(d*m+D*h+I*A),p[s+152+12>>2]=0,a=a*B+g*W+C*R+(a*(v=+p[e+48>>2])+g*(S=+p[e+52>>2])+C*(y=+p[e+56>>2])),l=l*B+w*W+k*R+(l*v+w*S+k*y),d=d*B+D*W+I*R+(d*v+D*S+I*y),p[s+120>>2]=a,p[s+120+4>>2]=l,p[s+120+8>>2]=d,p[s+120+12>>2]=0,0|j){case 21:c=0|_[i+8>>2],i=0|_[o+16>>2],_[s+4>>2]=_[s+152>>2],_[s+4+4>>2]=_[s+152+4>>2],_[s+4+8>>2]=_[s+152+8>>2],_[s+4+12>>2]=_[s+152+12>>2],_[s+20>>2]=_[s+120>>2],_[s+20+4>>2]=_[s+120+4>>2],_[s+20+8>>2]=_[s+120+8>>2],_[s+20+12>>2]=_[s+120+12>>2],_[s+36>>2]=i,p[s+40>>2]=1,_[s>>2]=6608,_[s+44>>2]=o,_[s+48>>2]=c,_[s+52>>2]=F,_[s+56>>2]=_[r>>2],_[s+56+4>>2]=_[r+4>>2],_[s+56+8>>2]=_[r+8>>2],_[s+56+12>>2]=_[r+12>>2],_[s+72>>2]=_[r+16>>2],_[s+72+4>>2]=_[r+16+4>>2],_[s+72+8>>2]=_[r+16+8>>2],_[s+72+12>>2]=_[r+16+12>>2],_[s+88>>2]=_[r+32>>2],_[s+88+4>>2]=_[r+32+4>>2],_[s+88+8>>2]=_[r+32+8>>2],_[s+88+12>>2]=_[r+32+12>>2],_[s+104>>2]=_[r+48>>2],_[s+104+4>>2]=_[r+48+4>>2],_[s+104+8>>2]=_[r+48+8>>2],_[s+104+12>>2]=_[r+48+12>>2],_[s+40>>2]=_[o+4>>2],c=0|_[F+48>>2],_[s+224>>2]=7780,_[s+224+4>>2]=c,_[s+224+8>>2]=s,c=0|_[F+52>>2],_[s+600>>2]=0,_[s+600+4>>2]=0,_[s+600+8>>2]=0,_[s+600+12>>2]=0,_[s+240>>2]=0,_[s+240+4>>2]=0,_[s+240+8>>2]=0,_[s+240+12>>2]=0,0|n[c+60|0]?Ee(c,s+224|0,s+152|0,a,l,d,s+600|0,s+240|0,0|_[c+56>>2]):$e(c,s+224|0,s+152|0,a,l,d,s+600|0,s+240|0);break;case 25:i=0|_[i+8>>2],j=0|_[o+16>>2],_[s+600+4>>2]=_[s+152>>2],_[s+600+4+4>>2]=_[s+152+4>>2],_[s+600+4+8>>2]=_[s+152+8>>2],_[s+600+4+12>>2]=_[s+152+12>>2],_[s+600+20>>2]=_[s+120>>2],_[s+600+20+4>>2]=_[s+120+4>>2],_[s+600+20+8>>2]=_[s+120+8>>2],_[s+600+20+12>>2]=_[s+120+12>>2],_[s+600+36>>2]=j,p[s+600+40>>2]=1,_[s+600>>2]=6608,_[s+600+44>>2]=o,_[s+600+48>>2]=i,_[s+600+52>>2]=F,_[s+600+56>>2]=_[r>>2],_[s+600+56+4>>2]=_[r+4>>2],_[s+600+56+8>>2]=_[r+8>>2],_[s+600+56+12>>2]=_[r+12>>2],_[s+600+72>>2]=_[r+16>>2],_[s+600+72+4>>2]=_[r+16+4>>2],_[s+600+72+8>>2]=_[r+16+8>>2],_[s+600+72+12>>2]=_[r+16+12>>2],_[s+600+88>>2]=_[r+32>>2],_[s+600+88+4>>2]=_[r+32+4>>2],_[s+600+88+8>>2]=_[r+32+8>>2],_[s+600+88+12>>2]=_[r+32+12>>2],_[s+600+104>>2]=_[r+48>>2],_[s+600+104+4>>2]=_[r+48+4>>2],_[s+600+104+8>>2]=_[r+48+8>>2],_[s+600+104+12>>2]=_[r+48+12>>2],_[s+600+40>>2]=_[o+4>>2],pd[127&_[144+(0|_[F>>2])>>2]](F,s+600|0,s+152|0,s+120|0);break;default:f=C*A+(g*h+m*(d=+p[r>>2]))+(C*R+(g*W+d*B)),u=k*A+(w*h+m*(l=+p[r+4>>2]))+(k*R+(w*W+l*B)),A=I*A+(D*h+m*(a=+p[r+8>>2]))+(I*R+(D*W+a*B)),d=C*y+(g*S+v*d)+(C*R+(g*W+d*B)),l=k*y+(w*S+v*l)+(k*R+(w*W+l*B)),a=I*y+(D*S+v*a)+(I*R+(D*W+a*B)),i=0|_[i+8>>2],j=0|_[o+16>>2],p[s+600+4>>2]=f,p[s+600+8>>2]=u,p[s+600+12>>2]=A,p[s+600+16>>2]=0,p[s+600+20>>2]=d,p[s+600+24>>2]=l,p[s+600+28>>2]=a,p[s+600+32>>2]=0,_[s+600+36>>2]=j,p[s+600+40>>2]=1,_[s+600>>2]=6632,_[s+600+44>>2]=o,_[s+600+48>>2]=i,_[s+600+52>>2]=F,_[s+600+56>>2]=_[r>>2],_[s+600+56+4>>2]=_[r+4>>2],_[s+600+56+8>>2]=_[r+8>>2],_[s+600+56+12>>2]=_[r+12>>2],_[s+600+72>>2]=_[r+16>>2],_[s+600+72+4>>2]=_[r+16+4>>2],_[s+600+72+8>>2]=_[r+16+8>>2],_[s+600+72+12>>2]=_[r+16+12>>2],_[s+600+88>>2]=_[r+32>>2],_[s+600+88+4>>2]=_[r+32+4>>2],_[s+600+88+8>>2]=_[r+32+8>>2],_[s+600+88+12>>2]=_[r+32+12>>2],_[s+600+104>>2]=_[r+48>>2],_[s+600+104+4>>2]=_[r+48+4>>2],_[s+600+104+8>>2]=_[r+48+8>>2],_[s+600+104+12>>2]=_[r+48+12>>2],_[s+600+40>>2]=_[o+4>>2],p[s+240>>2]=f,p[s+240+4>>2]=u,p[s+240+8>>2]=A,p[s+240+12>>2]=0,d>2]=d),l>2]=l),a>2]=a),p[s+224>>2]=f,p[s+224+4>>2]=u,p[s+224+8>>2]=A,p[s+224+12>>2]=0,f>2]=d),u>2]=l),A>2]=a),pd[127&_[64+(0|_[F>>2])>>2]](F,s+600|0,s+240|0,s+224|0)}Q=s}}function Di(t){var e=0,i=0,n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0;c=0|_[372+(t|=0)>>2];t:do{switch(0|_[c+32>>2]){case 1:if(p[c+20>>2]=0,a=(0|_[t+364>>2])-1|0,_[t+364>>2]=a,a=0|_[t+348+(a<<2)>>2],_[c+4>>2]=a,_[c+32>>2]=2,Xt(t,1,0,0,a),0|Di(t))return 0|(a=1);if(c=0|_[t+372>>2],a=(0|_[c+32>>2])-1|0,_[c+32>>2]=a,a=0|_[c+(a<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=a,c=0|_[t+372>>2],l=0|_[c+32>>2],p[c+16+(l<<2)>>2]=0,_[c+(l<<2)>>2]=a,_[c+32>>2]=l+1,Xt(t,-1,-0,-0,a),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,0,1,0,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,-0,-1,-0,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,0,0,1,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,-0,-0,-1,l),0|Di(t))return 0|(l=1);l=0|_[t+372>>2],a=(0|_[l+32>>2])-1|0,_[l+32>>2]=a,a=0|_[l+(a<<2)>>2],l=0|_[t+364>>2],_[t+364>>2]=l+1,_[t+348+(l<<2)>>2]=a;break t;case 2:a=0|_[c+4>>2],l=0|_[c>>2],i=+p[a+16>>2]-+p[l+16>>2],e=0*(n=+p[a+20>>2]-+p[l+20>>2])-0*(o=+p[a+24>>2]-+p[l+24>>2]);do{if((0*i-n)*(0*i-n)+(e*e+(o-0*i)*(o-0*i))>0){if(p[c+24>>2]=0,l=(0|_[t+364>>2])-1|0,_[t+364>>2]=l,l=0|_[t+348+(l<<2)>>2],_[c+8>>2]=l,_[c+32>>2]=3,Xt(t,e,o-0*i,0*i-n,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,-e,-(o-0*i),-(0*i-n),l),0|Di(t))return 0|(l=1);l=0|_[t+372>>2],a=(0|_[l+32>>2])-1|0,_[l+32>>2]=a,a=0|_[l+(a<<2)>>2],l=0|_[t+364>>2],_[t+364>>2]=l+1,_[t+348+(l<<2)>>2]=a;break}}while(0);e=0*o-0*i;do{if((i-0*n)*(i-0*n)+((0*n-o)*(0*n-o)+e*e)>0){if(a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,l=(0|_[t+364>>2])-1|0,_[t+364>>2]=l,l=0|_[t+348+(l<<2)>>2],_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,0*n-o,e,i-0*n,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,-(0*n-o),-e,-(i-0*n),l),0|Di(t))return 0|(l=1);l=0|_[t+372>>2],a=(0|_[l+32>>2])-1|0,_[l+32>>2]=a,a=0|_[l+(a<<2)>>2],l=0|_[t+364>>2],_[t+364>>2]=l+1,_[t+348+(l<<2)>>2]=a;break}}while(0);if((e=0*i-0*n)*e+((n-0*o)*(n-0*o)+(0*o-i)*(0*o-i))>0){if(a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,l=(0|_[t+364>>2])-1|0,_[t+364>>2]=l,l=0|_[t+348+(l<<2)>>2],_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,n-0*o,0*o-i,e,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,-(n-0*o),-(0*o-i),-e,l),0|Di(t))return 0|(l=1);l=0|_[t+372>>2],a=(0|_[l+32>>2])-1|0,_[l+32>>2]=a,a=0|_[l+(a<<2)>>2],l=0|_[t+364>>2],_[t+364>>2]=l+1,_[t+348+(l<<2)>>2]=a;break t}break;case 3:if(l=0|_[c+4>>2],a=0|_[c>>2],o=+p[a+16>>2],e=+p[l+16>>2]-o,r=+p[a+20>>2],i=+p[l+20>>2]-r,s=+p[a+24>>2],n=+p[l+24>>2]-s,l=0|_[c+8>>2],o=+p[l+16>>2]-o,(e*(r=+p[l+20>>2]-r)-i*o)*(e*r-i*o)+((i*(s=+p[l+24>>2]-s)-n*r)*(i*s-n*r)+(n*o-e*s)*(n*o-e*s))>0){if(p[c+28>>2]=0,l=(0|_[t+364>>2])-1|0,_[t+364>>2]=l,l=0|_[t+348+(l<<2)>>2],_[c+12>>2]=l,_[c+32>>2]=4,Xt(t,i*s-n*r,n*o-e*s,e*r-i*o,l),0|Di(t))return 0|(l=1);if(a=0|_[t+372>>2],l=(0|_[a+32>>2])-1|0,_[a+32>>2]=l,l=0|_[a+(l<<2)>>2],_[t+348+(_[t+364>>2]<<2)>>2]=l,a=0|_[t+372>>2],c=0|_[a+32>>2],p[a+16+(c<<2)>>2]=0,_[a+(c<<2)>>2]=l,_[a+32>>2]=c+1,Xt(t,-(i*s-n*r),-(n*o-e*s),-(e*r-i*o),l),0|Di(t))return 0|(l=1);l=0|_[t+372>>2],a=(0|_[l+32>>2])-1|0,_[l+32>>2]=a,a=0|_[l+(a<<2)>>2],l=0|_[t+364>>2],_[t+364>>2]=l+1,_[t+348+(l<<2)>>2]=a;break t}break;case 4:if(l=0|_[c>>2],a=0|_[c+12>>2],s=+p[a+16>>2],A=+p[l+16>>2]-s,d=+p[a+20>>2],e=+p[l+20>>2]-d,n=+p[a+24>>2],o=+p[l+24>>2]-n,l=0|_[c+4>>2],i=+p[l+16>>2]-s,r=+p[l+20>>2]-d,b=+p[l+24>>2]-n,l=0|_[c+8>>2],s=+p[l+16>>2]-s,d=+p[l+20>>2]-d,!(A*r*(n=+p[l+24>>2]-n)+(e*b*s+o*i*d-A*b*d-e*i*n)-o*r*s!=A*r*n+(e*b*s+o*i*d-A*b*d-e*i*n)-o*r*s|A*r*n+(e*b*s+o*i*d-A*b*d-e*i*n)-o*r*s==0))return 0|(l=1)}}while(0);return 0|(l=0)}function Ii(t,e,i,o,r,s,c,a,l){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,a|=0,l|=0;var d,A,f,u,m,h,y,g,C,v,S,w,k,R,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0;if(d=Q,Q=Q+32|0,_[d+12>>2]=s,_[d+12+4>>2]=c,_[d+12+8>>2]=a,_[d>>2]=i,_[d+4>>2]=o,_[d+8>>2]=r,!(+p[e+52>>2]<+p[t+12>>2]))return Q=d,0|(l=0);if(P=+p[e+36>>2],V=+p[e+40>>2],M=+p[e+44>>2],a=0|_[e+48>>2],G=1/+b(+(P*P+V*V+M*M)),r=0|ae(d),N=+p[e+4>>2]-+p[r+48>>2],L=+p[e+8>>2]-+p[r+52>>2],E=+p[e+12>>2]-+p[r+56>>2],r=0|ae(d+12|0),H=+p[e+20>>2]-+p[r+48>>2],Z=+p[e+24>>2]-+p[r+52>>2],U=+p[e+28>>2]-+p[r+56>>2],o?(B=+p[o+332>>2],W=+p[o+336>>2],T=+p[o+328>>2],j=E*B-L*W,D=+p[o+312>>2],W=N*W-E*T,F=+p[o+316>>2],I=+p[o+320>>2],B=L*T-N*B):i?(B=+p[i+336>>2],W=+p[i+340>>2],T=+p[i+332>>2],j=E*B-L*W,D=+p[i+316>>2],W=N*W-E*T,F=+p[i+320>>2],I=+p[i+324>>2],B=L*T-N*B):(j=0,D=0,W=0,F=0,I=0,B=0),T=D+j,O=F+W,x=I+B,c?(D=+p[c+332>>2],W=+p[c+336>>2],J=+p[c+328>>2],I=U*D-Z*W,B=+p[c+312>>2],W=H*W-U*J,F=+p[c+316>>2],j=+p[c+320>>2],D=Z*J-H*D):s?(D=+p[s+336>>2],W=+p[s+340>>2],J=+p[s+332>>2],I=U*D-Z*W,B=+p[s+316>>2],W=H*W-U*J,F=+p[s+320>>2],j=+p[s+324>>2],D=Z*J-H*D):(I=0,B=0,W=0,F=0,j=0,D=0),T=M*G*(x-=j+D)+(V*G*(O-=F+W)+P*G*(B=T-(B+I))),J=+p[e+52>>2]-+p[t+12>>2],_[l+4>>2]=_[d>>2],_[l+4+4>>2]=_[d+4>>2],_[l+4+8>>2]=_[d+8>>2],_[l+16>>2]=_[d+12>>2],_[l+16+4>>2]=_[d+12+4>>2],_[l+16+8>>2]=_[d+12+8>>2],e=0|ae(d),F=N*+p[e+4>>2]+L*+p[e+20>>2]+E*+p[e+36>>2],W=N*+p[e+8>>2]+L*+p[e+24>>2]+E*+p[e+40>>2],p[l+28>>2]=N*+p[e>>2]+L*+p[e+16>>2]+E*+p[e+32>>2],p[l+32>>2]=F,p[l+36>>2]=W,p[l+40>>2]=0,e=0|ae(d+12|0),W=H*+p[e+4>>2]+Z*+p[e+20>>2]+U*+p[e+36>>2],F=H*+p[e+8>>2]+Z*+p[e+24>>2]+U*+p[e+40>>2],p[l+44>>2]=H*+p[e>>2]+Z*+p[e+16>>2]+U*+p[e+32>>2],p[l+48>>2]=W,p[l+52>>2]=F,p[l+56>>2]=0,p[l+164>>2]=N,p[l+168>>2]=L,p[l+172>>2]=E,p[l+176>>2]=0,p[l+180>>2]=H,p[l+184>>2]=Z,p[l+188>>2]=U,p[l+192>>2]=0,p[l+60>>2]=1,p[l+64>>2]=1,_[l+156>>2]=0,_[l+160>>2]=0,p[l+68>>2]=1,p[l+72>>2]=P*G*J,p[l+76>>2]=V*G*J,p[l+80>>2]=M*G*J,p[l+84>>2]=0,p[l+196>>2]=P*G,p[l+200>>2]=V*G,p[l+204>>2]=M*G,_[l+208>>2]=a,n[l+152|0]=0,J=+p[t+16>>2],p[l+212>>2]=(x-M*G*T)*(x-M*G*T)+((B-P*G*T)*(B-P*G*T)+(O-V*G*T)*(O-V*G*T))>2])?(a=a+344|0,Y=14):(a=0|_[d>>2])?(a=a+128|0,Y=14):D=0,14==(0|Y)&&(D=+p[a>>2]),!(0|n[24448])&&0|Qs(24448)){r=48+(a=24984)|0;do{_[a>>2]=0,a=a+4|0}while((0|a)<(0|r))}if(i=(a=0|_[d+4>>2])?a+264|0:0|(i=0|_[d>>2])?i+180|0:24984,(a=0|_[d+12+4>>2])?(a=a+344|0,Y=25):(a=0|_[d+12>>2])?(a=a+128|0,Y=25):j=0,25==(0|Y)&&(j=+p[a>>2]),!(0|n[24448])&&0|Qs(24448)){r=48+(a=24984)|0;do{_[a>>2]=0,a=a+4|0}while((0|a)<(0|r))}return a=(a=0|_[d+12+4>>2])?a+264|0:0|(a=0|_[d+12>>2])?a+180|0:24984,R=+p[l+172>>2],h=+p[l+168>>2],m=+p[l+164>>2],k=+p[i>>2],w=+p[i+16>>2],S=+p[i+32>>2],v=+p[i+4>>2],C=+p[i+20>>2],g=+p[i+36>>2],y=+p[i+8>>2],u=+p[i+24>>2],f=+p[i+40>>2],L=+p[l+188>>2],T=+p[l+184>>2],P=+p[l+180>>2],H=D-(0*(0*k+w*-R+h*S)+R*(0*v+C*-R+h*g)+(0*y+u*-R+h*f)*-h)+(j-(0*(0*(A=+p[a>>2])+(I=+p[a+16>>2])*-L+T*(B=+p[a+32>>2]))+L*(0*(W=+p[a+4>>2])+(F=+p[a+20>>2])*-L+T*(x=+p[a+36>>2]))+(0*(O=+p[a+8>>2])+(J=+p[a+24>>2])*-L+T*(M=+p[a+40>>2]))*-T)),U=0-((0*k+w*-R+h*S)*-R+0*(0*v+C*-R+h*g)+m*(0*y+u*-R+h*f))+(0-((0*A+I*-L+T*B)*-L+0*(0*W+F*-L+T*x)+P*(0*O+J*-L+T*M))),Z=0-(0*(R*k+0*w+S*-m)+R*(R*v+0*C+g*-m)+(R*y+0*u+f*-m)*-h)+(0-(0*(L*A+0*I+B*-P)+L*(L*W+0*F+x*-P)+(L*O+0*J+M*-P)*-T)),E=D-((R*k+0*w+S*-m)*-R+0*(R*v+0*C+g*-m)+m*(R*y+0*u+f*-m))+(j-((L*A+0*I+B*-P)*-L+0*(L*W+0*F+x*-P)+P*(L*O+0*J+M*-P))),G=0-(h*(R*k+0*w+S*-m)+(R*v+0*C+g*-m)*-m+0*(R*y+0*u+f*-m))+(0-(T*(L*A+0*I+B*-P)+(L*W+0*F+x*-P)*-P+0*(L*O+0*J+M*-P))),N=0-(0*(k*-h+m*w+0*S)+R*(v*-h+m*C+0*g)+(y*-h+m*u+0*f)*-h)+(0-(0*(A*-T+P*I+0*B)+L*(W*-T+P*F+0*x)+(O*-T+P*J+0*M)*-T)),J=1/((V=0-(h*(0*k+w*-R+h*S)+(0*v+C*-R+h*g)*-m+0*(0*y+u*-R+h*f))+(0-(T*(0*A+I*-L+T*B)+(0*W+F*-L+T*x)*-P+0*(0*O+J*-L+T*M))))*((L=0-((k*-h+m*w+0*S)*-R+0*(v*-h+m*C+0*g)+m*(y*-h+m*u+0*f))+(0-((A*-T+P*I+0*B)*-L+0*(W*-T+P*F+0*x)+P*(O*-T+P*J+0*M))))*Z-E*N)+(H*(E*(M=D-(h*(k*-h+m*w+0*S)+(v*-h+m*C+0*g)*-m+0*(y*-h+m*u+0*f))+(j-(T*(A*-T+P*I+0*B)+(W*-T+P*F+0*x)*-P+0*(O*-T+P*J+0*M))))-G*L)+U*(G*N-M*Z))),p[l+104>>2]=(E*M-G*L)*J,p[l+108>>2]=(L*V-M*U)*J,p[l+112>>2]=(G*U-E*V)*J,p[l+116>>2]=0,p[l+120>>2]=(G*N-M*Z)*J,p[l+124>>2]=(M*H-N*V)*J,p[l+128>>2]=(Z*V-G*H)*J,p[l+132>>2]=0,p[l+136>>2]=(L*Z-E*N)*J,p[l+140>>2]=(N*U-L*H)*J,p[l+144>>2]=(E*H-Z*U)*J,p[l+148>>2]=0,Q=d,0|(l=1)}function Bi(t,e,i){e|=0,i|=0;var o=0,r=0,s=0,c=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0;if((v=!(0|n[180+(t|=0)|0]))&&0|n[t+48|0]?(m=+p[t+116>>2],r=+p[i>>2],T=+p[t+132>>2],o=+p[i+4>>2],P=+p[t+148>>2],k=+p[i+8>>2],h=+p[t+120>>2],x=+p[t+136>>2],O=+p[t+152>>2],y=+p[t+124>>2],F=+p[t+140>>2],g=+p[t+156>>2],S=+p[i+16>>2],w=+p[i+20>>2],R=+p[i+24>>2],W=+p[i+32>>2],C=+p[i+36>>2],j=+p[i+40>>2],d=+p[t+164>>2],s=+p[t+168>>2],B=+p[t+172>>2],I=+p[i+48>>2]+(r*d+o*s+k*B),D=S*d+w*s+R*B+ +p[i+52>>2],B=W*d+C*s+j*B+ +p[i+56>>2],p[t+824>>2]=m*r+T*o+P*k,p[t+828>>2]=r*h+o*x+k*O,p[t+832>>2]=r*y+o*F+k*g,p[t+836>>2]=0,p[t+840>>2]=m*S+T*w+P*R,p[t+844>>2]=h*S+x*w+O*R,p[t+848>>2]=y*S+F*w+g*R,p[t+852>>2]=0,p[t+856>>2]=m*W+T*C+P*j,p[t+860>>2]=h*W+x*C+O*j,p[t+864>>2]=y*W+F*C+g*j,p[t+868>>2]=0,p[t+872>>2]=I,p[t+876>>2]=D,p[t+880>>2]=B,p[t+884>>2]=0,B=+p[t+52>>2],D=+p[e>>2],I=+p[t+68>>2],j=+p[e+4>>2],g=+p[t+84>>2],C=+p[e+8>>2],F=+p[t+56>>2],W=+p[t+72>>2],y=+p[t+88>>2],O=+p[t+60>>2],x=+p[t+76>>2],h=+p[t+92>>2],P=+p[e+16>>2],T=+p[e+20>>2],m=+p[e+24>>2],R=+p[e+32>>2],w=+p[e+36>>2],S=+p[e+40>>2],c=t+856|0,l=t+840|0,s=P*(k=+p[t+100>>2])+T*(o=+p[t+104>>2])+m*(r=+p[t+108>>2]),d=O*R+x*w+h*S,b=F*R+W*w+y*S,A=B*R+I*w+g*S,f=O*P+x*T+h*m,u=F*P+W*T+y*m,m=B*P+I*T+g*m,h=D*O+j*x+C*h,y=D*F+j*W+C*y,g=B*D+I*j+g*C,C=D*k+j*o+C*r,o=R*k+w*o,r*=S):(m=+p[t+52>>2],r=+p[e>>2],w=+p[t+68>>2],o=+p[e+4>>2],S=+p[t+84>>2],O=+p[e+8>>2],h=+p[t+56>>2],R=+p[t+72>>2],k=+p[t+88>>2],y=+p[t+60>>2],j=+p[t+76>>2],g=+p[t+92>>2],P=+p[e+16>>2],T=+p[e+20>>2],x=+p[e+24>>2],D=+p[e+32>>2],C=+p[e+36>>2],F=+p[e+40>>2],d=+p[t+100>>2],s=+p[t+104>>2],I=+p[t+108>>2],B=+p[e+48>>2]+(r*d+o*s+O*I),W=P*d+T*s+x*I+ +p[e+52>>2],I=D*d+C*s+F*I+ +p[e+56>>2],p[t+824>>2]=m*r+w*o+S*O,p[t+828>>2]=r*h+o*R+O*k,p[t+832>>2]=r*y+o*j+O*g,p[t+836>>2]=0,p[t+840>>2]=m*P+w*T+S*x,p[t+844>>2]=h*P+R*T+k*x,p[t+848>>2]=y*P+j*T+g*x,p[t+852>>2]=0,p[t+856>>2]=m*D+w*C+S*F,p[t+860>>2]=h*D+R*C+k*F,p[t+864>>2]=y*D+j*C+g*F,p[t+868>>2]=0,p[t+872>>2]=B,p[t+876>>2]=W,p[t+880>>2]=I,p[t+884>>2]=0,I=+p[t+116>>2],W=+p[i>>2],B=+p[t+132>>2],F=+p[i+4>>2],g=+p[t+148>>2],C=+p[i+8>>2],j=+p[t+120>>2],D=+p[t+136>>2],y=+p[t+152>>2],k=+p[t+124>>2],R=+p[t+140>>2],h=+p[t+156>>2],S=+p[i+16>>2],w=+p[i+20>>2],m=+p[i+24>>2],x=+p[i+32>>2],T=+p[i+36>>2],P=+p[i+40>>2],c=t+856|0,l=t+840|0,s=S*(O=+p[t+164>>2])+w*(o=+p[t+168>>2])+m*(r=+p[t+172>>2]),d=k*x+R*T+h*P,b=j*x+D*T+y*P,A=I*x+B*T+g*P,f=k*S+R*w+h*m,u=j*S+D*w+y*m,m=I*S+B*w+g*m,h=W*k+F*R+C*h,y=W*j+F*D+C*y,g=I*W+B*F+g*C,C=W*O+F*o+C*r,e=i,o=x*O+T*o,r*=P),P=+p[e+48>>2]+C,s+=+p[e+52>>2],o=o+r+ +p[e+56>>2],p[t+888>>2]=g,p[t+892>>2]=y,p[t+896>>2]=h,p[t+900>>2]=0,p[t+904>>2]=m,p[t+908>>2]=u,p[t+912>>2]=f,p[t+916>>2]=0,p[t+920>>2]=A,p[t+924>>2]=b,p[t+928>>2]=d,p[t+932>>2]=0,p[t+936>>2]=P,p[t+940>>2]=s,p[t+944>>2]=o,p[t+948>>2]=0,_[t+968>>2]=_[t+872>>2],_[t+968+4>>2]=_[t+872+4>>2],_[t+968+8>>2]=_[t+872+8>>2],_[t+968+12>>2]=_[t+872+12>>2],_[t+984>>2]=_[t+936>>2],_[t+984+4>>2]=_[t+936+4>>2],_[t+984+8>>2]=_[t+936+8>>2],_[t+984+12>>2]=_[t+936+12>>2],e=0|_[t+824>>2],i=0|_[l>>2],l=0|_[c>>2],_[t+952>>2]=e,_[t+956>>2]=i,_[t+960>>2]=l,p[t+964>>2]=0,_[a>>2]=e,o=+p[a>>2],_[a>>2]=i,r=+p[a>>2],_[a>>2]=l,s=+p[a>>2],v&&!(0|n[t+48|0]))return j=+p[t+968>>2],D=+p[t+972>>2],O=(I=+p[t+976>>2])-+p[t+992>>2],F=D-+p[t+988>>2],W=j-+p[t+984>>2],p[(v=t+1016|0)>>2]=W,p[(v=t+1020|0)>>2]=F,p[(v=t+1024|0)>>2]=O,p[(v=t+1028|0)>>2]=0,B=j+(B=(P=(B=(P=W*o)+(B=F*r))+(P=O*s))*o),x=D+(x=P*r),T=I+(T=P*s),p[(v=t+1e3|0)>>2]=B,p[(v=t+1004|0)>>2]=x,p[(v=t+1008|0)>>2]=T,p[(v=t+1012|0)>>2]=0,p[(v=t+1032|0)>>2]=P,l=t+844|0,c=t+860|0,P=+p[(v=t+828|0)>>2],T=+p[l>>2],x=+p[c>>2],x=(T=(P*=W)+(T*=F))+(x*=O),p[(c=t+1036|0)>>2]=x,l=t+848|0,v=t+864|0,x=+p[(c=t+832|0)>>2],T=+p[l>>2],P=+p[v>>2],P=(T=(x*=W)+(T*=F))+(P*=O),void(p[(v=t+1040|0)>>2]=P);j=+p[t+968>>2],D=+p[t+972>>2],I=+p[t+976>>2],O=+p[t+992>>2]-I,F=+p[t+988>>2]-D,W=+p[t+984>>2]-j,p[(v=t+1016|0)>>2]=W,p[(v=t+1020|0)>>2]=F,p[(v=t+1024|0)>>2]=O,p[(v=t+1028|0)>>2]=0,B=j+(B=(P=(B=(P=W*o)+(B=F*r))+(P=O*s))*o),x=D+(x=P*r),T=I+(T=P*s),p[(v=t+1e3|0)>>2]=B,p[(v=t+1004|0)>>2]=x,p[(v=t+1008|0)>>2]=T,p[(v=t+1012|0)>>2]=0,p[(v=t+1032|0)>>2]=P,l=t+844|0,c=t+860|0,P=+p[(v=t+828|0)>>2],T=+p[l>>2],x=+p[c>>2],x=(T=(P*=W)+(T*=F))+(x*=O),p[(c=t+1036|0)>>2]=x,l=t+848|0,v=t+864|0,x=+p[(c=t+832|0)>>2],T=+p[l>>2],P=+p[v>>2],P=(T=(x*=W)+(T*=F))+(P*=O),p[(v=t+1040|0)>>2]=P}function Wi(t,e,i,n){t|=0,e|=0,i|=0,n|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0;o=Q,Q=Q+672|0,_[o+448+8>>2]=0,_[o+448+12>>2]=1065353216,_[o+448+16>>2]=1065353216,_[o+448+20>>2]=1065353216,p[o+448+24>>2]=0,_[o+448>>2]=7568,_[o+448+4>>2]=8,p[o+448+28>>2]=0,p[o+448+44>>2]=0,p[o+384>>2]=1,_[o+384+4>>2]=0,_[o+384+4+4>>2]=0,_[o+384+4+8>>2]=0,_[o+384+4+12>>2]=0,p[o+384+20>>2]=1,_[o+384+24>>2]=0,_[o+384+24+4>>2]=0,_[o+384+24+8>>2]=0,_[o+384+24+12>>2]=0,p[o+384+40>>2]=1,p[o+384+44>>2]=0,_[o+384+48>>2]=_[t>>2],_[o+384+48+4>>2]=_[t+4>>2],_[o+384+48+8>>2]=_[t+8>>2],_[o+384+48+12>>2]=_[t+12>>2],l=(t=n)+36|0;do{_[t>>2]=0,t=t+4|0}while((0|t)<(0|l));switch(_[o+504>>2]=e,_[o+504+4>>2]=o+448,v=+p[i>>2],C=+p[i+16>>2],r=+p[i+32>>2],s=+p[i+4>>2],c=+p[i+20>>2],a=+p[i+36>>2],A=+p[i+8>>2],m=+p[i+24>>2],y=+p[i+40>>2],p[o+504+8>>2]=v+0*C+0*r,p[o+504+12>>2]=s+0*c+0*a,p[o+504+16>>2]=A+0*m+0*y,p[o+504+20>>2]=0,p[o+504+24>>2]=0*v+C+0*r,p[o+504+28>>2]=0*s+c+0*a,p[o+504+32>>2]=0*A+m+0*y,p[o+504+36>>2]=0,p[o+504+40>>2]=0*v+0*C+r,p[o+504+44>>2]=0*s+0*c+a,p[o+504+48>>2]=0*A+0*m+y,p[o+504+52>>2]=0,d=+p[o+384+48>>2]-+p[i+48>>2],f=+p[o+384+52>>2]-+p[i+52>>2],h=+p[o+384+56>>2]-+p[i+56>>2],p[o+504+56>>2]=v+0*C+0*r,p[o+504+60>>2]=0*v+C+0*r,p[o+504+64>>2]=0*v+0*C+r,p[o+504+68>>2]=0,p[o+504+72>>2]=s+0*c+0*a,p[o+504+76>>2]=0*s+c+0*a,p[o+504+80>>2]=0*s+0*c+a,p[o+504+84>>2]=0,p[o+504+88>>2]=A+0*m+0*y,p[o+504+92>>2]=0*A+m+0*y,p[o+504+96>>2]=0*A+0*m+y,p[o+504+100>>2]=0,p[o+504+104>>2]=d*v+f*C+h*r,p[o+504+108>>2]=d*s+f*c+h*a,p[o+504+112>>2]=d*A+f*m+h*y,p[o+504+116>>2]=0,_[o+504+120>>2]=81,_[o+504+124>>2]=0,_[o+364>>2]=0,_[o+128>>2]=0,_[o+128+4>>2]=0,_[o+128+8>>2]=0,_[o+128+12>>2]=0,_[o+376>>2]=2,_[o+368>>2]=0,p[o+144>>2]=0,_[o+648>>2]=1065353216,_[o+648+4>>2]=1065353216,_[o+648+8>>2]=1065353216,p[o+648+12>>2]=0,0|Ci(o,o+504|0,o+648|0)){case 0:if(t=0|_[o+372>>2],0|_[t+32>>2]){g=0,r=0,c=0,a=0,s=0,f=0,m=0;do{y=+p[t+16+(g<<2)>>2],l=0|_[o+504+120>>2],S=0|_[o+504+124>>2],u=(0|_[o+504>>2])+(S>>1)|0,1&S&&(l=0|_[(0|_[u>>2])+l>>2]),_d[127&l](o+648|0,u,0|_[t+(g<<2)>>2]),r+=y*+p[o+648>>2],c+=y*+p[o+648+4>>2],a+=y*+p[o+648+8>>2],t=0|_[(0|_[o+372>>2])+(g<<2)>>2],d=-+p[t>>2],A=-+p[t+4>>2],h=-+p[t+8>>2],t=0|_[o+504+120>>2],S=0|_[o+504+124>>2],l=(0|_[o+504+4>>2])+(S>>1)|0,1&S&&(t=0|_[(0|_[l>>2])+t>>2]),v=+p[o+504+24>>2]*d+ +p[o+504+28>>2]*A+ +p[o+504+32>>2]*h,C=+p[o+504+40>>2]*d+ +p[o+504+44>>2]*A+ +p[o+504+48>>2]*h,p[o+632>>2]=+p[o+504+8>>2]*d+ +p[o+504+12>>2]*A+ +p[o+504+16>>2]*h,p[o+632+4>>2]=v,p[o+632+8>>2]=C,p[o+632+12>>2]=0,_d[127&t](o+648|0,l,o+632|0),h=+p[o+648>>2],C=+p[o+648+4>>2],v=+p[o+648+8>>2],s+=y*(h*+p[o+504+56>>2]+C*+p[o+504+60>>2]+v*+p[o+504+64>>2]+ +p[o+504+104>>2]),f+=y*(h*+p[o+504+72>>2]+C*+p[o+504+76>>2]+v*+p[o+504+80>>2]+ +p[o+504+108>>2]),m+=y*(h*+p[o+504+88>>2]+C*+p[o+504+92>>2]+v*+p[o+504+96>>2]+ +p[o+504+112>>2]),g=g+1|0,t=0|_[o+372>>2]}while(g>>>0<(0|_[t+32>>2])>>>0)}else a=0,c=0,r=0,m=0,f=0,s=0;switch(h=r*+p[i>>2]+c*+p[i+4>>2]+a*+p[i+8>>2]+ +p[i+48>>2],y=r*+p[i+16>>2]+c*+p[i+20>>2]+a*+p[i+24>>2]+ +p[i+52>>2],a=r*+p[i+32>>2]+c*+p[i+36>>2]+a*+p[i+40>>2]+ +p[i+56>>2],p[n+4>>2]=h,p[n+8>>2]=y,p[n+12>>2]=a,p[n+16>>2]=0,d=s*+p[i>>2]+f*+p[i+4>>2]+m*+p[i+8>>2]+ +p[i+48>>2],A=s*+p[i+16>>2]+f*+p[i+20>>2]+m*+p[i+24>>2]+ +p[i+52>>2],c=s*+p[i+32>>2]+f*+p[i+36>>2]+m*+p[i+40>>2]+ +p[i+56>>2],p[n+20>>2]=d,p[n+24>>2]=A,p[n+28>>2]=c,p[n+32>>2]=0,0|_[e+4>>2]){case 8:r=+p[e+28>>2]*+p[e+12>>2];break;case 0:case 1:case 13:case 11:case 10:case 4:case 5:r=+p[e+44>>2];break;default:r=+Il[15&_[48+(0|_[e>>2])>>2]](e)}switch(0|_[o+448+4>>2]){case 8:s=+p[o+448+28>>2]*+p[o+448+12>>2];break;case 0:case 1:case 13:case 11:case 10:case 4:case 5:s=+p[o+448+44>>2];break;default:s=+Il[15&_[48+(0|_[o+448>>2])>>2]](o+448|0)}return v=r+s,C=+b(+((d-h)*(d-h)+(A-y)*(A-y)+(c-a)*(c-a))),p[n+36>>2]=1/C*(d-h),p[n+40>>2]=1/C*(A-y),p[n+44>>2]=1/C*(c-a),p[n+48>>2]=0,p[n+4>>2]=v*(1/C*(d-h))+ +p[n+4>>2],p[n+8>>2]=v*(1/C*(A-y))+ +p[n+8>>2],p[n+12>>2]=v*(1/C*(c-a))+ +p[n+12>>2],Q=o,+(v=C-v);case 1:return 0|gi(e,i,o+448|0,o+384|0,o+128|0,n,1)?(r=+p[n+4>>2]-+p[n+20>>2],s=+p[n+8>>2]-+p[n+24>>2],c=+p[n+12>>2]-+p[n+28>>2],(a=+b(+(r*r+s*s+c*c)))>=1.1920928955078125e-7&&(p[n+36>>2]=r*(1/a),p[n+40>>2]=s*(1/a),p[n+44>>2]=c*(1/a),p[n+48>>2]=0),Q=o,+(v=-a)):(Q=o,+(v=34028234663852886e22));default:return Q=o,+(v=34028234663852886e22)}return 0}function Fi(t,e,i){t|=0,i|=0;var n=0,o=0,r=0,s=0,c=0,a=0,l=0,b=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,Q=0,E=0,H=0,Z=0,U=0,Y=0,J=0;_[(e|=0)>>2]=_[t>>2],_[e+4>>2]=_[t+4>>2],_[e+8>>2]=_[t+8>>2],_[e+12>>2]=_[t+12>>2],_[e+16>>2]=_[t+16>>2],_[e+16+4>>2]=_[t+16+4>>2],_[e+16+8>>2]=_[t+16+8>>2],_[e+16+12>>2]=_[t+16+12>>2],_[e+32>>2]=_[t+32>>2],_[e+32+4>>2]=_[t+32+4>>2],_[e+32+8>>2]=_[t+32+8>>2],_[e+32+12>>2]=_[t+32+12>>2],h=+p[t+20>>2],b=+p[t+40>>2],y=+p[t+24>>2],f=+p[t+36>>2],u=+p[t+32>>2],g=+p[t+16>>2],S=1/((h*b-y*f)*(C=+p[t>>2])+(m=+p[t+4>>2])*(y*u-b*g)+(f*g-h*u)*(v=+p[t+8>>2])),p[i>>2]=(h*b-y*f)*S,p[i+4>>2]=(f*v-b*m)*S,p[i+8>>2]=(y*m-h*v)*S,p[i+12>>2]=0,p[i+16>>2]=(y*u-b*g)*S,p[i+20>>2]=(b*C-u*v)*S,p[i+24>>2]=(g*v-y*C)*S,p[i+28>>2]=0,p[i+32>>2]=(f*g-h*u)*S,p[i+36>>2]=(u*m-f*C)*S,p[i+40>>2]=(h*C-g*m)*S,p[i+44>>2]=0;t:do{if(0|_[6279]){for(n=0,B=(h*C-g*m)*S,W=(h*b-y*f)*S,F=(y*u-b*g)*S,x=(f*g-h*u)*S,O=(f*v-b*m)*S,I=(b*C-u*v)*S,D=(u*m-f*C)*S,j=(y*m-h*v)*S,R=(g*v-y*C)*S;;){if(u=+d(+W),f=+d(+F),G=+d(+x),J=+d(+O),N=+d(+I),V=+d(+D),Q=+d(+j),L=+d(+R),w=+d(+B),E=u+f+G>J+N+V?u+f+G:J+N+V,N=u+J+Q>f+N+L?u+J+Q:f+N+L,f=+p[e>>2],J=+d(+f),u=+p[e+16>>2],Z=+d(+u),m=+p[e+32>>2],P=+d(+m),h=+p[e+4>>2],Y=+d(+h),y=+p[e+20>>2],H=+d(+y),g=+p[e+36>>2],T=+d(+g),C=+p[e+8>>2],U=+d(+C),v=+p[e+24>>2],M=+d(+v),S=+p[e+40>>2],(w=(E>Q+L+w?E:Q+L+w)*(N>G+V+w?N:G+V+w))<1.1920928955078125e-7|(k=(b=(b=J+Z+P>Y+H+T?J+Z+P:Y+H+T)>U+M+(k=+d(+S))?b:U+M+k)*((M=J+Y+U>Z+H+M?J+Y+U:Z+H+M)>P+T+k?M:P+T+k))<1.1920928955078125e-7){n=e+20|0,o=e+36|0,r=e+8|0,s=e+24|0,c=e+40|0,a=e,l=e+4|0;break t}if(N=.5*(f*((J=+A(+w/k,.25))-2)+1/J*W),Q=.5*(h*(J+-2)+1/J*F),H=.5*(C*(J+-2)+1/J*x),L=.5*(u*(J+-2)+1/J*O),E=.5*(y*(J+-2)+1/J*I),Z=.5*(v*(J+-2)+1/J*D),U=.5*(m*(J+-2)+1/J*j),Y=.5*(g*(J+-2)+1/J*R),J=.5*(S*(J+-2)+1/J*B),p[e>>2]=f+N,p[e+4>>2]=h+Q,p[e+8>>2]=C+H,p[e+12>>2]=0,p[e+16>>2]=u+L,p[e+20>>2]=y+E,p[e+24>>2]=v+Z,p[e+28>>2]=0,p[e+32>>2]=m+U,p[e+36>>2]=g+Y,p[e+40>>2]=S+J,p[e+44>>2]=0,W=((y+E)*(S+J)-(v+Z)*(g+Y))*(G=1/((C+H)*((u+L)*(g+Y)-(y+E)*(m+U))+((f+N)*((y+E)*(S+J)-(v+Z)*(g+Y))+(h+Q)*((v+Z)*(m+U)-(u+L)*(S+J))))),O=((C+H)*(g+Y)-(h+Q)*(S+J))*G,j=((h+Q)*(v+Z)-(C+H)*(y+E))*G,F=((v+Z)*(m+U)-(u+L)*(S+J))*G,I=((f+N)*(S+J)-(C+H)*(m+U))*G,R=((C+H)*(u+L)-(f+N)*(v+Z))*G,x=((u+L)*(g+Y)-(y+E)*(m+U))*G,D=((h+Q)*(m+U)-(f+N)*(g+Y))*G,B=((f+N)*(y+E)-(h+Q)*(u+L))*G,p[i>>2]=W,p[i+4>>2]=O,p[i+8>>2]=j,p[i+12>>2]=0,p[i+16>>2]=F,p[i+20>>2]=I,p[i+24>>2]=R,p[i+28>>2]=0,p[i+32>>2]=x,p[i+36>>2]=D,p[i+40>>2]=B,p[i+44>>2]=0,((Y=(U=+d(+N)+ +d(+L)+ +d(+U))>(Y=+d(+Q)+ +d(+E)+ +d(+Y))?U:Y)>(J=+d(+H)+ +d(+Z)+ +d(+J))?Y:J)<=b*+p[6278])break;if((n=n+1|0)>>>0>=(0|_[6279])>>>0){n=e+20|0,o=e+36|0,r=e+8|0,s=e+24|0,c=e+40|0,a=e,l=e+4|0;break t}}return V=+p[e>>2],N=+p[e+16>>2],Q=+p[e+32>>2],P=+p[e+4>>2],M=+p[e+20>>2],H=+p[e+36>>2],W=+p[e+8>>2],F=+p[e+24>>2],U=+p[e+40>>2],G=+p[t>>2],L=+p[t+16>>2],E=+p[t+32>>2],x=+p[t+4>>2],O=+p[t+20>>2],T=+p[t+36>>2],J=W*(D=+p[t+8>>2])+F*(I=+p[t+24>>2])+U*(B=+p[t+40>>2])+(W*D+F*I+U*B),Y=P*D+M*I+H*B+(W*x+F*O+U*T),Z=P*x+M*O+H*T+(P*x+M*O+H*T),U=V*D+N*I+Q*B+(W*G+F*L+U*E),H=V*x+N*O+Q*T+(P*G+M*L+H*E),E=V*G+N*L+Q*E+(V*G+N*L+Q*E),Y*=.5,U*=.5,H*=.5,E*=.5,p[i>>2]=E,p[i+4>>2]=H,p[i+8>>2]=U,p[i+12>>2]=0,p[i+16>>2]=H,Z*=.5,p[i+20>>2]=Z,p[i+24>>2]=Y,p[i+28>>2]=0,p[i+32>>2]=U,p[i+36>>2]=Y,J*=.5,p[i+40>>2]=J,void(p[i+44>>2]=0)}n=e+20|0,o=e+36|0,r=e+8|0,s=e+24|0,c=e+40|0,a=e,l=e+4|0}while(0);V=+p[a>>2],N=+p[e+16>>2],Q=+p[e+32>>2],P=+p[l>>2],M=+p[n>>2],H=+p[o>>2],W=+p[r>>2],F=+p[s>>2],U=+p[c>>2],G=+p[t>>2],L=+p[t+16>>2],E=+p[t+32>>2],x=+p[t+4>>2],O=+p[t+20>>2],T=+p[t+36>>2],J=W*(D=+p[t+8>>2])+F*(I=+p[t+24>>2])+U*(B=+p[t+40>>2])+(W*D+F*I+U*B),Y=P*D+M*I+H*B+(W*x+F*O+U*T),Z=P*x+M*O+H*T+(P*x+M*O+H*T),U=V*D+N*I+Q*B+(W*G+F*L+U*E),H=V*x+N*O+Q*T+(P*G+M*L+H*E),E=V*G+N*L+Q*E+(V*G+N*L+Q*E),Y*=.5,U*=.5,H*=.5,E*=.5,p[i>>2]=E,p[i+4>>2]=H,p[i+8>>2]=U,p[i+12>>2]=0,p[i+16>>2]=H,Z*=.5,p[i+20>>2]=Z,p[i+24>>2]=Y,p[i+28>>2]=0,p[i+32>>2]=U,p[i+36>>2]=Y,J*=.5,p[i+40>>2]=J,p[i+44>>2]=0}function xi(t,e,i,r,s){e|=0,i|=0,r|=0,s|=0;var c,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0;if(c=Q,Q=Q+128|0,n[60+(t|=0)|0]=1&i,i){if(y=+p[r>>2]-1,g=+p[r+4>>2]-1,C=+p[r+8>>2]-1,p[t+4>>2]=y,p[t+8>>2]=g,p[t+12>>2]=C,p[t+16>>2]=0,m=+p[s>>2]+1,d=+p[s+4>>2]+1,v=+p[s+8>>2]+1,p[t+20>>2]=m,p[t+24>>2]=d,p[t+28>>2]=v,p[t+32>>2]=0,p[t+36>>2]=65533/(m-y),p[t+40>>2]=65533/(d-g),p[t+44>>2]=65533/(v-C),p[t+48>>2]=0,n[t+60|0]=1,f=g+ +(65533/(d-g)*(g-g)&65535&-2&65535)/(65533/(d-g))+-1,h=C+ +(65533/(v-C)*(C-C)&65535&-2&65535)/(65533/(v-C))+-1,(a=y+ +(65533/(m-y)*(y-y)&65535&-2&65535)/(65533/(m-y))+-1)>2]=a,S=a):S=y,f>2]=f:f=g,h>2]=h,a=v-h):(a=v-C,h=C),g=f+ +(65535&65533/(d-g)*(d-f)+1|1)/(65533/(d-g))+1,C=h+ +(65535&65533/(v-C)*a+1|1)/(65533/(v-C))+1,m<(y=S+ +(65535&65533/(m-y)*(m-S)+1|1)/(65533/(m-y))+1)&&(p[t+20>>2]=y,m=y),d>2]=g,d=g),v>2]=C,a=C-h),p[t+36>>2]=65533/(m-S),p[t+40>>2]=65533/(d-f),p[t+44>>2]=65533/a,p[t+48>>2]=0,_[c+96>>2]=9016,_[c+96+4>>2]=t+104,_[c+96+8>>2]=t,pd[127&_[8+(0|_[e>>2])>>2]](e,c+96|0,t+4|0,t+20|0),i=0|_[t+108>>2],_[c+80>>2]=0,_[c+80+4>>2]=0,_[c+80+8>>2]=0,_[c+80+12>>2]=0,(0|(l=0|_[t+128>>2]))>2])>2]=r,r=r+4+15&-16):r=0,e=0|_[t+128>>2]):(r=0,e=l),(0|e)>0){s=0;do{u=r+(s<<4)|0,A=(0|_[t+136>>2])+(s<<4)|0,_[u>>2]=_[A>>2],_[u+4>>2]=_[A+4>>2],_[u+8>>2]=_[A+8>>2],_[u+12>>2]=_[A+12>>2],s=s+1|0}while((0|s)!=(0|e))}0|(s=0|_[t+136>>2])&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+136>>2]=0),n[t+140|0]=1,_[t+136>>2]=r,_[t+132>>2]=i<<1,s=t+136|0}else s=t+136|0;r=l;do{u=(0|_[s>>2])+(r<<4)|0,_[u>>2]=_[c+80>>2],_[u+4>>2]=_[c+80+4>>2],_[u+8>>2]=_[c+80+8>>2],_[u+12>>2]=_[c+80+12>>2],r=r+1|0}while((0|r)!=i<<1)}_[t+128>>2]=i<<1}else{_[c+96>>2]=9036,_[c+96+4>>2]=t+64,_[c+80>>2]=-581039253,_[c+80+4>>2]=-581039253,_[c+80+8>>2]=-581039253,p[c+80+12>>2]=0,_[c+64>>2]=1566444395,_[c+64+4>>2]=1566444395,_[c+64+8>>2]=1566444395,p[c+64+12>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,c+96|0,c+80|0,c+64|0),i=0|_[t+68>>2],A=(l=c)+64|0;do{_[l>>2]=0,l=l+4|0}while((0|l)<(0|A));if((0|(u=0|_[t+88>>2]))>2])>2]=r,r=r+4+15&-16):r=0,e=0|_[t+88>>2]):(r=0,e=u),(0|e)>0){s=0;do{l=r+(s<<6)|0,b=(0|_[t+96>>2])+(s<<6)|0,A=l+64|0;do{_[l>>2]=_[b>>2],l=l+4|0,b=b+4|0}while((0|l)<(0|A));s=s+1|0}while((0|s)!=(0|e))}0|(s=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=r,_[t+92>>2]=i<<1,s=t+96|0}else s=t+96|0;r=u;do{b=c,A=64+(l=(0|_[s>>2])+(r<<6)|0)|0;do{_[l>>2]=_[b>>2],l=l+4|0,b=b+4|0}while((0|l)<(0|A));r=r+1|0}while((0|r)!=i<<1)}_[t+88>>2]=i<<1}if(_[t+56>>2]=0,yi(t,0,i),0|n[t+60|0]&&!(0|_[t+152>>2])){if(0|_[t+156>>2])r=t+160|0,s=1,i=0|_[t+160>>2];else{if(_[6630]=1+(0|_[6630]),(i=0|di(51))?(_[(i+4+15&-16)-4>>2]=i,e=i+4+15&-16):e=0,(0|(r=0|_[t+152>>2]))>0){i=0;do{u=e+(i<<5)|0,A=(0|_[t+160>>2])+(i<<5)|0,_[u>>2]=_[A>>2],_[u+4>>2]=_[A+4>>2],_[u+8>>2]=_[A+8>>2],_[u+12>>2]=_[A+12>>2],_[u+16>>2]=_[A+16>>2],_[u+20>>2]=_[A+20>>2],_[u+24>>2]=_[A+24>>2],_[u+28>>2]=_[A+28>>2],i=i+1|0}while((0|i)!=(0|r))}0|(i=0|_[t+160>>2])&&(0|n[t+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+160>>2]=0),n[t+164|0]=1,_[t+160>>2]=e,_[t+156>>2]=1,r=t+160|0,s=1+(0|_[t+152>>2])|0,i=e}_[t+152>>2]=s,_[i>>2]=_[c+96>>2],_[i+4>>2]=_[c+96+4>>2],_[i+8>>2]=_[c+96+8>>2],_[i+12>>2]=_[c+96+12>>2],_[i+16>>2]=_[c+96+16>>2],_[i+20>>2]=_[c+96+20>>2],_[i+24>>2]=_[c+96+24>>2],_[i+28>>2]=_[c+96+28>>2],u=0|_[r>>2],A=0|_[t+136>>2],o[u>>1]=0|o[A>>1],o[u+2>>1]=0|o[A+2>>1],o[u+4>>1]=0|o[A+4>>1],o[u+6>>1]=0|o[A+6>>1],o[u+8>>1]=0|o[A+8>>1],o[u+10>>1]=0|o[A+10>>1],_[u+12>>2]=0,A=0|_[A+12>>2],_[u+16>>2]=(0|A)>-1?1:0-A|0}if(_[t+168>>2]=_[t+152>>2],0|(i=0|_[t+116>>2])&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+116>>2]=0),n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,!(i=0|_[t+76>>2]))return n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[(t=t+72|0)>>2]=0,void(Q=c);0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+76>>2]=0,n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[(t=t+72|0)>>2]=0,Q=c}function Oi(t,e,i,o,r,s,c,l,d,b,A){e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,l|=0,d=+d,b=+b,A=+A;var f,u,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,Q=0,E=0;if((0|(u=0|_[68+(t|=0)>>2]))==(0|_[t+72>>2])&&(0|u)<(0|(C=0|u?u<<1:1))){if(C?(_[6630]=1+(0|_[6630]),(m=0|di(16+(152*C|3)|0))?(_[(m+4+15&-16)-4>>2]=m,m=m+4+15&-16):m=0,y=0|_[t+68>>2]):(m=0,y=u),(0|y)>0){h=0;do{_e(m+(152*h|0)|0,(0|_[t+76>>2])+(152*h|0)|0,152),h=h+1|0}while((0|h)!=(0|y))}0|(h=0|_[t+76>>2])&&(0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[h+-4>>2])),_[t+76>>2]=0),n[t+80|0]=1,_[t+76>>2]=m,_[t+72>>2]=C,m=0|_[t+68>>2]}else m=u;return _[t+68>>2]=m+1,f=0|_[t+76>>2],_[f+(152*u|0)+140>>2]=r,y=0|_[t+16>>2],m=0|_[y+(244*i|0)+240>>2],C=0|_[y+(244*o|0)+240>>2],_[f+(152*u|0)+144>>2]=i,_[f+(152*u|0)+148>>2]=o,h=0|_[s+84>>2],_[f+(152*u|0)+104>>2]=h,_[f+(152*u|0)+132>>2]=0,p[f+(152*u|0)+100>>2]=0,p[f+(152*u|0)+96>>2]=0,_[a>>2]=h,G=+p[a>>2],0|m?(_[f+(152*u|0)+16>>2]=_[e>>2],_[f+(152*u|0)+16+4>>2]=_[e+4>>2],_[f+(152*u|0)+16+8>>2]=_[e+8>>2],_[f+(152*u|0)+16+12>>2]=_[e+12>>2],V=+p[c+4>>2],W=+p[f+(152*u|0)+24>>2],T=+p[c+8>>2],P=+p[f+(152*u|0)+20>>2],F=+p[f+(152*u|0)+16>>2],M=+p[c>>2],p[f+(152*u|0)>>2]=V*W-T*P,p[f+(152*u|0)+4>>2]=T*F-W*M,p[f+(152*u|0)+8>>2]=P*M-V*F,p[f+(152*u|0)+12>>2]=0,S=((V*W-T*P)*+p[m+264>>2]+(T*F-W*M)*+p[m+268>>2]+(P*M-V*F)*+p[m+272>>2])*+p[m+544>>2],g=((V*W-T*P)*+p[m+280>>2]+(T*F-W*M)*+p[m+284>>2]+(P*M-V*F)*+p[m+288>>2])*+p[m+548>>2],v=((V*W-T*P)*+p[m+296>>2]+(T*F-W*M)*+p[m+300>>2]+(P*M-V*F)*+p[m+304>>2])*+p[m+552>>2],p[f+(152*u|0)+64>>2]=S,p[f+(152*u|0)+68>>2]=g,p[f+(152*u|0)+72>>2]=v,p[f+(152*u|0)+76>>2]=0,j=F,D=P,I=W,B=V*W-T*P,W=T*F-W*M,F=P*M-V*F):(_[f+(152*u|0)+64>>2]=0,_[f+(152*u|0)+64+4>>2]=0,_[f+(152*u|0)+64+8>>2]=0,_[f+(152*u|0)+64+12>>2]=0,_[f+(152*u|0)>>2]=0,_[f+(152*u|0)+4>>2]=0,_[f+(152*u|0)+8>>2]=0,_[f+(152*u|0)+12>>2]=0,_[f+(152*u|0)+16>>2]=0,_[f+(152*u|0)+20>>2]=0,_[f+(152*u|0)+24>>2]=0,_[f+(152*u|0)+28>>2]=0,g=0,v=0,S=0,j=0,D=0,I=0,B=0,W=0,F=0),0|C?(V=-+p[e>>2],L=-+p[e+4>>2],M=-+p[e+8>>2],p[f+(152*u|0)+48>>2]=V,p[f+(152*u|0)+52>>2]=L,p[f+(152*u|0)+56>>2]=M,p[f+(152*u|0)+60>>2]=0,N=+p[l+4>>2],E=+p[l+8>>2],Q=+p[l>>2],p[f+(152*u|0)+32>>2]=N*M-E*L,p[f+(152*u|0)+36>>2]=E*V-Q*M,p[f+(152*u|0)+40>>2]=Q*L-N*V,p[f+(152*u|0)+44>>2]=0,w=((N*M-E*L)*+p[C+264>>2]+(E*V-Q*M)*+p[C+268>>2]+(Q*L-N*V)*+p[C+272>>2])*+p[C+544>>2],k=((N*M-E*L)*+p[C+280>>2]+(E*V-Q*M)*+p[C+284>>2]+(Q*L-N*V)*+p[C+288>>2])*+p[C+548>>2],R=((N*M-E*L)*+p[C+296>>2]+(E*V-Q*M)*+p[C+300>>2]+(Q*L-N*V)*+p[C+304>>2])*+p[C+552>>2],p[f+(152*u|0)+80>>2]=w,p[f+(152*u|0)+84>>2]=k,p[f+(152*u|0)+88>>2]=R,p[f+(152*u|0)+92>>2]=0,x=V,O=L,T=M,P=N*M-E*L,M=E*V-Q*M,V=Q*L-N*V):(_[f+(152*u|0)+80>>2]=0,_[f+(152*u|0)+80+4>>2]=0,_[f+(152*u|0)+80+8>>2]=0,_[f+(152*u|0)+80+12>>2]=0,_[f+(152*u|0)+32>>2]=0,_[f+(152*u|0)+32+4>>2]=0,_[f+(152*u|0)+32+8>>2]=0,_[f+(152*u|0)+32+12>>2]=0,_[f+(152*u|0)+32+16>>2]=0,_[f+(152*u|0)+32+20>>2]=0,_[f+(152*u|0)+32+24>>2]=0,_[f+(152*u|0)+32+28>>2]=0,w=0,k=0,R=0,x=0,O=0,T=0,P=0,M=0,V=0),0|m?(L=+p[c+8>>2],Q=+p[c+4>>2],E=+p[c>>2],v=+p[m+344>>2]+((g*L-v*Q)*+p[e>>2]+(v*E-L*S)*+p[e+4>>2]+(Q*S-g*E)*+p[e+8>>2])):v=0,0|C?(Q=-w,g=-k,R=-R,N=+p[l+8>>2],L=+p[l+4>>2],E=+p[l>>2],g=+p[C+344>>2]+((N*g-L*R)*+p[e>>2]+(E*R-N*Q)*+p[e+4>>2]+(L*Q-E*g)*+p[e+8>>2])):g=0,k=d/(v+g),p[f+(152*u|0)+108>>2]=k,0|m?(v=+p[y+(244*i|0)+192>>2],S=+p[y+(244*i|0)+196>>2],w=+p[y+(244*i|0)+200>>2],g=(+p[y+(244*i|0)+176>>2]+ +p[y+(244*i|0)+208>>2])*j+(+p[y+(244*i|0)+180>>2]+ +p[y+(244*i|0)+212>>2])*D+(+p[y+(244*i|0)+184>>2]+ +p[y+(244*i|0)+216>>2])*I):(v=0,S=0,w=0,g=0*j+0*D+0*I),g+=v*B+S*W+w*F,0|C?(N=+p[y+(244*o|0)+192>>2],L=+p[y+(244*o|0)+196>>2],E=+p[y+(244*o|0)+200>>2],E=b-(E=g+(E=(Q=(+p[y+(244*o|0)+176>>2]+ +p[y+(244*o|0)+208>>2])*x+(+p[y+(244*o|0)+180>>2]+ +p[y+(244*o|0)+212>>2])*O+(+p[y+(244*o|0)+184>>2]+ +p[y+(244*o|0)+216>>2])*T)+(E=(L=(N*=P)+(L*=M))+(E*=V)))),E*=k,p[(o=f+(152*u|0)+112|0)>>2]=E,p[(o=f+(152*u|0)+116|0)>>2]=A,E=-G,p[(o=f+(152*u|0)+120|0)>>2]=E,void(_[(o=f+(152*u|0)+124|0)>>2]=h)):(N=0,L=0,E=0,E=b-(E=g+(E=(Q=0*x+0*O+0*T)+(E=(L=(N*=P)+(L*=M))+(E*=V)))),E*=k,p[(o=f+(152*u|0)+112|0)>>2]=E,p[(o=f+(152*u|0)+116|0)>>2]=A,E=-G,p[(o=f+(152*u|0)+120|0)>>2]=E,void(_[(o=f+(152*u|0)+124|0)>>2]=h))}function Ti(t,e,i,o,r,s){e|=0,i|=0,o|=0,r|=0,s|=0;var c,a,l,d,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B,W,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0;W=Q,Q=Q+32|0,ot=0|_[4+(t|=0)>>2],n[ot+312|0]=0,_[ot>>2]=0,n[ot+356|0]=1,_[ot+292>>2]=1566444395,_[ot+296>>2]=1566444395,_[ot+300>>2]=1566444395,p[ot+304>>2]=0,_[ot+336>>2]=0,_[ot+336+4>>2]=0,_[ot+336+8>>2]=0,_[ot+336+12>>2]=0,n[ot+336+16|0]=0,n[ot+332|0]=-16&n[ot+332|0],M=+p[e+48>>2],G=+p[e+52>>2],E=+p[e+56>>2],P=+p[o+48>>2],V=+p[o+52>>2],L=+p[o+56>>2],a=+p[e>>2],S=+p[e+4>>2],k=+p[e+8>>2],j=+p[e+16>>2],d=+p[e+20>>2],f=+p[e+24>>2],m=+p[e+32>>2],y=+p[e+36>>2],C=+p[e+40>>2],c=+p[o>>2],v=+p[o+4>>2],w=+p[o+8>>2],R=+p[o+16>>2],l=+p[o+20>>2],A=+p[o+24>>2],u=+p[o+32>>2],h=+p[o+36>>2],g=+p[o+40>>2],D=+p[i+48>>2]-M-(+p[r+48>>2]-P),I=+p[i+52>>2]-G-(+p[r+52>>2]-V),B=+p[i+56>>2]-E-(+p[r+56>>2]-L),ot=0|_[t+8>>2],J=0|_[64+(0|_[ot>>2])>>2],p[W>>2]=a*-D+j*-I+m*-B,p[W+4>>2]=S*-D+d*-I+y*-B,p[W+8>>2]=k*-D+f*-I+C*-B,p[W+12>>2]=0,_d[127&J](W+16|0,ot,W),it=+p[W+16>>2],nt=+p[W+16+4>>2],et=+p[W+16+8>>2],O=it*+p[e>>2]+nt*+p[e+4>>2]+et*+p[e+8>>2]+ +p[e+48>>2],Z=it*+p[e+16>>2]+nt*+p[e+20>>2]+et*+p[e+24>>2]+ +p[e+52>>2],et=it*+p[e+32>>2]+nt*+p[e+36>>2]+et*+p[e+40>>2]+ +p[e+56>>2],ot=0|_[t+12>>2],J=0|_[64+(0|_[ot>>2])>>2],nt=D*+p[o+4>>2]+I*+p[o+20>>2]+B*+p[o+36>>2],it=D*+p[o+8>>2]+I*+p[o+24>>2]+B*+p[o+40>>2],p[W>>2]=D*+p[o>>2]+I*+p[o+16>>2]+B*+p[o+32>>2],p[W+4>>2]=nt,p[W+8>>2]=it,p[W+12>>2]=0,_d[127&J](W+16|0,ot,W),it=+p[W+16>>2],nt=+p[W+16+4>>2],T=+p[W+16+8>>2],O-=it*+p[o>>2]+nt*+p[o+4>>2]+T*+p[o+8>>2]+ +p[o+48>>2],Z-=it*+p[o+16>>2]+nt*+p[o+20>>2]+T*+p[o+24>>2]+ +p[o+52>>2],T=et-(it*+p[o+32>>2]+nt*+p[o+36>>2]+T*+p[o+40>>2]+ +p[o+56>>2]);t:do{if(O*O+Z*Z+T*T>9999999747378752e-20){for(x=0,ot=32,nt=O,F=0,it=T,N=0,X=P,P=0,T=0,O=0;;){if(!ot)break t;if(ot=ot+-1|0,J=0|_[t+8>>2],U=0|_[64+(0|_[J>>2])>>2],q=-nt,rt=-Z,Y=-it,p[W>>2]=a*q+j*rt+m*Y,p[W+4>>2]=S*q+d*rt+y*Y,p[W+8>>2]=k*q+f*rt+C*Y,p[W+12>>2]=0,_d[127&U](W+16|0,J,W),z=M+(a*(Y=+p[W+16>>2])+S*(rt=+p[W+16+4>>2])+k*(q=+p[W+16+8>>2])),K=G+(j*Y+d*rt+f*q),q=E+(m*Y+y*rt+C*q),J=0|_[t+12>>2],U=0|_[64+(0|_[J>>2])>>2],p[W>>2]=c*nt+R*Z+u*it,p[W+4>>2]=v*nt+l*Z+h*it,p[W+8>>2]=w*nt+A*Z+g*it,p[W+12>>2]=0,_d[127&U](W+16|0,J,W),Y=(z-($=X+(c*(rt=+p[W+16>>2])+v*(Y=+p[W+16+4>>2])+w*(et=+p[W+16+8>>2]))))*nt+(K-(tt=V+(R*rt+l*Y+A*et)))*Z+(q-(et=L+(u*rt+h*Y+g*et)))*it,x>1){F=0,_t=24;break}if(Y>0){if((O=D*nt+I*Z+B*it)>=-14210854715202004e-30){F=0,_t=24;break}x=E=x-Y/O,F=N,X=(1-E)*+p[o+48>>2]+E*+p[r+48>>2],M=(1-E)*+p[e+48>>2]+E*+p[i+48>>2],V=(1-E)*+p[o+52>>2]+E*+p[r+52>>2],G=(1-E)*+p[e+52>>2]+E*+p[i+52>>2],L=(1-E)*+p[o+56>>2]+E*+p[r+56>>2],E=(1-E)*+p[e+56>>2]+E*+p[i+56>>2],O=nt,T=Z,P=it}if(N=0|_[t+4>>2],(0|(J=0|_[N>>2]))>0){Z=+p[N+308>>2],U=0,H=0;do{H|=(it=z-$-+p[N+4+(U<<4)>>2])*it+(nt=K-tt-+p[N+4+(U<<4)+4>>2])*nt+(rt=q-et-+p[N+4+(U<<4)+8>>2])*rt<=Z,U=U+1|0}while((0|U)!=(0|J))}else H=0;if(0==+p[N+304>>2]&&q-et==+p[N+300>>2]&&K-tt==+p[N+296>>2]?z-$==+p[N+292>>2]|H||(_t=16):H||(_t=16),16==(0|_t)&&(_t=0,p[N+292>>2]=z-$,p[N+296>>2]=K-tt,p[N+300>>2]=q-et,p[N+304>>2]=0,n[N+356|0]=1,p[N+4+(J<<4)>>2]=z-$,p[N+4+(J<<4)+4>>2]=K-tt,p[N+4+(J<<4)+8>>2]=q-et,p[N+4+(J<<4)+12>>2]=0,J=0|_[N>>2],p[N+84+(J<<4)>>2]=z,p[N+84+(J<<4)+4>>2]=K,p[N+84+(J<<4)+8>>2]=q,p[N+84+(J<<4)+12>>2]=0,J=0|_[N>>2],p[N+164+(J<<4)>>2]=$,p[N+164+(J<<4)+4>>2]=tt,p[N+164+(J<<4)+8>>2]=et,p[N+164+(J<<4)+12>>2]=0,_[N>>2]=1+(0|_[N>>2]),N=0|_[t+4>>2]),J=0|fi(N),nt=+p[N+276>>2],Z=+p[N+280>>2],it=+p[N+284>>2],!J)break t;if(!(nt*nt+Z*Z+it*it>9999999747378752e-20))break t;N=0|_[N+288>>2]}if(24==(0|_t))return Q=W,0|F}else x=0,P=0,T=0,O=0,F=0}while(0);return p[s+164>>2]=x,(x=O*O+T*T+P*P)>=14210854715202004e-30?(x=O*(rt=1/+b(+x)),O=T*rt,T=P*rt,p[s+132>>2]=x,p[s+136>>2]=O,p[s+140>>2]=T,_[s+144>>2]=F):(_[s+132>>2]=0,_[s+132+4>>2]=0,_[s+132+8>>2]=0,_[s+132+12>>2]=0,x=0,O=0,T=0),D*x+I*O+B*T>=-+p[s+172>>2]?(Q=W,0|(s=0)):(fi(t=0|_[t+4>>2]),Do(s+148|0,t+260|0,16),Q=W,0|(s=1))}function Pi(t,e,i){e|=0,i|=0;var o,r,s,c,a=0,l=0,d=0,A=0,f=0,u=0,m=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0;I=+p[48+(t|=0)>>2],d=+p[e>>2],B=+p[t+64>>2],A=+p[e+4>>2],T=+p[t+80>>2],u=+p[e+8>>2],C=+p[t+52>>2],g=+p[t+68>>2],m=+p[t+84>>2],k=+p[t+56>>2],O=+p[t+72>>2],R=+p[t+88>>2],w=+p[e+16>>2],S=+p[e+20>>2],v=+p[e+24>>2],x=+p[e+32>>2],W=+p[e+36>>2],F=+p[e+40>>2],f=+p[t+96>>2],l=+p[t+100>>2],D=+p[t+104>>2],j=+p[e+48>>2]+(d*f+A*l+u*D),a=w*f+S*l+v*D+ +p[e+52>>2],D=x*f+W*l+F*D+ +p[e+56>>2],p[t+1064>>2]=I*d+B*A+T*u,p[t+1068>>2]=d*C+A*g+u*m,p[t+1072>>2]=d*k+A*O+u*R,p[t+1076>>2]=0,p[t+1080>>2]=I*w+B*S+T*v,p[t+1084>>2]=C*w+g*S+m*v,p[t+1088>>2]=k*w+O*S+R*v,p[t+1092>>2]=0,p[t+1096>>2]=I*x+B*W+T*F,p[t+1100>>2]=C*x+g*W+m*F,p[t+1104>>2]=k*x+O*W+R*F,p[t+1108>>2]=0,p[t+1112>>2]=j,p[t+1116>>2]=a,p[t+1120>>2]=D,p[t+1124>>2]=0,D=+p[t+112>>2],a=+p[i>>2],j=+p[t+128>>2],F=+p[i+4>>2],R=+p[t+144>>2],W=+p[i+8>>2],O=+p[t+116>>2],x=+p[t+132>>2],k=+p[t+148>>2],m=+p[t+120>>2],g=+p[t+136>>2],C=+p[t+152>>2],T=+p[i+16>>2],B=+p[i+20>>2],I=+p[i+24>>2],v=+p[i+32>>2],S=+p[i+36>>2],w=+p[i+40>>2],u=+p[t+160>>2],A=+p[t+164>>2],d=+p[t+168>>2],l=+p[i+48>>2]+(a*u+F*A+W*d),f=T*u+B*A+I*d+ +p[i+52>>2],d=v*u+S*A+w*d+ +p[i+56>>2],p[t+1128>>2]=D*a+j*F+R*W,p[t+1132>>2]=a*O+F*x+W*k,p[t+1136>>2]=a*m+F*g+W*C,p[t+1140>>2]=0,p[t+1144>>2]=D*T+j*B+R*I,p[t+1148>>2]=O*T+x*B+k*I,p[t+1152>>2]=m*T+g*B+C*I,p[t+1156>>2]=0,p[t+1160>>2]=D*v+j*S+R*w,p[t+1164>>2]=O*v+x*S+k*w,p[t+1168>>2]=m*v+g*S+C*w,p[t+1172>>2]=0,p[t+1176>>2]=l,p[t+1180>>2]=f,p[t+1184>>2]=d,p[t+1188>>2]=0,l-=+p[t+1112>>2],f-=+p[t+1116>>2],d-=+p[t+1120>>2],k=+p[t+1084>>2],x=+p[t+1104>>2],O=+p[t+1088>>2],R=+p[t+1100>>2],j=+p[t+1096>>2],D=+p[t+1080>>2],I=+p[t+1064>>2],a=d*((O*(B=+p[t+1068>>2])-k*(T=+p[t+1072>>2]))*(W=1/((k*x-O*R)*I+B*(O*j-x*D)+(R*D-k*j)*T)))+(l*((k*x-O*R)*W)+f*((R*T-x*B)*W)),A=d*((D*T-O*I)*W)+(l*((O*j-x*D)*W)+f*((x*I-j*T)*W)),f=d*((k*I-D*B)*W)+(l*(F=(R*D-k*j)*W)+f*((j*B-R*I)*W)),p[t+1256>>2]=a,p[t+1260>>2]=A,p[t+1264>>2]=f,p[t+1268>>2]=0,p[t+840>>2]=a,l=+p[t+680>>2],d=+p[t+696>>2];do{if(!(l>d)){if(l>a){_[t+856>>2]=2,a-=l;break}if(d>2]=1,a-=d;break}_[t+856>>2]=0,a=0;break}_[t+856>>2]=0,a=0}while(0);p[t+824>>2]=a,p[t+844>>2]=A,a=+p[t+684>>2],l=+p[t+700>>2];do{if(!(a>l)){if(a>A){_[t+860>>2]=2,a=A-a;break}if(l>2]=1,a=A-l;break}_[t+860>>2]=0,a=0;break}_[t+860>>2]=0,a=0}while(0);p[t+828>>2]=a,p[t+848>>2]=f,a=+p[t+688>>2],l=+p[t+704>>2];do{if(!(a>l)){if(a>f){_[t+864>>2]=2,a=f-a;break}if(l>2]=1,a=f-l;break}_[t+864>>2]=0,a=0;break}_[t+864>>2]=0,a=0}while(0);p[t+832>>2]=a,s=+p[t+1128>>2],c=+p[t+1144>>2],u=+p[t+1160>>2],f=(k*x-O*R)*W*(l=+p[t+1132>>2])+(R*T-x*B)*W*(d=+p[t+1148>>2])+(O*B-k*T)*W*(A=+p[t+1164>>2]),o=l*((O*j-x*D)*W)+(x*I-j*T)*W*d+(D*T-O*I)*W*A,r=u*((k*I-D*B)*W)+(s*F+c*((j*B-R*I)*W)),a=F*+p[t+1136>>2]+(j*B-R*I)*W*+p[t+1152>>2]+(k*I-D*B)*W*(m*v+g*S+C*w);do{if(r<1){if(r>-1){a=+y(+-(l*F+(j*B-R*I)*W*d+(k*I-D*B)*W*A),+a),p[t+1192>>2]=a,a=+h(+((a=r<-1?-1:r)>1?1:a)),p[t+1196>>2]=a,a=+y(+-(u*((D*T-O*I)*W)+(s*((O*j-x*D)*W)+c*((x*I-j*T)*W))),+(u*((O*B-k*T)*W)+(s*((k*x-O*R)*W)+c*((R*T-x*B)*W))));break}a=-+y(+f,+o),p[t+1192>>2]=a,p[t+1196>>2]=-1.5707963705062866,a=0;break}a=+y(+f,+o),p[t+1192>>2]=a,p[t+1196>>2]=1.5707963705062866,a=0}while(0);p[t+1200>>2]=a,p[t+1236>>2]=0,R=x*(s*x-u*T)-O*(c*T-s*O),j=T*(c*T-s*O)-x*(u*O-c*x),D=O*(u*O-c*x)-T*(s*x-u*T),p[t+1220>>2]=0,B=c*(c*T-s*O)-u*(s*x-u*T),W=u*(u*O-c*x)-s*(c*T-s*O),F=s*(s*x-u*T)-c*(u*O-c*x),p[t+1252>>2]=0,I=1/+b(+(R*R+j*j+D*D)),p[t+1208>>2]=R*I,p[t+1212>>2]=j*I,p[t+1216>>2]=D*I,I=1/+b(+((c*T-s*O)*(c*T-s*O)+((s*x-u*T)*(s*x-u*T)+(u*O-c*x)*(u*O-c*x)))),p[t+1224>>2]=(u*O-c*x)*I,p[t+1228>>2]=(s*x-u*T)*I,p[t+1232>>2]=(c*T-s*O)*I,T=1/+b(+(B*B+W*W+F*F)),p[t+1240>>2]=B*T,p[t+1244>>2]=W*T,p[t+1248>>2]=F*T,0|n[t+1301|0]&&(O=+p[344+(0|_[t+28>>2])>>2],T=+p[344+(0|_[t+32>>2])>>2],n[t+1280|0]=1&(O<1.1920928955078125e-7|T<1.1920928955078125e-7),T=O+T>0?T/(O+T):.5,p[t+1272>>2]=T,p[t+1276>>2]=1-T)}function Mi(t,e,i,n,o,r){t|=0,e|=0,i|=0,n|=0,o|=0,r=+r;var s,c,a,l,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0;if(s=Q,Q=Q+272|0,_[s+128>>2]=_[i>>2],_[s+128+4>>2]=_[i+4>>2],_[s+128+8>>2]=_[i+8>>2],_[s+128+12>>2]=_[i+12>>2],_[s+128+16>>2]=_[i+16>>2],_[s+128+16+4>>2]=_[i+16+4>>2],_[s+128+16+8>>2]=_[i+16+8>>2],_[s+128+16+12>>2]=_[i+16+12>>2],_[s+128+32>>2]=_[i+32>>2],_[s+128+32+4>>2]=_[i+32+4>>2],_[s+128+32+8>>2]=_[i+32+8>>2],_[s+128+32+12>>2]=_[i+32+12>>2],_[s+128+48>>2]=_[i+48>>2],_[s+128+48+4>>2]=_[i+48+4>>2],_[s+128+48+8>>2]=_[i+48+8>>2],_[s+128+48+12>>2]=_[i+48+12>>2],_[s+64>>2]=_[n>>2],_[s+64+4>>2]=_[n+4>>2],_[s+64+8>>2]=_[n+8>>2],_[s+64+12>>2]=_[n+12>>2],_[s+64+16>>2]=_[n+16>>2],_[s+64+16+4>>2]=_[n+16+4>>2],_[s+64+16+8>>2]=_[n+16+8>>2],_[s+64+16+12>>2]=_[n+16+12>>2],_[s+64+32>>2]=_[n+32>>2],_[s+64+32+4>>2]=_[n+32+4>>2],_[s+64+32+8>>2]=_[n+32+8>>2],_[s+64+32+12>>2]=_[n+32+12>>2],_[s+64+48>>2]=_[n+48>>2],_[s+64+48+4>>2]=_[n+48+4>>2],_[s+64+48+8>>2]=_[n+48+8>>2],_[s+64+48+12>>2]=_[n+48+12>>2],d=+p[s+64+52>>2]-+p[s+128+52>>2],W=+p[s+64+56>>2]-+p[s+128+56>>2],p[s+16>>2]=+p[s+64+48>>2]-+p[s+128+48>>2],p[s+16+4>>2]=d,p[s+16+8>>2]=W,p[s+16+12>>2]=0,$(s+128|0,s+64|0,s+208|0,s+192|0),d=(W=+p[s+192>>2])*+p[s+208+4>>2],B=W*+p[s+208+8>>2],p[s>>2]=+p[s+208>>2]*W,p[s+4>>2]=d,p[s+8>>2]=B,p[s+12>>2]=0,_[s+208+48>>2]=0,_[s+208+48+4>>2]=0,_[s+208+48+8>>2]=0,_[s+208+48+12>>2]=0,Qt(s+128|0,s+192|0),c=(B=+p[s+192>>2])*(2/(B*B+(d=+p[s+192+4>>2])*d+(W=+p[s+192+8>>2])*W+(a=+p[s+192+12>>2])*a)),b=d*(2/(B*B+d*d+W*W+a*a)),l=W*(2/(B*B+d*d+W*W+a*a)),p[s+208>>2]=1-(d*b+W*l),p[s+208+4>>2]=B*b-a*l,p[s+208+8>>2]=B*l+a*b,p[s+208+12>>2]=0,p[s+208+16>>2]=B*b+a*l,p[s+208+20>>2]=1-(B*c+W*l),p[s+208+24>>2]=d*l-a*c,p[s+208+28>>2]=0,p[s+208+32>>2]=B*l-a*b,p[s+208+36>>2]=d*l+a*c,p[s+208+40>>2]=1-(B*c+d*b),p[s+208+44>>2]=0,Nt(e,s+208|0,s+16|0,s,s+48|0,s+32|0),(0|_[t+268>>2])<=0)Q=s;else{A=0;do{f=0|_[(0|_[t+276>>2])+(A<<2)>>2],0|Ll[31&_[8+(0|_[o>>2])>>2]](o,0|_[f+188>>2])&&(D=0|_[f+192>>2],pd[127&_[8+(0|_[D>>2])>>2]](D,f+4|0,s+192|0,s+16|0),u=+p[s+192>>2]+ +p[s+48>>2],m=+p[s+192+4>>2]+ +p[s+48+4>>2],h=+p[s+192+8>>2]+ +p[s+48+8>>2],p[s+192>>2]=u,p[s+192+4>>2]=m,p[s+192+8>>2]=h,p[s+192+12>>2]=0,y=+p[s+16>>2]+ +p[s+32>>2],g=+p[s+16+4>>2]+ +p[s+32+4>>2],C=+p[s+16+8>>2]+ +p[s+32+8>>2],p[s+16>>2]=y,p[s+16+4>>2]=g,p[s+16+8>>2]=C,p[s+16+12>>2]=0,v=+p[i+48>>2]-.5*(y+u),S=+p[i+52>>2]-.5*(g+m),w=+p[i+56>>2]-.5*(C+h),!((I=((k=+p[n+48>>2]-.5*(y+u))>.5*(y-u)?8:0)|k<-.5*(y-u)|((R=+p[n+52>>2]-.5*(g+m))<-.5*(g-m)?2:0)|(R>.5*(g-m)?16:0)|((j=+p[n+56>>2]-.5*(C+h))<-.5*(C-h)?4:0)|(j>.5*(C-h)?32:0))&(D=(v>.5*(y-u)?8:0)|v<-.5*(y-u)|(S<-.5*(g-m)?2:0)|(S>.5*(g-m)?16:0)|(w<-.5*(C-h)?4:0)|(w>.5*(C-h)?32:0))))&&(v<-.5*(y-u)?(-v-.5*(y-u))/(k-v)>=0?(d=(-v-.5*(y-u))/(k-v),b=1):(d=0,b=1):k<-.5*(y-u)&&(-v-.5*(y-u))/(k-v)<1?(d=0,b=(-v-.5*(y-u))/(k-v)):(d=0,b=1),S<-.5*(g-m)?d<=(-S-.5*(g-m))/(R-S)&&(d=(-S-.5*(g-m))/(R-S)):R<-.5*(g-m)&&(-S-.5*(g-m))/(R-S).5*(y-u)?d<=(.5*(y-u)-v)/(k-v)&&(d=(.5*(y-u)-v)/(k-v)):k>.5*(y-u)&&(.5*(y-u)-v)/(k-v).5*(g-m)?d<=(.5*(g-m)-S)/(R-S)&&(d=(.5*(g-m)-S)/(R-S)):R>.5*(g-m)&&(.5*(g-m)-S)/(R-S)>2],_[s+208>>2]=0,_[s+208+4>>2]=F,_[s+208+8>>2]=f,_[s+208+12>>2]=f+4,_[s+208+16>>2]=-1,_[s+208+20>>2]=-1,mi(e,s+128|0,s+64|0,s+208|0,o,r))),A=A+1|0}while((0|A)<(0|_[t+268>>2]));Q=s}}function Vi(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;if(!((0|(i=0|_[8+(t|=0)>>2]))<=0)){o=0;do{n=0|_[(0|_[t+16>>2])+(o<<2)>>2],1==(0|_[n+236>>2])&&(ed[127&_[24+(0|_[n>>2])>>2]](n,e),i=0|_[t+8>>2]),o=o+1|0}while((0|o)<(0|i));if(!((0|(s=i))<=0)){for(p=0,A=0,h=0,m=0,r=0,o=0,w=0,S=0,v=0,n=0,u=0,f=0,i=0,l=0,b=0;;){y=9*(~((k=0|_[192+(0|_[(0|_[t+16>>2])+(p<<2)>>2])>>2])<<15)+k>>10^~(k<<15)+k)|0,c=(y=(y^=y>>6)+~(y<<11)>>16^y+~(y<<11))&f+-1;t:do{if(c>>>0>>0&&(R=0|_[o+(c<<2)>>2],-1!=(0|R))){for(c=R;(0|_[r+(c<<3)>>2])!=(0|k);)if(-1==(0|(c=0|_[n+(c<<2)>>2]))){W=14;break t}i+(c<<2)|0?(c=w,d=S,a=v):W=14}else W=14}while(0);if(14==(0|W)){W=0,d=y&f+-1;t:do{if(d>>>0>>0&&(j=0|_[o+(d<<2)>>2],-1!=(0|j))){for(s=j;(0|_[r+(s<<3)>>2])!=(0|k);)if(-1==(0|(s=0|_[n+(s<<2)>>2]))){W=20;break t}_[i+(s<<2)>>2]=k,c=w,d=S,a=v}else W=20}while(0);if(20==(0|W)){W=0;do{if((0|u)==(0|f))if((0|f)<(0|(c=0|f?f<<1:1))){if(0|c&&(_[6630]=1+(0|_[6630]),0|(B=0|di(16+(c<<2|3)|0)))?(_[(B+4+15&-16)-4>>2]=B,a=B+4+15&-16):a=0,(0|f)<=0){if(!i){C=c,i=a,s=f;break}}else{s=0;do{_[a+(s<<2)>>2]=_[i+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|f))}_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),C=c,i=a,s=f}else C=f,s=f;else C=f,s=u}while(0);_[i+(s<<2)>>2]=k,g=s+1|0;do{if((0|h)==(0|m))if((0|h)<(0|(c=0|h?h<<1:1))){if(0|c&&(_[6630]=1+(0|_[6630]),0|(D=0|di(16+(c<<3|3)|0)))?(_[(D+4+15&-16)-4>>2]=D,a=D+4+15&-16):a=0,(0|h)<=0){if(!r){m=c,r=a;break}}else{s=0;do{F=0|_[4+(x=r+(s<<3)|0)>>2],_[(m=a+(s<<3)|0)>>2]=_[x>>2],_[m+4>>2]=F,s=s+1|0}while((0|s)!=(0|h))}_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),m=c,r=a}else m=h}while(0);if(_[(x=r+(h<<3)|0)>>2]=k,_[x+4>>2]=0,h=h+1|0,(0|f)<(0|C)){if((0|w)<(0|C)){do{if((0|A)<(0|C)){if(0|C&&(_[6630]=1+(0|_[6630]),0|(I=0|di(16+(C<<2|3)|0)))?(_[(I+4+15&-16)-4>>2]=I,c=I+4+15&-16):c=0,(0|w)<=0){if(!o){A=C,o=c,b=c;break}}else{s=0;do{_[c+(s<<2)>>2]=_[o+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|w))}_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),A=C,o=c,b=c}}while(0);if(wn(o+(w<<2)|0,0,(d=C<<2)-(w<<2)|0),(0|S)<(0|C)){do{if((0|v)<(0|C)){do{if(C){if(_[6630]=1+(0|_[6630]),!(s=0|di(16+(3|d)|0))){c=0;break}_[(s+4+15&-16)-4>>2]=s,c=s+4+15&-16}else c=0}while(0);if((0|S)<=0){if(!n){a=C,n=c,s=c;break}}else{s=0;do{_[c+(s<<2)>>2]=_[n+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|S))}_[6631]=1+(0|_[6631]),Ni(0|_[n+-4>>2]),a=C,n=c,s=c}else a=v,s=l}while(0);wn(n+(S<<2)|0,0,d-(S<<2)|0),l=s}else a=v;if((0|C)>0&&(wn(0|b,-1,0|d),wn(0|l,-1,0|d)),(0|w)>0){c=C+-1|0,s=0;do{x=9*((x=0|_[r+(s<<3)>>2])+~(x<<15)>>10^x+~(x<<15))|0,x=o+((((x^=x>>6)+~(x<<11)>>16^x+~(x<<11))&c)<<2)|0,_[n+(s<<2)>>2]=_[x>>2],_[x>>2]=s,s=s+1|0}while((0|s)!=(0|w));c=C,d=C,s=b}else c=C,d=C,s=b}else c=w,d=S,a=v,s=b;f=y&C+-1}else f=d,c=w,d=S,a=v,s=b;f=o+(f<<2)|0,_[n+(u<<2)>>2]=_[f>>2],_[f>>2]=u,u=g,f=C,b=s}ed[127&_[60+(0|_[k>>2])>>2]](k,e),s=0|_[t+8>>2]}if((0|(p=p+1|0))>=(0|s))break;w=c,S=d,v=a}0|r&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),0|i&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),0|n&&(_[6631]=1+(0|_[6631]),Ni(0|_[n+-4>>2])),o&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]))}}}function Gi(t){var e=0,i=0,o=0,r=0,s=0,p=0;_[(t|=0)>>2]=4028,0|(e=0|_[t+192>>2])&&Xl[511&_[4+(0|_[e>>2])>>2]](e);t:do{if((0|_[t+1112>>2])>0)do{if(s=0|_[_[t+1120>>2]>>2],0|(e=0|_[s+348>>2])&&(Tt(t+1048|0,e),0|(i=0|_[t+1052>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+1052>>2]=e,_[t+1060>>2]=(0|_[t+1060>>2])-1),0|(e=0|_[s+52>>2])&&(0|n[s+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[s+52>>2]=0),n[s+56|0]=1,_[s+52>>2]=0,_[s+44>>2]=0,_[s+48>>2]=0,0|(e=0|_[s+32>>2])&&(0|n[s+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[s+32>>2]=0),n[s+36|0]=1,_[s+32>>2]=0,_[s+24>>2]=0,_[s+28>>2]=0,0|(e=0|_[s+12>>2])&&(0|n[s+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[s+12>>2]=0),n[s+16|0]=1,_[s+12>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),(0|(e=0|_[t+1112>>2]))<=0)break t;r=0|_[t+1120>>2],i=0;do{if((0|_[(o=r+(i<<2)|0)>>2])==(0|s)){p=25;break}i=i+1|0}while((0|i)<(0|e));25==(0|p)&&(p=0,(0|i)<(0|e)&&(_[o>>2]=_[r+(e+-1<<2)>>2],_[(0|_[t+1120>>2])+(e+-1<<2)>>2]=s,_[t+1112>>2]=e+-1,e=e+-1|0))}while((0|e)>0)}while(0);if((0|(e=0|_[t+872>>2]))>0){o=0;do{(i=0|_[(0|_[t+880>>2])+(o<<2)>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[t+872>>2]),o=o+1|0}while((0|o)<(0|e))}if((0|(e=0|_[t+852>>2]))>0){o=0;do{(i=0|_[(0|_[t+860>>2])+(o<<2)>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[t+852>>2]),o=o+1|0}while((0|o)<(0|e))}if(0|(e=0|_[t+1244>>2])&&(0|n[t+1248|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+1244>>2]=0),n[t+1248|0]=1,_[t+1244>>2]=0,_[t+1236>>2]=0,_[t+1240>>2]=0,0|(e=0|_[t+1140>>2])&&(0|n[t+1144|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+1140>>2]=0),n[t+1144|0]=1,_[t+1140>>2]=0,_[t+1132>>2]=0,_[t+1136>>2]=0,0|(e=0|_[t+1120>>2])&&(0|n[t+1124|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+1120>>2]=0),n[t+1124|0]=1,_[t+1120>>2]=0,_[t+1112>>2]=0,_[t+1116>>2]=0,oe(t+1048|0),oe(t+988|0),oe(t+928|0),0|(e=0|_[t+880>>2])&&(0|n[t+884|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+880>>2]=0),n[t+884|0]=1,_[t+880>>2]=0,_[t+872>>2]=0,_[t+876>>2]=0,0|(e=0|_[t+860>>2])&&(0|n[t+864|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+860>>2]=0),n[t+864|0]=1,_[t+860>>2]=0,_[t+852>>2]=0,_[t+856>>2]=0,0|(e=0|_[t+840>>2])&&(0|n[t+844|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+840>>2]=0),n[t+844|0]=1,_[t+840>>2]=0,_[t+832>>2]=0,_[t+836>>2]=0,0|(e=0|_[t+820>>2])&&(0|n[t+824|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+820>>2]=0),n[t+824|0]=1,_[t+820>>2]=0,_[t+812>>2]=0,_[t+816>>2]=0,0|(e=0|_[t+800>>2])&&(0|n[t+804|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+800>>2]=0),n[t+804|0]=1,_[t+800>>2]=0,_[t+792>>2]=0,_[t+796>>2]=0,0|(e=0|_[t+780>>2])&&(0|n[t+784|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+780>>2]=0),n[t+784|0]=1,_[t+780>>2]=0,_[t+772>>2]=0,_[t+776>>2]=0,0|(e=0|_[t+760>>2])&&(0|n[t+764|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+760>>2]=0),n[t+764|0]=1,_[t+760>>2]=0,_[t+752>>2]=0,_[t+756>>2]=0,0|(e=0|_[t+740>>2])&&(0|n[t+744|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+740>>2]=0),n[t+744|0]=1,_[t+740>>2]=0,_[t+732>>2]=0,_[t+736>>2]=0,0|(e=0|_[t+720>>2])&&(0|n[t+724|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+720>>2]=0),n[t+724|0]=1,_[t+720>>2]=0,_[t+712>>2]=0,_[t+716>>2]=0,0|(e=0|_[t+700>>2])&&(0|n[t+704|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+700>>2]=0),n[t+704|0]=1,_[t+700>>2]=0,_[t+692>>2]=0,_[t+696>>2]=0,0|(e=0|_[t+512>>2])&&(0|n[t+516|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+512>>2]=0),n[t+516|0]=1,_[t+512>>2]=0,_[t+504>>2]=0,_[t+508>>2]=0,0|(e=0|_[t+492>>2])&&(0|n[t+496|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+492>>2]=0),n[t+496|0]=1,_[t+492>>2]=0,_[t+484>>2]=0,_[t+488>>2]=0,fr(t+288|0),!(e=0|_[t+276>>2]))return n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[(p=t+272|0)>>2]=0,void(_[t>>2]=5904);0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+276>>2]=0,n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[(p=t+272|0)>>2]=0,_[t>>2]=5904}function Ni(t){var e=0,i=0,n=0,o=0,r=0,s=0,p=0,c=0;if(t|=0){e=0|_[6652],c=t+-8+(-8&(i=0|_[t+-4>>2]))|0;do{if(1&i)p=t+-8|0,e=-8&i,s=t+-8|0;else{if(n=0|_[t+-8>>2],!(3&i))return;if(r=n+(-8&i)|0,(s=t+-8+(0-n)|0)>>>0>>0)return;if((0|_[6653])==(0|s)){if(3&~(e=0|_[c+4>>2])){p=s,e=r;break}return _[6650]=r,_[c+4>>2]=-2&e,_[s+4>>2]=1|r,void(_[s+r>>2]=r)}if(i=n>>>3,n>>>0<256){if(e=0|_[s+8>>2],(0|(t=0|_[s+12>>2]))==(0|e)){_[6648]=_[6648]&~(1<>2]=t,_[t+8>>2]=e,p=s,e=r;break}o=0|_[s+24>>2],e=0|_[s+12>>2];do{if((0|e)==(0|s)){if(e=0|_[s+16+4>>2])t=s+16+4|0;else{if(!(e=0|_[s+16>>2])){e=0;break}t=s+16|0}for(;;)if(i=0|_[(n=e+20|0)>>2])e=i,t=n;else{if(!(i=0|_[(n=e+16|0)>>2]))break;e=i,t=n}_[t>>2]=0}else p=0|_[s+8>>2],_[p+12>>2]=e,_[e+8>>2]=p}while(0);if(o){if(t=0|_[s+28>>2],(0|_[26896+(t<<2)>>2])==(0|s)){if(_[26896+(t<<2)>>2]=e,!e){_[6649]=_[6649]&~(1<>2])==(0|s)?o+16:o+20)>>2]=e,!e){p=s,e=r;break}_[e+24>>2]=o,0|(t=0|_[s+16>>2])&&(_[e+16>>2]=t,_[t+24>>2]=e),(t=0|_[s+16+4>>2])?(_[e+20>>2]=t,_[t+24>>2]=e,p=s,e=r):(p=s,e=r)}else p=s,e=r}}while(0);if(!(s>>>0>=c>>>0)&&1&(t=0|_[c+4>>2])){if(2&t)_[c+4>>2]=-2&t,_[p+4>>2]=1|e,_[s+e>>2]=e,o=e;else{if((0|_[6654])==(0|c)){if(c=(0|_[6651])+e|0,_[6651]=c,_[6654]=p,_[p+4>>2]=1|c,(0|p)!=(0|_[6653]))return;return _[6653]=0,void(_[6650]=0)}if((0|_[6653])==(0|c))return c=(0|_[6650])+e|0,_[6650]=c,_[6653]=s,_[p+4>>2]=1|c,void(_[s+c>>2]=c);o=(-8&t)+e|0,i=t>>>3;do{if(t>>>0<256){if(t=0|_[c+8>>2],(0|(e=0|_[c+12>>2]))==(0|t)){_[6648]=_[6648]&~(1<>2]=e,_[e+8>>2]=t;break}r=0|_[c+24>>2],e=0|_[c+12>>2];do{if((0|e)==(0|c)){if(e=0|_[c+16+4>>2])t=c+16+4|0;else{if(!(e=0|_[c+16>>2])){t=0;break}t=c+16|0}for(;;)if(i=0|_[(n=e+20|0)>>2])e=i,t=n;else{if(!(i=0|_[(n=e+16|0)>>2]))break;e=i,t=n}_[t>>2]=0,t=e}else t=0|_[c+8>>2],_[t+12>>2]=e,_[e+8>>2]=t,t=e}while(0);if(0|r){if(e=0|_[c+28>>2],(0|_[26896+(e<<2)>>2])==(0|c)){if(_[26896+(e<<2)>>2]=t,!t){_[6649]=_[6649]&~(1<>2])==(0|c)?r+16:r+20)>>2]=t,!t)break;_[t+24>>2]=r,0|(e=0|_[c+16>>2])&&(_[t+16>>2]=e,_[e+24>>2]=t),0|(e=0|_[c+16+4>>2])&&(_[t+20>>2]=e,_[e+24>>2]=t)}}while(0);if(_[p+4>>2]=1|o,_[s+o>>2]=o,(0|p)==(0|_[6653]))return void(_[6650]=o)}if(i=o>>>3,o>>>0<256)return(e=0|_[6648])&1<>2],t=26632+(i<<1<<2)+8|0):(_[6648]=e|1<>2]=p,_[e+12>>2]=p,_[p+8>>2]=e,void(_[p+12>>2]=26632+(i<<1<<2));e=26896+((n=(e=o>>>8)?o>>>0>16777215?31:1&(7+(n=14-((c=(520192+(e<<(s=(e+1048320|0)>>>16&8))|0)>>>16&4)|s|(n=(245760+(e<>>16&2))+(e<>>15)|0)|0?o>>>(n+7|0):o)|n<<1:0)<<2)|0,_[p+28>>2]=n,_[p+20>>2]=0,_[p+16>>2]=0,t=0|_[6649],i=1<>2];e:do{if((-8&_[e+4>>2])!=(0|o)){for(n=o<<(31==(0|n)?0:25-(n>>>1));t=0|_[(i=e+16+(n>>>31<<2)|0)>>2];){if((-8&_[t+4>>2])==(0|o)){e=t;break e}n<<=1,e=t}_[i>>2]=p,_[p+24>>2]=e,_[p+12>>2]=p,_[p+8>>2]=p;break t}}while(0);c=0|_[(s=e+8|0)>>2],_[c+12>>2]=p,_[s>>2]=p,_[p+8>>2]=c,_[p+12>>2]=e,_[p+24>>2]=0}else _[6649]=t|i,_[e>>2]=p,_[p+24>>2]=e,_[p+12>>2]=p,_[p+8>>2]=p}while(0);if(c=(0|_[6656])-1|0,_[6656]=c,!(0|c)){for(e=27048;e=0|_[e>>2];)e=e+8|0;_[6656]=-1}}}}function Li(t,e,i,n,o,r,s){t|=0,e|=0,n|=0,o|=0,r|=0,s|=0;var p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0;if(!(c=0|_[8+(i|=0)>>2]))return 0|(s=0);p=0,B=c;do{if((0|_[B+20>>2])>(0|_[t+100>>2])){D=0|_[B+12>>2],k=(S=0|_[D+88>>2])-(0|_[i+88>>2])|0,j=(R=0|_[D+92>>2])-(0|_[i+92>>2])|0,I=(D=0|_[D+96>>2])-(0|_[i+96>>2])|0,a=0|f_(0|_[r>>2],0|_[r+4>>2],0|k,((0|k)<0)<<31>>31),f=0|w(),f=0|xr(0|(c=0|f_(0|_[r+8>>2],0|_[r+8+4>>2],0|j,((0|j)<0)<<31>>31)),0|w(),0|a,0|f),c=0|xr(0|f,0|(a=0|w()),0|(c=0|f_(0|_[r+16>>2],0|_[r+16+4>>2],0|I,((0|I)<0)<<31>>31)),0|w()),a=0|w(),f=0|f_(0|_[o>>2],0|_[o+4>>2],0|k,((0|k)<0)<<31>>31),v=0|w(),v=0|xr(0|(A=0|f_(0|_[o+8>>2],0|_[o+8+4>>2],0|j,((0|j)<0)<<31>>31)),0|w(),0|f,0|v),A=0|xr(0|v,0|(f=0|w()),0|(A=0|f_(0|_[o+16>>2],0|_[o+16+4>>2],0|I,((0|I)<0)<<31>>31)),0|w()),f=0|w(),(0|a)>0|!(0|a)&c>>>0>0?(l=1,d=-1,v=c):(v=0|Ir(0,0,0|c,0|a),C=0|w(),l=(!!(0|c)|!!(0|a))<<31>>31,d=1&(!!(0|c)|!!(0|a)),v=!!(0|c)|!!(0|a)?v:0,a=!!(0|c)|!!(0|a)?C:0),(0|f)>0|!(0|f)&A>>>0>0?(b=f,u=8):(c=0|Ir(0,0,0|A,0|f),b=0|w(),!(0|(!!(0|A)|!!(0|f)?d:l))&!(0|(c=!!(0|A)|!!(0|f)?c:0))&!(0|(b=!!(0|A)|!!(0|f)?b:0))||(l=!!(0|A)|!!(0|f)?d:l,A=c,u=8));t:do{if(8==(0|u)){if(u=0,!p){_[s>>2]=v,_[s+4>>2]=a,_[s+8>>2]=A,_[s+8+4>>2]=b,_[s+16>>2]=l,p=B;break}(0|l)==(0|(c=0|_[s+16>>2]))?0|l&&(f=0|_[s+8>>2],h=0|_[s+8+4>>2],d=0|f_(0|f,0,0|v,0),c=0|w(),y=0|f_(0|h,0,0|v,0),m=0|w(),f=0|f_(0|f,0,0|a,0),u=0|w(),h=0|f_(0|h,0,0|a,0),x=0|w(),f=0|xr(0|y,0,0|f,0),y=0|w(),x=0|xr(0|m,0,0|h,0|x),u=0|xr(0|x,0|w(),0|u,0),y=0|xr(0|u,0|w(),0|y,0),u=0|w(),c=0|xr(0,0|f,0|d,0|c),f=0|xr(0|y,0|u,1&((d=0|w())>>>0>>0|(0|d)==(0|f)&c>>>0<0),0),u=0|w(),y=0|_[s>>2],x=0|_[s+4>>2],h=0|f_(0|y,0,0|A,0),m=0|w(),W=0|f_(0|x,0,0|A,0),O=0|w(),y=0|f_(0|y,0,0|b,0),C=0|w(),x=0|f_(0|x,0,0|b,0),F=0|w(),y=0|xr(0|W,0,0|y,0),W=0|w(),F=0|xr(0|O,0,0|x,0|F),C=0|xr(0|F,0|w(),0|C,0),W=0|xr(0|C,0|w(),0|W,0),C=0|w(),m=0|xr(0,0|y,0|h,0|m),y=0|xr(0|W,0|C,1&((h=0|w())>>>0>>0|(0|h)==(0|y)&m>>>0<0),0),C=0|w(),c=0|g(c=u>>>0>>0|(0|u)==(0|C)&f>>>0>>0?-1:u>>>0>C>>>0|(0|u)==(0|C)&f>>>0>y>>>0?1:d>>>0>>0|(0|d)==(0|h)&c>>>0>>0?-1:1&(d>>>0>h>>>0|(0|d)==(0|h)&c>>>0>m>>>0),l),u=17):(c=l-c|0,u=17);do{if(17==(0|u)){if(u=0,(0|c)>=0){if(c)break t;break}_[s>>2]=v,_[s+4>>2]=a,_[s+8>>2]=A,_[s+8+4>>2]=b,_[s+16>>2]=l,p=B;break t}}while(0);c=(0|_[p+4>>2])==(0|B),(0|_[p>>2])==(0|B)?c?(O=0|_[n+8>>2],W=0|g(O,j),C=0|_[n+4>>2],W=W-(0|g(C,I))|0,x=0|_[n>>2],O=(0|g(x,I))-(0|g(O,k))|0,x=(0|g(C,k))-(0|g(x,j))|0,C=0|_[p+12>>2],c=0|_[12+(0|_[B+8>>2])>>2],I=0|_[c+88>>2],k=(0|_[C+88>>2])-I|0,v=0|_[c+92>>2],j=(0|_[C+92>>2])-v|0,c=0|_[c+96>>2],C=(0|_[C+96>>2])-c|0,F=(0|g(D-c|0,j))-(0|g(C,R-v|0))|0,c=(0|g(C,S-I|0))-(0|g(D-c|0,k))|0,I=(0|g(R-v|0,k))-(0|g(j,S-I|0))|0,W=0|f_(0|F,((0|F)<0)<<31>>31,0|W,((0|W)<0)<<31>>31),F=0|w(),O=0|f_(0|c,((0|c)<0)<<31>>31,0|O,((0|O)<0)<<31>>31),c=0|w(),x=0|xr(0|W,0|F,0|(x=0|f_(0|I,((0|I)<0)<<31>>31,0|x,((0|x)<0)<<31>>31)),0|w()),c=0|xr(0|x,0|w(),0|O,0|c),c=(0|(O=0|w()))>0|!(0|O)&c>>>0>0?2:1):c=2:c&=1,p=2==(0|c)^e?p:B}}while(0);c=0|_[i+8>>2]}B=0|_[B>>2]}while((0|B)!=(0|c));return 0|p}function Qi(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0;_[4+(t|=0)>>2]=35,_[t+8>>2]=0,_[t+12>>2]=1065353216,_[t+16>>2]=1065353216,_[t+20>>2]=1065353216,p[t+24>>2]=0,p[t+44>>2]=.03999999910593033,_[t>>2]=9136,_[t+52>>2]=1,o=+p[e>>2],n=+p[e+4>>2],i=+p[e+8>>2],(i=.10000000149011612*+p[e+((o>2])<.03999999910593033&&(s=+ca(t),r=+ca(t),o=+ca(t),s+=+p[t+28>>2],r+=+p[t+32>>2],o+=+p[t+36>>2],p[t+44>>2]=i,i=+ca(t),n=+ca(t),o-=+ca(t),p[t+28>>2]=s-i,p[t+32>>2]=r-n,p[t+36>>2]=o,p[t+40>>2]=0),o=+ca(t),r=+ca(t),s=+ca(t),r=+p[e+4>>2]-r,s=+p[e+8>>2]-s,p[t+28>>2]=+p[e>>2]-o,p[t+32>>2]=r,p[t+36>>2]=s,p[t+40>>2]=0,_[t+4>>2]=13}function Ei(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l=0,d=0,A=0,f=0;s=0|_[720+(t|=0)>>2];t:do{if(r&&(A=0|_[t+732>>2],(0|A)>0)){for(l=0|_[t+740>>2],r=0;;){if((0|(d=0|_[l+(52*r|0)+8>>2]))==(s+(104*e|0)|0)&&(0|_[l+(52*r|0)+12>>2])==(s+(104*i|0)|0)){r=10;break}if((0|d)==(s+(104*i|0)|0)&&(0|_[l+(52*r|0)+12>>2])==(s+(104*e|0)|0)){r=10;break}if((0|(r=r+1|0))>=(0|A))break t}if(10==(0|r))return}}while(0);ne(t,o),o=(0|_[t+732>>2])-1|0,A=0|_[t+740>>2],_[A+(52*o|0)+8>>2]=s+(104*e|0),_[A+(52*o|0)+12>>2]=s+(104*i|0),a=+p[s+(104*e|0)+8>>2]-+p[s+(104*i|0)+8>>2],c=+p[s+(104*e|0)+12>>2]-+p[s+(104*i|0)+12>>2],f=+p[s+(104*e|0)+16>>2]-+p[s+(104*i|0)+16>>2],f=+b(+(a*a+c*c+f*f)),p[A+(52*o|0)+16>>2]=f,n[t+924|0]=1}function Hi(t){var e=0,i=0,n=0,o=0,r=0,s=0,p=0,c=0,a=0;if(_[(t|=0)>>2]=4700,(0|_[t+104>>2])<=0)return zi(t=t+60|0),void Ki(t);a=0;do{if(c=0|_[684+(0|_[t+4>>2])>>2],p=(0|_[t+112>>2])+(a<<3)+4|0,e=0|_[p>>2],(0|(i=0|_[c+60>>2]))>0){s=0;do{if(r=(0|_[c+68>>2])+(s<<2)|0,n=0|_[r>>2]){for(o=0;i=n,n=0|_[n+280>>2],(0|_[i+276>>2])==(0|e)&&(_[(0|o?o+280:r)>>2]=n,yl(i),i=o),n;)o=i;i=0|_[c+60>>2]}s=s+1|0}while((0|s)<(0|i));e=0|_[p>>2]}0|e&&Xl[511&_[4+(0|_[e>>2])>>2]](e),a=a+1|0}while((0|a)<(0|_[t+104>>2]));zi(t=t+60|0),Ki(t)}function Zi(t,e,i,n){t|=0,e|=0,n=+n;var o,_,r,s,c,a=0,l=0,d=0;o=Q,Q=Q+96|0,Vo(o+80|0,a=+p[(i|=0)>>2],l=+p[i+4>>2],d=+p[i+8>>2],+vs(a,l,d,+p[e>>2],+p[e+4>>2],+p[e+8>>2])),d=+p[o+80>>2],l=+p[o+80+4>>2],a=+p[o+80+8>>2],Fo(o+64|0,+p[e>>2],+p[e+4>>2],+p[e+8>>2],d,l,a),go(o+48|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2],+p[e>>2],+p[e+4>>2],+p[e+8>>2]),s=+p[o+48>>2],r=+p[o+48+4>>2],_=+p[o+48+8>>2],c=+bl(n),Vo(o+16|0,+p[o+64>>2],+p[o+64+4>>2],+p[o+64+8>>2],c),Bo(o+32|0,d,l,a,+p[o+16>>2],+p[o+16+4>>2],+p[o+16+8>>2]),Vo(o,s,r,_,+dl(n)),Bo(t,+p[o+32>>2],+p[o+32+4>>2],+p[o+32+8>>2],+p[o>>2],+p[o+4>>2],+p[o+8>>2]),Q=o}function Ui(t,e,i){e|=0,i|=0;var n,o,r,s,c,a,l,d,b,A=0;0|(n=0|_[4+(t|=0)>>2])&&Dn(n,e,i),(t=0|_[t>>2])&&(l=+p[e>>2],c=+p[t+128>>2],a=+p[e+4>>2],s=+p[e+8>>2],A=+p[i+4>>2],b=+p[i+8>>2],d=+p[i>>2],r=+p[t+180>>2]*(s*A-a*b)+ +p[t+184>>2]*(l*b-s*d)+(a*d-l*A)*+p[t+188>>2],o=(s*A-a*b)*+p[t+196>>2]+(l*b-s*d)*+p[t+200>>2]+(a*d-l*A)*+p[t+204>>2],A=(s*A-a*b)*+p[t+212>>2]+(l*b-s*d)*+p[t+216>>2]+(a*d-l*A)*+p[t+220>>2],p[t+276>>2]=l*c+ +p[t+276>>2],p[t+280>>2]=c*a+ +p[t+280>>2],p[t+284>>2]=c*s+ +p[t+284>>2],p[t+292>>2]=r+ +p[t+292>>2],p[t+296>>2]=o+ +p[t+296>>2],p[t+300>>2]=A+ +p[t+300>>2],_[t+312>>2]=1+(0|_[t+312>>2]))}function Yi(t,e,i){e|=0,i|=0;var n,o,_,r,s,c,a,l,d,b,A,f,u,m,h,g,C,v,S,w=0;return C=+p[552+(t|=0)>>2],g=+p[t+568>>2],h=+p[t+584>>2],m=+p[e>>2],u=+p[e+4>>2],f=+p[e+8>>2],b=+p[e+16>>2],d=+p[e+20>>2],l=+p[e+24>>2],c=+p[e+32>>2],r=+p[e+36>>2],o=+p[e+40>>2],s=+p[t+556>>2],_=+p[t+572>>2],n=+p[t+588>>2],S=+p[t+620>>2],v=+p[t+636>>2],w=+p[t+652>>2],A=S*+p[i>>2]+v*+p[i+4>>2]+w*+p[i+8>>2],a=S*+p[i+16>>2]+v*+p[i+20>>2]+w*+p[i+24>>2],w=S*+p[i+32>>2]+v*+p[i+36>>2]+w*+p[i+40>>2],+(w=+y(+((C*m+g*u+h*f)*A+(C*b+g*d+h*l)*a+(C*c+g*r+h*o)*w),+((m*s+u*_+f*n)*A+(b*s+d*_+l*n)*a+(c*s+r*_+o*n)*w)))*+p[t+732>>2]}function Ji(t,e){e|=0;var i=0,n=0,o=0,r=0;if((0|(i=0|_[8+(t|=0)>>2]))>0){o=0;do{n=0|_[(0|_[t+16>>2])+(o<<2)>>2],2&_[n+236>>2]&&(r=0|Gl[127&_[16+(0|_[n>>2])>>2]](n),r=0|El[63&_[16+(0|_[e>>2])>>2]](e,r,1),i=0|El[63&_[20+(0|_[n>>2])>>2]](n,0|_[r+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,r,i,1497645650,n),i=0|_[t+8>>2]),o=o+1|0}while((0|o)<(0|i))}if(!((0|_[t+212>>2])<=0)){i=0;do{r=0|_[(0|_[t+220>>2])+(i<<2)>>2],n=0|Gl[127&_[36+(0|_[r>>2])>>2]](r),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,n,1),o=0|El[63&_[40+(0|_[r>>2])>>2]](r,0|_[n+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,n,o,1397641027,r),i=i+1|0}while((0|i)<(0|_[t+212>>2]))}}function Xi(t,e){e|=0;var i,r,s,p=0;s=Q,Q=Q+64|0,p=0|_[(t|=0)>>2],r=t+(0|_[p+-8>>2])|0,p=0|_[p+-4>>2],_[s>>2]=e,_[s+4>>2]=t,_[s+8>>2]=3280,t=0|Lp(p,e),i=40+(e=s+12|0)|0;do{_[e>>2]=0,e=e+4|0}while((0|e)<(0|i));o[s+12+40>>1]=0,n[s+12+42|0]=0;t:do{if(t)_[s+48>>2]=1,Ad[7&_[20+(0|_[p>>2])>>2]](p,s,r,r,1,0),t=1==(0|_[s+24>>2])?r:0;else{switch(dd[31&_[24+(0|_[p>>2])>>2]](p,s,r,1,0),0|_[s+36>>2]){case 0:t=(1==(0|_[s+40>>2])?1==(0|_[s+28>>2]):0)&1==(0|_[s+32>>2])?0|_[s+20>>2]:0;break t;case 1:break;default:t=0;break t}if(1!=(0|_[s+24>>2])&&!((0|_[s+40>>2]?0:1==(0|_[s+28>>2]))&1==(0|_[s+32>>2]))){t=0;break}t=0|_[s+16>>2]}}while(0);return Q=s,0|t}function zi(t){var e=0;if(0|(e=0|_[12+(t|=0)>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,0|(e=0|_[t+52>>2])&&(0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+52>>2]=0),n[t+56|0]=1,_[t+52>>2]=0,_[t+44>>2]=0,_[t+48>>2]=0,!(e=0|_[t+72>>2]))return n[t+76|0]=1,_[t+72>>2]=0,_[t+64>>2]=0,void(_[(t=t+68|0)>>2]=0);0|n[t+76|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+72>>2]=0,n[t+76|0]=1,_[t+72>>2]=0,_[t+64>>2]=0,_[(t=t+68|0)>>2]=0}function Ki(t){var e=0;if(0|(e=0|_[72+(t|=0)>>2])&&(0|n[t+76|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+72>>2]=0),n[t+76|0]=1,_[t+72>>2]=0,_[t+64>>2]=0,_[t+68>>2]=0,0|(e=0|_[t+52>>2])&&(0|n[t+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+52>>2]=0),n[t+56|0]=1,_[t+52>>2]=0,_[t+44>>2]=0,_[t+48>>2]=0,0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,!(e=0|_[t+12>>2]))return n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,void(_[(t=t+8|0)>>2]=0);0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+12>>2]=0,n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[(t=t+8|0)>>2]=0}function qi(t,e){e|=0;var i=0,o=0,r=0,s=0;if((i=0|_[12+(t|=0)>>2])&&0|n[t+8|0]){if((0|(o=0|_[e+4>>2]))==(0|_[e+8>>2])&&(0|o)<(0|(s=0|o?o<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(i=0|di(16+(s<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,o=0|_[e+4>>2]):i=0,(0|o)>0){r=0;do{_[i+(r<<2)>>2]=_[(0|_[e+12>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|o))}(r=0|_[e+12>>2])&&(0|n[e+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),o=0|_[e+4>>2]),_[e+12>>2]=0),n[e+16|0]=1,_[e+12>>2]=i,_[e+8>>2]=s,i=0|_[t+12>>2]}_[(0|_[e+12>>2])+(o<<2)>>2]=i,_[e+4>>2]=o+1}}function $i(t){t|=0;var e,i=0,n=0,o=0;if(e=Q,Q=Q+16|0,n=0|_[2606],(0|_[n>>2])==(0|t))i=n;else{i=0|_[n+24>>2];t:do{if(i)for(;;){if((0|_[i>>2])==(0|t))break t;if(!(i=0|_[i+28>>2])){o=6;break}}else o=6}while(0);6==(0|o)&&(i=0|a_(36),_[i>>2]=t,_[i+4>>2]=0,_[i+4+4>>2]=0,_[i+4+8>>2]=0,_[i+4+12>>2]=0,_[i+20>>2]=n,_[i+24>>2]=0,_[i+28>>2]=0,_[i+32>>2]=0,qo(i),_[i+28>>2]=_[n+24>>2],_[n+24>>2]=i),_[2606]=i}_[(n=i+4|0)>>2]=1+(0|_[n>>2]),o=0|_[(n=i+16|0)>>2],_[n>>2]=o+1,0|o||(G(0|e,0),o=0|_[6629],_[i+12>>2]=(0|_[e+4>>2])-(0|_[o+4>>2])+(1e6*((0|_[e>>2])-(0|_[o>>2])|0)|0)),Q=e}function tn(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,b,A,f,u,m,h,y,g,C=0;a=(C=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t))+ +p[t+28>>2],s=C+ +p[t+32>>2],C+=+p[t+36>>2],g=+d(+ +p[e>>2]),y=+d(+ +p[e+4>>2]),h=+d(+ +p[e+8>>2]),u=+d(+ +p[e+16>>2]),f=+d(+ +p[e+20>>2]),A=+d(+ +p[e+24>>2]),c=+d(+ +p[e+32>>2]),r=+d(+ +p[e+36>>2]),o=+d(+ +p[e+40>>2]),m=+p[e+48>>2],b=+p[e+52>>2],l=+p[e+56>>2],p[i>>2]=m-(a*g+s*y+C*h),p[i+4>>2]=b-(a*u+s*f+C*A),p[i+8>>2]=l-(a*c+s*r+C*o),p[i+12>>2]=0,p[n>>2]=a*g+s*y+C*h+m,p[n+4>>2]=a*u+s*f+C*A+b,p[n+8>>2]=l+(a*c+s*r+C*o),p[n+12>>2]=0}function en(t){var e=0;_[(t|=0)>>2]=9580,0|_[t+108>>2]&&(e=0|_[t+112>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+112>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+108>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+108>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]))),0|(e=0|_[t+88>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|(e=0|_[t+84>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|(e=0|_[t+80>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|(e=0|_[t+60>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|n[t+100|0]&&(e=0|_[t+92>>2],Xl[511&_[_[e>>2]>>2]](e),(e=0|_[t+92>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])))}function nn(t){var e,i,o,r=0;e=Q,Q=Q+96|0,n[88+(t|=0)|0]=1,!(0|n[24528])&&0|Qs(24528)&&(_[5812]=1065353216,_[5813]=0,_[5814]=0,_[5815]=0,_[5816]=0,_[5817]=1065353216,_[5818]=0,_[5819]=0,_[5820]=0,_[5821]=0,_[5822]=1065353216,p[5823]=0,_[5824]=-1082130432,_[5825]=0,_[5826]=0,_[5827]=0,_[5828]=0,_[5829]=-1082130432,_[5830]=0,_[5831]=0,_[5832]=0,_[5833]=0,_[5834]=-1082130432,p[5835]=0),i=(r=e)+96|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|i));pd[127&_[76+(0|_[t>>2])>>2]](t,23248,e,6),o=+p[t+44>>2],p[t+72>>2]=+p[e>>2]+o,p[t+56>>2]=+p[e+48>>2]-o,p[t+76>>2]=+p[e+20>>2]+o,p[t+60>>2]=+p[e+68>>2]-o,p[t+80>>2]=+p[e+40>>2]+o,p[t+64>>2]=+p[e+88>>2]-o,Q=e}function on(t,e,i){t|=0,e|=0,i|=0;for(var n=0,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0;;){for(c=0|_[t+12>>2],l=0|_[c+((e+i|0)/2<<3)>>2],o=i,n=e;;){for(;a=n+1|0,(0|_[(p=c+(n<<3)|0)>>2])<(0|l);)n=a;for(;s=o+-1|0,(0|_[(r=c+(o<<3)|0)>>2])>(0|l);)o=s;if((0|n)<=(0|o)&&(c=0|_[p>>2],n=0|_[p+4>>2],d=0|_[r+4>>2],_[p>>2]=_[r>>2],_[p+4>>2]=d,o=(0|_[t+12>>2])+(o<<3)|0,_[o>>2]=c,_[o+4>>2]=n,o=s,n=a),(0|n)>(0|o))break;c=0|_[t+12>>2]}if((0|o)>(0|e)&&on(t,e,o),!((0|n)<(0|i)))break;e=n}}function _n(t){var e,i=0,o=0,r=0,s=0;if(_[(t|=0)>>2]=7124,i=0|_[t+8>>2],(0|(e=0|_[i+8>>2]))>0){o=0;do{0|(r=0|_[(0|_[i+16>>2])+(12*o|0)+8>>2])&&(Xl[511&_[_[r>>2]>>2]](r),s=0|_[t+4>>2],ed[127&_[60+(0|_[s>>2])>>2]](s,r)),o=o+1|0}while((0|o)!=(0|e));i=0|_[t+8>>2]}if(te(i),i=0|_[t+8>>2],Xl[511&_[_[i>>2]>>2]](i),0|(i=0|_[t+8>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),!(i=0|_[t+24>>2]))return n[t+28|0]=1,_[t+24>>2]=0,_[t+16>>2]=0,void(_[(s=t+20|0)>>2]=0);0|n[t+28|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+24>>2]=0,n[t+28|0]=1,_[t+24>>2]=0,_[t+16>>2]=0,_[(s=t+20|0)>>2]=0}function rn(t,e){e|=0,_[204+(t|=0)>>2]=_[e+48>>2],_[t+208>>2]=_[e+52>>2],_[t+212>>2]=_[e+56>>2],_[t+216>>2]=_[e+60>>2],_[t+220>>2]=_[e+64>>2],_[t+224>>2]=_[e+68>>2],_[t+156>>2]=_[e>>2],_[t+156+4>>2]=_[e+4>>2],_[t+156+8>>2]=_[e+8>>2],_[t+156+12>>2]=_[e+12>>2],_[t+172>>2]=_[e+16>>2],_[t+172+4>>2]=_[e+16+4>>2],_[t+172+8>>2]=_[e+16+8>>2],_[t+172+12>>2]=_[e+16+12>>2],_[t+188>>2]=_[e+32>>2],_[t+188+4>>2]=_[e+32+4>>2],_[t+188+8>>2]=_[e+32+8>>2],_[t+188+12>>2]=_[e+32+12>>2],_[t+228>>2]=_[e+72>>2],p[t+232>>2]=0,p[t+252>>2]=0,p[t+236>>2]=0,p[t+240>>2]=0,p[t+256>>2]=0,p[t+244>>2]=.10000000149011612,n[t+260|0]=1&n[e+80|0],_[t+248>>2]=_[e+76>>2]}function sn(t,e,i){e|=0,i|=0;var o,r=0,s=0;o=Q,Q=Q+16|0,_[4+(t|=0)>>2]=e,_[t>>2]=5444,_[t+8>>2]=-1,_[t+12>>2]=-1,p[t+16>>2]=34028234663852886e22,n[t+20|0]=1,n[t+21|0]=0,_[t+24>>2]=-1,_[t+28>>2]=i,!(0|n[24496])&&0|Qs(24496)&&(_[o>>2]=0,_[o+4>>2]=0,_[o+8>>2]=0,_[o+12>>2]=0,ut(25184,0,0,0,o)),_[6347]=1|_[6347],p[6382]=0,r=0*+p[6392],s=0*+p[6393],p[6387]=0*+p[6391],p[6388]=r,p[6389]=s,p[6390]=0,_[6395]=0,_[6396]=0,_[6397]=0,_[6398]=0,s=0*+p[6384],r=0*+p[6385],p[6436]=0*+p[6383],p[6437]=s,p[6438]=r,p[6439]=0,_[t+32>>2]=25184,p[t+36>>2]=0,p[t+40>>2]=.30000001192092896,_[t+44>>2]=0,Q=o}function pn(t){var e=0;_[(t|=0)>>2]=3916,e=0|_[t+92>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+92>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+96>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+96>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+100>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+100>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+104>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+104>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),e=0|_[t+108>>2],Xl[511&_[_[e>>2]>>2]](e),(e=0|_[t+108>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),H(t)):H(t)}function cn(t){var e=0,i=0,o=0,r=0,s=0;if(_[(t|=0)>>2]=6528,i=0|_[t+8>>2],e=0|_[t+16>>2],(0|i)>0){s=0;do{o=188+(0|_[e+(s<<2)>>2])|0,(r=0|_[o>>2])&&(i=0|_[t+68>>2],i=0|Gl[127&_[36+(0|_[i>>2])>>2]](i),_d[127&_[40+(0|_[i>>2])>>2]](i,r,0|_[t+24>>2]),i=0|_[t+68>>2],_d[127&_[12+(0|_[i>>2])>>2]](i,r,0|_[t+24>>2]),_[o>>2]=0,i=0|_[t+8>>2],e=0|_[t+16>>2]),s=s+1|0}while((0|s)<(0|i))}if(!e)return n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[(t=t+12|0)>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[(t=t+12|0)>>2]=0}function an(t,e,i,n){t|=0,i|=0,n|=0;var o,r=0;o=Q,Q=Q+96|0,r=0|_[192+(e|=0)>>2],_[o+64>>2]=0,_[o+64+4>>2]=r,_[o+64+8>>2]=e,_[o+64+12>>2]=e+4,_[o+64+16>>2]=-1,_[o+64+20>>2]=-1,e=0|_[i+192>>2],_[o+40>>2]=0,_[o+40+4>>2]=e,_[o+40+8>>2]=i,_[o+40+12>>2]=i+4,_[o+40+16>>2]=-1,_[o+40+20>>2]=-1,e=0|_[t+24>>2],(e=0|Hl[31&_[8+(0|_[e>>2])>>2]](e,o+64|0,o+40|0,0))?(_[o+4>>2]=0,_[o+8>>2]=o+64,_[o+12>>2]=o+40,_[o>>2]=6872,_[o+32>>2]=n,dd[31&_[8+(0|_[e>>2])>>2]](e,o+64|0,o+40|0,t+28|0,o),Xl[511&_[_[e>>2]>>2]](e),r=0|_[t+24>>2],ed[127&_[60+(0|_[r>>2])>>2]](r,e),Q=o):Q=o}function ln(t){var e=0;if(_[(t|=0)>>2]=4720,0|n[t+456|0]&&(e=0|_[t+452>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+452>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|(e=0|_[t+420>>2])&&(0|n[t+424|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+420>>2]=0),n[t+424|0]=1,_[t+420>>2]=0,_[t+412>>2]=0,_[t+416>>2]=0,!(e=0|_[t+336>>2]))return n[t+340|0]=1,_[t+336>>2]=0,_[t+328>>2]=0,_[(e=t+332|0)>>2]=0,void kt(t);0|n[t+340|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+336>>2]=0,n[t+340|0]=1,_[t+336>>2]=0,_[t+328>>2]=0,_[(e=t+332|0)>>2]=0,kt(t)}function dn(t,e){var i,o;return e|=0,i=0|_[28+(t|=0)>>2],o=0|_[t+32>>2],0|n[t+1301|0]?void pt(t,e,0|bt(t,e,0,i+4|0,o+4|0,i+312|0,o+312|0,i+328|0,o+328|0),i+4|0,o+4|0,i+312|0,o+312|0,i+328|0,o+328|0):void bt(t,e,0|pt(t,e,0,i+4|0,o+4|0,i+312|0,o+312|0,i+328|0,o+328|0),i+4|0,o+4|0,i+312|0,o+312|0,i+328|0,o+328|0)}function bn(t,e,i,n,o){t|=0,e|=0,i=+i,n|=0,o|=0;var r,s,c,a,l,d=0;return r=Q,Q=Q+48|0,_[r+32>>2]=n,_[r+32+4>>2]=o,l=+p[e>>2],a=+p[e+4>>2],d=+p[e+8>>2],c=+p[t+56>>2]*l+ +p[t+60>>2]*a+ +p[t+64>>2]*d,s=l*+p[t+72>>2]+a*+p[t+76>>2]+d*+p[t+80>>2],d=l*+p[t+88>>2]+a*+p[t+92>>2]+d*+p[t+96>>2],_[r>>2]=_[t+48>>2],_[r+4>>2]=r+32,p[r+8>>2]=c,p[r+12>>2]=s,p[r+16>>2]=d,p[r+20>>2]=0,p[r+24>>2]=i,o=0|_[t+44>>2],i=+Fl[15&_[12+(0|_[o>>2])>>2]](o,r,1),Q=r,+i}function An(t){var e=0;if(_[(t|=0)>>2]=5204,0|(e=0|_[t+80>>2])&&(0|n[t+84|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+80>>2]=0),n[t+84|0]=1,_[t+80>>2]=0,_[t+72>>2]=0,_[t+76>>2]=0,0|(e=0|_[t+60>>2])&&(0|n[t+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+60>>2]=0),n[t+64|0]=1,_[t+60>>2]=0,_[t+52>>2]=0,_[t+56>>2]=0,!(e=0|_[t+40>>2]))return n[t+44|0]=1,_[t+40>>2]=0,_[t+32>>2]=0,void(_[(t=t+36|0)>>2]=0);0|n[t+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+40>>2]=0,n[t+44|0]=1,_[t+40>>2]=0,_[t+32>>2]=0,_[(t=t+36|0)>>2]=0}function fn(t){var e=0;if(_[(t|=0)>>2]=9720,0|(e=0|_[t+64>>2])&&(0|n[t+68|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+64>>2]=0),n[t+68|0]=1,_[t+64>>2]=0,_[t+56>>2]=0,_[t+60>>2]=0,0|(e=0|_[t+44>>2])&&(0|n[t+48|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+44>>2]=0),n[t+48|0]=1,_[t+44>>2]=0,_[t+36>>2]=0,_[t+40>>2]=0,!(e=0|_[t+16>>2]))return n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[(t=t+12|0)>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[(t=t+12|0)>>2]=0}function un(t){var e=0;if(_[(t|=0)>>2]=6352,0|(e=0|_[t+56>>2])&&(0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+56>>2]=0),n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,0|(e=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,!(e=0|_[t+16>>2]))return e=t+12|0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[e>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0,e=t+12|0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[e>>2]=0}function mn(t){var e=0;if(_[(t|=0)>>2]=10320,0|(e=0|_[t+60>>2])&&(0|n[t+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+60>>2]=0),n[t+64|0]=1,_[t+60>>2]=0,_[t+52>>2]=0,_[t+56>>2]=0,0|(e=0|_[t+40>>2])&&(0|n[t+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+40>>2]=0),n[t+44|0]=1,_[t+40>>2]=0,_[t+32>>2]=0,_[t+36>>2]=0,!(e=0|_[t+16>>2]))return n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,void(_[(t=t+12|0)>>2]=0);0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[(t=t+12|0)>>2]=0}function hn(t,e){t|=0;var i,n=0,o=0,r=0,s=0;if(0|(n=0|_[188+(e|=0)>>2])&&(r=0|_[t+68>>2],r=0|Gl[127&_[36+(0|_[r>>2])>>2]](r),_d[127&_[40+(0|_[r>>2])>>2]](r,n,0|_[t+24>>2]),r=0|_[t+68>>2],_d[127&_[12+(0|_[r>>2])>>2]](r,n,0|_[t+24>>2]),_[e+188>>2]=0),!((0|(i=0|_[t+8>>2]))<=0)){for(r=0|_[t+16>>2],n=0;(0|_[(o=r+(n<<2)|0)>>2])!=(0|e);)if((0|(n=n+1|0))>=(0|i)){s=9;break}9!=(0|s)&&((0|n)>=(0|i)||(_[o>>2]=_[r+(i+-1<<2)>>2],_[(0|_[t+16>>2])+(i+-1<<2)>>2]=e,_[t+8>>2]=i+-1))}}function yn(t,e,i,n){t|=0,e|=0,i|=0,n|=0;for(var o=0,r=0,p=0;;){if(o=0|_[t+12>>2],!(((0|s[n>>1])>=(0|s[t>>1])?(0|s[i>>1])<=(0|s[t+6>>1]):0)&(0|s[i+4>>1])<=(0|s[t+10>>1])&(0|s[n+4>>1])>=(0|s[t+4>>1])&(0|s[i+2>>1])<=(0|s[t+8>>1])&(0|s[n+2>>1])>=(0|s[t+2>>1]))){r=6;break}if((0|o)>-1)break;yn(p=t+16|0,e,i,n),t=(0|(o=0|_[t+28>>2]))>-1?t+32|0:p+(0-o<<4)|0}6!=(0|r)&&_d[127&_[8+(0|_[e>>2])>>2]](e,o>>>21,2097151&o)}function gn(t,e,i,n){t|=0,e|=0,n=+n;var o,_,r,s=0,c=0,a=0;_=+f(+(i=+i)),o=+u(+i),i=+p[e+444>>2],+d(+_)>1.1920928955078125e-7?(a=+p[e+448>>2],s=o*o,c=_*_,i=+b(+(o*o/(_*_)+1)/(1/(a*a)+o*o/(_*_)/(i*i)))):(s=o*o,c=_*_),a=+u(+(i*=.5))/+b(+(s+(c+0))),r=(i=+f(+i))*n+_*a*0-o*a*-0,c=0*i-o*a*n-0*a*0,s=0*i+0*a*0-_*a*n,n=-0*a*n-_*a*0-o*a*-0,p[t>>2]=o*a*c+(i*r+n*(-0*a))-s*(-_*a),p[t+4>>2]=s*(-0*a)+(i*c+n*(-_*a))-o*a*r,p[t+8>>2]=r*(-_*a)+(o*a*n+i*s)-c*(-0*a),p[t+12>>2]=0}function Cn(t){var e,i=0,o=0;if(_[(t|=0)>>2]=7060,(0|(e=0|_[t+12>>2]))>0){i=0;do{0|(o=0|_[(0|_[t+20>>2])+(i<<2)>>2])&&(Xl[511&_[_[o>>2]>>2]](o),o=0|_[t+4>>2],ed[127&_[60+(0|_[o>>2])>>2]](o,0|_[(0|_[t+20>>2])+(i<<2)>>2])),i=i+1|0}while((0|i)!=(0|e))}if(!(i=0|_[t+20>>2]))return n[t+24|0]=1,_[t+20>>2]=0,_[t+12>>2]=0,void(_[(t=t+16|0)>>2]=0);0|n[t+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+20>>2]=0,n[t+24|0]=1,_[t+20>>2]=0,_[t+12>>2]=0,_[(t=t+16|0)>>2]=0}function vn(t,e,i,n,o,_,r,s,c,a){if(a|=0,!((((r=+r)-(n=+n))*(e=+e)-((s=+s)-(o=+o))*(t=+t))*(_=+_)+(((s-o)*(i=+i)-((c=+c)-_)*e)*n+((c-_)*t-(r-n)*i)*o)<0))return 0|(a=0);do{if(!((r-n)*n+(s-o)*o+(c-_)*_>0)){if((r-n)*r+(s-o)*s+(c-_)*c<0){t=r*r+s*s+c*c;break}t=(t=((r*r+s*s+c*c)*(n*n+o*o+_*_)-(r*n+s*o+c*_)*(r*n+s*o+c*_))/((r-n)*(r-n)+(s-o)*(s-o)+(c-_)*(c-_)))>0?t:0;break}t=n*n+o*o+_*_}while(0);return c=+b(+t),p[a>>2]=c,0|(a=1)}function Sn(t,e){var i,n,o,r,s,c,a,l,b;e|=0,a=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),r=+Il[15&_[48+(0|_[t>>2])>>2]](t),i=+Il[15&_[48+(0|_[t>>2])>>2]](t),b=(a+ +p[t+28>>2])/+p[t+12>>2],c=(r+ +p[t+32>>2])/+p[t+16>>2],o=(i+ +p[t+36>>2])/+p[t+20>>2],l=+d(+ +p[e>>2]),s=+d(+ +p[e+4>>2]),n=+d(+ +p[e+8>>2]),p[t+12>>2]=l,p[t+16>>2]=s,p[t+20>>2]=n,p[t+24>>2]=0,p[t+28>>2]=b*l-a,p[t+32>>2]=c*s-r,p[t+36>>2]=o*n-i,p[t+40>>2]=0}function wn(t,e,i){e|=0;var o,r=0;if(o=(t|=0)+(i|=0)|0,e&=255,(0|i)>=67){for(;3&t;)n[0|t]=e,t=t+1|0;for(r=e|e<<8|e<<16|e<<24;(0|t)<=((-4&o)-64|0);)_[t>>2]=r,_[t+4>>2]=r,_[t+8>>2]=r,_[t+12>>2]=r,_[t+16>>2]=r,_[t+20>>2]=r,_[t+24>>2]=r,_[t+28>>2]=r,_[t+32>>2]=r,_[t+36>>2]=r,_[t+40>>2]=r,_[t+44>>2]=r,_[t+48>>2]=r,_[t+52>>2]=r,_[t+56>>2]=r,_[t+60>>2]=r,t=t+64|0;for(;(0|t)<(-4&o);)_[t>>2]=r,t=t+4|0}for(;(0|t)<(0|o);)n[0|t]=e,t=t+1|0;return o-i|0}function kn(t,e,i){t|=0,i|=0;var n,o,r=0,s=0,c=0;_d[127&_[68+(0|_[(e|=0)>>2])>>2]](t,e,i),0!=+Il[15&_[48+(0|_[e>>2])>>2]](e)&&(o=(c=+p[i>>2])*c+(r=+p[i+4>>2])*r+(s=+p[i+8>>2])*s<14210854715202004e-30?-1:c,n=c*c+r*r+s*s<14210854715202004e-30?-1:r,r=1/+b(+((s=c*c+r*r+s*s<14210854715202004e-30?-1:s)*s+(o*o+n*n))),c=+Il[15&_[48+(0|_[e>>2])>>2]](e),p[t>>2]=+p[t>>2]+c*(o*r),p[t+4>>2]=+p[t+4>>2]+c*(n*r),p[t+8>>2]=+p[t+8>>2]+c*(s*r))}function Rn(t){var e,i=0,n=0,o=0,r=0,s=0,p=0;return e=Q,Q=Q+16|0,i=0|_[8+(t|=0)>>2],(0|(n=0|_[t+8+4>>2]))>-1|-1==(0|n)&i>>>0>4294967295?(o=0x10000000000000000*(+(i>>>0)+4294967296*+(n>>>0))+(+((0|_[t>>2])>>>0)+4294967296*+((0|_[t+4>>2])>>>0)),Q=e,+o):(r=0|Ir(0,0,0|(p=0|_[t>>2]),0|(s=0|_[t+4>>2])),t=0|w(),i=0|xr(!(0|p)&!(0|s)&1,0,0|~i,0|~n),n=0|w(),_[e>>2]=r,_[e+4>>2]=t,_[e+8>>2]=i,_[e+8+4>>2]=n,o=-+Rn(e),Q=e,+o)}function jn(t,e,i,o,r){e=+e,i|=0,o|=0,r|=0,p[(t|=0)>>2]=e,_[t+4>>2]=i,_[t+72>>2]=o,_[t+76>>2]=_[r>>2],_[t+76+4>>2]=_[r+4>>2],_[t+76+8>>2]=_[r+8>>2],_[t+76+12>>2]=_[r+12>>2],p[t+92>>2]=0,p[t+96>>2]=0,p[t+100>>2]=.5,p[t+104>>2]=0,p[t+108>>2]=0,p[t+112>>2]=.800000011920929,p[t+116>>2]=1,n[t+120|0]=0,p[t+124>>2]=.004999999888241291,p[t+128>>2]=.009999999776482582,p[t+132>>2]=.009999999776482582,p[t+136>>2]=.009999999776482582,Ho(t+8|0)}function Dn(t,e,i){var n;e|=0,i|=0,n=Q,Q=Q+32|0,0!=+p[344+(t|=0)>>2]?(ao(t,+p[e>>2],+p[e+4>>2],+p[e+8>>2]),0|Cl(t+544|0)?(Wo(n,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[t+348>>2],+p[t+352>>2],+p[t+356>>2]),go(n+16|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2],+p[n>>2],+p[n+4>>2],+p[n+8>>2]),lo(t,+p[n+16>>2],+p[n+16+4>>2],+p[n+16+8>>2]),Q=n):Q=n):Q=n}function In(t,e,i,o){e|=0,i|=0,o|=0,n[53+(t|=0)|0]=1;do{if((0|_[t+4>>2])==(0|i)){if(n[t+52|0]=1,!(i=0|_[t+16>>2])){if(_[t+16>>2]=e,_[t+24>>2]=o,_[t+36>>2]=1,1!=(0|o)||1!=(0|_[t+48>>2]))break;n[t+54|0]=1;break}if((0|i)!=(0|e)){_[t+36>>2]=1+(0|_[t+36>>2]),n[t+54|0]=1;break}2==(0|(i=0|_[t+24>>2]))&&(_[t+24>>2]=o,i=o),1==(0|i)&&1==(0|_[t+48>>2])&&(n[t+54|0]=1)}}while(0)}function Bn(t){var e=0;if(_[(t|=0)>>2]=5984,e=0|_[t+284>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+284>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t>>2]=5940,!(e=0|_[t+276>>2]))return n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[(e=t+272|0)>>2]=0,void(_[t>>2]=5904);0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+276>>2]=0,n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[(e=t+272|0)>>2]=0,_[t>>2]=5904}function Wn(t,e){e=+e;var i,n,o=0,r=0,s=0;r=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),o=+Il[15&_[48+(0|_[t>>2])>>2]](t),s=+Il[15&_[48+(0|_[t>>2])>>2]](t),r+=+p[t+28>>2],o+=+p[t+32>>2],s+=+p[t+36>>2],p[t+44>>2]=e,n=+Il[15&_[48+(0|_[t>>2])>>2]](t),i=+Il[15&_[48+(0|_[t>>2])>>2]](t),e=s-+Il[15&_[48+(0|_[t>>2])>>2]](t),p[t+28>>2]=r-n,p[t+32>>2]=o-i,p[t+36>>2]=e,p[t+40>>2]=0}function Fn(t,e,i,n,o){t|=0,i=+i,n=+n,o=+o;var _,r=0,s=0;_=Q,Q=Q+16|0,s=0|wa(e|=0,0),r=+vs(+p[s>>2],+p[s+4>>2],+p[s+8>>2],i,n,o),p[_+8>>2]=r,s=0|wa(e,1),r=+vs(+p[s>>2],+p[s+4>>2],+p[s+8>>2],i,n,o),p[_+4>>2]=r,e=0|wa(e,2),o=+vs(+p[e>>2],+p[e+4>>2],+p[e+8>>2],i,n,o),p[_>>2]=o,R_(t,_+8|0,_+4|0,_),Q=_}function xn(t,e,i,n,o){var _,r,s,c;t|=0,i=+i,n=+n,o=+o,_=Q,Q=Q+16|0,c=0|wa(e|=0,0),s=0|wa(e,1),r=0|wa(e,2),function(t,e,i,n,o,_,r,s,c,a,l,d,b){t|=0,s=+s,c=+c,a=+a,l=+l,d=+d,b=+b;var A=0;A=Q,Q=Q+16|0,r=+vs(e=+e,i=+i,n=+n,o=+o,_=+_,r=+r),p[A+8>>2]=r,a=+vs(e,i,n,s,c,a),p[A+4>>2]=a,b=+vs(e,i,n,l,d,b),p[A>>2]=b,R_(t,A+8|0,A+4|0,A),Q=A}(_,i,n,o,+p[c>>2],+p[c+4>>2],+p[c+8>>2],+p[s>>2],+p[s+4>>2],+p[s+8>>2],+p[r>>2],+p[r+4>>2],+p[r+8>>2]),Bo(t,+p[_>>2],+p[_+4>>2],+p[_+8>>2],+p[e+48>>2],+p[e+52>>2],+p[e+56>>2]),Q=_}function On(t,e,i,n,o,r,s,p,c,a){e|=0,i|=0,n|=0,o|=0,r|=0,s|=0,p|=0,c|=0,a|=0,t=0|_[32+(t|=0)>>2],_[i>>2]=_[t+(a<<5)+12>>2],_[e>>2]=_[t+(a<<5)+16>>2],_[n>>2]=_[t+(a<<5)+28>>2],_[o>>2]=_[t+(a<<5)+20>>2],_[p>>2]=_[t+(a<<5)>>2],_[r>>2]=_[t+(a<<5)+4>>2],_[s>>2]=_[t+(a<<5)+8>>2],_[c>>2]=_[t+(a<<5)+24>>2]}function Tn(t){var e=0,i=0;if(_[(t|=0)>>2]=7188,0|(e=0|_[t+64>>2])&&(oe(e),0|(i=0|_[t+64>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),!(e=0|_[t+24>>2]))return n[t+28|0]=1,_[t+24>>2]=0,_[t+16>>2]=0,void(_[(t=t+20|0)>>2]=0);0|n[t+28|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+24>>2]=0,n[t+28|0]=1,_[t+24>>2]=0,_[t+16>>2]=0,_[(t=t+20|0)>>2]=0}function Pn(t,e){e|=0,_[(t|=0)>>2]=_[e>>2],_[t+4>>2]=_[e+4>>2],_[t+8>>2]=_[e+8>>2],_[t+12>>2]=_[e+12>>2],_[t+16>>2]=_[e+16>>2],_[t+20>>2]=_[e+20>>2],_[t+24>>2]=_[e+24>>2],Vn(t+28|0,e+28|0),_[t+76>>2]=_[e+76>>2],_[t+76+4>>2]=_[e+76+4>>2],_[t+76+8>>2]=_[e+76+8>>2],_[t+76+12>>2]=_[e+76+12>>2],_[t+76+16>>2]=_[e+76+16>>2]}function Mn(t,e,i,n,o,r){e|=0,i|=0,n|=0,o|=0,r=+r,_[(t|=0)>>2]=e,_[t+4>>2]=i,_[t+8>>2]=_[n>>2],_[t+8+4>>2]=_[n+4>>2],_[t+8+8>>2]=_[n+8>>2],_[t+8+12>>2]=_[n+12>>2],_[t+24>>2]=_[o>>2],_[t+24+4>>2]=_[o+4>>2],_[t+24+8>>2]=_[o+8>>2],_[t+24+12>>2]=_[o+12>>2],p[t+40>>2]=r}function Vn(t,e){e|=0,_[(t|=0)>>2]=_[e>>2],_[t+4>>2]=_[e+4>>2],_[t+8>>2]=_[e+8>>2],_[t+12>>2]=_[e+12>>2],_[t+16>>2]=_[e+16>>2],_[t+16+4>>2]=_[e+16+4>>2],_[t+16+8>>2]=_[e+16+8>>2],_[t+16+12>>2]=_[e+16+12>>2],_[t+32>>2]=_[e+32>>2],_[t+32+4>>2]=_[e+32+4>>2],_[t+32+8>>2]=_[e+32+8>>2],_[t+32+12>>2]=_[e+32+12>>2]}function Gn(t,e,i){e|=0,i|=0,Mr(t|=0),_[t>>2]=3796,_[t+12>>2]=_[e>>2],_[t+12+4>>2]=_[e+4>>2],_[t+12+8>>2]=_[e+8>>2],_[t+12+12>>2]=_[e+12>>2],_[t+28>>2]=_[i>>2],_[t+28+4>>2]=_[i+4>>2],_[t+28+8>>2]=_[i+8>>2],_[t+28+12>>2]=_[i+12>>2],_[t+76>>2]=0}function Nn(t,e,i){var o;e|=0,i|=0,o=0|_[16+(t|=0)>>2];do{if(o){if((0|o)!=(0|e)){_[t+36>>2]=1+(0|_[t+36>>2]),_[t+24>>2]=2,n[t+54|0]=1;break}2==(0|_[t+24>>2])&&(_[t+24>>2]=i)}else _[t+16>>2]=e,_[t+24>>2]=i,_[t+36>>2]=1}while(0)}function Ln(t,e,i){e|=0,i|=0,E_(t|=0),_[t>>2]=3624,_[t+20>>2]=_[e>>2],_[t+20+4>>2]=_[e+4>>2],_[t+20+8>>2]=_[e+8>>2],_[t+20+12>>2]=_[e+12>>2],_[t+36>>2]=_[i>>2],_[t+36+4>>2]=_[i+4>>2],_[t+36+8>>2]=_[i+8>>2],_[t+36+12>>2]=_[i+12>>2]}function Qn(t,e,i){var n,o;t|=0,i|=0,n=Q,Q=Q+48|0,o=0|_[192+(e|=0)>>2],pd[127&_[8+(0|_[o>>2])>>2]](o,e+4|0,n+32|0,n+16|0),_[n>>2]=6852,_[n+4>>2]=e,_[n+8>>2]=t,_[n+12>>2]=i,i=0|_[t+68>>2],pd[127&_[28+(0|_[i>>2])>>2]](i,n+32|0,n+16|0,n),Q=n}function En(t,e){t|=0;var i,n,o,r=0;n=Q,Q=Q+112|0,i=0|Cl(0|_[4+(e|=0)>>2]),o=(r=n)+104|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|o));!function(t){(function(t){(function(t){_[(t|=0)>>2]=0})(t|=0)})(t|=0)}(n),function(t,e,i){e|=0,i|=0;var n=0,o=0,r=0,s=0;if((0|(n=0|Cl(0|_[4+(t|=0)>>2])))>(0|e))_[t+4>>2]=e;else{for((0|n)<(0|e)&&io(t,e);!((0|n)>=(0|e));){r=i,s=104+(o=(0|_[t+12>>2])+(104*n|0)|0)|0;do{_[o>>2]=_[r>>2],o=o+4|0,r=r+4|0}while((0|o)<(0|s));n=n+1|0}_[t+4>>2]=e}}(t,i,n),uo(e,i,0|_[t+12>>2]),Q=n}function Hn(t,e){e|=0;var i,n=0,o=0;return i=Q,Q=Q+16|0,n=+ll((n=+Vc(t|=0))*+Vc(e)),(o=+ho(t,e))<0?(function(t,e){t|=0;var i=0,n=0;i=Q,Q=Q+16|0,n=0|Cl(e|=0),p[i+12>>2]=-+p[n>>2],n=0|sl(e),p[i+8>>2]=-+p[n>>2],n=0|rl(e),p[i+4>>2]=-+p[n>>2],p[i>>2]=-+p[e+12>>2],Wr(t,i+12|0,i+8|0,i+4|0,i),Q=i}(i,e),o=+op(+ho(t,i)/n),Q=i,+(o*=2)):(o=+op(o/n),Q=i,+(o*=2))}function Zn(t,e){var i;e|=0,(0|Cl(0|_[8+(t|=0)>>2]))>=(0|e)||(i=0|function(t){return(t|=0)?0|(t=0|function(t){return t|=0,_[6630]=1+(0|_[6630]),(t=0|di(16+(36*t|3)|0))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(t)):0|(t=0)}(e),zo(t,0|Cl(0|_[t+4>>2]),i),y_(t,0|Cl(0|_[t+4>>2])),V_(t),n[t+16|0]=1,_[t+12>>2]=i,_[t+8>>2]=e)}function Un(t,e){e|=0;var i,n=0;(0|(i=0|Cl(n=0|_[4+(t|=0)>>2])))==(0|Cl(0|_[t+8>>2]))&&(to(t,0|function(t){return 0|(0|(t|=0)?t<<1:1)}(i)),n=0|_[t+4>>2]),Pn((0|_[t+12>>2])+(96*n|0)|0,e),_[t+4>>2]=1+(0|_[t+4>>2])}function Yn(t,e){var i;t|=0,0|_[40+(e|=0)>>2]&&(Yn(t,0|_[e+36>>2]),Yn(t,0|_[e+40>>2])),(0|_[t>>2])==(0|e)&&(_[t>>2]=0),(i=0|_[t+4>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),_[t+4>>2]=e):_[t+4>>2]=e}function Jn(t,e){t|=0;var i,n,o,r=0;n=Q,Q=Q+48|0,i=0|Cl(0|_[4+(e|=0)>>2]),o=(r=n)+36|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|o));Wa(n),function(t,e,i){e|=0,i|=0;var n=0;if((0|(n=0|Cl(0|_[4+(t|=0)>>2])))>(0|e)){for(i=e;!((0|i)>=(0|n));)Ba((0|_[t+12>>2])+(36*i|0)|0),i=i+1|0;_[t+4>>2]=e}else{for((0|n)<(0|e)&&Zn(t,e);!((0|n)>=(0|e));)Zo((0|_[t+12>>2])+(36*n|0)|0,i),n=n+1|0;_[t+4>>2]=e}}(t,i,n),Ba(n),zo(e,i,0|_[t+12>>2]),Q=n}function Xn(t,e){t|=0;var i,n,o,r=0;n=Q,Q=Q+96|0,i=0|Cl(0|_[4+(e|=0)>>2]),o=(r=n)+96|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|o));!function(t,e,i){e|=0,i|=0;var n=0;if((0|(n=0|Cl(0|_[4+(t|=0)>>2])))>(0|e))_[t+4>>2]=e;else{for((0|n)<(0|e)&&to(t,e);!((0|n)>=(0|e));)Pn((0|_[t+12>>2])+(96*n|0)|0,i),n=n+1|0;_[t+4>>2]=e}}(t,i,n),Qo(e,i,0|_[t+12>>2]),Q=n}function zn(t,e){var i,n=0,o=0;o=e|=0,i=104+(n=t|=0)|0;do{_[n>>2]=_[o>>2],n=n+4|0,o=o+4|0}while((0|n)<(0|i));!function(t,e){jo(t|=0,e|=0)}(t+104|0,e+104|0),ss(t+124|0,e+124|0),ss(t+144|0,e+144|0)}function Kn(t,e,i,n){e|=0,n|=0,_[(i|=0)>>2]=_[e+16>>2],_[i+4>>2]=_[e+16+4>>2],_[i+8>>2]=_[e+16+8>>2],_[i+12>>2]=_[e+16+12>>2],_[n>>2]=_[e+32>>2],_[n+4>>2]=_[e+32+4>>2],_[n+8>>2]=_[e+32+8>>2],_[n+12>>2]=_[e+32+12>>2]}function qn(t,e,i,n,o,r){e|=0,i|=0,n|=0,o|=0,r|=0;var s,p=0;p=(s=0|_[4+(t|=0)>>2])>>8,1&s&&(p=0|_[(0|_[n>>2])+p>>2]),t=0|_[t>>2],Ad[7&_[20+(0|_[t>>2])>>2]](t,e,i,n+p|0,2&s?o:2,r)}function $n(){var t;t=Q,Q=Q+32|0,0|n[24408]?Q=t:0|Qs(24408)?(function(){var t;t=Q,Q=Q+48|0,0|n[24416]?Q=t:0|Qs(24416)?(p[t+32>>2]=1,p[t+28>>2]=0,p[t+24>>2]=0,p[t+20>>2]=0,p[t+16>>2]=1,p[t+12>>2]=0,p[t+8>>2]=0,p[t+4>>2]=0,p[t>>2]=1,No(24888,t+32|0,t+28|0,t+24|0,t+20|0,t+16|0,t+12|0,t+8|0,t+4|0,t),Q=t):Q=t}(),p[t+8>>2]=0,p[t+4>>2]=0,p[t>>2]=0,R_(t+16|0,t+8|0,t+4|0,t),Lo(24824,24888,t+16|0),Q=t):Q=t}function to(t,e){var i;e|=0,(0|Cl(0|_[8+(t|=0)>>2]))>=(0|e)||(i=0|function(t){return(t|=0)?0|(t=0|function(t){return t|=0,_[6630]=1+(0|_[6630]),(t=0|di(96*t|19))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(t)):0|(t=0)}(e),Qo(t,0|Cl(0|_[t+4>>2]),i),V_(t),n[t+16|0]=1,_[t+12>>2]=i,_[t+8>>2]=e)}function eo(t,e,i,n,o,_){e=+e,i=+i,n=+n,o=+o,_=+_,p[692+(t|=0)>>2]=.5*(i-e),(e=(.5*(i-e)+e)%6.2831854820251465)<-3.1415927410125732?e+=6.2831854820251465:e>3.1415927410125732&&(e+=-6.2831854820251465),p[t+688>>2]=e,p[t+696>>2]=n,p[t+700>>2]=o,p[t+704>>2]=_}function io(t,e){var i;e|=0,(0|Cl(0|_[8+(t|=0)>>2]))>=(0|e)||(i=0|function(t){return(t|=0)?0|(t=0|function(t){return t|=0,_[6630]=1+(0|_[6630]),(t=0|di(16+(104*t|3)|0))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(t)):0|(t=0)}(e),uo(t,0|Cl(0|_[t+4>>2]),i),V_(t),n[t+16|0]=1,_[t+12>>2]=i,_[t+8>>2]=e)}function no(t,e){e|=0;var i=0,n=0,o=0;return o=0|rl(t|=0),i=+p[o>>2],o=0|Cl(e),i*=+p[o>>2],o=0|rl(t+16|0),n=+p[o>>2],o=0|sl(e),n=i+n*+p[o>>2],t=0|rl(t+32|0),i=+p[t>>2],e=0|rl(e),+(n+i*+p[e>>2])}function oo(t,e){e|=0;var i=0,n=0,o=0;return o=0|sl(t|=0),i=+p[o>>2],o=0|Cl(e),i*=+p[o>>2],o=0|sl(t+16|0),n=+p[o>>2],o=0|sl(e),n=i+n*+p[o>>2],t=0|sl(t+32|0),i=+p[t>>2],e=0|rl(e),+(n+i*+p[e>>2])}function _o(t,e){var i;t|=0,i=Q,Q=Q+80|0,function(t,e){No(t|=0,0|Cl(e|=0),0|Cl(e+16|0),0|Cl(e+32|0),0|sl(e),0|sl(e+16|0),0|sl(e+32|0),0|rl(e),0|rl(e+16|0),0|rl(e+32|0))}(i+32|0,e|=0),Xo(i,+p[e+48>>2],+p[e+52>>2],+p[e+56>>2]),Fn(i+16|0,i+32|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2]),Lo(t,i+32|0,i+16|0),Q=i}function ro(t,e,i,n,o){e|=0,i|=0,n|=0,o|=0;var r,s=0;s=(r=0|_[4+(t|=0)>>2])>>8,1&r&&(s=0|_[(0|_[i>>2])+s>>2]),t=0|_[t>>2],dd[31&_[24+(0|_[t>>2])>>2]](t,e,i+s|0,2&r?n:2,o)}function so(t,e,i){t|=0,e|=0,i|=0;var n=0,o=0,r=0;for(n=0;!((0|n)>=(0|e));)o=0|Cl(i+(n<<4)|0),r=(0|_[t+12>>2])+(n<<4)|0,_[o>>2]=_[r>>2],_[o+4>>2]=_[r+4>>2],_[o+8>>2]=_[r+8>>2],_[o+12>>2]=_[r+12>>2],n=n+1|0}function po(t,e,i){e|=0,i|=0,_[164+(t|=0)>>2]=_[e>>2],_[t+164+4>>2]=_[e+4>>2],_[t+164+8>>2]=_[e+8>>2],_[t+164+12>>2]=_[e+12>>2],e=0|Cl(e),1==+p[e>>2]&&1==+p[e+4>>2]&&1==+p[e+8>>2]&&(i=0),_[t+180>>2]=i}function co(t,e,i){e|=0,i|=0;var n=0;if((0|(n=0|Cl(0|_[4+(t|=0)>>2])))>(0|e))_[t+4>>2]=e;else{for((0|n)<(0|e)&&mo(t,e);!((0|n)>=(0|e));)_[(0|_[t+12>>2])+(n<<2)>>2]=_[i>>2],n=n+1|0;_[t+4>>2]=e}}function ao(t,e,i,n){var o;o=Q,Q=Q+32|0,Wo(o,e=+e,i=+i,n=+n,+p[348+(t|=0)>>2],+p[t+352>>2],+p[t+356>>2]),Vo(o+16|0,+p[o>>2],+p[o+4>>2],+p[o+8>>2],+p[t+344>>2]),c_(t+312|0,o+16|0),Q=o}function lo(t,e,i,n){var o;o=Q,Q=Q+32|0,Fn(o,264+(t|=0)|0,e=+e,i=+i,n=+n),Wo(o+16|0,+p[o>>2],+p[o+4>>2],+p[o+8>>2],+p[t+544>>2],+p[t+548>>2],+p[t+552>>2]),c_(t+328|0,o+16|0),Q=o}function bo(t,e,i,n){e|=0,i|=0,n|=0;var o,r=0;r=(o=0|_[4+(t|=0)>>2])>>8,1&o&&(r=0|_[(0|_[i>>2])+r>>2]),t=0|_[t>>2],pd[127&_[28+(0|_[t>>2])>>2]](t,e,i+r|0,2&o?n:2)}function Ao(t,e){var i;e|=0,(0|Cl(0|_[8+(t|=0)>>2]))>=(0|e)||(i=0|function(t){return(t|=0)?0|(t=0|function(t){return t|=0,_[6630]=1+(0|_[6630]),(t=0|di(16+(t<<4|3)|0))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(t)):0|(t=0)}(e),so(t,0|Cl(0|_[t+4>>2]),i),V_(t),n[t+16|0]=1,_[t+12>>2]=i,_[t+8>>2]=e)}function fo(t,e){e|=0;var i=0,n=0,o=0;return o=0|Cl(t|=0),i=+p[o>>2],o=0|Cl(e),i*=+p[o>>2],o=0|Cl(t+16|0),n=+p[o>>2],o=0|sl(e),n=i+n*+p[o>>2],t=0|Cl(t+32|0),i=+p[t>>2],e=0|rl(e),+(n+i*+p[e>>2])}function uo(t,e,i){t|=0,e|=0,i|=0;var n=0,o=0,r=0,s=0;for(n=0;!((0|n)>=(0|e));){o=i+(104*n|0)|0,r=(0|_[t+12>>2])+(104*n|0)|0,s=o+104|0;do{_[o>>2]=_[r>>2],o=o+4|0,r=r+4|0}while((0|o)<(0|s));n=n+1|0}}function mo(t,e){var i;e|=0,(0|Cl(0|_[8+(t|=0)>>2]))>=(0|e)||(i=0|function(t){return(t|=0)?0|(t=0|function(t){return t|=0,_[6630]=1+(0|_[6630]),(t=0|di(16+(t<<2|3)|0))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(t)):0|(t=0)}(e),e_(t,0|Cl(0|_[t+4>>2]),i),V_(t),n[t+16|0]=1,_[t+12>>2]=i,_[t+8>>2]=e)}function ho(t,e){e|=0;var i=0,n=0,o=0;return n=+p[(t|=0)>>2],i=0|Cl(e),n*=+p[i>>2],o=+p[t+4>>2],i=0|sl(e),o=n+o*+p[i>>2],n=+p[t+8>>2],i=0|rl(e),+(o+n*+p[i>>2]+ +p[t+12>>2]*+p[e+12>>2])}function yo(t){var e;return(0|(t|=0))>0&((e=0|_[l>>2])+t|0)<(0|e)|(e+t|0)<0?(L(e+t|0),R(12),-1):(e+t|0)>(0|P())&&!(0|V(e+t|0))?(R(12),-1):(_[l>>2]=e+t,0|e)}function go(t,e,i,n,o,_,r){var s;t|=0,e=+e,i=+i,n=+n,o=+o,_=+_,r=+r,s=Q,Q=Q+16|0,p[s+8>>2]=i*r-n*_,p[s+4>>2]=n*o-e*r,p[s>>2]=e*_-i*o,R_(t,s+8|0,s+4|0,s),Q=s}function Co(t){var e=0;_[(t|=0)>>2]=9836,0|n[t+192|0]&&(e=0|_[t+136>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+136>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),oe(t+64|0),oe(t+4|0)}function vo(t,e,i,n,o,_,r,s,p,c){o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,R_(t|=0,e|=0,i|=0,n|=0),R_(t+16|0,o,_,r),R_(t+32|0,s,p,c)}function So(t,e,i){var n;t|=0,n=Q,Q=Q+64|0,function(t,e,i){t|=0;var n,o=0,_=0;n=Q,Q=Q+48|0,o=+fo(i|=0,_=0|wa(e|=0,0)),p[n+32>>2]=o,o=+oo(i,_),p[n+28>>2]=o,o=+no(i,_),p[n+24>>2]=o,o=+fo(i,_=0|wa(e,1)),p[n+20>>2]=o,o=+oo(i,_),p[n+16>>2]=o,o=+no(i,_),p[n+12>>2]=o,o=+fo(i,e=0|wa(e,2)),p[n+8>>2]=o,o=+oo(i,e),p[n+4>>2]=o,o=+no(i,e),p[n>>2]=o,No(t,n+32|0,n+28|0,n+24|0,n+20|0,n+16|0,n+12|0,n+8|0,n+4|0,n),Q=n}(n+16|0,e|=0,i|=0),xn(n,e,+p[i+48>>2],+p[i+52>>2],+p[i+56>>2]),Lo(t,n+16|0,n),Q=n}function wo(t){var e,i=0;_[(t|=0)>>2]=8020,0|(e=0|_[t+52>>2])&&(Xl[511&_[_[e>>2]>>2]](e),0|(i=0|_[t+52>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])}function ko(t,e){var i,n;i=Q,Q=Q+16|0,function(t,e,i){e|=0,i|=0;var n=0,o=0;if((0|(n=0|Cl(0|_[4+(t|=0)>>2])))>(0|e))_[t+4>>2]=e;else{for((0|n)<(0|e)&&Ao(t,e);!((0|n)>=(0|e));)o=0|Cl((0|_[t+12>>2])+(n<<4)|0),_[o>>2]=_[i>>2],_[o+4>>2]=_[i+4>>2],_[o+8>>2]=_[i+8>>2],_[o+12>>2]=_[i+12>>2],n=n+1|0;_[t+4>>2]=e}}(t|=0,n=0|Cl(0|_[4+(e|=0)>>2]),i),so(e,n,0|_[t+12>>2]),Q=i}function Ro(t,e,i,n,o){var _;t|=0,e=+e,i=+i,n=+n,o=+o,_=Q,Q=Q+16|0,p[_+12>>2]=e,p[_+8>>2]=i,p[_+4>>2]=n,p[_>>2]=o,n_(t,_+12|0,_+8|0,_+4|0,_),Q=_}function jo(t,e){var i,n;t|=0,i=Q,Q=Q+16|0,n=0|Cl(0|_[4+(e|=0)>>2]),_[i>>2]=0,co(t,n,i),e_(e,n,0|_[t+12>>2]),Q=i}function Do(t,e,i){var o=0;if((0|(e|=0))<(0|(t|=0))&(0|t)<(e+(i|=0)|0)){for(o=t,e=e+i|0,t=t+i|0;(0|i)>0;)e=e-1|0,i=i-1|0,n[0|(t=t-1|0)]=0|n[0|e];t=o}else _e(t,e,i);return 0|t}function Io(t,e,i,n){e|=0,i|=0,n=+n,p[(t|=0)>>2]=(1-n)*+p[e>>2]+ +p[i>>2]*n,p[t+4>>2]=(1-n)*+p[e+4>>2]+ +p[i+4>>2]*n,p[t+8>>2]=(1-n)*+p[e+8>>2]+ +p[i+8>>2]*n}function Bo(t,e,i,n,o,_,r){var s;t|=0,e=+e,i=+i,n=+n,o=+o,_=+_,r=+r,s=Q,Q=Q+16|0,p[s+8>>2]=e+o,p[s+4>>2]=i+_,p[s>>2]=n+r,R_(t,s+8|0,s+4|0,s),Q=s}function Wo(t,e,i,n,o,_,r){var s;t|=0,e=+e,i=+i,n=+n,o=+o,_=+_,r=+r,s=Q,Q=Q+16|0,p[s+8>>2]=e*o,p[s+4>>2]=i*_,p[s>>2]=n*r,R_(t,s+8|0,s+4|0,s),Q=s}function Fo(t,e,i,n,o,_,r){var s;t|=0,e=+e,i=+i,n=+n,o=+o,_=+_,r=+r,s=Q,Q=Q+16|0,p[s+8>>2]=e-o,p[s+4>>2]=i-_,p[s>>2]=n-r,R_(t,s+8|0,s+4|0,s),Q=s}function xo(t,e,i,n){var o;o=Q,Q=Q+16|0,Wo(o,e=+e,i=+i,n=+n,+p[348+(t|=0)>>2],+p[t+352>>2],+p[t+356>>2]),c_(t+412|0,o),Q=o}function Oo(t,e,i,n){var o;o=Q,Q=Q+16|0,Wo(o,e=+e,i=+i,n=+n,+p[544+(t|=0)>>2],+p[t+548>>2],+p[t+552>>2]),c_(t+428|0,o),Q=o}function To(t,e,i){i|=0,Hs(t|=0,e|=0),_[t+48>>2]=_[i>>2],_[t+48+4>>2]=_[i+4>>2],_[t+48+8>>2]=_[i+8>>2],_[t+48+12>>2]=_[i+12>>2]}function Po(t,e){var i;return i=Q,Q=Q+16|0,Fn(i,t|=0,+p[48+(e|=0)>>2],+p[e+52>>2],+p[e+56>>2]),c_(t+48|0,i),function(t,e){var i,n=0;i=Q,Q=Q+48|0,n=+fo(e|=0,t|=0),p[i+32>>2]=n,n=+oo(e,t),p[i+28>>2]=n,n=+no(e,t),p[i+24>>2]=n,n=+fo(e,t+16|0),p[i+20>>2]=n,n=+oo(e,t+16|0),p[i+16>>2]=n,n=+no(e,t+16|0),p[i+12>>2]=n,n=+fo(e,t+32|0),p[i+8>>2]=n,n=+oo(e,t+32|0),p[i+4>>2]=n,n=+no(e,t+32|0),p[i>>2]=n,vo(t,i+32|0,i+28|0,i+24|0,i+20|0,i+16|0,i+12|0,i+8|0,i+4|0,i),Q=i}(t,e),Q=i,0|t}function Mo(t){var e,i;return i=+p[28+(t|=0)>>2],e=+Il[15&_[48+(0|_[t>>2])>>2]](t),Il[15&_[48+(0|_[t>>2])>>2]](t),Il[15&_[48+(0|_[t>>2])>>2]](t),+(i+e)}function Vo(t,e,i,n,o){var _;t|=0,e=+e,i=+i,n=+n,o=+o,_=Q,Q=Q+16|0,p[_+8>>2]=e*o,p[_+4>>2]=i*o,p[_>>2]=n*o,R_(t,_+8|0,_+4|0,_),Q=_}function Go(t,e){return e|=0,p[(t|=0)>>2]=+p[t>>2]*+p[e>>2],p[t+4>>2]=+p[t+4>>2]*+p[e>>2],p[t+8>>2]=+p[t+8>>2]*+p[e>>2],p[t+12>>2]=+p[t+12>>2]*+p[e>>2],0|t}function No(t,e,i,n,o,_,r,s,p,c){vo(t|=0,e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0)}function Lo(t,e,i){i|=0,Vn(t|=0,e|=0),_[t+48>>2]=_[i>>2],_[t+48+4>>2]=_[i+4>>2],_[t+48+8>>2]=_[i+8>>2],_[t+48+12>>2]=_[i+12>>2]}function Qo(t,e,i){t|=0,e|=0,i|=0;var n=0;for(n=0;!((0|n)>=(0|e));)Pn(i+(96*n|0)|0,(0|_[t+12>>2])+(96*n|0)|0),n=n+1|0}function Eo(t,e,i){e|=0,i|=0,function(t){_[(t|=0)>>2]=3752}(t|=0),_[t>>2]=3728,Yo(t+4|0,e),Yo(t+68|0,i),Yo(t+132|0,e),_[t+196>>2]=0}function Ho(t){var e;e=Q,Q=Q+16|0,function(t){var e;t|=0,e=Q,Q=Q+48|0,p[e+32>>2]=1,p[e+28>>2]=0,p[e+24>>2]=0,p[e+20>>2]=0,p[e+16>>2]=1,p[e+12>>2]=0,p[e+8>>2]=0,p[e+4>>2]=0,p[e>>2]=1,vo(t,e+32|0,e+28|0,e+24|0,e+20|0,e+16|0,e+12|0,e+8|0,e+4|0,e),Q=e}(t|=0),p[e+8>>2]=0,p[e+4>>2]=0,p[e>>2]=0,R_(t+48|0,e+8|0,e+4|0,e),Q=e}function Zo(t,e){(function(t,e){var i,n;e|=0,i=Q,Q=Q+16|0,_s(t|=0),n=0|Cl(0|_[e+4>>2]),_[i>>2]=0,co(t,n,i),e_(e,n,0|_[t+12>>2]),Q=i})(t|=0,e|=0),_[t+20>>2]=_[e+20>>2],_[t+20+4>>2]=_[e+20+4>>2],_[t+20+8>>2]=_[e+20+8>>2],_[t+20+12>>2]=_[e+20+12>>2]}function Uo(t,e,i,n,o,r,s,p){return e|=0,i|=0,n|=0,o|=0,r|=0,s|=0,p|=0,+ +Pl[1&_[12+(0|_[(t|=0)>>2])>>2]](t,e,i,n,o,r,s,p)}function Yo(t,e){Vn(t|=0,e|=0),_[t+48>>2]=_[e+48>>2],_[t+48+4>>2]=_[e+48+4>>2],_[t+48+8>>2]=_[e+48+8>>2],_[t+48+12>>2]=_[e+48+12>>2]}function Jo(){var t=0,e=0;return e=0|xr(0|(e=0|f_(0|_[6136],0|_[6137],1284865837,1481765933)),0|w(),1,0),t=0|w(),_[6136]=e,_[6137]=t,t=0|K_(0|e,0|t,33),w(),0|t}function Xo(t,e,i,n){var o;t|=0,e=+e,i=+i,n=+n,o=Q,Q=Q+16|0,p[o+8>>2]=-e,p[o+4>>2]=-i,p[o>>2]=-n,R_(t,o+8|0,o+4|0,o),Q=o}function zo(t,e,i){t|=0,e|=0,i|=0;var n=0;for(n=0;!((0|n)>=(0|e));)Zo(i+(36*n|0)|0,(0|_[t+12>>2])+(36*n|0)|0),n=n+1|0}function Ko(t,e,i){i|=0,R_(t|=0,(0|Cl(e|=0))+(i<<2)|0,(0|Cl(e+16|0))+(i<<2)|0,(0|Cl(e+32|0))+(i<<2)|0)}function qo(t){t|=0;var e=0;do{_[t+4>>2]=0,p[t+8>>2]=0,0|(e=0|_[t+24>>2])&&qo(e),t=0|_[t+28>>2]}while(0|t)}function $o(t,e,i,n,o,_){we(t|=0,e|=0,i|=0,n|=0,o|=0,_=+_)}function t_(t,e){e|=0,_[32+(t|=0)>>2]=_[e>>2],_[t+32+4>>2]=_[e+4>>2],_[t+32+8>>2]=_[e+8>>2],_[t+32+12>>2]=_[e+12>>2]}function e_(t,e,i){t|=0,e|=0,i|=0;var n=0;for(n=0;!((0|n)>=(0|e));)_[i+(n<<2)>>2]=_[(0|_[t+12>>2])+(n<<2)>>2],n=n+1|0}function i_(t,e){e|=0,_[52+(t|=0)>>2]=_[e>>2],_[t+52+4>>2]=_[e+4>>2],_[t+52+8>>2]=_[e+8>>2],_[t+52+12>>2]=_[e+12>>2]}function n_(t,e,i,n,o){e|=0,i|=0,n|=0,o|=0,_[(t|=0)>>2]=_[e>>2],_[t+4>>2]=_[i>>2],_[t+8>>2]=_[n>>2],_[t+12>>2]=_[o>>2]}function o_(t,e){e|=0,_[16+(t|=0)>>2]=_[e>>2],_[t+16+4>>2]=_[e+4>>2],_[t+16+8>>2]=_[e+8>>2],_[t+16+12>>2]=_[e+12>>2]}function __(t,e){e|=0,_[68+(t|=0)>>2]=_[e>>2],_[t+68+4>>2]=_[e+4>>2],_[t+68+8>>2]=_[e+8>>2],_[t+68+12>>2]=_[e+12>>2]}function r_(t,e){e|=0,_[36+(t|=0)>>2]=_[e>>2],_[t+36+4>>2]=_[e+4>>2],_[t+36+8>>2]=_[e+8>>2],_[t+36+12>>2]=_[e+12>>2]}function s_(t,e,i){e|=0,i|=0,(0|_[4+(t|=0)>>2])==(0|e)&&1!=(0|_[t+28>>2])&&(_[t+28>>2]=i)}function p_(t,e){e|=0,_[48+(t|=0)>>2]=_[e>>2],_[t+48+4>>2]=_[e+4>>2],_[t+48+8>>2]=_[e+8>>2],_[t+48+12>>2]=_[e+12>>2]}function c_(t,e){return e|=0,p[(t|=0)>>2]=+p[t>>2]+ +p[e>>2],p[t+4>>2]=+p[t+4>>2]+ +p[e+4>>2],p[t+8>>2]=+p[t+8>>2]+ +p[e+8>>2],0|t}function a_(t){var e;for(e=0|(t|=0)?t:1;!(0|(t=0|di(e)));){if(!(t=0|Wc())){t=0;break}Jl[1&t]()}return 0|t}function l_(t,e){e|=0,_[4+(t|=0)>>2]=_[e>>2],_[t+4+4>>2]=_[e+4>>2],_[t+4+8>>2]=_[e+8>>2],_[t+4+12>>2]=_[e+12>>2]}function d_(t,e){e|=0,_[(t|=0)>>2]=_[e>>2],_[t+4>>2]=_[e+4>>2],_[t+8>>2]=_[e+8>>2],_[t+12>>2]=_[e+12>>2]}function b_(t,e){e|=0,_[40+(t|=0)>>2]=_[e>>2],_[t+40+4>>2]=_[e+4>>2],_[t+40+8>>2]=_[e+8>>2],_[t+40+12>>2]=_[e+12>>2]}function A_(t,e){e|=0,_[24+(t|=0)>>2]=_[e>>2],_[t+24+4>>2]=_[e+4>>2],_[t+24+8>>2]=_[e+8>>2],_[t+24+12>>2]=_[e+12>>2]}function f_(t,e,i,n){var o,_;return e|=0,n|=0,o=0|function(t,e){var i,n,o;return o=((i=0|g(65535&(e|=0),65535&(t|=0)))>>>16)+(0|g(65535&e,t>>>16))|0,n=0|g(e>>>16,65535&t),0|(S((o>>>16)+(0|g(e>>>16,t>>>16))+(((65535&o)+n|0)>>>16)|0),o+n<<16|65535&i)}(t|=0,i|=0),_=0|w(),0|(S((0|g(e,i))+(0|g(n,t))+_|0),o)}function u_(t,e){return e|=0,p[(t|=0)>>2]=+p[t>>2]*+p[e>>2],p[t+4>>2]=+p[t+4>>2]*+p[e>>2],p[t+8>>2]=+p[t+8>>2]*+p[e>>2],0|t}function m_(t,e){e|=0,_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,p[t+(_[e+52>>2]<<2)>>2]=1}function h_(t,e){e|=0,_[8+(t|=0)>>2]=_[e>>2],_[t+8+4>>2]=_[e+4>>2],_[t+8+8>>2]=_[e+8>>2],_[t+8+12>>2]=_[e+12>>2]}function y_(t,e){t|=0,e|=0;var i=0;for(i=0;!((0|i)>=(0|e));)Ba((0|_[t+12>>2])+(36*i|0)|0),i=i+1|0}function g_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(203))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function C_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(1407))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function v_(t,e,i,n,o,r){e|=0,i|=0,n=+n,o|=0,r|=0,sd[1&_[32+(0|_[(t|=0)>>2])>>2]](t,e,i,n,o,r)}function S_(t){return t|=0,_[6630]=1+(0|_[6630]),(t=0|di(t+19|0))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function w_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(191))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function k_(t,e){t|=0,!(e|=0)&&3&_[t+204>>2]||(4!=(-2&_[t+216>>2])&&(_[t+216>>2]=1),p[t+220>>2]=0)}function R_(t,e,i,n){e|=0,i|=0,n|=0,_[(t|=0)>>2]=_[e>>2],_[t+4>>2]=_[i>>2],_[t+8>>2]=_[n>>2],p[t+12>>2]=0}function j_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(1331))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function D_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(379))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function I_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(135))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function B_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(627))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function W_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(219))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function F_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(1147))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function x_(t){return(t=+function(t){return+(t=+t)%6.2831854820251465}(t=+t))<-3.1415927410125732?+(t+=6.2831854820251465):t>3.1415927410125732?+(t+=-6.2831854820251465):+t}function O_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(115))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function T_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(783))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function P_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(131))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function M_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(111))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function V_(t){var e;(e=0|_[12+(t|=0)>>2])&&(1&n[t+16|0]&&gs(e),_[t+12>>2]=0)}function G_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(95))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function N_(t,e){return e|=0,+ +vs(+p[(t|=0)>>2],+p[t+4>>2],+p[t+8>>2],+p[e>>2],+p[e+4>>2],+p[e+8>>2])}function L_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(75))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function Q_(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(35))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}function E_(t){_[(t|=0)>>2]=3648,p[t+4>>2]=1,_[t+8>>2]=0,o[t+12>>1]=1,o[t+14>>1]=-1,_[t+16>>2]=0}function H_(t){_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=4096,_[t+12>>2]=4096,_[t+16>>2]=0,_[t+20>>2]=1}function Z_(t,e,i){return t|=0,e|=0,(0|(i|=0))<32?(S(e<>>32-i),t<>2])>>2]](t,e,i,n)}function Y_(t,e){var i;return t|=0,e=+e,i=Q,Q=Q+16|0,p[i>>2]=e,t=0|u_(t,i),Q=i,0|t}function J_(t){3&_[204+(t|=0)>>2]||(4!=(-2&_[t+216>>2])&&(_[t+216>>2]=1),p[t+220>>2]=0)}function X_(t,e){e|=0,t=0|_[4+(t|=0)>>2],Ll[31&_[8+(0|_[t>>2])>>2]](t,0|_[e+36>>2])}function z_(t,e){(function(t,e){R_(t|=0,e|=0,e+16|0,e+32|0),R_(t+16|0,e+4|0,e+20|0,e+36|0),R_(t+32|0,e+8|0,e+24|0,e+40|0)})(t|=0,e|=0),R_(t+48|0,e+48|0,e+52|0,e+56|0)}function K_(t,e,i){return t|=0,e|=0,(0|(i|=0))<32?(S(e>>>i|0),t>>>i|(e&(1<>>i-32|0)}function q_(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[88+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function $_(t,e){var i;return t|=0,e=+e,i=Q,Q=Q+16|0,p[i>>2]=1/e,t=0|Go(t,i),Q=i,0|t}function tr(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[36+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function er(t,e,i){return e=+e,i|=0,0|Nl[1&_[52+(0|_[(t|=0)>>2])>>2]](t,e,i,.01666666753590107)}function ir(t,e,i){e=+e,_[(i|=0)>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0}function nr(t,e,i,n){return e=+e,i|=0,n=+n,0|Nl[1&_[52+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function or(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[28+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function _r(t,e,i,n){e|=0,i|=0,n|=0,Hl[31&_[8+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function rr(t,e,i,n,o){o|=0,R_(t|=0,e|=0,i|=0,n|=0),_[t+12>>2]=_[o>>2]}function sr(t,e,i,o){e|=0,i=+i,o=+o,n[737+(t|=0)|0]=1&e,p[t+680>>2]=i,p[t+684>>2]=o}function pr(t,e,i){e|=0,i|=0,pd[127&_[36+(0|_[(t|=0)>>2])>>2]](t,e,i,-3)}function cr(t,e,i,n,o){return 1}function ar(t,e,i,n,o,_,r,s,p,c){return v(18),0}function lr(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[32+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function dr(t,e,i,n,o,_,r,s,p,c){return v(9),0}function br(t,e,i,n){e|=0,i=+i,n|=0,nd[7&_[28+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function Ar(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[8+(0|_[(t|=0)>>2])>>2]](t,e,i,n)}function fr(t){Rc(144+(t|=0)|0),Rc(t+124|0),Rc(t+104|0)}function ur(t,e,i){e|=0,i|=0,pd[127&_[36+(0|_[(t|=0)>>2])>>2]](t,e,i,-1)}function mr(t,e){return e=+e,0|Nl[1&_[52+(0|_[(t|=0)>>2])>>2]](t,e,1,.01666666753590107)}function hr(t,e,i){e|=0,i|=0,_d[127&_[56+(0|_[(t|=0)>>2])>>2]](t,e,i)}function yr(t,e,i,n,o,_,r,s,p,c){v(43)}function gr(t){en(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))}function Cr(t,e,i){po(t|=0,e|=0,i|=0)}function vr(t,e){e|=0,pd[127&_[36+(0|_[(t|=0)>>2])>>2]](t,e,2,-3)}function Sr(t,e,i){e=+e,i|=0,$l[15&_[32+(0|_[(t|=0)>>2])>>2]](t,e,i)}function wr(t){pe(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))}function kr(t,e,i){return e|=0,i|=0,+ +Fl[15&_[32+(0|_[(t|=0)>>2])>>2]](t,e,i)}function Rr(t,e,i,n,o,_,r,s,p){return v(17),0}function jr(t){_[(t|=0)>>2]=5444,t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))}function Dr(t,e,i,n,o,_,r,s,p){return v(8),0}function Ir(t,e,i,n){return 0|(S(0|(n=(e|=0)-(n|=0)-((i|=0)>>>0>(t|=0)>>>0|0)>>>0)),t-i>>>0)}function Br(t,e,i){e|=0,i=+i,id[7&_[8+(0|_[(t|=0)>>2])>>2]](t,e,i)}function Wr(t,e,i,n,o){n_(t|=0,e|=0,i|=0,n|=0,o|=0)}function Fr(t,e,i){e|=0,i|=0,_d[127&_[40+(0|_[(t|=0)>>2])>>2]](t,e,i)}function xr(t,e,i,n){return 0|(S((e|=0)+(n|=0)+((t|=0)+(i|=0)>>>0>>>0>>0|0)>>>0|0),t+i>>>0)}function Or(t,e){!function(t,e){t|=0,e|=0;var i=0,n=0,o=0;for(i=0;3!=(0|i);)o=(0|Cl(e))+(i<<2)|0,n=+x_(+p[o>>2]),p[t+868+(i<<6)+4>>2]=n,i=i+1|0}(t|=0,e|=0)}function Tr(t,e){!function(t,e){t|=0,e|=0;var i=0,n=0,o=0;for(i=0;3!=(0|i);)o=(0|Cl(e))+(i<<2)|0,n=+x_(+p[o>>2]),p[t+868+(i<<6)>>2]=n,i=i+1|0}(t|=0,e|=0)}function Pr(t,e){e|=0,pd[127&_[36+(0|_[(t|=0)>>2])>>2]](t,e,1,-1)}function Mr(t){_[(t|=0)>>2]=3820,p[t+4>>2]=1,o[t+8>>1]=1,o[t+10>>1]=-1}function Vr(t,e){e|=0,4!=(-2&_[216+(t|=0)>>2])&&(_[t+216>>2]=e)}function Gr(t,e){!function(t,e){e|=0,_[696+(t|=0)>>2]=_[e>>2],_[t+696+4>>2]=_[e+4>>2],_[t+696+8>>2]=_[e+8>>2],_[t+696+12>>2]=_[e+12>>2]}(t|=0,e|=0)}function Nr(t,e){!function(t,e){e|=0,_[680+(t|=0)>>2]=_[e>>2],_[t+680+4>>2]=_[e+4>>2],_[t+680+8>>2]=_[e+8>>2],_[t+680+12>>2]=_[e+12>>2]}(t|=0,e|=0)}function Lr(t,e){e|=0,_d[127&_[56+(0|_[(t|=0)>>2])>>2]](t,e,0)}function Qr(t,e){return e|=0,0|Ll[31&_[40+(0|_[(t|=0)>>2])>>2]](t,e)}function Er(t,e){e|=0,ed[127&_[60+(0|_[(t|=0)>>2])>>2]](t,e)}function Hr(t,e){e|=0,ed[127&_[92+(0|_[(t|=0)>>2])>>2]](t,e)}function Zr(t,e,i,n,o){xn(t|=0,e|=0,i=+i,n=+n,o=+o)}function Ur(t,e){e|=0,ed[127&_[40+(0|_[(t|=0)>>2])>>2]](t,e)}function Yr(t,e){e|=0,ed[127&_[84+(0|_[(t|=0)>>2])>>2]](t,e)}function Jr(t,e){e|=0,ed[127&_[72+(0|_[(t|=0)>>2])>>2]](t,e)}function Xr(t){(t|=0)&&Xl[511&_[8+(0|_[t>>2])>>2]](t)}function zr(t,e){return e|=0,e=0|Mc(0|_[12+(t|=0)>>2],e),0|_[e>>2]}function Kr(t){(t|=0)&&Xl[511&_[4+(0|_[t>>2])>>2]](t)}function qr(t){!function(t,e){var i;t|=0,e=+e,i=Q,Q=Q+16|0,p[i>>2]=1/e,u_(t,i),Q=i}(t|=0,+ep(+p[t>>2],+p[t+4>>2],+p[t+8>>2]))}function $r(t,e){e|=0,ed[127&_[8+(0|_[(t|=0)>>2])>>2]](t,e)}function ts(t,e){e|=0,ed[127&_[16+(0|_[(t|=0)>>2])>>2]](t,e)}function es(t,e){e|=0,ed[127&_[36+(0|_[(t|=0)>>2])>>2]](t,e)}function is(t,e){e|=0,ed[127&_[12+(0|_[(t|=0)>>2])>>2]](t,e)}function ns(t,e){K(t|=0,e|=0)}function os(t,e){e|=0,ed[127&_[68+(0|_[(t|=0)>>2])>>2]](t,e)}function _s(t){n[16+(t|=0)|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0}function rs(t){return 0|function(t){return 0|!!(3&(t|=0))}(0|_[204+(t|=0)>>2])}function ss(t,e){jo(t|=0,e|=0)}function ps(t,e){e|=0,ed[127&_[24+(0|_[(t|=0)>>2])>>2]](t,e)}function cs(t,e){e|=0,ed[127&_[64+(0|_[(t|=0)>>2])>>2]](t,e)}function as(t,e){e|=0,ed[127&_[44+(0|_[(t|=0)>>2])>>2]](t,e)}function ls(t,e){!function(t,e){e|=0,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),Yo(t+4|0,e)}(t|=0,e|=0)}function ds(t){return 0|(4==(0|Cl(0|_[236+(t|=0)>>2]))?t:0)}function bs(t,e){e=+e,p[572+(t|=0)>>2]=e,n[t+553|0]=1}function As(t){(t|=0)&&(Rc(t),yl(t))}function fs(t){return+ +qa(+p[16+(t|=0)>>2])}function us(t){return+ +ep(+p[(t|=0)>>2],+p[t+4>>2],+p[t+8>>2])}function ms(t,e){hp(t|=0,e=+e)}function hs(t,e){e=+e,zl[31&_[44+(0|_[(t|=0)>>2])>>2]](t,e)}function ys(t){return 0|function(t){return(t=+t)<1|0}(+p[4+(t|=0)>>2])}function gs(t){(t|=0)&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))}function Cs(t,e){return 0|function(t,e){return e|=0,e=0|Mc(0|_[276+(t|=0)>>2],e),0|_[e>>2]}(t|=0,e|=0)}function vs(t,e,i,n,o,_){return+((t=+t)*(n=+n)+(e=+e)*(o=+o)+(i=+i)*(_=+_))}function Ss(t,e){gp(t|=0,e=+e)}function ws(t){Xl[511&_[44+(0|_[(t|=0)>>2])>>2]](t)}function ks(t){return 0|function(t){return 0|!!(2&(t|=0))}(0|_[204+(t|=0)>>2])}function Rs(t,e){!function(t,e){e=+e,p[(t|=0)+184>>2]=e}(t|=0,e=+e)}function js(t){return 0|function(t){return 0|!!(0|(t|=0))}(0|_[8+(t|=0)>>2])}function Ds(t,e){Sc(t|=0,e=+e)}function Is(t,e,i,n,o){Vo(t|=0,i=+i,n=+n,o=+o,e=+e)}function Bs(t){return 0|Gl[127&_[20+(0|_[(t|=0)>>2])>>2]](t)}function Ws(t,e){Dp(t|=0,e|=0)}function Fs(t,e){return e|=0,0|_[(0|_[220+(t|=0)>>2])+(e<<2)>>2]}function xs(t,e){e=+e,p[572+(t|=0)>>2]=e,n[t+553|0]=0}function Os(t,e){!function(t,e){e|=0,_[(t|=0)+204>>2]=e}(t|=0,e|=0)}function Ts(t){Xl[511&_[24+(0|_[(t|=0)>>2])>>2]](t)}function Ps(t,e){!function(t,e){e=+e,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),p[t+232>>2]=e}(t|=0,e=+e)}function Ms(t,e,i,n){n=+n}function Vs(t){return 0|function(t){return 0|!!(1&(t|=0))}(0|_[204+(t|=0)>>2])}function Gs(t){return 0|Gl[127&_[28+(0|_[(t|=0)>>2])>>2]](t)}function Ns(t){return 0|Xs(0|_[68+(t|=0)>>2])}function Ls(t){return 0|Gl[127&_[48+(0|_[(t|=0)>>2])>>2]](t)}function Qs(t){return 1==(0|n[0|(t|=0)])?t=0:(n[0|t]=1,t=1),0|t}function Es(t){return 0|function(t){return 0|Cl(0|_[(t|=0)+268>>2])}(t|=0)}function Hs(t,e){!function(t,e){t|=0;var i,n,o,_,r,s,c=0;i=Q,Q=Q+48|0,n=2/+Vc(e|=0),c=0|Cl(e),_=+p[c>>2],c=0|sl(e),o=+p[c>>2],c=0|rl(e),s=+p[c>>2],e=0|_l(e),r=+p[e>>2],p[i+32>>2]=1-(o*(o*n)+s*(s*n)),p[i+28>>2]=_*(o*n)-r*(s*n),p[i+24>>2]=_*(s*n)+r*(o*n),p[i+20>>2]=_*(o*n)+r*(s*n),p[i+16>>2]=1-(_*(_*n)+s*(s*n)),p[i+12>>2]=o*(s*n)-r*(_*n),p[i+8>>2]=_*(s*n)-r*(o*n),p[i+4>>2]=o*(s*n)+r*(_*n),p[i>>2]=1-(_*(_*n)+o*(o*n)),vo(t,i+32|0,i+28|0,i+24|0,i+20|0,i+16|0,i+12|0,i+8|0,i+4|0,i),Q=i}(t|=0,e|=0)}function Zs(t,e){!function(t,e){e=+e,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),p[t+228>>2]=e}(t|=0,e=+e)}function Us(t){return+ +Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t)}function Ys(t,e){e|=0,o[10+(t|=0)>>1]=e}function Js(t,e){e|=0,o[8+(t|=0)>>1]=e}function Xs(t){return 0|Gl[127&_[36+(0|_[(t|=0)>>2])>>2]](t)}function zs(t,e){l_(t|=0,e|=0)}function Ks(t,e){!function(t,e){e|=0,_[(t|=0)+240>>2]=e}(t|=0,e|=0)}function qs(t,e){e|=0,n[170+(t|=0)|0]=1&e}function $s(t,e){e|=0,o[12+(t|=0)>>1]=e}function tp(t,e){e|=0,o[14+(t|=0)>>1]=e}function ep(t,e,i){return+ +ll(+function(t,e,i){return+ +vs(t=+t,e=+e,i=+i,t,e,i)}(t=+t,e=+e,i=+i))}function ip(t,e){!function(t,e){e=+e,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),p[t+224>>2]=e}(t|=0,e=+e)}function np(t){return 0|function(t){return 2!=(0|(t=0|Cl(t|=0)))&5!=(0|t)}(0|_[216+(t|=0)>>2])}function op(t){return(t=+t)<-1?t=-1:t>1&&(t=1),+ +m(+t)}function _p(t,e,i,n,o,_){return n=+n,v(4),0}function rp(t,e,i,n){}function sp(t){(t|=0)&&gs(t)}function pp(t,e,i,n){return 0|si(t|=0,e|=0,i|=0,n|=0,0)}function cp(t,e,i){e=+e}function ap(t,e){e|=0,_[72+(t|=0)>>2]=e}function lp(t,e){e|=0,_[8+(t|=0)>>2]=e}function dp(t,e){e|=0,_[216+(t|=0)>>2]=e}function bp(t,e,i,n,o,_){v(39)}function Ap(t){return(255&(t|=0))<<24|(t>>8&255)<<16|(t>>16&255)<<8|t>>>24}function fp(t,e){e|=0,_[4+(t|=0)>>2]=e}function up(t){return 0|Ga(t|=0)}function mp(t,e){e|=0,n[524+(t|=0)|0]=1&e}function hp(t,e){e=+e,p[248+(t|=0)>>2]=e}function yp(t){return+ +function(t){var e;return e=0|Cl(28+(t|=0)|0),+ +p[e+(_[t+52>>2]<<2)>>2]}(t|=0)}function gp(t,e){e=+e,p[252+(t|=0)>>2]=e}function Cp(t){return 0|Qa(t|=0)}function vp(t,e){e|=0,n[552+(t|=0)|0]=1&e}function Sp(t,e,i){return 0}function wp(t){return 0|function(t){return 0|_[(t|=0)+240>>2]}(t|=0)}function kp(t,e){e|=0,n[736+(t|=0)|0]=1&e}function Rp(t){return 0|o[10+(t|=0)>>1]}function jp(t){return 0|o[8+(t|=0)>>1]}function Dp(t,e){e|=0,n[21+(t|=0)|0]=1&e}function Ip(t){return 0|Cl(0|_[192+(t|=0)>>2])}function Bp(t){return 0|Cl(0|_[204+(t|=0)>>2])}function Wp(t){return 0|Cl(0|_[24+(t|=0)>>2])}function Fp(t){return 0|Cl(0|_[68+(t|=0)>>2])}function xp(t,e,i,n,o){return v(6),0}function Op(t){return 0|o[12+(t|=0)>>1]}function Tp(t,e){e|=0,n[737+(t|=0)|0]=1&e}function Pp(t,e){return 0|function(t,e){return e|=0,p[(t|=0)>>2]=+p[t>>2]-+p[e>>2],p[t+4>>2]=+p[t+4>>2]-+p[e+4>>2],p[t+8>>2]=+p[t+8>>2]-+p[e+8>>2],0|t}(t|=0,e|=0)}function Mp(t,e){return 0|c_(t|=0,e|=0)}function Vp(t){return 0|o[14+(t|=0)>>1]}function Gp(t,e){e|=0,_[84+(t|=0)>>2]=e}function Np(t,e){e|=0,_[88+(t|=0)>>2]=e}function Lp(t,e){return(0|(t|=0))==(0|(e|=0))|0}function Qp(t){return t=0|rl(t|=0),+ +p[t>>2]}function Ep(t){return t=0|sl(t|=0),+ +p[t>>2]}function Hp(t){return t=0|_l(t|=0),+ +p[t>>2]}function Zp(t){return 0|Cl(0|_[240+(t|=0)>>2])}function Up(t,e){e=+e,p[104+(t|=0)>>2]=e}function Yp(t,e,i,n,o){return i=+i,v(2),0}function Jp(t){return+ +function(t){var e;return e=(2+(0|_[52+(t|=0)>>2])|0)%3|0,t=(0|Cl(t+28|0))+(e<<2)|0,+ +p[t>>2]}(t|=0)}function Xp(t,e){e=+e,p[64+(t|=0)>>2]=e}function zp(t,e){e=+e,p[68+(t|=0)>>2]=e}function Kp(t){return 0|Cl(0|_[52+(t|=0)>>2])}function qp(t){(t|=0)&&yl(t)}function $p(t,e){Ec(t|=0,e=+e)}function tc(t,e){e=+e,p[76+(t|=0)>>2]=e}function ec(t,e){e=+e,p[60+(t|=0)>>2]=e}function ic(t,e){e=+e,p[52+(t|=0)>>2]=e}function nc(t,e){e=+e,p[56+(t|=0)>>2]=e}function oc(t,e){e|=0,_[20+(t|=0)>>2]=e}function _c(t,e,i){return i=+i,0}function rc(t){return+ +p[204+(t|=0)>>2]}function sc(t,e){ta(t|=0,e=+e)}function pc(t,e){ea(t|=0,e=+e)}function cc(t,e){Aa(t|=0,e=+e)}function ac(t){return+ +ll(+Vc(t|=0))}function lc(t){return 0|_[68+(t|=0)>>2]}function dc(t,e,i,n,o){v(37)}function bc(t){return 0|Ya(t|=0)}function Ac(t){return 0|_[8+(t|=0)>>2]}function fc(t,e){e=+e,p[92+(t|=0)>>2]=e}function uc(t,e){e=+e,p[40+(t|=0)>>2]=e}function mc(t,e){e=+e,p[36+(t|=0)>>2]=e}function hc(t,e){e=+e,p[48+(t|=0)>>2]=e}function yc(t){return t=0|Cl(t|=0),+ +p[t>>2]}function gc(t,e){e=+e,p[24+(t|=0)>>2]=e}function Cc(t,e){e=+e,p[20+(t|=0)>>2]=e}function vc(t,e){e=+e,p[32+(t|=0)>>2]=e}function Sc(t,e){e=+e,p[16+(t|=0)>>2]=e}function wc(t,e){e=+e,p[28+(t|=0)>>2]=e}function kc(t,e){e|=0,_[(t|=0)>>2]=e}function Rc(t){!function(t){V_(t|=0),_s(t)}(t|=0)}function jc(t,e,i){}function Dc(t,e){e=+e,p[72+(t|=0)>>2]=e}function Ic(t){return 0|_[24+(t|=0)>>2]}function Bc(t){return 0|sl(t|=0)}function Wc(){var t;return t=0|_[6773],_[6773]=t+0,0|t}function Fc(t){return 0|_[136+(t|=0)>>2]}function xc(t,e){e=+e,p[44+(t|=0)>>2]=e}function Oc(t){return 0|Cl(0|_[4+(t|=0)>>2])}function Tc(t,e,i,n){return v(15),0}function Pc(t){qr(t|=0)}function Mc(t,e){return(t|=0)+((e|=0)<<2)|0}function Vc(t){return+ +ho(t|=0,t)}function Gc(t){return 0|((t|=0)?31-(0|C(t^t-1)):32)}function Nc(t){return+ +p[(t|=0)>>2]}function Lc(t){return+ +p[64+(t|=0)>>2]}function Qc(t){return+ +p[68+(t|=0)>>2]}function Ec(t,e){e=+e,p[12+(t|=0)>>2]=e}function Hc(t){return 0|_[4+(t|=0)>>2]}function Zc(t){return 0|_[88+(t|=0)>>2]}function Uc(t){return 0|_[92+(t|=0)>>2]}function Yc(t){return 52+(t|=0)|0}function Jc(t){return+ +p[76+(t|=0)>>2]}function Xc(t){return 0|_[16+(t|=0)>>2]}function zc(t){return+ +p[60+(t|=0)>>2]}function Kc(t){return+ +p[52+(t|=0)>>2]}function qc(t){return+ +p[56+(t|=0)>>2]}function $c(t){return 0|_[96+(t|=0)>>2]}function ta(t,e){e=+e,p[8+(t|=0)>>2]=e}function ea(t,e){e=+e,p[4+(t|=0)>>2]=e}function ia(t){return 16+(t|=0)|0}function na(t,e){return 1}function oa(t){return 0|_[20+(t|=0)>>2]}function _a(t,e){}function ra(t,e,i,n){v(33)}function sa(t){return 36+(t|=0)|0}function pa(t){return+ +p[92+(t|=0)>>2]}function ca(t){return+ +p[44+(t|=0)>>2]}function aa(t){return+ +p[40+(t|=0)>>2]}function la(t){return+ +p[36+(t|=0)>>2]}function da(t){return+ +p[48+(t|=0)>>2]}function ba(t){return+ +p[72+(t|=0)>>2]}function Aa(t,e){e=+e,p[(t|=0)>>2]=e}function fa(t){return+ +p[24+(t|=0)>>2]}function ua(t){return+ +p[4+(t|=0)>>2]}function ma(t){return+ +p[20+(t|=0)>>2]}function ha(t){return+ +p[32+(t|=0)>>2]}function ya(t){return+ +p[16+(t|=0)>>2]}function ga(t){return+ +p[12+(t|=0)>>2]}function Ca(t){return+ +p[28+(t|=0)>>2]}function va(t){return 52}function Sa(t){return 84}function wa(t,e){return(t|=0)+((e|=0)<<4)|0}function ka(t){return+ +p[8+(t|=0)>>2]}function Ra(t,e,i,n){n=+n,v(31)}function ja(t){return 32+(t|=0)|0}function Da(t){return 0|_[(t|=0)>>2]}function Ia(t){return 68+(t|=0)|0}function Ba(t){Rc(t|=0)}function Wa(t){!function(t){_s(t|=0)}(t|=0)}function Fa(t,e,i){return v(14),0}function xa(t){return 60}function Oa(t,e,i){return v(3),0}function Ta(t){return 0|((t|=0)>>>0>4294963200?-1:t)}function Pa(t){_[(t|=0)>>2]=5444}function Ma(t){return(255&(t|=0))<<8|t>>8&255}function Va(t,e,i){return i=+i,v(13),0}function Ga(t){return 92+(t|=0)|0}function Na(){return 0|Q_()}function La(t){return 76+(t|=0)|0}function Qa(t){return 28+(t|=0)|0}function Ea(t){return 40+(t|=0)|0}function Ha(t){return 24+(t|=0)|0}function Za(t,e,i){v(30)}function Ua(t){return 0}function Ya(t){return 48+(t|=0)|0}function Ja(t){return 1}function Xa(t,e,i){i=+i,v(27)}function za(t,e,i){e=+e,v(24)}function Ka(t){return 3}function qa(t){return+(t=+t)}function $a(t,e,i){e=+e,i=+i,v(22)}function tl(t,e){return v(12),0}function el(t){return 6}function il(t){return 12}function nl(){return 4}function ol(t){return 2}function _l(t){return 12+(t|=0)|0}function rl(t){return 8+(t|=0)|0}function sl(t){return 4+(t|=0)|0}function pl(){return 2}function cl(t){N()}function al(){return 3}function ll(t){return+ +b(+(t=+t))}function dl(t){return+ +u(+(t=+t))}function bl(t){return+ +f(+(t=+t))}function Al(t,e){v(26)}function fl(t,e){e=+e,v(21)}function ul(t){return 0|a_(t|=0)}function ml(t){yl(t|=0)}function hl(t){}function yl(t){Ni(t|=0)}function gl(t){return v(10),0}function Cl(t){return 0|(t|=0)}function vl(t){return v(0),0}function Sl(t){v(20)}function wl(){return 1}function kl(t,e,i){e|=0,i|=0;var o,r=0,s=0,c=0,a=0,l=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0;o=Q,Q=Q+16|0,r=0|_[1112+(t|=0)>>2];t:do{if((0|r)>0)for(;;){if(A=0|_[_[t+1120>>2]>>2],0|(r=0|_[A+348>>2])&&(Tt(t+1048|0,r),0|(s=0|_[t+1052>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+1052>>2]=r,_[t+1060>>2]=(0|_[t+1060>>2])-1),0|(r=0|_[A+52>>2])&&(0|n[A+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[A+52>>2]=0),n[A+56|0]=1,_[A+52>>2]=0,_[A+44>>2]=0,_[A+48>>2]=0,0|(r=0|_[A+32>>2])&&(0|n[A+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[A+32>>2]=0),n[A+36|0]=1,_[A+32>>2]=0,_[A+24>>2]=0,_[A+28>>2]=0,0|(r=0|_[A+12>>2])&&(0|n[A+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[A+12>>2]=0),n[A+16|0]=1,_[A+12>>2]=0,_[A+4>>2]=0,_[A+8>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2]),(0|(r=0|_[t+1112>>2]))<=0){s=r;break t}a=0|_[t+1120>>2],s=0;do{if((0|_[(c=a+(s<<2)|0)>>2])==(0|A)){V=23;break}s=s+1|0}while((0|s)<(0|r));if(23==(0|V)&&(V=0,(0|s)<(0|r)&&(_[c>>2]=_[a+(r+-1<<2)>>2],_[(0|_[t+1120>>2])+(r+-1<<2)>>2]=A,_[t+1112>>2]=r+-1,r=r+-1|0)),(0|r)<=0){s=r;break}}else s=r}while(0);if((0|s)<(0|(r=(0|(r=0|_[t+712>>2]))>(0|e)?e:r))){if((0|_[t+1116>>2])<(0|r)){if(r)if(_[6630]=1+(0|_[6630]),(c=0|di(16+(r<<2|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,(0|(A=0|_[t+1112>>2]))>0){a=0;do{_[c+(a<<2)>>2]=_[(0|_[t+1120>>2])+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|A));a=c,c=t+1120|0}else a=c,c=t+1120|0;else a=0,c=t+1120|0;0|(A=0|_[c>>2])&&(0|n[t+1124|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[c>>2]=0),n[t+1124|0]=1,_[c>>2]=a,_[t+1116>>2]=r}else c=t+1120|0;do{_[(0|_[c>>2])+(s<<2)>>2]=0,s=s+1|0}while((0|s)!=(0|r))}if(_[t+1112>>2]=r,(0|r)>0){s=0;do{_[6630]=1+(0|_[6630]),(r=0|di(403))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,n[r+16|0]=1,_[r+12>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,n[r+36|0]=1,_[r+32>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,n[r+56|0]=1,_[r+52>>2]=0,_[r+44>>2]=0,_[r+48>>2]=0,_[(a=r+348|0)>>2]=0,_[a+4>>2]=0,_[a+8>>2]=0,_[a+12>>2]=0,_[a+16>>2]=0,p[r+368>>2]=100,p[r+372>>2]=.009999999776482582,n[r+376|0]=0,_[(0|_[t+1120>>2])+(s<<2)>>2]=r,a=0|_[t+1120>>2],n[377+(0|_[a+(s<<2)>>2])|0]=1,s=s+1|0,r=0|_[t+1112>>2]}while((0|s)<(0|r));if((0|r)>0){if((0|(c=0|_[t+712>>2]))>0){for(s=0,l=0,b=0,f=0,A=r;;){if(m=0|_[t+720>>2],u=l+ +p[m+(104*s|0)+8>>2],b+=+p[m+(104*s|0)+12>>2],k=f+ +p[m+(104*s|0)+16>>2],e=0|_[a+((29873*s|0)%(0|A)<<2)>>2],m=m+(104*s|0)|0,(0|(a=0|_[e+24>>2]))==(0|_[e+28>>2])&&(0|a)<(0|(h=0|a?a<<1:1))){if(h?(_[6630]=1+(0|_[6630]),(c=0|di(16+(h<<2|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,a=0|_[e+24>>2]):c=0,(0|a)>0){A=0;do{_[c+(A<<2)>>2]=_[(0|_[e+32>>2])+(A<<2)>>2],A=A+1|0}while((0|A)!=(0|a))}(A=0|_[e+32>>2])&&(0|n[e+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2]),a=0|_[e+24>>2]),_[e+32>>2]=0),n[e+36|0]=1,_[e+32>>2]=c,_[e+28>>2]=h,c=0|_[t+712>>2]}if(_[(0|_[e+32>>2])+(a<<2)>>2]=m,_[e+24>>2]=a+1,(0|(s=s+1|0))>=(0|c))break;l=u,f=k,A=0|_[t+1112>>2],a=0|_[t+1120>>2]}l=1/+(0|c),(0|r)>=0?r?(f=u*l,b*=l,l*=k,V=70):(c=0,f=u*l,b*=l,l*=k,V=72):(B=t+720|0,O=0,x=0)}else f=1/+(0|c)*0,b=1/+(0|c)*0,l=1/+(0|c)*0,V=70;if(70==(0|V)&&(_[6630]=1+(0|_[6630]),(s=0|di(16+(r<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,c=s+4+15&-16,V=72):(c=0,V=72)),72==(0|V)){s=0;do{p[c+(s<<4)>>2]=f,p[c+(s<<4)+4>>2]=b,p[c+(s<<4)+8>>2]=l,p[c+(s<<4)+12>>2]=0,s=s+1|0}while((0|s)!=(0|r));B=t+720|0,O=c,x=c}v=O+4|0,S=O+8|0,C=0;do{for(j=2-((j=.0625*+(0|C))>1?1:j),A=0,e=0;;){if(s=0|_[(0|_[t+1120>>2])+(e<<2)>>2],(0|(a=0|_[s+24>>2]))>0)if(c=0|_[s+32>>2],V=0|_[c>>2],f=+p[V+8>>2]+0,b=+p[V+12>>2]+0,l=+p[V+16>>2]+0,1==(0|a))V=82;else{s=1;do{V=0|_[c+(s<<2)>>2],f+=+p[V+8>>2],b+=+p[V+12>>2],l+=+p[V+16>>2],s=s+1|0}while((0|s)<(0|a));V=80}else l=0,b=0,f=0,V=80;if(80==(0|V)&&(V=0,a?V=82:y=A),82==(0|V)){if(V=0,f=(u=+p[(y=O+(e<<4)|0)>>2])+j*(f*(1/+(0|a))-u),b=(k=+p[(w=O+(e<<4)+4|0)>>2])+j*(b*(1/+(0|a))-k),l=(R=+p[(s=O+(e<<4)+8|0)>>2])+j*(l*(1/+(0|a))-R),p[y>>2]=f,p[w>>2]=b,p[s>>2]=l,p[O+(e<<4)+12>>2]=0,a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],(0|(s=0|_[a+24>>2]))<0){(0|_[a+28>>2])<0&&(0|(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=0,_[a+28>>2]=0);do{_[(0|_[a+32>>2])+(s<<2)>>2]=0,s=s+1|0}while(0|s)}_[a+24>>2]=0,y=A|(f-u)*(f-u)+(b-k)*(b-k)+(l-R)*(l-R)>1.1920928955078125e-7}if((0|(e=e+1|0))>=(0|r))break;A=y}C=C+1|0,s=0|_[t+712>>2];t:do{if((0|s)>0){if((0|r)<=1)for(m=0;;){if(A=0|_[_[t+1120>>2]>>2],e=(0|_[B>>2])+(104*m|0)|0,(0|(c=0|_[A+24>>2]))==(0|_[A+28>>2])&&(0|c)<(0|(F=0|c?c<<1:1))){if(F?(_[6630]=1+(0|_[6630]),(s=0|di(16+(F<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,c=0|_[A+24>>2]):s=0,(0|c)>0){a=0;do{_[s+(a<<2)>>2]=_[(0|_[A+32>>2])+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|c))}(a=0|_[A+32>>2])&&(0|n[A+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2]),c=0|_[A+24>>2]),_[A+32>>2]=0),n[A+36|0]=1,_[A+32>>2]=s,_[A+28>>2]=F,s=0|_[t+712>>2]}if(_[(0|_[A+32>>2])+(c<<2)>>2]=e,_[A+24>>2]=c+1,(0|(m=m+1|0))>=(0|s))break t}h=0;do{for(e=0|_[B>>2],b=+p[e+(104*h|0)+8>>2],f=+p[e+(104*h|0)+12>>2],u=+p[e+(104*h|0)+16>>2],c=1,l=+d(+(+p[O>>2]-b))+ +d(+(+p[v>>2]-f))+ +d(+(+p[S>>2]-u)),a=0;a=(A=(k=+d(+(+p[O+(c<<4)>>2]-b))+ +d(+(+p[O+(c<<4)+4>>2]-f))+ +d(+(+p[O+(c<<4)+8>>2]-u)))>2])+(a<<2)>>2],A=e+(104*h|0)|0,(0|(c=0|_[m+24>>2]))==(0|_[m+28>>2])&&(0|c)<(0|(W=0|c?c<<1:1))){if(W?(_[6630]=1+(0|_[6630]),(s=0|di(16+(W<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,c=0|_[m+24>>2]):s=0,(0|c)>0){a=0;do{_[s+(a<<2)>>2]=_[(0|_[m+32>>2])+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|c))}(a=0|_[m+32>>2])&&(0|n[m+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2]),c=0|_[m+24>>2]),_[m+32>>2]=0),n[m+36|0]=1,_[m+32>>2]=s,_[m+28>>2]=W,s=0|_[t+712>>2]}_[(0|_[m+32>>2])+(c<<2)>>2]=A,_[m+24>>2]=c+1,h=h+1|0}while((0|h)<(0|s))}}while(0)}while((0|C)<(0|i)&y);if((0|s)>0?(s<<=2,_[6630]=1+(0|_[6630]),(r=0|di(16+(3|s)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,wn(0|r,-1,0|s),w=r,S=r):(w=0,S=0),(0|(r=0|_[t+1112>>2]))>0){e=0|_[t+1120>>2],A=0;do{if(a=0|_[e+(A<<2)>>2],(0|_[a+24>>2])>0){if(s=0|_[B>>2],c=0|_[a+32>>2],_[w+(((0|_[c>>2])-s|0)/104<<2)>>2]=A,(0|_[a+24>>2])>1){r=1;do{_[w+(((0|_[c+(r<<2)>>2])-s|0)/104<<2)>>2]=A,r=r+1|0}while((0|r)<(0|_[a+24>>2]))}r=0|_[t+1112>>2]}A=A+1|0}while((0|A)<(0|r))}if((0|_[t+752>>2])>0){y=0;do{for(F=0|_[t+760>>2],e=0|_[B>>2],r=((0|_[F+(44*y|0)+8>>2])-e|0)/104|0,_[o>>2]=r,_[o+4>>2]=((0|_[F+(44*y|0)+12>>2])-e|0)/104|0,_[o+8>>2]=((0|_[F+(44*y|0)+16>>2])-e|0)/104|0,e=0;;){m=0|_[w+(r<<2)>>2],r=0|_[o+((3==(0|(h=e+1|0))?0:h)<<2)>>2];t:do{if((0|_[w+(r<<2)>>2])!=(0|m)){A=0|_[(0|_[t+1120>>2])+(m<<2)>>2],a=(0|_[B>>2])+(104*r|0)|0,s=0|_[A+24>>2];e:do{if((0|s)>0){for(c=0|_[A+32>>2],r=0;(0|_[c+(r<<2)>>2])!=(0|a);)if((0|(r=r+1|0))>=(0|s))break e;if((0|r)!=(0|s))break t}}while(0);if((0|s)==(0|_[A+28>>2])&&(0|s)<(0|(P=0|s?s<<1:1))){if(P?(_[6630]=1+(0|_[6630]),(r=0|di(16+(P<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[A+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[A+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[A+32>>2])&&(0|n[A+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[A+24>>2]),_[A+32>>2]=0),n[A+36|0]=1,_[A+32>>2]=r,_[A+28>>2]=P,r=s}else r=s;_[(0|_[A+32>>2])+(r<<2)>>2]=a,_[A+24>>2]=r+1}}while(0);r=0|_[o+(((e+2|0)>>>0)%3<<2)>>2];t:do{if((0|_[w+(r<<2)>>2])!=(0|m)){A=0|_[(0|_[t+1120>>2])+(m<<2)>>2],a=(0|_[B>>2])+(104*r|0)|0,s=0|_[A+24>>2];e:do{if((0|s)>0){for(c=0|_[A+32>>2],r=0;(0|_[c+(r<<2)>>2])!=(0|a);)if((0|(r=r+1|0))>=(0|s))break e;if((0|r)!=(0|s))break t}}while(0);if((0|s)==(0|_[A+28>>2])&&(0|s)<(0|(T=0|s?s<<1:1))){if(T?(_[6630]=1+(0|_[6630]),(r=0|di(16+(T<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[A+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[A+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[A+32>>2])&&(0|n[A+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[A+24>>2]),_[A+32>>2]=0),n[A+36|0]=1,_[A+32>>2]=r,_[A+28>>2]=T,r=s}else r=s;_[(0|_[A+32>>2])+(r<<2)>>2]=a,_[A+24>>2]=r+1}}while(0);if(h>>>0>=3)break;e=h,r=0|_[o+(h<<2)>>2]}y=y+1|0}while((0|y)<(0|_[t+752>>2]));r=0|_[t+1112>>2]}if((0|r)>1){if(_[6630]=1+(0|_[6630]),(r=0|di(403))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,n[r+16|0]=1,_[r+12>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,n[0|(m=r+36|0)]=1,_[(h=r+32|0)>>2]=0,_[(y=r+24|0)>>2]=0,_[(C=r+28|0)>>2]=0,n[r+56|0]=1,_[r+52>>2]=0,_[r+44>>2]=0,_[r+48>>2]=0,_[(v=r+348|0)>>2]=0,_[v+4>>2]=0,_[v+8>>2]=0,_[v+12>>2]=0,_[v+16>>2]=0,p[r+368>>2]=100,p[r+372>>2]=.009999999776482582,n[r+376|0]=0,v=r,n[r+377|0]=0,(0|(a=0|_[t+712>>2]))>0){if(_[6630]=1+(0|_[6630]),(r=0|di(16+(a<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,c=r+4+15&-16):c=0,(0|(s=0|_[y>>2]))>0){r=0;do{_[c+(r<<2)>>2]=_[(0|_[h>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s))}if(0|(r=0|_[h>>2])&&(0|n[0|m]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[h>>2]=0),n[0|m]=1,_[h>>2]=c,_[C>>2]=a,(0|(r=0|_[t+712>>2]))>0)for(e=0,c=0|_[y>>2],s=a;;){A=(0|_[B>>2])+(104*e|0)|0;do{if((0|c)==(0|s)){if((0|s)>=(0|(a=0|s?s<<1:1))){a=s;break}if(a?(_[6630]=1+(0|_[6630]),(r=0|di(16+(a<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[y>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[h>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[h>>2])&&(0|n[0|m]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[y>>2]),_[h>>2]=0),n[0|m]=1,_[h>>2]=r,_[C>>2]=a,r=0|_[t+712>>2]}else a=s,s=c}while(0);if(_[(0|_[h>>2])+(s<<2)>>2]=A,c=s+1|0,_[y>>2]=c,(0|(e=e+1|0))>=(0|r))break;s=a}}if((0|(r=0|_[t+1112>>2]))==(0|_[t+1116>>2])&&(0|r)<(0|(M=0|r?r<<1:1))){if(M?(_[6630]=1+(0|_[6630]),(r=0|di(16+(M<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,c=r,r=0|_[t+1112>>2]):c=0,(0|r)>0){s=0;do{_[c+(s<<2)>>2]=_[(0|_[t+1120>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r))}(s=0|_[t+1120>>2])&&(0|n[t+1124|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),r=0|_[t+1112>>2]),_[t+1120>>2]=0),n[t+1124|0]=1,_[t+1120>>2]=c,_[t+1116>>2]=M}_[(0|_[t+1120>>2])+(r<<2)>>2]=v,M=r+1|0,_[t+1112>>2]=M,r=(T=0|_[t+1120>>2])+(r<<2)|0,P=0|_[T>>2],_[T>>2]=_[r>>2],_[r>>2]=P,r=M}if((0|r)>0){s=0;do{e=0|_[(0|_[t+1120>>2])+(s<<2)>>2];t:do{if(!(0|_[e+24>>2])&&(s=s+-1|0,0|(r=0|_[e+348>>2])&&(Tt(t+1048|0,r),0|(c=0|_[t+1052>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[t+1052>>2]=r,_[t+1060>>2]=(0|_[t+1060>>2])-1),0|(r=0|_[e+52>>2])&&(0|n[e+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[e+52>>2]=0),n[e+56|0]=1,_[e+52>>2]=0,_[e+44>>2]=0,_[e+48>>2]=0,0|(r=0|_[e+32>>2])&&(0|n[e+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[e+32>>2]=0),n[e+36|0]=1,_[e+32>>2]=0,_[e+24>>2]=0,_[e+28>>2]=0,0|(r=0|_[e+12>>2])&&(0|n[e+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[e+12>>2]=0),n[e+16|0]=1,_[e+12>>2]=0,_[e+4>>2]=0,_[e+8>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),(0|(r=0|_[t+1112>>2]))>0)){for(A=0|_[t+1120>>2],c=0;(0|_[(a=A+(c<<2)|0)>>2])!=(0|e);)if((0|(c=c+1|0))>=(0|r))break t;if((0|c)>=(0|r))break;_[a>>2]=_[A+(r+-1<<2)>>2],_[(0|_[t+1120>>2])+(r+-1<<2)>>2]=e,_[t+1112>>2]=r+-1,r=r+-1|0}}while(0);s=s+1|0}while((0|s)<(0|r))}!(0|w)|!(0|S)||(_[6631]=1+(0|_[6631]),Ni(0|_[S+-4>>2])),!(0|O)|!(0|x)||(_[6631]=1+(0|_[6631]),Ni(0|_[x+-4>>2]))}else V=244}else V=244;t:do{if(244==(0|V)){if(!(A=0|_[t+772>>2])){if((0|r)<(0|(A=0|_[t+752>>2]))){if((0|_[t+1116>>2])<(0|A)){if(A)if(_[6630]=1+(0|_[6630]),(s=0|di(16+(A<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,(0|(a=0|_[t+1112>>2]))>0){c=0;do{_[s+(c<<2)>>2]=_[(0|_[t+1120>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|a));a=t+1120|0}else a=t+1120|0;else s=0,a=t+1120|0;0|(c=0|_[a>>2])&&(0|n[t+1124|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[a>>2]=0),n[t+1124|0]=1,_[a>>2]=s,_[t+1116>>2]=A}do{_[(0|_[t+1120>>2])+(r<<2)>>2]=0,r=r+1|0}while((0|r)!=(0|A))}if(_[t+1112>>2]=A,(0|A)>0){s=0;do{_[6630]=1+(0|_[6630]),(r=0|di(403))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,n[r+16|0]=1,_[r+12>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,n[r+36|0]=1,_[r+32>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,n[r+56|0]=1,_[r+52>>2]=0,_[r+44>>2]=0,_[r+48>>2]=0,_[(V=r+348|0)>>2]=0,_[V+4>>2]=0,_[V+8>>2]=0,_[V+12>>2]=0,_[V+16>>2]=0,p[r+368>>2]=100,p[r+372>>2]=.009999999776482582,n[r+376|0]=0,_[(0|_[t+1120>>2])+(s<<2)>>2]=r,n[377+(0|_[(0|_[t+1120>>2])+(s<<2)>>2])|0]=1,s=s+1|0}while((0|s)<(0|_[t+1112>>2]))}if((0|_[t+752>>2])<=0)break;for(e=0;;){if(a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+760>>2])+(44*e|0)+8|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(m=0|s?s<<1:1))){if(m?(_[6630]=1+(0|_[6630]),(r=0|di(16+(m<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=m,r=s}else r=s;if(_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+760>>2])+(44*e|0)+12|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(y=0|s?s<<1:1))){if(y?(_[6630]=1+(0|_[6630]),(r=0|di(16+(y<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=y,r=s}else r=s;if(_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+760>>2])+(44*e|0)+16|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(C=0|s?s<<1:1))){if(C?(_[6630]=1+(0|_[6630]),(r=0|di(16+(C<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=C,r=s}else r=s;if(_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,(0|(e=e+1|0))>=(0|_[t+752>>2]))break t}}if((0|r)<(0|A)){if((0|_[t+1116>>2])<(0|A)){if(_[6630]=1+(0|_[6630]),(s=0|di(16+(A<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,a=s+4+15&-16):a=0,(0|(c=0|_[t+1112>>2]))>0){s=0;do{_[a+(s<<2)>>2]=_[(0|_[t+1120>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|c))}0|(s=0|_[t+1120>>2])&&(0|n[t+1124|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+1120>>2]=0),n[t+1124|0]=1,_[t+1120>>2]=a,_[t+1116>>2]=A,s=t+1120|0}else s=t+1120|0;do{_[(0|_[s>>2])+(r<<2)>>2]=0,r=r+1|0}while((0|r)!=(0|A))}if(_[t+1112>>2]=A,(0|A)>0){s=0;do{_[6630]=1+(0|_[6630]),(r=0|di(403))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,n[r+16|0]=1,_[r+12>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,n[r+36|0]=1,_[r+32>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,n[r+56|0]=1,_[r+52>>2]=0,_[r+44>>2]=0,_[r+48>>2]=0,_[(V=r+348|0)>>2]=0,_[V+4>>2]=0,_[V+8>>2]=0,_[V+12>>2]=0,_[V+16>>2]=0,p[r+368>>2]=100,p[r+372>>2]=.009999999776482582,n[r+376|0]=0,_[(0|_[t+1120>>2])+(s<<2)>>2]=r,n[377+(0|_[(0|_[t+1120>>2])+(s<<2)>>2])|0]=1,s=s+1|0}while((0|s)<(0|_[t+1112>>2]))}if((0|_[t+772>>2])>0){e=0;do{if(a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+780>>2])+(104*e|0)+8|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(B=0|s?s<<1:1))){if(B?(_[6630]=1+(0|_[6630]),(r=0|di(16+(B<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=B,r=s}else r=s;if(_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+780>>2])+(104*e|0)+12|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(v=0|s?s<<1:1))){if(v?(_[6630]=1+(0|_[6630]),(r=0|di(16+(v<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=v,r=s}else r=s;if(_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+780>>2])+(104*e|0)+16|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(S=0|s?s<<1:1))){if(S?(_[6630]=1+(0|_[6630]),(r=0|di(16+(S<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=S,r=s}else r=s;if(_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,a=0|_[(0|_[t+1120>>2])+(e<<2)>>2],A=(0|_[t+780>>2])+(104*e|0)+20|0,(0|(s=0|_[a+24>>2]))==(0|_[a+28>>2])&&(0|s)<(0|(w=0|s?s<<1:1))){if(w?(_[6630]=1+(0|_[6630]),(r=0|di(16+(w<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[a+24>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[a+32>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[a+32>>2])&&(0|n[a+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[a+24>>2]),_[a+32>>2]=0),n[a+36|0]=1,_[a+32>>2]=r,_[a+28>>2]=w,r=s}else r=s;_[(0|_[a+32>>2])+(r<<2)>>2]=_[A>>2],_[a+24>>2]=r+1,e=e+1|0}while((0|e)<(0|_[t+772>>2]))}}}while(0);if(!(r=0|_[t+1112>>2]))return Q=o,0|(t=0);if((0|r)>0){h=0;do{if(y=0|_[(0|_[t+1120>>2])+(h<<2)>>2],p[y+128>>2]=0,(0|(e=0|_[y+24>>2]))>(0|(A=0|_[y+4>>2]))){do{if((0|_[y+8>>2])<(0|e)){if(e?(_[6630]=1+(0|_[6630]),(r=0|di(16+(e<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,c=0|_[y+4>>2]):(r=0,c=A),a=0|_[y+12>>2],(0|c)<=0){if(!a){n[y+16|0]=1,_[y+12>>2]=r,_[y+8>>2]=e;break}}else{s=0;do{_[r+(s<<2)>>2]=_[a+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|c))}0|n[y+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),n[y+16|0]=1,_[y+12>>2]=r,_[y+8>>2]=e}else r=0|_[y+12>>2]}while(0);wn(r+(A<<2)|0,0,e-A<<2),m=0|_[y+24>>2]}else m=e;if(_[y+4>>2]=e,A=(0|m)>0){s=0|_[y+32>>2],c=0|_[y+12>>2],r=0;do{0==(l=+p[88+(0|_[s+(r<<2)>>2])>>2])?(n[y+376|0]=1,l=0xde0b6b000000000):l=1/l,p[c+(r<<2)>>2]=l,b=l+ +p[y+128>>2],p[y+128>>2]=b,r=r+1|0}while((0|r)!=(0|m));p[y+128>>2]=1/b,r=0,l=0,f=0,u=0;do{V=0|_[s+(r<<2)>>2],I=+p[c+(r<<2)>>2],l+=+p[V+8>>2]*I,f+=I*+p[V+12>>2],u+=I*+p[V+16>>2],r=r+1|0}while((0|r)!=(0|m));b=1/b}else b=1/+p[y+128>>2],p[y+128>>2]=b,u=0,f=0,l=0;I=b*l,D=b*f,j=b*u,p[y+228>>2]=I,p[y+232>>2]=D,p[y+236>>2]=j,p[y+240>>2]=0,s=36+(r=y+316|0)|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|s));s=48+(r=y+132|0)|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|s));if(A){s=0|_[y+32>>2],c=0|_[y+12>>2],r=0,l=0,b=0,f=0,u=0,k=0,R=0;do{V=0|_[s+(r<<2)>>2],E=+p[V+8>>2]-I,N=+p[V+12>>2]-D,L=+p[V+16>>2]-j,l+=(G=+p[c+(r<<2)>>2])*(N*N+L*L),p[y+132>>2]=l,b=G*(E*E+L*L)+b,p[y+152>>2]=b,f=(E*E+N*N)*G+f,p[y+172>>2]=f,u-=N*(E*G),p[y+136>>2]=u,k-=L*(E*G),p[y+140>>2]=k,R-=L*(N*G),p[y+156>>2]=R,r=r+1|0}while((0|r)!=(0|m));r=y+136|0,s=y+140|0,c=y+156|0,a=y+152|0}else r=y+136|0,s=y+140|0,c=y+156|0,a=y+152|0,R=0,k=0,u=0,f=0,b=0,l=0;if(L=(u*k-R*l)*(E=1/((I=b*f-R*R)*l+u*(G=R*k-f*u)+(N=R*u-b*k)*k)),p[y+132>>2]=I*E,p[r>>2]=G*E,p[s>>2]=N*E,p[y+144>>2]=0,p[y+148>>2]=G*E,p[a>>2]=(f*l-k*k)*E,p[c>>2]=L,p[y+160>>2]=0,p[y+164>>2]=N*E,p[y+168>>2]=L,p[y+172>>2]=(b*l-u*u)*E,p[y+176>>2]=0,_[y+60>>2]=1065353216,_[y+64>>2]=0,_[y+64+4>>2]=0,_[y+64+8>>2]=0,_[y+64+12>>2]=0,_[y+80>>2]=1065353216,_[y+84>>2]=0,_[y+84+4>>2]=0,_[y+84+8>>2]=0,_[y+84+12>>2]=0,_[y+100>>2]=1065353216,_[y+104>>2]=0,_[y+108>>2]=_[y+228>>2],_[y+108+4>>2]=_[y+228+4>>2],_[y+108+8>>2]=_[y+228+8>>2],_[y+108+12>>2]=_[y+228+12>>2],(0|(a=0|_[y+44>>2]))<(0|m)){if((0|_[y+48>>2])<(0|m)){if(m?(_[6630]=1+(0|_[6630]),(r=0|di(16+(m<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,c=0|_[y+44>>2]):(r=0,c=a),(0|c)>0){s=0;do{V=r+(s<<4)|0,M=(0|_[y+52>>2])+(s<<4)|0,_[V>>2]=_[M>>2],_[V+4>>2]=_[M+4>>2],_[V+8>>2]=_[M+8>>2],_[V+12>>2]=_[M+12>>2],s=s+1|0}while((0|s)!=(0|c))}0|(s=0|_[y+52>>2])&&(0|n[y+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[y+52>>2]=0),n[y+56|0]=1,_[y+52>>2]=r,_[y+48>>2]=m,s=y+52|0}else s=y+52|0;r=a;do{V=(0|_[s>>2])+(r<<4)|0,_[V>>2]=_[o>>2],_[V+4>>2]=_[o+4>>2],_[V+8>>2]=_[o+8>>2],_[V+12>>2]=_[o+12>>2],r=r+1|0}while((0|r)!=(0|m))}if(_[y+44>>2]=m,A){r=0;do{M=0|_[(0|_[y+32>>2])+(r<<2)>>2],L=+p[M+12>>2]-+p[y+232>>2],E=+p[M+16>>2]-+p[y+236>>2],V=0|_[y+52>>2],p[V+(r<<4)>>2]=+p[M+8>>2]-+p[y+228>>2],p[V+(r<<4)+4>>2]=L,p[V+(r<<4)+8>>2]=E,p[V+(r<<4)+12>>2]=0,r=r+1|0}while((0|r)<(0|_[y+44>>2]))}h=h+1|0}while((0|h)<(0|_[t+1112>>2]))}if(Ri(t),r=0|_[t+1112>>2],(0|(e=0|g(r,r)))>(0|(A=0|_[t+1132>>2]))){do{if((0|_[t+1136>>2])<(0|e)){if(e?(_[6630]=1+(0|_[6630]),(r=0|di(e+19|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,c=0|_[t+1132>>2]):(r=0,c=A),a=0|_[t+1140>>2],(0|c)<=0){if(!a){n[t+1144|0]=1,_[t+1140>>2]=r,_[t+1136>>2]=e;break}}else{s=0;do{n[r+s|0]=0|n[a+s|0],s=s+1|0}while((0|s)!=(0|c))}0|n[t+1144|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),n[t+1144|0]=1,_[t+1140>>2]=r,_[t+1136>>2]=e}else r=0|_[t+1140>>2]}while(0);wn(r+A|0,0,e-A|0),r=0|_[t+1112>>2]}if(_[t+1132>>2]=e,(0|r)<=0)return Q=o,0|(t=r);w=0|_[t+1120>>2],C=0|_[t+1140>>2],y=0;do{v=0|_[w+(y<<2)>>2],_[v+380>>2]=y,S=0|_[v+24>>2],h=0;do{for(m=0|_[w+(h<<2)>>2],e=0;;){if((0|e)>=(0|S)){s=0;break}c=0|_[m+24>>2];t:do{if((0|c)>0)for(a=0|_[(0|_[v+32>>2])+(e<<2)>>2],A=0|_[m+32>>2],s=0;;){if((0|a)==(0|_[A+(s<<2)>>2])){s=1;break t}if((0|(s=s+1|0))>=(0|c)){s=0;break}}else s=0}while(0);if(s){s=1;break}e=e+1|0}t=C+((0|g(h,r))+y)|0,n[0|t]=s,h=h+1|0}while((0|h)!=(0|r));y=y+1|0}while((0|y)!=(0|r));return Q=o,0|r}function Rl(t,e,i){t|=0,i|=0;var o,r=0,s=0,c=0,a=0,l=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0;if(o=Q,Q=Q+96|0,(0|(c=(r=0|_[4+(e|=0)>>2])>>>0>8?r:8))>0){_[6630]=1+(0|_[6630]),(r=0|di(16+(c<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,s=r+4+15&-16):s=0,r=0;do{_[(q=s+(r<<4)|0)>>2]=_[o>>2],_[q+4>>2]=_[o+4>>2],_[q+8>>2]=_[o+8>>2],_[q+12>>2]=_[o+12>>2],r=r+1|0}while((0|r)!=(0|c));q=s,K=s,r=0|_[e+4>>2]}else q=0,K=0;a=0|_[e+8>>2],j=0|_[e+12>>2],W=+p[e+16>>2];do{if(r){for((0|(c=0|_[t+24>>2]))<0&&(s=0|_[t+32>>2],(0|_[t+28>>2])<0&&(0|s&&0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),n[t+36|0]=1,_[t+32>>2]=0,_[t+28>>2]=0,s=0),wn(s+(c<<2)|0,0,0|g(c,-4))),_[t+24>>2]=0,s=a,c=0,m=34028234663852886e22,A=-34028234663852886e22,y=34028234663852886e22,f=-34028234663852886e22,v=34028234663852886e22,u=-34028234663852886e22;m=(H=+p[s>>2])A?H:A,y=(H=+p[s+4>>2])f?H:f,v=(H=+p[s+8>>2])u?H:u,(0|(c=c+1|0))!=(0|r);)s=s+j|0;B=m+.5*(E=A-m),D=y+.5*(H=f-y),R=v+.5*(u-=v);do{if(r>>>0<3|E<9.999999974752427e-7|H<9.999999974752427e-7|u<9.999999974752427e-7)34028234663852886e22!=(m=u>9.999999974752427e-7&u<(m=H>9.999999974752427e-7&H<(m=E>9.999999974752427e-7&E<34028234663852886e22?E:34028234663852886e22)?H:m)?u:m)?(f=E<9.999999974752427e-7?.05000000074505806*m:E,A=H<9.999999974752427e-7?.05000000074505806*m:H,u<9.999999974752427e-7&&(u=.05000000074505806*m)):(u=.009999999776482582,f=.009999999776482582,A=.009999999776482582),H=B-f,E=B+f,P=D-A,f=D+A,A=R-u,m=R+u,p[q>>2]=H,p[q+4>>2]=P,p[q+8>>2]=A,p[q+16>>2]=E,p[q+20>>2]=P,p[q+24>>2]=A,p[q+32>>2]=E,p[q+36>>2]=f,p[q+40>>2]=A,p[q+48>>2]=H,p[q+52>>2]=f,p[q+56>>2]=A,p[q+64>>2]=H,p[q+68>>2]=P,p[q+72>>2]=m,p[q+80>>2]=E,p[q+84>>2]=P,p[q+88>>2]=m,p[q+96>>2]=E,p[q+100>>2]=f,p[q+104>>2]=m,p[q+112>>2]=H,p[q+116>>2]=f,p[q+120>>2]=m,m=1,f=1,A=1,J=8,z=57;else{for(C=0,w=0,S=a,c=0;;){if(y=1/E*+p[S>>2],v=1/H*+p[S+4>>2],k=1/u*+p[S+8>>2],S=S+j|0,C){s=0;do{if(A=+p[(a=q+(s<<4)|0)>>2],f=+p[(l=q+(s<<4)+4|0)>>2],m=+p[(h=q+(s<<4)+8|0)>>2],+d(+(A-y))>>0>>0);28==(0|z)&&(z=0,(y-1/E*B)*(y-1/E*B)+(v-1/H*D)*(v-1/H*D)+(k-1/u*R)*(k-1/u*R)>(A-1/E*B)*(A-1/E*B)+(f-1/H*D)*(f-1/H*D)+(m-1/u*R)*(m-1/u*R)&&(p[a>>2]=y,p[l>>2]=v,p[h>>2]=k)),(0|s)==(0|C)?z=32:(h=s,M=C)}else s=0,z=32;if(32==(0|z)&&(z=0,p[q+(s<<4)>>2]=y,p[q+(s<<4)+4>>2]=v,p[q+(s<<4)+8>>2]=k,h=s,M=s+1|0),(0|c)==(0|_[t+28>>2])&&(0|c)<(0|(I=0|c?c<<1:1))){if(I?(_[6630]=1+(0|_[6630]),(s=0|di(16+(I<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,c=0|_[t+24>>2]):s=0,l=0|_[t+32>>2],(0|c)<=0)l&&(z=43);else{a=0;do{_[s+(a<<2)>>2]=_[l+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|c));z=43}43==(0|z)&&(z=0,0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+32>>2]=0,c=0|_[t+24>>2]),n[t+36|0]=1,_[t+32>>2]=s,_[t+28>>2]=I,s=c}else s=c;if(_[(0|_[t+32>>2])+(s<<2)>>2]=h,c=1+(0|_[t+24>>2])|0,_[t+24>>2]=c,(0|(w=w+1|0))==(0|r))break;C=M}if(S=!(0|M))r=1,k=34028234663852886e22,m=-34028234663852886e22,v=34028234663852886e22,f=-34028234663852886e22,y=34028234663852886e22,A=-34028234663852886e22;else{for(r=0,D=34028234663852886e22,k=34028234663852886e22,B=-34028234663852886e22,m=-34028234663852886e22,F=34028234663852886e22,v=34028234663852886e22,x=-34028234663852886e22,f=-34028234663852886e22,T=34028234663852886e22,y=34028234663852886e22,P=-34028234663852886e22,A=-34028234663852886e22;k=(s=(R=+p[q+(r<<4)>>2])B)?R:m,v=(a=(W=+p[q+(r<<4)+4>>2])x)?W:f,y=(h=(O=+p[q+(r<<4)+8>>2])P)?O:A,(0|(r=r+1|0))!=(0|M);)D=s?R:D,B=c?R:B,F=a?W:F,x=l?W:x,T=h?O:T,P=C?O:P;r=M>>>0<3}if(!(r|(D=m-k)<9.999999974752427e-7|(f-=v)<9.999999974752427e-7|(m=A-y)<9.999999974752427e-7)){if(!S){m=E,f=H,A=u,J=M,z=57;break}break}R=k+.5*D,k=v+.5*f,v=y+.5*m,34028234663852886e22!=(y=m>=9.999999974752427e-7&m<(y=f>=9.999999974752427e-7&f<(y=D>=9.999999974752427e-7&D<34028234663852886e22?D:34028234663852886e22)?f:y)?m:y)?(A=D<9.999999974752427e-7?.05000000074505806*y:D,f=f<9.999999974752427e-7?.05000000074505806*y:f,m<9.999999974752427e-7&&(m=.05000000074505806*y)):(m=.009999999776482582,f=.009999999776482582,A=.009999999776482582),P=R-A,A=R+A,T=k-f,f=k+f,O=v-m,m=v+m,p[q>>2]=P,p[q+4>>2]=T,p[q+8>>2]=O,p[q+16>>2]=A,p[q+20>>2]=T,p[q+24>>2]=O,p[q+32>>2]=A,p[q+36>>2]=f,p[q+40>>2]=O,p[q+48>>2]=P,p[q+52>>2]=f,p[q+56>>2]=O,p[q+64>>2]=P,p[q+68>>2]=T,p[q+72>>2]=m,p[q+80>>2]=A,p[q+84>>2]=T,p[q+88>>2]=m,p[q+96>>2]=A,p[q+100>>2]=f,p[q+104>>2]=m,p[q+112>>2]=P,p[q+116>>2]=f,p[q+120>>2]=m,m=E,f=H,A=u,J=8,z=57}}while(0);if(57==(0|z)){r=0;do{p[(X=q+(r<<4)|0)>>2]=m*+p[X>>2],p[(X=q+(r<<4)+4|0)>>2]=f*+p[X>>2],p[(X=q+(r<<4)+8|0)>>2]=A*+p[X>>2],r=r+1|0}while(r>>>0>>0);if(G=0|_[e+20>>2],(0|J)>=4){for(A=+p[q>>2],m=+p[q+4>>2],f=+p[q+8>>2],X=J<<2,_[6630]=1+(0|_[6630]),(r=0|di(16+(3|X)|0))?(_[(r+4+15&-16)-4>>2]=r,c=r+4+15&-16):c=0,n[o+52+16|0]=1,_[(Z=o+52+12|0)>>2]=0,_[o+52+4>>2]=0,_[(I=o+52+8|0)>>2]=0,_[6630]=1+(0|_[6630]),(s=0|di(16+(3|X)|0))?(_[(s+4+15&-16)-4>>2]=s,(r=0|_[Z>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),n[o+52+16|0]=1,_[Z>>2]=s+4+15&-16,_[I>>2]=J,j=Z):(r=s+4+15&-16,z=63)):(r=0,z=63),63==(0|z)&&(n[o+52+16|0]=1,_[Z>>2]=r,_[I>>2]=J,j=Z),w=0,r=0,R=A,k=f,u=f,h=J,S=c,y=m,v=m,l=c,s=J,C=c;;){if((0|r)==(0|s)&&(0|r)<(0|(V=0|r?r<<1:1))){if(0|V&&(_[6630]=1+(0|_[6630]),0|(U=0|di(16+(V<<2|3)|0)))?(_[(U+4+15&-16)-4>>2]=U,a=U+4+15&-16):a=0,c=0|_[Z>>2],(0|r)<=0)c&&(z=75);else{s=0;do{_[a+(s<<2)>>2]=_[c+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r));z=75}75==(0|z)&&(z=0,_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),_[Z>>2]=0,r=0|_[o+52+4>>2]),_[j>>2]=a,_[I>>2]=V}_[(0|_[Z>>2])+(r<<2)>>2]=1,_[o+52+4>>2]=r+1;do{if((0|w)==(0|h))if((0|w)<(0|(s=(r=!(0|w))?1:w<<1))){if(0|s&&(_[6630]=1+(0|_[6630]),0|(Y=0|di(16+(s<<2|3)|0)))?(_[(Y+4+15&-16)-4>>2]=Y,c=Y+4+15&-16):c=0,r){if(!S){s=1,N=c,L=c;break}}else{r=0;do{_[c+(r<<2)>>2]=_[S+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|w))}C?(_[6631]=1+(0|_[6631]),Ni(0|_[C+-4>>2]),N=c,L=c):(N=c,L=c)}else s=w,N=S,L=l,c=C;else s=h,N=S,L=l,c=C}while(0);if(_[N+(w<<2)>>2]=0,r=w+1|0,m=(E=+p[q+(w<<4)>>2])>2])>2])=(0|J))break;w=r,r=0|_[o+52+4>>2],R=A,A=m,k=f,h=s,S=N,l=L,s=0|_[I>>2],C=c}n[o+52+16|0]=1,F=.0010000000474974513*+b(+((A-m)*(A-m)+(y-v)*(y-v)+(f-u)*(f-u))),_[o>>2]=1008981770,_[o+4>>2]=1017370378,_[o+8>>2]=1065353216,p[o+12>>2]=0,M=0|ei(q,J,o,o+52|0),p[o+72>>2]=-.009999999776482582,p[o+72+4>>2]=-.019999999552965164,p[o+72+8>>2]=-1,p[o+72+12>>2]=0,C=q+((V=0|ei(q,J,o+72|0,o+52|0))<<4)|0,y=+p[(h=q+(M<<4)|0)>>2]-+p[C>>2],w=q+(V<<4)+4|0,v=+p[(S=q+(M<<4)+4|0)>>2]-+p[w>>2],I=q+(V<<4)+8|0,k=+p[(j=q+(M<<4)+8|0)>>2]-+p[I>>2],p[o>>2]=y,p[o+4>>2]=v,p[o+8>>2]=k,p[o+12>>2]=0;t:do{if((0|M)==(0|V)||0==k&0==v&0==y)z=101;else if(A=.019999999552965164*k-0*v,p[o+16>>2]=A,p[o+20>>2]=0*y-k,p[o+24>>2]=v-.019999999552965164*y,p[o+28>>2]=0,p[o+32>>2]=k-0*v,p[o+36>>2]=.019999999552965164*k+0*y,p[o+40>>2]=-.019999999552965164*v-y,p[o+44>>2]=0,(f=+b(+(A*A+(0*y-k)*(0*y-k)+(v-.019999999552965164*y)*(v-.019999999552965164*y))))>+b(+((k-0*v)*(k-0*v)+(.019999999552965164*k+0*y)*(.019999999552965164*k+0*y)+(-.019999999552965164*v-y)*(-.019999999552965164*v-y)))?(p[o+16>>2]=A*(1/f),p[o+20>>2]=1/f*(0*y-k),m=1/f*(v-.019999999552965164*y),u=A*(1/f),A=1/f*(0*y-k)):(_[o+16>>2]=_[o+32>>2],_[o+16+4>>2]=_[o+32+4>>2],_[o+16+8>>2]=_[o+32+8>>2],_[o+16+12>>2]=_[o+32+12>>2],u=+p[o+16>>2],H=+p[o+20>>2],m=+p[o+24>>2],A=1/+b(+(u*u+H*H+m*m)),p[o+16>>2]=u*A,p[o+20>>2]=H*A,m*=A,u*=A,A*=H),p[o+24>>2]=m,(0|(r=0|ei(q,J,o+16|0,o+52|0)))==(0|M)|(0|r)==(0|V)?(p[o+72>>2]=-u,p[o+72+4>>2]=-A,p[o+72+8>>2]=-m,p[o+72+12>>2]=0,l=0|ei(q,J,o+72|0,o+52|0)):l=r,(0|l)==(0|M)|(0|l)==(0|V))z=101;else if(A=+p[(s=q+(l<<4)|0)>>2]-+p[h>>2],f=+p[(c=q+(l<<4)+4|0)>>2]-+p[S>>2],u=+p[(a=q+(l<<4)+8|0)>>2]-+p[j>>2],p[o+16>>2]=A,p[o+20>>2]=f,p[o+24>>2]=u,p[o+28>>2]=0,m=1/+b(+((v*A-f*y)*(v*A-f*y)+((f*k-u*v)*(f*k-u*v)+(u*y-k*A)*(u*y-k*A)))),p[o+32>>2]=(f*k-u*v)*m,p[o+36>>2]=(u*y-k*A)*m,p[o+40>>2]=(v*A-f*y)*m,_[o+44>>2]=0,(0|(r=0|ei(q,J,o+32|0,o+52|0)))==(0|l)|(0|r)==(0|M)|(0|r)==(0|V)&&(p[o+72>>2]=-(f*k-u*v)*m,p[o+72+4>>2]=-(u*y-k*A)*m,p[o+72+8>>2]=-(v*A-f*y)*m,p[o+72+12>>2]=0,r=0|ei(q,J,o+72|0,o+52|0)),(0|r)==(0|l)|(0|r)==(0|M)|(0|r)==(0|V))z=101;else if(B=+p[h>>2],O=+p[S>>2],D=+p[j>>2],E=+p[C>>2]-B,W=+p[w>>2]-O,T=+p[I>>2]-D,P=+p[s>>2]-B,x=+p[c>>2]-O,H=+p[a>>2]-D,s=(Y=(+p[q+(r<<4)+8>>2]-D)*(E*x-W*P)+((+p[q+(r<<4)>>2]-B)*(W*H-T*x)+(+p[q+(r<<4)+4>>2]-O)*(T*P-E*H))<0)?l:r,r=Y?r:l,-1!=(0|M)){if(D=.25*(+p[q+(M<<4)>>2]+ +p[q+(V<<4)>>2]+ +p[q+(r<<4)>>2]+ +p[q+(s<<4)>>2]),B=.25*(+p[q+(M<<4)+4>>2]+ +p[q+(V<<4)+4>>2]+ +p[q+(r<<4)+4>>2]+ +p[q+(s<<4)+4>>2]),W=.25*(+p[q+(M<<4)+8>>2]+ +p[q+(V<<4)+8>>2]+ +p[q+(r<<4)+8>>2]+ +p[q+(s<<4)+8>>2]),Y=0|Kt(t,r,s,V),_[Y+12>>2]=2,_[Y+16>>2]=3,_[Y+20>>2]=1,Y=0|Kt(t,s,r,M),_[Y+12>>2]=3,_[Y+16>>2]=2,_[Y+20>>2]=0,Y=0|Kt(t,M,V,s),_[Y+12>>2]=0,_[Y+16>>2]=1,_[Y+20>>2]=3,Y=0|Kt(t,V,M,r),_[Y+12>>2]=1,_[Y+16>>2]=0,_[Y+20>>2]=2,_[N+(s<<2)>>2]=1,_[N+(r<<2)>>2]=1,_[N+(V<<2)>>2]=1,_[N+(M<<2)>>2]=1,(0|(r=0|_[t+4>>2]))>0){s=0;do{r=0|_[(0|_[t+12>>2])+(s<<2)>>2],U=0|_[r>>2],V=0|_[r+4>>2],Y=0|_[r+8>>2],u=(y=+p[q+(V<<4)>>2])-+p[q+(U<<4)>>2],m=(v=+p[q+(V<<4)+4>>2])-+p[q+(U<<4)+4>>2],A=(f=+p[q+(V<<4)+8>>2])-+p[q+(U<<4)+8>>2],y=+p[q+(Y<<4)>>2]-y,v=+p[q+(Y<<4)+4>>2]-v,f=+p[q+(Y<<4)+8>>2]-f,0==(k=+b(+((u*v-m*y)*(u*v-m*y)+((m*f-A*v)*(m*f-A*v)+(A*y-u*f)*(A*y-u*f)))))?(_[o>>2]=1065353216,_[o+4>>2]=0,_[o+8>>2]=0,R=1,f=0,A=0):(p[o>>2]=1/k*(m*f-A*v),p[o+4>>2]=1/k*(A*y-u*f),p[o+8>>2]=1/k*(u*v-m*y),R=1/k*(m*f-A*v),f=1/k*(A*y-u*f),A=1/k*(u*v-m*y)),p[o+12>>2]=0,U=0|ei(q,J,o,o+52|0),_[r+28>>2]=U,Y=0|_[r>>2],p[r+32>>2]=(+p[q+(U<<4)>>2]-+p[q+(Y<<4)>>2])*R+(+p[q+(U<<4)+4>>2]-+p[q+(Y<<4)+4>>2])*f+(+p[q+(U<<4)+8>>2]-+p[q+(Y<<4)+8>>2])*A,s=s+1|0,r=0|_[t+4>>2]}while((0|s)<(0|r))}if((0|(s=0|G?G+-4|0:999999996))>0)for(;;){C=0|_[t+12>>2],l=0,c=0;do{a=0|_[C+(l<<2)>>2];do{if(c){if(!a)break;+p[c+32>>2]<+p[a+32>>2]&&(z=115)}else z=115}while(0);115==(0|z)&&(z=0,c=a),l=l+1|0}while((0|l)<(0|r));if(!(0|c&&+p[c+32>>2]>F)){r=1;break t}S=0|_[c+28>>2],_[N+(S<<2)>>2]=1,r=0|_[t+4>>2];e:do{if(0|r){for(a=q+(S<<4)|0,l=q+(S<<4)+4|0,h=q+(S<<4)+8|0,c=C;;){c=0|_[c+((r=r+-1|0)<<2)>>2];do{if(0|c){if(U=0|_[c>>2],G=0|_[c+4>>2],Y=0|_[c+8>>2],T=+p[q+(G<<4)>>2],P=+p[q+(U<<4)>>2],y=+p[q+(G<<4)+4>>2],k=+p[q+(U<<4)+4>>2],R=+p[q+(G<<4)+8>>2],x=+p[q+(U<<4)+8>>2],O=+p[q+(Y<<4)>>2]-T,v=+p[q+(Y<<4)+4>>2]-y,E=+p[q+(Y<<4)+8>>2]-R,H=+b(+(((T-P)*v-(y-k)*O)*((T-P)*v-(y-k)*O)+(((y-k)*E-(R-x)*v)*((y-k)*E-(R-x)*v)+((R-x)*O-(T-P)*E)*((R-x)*O-(T-P)*E)))),!((+p[h>>2]-x)*(0==H?0:1/H*((T-P)*v-(y-k)*O))+((+p[a>>2]-P)*(0==H?1:1/H*((y-k)*E-(R-x)*v))+(+p[l>>2]-k)*(0==H?0:1/H*((R-x)*O-(T-P)*E)))>.009999999776482582*F))break;Ve(t,c,S)}}while(0);if(!r)break;c=0|_[t+12>>2]}if(!(r=0|_[t+4>>2]))break;c=r;i:do{c=c+-1|0,l=0|_[t+12>>2],h=0|_[l+(c<<2)>>2];do{if(h){C=0|_[h>>2];do{if((0|C)!=(0|S)){if((0|(a=0|_[h+4>>2]))==(0|S)){a=S;break}if((0|_[h+8>>2])!=(0|S))break i}else a=0|_[h+4>>2]}while(0);if(Y=0|_[h+8>>2],T=+p[q+(a<<4)>>2],P=+p[q+(C<<4)>>2],y=+p[q+(a<<4)+4>>2],k=+p[q+(C<<4)+4>>2],R=+p[q+(a<<4)+8>>2],x=+p[q+(C<<4)+8>>2],O=+p[q+(Y<<4)>>2]-T,v=+p[q+(Y<<4)+4>>2]-y,E=+p[q+(Y<<4)+8>>2]-R,!((H=+b(+(((T-P)*v-(y-k)*O)*((T-P)*v-(y-k)*O)+(((y-k)*E-(R-x)*v)*((y-k)*E-(R-x)*v)+((R-x)*O-(T-P)*E)*((R-x)*O-(T-P)*E))))).009999999776482582*F))break;Ve(t,0|_[l+(_[h+12>>2]<<2)>>2],S),c=r=0|_[t+4>>2]}}while(0)}while(0|c);if(!r)break;do{if(r=r+-1|0,0|(a=0|_[(0|_[t+12>>2])+(r<<2)>>2])){if((0|_[a+28>>2])>-1)break e;U=0|_[a>>2],G=0|_[a+4>>2],Y=0|_[a+8>>2],u=(y=+p[q+(G<<4)>>2])-+p[q+(U<<4)>>2],m=(v=+p[q+(G<<4)+4>>2])-+p[q+(U<<4)+4>>2],A=(f=+p[q+(G<<4)+8>>2])-+p[q+(U<<4)+8>>2],y=+p[q+(Y<<4)>>2]-y,v=+p[q+(Y<<4)+4>>2]-v,f=+p[q+(Y<<4)+8>>2]-f,0==(k=+b(+((u*v-m*y)*(u*v-m*y)+((m*f-A*v)*(m*f-A*v)+(A*y-u*f)*(A*y-u*f)))))?(_[o>>2]=1065353216,_[o+4>>2]=0,_[o+8>>2]=0,R=1,f=0,A=0):(p[o>>2]=1/k*(m*f-A*v),p[o+4>>2]=1/k*(A*y-u*f),p[o+8>>2]=1/k*(u*v-m*y),R=1/k*(m*f-A*v),f=1/k*(A*y-u*f),A=1/k*(u*v-m*y)),p[o+12>>2]=0,c=0|ei(q,J,o,o+52|0),_[a+28>>2]=c,0|_[N+(c<<2)>>2]?_[a+28>>2]=-1:(Y=0|_[a>>2],p[a+32>>2]=(+p[q+(c<<4)>>2]-+p[q+(Y<<4)>>2])*R+(+p[q+(c<<4)+4>>2]-+p[q+(Y<<4)+4>>2])*f+(+p[q+(c<<4)+8>>2]-+p[q+(Y<<4)+8>>2])*A)}}while(0|r)}}while(0);if((0|s)<=1){r=1;break t}s=s+-1|0,r=0|_[t+4>>2]}else r=1}else r=0}while(0);if(101==(0|z)&&(r=0),0|(s=0|_[Z>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),_[Z>>2]=0),!(0|N)|!(0|L)||(_[6631]=1+(0|_[6631]),Ni(0|_[L+-4>>2])),r){if((0|(s=0|_[t+4>>2]))>0){for(I=0,C=0,a=0,h=0,w=0,c=0;;){if(l=0|_[(0|_[t+12>>2])+(I<<2)>>2]){do{if((0|h)==(0|C)){if((0|C)>=(0|(s=0|C?C<<1:1))){s=C;break}do{if(s){if(_[6630]=1+(0|_[6630]),!(r=0|di(16+(s<<2|3)|0))){c=0;break}_[(r+4+15&-16)-4>>2]=r,c=r+4+15&-16}else c=0}while(0);if((0|C)>0){r=0;do{_[c+(r<<2)>>2]=_[a+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|C));if(!w){a=c,w=c;break}}else if(!(0|a)|!(0|w)){a=c,w=c;break}_[6631]=1+(0|_[6631]),Ni(0|_[w+-4>>2]),a=c,w=c}else s=C}while(0);_[a+(h<<2)>>2]=_[l>>2],C=h+1|0,S=4+(0|_[(0|_[t+12>>2])+(I<<2)>>2])|0;do{if((0|C)==(0|s)){if((0|s)>=(0|(l=0|s?s<<1:1))){j=w;break}do{if(l){if(_[6630]=1+(0|_[6630]),!(r=0|di(16+(l<<2|3)|0))){c=0;break}_[(r+4+15&-16)-4>>2]=r,c=r+4+15&-16}else c=0}while(0);if((0|s)>0){r=0;do{_[c+(r<<2)>>2]=_[a+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s));if(!w){s=l,a=c,j=c;break}}else if(!(0|a)|!(0|w)){s=l,a=c,j=c;break}_[6631]=1+(0|_[6631]),Ni(0|_[w+-4>>2]),s=l,a=c,j=c}else j=w}while(0);_[a+(C<<2)>>2]=_[S>>2],S=h+2|0,w=8+(0|_[(0|_[t+12>>2])+(I<<2)>>2])|0;do{if((0|S)==(0|s)){if((0|s)>=(0|(l=0|s?s<<1:1))){l=j;break}do{if(l){if(_[6630]=1+(0|_[6630]),!(r=0|di(16+(l<<2|3)|0))){C=0;break}_[(r+4+15&-16)-4>>2]=r,C=r+4+15&-16}else C=0}while(0);if((0|s)>0){r=0;do{_[C+(r<<2)>>2]=_[a+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s));if(!j){s=l,a=C,c=C,l=C;break}}else if(!(0|a)|!(0|j)){s=l,a=C,c=C,l=C;break}_[6631]=1+(0|_[6631]),Ni(0|_[j+-4>>2]),s=l,a=C,c=C,l=C}else l=j}while(0);_[a+(S<<2)>>2]=_[w>>2],Y=0|_[t+12>>2],r=0|_[Y+(I<<2)>>2],_[Y+(_[r+24>>2]<<2)>>2]=0,0|r&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),C=s,h=h+3|0,s=0|_[t+4>>2],r=l}else r=w;if((0|(I=I+1|0))>=(0|s))break;w=r}if(_[o+48>>2]=(0|h)/3|0,(0|h)>0){_[6630]=1+(0|_[6630]),(r=0|di(16+(h<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,s=r+4+15&-16):s=0,wn(0|s,0,h<<2),r=0;do{_[s+(r<<2)>>2]=_[a+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|h));l=s,r=s}else l=0,r=0;C=c,L=h,s=0|_[t+4>>2],M=l}else _[o+48>>2]=0,C=0,a=0,r=0,L=0,M=0;if((0|s)<0){(0|_[t+8>>2])<0&&(0|(c=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=0,_[t+8>>2]=0);do{_[(0|_[t+12>>2])+(s<<2)>>2]=0,s=s+1|0}while(0|s)}if(_[t+4>>2]=0,!(0|a)|!(0|C)||(_[6631]=1+(0|_[6631]),Ni(0|_[C+-4>>2])),N=0|_[o+48>>2],l=(0|J)>0){_[6630]=1+(0|_[6630]),(s=0|di(16+(J<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,c=s+4+15&-16):c=0,s=0;do{_[(Y=c+(s<<4)|0)>>2]=_[o>>2],_[Y+4>>2]=_[o+4>>2],_[Y+8>>2]=_[o+8>>2],_[Y+12>>2]=_[o+12>>2],s=s+1|0}while((0|s)!=(0|J));G=c,V=c}else G=0,V=0;c=0|_[t+24>>2];do{if((0|c)>0){if(_[6630]=1+(0|_[6630]),(s=0|di(16+(c<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,a=s+4+15&-16):a=0,wn(0|a,0,c<<2),(0|_[t+24>>2])<=0){I=a,j=a;break}c=0|_[t+32>>2],s=0;do{_[a+(s<<2)>>2]=_[c+(s<<2)>>2],s=s+1|0}while((0|s)<(0|_[t+24>>2]));I=a,j=a}else I=0,j=0}while(0);if(l?(_[6630]=1+(0|_[6630]),(s=0|di(16+(3|X)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,wn(0|s,0,0|X),S=s,w=s):(S=0,w=0),wn(0|w,0,0|X),(0|N)<=0)S?(s=0,z=241):C=0;else{C=0,s=0;do{if(l=0|_[(c=r+(C<<2)|0)>>2],a=0|_[(h=S+(l<<2)|0)>>2])_[c>>2]=a+-1;else{if(_[c>>2]=s,_[G+(s<<4)>>2]=_[K+(l<<4)>>2],_[G+(s<<4)+4>>2]=_[K+(l<<4)+4>>2],_[G+(s<<4)+8>>2]=_[K+(l<<4)+8>>2],(0|(c=0|_[t+24>>2]))>0){a=0;do{(0|_[I+(a<<2)>>2])==(0|l)&&(_[(0|_[t+32>>2])+(a<<2)>>2]=s,c=0|_[t+24>>2]),a=a+1|0}while((0|a)<(0|c))}s=s+1|0,_[h>>2]=s}C=C+1|0}while((0|C)!=(3*N|0));z=241}do{if(241==(0|z)){if(!w){C=s;break}_[6631]=1+(0|_[6631]),Ni(0|_[w+-4>>2]),C=s}}while(0);!(0|I)|!(0|j)||(_[6631]=1+(0|_[6631]),Ni(0|_[j+-4>>2]));do{if(1&_[e>>2]){if(n[0|i]=0,_[i+4>>2]=C,(0|(l=0|_[i+12>>2]))<(0|C)){if((0|_[i+16>>2])<(0|C)){if(C?(_[6630]=1+(0|_[6630]),(s=0|di(16+(C<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,a=0|_[i+12>>2]):(s=0,a=l),(0|a)>0){c=0;do{t=s+(c<<4)|0,z=(0|_[i+20>>2])+(c<<4)|0,_[t>>2]=_[z>>2],_[t+4>>2]=_[z+4>>2],_[t+8>>2]=_[z+8>>2],_[t+12>>2]=_[z+12>>2],c=c+1|0}while((0|c)!=(0|a))}0|(c=0|_[i+20>>2])&&(0|n[i+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[i+20>>2]=0),n[i+24|0]=1,_[i+20>>2]=s,_[i+16>>2]=C,c=i+20|0}else c=i+20|0;s=l;do{t=(0|_[c>>2])+(s<<4)|0,_[t>>2]=_[o>>2],_[t+4>>2]=_[o+4>>2],_[t+8>>2]=_[o+8>>2],_[t+12>>2]=_[o+12>>2],s=s+1|0}while((0|s)!=(0|C))}if(_[i+12>>2]=C,_[i+28>>2]=N,_[i+32>>2]=3*N,(0|(h=0|_[i+40>>2]))<(3*N|0)){t:do{if((0|_[i+44>>2])<(3*N|0)){N?(_[6630]=1+(0|_[6630]),(s=0|di(16+(12*N|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,a=0|_[i+40>>2]):(s=0,a=h),l=0|_[i+48>>2];do{if(!((0|a)>0)){if(0|l)break;n[i+52|0]=1,_[i+48>>2]=s,_[i+44>>2]=3*N;break t}c=0;do{_[s+(c<<2)>>2]=_[l+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|a))}while(0);0|n[i+52|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),n[i+52|0]=1,_[i+48>>2]=s,_[i+44>>2]=3*N}else s=0|_[i+48>>2]}while(0);wn(s+(h<<2)|0,0,(12*N|0)-(h<<2)|0)}if(_[i+40>>2]=3*N,_e(0|_[i+20>>2],0|V,C<<4),!(2&_[e>>2])){_e(0|_[i+48>>2],0|M,12*N|0);break}if(!N)break;for(a=0,s=0|_[i+48>>2],c=r;_[s>>2]=_[c+8>>2],_[s+4>>2]=_[c+4>>2],_[s+8>>2]=_[c>>2],(0|(a=a+1|0))!=(0|N);)s=s+12|0,c=c+12|0}else{if(n[0|i]=1,_[i+4>>2]=C,(0|(l=0|_[i+12>>2]))<(0|C)){if((0|_[i+16>>2])<(0|C)){if(C?(_[6630]=1+(0|_[6630]),(s=0|di(16+(C<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,a=0|_[i+12>>2]):(s=0,a=l),(0|a)>0){c=0;do{t=s+(c<<4)|0,z=(0|_[i+20>>2])+(c<<4)|0,_[t>>2]=_[z>>2],_[t+4>>2]=_[z+4>>2],_[t+8>>2]=_[z+8>>2],_[t+12>>2]=_[z+12>>2],c=c+1|0}while((0|c)!=(0|a))}0|(c=0|_[i+20>>2])&&(0|n[i+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[i+20>>2]=0),n[i+24|0]=1,_[i+20>>2]=s,_[i+16>>2]=C,c=i+20|0}else c=i+20|0;s=l;do{t=(0|_[c>>2])+(s<<4)|0,_[t>>2]=_[o>>2],_[t+4>>2]=_[o+4>>2],_[t+8>>2]=_[o+8>>2],_[t+12>>2]=_[o+12>>2],s=s+1|0}while((0|s)!=(0|C))}if(_[i+12>>2]=C,_[i+28>>2]=N,_[i+32>>2]=N<<2,N<<2>(0|(h=0|_[i+40>>2]))){t:do{if((0|_[i+44>>2])>2]=s,s=s+4+15&-16):s=0,a=0|_[i+40>>2]):(s=0,a=h),l=0|_[i+48>>2];do{if(!((0|a)>0)){if(0|l)break;n[i+52|0]=1,_[i+48>>2]=s,_[i+44>>2]=N<<2;break t}c=0;do{_[s+(c<<2)>>2]=_[l+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|a))}while(0);0|n[i+52|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),n[i+52|0]=1,_[i+48>>2]=s,_[i+44>>2]=N<<2}else s=0|_[i+48>>2]}while(0);wn(s+(h<<2)|0,0,(N<<2)-h<<2)}if(_[i+40>>2]=N<<2,_e(0|_[i+20>>2],0|V,C<<4),!N)break;for(l=0,s=0|_[i+48>>2],c=r;_[s>>2]=3,2&_[e>>2]?(_[s+4>>2]=_[c+8>>2],a=c):(_[s+4>>2]=_[c>>2],a=c+8|0),_[s+8>>2]=_[c+4>>2],_[s+12>>2]=_[a>>2],(0|(l=l+1|0))!=(0|N);)s=s+16|0,c=c+12|0}}while(0);do{if(L){if(!r){r=0;break}_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),r=0}}while(0);if(!(0|G)|!(0|V)){s=0;break}_[6631]=1+(0|_[6631]),Ni(0|_[V+-4>>2]),s=0;break}}}s=1,r=0}else s=1,r=0}while(0);return!(0|q)|!(0|K)||(_[6631]=1+(0|_[6631]),Ni(0|_[K+-4>>2])),r?(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),Q=o,0|s):(Q=o,0|s)}function jl(t){t|=0;var e,i=0,o=0,r=0,s=0,c=0,l=0,d=0,b=0,A=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0;if(e=Q,Q=Q+176|0,$i(14689),Me(t),0|Gl[127&_[20+(0|_[t>>2])>>2]](t)&&(q=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),6144&Gl[127&_[48+(0|_[q>>2])>>2]](q))&&(0|(i=0|Gl[127&_[104+(0|_[t>>2])>>2]](t)))>0){Z=e+112+44|0,V=e+112+4|0,L=e+112+8|0,E=e+112+16|0,H=e+112+20|0,x=e+112+24|0,O=e+112+32|0,T=e+112+36|0,P=e+112+40|0,F=e+112+48|0,M=e+112+52|0,N=e+112+56|0,U=e+112+16|0,Y=e+112+32|0,J=e+112+48|0,X=e+112+16|0,z=e+112+32|0,K=e+112+48|0,q=e+112+48|0;do{B=i,i=i+-1|0,m=0|Ll[31&_[108+(0|_[t>>2])>>2]](t,i),o=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),o=!!(2048&Gl[127&_[48+(0|_[o>>2])>>2]](o)),A=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),A=!!(4096&Gl[127&_[48+(0|_[A>>2])>>2]](A)),W=+p[m+40>>2];t:do{if(!(W<=0))switch(0|_[m+4>>2]){case 3:_[e+112>>2]=1065353216,_[e+112+4>>2]=0,_[e+112+4+4>>2]=0,_[e+112+4+8>>2]=0,_[e+112+4+12>>2]=0,_[e+112+20>>2]=1065353216,_[e+112+24>>2]=0,_[e+112+24+4>>2]=0,_[e+112+24+8>>2]=0,_[e+112+24+12>>2]=0,_[e+112+40>>2]=1065353216,_[Z>>2]=0,_[Z+4>>2]=0,_[Z+8>>2]=0,_[Z+12>>2]=0,_[Z+16>>2]=0,I=+p[m+300>>2],D=+p[m+304>>2],j=+p[m+308>>2],A=0|_[m+28>>2],R=I*+p[A+20>>2]+D*+p[A+24>>2]+j*+p[A+28>>2]+ +p[A+56>>2],k=I*+p[A+36>>2]+D*+p[A+40>>2]+j*+p[A+44>>2]+ +p[A+60>>2],p[e+112+48>>2]=I*+p[A+4>>2]+D*+p[A+8>>2]+j*+p[A+12>>2]+ +p[A+52>>2],p[e+112+52>>2]=R,p[e+112+56>>2]=k,p[e+112+60>>2]=0,A=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[A>>2])>>2]](A,e+112|0,W),k=+p[m+316>>2],R=+p[m+320>>2],j=+p[m+324>>2],m=0|_[m+32>>2],D=k*+p[m+20>>2]+R*+p[m+24>>2]+j*+p[m+28>>2]+ +p[m+56>>2],I=k*+p[m+36>>2]+R*+p[m+40>>2]+j*+p[m+44>>2]+ +p[m+60>>2],p[e+112+48>>2]=k*+p[m+4>>2]+R*+p[m+8>>2]+j*+p[m+12>>2]+ +p[m+52>>2],p[e+112+52>>2]=D,p[e+112+56>>2]=I,p[e+112+60>>2]=0,o&&(m=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[m>>2])>>2]](m,e+112|0,W));break t;case 4:b=0|_[m+28>>2],r=+p[m+552>>2],_t=+p[b+4>>2],s=+p[m+552+16>>2],ot=+p[b+8>>2],c=+p[m+552+32>>2],nt=+p[b+12>>2],h=+p[m+552+4>>2],y=+p[m+552+20>>2],g=+p[m+552+36>>2],C=+p[m+552+8>>2],S=+p[m+552+24>>2],k=+p[m+552+40>>2],it=+p[b+20>>2],et=+p[b+24>>2],tt=+p[b+28>>2],v=+p[b+36>>2],w=+p[b+40>>2],R=+p[b+44>>2],st=+p[m+552+48>>2],rt=+p[m+552+52>>2],I=+p[m+552+56>>2],j=+p[b+52>>2]+(_t*st+ot*rt+nt*I),D=it*st+et*rt+tt*I+ +p[b+56>>2],I=v*st+w*rt+R*I+ +p[b+60>>2],p[e+112>>2]=r*_t+s*ot+c*nt,p[e+112+4>>2]=_t*h+ot*y+nt*g,p[e+112+8>>2]=_t*C+ot*S+nt*k,p[e+112+12>>2]=0,p[e+112+16>>2]=r*it+s*et+c*tt,p[e+112+20>>2]=h*it+y*et+g*tt,p[e+112+24>>2]=C*it+S*et+k*tt,p[e+112+28>>2]=0,p[e+112+32>>2]=r*v+s*w+c*R,p[e+112+36>>2]=h*v+y*w+g*R,p[e+112+40>>2]=C*v+S*w+k*R,p[e+112+44>>2]=0,p[e+112+48>>2]=j,p[e+112+52>>2]=D,p[e+112+56>>2]=I,p[e+112+60>>2]=0,o?(b=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[b>>2])>>2]](b,e+112|0,W),b=0|_[m+32>>2],S=+p[m+616>>2],c=+p[b+4>>2],w=+p[m+616+16>>2],h=+p[b+8>>2],k=+p[m+616+32>>2],y=+p[b+12>>2],R=+p[m+616+4>>2],j=+p[m+616+20>>2],D=+p[m+616+36>>2],I=+p[m+616+8>>2],et=+p[m+616+24>>2],nt=+p[m+616+40>>2],g=+p[b+20>>2],C=+p[b+24>>2],v=+p[b+28>>2],tt=+p[b+36>>2],it=+p[b+40>>2],ot=+p[b+44>>2],r=+p[m+616+48>>2],s=+p[m+616+52>>2],st=+p[m+616+56>>2],_t=+p[b+52>>2]+(c*r+h*s+y*st),rt=g*r+C*s+v*st+ +p[b+56>>2],st=tt*r+it*s+ot*st+ +p[b+60>>2],p[e+112>>2]=S*c+w*h+k*y,p[e+112+4>>2]=c*R+h*j+y*D,p[e+112+8>>2]=c*I+h*et+y*nt,p[e+112+12>>2]=0,p[e+112+16>>2]=S*g+w*C+k*v,p[e+112+20>>2]=R*g+j*C+D*v,p[e+112+24>>2]=I*g+et*C+nt*v,p[e+112+28>>2]=0,p[e+112+32>>2]=S*tt+w*it+k*ot,p[e+112+36>>2]=R*tt+j*it+D*ot,p[e+112+40>>2]=I*tt+et*it+nt*ot,p[e+112+44>>2]=0,p[e+112+48>>2]=_t,p[e+112+52>>2]=rt,p[e+112+56>>2]=st,p[e+112+60>>2]=0,b=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[b>>2])>>2]](b,e+112|0,W)):(b=0|_[m+32>>2],S=+p[m+616>>2],c=+p[b+4>>2],w=+p[m+616+16>>2],h=+p[b+8>>2],k=+p[m+616+32>>2],y=+p[b+12>>2],R=+p[m+616+4>>2],j=+p[m+616+20>>2],D=+p[m+616+36>>2],I=+p[m+616+8>>2],et=+p[m+616+24>>2],nt=+p[m+616+40>>2],g=+p[b+20>>2],C=+p[b+24>>2],v=+p[b+28>>2],tt=+p[b+36>>2],it=+p[b+40>>2],ot=+p[b+44>>2],r=+p[m+616+48>>2],s=+p[m+616+52>>2],st=+p[m+616+56>>2],_t=+p[b+52>>2]+(c*r+h*s+y*st),rt=g*r+C*s+v*st+ +p[b+56>>2],st=tt*r+it*s+ot*st+ +p[b+60>>2],p[e+112>>2]=S*c+w*h+k*y,p[e+112+4>>2]=c*R+h*j+y*D,p[e+112+8>>2]=c*I+h*et+y*nt,p[e+112+12>>2]=0,p[e+112+16>>2]=S*g+w*C+k*v,p[e+112+20>>2]=R*g+j*C+D*v,p[e+112+24>>2]=I*g+et*C+nt*v,p[e+112+28>>2]=0,p[e+112+32>>2]=S*tt+w*it+k*ot,p[e+112+36>>2]=R*tt+j*it+D*ot,p[e+112+40>>2]=I*tt+et*it+nt*ot,p[e+112+44>>2]=0,p[e+112+48>>2]=_t,p[e+112+52>>2]=rt,p[e+112+56>>2]=st,p[e+112+60>>2]=0),(s=((c=+p[m+688>>2])-(r=+p[m+688+4>>2]))%6.2831854820251465<-3.1415927410125732?(c-r)%6.2831854820251465+6.2831854820251465:(c-r)%6.2831854820251465>3.1415927410125732?(c-r)%6.2831854820251465-6.2831854820251465:(c-r)%6.2831854820251465)!=(r=(c+r)%6.2831854820251465<-3.1415927410125732?(c+r)%6.2831854820251465+6.2831854820251465:(c+r)%6.2831854820251465>3.1415927410125732?(c+r)%6.2831854820251465-6.2831854820251465:(c+r)%6.2831854820251465)&&($=s>r,A)&&(_[e+96>>2]=_[e+112+8>>2],_[e+96+4>>2]=_[e+112+24>>2],_[e+96+8>>2]=_[e+112+40>>2],p[e+96+12>>2]=0,_[e+80>>2]=_[e+112>>2],_[e+80+4>>2]=_[e+112+16>>2],_[e+80+8>>2]=_[e+112+32>>2],p[e+80+12>>2]=0,m=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),A=0|_[60+(0|_[m>>2])>>2],_[e+64>>2]=0,_[e+64+4>>2]=0,_[e+64+8>>2]=0,_[e+64+12>>2]=0,ld[1&A](m,e+112+48|0,e+96|0,e+80|0,W,W,$?0:s,$?6.2831854820251465:r,e+64|0,1^$,10));break t;case 5:if(b=0|_[m+28>>2],S=+p[m+300>>2],c=+p[b+4>>2],w=+p[m+300+16>>2],h=+p[b+8>>2],k=+p[m+300+32>>2],y=+p[b+12>>2],R=+p[m+300+4>>2],j=+p[m+300+20>>2],D=+p[m+300+36>>2],I=+p[m+300+8>>2],et=+p[m+300+24>>2],nt=+p[m+300+40>>2],g=+p[b+20>>2],C=+p[b+24>>2],v=+p[b+28>>2],tt=+p[b+36>>2],it=+p[b+40>>2],ot=+p[b+44>>2],r=+p[m+300+48>>2],s=+p[m+300+52>>2],st=+p[m+300+56>>2],_t=+p[b+52>>2]+(c*r+h*s+y*st),rt=g*r+C*s+v*st+ +p[b+56>>2],st=tt*r+it*s+ot*st+ +p[b+60>>2],p[e+112>>2]=S*c+w*h+k*y,p[V>>2]=c*R+h*j+y*D,p[L>>2]=c*I+h*et+y*nt,p[e+112+12>>2]=0,p[E>>2]=S*g+w*C+k*v,p[H>>2]=R*g+j*C+D*v,p[x>>2]=I*g+et*C+nt*v,p[e+112+28>>2]=0,p[O>>2]=S*tt+w*it+k*ot,p[T>>2]=R*tt+j*it+D*ot,p[P>>2]=I*tt+et*it+nt*ot,p[e+112+44>>2]=0,p[F>>2]=_t,p[M>>2]=rt,p[N>>2]=st,p[e+112+60>>2]=0,o?(b=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[b>>2])>>2]](b,e+112|0,W),b=0|_[m+32>>2],S=+p[m+364>>2],c=+p[b+4>>2],w=+p[m+364+16>>2],h=+p[b+8>>2],k=+p[m+364+32>>2],y=+p[b+12>>2],R=+p[m+364+4>>2],j=+p[m+364+20>>2],D=+p[m+364+36>>2],I=+p[m+364+8>>2],et=+p[m+364+24>>2],nt=+p[m+364+40>>2],g=+p[b+20>>2],C=+p[b+24>>2],v=+p[b+28>>2],tt=+p[b+36>>2],it=+p[b+40>>2],ot=+p[b+44>>2],r=+p[m+364+48>>2],s=+p[m+364+52>>2],st=+p[m+364+56>>2],_t=+p[b+52>>2]+(c*r+h*s+y*st),rt=g*r+C*s+v*st+ +p[b+56>>2],st=tt*r+it*s+ot*st+ +p[b+60>>2],p[e+112>>2]=S*c+w*h+k*y,p[V>>2]=c*R+h*j+y*D,p[L>>2]=c*I+h*et+y*nt,p[e+112+12>>2]=0,p[E>>2]=S*g+w*C+k*v,p[H>>2]=R*g+j*C+D*v,p[x>>2]=I*g+et*C+nt*v,p[e+112+28>>2]=0,p[O>>2]=S*tt+w*it+k*ot,p[T>>2]=R*tt+j*it+D*ot,p[P>>2]=I*tt+et*it+nt*ot,p[e+112+44>>2]=0,p[F>>2]=_t,p[M>>2]=rt,p[N>>2]=st,p[e+112+60>>2]=0,b=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[b>>2])>>2]](b,e+112|0,W)):(b=0|_[m+32>>2],S=+p[m+364>>2],c=+p[b+4>>2],w=+p[m+364+16>>2],h=+p[b+8>>2],k=+p[m+364+32>>2],y=+p[b+12>>2],R=+p[m+364+4>>2],j=+p[m+364+20>>2],D=+p[m+364+36>>2],I=+p[m+364+8>>2],et=+p[m+364+24>>2],nt=+p[m+364+40>>2],g=+p[b+20>>2],C=+p[b+24>>2],v=+p[b+28>>2],tt=+p[b+36>>2],it=+p[b+40>>2],ot=+p[b+44>>2],r=+p[m+364+48>>2],s=+p[m+364+52>>2],st=+p[m+364+56>>2],_t=+p[b+52>>2]+(c*r+h*s+y*st),rt=g*r+C*s+v*st+ +p[b+56>>2],st=tt*r+it*s+ot*st+ +p[b+60>>2],p[e+112>>2]=S*c+w*h+k*y,p[V>>2]=c*R+h*j+y*D,p[L>>2]=c*I+h*et+y*nt,p[e+112+12>>2]=0,p[E>>2]=S*g+w*C+k*v,p[H>>2]=R*g+j*C+D*v,p[x>>2]=I*g+et*C+nt*v,p[e+112+28>>2]=0,p[O>>2]=S*tt+w*it+k*ot,p[T>>2]=R*tt+j*it+D*ot,p[P>>2]=I*tt+et*it+nt*ot,p[e+112+44>>2]=0,p[F>>2]=_t,p[M>>2]=rt,p[N>>2]=st,p[e+112+60>>2]=0),A){gn(e+96|0,m,6.0868353843688965,W),nt=+p[e+96>>2],ot=+p[e+96+4>>2],_t=+p[e+96+8>>2],rt=nt*+p[E>>2]+ot*+p[H>>2]+_t*+p[x>>2]+ +p[M>>2],st=nt*+p[O>>2]+ot*+p[T>>2]+_t*+p[P>>2]+ +p[N>>2],p[e+96>>2]=nt*+p[e+112>>2]+ot*+p[V>>2]+_t*+p[L>>2]+ +p[F>>2],p[e+96+4>>2]=rt,p[e+96+8>>2]=st,p[e+96+12>>2]=0,o=0;do{gn(e+80|0,m,6.283185005187988*+(0|o)*.03125,W),nt=+p[e+80>>2],ot=+p[e+80+4>>2],_t=+p[e+80+8>>2],rt=nt*+p[E>>2]+ot*+p[H>>2]+_t*+p[x>>2]+ +p[M>>2],st=nt*+p[O>>2]+ot*+p[T>>2]+_t*+p[P>>2]+ +p[N>>2],p[e+80>>2]=nt*+p[e+112>>2]+ot*+p[V>>2]+_t*+p[L>>2]+ +p[F>>2],p[e+80+4>>2]=rt,p[e+80+8>>2]=st,p[e+80+12>>2]=0,A=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),b=0|_[8+(0|_[A>>2])>>2],_[e+64>>2]=0,_[e+64+4>>2]=0,_[e+64+8>>2]=0,_[e+64+12>>2]=0,pd[127&b](A,e+96|0,e+80|0,e+64|0),3&o||(A=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),b=0|_[8+(0|_[A>>2])>>2],_[e+64>>2]=0,_[e+64+4>>2]=0,_[e+64+8>>2]=0,_[e+64+12>>2]=0,pd[127&b](A,q,e+80|0,e+64|0)),_[e+96>>2]=_[e+80>>2],_[e+96+4>>2]=_[e+80+4>>2],_[e+96+8>>2]=_[e+80+8>>2],_[e+96+12>>2]=_[e+80+12>>2],o=o+1|0}while(32!=(0|o));D=+p[m+452>>2],I=+p[m+512>>2],o=0|_[m+32>>2],+p[o+344>>2]>0?(nt=+p[m+364>>2],ot=+p[o+4>>2],_t=+p[m+364+16>>2],rt=+p[o+8>>2],st=+p[m+364+32>>2],k=+p[o+12>>2],et=+p[m+364+4>>2],it=+p[m+364+20>>2],w=+p[m+364+36>>2],pt=+p[m+364+8>>2],tt=+p[m+364+24>>2],S=+p[m+364+40>>2],at=+p[o+20>>2],ct=+p[o+24>>2],v=+p[o+28>>2],C=+p[o+36>>2],g=+p[o+40>>2],y=+p[o+44>>2],R=at*(c=+p[m+364+48>>2])+ct*(r=+p[m+364+52>>2])+v*(s=+p[m+364+56>>2]),j=ot*c+rt*r+k*s,r=C*c+g*r,s*=y,c=pt*C+tt*g+S*y,h=et*C+it*g+w*y,y=nt*C+_t*g+st*y,g=pt*at+tt*ct+S*v,C=et*at+it*ct+w*v,v=nt*at+_t*ct+st*v,S=ot*pt+rt*tt+k*S,w=ot*et+rt*it+k*w,k=nt*ot+_t*rt+st*k):(o=0|_[m+28>>2],rt=+p[m+300>>2],st=+p[o+4>>2],pt=+p[m+300+16>>2],ct=+p[o+8>>2],at=+p[m+300+32>>2],k=+p[o+12>>2],ot=+p[m+300+4>>2],_t=+p[m+300+20>>2],w=+p[m+300+36>>2],it=+p[m+300+8>>2],nt=+p[m+300+24>>2],S=+p[m+300+40>>2],tt=+p[o+20>>2],et=+p[o+24>>2],v=+p[o+28>>2],C=+p[o+36>>2],g=+p[o+40>>2],y=+p[o+44>>2],R=tt*(c=+p[m+300+48>>2])+et*(r=+p[m+300+52>>2])+v*(s=+p[m+300+56>>2]),j=st*c+ct*r+k*s,r=C*c+g*r,s*=y,c=it*C+nt*g+S*y,h=ot*C+_t*g+w*y,y=rt*C+pt*g+at*y,g=it*tt+nt*et+S*v,C=ot*tt+_t*et+w*v,v=rt*tt+pt*et+at*v,S=st*it+ct*nt+k*S,w=st*ot+ct*_t+k*w,k=rt*st+pt*ct+at*k),pt=+p[o+52>>2]+j,ct=R+ +p[o+56>>2],at=r+s+ +p[o+60>>2],p[e+112>>2]=k,p[V>>2]=w,p[L>>2]=S,p[e+112+12>>2]=0,p[E>>2]=v,p[H>>2]=C,p[x>>2]=g,p[e+112+28>>2]=0,p[O>>2]=y,p[T>>2]=h,p[P>>2]=c,p[e+112+44>>2]=0,p[F>>2]=pt,p[M>>2]=ct,p[N>>2]=at,p[e+112+60>>2]=0,_[e+80>>2]=_[q>>2],_[e+80+4>>2]=_[q+4>>2],_[e+80+8>>2]=_[q+8>>2],_[e+80+12>>2]=_[q+12>>2],p[e+64>>2]=k,p[e+64+4>>2]=v,p[e+64+8>>2]=y,p[e+64+12>>2]=0,p[e+48>>2]=w,p[e+48+4>>2]=C,p[e+48+8>>2]=h,p[e+48+12>>2]=0,m=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),A=0|_[60+(0|_[m>>2])>>2],_[e+32>>2]=0,_[e+32+4>>2]=0,_[e+32+8>>2]=0,_[e+32+12>>2]=0,ld[1&A](m,e+80|0,e+64|0,e+48|0,W,W,-I-D,D-I,e+32|0,1,10)}break t;case 6:case 9:_[e+112>>2]=_[m+1064>>2],_[e+112+4>>2]=_[m+1064+4>>2],_[e+112+8>>2]=_[m+1064+8>>2],_[e+112+12>>2]=_[m+1064+12>>2],l=m+1064+16|0,_[U>>2]=_[l>>2],_[U+4>>2]=_[l+4>>2],_[U+8>>2]=_[l+8>>2],_[U+12>>2]=_[l+12>>2],d=m+1064+32|0,_[Y>>2]=_[d>>2],_[Y+4>>2]=_[d+4>>2],_[Y+8>>2]=_[d+8>>2],_[Y+12>>2]=_[d+12>>2],b=m+1064+48|0,_[J>>2]=_[b>>2],_[J+4>>2]=_[b+4>>2],_[J+8>>2]=_[b+8>>2],_[J+12>>2]=_[b+12>>2],o?(o=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[o>>2])>>2]](o,e+112|0,W),_[e+112>>2]=_[m+1128>>2],_[e+112+4>>2]=_[m+1128+4>>2],_[e+112+8>>2]=_[m+1128+8>>2],_[e+112+12>>2]=_[m+1128+12>>2],_[U>>2]=_[m+1128+16>>2],_[U+4>>2]=_[m+1128+16+4>>2],_[U+8>>2]=_[m+1128+16+8>>2],_[U+12>>2]=_[m+1128+16+12>>2],_[Y>>2]=_[m+1128+32>>2],_[Y+4>>2]=_[m+1128+32+4>>2],_[Y+8>>2]=_[m+1128+32+8>>2],_[Y+12>>2]=_[m+1128+32+12>>2],_[J>>2]=_[m+1128+48>>2],_[J+4>>2]=_[m+1128+48+4>>2],_[J+8>>2]=_[m+1128+48+8>>2],_[J+12>>2]=_[m+1128+48+12>>2],o=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[o>>2])>>2]](o,e+112|0,W)):(_[e+112>>2]=_[m+1128>>2],_[e+112+4>>2]=_[m+1128+4>>2],_[e+112+8>>2]=_[m+1128+8>>2],_[e+112+12>>2]=_[m+1128+12>>2],_[U>>2]=_[m+1128+16>>2],_[U+4>>2]=_[m+1128+16+4>>2],_[U+8>>2]=_[m+1128+16+8>>2],_[U+12>>2]=_[m+1128+16+12>>2],_[Y>>2]=_[m+1128+32>>2],_[Y+4>>2]=_[m+1128+32+4>>2],_[Y+8>>2]=_[m+1128+32+8>>2],_[Y+12>>2]=_[m+1128+32+12>>2],_[J>>2]=_[m+1128+48>>2],_[J+4>>2]=_[m+1128+48+4>>2],_[J+8>>2]=_[m+1128+48+8>>2],_[J+12>>2]=_[m+1128+48+12>>2]),A&&(_[e+112>>2]=_[m+1064>>2],_[e+112+4>>2]=_[m+1064+4>>2],_[e+112+8>>2]=_[m+1064+8>>2],_[e+112+12>>2]=_[m+1064+12>>2],_[U>>2]=_[l>>2],_[U+4>>2]=_[l+4>>2],_[U+8>>2]=_[l+8>>2],_[U+12>>2]=_[l+12>>2],_[Y>>2]=_[d>>2],_[Y+4>>2]=_[d+4>>2],_[Y+8>>2]=_[d+8>>2],_[Y+12>>2]=_[d+12>>2],_[J>>2]=_[b>>2],_[J+4>>2]=_[b+4>>2],_[J+8>>2]=_[b+8>>2],_[J+12>>2]=_[b+12>>2],o=m+1128+48|0,_[e+96>>2]=_[e+112+8>>2],_[e+96+4>>2]=_[e+112+24>>2],_[e+96+8>>2]=_[e+112+40>>2],p[e+96+12>>2]=0,_[e+80>>2]=_[e+112>>2],_[e+80+4>>2]=_[e+112+16>>2],_[e+80+8>>2]=_[e+112+32>>2],p[e+80+12>>2]=0,rt=+p[m+932>>2],r=+p[m+932+4>>2],ct=+p[m+996>>2],pt=+p[m+996+4>>2],lt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),A=0|_[64+(0|_[lt>>2])>>2],_[e+64>>2]=0,_[e+64+4>>2]=0,_[e+64+8>>2]=0,_[e+64+12>>2]=0,ad[1&A](lt,o,e+96|0,e+80|0,.8999999761581421*W,rt,r,ct,pt,e+64|0,10,1),lt=0|_[e+112+20>>2],A=0|_[e+112+36>>2],_[e+80>>2]=_[e+112+4>>2],_[e+80+4>>2]=lt,_[e+80+8>>2]=A,p[e+80+12>>2]=0,pt=+p[m+1196>>2],ct=+p[m+1200>>2],r=+f(+pt),pt=+u(+pt),rt=+f(+ct),ct=+u(+ct),st=+p[e+80>>2],at=+p[e+80+4>>2],s=+p[e+80+8>>2],p[e+64>>2]=r*rt*st+r*ct*at-pt*s,p[e+64+4>>2]=rt*at-ct*st,p[e+64+8>>2]=pt*rt*st+pt*ct*at+r*s,_[e+112>>2]=_[m+1128>>2],_[e+112+4>>2]=_[m+1128+4>>2],_[e+112+8>>2]=_[m+1128+8>>2],_[e+112+12>>2]=_[m+1128+12>>2],_[U>>2]=_[m+1128+16>>2],_[U+4>>2]=_[m+1128+16+4>>2],_[U+8>>2]=_[m+1128+16+8>>2],_[U+12>>2]=_[m+1128+16+12>>2],_[Y>>2]=_[m+1128+32>>2],_[Y+4>>2]=_[m+1128+32+4>>2],_[Y+8>>2]=_[m+1128+32+8>>2],_[Y+12>>2]=_[m+1128+32+12>>2],_[J>>2]=_[o>>2],_[J+4>>2]=_[o+4>>2],_[J+8>>2]=_[o+8>>2],_[J+12>>2]=_[o+12>>2],s=-+p[e+112+16>>2],r=-+p[e+112+32>>2],p[e+48>>2]=-+p[e+112>>2],p[e+48+4>>2]=s,p[e+48+8>>2]=r,p[e+48+12>>2]=0,(r=+p[m+868>>2])>(s=+p[m+868+4>>2])?(lt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),A=0|_[60+(0|_[lt>>2])>>2],_[e+32>>2]=0,_[e+32+4>>2]=0,_[e+32+8>>2]=0,_[e+32+12>>2]=0,ld[1&A](lt,o,e+48|0,e+64|0,W,W,-3.1415927410125732,3.1415927410125732,e+32|0,0,10)):r>2])>>2]](t),A=0|_[60+(0|_[lt>>2])>>2],_[e+32>>2]=0,_[e+32+4>>2]=0,_[e+32+8>>2]=0,_[e+32+12>>2]=0,ld[1&A](lt,o,e+48|0,e+64|0,W,W,r,s,e+32|0,1,10)),_[e+112>>2]=_[m+1064>>2],_[e+112+4>>2]=_[m+1064+4>>2],_[e+112+8>>2]=_[m+1064+8>>2],_[e+112+12>>2]=_[m+1064+12>>2],_[U>>2]=_[l>>2],_[U+4>>2]=_[l+4>>2],_[U+8>>2]=_[l+8>>2],_[U+12>>2]=_[l+12>>2],_[Y>>2]=_[d>>2],_[Y+4>>2]=_[d+4>>2],_[Y+8>>2]=_[d+8>>2],_[Y+12>>2]=_[d+12>>2],_[J>>2]=_[b>>2],_[J+4>>2]=_[b+4>>2],_[J+8>>2]=_[b+8>>2],_[J+12>>2]=_[b+12>>2],_[e+32>>2]=_[m+680>>2],_[e+32+4>>2]=_[m+680+4>>2],_[e+32+8>>2]=_[m+680+8>>2],_[e+32+12>>2]=_[m+680+12>>2],_[e+16>>2]=_[m+680+16>>2],_[e+16+4>>2]=_[m+680+16+4>>2],_[e+16+8>>2]=_[m+680+16+8>>2],_[e+16+12>>2]=_[m+680+16+12>>2],lt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),m=0|_[72+(0|_[lt>>2])>>2],_[e>>2]=0,_[e+4>>2]=0,_[e+8>>2]=0,_[e+12>>2]=0,dd[31&m](lt,e+32|0,e+16|0,e+112|0,e));break t;case 7:_[e+112>>2]=_[m+824>>2],_[e+112+4>>2]=_[m+824+4>>2],_[e+112+8>>2]=_[m+824+8>>2],_[e+112+12>>2]=_[m+824+12>>2],_[X>>2]=_[m+824+16>>2],_[X+4>>2]=_[m+824+16+4>>2],_[X+8>>2]=_[m+824+16+8>>2],_[X+12>>2]=_[m+824+16+12>>2],_[z>>2]=_[m+824+32>>2],_[z+4>>2]=_[m+824+32+4>>2],_[z+8>>2]=_[m+824+32+8>>2],_[z+12>>2]=_[m+824+32+12>>2],_[K>>2]=_[m+824+48>>2],_[K+4>>2]=_[m+824+48+4>>2],_[K+8>>2]=_[m+824+48+8>>2],_[K+12>>2]=_[m+824+48+12>>2],o?(lt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[lt>>2])>>2]](lt,e+112|0,W),_[e+112>>2]=_[m+888>>2],_[e+112+4>>2]=_[m+888+4>>2],_[e+112+8>>2]=_[m+888+8>>2],_[e+112+12>>2]=_[m+888+12>>2],_[X>>2]=_[m+888+16>>2],_[X+4>>2]=_[m+888+16+4>>2],_[X+8>>2]=_[m+888+16+8>>2],_[X+12>>2]=_[m+888+16+12>>2],_[z>>2]=_[m+888+32>>2],_[z+4>>2]=_[m+888+32+4>>2],_[z+8>>2]=_[m+888+32+8>>2],_[z+12>>2]=_[m+888+32+12>>2],_[K>>2]=_[m+888+48>>2],_[K+4>>2]=_[m+888+48+4>>2],_[K+8>>2]=_[m+888+48+8>>2],_[K+12>>2]=_[m+888+48+12>>2],lt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),id[7&_[56+(0|_[lt>>2])>>2]](lt,e+112|0,W)):(_[e+112>>2]=_[m+888>>2],_[e+112+4>>2]=_[m+888+4>>2],_[e+112+8>>2]=_[m+888+8>>2],_[e+112+12>>2]=_[m+888+12>>2],_[X>>2]=_[m+888+16>>2],_[X+4>>2]=_[m+888+16+4>>2],_[X+8>>2]=_[m+888+16+8>>2],_[X+12>>2]=_[m+888+16+12>>2],_[z>>2]=_[m+888+32>>2],_[z+4>>2]=_[m+888+32+4>>2],_[z+8>>2]=_[m+888+32+8>>2],_[z+12>>2]=_[m+888+32+12>>2],_[K>>2]=_[m+888+48>>2],_[K+4>>2]=_[m+888+48+4>>2],_[K+8>>2]=_[m+888+48+8>>2],_[K+12>>2]=_[m+888+48+12>>2]),A&&(dt=0|n[m+180|0]?m+824|0:m+888|0,o=0|_[dt>>2],b=0|_[dt+4>>2],l=0|_[dt+16>>2],A=0|_[dt+20>>2],d=0|_[dt+32>>2],lt=0|_[dt+36>>2],D=+p[dt+48>>2],it=+p[dt+52>>2],rt=+p[dt+56>>2],at=+p[m+184>>2],_[a>>2]=o,et=+p[a>>2],tt=0*(_[a>>2]=b,+p[a>>2]),I=0*+p[dt+8>>2],_[a>>2]=l,_t=+p[a>>2],ot=0*(_[a>>2]=A,+p[a>>2]),nt=0*+p[dt+24>>2],_[a>>2]=d,ct=+p[a>>2],pt=0*(_[a>>2]=lt,+p[a>>2]),st=0*+p[dt+40>>2],p[e+96>>2]=D+(I+(tt+at*et)),p[e+96+4>>2]=it+(nt+(ot+at*_t)),p[e+96+8>>2]=rt+(st+(pt+at*ct)),p[e+96+12>>2]=0,at=+p[m+188>>2],p[e+80>>2]=D+(I+(tt+at*et)),p[e+80+4>>2]=it+(nt+(ot+at*_t)),p[e+80+8>>2]=rt+(st+(pt+at*ct)),p[e+80+12>>2]=0,dt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),bt=0|_[8+(0|_[dt>>2])>>2],_[e+64>>2]=0,_[e+64+4>>2]=0,_[e+64+8>>2]=0,_[e+64+12>>2]=0,pd[127&bt](dt,e+96|0,e+80|0,e+64|0),_[e+64>>2]=o,_[e+64+4>>2]=l,_[e+64+8>>2]=d,p[e+64+12>>2]=0,_[e+48>>2]=b,_[e+48+4>>2]=A,_[e+48+8>>2]=lt,p[e+48+12>>2]=0,ct=+p[m+192>>2],at=+p[m+196>>2],lt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),A=0|_[60+(0|_[lt>>2])>>2],_[e+32>>2]=0,_[e+32+4>>2]=0,_[e+32+8>>2]=0,_[e+32+12>>2]=0,ld[1&A](lt,m+888+48|0,e+64|0,e+48|0,W,W,ct,at,e+32|0,1,10));break t;default:break t}}while(0)}while((0|B)>1)}if(0|Gl[127&_[20+(0|_[t>>2])>>2]](t)&&(bt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),16387&Gl[127&_[48+(0|_[bt>>2])>>2]](bt))&&0|Gl[127&_[20+(0|_[t>>2])>>2]](t)&&(bt=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),0|Gl[127&_[48+(0|_[bt>>2])>>2]](bt))&&(0|_[t+280>>2])>0){i=0;do{bt=0|_[(0|_[t+288>>2])+(i<<2)>>2],ed[127&_[12+(0|_[bt>>2])>>2]](bt,0|_[t+72>>2]),i=i+1|0}while((0|i)<(0|_[t+280>>2]))}if(i=0|_[2606],bt=(0|_[i+16>>2])-1|0,_[i+16>>2]=bt,0|bt)Q=e;else{do{if(0|_[i+4>>2]){if(G(e+112|0,0),bt=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[e+112+4>>2])-(0|_[bt+4>>2])+(1e6*((0|_[e+112>>2])-(0|_[bt>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,0|_[i+16>>2])return void(Q=e);i=0|_[2606];break}}while(0);_[2606]=_[i+20>>2],Q=e}}function Dl(t,e,i,n){t|=0,e|=0,i|=0,n|=0;var o,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0;o=Q,Q=Q+144|0;t:do{switch(i-e|0){case 0:return _[n>>2]=0,_[n+4>>2]=0,_[n+8>>2]=0,_[n+12>>2]=0,void(Q=o);case 2:if(r=0|_[(0|_[t+92>>2])+(e<<2)>>2],(0|(c=0|_[r+88>>2]))==(0|(a=0|_[r+200>>2]))&(0|(p=0|_[r+92>>2]))==(0|(s=0|_[r+204>>2]))){if((0|_[r+96>>2])==(0|_[r+208>>2]))break t;s=p}s=p-s|0;do{if(s|c-a){if(_[r>>2]=r+112,_[r+4>>2]=r+112,_[r+112>>2]=r,_[r+116>>2]=r,M=(c-a|0)<0|!(c-a|0)&(0|s)<0,_[n>>2]=M?r:r+112|0,_[n+4>>2]=M?r+112|0:r,(0|s)<0|(c-a|0)<0&!(0|s)){_[n+8>>2]=r,s=r,p=r+112|0,r=r+112|0;break}_[n+8>>2]=r+112,s=r,p=r+112|0;break}p=(0|_[r+96>>2])>(0|_[r+208>>2]),_[(M=p?r+112|0:r)>>2]=M,_[M+4>>2]=M,_[n>>2]=M,_[n+4>>2]=M,_[n+8>>2]=M,s=M,p=p?r:r+112|0,r=M}while(0);return _[n+12>>2]=r,t=0|rt(t,s,p),_[t>>2]=t,_[t+4>>2]=t,_[s+8>>2]=t,t=0|_[t+8>>2],_[t>>2]=t,_[t+4>>2]=t,_[p+8>>2]=t,void(Q=o);case 1:r=0|_[(0|_[t+92>>2])+(e<<2)>>2];break;default:b=((i-e|0)/2|0)+e|0,d=0|_[t+92>>2],l=0|_[d+(b+-1<<2)>>2],c=0|_[l+88>>2],a=0|_[l+92>>2],l=0|_[l+96>>2];e:do{if((0|b)<(0|i)){r=b;do{if(p=0|_[d+(r<<2)>>2],(0|_[p+88>>2])!=(0|c))break e;if((0|_[p+92>>2])!=(0|a))break e;if((0|_[p+96>>2])!=(0|l))break e;r=r+1|0}while((0|r)<(0|i))}else r=b}while(0);Dl(t,e,b,n),_[o+96>>2]=0,_[o+96+4>>2]=0,_[o+96+8>>2]=0,_[o+96+12>>2]=0,Dl(t,r,i,o+96|0),a=0|_[o+96+4>>2];e:do{if(0|a){if(!(D=0|_[n+4>>2])){_[n>>2]=_[o+96>>2],_[n+4>>2]=_[o+96+4>>2],_[n+8>>2]=_[o+96+8>>2],_[n+12>>2]=_[o+96+12>>2];break}_[t+100>>2]=(0|_[t+100>>2])-1,d=0|_[n+12>>2],p=0|_[o+96+8>>2],c=0|_[d+88>>2];i:do{if((0|c)==(0|_[p+88>>2])&&(s=0|_[d+92>>2],(0|s)==(0|_[p+92>>2]))){if((0|(l=0|_[p+4>>2]))==(0|p)){(r=0|_[p+8>>2])?(p=0|_[r+12>>2],r=0|_[p+88>>2],s=0|_[p+92>>2]):r=c,l=p,a=r+1|0,i=d,b=0|_[p+96>>2],r=d,e=p;break}if(c=0|_[p>>2],_[l>>2]=c,_[c+4>>2]=l,(0|p)==(0|_[o+96>>2])){r=0|_[c+88>>2],s=0|_[l+88>>2];do{if((0|r)<(0|s))r=c;else{if((0|r)==(0|s)&&(0|_[c+92>>2])<(0|_[l+92>>2])){r=c;break}r=l}}while(0);_[o+96>>2]=r}if((0|p)==(0|a)){r=0|_[c+88>>2],s=0|_[l+88>>2];do{if((0|r)<=(0|s)){if((0|r)==(0|s)&&(0|_[c+92>>2])>(0|_[l+92>>2]))break;_[o+96+4>>2]=l,c=l,T=39;break i}}while(0);_[o+96+4>>2]=c,T=39}else c=a,T=39}else c=a,T=39}while(0);if(39==(0|T)){for(R=0|_[n>>2],j=0|_[o+96>>2],i=D,a=0,e=0,S=1,k=0,A=c;;){p=0|_[A+88>>2],b=0|_[i+88>>2],s=0|g(p-b|0,S);i:do{if((0|s)<=0){if((0|s)<0)for(v=!!(0|k),l=i,r=A,d=0|_[i+92>>2],C=0|_[A+92>>2];;){for(h=(0|(m=0|_[(v?r+4:r)>>2]))==(0|r),y=r+88|0;;){if(i=l+88|0,u=C-d|0,!h&&(I=0|_[m+88>>2],B=0|g(I-p|0,S),(0|(F=(W=0|_[m+92>>2])-C|0))>-1)){if(!B)break;if((0|B)<0&&(0|g(F,s))<=(0|g(B,u)))break}if((0|(f=0|_[(v?l+4:l)>>2]))==(0|l))break i;if(O=0|_[f+88>>2],b=0|g(O-(0|_[i>>2])|0,S),d=(A=0|_[f+92>>2])-d|0,p=0|_[y>>2],!((0|d)>0&(0|(i=0|g(p-O|0,S)))<0))break i;if(0|b){if((0|b)>=0)break i;if((0|g(d,s))>=(0|g(b,u)))break i}l=f,s=i,d=A}r=m,s=0|g(I-(0|_[i>>2])|0,S),C=W,p=I}r=0|_[i+92>>2],s=0|_[((d=!!(0|k))?i:i+4)>>2];n:do{if((0|s)!=(0|i))if(d)for(p=i,l=r;;){if((0|_[s+88>>2])!=(0|b)){l=p;break n}if(O=l,(0|(l=0|_[s+92>>2]))>(0|O)){l=p;break n}if((0|(r=0|_[s>>2]))==(0|i)){l=s;break}p=s,s=r}else for(p=i,l=r;;){if((0|_[s+88>>2])!=(0|b)){l=p;break n}if(O=l,(0|(l=0|_[s+92>>2]))>(0|O)){l=p;break n}if((0|(r=0|_[s+4>>2]))==(0|i)){l=s;break}p=s,s=r}else l=i}while(0);if(r=0|_[A+92>>2],(0|(p=0|_[(d?A+4:A)>>2]))!=(0|A))if(d)for(s=r,r=A;;){if((0|_[p+88>>2])!=(0|b))break i;if(O=s,(0|(s=0|_[p+92>>2]))<(0|O))break i;if((0|(r=0|_[p+4>>2]))==(0|A)){r=p;break}O=p,p=r,r=O}else for(s=r,r=A;;){if((0|_[p+88>>2])!=(0|b))break i;if(O=s,(0|(s=0|_[p+92>>2]))<(0|O))break i;if((0|(r=0|_[p>>2]))==(0|A)){r=p;break}O=p,p=r,r=O}else r=A}else for(h=!!(0|k),p=i,r=A,m=0|_[A+92>>2];;){for(f=r+88|0,l=p,p=0|_[p+92>>2];u=m-p|0,!((0|(d=0|_[(h?l:l+4)>>2]))==(0|l)||(i=0|_[d+88>>2],b=0|g(i-(0|_[l+88>>2])|0,S),(0|(p=(A=0|_[d+92>>2])-p|0))>=1));){if(0|b){if((0|b)>=0)break;if((0|g(p,s))>(0|g(b,u)))break}s=0|g((0|_[f>>2])-i|0,S),l=d,p=A}if((0|(A=0|_[(h?r:r+4)>>2]))==(0|r))break i;if(d=0|_[A+88>>2],i=0|g(d-(0|_[f>>2])|0,S),!((0|(p=(b=0|_[A+92>>2])-m|0))<0&(0|(d=0|g(d-(0|_[l+88>>2])|0,S)))>0))break i;if(0|i){if((0|i)>=0)break i;if((0|g(p,s))>=(0|g(i,u)))break i}s=d,p=l,r=A,m=b}}while(0);if(e=(s=!(0|k))?r:e,a=s?l:a,A=s?j:r,i=s?R:l,2==(0|(k=k+1|0)))break;S=s?-1:S}if(_[i+4>>2]=A,_[A>>2]=i,_[a>>2]=e,_[e+4>>2]=a,(0|_[j+88>>2])<(0|_[R+88>>2])&&(_[n>>2]=j),(0|_[c+88>>2])>=(0|_[D+88>>2])&&(_[n+4>>2]=c),_[n+12>>2]=_[o+96+12>>2],s=a,l=e,S=0|_[(d=e+88|0)>>2],m=0|_[a+88>>2],k=0|_[(c=e+92|0)>>2],R=0|_[a+92>>2],j=0|_[(p=e+96|0)>>2],h=0|_[a+96>>2],D=((k-R|0)<0)<<31>>31,B=0|f_(0|(B=0|Ir(0,0,0|(I=0-(S-m)|0),((0|I)<0)<<31>>31)),0|w(),j-h|0,((j-h|0)<0)<<31>>31),W=0|w(),F=0|f_(j-h|0,((j-h|0)<0)<<31>>31,k-R|0,0|D),n=0|w(),x=0|Ir(0|(y=0|f_(0|I,((0|I)<0)<<31>>31,S-m|0,((S-m|0)<0)<<31>>31)),0|(O=0|w()),0|(x=0|f_(k-R|0,0|D,k-R|0,0|D)),0|w()),O=0|w(),y=0|_[a+8>>2],_[o+120>>2]=0,y){C=0|Ir(0,0,k-R|0,0|D),v=0|w(),u=y,r=0;do{A=0|_[u+12>>2],i=0|_[A+88>>2],b=0|_[A+92>>2],A=0|_[A+96>>2],G=0|f_(b-R|0,((b-R|0)<0)<<31>>31,0|I,((0|I)<0)<<31>>31),f=0|w(),V=0|f_(0|C,0|v,i-m|0,((i-m|0)<0)<<31>>31);i:do{if((0|G)==(0|V)&(0|f)==(0|w())&&(V=0|f_(0|B,0|W,i-m|0,((i-m|0)<0)<<31>>31),f=0|w(),G=0|f_(0|F,0|n,b-R|0,((b-R|0)<0)<<31>>31),f=0|xr(0|G,0|w(),0|V,0|f),V=0|w(),G=0|f_(0|x,0|O,A-h|0,((A-h|0)<0)<<31>>31),G=0|xr(0|f,0|V,0|G,0|w()),V=0|w(),(0|V)>0|!(0|V)&G>>>0>0)){do{if(0|r){if(f=(0|_[r+4>>2])==(0|u),(0|_[r>>2])!=(0|u)){if(f)break;break i}if(!f)break i;if(V=0|_[r+12>>2],N=0|_[12+(0|_[u+8>>2])>>2],G=0|_[N+88>>2],f=0|_[N+92>>2],N=0|_[N+96>>2],L=(0|_[V+96>>2])-N|0,f=(0|g(A-N|0,(0|_[V+92>>2])-f|0))-(0|g(L,b-f|0))|0,G=(0|g(L,i-G|0))-(0|g(A-N|0,(0|_[V+88>>2])-G|0))|0,G=0|xr(0|(f=0|f_(0|f,((0|f)<0)<<31>>31,k-R|0,0|D)),0|(V=0|w()),0|(G=0|f_(0|G,((0|G)<0)<<31>>31,0|I,((0|I)<0)<<31>>31)),0|w()),(0|(V=0|w()))>0|!(0|V)&G>>>0>0)break i}}while(0);r=u}}while(0);u=0|_[u>>2]}while((0|u)!=(0|y));_[o+120>>2]=r,y=r}else y=0;if(u=0|_[e+8>>2],_[o+72>>2]=0,u){m=0|Ir(0,0,k-R|0,0|D),h=0|w(),f=u,r=0;do{A=0|_[f+12>>2],i=0|_[A+88>>2],b=0|_[A+92>>2],A=0|_[A+96>>2],G=0|f_(b-k|0,((b-k|0)<0)<<31>>31,0|I,((0|I)<0)<<31>>31),L=0|w(),N=0|f_(0|m,0|h,i-S|0,((i-S|0)<0)<<31>>31);do{if((0|G)==(0|N)&(0|L)==(0|w())&&(N=0|f_(0|B,0|W,i-S|0,((i-S|0)<0)<<31>>31),G=0|w(),G=0|xr(0|(L=0|f_(0|F,0|n,b-k|0,((b-k|0)<0)<<31>>31)),0|w(),0|N,0|G),L=0|xr(0|G,0|(N=0|w()),0|(L=0|f_(0|x,0|O,A-j|0,((A-j|0)<0)<<31>>31)),0|w()),(0|(N=0|w()))>0|!(0|N)&L>>>0>0)){if(0|r){if((0|_[r>>2])!=(0|f))break;if((0|_[r+4>>2])==(0|f)&&(N=0|_[r+12>>2],V=0|_[12+(0|_[f+8>>2])>>2],L=0|_[V+88>>2],G=0|_[V+92>>2],V=0|_[V+96>>2],v=(0|_[N+96>>2])-V|0,G=(0|g(A-V|0,(0|_[N+92>>2])-G|0))-(0|g(v,b-G|0))|0,L=(0|g(v,i-L|0))-(0|g(A-V|0,(0|_[N+88>>2])-L|0))|0,L=0|xr(0|(G=0|f_(0|G,((0|G)<0)<<31>>31,k-R|0,0|D)),0|(N=0|w()),0|(L=0|f_(0|L,((0|L)<0)<<31>>31,0|I,((0|I)<0)<<31>>31)),0|w()),!((0|(N=0|w()))>0|!(0|N)&L>>>0>0)))break}r=f}}while(0);f=0|_[f>>2]}while((0|f)!=(0|u));_[o+72>>2]=r}else r=0;!!(0|y)|!!(0|r)?(bi(t,a,e,o+120|0,o+72|0),(r=0|_[o+120>>2])&&(s=a=0|_[r+12>>2]),(r=0|_[o+72>>2])?(l=e=0|_[r+12>>2],d=e+88|0,p=e+96|0,c=e+92|0,r=a):r=a):r=a,a=0|_[d>>2],i=s,b=1+(0|_[p>>2])|0,s=0|_[c>>2]}for(F=0,n=0,p=0,S=0,x=1,I=0,B=0,c=0,j=0,D=a,R=i,v=e,C=r;;){L=0|_[C+88>>2],O=(0|_[v+88>>2])-L|0,N=0|_[C+92>>2],k=(0|_[v+92>>2])-N|0,W=0|_[C+96>>2],h=(0|_[v+96>>2])-W|0,_[o+120>>2]=O,_[o+120+4>>2]=k,_[o+120+8>>2]=h,_[o+120+12>>2]=-1,L=D-L|0,W=b-W|0,y=(0|g(N=s-N|0,h))-(0|g(W,k))|0,W=(0|g(W,O))-(0|g(L,h))|0,N=(0|g(L,k))-(0|g(N,O))|0,_[o+72>>2]=y,_[o+72+4>>2]=((0|y)<0)<<31>>31,_[o+72+8>>2]=W,_[o+72+8+4>>2]=((0|W)<0)<<31>>31,_[o+72+16>>2]=N,_[o+72+16+4>>2]=((0|N)<0)<<31>>31,V=0|Ir(0|(L=0|f_(0|N,((0|N)<0)<<31>>31,0|k,((0|k)<0)<<31>>31)),0|(G=0|w()),0|(V=0|f_(0|W,((0|W)<0)<<31>>31,0|h,((0|h)<0)<<31>>31)),0|w()),G=0|w(),N=0|Ir(0|(h=0|f_(0|y,((0|y)<0)<<31>>31,0|h,((0|h)<0)<<31>>31)),0|(L=0|w()),0|(N=0|f_(0|N,((0|N)<0)<<31>>31,0|O,((0|O)<0)<<31>>31)),0|w()),L=0|w(),k=0|Ir(0|(O=0|f_(0|W,((0|W)<0)<<31>>31,0|O,((0|O)<0)<<31>>31)),0|(W=0|w()),0|(k=0|f_(0|y,((0|y)<0)<<31>>31,0|k,((0|k)<0)<<31>>31)),0|w()),W=0|w(),_[o+48>>2]=V,_[o+48+4>>2]=G,_[o+48+8>>2]=N,_[o+48+8+4>>2]=L,_[o+48+16>>2]=k,_[o+48+16+4>>2]=W,_[o+24>>2]=0,_[o+24+4>>2]=0,_[o+24+8>>2]=0,_[o+24+12>>2]=0,_[o+24+16>>2]=0,W=0|Li(t,0,C,o+120|0,o+72|0,o+48|0,o+24|0),_[o>>2]=0,_[o+4>>2]=0,_[o+8>>2]=0,_[o+12>>2]=0,_[o+16>>2]=0,k=0|Li(t,1,v,o+120|0,o+72|0,o+48|0,o);do{if(!!(0|W)|!!(0|k)){a=0|W?-1:1;do{if(!!(0|W)&!!(0|k)){if((0|(y=0|_[o+24+16>>2]))!=(0|(a=0|_[o+16>>2]))){f=y-a|0;break}y?(L=0|_[o+24>>2],m=0|_[o+24+4>>2],i=0|_[o+8>>2],G=0|_[o+8+4>>2],d=0|f_(0|i,0,0|L,0),a=0|w(),L=0|f_(0|G,0,0|L,0),N=0|w(),i=0|f_(0|i,0,0|m,0),A=0|w(),m=0|f_(0|G,0,0|m,0),G=0|w(),i=0|xr(0|L,0,0|i,0),L=0|w(),G=0|xr(0|N,0,0|m,0|G),A=0|xr(0|G,0|w(),0|A,0),L=0|xr(0|A,0|w(),0|L,0),A=0|w(),a=0|xr(0,0|i,0|d,0|a),i=0|xr(0|L,0|A,1&((d=0|w())>>>0>>0|(0|d)==(0|i)&a>>>0<0),0),A=0|w(),L=0|_[o+24+8>>2],G=0|_[o+24+8+4>>2],m=0|_[o>>2],N=0|_[o+4>>2],u=0|f_(0|m,0,0|L,0),f=0|w(),L=0|f_(0|N,0,0|L,0),V=0|w(),m=0|f_(0|m,0,0|G,0),h=0|w(),G=0|f_(0|N,0,0|G,0),N=0|w(),m=0|xr(0|L,0,0|m,0),L=0|w(),N=0|xr(0|V,0,0|G,0|N),h=0|xr(0|N,0|w(),0|h,0),L=0|xr(0|h,0|w(),0|L,0),h=0|w(),f=0|xr(0,0|m,0|u,0|f),m=0|xr(0|L,0|h,1&((u=0|w())>>>0>>0|(0|u)==(0|m)&f>>>0<0),0),h=0|w(),f=0|g(a=A>>>0>>0|(0|A)==(0|h)&i>>>0>>0?-1:A>>>0>h>>>0|(0|A)==(0|h)&i>>>0>m>>>0?1:d>>>0>>0|(0|d)==(0|u)&a>>>0>>0?-1:1&(d>>>0>u>>>0|(0|d)==(0|u)&a>>>0>f>>>0),y)):f=0}else f=a}while(0);do{if(!x){if((0|f)>-1){if((0|_[o+16>>2])<0&(0|_[o+8>>2]?0:!(0|_[o+8+4>>2]))){A=j;break}T=139;break}if((0|_[o+24+16>>2])<0&(0|_[o+24+8>>2]?0:!(0|_[o+24+8+4>>2]))){A=j;break}T=139;break}T=139}while(0);if(139==(0|T)&&(T=0,d=0|rt(t,C,v),S?_[S+4>>2]=d:p=d,_[d>>2]=S,a=0|_[d+8>>2],j?_[j>>2]=a:c=a,_[a+4>>2]=j,S=d,A=a),_[o+116>>2]=W,_[o+112>>2]=k,f?a=k:(bi(t,R,l,o+116|0,o+112|0),a=0|_[o+112>>2]),(0|f)>-1&!!(0|a)){if((i=!!(0|I))&&(0|(P=0|_[I>>2]))!=(0|k)){a=P;do{d=a,a=0|_[a>>2],b=0|_[d+8>>2],(0|a)==(0|d)?s=0:(_[a+4>>2]=_[d+4>>2],_[_[d+4>>2]>>2]=a,s=a),_[8+(0|_[b+12>>2])>>2]=s,(0|(s=0|_[b>>2]))==(0|b)?(_[8+(0|_[d+12>>2])>>2]=0,s=b+4|0):(_[s+4>>2]=_[b+4>>2],_[_[b+4>>2]>>2]=s,_[8+(0|_[d+12>>2])>>2]=s,s=b+4|0),_[d+4>>2]=0,_[d+4+4>>2]=0,_[d+4+8>>2]=0,_[d+4+12>>2]=0,_[d>>2]=_[t+56>>2],_[t+56>>2]=d,_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[b>>2]=_[t+56>>2],_[t+56>>2]=b,_[t+116>>2]=(0|_[t+116>>2])-1}while((0|a)!=(0|k))}do{if(A){if(i){_[I>>2]=c,_[c+4>>2]=I,_[A>>2]=k,_[k+4>>2]=A,s=B,c=0;break}s=0|_[k+4>>2],_[s>>2]=c,_[c+4>>2]=s,_[A>>2]=k,_[k+4>>2]=A,s=c,c=0;break}s=i?B:k}while(0);L=l,l=0|_[o+112>>2],y=0|_[l+8>>2],m=s,I=0,l=0|_[l+12>>2],a=0|_[L+88>>2],b=0|_[L+96>>2],s=0|_[L+92>>2]}else y=I,m=B,I=A,a=D;if((0|f)<1&!!(0|_[o+116>>2])){if((i=!!(0|F))&&(0|(M=0|_[F+4>>2]))!=(0|W)){a=M;do{d=a,a=0|_[(b=a+4|0)>>2],s=0|_[d>>2],A=0|_[d+8>>2],(0|s)==(0|d)?s=0:(_[s+4>>2]=a,_[_[b>>2]>>2]=s),_[8+(0|_[A+12>>2])>>2]=s,(0|(s=0|_[A>>2]))==(0|A)?(_[8+(0|_[d+12>>2])>>2]=0,s=A+4|0):(_[s+4>>2]=_[A+4>>2],_[_[A+4>>2]>>2]=s,_[8+(0|_[d+12>>2])>>2]=s,s=A+4|0),_[b>>2]=0,_[b+4>>2]=0,_[b+8>>2]=0,_[b+12>>2]=0,_[d>>2]=_[t+56>>2],_[t+56>>2]=d,_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[A>>2]=_[t+56>>2],_[t+56>>2]=A,_[t+116>>2]=(0|_[t+116>>2])-1}while((0|a)!=(0|W))}do{if(S){if(i){_[p>>2]=F,_[F+4>>2]=p,_[W>>2]=S,_[S+4>>2]=W,s=n,p=0;break}s=0|_[W>>2],_[p>>2]=s,_[s+4>>2]=p,_[W>>2]=S,_[S+4>>2]=W,s=p,p=0;break}s=i?n:W}while(0);L=R,R=0|_[o+116>>2],h=0|_[R+8>>2],u=s,S=0,k=0|_[L+88>>2],R=0|_[R+12>>2],j=0|_[L+96>>2],s=0|_[L+92>>2]}else h=F,u=n,k=a,j=b;if((0|r)==(0|R)&(0|e)==(0|l)){if(h){if((0|(a=0|_[(f=h+4|0)>>2]))!=(0|u))do{i=a,a=0|_[(b=a+4|0)>>2],d=0|_[i>>2],A=0|_[i+8>>2],(0|d)==(0|i)?d=0:(_[d+4>>2]=a,_[_[b>>2]>>2]=d),_[8+(0|_[A+12>>2])>>2]=d,(0|(d=0|_[A>>2]))==(0|A)?(_[8+(0|_[i+12>>2])>>2]=0,d=A+4|0):(_[d+4>>2]=_[A+4>>2],_[_[A+4>>2]>>2]=d,_[8+(0|_[i+12>>2])>>2]=d,d=A+4|0),_[b>>2]=0,_[b+4>>2]=0,_[b+8>>2]=0,_[b+12>>2]=0,_[i>>2]=_[t+56>>2],_[t+56>>2]=i,_[d>>2]=0,_[d+4>>2]=0,_[d+8>>2]=0,_[d+12>>2]=0,_[A>>2]=_[t+56>>2],_[t+56>>2]=A,_[t+116>>2]=(0|_[t+116>>2])-1}while((0|a)!=(0|u));0|S&&(_[p>>2]=h,_[f>>2]=p,_[u>>2]=S,_[S+4>>2]=u)}else _[p>>2]=S,_[S+4>>2]=p,_[R+8>>2]=S;if(!y){_[I>>2]=c,_[c+4>>2]=I,_[e+8>>2]=I,v=0,C=x,y=0,A=S,f=I,i=l,a=k,d=R,b=j;break}if((0|(a=0|_[y>>2]))!=(0|m))do{i=a,a=0|_[a>>2],b=0|_[i+8>>2],(0|a)==(0|i)?d=0:(_[a+4>>2]=_[i+4>>2],_[_[i+4>>2]>>2]=a,d=a),_[8+(0|_[b+12>>2])>>2]=d,(0|(d=0|_[b>>2]))==(0|b)?(_[8+(0|_[i+12>>2])>>2]=0,d=b+4|0):(_[d+4>>2]=_[b+4>>2],_[_[b+4>>2]>>2]=d,_[8+(0|_[i+12>>2])>>2]=d,d=b+4|0),_[i+4>>2]=0,_[i+4+4>>2]=0,_[i+4+8>>2]=0,_[i+4+12>>2]=0,_[i>>2]=_[t+56>>2],_[t+56>>2]=i,_[d>>2]=0,_[d+4>>2]=0,_[d+8>>2]=0,_[d+12>>2]=0,_[b>>2]=_[t+56>>2],_[t+56>>2]=b,_[t+116>>2]=(0|_[t+116>>2])-1}while((0|a)!=(0|m));I?(_[y>>2]=c,_[c+4>>2]=y,_[I>>2]=m,_[m+4>>2]=I,v=0,C=x,A=S,f=I,i=l,a=k,d=R,b=j):(v=0,C=x,A=S,f=0,i=l,a=k,d=R,b=j)}else v=1,C=0,A=S,f=I,i=l,a=k,d=R,b=j}else h=0|rt(t,C,v),_[h>>2]=h,_[h+4>>2]=h,_[C+8>>2]=h,C=0|_[h+8>>2],_[C>>2]=C,_[C+4>>2]=C,_[v+8>>2]=C,v=0,C=x,h=F,y=I,u=n,A=S,m=B,f=j,i=l,a=D,d=R}while(0);if(!v)break e;F=h,n=u,S=A,x=C,I=y,B=m,j=f,l=i,D=a,R=d,v=i,C=d}}}while(0);return void(Q=o)}}while(0);_[r+8>>2]=0,_[r>>2]=r,_[r+4>>2]=r,_[n>>2]=r,_[n+4>>2]=r,_[n+8>>2]=r,_[n+12>>2]=r,Q=o}var Il=[vl,function(t){var e,i,n,o=0;return e=Q,Q=Q+32|0,_d[127&_[12+(0|_[(t|=0)>>2])>>2]](t,e+8|0,e),n=+p[e+8>>2],i=+p[e+8+4>>2],o=+p[e+8+8>>2],o=+b(+(n*n+i*i+o*o)),Q=e,+(+p[e>>2]+o)},ga,Us,ca,ba,function(t){return+ +p[28+(t|=0)>>2]*+p[t+12>>2]},Mo,function(t){var e,i;return i=+p[32+(t|=0)>>2],Il[15&_[48+(0|_[t>>2])>>2]](t),e=+Il[15&_[48+(0|_[t>>2])>>2]](t),Il[15&_[48+(0|_[t>>2])>>2]](t),+(i+e)},Mo,vl,vl,vl,vl,vl,vl],Bl=[function(t,e){return e=+e,v(1),0},function(t,e){return e=+e,+ +Il[15&_[16+(0|_[(t|=0)>>2])>>2]](t)*e}],Wl=[Yp,bn,bn,Yp],Fl=[Oa,function(t,e,i){e|=0,i|=0;var n,o=0,r=0;return n=Q,Q=Q+16|0,_[4+(t|=0)>>2]=_[e+24>>2],o=0|_[e>>2],_[t+8>>2]=o,i?(_[t+52>>2]=_[e+8>>2],_[t+52+4>>2]=_[e+8+4>>2],_[t+52+8>>2]=_[e+8+8>>2],_[t+52+12>>2]=_[e+8+12>>2],Io(t+68|0,i=t+20|0,o=t+36|0,r=+p[e+24>>2]),r=+p[e+24>>2],Q=n,+r):(Fn(n,i=0|Cl(0|sl(o)),+p[e+8>>2],+p[e+12>>2],+p[e+16>>2]),_[t+52>>2]=_[n>>2],_[t+52+4>>2]=_[n+4>>2],_[t+52+8>>2]=_[n+8>>2],_[t+52+12>>2]=_[n+12>>2],Io(i=t+68|0,o=t+20|0,t+36|0,r=+p[e+24>>2]),r=+p[e+24>>2],Q=n,+r)},function(t,e,i){e|=0,i|=0;var n,o=0;return n=Q,Q=Q+16|0,_[4+(t|=0)>>2]=_[e+40>>2],o=0|_[e>>2],_[t+76>>2]=o,i?(_[t+44>>2]=_[e+8>>2],_[t+44+4>>2]=_[e+8+4>>2],_[t+44+8>>2]=_[e+8+8>>2],_[t+44+12>>2]=_[e+8+12>>2]):(Fn(n,o=0|Cl(0|sl(o)),+p[e+8>>2],+p[e+12>>2],+p[e+16>>2]),_[t+44>>2]=_[n>>2],_[t+44+4>>2]=_[n+4>>2],_[t+44+8>>2]=_[n+8>>2],_[t+44+12>>2]=_[n+12>>2]),_[t+60>>2]=_[e+24>>2],_[t+60+4>>2]=_[e+24+4>>2],_[t+60+8>>2]=_[e+24+8>>2],_[t+60+12>>2]=_[e+24+12>>2],Q=n,+ +p[e+40>>2]},function(t,e,i){t|=0,i|=0;var n,o=0,r=0,s=0,c=0,a=0;return(0|(n=0|_[(e|=0)>>2]))==(0|_[t+80>>2])||4&_[n+204>>2]||(+p[t+28>>2]-+p[t+12>>2])*+p[e+8>>2]+(+p[t+32>>2]-+p[t+16>>2])*+p[e+12>>2]+(+p[t+36>>2]-+p[t+20>>2])*+p[e+16>>2]>=-+p[t+84>>2]?+(o=1):(_[t+4>>2]=_[e+40>>2],_[t+76>>2]=n,i?(_[t+44>>2]=_[e+8>>2],_[t+44+4>>2]=_[e+8+4>>2],_[t+44+8>>2]=_[e+8+8>>2],_[t+44+12>>2]=_[e+8+12>>2]):(a=+p[e+8>>2],c=+p[e+12>>2],s=+p[e+16>>2],r=a*+p[n+20>>2]+c*+p[n+24>>2]+s*+p[n+28>>2],o=a*+p[n+36>>2]+c*+p[n+40>>2]+s*+p[n+44>>2],p[t+44>>2]=+p[n+4>>2]*a+ +p[n+8>>2]*c+ +p[n+12>>2]*s,p[t+48>>2]=r,p[t+52>>2]=o,p[t+56>>2]=0),_[t+60>>2]=_[e+24>>2],_[t+60+4>>2]=_[e+24+4>>2],_[t+60+8>>2]=_[e+24+8>>2],_[t+60+12>>2]=_[e+24+12>>2],+(a=+p[e+40>>2]))},function(t,e,i){return 0},function(t,e,i){t|=0,e|=0,i|=0;var n=0;t:do{if(i>>>0>=3)if((i+-3|0)>>>0<3)switch(0|e){case 2:n=+p[t+868+(i+-3<<6)+32>>2];break t;case 4:n=+p[t+868+(i+-3<<6)+36>>2];break t;case 3:n=+p[t+868+(i+-3<<6)+28>>2];break t;default:n=0;break t}else n=0;else switch(0|e){case 2:n=+p[t+756+(i<<2)>>2];break t;case 4:n=+p[t+772+(i<<2)>>2];break t;case 3:n=+p[t+740+(i<<2)>>2];break t;default:n=0;break t}}while(0);return+n},function(t,e,i){t|=0,e|=0,i|=0;var n=0;t:do{if(-1==(0|i))switch(0|e){case 2:case 1:n=+p[t+336>>2];break t;case 4:case 3:n=+p[t+340>>2];break t;default:n=34028234663852886e22;break t}else n=34028234663852886e22}while(0);return+n},function(t,e,i){t|=0,e|=0,i|=0;var n=0;t:do{switch(0|e){case 2:if((0|i)<1){n=+p[t+232>>2];break t}if((0|i)<3){n=+p[t+264>>2];break t}if(3==(0|i)){n=+p[t+248>>2];break t}n=(0|i)<6?+p[t+280>>2]:34028234663852886e22;break;case 3:if((0|i)<1){n=+p[t+212>>2];break t}n=3==(0|i)?+p[t+228>>2]:34028234663852886e22;break;case 4:if((0|i)<1){n=+p[t+244>>2];break t}if((0|i)<3){n=+p[t+276>>2];break t}if(3==(0|i)){n=+p[t+260>>2];break t}n=(0|i)<6?+p[t+292>>2]:34028234663852886e22;break;default:n=34028234663852886e22}}while(0);return+n},function(t,e,i){t|=0,e|=0,i|=0;var n=0;t:do{switch(0|e){case 2:case 1:if(i>>>0<3){n=+p[t+600>>2];break t}n=(i+-3|0)>>>0<3?+p[t+432>>2]:0;break;case 4:case 3:if(i>>>0<3){n=+p[t+596>>2];break t}n=(i+-3|0)>>>0<3?+p[t+604>>2]:0;break;default:n=0}}while(0);return+n},function(t,e,i){t|=0,e|=0,i|=0;var n=0;t:do{switch(0|i){case 5:case-1:switch(0|e){case 2:n=+p[t+760>>2];break t;case 4:n=+p[t+756>>2];break t;case 3:n=+p[t+752>>2];break t;default:n=0;break t}default:n=0}}while(0);return+n},function(t,e,i){t|=0,i|=0;var n,o=0,r=0,s=0,c=0,a=0;return(0|(n=0|_[(e|=0)>>2]))==(0|_[t+80>>2])||4&_[n+204>>2]?+(s=1):(i?(o=+p[e+8>>2],r=+p[e+12>>2],s=+p[e+16>>2]):(a=+p[e+8>>2],c=+p[e+12>>2],s=+p[e+16>>2],o=+p[n+4>>2]*a+ +p[n+8>>2]*c+ +p[n+12>>2]*s,r=a*+p[n+20>>2]+c*+p[n+24>>2]+s*+p[n+28>>2],s=a*+p[n+36>>2]+c*+p[n+40>>2]+s*+p[n+44>>2]),o*+p[t+84>>2]+r*+p[t+88>>2]+s*+p[t+92>>2]<+p[t+100>>2]?+(a=1):(_[t+4>>2]=_[e+40>>2],_[t+76>>2]=n,i?(_[t+44>>2]=_[e+8>>2],_[t+44+4>>2]=_[e+8+4>>2],_[t+44+8>>2]=_[e+8+8>>2],_[t+44+12>>2]=_[e+8+12>>2]):(o=+p[e+8>>2],r=+p[e+12>>2],s=+p[e+16>>2],c=o*+p[n+20>>2]+r*+p[n+24>>2]+s*+p[n+28>>2],a=o*+p[n+36>>2]+r*+p[n+40>>2]+s*+p[n+44>>2],p[t+44>>2]=+p[n+4>>2]*o+ +p[n+8>>2]*r+ +p[n+12>>2]*s,p[t+48>>2]=c,p[t+52>>2]=a,p[t+56>>2]=0),_[t+60>>2]=_[e+24>>2],_[t+60+4>>2]=_[e+24+4>>2],_[t+60+8>>2]=_[e+24+8>>2],_[t+60+12>>2]=_[e+24+12>>2],+(a=+p[e+40>>2])))},function(t,e,i){var n,o,r;return t|=0,e|=0,i|=0,n=Q,Q=Q+16|0,_[n>>2]=-1,_[n+4>>2]=_[t+24>>2],0|_[e+4>>2]||(_[e+4>>2]=n),r=0|_[t+20>>2],o=+Fl[15&_[12+(0|_[r>>2])>>2]](r,e,i),_[t+4>>2]=_[4+(0|_[t+20>>2])>>2],Q=n,+o},function(t,e,i){var n,o,r;return t|=0,e|=0,i|=0,n=Q,Q=Q+16|0,_[n>>2]=-1,_[n+4>>2]=_[t+16>>2],0|_[e+4>>2]||(_[e+4>>2]=n),r=0|_[t+12>>2],o=+Fl[15&_[12+(0|_[r>>2])>>2]](r,e,i),_[t+4>>2]=_[4+(0|_[t+12>>2])>>2],Q=n,+o},function(t,e,i){switch(e|=0,i|=0,0|_[96+(t|=0)>>2]){case 0:return i=(0|_[t+92>>2])+((0|g(0|_[t+64>>2],i))+e<<2)|0,+ +p[i>>2];case 5:return i=(0|_[t+92>>2])+((0|g(0|_[t+64>>2],i))+e)|0,+ +p[t+88>>2]*+(0|r[0|i]);case 3:return i=(0|_[t+92>>2])+((0|g(0|_[t+64>>2],i))+e<<1)|0,+ +p[t+88>>2]*+(0|o[i>>1]);default:return 0}return 0},Oa,Oa],xl=[_p,function(t,e,i,n,o,r){var s;return t|=0,e|=0,i|=0,n=+n,o|=0,r|=0,s=Q,Q=Q+64|0,_[s+48>>2]=o,_[s+48+4>>2]=r,o=0|_[t+212>>2],+p[o+4>>2]>=n?(_[s>>2]=_[t+216>>2],_[s+4>>2]=s+48,_[s+8>>2]=_[e>>2],_[s+8+4>>2]=_[e+4>>2],_[s+8+8>>2]=_[e+8>>2],_[s+8+12>>2]=_[e+12>>2],_[s+24>>2]=_[i>>2],_[s+24+4>>2]=_[i+4>>2],_[s+24+8>>2]=_[i+8>>2],_[s+24+12>>2]=_[i+12>>2],p[s+40>>2]=n,n=+Fl[15&_[12+(0|_[o>>2])>>2]](o,s,1),Q=s,+n):(Q=s,+n)},function(t,e,i,n,o,r){var s;return t|=0,e|=0,i|=0,n=+n,o|=0,r|=0,s=Q,Q=Q+64|0,_[s+48>>2]=o,_[s+48+4>>2]=r,o=0|_[t+212>>2],+p[o+4>>2]>=n?(_[s>>2]=_[t+216>>2],_[s+4>>2]=s+48,_[s+8>>2]=_[e>>2],_[s+8+4>>2]=_[e+4>>2],_[s+8+8>>2]=_[e+8>>2],_[s+8+12>>2]=_[e+12>>2],_[s+24>>2]=_[i>>2],_[s+24+4>>2]=_[i+4>>2],_[s+24+8>>2]=_[i+8>>2],_[s+24+12>>2]=_[i+12>>2],p[s+40>>2]=n,n=+Fl[15&_[12+(0|_[o>>2])>>2]](o,s,0),Q=s,+n):(Q=s,+n)},_p],Ol=[function(t,e,i,n){return v(5),0},function(t,e,i,o){e|=0,i|=0,o|=0;var r,s=0,c=0,a=0,l=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0;if(r=Q,Q=Q+80|0,c=0|_[28+(t|=0)>>2],!!(4&(e=0|_[o+64>>2]))&(0|c)>0)if(i=0|_[t+36>>2],s=0|_[t+76>>2],16&e){e=0;do{l=0|_[i+(152*e|0)+132>>2],_[l+120>>2]=_[i+(152*e|0)+100>>2],a=0|_[i+(152*e|0)+140>>2],_[l+124>>2]=_[s+(152*a|0)+100>>2],_[l+128>>2]=_[s+(152*(a+1|0)|0)+100>>2],e=e+1|0}while((0|e)!=(0|c))}else{e=0;do{l=0|_[i+(152*e|0)+132>>2],_[l+120>>2]=_[i+(152*e|0)+100>>2],_[l+124>>2]=_[s+(152*(0|_[i+(152*e|0)+140>>2])|0)+100>>2],e=e+1|0}while((0|e)!=(0|c))}if((0|(s=0|_[t+48>>2]))>0){e=0;do{c=0|_[t+56>>2],a=0|_[c+(152*e|0)+132>>2],i=c+(152*e|0)+100|0,0|(l=0|_[a+44>>2])&&(f=+p[i>>2],h=0|_[a+28>>2],A=1/+p[o+12>>2],b=f*+p[c+(152*e|0)+20>>2]*+p[h+352>>2]*A,u=f*+p[c+(152*e|0)+24>>2]*+p[h+356>>2]*A,p[l>>2]=+p[l>>2]+ +p[c+(152*e|0)+16>>2]*f*+p[h+348>>2]*A,p[l+4>>2]=b+ +p[l+4>>2],p[l+8>>2]=u+ +p[l+8>>2],u=+p[i>>2],m=0|_[a+32>>2],b=1/+p[o+12>>2],A=u*+p[c+(152*e|0)+52>>2]*+p[m+352>>2]*b,f=u*+p[c+(152*e|0)+56>>2]*+p[m+356>>2]*b,p[l+32>>2]=+p[l+32>>2]+ +p[c+(152*e|0)+48>>2]*u*+p[m+348>>2]*b,p[l+36>>2]=A+ +p[l+36>>2],p[l+40>>2]=f+ +p[l+40>>2],f=+p[i>>2],A=1/+p[o+12>>2],b=+p[c+(152*e|0)+4>>2]*+p[h+548>>2]*f*A,u=f*(+p[c+(152*e|0)+8>>2]*+p[h+552>>2])*A,p[l+16>>2]=+p[l+16>>2]+ +p[c+(152*e|0)>>2]*+p[h+544>>2]*f*A,p[l+20>>2]=b+ +p[l+20>>2],p[l+24>>2]=u+ +p[l+24>>2],u=+p[i>>2],b=1/+p[o+12>>2],A=+p[c+(152*e|0)+36>>2]*+p[m+548>>2]*u*b,f=u*(+p[c+(152*e|0)+40>>2]*+p[m+552>>2])*b,p[l+48>>2]=+p[l+48>>2]+ +p[c+(152*e|0)+32>>2]*+p[m+544>>2]*u*b,p[l+52>>2]=A+ +p[l+52>>2],p[l+56>>2]=f+ +p[l+56>>2]),u=+p[i>>2],p[a+36>>2]=u,(u=+d(+u))>=+p[a+16>>2]&&(n[a+20|0]=0),e=e+1|0}while((0|e)!=(0|s))}if((0|(e=0|_[t+8>>2]))>0){a=0,i=0|_[t+16>>2];do{s=i+(244*a|0)|0,(c=0|_[i+(244*a|0)+240>>2])&&(0|_[o+44>>2]?(b=+p[o+12>>2],A=+p[o+52>>2],p[(e=i+(244*a|0)+176|0)>>2]=+p[i+(244*a|0)+64>>2]+ +p[e>>2],p[(e=i+(244*a|0)+180|0)>>2]=+p[i+(244*a|0)+68>>2]+ +p[e>>2],p[(e=i+(244*a|0)+184|0)>>2]=+p[i+(244*a|0)+72>>2]+ +p[e>>2],p[(e=i+(244*a|0)+192|0)>>2]=+p[i+(244*a|0)+80>>2]+ +p[e>>2],p[(e=i+(244*a|0)+196|0)>>2]=+p[i+(244*a|0)+84>>2]+ +p[e>>2],p[(e=i+(244*a|0)+200|0)>>2]=+p[i+(244*a|0)+88>>2]+ +p[e>>2],e=i+(244*a|0)+148|0,0==(f=+p[i+(244*a|0)+144>>2])&&0==+p[e>>2]&&0==+p[i+(244*a|0)+152>>2]&&0==+p[i+(244*a|0)+160>>2]&&0==+p[i+(244*a|0)+164>>2]&&0==+p[i+(244*a|0)+168>>2]?e=c:(y=+p[i+(244*a|0)+164>>2]*A,u=+p[i+(244*a|0)+168>>2]*A,p[r>>2]=+p[i+(244*a|0)+160>>2]*A,p[r+4>>2]=y,p[r+8>>2]=u,p[r+12>>2]=0,Bt(s,f,+p[e>>2],+p[i+(244*a|0)+152>>2],r,b,r+16|0),_[s>>2]=_[r+16>>2],_[s+4>>2]=_[r+16+4>>2],_[s+8>>2]=_[r+16+8>>2],_[s+12>>2]=_[r+16+12>>2],_[(e=i+(244*a|0)+16|0)>>2]=_[r+16+16>>2],_[e+4>>2]=_[r+16+16+4>>2],_[e+8>>2]=_[r+16+16+8>>2],_[e+12>>2]=_[r+16+16+12>>2],_[(e=i+(244*a|0)+32|0)>>2]=_[r+16+32>>2],_[e+4>>2]=_[r+16+32+4>>2],_[e+8>>2]=_[r+16+32+8>>2],_[e+12>>2]=_[r+16+32+12>>2],_[(e=i+(244*a|0)+48|0)>>2]=_[r+16+48>>2],_[e+4>>2]=_[r+16+48+4>>2],_[e+8>>2]=_[r+16+48+8>>2],_[e+12>>2]=_[r+16+48+12>>2],i=e=0|_[t+16>>2],e=0|_[e+(244*a|0)+240>>2]),s=i,A=+p[i+(244*a|0)+176>>2],f=+p[i+(244*a|0)+180>>2],b=+p[i+(244*a|0)+184>>2]):(s=i+(244*a|0)+176|0,A=+p[i+(244*a|0)+64>>2]+ +p[s>>2],p[s>>2]=A,s=i+(244*a|0)+180|0,f=+p[i+(244*a|0)+68>>2]+ +p[s>>2],p[s>>2]=f,s=i+(244*a|0)+184|0,b=+p[i+(244*a|0)+72>>2]+ +p[s>>2],p[s>>2]=b,p[(s=i+(244*a|0)+192|0)>>2]=+p[i+(244*a|0)+80>>2]+ +p[s>>2],p[(s=i+(244*a|0)+196|0)>>2]=+p[i+(244*a|0)+84>>2]+ +p[s>>2],p[(s=i+(244*a|0)+200|0)>>2]=+p[i+(244*a|0)+88>>2]+ +p[s>>2],s=i,e=c),y=A+ +p[s+(244*a|0)+208>>2],u=f+ +p[s+(244*a|0)+212>>2],f=b+ +p[s+(244*a|0)+216>>2],_[(m=e+260|0)>>2]=1+(0|_[m>>2]),p[e+312>>2]=y,p[e+316>>2]=u,p[e+320>>2]=f,p[e+324>>2]=0,m=0|_[t+16>>2],h=0|_[m+(244*a|0)+240>>2],f=+p[m+(244*a|0)+192>>2]+ +p[m+(244*a|0)+224>>2],u=+p[m+(244*a|0)+196>>2]+ +p[m+(244*a|0)+228>>2],y=+p[m+(244*a|0)+200>>2]+ +p[m+(244*a|0)+232>>2],_[h+260>>2]=1+(0|_[h+260>>2]),p[h+328>>2]=f,p[h+332>>2]=u,p[h+336>>2]=y,p[h+340>>2]=0,0|_[o+44>>2]&&(m=0|_[t+16>>2],h=0|_[m+(244*a|0)+240>>2],l=m+(244*a|0)|0,_[h+260>>2]=1+(0|_[h+260>>2]),_[h+4>>2]=_[l>>2],_[h+4+4>>2]=_[l+4>>2],_[h+4+8>>2]=_[l+8>>2],_[h+4+12>>2]=_[l+12>>2],l=m+(244*a|0)+16|0,_[h+20>>2]=_[l>>2],_[h+20+4>>2]=_[l+4>>2],_[h+20+8>>2]=_[l+8>>2],_[h+20+12>>2]=_[l+12>>2],l=m+(244*a|0)+32|0,_[h+36>>2]=_[l>>2],_[h+36+4>>2]=_[l+4>>2],_[h+36+8>>2]=_[l+8>>2],_[h+36+12>>2]=_[l+12>>2],m=m+(244*a|0)+48|0,_[h+52>>2]=_[m>>2],_[h+52+4>>2]=_[m+4>>2],_[h+52+8>>2]=_[m+8>>2],_[h+52+12>>2]=_[m+12>>2]),i=0|_[t+16>>2],_[212+(0|_[i+(244*a|0)+240>>2])>>2]=-1,e=0|_[t+8>>2]),a=a+1|0}while((0|a)<(0|e))}return(0|_[t+28>>2])<0&&(0|_[t+32>>2])<0&&(0|(e=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=0,_[t+32>>2]=0),_[t+28>>2]=0,(0|_[t+48>>2])<0&&(0|_[t+52>>2])<0&&(0|(e=0|_[t+56>>2])&&(0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+56>>2]=0),n[t+60|0]=1,_[t+56>>2]=0,_[t+52>>2]=0),_[t+48>>2]=0,(0|_[t+68>>2])<0&&(0|_[t+72>>2])<0&&(0|(e=0|_[t+76>>2])&&(0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+76>>2]=0),n[t+80|0]=1,_[t+76>>2]=0,_[t+72>>2]=0),_[t+68>>2]=0,(0|_[t+88>>2])<0&&(0|_[t+92>>2])<0&&(0|(e=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=0,_[t+92>>2]=0),_[t+88>>2]=0,(0|_[t+8>>2])>=0||(0|_[t+12>>2])>=0?(_[t+8>>2]=0,Q=r,0):(0|(e=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=0,_[t+12>>2]=0,_[t+8>>2]=0,Q=r,0)}],Tl=[xp,cr,function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B,W,F,x,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0;return x=Q,Q=Q+240|0,r=(o=!!(0|n[8+(t|=0)|0]))?i:e,o=o?e:i,(Z=+p[r+116>>2]-+p[r+52>>2])*Z+(U=+p[r+120>>2]-+p[r+56>>2])*U+(Y=+p[r+124>>2]-+p[r+60>>2])*Y<(J=+p[r+252>>2])*J?(Q=x,+(X=1)):(v=+p[o+4>>2],S=+p[o+20>>2],w=+p[o+36>>2],k=+p[o+8>>2],R=+p[o+24>>2],j=+p[o+40>>2],D=+p[o+12>>2],I=+p[o+28>>2],B=+p[o+44>>2],T=-+p[o+52>>2],P=-+p[o+56>>2],M=-+p[o+60>>2],W=+p[r+4>>2],F=+p[r+20>>2],Z=+p[r+36>>2],U=+p[r+8>>2],Y=+p[r+24>>2],J=+p[r+40>>2],s=+p[r+12>>2],c=+p[r+28>>2],a=+p[r+44>>2],l=v*T+S*P+w*M+(v*(E=+p[r+52>>2])+S*(L=+p[r+56>>2])+w*(N=+p[r+60>>2])),d=k*T+R*P+j*M+(k*E+R*L+j*N),N=D*T+I*P+B*M+(D*E+I*L+B*N),L=+p[r+68>>2],E=+p[r+84>>2],b=+p[r+100>>2],A=+p[r+72>>2],f=+p[r+88>>2],u=+p[r+104>>2],m=+p[r+76>>2],h=+p[r+92>>2],y=+p[r+108>>2],g=v*T+S*P+w*M+(v*(V=+p[r+116>>2])+S*(G=+p[r+120>>2])+w*(H=+p[r+124>>2])),C=k*T+R*P+j*M+(k*V+R*G+j*H),H=D*T+I*P+B*M+(D*V+I*G+B*H),o=0|_[o+192>>2],((0|_[o+4>>2])-21|0)>>>0>=9?(Q=x,+(X=1)):(p[x+224>>2]=l,p[x+224+4>>2]=d,p[x+224+8>>2]=N,p[x+224+12>>2]=0,g>2]=g,O=g):O=l,C>2]=C,T=C):T=d,H>2]=H,P=H):P=N,p[x+208>>2]=l,p[x+208+4>>2]=d,p[x+208+8>>2]=N,p[x+208+12>>2]=0,l>2]=g,M=g):M=l,d>2]=C,V=C):V=d,N>2]=H,G=H):G=N,z=+p[r+248>>2],p[x+224>>2]=O-z,p[x+224+4>>2]=T-z,p[x+224+8>>2]=P-z,p[x+208>>2]=z+M,p[x+208+4>>2]=z+V,p[x+208+8>>2]=z+G,_[x>>2]=4516,p[x+4>>2]=v*W+S*F+w*Z,p[x+8>>2]=v*U+S*Y+w*J,p[x+12>>2]=v*s+S*c+w*a,p[x+16>>2]=0,p[x+20>>2]=k*W+R*F+j*Z,p[x+24>>2]=k*U+R*Y+j*J,p[x+28>>2]=k*s+R*c+j*a,p[x+32>>2]=0,p[x+36>>2]=D*W+I*F+B*Z,p[x+40>>2]=D*U+I*Y+B*J,p[x+44>>2]=D*s+I*c+B*a,p[x+48>>2]=0,p[x+52>>2]=l,p[x+56>>2]=d,p[x+60>>2]=N,p[x+64>>2]=0,p[x+68>>2]=v*L+S*E+w*b,p[x+72>>2]=v*A+S*f+w*u,p[x+76>>2]=v*m+S*h+w*y,p[x+80>>2]=0,p[x+84>>2]=k*L+R*E+j*b,p[x+88>>2]=k*A+R*f+j*u,p[x+92>>2]=k*m+R*h+j*y,p[x+96>>2]=0,p[x+100>>2]=D*L+I*E+B*b,p[x+104>>2]=D*A+I*f+B*u,p[x+108>>2]=D*m+I*h+B*y,p[x+112>>2]=0,p[x+116>>2]=g,p[x+120>>2]=C,p[x+124>>2]=H,p[x+128>>2]=0,p[x+196>>2]=z,_[x+200>>2]=_[r+244>>2],0|o&&(pd[127&_[64+(0|_[o>>2])>>2]](o,x,x+224|0,x+208|0),(X=+p[x+200>>2])<+p[r+244>>2])?(p[r+244>>2]=X,Q=x,+(z=X)):(Q=x,+(z=1))))},cr,cr,function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B,W,F,x,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0;return x=Q,Q=Q+240|0,r=(o=!!(0|n[8+(t|=0)|0]))?i:e,o=o?e:i,(Z=+p[r+116>>2]-+p[r+52>>2])*Z+(U=+p[r+120>>2]-+p[r+56>>2])*U+(Y=+p[r+124>>2]-+p[r+60>>2])*Y<(J=+p[r+252>>2])*J?(Q=x,+(X=1)):(v=+p[o+4>>2],S=+p[o+20>>2],w=+p[o+36>>2],k=+p[o+8>>2],R=+p[o+24>>2],j=+p[o+40>>2],D=+p[o+12>>2],I=+p[o+28>>2],B=+p[o+44>>2],T=-+p[o+52>>2],P=-+p[o+56>>2],M=-+p[o+60>>2],W=+p[r+4>>2],F=+p[r+20>>2],Z=+p[r+36>>2],U=+p[r+8>>2],Y=+p[r+24>>2],J=+p[r+40>>2],s=+p[r+12>>2],c=+p[r+28>>2],a=+p[r+44>>2],l=v*T+S*P+w*M+(v*(E=+p[r+52>>2])+S*(L=+p[r+56>>2])+w*(N=+p[r+60>>2])),d=k*T+R*P+j*M+(k*E+R*L+j*N),N=D*T+I*P+B*M+(D*E+I*L+B*N),L=+p[r+68>>2],E=+p[r+84>>2],b=+p[r+100>>2],A=+p[r+72>>2],f=+p[r+88>>2],u=+p[r+104>>2],m=+p[r+76>>2],h=+p[r+92>>2],y=+p[r+108>>2],g=v*T+S*P+w*M+(v*(V=+p[r+116>>2])+S*(G=+p[r+120>>2])+w*(H=+p[r+124>>2])),C=k*T+R*P+j*M+(k*V+R*G+j*H),H=D*T+I*P+B*M+(D*V+I*G+B*H),o=0|_[o+192>>2],((0|_[o+4>>2])-21|0)>>>0>=9?(Q=x,+(X=1)):(p[x+224>>2]=l,p[x+224+4>>2]=d,p[x+224+8>>2]=N,p[x+224+12>>2]=0,g>2]=g,O=g):O=l,C>2]=C,T=C):T=d,H>2]=H,P=H):P=N,p[x+208>>2]=l,p[x+208+4>>2]=d,p[x+208+8>>2]=N,p[x+208+12>>2]=0,l>2]=g,M=g):M=l,d>2]=C,V=C):V=d,N>2]=H,G=H):G=N,z=+p[r+248>>2],p[x+224>>2]=O-z,p[x+224+4>>2]=T-z,p[x+224+8>>2]=P-z,p[x+208>>2]=z+M,p[x+208+4>>2]=z+V,p[x+208+8>>2]=z+G,_[x>>2]=6432,p[x+4>>2]=v*W+S*F+w*Z,p[x+8>>2]=v*U+S*Y+w*J,p[x+12>>2]=v*s+S*c+w*a,p[x+16>>2]=0,p[x+20>>2]=k*W+R*F+j*Z,p[x+24>>2]=k*U+R*Y+j*J,p[x+28>>2]=k*s+R*c+j*a,p[x+32>>2]=0,p[x+36>>2]=D*W+I*F+B*Z,p[x+40>>2]=D*U+I*Y+B*J,p[x+44>>2]=D*s+I*c+B*a,p[x+48>>2]=0,p[x+52>>2]=l,p[x+56>>2]=d,p[x+60>>2]=N,p[x+64>>2]=0,p[x+68>>2]=v*L+S*E+w*b,p[x+72>>2]=v*A+S*f+w*u,p[x+76>>2]=v*m+S*h+w*y,p[x+80>>2]=0,p[x+84>>2]=k*L+R*E+j*b,p[x+88>>2]=k*A+R*f+j*u,p[x+92>>2]=k*m+R*h+j*y,p[x+96>>2]=0,p[x+100>>2]=D*L+I*E+B*b,p[x+104>>2]=D*A+I*f+B*u,p[x+108>>2]=D*m+I*h+B*y,p[x+112>>2]=0,p[x+116>>2]=g,p[x+120>>2]=C,p[x+124>>2]=H,p[x+128>>2]=0,p[x+196>>2]=z,_[x+200>>2]=_[r+244>>2],0|o&&(pd[127&_[64+(0|_[o>>2])>>2]](o,x,x+224|0,x+208|0),(X=+p[x+200>>2])<+p[r+244>>2])?(p[r+244>>2]=X,Q=x,+(z=X)):(Q=x,+(z=1))))},cr,cr,function(t,e,i,o,r){t|=0,i|=0,o|=0,r|=0;var s,c,a,l,d=0,b=0,A=0;return t=Q,Q=Q+608|0,A=+p[116+(e|=0)>>2]-+p[e+52>>2],l=+p[e+120>>2]-+p[e+56>>2],a=+p[e+124>>2]-+p[e+60>>2],d=+p[i+116>>2]-+p[i+52>>2],b=+p[i+120>>2]-+p[i+56>>2],s=+p[i+124>>2]-+p[i+60>>2],A*A+l*l+a*a<(c=+p[e+252>>2])*c&&d*d+b*b+s*s<(A=+p[i+252>>2])*A?(Q=t,+(A=1)):(r=0|_[e+192>>2],o=0|_[i+248>>2],_[t+552+8>>2]=0,_[t+552+12>>2]=1065353216,_[t+552+16>>2]=1065353216,_[t+552+20>>2]=1065353216,p[t+552+24>>2]=0,_[t+552>>2]=7568,_[t+552+4>>2]=8,_[t+552+28>>2]=o,_[t+552+44>>2]=o,_[t+376>>2]=4536,p[t+376+164>>2]=0xde0b6b000000000,_[t+376+168>>2]=0,p[t+376+172>>2]=0,p[t+16+308>>2]=9999999747378752e-20,n[t+16+332|0]=0,_[t>>2]=10136,_[t+4>>2]=t+16,_[t+8>>2]=r,_[t+12>>2]=t+552,0|me(t,e+4|0,e+68|0,i+4|0,i+68|0,t+376|0)?(d=+p[t+376+164>>2],+p[e+244>>2]>d&&(p[e+244>>2]=d),+p[i+244>>2]>d&&(p[i+244>>2]=d),d<1||(d=1)):d=1,r=0|_[i+192>>2],o=0|_[e+248>>2],_[t+552+8>>2]=0,_[t+552+12>>2]=1065353216,_[t+552+16>>2]=1065353216,_[t+552+20>>2]=1065353216,p[t+552+24>>2]=0,_[t+552>>2]=7568,_[t+552+4>>2]=8,_[t+552+28>>2]=o,_[t+552+44>>2]=o,_[t+376>>2]=4536,p[t+376+164>>2]=0xde0b6b000000000,_[t+376+168>>2]=0,p[t+376+172>>2]=0,p[t+16+308>>2]=9999999747378752e-20,n[t+16+332|0]=0,_[t>>2]=10136,_[t+4>>2]=t+16,_[t+8>>2]=t+552,_[t+12>>2]=r,0|me(t,e+4|0,e+68|0,i+4|0,i+68|0,t+376|0)&&(b=+p[t+376+164>>2],+p[e+244>>2]>b&&(p[e+244>>2]=b),+p[i+244>>2]>b&&(p[i+244>>2]=b),d>b&&(d=b)),Q=t,+(A=d))},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0;if(w=(D=!!(0|n[28+(t|=0)|0]))?i:e,D=D?e:i,(0|(v=0|_[t+12>>2]))<=0)return+(R=1);S=24+(0|_[w+192>>2])|0,s=+p[w+4>>2],y=+p[w+8>>2],g=+p[w+12>>2],C=0|_[w+16>>2],R=+p[w+20>>2],c=+p[w+24>>2],a=+p[w+28>>2],i=0|_[w+32>>2],l=+p[w+36>>2],d=+p[w+40>>2],b=+p[w+44>>2],A=0|_[w+48>>2],f=+p[w+52>>2],u=+p[w+56>>2],m=+p[w+60>>2],h=0|_[w+64>>2],k=1,e=0,j=0|_[w+260>>2];do{B=0|_[S>>2],L=+p[B+(80*e|0)>>2],N=+p[B+(80*e|0)+16>>2],G=+p[B+(80*e|0)+32>>2],V=+p[B+(80*e|0)+4>>2],M=+p[B+(80*e|0)+20>>2],P=+p[B+(80*e|0)+36>>2],T=+p[B+(80*e|0)+8>>2],O=+p[B+(80*e|0)+24>>2],x=+p[B+(80*e|0)+40>>2],F=+p[B+(80*e|0)+48>>2],W=+p[B+(80*e|0)+52>>2],I=+p[B+(80*e|0)+56>>2],_[w+260>>2]=j+1,p[w+4>>2]=s*L+y*N+g*G,p[w+8>>2]=s*V+y*M+g*P,p[w+12>>2]=s*T+y*O+g*x,p[w+16>>2]=0,p[w+20>>2]=R*L+c*N+a*G,p[w+24>>2]=R*V+c*M+a*P,p[w+28>>2]=R*T+c*O+a*x,p[w+32>>2]=0,p[w+36>>2]=l*L+d*N+b*G,p[w+40>>2]=l*V+d*M+b*P,p[w+44>>2]=l*T+d*O+b*x,p[w+48>>2]=0,p[w+52>>2]=f+(s*F+y*W+g*I),p[w+56>>2]=u+(R*F+c*W+a*I),p[w+60>>2]=m+(l*F+d*W+b*I),p[w+64>>2]=0,B=0|_[(0|_[t+20>>2])+(e<<2)>>2],k=(I=+Tl[15&_[12+(0|_[B>>2])>>2]](B,w,D,o,r))>2])|0,_[w+260>>2]=j,p[w+4>>2]=s,p[w+8>>2]=y,p[w+12>>2]=g,_[w+16>>2]=C,p[w+20>>2]=R,p[w+24>>2]=c,p[w+28>>2]=a,_[w+32>>2]=i,p[w+36>>2]=l,p[w+40>>2]=d,p[w+44>>2]=b,_[w+48>>2]=A,p[w+52>>2]=f,p[w+56>>2]=u,p[w+60>>2]=m,_[w+64>>2]=h,e=e+1|0}while((0|e)!=(0|v));return+k},function(t,e,i,n,o){return 0},cr,cr,xp,xp,xp],Pl=[function(t,e,i,n,o,_,r,s){return v(7),0},function(t,e,i,n,o,_,r,s){return+ +B(6,0|(t|=0),0|(e|=0),0|(i|=0),0|(n|=0),0|(o|=0),0|(_|=0),0|(r|=0),0|(s|=0))}],Ml=[Dr,function(t,e,i,o,r,s,c,a,l){e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,a|=0,l|=0;var A,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0;if(A=Q,Q=Q+256|0,_[188+(t|=0)>>2]=-1,$i(15261),_[t+184>>2]=0,(0|i)>0){l=0;do{_[212+(0|_[e+(l<<2)>>2])>>2]=-1,l=l+1|0}while((0|l)!=(0|i))}if((0|(l=0|_[t+12>>2]))>(0|i))u=t+8|0,f=l;else{if(i+1|0&&(_[6630]=1+(0|_[6630]),0|(f=0|di(16+(244*(i+1|0)|3)|0)))?(_[(f+4+15&-16)-4>>2]=f,u=f+4+15&-16):u=0,(0|(f=0|_[t+8>>2]))>0){l=0;do{K=u+(244*l|0)|0,z=(q=0|_[t+16>>2])+(244*l|0)|0,_[K>>2]=_[z>>2],_[K+4>>2]=_[z+4>>2],_[K+8>>2]=_[z+8>>2],_[K+12>>2]=_[z+12>>2],K=q+(244*l|0)+16|0,_[(z=u+(244*l|0)+16|0)>>2]=_[K>>2],_[z+4>>2]=_[K+4>>2],_[z+8>>2]=_[K+8>>2],_[z+12>>2]=_[K+12>>2],z=q+(244*l|0)+32|0,_[(K=u+(244*l|0)+32|0)>>2]=_[z>>2],_[K+4>>2]=_[z+4>>2],_[K+8>>2]=_[z+8>>2],_[K+12>>2]=_[z+12>>2],z=q+(244*l|0)+48|0,_[(K=u+(244*l|0)+48|0)>>2]=_[z>>2],_[K+4>>2]=_[z+4>>2],_[K+8>>2]=_[z+8>>2],_[K+12>>2]=_[z+12>>2],_e(u+(244*l|0)+64|0,q+(244*l|0)+64|0,180),l=l+1|0}while((0|l)!=(0|f))}0|(l=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=u,_[t+12>>2]=i+1,u=t+8|0,f=i+1|0}if(wn(0|A,0,244),(0|(l=0|_[u>>2]))<0){(0|f)<0&&(0|(f=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=0,_[t+12>>2]=0);do{q=0|_[t+16>>2],_[(K=q+(244*l|0)|0)>>2]=_[A>>2],_[K+4>>2]=_[A+4>>2],_[K+8>>2]=_[A+8>>2],_[K+12>>2]=_[A+12>>2],_[(K=q+(244*l|0)+16|0)>>2]=_[A+16>>2],_[K+4>>2]=_[A+16+4>>2],_[K+8>>2]=_[A+16+8>>2],_[K+12>>2]=_[A+16+12>>2],_[(K=q+(244*l|0)+32|0)>>2]=_[A+32>>2],_[K+4>>2]=_[A+32+4>>2],_[K+8>>2]=_[A+32+8>>2],_[K+12>>2]=_[A+32+12>>2],_[(K=q+(244*l|0)+48|0)>>2]=_[A+48>>2],_[K+4>>2]=_[A+48+4>>2],_[K+8>>2]=_[A+48+8>>2],_[K+12>>2]=_[A+48+12>>2],_e(q+(244*l|0)+64|0,A+64|0,180),l=l+1|0}while(0|l)}if(_[u>>2]=0,(0|i)>0){l=0;do{f=0|Re(t,0|_[(u=e+(l<<2)|0)>>2],+p[a+12>>2]),0|(u=0|_[u>>2])&&2&_[u+236>>2]&&0!=+p[u+344>>2]&&(h=0|_[t+16>>2],2&_[u+504>>2])&&(m=+p[a+76>>2],L=1/+p[u+396>>2],H=1/+p[u+400>>2],g=1/+p[u+404>>2],O=+p[u+4>>2],T=+p[u+8>>2],P=+p[u+12>>2],M=+p[u+20>>2],V=+p[u+24>>2],N=+p[u+28>>2],E=+p[u+36>>2],Z=+p[u+40>>2],S=+p[u+44>>2],(g=((w=+p[u+328>>2])*(j=(L*M*O+H*V*T+g*N*P)*w+(L*M*M+H*V*V+g*N*N)*(k=+p[u+332>>2])+(L*M*E+H*V*Z+g*N*S)*(v=+p[u+336>>2]))-k*(R=(L*O*O+H*T*T+g*P*P)*w+(L*O*M+H*T*V+g*P*N)*k+(L*O*E+H*T*Z+g*P*S)*v))*(w*j-k*R)+((k*(S=(L*E*O+H*Z*T+g*S*P)*w+(L*E*M+H*Z*V+g*S*N)*k+(L*E*E+H*Z*Z+g*S*S)*v)-v*j)*(k*S-v*j)+(v*R-w*S)*(v*R-w*S)))>m*m?(C=(k*S-v*j)*(m=1/+b(+g)*m),g=(v*R-w*S)*m,m*=w*j-k*R):(C=k*S-v*j,g=v*R-w*S,m=w*j-k*R),E=+p[a+12>>2],H=(C*+p[u+268>>2]+g*+p[u+284>>2]+m*+p[u+300>>2])*E,Z=E*(C*+p[u+272>>2]+g*+p[u+288>>2]+m*+p[u+304>>2]),p[h+(244*f|0)+224>>2]=+p[h+(244*f|0)+224>>2]-(C*+p[u+264>>2]+g*+p[u+280>>2]+m*+p[u+296>>2])*E,p[h+(244*f|0)+228>>2]=+p[h+(244*f|0)+228>>2]-H,p[h+(244*f|0)+232>>2]=+p[h+(244*f|0)+232>>2]-Z),l=l+1|0}while((0|l)!=(0|i))}if((0|c)>0){l=0;do{q=0|_[s+(l<<2)>>2],Xl[511&_[8+(0|_[q>>2])>>2]](q),p[q+36>>2]=0,l=l+1|0}while((0|l)<(0|c))}if((0|(f=0|_[t+168>>2]))<(0|c)&&(0|_[t+172>>2])<(0|c)){if(c?(_[6630]=1+(0|_[6630]),(l=0|di(16+(c<<3|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,f=0|_[t+168>>2]):l=0,(0|f)>0){u=0;do{z=(0|_[t+176>>2])+(u<<3)|0,K=0|_[z+4>>2],_[(q=l+(u<<3)|0)>>2]=_[z>>2],_[q+4>>2]=K,u=u+1|0}while((0|u)!=(0|f))}0|(f=0|_[t+176>>2])&&(0|n[t+180|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2])),_[t+176>>2]=0),n[t+180|0]=1,_[t+176>>2]=l,_[t+172>>2]=c}if(_[t+168>>2]=c,(0|c)>0){l=0,y=0;do{if(i=(h=0|_[t+176>>2])+(y<<3)|0,f=0|_[(e=s+(y<<2)|0)>>2],u=0|_[f+44>>2]){f=u+64|0;do{_[u>>2]=0,u=u+4|0}while((0|u)<(0|f));f=0|_[e>>2]}0|n[f+20|0]?(ed[127&_[16+(0|_[f>>2])>>2]](f,i),f=0|_[i>>2]):(_[i>>2]=0,_[h+(y<<3)+4>>2]=0,f=0),l=f+l|0,y=y+1|0}while((0|y)<(0|c));e=l}else e=0;if((0|(f=0|_[t+48>>2]))<(0|e)&&(0|_[t+52>>2])<(0|e)){if(e?(_[6630]=1+(0|_[6630]),(l=0|di(16+(152*e|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,f=0|_[t+48>>2]):l=0,(0|f)>0){u=0;do{_e(l+(152*u|0)|0,(0|_[t+56>>2])+(152*u|0)|0,152),u=u+1|0}while((0|u)!=(0|f))}0|(f=0|_[t+56>>2])&&(0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2])),_[t+56>>2]=0),n[t+60|0]=1,_[t+56>>2]=l,_[t+52>>2]=e}if(_[t+48>>2]=e,(0|c)>0)for(K=0,q=0,l=0|_[t+176>>2];;){if(0|_[(z=l+(q<<3)|0)>>2]){if(e=(f=0|_[t+56>>2])+(152*K|0)|0,i=0|_[(h=s+(q<<2)|0)>>2],y=0|_[i+28>>2],U=0|_[i+32>>2],Y=0|Re(t,y,+p[a+12>>2]),J=0|Re(t,U,+p[a+12>>2]),X=0|_[t+16>>2],(0|(u=(0|(u=0|_[i+24>>2]))>0?u:0|_[a+20>>2]))>(0|_[t+184>>2])&&(_[t+184>>2]=u),(0|_[z>>2])>0){l=0;do{wn(e+(152*l|0)|0,0,152),p[e+(152*l|0)+120>>2]=-34028234663852886e22,p[e+(152*l|0)+124>>2]=34028234663852886e22,p[e+(152*l|0)+100>>2]=0,p[e+(152*l|0)+96>>2]=0,_[e+(152*l|0)+144>>2]=Y,_[e+(152*l|0)+148>>2]=J,_[e+(152*l|0)+136>>2]=u,l=l+1|0}while((0|l)<(0|_[z>>2]))}if(_[X+(244*Y|0)+64>>2]=0,_[X+(244*Y|0)+64+4>>2]=0,_[X+(244*Y|0)+64+8>>2]=0,_[X+(244*Y|0)+64+12>>2]=0,_[X+(244*Y|0)+64+16>>2]=0,_[X+(244*Y|0)+64+20>>2]=0,_[X+(244*Y|0)+64+24>>2]=0,_[X+(244*Y|0)+64+28>>2]=0,_[X+(244*Y|0)+144>>2]=0,_[X+(244*Y|0)+144+4>>2]=0,_[X+(244*Y|0)+144+8>>2]=0,_[X+(244*Y|0)+144+12>>2]=0,_[X+(244*Y|0)+144+16>>2]=0,_[X+(244*Y|0)+144+20>>2]=0,_[X+(244*Y|0)+144+24>>2]=0,_[X+(244*Y|0)+144+28>>2]=0,_[X+(244*J|0)+64>>2]=0,_[X+(244*J|0)+64+4>>2]=0,_[X+(244*J|0)+64+8>>2]=0,_[X+(244*J|0)+64+12>>2]=0,_[X+(244*J|0)+64+16>>2]=0,_[X+(244*J|0)+64+20>>2]=0,_[X+(244*J|0)+64+24>>2]=0,_[X+(244*J|0)+64+28>>2]=0,_[X+(244*J|0)+144>>2]=0,_[X+(244*J|0)+144+4>>2]=0,_[X+(244*J|0)+144+8>>2]=0,_[X+(244*J|0)+144+12>>2]=0,_[X+(244*J|0)+144+16>>2]=0,_[X+(244*J|0)+144+20>>2]=0,_[X+(244*J|0)+144+24>>2]=0,_[X+(244*J|0)+144+28>>2]=0,p[A>>2]=1/+p[a+12>>2],_[A+4>>2]=_[a+32>>2],_[A+8>>2]=f+(152*K|0)+16,_[A+12>>2]=e,_[A+16>>2]=f+(152*K|0)+48,_[A+20>>2]=f+(152*K|0)+32,_[A+24>>2]=38,_[A+28>>2]=f+(152*K|0)+112,_[(u=f+(152*K|0)+116|0)>>2]=_[a+40>>2],_[A+52>>2]=_[a+4>>2],_[A+32>>2]=u,_[A+36>>2]=f+(152*K|0)+120,_[A+40>>2]=f+(152*K|0)+124,_[A+48>>2]=_[a+20>>2],u=0|_[h>>2],ed[127&_[20+(0|_[u>>2])>>2]](u,A),(0|_[z>>2])>0){f=0;do{l=e+(152*f|0)+124|0,m=+p[16+(0|_[h>>2])>>2],+p[l>>2]>=m&&(p[l>>2]=m),+p[(l=e+(152*f|0)+120|0)>>2]<=-m&&(p[l>>2]=-m),_[e+(152*f|0)+132>>2]=i,u=e+(152*f|0)|0,l=0|_[i+28>>2],m=+p[u>>2],g=+p[u+4>>2],C=+p[u+8>>2],S=(m*+p[l+280>>2]+g*+p[l+284>>2]+C*+p[l+288>>2])*+p[l+548>>2],v=(m*+p[l+296>>2]+g*+p[l+300>>2]+C*+p[l+304>>2])*+p[l+552>>2],p[(u=e+(152*f|0)+64|0)>>2]=(+p[l+264>>2]*m+ +p[l+268>>2]*g+ +p[l+272>>2]*C)*+p[l+544>>2],p[u+4>>2]=S,p[u+8>>2]=v,p[u+12>>2]=0,u=e+(152*f|0)+32|0,l=0|_[i+32>>2],v=+p[u>>2],S=+p[u+4>>2],w=+p[u+8>>2],k=(v*+p[l+280>>2]+S*+p[l+284>>2]+w*+p[l+288>>2])*+p[l+548>>2],Z=(v*+p[l+296>>2]+S*+p[l+300>>2]+w*+p[l+304>>2])*+p[l+552>>2],p[(u=e+(152*f|0)+80|0)>>2]=(+p[l+264>>2]*v+ +p[l+268>>2]*S+ +p[l+272>>2]*w)*+p[l+544>>2],p[u+4>>2]=k,p[u+8>>2]=Z,p[u+12>>2]=0,u=e+(152*f|0)+16|0,Z=+p[y+344>>2],k=+p[u>>2],R=+p[u+4>>2],j=+p[u+8>>2],u=e+(152*f|0)+48|0,W=+p[U+344>>2],D=+p[u>>2],I=+p[u+4>>2],B=+p[u+8>>2],W=k*(Z*k)+R*(Z*R)+j*(Z*j)+(m*(m*+p[y+264>>2]+g*+p[y+268>>2]+C*+p[y+272>>2])+g*(m*+p[y+280>>2]+g*+p[y+284>>2]+C*+p[y+288>>2])+C*(m*+p[y+296>>2]+g*+p[y+300>>2]+C*+p[y+304>>2]))+(D*(W*D)+I*(W*I)+B*(W*B))+(v*(v*+p[U+264>>2]+S*+p[U+268>>2]+w*+p[U+272>>2])+S*(v*+p[U+280>>2]+S*+p[U+284>>2]+w*+p[U+288>>2])+w*(v*+p[U+296>>2]+S*+p[U+300>>2]+w*+p[U+304>>2])),W=(u=+d(+W)>1.1920928955078125e-7)?1/W:0,p[e+(152*f|0)+108>>2]=W,0|_[X+(244*Y|0)+240>>2]?(F=+p[X+(244*Y|0)+208>>2],x=+p[X+(244*Y|0)+212>>2],O=+p[X+(244*Y|0)+216>>2],T=+p[X+(244*Y|0)+224>>2],P=+p[X+(244*Y|0)+228>>2],M=+p[X+(244*Y|0)+232>>2]):(F=0,x=0,O=0,T=0,P=0,M=0),0|_[X+(244*J|0)+240>>2]?(V=+p[X+(244*J|0)+208>>2],N=+p[X+(244*J|0)+212>>2],L=+p[X+(244*J|0)+216>>2],E=+p[X+(244*J|0)+224>>2],H=+p[X+(244*J|0)+228>>2],Z=+p[X+(244*J|0)+232>>2]):(V=0,N=0,L=0,E=0,H=0,Z=0),p[(u=e+(152*f|0)+112|0)>>2]=W*+p[u>>2]+W*(0-+p[A+52>>2]*(k*(F+ +p[y+312>>2])+R*(x+ +p[y+316>>2])+j*(O+ +p[y+320>>2])+(m*(T+ +p[y+328>>2])+g*(P+ +p[y+332>>2])+C*(M+ +p[y+336>>2]))+(D*(V+ +p[U+312>>2])+I*(N+ +p[U+316>>2])+B*(L+ +p[U+320>>2])+(v*(E+ +p[U+328>>2])+S*(H+ +p[U+332>>2])+w*(Z+ +p[U+336>>2]))))),p[e+(152*f|0)+100>>2]=0,f=f+1|0}while((0|f)<(0|_[z>>2]))}l=0|_[t+176>>2],f=0|_[l+(q<<3)>>2]}else f=0;if((0|(q=q+1|0))>=(0|c))break;K=f+K|0}if(pd[127&_[28+(0|_[t>>2])>>2]](t,o,r,a),h=0|_[t+48>>2],i=0|_[t+28>>2],y=0|_[t+68>>2],(0|(f=0|_[t+128>>2]))<(0|h)&&(0|_[t+132>>2])<(0|h)){if(h?(_[6630]=1+(0|_[6630]),(l=0|di(16+(h<<2|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,f=0|_[t+128>>2]):l=0,e=0|_[t+136>>2],(0|f)<=0)e?$=106:f=t+140|0;else{u=0;do{_[l+(u<<2)>>2]=_[e+(u<<2)>>2],u=u+1|0}while((0|u)!=(0|f));$=106}106==(0|$)&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+136>>2]=0,f=t+140|0),n[0|f]=1,_[t+136>>2]=l,_[t+132>>2]=h}if(_[t+128>>2]=h,16&_[a+64>>2]){if((0|(f=0|_[t+108>>2]))>2])>2]=l,l=l+4+15&-16):l=0,f=0|_[t+108>>2]):l=0,e=0|_[t+116>>2],(0|f)<=0)e?$=122:f=t+120|0;else{u=0;do{_[l+(u<<2)>>2]=_[e+(u<<2)>>2],u=u+1|0}while((0|u)!=(0|f));$=122}122==(0|$)&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+116>>2]=0,f=t+120|0),n[0|f]=1,_[t+116>>2]=l,_[t+112>>2]=i<<1}_[t+108>>2]=i<<1}else{if((0|(f=0|_[t+108>>2]))<(0|i)&&(0|_[t+112>>2])<(0|i)){if(i?(_[6630]=1+(0|_[6630]),(l=0|di(16+(i<<2|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,f=0|_[t+108>>2]):l=0,e=0|_[t+116>>2],(0|f)<=0)e?$=138:f=t+120|0;else{u=0;do{_[l+(u<<2)>>2]=_[e+(u<<2)>>2],u=u+1|0}while((0|u)!=(0|f));$=138}138==(0|$)&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+116>>2]=0,f=t+120|0),n[0|f]=1,_[t+116>>2]=l,_[t+112>>2]=i}_[t+108>>2]=i}if((0|(f=0|_[t+148>>2]))<(0|y)&&(0|_[t+152>>2])<(0|y)){if(y?(_[6630]=1+(0|_[6630]),(l=0|di(16+(y<<2|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,f=0|_[t+148>>2]):l=0,e=0|_[t+156>>2],(0|f)<=0)e?$=154:f=t+160|0;else{u=0;do{_[l+(u<<2)>>2]=_[e+(u<<2)>>2],u=u+1|0}while((0|u)!=(0|f));$=154}154==(0|$)&&(0|n[t+160|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+156>>2]=0,f=t+160|0),n[0|f]=1,_[t+156>>2]=l,_[t+152>>2]=y}if(_[t+148>>2]=y,(0|h)>0){f=0|_[t+136>>2],l=0;do{_[f+(l<<2)>>2]=l,l=l+1|0}while((0|l)!=(0|h))}if((0|i)>0){f=0|_[t+116>>2],l=0;do{_[f+(l<<2)>>2]=l,l=l+1|0}while((0|l)!=(0|i))}if((0|y)>0){f=0|_[t+156>>2],l=0;do{_[f+(l<<2)>>2]=l,l=l+1|0}while((0|l)!=(0|y))}if(l=0|_[2606],t=(0|_[l+16>>2])-1|0,_[l+16>>2]=t,0|t)return Q=A,0;do{if(0|_[l+4>>2]){if(G(0|A,0),t=0|_[6629],p[l+8>>2]=+p[l+8>>2]+ +(((0|_[A+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[A>>2])-(0|_[t>>2])|0)|0)-(0|_[l+12>>2])|0)>>>0)/1e3,0|_[l+16>>2])return Q=A,0;l=0|_[2606];break}}while(0);return _[2606]=_[l+20>>2],Q=A,0},function(t,e,i,n,o,r,s,c,a){t|=0,e|=0,i|=0,n|=0,o|=0,r|=0,s|=0,c|=0,a|=0;var l,d=0,b=0;if(l=Q,Q=Q+16|0,$i(15227),md[1&_[32+(0|_[t>>2])>>2]](t,e,i,n,o,r,s,c,a),(0|(d=(0|(b=0|_[t+184>>2]))>(0|(d=0|_[c+20>>2]))?b:d))>0){b=0;do{Vl[3&_[40+(0|_[t>>2])>>2]](t,b,e,i,n,o,r,s,c,a),b=b+1|0}while((0|b)<(0|d))}if(d=0|_[2606],a=(0|_[d+16>>2])-1|0,_[d+16>>2]=a,0|a)return Q=l,0;do{if(0|_[d+4>>2]){if(G(0|l,0),a=0|_[6629],p[d+8>>2]=+p[d+8>>2]+ +(((0|_[l+4>>2])-(0|_[a+4>>2])+(1e6*((0|_[l>>2])-(0|_[a>>2])|0)|0)-(0|_[d+12>>2])|0)>>>0)/1e3,0|_[d+16>>2])return Q=l,0;d=0|_[2606];break}}while(0);return _[2606]=_[d+20>>2],Q=l,0},Dr],Vl=[dr,function(t,e,i,n,o,r,s,c,a,l){var d;if(t|=0,e|=0,i|=0,n|=0,o|=0,r|=0,s|=0,c|=0,a|=0,l|=0,d=Q,Q=Q+16|0,$i(15290),Ml[3&_[44+(0|_[t>>2])>>2]](t,e,i,n,o,r,s,c,a),Ml[3&_[48+(0|_[t>>2])>>2]](t,e,i,n,o,r,s,c,a),Ol[1&_[36+(0|_[t>>2])>>2]](t,e,i,c),l=0|_[2606],a=(0|_[l+16>>2])-1|0,_[l+16>>2]=a,0|a)return Q=d,0;do{if(0|_[l+4>>2]){if(G(0|d,0),a=0|_[6629],p[l+8>>2]=+p[l+8>>2]+ +(((0|_[d+4>>2])-(0|_[a+4>>2])+(1e6*((0|_[d>>2])-(0|_[a>>2])|0)|0)-(0|_[l+12>>2])|0)>>>0)/1e3,0|_[l+16>>2])return Q=d,0;l=0|_[2606];break}}while(0);return _[2606]=_[l+20>>2],Q=d,0},function(t,e,i,o,r,s,c,a,l,d){e|=0,i|=0,o|=0,r|=0,s|=0,c|=0,a|=0,l|=0,d|=0;var b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0;if(r=0|_[48+(t|=0)>>2],u=0|_[t+28>>2],m=0|_[t+68>>2],1&_[l+64>>2]){if((0|r)>0){s=0|_[t+136>>2],o=0,f=0|_[t+192>>2];do{A=0|_[(d=s+(o<<2)|0)>>2],o=o+1|0,f=1013904223+(0|g(f,1664525))|0,o>>>0<65537?(i=f>>>16^f,o>>>0<257&&(i^=i>>>8,o>>>0<17&&(C=(i^=i>>>4)>>>2^i,i=o>>>0<5?(o>>>0<3?C>>>1:0)^C:i))):i=f,C=s+((i>>>0)%(o>>>0)<<2)|0,_[d>>2]=_[C>>2],_[C>>2]=A}while((0|o)!=(0|r));_[t+192>>2]=f}if((0|_[l+20>>2])>(0|e)){if((0|u)>0){r=0|_[t+116>>2],o=0,A=0|_[t+192>>2];do{d=0|_[(s=r+(o<<2)|0)>>2],o=o+1|0,A=1013904223+(0|g(A,1664525))|0,o>>>0<65537?(i=A>>>16^A,o>>>0<257&&(i^=i>>>8,o>>>0<17&&(C=(i^=i>>>4)>>>2^i,i=o>>>0<5?(o>>>0<3?C>>>1:0)^C:i))):i=A,C=r+((i>>>0)%(o>>>0)<<2)|0,_[s>>2]=_[C>>2],_[C>>2]=d}while((0|o)!=(0|u));_[t+192>>2]=A}if((0|m)>0){r=0|_[t+156>>2],o=0,A=0|_[t+192>>2];do{d=0|_[(s=r+(o<<2)|0)>>2],o=o+1|0,A=1013904223+(0|g(A,1664525))|0,o>>>0<65537?(i=A>>>16^A,o>>>0<257&&(i^=i>>>8,o>>>0<17&&(C=(i^=i>>>4)>>>2^i,i=o>>>0<5?(o>>>0<3?C>>>1:0)^C:i))):i=A,C=r+((i>>>0)%(o>>>0)<<2)|0,_[s>>2]=_[C>>2],_[C>>2]=d}while((0|o)!=(0|m));_[t+192>>2]=A}}}if(i=0|_[t+48>>2],!(256&_[l+64>>2])){if((0|i)>0){s=0;do{o=0|_[(0|_[t+136>>2])+(s<<2)>>2],r=0|_[t+56>>2],(0|_[r+(152*o|0)+136>>2])>(0|e)&&(Ct((i=0|_[t+16>>2])+(244*(0|_[r+(152*o|0)+144>>2])|0)|0,i+(244*(0|_[r+(152*o|0)+148>>2])|0)|0,r+(152*o|0)|0),i=0|_[t+48>>2]),s=s+1|0}while((0|s)<(0|i))}if((0|_[l+20>>2])<=(0|e))return 0;if((0|a)>0){i=0;do{r=0|_[(o=c+(i<<2)|0)>>2],0|n[r+20|0]&&(h=0|Re(t,0|_[r+28>>2],+p[l+12>>2]),C=0|Re(t,0|_[32+(0|_[o>>2])>>2],+p[l+12>>2]),y=0|_[t+16>>2],e=0|_[o>>2],rd[15&_[24+(0|_[e>>2])>>2]](e,y+(244*h|0)|0,y+(244*C|0)|0,+p[l+12>>2])),i=i+1|0}while((0|i)!=(0|a))}if((0|(o=0|_[t+28>>2]))>0){i=0;do{C=0|_[(0|_[t+116>>2])+(i<<2)>>2],l=0|_[t+36>>2],vt((a=0|_[t+16>>2])+(244*(0|_[l+(152*C|0)+144>>2])|0)|0,a+(244*(0|_[l+(152*C|0)+148>>2])|0)|0,l+(152*C|0)|0),i=i+1|0}while((0|i)!=(0|o))}if((0|(o=0|_[t+68>>2]))>0){i=0;do{r=0|_[(0|_[t+156>>2])+(i<<2)>>2],s=0|_[t+76>>2],(b=+p[(0|_[t+36>>2])+(152*(0|_[s+(152*r|0)+140>>2])|0)+100>>2])>0&&(b*=+p[s+(152*r|0)+104>>2],p[s+(152*r|0)+120>>2]=-b,p[s+(152*r|0)+124>>2]=b,Ct((C=0|_[t+16>>2])+(244*(0|_[s+(152*r|0)+144>>2])|0)|0,C+(244*(0|_[s+(152*r|0)+148>>2])|0)|0,s+(152*r|0)|0)),i=i+1|0}while((0|i)!=(0|o))}if((0|(o=0|_[t+88>>2]))<=0)return 0;i=0;do{r=0|_[t+96>>2],(b=+p[(0|_[t+36>>2])+(152*(0|_[r+(152*i|0)+140>>2])|0)+100>>2])>0&&(b=b*(v=+p[r+(152*i|0)+104>>2])>v?v:b*v,p[r+(152*i|0)+120>>2]=-b,p[r+(152*i|0)+124>>2]=b,Ct((C=0|_[t+16>>2])+(244*(0|_[r+(152*i|0)+144>>2])|0)|0,C+(244*(0|_[r+(152*i|0)+148>>2])|0)|0,r+(152*i|0)|0)),i=i+1|0}while((0|i)!=(0|o));return 0}if((0|i)>0){s=0;do{o=0|_[(0|_[t+136>>2])+(s<<2)>>2],r=0|_[t+56>>2],(0|_[r+(152*o|0)+136>>2])>(0|e)&&(Ct((i=0|_[t+16>>2])+(244*(0|_[r+(152*o|0)+144>>2])|0)|0,i+(244*(0|_[r+(152*o|0)+148>>2])|0)|0,r+(152*o|0)|0),i=0|_[t+48>>2]),s=s+1|0}while((0|s)<(0|i))}if((0|_[l+20>>2])<=(0|e))return 0;if((0|a)>0){i=0;do{r=0|_[(o=c+(i<<2)|0)>>2],0|n[r+20|0]&&(m=0|Re(t,0|_[r+28>>2],+p[l+12>>2]),C=0|Re(t,0|_[32+(0|_[o>>2])>>2],+p[l+12>>2]),e=0|_[t+16>>2],u=0|_[o>>2],rd[15&_[24+(0|_[u>>2])>>2]](u,e+(244*m|0)|0,e+(244*C|0)|0,+p[l+12>>2])),i=i+1|0}while((0|i)!=(0|a))}if(i=0|_[l+64>>2],A=0|_[t+28>>2],512&i){if(o=1+(i>>>4&1)|0,(0|A)<=0)return 0;i=0;do{r=0|_[(0|_[t+116>>2])+(i<<2)>>2],s=0|_[t+36>>2],vt((d=0|_[t+16>>2])+(244*(0|_[s+(152*r|0)+144>>2])|0)|0,d+(244*(0|_[s+(152*r|0)+148>>2])|0)|0,s+(152*r|0)|0),b=+p[s+(152*r|0)+100>>2],r=0|g(i,o),s=0|_[(0|_[t+156>>2])+(r<<2)>>2],d=0|_[t+76>>2],b>0&&(v=b*+p[d+(152*s|0)+104>>2],p[d+(152*s|0)+120>>2]=-v,p[d+(152*s|0)+124>>2]=v,Ct((C=0|_[t+16>>2])+(244*(0|_[d+(152*s|0)+144>>2])|0)|0,C+(244*(0|_[d+(152*s|0)+148>>2])|0)|0,d+(152*s|0)|0)),16&_[l+64>>2]&&(h=0|_[(0|_[t+156>>2])+(r+1<<2)>>2],y=0|_[t+76>>2],b>0)&&(v=b*+p[y+(152*h|0)+104>>2],p[y+(152*h|0)+120>>2]=-v,p[y+(152*h|0)+124>>2]=v,Ct((C=0|_[t+16>>2])+(244*(0|_[y+(152*h|0)+144>>2])|0)|0,C+(244*(0|_[y+(152*h|0)+148>>2])|0)|0,y+(152*h|0)|0)),i=i+1|0}while((0|i)!=(0|A));return 0}if((0|A)>0){i=0;do{C=0|_[(0|_[t+116>>2])+(i<<2)>>2],l=0|_[t+36>>2],vt((a=0|_[t+16>>2])+(244*(0|_[l+(152*C|0)+144>>2])|0)|0,a+(244*(0|_[l+(152*C|0)+148>>2])|0)|0,l+(152*C|0)|0),i=i+1|0}while((0|i)!=(0|A))}if((0|(o=0|_[t+68>>2]))>0){i=0;do{r=0|_[(0|_[t+156>>2])+(i<<2)>>2],s=0|_[t+76>>2],(b=+p[(0|_[t+36>>2])+(152*(0|_[s+(152*r|0)+140>>2])|0)+100>>2])>0&&(v=b*+p[s+(152*r|0)+104>>2],p[s+(152*r|0)+120>>2]=-v,p[s+(152*r|0)+124>>2]=v,Ct((C=0|_[t+16>>2])+(244*(0|_[s+(152*r|0)+144>>2])|0)|0,C+(244*(0|_[s+(152*r|0)+148>>2])|0)|0,s+(152*r|0)|0)),i=i+1|0}while((0|i)!=(0|o))}if((0|(o=0|_[t+88>>2]))<=0)return 0;i=0;do{r=0|_[t+96>>2],(b=+p[(0|_[t+36>>2])+(152*(0|_[r+(152*i|0)+140>>2])|0)+100>>2])>0&&(v=b*(v=+p[r+(152*i|0)+104>>2])>v?v:b*v,p[r+(152*i|0)+120>>2]=-v,p[r+(152*i|0)+124>>2]=v,Ct((C=0|_[t+16>>2])+(244*(0|_[r+(152*i|0)+144>>2])|0)|0,C+(244*(0|_[r+(152*i|0)+148>>2])|0)|0,r+(152*i|0)|0)),i=i+1|0}while((0|i)!=(0|o));return 0},dr],Gl=[gl,function(t){return 0|W(5,0|(t|=0))},Ua,Ja,Hc,Ac,Ac,Xc,Ic,function(t){return 428},ol,function(t){return 0|n[24464]?25096:0|Qs(24464)?(_[6274]=1065353216,_[6275]=1065353216,_[6276]=1065353216,p[6277]=0,25096):25096},function(t){return 13389},il,_l,function(t){return 13501},va,Ua,function(t){return 32},function(t){return 13768},ol,Ka,Ka,Ja,function(t){return 0|_[72+(t|=0)>>2]},function(t){return 0|_[200+(t|=0)>>2]},function(t){return 0|_[212+(t|=0)>>2]},function(t){return 4},function(t){return 488},ol,va,function(t){return 252},function(t){return 348},Sa,function(t){return 204},function(t){return 212},function(t){return 220},Ja,Ls,function(t){return 0!=+p[16+(t|=0)>>2]?0|(t=0):0|(t=0==+p[t+20>>2])},function(t){return 256},function(t){return 0|_[12+(t|=0)>>2]},function(t){return 0|_[12+(t|=0)>>2]?0|(t=0|_[t+20>>2]):0|(t=0)},lc,lc,La,function(t){return 18807},function(t){return 24},function(t){return 18850},xa,function(t){return 18869},function(t){return 18890},function(t){return 18911},function(t){return 4+(0|_[48+(t|=0)>>2])|0},function(t){return 19092},xa,function(t){return 19476},Ia,function(t){return 19534},va,function(t){return 19732},function(t){return 68},$c,$c,Ua,function(t){return 19833},xa,function(t){return 19863},function(t){return 19890},function(t){return 4+(0|_[92+(t|=0)>>2])|0},function(t){return 19946},Ua,Ua,Ua,function(t){return 20005},el,function(t){return 8},il,el,Sa,function(t){return 108+(t|=0)|0},function(t){return 20230},function(t){return 20290},xa,function(t){return 20318},function(t){return 20347},Ic,function(t){return 1==(0|_[48+(t|=0)>>2])|0},function(t){return 28},Uc,Uc,Xc,Xc,sl,Ua,Ja,Xc,Xc,sl,Ac,Ua,Fc,Fc,Xc,function(t){var e;return e=Q,Q=Q+16|0,t=0|Cl(0|_[60+(t|=0)>>2]),_[e>>2]=t,t=0|Ta(0|I(6,0|e)),Q=e,0|t},gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl,gl],Nl=[function(t,e,i,n){return e=+e,n=+n,v(11),0},function(t,e,i,o){t|=0,e=+e,i|=0,o=+o;var r,s=0,c=0,a=0;if(r=Q,Q=Q+16|0,G(0|_[6629],0),qo(26476),_[6620]=1+(0|_[6620]),a=0|_[6623],_[6623]=a+1,a||(G(0|r,0),a=0|_[6629],_[6622]=(0|_[r+4>>2])-(0|_[a+4>>2])+(1e6*((0|_[r>>2])-(0|_[a>>2])|0)|0)),_[6628]=0,G(0|r,0),$i(14649),i?(p[t+268>>2]=o,c=+p[t+264>>2]+e,p[t+264>>2]=c,c>=o?(p[t+264>>2]=c-+(c/o|0)*o,e=o,a=~~(c/o)):(e=o,a=0)):(p[t+264>>2]=0|n[t+300|0]?0:e,p[t+268>>2]=0,i=a=1&!(+d(+e)<1.1920928955078125e-7)),0|Gl[127&_[20+(0|_[t>>2])>>2]](t)&&(s=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),s=0|Gl[127&_[48+(0|_[s>>2])>>2]](s),n[27096]=s>>>4&1),a)if(s=(0|a)>(0|i)?i:a,zl[31&_[164+(0|_[t>>2])>>2]](t,e*+(0|s)),Xl[511&_[168+(0|_[t>>2])>>2]](t),(0|s)>0){i=0;do{zl[31&_[160+(0|_[t>>2])>>2]](t,e),Xl[511&_[80+(0|_[t>>2])>>2]](t),i=i+1|0}while((0|i)<(0|s));i=t}else i=t;else Xl[511&_[80+(0|_[t>>2])>>2]](t),i=t;if(Xl[511&_[120+(0|_[i>>2])>>2]](t),_[6628]=1+(0|_[6628]),i=0|_[2606],t=(0|_[i+16>>2])-1|0,_[i+16>>2]=t,0|t)return Q=r,0|a;do{if(0|_[i+4>>2]){if(G(0|r,0),t=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[r+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[r>>2])-(0|_[t>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,0|_[i+16>>2])return Q=r,0|a;i=0|_[2606];break}}while(0);return _[2606]=_[i+20>>2],Q=r,0|a}],Ll=[tl,function(t,e){return t|=0,(o[4+(e|=0)>>1]&o[t+6>>1])<<16>>16?0|(e=!!((o[t+4>>1]&o[e+6>>1])<<16>>16)):0|(e=0)},function(t,e){return t|=0,(o[4+(e|=0)>>1]&o[t+14>>1])<<16>>16?0|(e=!!((o[t+12>>1]&o[e+6>>1])<<16>>16)):0|(e=0)},function(t,e){return t|=0,(o[4+(e|=0)>>1]&o[t+10>>1])<<16>>16?0|(e=!!((o[t+8>>1]&o[e+6>>1])<<16>>16)):0|(e=0)},na,na,na,function(t,e){e|=0;var i,r,c,l,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0;for(l=Q,Q=Q+192|0,0|(f=0|_[52+(t|=0)>>2])&&(Xl[511&_[_[f>>2]>>2]](f),0|(A=0|_[t+52>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[6630]=1+(0|_[6630]),(A=0|di(151))?(_[(A+4+15&-16)-4>>2]=A,A=A+4+15&-16):A=0,_[A>>2]=10348,n[A+20|0]=1,_[A+16>>2]=0,_[A+8>>2]=0,_[A+12>>2]=0,n[A+40|0]=1,_[A+36>>2]=0,_[A+28>>2]=0,_[A+32>>2]=0,n[A+60|0]=1,_[A+56>>2]=0,_[A+48>>2]=0,_[A+52>>2]=0,_[t+52>>2]=A,h=0,y=0,lt=0,M=0,A=0;!((0|h)>=(0|Gl[127&_[96+(0|_[t>>2])>>2]](t)));){do{if((0|M)==(0|y))if((0|y)<(0|(f=0|y?y<<1:1))){if(0|f&&(_[6630]=1+(0|_[6630]),0|(g=0|di(16+(f<<4|3)|0)))?(_[(g+4+15&-16)-4>>2]=g,u=g+4+15&-16):u=0,(0|y)<=0){if(!lt){m=u,A=u,u=y;break}}else{A=0;do{ct=lt+(A<<4)|0,_[(at=u+(A<<4)|0)>>2]=_[ct>>2],_[at+4>>2]=_[ct+4>>2],_[at+8>>2]=_[ct+8>>2],_[at+12>>2]=_[ct+12>>2],A=A+1|0}while((0|A)!=(0|y))}_[6631]=1+(0|_[6631]),Ni(0|_[lt+-4>>2]),m=u,A=u,u=y}else f=y,m=lt,u=y;else f=y,m=lt,u=M}while(0);_[(y=m+(M<<4)|0)>>2]=_[l>>2],_[y+4>>2]=_[l+4>>2],_[y+8>>2]=_[l+8>>2],_[y+12>>2]=_[l+12>>2],_d[127&_[108+(0|_[t>>2])>>2]](t,h,y),h=h+1|0,y=f,lt=m,M=u+1|0}if(n[l+124+16|0]=1,_[(at=l+124+12|0)>>2]=0,_[l+124+4>>2]=0,_[l+124+8>>2]=0,n[l+124+36|0]=1,_[(ct=l+124+32|0)>>2]=0,_[l+124+24>>2]=0,_[l+124+28>>2]=0,n[l+124+56|0]=1,_[(c=l+124+52|0)>>2]=0,_[l+124+44>>2]=0,_[l+124+48>>2]=0,e){if((0|M)>0){for(P=0,f=0,u=0,m=0;;){A=P,P=P+1|0;t:do{if((0|P)<(0|M))for(W=lt+(A<<4)|0,F=lt+(A<<4)+4|0,B=lt+(A<<4)+8|0,h=P,A=m;;){I=h+1|0;e:do{if((0|I)<(0|M))for(j=lt+(h<<4)|0,D=lt+(h<<4)+4|0,e=lt+(h<<4)+8|0,m=I;;){C=+p[W>>2],V=+p[j>>2]-C,v=+p[F>>2],G=+p[D>>2]-v,S=+p[B>>2],O=+p[e>>2]-S,L=+p[lt+(m<<4)>>2]-C,x=(V*(E=+p[lt+(m<<4)+4>>2]-v)-G*L)*(V*E-G*L)+((G*(T=+p[lt+(m<<4)+8>>2]-S)-O*E)*(G*T-O*E)+(O*L-V*T)*(O*L-V*T));i:do{if(x>9999999747378752e-20){w=(G*T-O*E)*(R=1/+b(+x)),k=(O*L-V*T)*R,R*=V*E-G*L;n:do{if((0|A)>0)for(h=0;;){if(w*+p[u+(h<<4)>>2]+k*+p[u+(h<<4)+4>>2]+R*+p[u+(h<<4)+8>>2]>.9990000128746033)break n;if((0|(h=h+1|0))>=(0|A)){st=34;break}}else st=34}while(0);n:do{if(34==(0|st)){st=0,h=0;do{if(w*+p[lt+(h<<4)>>2]+k*+p[lt+(h<<4)+4>>2]+R*+p[lt+(h<<4)+8>>2]-(w*C+k*v+R*S)-.009999999776482582>0)break n;h=h+1|0}while((0|h)<(0|M));do{if((0|A)==(0|f))if((0|f)<(0|(g=0|f?f<<1:1))){do{if(g){if(_[6630]=1+(0|_[6630]),!(h=0|di(16+(g<<4|3)|0))){y=0;break}_[(h+4+15&-16)-4>>2]=h,y=h+4+15&-16}else y=0}while(0);if((0|f)<=0){if(!u){h=g,u=y;break}}else{h=0;do{_t=u+(h<<4)|0,_[(rt=y+(h<<4)|0)>>2]=_[_t>>2],_[rt+4>>2]=_[_t+4>>2],_[rt+8>>2]=_[_t+8>>2],_[rt+12>>2]=_[_t+12>>2],h=h+1|0}while((0|h)!=(0|f))}_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2]),h=g,u=y}else h=f;else h=f,f=A}while(0);p[u+(f<<4)>>2]=w,p[u+(f<<4)+4>>2]=k,p[u+(f<<4)+8>>2]=R,p[u+(f<<4)+12>>2]=-(w*C+k*v+R*S),f=h,A=A+1|0}}while(0);if(x>9999999747378752e-20){if(w=-(G*T-O*E)*(v=1/+b(+x)),S=-(O*L-V*T)*v,v*=-(V*E-G*L),(0|A)>0){h=0;do{if(+p[u+(h<<4)>>2]*w+ +p[u+(h<<4)+4>>2]*S+ +p[u+(h<<4)+8>>2]*v>.9990000128746033)break i;h=h+1|0}while((0|h)<(0|A))}C=+p[W>>2]*w+ +p[F>>2]*S+ +p[B>>2]*v,h=0;do{if(+p[lt+(h<<4)>>2]*w+ +p[lt+(h<<4)+4>>2]*S+ +p[lt+(h<<4)+8>>2]*v-C-.009999999776482582>0)break i;h=h+1|0}while((0|h)<(0|M));do{if((0|A)==(0|f)){if((0|f)>=(0|(g=0|f?f<<1:1))){h=f;break}do{if(g){if(_[6630]=1+(0|_[6630]),!(h=0|di(16+(g<<4|3)|0))){y=0;break}_[(h+4+15&-16)-4>>2]=h,y=h+4+15&-16}else y=0}while(0);if((0|f)<=0){if(!u){h=g,u=y;break}}else{h=0;do{_t=u+(h<<4)|0,_[(rt=y+(h<<4)|0)>>2]=_[_t>>2],_[rt+4>>2]=_[_t+4>>2],_[rt+8>>2]=_[_t+8>>2],_[rt+12>>2]=_[_t+12>>2],h=h+1|0}while((0|h)!=(0|f))}_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2]),h=g,u=y}else h=f,f=A}while(0);p[u+(f<<4)>>2]=w,p[u+(f<<4)+4>>2]=S,p[u+(f<<4)+8>>2]=v,p[u+(f<<4)+12>>2]=-C,f=h,A=A+1|0}}}while(0);if((0|(m=m+1|0))==(0|M))break e}}while(0);if((0|I)==(0|M))break t;h=I}else A=m}while(0);if((0|P)==(0|M)){e=A;break}m=A}if((0|e)>0){for(A=0,y=0,g=0;;){rt=u+(g<<4)|0,_[l>>2]=_[rt>>2],_[l+4>>2]=_[rt+4>>2],_[l+8>>2]=_[rt+8>>2],C=+p[u+(g<<4)+12>>2],C-=+Il[15&_[48+(0|_[t>>2])>>2]](t);do{if((0|g)==(0|A))if((0|A)<(0|(h=0|A?A<<1:1))){if(0|h&&(_[6630]=1+(0|_[6630]),0|(H=0|di(16+(h<<4|3)|0)))?(_[(H+4+15&-16)-4>>2]=H,m=H+4+15&-16):m=0,(0|A)<=0){if(!y)break}else{f=0;do{_t=y+(f<<4)|0,_[(rt=m+(f<<4)|0)>>2]=_[_t>>2],_[rt+4>>2]=_[_t+4>>2],_[rt+8>>2]=_[_t+8>>2],_[rt+12>>2]=_[_t+12>>2],f=f+1|0}while((0|f)!=(0|A))}_[6631]=1+(0|_[6631]),Ni(0|_[y+-4>>2])}else h=A,m=y;else h=A,m=y,A=g}while(0);if(_[(rt=m+(A<<4)|0)>>2]=_[l>>2],_[rt+4>>2]=_[l+4>>2],_[rt+8>>2]=_[l+8>>2],p[m+(A<<4)+12>>2]=C,!((0|(g=g+1|0))<(0|e)))break;A=h,y=m}H=0,y=0,h=0,f=0,A=0;do{M=H,H=H+1|0;t:do{if((0|H)<(0|g))for(e=H;;){P=e+1|0;e:do{if((0|P)<(0|g))for(B=m+(e<<4)+4|0,W=m+(e<<4)+8|0,F=m+(e<<4)|0,I=m+(e<<4)+12|0,e=P;;){w=+p[B>>2],C=+p[m+(e<<4)+8>>2],v=+p[W>>2],k=+p[m+(e<<4)+4>>2],R=+p[m+(e<<4)>>2],x=+p[F>>2],S=+p[m+(M<<4)+8>>2],O=+p[m+(M<<4)+4>>2],T=+p[m+(M<<4)>>2];i:do{if((k*x-w*R)*(k*x-w*R)+((w*C-v*k)*(w*C-v*k)+(v*R-C*x)*(v*R-C*x))>9999999747378752e-20&&(R*O-k*T)*(R*O-k*T)+((k*S-C*O)*(k*S-C*O)+(C*T-R*S)*(C*T-R*S))>9999999747378752e-20&&(w*T-x*O)*(w*T-x*O)+((v*O-w*S)*(v*O-w*S)+(x*S-v*T)*(x*S-v*T))>9999999747378752e-20&&(et=S*(k*x-w*R)+(O*(v*R-C*x)+(w*C-v*k)*T),+d(+et)>9.999999974752427e-7)){L=+p[m+(M<<4)+12>>2],E=+p[I>>2],V=-1/et*((v*O-w*S)*(G=+p[m+(e<<4)+12>>2])+((w*C-v*k)*L+(k*S-C*O)*E)),v=-1/et*((x*S-v*T)*G+((v*R-C*x)*L+(C*T-R*S)*E)),C=-1/et*((w*T-x*O)*G+((k*x-w*R)*L+(R*O-k*T)*E)),j=0;do{if(+p[m+(j<<4)+12>>2]+(V*+p[m+(j<<4)>>2]+v*+p[m+(j<<4)+4>>2]+C*+p[m+(j<<4)+8>>2])-.009999999776482582>0)break i;j=j+1|0}while((0|j)<(0|g));do{if((0|f)==(0|y)){if((0|y)>=(0|(D=0|y?y<<1:1))){D=y;break}do{if(D){if(_[6630]=1+(0|_[6630]),!(A=0|di(16+(D<<4|3)|0))){j=0;break}_[(A+4+15&-16)-4>>2]=A,j=A+4+15&-16}else j=0}while(0);if((0|y)<=0){if(!h){h=j,A=j;break}}else{A=0;do{_t=h+(A<<4)|0,_[(rt=j+(A<<4)|0)>>2]=_[_t>>2],_[rt+4>>2]=_[_t+4>>2],_[rt+8>>2]=_[_t+8>>2],_[rt+12>>2]=_[_t+12>>2],A=A+1|0}while((0|A)!=(0|y))}_[6631]=1+(0|_[6631]),Ni(0|_[h+-4>>2]),h=j,A=j}else D=y,y=f}while(0);p[h+(y<<4)>>2]=V,p[h+(y<<4)+4>>2]=v,p[h+(y<<4)+8>>2]=C,p[h+(y<<4)+12>>2]=0,y=D,f=f+1|0}}while(0);if((0|(e=e+1|0))==(0|g))break e}}while(0);if((0|P)==(0|g))break t;e=P}}while(0)}while((0|H)!=(0|g))}else h=0,m=0,f=0,A=0}else h=0,m=0,u=0,f=0,A=0;Ai(l+124|0,A,f),0|h&&(_[6631]=1+(0|_[6631]),Ni(0|_[h+-4>>2])),0|m&&(_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2])),0|u&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2]))}else Ai(l+124|0,A,M);if((0|(P=0|_[l+124+44>>2]))>0){_[6630]=1+(0|_[6630]),(A=0|di(16+(P<<4|3)|0))?(_[(A+4+15&-16)-4>>2]=A,f=A+4+15&-16):f=0,A=0;do{_[(rt=f+(A<<4)|0)>>2]=_[l>>2],_[rt+4>>2]=_[l+4>>2],_[rt+8>>2]=_[l+8>>2],_[rt+12>>2]=_[l+12>>2],A=A+1|0}while((0|A)!=(0|P));rt=f,ot=f}else rt=0,ot=0;n[l+104+16|0]=1,_[(_t=l+104+12|0)>>2]=0,_[(r=l+104+4|0)>>2]=0,_[l+104+8>>2]=0,h=(u=l)+19|0;do{n[0|u]=0,u=u+1|0}while((0|u)<(0|h));if((0|P)<0&&N(),0|P){Zn(l+104|0,P),f=0|_[_t>>2],A=0;do{n[f+(36*A|0)+16|0]=1,_[(u=f+(36*A|0)+4|0)>>2]=0,_[u+4>>2]=0,_[u+8>>2]=0,m=l+3|0,h=16+(u=f+(36*A|0)+20|0)|0;do{n[0|u]=0|n[0|m],u=u+1|0,m=m+1|0}while((0|u)<(0|h));A=A+1|0}while((0|A)!=(0|P))}if(_[r>>2]=P,y=0|_[l+124+4>>2],h=0|_[t+52>>2],(0|(m=0|_[h+8>>2]))<(0|y)){if((0|_[h+12>>2])<(0|y)){if(y?(_[6630]=1+(0|_[6630]),(A=0|di(16+(y<<4|3)|0))?(_[(A+4+15&-16)-4>>2]=A,A=A+4+15&-16):A=0,u=0|_[h+8>>2]):(A=0,u=m),(0|u)>0){f=0;do{nt=A+(f<<4)|0,it=(0|_[h+16>>2])+(f<<4)|0,_[nt>>2]=_[it>>2],_[nt+4>>2]=_[it+4>>2],_[nt+8>>2]=_[it+8>>2],_[nt+12>>2]=_[it+12>>2],f=f+1|0}while((0|f)!=(0|u))}0|(f=0|_[h+16>>2])&&(0|n[h+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2])),_[h+16>>2]=0),n[h+20|0]=1,_[h+16>>2]=A,_[h+12>>2]=y,f=h+16|0}else f=h+16|0;A=m;do{nt=(0|_[f>>2])+(A<<4)|0,_[nt>>2]=_[l>>2],_[nt+4>>2]=_[l+4>>2],_[nt+8>>2]=_[l+8>>2],_[nt+12>>2]=_[l+12>>2],A=A+1|0}while((0|A)!=(0|y))}if(_[h+8>>2]=y,(0|y)>0){A=0;do{it=(0|_[at>>2])+(A<<4)|0,nt=(0|_[16+(0|_[t+52>>2])>>2])+(A<<4)|0,_[nt>>2]=_[it>>2],_[nt+4>>2]=_[it+4>>2],_[nt+8>>2]=_[it+8>>2],_[nt+12>>2]=_[it+12>>2],A=A+1|0}while((0|A)!=(0|y))}if((0|P)>0){F=0;do{I=B=(0|_[ct>>2])+(12*(0|_[(0|_[c>>2])+(F<<2)>>2])|0)|0,A=0;do{if(D=0|_[I+(12*(0|_[(W=I+4|0)>>2])|0)+8>>2],e=0|_[_t>>2],(0|(f=0|_[(j=e+(36*F|0)+4|0)>>2]))==(0|_[(g=e+(36*F|0)+8|0)>>2])&&(0|f)<(0|(Z=0|f?f<<1:1))){if(Z?(_[6630]=1+(0|_[6630]),(f=0|di(16+(Z<<2|3)|0))?(_[(f+4+15&-16)-4>>2]=f,f=f+4+15&-16):f=0,y=f,f=0|_[j>>2]):y=0,m=0|_[(h=e+(36*F|0)+12|0)>>2],(0|f)<=0)m?st=161:u=e+(36*F|0)+16|0;else{u=0;do{_[y+(u<<2)>>2]=_[m+(u<<2)>>2],u=u+1|0}while((0|u)!=(0|f));st=161}161==(0|st)&&(st=0,0|n[0|(f=e+(36*F|0)+16|0)]&&(_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2])),_[h>>2]=0,u=f,f=0|_[j>>2]),n[0|u]=1,_[h>>2]=y,_[g>>2]=Z}_[(0|_[e+(36*F|0)+12>>2])+(f<<2)>>2]=D,_[j>>2]=1+(0|_[j>>2]),it=0|_[I+8>>2],nt=0|_[at>>2],S=+p[nt+(it<<4)>>2]-+p[nt+(D<<4)>>2],w=+p[nt+(it<<4)+4>>2]-+p[nt+(D<<4)+4>>2],C=+p[nt+(it<<4)+8>>2]-+p[nt+(D<<4)+8>>2],v=1/+b(+(S*S+w*w+C*C)),(0|A)<2&&(p[l+(A<<4)>>2]=S*v,p[l+(A<<4)+4>>2]=w*v,p[l+(A<<4)+8>>2]=C*v,p[l+(A<<4)+12>>2]=0,A=A+1|0),I=(nt=I+(12*(0|_[W>>2])|0)|0)+(12*(0|_[nt>>2])|0)|0}while((0|I)!=(0|B));if(2==(0|A)?(V=+p[l+4>>2],G=+p[l+24>>2],L=+p[l+8>>2],E=+p[l+20>>2],T=+p[l+16>>2],O=+p[l>>2],it=rt+(F<<4)+4|0,nt=rt+(F<<4)+8|0,p[rt+(F<<4)+12>>2]=0,et=1/+b(+((E*O-V*T)*(E*O-V*T)+((V*G-L*E)*(V*G-L*E)+(L*T-G*O)*(L*T-G*O)))),p[rt+(F<<4)>>2]=(V*G-L*E)*et,p[it>>2]=(L*T-G*O)*et,p[nt>>2]=(E*O-V*T)*et,h=0|_[_t>>2],p[h+(36*F|0)+20>>2]=(V*G-L*E)*et,_[h+(36*F|0)+24>>2]=_[it>>2],_[h+(36*F|0)+28>>2]=_[nt>>2],p[h+(36*F|0)+32>>2]=1.0000000150474662e30):(_[(h=rt+(F<<4)|0)>>2]=0,_[h+4>>2]=0,_[h+8>>2]=0,_[h+12>>2]=0,h=0|_[_t>>2]),(0|(f=0|_[h+(36*F|0)+4>>2]))>0){if(u=0|_[16+(0|_[t+52>>2])>>2],v=+p[rt+(F<<4)>>2],S=+p[rt+(F<<4)+4>>2],w=+p[rt+(F<<4)+8>>2],m=0|_[h+(36*F|0)+12>>2],nt=0|_[m>>2],C=(C=+p[u+(nt<<4)>>2]*v+ +p[u+(nt<<4)+4>>2]*S+ +p[u+(nt<<4)+8>>2]*w)<1.0000000150474662e30?C:1.0000000150474662e30,1!=(0|f)){A=1;do{nt=0|_[m+(A<<2)>>2],C=C>(et=+p[u+(nt<<4)>>2]*v+ +p[u+(nt<<4)+4>>2]*S+ +p[u+(nt<<4)+8>>2]*w)?et:C,A=A+1|0}while((0|A)<(0|f))}}else C=1.0000000150474662e30;p[h+(36*F|0)+32>>2]=-C,F=F+1|0}while((0|F)!=(0|P))}t:do{if((0|_[r>>2])>0){for(A=0,h=0,m=0,f=0,y=0;;){do{if((0|y)==(0|A))if((0|y)<(0|(u=(A=!(0|y))?1:y<<1))){if(0|u&&(_[6630]=1+(0|_[6630]),0|(U=0|di(16+(u<<2|3)|0)))?(_[(U+4+15&-16)-4>>2]=U,m=U+4+15&-16):m=0,A){if(!h){A=1,h=m,J=m,f=m;break}}else{A=0;do{_[m+(A<<2)>>2]=_[h+(A<<2)>>2],A=A+1|0}while((0|A)!=(0|y))}f?(_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2]),A=u,h=m,J=m,f=m):(A=u,h=m,J=m,f=m)}else A=y,J=m;else J=m}while(0);if(_[h+(y<<2)>>2]=y,(0|(y=y+1|0))>=(0|_[r>>2]))break;m=J}for(Z=l+84+12|0,U=l+84+4|0,Y=l+48+12|0,A=y;;){u=0|_[h+((g=A+-1|0)<<2)>>2],_[6630]=1+(0|_[6630]),(f=0|di(23))?(_[(f+4+15&-16)-4>>2]=f,y=f+4+15&-16):y=0,_[y>>2]=u,m=0|_[_t>>2],v=+p[m+(36*u|0)+20>>2],S=+p[m+(36*u|0)+24>>2],C=+p[m+(36*u|0)+28>>2];do{if((0|A)>1){for(W=A+-2|0,e=1,f=y,B=1,A=g,g=y,j=y;;){I=0|_[h+(W<<2)>>2];e:do{if(v*+p[m+(36*I|0)+20>>2]+S*+p[m+(36*I|0)+24>>2]+C*+p[m+(36*I|0)+28>>2]>.9990000128746033){do{if((0|B)==(0|e)){if((0|e)>=(0|(m=0|e?e<<1:1))){m=e,D=g;break}do{if(m){if(_[6630]=1+(0|_[6630]),!(u=0|di(16+(m<<2|3)|0))){y=0;break}_[(u+4+15&-16)-4>>2]=u,y=u+4+15&-16}else y=0}while(0);if((0|e)>0){u=0;do{_[y+(u<<2)>>2]=_[f+(u<<2)>>2],u=u+1|0}while((0|u)!=(0|e));if(!j){f=y,D=y,j=y;break}}else if(!(0|f)|!(0|j)){f=y,D=y,j=y;break}_[6631]=1+(0|_[6631]),Ni(0|_[j+-4>>2]),f=y,D=y,j=y}else m=e,D=g}while(0);if(_[f+(B<<2)>>2]=I,B=B+1|0,(0|A)>0){for(u=0;(0|_[(y=h+(u<<2)|0)>>2])!=(0|I);)if((0|(u=u+1|0))>=(0|A)){H=D,u=j;break e}if(g=h+((e=A+-1|0)<<2)|0,(0|u)>=(0|A)){H=D,u=j;break}_[y>>2]=_[g>>2],_[g>>2]=I,A=e,H=D,u=j}else H=D,u=j}else m=e,H=g,u=j}while(0);if((0|W)<=0)break;W=W+-1|0,e=m,g=H,m=0|_[_t>>2],j=u}if((0|B)<=1){if(1==(0|B)){u=H,B=1,st=344;break}u=H;break}n[l+84+16|0]=1,_[Z>>2]=0,_[U>>2]=0,_[l+84+8>>2]=0,F=0,u=0,C=0,v=0,S=0;do{if(I=0|_[f+(F<<2)>>2],W=0|_[_t>>2],C=+p[W+(36*I|0)+20>>2]+C,v=+p[W+(36*I|0)+24>>2]+v,S=+p[W+(36*I|0)+28>>2]+S,(0|(m=0|_[W+(36*I|0)+4>>2]))>0){D=0;do{j=0|_[(0|_[W+(36*I|0)+12>>2])+(D<<2)>>2],nt=(0|_[16+(0|_[t+52>>2])>>2])+(j<<4)|0,_[l>>2]=_[nt>>2],_[l+4>>2]=_[nt+4>>2],_[l+8>>2]=_[nt+8>>2],_[l+12>>2]=_[nt+12>>2];e:do{if((0|u)>0)for(g=0|_[Z>>2],y=0;;){if((0|_[g+(24*y|0)+20>>2])==(0|j))break e;if((0|(y=y+1|0))>=(0|u)){st=224;break}}else st=224}while(0);if(224==(0|st)){st=0,_[l+48>>2]=_[l>>2],_[l+48+4>>2]=_[l+4>>2],_[l+48+8>>2]=_[l+8>>2],_[l+48+12>>2]=_[l+12>>2];do{if((0|u)==(0|_[l+84+8>>2])){if((0|u)>=(0|(e=0|u?u<<1:1)))break;if(e?(_[6630]=1+(0|_[6630]),(u=0|di(16+(24*e|3)|0))?(_[(u+4+15&-16)-4>>2]=u,u=u+4+15&-16):u=0,g=u,u=0|_[U>>2]):g=0,y=0|_[Z>>2],(0|u)<=0)y&&(st=234);else{m=0;do{nt=y+(24*m|0)|0,_[(st=g+(24*m|0)|0)>>2]=_[nt>>2],_[st+4>>2]=_[nt+4>>2],_[st+8>>2]=_[nt+8>>2],_[st+12>>2]=_[nt+12>>2],_[st+16>>2]=_[nt+16>>2],_[st+20>>2]=_[nt+20>>2],m=m+1|0}while((0|m)!=(0|u));st=234}234==(0|st)&&(st=0,0|n[l+84+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[y+-4>>2]),u=0|_[U>>2]),_[Z>>2]=0),n[l+84+16|0]=1,_[Z>>2]=g,_[l+84+8>>2]=e}}while(0);m=0|_[Z>>2],_[(nt=m+(24*u|0)|0)>>2]=_[l+48>>2],_[nt+4>>2]=_[l+48+4>>2],_[nt+8>>2]=_[l+48+8>>2],_[nt+12>>2]=_[l+48+12>>2],_[nt+16>>2]=_[l+48+16>>2],_[m+(24*u|0)+20>>2]=j,u=1+(0|_[U>>2])|0,_[U>>2]=u,m=0|_[W+(36*I|0)+4>>2]}D=D+1|0}while((0|D)<(0|m))}F=F+1|0}while((0|F)!=(0|B));n[l+48+16|0]=1,_[Y>>2]=0,_[l+48+4>>2]=0,_[l+48+8>>2]=0,nt=0|_[f>>2],it=0|_[_t>>2],_[l+48+20>>2]=_[it+(36*nt|0)+20>>2],_[l+48+24>>2]=_[it+(36*nt|0)+24>>2],_[l+48+28>>2]=_[it+(36*nt|0)+28>>2],_[l+48+32>>2]=_[it+(36*nt|0)+32>>2],T=C*(x=1/+b(+(C*C+v*v+S*S))),O=v*x,+d(+(x*=S))>.7071067690849304?(w=0,k=O*(R=1/+b(+(x*x+O*O))),R*=-x):(w=-O*(R=1/+b(+(T*T+O*O))),k=0,R*=T),g=0|_[U>>2];do{if((0|g)<2)if(1==(0|g))for(m=0,g=0,D=0,e=1;;){I=0|_[Z>>2];do{if((0|m)==(0|g)){if((0|g)>=(0|(j=0|g?g<<1:1))){j=g,u=D,y=g;break}do{if(j){if(_[6630]=1+(0|_[6630]),!(u=0|di(16+(24*j|3)|0))){u=0,g=m;break}_[(u+4+15&-16)-4>>2]=u,u=u+4+15&-16,g=m}else u=0}while(0);if((0|g)<=0)0|D&&(st=255);else{y=0;do{nt=D+(24*y|0)|0,_[(st=u+(24*y|0)|0)>>2]=_[nt>>2],_[st+4>>2]=_[nt+4>>2],_[st+8>>2]=_[nt+8>>2],_[st+12>>2]=_[nt+12>>2],_[st+16>>2]=_[nt+16>>2],_[st+20>>2]=_[nt+20>>2],y=y+1|0}while((0|y)!=(0|g));st=255}255==(0|st)&&(st=0,_[6631]=1+(0|_[6631]),Ni(0|_[D+-4>>2])),y=m,e=0|_[U>>2]}else j=g,u=D,y=m}while(0);if(_[(nt=u+(24*y|0)|0)>>2]=_[I>>2],_[nt+4>>2]=_[I+4>>2],_[nt+8>>2]=_[I+8>>2],_[nt+12>>2]=_[I+12>>2],_[nt+16>>2]=_[I+16>>2],_[nt+20>>2]=_[I+20>>2],!((0|(m=m+1|0))<(0|e))){st=289;break}g=j,D=u}else u=0,st=331;else{y=0|_[Z>>2],u=0;do{w*+p[(m=y+(24*u|0)|0)>>2]+R*+p[y+(24*u|0)+4>>2]+k*+p[y+(24*u|0)+8>>2]>2]+R*+p[y+4>>2]+k*+p[y+8>>2]&&(_[l>>2]=_[y>>2],_[l+4>>2]=_[y+4>>2],_[l+8>>2]=_[y+8>>2],_[l+12>>2]=_[y+12>>2],_[l+16>>2]=_[y+16>>2],_[l+20>>2]=_[y+20>>2],_[y>>2]=_[m>>2],_[y+4>>2]=_[m+4>>2],_[y+8>>2]=_[m+8>>2],_[y+12>>2]=_[m+12>>2],_[y+16>>2]=_[m+16>>2],_[y+20>>2]=_[m+20>>2],_[(st=y+(24*u|0)|0)>>2]=_[l>>2],_[st+4>>2]=_[l+4>>2],_[st+8>>2]=_[l+8>>2],_[st+12>>2]=_[l+12>>2],_[st+16>>2]=_[l+16>>2],_[st+20>>2]=_[l+20>>2]),u=u+1|0}while((0|u)<(0|g));if(p[y+16>>2]=-1.0000000150474662e30,(0|g)>1){C=+p[y>>2],v=+p[y+4>>2],S=+p[y+8>>2],u=1;do{L=+p[y+(24*u|0)>>2]-C,et=((w*(E=+p[y+(24*u|0)+4>>2]-v)-R*L)*x+(T*(R*(et=+p[y+(24*u|0)+8>>2]-S)-k*E)+O*(k*L-w*et)))/+b(+(L*L+E*E+et*et)),p[y+(24*u|0)+16>>2]=et,u=u+1|0}while((0|u)!=(0|g))}if(_[l>>2]=_[y>>2],_[l+4>>2]=_[y+4>>2],_[l+8>>2]=_[y+8>>2],_[l+12>>2]=_[y+12>>2],z(l+84|0,l,1,g+-1|0),m=0|_[Z>>2],_[6630]=1+(0|_[6630]),(u=0|di(43))?(_[(u+4+15&-16)-4>>2]=u,y=u+4+15&-16):y=0,g=0|_[Z>>2],_[y>>2]=_[m>>2],_[y+4>>2]=_[m+4>>2],_[y+8>>2]=_[m+8>>2],_[y+12>>2]=_[m+12>>2],_[y+16>>2]=_[m+16>>2],_[y+20>>2]=_[m+20>>2],_[6630]=1+(0|_[6630]),(u=0|di(67))?(_[(u+4+15&-16)-4>>2]=u,u=u+4+15&-16):u=0,_[u>>2]=_[y>>2],_[u+4>>2]=_[y+4>>2],_[u+8>>2]=_[y+8>>2],_[u+12>>2]=_[y+12>>2],_[u+16>>2]=_[y+16>>2],_[u+20>>2]=_[y+20>>2],0|y&&(_[6631]=1+(0|_[6631]),Ni(0|_[y+-4>>2])),_[(y=u+24|0)>>2]=_[g+24>>2],_[y+4>>2]=_[g+24+4>>2],_[y+8>>2]=_[g+24+8>>2],_[y+12>>2]=_[g+24+12>>2],_[y+16>>2]=_[g+24+16>>2],_[y+20>>2]=_[g+24+20>>2],2==(0|(y=0|_[U>>2]))){m=2,st=289;break}for(I=2,m=2,D=2,g=2;;){e:do{if((0|g)>1){for(st=0|_[Z>>2],C=+p[(j=st+(24*I|0)|0)>>2],v=+p[st+(24*I|0)+4>>2],S=+p[st+(24*I|0)+8>>2];e=g+-1|0,!(((E=(L=+p[u+(24*(st=g+-2|0)|0)>>2])-+p[u+(24*e|0)>>2])*((V=+p[u+(24*st|0)+4>>2])-v)-(R=V-+p[u+(24*e|0)+4>>2])*(L-C))*x+(T*(R*((et=+p[u+(24*st|0)+8>>2])-S)-(G=et-+p[u+(24*e|0)+8>>2])*(V-v))+O*(G*(L-C)-E*(et-S)))>0);){if(!((0|g)>2)){m=e,e=D,g=1;break e}m=e,g=e}do{if((0|g)==(0|D)){if((0|D)>=(0|(e=D<<1))){e=D,g=D;break}if(_[6630]=1+(0|_[6630]),(y=0|di(16+(48*D|3)|0))?(_[(y+4+15&-16)-4>>2]=y,g=y+4+15&-16):g=0,(0|m)>0){y=0;do{nt=u+(24*y|0)|0,_[(st=g+(24*y|0)|0)>>2]=_[nt>>2],_[st+4>>2]=_[nt+4>>2],_[st+8>>2]=_[nt+8>>2],_[st+12>>2]=_[nt+12>>2],_[st+16>>2]=_[nt+16>>2],_[st+20>>2]=_[nt+20>>2],y=y+1|0}while((0|y)!=(0|m))}_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2]),y=0|_[U>>2],u=g,g=m}else e=D}while(0);_[(g=u+(24*g|0)|0)>>2]=_[j>>2],_[g+4>>2]=_[j+4>>2],_[g+8>>2]=_[j+8>>2],_[g+12>>2]=_[j+12>>2],_[g+16>>2]=_[j+16>>2],_[g+20>>2]=_[j+20>>2],m=g=m+1|0}else e=D}while(0);if((0|(I=I+1|0))==(0|y))break;D=e}st=(0|m)>0?289:291}}while(0);if(289==(0|st)){for(st=0,M=0,g=0|_[l+48+4>>2],y=0|_[l+48+8>>2],D=0|n[l+48+16|0];;){P=u+(24*M|0)+20|0;do{if((0|g)==(0|y)){if((0|y)>=(0|(W=0|y?y<<1:1))){F=D,g=y,W=y;break}do{if(W){if(_[6630]=1+(0|_[6630]),!(g=0|di(16+(W<<2|3)|0))){j=0;break}_[(g+4+15&-16)-4>>2]=g,j=g+4+15&-16}else j=0}while(0);if(e=0|_[Y>>2],(0|y)<=0)e&&(st=321);else{g=0;do{_[j+(g<<2)>>2]=_[e+(g<<2)>>2],g=g+1|0}while((0|g)!=(0|y));st=321}321==(0|st)&&(st=0,D<<24>>24&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[Y>>2]=0,y=0|_[l+48+4>>2]),_[Y>>2]=j,_[l+48+8>>2]=W,F=1,g=y}else F=D,W=y}while(0);_[(0|_[Y>>2])+(g<<2)>>2]=_[P>>2],g=g+1|0,_[l+48+4>>2]=g,y=0|_[U>>2];e:do{if((0|y)>0){for(I=0|_[Z>>2],j=0|_[P>>2],e=0;D=I+(24*e|0)+20|0,e=e+1|0,(0|_[D>>2])!=(0|j);)if((0|e)>=(0|y))break e;_[D>>2]=-1}}while(0);if((0|(M=M+1|0))>=(0|m))break;y=W,D=F}n[l+48+16|0]=F,st=291}e:do{if(291==(0|st))if(st=0,(0|y)>0){if(I=0|_[Z>>2],W=0|_[r>>2],F=0|_[_t>>2],P=(0|B)>0,(0|W)<=0){st=331;break}for(D=0;;){M=0|_[I+(24*D|0)+20>>2];i:do{if(-1!=(0|M)){if(!P)for(g=0;;){if((0|(e=0|_[F+(36*g|0)+4>>2]))>0){j=0|_[F+(36*g|0)+12>>2],m=0;do{if((0|_[j+(m<<2)>>2])==(0|M)){m=1;break e}m=m+1|0}while((0|m)<(0|e))}if((0|(g=g+1|0))>=(0|W))break i}j=0;do{for(m=0;(0|_[f+(m<<2)>>2])!=(0|j);)if((0|(m=m+1|0))>=(0|B)){st=306;break}do{if(306==(0|st)){if(st=0,(0|(g=0|_[F+(36*j|0)+4>>2]))<=0)break;e=0|_[F+(36*j|0)+12>>2],m=0;do{if((0|_[e+(m<<2)>>2])==(0|M)){m=1;break e}m=m+1|0}while((0|m)<(0|g))}}while(0);j=j+1|0}while((0|j)<(0|W))}}while(0);if((0|(D=D+1|0))>=(0|y)){st=331;break}}}else st=331}while(0);331==(0|st)&&(st=0,Gt(24+(0|_[t+52>>2])|0,l+48|0),m=0),0|u&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),0|(u=0|_[Y>>2])&&(0|n[l+48+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[Y>>2]=0),0|(u=0|_[Z>>2])&&(0|n[l+84+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),_[Z>>2]=0),m&(0|B)>0?(u=H,st=344):u=H}else u=y,f=y,B=1,A=g,st=344}while(0);if(344==(0|st)){st=0,j=0;do{if(D=0|_[f+(j<<2)>>2],I=0|_[_t>>2],n[l+16|0]=1,_[l+12>>2]=0,_[l+4>>2]=0,_[l+8>>2]=0,(0|(e=0|_[I+(36*D|0)+4>>2]))>0){_[6630]=1+(0|_[6630]),y=0|di(16+(e<<2|3)|0);do{if(y){if(_[(y+4+15&-16)-4>>2]=y,!(0|(m=0|_[l+12>>2]))|!(0|n[l+16|0])){m=y+4+15&-16,g=y+4+15&-16;break}_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2]),m=y+4+15&-16,g=y+4+15&-16}else m=0,g=0}while(0);n[l+16|0]=1,_[l+12>>2]=m,_[l+8>>2]=e,wn(0|m,0,e<<2),_[l+4>>2]=e,y=0|_[I+(36*D|0)+12>>2],m=0;do{_[g+(m<<2)>>2]=_[y+(m<<2)>>2],m=m+1|0}while((0|m)!=(0|e));m=0|_[l+12>>2]}else _[l+4>>2]=e,m=0;_[l+20>>2]=_[I+(36*D|0)+20>>2],_[l+20+4>>2]=_[I+(36*D|0)+20+4>>2],_[l+20+8>>2]=_[I+(36*D|0)+20+8>>2],_[l+20+12>>2]=_[I+(36*D|0)+20+12>>2],Gt(24+(0|_[t+52>>2])|0,l),0|m&&(0|n[l+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2])),_[l+12>>2]=0),j=j+1|0}while((0|j)<(0|B))}if(!(0|f)|!(0|u)||(_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2])),!A){nt=J,it=h;break t}}}else nt=0,it=0}while(0);if(i=0|_[t+52>>2],_[i+64>>2]=0,_[i+64+4>>2]=0,_[i+64+8>>2]=0,_[i+64+12>>2]=0,(0|(A=0|_[i+28>>2]))>0){for(tt=0,j=0,f=0,u=0,M=0,F=0,g=0,m=0,P=0,e=0,h=0,B=0,I=0,D=0,y=0;;){if(W=0|_[i+36>>2],(0|($=0|_[W+(36*tt|0)+4>>2]))>0){for(q=65535&tt,K=-65536|tt,Z=0,t=M,U=e,A=W,H=y;;){X=Z+1|0,Y=0|_[A+(36*tt|0)+12>>2],e=65535&_[Y+(Z<<2)>>2],Y=(Z=65535&_[Y+(((0|X)==(0|$)?0:X)<<2)>>2])<<16>>16>e<<16>>16?e:Z,J=Z<<16>>16>e<<16>>16?Z:e,y=Z<<16>>16>e<<16>>16?e:Z,e=Z<<16>>16>e<<16>>16?Z:e,Z=U+-1|0;t:do{if((((65535&y)<<16)+(e<<16>>16)&Z)>>>0>>0&&(pt=0|_[u+((((65535&y)<<16)+(e<<16>>16)&Z)<<2)>>2],-1!=(0|pt))){for(A=pt;e<<16>>16!=(0|o[f+(A<<2)>>1])||y<<16>>16!=(0|o[f+(A<<2)+2>>1]);)if(-1==(0|(A=0|_[m+(A<<2)>>2]))){M=0;break t}M=h+(A<<2)|0}else M=0}while(0);A=0|_[i+16>>2],R=+p[A+(y<<16>>16<<4)>>2]-+p[A+(e<<16>>16<<4)>>2],x=+p[A+(y<<16>>16<<4)+4>>2]-+p[A+(e<<16>>16<<4)+4>>2],w=+p[A+(y<<16>>16<<4)+8>>2]-+p[A+(e<<16>>16<<4)+8>>2],k=1/+b(+(R*R+x*x+w*w)),A=0|_[i+48>>2];t:do{if((0|A)>0)for(e=0|_[i+56>>2],y=0;;){C=+p[e+(y<<4)>>2],v=+p[e+(y<<4)+4>>2],S=+p[e+(y<<4)+8>>2];do{if(!(+d(+(C-R*k))>1e-6)){if(+d(+(v-x*k))>1e-6)break;if(!(+d(+(S-w*k))>1e-6))break t}}while(0);do{if(!(+d(+(R*k+C))>1e-6)){if(+d(+(x*k+v))>1e-6)break;if(!(+d(+(w*k+S))>1e-6))break t}}while(0);if((0|(y=y+1|0))>=(0|A)){st=387;break}}else st=387}while(0);if(387==(0|st)){st=0;do{if((0|A)==(0|_[i+52>>2])){if((0|A)>=(0|(W=0|A?A<<1:1)))break;if(W?(_[6630]=1+(0|_[6630]),(A=0|di(16+(W<<4|3)|0))?(_[(A+4+15&-16)-4>>2]=A,A=A+4+15&-16):A=0,e=A,A=0|_[i+48>>2]):e=0,(0|A)>0){y=0;do{dt=e+(y<<4)|0,bt=(0|_[i+56>>2])+(y<<4)|0,_[dt>>2]=_[bt>>2],_[dt+4>>2]=_[bt+4>>2],_[dt+8>>2]=_[bt+8>>2],_[dt+12>>2]=_[bt+12>>2],y=y+1|0}while((0|y)!=(0|A))}0|(A=0|_[i+56>>2])&&(0|n[i+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[i+56>>2]=0),n[i+60|0]=1,_[i+56>>2]=e,_[i+52>>2]=W,A=0|_[i+48>>2]}}while(0);bt=0|_[i+56>>2],p[bt+(A<<4)>>2]=R*k,p[bt+(A<<4)+4>>2]=x*k,p[bt+(A<<4)+8>>2]=w*k,p[bt+(A<<4)+12>>2]=0,_[i+48>>2]=1+(0|_[i+48>>2])}t:do{if(M)o[M+2>>1]=q,W=t,e=U,A=B,y=H;else{M=((65535&Y)<<16)+(J<<16>>16)&Z;e:do{if(M>>>0>>0){if(-1==(0|(A=0|_[u+(M<<2)>>2])))break;for(;J<<16>>16!=(0|o[f+(A<<2)>>1])||Y<<16>>16!=(0|o[f+(A<<2)+2>>1]);)if(-1==(0|(A=0|_[m+(A<<2)>>2])))break e;o[(W=h+(A<<2)|0)>>1]=K,o[W+2>>1]=K>>>16,W=t,e=U,A=B,y=H;break t}}while(0);do{if((0|P)==(0|U)){if((0|P)>=(0|(e=0|P?P<<1:1))){e=P;break}do{if(e){if(_[6630]=1+(0|_[6630]),!(A=0|di(16+(e<<2|3)|0))){y=0;break}_[(A+4+15&-16)-4>>2]=A,y=A+4+15&-16}else y=0}while(0);if((0|P)<=0){if(!h){h=y;break}}else{A=0;do{bt=y+(A<<2)|0,dt=s[(dt=h+(A<<2)|0)>>1]|s[dt+2>>1]<<16,o[bt>>1]=dt,o[bt+2>>1]=dt>>>16,A=A+1|0}while((0|A)!=(0|P))}_[6631]=1+(0|_[6631]),Ni(0|_[h+-4>>2]),h=y}else e=U}while(0);o[(Z=h+(P<<2)|0)>>1]=K,o[Z+2>>1]=K>>>16,Z=P+1|0;do{if((0|I)==(0|j)){if((0|I)>=(0|(j=0|I?I<<1:1))){j=I;break}do{if(j){if(_[6630]=1+(0|_[6630]),!(A=0|di(16+(j<<2|3)|0))){y=0;break}_[(A+4+15&-16)-4>>2]=A,y=A+4+15&-16}else y=0}while(0);if((0|I)<=0){if(!f){f=y;break}}else{A=0;do{bt=y+(A<<2)|0,dt=s[(dt=f+(A<<2)|0)>>1]|s[dt+2>>1]<<16,o[bt>>1]=dt,o[bt+2>>1]=dt>>>16,A=A+1|0}while((0|A)!=(0|I))}_[6631]=1+(0|_[6631]),Ni(0|_[f+-4>>2]),f=y}}while(0);if(o[(bt=f+(I<<2)|0)>>1]=(65535&Y)<<16|65535&J,o[bt+2>>1]=((65535&Y)<<16|65535&J)>>>16,I=I+1|0,(0|U)<(0|e)){do{if((0|t)<(0|e)){do{if((0|B)<(0|e)){do{if(e){if(_[6630]=1+(0|_[6630]),!(A=0|di(16+(e<<2|3)|0))){y=0;break}_[(A+4+15&-16)-4>>2]=A,y=A+4+15&-16}else y=0}while(0);if((0|t)<=0){if(!u){u=y,M=e,H=y;break}}else{A=0;do{_[y+(A<<2)>>2]=_[u+(A<<2)>>2],A=A+1|0}while((0|A)!=(0|t))}_[6631]=1+(0|_[6631]),Ni(0|_[u+-4>>2]),u=y,M=e,H=y}else M=B}while(0);if(wn(u+(t<<2)|0,0,(B=e<<2)-(t<<2)|0),(0|F)<(0|e)){do{if((0|g)<(0|e)){do{if(e){if(_[6630]=1+(0|_[6630]),!(A=0|di(16+(3|B)|0))){y=0;break}_[(A+4+15&-16)-4>>2]=A,y=A+4+15&-16}else y=0}while(0);if((0|F)<=0){if(!m){g=e,m=y,A=y;break}}else{A=0;do{_[y+(A<<2)>>2]=_[m+(A<<2)>>2],A=A+1|0}while((0|A)!=(0|F))}_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2]),g=e,m=y,A=y}else A=D}while(0);wn(m+(F<<2)|0,0,B-(F<<2)|0),D=A}if((0|e)>0&&(wn(0|H,-1,0|B),wn(0|D,-1,0|B)),(0|t)<=0){W=e,F=e,A=M,y=H;break}y=e+-1|0,A=0;do{bt=u+(((s[f+(A<<2)+2>>1]<<16)+(0|o[f+(A<<2)>>1])&y)<<2)|0,_[m+(A<<2)>>2]=_[bt>>2],_[bt>>2]=A,A=A+1|0}while((0|A)!=(0|t));W=e,F=e,A=M,y=H}else W=t,A=B,y=H}while(0);M=((65535&Y)<<16)+(J<<16>>16)&e+-1}else W=t,A=B,y=H;bt=u+(M<<2)|0,_[m+(P<<2)>>2]=_[bt>>2],_[bt>>2]=P,P=Z}}while(0);if((0|X)>=(0|$))break;Z=X,t=W,U=e,B=A,A=0|_[i+36>>2],H=y}B=A,A=0|_[i+28>>2]}else W=M;if((0|(tt=tt+1|0))>=(0|A))break;M=W}if((0|A)>0){I=0|_[i+36>>2],B=0|_[i+16>>2],D=0,C=0;do{if(g=0|_[I+(36*D|0)+4>>2],e=0|_[I+(36*D|0)+12>>2],j=0|_[e>>2],(0|g)>=3){y=1,v=+p[i+64>>2],S=+p[i+68>>2],w=+p[i+72>>2];do{dt=0|_[e+(y<<2)>>2],bt=0|_[e+((0|(y=y+1|0))%(0|g)<<2)>>2],k=+p[B+(j<<4)>>2],R=+p[B+(dt<<4)>>2],O=+p[B+(j<<4)+4>>2],T=+p[B+(dt<<4)+4>>2],G=+p[B+(j<<4)+8>>2],L=+p[B+(dt<<4)+8>>2],x=+p[B+(bt<<4)>>2],V=+p[B+(bt<<4)+4>>2],E=+p[B+(bt<<4)+8>>2],v+=.3333333432674408*(k+R+x)*(et=.5*+b(+(((k-R)*(O-V)-(O-T)*(k-x))*((k-R)*(O-V)-(O-T)*(k-x))+(((O-T)*(G-E)-(G-L)*(O-V))*((O-T)*(G-E)-(G-L)*(O-V))+((G-L)*(k-x)-(k-R)*(G-E))*((G-L)*(k-x)-(k-R)*(G-E)))))),p[i+64>>2]=v,S+=.3333333432674408*(O+T+V)*et,p[i+68>>2]=S,w+=.3333333432674408*(G+L+E)*et,p[i+72>>2]=w,C+=et}while((0|y)!=(g+-1|0))}D=D+1|0}while((0|D)!=(0|A));y=i+64|0,e=f,g=u,f=1}else st=365}else f=0,u=0,m=0,h=0,st=365;if(365==(0|st)&&(C=0,y=i+64|0,e=f,g=u,f=0),k=(w=1/C)*+p[y>>2],p[y>>2]=k,S=w*+p[i+68>>2],p[i+68>>2]=S,w*=+p[i+72>>2],p[i+72>>2]=w,p[i+96>>2]=34028234663852886e22,f)for(u=0|_[i+36>>2],f=0,v=34028234663852886e22;;){if((C=+d(+(+p[u+(36*f|0)+32>>2]+(k*+p[u+(36*f|0)+20>>2]+S*+p[u+(36*f|0)+24>>2]+w*+p[u+(36*f|0)+28>>2]))))>2]=C:C=v,(0|(f=f+1|0))==(0|A)){x=C;break}v=C}else x=34028234663852886e22;if((0|(f=0|_[i+8>>2]))>0){u=0|_[i+16>>2],A=0,k=-34028234663852886e22,R=-34028234663852886e22,w=-34028234663852886e22,S=34028234663852886e22,v=34028234663852886e22,C=34028234663852886e22;do{C=(et=+p[u+(A<<4)>>2])w?et:w,v=(et=+p[u+(A<<4)+4>>2])R?et:R,S=(et=+p[u+(A<<4)+8>>2])k?et:k,A=A+1|0}while((0|A)!=(0|f))}else k=-34028234663852886e22,R=-34028234663852886e22,w=-34028234663852886e22,S=34028234663852886e22,v=34028234663852886e22,C=34028234663852886e22;for(p[i+100>>2]=C+w,p[i+104>>2]=v+R,p[i+108>>2]=S+k,p[i+112>>2]=0,et=w-C,v=R-v,C=k-S,p[i+116>>2]=et,p[i+120>>2]=v,p[i+124>>2]=C,p[i+128>>2]=0,S=x/1.7320507764816284,C=.0009765625*(.5*+p[i+116+((y=et>2]-S),p[i+88>>2]=S,p[i+84>>2]=S,p[i+80>>2]=S,v=.5*+p[i+116+(y<<2)>>2],p[i+80+(y<<2)>>2]=v,A=0;;){if(0|xt(i)){st=478;break}if(v-=C,p[i+80+(y<<2)>>2]=v,(A=A+1|0)>>>0>=1024){st=477;break}}t:do{if(477==(0|st))p[i+88>>2]=S,p[i+84>>2]=S,p[i+80>>2]=S;else if(478==(0|st)){for(C=.0009765625*(+p[i+96>>2]-S),A=0,u=0|_[i+80+((1<<(1<>2];f=0|_[i+80+((1<>2],p[i+80+((1<>2]=C+(_[a>>2]=f,+p[a>>2]),v=C+ +p[i+80+((1<<(1<>2],p[i+80+((1<<(1<>2]=v,A=A+1|0,0|xt(i);){if(A>>>0>=1024)break t;p[a>>2]=v,u=0|_[a>>2]}_[i+80+((1<>2]=f,_[i+80+((1<<(1<>2]=u}}while(0);if(0|e&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),0|h&&(_[6631]=1+(0|_[6631]),Ni(0|_[h+-4>>2])),0|m&&(_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2])),0|g&&(_[6631]=1+(0|_[6631]),Ni(0|_[g+-4>>2])),!(0|it)|!(0|nt)||(_[6631]=1+(0|_[6631]),Ni(0|_[nt+-4>>2])),y=0|_[r>>2],g=0|_[_t>>2],(0|y)<=0)0|g&&(st=500);else{A=0;do{u=g+(36*A|0)+4|0,f=g+(36*A|0)+16|0,0|(h=0|_[(m=g+(36*A|0)+12|0)>>2])&&(0|n[0|f]&&(_[6631]=1+(0|_[6631]),Ni(0|_[h+-4>>2])),_[m>>2]=0),n[0|f]=1,_[m>>2]=0,_[u>>2]=0,_[g+(36*A|0)+8>>2]=0,A=A+1|0}while((0|A)!=(0|y));st=500}return 500==(0|st)&&(0|n[l+104+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[g+-4>>2])),_[_t>>2]=0),!(0|rt)|!(0|ot)||(_[6631]=1+(0|_[6631]),Ni(0|_[ot+-4>>2])),0|(A=0|_[c>>2])&&(0|n[l+124+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[c>>2]=0),n[l+124+56|0]=1,_[c>>2]=0,_[l+124+44>>2]=0,_[l+124+48>>2]=0,0|(A=0|_[ct>>2])&&(0|n[l+124+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[ct>>2]=0),n[l+124+36|0]=1,_[ct>>2]=0,_[l+124+24>>2]=0,_[l+124+28>>2]=0,0|(A=0|_[at>>2])&&(0|n[l+124+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[A+-4>>2])),_[at>>2]=0),lt?(_[6631]=1+(0|_[6631]),Ni(0|_[lt+-4>>2]),Q=l,1):(Q=l,1)},Fs,Fs,function(t,e){e|=0;var i,o,r=0,s=0,c=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0;if(o=Q,Q=Q+96|0,r=0|_[216+(t|=0)>>2],0==+p[r+4>>2])return Q=o,0|(O=0);if(O=0|_[e>>2],!(0|Ll[31&_[8+(0|_[r>>2])>>2]](r,0|_[O+188>>2])))return Q=o,0|(O=1);if(e=0|_[O+192>>2],i=0|_[t+216>>2],32!=(0|_[e+4>>2]))return _[o+32>>2]=0,_[o+32+4>>2]=e,_[o+32+8>>2]=O,_[o+32+12>>2]=O+4,_[o+32+16>>2]=-1,_[o+32+20>>2]=-1,ji(t+68|0,t+132|0,o+32|0,i),Q=o,0|(O=1);if(!(0|O)||8!=(0|_[O+236>>2]))return Q=o,0|(O=1);if(e=0|_[O+752>>2])if(0|_[O+988>>2])r=O+988|0;else if(0|(e=0|_[O+988+4>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[O+988+4>>2]=0,_[O+988+8>>2]=-1,0|(e=0|_[O+988+32>>2])&&(0|n[O+988+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[O+988+32>>2]=0),n[O+988+36|0]=1,_[O+988+32>>2]=0,_[O+988+24>>2]=0,_[O+988+28>>2]=0,_[O+988+16>>2]=0,(0|(e=0|_[O+752>>2]))>0){C=0;do{if(y=(f=0|_[O+760>>2])+(44*C|0)|0,v=0|_[f+(44*C|0)+8>>2],B=0|_[f+(44*C|0)+12>>2],e=0|_[f+(44*C|0)+16>>2],m=+p[v+8>>2],h=+p[v+12>>2],g=+p[v+16>>2],A=+p[v+20>>2],s=(I=+p[B+8>>2])>2])>2])>2])>2])>2])>2])>2])>2])_[O+988+4>>2]=0;else{_[6630]=1+(0|_[6630]),(e=0|di(63))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,d=(r=e)+44|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|d))}_[e+32>>2]=0,_[e+36>>2]=y,_[e+40>>2]=0,p[e>>2]=s,p[e+4>>2]=u,p[e+8>>2]=c,p[e+12>>2]=l,p[e+16>>2]=m,p[e+20>>2]=h,p[e+24>>2]=g,p[e+28>>2]=A,U(O+988|0,0|_[O+988>>2],e),_[O+988+12>>2]=1+(0|_[O+988+12>>2]),_[f+(44*C|0)+40>>2]=e,C=C+1|0,e=0|_[O+752>>2]}while((0|C)<(0|e));r=O+988|0}else r=O+988|0;else r=O+988|0,e=0;if(W=+p[t+180>>2]-+p[t+116>>2],F=+p[t+184>>2]-+p[t+120>>2],x=+p[t+188>>2]-+p[t+124>>2],r=0|_[r>>2])_[o+32>>2]=4068,_[o+32+4>>2]=_[t+116>>2],_[o+32+4+4>>2]=_[t+116+4>>2],_[o+32+4+8>>2]=_[t+116+8>>2],_[o+32+4+12>>2]=_[t+116+12>>2],p[o+32+36>>2]=W,p[o+32+40>>2]=F,p[o+32+44>>2]=x,p[o+32+48>>2]=0,_[o+32+20>>2]=_[t+180>>2],_[o+32+20+4>>2]=_[t+180+4>>2],_[o+32+20+8>>2]=_[t+180+8>>2],_[o+32+20+12>>2]=_[t+180+12>>2],_[o+32+52>>2]=1065353216,_[o+32+56>>2]=0,_[o+32+60>>2]=0,Xe(r,t+116|0,t+180|0,o+32|0),(e=0|_[o+32+56>>2])?(P=0|_[o+32+52>>2],r=1,e=(e-(0|_[O+760>>2])|0)/44|0,d=P,f=3,_[a>>2]=P,s=+p[a>>2]):(r=0,e=-1,d=1065353216,f=0,s=1);else if((0|e)>0){v=0|_[O+760>>2],C=0,r=0,y=-1,d=1065353216,f=0,c=1,s=1;do{P=0|_[v+(44*C|0)+8>>2],T=0|_[v+(44*C|0)+12>>2],B=0|_[v+(44*C|0)+16>>2],(l=+zt(t+116|0,W,F,x,+p[P+8>>2],+p[P+12>>2],+p[P+16>>2],+p[T+8>>2],+p[T+12>>2],+p[T+16>>2],+p[B+8>>2],+p[B+12>>2],+p[B+16>>2],c))>0&&(r=r+1|0,y=C,p[a>>2]=l,d=0|_[a>>2],f=3,s=l,c=l),C=C+1|0}while((0|C)!=(0|e));e=y}else r=0,e=-1,d=1065353216,f=0,s=1;if((0|(v=0|_[O+772>>2]))>0){B=0|_[O+780>>2],C=0;do{P=0|_[B+(104*C|0)+8>>2],k=+p[P+8>>2],j=+p[P+12>>2],I=+p[P+16>>2],P=0|_[B+(104*C|0)+12>>2],u=+p[P+8>>2],h=+p[P+12>>2],S=+p[P+16>>2],P=0|_[B+(104*C|0)+16>>2],w=+p[P+8>>2],R=+p[P+12>>2],D=+p[P+16>>2],_[a>>2]=d,(l=+zt(t+116|0,W,F,x,k,j,I,u,h,S,w,R,D,c=+p[a>>2]))>0&&(r=r+1|0,e=C,p[a>>2]=l,d=0|_[a>>2],f=4,c=l,s=l),P=0|_[B+(104*C|0)+20>>2],(l=+zt(t+116|0,W,F,x,k,j,I,u,h,S,A=+p[P+8>>2],m=+p[P+12>>2],g=+p[P+16>>2],c))>0?(r=r+1|0,e=C,p[a>>2]=l,y=0|_[a>>2],f=4,c=l,s=l):(y=d,_[a>>2]=d,c=+p[a>>2]),(l=+zt(t+116|0,W,F,x,u,h,S,w,R,D,A,m,g,c))>0?(r=r+1|0,e=C,p[a>>2]=l,d=0|_[a>>2],f=4,c=l,s=l):(d=y,_[a>>2]=y,c=+p[a>>2]),(c=+zt(t+116|0,W,F,x,k,j,I,w,R,D,A,m,g,c))>0&&(r=r+1|0,e=C,p[a>>2]=c,d=0|_[a>>2],f=4,s=c),C=C+1|0}while((0|C)!=(0|v));d=f,h=s}else d=f,h=s;return r&&h<=+p[i+4>>2]?(_[o+32>>2]=0,_[o+32+4>>2]=e,A=+p[t+180>>2]-+p[t+116>>2],u=+p[t+184>>2]-+p[t+120>>2],m=+p[t+188>>2]-+p[t+124>>2],s=1/+b(+(A*A+u*u+m*m)),3==(0|d)?(r=0|_[O+748+12>>2],A*(s=+p[r+(44*e|0)+20>>2])+u*(l=+p[r+(44*e|0)+24>>2])+m*(c=+p[r+(44*e|0)+28>>2])>0?(A=-s,l=-l,c=-c,s=0):(A=s,s=+p[r+(44*e|0)+32>>2])):(A=-A*s,l=-u*s,c=-m*s,s=0),_[o>>2]=O,_[o+4>>2]=o+32,p[o+8>>2]=A,p[o+12>>2]=l,p[o+16>>2]=c,p[o+20>>2]=s,p[o+24>>2]=h,Fl[15&_[12+(0|_[i>>2])>>2]](i,o,1),Q=o,0|(P=1)):(Q=o,0|(P=1))},function(t,e){t|=0;var i=0,o=0,r=0;if(!(0|(e|=0)&&2&_[e+236>>2]))return 0|(r=1);if((0|(r=0|_[t+488>>2]))<=0)return 0|(r=1);for(i=0|_[t+496>>2],t=0;;){if(o=0|_[i+(t<<2)>>2],0|n[o+20|0]){if((0|_[o+28>>2])==(0|e)){t=0,i=8;break}if((0|_[o+32>>2])==(0|e)){t=0,i=8;break}}if((0|(t=t+1|0))>=(0|r)){t=1,i=8;break}}return 8==(0|i)?0|t:0},function(t,e){t|=0;var i,n=0;return(0|(i=0|_[(e|=0)>>2]))==(0|(n=0|_[t+80>>2]))?0|(n=0):(o[t+10>>1]&o[e+4>>1])<<16>>16&&(o[e+6>>1]&o[t+8>>1])<<16>>16?(e=0|_[t+92>>2],0|(n=0|El[63&_[28+(0|_[e>>2])>>2]](e,n,i))):0|(n=0)},function(t,e){return e|=0,0|_[(0|_[20+(t|=0)>>2])+(e<<2)>>2]},function(t,e){var i;return e|=0,t=0|_[64+(t|=0)>>2],0|(i=0|_[t+8>>2])?(e=0|_[t+12>>2],_[t+12>>2]=_[e>>2],_[t+8>>2]=i+-1,0|e):(_[6630]=1+(0|_[6630]),(t=0|di(e+19|0))?(_[(t+4+15&-16)-4>>2]=t,0|(e=t+4+15&-16)):0|(e=0))},function(t,e){var i;return e|=0,i=0|_[8+(t|=0)>>2],_d[127&_[i+60>>2]](e,i,0|_[t+4>>2]),0},function(t,e){e|=0;var i,n,o=0;return i=Q,Q=Q+32|0,o=0|_[216+(t|=0)>>2],0==+p[o+4>>2]?(Q=i,0|(o=0)):(e=0|_[e>>2],0|Ll[31&_[8+(0|_[o>>2])>>2]](o,0|_[e+188>>2])?(n=0|_[e+192>>2],o=0|_[t+216>>2],_[i>>2]=0,_[i+4>>2]=n,_[i+8>>2]=e,_[i+12>>2]=e+4,_[i+16>>2]=-1,_[i+20>>2]=-1,ji(t+68|0,t+132|0,i,o),Q=i,0|(o=1)):(Q=i,0|(o=1)))},function(t,e){return e|=0,t=0|_[20+(t|=0)>>2],0|Ll[31&_[8+(0|_[t>>2])>>2]](t,e)},function(t,e){return e|=0,t=0|_[12+(t|=0)>>2],0|Ll[31&_[8+(0|_[t>>2])>>2]](t,e)},function(t,e){e|=0;var i,n,o,r,s=0;return i=Q,Q=Q+32|0,s=0|_[184+(t|=0)>>2],0==+p[s+4>>2]?(Q=i,0|(s=0)):(e=0|_[e>>2],0|Ll[31&_[8+(0|_[s>>2])>>2]](s,0|_[e+188>>2])?(o=0|_[t+192>>2],r=0|_[e+192>>2],s=0|_[t+184>>2],n=+p[t+188>>2],_[i>>2]=0,_[i+4>>2]=r,_[i+8>>2]=e,_[i+12>>2]=e+4,_[i+16>>2]=-1,_[i+20>>2]=-1,mi(o,t+36|0,t+100|0,i,s,n),Q=i,0|(s=1)):(Q=i,0|(s=1)))},function(t,e){t|=0;var i,n=0,o=0;return i=Q,Q=Q+96|0,(0|(e=0|_[(e|=0)>>2]))==(0|_[t+4>>2])?(Q=i,1):(n=0|_[t+12>>2],0|Ll[31&_[8+(0|_[n>>2])>>2]](n,0|_[e+188>>2])?(n=0|_[t+4>>2],o=0|_[n+192>>2],_[i+64>>2]=0,_[i+64+4>>2]=o,_[i+64+8>>2]=n,_[i+64+12>>2]=n+4,_[i+64+16>>2]=-1,_[i+64+20>>2]=-1,n=0|_[e+192>>2],_[i+40>>2]=0,_[i+40+4>>2]=n,_[i+40+8>>2]=e,_[i+40+12>>2]=e+4,_[i+40+16>>2]=-1,_[i+40+20>>2]=-1,e=0|_[24+(0|_[t+8>>2])>>2],0|(e=0|Hl[31&_[8+(0|_[e>>2])>>2]](e,i+64|0,i+40|0,0))&&(o=0|_[t+12>>2],_[i+4>>2]=0,_[i+8>>2]=i+64,_[i+12>>2]=i+40,_[i>>2]=6872,_[i+32>>2]=o,dd[31&_[8+(0|_[e>>2])>>2]](e,i+64|0,i+40|0,28+(0|_[t+8>>2])|0,i),Xl[511&_[_[e>>2]>>2]](e),o=0|_[24+(0|_[t+8>>2])>>2],ed[127&_[60+(0|_[o>>2])>>2]](o,e)),Q=i,1):(Q=i,1))},function(t,e){e|=0;var i=0;return i=0|_[4+(t|=0)>>2],(0|_[e>>2])!=(0|i)&&(0|_[e+4>>2])!=(0|i)||(i=0|_[t+8>>2],_d[127&_[32+(0|_[i>>2])>>2]](i,e,0|_[t+12>>2])),0},function(t,e){return e|=0,t=0|_[4+(t|=0)>>2],0|((0|_[e>>2])==(0|t)?1:(0|_[e+4>>2])==(0|t))},tl,tl,tl,tl,tl,tl,tl,tl,tl],Ql=[Va,function(t,e,i){e|=0,i=+i;var n,o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0;return o=Q,Q=Q+32|0,a=+p[56+(t|=0)>>2],u=+p[t+72>>2]-a,c=+p[t+60>>2],A=+p[t+76>>2]-c,l=+p[t+64>>2],m=+p[t+80>>2]-l,d=+p[t+88>>2]-a,f=+p[t+92>>2]-c,n=(A*(r=+p[t+96>>2]-l)-m*f)*(s=1/+b(+((u*f-A*d)*(u*f-A*d)+((A*r-m*f)*(A*r-m*f)+(m*d-u*r)*(m*d-u*r))))),r=(m*d-u*r)*s,s*=u*f-A*d,!((c=+p[e+8>>2]*s+(+p[e>>2]*n+ +p[e+4>>2]*r)-(l*s+(a*n+c*r)))>=-i)|!(c<=i)?(Q=o,0|(e=0)):(pd[127&_[104+(0|_[t>>2])>>2]](t,0,o+16|0,o),l=+p[o+16>>2],u=+p[o>>2]-l,A=+p[o+16+4>>2],d=+p[o+4>>2]-A,a=+p[o+16+8>>2],f=+p[o+8>>2]-a,m=1/+b(+((r*u-n*d)*(r*u-n*d)+((s*d-r*f)*(s*d-r*f)+(n*f-s*u)*(n*f-s*u)))),+p[e+8>>2]*((r*u-n*d)*m)+(+p[e>>2]*((s*d-r*f)*m)+ +p[e+4>>2]*((n*f-s*u)*m))-(a*((r*u-n*d)*m)+(l*((s*d-r*f)*m)+A*((n*f-s*u)*m)))<-i?(Q=o,0|(e=0)):(pd[127&_[104+(0|_[t>>2])>>2]](t,1,o+16|0,o),l=+p[o+16>>2],u=+p[o>>2]-l,A=+p[o+16+4>>2],d=+p[o+4>>2]-A,a=+p[o+16+8>>2],f=+p[o+8>>2]-a,m=1/+b(+((r*u-n*d)*(r*u-n*d)+((s*d-r*f)*(s*d-r*f)+(n*f-s*u)*(n*f-s*u)))),+p[e+8>>2]*((r*u-n*d)*m)+(+p[e>>2]*((s*d-r*f)*m)+ +p[e+4>>2]*((n*f-s*u)*m))-(a*((r*u-n*d)*m)+(l*((s*d-r*f)*m)+A*((n*f-s*u)*m)))<-i?(Q=o,0|(e=0)):(pd[127&_[104+(0|_[t>>2])>>2]](t,2,o+16|0,o),l=+p[o+16>>2],u=+p[o>>2]-l,A=+p[o+16+4>>2],d=+p[o+4>>2]-A,a=+p[o+16+8>>2],f=+p[o+8>>2]-a,m=1/+b(+((r*u-n*d)*(r*u-n*d)+((s*d-r*f)*(s*d-r*f)+(n*f-s*u)*(n*f-s*u)))),+p[e+8>>2]*((r*u-n*d)*m)+(+p[e>>2]*((s*d-r*f)*m)+ +p[e+4>>2]*((n*f-s*u)*m))-(a*((r*u-n*d)*m)+(l*((s*d-r*f)*m)+A*((n*f-s*u)*m)))<-i?(Q=o,0|(e=0)):(Q=o,0|(e=1)))))},_c,_c,function(t,e,i){e|=0,i=+i;var n,o,_,r=0;return n=+p[28+(t|=0)>>2],o=+p[t+32>>2],_=+p[t+36>>2],(r=+p[e>>2])<=n+i&&r>=-n-i&&(r=+p[e+4>>2])<=o+i&&r>=-o-i&&(r=+p[e+8>>2])<=_+i?0|(e=r>=-_-i):0|(e=0)},Va,Va,Va],El=[Fa,function(t,e,i){t|=0,e|=0;var n=0;return n=0|_[(i|=0)>>2],t=0|ds(0|_[e>>2]),n=0|ds(n),0|t&&_d[127&_[28+(0|_[t>>2])>>2]](t,i,e),n?(_d[127&_[28+(0|_[n>>2])>>2]](n,e,i),0):0},function(t,e,i){t|=0,e|=0,i|=0;do{if(!(32==(0|e)&32==(0|i))){if(32==(0|e)){if((0|i)<20){t=t+96|0;break}if((i+-21|0)>>>0<9){t=t+104|0;break}}else{if((0|e)<20&32==(0|i)){t=t+100|0;break}if((e+-21|0)>>>0<9&32==(0|i)){t=t+108|0;break}if(8==(0|e)&8==(0|i)){t=t+60|0;break}if(8==(0|e)&1==(0|i)){t=t+76|0;break}if(1==(0|e)&8==(0|i)){t=t+80|0;break}}if(!(i|e)){t=t+72|0;break}if((0|e)<20&28==(0|i)){t=t+88|0;break}if(28==(0|e)&(0|i)<20){t=t+84|0;break}if((0|e)<20){if((0|i)<20){t=t+32|0;break}if((i+-21|0)>>>0<9){t=t+36|0;break}}else{if((0|i)<20&(e+-21|0)>>>0<9){t=t+40|0;break}if(31==(0|e)){if(31==(0|i)){t=t+48|0;break}t=t+44|0;break}}if(31==(0|i)){t=t+52|0;break}t=t+56|0;break}t=t+92|0}while(0);return 0|_[t>>2]},function(t,e,i){var o=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0;if(Y(t|=0,e|=0,i|=0),W=0|_[t+872>>2],_[e+292>>2]=W,W){if(W=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,t+868|0),_[e+260>>2]=W,0|W){if(c=0|_[e+292>>2],d=0|El[63&_[16+(0|_[i>>2])>>2]](i,4,c),(0|c)>0)for(o=0|_[d+8>>2],s=0;;){if((a=0|_[(0|_[t+880>>2])+(s<<2)>>2])?(p=a,l=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,a)):(p=0,l=0),_[o>>2]=l,0|Ll[31&_[24+(0|_[i>>2])>>2]](i,p)||(W=0|El[63&_[16+(0|_[i>>2])>>2]](i,16,1),B=0|_[W+8>>2],_[B+12>>2]=_[a+16>>2],_[B+4>>2]=_[a+8>>2],_[B>>2]=_[a+4>>2],_[B+8>>2]=_[a+12>>2],dd[31&_[20+(0|_[i>>2])>>2]](i,W,13085,1414349395,p)),(0|(s=s+1|0))>=(0|c)){o=i;break}o=o+4|0}else o=i;dd[31&_[20+(0|_[o>>2])>>2]](i,d,13085,1497453121,t+868|0)}}else _[e+260>>2]=0;if(W=0|_[t+712>>2],_[e+296>>2]=W,W)if(W=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,t+708|0),_[e+264>>2]=W,W){if(B=0|_[e+296>>2],W=0|El[63&_[16+(0|_[i>>2])>>2]](i,100,B),(0|B)>0)for(D=0,I=0|_[W+8>>2],f=0,y=0,g=0,o=0,s=0,u=0,w=0,v=0,p=0,m=0,c=0,a=0,j=0,S=0;;){d=0|_[t+720>>2],_[I+52>>2]=_[d+(104*D|0)+56>>2],_[I+56>>2]=_[d+(104*D|0)+60>>2],_[I+60>>2]=_[d+(104*D|0)+64>>2],_[I+64>>2]=_[d+(104*D|0)+68>>2],_[I+88>>2]=_[d+(104*D|0)+92>>2],l=n[d+(104*D|0)+100|0]<<7&255,_[I+92>>2]=l<<24>>24>>7<<24>>24,_[I+84>>2]=_[d+(104*D|0)+88>>2],(l=0|_[d+(104*D|0)+4>>2])?(l=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),d=0|_[t+720>>2]):l=0,_[I>>2]=l,A=d+(104*D|0)|0,_[I+68>>2]=_[d+(104*D|0)+72>>2],_[I+72>>2]=_[d+(104*D|0)+76>>2],_[I+76>>2]=_[d+(104*D|0)+80>>2],_[I+80>>2]=_[d+(104*D|0)+84>>2],_[I+4>>2]=_[d+(104*D|0)+8>>2],_[I+8>>2]=_[d+(104*D|0)+12>>2],_[I+12>>2]=_[d+(104*D|0)+16>>2],_[I+16>>2]=_[d+(104*D|0)+20>>2],_[I+20>>2]=_[d+(104*D|0)+24>>2],_[I+24>>2]=_[d+(104*D|0)+28>>2],_[I+28>>2]=_[d+(104*D|0)+32>>2],_[I+32>>2]=_[d+(104*D|0)+36>>2],_[I+36>>2]=_[d+(104*D|0)+40>>2],_[I+40>>2]=_[d+(104*D|0)+44>>2],_[I+44>>2]=_[d+(104*D|0)+48>>2],_[I+48>>2]=_[d+(104*D|0)+52>>2],C=9*(A+~(A<<15)>>10^A+~(A<<15))|0,h=(C=(C^=C>>6)+~(C<<11)>>16^C+~(C<<11))&c+-1;t:do{if(h>>>0>>0&&(F=0|_[s+(h<<2)>>2],-1!=(0|F))){for(l=F;(0|_[o+(l<<3)>>2])!=(0|A);)if(-1==(0|(l=0|_[p+(l<<2)>>2]))){T=27;break t}_[a+(l<<2)>>2]=D,h=g,A=w,d=v,b=j,l=S}else T=27}while(0);if(27==(0|T)){T=0;do{if((0|m)==(0|c))if((0|c)<(0|(d=0|c?c<<1:1))){if(0|d&&(_[6630]=1+(0|_[6630]),0|(x=0|di(16+(d<<2|3)|0)))?(_[(x+4+15&-16)-4>>2]=x,b=x+4+15&-16):b=0,(0|c)<=0){if(!a){R=d,a=b,l=c;break}}else{l=0;do{_[b+(l<<2)>>2]=_[a+(l<<2)>>2],l=l+1|0}while((0|l)!=(0|c))}_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2]),R=d,a=b,l=c}else R=c,l=c;else R=c,l=m}while(0);_[a+(l<<2)>>2]=D,k=m+1|0;do{if((0|y)==(0|g))if((0|y)<(0|(d=0|y?y<<1:1))){if(0|d&&(_[6630]=1+(0|_[6630]),0|(O=0|di(16+(d<<3|3)|0)))?(_[(O+4+15&-16)-4>>2]=O,b=O+4+15&-16):b=0,(0|y)<=0){if(!o){g=d,o=b;break}}else{l=0;do{P=0|_[4+(M=o+(l<<3)|0)>>2],_[(g=b+(l<<3)|0)>>2]=_[M>>2],_[g+4>>2]=P,l=l+1|0}while((0|l)!=(0|y))}_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),g=d,o=b}else g=y}while(0);if(_[o+(y<<3)>>2]=A,y=y+1|0,(0|c)<(0|R)){if((0|u)<(0|R)){do{if((0|f)<(0|R)){do{if(R){if(_[6630]=1+(0|_[6630]),!(c=0|di(16+(R<<2|3)|0))){l=0;break}_[(c+4+15&-16)-4>>2]=c,l=c+4+15&-16}else l=0}while(0);if((0|u)<=0){if(!s){f=R,s=l,h=l;break}}else{c=0;do{_[l+(c<<2)>>2]=_[s+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|u))}_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),f=R,s=l,h=l}else h=S}while(0);if(wn(s+(u<<2)|0,0,(A=R<<2)-(u<<2)|0),(0|w)<(0|R)){do{if((0|v)<(0|R)){do{if(R){if(_[6630]=1+(0|_[6630]),!(c=0|di(16+(3|A)|0))){l=0;break}_[(c+4+15&-16)-4>>2]=c,l=c+4+15&-16}else l=0}while(0);if((0|w)<=0){if(!p){d=R,p=l,c=l;break}}else{c=0;do{_[l+(c<<2)>>2]=_[p+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|w))}_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2]),d=R,p=l,c=l}else d=v,c=j}while(0);wn(p+(w<<2)|0,0,A-(w<<2)|0),b=c}else d=v,b=j;if((0|R)>0&&(wn(0|h,-1,0|A),wn(0|b,-1,0|A)),(0|u)>0){l=R+-1|0,c=0;do{M=9*((M=0|_[o+(c<<3)>>2])+~(M<<15)>>10^M+~(M<<15))|0,M=s+((((M^=M>>6)+~(M<<11)>>16^M+~(M<<11))&l)<<2)|0,_[p+(c<<2)>>2]=_[M>>2],_[M>>2]=c,c=c+1|0}while((0|c)!=(0|u));l=R,A=R,c=h}else l=R,A=R,c=h}else l=u,A=w,d=v,b=j,c=S;h=C&R+-1,u=l,l=c}else A=w,d=v,b=j,l=S;h=s+(h<<2)|0,_[p+(m<<2)>>2]=_[h>>2],_[h>>2]=m,h=g,m=k,c=R}if((0|(D=D+1|0))>=(0|B))break;I=I+100|0,g=h,w=A,v=d,j=b,S=l}else o=0,s=0,p=0,c=0,a=0;dd[31&_[20+(0|_[i>>2])>>2]](i,W,13106,1145979475,t+708|0),S=o}else S=0,s=0,p=0,c=0,a=0;else _[e+264>>2]=0,S=0,s=0,p=0,c=0,a=0;if(M=0|_[t+732>>2],_[e+300>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+740>>2]),_[e+268>>2]=M,0|M){if(f=0|_[e+300>>2],u=0|El[63&_[16+(0|_[i>>2])>>2]](i,20,f),(0|f)>0)for(d=0|_[t+740>>2],b=0|_[u+8>>2],A=0,o=d;l=n[d+(52*A|0)+20|0]<<7&255,_[b+16>>2]=l<<24>>24>>7<<24>>24,(l=0|_[d+(52*A|0)+4>>2])?(l=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),o=d=0|_[t+740>>2]):l=0,_[b>>2]=l,l=(l=0|_[d+(52*A|0)+8>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+4>>2]=l,l=(l=0|_[d+(52*A|0)+12>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+8>>2]=l,_[b+12>>2]=_[d+(52*A|0)+16>>2],!((0|(A=A+1|0))>=(0|f));)b=b+20|0;else o=0|_[t+740>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,u,13123,1497453121,o)}}else _[e+268>>2]=0;if(M=0|_[t+752>>2],_[e+304>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+760>>2]),_[e+272>>2]=M,0|M){if(f=0|_[e+304>>2],u=0|El[63&_[16+(0|_[i>>2])>>2]](i,36,f),(0|f)>0)for(d=0|_[t+760>>2],b=0|_[u+8>>2],A=0,o=d;(l=0|_[d+(44*A|0)+4>>2])?(l=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),o=d=0|_[t+760>>2]):l=0,_[b+16>>2]=l,_[b>>2]=_[d+(44*A|0)+20>>2],_[b+4>>2]=_[d+(44*A|0)+24>>2],_[b+8>>2]=_[d+(44*A|0)+28>>2],_[b+12>>2]=_[d+(44*A|0)+32>>2],l=(l=0|_[d+(44*A|0)+8>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+20>>2]=l,l=(l=0|_[d+(44*A|0)+12>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+24>>2]=l,l=(l=0|_[d+(44*A|0)+16>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+28>>2]=l,_[b+32>>2]=_[d+(44*A|0)+36>>2],!((0|(A=A+1|0))>=(0|f));)b=b+36|0;else o=0|_[t+760>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,u,13140,1497453121,o)}}else _[e+272>>2]=0;if(M=0|_[t+772>>2],_[e+308>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+780>>2]),_[e+276>>2]=M,0|M){if(f=0|_[e+308>>2],u=0|El[63&_[16+(0|_[i>>2])>>2]](i,100,f),(0|f)>0)for(d=0|_[t+780>>2],b=0|_[u+8>>2],A=0,o=d;_[b>>2]=_[d+(104*A|0)+32>>2],_[b+4>>2]=_[d+(104*A|0)+36>>2],_[b+8>>2]=_[d+(104*A|0)+40>>2],_[b+12>>2]=_[d+(104*A|0)+44>>2],l=(l=0|_[d+8>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+68>>2]=l,_[b+16>>2]=_[d+(104*A|0)+48>>2],_[b+20>>2]=_[d+(104*A|0)+52>>2],_[b+24>>2]=_[d+(104*A|0)+56>>2],_[b+28>>2]=_[d+(104*A|0)+60>>2],l=(l=0|_[d+116>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+72>>2]=l,_[b+32>>2]=_[d+(104*A|0)+64>>2],_[b+36>>2]=_[d+(104*A|0)+68>>2],_[b+40>>2]=_[d+(104*A|0)+72>>2],_[b+44>>2]=_[d+(104*A|0)+76>>2],l=(l=0|_[d+224>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+76>>2]=l,_[b+48>>2]=_[d+(104*A|0)+80>>2],_[b+52>>2]=_[d+(104*A|0)+84>>2],_[b+56>>2]=_[d+(104*A|0)+88>>2],_[b+60>>2]=_[d+(104*A|0)+92>>2],l=(l=0|_[d+332>>2])?(l-(0|_[t+720>>2])|0)/104|0:-1,_[b+80>>2]=l,_[b+88>>2]=_[d+(104*A|0)+96>>2],_[b+92>>2]=_[d+(104*A|0)+100>>2],(l=0|_[d+(104*A|0)+4>>2])?(l=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),o=d=0|_[t+780>>2]):l=0,_[b+64>>2]=l,_[b+84>>2]=_[d+(104*A|0)+24>>2],!((0|(A=A+1|0))>=(0|f));)b=b+100|0;else o=0|_[t+780>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,u,13157,1497453121,o)}}else _[e+276>>2]=0;if(M=0|_[t+792>>2],_[e+312>>2]=M,M)if(M=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+800>>2]),_[e+280>>2]=M,M){if(A=0|_[e+312>>2],f=0|El[63&_[16+(0|_[i>>2])>>2]](i,92,A),(0|A)>0)for(d=0|_[f+8>>2],b=0;l=0|_[t+800>>2],_[d>>2]=_[l+(96*b|0)+28>>2],_[d+4>>2]=_[l+(96*b|0)+32>>2],_[d+8>>2]=_[l+(96*b|0)+36>>2],_[d+12>>2]=_[l+(96*b|0)+40>>2],_[d+16>>2]=_[l+(96*b|0)+44>>2],_[d+20>>2]=_[l+(96*b|0)+48>>2],_[d+24>>2]=_[l+(96*b|0)+52>>2],_[d+28>>2]=_[l+(96*b|0)+56>>2],_[d+32>>2]=_[l+(96*b|0)+60>>2],_[d+36>>2]=_[l+(96*b|0)+64>>2],_[d+40>>2]=_[l+(96*b|0)+68>>2],_[d+44>>2]=_[l+(96*b|0)+72>>2],_[d+48>>2]=_[l+(96*b|0)+76>>2],_[d+52>>2]=_[l+(96*b|0)+80>>2],_[d+56>>2]=_[l+(96*b|0)+84>>2],_[d+60>>2]=_[l+(96*b|0)+88>>2],_[d+88>>2]=_[l+(96*b|0)+92>>2],_[d+64>>2]=_[l+(96*b|0)+4>>2],_[d+68>>2]=_[l+(96*b|0)+8>>2],_[d+72>>2]=_[l+(96*b|0)+12>>2],_[d+76>>2]=_[l+(96*b|0)+16>>2],o=(o=0|_[l+(96*b|0)>>2])?(o-(0|_[t+720>>2])|0)/104|0:-1,_[d+84>>2]=o,o=(o=0|_[l+(96*b|0)+20>>2])?0|Ll[31&_[28+(0|_[i>>2])>>2]](i,o):0,_[d+80>>2]=o,!((0|(b=b+1|0))>=(0|A));)d=d+92|0;dd[31&_[20+(0|_[i>>2])>>2]](i,f,13175,1497453121,0|_[t+800>>2]),v=i}else v=i;else _[e+280>>2]=0,v=i;if(_[e+352>>2]=_[t+316>>2],_[e+328>>2]=_[t+292>>2],_[e+344>>2]=_[t+308>>2],_[e+324>>2]=_[t+288>>2],_[e+340>>2]=_[t+304>>2],_[e+336>>2]=_[t+300>>2],_[e+412>>2]=_[t+376>>2],_[e+416>>2]=_[t+380>>2],_[e+420>>2]=_[t+384>>2],_[e+408>>2]=_[t+372>>2],u=0|_[t+364>>2],_[e+332>>2]=_[t+296>>2],_[e+356>>2]=_[t+320>>2],_[e+424>>2]=_[t+388>>2],_[e+348>>2]=_[t+312>>2],_[e+360>>2]=_[t+324>>2],_[e+364>>2]=_[t+328>>2],_[e+368>>2]=_[t+332>>2],_[e+372>>2]=_[t+336>>2],_[e+404>>2]=_[t+368>>2],_[e+400>>2]=u,_[e+376>>2]=_[t+340>>2],_[e+380>>2]=_[t+344>>2],_[e+384>>2]=_[t+348>>2],_[e+388>>2]=_[t+352>>2],_[e+392>>2]=_[t+356>>2],_[e+396>>2]=_[t+360>>2],u=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,t+472|0),_[e+256>>2]=u,u=0|El[63&_[16+(0|_[i>>2])>>2]](i,192,1),f=0|_[u+8>>2],_[f+96>>2]=_[t+632>>2],_[f+100>>2]=_[t+636>>2],_[f+104>>2]=_[t+640>>2],_[f+108>>2]=_[t+644>>2],_[f+112>>2]=_[t+648>>2],_[f+116>>2]=_[t+652>>2],_[f+120>>2]=_[t+656>>2],_[f+124>>2]=_[t+660>>2],_[f+128>>2]=_[t+664>>2],_[f+132>>2]=_[t+668>>2],_[f+136>>2]=_[t+672>>2],_[f+140>>2]=_[t+676>>2],_[f+180>>2]=r[t+473|0],_[f+176>>2]=r[t+472|0],_[f+144>>2]=_[t+520>>2],_[f+148>>2]=_[t+524>>2],_[f+152>>2]=_[t+528>>2],_[f+156>>2]=_[t+532>>2],M=0|_[t+484>>2],_[f+168>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,0|_[t+492>>2]),b=0|_[f+168>>2],_[f+160>>2]=M,0|b){if(A=0|El[63&_[16+(0|_[i>>2])>>2]](i,16,b),(0|b)>0)for(o=0|_[t+492>>2],l=0|_[A+8>>2],d=0;_[l>>2]=_[o+(d<<4)>>2],_[l+4>>2]=_[o+(d<<4)+4>>2],_[l+8>>2]=_[o+(d<<4)+8>>2],_[l+12>>2]=_[o+(d<<4)+12>>2],(0|(d=d+1|0))!=(0|b);)l=l+16|0;else o=0|_[t+492>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,A,21709,1497453121,o)}}else _[f+160>>2]=0;if(_[f+184>>2]=_[t+476>>2],_[f>>2]=_[t+536>>2],_[f+4>>2]=_[t+540>>2],_[f+8>>2]=_[t+544>>2],_[f+12>>2]=_[t+548>>2],_[f+16>>2]=_[t+552>>2],_[f+20>>2]=_[t+556>>2],_[f+24>>2]=_[t+560>>2],_[f+28>>2]=_[t+564>>2],_[f+32>>2]=_[t+568>>2],_[f+36>>2]=_[t+572>>2],_[f+40>>2]=_[t+576>>2],_[f+44>>2]=_[t+580>>2],_[f+48>>2]=_[t+584>>2],_[f+52>>2]=_[t+588>>2],_[f+56>>2]=_[t+592>>2],_[f+60>>2]=_[t+596>>2],_[f+64>>2]=_[t+600>>2],_[f+68>>2]=_[t+604>>2],_[f+72>>2]=_[t+608>>2],_[f+76>>2]=_[t+612>>2],_[f+80>>2]=_[t+616>>2],_[f+84>>2]=_[t+620>>2],_[f+88>>2]=_[t+624>>2],_[f+92>>2]=_[t+628>>2],M=0|_[t+504>>2],_[f+172>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,0|_[t+512>>2]),b=0|_[f+172>>2],_[f+164>>2]=M,0|b){if(A=0|El[63&_[16+(0|_[i>>2])>>2]](i,4,b),(0|b)>0)for(o=0|_[t+512>>2],l=0,d=0|_[A+8>>2];_[d>>2]=_[o+(l<<2)>>2],(0|(l=l+1|0))!=(0|b);)d=d+4|0;else o=0|_[t+512>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,A,13195,1497453121,o)}}else _[f+164>>2]=0;if(dd[31&_[20+(0|_[i>>2])>>2]](i,u,13201,1497453121,t+472|0),M=0|_[t+1112>>2],_[e+316>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,0|_[_[t+1120>>2]>>2]),g=0|_[e+316>>2],_[e+284>>2]=M,0|g){if(C=0|El[63&_[16+(0|_[i>>2])>>2]](i,348,g),(0|g)>0)for(y=c+-1|0,m=0,h=0|_[C+8>>2];;){if(c=0|_[(0|_[t+1120>>2])+(m<<2)>>2],_[(M=h+320|0)>>2]=_[c+360>>2],_[h+256>>2]=_[c+332>>2],_[h+260>>2]=_[c+336>>2],_[h+264>>2]=_[c+340>>2],_[h+268>>2]=_[c+344>>2],_[h+344>>2]=_[c+380>>2],_[h+340>>2]=r[c+377|0],_[h+160>>2]=_[c+228>>2],_[h+164>>2]=_[c+232>>2],_[h+168>>2]=_[c+236>>2],_[h+172>>2]=_[c+240>>2],_[h+336>>2]=r[c+376|0],_[h+208>>2]=_[c+276>>2],_[h+212>>2]=_[c+280>>2],_[h+216>>2]=_[c+284>>2],_[h+220>>2]=_[c+288>>2],_[h+224>>2]=_[c+292>>2],_[h+228>>2]=_[c+296>>2],_[h+232>>2]=_[c+300>>2],_[h+236>>2]=_[c+304>>2],_[h>>2]=_[c+60>>2],_[h+4>>2]=_[c+64>>2],_[h+8>>2]=_[c+68>>2],_[h+12>>2]=_[c+72>>2],_[h+16>>2]=_[c+76>>2],_[h+20>>2]=_[c+80>>2],_[h+24>>2]=_[c+84>>2],_[h+28>>2]=_[c+88>>2],_[h+32>>2]=_[c+92>>2],_[h+36>>2]=_[c+96>>2],_[h+40>>2]=_[c+100>>2],_[h+44>>2]=_[c+104>>2],_[h+48>>2]=_[c+108>>2],_[h+52>>2]=_[c+112>>2],_[h+56>>2]=_[c+116>>2],_[h+60>>2]=_[c+120>>2],_[h+296>>2]=_[c+124>>2],_[h+300>>2]=_[c+128>>2],_[h+112>>2]=_[c+180>>2],_[h+116>>2]=_[c+184>>2],_[h+120>>2]=_[c+188>>2],_[h+124>>2]=_[c+192>>2],_[h+128>>2]=_[c+196>>2],_[h+132>>2]=_[c+200>>2],_[h+136>>2]=_[c+204>>2],_[h+140>>2]=_[c+208>>2],_[h+144>>2]=_[c+212>>2],_[h+148>>2]=_[c+216>>2],_[h+152>>2]=_[c+220>>2],_[h+156>>2]=_[c+224>>2],_[(o=h+316|0)>>2]=_[c+356>>2],_[h+64>>2]=_[c+132>>2],_[h+68>>2]=_[c+136>>2],_[h+72>>2]=_[c+140>>2],_[h+76>>2]=_[c+144>>2],_[h+80>>2]=_[c+148>>2],_[h+84>>2]=_[c+152>>2],_[h+88>>2]=_[c+156>>2],_[h+92>>2]=_[c+160>>2],_[h+96>>2]=_[c+164>>2],_[h+100>>2]=_[c+168>>2],_[h+104>>2]=_[c+172>>2],_[h+108>>2]=_[c+176>>2],_[h+240>>2]=_[c+316>>2],_[h+244>>2]=_[c+320>>2],_[h+248>>2]=_[c+324>>2],_[h+252>>2]=_[c+328>>2],_[h+324>>2]=_[c+364>>2],_[h+328>>2]=_[c+368>>2],_[h+312>>2]=_[c+352>>2],_[o>>2]=_[c+356>>2],_[M>>2]=_[c+360>>2],_[h+332>>2]=_[c+372>>2],M=0|_[c+44>>2],_[(o=h+284|0)>>2]=M,_[(f=h+292|0)>>2]=_[c+4>>2],_[(u=h+288|0)>>2]=_[c+24>>2],_[h+304>>2]=_[c+308>>2],_[h+176>>2]=_[c+244>>2],_[h+180>>2]=_[c+248>>2],_[h+184>>2]=_[c+252>>2],_[h+188>>2]=_[c+256>>2],_[h+192>>2]=_[c+260>>2],_[h+196>>2]=_[c+264>>2],_[h+200>>2]=_[c+268>>2],_[h+204>>2]=_[c+272>>2],_[h+308>>2]=_[c+312>>2],M){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,0|_[c+52>>2]),_[h+272>>2]=M,0|M){if(d=0|_[o>>2],A=0|El[63&_[16+(0|_[i>>2])>>2]](i,16,d),(0|d)>0)for(o=52+(0|_[(0|_[t+1120>>2])+(m<<2)>>2])|0,b=0|_[o>>2],c=0,l=0|_[A+8>>2];_[l>>2]=_[b+(c<<4)>>2],_[l+4>>2]=_[b+(c<<4)+4>>2],_[l+8>>2]=_[b+(c<<4)+8>>2],_[l+12>>2]=_[b+(c<<4)+12>>2],(0|(c=c+1|0))!=(0|d);)l=l+16|0;else o=52+(0|_[(0|_[t+1120>>2])+(m<<2)>>2])|0;dd[31&_[20+(0|_[i>>2])>>2]](i,A,21709,1497453121,0|_[o>>2])}}else _[h+272>>2]=0;if(0|_[f>>2]){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,0|_[12+(0|_[(0|_[t+1120>>2])+(m<<2)>>2])>>2]),_[h+280>>2]=M,0|M){if(d=0|_[f>>2],A=0|El[63&_[16+(0|_[i>>2])>>2]](i,4,d),(0|d)>0)for(o=12+(0|_[(0|_[t+1120>>2])+(m<<2)>>2])|0,b=0|_[o>>2],c=0,l=0|_[A+8>>2];_[l>>2]=_[b+(c<<2)>>2],(0|(c=c+1|0))!=(0|d);)l=l+4|0;else o=12+(0|_[(0|_[t+1120>>2])+(m<<2)>>2])|0;dd[31&_[20+(0|_[i>>2])>>2]](i,A,13195,1497453121,0|_[o>>2])}}else _[h+280>>2]=0;if(0|_[u>>2]){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,20+(0|_[(0|_[t+1120>>2])+(m<<2)>>2])|0),_[h+276>>2]=M,0|M){if(f=0|_[f>>2],u=0|El[63&_[16+(0|_[i>>2])>>2]](i,4,f),(0|f)>0)for(o=0|_[(0|_[t+1120>>2])+(m<<2)>>2],A=0|_[o+32>>2],d=0,b=0|_[u+8>>2];;){if(c=9*(~((l=0|_[A+(d<<2)>>2])<<15)+l>>10^~(l<<15)+l)|0,c=0|_[s+((((c^=c>>6)+~(c<<11)>>16^c+~(c<<11))&y)<<2)>>2],(0|_[S+(c<<3)>>2])!=(0|l))do{c=0|_[p+(c<<2)>>2]}while((0|_[S+(c<<3)>>2])!=(0|l));if(_[b>>2]=_[a+(c<<2)>>2],(0|(d=d+1|0))==(0|f))break;b=b+4|0}else o=0|_[(0|_[t+1120>>2])+(m<<2)>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,u,13238,1497453121,o+20|0)}}else _[h+276>>2]=0;if((0|(m=m+1|0))>=(0|g))break;h=h+348|0}dd[31&_[20+(0|_[i>>2])>>2]](i,C,13218,1497453121,0|_[_[t+1120>>2]>>2])}}else _[e+284>>2]=0;if(M=0|_[t+852>>2],_[e+320>>2]=M,M){if(M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,0|_[t+860>>2]),_[e+288>>2]=M,0|M){if(b=0|_[t+852>>2],A=0|El[63&_[16+(0|_[i>>2])>>2]](i,104,b),(0|b)>0)for(l=0,d=0|_[A+8>>2];o=0|_[(0|_[t+860>>2])+(l<<2)>>2],o=0|Gl[127&_[20+(0|_[o>>2])>>2]](o),_[d+96>>2]=o,o=(0|_[t+860>>2])+(l<<2)|0,M=0|_[o>>2],_[d+8>>2]=_[M+28>>2],_[d+12>>2]=_[M+32>>2],_[d+16>>2]=_[M+36>>2],_[d+20>>2]=_[M+40>>2],_[d+24>>2]=_[M+44>>2],_[d+28>>2]=_[M+48>>2],_[d+32>>2]=_[M+52>>2],_[d+36>>2]=_[M+56>>2],_[d+40>>2]=_[M+60>>2],_[d+44>>2]=_[M+64>>2],_[d+48>>2]=_[M+68>>2],_[d+52>>2]=r[M+152|0],M=d+56|0,_[d>>2]=0,_[(f=d+4|0)>>2]=0,_[M>>2]=0,_[M+4>>2]=0,_[M+8>>2]=0,_[M+12>>2]=0,_[M+16>>2]=0,_[M+20>>2]=0,_[M+24>>2]=0,_[M+28>>2]=0,0|(o=0|_[4+(0|_[o>>2])>>2])&&(_[d+88>>2]=1,M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,o),_[d>>2]=M),o=0|_[(0|_[t+860>>2])+(l<<2)>>2],(c=0|_[o+12>>2])&&(_[d+88>>2]=3,o=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,c),_[d>>2]=o,o=0|_[(0|_[t+860>>2])+(l<<2)>>2]),(c=0|_[o+8>>2])&&(_[d+88>>2]=2,o=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,c),_[d>>2]=o,o=0|_[(0|_[t+860>>2])+(l<<2)>>2]),(c=0|_[o+16>>2])&&(_[d+92>>2]=1,o=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,c),_[f>>2]=o,o=0|_[(0|_[t+860>>2])+(l<<2)>>2]),(c=0|_[o+24>>2])&&(_[d+92>>2]=3,o=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,c),_[f>>2]=o,o=0|_[(0|_[t+860>>2])+(l<<2)>>2]),0|(o=0|_[o+20>>2])&&(_[d+92>>2]=2,M=0|Ll[31&_[28+(0|_[v>>2])>>2]](i,o),_[f>>2]=M),!((0|(l=l+1|0))>=(0|b));)d=d+104|0;dd[31&_[20+(0|_[i>>2])>>2]](i,A,13242,1497453121,0|_[t+860>>2])}}else _[e+288>>2]=0;return 0|S&&(_[6631]=1+(0|_[6631]),Ni(0|_[S+-4>>2])),0|a&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),0|p&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),s?(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),13262):13262},function(t,e,i){var n,o;return t|=0,e|=0,n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],19630},function(t,e,i){var n,o;return t|=0,e|=0,n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],_[e+28>>2]=_[t+28>>2],_[e+32>>2]=_[t+32>>2],_[e+36>>2]=_[t+36>>2],_[e+40>>2]=_[t+40>>2],_[e+12>>2]=_[t+12>>2],_[e+16>>2]=_[t+16>>2],_[e+20>>2]=_[t+20>>2],_[e+24>>2]=_[t+24>>2],_[e+44>>2]=_[t+44>>2],13475},function(t,e,i){return Y(t|=0,e|=0,i|=0),_[e+256>>2]=_[t+264>>2],_[e+260>>2]=_[t+268>>2],_[e+264>>2]=_[t+272>>2],_[e+268>>2]=_[t+276>>2],_[e+272>>2]=_[t+280>>2],_[e+276>>2]=_[t+284>>2],_[e+280>>2]=_[t+288>>2],_[e+284>>2]=_[t+292>>2],_[e+288>>2]=_[t+296>>2],_[e+292>>2]=_[t+300>>2],_[e+296>>2]=_[t+304>>2],_[e+300>>2]=_[t+308>>2],_[e+304>>2]=_[t+312>>2],_[e+308>>2]=_[t+316>>2],_[e+312>>2]=_[t+320>>2],_[e+316>>2]=_[t+324>>2],_[e+320>>2]=_[t+328>>2],_[e+324>>2]=_[t+332>>2],_[e+328>>2]=_[t+336>>2],_[e+332>>2]=_[t+340>>2],_[e+448>>2]=_[t+344>>2],_[e+336>>2]=_[t+544>>2],_[e+340>>2]=_[t+548>>2],_[e+344>>2]=_[t+552>>2],_[e+348>>2]=_[t+556>>2],_[e+352>>2]=_[t+348>>2],_[e+356>>2]=_[t+352>>2],_[e+360>>2]=_[t+356>>2],_[e+364>>2]=_[t+360>>2],_[e+368>>2]=_[t+364>>2],_[e+372>>2]=_[t+368>>2],_[e+376>>2]=_[t+372>>2],_[e+380>>2]=_[t+376>>2],_[e+384>>2]=_[t+380>>2],_[e+388>>2]=_[t+384>>2],_[e+392>>2]=_[t+388>>2],_[e+396>>2]=_[t+392>>2],_[e+400>>2]=_[t+396>>2],_[e+404>>2]=_[t+400>>2],_[e+408>>2]=_[t+404>>2],_[e+412>>2]=_[t+408>>2],_[e+416>>2]=_[t+412>>2],_[e+420>>2]=_[t+416>>2],_[e+424>>2]=_[t+420>>2],_[e+428>>2]=_[t+424>>2],_[e+432>>2]=_[t+428>>2],_[e+436>>2]=_[t+432>>2],_[e+440>>2]=_[t+436>>2],_[e+444>>2]=_[t+440>>2],_[e+452>>2]=_[t+444>>2],_[e+456>>2]=_[t+448>>2],_[e+484>>2]=r[t+452|0],_[e+460>>2]=_[t+456>>2],_[e+464>>2]=_[t+460>>2],_[e+468>>2]=_[t+464>>2],_[e+472>>2]=_[t+468>>2],_[e+476>>2]=_[t+472>>2],_[e+480>>2]=_[t+476>>2],14251},ee,function(t,e,i){return ee(t|=0,e|=0,i|=0),_[e+52>>2]=_[t+48>>2],_[e+56>>2]=_[t+52>>2],_[e+60>>2]=_[t+56>>2],_[e+64>>2]=_[t+60>>2],_[e+68>>2]=_[t+64>>2],_[e+72>>2]=_[t+68>>2],_[e+76>>2]=_[t+72>>2],_[e+80>>2]=_[t+76>>2],_[e+84>>2]=_[t+80>>2],_[e+88>>2]=_[t+84>>2],_[e+92>>2]=_[t+88>>2],_[e+96>>2]=_[t+92>>2],_[e+100>>2]=_[t+96>>2],_[e+104>>2]=_[t+100>>2],_[e+108>>2]=_[t+104>>2],_[e+112>>2]=_[t+108>>2],_[e+116>>2]=_[t+112>>2],_[e+120>>2]=_[t+116>>2],_[e+124>>2]=_[t+120>>2],_[e+128>>2]=_[t+124>>2],_[e+132>>2]=_[t+128>>2],_[e+136>>2]=_[t+132>>2],_[e+140>>2]=_[t+136>>2],_[e+144>>2]=_[t+140>>2],_[e+148>>2]=_[t+144>>2],_[e+152>>2]=_[t+148>>2],_[e+156>>2]=_[t+152>>2],_[e+160>>2]=_[t+156>>2],_[e+164>>2]=_[t+160>>2],_[e+168>>2]=_[t+164>>2],_[e+172>>2]=_[t+168>>2],_[e+176>>2]=_[t+172>>2],_[e+228>>2]=_[t+868>>2],_[e+212>>2]=_[t+872>>2],_[e+196>>2]=_[t+680>>2],_[e+180>>2]=_[t+696>>2],_[e+232>>2]=_[t+932>>2],_[e+216>>2]=_[t+936>>2],_[e+200>>2]=_[t+684>>2],_[e+184>>2]=_[t+700>>2],_[e+236>>2]=_[t+996>>2],_[e+220>>2]=_[t+1e3>>2],_[e+204>>2]=_[t+688>>2],_[e+188>>2]=_[t+704>>2],_[e+244>>2]=r[t+1300|0],_[e+248>>2]=r[t+1301|0],14844},function(t,e,i){return ee(t|=0,e|=0,i|=0),_[e+52>>2]=_[t+48>>2],_[e+56>>2]=_[t+52>>2],_[e+60>>2]=_[t+56>>2],_[e+64>>2]=_[t+60>>2],_[e+68>>2]=_[t+64>>2],_[e+72>>2]=_[t+68>>2],_[e+76>>2]=_[t+72>>2],_[e+80>>2]=_[t+76>>2],_[e+84>>2]=_[t+80>>2],_[e+88>>2]=_[t+84>>2],_[e+92>>2]=_[t+88>>2],_[e+96>>2]=_[t+92>>2],_[e+100>>2]=_[t+96>>2],_[e+104>>2]=_[t+100>>2],_[e+108>>2]=_[t+104>>2],_[e+112>>2]=_[t+108>>2],_[e+116>>2]=_[t+112>>2],_[e+120>>2]=_[t+116>>2],_[e+124>>2]=_[t+120>>2],_[e+128>>2]=_[t+124>>2],_[e+132>>2]=_[t+128>>2],_[e+136>>2]=_[t+132>>2],_[e+140>>2]=_[t+136>>2],_[e+144>>2]=_[t+140>>2],_[e+148>>2]=_[t+144>>2],_[e+152>>2]=_[t+148>>2],_[e+156>>2]=_[t+152>>2],_[e+160>>2]=_[t+156>>2],_[e+164>>2]=_[t+160>>2],_[e+168>>2]=_[t+164>>2],_[e+172>>2]=_[t+168>>2],_[e+176>>2]=_[t+172>>2],_[e+228>>2]=_[t+868>>2],_[e+212>>2]=_[t+872>>2],_[e+196>>2]=_[t+680>>2],_[e+180>>2]=_[t+696>>2],_[e+232>>2]=_[t+932>>2],_[e+216>>2]=_[t+936>>2],_[e+200>>2]=_[t+684>>2],_[e+184>>2]=_[t+700>>2],_[e+236>>2]=_[t+996>>2],_[e+220>>2]=_[t+1e3>>2],_[e+204>>2]=_[t+688>>2],_[e+188>>2]=_[t+704>>2],_[e+244>>2]=r[t+1300|0],_[e+248>>2]=r[t+1301|0],_[e+276>>2]=_[t+1316>>2],_[e+324>>2]=_[t+1364>>2],_[e+252>>2]=r[t+1309|0],_[e+300>>2]=_[t+1340>>2],_[e+280>>2]=_[t+1320>>2],_[e+328>>2]=_[t+1368>>2],_[e+256>>2]=r[t+1310|0],_[e+304>>2]=_[t+1344>>2],_[e+284>>2]=_[t+1324>>2],_[e+332>>2]=_[t+1372>>2],_[e+260>>2]=r[t+1311|0],_[e+308>>2]=_[t+1348>>2],_[e+288>>2]=_[t+1328>>2],_[e+336>>2]=_[t+1376>>2],_[e+264>>2]=r[t+1312|0],_[e+312>>2]=_[t+1352>>2],_[e+292>>2]=_[t+1332>>2],_[e+340>>2]=_[t+1380>>2],_[e+268>>2]=r[t+1313|0],_[e+316>>2]=_[t+1356>>2],_[e+296>>2]=_[t+1336>>2],_[e+344>>2]=_[t+1384>>2],_[e+272>>2]=r[t+1314|0],_[e+320>>2]=_[t+1360>>2],14898},function(t,e,i){return ee(t|=0,e|=0,i|=0),_[e+52>>2]=_[t+300>>2],_[e+56>>2]=_[t+304>>2],_[e+60>>2]=_[t+308>>2],_[e+64>>2]=_[t+312>>2],_[e+68>>2]=_[t+316>>2],_[e+72>>2]=_[t+320>>2],_[e+76>>2]=_[t+324>>2],_[e+80>>2]=_[t+328>>2],14964},function(t,e,i){return ee(t|=0,e|=0,i|=0),_[e+52>>2]=_[t+52>>2],_[e+56>>2]=_[t+56>>2],_[e+60>>2]=_[t+60>>2],_[e+64>>2]=_[t+64>>2],_[e+68>>2]=_[t+68>>2],_[e+72>>2]=_[t+72>>2],_[e+76>>2]=_[t+76>>2],_[e+80>>2]=_[t+80>>2],_[e+84>>2]=_[t+84>>2],_[e+88>>2]=_[t+88>>2],_[e+92>>2]=_[t+92>>2],_[e+96>>2]=_[t+96>>2],_[e+100>>2]=_[t+100>>2],_[e+104>>2]=_[t+104>>2],_[e+108>>2]=_[t+108>>2],_[e+112>>2]=_[t+112>>2],_[e+116>>2]=_[t+116>>2],_[e+120>>2]=_[t+120>>2],_[e+124>>2]=_[t+124>>2],_[e+128>>2]=_[t+128>>2],_[e+132>>2]=_[t+132>>2],_[e+136>>2]=_[t+136>>2],_[e+140>>2]=_[t+140>>2],_[e+144>>2]=_[t+144>>2],_[e+148>>2]=_[t+148>>2],_[e+152>>2]=_[t+152>>2],_[e+156>>2]=_[t+156>>2],_[e+160>>2]=_[t+160>>2],_[e+164>>2]=_[t+164>>2],_[e+168>>2]=_[t+168>>2],_[e+172>>2]=_[t+172>>2],_[e+176>>2]=_[t+176>>2],_[e+180>>2]=_[t+188>>2],_[e+184>>2]=_[t+184>>2],_[e+188>>2]=_[t+196>>2],_[e+192>>2]=_[t+192>>2],_[e+196>>2]=r[t+180|0],_[e+200>>2]=r[t+49|0],15086},function(t,e,i){return ee(t|=0,e|=0,i|=0),_[e+52>>2]=_[t+300>>2],_[e+56>>2]=_[t+304>>2],_[e+60>>2]=_[t+308>>2],_[e+64>>2]=_[t+312>>2],_[e+68>>2]=_[t+316>>2],_[e+72>>2]=_[t+320>>2],_[e+76>>2]=_[t+324>>2],_[e+80>>2]=_[t+328>>2],_[e+84>>2]=_[t+332>>2],_[e+88>>2]=_[t+336>>2],_[e+92>>2]=_[t+340>>2],_[e+96>>2]=_[t+344>>2],_[e+100>>2]=_[t+348>>2],_[e+104>>2]=_[t+352>>2],_[e+108>>2]=_[t+356>>2],_[e+112>>2]=_[t+360>>2],_[e+116>>2]=_[t+364>>2],_[e+120>>2]=_[t+368>>2],_[e+124>>2]=_[t+372>>2],_[e+128>>2]=_[t+376>>2],_[e+132>>2]=_[t+380>>2],_[e+136>>2]=_[t+384>>2],_[e+140>>2]=_[t+388>>2],_[e+144>>2]=_[t+392>>2],_[e+148>>2]=_[t+396>>2],_[e+152>>2]=_[t+400>>2],_[e+156>>2]=_[t+404>>2],_[e+160>>2]=_[t+408>>2],_[e+164>>2]=_[t+412>>2],_[e+168>>2]=_[t+416>>2],_[e+172>>2]=_[t+420>>2],_[e+176>>2]=_[t+424>>2],_[e+180>>2]=_[t+444>>2],_[e+184>>2]=_[t+448>>2],_[e+188>>2]=_[t+452>>2],_[e+192>>2]=_[t+428>>2],_[e+196>>2]=_[t+432>>2],_[e+200>>2]=_[t+436>>2],_[e+204>>2]=_[t+440>>2],15130},function(t,e,i){var n,o=0,s=0,c=0;return ee(t|=0,e|=0,i|=0),_[e+52>>2]=_[t+552>>2],_[e+56>>2]=_[t+556>>2],_[e+60>>2]=_[t+560>>2],_[e+64>>2]=_[t+564>>2],_[e+68>>2]=_[t+568>>2],_[e+72>>2]=_[t+572>>2],_[e+76>>2]=_[t+576>>2],_[e+80>>2]=_[t+580>>2],_[e+84>>2]=_[t+584>>2],_[e+88>>2]=_[t+588>>2],_[e+92>>2]=_[t+592>>2],_[e+96>>2]=_[t+596>>2],_[e+100>>2]=_[t+600>>2],_[e+104>>2]=_[t+604>>2],_[e+108>>2]=_[t+608>>2],_[e+112>>2]=_[t+612>>2],_[e+116>>2]=_[t+616>>2],_[e+120>>2]=_[t+620>>2],_[e+124>>2]=_[t+624>>2],_[e+128>>2]=_[t+628>>2],_[e+132>>2]=_[t+632>>2],_[e+136>>2]=_[t+636>>2],_[e+140>>2]=_[t+640>>2],_[e+144>>2]=_[t+644>>2],_[e+148>>2]=_[t+648>>2],_[e+152>>2]=_[t+652>>2],_[e+156>>2]=_[t+656>>2],_[e+160>>2]=_[t+660>>2],_[e+164>>2]=_[t+664>>2],_[e+168>>2]=_[t+668>>2],_[e+172>>2]=_[t+672>>2],_[e+176>>2]=_[t+676>>2],_[e+184>>2]=r[t+736|0],_[e+188>>2]=r[t+737|0],_[e+196>>2]=_[t+684>>2],_[e+192>>2]=_[t+680>>2],_[e+180>>2]=r[t+740|0],o=((n=+p[t+688>>2])-(s=+p[t+692>>2]))%6.2831854820251465<-3.1415927410125732?(n-s)%6.2831854820251465+6.2831854820251465:(n-s)%6.2831854820251465>3.1415927410125732?(n-s)%6.2831854820251465-6.2831854820251465:(n-s)%6.2831854820251465,p[e+200>>2]=o,(n+s)%6.2831854820251465<-3.1415927410125732?(s=(n+s)%6.2831854820251465+6.2831854820251465,p[(i=e+204|0)>>2]=s,i=0|_[(i=t+696|0)>>2],_[(c=e+208|0)>>2]=i,c=0|_[(c=t+700|0)>>2],_[(i=e+212|0)>>2]=c,t=0|_[(t=t+704|0)>>2],_[(e=e+216|0)>>2]=t,15180):(n+s)%6.2831854820251465>3.1415927410125732?(s=(n+s)%6.2831854820251465-6.2831854820251465,p[(c=e+204|0)>>2]=s,c=0|_[(c=t+696|0)>>2],_[(i=e+208|0)>>2]=c,i=0|_[(i=t+700|0)>>2],_[(c=e+212|0)>>2]=i,t=0|_[(t=t+704|0)>>2],_[(c=e+216|0)>>2]=t,15180):(s=(n+s)%6.2831854820251465,p[(c=e+204|0)>>2]=s,c=0|_[(c=t+696|0)>>2],_[(i=e+208|0)>>2]=c,i=0|_[(i=t+700|0)>>2],_[(c=e+212|0)>>2]=i,t=0|_[(t=t+704|0)>>2],_[(c=e+216|0)>>2]=t,15180)},Y,function(t,e,i){t|=0,e|=0,i|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,b=0;if(_[6605]=1+(0|_[6605]),2&_[t+4>>2]?(l=0|_[e+192>>2],c=+Bl[1&_[20+(0|_[l>>2])>>2]](l,.019999999552965164),l=0|_[i+192>>2],a=c<(a=+Bl[1&_[20+(0|_[l>>2])>>2]](l,.019999999552965164))?c:a):a=.019999999552965164,c=(o=+p[e+184>>2])<(c=+p[i+184>>2])?o:c,r=0|_[t+68>>2],s=0|_[r+8>>2])b=0|_[r+12>>2],_[r+12>>2]=_[b>>2],_[r+8>>2]=s+-1,l=b,r=b;else{if(4&_[t+4>>2])return 0|(t=0);_[6630]=1+(0|_[6630]),(r=0|di(791))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,l=r}if(_[r>>2]=1025,_[l+116>>2]=0,n[l+120|0]=0,_[(r=l+124|0)>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+16>>2]=0,_[r+20>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,_[l+300>>2]=0,n[l+304|0]=0,_[(r=l+308|0)>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+16>>2]=0,_[r+20>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,_[l+484>>2]=0,n[l+488|0]=0,_[(r=l+492|0)>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+16>>2]=0,_[r+20>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,_[l+668>>2]=0,n[l+672|0]=0,_[(r=l+676|0)>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+16>>2]=0,_[r+20>>2]=0,_[r+24>>2]=0,_[r+28>>2]=0,_[l+740>>2]=e,_[l+744>>2]=i,_[l+748>>2]=0,p[l+752>>2]=a,p[l+756>>2]=c,i=l,r=0|_[t+12>>2],_[l+768>>2]=r,(0|r)==(0|_[t+16>>2])&&(0|r)<(0|(d=0|r?r<<1:1))){if(d?(_[6630]=1+(0|_[6630]),(r=0|di(16+(d<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,e=r,r=0|_[t+12>>2]):e=0,(0|r)>0){s=0;do{_[e+(s<<2)>>2]=_[(0|_[t+20>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r))}(s=0|_[t+20>>2])&&(0|n[t+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),r=0|_[t+12>>2]),_[t+20>>2]=0),n[t+24|0]=1,_[t+20>>2]=e,_[t+16>>2]=d}return _[(0|_[t+20>>2])+(r<<2)>>2]=i,_[t+12>>2]=r+1,0|(b=l)},function(t,e,i){t|=0,e|=0,i|=0;t:do{switch(0|_[e+216>>2]){case 2:case 5:switch(0|_[i+216>>2]){case 2:case 5:t=0;break;default:break t}return 0|t}}while(0);return 0|_[e+256>>2]&&!(0|Ll[31&_[_[e>>2]>>2]](e,i))?0|(i=0):0|(i=1)},function(t,e,i){return t|=0,i|=0,4&(e=0|_[204+(e|=0)>>2])||4&(t=0|_[i+204>>2])?0:!(3&e)|!(3&t)},function(t,e,i){t|=0,e|=0,i|=0;do{if(!(8==(0|e)&8==(0|i))){if(8==(0|e)&1==(0|i)){t=t+76|0;break}if(1==(0|e)&8==(0|i)){t=t+80|0;break}if(!(i|e)){t=t+72|0;break}if((0|e)<20&28==(0|i)){t=t+88|0;break}if(28==(0|e)&(0|i)<20){t=t+84|0;break}if((0|e)<20){if((0|i)<20){t=t+32|0;break}if((i+-21|0)>>>0<9){t=t+36|0;break}}else{if((0|i)<20&(e+-21|0)>>>0<9){t=t+40|0;break}if(31==(0|e)){if(31==(0|i)){t=t+48|0;break}t=t+44|0;break}}if(31==(0|i)){t=t+52|0;break}t=t+56|0;break}t=t+60|0}while(0);return 0|_[t>>2]},function(t,e,i){t|=0,e|=0;var n=0,o=0,r=0,s=0,p=0;if(n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),r=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=r,0|r&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],_[e+20>>2]=_[t+72>>2],n=0|_[t+16>>2],_[e+16>>2]=n,_[e+12>>2]=0,!n)return 18787;if(r=0|El[63&_[16+(0|_[i>>2])>>2]](i,76,n),n=0|_[r+8>>2],o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e+12>>2]=o,(0|_[e+16>>2])>0)for(o=0;;){if(s=0|_[t+24>>2],_[n+72>>2]=_[s+(80*o|0)+72>>2],s=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[s+(80*o|0)+64>>2]),_[n+64>>2]=s,0|Ll[31&_[24+(0|_[i>>2])>>2]](i,0|_[(0|_[t+24>>2])+(80*o|0)+64>>2])||(s=0|_[16+(0|_[i>>2])>>2],p=0|_[(0|_[t+24>>2])+(80*o|0)+64>>2],p=0|Gl[127&_[52+(0|_[p>>2])>>2]](p),p=0|El[63&s](i,p,1),s=0|_[(0|_[t+24>>2])+(80*o|0)+64>>2],s=0|El[63&_[56+(0|_[s>>2])>>2]](s,0|_[p+8>>2],i),dd[31&_[20+(0|_[i>>2])>>2]](i,p,s,1346455635,0|_[(0|_[t+24>>2])+(80*o|0)+64>>2])),p=0|_[t+24>>2],_[n+68>>2]=_[p+(80*o|0)+68>>2],_[n>>2]=_[p+(80*o|0)>>2],_[n+4>>2]=_[p+(80*o|0)+4>>2],_[n+8>>2]=_[p+(80*o|0)+8>>2],_[n+12>>2]=_[p+(80*o|0)+12>>2],_[n+16>>2]=_[p+(80*o|0)+16>>2],_[n+20>>2]=_[p+(80*o|0)+20>>2],_[n+24>>2]=_[p+(80*o|0)+24>>2],_[n+28>>2]=_[p+(80*o|0)+28>>2],_[n+32>>2]=_[p+(80*o|0)+32>>2],_[n+36>>2]=_[p+(80*o|0)+36>>2],_[n+40>>2]=_[p+(80*o|0)+40>>2],_[n+44>>2]=_[p+(80*o|0)+44>>2],_[n+48>>2]=_[p+(80*o|0)+48>>2],_[n+52>>2]=_[p+(80*o|0)+52>>2],_[n+56>>2]=_[p+(80*o|0)+56>>2],_[n+60>>2]=_[p+(80*o|0)+60>>2],(0|(o=o+1|0))>=(0|_[e+16>>2])){n=i;break}n=n+76|0}else n=i;return dd[31&_[20+(0|_[n>>2])>>2]](i,r,18762,1497453121,0|_[r+8>>2]),18787},function(t,e,i){var n,o;return t|=0,e|=0,n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],_[e+28>>2]=_[t+28>>2],_[e+32>>2]=_[t+32>>2],_[e+36>>2]=_[t+36>>2],_[e+40>>2]=_[t+40>>2],_[e+12>>2]=_[t+12>>2],_[e+16>>2]=_[t+16>>2],_[e+20>>2]=_[t+20>>2],_[e+24>>2]=_[t+24>>2],_[e+44>>2]=_[t+44>>2],_[e+52>>2]=_[t+68>>2],18834},function(t,e,i){t|=0,e|=0;var n=0,o=0,r=0;n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),r=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=r,0|r&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],r=0|_[t+48>>2],El[63&_[56+(0|_[r>>2])>>2]](r,e+12|0,i),_[e+52>>2]=_[t+12>>2];do{if(0|_[t+52>>2]&&!(1&Gl[127&_[52+(0|_[i>>2])>>2]](i))){if(n=0|Ll[31&_[24+(0|_[i>>2])>>2]](i,0|_[t+52>>2])){_[e+40>>2]=n,_[e+44>>2]=0;break}n=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+52>>2]),_[e+40>>2]=n,_[e+44>>2]=0,n=0|_[t+52>>2],n=0|Gl[127&_[12+(0|_[n>>2])>>2]](n),n=0|El[63&_[16+(0|_[i>>2])>>2]](i,n,1),r=0|_[t+52>>2],r=0|El[63&_[16+(0|_[r>>2])>>2]](r,0|_[n+8>>2],i),dd[31&_[20+(0|_[i>>2])>>2]](i,n,r,1213612625,0|_[t+52>>2]);break}o=8}while(0);return 8==(0|o)&&(_[e+40>>2]=0,_[e+44>>2]=0),0|_[t+56>>2]&&!(2&Gl[127&_[52+(0|_[i>>2])>>2]](i))?(n=0|Ll[31&_[24+(0|_[i>>2])>>2]](i,0|_[t+56>>2]))?(_[e+48>>2]=n,19068):(r=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+56>>2]),_[e+48>>2]=r,e=0|_[t+56>>2],e=0|Gl[127&_[8+(0|_[e>>2])>>2]](e),e=0|El[63&_[16+(0|_[i>>2])>>2]](i,e,1),r=0|_[t+56>>2],r=0|El[63&_[12+(0|_[r>>2])>>2]](r,0|_[e+8>>2],i),dd[31&_[20+(0|_[i>>2])>>2]](i,e,r,1346456916,0|_[t+56>>2]),19068):(_[e+48>>2]=0,19068)},function(t,e,i){var n,o;return t|=0,e|=0,n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],_[e+12>>2]=_[t+68>>2],_[e+16>>2]=_[t+72>>2],_[e+20>>2]=_[t+76>>2],_[e+24>>2]=_[t+80>>2],_[e+28>>2]=_[t+48>>2],_[e+32>>2]=_[t+52>>2],_[e+36>>2]=_[t+56>>2],_[e+40>>2]=_[t+60>>2],_[e+44>>2]=_[t+64>>2],19511},function(t,e,i){t|=0,e|=0;var n,o=0,r=0;if(o=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),r=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,o),_[e>>2]=r,0|r&&ed[127&_[48+(0|_[i>>2])>>2]](i,o),_[e+4>>2]=_[t+4>>2],_[e+28>>2]=_[t+28>>2],_[e+32>>2]=_[t+32>>2],_[e+36>>2]=_[t+36>>2],_[e+40>>2]=_[t+40>>2],_[e+12>>2]=_[t+12>>2],_[e+16>>2]=_[t+16>>2],_[e+20>>2]=_[t+20>>2],_[e+24>>2]=_[t+24>>2],_[e+44>>2]=_[t+44>>2],n=0|_[t+96>>2],_[e+60>>2]=n,!n)return _[e+52>>2]=0,_[e+56>>2]=0,19710;if(r=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+104>>2]),_[e+52>>2]=r,_[e+56>>2]=0,r=0|El[63&_[16+(0|_[i>>2])>>2]](i,16,n),(0|n)>0)for(o=0|_[t+104>>2],e=0|_[r+8>>2],t=0;_[e>>2]=_[o+(t<<4)>>2],_[e+4>>2]=_[o+(t<<4)+4>>2],_[e+8>>2]=_[o+(t<<4)+8>>2],_[e+12>>2]=_[o+(t<<4)+12>>2],(0|(t=t+1|0))!=(0|n);)e=e+16|0;else o=0|_[t+104>>2];return dd[31&_[20+(0|_[i>>2])>>2]](i,r,21709,1497453121,o),19710},function(t,e,i){var n,o;return t|=0,e|=0,n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],_[e+28>>2]=_[t+28>>2],_[e+32>>2]=_[t+32>>2],_[e+36>>2]=_[t+36>>2],_[e+40>>2]=_[t+40>>2],_[e+12>>2]=_[t+12>>2],_[e+16>>2]=_[t+16>>2],_[e+20>>2]=_[t+20>>2],_[e+24>>2]=_[t+24>>2],_[e+44>>2]=_[t+44>>2],_[e+52>>2]=_[t+52>>2],19814},function(t,e,i){t|=0,i|=0;var n=0,s=0,p=0,c=0,a=0;if(_[16+(e|=0)>>2]=_[t+20>>2],_[e+20>>2]=_[t+24>>2],_[e+24>>2]=_[t+28>>2],_[e+28>>2]=_[t+32>>2],_[e>>2]=_[t+4>>2],_[e+4>>2]=_[t+8>>2],_[e+8>>2]=_[t+12>>2],_[e+12>>2]=_[t+16>>2],_[e+32>>2]=_[t+36>>2],_[e+36>>2]=_[t+40>>2],_[e+40>>2]=_[t+44>>2],_[e+44>>2]=_[t+48>>2],_[e+48>>2]=_[t+56>>2],_[e+52>>2]=r[t+60|0],a=0|_[t+88>>2],_[e+56>>2]=a,a){if(a=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+96>>2]),_[e+64>>2]=a,0|a){if(c=0|_[t+88>>2],a=0|El[63&_[16+(0|_[i>>2])>>2]](i,48,c),(0|c)>0)for(n=0|_[t+96>>2],s=0|_[a+8>>2],p=0;_[s+16>>2]=_[n+(p<<6)+16>>2],_[s+20>>2]=_[n+(p<<6)+20>>2],_[s+24>>2]=_[n+(p<<6)+24>>2],_[s+28>>2]=_[n+(p<<6)+28>>2],_[s>>2]=_[n+(p<<6)>>2],_[s+4>>2]=_[n+(p<<6)+4>>2],_[s+8>>2]=_[n+(p<<6)+8>>2],_[s+12>>2]=_[n+(p<<6)+12>>2],_[s+32>>2]=_[n+(p<<6)+32>>2],_[s+36>>2]=_[n+(p<<6)+36>>2],_[s+40>>2]=_[n+(p<<6)+40>>2],(0|(p=p+1|0))!=(0|c);)s=s+48|0;else n=0|_[t+96>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,a,20871,1497453121,n)}}else _[e+64>>2]=0;if(a=0|_[t+128>>2],_[e+60>>2]=a,a){if(a=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+136>>2]),_[e+68>>2]=a,0|a){if(c=0|_[t+128>>2],a=0|El[63&_[16+(0|_[i>>2])>>2]](i,16,c),(0|c)>0)for(n=0|_[t+136>>2],s=0|_[a+8>>2],p=0;_[s+12>>2]=_[n+(p<<4)+12>>2],o[s+6>>1]=0|o[n+(p<<4)+6>>1],o[s+8>>1]=0|o[n+(p<<4)+8>>1],o[s+10>>1]=0|o[n+(p<<4)+10>>1],o[s>>1]=0|o[n+(p<<4)>>1],o[s+2>>1]=0|o[n+(p<<4)+2>>1],o[s+4>>1]=0|o[n+(p<<4)+4>>1],(0|(p=p+1|0))!=(0|c);)s=s+16|0;else n=0|_[t+136>>2];dd[31&_[20+(0|_[i>>2])>>2]](i,a,20894,1497453121,n)}}else _[e+68>>2]=0;if(_[e+76>>2]=_[t+144>>2],a=0|_[t+152>>2],_[e+80>>2]=a,!a)return _[e+72>>2]=0,20938;if(a=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,0|_[t+160>>2]),_[e+72>>2]=a,!a)return 20938;if(c=0|_[t+152>>2],a=0|El[63&_[16+(0|_[i>>2])>>2]](i,20,c),(0|c)>0)for(n=0|_[t+160>>2],s=0|_[a+8>>2],p=0;o[s+14>>1]=0|o[n+(p<<5)+6>>1],o[s+16>>1]=0|o[n+(p<<5)+8>>1],o[s+18>>1]=0|o[n+(p<<5)+10>>1],o[s+8>>1]=0|o[n+(p<<5)>>1],o[s+10>>1]=0|o[n+(p<<5)+2>>1],o[s+12>>1]=0|o[n+(p<<5)+4>>1],_[s>>2]=_[n+(p<<5)+12>>2],_[s+4>>2]=_[n+(p<<5)+16>>2],(0|(p=p+1|0))!=(0|c);)s=s+20|0;else n=0|_[t+160>>2];return dd[31&_[20+(0|_[i>>2])>>2]](i,a,20917,1497453121,n),20938},function(t,e,i){var n,o;return t|=0,e|=0,n=0|Ll[31&_[40+(0|_[(i|=0)>>2])>>2]](i,t),o=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,n),_[e>>2]=o,0|o&&ed[127&_[48+(0|_[i>>2])>>2]](i,n),_[e+4>>2]=_[t+4>>2],_[e+28>>2]=_[t+28>>2],_[e+32>>2]=_[t+32>>2],_[e+36>>2]=_[t+36>>2],_[e+40>>2]=_[t+40>>2],_[e+12>>2]=_[t+12>>2],_[e+16>>2]=_[t+16>>2],_[e+20>>2]=_[t+20>>2],_[e+24>>2]=_[t+24>>2],_[e+44>>2]=_[t+44>>2],_[e+52>>2]=_[t+52>>2],20270},function(t,e,i){e|=0,i|=0;var r,s=0,p=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0;if(r=Q,Q=Q+32|0,s=0|Gl[127&_[28+(0|_[(t|=0)>>2])>>2]](t),_[e+20>>2]=s,_[e>>2]=0,!s)return i=e+4|0,h=0|_[(h=t+4|0)>>2],_[i>>2]=h,i=0|_[(i=t+8|0)>>2],_[(h=e+8|0)>>2]=i,h=0|_[(h=t+12|0)>>2],_[(i=e+12|0)>>2]=h,t=0|_[(t=t+16|0)>>2],_[(i=e+16|0)>>2]=t,Q=r,21763;h=0|El[63&_[16+(0|_[i>>2])>>2]](i,32,s),s=0|_[h+8>>2],m=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,s),_[e>>2]=m,m=0|Gl[127&_[28+(0|_[t>>2])>>2]](t);t:do{if((0|m)>0)for(u=0;;){switch(hd[3&_[16+(0|_[t>>2])>>2]](t,r+28|0,r+4|0,r+16|0,r+8|0,r+24|0,r+20|0,r,r+12|0,u),p=0|_[r>>2],_[s+24>>2]=p,_[s+28>>2]=_[r+4>>2],a=s+12|0,d=s+16|0,f=s+4|0,_[s>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[s+16>>2]=0,_[s+20>>2]=0,0|_[r+12>>2]){case 2:if(0|p){if(a=0|El[63&_[16+(0|_[i>>2])>>2]](i,4,3*p|0),l=0|_[a+8>>2],A=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),_[s+8>>2]=A,(0|_[r>>2])>0){d=0|_[r+24>>2],p=0;do{b=d+(0|g(0|_[r+20>>2],p))|0,_[l+((A=3*p|0)<<2)>>2]=_[b>>2],_[l+(A+1<<2)>>2]=_[b+4>>2],_[l+(A+2<<2)>>2]=_[b+8>>2],p=p+1|0}while((0|p)<(0|_[r>>2]))}dd[31&_[20+(0|_[i>>2])>>2]](i,a,21644,1497453121,0|_[a+8>>2])}break;case 3:if(0|p){if(b=0|El[63&_[16+(0|_[i>>2])>>2]](i,8,p),A=0|_[b+8>>2],d=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,A),_[a>>2]=d,(0|(a=0|_[r>>2]))>0){l=0|_[r+24>>2],d=0|_[r+20>>2],p=0;do{y=l+(0|g(d,p))|0,o[A+(p<<3)>>1]=0|o[y>>1],o[A+(p<<3)+2>>1]=0|o[y+2>>1],o[A+(p<<3)+4>>1]=0|o[y+4>>1],p=p+1|0}while((0|p)!=(0|a))}dd[31&_[20+(0|_[i>>2])>>2]](i,b,21659,1497453121,0|_[b+8>>2])}break;case 5:if(0|p){if(a=0|El[63&_[16+(0|_[i>>2])>>2]](i,4,p),l=0|_[a+8>>2],y=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),_[d>>2]=y,(0|_[r>>2])>0){p=0;do{y=(0|_[r+24>>2])+(0|g(0|_[r+20>>2],p))|0,n[l+(p<<2)|0]=0|n[0|y],n[l+(p<<2)+1|0]=0|n[y+1|0],n[l+(p<<2)+2|0]=0|n[y+2|0],p=p+1|0}while((0|p)<(0|_[r>>2]))}dd[31&_[20+(0|_[i>>2])>>2]](i,a,21686,1497453121,0|_[a+8>>2])}}switch(0|_[r+16>>2]){case 0:if(0|(p=0|_[r+4>>2])){if(a=0|El[63&_[16+(0|_[i>>2])>>2]](i,16,p),l=0|_[a+8>>2],d=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,l),_[s>>2]=d,(0|(d=0|_[r+4>>2]))>0){b=0|_[r+28>>2],A=0|_[r+8>>2],p=0;do{y=b+(0|g(A,p))|0,_[l+(p<<4)>>2]=_[y>>2],_[l+(p<<4)+4>>2]=_[y+4>>2],_[l+(p<<4)+8>>2]=_[y+8>>2],p=p+1|0}while((0|p)!=(0|d))}dd[31&_[20+(0|_[i>>2])>>2]](i,a,21709,1497453121,0|_[a+8>>2])}break;case 1:if(0|(p=0|_[r+4>>2])){if(b=0|El[63&_[16+(0|_[i>>2])>>2]](i,32,p),A=0|_[b+8>>2],a=0|Ll[31&_[28+(0|_[i>>2])>>2]](i,A),_[f>>2]=a,(0|(a=0|_[r+4>>2]))>0){l=0|_[r+28>>2],d=0|_[r+8>>2],p=0;do{y=l+(0|g(d,p))|0,c[A+(p<<5)>>3]=+c[y>>3],c[A+(p<<5)+8>>3]=+c[y+8>>3],c[A+(p<<5)+16>>3]=+c[y+16>>3],p=p+1|0}while((0|p)!=(0|a))}dd[31&_[20+(0|_[i>>2])>>2]](i,b,21728,1497453121,0|_[b+8>>2])}}if(ed[127&_[24+(0|_[t>>2])>>2]](t,u),(0|(u=u+1|0))==(0|m)){s=i;break t}s=s+32|0}else s=i}while(0);return dd[31&_[20+(0|_[s>>2])>>2]](i,h,21748,1497453121,0|_[h+8>>2]),i=e+4|0,y=0|_[(y=t+4|0)>>2],_[i>>2]=y,i=0|_[(i=t+8|0)>>2],_[(y=e+8|0)>>2]=i,y=0|_[(y=t+12|0)>>2],_[(i=e+12|0)>>2]=y,i=0|_[(i=t+16|0)>>2],_[(y=e+16|0)>>2]=i,Q=r,21763},Sp,Sp,function(t,e,i){t|=0,e|=0,i|=0;var r,s,p=0,c=0,a=0,l=0,d=0,b=0;if(_[6608]=1+(0|_[6608]),p=0|_[t+24>>2]){if(!(0|El[63&_[8+(0|_[p>>2])>>2]](p,e,i)))return 0|(t=0)}else{if(!((o[i+6>>1]&o[e+4>>1])<<16>>16))return 0|(t=0);if(!((o[e+6>>1]&o[i+4>>1])<<16>>16))return 0|(t=0)}d=(0|_[e+12>>2])>(0|_[i+12>>2]),a=0|_[(s=d?i:e)+12>>2],l=9*((l=((i=0|_[(d=d?e:i)+12>>2])<<16|a)+~((i<<16|a)<<15)|0)>>10^l)|0,l=(l^=l>>6)+~(l<<11)>>16^l+~(l<<11),r=0|_[t+12>>2],p=0|_[(0|_[t+44>>2])+((l&r+-1)<<2)>>2];t:do{if(-1!=(0|p)){for(c=0|_[t+16>>2],e=p;(0|_[12+(0|_[(p=c+(e<<4)|0)>>2])>>2])!=(0|a)||(0|_[12+(0|_[c+(e<<4)+4>>2])>>2])!=(0|i);)if(-1==(0|(e=0|_[(0|_[t+64>>2])+(e<<2)>>2])))break t;return 0|p}}while(0);if((0|(a=0|_[t+8>>2]))==(0|r))if((0|r)<(0|(c=0|r?r<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(p=0|di(16+(c<<4|3)|0))?(_[(p+4+15&-16)-4>>2]=p,p=p+4+15&-16):p=0,i=0|_[t+8>>2]):(p=0,i=r),(0|i)>0){e=0;do{b=0|_[t+16>>2],_[p+(e<<4)>>2]=_[b+(e<<4)>>2],_[p+(e<<4)+4>>2]=_[b+(e<<4)+4>>2],_[p+(e<<4)+8>>2]=_[b+(e<<4)+8>>2],_[p+(e<<4)+12>>2]=_[b+(e<<4)+12>>2],e=e+1|0}while((0|e)!=(0|i))}0|(e=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=p,_[t+12>>2]=c,e=0|_[t+8>>2],p=c}else e=r,p=r;else e=a,p=r;return _[t+8>>2]=e+1,i=0|_[t+16>>2],(e=0|_[t+72>>2])&&(El[63&_[8+(0|_[e>>2])>>2]](e,s,d),p=0|_[t+12>>2]),(0|r)<(0|p)?(tt(t),p=(0|_[t+12>>2])-1&l):p=l&r+-1,b=(0|_[s+12>>2])<(0|_[d+12>>2]),_[i+(a<<4)>>2]=b?s:d,_[i+(a<<4)+4>>2]=b?d:s,_[i+(a<<4)+8>>2]=0,_[i+(a<<4)+8+4>>2]=0,b=(0|_[t+44>>2])+(p<<2)|0,_[(0|_[t+64>>2])+(a<<2)>>2]=_[b>>2],_[b>>2]=a,0|(b=i+(a<<4)|0)},function(t,e,i){t|=0,e|=0,i|=0;var n,o=0,r=0;if(_[6609]=1+(0|_[6609]),o=(0|_[e+12>>2])>(0|_[i+12>>2]),r=0|_[(o?i:e)+12>>2],e=9*((e=((o=0|_[(o?e:i)+12>>2])<<16|r)+~((o<<16|r)<<15)|0)>>10^e)|0,(0|(e=((e^=e>>6)+~(e<<11)>>16^e+~(e<<11))&(0|_[t+12>>2])-1))>=(0|_[t+36>>2]))return 0|(r=0);if(-1==(0|(e=0|_[(0|_[t+44>>2])+(e<<2)>>2])))return 0|(r=0);for(n=0|_[t+16>>2],i=e;;){if((0|_[12+(0|_[(e=n+(i<<4)|0)>>2])>>2])==(0|r)&&(0|_[12+(0|_[n+(i<<4)+4>>2])>>2])==(0|o)){i=7;break}if(-1==(0|(i=0|_[(0|_[t+64>>2])+(i<<2)>>2]))){e=0,i=7;break}}return 7==(0|i)?0|e:0},function(t,e,i){t|=0,e|=0,i|=0;var n,o,r,s,p,c=0,a=0,l=0,d=0,b=0;if(_[6616]=1+(0|_[6616]),l=9*((l=(i<<16|e)+~((i<<16|e)<<15)|0)>>10^l)|0,l^=l>>6,l=(s=0|_[t+40>>2])+(((0|_[t+12>>2])-1&(l+~(l<<11)>>16^l+~(l<<11)))<<2)|0,-1==(0|(a=0|_[l>>2])))return 0|(b=0);for(p=0|_[t+16>>2],c=a;(0|_[(d=p+(12*c|0)|0)>>2])!=(0|e)||(0|_[p+(12*c|0)+4>>2])!=(0|i);)if(-1==(0|(c=0|_[(0|_[t+60>>2])+(c<<2)>>2]))){c=0,b=23;break}if(23==(0|b))return 0|c;if(!d)return 0|(b=0);if(r=0|_[p+(12*c|0)+8>>2],o=(12*c|0)/12|0,n=0|_[t+60>>2],(0|a)!=(0|o)){for(e=a;(0|(c=0|_[(i=n+(e<<2)|0)>>2]))!=(0|o);)e=c;c=0|_[n+(o<<2)>>2],-1==(0|e)?b=12:_[i>>2]=c}else c=0|_[n+(a<<2)>>2],b=12;if(12==(0|b)&&(_[l>>2]=c),(0|(a=(0|_[t+8>>2])-1|0))==(0|o))return _[t+8>>2]=o,0|(b=r);if(l=9*((l=_[p+(12*a|0)+4>>2]<<16|_[p+(12*a|0)>>2])+~(l<<15)>>10^l+~(l<<15))|0,l=((l^=l>>6)+~(l<<11)>>16^l+~(l<<11))&(0|_[t+12>>2])-1,(0|(c=0|_[s+(l<<2)>>2]))!=(0|a)){for(e=c;(0|(c=0|_[(i=n+(e<<2)|0)>>2]))!=(0|a);)e=c;c=0|_[n+(a<<2)>>2],-1==(0|e)?b=21:_[i>>2]=c}else c=0|_[n+(a<<2)>>2],b=21;return 21==(0|b)&&(_[s+(l<<2)>>2]=c),_[d>>2]=_[p+(12*a|0)>>2],_[d+4>>2]=_[p+(12*a|0)+4>>2],_[d+8>>2]=_[p+(12*a|0)+8>>2],b=(0|_[t+40>>2])+(l<<2)|0,_[(0|_[t+60>>2])+(o<<2)>>2]=_[b>>2],_[b>>2]=o,_[t+8>>2]=(0|_[t+8>>2])-1,0|(b=r)},function(t,e,i){t|=0,e|=0,i|=0;var o,r,s=0,p=0,c=0,a=0,l=0,d=0,b=0;_[6617]=1+(0|_[6617]),l=9*((l=(i<<16|e)+~((i<<16|e)<<15)|0)>>10^l)|0,l=(l^=l>>6)+~(l<<11)>>16^l+~(l<<11),r=0|_[t+12>>2],s=0|_[(0|_[t+40>>2])+((r+-1&l)<<2)>>2];t:do{if(-1!=(0|s)){for(c=0|_[t+16>>2];(0|_[(p=c+(12*s|0)|0)>>2])!=(0|e)||(0|_[c+(12*s|0)+4>>2])!=(0|i);)if(-1==(0|(s=0|_[(0|_[t+60>>2])+(s<<2)>>2])))break t;if(0|p)return 0|(i=p)}}while(0);if((0|(o=0|_[t+8>>2]))==(0|r))if((0|r)<(0|(c=0|r?r<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(s=0|di(16+(12*c|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,a=0|_[t+8>>2]):(s=0,a=r),(0|a)>0){p=0;do{d=s+(12*p|0)|0,b=(0|_[t+16>>2])+(12*p|0)|0,_[d>>2]=_[b>>2],_[d+4>>2]=_[b+4>>2],_[d+8>>2]=_[b+8>>2],p=p+1|0}while((0|p)!=(0|a))}0|(p=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=s,_[t+12>>2]=c,s=0|_[t+8>>2]}else s=r,c=r;else s=o,c=r;return _[t+8>>2]=s+1,p=0|_[t+16>>2],(0|r)<(0|c)?(et(t),s=(0|_[t+12>>2])-1&l):s=r+-1&l,_[p+(12*o|0)>>2]=e,_[p+(12*o|0)+4>>2]=i,_[p+(12*o|0)+8>>2]=0,b=(0|_[t+40>>2])+(s<<2)|0,_[(0|_[t+60>>2])+(o<<2)>>2]=_[b>>2],_[b>>2]=o,0|(b=p+(12*o|0)|0)},function(t,e,i){e|=0,i|=0;var n,o=0,r=0,s=0,p=0,c=0,a=0;n=Q,Q=Q+48|0,o=0|_[28+(t|=0)>>2],_[n>>2]=o,o=(0|_[t+20>>2])-o|0,_[n+4>>2]=o,_[n+8>>2]=e,_[n+12>>2]=i,_[n+16>>2]=_[t+60>>2],_[n+16+4>>2]=n,_[n+16+8>>2]=2,r=0|Ta(0|D(146,n+16|0));t:do{if((o+i|0)!=(0|r)){for(e=2,s=o+i|0,o=n;!((0|r)<0);)if(s=s-r|0,e=e+((a=r>>>0>(c=0|_[o+4>>2])>>>0)<<31>>31)|0,c=r-(a?c:0)|0,_[(o=a?o+8|0:o)>>2]=(0|_[o>>2])+c,_[o+4>>2]=(0|_[o+4>>2])-c,_[n+32>>2]=_[t+60>>2],_[n+32+4>>2]=o,_[n+32+8>>2]=e,(0|s)==(0|(r=0|Ta(0|D(146,n+32|0))))){p=3;break t}_[t+16>>2]=0,_[t+28>>2]=0,_[t+20>>2]=0,_[t>>2]=32|_[t>>2],i=2==(0|e)?0:i-(0|_[o+4>>2])|0}else p=3}while(0);return 3==(0|p)&&(a=0|_[t+44>>2],_[t+16>>2]=a+(0|_[t+48>>2]),_[t+28>>2]=a,_[t+20>>2]=a),Q=n,0|i},function(t,e,i){var n;return t|=0,e|=0,i|=0,n=Q,Q=Q+32|0,_[n>>2]=_[t+60>>2],_[n+4>>2]=0,_[n+8>>2]=e,_[n+12>>2]=n+20,_[n+16>>2]=i,(0|Ta(0|j(140,0|n)))<0?(_[n+20>>2]=-1,t=-1):t=0|_[n+20>>2],Q=n,0|t},function(t,e,i){i|=0;var n,o=0,r=0;if(n=Q,Q=Q+64|0,0|Lp(t|=0,e|=0))e=1;else if(0|e&&0|(r=0|Xi(e,3264))){o=52+(e=n+4|0)|0;do{_[e>>2]=0,e=e+4|0}while((0|e)<(0|o));_[n>>2]=r,_[n+8>>2]=t,_[n+12>>2]=-1,_[n+48>>2]=1,pd[127&_[28+(0|_[r>>2])>>2]](r,n,0|_[i>>2],1),1==(0|_[n+24>>2])?(_[i>>2]=_[n+16>>2],e=1):e=0}else e=0;return Q=n,0|e},Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa,Fa],Hl=[Tc,function(t,e,i,n){t|=0,e|=0,n|=0;var o=0;return o=0|_[(i|=0)>>2],t=0|ds(0|_[e>>2]),o=0|ds(o),0|t&&pd[127&_[32+(0|_[t>>2])>>2]](t,i,n,e),o?(pd[127&_[32+(0|_[o>>2])>>2]](o,e,n,i),0):0},function(t,e,i,n){return n|=0,n=0|_[(e|=0)>>2],n=0|Ll[31&_[56+(0|_[n>>2])>>2]](n,24),_[n+4>>2]=_[e>>2],_[n>>2]=4928,0|n},function(t,e,i,o){return t|=0,i|=0,o|=0,o=0|_[(e|=0)>>2],o=0|Ll[31&_[56+(0|_[o>>2])>>2]](o,20),i=0|n[t+4|0],_[o+4>>2]=_[e>>2],_[o>>2]=4460,n[o+16|0]=i,0|o},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,156),e=0|_[e>>2],_[t+4>>2]=e,_[t>>2]=4488,n[t+8|0]=0,_[t+12>>2]=4700,_[t+60>>2]=e,_[t+64>>2]=0,n[t+88|0]=1,_[t+84>>2]=0,_[t+76>>2]=0,_[t+80>>2]=0,n[t+108|0]=1,_[t+104>>2]=0,_[t+96>>2]=0,_[t+100>>2]=0,n[t+128|0]=1,_[t+124>>2]=0,_[t+116>>2]=0,_[t+120>>2]=0,n[t+148|0]=1,_[t+144>>2]=0,_[t+136>>2]=0,_[t+140>>2]=0,_[t+16>>2]=_[i+8>>2],_[t+20>>2]=_[o+8>>2],zi(t+72|0),0|t},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,156),e=0|_[e>>2],_[t+4>>2]=e,_[t>>2]=4488,n[t+8|0]=1,_[t+12>>2]=4700,_[t+60>>2]=e,_[t+64>>2]=0,n[t+88|0]=1,_[t+84>>2]=0,_[t+76>>2]=0,_[t+80>>2]=0,n[t+108|0]=1,_[t+104>>2]=0,_[t+96>>2]=0,_[t+100>>2]=0,n[t+128|0]=1,_[t+124>>2]=0,_[t+116>>2]=0,_[t+120>>2]=0,n[t+148|0]=1,_[t+144>>2]=0,_[t+136>>2]=0,_[t+140>>2]=0,_[t+16>>2]=_[o+8>>2],_[t+20>>2]=_[i+8>>2],zi(t+72|0),0|t},function(t,e,i,n){var r,s,c,a,l;return t|=0,e|=0,i|=0,n|=0,r=Q,Q=Q+96|0,p[r+4>>2]=1,_[r+8>>2]=0,o[r+12>>1]=1,o[r+14>>1]=-1,_[r+16>>2]=0,_[r>>2]=3624,_[r+20>>2]=_[e>>2],_[r+20+4>>2]=_[e+4>>2],_[r+20+8>>2]=_[e+8>>2],_[r+20+12>>2]=_[e+12>>2],_[r+36>>2]=_[i>>2],_[r+36+4>>2]=_[i+4>>2],_[r+36+8>>2]=_[i+8>>2],_[r+36+12>>2]=_[i+12>>2],t=0|_[t+4>>2],pd[127&_[32+(0|_[t>>2])>>2]](t,e,i,r),(t=0|_[r+8>>2])&&2&_[t+236>>2]?4&_[t+204>>2]?(Q=r,0|(n=0)):(_[n>>2]=_[r+68>>2],_[n+4>>2]=_[r+68+4>>2],_[n+8>>2]=_[r+68+8>>2],_[n+12>>2]=_[r+68+12>>2],_[n+16>>2]=_[r+52>>2],_[n+16+4>>2]=_[r+52+4>>2],_[n+16+8>>2]=_[r+52+8>>2],_[n+16+12>>2]=_[r+52+12>>2],l=+p[n+16>>2],a=+p[n+20>>2],c=+p[n+24>>2],s=1/+b(+(l*l+a*a+c*c)),p[n+16>>2]=l*s,p[n+20>>2]=a*s,p[n+24>>2]=c*s,_[n+32>>2]=_[r+4>>2],Q=r,0|(n=t)):(Q=r,0|(n=0))},function(t,e,i,n){var o;return t|=0,e|=0,i|=0,n|=0,o=Q,Q=Q+16|0,_[o>>2]=t,_[o+4>>2]=n,n=0|_[t+72+(144*(0|_[4+(0|_[e+4>>2])>>2])|0)+(_[4+(0|_[i+4>>2])>>2]<<2)>>2],n=0|Hl[31&_[8+(0|_[n>>2])>>2]](n,o,e,i),Q=o,0|n},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,80),e=0|_[e>>2],_[t+4>>2]=e,_[t>>2]=6404,n[t+8|0]=0,_[t+12>>2]=6452,_[t+60>>2]=e,_[t+64>>2]=0,_[t+16>>2]=i,_[t+20>>2]=o,o=0|El[63&_[12+(0|_[e>>2])>>2]](e,0|_[i+8>>2],0|_[o+8>>2]),_[t+76>>2]=o,i=0|_[t+60>>2],ed[127&_[20+(0|_[i>>2])>>2]](i,o),0|t},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,80),e=0|_[e>>2],_[t+4>>2]=e,_[t>>2]=6404,n[t+8|0]=1,_[t+12>>2]=6452,_[t+60>>2]=e,_[t+64>>2]=0,_[t+16>>2]=o,_[t+20>>2]=i,o=0|El[63&_[12+(0|_[e>>2])>>2]](e,0|_[o+8>>2],0|_[i+8>>2]),_[t+76>>2]=o,i=0|_[t+60>>2],ed[127&_[20+(0|_[i>>2])>>2]](i,o),0|t},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,44),_[t+4>>2]=_[e>>2],_[t>>2]=7060,n[t+24|0]=1,_[t+20>>2]=0,_[t+12>>2]=0,_[t+16>>2]=0,n[t+28|0]=0,_[t+32>>2]=_[e+4>>2],n[t+36|0]=0,_[t+40>>2]=_[68+(0|_[i+4>>2])>>2],Pt(t,i,o),0|t},function(t,e,i,o){t|=0,i|=0,o|=0;var r,s,p,c=0,a=0,l=0,d=0,b=0;if(l=0|_[(e|=0)>>2],l=0|Ll[31&_[56+(0|_[l>>2])>>2]](l,48),_[l+4>>2]=_[e>>2],_[l>>2]=7124,n[l+28|0]=1,_[l+24>>2]=0,_[l+16>>2]=0,_[l+20>>2]=0,_[l+32>>2]=_[e+4>>2],n[l+36|0]=0,_[6630]=1+(0|_[6630]),(t=0|di(87))?(_[(t+4+15&-16)-4>>2]=t,a=t+4+15&-16):a=0,_[a>>2]=10320,n[0|(r=a+20|0)]=1,_[(s=a+16|0)>>2]=0,_[(e=a+8|0)>>2]=0,_[(p=a+12|0)>>2]=0,n[a+24|0]=0,n[a+44|0]=1,_[a+40>>2]=0,_[a+32>>2]=0,_[a+36>>2]=0,n[a+64|0]=1,_[a+60>>2]=0,_[a+52>>2]=0,_[a+56>>2]=0,_[6630]=1+(0|_[6630]),(t=0|di(43))?(_[(t+4+15&-16)-4>>2]=t,c=t+4+15&-16):c=0,(0|(e=0|_[e>>2]))>0){t=0;do{d=c+(12*t|0)|0,b=(0|_[s>>2])+(12*t|0)|0,_[d>>2]=_[b>>2],_[d+4>>2]=_[b+4>>2],_[d+8>>2]=_[b+8>>2],t=t+1|0}while((0|t)!=(0|e))}return(t=0|_[s>>2])?(0|n[0|r]&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])),_[s>>2]=0,n[0|r]=1,_[s>>2]=c,_[p>>2]=2,et(a),_[(b=l+8|0)>>2]=a,b=0|_[(b=i+4|0)>>2],b=0|_[(b=b+68|0)>>2],_[(d=l+40|0)>>2]=b,d=0|_[(d=o+4|0)>>2],d=0|_[(d=d+68|0)>>2],_[(b=l+44|0)>>2]=d,0|l):(n[0|r]=1,_[s>>2]=c,_[p>>2]=2,et(a),_[(b=l+8|0)>>2]=a,b=0|_[(b=i+4|0)>>2],b=0|_[(b=b+68|0)>>2],_[(d=l+40|0)>>2]=b,d=0|_[(d=o+4|0)>>2],d=0|_[(d=d+68|0)>>2],_[(b=l+44|0)>>2]=d,0|l)},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,44),_[t+4>>2]=_[e>>2],_[t>>2]=7060,n[t+24|0]=1,_[t+20>>2]=0,_[t+12>>2]=0,_[t+16>>2]=0,n[t+28|0]=1,_[t+32>>2]=_[e+4>>2],n[t+36|0]=0,_[t+40>>2]=_[68+(0|_[o+4>>2])>>2],Pt(t,i,o),0|t},function(t,e,i,n){return n|=0,n=0|_[(e|=0)>>2],n=0|Ll[31&_[56+(0|_[n>>2])>>2]](n,8),_[n+4>>2]=_[e>>2],_[n>>2]=10224,0|n},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,16),e=0|_[e>>2],_[t+4>>2]=e,_[t>>2]=10252,n[t+8|0]=0,_[t+12>>2]=0,o=0|El[63&_[12+(0|_[e>>2])>>2]](e,0|_[i+8>>2],0|_[o+8>>2]),_[t+12>>2]=o,n[t+8|0]=1,0|t},function(t,e,i,o){t|=0,i|=0,o|=0;var r,s=0,p=0;return s=0|_[(e|=0)>>2],s=0|Ll[31&_[56+(0|_[s>>2])>>2]](s,20),r=0|_[e+4>>2],p=0|n[t+4|0],t=0|_[e>>2],_[s+4>>2]=t,_[s>>2]=6900,n[s+8|0]=0,_[s+12>>2]=r,n[s+16|0]=p,0|r||(p=0|El[63&_[12+(0|_[t>>2])>>2]](t,0|_[i+8>>2],0|_[o+8>>2]),_[s+12>>2]=p,n[s+8|0]=1),0|s},function(t,e,i,o){return t|=0,i|=0,o|=0,t=0|_[(e|=0)>>2],t=0|Ll[31&_[56+(0|_[t>>2])>>2]](t,16),e=0|_[e>>2],_[t+4>>2]=e,_[t>>2]=6472,n[t+8|0]=0,_[t+12>>2]=0,0|El[63&_[24+(0|_[e>>2])>>2]](e,0|_[i+8>>2],0|_[o+8>>2])?(e=0|_[t+4>>2],o=0|El[63&_[12+(0|_[e>>2])>>2]](e,0|_[i+8>>2],0|_[o+8>>2]),_[t+12>>2]=o,n[t+8|0]=1,0|t):0|t},function(t,e,i,o){t|=0,i|=0,o|=0;var r,s,p=0,c=0;return p=0|_[(e|=0)>>2],p=0|Ll[31&_[56+(0|_[p>>2])>>2]](p,28),c=!(0|n[t+4|0]),s=0|_[t+8>>2],r=0|_[t+12>>2],t=0|_[e>>2],_[p+4>>2]=t,_[p>>2]=6376,n[p+8|0]=0,_[p+12>>2]=0,c?(n[p+16|0]=0,_[p+20>>2]=s,_[p+24>>2]=r,0|El[63&_[24+(0|_[t>>2])>>2]](t,0|_[i+8>>2],0|_[o+8>>2])?(c=0|_[p+4>>2],c=0|El[63&_[12+(0|_[c>>2])>>2]](c,0|_[i+8>>2],0|_[o+8>>2]),_[p+12>>2]=c,n[p+8|0]=1,0|p):0|p):(n[p+16|0]=1,_[p+20>>2]=s,_[p+24>>2]=r,0|El[63&_[24+(0|_[t>>2])>>2]](t,0|_[o+8>>2],0|_[i+8>>2])?(c=0|_[p+4>>2],c=0|El[63&_[12+(0|_[c>>2])>>2]](c,0|_[o+8>>2],0|_[i+8>>2]),_[p+12>>2]=c,n[p+8|0]=1,0|p):0|p)},function(t,e,i,o){var r,s,p,c;return t|=0,i|=0,o|=0,o=0|_[(e|=0)>>2],o=0|Ll[31&_[56+(0|_[o>>2])>>2]](o,36),s=0|_[e+4>>2],c=0|_[t+12>>2],p=0|_[t+8>>2],r=0|_[t+16>>2],i=0|_[t+20>>2],_[o+4>>2]=_[e>>2],_[o>>2]=6948,_[o+8>>2]=c,_[o+12>>2]=p,n[o+16|0]=0,_[o+20>>2]=s,n[o+24|0]=0,_[o+28>>2]=r,_[o+32>>2]=i,0|o},wi,function(t,e,i,n){return wi(t|=0,e|=0,i|=0,n|=0),1},function(t,e,i,n){return 0},function(t,e,i,n){t|=0,e|=0,i|=0,n|=0;var o,r,s,p=0,c=0,a=0,l=0,d=0,b=0,A=0;if(_[6607]=1+(0|_[6607]),d=(0|_[e+12>>2])>(0|_[i+12>>2]),a=0|_[(r=d?i:e)+12>>2],l=9*((l=((p=0|_[(d=d?e:i)+12>>2])<<16|a)+~((p<<16|a)<<15)|0)>>10^l)|0,l=((l^=l>>6)+~(l<<11)>>16^l+~(l<<11))&(0|_[t+12>>2])-1,-1==(0|(e=0|_[(0|_[t+44>>2])+(l<<2)>>2])))return 0|(A=0);for(c=0|_[t+16>>2];(0|_[12+(0|_[(i=c+(e<<4)|0)>>2])>>2])!=(0|a)||(0|_[12+(0|_[c+(e<<4)+4>>2])>>2])!=(0|p);)if(-1==(0|(e=0|_[(0|_[t+64>>2])+(e<<2)>>2]))){e=0,A=25;break}if(25==(0|A))return 0|e;if(_d[127&_[32+(0|_[t>>2])>>2]](t,i,n),s=0|_[c+(e<<4)+12>>2],b=i-(0|_[t+16>>2])|0,b>>=4,a=(0|_[t+44>>2])+(l<<2)|0,e=0|_[a>>2],p=0|_[t+64>>2],(0|e)!=(0|b)){for(i=e;(0|(e=0|_[(c=p+(i<<2)|0)>>2]))!=(0|b);)i=e;e=0|_[p+(b<<2)>>2],-1==(0|i)?A=12:_[c>>2]=e}else e=0|_[p+(b<<2)>>2],A=12;if(12==(0|A)&&(_[a>>2]=e),o=(0|_[t+8>>2])-1|0,0|(e=0|_[t+72>>2])&&Hl[31&_[12+(0|_[e>>2])>>2]](e,r,d,n),(0|o)==(0|b))return _[t+8>>2]=(0|_[t+8>>2])-1,0|(A=s);if(d=0|_[t+16>>2],a=9*((a=_[12+(0|_[d+(o<<4)+4>>2])>>2]<<16|_[12+(0|_[d+(o<<4)>>2])>>2])+~(a<<15)>>10^a+~(a<<15))|0,a=((a^=a>>6)+~(a<<11)>>16^a+~(a<<11))&(0|_[t+12>>2])-1,l=(0|_[t+44>>2])+(a<<2)|0,e=0|_[l>>2],p=0|_[t+64>>2],(0|e)!=(0|o)){for(i=e;(0|(e=0|_[(c=p+(i<<2)|0)>>2]))!=(0|o);)i=e;e=0|_[p+(o<<2)>>2],-1==(0|i)?A=23:_[c>>2]=e}else e=0|_[p+(o<<2)>>2],A=23;return 23==(0|A)&&(_[l>>2]=e),_[d+(b<<4)>>2]=_[d+(o<<4)>>2],_[d+(b<<4)+4>>2]=_[d+(o<<4)+4>>2],_[d+(b<<4)+8>>2]=_[d+(o<<4)+8>>2],_[d+(b<<4)+12>>2]=_[d+(o<<4)+12>>2],A=(0|_[t+44>>2])+(a<<2)|0,_[(0|_[t+64>>2])+(b<<2)>>2]=_[A>>2],_[A>>2]=b,_[t+8>>2]=(0|_[t+8>>2])-1,0|(A=s)},Tc,Tc,Tc,Tc,Tc,Tc,Tc,Tc,Tc],Zl=[function(t,e,i,n,o,_){return v(16),0},Ti,me,Ie],Ul=[Rr,function(t,e,i,n,r,c,a,l,d){e|=0,i|=0,n|=0,r|=0,c|=0,a|=0,l|=0,d|=0;var b,A,f,u,m,h,y,g,C,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0;if(b=+p[8+(t|=0)>>2],f=+p[t+12>>2],m=+p[t+16>>2],A=+p[t+40>>2],j=(+p[e>>2]-b)*A,u=+p[t+44>>2],I=(+p[e+4>>2]-f)*u,h=+p[t+48>>2],B=(+p[e+8>>2]-m)*h,j<=0?D=0:(D=0|o[t+6>>1],D=o[t+4>>1]&(j>=+(65535&D)?D:65535&j)),I<=0?R=0:(R=0|o[t+6>>1],R=o[t+4>>1]&(I>=+(65535&R)?R:65535&I)),B<=0?k=0:(k=0|o[t+6>>1],k=o[t+4>>1]&(B>=+(65535&k)?k:65535&B)),B=(+p[i>>2]-b)*A,I=(+p[i+4>>2]-f)*u,j=(+p[i+8>>2]-m)*h,B<=0?w=1:(w=0|o[t+6>>1],w=o[t+4>>1]&(B>=+(65535&w)?w:65535&B)|1),I<=0?S=1:(S=0|o[t+6>>1],S=o[t+4>>1]&(I>=+(65535&S)?S:65535&I)|1),j<=0?v=1:(v=0|o[t+6>>1],v=o[t+4>>1]&(j>=+(65535&v)?v:65535&j)|1),g=0|o[t+64>>1],y=0|_[t+60>>2],o[t+64>>1]=0|o[y+((65535&g)<<6)+48>>1],C=1+(0|o[t+56>>1])<<16>>16,o[t+56>>1]=C,_[y+((65535&g)<<6)+12>>2]=65535&g,_[y+((65535&g)<<6)>>2]=r,o[y+((65535&g)<<6)+4>>1]=c,o[y+((65535&g)<<6)+6>>1]=a,_[y+((65535&g)<<6)+8>>2]=d,d=(65535&C)<<1&65534,o[y+54>>1]=2+(0|s[y+54>>1]),W=0|_[t+68>>2],F=s[W+(d+-1<<2)>>1]|s[W+(d+-1<<2)+2>>1]<<16,o[W+((1|d)<<2)>>1]=F,o[W+((1|d)<<2)+2>>1]=F>>>16,W=0|_[t+68>>2],o[W+(d+-1<<2)>>1]=D,o[W+(d+-1<<2)+2>>1]=g,o[W+(d<<2)>>1]=w,o[W+(d<<2)+2>>1]=g,o[y+((65535&g)<<6)+48>>1]=d+-1,o[y+((65535&g)<<6)+54>>1]=(65535&C)<<1,w=56+(0|_[t+60>>2])|0,o[w>>1]=2+(0|s[w>>1]),w=0|_[t+72>>2],D=s[w+(d+-1<<2)>>1]|s[w+(d+-1<<2)+2>>1]<<16,o[w+((1|d)<<2)>>1]=D,o[w+((1|d)<<2)+2>>1]=D>>>16,w=0|_[t+72>>2],o[w+(d+-1<<2)>>1]=R,o[w+(d+-1<<2)+2>>1]=g,o[w+(d<<2)>>1]=S,o[w+(d<<2)+2>>1]=g,o[y+((65535&g)<<6)+50>>1]=d+-1,o[y+((65535&g)<<6)+56>>1]=(65535&C)<<1,S=58+(0|_[t+60>>2])|0,o[S>>1]=2+(0|s[S>>1]),S=0|_[t+76>>2],w=s[S+(d+-1<<2)>>1]|s[S+(d+-1<<2)+2>>1]<<16,o[S+((1|d)<<2)>>1]=w,o[S+((1|d)<<2)+2>>1]=w>>>16,S=0|_[t+76>>2],o[S+(d+-1<<2)>>1]=k,o[S+(d+-1<<2)+2>>1]=g,o[S+(d<<2)>>1]=v,o[S+(d<<2)+2>>1]=g,o[y+((65535&g)<<6)+52>>1]=d+-1,o[y+((65535&g)<<6)+58>>1]=(65535&C)<<1,S=0|_[t+68>>2],w=0|s[y+((65535&g)<<6)+48>>1],D=0|_[t+60>>2],k=0|o[S+(w<<2)+-4>>1],(0|s[S+(w<<2)>>1])<(65535&k)){for(d=D+(s[S+(w<<2)+2>>1]<<6)+48|0,v=S+(w<<2)+-4|0,R=S+(w<<2)|0,w=k,S=D;F=0|s[R+-2>>1],o[(S=1&w?S+(F<<6)+54|0:S+(F<<6)+48|0)>>1]=1+(0|o[S>>1])<<16>>16,o[d>>1]=(0|o[d>>1])-1<<16>>16,S=s[R>>1]|s[R+2>>1]<<16,w=s[v>>1]|s[v+2>>1]<<16,o[R>>1]=w,o[R+2>>1]=w>>>16,o[v>>1]=S,o[v+2>>1]=S>>>16,S=R+-4|0,w=0|o[(v=v+-4|0)>>1],!((0|s[S>>1])>=(65535&w));)R=S,S=0|_[t+60>>2];S=0|_[t+68>>2]}v=0|s[y+((65535&g)<<6)+54>>1],R=0|o[(w=S+(v<<2)|0)-4>>1];t:do{if((0|s[w>>1])<(65535&R))for(D=(F=0|_[t+60>>2])+(s[S+(v<<2)+2>>1]<<6)+54|0,v=w+-4|0,k=w,S=R,w=F;;){if(F=0|s[k+-2>>1],o[(w=1&S?w+(F<<6)+54|0:w+(F<<6)+48|0)>>1]=1+(0|o[w>>1])<<16>>16,o[D>>1]=(0|o[D>>1])-1<<16>>16,w=s[k>>1]|s[k+2>>1]<<16,S=s[v>>1]|s[v+2>>1]<<16,o[k>>1]=S,o[k+2>>1]=S>>>16,o[v>>1]=w,o[v+2>>1]=w>>>16,w=k+-4|0,S=0|o[(v=v+-4|0)>>1],(0|s[w>>1])>=(65535&S))break t;k=w,w=0|_[t+60>>2]}}while(0);if(S=0|_[t+72>>2],w=0|s[y+((65535&g)<<6)+50>>1],D=0|_[t+60>>2],k=0|o[S+(w<<2)+-4>>1],(0|s[S+(w<<2)>>1])<(65535&k)){for(d=D+(s[S+(w<<2)+2>>1]<<6)+50|0,v=S+(w<<2)+-4|0,R=S+(w<<2)|0,w=k,S=D;F=0|s[R+-2>>1],o[(S=1&w?S+(F<<6)+56|0:S+(F<<6)+50|0)>>1]=1+(0|o[S>>1])<<16>>16,o[d>>1]=(0|o[d>>1])-1<<16>>16,S=s[R>>1]|s[R+2>>1]<<16,w=s[v>>1]|s[v+2>>1]<<16,o[R>>1]=w,o[R+2>>1]=w>>>16,o[v>>1]=S,o[v+2>>1]=S>>>16,S=R+-4|0,w=0|o[(v=v+-4|0)>>1],!((0|s[S>>1])>=(65535&w));)R=S,S=0|_[t+60>>2];S=0|_[t+72>>2]}v=0|s[y+((65535&g)<<6)+56>>1],R=0|o[(w=S+(v<<2)|0)-4>>1];t:do{if((0|s[w>>1])<(65535&R))for(D=(F=0|_[t+60>>2])+(s[S+(v<<2)+2>>1]<<6)+56|0,v=w+-4|0,k=w,S=R,w=F;;){if(F=0|s[k+-2>>1],o[(w=1&S?w+(F<<6)+56|0:w+(F<<6)+50|0)>>1]=1+(0|o[w>>1])<<16>>16,o[D>>1]=(0|o[D>>1])-1<<16>>16,w=s[k>>1]|s[k+2>>1]<<16,S=s[v>>1]|s[v+2>>1]<<16,o[k>>1]=S,o[k+2>>1]=S>>>16,o[v>>1]=w,o[v+2>>1]=w>>>16,w=k+-4|0,S=0|o[(v=v+-4|0)>>1],(0|s[w>>1])>=(65535&S))break t;k=w,w=0|_[t+60>>2]}}while(0);return Yt(t,2,0|o[y+((65535&g)<<6)+52>>1]),Ht(t,2,0|o[y+((65535&g)<<6)+58>>1],l),S=0|_[t+60>>2],(v=0|_[t+108>>2])?(F=0|Ul[3&_[8+(0|_[v>>2])>>2]](v,e,i,n,r,c,a,l,0),_[S+((65535&g)<<6)+60>>2]=F,0|(F=S+((65535&g)<<6)|0)):0|(F=S+((65535&g)<<6)|0)},function(t,e,i,r,s,p,c,a,l){t|=0,e|=0,i|=0,r|=0,s|=0,p|=0,c|=0,a|=0,l|=0;var d,b=0;if(d=Q,Q=Q+48|0,_[6630]=1+(0|_[6630]),(r=0|di(83))?(_[(r+4+15&-16)-4>>2]=r,b=r+4+15&-16):b=0,_[b>>2]=s,o[b+4>>1]=p,o[b+6>>1]=c,_[(s=b+16|0)>>2]=_[e>>2],_[s+4>>2]=_[e+4>>2],_[s+8>>2]=_[e+8>>2],_[s+12>>2]=_[e+12>>2],_[(s=b+32|0)>>2]=_[i>>2],_[s+4>>2]=_[i+4>>2],_[s+8>>2]=_[i+8>>2],_[s+12>>2]=_[i+12>>2],_[b+8>>2]=0,_[(s=b+56|0)>>2]=0,_[(p=b+52|0)>>2]=0,_[d+16>>2]=_[e>>2],_[d+16+4>>2]=_[e+4>>2],_[d+16+8>>2]=_[e+8>>2],_[d+16+12>>2]=_[e+12>>2],_[d+16+16>>2]=_[i>>2],_[d+16+16+4>>2]=_[i+4>>2],_[d+16+16+8>>2]=_[i+8>>2],_[d+16+16+12>>2]=_[i+12>>2],_[b+60>>2]=_[t+144>>2],r=1+(0|_[t+188>>2])|0,_[t+188>>2]=r,_[b+12>>2]=r,r=0|_[t+8>>2])_[t+8>>2]=0;else{_[6630]=1+(0|_[6630]),(r=0|di(63))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,l=(a=r)+44|0;do{_[a>>2]=0,a=a+4|0}while((0|a)<(0|l))}return _[r+32>>2]=0,_[r+36>>2]=b,_[r+40>>2]=0,_[r>>2]=_[d+16>>2],_[r+4>>2]=_[d+16+4>>2],_[r+8>>2]=_[d+16+8>>2],_[r+12>>2]=_[d+16+12>>2],_[r+16>>2]=_[d+16+16>>2],_[r+20>>2]=_[d+16+20>>2],_[r+24>>2]=_[d+16+24>>2],_[r+28>>2]=_[d+16+28>>2],U(t+4|0,0|_[t+4>>2],r),_[t+16>>2]=1+(0|_[t+16>>2]),_[b+48>>2]=r,a=t+124+(_[t+144>>2]<<2)|0,_[p>>2]=0,_[s>>2]=_[a>>2],0|(r=0|_[a>>2])&&(_[r+52>>2]=b),_[a>>2]=b,0|n[t+193|0]?(Q=d,0|b):(_[d>>2]=9900,_[d+4>>2]=t,_[d+8>>2]=b,ci(0|_[t+4>>2],d+16|0,d),ci(0|_[t+64>>2],d+16|0,d),Q=d,0|b)},Rr],Yl=[ar,function(t,e,i,o,r,s,c,a,l,d){t|=0,e|=0,o|=0,r|=0,s|=0,c|=0,a|=0,l|=0,d|=0;var b,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;b=Q,Q=Q+4224|0,R=((0|_[4+(i|=0)>>2])-17|0)>>>0<2?((0|_[o+4>>2])-17|0)>>>0<2:0,t=0;do{ni(),C=+p[23344+(t<<4)>>2],v=+p[23344+(t<<4)+4>>2],S=+p[23344+(t<<4)+8>>2],k=+p[r+4>>2]*-C+ +p[r+20>>2]*-v+ +p[r+36>>2]*-S,w=+p[r+8>>2]*-C+ +p[r+24>>2]*-v+ +p[r+40>>2]*-S,p[b+992+(t<<4)>>2]=+p[r>>2]*-C+ +p[r+16>>2]*-v+ +p[r+32>>2]*-S,p[b+992+(t<<4)+4>>2]=k,p[b+992+(t<<4)+8>>2]=w,p[b+992+(t<<4)+12>>2]=0,w=C*+p[s+4>>2]+v*+p[s+20>>2]+S*+p[s+36>>2],k=C*+p[s+8>>2]+v*+p[s+24>>2]+S*+p[s+40>>2],p[b+(t<<4)>>2]=C*+p[s>>2]+v*+p[s+16>>2]+S*+p[s+32>>2],p[b+(t<<4)+4>>2]=w,p[b+(t<<4)+8>>2]=k,p[b+(t<<4)+12>>2]=0,t=t+1|0}while(42!=(0|t));if((0|(u=0|Gl[127&_[84+(0|_[i>>2])>>2]](i)))>0){for(t=0,f=42;_d[127&_[88+(0|_[i>>2])>>2]](i,t,b+4144|0),w=+p[b+4144>>2],k=+p[b+4144+4>>2],S=+p[b+4144+8>>2],v=w*+p[r+16>>2]+k*+p[r+20>>2]+S*+p[r+24>>2],C=w*+p[r+32>>2]+k*+p[r+36>>2]+S*+p[r+40>>2],p[b+4144>>2]=+p[r>>2]*w+ +p[r+4>>2]*k+ +p[r+8>>2]*S,p[b+4144+4>>2]=v,p[b+4144+8>>2]=C,p[b+4144+12>>2]=0,ni(),_[(m=23344+(f<<4)|0)>>2]=_[b+4144>>2],_[m+4>>2]=_[b+4144+4>>2],_[m+8>>2]=_[b+4144+8>>2],_[m+12>>2]=_[b+4144+12>>2],C=+p[b+4144>>2],v=+p[b+4144+4>>2],S=+p[b+4144+8>>2],k=+p[r+4>>2]*-C+ +p[r+20>>2]*-v+ +p[r+36>>2]*-S,w=+p[r+8>>2]*-C+ +p[r+24>>2]*-v+ +p[r+40>>2]*-S,p[b+992+(f<<4)>>2]=+p[r>>2]*-C+ +p[r+16>>2]*-v+ +p[r+32>>2]*-S,p[b+992+(f<<4)+4>>2]=k,p[b+992+(f<<4)+8>>2]=w,p[b+992+(f<<4)+12>>2]=0,w=C*+p[s+4>>2]+v*+p[s+20>>2]+S*+p[s+36>>2],k=C*+p[s+8>>2]+v*+p[s+24>>2]+S*+p[s+40>>2],p[b+(f<<4)>>2]=C*+p[s>>2]+v*+p[s+16>>2]+S*+p[s+32>>2],p[b+(f<<4)+4>>2]=w,p[b+(f<<4)+8>>2]=k,p[b+(f<<4)+12>>2]=0,(0|(t=t+1|0))!=(0|u);)f=f+1|0;f=u+42|0}else f=42;if((0|(m=0|Gl[127&_[84+(0|_[o>>2])>>2]](o)))>0){for(t=0,u=f;_d[127&_[88+(0|_[o>>2])>>2]](o,t,b+4144|0),w=+p[b+4144>>2],k=+p[b+4144+4>>2],S=+p[b+4144+8>>2],v=w*+p[s+16>>2]+k*+p[s+20>>2]+S*+p[s+24>>2],C=w*+p[s+32>>2]+k*+p[s+36>>2]+S*+p[s+40>>2],p[b+4144>>2]=+p[s>>2]*w+ +p[s+4>>2]*k+ +p[s+8>>2]*S,p[b+4144+4>>2]=v,p[b+4144+8>>2]=C,p[b+4144+12>>2]=0,ni(),_[(D=23344+(u<<4)|0)>>2]=_[b+4144>>2],_[D+4>>2]=_[b+4144+4>>2],_[D+8>>2]=_[b+4144+8>>2],_[D+12>>2]=_[b+4144+12>>2],C=+p[b+4144>>2],v=+p[b+4144+4>>2],S=+p[b+4144+8>>2],k=+p[r+4>>2]*-C+ +p[r+20>>2]*-v+ +p[r+36>>2]*-S,w=+p[r+8>>2]*-C+ +p[r+24>>2]*-v+ +p[r+40>>2]*-S,p[b+992+(u<<4)>>2]=+p[r>>2]*-C+ +p[r+16>>2]*-v+ +p[r+32>>2]*-S,p[b+992+(u<<4)+4>>2]=k,p[b+992+(u<<4)+8>>2]=w,p[b+992+(u<<4)+12>>2]=0,w=C*+p[s+4>>2]+v*+p[s+20>>2]+S*+p[s+36>>2],k=C*+p[s+8>>2]+v*+p[s+24>>2]+S*+p[s+40>>2],p[b+(u<<4)>>2]=C*+p[s>>2]+v*+p[s+16>>2]+S*+p[s+32>>2],p[b+(u<<4)+4>>2]=w,p[b+(u<<4)+8>>2]=k,p[b+(u<<4)+12>>2]=0,(0|(t=t+1|0))!=(0|m);)u=u+1|0;f=m+f|0}if(pd[127&_[76+(0|_[i>>2])>>2]](i,b+992|0,b+2976|0,f),pd[127&_[76+(0|_[o>>2])>>2]](o,b,b+1984|0,f),(0|f)>0)for(C=0xde0b6b000000000,t=0,w=0,A=0,S=0,h=0;;){if(ni(),g=+p[23344+(t<<4)>>2],v=+p[23344+(t<<4)+4>>2],y=+p[23344+(t<<4)+12>>2],g*g+v*v+(k=R?0:+p[23344+(t<<4)+8>>2])*k>.01&&(B=+p[b+2976+(t<<4)>>2],I=+p[b+2976+(t<<4)+4>>2],j=+p[b+2976+(t<<4)+8>>2],x=+p[b+1984+(t<<4)>>2],F=+p[b+1984+(t<<4)+4>>2],W=+p[b+1984+(t<<4)+8>>2],(j=g*(x*+p[s>>2]+F*+p[s+4>>2]+W*+p[s+8>>2]+ +p[s+48>>2]-(B*+p[r>>2]+I*+p[r+4>>2]+j*+p[r+8>>2]+ +p[r+48>>2]))+v*(x*+p[s+16>>2]+F*+p[s+20>>2]+W*+p[s+24>>2]+ +p[s+52>>2]-(B*+p[r+16>>2]+I*+p[r+20>>2]+j*+p[r+24>>2]+ +p[r+52>>2]))+k*(R?0:x*+p[s+32>>2]+F*+p[s+36>>2]+W*+p[s+40>>2]+ +p[s+56>>2]-(B*+p[r+32>>2]+I*+p[r+36>>2]+j*+p[r+40>>2]+ +p[r+56>>2])))>2]){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:Il[15&_[48+(0|_[i>>2])>>2]](i)}switch(0|_[o+4>>2]){case 4:case 5:case 10:case 11:case 13:case 1:case 0:case 8:break;default:Il[15&_[48+(0|_[o>>2])>>2]](o)}if(C<0)return Q=b,0|(D=0);switch(0|_[i+4>>2]){case 8:A=+p[i+28>>2]*+p[i+12>>2];break;case 0:case 1:case 13:case 11:case 10:case 4:case 5:A=+p[i+44>>2];break;default:A=+Il[15&_[48+(0|_[i>>2])>>2]](i)}switch(0|(t=0|_[o+4>>2])){case 8:h=+p[o+28>>2]*+p[o+12>>2],t=8;break;case 0:h=+p[o+44>>2],t=0;break;case 1:h=+p[o+44>>2],t=1;break;case 13:h=+p[o+44>>2],t=13;break;case 11:h=+p[o+44>>2],t=11;break;case 10:h=+p[o+44>>2],t=10;break;case 4:case 5:h=+p[o+44>>2];break;default:h=+Il[15&_[48+(0|_[o>>2])>>2]](o),t=0|_[o+4>>2]}return A=C+(A+h+.5),_[b+4144>>2]=10204,_[b+4144+4>>2]=0,_[b+4144+8>>2]=1065353216,_[b+4144+12>>2]=0,p[b+4144+16>>2]=0,_[b+4144+20>>2]=0,_[b+4144+24>>2]=e,_[b+4144+28>>2]=i,_[b+4144+32>>2]=o,_[b+4144+36>>2]=_[i+4>>2],_[b+4144+40>>2]=t,W=+Il[15&_[48+(0|_[i>>2])>>2]](i),p[b+4144+44>>2]=W,W=+Il[15&_[48+(0|_[o>>2])>>2]](o),p[b+4144+48>>2]=W,n[b+4144+52|0]=0,_[b+4144+60>>2]=-1,_[b+4144+72>>2]=1,_[b+4144+76>>2]=1,W=g*A+ +p[r+48>>2],F=v*A+ +p[r+52>>2],x=S*A+ +p[r+56>>2],_[b+4012>>2]=_[r>>2],_[b+4012+4>>2]=_[r+4>>2],_[b+4012+8>>2]=_[r+8>>2],_[b+4012+12>>2]=_[r+12>>2],_[b+4012+16>>2]=_[r+16>>2],_[b+4012+16+4>>2]=_[r+16+4>>2],_[b+4012+16+8>>2]=_[r+16+8>>2],_[b+4012+16+12>>2]=_[r+16+12>>2],_[b+4012+32>>2]=_[r+32>>2],_[b+4012+32+4>>2]=_[r+32+4>>2],_[b+4012+32+8>>2]=_[r+32+8>>2],_[b+4012+32+12>>2]=_[r+32+12>>2],p[b+4012+48>>2]=W,p[b+4012+52>>2]=F,p[b+4012+56>>2]=x,p[b+4012+60>>2]=0,_[b+4012+64>>2]=_[s>>2],_[b+4012+64+4>>2]=_[s+4>>2],_[b+4012+64+8>>2]=_[s+8>>2],_[b+4012+64+12>>2]=_[s+12>>2],_[b+4012+80>>2]=_[s+16>>2],_[b+4012+80+4>>2]=_[s+16+4>>2],_[b+4012+80+8>>2]=_[s+16+8>>2],_[b+4012+80+12>>2]=_[s+16+12>>2],_[b+4012+96>>2]=_[s+32>>2],_[b+4012+96+4>>2]=_[s+32+4>>2],_[b+4012+96+8>>2]=_[s+32+8>>2],_[b+4012+96+12>>2]=_[s+32+12>>2],_[b+4012+112>>2]=_[s+48>>2],_[b+4012+112+4>>2]=_[s+48+4>>2],_[b+4012+112+8>>2]=_[s+48+8>>2],_[b+4012+112+12>>2]=_[s+48+12>>2],p[b+4012+128>>2]=0xde0b6b000000000,_[b+3968>>2]=10088,n[b+3968+40|0]=0,p[b+4144+4>>2]=-g,p[b+4144+8>>2]=-v,p[b+4144+12>>2]=-S,p[b+4144+16>>2]=0,Si(b+4144|0,b+4012|0,b+3968|0,d,0),A-=+p[b+3968+36>>2],(t=0|n[b+3968+40|0])<<24>>24&&(D=b+3968+20|0,F=+p[b+3968+24>>2]-v*A,x=+p[b+3968+28>>2]-S*A,p[a>>2]=+p[D>>2]-g*A,p[a+4>>2]=F,p[a+8>>2]=x,p[a+12>>2]=0,_[l>>2]=_[D>>2],_[l+4>>2]=_[D+4>>2],_[l+8>>2]=_[D+8>>2],_[l+12>>2]=_[D+12>>2],p[c>>2]=g,p[c+4>>2]=v,p[c+8>>2]=S,p[c+12>>2]=y),Q=b,0|(D=!!(t<<24>>24))},function(t,e,i,n,o,r,s,c,a,l){var d,b;return t|=0,i|=0,n|=0,o|=0,s|=0,c|=0,a|=0,t=Q,Q=Q+80|0,b=+p[52+(r|=0)>>2]-+p[o+52>>2],d=+p[r+56>>2]-+p[o+56>>2],p[t+56>>2]=+p[r+48>>2]-+p[o+48>>2],p[t+56+4>>2]=b,p[t+56+8>>2]=d,p[t+56+12>>2]=0,0|gi(i,o,n,r,t+56|0,t,1)?(_[c>>2]=_[t+4>>2],_[c+4>>2]=_[t+4+4>>2],_[c+8>>2]=_[t+4+8>>2],_[c+12>>2]=_[t+4+12>>2],_[a>>2]=_[t+20>>2],_[a+4>>2]=_[t+20+4>>2],_[a+8>>2]=_[t+20+8>>2],_[a+12>>2]=_[t+20+12>>2],_[s>>2]=_[t+36>>2],_[s+4>>2]=_[t+36+4>>2],_[s+8>>2]=_[t+36+8>>2],_[s+12>>2]=_[t+36+12>>2],Q=t,0|(a=1)):0|Se(i,o,n,r,t+56|0,t)?(_[c>>2]=_[t+4>>2],_[c+4>>2]=_[t+4+4>>2],_[c+8>>2]=_[t+4+8>>2],_[c+12>>2]=_[t+4+12>>2],_[a>>2]=_[t+20>>2],_[a+4>>2]=_[t+20+4>>2],_[a+8>>2]=_[t+20+8>>2],_[a+12>>2]=_[t+20+12>>2],_[s>>2]=_[t+36>>2],_[s+4>>2]=_[t+36+4>>2],_[s+8>>2]=_[t+36+8>>2],_[s+12>>2]=_[t+36+12>>2],Q=t,0|(a=0)):(Q=t,0|(a=0))},ar],Jl=[function(){v(19)},function(){k()}],Xl=[Sl,hl,ml,hl,cl,hl,ml,hl,cl,hl,ml,hl,cl,hl,ml,hl,cl,hl,function(t){gs(t|=0)},hl,cl,hl,cl,hl,ml,hl,cl,function(t){var e;_[(t|=0)>>2]=3844,0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0},function(t){var e;_[(t|=0)>>2]=3844,(e=0|_[t+32>>2])&&0|n[t+36|0]?(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),yl(t)):yl(t)},function(t){var e=0,i=0,n=0;if(!((0|(e=0|_[24+(t|=0)>>2]))<=0)){n=0;do{switch(i=0|_[(0|_[t+32>>2])+(n<<2)>>2],0|_[i+216>>2]){case 2:case 5:break;default:ht(i),e=0|_[t+24>>2]}n=n+1|0}while((0|n)<(0|e))}},pn,function(t){pn(t|=0),yl(t)},hl,ml,ml,ml,ml,Gi,function(t){Gi(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},hl,ml,hl,ml,hl,gs,ml,ml,hl,gs,ml,ml,hl,ml,function(t){_[(t|=0)>>2]=4488,Hi(t+12|0)},function(t){_[(t|=0)>>2]=4488,Hi(t+12|0),yl(t)},hl,ml,hl,ml,function(t){var e;_[(t|=0)>>2]=8020,(e=0|_[t+52>>2])&&(Xl[511&_[_[e>>2]>>2]](e),(t=0|_[t+52>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])))},wo,Hi,function(t){Hi(t|=0),yl(t)},ln,function(t){ln(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},function(t){t|=0;var e,i=0,o=0,r=0,s=0;if(e=Q,Q=Q+16|0,$i(17386),(0|(i=0|_[t+8>>2]))>0){r=0;do{if(o=0|_[(0|_[t+16>>2])+(r<<2)>>2],0|n[t+76|0])s=11;else switch(0|_[o+216>>2]){case 2:case 5:break;default:s=11}11==(0|s)&&(s=0,K(t,o),i=0|_[t+8>>2]),r=r+1|0}while((0|r)<(0|i))}if(i=0|_[2606],s=(0|_[i+16>>2])-1|0,_[i+16>>2]=s,0|s)Q=e;else{do{if(0|_[i+4>>2]){if(G(0|e,0),s=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[e+4>>2])-(0|_[s+4>>2])+(1e6*((0|_[e>>2])-(0|_[s>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,0|_[i+16>>2])return void(Q=e);i=0|_[2606];break}}while(0);_[2606]=_[i+20>>2],Q=e}},function(t){t|=0;var e,i=0;if(e=Q,Q=Q+16|0,$i(17360),i=0|_[t+68>>2],ed[127&_[32+(0|_[i>>2])>>2]](i,0|_[t+24>>2]),t=0|_[2606],i=(0|_[t+16>>2])-1|0,_[t+16>>2]=i,0|i)Q=e;else{do{if(0|_[t+4>>2]){if(G(0|e,0),i=0|_[6629],p[t+8>>2]=+p[t+8>>2]+ +(((0|_[e+4>>2])-(0|_[i+4>>2])+(1e6*((0|_[e>>2])-(0|_[i>>2])|0)|0)-(0|_[t+12>>2])|0)>>>0)/1e3,0|_[t+16>>2])return void(Q=e);t=0|_[2606];break}}while(0);_[2606]=_[t+20>>2],Q=e}},function(t){var e,i,o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,nt=0,ot=0,_t=0,rt=0;if(o=Q,Q=Q+176|0,jl(t|=0),0|Gl[127&_[20+(0|_[t>>2])>>2]](t))if((0|_[t+328>>2])<=0)Q=o;else{e=o+96+32|0,i=o+96+52|0,N=0;do{if(H=0|_[(0|_[t+336>>2])+(N<<2)>>2],0|Gl[127&_[20+(0|_[t>>2])>>2]](t)&&(G=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),1&Gl[127&_[48+(0|_[G>>2])>>2]](G))){if(s=0|_[t+72>>2],0|n[H+473|0]){if(_[o+80>>2]=_[H+520>>2],_[o+80+4>>2]=_[H+520+4>>2],_[o+80+8>>2]=_[H+520+8>>2],_[o+80+12>>2]=_[H+520+12>>2],l=+p[H+584>>2],d=+p[H+536>>2],A=+p[H+600>>2],g=+p[H+540>>2],C=+p[H+616>>2],v=+p[H+544>>2],S=+p[H+588>>2],w=+p[H+604>>2],k=+p[H+620>>2],R=+p[H+592>>2],j=+p[H+608>>2],D=+p[H+624>>2],I=+p[H+552>>2],B=+p[H+556>>2],W=+p[H+560>>2],F=+p[H+568>>2],x=+p[H+572>>2],O=+p[H+576>>2],_t=1/+b(+((rt=l*d+A*g+C*v+0*(d*S+g*w+v*k)+0*(d*R+g*j+v*D))*rt+(ot=0*(R*I+j*B+D*W)+(l*I+A*B+C*W+0*(S*I+w*B+k*W)))*ot+(nt=0*(R*F+j*x+D*O)+(l*F+A*x+C*O+0*(S*F+w*x+k*O)))*nt)),tt=1/+b(+((et=0*(l*d+A*g+C*v)+(d*S+g*w+v*k)+0*(d*R+g*j+v*D))*et+($=0*(R*I+j*B+D*W)+(S*I+w*B+k*W+0*(l*I+A*B+C*W)))*$+(q=0*(R*F+j*x+D*O)+(S*F+w*x+k*O+0*(l*F+A*x+C*O)))*q)),z=1/+b(+((K=0*(l*d+A*g+C*v)+0*(d*S+g*w+v*k)+(d*R+g*j+v*D))*K+(X=R*I+j*B+D*W+(0*(l*I+A*B+C*W)+0*(S*I+w*B+k*W)))*X+(J=R*F+j*x+D*O+(0*(l*F+A*x+C*O)+0*(S*F+w*x+k*O)))*J)),G=0|_[8+(0|_[s>>2])>>2],ot=+p[o+80+4>>2]+ot*_t*10,nt=+p[o+80+8>>2]+nt*_t*10,p[o+160>>2]=+p[o+80>>2]+rt*_t*10,p[o+160+4>>2]=ot,p[o+160+8>>2]=nt,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=0,_[o+96+8>>2]=0,p[o+96+12>>2]=0,pd[127&G](s,o+80|0,o+160|0,o+96|0),G=0|_[8+(0|_[s>>2])>>2],$=$*tt*10+ +p[o+80+4>>2],q=q*tt*10+ +p[o+80+8>>2],p[o+160>>2]=et*tt*10+ +p[o+80>>2],p[o+160+4>>2]=$,p[o+160+8>>2]=q,p[o+160+12>>2]=0,_[o+96>>2]=0,_[o+96+4>>2]=1065353216,_[o+96+8>>2]=0,p[o+96+12>>2]=0,pd[127&G](s,o+80|0,o+160|0,o+96|0),G=0|_[8+(0|_[s>>2])>>2],X=X*z*10+ +p[o+80+4>>2],J=J*z*10+ +p[o+80+8>>2],p[o+160>>2]=K*z*10+ +p[o+80>>2],p[o+160+4>>2]=X,p[o+160+8>>2]=J,p[o+160+12>>2]=0,_[o+96>>2]=0,_[o+96+4>>2]=0,_[o+96+8>>2]=1065353216,p[o+96+12>>2]=0,pd[127&G](s,o+80|0,o+160|0,o+96|0),(0|_[H+484>>2])>0){r=0;do{G=0|_[H+492>>2],et=+p[G+(r<<4)>>2],nt=+p[G+(r<<4)+4>>2],rt=+p[G+(r<<4)+8>>2],ot=+p[o+80>>2]+((l*d+A*g+C*v)*et+(d*S+g*w+v*k)*nt+(d*R+g*j+v*D)*rt),_t=+p[o+80+4>>2]+((l*I+A*B+C*W)*et+(S*I+w*B+k*W)*nt+(R*I+j*B+D*W)*rt),rt=(l*F+A*x+C*O)*et+(S*F+w*x+k*O)*nt+(R*F+j*x+D*O)*rt+ +p[o+80+8>>2],_[o+64>>2]=1065353216,_[o+64+4>>2]=0,_[o+64+8>>2]=1065353216,p[o+64+12>>2]=0,G=0|_[8+(0|_[s>>2])>>2],p[o+160>>2]=ot+-.10000000149011612,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+.10000000149011612,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&G](s,o+160|0,o+96|0,o+64|0),G=0|_[8+(0|_[s>>2])>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t+-.10000000149011612,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+.10000000149011612,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&G](s,o+160|0,o+96|0,o+64|0),G=0|_[8+(0|_[s>>2])>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt+-.10000000149011612,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+.10000000149011612,p[o+96+12>>2]=0,pd[127&G](s,o+160|0,o+96|0,o+64|0),r=r+1|0}while((0|r)<(0|_[H+484>>2]))}G=0|_[t+72>>2]}else G=s;if(V=0|_[t+344>>2],_[o+80>>2]=0,_[o+80+4>>2]=0,_[o+80+8>>2]=0,_[o+80+12>>2]=0,_[o+64>>2]=1065353216,_[o+64+4>>2]=1065353216,_[o+64+8>>2]=1065353216,p[o+64+12>>2]=0,_[o+48>>2]=1065353216,_[o+48+4>>2]=0,_[o+48+8>>2]=0,p[o+48+12>>2]=0,256&V){if(_[6136]=1805,_[6137]=0,(0|(r=0|_[H+1112>>2]))>0){M=0;do{if(0|n[377+(0|_[(0|_[H+1120>>2])+(M<<2)>>2])|0]){if(nt=4.656612873077393e-10*+(0|Jo()),ot=4.656612873077393e-10*+(0|Jo()),_t=4.656612873077393e-10*+(0|Jo()),rt=1/+b(+(_t*_t+(nt*nt+ot*ot))),p[o+160>>2]=nt*rt*.75,p[o+160+4>>2]=ot*rt*.75,p[o+160+8>>2]=_t*rt*.75,p[o+160+12>>2]=0,(0|(c=0|_[24+(0|_[(0|_[H+1120>>2])+(M<<2)>>2])>>2]))>0){_[6630]=1+(0|_[6630]),(r=0|di(16+(c<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,s=r+4+15&-16):s=0,r=0;do{_[(P=s+(r<<4)|0)>>2]=_[o+96>>2],_[P+4>>2]=_[o+96+4>>2],_[P+8>>2]=_[o+96+8>>2],_[P+12>>2]=_[o+96+12>>2],r=r+1|0}while((0|r)!=(0|c));r=0;do{T=8+(0|_[(0|_[32+(0|_[(0|_[H+1120>>2])+(M<<2)>>2])>>2])+(r<<2)>>2])|0,_[(P=s+(r<<4)|0)>>2]=_[T>>2],_[P+4>>2]=_[T+4>>2],_[P+8>>2]=_[T+8>>2],_[P+12>>2]=_[T+12>>2],r=r+1|0}while((0|r)!=(0|c));P=s,T=s}else P=0,T=0;if(n[o+96+16|0]=1,_[o+96+12>>2]=0,_[o+96+4>>2]=0,_[o+96+8>>2]=0,n[o+96+36|0]=1,_[e>>2]=0,_[o+96+24>>2]=0,_[o+96+28>>2]=0,n[o+96+56|0]=1,_[i>>2]=0,_[o+96+44>>2]=0,_[o+96+48>>2]=0,Ai(o+96|0,T,c),(0|(h=0|_[o+96+44>>2]))>0){u=0|_[e>>2],f=0;do{if((0|(r=u+(12*(y=0|_[(0|_[i>>2])+(f<<2)>>2])|0)+(12*(s=0|_[u+(12*y|0)+4>>2])|0)+(12*(0|_[u+(12*y|0)+(12*s|0)>>2])|0)|0))!=(u+(12*y|0)|0))for(m=0|_[o+96+12>>2],s=0|_[u+(12*y|0)+(12*s|0)+8>>2],c=0|_[u+(12*y|0)+8>>2];a=0|_[r+8>>2],bd[1&_[28+(0|_[G>>2])>>2]](G,m+(s<<4)|0,m+(c<<4)|0,m+(a<<4)|0,o+160|0,1),(0|(r=(s=r+(12*(0|_[r+4>>2])|0)|0)+(12*(0|_[s>>2])|0)|0))!=(u+(12*y|0)|0);)s=c,c=a;f=f+1|0}while((0|f)<(0|h))}0|(r=0|_[i>>2])&&(0|n[o+96+56|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[i>>2]=0),n[o+96+56|0]=1,_[i>>2]=0,_[o+96+44>>2]=0,_[o+96+48>>2]=0,0|(r=0|_[e>>2])&&(0|n[o+96+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[e>>2]=0),n[o+96+36|0]=1,_[e>>2]=0,_[o+96+24>>2]=0,_[o+96+28>>2]=0,0|(r=0|_[o+96+12>>2])&&(0|n[o+96+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[o+96+12>>2]=0),!(0|P)|!(0|T)||(_[6631]=1+(0|_[6631]),Ni(0|_[T+-4>>2])),r=0|_[H+1112>>2]}M=M+1|0}while((0|M)<(0|r))}}else{if(1&V&&(0|(Z=0|_[H+712>>2]))>0){c=0,r=Z;do{s=0|_[H+720>>2],1&_[16+(0|_[s+(104*c|0)+4>>2])>>2]&&(r=0|_[8+(0|_[G>>2])>>2],M=s+(104*c|0)+8|0,h=0|_[(T=s+(104*c|0)+12|0)>>2],y=0|_[(P=s+(104*c|0)+16|0)>>2],p[o+160>>2]=+p[M>>2]-.10000000149011612,_[o+160+4>>2]=h,_[o+160+8>>2]=y,p[o+160+12>>2]=0,_t=+p[T>>2]+0,rt=+p[P>>2]+0,p[o+96>>2]=+p[M>>2]+.10000000149011612,p[o+96+4>>2]=_t,p[o+96+8>>2]=rt,p[o+96+12>>2]=0,_[o+32>>2]=1065353216,_[o+32+4>>2]=0,_[o+32+8>>2]=0,p[o+32+12>>2]=0,pd[127&r](G,o+160|0,o+96|0,o+32|0),r=0|_[8+(0|_[G>>2])>>2],rt=+p[T>>2]-.10000000149011612,y=0|_[P>>2],_[o+160>>2]=_[M>>2],p[o+160+4>>2]=rt,_[o+160+8>>2]=y,p[o+160+12>>2]=0,rt=+p[T>>2]+.10000000149011612,_t=+p[P>>2]+0,p[o+96>>2]=+p[M>>2]+0,p[o+96+4>>2]=rt,p[o+96+8>>2]=_t,p[o+96+12>>2]=0,_[o+32>>2]=0,_[o+32+4>>2]=1065353216,_[o+32+8>>2]=0,p[o+32+12>>2]=0,pd[127&r](G,o+160|0,o+96|0,o+32|0),r=0|_[8+(0|_[G>>2])>>2],y=0|_[T>>2],_t=+p[P>>2]-.10000000149011612,_[o+160>>2]=_[M>>2],_[o+160+4>>2]=y,p[o+160+8>>2]=_t,p[o+160+12>>2]=0,_t=+p[T>>2]+0,rt=+p[P>>2]+.10000000149011612,p[o+96>>2]=+p[M>>2]+0,p[o+96+4>>2]=_t,p[o+96+8>>2]=rt,p[o+96+12>>2]=0,_[o+32>>2]=0,_[o+32+4>>2]=0,_[o+32+8>>2]=1065353216,p[o+32+12>>2]=0,pd[127&r](G,o+160|0,o+96|0,o+32|0),r=0|_[H+712>>2]),c=c+1|0}while((0|c)<(0|r))}if(2&V&&(0|(U=0|_[H+732>>2]))>0){c=0,r=U;do{s=0|_[H+740>>2],1&_[16+(0|_[s+(52*c|0)+4>>2])>>2]&&(pd[127&_[8+(0|_[G>>2])>>2]](G,8+(0|_[s+(52*c|0)+8>>2])|0,8+(0|_[s+(52*c|0)+12>>2])|0,o+80|0),r=0|_[H+732>>2]),c=c+1|0}while((0|c)<(0|r))}if(16&V&&(0|(Y=0|_[H+712>>2]))>0){c=0,r=Y;do{s=0|_[H+720>>2],1&_[16+(0|_[s+(104*c|0)+4>>2])>>2]&&(ot=.5*+p[s+(104*c|0)+72>>2],rt=.5*+p[s+(104*c|0)+76>>2],_t=.5*+p[s+(104*c|0)+80>>2],M=0|_[8+(0|_[G>>2])>>2],r=s+(104*c|0)+8|0,et=rt+ +p[(T=s+(104*c|0)+12|0)>>2],nt=_t+ +p[(P=s+(104*c|0)+16|0)>>2],p[o+160>>2]=ot+ +p[r>>2],p[o+160+4>>2]=et,p[o+160+8>>2]=nt,p[o+160+12>>2]=0,pd[127&M](G,r,o+160|0,o+64|0),M=0|_[8+(0|_[G>>2])>>2],rt=+p[T>>2]-rt,_t=+p[P>>2]-_t,p[o+160>>2]=+p[r>>2]-ot,p[o+160+4>>2]=rt,p[o+160+8>>2]=_t,p[o+160+12>>2]=0,_t=.5*+p[o+64+4>>2],rt=.5*+p[o+64+8>>2],p[o+96>>2]=.5*+p[o+64>>2],p[o+96+4>>2]=_t,p[o+96+8>>2]=rt,p[o+96+12>>2]=0,pd[127&M](G,r,o+160|0,o+96|0),r=0|_[H+712>>2]),c=c+1|0}while((0|c)<(0|r))}if(32&V&&(!(0|n[24488])&&0|Qs(24488)&&(_[5540]=1065353216,_[5541]=0,_[5542]=0,_[5543]=0,_[5544]=0,_[5545]=1065353216,_[5546]=0,_[5547]=0,_[5548]=0,_[5549]=0,_[5550]=1065353216,p[5551]=0),(0|_[H+812>>2])>0)){r=0;do{M=0|_[H+820>>2],T=0|_[M+(104*r|0)+24>>2],I=+p[T+8>>2],B=+p[(P=M+(104*r|0)+4|0)>>2],W=+p[T+12>>2],F=+p[(y=M+(104*r|0)+8|0)>>2],J=+p[T+16>>2],X=+p[(T=M+(104*r|0)+12|0)>>2],z=+p[M+(104*r|0)+20>>2]+(I*B+W*F+J*X),p[o+160>>2]=I-B*z,p[o+160+4>>2]=W-F*z,p[o+160+8>>2]=J-X*z,p[o+160+12>>2]=0,K=+p[P>>2],_t=+p[y>>2],x=+p[T>>2],O=+p[22160+((M=K<_t?K>2],q=+p[22160+(M<<4)+4>>2],nt=+p[22160+(M<<4)>>2],tt=1/+b(+((K*q-_t*nt)*(K*q-_t*nt)+((_t*O-x*q)*(_t*O-x*q)+(x*nt-K*O)*(x*nt-K*O)))),rt=1/+b(+((ot=_t*((_t*O-x*q)*tt)-K*((x*nt-K*O)*tt))*ot+(($=x*((x*nt-K*O)*tt)-_t*((K*q-_t*nt)*tt))*$+(et=K*((K*q-_t*nt)*tt)-x*((_t*O-x*q)*tt))*et))),M=0|_[8+(0|_[G>>2])>>2],p[o+96>>2]=I-B*z-(_t*O-x*q)*tt*.5,p[o+96+4>>2]=W-F*z-(x*nt-K*O)*tt*.5,p[o+96+8>>2]=J-X*z-(K*q-_t*nt)*tt*.5,p[o+96+12>>2]=0,p[o+32>>2]=I-B*z+(_t*O-x*q)*tt*.5,p[o+32+4>>2]=W-F*z+(x*nt-K*O)*tt*.5,p[o+32+8>>2]=J-X*z+(K*q-_t*nt)*tt*.5,p[o+32+12>>2]=0,pd[127&M](G,o+96|0,o+32|0,o+48|0),M=0|_[8+(0|_[G>>2])>>2],tt=+p[o+160>>2],nt=+p[o+160+4>>2],_t=+p[o+160+8>>2],p[o+96>>2]=tt-$*rt*.5,p[o+96+4>>2]=nt-et*rt*.5,p[o+96+8>>2]=_t-ot*rt*.5,p[o+96+12>>2]=0,p[o+32>>2]=$*rt*.5+tt,p[o+32+4>>2]=et*rt*.5+nt,p[o+32+8>>2]=ot*rt*.5+_t,p[o+32+12>>2]=0,pd[127&M](G,o+96|0,o+32|0,o+48|0),M=0|_[8+(0|_[G>>2])>>2],_t=.5*+p[y>>2]*3+ +p[o+160+4>>2],rt=.5*+p[T>>2]*3+ +p[o+160+8>>2],p[o+96>>2]=.5*+p[P>>2]*3+ +p[o+160>>2],p[o+96+4>>2]=_t,p[o+96+8>>2]=rt,p[o+96+12>>2]=0,_[o+32>>2]=1065353216,_[o+32+4>>2]=1065353216,_[o+32+8>>2]=0,p[o+32+12>>2]=0,pd[127&M](G,o+160|0,o+96|0,o+32|0),r=r+1|0}while((0|r)<(0|_[H+812>>2]))}if(4&V&&(_[o+160>>2]=0,_[o+160+4>>2]=1060320051,_[o+160+8>>2]=0,p[o+160+12>>2]=0,(0|(L=0|_[H+752>>2]))>0)){c=0,r=L;do{s=0|_[H+760>>2],1&_[16+(0|_[s+(44*c|0)+4>>2])>>2]&&(r=0|_[s+(44*c|0)+8>>2],K=+p[r+8>>2],tt=+p[r+12>>2],ot=+p[r+16>>2],r=0|_[s+(44*c|0)+12>>2],q=+p[r+8>>2],et=+p[r+12>>2],_t=+p[r+16>>2],r=0|_[s+(44*c|0)+16>>2],$=+p[r+8>>2],nt=+p[r+12>>2],rt=+p[r+16>>2],r=0|_[28+(0|_[G>>2])>>2],p[o+96>>2]=.3333333432674408*(K+q+$)+.800000011920929*(K-.3333333432674408*(K+q+$)),p[o+96+4>>2]=.3333333432674408*(tt+et+nt)+.800000011920929*(tt-.3333333432674408*(tt+et+nt)),p[o+96+8>>2]=.3333333432674408*(ot+_t+rt)+.800000011920929*(ot-.3333333432674408*(ot+_t+rt)),p[o+96+12>>2]=0,p[o+32>>2]=.3333333432674408*(K+q+$)+.800000011920929*(q-.3333333432674408*(K+q+$)),p[o+32+4>>2]=.3333333432674408*(tt+et+nt)+.800000011920929*(et-.3333333432674408*(tt+et+nt)),p[o+32+8>>2]=.3333333432674408*(ot+_t+rt)+.800000011920929*(_t-.3333333432674408*(ot+_t+rt)),p[o+32+12>>2]=0,p[o+16>>2]=.3333333432674408*(K+q+$)+.800000011920929*($-.3333333432674408*(K+q+$)),p[o+16+4>>2]=.3333333432674408*(tt+et+nt)+.800000011920929*(nt-.3333333432674408*(tt+et+nt)),p[o+16+8>>2]=.3333333432674408*(ot+_t+rt)+.800000011920929*(rt-.3333333432674408*(ot+_t+rt)),p[o+16+12>>2]=0,bd[1&r](G,o+96|0,o+32|0,o+16|0,o+160|0,1),r=0|_[H+752>>2]),c=c+1|0}while((0|c)<(0|r))}if(8&V&&(_[o+160>>2]=1050253722,_[o+160+4>>2]=1050253722,_[o+160+8>>2]=1060320051,p[o+160+12>>2]=0,(0|(E=0|_[H+772>>2]))>0)){c=0,r=E;do{s=0|_[H+780>>2],1&_[16+(0|_[s+(104*c|0)+4>>2])>>2]&&(r=0|_[s+(104*c|0)+8>>2],R=+p[r+8>>2],I=+p[r+12>>2],F=+p[r+16>>2],r=0|_[s+(104*c|0)+12>>2],j=+p[r+8>>2],B=+p[r+12>>2],x=+p[r+16>>2],r=0|_[s+(104*c|0)+16>>2],D=+p[r+8>>2],W=+p[r+12>>2],O=+p[r+16>>2],r=0|_[s+(104*c|0)+20>>2],ot=+p[r+8>>2],_t=+p[r+12>>2],rt=+p[r+16>>2],r=0|_[28+(0|_[G>>2])>>2],tt=.25*(R+j+D+ot)+.800000011920929*(R-.25*(R+j+D+ot)),et=.25*(I+B+W+_t)+.800000011920929*(I-.25*(I+B+W+_t)),nt=.25*(F+x+O+rt)+.800000011920929*(F-.25*(F+x+O+rt)),p[o+96>>2]=tt,p[o+96+4>>2]=et,p[o+96+8>>2]=nt,p[o+96+12>>2]=0,J=.25*(R+j+D+ot)+.800000011920929*(j-.25*(R+j+D+ot)),X=.25*(I+B+W+_t)+.800000011920929*(B-.25*(I+B+W+_t)),z=.25*(F+x+O+rt)+.800000011920929*(x-.25*(F+x+O+rt)),p[o+32>>2]=J,p[o+32+4>>2]=X,p[o+32+8>>2]=z,p[o+32+12>>2]=0,K=.25*(R+j+D+ot)+.800000011920929*(D-.25*(R+j+D+ot)),q=.25*(I+B+W+_t)+.800000011920929*(W-.25*(I+B+W+_t)),$=.25*(F+x+O+rt)+.800000011920929*(O-.25*(F+x+O+rt)),p[o+16>>2]=K,p[o+16+4>>2]=q,p[o+16+8>>2]=$,p[o+16+12>>2]=0,bd[1&r](G,o+96|0,o+32|0,o+16|0,o+160|0,1),r=0|_[28+(0|_[G>>2])>>2],p[o+96>>2]=tt,p[o+96+4>>2]=et,p[o+96+8>>2]=nt,p[o+96+12>>2]=0,p[o+32>>2]=J,p[o+32+4>>2]=X,p[o+32+8>>2]=z,p[o+32+12>>2]=0,ot=.25*(R+j+D+ot)+.800000011920929*(ot-.25*(R+j+D+ot)),_t=.25*(I+B+W+_t)+.800000011920929*(_t-.25*(I+B+W+_t)),rt=.25*(F+x+O+rt)+.800000011920929*(rt-.25*(F+x+O+rt)),p[o+16>>2]=ot,p[o+16+4>>2]=_t,p[o+16+8>>2]=rt,p[o+16+12>>2]=0,bd[1&r](G,o+96|0,o+32|0,o+16|0,o+160|0,1),r=0|_[28+(0|_[G>>2])>>2],p[o+96>>2]=J,p[o+96+4>>2]=X,p[o+96+8>>2]=z,p[o+96+12>>2]=0,p[o+32>>2]=K,p[o+32+4>>2]=q,p[o+32+8>>2]=$,p[o+32+12>>2]=0,p[o+16>>2]=ot,p[o+16+4>>2]=_t,p[o+16+8>>2]=rt,p[o+16+12>>2]=0,bd[1&r](G,o+96|0,o+32|0,o+16|0,o+160|0,1),r=0|_[28+(0|_[G>>2])>>2],p[o+96>>2]=K,p[o+96+4>>2]=q,p[o+96+8>>2]=$,p[o+96+12>>2]=0,p[o+32>>2]=tt,p[o+32+4>>2]=et,p[o+32+8>>2]=nt,p[o+32+12>>2]=0,p[o+16>>2]=ot,p[o+16+4>>2]=_t,p[o+16+8>>2]=rt,p[o+16+12>>2]=0,bd[1&r](G,o+96|0,o+32|0,o+16|0,o+160|0,1),r=0|_[H+772>>2]),c=c+1|0}while((0|c)<(0|r))}}if(64&V){if((0|_[H+792>>2])>0){r=0;do{M=0|_[H+800>>2],T=0|_[M+(96*r|0)+20>>2],et=+p[M+(96*r|0)+4>>2],nt=+p[M+(96*r|0)+8>>2],ot=+p[M+(96*r|0)+12>>2],_t=et*+p[T+20>>2]+nt*+p[T+24>>2]+ot*+p[T+28>>2]+ +p[T+56>>2],rt=et*+p[T+36>>2]+nt*+p[T+40>>2]+ot*+p[T+44>>2]+ +p[T+60>>2],p[o+32>>2]=et*+p[T+4>>2]+nt*+p[T+8>>2]+ot*+p[T+12>>2]+ +p[T+52>>2],p[o+32+4>>2]=_t,p[o+32+8>>2]=rt,p[o+32+12>>2]=0,T=0|_[(M=M+(96*r|0)|0)>>2],_[o+16>>2]=1065353216,_[o+16+4>>2]=0,_[o+16+8>>2]=0,p[o+16+12>>2]=0,P=0|_[8+(0|_[G>>2])>>2],rt=+p[T+8>>2],_t=+p[T+12>>2],ot=+p[T+16>>2],p[o+160>>2]=rt+-.25,p[o+160+4>>2]=_t,p[o+160+8>>2]=ot,p[o+160+12>>2]=0,p[o+96>>2]=rt+.25,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=ot+0,p[o+96+12>>2]=0,pd[127&P](G,o+160|0,o+96|0,o+16|0),P=0|_[8+(0|_[G>>2])>>2],ot=+p[T+8>>2],_t=+p[T+12>>2],rt=+p[T+16>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t+-.25,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+.25,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&P](G,o+160|0,o+96|0,o+16|0),P=0|_[8+(0|_[G>>2])>>2],rt=+p[T+8>>2],_t=+p[T+12>>2],ot=+p[T+16>>2],p[o+160>>2]=rt,p[o+160+4>>2]=_t,p[o+160+8>>2]=ot+-.25,p[o+160+12>>2]=0,p[o+96>>2]=rt+0,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=ot+.25,p[o+96+12>>2]=0,pd[127&P](G,o+160|0,o+96|0,o+16|0),_[o+16>>2]=0,_[o+16+4>>2]=1065353216,_[o+16+8>>2]=0,p[o+16+12>>2]=0,P=0|_[8+(0|_[G>>2])>>2],ot=+p[o+32>>2],_t=+p[o+32+4>>2],rt=+p[o+32+8>>2],p[o+160>>2]=ot+-.25,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+.25,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&P](G,o+160|0,o+96|0,o+16|0),P=0|_[8+(0|_[G>>2])>>2],rt=+p[o+32>>2],_t=+p[o+32+4>>2],ot=+p[o+32+8>>2],p[o+160>>2]=rt,p[o+160+4>>2]=_t+-.25,p[o+160+8>>2]=ot,p[o+160+12>>2]=0,p[o+96>>2]=rt+0,p[o+96+4>>2]=_t+.25,p[o+96+8>>2]=ot+0,p[o+96+12>>2]=0,pd[127&P](G,o+160|0,o+96|0,o+16|0),P=0|_[8+(0|_[G>>2])>>2],ot=+p[o+32>>2],_t=+p[o+32+4>>2],rt=+p[o+32+8>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt+-.25,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+.25,p[o+96+12>>2]=0,pd[127&P](G,o+160|0,o+96|0,o+16|0),P=0|_[8+(0|_[G>>2])>>2],M=8+(0|_[M>>2])|0,_[o+160>>2]=1065353216,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=1065353216,p[o+160+12>>2]=0,pd[127&P](G,M,o+32|0,o+160|0),r=r+1|0}while((0|r)<(0|_[H+792>>2]))}if((0|(r=0|_[H+712>>2]))>0){c=0;do{s=0|_[H+720>>2],1&_[16+(0|_[s+(104*c|0)+4>>2])>>2]&&+p[s+(104*c|0)+88>>2]<=0&&(_[o+32>>2]=1065353216,_[o+32+4>>2]=0,_[o+32+8>>2]=0,p[o+32+12>>2]=0,r=0|_[8+(0|_[G>>2])>>2],ot=+p[(T=s+(104*c|0)+8|0)>>2],_t=+p[(P=s+(104*c|0)+12|0)>>2],rt=+p[(M=s+(104*c|0)+16|0)>>2],p[o+160>>2]=ot+-.25,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+.25,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&r](G,o+160|0,o+96|0,o+32|0),r=0|_[8+(0|_[G>>2])>>2],rt=+p[T>>2],_t=+p[P>>2],ot=+p[M>>2],p[o+160>>2]=rt,p[o+160+4>>2]=_t+-.25,p[o+160+8>>2]=ot,p[o+160+12>>2]=0,p[o+96>>2]=rt+0,p[o+96+4>>2]=_t+.25,p[o+96+8>>2]=ot+0,p[o+96+12>>2]=0,pd[127&r](G,o+160|0,o+96|0,o+32|0),r=0|_[8+(0|_[G>>2])>>2],ot=+p[T>>2],_t=+p[P>>2],rt=+p[M>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt+-.25,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+.25,p[o+96+12>>2]=0,pd[127&r](G,o+160|0,o+96|0,o+32|0),r=0|_[H+712>>2]),c=c+1|0}while((0|c)<(0|r))}}if(128&V&&(0|_[H+692>>2])>0){s=0;do{if(a=(c=0|_[H+700>>2])+(60*s|0)+8|0,_[o+160>>2]=_[a>>2],_[o+160+4>>2]=_[a+4>>2],_[o+160+8>>2]=_[a+8>>2],_[o+160+12>>2]=_[a+12>>2],(0|(a=0|_[c+(60*s|0)+24>>2]))>0){r=0,l=+p[o+160>>2],d=+p[o+160+4>>2],A=+p[o+160+8>>2];do{M=0|_[c+(60*s|0)+28+(r<<2)>>2],rt=+p[c+(60*s|0)+44+(r<<2)>>2],l=+p[M+8>>2]*rt+l,d=rt*+p[M+12>>2]+d,A=rt*+p[M+16>>2]+A,p[o+160+8>>2]=A,r=r+1|0}while((0|r)!=(0|a));p[o+160>>2]=l,p[o+160+4>>2]=d}_d[127&_[40+(0|_[G>>2])>>2]](G,o+160|0,0|_[c+(60*s|0)+4>>2]),s=s+1|0}while((0|s)<(0|_[H+692>>2]))}512&V&&(M=0|_[H+928>>2],_[o+160>>2]=1065353216,_[o+160+4>>2]=0,_[o+160+8>>2]=1065353216,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=1065353216,_[o+96+8>>2]=1065353216,p[o+96+12>>2]=0,it(G,M,0,o+160|0,o+96|0)),1024&V&&(M=0|_[H+988>>2],_[o+160>>2]=0,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=0,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=0,_[o+96+8>>2]=0,p[o+96+12>>2]=0,it(G,M,0,o+160|0,o+96|0)),2048&V&&(M=0|_[H+1048>>2],_[o+160>>2]=0,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=1065353216,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=0,_[o+96+8>>2]=0,p[o+96+12>>2]=0,it(G,M,0,o+160|0,o+96|0));t:do{if(4096&V&&(0|_[H+852>>2])>0)for(r=0;;){switch(s=0|_[(0|_[H+860>>2])+(r<<2)>>2],0|Gl[127&_[20+(0|_[s>>2])>>2]](s)){case 0:V=0|ae(s+4|0),rt=+p[s+28>>2],_t=+p[s+32>>2],ot=+p[s+36>>2],nt=rt*+p[V+16>>2]+_t*+p[V+20>>2]+ot*+p[V+24>>2]+ +p[V+52>>2],et=rt*+p[V+32>>2]+_t*+p[V+36>>2]+ot*+p[V+40>>2]+ +p[V+56>>2],p[o+32>>2]=rt*+p[V>>2]+_t*+p[V+4>>2]+ot*+p[V+8>>2]+ +p[V+48>>2],p[o+32+4>>2]=nt,p[o+32+8>>2]=et,p[o+32+12>>2]=0,V=0|ae(s+16|0),et=+p[s+44>>2],nt=+p[s+48>>2],ot=+p[s+52>>2],_t=et*+p[V+16>>2]+nt*+p[V+20>>2]+ot*+p[V+24>>2]+ +p[V+52>>2],rt=et*+p[V+32>>2]+nt*+p[V+36>>2]+ot*+p[V+40>>2]+ +p[V+56>>2],p[o+16>>2]=et*+p[V>>2]+nt*+p[V+4>>2]+ot*+p[V+8>>2]+ +p[V+48>>2],p[o+16+4>>2]=_t,p[o+16+8>>2]=rt,p[o+16+12>>2]=0,V=0|_[8+(0|_[G>>2])>>2],M=48+(0|ae(s+4|0))|0,_[o+160>>2]=1065353216,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=0,p[o+160+12>>2]=0,pd[127&V](G,M,o+32|0,o+160|0),M=0|_[8+(0|_[G>>2])>>2],V=48+(0|ae(s+16|0))|0,_[o+160>>2]=0,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=1065353216,p[o+160+12>>2]=0,pd[127&M](G,V,o+16|0,o+160|0),_[o>>2]=1065353216,_[o+4>>2]=1065353216,_[o+8>>2]=0,p[o+12>>2]=0,V=0|_[8+(0|_[G>>2])>>2],rt=+p[o+32>>2],_t=+p[o+32+4>>2],ot=+p[o+32+8>>2],p[o+160>>2]=rt+-.25,p[o+160+4>>2]=_t,p[o+160+8>>2]=ot,p[o+160+12>>2]=0,p[o+96>>2]=rt+.25,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=ot+0,p[o+96+12>>2]=0,pd[127&V](G,o+160|0,o+96|0,o),V=0|_[8+(0|_[G>>2])>>2],ot=+p[o+32>>2],_t=+p[o+32+4>>2],rt=+p[o+32+8>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t+-.25,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+.25,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&V](G,o+160|0,o+96|0,o),V=0|_[8+(0|_[G>>2])>>2],rt=+p[o+32>>2],_t=+p[o+32+4>>2],ot=+p[o+32+8>>2],p[o+160>>2]=rt,p[o+160+4>>2]=_t,p[o+160+8>>2]=ot+-.25,p[o+160+12>>2]=0,p[o+96>>2]=rt+0,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=ot+.25,p[o+96+12>>2]=0,pd[127&V](G,o+160|0,o+96|0,o),_[o>>2]=0,_[o+4>>2]=1065353216,_[o+8>>2]=1065353216,p[o+12>>2]=0,V=0|_[8+(0|_[G>>2])>>2],ot=+p[o+16>>2],_t=+p[o+16+4>>2],rt=+p[o+16+8>>2],p[o+160>>2]=ot+-.25,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt,p[o+160+12>>2]=0,p[o+96>>2]=ot+.25,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+0,p[o+96+12>>2]=0,pd[127&V](G,o+160|0,o+96|0,o),V=0|_[8+(0|_[G>>2])>>2],rt=+p[o+16>>2],_t=+p[o+16+4>>2],ot=+p[o+16+8>>2],p[o+160>>2]=rt,p[o+160+4>>2]=_t+-.25,p[o+160+8>>2]=ot,p[o+160+12>>2]=0,p[o+96>>2]=rt+0,p[o+96+4>>2]=_t+.25,p[o+96+8>>2]=ot+0,p[o+96+12>>2]=0,pd[127&V](G,o+160|0,o+96|0,o),V=0|_[8+(0|_[G>>2])>>2],ot=+p[o+16>>2],_t=+p[o+16+4>>2],rt=+p[o+16+8>>2],p[o+160>>2]=ot,p[o+160+4>>2]=_t,p[o+160+8>>2]=rt+-.25,p[o+160+12>>2]=0,p[o+96>>2]=ot+0,p[o+96+4>>2]=_t+0,p[o+96+8>>2]=rt+.25,p[o+96+12>>2]=0,pd[127&V](G,o+160|0,o+96|0,o);break;case 1:V=48+(0|ae(s+4|0))|0,_[o+160>>2]=_[V>>2],_[o+160+4>>2]=_[V+4>>2],_[o+160+8>>2]=_[V+8>>2],_[o+160+12>>2]=_[V+12>>2],V=48+(0|ae(s+16|0))|0,_[o+96>>2]=_[V>>2],_[o+96+4>>2]=_[V+4>>2],_[o+96+8>>2]=_[V+8>>2],_[o+96+12>>2]=_[V+12>>2],V=0|ae(s+4|0),$=+p[s+28>>2],q=+p[s+32>>2],nt=+p[s+36>>2],tt=+p[V>>2]*$+ +p[V+4>>2]*q+ +p[V+8>>2]*nt,et=$*+p[V+16>>2]+q*+p[V+20>>2]+nt*+p[V+24>>2],nt=$*+p[V+32>>2]+q*+p[V+36>>2]+nt*+p[V+40>>2],V=0|ae(s+16|0),q=+p[s+44>>2],$=+p[s+48>>2],rt=+p[s+52>>2],ot=+p[V>>2]*q+ +p[V+4>>2]*$+ +p[V+8>>2]*rt,_t=q*+p[V+16>>2]+$*+p[V+20>>2]+rt*+p[V+24>>2],rt=q*+p[V+32>>2]+$*+p[V+36>>2]+rt*+p[V+40>>2],V=0|_[8+(0|_[G>>2])>>2],$=10*et+ +p[o+160+4>>2],q=10*nt+ +p[o+160+8>>2],p[o+32>>2]=10*tt+ +p[o+160>>2],p[o+32+4>>2]=$,p[o+32+8>>2]=q,p[o+32+12>>2]=0,_[o+16>>2]=1065353216,_[o+16+4>>2]=1065353216,_[o+16+8>>2]=0,p[o+16+12>>2]=0,pd[127&V](G,o+160|0,o+32|0,o+16|0),V=0|_[8+(0|_[G>>2])>>2],q=10*_t+ +p[o+160+4>>2],$=10*rt+ +p[o+160+8>>2],p[o+32>>2]=10*ot+ +p[o+160>>2],p[o+32+4>>2]=q,p[o+32+8>>2]=$,p[o+32+12>>2]=0,_[o+16>>2]=1065353216,_[o+16+4>>2]=1065353216,_[o+16+8>>2]=0,p[o+16+12>>2]=0,pd[127&V](G,o+160|0,o+32|0,o+16|0),V=0|_[8+(0|_[G>>2])>>2],et=10*et+ +p[o+96+4>>2],nt=10*nt+ +p[o+96+8>>2],p[o+32>>2]=10*tt+ +p[o+96>>2],p[o+32+4>>2]=et,p[o+32+8>>2]=nt,p[o+32+12>>2]=0,_[o+16>>2]=0,_[o+16+4>>2]=1065353216,_[o+16+8>>2]=1065353216,p[o+16+12>>2]=0,pd[127&V](G,o+96|0,o+32|0,o+16|0),V=0|_[8+(0|_[G>>2])>>2],_t=10*_t+ +p[o+96+4>>2],rt=10*rt+ +p[o+96+8>>2],p[o+32>>2]=10*ot+ +p[o+96>>2],p[o+32+4>>2]=_t,p[o+32+8>>2]=rt,p[o+32+12>>2]=0,_[o+16>>2]=0,_[o+16+4>>2]=1065353216,_[o+16+8>>2]=1065353216,p[o+16+12>>2]=0,pd[127&V](G,o+96|0,o+32|0,o+16|0)}if((0|(r=r+1|0))>=(0|_[H+852>>2]))break t}}while(0)}0|(r=0|_[t+72>>2])&&2&Gl[127&_[48+(0|_[r>>2])>>2]](r)&&(0|n[t+348|0]&&(V=0|_[t+72>>2],G=0|_[H+928>>2],_[o+160>>2]=1065353216,_[o+160+4>>2]=0,_[o+160+8>>2]=1065353216,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=1065353216,_[o+96+8>>2]=1065353216,p[o+96+12>>2]=0,it(V,G,0,o+160|0,o+96|0)),0|n[t+349|0]&&(V=0|_[t+72>>2],G=0|_[H+988>>2],_[o+160>>2]=0,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=0,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=0,_[o+96+8>>2]=0,p[o+96+12>>2]=0,it(V,G,0,o+160|0,o+96|0)),0|n[t+350|0]&&(G=0|_[t+72>>2],H=0|_[H+1048>>2],_[o+160>>2]=0,_[o+160+4>>2]=1065353216,_[o+160+8>>2]=1065353216,p[o+160+12>>2]=0,_[o+96>>2]=1065353216,_[o+96+4>>2]=0,_[o+96+8>>2]=0,p[o+96+12>>2]=0,it(G,H,0,o+160|0,o+96|0))),N=N+1|0}while((0|N)<(0|_[t+328>>2]));Q=o}else Q=o},function(t){t|=0;var e,i=0,n=0,o=0;e=Q,Q=Q+16|0,$i(16703),Xl[511&_[8+(0|_[t>>2])>>2]](t),Xl[511&_[12+(0|_[t>>2])>>2]](t),i=0|_[t+24>>2],$i(16737),0|i&&(o=0|_[32+(0|_[i>>2])>>2],n=0|_[t+68>>2],n=0|Gl[127&_[36+(0|_[n>>2])>>2]](n),pd[127&o](i,n,t+28|0,0|_[t+24>>2])),i=0|_[2606],o=(0|_[i+16>>2])-1|0,_[i+16>>2]=o;do{if(o)t=i;else{if(0|_[i+4>>2]){if(G(0|e,0),t=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[e+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[e>>2])-(0|_[t>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,t=0|_[2606],0|_[i+16>>2])break}else t=i;t=0|_[t+20>>2],_[2606]=t}}while(0);if(o=(0|_[(i=t+16|0)>>2])-1|0,_[i>>2]=o,0|o)Q=e;else{do{if(0|_[t+4>>2]){if(G(0|e,0),n=0|_[6629],p[(o=t+8|0)>>2]=+p[o>>2]+ +(((0|_[e+4>>2])-(0|_[n+4>>2])+(1e6*((0|_[e>>2])-(0|_[n>>2])|0)|0)-(0|_[t+12>>2])|0)>>>0)/1e3,0|_[i>>2])return void(Q=e);t=0|_[2606];break}}while(0);_[2606]=_[t+20>>2],Q=e}},function(t){t|=0;var e,i=0,o=0,r=0,s=0,c=0,a=0;e=Q,Q=Q+64|0,$i(14625);t:do{if(0|n[t+274|0]){if((0|(i=0|_[t+8>>2]))>0){s=0;do{0|(r=0|_[(0|_[t+16>>2])+(s<<2)>>2])&&2&_[r+236>>2]&&0|_[r+480>>2]&&!(3&_[r+204>>2])&&(o=0|n[t+300|0]&&0!=(c=+p[t+268>>2])?+p[t+264>>2]-c:+p[t+264>>2]*+p[r+244>>2],Bt(r+68|0,+p[r+132>>2],+p[r+136>>2],+p[r+140>>2],r+148|0,o,e),i=0|_[r+480>>2],ed[127&_[12+(0|_[i>>2])>>2]](i,e),i=0|_[t+8>>2]),s=s+1|0}while((0|s)<(0|i))}}else if((0|(i=0|_[t+232>>2]))>0)for(s=0;;){switch(r=0|_[(0|_[t+240>>2])+(s<<2)>>2],0|_[r+216>>2]){case 2:case 5:break;default:0|_[r+480>>2]&&!(3&_[r+204>>2])&&(o=0|n[t+300|0]&&0!=(a=+p[t+268>>2])?+p[t+264>>2]-a:+p[t+264>>2]*+p[r+244>>2],Bt(r+68|0,+p[r+132>>2],+p[r+136>>2],+p[r+140>>2],r+148|0,o,e),i=0|_[r+480>>2],ed[127&_[12+(0|_[i>>2])>>2]](i,e),i=0|_[t+232>>2])}if((0|(s=s+1|0))>=(0|i))break t}}while(0);if(i=0|_[2606],t=(0|_[i+16>>2])-1|0,_[i+16>>2]=t,0|t)Q=e;else{do{if(0|_[i+4>>2]){if(G(0|e,0),t=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[e+4>>2])-(0|_[t+4>>2])+(1e6*((0|_[e>>2])-(0|_[t>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,0|_[i+16>>2])return void(Q=e);i=0|_[2606];break}}while(0);_[2606]=_[i+20>>2],Q=e}},function(t){var e=0,i=0;if(!((0|_[232+(t|=0)>>2])<=0)){e=0;do{i=412+(0|_[(0|_[t+240>>2])+(e<<2)>>2])|0,_[i>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,_[i+16>>2]=0,_[i+20>>2]=0,_[i+24>>2]=0,_[i+28>>2]=0,e=e+1|0}while((0|e)<(0|_[t+232>>2]))}},function(t){t|=0;var e,i=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0;if(e=Q,Q=Q+16|0,$i(14494),l=0|_[t+204>>2],_d[127&_[8+(0|_[l>>2])>>2]](l,t,0|_[t+24>>2]),(0|(l=0|_[t+308>>2]))>0){d=0|_[t+316>>2],a=0;do{if(o=0|_[d+(a<<2)>>2],i=0|_[o+740>>2],o=0|_[o+744>>2],0|i&&0|o&&!(3&_[i+204>>2])&&!(3&_[o+204>>2])){if(r=0|_[i+208>>2],i=0|_[o+208>>2],c=0|_[16+(0|_[t+204>>2])>>2],(0|(o=0|_[c+(r<<3)>>2]))!=(0|r)&&(_[c+(r<<3)>>2]=_[c+(o<<3)>>2],(0|(r=0|_[c+(o<<3)>>2]))!=(0|(o=0|_[c+(r<<3)>>2])))){s=c+(r<<3)|0;do{r=c+(o<<3)|0,_[s>>2]=_[r>>2],r=0|_[r>>2],o=0|_[(s=c+(r<<3)|0)>>2]}while((0|r)!=(0|o))}if((0|(o=0|_[c+(i<<3)>>2]))!=(0|i)&&(_[c+(i<<3)>>2]=_[c+(o<<3)>>2],(0|(i=0|_[c+(o<<3)>>2]))!=(0|(o=0|_[c+(i<<3)>>2])))){s=c+(i<<3)|0;do{i=c+(o<<3)|0,_[s>>2]=_[i>>2],i=0|_[i>>2],o=0|_[(s=c+(i<<3)|0)>>2]}while((0|i)!=(0|o))}(0|r)!=(0|i)&&(_[c+(r<<3)>>2]=i,_[(s=c+(i<<3)+4|0)>>2]=(0|_[s>>2])+(0|_[c+(r<<3)+4>>2]))}a=a+1|0}while((0|a)!=(0|l))}if((0|(l=0|_[t+212>>2]))>0){d=0|_[t+220>>2],a=0;do{if(i=0|_[d+(a<<2)>>2],0|n[i+20|0]&&(b=0|_[i+28>>2],!(3&_[b+204>>2]))&&(A=0|_[i+32>>2],!(3&_[A+204>>2]))){if(o=0|_[b+208>>2],i=0|_[A+208>>2],c=0|_[16+(0|_[t+204>>2])>>2],(0|(r=0|_[c+(o<<3)>>2]))!=(0|o)&&(_[c+(o<<3)>>2]=_[c+(r<<3)>>2],(0|(o=0|_[c+(r<<3)>>2]))!=(0|(r=0|_[c+(o<<3)>>2])))){s=c+(o<<3)|0;do{o=c+(r<<3)|0,_[s>>2]=_[o>>2],o=0|_[o>>2],r=0|_[(s=c+(o<<3)|0)>>2]}while((0|o)!=(0|r))}if((0|(r=0|_[c+(i<<3)>>2]))!=(0|i)&&(_[c+(i<<3)>>2]=_[c+(r<<3)>>2],(0|(i=0|_[c+(r<<3)>>2]))!=(0|(r=0|_[c+(i<<3)>>2])))){s=c+(i<<3)|0;do{i=c+(r<<3)|0,_[s>>2]=_[i>>2],i=0|_[i>>2],r=0|_[(s=c+(i<<3)|0)>>2]}while((0|i)!=(0|r))}(0|o)!=(0|i)&&(_[c+(o<<3)>>2]=i,_[(s=c+(i<<3)+4|0)>>2]=(0|_[s>>2])+(0|_[c+(o<<3)+4>>2]))}a=a+1|0}while((0|a)!=(0|l))}if(i=0|_[t+204>>2],ed[127&_[12+(0|_[i>>2])>>2]](i,t),i=0|_[2606],A=(0|_[i+16>>2])-1|0,_[i+16>>2]=A,0|A)Q=e;else{do{if(0|_[i+4>>2]){if(G(0|e,0),A=0|_[6629],p[i+8>>2]=+p[i+8>>2]+ +(((0|_[e+4>>2])-(0|_[A+4>>2])+(1e6*((0|_[e>>2])-(0|_[A>>2])|0)|0)-(0|_[i+12>>2])|0)>>>0)/1e3,0|_[i+16>>2])return void(Q=e);i=0|_[2606];break}}while(0);_[2606]=_[i+20>>2],Q=e}},function(t){var e,i,n=0,o=0,r=0;if(!((0|(i=0|_[232+(t|=0)>>2]))<=0)){e=0|_[t+240>>2],t=0;do{switch(n=0|_[e+(t<<2)>>2],0|_[n+216>>2]){case 2:case 5:break;default:3&_[n+204>>2]||(r=+p[n+368>>2]*+p[n+352>>2],o=+p[n+372>>2]*+p[n+356>>2],p[n+412>>2]=+p[n+364>>2]*+p[n+348>>2]+ +p[n+412>>2],p[n+416>>2]=r+ +p[n+416>>2],p[n+420>>2]=o+ +p[n+420>>2])}t=t+1|0}while((0|t)!=(0|i))}},hl,ml,hl,ml,function(t){var e;_[(t|=0)>>2]=4956,0|(e=0|_[t+496>>2])&&(0|n[t+500|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+496>>2]=0),n[t+500|0]=1,_[t+496>>2]=0,_[t+488>>2]=0,_[t+492>>2]=0,_[t>>2]=5904},function(t){var e;_[(t|=0)>>2]=4956,0|(e=0|_[t+496>>2])&&(0|n[t+500|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+496>>2]=0),n[t+500|0]=1,_[t+496>>2]=0,_[t+488>>2]=0,_[t+492>>2]=0,_[t>>2]=5904,_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])},kt,function(t){kt(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},jl,ml,An,function(t){An(t|=0),yl(t)},Pa,jr,hl,Pa,jr,function(t){var e,i,o,r,s=0,c=0,a=0;r=Q,Q=Q+16|0,0|n[1308+(t|=0)|0]?(p[t+928>>2]=0,p[t+992>>2]=0,p[t+1056>>2]=0,_[t+712>>2]=0,_[t+712+4>>2]=0,_[t+712+8>>2]=0,_[t+712+12>>2]=0,Pi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0),Xl[511&_[44+(0|_[t>>2])>>2]](t),e=+p[t+1284>>2],i=+p[t+1288>>2],o=+p[t+1292>>2],+p[t+696>>2]>=+p[t+680>>2]&&(a=!(0|n[t+1300|0]),s=0|_[(a?t+1160:t+1096)>>2],c=0|_[(a?t+1144:t+1080)>>2],_[r>>2]=_[(a?t+1128:t+1064)>>2],_[r+4>>2]=c,_[r+8>>2]=s,p[r+12>>2]=0,Jt(0|_[t+28>>2],0|_[t+32>>2],t+176|0,r,e,i,o,e,i,o)),+p[t+700>>2]>=+p[t+684>>2]&&(s=!(0|n[t+1300|0]),a=0|_[(s?t+1164:t+1100)>>2],c=0|_[(s?t+1148:t+1084)>>2],_[r>>2]=_[(s?t+1132:t+1068)>>2],_[r+4>>2]=c,_[r+8>>2]=a,p[r+12>>2]=0,Jt(0|_[t+28>>2],0|_[t+32>>2],t+260|0,r,e,i,o,e,i,o)),+p[t+704>>2]>=+p[t+688>>2]&&(s=!(0|n[t+1300|0]),a=0|_[(s?t+1168:t+1104)>>2],c=0|_[(s?t+1152:t+1088)>>2],_[r>>2]=_[(s?t+1136:t+1072)>>2],_[r+4>>2]=c,_[r+8>>2]=a,p[r+12>>2]=0,Jt(0|_[t+28>>2],0|_[t+32>>2],t+344|0,r,e,i,o,e,i,o)),0|at(t,0)&&(_[r>>2]=_[t+1208>>2],_[r+4>>2]=_[t+1208+4>>2],_[r+8>>2]=_[t+1208+8>>2],_[r+12>>2]=_[t+1208+12>>2],wt(0|_[t+28>>2],0|_[t+32>>2],t+428|0,r)),0|at(t,1)&&(_[r>>2]=_[t+1224>>2],_[r+4>>2]=_[t+1224+4>>2],_[r+8>>2]=_[t+1224+8>>2],_[r+12>>2]=_[t+1224+12>>2],wt(0|_[t+28>>2],0|_[t+32>>2],t+512|0,r)),0|at(t,2)&&(_[r>>2]=_[t+1240>>2],_[r+4>>2]=_[t+1240+4>>2],_[r+8>>2]=_[t+1240+8>>2],_[r+12>>2]=_[t+1240+12>>2],wt(0|_[t+28>>2],0|_[t+32>>2],t+596|0,r)),Q=r):Q=r},function(t){var e,i=0,n=0;i=+p[344+(0|_[28+(t|=0)>>2])>>2],n=0==(n=+p[344+(0|_[t+32>>2])>>2])?1:i/(i+n),i=+p[t+1116>>2]*n+(1-n)*+p[t+1180>>2],e=n*+p[t+1120>>2]+(1-n)*+p[t+1184>>2],p[t+1284>>2]=+p[t+1112>>2]*n+ +p[t+1176>>2]*(1-n),p[t+1288>>2]=i,p[t+1292>>2]=e,p[t+1296>>2]=0},jr,jr,function(t){var e,i=0,n=0,o=0,r=0,s=0,c=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;e=Q,Q=Q+144|0,p[36+(t|=0)>>2]=0,_[e+128>>2]=0,_[e+128+4>>2]=0,_[e+128+8>>2]=0,_[e+128+12>>2]=0,i=0;do{p[(n=e+128+(i<<2)|0)>>2]=1,r=0|_[t+28>>2],x=0|_[r+4>>2],_[e+80>>2]=x,B=0|_[r+20>>2],_[e+80+4>>2]=B,j=0|_[r+36>>2],_[e+80+8>>2]=j,p[e+80+12>>2]=0,F=0|_[r+8>>2],_[e+80+16>>2]=F,I=0|_[r+24>>2],_[e+80+20>>2]=I,R=0|_[r+40>>2],_[e+80+24>>2]=R,p[e+80+28>>2]=0,W=0|_[r+12>>2],_[e+80+32>>2]=W,D=0|_[r+28>>2],_[e+80+36>>2]=D,k=0|_[r+44>>2],_[e+80+40>>2]=k,p[e+80+44>>2]=0,o=0|_[t+32>>2],w=0|_[o+4>>2],_[e+32>>2]=w,C=0|_[o+20>>2],_[e+32+4>>2]=C,h=0|_[o+36>>2],_[e+32+8>>2]=h,p[e+32+12>>2]=0,S=0|_[o+8>>2],_[e+32+16>>2]=S,g=0|_[o+24>>2],_[e+32+20>>2]=g,m=0|_[o+40>>2],_[e+32+24>>2]=m,p[e+32+28>>2]=0,v=0|_[o+12>>2],_[e+32+32>>2]=v,y=0|_[o+28>>2],_[e+32+36>>2]=y,A=0|_[o+44>>2],_[e+32+40>>2]=A,p[e+32+44>>2]=0,l=(f=+p[t+300>>2])*(_[a>>2]=x,+p[a>>2]),l+=(s=+p[t+304>>2])*(_[a>>2]=F,+p[a>>2]),l+=(c=+p[t+308>>2])*(_[a>>2]=W,+p[a>>2]),u=f*(_[a>>2]=B,+p[a>>2]),u+=s*(_[a>>2]=I,+p[a>>2]),u+=c*(_[a>>2]=D,+p[a>>2]),s=(f*=(_[a>>2]=j,+p[a>>2]))+s*(_[a>>2]=R,+p[a>>2]),f=+p[r+52>>2],b=+p[r+56>>2],d=+p[r+60>>2],d=s+c*(_[a>>2]=k,+p[a>>2])+d-d,p[e+16>>2]=l+f-f,p[e+16+4>>2]=u+b-b,p[e+16+8>>2]=d,p[e+16+12>>2]=0,b=(d=+p[t+316>>2])*(_[a>>2]=w,+p[a>>2]),b+=(u=+p[t+320>>2])*(_[a>>2]=S,+p[a>>2]),b+=(f=+p[t+324>>2])*(_[a>>2]=v,+p[a>>2]),l=d*(_[a>>2]=C,+p[a>>2]),l+=u*(_[a>>2]=g,+p[a>>2]),l+=f*(_[a>>2]=y,+p[a>>2]),u=(d*=(_[a>>2]=h,+p[a>>2]))+u*(_[a>>2]=m,+p[a>>2]),d=+p[o+52>>2],c=+p[o+56>>2],s=+p[o+60>>2],s=u+f*(_[a>>2]=A,+p[a>>2])+s-s,p[e>>2]=b+d-d,p[e+4>>2]=l+c-c,p[e+8>>2]=s,p[e+12>>2]=0,Dt(t+48+(84*i|0)|0,e+80|0,e+32|0,e+16|0,e,e+128|0,r+396|0,+p[r+344>>2],o+396|0,+p[o+344>>2]),p[n>>2]=0,i=i+1|0}while(3!=(0|i));Q=e},cl,jr,jr,function(t){var e,i,o=0,r=0,s=0,c=0,a=0,l=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0;e=Q,Q=Q+176|0,0|n[527+(t|=0)|0]?(p[t+36>>2]=0,p[t+520>>2]=0,p[t+516>>2]=0,_[t+576>>2]=0,_[t+576+4>>2]=0,_[t+576+8>>2]=0,_[t+576+12>>2]=0,0|n[t+524|0]||(C=0|_[t+28>>2],c=+p[t+348>>2],a=+p[t+352>>2],m=+p[t+356>>2],y=c*+p[C+20>>2]+a*+p[C+24>>2]+m*+p[C+28>>2]+ +p[C+56>>2],o=0|_[t+32>>2],l=+p[t+412>>2],A=+p[t+416>>2],h=+p[t+420>>2],g=l*+p[o+20>>2]+A*+p[o+24>>2]+h*+p[o+28>>2]+ +p[o+56>>2],f=l*+p[o+36>>2]+A*+p[o+40>>2]+h*+p[o+44>>2]+ +p[o+60>>2],u=c*+p[C+4>>2]+a*+p[C+8>>2]+m*+p[C+12>>2]+ +p[C+52>>2],m=c*+p[C+36>>2]+a*+p[C+40>>2]+m*+p[C+44>>2]+ +p[C+60>>2],((h=l*+p[o+4>>2]+A*+p[o+8>>2]+h*+p[o+12>>2]+ +p[o+52>>2])-u)*(h-u)+(g-y)*(g-y)+(f-m)*(f-m)>1.1920928955078125e-7?(s=1/+b(+((h-u)*(h-u)+(g-y)*(g-y)+(f-m)*(f-m))),p[e>>2]=(h-u)*s,p[e+4>>2]=(g-y)*s,p[e+8>>2]=(f-m)*s,_[e+12>>2]=0,c=(f-m)*s,r=(g-y)*s,s*=h-u):(_[e>>2]=1065353216,_[e+4>>2]=0,_[e+8>>2]=0,p[e+12>>2]=0,c=0,r=0,s=1),+d(+c)>.7071067690849304?(A=-s*(a=r*(v=1/+b(+(S=c*c+r*r)))),l=s*(c=-c*v),r=S*v,s=a,a=0):(S=s*(l=1/+b(+(v=s*s+r*r))),A=c*(a=-r*l),l*=v,r=-c*S,s=0,c=S),p[e+16>>2]=a,p[e+20>>2]=c,p[e+24>>2]=s,p[e+32>>2]=r,p[e+36>>2]=A,p[e+40>>2]=l,C=0|_[t+28>>2],_[e+128>>2]=_[C+4>>2],_[e+128+4>>2]=_[C+20>>2],_[e+128+8>>2]=_[C+36>>2],p[e+128+12>>2]=0,_[e+128+16>>2]=_[C+8>>2],_[e+128+20>>2]=_[C+24>>2],_[e+128+24>>2]=_[C+40>>2],p[e+128+28>>2]=0,_[e+128+32>>2]=_[C+12>>2],_[e+128+36>>2]=_[C+28>>2],_[e+128+40>>2]=_[C+44>>2],p[e+128+44>>2]=0,o=0|_[t+32>>2],_[e+80>>2]=_[o+4>>2],_[e+80+4>>2]=_[o+20>>2],_[e+80+8>>2]=_[o+36>>2],p[e+80+12>>2]=0,_[e+80+16>>2]=_[o+8>>2],_[e+80+20>>2]=_[o+24>>2],_[e+80+24>>2]=_[o+40>>2],p[e+80+28>>2]=0,_[e+80+32>>2]=_[o+12>>2],_[e+80+36>>2]=_[o+28>>2],_[e+80+40>>2]=_[o+44>>2],p[e+80+44>>2]=0,S=y-+p[C+56>>2],v=m-+p[C+60>>2],p[e+64>>2]=u-+p[C+52>>2],p[e+64+4>>2]=S,p[e+64+8>>2]=v,p[e+64+12>>2]=0,v=g-+p[o+56>>2],S=f-+p[o+60>>2],p[e+48>>2]=h-+p[o+52>>2],p[e+48+4>>2]=v,p[e+48+8>>2]=S,p[e+48+12>>2]=0,Dt(t+48|0,e+128|0,e+80|0,e+64|0,e+48|0,e,C+396|0,+p[C+344>>2],o+396|0,+p[o+344>>2]),o=0|_[t+28>>2],_[e+128>>2]=_[o+4>>2],_[e+128+4>>2]=_[o+20>>2],_[e+128+8>>2]=_[o+36>>2],p[e+128+12>>2]=0,_[e+128+16>>2]=_[o+8>>2],_[e+128+20>>2]=_[o+24>>2],_[e+128+24>>2]=_[o+40>>2],p[e+128+28>>2]=0,_[e+128+32>>2]=_[o+12>>2],_[e+128+36>>2]=_[o+28>>2],_[e+128+40>>2]=_[o+44>>2],p[e+128+44>>2]=0,C=0|_[t+32>>2],_[e+80>>2]=_[C+4>>2],_[e+80+4>>2]=_[C+20>>2],_[e+80+8>>2]=_[C+36>>2],p[e+80+12>>2]=0,_[e+80+16>>2]=_[C+8>>2],_[e+80+20>>2]=_[C+24>>2],_[e+80+24>>2]=_[C+40>>2],p[e+80+28>>2]=0,_[e+80+32>>2]=_[C+12>>2],_[e+80+36>>2]=_[C+28>>2],_[e+80+40>>2]=_[C+44>>2],p[e+80+44>>2]=0,S=y-+p[o+56>>2],v=m-+p[o+60>>2],p[e+64>>2]=u-+p[o+52>>2],p[e+64+4>>2]=S,p[e+64+8>>2]=v,p[e+64+12>>2]=0,v=g-+p[C+56>>2],S=f-+p[C+60>>2],p[e+48>>2]=h-+p[C+52>>2],p[e+48+4>>2]=v,p[e+48+8>>2]=S,p[e+48+12>>2]=0,Dt(t+132|0,e+128|0,e+80|0,e+64|0,e+48|0,e+16|0,o+396|0,+p[o+344>>2],C+396|0,+p[C+344>>2]),C=0|_[t+28>>2],_[e+128>>2]=_[C+4>>2],_[e+128+4>>2]=_[C+20>>2],_[e+128+8>>2]=_[C+36>>2],p[e+128+12>>2]=0,_[e+128+16>>2]=_[C+8>>2],_[e+128+20>>2]=_[C+24>>2],_[e+128+24>>2]=_[C+40>>2],p[e+128+28>>2]=0,_[e+128+32>>2]=_[C+12>>2],_[e+128+36>>2]=_[C+28>>2],_[e+128+40>>2]=_[C+44>>2],p[e+128+44>>2]=0,o=0|_[t+32>>2],_[e+80>>2]=_[o+4>>2],_[e+80+4>>2]=_[o+20>>2],_[e+80+8>>2]=_[o+36>>2],p[e+80+12>>2]=0,_[e+80+16>>2]=_[o+8>>2],_[e+80+20>>2]=_[o+24>>2],_[e+80+24>>2]=_[o+40>>2],p[e+80+28>>2]=0,_[e+80+32>>2]=_[o+12>>2],_[e+80+36>>2]=_[o+28>>2],_[e+80+40>>2]=_[o+44>>2],p[e+80+44>>2]=0,S=y-+p[C+56>>2],v=m-+p[C+60>>2],p[e+64>>2]=u-+p[C+52>>2],p[e+64+4>>2]=S,p[e+64+8>>2]=v,p[e+64+12>>2]=0,v=g-+p[o+56>>2],S=f-+p[o+60>>2],p[e+48>>2]=h-+p[o+52>>2],p[e+48+4>>2]=v,p[e+48+8>>2]=S,p[e+48+12>>2]=0,Dt(t+216|0,e+128|0,e+80|0,e+64|0,e+48|0,e+32|0,C+396|0,+p[C+344>>2],o+396|0,+p[o+344>>2])),o=t+32|0,ui(t,4+(i=0|_[t+28>>2])|0,4+(C=0|_[o>>2])|0,i+264|0,C+264|0),Q=e):Q=e},jr,function(t){var e,i=0,o=0,r=0,s=0,c=0,l=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0;if(e=Q,Q=Q+176|0,0|n[738+(t|=0)|0]){p[t+36>>2]=0,p[t+744>>2]=0,0|n[t+736|0]||(o=0|_[t+28>>2],c=+p[t+600>>2],l=+p[t+604>>2],h=+p[t+608>>2],g=c*+p[o+20>>2]+l*+p[o+24>>2]+h*+p[o+28>>2]+ +p[o+56>>2],r=0|_[t+32>>2],A=+p[t+664>>2],f=+p[t+668>>2],y=+p[t+672>>2],C=A*+p[r+20>>2]+f*+p[r+24>>2]+y*+p[r+28>>2]+ +p[r+56>>2],u=A*+p[r+36>>2]+f*+p[r+40>>2]+y*+p[r+44>>2]+ +p[r+60>>2],m=c*+p[o+4>>2]+l*+p[o+8>>2]+h*+p[o+12>>2]+ +p[o+52>>2],h=c*+p[o+36>>2]+l*+p[o+40>>2]+h*+p[o+44>>2]+ +p[o+60>>2],((y=A*+p[r+4>>2]+f*+p[r+8>>2]+y*+p[r+12>>2]+ +p[r+52>>2])-m)*(y-m)+(C-g)*(C-g)+(u-h)*(u-h)>1.1920928955078125e-7?(s=1/+b(+((y-m)*(y-m)+(C-g)*(C-g)+(u-h)*(u-h))),p[e>>2]=(y-m)*s,p[e+4>>2]=(C-g)*s,p[e+8>>2]=(u-h)*s,_[e+12>>2]=0,c=(u-h)*s,i=(C-g)*s,s*=y-m):(_[e>>2]=1065353216,_[e+4>>2]=0,_[e+8>>2]=0,p[e+12>>2]=0,c=0,i=0,s=1),+d(+c)>.7071067690849304?(f=-s*(l=i*(v=1/+b(+(S=c*c+i*i)))),A=s*(c=-c*v),i=S*v,s=l,l=0):(S=s*(A=1/+b(+(v=s*s+i*i))),f=c*(l=-i*A),A*=v,i=-c*S,s=0,c=S),p[e+16>>2]=l,p[e+20>>2]=c,p[e+24>>2]=s,p[e+32>>2]=i,p[e+36>>2]=f,p[e+40>>2]=A,o=0|_[t+28>>2],_[e+128>>2]=_[o+4>>2],_[e+128+4>>2]=_[o+20>>2],_[e+128+8>>2]=_[o+36>>2],p[e+128+12>>2]=0,_[e+128+16>>2]=_[o+8>>2],_[e+128+20>>2]=_[o+24>>2],_[e+128+24>>2]=_[o+40>>2],p[e+128+28>>2]=0,_[e+128+32>>2]=_[o+12>>2],_[e+128+36>>2]=_[o+28>>2],_[e+128+40>>2]=_[o+44>>2],p[e+128+44>>2]=0,r=0|_[t+32>>2],_[e+80>>2]=_[r+4>>2],_[e+80+4>>2]=_[r+20>>2],_[e+80+8>>2]=_[r+36>>2],p[e+80+12>>2]=0,_[e+80+16>>2]=_[r+8>>2],_[e+80+20>>2]=_[r+24>>2],_[e+80+24>>2]=_[r+40>>2],p[e+80+28>>2]=0,_[e+80+32>>2]=_[r+12>>2],_[e+80+36>>2]=_[r+28>>2],_[e+80+40>>2]=_[r+44>>2],p[e+80+44>>2]=0,S=g-+p[o+56>>2],v=h-+p[o+60>>2],p[e+64>>2]=m-+p[o+52>>2],p[e+64+4>>2]=S,p[e+64+8>>2]=v,p[e+64+12>>2]=0,v=C-+p[r+56>>2],S=u-+p[r+60>>2],p[e+48>>2]=y-+p[r+52>>2],p[e+48+4>>2]=v,p[e+48+8>>2]=S,p[e+48+12>>2]=0,Dt(t+48|0,e+128|0,e+80|0,e+64|0,e+48|0,e,o+396|0,+p[o+344>>2],r+396|0,+p[r+344>>2]),r=0|_[t+28>>2],_[e+128>>2]=_[r+4>>2],_[e+128+4>>2]=_[r+20>>2],_[e+128+8>>2]=_[r+36>>2],p[e+128+12>>2]=0,_[e+128+16>>2]=_[r+8>>2],_[e+128+20>>2]=_[r+24>>2],_[e+128+24>>2]=_[r+40>>2],p[e+128+28>>2]=0,_[e+128+32>>2]=_[r+12>>2],_[e+128+36>>2]=_[r+28>>2],_[e+128+40>>2]=_[r+44>>2],p[e+128+44>>2]=0,o=0|_[t+32>>2],_[e+80>>2]=_[o+4>>2],_[e+80+4>>2]=_[o+20>>2],_[e+80+8>>2]=_[o+36>>2],p[e+80+12>>2]=0,_[e+80+16>>2]=_[o+8>>2],_[e+80+20>>2]=_[o+24>>2],_[e+80+24>>2]=_[o+40>>2],p[e+80+28>>2]=0,_[e+80+32>>2]=_[o+12>>2],_[e+80+36>>2]=_[o+28>>2],_[e+80+40>>2]=_[o+44>>2],p[e+80+44>>2]=0,S=g-+p[r+56>>2],v=h-+p[r+60>>2],p[e+64>>2]=m-+p[r+52>>2],p[e+64+4>>2]=S,p[e+64+8>>2]=v,p[e+64+12>>2]=0,v=C-+p[o+56>>2],S=u-+p[o+60>>2],p[e+48>>2]=y-+p[o+52>>2],p[e+48+4>>2]=v,p[e+48+8>>2]=S,p[e+48+12>>2]=0,Dt(t+132|0,e+128|0,e+80|0,e+64|0,e+48|0,e+16|0,r+396|0,+p[r+344>>2],o+396|0,+p[o+344>>2]),o=0|_[t+28>>2],_[e+128>>2]=_[o+4>>2],_[e+128+4>>2]=_[o+20>>2],_[e+128+8>>2]=_[o+36>>2],p[e+128+12>>2]=0,_[e+128+16>>2]=_[o+8>>2],_[e+128+20>>2]=_[o+24>>2],_[e+128+24>>2]=_[o+40>>2],p[e+128+28>>2]=0,_[e+128+32>>2]=_[o+12>>2],_[e+128+36>>2]=_[o+28>>2],_[e+128+40>>2]=_[o+44>>2],p[e+128+44>>2]=0,r=0|_[t+32>>2],_[e+80>>2]=_[r+4>>2],_[e+80+4>>2]=_[r+20>>2],_[e+80+8>>2]=_[r+36>>2],p[e+80+12>>2]=0,_[e+80+16>>2]=_[r+8>>2],_[e+80+20>>2]=_[r+24>>2],_[e+80+24>>2]=_[r+40>>2],p[e+80+28>>2]=0,_[e+80+32>>2]=_[r+12>>2],_[e+80+36>>2]=_[r+28>>2],_[e+80+40>>2]=_[r+44>>2],p[e+80+44>>2]=0,S=g-+p[o+56>>2],v=h-+p[o+60>>2],p[e+64>>2]=m-+p[o+52>>2],p[e+64+4>>2]=S,p[e+64+8>>2]=v,p[e+64+12>>2]=0,v=C-+p[r+56>>2],S=u-+p[r+60>>2],p[e+48>>2]=y-+p[r+52>>2],p[e+48+4>>2]=v,p[e+48+8>>2]=S,p[e+48+12>>2]=0,Dt(t+216|0,e+128|0,e+80|0,e+64|0,e+48|0,e+32|0,o+396|0,+p[o+344>>2],r+396|0,+p[r+344>>2])),o=0|_[t+560>>2],r=0|_[t+576>>2],h=+p[t+592>>2],+d(+h)>.7071067690849304?(_[a>>2]=r,S=+p[a>>2],m=1/+b(+(h*h+S*S)),_[a>>2]=o,i=u=+p[a>>2],s=S,c=u*(-h*m),l=(h*h+S*S)*m,A=0,f=m*S,u*=-m*S,m*=-h):(_[a>>2]=o,m=+p[a>>2],_[a>>2]=r,i=m,s=u=+p[a>>2],c=(m*m+u*u)*(S=1/+b(+(m*m+u*u))),l=S*m*-h,A=-S*u,f=0,u=h*(-S*u),m*=S),o=0|_[t+28>>2],x=A*(E=+p[o+4>>2])+m*(P=+p[o+8>>2])+f*(I=+p[o+12>>2]),k=A*(L=+p[o+20>>2])+m*(j=+p[o+24>>2])+f*(O=+p[o+28>>2]),V=A*(N=+p[o+36>>2])+m*(y=+p[o+40>>2])+f*(W=+p[o+44>>2]),B=l*E+u*P+c*I,F=l*L+u*j+c*O,T=l*N+u*y+c*W,g=E*i+P*s+h*I,v=L*i+j*s+h*O,s=N*i+y*s+h*W,r=0|_[t+32>>2],R=+p[r+4>>2],w=+p[r+20>>2],c=+p[r+36>>2],u=+p[r+8>>2],m=+p[r+24>>2],C=+p[r+40>>2],A=+p[r+12>>2],h=+p[r+28>>2],M=+p[r+44>>2],_[t+300>>2]=0,_[t+300+4>>2]=0,_[t+300+8>>2]=0,_[t+300+12>>2]=0,p[t+316>>2]=x*E+k*L+V*N,p[t+320>>2]=x*P+k*j+V*y,p[t+324>>2]=x*I+k*O+V*W,p[t+328>>2]=0,p[t+332>>2]=R*-x+w*-k+c*-V,p[t+336>>2]=u*-x+m*-k+C*-V,p[t+340>>2]=A*-x+h*-k+M*-V,p[t+344>>2]=0,l=(x*E+k*L+V*N)*+p[o+396>>2],i=(x*P+k*j+V*y)*+p[o+400>>2],D=(x*I+k*O+V*W)*+p[o+404>>2],p[t+348>>2]=l,p[t+352>>2]=i,p[t+356>>2]=D,p[t+360>>2]=0,f=(R*-x+w*-k+c*-V)*+p[r+396>>2],S=(u*-x+m*-k+C*-V)*+p[r+400>>2],G=(A*-x+h*-k+M*-V)*+p[r+404>>2],p[t+364>>2]=f,p[t+368>>2]=S,p[t+372>>2]=G,p[t+376>>2]=0,p[t+380>>2]=(x*E+k*L+V*N)*l+(x*P+k*j+V*y)*i+(x*I+k*O+V*W)*D+((R*-x+w*-k+c*-V)*f+(u*-x+m*-k+C*-V)*S+(A*-x+h*-k+M*-V)*G),G=+p[o+4>>2],V=+p[o+20>>2],M=+p[o+36>>2],h=+p[o+8>>2],A=+p[o+24>>2],k=+p[o+40>>2],x=+p[o+12>>2],S=+p[o+28>>2],C=+p[o+44>>2],m=+p[r+4>>2],u=+p[r+20>>2],f=+p[r+36>>2],c=+p[r+8>>2],w=+p[r+24>>2],R=+p[r+40>>2],D=+p[r+12>>2],W=+p[r+28>>2],O=+p[r+44>>2],_[t+384>>2]=0,_[t+384+4>>2]=0,_[t+384+8>>2]=0,_[t+384+12>>2]=0,p[t+400>>2]=B*G+F*V+T*M,p[t+404>>2]=B*h+F*A+T*k,p[t+408>>2]=B*x+F*S+T*C,p[t+412>>2]=0,p[t+416>>2]=m*-B+u*-F+f*-T,p[t+420>>2]=c*-B+w*-F+R*-T,p[t+424>>2]=D*-B+W*-F+O*-T,p[t+428>>2]=0,i=(B*G+F*V+T*M)*+p[o+396>>2],I=(B*h+F*A+T*k)*+p[o+400>>2],y=(B*x+F*S+T*C)*+p[o+404>>2],p[t+432>>2]=i,p[t+436>>2]=I,p[t+440>>2]=y,p[t+444>>2]=0,l=(m*-B+u*-F+f*-T)*+p[r+396>>2],j=(c*-B+w*-F+R*-T)*+p[r+400>>2],P=(D*-B+W*-F+O*-T)*+p[r+404>>2],p[t+448>>2]=l,p[t+452>>2]=j,p[t+456>>2]=P,p[t+460>>2]=0,p[t+464>>2]=(B*G+F*V+T*M)*i+(B*h+F*A+T*k)*I+(B*x+F*S+T*C)*y+((m*-B+u*-F+f*-T)*l+(c*-B+w*-F+R*-T)*j+(D*-B+W*-F+O*-T)*P),P=+p[o+4>>2],T=+p[o+20>>2],O=+p[o+36>>2],F=+p[o+8>>2],W=+p[o+24>>2],B=+p[o+40>>2],D=+p[o+12>>2],j=+p[o+28>>2],R=+p[o+44>>2],w=+p[r+4>>2],c=+p[r+20>>2],l=+p[r+36>>2],f=+p[r+8>>2],u=+p[r+24>>2],m=+p[r+40>>2],y=+p[r+12>>2],C=+p[r+28>>2],S=+p[r+44>>2],_[t+468>>2]=0,_[t+468+4>>2]=0,_[t+468+8>>2]=0,_[t+468+12>>2]=0,p[t+484>>2]=g*P+v*T+s*O,p[t+488>>2]=g*F+v*W+s*B,p[t+492>>2]=g*D+v*j+s*R,p[t+496>>2]=0,p[t+500>>2]=w*-g+c*-v+l*-s,p[t+504>>2]=f*-g+u*-v+m*-s,p[t+508>>2]=y*-g+C*-v+S*-s,p[t+512>>2]=0,x=(g*P+v*T+s*O)*+p[o+396>>2],I=(g*F+v*W+s*B)*+p[o+400>>2],k=(g*D+v*j+s*R)*+p[o+404>>2],p[t+516>>2]=x,p[t+520>>2]=I,p[t+524>>2]=k,p[t+528>>2]=0,A=(w*-g+c*-v+l*-s)*+p[r+396>>2],h=(f*-g+u*-v+m*-s)*+p[r+400>>2],i=(y*-g+C*-v+S*-s)*+p[r+404>>2],p[t+532>>2]=A,p[t+536>>2]=h,p[t+540>>2]=i,p[t+544>>2]=0,p[t+548>>2]=(g*P+v*T+s*O)*x+(g*F+v*W+s*B)*I+(g*D+v*j+s*R)*k+((w*-g+c*-v+l*-s)*A+(f*-g+u*-v+m*-s)*h+(y*-g+C*-v+S*-s)*i),p[t+724>>2]=0,i=+Yi(t,o+4|0,r+4|0),p[t+728>>2]=i,p[t+708>>2]=0,p[t+712>>2]=0,n[t+716|0]=0,s=+p[t+692>>2];do{if(s>=0){if((i=(i-+p[t+688>>2])%6.2831854820251465)<-3.1415927410125732?i+=6.2831854820251465:i>3.1415927410125732&&(i+=-6.2831854820251465),i<-s){n[t+716|0]=1,p[t+708>>2]=-(s+i),p[t+712>>2]=1;break}i>s&&(n[t+716|0]=1,p[t+708>>2]=s-i,p[t+712>>2]=-1)}}while(0);o=0|_[t+28>>2],V=+p[t+560>>2],G=+p[t+576>>2],E=+p[t+592>>2],N=V*+p[o+4>>2]+G*+p[o+8>>2]+E*+p[o+12>>2],L=V*+p[o+20>>2]+G*+p[o+24>>2]+E*+p[o+28>>2],E=V*+p[o+36>>2]+G*+p[o+40>>2]+E*+p[o+44>>2],r=0|_[t+32>>2],p[t+720>>2]=1/(N*(N*+p[o+264>>2]+L*+p[o+280>>2]+E*+p[o+296>>2])+L*(N*+p[o+268>>2]+L*+p[o+284>>2]+E*+p[o+300>>2])+E*(N*+p[o+272>>2]+L*+p[o+288>>2]+E*+p[o+304>>2])+(N*(N*+p[r+264>>2]+L*+p[r+280>>2]+E*+p[r+296>>2])+L*(N*+p[r+268>>2]+L*+p[r+284>>2]+E*+p[r+300>>2])+E*(N*+p[r+272>>2]+L*+p[r+288>>2]+E*+p[r+304>>2]))),Q=e}else Q=e},At,function(t){At(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},function(t){_[192+(t|=0)>>2]=0},ce,function(t){ce(t|=0),yl(t)},ml,function(t){var e;_[(t|=0)>>2]=5772,0|(e=0|_[t+140>>2])&&(0|n[t+144|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+140>>2]=0),n[t+144|0]=1,_[t+140>>2]=0,_[t+132>>2]=0,_[t+136>>2]=0},function(t){var e;_[(t|=0)>>2]=5772,0|(e=0|_[t+140>>2])&&(0|n[t+144|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+140>>2]=0),n[t+144|0]=1,_[t+140>>2]=0,_[t+132>>2]=0,_[t+136>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])},function(t){0|Gl[127&_[40+(0|_[(t|=0)>>2])>>2]](t)&&(_[t+16>>2]=_[t+28>>2],n[t+169|0]=1)},ml,hl,ml,function(t){_[(t|=0)>>2]=5904},function(t){_[(t|=0)>>2]=5904,t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},function(t){var e;_[(t|=0)>>2]=5940,0|(e=0|_[t+276>>2])&&(0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+276>>2]=0),n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[t+272>>2]=0,_[t>>2]=5904},function(t){var e;_[(t|=0)>>2]=5940,0|(e=0|_[t+276>>2])&&(0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+276>>2]=0),n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[t+272>>2]=0,_[t>>2]=5904,_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])},Bn,function(t){Bn(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},function(t){var e;_[(t|=0)>>2]=6028,0|(e=0|_[t+20>>2])&&(0|n[t+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+20>>2]=0),n[t+24|0]=1,_[t+20>>2]=0,_[t+12>>2]=0,_[t+16>>2]=0},function(t){var e;_[(t|=0)>>2]=6028,(e=0|_[t+20>>2])&&0|n[t+24|0]?(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),yl(t)):yl(t)},hl,ml,H,function(t){H(t|=0),yl(t)},ml,ml,ml,ml,ml,ml,ml,ml,ml,ml,un,function(t){un(t|=0),yl(t)},function(t){var e;_[(t|=0)>>2]=6376,0|n[t+8|0]&&(e=0|_[t+12>>2])&&(t=0|_[t+4>>2],ed[127&_[16+(0|_[t>>2])>>2]](t,e))},function(t){var e,i;_[(t|=0)>>2]=6376,0|n[t+8|0]&&(e=0|_[t+12>>2])?(i=0|_[t+4>>2],ed[127&_[16+(0|_[i>>2])>>2]](i,e),yl(t)):yl(t)},function(t){var e=0;_[(t|=0)>>2]=6404,_[t+12>>2]=6452,e=0|_[t+60>>2],ed[127&_[20+(0|_[e>>2])>>2]](e,0|_[t+76>>2]),e=0|_[t+60>>2],ed[127&_[16+(0|_[e>>2])>>2]](e,0|_[t+76>>2])},function(t){var e=0;_[(t|=0)>>2]=6404,_[t+12>>2]=6452,e=0|_[t+60>>2],ed[127&_[20+(0|_[e>>2])>>2]](e,0|_[t+76>>2]),e=0|_[t+60>>2],ed[127&_[16+(0|_[e>>2])>>2]](e,0|_[t+76>>2]),yl(t)},ml,function(t){var e=0;_[(t|=0)>>2]=6452,e=0|_[t+48>>2],ed[127&_[20+(0|_[e>>2])>>2]](e,0|_[t+64>>2]),e=0|_[t+48>>2],ed[127&_[16+(0|_[e>>2])>>2]](e,0|_[t+64>>2])},function(t){var e=0;_[(t|=0)>>2]=6452,e=0|_[t+48>>2],ed[127&_[20+(0|_[e>>2])>>2]](e,0|_[t+64>>2]),e=0|_[t+48>>2],ed[127&_[16+(0|_[e>>2])>>2]](e,0|_[t+64>>2]),yl(t)},function(t){var e;_[(t|=0)>>2]=6472,0|n[t+8|0]&&(e=0|_[t+12>>2])&&(t=0|_[t+4>>2],ed[127&_[16+(0|_[t>>2])>>2]](t,e))},function(t){var e,i;_[(t|=0)>>2]=6472,0|n[t+8|0]&&(e=0|_[t+12>>2])?(i=0|_[t+4>>2],ed[127&_[16+(0|_[i>>2])>>2]](i,e),yl(t)):yl(t)},hl,ml,cn,function(t){cn(t|=0),yl(t)},Me,ml,ml,ml,ml,ml,hl,ml,hl,function(t){yl((t|=0)-4|0)},ml,ml,ml,ml,ml,ml,function(t){var e;_[(t|=0)>>2]=6900,0|n[t+8|0]&&(e=0|_[t+12>>2])&&(t=0|_[t+4>>2],ed[127&_[16+(0|_[t>>2])>>2]](t,e))},function(t){var e,i;_[(t|=0)>>2]=6900,0|n[t+8|0]&&(e=0|_[t+12>>2])?(i=0|_[t+4>>2],ed[127&_[16+(0|_[i>>2])>>2]](i,e),yl(t)):yl(t)},hl,ml,function(t){var e;_[(t|=0)>>2]=6948,0|n[t+16|0]&&(e=0|_[t+20>>2])&&(t=0|_[t+4>>2],ed[127&_[16+(0|_[t>>2])>>2]](t,e))},function(t){var e,i;_[(t|=0)>>2]=6948,0|n[t+16|0]&&(e=0|_[t+20>>2])?(i=0|_[t+4>>2],ed[127&_[16+(0|_[i>>2])>>2]](i,e),yl(t)):yl(t)},ml,ml,ml,Cn,function(t){Cn(t|=0),yl(t)},ml,_n,function(t){_n(t|=0),yl(t)},ml,Tn,function(t){Tn(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},function(t){var e,i=0,n=0,o=0,r=0;if(e=Q,Q=Q+32|0,_[32+(t|=0)>>2]=1566444395,_[t+36>>2]=1566444395,_[t+40>>2]=1566444395,p[t+44>>2]=0,_[t+48>>2]=-581039253,_[t+52>>2]=-581039253,_[t+56>>2]=-581039253,p[t+60>>2]=0,(0|_[t+16>>2])<=0)Q=e;else{n=0;do{o=0|_[t+24>>2],r=0|_[o+(80*n|0)+64>>2],pd[127&_[8+(0|_[r>>2])>>2]](r,o+(80*n|0)|0,e+16|0,e),i=+p[e+16>>2],+p[t+32>>2]>i&&(p[t+32>>2]=i),i=+p[e>>2],+p[t+48>>2]>2]=i),i=+p[e+16+4>>2],+p[t+36>>2]>i&&(p[t+36>>2]=i),i=+p[e+4>>2],+p[t+52>>2]>2]=i),i=+p[e+16+8>>2],+p[t+40>>2]>i&&(p[t+40>>2]=i),i=+p[e+8>>2],+p[t+56>>2]>2]=i),n=n+1|0}while((0|n)<(0|_[t+16>>2]));Q=e}},gs,gs,gs,gs,function(t){var e;_[(t|=0)>>2]=7668,0|n[t+61|0]&&(e=0|_[t+52>>2],Xl[511&_[_[e>>2]>>2]](e),(t=0|_[t+52>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])))},function(t){var e=0;_[(t|=0)>>2]=7668,0|n[t+61|0]&&(e=0|_[t+52>>2],Xl[511&_[_[e>>2]>>2]](e),0|(e=0|_[t+52>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])},hl,ml,ml,ml,hl,gs,ml,hl,ml,hl,gs,cl,cl,function(t){var e=0;_[(t|=0)>>2]=8252,0|(e=0|_[t+104>>2])&&(0|n[t+108|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+104>>2]=0),n[t+108|0]=1,_[t+104>>2]=0,_[t+96>>2]=0,_[t+100>>2]=0,_[t>>2]=8020,(e=0|_[t+52>>2])&&(Xl[511&_[_[e>>2]>>2]](e),(e=0|_[t+52>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])))},function(t){var e=0,i=0;_[(t|=0)>>2]=8252,0|(e=0|_[t+104>>2])&&(0|n[t+108|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+104>>2]=0),n[t+108|0]=1,_[t+104>>2]=0,_[t+96>>2]=0,_[t+100>>2]=0,_[t>>2]=8020,0|(e=0|_[t+52>>2])&&(Xl[511&_[_[e>>2]>>2]](e),0|(i=0|_[t+52>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])},gs,gs,gs,wo,ml,wo,function(t){pe(t|=0)},wr,ml,ml,function(t){_[(t|=0)>>2]=9056},function(t){_[(t|=0)>>2]=9056,t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},gs,gs,gs,se,function(t){se(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},en,gr,hl,gr,function(t){var e;_[(t|=0)>>2]=9644,0|(e=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0},function(t){var e;_[(t|=0)>>2]=9644,(e=0|_[t+16>>2])&&0|n[t+20|0]?(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),yl(t)):yl(t)},fn,function(t){fn(t|=0),yl(t)},ml,ml,Co,function(t){Co(t|=0),yl(t)},hl,ml,ml,ml,pe,wr,cl,hl,ml,ml,ml,ml,ml,ml,hl,ml,hl,ml,function(t){var e;_[(t|=0)>>2]=10252,0|n[t+8|0]&&(e=0|_[t+12>>2])&&(t=0|_[t+4>>2],ed[127&_[16+(0|_[t>>2])>>2]](t,e))},function(t){var e,i;_[(t|=0)>>2]=10252,0|n[t+8|0]&&(e=0|_[t+12>>2])?(i=0|_[t+4>>2],ed[127&_[16+(0|_[i>>2])>>2]](i,e),yl(t)):yl(t)},ml,ml,mn,function(t){mn(t|=0),yl(t)},re,function(t){re(t|=0),t&&(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]))},function(t){var e;_[(t|=0)>>2]=10364,0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0},function(t){var e;_[(t|=0)>>2]=10364,0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2])},hl,ml,hl,hl,ml,ml,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl,Sl],zl=[fl,function(t,e){e=+e;var i,o,r,s,c=0,l=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,N=0,L=0,E=0,H=0,Z=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,bt=0;if(s=Q,Q=Q+240|0,(0|(c=0|_[24+(t|=0)>>2]))<=0)Q=s;else{i=s+128+76|0,o=s+80+16|0,r=s+80+32|0,P=0;do{switch(T=0|_[(0|_[t+32>>2])+(P<<2)>>2],0|_[T+216>>2]){case 2:case 5:break;default:if(0|n[T+924|0]){if(n[T+924|0]=0,(0|(l=0|_[T+732>>2]))>0){A=0|_[T+740>>2],c=0;do{I=0|_[A+(52*c|0)+8>>2],B=0|_[A+(52*c|0)+12>>2],F=+p[I+8>>2]-+p[B+8>>2],x=+p[I+12>>2]-+p[B+12>>2],O=+p[I+16>>2]-+p[B+16>>2],O=+b(+(F*F+x*x+O*O)),p[A+(52*c|0)+16>>2]=O,p[A+(52*c|0)+28>>2]=O*O,c=c+1|0}while((0|c)!=(0|l));c=0;do{p[A+(52*c|0)+24>>2]=(+p[88+(0|_[A+(52*c|0)+8>>2])>>2]+ +p[88+(0|_[A+(52*c|0)+12>>2])>>2])/+p[4+(0|_[A+(52*c|0)+4>>2])>>2],c=c+1|0}while((0|c)!=(0|l))}if(_t(T),0|(c=0|_[T+988>>2])&&Yn(T+988|0,c),0|(c=0|_[T+992>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[T+992>>2]=0,_[T+996>>2]=-1,0|(c=0|_[T+1020>>2])&&(0|n[T+1024|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[T+1020>>2]=0),n[T+1024|0]=1,_[T+1020>>2]=0,_[T+1012>>2]=0,_[T+1016>>2]=0,_[T+1004>>2]=0,16&_[T+388>>2]&&(0|(c=0|_[T+988>>2])&&Yn(T+988|0,c),0|(c=0|_[T+992>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[T+992>>2]=0,_[T+996>>2]=-1,0|(c=0|_[T+1020>>2])&&(0|n[T+1024|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[T+1020>>2]=0),n[T+1024|0]=1,_[T+1020>>2]=0,_[T+1012>>2]=0,_[T+1016>>2]=0,_[T+1004>>2]=0,(0|_[T+752>>2])>0)){l=0;do{if(k=(A=0|_[T+760>>2])+(44*l|0)|0,I=0|_[A+(44*l|0)+8>>2],B=0|_[A+(44*l|0)+12>>2],c=0|_[A+(44*l|0)+16>>2],g=+p[I+8>>2],C=+p[I+12>>2],v=+p[I+16>>2],h=+p[I+20>>2],f=(W=+p[B+8>>2])>2])>2])>2])>2])>2])>2])>2])>2])_[T+992>>2]=0;else{_[6630]=1+(0|_[6630]),(c=0|di(63))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,I=(D=c)+44|0;do{_[D>>2]=0,D=D+4|0}while((0|D)<(0|I))}_[c+32>>2]=0,_[c+36>>2]=k,_[c+40>>2]=0,p[c>>2]=f,p[c+4>>2]=y,p[c+8>>2]=u,p[c+12>>2]=m,p[c+16>>2]=g,p[c+20>>2]=C,p[c+24>>2]=v,p[c+28>>2]=h,U(T+988|0,0|_[T+988>>2],c),_[T+1e3>>2]=1+(0|_[T+1e3>>2]),_[A+(44*l|0)+40>>2]=c,l=l+1|0}while((0|l)<(0|_[T+752>>2]))}}if(m=+p[T+368>>2]*e,p[T+452>>2]=m,p[T+456>>2]=1/m,p[T+460>>2]=3*m,l=0|_[T+192>>2],m=+Il[15&_[48+(0|_[l>>2])>>2]](l),p[T+464>>2]=m,p[T+468>>2]=.25*m,l=0|_[T+684>>2],m=+p[T+452>>2],f=+p[l+40>>2]*m,u=m*+p[l+44>>2],m*=+p[l+48>>2],(0|(l=0|_[T+712>>2]))>0){A=0|_[T+720>>2],c=0;do{+p[A+(104*c|0)+88>>2]>0&&(p[(B=A+(104*c|0)+40|0)>>2]=f+ +p[B>>2],p[(B=A+(104*c|0)+44|0)>>2]=u+ +p[B>>2],p[(B=A+(104*c|0)+48|0)>>2]=m+ +p[B>>2]),c=c+1|0}while((0|c)!=(0|l))}if($i(13440),y=+p[T+308>>2],g=+p[T+312>>2],k=+p[T+304>>2]>0?1:+p[T+300>>2]>0,D=0|_[T+712>>2],0!=y|g>0){if((0|D)>0){if(l=0|_[T+720>>2],u=+p[l+8>>2],m=+p[l+12>>2],h=+p[l+16>>2],(0|(l=0|_[T+752>>2]))>0){A=0|_[T+760>>2],c=0,f=0;do{B=0|_[A+(44*c|0)+8>>2],I=0|_[A+(44*c|0)+12>>2],x=+p[I+8>>2]-u,R=+p[I+12>>2]-m,W=+p[I+16>>2]-h,I=0|_[A+(44*c|0)+16>>2],F=+p[I+8>>2]-u,j=+p[I+12>>2]-m,O=+p[I+16>>2]-h,f+=(+p[B+16>>2]-h)*(x*j-R*F)+((+p[B+8>>2]-u)*(R*O-W*j)+(+p[B+12>>2]-m)*(W*F-x*O)),c=c+1|0}while((0|c)!=(0|l))}else f=0;f/=6}else f=0;u=y*(1/+d(+f)),f=g*(+p[T+476>>2]-f)}else f=0,u=0;if((0|D)>0)if(k){c=0;do{l=0|_[T+720>>2],+p[l+(104*c|0)+88>>2]>0&&(qe(T,T+1212|0,c),0!=y&&(x=(F=u*+p[l+(104*c|0)+92>>2])*+p[l+(104*c|0)+76>>2],O=F*+p[l+(104*c|0)+80>>2],p[(B=l+(104*c|0)+56|0)>>2]=+p[l+(104*c|0)+72>>2]*F+ +p[B>>2],p[(B=l+(104*c|0)+60|0)>>2]=x+ +p[B>>2],p[(B=l+(104*c|0)+64|0)>>2]=O+ +p[B>>2]),g>0&&(x=(F=f*+p[l+(104*c|0)+92>>2])*+p[l+(104*c|0)+76>>2],O=F*+p[l+(104*c|0)+80>>2],p[(B=l+(104*c|0)+56|0)>>2]=+p[l+(104*c|0)+72>>2]*F+ +p[B>>2],p[(B=l+(104*c|0)+60|0)>>2]=x+ +p[B>>2],p[(B=l+(104*c|0)+64|0)>>2]=O+ +p[B>>2])),c=c+1|0}while((0|c)!=(0|D))}else{l=0|_[T+720>>2],c=0;do{+p[l+(104*c|0)+88>>2]>0&&(0!=y&&(x=(F=u*+p[l+(104*c|0)+92>>2])*+p[l+(104*c|0)+76>>2],O=F*+p[l+(104*c|0)+80>>2],p[(B=l+(104*c|0)+56|0)>>2]=+p[l+(104*c|0)+72>>2]*F+ +p[B>>2],p[(B=l+(104*c|0)+60|0)>>2]=x+ +p[B>>2],p[(B=l+(104*c|0)+64|0)>>2]=O+ +p[B>>2]),g>0&&(x=(F=f*+p[l+(104*c|0)+92>>2])*+p[l+(104*c|0)+76>>2],O=F*+p[l+(104*c|0)+80>>2],p[(B=l+(104*c|0)+56|0)>>2]=+p[l+(104*c|0)+72>>2]*F+ +p[B>>2],p[(B=l+(104*c|0)+60|0)>>2]=x+ +p[B>>2],p[(B=l+(104*c|0)+64|0)>>2]=O+ +p[B>>2])),c=c+1|0}while((0|c)!=(0|D))}if((0|(l=0|_[T+752>>2]))>0){c=0;do{W=+p[T+452>>2],C=+p[T+304>>2],h=+p[T+300>>2];t:do{if(C>0|h>0&&(M=0|_[T+288>>2],(0|M)>3)&&(V=0|_[T+760>>2],N=0|_[V+(44*c|0)+8>>2],L=0|_[V+(44*c|0)+12>>2],E=+p[N+40>>2],H=+p[N+44>>2],Z=+p[N+48>>2],Y=0|_[V+(44*c|0)+16>>2],J=0|_[_[T+684>>2]>>2],X=.3333333432674408*(E+ +p[L+40>>2]+ +p[Y+40>>2])-+p[T+1212>>2],z=.3333333432674408*(H+ +p[L+44>>2]+ +p[Y+44>>2])-+p[T+1216>>2],K=.3333333432674408*(Z+ +p[L+48>>2]+ +p[Y+48>>2])-+p[T+1220>>2],q=+b(+(X*X+z*z+K*K)),X*X+z*z+K*K>1.1920928955078125e-7)){switch(w=X*(1/q),R=z*(1/q),j=K*(1/q),g=+p[V+(44*c|0)+20>>2],v=+p[V+(44*c|0)+24>>2],S=+p[V+(44*c|0)+28>>2],0|M){case 5:break;case 4:case 6:if(!(K*(S*(f=X*g+z*v+K*S<0?-1:1))+(X*(g*f)+z*(v*f))>0))break t;if(w=.3333333432674408*(w*(h*(y=-(X*X+z*z+K*K)*((K*(S*f)+(X*(g*f)+z*(v*f)))*+p[V+(44*c|0)+36>>2])*(_[a>>2]=J,+p[a>>2])))+(g*f*(C*y)+0)),v=.3333333432674408*(R*(h*y)+(v*f*(C*y)+0)),g=1/+b(+((y=.3333333432674408*(j*(h*y)+(S*f*(C*y)+0)))*y+(w*w+v*v))),y*(f=W*+p[N+88>>2])*(y*f)+(w*f*(w*f)+v*f*(v*f))>E*E+H*H+Z*Z?(p[N+56>>2]=+p[N+56>>2]-1/f*(w*g*(w*g*E+v*g*H+y*g*Z)),p[N+60>>2]=+p[N+60>>2]-1/f*(v*g*(w*g*E+v*g*H+y*g*Z)),p[N+64>>2]=+p[N+64>>2]-1/f*(y*g*(w*g*E+v*g*H+y*g*Z))):(p[N+56>>2]=w+ +p[N+56>>2],p[N+60>>2]=v+ +p[N+60>>2],p[N+64>>2]=y+ +p[N+64>>2]),y*(f=W*+p[L+88>>2])*(y*f)+(w*f*(w*f)+v*f*(v*f))>(u=+p[L+40>>2])*u+(m=+p[L+44>>2])*m+(h=+p[L+48>>2])*h?(p[L+56>>2]=+p[L+56>>2]-1/f*(w*g*(w*g*u+v*g*m+y*g*h)),p[L+60>>2]=+p[L+60>>2]-1/f*(v*g*(w*g*u+v*g*m+y*g*h)),p[L+64>>2]=+p[L+64>>2]-1/f*(y*g*(w*g*u+v*g*m+y*g*h))):(p[L+56>>2]=w+ +p[L+56>>2],p[L+60>>2]=v+ +p[L+60>>2],p[L+64>>2]=y+ +p[L+64>>2]),y*(f=W*+p[Y+88>>2])*(y*f)+(w*f*(w*f)+v*f*(v*f))>(u=+p[Y+40>>2])*u+(m=+p[Y+44>>2])*m+(h=+p[Y+48>>2])*h){p[Y+56>>2]=+p[Y+56>>2]-1/f*(w*g*(w*g*u+v*g*m+y*g*h)),p[Y+60>>2]=+p[Y+60>>2]-1/f*(v*g*(w*g*u+v*g*m+y*g*h)),p[Y+64>>2]=+p[Y+64>>2]-1/f*(y*g*(w*g*u+v*g*m+y*g*h));break t}p[Y+56>>2]=w+ +p[Y+56>>2],p[Y+60>>2]=v+ +p[Y+60>>2],p[Y+64>>2]=y+ +p[Y+64>>2];break t;default:break t}f=j*(S*(y=X*g+z*v+K*S<0?-1:1))+(w*(g*y)+R*(v*y)),u=.5*+p[V+(44*c|0)+36>>2],_[a>>2]=J,h=f*(.5*h*(m=+p[a>>2])*(X*X+z*z+K*K)*u),f>0&f<.9847999811172485?(x=(j*(w*(S*y)-j*(g*y))-R*(R*(g*y)-w*(v*y)))*(F=+b(+(1-f*f))*(.5*C*m*q*u))*.3333333432674408,O=(w*(R*(g*y)-w*(v*y))-j*(j*(v*y)-R*(S*y)))*F*.3333333432674408,F=(R*(j*(v*y)-R*(S*y))-w*(w*(S*y)-j*(g*y)))*F*.3333333432674408):(x=0,O=0,F=0),(f=+p[N+88>>2])>0?((f=j*h*-.3333333432674408*f*W*(j*h*-.3333333432674408*f*W)+(w*h*-.3333333432674408*f*W*(w*h*-.3333333432674408*f*W)+R*h*-.3333333432674408*f*W*(R*h*-.3333333432674408*f*W)))>0&&f>=E*E+H*H+Z*Z?(m=w*h*-.3333333432674408*(f=+b(+(E*E+H*H+Z*Z))/+b(+f)*.800000011920929),u=R*h*-.3333333432674408*f,f*=j*h*-.3333333432674408):(m=w*h*-.3333333432674408,u=R*h*-.3333333432674408,f=j*h*-.3333333432674408),j=u+ +p[N+60>>2],W=f+ +p[N+64>>2],p[N+56>>2]=x+(m+ +p[N+56>>2]),p[N+60>>2]=O+j,p[N+64>>2]=F+W):(m=w*h*-.3333333432674408,u=R*h*-.3333333432674408,f=j*h*-.3333333432674408),(h=+p[L+88>>2])>0&&(v=m*h*(y=+p[T+452>>2]),S=u*h*y,h=f*h*y,y=+p[L+40>>2],g=+p[L+44>>2],C=+p[L+48>>2],h*h+(v*v+S*S)>0&&h*h+(v*v+S*S)>=y*y+g*g+C*C&&(m*=W=+b(+(y*y+g*g+C*C))/+b(+(h*h+(v*v+S*S)))*.800000011920929,u*=W,f*=W),j=u+ +p[L+60>>2],W=f+ +p[L+64>>2],p[L+56>>2]=x+(m+ +p[L+56>>2]),p[L+60>>2]=O+j,p[L+64>>2]=F+W),(h=+p[Y+88>>2])>0&&(v=m*h*(y=+p[T+452>>2]),S=u*h*y,h=f*h*y,y=+p[Y+40>>2],g=+p[Y+44>>2],C=+p[Y+48>>2],h*h+(v*v+S*S)>0&&h*h+(v*v+S*S)>=y*y+g*g+C*C&&(m*=W=+b(+(y*y+g*g+C*C))/+b(+(h*h+(v*v+S*S)))*.800000011920929,u*=W,f*=W),j=u+ +p[Y+60>>2],W=f+ +p[Y+64>>2],p[Y+56>>2]=x+(m+ +p[Y+56>>2]),p[Y+60>>2]=O+j,p[Y+64>>2]=F+W)}}while(0);c=c+1|0}while((0|c)!=(0|l))}c=0|_[2606],B=(0|_[c+16>>2])-1|0,_[c+16>>2]=B;do{if(!B){if(0|_[c+4>>2]){if(G(s+128|0,0),B=0|_[6629],p[c+8>>2]=+p[c+8>>2]+ +(((0|_[s+128+4>>2])-(0|_[B+4>>2])+(1e6*((0|_[s+128>>2])-(0|_[B>>2])|0)|0)-(0|_[c+12>>2])|0)>>>0)/1e3,0|_[c+16>>2])break;c=0|_[2606]}_[2606]=_[c+20>>2]}}while(0);if((0|(l=0|_[T+712>>2]))>0){c=0;do{D=(I=0|_[T+720>>2])+(104*c|0)+8|0,_[(B=I+(104*c|0)+24|0)>>2]=_[D>>2],_[B+4>>2]=_[D+4>>2],_[B+8>>2]=_[D+8>>2],_[B+12>>2]=_[D+12>>2],B=I+(104*c|0)+56|0,x=+p[I+(104*c|0)+88>>2],O=+p[T+452>>2],W=+p[B>>2]*x*O,F=x*+p[I+(104*c|0)+60>>2]*O,x=O*(x*+p[I+(104*c|0)+64>>2]),F=F>(O=+p[12+(0|_[T+684>>2])>>2]/O)?O:F,x=x>O?O:x,W=((W=W>O?O:W)<-O?-O:W)+ +p[(k=I+(104*c|0)+40|0)>>2],p[k>>2]=W,F=(F<-O?-O:F)+ +p[(k=I+(104*c|0)+44|0)>>2],p[k>>2]=F,x=(x<-O?-O:x)+ +p[(k=I+(104*c|0)+48|0)>>2],p[k>>2]=x,O=+p[T+452>>2],p[D>>2]=W*O+ +p[D>>2],p[(D=I+(104*c|0)+12|0)>>2]=F*O+ +p[D>>2],p[(I=I+(104*c|0)+16|0)>>2]=x*O+ +p[I>>2],_[B>>2]=0,_[B+4>>2]=0,_[B+8>>2]=0,_[B+12>>2]=0,c=c+1|0}while((0|c)!=(0|l))}if(Ri(T),(c=0|_[T+928>>2])?(B=0|_[T+192>>2],F=+Il[15&_[48+(0|_[B>>2])>>2]](B),O=+p[c+4>>2]-F,x=+p[c+8>>2]-F,p[T+892>>2]=+p[c>>2]-F,p[T+896>>2]=O,p[T+900>>2]=x,p[T+904>>2]=0,x=F+ +p[c+20>>2],O=F+ +p[c+24>>2],p[T+908>>2]=F+ +p[c+16>>2],p[T+912>>2]=x,p[T+916>>2]=O,p[T+920>>2]=0,0|(c=0|_[T+188>>2])&&(B=0|_[T+684>>2],I=0|_[B+32>>2],dd[31&_[16+(0|_[I>>2])>>2]](I,c,T+892|0,T+908|0,0|_[B+36>>2]))):(_[T+892>>2]=0,_[T+892+4>>2]=0,_[T+892+8>>2]=0,_[T+892+12>>2]=0,_[T+892+16>>2]=0,_[T+892+20>>2]=0,_[T+892+24>>2]=0,_[T+892+28>>2]=0),(0|(l=0|_[T+712>>2]))>0){c=0;do{I=0|_[T+720>>2],x=+p[T+464>>2],W=+p[I+(104*c|0)+8>>2],O=+p[I+(104*c|0)+12>>2],F=+p[I+(104*c|0)+16>>2],p[s>>2]=W-x,p[s+4>>2]=O-x,p[s+8>>2]=F-x,p[s+12>>2]=0,p[s+16>>2]=x+W,p[s+20>>2]=x+O,p[s+24>>2]=x+F,p[s+28>>2]=0,B=0|_[I+(104*c|0)+96>>2],x=(F=+p[T+460>>2])*+p[I+(104*c|0)+44>>2],O=F*+p[I+(104*c|0)+48>>2],p[s+128>>2]=+p[I+(104*c|0)+40>>2]*F,p[s+128+4>>2]=x,p[s+128+8>>2]=O,p[s+128+12>>2]=0,Lt(T+928|0,B,s,s+128|0,+p[T+468>>2]),c=c+1|0}while((0|c)!=(0|l))}if(0|_[T+988>>2]&&(0|_[T+752>>2])>0){c=0;do{B=0|_[T+760>>2],k=0|_[B+(44*c|0)+8>>2],D=0|_[B+(44*c|0)+12>>2],I=0|_[B+(44*c|0)+16>>2],W=.3333333432674408*(+p[k+40>>2]+ +p[D+40>>2]+ +p[I+40>>2]),F=.3333333432674408*(+p[k+44>>2]+ +p[D+44>>2]+ +p[I+44>>2]),x=.3333333432674408*(+p[k+48>>2]+ +p[D+48>>2]+ +p[I+48>>2]),S=+p[T+464>>2],g=+p[k+8>>2],v=+p[k+12>>2],R=+p[k+16>>2],O=+p[k+20>>2],f=(j=+p[D+8>>2])>2])>2])>2])>2],C=+p[I+12>>2],w=+p[I+16>>2],j=+p[I+20>>2],p[s>>2]=(y>2]=(C>2]=(w>2]=j>2]=S+(g>2]=S+(v>2]=S+(R>2]=O>2],O=+p[T+460>>2],p[s+128>>2]=W*O,p[s+128+4>>2]=F*O,p[s+128+8>>2]=x*O,p[s+128+12>>2]=0,Lt(T+988|0,B,s,s+128|0,+p[T+468>>2]),c=c+1|0}while((0|c)<(0|_[T+752>>2]))}do{if(0|n[T+473|0]){if((0|(B=0|_[T+712>>2]))>0){l=0|_[T+720>>2],A=0|_[T+512>>2],c=0,f=0,u=0,m=0;do{O=+p[A+(c<<2)>>2],f+=+p[l+(104*c|0)+8>>2]*O,u+=O*+p[l+(104*c|0)+12>>2],m+=O*+p[l+(104*c|0)+16>>2],c=c+1|0}while((0|c)!=(0|B))}else f=0,u=0,m=0;p[T+520>>2]=f,p[T+524>>2]=u,p[T+528>>2]=m,p[T+532>>2]=0,I=44+(D=s+128+4|0)|0;do{_[D>>2]=0,D=D+4|0}while((0|D)<(0|I));if(p[s+128>>2]=1.1920928955078125e-7,p[s+128+20>>2]=2.384185791015625e-7,p[s+128+40>>2]=3.5762786865234375e-7,(0|B)>0){l=0|_[T+512>>2],A=0|_[T+720>>2],k=0|_[T+492>>2],c=0,h=1.1920928955078125e-7,y=0,g=0,C=0,v=2.384185791015625e-7,S=0,w=0,R=0,j=3.5762786865234375e-7;do{x=+p[l+(c<<2)>>2],tt=(+p[A+(104*c|0)+8>>2]-f)*x,$=(+p[A+(104*c|0)+12>>2]-u)*x,x*=+p[A+(104*c|0)+16>>2]-m,h=tt*(W=+p[k+(c<<4)>>2])+h,y=tt*(F=+p[k+(c<<4)+4>>2])+y,g=tt*(O=+p[k+(c<<4)+8>>2])+g,C=$*W+C,v=$*F+v,S=$*O+S,w=x*W+w,R=x*F+R,j=x*O+j,c=c+1|0}while((0|c)!=(0|B));p[s+128>>2]=h,p[s+128+4>>2]=y,p[s+128+8>>2]=g,p[s+128+16>>2]=C,p[s+128+20>>2]=v,p[s+128+24>>2]=S,p[s+128+32>>2]=w,p[s+128+36>>2]=R,p[s+128+40>>2]=j}if(!(0|n[24472])&&0|Qs(24472)&&(p[6278]=9999999747378752e-20,_[6279]=16),Fi(s+128|0,s+80|0,s+32|0),_[T+536>>2]=_[s+80>>2],_[T+536+4>>2]=_[s+80+4>>2],_[T+536+8>>2]=_[s+80+8>>2],_[T+536+12>>2]=_[s+80+12>>2],_[T+552>>2]=_[o>>2],_[T+552+4>>2]=_[o+4>>2],_[T+552+8>>2]=_[o+8>>2],_[T+552+12>>2]=_[o+12>>2],_[T+568>>2]=_[r>>2],_[T+568+4>>2]=_[r+4>>2],_[T+568+8>>2]=_[r+8>>2],_[T+568+12>>2]=_[r+12>>2],rt=+p[s+80>>2],et=+p[o>>2],F=+p[r>>2],ot=+p[s+80+4>>2],R=+p[s+80+20>>2],O=+p[s+80+36>>2],nt=+p[s+80+8>>2],j=+p[s+80+24>>2],tt=+p[s+80+40>>2],y=+p[T+632>>2],h=+p[T+636>>2],m=+p[T+640>>2],bt=+p[T+648>>2],lt=+p[T+652>>2],g=+p[T+656>>2],x=+p[T+664>>2],$=+p[T+668>>2],w=+p[T+672>>2],f=(rt*y+ot*h+nt*m)*(at=+p[s+128>>2])+(et*y+R*h+j*m)*(ct=+p[s+128+16>>2])+(F*y+O*h+tt*m)*(C=+p[s+128+32>>2]),u=(rt*y+ot*h+nt*m)*(pt=+p[s+128+4>>2])+(et*y+R*h+j*m)*(st=+p[s+128+20>>2])+(F*y+O*h+tt*m)*(v=+p[s+128+36>>2]),m=(rt*y+ot*h+nt*m)*(it=+p[s+128+8>>2])+(et*y+R*h+j*m)*(W=+p[s+128+24>>2])+(F*y+O*h+tt*m)*(S=+p[s+128+40>>2]),h=(rt*bt+ot*lt+nt*g)*at+(et*bt+R*lt+j*g)*ct+(F*bt+O*lt+tt*g)*C,y=(rt*bt+ot*lt+nt*g)*pt+(et*bt+R*lt+j*g)*st+(F*bt+O*lt+tt*g)*v,g=(rt*bt+ot*lt+nt*g)*it+(et*bt+R*lt+j*g)*W+(F*bt+O*lt+tt*g)*S,C=at*(rt*x+ot*$+nt*w)+ct*(et*x+R*$+j*w)+(F*x+O*$+tt*w)*C,v=(rt*x+ot*$+nt*w)*pt+(et*x+R*$+j*w)*st+(F*x+O*$+tt*w)*v,S=(rt*x+ot*$+nt*w)*it+(et*x+R*$+j*w)*W+(F*x+O*$+tt*w)*S,p[T+584>>2]=f,p[T+588>>2]=u,p[T+592>>2]=m,p[T+596>>2]=0,p[T+600>>2]=h,p[T+604>>2]=y,p[T+608>>2]=g,p[T+612>>2]=0,p[T+616>>2]=C,p[T+620>>2]=v,p[T+624>>2]=S,p[T+628>>2]=0,(w=+p[T+364>>2])>1&&(bt=1/(m*(v*h-y*C)+(f*(y*S-g*v)+u*(g*C-S*h)))<1?1:w<1/(m*(v*h-y*C)+(f*(y*S-g*v)+u*(g*C-S*h)))?w:1/(m*(v*h-y*C)+(f*(y*S-g*v)+u*(g*C-S*h))),p[T+584>>2]=f*bt,p[T+588>>2]=u*bt,p[T+592>>2]=m*bt,p[T+596>>2]=0,p[T+600>>2]=h*bt,p[T+604>>2]=y*bt,p[T+608>>2]=g*bt,p[T+612>>2]=0,p[T+616>>2]=C*bt,p[T+620>>2]=v*bt,p[T+624>>2]=S*bt,p[T+628>>2]=0),0|n[T+473|0]){if(!(+p[T+320>>2]>0))break;if(f=+p[T+536>>2],y=+p[T+540>>2],g=+p[T+544>>2],C=+p[T+552>>2],v=+p[T+556>>2],S=+p[T+560>>2],u=+p[T+568>>2],m=+p[T+572>>2],h=+p[T+576>>2],(0|(l=0|_[T+712>>2]))<=0)break;c=0;do{A=0|_[T+720>>2],+p[A+(104*c|0)+88>>2]>0&&(D=0|_[T+492>>2],st=+p[D+(c<<4)>>2],pt=+p[D+(c<<4)+4>>2],ct=+p[D+(c<<4)+8>>2],rt=+p[T+320>>2],at=+p[(D=A+(104*c|0)+8|0)>>2],lt=+p[(I=A+(104*c|0)+12|0)>>2],bt=+p[(B=A+(104*c|0)+16|0)>>2],lt+=rt*(C*st+v*pt+S*ct+ +p[T+524>>2]-lt),bt+=rt*(u*st+m*pt+h*ct+ +p[T+528>>2]-bt),p[D>>2]=at+rt*(+p[T+520>>2]+(f*st+y*pt+g*ct)-at),p[I>>2]=lt,p[B>>2]=bt,p[A+(104*c|0)+20>>2]=0),c=c+1|0}while((0|c)!=(0|l))}}}while(0);I=104+(D=s+128|0)|0;do{_[D>>2]=0,D=D+4|0}while((0|D)<(0|I));if((0|(c=0|_[T+812>>2]))<0){(0|_[T+816>>2])<0&&(0|(l=0|_[T+820>>2])&&(0|n[T+824|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[T+820>>2]=0),n[T+824|0]=1,_[T+820>>2]=0,_[T+816>>2]=0);do{B=0|_[T+820>>2],_[(I=B+(104*c|0)|0)>>2]=_[s+128>>2],_[I+4>>2]=_[s+128+4>>2],_[I+8>>2]=_[s+128+8>>2],_[I+12>>2]=_[s+128+12>>2],_[I+16>>2]=_[s+128+16>>2],_[I+20>>2]=_[s+128+20>>2],_[I+24>>2]=_[s+128+24>>2],_[(I=B+(104*c|0)+28|0)>>2]=_[s+128+28>>2],_[I+4>>2]=_[s+128+28+4>>2],_[I+8>>2]=_[s+128+28+8>>2],_[I+12>>2]=_[s+128+28+12>>2],_[(I=B+(104*c|0)+44|0)>>2]=_[s+128+44>>2],_[I+4>>2]=_[s+128+44+4>>2],_[I+8>>2]=_[s+128+44+8>>2],_[I+12>>2]=_[s+128+44+12>>2],_[(I=B+(104*c|0)+60|0)>>2]=_[s+128+60>>2],_[I+4>>2]=_[s+128+60+4>>2],_[I+8>>2]=_[s+128+60+8>>2],_[I+12>>2]=_[s+128+60+12>>2],_[(B=B+(104*c|0)+76|0)>>2]=_[i>>2],_[B+4>>2]=_[i+4>>2],_[B+8>>2]=_[i+8>>2],_[B+12>>2]=_[i+12>>2],_[B+16>>2]=_[i+16>>2],_[B+20>>2]=_[i+20>>2],_[B+24>>2]=_[i+24>>2],c=c+1|0}while(0|c)}_[T+812>>2]=0,I=56+(D=s+128|0)|0;do{_[D>>2]=0,D=D+4|0}while((0|D)<(0|I));if((0|(c=0|_[T+832>>2]))<0){(0|_[T+836>>2])<0&&(0|(l=0|_[T+840>>2])&&(0|n[T+844|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[T+840>>2]=0),n[T+844|0]=1,_[T+840>>2]=0,_[T+836>>2]=0);do{l=s+128|0,I=56+(D=(0|_[T+840>>2])+(56*c|0)|0)|0;do{_[D>>2]=_[l>>2],D=D+4|0,l=l+4|0}while((0|D)<(0|I));c=c+1|0}while(0|c)}_[T+832>>2]=0,dt(T+928|0,1),dt(T+988|0,1),dt(T+1048|0,1),c=0|_[t+24>>2]}P=P+1|0}while((0|P)<(0|c));Q=s}},function(t,e){e=+e;var i,n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0;if(i=Q,Q=Q+48|0,(0|(n=0|_[24+(t|=0)>>2]))<=0)Q=i;else{b=0;t:for(;;){switch(d=0|_[(0|_[t+32>>2])+(b<<2)>>2],0|_[d+216>>2]){case 2:case 5:break;default:if(De(d,0),(0|(o=0|_[d+732>>2]))>0){n=0;do{l=0|_[d+740>>2],c=0|_[l+(52*n|0)+12>>2],a=0|_[l+(52*n|0)+8>>2],S=+p[c+24>>2]-+p[a+24>>2],v=+p[c+28>>2]-+p[a+28>>2],e=+p[c+32>>2]-+p[a+32>>2],p[l+(52*n|0)+36>>2]=S,p[l+(52*n|0)+40>>2]=v,p[l+(52*n|0)+44>>2]=e,p[l+(52*n|0)+48>>2]=0,p[l+(52*n|0)+32>>2]=1/(+p[l+(52*n|0)+24>>2]*(S*S+v*v+e*e)),n=n+1|0}while((0|n)!=(0|o))}if((0|(r=0|_[d+792>>2]))>0){n=0,e=+p[d+452>>2];do{l=0|_[d+800>>2],c=0|_[(o=l+(96*n|0)+20|0)>>2],R=+p[l+(96*n|0)+4>>2],k=+p[l+(96*n|0)+8>>2],S=+p[l+(96*n|0)+12>>2],w=+p[c+4>>2]*R+ +p[c+8>>2]*k+ +p[c+12>>2]*S,v=R*+p[c+20>>2]+k*+p[c+24>>2]+S*+p[c+28>>2],S=R*+p[c+36>>2]+k*+p[c+40>>2]+S*+p[c+44>>2],nt(i,e,+p[88+(0|_[(a=l+(96*n|0)|0)>>2])>>2],+p[c+344>>2],c+264|0,w,v,S),_[(c=l+(96*n|0)+28|0)>>2]=_[i>>2],_[c+4>>2]=_[i+4>>2],_[c+8>>2]=_[i+8>>2],_[c+12>>2]=_[i+12>>2],_[(c=l+(96*n|0)+44|0)>>2]=_[i+16>>2],_[c+4>>2]=_[i+16+4>>2],_[c+8>>2]=_[i+16+8>>2],_[c+12>>2]=_[i+16+12>>2],_[(c=l+(96*n|0)+60|0)>>2]=_[i+32>>2],_[c+4>>2]=_[i+32+4>>2],_[c+8>>2]=_[i+32+8>>2],_[c+12>>2]=_[i+32+12>>2],p[l+(96*n|0)+76>>2]=w,p[l+(96*n|0)+80>>2]=v,p[l+(96*n|0)+84>>2]=S,p[l+(96*n|0)+88>>2]=0,e=+p[d+452>>2],p[l+(96*n|0)+92>>2]=e*+p[88+(0|_[a>>2])>>2],o=0|_[o>>2],3&_[o+204>>2]||(4!=(-2&_[o+216>>2])&&(_[o+216>>2]=1),p[o+220>>2]=0),n=n+1|0}while((0|n)!=(0|r))}if((0|(n=0|_[d+372>>2]))>0){r=0,o=0|_[d+396>>2];do{if((0|o)>0){n=0;do{zl[31&(0|_[(0|_[d+404>>2])+(n<<2)>>2]?0:23)](d,1),n=n+1|0,o=0|_[d+396>>2]}while((0|n)<(0|o));n=0|_[d+372>>2]}r=r+1|0}while((0|r)<(0|n));if((0|(o=0|_[d+712>>2]))>0){n=0;do{l=0|_[d+720>>2],k=(w=+p[d+452>>2])*+p[l+(104*n|0)+44>>2]+ +p[l+(104*n|0)+28>>2],R=w*+p[l+(104*n|0)+48>>2]+ +p[l+(104*n|0)+32>>2],p[l+(104*n|0)+8>>2]=+p[l+(104*n|0)+40>>2]*w+ +p[l+(104*n|0)+24>>2],p[l+(104*n|0)+12>>2]=k,p[l+(104*n|0)+16>>2]=R,p[l+(104*n|0)+20>>2]=0,n=n+1|0}while((0|n)!=(0|o))}}if((0|(n=0|_[d+376>>2]))>0){s=0,o=0|_[d+416>>2];do{if(e=+(0|s)/+(0|n),(0|o)>0){r=0;do{switch(0|_[(0|_[d+424>>2])+(r<<2)>>2]){case 1:n=2;break;case 0:n=3;break;case 2:n=4;break;case 3:n=5;break;default:C=37;break t}Kl[7&n](d,1,e),r=r+1|0,o=0|_[d+416>>2]}while((0|r)<(0|o));n=0|_[d+376>>2]}s=s+1|0}while((0|s)<(0|n));if(e=+p[d+456>>2]*(1-+p[d+296>>2]),(0|(o=0|_[d+712>>2]))>0){n=0;do{l=0|_[d+720>>2],k=e*(+p[l+(104*n|0)+12>>2]-+p[l+(104*n|0)+28>>2]),R=e*(+p[l+(104*n|0)+16>>2]-+p[l+(104*n|0)+32>>2]),p[l+(104*n|0)+40>>2]=e*(+p[l+(104*n|0)+8>>2]-+p[l+(104*n|0)+24>>2]),p[l+(104*n|0)+44>>2]=k,p[l+(104*n|0)+48>>2]=R,l=l+(104*n|0)+52|0,n=n+1|0,_[l>>2]=0,_[l+4>>2]=0,_[l+8>>2]=0,_[l+12>>2]=0,_[l+16>>2]=0}while((0|n)!=(0|o))}}if((0|(n=0|_[d+380>>2]))>0){if(e=+p[d+292>>2]*+p[d+456>>2],(0|(o=0|_[d+712>>2]))>0){n=0;do{a=(l=0|_[d+720>>2])+(104*n|0)+8|0,_[(l=l+(104*n|0)+24|0)>>2]=_[a>>2],_[l+4>>2]=_[a+4>>2],_[l+8>>2]=_[a+8>>2],_[l+12>>2]=_[a+12>>2],n=n+1|0}while((0|n)!=(0|o));(0|(n=0|_[d+380>>2]))>0&&(C=45)}else C=45;if(45==(0|C)){C=0,s=0,o=0|_[d+436>>2];do{if((0|o)>0){r=0;do{switch(0|_[(0|_[d+444>>2])+(r<<2)>>2]){case 1:n=2;break;case 0:n=3;break;case 2:n=4;break;case 3:n=5;break;default:C=56;break t}Kl[7&n](d,1,0),r=r+1|0,o=0|_[d+436>>2]}while((0|r)<(0|o));n=0|_[d+380>>2]}s=s+1|0}while((0|s)<(0|n))}if((0|(o=0|_[d+712>>2]))>0){r=0|_[d+720>>2],n=0;do{k=e*(+p[r+(104*n|0)+12>>2]-+p[r+(104*n|0)+28>>2]),R=e*(+p[r+(104*n|0)+16>>2]-+p[r+(104*n|0)+32>>2]),p[(l=r+(104*n|0)+40|0)>>2]=e*(+p[r+(104*n|0)+8>>2]-+p[r+(104*n|0)+24>>2])+ +p[l>>2],p[(l=r+(104*n|0)+44|0)>>2]=k+ +p[l>>2],p[(l=r+(104*n|0)+48|0)>>2]=R+ +p[l>>2],n=n+1|0}while((0|n)!=(0|o))}}if((0|(r=0|_[d+1112>>2]))>0){s=0|_[d+1120>>2],o=0;do{if(c=0|_[s+(o<<2)>>2],+p[c+352>>2]>0&&(0|(A=0|_[c+24>>2]))>0){a=0|_[c+32>>2],n=0;do{l=0|_[a+(n<<2)>>2],+p[l+88>>2]>0&&(h=+p[l+24>>2]-+p[c+228>>2],g=+p[l+28>>2]-+p[c+232>>2],u=+p[l+32>>2]-+p[c+236>>2],m=+p[c+336>>2],R=+p[c+340>>2],y=+p[c+332>>2],(f=+p[c+316>>2]+(m*u-g*R))*f+(u=+p[c+320>>2]+(h*R-u*y))*u+(m=g*y-h*m+ +p[c+324>>2])*m<=(h=+p[l+40>>2])*h+(y=+p[l+44>>2])*y+(g=+p[l+48>>2])*g)&&(R=+p[c+352>>2],p[l+40>>2]=h+(f-h)*R,p[l+44>>2]=y+(u-y)*R,p[l+48>>2]=g+(m-g)*R),n=n+1|0}while((0|n)!=(0|A))}o=o+1|0}while((0|o)!=(0|r))}De(d,1),n=0|_[t+24>>2]}if((0|(b=b+1|0))>=(0|n)){C=3;break}}3!=(0|C)||(Q=i)}},function(t,e){var i,n;e=+e,i=Q,Q=Q+16|0,+p[68+(t|=0)>>2]>0?(n=-+p[t+92>>2],e=-+p[t+96>>2],p[i>>2]=-+p[t+88>>2],p[i+4>>2]=n,p[i+8>>2]=e,p[i+12>>2]=0,Ui(t+4|0,i,t+164|0),Ui(t+16|0,t+88|0,t+180|0),Q=i):Q=i},Ec,xc,function(t,e){e=+e},xc,function(t,e){var i,n=0;if(i=Q,Q=Q+16|0,Z(t|=0,e=+e),$i(14072),t=0|_[t+452>>2],zl[31&_[24+(0|_[t>>2])>>2]](t,e),t=0|_[2606],n=(0|_[t+16>>2])-1|0,_[t+16>>2]=n,0|n)Q=i;else{do{if(0|_[t+4>>2]){if(G(0|i,0),n=0|_[6629],p[t+8>>2]=+p[t+8>>2]+ +(((0|_[i+4>>2])-(0|_[n+4>>2])+(1e6*((0|_[i>>2])-(0|_[n>>2])|0)|0)-(0|_[t+12>>2])|0)>>>0)/1e3,0|_[t+16>>2])return void(Q=i);t=0|_[2606];break}}while(0);_[2606]=_[t+20>>2],Q=i}},function(t,e){t|=0,e=+e;var i,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0;i=Q,Q=Q+304|0,$i(14521);t:do{if((0|_[t+232>>2])>0)for(b=i+136+48|0,d=0;;){A=0|_[(0|_[t+240>>2])+(d<<2)>>2],p[A+244>>2]=1;e:do{switch(0|_[A+216>>2]){case 2:case 5:break;default:if(!(3&_[A+204>>2])){if(Bt(A+4|0,+p[A+312>>2],+p[A+316>>2],+p[A+320>>2],A+328|0,e,i+136|0),s=+p[b>>2]-+p[A+52>>2],a=+p[i+136+52>>2]-+p[A+56>>2],l=+p[i+136+56>>2]-+p[A+60>>2],0|n[t+44|0]&&(h=+p[A+252>>2])*h!=0&&h*h>2])>>2])<20?(_[6295]=1+(0|_[6295]),r=0|_[t+68>>2],r=0|Gl[127&_[36+(0|_[r>>2])>>2]](r),c=0|_[t+24>>2],p[i+200+4>>2]=1,_[i+200+12>>2]=_[A+52>>2],_[i+200+12+4>>2]=_[A+52+4>>2],_[i+200+12+8>>2]=_[A+52+8>>2],_[i+200+12+12>>2]=_[A+52+12>>2],_[i+200+28>>2]=_[b>>2],_[i+200+28+4>>2]=_[b+4>>2],_[i+200+28+8>>2]=_[b+8>>2],_[i+200+28+12>>2]=_[b+12>>2],_[i+200+76>>2]=0,_[i+200>>2]=5180,_[i+200+80>>2]=A,_[i+200+88>>2]=r,_[i+200+92>>2]=c,c=0|_[A+248>>2],_[i+80+8>>2]=0,_[i+80+12>>2]=1065353216,_[i+80+16>>2]=1065353216,_[i+80+20>>2]=1065353216,p[i+80+24>>2]=0,_[i+80>>2]=7568,_[i+80+4>>2]=8,_[i+80+28>>2]=c,_[i+80+44>>2]=c,_[i+200+84>>2]=_[t+56>>2],c=0|_[A+188>>2],o[i+200+8>>1]=0|o[c+4>>1],o[i+200+10>>1]=0|o[c+6>>1],_[i+16+48>>2]=_[b>>2],_[i+16+48+4>>2]=_[b+4>>2],_[i+16+48+8>>2]=_[b+8>>2],_[i+16+48+12>>2]=_[b+12>>2],_[i+16>>2]=_[A+4>>2],_[i+16+4>>2]=_[A+4+4>>2],_[i+16+8>>2]=_[A+4+8>>2],_[i+16+12>>2]=_[A+4+12>>2],_[i+16+16>>2]=_[A+20>>2],_[i+16+16+4>>2]=_[A+20+4>>2],_[i+16+16+8>>2]=_[A+20+8>>2],_[i+16+16+12>>2]=_[A+20+12>>2],_[i+16+32>>2]=_[A+36>>2],_[i+16+32+4>>2]=_[A+36+4>>2],_[i+16+32+8>>2]=_[A+36+8>>2],_[i+16+32+12>>2]=_[A+36+12>>2],we(t,i+80|0,A+4|0,i+16|0,i+200|0,0),(s=+p[i+200+4>>2])<1?(p[A+244>>2]=s,Bt(A+4|0,+p[A+312>>2],+p[A+316>>2],+p[A+320>>2],A+328|0,s*e,i+136|0),p[A+244>>2]=0,ti(A,i+136|0),r=4):r=0,r||(f=12)):f=12,12==(0|f)&&(f=0,r=0),c=0|_[2606],y=(0|_[c+16>>2])-1|0,_[c+16>>2]=y;do{if(!y){if(0|_[c+4>>2]){if(G(i+200|0,0),y=0|_[6629],p[c+8>>2]=+p[c+8>>2]+ +(((0|_[i+200+4>>2])-(0|_[y+4>>2])+(1e6*((0|_[i+200>>2])-(0|_[y>>2])|0)|0)-(0|_[c+12>>2])|0)>>>0)/1e3,0|_[c+16>>2])break;c=0|_[2606]}_[2606]=_[c+20>>2]}}while(0);if(0|r)break e}ti(A,i+136|0)}}}while(0);if((0|(d=d+1|0))>=(0|_[t+232>>2]))break t}}while(0);do{if(0|n[t+275|0]){if($i(14561),(0|_[t+308>>2])>0){A=0;do{if(f=0|_[(0|_[t+316>>2])+(A<<2)>>2],c=0|_[f+740>>2],c=2&_[c+236>>2]?c:0,b=0|_[f+744>>2],b=2&_[b+236>>2]?b:0,(0|(r=0|_[f+748>>2]))>0)if(c){d=0;do{(s=+p[c+228>>2]*+p[b+228>>2])>0&&0!=(m=+p[f+4+(184*d|0)+120>>2])&&(l=s*(m*+p[f+4+(184*d|0)+64>>2]),e=s*(m*+p[f+4+(184*d|0)+68>>2]),h=s*(m*+p[f+4+(184*d|0)+72>>2]),p[i+200>>2]=-l,p[i+200+4>>2]=-e,p[i+200+8>>2]=-h,p[i+200+12>>2]=0,a=+p[f+4+(184*d|0)+52>>2]-+p[c+56>>2],s=+p[f+4+(184*d|0)+56>>2]-+p[c+60>>2],p[i+80>>2]=+p[f+4+(184*d|0)+48>>2]-+p[c+52>>2],p[i+80+4>>2]=a,p[i+80+8>>2]=s,p[i+80+12>>2]=0,s=+p[f+4+(184*d|0)+36>>2]-+p[b+56>>2],a=+p[f+4+(184*d|0)+40>>2]-+p[b+60>>2],p[i+16>>2]=+p[f+4+(184*d|0)+32>>2]-+p[b+52>>2],p[i+16+4>>2]=s,p[i+16+8>>2]=a,p[i+16+12>>2]=0,Dn(c,i+200|0,i+80|0),p[i>>2]=l,p[i+4>>2]=e,p[i+8>>2]=h,p[i+12>>2]=0,Dn(b,i,i+16|0),r=0|_[f+748>>2]),d=d+1|0}while((0|d)<(0|r))}else{c=0;do{(s=+p[57]*+p[b+228>>2])>0&&0!=(u=+p[f+4+(184*c|0)+120>>2])&&(l=s*(u*+p[f+4+(184*c|0)+64>>2]),e=s*(u*+p[f+4+(184*c|0)+68>>2]),h=s*(u*+p[f+4+(184*c|0)+72>>2]),s=+p[f+4+(184*c|0)+36>>2]-+p[b+56>>2],a=+p[f+4+(184*c|0)+40>>2]-+p[b+60>>2],p[i+16>>2]=+p[f+4+(184*c|0)+32>>2]-+p[b+52>>2],p[i+16+4>>2]=s,p[i+16+8>>2]=a,p[i+16+12>>2]=0,p[i>>2]=l,p[i+4>>2]=e,p[i+8>>2]=h,p[i+12>>2]=0,Dn(b,i,i+16|0),r=0|_[f+748>>2]),c=c+1|0}while((0|c)<(0|r))}A=A+1|0}while((0|A)<(0|_[t+308>>2]))}if(r=0|_[2606],y=(0|_[r+16>>2])-1|0,_[r+16>>2]=y,!y){if(0|_[r+4>>2]){if(G(i+200|0,0),y=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+200+4>>2])-(0|_[y+4>>2])+(1e6*((0|_[i+200>>2])-(0|_[y>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])break;r=0|_[2606]}_[2606]=_[r+20>>2]}}}while(0);if(r=0|_[2606],y=(0|_[r+16>>2])-1|0,_[r+16>>2]=y,0|y)Q=i;else{do{if(0|_[r+4>>2]){if(G(i+200|0,0),y=0|_[6629],p[r+8>>2]=+p[r+8>>2]+ +(((0|_[i+200+4>>2])-(0|_[y+4>>2])+(1e6*((0|_[i+200>>2])-(0|_[y>>2])|0)|0)-(0|_[r+12>>2])|0)>>>0)/1e3,0|_[r+16>>2])return void(Q=i);r=0|_[2606];break}}while(0);_[2606]=_[r+20>>2],Q=i}},function(t,e){t|=0,e=+e;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;if(i=Q,Q=Q+16|0,$i(14455),(0|(o=0|_[t+232>>2]))>0){l=!(0|n[27096]),a=0;do{c=0|_[(0|_[t+240>>2])+(a<<2)>>2];t:do{if(c){r=0|_[c+216>>2];e:do{switch(0|r){case 4:case 2:if(4==(0|r))break t;break;default:if((f=+p[c+312>>2])*f+(A=+p[c+316>>2])*A+(b=+p[c+320>>2])*b<(d=+p[c+472>>2])*d&&(d=+p[c+328>>2])*d+(b=+p[c+332>>2])*b+(A=+p[c+336>>2])*A<(f=+p[c+476>>2])*f){p[c+220>>2]=+p[c+220>>2]+e;break e}p[c+220>>2]=0,4!=(-2&r)&&(_[c+216>>2]=0,r=0)}}while(0);s=-2&r;do{if(l){if(2!=(0|s)&&!(+p[c+220>>2]>2))break;if(3&_[c+204>>2]){if(4==(0|s))break t;_[c+216>>2]=2;break t}if(1==(0|r)){_[c+216>>2]=3;break t}if(2!=(0|r))break t;o=2+(0|_[c+260>>2])|0,_[c+328>>2]=0,_[c+328+4>>2]=0,_[c+328+8>>2]=0,_[c+328+12>>2]=0,_[c+260>>2]=o,_[c+312>>2]=0,_[c+312+4>>2]=0,_[c+312+8>>2]=0,_[c+312+12>>2]=0,o=0|_[t+232>>2];break t}}while(0);4!=(0|s)&&(_[c+216>>2]=1)}}while(0);a=a+1|0}while((0|a)<(0|o))}if(o=0|_[2606],l=(0|_[o+16>>2])-1|0,_[o+16>>2]=l,0|l)Q=i;else{do{if(0|_[o+4>>2]){if(G(0|i,0),l=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[i+4>>2])-(0|_[l+4>>2])+(1e6*((0|_[i>>2])-(0|_[l>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])return void(Q=i);o=0|_[2606];break}}while(0);_[2606]=_[o+20>>2],Q=i}},function(t,e){e=+e;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0;if(i=Q,Q=Q+16|0,A=0|_[452+(t|=0)>>2],_d[127&_[16+(0|_[A>>2])>>2]](A,t+324|0,0),A=0|_[t+452>>2],Gl[127&_[12+(0|_[A>>2])>>2]](A),ki(t,e),$i(14051),(0|(A=0|_[t+328>>2]))>0){r=0|_[t+336>>2],o=0,l=0;do{l=(0|l)>(0|(b=0|_[384+(0|_[r+(o<<2)>>2])>>2]))?l:b,o=o+1|0}while((0|o)!=(0|A));for(o=0;;){if(s=0|_[r+(o<<2)>>2],(0|_[s+852>>2])>0){r=0;do{b=0|_[(0|_[s+860>>2])+(r<<2)>>2],$l[15&_[8+(0|_[b>>2])>>2]](b,+p[s+452>>2],l),r=r+1|0}while((0|r)<(0|_[s+852>>2]))}if((0|(o=o+1|0))==(0|A))break;r=0|_[t+336>>2]}if((0|l)>0){s=0;do{o=0;do{if(c=0|_[(0|_[t+336>>2])+(o<<2)>>2],(0|(a=0|_[c+852>>2]))>0){r=0;do{b=0|_[(0|_[c+860>>2])+(r<<2)>>2],Kl[7&_[12+(0|_[b>>2])>>2]](b,+p[c+452>>2],1),r=r+1|0}while((0|r)!=(0|a))}o=o+1|0}while((0|o)!=(0|A));s=s+1|0}while((0|s)!=(0|l))}d=0;do{if(b=0|_[(0|_[t+336>>2])+(d<<2)>>2],(0|_[b+852>>2])>0){o=0;do{r=0|_[(0|_[b+860>>2])+(o<<2)>>2],zl[31&_[16+(0|_[r>>2])>>2]](r,+p[b+452>>2]),r=0|_[b+860>>2],s=0|_[r+(o<<2)>>2];t:do{if(0|n[s+152|0])if(s?(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),l=0|_[b+860>>2]):l=r,a=o+-1|0,(0|(r=0|_[b+852>>2]))>0){for(c=0|_[l+(o<<2)>>2],o=0;(0|_[(s=l+(o<<2)|0)>>2])!=(0|c);)if((0|(o=o+1|0))>=(0|r)){o=a;break t}(0|o)<(0|r)?(_[s>>2]=_[l+(r+-1<<2)>>2],_[(0|_[b+860>>2])+(r+-1<<2)>>2]=c,_[b+852>>2]=r+-1,o=a,r=r+-1|0):o=a}else o=a;else r=0|_[b+852>>2]}while(0);o=o+1|0}while((0|o)<(0|r))}d=d+1|0}while((0|d)!=(0|A))}o=0|_[t+452>>2],zl[31&_[28+(0|_[o>>2])>>2]](o,+p[o+12>>2]*e),o=0|_[2606],A=(0|_[o+16>>2])-1|0,_[o+16>>2]=A;do{if(!A){if(0|_[o+4>>2]){if(G(0|i,0),A=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[i+4>>2])-(0|_[A+4>>2])+(1e6*((0|_[i>>2])-(0|_[A>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])break;o=0|_[2606]}_[2606]=_[o+20>>2]}}while(0);if((0|_[t+328>>2])<=0)return t=0|_[t+452>>2],A=0|_[t>>2],A=0|_[(A=A+32|0)>>2],Xl[511&A](t),void(Q=i);o=0;do{ie(A=0|_[(0|_[t+336>>2])+(o<<2)>>2],A),o=o+1|0}while((0|o)<(0|_[t+328>>2]));t=0|_[t+452>>2],A=0|_[t>>2],A=0|_[(A=A+32|0)>>2],Xl[511&A](t),Q=i},function(t,e){e=+e;var i,n=0,o=0,r=0,s=0,c=0,a=0;if(i=Q,Q=Q+32|0,(0|(n=0|_[8+(t|=0)>>2]))<=0)Q=i;else{r=0;do{0|(o=0|_[(0|_[t+16>>2])+(r<<2)>>2])&&2&_[o+236>>2]&&2!=(0|_[o+216>>2])&&0!=e&&2&_[o+204>>2]&&((n=0|_[o+480>>2])?(ed[127&_[8+(0|_[n>>2])>>2]](n,o+4|0),n=o+4|0):n=o+4|0,c=1/e*(+p[o+56>>2]-+p[o+120>>2]),a=1/e*(+p[o+60>>2]-+p[o+124>>2]),p[o+312>>2]=1/e*(+p[o+52>>2]-+p[o+116>>2]),p[o+316>>2]=c,p[o+320>>2]=a,p[o+324>>2]=0,$(o+68|0,n,i+8|0,i),c=1/e*((a=+p[i>>2])*+p[i+8+4>>2]),s=1/e*(a*+p[i+8+8>>2]),p[o+328>>2]=1/e*(+p[i+8>>2]*a),p[o+332>>2]=c,p[o+336>>2]=s,p[o+340>>2]=0,_[o+132>>2]=_[o+312>>2],_[o+132+4>>2]=_[o+312+4>>2],_[o+132+8>>2]=_[o+312+8>>2],_[o+132+12>>2]=_[o+312+12>>2],_[o+148>>2]=_[o+328>>2],_[o+148+4>>2]=_[o+328+4>>2],_[o+148+8>>2]=_[o+328+8>>2],_[o+148+12>>2]=_[o+328+12>>2],_[o+68>>2]=_[n>>2],_[o+68+4>>2]=_[n+4>>2],_[o+68+8>>2]=_[n+8>>2],_[o+68+12>>2]=_[n+12>>2],_[o+84>>2]=_[o+20>>2],_[o+84+4>>2]=_[o+20+4>>2],_[o+84+8>>2]=_[o+20+8>>2],_[o+84+12>>2]=_[o+20+12>>2],_[o+100>>2]=_[o+36>>2],_[o+100+4>>2]=_[o+36+4>>2],_[o+100+8>>2]=_[o+36+8>>2],_[o+100+12>>2]=_[o+36+12>>2],_[o+116>>2]=_[o+52>>2],_[o+116+4>>2]=_[o+52+4>>2],_[o+116+8>>2]=_[o+52+8>>2],_[o+116+12>>2]=_[o+52+12>>2],n=0|_[t+8>>2]),r=r+1|0}while((0|r)<(0|n));Q=i}},function(t,e){t|=0,e=+e;var i,n=0,o=0;if(i=Q,Q=Q+16|0,$i(14315),(0|_[t+280>>2])>0){n=0;do{o=0|_[(0|_[t+288>>2])+(n<<2)>>2],id[7&_[8+(0|_[o>>2])>>2]](o,t,e),n=n+1|0}while((0|n)<(0|_[t+280>>2]))}if(n=0|_[2606],o=(0|_[n+16>>2])-1|0,_[n+16>>2]=o,0|o)Q=i;else{do{if(0|_[n+4>>2]){if(G(0|i,0),o=0|_[6629],p[n+8>>2]=+p[n+8>>2]+ +(((0|_[i+4>>2])-(0|_[o+4>>2])+(1e6*((0|_[i>>2])-(0|_[o>>2])|0)|0)-(0|_[n+12>>2])|0)>>>0)/1e3,0|_[n+16>>2])return void(Q=i);n=0|_[2606];break}}while(0);_[2606]=_[n+20>>2],Q=i}},Z,ki,function(t,e){e=+e;var i,o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0;if(o=Q,Q=Q+32|0,(0|(r=0|_[136+(t|=0)>>2]))>0){s=0;do{Ue(0|_[t+116>>2],0|_[t+144>>2],s,0),s=s+1|0,r=0|_[t+136>>2]}while((0|s)<(0|r))}if(h=0|_[t+116>>2],A=+p[h+312>>2],f=+p[h+316>>2],c=+p[h+320>>2],c=3.5999999046325684*+b(+(A*A+f*f+c*c)),p[t+112>>2]=c,m=0|_[t+128>>2],+p[h+4+(m<<2)>>2]*+p[h+312>>2]+ +p[h+20+(m<<2)>>2]*+p[h+316>>2]+ +p[h+36+(m<<2)>>2]*+p[h+320>>2]<0&&(p[t+112>>2]=-c),(0|r)>0){r=0;do{J(t,(0|_[t+144>>2])+(284*r|0)|0),r=r+1|0,s=0|_[t+136>>2]}while((0|r)<(0|s));if(a=1/+p[344+(0|_[t+116>>2])>>2],(0|s)>0){s=0;do{r=0|_[t+144>>2],0|n[r+(284*s|0)+84|0]?(c=+p[r+(284*s|0)+272>>2],c=(c=a*(+p[r+(284*s|0)+216>>2]*(+p[r+(284*s|0)+204>>2]-+p[r+(284*s|0)+32>>2])*+p[r+(284*s|0)+268>>2]-c*+p[(c<0?r+(284*s|0)+220:r+(284*s|0)+224)>>2]))<0?0:c):c=0,p[r+(284*s|0)+276>>2]=c,s=s+1|0,r=0|_[t+136>>2]}while((0|s)<(0|r));if((0|r)>0){r=0;do{m=0|_[t+144>>2],f=(d=(d=+p[m+(284*r|0)+276>>2])>(f=+p[m+(284*r|0)+248>>2])?f:d)*+p[m+(284*r|0)+4>>2]*e,A=d*+p[m+(284*r|0)+8>>2]*e,p[o+16>>2]=+p[m+(284*r|0)>>2]*d*e,p[o+16+4>>2]=f,p[o+16+8>>2]=A,p[o+16+12>>2]=0,h=0|_[t+116>>2],A=+p[m+(284*r|0)+20>>2]-+p[h+56>>2],f=+p[m+(284*r|0)+24>>2]-+p[h+60>>2],p[o>>2]=+p[m+(284*r|0)+16>>2]-+p[h+52>>2],p[o+4>>2]=A,p[o+8>>2]=f,p[o+12>>2]=0,Dn(h,o+16|0,o),r=r+1|0}while((0|r)<(0|_[t+136>>2]))}}}if(zl[31&_[20+(0|_[t>>2])>>2]](t,e),(0|(i=0|_[t+136>>2]))<=0)Q=o;else{m=0|_[t+144>>2],h=0|_[t+116>>2],u=0;do{c=+p[m+(284*u|0)+36>>2]-+p[h+52>>2],a=+p[m+(284*u|0)+40>>2]-+p[h+56>>2],l=+p[m+(284*u|0)+44>>2]-+p[h+60>>2],d=+p[h+332>>2],A=+p[h+336>>2],f=+p[h+328>>2],0|n[m+(284*u|0)+84|0]?(r=0|_[t+128>>2],k=+p[h+4+(r<<2)>>2],S=+p[h+20+(r<<2)>>2],C=+p[h+36+(r<<2)>>2],w=+p[m+(284*u|0)>>2],v=+p[m+(284*u|0)+4>>2],g=+p[m+(284*u|0)+8>>2],l=((a*f-c*d+ +p[h+320>>2])*(C-g*(k*w+S*v+C*g))+((d*l-a*A+ +p[h+312>>2])*(k-w*(k*w+S*v+C*g))+(c*A-l*f+ +p[h+316>>2])*(S-v*(k*w+S*v+C*g))))*e/+p[m+(284*u|0)+212>>2],p[(r=m+(284*u|0)+240|0)>>2]=l,s=y=m+(284*u|0)+236|0,c=+p[y>>2],a=l):(s=y=m+(284*u|0)+236|0,c=l=+p[(r=m+(284*u|0)+240|0)>>2],a=+p[y>>2]),p[s>>2]=c+a,p[r>>2]=.9900000095367432*l,u=u+1|0}while((0|u)!=(0|i));Q=o}},function(t,e){e=+e;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0;if(i=Q,Q=Q+96|0,f=0|_[136+(t|=0)>>2]){if((0|(o=0|_[t+8>>2]))<(0|f)){if((0|_[t+12>>2])<(0|f)){if(_[6630]=1+(0|_[6630]),(s=0|di(16+(f<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,a=s+4+15&-16):a=0,(0|(c=0|_[t+8>>2]))>0){s=0;do{A=a+(s<<4)|0,h=(0|_[t+16>>2])+(s<<4)|0,_[A>>2]=_[h>>2],_[A+4>>2]=_[h+4>>2],_[A+8>>2]=_[h+8>>2],_[A+12>>2]=_[h+12>>2],s=s+1|0}while((0|s)!=(0|c))}0|(s=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=a,_[t+12>>2]=f,s=t+16|0}else s=t+16|0;do{h=(0|_[s>>2])+(o<<4)|0,_[h>>2]=_[i+48>>2],_[h+4>>2]=_[i+48+4>>2],_[h+8>>2]=_[i+48+8>>2],_[h+12>>2]=_[i+48+12>>2],o=o+1|0}while((0|o)!=(0|f))}if(_[t+8>>2]=f,(0|(o=0|_[t+28>>2]))<(0|f)){if((0|_[t+32>>2])<(0|f)){if(_[6630]=1+(0|_[6630]),(s=0|di(16+(f<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,a=s+4+15&-16):a=0,(0|(c=0|_[t+28>>2]))>0){s=0;do{h=a+(s<<4)|0,A=(0|_[t+36>>2])+(s<<4)|0,_[h>>2]=_[A>>2],_[h+4>>2]=_[A+4>>2],_[h+8>>2]=_[A+8>>2],_[h+12>>2]=_[A+12>>2],s=s+1|0}while((0|s)!=(0|c))}0|(s=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=a,_[t+32>>2]=f,s=t+36|0}else s=t+36|0;do{h=(0|_[s>>2])+(o<<4)|0,_[h>>2]=_[i+48>>2],_[h+4>>2]=_[i+48+4>>2],_[h+8>>2]=_[i+48+8>>2],_[h+12>>2]=_[i+48+12>>2],o=o+1|0}while((0|o)!=(0|f))}if(_[t+28>>2]=f,(0|(A=0|_[t+48>>2]))<(0|f)){do{if((0|_[t+52>>2])<(0|f)){if(_[6630]=1+(0|_[6630]),(o=0|di(16+(f<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,c=0|_[t+48>>2],a=0|_[t+56>>2],(0|c)<=0){if(!a){n[t+60|0]=1,_[t+56>>2]=o,_[t+52>>2]=f,s=f<<2;break}}else{s=0;do{_[o+(s<<2)>>2]=_[a+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|c))}0|n[t+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),n[t+60|0]=1,_[t+56>>2]=o,_[t+52>>2]=f,s=f<<2}else s=f<<2,o=0|_[t+56>>2]}while(0);wn(o+(A<<2)|0,0,s-(A<<2)|0)}if(_[t+48>>2]=f,(0|(A=0|_[t+68>>2]))<(0|f)){do{if((0|_[t+72>>2])<(0|f)){if(_[6630]=1+(0|_[6630]),(o=0|di(16+(f<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,c=0|_[t+68>>2],a=0|_[t+76>>2],(0|c)<=0){if(!a){n[t+80|0]=1,_[t+76>>2]=o,_[t+72>>2]=f,s=f<<2;break}}else{s=0;do{_[o+(s<<2)>>2]=_[a+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|c))}0|n[t+80|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),n[t+80|0]=1,_[t+76>>2]=o,_[t+72>>2]=f,s=f<<2}else s=f<<2,o=0|_[t+76>>2]}while(0);wn(o+(A<<2)|0,0,s-(A<<2)|0)}if(_[t+68>>2]=f,(0|(o=0|_[t+136>>2]))<=0)Q=i;else{c=0|_[t+76>>2],a=0|_[t+56>>2],s=0;do{p[c+(s<<2)>>2]=0,p[a+(s<<2)>>2]=0,s=s+1|0}while((0|s)!=(0|o));a=0;do{s=0|_[t+144>>2],(c=0|_[s+(284*a|0)+88>>2])&&(S=s+(284*a|0)+92|0,_[i+48>>2]=_[S>>2],_[i+48+4>>2]=_[S+4>>2],_[i+48+8>>2]=_[S+8>>2],_[i+48+12>>2]=_[S+12>>2],S=s+(284*a|0)+108|0,_[i+48+16>>2]=_[S>>2],_[i+48+16+4>>2]=_[S+4>>2],_[i+48+16+8>>2]=_[S+8>>2],_[i+48+16+12>>2]=_[S+12>>2],S=s+(284*a|0)+124|0,_[i+48+32>>2]=_[S>>2],_[i+48+32+4>>2]=_[S+4>>2],_[i+48+32+8>>2]=_[S+8>>2],_[i+48+32+12>>2]=_[S+12>>2],S=0|_[t+120>>2],o=0|_[i+48+16+(S<<2)>>2],w=0|_[i+48+32+(S<<2)>>2],A=0|_[t+36>>2],_[A+(a<<4)>>2]=_[i+48+(S<<2)>>2],_[A+(a<<4)+4>>2]=o,_[A+(a<<4)+8>>2]=w,p[A+(a<<4)+12>>2]=0,A=0|_[t+36>>2],d=(k=+p[(w=A+(a<<4)|0)>>2])-(r=+p[(o=s+(284*a|0)|0)>>2])*(k*r+(v=+p[(S=A+(a<<4)+4|0)>>2])*(l=+p[(h=s+(284*a|0)+4|0)>>2])+(y=+p[(A=A+(a<<4)+8|0)>>2])*(C=+p[(f=s+(284*a|0)+8|0)>>2])),g=v-l*(k*r+v*l+y*C),y=1/+b(+((C=y-C*(k*r+v*l+y*C))*C+(d*d+g*g))),p[w>>2]=d*y,p[S>>2]=g*y,p[A>>2]=C*y,l=+p[h>>2],v=+p[f>>2],r=+p[o>>2],o=0|_[t+16>>2],p[o+(a<<4)>>2]=l*(C*y)-v*(g*y),p[o+(a<<4)+4>>2]=v*(d*y)-C*y*r,p[o+(a<<4)+8>>2]=g*y*r-l*(d*y),p[o+(a<<4)+12>>2]=0,o=0|_[t+16>>2],y=+p[(f=o+(a<<4)|0)>>2],d=+p[(h=o+(a<<4)+4|0)>>2],l=+p[(o=o+(a<<4)+8|0)>>2],r=1/+b(+(y*y+d*d+l*l)),p[f>>2]=y*r,p[h>>2]=d*r,p[o>>2]=l*r,o=0|_[t+116>>2],h=0|_[t+36>>2],(r=+p[h+(a<<4)>>2])*r+(l=+p[h+(a<<4)+4>>2])*l+(d=+p[h+(a<<4)+8>>2])*d>1.100000023841858?r=0:(F=(D=+p[s+(284*a|0)+16>>2])-+p[o+52>>2],O=(B=+p[s+(284*a|0)+20>>2])-+p[o+56>>2],M=(T=+p[s+(284*a|0)+24>>2])-+p[o+60>>2],D-=+p[c+52>>2],B-=+p[c+56>>2],T-=+p[c+60>>2],W=+p[o+332>>2],V=+p[o+336>>2],x=+p[o+328>>2],j=+p[c+332>>2],P=+p[c+336>>2],I=+p[c+328>>2],R=(d*O-l*M)*+p[o+4>>2]+(r*M-d*F)*+p[o+20>>2]+(l*F-r*O)*+p[o+36>>2],y=(d*O-l*M)*+p[o+8>>2]+(r*M-d*F)*+p[o+24>>2]+(l*F-r*O)*+p[o+40>>2],g=(d*O-l*M)*+p[o+12>>2]+(r*M-d*F)*+p[o+28>>2]+(l*F-r*O)*+p[o+44>>2],C=(B*-d-T*-l)*+p[c+4>>2]+(T*-r-D*-d)*+p[c+20>>2]+(D*-l-B*-r)*+p[c+36>>2],v=(B*-d-T*-l)*+p[c+8>>2]+(T*-r-D*-d)*+p[c+24>>2]+(D*-l-B*-r)*+p[c+40>>2],k=(B*-d-T*-l)*+p[c+12>>2]+(T*-r-D*-d)*+p[c+28>>2]+(D*-l-B*-r)*+p[c+44>>2],r=-.20000000298023224*(r*(M*W-O*V+ +p[o+312>>2]-(T*j-B*P+ +p[c+312>>2]))+l*(+p[o+316>>2]+(F*V-M*x)-(+p[c+316>>2]+(D*P-T*I)))+d*(O*x-F*W+ +p[o+320>>2]-(B*I-D*j+ +p[c+320>>2])))*(1/(+p[c+344>>2]+(+p[o+344>>2]+(R*(R*+p[o+396>>2])+y*(y*+p[o+400>>2])+g*(g*+p[o+404>>2])))+(C*(C*+p[c+396>>2])+v*(v*+p[c+400>>2])+k*(k*+p[c+404>>2]))))),p[(0|_[t+76>>2])+(a<<2)>>2]=r,o=0|_[t+136>>2]),a=a+1|0}while((0|a)<(0|o));if((0|o)<=0)Q=i;else{for(s=0,A=0,c=0|_[t+144>>2];(o=0|_[c+(284*A|0)+88>>2])?(0!=(r=+p[c+(284*A|0)+252>>2])?(r*=e,o=c):(V=0==(V=+p[c+(284*A|0)+256>>2])?0:V,w=0|_[t+116>>2],S=0|_[t+16>>2],F=+p[c+(284*A|0)+16>>2],B=+p[c+(284*A|0)+20>>2],R=+p[c+(284*A|0)+24>>2],v=+p[S+(A<<4)>>2],I=+p[S+(A<<4)+4>>2],r=+p[S+(A<<4)+8>>2],N=F-+p[w+52>>2],L=B-+p[w+56>>2],l=R-+p[w+60>>2],d=+p[w+264>>2]*(L*r-l*I)+ +p[w+280>>2]*(l*v-N*r)+(N*I-L*v)*+p[w+296>>2],E=(L*r-l*I)*+p[w+268>>2]+(l*v-N*r)*+p[w+284>>2]+(N*I-L*v)*+p[w+300>>2],G=(L*r-l*I)*+p[w+272>>2]+(l*v-N*r)*+p[w+288>>2]+(N*I-L*v)*+p[w+304>>2],P=F-+p[o+52>>2],O=B-+p[o+56>>2],D=R-+p[o+60>>2],C=(I*P-v*O)*+p[o+296>>2]+(+p[o+264>>2]*(r*O-I*D)+ +p[o+280>>2]*(v*D-r*P)),y=(r*O-I*D)*+p[o+268>>2]+(v*D-r*P)*+p[o+284>>2]+(I*P-v*O)*+p[o+300>>2],g=(r*O-I*D)*+p[o+272>>2]+(v*D-r*P)*+p[o+288>>2]+(I*P-v*O)*+p[o+304>>2],F-=+p[w+52>>2],B-=+p[w+56>>2],R-=+p[w+60>>2],x=+p[w+332>>2],k=+p[w+336>>2],W=+p[w+328>>2],M=+p[o+332>>2],j=+p[o+336>>2],T=+p[o+328>>2],r=(r=V<(r=-1/(+p[w+344>>2]+(r*(L*d-N*E)+(v*(l*E-L*G)+I*(N*G-l*d)))+(+p[o+344>>2]+(r*(O*C-P*y)+(v*(D*y-O*g)+I*(P*g-D*C)))))*((R*x-B*k+ +p[w+312>>2]-(D*M-O*j+ +p[o+312>>2]))*v+(+p[w+316>>2]+(F*k-R*W)-(+p[o+316>>2]+(P*j-D*T)))*I+(B*W-F*x+ +p[w+320>>2]-(O*T-P*M+ +p[o+320>>2]))*r))?V:r)<-V?-V:r,o=0|_[t+144>>2]),w=(0|_[t+56>>2])+(A<<2)|0,p[w>>2]=0,p[(a=o+(284*A|0)+280|0)>>2]=1,d=+p[c+(284*A|0)+276>>2]*e*+p[c+(284*A|0)+228>>2],p[w>>2]=r,(r*=.5)*r+(l=+p[(0|_[t+76>>2])+(A<<2)>>2])*l>d*d&&(E=d/+b(+(r*r+l*l)),p[a>>2]=E*+p[a>>2],s=1)):(p[(0|_[t+56>>2])+(A<<2)>>2]=0,p[c+(284*A|0)+280>>2]=1,o=c),!((0|(A=A+1|0))>=(0|(a=0|_[t+136>>2])));)c=o;if(s&(0|a)>0){s=0|_[t+76>>2],o=0;do{0!=+p[(c=s+(o<<2)|0)>>2]&&(u=(0|_[t+144>>2])+(284*o|0)+280|0,(m=+p[u>>2])<1)&&(w=(0|_[t+56>>2])+(o<<2)|0,p[w>>2]=m*+p[w>>2],p[c>>2]=+p[u>>2]*+p[c>>2]),o=o+1|0}while((0|o)!=(0|a))}if((0|a)<=0)Q=i;else{s=0;do{c=0|_[t+144>>2],o=0|_[t+116>>2],l=+p[(a=c+(284*s|0)+16|0)>>2]-+p[o+52>>2],d=+p[(A=c+(284*s|0)+20|0)>>2]-+p[o+56>>2],e=+p[(f=c+(284*s|0)+24|0)>>2]-+p[o+60>>2],p[i+48>>2]=l,p[i+48+4>>2]=d,p[i+48+8>>2]=e,p[i+48+12>>2]=0,0!=(r=+p[(0|_[t+56>>2])+(s<<2)>>2])&&(w=0|_[t+16>>2],L=r*+p[w+(s<<4)+4>>2],E=r*+p[w+(s<<4)+8>>2],p[i+32>>2]=r*+p[w+(s<<4)>>2],p[i+32+4>>2]=L,p[i+32+8>>2]=E,p[i+32+12>>2]=0,Dn(o,i+32|0,i+48|0)),0!=(r=+p[(0|_[t+76>>2])+(s<<2)>>2])&&(w=0|_[(0|_[t+144>>2])+(284*s|0)+88>>2],L=+p[A>>2]-+p[w+56>>2],N=+p[f>>2]-+p[w+60>>2],p[i+32>>2]=+p[a>>2]-+p[w+52>>2],p[i+32+4>>2]=L,p[i+32+8>>2]=N,p[i+32+12>>2]=0,S=0|_[t+36>>2],N=+p[S+(s<<4)>>2]*r,L=r*+p[S+(s<<4)+4>>2],E=r*+p[S+(s<<4)+8>>2],p[i+16>>2]=N,p[i+16+4>>2]=L,p[i+16+8>>2]=E,p[i+16+12>>2]=0,S=0|_[t+116>>2],h=0|_[t+124>>2],G=((P=+p[S+4+(h<<2)>>2])*l+(M=+p[S+20+(h<<2)>>2])*d+(V=+p[S+36+(h<<2)>>2])*e)*(1-+p[c+(284*s|0)+244>>2]),p[i+48>>2]=l-P*G,p[i+48+4>>2]=d-M*G,p[i+48+8>>2]=e-V*G,Dn(S,i+16|0,i+48|0),p[i>>2]=-N,p[i+4>>2]=-L,p[i+8>>2]=-E,p[i+12>>2]=0,Dn(w,i,i+32|0)),s=s+1|0}while((0|s)<(0|_[t+136>>2]));Q=i}}}}else Q=i},Dc,xc,Wn,Wn,Wn,function(t,e){e=+e;var i,n,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0;if(!((0|(n=0|_[732+(t|=0)>>2]))<=0)){i=0|_[t+740>>2],t=0;do{b=0|_[i+(52*t|0)+8>>2],o=0|_[i+(52*t|0)+12>>2],h=+p[b+40>>2],u=+p[b+44>>2],A=+p[b+48>>2],m=+p[(a=i+(52*t|0)+36|0)>>2],f=+p[(d=i+(52*t|0)+40|0)>>2],r=+p[(l=i+(52*t|0)+44|0)>>2],c=-+p[i+(52*t|0)+32>>2]*((h-+p[o+40>>2])*m+(u-+p[o+44>>2])*f+(A-+p[o+48>>2])*r)*e,s=+p[b+88>>2]*c,p[b+40>>2]=h+m*s,p[b+44>>2]=u+f*s,p[b+48>>2]=A+r*s,s=(c=+p[o+88>>2]*c)*+p[d>>2],r=c*+p[l>>2],p[o+40>>2]=+p[o+40>>2]-+p[a>>2]*c,p[o+44>>2]=+p[o+44>>2]-s,p[o+48>>2]=+p[o+48>>2]-r,t=t+1|0}while((0|t)!=(0|n))}},fl,fl,fl,fl,fl,fl,fl,fl],Kl=[$a,function(t,e,i){e=+e,i=+i;var o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0;if(o=Q,Q=Q+80|0,(r=0|_[8+(t|=0)>>2])?(h=+p[r+332>>2],A=+p[t+172>>2],f=+p[r+336>>2],u=+p[t+168>>2],d=+p[t+164>>2],m=+p[r+328>>2],e=h*A-f*u,a=+p[r+312>>2],A=f*d-A*m,f=+p[r+316>>2],l=+p[r+320>>2],d=u*m-h*d):(r=0|_[t+4>>2])?(h=+p[r+336>>2],A=+p[t+172>>2],f=+p[r+340>>2],u=+p[t+168>>2],d=+p[t+164>>2],m=+p[r+332>>2],e=h*A-f*u,a=+p[r+316>>2],A=f*d-A*m,f=+p[r+320>>2],l=+p[r+324>>2],d=u*m-h*d):(e=0,a=0,A=0,f=0,l=0,d=0),u=a+e,h=f+A,m=l+d,(r=0|_[t+20>>2])?(C=+p[r+332>>2],A=+p[t+188>>2],f=+p[r+336>>2],y=+p[t+184>>2],d=+p[t+180>>2],g=+p[r+328>>2],e=C*A-f*y,a=+p[r+312>>2],A=f*d-A*g,f=+p[r+316>>2],l=+p[r+320>>2],d=y*g-C*d):(r=0|_[t+16>>2])?(y=+p[r+336>>2],A=+p[t+188>>2],f=+p[r+340>>2],C=+p[t+184>>2],d=+p[t+180>>2],g=+p[r+332>>2],e=y*A-f*C,a=+p[r+316>>2],A=f*d-A*g,f=+p[r+320>>2],l=+p[r+324>>2],d=C*g-y*d):(e=0,a=0,A=0,f=0,l=0,d=0),u-=a+e,A=h-(f+A),e=m-(l+d),a=+p[t+196>>2],l=+p[t+200>>2],d=+p[t+204>>2],n[o+36+32|0]=1,_[o+36+16>>2]=0,_[o+36+16+4>>2]=0,_[o+36+16+8>>2]=0,_[o+36+16+12>>2]=0,_[o+36>>2]=_[t+72>>2],_[o+36+4>>2]=_[t+72+4>>2],_[o+36+8>>2]=_[t+72+8>>2],_[o+36+12>>2]=_[t+72+12>>2],a*u+A*l+e*d<0?(y=+p[t+212>>2],g=+p[o+36>>2]+(a*(a*u+A*l+e*d)+(u-a*(a*u+A*l+e*d))*y),p[o+36>>2]=g,C=l*(a*u+A*l+e*d)+(A-l*(a*u+A*l+e*d))*y+ +p[o+36+4>>2],p[o+36+4>>2]=C,l=d*(a*u+A*l+e*d)+(e-d*(a*u+A*l+e*d))*y+ +p[o+36+8>>2],p[o+36+8>>2]=l,r=o+36+4|0,s=o+36+8|0,c=o+36|0,e=g,a=C):(r=o+36+4|0,s=o+36+8|0,c=o+36|0,e=+p[o+36>>2],a=+p[o+36+4>>2],l=+p[o+36+8>>2]),d=(+p[t+104>>2]*e+ +p[t+108>>2]*a+ +p[t+112>>2]*l)*i,A=(e*+p[t+120>>2]+a*+p[t+124>>2]+l*+p[t+128>>2])*i,e=(e*+p[t+136>>2]+a*+p[t+140>>2]+l*+p[t+144>>2])*i,p[c>>2]=d,p[r>>2]=A,p[s>>2]=e,p[o+36+12>>2]=0,(0|(r=0|_[t+4>>2]))!=(0|_[t+16>>2])){s=o+36|0,c=(r=o)+36|0;do{_[r>>2]=_[s>>2],r=r+4|0,s=s+4|0}while((0|r)<(0|c));return C=-+p[o+4>>2],g=-+p[o+8>>2],p[o>>2]=-+p[o>>2],p[o+4>>2]=C,p[o+8>>2]=g,p[o+12>>2]=0,g=-+p[o+20>>2],C=-+p[o+24>>2],p[o+16>>2]=-+p[o+16>>2],p[o+20>>2]=g,p[o+24>>2]=C,p[o+28>>2]=0,qt(t+4|0,o,t+164|0),qt(t+16|0,o+36|0,t+180|0),void(Q=o)}if(d==d&A==A&e==e&!0)if((C=+b(+(d*d+A*A+e*e)))<+p[r+368>>2])Q=o;else{s=0|_[o+36+32>>2],C=+p[r+372>>2],p[o+12>>2]=0,p[o+28>>2]=0,_[o+32>>2]=s,p[o>>2]=-d*C,p[o+4>>2]=-A*C,p[o+8>>2]=-e*C,p[o+16>>2]=-0*C,p[o+20>>2]=-0*C,p[o+24>>2]=-0*C,qt(t+4|0,o,t+164|0),e=+p[372+(0|_[t+4>>2])>>2],s=o+36|0,c=(r=o)+36|0;do{_[r>>2]=_[s>>2],r=r+4|0,s=s+4|0}while((0|r)<(0|c));p[o>>2]=e*+p[o>>2],p[o+4>>2]=e*+p[o+4>>2],p[o+8>>2]=e*+p[o+8>>2],p[o+16>>2]=e*+p[o+16>>2],p[o+20>>2]=e*+p[o+20>>2],p[o+24>>2]=e*+p[o+24>>2],qt(t+16|0,o,t+180|0),Q=o}else Q=o},function(t,e,i){e=+e,i=+i;var n,o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0;if(o=Q,Q=Q+16|0,i=+p[336+(t|=0)>>2]*e,e=+p[t+452>>2],(0|(n=0|_[t+792>>2]))<=0)Q=o;else{r=0;do{h=0|_[t+800>>2],c=0|_[h+(96*r|0)+20>>2],b=0|_[h+(96*r|0)>>2],S=+p[h+(96*r|0)+4>>2],v=+p[h+(96*r|0)+8>>2],C=+p[h+(96*r|0)+12>>2],s=h+(96*r|0)+76|0,g=+p[c+332>>2],A=+p[h+(96*r|0)+84>>2],w=+p[c+336>>2],l=+p[h+(96*r|0)+80>>2],a=+p[s>>2],d=+p[c+328>>2],m=+p[b+8>>2],u=+p[b+12>>2],f=+p[b+16>>2],y=i*(S*+p[c+4>>2]+v*+p[c+8>>2]+C*+p[c+12>>2]+ +p[c+52>>2]-m)+(e*(g*A-w*l+ +p[c+312>>2])-(m-+p[b+24>>2])),A=i*(S*+p[c+20>>2]+v*+p[c+24>>2]+C*+p[c+28>>2]+ +p[c+56>>2]-u)+(e*(+p[c+316>>2]+(w*a-A*d))-(u-+p[b+28>>2])),a=i*(S*+p[c+36>>2]+v*+p[c+40>>2]+C*+p[c+44>>2]+ +p[c+60>>2]-f)+(e*(l*d-g*a+ +p[c+320>>2])-(f-+p[b+32>>2])),g=+p[h+(96*r|0)+24>>2],d=(y*+p[h+(96*r|0)+28>>2]+A*+p[h+(96*r|0)+32>>2]+ +p[h+(96*r|0)+36>>2]*a)*g,l=(y*+p[h+(96*r|0)+44>>2]+A*+p[h+(96*r|0)+48>>2]+a*+p[h+(96*r|0)+52>>2])*g,a=g*(y*+p[h+(96*r|0)+60>>2]+A*+p[h+(96*r|0)+64>>2]+a*+p[h+(96*r|0)+68>>2]),A=+p[h+(96*r|0)+92>>2],p[b+8>>2]=m+d*A,p[b+12>>2]=u+A*l,p[b+16>>2]=f+A*a,p[o>>2]=-d,p[o+4>>2]=-l,p[o+8>>2]=-a,p[o+12>>2]=0,Dn(c,o,s),r=r+1|0}while((0|r)!=(0|n));Q=o}},function(t,e,i){e=+e,i=+i;var n,o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0;if(!((0|(o=0|_[732+(t|=0)>>2]))<=0)){n=0|_[t+740>>2],t=0;do{(i=+p[n+(52*t|0)+24>>2])>0&&(r=0|_[n+(52*t|0)+8>>2],s=0|_[n+(52*t|0)+12>>2],c=+p[r+8>>2],a=+p[s+8>>2]-c,l=+p[r+12>>2],d=+p[s+12>>2]-l,b=+p[r+16>>2],A=+p[s+16>>2]-b,(f=+p[n+(52*t|0)+28>>2])+(a*a+d*d+A*A)>1.1920928955078125e-7)&&(u=(i=(f-(a*a+d*d+A*A))/(i*(f+(a*a+d*d+A*A)))*e)*+p[r+88>>2],p[r+8>>2]=c-a*u,p[r+12>>2]=l-d*u,p[r+16>>2]=b-A*u,i*=+p[s+88>>2],p[s+8>>2]=+p[s+8>>2]+a*i,p[s+12>>2]=d*i+ +p[s+12>>2],p[s+16>>2]=A*i+ +p[s+16>>2]),t=t+1|0}while((0|t)!=(0|o))}},function(t,e,i){e=+e,i=+i;var n,o,r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0;if(r=Q,Q=Q+16|0,o=+p[452+(t|=0)>>2],f=0|_[t+192>>2],n=+Il[15&_[48+(0|_[f>>2])>>2]](f),(0|(f=0|_[t+812>>2]))<=0)Q=r;else{A=0;do{u=0|_[t+820>>2],b=0|_[u+(104*A|0)>>2],0|(b=2&_[b+236>>2]?b:0)?(g=+p[b+332>>2],s=+p[u+(104*A|0)+84>>2],d=+p[b+336>>2],h=+p[u+(104*A|0)+80>>2],c=+p[u+(104*A|0)+76>>2],y=+p[b+328>>2],i=o*(g*s-d*h+ +p[b+312>>2]),s=o*(+p[b+316>>2]+(d*c-s*y)),c=o*(h*y-g*c+ +p[b+320>>2])):(i=0,s=0,c=0),m=0|_[u+(104*A|0)+24>>2],h=+p[m+8>>2],y=+p[m+12>>2],g=+p[m+16>>2],d=h-+p[m+24>>2]-i,l=y-+p[m+28>>2]-s,i=g-+p[m+32>>2]-c,d*(s=+p[u+(104*A|0)+4>>2])+l*(c=+p[u+(104*A|0)+8>>2])+i*(a=+p[u+(104*A|0)+12>>2])<=1.1920928955078125e-7&&(S=h*s+y*c+g*a+ +p[u+(104*A|0)+20>>2],v=(d-(d-s*(d*s+l*c+i*a))*(w=+p[u+(104*A|0)+96>>2])+s*(S=(S>2]))*e,C=(l-(l-c*(d*s+l*c+i*a))*w+c*S)*e,l=(i-(i-a*(d*s+l*c+i*a))*w+a*S)*e,c=+p[u+(104*A|0)+36>>2]*l+(+p[u+(104*A|0)+28>>2]*v+ +p[u+(104*A|0)+32>>2]*C),a=v*+p[u+(104*A|0)+44>>2]+C*+p[u+(104*A|0)+48>>2]+l*+p[u+(104*A|0)+52>>2],l=v*+p[u+(104*A|0)+60>>2]+C*+p[u+(104*A|0)+64>>2]+l*+p[u+(104*A|0)+68>>2],p[r>>2]=c,p[r+4>>2]=a,p[r+8>>2]=l,p[r+12>>2]=0,d=+p[u+(104*A|0)+92>>2],p[m+8>>2]=h-c*d,p[m+12>>2]=y-a*d,p[m+16>>2]=g-l*d,0|b)&&Dn(b,r,u+(104*A|0)+76|0),A=A+1|0}while((0|A)!=(0|f));Q=r}},function(t,e,i){e=+e,i=+i;var n,o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0;if(!((0|(o=0|_[832+(t|=0)>>2]))<=0)){n=0|_[t+840>>2],t=0;do{S=0|_[n+(56*t|0)>>2],b=0|_[n+(56*t|0)+4>>2],l=0|_[b+8>>2],d=0|_[b+12>>2],b=0|_[b+16>>2],C=+p[(s=n+(56*t|0)+8|0)>>2],g=+p[(c=n+(56*t|0)+12|0)>>2],y=+p[(a=n+(56*t|0)+16|0)>>2],e=+p[l+8>>2]*C+ +p[d+8>>2]*g+ +p[b+8>>2]*y,i=+p[l+12>>2]*C+ +p[d+12>>2]*g+ +p[b+12>>2]*y,r=+p[l+16>>2]*C+ +p[d+16>>2]*g+ +p[b+16>>2]*y,A=+p[S+8>>2],f=+p[S+12>>2],u=+p[S+16>>2],m=A-+p[S+24>>2]-(e-(C*+p[l+24>>2]+g*+p[d+24>>2]+y*+p[b+24>>2])),h=f-+p[S+28>>2]-(i-(C*+p[l+28>>2]+g*+p[d+28>>2]+y*+p[b+28>>2])),y=u-+p[S+32>>2]-(r-(C*+p[l+32>>2]+g*+p[d+32>>2]+y*+p[b+32>>2])),m*(g=+p[n+(56*t|0)+24>>2])+h*(C=+p[n+(56*t|0)+28>>2])+y*(v=+p[n+(56*t|0)+32>>2])<0?(e=g*(r=+p[n+(56*t|0)+40>>2]-(A*g+f*C+u*v-(e*g+i*C+r*v)))+0,i=C*r+0,r=v*r+0):(e=0,i=0,r=0),e-=(w=+p[n+(56*t|0)+44>>2])*(m-g*(m*g+h*C+y*v)),i-=w*(h-C*(m*g+h*C+y*v)),C=r-w*(y-v*(m*g+h*C+y*v)),v=+p[n+(56*t|0)+48>>2],p[S+8>>2]=A+v*e,p[S+12>>2]=f+v*i,p[S+16>>2]=u+v*C,v=+p[(S=n+(56*t|0)+52|0)>>2]*+p[s>>2],p[l+8>>2]=+p[l+8>>2]-e*v,p[l+12>>2]=+p[l+12>>2]-i*v,p[l+16>>2]=+p[l+16>>2]-C*v,v=+p[S>>2]*+p[c>>2],p[d+8>>2]=+p[d+8>>2]-e*v,p[d+12>>2]=+p[d+12>>2]-i*v,p[d+16>>2]=+p[d+16>>2]-C*v,v=+p[S>>2]*+p[a>>2],p[b+8>>2]=+p[b+8>>2]-e*v,p[b+12>>2]=+p[b+12>>2]-i*v,p[b+16>>2]=+p[b+16>>2]-C*v,t=t+1|0}while((0|t)!=(0|o))}},$a,$a],ql=[function(t,e,i,n,o,_){e=+e,i=+i,v(23)},function(t,e,i,n,o,r){t|=0,e=+e,i=+i,n|=0,o|=0,r|=0;var s,c,a,l,d,b=0,A=0,f=0,u=0,m=0;for(d=Q,Q=Q+400|0,p[d+376>>2]=0,p[d+372>>2]=0,p[d+368>>2]=0,R_(d+384|0,d+376|0,d+372|0,d+368|0),a=0|Cl(d+384|0),p[a+(n<<2)>>2]=-i,p[d+344>>2]=0,p[d+340>>2]=0,p[d+336>>2]=0,R_(d+352|0,d+344|0,d+340|0,d+336|0),l=0|Cl(d+352|0),p[l+(n<<2)>>2]=i,Yo(d+272|0,o),Zr(d+256|0,o,+p[d+384>>2],+p[d+384+4>>2],+p[d+384+8>>2]),b=0|Ya(d+272|0),_[b>>2]=_[d+256>>2],_[b+4>>2]=_[d+256+4>>2],_[b+8>>2]=_[d+256+8>>2],_[b+12>>2]=_[d+256+12>>2],_[d+240>>2]=_[d+256>>2],_[d+240+4>>2]=_[d+256+4>>2],_[d+240+8>>2]=_[d+256+8>>2],_[d+240+12>>2]=_[d+256+12>>2],Ko(d+224|0,b=0|Cl(d+272|0),(n+1|0)%3|0),Ko(d+192|0,b,n),Xo(d+208|0,+p[d+192>>2],+p[d+192+4>>2],+p[d+192+8>>2]),ad[1&_[64+(0|_[t>>2])>>2]](t,d+240|0,d+224|0,d+208|0,e,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,r,30,0),Yo(d+128|0,o),Zr(d+112|0,o,+p[d+352>>2],+p[d+352+4>>2],+p[d+352+8>>2]),b=0|Ya(d+128|0),_[b>>2]=_[d+112>>2],_[b+4>>2]=_[d+112+4>>2],_[b+8>>2]=_[d+112+8>>2],_[b+12>>2]=_[d+112+12>>2],_[d+96>>2]=_[d+112>>2],_[d+96+4>>2]=_[d+112+4>>2],_[d+96+8>>2]=_[d+112+8>>2],_[d+96+12>>2]=_[d+112+12>>2],Ko(d+80|0,b=0|Cl(d+128|0),(n+1|0)%3|0),Ko(d+64|0,b,n),ad[1&_[64+(0|_[t>>2])>>2]](t,d+96|0,d+80|0,d+64|0,e,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,r,30,0),b=0|Ya(o),i=+p[b>>2],s=+p[b+4>>2],c=+p[b+8>>2],b=0;!(b>>>0>=360);)m=+dl(u=.01745329238474369*+(0|b))*e,p[a+((n+1|0)%3<<2)>>2]=m,p[l+((n+1|0)%3<<2)>>2]=m,u=+bl(u)*e,p[a+((n+2|0)%3<<2)>>2]=u,p[l+((n+2|0)%3<<2)>>2]=u,A=0|_[8+(0|_[t>>2])>>2],Fn(d+32|0,f=0|Cl(o),+p[d+384>>2],+p[d+384+4>>2],+p[d+384+8>>2]),Bo(d+48|0,i,s,c,+p[d+32>>2],+p[d+32+4>>2],+p[d+32+8>>2]),Fn(d,f,+p[d+352>>2],+p[d+352+4>>2],+p[d+352+8>>2]),Bo(d+16|0,i,s,c,+p[d>>2],+p[d+4>>2],+p[d+8>>2]),pd[127&A](t,d+48|0,d+16|0,r),b=b+30|0;Q=d},function(t,e,i,n,o,r){t|=0,e=+e,i=+i,n|=0,r|=0;var s,c,a,l,d,b=0,A=0,f=0,u=0,m=0;for(d=Q,Q=Q+352|0,A=0|Ya(o|=0),s=+p[A>>2],c=+p[A+4>>2],a=+p[A+8>>2],p[d+328>>2]=0,p[d+324>>2]=0,p[d+320>>2]=0,R_(d+336|0,d+328|0,d+324|0,d+320|0),A=(0|Cl(d+336|0))+(n<<2)|0,p[A>>2]=i,p[d+296>>2]=0,p[d+292>>2]=0,p[d+288>>2]=0,R_(d+304|0,d+296|0,d+292|0,d+288|0),A=0|Cl(d+304|0),p[A+(n<<2)>>2]=-i,p[d+264>>2]=0,p[d+260>>2]=0,p[d+256>>2]=0,R_(d+272|0,d+264|0,d+260|0,d+256|0),l=0|Cl(d+272|0),p[l+(n<<2)>>2]=i,b=0;!(b>>>0>=360);)m=+dl(i=.01745329238474369*+(0|b))*e,p[A+((n+1|0)%3<<2)>>2]=m,p[l+((n+1|0)%3<<2)>>2]=m,i=+bl(i)*e,p[A+((n+2|0)%3<<2)>>2]=i,p[l+((n+2|0)%3<<2)>>2]=i,f=0|_[8+(0|_[t>>2])>>2],Fn(d+224|0,u=0|Cl(o),+p[d+304>>2],+p[d+304+4>>2],+p[d+304+8>>2]),Bo(d+240|0,s,c,a,+p[d+224>>2],+p[d+224+4>>2],+p[d+224+8>>2]),Fn(d+192|0,u,+p[d+272>>2],+p[d+272+4>>2],+p[d+272+8>>2]),Bo(d+208|0,s,c,a,+p[d+192>>2],+p[d+192+4>>2],+p[d+192+8>>2]),pd[127&f](t,d+240|0,d+208|0,r),b=b+30|0;p[d+168>>2]=0,p[d+164>>2]=0,p[d+160>>2]=0,R_(d+176|0,d+168|0,d+164|0,d+160|0),u=(0|Cl(d+176|0))+(n<<2)|0,p[u>>2]=1,p[d+136>>2]=0,p[d+132>>2]=0,p[d+128>>2]=0,R_(d+144|0,d+136|0,d+132|0,d+128|0),u=(0|Cl(d+144|0))+((n+1|0)%3<<2)|0,p[u>>2]=1,u=0|_[60+(0|_[t>>2])>>2],Fn(d+96|0,f=0|Cl(o),+p[d+336>>2],+p[d+336+4>>2],+p[d+336+8>>2]),Fo(d+112|0,s,c,a,+p[d+96>>2],+p[d+96+4>>2],+p[d+96+8>>2]),Fn(d+80|0,f,+p[d+176>>2],+p[d+176+4>>2],+p[d+176+8>>2]),Fn(d+64|0,f,+p[d+144>>2],+p[d+144+4>>2],+p[d+144+8>>2]),ld[1&u](t,d+112|0,d+80|0,d+64|0,e,e,0,6.2831854820251465,r,0,10),u=0|_[60+(0|_[t>>2])>>2],Fn(d+32|0,f,+p[d+336>>2],+p[d+336+4>>2],+p[d+336+8>>2]),Bo(d+48|0,s,c,a,+p[d+32>>2],+p[d+32+4>>2],+p[d+32+8>>2]),Fn(d+16|0,f,+p[d+176>>2],+p[d+176+4>>2],+p[d+176+8>>2]),Fn(d,f,+p[d+144>>2],+p[d+144+4>>2],+p[d+144+8>>2]),ld[1&u](t,d+48|0,d+16|0,d,e,e,0,6.2831854820251465,r,0,10),Q=d},function(t,e,i,n,o,r){t|=0,e=+e,i=+i,n|=0,r|=0;var s,c,a,l,d,b,A=0,f=0,u=0,m=0,h=0;for(b=Q,Q=Q+704|0,f=0|Ya(o|=0),a=+p[f>>2],l=+p[f+4>>2],d=+p[f+8>>2],p[b+680>>2]=0,p[b+676>>2]=0,p[b+672>>2]=0,R_(b+688|0,b+680|0,b+676|0,b+672|0),f=(0|Cl(b+688|0))+(n<<2)|0,p[f>>2]=.5*i,p[b+648>>2]=0,p[b+644>>2]=0,p[b+640>>2]=0,R_(b+656|0,b+648|0,b+644|0,b+640|0),f=(0|Cl(b+656|0))+((n+1|0)%3<<2)|0,p[f>>2]=e,p[b+616>>2]=0,p[b+612>>2]=0,p[b+608>>2]=0,R_(b+624|0,b+616|0,b+612|0,b+608|0),f=(0|Cl(b+624|0))+((n+2|0)%3<<2)|0,p[f>>2]=e,p[b+584>>2]=0,p[b+580>>2]=0,p[b+576>>2]=0,R_(b+592|0,b+584|0,b+580|0,b+576|0),f=0|Cl(b+592|0),p[f+(n<<2)>>2]=-.5*i,s=b+688+4|0,c=b+688+8|0,A=0;!(A>>>0>=360);)h=+dl(i=.01745329238474369*+(0|A))*e,p[f+((n+1|0)%3<<2)>>2]=h,i=+bl(i)*e,p[f+((n+2|0)%3<<2)>>2]=i,u=0|_[8+(0|_[t>>2])>>2],Fn(b+544|0,m=0|Cl(o),+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+560|0,a,l,d,+p[b+544>>2],+p[b+544+4>>2],+p[b+544+8>>2]),Fn(b+512|0,m,+p[b+592>>2],+p[b+592+4>>2],+p[b+592+8>>2]),Bo(b+528|0,a,l,d,+p[b+512>>2],+p[b+512+4>>2],+p[b+512+8>>2]),pd[127&u](t,b+560|0,b+528|0,r),A=A+30|0;m=0|_[8+(0|_[t>>2])>>2],Fn(b+480|0,u=0|Cl(o),+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+496|0,a,l,d,+p[b+480>>2],+p[b+480+4>>2],+p[b+480+8>>2]),Xo(b+416|0,+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+432|0,+p[b+416>>2],+p[b+416+4>>2],+p[b+416+8>>2],+p[b+656>>2],+p[b+656+4>>2],+p[b+656+8>>2]),Fn(b+448|0,u,+p[b+432>>2],+p[b+432+4>>2],+p[b+432+8>>2]),Bo(b+464|0,a,l,d,+p[b+448>>2],+p[b+448+4>>2],+p[b+448+8>>2]),pd[127&m](t,b+496|0,b+464|0,r),m=0|_[8+(0|_[t>>2])>>2],Fn(b+384|0,u,+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+400|0,a,l,d,+p[b+384>>2],+p[b+384+4>>2],+p[b+384+8>>2]),Xo(b+320|0,+p[b+688>>2],+p[s>>2],+p[c>>2]),Fo(b+336|0,+p[b+320>>2],+p[b+320+4>>2],+p[b+320+8>>2],+p[b+656>>2],+p[b+656+4>>2],+p[b+656+8>>2]),Fn(b+352|0,u,+p[b+336>>2],+p[b+336+4>>2],+p[b+336+8>>2]),Bo(b+368|0,a,l,d,+p[b+352>>2],+p[b+352+4>>2],+p[b+352+8>>2]),pd[127&m](t,b+400|0,b+368|0,r),m=0|_[8+(0|_[t>>2])>>2],Fn(b+288|0,u,+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+304|0,a,l,d,+p[b+288>>2],+p[b+288+4>>2],+p[b+288+8>>2]),Xo(b+224|0,+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+240|0,+p[b+224>>2],+p[b+224+4>>2],+p[b+224+8>>2],+p[b+624>>2],+p[b+624+4>>2],+p[b+624+8>>2]),Fn(b+256|0,u,+p[b+240>>2],+p[b+240+4>>2],+p[b+240+8>>2]),Bo(b+272|0,a,l,d,+p[b+256>>2],+p[b+256+4>>2],+p[b+256+8>>2]),pd[127&m](t,b+304|0,b+272|0,r),m=0|_[8+(0|_[t>>2])>>2],Fn(b+192|0,u,+p[b+688>>2],+p[s>>2],+p[c>>2]),Bo(b+208|0,a,l,d,+p[b+192>>2],+p[b+192+4>>2],+p[b+192+8>>2]),Xo(b+128|0,+p[b+688>>2],+p[s>>2],+p[c>>2]),Fo(b+144|0,+p[b+128>>2],+p[b+128+4>>2],+p[b+128+8>>2],+p[b+624>>2],+p[b+624+4>>2],+p[b+624+8>>2]),Fn(b+160|0,u,+p[b+144>>2],+p[b+144+4>>2],+p[b+144+8>>2]),Bo(b+176|0,a,l,d,+p[b+160>>2],+p[b+160+4>>2],+p[b+160+8>>2]),pd[127&m](t,b+208|0,b+176|0,r),p[b+104>>2]=0,p[b+100>>2]=0,p[b+96>>2]=0,R_(b+112|0,b+104|0,b+100|0,b+96|0),m=(0|Cl(b+112|0))+(n<<2)|0,p[m>>2]=1,p[b+72>>2]=0,p[b+68>>2]=0,p[b+64>>2]=0,R_(b+80|0,b+72|0,b+68|0,b+64|0),m=(0|Cl(b+80|0))+((n+1|0)%3<<2)|0,p[m>>2]=1,m=0|_[60+(0|_[t>>2])>>2],Fn(b+32|0,u,+p[b+688>>2],+p[s>>2],+p[c>>2]),Fo(b+48|0,a,l,d,+p[b+32>>2],+p[b+32+4>>2],+p[b+32+8>>2]),Fn(b+16|0,u,+p[b+112>>2],+p[b+112+4>>2],+p[b+112+8>>2]),Fn(b,u,+p[b+80>>2],+p[b+80+4>>2],+p[b+80+8>>2]),ld[1&m](t,b+48|0,b+16|0,b,e,e,0,6.2831854820251465,r,0,10),Q=b}],$l=[za,function(t,e,i){e=+e,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0;if(0|(o=0|_[8+(t|=0)>>2])&&!(3&_[o+204>>2])&&(4!=(-2&_[o+216>>2])&&(_[o+216>>2]=1),p[o+220>>2]=0),0|(o=0|_[t+12>>2])&&!(3&_[o+204>>2])&&(4!=(-2&_[o+216>>2])&&(_[o+216>>2]=1),p[o+220>>2]=0),0|(o=0|_[t+20>>2])&&!(3&_[o+204>>2])&&(4!=(-2&_[o+216>>2])&&(_[o+216>>2]=1),p[o+220>>2]=0),0|(o=0|_[t+24>>2])&&!(3&_[o+204>>2])&&(4!=(-2&_[o+216>>2])&&(_[o+216>>2]=1),p[o+220>>2]=0),o=0|_[t+156>>2],_[t+156>>2]=o+1,n[t+152|0]=(0|o)>=(0|_[t+160>>2])&1,0|o)return _[t+72>>2]=0,_[t+72+4>>2]=0,_[t+72+8>>2]=0,_[t+72+12>>2]=0,_[t+72+16>>2]=0,_[t+72+20>>2]=0,_[t+72+24>>2]=0,void(_[t+72+28>>2]=0);c=+p[t+64>>2],s=1/e*(+p[t+72>>2]*c),r=1/e*(c*+p[t+76>>2]),e=1/e*(c*+p[t+80>>2]),p[t+72>>2]=s,p[t+76>>2]=r,p[t+80>>2]=e,p[t+84>>2]=0,(c=+p[t+68>>2])>0&&(l=c*s*+p[t+120>>2]+c*r*+p[t+124>>2]+c*e*+p[t+128>>2],a=c*s*+p[t+136>>2]+c*r*+p[t+140>>2]+c*e*+p[t+144>>2],p[t+88>>2]=c*s*+p[t+104>>2]+c*r*+p[t+108>>2]+c*e*+p[t+112>>2],p[t+92>>2]=l,p[t+96>>2]=a,p[t+100>>2]=0,p[t+72>>2]=(1-c)*s,p[t+76>>2]=(1-c)*r,p[t+80>>2]=(1-c)*e,s*=1-c,r*=1-c,e*=1-c),p[t+72>>2]=1/+(0|i)*s,p[t+76>>2]=1/+(0|i)*r,p[t+80>>2]=1/+(0|i)*e},cp,cp,ir,function(t,e,i){var n,o,r,s,c;t|=0,e=+e,i|=0,n=Q,Q=Q+96|0,_[n+32>>2]=1065353216,_[n+32+4>>2]=0,_[n+32+4+4>>2]=0,_[n+32+4+8>>2]=0,_[n+32+4+12>>2]=0,_[n+32+20>>2]=1065353216,_[n+32+24>>2]=0,_[n+32+24+4>>2]=0,_[n+32+24+8>>2]=0,_[n+32+24+12>>2]=0,_[n+32+40>>2]=1065353216,_[(c=n+32+44|0)>>2]=0,_[c+4>>2]=0,_[c+8>>2]=0,_[c+12>>2]=0,_[c+16>>2]=0,pd[127&_[8+(0|_[t>>2])>>2]](t,n+32|0,n+16|0,n),r=.5*(+p[n>>2]-+p[n+16>>2])*2,o=.5*(+p[n+4>>2]-+p[n+16+4>>2])*2,s=.5*(+p[n+8>>2]-+p[n+16+8>>2])*2,p[i>>2]=e/12*(o*o+s*s),p[i+4>>2]=e/12*(r*r+s*s),p[i+8>>2]=e/12*(r*r+o*o),Q=n},function(t,e,i){var n,o,r,s,c,a;t|=0,e=+e,i|=0,n=Q,Q=Q+96|0,_[n+32>>2]=1065353216,_[n+32+4>>2]=0,_[n+32+4+4>>2]=0,_[n+32+4+8>>2]=0,_[n+32+4+12>>2]=0,_[n+32+20>>2]=1065353216,_[n+32+24>>2]=0,_[n+32+24+4>>2]=0,_[n+32+24+8>>2]=0,_[n+32+24+12>>2]=0,_[n+32+40>>2]=1065353216,_[(a=n+32+44|0)>>2]=0,_[a+4>>2]=0,_[a+8>>2]=0,_[a+12>>2]=0,_[a+16>>2]=0,pd[127&_[8+(0|_[t>>2])>>2]](t,n+32|0,n+16|0,n),s=.5*(+p[n>>2]-+p[n+16>>2]),r=.5*(+p[n+4>>2]-+p[n+16+4>>2]),c=.5*(+p[n+8>>2]-+p[n+16+8>>2]),o=+Il[15&_[48+(0|_[t>>2])>>2]](t),p[i>>2]=.0833333283662796*e*(2*(r+o)*(2*(r+o))+2*(c+o)*(2*(c+o))),p[i+4>>2]=.0833333283662796*e*(2*(s+o)*(2*(s+o))+2*(c+o)*(2*(c+o))),p[i+8>>2]=.0833333283662796*e*(2*(s+o)*(2*(s+o))+2*(r+o)*(2*(r+o))),p[i+12>>2]=0,Q=n},function(t,e,i){i|=0,e=.4000000059604645*(e=+e)*+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),e*=+Il[15&_[48+(0|_[t>>2])>>2]](t),p[i>>2]=e,p[i+4>>2]=e,p[i+8>>2]=e,p[i+12>>2]=0},ir,ir,function(t,e,i){e=+e,i|=0;var n,o,r,s,c=0;n=Q,Q=Q+96|0,c=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),_[n+32>>2]=1065353216,_[n+32+4>>2]=0,_[n+32+4+4>>2]=0,_[n+32+4+8>>2]=0,_[n+32+4+12>>2]=0,_[n+32+20>>2]=1065353216,_[n+32+24>>2]=0,_[n+32+24+4>>2]=0,_[n+32+24+8>>2]=0,_[n+32+24+12>>2]=0,_[n+32+40>>2]=1065353216,_[(s=n+32+44|0)>>2]=0,_[s+4>>2]=0,_[s+8>>2]=0,_[s+12>>2]=0,_[s+16>>2]=0,pd[127&_[8+(0|_[t>>2])>>2]](t,n+32|0,n+16|0,n),r=2*(c+.5*(+p[n>>2]-+p[n+16>>2])),o=2*(c+.5*(+p[n+4>>2]-+p[n+16+4>>2])),c=2*(c+.5*(+p[n+8>>2]-+p[n+16+8>>2])),p[i>>2]=.0833333283662796*e*(o*o+c*c),p[i+4>>2]=.0833333283662796*e*(r*r+c*c),p[i+8>>2]=.0833333283662796*e*(r*r+o*o),p[i+12>>2]=0,Q=n},function(t,e,i){var n,o,r,s,c,a;e=+e,i|=0,n=Q,Q=Q+16|0,c=0|_[52+(t|=0)>>2],a=0|_[t+28+((c+2|0)%3<<2)>>2],_[n>>2]=a,_[n+4>>2]=a,_[n+8>>2]=a,p[n+12>>2]=0,p[n+(c<<2)>>2]=+p[t+28+(c<<2)>>2]+ +p[n+(c<<2)>>2],r=2*(+p[n>>2]+.03999999910593033),o=2*(+p[n+4>>2]+.03999999910593033),s=2*(+p[n+8>>2]+.03999999910593033),p[i>>2]=.0833333283662796*e*(o*o+s*s),p[i+4>>2]=.0833333283662796*e*(r*r+s*s),p[i+8>>2]=.0833333283662796*e*(r*r+o*o),Q=n},function(t,e,i){e=+e,i|=0;var n,o,r,s,c=0;s=+p[28+(t|=0)>>2],o=+p[t+32>>2],c=+p[t+36>>2],r=+Il[15&_[48+(0|_[t>>2])>>2]](t),n=+Il[15&_[48+(0|_[t>>2])>>2]](t),c=2*(c+ +Il[15&_[48+(0|_[t>>2])>>2]](t)),p[i>>2]=e/12*(2*(o+n)*(2*(o+n))+c*c),p[i+4>>2]=e/12*(2*(s+r)*(2*(s+r))+c*c),p[i+8>>2]=e/12*(2*(s+r)*(2*(s+r))+2*(o+n)*(2*(o+n))),p[i+12>>2]=0},ir,function(t,e,i){e=+e,i|=0;var n,o,r,s=0,c=0,a=0,l=0;switch(s=+p[28+(t|=0)>>2],n=+p[t+32>>2],l=+p[t+36>>2],r=+Il[15&_[48+(0|_[t>>2])>>2]](t),o=+Il[15&_[48+(0|_[t>>2])>>2]](t),l=+Il[15&_[48+(0|_[t>>2])>>2]](t)+l,0|_[t+52>>2]){case 0:c=a=.25*e*((o+n)*(o+n))+e/12*((r+s)*(4*(r+s))),s=.5*e*((o+n)*(o+n));break;case 2:c=.5*e*((r+s)*(r+s)),a=.25*e*((r+s)*(r+s))+e/12*(l*(4*l)),s=.25*e*((r+s)*(r+s))+e/12*(l*(4*l));break;default:c=l=.25*e*((r+s)*(r+s))+e/12*((o+n)*(4*(o+n))),a=.5*e*((r+s)*(r+s)),s=l}p[i>>2]=s,p[i+4>>2]=a,p[i+8>>2]=c,p[i+12>>2]=0},za],td=[function(t,e,i,n){e=+e,v(25)},function(t,e,i,n){var o,r;t|=0,e=+e,n|=0,o=Q,Q=Q+64|0,r=0|Ya(i|=0),_[o+48>>2]=_[r>>2],_[o+48+4>>2]=_[r+4>>2],_[o+48+8>>2]=_[r+8>>2],_[o+48+12>>2]=_[r+12>>2],Ko(o+32|0,i=0|Cl(i),1),Ko(o+16|0,i,0),ad[1&_[64+(0|_[t>>2])>>2]](t,o+48|0,o+32|0,o+16|0,e,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,n,30,0),i=0|_[64+(0|_[t>>2])>>2],Xo(o,+p[o+16>>2],+p[o+16+4>>2],+p[o+16+8>>2]),ad[1&i](t,o+48|0,o+32|0,o,e,-1.5707963705062866,1.5707963705062866,-1.5707963705062866,1.5707963705062866,n,30,0),Q=o}],ed=[Al,function(t,e){F(2,0|(t|=0),0|(e|=0))},function(t,e){F(4,0|(t|=0),0|(e|=0))},function(t,e){var i;e|=0,i=Q,Q=Q+128|0,_o(i,68+(t|=0)|0),So(i+64|0,i,t+4|0),Yo(e,i+64|0),Q=i},function(t,e){var i;i=Q,Q=Q+64|0,So(i,e|=0,68+(t|=0)|0),Yo(t+4|0,i),Q=i},_a,fp,lp,_a,function(t,e){e|=0;var i,n=0;n=0|Gl[127&_[16+(0|_[(t|=0)>>2])>>2]](t),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,n,1),i=0|El[63&_[20+(0|_[t>>2])>>2]](t,0|_[n+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,n,i,1245859651,t)},function(t,e){t|=0;var i,n,o,r=0,s=0;if(e=0|_[36+(e|=0)>>2],s=0|_[e+8>>2],r=0|_[e+12>>2],o=0|_[e+16>>2],n=+p[t+52>>2],!((i=+zt(t+4|0,+p[t+36>>2],+p[t+40>>2],+p[t+44>>2],+p[s+8>>2],+p[s+12>>2],+p[s+16>>2],+p[r+8>>2],+p[r+12>>2],+p[r+16>>2],+p[o+8>>2],+p[o+12>>2],+p[o+16>>2],n))>0&i>2])|0,void(_[s>>2]=r);p[t+52>>2]=i,_[t+56>>2]=e,r=1+(r=0|_[(s=t+60|0)>>2])|0,_[s>>2]=r},_a,function(t,e){_[(t|=0)>>2]=1065353216,_[t+4>>2]=1065353216,_[t+8>>2]=1065353216,p[t+12>>2]=0},function(t,e){e|=0;var i,n=0;n=0|Gl[127&_[52+(0|_[(t|=0)>>2])>>2]](t),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,n,1),i=0|El[63&_[56+(0|_[t>>2])>>2]](t,0|_[n+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,n,i,1346455635,t)},function(t,e){t|=0;var i,o,r,s,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0;if(s=Q,Q=Q+192|0,L=0|_[36+(e|=0)>>2],h=+p[(+p[L+88>>2]>0?t+16:t+20)>>2],1&n[L+100|0])Q=s;else{V=0|_[t+8>>2],w=0|_[V+4>>2],G=0|_[V+12>>2],r=0|_[684+(0|_[t+4>>2])>>2],F=+p[L+8>>2]-+p[G+48>>2],C=+p[L+12>>2]-+p[G+52>>2],x=+p[L+16>>2]-+p[G+56>>2],I=1/+p[r+76>>2],v=3*((D=(F*+p[G>>2]+C*+p[G+16>>2]+x*+p[G+32>>2])*I/3)+ +(0|(P=D<0?~~(1-D):0))-+(D+ +(0|P)|0))-+(0|(M=~~(3*(D+ +(0|P)-+(D+ +(0|P)|0))))),P=~~(D+ +(0|P))-P|0,m=3*((D=I*(F*+p[G+4>>2]+C*+p[G+20>>2]+x*+p[G+36>>2])/3)+ +(0|(O=D<0?~~(1-D):0))-+(D+ +(0|O)|0))-+(0|(i=~~(3*(D+ +(0|O)-+(D+ +(0|O)|0))))),O=~~(D+ +(0|O))-O|0,C=3*((x=I*(F*+p[G+8>>2]+C*+p[G+24>>2]+x*+p[G+40>>2])/3)+ +(0|(T=x<0?~~(1-x):0))-+(x+ +(0|T)|0))-+(0|(o=~~(3*(x+ +(0|T)-+(x+ +(0|T)|0))))),y=(((y=(((y=(((y=((y=(y=(y=(y=(y=(y=(y=P>>>16<<11^16+(65535&P)^16+(65535&P)<<16)+(65535&O)+(y>>>11)|0)^O>>>16<<11^y<<16)+(65535&(T=~~(x+ +(0|T))-T|0))+(y>>>11)|0)^T>>>16<<11^y<<16)+(65535&w)+(y>>>11)|0)^w>>>16<<11^y<<16)>>>11)+y|0)<<3^y)>>>5)+(y<<3^y)|0)<<4^y)>>>17)+(y<<4^y)|0)<<25^y)>>>6)+(y<<25^y)|0,g=0|_[r+60>>2],S=0|_[r+68>>2],e=0|_[S+((y>>>0)%(g>>>0)<<2)>>2],_[r+96>>2]=1+(0|_[r+96>>2]),c=1+(0|_[r+92>>2])|0,_[r+92>>2]=c;t:do{if(e)for(;;){if((0|_[e+272>>2])==(0|y)&&(0|_[e+256>>2])==(0|P)&&(0|_[e+260>>2])==(0|O)&&(0|_[e+264>>2])==(0|T)&&(0|_[e+276>>2])==(0|w))break t;if(e=0|_[e+280>>2],c=c+1|0,_[r+92>>2]=c,!e){u=10;break}}else u=10}while(0);t:do{if(10==(0|u)){if(W=0|_[r+84>>2],_[r+84>>2]=W+1,(0|W)>=(0|_[r+88>>2])){_[6280]=1+(0|_[6280]);e:do{if((0|g)>0)for(e=0,c=S;;){if(c=0|_[(W=c+(e<<2)|0)>>2],_[W>>2]=0,0|c)do{W=c,c=0|_[c+280>>2],yl(W)}while(0|c);if((0|(e=e+1|0))==(0|g))break e;c=0|_[r+68>>2]}}while(0);p[r+76>>2]=.25,_[r+80>>2]=0,_[r+84>>2]=0,_[r+92>>2]=1,_[r+96>>2]=1}for(wn(0|(e=0|a_(284)),0,284),_[e+280>>2]=_[S+((y>>>0)%(g>>>0)<<2)>>2],_[S+((y>>>0)%(g>>>0)<<2)>>2]=e,_[e+276>>2]=w,_[e+272>>2]=y,_[e+256>>2]=P,_[e+260>>2]=O,_[e+264>>2]=T,w=s+120+4|0,B=s+120+24|0,W=s+120+44|0,c=0,a=A=+p[r+76>>2];;){for(d=A*(3*+(0|T))+a*+(0|c),u=0;l=A*(3*+(0|O))+a*+(0|u),p[s+48>>2]=3*+(0|P)*A+0*a,p[s+48+4>>2]=l,p[s+48+8>>2]=d,p[s+48+12>>2]=0,y=0|_[e+276>>2],_[s+120>>2]=1065353216,_[w>>2]=0,_[w+4>>2]=0,_[w+8>>2]=0,_[w+12>>2]=0,_[s+120+20>>2]=1065353216,_[B>>2]=0,_[B+4>>2]=0,_[B+8>>2]=0,_[B+12>>2]=0,_[s+120+40>>2]=1065353216,_[W>>2]=0,_[W+4>>2]=0,_[W+8>>2]=0,_[W+12>>2]=0,_[W+16>>2]=0,(0|(S=0|_[y+4>>2]))<20?(a=+Wi(s+48|0,y,s+120|0,s+64|0),g=4+(y=0|_[e+276>>2])|0,S=0|_[y+4>>2]):(a=0,g=y+4|0),p[e+(u<<4)+(c<<2)>>2]=a,p[s+48>>2]=3*+(0|P)*A+ +p[r+76>>2],p[s+48+4>>2]=l,p[s+48+8>>2]=d,p[s+48+12>>2]=0,_[s+120>>2]=1065353216,_[w>>2]=0,_[w+4>>2]=0,_[w+8>>2]=0,_[w+12>>2]=0,_[s+120+20>>2]=1065353216,_[B>>2]=0,_[B+4>>2]=0,_[B+8>>2]=0,_[B+12>>2]=0,_[s+120+40>>2]=1065353216,_[W>>2]=0,_[W+4>>2]=0,_[W+8>>2]=0,_[W+12>>2]=0,_[W+16>>2]=0,(0|S)<20?(a=+Wi(s+48|0,y,s+120|0,s+64|0),g=4+(y=0|_[e+276>>2])|0):a=0,p[e+64+(u<<4)+(c<<2)>>2]=a,p[s+48>>2]=3*+(0|P)*A+2*+p[r+76>>2],p[s+48+4>>2]=l,p[s+48+8>>2]=d,p[s+48+12>>2]=0,_[s+120>>2]=1065353216,_[w>>2]=0,_[w+4>>2]=0,_[w+8>>2]=0,_[w+12>>2]=0,_[s+120+20>>2]=1065353216,_[B>>2]=0,_[B+4>>2]=0,_[B+8>>2]=0,_[B+12>>2]=0,_[s+120+40>>2]=1065353216,_[W>>2]=0,_[W+4>>2]=0,_[W+8>>2]=0,_[W+12>>2]=0,_[W+16>>2]=0,(0|_[g>>2])<20?(a=+Wi(s+48|0,y,s+120|0,s+64|0),g=4+(y=0|_[e+276>>2])|0):a=0,p[e+128+(u<<4)+(c<<2)>>2]=a,p[s+48>>2]=3*+(0|P)*A+3*+p[r+76>>2],p[s+48+4>>2]=l,p[s+48+8>>2]=d,p[s+48+12>>2]=0,_[s+120>>2]=1065353216,_[w>>2]=0,_[w+4>>2]=0,_[w+8>>2]=0,_[w+12>>2]=0,_[s+120+20>>2]=1065353216,_[B>>2]=0,_[B+4>>2]=0,_[B+8>>2]=0,_[B+12>>2]=0,_[s+120+40>>2]=1065353216,_[W>>2]=0,_[W+4>>2]=0,_[W+8>>2]=0,_[W+12>>2]=0,_[W+16>>2]=0,a=(0|_[g>>2])<20?+Wi(s+48|0,y,s+120|0,s+64|0):0,p[e+192+(u<<4)+(c<<2)>>2]=a,4!=(0|(u=u+1|0));)a=+p[r+76>>2];if(4==(0|(c=c+1|0)))break t;a=+p[r+76>>2]}}}while(0);if(_[e+268>>2]=_[r+80>>2],a=+p[e+(M<<6)+(i<<4)+(o<<2)>>2],j=+p[e+(M+1<<6)+(i<<4)+(o<<2)>>2],k=+p[e+(M+1<<6)+(i+1<<4)+(o<<2)>>2],R=+p[e+(M<<6)+(i+1<<4)+(o<<2)>>2],x=+p[e+(M<<6)+(i<<4)+(o+1<<2)>>2],F=+p[e+(M+1<<6)+(i<<4)+(o+1<<2)>>2],D=+p[e+(M+1<<6)+(i+1<<4)+(o+1<<2)>>2],I=+p[e+(M<<6)+(i+1<<4)+(o+1<<2)>>2],f=1/+b(+((A=x-a+v*(F-j-(x-a))+m*(I-R+v*(D-k-(I-R))-(x-a+v*(F-j-(x-a)))))*A+((l=j-a+m*(k-R-(j-a))+C*(F-x+m*(D-I-(F-x))-(j-a+m*(k-R-(j-a)))))*l+(d=R-a+v*(k-j-(R-a))+C*(I-x+v*(D-F-(I-x))-(R-a+v*(k-j-(R-a)))))*d))),(a=(a=a+v*(j-a)+m*(R+v*(k-R)-(a+v*(j-a))))+C*(x+v*(F-x)+m*(I+v*(D-I)-(x+v*(F-x)))-a)-h)<0)if(S=0|_[V+8>>2],F=+p[G>>2]*(l*f)+ +p[G+4>>2]*(d*f)+ +p[G+8>>2]*(A*f),x=l*f*+p[G+16>>2]+d*f*+p[G+20>>2]+A*f*+p[G+24>>2],I=l*f*+p[G+32>>2]+d*f*+p[G+36>>2]+A*f*+p[G+40>>2],D=-(F*(+p[L+8>>2]-a*F)+x*(+p[L+12>>2]-a*x)+I*(+p[L+16>>2]-a*I)),(v=+p[L+88>>2])+(C=(e=0|_[t+12>>2])?+p[e+344>>2]:0)>0){if(u=e?e+4|0:4+(0|_[8+(0|_[t+8>>2])>>2])|0,!(0|n[24480])&&0|Qs(24480)){c=48+(e=25124)|0;do{_[e>>2]=0,e=e+4|0}while((0|e)<(0|c))}if(c=0|_[t+12>>2],R=(f=+p[L+8>>2])-+p[u+48>>2],j=(m=+p[L+12>>2])-+p[u+52>>2],k=(h=+p[L+16>>2])-+p[u+56>>2],c?(d=+p[c+332>>2],l=+p[c+336>>2],E=+p[c+328>>2],e=0|_[t+4>>2],A=+p[e+452>>2],a=(k*d-j*l+ +p[c+312>>2])*A,l=(+p[c+316>>2]+(R*l-k*E))*A,d=(j*E-R*d+ +p[c+320>>2])*A):(a=0,l=0,d=0,e=G=0|_[t+4>>2],A=+p[G+452>>2]),f=f-+p[L+24>>2]-a,m=m-+p[L+28>>2]-l,E=h-+p[L+32>>2]-d,l=+p[e+316>>2]*+p[224+(0|_[8+(0|_[t+8>>2])>>2])>>2],nt(s+120|0,A,v,C,0|c?c+264|0:25124,R,j,k),_[s+32>>2]=_[s+120>>2],_[s+32+4>>2]=_[s+120+4>>2],_[s+32+8>>2]=_[s+120+8>>2],_[s+32+12>>2]=_[s+120+12>>2],_[s+16>>2]=_[s+120+16>>2],_[s+16+4>>2]=_[s+120+16+4>>2],_[s+16+8>>2]=_[s+120+16+8>>2],_[s+16+12>>2]=_[s+120+16+12>>2],_[s>>2]=_[s+120+32>>2],_[s+4>>2]=_[s+120+32+4>>2],_[s+8>>2]=_[s+120+32+8>>2],_[s+12>>2]=_[s+120+32+12>>2],g=0|_[t+4>>2],a=v*+p[g+452>>2],l=(E-I*(f*F+m*x+E*I))*(E-I*(f*F+m*x+E*I))+((f-F*(f*F+m*x+E*I))*(f-F*(f*F+m*x+E*I))+(m-x*(f*F+m*x+E*I))*(m-x*(f*F+m*x+E*I)))>2])>>2])>>2]?g+328:g+324)>>2],(0|(e=0|_[g+812>>2]))==(0|_[g+816>>2])&&(0|e)<(0|(N=0|e?e<<1:1))){if(N?(_[6630]=1+(0|_[6630]),(e=0|di(16+(104*N|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,u=e,e=0|_[g+812>>2]):u=0,(0|e)>0){c=0;do{G=u+(104*c|0)|0,M=(V=0|_[g+820>>2])+(104*c|0)|0,_[G>>2]=_[M>>2],_[G+4>>2]=_[M+4>>2],_[G+8>>2]=_[M+8>>2],_[G+12>>2]=_[M+12>>2],_[G+16>>2]=_[M+16>>2],_[G+20>>2]=_[M+20>>2],_[G+24>>2]=_[M+24>>2],M=V+(104*c|0)+28|0,_[(G=u+(104*c|0)+28|0)>>2]=_[M>>2],_[G+4>>2]=_[M+4>>2],_[G+8>>2]=_[M+8>>2],_[G+12>>2]=_[M+12>>2],G=V+(104*c|0)+44|0,_[(M=u+(104*c|0)+44|0)>>2]=_[G>>2],_[M+4>>2]=_[G+4>>2],_[M+8>>2]=_[G+8>>2],_[M+12>>2]=_[G+12>>2],M=V+(104*c|0)+60|0,_[(G=u+(104*c|0)+60|0)>>2]=_[M>>2],_[G+4>>2]=_[M+4>>2],_[G+8>>2]=_[M+8>>2],_[G+12>>2]=_[M+12>>2],V=V+(104*c|0)+76|0,_[(G=u+(104*c|0)+76|0)>>2]=_[V>>2],_[G+4>>2]=_[V+4>>2],_[G+8>>2]=_[V+8>>2],_[G+12>>2]=_[V+12>>2],_[G+16>>2]=_[V+16>>2],_[G+20>>2]=_[V+20>>2],_[G+24>>2]=_[V+24>>2],c=c+1|0}while((0|c)!=(0|e))}0|(e=0|_[g+820>>2])&&(0|n[g+824|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[g+820>>2]=0),n[g+824|0]=1,_[g+820>>2]=u,_[g+816>>2]=N,e=0|_[g+812>>2]}N=0|_[g+820>>2],_[N+(104*e|0)>>2]=S,p[N+(104*e|0)+4>>2]=F,p[N+(104*e|0)+8>>2]=x,p[N+(104*e|0)+12>>2]=I,p[N+(104*e|0)+16>>2]=0,p[N+(104*e|0)+20>>2]=D,_[N+(104*e|0)+24>>2]=L,_[(L=N+(104*e|0)+28|0)>>2]=_[s+32>>2],_[L+4>>2]=_[s+32+4>>2],_[L+8>>2]=_[s+32+8>>2],_[L+12>>2]=_[s+32+12>>2],_[(L=N+(104*e|0)+44|0)>>2]=_[s+16>>2],_[L+4>>2]=_[s+16+4>>2],_[L+8>>2]=_[s+16+8>>2],_[L+12>>2]=_[s+16+12>>2],_[(L=N+(104*e|0)+60|0)>>2]=_[s>>2],_[L+4>>2]=_[s+4>>2],_[L+8>>2]=_[s+8>>2],_[L+12>>2]=_[s+12>>2],p[(L=N+(104*e|0)+76|0)>>2]=R,p[N+(104*e|0)+80>>2]=j,p[N+(104*e|0)+84>>2]=k,p[N+(104*e|0)+88>>2]=0,p[L+16>>2]=a,p[L+20>>2]=l,_[L+24>>2]=y,_[g+812>>2]=1+(0|_[g+812>>2]),(e=0|_[t+12>>2])?(3&_[e+204>>2]||(4!=(-2&_[e+216>>2])&&(_[e+216>>2]=1),p[e+220>>2]=0),Q=s):Q=s}else Q=s;else Q=s}},function(t,e){t|=0;var i,o=0,r=0,s=0,c=0,a=0,l=0;if(i=Q,Q=Q+336|0,r=0|_[36+(e|=0)>>2],_[i+272+4>>2]=35,_[i+272+8>>2]=0,_[i+272+12>>2]=1065353216,_[i+272+16>>2]=1065353216,_[i+272+20>>2]=1065353216,p[i+272+24>>2]=0,_[i+272>>2]=4284,_[i+272+52>>2]=r,p[i+272+44>>2]=0,a=0|_[t+28>>2],e=0|_[a+4>>2],3&_[204+(0|_[a+8>>2])>>2]&&0|n[r+376|0])Q=i;else{if(!(0|n[24408])&&0|Qs(24408)&&(!(0|n[24416])&&0|Qs(24416)&&(_[6222]=1065353216,_[6223]=0,_[6224]=0,_[6225]=0,_[6226]=0,_[6227]=1065353216,_[6228]=0,_[6229]=0,_[6230]=0,_[6231]=0,_[6232]=1065353216,p[6233]=0),_[6206]=_[6222],_[6207]=_[6223],_[6208]=_[6224],_[6209]=_[6225],_[6210]=_[6226],_[6211]=_[6227],_[6212]=_[6228],_[6213]=_[6229],_[6214]=_[6230],_[6215]=_[6231],_[6216]=_[6232],_[6217]=_[6233],_[6218]=0,_[6219]=0,_[6220]=0,_[6221]=0),o=0|_[12+(0|_[t+28>>2])>>2],_[i>>2]=1065353216,_[i+4>>2]=0,_[i+8>>2]=0,p[i+12>>2]=0,(0|Se(i+272|0,24824,e,o,i,i+216|0)||0|gi(i+272|0,24824,e,o,i,i+216|0,0))&&(s=12),12==(0|s)&&(_[i+4>>2]=0,_[i+4+4>>2]=0,_[i+4+8>>2]=0,_[i+4+12>>2]=0,_[i+4+16>>2]=0,_[i+4+20>>2]=0,n[i+152|0]=0,_[i>>2]=4104,a=0|_[8+(0|_[t+28>>2])>>2],0|Ii(t,i+216|0,r,0,0,0,2&_[a+236>>2]?a:0,a,i))){_[6630]=1+(0|_[6630]),(e=0|di(235))?(_[(e+4+15&-16)-4>>2]=e,a=e+4+15&-16):a=0,e=a+152|0,wn(0|(o=a+4|0),0,212),_[a>>2]=4104,r=i+4|0,s=o+100|0;do{_[o>>2]=_[r>>2],o=o+4|0,r=r+4|0}while((0|o)<(0|s));_[(o=a+104|0)>>2]=_[i+104>>2],_[o+4>>2]=_[i+104+4>>2],_[o+8>>2]=_[i+104+8>>2],_[o+12>>2]=_[i+104+12>>2],_[(o=a+120|0)>>2]=_[i+120>>2],_[o+4>>2]=_[i+120+4>>2],_[o+8>>2]=_[i+120+8>>2],_[o+12>>2]=_[i+120+12>>2],_[(o=a+136|0)>>2]=_[i+136>>2],_[o+4>>2]=_[i+136+4>>2],_[o+8>>2]=_[i+136+8>>2],_[o+12>>2]=_[i+136+12>>2],n[0|e]=0|n[i+152|0],r=i+156|0,s=60+(o=a+156|0)|0;do{_[o>>2]=_[r>>2],o=o+4|0,r=r+4|0}while((0|o)<(0|s));if(s=0|_[t+24>>2],c=a,(0|(e=0|_[s+852>>2]))==(0|_[s+856>>2])&&(0|e)<(0|(l=0|e?e<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(e=0|di(16+(l<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,r=e,e=0|_[s+852>>2]):r=0,(0|e)>0){o=0;do{_[r+(o<<2)>>2]=_[(0|_[s+860>>2])+(o<<2)>>2],o=o+1|0}while((0|o)!=(0|e))}(o=0|_[s+860>>2])&&(0|n[s+864|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),e=0|_[s+852>>2]),_[s+860>>2]=0),n[s+864|0]=1,_[s+860>>2]=r,_[s+856>>2]=l}_[(0|_[s+860>>2])+(e<<2)>>2]=c,_[s+852>>2]=e+1,e=0|_[t+24>>2],3&_[204+(0|_[8+(0|_[t+28>>2])>>2])>>2]?(p[(t=a+64|0)>>2]=+p[e+344>>2]*+p[t>>2],e=e+356|0):(p[(t=a+64|0)>>2]=+p[e+340>>2]*+p[t>>2],e=e+352|0),p[(t=a+68|0)>>2]=+p[e>>2]*+p[t>>2]}Q=i}},function(t,e){var i,n,o;t|=0,o=+d(+ +p[(e|=0)>>2]),n=+d(+ +p[e+4>>2]),i=+d(+ +p[e+8>>2]),p[t+12>>2]=o,p[t+16>>2]=n,p[t+20>>2]=i,p[t+24>>2]=0},_a,_a,_a,_a,ap,function(t,e){t|=0;var i=0,n=0,o=0,r=0,s=0,p=0;if(!(0|(e|=0))|8!=(0|(i=0|_[e+236>>2]))){if(!(!(0|e)|!(2&i)))return void ed[127&_[92+(0|_[t>>2])>>2]](t,e);if(0|(i=0|_[e+188>>2])&&(s=0|_[t+68>>2],s=0|Gl[127&_[36+(0|_[s>>2])>>2]](s),_d[127&_[40+(0|_[s>>2])>>2]](s,i,0|_[t+24>>2]),s=0|_[t+68>>2],_d[127&_[12+(0|_[s>>2])>>2]](s,i,0|_[t+24>>2]),_[e+188>>2]=0),(0|(n=0|_[t+8>>2]))<=0)return;for(o=0|_[t+16>>2],i=0;(0|_[(r=o+(i<<2)|0)>>2])!=(0|e);){if(!((0|(s=i+1|0))<(0|n))){p=26;break}i=s}if(26==(0|p))return;if((0|i)>=(0|n))return;return _[r>>2]=_[o+(n+-1<<2)>>2],_[(0|_[t+16>>2])+(n+-1<<2)>>2]=e,void(_[t+8>>2]=n+-1)}r=0|_[t+328>>2];t:do{if((0|r)>0){for(o=0|_[t+336>>2],i=0;(0|_[(n=o+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|r))break t;(0|i)<(0|r)&&(_[n>>2]=_[o+(r+-1<<2)>>2],_[(0|_[t+336>>2])+(r+-1<<2)>>2]=e,_[t+328>>2]=r+-1)}}while(0);if(0|(i=0|_[e+188>>2])&&(s=0|_[t+68>>2],s=0|Gl[127&_[36+(0|_[s>>2])>>2]](s),_d[127&_[40+(0|_[s>>2])>>2]](s,i,0|_[t+24>>2]),s=0|_[t+68>>2],_d[127&_[12+(0|_[s>>2])>>2]](s,i,0|_[t+24>>2]),_[e+188>>2]=0),!((0|(n=0|_[t+8>>2]))<=0)){for(o=0|_[t+16>>2],i=0;(0|_[(r=o+(i<<2)|0)>>2])!=(0|e);){if(!((0|(s=i+1|0))<(0|n))){p=26;break}i=s}26!=(0|p)&&((0|i)>=(0|n)||(_[r>>2]=_[o+(n+-1<<2)>>2],_[(0|_[t+16>>2])+(n+-1<<2)>>2]=e,_[t+8>>2]=n+-1))}},function(t,e){t|=0;var i=0,n=0,o=0,r=0;Xl[511&_[32+(0|_[(e|=0)>>2])>>2]](e),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,104,1),r=104+(o=i=0|_[n+8>>2])|0;do{_[o>>2]=0,o=o+4|0}while((0|o)<(0|r));if(_[i+88>>2]=_[t+248>>2],_[i+92>>2]=_[t+252>>2],_[i+96>>2]=_[t+256>>2],_[i+100>>2]=_[t+260>>2],_[i>>2]=_[t+92>>2],_[i+4>>2]=_[t+96>>2],_[i+8>>2]=_[t+100>>2],_[i+12>>2]=_[t+104>>2],_[i+16>>2]=_[t+108>>2],_[i+20>>2]=_[t+116>>2],_[i+24>>2]=_[t+120>>2],_[i+28>>2]=_[t+124>>2],_[i+32>>2]=_[t+128>>2],_[i+36>>2]=_[t+132>>2],_[i+40>>2]=_[t+140>>2],_[i+44>>2]=_[t+144>>2],_[i+48>>2]=_[t+148>>2],_[i+52>>2]=_[t+152>>2],_[i+56>>2]=_[t+168>>2],_[i+60>>2]=_[t+172>>2],_[i+64>>2]=_[t+112>>2],_[i+68>>2]=_[t+156>>2],_[i+72>>2]=_[t+160>>2],_[i+76>>2]=_[t+164>>2],_[i+80>>2]=_[t+136>>2],dd[31&_[20+(0|_[e>>2])>>2]](e,n,14664,1145853764,i),(0|(i=0|_[t+8>>2]))<=0)return Ji(t,e),Vi(t,e),t=0|_[e>>2],t=0|_[(t=t+36|0)>>2],void Xl[511&t](e);o=0;do{n=0|_[(0|_[t+16>>2])+(o<<2)>>2],8&_[n+236>>2]&&(r=0|Gl[127&_[16+(0|_[n>>2])>>2]](n),r=0|El[63&_[16+(0|_[e>>2])>>2]](e,r,1),i=0|El[63&_[20+(0|_[n>>2])>>2]](n,0|_[r+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,r,i,1497645651,n),i=0|_[t+8>>2]),o=o+1|0}while((0|o)<(0|i));Ji(t,e),Vi(t,e),t=0|_[e>>2],t=0|_[(t=t+36|0)>>2],Xl[511&t](e)},function(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0;o=0|_[212+(t|=0)>>2];t:do{if((0|o)>0){for(r=0|_[t+220>>2],i=0;(0|_[(n=r+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|o))break t;(0|i)<(0|o)&&(_[n>>2]=_[r+(o+-1<<2)>>2],_[(0|_[t+220>>2])+(o+-1<<2)>>2]=e,_[t+212>>2]=o+-1)}}while(0);r=0|_[e+28>>2],i=0|_[r+488>>2];t:do{if((0|i)>0){for(o=0|_[r+496>>2],n=0;(0|_[(t=o+(n<<2)|0)>>2])!=(0|e);)if((0|(n=n+1|0))>=(0|i))break t;(0|n)<(0|i)&&(_[t>>2]=_[o+(i+-1<<2)>>2],_[(0|_[r+496>>2])+(i+-1<<2)>>2]=e,_[r+488>>2]=i+-1,i=i+-1|0)}}while(0);if(_[r+256>>2]=(0|i)>0&1,r=0|_[e+32>>2],(0|(i=0|_[r+488>>2]))<=0)return e=(0|(e=i))>0,e&=1,void(_[(s=r+256|0)>>2]=e);for(o=0|_[r+496>>2],n=0;(0|_[(t=o+(n<<2)|0)>>2])!=(0|e);)if((0|(n=n+1|0))>=(0|i)){s=19;break}return 19==(0|s)?(e=(0|i)>0,e&=1,void(_[(s=r+256|0)>>2]=e)):(0|n)>=(0|i)?(e=(0|(e=i))>0,e&=1,void(_[(s=r+256|0)>>2]=e)):(_[t>>2]=_[o+(i+-1<<2)>>2],_[(0|_[r+496>>2])+(i+-1<<2)>>2]=e,_[r+488>>2]=i+-1,e=(0|(e=i+-1|0))>0,e&=1,void(_[(s=r+256|0)>>2]=e))},function(t,e){e|=0;var i=0,o=0,r=0,s=0;if((0|(i=0|_[280+(t|=0)>>2]))==(0|_[t+284>>2])&&(0|i)<(0|(s=0|i?i<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(i=0|di(16+(s<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,r=i,i=0|_[t+280>>2]):r=0,(0|i)>0){o=0;do{_[r+(o<<2)>>2]=_[(0|_[t+288>>2])+(o<<2)>>2],o=o+1|0}while((0|o)!=(0|i))}(o=0|_[t+288>>2])&&(0|n[t+292|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),i=0|_[t+280>>2]),_[t+288>>2]=0),n[t+292|0]=1,_[t+288>>2]=r,_[t+284>>2]=s}_[(0|_[t+288>>2])+(i<<2)>>2]=e,_[t+280>>2]=i+1},function(t,e){e|=0;var i,n,o=0,r=0,s=0;if(!((0|(i=0|_[280+(t|=0)>>2]))<=0)){for(n=0|_[t+288>>2],o=0;(0|_[(r=n+(o<<2)|0)>>2])!=(0|e);)if((0|(o=o+1|0))>=(0|i)){s=7;break}7!=(0|s)&&((0|o)>=(0|i)||(_[r>>2]=_[n+(i+-1<<2)>>2],_[(0|_[t+288>>2])+(i+-1<<2)>>2]=e,_[t+280>>2]=i+-1))}},function(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0,c=0;if(_[248+(t|=0)>>2]=_[e>>2],_[t+248+4>>2]=_[e+4>>2],_[t+248+8>>2]=_[e+8>>2],_[t+248+12>>2]=_[e+12>>2],!((0|(i=0|_[t+232>>2]))<=0)){r=0;do{switch(o=0|_[(0|_[t+240>>2])+(r<<2)>>2],0|_[o+216>>2]){case 2:case 5:break;default:1&_[o+504>>2]||(0!=(n=+p[o+344>>2])&&(c=1/n*+p[e+4>>2],s=1/n*+p[e+8>>2],p[o+364>>2]=1/n*+p[e>>2],p[o+368>>2]=c,p[o+372>>2]=s,p[o+376>>2]=0),_[o+380>>2]=_[e>>2],_[o+380+4>>2]=_[e+4>>2],_[o+380+8>>2]=_[e+8>>2],_[o+380+12>>2]=_[e+12>>2],i=0|_[t+232>>2])}r=r+1|0}while((0|r)<(0|i))}},function(t,e){e|=0,_[(t|=0)>>2]=_[e+248>>2],_[t+4>>2]=_[e+248+4>>2],_[t+8>>2]=_[e+248+8>>2],_[t+12>>2]=_[e+248+12>>2]},function(t,e){t|=0;var i=0,o=0,r=0,s=0,c=0,a=0,l=0;if(3&(i=0|_[204+(e|=0)>>2])||1&_[e+504>>2]||(0!=(r=+p[e+344>>2])&&(l=1/r*+p[t+252>>2],a=1/r*+p[t+256>>2],p[e+364>>2]=1/r*+p[t+248>>2],p[e+368>>2]=l,p[e+372>>2]=a,p[e+376>>2]=0),_[e+380>>2]=_[t+248>>2],_[e+380+4>>2]=_[t+248+4>>2],_[e+380+8>>2]=_[t+248+8>>2],_[e+380+12>>2]=_[t+248+12>>2]),0|_[e+192>>2]){if(1&i)4==(-2&_[e+216>>2])||(_[e+216>>2]=2),i&=3;else{if((0|(o=0|_[t+232>>2]))==(0|_[t+236>>2])&&(0|o)<(0|(c=0|o?o<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(i=0|di(16+(c<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,o=0|_[t+232>>2]):i=0,(0|o)>0){s=0;do{_[i+(s<<2)>>2]=_[(0|_[t+240>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|o))}(s=0|_[t+240>>2])&&(0|n[t+244|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),o=0|_[t+232>>2]),_[t+240>>2]=0),n[t+244|0]=1,_[t+240>>2]=i,_[t+236>>2]=c,i=3&_[e+204>>2]}else i&=3;_[(0|_[t+240>>2])+(o<<2)>>2]=e,_[t+232>>2]=o+1}c=!!(0|i),pd[127&_[36+(0|_[t>>2])>>2]](t,e,c?2:1,c?-3:-1)}},function(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0;o=0|_[232+(t|=0)>>2];t:do{if((0|o)>0){for(r=0|_[t+240>>2],i=0;(0|_[(n=r+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|o))break t;(0|i)<(0|o)&&(_[n>>2]=_[r+(o+-1<<2)>>2],_[(0|_[t+240>>2])+(o+-1<<2)>>2]=e,_[t+232>>2]=o+-1)}}while(0);if(0|(i=0|_[e+188>>2])&&(r=0|_[t+68>>2],r=0|Gl[127&_[36+(0|_[r>>2])>>2]](r),_d[127&_[40+(0|_[r>>2])>>2]](r,i,0|_[t+24>>2]),r=0|_[t+68>>2],_d[127&_[12+(0|_[r>>2])>>2]](r,i,0|_[t+24>>2]),_[e+188>>2]=0),!((0|(o=0|_[t+8>>2]))<=0)){for(r=0|_[t+16>>2],i=0;(0|_[(n=r+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|o)){s=15;break}15!=(0|s)&&((0|i)>=(0|o)||(_[n>>2]=_[r+(o+-1<<2)>>2],_[(0|_[t+16>>2])+(o+-1<<2)>>2]=e,_[t+8>>2]=o+-1))}},function(t,e){e|=0;var i=0;0|n[273+(t|=0)|0]&&0|(i=0|_[t+200>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),n[t+273|0]=0,_[t+200>>2]=e,_[8+(0|_[t+196>>2])>>2]=e},cs,os,cs,os,function(t,e){t|=0,e|=0;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0;if(i=Q,Q=Q+16|0,$i(14477),a=0|_[t+212>>2],(0|(c=0|_[t+180>>2]))<(0|a)){if((0|_[t+184>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(o=0|di(16+(a<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=0|_[t+180>>2]):(o=0,s=c),(0|s)>0){r=0;do{_[o+(r<<2)>>2]=_[(0|_[t+188>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|s))}0|(r=0|_[t+188>>2])&&(0|n[t+192|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+188>>2]=0),n[t+192|0]=1,_[t+188>>2]=o,_[t+184>>2]=a,r=t+188|0}else r=t+188|0;o=c;do{_[(0|_[r>>2])+(o<<2)>>2]=0,o=o+1|0}while((0|o)!=(0|a))}else r=t+188|0;for(_[t+180>>2]=a,o=0;!((0|o)>=(0|Gl[127&_[104+(0|_[t>>2])>>2]](t)));)_[(0|_[r>>2])+(o<<2)>>2]=_[(0|_[t+220>>2])+(o<<2)>>2],o=o+1|0;if((0|(o=0|_[t+180>>2]))>1&&It(t+176|0,0,o+-1|0),o=0|Gl[127&_[104+(0|_[t>>2])>>2]](t)?0|_[r>>2]:0,s=0|_[t+196>>2],h=0|_[t+180>>2],y=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),_[s+4>>2]=e,_[s+12>>2]=o,_[s+16>>2]=h,_[s+20>>2]=y,(0|(o=0|_[s+32>>2]))<0){(0|_[s+36>>2])<0&&(0|(r=0|_[s+40>>2])&&(0|n[s+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[s+40>>2]=0),n[s+44|0]=1,_[s+40>>2]=0,_[s+36>>2]=0);do{_[(0|_[s+40>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[s+32>>2]=0,(0|(o=0|_[s+52>>2]))<0){(0|_[s+56>>2])<0&&(0|(r=0|_[s+60>>2])&&(0|n[s+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[s+60>>2]=0),n[s+64|0]=1,_[s+60>>2]=0,_[s+56>>2]=0);do{_[(0|_[s+60>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[s+52>>2]=0,(0|(o=0|_[s+72>>2]))<0){(0|_[s+76>>2])<0&&(0|(r=0|_[s+80>>2])&&(0|n[s+84|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[s+80>>2]=0),n[s+84|0]=1,_[s+80>>2]=0,_[s+76>>2]=0);do{_[(0|_[s+80>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[s+72>>2]=0,y=0|_[t+200>>2],o=0|_[8+(0|_[y>>2])>>2],u=0|_[t+8>>2],h=0|_[t+24>>2],h=0|Gl[127&_[36+(0|_[h>>2])>>2]](h),_d[127&o](y,u,h),h=0|_[t+204>>2],u=0|_[t+24>>2],y=0|_[t+196>>2],$i(16309),(0|(o=0|_[h+28>>2]))<0){(0|_[h+32>>2])<0&&(0|(r=0|_[h+36>>2])&&(0|n[h+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[h+36>>2]=0),n[h+40|0]=1,_[h+36>>2]=0,_[h+32>>2]=0);do{_[(0|_[h+36>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[h+28>>2]=0,(0|(a=0|_[h+8>>2]))>0){l=0|_[h+16>>2],c=0;do{if((0|(o=0|_[(d=l+(c<<3)|0)>>2]))!=(0|c)){if(_[d>>2]=_[l+(o<<3)>>2],(0|(o=0|_[l+(o<<3)>>2]))!=(0|(r=0|_[l+(o<<3)>>2]))){s=l+(o<<3)|0;do{o=l+(r<<3)|0,_[s>>2]=_[o>>2],o=0|_[o>>2],r=0|_[(s=l+(o<<3)|0)>>2]}while((0|o)!=(0|r))}}else o=c;_[d>>2]=o,c=c+1|0}while((0|c)!=(0|a));if((0|a)>1?(on(h+4|0,0,a+-1|0),b=0|_[h+8>>2]):b=a,(0|b)>0)for(A=0|_[h+16>>2],l=0;;){f=0|_[A+(l<<3)>>2],o=l+1|0;t:do{if((0|o)<(0|b))for(r=l,s=o;;){if((0|_[A+(s<<3)>>2])!=(0|f)){o=s;break t}if(!((0|(o=s+1|0))<(0|b))){r=s;break}r=s,s=o}else r=l}while(0);t:do{if((0|l)<=(0|r)){for(d=0|_[t+16>>2],s=1,a=l;c=0|_[d+(_[A+(a<<3)+4>>2]<<2)>>2],(0|_[c+208>>2])==(0|f)&&(s=4!=(0|(c=0|_[c+216>>2]))&s&1!=(0|c)),(0|a)<(0|r);)a=a+1|0;if(s)for(s=l;;){c=0|_[d+(_[A+(s<<3)+4>>2]<<2)>>2];do{if((0|_[c+208>>2])==(0|f)){if(4==(-2&_[c+216>>2]))break;_[c+216>>2]=2}}while(0);if((0|s)>=(0|r))break t;s=s+1|0}else for(s=l;;){c=0|_[d+(_[A+(s<<3)+4>>2]<<2)>>2];do{if((0|_[c+208>>2])==(0|f)){if(2!=(0|_[c+216>>2]))break;_[c+216>>2]=3,p[c+220>>2]=0}}while(0);if((0|s)>=(0|r))break t;s=s+1|0}}}while(0);if(!((0|o)<(0|b)))break;l=o}}if((0|(l=0|Gl[127&_[36+(0|_[u>>2])>>2]](u)))>0){a=0;do{if(d=0|Ll[31&_[40+(0|_[u>>2])>>2]](u,a),s=0|_[d+740>>2],c=0|_[d+744>>2],101==(0|(r=0|s&&2!=(0|_[s+216>>2])?2&(o=0|_[s+204>>2])?106:111:101))&&(r=0,0|c)&&2!=(0|_[c+216>>2])&&(r=2&(o=0|_[s+204>>2])&&2!=(0|_[s+216>>2])?106:111),106==(0|r)&&(4&o||3&_[c+204>>2]||(4!=(-2&_[c+216>>2])&&(_[c+216>>2]=1),p[c+220>>2]=0),r=111),111==(0|r)&&(2&(f=0|_[c+204>>2])&&!(4&f|3&o)&&2!=(0|_[c+216>>2])&&(4!=(-2&_[s+216>>2])&&(_[s+216>>2]=1),p[s+220>>2]=0),0|n[h+64|0]&&0|El[63&_[28+(0|_[u>>2])>>2]](u,s,c))){if((0|(r=0|_[h+28>>2]))==(0|_[h+32>>2])&&(0|r)<(0|(m=0|r?r<<1:1))){if(m?(_[6630]=1+(0|_[6630]),(o=0|di(16+(m<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,r=0|_[h+28>>2]):o=0,(0|r)>0){s=0;do{_[o+(s<<2)>>2]=_[(0|_[h+36>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r))}(s=0|_[h+36>>2])&&(0|n[h+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),r=0|_[h+28>>2]),_[h+36>>2]=0),n[h+40|0]=1,_[h+36>>2]=o,_[h+32>>2]=m,o=r}else o=r;_[(0|_[h+36>>2])+(o<<2)>>2]=d,_[h+28>>2]=o+1}a=a+1|0}while((0|a)<(0|l))}o=0|_[2606],m=(0|_[o+16>>2])-1|0,_[o+16>>2]=m;do{if(!m){if(0|_[o+4>>2]){if(G(0|i,0),m=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[i+4>>2])-(0|_[m+4>>2])+(1e6*((0|_[i>>2])-(0|_[m>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])break;o=0|_[2606]}_[2606]=_[o+20>>2]}}while(0);if(m=0|_[h+8>>2],$i(16337),0|n[h+64|0]){if((0|(u=0|_[h+28>>2]))>1&&Rt(h+24|0,0,u+-1|0),(0|m)>0)for(o=0,a=1,f=0;;){r=0|_[h+16>>2],A=0|_[r+(o<<3)>>2];t:do{if((0|o)<(0|m))for(b=1,l=0|_[h+48>>2],s=0|_[h+52>>2];;){d=0|_[(0|_[t+16>>2])+(_[r+(o<<3)+4>>2]<<2)>>2];do{if((0|l)==(0|s)){if((0|s)>=(0|(l=0|s?s<<1:1))){r=s;break}if(l?(_[6630]=1+(0|_[6630]),(r=0|di(16+(l<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0|_[h+48>>2]):r=0,(0|s)>0){c=0;do{_[r+(c<<2)>>2]=_[(0|_[h+56>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|s))}(c=0|_[h+56>>2])&&(0|n[h+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),s=0|_[h+48>>2]),_[h+56>>2]=0),n[h+60|0]=1,_[h+56>>2]=r,_[h+52>>2]=l,r=s,s=l}else r=l}while(0);if(_[(0|_[h+56>>2])+(r<<2)>>2]=d,l=r+1|0,_[h+48>>2]=l,c=b&(5==(0|(c=0|_[d+216>>2]))|2==(0|c)),(0|(o=o+1|0))>=(0|m)){b=o;break t}if(r=0|_[h+16>>2],(0|_[r+(o<<3)>>2])!=(0|A)){b=o;break}b=c}else b=o,c=1}while(0);if((0|f)<(0|u))if(l=0|_[h+36>>2],r=0|_[(d=l+(f<<2)|0)>>2],(0|(o=0|_[208+(0|_[r+740>>2])>>2]))<=-1&&(o=0|_[208+(0|_[r+744>>2])>>2]),(0|o)==(0|A)){o=f+1|0;t:do{if((0|o)<(0|u))do{if(s=0|_[l+(o<<2)>>2],(0|(r=0|_[208+(0|_[s+740>>2])>>2]))<=-1&&(r=0|_[208+(0|_[s+744>>2])>>2]),(0|A)!=(0|r))break t;o=o+1|0}while((0|o)<(0|u))}while(0);r=d,s=o-f|0,a=o}else r=0,s=0;else r=0,s=0;if(c||Ad[7&_[8+(0|_[y>>2])>>2]](y,0|_[h+56>>2],0|_[h+48>>2],r,s,A),f=0|s?a:f,(0|(o=0|_[h+48>>2]))<0){(0|_[h+52>>2])<0&&(0|(r=0|_[h+56>>2])&&(0|n[h+60|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[h+56>>2]=0),n[h+60|0]=1,_[h+56>>2]=0,_[h+52>>2]=0);do{_[(0|_[h+56>>2])+(o<<2)>>2]=0,o=o+1|0}while(0|o)}if(_[h+48>>2]=0,(0|b)>=(0|m))break;o=b}}else m=0|Gl[127&_[44+(0|_[u>>2])>>2]](u),h=0|Gl[127&_[36+(0|_[u>>2])>>2]](u),Ad[7&_[8+(0|_[y>>2])>>2]](y,0|_[t+16>>2],0|_[t+8>>2],m,h,-1);o=0|_[2606],y=(0|_[o+16>>2])-1|0,_[o+16>>2]=y;do{if(!y){if(0|_[o+4>>2]){if(G(0|i,0),y=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[i+4>>2])-(0|_[y+4>>2])+(1e6*((0|_[i>>2])-(0|_[y>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])break;o=0|_[2606]}_[2606]=_[o+20>>2]}}while(0);if(Mt(0|_[t+196>>2]),o=0|_[t+200>>2],_d[127&_[16+(0|_[o>>2])>>2]](o,e,0|_[t+72>>2]),o=0|_[2606],e=(0|_[o+16>>2])-1|0,_[o+16>>2]=e,0|e)Q=i;else{do{if(0|_[o+4>>2]){if(G(0|i,0),e=0|_[6629],p[o+8>>2]=+p[o+8>>2]+ +(((0|_[i+4>>2])-(0|_[e+4>>2])+(1e6*((0|_[i>>2])-(0|_[e>>2])|0)|0)-(0|_[o+12>>2])|0)>>>0)/1e3,0|_[o+16>>2])return void(Q=i);o=0|_[2606];break}}while(0);_[2606]=_[o+20>>2],Q=i}},_a,qi,function(t,e){e|=0,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),_[t+192>>2]=e,_[t+200>>2]=e},function(t,e){t|=0;var i=0,n=0;i=0|_[16+(0|_[(e|=0)>>2])>>2],n=0|Gl[127&_[16+(0|_[t>>2])>>2]](t),n=0|El[63&i](e,n,1),i=0|El[63&_[20+(0|_[t>>2])>>2]](t,0|_[n+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,n,i,1497645650,t)},function(t,e){return t|=0,0|(e|=0)&&2&_[e+236>>2]?void ed[127&_[92+(0|_[t>>2])>>2]](t,e):void hn(t,e)},function(t,e){t|=0;var i,n,o,r=0;Xl[511&_[32+(0|_[(e|=0)>>2])>>2]](e),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,104,1),o=104+(r=i=0|_[n+8>>2])|0;do{_[r>>2]=0,r=r+4|0}while((0|r)<(0|o));_[i+88>>2]=_[t+248>>2],_[i+92>>2]=_[t+252>>2],_[i+96>>2]=_[t+256>>2],_[i+100>>2]=_[t+260>>2],_[i>>2]=_[t+92>>2],_[i+4>>2]=_[t+96>>2],_[i+8>>2]=_[t+100>>2],_[i+12>>2]=_[t+104>>2],_[i+16>>2]=_[t+108>>2],_[i+20>>2]=_[t+116>>2],_[i+24>>2]=_[t+120>>2],_[i+28>>2]=_[t+124>>2],_[i+32>>2]=_[t+128>>2],_[i+36>>2]=_[t+132>>2],_[i+40>>2]=_[t+140>>2],_[i+44>>2]=_[t+144>>2],_[i+48>>2]=_[t+148>>2],_[i+52>>2]=_[t+152>>2],_[i+56>>2]=_[t+168>>2],_[i+60>>2]=_[t+172>>2],_[i+64>>2]=_[t+112>>2],_[i+68>>2]=_[t+156>>2],_[i+72>>2]=_[t+160>>2],_[i+76>>2]=_[t+164>>2],_[i+80>>2]=_[t+136>>2],dd[31&_[20+(0|_[e>>2])>>2]](e,n,14664,1145853764,i),Ji(t,e),Vi(t,e),Xl[511&_[36+(0|_[e>>2])>>2]](e)},function(t,e){_[(e|=0)>>2]=6,_[e+4>>2]=6},function(t,e){e|=0;var i,n,o,r,s,c,a,l,d=0,A=0,f=0,u=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0;if(r=Q,Q=Q+64|0,n=0|_[28+(t|=0)>>2],o=0|_[t+32>>2],h=0|_[e+8>>2],p[h>>2]=1,i=0|_[e+24>>2],p[h+(i+1<<2)>>2]=1,p[h+(2+(i<<1)<<2)>>2]=1,R=+p[t+48>>2],j=+p[t+52>>2],u=+p[t+56>>2],d=+p[n+4>>2]*R+ +p[n+8>>2]*j+ +p[n+12>>2]*u,f=R*+p[n+20>>2]+j*+p[n+24>>2]+u*+p[n+28>>2],u=R*+p[n+36>>2]+j*+p[n+40>>2]+u*+p[n+44>>2],h=0|_[e+12>>2],_[h>>2]=0,p[h+4>>2]=u,p[h+8>>2]=-f,p[h+12>>2]=0,p[h+(i<<2)>>2]=-u,_[h+(i<<2)+4>>2]=0,p[h+(i<<2)+8>>2]=d,p[h+(i<<2)+12>>2]=0,p[h+(i<<1<<2)>>2]=f,p[h+(i<<1<<2)+4>>2]=-d,_[h+(i<<1<<2)+8>>2]=0,p[h+(i<<1<<2)+12>>2]=0,0|(A=0|_[e+16>>2])&&(p[A>>2]=-1,p[A+(i+1<<2)>>2]=-1,p[A+(2+(i<<1)<<2)>>2]=-1),S=+p[t+64>>2],j=+p[t+68>>2],R=+p[t+72>>2],w=+p[o+4>>2]*S+ +p[o+8>>2]*j+ +p[o+12>>2]*R,k=S*+p[o+20>>2]+j*+p[o+24>>2]+R*+p[o+28>>2],R=S*+p[o+36>>2]+j*+p[o+40>>2]+R*+p[o+44>>2],A=0|_[e+20>>2],_[A>>2]=0,p[A+4>>2]=-R,p[A+8>>2]=k,p[A+12>>2]=0,p[A+(i<<2)>>2]=R,_[A+(i<<2)+4>>2]=0,p[A+(i<<2)+8>>2]=-w,p[A+(i<<2)+12>>2]=0,p[A+(i<<1<<2)>>2]=-k,p[A+(i<<1<<2)+4>>2]=w,_[A+(i<<1<<2)+8>>2]=0,p[A+(i<<1<<2)+12>>2]=0,k=(j=+p[e>>2]*+p[e+4>>2])*(k+ +p[o+56>>2]-f-+p[n+56>>2]),R=j*(R+ +p[o+60>>2]-u-+p[n+60>>2]),D=0|_[e+28>>2],p[D>>2]=j*(w+ +p[o+52>>2]-d-+p[n+52>>2]),p[D+(i<<2)>>2]=k,p[D+(i<<1<<2)>>2]=R,p[h+(3*i<<2)>>2]=1,p[h+((i<<2|1)<<2)>>2]=1,p[h+(2+(5*i|0)<<2)>>2]=1,0|A&&(p[A+(3*i<<2)>>2]=-1,p[A+((i<<2|1)<<2)>>2]=-1,p[A+(2+(5*i|0)<<2)>>2]=-1),y=+p[o+24>>2],c=+p[o+44>>2],u=+p[o+28>>2],g=+p[o+40>>2],s=+p[o+36>>2],f=+p[o+20>>2],d=1/((y*c-u*g)*(R=+p[o+4>>2])+(k=+p[o+8>>2])*(u*s-c*f)+(g*f-y*s)*(v=+p[o+12>>2])),W=+p[n+4>>2],B=+p[n+8>>2],F=+p[n+12>>2],I=+p[n+20>>2],l=+p[n+24>>2],a=+p[n+28>>2],C=+p[n+36>>2],S=+p[n+40>>2],w=+p[n+44>>2],p[r+16>>2]=F*((g*f-y*s)*d)+(W*((y*c-u*g)*d)+B*((u*s-c*f)*d)),p[r+16+4>>2]=F*((s*k-g*R)*d)+(W*((g*v-c*k)*d)+B*((c*R-s*v)*d)),p[r+16+8>>2]=F*((y*R-f*k)*d)+(W*((u*k-y*v)*d)+B*((f*v-u*R)*d)),p[r+16+12>>2]=0,p[r+16+16>>2]=(y*c-u*g)*d*I+(u*s-c*f)*d*l+(g*f-y*s)*d*a,p[r+16+20>>2]=(g*v-c*k)*d*I+(c*R-s*v)*d*l+(s*k-g*R)*d*a,p[r+16+24>>2]=(u*k-y*v)*d*I+(f*v-u*R)*d*l+(y*R-f*k)*d*a,p[r+16+28>>2]=0,p[r+16+32>>2]=(y*c-u*g)*d*C+(u*s-c*f)*d*S+(g*f-y*s)*d*w,p[r+16+36>>2]=(g*v-c*k)*d*C+(c*R-s*v)*d*S+(s*k-g*R)*d*w,p[r+16+40>>2]=(u*k-y*v)*d*C+(f*v-u*R)*d*S+(y*R-f*k)*d*w,p[r+16+44>>2]=0,Qt(r+16|0,r),((w=+p[t+80>>2])-(d=+p[r>>2]))*(w-d)+((k=+p[t+84>>2])-(f=+p[r+4>>2]))*(k-f)+((R=+p[t+88>>2])-(y=+p[r+8>>2]))*(R-y)+((S=+p[t+92>>2])-(u=+p[r+12>>2]))*(S-u)<(w+d)*(w+d)+(k+f)*(k+f)+(R+y)*(R+y)+(S+u)*(S+u)||(d=-d,f=-f,y=-y,u=-u),g=f*-R+(u*-w+d*S)-y*-k,C=y*-w+(u*-k+f*S)-d*-R,v=d*-k+(u*-R+y*S)-f*-w,d=2*+m(+((d=(d=u*S-d*-w-f*-k-y*-R)<-1?-1:d)>1?1:d)),g*g+C*C+v*v<14210854715202004e-30)return B=1,W=0,B*=F=-d,W*=F,F*=I=0,t=0|_[e+28>>2],D=0|_[e+24>>2],B*=j,p[(e=t+((e=3*D|0)<<2)|0)>>2]=B,W*=j,p[(e=t+((e=D<<2)<<2)|0)>>2]=W,F*=j,p[(D=t+((D=5*D|0)<<2)|0)>>2]=F,void(Q=r);B=g*(I=1/+b(+(g*g+C*C+v*v))),W=C*I,B*=F=-d,W*=F,F*=I*=v,t=0|_[e+28>>2],D=0|_[e+24>>2],B*=j,p[(e=t+((e=3*D|0)<<2)|0)>>2]=B,W*=j,p[(e=t+((e=D<<2)<<2)|0)>>2]=W,F*=j,p[(D=t+((D=5*D|0)<<2)|0)>>2]=F,Q=r},function(t,e){e|=0;var i=0,o=0;if(0|n[1308+(t|=0)|0])return _[e>>2]=0,void(_[e+4>>2]=0);Pi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0),_[e>>2]=0,_[e+4>>2]=6,0|_[t+856>>2]||0|n[t+788|0]?(_[e>>2]=1,_[e+4>>2]=5,i=1,o=5):(i=0,o=6),(0|_[t+860>>2]||0|n[t+789|0])&&(i=i+1|0,_[e>>2]=i,o=o+-1|0,_[e+4>>2]=o),(0|_[t+864>>2]||0|n[t+790|0])&&(_[e>>2]=i+1,_[e+4>>2]=o+-1),0|at(t,0)&&(_[e>>2]=1+(0|_[e>>2]),_[e+4>>2]=(0|_[e+4>>2])-1),0|at(t,1)&&(_[e>>2]=1+(0|_[e>>2]),_[e+4>>2]=(0|_[e+4>>2])-1),0|at(t,2)&&(_[e>>2]=1+(0|_[e>>2]),_[e+4>>2]=(0|_[e+4>>2])-1)},dn,function(t,e){e|=0;var i=0,o=0;0|n[1309+(t|=0)|0]&&(i=(+p[t+1256>>2]-+p[t+1316>>2])*+p[t+1340>>2],p[t+792>>2]=i*(+p[e>>2]*+p[t+1364>>2]/+(0|_[e+48>>2])),i=+d(+i),p[t+808>>2]=i/+p[e>>2]),0|n[t+1310|0]&&(i=(+p[t+1260>>2]-+p[t+1320>>2])*+p[t+1344>>2],p[t+796>>2]=i*(+p[e>>2]*+p[t+1368>>2]/+(0|_[e+48>>2])),i=+d(+i),p[t+812>>2]=i/+p[e>>2]),0|n[t+1311|0]&&(i=(+p[t+1264>>2]-+p[t+1324>>2])*+p[t+1348>>2],p[t+800>>2]=i*(+p[e>>2]*+p[t+1372>>2]/+(0|_[e+48>>2])),i=+d(+i),p[t+816>>2]=i/+p[e>>2]),0|n[t+1312|0]&&(o=-(+p[t+1192>>2]-+p[t+1328>>2])*+p[t+1352>>2],i=+p[e>>2],p[t+876>>2]=i*+p[t+1376>>2]/+(0|_[e+48>>2])*o,i=+d(+o)/i,p[t+880>>2]=i),0|n[t+1313|0]&&(i=-(+p[t+1196>>2]-+p[t+1332>>2])*+p[t+1356>>2],o=+p[e>>2],p[t+940>>2]=o*+p[t+1380>>2]/+(0|_[e+48>>2])*i,o=+d(+i)/o,p[t+944>>2]=o),0|n[t+1314|0]?(i=-(+p[t+1200>>2]-+p[t+1336>>2])*+p[t+1360>>2],o=+p[e>>2],p[t+1004>>2]=o*+p[t+1384>>2]/+(0|_[e+48>>2])*i,o=+d(+i)/o,p[t+1008>>2]=o,dn(t,e)):dn(t,e)},function(t,e){e|=0,t=0|n[344+(t|=0)|0]?0:3,_[e>>2]=t,_[e+4>>2]=t},function(t,e){e|=0;var i,n,o,r,s,c,a=0,l=0,d=0,b=0,A=0,f=0,u=0;if(b=0|_[28+(t|=0)>>2],A=0|_[t+32>>2],d=0|_[e+8>>2],p[d>>2]=1,i=0|_[e+24>>2],p[d+(i+1<<2)>>2]=1,p[d+(2+(i<<1)<<2)>>2]=1,f=+p[t+300>>2],u=+p[t+304>>2],l=+p[t+308>>2],s=+p[b+4>>2]*f+ +p[b+8>>2]*u+ +p[b+12>>2]*l,o=f*+p[b+20>>2]+u*+p[b+24>>2]+l*+p[b+28>>2],l=f*+p[b+36>>2]+u*+p[b+40>>2]+l*+p[b+44>>2],d=0|_[e+12>>2],_[d>>2]=0,p[d+4>>2]=l,p[d+8>>2]=-o,p[d+12>>2]=0,p[d+(i<<2)>>2]=-l,_[d+(i<<2)+4>>2]=0,p[d+(i<<2)+8>>2]=s,p[d+(i<<2)+12>>2]=0,p[d+(i<<1<<2)>>2]=o,p[d+(i<<1<<2)+4>>2]=-s,_[d+(i<<1<<2)+8>>2]=0,p[d+(i<<1<<2)+12>>2]=0,d=0|_[e+16>>2],p[d>>2]=-1,p[d+(i+1<<2)>>2]=-1,p[d+(2+(i<<1)<<2)>>2]=-1,u=+p[t+316>>2],f=+p[t+320>>2],a=+p[t+324>>2],c=+p[A+4>>2]*u+ +p[A+8>>2]*f+ +p[A+12>>2]*a,r=u*+p[A+20>>2]+f*+p[A+24>>2]+a*+p[A+28>>2],a=u*+p[A+36>>2]+f*+p[A+40>>2]+a*+p[A+44>>2],d=0|_[e+20>>2],_[d>>2]=0,p[d+4>>2]=-a,p[d+8>>2]=r,p[d+12>>2]=0,p[d+(i<<2)>>2]=a,_[d+(i<<2)+4>>2]=0,p[d+(i<<2)+8>>2]=-c,p[d+(i<<2)+12>>2]=0,p[d+(i<<1<<2)>>2]=-r,p[d+(i<<1<<2)+4>>2]=c,_[d+(i<<1<<2)+8>>2]=0,p[d+(i<<1<<2)+12>>2]=0,d=0|_[t+332>>2],f=+p[(1&d?t+336:e+4)>>2]*+p[e>>2],n=0|_[e+28>>2],p[n>>2]=f*(c+ +p[A+52>>2]-s-+p[b+52>>2]),p[n+(i<<2)>>2]=f*(r+ +p[A+56>>2]-o-+p[b+56>>2]),p[n+(i<<1<<2)>>2]=f*(a+ +p[A+60>>2]-l-+p[b+60>>2]),2&d&&(A=0|_[e+32>>2],_[A>>2]=_[t+340>>2],_[A+(i<<2)>>2]=_[t+340>>2],_[A+(i<<1<<2)>>2]=_[t+340>>2]),(l=+p[t+356>>2])>0?(p[_[e+36>>2]>>2]=-l,p[_[e+40>>2]>>2]=l,a=+p[t+356>>2]):a=l,a>0&&(p[(0|_[e+36>>2])+(i<<2)>>2]=-l,p[(0|_[e+40>>2])+(i<<2)>>2]=l,a=+p[t+356>>2]),!(a>0))return b=0|_[(b=t+352|0)>>2],void(_[(A=e+52|0)>>2]=b);p[(0|_[e+36>>2])+(i<<1<<2)>>2]=-l,p[(0|_[e+40>>2])+(i<<1<<2)>>2]=l,b=0|_[(b=t+352|0)>>2],_[(A=e+52|0)>>2]=b},function(t,e){e|=0;var i,o,r=0,s=0,c=0,l=0,b=0;if(0|n[48+(t|=0)|0])return _[e>>2]=0,void(_[e+4>>2]=0);_[e>>2]=4,_[e+4>>2]=2,Bi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0),p[t+1088>>2]=0,n[t+297|0]=0,i=+p[t+192>>2],o=+p[t+196>>2];do{if(i<=o){c=+p[t+892>>2],l=+p[t+908>>2],s=+p[t+924>>2],s=+y(+(+p[t+832>>2]*c+ +p[t+848>>2]*l+ +p[t+864>>2]*s),+(+p[t+828>>2]*c+ +p[t+844>>2]*l+ +p[t+860>>2]*s));do{if(!(i>=o)){if(s3.1415927410125732?(i-s)%6.2831854820251465-6.2831854820251465:(i-s)%6.2831854820251465)))<+d(+(c=(o-s)%6.2831854820251465<-3.1415927410125732?(o-s)%6.2831854820251465+6.2831854820251465:(o-s)%6.2831854820251465>3.1415927410125732?(o-s)%6.2831854820251465-6.2831854820251465:(o-s)%6.2831854820251465)))?s:s+6.2831854820251465;break}s>o&&(l=+d(+(c=(s-o)%6.2831854820251465<-3.1415927410125732?(s-o)%6.2831854820251465+6.2831854820251465:(s-o)%6.2831854820251465>3.1415927410125732?(s-o)%6.2831854820251465-6.2831854820251465:(s-o)%6.2831854820251465)),s=(b=+d(+(c=(s-i)%6.2831854820251465<-3.1415927410125732?(s-i)%6.2831854820251465+6.2831854820251465:(s-i)%6.2831854820251465>3.1415927410125732?(s-i)%6.2831854820251465-6.2831854820251465:(s-i)%6.2831854820251465))>2]=s,s>2]=s-i,n[t+297|0]=1,b=1;break}s>o?(p[t+1088>>2]=s-o,n[t+297|0]=1,b=1):b=0}else b=0}while(0);n[t+296|0]=0,r=0|_[t+1032>>2],_[t+1080>>2]=r,s=+p[t+184>>2],c=+p[t+188>>2],_[a>>2]=r,l=+p[a>>2];do{if(s<=c){if(cl)){r=32;break}p[t+1032>>2]=l-s,n[t+296|0]=1,r=34}else r=32}while(0);32==(0|r)&&(p[t+1032>>2]=0,0|n[t+1096|0])&&(r=34),34==(0|r)&&(_[e>>2]=1+(0|_[e>>2]),_[e+4>>2]=(0|_[e+4>>2])-1),(b<<24>>24||0|n[t+1112|0])&&(_[e>>2]=1+(0|_[e>>2]),_[e+4>>2]=(0|_[e+4>>2])-1)},function(t,e){e|=0;var i,o,r,s,c,l,A,f,u,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,Q=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0;if(u=0|_[28+(t|=0)>>2],ot=0|_[t+32>>2],z=+p[u+344>>2],K=+p[ot+344>>2],f=0|_[e+24>>2],nt=0|n[t+180|0]?1:-1,c=+p[t+936>>2]-+p[t+872>>2],l=+p[t+940>>2]-+p[t+876>>2],X=+p[t+944>>2]-+p[t+880>>2],q=z+K>0?K/(z+K):.5,i=0|_[t+824>>2],o=0|_[t+840>>2],r=0|_[t+856>>2],s=0|_[t+888>>2],G=0|_[t+904>>2],N=0|_[t+920>>2],(A=!(0|n[t+49|0]))?(D=0|_[t+828>>2],C=0|_[t+844>>2],O=0|_[t+860>>2],T=0|_[t+832>>2],y=0|_[t+848>>2],J=0|_[t+864>>2],_[a>>2]=D,k=+p[a>>2],_[a>>2]=C,h=+p[a>>2],_[a>>2]=O,j=+p[a>>2],_[a>>2]=T,I=+p[a>>2],_[a>>2]=y,B=+p[a>>2],tt=i,F=J,et=o,it=r,_[a>>2]=J,R=+p[a>>2]):(m=q*(_[a>>2]=i,+p[a>>2]),S=q*(_[a>>2]=o,+p[a>>2]),v=q*(_[a>>2]=r,+p[a>>2]),h=(1-q)*(_[a>>2]=s,+p[a>>2]),w=(1-q)*(_[a>>2]=G,+p[a>>2]),v+=(1-q)*(_[a>>2]=N,+p[a>>2]),k=1/+b(+((m+h)*(m+h)+(S+w)*(S+w)+v*v)),p[a>>2]=(m+h)*k,y=0|_[a>>2],p[a>>2]=(S+w)*k,C=0|_[a>>2],p[a>>2]=v*k,D=0|_[a>>2],+d(+v*k)>.7071067690849304?(B=-(m+h)*k*((S+w)*k*(Z=1/+b(+(v*k*(v*k)+(S+w)*k*((S+w)*k))))),R=(m+h)*k*(-v*k*Z),I=(v*k*(v*k)+(S+w)*k*((S+w)*k))*Z,j=(S+w)*k*Z,h=-v*k*Z,m=0):(B=v*k*(-(S+w)*k*(Z=1/+b(+(R=(m+h)*k*((m+h)*k)+(S+w)*k*((S+w)*k))))),R*=Z,I=-v*k*((m+h)*k*Z),j=0,h=(m+h)*k*Z,m=-(S+w)*k*Z),p[a>>2]=m,J=0|_[a>>2],p[a>>2]=h,Y=0|_[a>>2],p[a>>2]=j,O=0|_[a>>2],p[a>>2]=I,T=0|_[a>>2],p[a>>2]=B,U=0|_[a>>2],tt=y,p[a>>2]=R,F=0|_[a>>2],et=C,it=D,y=U,C=Y,D=J,k=m),J=0|_[e+12>>2],_[J>>2]=D,_[J+4>>2]=C,_[J+8>>2]=O,_[J+(f<<2)>>2]=T,_[J+(f+1<<2)>>2]=y,_[J+(f+2<<2)>>2]=F,v=-k,U=0|_[e+20>>2],p[U>>2]=v,p[U+4>>2]=-h,p[U+8>>2]=-j,p[U+(f<<2)>>2]=-I,p[U+(f+1<<2)>>2]=-B,p[U+(f+2<<2)>>2]=-R,Y=0|_[t+300>>2],m=+p[t+280>>2],128&Y||(m*=+p[e+4>>2]),M=m*+p[e>>2],_[a>>2]=o,H=+p[a>>2],_[a>>2]=N,L=+p[a>>2],_[a>>2]=r,V=+p[a>>2],_[a>>2]=G,E=+p[a>>2],_[a>>2]=s,Z=+p[a>>2],_[a>>2]=i,Q=+p[a>>2],F=0|_[e+28>>2],p[F>>2]=M*((H*L-V*E)*k+(V*Z-Q*L)*h+(Q*E-H*Z)*j),p[F+(f<<2)>>2]=M*((H*L-V*E)*I+(V*Z-Q*L)*B+(Q*E-H*Z)*R),64&Y&&(N=0|_[e+32>>2],_[N>>2]=_[t+292>>2],_[N+(f<<2)>>2]=_[t+292>>2]),P=+p[u+52>>2],W=+p[u+56>>2],x=+p[u+60>>2],w=+p[ot+52>>2],m=+p[ot+56>>2],S=+p[ot+60>>2],A?(H=(m-W)*j-(S-x)*h,Z=(S-x)*k-(w-P)*j,E=(w-P)*h-(m-W)*k,p[J+(f<<1<<2)>>2]=q*H,p[J+((f<<1|1)<<2)>>2]=q*Z,p[J+(2+(f<<1)<<2)>>2]=q*E,p[U+(f<<1<<2)>>2]=(1-q)*H,p[U+((f<<1|1)<<2)>>2]=(1-q)*Z,p[U+(2+(f<<1)<<2)>>2]=(1-q)*E,E=(m-W)*R-(S-x)*B,Z=(S-x)*I-(w-P)*R,H=(w-P)*B-(m-W)*I,p[J+(3*f<<2)>>2]=q*E,p[J+(1+(3*f|0)<<2)>>2]=q*Z,p[J+(2+(3*f|0)<<2)>>2]=q*H,p[U+(3*f<<2)>>2]=(1-q)*E,p[U+(1+(3*f|0)<<2)>>2]=(1-q)*Z,p[U+(2+(3*f|0)<<2)>>2]=(1-q)*H,C=0|_[e+8>>2],p[C+(f<<1<<2)>>2]=k,p[C+((f<<1|1)<<2)>>2]=h,p[C+(2+(f<<1)<<2)>>2]=j,p[C+(3*f<<2)>>2]=I,p[C+(1+(3*f|0)<<2)>>2]=B,p[C+(2+(3*f|0)<<2)>>2]=R,D=0|_[e+16>>2],p[D+(f<<1<<2)>>2]=v,p[D+((f<<1|1)<<2)>>2]=-h,p[D+(2+(f<<1)<<2)>>2]=-j,p[D+(3*f<<2)>>2]=-I,p[D+(1+(3*f|0)<<2)>>2]=-B,y=D+(2+(3*f|0)<<2)|0,H=k,Z=0,E=0,Q=0,L=0,V=0,M=0,k=m-W,S-=x,v=w-P):(I=+p[t+936>>2]-w,B=+p[t+940>>2]-m,E=+p[t+944>>2]-S,_[a>>2]=tt,k=+p[a>>2],_[a>>2]=et,R=+p[a>>2],_[a>>2]=it,w=+p[a>>2],Q=(H=+p[t+872>>2]-P)-(H*k+(Z=+p[t+876>>2]-W)*R+(m=+p[t+880>>2]-x)*w)*k+q*(M=(H*k+Z*R+m*w)*k+(V=+p[t+1080>>2]-+p[t+1032>>2])*k-(I*k+B*R+E*w)*k),W=Z-(H*k+Z*R+m*w)*R+q*(L=(H*k+Z*R+m*w)*R+V*R-(I*k+B*R+E*w)*R),x=m-(H*k+Z*R+m*w)*w+q*(V=(H*k+Z*R+m*w)*w+V*w-(I*k+B*R+E*w)*w),M=I-(I*k+B*R+E*w)*k-(1-q)*M,L=B-(I*k+B*R+E*w)*R-(1-q)*L,V=E-(I*k+B*R+E*w)*w-(1-q)*V,v=q*(I-(I*k+B*R+E*w)*k)+(1-q)*(H-(H*k+Z*R+m*w)*k),h=q*(B-(I*k+B*R+E*w)*R)+(1-q)*(Z-(H*k+Z*R+m*w)*R),(m=q*(E-(I*k+B*R+E*w)*w)+(1-q)*(m-(H*k+Z*R+m*w)*w))*m+(v*v+h*h)>1.1920928955078125e-7?(Z=1/+b(+(m*m+(v*v+h*h))),p[a>>2]=h*Z,C=0|_[a>>2],p[a>>2]=m*Z,D=0|_[a>>2],S=m*Z,m=h*Z,j=v*Z,p[a>>2]=v*Z,y=0|_[a>>2]):(y=0|_[t+828>>2],C=0|_[t+844>>2],D=0|_[t+860>>2],_[a>>2]=D,S=+p[a>>2],_[a>>2]=C,m=+p[a>>2],_[a>>2]=y,j=+p[a>>2]),I=S*R-m*w,B=j*w-S*k,R=m*k-j*R,p[J+(f<<1<<2)>>2]=W*S-x*m,p[J+(f<<1<<2)+4>>2]=x*j-Q*S,p[J+(f<<1<<2)+8>>2]=Q*m-W*j,p[U+(f<<1<<2)>>2]=-(L*S-V*m),p[U+((f<<1|1)<<2)>>2]=-(V*j-M*S),p[U+(2+(f<<1)<<2)>>2]=-(M*m-L*j),z<1.1920928955078125e-7|K<1.1920928955078125e-7&&0|n[t+297|0]?(m=q*(W*R-x*B),h=q*(Q*B-W*I),v=q*(x*I-Q*R),S=(1-q)*(L*R-V*B),w=(1-q)*(V*I-M*R),k=(1-q)*(M*B-L*I)):(m=W*R-x*B,h=Q*B-W*I,v=x*I-Q*R,S=L*R-V*B,w=V*I-M*R,k=M*B-L*I),p[J+(3*f<<2)>>2]=m,p[J+(3*f<<2)+4>>2]=v,p[J+(3*f<<2)+8>>2]=h,p[U+(3*f<<2)>>2]=-S,p[U+(1+(3*f|0)<<2)>>2]=-w,p[U+(2+(3*f|0)<<2)>>2]=-k,G=0|_[e+8>>2],_[G+(f<<1<<2)>>2]=y,_[G+((f<<1|1)<<2)>>2]=C,_[G+(2+(f<<1)<<2)>>2]=D,p[G+(3*f<<2)>>2]=I,p[G+(1+(3*f|0)<<2)>>2]=B,p[G+(2+(3*f|0)<<2)>>2]=R,N=0|_[e+16>>2],p[N+(f<<1<<2)>>2]=-j,_[a>>2]=C,h=+p[a>>2],p[N+((f<<1|1)<<2)>>2]=-h,_[a>>2]=D,Z=+p[a>>2],p[N+(2+(f<<1)<<2)>>2]=-Z,p[N+(3*f<<2)>>2]=-I,p[N+(1+(3*f|0)<<2)>>2]=-B,y=N+(2+(3*f|0)<<2)|0,H=j,j=Z,C=G,D=N,Z=W,E=x,k=0,S=0,v=0),p[y>>2]=-R,m=+p[t+264>>2],32&Y||(m*=+p[e+4>>2]),P=m*+p[e>>2],p[F+(f<<1<<2)>>2]=P*(c*H+l*h+X*j),p[F+(3*f<<2)>>2]=P*(c*I+l*B+X*R),16&Y&&(N=0|_[e+32>>2],_[N+(f<<1<<2)>>2]=_[t+276>>2],_[N+(3*f<<2)>>2]=_[t+276>>2]),0|n[t+296|0]?(R=X=nt*+p[t+1032>>2],T=X>0?2:1):(R=0,T=0),O=!!(0|T),T|255&(y=0|n[t+1096|0])){if(_[C+(f<<2<<2)>>2]=tt,_[C+((f<<2|1)<<2)>>2]=et,_[C+((f<<2|2)<<2)>>2]=it,_[a>>2]=tt,j=+p[a>>2],p[D+(f<<2<<2)>>2]=-j,_[a>>2]=et,I=+p[a>>2],p[D+((f<<2|1)<<2)>>2]=-I,_[a>>2]=it,B=+p[a>>2],p[D+((f<<2|2)<<2)>>2]=-B,A?(z=k*B-S*I,K=S*j-v*B,m=v*I-k*j,p[J+(f<<2<<2)>>2]=q*z,p[J+((f<<2|1)<<2)>>2]=q*K,p[J+((f<<2|2)<<2)>>2]=q*m,p[U+(f<<2<<2)>>2]=(1-q)*z,p[U+((f<<2|1)<<2)>>2]=(1-q)*K,m*=1-q,$=31):z<1.1920928955078125e-7|K<1.1920928955078125e-7||(p[J+(f<<2<<2)>>2]=Z*B-E*I,p[J+((f<<2|1)<<2)>>2]=E*j-Q*B,p[J+((f<<2|2)<<2)>>2]=Q*I-Z*j,p[U+(f<<2<<2)>>2]=-(L*B-V*I),p[U+((f<<2|1)<<2)>>2]=-(V*j-M*B),m=-(M*I-L*j),$=31),31==(0|$)&&(p[U+((f<<2|2)<<2)>>2]=m),D=+p[t+184>>2]==+p[t+188>>2],p[F+(f<<2<<2)>>2]=0,C=(0|_[e+36>>2])+(f<<2<<2)|0,p[C>>2]=0,F=(0|_[e+40>>2])+(f<<2<<2)|0,p[F>>2]=0,k=+p[(512&Y?t+232:e+4)>>2],!(!(y<<24>>24)|O&D)){1&Y&&(_[(0|_[e+32>>2])+(f<<2<<2)>>2]=_[t+212>>2]),w=+p[t+1100>>2],m=+p[t+1080>>2],h=+p[t+184>>2],v=+p[t+188>>2],S=k*+p[e>>2];do{if(h>v)m=1;else if(h!=v){if(w/S<0){if(m>=h&&h-w/S>m){m=(h-m)/(w/S);break}m=m0){if(m<=v&&v-w/Sv?0:1;break}m=0}else m=0}while(0);$=(0|_[e+28>>2])+(f<<2<<2)|0,p[$>>2]=+p[$>>2]-nt*m*w,p[C>>2]=+p[C>>2]-+p[t+1104>>2]*+p[e>>2],p[F>>2]=+p[t+1104>>2]*+p[e>>2]+ +p[F>>2]}if(O){y=(0|_[e+28>>2])+(f<<2<<2)|0,p[y>>2]=+p[y>>2]+R*(k*+p[e>>2]),256&_[t+300>>2]&&(_[(0|_[e+32>>2])+(f<<2<<2)>>2]=_[t+244>>2]);do{if(!D){if(1==(0|T)){p[C>>2]=-34028234663852886e22,m=0;break}p[C>>2]=0,m=34028234663852886e22;break}p[C>>2]=-34028234663852886e22,m=34028234663852886e22}while(0);p[F>>2]=m,q=1-+p[t+240>>2],h=+d(+q);do{if(!(q!=q|!1|0==q)){if(m=nt*(+p[u+312>>2]*j+ +p[u+316>>2]*I+ +p[u+320>>2]*B-(+p[ot+312>>2]*j+ +p[ot+316>>2]*I+ +p[ot+320>>2]*B)),1==(0|T)){if(!(m<0))break;if(!(+p[y>>2]<-h*m))break;p[y>>2]=-h*m;break}if(!(m>0))break;if(!(+p[y>>2]>-h*m))break;p[y>>2]=-h*m;break}}while(0);p[y>>2]=+p[t+232>>2]*+p[y>>2],y=5}else y=5}else y=4;if(0|n[t+297|0]?(B=nt=+p[t+1088>>2],O=nt>0?1:2):(B=0,O=0),D=!!(0|O),O|255&(C=0|n[t+1112|0])){if(F=0|g(0|_[e+24>>2],y),y=0|_[e+12>>2],_[y+(F<<2)>>2]=tt,_[y+(F+1<<2)>>2]=et,_[y+(F+2<<2)>>2]=it,_[a>>2]=tt,x=+p[a>>2],y=0|_[e+20>>2],p[y+(F<<2)>>2]=-x,_[a>>2]=et,W=+p[a>>2],p[y+(F+1<<2)>>2]=-W,_[a>>2]=it,I=+p[a>>2],p[y+(F+2<<2)>>2]=-I,k=+p[t+192>>2],R=+p[t+196>>2],y=0|_[t+300>>2],j=+p[(2048&y?t+248:e+4)>>2],!(!(C<<24>>24)|D&k==R)){4&y?(_[(0|_[e+32>>2])+(F<<2)>>2]=_[t+228>>2],v=+p[t+196>>2],S=+p[t+192>>2]):(v=R,S=k),m=+p[t+1084>>2],w=+p[t+1116>>2],h=j*+p[e>>2];do{if(S>v)m=1;else if(S!=v){if(w/h<0){if(m>=S&&S-w/h>m){m=(S-m)/(w/h);break}m=m0){if(m<=v&&v-w/hv?0:1;break}m=0}else m=0}while(0);p[(0|_[e+28>>2])+(F<<2)>>2]=m*w,p[(0|_[e+36>>2])+(F<<2)>>2]=-+p[t+1120>>2]*+p[e>>2],p[(0|_[e+40>>2])+(F<<2)>>2]=+p[t+1120>>2]*+p[e>>2]}if(D){C=(0|_[e+28>>2])+(F<<2)|0,p[C>>2]=+p[C>>2]+B*(j*+p[e>>2]),1024&y&&(_[(0|_[e+32>>2])+(F<<2)>>2]=_[t+260>>2]);do{if(k!=R){if(y=(0|_[e+36>>2])+(F<<2)|0,1==(0|O)){p[y>>2]=0,m=34028234663852886e22;break}p[y>>2]=-34028234663852886e22,m=0;break}p[(0|_[e+36>>2])+(F<<2)>>2]=-34028234663852886e22,m=34028234663852886e22}while(0);p[(0|_[e+40>>2])+(F<<2)>>2]=m,nt=1-+p[t+256>>2],h=+d(+nt);do{if(!(nt!=nt|!1|0==nt)){if(ot=0|_[t+28>>2],e=0|_[t+32>>2],m=+p[ot+328>>2]*x+ +p[ot+332>>2]*W+ +p[ot+336>>2]*I-(+p[e+328>>2]*x+ +p[e+332>>2]*W+ +p[e+336>>2]*I),1==(0|O)){if(!(m<0))break;if(!(+p[C>>2]<-h*m))break;p[C>>2]=-h*m;break}if(!(m>0))break;if(!(+p[C>>2]>-h*m))break;p[C>>2]=-h*m;break}}while(0);p[C>>2]=+p[t+248>>2]*+p[C>>2]}}},function(t,e){e|=0;var i,o,r=0,s=0,c=0;if(0|n[527+(t|=0)|0])return _[e>>2]=0,void(_[e+4>>2]=0);_[e>>2]=3,_[e+4>>2]=3,ui(t,4+(o=0|_[t+28>>2])|0,4+(i=0|_[t+32>>2])|0,o+264|0,i+264|0),0|n[t+526|0]&&(r=0|_[e>>2],_[e>>2]=r+1,s=0|_[e+4>>2],_[e+4>>2]=s+-1,c=+p[t+456>>2],+p[t+444>>2]>2]>2]=r+2,_[e+4>>2]=s+-2),0|n[t+525|0]&&(_[e>>2]=1+(0|_[e>>2]),_[e+4>>2]=(0|_[e+4>>2])-1)},function(t,e){e|=0;var i,o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;ui(t|=0,4+(i=0|_[t+28>>2])|0,4+(u=0|_[t+32>>2])|0,i+264|0,u+264|0),h=0|_[e+8>>2],p[h>>2]=1,l=0|_[e+24>>2],p[h+(l+1<<2)>>2]=1,p[h+(2+(l<<1)<<2)>>2]=1,b=+p[t+348>>2],C=+p[t+352>>2],f=+p[t+356>>2],y=+p[i+4>>2]*b+ +p[i+8>>2]*C+ +p[i+12>>2]*f,A=b*+p[i+20>>2]+C*+p[i+24>>2]+f*+p[i+28>>2],f=b*+p[i+36>>2]+C*+p[i+40>>2]+f*+p[i+44>>2],h=0|_[e+12>>2],_[h>>2]=0,p[h+4>>2]=f,p[h+8>>2]=-A,p[h+12>>2]=0,p[h+(l<<2)>>2]=-f,_[h+(l<<2)+4>>2]=0,p[h+(l<<2)+8>>2]=y,p[h+(l<<2)+12>>2]=0,p[h+(l<<1<<2)>>2]=A,p[h+(l<<1<<2)+4>>2]=-y,_[h+(l<<1<<2)+8>>2]=0,p[h+(l<<1<<2)+12>>2]=0,m=0|_[e+16>>2],p[m>>2]=-1,p[m+(l+1<<2)>>2]=-1,p[m+(2+(l<<1)<<2)>>2]=-1,C=+p[t+412>>2],b=+p[t+416>>2],d=+p[t+420>>2],g=+p[u+4>>2]*C+ +p[u+8>>2]*b+ +p[u+12>>2]*d,r=C*+p[u+20>>2]+b*+p[u+24>>2]+d*+p[u+28>>2],d=C*+p[u+36>>2]+b*+p[u+40>>2]+d*+p[u+44>>2],m=0|_[e+20>>2],_[m>>2]=0,p[m+4>>2]=-d,p[m+8>>2]=r,p[m+12>>2]=0,p[m+(l<<2)>>2]=d,_[m+(l<<2)+4>>2]=0,p[m+(l<<2)+8>>2]=-g,p[m+(l<<2)+12>>2]=0,p[m+(l<<1<<2)>>2]=-r,p[m+(l<<1<<2)+4>>2]=g,_[m+(l<<1<<2)+8>>2]=0,p[m+(l<<1<<2)+12>>2]=0,o=0|_[t+592>>2],b=+p[(2&o?t+600:e+4)>>2]*+p[e>>2],c=0|_[e+28>>2],s=0|_[e+36>>2],a=0|_[e+40>>2],p[c>>2]=b*(g+ +p[u+52>>2]-y-+p[i+52>>2]),p[s>>2]=-34028234663852886e22,p[a>>2]=34028234663852886e22,1&o?(v=0|_[e+32>>2],_[v>>2]=_[t+596>>2],p[c+(l<<2)>>2]=b*(r+ +p[u+56>>2]-A-+p[i+56>>2]),p[s+(l<<2)>>2]=-34028234663852886e22,p[a+(l<<2)>>2]=34028234663852886e22,_[v+(l<<2)>>2]=_[t+596>>2],p[c+(l<<1<<2)>>2]=b*(d+ +p[u+60>>2]-f-+p[i+60>>2]),p[s+(l<<1<<2)>>2]=-34028234663852886e22,p[a+(l<<1<<2)>>2]=34028234663852886e22,_[v+(l<<1<<2)>>2]=_[t+596>>2]):(p[c+(l<<2)>>2]=b*(r+ +p[u+56>>2]-A-+p[i+56>>2]),p[s+(l<<2)>>2]=-34028234663852886e22,p[a+(l<<2)>>2]=34028234663852886e22,p[c+(l<<1<<2)>>2]=b*(d+ +p[u+60>>2]-f-+p[i+60>>2]),p[s+(l<<1<<2)>>2]=-34028234663852886e22,p[a+(l<<1<<2)>>2]=34028234663852886e22);do{if(0|n[t+526|0]){if(C=+p[t+456>>2],+p[t+444>>2]>2]>2],k=+p[i+8>>2],w=+p[i+12>>2],B=+p[t+304>>2],I=+p[t+320>>2],D=+p[t+336>>2],b=+p[t+308>>2],f=+p[t+324>>2],g=+p[t+340>>2],S=+p[i+20>>2],r=+p[i+24>>2],d=+p[i+28>>2],A=+p[i+36>>2],y=+p[i+40>>2],C=+p[i+44>>2],p[h+(3*l<<2)>>2]=R*B+k*I+w*D,p[h+(1+(3*l|0)<<2)>>2]=B*S+I*r+D*d,p[h+(2+(3*l|0)<<2)>>2]=B*A+I*y+D*C,p[h+(l<<2<<2)>>2]=R*b+k*f+w*g,p[h+((l<<2|1)<<2)>>2]=b*S+f*r+g*d,p[h+((l<<2|2)<<2)>>2]=b*A+f*y+g*C,p[m+(3*l<<2)>>2]=-(R*B+k*I+w*D),p[m+(1+(3*l|0)<<2)>>2]=-(B*S+I*r+D*d),p[m+(2+(3*l|0)<<2)>>2]=-(B*A+I*y+D*C),p[m+(l<<2<<2)>>2]=-(R*b+k*f+w*g),p[m+((l<<2|1)<<2)>>2]=-(b*S+f*r+g*d),p[m+((l<<2|2)<<2)>>2]=-(b*A+f*y+g*C),j=+p[e>>2]*+p[t+436>>2],c=0|_[e+28>>2],p[c+(3*l<<2)>>2]=j*((R*B+k*I+w*D)*+p[t+460>>2]+(B*S+I*r+D*d)*+p[t+464>>2]+(B*A+I*y+D*C)*+p[t+468>>2]),p[c+(l<<2<<2)>>2]=j*((R*b+k*f+w*g)*+p[t+460>>2]+(b*S+f*r+g*d)*+p[t+464>>2]+(b*A+f*y+g*C)*+p[t+468>>2]),s=0|_[e+36>>2],p[s+(3*l<<2)>>2]=-34028234663852886e22,a=0|_[e+40>>2],p[a+(3*l<<2)>>2]=34028234663852886e22,p[s+(l<<2<<2)>>2]=-34028234663852886e22,p[a+(l<<2<<2)>>2]=34028234663852886e22,l=5*l|0;break}D=(B=+p[t+436>>2])*(+p[t+460>>2]*B),I=B*(B*+p[t+464>>2]),B*=B*+p[t+468>>2],p[h+(3*l<<2)>>2]=D,p[h+(1+(3*l|0)<<2)>>2]=I,p[h+(2+(3*l|0)<<2)>>2]=B,p[m+(3*l<<2)>>2]=-D,p[m+(1+(3*l|0)<<2)>>2]=-I,p[m+(2+(3*l|0)<<2)>>2]=-B,p[c+(3*l<<2)>>2]=+p[e>>2]*+p[t+432>>2]*+p[t+504>>2],4&o&&(_[(0|_[e+32>>2])+(3*l<<2)>>2]=_[t+604>>2]),p[s+(3*l<<2)>>2]=0,p[a+(3*l<<2)>>2]=34028234663852886e22,l<<=2}else l=3*l|0}while(0);if(0|n[t+525|0]){D=(B=+p[t+436>>2])*(+p[t+476>>2]*B),I=B*(B*+p[t+480>>2]),B*=B*+p[t+484>>2],p[h+(l<<2)>>2]=D,p[h+((u=l+1|0)<<2)>>2]=I,p[h+((v=l+2|0)<<2)>>2]=B,p[m+(l<<2)>>2]=-D,p[m+(u<<2)>>2]=-I,p[m+(v<<2)>>2]=-B,p[c+(l<<2)>>2]=+p[e>>2]*+p[t+432>>2]*+p[t+508>>2],4&o&&(_[(0|_[e+32>>2])+(l<<2)>>2]=_[t+604>>2]);do{if(+p[t+452>>2]>0){if(s=s+(l<<2)|0,+p[t+508>>2]>0){p[s>>2]=0,r=34028234663852886e22;break}p[s>>2]=-34028234663852886e22,r=0;break}p[s+(l<<2)>>2]=-34028234663852886e22,r=34028234663852886e22}while(0);p[a+(l<<2)>>2]=r}},function(t,e){e|=0;var i,o=0,r=0;if(0|n[738+(t|=0)|0])return _[e>>2]=0,void(_[e+4>>2]=0);_[e>>2]=5,_[e+4>>2]=1,o=+Yi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0),p[t+728>>2]=o,p[t+708>>2]=0,p[t+712>>2]=0,n[t+716|0]=0,i=+p[t+692>>2];do{if(i>=0){if((o=(o-+p[t+688>>2])%6.2831854820251465)<-3.1415927410125732?o+=6.2831854820251465:o>3.1415927410125732&&(o+=-6.2831854820251465),o<-i){n[t+716|0]=1,p[t+708>>2]=-(i+o),p[t+712>>2]=1;break}o>i?(n[t+716|0]=1,p[t+708>>2]=i-o,p[t+712>>2]=-1):r=12}else r=12}while(0);(12!=(0|r)||0|n[t+737|0])&&(_[e>>2]=6,_[e+4>>2]=0)},function(t,e){e|=0;var i,o,r,s,c,a,l,d,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,Q=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0;if(l=0|_[28+(t|=0)>>2],d=0|_[t+32>>2],a=0|_[e+24>>2],0|n[t+739|0]){if(q=+p[l+4>>2],$=+p[l+8>>2],tt=+p[l+12>>2],w=+p[t+556>>2],D=+p[t+572>>2],I=+p[t+588>>2],et=+p[t+560>>2],it=+p[t+576>>2],nt=+p[t+592>>2],ot=+p[l+20>>2],_t=+p[l+24>>2],rt=+p[l+28>>2],st=+p[l+36>>2],pt=+p[l+40>>2],ct=+p[l+44>>2],F=+p[t+600>>2],O=+p[t+604>>2],x=+p[t+608>>2],f=+p[l+52>>2],j=+p[l+56>>2],g=+p[l+60>>2],i=+p[d+4>>2],o=+p[d+8>>2],r=+p[d+12>>2],s=+p[t+624>>2],at=+p[t+640>>2],H=+p[t+656>>2],Z=+p[d+20>>2],U=+p[d+24>>2],Y=+p[d+28>>2],J=+p[d+36>>2],X=+p[d+40>>2],K=+p[d+44>>2],M=+p[t+664>>2],P=+p[t+668>>2],m=+p[t+672>>2],G=(A=+p[d+52>>2])+(i*M+o*P+r*m)-(f+(q*F+$*O+tt*x)),N=Z*M+U*P+Y*m+(v=+p[d+56>>2])-(ot*F+_t*O+rt*x+j),L=J*M+X*P+K*m+(h=+p[d+60>>2])-(st*F+pt*O+ct*x+g),A=A+(i*M+o*P+r*m)-A-(c=(q*et+$*it+tt*nt)*(V=(B=+p[344+(0|_[t+28>>2])>>2])+(W=+p[344+(0|_[t+32>>2])>>2])>0?W/(B+W):.5)+(i*s+o*at+r*H)*(1-V))*(bt=1/+b(+((dt=(et*st+it*pt+nt*ct)*V+(s*J+at*X+H*K)*(1-V))*dt+(c*c+(lt=(et*ot+it*_t+nt*rt)*V+(s*Z+at*U+H*Y)*(1-V))*lt))))*(T=dt*bt*(J*M+X*P+K*m+h-h)+(c*bt*(A+(i*M+o*P+r*m)-A)+lt*bt*(Z*M+U*P+Y*m+v-v))),v=Z*M+U*P+Y*m+v-v-lt*bt*T,h=J*M+X*P+K*m+h-h-dt*bt*T,j=ot*F+_t*O+rt*x+j-j-lt*bt*(m=dt*bt*(st*F+pt*O+ct*x+g-g)+(c*bt*(f+(q*F+$*O+tt*x)-f)+lt*bt*(ot*F+_t*O+rt*x+j-j))),g=st*F+pt*O+ct*x+g-g-dt*bt*m,x=(f=f+(q*F+$*O+tt*x)-f-c*bt*m)+V*(c*bt*m-c*bt*T),O=j+V*(lt*bt*m-lt*bt*T),F=g+V*(dt*bt*m-dt*bt*T),P=A-(1-V)*(c*bt*m-c*bt*T),M=v-(1-V)*(lt*bt*m-lt*bt*T),T=h-(1-V)*(dt*bt*m-dt*bt*T),(m=(V*h+(1-V)*g)*(V*h+(1-V)*g)+((V*A+(1-V)*f)*(V*A+(1-V)*f)+(V*v+(1-V)*j)*(V*v+(1-V)*j)))>1.1920928955078125e-7?(E=(V*A+(1-V)*f)*(w=1/+b(+m)),Q=(V*h+(1-V)*g)*w,w*=V*v+(1-V)*j):(E=q*w+$*D+tt*I,Q=w*st+D*pt+I*ct,w=w*ot+D*_t+I*rt),j=lt*bt*Q-dt*bt*w,D=dt*bt*E-c*bt*Q,I=c*bt*w-lt*bt*E,z=0|_[e+12>>2],p[z>>2]=O*Q-F*w,p[z+4>>2]=F*E-x*Q,p[z+8>>2]=x*w-O*E,z=0|_[e+20>>2],p[z>>2]=-(M*Q-T*w),p[z+4>>2]=-(T*E-P*Q),p[z+8>>2]=-(P*w-M*E),B<1.1920928955078125e-7|W<1.1920928955078125e-7&&0|n[t+716|0]?(A=V*(O*I-F*D),f=V*(F*j-x*I),m=V*(x*D-O*j),h=(1-V)*(M*I-T*D),g=(1-V)*(T*j-P*I),v=(1-V)*(P*D-M*j)):(A=O*I-F*D,f=F*j-x*I,m=x*D-O*j,h=M*I-T*D,g=T*j-P*I,v=P*D-M*j),z=(0|_[e+12>>2])+(a<<2)|0,p[z>>2]=A,p[z+4>>2]=f,p[z+8>>2]=m,z=0|_[e+20>>2],p[z+(a<<2)>>2]=-h,p[z+(a+1<<2)>>2]=-g,p[z+(a+2<<2)>>2]=-v,B<1.1920928955078125e-7|W<1.1920928955078125e-7?(v=V*(O*(dt*bt)-F*(lt*bt)),g=V*(F*(c*bt)-x*(dt*bt)),f=V*(x*(lt*bt)-O*(c*bt)),h=(1-V)*(M*(dt*bt)-T*(lt*bt)),m=(1-V)*(T*(c*bt)-P*(dt*bt)),A=(1-V)*(P*(lt*bt)-M*(c*bt))):(v=O*(dt*bt)-F*(lt*bt),g=F*(c*bt)-x*(dt*bt),f=x*(lt*bt)-O*(c*bt),h=M*(dt*bt)-T*(lt*bt),m=T*(c*bt)-P*(dt*bt),A=P*(lt*bt)-M*(c*bt)),C=(0|_[e+12>>2])+(a<<1<<2)|0,p[C>>2]=v,p[C+4>>2]=g,p[C+8>>2]=f,C=0|_[e+20>>2],p[C+(a<<1<<2)>>2]=-h,p[C+((a<<1|1)<<2)>>2]=-m,p[C+(2+(a<<1)<<2)>>2]=-A,A=+p[e>>2]*+p[e+4>>2],0|n[t+736|0]?(A=-E,f=-j,m=-D,h=-I,S=0|_[e+28>>2]):(S=0|_[e+8>>2],p[S>>2]=E,p[S+4>>2]=w,p[S+8>>2]=Q,S=(0|_[e+8>>2])+(a<<2)|0,p[S>>2]=j,p[S+4>>2]=D,p[S+8>>2]=I,S=(0|_[e+8>>2])+(a<<1<<2)|0,p[S>>2]=c*bt,p[S+4>>2]=lt*bt,p[S+8>>2]=dt*bt,S=0|_[e+16>>2],f=-E,p[S>>2]=f,p[S+4>>2]=-w,p[S+8>>2]=-Q,p[S+(a<<2)>>2]=-j,p[S+(a+1<<2)>>2]=-D,p[S+(a+2<<2)>>2]=-I,p[S+(a<<1<<2)>>2]=-c*bt,p[S+((a<<1|1)<<2)>>2]=-lt*bt,p[S+(2+(a<<1)<<2)>>2]=-dt*bt,S=0|_[e+28>>2],p[S>>2]=A*(G*E+N*w+L*Q),p[S+(a<<2)>>2]=A*(G*j+N*D+L*I),p[S+(a<<1<<2)>>2]=A*(G*(c*bt)+N*(lt*bt)+L*(dt*bt)),A=f,f=-j,m=-D,h=-I,C=0|_[e+20>>2]),y=0|_[e+12>>2],p[y+(3*a<<2)>>2]=E,p[y+(1+(3*a|0)<<2)>>2]=w,p[y+(2+(3*a|0)<<2)>>2]=Q,p[y+(a<<2<<2)>>2]=j,p[y+((a<<2|1)<<2)>>2]=D,p[y+((a<<2|2)<<2)>>2]=I,p[C+(3*a<<2)>>2]=A,p[C+(1+(3*a|0)<<2)>>2]=-w,p[C+(2+(3*a|0)<<2)>>2]=-Q,p[C+(a<<2<<2)>>2]=f,p[C+((a<<2|1)<<2)>>2]=m,p[C+((a<<2|2)<<2)>>2]=h,N=+p[e>>2]*+p[e+4>>2],L=(et*ot+it*_t+nt*rt)*(s*J+at*X+H*K)-(et*st+it*pt+nt*ct)*(s*Z+at*U+H*Y),ct=(et*st+it*pt+nt*ct)*(i*s+o*at+r*H)-(q*et+$*it+tt*nt)*(s*J+at*X+H*K),at=(q*et+$*it+tt*nt)*(s*Z+at*U+H*Y)-(et*ot+it*_t+nt*rt)*(i*s+o*at+r*H),p[S+(3*a<<2)>>2]=N*(L*E+ct*w+at*Q),p[S+(a<<2<<2)>>2]=N*(L*j+ct*D+at*I),0|n[t+716|0]?(w=at=+p[t+708>>2]*+p[t+732>>2],R=at>0?1:2):(w=0,R=0),k=!!(0|R),R|255&(u=0|n[t+737|0])){if(p[y+(5*a<<2)>>2]=c*bt,p[y+(1+(5*a|0)<<2)>>2]=lt*bt,p[y+(2+(5*a|0)<<2)>>2]=dt*bt,p[C+(5*a<<2)>>2]=-c*bt,p[C+(1+(5*a|0)<<2)>>2]=-lt*bt,p[C+(2+(5*a|0)<<2)>>2]=-dt*bt,C=(v=((A=+p[t+688>>2])-(f=+p[t+692>>2]))%6.2831854820251465<-3.1415927410125732?(A-f)%6.2831854820251465+6.2831854820251465:(A-f)%6.2831854820251465>3.1415927410125732?(A-f)%6.2831854820251465-6.2831854820251465:(A-f)%6.2831854820251465)==(h=(A+f)%6.2831854820251465<-3.1415927410125732?(A+f)%6.2831854820251465+6.2831854820251465:(A+f)%6.2831854820251465>3.1415927410125732?(A+f)%6.2831854820251465-6.2831854820251465:(A+f)%6.2831854820251465),p[(S=S+(5*a<<2)|0)>>2]=0,y=0|_[t+748>>2],g=+p[(2&y?t+760:e+4)>>2],!(!(u<<24>>24)|k&C)){4&y&&(_[(0|_[e+32>>2])+(5*a<<2)>>2]=_[t+752>>2]),f=+p[t+728>>2],m=+p[t+680>>2],A=v>h?1:0;do{if(!(v>=h)){if((A=m/(g*+p[e>>2]))<0){if(f>=v&v-A>f){A=(v-f)/A;break}A=f0){if(f<=h&h-Ah?0:1;break}A=0}}while(0);p[S>>2]=A*m*+p[t+732>>2]+ +p[S>>2],p[(0|_[e+36>>2])+(5*a<<2)>>2]=-+p[t+684>>2],_[(0|_[e+40>>2])+(5*a<<2)>>2]=_[t+684>>2]}if(k){p[S>>2]=+p[S>>2]+w*(g*+p[e>>2]),1&y&&(_[(0|_[e+32>>2])+(5*a<<2)>>2]=_[t+756>>2]);do{if(!C){if(u=(0|_[e+36>>2])+(5*a<<2)|0,1==(0|R)){p[u>>2]=0,A=34028234663852886e22;break}p[u>>2]=-34028234663852886e22,A=0;break}p[(0|_[e+36>>2])+(5*a<<2)>>2]=-34028234663852886e22,A=34028234663852886e22}while(0);p[(0|_[e+40>>2])+(5*a<<2)>>2]=A,f=+p[t+704>>2];do{if(f>0){if(A=+p[l+328>>2]*(c*bt)+ +p[l+332>>2]*(lt*bt)+ +p[l+336>>2]*(dt*bt)-(+p[d+328>>2]*(c*bt)+ +p[d+332>>2]*(lt*bt)+ +p[d+336>>2]*(dt*bt)),1==(0|R)){if(!(A<0))break;if(!(+p[S>>2]<-f*A))break;p[S>>2]=-f*A;break}if(!(A>0))break;if(!(+p[S>>2]>-f*A))break;p[S>>2]=-f*A;break}}while(0);p[S>>2]=+p[t+700>>2]*+p[S>>2]}}}else{if(h=+p[t+552>>2],K=+p[l+4>>2],g=+p[t+568>>2],q=+p[l+8>>2],v=+p[t+584>>2],$=+p[l+12>>2],w=+p[t+556>>2],j=+p[t+572>>2],D=+p[t+588>>2],tt=+p[t+560>>2],et=+p[t+576>>2],it=+p[t+592>>2],nt=+p[l+20>>2],ot=+p[l+24>>2],_t=+p[l+28>>2],rt=+p[l+36>>2],st=+p[l+40>>2],pt=+p[l+44>>2],I=+p[t+600>>2],B=+p[t+604>>2],W=+p[t+608>>2],F=+p[l+52>>2],x=+p[l+56>>2],O=+p[l+60>>2],T=+p[d+4>>2],P=+p[d+8>>2],M=+p[d+12>>2],V=+p[t+624>>2],G=+p[t+640>>2],N=+p[t+656>>2],L=+p[d+20>>2],Q=+p[d+24>>2],E=+p[d+28>>2],H=+p[d+36>>2],Z=+p[d+40>>2],U=+p[d+44>>2],dt=+p[t+664>>2],bt=+p[t+668>>2],X=+p[t+672>>2],Y=+p[d+52>>2]+(T*dt+P*bt+M*X),J=L*dt+Q*bt+E*X+ +p[d+56>>2],X=H*dt+Z*bt+U*X+ +p[d+60>>2],(y=!(0|n[t+736|0]))?(u=0|_[e+8>>2],p[u>>2]=1,p[u+(a+1<<2)>>2]=1,p[u+(2+(a<<1)<<2)>>2]=1,u=0|_[e+16>>2],p[u>>2]=-1,p[u+(a+1<<2)>>2]=-1,p[u+(2+(a<<1)<<2)>>2]=-1,u=a<<1,A=+p[l+52>>2],f=+p[l+56>>2],m=+p[l+60>>2]):(u=a<<1,A=F,f=x,m=O),A=F+(K*I+q*B+$*W)-A,bt=nt*I+ot*B+_t*W+x-f,dt=rt*I+st*B+pt*W+O-m,S=(C=0|_[e+12>>2])+(u<<2)|0,_[C>>2]=0,p[C+4>>2]=dt,p[C+8>>2]=-bt,p[C+12>>2]=0,p[C+(a<<2)>>2]=-dt,_[C+(a<<2)+4>>2]=0,p[C+(a<<2)+8>>2]=A,p[C+(a<<2)+12>>2]=0,p[S>>2]=bt,p[S+4>>2]=-A,_[S+8>>2]=0,p[S+12>>2]=0,A=Y-+p[d+52>>2],bt=J-+p[d+56>>2],dt=X-+p[d+60>>2],z=(S=0|_[e+20>>2])+(u<<2)|0,_[S>>2]=0,p[S+4>>2]=-dt,p[S+8>>2]=bt,p[S+12>>2]=0,p[S+(a<<2)>>2]=dt,_[S+(a<<2)+4>>2]=0,p[S+(a<<2)+8>>2]=-A,p[S+(a<<2)+12>>2]=0,p[z>>2]=-bt,p[z+4>>2]=A,_[z+8>>2]=0,p[z+12>>2]=0,A=+p[e>>2]*+p[e+4>>2],z=0|_[e+28>>2],y&&(p[z>>2]=A*(Y-(F+(K*I+q*B+$*W))),p[z+(a<<2)>>2]=A*(J-(nt*I+ot*B+_t*W+x)),p[z+(a<<1<<2)>>2]=A*(X-(rt*I+st*B+pt*W+O))),p[C+(3*a<<2)>>2]=h*K+g*q+v*$,p[C+(1+(3*a|0)<<2)>>2]=h*nt+g*ot+v*_t,p[C+(2+(3*a|0)<<2)>>2]=h*rt+g*st+v*pt,p[C+(a<<2<<2)>>2]=K*w+q*j+$*D,p[C+((a<<2|1)<<2)>>2]=w*nt+j*ot+D*_t,p[C+((a<<2|2)<<2)>>2]=w*rt+j*st+D*pt,p[S+(3*a<<2)>>2]=-(h*K+g*q+v*$),p[S+(1+(3*a|0)<<2)>>2]=-(h*nt+g*ot+v*_t),p[S+(2+(3*a|0)<<2)>>2]=-(h*rt+g*st+v*pt),p[S+(a<<2<<2)>>2]=-(K*w+q*j+$*D),p[S+((a<<2|1)<<2)>>2]=-(w*nt+j*ot+D*_t),p[S+((a<<2|2)<<2)>>2]=-(w*rt+j*st+D*pt),dt=(tt*nt+et*ot+it*_t)*(V*H+G*Z+N*U)-(tt*rt+et*st+it*pt)*(V*L+G*Q+N*E),bt=(tt*rt+et*st+it*pt)*(T*V+P*G+M*N)-(K*tt+q*et+$*it)*(V*H+G*Z+N*U),lt=(K*tt+q*et+$*it)*(V*L+G*Q+N*E)-(tt*nt+et*ot+it*_t)*(T*V+P*G+M*N),p[z+(3*a<<2)>>2]=((h*rt+g*st+v*pt)*lt+((h*K+g*q+v*$)*dt+(h*nt+g*ot+v*_t)*bt))*A,p[z+(a<<2<<2)>>2]=((w*rt+j*st+D*pt)*lt+((K*w+q*j+$*D)*dt+(w*nt+j*ot+D*_t)*bt))*A,0|n[t+716|0]?(w=bt=+p[t+708>>2]*+p[t+732>>2],R=bt>0?1:2):(w=0,R=0),k=!!(0|R),!(R|255&(u=0|n[t+737|0])))return;if(p[C+(5*a<<2)>>2]=K*tt+q*et+$*it,p[C+(1+(5*a|0)<<2)>>2]=tt*nt+et*ot+it*_t,p[C+(2+(5*a|0)<<2)>>2]=tt*rt+et*st+it*pt,p[S+(5*a<<2)>>2]=-(K*tt+q*et+$*it),p[S+(1+(5*a|0)<<2)>>2]=-(tt*nt+et*ot+it*_t),p[S+(2+(5*a|0)<<2)>>2]=-(tt*rt+et*st+it*pt),C=(v=((A=+p[t+688>>2])-(f=+p[t+692>>2]))%6.2831854820251465<-3.1415927410125732?(A-f)%6.2831854820251465+6.2831854820251465:(A-f)%6.2831854820251465>3.1415927410125732?(A-f)%6.2831854820251465-6.2831854820251465:(A-f)%6.2831854820251465)==(h=(A+f)%6.2831854820251465<-3.1415927410125732?(A+f)%6.2831854820251465+6.2831854820251465:(A+f)%6.2831854820251465>3.1415927410125732?(A+f)%6.2831854820251465-6.2831854820251465:(A+f)%6.2831854820251465),p[(S=z+(5*a<<2)|0)>>2]=0,y=0|_[t+748>>2],g=+p[(2&y?t+760:e+4)>>2],!(!(u<<24>>24)|k&C)){4&y&&(_[(0|_[e+32>>2])+(5*a<<2)>>2]=_[t+752>>2]),f=+p[t+728>>2],m=+p[t+680>>2],A=v>h?1:0;do{if(!(v>=h)){if((A=m/(g*+p[e>>2]))<0){if(f>=v&v-A>f){A=(v-f)/A;break}A=f0){if(f<=h&h-Ah?0:1;break}A=0}}while(0);p[S>>2]=A*m*+p[t+732>>2]+ +p[S>>2],p[(0|_[e+36>>2])+(5*a<<2)>>2]=-+p[t+684>>2],_[(0|_[e+40>>2])+(5*a<<2)>>2]=_[t+684>>2]}if(!k)return;p[S>>2]=+p[S>>2]+w*(g*+p[e>>2]),1&y&&(_[(0|_[e+32>>2])+(5*a<<2)>>2]=_[t+756>>2]);do{if(!C){if(u=(0|_[e+36>>2])+(5*a<<2)|0,1==(0|R)){p[u>>2]=0,A=34028234663852886e22;break}p[u>>2]=-34028234663852886e22,A=0;break}p[(0|_[e+36>>2])+(5*a<<2)>>2]=-34028234663852886e22,A=34028234663852886e22}while(0);p[(0|_[e+40>>2])+(5*a<<2)>>2]=A,f=+p[t+704>>2];do{if(f>0){if(A=(K*tt+q*et+$*it)*+p[l+328>>2]+(tt*nt+et*ot+it*_t)*+p[l+332>>2]+(tt*rt+et*st+it*pt)*+p[l+336>>2]-((K*tt+q*et+$*it)*+p[d+328>>2]+(tt*nt+et*ot+it*_t)*+p[d+332>>2]+(tt*rt+et*st+it*pt)*+p[d+336>>2]),1==(0|R)){if(!(A<0))break;if(!(+p[S>>2]<-f*A))break;p[S>>2]=-f*A;break}if(!(A>0))break;if(!(+p[S>>2]>-f*A))break;p[S>>2]=-f*A;break}}while(0);p[S>>2]=+p[t+700>>2]*+p[S>>2]}},function(t,e){e|=0;var i,o=0,r=0,s=0,c=0,a=0,l=0;if(i=Q,Q=Q+48|0,(0|_[136+(t|=0)>>2])<=0)Q=i;else{o=0;do{l=0|_[t+144>>2],_[i+32>>2]=0|n[l+(284*o|0)+84|0]?0:1065353216,_[i+32+4>>2]=0,_[i+32+8>>2]=1065353216,p[i+32+12>>2]=0,a=l+(284*o|0)+140|0,_[i+16>>2]=_[a>>2],_[i+16+4>>2]=_[a+4>>2],_[i+16+8>>2]=_[a+8>>2],_[i+16+12>>2]=_[a+12>>2],a=0|_[t+120>>2],r=0|_[8+(0|_[e>>2])>>2],c=+p[l+(284*o|0)+108+(a<<2)>>2]+ +p[i+16+4>>2],s=+p[l+(284*o|0)+124+(a<<2)>>2]+ +p[i+16+8>>2],p[i>>2]=+p[l+(284*o|0)+92+(a<<2)>>2]+ +p[i+16>>2],p[i+4>>2]=c,p[i+8>>2]=s,p[i+12>>2]=0,pd[127&r](e,i+16|0,i,i+32|0),pd[127&_[8+(0|_[e>>2])>>2]](e,i+16|0,(0|_[t+144>>2])+(284*o|0)+16|0,i+32|0),o=o+1|0}while((0|o)<(0|_[t+136>>2]));Q=i}},_a,function(t,e){e|=0;var i,o,r=0,s=0,c=0;n[171+(t|=0)|0]=1,_[t+60>>2]=_[e>>2],_[t+60+4>>2]=_[e+4>>2],_[t+60+8>>2]=_[e+8>>2],_[t+60+12>>2]=_[e+12>>2],r=+p[t+60>>2],s=+p[t+64>>2],i=+p[t+68>>2],o=1/+b(+(r*r+s*s+i*i)),+b(+(i*o*(i*o)+(r*o*(r*o)+s*o*(s*o))))<1.1920928955078125e-7?(c=0,s=0,r=0,e=0):(c=r*o,s*=o,r=i*o,e=0|_[t+72>>2]),p[t+76>>2]=c,p[t+80>>2]=s,p[t+84>>2]=r,_[t+88>>2]=e},function(t,e){e|=0;var i=0,o=0,r=0;if(p[16+(t|=0)>>2]=0,p[t+20>>2]=0,n[t+168|0]=0,n[t+169|0]=0,p[t+172>>2]=0,_[t+60>>2]=0,_[t+60+4>>2]=0,_[t+60+8>>2]=0,_[t+60+12>>2]=0,t=0|_[284+(0|_[t+8>>2])>>2],i=4+(0|Gl[127&_[28+(0|_[t>>2])>>2]](t))|0,!((0|_[i>>2])<=0))do{o=0|_[t>>2],r=0|_[o+12>>2],o=12+(0|Gl[127&_[o+28>>2]](t))|0,o=0|_[_[o>>2]>>2],i=12+(0|Gl[127&_[28+(0|_[t>>2])>>2]](t))|0,Hl[31&r](t,o,0|_[4+(0|_[i>>2])>>2],0|_[e+24>>2]),i=4+(0|Gl[127&_[28+(0|_[t>>2])>>2]](t))|0}while((0|_[i>>2])>0)},function(t,e){var i;t|=0,e|=0,i=Q,Q=Q+16|0,_[i>>2]=_[e>>2],_[i+4>>2]=_[e+4>>2],_[i+8>>2]=_[e+8>>2],_[i+12>>2]=_[e+12>>2],e=0|_[t+8>>2],_[e+260>>2]=1+(0|_[e+260>>2]),_[e+4>>2]=1065353216,_[e+8>>2]=0,_[e+8+4>>2]=0,_[e+8+8>>2]=0,_[e+8+12>>2]=0,_[e+24>>2]=1065353216,_[e+28>>2]=0,_[e+28+4>>2]=0,_[e+28+8>>2]=0,_[e+28+12>>2]=0,_[e+44>>2]=1065353216,_[e+48>>2]=0,_[e+52>>2]=_[i>>2],_[e+52+4>>2]=_[i+4>>2],_[e+52+8>>2]=_[i+8>>2],_[e+52+12>>2]=_[i+12>>2],Q=i},function(t,e){e|=0;var i=0;n[148+(t|=0)|0]=0;t:do{if(0|xe(t,e))for(i=0;;){if(n[t+148|0]=1,i>>>0>3)break t;if(!(0|xe(t,e)))break;i=i+1|0}}while(0);e=52+(0|_[t+8>>2])|0,_[t+92>>2]=_[e>>2],_[t+92+4>>2]=_[e+4>>2],_[t+92+8>>2]=_[e+8>>2],_[t+92+12>>2]=_[e+12>>2],Do(t+112|0,0|e,16)},function(t,e){e|=0,n[180+(t|=0)|0]=1&e},function(t,e){t|=0,e|=0;var i,n,o,r=0;if(_[6605]=(0|_[6605])-1,ed[127&_[20+(0|_[t>>2])>>2]](t,e),n=0|_[e+768>>2],i=(0|_[t+12>>2])-1|0,r=0|_[t+20>>2],o=0|_[r+(n<<2)>>2],_[r+(n<<2)>>2]=_[r+(i<<2)>>2],_[(0|_[t+20>>2])+(i<<2)>>2]=o,_[768+(0|_[(0|_[t+20>>2])+(n<<2)>>2])>>2]=n,_[t+12>>2]=i,t=0|_[t+68>>2],e){if((r=0|_[t+16>>2])>>>0<=e>>>0&&(r+(0|g(0|_[t>>2],0|_[t+4>>2]))|0)>>>0>e>>>0)return _[e>>2]=_[t+12>>2],_[t+12>>2]=e,void(_[t+8>>2]=1+(0|_[t+8>>2]));_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])}},function(t,e){_[748+(e|=0)>>2]=0},function(t,e){var i;if(e|=0,t=0|_[64+(t|=0)>>2],e){if((i=0|_[t+16>>2])>>>0<=e>>>0&&(i+(0|g(0|_[t>>2],0|_[t+4>>2]))|0)>>>0>e>>>0)return _[e>>2]=_[t+12>>2],_[t+12>>2]=e,void(_[t+8>>2]=1+(0|_[t+8>>2]));_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])}},function(t,e){t|=0;var i,n,o=0,r=0,s=0,p=0,c=0,a=0;if(!((0|(n=0|_[8+(e|=0)>>2]))<=0)){i=0|_[e+16>>2],a=0,e=0;do{if(c=0|_[i+(a<<2)>>2],3&_[c+204>>2])_[c+208>>2]=-1,_[c+212>>2]=-2;else{if(p=0|_[t+16>>2],(0|(r=0|_[(o=p+(e<<3)|0)>>2]))!=(0|e)){if(_[o>>2]=_[p+(r<<3)>>2],(0|(o=0|_[p+(r<<3)>>2]))!=(0|(r=0|_[p+(o<<3)>>2]))){s=p+(o<<3)|0;do{o=p+(r<<3)|0,_[s>>2]=_[o>>2],o=0|_[o>>2],r=0|_[(s=p+(o<<3)|0)>>2]}while((0|o)!=(0|r))}}else o=e;_[c+208>>2]=o,_[p+(e<<3)+4>>2]=a,_[c+212>>2]=-1,e=e+1|0}a=a+1|0}while((0|a)!=(0|n))}},qi,function(t,e){e|=0;var i=0,o=0,r=0,s=0;if(i=0|_[76+(t|=0)>>2]){if((0|(o=0|_[e+4>>2]))==(0|_[e+8>>2])&&(0|o)<(0|(s=0|o?o<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(i=0|di(16+(s<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,o=0|_[e+4>>2]):i=0,(0|o)>0){r=0;do{_[i+(r<<2)>>2]=_[(0|_[e+12>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|o))}(r=0|_[e+12>>2])&&(0|n[e+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),o=0|_[e+4>>2]),_[e+12>>2]=0),n[e+16|0]=1,_[e+12>>2]=i,_[e+8>>2]=s,i=0|_[t+76>>2]}_[(0|_[e+12>>2])+(o<<2)>>2]=i,_[e+4>>2]=o+1}},qi,hn,function(t,e){t|=0,Xl[511&_[32+(0|_[(e|=0)>>2])>>2]](e),Vi(t,e),Xl[511&_[36+(0|_[e>>2])>>2]](e)},function(t,e){st(t|=0,0|_[36+(e|=0)>>2])},qi,function(t,e){e|=0;var i=0,o=0,r=0,s=0;if((i=0|_[20+(t|=0)>>2])&&0|n[t+16|0]){if((0|(o=0|_[e+4>>2]))==(0|_[e+8>>2])&&(0|o)<(0|(s=0|o?o<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(i=0|di(16+(s<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,o=0|_[e+4>>2]):i=0,(0|o)>0){r=0;do{_[i+(r<<2)>>2]=_[(0|_[e+12>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|o))}(r=0|_[e+12>>2])&&(0|n[e+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),o=0|_[e+4>>2]),_[e+12>>2]=0),n[e+16|0]=1,_[e+12>>2]=i,_[e+8>>2]=s,i=0|_[t+20>>2]}_[(0|_[e+12>>2])+(o<<2)>>2]=i,_[e+4>>2]=o+1}},function(t,e){e|=0;var i=0,n=0,o=0;if(!((0|(i=0|_[12+(t|=0)>>2]))<=0)){o=0;do{(n=0|_[(0|_[t+20>>2])+(o<<2)>>2])&&(ed[127&_[16+(0|_[n>>2])>>2]](n,e),i=0|_[t+12>>2]),o=o+1|0}while((0|o)<(0|i))}},function(t,e){t|=0,e=0|_[36+(e|=0)>>2],ii(t,0|_[(0|_[24+(0|_[4+(0|_[t+4>>2])>>2])>>2])+(80*e|0)+64>>2],e)},function(t,e){e|=0;var i,n=0,o=0;if(i=0|_[8+(t|=0)>>2],!((0|(t=0|_[i+8>>2]))<=0)){o=0;do{(n=0|_[(0|_[i+16>>2])+(12*o|0)+8>>2])&&(ed[127&_[16+(0|_[n>>2])>>2]](n,e),t=0|_[i+8>>2]),o=o+1|0}while((0|o)<(0|t))}},function(t,e){e|=0;var i,n,o,r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0;if(r=Q,Q=Q+144|0,(0|_[16+(t|=0)>>2])<=0)return _[(A=t+76|0)>>2]=_[e>>2],_[A+4>>2]=_[e+4>>2],_[A+8>>2]=_[e+8>>2],_[A+12>>2]=_[e+12>>2],A=0|_[t>>2],A=0|_[(A=A+68|0)>>2],Xl[511&A](t),void(Q=r);i=r+16+16|0,n=r+16+32|0,o=r+16+48|0,d=0;do{if(b=(A=0|_[t+24>>2])+(80*d|0)|0,_[r+16>>2]=_[b>>2],_[r+16+4>>2]=_[b+4>>2],_[r+16+8>>2]=_[b+8>>2],_[r+16+12>>2]=_[b+12>>2],b=A+(80*d|0)+16|0,_[i>>2]=_[b>>2],_[i+4>>2]=_[b+4>>2],_[i+8>>2]=_[b+8>>2],_[i+12>>2]=_[b+12>>2],b=A+(80*d|0)+32|0,_[n>>2]=_[b>>2],_[n+4>>2]=_[b+4>>2],_[n+8>>2]=_[b+8>>2],_[n+12>>2]=_[b+12>>2],b=A+(80*d|0)+48|0,_[o>>2]=_[b>>2],_[o+4>>2]=_[b+4>>2],_[o+8>>2]=_[b+8>>2],_[o+12>>2]=_[b+12>>2],A=0|_[A+(80*d|0)+64>>2],A=0|Gl[127&_[28+(0|_[A>>2])>>2]](A),_[r>>2]=_[A>>2],_[r+4>>2]=_[A+4>>2],_[r+8>>2]=_[A+8>>2],f=+p[r+4>>2]*+p[e+4>>2]/+p[t+80>>2],u=+p[r+8>>2]*+p[e+8>>2]/+p[t+84>>2],p[r>>2]=+p[r>>2]*+p[e>>2]/+p[t+76>>2],p[r+4>>2]=f,p[r+8>>2]=u,p[r+12>>2]=0,A=0|_[(0|_[t+24>>2])+(80*d|0)+64>>2],ed[127&_[24+(0|_[A>>2])>>2]](A,r),u=+p[r+16+52>>2]*+p[e+4>>2]/+p[t+80>>2],f=+p[r+16+56>>2]*+p[e+8>>2]/+p[t+84>>2],p[r+16+48>>2]=+p[o>>2]*+p[e>>2]/+p[t+76>>2],p[r+16+52>>2]=u,p[r+16+56>>2]=f,p[r+16+60>>2]=0,A=0|_[t+24>>2],_[(b=A+(80*d|0)|0)>>2]=_[r+16>>2],_[b+4>>2]=_[r+16+4>>2],_[b+8>>2]=_[r+16+8>>2],_[b+12>>2]=_[r+16+12>>2],_[(b=A+(80*d|0)+16|0)>>2]=_[i>>2],_[b+4>>2]=_[i+4>>2],_[b+8>>2]=_[i+8>>2],_[b+12>>2]=_[i+12>>2],_[(b=A+(80*d|0)+32|0)>>2]=_[n>>2],_[b+4>>2]=_[n+4>>2],_[b+8>>2]=_[n+8>>2],_[b+12>>2]=_[n+12>>2],_[(A=A+(80*d|0)+48|0)>>2]=_[o>>2],_[A+4>>2]=_[o+4>>2],_[A+8>>2]=_[o+8>>2],_[A+12>>2]=_[o+12>>2],0|_[t+64>>2]){b=0|_[(0|_[t+24>>2])+(80*d|0)+64>>2],pd[127&_[8+(0|_[b>>2])>>2]](b,r+16|0,r+128|0,r+112|0),_[r+80>>2]=_[r+128>>2],_[r+80+4>>2]=_[r+128+4>>2],_[r+80+8>>2]=_[r+128+8>>2],_[r+80+12>>2]=_[r+128+12>>2],_[r+80+16>>2]=_[r+112>>2],_[r+80+16+4>>2]=_[r+112+4>>2],_[r+80+16+8>>2]=_[r+112+8>>2],_[r+80+16+12>>2]=_[r+112+12>>2],s=0|Tt(b=0|_[t+64>>2],A=0|_[(0|_[t+24>>2])+(80*d|0)+76>>2]);t:do{if(s){if((0|(l=0|_[b+8>>2]))<=-1){s=0|_[b>>2];break}if(l)for(c=0;;){if(c=c+1|0,!(a=0|_[s+32>>2]))break t;if((0|c)>=(0|l)){s=a;break}s=a}}else s=0}while(0);_[A>>2]=_[r+80>>2],_[A+4>>2]=_[r+80+4>>2],_[A+8>>2]=_[r+80+8>>2],_[A+12>>2]=_[r+80+12>>2],_[A+16>>2]=_[r+80+16>>2],_[A+20>>2]=_[r+80+20>>2],_[A+24>>2]=_[r+80+24>>2],_[A+28>>2]=_[r+80+28>>2],U(b,s,A)}d=d+1|0}while((0|d)<(0|_[t+16>>2]));_[(A=t+76|0)>>2]=_[e>>2],_[A+4>>2]=_[e+4>>2],_[A+8>>2]=_[e+8>>2],_[A+12>>2]=_[e+12>>2],A=0|_[t>>2],A=0|_[(A=A+68|0)>>2],Xl[511&A](t),Q=r},function(t,e){e|=0;var i=0,n=0;if(_[68+(t|=0)>>2]=1+(0|_[t+68>>2]),(0|(i=0|_[t+16>>2]))>0)do{n=i,i=i+-1|0,(0|_[(0|_[t+24>>2])+(80*i|0)+64>>2])==(0|e)&&Qe(t,i)}while((0|n)>1);Xl[511&_[68+(0|_[t>>2])>>2]](t)},function(t,e){e|=0;var i,n,o,r,s=0,c=0;r=0|_[68+(t|=0)>>2],o=0|_[t+64>>2],n=0|_[t+72>>2],s=+p[t+60>>2]*(+p[e+(r<<2)>>2]/+p[t+12+(r<<2)>>2]),p[t+60>>2]=s,c=+p[t+56>>2]*(.5*(+p[e+(o<<2)>>2]/+p[t+12+(o<<2)>>2]+ +p[e+(n<<2)>>2]/+p[t+12+(n<<2)>>2])),p[t+56>>2]=c,c/=+b(+(s*s+c*c)),p[t+52>>2]=c,c=+d(+ +p[e>>2]),s=+d(+ +p[e+4>>2]),i=+d(+ +p[e+8>>2]),p[t+12>>2]=c,p[t+16>>2]=s,p[t+20>>2]=i,p[t+24>>2]=0},function(t,e){_[(t|=0)>>2]=0,_[t+4>>2]=1065353216,_[t+8>>2]=0,p[t+12>>2]=0},function(t,e){_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=1065353216,p[t+12>>2]=0},function(t,e){_[(t|=0)>>2]=1065353216,_[t+4>>2]=0,_[t+8>>2]=0,p[t+12>>2]=0},function(t,e){e|=0;var i,o,r,s,c=0;s=0|Gl[127&_[28+(0|_[(t|=0)>>2])>>2]](t),(r=+p[s>>2]-+p[e>>2])*r+(o=+p[s+4>>2]-+p[e+4>>2])*o+(i=+p[s+8>>2]-+p[e+8>>2])*i>1.1920928955078125e-7&&(Wt(t,e),0|n[t+61|0]&&(c=0|_[t+52>>2],Xl[511&_[_[c>>2]>>2]](c),0|(c=0|_[t+52>>2]))?(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),c=t+52|0):c=t+52|0,_[6630]=1+(0|_[6630]),(e=0|di(191))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,_[e+52>>2]=282,n[e+60|0]=0,n[e+80|0]=1,_[e+76>>2]=0,_[e+68>>2]=0,_[e+72>>2]=0,n[e+100|0]=1,_[e+96>>2]=0,_[e+88>>2]=0,_[e+92>>2]=0,n[e+120|0]=1,_[e+116>>2]=0,_[e+108>>2]=0,_[e+112>>2]=0,n[e+140|0]=1,_[e+136>>2]=0,_[e+128>>2]=0,_[e+132>>2]=0,_[e+144>>2]=0,n[e+164|0]=1,_[e+160>>2]=0,_[e+152>>2]=0,_[e+156>>2]=0,_[e+168>>2]=0,_[e+4>>2]=-8388609,_[e+8>>2]=-8388609,_[e+12>>2]=-8388609,p[e+16>>2]=0,_[e+20>>2]=2139095039,_[e+24>>2]=2139095039,_[e+28>>2]=2139095039,p[e+32>>2]=0,_[e>>2]=8976,_[c>>2]=e,xi(e,0|_[t+48>>2],!!(0|n[t+60|0]),t+16|0,t+32|0),n[t+61|0]=1)},function(t,e){e|=0;var i=0,n=0;(i=0|_[52+(t|=0)>>2])&&(n=0|Gl[127&_[12+(0|_[i>>2])>>2]](i),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,n,1),i=0|_[t+52>>2],i=0|El[63&_[16+(0|_[i>>2])>>2]](i,0|_[n+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,n,i,1213612625,0|_[t+52>>2]))},function(t,e){e|=0;var i=0,n=0;(i=0|_[56+(t|=0)>>2])&&(n=0|Gl[127&_[8+(0|_[i>>2])>>2]](i),n=0|El[63&_[16+(0|_[e>>2])>>2]](e,n,1),i=0|_[t+56>>2],i=0|El[63&_[12+(0|_[i>>2])>>2]](i,0|_[n+8>>2],e),dd[31&_[20+(0|_[e>>2])>>2]](e,n,i,1346456916,0|_[t+56>>2]))},Wt,__,function(t,e){e|=0,_[12+(t|=0)>>2]=_[e>>2],_[t+12+4>>2]=_[e+4>>2],_[t+12+8>>2]=_[e+8>>2],_[t+12+12>>2]=_[e+12>>2],nn(t)},Sn,m_,function(t,e){var i;e|=0,i=4+(0|_[92+(t|=0)>>2])|0,_[i>>2]=_[e>>2],_[i+4>>2]=_[e+4>>2],_[i+8>>2]=_[e+8>>2],_[i+12>>2]=_[e+12>>2],nn(t)},Sn,function(t,e){e|=0;var i,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0;i=Q,Q=Q+64|0,_[20+(t|=0)>>2]=_[e+16>>2],_[t+24>>2]=_[e+20>>2],_[t+28>>2]=_[e+24>>2],_[t+32>>2]=_[e+28>>2],_[t+4>>2]=_[e>>2],_[t+8>>2]=_[e+4>>2],_[t+12>>2]=_[e+8>>2],_[t+16>>2]=_[e+12>>2],_[t+36>>2]=_[e+32>>2],_[t+40>>2]=_[e+36>>2],_[t+44>>2]=_[e+40>>2],_[t+48>>2]=_[e+44>>2],_[t+56>>2]=_[e+48>>2],n[t+60|0]=1&!!(0|_[e+52>>2]),b=0|_[e+56>>2],l=(c=i)+64|0;do{_[c>>2]=0,c=c+4|0}while((0|c)<(0|l));if((0|(d=0|_[t+88>>2]))<(0|b)){if((0|_[t+92>>2])<(0|b)){if(b?(_[6630]=1+(0|_[6630]),(r=0|di(b<<6|19))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,p=0|_[t+88>>2]):(r=0,p=d),(0|p)>0){s=0;do{c=r+(s<<6)|0,a=(0|_[t+96>>2])+(s<<6)|0,l=c+64|0;do{_[c>>2]=_[a>>2],c=c+4|0,a=a+4|0}while((0|c)<(0|l));s=s+1|0}while((0|s)!=(0|p))}0|(s=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=r,_[t+92>>2]=b,s=t+96|0}else s=t+96|0;r=d;do{a=i,l=64+(c=(0|_[s>>2])+(r<<6)|0)|0;do{_[c>>2]=_[a>>2],c=c+4|0,a=a+4|0}while((0|c)<(0|l));r=r+1|0}while((0|r)!=(0|b))}if(_[t+88>>2]=b,(0|b)>0)for(p=0|_[t+96>>2],r=0|_[e+64>>2],s=0;_[p+(s<<6)+16>>2]=_[r+16>>2],_[p+(s<<6)+20>>2]=_[r+20>>2],_[p+(s<<6)+24>>2]=_[r+24>>2],_[p+(s<<6)+28>>2]=_[r+28>>2],_[p+(s<<6)>>2]=_[r>>2],_[p+(s<<6)+4>>2]=_[r+4>>2],_[p+(s<<6)+8>>2]=_[r+8>>2],_[p+(s<<6)+12>>2]=_[r+12>>2],_[p+(s<<6)+32>>2]=_[r+32>>2],_[p+(s<<6)+36>>2]=_[r+36>>2],_[p+(s<<6)+40>>2]=_[r+40>>2],(0|(s=s+1|0))!=(0|b);)r=r+48|0;if(a=0|_[e+60>>2],_[i>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,(0|(c=0|_[t+128>>2]))<(0|a)){if((0|_[t+132>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(r=0|di(16+(a<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,p=0|_[t+128>>2]):(r=0,p=c),(0|p)>0){s=0;do{b=r+(s<<4)|0,d=(0|_[t+136>>2])+(s<<4)|0,_[b>>2]=_[d>>2],_[b+4>>2]=_[d+4>>2],_[b+8>>2]=_[d+8>>2],_[b+12>>2]=_[d+12>>2],s=s+1|0}while((0|s)!=(0|p))}0|(s=0|_[t+136>>2])&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+136>>2]=0),n[t+140|0]=1,_[t+136>>2]=r,_[t+132>>2]=a,s=t+136|0}else s=t+136|0;r=c;do{b=(0|_[s>>2])+(r<<4)|0,_[b>>2]=_[i>>2],_[b+4>>2]=_[i+4>>2],_[b+8>>2]=_[i+8>>2],_[b+12>>2]=_[i+12>>2],r=r+1|0}while((0|r)!=(0|a))}if(_[t+128>>2]=a,(0|a)>0)for(p=0|_[t+136>>2],r=0,s=0|_[e+68>>2];_[p+(r<<4)+12>>2]=_[s+12>>2],o[p+(r<<4)+6>>1]=0|o[s+6>>1],o[p+(r<<4)+8>>1]=0|o[s+8>>1],o[p+(r<<4)+10>>1]=0|o[s+10>>1],o[p+(r<<4)>>1]=0|o[s>>1],o[p+(r<<4)+2>>1]=0|o[s+2>>1],o[p+(r<<4)+4>>1]=0|o[s+4>>1],(0|(r=r+1|0))!=(0|a);)s=s+16|0;if(_[t+144>>2]=_[e+76>>2],a=0|_[e+80>>2],(0|(c=0|_[t+152>>2]))<(0|a)){if((0|_[t+156>>2])<(0|a)){if(a?(_[6630]=1+(0|_[6630]),(r=0|di(a<<5|19))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,p=0|_[t+152>>2]):(r=0,p=c),(0|p)>0){s=0;do{b=r+(s<<5)|0,d=(0|_[t+160>>2])+(s<<5)|0,_[b>>2]=_[d>>2],_[b+4>>2]=_[d+4>>2],_[b+8>>2]=_[d+8>>2],_[b+12>>2]=_[d+12>>2],_[b+16>>2]=_[d+16>>2],_[b+20>>2]=_[d+20>>2],_[b+24>>2]=_[d+24>>2],_[b+28>>2]=_[d+28>>2],s=s+1|0}while((0|s)!=(0|p))}0|(s=0|_[t+160>>2])&&(0|n[t+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+160>>2]=0),n[t+164|0]=1,_[t+160>>2]=r,_[t+156>>2]=a,s=t+160|0}else s=t+160|0;r=c;do{b=(0|_[s>>2])+(r<<5)|0,_[b>>2]=_[i>>2],_[b+4>>2]=_[i+4>>2],_[b+8>>2]=_[i+8>>2],_[b+12>>2]=_[i+12>>2],_[b+16>>2]=_[i+16>>2],_[b+20>>2]=_[i+20>>2],_[b+24>>2]=_[i+24>>2],_[b+28>>2]=_[i+28>>2],r=r+1|0}while((0|r)!=(0|a))}if(_[t+152>>2]=a,(0|a)<=0)Q=i;else{for(p=0|_[t+160>>2],s=0,r=0|_[e+72>>2];o[p+(s<<5)+6>>1]=0|o[r+14>>1],o[p+(s<<5)+8>>1]=0|o[r+16>>1],o[p+(s<<5)+10>>1]=0|o[r+18>>1],o[p+(s<<5)>>1]=0|o[r+8>>1],o[p+(s<<5)+2>>1]=0|o[r+10>>1],o[p+(s<<5)+4>>1]=0|o[r+12>>1],_[p+(s<<5)+12>>2]=_[r>>2],_[p+(s<<5)+16>>2]=_[r+4>>2],(0|(s=s+1|0))!=(0|a);)r=r+20|0;Q=i}},function(t,e){e|=0;var i,r=0,s=0,a=0,l=0,d=0,b=0,A=0,f=0;i=Q,Q=Q+64|0,p[20+(t|=0)>>2]=+c[e+32>>3],p[t+24>>2]=+c[e+40>>3],p[t+28>>2]=+c[e+48>>3],p[t+32>>2]=+c[e+56>>3],p[t+4>>2]=+c[e>>3],p[t+8>>2]=+c[e+8>>3],p[t+12>>2]=+c[e+16>>3],p[t+16>>2]=+c[e+24>>3],p[t+36>>2]=+c[e+64>>3],p[t+40>>2]=+c[e+72>>3],p[t+44>>2]=+c[e+80>>3],p[t+48>>2]=+c[e+88>>3],_[t+56>>2]=_[e+96>>2],n[t+60|0]=1&!!(0|_[e+100>>2]),f=0|_[e+104>>2],b=(l=i)+64|0;do{_[l>>2]=0,l=l+4|0}while((0|l)<(0|b));if((0|(A=0|_[t+88>>2]))<(0|f)){if((0|_[t+92>>2])<(0|f)){if(f?(_[6630]=1+(0|_[6630]),(r=0|di(f<<6|19))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,a=0|_[t+88>>2]):(r=0,a=A),(0|a)>0){s=0;do{l=r+(s<<6)|0,d=(0|_[t+96>>2])+(s<<6)|0,b=l+64|0;do{_[l>>2]=_[d>>2],l=l+4|0,d=d+4|0}while((0|l)<(0|b));s=s+1|0}while((0|s)!=(0|a))}0|(s=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=r,_[t+92>>2]=f,s=t+96|0}else s=t+96|0;r=A;do{d=i,b=64+(l=(0|_[s>>2])+(r<<6)|0)|0;do{_[l>>2]=_[d>>2],l=l+4|0,d=d+4|0}while((0|l)<(0|b));r=r+1|0}while((0|r)!=(0|f))}if(_[t+88>>2]=f,(0|f)>0)for(a=0|_[t+96>>2],r=0|_[e+112>>2],s=0;p[a+(s<<6)+16>>2]=+c[r+32>>3],p[a+(s<<6)+20>>2]=+c[r+40>>3],p[a+(s<<6)+24>>2]=+c[r+48>>3],p[a+(s<<6)+28>>2]=+c[r+56>>3],p[a+(s<<6)>>2]=+c[r>>3],p[a+(s<<6)+4>>2]=+c[r+8>>3],p[a+(s<<6)+8>>2]=+c[r+16>>3],p[a+(s<<6)+12>>2]=+c[r+24>>3],_[a+(s<<6)+32>>2]=_[r+64>>2],_[a+(s<<6)+36>>2]=_[r+68>>2],_[a+(s<<6)+40>>2]=_[r+72>>2],(0|(s=s+1|0))!=(0|f);)r=r+80|0;if(d=0|_[e+108>>2],_[i>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,(0|(l=0|_[t+128>>2]))<(0|d)){if((0|_[t+132>>2])<(0|d)){if(d?(_[6630]=1+(0|_[6630]),(r=0|di(16+(d<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,a=0|_[t+128>>2]):(r=0,a=l),(0|a)>0){s=0;do{f=r+(s<<4)|0,A=(0|_[t+136>>2])+(s<<4)|0,_[f>>2]=_[A>>2],_[f+4>>2]=_[A+4>>2],_[f+8>>2]=_[A+8>>2],_[f+12>>2]=_[A+12>>2],s=s+1|0}while((0|s)!=(0|a))}0|(s=0|_[t+136>>2])&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+136>>2]=0),n[t+140|0]=1,_[t+136>>2]=r,_[t+132>>2]=d,s=t+136|0}else s=t+136|0;r=l;do{f=(0|_[s>>2])+(r<<4)|0,_[f>>2]=_[i>>2],_[f+4>>2]=_[i+4>>2],_[f+8>>2]=_[i+8>>2],_[f+12>>2]=_[i+12>>2],r=r+1|0}while((0|r)!=(0|d))}if(_[t+128>>2]=d,(0|d)>0)for(a=0|_[t+136>>2],r=0,s=0|_[e+116>>2];_[a+(r<<4)+12>>2]=_[s+12>>2],o[a+(r<<4)+6>>1]=0|o[s+6>>1],o[a+(r<<4)+8>>1]=0|o[s+8>>1],o[a+(r<<4)+10>>1]=0|o[s+10>>1],o[a+(r<<4)>>1]=0|o[s>>1],o[a+(r<<4)+2>>1]=0|o[s+2>>1],o[a+(r<<4)+4>>1]=0|o[s+4>>1],(0|(r=r+1|0))!=(0|d);)s=s+16|0;if(_[t+144>>2]=_[e+120>>2],d=0|_[e+124>>2],(0|(l=0|_[t+152>>2]))<(0|d)){if((0|_[t+156>>2])<(0|d)){if(d?(_[6630]=1+(0|_[6630]),(r=0|di(d<<5|19))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,a=0|_[t+152>>2]):(r=0,a=l),(0|a)>0){s=0;do{f=r+(s<<5)|0,A=(0|_[t+160>>2])+(s<<5)|0,_[f>>2]=_[A>>2],_[f+4>>2]=_[A+4>>2],_[f+8>>2]=_[A+8>>2],_[f+12>>2]=_[A+12>>2],_[f+16>>2]=_[A+16>>2],_[f+20>>2]=_[A+20>>2],_[f+24>>2]=_[A+24>>2],_[f+28>>2]=_[A+28>>2],s=s+1|0}while((0|s)!=(0|a))}0|(s=0|_[t+160>>2])&&(0|n[t+164|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+160>>2]=0),n[t+164|0]=1,_[t+160>>2]=r,_[t+156>>2]=d,s=t+160|0}else s=t+160|0;r=l;do{f=(0|_[s>>2])+(r<<5)|0,_[f>>2]=_[i>>2],_[f+4>>2]=_[i+4>>2],_[f+8>>2]=_[i+8>>2],_[f+12>>2]=_[i+12>>2],_[f+16>>2]=_[i+16>>2],_[f+20>>2]=_[i+20>>2],_[f+24>>2]=_[i+24>>2],_[f+28>>2]=_[i+28>>2],r=r+1|0}while((0|r)!=(0|d))}if(_[t+152>>2]=d,(0|d)<=0)Q=i;else{for(a=0|_[t+160>>2],s=0,r=0|_[e+128>>2];o[a+(s<<5)+6>>1]=0|o[r+14>>1],o[a+(s<<5)+8>>1]=0|o[r+16>>1],o[a+(s<<5)+10>>1]=0|o[r+18>>1],o[a+(s<<5)>>1]=0|o[r+8>>1],o[a+(s<<5)+2>>1]=0|o[r+10>>1],o[a+(s<<5)+4>>1]=0|o[r+12>>1],_[a+(s<<5)+12>>2]=_[r>>2],_[a+(s<<5)+16>>2]=_[r+4>>2],(0|(s=s+1|0))!=(0|d);)r=r+20|0;Q=i}},function(t,e){e|=0,_[108+(t|=0)>>2]=_[e>>2],_[t+108+4>>2]=_[e+4>>2],_[t+108+8>>2]=_[e+8>>2],_[t+108+12>>2]=_[e+12>>2]},Sn,m_,_a,_a,function(t,e){e|=0;var i=0,o=0,r=0,s=0,p=0;if(0|n[165+(t|=0)|0]){if((0|_[t+92>>2])>=(0|e))return;if(0|e&&(_[6630]=1+(0|_[6630]),0|(i=0|di(16+(e<<4|3)|0)))?(_[(i+4+15&-16)-4>>2]=i,r=i+4+15&-16):r=0,(0|(o=0|_[t+88>>2]))>0){i=0;do{p=r+(i<<4)|0,s=(0|_[t+96>>2])+(i<<4)|0,_[p>>2]=_[s>>2],_[p+4>>2]=_[s+4>>2],_[p+8>>2]=_[s+8>>2],_[p+12>>2]=_[s+12>>2],i=i+1|0}while((0|i)!=(0|o))}return 0|(i=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=r,void(_[t+92>>2]=e)}if(!((0|_[t+112>>2])>=(0|e))){if(0|e&&(_[6630]=1+(0|_[6630]),0|(o=0|di(16+(e<<2|3)|0)))?(_[(o+4+15&-16)-4>>2]=o,s=o+4+15&-16):s=0,o=0|_[t+108>>2],r=0|_[t+116>>2],(0|o)<=0)r?p=23:i=t+120|0;else{i=0;do{_[s+(i<<2)>>2]=_[r+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|o));p=23}23==(0|p)&&(0|n[t+120|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+116>>2]=0,i=t+120|0),n[0|i]=1,_[t+116>>2]=s,_[t+112>>2]=e}},function(t,e){e|=0;var i=0,r=0,s=0,p=0,c=0;if(0|n[164+(t|=0)|0]){if((0|_[t+132>>2])>=(0|e))return;if(0|e&&(_[6630]=1+(0|_[6630]),0|(i=0|di(16+(e<<2|3)|0)))?(_[(i+4+15&-16)-4>>2]=i,p=i+4+15&-16):p=0,r=0|_[t+128>>2],s=0|_[t+136>>2],(0|r)<=0)s?c=11:i=t+140|0;else{i=0;do{_[p+(i<<2)>>2]=_[s+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|r));c=11}return 11==(0|c)&&(0|n[t+140|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+136>>2]=0,i=t+140|0),n[0|i]=1,_[t+136>>2]=p,void(_[t+132>>2]=e)}if(!((0|_[t+152>>2])>=(0|e))){if(0|e&&(_[6630]=1+(0|_[6630]),0|(r=0|di(19+(e<<1)|0)))?(_[(r+4+15&-16)-4>>2]=r,p=r+4+15&-16):p=0,r=0|_[t+148>>2],s=0|_[t+156>>2],(0|r)<=0)s?c=24:i=t+160|0;else{i=0;do{o[p+(i<<1)>>1]=0|o[s+(i<<1)>>1],i=i+1|0}while((0|i)!=(0|r));c=24}return 24==(0|c)&&(0|n[t+160|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+156>>2]=0,i=t+160|0),n[0|i]=1,_[t+156>>2]=p,void(_[t+152>>2]=e)}},function(t,e){e|=0;var i=0,o=0,r=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;if(A=0|_[92+(t|=0)>>2],0|Gl[127&_[56+(0|_[A>>2])>>2]](A)){if(A=0|_[t+92>>2],A=0|Gl[127&_[28+(0|_[A>>2])>>2]](A),(0|(i=0|_[A+4>>2]))>1?(He(A,0,i+-1|0),c=0|_[A+4>>2]):c=i,i=c-(d=0|_[t+104>>2])|0,(0|d)<0){if((0|_[A+8>>2])<(0|i)){if(i?(_[6630]=1+(0|_[6630]),(o=0|di(16+(i<<4|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,p=0|_[A+4>>2]):(o=0,p=c),(0|p)>0){r=0;do{d=0|_[A+12>>2],_[o+(r<<4)>>2]=_[d+(r<<4)>>2],_[o+(r<<4)+4>>2]=_[d+(r<<4)+4>>2],_[o+(r<<4)+8>>2]=_[d+(r<<4)+8>>2],_[o+(r<<4)+12>>2]=_[d+(r<<4)+12>>2],r=r+1|0}while((0|r)!=(0|p))}0|(r=0|_[A+12>>2])&&(0|n[A+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[A+12>>2]=0),n[A+16|0]=1,_[A+12>>2]=o,_[A+8>>2]=i,r=A+12|0}else r=A+12|0;o=c;do{d=(0|_[r>>2])+(o<<4)|0,o=o+1|0,_[d>>2]=0,_[d+4>>2]=0,_[d+8>>2]=0,_[d+12>>2]=0}while((0|o)!=(0|i))}if(_[A+4>>2]=i,_[t+104>>2]=0,(0|i)>0){l=0,d=0,o=0,r=0;do{a=0|_[A+12>>2],f=d,(0|(d=0|_[(c=a+(l<<4)|0)>>2]))==(0|f)&(0|(p=0|_[(a=a+(l<<4)+4|0)>>2]))==(0|o)?(i=o,b=30):(o=d+48|0,(0|s[(f=d+54|0)>>1])>=(0|s[p+48>>1])&&(0|s[p+54>>1])>=(0|s[o>>1])&&(0|s[f+2>>1])>=(0|s[p+48+2>>1])&&(0|s[p+54+2>>1])>=(0|s[o+2>>1])&&(0|s[f+4>>1])>=(0|s[p+52>>1])&&(0|s[p+54+4>>1])>=(0|s[d+52>>1])?o=p:(i=p,b=30)),30==(0|b)&&(b=0,r=0|_[t+92>>2],_d[127&_[32+(0|_[r>>2])>>2]](r,c,e),_[c>>2]=0,_[a>>2]=0,r=1+(0|_[t+104>>2])|0,_[t+104>>2]=r,_[6606]=(0|_[6606])-1,o=i,i=0|_[A+4>>2]),l=l+1|0}while((0|l)<(0|i));if((0|i)>1?(He(A,0,i+-1|0),r=0|_[t+104>>2],o=0|_[A+4>>2]):o=i,i=o-r|0,(0|r)<0){if((0|_[A+8>>2])<(0|i)){if(i?(_[6630]=1+(0|_[6630]),(r=0|di(16+(i<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,c=0|_[A+4>>2]):(r=0,c=o),(0|c)>0){p=0;do{f=0|_[A+12>>2],_[r+(p<<4)>>2]=_[f+(p<<4)>>2],_[r+(p<<4)+4>>2]=_[f+(p<<4)+4>>2],_[r+(p<<4)+8>>2]=_[f+(p<<4)+8>>2],_[r+(p<<4)+12>>2]=_[f+(p<<4)+12>>2],p=p+1|0}while((0|p)!=(0|c))}0|(p=0|_[A+12>>2])&&(0|n[A+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[p+-4>>2])),_[A+12>>2]=0),n[A+16|0]=1,_[A+12>>2]=r,_[A+8>>2]=i}do{f=(0|_[A+12>>2])+(o<<4)|0,o=o+1|0,_[f>>2]=0,_[f+4>>2]=0,_[f+8>>2]=0,_[f+12>>2]=0}while((0|o)!=(0|i))}}_[A+4>>2]=i,_[t+104>>2]=0}},function(t,e){e|=0;var i,n=0;if(!(0|o[56+(t|=0)>>1])){if(o[t+64>>1]=1,e=0|o[t+58>>1],i=0|_[t+60>>2],(65535&e)>1){n=1;do{e=n,n=n+1|0,o[i+(e<<6)+48>>1]=n,e=0|s[t+58>>1]}while(n>>>0>>0)}else e&=65535;o[i+(e+-1<<6)+48>>1]=0}},_a,_a,_a,function(t,e){e|=0,_[24+(t|=0)>>2]=e},ap,function(t,e){t|=0,e|=0;var i,o=0,r=0,s=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;if(i=Q,Q=Q+32|0,n[i+16|0]=1,_[i+12>>2]=0,_[i+4>>2]=0,_[i+8>>2]=0,(0|_[t+8>>2])>0){for(d=0,s=0,p=0,o=0,r=0;;){if(A=(b=0|_[t+16>>2])+(d<<4)|0,(0|s)==(0|r))if((0|r)<(0|(l=0|r?r<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(o=0|di(16+(l<<4|3)|0))?(_[(o+4+15&-16)-4>>2]=o,p=o+4+15&-16,r=s):(p=0,r=s)):p=0,(0|r)>0){o=0;do{a=0|_[i+12>>2],_[p+(o<<4)>>2]=_[a+(o<<4)>>2],_[p+(o<<4)+4>>2]=_[a+(o<<4)+4>>2],_[p+(o<<4)+8>>2]=_[a+(o<<4)+8>>2],_[p+(o<<4)+12>>2]=_[a+(o<<4)+12>>2],o=o+1|0}while((0|o)!=(0|r))}(o=0|_[i+12>>2])?(0|n[i+16|0]?(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])):s=r,_[i+12>>2]=0):s=r,n[i+16|0]=1,_[i+12>>2]=p,a=l,c=s,o=l}else a=r,c=r;else a=r,c=s;if(_[p+(c<<4)>>2]=_[A>>2],_[p+(c<<4)+4>>2]=_[b+(d<<4)+4>>2],_[p+(c<<4)+8>>2]=_[b+(d<<4)+8>>2],_[p+(c<<4)+12>>2]=_[b+(d<<4)+12>>2],s=c+1|0,(0|(d=d+1|0))>=(0|_[t+8>>2]))break;r=a}if(_[i+4>>2]=s,_[i+8>>2]=o,(0|c)>-1)for(r=0|_[i+12>>2],o=0;Hl[31&_[12+(0|_[t>>2])>>2]](t,0|_[r+(o<<4)>>2],0|_[r+(o<<4)+4>>2],e),(0|o)<(0|c);)o=o+1|0}else s=0;if((0|_[t+56>>2])>0){r=0|_[t+64>>2],o=0;do{_[r+(o<<2)>>2]=-1,o=o+1|0}while((0|o)<(0|_[t+56>>2]))}if((0|s)<=1)if((0|s)<=0){if(!(o=0|_[i+12>>2]))return void(Q=i)}else f=26;else He(i,0,s+-1|0),f=26;if(26==(0|f)){o=0|_[i+12>>2],r=0;do{El[63&_[8+(0|_[t>>2])>>2]](t,0|_[o+(r<<4)>>2],0|_[o+(r<<4)+4>>2]),r=r+1|0}while((0|r)<(0|s))}_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),_[i+12>>2]=0,Q=i},function(t,e){e|=0;var i,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;if(i=Q,Q=Q+32|0,dt(4+(t|=0)|0,1+((0|g(0|_[t+152>>2],0|_[t+16>>2]))/100|0)|0),0|_[t+164>>2]&&(dt(t+64|0,f=1+((0|g(0|_[t+148>>2],0|_[t+76>>2]))/100|0)|0),f=(0|_[t+164>>2])-f|0,_[t+164>>2]=(0|f)>0?f:0),r=(1+(0|_[t+144>>2])|0)%2|0,_[t+144>>2]=r,0|(r=0|_[t+124+(r<<2)>>2])){do{if(d=r,r=0|_[(a=r+56|0)>>2],s=(s=0|_[d+52>>2])?s+56|0:t+124+(_[d+60>>2]<<2)|0,_[s>>2]=r,0|(s=0|_[a>>2])&&(_[s+52>>2]=_[d+52>>2]),_[d+52>>2]=0,_[a>>2]=_[t+132>>2],0|(s=0|_[t+132>>2])&&(_[s+52>>2]=d),_[t+132>>2]=d,Tt(t+4|0,s=0|_[d+48>>2]),0|(a=0|_[t+8>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+8>>2]=s,_[t+16>>2]=(0|_[t+16>>2])-1,_[i>>2]=_[d+16>>2],_[i+4>>2]=_[d+16+4>>2],_[i+8>>2]=_[d+16+8>>2],_[i+12>>2]=_[d+16+12>>2],_[i+16>>2]=_[d+32>>2],_[i+16+4>>2]=_[d+32+4>>2],_[i+16+8>>2]=_[d+32+8>>2],_[i+16+12>>2]=_[d+32+12>>2],s=0|_[t+68>>2])_[t+68>>2]=0;else{_[6630]=1+(0|_[6630]),(s=0|di(63))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,l=(a=s)+44|0;do{_[a>>2]=0,a=a+4|0}while((0|a)<(0|l))}_[s+32>>2]=0,_[s+36>>2]=d,_[s+40>>2]=0,_[s>>2]=_[i>>2],_[s+4>>2]=_[i+4>>2],_[s+8>>2]=_[i+8>>2],_[s+12>>2]=_[i+12>>2],_[s+16>>2]=_[i+16>>2],_[s+20>>2]=_[i+20>>2],_[s+24>>2]=_[i+24>>2],_[s+28>>2]=_[i+28>>2],U(t+64|0,0|_[t+64>>2],s),a=1+(0|_[t+76>>2])|0,_[t+76>>2]=a,_[d+48>>2]=s,_[d+60>>2]=2}while(0|r);_[t+164>>2]=a,n[t+194|0]=1}if(_[i>>2]=9900,_[i+4>>2]=t,0|n[t+193|0]&&(Le(t+4|0,0|_[t+4>>2],0|_[t+64>>2],i),0|n[t+193|0])&&Le(t+4|0,f=0|_[t+4>>2],f,i),0|n[t+194|0]&&(b=0|_[t+136>>2],b=0|Gl[127&_[28+(0|_[b>>2])>>2]](b),(0|(o=0|_[b+4>>2]))>0)){if(r=(0|g(0|_[t+156>>2],o))/100|0,(0|(r=(0|o)<(0|(r=(0|(f=0|_[t+160>>2]))>(0|r)?f:r))?o:r))>0){s=0;do{l=((0|_[t+184>>2])+s|0)%(0|o)|0,A=0|_[b+12>>2],a=0|_[A+(l<<4)>>2],l=0|_[A+(l<<4)+4>>2],A=0|_[a+48>>2],f=0|_[l+48>>2],+p[A>>2]<=+p[f+16>>2]&&+p[A+16>>2]>=+p[f>>2]&&+p[A+4>>2]<=+p[f+20>>2]&&+p[A+20>>2]>=+p[f+4>>2]&&+p[A+8>>2]<=+p[f+24>>2]&&+p[A+24>>2]>=+p[f+8>>2]||(o=0|_[t+136>>2],Hl[31&_[12+(0|_[o>>2])>>2]](o,a,l,e),s=s+-1|0,r=r+-1|0,o=0|_[b+4>>2]),s=s+1|0}while((0|s)<(0|r));(0|o)>0?u=37:o=0}else u=37;37==(0|u)&&(o=((0|_[t+184>>2])+r|0)%(0|o)|0),_[t+184>>2]=o}if(_[t+180>>2]=1+(0|_[t+180>>2]),_[t+160>>2]=1,n[t+194|0]=0,r=0|_[t+168>>2],o=0|_[t+172>>2],c=r?+(o>>>0)/+(r>>>0):0,p[t+176>>2]=c,_[t+172>>2]=o>>>1,_[t+168>>2]=r>>>1,f=0|_[t+136>>2],0|Gl[127&_[56+(0|_[f>>2])>>2]](f)){if(f=0|_[t+136>>2],f=0|Gl[127&_[28+(0|_[f>>2])>>2]](f),(0|(o=0|_[f+4>>2]))>1&&(He(f,0,o+-1|0),o=0|_[f+4>>2]),(0|o)>0){for(b=0,d=0,A=0,r=0;a=0|_[f+12>>2],m=A,(0|(A=0|_[(s=a+(b<<4)|0)>>2]))==(0|m)&(0|(l=0|_[(a=a+(b<<4)+4|0)>>2]))==(0|r)?u=53:(r=0|_[A+48>>2],m=0|_[l+48>>2],+p[r>>2]<=+p[m+16>>2]&&+p[r+16>>2]>=+p[m>>2]&&+p[r+4>>2]<=+p[m+20>>2]&&+p[r+20>>2]>=+p[m+4>>2]&&+p[r+8>>2]<=+p[m+24>>2]&&+p[r+24>>2]>=+p[m+8>>2]?(s=d,r=l):(r=l,u=53)),53==(0|u)&&(u=0,o=0|_[t+136>>2],_d[127&_[32+(0|_[o>>2])>>2]](o,s,e),_[s>>2]=0,_[a>>2]=0,s=d+1|0,o=0|_[f+4>>2]),!((0|(b=b+1|0))>=(0|o));)d=s;if((0|o)>1&&(He(f,0,o+-1|0),o=0|_[f+4>>2]),l=o-s|0,(0|s)<0){if((0|_[f+8>>2])<(0|l)){if(l?(_[6630]=1+(0|_[6630]),(r=0|di(16+(l<<4|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,a=0|_[f+4>>2]):(r=0,a=o),(0|a)>0){s=0;do{m=0|_[f+12>>2],_[r+(s<<4)>>2]=_[m+(s<<4)>>2],_[r+(s<<4)+4>>2]=_[m+(s<<4)+4>>2],_[r+(s<<4)+8>>2]=_[m+(s<<4)+8>>2],_[r+(s<<4)+12>>2]=_[m+(s<<4)+12>>2],s=s+1|0}while((0|s)!=(0|a))}0|(s=0|_[f+12>>2])&&(0|n[f+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[f+12>>2]=0),n[f+16|0]=1,_[f+12>>2]=r,_[f+8>>2]=l}do{m=(0|_[f+12>>2])+(o<<4)|0,o=o+1|0,_[m>>2]=0,_[m+4>>2]=0,_[m+8>>2]=0,_[m+12>>2]=0}while((0|o)!=(0|l));o=l}else o=l}_[f+4>>2]=o,Q=i}else Q=i},function(t,e){e|=0,(0|_[16+(t|=0)>>2])==(0-(0|_[t+76>>2])|0)&&(0|(e=0|_[t+4>>2])&&Yn(t+4|0,e),0|(e=0|_[t+8>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+8>>2]=0,_[t+12>>2]=-1,0|(e=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,_[t+20>>2]=0,0|(e=0|_[t+64>>2])&&Yn(t+64|0,e),0|(e=0|_[t+68>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+68>>2]=0,_[t+72>>2]=-1,0|(e=0|_[t+96>>2])&&(0|n[t+100|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+96>>2]=0),n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,_[t+80>>2]=0,n[t+193|0]=0,n[t+194|0]=1,_[t+144>>2]=0,_[t+164>>2]=0,_[t+148>>2]=1,_[t+152>>2]=0,_[t+156>>2]=10,_[t+160>>2]=1,_[t+124>>2]=0,_[t+124+4>>2]=0,_[t+124+8>>2]=0,_[t+168>>2]=0,_[t+168+4>>2]=0,_[t+168+8>>2]=0,_[t+168+12>>2]=0,_[t+168+16>>2]=0,_[t+168+20>>2]=0)},function(t,e){e|=0,_d[127&_[8+(0|_[(t|=0)>>2])>>2]](t,e,0|_[48+(0|_[t+8>>2])>>2])},X_,X_,_a,qi,_a,_a,Al,Al,Al,Al,Al,Al,Al,Al],id=[Xa,function(t,e,i){t|=0,e|=0,i=+i;var n,o,r=0;n=Q,Q=Q+288|0,p[n+280>>2]=i,r=0|Ya(e),_[n+264>>2]=_[r>>2],_[n+264+4>>2]=_[r+4>>2],_[n+264+8>>2]=_[r+8>>2],_[n+264+12>>2]=_[r+12>>2],r=0|_[8+(0|_[t>>2])>>2],o=0|Cl(e),p[n+212>>2]=0,p[n+208>>2]=0,R_(n+216|0,n+280|0,n+212|0,n+208|0),Fn(n+232|0,o,+p[n+216>>2],+p[n+216+4>>2],+p[n+216+8>>2]),Bo(n+248|0,+p[n+264>>2],+p[n+264+4>>2],+p[n+264+8>>2],+p[n+232>>2],+p[n+232+4>>2],+p[n+232+8>>2]),p[n+184>>2]=.699999988079071,p[n+180>>2]=0,p[n+176>>2]=0,R_(n+192|0,n+184|0,n+180|0,n+176|0),pd[127&r](t,n+264|0,n+248|0,n+192|0),e=0|_[8+(0|_[t>>2])>>2],p[n+124>>2]=0,p[n+120>>2]=0,R_(n+128|0,n+124|0,n+280|0,n+120|0),Fn(n+144|0,o,+p[n+128>>2],+p[n+128+4>>2],+p[n+128+8>>2]),Bo(n+160|0,+p[n+264>>2],+p[n+264+4>>2],+p[n+264+8>>2],+p[n+144>>2],+p[n+144+4>>2],+p[n+144+8>>2]),p[n+96>>2]=0,p[n+92>>2]=.699999988079071,p[n+88>>2]=0,R_(n+104|0,n+96|0,n+92|0,n+88|0),pd[127&e](t,n+264|0,n+160|0,n+104|0),e=0|_[8+(0|_[t>>2])>>2],p[n+36>>2]=0,p[n+32>>2]=0,R_(n+40|0,n+36|0,n+32|0,n+280|0),Fn(n+56|0,o,+p[n+40>>2],+p[n+40+4>>2],+p[n+40+8>>2]),Bo(n+72|0,+p[n+264>>2],+p[n+264+4>>2],+p[n+264+8>>2],+p[n+56>>2],+p[n+56+4>>2],+p[n+56+8>>2]),p[n+8>>2]=0,p[n+4>>2]=0,p[n>>2]=.699999988079071,R_(n+16|0,n+8|0,n+4|0,n),pd[127&e](t,n+264|0,n+72|0,n+16|0),Q=n},function(t,e,i){e|=0,i=+i,ed[127&_[12+(0|_[(t|=0)>>2])>>2]](t,e)},function(t,e,i){i=+i,zl[31&_[16+(0|_[(t|=0)>>2])>>2]](t,i)},function(t,e,i){e|=0,i=+i,ed[127&_[32+(0|_[(t|=0)>>2])>>2]](t,e),id[7&_[36+(0|_[t>>2])>>2]](t,e,i)},function(t,e,i){e|=0,i=+i;var o,r,s=0,c=0,a=0;n[171+(t|=0)|0]=0,_[t+60>>2]=_[e>>2],_[t+60+4>>2]=_[e+4>>2],_[t+60+8>>2]=_[e+8>>2],_[t+60+12>>2]=_[e+12>>2],s=+p[t+60>>2],c=+p[t+64>>2],o=+p[t+68>>2],r=1/+b(+(s*s+c*c+o*o)),+b(+(o*r*(o*r)+(s*r*(s*r)+c*r*(c*r))))<1.1920928955078125e-7?(a=0,c=0,s=0,e=0):(a=s*r,c*=r,s=o*r,e=0|_[t+72>>2]),p[t+76>>2]=a,p[t+80>>2]=c,p[t+84>>2]=s,_[t+88>>2]=e,p[t+172>>2]=+p[t+172>>2]+i},function(t,e,i){e|=0,i=+i;var r,s=0,c=0,a=0,l=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0;if(r=Q,Q=Q+528|0,0|n[171+(t|=0)|0]||!(+p[t+172>>2]<=0)){if(u=1&Gl[127&_[48+(0|_[t>>2])>>2]](t),n[t+168|0]=u,c=+p[t+16>>2]-+p[t+44>>2]*i,p[t+16>>2]=c,c>0&&c>(a=+p[t+28>>2])&&(p[t+16>>2]=a,c=a),c<0&&(h=+d(+c))>(l=+d(+ +p[t+24>>2]))&&(p[t+16>>2]=-l,c=-l),p[t+20>>2]=c*i,u=0|_[t+8>>2],_[r>>2]=_[u+4>>2],_[r+4>>2]=_[u+4+4>>2],_[r+8>>2]=_[u+4+8>>2],_[r+12>>2]=_[u+4+12>>2],_[r+16>>2]=_[u+20>>2],_[r+16+4>>2]=_[u+20+4>>2],_[r+16+8>>2]=_[u+20+8>>2],_[r+16+12>>2]=_[u+20+12>>2],_[r+32>>2]=_[u+36>>2],_[r+32+4>>2]=_[u+36+4>>2],_[r+32+8>>2]=_[u+36+8>>2],_[r+32+12>>2]=_[u+36+12>>2],_[r+48>>2]=_[u+52>>2],_[r+48+4>>2]=_[u+52+4>>2],_[r+48+8>>2]=_[u+52+8>>2],_[r+48+12>>2]=_[u+52+12>>2],!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),u=0|_[t+176>>2],l=+p[t+20>>2],l=+p[t+52>>2]+(l>0?l:0),m=+p[22208+(u<<4)+4>>2]*l+ +p[t+96>>2],h=l*+p[22208+(u<<4)+8>>2]+ +p[t+100>>2],p[t+112>>2]=+p[t+92>>2]+ +p[22208+(u<<4)>>2]*l,p[t+116>>2]=m,p[t+120>>2]=h,p[t+124>>2]=0,_[r+456>>2]=1065353216,_[r+456+4>>2]=0,_[r+456+4+4>>2]=0,_[r+456+4+8>>2]=0,_[r+456+4+12>>2]=0,_[r+456+20>>2]=1065353216,_[r+456+24>>2]=0,_[r+456+24+4>>2]=0,_[r+456+24+8>>2]=0,_[r+456+24+12>>2]=0,_[r+456+40>>2]=1065353216,_[(u=r+456+44|0)>>2]=0,_[u+4>>2]=0,_[u+8>>2]=0,_[u+12>>2]=0,_[u+16>>2]=0,_[r+392>>2]=1065353216,_[r+392+4>>2]=0,_[r+392+4+4>>2]=0,_[r+392+4+8>>2]=0,_[r+392+4+12>>2]=0,_[r+392+20>>2]=1065353216,_[r+392+24>>2]=0,_[r+392+24+4>>2]=0,_[r+392+24+8>>2]=0,_[r+392+24+12>>2]=0,_[r+392+40>>2]=1065353216,_[(u=r+392+44|0)>>2]=0,_[u+4>>2]=0,_[u+8>>2]=0,_[u+12>>2]=0,_[u+16>>2]=0,!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),s=0|_[t+176>>2],u=0|_[t+12>>2],l=+Il[15&_[48+(0|_[u>>2])>>2]](u),m=(l+=+p[t+56>>2])*+p[22208+(s<<4)+4>>2]+ +p[t+96>>2],h=l*+p[22208+(s<<4)+8>>2]+ +p[t+100>>2],p[r+456+48>>2]=+p[22208+(s<<4)>>2]*l+ +p[t+92>>2],p[r+456+52>>2]=m,p[r+456+56>>2]=h,p[r+456+60>>2]=0,_[r+392+48>>2]=_[t+112>>2],_[r+392+48+4>>2]=_[t+112+4>>2],_[r+392+48+8>>2]=_[t+112+8>>2],_[r+392+48+12>>2]=_[t+112+12>>2],s=0|_[t+8>>2],!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),u=0|_[t+176>>2],l=-+p[22208+(u<<4)>>2],m=-+p[22208+(u<<4)+4>>2],h=-+p[22208+(u<<4)+8>>2],p[r+288+4>>2]=1,u=r+288+12|0,_[r+288+76>>2]=0,_[u>>2]=0,_[u+4>>2]=0,_[u+8>>2]=0,_[u+12>>2]=0,_[u+16>>2]=0,_[u+20>>2]=0,_[u+24>>2]=0,_[u+28>>2]=0,_[r+288>>2]=5836,_[r+288+80>>2]=s,p[r+288+84>>2]=l,p[r+288+88>>2]=m,p[r+288+92>>2]=h,p[r+288+96>>2]=0,p[r+288+100>>2]=.707099974155426,s=0|_[t+8>>2],u=0|_[s+188>>2],o[r+288+8>>1]=0|o[u+4>>1],o[r+288+10>>1]=0|o[u+6>>1],0|n[t+170|0]?Mi(s,0|_[t+12>>2],r+456|0,r+392|0,r+288|0,+p[e+56>>2]):we(e,0|_[t+12>>2],r+456|0,r+392|0,r+288|0,0),+p[r+288+4>>2]<1){!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),u=0|_[t+176>>2];do{if(+p[r+288+44>>2]*+p[22208+(u<<4)>>2]+ +p[r+288+48>>2]*+p[22208+(u<<4)+4>>2]+ +p[r+288+52>>2]*+p[22208+(u<<4)+8>>2]>0){if(c=+p[r+288+4>>2],p[t+108>>2]=+p[t+52>>2]*c,0|n[t+180|0]){p[t+92>>2]=(1-c)*+p[t+92>>2]+c*+p[t+112>>2],p[t+96>>2]=(1-c)*+p[t+96>>2]+c*+p[t+116>>2],p[t+100>>2]=(1-c)*+p[t+100>>2]+c*+p[t+120>>2];break}_[t+92>>2]=_[t+112>>2],_[t+92+4>>2]=_[t+112+4>>2],_[t+92+8>>2]=_[t+112+8>>2],_[t+92+12>>2]=_[t+112+12>>2];break}}while(0);p[t+16>>2]=0,p[t+20>>2]=0}else _[t+108>>2]=_[t+52>>2],_[t+92>>2]=_[t+112>>2],_[t+92+4>>2]=_[t+112+4>>2],_[t+92+8>>2]=_[t+112+8>>2],_[t+92+12>>2]=_[t+112+12>>2];0|n[t+171|0]?Te(t,e,+p[t+60>>2],+p[t+64>>2],+p[t+68>>2]):(h=(m=+p[t+172>>2])>i?i:m,p[t+172>>2]=m-i,Te(t,e,h*+p[t+60>>2],h*+p[t+64>>2],h*+p[t+68>>2])),_[r+272>>2]=_[t+112>>2],_[r+272+4>>2]=_[t+112+4>>2],_[r+272+8>>2]=_[t+112+8>>2],_[r+272+12>>2]=_[t+112+12>>2],c=((c=+p[t+16>>2])<0?-c:0)*i;do{if(c>0&&c>(A=+p[t+24>>2])){if(!(0|n[t+168|0])&&0|n[t+169|0])break;c=A}}while(0);for(!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),s=0|_[t+176>>2],h=c+ +p[t+108>>2],A=+p[22208+(s<<4)>>2]*h,m=h*+p[22208+(s<<4)+4>>2],h*=+p[22208+(s<<4)+8>>2],p[t+112>>2]=+p[t+112>>2]-A,p[t+116>>2]=+p[t+116>>2]-m,p[t+120>>2]=+p[t+120>>2]-h,s=0|_[t+8>>2],!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),b=22208+(_[t+176>>2]<<4)|0,f=0|_[t+40>>2],p[(u=r+168+4|0)>>2]=1,g=r+168+12|0,_[r+168+76>>2]=0,_[g>>2]=0,_[g+4>>2]=0,_[g+8>>2]=0,_[g+12>>2]=0,_[g+16>>2]=0,_[g+20>>2]=0,_[g+24>>2]=0,_[g+28>>2]=0,_[r+168>>2]=5836,_[r+168+80>>2]=s,_[r+168+84>>2]=_[b>>2],_[r+168+84+4>>2]=_[b+4>>2],_[r+168+84+8>>2]=_[b+8>>2],_[r+168+84+12>>2]=_[b+12>>2],_[r+168+100>>2]=f,s=0|_[t+8>>2],f=0|_[s+188>>2],o[r+168+8>>1]=0|o[f+4>>1],o[r+168+10>>1]=0|o[f+6>>1],!(0|n[24512])&&0|Qs(24512)&&(_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0),f=22208+(_[t+176>>2]<<4)|0,g=0|_[t+40>>2],p[r+64+4>>2]=1,b=r+64+12|0,_[r+64+76>>2]=0,_[b>>2]=0,_[b+4>>2]=0,_[b+8>>2]=0,_[b+12>>2]=0,_[b+16>>2]=0,_[b+20>>2]=0,_[b+24>>2]=0,_[b+28>>2]=0,_[r+64>>2]=5836,_[r+64+80>>2]=s,_[r+64+84>>2]=_[f>>2],_[r+64+84+4>>2]=_[f+4>>2],_[r+64+84+8>>2]=_[f+8>>2],_[r+64+84+12>>2]=_[f+12>>2],_[r+64+100>>2]=g,s=0|_[188+(0|_[t+8>>2])>>2],o[r+64+8>>1]=0|o[s+4>>1],o[r+64+10>>1]=0|o[s+6>>1],s=0,c=+p[t+112>>2],a=+p[t+116>>2],l=+p[t+120>>2];_[r+456>>2]=1065353216,_[r+456+4>>2]=0,_[r+456+4+4>>2]=0,_[r+456+4+8>>2]=0,_[r+456+4+12>>2]=0,_[r+456+20>>2]=1065353216,_[r+456+24>>2]=0,_[r+456+24+4>>2]=0,_[r+456+24+8>>2]=0,_[r+456+24+12>>2]=0,_[r+456+40>>2]=1065353216,_[r+456+44>>2]=0,_[r+392>>2]=1065353216,_[r+392+4>>2]=0,_[r+392+4+4>>2]=0,_[r+392+4+8>>2]=0,_[r+392+4+12>>2]=0,_[r+392+20>>2]=1065353216,_[r+392+24>>2]=0,_[r+392+24+4>>2]=0,_[r+392+24+8>>2]=0,_[r+392+24+12>>2]=0,_[r+392+40>>2]=1065353216,_[r+392+44>>2]=0,_[r+288>>2]=1065353216,_[r+288+4>>2]=0,_[r+288+4+4>>2]=0,_[r+288+4+8>>2]=0,_[r+288+4+12>>2]=0,_[r+288+20>>2]=1065353216,_[r+288+24>>2]=0,_[r+288+24+4>>2]=0,_[r+288+24+8>>2]=0,_[r+288+24+12>>2]=0,_[r+288+40>>2]=1065353216,_[r+288+44>>2]=0,_[r+456+48>>2]=_[t+92>>2],_[r+456+48+4>>2]=_[t+92+4>>2],_[r+456+48+8>>2]=_[t+92+8>>2],_[r+456+48+12>>2]=_[t+92+12>>2],_[r+392+48>>2]=_[t+112>>2],_[r+392+48+4>>2]=_[t+112+4>>2],_[r+392+48+8>>2]=_[t+112+8>>2],_[r+392+48+12>>2]=_[t+112+12>>2],p[r+288+48>>2]=c-A,p[r+288+52>>2]=a-m,p[r+288+56>>2]=l-h,p[r+288+60>>2]=0,0|n[t+170|0]?(Mi(0|_[t+8>>2],0|_[t+12>>2],r+456|0,r+392|0,r+168|0,+p[e+56>>2]),+p[u>>2]<1||Mi(0|_[t+8>>2],0|_[t+12>>2],r+456|0,r+288|0,r+64|0,+p[e+56>>2])):(we(e,0|_[t+12>>2],r+456|0,r+392|0,r+168|0,+p[e+56>>2]),+p[u>>2]<1||we(e,0|_[t+12>>2],r+456|0,r+288|0,r+64|0,+p[e+56>>2])),a=((a=+p[t+16>>2])<0?-a:0)*i,b=!(f=!(0|n[t+182|0]))&&+p[u>>2]<1?1:+p[r+64+4>>2]<1,a>0&&!(s|!(a<(c=+p[t+52>>2]))|1^b);){if(!(0|n[t+168|0])&&0|n[t+169|0]){s=0;break}_[t+112>>2]=_[r+272>>2],_[t+112+4>>2]=_[r+272+4>>2],_[t+112+8>>2]=_[r+272+8>>2],_[t+112+12>>2]=_[r+272+12>>2];do{if(!(0|n[24512])){if(!(0|Qs(24512)))break;_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0}}while(0);s=0|_[t+176>>2],a=(c+=+p[t+108>>2])*+p[22208+(s<<4)+4>>2],l=c*+p[22208+(s<<4)+8>>2],c=+p[t+112>>2]-+p[22208+(s<<4)>>2]*c,p[t+112>>2]=c,a=+p[t+116>>2]-a,p[t+116>>2]=a,l=+p[t+120>>2]-l,p[t+120>>2]=l,s=1}if(s|(l=+p[u>>2])<1){a=.5*((c=+p[t+96>>2])-+p[r+168+64>>2]);do{if(!f){if(0|n[t+181|0]){p[t+92>>2]=(1-l)*+p[t+92>>2]+l*+p[t+112>>2],p[t+96>>2]=c*(1-l)+l*+p[t+116>>2],p[t+100>>2]=(1-l)*+p[t+100>>2]+l*+p[t+120>>2],s=t+181|0;break}p[t+92>>2]=(1-a)*+p[t+92>>2]+a*+p[t+112>>2],p[t+96>>2]=c*(1-a)+a*+p[t+116>>2],p[t+100>>2]=(1-a)*+p[t+100>>2]+a*+p[t+120>>2],s=t+181|0;break}p[t+92>>2]=(1-l)*+p[t+92>>2]+l*+p[t+112>>2],p[t+96>>2]=c*(1-l)+l*+p[t+116>>2],p[t+100>>2]=(1-l)*+p[t+100>>2]+l*+p[t+120>>2],s=t+181|0}while(0);n[0|s]=0,p[t+16>>2]=0,p[t+20>>2]=0,n[t+169|0]=0}else{n[t+181|0]=1;do{if(!f&&a>(y=+p[t+24>>2])){if(!(0|n[t+168|0])&&0|n[t+169|0])break;p[t+112>>2]=A+ +p[t+112>>2],p[t+116>>2]=m+ +p[t+116>>2],p[t+120>>2]=h+ +p[t+120>>2];do{if(!(0|n[24512])){if(!(0|Qs(24512)))break;_[5552]=1065353216,_[5553]=0,_[5554]=0,_[5555]=0,_[5556]=0,_[5557]=1065353216,_[5558]=0,_[5559]=0,_[5560]=0,_[5561]=0,_[5562]=1065353216,p[5563]=0}}while(0);g=0|_[t+176>>2],i=(h=y+ +p[t+108>>2])*+p[22208+(g<<4)+4>>2],y=h*+p[22208+(g<<4)+8>>2],p[t+112>>2]=+p[t+112>>2]-+p[22208+(g<<4)>>2]*h,p[t+116>>2]=+p[t+116>>2]-i,p[t+120>>2]=+p[t+120>>2]-y}}while(0);_[t+92>>2]=_[t+112>>2],_[t+92+4>>2]=_[t+112+4>>2],_[t+92+8>>2]=_[t+112+8>>2],_[t+92+12>>2]=_[t+112+12>>2]}_[r+48>>2]=_[t+92>>2],_[r+48+4>>2]=_[t+92+4>>2],_[r+48+8>>2]=_[t+92+8>>2],_[r+48+12>>2]=_[t+92+12>>2],g=0|_[t+8>>2],_[g+260>>2]=1+(0|_[g+260>>2]),_[g+4>>2]=_[r>>2],_[g+4+4>>2]=_[r+4>>2],_[g+4+8>>2]=_[r+8>>2],_[g+4+12>>2]=_[r+12>>2],_[g+20>>2]=_[r+16>>2],_[g+20+4>>2]=_[r+16+4>>2],_[g+20+8>>2]=_[r+16+8>>2],_[g+20+12>>2]=_[r+16+12>>2],_[g+36>>2]=_[r+32>>2],_[g+36+4>>2]=_[r+32+4>>2],_[g+36+8>>2]=_[r+32+8>>2],_[g+36+12>>2]=_[r+32+12>>2],_[g+52>>2]=_[r+48>>2],_[g+52+4>>2]=_[r+48+4>>2],_[g+52+8>>2]=_[r+48+8>>2],_[g+52+12>>2]=_[r+48+12>>2],Q=r}else Q=r},Xa],nd=[function(t,e,i,n){i=+i,v(28)},function(t,e,i,n){var o;t|=0,e|=0,i=+i,n|=0,o=Q,Q=Q+64|0,Ho(o),p_(o,e),td[1&_[16+(0|_[t>>2])>>2]](t,i,o,n),Q=o},function(t,e,i,n){i=+i},function(t,e,i,n){if(t|=0,e|=0,i=+i,(n|=0)>>>0<3)switch(0|e){case 2:return p[t+756+(n<<2)>>2]=i,void(_[t+1304>>2]=_[t+1304>>2]|4<<3*n);case 4:return p[t+772+(n<<2)>>2]=i,void(_[t+1304>>2]=_[t+1304>>2]|2<<3*n);case 3:return p[t+740+(n<<2)>>2]=i,void(_[t+1304>>2]=_[t+1304>>2]|1<<3*n);default:return}if(!((n+-3|0)>>>0>=3))switch(0|e){case 2:return p[t+868+(n+-3<<6)+32>>2]=i,void(_[t+1304>>2]=_[t+1304>>2]|4<<3*n);case 4:return p[t+868+(n+-3<<6)+36>>2]=i,void(_[t+1304>>2]=_[t+1304>>2]|2<<3*n);case 3:return p[t+868+(n+-3<<6)+28>>2]=i,void(_[t+1304>>2]=_[t+1304>>2]|1<<3*n);default:return}},function(t,e,i,n){if(t|=0,e|=0,i=+i,-1==(0|(n|=0)))switch(0|e){case 2:case 1:return p[t+336>>2]=i,void(_[t+332>>2]=1|_[t+332>>2]);case 4:case 3:return p[t+340>>2]=i,void(_[t+332>>2]=2|_[t+332>>2]);default:return}},function(t,e,i,n){switch(t|=0,i=+i,n|=0,0|(e|=0)){case 2:if((0|n)<1)return p[t+232>>2]=i,void(_[t+300>>2]=512|_[t+300>>2]);if((0|n)<3)return p[t+264>>2]=i,void(_[t+300>>2]=32|_[t+300>>2]);if(3==(0|n))return p[t+248>>2]=i,void(_[t+300>>2]=2048|_[t+300>>2]);if((0|n)>=6)return;return p[t+280>>2]=i,void(_[t+300>>2]=128|_[t+300>>2]);case 3:if((0|n)<1)return p[t+212>>2]=i,void(_[t+300>>2]=1|_[t+300>>2]);if(3!=(0|n))return;return p[t+228>>2]=i,void(_[t+300>>2]=4|_[t+300>>2]);case 4:if((0|n)<1)return p[t+244>>2]=i,void(_[t+300>>2]=256|_[t+300>>2]);if((0|n)<3)return p[t+276>>2]=i,void(_[t+300>>2]=16|_[t+300>>2]);if(3==(0|n))return p[t+260>>2]=i,void(_[t+300>>2]=1024|_[t+300>>2]);if((0|n)>=6)return;return p[t+292>>2]=i,void(_[t+300>>2]=64|_[t+300>>2]);default:return}},function(t,e,i,n){switch(t|=0,i=+i,n|=0,0|(e|=0)){case 2:case 1:return n>>>0<3?(p[t+600>>2]=i,void(_[t+592>>2]=2|_[t+592>>2])):void(p[t+432>>2]=i);case 4:case 3:return n>>>0<3?(p[t+596>>2]=i,void(_[t+592>>2]=1|_[t+592>>2])):(p[t+604>>2]=i,void(_[t+592>>2]=4|_[t+592>>2]));default:return}},function(t,e,i,n){switch(t|=0,e|=0,i=+i,0|(n|=0)){case 5:case-1:break;default:return}switch(0|e){case 2:return p[t+760>>2]=i,void(_[t+748>>2]=2|_[t+748>>2]);case 4:return p[t+756>>2]=i,void(_[t+748>>2]=1|_[t+748>>2]);case 3:return p[t+752>>2]=i,void(_[t+748>>2]=4|_[t+748>>2]);default:return}}],od=[function(t,e,i,n,o){i=+i,v(29)},function(t,e,i,n,o){var r,s,c;t|=0,i=+i,n|=0,o|=0,r=Q,Q=Q+240|0,Vo(r+224|0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2],i),function(t,e,i){e|=0,i|=0;var n=0,o=0,_=0,r=0;t=0|Cl(t|=0),+function(t){return+ +d(+(t=+t))}(n=+p[t+8>>2])>.7071067690849304?(o=1/+ll((_=+p[t+4>>2])*_+n*n),e=0|Cl(e),p[e>>2]=0,p[e+4>>2]=-+p[t+8>>2]*o,p[e+8>>2]=+p[t+4>>2]*o,i=0|Cl(i),p[i>>2]=(_*_+n*n)*o,p[i+4>>2]=-+p[t>>2]*+p[e+8>>2],p[i+8>>2]=+p[t>>2]*+p[e+4>>2]):(_=1/+ll((n=+p[t>>2])*n+(o=+p[t+4>>2])*o),e=0|Cl(e),p[e>>2]=-o*_,r=+p[t>>2]*_,p[e+4>>2]=r,p[e+8>>2]=0,r=-+p[t+8>>2]*r,i=0|Cl(i),p[i>>2]=r,p[i+4>>2]=+p[t+8>>2]*+p[e>>2],p[i+8>>2]=(n*n+o*o)*_)}(e,r+208|0,r+192|0),Vo(r+160|0,+p[r+208>>2],+p[r+208+4>>2],+p[r+208+8>>2],100),Bo(r+176|0,c=+p[r+224>>2],s=+p[r+224+4>>2],i=+p[r+224+8>>2],+p[r+160>>2],+p[r+160+4>>2],+p[r+160+8>>2]),Vo(r+128|0,+p[r+208>>2],+p[r+208+4>>2],+p[r+208+8>>2],100),Fo(r+144|0,c,s,i,+p[r+128>>2],+p[r+128+4>>2],+p[r+128+8>>2]),Vo(r+96|0,+p[r+192>>2],+p[r+192+4>>2],+p[r+192+8>>2],100),Bo(r+112|0,c,s,i,+p[r+96>>2],+p[r+96+4>>2],+p[r+96+8>>2]),Vo(r+64|0,+p[r+192>>2],+p[r+192+4>>2],+p[r+192+8>>2],100),Fo(r+80|0,c,s,i,+p[r+64>>2],+p[r+64+4>>2],+p[r+64+8>>2]),e=0|_[8+(0|_[t>>2])>>2],Zr(r+48|0,n,+p[r+176>>2],+p[r+176+4>>2],+p[r+176+8>>2]),Zr(r+32|0,n,+p[r+144>>2],+p[r+144+4>>2],+p[r+144+8>>2]),pd[127&e](t,r+48|0,r+32|0,o),e=0|_[8+(0|_[t>>2])>>2],Zr(r+16|0,n,+p[r+112>>2],+p[r+112+4>>2],+p[r+112+8>>2]),Zr(r,n,+p[r+80>>2],+p[r+80+4>>2],+p[r+80+8>>2]),pd[127&e](t,r+16|0,r,o),Q=r}],_d=[Za,function(t,e,i){x(3,0|(t|=0),0|(e|=0),0|(i|=0))},jc,function(t,e,i){t|=0,i|=0;var o,r=0,s=0,p=0;if(o=0|_[4+(e|=0)>>2],(0|(r=0|_[t+24>>2]))<(0|o)){if((0|_[t+28>>2])<(0|o)){if(o?(_[6630]=1+(0|_[6630]),(i=0|di(16+(o<<2|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,p=0|_[t+24>>2]):(i=0,p=r),(0|p)>0){s=0;do{_[i+(s<<2)>>2]=_[(0|_[t+32>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|p))}0|(s=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=i,_[t+28>>2]=o,i=t+32|0}else i=t+32|0;do{_[(0|_[i>>2])+(r<<2)>>2]=0,r=r+1|0}while((0|r)!=(0|o))}else i=t+32|0;if(_[t+24>>2]=o,r=0|_[i>>2],!((0|o)<=0)){i=0;do{_[r+(i<<2)>>2]=_[(0|_[e+12>>2])+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|o))}},function(t,e,i){t|=0,i|=0;var n=0,o=0,r=0,s=0,c=0;switch(t=Q,Q=Q+144|0,15&_[388+(e|=0)>>2]){case 1:return _[t+112>>2]=4212,r=0|_[i+8>>2],r=2&_[r+236>>2]?r:0,s=0|_[i+12>>2],c=+p[s+48>>2],n=+p[s+52>>2],o=+p[s+56>>2],o=+b(+((c-c)*(c-c)+(n-n)*(n-n)+(o-o)*(o-o))),s=0|_[e+192>>2],n=+Il[15&_[48+(0|_[s>>2])>>2]](s),s=0|_[i+4>>2],pd[127&_[8+(0|_[s>>2])>>2]](s,0|_[i+12>>2],t+96|0,t+64|0),_[t>>2]=_[t+96>>2],_[t+4>>2]=_[t+96+4>>2],_[t+8>>2]=_[t+96+8>>2],_[t+12>>2]=_[t+96+12>>2],_[t+16>>2]=_[t+64>>2],_[t+16+4>>2]=_[t+64+4>>2],_[t+16+8>>2]=_[t+64+8>>2],_[t+16+12>>2]=_[t+64+12>>2],_[t+32>>2]=_[t>>2],_[t+32+4>>2]=_[t+4>>2],_[t+32+8>>2]=_[t+8>>2],_[t+32+12>>2]=_[t+12>>2],_[t+32+16>>2]=_[t+16>>2],_[t+32+20>>2]=_[t+20>>2],_[t+32+24>>2]=_[t+24>>2],_[t+32+28>>2]=_[t+28>>2],p[t+32>>2]=+p[t+32>>2]-n,p[t+32+4>>2]=+p[t+32+4>>2]-n,p[t+32+8>>2]=+p[t+32+8>>2]-n,p[t+32+16>>2]=n+ +p[t+32+16>>2],p[t+32+20>>2]=n+ +p[t+32+20>>2],p[t+32+24>>2]=n+ +p[t+32+24>>2],_[t+112+4>>2]=e,_[t+112+8>>2]=i,_[t+112+12>>2]=r,p[t+112+16>>2]=n+o,p[t+112+20>>2]=n,ci(0|_[e+928>>2],t+32|0,t+112|0),void(Q=t);case 2:return p[t+4>>2]=1,_[t+8+4>>2]=0,_[t+8+4+4>>2]=0,_[t+8+4+8>>2]=0,_[t>>2]=4248,_[t+24>>2]=e,_[t+28>>2]=i,_[t+8>>2]=_[e+456>>2],s=0|_[i+4>>2],c=+Il[15&_[48+(0|_[s>>2])>>2]](s),s=0|_[e+192>>2],c+=+Il[15&_[48+(0|_[s>>2])>>2]](s),p[t+12>>2]=c,o=+p[224+(0|_[i+8>>2])>>2],p[t+112>>2]=o,_[t+16>>2]=_[(+p[e+316>>2]>2],s=0|_[i+4>>2],pd[127&_[8+(0|_[s>>2])>>2]](s,0|_[i+12>>2],t+112|0,t+96|0),_[t+32>>2]=_[t+112>>2],_[t+32+4>>2]=_[t+112+4>>2],_[t+32+8>>2]=_[t+112+8>>2],_[t+32+12>>2]=_[t+112+12>>2],_[t+32+16>>2]=_[t+96>>2],_[t+32+16+4>>2]=_[t+96+4>>2],_[t+32+16+8>>2]=_[t+96+8>>2],_[t+32+16+12>>2]=_[t+96+12>>2],_[t+64>>2]=_[t+32>>2],_[t+64+4>>2]=_[t+32+4>>2],_[t+64+8>>2]=_[t+32+8>>2],_[t+64+12>>2]=_[t+32+12>>2],_[t+64+16>>2]=_[t+32+16>>2],_[t+64+20>>2]=_[t+32+20>>2],_[t+64+24>>2]=_[t+32+24>>2],_[t+64+28>>2]=_[t+32+28>>2],p[t+64>>2]=+p[t+64>>2]-c,p[t+64+4>>2]=+p[t+64+4>>2]-c,p[t+64+8>>2]=+p[t+64+8>>2]-c,p[t+64+16>>2]=c+ +p[t+64+16>>2],p[t+64+20>>2]=c+ +p[t+64+20>>2],p[t+64+24>>2]=c+ +p[t+64+24>>2],ci(0|_[e+1048>>2],t+64|0,t),void(Q=t);default:return void(Q=t)}},function(t,e,i){ie(e|=0,i|=0)},function(t,e,i){t|=0,e|=0;var n,o,r=0,s=0,p=0,c=0,a=0;if(!(0|Gl[127&_[16+(0|_[(i|=0)>>2])>>2]](i))){if(o=0|_[e+712>>2],n=0|Gl[127&_[36+(0|_[i>>2])>>2]](i),0|Gl[127&_[8+(0|_[i>>2])>>2]](i)&&(r=0|Gl[127&_[20+(0|_[i>>2])>>2]](i),p=0|Gl[127&_[24+(0|_[i>>2])>>2]](i),(0|o)>0))for(s=0|_[e+720>>2],t=n+(r<<2)|0,r=0;a=0|_[s+(104*r|0)+12>>2],c=0|_[s+(104*r|0)+16>>2],_[t>>2]=_[s+(104*r|0)+8>>2],_[t+4>>2]=a,_[t+8>>2]=c,(0|(r=r+1|0))!=(0|o);)t=t+(p<<2)|0;if(0|Gl[127&_[12+(0|_[i>>2])>>2]](i)&&(t=0|Gl[127&_[28+(0|_[i>>2])>>2]](i),p=0|Gl[127&_[32+(0|_[i>>2])>>2]](i),!((0|o)<=0)))for(s=0|_[e+720>>2],t=n+(t<<2)|0,r=0;c=0|_[s+(104*r|0)+76>>2],a=0|_[s+(104*r|0)+80>>2],_[t>>2]=_[s+(104*r|0)+72>>2],_[t+4>>2]=c,_[t+8>>2]=a,(0|(r=r+1|0))!=(0|o);)t=t+(p<<2)|0}},function(t,e,i){t|=0,i|=0,_[(e|=0)>>2]=_[t+892>>2],_[e+4>>2]=_[t+892+4>>2],_[e+8>>2]=_[t+892+8>>2],_[e+12>>2]=_[t+892+12>>2],_[i>>2]=_[t+908>>2],_[i+4>>2]=_[t+908+4>>2],_[i+8>>2]=_[t+908+8>>2],_[i+12>>2]=_[t+908+12>>2]},jc,function(t,e,i){var n,o,r,s,c,a,l,d,A;t|=0,e|=0,i|=0,n=Q,Q=Q+96|0,_[n+32>>2]=1065353216,_[n+32+4>>2]=0,_[n+32+4+4>>2]=0,_[n+32+4+8>>2]=0,_[n+32+4+12>>2]=0,_[n+32+20>>2]=1065353216,_[n+32+24>>2]=0,_[n+32+24+4>>2]=0,_[n+32+24+8>>2]=0,_[n+32+24+12>>2]=0,_[n+32+40>>2]=1065353216,_[(A=n+32+44|0)>>2]=0,_[A+4>>2]=0,_[A+8>>2]=0,_[A+12>>2]=0,_[A+16>>2]=0,pd[127&_[8+(0|_[t>>2])>>2]](t,n+32|0,n+16|0,n),l=+p[n>>2],a=+p[n+16>>2],c=+p[n+4>>2],s=+p[n+16+4>>2],r=+p[n+8>>2],o=+p[n+16+8>>2],d=.5*+b(+((l-a)*(l-a)+(c-s)*(c-s)+(r-o)*(r-o))),p[i>>2]=d,p[e>>2]=.5*(l+a),p[e+4>>2]=.5*(c+s),p[e+8>>2]=.5*(r+o),p[e+12>>2]=0,Q=n},function(t,e,i){t|=0,i|=0;var n,o,r,s=0,c=0,a=0,l=0,d=0;if(l=0|_[52+(e|=0)>>2],d=0|_[l+32>>2],e=0|_[d>>2],r=+p[i>>2],o=+p[i+4>>2],n=+p[i+8>>2],(0|(l=0|_[l+24>>2]))<=1)return d=(d=e)+8|0,_[t>>2]=_[d>>2],_[t+4>>2]=_[d+4>>2],_[t+8>>2]=_[d+8>>2],void(_[t+12>>2]=_[d+12>>2]);for(i=0,a=1,s=r*+p[e+8>>2]+o*+p[e+12>>2]+n*+p[e+16>>2];e=0|_[d+(a<<2)>>2],i=(e=(c=r*+p[e+8>>2]+o*+p[e+12>>2]+n*+p[e+16>>2])>s)?a:i,(0|(a=a+1|0))!=(0|l);)s=e?c:s;d=8+(d=0|_[d+(i<<2)>>2])|0,_[t>>2]=_[d>>2],_[t+4>>2]=_[d+4>>2],_[t+8>>2]=_[d+8>>2],_[t+12>>2]=_[d+12>>2]},function(t,e,i){t|=0,i|=0,_d[127&_[64+(0|_[(e|=0)>>2])>>2]](t,e,i)},jc,function(t,e,i){t|=0,i|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,b=0;if(o=Q,Q=Q+384|0,r=0|_[36+(e|=0)>>2],e=0|_[i+36>>2],(0|(i=0|_[t+24>>2]))==(0|_[t+28>>2])&&0|_[i+1132>>2]&&(a=(0|g(0|_[e+380>>2],0|_[i+1112>>2]))+(0|_[r+380>>2])|0,0|n[(0|_[i+1140>>2])+a|0]))return _[6293]=1+(0|_[6293]),void(Q=o);if(_[o+328+4>>2]=35,_[o+328+8>>2]=0,_[o+328+12>>2]=1065353216,_[o+328+16>>2]=1065353216,_[o+328+20>>2]=1065353216,p[o+328+24>>2]=0,_[o+328>>2]=4284,_[o+328+52>>2]=r,p[o+328+44>>2]=0,_[o+272+4>>2]=35,_[o+272+8>>2]=0,_[o+272+12>>2]=1065353216,_[o+272+16>>2]=1065353216,_[o+272+20>>2]=1065353216,p[o+272+24>>2]=0,_[o+272>>2]=4284,_[o+272+52>>2]=e,p[o+272+44>>2]=0,!(0|n[24408])&&0|Qs(24408)&&(!(0|n[24416])&&0|Qs(24416)&&(_[6222]=1065353216,_[6223]=0,_[6224]=0,_[6225]=0,_[6226]=0,_[6227]=1065353216,_[6228]=0,_[6229]=0,_[6230]=0,_[6231]=0,_[6232]=1065353216,p[6233]=0),_[6206]=_[6222],_[6207]=_[6223],_[6208]=_[6224],_[6209]=_[6225],_[6210]=_[6226],_[6211]=_[6227],_[6212]=_[6228],_[6213]=_[6229],_[6214]=_[6230],_[6215]=_[6231],_[6216]=_[6232],_[6217]=_[6233],_[6218]=0,_[6219]=0,_[6220]=0,_[6221]=0),!(0|n[24408])&&0|Qs(24408)&&(!(0|n[24416])&&0|Qs(24416)&&(_[6222]=1065353216,_[6223]=0,_[6224]=0,_[6225]=0,_[6226]=0,_[6227]=1065353216,_[6228]=0,_[6229]=0,_[6230]=0,_[6231]=0,_[6232]=1065353216,p[6233]=0),_[6206]=_[6222],_[6207]=_[6223],_[6208]=_[6224],_[6209]=_[6225],_[6210]=_[6226],_[6211]=_[6227],_[6212]=_[6228],_[6213]=_[6229],_[6214]=_[6230],_[6215]=_[6231],_[6216]=_[6232],_[6217]=_[6233],_[6218]=0,_[6219]=0,_[6220]=0,_[6221]=0),b=+p[r+232>>2]-+p[e+232>>2],d=+p[r+236>>2]-+p[e+236>>2],p[o>>2]=+p[r+228>>2]-+p[e+228>>2],p[o+4>>2]=b,p[o+8>>2]=d,p[o+12>>2]=0,(0|Se(o+328|0,24824,o+272|0,24824,o,o+216|0)||0|gi(o+328|0,24824,o+272|0,24824,o,o+216|0,0))&&(s=19),19==(0|s)&&(_[o+4>>2]=0,_[o+4+4>>2]=0,_[o+4+8>>2]=0,_[o+4+12>>2]=0,_[o+4+16>>2]=0,_[o+4+20>>2]=0,n[o+152|0]=0,_[o>>2]=4104,0|Ii(t,o+216|0,r,0,0,e,0,0,o))){_[6630]=1+(0|_[6630]),(e=0|di(235))?(_[(e+4+15&-16)-4>>2]=e,a=e+4+15&-16):a=0,e=a+152|0,wn(0|(i=a+4|0),0,212),_[a>>2]=4104,r=o+4|0,s=i+100|0;do{_[i>>2]=_[r>>2],i=i+4|0,r=r+4|0}while((0|i)<(0|s));_[(i=a+104|0)>>2]=_[o+104>>2],_[i+4>>2]=_[o+104+4>>2],_[i+8>>2]=_[o+104+8>>2],_[i+12>>2]=_[o+104+12>>2],_[(i=a+120|0)>>2]=_[o+120>>2],_[i+4>>2]=_[o+120+4>>2],_[i+8>>2]=_[o+120+8>>2],_[i+12>>2]=_[o+120+12>>2],_[(i=a+136|0)>>2]=_[o+136>>2],_[i+4>>2]=_[o+136+4>>2],_[i+8>>2]=_[o+136+8>>2],_[i+12>>2]=_[o+136+12>>2],n[0|e]=0|n[o+152|0],r=o+156|0,s=60+(i=a+156|0)|0;do{_[i>>2]=_[r>>2],i=i+4|0,r=r+4|0}while((0|i)<(0|s));if(s=0|_[t+24>>2],c=a,(0|(e=0|_[s+852>>2]))==(0|_[s+856>>2])&&(0|e)<(0|(l=0|e?e<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(e=0|di(16+(l<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,r=e,e=0|_[s+852>>2]):r=0,(0|e)>0){i=0;do{_[r+(i<<2)>>2]=_[(0|_[s+860>>2])+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|e))}(i=0|_[s+860>>2])&&(0|n[s+864|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[s+852>>2]),_[s+860>>2]=0),n[s+864|0]=1,_[s+860>>2]=r,_[s+856>>2]=l}_[(0|_[s+860>>2])+(e<<2)>>2]=c,_[s+852>>2]=e+1,c=0|_[t+24>>2],l=0|_[t+28>>2],d=+p[c+348>>2],b=+p[l+348>>2],p[(t=a+64|0)>>2]=+p[t>>2]*(d>b?d:b),p[(t=a+68|0)>>2]=+p[t>>2]*(.5*(+p[c+360>>2]+ +p[l+360>>2]))}Q=o},function(t,e,i){t|=0,i|=0;var o,r,s,c,a,l,d,A,f,u,m,h,y,g,C,v,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,Q=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0;v=0|_[36+(e|=0)>>2],C=0|_[i+36>>2],a=+p[v+8>>2],d=+p[v+12>>2],l=+p[v+16>>2],w=0|_[C+8>>2],m=+p[w+8>>2],h=+p[w+12>>2],y=+p[w+16>>2],e=0|_[C+12>>2],A=+p[e+8>>2],f=+p[e+12>>2],u=+p[e+16>>2],i=0|_[C+16>>2],g=+p[i+8>>2],J=+p[i+12>>2],T=(s=f-d-(h-d))*((X=+p[i+16>>2])-l-(y-l))-(P=u-l-(y-l))*(J-d-(h-d)),c=P*(g-a-(m-a))-(O=A-a-(m-a))*(X-l-(y-l)),r=O*(J-d-(h-d))-s*(g-a-(m-a));do{if(r*r+(T*T+c*c)>1.1920928955078125e-7&&(Q=r*(L=1/+b(+(r*r+(T*T+c*c))))*(y-l)+(T*L*(m-a)+c*L*(h-d)))*Q<34028234663852886e22){if(r*((F=f-d-c*L*Q)*(S=m-a-T*L*Q)-(j=h-d-c*L*Q)*(B=A-a-T*L*Q))+(T*(j*(x=u-l-r*L*Q)-(I=y-l-r*L*Q)*F)+c*(I*B-x*S))>0&&r*((V=J-d-c*L*Q)*B-F*(M=g-a-T*L*Q))+(T*(F*(G=X-l-r*L*Q)-x*V)+c*(x*M-G*B))>0&&r*(j*M-V*S)+(T*(V*I-G*j)+c*(G*S-I*M))>0){W=Q*Q,B=T*L*Q,I=r*L*Q,D=c*L*Q;break}O*O+s*s+P*P>1.1920928955078125e-7&&(W=(y-l+P*(N=(N=-((m-a)*O+(h-d)*s+(y-l)*P)/(O*O+s*s+P*P))<0?0:N>1?1:N))*(y-l+P*N)+((m-a+O*N)*(m-a+O*N)+(h-d+s*N)*(h-d+s*N)))<34028234663852886e22?(B=m-a+O*N,I=y-l+P*N,j=h-d+s*N):(W=34028234663852886e22,B=0,I=0,j=0),(S=(g-a-(A-a))*(g-a-(A-a))+(J-d-(f-d))*(J-d-(f-d))+(X-l-(u-l))*(X-l-(u-l)))>1.1920928955078125e-7&&(E=A-a+(g-a-(A-a))*(H=(H=-((A-a)*(g-a-(A-a))+(f-d)*(J-d-(f-d))+(u-l)*(X-l-(u-l)))/S)<0?0:H>1?1:H),Z=f-d+(J-d-(f-d))*H,(H=u-l+(X-l-(u-l))*H)*H+(E*E+Z*Z)1.1920928955078125e-7&&(U=g-a+(m-a-(g-a))*(Y=(Y=-((g-a)*(m-a-(g-a))+(J-d)*(h-d-(J-d))+(X-l)*(y-l-(X-l)))/S)<0?0:Y>1?1:Y),D=J-d+(h-d-(J-d))*Y,(Y=X-l+(y-l-(X-l))*Y)*Y+(U*U+D*D)>2],Y=d-+p[v+28>>2],P=l-+p[v+32>>2],W<(P=+p[t+12>>2]+2*+b(+(U*U+Y*Y+P*P)))*P&&(T=+b(+(((m-(x=a+B))*(f-(S=d+D))-(h-S)*(A-x))*((m-x)*(f-S)-(h-S)*(A-x))+(((h-S)*(u-(j=l+I))-(y-j)*(f-S))*((h-S)*(u-j)-(y-j)*(f-S))+((y-j)*(A-x)-(m-x)*(u-j))*((y-j)*(A-x)-(m-x)*(u-j))))),O=+b(+(((A-x)*(J-S)-(f-S)*(g-x))*((A-x)*(J-S)-(f-S)*(g-x))+(((f-S)*(X-j)-(u-j)*(J-S))*((f-S)*(X-j)-(u-j)*(J-S))+((u-j)*(g-x)-(A-x)*(X-j))*((u-j)*(g-x)-(A-x)*(X-j))))),x=+b(+(((h-S)*(g-x)-(m-x)*(J-S))*((h-S)*(g-x)-(m-x)*(J-S))+(((y-j)*(J-S)-(h-S)*(X-j))*((y-j)*(J-S)-(h-S)*(X-j))+((m-x)*(X-j)-(y-j)*(g-x))*((m-x)*(X-j)-(y-j)*(g-x))))),(j=+p[v+88>>2])+(S=!((X=+p[w+88>>2])<=0)&!((S=+p[e+88>>2])<=0)&!((J=+p[i+88>>2])<=0)?J*(T*(1/(x+(T+O))))+(X*(O*(1/(x+(T+O))))+S*(x*(1/(x+(T+O))))):0)>0)){if(F=B*(X=1/-+b(+W)),W=X*D,B=X*I,o=0|_[t+4>>2],e=0|_[t+8>>2],D=(I=+p[o+316>>2])>(D=+p[e+316>>2])?I:D,I=j/(j+S)*+p[o+332>>2],S=S/(j+S)*+p[e+332>>2],(0|(e=0|_[o+832>>2]))==(0|_[o+836>>2])&&(0|e)<(0|(z=0|e?e<<1:1))){if(z?(_[6630]=1+(0|_[6630]),(e=0|di(16+(56*z|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,R=e,e=0|_[o+832>>2]):R=0,(0|e)>0){i=0;do{w=R+(56*i|0)|0,t=(0|_[o+840>>2])+(56*i|0)|0,k=w+56|0;do{_[w>>2]=_[t>>2],w=w+4|0,t=t+4|0}while((0|w)<(0|k));i=i+1|0}while((0|i)!=(0|e))}0|(e=0|_[o+840>>2])&&(0|n[o+844|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[o+840>>2]=0),n[o+844|0]=1,_[o+840>>2]=R,_[o+836>>2]=z,e=0|_[o+832>>2]}z=0|_[o+840>>2],_[z+(56*e|0)>>2]=v,_[z+(56*e|0)+4>>2]=C,p[z+(56*e|0)+8>>2]=O*(1/(x+(T+O))),p[z+(56*e|0)+12>>2]=x*(1/(x+(T+O))),p[z+(56*e|0)+16>>2]=T*(1/(x+(T+O))),p[z+(56*e|0)+20>>2]=0,p[z+(56*e|0)+24>>2]=F,p[z+(56*e|0)+28>>2]=W,p[z+(56*e|0)+32>>2]=B,p[z+(56*e|0)+36>>2]=0,p[z+(56*e|0)+40>>2]=P,p[z+(56*e|0)+44>>2]=D,p[z+(56*e|0)+48>>2]=I,p[z+(56*e|0)+52>>2]=S,_[o+832>>2]=1+(0|_[o+832>>2])}},jc,kn,function(t,e,i){t|=0,e|=0;var n,o,r,s,c=0;s=+p[(i|=0)>>2],r=+p[i+4>>2],c=+p[i+8>>2],n=s*+p[e+56>>2]+r*+p[e+60>>2]+c*+p[e+64>>2],o=s*+p[e+72>>2]+r*+p[e+76>>2]+c*+p[e+80>>2],c=s*+p[e+88>>2]+r*+p[e+92>>2]+c*+p[e+96>>2],i=e+56+((n>2]=_[i>>2],_[t+4>>2]=_[i+4>>2],_[t+8>>2]=_[i+8>>2],_[t+12>>2]=_[i+12>>2]},function(t,e,i){e|=0,i|=0;var n,o,_,r,s=0,c=0,a=0;c=+p[56+(t|=0)>>2],r=+p[t+72>>2]-c,a=+p[t+60>>2],o=+p[t+76>>2]-a,s=+p[t+64>>2],_=+p[t+80>>2]-s,c=+p[t+88>>2]-c,a=+p[t+92>>2]-a,s=+p[t+96>>2]-s,p[i+12>>2]=0,n=1/+b(+((r*a-o*c)*(r*a-o*c)+((o*s-_*a)*(o*s-_*a)+(_*c-r*s)*(_*c-r*s)))),p[i>>2]=(o*s-_*a)*n,p[i+4>>2]=(_*c-r*s)*n,p[i+8>>2]=(r*a-o*c)*n,e&&(p[i>>2]=-(o*s-_*a)*n,p[i+4>>2]=-(_*c-r*s)*n,p[i+8>>2]=-(r*a-o*c)*n)},function(t,e,i){t|=0,e|=0,_[(i|=0)>>2]=_[t+56+(e<<4)>>2],_[i+4>>2]=_[t+56+(e<<4)+4>>2],_[i+8>>2]=_[t+56+(e<<4)+8>>2],_[i+12>>2]=_[t+56+(e<<4)+12>>2]},function(t,e,i){e|=0,i|=0;var o=0,r=0,s=0,p=0;if((0|(o=0|_[212+(t|=0)>>2]))==(0|_[t+216>>2])&&(0|o)<(0|(p=0|o?o<<1:1))){if(p?(_[6630]=1+(0|_[6630]),(o=0|di(16+(p<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,s=o,o=0|_[t+212>>2]):s=0,(0|o)>0){r=0;do{_[s+(r<<2)>>2]=_[(0|_[t+220>>2])+(r<<2)>>2],r=r+1|0}while((0|r)!=(0|o))}(r=0|_[t+220>>2])&&(0|n[t+224|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2]),o=0|_[t+212>>2]),_[t+220>>2]=0),n[t+224|0]=1,_[t+220>>2]=s,_[t+216>>2]=p}_[(0|_[t+220>>2])+(o<<2)>>2]=e,_[t+212>>2]=o+1,i&&(be(0|_[e+28>>2],e),be(0|_[e+32>>2],e))},function(t,e,i){t|=0,i|=0;var n,o,r,s,c,a,l,d,A,f,u,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0;s=+p[(e|=0)>>2],r=+p[e+4>>2],o=+p[e+8>>2],n=1/+b(+(s*s+r*r+o*o)),d=+p[i>>2],l=+p[i+4>>2],a=+p[i+8>>2],u=o*n*(l*(c=1/+b(+(d*d+l*l+a*a))))-r*n*(a*c),f=s*n*(a*c)-o*n*(d*c),A=r*n*(d*c)-s*n*(l*c),i=0|_[t+28>>2],m=+p[i+4>>2],y=+p[i+20>>2],C=+p[i+36>>2],h=+p[i+8>>2],g=+p[i+24>>2],v=+p[i+40>>2],S=+p[i+12>>2],k=+p[i+28>>2],j=+p[i+44>>2],w=-+p[i+52>>2],R=-+p[i+56>>2],D=-+p[i+60>>2],p[t+48>>2]=C*A+(m*u+y*f),p[t+52>>2]=C*(a*c)+(m*(d*c)+y*(l*c)),p[t+56>>2]=m*(s*n)+r*n*y+o*n*C,p[t+60>>2]=0,p[t+64>>2]=A*v+(h*u+g*f),p[t+68>>2]=d*c*h+l*c*g+a*c*v,p[t+72>>2]=s*n*h+r*n*g+o*n*v,p[t+76>>2]=0,p[t+80>>2]=u*S+f*k+A*j,p[t+84>>2]=d*c*S+l*c*k+a*c*j,p[t+88>>2]=s*n*S+r*n*k+o*n*j,p[t+92>>2]=0,p[t+96>>2]=0*m+0*y+0*C+(m*w+y*R+C*D),p[t+100>>2]=0*h+0*g+0*v+(h*w+g*R+v*D),p[t+104>>2]=0*S+0*k+0*j+(S*w+k*R+j*D),p[t+108>>2]=0,i=0|_[t+32>>2],D=+p[i+4>>2],j=+p[i+20>>2],R=+p[i+36>>2],k=+p[i+8>>2],w=+p[i+24>>2],S=+p[i+40>>2],v=+p[i+12>>2],g=+p[i+28>>2],h=+p[i+44>>2],C=-+p[i+52>>2],y=-+p[i+56>>2],m=-+p[i+60>>2],p[t+112>>2]=u*D+f*j+A*R,p[t+116>>2]=d*c*D+l*c*j+a*c*R,p[t+120>>2]=s*n*D+r*n*j+o*n*R,p[t+124>>2]=0,p[t+128>>2]=u*k+f*w+A*S,p[t+132>>2]=d*c*k+l*c*w+a*c*S,p[t+136>>2]=s*n*k+r*n*w+o*n*S,p[t+140>>2]=0,p[t+144>>2]=u*v+f*g+A*h,p[t+148>>2]=d*c*v+l*c*g+a*c*h,p[t+152>>2]=s*n*v+r*n*g+o*n*h,p[t+156>>2]=0,p[t+160>>2]=0*D+0*j+0*R+(D*C+j*y+R*m),p[t+164>>2]=0*k+0*w+0*S+(k*C+w*y+S*m),p[t+168>>2]=0*v+0*g+0*h+(v*C+g*y+h*m),p[t+172>>2]=0,Pi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0)},function(t,e,i){e|=0,i|=0,_[300+(t|=0)>>2]=_[e>>2],_[t+300+4>>2]=_[e+4>>2],_[t+300+8>>2]=_[e+8>>2],_[t+300+12>>2]=_[e+12>>2],_[t+316>>2]=_[e+16>>2],_[t+316+4>>2]=_[e+16+4>>2],_[t+316+8>>2]=_[e+16+8>>2],_[t+316+12>>2]=_[e+16+12>>2],_[t+332>>2]=_[e+32>>2],_[t+332+4>>2]=_[e+32+4>>2],_[t+332+8>>2]=_[e+32+8>>2],_[t+332+12>>2]=_[e+32+12>>2],_[t+348>>2]=_[e+48>>2],_[t+348+4>>2]=_[e+48+4>>2],_[t+348+8>>2]=_[e+48+8>>2],_[t+348+12>>2]=_[e+48+12>>2],_[t+364>>2]=_[i>>2],_[t+364+4>>2]=_[i+4>>2],_[t+364+8>>2]=_[i+8>>2],_[t+364+12>>2]=_[i+12>>2],_[t+380>>2]=_[i+16>>2],_[t+380+4>>2]=_[i+16+4>>2],_[t+380+8>>2]=_[i+16+8>>2],_[t+380+12>>2]=_[i+16+12>>2],_[t+396>>2]=_[i+32>>2],_[t+396+4>>2]=_[i+32+4>>2],_[t+396+8>>2]=_[i+32+8>>2],_[t+396+12>>2]=_[i+32+12>>2],_[t+412>>2]=_[i+48>>2],_[t+412+4>>2]=_[i+48+4>>2],_[t+412+8>>2]=_[i+48+8>>2],_[t+412+12>>2]=_[i+48+12>>2],Xl[511&_[8+(0|_[t>>2])>>2]](t)},jc,jc,function(t,e,i){t|=0,i|=0;var o,r=0,s=0;o=0|_[(e|=0)>>2],e=0|_[t+268>>2];t:do{if((0|e)>0){for(r=0|_[t+276>>2],i=0;(0|_[r+(i<<2)>>2])!=(0|o);)if((0|(i=i+1|0))>=(0|e))break t;if((0|i)!=(0|e))return}}while(0);if((0|e)==(0|_[t+272>>2])&&(0|e)<(0|(s=0|e?e<<1:1))){if(s?(_[6630]=1+(0|_[6630]),(e=0|di(16+(s<<2|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,r=e,e=0|_[t+268>>2]):r=0,(0|e)>0){i=0;do{_[r+(i<<2)>>2]=_[(0|_[t+276>>2])+(i<<2)>>2],i=i+1|0}while((0|i)!=(0|e))}(i=0|_[t+276>>2])&&(0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2]),e=0|_[t+268>>2]),_[t+276>>2]=0),n[t+280|0]=1,_[t+276>>2]=r,_[t+272>>2]=s}_[(0|_[t+276>>2])+(e<<2)>>2]=o,_[t+268>>2]=e+1},function(t,e,i){t|=0,e|=0;var o,r=0,s=0,p=0,c=0;(i|=0)||(i=0|_[t+188>>2]),o=0|_[e>>2],r=0|_[t+268>>2];t:do{if((0|r)>0){for(p=0|_[t+276>>2],s=0;(0|_[p+(s<<2)>>2])!=(0|o);)if((0|(s=s+1|0))>=(0|r))break t;if((0|s)!=(0|r))return}}while(0);if((0|r)==(0|_[t+272>>2])&&(0|r)<(0|(c=0|r?r<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(r=0|di(16+(c<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,p=r,r=0|_[t+268>>2]):p=0,(0|r)>0){s=0;do{_[p+(s<<2)>>2]=_[(0|_[t+276>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r))}(s=0|_[t+276>>2])&&(0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),r=0|_[t+268>>2]),_[t+276>>2]=0),n[t+280|0]=1,_[t+276>>2]=p,_[t+272>>2]=c}_[(0|_[t+276>>2])+(r<<2)>>2]=o,_[t+268>>2]=r+1,t=0|_[t+284>>2],El[63&_[8+(0|_[t>>2])>>2]](t,i,e)},function(t,e,i){t|=0,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0;if((0|(r=0|_[8+(e|=0)>>2]))>0){s=0|_[e+16>>2],o=0,i=0;do{c=0|_[s+(o<<2)>>2],3&_[c+204>>2]||(_[c+208>>2]=i,i=i+1|0),_[c+212>>2]=-1,p[c+244>>2]=1,o=o+1|0}while((0|o)!=(0|r));c=i}else c=0;if((0|(s=0|_[t+8>>2]))<(0|c)){if((0|_[t+12>>2])<(0|c)){if(c?(_[6630]=1+(0|_[6630]),(i=0|di(16+(c<<3|3)|0))?(_[(i+4+15&-16)-4>>2]=i,i=i+4+15&-16):i=0,r=0|_[t+8>>2]):(i=0,r=s),(0|r)>0){o=0;do{d=(0|_[t+16>>2])+(o<<3)|0,a=0|_[d+4>>2],_[(l=i+(o<<3)|0)>>2]=_[d>>2],_[l+4>>2]=a,o=o+1|0}while((0|o)!=(0|r))}0|(o=0|_[t+16>>2])&&(0|n[t+20|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])),_[t+16>>2]=0),n[t+20|0]=1,_[t+16>>2]=i,_[t+12>>2]=c,o=t+16|0}else o=t+16|0;i=s;do{d=(0|_[o>>2])+(i<<3)|0,_[d>>2]=0,_[d+4>>2]=0,i=i+1|0}while((0|i)!=(0|c))}if(_[t+8>>2]=c,(0|c)>0){o=0|_[t+16>>2],i=0;do{_[o+(i<<3)>>2]=i,_[o+(i<<3)+4>>2]=1,i=i+1|0}while((0|i)!=(0|c))}if(i=0|_[e+68>>2],i=0|Gl[127&_[36+(0|_[i>>2])>>2]](i),(l=0|Gl[127&_[36+(0|_[i>>2])>>2]](i))&&(a=0|Gl[127&_[20+(0|_[i>>2])>>2]](i),!((0|l)<=0))){e=0;do{if(i=0|_[_[a+(e<<4)>>2]>>2],o=0|_[_[a+(e<<4)+4>>2]>>2],0|i&&0|o&&!(7&_[i+204>>2])&&!(7&_[o+204>>2])){if(r=0|_[i+208>>2],i=0|_[o+208>>2],c=0|_[t+16>>2],(0|(o=0|_[c+(r<<3)>>2]))!=(0|r)&&(_[c+(r<<3)>>2]=_[c+(o<<3)>>2],(0|(r=0|_[c+(o<<3)>>2]))!=(0|(o=0|_[c+(r<<3)>>2])))){s=c+(r<<3)|0;do{r=c+(o<<3)|0,_[s>>2]=_[r>>2],r=0|_[r>>2],o=0|_[(s=c+(r<<3)|0)>>2]}while((0|r)!=(0|o))}if((0|(o=0|_[c+(i<<3)>>2]))!=(0|i)&&(_[c+(i<<3)>>2]=_[c+(o<<3)>>2],(0|(i=0|_[c+(o<<3)>>2]))!=(0|(o=0|_[c+(i<<3)>>2])))){s=c+(i<<3)|0;do{i=c+(o<<3)|0,_[s>>2]=_[i>>2],i=0|_[i>>2],o=0|_[(s=c+(i<<3)|0)>>2]}while((0|i)!=(0|o))}(0|r)!=(0|i)&&(_[c+(r<<3)>>2]=i,_[(d=c+(i<<3)+4|0)>>2]=(0|_[d>>2])+(0|_[c+(r<<3)+4>>2]))}e=e+1|0}while((0|e)!=(0|l))}},function(t,e,i){e|=0,i|=0,_[16+(t|=0)>>2]=e,_[t+24>>2]=i},function(t,e,i){e|=0,i|=0,_[20+(t|=0)>>2]=e,_[t+28>>2]=i},jc,jc,jc,jc,function(t,e,i){e|=0,i|=0;var n,o,r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0;if(r=Q,Q=Q+240|0,_[4+(t|=0)>>2]=1+(0|_[t+4>>2]),o=0|_[e+36>>2],n=0|_[i+36>>2],T=0|_[t+8>>2],c=0|_[t+12>>2],P=0|_[24+(0|_[T+4>>2])>>2],i=0|_[P+(80*o|0)+64>>2],e=24+(0|_[c+4>>2])|0,s=0|_[(0|_[e>>2])+(80*n|0)+64>>2],T=0|_[T+12>>2],d=+p[T>>2],x=+p[T+4>>2],O=+p[T+8>>2],f=+p[T+16>>2],m=+p[T+20>>2],y=+p[T+24>>2],u=+p[T+32>>2],g=+p[T+36>>2],D=+p[T+40>>2],C=+p[P+(80*o|0)>>2],v=+p[P+(80*o|0)+16>>2],S=+p[P+(80*o|0)+32>>2],w=+p[P+(80*o|0)+4>>2],k=+p[P+(80*o|0)+20>>2],R=+p[P+(80*o|0)+36>>2],h=+p[P+(80*o|0)+8>>2],j=+p[P+(80*o|0)+24>>2],I=+p[P+(80*o|0)+40>>2],b=+p[P+(80*o|0)+48>>2],A=+p[P+(80*o|0)+52>>2],F=+p[P+(80*o|0)+56>>2],B=+p[T+48>>2]+(d*b+x*A+O*F),W=+p[T+52>>2]+(f*b+m*A+y*F),F=+p[T+56>>2]+(u*b+g*A+D*F),p[r+176>>2]=d*C+x*v+O*S,p[r+176+4>>2]=d*w+x*k+O*R,p[r+176+8>>2]=d*h+x*j+O*I,p[r+176+12>>2]=0,p[r+176+16>>2]=f*C+m*v+y*S,p[r+176+20>>2]=f*w+m*k+y*R,p[r+176+24>>2]=f*h+m*j+y*I,p[r+176+28>>2]=0,p[r+176+32>>2]=u*C+g*v+D*S,p[r+176+36>>2]=u*w+g*k+D*R,p[r+176+40>>2]=u*h+g*j+D*I,p[r+176+44>>2]=0,p[r+176+48>>2]=B,p[r+176+52>>2]=W,p[r+176+56>>2]=F,p[r+176+60>>2]=0,c=0|_[c+12>>2],F=+p[c>>2],W=+p[c+4>>2],B=+p[c+8>>2],I=+p[c+16>>2],D=+p[c+20>>2],j=+p[c+24>>2],g=+p[c+32>>2],h=+p[c+36>>2],u=+p[c+40>>2],e=0|_[e>>2],R=+p[e+(80*n|0)>>2],k=+p[e+(80*n|0)+16>>2],w=+p[e+(80*n|0)+32>>2],S=+p[e+(80*n|0)+4>>2],v=+p[e+(80*n|0)+20>>2],C=+p[e+(80*n|0)+36>>2],y=+p[e+(80*n|0)+8>>2],m=+p[e+(80*n|0)+24>>2],f=+p[e+(80*n|0)+40>>2],O=+p[e+(80*n|0)+48>>2],x=+p[e+(80*n|0)+52>>2],d=+p[e+(80*n|0)+56>>2],A=+p[c+48>>2]+(F*O+W*x+B*d),b=+p[c+52>>2]+(I*O+D*x+j*d),d=+p[c+56>>2]+(g*O+h*x+u*d),p[r+112>>2]=F*R+W*k+B*w,p[r+112+4>>2]=F*S+W*v+B*C,p[r+112+8>>2]=F*y+W*m+B*f,p[r+112+12>>2]=0,p[r+112+16>>2]=I*R+D*k+j*w,p[r+112+20>>2]=I*S+D*v+j*C,p[r+112+24>>2]=I*y+D*m+j*f,p[r+112+28>>2]=0,p[r+112+32>>2]=g*R+h*k+u*w,p[r+112+36>>2]=g*S+h*v+u*C,p[r+112+40>>2]=g*y+h*m+u*f,p[r+112+44>>2]=0,p[r+112+48>>2]=A,p[r+112+52>>2]=b,p[r+112+56>>2]=d,p[r+112+60>>2]=0,pd[127&_[8+(0|_[i>>2])>>2]](i,r+176|0,r+96|0,r+80|0),pd[127&_[8+(0|_[s>>2])>>2]](s,r+112|0,r+64|0,r+48|0),e=+p[r+96>>2]>+p[r+48>>2]||+p[r+80>>2]<+p[r+64>>2]?0:1,(+p[r+96+8>>2]>+p[r+48+8>>2]||+p[r+80+8>>2]<+p[r+64+8>>2])&&(e=0),+p[r+96+4>>2]>+p[r+48+4>>2])Q=r;else if(+p[r+80+4>>2]<+p[r+64+4>>2]|1^e)Q=r;else{c=0|_[t+8>>2],e=0|_[c+8>>2],_[r+24>>2]=c,_[r+24+4>>2]=i,_[r+24+8>>2]=e,_[r+24+12>>2]=r+176,_[r+24+16>>2]=-1,_[r+24+20>>2]=o,e=0|_[t+12>>2],c=0|_[e+8>>2],_[r>>2]=e,_[r+4>>2]=s,_[r+8>>2]=c,_[r+12>>2]=r+112,_[r+16>>2]=-1,_[r+20>>2]=n,c=0|_[t+28>>2],_[6618]=1+(0|_[6618]),e=9*((e=(n<<16|o)+~((n<<16|o)<<15)|0)>>10^e)|0,e^=e>>6,e=(0|_[c+12>>2])-1&(e+~(e<<11)>>16^e+~(e<<11));t:do{if((0|e)<(0|_[c+32>>2])&&(a=0|_[(0|_[c+40>>2])+(e<<2)>>2],-1!=(0|a))){for(s=0|_[c+16>>2],e=a;(0|_[(i=s+(12*e|0)|0)>>2])!=(0|o)||(0|_[s+(12*e|0)+4>>2])!=(0|n);)if(-1==(0|(e=0|_[(0|_[c+60>>2])+(e<<2)>>2]))){l=16;break t}i?e=0|_[s+(12*e|0)+8>>2]:l=16}else l=16}while(0);16==(0|l)&&(e=0|_[t+16>>2],e=0|Hl[31&_[8+(0|_[e>>2])>>2]](e,r+24|0,r,0|_[t+32>>2]),P=0|_[t+28>>2],P=8+(0|El[63&_[12+(0|_[P>>2])>>2]](P,o,n))|0,_[P>>2]=e),P=0|_[t+24>>2],l=0|_[P+8>>2],T=0|_[P+12>>2],_[P+8>>2]=r+24,_[P+12>>2]=r,_d[127&_[8+(0|_[P>>2])>>2]](P,-1,o),P=0|_[t+24>>2],_d[127&_[12+(0|_[P>>2])>>2]](P,-1,n),dd[31&_[8+(0|_[e>>2])>>2]](e,r+24|0,r,0|_[t+20>>2],0|_[t+24>>2]),P=0|_[t+24>>2],_[P+8>>2]=l,_[P+12>>2]=T,Q=r}},function(t,e,i){t|=0,i|=0;var n,o,r,s=0,c=0,a=0,l=0,d=0;d=.5*+p[60+(e|=0)>>2],o=0|_[e+68>>2],c=+p[i>>2],a=+p[i+4>>2],l=+p[i+8>>2],l=+b(+(c*c+a*a+l*l)),n=0|_[e+64>>2];do{if(!(+p[i+(o<<2)>>2]>+p[e+52>>2]*l)){if(c=+p[i+(n<<2)>>2],s=0|_[e+72>>2],a=+p[i+(s<<2)>>2],(l=+b(+(c*c+a*a)))>1.1920928955078125e-7){l=+p[e+56>>2]/l,p[t+(n<<2)>>2]=c*l,p[t+(o<<2)>>2]=-d,c=a*l;break}p[t+(n<<2)>>2]=0,p[t+(o<<2)>>2]=-d,c=0;break}p[t+(n<<2)>>2]=0,p[t+(o<<2)>>2]=d,c=0,s=0|_[e+72>>2]}while(0);p[t+(s<<2)>>2]=c,0!=+Il[15&_[48+(0|_[e>>2])>>2]](e)&&(r=(a=+p[i>>2])*a+(d=+p[i+4>>2])*d+(l=+p[i+8>>2])*l<14210854715202004e-30?-1:a,c=a*a+d*d+l*l<14210854715202004e-30?-1:d,d=1/+b(+((l=a*a+d*d+l*l<14210854715202004e-30?-1:l)*l+(r*r+c*c))),a=+Il[15&_[48+(0|_[e>>2])>>2]](e),p[t>>2]=+p[t>>2]+a*(r*d),p[t+4>>2]=+p[t+4>>2]+a*(c*d),p[t+8>>2]=+p[t+8>>2]+a*(l*d))},function(t,e,i){t|=0,i|=0;var n,o,r=0,s=0,c=0,a=0,l=0;return a=.5*+p[60+(e|=0)>>2],l=0|_[e+68>>2],r=+p[i>>2],s=+p[i+4>>2],c=+p[i+8>>2],c=+b(+(r*r+s*s+c*c)),n=0|_[e+64>>2],+p[i+(l<<2)>>2]>+p[e+52>>2]*c?(p[t+(n<<2)>>2]=0,p[t+(l<<2)>>2]=a,a=0,l=0|_[e+72>>2],void(p[(l=t+(l<<2)|0)>>2]=a)):(c=+p[i+(n<<2)>>2],o=0|_[e+72>>2],r=+p[i+(o<<2)>>2],(s=+b(+(c*c+r*r)))>1.1920928955078125e-7?(s=+p[e+56>>2]/s,p[t+(n<<2)>>2]=c*s,p[t+(l<<2)>>2]=-a,a=r*s,void(p[(l=t+((l=o)<<2)|0)>>2]=a)):(p[t+(n<<2)>>2]=0,p[t+(l<<2)>>2]=-a,a=0,void(p[(l=t+((l=o)<<2)|0)>>2]=a)))},function(t,e,i){t|=0,i|=0;var n,o,r,s=0,c=0,a=0;n=Q,Q=Q+16|0,_d[127&_[68+(0|_[(e|=0)>>2])>>2]](n,e,i),_[t>>2]=_[n>>2],_[t+4>>2]=_[n+4>>2],_[t+8>>2]=_[n+8>>2],_[t+12>>2]=_[n+12>>2],r=(a=+p[i>>2])*a+(s=+p[i+4>>2])*s+(c=+p[i+8>>2])*c<14210854715202004e-30?-1:a,o=a*a+s*s+c*c<14210854715202004e-30?-1:s,s=1/+b(+((c=a*a+s*s+c*c<14210854715202004e-30?-1:c)*c+(r*r+o*o))),a=+Il[15&_[48+(0|_[e>>2])>>2]](e),p[t>>2]=+p[t>>2]+a*(r*s),p[t+4>>2]=+p[t+4>>2]+a*(o*s),p[t+8>>2]=+p[t+8>>2]+a*(c*s),Q=n},function(t,e,i){_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0},function(t,e,i){var n,o,r,s,c;t|=0,e|=0,i|=0,n=Q,Q=Q+160|0,_[n+136>>2]=0,_[n+136+4>>2]=0,_[n+136+8>>2]=0,_[n+136+12>>2]=0,_[n+136+16>>2]=0,_[n+32>>2]=7904,_[(o=n+32+4|0)>>2]=0,_[o+4>>2]=0,_[o+8>>2]=0,_[o+12>>2]=0,_[n+32+20>>2]=1065353216,_[n+32+24>>2]=0,_[n+32+24+4>>2]=0,_[n+32+24+8>>2]=0,_[n+32+24+12>>2]=0,_[n+32+40>>2]=1065353216,_[n+32+44>>2]=0,_[n+32+44+4>>2]=0,_[n+32+44+8>>2]=0,_[n+32+44+12>>2]=0,_[n+32+60>>2]=1065353216,_[n+32+64>>2]=0,_[n+32+68>>2]=_[n+136+4>>2],_[n+32+68+4>>2]=_[n+136+4+4>>2],_[n+32+68+8>>2]=_[n+136+4+8>>2],_[n+32+68+12>>2]=_[n+136+4+12>>2],p[n+32+84>>2]=-0xde0b6b000000000,c=+p[i>>2],s=+p[i+4>>2],r=+p[i+8>>2],p[n+32+88>>2]=c+0*s+0*r,p[n+32+92>>2]=0*c+s+0*r,p[n+32+96>>2]=0*c+0*s+r,p[n+32+100>>2]=0,_[n+16>>2]=1566444395,_[n+16+4>>2]=1566444395,_[n+16+8>>2]=1566444395,p[n+16+12>>2]=0,i=0|_[64+(0|_[e>>2])>>2],p[n>>2]=-0xde0b6b000000000,p[n+4>>2]=-0xde0b6b000000000,p[n+8>>2]=-0xde0b6b000000000,p[n+12>>2]=0,pd[127&i](e,n+32|0,n,n+16|0),_[t>>2]=_[o>>2],_[t+4>>2]=_[o+4>>2],_[t+8>>2]=_[o+8>>2],_[t+12>>2]=_[o+12>>2],Q=n},function(t,e,i){t|=0,i|=0,_d[127&_[68+(0|_[(e|=0)>>2])>>2]](t,e,i)},function(t,e,i){e|=0,i|=0;var n,o,a,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0;switch(a=Q,Q=Q+32|0,u=0|_[4+(t|=0)>>2],hd[3&_[16+(0|_[u>>2])>>2]](u,a+28|0,a+24|0,a+20|0,a+16|0,a+12|0,a+8|0,a+4|0,a,e),u=(0|_[a+12>>2])+(0|g(0|_[a+8>>2],i))|0,h=0|_[t+4>>2],0|(n=0|_[a>>2])){case 3:l=0|s[u+4>>1];break;case 2:l=0|_[u+8>>2];break;default:l=0|r[u+2|0]}switch(y=!(0|_[a+20>>2]),o=0|_[a+28>>2],m=0|_[a+16>>2],l=o+(0|g(m,l))|0,y?(A=+p[l+4>>2]*+p[h+8>>2],f=+p[l>>2]*+p[h+4>>2],b=l+8|0,d=+p[h+12>>2]):(A=+p[h+8>>2]*+c[l+8>>3],f=+p[h+4>>2]*+c[l>>3],b=h+12|0,d=+c[l+16>>3]),d=+p[b>>2]*d,p[t+44>>2]=f,p[t+48>>2]=A,p[t+52>>2]=d,p[t+56>>2]=0,0|n){case 3:l=0|s[u+2>>1];break;case 2:l=0|_[u+4>>2];break;default:l=0|r[u+1|0]}switch(l=o+(0|g(m,l))|0,y?(b=l+8|0,A=+p[l+4>>2]*+p[h+8>>2],f=+p[l>>2]*+p[h+4>>2],d=+p[h+12>>2]):(b=h+12|0,A=+p[h+8>>2]*+c[l+8>>3],f=+p[h+4>>2]*+c[l>>3],d=+c[l+16>>3]),d=+p[b>>2]*d,p[t+28>>2]=f,p[t+32>>2]=A,p[t+36>>2]=d,p[t+40>>2]=0,0|n){case 3:l=0|s[u>>1];break;case 2:l=0|_[u>>2];break;default:l=0|r[0|u]}return l=o+(0|g(m,l))|0,y?(A=+p[l+4>>2]*+p[h+8>>2],d=+p[l>>2]*+p[h+4>>2],m=l+8|0,f=+p[h+12>>2],f*=C=+p[m>>2],p[(h=t+12|0)>>2]=d,p[(h=t+16|0)>>2]=A,p[(h=t+20|0)>>2]=f,p[(h=t+24|0)>>2]=0,h=0|_[(h=t+8|0)>>2],m=0|_[h>>2],m=0|_[(m=m+8|0)>>2],y=t+12|0,pd[127&m](h,y,e,i),y=0|_[t+4>>2],h=0|_[y>>2],h=0|_[(h=h+24|0)>>2],ed[127&h](y,e),void(Q=a)):(f=+p[h+8>>2]*+c[l+8>>3],A=+p[h+4>>2]*+c[l>>3],h=h+12|0,C=+c[l+16>>3],C*=d=+p[h>>2],p[(h=t+12|0)>>2]=A,p[(h=t+16|0)>>2]=f,p[(h=t+20|0)>>2]=C,p[(h=t+24|0)>>2]=0,h=0|_[(h=t+8|0)>>2],m=0|_[h>>2],m=0|_[(m=m+8|0)>>2],y=t+12|0,pd[127&m](h,y,e,i),y=0|_[t+4>>2],h=0|_[y>>2],h=0|_[(h=h+24|0)>>2],ed[127&h](y,e),void(Q=a))},Ye,Ye,function(t,e,i){e|=0,i|=0;var n,o=0,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0;if(n=Q,Q=Q+2048|0,_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,(o=+p[i>>2])*o+(s=+p[i+4>>2])*s+(r=+p[i+8>>2])*r<9999999747378752e-20?(A=1,d=0,s=0):(A=o*(u=1/+b(+(o*o+s*s+r*r))),d=s*u,s=r*u),(0|Gl[127&_[96+(0|_[e>>2])>>2]](e))<=0)Q=n;else{for(l=0,r=-0xde0b6b000000000;;){if(((0|Gl[127&_[96+(0|_[e>>2])>>2]](e))-l|0)<128?(0|(i=(0|Gl[127&_[96+(0|_[e>>2])>>2]](e))-l|0))>0?f=8:(o=-34028234663852886e22,i=-1):(i=128,f=8),8==(0|f)){f=0,c=0;do{_d[127&_[108+(0|_[e>>2])>>2]](e,c,n+(c<<4)|0),c=c+1|0}while((0|c)!=(0|i));c=-1,a=0,o=-34028234663852886e22;do{c=(m=(u=A*+p[n+(a<<4)>>2]+d*+p[n+(a<<4)+4>>2]+s*+p[n+(a<<4)+8>>2])>o)?a:c,o=m?u:o,a=a+1|0}while((0|a)!=(0|i));i=c}if(o>r?(m=n+(i<<4)|0,_[t>>2]=_[m>>2],_[t+4>>2]=_[m+4>>2],_[t+8>>2]=_[m+8>>2],_[t+12>>2]=_[m+12>>2]):o=r,(0|(l=l+128|0))>=(0|Gl[127&_[96+(0|_[e>>2])>>2]](e)))break;r=o}Q=n}},kn,function(t,e,i){t|=0,i|=0;var n,o,r,s,c,a,l=0,d=0,b=0,A=0,f=0;if((0|(c=0|_[96+(e|=0)>>2]))<=0)return _[t>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,void(_[t+12>>2]=0);for(a=+p[e+12>>2],f=+p[i>>2]*a,r=+p[e+16>>2],A=+p[i+4>>2]*r,s=+p[e+20>>2],o=+p[i+8>>2]*s,n=0|_[e+104>>2],i=-1,e=0,l=-34028234663852886e22;i=(b=(d=f*+p[n+(e<<4)>>2]+A*+p[n+(e<<4)+4>>2]+o*+p[n+(e<<4)+8>>2])>l)?e:i,(0|(e=e+1|0))!=(0|c);)l=b?d:l;A=r*+p[n+(i<<4)+4>>2],f=s*+p[n+(i<<4)+8>>2],p[t>>2]=a*+p[n+(i<<4)>>2],p[t+4>>2]=A,p[t+8>>2]=f,p[t+12>>2]=0},function(t,e,i){var n,o,r;e|=0,i|=0,r=0|_[104+(t|=0)>>2],o=+p[r+(e<<4)+4>>2]*+p[t+16>>2],n=+p[r+(e<<4)+8>>2]*+p[t+20>>2],p[i>>2]=+p[r+(e<<4)>>2]*+p[t+12>>2],p[i+4>>2]=o,p[i+8>>2]=n,p[i+12>>2]=0},function(t,e,i){e|=0,i|=0;var n,o,r,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0;r=Q,Q=Q+16|0,_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,(s=+p[i>>2])*s+(c=+p[i+4>>2])*c+(a=+p[i+8>>2])*a<9999999747378752e-20?(u=1,f=0,A=0):(u=s*(A=1/+b(+(s*s+c*c+a*a))),f=c*A,A*=a),i=0|_[e+52>>2],d=+p[e+28+((i+2|0)%3<<2)>>2],_[r>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+(i<<2)>>2]=_[e+28+(i<<2)>>2],n=u*d,o=f*d,d*=A,s=n+ +p[r>>2],c=o+ +p[r+4>>2],l=d+ +p[r+8>>2],s-=u*(a=+Il[15&_[48+(0|_[e>>2])>>2]](e)),c-=f*a,(l=A*(a=l-A*a)+(u*s+f*c))>-0xde0b6b000000000?(p[t>>2]=s,p[t+4>>2]=c,p[t+8>>2]=a,p[t+12>>2]=0):l=-0xde0b6b000000000,_[r>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,i=0|_[e+52>>2],p[r+(i<<2)>>2]=-+p[e+28+(i<<2)>>2],s=n+ +p[r>>2],c=o+ +p[r+4>>2],d+=+p[r+8>>2],s-=u*(a=+Il[15&_[48+(0|_[e>>2])>>2]](e)),c-=f*a,A*(a=d-A*a)+(u*s+f*c)>l?(p[t>>2]=s,p[t+4>>2]=c,p[t+8>>2]=a,p[t+12>>2]=0,Q=r):Q=r},kn,function(t,e,i){e|=0,i|=0;var n,o,r,s=0,c=0,l=0,d=0,A=0;r=Q,Q=Q+80|0,_[(t|=0)>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,(s=+p[i>>2])*s+(n=+p[i+4>>2])*n+(o=+p[i+8>>2])*o<9999999747378752e-20?(l=1065353216,c=0,s=0,i=0):(A=1/+b(+(s*s+n*n+o*o)),p[a>>2]=s*A,l=0|_[a>>2],p[a>>2]=n*A,d=0|_[a>>2],p[a>>2]=o*A,c=0|_[a>>2],s=+p[i+12>>2],i=d),_[r+32>>2]=8820,_[(d=r+32+4|0)>>2]=0,_[d+4>>2]=0,_[d+8>>2]=0,_[d+12>>2]=0,p[r+32+20>>2]=-0xde0b6b000000000,_[r+32+24>>2]=l,_[r+32+28>>2]=i,_[r+32+32>>2]=c,p[r+32+36>>2]=s,_[r+16>>2]=1566444395,_[r+16+4>>2]=1566444395,_[r+16+8>>2]=1566444395,p[r+16+12>>2]=0,e=0|_[e+92>>2],l=0|_[8+(0|_[e>>2])>>2],p[r>>2]=-0xde0b6b000000000,p[r+4>>2]=-0xde0b6b000000000,p[r+8>>2]=-0xde0b6b000000000,p[r+12>>2]=0,pd[127&l](e,r+32|0,r,r+16|0),_[t>>2]=_[d>>2],_[t+4>>2]=_[d+4>>2],_[t+8>>2]=_[d+8>>2],_[t+12>>2]=_[d+12>>2],Q=r},jc,function(t,e,i){t|=0,i|=0;var n,o,r,s=0,c=0;o=+p[28+(e|=0)>>2],r=+p[e+32>>2],s=+p[e+36>>2],n=+Il[15&_[48+(0|_[e>>2])>>2]](e),c=+Il[15&_[48+(0|_[e>>2])>>2]](e),s+=+Il[15&_[48+(0|_[e>>2])>>2]](e),c=+p[i+4>>2]>=0?r+c:-(r+c),s=+p[i+8>>2]>=0?s:-s,p[t>>2]=+p[i>>2]>=0?o+n:-(o+n),p[t+4>>2]=c,p[t+8>>2]=s,p[t+12>>2]=0},function(t,e,i){t|=0,i|=0;var n,o=0,_=0;n=+p[28+(e|=0)>>2],_=+p[e+32>>2],_=+p[i+4>>2]>=0?_:-_,o=+p[e+36>>2],o=+p[i+8>>2]>=0?o:-o,p[t>>2]=+p[i>>2]>=0?n:-n,p[t+4>>2]=_,p[t+8>>2]=o,p[t+12>>2]=0},function(t,e,i){t|=0,i|=0;var n=0;switch(0|(e|=0)){case 0:t=0,e=0,n=1065353216;break;case 1:t=0,e=0,n=-1082130432;break;case 2:t=0,e=1065353216,n=0;break;case 3:t=0,e=-1082130432,n=0;break;case 4:t=1065353216,e=0,n=0;break;case 5:t=-1082130432,e=0,n=0;break;default:return}_[i>>2]=n,_[i+4>>2]=e,_[i+8>>2]=t,p[i+12>>2]=0},function(t,e,i){e|=0,i|=0;var n,o,r,s,c,a=0;c=+p[28+(t|=0)>>2],r=+p[t+32>>2],a=+p[t+36>>2],s=+Il[15&_[48+(0|_[t>>2])>>2]](t),o=+Il[15&_[48+(0|_[t>>2])>>2]](t),a+=+Il[15&_[48+(0|_[t>>2])>>2]](t),n=e>>>1&1,t=e>>>2&1,p[i>>2]=(c+s)*+(1&e^1)-(c+s)*+(1&e),p[i+4>>2]=(r+o)*+(1^n)-(r+o)*+(0|n),p[i+8>>2]=a*+(1^t)-a*+(0|t),p[i+12>>2]=0},function(t,e,i){e|=0,i|=0;var n,o,r=0,s=0;switch(r=+p[28+(t|=0)>>2],o=+p[t+32>>2],n=+p[t+36>>2],0|i){case 0:t=0,i=0,s=1065353216;break;case 1:t=0,i=0,s=-1082130432;break;case 2:t=0,i=1065353216,s=0,r=o;break;case 3:t=0,i=-1082130432,s=0,r=o;break;case 4:t=1065353216,i=0,s=0,r=n;break;case 5:t=-1082130432,i=0,s=0,r=n;break;default:return}_[e>>2]=s,_[e+4>>2]=i,_[e+8>>2]=t,p[e+12>>2]=-r},function(t,e,i){t|=0,i|=0;var n,o,r,s=0,c=0,a=0;n=Q,Q=Q+16|0,_d[127&_[68+(0|_[(e|=0)>>2])>>2]](n,e,i),_[t>>2]=_[n>>2],_[t+4>>2]=_[n+4>>2],_[t+8>>2]=_[n+8>>2],_[t+12>>2]=_[n+12>>2],0!=+Il[15&_[48+(0|_[e>>2])>>2]](e)?(r=(a=+p[i>>2])*a+(s=+p[i+4>>2])*s+(c=+p[i+8>>2])*c<14210854715202004e-30?-1:a,o=a*a+s*s+c*c<14210854715202004e-30?-1:s,s=1/+b(+((c=a*a+s*s+c*c<14210854715202004e-30?-1:c)*c+(r*r+o*o))),a=+Il[15&_[48+(0|_[e>>2])>>2]](e),p[t>>2]=+p[t>>2]+a*(r*s),p[t+4>>2]=+p[t+4>>2]+a*(o*s),p[t+8>>2]=+p[t+8>>2]+a*(c*s),Q=n):Q=n},function(t,e,i){t|=0,i|=0;var n,o,_,r=0,s=0,c=0;r=+p[28+(e|=0)>>2],n=+p[e+32>>2],_=+p[i>>2],s=+p[i+8>>2],0!=(o=+b(+(_*_+s*s)))?(c=s*(r/o),s=+p[i+4>>2]<0?-n:n,r=_*(r/o)):(c=0,s=+p[i+4>>2]<0?-n:n),p[t>>2]=r,p[t+4>>2]=s,p[t+8>>2]=c},function(t,e,i){t|=0,i|=0;var n,o,_,r=0,s=0,c=0;r=+p[32+(e|=0)>>2],n=+p[e+28>>2],_=+p[i+4>>2],s=+p[i+8>>2],0!=(o=+b(+(_*_+s*s)))?(c=s*(r/o),s=+p[i>>2]<0?-n:n,r=_*(r/o)):(c=0,s=+p[i>>2]<0?-n:n),p[t+4>>2]=r,p[t>>2]=s,p[t+8>>2]=c},function(t,e,i){t|=0,i|=0;var n,o,_,r=0,s=0,c=0;r=+p[28+(e|=0)>>2],n=+p[e+36>>2],_=+p[i>>2],s=+p[i+4>>2],0!=(o=+b(+(_*_+s*s)))?(c=s*(r/o),s=+p[i+8>>2]<0?-n:n,r=_*(r/o)):(c=0,s=+p[i+8>>2]<0?-n:n),p[t>>2]=r,p[t+8>>2]=s,p[t+4>>2]=c},function(t,e,i){e|=0,i|=0,_[52+(t|=0)>>2]=_[e>>2],_[t+52+4>>2]=_[e+4>>2],_[t+52+8>>2]=_[e+8>>2],_[t+52+12>>2]=_[e+12>>2],_[t+68>>2]=_[i>>2],_[t+68+4>>2]=_[i+4>>2],_[t+68+8>>2]=_[i+8>>2],_[t+68+12>>2]=_[i+12>>2],_[t+48>>2]=1},function(t,e,i){t|=0,i|=0,_[(e|=0)>>2]=_[t+52>>2],_[e+4>>2]=_[t+52+4>>2],_[e+8>>2]=_[t+52+8>>2],_[e+12>>2]=_[t+52+12>>2],_[i>>2]=_[t+68>>2],_[i+4>>2]=_[t+68+4>>2],_[i+8>>2]=_[t+68+8>>2],_[i+12>>2]=_[t+68+12>>2]},function(t,e,i){e|=0,i|=0;var n=0,r=0,p=0,c=0,a=0,l=0,d=0,b=0,A=0;if(0|(n=0|_[108+(t|=0)>>2])&&_d[127&_[12+(0|_[n>>2])>>2]](n,0|_[e+60>>2],i),A=0|_[e+12>>2],d=0|_[t+60>>2],b=0|_[t+92>>2],0|Gl[127&_[56+(0|_[b>>2])>>2]](b)||(b=0|_[t+92>>2],_d[127&_[16+(0|_[b>>2])>>2]](b,d+((65535&A)<<6)|0,i)),b=0|s[t+56>>1],e=0|_[t+60>>2],o[e+54>>1]=65534+(0|s[e+54>>1]),o[e+56>>1]=65534+(0|s[e+56>>1]),o[e+58>>1]=65534+(0|s[e+58>>1]),l=0|_[t+68>>2],n=0|o[t+6>>1],i=0|s[d+((65535&A)<<6)+54>>1],o[l+(i<<2)>>1]=n,(r=0|o[l+(i<<2)+6>>1])<<16>>16){for(c=e+(s[l+(i<<2)+2>>1]<<6)+54|0,p=l+(i<<2)|0;i=p,!((65535&n)<(65535&(e=0|o[(p=p+4|0)>>1])))&&(n=0|_[t+60>>2],a=65535&r,o[(e=1&e?n+(a<<6)+54|0:n+(a<<6)+48|0)>>1]=(0|o[e>>1])-1<<16>>16,o[c>>1]=1+(0|o[c>>1])<<16>>16,e=s[i>>1]|s[i+2>>1]<<16,a=s[p>>1]|s[p+2>>1]<<16,o[i>>1]=a,o[i+2>>1]=a>>>16,o[p>>1]=e,o[p+2>>1]=e>>>16,(r=0|o[i+10>>1])<<16>>16);)n=65535&e;n=0|o[t+6>>1],i=0|_[t+68>>2]}else i=l;if(e=0|s[d+((65535&A)<<6)+48>>1],o[l+(e<<2)>>1]=n,(r=0|o[6+(p=i+(e<<2)|0)>>1])<<16>>16){for(a=(0|_[t+60>>2])+(s[i+(e<<2)+2>>1]<<6)+48|0,c=p,i=0|o[p>>1];n=c,!((65535&i)<(65535&(e=0|o[(c=c+4|0)>>1])))&&(i=0|_[t+60>>2],p=65535&r,o[(e=1&e?i+(p<<6)+54|0:i+(p<<6)+48|0)>>1]=(0|o[e>>1])-1<<16>>16,o[a>>1]=1+(0|o[a>>1])<<16>>16,e=s[n>>1]|s[n+2>>1]<<16,p=s[c>>1]|s[c+2>>1]<<16,o[n>>1]=p,o[n+2>>1]=p>>>16,o[c>>1]=e,o[c+2>>1]=e>>>16,(r=0|o[n+10>>1])<<16>>16);)i=65535&e;n=0|o[t+6>>1]}if(o[l+((b<<1)-1<<2)+2>>1]=0,o[l+((b<<1)-1<<2)>>1]=n,l=0|_[t+72>>2],e=0|s[d+((65535&A)<<6)+56>>1],o[l+(e<<2)>>1]=n,(i=0|o[l+(e<<2)+6>>1])<<16>>16){for(c=(0|_[t+60>>2])+(s[l+(e<<2)+2>>1]<<6)+56|0,p=l+(e<<2)|0;r=p,!((65535&n)<(65535&(e=0|o[(p=p+4|0)>>1])))&&(n=0|_[t+60>>2],a=65535&i,o[(e=1&e?n+(a<<6)+56|0:n+(a<<6)+50|0)>>1]=(0|o[e>>1])-1<<16>>16,o[c>>1]=1+(0|o[c>>1])<<16>>16,e=s[r>>1]|s[r+2>>1]<<16,a=s[p>>1]|s[p+2>>1]<<16,o[r>>1]=a,o[r+2>>1]=a>>>16,o[p>>1]=e,o[p+2>>1]=e>>>16,(i=0|o[r+10>>1])<<16>>16);)n=65535&e;n=0|o[t+6>>1],i=0|_[t+72>>2]}else i=l;if(e=0|s[d+((65535&A)<<6)+50>>1],o[l+(e<<2)>>1]=n,(p=0|o[6+(r=i+(e<<2)|0)>>1])<<16>>16){for(a=(0|_[t+60>>2])+(s[i+(e<<2)+2>>1]<<6)+50|0,c=r,i=0|o[r>>1],r=p;n=c,!((65535&i)<(65535&(e=0|o[(c=c+4|0)>>1])))&&(i=0|_[t+60>>2],p=65535&r,o[(e=1&e?i+(p<<6)+56|0:i+(p<<6)+50|0)>>1]=(0|o[e>>1])-1<<16>>16,o[a>>1]=1+(0|o[a>>1])<<16>>16,e=s[n>>1]|s[n+2>>1]<<16,p=s[c>>1]|s[c+2>>1]<<16,o[n>>1]=p,o[n+2>>1]=p>>>16,o[c>>1]=e,o[c+2>>1]=e>>>16,(r=0|o[n+10>>1])<<16>>16);)i=65535&e;n=0|o[t+6>>1]}if(o[l+((b<<1)-1<<2)+2>>1]=0,o[l+((b<<1)-1<<2)>>1]=n,l=0|_[t+76>>2],e=0|s[d+((65535&A)<<6)+58>>1],o[l+(e<<2)>>1]=n,(i=0|o[l+(e<<2)+6>>1])<<16>>16){for(c=(0|_[t+60>>2])+(s[l+(e<<2)+2>>1]<<6)+58|0,p=l+(e<<2)|0;r=p,!((65535&n)<(65535&(e=0|o[(p=p+4|0)>>1])))&&(n=0|_[t+60>>2],a=65535&i,o[(e=1&e?n+(a<<6)+58|0:n+(a<<6)+52|0)>>1]=(0|o[e>>1])-1<<16>>16,o[c>>1]=1+(0|o[c>>1])<<16>>16,e=s[r>>1]|s[r+2>>1]<<16,a=s[p>>1]|s[p+2>>1]<<16,o[r>>1]=a,o[r+2>>1]=a>>>16,o[p>>1]=e,o[p+2>>1]=e>>>16,(i=0|o[r+10>>1])<<16>>16);)n=65535&e;n=0|o[t+6>>1],i=0|_[t+76>>2]}else i=l;if(e=0|s[d+((65535&A)<<6)+52>>1],o[l+(e<<2)>>1]=n,!((p=0|o[6+(r=i+(e<<2)|0)>>1])<<16>>16))return a=n,o[(d=l+((b<<1)-1<<2)+2|0)>>1]=0,o[(d=l+((b<<1)-1<<2)|0)>>1]=a,d=0|_[t+60>>2],l=0|o[(b=t+64|0)>>1],o[(d=d+((65535&A)<<6)+48|0)>>1]=l,o[b>>1]=A,A=(A=0|o[t+56>>1])-1<<16>>16,void(o[t+56>>1]=A);for(a=(0|_[t+60>>2])+(s[i+(e<<2)+2>>1]<<6)+52|0,c=r,i=0|o[r>>1],r=p;n=c,!((65535&i)<(65535&(e=0|o[(c=c+4|0)>>1])))&&(p=0|_[t+60>>2],d=65535&r,o[(e=1&e?p+(d<<6)+58|0:p+(d<<6)+52|0)>>1]=(0|o[e>>1])-1<<16>>16,o[a>>1]=1+(0|o[a>>1])<<16>>16,e=s[n>>1]|s[n+2>>1]<<16,d=s[c>>1]|s[c+2>>1]<<16,o[n>>1]=d,o[n+2>>1]=d>>>16,o[c>>1]=e,o[c+2>>1]=e>>>16,(r=0|o[n+10>>1])<<16>>16);)i=65535&e;a=0|o[t+6>>1],o[(d=l+((b<<1)-1<<2)+2|0)>>1]=0,o[(d=l+((b<<1)-1<<2)|0)>>1]=a,d=0|_[t+60>>2],l=0|o[(b=t+64|0)>>1],o[(d=d+((65535&A)<<6)+48|0)>>1]=l,o[b>>1]=A,A=(A=0|o[t+56>>1])-1<<16>>16,o[t+56>>1]=A},function(t,e,i){t|=0,i|=0,_[(e|=0)>>2]=_[t+8>>2],_[e+4>>2]=_[t+8+4>>2],_[e+8>>2]=_[t+8+8>>2],_[e+12>>2]=_[t+8+12>>2],_[i>>2]=_[t+24>>2],_[i+4>>2]=_[t+24+4>>2],_[i+8>>2]=_[t+24+8>>2],_[i+12>>2]=_[t+24+12>>2]},jc,jc,jc,jc,function(t,e,i){var n;t|=0,e|=0,i|=0,n=Q,Q=Q+16|0,_[n>>2]=9816,_[n+4>>2]=e,_d[127&_[48+(0|_[t>>2])>>2]](t,n,i),Q=n},function(t,e,i){t|=0,!!(0|(i|=0))&!!(0|(t=0|_[8+(e|=0)>>2]))&&(Xl[511&_[_[t>>2]>>2]](t),ed[127&_[60+(0|_[i>>2])>>2]](i,0|_[e+8>>2]),_[e+8>>2]=0)},function(t,e,i){var n;t|=0,e|=0,i|=0,n=Q,Q=Q+16|0,_[n>>2]=9796,_[n+4>>2]=e,_[n+8>>2]=t,_[n+12>>2]=i,_d[127&_[48+(0|_[t>>2])>>2]](t,n,i),Q=n},function(t,e,i){e|=0,i|=0;var n=0,o=0,r=0;if(!((0|_[8+(t|=0)>>2])<=0)){n=0;do{r=(o=0|_[t+16>>2])+(n<<4)|0,0|Ll[31&_[8+(0|_[e>>2])>>2]](e,r)?(Hl[31&_[12+(0|_[t>>2])>>2]](t,0|_[r>>2],0|_[o+(n<<4)+4>>2],i),_[6606]=(0|_[6606])-1):n=n+1|0}while((0|n)<(0|_[t+8>>2]))}},function(t,e,i){t|=0,i|=0;var o=0,r=0;2==(0|_[60+(e|=0)>>2])?(Tt(t+64|0,r=0|_[e+48>>2]),0|(o=0|_[t+68>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2])),_[t+68>>2]=r,_[t+76>>2]=(0|_[t+76>>2])-1):(Tt(t+4|0,o=0|_[e+48>>2]),0|(r=0|_[t+8>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[r+-4>>2])),_[t+8>>2]=o,_[t+16>>2]=(0|_[t+16>>2])-1),o=(o=0|_[e+52>>2])?o+56|0:t+124+(_[e+60>>2]<<2)|0,_[o>>2]=_[e+56>>2],0|(o=0|_[e+56>>2])&&(_[o+52>>2]=_[e+52>>2]),r=0|_[t+136>>2],_d[127&_[16+(0|_[r>>2])>>2]](r,e,i),_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),n[t+194|0]=1},function(t,e,i){e|=0,i|=0;var n,o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0;n=0|_[4+(t|=0)>>2],t=0|_[t+64>>2];do{if(n){if(o=+p[n>>2],!t){b=+p[n+12>>2],a=+p[n+16>>2],d=+p[n+20>>2],c=+p[n+24>>2],l=+p[n+28>>2],s=+p[n+4>>2],r=+p[n+8>>2];break}o=o<(l=+p[t>>2])?o:l,a=(l=+p[n+16>>2])>(a=+p[t+16>>2])?l:a,s=(l=+p[n+4>>2])<(s=+p[t+4>>2])?l:s,d=(l=+p[n+20>>2])>(d=+p[t+20>>2])?l:d,r=(l=+p[n+8>>2])<(r=+p[t+8>>2])?l:r,(l=+p[n+24>>2])>(c=+p[t+24>>2])?(b=0,c=l,l=0):(b=0,l=0)}else t?(o=+p[t>>2],b=+p[t+12>>2],a=+p[t+16>>2],d=+p[t+20>>2],c=+p[t+24>>2],l=+p[t+28>>2],s=+p[t+4>>2],r=+p[t+8>>2]):(o=0,b=0,a=0,d=0,c=0,l=0,s=0,r=0)}while(0);p[e>>2]=o,p[e+4>>2]=s,p[e+8>>2]=r,p[e+12>>2]=b,p[i>>2]=a,p[i+4>>2]=d,p[i+8>>2]=c,p[i+12>>2]=l},function(t,e,i){var n;t|=0,(0|(e|=0))!=(0|(i|=0))&&(n=0|_[136+(0|_[t+4>>2])>>2],El[63&_[8+(0|_[n>>2])>>2]](n,0|_[e+36>>2],0|_[i+36>>2]),i=160+(0|_[t+4>>2])|0,_[i>>2]=1+(0|_[i>>2]))},jc,jc,jc,jc,function(t,e,i){e|=0,i|=0;var n,o,r,s=0,c=0,a=0;r=Q,Q=Q+80|0,o=0|_[_[(t|=0)>>2]>>2],n=0|_[_[t+4>>2]>>2],0|El[63&_[24+(0|_[e>>2])>>2]](e,o,n)?(c=0|_[o+192>>2],_[r+56>>2]=0,_[r+56+4>>2]=c,_[r+56+8>>2]=o,_[r+56+12>>2]=o+4,_[r+56+16>>2]=-1,_[r+56+20>>2]=-1,c=0|_[n+192>>2],_[r+32>>2]=0,_[r+32+4>>2]=c,_[r+32+8>>2]=n,_[r+32+12>>2]=n+4,_[r+32+16>>2]=-1,_[r+32+20>>2]=-1,(c=0|_[t+8>>2])?a=4:(c=0|Hl[31&_[8+(0|_[e>>2])>>2]](e,r+56|0,r+32|0,0),_[t+8>>2]=c,0|c&&(a=4)),4==(0|a)&&(_[r>>2]=6500,_[r+4>>2]=0,_[r+8>>2]=r+56,_[r+12>>2]=r+32,1!=(0|_[i+8>>2])?(s=+Tl[15&_[12+(0|_[c>>2])>>2]](c,o,n,i,r),+p[i+12>>2]>s&&(p[i+12>>2]=s)):dd[31&_[8+(0|_[c>>2])>>2]](c,r+56|0,r+32|0,i,r)),Q=r):Q=r},ye,function(t,e,i){t|=0,e|=0,i|=0;var n,o=0,r=0,s=0,c=0;switch(n=Q,Q=Q+32|0,_[n+16>>2]=_[i>>2],_[n+16+4>>2]=_[i+4>>2],_[n+16+8>>2]=_[i+8>>2],_[n+16+12>>2]=_[i+12>>2],(r=+p[n+16>>2])*r+(s=+p[n+16+4>>2])*s+(o=+p[n+16+8>>2])*o<14210854715202004e-30&&(_[n+16>>2]=-1082130432,_[n+16+4>>2]=-1082130432,_[n+16+8>>2]=-1082130432,p[n+16+12>>2]=0,r=-1,s=-1,o=-1),c=1/+b(+(r*r+s*s+o*o)),p[n+16>>2]=r*c,p[n+16+4>>2]=s*c,p[n+16+8>>2]=o*c,ye(n,e,n+16|0),0|_[e+4>>2]){case 8:o=+p[e+28>>2]*+p[e+12>>2];break;case 0:case 1:case 13:case 11:case 10:case 4:case 5:o=+p[e+44>>2];break;default:o=+Il[15&_[48+(0|_[e>>2])>>2]](e)}s=o*+p[n+16+4>>2]+ +p[n+4>>2],c=o*+p[n+16+8>>2]+ +p[n+8>>2],p[t>>2]=o*+p[n+16>>2]+ +p[n>>2],p[t+4>>2]=s,p[t+8>>2]=c,p[t+12>>2]=0,Q=n},Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za,Za],rd=[Ra,Ms,function(t,e,i,o){e|=0,i|=0,o=+o;var r,s=0,c=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,tt=0,et=0,it=0;if(r=Q,Q=Q+448|0,0|n[527+(t|=0)|0]){if(P=0|_[t+28>>2],I=+p[t+348>>2],D=+p[t+352>>2],T=+p[t+356>>2],B=+p[P+52>>2],W=I*+p[P+4>>2]+D*+p[P+8>>2]+T*+p[P+12>>2]+B,F=+p[P+56>>2],x=I*+p[P+20>>2]+D*+p[P+24>>2]+T*+p[P+28>>2]+F,O=+p[P+60>>2],T=I*+p[P+36>>2]+D*+p[P+40>>2]+T*+p[P+44>>2]+O,M=0|_[t+32>>2],D=+p[t+412>>2],I=+p[t+416>>2],g=+p[t+420>>2],l=+p[M+52>>2],d=D*+p[M+4>>2]+I*+p[M+8>>2]+g*+p[M+12>>2]+l,A=+p[M+56>>2],f=D*+p[M+20>>2]+I*+p[M+24>>2]+g*+p[M+28>>2]+A,y=+p[M+60>>2],g=D*+p[M+36>>2]+I*+p[M+40>>2]+g*+p[M+44>>2]+y,!(0|n[t+524|0])){j=+p[e+192>>2]+ +p[e+80>>2],D=+p[e+196>>2]+ +p[e+84>>2],R=+p[e+200>>2]+ +p[e+88>>2],I=+p[i+192>>2]+ +p[i+80>>2],w=+p[i+196>>2]+ +p[i+84>>2],v=+p[i+200>>2]+ +p[i+88>>2],C=+p[e+176>>2]+ +p[e+64>>2]+((T-O)*D-(x-F)*R)-(+p[i+176>>2]+ +p[i+64>>2]+((g-y)*w-(f-A)*v)),v=+p[e+180>>2]+ +p[e+68>>2]+((W-B)*R-(T-O)*j)-(+p[i+180>>2]+ +p[i+68>>2]+((d-l)*v-(g-y)*I)),w=+p[e+184>>2]+ +p[e+72>>2]+((x-F)*j-(W-B)*D)-(+p[i+184>>2]+ +p[i+72>>2]+((f-A)*I-(d-l)*w)),u=!(0|_[e+240>>2]),m=!(0|_[i+240>>2]),s=0;do{R=(I=1/+p[t+48+(84*s|0)+80>>2])*(-.30000001192092896*((W-d)*(D=+p[(h=t+48+(84*s|0)|0)>>2])+(x-f)*(j=+p[(S=t+48+(84*s|0)+4|0)>>2])+(T-g)*(R=+p[(k=t+48+(84*s|0)+8|0)>>2]))/o)-I*(C*D+v*j+w*R),p[t+36>>2]=+p[t+36>>2]+R,j=+p[k>>2],D=+p[S>>2],I=+p[h>>2],c=+p[P+344>>2],u||(Z=((x-F)*j-(T-O)*D)*+p[P+296>>2]+((T-O)*I-(W-B)*j)*+p[P+300>>2]+((W-B)*D-(x-F)*I)*+p[P+304>>2],E=((x-F)*j-(T-O)*D)*+p[P+280>>2]+((T-O)*I-(W-B)*j)*+p[P+284>>2]+((W-B)*D-(x-F)*I)*+p[P+288>>2],H=((x-F)*j-(T-O)*D)*+p[P+264>>2]+((T-O)*I-(W-B)*j)*+p[P+268>>2]+((W-B)*D-(x-F)*I)*+p[P+272>>2],Y=R*(D*c)*+p[e+116>>2],U=R*(j*c)*+p[e+120>>2],p[e+64>>2]=R*(I*c)*+p[e+112>>2]+ +p[e+64>>2],p[e+68>>2]=Y+ +p[e+68>>2],p[e+72>>2]=U+ +p[e+72>>2],E*=R*+p[e+100>>2],c=Z*(R*+p[e+104>>2]),p[e+80>>2]=H*(R*+p[e+96>>2])+ +p[e+80>>2],p[e+84>>2]=E+ +p[e+84>>2],p[e+88>>2]=c+ +p[e+88>>2]),c=+p[M+344>>2],m||(Y=((f-A)*j-(g-y)*D)*+p[M+296>>2]+((g-y)*I-(d-l)*j)*+p[M+300>>2]+((d-l)*D-(f-A)*I)*+p[M+304>>2],U=((f-A)*j-(g-y)*D)*+p[M+280>>2]+((g-y)*I-(d-l)*j)*+p[M+284>>2]+((d-l)*D-(f-A)*I)*+p[M+288>>2],Z=((f-A)*j-(g-y)*D)*+p[M+264>>2]+((g-y)*I-(d-l)*j)*+p[M+268>>2]+((d-l)*D-(f-A)*I)*+p[M+272>>2],E=c*+p[S>>2]*-R*+p[i+116>>2],H=c*+p[k>>2]*-R*+p[i+120>>2],p[i+64>>2]=+p[i+112>>2]*(c*+p[h>>2]*-R)+ +p[i+64>>2],p[i+68>>2]=E+ +p[i+68>>2],p[i+72>>2]=H+ +p[i+72>>2],U*=+p[i+100>>2]*-R,Y*=+p[i+104>>2]*-R,p[i+80>>2]=Z*(+p[i+96>>2]*-R)+ +p[i+80>>2],p[i+84>>2]=U+ +p[i+84>>2],p[i+88>>2]=Y+ +p[i+88>>2]),s=s+1|0}while(3!=(0|s))}do{if(0|n[t+552|0])_[r+352>>2]=_[P+4>>2],_[r+352+4>>2]=_[P+4+4>>2],_[r+352+8>>2]=_[P+4+8>>2],_[r+352+12>>2]=_[P+4+12>>2],_[r+352+16>>2]=_[P+20>>2],_[r+352+16+4>>2]=_[P+20+4>>2],_[r+352+16+8>>2]=_[P+20+8>>2],_[r+352+16+12>>2]=_[P+20+12>>2],_[r+352+32>>2]=_[P+36>>2],_[r+352+32+4>>2]=_[P+36+4>>2],_[r+352+32+8>>2]=_[P+36+8>>2],_[r+352+32+12>>2]=_[P+36+12>>2],_[r+352+48>>2]=_[P+52>>2],_[r+352+48+4>>2]=_[P+52+4>>2],_[r+352+48+8>>2]=_[P+52+8>>2],_[r+352+48+12>>2]=_[P+52+12>>2],_[r+288>>2]=_[M+4>>2],_[r+288+4>>2]=_[M+4+4>>2],_[r+288+8>>2]=_[M+4+8>>2],_[r+288+12>>2]=_[M+4+12>>2],_[r+288+16>>2]=_[M+20>>2],_[r+288+16+4>>2]=_[M+20+4>>2],_[r+288+16+8>>2]=_[M+20+8>>2],_[r+288+16+12>>2]=_[M+20+12>>2],_[r+288+32>>2]=_[M+36>>2],_[r+288+32+4>>2]=_[M+36+4>>2],_[r+288+32+8>>2]=_[M+36+8>>2],_[r+288+32+12>>2]=_[M+36+12>>2],_[r+288+48>>2]=_[M+52>>2],_[r+288+48+4>>2]=_[M+52+4>>2],_[r+288+48+8>>2]=_[M+52+8>>2],_[r+288+48+12>>2]=_[M+52+12>>2],Z=+p[e+196>>2]+ +p[e+84>>2],C=+p[e+200>>2]+ +p[e+88>>2],p[r+272>>2]=+p[e+192>>2]+ +p[e+80>>2],p[r+272+4>>2]=Z,p[r+272+8>>2]=C,p[r+272+12>>2]=0,C=+p[i+196>>2]+ +p[i+84>>2],Z=+p[i+200>>2]+ +p[i+88>>2],p[r+256>>2]=+p[i+192>>2]+ +p[i+80>>2],p[r+256+4>>2]=C,p[r+256+8>>2]=Z,p[r+256+12>>2]=0,_[r+192>>2]=1065353216,_[(N=r+192+4|0)>>2]=0,_[N+4>>2]=0,_[N+8>>2]=0,_[N+12>>2]=0,_[r+192+20>>2]=1065353216,_[(L=r+192+24|0)>>2]=0,_[L+4>>2]=0,_[L+8>>2]=0,_[L+12>>2]=0,_[r+192+40>>2]=1065353216,_[(V=r+192+44|0)>>2]=0,_[V+4>>2]=0,_[V+8>>2]=0,_[V+12>>2]=0,_[V+16>>2]=0,Bt(r+352|0,0,0,0,r+272|0,o,r+192|0),_[r+128>>2]=1065353216,_[(V=r+128+4|0)>>2]=0,_[V+4>>2]=0,_[V+8>>2]=0,_[V+12>>2]=0,_[r+128+20>>2]=1065353216,_[(G=r+128+24|0)>>2]=0,_[G+4>>2]=0,_[G+8>>2]=0,_[G+12>>2]=0,_[r+128+40>>2]=1065353216,_[(M=r+128+44|0)>>2]=0,_[M+4>>2]=0,_[M+8>>2]=0,_[M+12>>2]=0,_[M+16>>2]=0,Bt(r+288|0,0,0,0,r+256|0,o,r+128|0),x=(Z=+p[t+556>>2])*(2/(Z*Z+(C=+p[t+560>>2])*C+(U=+p[t+564>>2])*U+(v=+p[t+568>>2])*v)),D=C*(2/(Z*Z+C*C+U*U+v*v)),O=U*(2/(Z*Z+C*C+U*U+v*v)),X=+p[t+364>>2],J=+p[t+368>>2],l=(q=+p[t+372>>2])*(Z*O-v*D)+(J*(Z*D+v*O)+X*(1-(C*D+U*O))),d=q*(C*O+v*x)+(X*(Z*D-v*O)+J*(1-(Z*x+U*O))),A=X*(Z*O+v*D)+J*(C*O-v*x)+q*(1-(Z*x+C*D)),c=+p[t+380>>2],F=+p[t+384>>2],f=(Z*O-v*D)*(I=+p[t+388>>2])+(F*(Z*D+v*O)+c*(1-(C*D+U*O))),y=(C*O+v*x)*I+(c*(Z*D-v*O)+F*(1-(Z*x+U*O))),g=c*(Z*O+v*D)+F*(C*O-v*x)+I*(1-(Z*x+C*D)),H=(1-(C*D+U*O))*(E=+p[t+396>>2])+(Z*D+v*O)*(B=+p[t+400>>2])+(Z*O-v*D)*(j=+p[t+404>>2]),U=(Z*D-v*O)*E+(1-(Z*x+U*O))*B+(C*O+v*x)*j,D=(Z*O+v*D)*E+(C*O-v*x)*B+(1-(Z*x+C*D))*j,C=+p[t+300>>2],x=+p[t+316>>2],Z=+p[t+332>>2],v=+p[t+304>>2],O=+p[t+320>>2],Y=+p[t+336>>2],W=+p[t+308>>2],T=+p[t+324>>2],R=+p[t+340>>2],w=-+p[t+348>>2],it=-+p[t+352>>2],K=-+p[t+356>>2],q=0*X+0*J+0*q+ +p[t+412>>2]+(A*(W*w+T*it+R*K)+(l*(C*w+x*it+Z*K)+d*(v*w+O*it+Y*K))),I=0*c+0*F+0*I+ +p[t+416>>2]+(g*(W*w+T*it+R*K)+(f*(C*w+x*it+Z*K)+y*(v*w+O*it+Y*K))),K=0*E+0*B+0*j+ +p[t+420>>2]+(D*(W*w+T*it+R*K)+(H*(C*w+x*it+Z*K)+U*(v*w+O*it+Y*K))),it=+p[r+128>>2],w=+p[V>>2],j=+p[r+128+8>>2],B=+p[r+128+16>>2],E=+p[r+128+20>>2],F=+p[G>>2],c=+p[r+128+32>>2],J=+p[r+128+36>>2],X=+p[r+128+40>>2],z=j*K+(it*q+w*I)+ +p[r+128+48>>2],tt=B*q+I*E+K*F+ +p[r+128+52>>2],et=q*c+I*J+K*X+ +p[r+128+56>>2],p[r+64>>2]=(l*C+d*v+A*W)*it+(f*C+y*v+g*W)*w+(H*C+U*v+D*W)*j,p[r+64+4>>2]=(l*x+d*O+A*T)*it+(f*x+y*O+g*T)*w+(H*x+U*O+D*T)*j,p[r+64+8>>2]=(l*Z+d*Y+A*R)*it+(f*Z+y*Y+g*R)*w+(H*Z+U*Y+D*R)*j,p[r+64+12>>2]=0,p[r+64+16>>2]=(l*C+d*v+A*W)*B+(f*C+y*v+g*W)*E+(H*C+U*v+D*W)*F,p[r+64+20>>2]=(l*x+d*O+A*T)*B+(f*x+y*O+g*T)*E+(H*x+U*O+D*T)*F,p[r+64+24>>2]=(l*Z+d*Y+A*R)*B+(f*Z+y*Y+g*R)*E+(H*Z+U*Y+D*R)*F,p[r+64+28>>2]=0,p[r+64+32>>2]=(l*C+d*v+A*W)*c+(f*C+y*v+g*W)*J+(H*C+U*v+D*W)*X,p[r+64+36>>2]=(l*x+d*O+A*T)*c+(f*x+y*O+g*T)*J+(H*x+U*O+D*T)*X,p[r+64+40>>2]=(l*Z+d*Y+A*R)*c+(f*Z+y*Y+g*R)*J+(H*Z+U*Y+D*R)*X,p[r+64+44>>2]=0,p[r+64+48>>2]=z,p[r+64+52>>2]=tt,p[r+64+56>>2]=et,p[r+64+60>>2]=0,et=(H*C+U*v+D*W)*-K+((l*C+d*v+A*W)*-q+(f*C+y*v+g*W)*-I),tt=(H*x+U*O+D*T)*-K+((l*x+d*O+A*T)*-q+(f*x+y*O+g*T)*-I),I=(H*Z+U*Y+D*R)*-K+((l*Z+d*Y+A*R)*-q+(f*Z+y*Y+g*R)*-I),q=+p[r+192>>2],K=+p[N>>2],z=+p[r+192+8>>2],X=+p[r+192+16>>2],J=+p[r+192+20>>2],c=+p[L>>2],F=+p[r+192+32>>2],E=+p[r+192+36>>2],B=+p[r+192+40>>2],j=et*q+tt*K+I*z+ +p[r+192+48>>2],w=et*X+tt*J+I*c+ +p[r+192+52>>2],I=et*F+tt*E+I*B+ +p[r+192+56>>2],p[r>>2]=(l*C+d*v+A*W)*q+(l*x+d*O+A*T)*K+(l*Z+d*Y+A*R)*z,p[r+4>>2]=(f*C+y*v+g*W)*q+(f*x+y*O+g*T)*K+(f*Z+y*Y+g*R)*z,p[r+8>>2]=(H*C+U*v+D*W)*q+(H*x+U*O+D*T)*K+(H*Z+U*Y+D*R)*z,p[r+12>>2]=0,p[r+16>>2]=(l*C+d*v+A*W)*X+(l*x+d*O+A*T)*J+(l*Z+d*Y+A*R)*c,p[r+20>>2]=(f*C+y*v+g*W)*X+(f*x+y*O+g*T)*J+(f*Z+y*Y+g*R)*c,p[r+24>>2]=(H*C+U*v+D*W)*X+(H*x+U*O+D*T)*J+(H*Z+U*Y+D*R)*c,p[r+28>>2]=0,p[r+32>>2]=(l*C+d*v+A*W)*F+(l*x+d*O+A*T)*E+(l*Z+d*Y+A*R)*B,p[r+36>>2]=(f*C+y*v+g*W)*F+(f*x+y*O+g*T)*E+(f*Z+y*Y+g*R)*B,p[r+40>>2]=(H*C+U*v+D*W)*F+(H*x+U*O+D*T)*E+(H*Z+U*Y+D*R)*B,p[r+44>>2]=0,p[r+48>>2]=j,p[r+52>>2]=w,p[r+56>>2]=I,p[r+60>>2]=0,$(r+352|0,r+64|0,r+424|0,r+416|0),I=+p[r+416>>2],w=1/o*(+p[r+424>>2]*I),j=1/o*(I*+p[r+424+4>>2]),I=1/o*(I*+p[r+424+8>>2]),$(r+288|0,r,r+424|0,r+416|0),B=+p[r+416>>2],w-=+p[r+272>>2],j-=+p[r+272+4>>2],I-=+p[r+272+8>>2],R=1/o*(+p[r+424>>2]*B)-+p[r+256>>2],D=1/o*(B*+p[r+424+4>>2])-+p[r+256+4>>2],B=1/o*(B*+p[r+424+8>>2])-+p[r+256+8>>2],w*w+j*j+I*I>1.1920928955078125e-7?(C=1/+b(+(w*w+j*j+I*I)),L=0|_[t+28>>2],f=w*C*(w*C*+p[L+264>>2]+j*C*+p[L+280>>2]+I*C*+p[L+296>>2])+j*C*(w*C*+p[L+268>>2]+j*C*+p[L+284>>2]+I*C*+p[L+300>>2])+I*C*(w*C*+p[L+272>>2]+j*C*+p[L+288>>2]+I*C*+p[L+304>>2]),l=w*C,A=j*C,C*=I):(f=0,l=0,A=0,C=0),R*R+D*D+B*B>1.1920928955078125e-7?(g=1/+b(+(R*R+D*D+B*B)),L=0|_[t+32>>2],y=R*g*(R*g*+p[L+264>>2]+D*g*+p[L+280>>2]+B*g*+p[L+296>>2])+D*g*(R*g*+p[L+268>>2]+D*g*+p[L+284>>2]+B*g*+p[L+300>>2])+B*g*(R*g*+p[L+272>>2]+D*g*+p[L+288>>2]+B*g*+p[L+304>>2]),c=R*g,d=D*g,g*=B):(y=0,c=0,d=0,g=0),(v=f*l+y*c)*v+(l=f*A+y*d)*l+(c=f*C+y*g)*c>1.1920928955078125e-7&&(f=1/+b(+(v*v+l*l+c*c)),s=0|_[t+28>>2],d=v*f*(v*f*+p[s+264>>2]+l*f*+p[s+280>>2]+c*f*+p[s+296>>2])+l*f*(v*f*+p[s+268>>2]+l*f*+p[s+284>>2]+c*f*+p[s+300>>2])+c*f*(v*f*+p[s+272>>2]+l*f*+p[s+288>>2]+c*f*+p[s+304>>2]),u=0|_[t+32>>2],R=1/((d+(f=v*f*(v*f*+p[u+264>>2]+l*f*+p[u+280>>2]+c*f*+p[u+296>>2])+l*f*(v*f*+p[u+268>>2]+l*f*+p[u+284>>2]+c*f*+p[u+300>>2])+c*f*(v*f*+p[u+272>>2]+l*f*+p[u+288>>2]+c*f*+p[u+304>>2])))*(d+f))*(w*d-R*f),c=1/((d+f)*(d+f))*(j*d-D*f),f=1/((d+f)*(d+f))*(I*d-B*f),(l=+p[t+572>>2])>=0?(g=0|n[t+553|0]?l/d:l,l=+p[t+576>>2],A=+p[t+580>>2],d=+p[t+584>>2],(y=+b(+((R+l)*(R+l)+(c+A)*(c+A)+(f+d)*(f+d))))>g?(C=A+(g*((c+A)*(1/y))-A),v=d+(g*((f+d)*(1/y))-d),w=l+(g*((R+l)*(1/y))-l),l=g*((R+l)*(1/y))-l,f=g*((f+d)*(1/y))-d,c=g*((c+A)*(1/y))-A):(C=c+A,v=f+d,w=R+l,l=R),p[t+576>>2]=w,p[t+580>>2]=C,p[t+584>>2]=v):l=R,d=l*(1/(A=+b(+(l*l+c*c+f*f)))),l=c*(1/A),c=f*(1/A),0|_[e+240>>2]&&(it=d*+p[s+296>>2]+l*+p[s+300>>2]+c*+p[s+304>>2],et=d*+p[s+280>>2]+l*+p[s+284>>2]+c*+p[s+288>>2],tt=d*+p[s+264>>2]+l*+p[s+268>>2]+c*+p[s+272>>2],K=0*A*+p[e+116>>2],q=0*A*+p[e+120>>2],p[e+64>>2]=0*A*+p[e+112>>2]+ +p[e+64>>2],p[e+68>>2]=K+ +p[e+68>>2],p[e+72>>2]=q+ +p[e+72>>2],et*=A*+p[e+100>>2],it*=A*+p[e+104>>2],p[e+80>>2]=tt*(A*+p[e+96>>2])+ +p[e+80>>2],p[e+84>>2]=et+ +p[e+84>>2],p[e+88>>2]=it+ +p[e+88>>2]),0|_[i+240>>2]&&(it=d*+p[u+296>>2]+l*+p[u+300>>2]+c*+p[u+304>>2],et=d*+p[u+280>>2]+l*+p[u+284>>2]+c*+p[u+288>>2],tt=d*+p[u+264>>2]+l*+p[u+268>>2]+c*+p[u+272>>2],K=-0*A*+p[i+116>>2],q=-0*A*+p[i+120>>2],p[i+64>>2]=-0*A*+p[i+112>>2]+ +p[i+64>>2],p[i+68>>2]=K+ +p[i+68>>2],p[i+72>>2]=q+ +p[i+72>>2],et*=+p[i+100>>2]*-A,it*=+p[i+104>>2]*-A,p[i+80>>2]=tt*(+p[i+96>>2]*-A)+ +p[i+80>>2],p[i+84>>2]=et+ +p[i+84>>2],p[i+88>>2]=it+ +p[i+88>>2])),s=e+192|0,P=e+80|0,u=e+196|0,M=e+84|0,m=e+200|0,V=e+88|0,h=i+192|0,G=i+80|0,S=i+196|0,N=i+84|0,k=i+200|0,L=i+88|0;else{if(!((c=+p[t+440>>2])>1.1920928955078125e-7)){s=e+192|0,P=e+80|0,u=e+196|0,M=e+84|0,m=e+200|0,V=e+88|0,h=i+192|0,G=i+80|0,S=i+196|0,N=i+84|0,k=i+200|0,L=i+88|0;break}C=+p[e+80>>2],v=+p[e+84>>2],w=+p[e+88>>2],(l=+p[i+192>>2]+ +p[i+80>>2]-(+p[e+192>>2]+C))*l+(A=+p[i+196>>2]+ +p[i+84>>2]-(+p[e+196>>2]+v))*A+(y=+p[i+200>>2]+ +p[i+88>>2]-(+p[e+200>>2]+w))*y>1.1920928955078125e-7?(d=l*(c*=1/(l*(f=1/+b(+(l*l+A*A+y*y)))*(l*f*(R=+p[P+264>>2])+A*f*(j=+p[P+280>>2])+y*f*(D=+p[P+296>>2]))+A*f*(l*f*(I=+p[P+268>>2])+A*f*(B=+p[P+284>>2])+y*f*(W=+p[P+300>>2]))+y*f*(l*f*(F=+p[P+272>>2])+A*f*(x=+p[P+288>>2])+y*f*(g=+p[P+304>>2]))+(l*f*(l*f*+p[M+264>>2]+A*f*+p[M+280>>2]+y*f*+p[M+296>>2])+A*f*(l*f*+p[M+268>>2]+A*f*+p[M+284>>2]+y*f*+p[M+300>>2])+y*f*(l*f*+p[M+272>>2]+A*f*+p[M+288>>2]+y*f*+p[M+304>>2]))))*(1/(f=+b(+(y*c*(y*c)+(l*c*(l*c)+A*c*(A*c)))))),l=A*c*(1/f),c=y*c*(1/f),0|_[e+240>>2]&&(Y=0*f*+p[e+116>>2],U=0*f*+p[e+120>>2],p[e+64>>2]=0*f*+p[e+112>>2]+ +p[e+64>>2],p[e+68>>2]=Y+ +p[e+68>>2],p[e+72>>2]=U+ +p[e+72>>2],U=(d*j+l*B+c*x)*(f*+p[e+100>>2]),Y=(d*D+l*W+c*g)*(f*+p[e+104>>2]),p[e+80>>2]=C+(d*R+l*I+c*F)*(f*+p[e+96>>2]),p[e+84>>2]=v+U,p[e+88>>2]=w+Y),0|_[i+240>>2]?(Y=d*+p[M+296>>2]+l*+p[M+300>>2]+c*+p[M+304>>2],U=d*+p[M+280>>2]+l*+p[M+284>>2]+c*+p[M+288>>2],Z=d*+p[M+264>>2]+l*+p[M+268>>2]+c*+p[M+272>>2],E=-0*f*+p[i+116>>2],H=-0*f*+p[i+120>>2],p[i+64>>2]=-0*f*+p[i+112>>2]+ +p[i+64>>2],p[i+68>>2]=E+ +p[i+68>>2],p[i+72>>2]=H+ +p[i+72>>2],U*=+p[i+100>>2]*-f,Y*=+p[i+104>>2]*-f,p[i+80>>2]=Z*(+p[i+96>>2]*-f)+ +p[i+80>>2],p[i+84>>2]=U+ +p[i+84>>2],p[i+88>>2]=Y+ +p[i+88>>2],s=e+192|0,P=e+80|0,u=e+196|0,M=e+84|0,m=e+200|0,V=e+88|0,h=i+192|0,G=i+80|0,S=i+196|0,N=i+84|0,k=i+200|0,L=i+88|0):(s=e+192|0,P=e+80|0,u=e+196|0,M=e+84|0,m=e+200|0,V=e+88|0,h=i+192|0,G=i+80|0,S=i+196|0,N=i+84|0,k=i+200|0,L=i+88|0)):(s=e+192|0,P=e+80|0,u=e+196|0,M=e+84|0,m=e+200|0,V=e+88|0,h=i+192|0,G=i+80|0,S=i+196|0,N=i+84|0,k=i+200|0,L=i+88|0)}}while(0);R=+p[s>>2]+ +p[P>>2],w=+p[u>>2]+ +p[M>>2],v=+p[m>>2]+ +p[V>>2],C=+p[h>>2]+ +p[G>>2],g=+p[S>>2]+ +p[N>>2],y=+p[k>>2]+ +p[L>>2],0|n[t+526|0]&&(c=(l=+p[t+528>>2])*+p[t+504>>2]*+p[t+432>>2]/o,(C-R)*(d=+p[t+460>>2])+(g-w)*(A=+p[t+464>>2])+(y-v)*(f=+p[t+468>>2])>0&&(c+=l*((C-R)*d+(g-w)*A+(y-v)*f)*+p[t+436>>2]),q=(et=+p[t+516>>2])+c*+p[t+492>>2],p[r+424>>2]=q,p[r+416>>2]=0,s=0|_[(q>0?r+424:r+416)>>2],_[t+516>>2]=s,_[a>>2]=s,l=d*(et=+p[a>>2]-et)-(q=+p[t+536>>2])*(d*et*q+A*et*(tt=+p[t+540>>2])+f*et*(c=+p[t+544>>2])),it=A*et-tt*(d*et*q+A*et*tt+f*et*c),l*=1/(c=+b(+((A=f*et-c*(d*et*q+A*et*tt+f*et*c))*A+(l*l+it*it)))),d=it*(1/c),A*=1/c,s=0|_[t+28>>2],0|_[e+240>>2]&&(it=l*+p[s+296>>2]+d*+p[s+300>>2]+A*+p[s+304>>2],et=l*+p[s+280>>2]+d*+p[s+284>>2]+A*+p[s+288>>2],tt=l*+p[s+264>>2]+d*+p[s+268>>2]+A*+p[s+272>>2],K=0*c*+p[e+116>>2],q=0*c*+p[e+120>>2],p[e+64>>2]=0*c*+p[e+112>>2]+ +p[e+64>>2],p[e+68>>2]=K+ +p[e+68>>2],p[e+72>>2]=q+ +p[e+72>>2],et*=c*+p[e+100>>2],it*=c*+p[e+104>>2],p[P>>2]=tt*(c*+p[e+96>>2])+ +p[P>>2],p[M>>2]=et+ +p[M>>2],p[V>>2]=it+ +p[V>>2]),s=0|_[t+32>>2],0|_[i+240>>2]&&(it=l*+p[s+296>>2]+d*+p[s+300>>2]+A*+p[s+304>>2],et=l*+p[s+280>>2]+d*+p[s+284>>2]+A*+p[s+288>>2],tt=l*+p[s+264>>2]+d*+p[s+268>>2]+A*+p[s+272>>2],K=-0*c*+p[i+116>>2],q=-0*c*+p[i+120>>2],p[i+64>>2]=-0*c*+p[i+112>>2]+ +p[i+64>>2],p[i+68>>2]=K+ +p[i+68>>2],p[i+72>>2]=q+ +p[i+72>>2],et*=+p[i+100>>2]*-c,it*=+p[i+104>>2]*-c,p[G>>2]=tt*(+p[i+96>>2]*-c)+ +p[G>>2],p[N>>2]=et+ +p[N>>2],p[L>>2]=it+ +p[L>>2])),0|n[t+525|0]?(A=(f=+p[t+532>>2])*+p[t+508>>2]*+p[t+432>>2]/o,(C-R)*(d=+p[t+476>>2])+(g-w)*(l=+p[t+480>>2])+(y-v)*(c=+p[t+484>>2])>0&&(A+=f*((C-R)*d+(g-w)*l+(y-v)*c)*+p[t+436>>2]),A=(it=+p[t+520>>2])+A*+p[t+496>>2],p[r+424>>2]=A,p[r+416>>2]=0,s=0|_[(A>0?r+424:r+416)>>2],_[t+520>>2]=s,_[a>>2]=s,A=+p[a>>2]-it,s=0|_[t+28>>2],0|_[e+240>>2]&&(it=d*+p[s+296>>2]+l*+p[s+300>>2]+c*+p[s+304>>2],et=d*+p[s+280>>2]+l*+p[s+284>>2]+c*+p[s+288>>2],c=d*+p[s+264>>2]+l*+p[s+268>>2]+c*+p[s+272>>2],d=0*A*+p[e+116>>2],l=0*A*+p[e+120>>2],p[e+64>>2]=0*A*+p[e+112>>2]+ +p[e+64>>2],p[e+68>>2]=d+ +p[e+68>>2],p[e+72>>2]=l+ +p[e+72>>2],l=et*(A*+p[e+100>>2]),d=it*(A*+p[e+104>>2]),p[P>>2]=c*(A*+p[e+96>>2])+ +p[P>>2],p[M>>2]=l+ +p[M>>2],p[V>>2]=d+ +p[V>>2],d=+p[t+476>>2],l=+p[t+480>>2],c=+p[t+484>>2]),s=0|_[t+32>>2],0|_[i+240>>2]?(it=d*+p[s+296>>2]+l*+p[s+300>>2]+c*+p[s+304>>2],et=d*+p[s+280>>2]+l*+p[s+284>>2]+c*+p[s+288>>2],tt=d*+p[s+264>>2]+l*+p[s+268>>2]+c*+p[s+272>>2],K=-0*A*+p[i+116>>2],q=-0*A*+p[i+120>>2],p[i+64>>2]=-0*A*+p[i+112>>2]+ +p[i+64>>2],p[i+68>>2]=K+ +p[i+68>>2],p[i+72>>2]=q+ +p[i+72>>2],et*=+p[i+100>>2]*-A,it*=+p[i+104>>2]*-A,p[G>>2]=tt*(+p[i+96>>2]*-A)+ +p[G>>2],p[N>>2]=et+ +p[N>>2],p[L>>2]=it+ +p[L>>2],Q=r):Q=r):Q=r}else Q=r},function(t,e,i,o){e|=0,i|=0,o=+o;var r,s,c,a=0,l=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;if(c=Q,Q=Q+192|0,y=0|_[4+(t|=0)>>2],(s=+p[y+752>>2])>2],k=0|_[8+(0|_[t+8>>2])>>2],A=+p[i>>2],f=+p[e>>2]*o+A,u=+p[i+4>>2],m=+p[e+4>>2]*o+u,h=+p[i+8>>2],r=+p[e+8>>2]*o+h,(0|w)!=(0|k)?(l=0|_[8+(0|_[t+12>>2])>>2],j=f-+p[l+52>>2],R=m-+p[l+56>>2],v=r-+p[l+60>>2],S=t+12|0,a=k,g=j*+p[l+4>>2]+R*+p[l+20>>2]+v*+p[l+36>>2],C=j*+p[l+8>>2]+R*+p[l+24>>2]+v*+p[l+40>>2],v=j*+p[l+12>>2]+R*+p[l+28>>2]+v*+p[l+44>>2]):(R=f-+p[w+52>>2],j=m-+p[w+56>>2],v=r-+p[w+60>>2],S=t+12|0,a=0|_[8+(0|_[t+12>>2])>>2],g=R*+p[w+4>>2]+j*+p[w+20>>2]+v*+p[w+36>>2],C=R*+p[w+8>>2]+j*+p[w+24>>2]+v*+p[w+40>>2],v=R*+p[w+12>>2]+j*+p[w+28>>2]+v*+p[w+44>>2]),A-=+p[a+52>>2],u-=+p[a+56>>2],j=h-+p[a+60>>2],h=A*+p[a+4>>2]+u*+p[a+20>>2]+j*+p[a+36>>2],R=A*+p[a+8>>2]+u*+p[a+24>>2]+j*+p[a+40>>2],j=A*+p[a+12>>2]+u*+p[a+28>>2]+j*+p[a+44>>2],p[c>>2]=g,p[c+4>>2]=C,p[c+8>>2]=v,p[c+12>>2]=0,p[c+16>>2]=h,p[c+20>>2]=R,p[c+24>>2]=j,p[c+28>>2]=0,_[c+64>>2]=_[e>>2],_[c+64+4>>2]=_[e+4>>2],_[c+64+8>>2]=_[e+8>>2],_[c+64+12>>2]=_[e+12>>2],p[c+80>>2]=o,p[c+84>>2]=0,p[c+88>>2]=0,p[c+92>>2]=0,_[c+112>>2]=0,n[c+116|0]=0,_[c+120>>2]=0,_[c+120+4>>2]=0,_[c+120+8>>2]=0,_[c+120+12>>2]=0,_[c+120+16>>2]=0,_[c+120+20>>2]=0,_[c+120+24>>2]=0,_[c+120+28>>2]=0,p[c+48>>2]=f,p[c+52>>2]=m,p[c+56>>2]=r,p[c+60>>2]=0,_[c+32>>2]=_[i>>2],_[c+32+4>>2]=_[i+4>>2],_[c+32+8>>2]=_[i+8>>2],_[c+32+12>>2]=_[i+12>>2],(0|(l=0|_[y+748>>2]))>0)for(a=-1,i=0,A=s*s;;){if(a=(e=(f=+p[y+4+(184*i|0)>>2]-g)*f+(u=+p[y+4+(184*i|0)+4>>2]-C)*u+(m=+p[y+4+(184*i|0)+8>>2]-v)*m>2])>>2],S=0|_[8+(0|_[S>>2])>>2],A=(A=+p[l+224>>2]*+p[S+224>>2])<-10?-10:A,p[c+84>>2]=A>10?10:A,p[c+92>>2]=+p[l+228>>2]*+p[S+228>>2],A=(A=+p[l+232>>2]*+p[S+232>>2])<-10?-10:A,p[c+88>>2]=A>10?10:A,A=+p[c+72>>2],+d(+A)>.7071067690849304?(h=+p[c+68>>2],f=1/+b(+(A*A+h*h)),u=-(m=+p[c+64>>2])*(h*f),m*=-A*f,o=(A*A+h*h)*f,h*=f,A=-A*f,f=0):(R=+p[c+64>>2],u=A*(-(j=+p[c+68>>2])*(f=1/+b(+(R*R+j*j)))),m=(R*R+j*j)*f,o=R*f*-A,h=0,A=R*f,f*=-j),p[c+152>>2]=f,p[c+156>>2]=A,p[c+160>>2]=h,p[c+168>>2]=o,p[c+172>>2]=u,p[c+176>>2]=m,(0|w)!=(0|k)?(a=t+24|0,e=t+28|0,i=t+16|0,l=t+20|0):(a=t+28|0,e=t+24|0,i=t+20|0,l=t+16|0),a=0|_[a>>2],k=0|_[e>>2],w=0|_[i>>2],_[c+96>>2]=_[l>>2],_[c+100>>2]=w,_[c+104>>2]=k,_[c+108>>2]=a,a=0|_[t+4>>2],(0|y)>-1?(k=0|_[(t=a+4+(184*y|0)+148|0)>>2],D=0|_[(e=a+4+(184*y|0)+120|0)>>2],i=0|_[(l=a+4+(184*y|0)+124|0)>>2],S=0|_[(w=a+4+(184*y|0)+128|0)>>2],B=0|_[(I=a+4+(184*y|0)+112|0)>>2],_e(a+4+(184*y|0)|0,0|c,184),_[I>>2]=B,_[e>>2]=D,_[l>>2]=i,_[w>>2]=S,_[t>>2]=k):X(a,c),Q=c}},function(t,e,i,o){e|=0,i|=0,o=+o;var r,s,c,a,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0;return a=Q,Q=Q+192|0,y=0|_[740+(0|_[4+(t|=0)>>2])>>2],f=0|_[8+(0|_[t+8>>2])>>2],u=+p[i>>2],r=+p[e>>2]*o+u,m=+p[i+4>>2],s=+p[e+4>>2]*o+m,h=+p[i+8>>2],c=+p[e+8>>2]*o+h,(0|y)!=(0|f)?(g=0|_[8+(0|_[t+12>>2])>>2],v=r-+p[g+52>>2],C=s-+p[g+56>>2],A=c-+p[g+60>>2],l=f,d=v*+p[g+4>>2]+C*+p[g+20>>2]+A*+p[g+36>>2],b=v*+p[g+8>>2]+C*+p[g+24>>2]+A*+p[g+40>>2],A=v*+p[g+12>>2]+C*+p[g+28>>2]+A*+p[g+44>>2]):(C=r-+p[y+52>>2],v=s-+p[y+56>>2],A=c-+p[y+60>>2],l=0|_[8+(0|_[t+12>>2])>>2],d=C*+p[y+4>>2]+v*+p[y+20>>2]+A*+p[y+36>>2],b=C*+p[y+8>>2]+v*+p[y+24>>2]+A*+p[y+40>>2],A=C*+p[y+12>>2]+v*+p[y+28>>2]+A*+p[y+44>>2]),u-=+p[l+52>>2],m-=+p[l+56>>2],v=h-+p[l+60>>2],h=u*+p[l+4>>2]+m*+p[l+20>>2]+v*+p[l+36>>2],C=u*+p[l+8>>2]+m*+p[l+24>>2]+v*+p[l+40>>2],v=u*+p[l+12>>2]+m*+p[l+28>>2]+v*+p[l+44>>2],p[a>>2]=d,p[a+4>>2]=b,p[a+8>>2]=A,p[a+12>>2]=0,p[a+16>>2]=h,p[a+20>>2]=C,p[a+24>>2]=v,p[a+28>>2]=0,_[a+64>>2]=_[e>>2],_[a+64+4>>2]=_[e+4>>2],_[a+64+8>>2]=_[e+8>>2],_[a+64+12>>2]=_[e+12>>2],p[a+80>>2]=o,p[a+84>>2]=0,p[a+88>>2]=0,p[a+92>>2]=0,_[a+112>>2]=0,n[a+116|0]=0,_[a+120>>2]=0,_[a+120+4>>2]=0,_[a+120+8>>2]=0,_[a+120+12>>2]=0,_[a+120+16>>2]=0,_[a+120+20>>2]=0,_[a+120+24>>2]=0,_[a+120+28>>2]=0,p[a+48>>2]=r,p[a+52>>2]=s,p[a+56>>2]=c,p[a+60>>2]=0,_[a+32>>2]=_[i>>2],_[a+32+4>>2]=_[i+4>>2],_[a+32+8>>2]=_[i+8>>2],_[a+32+12>>2]=_[i+12>>2],(0|y)!=(0|f)?(e=t+28|0,i=t+16|0,l=t+20|0,g=0|_[(g=t+24|0)>>2],e=0|_[e>>2],i=0|_[i>>2],l=0|_[l>>2],_[(w=a+96|0)>>2]=l,_[(w=a+100|0)>>2]=i,_[(w=a+104|0)>>2]=e,_[(w=a+108|0)>>2]=g,w=t+12|0,S=0|_[(S=(0|y)!=(0|f)?w:t+8|0)>>2],y=0|_[(y=(0|y)!=(0|f)?t+8|0:w)>>2],f=0|_[(f=t+32|0)>>2],t=0|_[f>>2],t=0|_[(t=t+12|0)>>2],Pl[1&t](f,a,S,l,e,y,i,g),void(Q=a)):(i=t+24|0,S=t+20|0,e=t+16|0,w=0|_[(w=t+28|0)>>2],i=0|_[i>>2],S=0|_[S>>2],e=0|_[e>>2],_[(g=a+96|0)>>2]=e,_[(g=a+100|0)>>2]=S,_[(g=a+104|0)>>2]=i,_[(g=a+108|0)>>2]=w,g=t+12|0,l=0|_[(l=(0|y)!=(0|f)?g:t+8|0)>>2],g=0|_[(g=(0|y)!=(0|f)?t+8|0:g)>>2],y=0|_[(y=t+32|0)>>2],f=0|_[y>>2],f=0|_[(f=f+12|0)>>2],Pl[1&f](y,a,l,e,i,g,S,w),void(Q=a))},Ms,function(t,e,i,o){var r,s,c,a;if(e|=0,i|=0,o=+o,r=Q,Q=Q+16|0,p[32+(t|=0)>>2]=o,_[t+8>>2]=_[e>>2],_[t+8+4>>2]=_[e+4>>2],_[t+8+8>>2]=_[e+8>>2],_[t+8+12>>2]=_[e+12>>2],s=+p[t+28>>2],a=+p[i+4>>2]-s*+p[e+4>>2],c=+p[i+8>>2]-s*+p[e+8>>2],p[r>>2]=+p[i>>2]-+p[e>>2]*s,p[r+4>>2]=a,p[r+8>>2]=c,p[r+12>>2]=0,o=s+ +p[t+24>>2]+o,p[t+32>>2]=o,!(o<0))return t=0|_[(t=t+4|0)>>2],i=0|_[t>>2],i=0|_[(i=i+16|0)>>2],rd[15&i](t,e,r,o),void(Q=r);n[t+36|0]=1,t=0|_[(t=t+4|0)>>2],i=0|_[t>>2],i=0|_[(i=i+16|0)>>2],rd[15&i](t,e,r,o),Q=r},function(t,e,i,o){t|=0,i|=0,o=+o;var r,s,c,a,l,d,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0;return d=Q,Q=Q+16|0,b=+p[(e|=0)>>2],s=+p[e+4>>2],c=+p[e+8>>2],a=+p[i>>2],l=+p[i+4>>2],r=+p[i+8>>2],0|n[t+228|0]?(w=+p[t+36>>2],j=+p[t+52>>2],C=+p[t+68>>2],k=+p[t+40>>2],I=+p[t+56>>2],v=+p[t+72>>2],R=+p[t+44>>2],W=+p[t+60>>2],S=+p[t+76>>2],h=-+p[t+84>>2],y=-+p[t+88>>2],g=-+p[t+92>>2],A=+p[t+164>>2],f=+p[t+168>>2],F=+p[t+172>>2],u=+p[t+180>>2],m=+p[t+184>>2],x=+p[t+188>>2],D=+p[t+196>>2],B=+p[t+200>>2],O=+p[t+204>>2],F=(c*o+r)*(C*A+v*f+S*F)+((b*o+a)*(w*A+k*f+R*F)+(s*o+l)*(j*A+I*f+W*F))+(A*(w*h+j*y+C*g)+(k*h+I*y+v*g)*f+(R*h+W*y+S*g)*F+ +p[t+212>>2]),x=(c*o+r)*(C*u+v*m+S*x)+((b*o+a)*(w*u+k*m+R*x)+(s*o+l)*(j*u+I*m+W*x))+((w*h+j*y+C*g)*u+(k*h+I*y+v*g)*m+(R*h+W*y+S*g)*x+ +p[t+216>>2]),O=(w*h+j*y+C*g)*D+(k*h+I*y+v*g)*B+(R*h+W*y+S*g)*O+ +p[t+220>>2]+((c*o+r)*(C*D+v*B+S*O)+((b*o+a)*(w*D+k*B+R*O)+(s*o+l)*(j*D+I*B+W*O))),p[d>>2]=F+b*(b*(F-a)+s*(x-l)+c*(O-r)),p[d+4>>2]=x+s*(b*(F-a)+s*(x-l)+c*(O-r)),p[d+8>>2]=O+c*(b*(F-a)+s*(x-l)+c*(O-r)),O=b*(F-a)+s*(x-l)+c*(O-r),p[(i=d+12|0)>>2]=0,t=0|_[(t=t+32|0)>>2],i=0|_[t>>2],i=0|_[(i=i+16|0)>>2],rd[15&i](t,e,d,O),void(Q=d)):(w=+p[t+100>>2],C=+p[t+116>>2],j=+p[t+132>>2],S=+p[t+104>>2],y=+p[t+120>>2],R=+p[t+136>>2],v=+p[t+108>>2],m=+p[t+124>>2],k=+p[t+140>>2],B=-+p[t+148>>2],I=-+p[t+152>>2],D=-+p[t+156>>2],O=+p[t+164>>2],x=+p[t+168>>2],u=+p[t+172>>2],F=+p[t+180>>2],W=+p[t+184>>2],f=+p[t+188>>2],g=+p[t+196>>2],h=+p[t+200>>2],A=+p[t+204>>2],u=r*(j*O+R*x+k*u)+(a*(w*O+S*x+v*u)+l*(C*O+y*x+m*u))+(O*(w*B+C*I+j*D)+(S*B+y*I+R*D)*x+(v*B+m*I+k*D)*u+ +p[t+212>>2]),f=r*(j*F+R*W+k*f)+(a*(w*F+S*W+v*f)+l*(C*F+y*W+m*f))+((w*B+C*I+j*D)*F+(S*B+y*I+R*D)*W+(v*B+m*I+k*D)*f+ +p[t+216>>2]),A=(w*B+C*I+j*D)*g+(S*B+y*I+R*D)*h+(v*B+m*I+k*D)*A+ +p[t+220>>2]+(r*(j*g+R*h+k*A)+(a*(w*g+S*h+v*A)+l*(C*g+y*h+m*A))),p[d>>2]=u,p[d+4>>2]=f,p[d+8>>2]=A,b=b*(b*o+a-u)+s*(s*o+l-f)+c*(c*o+r-A),p[(i=d+12|0)>>2]=0,t=0|_[(t=t+32|0)>>2],i=0|_[t>>2],i=0|_[(i=i+16|0)>>2],rd[15&i](t,e,d,b),void(Q=d))},function(t,e,i,o){e|=0,i|=0,o=+o,_[4+(t|=0)>>2]=_[e>>2],_[t+4+4>>2]=_[e+4>>2],_[t+4+8>>2]=_[e+8>>2],_[t+4+12>>2]=_[e+12>>2],_[t+20>>2]=_[i>>2],_[t+20+4>>2]=_[i+4>>2],_[t+20+8>>2]=_[i+8>>2],_[t+20+12>>2]=_[i+12>>2],p[t+36>>2]=o,n[t+40|0]=1},function(t,e,i,o){e|=0,i|=0,o=+o,+p[36+(t|=0)>>2]>o&&(n[t+40|0]=1,_[t+4>>2]=_[e>>2],_[t+4+4>>2]=_[e+4>>2],_[t+4+8>>2]=_[e+8>>2],_[t+4+12>>2]=_[e+12>>2],_[t+20>>2]=_[i>>2],_[t+20+4>>2]=_[i+4>>2],_[t+20+8>>2]=_[i+8>>2],_[t+20+12>>2]=_[i+12>>2],p[t+36>>2]=o)},Ra,Ra,Ra,Ra,Ra,Ra],sd=[function(t,e,i,n,o,_){n=+n,v(32)},function(t,e,i,n,o,_){O(1,0|(t|=0),0|(e|=0),0|(i|=0),+(n=+n),0|(o|=0),0|(_|=0))}],pd=[ra,function(t,e,i,n){T(0,0|(t|=0),0|(e|=0),0|(i|=0),0|(n|=0))},function(t,e,i,n){t|=0,e|=0,n|=0;var o,r=0,s=0,c=0,a=0;for(o=Q,Q=Q+224|0,Fo(o+192|0,+p[(i|=0)>>2],+p[i+4>>2],+p[i+8>>2],+p[e>>2],+p[e+4>>2],+p[e+8>>2]),Vo(o+208|0,+p[o+192>>2],+p[o+192+4>>2],+p[o+192+8>>2],.5),Bo(o+160|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2],+p[e>>2],+p[e+4>>2],+p[e+8>>2]),Vo(o+176|0,+p[o+160>>2],+p[o+160+4>>2],+p[o+160+8>>2],.5),p[o+136>>2]=1,p[o+132>>2]=1,p[o+128>>2]=1,R_(o+144|0,o+136|0,o+132|0,o+128|0),i=0;4!=(0|i);){for(e=0;3!=(0|e);)s=0|Cl(o+144|0),a=+p[s>>2],r=0|Cl(o+208|0),p[o+72>>2]=a*+p[r>>2],p[o+68>>2]=+p[s+4>>2]*+p[r+4>>2],p[o+64>>2]=+p[s+8>>2]*+p[r+8>>2],R_(o+80|0,o+72|0,o+68|0,o+64|0),_[o+112>>2]=_[o+80>>2],_[o+112+4>>2]=_[o+80+4>>2],_[o+112+8>>2]=_[o+80+8>>2],_[o+112+12>>2]=_[o+80+12>>2],c_(o+112|0,o+176|0),p[(c=s+((e>>>0)%3<<2)|0)>>2]=-+p[c>>2],p[o+40>>2]=+p[s>>2]*+p[r>>2],p[o+36>>2]=+p[s+4>>2]*+p[r+4>>2],p[o+32>>2]=+p[s+8>>2]*+p[r+8>>2],R_(o+48|0,o+40|0,o+36|0,o+32|0),_[o+96>>2]=_[o+48>>2],_[o+96+4>>2]=_[o+48+4>>2],_[o+96+8>>2]=_[o+48+8>>2],_[o+96+12>>2]=_[o+48+12>>2],c_(o+96|0,o+176|0),pd[127&_[8+(0|_[t>>2])>>2]](t,o+112|0,o+96|0,n),e=e+1|0;p[o+8>>2]=-1,p[o+4>>2]=-1,p[o>>2]=-1,R_(o+16|0,o+8|0,o+4|0,o),_[o+144>>2]=_[o+16>>2],_[o+144+4>>2]=_[o+16+4>>2],_[o+144+8>>2]=_[o+16+8>>2],_[o+144+12>>2]=_[o+16+12>>2],i>>>0<3&&(c=(0|Cl(o+144|0))+(i<<2)|0,p[c>>2]=-+p[c>>2]),i=i+1|0}Q=o},function(t,e,i,n){var o,r,s;e|=0,i|=0,n|=0,o=Q,Q=Q+384|0,s=0|_[8+(0|_[(t|=0)>>2])>>2],R_(o+368|0,r=0|Cl(e),r+4|0,r+8|0),R_(o+352|0,e=0|Cl(i),r+4|0,r+8|0),pd[127&s](t,o+368|0,o+352|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+336|0,e,r+4|0,r+8|0),R_(o+320|0,e,e+4|0,r+8|0),pd[127&i](t,o+336|0,o+320|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+304|0,e,e+4|0,r+8|0),R_(o+288|0,r,e+4|0,r+8|0),pd[127&i](t,o+304|0,o+288|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+272|0,r,e+4|0,r+8|0),R_(o+256|0,r,r+4|0,r+8|0),pd[127&i](t,o+272|0,o+256|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+240|0,r,r+4|0,r+8|0),R_(o+224|0,r,r+4|0,e+8|0),pd[127&i](t,o+240|0,o+224|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+208|0,e,r+4|0,r+8|0),R_(o+192|0,e,r+4|0,e+8|0),pd[127&i](t,o+208|0,o+192|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+176|0,e,e+4|0,r+8|0),R_(o+160|0,e,e+4|0,e+8|0),pd[127&i](t,o+176|0,o+160|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+144|0,r,e+4|0,r+8|0),R_(o+128|0,r,e+4|0,e+8|0),pd[127&i](t,o+144|0,o+128|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+112|0,r,r+4|0,e+8|0),R_(o+96|0,e,r+4|0,e+8|0),pd[127&i](t,o+112|0,o+96|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+80|0,e,r+4|0,e+8|0),R_(o+64|0,e,e+4|0,e+8|0),pd[127&i](t,o+80|0,o+64|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+48|0,e,e+4|0,e+8|0),R_(o+32|0,r,e+4|0,e+8|0),pd[127&i](t,o+48|0,o+32|0,n),i=0|_[8+(0|_[t>>2])>>2],R_(o+16|0,r,e+4|0,e+8|0),R_(o,r,r+4|0,e+8|0),pd[127&i](t,o+16|0,o,n),Q=o},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,d,b,A,f,u,m,h,y,g,C=0,v=0,S=0,w=0;o=Q,Q=Q+128|0,t=0|_[16+(t|=0)>>2],c=+p[t+892>>2],y=+p[t+896>>2],g=+p[t+900>>2],h=+p[t+908>>2],r=+p[t+912>>2],v=+p[t+916>>2],m=+p[e>>2],u=+p[e+4>>2],f=+p[e+8>>2],b=+p[e+16>>2],d=+p[e+20>>2],l=+p[e+24>>2],s=+p[e+32>>2],C=+p[e+36>>2],S=+p[e+40>>2],A=+p[e+48>>2],a=+p[e+52>>2],w=+p[e+56>>2],p[o>>2]=c*m+y*u+g*f+A,p[o+4>>2]=c*b+y*d+g*l+a,p[o+8>>2]=c*s+y*C+g*S+w,p[o+12>>2]=0,p[o+16>>2]=h*m+y*u+g*f+A,p[o+20>>2]=h*b+y*d+g*l+a,p[o+24>>2]=h*s+y*C+g*S+w,p[o+28>>2]=0,p[o+32>>2]=h*m+r*u+g*f+A,p[o+36>>2]=h*b+r*d+g*l+a,p[o+40>>2]=h*s+r*C+g*S+w,p[o+44>>2]=0,p[o+48>>2]=c*m+r*u+g*f+A,p[o+52>>2]=c*b+r*d+g*l+a,p[o+56>>2]=c*s+r*C+g*S+w,p[o+60>>2]=0,p[o+64>>2]=c*m+y*u+v*f+A,p[o+68>>2]=c*b+y*d+v*l+a,p[o+72>>2]=c*s+y*C+v*S+w,p[o+76>>2]=0,p[o+80>>2]=h*m+y*u+v*f+A,p[o+84>>2]=h*b+y*d+v*l+a,p[o+88>>2]=h*s+y*C+v*S+w,p[o+92>>2]=0,p[o+96>>2]=h*m+r*u+v*f+A,p[o+100>>2]=h*b+r*d+v*l+a,p[o+104>>2]=h*s+r*C+v*S+w,p[o+108>>2]=0,p[o+112>>2]=c*m+r*u+v*f+A,p[o+116>>2]=c*b+r*d+v*l+a,p[o+120>>2]=c*s+r*C+v*S+w,p[o+124>>2]=0,_[n>>2]=_[o>>2],_[n+4>>2]=_[o+4>>2],_[n+8>>2]=_[o+8>>2],_[n+12>>2]=_[o+12>>2],_[i>>2]=_[o>>2],_[i+4>>2]=_[o+4>>2],_[i+8>>2]=_[o+8>>2],_[i+12>>2]=_[o+12>>2],t=1;do{(C=+p[o+(t<<4)>>2])<+p[i>>2]&&(p[i>>2]=C),(v=+p[o+(t<<4)+4>>2])<+p[i+4>>2]&&(p[i+4>>2]=v),(S=+p[o+(t<<4)+8>>2])<+p[i+8>>2]&&(p[i+8>>2]=S),(w=+p[o+(t<<4)+12>>2])<+p[i+12>>2]&&(p[i+12>>2]=w),+p[n>>2]>2]=C),+p[n+4>>2]>2]=v),+p[n+8>>2]>2]=S),+p[n+12>>2]>2]=w),t=t+1|0}while(8!=(0|t));Q=o},rp,rp,rp,function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;r=Q,Q=Q+80|0,o=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),s=0;do{f=r+64+(s<<2)|0,_[r+64>>2]=0,_[r+64+4>>2]=0,_[r+64+8>>2]=0,_[r+64+12>>2]=0,p[f>>2]=1,c=0|_[64+(0|_[t>>2])>>2],a=+p[r+64>>2],l=+p[r+64+4>>2],d=+p[r+64+8>>2],b=a*+p[e+4>>2]+l*+p[e+20>>2]+d*+p[e+36>>2],A=a*+p[e+8>>2]+l*+p[e+24>>2]+d*+p[e+40>>2],p[r+32>>2]=+p[e>>2]*a+ +p[e+16>>2]*l+ +p[e+32>>2]*d,p[r+32+4>>2]=b,p[r+32+8>>2]=A,p[r+32+12>>2]=0,_d[127&c](r+48|0,t,r+32|0),A=+p[r+48>>2],b=+p[r+48+4>>2],d=+p[r+48+8>>2],l=A*+p[e+16>>2]+b*+p[e+20>>2]+d*+p[e+24>>2]+ +p[e+52>>2],a=A*+p[e+32>>2]+b*+p[e+36>>2]+d*+p[e+40>>2]+ +p[e+56>>2],p[r+32>>2]=A*+p[e>>2]+b*+p[e+4>>2]+d*+p[e+8>>2]+ +p[e+48>>2],p[r+32+4>>2]=l,p[r+32+8>>2]=a,p[r+32+12>>2]=0,c=r+32+(s<<2)|0,p[n+(s<<2)>>2]=o+ +p[c>>2],p[f>>2]=-1,f=0|_[64+(0|_[t>>2])>>2],a=+p[r+64>>2],l=+p[r+64+4>>2],d=+p[r+64+8>>2],b=a*+p[e+4>>2]+l*+p[e+20>>2]+d*+p[e+36>>2],A=a*+p[e+8>>2]+l*+p[e+24>>2]+d*+p[e+40>>2],p[r>>2]=+p[e>>2]*a+ +p[e+16>>2]*l+ +p[e+32>>2]*d,p[r+4>>2]=b,p[r+8>>2]=A,p[r+12>>2]=0,_d[127&f](r+16|0,t,r),A=+p[r+16>>2],b=+p[r+16+4>>2],d=+p[r+16+8>>2],l=A*+p[e+16>>2]+b*+p[e+20>>2]+d*+p[e+24>>2]+ +p[e+52>>2],a=A*+p[e+32>>2]+b*+p[e+36>>2]+d*+p[e+40>>2]+ +p[e+56>>2],p[r+32>>2]=A*+p[e>>2]+b*+p[e+4>>2]+d*+p[e+8>>2]+ +p[e+48>>2],p[r+32+4>>2]=l,p[r+32+8>>2]=a,p[r+32+12>>2]=0,p[i+(s<<2)>>2]=+p[c>>2]-o,s=s+1|0}while(3!=(0|s));Q=r},ot,U_,function(t,e,i,n){t|=0,e|=0,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0;if(!((0|(n|=0))<=0)){o=0;do{b=+p[e+(o<<4)>>2],d=+p[e+(o<<4)+4>>2],c=+p[e+(o<<4)+8>>2],a=b*+p[t+56>>2]+d*+p[t+60>>2]+c*+p[t+64>>2],l=b*+p[t+72>>2]+d*+p[t+76>>2]+c*+p[t+80>>2],c=b*+p[t+88>>2]+d*+p[t+92>>2]+c*+p[t+96>>2],s=t+56+((a>2]=_[s>>2],_[r+4>>2]=_[s+4>>2],_[r+8>>2]=_[s+8>>2],_[r+12>>2]=_[s+12>>2],o=o+1|0}while((0|o)!=(0|n))}},function(t,e,i,n){e|=0,i|=0,n|=0,_d[127&_[108+(0|_[(t|=0)>>2])>>2]](t,e,i),_d[127&_[108+(0|_[t>>2])>>2]](t,(e+1|0)%3|0,n)},function(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[124+(0|_[(t|=0)>>2])>>2]](t,n,e,i)},function(t,e,i,n){i|=0,n|=0;var o,r,s,c,a=0,l=0,d=0;a=+p[56+(t|=0)>>2],s=+p[t+72>>2]-a,l=+p[t+60>>2],r=+p[t+76>>2]-l,d=+p[t+64>>2],c=+p[t+80>>2]-d,a=+p[t+88>>2]-a,l=+p[t+92>>2]-l,d=+p[t+96>>2]-d,p[i+12>>2]=0,o=1/+b(+((s*l-r*a)*(s*l-r*a)+((r*d-c*l)*(r*d-c*l)+(c*a-s*d)*(c*a-s*d)))),p[i>>2]=(r*d-c*l)*o,p[i+4>>2]=(c*a-s*d)*o,p[i+8>>2]=(s*l-r*a)*o,_[n>>2]=_[t+56>>2],_[n+4>>2]=_[t+56+4>>2],_[n+8>>2]=_[t+56+8>>2],_[n+12>>2]=_[t+56+12>>2]},function(t,e,i,o){e|=0,i|=0,o|=0;var r,s,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;r=Q,Q=Q+144|0,A=0|_[48+(t|=0)>>2],0|(l=0|_[t+52>>2])&&0|(d=0|_[l+20>>2])&&1&Gl[127&_[48+(0|_[d>>2])>>2]](d)&&(_[r>>2]=1065353216,_[r+4>>2]=1065353216,_[r+8>>2]=0,p[r+12>>2]=0,d=0|_[t+8>>2],h=0|_[20+(0|_[t+52>>2])>>2],m=0|_[8+(0|_[h>>2])>>2],y=+p[e>>2],j=+p[e+4>>2],g=+p[e+8>>2],k=+p[d+20>>2],C=+p[d+24>>2],D=+p[d+28>>2],v=+p[d+36>>2],B=+p[d+40>>2],S=+p[d+44>>2],w=+p[d+52>>2],I=+p[d+56>>2],R=+p[d+60>>2],p[r+120>>2]=y*+p[d+4>>2]+j*+p[d+8>>2]+g*+p[d+12>>2]+w,p[r+120+4>>2]=y*k+j*C+g*D+I,p[r+120+8>>2]=y*v+j*B+g*S+R,p[r+120+12>>2]=0,g=+p[e+16>>2],j=+p[e+20>>2],y=+p[e+24>>2],p[r+96>>2]=w+(g*+p[d+4>>2]+j*+p[d+8>>2]+y*+p[d+12>>2]),p[r+96+4>>2]=I+(k*g+C*j+D*y),p[r+96+8>>2]=R+(v*g+B*j+S*y),p[r+96+12>>2]=0,pd[127&m](h,r+120|0,r+96|0,r),h=0|_[20+(0|_[t+52>>2])>>2],m=0|_[8+(0|_[h>>2])>>2],y=+p[e+16>>2],S=+p[e+20>>2],j=+p[e+24>>2],B=+p[d+20>>2],g=+p[d+24>>2],v=+p[d+28>>2],R=+p[d+36>>2],D=+p[d+40>>2],C=+p[d+44>>2],k=+p[d+52>>2],I=+p[d+56>>2],w=+p[d+60>>2],p[r+120>>2]=y*+p[d+4>>2]+S*+p[d+8>>2]+j*+p[d+12>>2]+k,p[r+120+4>>2]=y*B+S*g+j*v+I,p[r+120+8>>2]=y*R+S*D+j*C+w,p[r+120+12>>2]=0,j=+p[e+32>>2],S=+p[e+36>>2],y=+p[e+40>>2],p[r+96>>2]=k+(j*+p[d+4>>2]+S*+p[d+8>>2]+y*+p[d+12>>2]),p[r+96+4>>2]=I+(B*j+g*S+v*y),p[r+96+8>>2]=w+(R*j+D*S+C*y),p[r+96+12>>2]=0,pd[127&m](h,r+120|0,r+96|0,r),h=0|_[20+(0|_[t+52>>2])>>2],m=0|_[8+(0|_[h>>2])>>2],y=+p[e+32>>2],C=+p[e+36>>2],S=+p[e+40>>2],D=+p[d+20>>2],j=+p[d+24>>2],R=+p[d+28>>2],w=+p[d+36>>2],v=+p[d+40>>2],g=+p[d+44>>2],B=+p[d+52>>2],I=+p[d+56>>2],k=+p[d+60>>2],p[r+120>>2]=y*+p[d+4>>2]+C*+p[d+8>>2]+S*+p[d+12>>2]+B,p[r+120+4>>2]=y*D+C*j+S*R+I,p[r+120+8>>2]=y*w+C*v+S*g+k,p[r+120+12>>2]=0,S=+p[e>>2],C=+p[e+4>>2],y=+p[e+8>>2],p[r+96>>2]=B+(S*+p[d+4>>2]+C*+p[d+8>>2]+y*+p[d+12>>2]),p[r+96+4>>2]=I+(D*S+j*C+R*y),p[r+96+8>>2]=k+(w*S+v*C+g*y),p[r+96+12>>2]=0,pd[127&m](h,r+120|0,r+96|0,r)),l=9*((i<<21|o)+~(o<<15)>>10^(i<<21|o)+~(o<<15))|0,l^=l>>6,l=(0|_[t+108>>2])-1&(l+~(l<<11)>>16^l+~(l<<11));t:do{if(l>>>0<(0|_[t+64>>2])>>>0&&(c=0|_[(0|_[t+72>>2])+(l<<2)>>2],-1!=(0|c))){for(l=0|_[t+132>>2];(i<<21|o)!=(0|_[l+(c<<2)>>2]);)if(-1==(0|(c=0|_[(0|_[t+92>>2])+(c<<2)>>2])))break t;if((l=0|_[t+112>>2])+(c<<3)|0)return m=0|_[l+(c<<3)+4>>2],h=0|_[t+8>>2],_[m+8>>2]=_[8+(0|_[h+192>>2])>>2],u=0|_[t+4>>2],f=0|_[u+192>>2],_[r>>2]=0,_[r+4>>2]=f,_[r+8>>2]=u,_[r+12>>2]=u+4,_[r+16>>2]=-1,_[r+20>>2]=-1,_[r+120>>2]=0,_[r+120+4>>2]=m,_[r+120+8>>2]=h,_[r+120+12>>2]=h+4,_[r+120+16>>2]=i,_[r+120+20>>2]=o,h=0|Hl[31&_[8+(0|_[A>>2])>>2]](A,r,r+120|0,0),dd[31&_[8+(0|_[h>>2])>>2]](h,r,r+120|0,0|_[t+52>>2],0|_[t+44>>2]),Xl[511&_[_[h>>2]>>2]](h),ed[127&_[60+(0|_[A>>2])>>2]](A,h),void(Q=r)}}while(0);C=+p[e+16>>2],s=+p[e>>2],v=+p[e+20>>2],y=+p[e+4>>2],S=+p[e+24>>2],g=+p[e+8>>2],w=+p[e+32>>2],R=+p[e+36>>2],D=+p[e+40>>2],B=1/+b(+((I=(C-s)*(R-y)-(v-y)*(w-s))*I+((k=(v-y)*(D-g)-(S-g)*(R-y))*k+(j=(S-g)*(w-s)-(C-s)*(D-g))*j))),p[r>>2]=s+k*B*.05999999865889549,p[r+4>>2]=y+j*B*.05999999865889549,p[r+8>>2]=g+I*B*.05999999865889549,p[r+12>>2]=0,p[r+16>>2]=C+k*B*.05999999865889549,p[r+20>>2]=v+j*B*.05999999865889549,p[r+24>>2]=S+I*B*.05999999865889549,p[r+28>>2]=0,p[r+32>>2]=w+k*B*.05999999865889549,p[r+36>>2]=R+j*B*.05999999865889549,p[r+40>>2]=D+I*B*.05999999865889549,p[r+44>>2]=0,p[r+48>>2]=s-k*B*.05999999865889549,p[r+52>>2]=y-j*B*.05999999865889549,p[r+56>>2]=g-I*B*.05999999865889549,p[r+60>>2]=0,p[r+64>>2]=C-k*B*.05999999865889549,p[r+68>>2]=v-j*B*.05999999865889549,p[r+72>>2]=S-I*B*.05999999865889549,p[r+76>>2]=0,p[r+80>>2]=w-k*B*.05999999865889549,p[r+84>>2]=R-j*B*.05999999865889549,p[r+88>>2]=D-I*B*.05999999865889549,p[r+92>>2]=0,_[6630]=1+(0|_[6630]),(c=0|di(131))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,ft(c,r,6,16),h=0|_[t+8>>2],_[c+8>>2]=_[8+(0|_[h+192>>2])>>2],m=0|_[t+4>>2],e=0|_[m+192>>2],_[r+120>>2]=0,_[r+120+4>>2]=e,_[r+120+8>>2]=m,_[r+120+12>>2]=m+4,_[r+120+16>>2]=-1,_[r+120+20>>2]=-1,_[r+96>>2]=0,_[r+96+4>>2]=c,_[r+96+8>>2]=h,_[r+96+12>>2]=h+4,_[r+96+16>>2]=i,_[r+96+20>>2]=o,h=0|Hl[31&_[8+(0|_[A>>2])>>2]](A,r+120|0,r+96|0,0),dd[31&_[8+(0|_[h>>2])>>2]](h,r+120|0,r+96|0,0|_[t+52>>2],0|_[t+44>>2]),Xl[511&_[_[h>>2]>>2]](h),ed[127&_[60+(0|_[A>>2])>>2]](A,h),h=9*((i<<21|o)+~(o<<15)>>10^(i<<21|o)+~(o<<15))|0,h=(h^=h>>6)+~(h<<11)>>16^h+~(h<<11),A=0|_[t+108>>2];t:do{if((h&A+-1)>>>0<(0|_[t+64>>2])>>>0&&(a=0|_[(0|_[t+72>>2])+((h&A+-1)<<2)>>2],-1!=(0|a))){for(l=0|_[t+132>>2];(i<<21|o)!=(0|_[l+(a<<2)>>2]);)if(-1==(0|(a=0|_[(0|_[t+92>>2])+(a<<2)>>2]))){f=20;break t}t=0|_[t+112>>2],_[t+(a<<3)>>2]=i<<21|o,_[t+(a<<3)+4>>2]=c}else f=20}while(0);if(20==(0|f)){if((0|(m=0|_[t+104>>2]))==(0|A))if((0|A)<(0|(e=0|A?A<<1:1))){if(e?(_[6630]=1+(0|_[6630]),(a=0|di(16+(e<<3|3)|0))?(_[(a+4+15&-16)-4>>2]=a,a=a+4+15&-16):a=0,d=0|_[t+104>>2]):(a=0,d=A),(0|d)>0){l=0;do{x=(0|_[t+112>>2])+(l<<3)|0,F=0|_[x+4>>2],_[(W=a+(l<<3)|0)>>2]=_[x>>2],_[W+4>>2]=F,l=l+1|0}while((0|l)!=(0|d))}0|(l=0|_[t+112>>2])&&(0|n[t+116|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+112>>2]=0),n[t+116|0]=1,_[t+112>>2]=a,_[t+108>>2]=e,a=0|_[t+104>>2]}else a=A;else a=m;if(x=0|_[t+112>>2],_[x+(a<<3)>>2]=i<<21|o,_[x+(a<<3)+4>>2]=c,_[t+104>>2]=1+(0|_[t+104>>2]),(0|(c=0|_[t+124>>2]))==(0|_[t+128>>2])&&(0|c)<(0|(u=0|c?c<<1:1))){if(u?(_[6630]=1+(0|_[6630]),(c=0|di(16+(u<<2|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,d=c,c=0|_[t+124>>2]):d=0,l=0|_[t+132>>2],(0|c)<=0)l?f=45:a=t+136|0;else{a=0;do{_[d+(a<<2)>>2]=_[l+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|c));f=45}45==(0|f)&&(0|n[t+136|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[t+132>>2]=0,a=t+136|0,c=0|_[t+124>>2]),n[0|a]=1,_[t+132>>2]=d,_[t+128>>2]=u}if(_[(0|_[t+132>>2])+(c<<2)>>2]=i<<21|o,_[t+124>>2]=1+(0|_[t+124>>2]),(0|A)<(0|(f=0|_[t+108>>2]))){if((0|(u=0|_[t+64>>2]))<(0|f)){do{if((0|_[t+68>>2])<(0|f)){if(f?(_[6630]=1+(0|_[6630]),(c=0|di(16+(f<<2|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,l=0|_[t+64>>2]):(c=0,l=u),d=0|_[t+72>>2],(0|l)<=0){if(!d){n[t+76|0]=1,_[t+72>>2]=c,_[t+68>>2]=f,A=t+72|0;break}}else{a=0;do{_[c+(a<<2)>>2]=_[d+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|l))}0|n[t+76|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[d+-4>>2])),n[t+76|0]=1,_[t+72>>2]=c,_[t+68>>2]=f,A=t+72|0}else A=t+72|0,c=0|_[t+72>>2]}while(0);if(wn(c+(u<<2)|0,0,(f<<2)-(u<<2)|0),_[t+64>>2]=f,(0|(e=0|_[t+84>>2]))<(0|f)){do{if((0|_[t+88>>2])<(0|f)){if(f?(_[6630]=1+(0|_[6630]),(c=0|di(16+(f<<2|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,l=0|_[t+84>>2]):(c=0,l=e),d=0|_[t+92>>2],(0|l)<=0){if(!d){n[t+96|0]=1,_[t+92>>2]=c,_[t+88>>2]=f;break}}else{a=0;do{_[c+(a<<2)>>2]=_[d+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|l))}0|n[t+96|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[d+-4>>2])),n[t+96|0]=1,_[t+92>>2]=c,_[t+88>>2]=f}else c=0|_[t+92>>2]}while(0);wn(c+(e<<2)|0,0,(f<<2)-(e<<2)|0)}if(_[t+84>>2]=f,(0|f)>0&&(wn(0|_[A>>2],-1,f<<2),wn(0|_[t+92>>2],-1,f<<2)),(0|u)>0){d=0|_[t+132>>2],a=0|_[A>>2],l=0|_[t+92>>2],c=0;do{x=9*((x=0|_[d+(c<<2)>>2])+~(x<<15)>>10^x+~(x<<15))|0,x=a+((((x^=x>>6)+~(x<<11)>>16^x+~(x<<11))&(0|_[t+108>>2])-1)<<2)|0,_[l+(c<<2)>>2]=_[x>>2],_[x>>2]=c,c=c+1|0}while((0|c)!=(0|u))}}c=h&(0|_[t+108>>2])-1}else c=h&A+-1;x=(0|_[t+72>>2])+(c<<2)|0,_[(0|_[t+92>>2])+(m<<2)>>2]=_[x>>2],_[x>>2]=m}Q=r},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0;switch(o=Q,Q=Q+208|0,r=0|Gl[127&_[20+(0|_[(t|=0)>>2])>>2]](t),id[7&_[56+(0|_[r>>2])>>2]](r,e,1),0|(r=0|_[i+4>>2])){case 31:if((0|(r=0|_[i+16>>2]))<=0)return void(Q=o);do{m=r,r=r+-1|0,u=0|_[i+24>>2],D=+p[u+(80*r|0)>>2],k=+p[u+(80*r|0)+4>>2],v=+p[u+(80*r|0)+8>>2],j=+p[u+(80*r|0)+16>>2],w=+p[u+(80*r|0)+20>>2],g=+p[u+(80*r|0)+24>>2],R=+p[u+(80*r|0)+32>>2],S=+p[u+(80*r|0)+36>>2],h=+p[u+(80*r|0)+40>>2],P=+p[u+(80*r|0)+48>>2],T=+p[u+(80*r|0)+52>>2],l=+p[u+(80*r|0)+56>>2],u=0|_[u+(80*r|0)+64>>2],f=0|_[28+(0|_[t>>2])>>2],O=+p[e>>2],x=+p[e+4>>2],F=+p[e+8>>2],W=+p[e+16>>2],B=+p[e+20>>2],I=+p[e+24>>2],C=+p[e+32>>2],y=+p[e+36>>2],s=+p[e+40>>2],c=P*O+T*x+l*F+ +p[e+48>>2],a=P*W+T*B+l*I+ +p[e+52>>2],l=P*C+T*y+l*s+ +p[e+56>>2],p[o+144>>2]=D*O+j*x+R*F,p[o+144+4>>2]=k*O+w*x+S*F,p[o+144+8>>2]=v*O+g*x+h*F,p[o+144+12>>2]=0,p[o+144+16>>2]=D*W+j*B+R*I,p[o+144+20>>2]=k*W+w*B+S*I,p[o+144+24>>2]=v*W+g*B+h*I,p[o+144+28>>2]=0,p[o+144+32>>2]=D*C+j*y+R*s,p[o+144+36>>2]=k*C+w*y+S*s,p[o+144+40>>2]=v*C+g*y+h*s,p[o+144+44>>2]=0,p[o+144+48>>2]=c,p[o+144+52>>2]=a,p[o+144+56>>2]=l,p[o+144+60>>2]=0,pd[127&f](t,o+144|0,u,n)}while((0|m)>1);return void(Q=o);case 0:return _[o+144>>2]=_[i+28>>2],_[o+144+4>>2]=_[i+28+4>>2],_[o+144+8>>2]=_[i+28+8>>2],_[o+144+12>>2]=_[i+28+12>>2],O=+Il[15&_[48+(0|_[i>>2])>>2]](i),T=+Il[15&_[48+(0|_[i>>2])>>2]](i),P=+Il[15&_[48+(0|_[i>>2])>>2]](i),O+=+p[o+144>>2],p[o+144>>2]=O,T+=+p[o+144+4>>2],p[o+144+4>>2]=T,P+=+p[o+144+8>>2],p[o+144+8>>2]=P,i=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),t=0|_[72+(0|_[i>>2])>>2],p[o+112>>2]=-O,p[o+112+4>>2]=-T,p[o+112+8>>2]=-P,p[o+112+12>>2]=0,dd[31&t](i,o+112|0,o+144|0,e,n),void(Q=o);case 8:return P=+Il[15&_[48+(0|_[i>>2])>>2]](i),i=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),td[1&_[16+(0|_[i>>2])>>2]](i,P,e,n),void(Q=o);case 9:if((0|(r=0|_[i+92>>2]))<=0)return void(Q=o);do{m=r,r=r+-1|0,u=0|_[i+100>>2],v=+p[u+(r<<4)>>2],S=+p[u+(r<<4)+4>>2],T=+p[u+(r<<4)+8>>2],u=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),f=0|_[16+(0|_[u>>2])>>2],P=+p[(0|_[i+120>>2])+(r<<2)>>2],k=+p[e>>2],R=+p[e+4>>2],w=+p[e+8>>2],D=+p[e+16>>2],I=+p[e+20>>2],j=+p[e+24>>2],W=+p[e+32>>2],F=+p[e+36>>2],B=+p[e+40>>2],x=v*k+S*R+T*w+ +p[e+48>>2],O=v*D+S*I+T*j+ +p[e+52>>2],T=v*W+S*F+T*B+ +p[e+56>>2],p[o+144>>2]=k+0*R+0*w,p[o+144+4>>2]=0*k+R+0*w,p[o+144+8>>2]=w+(0*k+0*R),p[o+144+12>>2]=0,p[o+144+16>>2]=D+0*I+0*j,p[o+144+20>>2]=0*D+I+0*j,p[o+144+24>>2]=j+(0*D+0*I),p[o+144+28>>2]=0,p[o+144+32>>2]=W+0*F+0*B,p[o+144+36>>2]=0*W+F+0*B,p[o+144+40>>2]=B+(0*W+0*F),p[o+144+44>>2]=0,p[o+144+48>>2]=x,p[o+144+52>>2]=O,p[o+144+56>>2]=T,p[o+144+60>>2]=0,td[1&f](u,P,o+144|0,n)}while((0|m)>1);return void(Q=o);case 10:return m=0|_[i+52>>2],T=+p[i+28+((m+2|0)%3<<2)>>2],P=+p[i+28+(m<<2)>>2],i=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),ql[3&_[76+(0|_[i>>2])>>2]](i,T,P,m,e,n),void(Q=o);case 11:return T=+p[i+56>>2],P=+p[i+60>>2],i=0|_[i+68>>2],t=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),ql[3&_[84+(0|_[t>>2])>>2]](t,T,P,i,e,n),void(Q=o);case 13:return m=0|_[i+52>>2],T=+Il[15&_[92+(0|_[i>>2])>>2]](i),_[o+128>>2]=_[i+28>>2],_[o+128+4>>2]=_[i+28+4>>2],_[o+128+8>>2]=_[i+28+8>>2],_[o+128+12>>2]=_[i+28+12>>2],x=+Il[15&_[48+(0|_[i>>2])>>2]](i),O=+Il[15&_[48+(0|_[i>>2])>>2]](i),P=+Il[15&_[48+(0|_[i>>2])>>2]](i),p[o+128>>2]=x+ +p[o+128>>2],p[o+128+4>>2]=O+ +p[o+128+4>>2],p[o+128+8>>2]=P+ +p[o+128+8>>2],P=+p[o+128+(m<<2)>>2],i=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),ql[3&_[80+(0|_[i>>2])>>2]](i,T,P,m,e,n),void(Q=o);case 28:return P=+p[i+64>>2],t=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),od[1&_[88+(0|_[t>>2])>>2]](t,i+48|0,P,e,n),void(Q=o);default:t:do{if((0|r)<7){if(!(m=0|_[i+52>>2])){if((0|Gl[127&_[100+(0|_[i>>2])>>2]](i))<=0)break;for(r=0;;)if(pd[127&_[104+(0|_[i>>2])>>2]](i,r,o+144|0,o+112|0),P=+p[o+144>>2],S=+p[e>>2],O=+p[o+144+4>>2],w=+p[e+4>>2],F=+p[o+144+8>>2],k=+p[e+8>>2],j=+p[e+16>>2],D=+p[e+20>>2],I=+p[e+24>>2],W=+p[e+32>>2],x=+p[e+36>>2],T=+p[e+40>>2],v=+p[e+48>>2],R=+p[e+52>>2],B=+p[e+56>>2],p[o+16>>2]=P*S+O*w+F*k+v,p[o+16+4>>2]=P*j+O*D+F*I+R,p[o+16+8>>2]=P*W+O*x+F*T+B,p[o+16+12>>2]=0,F=+p[o+112>>2],O=+p[o+112+4>>2],P=+p[o+112+8>>2],p[o>>2]=v+(S*F+w*O+k*P),p[o+4>>2]=R+(j*F+D*O+I*P),p[o+8>>2]=B+(W*F+x*O+T*P),p[o+12>>2]=0,m=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),pd[127&_[8+(0|_[m>>2])>>2]](m,o+16|0,o,n),(0|(r=r+1|0))>=(0|Gl[127&_[100+(0|_[i>>2])>>2]](i)))break t}if((0|_[m+28>>2])>0){u=0;do{r=0|_[m+36>>2],f=0|_[r+(36*u|0)+4>>2];e:do{if((0|f)>0)for(d=0|_[r+(36*u|0)+12>>2],r=0,b=0|_[d+(f+-1<<2)>>2],s=0,c=0,l=0;;){if(A=0|_[d+(r<<2)>>2],d=0|_[m+16>>2],s+=+p[d+(A<<4)>>2],c+=+p[d+(A<<4)+4>>2],l+=+p[d+(A<<4)+8>>2],d=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),M=0|_[8+(0|_[d>>2])>>2],V=0|_[m+16>>2],P=+p[V+(b<<4)>>2],S=+p[e>>2],O=+p[V+(b<<4)+4>>2],w=+p[e+4>>2],F=+p[V+(b<<4)+8>>2],k=+p[e+8>>2],j=+p[e+16>>2],D=+p[e+20>>2],I=+p[e+24>>2],W=+p[e+32>>2],x=+p[e+36>>2],T=+p[e+40>>2],v=+p[e+48>>2],R=+p[e+52>>2],B=+p[e+56>>2],p[o+144>>2]=P*S+O*w+F*k+v,p[o+144+4>>2]=P*j+O*D+F*I+R,p[o+144+8>>2]=P*W+O*x+F*T+B,p[o+144+12>>2]=0,F=+p[V+(A<<4)>>2],O=+p[V+(A<<4)+4>>2],P=+p[V+(A<<4)+8>>2],p[o+112>>2]=v+(S*F+w*O+k*P),p[o+112+4>>2]=R+(j*F+D*O+I*P),p[o+112+8>>2]=B+(W*F+x*O+T*P),p[o+112+12>>2]=0,pd[127&M](d,o+144|0,o+112|0,n),r=r+1|0,d=0|_[m+36>>2],(0|r)>=(0|_[d+(36*u|0)+4>>2]))break e;b=A,d=0|_[d+(36*u|0)+12>>2]}else s=0,c=0,l=0}while(0);a=1/+(0|f)*s,c*=1/+(0|f),s=1/+(0|f)*l,V=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),16384&Gl[127&_[48+(0|_[V>>2])>>2]](V)&&(_[o+144>>2]=1065353216,_[o+144+4>>2]=1065353216,_[o+144+8>>2]=0,p[o+144+12>>2]=0,V=0|_[m+36>>2],B=+p[V+(36*u|0)+20>>2],F=+p[V+(36*u|0)+24>>2],O=+p[V+(36*u|0)+28>>2],V=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),M=0|_[8+(0|_[V>>2])>>2],v=+p[e>>2],S=+p[e+4>>2],w=+p[e+8>>2],R=+p[e+16>>2],j=+p[e+20>>2],D=+p[e+24>>2],W=+p[e+32>>2],x=+p[e+36>>2],T=+p[e+40>>2],k=+p[e+48>>2],I=+p[e+52>>2],P=+p[e+56>>2],p[o+112>>2]=a*v+c*S+s*w+k,p[o+112+4>>2]=a*R+c*j+s*D+I,p[o+112+8>>2]=a*W+c*x+s*T+P,p[o+112+12>>2]=0,p[o+16>>2]=(a+B)*v+(c+F)*S+(s+O)*w+k,p[o+16+4>>2]=(a+B)*R+(c+F)*j+(s+O)*D+I,p[o+16+8>>2]=(a+B)*W+(c+F)*x+(s+O)*T+P,p[o+16+12>>2]=0,pd[127&M](V,o+112|0,o+16|0,o+144|0)),u=u+1|0}while((0|u)<(0|_[m+28>>2]))}}}while(0);return((r=0|_[i+4>>2])-21|0)>>>0<9&&(_[o+144>>2]=1566444395,_[o+144+4>>2]=1566444395,_[o+144+8>>2]=1566444395,p[o+144+12>>2]=0,_[o+112>>2]=-581039253,_[o+112+4>>2]=-581039253,_[o+112+8>>2]=-581039253,p[o+112+12>>2]=0,r=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),_[o+16>>2]=6716,_[o+16+4>>2]=6740,_[o+16+8>>2]=r,_[o+16+12>>2]=_[n>>2],_[o+16+12+4>>2]=_[n+4>>2],_[o+16+12+8>>2]=_[n+8>>2],_[o+16+12+12>>2]=_[n+12>>2],_[o+16+28>>2]=_[e>>2],_[o+16+28+4>>2]=_[e+4>>2],_[o+16+28+8>>2]=_[e+8>>2],_[o+16+28+12>>2]=_[e+12>>2],_[o+16+44>>2]=_[e+16>>2],_[o+16+44+4>>2]=_[e+16+4>>2],_[o+16+44+8>>2]=_[e+16+8>>2],_[o+16+44+12>>2]=_[e+16+12>>2],_[o+16+60>>2]=_[e+32>>2],_[o+16+60+4>>2]=_[e+32+4>>2],_[o+16+60+8>>2]=_[e+32+8>>2],_[o+16+60+12>>2]=_[e+32+12>>2],_[o+16+76>>2]=_[e+48>>2],_[o+16+76+4>>2]=_[e+48+4>>2],_[o+16+76+8>>2]=_[e+48+8>>2],_[o+16+76+12>>2]=_[e+48+12>>2],pd[127&_[64+(0|_[i>>2])>>2]](i,o+16|0,o+112|0,o+144|0),r=0|_[i+4>>2]),3!=(0|r)||(_[o+144>>2]=1566444395,_[o+144+4>>2]=1566444395,_[o+144+8>>2]=1566444395,p[o+144+12>>2]=0,_[o+112>>2]=-581039253,_[o+112+4>>2]=-581039253,_[o+112+8>>2]=-581039253,p[o+112+12>>2]=0,V=0|Gl[127&_[20+(0|_[t>>2])>>2]](t),_[o+16>>2]=6716,_[o+16+4>>2]=6740,_[o+16+8>>2]=V,_[o+16+12>>2]=_[n>>2],_[o+16+12+4>>2]=_[n+4>>2],_[o+16+12+8>>2]=_[n+8>>2],_[o+16+12+12>>2]=_[n+12>>2],_[o+16+28>>2]=_[e>>2],_[o+16+28+4>>2]=_[e+4>>2],_[o+16+28+8>>2]=_[e+8>>2],_[o+16+28+12>>2]=_[e+12>>2],_[o+16+44>>2]=_[e+16>>2],_[o+16+44+4>>2]=_[e+16+4>>2],_[o+16+44+8>>2]=_[e+16+8>>2],_[o+16+44+12>>2]=_[e+16+12>>2],_[o+16+60>>2]=_[e+32>>2],_[o+16+60+4>>2]=_[e+32+4>>2],_[o+16+60+8>>2]=_[e+32+8>>2],_[o+16+60+12>>2]=_[e+32+12>>2],_[o+16+76>>2]=_[e+48>>2],_[o+16+76+4>>2]=_[e+48+4>>2],_[o+16+76+8>>2]=_[e+48+8>>2],_[o+16+76+12>>2]=_[e+48+12>>2],V=0|_[i+92>>2],pd[127&_[8+(0|_[V>>2])>>2]](V,o+16+4|0,o+112|0,o+144|0)),void(Q=o)}},function(t,e,i,n){t|=0,e|=0,i|=0,n|=0;var o,r,s,c,a,l,d,A,f,u=0;if(o=Q,Q=Q+256|0,$i(14106),_[o+32>>2]=4908,_[(a=o+32+36|0)>>2]=_[e>>2],_[a+4>>2]=_[e+4>>2],_[a+8>>2]=_[e+8>>2],_[a+12>>2]=_[e+12>>2],_[(u=o+32+52|0)>>2]=_[i>>2],_[u+4>>2]=_[i+4>>2],_[u+8>>2]=_[i+8>>2],_[u+12>>2]=_[i+12>>2],_[o+32+212>>2]=t,_[o+32+216>>2]=n,_[o+32+68>>2]=1065353216,_[o+32+72>>2]=0,_[o+32+72+4>>2]=0,_[o+32+72+8>>2]=0,_[o+32+72+12>>2]=0,_[o+32+88>>2]=1065353216,_[o+32+92>>2]=0,_[o+32+92+4>>2]=0,_[o+32+92+8>>2]=0,_[o+32+92+12>>2]=0,_[o+32+108>>2]=1065353216,_[o+32+112>>2]=0,_[o+32+116>>2]=_[a>>2],_[o+32+116+4>>2]=_[a+4>>2],_[o+32+116+8>>2]=_[a+8>>2],_[o+32+116+12>>2]=_[a+12>>2],_[o+32+132>>2]=1065353216,_[o+32+136>>2]=0,_[o+32+136+4>>2]=0,_[o+32+136+8>>2]=0,_[o+32+136+12>>2]=0,_[o+32+152>>2]=1065353216,_[o+32+156>>2]=0,_[o+32+156+4>>2]=0,_[o+32+156+8>>2]=0,_[o+32+156+12>>2]=0,_[o+32+172>>2]=1065353216,_[o+32+176>>2]=0,_[o+32+180>>2]=_[i>>2],_[o+32+180+4>>2]=_[i+4>>2],_[o+32+180+8>>2]=_[i+8>>2],_[o+32+180+12>>2]=_[i+12>>2],l=+p[i>>2]-+p[e>>2],c=+p[i+4>>2]-+p[e+4>>2],s=+p[i+8>>2]-+p[e+8>>2],f=l*(r=1/+b(+(l*l+c*c+s*s)))==0?1.0000000150474662e30:1/(l*r),p[o+32+4>>2]=f,A=c*r==0?1.0000000150474662e30:1/(c*r),p[o+32+8>>2]=A,d=s*r==0?1.0000000150474662e30:1/(s*r),p[o+32+12>>2]=d,_[o+32+20>>2]=f<0&1,_[o+32+24>>2]=A<0&1,_[o+32+28>>2]=d<0&1,p[o+32+32>>2]=l*r*(+p[u>>2]-+p[a>>2])+c*r*(+p[o+32+56>>2]-+p[o+32+40>>2])+s*r*(+p[o+32+60>>2]-+p[o+32+44>>2]),t=0|_[t+68>>2],n=0|_[24+(0|_[t>>2])>>2],_[o+16>>2]=0,_[o+16+4>>2]=0,_[o+16+8>>2]=0,_[o+16+12>>2]=0,_[o>>2]=0,_[o+4>>2]=0,_[o+8>>2]=0,_[o+12>>2]=0,Ad[7&n](t,e,i,o+32|0,o+16|0,o),t=0|_[2606],n=(0|_[t+16>>2])-1|0,_[t+16>>2]=n,0|n)Q=o;else{do{if(0|_[t+4>>2]){if(G(o+32|0,0),u=0|_[6629],p[t+8>>2]=+p[t+8>>2]+ +(((0|_[o+32+4>>2])-(0|_[u+4>>2])+(1e6*((0|_[o+32>>2])-(0|_[u>>2])|0)|0)-(0|_[t+12>>2])|0)>>>0)/1e3,0|_[t+16>>2])return void(Q=o);t=0|_[2606];break}}while(0);_[2606]=_[t+20>>2],Q=o}},function(t,e,i,n){St(t|=0,e|=0,i|=0,n|=0)},function(t,e,i,o){t|=0,i|=0,o|=0;var r=0,s=0,c=0,a=0,l=0,d=0,b=0;if(3&(r=0|_[204+(e|=0)>>2])||1&_[e+504>>2]||(0!=(s=+p[e+344>>2])&&(b=1/s*+p[t+252>>2],d=1/s*+p[t+256>>2],p[e+364>>2]=1/s*+p[t+248>>2],p[e+368>>2]=b,p[e+372>>2]=d,p[e+376>>2]=0),_[e+380>>2]=_[t+248>>2],_[e+380+4>>2]=_[t+248+4>>2],_[e+380+8>>2]=_[t+248+8>>2],_[e+380+12>>2]=_[t+248+12>>2]),0|_[e+192>>2]){if(1&r)4!=(-2&_[e+216>>2])&&(_[e+216>>2]=2);else{if((0|(r=0|_[t+232>>2]))==(0|_[t+236>>2])&&(0|r)<(0|(l=0|r?r<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(r=0|di(16+(l<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,a=r,r=0|_[t+232>>2]):a=0,(0|r)>0){c=0;do{_[a+(c<<2)>>2]=_[(0|_[t+240>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|r))}(c=0|_[t+240>>2])&&(0|n[t+244|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),r=0|_[t+232>>2]),_[t+240>>2]=0),n[t+244|0]=1,_[t+240>>2]=a,_[t+236>>2]=l}_[(0|_[t+240>>2])+(r<<2)>>2]=e,_[t+232>>2]=r+1}pd[127&_[36+(0|_[t>>2])>>2]](t,e,i,o)}},function(t,e,i,n){var o,r,s,c,a,l,d,A,f,u;t|=0,e|=0,i|=0,n|=0,o=Q,Q=Q+256|0,_[o+32>>2]=6588,_[(a=o+32+36|0)>>2]=_[e>>2],_[a+4>>2]=_[e+4>>2],_[a+8>>2]=_[e+8>>2],_[a+12>>2]=_[e+12>>2],_[(l=o+32+52|0)>>2]=_[i>>2],_[l+4>>2]=_[i+4>>2],_[l+8>>2]=_[i+8>>2],_[l+12>>2]=_[i+12>>2],_[o+32+212>>2]=t,_[o+32+216>>2]=n,_[o+32+68>>2]=1065353216,_[o+32+72>>2]=0,_[o+32+72+4>>2]=0,_[o+32+72+8>>2]=0,_[o+32+72+12>>2]=0,_[o+32+88>>2]=1065353216,_[o+32+92>>2]=0,_[o+32+92+4>>2]=0,_[o+32+92+8>>2]=0,_[o+32+92+12>>2]=0,_[o+32+108>>2]=1065353216,_[o+32+112>>2]=0,_[o+32+116>>2]=_[a>>2],_[o+32+116+4>>2]=_[a+4>>2],_[o+32+116+8>>2]=_[a+8>>2],_[o+32+116+12>>2]=_[a+12>>2],_[o+32+132>>2]=1065353216,_[o+32+136>>2]=0,_[o+32+136+4>>2]=0,_[o+32+136+8>>2]=0,_[o+32+136+12>>2]=0,_[o+32+152>>2]=1065353216,_[o+32+156>>2]=0,_[o+32+156+4>>2]=0,_[o+32+156+8>>2]=0,_[o+32+156+12>>2]=0,_[o+32+172>>2]=1065353216,_[o+32+176>>2]=0,_[o+32+180>>2]=_[i>>2],_[o+32+180+4>>2]=_[i+4>>2],_[o+32+180+8>>2]=_[i+8>>2],_[o+32+180+12>>2]=_[i+12>>2],d=+p[i>>2]-+p[e>>2],c=+p[i+4>>2]-+p[e+4>>2],s=+p[i+8>>2]-+p[e+8>>2],u=d*(r=1/+b(+(d*d+c*c+s*s)))==0?0xde0b6b000000000:1/(d*r),p[o+32+4>>2]=u,f=c*r==0?0xde0b6b000000000:1/(c*r),p[o+32+8>>2]=f,A=s*r==0?0xde0b6b000000000:1/(s*r),p[o+32+12>>2]=A,_[o+32+20>>2]=u<0&1,_[o+32+24>>2]=f<0&1,_[o+32+28>>2]=A<0&1,p[o+32+32>>2]=d*r*(+p[l>>2]-+p[a>>2])+c*r*(+p[o+32+56>>2]-+p[o+32+40>>2])+s*r*(+p[o+32+60>>2]-+p[o+32+44>>2]),n=0|_[t+68>>2],t=0|_[24+(0|_[n>>2])>>2],_[o+16>>2]=0,_[o+16+4>>2]=0,_[o+16+8>>2]=0,_[o+16+12>>2]=0,_[o>>2]=0,_[o+4>>2]=0,_[o+8>>2]=0,_[o+12>>2]=0,Ad[7&t](n,e,i,o+32|0,o+16|0,o),Q=o},function(t,e,i,o){t|=0,e|=0,o|=0;var r,s=0,c=0,a=0,l=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,E=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0;if(r=Q,Q=Q+80|0,(0|(i|=0))<=0)Q=r;else{Y=0;do{if(z=0|_[e+(Y<<2)>>2],K=0|_[z+740>>2],q=0|_[z+744>>2],$=0|Re(t,K,+p[o+12>>2]),tt=0|Re(t,q,+p[o+12>>2]),et=0|_[t+16>>2],0==+p[et+(244*$|0)+128>>2]&&0==+p[et+(244*$|0)+132>>2]&&0==+p[et+(244*$|0)+136>>2]&&0==+p[et+(244*tt|0)+128>>2]&&0==+p[et+(244*tt|0)+132>>2]&&0==+p[et+(244*tt|0)+136>>2]||(nt=9),9==(0|nt)&&(nt=0,(0|(it=0|_[z+748>>2]))>0)){J=0,s=1,c=it;do{if(Z=z+4+(184*J|0)|0,+p[(u=z+4+(184*J|0)+80|0)>>2]<=+p[z+756>>2]){if((0|(U=0|_[t+28>>2]))==(0|_[t+32>>2])&&(0|U)<(0|(X=0|U?U<<1:1))){if(X?(_[6630]=1+(0|_[6630]),(c=0|di(16+(152*X|3)|0))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,l=0|_[t+28>>2]):(c=0,l=U),(0|l)>0){a=0;do{_e(c+(152*a|0)|0,(0|_[t+36>>2])+(152*a|0)|0,152),a=a+1|0}while((0|a)!=(0|l))}0|(a=0|_[t+36>>2])&&(0|n[t+40|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+36>>2]=0),n[t+40|0]=1,_[t+36>>2]=c,_[t+32>>2]=X,c=0|_[t+28>>2]}else c=U;_[t+28>>2]=c+1,H=0|_[t+36>>2],m=2&_[K+236>>2]?K:0,h=2&_[q+236>>2]?q:0,_[H+(152*U|0)+144>>2]=$,_[H+(152*U|0)+148>>2]=tt,_[H+(152*U|0)+132>>2]=Z,j=+p[z+4+(184*J|0)+48>>2]-+p[K+52>>2],D=+p[z+4+(184*J|0)+52>>2]-+p[K+56>>2],R=+p[z+4+(184*J|0)+56>>2]-+p[K+60>>2],p[r+64>>2]=j,p[r+64+4>>2]=D,p[r+64+8>>2]=R,p[r+64+12>>2]=0,W=+p[z+4+(184*J|0)+32>>2]-+p[q+52>>2],F=+p[z+4+(184*J|0)+36>>2]-+p[q+56>>2],B=+p[z+4+(184*J|0)+40>>2]-+p[q+60>>2],p[r+48>>2]=W,p[r+48+4>>2]=F,p[r+48+8>>2]=B,p[r+48+12>>2]=0,0|_[et+(244*$|0)+240>>2]?(G=+p[et+(244*$|0)+192>>2]+ +p[et+(244*$|0)+224>>2],v=+p[et+(244*$|0)+196>>2]+ +p[et+(244*$|0)+228>>2],g=+p[et+(244*$|0)+200>>2]+ +p[et+(244*$|0)+232>>2],f=+p[et+(244*$|0)+176>>2]+ +p[et+(244*$|0)+208>>2]+(R*v-D*g),g=+p[et+(244*$|0)+180>>2]+ +p[et+(244*$|0)+212>>2]+(j*g-R*G),v=+p[et+(244*$|0)+184>>2]+ +p[et+(244*$|0)+216>>2]+(D*G-j*v)):(f=0,g=0,v=0),0|_[et+(244*tt|0)+240>>2]?(G=+p[et+(244*tt|0)+192>>2]+ +p[et+(244*tt|0)+224>>2],C=+p[et+(244*tt|0)+196>>2]+ +p[et+(244*tt|0)+228>>2],y=+p[et+(244*tt|0)+200>>2]+ +p[et+(244*tt|0)+232>>2],A=+p[et+(244*tt|0)+176>>2]+ +p[et+(244*tt|0)+208>>2]+(B*C-F*y),y=+p[et+(244*tt|0)+180>>2]+ +p[et+(244*tt|0)+212>>2]+(W*y-B*G),C=+p[et+(244*tt|0)+184>>2]+ +p[et+(244*tt|0)+216>>2]+(F*G-W*C)):(A=0,y=0,C=0),G=f-A,V=g-y,O=v-C,T=+p[(N=z+4+(184*J|0)+64|0)>>2],P=+p[(L=z+4+(184*J|0)+68|0)>>2],M=+p[(E=z+4+(184*J|0)+72|0)>>2],l=0|_[t+16>>2],c=0|_[l+(244*$|0)+240>>2],a=0|_[l+(244*tt|0)+240>>2],0|c?(A=((D*M-R*P)*+p[c+264>>2]+(R*T-M*j)*+p[c+268>>2]+(P*j-D*T)*+p[c+272>>2])*+p[c+544>>2],f=((D*M-R*P)*+p[c+280>>2]+(R*T-M*j)*+p[c+284>>2]+(P*j-D*T)*+p[c+288>>2])*+p[c+548>>2],y=((D*M-R*P)*+p[c+296>>2]+(R*T-M*j)*+p[c+300>>2]+(P*j-D*T)*+p[c+304>>2])*+p[c+552>>2]):(A=0,f=0,y=0),p[H+(152*U|0)+64>>2]=A,p[H+(152*U|0)+68>>2]=f,p[H+(152*U|0)+72>>2]=y,p[H+(152*U|0)+76>>2]=0,S=+p[E>>2],w=+p[L>>2],k=+p[N>>2],0|a?(g=(+p[a+264>>2]*-(F*S-B*w)+ +p[a+268>>2]*-(B*k-S*W)+ +p[a+272>>2]*-(w*W-F*k))*+p[a+544>>2],C=(+p[a+280>>2]*-(F*S-B*w)+ +p[a+284>>2]*-(B*k-S*W)+ +p[a+288>>2]*-(w*W-F*k))*+p[a+548>>2],v=(+p[a+296>>2]*-(F*S-B*w)+ +p[a+300>>2]*-(B*k-S*W)+ +p[a+304>>2]*-(w*W-F*k))*+p[a+552>>2]):(g=0,C=0,v=0),p[H+(152*U|0)+80>>2]=g,p[H+(152*U|0)+84>>2]=C,p[H+(152*U|0)+88>>2]=v,p[H+(152*U|0)+92>>2]=0,f=0|c?+p[c+344>>2]+((f*R-y*D)*+p[N>>2]+(y*j-R*A)*+p[L>>2]+(D*A-f*j)*+p[E>>2]):0,0|a?(x=-g,A=-C,v=-v,A=+p[a+344>>2]+((B*A-F*v)*+p[N>>2]+(W*v-B*x)*+p[L>>2]+(F*x-W*A)*+p[E>>2])):A=0,p[H+(152*U|0)+108>>2]=1/(f+A),0|c?(_[H+(152*U|0)+16>>2]=_[N>>2],_[H+(152*U|0)+16+4>>2]=_[N+4>>2],_[H+(152*U|0)+16+8>>2]=_[N+8>>2],_[H+(152*U|0)+16+12>>2]=_[N+12>>2],p[H+(152*U|0)>>2]=D*M-R*P,p[H+(152*U|0)+4>>2]=R*T-M*j,p[H+(152*U|0)+8>>2]=P*j-D*T,p[H+(152*U|0)+12>>2]=0):(_[H+(152*U|0)>>2]=0,_[H+(152*U|0)+4>>2]=0,_[H+(152*U|0)+8>>2]=0,_[H+(152*U|0)+12>>2]=0,_[H+(152*U|0)+16>>2]=0,_[H+(152*U|0)+20>>2]=0,_[H+(152*U|0)+24>>2]=0,_[H+(152*U|0)+28>>2]=0),0|a?(v=-+p[L>>2],x=-+p[E>>2],p[H+(152*U|0)+48>>2]=-+p[N>>2],p[H+(152*U|0)+52>>2]=v,p[H+(152*U|0)+56>>2]=x,p[H+(152*U|0)+60>>2]=0,p[H+(152*U|0)+32>>2]=-(F*S-B*w),p[H+(152*U|0)+36>>2]=-(B*k-S*W),p[H+(152*U|0)+40>>2]=-(w*W-F*k),p[H+(152*U|0)+44>>2]=0):(_[H+(152*U|0)+32>>2]=0,_[H+(152*U|0)+32+4>>2]=0,_[H+(152*U|0)+32+8>>2]=0,_[H+(152*U|0)+32+12>>2]=0,_[H+(152*U|0)+32+16>>2]=0,_[H+(152*U|0)+32+20>>2]=0,_[H+(152*U|0)+32+24>>2]=0,_[H+(152*U|0)+32+28>>2]=0),x=+p[u>>2]+ +p[o+56>>2],0|c?(g=+p[c+332>>2],C=+p[c+336>>2],k=+p[c+328>>2],v=g*R-C*D+ +p[c+312>>2],C=+p[c+316>>2]+(C*j-R*k),g=D*k-g*j+ +p[c+320>>2]):(v=0,C=0,g=0),0|a?(A=+p[a+332>>2],f=+p[a+336>>2],D=+p[a+328>>2],y=A*B-f*F+ +p[a+312>>2],f=+p[a+316>>2]+(f*W-B*D),A=F*D-A*W+ +p[a+320>>2]):(y=0,f=0,A=0),B=(v-y)*+p[N>>2]+(C-f)*+p[L>>2]+(g-A)*+p[E>>2],_[H+(152*U|0)+104>>2]=_[z+4+(184*J|0)+84>>2],B=(B*=+p[z+4+(184*J|0)+92>>2])>=-0?0:-B;do{if(4&_[o+64>>2]){A=+p[z+4+(184*J|0)+120>>2]*+p[o+60>>2],p[H+(152*U|0)+100>>2]=A;do{if(0|c){if(!(0|_[l+(244*$|0)+240>>2]))break;F=A*(+p[H+(152*U|0)+20>>2]*+p[l+(244*$|0)+132>>2]*+p[c+352>>2])*+p[l+(244*$|0)+116>>2],W=A*(+p[H+(152*U|0)+24>>2]*+p[l+(244*$|0)+136>>2]*+p[c+356>>2])*+p[l+(244*$|0)+120>>2],p[l+(244*$|0)+64>>2]=+p[l+(244*$|0)+112>>2]*(A*(+p[H+(152*U|0)+16>>2]*+p[l+(244*$|0)+128>>2]*+p[c+348>>2]))+ +p[l+(244*$|0)+64>>2],p[l+(244*$|0)+68>>2]=F+ +p[l+(244*$|0)+68>>2],p[l+(244*$|0)+72>>2]=W+ +p[l+(244*$|0)+72>>2],W=A*+p[l+(244*$|0)+100>>2]*+p[H+(152*U|0)+68>>2],F=A*+p[l+(244*$|0)+104>>2]*+p[H+(152*U|0)+72>>2],p[l+(244*$|0)+80>>2]=A*+p[l+(244*$|0)+96>>2]*+p[H+(152*U|0)+64>>2]+ +p[l+(244*$|0)+80>>2],p[l+(244*$|0)+84>>2]=W+ +p[l+(244*$|0)+84>>2],p[l+(244*$|0)+88>>2]=F+ +p[l+(244*$|0)+88>>2]}}while(0);if(!a)break;if(A=+p[H+(152*U|0)+100>>2],!(0|_[l+(244*tt|0)+240>>2]))break;F=+p[H+(152*U|0)+88>>2],W=+p[H+(152*U|0)+84>>2],D=+p[H+(152*U|0)+80>>2],R=A*(+p[H+(152*U|0)+52>>2]*+p[l+(244*tt|0)+132>>2]*+p[a+352>>2])*+p[l+(244*tt|0)+116>>2],j=A*(+p[H+(152*U|0)+56>>2]*+p[l+(244*tt|0)+136>>2]*+p[a+356>>2])*+p[l+(244*tt|0)+120>>2],p[l+(244*tt|0)+64>>2]=+p[l+(244*tt|0)+112>>2]*(A*(+p[H+(152*U|0)+48>>2]*+p[l+(244*tt|0)+128>>2]*+p[a+348>>2]))+ +p[l+(244*tt|0)+64>>2],p[l+(244*tt|0)+68>>2]=R+ +p[l+(244*tt|0)+68>>2],p[l+(244*tt|0)+72>>2]=j+ +p[l+(244*tt|0)+72>>2],W*=+p[l+(244*tt|0)+100>>2]*-A,F*=+p[l+(244*tt|0)+104>>2]*-A,p[l+(244*tt|0)+80>>2]=+p[l+(244*tt|0)+80>>2]-D*(+p[l+(244*tt|0)+96>>2]*-A),p[l+(244*tt|0)+84>>2]=+p[l+(244*tt|0)+84>>2]-W,p[l+(244*tt|0)+88>>2]=+p[l+(244*tt|0)+88>>2]-F}else p[H+(152*U|0)+100>>2]=0}while(0);p[H+(152*U|0)+96>>2]=0,0|_[l+(244*$|0)+240>>2]?(A=+p[l+(244*$|0)+208>>2],f=+p[l+(244*$|0)+212>>2],y=+p[l+(244*$|0)+216>>2],g=+p[l+(244*$|0)+224>>2],C=+p[l+(244*$|0)+228>>2],v=+p[l+(244*$|0)+232>>2]):(A=0,f=0,y=0,g=0,C=0,v=0),0|_[l+(244*tt|0)+240>>2]?(S=+p[l+(244*tt|0)+208>>2],w=+p[l+(244*tt|0)+212>>2],k=+p[l+(244*tt|0)+216>>2],R=+p[l+(244*tt|0)+224>>2],j=+p[l+(244*tt|0)+228>>2],D=+p[l+(244*tt|0)+232>>2]):(S=0,w=0,k=0,R=0,j=0,D=0),A=B-((A+ +p[l+(244*$|0)+176>>2])*+p[H+(152*U|0)+16>>2]+(f+ +p[l+(244*$|0)+180>>2])*+p[H+(152*U|0)+20>>2]+(y+ +p[l+(244*$|0)+184>>2])*+p[H+(152*U|0)+24>>2]+((g+ +p[l+(244*$|0)+192>>2])*+p[H+(152*U|0)>>2]+(C+ +p[l+(244*$|0)+196>>2])*+p[H+(152*U|0)+4>>2]+(v+ +p[l+(244*$|0)+200>>2])*+p[H+(152*U|0)+8>>2])+((S+ +p[l+(244*tt|0)+176>>2])*+p[H+(152*U|0)+48>>2]+(w+ +p[l+(244*tt|0)+180>>2])*+p[H+(152*U|0)+52>>2]+(k+ +p[l+(244*tt|0)+184>>2])*+p[H+(152*U|0)+56>>2]+((R+ +p[l+(244*tt|0)+192>>2])*+p[H+(152*U|0)+32>>2]+(j+ +p[l+(244*tt|0)+196>>2])*+p[H+(152*U|0)+36>>2]+(D+ +p[l+(244*tt|0)+200>>2])*+p[H+(152*U|0)+40>>2]))),c=!(0|_[o+44>>2]),x>0?(A-=x/+p[o+12>>2],f=0):f=-x*(c|x>+p[o+48>>2]?+p[o+32>>2]:+p[o+36>>2])/+p[o+12>>2],F=f*(W=+p[H+(152*U|0)+108>>2]),W*=A,I=c|x>+p[o+48>>2],p[H+(152*U|0)+112>>2]=I?F+W:W,p[H+(152*U|0)+128>>2]=I?0:F,p[H+(152*U|0)+116>>2]=0,p[H+(152*U|0)+120>>2]=0,p[H+(152*U|0)+124>>2]=1e10,_[H+(152*U|0)+140>>2]=_[t+68>>2],m?(f=+p[m+328>>2],v=+p[m+332>>2],S=+p[m+336>>2]):(f=0,v=0,S=0),h?(A=+p[h+328>>2],y=+p[h+332>>2],g=+p[h+336>>2]):(A=0,y=0,g=0),C=A-f,f=y-v,g-=S,p[r+32>>2]=C,p[r+32+4>>2]=f,p[r+32+8>>2]=g,p[r+32+12>>2]=0;do{if((0|s)>0&&+p[z+4+(184*J|0)+88>>2]>0){if(s=s+-1|0,(A=+b(+(C*C+f*f+g*g)))>+p[o+80>>2]){if(p[r+32>>2]=C*(1/A),p[r+32+4>>2]=f*(1/A),p[r+32+8>>2]=g*(1/A),2&_[K+180>>2]?(S=+p[K+4>>2],k=+p[K+20>>2],D=+p[K+36>>2],w=+p[K+8>>2],R=+p[K+24>>2],W=+p[K+40>>2],y=+p[K+12>>2],j=+p[K+28>>2],x=+p[K+44>>2],B=(C*(1/A)*S+f*(1/A)*k+g*(1/A)*D)*+p[K+164>>2],F=(C*(1/A)*w+f*(1/A)*R+g*(1/A)*W)*+p[K+168>>2],A=(C*(1/A)*y+f*(1/A)*j+g*(1/A)*x)*+p[K+172>>2],p[r+32>>2]=S*B+w*F+y*A,p[r+32+4>>2]=k*B+R*F+j*A,p[r+32+8>>2]=D*B+W*F+x*A,p[r+32+12>>2]=0,y=S*B+w*F+y*A,f=k*B+R*F+j*A,A=D*B+W*F+x*A):(y=C*(1/A),f*=1/A,A=g*(1/A)),2&_[q+180>>2]&&(v=+p[q+4>>2],k=+p[q+20>>2],D=+p[q+36>>2],S=+p[q+8>>2],R=+p[q+24>>2],W=+p[q+40>>2],w=+p[q+12>>2],j=+p[q+28>>2],x=+p[q+44>>2],B=(v*y+k*f+D*A)*+p[q+164>>2],F=(y*S+f*R+A*W)*+p[q+168>>2],A=(y*w+f*j+A*x)*+p[q+172>>2],p[r+32>>2]=v*B+S*F+w*A,p[r+32+4>>2]=k*B+R*F+j*A,p[r+32+8>>2]=D*B+W*F+x*A,p[r+32+12>>2]=0,y=v*B+S*F+w*A,f=k*B+R*F+j*A,A=D*B+W*F+x*A),!(+b(+(y*y+f*f+A*A))>.001))break;ge(t,r+32|0,$,tt,U,Z);break}ge(t,N,$,tt,U,Z),A=+p[E>>2],+d(+A)>.7071067690849304?(x=+p[L>>2],f=1/+b(+(A*A+x*x)),p[r+16>>2]=0,p[r+16+4>>2]=-A*f,p[r+16+8>>2]=x*f,p[r>>2]=(A*A+x*x)*f,F=+p[N>>2],p[r+4>>2]=x*f*-F,S=F*(-A*f),g=-A*f,C=x*f,y=(A*A+x*x)*f,f=x*f*-F,A=0):(y=+p[N>>2],F=+p[L>>2],x=1/+b(+(y*y+F*F)),p[r+16>>2]=-F*x,p[r+16+4>>2]=y*x,p[r+16+8>>2]=0,p[r>>2]=y*x*-A,p[r+4>>2]=A*(-F*x),S=(y*y+F*F)*x,g=y*x,C=0,y=y*x*-A,f=A*(-F*x),A=-F*x),p[r+8>>2]=S,(a=!(2&_[K+180>>2]))||(ot=+p[K+4>>2],k=+p[K+20>>2],D=+p[K+36>>2],v=+p[K+8>>2],R=+p[K+24>>2],W=+p[K+40>>2],w=+p[K+12>>2],j=+p[K+28>>2],x=+p[K+44>>2],B=(ot*A+k*g+D*C)*+p[K+164>>2],F=(A*v+g*R+C*W)*+p[K+168>>2],C=(A*w+g*j+C*x)*+p[K+172>>2],p[r+16>>2]=ot*B+v*F+w*C,p[r+16+4>>2]=k*B+R*F+j*C,p[r+16+8>>2]=D*B+W*F+x*C,p[r+16+12>>2]=0,A=ot*B+v*F+w*C,g=k*B+R*F+j*C,C=D*B+W*F+x*C),(c=!(2&_[q+180>>2]))?v=A:(w=+p[q+4>>2],R=+p[q+20>>2],B=+p[q+36>>2],k=+p[q+8>>2],j=+p[q+24>>2],F=+p[q+40>>2],v=+p[q+12>>2],D=+p[q+28>>2],ot=+p[q+44>>2],W=(w*A+R*g+B*C)*+p[q+164>>2],x=(A*k+g*j+C*F)*+p[q+168>>2],C=(A*v+g*D+C*ot)*+p[q+172>>2],p[r+16>>2]=w*W+k*x+v*C,p[r+16+4>>2]=R*W+j*x+D*C,p[r+16+8>>2]=B*W+F*x+ot*C,p[r+16+12>>2]=0,v=w*W+k*x+v*C,g=R*W+j*x+D*C,C=B*W+F*x+ot*C),a?A=S:(_t=+p[K+4>>2],R=+p[K+20>>2],B=+p[K+36>>2],w=+p[K+8>>2],j=+p[K+24>>2],F=+p[K+40>>2],k=+p[K+12>>2],D=+p[K+28>>2],ot=+p[K+44>>2],W=(_t*y+R*f+S*B)*+p[K+164>>2],x=(y*w+f*j+S*F)*+p[K+168>>2],A=(y*k+f*D+S*ot)*+p[K+172>>2],p[r>>2]=_t*W+w*x+k*A,p[r+4>>2]=R*W+j*x+D*A,p[r+8>>2]=B*W+F*x+ot*A,p[r+12>>2]=0,y=_t*W+w*x+k*A,f=R*W+j*x+D*A,A=B*W+F*x+ot*A),c||(w=+p[q+4>>2],j=+p[q+20>>2],W=+p[q+36>>2],k=+p[q+8>>2],D=+p[q+24>>2],x=+p[q+40>>2],R=+p[q+12>>2],B=+p[q+28>>2],_t=+p[q+44>>2],F=(w*y+j*f+W*A)*+p[q+164>>2],ot=(y*k+f*D+A*x)*+p[q+168>>2],A=(y*R+f*B+A*_t)*+p[q+172>>2],p[r>>2]=w*F+k*ot+R*A,p[r+4>>2]=j*F+D*ot+B*A,p[r+8>>2]=W*F+x*ot+_t*A,p[r+12>>2]=0,y=w*F+k*ot+R*A,f=j*F+D*ot+B*A,A=W*F+x*ot+_t*A),+b(+(v*v+g*g+C*C))>.001&&ge(t,r+16|0,$,tt,U,Z),+b(+(y*y+f*f+A*A))>.001&&ge(t,r,$,tt,U,Z)}}while(0);do{if(32&_[o+64>>2]){if(!(0|n[z+4+(184*J|0)+116|0])){nt=93;break}if(Oi(t,z+4+(184*J|0)+152|0,$,tt,U,Z,r+64|0,r+48|0,1,+p[z+4+(184*J|0)+132>>2],+p[z+4+(184*J|0)+140>>2]),!(16&_[o+64>>2]))break;Oi(t,z+4+(184*J|0)+168|0,$,tt,U,Z,r+64|0,r+48|0,1,+p[z+4+(184*J|0)+136>>2],+p[z+4+(184*J|0)+144>>2])}else nt=93}while(0);do{if(93==(0|nt)){if(nt=0,f=G-(G*T+V*P+O*M)*(A=+p[N>>2]),C=V-(G*T+V*P+O*M)*(w=+p[L>>2]),g=O-(G*T+V*P+O*M)*(S=+p[E>>2]),I=z+4+(184*J|0)+152|0,p[z+4+(184*J|0)+152>>2]=f,p[(c=z+4+(184*J|0)+156|0)>>2]=C,p[(m=z+4+(184*J|0)+160|0)>>2]=g,p[(h=z+4+(184*J|0)+164|0)>>2]=0,!(64&_[o+64>>2])&&f*f+C*C+g*g>1.1920928955078125e-7){if(A=1/+b(+(f*f+C*C+g*g)),p[I>>2]=f*A,p[c>>2]=C*A,p[m>>2]=g*A,1&_[K+180>>2]?(F=+p[K+4>>2],O=+p[K+20>>2],M=+p[K+36>>2],x=+p[K+8>>2],T=+p[K+24>>2],G=+p[K+40>>2],y=+p[K+12>>2],P=+p[K+28>>2],_t=+p[K+44>>2],V=(f*A*F+C*A*O+g*A*M)*+p[K+164>>2],ot=(f*A*x+C*A*T+g*A*G)*+p[K+168>>2],A=(f*A*y+C*A*P+g*A*_t)*+p[K+172>>2],p[I>>2]=F*V+x*ot+y*A,p[c>>2]=O*V+T*ot+P*A,p[m>>2]=M*V+G*ot+_t*A,p[h>>2]=0,y=F*V+x*ot+y*A,f=O*V+T*ot+P*A,A=M*V+G*ot+_t*A):(y=f*A,f=C*A,A*=g),1&_[q+180>>2]&&(B=+p[q+4>>2],x=+p[q+20>>2],P=+p[q+36>>2],W=+p[q+8>>2],O=+p[q+24>>2],V=+p[q+40>>2],F=+p[q+12>>2],T=+p[q+28>>2],ot=+p[q+44>>2],M=(B*y+x*f+P*A)*+p[q+164>>2],G=(y*W+f*O+A*V)*+p[q+168>>2],_t=(y*F+f*T+A*ot)*+p[q+172>>2],p[I>>2]=B*M+W*G+F*_t,p[c>>2]=x*M+O*G+T*_t,p[m>>2]=P*M+V*G+ot*_t,p[h>>2]=0),Oi(t,I,$,tt,U,Z,r+64|0,r+48|0,1,0,0),!(16&_[o+64>>2]))break;ot=+p[c>>2],y=+p[E>>2],M=+p[m>>2],V=+p[L>>2],_t=+p[N>>2],G=+p[I>>2],u=z+4+(184*J|0)+168|0,p[z+4+(184*J|0)+168>>2]=ot*y-M*V,c=z+4+(184*J|0)+172|0,a=z+4+(184*J|0)+176|0,p[(l=z+4+(184*J|0)+180|0)>>2]=0,A=(ot*y-M*V)*(f=1/+b(+((ot*y-M*V)*(ot*y-M*V)+(M*_t-y*G)*(M*_t-y*G)+(V*G-ot*_t)*(V*G-ot*_t)))),p[u>>2]=A,y=(M*_t-y*G)*f,p[c>>2]=y,f*=V*G-ot*_t,p[a>>2]=f,1&_[K+180>>2]&&(W=+p[K+4>>2],O=+p[K+20>>2],M=+p[K+36>>2],F=+p[K+8>>2],T=+p[K+24>>2],G=+p[K+40>>2],x=+p[K+12>>2],P=+p[K+28>>2],_t=+p[K+44>>2],V=(A*W+y*O+f*M)*+p[K+164>>2],ot=(A*F+y*T+f*G)*+p[K+168>>2],f=(A*x+y*P+f*_t)*+p[K+172>>2],p[u>>2]=W*V+F*ot+x*f,p[c>>2]=O*V+T*ot+P*f,p[a>>2]=M*V+G*ot+_t*f,p[l>>2]=0,A=W*V+F*ot+x*f,y=O*V+T*ot+P*f,f=M*V+G*ot+_t*f),1&_[q+180>>2]&&(B=+p[q+4>>2],x=+p[q+20>>2],P=+p[q+36>>2],W=+p[q+8>>2],O=+p[q+24>>2],V=+p[q+40>>2],F=+p[q+12>>2],T=+p[q+28>>2],ot=+p[q+44>>2],M=(B*A+x*y+P*f)*+p[q+164>>2],G=(A*W+y*O+f*V)*+p[q+168>>2],_t=(A*F+y*T+f*ot)*+p[q+172>>2],p[u>>2]=B*M+W*G+F*_t,p[c>>2]=x*M+O*G+T*_t,p[a>>2]=P*M+V*G+ot*_t,p[l>>2]=0),Oi(t,u,$,tt,U,Z,r+64|0,r+48|0,1,0,0);break}if(u=z+4+(184*J|0)+168|0,+d(+S)>.7071067690849304?(_t=1/+b(+(w*w+S*S)),p[I>>2]=0,p[c>>2]=-S*_t,p[m>>2]=w*_t,C=w*_t*-A,v=A*(-S*_t),g=(w*w+S*S)*_t,y=0,f=-S*_t,A=w*_t):(f=1/+b(+(A*A+w*w)),p[I>>2]=-w*f,p[c>>2]=A*f,p[m>>2]=0,C=S*(-w*f),v=(A*A+w*w)*f,g=A*f*-S,y=-w*f,f*=A,A=0),p[u>>2]=g,p[(l=z+4+(184*J|0)+172|0)>>2]=C,p[(a=z+4+(184*J|0)+176|0)>>2]=v,1&_[K+180>>2]&&(W=+p[K+4>>2],O=+p[K+20>>2],M=+p[K+36>>2],F=+p[K+8>>2],T=+p[K+24>>2],G=+p[K+40>>2],x=+p[K+12>>2],P=+p[K+28>>2],_t=+p[K+44>>2],V=(W*y+O*f+M*A)*+p[K+164>>2],ot=(y*F+f*T+A*G)*+p[K+168>>2],A=(y*x+f*P+A*_t)*+p[K+172>>2],p[I>>2]=W*V+F*ot+x*A,p[c>>2]=O*V+T*ot+P*A,p[m>>2]=M*V+G*ot+_t*A,p[h>>2]=0,y=W*V+F*ot+x*A,f=O*V+T*ot+P*A,A=M*V+G*ot+_t*A),1&_[q+180>>2]&&(B=+p[q+4>>2],x=+p[q+20>>2],P=+p[q+36>>2],W=+p[q+8>>2],O=+p[q+24>>2],V=+p[q+40>>2],F=+p[q+12>>2],T=+p[q+28>>2],ot=+p[q+44>>2],M=(B*y+x*f+P*A)*+p[q+164>>2],G=(y*W+f*O+A*V)*+p[q+168>>2],_t=(y*F+f*T+A*ot)*+p[q+172>>2],p[I>>2]=B*M+W*G+F*_t,p[c>>2]=x*M+O*G+T*_t,p[m>>2]=P*M+V*G+ot*_t,p[h>>2]=0),Oi(t,I,$,tt,U,Z,r+64|0,r+48|0,1,0,0),16&(c=0|_[o+64>>2])&&(1&_[K+180>>2]&&(B=+p[K+4>>2],j=+p[u>>2],x=+p[K+20>>2],D=+p[l>>2],P=+p[K+36>>2],_t=+p[a>>2],W=+p[K+8>>2],O=+p[K+24>>2],V=+p[K+40>>2],F=+p[K+12>>2],T=+p[K+28>>2],ot=+p[K+44>>2],M=(B*j+x*D+P*_t)*+p[K+164>>2],G=(j*W+D*O+_t*V)*+p[K+168>>2],_t=(j*F+D*T+_t*ot)*+p[K+172>>2],p[u>>2]=B*M+W*G+F*_t,p[l>>2]=x*M+O*G+T*_t,p[a>>2]=P*M+V*G+ot*_t,p[z+4+(184*J|0)+180>>2]=0),1&_[q+180>>2]&&(B=+p[q+4>>2],j=+p[u>>2],x=+p[q+20>>2],D=+p[l>>2],P=+p[q+36>>2],_t=+p[a>>2],W=+p[q+8>>2],O=+p[q+24>>2],V=+p[q+40>>2],F=+p[q+12>>2],T=+p[q+28>>2],ot=+p[q+44>>2],M=(B*j+x*D+P*_t)*+p[q+164>>2],G=(j*W+D*O+_t*V)*+p[q+168>>2],_t=(j*F+D*T+_t*ot)*+p[q+172>>2],p[u>>2]=B*M+W*G+F*_t,p[l>>2]=x*M+O*G+T*_t,p[a>>2]=P*M+V*G+ot*_t,p[z+4+(184*J|0)+180>>2]=0),Oi(t,u,$,tt,U,Z,r+64|0,r+48|0,1,0,0),c=0|_[o+64>>2]),80&~c)break;n[z+4+(184*J|0)+116|0]=1}}while(0);u=0|_[t+16>>2],m=0|_[u+(244*$|0)+240>>2],h=0|_[u+(244*tt|0)+240>>2],a=0|_[H+(152*U|0)+140>>2],l=0|_[t+76>>2],c=0|_[o+64>>2];do{if(4&c){if(A=+p[z+4+(184*J|0)+124>>2]*+p[o+60>>2],p[l+(152*a|0)+100>>2]=A,0|m&&(_t=A*((G=+p[m+344>>2])*+p[l+(152*a|0)+20>>2]*+p[m+352>>2])*+p[u+(244*$|0)+116>>2],ot=A*(G*+p[l+(152*a|0)+24>>2]*+p[m+356>>2])*+p[u+(244*$|0)+120>>2],p[u+(244*$|0)+64>>2]=A*(G*+p[l+(152*a|0)+16>>2]*+p[m+348>>2])*+p[u+(244*$|0)+112>>2]+ +p[u+(244*$|0)+64>>2],p[u+(244*$|0)+68>>2]=_t+ +p[u+(244*$|0)+68>>2],p[u+(244*$|0)+72>>2]=ot+ +p[u+(244*$|0)+72>>2],ot=A*+p[u+(244*$|0)+100>>2]*+p[l+(152*a|0)+68>>2],_t=A*+p[u+(244*$|0)+104>>2]*+p[l+(152*a|0)+72>>2],p[u+(244*$|0)+80>>2]=A*+p[u+(244*$|0)+96>>2]*+p[l+(152*a|0)+64>>2]+ +p[u+(244*$|0)+80>>2],p[u+(244*$|0)+84>>2]=ot+ +p[u+(244*$|0)+84>>2],p[u+(244*$|0)+88>>2]=_t+ +p[u+(244*$|0)+88>>2]),!h)break;T=+p[h+344>>2],V=+p[l+(152*a|0)+80>>2],ot=+p[l+(152*a|0)+84>>2],_t=+p[l+(152*a|0)+88>>2],G=+p[l+(152*a|0)+100>>2],P=+p[l+(152*a|0)+52>>2]*T*+p[h+352>>2]*G*+p[u+(244*tt|0)+116>>2],M=+p[l+(152*a|0)+56>>2]*T*+p[h+356>>2]*G*+p[u+(244*tt|0)+120>>2],p[u+(244*tt|0)+64>>2]=+p[l+(152*a|0)+48>>2]*T*+p[h+348>>2]*G*+p[u+(244*tt|0)+112>>2]+ +p[u+(244*tt|0)+64>>2],p[u+(244*tt|0)+68>>2]=P+ +p[u+(244*tt|0)+68>>2],p[u+(244*tt|0)+72>>2]=M+ +p[u+(244*tt|0)+72>>2],ot*=+p[u+(244*tt|0)+100>>2]*-G,_t*=+p[u+(244*tt|0)+104>>2]*-G,p[u+(244*tt|0)+80>>2]=+p[u+(244*tt|0)+80>>2]-V*(+p[u+(244*tt|0)+96>>2]*-G),p[u+(244*tt|0)+84>>2]=+p[u+(244*tt|0)+84>>2]-ot,p[u+(244*tt|0)+88>>2]=+p[u+(244*tt|0)+88>>2]-_t}else p[l+(152*a|0)+100>>2]=0}while(0);do{if(16&c){if(!(4&c)){p[l+(152*(a+1|0)|0)+100>>2]=0;break}if(A=+p[z+4+(184*J|0)+128>>2]*+p[o+60>>2],p[l+(152*(a+1|0)|0)+100>>2]=A,0|m&&(_t=A*((G=+p[m+344>>2])*+p[l+(152*(a+1|0)|0)+20>>2])*+p[u+(244*$|0)+116>>2],ot=A*(G*+p[l+(152*(a+1|0)|0)+24>>2])*+p[u+(244*$|0)+120>>2],p[u+(244*$|0)+64>>2]=A*(G*+p[l+(152*(a+1|0)|0)+16>>2])*+p[u+(244*$|0)+112>>2]+ +p[u+(244*$|0)+64>>2],p[u+(244*$|0)+68>>2]=_t+ +p[u+(244*$|0)+68>>2],p[u+(244*$|0)+72>>2]=ot+ +p[u+(244*$|0)+72>>2],ot=A*+p[u+(244*$|0)+100>>2]*+p[l+(152*(a+1|0)|0)+68>>2],_t=A*+p[u+(244*$|0)+104>>2]*+p[l+(152*(a+1|0)|0)+72>>2],p[u+(244*$|0)+80>>2]=A*+p[u+(244*$|0)+96>>2]*+p[l+(152*(a+1|0)|0)+64>>2]+ +p[u+(244*$|0)+80>>2],p[u+(244*$|0)+84>>2]=ot+ +p[u+(244*$|0)+84>>2],p[u+(244*$|0)+88>>2]=_t+ +p[u+(244*$|0)+88>>2]),!h)break;T=+p[h+344>>2],V=+p[l+(152*(a+1|0)|0)+80>>2],ot=+p[l+(152*(a+1|0)|0)+84>>2],_t=+p[l+(152*(a+1|0)|0)+88>>2],G=+p[l+(152*(a+1|0)|0)+100>>2],P=+p[l+(152*(a+1|0)|0)+52>>2]*T*G*+p[u+(244*tt|0)+116>>2],M=+p[l+(152*(a+1|0)|0)+56>>2]*T*G*+p[u+(244*tt|0)+120>>2],p[u+(244*tt|0)+64>>2]=+p[l+(152*(a+1|0)|0)+48>>2]*T*G*+p[u+(244*tt|0)+112>>2]+ +p[u+(244*tt|0)+64>>2],p[u+(244*tt|0)+68>>2]=P+ +p[u+(244*tt|0)+68>>2],p[u+(244*tt|0)+72>>2]=M+ +p[u+(244*tt|0)+72>>2],ot*=+p[u+(244*tt|0)+100>>2]*-G,_t*=+p[u+(244*tt|0)+104>>2]*-G,p[u+(244*tt|0)+80>>2]=+p[u+(244*tt|0)+80>>2]-V*(+p[u+(244*tt|0)+96>>2]*-G),p[u+(244*tt|0)+84>>2]=+p[u+(244*tt|0)+84>>2]-ot,p[u+(244*tt|0)+88>>2]=+p[u+(244*tt|0)+88>>2]-_t}}while(0);c=0|_[z+748>>2]}J=J+1|0}while((0|J)<(0|c))}Y=Y+1|0}while((0|Y)!=(0|i));Q=r}},function(t,e,i,n){e|=0,i|=0,n|=0,_[120+(t|=0)>>2]=e,_[t+124>>2]=i,_[t+128>>2]=n},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s=0;if(!((0|(r=0|_[268+(t|=0)>>2]))<=0)){for(e=0|_[e>>2],o=0|_[t+276>>2],i=0;(0|_[(n=o+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|r)){s=7;break}7!=(0|s)&&((0|i)>=(0|r)||(_[n>>2]=_[o+(r+-1<<2)>>2],_[t+268>>2]=r+-1))}},function(t,e,i,n){t|=0,i|=0,n|=0;var o,r,s,p=0,c=0,a=0;if(s=0|_[(e|=0)>>2],n||(n=0|_[t+188>>2]),!((0|(r=0|_[t+268>>2]))<=0)){for(o=0|_[t+276>>2],p=0;(0|_[(c=o+(p<<2)|0)>>2])!=(0|s);)if((0|(p=p+1|0))>=(0|r)){a=9;break}9!=(0|a)&&((0|p)>=(0|r)||(_[c>>2]=_[o+(r+-1<<2)>>2],_[t+268>>2]=r+-1,a=0|_[t+284>>2],Hl[31&_[12+(0|_[a>>2])>>2]](a,n,e,i)))}},function(t,e,i,n){var o;t|=0,e|=0,i|=0,n|=0,o=Q,Q=Q+16|0,_[o>>2]=6100,_[o+4>>2]=i,_[o+8>>2]=t,_d[127&_[48+(0|_[e>>2])>>2]](e,o,n),Q=o},ot,function(t,e,i,n){t|=0,i|=0,n|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0;o=Q,Q=Q+128|0,((A=(c=+p[(e|=0)>>2])<(a=+p[e+16>>2])?c:a)<(s=+p[e+32>>2])?A:s)>+p[t+28>>2]||+p[(+p[(d=c>a?e:e+16|0)>>2]>s?d:e+32)>>2]<+p[t+12>>2]||((A=(s=+p[e+8>>2])<(c=+p[e+24>>2])?s:c)<(a=+p[e+40>>2])?A:a)>+p[t+36>>2]||+p[(+p[(d=s>c?e+8|0:e+24|0)>>2]>a?d:e+40)>>2]<+p[t+20>>2]||((A=(s=+p[e+4>>2])<(c=+p[e+20>>2])?s:c)<(a=+p[e+36>>2])?A:a)>+p[t+32>>2]||+p[(+p[(d=s>c?e+4|0:e+20|0)>>2]>a?d:e+36)>>2]<+p[t+16>>2]||(r=0|_[t+4>>2],(0|_[4+(0|_[r+4>>2])>>2])>=20||(d=0|_[t+48>>2],_[o+24+8>>2]=0,_[o+24+12>>2]=1065353216,_[o+24+16>>2]=1065353216,_[o+24+20>>2]=1065353216,p[o+24+24>>2]=0,_[o+24+52>>2]=0,_[o+24>>2]=4564,_[o+24+4>>2]=1,_[o+24+56>>2]=_[e>>2],_[o+24+56+4>>2]=_[e+4>>2],_[o+24+56+8>>2]=_[e+8>>2],_[o+24+56+12>>2]=_[e+12>>2],_[o+24+72>>2]=_[e+16>>2],_[o+24+72+4>>2]=_[e+16+4>>2],_[o+24+72+8>>2]=_[e+16+8>>2],_[o+24+72+12>>2]=_[e+16+12>>2],_[o+24+88>>2]=_[e+32>>2],_[o+24+88+4>>2]=_[e+32+4>>2],_[o+24+88+8>>2]=_[e+32+8>>2],_[o+24+88+12>>2]=_[e+32+12>>2],_[o+24+44>>2]=_[t+56>>2],f=0|_[t+8>>2],e=0|_[f+8>>2],l=0|_[f+12>>2],_[o>>2]=f,_[o+4>>2]=o+24,_[o+8>>2]=e,_[o+12>>2]=l,_[o+16>>2]=i,_[o+20>>2]=n,l=0|Hl[31&_[8+(0|_[d>>2])>>2]](d,r,o,0|_[t+64>>2]),e=0|_[t+44>>2],r=0|_[e+8>>2],(0|_[r+8>>2])==(0|_[8+(0|_[t+8>>2])>>2])?(_[e+8>>2]=o,_d[127&_[8+(0|_[e>>2])>>2]](e,i,n)):(r=0|_[e+12>>2],_[e+12>>2]=o,_d[127&_[12+(0|_[e>>2])>>2]](e,i,n)),dd[31&_[8+(0|_[l>>2])>>2]](l,0|_[t+4>>2],o,0|_[t+52>>2],0|_[t+44>>2]),f=0|_[t+44>>2],_[((0|_[8+(0|_[f+8>>2])>>2])==(0|_[8+(0|_[t+8>>2])>>2])?f+8:f+12)>>2]=r,Xl[511&_[_[l>>2]>>2]](l),ed[127&_[60+(0|_[d>>2])>>2]](d,l),_[o+24>>2]=8020,0|(r=0|_[o+24+52>>2])&&(Xl[511&_[_[r>>2]>>2]](r),0|(b=0|_[o+24+52>>2]))&&(_[6631]=1+(0|_[6631]),Ni(0|_[b+-4>>2])))),Q=o},St,function(t,e,i,n){t|=0,i|=0,n|=0;var o,r,s,c,a,l,d,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D=0,I=0,B=0,W=0,F=0,x=0;if(j=Q,Q=Q+32|0,W=+p[16+(e|=0)>>2],D=+p[e>>2],F=+p[e+20>>2],I=+p[e+4>>2],r=+p[e+24>>2],B=+p[e+8>>2],l=+p[e+32>>2],u=+p[e+36>>2],v=(F-I)*((m=+p[e+40>>2])-B)-(r-B)*(u-I),S=(r-B)*(l-D)-(W-D)*(m-B),w=(W-D)*(u-I)-(F-I)*(l-D),p[j+16>>2]=v,p[j+16+4>>2]=S,p[j+16+8>>2]=w,p[j+16+12>>2]=0,(k=v*(s=+p[t+4>>2])+S*(d=+p[t+8>>2])+w*(h=+p[t+12>>2])-(B*w+(D*v+I*S)))*(v*(c=+p[t+20>>2])+S*(A=+p[t+24>>2])+w*(y=+p[t+28>>2])-(B*w+(D*v+I*S)))>=0)Q=j;else if(k<=0&!!(1&(R=0|_[t+36>>2])))Q=j;else if((x=k/(k-(v*c+S*A+w*y-(B*w+(D*v+I*S)))))<+p[t+40>>2])if(w*((F-=A*x+d*(1-x))*(g=D-(c*x+s*(1-x)))-(f=I-(A*x+d*(1-x)))*(o=W-(c*x+s*(1-x))))+(v*(f*(W=r-(y*x+h*(1-x)))-(a=B-(y*x+h*(1-x)))*F)+S*(a*o-W*g))>=(C=-9999999747378752e-20*(w*w+(v*v+S*S))))if(w*((I=u-(A*x+d*(1-x)))*o-F*(B=l-(c*x+s*(1-x))))+(v*(F*(D=m-(y*x+h*(1-x)))-W*I)+S*(W*B-D*o))>=C){if(w*(f*B-I*g)+(v*(I*a-D*f)+S*(D*g-a*B))>=C)return D=1/+b(+(w*w+(v*v+S*S))),p[j+16>>2]=v*D,p[j+16+4>>2]=S*D,p[j+16+8>>2]=w*D,e=0|_[12+(0|_[t>>2])>>2],k<=0&!(2&R)?(p[j>>2]=-v*D,p[j+4>>2]=-S*D,p[j+8>>2]=-w*D,p[j+12>>2]=0,x=+Wl[3&e](t,j,x,i,n),p[t+40>>2]=x,void(Q=j)):(x=+Wl[3&e](t,j+16|0,x,i,n),p[t+40>>2]=x,void(Q=j));Q=j}else Q=j;else Q=j;else Q=j},function(t,e,i,n){t|=0,i|=0,n|=0;var o,r,s,c,a,l,d,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I=0,B=0,W=0,F=0,x=0,O=0;if(i=Q,Q=Q+96|0,a=+p[(e|=0)>>2],l=+p[t+28>>2],d=+p[e+4>>2],A=+p[t+32>>2],f=+p[e+8>>2],u=+p[t+36>>2],m=+p[t+44>>2],h=+p[t+48>>2],y=+p[t+52>>2],g=+p[t+60>>2],C=+p[t+64>>2],I=+p[t+68>>2],v=+p[t+76>>2],B=+p[t+80>>2],W=+p[t+84>>2],p[i+80>>2]=a*l+d*A+f*u+v,p[i+80+4>>2]=a*m+d*h+f*y+B,p[i+80+8>>2]=a*g+d*C+f*I+W,p[i+80+12>>2]=0,S=+p[e+16>>2],w=+p[e+20>>2],k=+p[e+24>>2],p[i+64>>2]=v+(l*S+A*w+u*k),p[i+64+4>>2]=B+(m*S+h*w+y*k),p[i+64+8>>2]=W+(g*S+C*w+I*k),p[i+64+12>>2]=0,F=+p[e+32>>2],x=+p[e+36>>2],c=+p[e+40>>2],p[i+48>>2]=v+(l*F+A*x+u*c),p[i+48+4>>2]=B+(m*F+h*x+y*c),p[i+48+8>>2]=W+(g*F+C*x+I*c),p[i+48+12>>2]=0,o=.3333333432674408*(a*l+d*A+f*u+v+(v+(l*S+A*w+u*k))+(v+(l*F+A*x+u*c))),r=.3333333432674408*(a*m+d*h+f*y+B+(B+(m*S+h*w+y*k))+(B+(m*F+h*x+y*c))),s=.3333333432674408*(a*g+d*C+f*I+W+(W+(g*S+C*w+I*k))+(W+(g*F+C*x+I*c))),p[i+32>>2]=o,p[i+32+4>>2]=r,p[i+32+8>>2]=s,p[i+32+12>>2]=0,e=0|_[t+8>>2],!(16384&Gl[127&_[48+(0|_[e>>2])>>2]](e)))return n=0|_[t+8>>2],O=0|_[n>>2],O=0|_[(O=O+8|0)>>2],e=t+12|0,pd[127&O](n,i+80|0,i+64|0,e),n=0|_[t+8>>2],O=0|_[n>>2],O=0|_[(O=O+8|0)>>2],pd[127&O](n,i+64|0,i+48|0,e),t=0|_[t+8>>2],n=0|_[t>>2],n=0|_[(n=n+8|0)>>2],pd[127&n](t,i+48|0,i+80|0,e),void(Q=i);j=B+(m*S+h*w+y*k)-(a*m+d*h+f*y+B),W=(R=W+(g*S+C*w+I*k)-(a*g+d*C+f*I+W))*(v+(l*F+A*x+u*c)-(D=+p[i+80>>2]))-(v+(l*S+A*w+u*k)-D)*(I=W+(g*F+C*x+I*c)-(a*g+d*C+f*I+W)),x=1/+b(+((F=(v+(l*S+A*w+u*k)-D)*(B=B+(m*F+h*x+y*c)-(a*m+d*h+f*y+B))-j*(v+(l*F+A*x+u*c)-D))*F+((j*I-R*B)*(j*I-R*B)+W*W))),_[i+16>>2]=1065353216,_[i+16+4>>2]=1065353216,_[i+16+8>>2]=0,p[i+16+12>>2]=0,e=0|_[t+8>>2],n=0|_[8+(0|_[e>>2])>>2],p[i>>2]=(j*I-R*B)*x+o,p[i+4>>2]=W*x+r,p[i+8>>2]=F*x+s,p[i+12>>2]=0,pd[127&n](e,i+32|0,i,i+16|0),e=0|_[t+8>>2],n=0|_[e>>2],n=0|_[(n=n+8|0)>>2],O=t+12|0,pd[127&n](e,i+80|0,i+64|0,O),e=0|_[t+8>>2],n=0|_[e>>2],n=0|_[(n=n+8|0)>>2],pd[127&n](e,i+64|0,i+48|0,O),t=0|_[t+8>>2],e=0|_[t>>2],e=0|_[(e=e+8|0)>>2],pd[127&e](t,i+48|0,i+80|0,O),Q=i},Ar,function(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[8+(0|_[(t|=0)-4>>2])>>2]](t+-4|0,e,i,n)},function(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r,s=0,c=0,a=0,l=0,d=0;r=Q,Q=Q+672|0,_[r+568+8>>2]=0,_[r+568+12>>2]=1065353216,_[r+568+16>>2]=1065353216,_[r+568+20>>2]=1065353216,p[r+568+24>>2]=0,_[r+568+52>>2]=0,_[r+568>>2]=4564,_[r+568+4>>2]=1,_[r+568+56>>2]=_[e>>2],_[r+568+56+4>>2]=_[e+4>>2],_[r+568+56+8>>2]=_[e+8>>2],_[r+568+56+12>>2]=_[e+12>>2],_[r+568+72>>2]=_[e+16>>2],_[r+568+72+4>>2]=_[e+16+4>>2],_[r+568+72+8>>2]=_[e+16+8>>2],_[r+568+72+12>>2]=_[e+16+12>>2],_[r+568+88>>2]=_[e+32>>2],_[r+568+88+4>>2]=_[e+32+4>>2],_[r+568+88+8>>2]=_[e+32+8>>2],_[r+568+88+12>>2]=_[e+32+12>>2],_[r+568+44>>2]=_[t+204>>2],p[r+208+308>>2]=9999999747378752e-20,n[r+208+332|0]=0,_[r+200>>2]=10116,e=0|_[t+4>>2],_[r+176>>2]=10184,_[r+176+4>>2]=r+208,_[r+176+8>>2]=r+200,_[r+176+12>>2]=e,_[r+176+16>>2]=r+568,_[r+176+20>>2]=0,_[r>>2]=4536,_[r+168>>2]=0,p[r+164>>2]=1,_[r+172>>2]=_[t+208>>2],0|Ie(r+176|0,t+8|0,t+72|0,t+136|0,t+136|0,r)&&(s=+p[r+132>>2])*s+(c=+p[r+136>>2])*c+(a=+p[r+140>>2])*a>9999999747378752e-20&&(l=+p[r+164>>2])<+p[t+200>>2]&&(d=1/+b(+(s*s+c*c+a*a)),p[r+132>>2]=s*d,p[r+136>>2]=c*d,p[r+140>>2]=a*d,xl[3&_[12+(0|_[t>>2])>>2]](t,r+132|0,r+148|0,l,i,o)),_[r+568>>2]=8020,(t=0|_[r+568+52>>2])?(Xl[511&_[_[t>>2]>>2]](t),(t=0|_[r+568+52>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[t+-4>>2]),Q=r):Q=r):Q=r},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,b,A,f,u,m,h,y,g,C,v,S,w,k,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0;k=+p[48+(t|=0)>>2],O=+p[t+32>>2],w=+p[t+52>>2],x=+p[t+36>>2],v=+p[t+56>>2],F=+p[t+40>>2],I=((S=!(0|_[t+16>>2]))?0:.5*(k-O))+(I=+Il[15&_[48+(0|_[t>>2])>>2]](t)),D=(S?0:.5*(w-x))+(D=+Il[15&_[48+(0|_[t>>2])>>2]](t)),j=(S?0:.5*(v-F))+(j=+Il[15&_[48+(0|_[t>>2])>>2]](t)),C=+p[e>>2],f=+d(+C),g=+p[e+4>>2],A=+d(+g),W=+p[e+8>>2],b=+d(+W),y=+p[e+16>>2],l=+d(+y),h=+p[e+20>>2],a=+d(+h),B=+p[e+24>>2],c=+d(+B),m=+p[e+32>>2],s=+d(+m),u=+p[e+36>>2],r=+d(+u),R=+p[e+40>>2],o=+d(+R),W=(O=S?0:.5*(k+O))*C+(x=S?0:.5*(w+x))*g+(F=S?0:.5*(v+F))*W+ +p[e+48>>2],B=O*y+x*h+F*B+ +p[e+52>>2],R=O*m+x*u+F*R+ +p[e+56>>2],p[i>>2]=W-(I*f+D*A+j*b),p[i+4>>2]=B-(I*l+D*a+j*c),p[i+8>>2]=R-(I*s+D*r+j*o),p[i+12>>2]=0,p[n>>2]=I*f+D*A+j*b+W,p[n+4>>2]=I*l+D*a+j*c+B,p[n+8>>2]=I*s+D*r+j*o+R,p[n+12>>2]=0},U_,function(t,e,i,n){t|=0,e|=0,i|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0;if(o=Q,Q=Q+16|0,(0|(n|=0))<=0)Q=o;else{f=0;do{s=.5*+p[t+60>>2],c=0|_[t+68>>2],l=+p[e+(f<<4)>>2],d=+p[e+(f<<4)+4>>2],A=+p[e+(f<<4)+8>>2],A=+b(+(l*l+d*d+A*A)),a=0|_[t+64>>2];do{if(!(+p[e+(f<<4)+(c<<2)>>2]>+p[t+52>>2]*A)){if(l=+p[e+(f<<4)+(a<<2)>>2],r=0|_[t+72>>2],d=+p[e+(f<<4)+(r<<2)>>2],(A=+b(+(l*l+d*d)))>1.1920928955078125e-7){A=+p[t+56>>2]/A,p[o+(a<<2)>>2]=l*A,p[o+(c<<2)>>2]=-s,s=d*A;break}p[o+(a<<2)>>2]=0,p[o+(c<<2)>>2]=-s,s=0;break}p[o+(a<<2)>>2]=0,p[o+(c<<2)>>2]=s,s=0,r=0|_[t+72>>2]}while(0);p[o+(r<<2)>>2]=s,_[(a=i+(f<<4)|0)>>2]=_[o>>2],_[a+4>>2]=_[o+4>>2],_[a+8>>2]=_[o+8>>2],_[a+12>>2]=_[o+12>>2],f=f+1|0}while((0|f)!=(0|n));Q=o}},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c=0,a=0;o=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),a=+Il[15&_[48+(0|_[t>>2])>>2]](t),c=+Il[15&_[48+(0|_[t>>2])>>2]](t),s=+p[e+52>>2]-a,r=+p[e+56>>2]-c,p[i>>2]=+p[e+48>>2]-o,p[i+4>>2]=s,p[i+8>>2]=r,p[i+12>>2]=0,a+=+p[e+52>>2],c+=+p[e+56>>2],p[n>>2]=o+ +p[e+48>>2],p[n+4>>2]=a,p[n+8>>2]=c,p[n+12>>2]=0},function(t,e,i,n){i|=0,(0|(n|=0))<=0||wn(0|i,0,n<<4)},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I=0,B=0,W=0,F=0;b=.5*(+p[32+(t|=0)>>2]-+p[t+16>>2]),c=.5*(+p[t+36>>2]-+p[t+20>>2]),B=.5*(+p[t+40>>2]-+p[t+24>>2]),l=+Il[15&_[48+(0|_[t>>2])>>2]](t),s=+Il[15&_[48+(0|_[t>>2])>>2]](t),B+=+Il[15&_[48+(0|_[t>>2])>>2]](t),w=.5*(+p[t+32>>2]+ +p[t+16>>2]),v=.5*(+p[t+36>>2]+ +p[t+20>>2]),g=.5*(+p[t+40>>2]+ +p[t+24>>2]),D=+p[e>>2],y=+d(+D),j=+p[e+4>>2],h=+d(+j),F=+p[e+8>>2],m=+d(+F),R=+p[e+16>>2],u=+d(+R),k=+p[e+20>>2],f=+d(+k),W=+p[e+24>>2],A=+d(+W),S=+p[e+32>>2],a=+d(+S),C=+p[e+36>>2],r=+d(+C),I=+p[e+40>>2],o=+d(+I),F=w*D+v*j+g*F+ +p[e+48>>2],W=w*R+v*k+g*W+ +p[e+52>>2],I=w*S+v*C+g*I+ +p[e+56>>2],p[i>>2]=F-((b+l)*y+(c+s)*h+B*m),p[i+4>>2]=W-((b+l)*u+(c+s)*f+B*A),p[i+8>>2]=I-((b+l)*a+(c+s)*r+B*o),p[i+12>>2]=0,p[n>>2]=(b+l)*y+(c+s)*h+B*m+F,p[n+4>>2]=(b+l)*u+(c+s)*f+B*A+W,p[n+8>>2]=(b+l)*a+(c+s)*r+B*o+I,p[n+12>>2]=0},function(t,e,i,r){e|=0,i|=0,r|=0;var c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;if(A=Q,Q=Q+80|0,B=0|_[48+(t|=0)>>2],_[A>>2]=7760,_[A+4>>2]=B,_[A+8>>2]=e,B=0|_[t+52>>2],!(0|n[B+60|0])){if((0|(e=0|_[B+56>>2]))>0)for(I=0,t=0,D=0|_[B+96>>2];t=t+1|0,w=+p[i>>2]>+p[D+16>>2]||+p[r>>2]<+p[D>>2]?0:1,(+p[i+8>>2]>+p[D+24>>2]||+p[r+8>>2]<+p[D+8>>2])&&(w=0),+p[i+4>>2]>+p[D+20>>2]||+p[r+4>>2]<+p[D+4>>2]?(w=0,R=-1==(0|(k=0|_[D+32>>2])),j=43):w&-1==(0|(k=0|_[D+32>>2]))?(_d[127&_[8+(0|_[A>>2])>>2]](A,0|_[D+36>>2],0|_[D+40>>2]),e=0|_[B+56>>2],j=44):(R=-1==(0|k),j=43),43==(0|j)&&(j=0,R|w?j=44:(R=D+(k<<6)|0,w=k+I|0)),44==(0|j)&&(R=D+64|0,w=I+1|0),(0|w)<(0|e);)I=w,D=R;else t=0;return(0|_[6610])>=(0|t)||(_[6610]=t),void(Q=A)}switch(W=+p[i>>2],F=+p[i+4>>2],x=+p[i+8>>2],W=W<(C=+p[B+4>>2])?C:W,F=F<(h=+p[B+8>>2])?h:F,x=x<(f=+p[B+12>>2])?f:x,v=+p[B+20>>2],y=+p[B+24>>2],u=+p[B+28>>2],S=+p[B+36>>2],g=+p[B+40>>2],m=+p[B+44>>2],l=((v>1]=l,d=((y>1]=d,o[A+66+4>>1]=b,x=+p[r>>2],F=(F=+p[r+4>>2])>2])>1]=r,c=g*((y>1]=c,o[A+60+4>>1]=a,0|_[B+144>>2]){case 0:if((0|(D=0|_[B+56>>2]))>0){t=0,e=0|_[B+136>>2],w=0;do{t=t+1|0,k=((65535&r)>=(0|s[e>>1])?(65535&l)<=(0|s[e+6>>1]):0)&(65535&b)<=(0|s[e+10>>1])&(65535&a)>=(0|s[e+4>>1])&(65535&d)<=(0|s[e+8>>1])&(65535&c)>=(0|s[e+2>>1]),(0|(j=0|_[(R=e+12|0)>>2]))>-1&k&&_d[127&_[8+(0|_[A>>2])>>2]](A,j>>>21,2097151&j),k|(0|j)>-1?(w=w+1|0,e=e+16|0):(w=w-(B=0|_[R>>2])|0,e=e+(0-B<<4)|0)}while((0|w)<(0|D))}else t=0;(0|_[6610])<(0|t)&&(_[6610]=t);break;case 1:if((0|_[B+152>>2])>0){i=0;do{if(t=0|_[B+160>>2],((65535&r)>=(0|s[t+(i<<5)>>1])?(65535&l)<=(0|s[t+(i<<5)+6>>1]):0)&(65535&b)<=(0|s[t+(i<<5)+10>>1])&(65535&a)>=(0|s[t+(i<<5)+4>>1])&(65535&d)<=(0|s[t+(i<<5)+8>>1])&(65535&c)>=(0|s[t+(i<<5)+2>>1])){I=0|_[t+(i<<5)+12>>2],D=0|_[t+(i<<5)+16>>2];t:do{if((0|D)>0){for(t=0,e=(0|_[B+136>>2])+(I<<4)|0,w=I;;)if(t=t+1|0,k=((65535&r)>=(0|s[e>>1])?(65535&l)<=(0|s[e+6>>1]):0)&(65535&b)<=(0|s[e+10>>1])&(65535&a)>=(0|s[e+4>>1])&(65535&d)<=(0|s[e+8>>1])&(65535&c)>=(0|s[e+2>>1]),(0|(j=0|_[(R=e+12|0)>>2]))>-1&k&&_d[127&_[8+(0|_[A>>2])>>2]](A,j>>>21,2097151&j),k|(0|j)>-1?(w=w+1|0,e=e+16|0):(w=w-(j=0|_[R>>2])|0,e=e+(0-j<<4)|0),(0|w)>=(D+I|0))break t}else t=0}while(0);(0|_[6610])<(0|t)&&(_[6610]=t)}i=i+1|0}while((0|i)<(0|_[B+152>>2]))}break;case 2:yn(0|_[B+136>>2],A,A+66|0,A+60|0)}Q=A},function(t,e,i,n){var o;t|=0,e|=0,i|=0,n|=0,o=Q,Q=Q+48|0,_[o>>2]=7924,_[o+4>>2]=e,_[o+8>>2]=_[i>>2],_[o+8+4>>2]=_[i+4>>2],_[o+8+8>>2]=_[i+8>>2],_[o+8+12>>2]=_[i+12>>2],_[o+24>>2]=_[n>>2],_[o+24+4>>2]=_[n+4>>2],_[o+24+8>>2]=_[n+8>>2],_[o+24+12>>2]=_[n+12>>2],e=0|_[t+48>>2],pd[127&_[8+(0|_[e>>2])>>2]](e,o,i,n),Q=o},function(t,e,i,n){e|=0;var o,r,s,c=0,a=0;s=+p[88+(t|=0)>>2],o=+p[t+92>>2],r=+p[t+96>>2],(c=s*+p[e>>2]+o*+p[e+4>>2]+r*+p[e+8>>2])>(a=+p[t+84>>2])?(p[t+84>>2]=c,_[t+4>>2]=_[e>>2],_[t+4+4>>2]=_[e+4>>2],_[t+4+8>>2]=_[e+8>>2],_[t+4+12>>2]=_[e+12>>2]):c=a,(a=s*+p[e+16>>2]+o*+p[e+20>>2]+r*+p[e+24>>2])>c?(p[t+84>>2]=a,_[t+4>>2]=_[e+16>>2],_[t+4+4>>2]=_[e+16+4>>2],_[t+4+8>>2]=_[e+16+8>>2],_[t+4+12>>2]=_[e+16+12>>2]):a=c,(c=s*+p[e+32>>2]+o*+p[e+36>>2]+r*+p[e+40>>2])>a&&(p[t+84>>2]=c,_[t+4>>2]=_[e+32>>2],_[t+4+4>>2]=_[e+32+4>>2],_[t+4+8>>2]=_[e+32+8>>2],_[t+4+12>>2]=_[e+32+12>>2])},function(t,e,i,n){t|=0,i|=0,n|=0;var o=0,r=0,s=0,c=0,a=0;((c=(r=+p[(e|=0)>>2])<(s=+p[e+16>>2])?r:s)<(o=+p[e+32>>2])?c:o)>+p[t+24>>2]||+p[(+p[(a=r>s?e:e+16|0)>>2]>o?a:e+32)>>2]<+p[t+8>>2]||((c=(o=+p[e+8>>2])<(r=+p[e+24>>2])?o:r)<(s=+p[e+40>>2])?c:s)>+p[t+32>>2]||+p[(+p[(a=o>r?e+8|0:e+24|0)>>2]>s?a:e+40)>>2]<+p[t+16>>2]||((c=(o=+p[e+4>>2])<(r=+p[e+20>>2])?o:r)<(s=+p[e+36>>2])?c:s)>+p[t+28>>2]||+p[(+p[(a=o>r?e+4|0:e+20|0)>>2]>s?a:e+36)>>2]<+p[t+12>>2]||(a=0|_[t+4>>2],pd[127&_[8+(0|_[a>>2])>>2]](a,e,i,n))},function(t,e,i,n){n|=0,_[(i|=0)>>2]=-581039253,_[i+4>>2]=-581039253,_[i+8>>2]=-581039253,p[i+12>>2]=0,_[n>>2]=1566444395,_[n+4>>2]=1566444395,_[n+8>>2]=1566444395,p[n+12>>2]=0},function(t,e,i,n){t|=0,e|=0,i|=0;var o,r,s,c,a,l,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0;a=Q,Q=Q+48|0,S=+p[(n|=0)>>2],w=+p[i>>2],k=+p[n+4>>2],v=+p[i+4>>2],c=+p[n+8>>2],o=+p[i+8>>2],r=+b(+(.5*(S-w)*(.5*(S-w))+.5*(k-v)*(.5*(k-v))+.5*(c-o)*(.5*(c-o)))),s=+p[t+56>>2],+d(+s)>.7071067690849304?(C=+p[t+52>>2],y=1/+b(+(s*s+C*C)),A=(g=+p[t+48>>2])*(-s*y),f=(s*s+C*C)*y,u=0,m=C*y*-g,h=-s*y,y*=C):(A=((g=+p[t+48>>2])*g+(C=+p[t+52>>2])*C)*(h=1/+b(+(g*g+C*C))),f=g*h*-s,u=-C*h,m=s*(-C*h),h*=g,y=0),v=.5*(k+v)-C*(l=s*(.5*(c+o))+(.5*(S+w)*g+.5*(k+v)*C)-+p[t+64>>2]),g=.5*(S+w)-g*l,u*=r,S=r*h,k=r*y,y=r*f,C=r*m,w=r*A,p[a>>2]=y+(u+g),p[a+4>>2]=C+(S+v),p[a+8>>2]=w+(k+(.5*(c+o)-s*l)),p[a+12>>2]=0,p[a+16>>2]=u+g-y,p[a+20>>2]=S+v-C,p[a+24>>2]=k+(.5*(c+o)-s*l)-w,p[a+28>>2]=0,p[a+32>>2]=g-u-y,p[a+36>>2]=v-S-C,p[a+40>>2]=.5*(c+o)-s*l-k-w,p[a+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,a,0,0),p[a>>2]=g-u-y,p[a+4>>2]=v-S-C,p[a+8>>2]=.5*(c+o)-s*l-k-w,p[a+12>>2]=0,p[a+16>>2]=y+(g-u),p[a+20>>2]=C+(v-S),p[a+24>>2]=w+(.5*(c+o)-s*l-k),p[a+28>>2]=0,p[a+32>>2]=y+(u+g),p[a+36>>2]=C+(S+v),p[a+40>>2]=w+(k+(.5*(c+o)-s*l)),p[a+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,a,0,1),Q=a},function(t,e,i,n){t|=0,e|=0,i|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0;if(o=Q,Q=Q+2048|0,(0|(n|=0))<=0)Q=o;else{r=0;do{p[i+(r<<4)+12>>2]=-0xde0b6b000000000,r=r+1|0}while((0|r)!=(0|n));f=0;do{if((0|Gl[127&_[96+(0|_[t>>2])>>2]](t))>0){u=e+(f<<4)|0,m=e+(f<<4)+4|0,h=e+(f<<4)+8|0,y=i+(f<<4)+12|0,g=i+(f<<4)|0,A=0;do{if(((0|Gl[127&_[96+(0|_[t>>2])>>2]](t))-A|0)<128?(0|(r=(0|Gl[127&_[96+(0|_[t>>2])>>2]](t))-A|0))>0?C=11:(c=-34028234663852886e22,r=-1):(r=128,C=11),11==(0|C)){C=0,s=0;do{_d[127&_[108+(0|_[t>>2])>>2]](t,s,o+(s<<4)|0),s=s+1|0}while((0|s)!=(0|r));l=+p[u>>2],d=+p[m>>2],b=+p[h>>2],s=-1,a=0,c=-34028234663852886e22;do{s=(S=(v=l*+p[o+(a<<4)>>2]+d*+p[o+(a<<4)+4>>2]+b*+p[o+(a<<4)+8>>2])>c)?a:s,c=S?v:c,a=a+1|0}while((0|a)!=(0|r));r=s}c>+p[y>>2]&&(S=o+(r<<4)|0,_[g>>2]=_[S>>2],_[g+4>>2]=_[S+4>>2],_[g+8>>2]=_[S+8>>2],_[g+12>>2]=_[S+12>>2],p[y>>2]=c),A=A+128|0}while((0|A)<(0|Gl[127&_[96+(0|_[t>>2])>>2]](t)))}f=f+1|0}while((0|f)!=(0|n));Q=o}},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,b,A,f,u,m,h,y,g,C,v,S,w,k,R=0,j=0,D=0,I=0,B=0,W=0;s=+Il[15&_[48+(0|_[(t|=0)>>2])>>2]](t),f=+p[t+72>>2],A=+p[t+56>>2],l=+p[t+76>>2],a=+p[t+60>>2],r=+p[t+80>>2],o=+p[t+64>>2],k=+p[e>>2],y=+d(+k),w=+p[e+4>>2],h=+d(+w),B=+p[e+8>>2],W=+d(+B),S=+p[e+16>>2],m=+d(+S),v=+p[e+20>>2],u=+d(+v),D=+p[e+24>>2],I=+d(+D),C=+p[e+32>>2],b=+d(+C),g=+p[e+36>>2],c=+d(+g),R=+p[e+40>>2],j=+d(+R),B=.5*(f+A)*k+.5*(l+a)*w+.5*(r+o)*B+ +p[e+48>>2],D=.5*(f+A)*S+.5*(l+a)*v+.5*(r+o)*D+ +p[e+52>>2],R=.5*(f+A)*C+.5*(l+a)*g+.5*(r+o)*R+ +p[e+56>>2],W=(s+.5*(f-A))*y+(s+.5*(l-a))*h+(s+.5*(r-o))*W,I=(s+.5*(f-A))*m+(s+.5*(l-a))*u+(s+.5*(r-o))*I,j=(s+.5*(f-A))*b+(s+.5*(l-a))*c+(s+.5*(r-o))*j,p[i>>2]=B-W,p[i+4>>2]=D-I,p[i+8>>2]=R-j,p[i+12>>2]=0,p[n>>2]=W+B,p[n+4>>2]=I+D,p[n+8>>2]=j+R,p[n+12>>2]=0},function(t,e,i,n){t|=0,e|=0,i|=0;var o=0,r=0,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0;if(!((0|(n|=0))<=0)){o=0;do{p[i+(o<<4)+12>>2]=-0xde0b6b000000000,o=o+1|0}while((0|o)!=(0|n));m=0;do{if(c=+p[t+12>>2],a=+p[e+(m<<4)>>2]*c,l=+p[t+16>>2],d=+p[e+(m<<4)+4>>2]*l,b=+p[t+20>>2],A=+p[e+(m<<4)+8>>2]*b,(0|(f=0|_[t+96>>2]))>0){u=0|_[t+104>>2],o=-1,s=0,r=-34028234663852886e22;do{o=(y=(h=a*+p[u+(s<<4)>>2]+d*+p[u+(s<<4)+4>>2]+A*+p[u+(s<<4)+8>>2])>r)?s:o,r=y?h:r,s=s+1|0}while((0|s)!=(0|f));A=+p[u+(o<<4)+4>>2]*l,h=+p[u+(o<<4)+8>>2]*b,p[i+(m<<4)>>2]=+p[u+(o<<4)>>2]*c,p[i+(m<<4)+4>>2]=A,p[i+(m<<4)+8>>2]=h}else r=-0xde0b6b000000000;p[i+(m<<4)+12>>2]=r,m=m+1|0}while((0|m)!=(0|n))}},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s=0,c=0;o=0|_[96+(t|=0)>>2],r=0|_[t+104>>2],s=+p[r+((0|e)%(0|o)<<4)+4>>2]*+p[t+16>>2],c=+p[r+((0|e)%(0|o)<<4)+8>>2]*+p[t+20>>2],p[i>>2]=+p[r+((0|e)%(0|o)<<4)>>2]*+p[t+12>>2],p[i+4>>2]=s,p[i+8>>2]=c,p[i+12>>2]=0,i=0|_[t+104>>2],c=+p[i+((e+1|0)%(0|o)<<4)+4>>2]*+p[t+16>>2],s=+p[i+((e+1|0)%(0|o)<<4)+8>>2]*+p[t+20>>2],p[n>>2]=+p[i+((e+1|0)%(0|o)<<4)>>2]*+p[t+12>>2],p[n+4>>2]=c,p[n+8>>2]=s,p[n+12>>2]=0},rp,function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,b,A,f,u,m,h,y,g,C=0,v=0,S=0;o=Q,Q=Q+16|0,g=0|_[52+(t|=0)>>2],S=+p[t+28+((g+2|0)%3<<2)>>2],p[o>>2]=S,p[o+4>>2]=S,p[o+8>>2]=S,p[o+12>>2]=0,p[o+(g<<2)>>2]=S+ +p[t+28+(g<<2)>>2],S=+Il[15&_[48+(0|_[t>>2])>>2]](t),v=+Il[15&_[48+(0|_[t>>2])>>2]](t),C=+Il[15&_[48+(0|_[t>>2])>>2]](t),S+=+p[o>>2],p[o>>2]=S,v+=+p[o+4>>2],p[o+4>>2]=v,C+=+p[o+8>>2],y=+d(+ +p[e>>2]),h=+d(+ +p[e+4>>2]),m=+d(+ +p[e+8>>2]),f=+d(+ +p[e+16>>2]),A=+d(+ +p[e+20>>2]),b=+d(+ +p[e+24>>2]),c=+d(+ +p[e+32>>2]),s=+d(+ +p[e+36>>2]),r=+d(+ +p[e+40>>2]),u=+p[e+48>>2],l=+p[e+52>>2],a=+p[e+56>>2],p[i>>2]=u-(S*y+v*h+C*m),p[i+4>>2]=l-(S*f+v*A+C*b),p[i+8>>2]=a-(S*c+v*s+C*r),p[i+12>>2]=0,p[n>>2]=S*y+v*h+C*m+u,p[n+4>>2]=S*f+v*A+C*b+l,p[n+8>>2]=a+(S*c+v*s+C*r),p[n+12>>2]=0,Q=o},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0;if(r=Q,Q=Q+16|0,c=0|_[52+(t|=0)>>2],o=+p[t+28+((c+2|0)%3<<2)>>2],(0|n)<=0)Q=r;else{for(s=0;_[r>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,_[r+(c<<2)>>2]=_[t+28+(c<<2)>>2],h=e+(s<<4)+4|0,y=e+(s<<4)+8|0,b=o*+p[(c=e+(s<<4)|0)>>2]+ +p[r>>2],A=o*+p[h>>2]+ +p[r+4>>2],f=o*+p[y>>2]+ +p[r+8>>2],u=+Il[15&_[48+(0|_[t>>2])>>2]](t),(a=+p[c>>2])*(b-u*a)+(l=+p[h>>2])*(A-u*l)+(d=+p[y>>2])*(f-u*d)>-0xde0b6b000000000?(p[i+(s<<4)>>2]=b-u*a,p[i+(s<<4)+4>>2]=A-u*l,p[i+(s<<4)+8>>2]=f-u*d,p[i+(s<<4)+12>>2]=0,m=a*(b-u*a)+l*(A-u*l)+d*(f-u*d),a=+p[c>>2],l=+p[h>>2],d=+p[y>>2]):m=-0xde0b6b000000000,_[r>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,g=0|_[t+52>>2],p[r+(g<<2)>>2]=-+p[t+28+(g<<2)>>2],u=o*a+ +p[r>>2],f=o*l+ +p[r+4>>2],b=o*d+ +p[r+8>>2],A=+Il[15&_[48+(0|_[t>>2])>>2]](t),(d=+p[c>>2])*(u-A*d)+(l=+p[h>>2])*(f-A*l)+(a=+p[y>>2])*(b-A*a)>m&&(p[i+(s<<4)>>2]=u-A*d,p[i+(s<<4)+4>>2]=f-A*l,p[i+(s<<4)+8>>2]=b-A*a,p[i+(s<<4)+12>>2]=0),(0|(s=s+1|0))!=(0|n);)c=0|_[t+52>>2];Q=r}},function(t,e,i,n){t|=0,e|=0,i|=0;var o,r,s=0,c=0,a=0;if(r=Q,Q=Q+80|0,(0|(n|=0))<=0)Q=r;else{s=0;do{p[i+(s<<4)+12>>2]=-0xde0b6b000000000,s=s+1|0}while((0|s)!=(0|n));o=r+32+4|0,s=0;do{c=e+(s<<4)|0,_[r+32>>2]=8820,_[o>>2]=0,_[o+4>>2]=0,_[o+8>>2]=0,_[o+12>>2]=0,p[r+32+20>>2]=-0xde0b6b000000000,_[r+32+24>>2]=_[c>>2],_[r+32+24+4>>2]=_[c+4>>2],_[r+32+24+8>>2]=_[c+8>>2],_[r+32+24+12>>2]=_[c+12>>2],_[r+16>>2]=1566444395,_[r+16+4>>2]=1566444395,_[r+16+8>>2]=1566444395,p[r+16+12>>2]=0,c=0|_[t+92>>2],a=0|_[8+(0|_[c>>2])>>2],p[r>>2]=-0xde0b6b000000000,p[r+4>>2]=-0xde0b6b000000000,p[r+8>>2]=-0xde0b6b000000000,p[r+12>>2]=0,pd[127&a](c,r+32|0,r,r+16|0),_[(c=i+(s<<4)|0)>>2]=_[o>>2],_[c+4>>2]=_[o+4>>2],_[c+8>>2]=_[o+8>>2],_[c+12>>2]=_[o+12>>2],s=s+1|0}while((0|s)<(0|n));Q=r}},rp,rp,function(t,e,i,n){e|=0;var o,r,s,c=0,a=0;s=+p[24+(t|=0)>>2],o=+p[t+28>>2],r=+p[t+32>>2],(c=s*+p[e>>2]+o*+p[e+4>>2]+r*+p[e+8>>2])>(a=+p[t+20>>2])?(p[t+20>>2]=c,_[t+4>>2]=_[e>>2],_[t+4+4>>2]=_[e+4>>2],_[t+4+8>>2]=_[e+8>>2],_[t+4+12>>2]=_[e+12>>2]):c=a,(a=s*+p[e+16>>2]+o*+p[e+20>>2]+r*+p[e+24>>2])>c?(p[t+20>>2]=a,_[t+4>>2]=_[e+16>>2],_[t+4+4>>2]=_[e+16+4>>2],_[t+4+8>>2]=_[e+16+8>>2],_[t+4+12>>2]=_[e+16+12>>2]):a=c,(c=s*+p[e+32>>2]+o*+p[e+36>>2]+r*+p[e+40>>2])>a&&(p[t+20>>2]=c,_[t+4>>2]=_[e+32>>2],_[t+4+4>>2]=_[e+32+4>>2],_[t+4+8>>2]=_[e+32+8>>2],_[t+4+12>>2]=_[e+32+12>>2])},tn,function(t,e,i,n){t|=0,e|=0,i|=0;var o=0,_=0,r=0,s=0;if(!((0|(n|=0))<=0)){o=0;do{s=+p[t+28>>2],r=+p[t+32>>2],r=+p[e+(o<<4)+4>>2]>=0?r:-r,_=+p[t+36>>2],_=+p[e+(o<<4)+8>>2]>=0?_:-_,p[i+(o<<4)>>2]=+p[e+(o<<4)>>2]>=0?s:-s,p[i+(o<<4)+4>>2]=r,p[i+(o<<4)+8>>2]=_,p[i+(o<<4)+12>>2]=0,o=o+1|0}while((0|o)!=(0|n))}},function(t,e,i,n){t|=0,i|=0,n|=0;var o=0;switch(0|(e|=0)){case 0:e=1,o=0;break;case 1:e=2,o=0;break;case 2:e=3,o=1;break;case 3:e=3,o=2;break;case 4:e=4,o=0;break;case 5:e=5,o=1;break;case 6:e=6,o=2;break;case 7:e=7,o=3;break;case 8:e=5,o=4;break;case 9:e=6,o=4;break;case 10:e=7,o=5;break;case 11:e=7,o=6;break;default:e=0,o=0}_d[127&_[108+(0|_[t>>2])>>2]](t,o,i),_d[127&_[108+(0|_[t>>2])>>2]](t,e,n)},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,l=0,d=0,b=0;o=Q,Q=Q+48|0,_d[127&_[124+(0|_[(t|=0)>>2])>>2]](t,o+32|0,n),c=0|_[o+32>>2],s=0|_[o+32+4>>2],r=0|_[o+32+8>>2],_[e>>2]=c,_[e+4>>2]=s,_[e+8>>2]=r,p[e+12>>2]=0,n=0|_[64+(0|_[t>>2])>>2],_[a>>2]=c,b=-+p[a>>2],_[a>>2]=s,d=-+p[a>>2],_[a>>2]=r,l=-+p[a>>2],p[o>>2]=b,p[o+4>>2]=d,p[o+8>>2]=l,p[o+12>>2]=0,_d[127&n](o+16|0,t,o),_[i>>2]=_[o+16>>2],_[i+4>>2]=_[o+16+4>>2],_[i+8>>2]=_[o+16+8>>2],_[i+12>>2]=_[o+16+12>>2],Q=o},function(t,e,i,r){t|=0,i|=0,r|=0;var s,c,l,d,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0;if(y=+p[(e|=0)>>2],p[a>>2]=y,b=0|_[a>>2],w=y<0xde0b6b000000000?b:1566444395,u=+p[e+4>>2],p[a>>2]=u,f=0|_[a>>2],k=u<0xde0b6b000000000?f:1566444395,D=+p[e+8>>2],p[a>>2]=D,h=0|_[a>>2],R=D<0xde0b6b000000000?h:1566444395,b=y>-0xde0b6b000000000?b:-581039253,f=u>-0xde0b6b000000000?f:-581039253,h=D>-0xde0b6b000000000?h:-581039253,S=(D=+p[e+16>>2])<(_[a>>2]=w,+p[a>>2]),p[a>>2]=D,A=0|_[a>>2],w=S?A:w,S=(u=+p[e+20>>2])<(_[a>>2]=k,+p[a>>2]),p[a>>2]=u,m=0|_[a>>2],k=S?m:k,S=(y=+p[e+24>>2])<(_[a>>2]=R,+p[a>>2]),p[a>>2]=y,g=0|_[a>>2],R=S?g:R,A=D>(_[a>>2]=b,+p[a>>2])?A:b,b=u>(_[a>>2]=f,+p[a>>2])?m:f,h=y>(_[a>>2]=h,+p[a>>2])?g:h,g=(D=+p[e+32>>2])<(_[a>>2]=w,+p[a>>2]),p[a>>2]=D,C=0|_[a>>2],v=(u=+p[e+36>>2])<(_[a>>2]=k,+p[a>>2]),p[a>>2]=u,S=0|_[a>>2],f=(y=+p[e+40>>2])<(_[a>>2]=R,+p[a>>2]),p[a>>2]=y,m=0|_[a>>2],A=D>(_[a>>2]=A,+p[a>>2])?C:A,b=u>(_[a>>2]=b,+p[a>>2])?S:b,h=y>(_[a>>2]=h,+p[a>>2])?m:h,_[a>>2]=A,F=+p[a>>2],_[a>>2]=g?C:w,x=+p[a>>2],_[a>>2]=b,B=+p[a>>2],_[a>>2]=v?S:k,W=+p[a>>2],_[a>>2]=h,u=+p[a>>2],_[a>>2]=f?m:R,I=+p[a>>2],h=0|_[t+8>>2],d=+p[h+4>>2],c=+p[h+8>>2],y=+p[h+12>>2],l=+p[h+36>>2],s=+p[h+40>>2],D=+p[h+44>>2],h=((F-x<.0020000000949949026?x+-.0010000000474974513:x)-d)*l&65535&-2,g=((B-W<.0020000000949949026?W+-.0010000000474974513:W)-c)*s&65535&-2,C=((u-I<.0020000000949949026?I+-.0010000000474974513:I)-y)*D&65535&-2,v=((F-x<.0020000000949949026?F+.0010000000474974513:F)-d)*l+1&65535|1,S=((B-W<.0020000000949949026?B+.0010000000474974513:B)-c)*s+1&65535|1,e=((u-I<.0020000000949949026?u+.0010000000474974513:u)-y)*D+1&65535|1,m=0|_[t+4>>2],(0|(b=0|_[m+4>>2]))==(0|_[m+8>>2])&&(0|b)<(0|(j=0|b?b<<1:1))){if(j?(_[6630]=1+(0|_[6630]),(b=0|di(16+(j<<4|3)|0))?(_[(b+4+15&-16)-4>>2]=b,b=b+4+15&-16):b=0,f=b,b=0|_[m+4>>2]):f=0,(0|b)>0){A=0;do{t=f+(A<<4)|0,R=(0|_[m+12>>2])+(A<<4)|0,_[t>>2]=_[R>>2],_[t+4>>2]=_[R+4>>2],_[t+8>>2]=_[R+8>>2],_[t+12>>2]=_[R+12>>2],A=A+1|0}while((0|A)!=(0|b))}0|(b=0|_[m+12>>2])&&(0|n[m+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[b+-4>>2])),_[m+12>>2]=0),n[m+16|0]=1,_[m+12>>2]=f,_[m+8>>2]=j,b=0|_[m+4>>2]}j=0|_[m+12>>2],o[j+(b<<4)>>1]=h,o[j+(b<<4)+2>>1]=g,o[j+(b<<4)+4>>1]=C,o[j+(b<<4)+6>>1]=v,o[j+(b<<4)+8>>1]=S,o[j+(b<<4)+10>>1]=e,_[j+(b<<4)+12>>2]=i<<21|r,_[m+4>>2]=1+(0|_[m+4>>2])},function(t,e,i,o){t|=0,i|=0,o|=0;var r,s,c=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0;if(s=Q,Q=Q+32|0,m=+p[(e|=0)>>2],p[a>>2]=m,c=0|_[a>>2],g=m<0xde0b6b000000000?c:1566444395,u=+p[e+4>>2],p[a>>2]=u,d=0|_[a>>2],C=u<0xde0b6b000000000?d:1566444395,I=+p[e+8>>2],p[a>>2]=I,A=0|_[a>>2],S=I<0xde0b6b000000000?A:1566444395,w=(h=+p[e+12>>2])<0?h:0,c=m>-0xde0b6b000000000?c:-581039253,d=u>-0xde0b6b000000000?d:-581039253,A=I>-0xde0b6b000000000?A:-581039253,h=h>0?h:0,j=(I=+p[e+16>>2])<(_[a>>2]=g,+p[a>>2]),p[a>>2]=I,l=0|_[a>>2],g=j?l:g,j=(u=+p[e+20>>2])<(_[a>>2]=C,+p[a>>2]),p[a>>2]=u,b=0|_[a>>2],C=j?b:C,j=(m=+p[e+24>>2])<(_[a>>2]=S,+p[a>>2]),p[a>>2]=m,f=0|_[a>>2],S=j?f:S,w=(y=+p[e+28>>2])(_[a>>2]=c,+p[a>>2])?l:c,v=u>(_[a>>2]=d,+p[a>>2])?b:d,b=m>(_[a>>2]=A,+p[a>>2])?f:A,y=h>2])<(_[a>>2]=g,+p[a>>2]),p[a>>2]=I,c=0|_[a>>2],j=j?c:g,R=(m=+p[e+36>>2])<(_[a>>2]=C,+p[a>>2]),p[a>>2]=m,l=0|_[a>>2],R=R?l:C,k=(h=+p[e+40>>2])<(_[a>>2]=S,+p[a>>2]),p[a>>2]=h,d=0|_[a>>2],k=k?d:S,w=(u=+p[e+44>>2])(_[a>>2]=r,+p[a>>2])?c:r,v=m>(_[a>>2]=v,+p[a>>2])?l:v,C=h>(_[a>>2]=b,+p[a>>2])?d:b,u=y>2],(0|(c=0|_[g+4>>2]))==(0|_[g+8>>2])&&(0|c)<(0|(D=0|c?c<<1:1))){if(D?(_[6630]=1+(0|_[6630]),(c=0|di(D<<6|19))?(_[(c+4+15&-16)-4>>2]=c,c=c+4+15&-16):c=0,f=c,c=0|_[g+4>>2]):f=0,(0|c)>0){l=0;do{d=f+(l<<6)|0,b=(0|_[g+12>>2])+(l<<6)|0,A=d+64|0;do{_[d>>2]=_[b>>2],d=d+4|0,b=b+4|0}while((0|d)<(0|A));l=l+1|0}while((0|l)!=(0|c))}0|(c=0|_[g+12>>2])&&(0|n[g+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[g+12>>2]=0),n[g+16|0]=1,_[g+12>>2]=f,_[g+8>>2]=D,c=0|_[g+4>>2]}D=0|_[g+12>>2],_[D+(c<<6)>>2]=j,_[D+(c<<6)+4>>2]=R,_[D+(c<<6)+8>>2]=k,p[D+(c<<6)+12>>2]=w,_[D+(c<<6)+16>>2]=S,_[D+(c<<6)+20>>2]=v,_[D+(c<<6)+24>>2]=C,p[D+(c<<6)+28>>2]=u,_[D+(c<<6)+32>>2]=-1,_[D+(c<<6)+36>>2]=i,_[D+(c<<6)+40>>2]=o,_[(o=D+(c<<6)+44|0)>>2]=_[s>>2],_[o+4>>2]=_[s+4>>2],_[o+8>>2]=_[s+8>>2],_[o+12>>2]=_[s+12>>2],_[o+16>>2]=_[s+16>>2],_[g+4>>2]=1+(0|_[g+4>>2]),Q=s},function(t,e,i,n){e|=0,i|=0,n|=0;var o,r,s,c,a,l,b,A,f,u,m,h,y,g,C,v,S=0;A=(+p[32+(t|=0)>>2]-+p[t+16>>2])*+p[t+108>>2]*.5,l=(+p[t+36>>2]-+p[t+20>>2])*+p[t+112>>2]*.5,c=(+p[t+40>>2]-+p[t+24>>2])*+p[t+116>>2]*.5,y=+d(+ +p[e>>2]),h=+d(+ +p[e+4>>2]),m=+d(+ +p[e+8>>2]),b=+d(+ +p[e+16>>2]),a=+d(+ +p[e+20>>2]),s=+d(+ +p[e+24>>2]),v=+d(+ +p[e+32>>2]),C=+d(+ +p[e+36>>2]),S=+d(+ +p[e+40>>2]),g=+p[e+48>>2],f=+p[e+52>>2],o=+p[e+56>>2],u=+Il[15&_[48+(0|_[t>>2])>>2]](t),r=+Il[15&_[48+(0|_[t>>2])>>2]](t),S=A*v+l*C+c*S+ +Il[15&_[48+(0|_[t>>2])>>2]](t),p[i>>2]=g-(A*y+l*h+c*m+u),p[i+4>>2]=f-(A*b+l*a+c*s+r),p[i+8>>2]=o-S,p[i+12>>2]=0,p[n>>2]=g+(A*y+l*h+c*m+u),p[n+4>>2]=f+(A*b+l*a+c*s+r),p[n+8>>2]=o+S,p[n+12>>2]=0},function(t,e,i,o){e|=0,i|=0,o|=0;var r,s,c,a,l,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0;switch(s=Q,Q=Q+48|0,k=1/+p[108+(t|=0)>>2],R=1/+p[t+112>>2],j=1/+p[t+116>>2],S=+p[t+48>>2],w=k*+p[i>>2]+S,y=+p[t+52>>2],b=R*+p[i+4>>2]+y,C=+p[t+56>>2],g=j*+p[i+8>>2]+C,S=k*+p[o>>2]+S,y=R*+p[o+4>>2]+y,C=j*+p[o+8>>2]+C,w=w<(j=+p[t+16>>2])?j:w,b=b<(R=+p[t+20>>2])?R:b,g=g<(k=+p[t+24>>2])?k:g,m=~~(((w=(l=+p[t+32>>2])>2])>2])>2])-1|0,o=(0|_[t+68>>2])-1|0,0|_[t+104>>2]){case 0:o=(0|i)<(0|o)?i:o,i=(0|d)>0?d:0,u=(0|f)<(0|u)?f:u,h=(0|h)>0?h:0;break;case 1:o=(0|i)<(0|o)?i:o,i=(0|d)>0?d:0,u=(0|A)<(0|u)?A:u,h=(0|m)>0?m:0;break;case 2:o=(0|f)<(0|o)?f:o,i=(0|h)>0?h:0,u=(0|A)<(0|u)?A:u,h=(0|m)>0?m:0;break;default:i=0,h=0}if((0|i)>=(0|o))Q=s;else{r=(0|h)<(0|u);do{if(r)for(f=!(1&i),C=+(0|i),m=i+1|0,d=h;;){do{if(0|n[t+100|0])v=16;else{if(0|n[t+101|0]&&!(d+i&1)){v=16;break}if(f&!!(0|n[t+102|0]))v=16;else{switch(b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,d,i),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|d)-.5*+p[t+80>>2],g=C-.5*+p[t+84>>2],p[s>>2]=b,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0;break;case 1:j=+(0|d)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=C-.5*+p[t+84>>2],p[s>>2]=j,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0,b=j;break;case 2:j=+(0|d)-.5*+p[t+80>>2],y=C-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s>>2]=j,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0,b=j;break;default:b=+p[s>>2],y=+p[s+4>>2],g=+p[s+8>>2]}switch(p[s>>2]=b*+p[t+108>>2],p[s+4>>2]=y*+p[t+112>>2],p[s+8>>2]=g*+p[t+116>>2],b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,d,m),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|d)-.5*+p[t+80>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+16>>2]=b,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0;break;case 1:j=+(0|d)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+16>>2]=j,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0,b=j;break;case 2:j=+(0|d)-.5*+p[t+80>>2],y=+(0|m)-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+16>>2]=j,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0,b=j;break;default:b=+p[s+16>>2],y=+p[s+20>>2],g=+p[s+24>>2]}switch(p[s+16>>2]=b*+p[t+108>>2],p[s+20>>2]=y*+p[t+112>>2],p[s+24>>2]=g*+p[t+116>>2],A=d+1|0,b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,A,i),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|A)-.5*+p[t+80>>2],g=C-.5*+p[t+84>>2],p[s+32>>2]=b,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0;break;case 1:j=+(0|A)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=C-.5*+p[t+84>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;case 2:j=+(0|A)-.5*+p[t+80>>2],y=C-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;default:b=+p[s+32>>2],y=+p[s+36>>2],g=+p[s+40>>2]}switch(p[s+32>>2]=b*+p[t+108>>2],p[s+36>>2]=y*+p[t+112>>2],p[s+40>>2]=g*+p[t+116>>2],pd[127&_[8+(0|_[e>>2])>>2]](e,s,d,i),b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,A,i),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|A)-.5*+p[t+80>>2],g=C-.5*+p[t+84>>2],p[s>>2]=b,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0;break;case 1:j=+(0|A)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=C-.5*+p[t+84>>2],p[s>>2]=j,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0,b=j;break;case 2:j=+(0|A)-.5*+p[t+80>>2],y=C-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s>>2]=j,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0,b=j;break;default:b=+p[s>>2],y=+p[s+4>>2],g=+p[s+8>>2]}switch(p[s>>2]=b*+p[t+108>>2],p[s+4>>2]=y*+p[t+112>>2],p[s+8>>2]=g*+p[t+116>>2],b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,A,m),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|A)-.5*+p[t+80>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+32>>2]=b,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0;break;case 1:j=+(0|A)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;case 2:j=+(0|A)-.5*+p[t+80>>2],y=+(0|m)-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;default:b=+p[s+32>>2],y=+p[s+36>>2],g=+p[s+40>>2]}p[s+32>>2]=b*+p[t+108>>2],p[s+36>>2]=y*+p[t+112>>2],p[s+40>>2]=g*+p[t+116>>2],pd[127&_[8+(0|_[e>>2])>>2]](e,s,d,i),d=A}}}while(0);if(16==(0|v)){switch(v=0,b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,d,i),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|d)-.5*+p[t+80>>2],g=C-.5*+p[t+84>>2],p[s>>2]=b,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0;break;case 1:j=+(0|d)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=C-.5*+p[t+84>>2],p[s>>2]=j,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0,b=j;break;case 2:j=+(0|d)-.5*+p[t+80>>2],y=C-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s>>2]=j,p[s+4>>2]=y,p[s+8>>2]=g,p[s+12>>2]=0,b=j;break;default:b=+p[s>>2],y=+p[s+4>>2],g=+p[s+8>>2]}switch(p[s>>2]=b*+p[t+108>>2],p[s+4>>2]=y*+p[t+112>>2],p[s+8>>2]=g*+p[t+116>>2],A=d+1|0,b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,A,i),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|A)-.5*+p[t+80>>2],g=C-.5*+p[t+84>>2],p[s+16>>2]=b,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0;break;case 1:j=+(0|A)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=C-.5*+p[t+84>>2],p[s+16>>2]=j,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0,b=j;break;case 2:j=+(0|A)-.5*+p[t+80>>2],y=C-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+16>>2]=j,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0,b=j;break;default:b=+p[s+16>>2],y=+p[s+20>>2],g=+p[s+24>>2]}switch(p[s+16>>2]=b*+p[t+108>>2],p[s+20>>2]=y*+p[t+112>>2],p[s+24>>2]=g*+p[t+116>>2],b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,A,m),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|A)-.5*+p[t+80>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+32>>2]=b,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0;break;case 1:j=+(0|A)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;case 2:j=+(0|A)-.5*+p[t+80>>2],y=+(0|m)-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;default:b=+p[s+32>>2],y=+p[s+36>>2],g=+p[s+40>>2]}switch(p[s+32>>2]=b*+p[t+108>>2],p[s+36>>2]=y*+p[t+112>>2],p[s+40>>2]=g*+p[t+116>>2],pd[127&_[8+(0|_[e>>2])>>2]](e,s,d,i),b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,A,m),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|A)-.5*+p[t+80>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+16>>2]=b,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0;break;case 1:j=+(0|A)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+16>>2]=j,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0,b=j;break;case 2:j=+(0|A)-.5*+p[t+80>>2],y=+(0|m)-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+16>>2]=j,p[s+20>>2]=y,p[s+24>>2]=g,p[s+28>>2]=0,b=j;break;default:b=+p[s+16>>2],y=+p[s+20>>2],g=+p[s+24>>2]}switch(p[s+16>>2]=b*+p[t+108>>2],p[s+20>>2]=y*+p[t+112>>2],p[s+24>>2]=g*+p[t+116>>2],b=+Fl[15&_[68+(0|_[t>>2])>>2]](t,d,m),0|_[t+104>>2]){case 0:b-=+p[t+48>>2],y=+(0|d)-.5*+p[t+80>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+32>>2]=b,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0;break;case 1:j=+(0|d)-.5*+p[t+80>>2],y=b-+p[t+52>>2],g=+(0|m)-.5*+p[t+84>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;case 2:j=+(0|d)-.5*+p[t+80>>2],y=+(0|m)-.5*+p[t+84>>2],g=b-+p[t+56>>2],p[s+32>>2]=j,p[s+36>>2]=y,p[s+40>>2]=g,p[s+44>>2]=0,b=j;break;default:b=+p[s+32>>2],y=+p[s+36>>2],g=+p[s+40>>2]}p[s+32>>2]=b*+p[t+108>>2],p[s+36>>2]=y*+p[t+112>>2],p[s+40>>2]=g*+p[t+116>>2],pd[127&_[8+(0|_[e>>2])>>2]](e,s,d,i),d=A}if((0|d)==(0|u)){i=m;break}}else i=i+1|0}while((0|i)!=(0|o));Q=s}},tn,function(t,e,i,n){t|=0,e|=0,i|=0;var o=0,_=0,r=0,s=0,c=0,a=0,l=0;if(!((0|(n|=0))<=0)){l=0;do{o=+p[t+28>>2],r=+p[t+32>>2],c=+p[e+(l<<4)>>2],_=+p[e+(l<<4)+8>>2],0!=(a=+b(+(c*c+_*_)))?(s=_*(o/a),_=+p[e+(l<<4)+4>>2]<0?-r:r,o=c*(o/a)):(s=0,_=+p[e+(l<<4)+4>>2]<0?-r:r),p[i+(l<<4)>>2]=o,p[i+(l<<4)+4>>2]=_,p[i+(l<<4)+8>>2]=s,l=l+1|0}while((0|l)!=(0|n))}},function(t,e,i,n){t|=0,e|=0,i|=0;var o=0,_=0,r=0,s=0,c=0,a=0,l=0,d=0;if(!((0|(n|=0))<=0)){d=0;do{o=+p[t+32>>2],r=+p[t+28>>2],s=e+(d<<4)|0,a=+p[e+(d<<4)+4>>2],_=+p[e+(d<<4)+8>>2],0!=(l=+b(+(a*a+_*_)))?(c=_*(o/l),_=+p[s>>2]<0?-r:r,o=a*(o/l)):(c=0,_=+p[s>>2]<0?-r:r),p[i+(d<<4)>>2]=_,p[i+(d<<4)+4>>2]=o,p[i+(d<<4)+8>>2]=c,d=d+1|0}while((0|d)!=(0|n))}},function(t,e,i,n){t|=0,e|=0,i|=0;var o=0,_=0,r=0,s=0,c=0,a=0,l=0;if(!((0|(n|=0))<=0)){l=0;do{o=+p[t+28>>2],r=+p[t+36>>2],c=+p[e+(l<<4)>>2],_=+p[e+(l<<4)+4>>2],0!=(a=+b(+(c*c+_*_)))?(s=_*(o/a),_=+p[e+(l<<4)+8>>2]<0?-r:r,o=c*(o/a)):(s=0,_=+p[e+(l<<4)+8>>2]<0?-r:r),p[i+(l<<4)>>2]=o,p[i+(l<<4)+4>>2]=s,p[i+(l<<4)+8>>2]=_,l=l+1|0}while((0|l)!=(0|n))}},function(t,e,i,n){e|=0,i|=0,n|=0;var o,a,l,d,b,A=0,f=0,u=0,m=0,h=0,y=0;if(b=Q,Q=Q+80|0,d=0|Gl[127&_[28+(0|_[(t|=0)>>2])>>2]](t),o=+p[t+4>>2],a=+p[t+8>>2],l=+p[t+12>>2],(0|d)<=0)Q=b;else{n=0;do{hd[3&_[16+(0|_[t>>2])>>2]](t,b+76|0,b+52|0,b+64|0,b+56|0,b+72|0,b+68|0,b+48|0,b+60|0,n);t:do{switch(0|_[b+64>>2]){case 0:switch(0|_[b+60>>2]){case 2:if((0|_[b+48>>2])<=0)break t;i=0;do{m=(0|_[b+72>>2])+(0|g(0|_[b+68>>2],i))|0,h=0|_[b+76>>2],u=0|_[b+56>>2],y=h+(0|g(u,0|_[m>>2]))|0,f=a*+p[y+4>>2],A=l*+p[y+8>>2],p[b>>2]=o*+p[y>>2],p[b+4>>2]=f,p[b+8>>2]=A,p[b+12>>2]=0,y=h+(0|g(0|_[m+4>>2],u))|0,A=a*+p[y+4>>2],f=l*+p[y+8>>2],p[b+16>>2]=o*+p[y>>2],p[b+20>>2]=A,p[b+24>>2]=f,p[b+28>>2]=0,u=h+(0|g(0|_[m+8>>2],u))|0,f=a*+p[u+4>>2],A=l*+p[u+8>>2],p[b+32>>2]=o*+p[u>>2],p[b+36>>2]=f,p[b+40>>2]=A,p[b+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,b,n,i),i=i+1|0}while((0|i)<(0|_[b+48>>2]));break;case 3:if((0|_[b+48>>2])<=0)break t;i=0;do{y=(0|_[b+72>>2])+(0|g(0|_[b+68>>2],i))|0,m=0|_[b+76>>2],h=0|_[b+56>>2],u=m+(0|g(h,0|s[y>>1]))|0,A=a*+p[u+4>>2],f=l*+p[u+8>>2],p[b>>2]=o*+p[u>>2],p[b+4>>2]=A,p[b+8>>2]=f,p[b+12>>2]=0,u=m+(0|g(h,0|s[y+2>>1]))|0,f=a*+p[u+4>>2],A=l*+p[u+8>>2],p[b+16>>2]=o*+p[u>>2],p[b+20>>2]=f,p[b+24>>2]=A,p[b+28>>2]=0,y=m+(0|g(h,0|s[y+4>>1]))|0,A=a*+p[y+4>>2],f=l*+p[y+8>>2],p[b+32>>2]=o*+p[y>>2],p[b+36>>2]=A,p[b+40>>2]=f,p[b+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,b,n,i),i=i+1|0}while((0|i)<(0|_[b+48>>2]));break;case 5:if((0|_[b+48>>2])<=0)break t;i=0;do{y=(0|_[b+72>>2])+(0|g(0|_[b+68>>2],i))|0,m=0|_[b+76>>2],h=0|_[b+56>>2],u=m+(0|g(h,0|r[0|y]))|0,A=a*+p[u+4>>2],f=l*+p[u+8>>2],p[b>>2]=o*+p[u>>2],p[b+4>>2]=A,p[b+8>>2]=f,p[b+12>>2]=0,u=m+(0|g(h,0|r[y+1|0]))|0,f=a*+p[u+4>>2],A=l*+p[u+8>>2],p[b+16>>2]=o*+p[u>>2],p[b+20>>2]=f,p[b+24>>2]=A,p[b+28>>2]=0,y=m+(0|g(h,0|r[y+2|0]))|0,A=a*+p[y+4>>2],f=l*+p[y+8>>2],p[b+32>>2]=o*+p[y>>2],p[b+36>>2]=A,p[b+40>>2]=f,p[b+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,b,n,i),i=i+1|0}while((0|i)<(0|_[b+48>>2]));break;default:break t}break;case 1:switch(0|_[b+60>>2]){case 2:if((0|_[b+48>>2])<=0)break t;i=0;do{h=(0|_[b+72>>2])+(0|g(0|_[b+68>>2],i))|0,m=0|_[b+76>>2],y=0|_[b+56>>2],u=m+(0|g(y,0|_[h>>2]))|0,A=a*+c[u+8>>3],f=l*+c[u+16>>3],p[b>>2]=o*+c[u>>3],p[b+4>>2]=A,p[b+8>>2]=f,p[b+12>>2]=0,u=m+(0|g(0|_[h+4>>2],y))|0,f=a*+c[u+8>>3],A=l*+c[u+16>>3],p[b+16>>2]=o*+c[u>>3],p[b+20>>2]=f,p[b+24>>2]=A,p[b+28>>2]=0,y=m+(0|g(0|_[h+8>>2],y))|0,A=a*+c[y+8>>3],f=l*+c[y+16>>3],p[b+32>>2]=o*+c[y>>3],p[b+36>>2]=A,p[b+40>>2]=f,p[b+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,b,n,i),i=i+1|0}while((0|i)<(0|_[b+48>>2]));break;case 3:if((0|_[b+48>>2])<=0)break t;i=0;do{y=(0|_[b+72>>2])+(0|g(0|_[b+68>>2],i))|0,m=0|_[b+76>>2],h=0|_[b+56>>2],u=m+(0|g(h,0|s[y>>1]))|0,A=a*+c[u+8>>3],f=l*+c[u+16>>3],p[b>>2]=o*+c[u>>3],p[b+4>>2]=A,p[b+8>>2]=f,p[b+12>>2]=0,u=m+(0|g(h,0|s[y+2>>1]))|0,f=a*+c[u+8>>3],A=l*+c[u+16>>3],p[b+16>>2]=o*+c[u>>3],p[b+20>>2]=f,p[b+24>>2]=A,p[b+28>>2]=0,y=m+(0|g(h,0|s[y+4>>1]))|0,A=a*+c[y+8>>3],f=l*+c[y+16>>3],p[b+32>>2]=o*+c[y>>3],p[b+36>>2]=A,p[b+40>>2]=f,p[b+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,b,n,i),i=i+1|0}while((0|i)<(0|_[b+48>>2]));break;case 5:if((0|_[b+48>>2])<=0)break t;i=0;do{y=(0|_[b+72>>2])+(0|g(0|_[b+68>>2],i))|0,m=0|_[b+76>>2],h=0|_[b+56>>2],u=m+(0|g(h,0|r[0|y]))|0,A=a*+c[u+8>>3],f=l*+c[u+16>>3],p[b>>2]=o*+c[u>>3],p[b+4>>2]=A,p[b+8>>2]=f,p[b+12>>2]=0,u=m+(0|g(h,0|r[y+1|0]))|0,f=a*+c[u+8>>3],A=l*+c[u+16>>3],p[b+16>>2]=o*+c[u>>3],p[b+20>>2]=f,p[b+24>>2]=A,p[b+28>>2]=0,y=m+(0|g(h,0|r[y+2|0]))|0,A=a*+c[y+8>>3],f=l*+c[y+16>>3],p[b+32>>2]=o*+c[y>>3],p[b+36>>2]=A,p[b+40>>2]=f,p[b+44>>2]=0,pd[127&_[8+(0|_[e>>2])>>2]](e,b,n,i),i=i+1|0}while((0|i)<(0|_[b+48>>2]));break;default:break t}}}while(0);ed[127&_[24+(0|_[t>>2])>>2]](t,n),n=n+1|0}while((0|n)!=(0|d));Q=b}},Kn,function(t,e,i,n){e|=0,i|=0,n|=0;var r=0,c=0,a=0,l=0,d=0;if(0|(r=0|_[108+(t|=0)>>2]))pd[127&_[28+(0|_[r>>2])>>2]](r,e,i,n);else if((r=0|o[t+56>>1])<<16>>16){d=1,a=1;do{c=0|_[t+68>>2],1&o[c+(a<<2)>>1]&&(l=0|_[t+60>>2],a=0|s[c+(a<<2)+2>>1],c=+p[e>>2]>+p[l+(a<<6)+32>>2]||+p[i>>2]<+p[l+(a<<6)+16>>2]?0:1,(+p[e+8>>2]>+p[l+(a<<6)+40>>2]||+p[i+8>>2]<+p[l+(a<<6)+24>>2])&&(c=0),+p[e+4>>2]>+p[l+(a<<6)+36>>2]||+p[i+4>>2]<+p[l+(a<<6)+20>>2]|1^c||(Ll[31&_[8+(0|_[n>>2])>>2]](n,l+(a<<6)|0),r=0|o[t+56>>1])),a=65535&(d=d+1<<16>>16)}while(((65535&r)<<1|1)>>>0>a>>>0)}},Kn,function(t,e,i,n){var o;t|=0,e|=0,i|=0,n|=0,o=Q,Q=Q+48|0,_[o+32>>2]=9936,_[o+32+4>>2]=n,_[o>>2]=_[e>>2],_[o+4>>2]=_[e+4>>2],_[o+8>>2]=_[e+8>>2],_[o+12>>2]=_[e+12>>2],_[o+16>>2]=_[i>>2],_[o+16+4>>2]=_[i+4>>2],_[o+16+8>>2]=_[i+8>>2],_[o+16+12>>2]=_[i+12>>2],ci(0|_[t+4>>2],o,o+32|0),ci(0|_[t+64>>2],o,o+32|0),Q=o},function(t,e,i,n){i|=0,n|=0,0|Lp(t|=0,0|_[8+(e|=0)>>2])&&Nn(e,i,n)},function(t,e,i,n){i|=0,n|=0,0|Lp(t|=0,0|_[8+(e|=0)>>2])?Nn(e,i,n):(t=0|_[t+8>>2],pd[127&_[28+(0|_[t>>2])>>2]](t,e,i,n))},function(t,e,i,o){t|=0,e|=0,i|=0,o|=0;var r=0,s=0;t:do{if(0|Lp(t,0|_[e+8>>2]))Nn(e,i,o);else if(s=0|_[t+12>>2],bo(t+16|0,e,i,o),(0|s)>1){r=t+24|0;do{if(bo(r,e,i,o),0|n[e+54|0])break t;r=r+8|0}while(r>>>0<(t+16+(s<<3)|0)>>>0)}}while(0)},ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra,ra],cd=[function(t,e,i,n,o){o=+o,v(34)},function(t,e,i,n,o){o=+o}],ad=[function(t,e,i,n,o,_,r,s,p,c,a,l){o=+o,_=+_,r=+r,s=+s,p=+p,a=+a,v(35)},function(t,e,i,n,o,r,s,c,a,l,d,b){t|=0,e|=0,n|=0,o=+o,r=+r,s=+s,c=+c,a=+a,l|=0,d=+d,b|=0;var A,f,u,m,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;for(m=Q,Q=Q+2560|0,Vo(m+2528|0,+p[(i|=0)>>2],+p[i+4>>2],+p[i+8>>2],o),Bo(m+2544|0,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[m+2528>>2],+p[m+2528+4>>2],+p[m+2528+8>>2]),Vo(m+2496|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2],o),Fo(m+2512|0,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[m+2496>>2],+p[m+2496+4>>2],+p[m+2496+8>>2]),go(m+2464|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2],+p[n>>2],+p[n+4>>2],+p[n+8>>2]),(y=r<=-1.5707963705062866?.01745329238474369*d-1.5707963705062866:r)>(h=s>=1.5707963705062866?1.5707963705062866-.01745329238474369*d:s)?(B=1,I=1,y=.01745329238474369*d-1.5707963705062866,h=1.5707963705062866-.01745329238474369*d):(B=1^!(s>=1.5707963705062866),I=1^!(r<=-1.5707963705062866)),u=((f=h-y)/(.01745329238474369*d)|0)<1?2:1+~~(f/(.01745329238474369*d))|0,c>a?(c=.01745329238474369*d-3.1415927410125732,h=3.1415927410125732,D=1):a-c>=6.2831854820251465?(h=a,D=1):(h=a,D=0),A=((r=h-c)/(.01745329238474369*d)|0)<1?2:1+~~(r/(.01745329238474369*d))|0,C=0,v=m+1184|0,S=m;!((0|C)>=(0|u));){for(h=+dl(s=y+f/+(u+-1|0)*+(0|C))*o,s=+bl(s)*o,w=!(0|C),k=(0|C)==(u+-1|0),g=0;!((0|g)>=(0|A));){d=+dl(a=c+r/+(A+-1|0)*+(0|g)),Is(m+2400|0,a=s*+bl(a),+p[n>>2],+p[n+4>>2],+p[n+8>>2]),Bo(m+2416|0,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[m+2400>>2],+p[m+2400+4>>2],+p[m+2400+8>>2]),Is(m+2384|0,s*d,+p[m+2464>>2],+p[m+2464+4>>2],+p[m+2464+8>>2]),Bo(m+2432|0,+p[m+2416>>2],+p[m+2416+4>>2],+p[m+2416+8>>2],+p[m+2384>>2],+p[m+2384+4>>2],+p[m+2384+8>>2]),Is(m+2368|0,h,+p[i>>2],+p[i+4>>2],+p[i+8>>2]),Bo(m+2448|0,+p[m+2432>>2],+p[m+2432+4>>2],+p[m+2432+8>>2],+p[m+2368>>2],+p[m+2368+4>>2],+p[m+2368+8>>2]),_[(R=S+(g<<4)|0)>>2]=_[m+2448>>2],_[R+4>>2]=_[m+2448+4>>2],_[R+8>>2]=_[m+2448+8>>2],_[R+12>>2]=_[m+2448+12>>2],w?B&&pd[127&_[8+(0|_[t>>2])>>2]](t,m+2512|0,R,l):pd[127&_[8+(0|_[t>>2])>>2]](t,v+(g<<4)|0,R,l),(j=!(0|g))?(_[m+2480>>2]=_[S>>2],_[m+2480+4>>2]=_[S+4>>2],_[m+2480+8>>2]=_[S+8>>2],_[m+2480+12>>2]=_[S+12>>2]):pd[127&_[8+(0|_[t>>2])>>2]](t,S+(g+-1<<4)|0,R,l),k&I&&pd[127&_[8+(0|_[t>>2])>>2]](t,m+2544|0,R,l);do{if(b){if(D){if((0|g)!=(A+-1|0))break;pd[127&_[8+(0|_[t>>2])>>2]](t,m+2480|0,S+(A+-1<<4)|0,l);break}if(!((w|k)&(j|(0|g)==(A+-1|0))))break;pd[127&_[8+(0|_[t>>2])>>2]](t,e,R,l);break}}while(0);g=g+1|0}j=S,C=C+1|0,S=v,v=j}Q=m}],ld=[function(t,e,i,n,o,_,r,s,p,c,a){o=+o,_=+_,r=+r,s=+s,a=+a,v(36)},function(t,e,i,n,o,r,s,c,a,l,d){t|=0,e|=0,n|=0,o=+o,r=+r,s=+s,c=+c,a|=0,l|=0,d=+d;var b,A,f,u,m=0,h=0;for(u=Q,Q=Q+208|0,go(u+192|0,+p[(i|=0)>>2],+p[i+4>>2],+p[i+8>>2],+p[n>>2],+p[n+4>>2],+p[n+8>>2]),f=(c-s)/(.01745329238474369*d)|0?~~((c-s)/(.01745329238474369*d)):1,Is(u+128|0,o,+p[n>>2],+p[n+4>>2],+p[n+8>>2]),d=+bl(s),Vo(u+144|0,+p[u+128>>2],+p[u+128+4>>2],+p[u+128+8>>2],d),Bo(u+160|0,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[u+144>>2],+p[u+144+4>>2],+p[u+144+8>>2]),Is(u+96|0,r,d=+p[u+192>>2],b=+p[u+192+4>>2],A=+p[u+192+8>>2]),m=+dl(s),Vo(u+112|0,+p[u+96>>2],+p[u+96+4>>2],+p[u+96+8>>2],m),Bo(u+176|0,+p[u+160>>2],+p[u+160+4>>2],+p[u+160+8>>2],+p[u+112>>2],+p[u+112+4>>2],+p[u+112+8>>2]),l&&pd[127&_[8+(0|_[t>>2])>>2]](t,e,u+176|0,a),i=1;!((0|i)>(0|f));)m=(c-s)*+(0|i)/+(0|f)+s,Is(u+32|0,o,+p[n>>2],+p[n+4>>2],+p[n+8>>2]),h=+bl(m),Vo(u+48|0,+p[u+32>>2],+p[u+32+4>>2],+p[u+32+8>>2],h),Bo(u+64|0,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[u+48>>2],+p[u+48+4>>2],+p[u+48+8>>2]),Is(u,r,d,b,A),m=+dl(m),Vo(u+16|0,+p[u>>2],+p[u+4>>2],+p[u+8>>2],m),Bo(u+80|0,+p[u+64>>2],+p[u+64+4>>2],+p[u+64+8>>2],+p[u+16>>2],+p[u+16+4>>2],+p[u+16+8>>2]),pd[127&_[8+(0|_[t>>2])>>2]](t,u+176|0,u+80|0,a),_[u+176>>2]=_[u+80>>2],_[u+176+4>>2]=_[u+80+4>>2],_[u+176+8>>2]=_[u+80+8>>2],_[u+176+12>>2]=_[u+80+12>>2],i=i+1|0;l?(pd[127&_[8+(0|_[t>>2])>>2]](t,e,u+176|0,a),Q=u):Q=u}],dd=[dc,function(t,e,i,n,o){e|=0,i|=0,n|=0,pd[127&_[8+(0|_[(t|=0)>>2])>>2]](t,e,i,n)},function(t,e,i,n,o){var r,s,c;e|=0,i|=0,n|=0,o|=0,r=Q,Q=Q+768|0,c=0|_[8+(0|_[(t|=0)>>2])>>2],R_(r+736|0,s=0|Cl(e),s+4|0,s+8|0),Zr(r+752|0,n,+p[r+736>>2],+p[r+736+4>>2],+p[r+736+8>>2]),R_(r+704|0,e=0|Cl(i),s+4|0,s+8|0),Zr(r+720|0,n,+p[r+704>>2],+p[r+704+4>>2],+p[r+704+8>>2]),pd[127&c](t,r+752|0,r+720|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+672|0,e,s+4|0,s+8|0),Zr(r+688|0,n,+p[r+672>>2],+p[r+672+4>>2],+p[r+672+8>>2]),R_(r+640|0,e,e+4|0,s+8|0),Zr(r+656|0,n,+p[r+640>>2],+p[r+640+4>>2],+p[r+640+8>>2]),pd[127&i](t,r+688|0,r+656|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+608|0,e,e+4|0,s+8|0),Zr(r+624|0,n,+p[r+608>>2],+p[r+608+4>>2],+p[r+608+8>>2]),R_(r+576|0,s,e+4|0,s+8|0),Zr(r+592|0,n,+p[r+576>>2],+p[r+576+4>>2],+p[r+576+8>>2]),pd[127&i](t,r+624|0,r+592|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+544|0,s,e+4|0,s+8|0),Zr(r+560|0,n,+p[r+544>>2],+p[r+544+4>>2],+p[r+544+8>>2]),R_(r+512|0,s,s+4|0,s+8|0),Zr(r+528|0,n,+p[r+512>>2],+p[r+512+4>>2],+p[r+512+8>>2]),pd[127&i](t,r+560|0,r+528|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+480|0,s,s+4|0,s+8|0),Zr(r+496|0,n,+p[r+480>>2],+p[r+480+4>>2],+p[r+480+8>>2]),R_(r+448|0,s,s+4|0,e+8|0),Zr(r+464|0,n,+p[r+448>>2],+p[r+448+4>>2],+p[r+448+8>>2]),pd[127&i](t,r+496|0,r+464|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+416|0,e,s+4|0,s+8|0),Zr(r+432|0,n,+p[r+416>>2],+p[r+416+4>>2],+p[r+416+8>>2]),R_(r+384|0,e,s+4|0,e+8|0),Zr(r+400|0,n,+p[r+384>>2],+p[r+384+4>>2],+p[r+384+8>>2]),pd[127&i](t,r+432|0,r+400|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+352|0,e,e+4|0,s+8|0),Zr(r+368|0,n,+p[r+352>>2],+p[r+352+4>>2],+p[r+352+8>>2]),R_(r+320|0,e,e+4|0,e+8|0),Zr(r+336|0,n,+p[r+320>>2],+p[r+320+4>>2],+p[r+320+8>>2]),pd[127&i](t,r+368|0,r+336|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+288|0,s,e+4|0,s+8|0),Zr(r+304|0,n,+p[r+288>>2],+p[r+288+4>>2],+p[r+288+8>>2]),R_(r+256|0,s,e+4|0,e+8|0),Zr(r+272|0,n,+p[r+256>>2],+p[r+256+4>>2],+p[r+256+8>>2]),pd[127&i](t,r+304|0,r+272|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+224|0,s,s+4|0,e+8|0),Zr(r+240|0,n,+p[r+224>>2],+p[r+224+4>>2],+p[r+224+8>>2]),R_(r+192|0,e,s+4|0,e+8|0),Zr(r+208|0,n,+p[r+192>>2],+p[r+192+4>>2],+p[r+192+8>>2]),pd[127&i](t,r+240|0,r+208|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+160|0,e,s+4|0,e+8|0),Zr(r+176|0,n,+p[r+160>>2],+p[r+160+4>>2],+p[r+160+8>>2]),R_(r+128|0,e,e+4|0,e+8|0),Zr(r+144|0,n,+p[r+128>>2],+p[r+128+4>>2],+p[r+128+8>>2]),pd[127&i](t,r+176|0,r+144|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+96|0,e,e+4|0,e+8|0),Zr(r+112|0,n,+p[r+96>>2],+p[r+96+4>>2],+p[r+96+8>>2]),R_(r+64|0,s,e+4|0,e+8|0),Zr(r+80|0,n,+p[r+64>>2],+p[r+64+4>>2],+p[r+64+8>>2]),pd[127&i](t,r+112|0,r+80|0,o),i=0|_[8+(0|_[t>>2])>>2],R_(r+32|0,s,e+4|0,e+8|0),Zr(r+48|0,n,+p[r+32>>2],+p[r+32+4>>2],+p[r+32+8>>2]),R_(r,s,s+4|0,e+8|0),Zr(r+16|0,n,+p[r>>2],+p[r+4>>2],+p[r+8>>2]),pd[127&i](t,r+48|0,r+16|0,o),Q=r},function(t,e,i,n,o){t|=0,e|=0,n|=0,o|=0;var r,s,c,a=0,l=0,d=0,b=0,A=0,f=0,u=0;r=Q,Q=Q+48|0,b=+p[(i|=0)>>2],A=+p[i+4>>2],d=+p[i+8>>2],f=b*+p[e+4>>2]+A*+p[e+20>>2]+d*+p[e+36>>2],u=b*+p[e+8>>2]+A*+p[e+24>>2]+d*+p[e+40>>2],p[r+32>>2]=+p[e>>2]*b+ +p[e+16>>2]*A+ +p[e+32>>2]*d,p[r+32+4>>2]=f,p[r+32+8>>2]=u,p[r+32+12>>2]=0,_d[127&_[64+(0|_[t>>2])>>2]](r+16|0,t,r+32|0),u=+p[r+16>>2],f=+p[r+16+4>>2],d=+p[r+16+8>>2],A=u*+p[e>>2]+f*+p[e+4>>2]+d*+p[e+8>>2]+ +p[e+48>>2],b=u*+p[e+16>>2]+f*+p[e+20>>2]+d*+p[e+24>>2]+ +p[e+52>>2],d=u*+p[e+32>>2]+f*+p[e+36>>2]+d*+p[e+40>>2]+ +p[e+56>>2],c=0|_[64+(0|_[t>>2])>>2],f=-+p[r+32+4>>2],u=-+p[r+32+8>>2],p[r>>2]=-+p[r+32>>2],p[r+4>>2]=f,p[r+8>>2]=u,p[r+12>>2]=0,_d[127&c](r+16|0,t,r),u=+p[r+16>>2],f=+p[r+16+4>>2],a=+p[r+16+8>>2],s=u*+p[e>>2]+f*+p[e+4>>2]+a*+p[e+8>>2]+ +p[e+48>>2],l=u*+p[e+16>>2]+f*+p[e+20>>2]+a*+p[e+24>>2]+ +p[e+52>>2],a=u*+p[e+32>>2]+f*+p[e+36>>2]+a*+p[e+40>>2]+ +p[e+56>>2],p[n>>2]=A*+p[i>>2]+b*+p[i+4>>2]+d*+p[i+8>>2],a=s*+p[i>>2]+l*+p[i+4>>2]+a*+p[i+8>>2],p[o>>2]=a,(l=+p[n>>2])>a?(p[n>>2]=a,p[o>>2]=l,Q=r):Q=r},function(t,e,i,o,r){var s;e|=0,i|=0,o|=0,r|=0,o=!(0|n[16+(t|=0)|0]),s=0|_[(o?e:i)+8>>2],o=0|_[(i=o?i:e)+8>>2],r=0|_[s+268>>2];t:do{if((0|r)>0){for(e=0|_[s+276>>2],t=0;(0|_[e+(t<<2)>>2])!=(0|o);)if((0|(t=t+1|0))>=(0|r))break t;if((0|t)!=(0|r))return}}while(0);e=0|_[s+284>>2],_d[127&_[36+(0|_[e>>2])>>2]](e,s,i)},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,b,A,f,u,m,h,y,g,C,v,S,w,k=0,R=0,j=0,D=0,I=0;s=Q,Q=Q+32|0,e=0|n[8+(t|=0)|0]?e:i,((0|_[4+(0|_[e+4>>2])>>2])-21|0)>>>0>=9||(i=0|_[192+(0|_[e+8>>2])>>2],I=+Il[15&_[48+(0|_[i>>2])>>2]](i),_[t+64>>2]=o,p[t+68>>2]=I+.05999999865889549,_[t+56>>2]=r,r=0|_[t+16>>2],_d[127&_[28+(0|_[r>>2])>>2]](r,s+16|0,s),I=+p[s>>2],m=+p[s+16>>2],b=+p[s+4>>2],l=+p[s+16+4>>2],y=+p[s+8>>2],h=+p[s+16+8>>2],r=0|_[e+12>>2],S=+p[r>>2],v=+p[r+16>>2],D=+p[r+32>>2],C=+p[r+4>>2],g=+p[r+20>>2],j=+p[r+36>>2],u=+p[r+8>>2],f=+p[r+24>>2],A=+p[r+40>>2],a=.5*(I+m)*S+.5*(b+l)*v+.5*(y+h)*D+(S*(w=-+p[r+48>>2])+v*(k=-+p[r+52>>2])+D*(R=-+p[r+56>>2])),c=.5*(I+m)*C+.5*(b+l)*g+.5*(y+h)*j+(C*w+g*k+j*R),R=.5*(I+m)*u+.5*(b+l)*f+.5*(y+h)*A+(u*w+f*k+A*R),k=+p[t+68>>2],D=+d(+(D+(0*S+0*v)))*(.5*(y-h)+k)+(+d(+(S+0*v+0*D))*(.5*(I-m)+k)+ +d(+(0*S+v+0*D))*(.5*(b-l)+k)),j=+d(+(j+(0*C+0*g)))*(.5*(y-h)+k)+(+d(+(C+0*g+0*j))*(.5*(I-m)+k)+ +d(+(0*C+g+0*j))*(.5*(b-l)+k)),k=+d(+(A+(0*u+0*f)))*(.5*(y-h)+k)+(+d(+(u+0*f+0*A))*(.5*(I-m)+k)+ +d(+(0*u+f+0*A))*(.5*(b-l)+k)),p[t+24>>2]=a-D,p[t+28>>2]=c-j,p[t+32>>2]=R-k,p[t+36>>2]=0,p[t+40>>2]=a+D,p[t+44>>2]=c+j,p[t+48>>2]=R+k,p[t+52>>2]=0,pd[127&_[64+(0|_[i>>2])>>2]](i,t+12|0,t+24|0,t+40|0)),Q=s},function(t,e,i,n,o){i|=0,n|=0,o|=0,o=0|_[8+(e|=0)>>2],n=0|_[o+284>>2],_d[127&_[40+(0|_[n>>2])>>2]](n,o,0|_[i+8>>2])},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a=0,l=0,A=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0,At=0,ft=0;if(c=Q,Q=Q+64|0,0|_[12+(t|=0)>>2]){if(a=(G=!!(0|n[t+16|0]))?i:e,G=G?e:i,o=0|_[a+4>>2],s=0|_[G+4>>2],a=0|_[a+12>>2],tt=+p[a>>2],$=+p[a+16>>2],q=+p[a+32>>2],K=+p[a+4>>2],z=+p[a+20>>2],h=+p[a+36>>2],l=+p[a+8>>2],C=+p[a+24>>2],D=+p[a+40>>2],Z=+p[a+48>>2],H=+p[a+52>>2],L=+p[a+56>>2],et=0|_[G+12>>2],X=+p[et>>2],J=+p[et+16>>2],y=+p[et+32>>2],Y=+p[et+4>>2],U=+p[et+20>>2],g=+p[et+36>>2],j=+p[et+8>>2],k=+p[et+24>>2],S=+p[et+40>>2],N=-+p[et+48>>2],O=-+p[et+52>>2],T=-+p[et+56>>2],P=+p[a>>2],M=+p[a+16>>2],x=+p[a+32>>2],W=+p[a+4>>2],B=+p[a+20>>2],I=+p[a+36>>2],R=+p[a+8>>2],w=+p[a+24>>2],v=+p[a+40>>2],a=0|_[64+(0|_[o>>2])>>2],m=-+p[s+48>>2],A=-+p[s+52>>2],F=-+p[s+56>>2],p[c+48>>2]=(tt*X+$*J+q*y)*m+(tt*Y+$*U+q*g)*A+(tt*j+$*k+q*S)*F,p[c+48+4>>2]=(K*X+z*J+h*y)*m+(K*Y+z*U+h*g)*A+(K*j+z*k+h*S)*F,p[c+48+8>>2]=(l*X+C*J+D*y)*m+(l*Y+C*U+D*g)*A+(l*j+C*k+D*S)*F,p[c+48+12>>2]=0,_d[127&a](c,o,c+48|0),F=+p[c>>2],D=+p[c+4>>2],C=+p[c+8>>2],l=+p[s+48>>2],A=+p[s+52>>2],y=Z*X+H*J+L*y+(X*N+J*O+y*T)+((X*P+J*M+y*x)*F+(X*W+J*B+y*I)*D+(X*R+J*w+y*v)*C)-l*(h=(m=+p[s+56>>2])*(Z*j+H*k+L*S+(j*N+k*O+S*T)+((j*P+k*M+S*x)*F+(j*W+k*B+S*I)*D+(j*R+k*w+S*v)*C))+(l*(Z*X+H*J+L*y+(X*N+J*O+y*T)+((X*P+J*M+y*x)*F+(X*W+J*B+y*I)*D+(X*R+J*w+y*v)*C))+A*(Z*Y+H*U+L*g+(Y*N+U*O+g*T)+((Y*P+U*M+g*x)*F+(Y*W+U*B+g*I)*D+(Y*R+U*w+g*v)*C)))-+p[s+64>>2]),g=Z*Y+H*U+L*g+(Y*N+U*O+g*T)+((Y*P+U*M+g*x)*F+(Y*W+U*B+g*I)*D+(Y*R+U*w+g*v)*C)-A*h,C=Z*j+H*k+L*S+(j*N+k*O+S*T)+((j*P+k*M+S*x)*F+(j*W+k*B+S*I)*D+(j*R+k*w+S*v)*C)-m*h,G=0|_[G+12>>2],v=+p[G>>2],S=+p[G+4>>2],w=+p[G+8>>2],k=+p[G+16>>2],R=+p[G+20>>2],j=+p[G+24>>2],D=+p[G+32>>2],I=+p[G+36>>2],B=+p[G+40>>2],W=+p[G+48>>2],F=+p[G+52>>2],x=+p[G+56>>2],G=0|_[t+12>>2],a=h<+p[G+752>>2],_[r+4>>2]=G,a&&(p[c+48>>2]=v*l+S*A+w*m,p[c+48+4>>2]=l*k+A*R+m*j,p[c+48+8>>2]=l*D+A*I+m*B,p[c+48+12>>2]=0,p[c+32>>2]=w*C+(v*y+S*g)+W,p[c+32+4>>2]=y*k+g*R+C*j+F,p[c+32+8>>2]=y*D+g*I+C*B+x,p[c+32+12>>2]=0,rd[15&_[16+(0|_[r>>2])>>2]](r,c+48|0,c+32|0,h)),(0|_[o+4>>2])<7&&(0|_[748+(0|_[r+4>>2])>>2])<(0|_[t+24>>2])&&(l=+p[s+56>>2],+d(+l)>.7071067690849304?(m=+p[s+52>>2],A=0,m*=tt=1/+b(+(l*l+m*m)),l=-l*tt):(tt=+p[s+48>>2],A=-(A=+p[s+52>>2])*(l=1/+b(+(tt*tt+A*A))),m=0,l*=tt),T=.019999999552965164/+Il[15&_[16+(0|_[o>>2])>>2]](o),M=A*(O=+u(+(T=.5*(T>.39269909262657166?.39269909262657166:T)))/+b(+(A*A+l*l+m*m))),P=l*O,O*=m,T=+f(+T),(0|(o=0|_[t+20>>2]))>0)){a=0;do{k=+p[s+48>>2],tt=+p[s+52>>2],ct=(W=+p[s+56>>2])*($=+u(+(I=6.2831854820251465/+(0|o)*+(0|a)*.5))/+b(+(k*k+tt*tt+W*W)))*(j=M*(-W*$)+(P*(I=+f(+I))+T*(-tt*$))-O*(-k*$))+(k*$*(x=T*I-M*(-k*$)-P*(-tt*$)-O*(-W*$))+I*(B=O*(-tt*$)+(M*I+T*(-k*$))-P*(-W*$)))-tt*$*(ot=P*(-k*$)+(O*I+T*(-W*$))-M*(-tt*$)),pt=k*$*ot+(I*j+tt*$*x)-W*$*B,dt=tt*$*B+(W*$*x+I*ot)-k*$*j,ot=I*x-k*$*B-tt*$*j-W*$*ot,it=(G=!!(0|n[t+16|0]))?i:e,G=G?e:i,o=0|_[it+4>>2],et=0|_[G+4>>2],it=0|_[it+12>>2],$=+p[it>>2],W=+p[it+4>>2],j=+p[it+8>>2],tt=+p[it+16>>2],B=+p[it+20>>2],k=+p[it+24>>2],x=+p[it+32>>2],I=+p[it+36>>2],S=+p[it+40>>2],Y=+p[it+48>>2],J=+p[it+52>>2],X=+p[it+56>>2],it=0|_[G+12>>2],L=+p[it>>2],H=+p[it+16>>2],y=+p[it+32>>2],Z=+p[it+4>>2],U=+p[it+20>>2],g=+p[it+36>>2],R=+p[it+8>>2],w=+p[it+24>>2],v=+p[it+40>>2],z=-+p[it+48>>2],K=-+p[it+52>>2],q=-+p[it+56>>2],At=j*(ct*(nt=dt*(2/(ct*ct+pt*pt+dt*dt+ot*ot)))-ot*(m=pt*(2/(ct*ct+pt*pt+dt*dt+ot*ot))))+(W*(ct*m+ot*nt)+$*(1-(pt*m+dt*nt))),lt=j*(pt*nt+ot*(st=ct*(2/(ct*ct+pt*pt+dt*dt+ot*ot))))+($*(ct*m-ot*nt)+W*(1-(ct*st+dt*nt))),l=$*(ct*nt+ot*m)+W*(pt*nt-ot*st)+j*(1-(ct*st+pt*m)),bt=k*(ct*nt-ot*m)+(B*(ct*m+ot*nt)+tt*(1-(pt*m+dt*nt))),at=k*(pt*nt+ot*st)+(tt*(ct*m-ot*nt)+B*(1-(ct*st+dt*nt))),D=tt*(ct*nt+ot*m)+B*(pt*nt-ot*st)+k*(1-(ct*st+pt*m)),ft=S*(ct*nt-ot*m)+(I*(ct*m+ot*nt)+x*(1-(pt*m+dt*nt))),dt=S*(pt*nt+ot*st)+(x*(ct*m-ot*nt)+I*(1-(ct*st+dt*nt))),m=x*(ct*nt+ot*m)+I*(pt*nt-ot*st)+S*(1-(ct*st+pt*m)),pt=+p[it>>2],st=+p[it+16>>2],ct=+p[it+32>>2],ot=+p[it+4>>2],nt=+p[it+20>>2],_t=+p[it+36>>2],A=+p[it+8>>2],C=+p[it+24>>2],h=+p[it+40>>2],it=0|_[64+(0|_[o>>2])>>2],rt=-+p[et+48>>2],N=-+p[et+52>>2],F=-+p[et+56>>2],p[c+32>>2]=(ct*ft+(pt*At+st*bt))*rt+(_t*ft+(ot*At+nt*bt))*N+(h*ft+(A*At+C*bt))*F,p[c+32+4>>2]=(ct*dt+(pt*lt+st*at))*rt+(_t*dt+(ot*lt+nt*at))*N+(h*dt+(A*lt+C*at))*F,p[c+32+8>>2]=(ct*m+(pt*l+st*D))*rt+(_t*m+(ot*l+nt*D))*N+(h*m+(A*l+C*D))*F,p[c+32+12>>2]=0,_d[127&it](c+48|0,o,c+32|0),F=+p[c+48>>2],D=+p[c+48+4>>2],C=+p[c+48+8>>2],l=+p[et+48>>2],A=+p[et+52>>2],y=Y*L+J*H+X*y+(L*z+H*K+y*q)+(($*L+tt*H+x*y)*F+(W*L+B*H+I*y)*D+(j*L+k*H+S*y)*C)-l*(h=(m=+p[et+56>>2])*(Y*R+J*w+X*v+(R*z+w*K+v*q)+(($*R+tt*w+x*v)*F+(W*R+B*w+I*v)*D+(j*R+k*w+S*v)*C))+(l*(Y*L+J*H+X*y+(L*z+H*K+y*q)+(($*L+tt*H+x*y)*F+(W*L+B*H+I*y)*D+(j*L+k*H+S*y)*C))+A*(Y*Z+J*U+X*g+(Z*z+U*K+g*q)+(($*Z+tt*U+x*g)*F+(W*Z+B*U+I*g)*D+(j*Z+k*U+S*g)*C)))-+p[et+64>>2]),g=Y*Z+J*U+X*g+(Z*z+U*K+g*q)+(($*Z+tt*U+x*g)*F+(W*Z+B*U+I*g)*D+(j*Z+k*U+S*g)*C)-A*h,C=Y*R+J*w+X*v+(R*z+w*K+v*q)+(($*R+tt*w+x*v)*F+(W*R+B*w+I*v)*D+(j*R+k*w+S*v)*C)-m*h,G=0|_[G+12>>2],v=+p[G>>2],S=+p[G+4>>2],w=+p[G+8>>2],k=+p[G+16>>2],R=+p[G+20>>2],j=+p[G+24>>2],D=+p[G+32>>2],I=+p[G+36>>2],B=+p[G+40>>2],W=+p[G+48>>2],F=+p[G+52>>2],x=+p[G+56>>2],G=0|_[t+12>>2],et=h<+p[G+752>>2],_[r+4>>2]=G,et&&(p[c+32>>2]=v*l+S*A+w*m,p[c+32+4>>2]=l*k+A*R+m*j,p[c+32+8>>2]=l*D+A*I+m*B,p[c+32+12>>2]=0,p[c+16>>2]=w*C+(v*y+S*g)+W,p[c+16+4>>2]=y*k+g*R+C*j+F,p[c+16+8>>2]=y*D+g*I+C*B+x,p[c+16+12>>2]=0,rd[15&_[16+(0|_[r>>2])>>2]](r,c+32|0,c+16|0,h)),a=a+1|0,o=0|_[t+20>>2]}while((0|a)<(0|o))}do{if(0|n[t+8|0]&&0|_[748+(0|_[t+12>>2])>>2]&&(V=0|_[r+4>>2],0|_[V+748>>2])){if((0|(o=0|_[V+740>>2]))==(0|(a=0|_[8+(0|_[r+8>>2])>>2]))){E(V,o+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0);break}E(V,4+(0|_[8+(0|_[r+12>>2])>>2])|0,a+4|0);break}}while(0);Q=c}else Q=c},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D,I,B,W,F,x,O,T=0;if(c=Q,Q=Q+64|0,s=(T=!!(0|n[8+(t|=0)|0]))?i:e,i=0|_[(e=T?e:i)+4>>2],((0|_[i+4>>2])-21|0)>>>0>=9)Q=c;else if((0|_[4+(0|_[s+4>>2])>>2])>=20)Q=c;else{a=+Il[15&_[48+(0|_[i>>2])>>2]](i),_[r+4>>2]=_[t+76>>2],_[t+16>>2]=s,_[t+20>>2]=e,_[t+64>>2]=o,p[t+68>>2]=a,_[t+56>>2]=r,T=0|_[e+12>>2],k=+p[T>>2],w=+p[T+16>>2],S=+p[T+32>>2],v=+p[T+4>>2],C=+p[T+20>>2],g=+p[T+36>>2],u=+p[T+8>>2],A=+p[T+24>>2],d=+p[T+40>>2],y=-+p[T+48>>2],h=-+p[T+52>>2],m=-+p[T+56>>2],T=0|_[s+12>>2],O=+p[T>>2],x=+p[T+16>>2],F=+p[T+32>>2],W=+p[T+4>>2],B=+p[T+20>>2],I=+p[T+36>>2],D=+p[T+8>>2],j=+p[T+24>>2],R=+p[T+40>>2],f=+p[T+48>>2],b=+p[T+52>>2],l=+p[T+56>>2],p[c>>2]=k*O+w*x+S*F,p[c+4>>2]=k*W+w*B+S*I,p[c+8>>2]=k*D+w*j+S*R,p[c+12>>2]=0,p[c+16>>2]=v*O+C*x+g*F,p[c+20>>2]=v*W+C*B+g*I,p[c+24>>2]=v*D+C*j+g*R,p[c+28>>2]=0,p[c+32>>2]=u*O+A*x+d*F,p[c+36>>2]=u*W+A*B+d*I,p[c+40>>2]=u*D+A*j+d*R,p[c+44>>2]=0,p[c+48>>2]=k*y+w*h+S*m+(k*f+w*b+S*l),p[c+52>>2]=v*y+C*h+g*m+(v*f+C*b+g*l),p[c+56>>2]=u*y+A*h+d*m+(u*f+A*b+d*l),p[c+60>>2]=0,T=0|_[s+4>>2],pd[127&_[8+(0|_[T>>2])>>2]](T,c,t+24|0,t+40|0),p[t+40>>2]=+p[t+40>>2]+a,p[t+44>>2]=+p[t+44>>2]+a,p[t+48>>2]=+p[t+48>>2]+a,p[t+24>>2]=+p[t+24>>2]-a,p[t+28>>2]=+p[t+28>>2]-a,p[t+32>>2]=+p[t+32>>2]-a,T=0|_[t+76>>2],e=0|_[e+8>>2],_[T+740>>2]=_[s+8>>2],_[T+744>>2]=e,pd[127&_[64+(0|_[i>>2])>>2]](i,t+12|0,t+24|0,t+40|0),e=0|_[r+4>>2];do{if(0|_[e+748>>2]){if((0|(i=0|_[e+740>>2]))==(0|(o=0|_[8+(0|_[r+8>>2])>>2]))){E(e,i+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0);break}E(e,4+(0|_[8+(0|_[r+12>>2])>>2])|0,o+4|0);break}}while(0);_[t+16>>2]=0,_[t+20>>2]=0,Q=c}},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l=0,d=0;if(s=Q,Q=Q+144|0,l=0|_[12+(t|=0)>>2]){a=0|_[e+4>>2],c=0|_[i+4>>2],_[r+4>>2]=l,p[s+12+128>>2]=0xde0b6b000000000,l=0|_[e+12>>2],_[s+12>>2]=_[l>>2],_[s+12+4>>2]=_[l+4>>2],_[s+12+8>>2]=_[l+8>>2],_[s+12+12>>2]=_[l+12>>2],_[s+12+16>>2]=_[l+16>>2],_[s+12+16+4>>2]=_[l+16+4>>2],_[s+12+16+8>>2]=_[l+16+8>>2],_[s+12+16+12>>2]=_[l+16+12>>2],_[s+12+32>>2]=_[l+32>>2],_[s+12+32+4>>2]=_[l+32+4>>2],_[s+12+32+8>>2]=_[l+32+8>>2],_[s+12+32+12>>2]=_[l+32+12>>2],_[s+12+48>>2]=_[l+48>>2],_[s+12+48+4>>2]=_[l+48+4>>2],_[s+12+48+8>>2]=_[l+48+8>>2],_[s+12+48+12>>2]=_[l+48+12>>2],l=0|_[i+12>>2],_[s+12+64>>2]=_[l>>2],_[s+12+64+4>>2]=_[l+4>>2],_[s+12+64+8>>2]=_[l+8>>2],_[s+12+64+12>>2]=_[l+12>>2],_[s+12+80>>2]=_[l+16>>2],_[s+12+80+4>>2]=_[l+16+4>>2],_[s+12+80+8>>2]=_[l+16+8>>2],_[s+12+80+12>>2]=_[l+16+12>>2],_[s+12+96>>2]=_[l+32>>2],_[s+12+96+4>>2]=_[l+32+4>>2],_[s+12+96+8>>2]=_[l+32+8>>2],_[s+12+96+12>>2]=_[l+32+12>>2],_[s+12+112>>2]=_[l+48>>2],_[s+12+112+4>>2]=_[l+48+4>>2],_[s+12+112+8>>2]=_[l+48+8>>2],_[s+12+112+12>>2]=_[l+48+12>>2],_[s>>2]=10280,_[s+4>>2]=a,_[s+8>>2]=c,li(s,s+12|0,r,0|_[o+20>>2],0);do{if(0|n[t+8|0]&&(d=0|_[r+4>>2],0|_[d+748>>2])){if((0|(t=0|_[d+740>>2]))==(0|(e=0|_[8+(0|_[r+8>>2])>>2]))){E(d,t+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0);break}E(d,4+(0|_[8+(0|_[r+12>>2])>>2])|0,e+4|0);break}}while(0);Q=s}else Q=s},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l,d=0,b=0;if(s=Q,Q=Q+160|0,d=0|_[12+(t|=0)>>2]){a=(c=!!(0|n[t+16|0]))?i:e,i=c?e:i,l=0|_[a+4>>2],e=0|_[i+4>>2],_[r+4>>2]=d,d=0|_[d+752>>2],_[s+136>>2]=10300,_[s+136+4>>2]=l,_[s+136+8>>2]=e,_[s+136+12>>2]=d,p[s+128>>2]=0xde0b6b000000000,d=0|_[a+12>>2],_[s>>2]=_[d>>2],_[s+4>>2]=_[d+4>>2],_[s+8>>2]=_[d+8>>2],_[s+12>>2]=_[d+12>>2],_[s+16>>2]=_[d+16>>2],_[s+16+4>>2]=_[d+16+4>>2],_[s+16+8>>2]=_[d+16+8>>2],_[s+16+12>>2]=_[d+16+12>>2],_[s+32>>2]=_[d+32>>2],_[s+32+4>>2]=_[d+32+4>>2],_[s+32+8>>2]=_[d+32+8>>2],_[s+32+12>>2]=_[d+32+12>>2],_[s+48>>2]=_[d+48>>2],_[s+48+4>>2]=_[d+48+4>>2],_[s+48+8>>2]=_[d+48+8>>2],_[s+48+12>>2]=_[d+48+12>>2],d=0|_[i+12>>2],_[s+64>>2]=_[d>>2],_[s+64+4>>2]=_[d+4>>2],_[s+64+8>>2]=_[d+8>>2],_[s+64+12>>2]=_[d+12>>2],_[s+80>>2]=_[d+16>>2],_[s+80+4>>2]=_[d+16+4>>2],_[s+80+8>>2]=_[d+16+8>>2],_[s+80+12>>2]=_[d+16+12>>2],_[s+96>>2]=_[d+32>>2],_[s+96+4>>2]=_[d+32+4>>2],_[s+96+8>>2]=_[d+32+8>>2],_[s+96+12>>2]=_[d+32+12>>2],_[s+112>>2]=_[d+48>>2],_[s+112+4>>2]=_[d+48+4>>2],_[s+112+8>>2]=_[d+48+8>>2],_[s+112+12>>2]=_[d+48+12>>2],Be(s+136|0,s,r,0|_[o+20>>2],c);do{if(0|n[t+8|0]&&(b=0|_[r+4>>2],0|_[b+748>>2])){if((0|(t=0|_[b+740>>2]))==(0|(e=0|_[8+(0|_[r+8>>2])>>2]))){E(b,t+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0);break}E(b,4+(0|_[8+(0|_[r+12>>2])>>2])|0,e+4|0);break}}while(0);Q=s}else Q=s},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l=0,A=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0,At=0,ft=0,ut=0,mt=0,ht=0,yt=0,gt=0,Ct=0,vt=0;if(a=Q,Q=Q+688|0,(l=0|_[20+(t|=0)>>2])||(l=0|_[t+4>>2],l=0|El[63&_[12+(0|_[l>>2])>>2]](l,0|_[e+8>>2],0|_[i+8>>2]),_[t+20>>2]=l,n[t+16|0]=1),_[r+4>>2]=l,s=0|_[e+4>>2],c=0|_[i+4>>2],10==(0|(A=0|_[s+4>>2]))&10==(0|(m=0|_[c+4>>2]))){if(Y=+p[l+752>>2],gt=0|_[s+52>>2],k=+p[s+28+(gt<<2)>>2],U=+p[s+28+((gt+2|0)%3<<2)>>2],vt=0|_[c+52>>2],C=+p[c+28+(vt<<2)>>2],Z=+p[c+28+((vt+2|0)%3<<2)>>2],t=0|_[e+12>>2],e=0|_[i+12>>2],F=+p[t+(gt<<2)>>2],O=+p[t+16+(gt<<2)>>2],x=+p[t+32+(gt<<2)>>2],g=+p[e+(vt<<2)>>2],v=+p[e+16+(vt<<2)>>2],w=+p[e+32+(vt<<2)>>2],M=+p[e+48>>2],N=+p[e+52>>2],H=+p[e+56>>2],D=M-+p[t+48>>2],B=N-+p[t+52>>2],W=H-+p[t+56>>2],0!=(h=1-(F*g+O*v+x*w)*(F*g+O*v+x*w))?(h=(F*D+O*B+x*W-(F*g+O*v+x*w)*(g*D+v*B+w*W))/h)<-k?h=-k:h>k&&(h=k):h=0,(y=(F*g+O*v+x*w)*h-(g*D+v*B+w*W))<-C?(h=(F*g+O*v+x*w)*-C+(F*D+O*B+x*W))<-k?(y=-C,h=-k):h>k?(y=-C,h=k):y=-C:y>C&&((h=C*(F*g+O*v+x*w)+(F*D+O*B+x*W))<-k?(y=C,h=-k):h>k?(y=C,h=k):y=C),k=v*y,w*=y,y=(j=g*y)+(D-F*h),C=k+(B-O*h),!((v=+b(+((h=w+(W-x*h))*h+(y*y+C*C))))-U-Z>Y)){do{if(h*h+(y*y+C*C)<=14210854715202004e-30){if(+d(+x)>.7071067690849304){h=1/+b(+(O*O+x*x)),p[a+280>>2]=0,p[a+280+4>>2]=-x*h,p[a+280+8>>2]=O*h,g=0,y=-x*h,h*=O;break}y=1/+b(+(F*F+O*O)),p[a+280>>2]=-O*y,p[a+280+4>>2]=F*y,p[a+280+8>>2]=0,g=-O*y,y*=F,h=0;break}p[a+280>>2]=y*(-1/v),p[a+280+4>>2]=C*(-1/v),p[a+280+8>>2]=h*(-1/v),p[a+280+12>>2]=0,g=y*(-1/v),y=C*(-1/v),h*=-1/v}while(0);p[a+264>>2]=M+j+Z*g,p[a+264+4>>2]=N+k+Z*y,p[a+264+8>>2]=H+w+Z*h,p[a+264+12>>2]=0}return v-U-Z>2])>>2]](r,a+280|0,a+264|0,v-U-Z),l=0|_[r+4>>2],0|_[l+748>>2]?(0|(A=0|_[l+740>>2]))==(0|(m=0|_[8+(0|_[r+8>>2])>>2]))?(E(l,A+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0),void(Q=a)):(E(l,4+(0|_[8+(0|_[r+12>>2])>>2])|0,m+4|0),void(Q=a)):void(Q=a)}if(p[a+128+128>>2]=0xde0b6b000000000,l=0|_[t+8>>2],R=0|_[t+12>>2],_[a+48>>2]=10204,_[a+48+4>>2]=0,_[a+48+8>>2]=1065353216,_[a+48+12>>2]=0,p[a+48+16>>2]=0,_[a+48+20>>2]=R,_[a+48+24>>2]=l,_[a+48+28>>2]=s,_[a+48+32>>2]=c,_[a+48+36>>2]=A,_[a+48+40>>2]=m,yt=+Il[15&_[48+(0|_[s>>2])>>2]](s),p[a+48+44>>2]=yt,yt=+Il[15&_[48+(0|_[c>>2])>>2]](c),p[a+48+48>>2]=yt,n[a+48+52|0]=0,_[a+48+60>>2]=-1,_[a+48+72>>2]=1,_[a+48+76>>2]=1,_[a+48+28>>2]=s,_[a+48+32>>2]=c,Ct=(yt=+Il[15&_[48+(0|_[s>>2])>>2]](s))+(Ct=+Il[15&_[48+(0|_[c>>2])>>2]](c))+ +p[752+(0|_[t+20>>2])>>2],p[a+128+128>>2]=Ct*Ct,l=0|_[e+12>>2],_[a+128>>2]=_[l>>2],_[a+128+4>>2]=_[l+4>>2],_[a+128+8>>2]=_[l+8>>2],_[a+128+12>>2]=_[l+12>>2],_[(m=a+128+16|0)>>2]=_[l+16>>2],_[m+4>>2]=_[l+16+4>>2],_[m+8>>2]=_[l+16+8>>2],_[m+12>>2]=_[l+16+12>>2],_[(R=a+128+32|0)>>2]=_[l+32>>2],_[R+4>>2]=_[l+32+4>>2],_[R+8>>2]=_[l+32+8>>2],_[R+12>>2]=_[l+32+12>>2],_[(I=a+128+48|0)>>2]=_[l+48>>2],_[I+4>>2]=_[l+48+4>>2],_[I+8>>2]=_[l+48+8>>2],_[I+12>>2]=_[l+48+12>>2],l=0|_[i+12>>2],_[(T=a+128+64|0)>>2]=_[l>>2],_[T+4>>2]=_[l+4>>2],_[T+8>>2]=_[l+8>>2],_[T+12>>2]=_[l+12>>2],_[(P=a+128+80|0)>>2]=_[l+16>>2],_[P+4>>2]=_[l+16+4>>2],_[P+8>>2]=_[l+16+8>>2],_[P+12>>2]=_[l+16+12>>2],_[(V=a+128+96|0)>>2]=_[l+32>>2],_[V+4>>2]=_[l+32+4>>2],_[V+8>>2]=_[l+32+8>>2],_[V+12>>2]=_[l+32+12>>2],_[(G=a+128+112|0)>>2]=_[l+48>>2],_[G+4>>2]=_[l+48+4>>2],_[G+8>>2]=_[l+48+8>>2],_[G+12>>2]=_[l+48+12>>2],(0|(l=0|_[s+4>>2]))<7&&(0|(S=0|_[c+4>>2]))<7){_[a+40>>2]=6976,l?(y=+Il[15&_[48+(0|_[s>>2])>>2]](s),l=0|_[c+4>>2]):(l=S,y=0),h=l?+Il[15&_[48+(0|_[c>>2])>>2]](c):0,_[a>>2]=7004,_[a+4>>2]=r,p[a+24>>2]=y,p[a+28>>2]=h,n[a+36|0]=0,z=0|_[s+52>>2];t:do{if(0|z){ut=0|_[c+52>>2];do{if(ut){Ct=+p[752+(0|_[t+20>>2])>>2];e:do{if(0|n[o+24|0]){T=0|_[e+12>>2],P=0|_[i+12>>2],_[6613]=1+(0|_[6613]),lt=+p[z+64>>2],dt=+p[z+68>>2],v=+p[T+4>>2],bt=+p[z+72>>2],w=+p[T+8>>2],j=+p[T+16>>2],B=+p[T+20>>2],F=+p[T+24>>2],x=+p[T+32>>2],W=+p[T+36>>2],D=+p[T+40>>2],At=+p[ut+64>>2],ft=+p[ut+68>>2],yt=+p[ut+72>>2],mt=lt*+p[T>>2]+dt*v+bt*w+ +p[T+48>>2]-(At*+p[P>>2]+ft*+p[P+4>>2]+yt*+p[P+8>>2]+ +p[P+48>>2]),ht=lt*j+dt*B+bt*F+ +p[T+52>>2]-(At*+p[P+16>>2]+ft*+p[P+20>>2]+yt*+p[P+24>>2]+ +p[P+52>>2]),yt=lt*x+dt*W+bt*D+ +p[T+56>>2]-(At*+p[P+32>>2]+ft*+p[P+36>>2]+yt*+p[P+40>>2]+ +p[P+56>>2]),m=0|_[z+28>>2];i:do{if((0|m)>0){for(h=34028234663852886e22,l=0,k=0,y=0,g=0,C=0,O=j;;){if(o=0|_[z+36>>2],bt=+p[o+(36*l|0)+20>>2],At=+p[o+(36*l|0)+24>>2],ft=+p[o+(36*l|0)+28>>2],j=bt*+p[T>>2]+At*v+ft*w,w=bt*O+At*B+ft*F,v=bt*x+At*W+ft*D,p[a+296>>2]=j,p[a+296+4>>2]=w,p[a+296+8>>2]=v,p[a+296+12>>2]=0,j*mt+w*ht+v*yt<0?(p[a+296>>2]=-j,p[a+296+4>>2]=-w,p[a+296+8>>2]=-v,F=-j,w=-w,v=-v):F=j,_[6611]=1+(0|_[6611]),0|fe(T,P,mt,ht,yt,F,w,v,z,ut,h)){_[6612]=1+(0|_[6612]),Ot(z,T,a+296|0,a+624|0,a+384|0,a+360|0,a+344|0),Ot(ut,P,a+296|0,a+380|0,a+376|0,a+328|0,a+312|0),j=+p[a+384>>2],D=+p[a+380>>2];do{if(j>2])<(W=+p[a+624>>2])){A=0;break}A=1,k=j-D=(0|m))break i;v=+p[T+4>>2],w=+p[T+8>>2],O=+p[T+16>>2],B=+p[T+20>>2],F=+p[T+24>>2],x=+p[T+32>>2],W=+p[T+36>>2],D=+p[T+40>>2]}break e}h=34028234663852886e22,y=0,g=0,C=0}while(0);m=0|_[ut+28>>2];i:do{if((0|m)>0){for(A=0,j=0;;){if(o=0|_[ut+36>>2],At=+p[o+(36*A|0)+20>>2],ft=+p[o+(36*A|0)+24>>2],k=+p[o+(36*A|0)+28>>2],v=At*+p[P>>2]+ft*+p[P+4>>2]+k*+p[P+8>>2],w=At*+p[P+16>>2]+ft*+p[P+20>>2]+k*+p[P+24>>2],k=At*+p[P+32>>2]+ft*+p[P+36>>2]+k*+p[P+40>>2],p[a+296>>2]=v,p[a+296+4>>2]=w,p[a+296+8>>2]=k,p[a+296+12>>2]=0,v*mt+w*ht+k*yt<0&&(p[a+296>>2]=-v,p[a+296+4>>2]=-w,p[a+296+8>>2]=-k,v=-v,w=-w,k=-k),_[6611]=1+(0|_[6611]),0|fe(T,P,mt,ht,yt,v,w,k,z,ut,h)){_[6612]=1+(0|_[6612]),Ot(z,T,a+296|0,a+624|0,a+384|0,a+360|0,a+344|0),Ot(ut,P,a+296|0,a+380|0,a+376|0,a+328|0,a+312|0),D=+p[a+384>>2],B=+p[a+380>>2];do{if(D>2])<(F=+p[a+624>>2])){l=0;break}l=1,j=D-B=(0|m))break i}break e}}while(0);m=0|_[z+48>>2];i:do{if((0|m)>0){I=0,A=-1,l=-1,k=0,W=0,K=0,q=0,F=0,x=0,Y=0,U=0,w=0,B=0,Z=0,v=0,D=0,N=0,H=0,$=0,j=0,O=0,M=0,S=0|_[ut+48>>2];n:for(;;){if(o=0|_[z+56>>2],lt=+p[o+(I<<4)>>2],dt=+p[o+(I<<4)+4>>2],ft=+p[o+(I<<4)+8>>2],bt=lt*+p[T>>2]+dt*+p[T+4>>2]+ft*+p[T+8>>2],At=lt*+p[T+16>>2]+dt*+p[T+20>>2]+ft*+p[T+24>>2],ft=lt*+p[T+32>>2]+dt*+p[T+36>>2]+ft*+p[T+40>>2],(0|S)>0){for(R=0,lt=k,dt=y,et=W,_t=F,rt=x,at=g,ct=C,pt=$;;){o=0|_[ut+56>>2],nt=+p[o+(R<<4)>>2],st=+p[o+(R<<4)+4>>2],ot=+p[o+(R<<4)+8>>2],$=nt*+p[P>>2]+st*+p[P+4>>2]+ot*+p[P+8>>2],tt=nt*+p[P+16>>2]+st*+p[P+20>>2]+ot*+p[P+24>>2],ot=nt*+p[P+32>>2]+st*+p[P+36>>2]+ot*+p[P+40>>2],p[a+296>>2]=At*ot-ft*tt,p[a+296+4>>2]=ft*$-bt*ot,p[a+296+8>>2]=bt*tt-At*$,p[a+296+12>>2]=0;do{if(+d(+(At*ot-ft*tt))>1e-6)gt=76;else{if(+d(+(ft*$-bt*ot))>1e-6){gt=76;break}+d(+(bt*tt-At*$))>1e-6?gt=76:(k=lt,y=dt,it=K,nt=q,st=Y,g=at,C=ct,$=pt)}}while(0);do{if(76==(0|gt)){if(gt=0,y=(At*ot-ft*tt)*(C=1/+b(+((bt*tt-At*$)*(bt*tt-At*$)+((At*ot-ft*tt)*(At*ot-ft*tt)+(ft*$-bt*ot)*(ft*$-bt*ot))))),p[a+296>>2]=y,g=(ft*$-bt*ot)*C,p[a+296+4>>2]=g,C*=bt*tt-At*$,p[a+296+8>>2]=C,y*mt+g*ht+yt*C<0&&(p[a+296>>2]=-y,p[a+296+4>>2]=-g,p[a+296+8>>2]=-C,y=-y,g=-g,C=-C),_[6611]=1+(0|_[6611]),!(0|fe(T,P,mt,ht,yt,y,g,C,z,ut,h))){k=lt,y=dt,it=K,nt=q,st=Y,g=at,C=ct,$=pt;break}_[6612]=1+(0|_[6612]),Ot(z,T,a+296|0,a+624|0,a+384|0,a+360|0,a+344|0),Ot(ut,P,a+296|0,a+380|0,a+376|0,a+328|0,a+312|0),k=+p[a+384>>2],W=+p[a+380>>2];do{if(!(k>2])<(x=+p[a+624>>2])){m=0,k=lt,F=et,W=_t,x=rt;break}if(k-W>2],K=+p[a+328+4>>2],q=+p[a+328+8>>2],W=+p[a+344>>2],x=+p[a+344+4>>2],Y=+p[a+344+8>>2];break}m=1,k=F-x,F=+p[a+312>>2],K=+p[a+312+4>>2],q=+p[a+312+8>>2],W=+p[a+360>>2],x=+p[a+360+4>>2],Y=+p[a+360+8>>2];break}m=0,k=lt,F=et,W=_t,x=rt}while(0);if(!m)break n;if(!(k=(0|(S=0|_[ut+48>>2])))break;lt=k,dt=y,K=it,q=nt,Y=st,at=g,ct=C,pt=$}W=et,K=it,q=nt,F=_t,x=rt,Y=st,m=0|_[z+48>>2]}if((0|(I=I+1|0))>=(0|m)){h=$;break i}}break e}A=-1,l=-1,U=0,w=0,B=0,Z=0,v=0,D=0,N=0,H=0,h=0,j=0,O=0,M=0}while(0);if((A|l)>-1){W=U-w,w=B*Z+D*N+j*O,k=W*Z+(F=H-v)*N+(x=M-h)*O,h=W*B+F*D+x*j;do{if(1-w*w==0)v=0;else{if((k-h*w)/(1-w*w)<-1.0000000150474662e30){v=-1.0000000150474662e30;break}if(!((k-h*w)/(1-w*w)>1.0000000150474662e30)){v=(k-h*w)/(1-w*w);break}v=1.0000000150474662e30}}while(0);h=w*v-h;do{if(h<-1.0000000150474662e30){if(k-1.0000000150474662e30*w<-1.0000000150474662e30){h=-1.0000000150474662e30,v=-1.0000000150474662e30;break}if(!(k-1.0000000150474662e30*w>1.0000000150474662e30)){h=-1.0000000150474662e30,v=k-1.0000000150474662e30*w;break}h=-1.0000000150474662e30,v=1.0000000150474662e30}else{if(!(h>1.0000000150474662e30))break;if(k+1.0000000150474662e30*w<-1.0000000150474662e30){h=1.0000000150474662e30,v=-1.0000000150474662e30;break}if(!(k+1.0000000150474662e30*w>1.0000000150474662e30)){h=1.0000000150474662e30,v=k+1.0000000150474662e30*w;break}h=1.0000000150474662e30,v=1.0000000150474662e30}}while(0);k=(B*=h)+(W-Z*v),w=(D*=h)+(F-N*v),h=(j*=h)+(x-O*v),p[a+624>>2]=k,p[a+624+4>>2]=w,p[a+624+8>>2]=h,p[a+624+12>>2]=0,h*h+(k*k+w*w)>1.1920928955078125e-7&&(v=+b(+(h*h+(k*k+w*w))),p[a+624>>2]=k*(1/v),p[a+624+4>>2]=w*(1/v),p[a+624+8>>2]=h*(1/v),k*(1/v)*mt+w*(1/v)*ht+h*(1/v)*yt<0&&(p[a+624>>2]=1/v*-k,p[a+624+4>>2]=1/v*-w,p[a+624+8>>2]=1/v*-h),p[a+384>>2]=U+B,p[a+384+4>>2]=H+D,p[a+384+8>>2]=M+j,p[a+384+12>>2]=0,rd[15&_[16+(0|_[r>>2])>>2]](r,a+624|0,a+384|0,-v))}mt*y+ht*g+yt*C<0?(h=-1.0000000150474662e30,y=-y,g=-g,C=-C,l=0,gt=112):(h=-1.0000000150474662e30,l=0,gt=112)}else Si(a+48|0,a+128|0,a,0|_[o+20>>2],0),(h=+p[a+32>>2])<0&!!(0|n[a+36|0])&&(y=+p[a+8>>2],g=+p[a+12>>2],C=+p[a+16>>2],l=0|_[a+20>>2],gt=112)}while(0);if(112==(0|gt)){if(z=0|_[s+52>>2],o=0|_[c+52>>2],X=0|_[e+12>>2],J=0|_[i+12>>2],H=h-Ct,N=y*(O=1/+b(+(y*y+g*g+C*C))),M=g*O,O*=C,p[a+624>>2]=N,p[a+624+4>>2]=M,p[a+624+8>>2]=O,_[a+624+12>>2]=l,m=0|_[o+28>>2],R=0|_[o+36>>2],(0|m)>0)for(y=+p[J>>2],g=+p[J+4>>2],C=+p[J+8>>2],v=+p[J+16>>2],w=+p[J+20>>2],k=+p[J+24>>2],j=+p[J+32>>2],D=+p[J+36>>2],B=+p[J+40>>2],h=-34028234663852886e22,A=0,l=-1;;){if(l=(S=N*((W=+p[R+(36*A|0)+20>>2])*y+(F=+p[R+(36*A|0)+24>>2])*g+(x=+p[R+(36*A|0)+28>>2])*C)+M*(W*v+F*w+x*k)+O*(W*j+F*D+x*B)>h)?A:l,(0|(A=A+1|0))==(0|m)){P=l;break}h=S?N*(W*y+F*g+x*C)+M*(W*v+F*w+x*k)+O*(W*j+F*D+x*B):h}else P=-1;n[a+384+16|0]=1,_[(L=a+384+12|0)>>2]=0,_[(V=a+384+4|0)>>2]=0,_[a+384+8>>2]=0,G=0|_[R+(36*P|0)+4>>2];e:do{if((0|G)>0)for(T=R+(36*P|0)+12|0,l=0,A=0,m=0;;){if(e=0|_[(0|_[T>>2])+(l<<2)>>2],i=0|_[o+16>>2],ht=+p[i+(e<<4)>>2],yt=+p[i+(e<<4)+4>>2],g=+p[i+(e<<4)+8>>2],h=ht*+p[J>>2]+yt*+p[J+4>>2]+g*+p[J+8>>2]+ +p[J+48>>2],y=ht*+p[J+16>>2]+yt*+p[J+20>>2]+g*+p[J+24>>2]+ +p[J+52>>2],g=ht*+p[J+32>>2]+yt*+p[J+36>>2]+g*+p[J+40>>2]+ +p[J+56>>2],(0|A)==(0|m))if((0|m)<(0|(I=0|m?m<<1:1))){if(I?(_[6630]=1+(0|_[6630]),(A=0|di(16+(I<<4|3)|0))?(_[(A+4+15&-16)-4>>2]=A,A=A+4+15&-16):A=0,R=A,A=0|_[V>>2]):(R=0,A=m),S=0|_[L>>2],(0|A)<=0)S&&(gt=128);else{m=0;do{i=S+(m<<4)|0,_[(e=R+(m<<4)|0)>>2]=_[i>>2],_[e+4>>2]=_[i+4>>2],_[e+8>>2]=_[i+8>>2],_[e+12>>2]=_[i+12>>2],m=m+1|0}while((0|m)!=(0|A));gt=128}128==(0|gt)&&(gt=0,0|n[a+384+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[S+-4>>2]),A=0|_[V>>2]),_[L>>2]=0),n[a+384+16|0]=1,_[L>>2]=R,_[a+384+8>>2]=I}else A=m;if(e=0|_[L>>2],p[e+(A<<4)>>2]=h,p[e+(A<<4)+4>>2]=y,p[e+(A<<4)+8>>2]=g,p[e+(A<<4)+12>>2]=0,A=1+(0|_[V>>2])|0,_[V>>2]=A,(0|(l=l+1|0))>=(0|G))break e;m=0|_[a+384+8>>2]}}while(0);(0|P)>-1&&vi(a+624|0,z,X,a+384|0,H,Ct,r),0|(l=0|_[L>>2])&&(0|n[a+384+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[L>>2]=0)}if(0|n[t+16|0]&&(vt=0|_[r+4>>2],0|_[vt+748>>2])){if((0|(l=0|_[vt+740>>2]))==(0|(A=0|_[8+(0|_[r+8>>2])>>2]))){E(vt,l+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0);break}E(vt,4+(0|_[8+(0|_[r+12>>2])>>2])|0,A+4|0);break}}else{if(1!=(0|_[c+4>>2]))break t;if(n[0|(I=a+624+16|0)]=1,_[(T=a+624+12|0)>>2]=0,_[(R=a+624+4|0)>>2]=0,_[(S=a+624+8|0)>>2]=0,l=0|_[i+12>>2],yt=+p[c+56>>2],Ct=+p[c+56+4>>2],y=+p[c+56+8>>2],g=yt*+p[l>>2]+Ct*+p[l+4>>2]+y*+p[l+8>>2]+ +p[l+48>>2],h=yt*+p[l+16>>2]+Ct*+p[l+20>>2]+y*+p[l+24>>2]+ +p[l+52>>2],y=yt*+p[l+32>>2]+Ct*+p[l+36>>2]+y*+p[l+40>>2]+ +p[l+56>>2],_[6630]=1+(0|_[6630]),(l=0|di(35))?(_[(l+4+15&-16)-4>>2]=l,A=l+4+15&-16):A=0,(l=0|_[T>>2])?(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2]),l=0|_[R>>2],_[T>>2]=0):l=0,n[0|I]=1,_[T>>2]=A,_[S>>2]=1,p[A+(l<<4)>>2]=g,p[A+(l<<4)+4>>2]=h,p[A+(l<<4)+8>>2]=y,p[A+(l<<4)+12>>2]=0,l=1+(0|_[R>>2])|0,_[R>>2]=l,vt=0|_[i+12>>2],yt=+p[c+56+16>>2],Ct=+p[c+56+20>>2],g=+p[c+56+24>>2],h=yt*+p[vt>>2]+Ct*+p[vt+4>>2]+g*+p[vt+8>>2]+ +p[vt+48>>2],y=yt*+p[vt+16>>2]+Ct*+p[vt+20>>2]+g*+p[vt+24>>2]+ +p[vt+52>>2],g=yt*+p[vt+32>>2]+Ct*+p[vt+36>>2]+g*+p[vt+40>>2]+ +p[vt+56>>2],(0|l)==(0|_[S>>2])&&(0|l)<(0|(L=0|l?l<<1:1))){if(L?(_[6630]=1+(0|_[6630]),(l=0|di(16+(L<<4|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,m=l,l=0|_[R>>2]):m=0,(0|l)>0){A=0;do{vt=m+(A<<4)|0,gt=(0|_[T>>2])+(A<<4)|0,_[vt>>2]=_[gt>>2],_[vt+4>>2]=_[gt+4>>2],_[vt+8>>2]=_[gt+8>>2],_[vt+12>>2]=_[gt+12>>2],A=A+1|0}while((0|A)!=(0|l))}0|(l=0|_[T>>2])&&(0|n[0|I]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[T>>2]=0),n[0|I]=1,_[T>>2]=m,_[S>>2]=L,l=0|_[R>>2]}if(vt=0|_[T>>2],p[vt+(l<<4)>>2]=h,p[vt+(l<<4)+4>>2]=y,p[vt+(l<<4)+8>>2]=g,p[vt+(l<<4)+12>>2]=0,l=1+(0|_[R>>2])|0,_[R>>2]=l,vt=0|_[i+12>>2],yt=+p[c+56+32>>2],Ct=+p[c+56+36>>2],g=+p[c+56+40>>2],h=yt*+p[vt>>2]+Ct*+p[vt+4>>2]+g*+p[vt+8>>2]+ +p[vt+48>>2],y=yt*+p[vt+16>>2]+Ct*+p[vt+20>>2]+g*+p[vt+24>>2]+ +p[vt+52>>2],g=yt*+p[vt+32>>2]+Ct*+p[vt+36>>2]+g*+p[vt+40>>2]+ +p[vt+56>>2],(0|l)==(0|_[S>>2])&&(0|l)<(0|(J=0|l?l<<1:1))){if(J?(_[6630]=1+(0|_[6630]),(l=0|di(16+(J<<4|3)|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,m=l,l=0|_[R>>2]):m=0,(0|l)>0){A=0;do{vt=m+(A<<4)|0,i=(0|_[T>>2])+(A<<4)|0,_[vt>>2]=_[i>>2],_[vt+4>>2]=_[i+4>>2],_[vt+8>>2]=_[i+8>>2],_[vt+12>>2]=_[i+12>>2],A=A+1|0}while((0|A)!=(0|l))}0|(l=0|_[T>>2])&&(0|n[0|I]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[T>>2]=0),n[0|I]=1,_[T>>2]=m,_[S>>2]=J,l=0|_[R>>2]}vt=0|_[T>>2],p[vt+(l<<4)>>2]=h,p[vt+(l<<4)+4>>2]=y,p[vt+(l<<4)+8>>2]=g,p[vt+(l<<4)+12>>2]=0,_[R>>2]=1+(0|_[R>>2]),C=+p[752+(0|_[t+20>>2])>>2],Si(a+48|0,a+128|0,a+40|0,0|_[o+20>>2],0),(h=+p[a+48+4>>2])*h+(y=+p[a+48+8>>2])*y+(g=+p[a+48+12>>2])*g>1.1920928955078125e-7&&(yt=1/(h*h+y*y+g*g),p[a+384>>2]=h*yt,p[a+384+4>>2]=y*yt,p[a+384+8>>2]=g*yt,p[a+384+12>>2]=0,Ct=(yt=+p[a+48+56>>2])-(Ct=+Il[15&_[48+(0|_[s>>2])>>2]](s))-+Il[15&_[48+(0|_[c>>2])>>2]](c),vi(a+384|0,0|_[s+52>>2],0|_[e+12>>2],a+624|0,Ct-C,C,r));do{if(0|n[t+16|0]&&(X=0|_[r+4>>2],0|_[X+748>>2])){if((0|(l=0|_[X+740>>2]))==(0|(A=0|_[8+(0|_[r+8>>2])>>2]))){E(X,l+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0);break}E(X,4+(0|_[8+(0|_[r+12>>2])>>2])|0,A+4|0);break}}while(0);0|(l=0|_[T>>2])&&(0|n[0|I]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[T>>2]=0)}}while(0);return void(Q=a)}}while(0)}if(Si(a+48|0,a+128|0,r,0|_[o+20>>2],0),0|_[t+28>>2]&&(0|_[748+(0|_[r+4>>2])>>2])<(0|_[t+32>>2])&&(O=+p[a+48+4>>2])*O+(M=+p[a+48+8>>2])*M+(N=+p[a+48+12>>2])*N>1.1920928955078125e-7&&(+d(+N*(x=1/(O*O+M*M+N*N)))>.7071067690849304?(y=0,C=M*x*(g=1/+b(+(N*x*(N*x)+M*x*(M*x)))),g*=-N*x):(y=-M*x*(g=1/+b(+(O*x*(O*x)+M*x*(M*x)))),C=0,g*=O*x),h=.019999999552965164/((F=+Il[15&_[16+(0|_[s>>2])>>2]](s))<(B=+Il[15&_[16+(0|_[c>>2])>>2]](c))?F:B),F>2]=_[a+128>>2],_[a+624+4>>2]=_[a+128+4>>2],_[a+624+8>>2]=_[a+128+8>>2],_[a+624+12>>2]=_[a+128+12>>2],_[a+624+16>>2]=_[m>>2],_[a+624+16+4>>2]=_[m+4>>2],_[a+624+16+8>>2]=_[m+8>>2],_[a+624+16+12>>2]=_[m+12>>2],_[a+624+32>>2]=_[R>>2],_[a+624+32+4>>2]=_[R+4>>2],_[a+624+32+8>>2]=_[R+8>>2],_[a+624+32+12>>2]=_[R+12>>2],_[a+624+48>>2]=_[I>>2],_[a+624+48+4>>2]=_[I+4>>2],_[a+624+48+8>>2]=_[I+8>>2],_[a+624+48+12>>2]=_[I+12>>2]):(_[a+624>>2]=_[T>>2],_[a+624+4>>2]=_[T+4>>2],_[a+624+8>>2]=_[T+8>>2],_[a+624+12>>2]=_[T+12>>2],_[a+624+16>>2]=_[P>>2],_[a+624+16+4>>2]=_[P+4>>2],_[a+624+16+8>>2]=_[P+8>>2],_[a+624+16+12>>2]=_[P+12>>2],_[a+624+32>>2]=_[V>>2],_[a+624+32+4>>2]=_[V+4>>2],_[a+624+32+8>>2]=_[V+8>>2],_[a+624+32+12>>2]=_[V+12>>2],_[a+624+48>>2]=_[G>>2],_[a+624+48+4>>2]=_[G+4>>2],_[a+624+48+8>>2]=_[G+8>>2],_[a+624+48+12>>2]=_[G+12>>2]),(0|(l=0|_[t+28>>2]))>0)){v=+b(+(W=y*y+g*g+C*C)),D=y*(v=+u(+(w=.5*(h>.39269909262657166?.39269909262657166:h)))/v),j=g*v,v*=C,w=+f(+w),k=+b(+(N*x*(N*x)+(O*x*(O*x)+M*x*(M*x)))),A=0;do{W>1.1920928955078125e-7&&(h=O*x*(g=+u(+(C=6.2831854820251465/+(0|l)*+(0|A)*.5))/k),y=M*x*g,g*=N*x,C=+f(+C),F>2],_t=+p[vt>>2],rt=+p[vt+16>>2],st=+p[vt+32>>2],pt=+p[vt+4>>2],ct=+p[vt+20>>2],at=+p[vt+36>>2],lt=+p[vt+8>>2],At=+p[vt+24>>2],Ct=+p[vt+40>>2],p[a+128>>2]=(1-(ht*yt+ot*dt))*_t+(ft*yt-bt*dt)*rt+(ft*dt+bt*yt)*st,p[a+128+4>>2]=(1-(ht*yt+ot*dt))*pt+(ft*yt-bt*dt)*ct+(ft*dt+bt*yt)*at,p[a+128+8>>2]=(1-(ht*yt+ot*dt))*lt+(ft*yt-bt*dt)*At+(ft*dt+bt*yt)*Ct,p[a+128+12>>2]=0,p[a+128+16>>2]=(ft*yt+bt*dt)*_t+(1-(ft*mt+ot*dt))*rt+(ht*dt-bt*mt)*st,p[a+128+20>>2]=(ft*yt+bt*dt)*pt+(1-(ft*mt+ot*dt))*ct+(ht*dt-bt*mt)*at,p[a+128+24>>2]=(ft*yt+bt*dt)*lt+(1-(ft*mt+ot*dt))*At+(ht*dt-bt*mt)*Ct,p[a+128+28>>2]=0,p[a+128+32>>2]=(ft*dt-bt*yt)*_t+(ht*dt+bt*mt)*rt+(1-(ft*mt+ht*yt))*st,p[a+128+36>>2]=(ft*dt-bt*yt)*pt+(ht*dt+bt*mt)*ct+(1-(ft*mt+ht*yt))*at,p[a+128+40>>2]=(ft*dt-bt*yt)*lt+(ht*dt+bt*mt)*At+(1-(ft*mt+ht*yt))*Ct,p[a+128+44>>2]=0,vt=0|_[i+12>>2],_[T>>2]=_[vt>>2],_[T+4>>2]=_[vt+4>>2],_[T+8>>2]=_[vt+8>>2],_[T+12>>2]=_[vt+12>>2],_[P>>2]=_[vt+16>>2],_[P+4>>2]=_[vt+16+4>>2],_[P+8>>2]=_[vt+16+8>>2],_[P+12>>2]=_[vt+16+12>>2],_[V>>2]=_[vt+32>>2],_[V+4>>2]=_[vt+32+4>>2],_[V+8>>2]=_[vt+32+8>>2],_[V+12>>2]=_[vt+32+12>>2],_[G>>2]=_[vt+48>>2],_[G+4>>2]=_[vt+48+4>>2],_[G+8>>2]=_[vt+48+8>>2],_[G+12>>2]=_[vt+48+12>>2]):(vt=0|_[e+12>>2],_[a+128>>2]=_[vt>>2],_[a+128+4>>2]=_[vt+4>>2],_[a+128+8>>2]=_[vt+8>>2],_[a+128+12>>2]=_[vt+12>>2],_[m>>2]=_[vt+16>>2],_[m+4>>2]=_[vt+16+4>>2],_[m+8>>2]=_[vt+16+8>>2],_[m+12>>2]=_[vt+16+12>>2],_[R>>2]=_[vt+32>>2],_[R+4>>2]=_[vt+32+4>>2],_[R+8>>2]=_[vt+32+8>>2],_[R+12>>2]=_[vt+32+12>>2],_[I>>2]=_[vt+48>>2],_[I+4>>2]=_[vt+48+4>>2],_[I+8>>2]=_[vt+48+8>>2],_[I+12>>2]=_[vt+48+12>>2],mt=(ft=g*(D*-g+(j*C+w*-y)-v*-h)+(h*(w*C-D*-h-j*-y-v*-g)+C*(v*-y+(D*C+w*-h)-j*-g))-y*(j*-h+(v*C+w*-g)-D*-y))*(2/((bt=C*(w*C-D*-h-j*-y-v*-g)-h*(v*-y+(D*C+w*-h)-j*-g)-y*(D*-g+(j*C+w*-y)-v*-h)-g*(j*-h+(v*C+w*-g)-D*-y))*bt+((ot=y*(v*-y+(D*C+w*-h)-j*-g)+(g*(w*C-D*-h-j*-y-v*-g)+C*(j*-h+(v*C+w*-g)-D*-y))-h*(D*-g+(j*C+w*-y)-v*-h))*ot+(ft*ft+(ht=h*(j*-h+(v*C+w*-g)-D*-y)+(C*(D*-g+(j*C+w*-y)-v*-h)+y*(w*C-D*-h-j*-y-v*-g))-g*(v*-y+(D*C+w*-h)-j*-g))*ht)))),yt=ht*(2/(bt*bt+(ot*ot+(ft*ft+ht*ht)))),dt=ot*(2/(bt*bt+(ot*ot+(ft*ft+ht*ht)))),vt=0|_[i+12>>2],_t=+p[vt>>2],rt=+p[vt+16>>2],st=+p[vt+32>>2],pt=+p[vt+4>>2],ct=+p[vt+20>>2],at=+p[vt+36>>2],lt=+p[vt+8>>2],At=+p[vt+24>>2],Ct=+p[vt+40>>2],p[a+128+64>>2]=(1-(ht*yt+ot*dt))*_t+(ft*yt-bt*dt)*rt+(ft*dt+bt*yt)*st,p[a+128+68>>2]=(1-(ht*yt+ot*dt))*pt+(ft*yt-bt*dt)*ct+(ft*dt+bt*yt)*at,p[a+128+72>>2]=(1-(ht*yt+ot*dt))*lt+(ft*yt-bt*dt)*At+(ft*dt+bt*yt)*Ct,p[a+128+76>>2]=0,p[a+128+80>>2]=(ft*yt+bt*dt)*_t+(1-(ft*mt+ot*dt))*rt+(ht*dt-bt*mt)*st,p[a+128+84>>2]=(ft*yt+bt*dt)*pt+(1-(ft*mt+ot*dt))*ct+(ht*dt-bt*mt)*at,p[a+128+88>>2]=(ft*yt+bt*dt)*lt+(1-(ft*mt+ot*dt))*At+(ht*dt-bt*mt)*Ct,p[a+128+92>>2]=0,p[a+128+96>>2]=(ft*dt-bt*yt)*_t+(ht*dt+bt*mt)*rt+(1-(ft*mt+ht*yt))*st,p[a+128+100>>2]=(ft*dt-bt*yt)*pt+(ht*dt+bt*mt)*ct+(1-(ft*mt+ht*yt))*at,p[a+128+104>>2]=(ft*dt-bt*yt)*lt+(ht*dt+bt*mt)*At+(1-(ft*mt+ht*yt))*Ct,p[a+128+108>>2]=0),l=0|_[o+20>>2],_[a+384>>2]=7032,_[a+384+32>>2]=r,_[a+384+36>>2]=_[a+128>>2],_[a+384+36+4>>2]=_[a+128+4>>2],_[a+384+36+8>>2]=_[a+128+8>>2],_[a+384+36+12>>2]=_[a+128+12>>2],_[a+384+52>>2]=_[m>>2],_[a+384+52+4>>2]=_[m+4>>2],_[a+384+52+8>>2]=_[m+8>>2],_[a+384+52+12>>2]=_[m+12>>2],_[a+384+68>>2]=_[R>>2],_[a+384+68+4>>2]=_[R+4>>2],_[a+384+68+8>>2]=_[R+8>>2],_[a+384+68+12>>2]=_[R+12>>2],_[a+384+84>>2]=_[I>>2],_[a+384+84+4>>2]=_[I+4>>2],_[a+384+84+8>>2]=_[I+8>>2],_[a+384+84+12>>2]=_[I+12>>2],_[a+384+100>>2]=_[T>>2],_[a+384+100+4>>2]=_[T+4>>2],_[a+384+100+8>>2]=_[T+8>>2],_[a+384+100+12>>2]=_[T+12>>2],_[a+384+116>>2]=_[P>>2],_[a+384+116+4>>2]=_[P+4>>2],_[a+384+116+8>>2]=_[P+8>>2],_[a+384+116+12>>2]=_[P+12>>2],_[a+384+132>>2]=_[V>>2],_[a+384+132+4>>2]=_[V+4>>2],_[a+384+132+8>>2]=_[V+8>>2],_[a+384+132+12>>2]=_[V+12>>2],_[a+384+148>>2]=_[G>>2],_[a+384+148+4>>2]=_[G+4>>2],_[a+384+148+8>>2]=_[G+8>>2],_[a+384+148+12>>2]=_[G+12>>2],_[a+384+164>>2]=_[a+624>>2],_[a+384+164+4>>2]=_[a+624+4>>2],_[a+384+164+8>>2]=_[a+624+8>>2],_[a+384+164+12>>2]=_[a+624+12>>2],_[a+384+180>>2]=_[a+624+16>>2],_[a+384+180+4>>2]=_[a+624+16+4>>2],_[a+384+180+8>>2]=_[a+624+16+8>>2],_[a+384+180+12>>2]=_[a+624+16+12>>2],_[a+384+196>>2]=_[a+624+32>>2],_[a+384+196+4>>2]=_[a+624+32+4>>2],_[a+384+196+8>>2]=_[a+624+32+8>>2],_[a+384+196+12>>2]=_[a+624+32+12>>2],_[a+384+212>>2]=_[a+624+48>>2],_[a+384+212+4>>2]=_[a+624+48+4>>2],_[a+384+212+8>>2]=_[a+624+48+8>>2],_[a+384+212+12>>2]=_[a+624+48+12>>2],n[a+384+228|0]=F>2]=l,Si(a+48|0,a+128|0,a+384|0,l,0),l=0|_[t+28>>2]),A=A+1|0}while((0|A)<(0|l))}if(0|n[t+16|0]){if(l=0|_[r+4>>2],0|_[l+748>>2])return(0|(A=0|_[l+740>>2]))==(0|(m=0|_[8+(0|_[r+8>>2])>>2]))?(E(l,A+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0),void(Q=a)):(E(l,4+(0|_[8+(0|_[r+12>>2])>>2])|0,m+4|0),void(Q=a));Q=a}else Q=a},function(t,e,i,o,r){e|=0,i|=0,o|=0,r|=0;var s,c,a,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0;if(a=Q,Q=Q+224|0,s=(u=!!(0|n[28+(t|=0)|0]))?i:e,u=u?e:i,c=0|_[s+4>>2],(0|_[c+68>>2])!=(0|_[t+40>>2])){if((0|(d=0|_[t+12>>2]))>0){l=0;do{0|(b=0|_[(0|_[t+20>>2])+(l<<2)>>2])&&(Xl[511&_[_[b>>2]>>2]](b),A=0|_[t+4>>2],ed[127&_[60+(0|_[A>>2])>>2]](A,0|_[(0|_[t+20>>2])+(l<<2)>>2])),l=l+1|0}while((0|l)!=(0|d))}Pt(t,e,i)}if(A=0|_[c+64>>2],b=0|_[t+4>>2],l=0|_[t+20>>2],e=0|_[t+32>>2],_[a+192>>2]=7088,_[a+192+4>>2]=s,_[a+192+8>>2]=u,_[a+192+12>>2]=b,_[a+192+16>>2]=o,_[a+192+20>>2]=r,_[a+192+24>>2]=l,_[a+192+28>>2]=e,n[a+128+16|0]=1,_[(o=a+128+12|0)>>2]=0,_[a+128+4>>2]=0,_[a+128+8>>2]=0,(0|(e=0|_[t+12>>2]))>0){for(b=0;;){if(l=0|_[l+(b<<2)>>2]){if(ed[127&_[16+(0|_[l>>2])>>2]](l,a+128|0),(0|(l=0|_[a+128+4>>2]))>0){d=0;do{i=0|_[(0|_[o>>2])+(d<<2)>>2],0|_[i+748>>2]&&(_[r+4>>2]=i,(0|(l=0|_[i+740>>2]))==(0|(e=0|_[8+(0|_[r+8>>2])>>2]))?E(i,l+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0):E(i,4+(0|_[8+(0|_[r+12>>2])>>2])|0,e+4|0),_[r+4>>2]=0,l=0|_[a+128+4>>2]),d=d+1|0}while((0|d)<(0|l))}if((0|l)<0){(0|_[a+128+8>>2])<0&&(0|(e=0|_[o>>2])&&(0|n[a+128+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[o>>2]=0),n[a+128+16|0]=1,_[o>>2]=0,_[a+128+8>>2]=0);do{_[(0|_[o>>2])+(l<<2)>>2]=0,l=l+1|0}while(0|l)}_[a+128+4>>2]=0,e=0|_[t+12>>2]}if((0|(l=b+1|0))>=(0|e))break;b=l,l=0|_[t+20>>2]}0|(l=0|_[o>>2])&&(0|n[a+128+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[o>>2]=0)}if(A)f=0|_[s+12>>2],W=+p[f>>2],B=+p[f+16>>2],I=+p[f+32>>2],D=+p[f+4>>2],j=+p[f+20>>2],R=+p[f+36>>2],v=+p[f+8>>2],g=+p[f+24>>2],h=+p[f+40>>2],k=-+p[f+48>>2],w=-+p[f+52>>2],S=-+p[f+56>>2],f=0|_[u+12>>2],N=+p[f>>2],G=+p[f+16>>2],V=+p[f+32>>2],M=+p[f+4>>2],P=+p[f+20>>2],T=+p[f+36>>2],O=+p[f+8>>2],x=+p[f+24>>2],F=+p[f+40>>2],C=+p[f+48>>2],y=+p[f+52>>2],m=+p[f+56>>2],p[a+48>>2]=W*N+B*G+I*V,p[a+48+4>>2]=W*M+B*P+I*T,p[a+48+8>>2]=W*O+B*x+I*F,p[a+48+12>>2]=0,p[a+48+16>>2]=D*N+j*G+R*V,p[a+48+20>>2]=D*M+j*P+R*T,p[a+48+24>>2]=D*O+j*x+R*F,p[a+48+28>>2]=0,p[a+48+32>>2]=v*N+g*G+h*V,p[a+48+36>>2]=v*M+g*P+h*T,p[a+48+40>>2]=v*O+g*x+h*F,p[a+48+44>>2]=0,p[a+48+48>>2]=W*k+B*w+I*S+(W*C+B*y+I*m),p[a+48+52>>2]=D*k+j*w+R*S+(D*C+j*y+R*m),p[a+48+56>>2]=v*k+g*w+h*S+(v*C+g*y+h*m),p[a+48+60>>2]=0,f=0|_[u+4>>2],pd[127&_[8+(0|_[f>>2])>>2]](f,a+48|0,a+128|0,a+112|0),_[a+16>>2]=_[a+128>>2],_[a+16+4>>2]=_[a+128+4>>2],_[a+16+8>>2]=_[a+128+8>>2],_[a+16+12>>2]=_[a+128+12>>2],_[a+16+16>>2]=_[a+112>>2],_[a+16+16+4>>2]=_[a+112+4>>2],_[a+16+16+8>>2]=_[a+112+8>>2],_[a+16+16+12>>2]=_[a+112+12>>2],ci(0|_[A>>2],a+16|0,a+192|0),f=40;else if((0|(e=0|_[t+12>>2]))>0){l=0;do{ii(a+192|0,0|_[(0|_[c+24>>2])+(80*l|0)+64>>2],l),l=l+1|0}while((0|l)<(0|e));f=40}if(40==(0|f)&&(e=0|_[t+12>>2]),(0|e)<=0)Q=a;else{i=0;do{do{if(0|_[(0|_[t+20>>2])+(i<<2)>>2]){if(A=0|_[c+24>>2],f=0|_[A+(80*i|0)+64>>2],r=0|_[s+12>>2],g=+p[r>>2],C=+p[r+4>>2],v=+p[r+8>>2],S=+p[r+16>>2],w=+p[r+20>>2],k=+p[r+24>>2],F=+p[r+32>>2],O=+p[r+36>>2],P=+p[r+40>>2],R=+p[A+(80*i|0)>>2],j=+p[A+(80*i|0)+16>>2],D=+p[A+(80*i|0)+32>>2],I=+p[A+(80*i|0)+4>>2],B=+p[A+(80*i|0)+20>>2],W=+p[A+(80*i|0)+36>>2],x=+p[A+(80*i|0)+8>>2],T=+p[A+(80*i|0)+24>>2],M=+p[A+(80*i|0)+40>>2],h=+p[A+(80*i|0)+48>>2],y=+p[A+(80*i|0)+52>>2],N=+p[A+(80*i|0)+56>>2],V=+p[r+48>>2]+(g*h+C*y+v*N),G=+p[r+52>>2]+(S*h+w*y+k*N),N=+p[r+56>>2]+(F*h+O*y+P*N),p[a+128>>2]=g*R+C*j+v*D,p[a+128+4>>2]=g*I+C*B+v*W,p[a+128+8>>2]=g*x+C*T+v*M,p[a+128+12>>2]=0,p[a+128+16>>2]=S*R+w*j+k*D,p[a+128+20>>2]=S*I+w*B+k*W,p[a+128+24>>2]=S*x+w*T+k*M,p[a+128+28>>2]=0,p[a+128+32>>2]=F*R+O*j+P*D,p[a+128+36>>2]=F*I+O*B+P*W,p[a+128+40>>2]=F*x+O*T+P*M,p[a+128+44>>2]=0,p[a+128+48>>2]=V,p[a+128+52>>2]=G,p[a+128+56>>2]=N,p[a+128+60>>2]=0,pd[127&_[8+(0|_[f>>2])>>2]](f,a+128|0,a+112|0,a+48|0),f=0|_[u+4>>2],pd[127&_[8+(0|_[f>>2])>>2]](f,0|_[u+12>>2],a+16|0,a),l=+p[a+112>>2]>+p[a>>2]||+p[a+48>>2]<+p[a+16>>2]?0:1,(+p[a+112+8>>2]>+p[a+8>>2]||+p[a+48+8>>2]<+p[a+16+8>>2])&&(l=0),!(+p[a+112+4>>2]>+p[a+4>>2]||+p[a+48+4>>2]<+p[a+16+4>>2]|1^l))break;f=0|_[(0|_[t+20>>2])+(i<<2)>>2],Xl[511&_[_[f>>2]>>2]](f),f=0|_[t+4>>2],ed[127&_[60+(0|_[f>>2])>>2]](f,0|_[(0|_[t+20>>2])+(i<<2)>>2]),_[(0|_[t+20>>2])+(i<<2)>>2]=0}}while(0);i=i+1|0}while((0|i)<(0|e));Q=a}},function(t,e,i,o,r){t|=0,i|=0,o|=0,r|=0;var s,c,a,l,b,A,f,u,m,h,y,g,C,v,S,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0,F=0,x=0,O=0,T=0,P=0,M=0,V=0,G=0,N=0,L=0,H=0,Z=0,U=0,Y=0,J=0,X=0,z=0,K=0,q=0,$=0,tt=0,et=0,it=0,nt=0,ot=0,_t=0,rt=0,st=0,pt=0,ct=0,at=0,lt=0,dt=0,bt=0,At=0,ft=0,ut=0,mt=0,ht=0,yt=0;if(S=Q,Q=Q+176|0,C=0|_[4+(e|=0)>>2],v=0|_[i+4>>2],(0|_[C+68>>2])==(0|_[t+40>>2])&&(0|_[v+68>>2])==(0|_[t+44>>2]))st=t+8|0;else{if(w=0|_[t+8>>2],(0|(R=0|_[w+8>>2]))>0){k=0;do{0|(j=0|_[(0|_[w+16>>2])+(12*k|0)+8>>2])&&(Xl[511&_[_[j>>2]>>2]](j),st=0|_[t+4>>2],ed[127&_[60+(0|_[st>>2])>>2]](st,j)),k=k+1|0}while((0|k)!=(0|R));w=0|_[t+8>>2]}te(w),st=t+8|0}if(n[S+128+16|0]=1,_[(B=S+128+12|0)>>2]=0,_[S+128+4>>2]=0,_[S+128+8>>2]=0,I=0|_[st>>2],(0|(w=0|_[I+8>>2]))>0){D=0;do{if(k=0|_[(0|_[I+16>>2])+(12*D|0)+8>>2]){if(ed[127&_[16+(0|_[k>>2])>>2]](k,S+128|0),(0|(w=0|_[S+128+4>>2]))>0){j=0;do{R=0|_[(0|_[B>>2])+(j<<2)>>2],0|_[R+748>>2]&&(_[r+4>>2]=R,(0|(w=0|_[R+740>>2]))==(0|(k=0|_[8+(0|_[r+8>>2])>>2]))?E(R,w+4|0,4+(0|_[8+(0|_[r+12>>2])>>2])|0):E(R,4+(0|_[8+(0|_[r+12>>2])>>2])|0,k+4|0),_[r+4>>2]=0,w=0|_[S+128+4>>2]),j=j+1|0}while((0|j)<(0|w))}if((0|w)<0){(0|_[S+128+8>>2])<0&&(0|(k=0|_[B>>2])&&(0|n[S+128+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[k+-4>>2])),_[B>>2]=0),n[S+128+16|0]=1,_[B>>2]=0,_[S+128+8>>2]=0);do{_[(0|_[B>>2])+(w<<2)>>2]=0,w=w+1|0}while(0|w)}_[S+128+4>>2]=0,w=0|_[I+8>>2]}D=D+1|0}while((0|D)<(0|w));0|(w=0|_[B>>2])&&(0|n[S+128+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[w+-4>>2])),_[B>>2]=0)}if(k=0|_[C+64>>2],R=0|_[v+64>>2],O=0|_[t+4>>2],T=0|_[st>>2],P=0|_[t+32>>2],_[S+128>>2]=7152,_[S+128+4>>2]=0,_[S+128+8>>2]=e,_[S+128+12>>2]=i,_[S+128+16>>2]=O,_[S+128+20>>2]=o,_[S+128+24>>2]=r,_[S+128+28>>2]=T,_[S+128+32>>2]=P,P=0|_[e+12>>2],s=+p[P>>2],c=+p[P+16>>2],a=+p[P+32>>2],l=+p[P+4>>2],b=+p[P+20>>2],A=+p[P+36>>2],f=+p[P+8>>2],u=+p[P+24>>2],m=+p[P+40>>2],h=-+p[P+48>>2],y=-+p[P+52>>2],g=-+p[P+56>>2],P=0|_[i+12>>2],J=+p[P>>2],X=+p[P+16>>2],z=+p[P+32>>2],K=+p[P+4>>2],q=+p[P+20>>2],$=+p[P+36>>2],tt=+p[P+8>>2],et=+p[P+24>>2],it=+p[P+40>>2],nt=+p[P+48>>2],ot=+p[P+52>>2],_t=+p[P+56>>2],!!(0|(k=0|_[k>>2]))&!!(0|(R=0|_[R>>2]))){for(_[6630]=1+(0|_[6630]),(w=0|di(1043))?(_[(w+4+15&-16)-4>>2]=w,w=w+4+15&-16):w=0,_[w>>2]=k,_[w+4>>2]=R,M=+d(+(s*J+c*X+a*z)),V=+d(+(s*K+c*q+a*$)),G=+d(+(s*tt+c*et+a*it)),N=+d(+(l*J+b*X+A*z)),L=+d(+(l*K+b*q+A*$)),H=+d(+(l*tt+b*et+A*it)),Z=+d(+(f*J+u*X+m*z)),U=+d(+(f*K+u*q+m*$)),Y=+d(+(f*tt+u*et+m*it)),W=1,I=124,B=128,x=w,D=128,o=w,j=w,R=w;;){O=0|_[x+((P=W+-1|0)<<3)>>2],T=0|_[x+(P<<3)+4>>2],At=s*h+c*y+a*g+(s*nt+c*ot+a*_t)+(.5*((yt=+p[T+16>>2])+(ht=+p[T>>2]))*(s*J+c*X+a*z)+.5*((mt=+p[T+20>>2])+(ut=+p[T+4>>2]))*(s*K+c*q+a*$)+.5*((ft=+p[T+24>>2])+(ct=+p[T+8>>2]))*(s*tt+c*et+a*it)),dt=l*h+b*y+A*g+(l*nt+b*ot+A*_t)+(.5*(yt+ht)*(l*J+b*X+A*z)+.5*(mt+ut)*(l*K+b*q+A*$)+.5*(ft+ct)*(l*tt+b*et+A*it)),at=f*h+u*y+m*g+(f*nt+u*ot+m*_t)+(.5*(yt+ht)*(f*J+u*X+m*z)+.5*(mt+ut)*(f*K+u*q+m*$)+.5*(ft+ct)*(f*tt+u*et+m*it)),bt=M*(.5*(yt-ht)+0)+V*(.5*(mt-ut)+0)+G*(.5*(ft-ct)+0),lt=N*(.5*(yt-ht)+0)+L*(.5*(mt-ut)+0)+H*(.5*(ft-ct)+0),ct=Z*(.5*(yt-ht)+0)+U*(.5*(mt-ut)+0)+Y*(.5*(ft-ct)+0);do{if(+p[O>>2]<=bt+At&&+p[O+16>>2]>=At-bt&&+p[O+4>>2]<=lt+dt&&+p[O+20>>2]>=dt-lt&&+p[O+8>>2]<=ct+at&&+p[O+24>>2]>=at-ct){if((0|P)>(0|I)){F=D<<1;do{if((0|D)<(0|F)&(0|B)<(0|F)){do{if(D){if(_[6630]=1+(0|_[6630]),(w=0|di(16+(D<<4|3)|0))?(_[(w+4+15&-16)-4>>2]=w,k=w+4+15&-16):k=0,(0|D)<=0){R=k,w=k,rt=55;break}w=0;do{B=0|_[4+(I=x+(w<<3)|0)>>2],_[(r=k+(w<<3)|0)>>2]=_[I>>2],_[r+4>>2]=B,w=w+1|0}while((0|w)!=(0|D));R=k,w=k}else R=0,w=0,rt=55}while(0);if(55==(0|rt)&&(rt=0,!x)){D=F,j=R,I=R,k=R;break}o?(_[6631]=1+(0|_[6631]),Ni(0|_[o+-4>>2]),D=F,j=R,I=R,k=R):(D=F,j=R,I=R,k=R)}else D=B,w=x,I=R,k=o}while(0);r=F+-4|0,B=D,D=F,o=k}else r=I,w=x,I=R;if(k=!!(0|_[T+40>>2]),0|_[O+40>>2]){if(R=0|_[O+36>>2],k){k=0|_[T+36>>2],_[w+(P<<3)>>2]=R,_[w+(P<<3)+4>>2]=k,P=0|_[T+36>>2],k=W+1|0,_[w+(W<<3)>>2]=_[O+40>>2],_[w+(W<<3)+4>>2]=P,P=0|_[T+40>>2],R=W+2|0,_[w+(k<<3)>>2]=_[O+36>>2],_[w+(k<<3)+4>>2]=P,k=0|_[T+40>>2],_[w+(R<<3)>>2]=_[O+40>>2],_[w+(R<<3)+4>>2]=k,W=W+3|0,R=I,k=o;break}_[w+(P<<3)>>2]=R,_[w+(P<<3)+4>>2]=T,_[w+(W<<3)>>2]=_[O+40>>2],_[w+(W<<3)+4>>2]=T,W=W+1|0,R=I,k=o;break}if(k){R=0|_[T+36>>2],_[w+(P<<3)>>2]=O,_[w+(P<<3)+4>>2]=R,R=0|_[T+40>>2],_[w+(W<<3)>>2]=O,_[w+(W<<3)+4>>2]=R,W=W+1|0,R=I,k=o;break}_d[127&_[8+(0|_[S+128>>2])>>2]](S+128|0,O,T),W=P,R=I,k=o;break}W=P,r=I,w=x,k=o}while(0);if(!W)break;I=r,x=w,o=k}!(0|w)|!(0|j)||(_[6631]=1+(0|_[6631]),Ni(0|_[j+-4>>2]))}if(B=0|_[st>>2],(0|_[B+8>>2])>0){I=0;do{w=0|_[B+16>>2],k=0|_[w+(12*I|0)+8>>2];do{if(0|k){if(rt=0|_[w+(12*I|0)>>2],P=0|_[C+24>>2],T=0|_[P+(80*rt|0)+64>>2],O=0|_[e+12>>2],yt=+p[O>>2],X=+p[O+4>>2],J=+p[O+8>>2],ut=+p[O+16>>2],At=+p[O+20>>2],dt=+p[O+24>>2],ft=+p[O+32>>2],lt=+p[O+36>>2],tt=+p[O+40>>2],at=+p[P+(80*rt|0)>>2],ct=+p[P+(80*rt|0)+16>>2],_t=+p[P+(80*rt|0)+32>>2],ot=+p[P+(80*rt|0)+4>>2],nt=+p[P+(80*rt|0)+20>>2],it=+p[P+(80*rt|0)+36>>2],bt=+p[P+(80*rt|0)+8>>2],et=+p[P+(80*rt|0)+24>>2],$=+p[P+(80*rt|0)+40>>2],ht=+p[P+(80*rt|0)+48>>2],mt=+p[P+(80*rt|0)+52>>2],z=+p[P+(80*rt|0)+56>>2],q=+p[O+48>>2]+(yt*ht+X*mt+J*z),K=+p[O+52>>2]+(ut*ht+At*mt+dt*z),z=+p[O+56>>2]+(ft*ht+lt*mt+tt*z),p[S>>2]=yt*at+X*ct+J*_t,p[S+4>>2]=yt*ot+X*nt+J*it,p[S+8>>2]=yt*bt+X*et+J*$,p[S+12>>2]=0,p[S+16>>2]=ut*at+At*ct+dt*_t,p[S+20>>2]=ut*ot+At*nt+dt*it,p[S+24>>2]=ut*bt+At*et+dt*$,p[S+28>>2]=0,p[S+32>>2]=ft*at+lt*ct+tt*_t,p[S+36>>2]=ft*ot+lt*nt+tt*it,p[S+40>>2]=ft*bt+lt*et+tt*$,p[S+44>>2]=0,p[S+48>>2]=q,p[S+52>>2]=K,p[S+56>>2]=z,p[S+60>>2]=0,pd[127&_[8+(0|_[T>>2])>>2]](T,S,S+112|0,S+96|0),T=0|_[(0|_[B+16>>2])+(12*I|0)+4>>2],O=0|_[v+24>>2],rt=0|_[O+(80*T|0)+64>>2],P=0|_[i+12>>2],z=+p[P>>2],K=+p[P+4>>2],q=+p[P+8>>2],$=+p[P+16>>2],tt=+p[P+20>>2],et=+p[P+24>>2],lt=+p[P+32>>2],bt=+p[P+36>>2],ft=+p[P+40>>2],it=+p[O+(80*T|0)>>2],nt=+p[O+(80*T|0)+16>>2],ot=+p[O+(80*T|0)+32>>2],_t=+p[O+(80*T|0)+4>>2],ct=+p[O+(80*T|0)+20>>2],at=+p[O+(80*T|0)+36>>2],dt=+p[O+(80*T|0)+8>>2],At=+p[O+(80*T|0)+24>>2],ut=+p[O+(80*T|0)+40>>2],J=+p[O+(80*T|0)+48>>2],X=+p[O+(80*T|0)+52>>2],yt=+p[O+(80*T|0)+56>>2],mt=+p[P+48>>2]+(z*J+K*X+q*yt),ht=+p[P+52>>2]+($*J+tt*X+et*yt),yt=+p[P+56>>2]+(lt*J+bt*X+ft*yt),p[S>>2]=z*it+K*nt+q*ot,p[S+4>>2]=z*_t+K*ct+q*at,p[S+8>>2]=z*dt+K*At+q*ut,p[S+12>>2]=0,p[S+16>>2]=$*it+tt*nt+et*ot,p[S+20>>2]=$*_t+tt*ct+et*at,p[S+24>>2]=$*dt+tt*At+et*ut,p[S+28>>2]=0,p[S+32>>2]=lt*it+bt*nt+ft*ot,p[S+36>>2]=lt*_t+bt*ct+ft*at,p[S+40>>2]=lt*dt+bt*At+ft*ut,p[S+44>>2]=0,p[S+48>>2]=mt,p[S+52>>2]=ht,p[S+56>>2]=yt,p[S+60>>2]=0,pd[127&_[8+(0|_[rt>>2])>>2]](rt,S,S+80|0,S+64|0),w=+p[S+112>>2]>+p[S+64>>2]||+p[S+96>>2]<+p[S+80>>2]?0:1,(+p[S+112+8>>2]>+p[S+64+8>>2]||+p[S+96+8>>2]<+p[S+80+8>>2])&&(w=0),!(+p[S+112+4>>2]>+p[S+64+4>>2]||+p[S+96+4>>2]<+p[S+80+4>>2]|1^w))break;if(Xl[511&_[_[k>>2]>>2]](k),D=0|_[t+4>>2],ed[127&_[60+(0|_[D>>2])>>2]](D,k),D=0|_[B+16>>2],j=0|_[D+(12*I|0)>>2],D=0|_[D+(12*I|0)+4>>2],(0|(k=0|_[t+16>>2]))==(0|_[t+20>>2])&&(0|k)<(0|(pt=0|k?k<<1:1))){if(pt?(_[6630]=1+(0|_[6630]),(w=0|di(16+(12*pt|3)|0))?(_[(w+4+15&-16)-4>>2]=w,w=w+4+15&-16):w=0,k=0|_[t+16>>2]):w=0,(0|k)>0){R=0;do{rt=w+(12*R|0)|0,P=(0|_[t+24>>2])+(12*R|0)|0,_[rt>>2]=_[P>>2],_[rt+4>>2]=_[P+4>>2],_[rt+8>>2]=_[P+8>>2],R=R+1|0}while((0|R)!=(0|k))}0|(k=0|_[t+24>>2])&&(0|n[t+28|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[k+-4>>2])),_[t+24>>2]=0),n[t+28|0]=1,_[t+24>>2]=w,_[t+20>>2]=pt,w=0|_[t+16>>2]}else w=k;rt=0|_[t+24>>2],_[rt+(12*w|0)>>2]=j,_[rt+(12*w|0)+4>>2]=D,_[rt+(12*w|0)+8>>2]=0,_[t+16>>2]=1+(0|_[t+16>>2])}}while(0);I=I+1|0}while((0|I)<(0|_[B+8>>2]));k=t+24|0,R=t+16|0}else k=t+24|0,R=t+16|0;if((0|_[R>>2])>0){w=0;do{i=0|_[st>>2],pt=0|_[k>>2],El[63&_[8+(0|_[i>>2])>>2]](i,0|_[pt+(12*w|0)>>2],0|_[pt+(12*w|0)+4>>2]),w=w+1|0}while((0|w)<(0|_[R>>2]))}if(!(w=0|_[k>>2]))return n[t+28|0]=1,_[k>>2]=0,_[R>>2]=0,_[(t=t+20|0)>>2]=0,void(Q=S);0|n[t+28|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[w+-4>>2])),_[k>>2]=0,n[t+28|0]=1,_[k>>2]=0,_[R>>2]=0,_[(t=t+20|0)>>2]=0,Q=S},function(t,e,i,n,r){t|=0,i|=0,n|=0,r|=0;var c,a,l,d,b,A,f,u,m=0,h=0,y=0,g=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;_[16+(e|=0)>>2]=_[i>>2],_[e+16+4>>2]=_[i+4>>2],_[e+16+8>>2]=_[i+8>>2],_[e+16+12>>2]=_[i+12>>2],_[e+32>>2]=_[n>>2],_[e+32+4>>2]=_[n+4>>2],_[e+32+8>>2]=_[n+8>>2],_[e+32+12>>2]=_[n+12>>2],f=0|_[t+60>>2],u=65535&_[e+12>>2],c=+p[t+8>>2],l=+p[t+12>>2],b=+p[t+16>>2],a=+p[t+40>>2],C=(+p[i>>2]-c)*a,d=+p[t+44>>2],v=(+p[i+4>>2]-l)*d,A=+p[t+48>>2],S=(+p[i+8>>2]-b)*A,C<=0?j=0:(j=0|o[t+6>>1],j=o[t+4>>1]&(C>=+(65535&j)?j:65535&C)),v<=0?D=0:(D=0|o[t+6>>1],D=o[t+4>>1]&(v>=+(65535&D)?D:65535&v)),S<=0?I=0:(I=0|o[t+6>>1],I=o[t+4>>1]&(S>=+(65535&I)?I:65535&S)),S=(+p[n>>2]-c)*a,v=(+p[n+4>>2]-l)*d,C=(+p[n+8>>2]-b)*A,S<=0?w=1:(w=0|o[t+6>>1],w=o[t+4>>1]&(S>=+(65535&w)?w:65535&S)|1),v<=0?k=1:(k=0|o[t+6>>1],k=o[t+4>>1]&(v>=+(65535&k)?k:65535&v)|1),C<=0?R=1:(R=0|o[t+6>>1],R=o[t+4>>1]&(C>=+(65535&R)?R:65535&C)|1),m=0|o[f+(u<<6)+48>>1],h=0|o[f+(u<<6)+54>>1],B=0|_[t+68>>2],y=(65535&j)-(0|s[B+((65535&m)<<2)>>1])|0,g=(65535&w)-(0|s[B+((65535&h)<<2)>>1])|0,o[B+((65535&m)<<2)>>1]=j,o[B+((65535&h)<<2)>>1]=w,(0|y)<0&&Yt(t,0,m),(0|g)>0&&Zt(t,0,h),(0|y)>0&&Ut(t,0,m,r),(0|g)<0&&Ht(t,0,h,r),m=0|o[f+(u<<6)+50>>1],h=0|o[f+(u<<6)+56>>1],B=0|_[t+72>>2],y=(65535&D)-(0|s[B+((65535&m)<<2)>>1])|0,g=(65535&k)-(0|s[B+((65535&h)<<2)>>1])|0,o[B+((65535&m)<<2)>>1]=D,o[B+((65535&h)<<2)>>1]=k,(0|y)<0&&Yt(t,1,m),(0|g)>0&&Zt(t,1,h),(0|y)>0&&Ut(t,1,m,r),(0|g)<0&&Ht(t,1,h,r),g=0|o[f+(u<<6)+52>>1],m=0|o[f+(u<<6)+58>>1],B=0|_[t+76>>2],h=(65535&I)-(0|s[B+((65535&g)<<2)>>1])|0,y=(65535&R)-(0|s[B+((65535&m)<<2)>>1])|0,o[B+((65535&g)<<2)>>1]=I,o[B+((65535&m)<<2)>>1]=R,(0|h)<0&&Yt(t,2,g),(0|y)>0&&Zt(t,2,m),(0|h)>0&&Ut(t,2,g,r),(0|y)<0&&Ht(t,2,m,r),(m=0|_[t+108>>2])&&dd[31&_[16+(0|_[m>>2])>>2]](m,0|_[e+60>>2],i,n,r)},function(t,e,i,o,r){t|=0,e|=0,i|=0,o|=0,r|=0;var s,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0,h=0,y=0;s=Q,Q=Q+48|0,_[s+16>>2]=_[i>>2],_[s+16+4>>2]=_[i+4>>2],_[s+16+8>>2]=_[i+8>>2],_[s+16+12>>2]=_[i+12>>2],_[s+16+16>>2]=_[o>>2],_[s+16+16+4>>2]=_[o+4>>2],_[s+16+16+8>>2]=_[o+8>>2],_[s+16+16+12>>2]=_[o+12>>2];do{if(2==(0|_[e+60>>2])){if(Tt(t+64|0,r=0|_[e+48>>2]),0|(c=0|_[t+68>>2])&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[t+68>>2]=r,_[t+76>>2]=(0|_[t+76>>2])-1,r=0|_[t+8>>2])_[t+8>>2]=0;else{_[6630]=1+(0|_[6630]),(r=0|di(63))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,a=(c=r)+44|0;do{_[c>>2]=0,c=c+4|0}while((0|c)<(0|a))}_[r+32>>2]=0,_[r+36>>2]=e,_[r+40>>2]=0,_[r>>2]=_[s+16>>2],_[r+4>>2]=_[s+16+4>>2],_[r+8>>2]=_[s+16+8>>2],_[r+12>>2]=_[s+16+12>>2],_[r+16>>2]=_[s+16+16>>2],_[r+20>>2]=_[s+16+20>>2],_[r+24>>2]=_[s+16+24>>2],_[r+28>>2]=_[s+16+28>>2],U(t+4|0,0|_[t+4>>2],r),_[t+16>>2]=1+(0|_[t+16>>2]),_[e+48>>2]=r,r=1}else{if(_[t+168>>2]=1+(0|_[t+168>>2]),m=0|_[e+48>>2],+p[m>>2]<=+p[s+16+16>>2]&&+p[m+16>>2]>=+p[s+16>>2]&&+p[m+4>>2]<=+p[s+16+20>>2]&&+p[m+20>>2]>=+p[s+16+4>>2]&&+p[m+8>>2]<=+p[s+16+24>>2]&&+p[m+24>>2]>=+p[s+16+8>>2]){l=+p[e+16>>2],h=+p[i>>2]-l,d=+p[e+20>>2],f=+p[i+4>>2]-d,b=+p[e+24>>2],u=+p[i+8>>2]-b,y=+p[t+140>>2],l=.5*(+p[e+32>>2]-l)*y,d=y*(.5*(+p[e+36>>2]-d)),b=y*(.5*(+p[e+40>>2]-b)),p[s>>2]=l,p[s+4>>2]=d,p[s+8>>2]=b,p[s+12>>2]=0,h<0&&(p[s>>2]=-l),f<0&&(p[s+4>>2]=-d),u<0&&(p[s+8>>2]=-b),0|Lt(t+4|0,m,s+16|0,s,.05000000074505806)?(_[t+172>>2]=1+(0|_[t+172>>2]),r=1):r=0;break}r=0|Tt(t+4|0,m);t:do{if(r){if((0|(A=0|_[t+12>>2]))<=-1){r=0|_[t+4>>2];break}if(A)for(c=0;;){if(c=c+1|0,!(a=0|_[r+32>>2]))break t;if((0|c)>=(0|A)){r=a;break}r=a}}else r=0}while(0);_[m>>2]=_[s+16>>2],_[m+4>>2]=_[s+16+4>>2],_[m+8>>2]=_[s+16+8>>2],_[m+12>>2]=_[s+16+12>>2],_[m+16>>2]=_[s+16+16>>2],_[m+20>>2]=_[s+16+20>>2],_[m+24>>2]=_[s+16+24>>2],_[m+28>>2]=_[s+16+28>>2],U(t+4|0,r,m),_[t+172>>2]=1+(0|_[t+172>>2]),r=1}}while(0);c=(c=0|_[e+52>>2])?c+56|0:t+124+(_[e+60>>2]<<2)|0,_[c>>2]=_[e+56>>2],0|(c=0|_[e+56>>2])&&(_[c+52>>2]=_[e+52>>2]),_[e+16>>2]=_[i>>2],_[e+16+4>>2]=_[i+4>>2],_[e+16+8>>2]=_[i+8>>2],_[e+16+12>>2]=_[i+12>>2],_[e+32>>2]=_[o>>2],_[e+32+4>>2]=_[o+4>>2],_[e+32+8>>2]=_[o+8>>2],_[e+32+12>>2]=_[o+12>>2],c=0|_[t+144>>2],_[e+60>>2]=c,_[e+52>>2]=0,_[e+56>>2]=_[t+124+(c<<2)>>2],0|(a=0|_[t+124+(c<<2)>>2])&&(_[a+52>>2]=e),_[t+124+(c<<2)>>2]=e,r?(n[t+194|0]=1,0|n[t+193|0]||(_[s>>2]=9900,_[s+4>>2]=t,Le(t+64|0,0|_[t+64>>2],0|_[e+48>>2],s),Le(t+4|0,0|_[t+4>>2],0|_[e+48>>2],s)),Q=s):Q=s},Si,function(t,e,i,n,o){},function(t,e,i,n,o){e|=0,i|=0,n|=0,o|=0;var r,s,c,a,l,d,A,f,u,m=0,h=0,y=0;if(u=Q,Q=Q+32|0,f=0|_[12+(t|=0)>>2]){if(_[o+4>>2]=f,t=0|_[e+4>>2],n=0|_[i+4>>2],e=0|_[e+12>>2],i=0|_[i+12>>2],s=+p[i+48>>2],m=+p[e+48>>2]-s,c=+p[i+52>>2],h=+p[e+52>>2]-c,a=+p[i+56>>2],r=+p[e+56>>2]-a,l=+b(+(m*m+h*h+r*r)),d=+p[n+28>>2]*+p[n+12>>2],l>(A=+p[t+28>>2]*+p[t+12>>2]+d))return 0|_[f+748>>2]?(0|(n=0|_[f+740>>2]))==(0|(t=0|_[8+(0|_[o+8>>2])>>2]))?(E(f,n+4|0,4+(0|_[8+(0|_[o+12>>2])>>2])|0),void(Q=u)):(E(f,4+(0|_[8+(0|_[o+12>>2])>>2])|0,t+4|0),void(Q=u)):void(Q=u);_[u+16>>2]=1065353216,_[u+16+4>>2]=0,_[u+16+8>>2]=0,p[u+16+12>>2]=0,l>1.1920928955078125e-7?(p[u+16>>2]=m*(1/l),p[u+16+4>>2]=h*(1/l),p[u+16+8>>2]=r*(1/l),p[u+16+12>>2]=0,y=m*(1/l),h*=1/l,m=r*(1/l)):(y=1,h=0,m=0),p[u>>2]=s+d*y,p[u+4>>2]=c+d*h,p[u+8>>2]=a+d*m,p[u+12>>2]=0,rd[15&_[16+(0|_[o>>2])>>2]](o,u+16|0,u,l-A),e=0|_[o+4>>2];do{if(0|_[e+748>>2]){if((0|(n=0|_[e+740>>2]))==(0|(t=0|_[8+(0|_[o+8>>2])>>2]))){E(e,n+4|0,4+(0|_[8+(0|_[o+12>>2])>>2])|0);break}E(e,4+(0|_[8+(0|_[o+12>>2])>>2])|0,t+4|0);break}}while(0);Q=u}else Q=u},li,Be,function(t,e,i,o,r){t|=0,e|=0,i|=0,o|=0;do{if(0|Lp(t,0|_[e+8>>2]))s_(e,i,o);else if(0|Lp(t,0|_[e>>2])){if((0|_[e+16>>2])!=(0|i)&&(0|_[e+20>>2])!=(0|i)){_[e+32>>2]=o,_[e+20>>2]=i,_[e+40>>2]=1+(0|_[e+40>>2]),1==(0|_[e+36>>2])&&2==(0|_[e+24>>2])&&(n[e+54|0]=1),_[e+44>>2]=4;break}1==(0|o)&&(_[e+32>>2]=1)}}while(0)},function(t,e,i,o,r){t|=0,e|=0,i|=0,o|=0,r|=0;do{if(0|Lp(t,0|_[e+8>>2]))s_(e,i,o);else{if(!(0|Lp(t,0|_[e>>2]))){t=0|_[t+8>>2],dd[31&_[24+(0|_[t>>2])>>2]](t,e,i,o,r);break}if((0|_[e+16>>2])!=(0|i)&&(0|_[e+20>>2])!=(0|i)){if(_[e+32>>2]=o,4==(0|_[e+44>>2]))break;n[e+52|0]=0,n[e+53|0]=0,o=0|_[t+8>>2],Ad[7&_[20+(0|_[o>>2])>>2]](o,e,i,i,1,r),0|n[e+53|0]?0|n[e+52|0]?o=15:(t=1,o=11):(t=0,o=11);do{if(11==(0|o)){if(_[e+20>>2]=i,_[e+40>>2]=1+(0|_[e+40>>2]),1==(0|_[e+36>>2])&&2==(0|_[e+24>>2])){if(n[e+54|0]=1,t){o=15;break}t=4;break}t?o=15:t=4}}while(0);15==(0|o)&&(t=3),_[e+44>>2]=t;break}1==(0|o)&&(_[e+32>>2]=1)}}while(0)},function(t,e,i,o,r){t|=0,e|=0,i|=0,o|=0,r|=0;var s=0,p=0,c=0,a=0;t:do{if(0|Lp(t,0|_[e+8>>2]))s_(e,i,o);else{if(!(0|Lp(t,0|_[e>>2]))){if(p=0|_[t+12>>2],ro(t+16|0,e,i,o,r),(0|p)<=1)break;if(!(2&(s=0|_[t+8>>2]))&&1!=(0|_[e+36>>2])){if(!(1&s))for(s=t+24|0;;){if(0|n[e+54|0])break t;if(1==(0|_[e+36>>2]))break t;if(ro(s,e,i,o,r),(s=s+8|0)>>>0>=(t+16+(p<<3)|0)>>>0)break t}for(s=t+24|0;;){if(0|n[e+54|0])break t;if(1==(0|_[e+36>>2])&&1==(0|_[e+24>>2]))break t;if(ro(s,e,i,o,r),(s=s+8|0)>>>0>=(t+16+(p<<3)|0)>>>0)break t}}for(s=t+24|0;;){if(0|n[e+54|0])break t;if(ro(s,e,i,o,r),(s=s+8|0)>>>0>=(t+16+(p<<3)|0)>>>0)break t}}if((0|_[e+16>>2])!=(0|i)&&(0|_[e+20>>2])!=(0|i)){if(_[e+32>>2]=o,4==(0|_[e+44>>2]))break;c=t+16+(_[t+12>>2]<<3)|0,s=0,p=t+16|0,a=0;e:for(;;){if(p>>>0>=c>>>0){o=18;break}if(n[e+52|0]=0,n[e+53|0]=0,qn(p,e,i,i,1,r),0|n[e+54|0]){o=18;break}do{if(0|n[e+53|0]){if(!(0|n[e+52|0])){if(1&_[t+8>>2]){s=1,o=a;break}s=1,o=18;break e}if(1==(0|_[e+24>>2])){o=23;break e}if(!(2&_[t+8>>2])){o=23;break e}s=1,o=1}else o=a}while(0);p=p+8|0,a=o}do{if(18==(0|o)){if(!a&&(_[e+20>>2]=i,_[e+40>>2]=1+(0|_[e+40>>2]),1==(0|_[e+36>>2]))&&2==(0|_[e+24>>2])){if(n[e+54|0]=1,s){o=23;break}s=4;break}s?o=23:s=4}}while(0);23==(0|o)&&(s=3),_[e+44>>2]=s;break}1==(0|o)&&(_[e+32>>2]=1)}}while(0)},dc,dc,dc,dc,dc,dc,dc,dc],bd=[function(t,e,i,n,o,_){_=+_,v(38)},function(t,e,i,n,o,r){e|=0,i|=0,n|=0,o|=0,r=+r,pd[127&_[8+(0|_[(t|=0)>>2])>>2]](t,e,i,o),pd[127&_[8+(0|_[t>>2])>>2]](t,i,n,o),pd[127&_[8+(0|_[t>>2])>>2]](t,n,e,o)}],Ad=[bp,function(t,e,i,o,r,s){t|=0,e|=0,i|=0,o|=0,r|=0;var p=0,c=0,a=0,l=0,d=0,b=0,A=0;if((0|(s|=0))<0)return s=0|_[t+8>>2],void Vl[3&_[12+(0|_[s>>2])>>2]](s,e,i,o,r,0|_[t+12>>2],0|_[t+16>>2],0|_[t+4>>2],0|_[t+20>>2],0|_[t+24>>2]);A=0|_[t+16>>2];t:do{if((0|A)>0)for(l=0|_[t+12>>2],p=0;;){if(a=0|_[(d=l+(p<<2)|0)>>2],(0|(c=0|_[208+(0|_[a+28>>2])>>2]))<=-1&&(c=0|_[208+(0|_[a+32>>2])>>2]),(0|c)==(0|s))break t;if((0|(p=p+1|0))>=(0|A)){d=0;break}}else p=0,d=0}while(0);if((0|p)<(0|A)){b=0|_[t+12>>2],c=0;do{l=0|_[b+(p<<2)>>2],(0|(a=0|_[208+(0|_[l+28>>2])>>2]))<=-1&&(a=0|_[208+(0|_[l+32>>2])>>2]),c=c+((0|a)==(0|s)&1)|0,p=p+1|0}while((0|p)!=(0|A));s=c}else s=0;if(p=0|_[t+4>>2],(0|_[p+72>>2])<2)return A=0|_[t+8>>2],void Vl[3&_[12+(0|_[A>>2])>>2]](A,e,i,o,r,d,s,p,0|_[t+20>>2],0|_[t+24>>2]);if((0|i)>0){b=0,p=0|_[t+32>>2],c=0|_[t+36>>2];do{if(A=e+(b<<2)|0,(0|p)==(0|c))if((0|c)<(0|(l=0|c?c<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(p=0|di(16+(l<<2|3)|0))?(_[(p+4+15&-16)-4>>2]=p,p=p+4+15&-16):p=0,c=0|_[t+32>>2]):p=0,(0|c)>0){a=0;do{_[p+(a<<2)>>2]=_[(0|_[t+40>>2])+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|c))}(a=0|_[t+40>>2])&&(0|n[t+44|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2]),c=0|_[t+32>>2]),_[t+40>>2]=0),n[t+44|0]=1,_[t+40>>2]=p,_[t+36>>2]=l,p=c,c=l}else p=c;_[(0|_[t+40>>2])+(p<<2)>>2]=_[A>>2],p=p+1|0,_[t+32>>2]=p,b=b+1|0}while((0|b)!=(0|i))}if((0|r)>0){b=0,p=0|_[t+52>>2],c=0|_[t+56>>2];do{if(A=o+(b<<2)|0,(0|p)==(0|c))if((0|c)<(0|(l=0|c?c<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(p=0|di(16+(l<<2|3)|0))?(_[(p+4+15&-16)-4>>2]=p,p=p+4+15&-16):p=0,c=0|_[t+52>>2]):p=0,(0|c)>0){a=0;do{_[p+(a<<2)>>2]=_[(0|_[t+60>>2])+(a<<2)>>2],a=a+1|0}while((0|a)!=(0|c))}(a=0|_[t+60>>2])&&(0|n[t+64|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2]),c=0|_[t+52>>2]),_[t+60>>2]=0),n[t+64|0]=1,_[t+60>>2]=p,_[t+56>>2]=l,p=c,c=l}else p=c;_[(0|_[t+60>>2])+(p<<2)>>2]=_[A>>2],p=p+1|0,_[t+52>>2]=p,b=b+1|0}while((0|b)!=(0|r))}if(s){A=0,p=0|_[t+72>>2],c=0|_[t+76>>2];do{if(b=d+(A<<2)|0,(0|p)==(0|c))if((0|c)<(0|(l=0|c?c<<1:1))){if(l?(_[6630]=1+(0|_[6630]),(p=0|di(16+(l<<2|3)|0))?(_[(p+4+15&-16)-4>>2]=p,p=p+4+15&-16):p=0,a=p,p=0|_[t+72>>2]):(a=0,p=c),(0|p)>0){c=0;do{_[a+(c<<2)>>2]=_[(0|_[t+80>>2])+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|p))}(c=0|_[t+80>>2])&&(0|n[t+84|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2]),p=0|_[t+72>>2]),_[t+80>>2]=0),n[t+84|0]=1,_[t+80>>2]=a,_[t+76>>2]=l,c=l}else p=c;_[(0|_[t+80>>2])+(p<<2)>>2]=_[b>>2],p=p+1|0,_[t+72>>2]=p,A=A+1|0}while((0|A)!=(0|s))}else p=0|_[t+72>>2];((0|_[t+52>>2])+p|0)<=(0|_[72+(0|_[t+4>>2])>>2])||Mt(t)},function(t,e,i,n,r,p){var c;if(e|=0,i|=0,n|=0,r|=0,p|=0,0|(c=0|_[108+(t|=0)>>2]))Ad[7&_[24+(0|_[c>>2])>>2]](c,e,i,n,r,p);else if((e=0|o[t+56>>1])<<16>>16){r=1,p=1;do{i=0|_[t+68>>2],1&o[i+(p<<2)>>1]&&(Ll[31&_[8+(0|_[n>>2])>>2]](n,(0|_[t+60>>2])+(s[i+(p<<2)+2>>1]<<6)|0),e=0|o[t+56>>1]),p=65535&(r=r+1<<16>>16)}while(((65535&e)<<1|1)>>>0>p>>>0)}},function(t,e,i,n,o,r){t|=0,e|=0,i|=0,n|=0,o|=0,r|=0,i=Q,Q=Q+16|0,_[i>>2]=9972,_[i+4>>2]=n,Ze(t+4|0,0|_[t+4>>2],e,n+4|0,n+20|0,+p[n+32>>2],o,r,i),Ze(t+64|0,0|_[t+64>>2],e,n+4|0,n+20|0,+p[n+32>>2],o,r,i),Q=i},function(t,e,i,n,o,r){i|=0,n|=0,o|=0,0|Lp(t|=0,0|_[8+(e|=0)>>2])&&In(e,i,n,o)},function(t,e,i,n,o,r){i|=0,n|=0,o|=0,r|=0,0|Lp(t|=0,0|_[8+(e|=0)>>2])?In(e,i,n,o):(t=0|_[t+8>>2],Ad[7&_[20+(0|_[t>>2])>>2]](t,e,i,n,o,r))},function(t,e,i,o,r,s){i|=0,o|=0,r|=0,s|=0;var p=0,c=0,a=0,l=0;if(0|Lp(t|=0,0|_[8+(e|=0)>>2]))In(e,i,o,r);else{c=0|n[e+52|0],a=0|n[e+53|0],l=0|_[t+12>>2],n[e+52|0]=0,n[e+53|0]=0,qn(t+16|0,e,i,o,r,s);t:do{if((0|l)>1){p=t+24|0;do{if(0|n[e+54|0])break t;if(0|n[e+52|0]){if(1==(0|_[e+24>>2]))break t;if(!(2&_[t+8>>2]))break t}else if(0|n[e+53|0]&&!(1&_[t+8>>2]))break t;n[e+52|0]=0,n[e+53|0]=0,qn(p,e,i,o,r,s),p=p+8|0}while(p>>>0<(t+16+(l<<3)|0)>>>0)}}while(0);n[e+52|0]=c,n[e+53|0]=a}},bp],fd=[function(t,e,i,n,o,_,r){v(40)},function(t,e,i,n,o,r,s){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0;var c,l,d=0,b=0,A=0,f=0,u=0,m=0,h=0;if(l=Q,Q=Q+16|0,p[(n|=0)>>2]=34028234663852886e22,p[o>>2]=-34028234663852886e22,(0|(c=0|_[t+96>>2]))>0){A=0;do{h=0|_[t+104>>2],m=+p[h+(A<<4)>>2]*+p[t+12>>2],u=+p[h+(A<<4)+4>>2]*+p[t+16>>2],f=+p[h+(A<<4)+8>>2]*+p[t+20>>2],d=m*+p[e>>2]+u*+p[e+4>>2]+f*+p[e+8>>2]+ +p[e+48>>2],b=m*+p[e+16>>2]+u*+p[e+20>>2]+f*+p[e+24>>2]+ +p[e+52>>2],f=m*+p[e+32>>2]+u*+p[e+36>>2]+f*+p[e+40>>2]+ +p[e+56>>2],(u=d*+p[i>>2]+b*+p[i+4>>2]+f*+p[i+8>>2])<+p[n>>2]&&(p[n>>2]=u,p[r>>2]=d,p[r+4>>2]=b,p[r+8>>2]=f,p[r+12>>2]=0),u>+p[o>>2]&&(p[o>>2]=u,p[s>>2]=d,p[s+4>>2]=b,p[s+8>>2]=f,p[s+12>>2]=0),A=A+1|0}while((0|A)!=(0|c));b=m=+p[o>>2],p[a>>2]=m,A=0|_[a>>2]}else b=-34028234663852886e22,A=-8388609;(d=+p[n>>2])>b?(_[n>>2]=A,p[o>>2]=d,_[l>>2]=_[r>>2],_[l+4>>2]=_[r+4>>2],_[l+8>>2]=_[r+8>>2],_[l+12>>2]=_[r+12>>2],_[r>>2]=_[s>>2],_[r+4>>2]=_[s+4>>2],_[r+8>>2]=_[s+8>>2],_[r+12>>2]=_[s+12>>2],_[s>>2]=_[l>>2],_[s+4>>2]=_[l+4>>2],_[s+8>>2]=_[l+8>>2],_[s+12>>2]=_[l+12>>2],Q=l):Q=l}],ud=[function(t,e,i,n,o,_,r,s,p){p=+p,v(41)},function(t,e,i,n,o,r,s,p,c){e|=0,i|=0,n|=0,p|=0,c=+c,bd[1&_[28+(0|_[(t|=0)>>2])>>2]](t,e,i,n,p,c)}],md=[function(t,e,i,n,o,_,r,s,p){v(42)},function(t,e,i,n,o,r,s,p,c){if(t|=0,e|=0,i|=0,n|=0,r|=0,s|=0,c|=0,0|_[44+(p|=0)>>2])if(e=0|_[p+20>>2],256&_[p+64>>2]){if((0|e)<=0)return;n=0;do{if((0|(i=0|_[t+28>>2]))>0){e=0;do{c=0|_[(0|_[t+116>>2])+(e<<2)>>2],s=0|_[t+36>>2],gt((r=0|_[t+16>>2])+(244*(0|_[s+(152*c|0)+144>>2])|0)|0,r+(244*(0|_[s+(152*c|0)+148>>2])|0)|0,s+(152*c|0)|0),e=e+1|0}while((0|e)!=(0|i));e=0|_[p+20>>2]}n=n+1|0}while((0|n)<(0|e))}else if(!((0|e)<=0)){n=0;do{if((0|(i=0|_[t+28>>2]))>0){e=0;do{c=0|_[(0|_[t+116>>2])+(e<<2)>>2],s=0|_[t+36>>2],gt((r=0|_[t+16>>2])+(244*(0|_[s+(152*c|0)+144>>2])|0)|0,r+(244*(0|_[s+(152*c|0)+148>>2])|0)|0,s+(152*c|0)|0),e=e+1|0}while((0|e)!=(0|i));e=0|_[p+20>>2]}n=n+1|0}while((0|n)<(0|e))}}],hd=[yr,On,On,yr];return{__GLOBAL__sub_I_btQuickprof_cpp:function(){var t;t=0|a_(8),_[6629]=t,G(0|t,0),_[6619]=21817,_[6620]=0,_[6621]=0,_[6622]=0,_[6623]=0,_[6624]=0,_[6625]=0,_[6626]=0,_[6627]=0,qo(26476)},___cxa_can_catch:function(t,e,i){var n;return t|=0,e|=0,i|=0,n=Q,Q=Q+16|0,_[n>>2]=_[i>>2],(t=0|El[63&_[16+(0|_[t>>2])>>2]](t,e,n))&&(_[i>>2]=_[n>>2]),Q=n,1&t},___cxa_is_pointer_type:function(t){return 0|(t=(t|=0)?1&!!(0|Xi(t,3336)):0)},___muldi3:f_,___udivdi3:pp,_bitshift64Lshr:K_,_bitshift64Shl:Z_,_emscripten_bind_Anchor___destroy___0:qp,_emscripten_bind_Anchor_get_m_body_0:oa,_emscripten_bind_Anchor_get_m_c0_0:Qa,_emscripten_bind_Anchor_get_m_c1_0:La,_emscripten_bind_Anchor_get_m_c2_0:pa,_emscripten_bind_Anchor_get_m_influence_0:fa,_emscripten_bind_Anchor_get_m_local_0:sl,_emscripten_bind_Anchor_get_m_node_0:Da,_emscripten_bind_Anchor_set_m_body_1:oc,_emscripten_bind_Anchor_set_m_c0_1:function(t,e){Vn(28+(t|=0)|0,e|=0)},_emscripten_bind_Anchor_set_m_c1_1:function(t,e){e|=0,_[76+(t|=0)>>2]=_[e>>2],_[t+76+4>>2]=_[e+4>>2],_[t+76+8>>2]=_[e+8>>2],_[t+76+12>>2]=_[e+12>>2]},_emscripten_bind_Anchor_set_m_c2_1:fc,_emscripten_bind_Anchor_set_m_influence_1:gc,_emscripten_bind_Anchor_set_m_local_1:l_,_emscripten_bind_Anchor_set_m_node_1:kc,_emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2:function(t,e){var i;return t|=0,e|=0,Gn(i=0|a_(80),t,e),0|i},_emscripten_bind_ClosestConvexResultCallback___destroy___0:Kr,_emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0:ua,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0:jp,_emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0:Rp,_emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0:_l,_emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0:Qa,_emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0:function(t){return 44+(t|=0)|0},_emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0:function(t){return 60+(t|=0)|0},_emscripten_bind_ClosestConvexResultCallback_hasHit_0:ys,_emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1:ea,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1:Js,_emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1:Ys,_emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1:function(t,e){e|=0,_[12+(t|=0)>>2]=_[e>>2],_[t+12+4>>2]=_[e+4>>2],_[t+12+8>>2]=_[e+8>>2],_[t+12+12>>2]=_[e+12>>2]},_emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1:function(t,e){e|=0,_[28+(t|=0)>>2]=_[e>>2],_[t+28+4>>2]=_[e+4>>2],_[t+28+8>>2]=_[e+8>>2],_[t+28+12>>2]=_[e+12>>2]},_emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1:function(t,e){e|=0,_[44+(t|=0)>>2]=_[e>>2],_[t+44+4>>2]=_[e+4>>2],_[t+44+8>>2]=_[e+8>>2],_[t+44+12>>2]=_[e+12>>2]},_emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1:function(t,e){e|=0,_[60+(t|=0)>>2]=_[e>>2],_[t+60+4>>2]=_[e+4>>2],_[t+60+8>>2]=_[e+8>>2],_[t+60+12>>2]=_[e+12>>2]},_emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2:function(t,e){var i;return t|=0,e|=0,Ln(i=0|a_(84),t,e),0|i},_emscripten_bind_ClosestRayResultCallback___destroy___0:Kr,_emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0:ua,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0:Op,_emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0:Vp,_emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0:Ac,_emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0:Yc,_emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0:Ia,_emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0:function(t){return 20+(t|=0)|0},_emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0:sa,_emscripten_bind_ClosestRayResultCallback_hasHit_0:js,_emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1:ea,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1:$s,_emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1:tp,_emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1:lp,_emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1:i_,_emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1:__,_emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1:function(t,e){e|=0,_[20+(t|=0)>>2]=_[e>>2],_[t+20+4>>2]=_[e+4>>2],_[t+20+8>>2]=_[e+8>>2],_[t+20+12>>2]=_[e+12>>2]},_emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1:r_,_emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0:function(){var t;return t=0|a_(8),_[t>>2]=0,_[t+4>>2]=0,function(t){(function(t){_[(t|=0)>>2]=3600,o[t+4>>1]=1,o[t+6>>1]=-1})(t|=0),_[t>>2]=3576}(t),0|t},_emscripten_bind_ConcreteContactResultCallback___destroy___0:Kr,_emscripten_bind_ConcreteContactResultCallback_addSingleResult_7:Uo,_emscripten_bind_Config___destroy___0:function(t){(t|=0)&&(fr(t),yl(t))},_emscripten_bind_Config_get_citerations_0:$c,_emscripten_bind_Config_get_collisions_0:function(t){return 0|_[100+(t|=0)>>2]},_emscripten_bind_Config_get_diterations_0:Uc,_emscripten_bind_Config_get_kAHR_0:da,_emscripten_bind_Config_get_kCHR_0:la,_emscripten_bind_Config_get_kDF_0:Ca,_emscripten_bind_Config_get_kDG_0:ga,_emscripten_bind_Config_get_kDP_0:ka,_emscripten_bind_Config_get_kKHR_0:aa,_emscripten_bind_Config_get_kLF_0:ya,_emscripten_bind_Config_get_kMT_0:ha,_emscripten_bind_Config_get_kPR_0:ma,_emscripten_bind_Config_get_kSHR_0:ca,_emscripten_bind_Config_get_kSKHR_CL_0:qc,_emscripten_bind_Config_get_kSK_SPLT_CL_0:Qc,_emscripten_bind_Config_get_kSRHR_CL_0:Kc,_emscripten_bind_Config_get_kSR_SPLT_CL_0:Lc,_emscripten_bind_Config_get_kSSHR_CL_0:zc,_emscripten_bind_Config_get_kSS_SPLT_CL_0:ba,_emscripten_bind_Config_get_kVCF_0:ua,_emscripten_bind_Config_get_kVC_0:fa,_emscripten_bind_Config_get_maxvolume_0:Jc,_emscripten_bind_Config_get_piterations_0:Zc,_emscripten_bind_Config_get_timescale_0:function(t){return+ +p[80+(t|=0)>>2]},_emscripten_bind_Config_get_viterations_0:function(t){return 0|_[84+(t|=0)>>2]},_emscripten_bind_Config_set_citerations_1:function(t,e){e|=0,_[96+(t|=0)>>2]=e},_emscripten_bind_Config_set_collisions_1:function(t,e){e|=0,_[100+(t|=0)>>2]=e},_emscripten_bind_Config_set_diterations_1:function(t,e){e|=0,_[92+(t|=0)>>2]=e},_emscripten_bind_Config_set_kAHR_1:hc,_emscripten_bind_Config_set_kCHR_1:mc,_emscripten_bind_Config_set_kDF_1:wc,_emscripten_bind_Config_set_kDG_1:Ec,_emscripten_bind_Config_set_kDP_1:ta,_emscripten_bind_Config_set_kKHR_1:uc,_emscripten_bind_Config_set_kLF_1:Sc,_emscripten_bind_Config_set_kMT_1:vc,_emscripten_bind_Config_set_kPR_1:Cc,_emscripten_bind_Config_set_kSHR_1:xc,_emscripten_bind_Config_set_kSKHR_CL_1:nc,_emscripten_bind_Config_set_kSK_SPLT_CL_1:zp,_emscripten_bind_Config_set_kSRHR_CL_1:ic,_emscripten_bind_Config_set_kSR_SPLT_CL_1:Xp,_emscripten_bind_Config_set_kSSHR_CL_1:ec,_emscripten_bind_Config_set_kSS_SPLT_CL_1:Dc,_emscripten_bind_Config_set_kVCF_1:ea,_emscripten_bind_Config_set_kVC_1:gc,_emscripten_bind_Config_set_maxvolume_1:tc,_emscripten_bind_Config_set_piterations_1:Np,_emscripten_bind_Config_set_timescale_1:function(t,e){e=+e,p[80+(t|=0)>>2]=e},_emscripten_bind_Config_set_viterations_1:Gp,_emscripten_bind_ContactResultCallback___destroy___0:Kr,_emscripten_bind_ContactResultCallback_addSingleResult_7:Uo,_emscripten_bind_ConvexResultCallback___destroy___0:Kr,_emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0:ua,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0:jp,_emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0:Rp,_emscripten_bind_ConvexResultCallback_hasHit_0:ys,_emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1:ea,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1:Js,_emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1:Ys,_emscripten_bind_DebugDrawer_DebugDrawer_0:function(){var t;return t=0|a_(4),_[t>>2]=0,function(t){(function(t){_[(t|=0)>>2]=3476})(t|=0),_[t>>2]=3376}(t),0|t},_emscripten_bind_DebugDrawer___destroy___0:Kr,_emscripten_bind_DebugDrawer_draw3dText_2:Fr,_emscripten_bind_DebugDrawer_drawContactPoint_5:v_,_emscripten_bind_DebugDrawer_drawLine_3:Ar,_emscripten_bind_DebugDrawer_getDebugMode_0:Ls,_emscripten_bind_DebugDrawer_reportErrorWarning_1:es,_emscripten_bind_DebugDrawer_setDebugMode_1:as,_emscripten_bind_LocalConvexResult_LocalConvexResult_5:function(t,e,i,n,o){var _;return t|=0,e|=0,i|=0,n|=0,o=+o,Mn(_=0|a_(44),t,e,i,n,o),0|_},_emscripten_bind_LocalConvexResult___destroy___0:qp,_emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0:Da,_emscripten_bind_LocalConvexResult_get_m_hitFraction_0:aa,_emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0:rl,_emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0:Ha,_emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0:Hc,_emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1:kc,_emscripten_bind_LocalConvexResult_set_m_hitFraction_1:uc,_emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1:h_,_emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1:A_,_emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1:fp,_emscripten_bind_LocalShapeInfo___destroy___0:qp,_emscripten_bind_LocalShapeInfo_get_m_shapePart_0:Da,_emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0:Hc,_emscripten_bind_LocalShapeInfo_set_m_shapePart_1:kc,_emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1:fp,_emscripten_bind_Material___destroy___0:qp,_emscripten_bind_Material_get_m_flags_0:Xc,_emscripten_bind_Material_get_m_kAST_0:ka,_emscripten_bind_Material_get_m_kLST_0:ua,_emscripten_bind_Material_get_m_kVST_0:ga,_emscripten_bind_Material_set_m_flags_1:function(t,e){e|=0,_[16+(t|=0)>>2]=e},_emscripten_bind_Material_set_m_kAST_1:ta,_emscripten_bind_Material_set_m_kLST_1:ea,_emscripten_bind_Material_set_m_kVST_1:Ec,_emscripten_bind_Node___destroy___0:qp,_emscripten_bind_Node_get_m_area_0:pa,_emscripten_bind_Node_get_m_f_0:function(t){return 56+(t|=0)|0},_emscripten_bind_Node_get_m_im_0:function(t){return+ +p[88+(t|=0)>>2]},_emscripten_bind_Node_get_m_n_0:function(t){return 72+(t|=0)|0},_emscripten_bind_Node_get_m_q_0:Ha,_emscripten_bind_Node_get_m_v_0:Ea,_emscripten_bind_Node_get_m_x_0:rl,_emscripten_bind_Node_set_m_area_1:fc,_emscripten_bind_Node_set_m_f_1:function(t,e){e|=0,_[56+(t|=0)>>2]=_[e>>2],_[t+56+4>>2]=_[e+4>>2],_[t+56+8>>2]=_[e+8>>2],_[t+56+12>>2]=_[e+12>>2]},_emscripten_bind_Node_set_m_im_1:function(t,e){e=+e,p[88+(t|=0)>>2]=e},_emscripten_bind_Node_set_m_n_1:function(t,e){e|=0,_[72+(t|=0)>>2]=_[e>>2],_[t+72+4>>2]=_[e+4>>2],_[t+72+8>>2]=_[e+8>>2],_[t+72+12>>2]=_[e+12>>2]},_emscripten_bind_Node_set_m_q_1:A_,_emscripten_bind_Node_set_m_v_1:b_,_emscripten_bind_Node_set_m_x_1:h_,_emscripten_bind_RayResultCallback___destroy___0:Kr,_emscripten_bind_RayResultCallback_get_m_closestHitFraction_0:ua,_emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0:Op,_emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0:Vp,_emscripten_bind_RayResultCallback_get_m_collisionObject_0:Ac,_emscripten_bind_RayResultCallback_hasHit_0:js,_emscripten_bind_RayResultCallback_set_m_closestHitFraction_1:ea,_emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1:$s,_emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1:tp,_emscripten_bind_RayResultCallback_set_m_collisionObject_1:lp,_emscripten_bind_RaycastInfo___destroy___0:qp,_emscripten_bind_RaycastInfo_get_m_contactNormalWS_0:Cl,_emscripten_bind_RaycastInfo_get_m_contactPointWS_0:ia,_emscripten_bind_RaycastInfo_get_m_groundObject_0:Zc,_emscripten_bind_RaycastInfo_get_m_hardPointWS_0:sa,_emscripten_bind_RaycastInfo_get_m_isInContact_0:function(t){return 0|!!(1&n[84+(t|=0)|0])},_emscripten_bind_RaycastInfo_get_m_suspensionLength_0:ha,_emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0:Ia,_emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0:Yc,_emscripten_bind_RaycastInfo_set_m_contactNormalWS_1:d_,_emscripten_bind_RaycastInfo_set_m_contactPointWS_1:o_,_emscripten_bind_RaycastInfo_set_m_groundObject_1:Np,_emscripten_bind_RaycastInfo_set_m_hardPointWS_1:r_,_emscripten_bind_RaycastInfo_set_m_isInContact_1:function(t,e){e|=0,n[84+(t|=0)|0]=1&e},_emscripten_bind_RaycastInfo_set_m_suspensionLength_1:vc,_emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1:__,_emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1:i_,_emscripten_bind_VoidPtr___destroy___0:qp,_emscripten_bind_btActionInterface___destroy___0:Kr,_emscripten_bind_btActionInterface_updateAction_2:Br,_emscripten_bind_btAxisSweep3___destroy___0:Kr,_emscripten_bind_btAxisSweep3_btAxisSweep3_2:function(t,e){var i;return t|=0,e|=0,Ge(i=0|I_(),t,e,16384,0,0),0|i},_emscripten_bind_btAxisSweep3_btAxisSweep3_3:function(t,e,i){var n;return t|=0,e|=0,i|=0,Ge(n=0|I_(),t,e,65535&i,0,0),0|n},_emscripten_bind_btAxisSweep3_btAxisSweep3_4:function(t,e,i,n){var o;return t|=0,e|=0,i|=0,n|=0,Ge(o=0|I_(),t,e,65535&i,n,0),0|o},_emscripten_bind_btAxisSweep3_btAxisSweep3_5:function(t,e,i,n,o){var _;return t|=0,e|=0,i|=0,n|=0,o|=0,Ge(_=0|I_(),t,e,65535&i,n,o),0|_},_emscripten_bind_btBoxShape___destroy___0:Kr,_emscripten_bind_btBoxShape_btBoxShape_1:function(t){t|=0;var e,i=0,n=0,o=0,r=0,s=0;return e=0|L_(),_[e+8>>2]=0,_[e+12>>2]=1065353216,_[e+16>>2]=1065353216,_[e+20>>2]=1065353216,p[e+24>>2]=0,p[e+44>>2]=.03999999910593033,_[e+52>>2]=0,_[e>>2]=8840,_[e+4>>2]=0,o=+p[t>>2],n=+p[t+4>>2],i=+p[t+8>>2],(i=.10000000149011612*+p[t+((o>2])<.03999999910593033&&(s=+ca(e),r=+ca(e),o=+ca(e),s+=+p[e+28>>2],r+=+p[e+32>>2],o+=+p[e+36>>2],p[e+44>>2]=i,i=+ca(e),n=+ca(e),o-=+ca(e),p[e+28>>2]=s-i,p[e+32>>2]=r-n,p[e+36>>2]=o,p[e+40>>2]=0),o=+ca(e),r=+ca(e),s=+ca(e),r=+p[t+4>>2]-r,s=+p[t+8>>2]-s,p[e+28>>2]=+p[t>>2]-o,p[e+32>>2]=r,p[e+36>>2]=s,p[e+40>>2]=0,0|e},_emscripten_bind_btBoxShape_calculateLocalInertia_2:Sr,_emscripten_bind_btBoxShape_getLocalScaling_0:Gs,_emscripten_bind_btBoxShape_getMargin_0:Us,_emscripten_bind_btBoxShape_setLocalScaling_1:ps,_emscripten_bind_btBoxShape_setMargin_1:hs,_emscripten_bind_btBroadphaseInterface___destroy___0:Kr,_emscripten_bind_btBroadphaseProxy___destroy___0:sp,_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0:function(t){return 0|o[4+(t|=0)>>1]},_emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0:function(t){return 0|o[6+(t|=0)>>1]},_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1:function(t,e){e|=0,o[4+(t|=0)>>1]=e},_emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1:function(t,e){e|=0,o[6+(t|=0)>>1]=e},_emscripten_bind_btBvhTriangleMeshShape___destroy___0:Kr,_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2:function(t,e){var i;return t|=0,e|=0,pi(i=0|G_(),t,e,1),0|i},_emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3:function(t,e,i){var n;return t|=0,e|=0,i|=0,pi(n=0|G_(),t,e,i),0|n},_emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2:Sr,_emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0:Gs,_emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1:ps,_emscripten_bind_btCapsuleShapeX___destroy___0:Kr,_emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2:function(t,e){var i;return t=+t,e=+e,i=0|L_(),_[i+8>>2]=0,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,_[i+4>>2]=10,_[i>>2]=8488,_[i+52>>2]=0,p[i+28>>2]=.5*e,p[i+32>>2]=t,p[i+36>>2]=t,p[i+40>>2]=0,0|i},_emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2:Sr,_emscripten_bind_btCapsuleShapeX_getHalfHeight_0:yp,_emscripten_bind_btCapsuleShapeX_getLocalScaling_0:Gs,_emscripten_bind_btCapsuleShapeX_getMargin_0:Us,_emscripten_bind_btCapsuleShapeX_getRadius_0:Jp,_emscripten_bind_btCapsuleShapeX_getUpAxis_0:Kp,_emscripten_bind_btCapsuleShapeX_setLocalScaling_1:ps,_emscripten_bind_btCapsuleShapeX_setMargin_1:hs,_emscripten_bind_btCapsuleShapeZ___destroy___0:Kr,_emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2:function(t,e){var i;return t=+t,e=+e,i=0|L_(),_[i+8>>2]=0,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,_[i+4>>2]=10,_[i>>2]=8588,_[i+52>>2]=2,p[i+28>>2]=t,p[i+32>>2]=t,p[i+36>>2]=.5*e,p[i+40>>2]=0,0|i},_emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2:Sr,_emscripten_bind_btCapsuleShapeZ_getHalfHeight_0:yp,_emscripten_bind_btCapsuleShapeZ_getLocalScaling_0:Gs,_emscripten_bind_btCapsuleShapeZ_getMargin_0:Us,_emscripten_bind_btCapsuleShapeZ_getRadius_0:Jp,_emscripten_bind_btCapsuleShapeZ_getUpAxis_0:Kp,_emscripten_bind_btCapsuleShapeZ_setLocalScaling_1:ps,_emscripten_bind_btCapsuleShapeZ_setMargin_1:hs,_emscripten_bind_btCapsuleShape___destroy___0:Kr,_emscripten_bind_btCapsuleShape_btCapsuleShape_2:function(t,e){var i;return t=+t,e=+e,i=0|L_(),_[i+8>>2]=0,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,_[i>>2]=8388,_[i+4>>2]=10,_[i+52>>2]=1,p[i+28>>2]=t,p[i+32>>2]=.5*e,p[i+36>>2]=t,p[i+40>>2]=0,0|i},_emscripten_bind_btCapsuleShape_calculateLocalInertia_2:Sr,_emscripten_bind_btCapsuleShape_getHalfHeight_0:yp,_emscripten_bind_btCapsuleShape_getLocalScaling_0:Gs,_emscripten_bind_btCapsuleShape_getMargin_0:Us,_emscripten_bind_btCapsuleShape_getRadius_0:Jp,_emscripten_bind_btCapsuleShape_getUpAxis_0:Kp,_emscripten_bind_btCapsuleShape_setLocalScaling_1:ps,_emscripten_bind_btCapsuleShape_setMargin_1:hs,_emscripten_bind_btCollisionConfiguration___destroy___0:Kr,_emscripten_bind_btCollisionDispatcher___destroy___0:Kr,_emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1:function(t){t|=0;var e,i=0,o=0;e=0|a_(5260),_[e>>2]=6028,_[e+4>>2]=2,n[e+24|0]=1,_[e+20>>2]=0,_[e+12>>2]=0,_[e+16>>2]=0,_[e+28>>2]=6500,_[e+5256>>2]=t,_[e+60>>2]=80,i=0|Gl[127&_[12+(0|_[t>>2])>>2]](t),_[e+64>>2]=i,t=0|Gl[127&_[8+(0|_[t>>2])>>2]](t),_[e+68>>2]=t,t=0;do{i=0;do{o=0|_[e+5256>>2],o=0|El[63&_[16+(0|_[o>>2])>>2]](o,t,i),_[e+72+(144*t|0)+(i<<2)>>2]=o,i=i+1|0}while(i>>>0<36);t=t+1|0}while(t>>>0<36);return 0|e},_emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1:Qr,_emscripten_bind_btCollisionDispatcher_getNumManifolds_0:Xs,_emscripten_bind_btCollisionObject___destroy___0:Xr,_emscripten_bind_btCollisionObject_activate_0:J_,_emscripten_bind_btCollisionObject_activate_1:k_,_emscripten_bind_btCollisionObject_forceActivationState_1:dp,_emscripten_bind_btCollisionObject_getCollisionFlags_0:Bp,_emscripten_bind_btCollisionObject_getCollisionShape_0:Ip,_emscripten_bind_btCollisionObject_getUserIndex_0:wp,_emscripten_bind_btCollisionObject_getUserPointer_0:Zp,_emscripten_bind_btCollisionObject_getWorldTransform_0:Bc,_emscripten_bind_btCollisionObject_isActive_0:np,_emscripten_bind_btCollisionObject_isKinematicObject_0:ks,_emscripten_bind_btCollisionObject_isStaticObject_0:Vs,_emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0:rs,_emscripten_bind_btCollisionObject_setActivationState_1:Vr,_emscripten_bind_btCollisionObject_setAnisotropicFriction_2:Cr,_emscripten_bind_btCollisionObject_setCcdMotionThreshold_1:Ss,_emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1:ms,_emscripten_bind_btCollisionObject_setCollisionFlags_1:Os,_emscripten_bind_btCollisionObject_setCollisionShape_1:is,_emscripten_bind_btCollisionObject_setContactProcessingThreshold_1:Rs,_emscripten_bind_btCollisionObject_setFriction_1:ip,_emscripten_bind_btCollisionObject_setRestitution_1:Zs,_emscripten_bind_btCollisionObject_setRollingFriction_1:Ps,_emscripten_bind_btCollisionObject_setUserIndex_1:Ks,_emscripten_bind_btCollisionObject_setUserPointer_1:Ks,_emscripten_bind_btCollisionObject_setWorldTransform_1:ls,_emscripten_bind_btCollisionShape___destroy___0:Kr,_emscripten_bind_btCollisionShape_calculateLocalInertia_2:Sr,_emscripten_bind_btCollisionShape_getLocalScaling_0:Gs,_emscripten_bind_btCollisionShape_getMargin_0:Us,_emscripten_bind_btCollisionShape_setLocalScaling_1:ps,_emscripten_bind_btCollisionShape_setMargin_1:hs,_emscripten_bind_btCollisionWorld___destroy___0:Kr,_emscripten_bind_btCollisionWorld_addCollisionObject_1:Pr,_emscripten_bind_btCollisionWorld_addCollisionObject_2:ur,_emscripten_bind_btCollisionWorld_addCollisionObject_3:tr,_emscripten_bind_btCollisionWorld_btCollisionWorld_3:function(t,e,i){return t|=0,e|=0,i|=0,i=0|a_(80),_[i>>2]=6528,n[i+20|0]=1,_[i+16>>2]=0,_[i+8>>2]=0,_[i+12>>2]=0,_[i+24>>2]=t,p[i+28>>2]=0,_[i+32>>2]=0,_[i+36>>2]=1,p[i+40>>2]=1,n[i+44|0]=1,_[i+48>>2]=0,n[i+52|0]=0,n[i+53|0]=1,n[i+54|0]=1,p[i+56>>2]=.03999999910593033,n[i+60|0]=0,p[i+64>>2]=0,_[i+68>>2]=e,_[i+72>>2]=0,n[i+76|0]=1,0|i},_emscripten_bind_btCollisionWorld_contactPairTest_3:an,_emscripten_bind_btCollisionWorld_contactTest_2:Qn,_emscripten_bind_btCollisionWorld_convexSweepTest_5:$o,_emscripten_bind_btCollisionWorld_debugDrawObject_3:or,_emscripten_bind_btCollisionWorld_debugDrawWorld_0:Ts,_emscripten_bind_btCollisionWorld_getBroadphase_0:Fp,_emscripten_bind_btCollisionWorld_getDebugDrawer_0:Bs,_emscripten_bind_btCollisionWorld_getDispatchInfo_0:Cp,_emscripten_bind_btCollisionWorld_getDispatcher_0:Wp,_emscripten_bind_btCollisionWorld_getPairCache_0:Ns,_emscripten_bind_btCollisionWorld_performDiscreteCollisionDetection_0:ws,_emscripten_bind_btCollisionWorld_rayTest_3:lr,_emscripten_bind_btCollisionWorld_removeCollisionObject_1:Ur,_emscripten_bind_btCollisionWorld_setDebugDrawer_1:ts,_emscripten_bind_btCollisionWorld_updateSingleAabb_1:ns,_emscripten_bind_btCompoundShape___destroy___0:Kr,_emscripten_bind_btCompoundShape_addChildShape_2:function(t,e,i){e|=0,i|=0;var o,r,s,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;if(s=Q,Q=Q+128|0,_[68+(t|=0)>>2]=1+(0|_[t+68>>2]),_[s>>2]=_[e>>2],_[s+4>>2]=_[e+4>>2],_[s+8>>2]=_[e+8>>2],_[s+12>>2]=_[e+12>>2],_[s+16>>2]=_[e+16>>2],_[s+16+4>>2]=_[e+16+4>>2],_[s+16+8>>2]=_[e+16+8>>2],_[s+16+12>>2]=_[e+16+12>>2],_[s+32>>2]=_[e+32>>2],_[s+32+4>>2]=_[e+32+4>>2],_[s+32+8>>2]=_[e+32+8>>2],_[s+32+12>>2]=_[e+32+12>>2],_[s+48>>2]=_[e+48>>2],_[s+48+4>>2]=_[e+48+4>>2],_[s+48+8>>2]=_[e+48+8>>2],_[s+48+12>>2]=_[e+48+12>>2],o=0|_[i+4>>2],r=+Il[15&_[48+(0|_[i>>2])>>2]](i),pd[127&_[8+(0|_[i>>2])>>2]](i,e,s+112|0,s+96|0),c=+p[s+112>>2],+p[t+32>>2]>c&&(p[t+32>>2]=c),c=+p[s+96>>2],+p[t+48>>2]>2]=c),c=+p[s+112+4>>2],+p[t+36>>2]>c&&(p[t+36>>2]=c),c=+p[s+96+4>>2],+p[t+52>>2]>2]=c),c=+p[s+112+8>>2],+p[t+40>>2]>c&&(p[t+40>>2]=c),c=+p[s+96+8>>2],+p[t+56>>2]>2]=c),b=0|_[t+64>>2]){if(_[s+64>>2]=_[s+112>>2],_[s+64+4>>2]=_[s+112+4>>2],_[s+64+8>>2]=_[s+112+8>>2],_[s+64+12>>2]=_[s+112+12>>2],_[s+64+16>>2]=_[s+96>>2],_[s+64+16+4>>2]=_[s+96+4>>2],_[s+64+16+8>>2]=_[s+96+8>>2],_[s+64+16+12>>2]=_[s+96+12>>2],d=0|_[t+16>>2],e=0|_[b+4>>2])_[b+4>>2]=0;else{_[6630]=1+(0|_[6630]),(e=0|di(63))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,l=(a=e)+44|0;do{_[a>>2]=0,a=a+4|0}while((0|a)<(0|l))}_[e+32>>2]=0,_[e+36>>2]=d,_[e+40>>2]=0,_[e>>2]=_[s+64>>2],_[e+4>>2]=_[s+64+4>>2],_[e+8>>2]=_[s+64+8>>2],_[e+12>>2]=_[s+64+12>>2],_[e+16>>2]=_[s+64+16>>2],_[e+20>>2]=_[s+64+20>>2],_[e+24>>2]=_[s+64+24>>2],_[e+28>>2]=_[s+64+28>>2],U(b,0|_[b>>2],e),_[b+12>>2]=1+(0|_[b+12>>2]),b=t+16|0,d=e}else b=t+16|0,d=0;if((0|(e=0|_[b>>2]))==(0|_[t+20>>2])&&(0|e)<(0|(A=0|e?e<<1:1))){if(A?(_[6630]=1+(0|_[6630]),(e=0|di(16+(80*A|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,l=e,e=0|_[b>>2]):l=0,(0|e)>0){a=0;do{f=l+(80*a|0)|0,m=(u=0|_[t+24>>2])+(80*a|0)|0,_[f>>2]=_[m>>2],_[f+4>>2]=_[m+4>>2],_[f+8>>2]=_[m+8>>2],_[f+12>>2]=_[m+12>>2],f=u+(80*a|0)+16|0,_[(m=l+(80*a|0)+16|0)>>2]=_[f>>2],_[m+4>>2]=_[f+4>>2],_[m+8>>2]=_[f+8>>2],_[m+12>>2]=_[f+12>>2],m=u+(80*a|0)+32|0,_[(f=l+(80*a|0)+32|0)>>2]=_[m>>2],_[f+4>>2]=_[m+4>>2],_[f+8>>2]=_[m+8>>2],_[f+12>>2]=_[m+12>>2],m=u+(80*a|0)+48|0,_[(f=l+(80*a|0)+48|0)>>2]=_[m>>2],_[f+4>>2]=_[m+4>>2],_[f+8>>2]=_[m+8>>2],_[f+12>>2]=_[m+12>>2],u=u+(80*a|0)+64|0,_[(f=l+(80*a|0)+64|0)>>2]=_[u>>2],_[f+4>>2]=_[u+4>>2],_[f+8>>2]=_[u+8>>2],_[f+12>>2]=_[u+12>>2],a=a+1|0}while((0|a)!=(0|e))}0|(e=0|_[t+24>>2])&&(0|n[t+28|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+24>>2]=0),n[t+28|0]=1,_[t+24>>2]=l,_[t+20>>2]=A,e=0|_[b>>2]}m=0|_[t+24>>2],_[(u=m+(80*e|0)|0)>>2]=_[s>>2],_[u+4>>2]=_[s+4>>2],_[u+8>>2]=_[s+8>>2],_[u+12>>2]=_[s+12>>2],_[(u=m+(80*e|0)+16|0)>>2]=_[s+16>>2],_[u+4>>2]=_[s+16+4>>2],_[u+8>>2]=_[s+16+8>>2],_[u+12>>2]=_[s+16+12>>2],_[(u=m+(80*e|0)+32|0)>>2]=_[s+32>>2],_[u+4>>2]=_[s+32+4>>2],_[u+8>>2]=_[s+32+8>>2],_[u+12>>2]=_[s+32+12>>2],_[(u=m+(80*e|0)+48|0)>>2]=_[s+48>>2],_[u+4>>2]=_[s+48+4>>2],_[u+8>>2]=_[s+48+8>>2],_[u+12>>2]=_[s+48+12>>2],_[(m=m+(80*e|0)+64|0)>>2]=i,_[m+4>>2]=o,p[m+8>>2]=r,_[m+12>>2]=d,_[b>>2]=1+(0|_[b>>2]),Q=s},_emscripten_bind_btCompoundShape_btCompoundShape_0:function(){var t,e=0;return t=0|M_(),_[t+8>>2]=0,_[t>>2]=7188,n[t+28|0]=1,_[t+24>>2]=0,_[t+16>>2]=0,_[t+20>>2]=0,_[t+32>>2]=1566444395,_[t+36>>2]=1566444395,_[t+40>>2]=1566444395,p[t+44>>2]=0,_[t+48>>2]=-581039253,_[t+52>>2]=-581039253,_[t+56>>2]=-581039253,p[t+60>>2]=0,_[t+64>>2]=0,_[t+68>>2]=1,p[t+72>>2]=0,_[t+76>>2]=1065353216,_[t+80>>2]=1065353216,_[t+84>>2]=1065353216,p[t+88>>2]=0,_[t+4>>2]=31,_[6630]=1+(0|_[6630]),(e=0|di(79))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,n[e+36|0]=1,_[e+32>>2]=0,_[e+24>>2]=0,_[e+28>>2]=0,n[e+56|0]=1,_[e+52>>2]=0,_[e+44>>2]=0,_[e+48>>2]=0,_[e>>2]=0,_[e+4>>2]=0,_[e+8>>2]=-1,_[e+12>>2]=0,_[e+16>>2]=0,_[t+64>>2]=e,0|t},_emscripten_bind_btCompoundShape_btCompoundShape_1:function(t){var e;return t|=0,e=0|M_(),_[e+8>>2]=0,_[e>>2]=7188,n[e+28|0]=1,_[e+24>>2]=0,_[e+16>>2]=0,_[e+20>>2]=0,_[e+32>>2]=1566444395,_[e+36>>2]=1566444395,_[e+40>>2]=1566444395,p[e+44>>2]=0,_[e+48>>2]=-581039253,_[e+52>>2]=-581039253,_[e+56>>2]=-581039253,p[e+60>>2]=0,_[e+64>>2]=0,_[e+68>>2]=1,p[e+72>>2]=0,_[e+76>>2]=1065353216,_[e+80>>2]=1065353216,_[e+84>>2]=1065353216,p[e+88>>2]=0,_[e+4>>2]=31,t?(_[6630]=1+(0|_[6630]),(t=0|di(79))?(_[(t+4+15&-16)-4>>2]=t,t=t+4+15&-16):t=0,n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,n[t+56|0]=1,_[t+52>>2]=0,_[t+44>>2]=0,_[t+48>>2]=0,_[t>>2]=0,_[t+4>>2]=0,_[t+8>>2]=-1,_[t+12>>2]=0,_[t+16>>2]=0,_[e+64>>2]=t,0|e):0|e},_emscripten_bind_btCompoundShape_calculateLocalInertia_2:Sr,_emscripten_bind_btCompoundShape_getChildShape_1:function(t,e){return 0|function(t,e){return e|=0,e=64+(0|function(t,e){return(t|=0)+(80*(e|=0)|0)|0}(0|_[24+(t|=0)>>2],e))|0,0|_[e>>2]}(t|=0,e|=0)},_emscripten_bind_btCompoundShape_getLocalScaling_0:Gs,_emscripten_bind_btCompoundShape_getMargin_0:Us,_emscripten_bind_btCompoundShape_getNumChildShapes_0:function(t){return 0|function(t){return 0|Cl(0|_[(t|=0)+16>>2])}(t|=0)},_emscripten_bind_btCompoundShape_recalculateLocalAabb_0:function(t){Xl[511&_[68+(0|_[(t|=0)>>2])>>2]](t)},_emscripten_bind_btCompoundShape_removeChildShapeByIndex_1:function(t,e){Qe(t|=0,e|=0)},_emscripten_bind_btCompoundShape_setLocalScaling_1:ps,_emscripten_bind_btCompoundShape_setMargin_1:hs,_emscripten_bind_btCompoundShape_updateChildTransform_2:function(t,e,i){e|=0,i|=0;var n,o,r=0,s=0,p=0;if(o=Q,Q=Q+64|0,p=0|_[24+(t|=0)>>2],_[p+(80*e|0)>>2]=_[i>>2],_[p+(80*e|0)+4>>2]=_[i+4>>2],_[p+(80*e|0)+8>>2]=_[i+8>>2],_[p+(80*e|0)+12>>2]=_[i+12>>2],_[p+(80*e|0)+16>>2]=_[i+16>>2],_[p+(80*e|0)+16+4>>2]=_[i+16+4>>2],_[p+(80*e|0)+16+8>>2]=_[i+16+8>>2],_[p+(80*e|0)+16+12>>2]=_[i+16+12>>2],_[p+(80*e|0)+32>>2]=_[i+32>>2],_[p+(80*e|0)+32+4>>2]=_[i+32+4>>2],_[p+(80*e|0)+32+8>>2]=_[i+32+8>>2],_[p+(80*e|0)+32+12>>2]=_[i+32+12>>2],_[p+(80*e|0)+48>>2]=_[i+48>>2],_[p+(80*e|0)+48+4>>2]=_[i+48+4>>2],_[p+(80*e|0)+48+8>>2]=_[i+48+8>>2],_[p+(80*e|0)+48+12>>2]=_[i+48+12>>2],!(0|_[t+64>>2]))return p=0|_[t>>2],p=0|_[(p=p+68|0)>>2],Xl[511&p](t),void(Q=o);p=0|_[(0|_[t+24>>2])+(80*e|0)+64>>2],pd[127&_[8+(0|_[p>>2])>>2]](p,i,o+48|0,o+32|0),_[o>>2]=_[o+48>>2],_[o+4>>2]=_[o+48+4>>2],_[o+8>>2]=_[o+48+8>>2],_[o+12>>2]=_[o+48+12>>2],_[o+16>>2]=_[o+32>>2],_[o+16+4>>2]=_[o+32+4>>2],_[o+16+8>>2]=_[o+32+8>>2],_[o+16+12>>2]=_[o+32+12>>2],i=0|Tt(p=0|_[t+64>>2],n=0|_[(0|_[t+24>>2])+(80*e|0)+76>>2]);t:do{if(i){if((0|(s=0|_[p+8>>2]))<=-1){i=0|_[p>>2];break}if(s)for(e=0;;){if(e=e+1|0,!(r=0|_[i+32>>2]))break t;if((0|e)>=(0|s)){i=r;break}i=r}}else i=0}while(0);_[n>>2]=_[o>>2],_[n+4>>2]=_[o+4>>2],_[n+8>>2]=_[o+8>>2],_[n+12>>2]=_[o+12>>2],_[n+16>>2]=_[o+16>>2],_[n+20>>2]=_[o+20>>2],_[n+24>>2]=_[o+24>>2],_[n+28>>2]=_[o+28>>2],U(p,i,n),p=0|_[t>>2],p=0|_[(p=p+68|0)>>2],Xl[511&p](t),Q=o},_emscripten_bind_btCompoundShape_updateChildTransform_3:function(t,e,i,n){e|=0,i|=0,n|=0;var o,r=0,s=0,p=0,c=0;if(o=Q,Q=Q+64|0,c=0|_[24+(t|=0)>>2],_[c+(80*e|0)>>2]=_[i>>2],_[c+(80*e|0)+4>>2]=_[i+4>>2],_[c+(80*e|0)+8>>2]=_[i+8>>2],_[c+(80*e|0)+12>>2]=_[i+12>>2],_[c+(80*e|0)+16>>2]=_[i+16>>2],_[c+(80*e|0)+16+4>>2]=_[i+16+4>>2],_[c+(80*e|0)+16+8>>2]=_[i+16+8>>2],_[c+(80*e|0)+16+12>>2]=_[i+16+12>>2],_[c+(80*e|0)+32>>2]=_[i+32>>2],_[c+(80*e|0)+32+4>>2]=_[i+32+4>>2],_[c+(80*e|0)+32+8>>2]=_[i+32+8>>2],_[c+(80*e|0)+32+12>>2]=_[i+32+12>>2],_[c+(80*e|0)+48>>2]=_[i+48>>2],_[c+(80*e|0)+48+4>>2]=_[i+48+4>>2],_[c+(80*e|0)+48+8>>2]=_[i+48+8>>2],_[c+(80*e|0)+48+12>>2]=_[i+48+12>>2],0|_[t+64>>2]){c=0|_[(0|_[t+24>>2])+(80*e|0)+64>>2],pd[127&_[8+(0|_[c>>2])>>2]](c,i,o+48|0,o+32|0),_[o>>2]=_[o+48>>2],_[o+4>>2]=_[o+48+4>>2],_[o+8>>2]=_[o+48+8>>2],_[o+12>>2]=_[o+48+12>>2],_[o+16>>2]=_[o+32>>2],_[o+16+4>>2]=_[o+32+4>>2],_[o+16+8>>2]=_[o+32+8>>2],_[o+16+12>>2]=_[o+32+12>>2],i=0|Tt(c=0|_[t+64>>2],p=0|_[(0|_[t+24>>2])+(80*e|0)+76>>2]);t:do{if(i){if((0|(s=0|_[c+8>>2]))<=-1){i=0|_[c>>2];break}if(s)for(e=0;;){if(e=e+1|0,!(r=0|_[i+32>>2]))break t;if((0|e)>=(0|s)){i=r;break}i=r}}else i=0}while(0);_[p>>2]=_[o>>2],_[p+4>>2]=_[o+4>>2],_[p+8>>2]=_[o+8>>2],_[p+12>>2]=_[o+12>>2],_[p+16>>2]=_[o+16>>2],_[p+20>>2]=_[o+20>>2],_[p+24>>2]=_[o+24>>2],_[p+28>>2]=_[o+28>>2],U(c,i,p)}n?(Xl[511&_[68+(0|_[t>>2])>>2]](t),Q=o):Q=o},_emscripten_bind_btConcaveShape___destroy___0:Kr,_emscripten_bind_btConcaveShape_calculateLocalInertia_2:Sr,_emscripten_bind_btConcaveShape_getLocalScaling_0:Gs,_emscripten_bind_btConcaveShape_setLocalScaling_1:ps,_emscripten_bind_btConeShapeX___destroy___0:Kr,_emscripten_bind_btConeShapeX_btConeShapeX_2:function(t,e){var i,n;return t=+t,e=+e,i=0|G_(),_[i+8>>2]=0,_[i>>2]=8152,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,p[i+56>>2]=t,p[i+60>>2]=e,_[i+4>>2]=11,n=t/+b(+(t*t+e*e)),p[i+52>>2]=n,_[i>>2]=7468,_[i+64>>2]=1,_[i+68>>2]=0,_[i+72>>2]=2,p[i+32>>2]=t,p[i+28>>2]=e,p[i+36>>2]=t,0|i},_emscripten_bind_btConeShapeX_calculateLocalInertia_2:Sr,_emscripten_bind_btConeShapeX_getLocalScaling_0:Gs,_emscripten_bind_btConeShapeX_setLocalScaling_1:ps,_emscripten_bind_btConeShapeZ___destroy___0:Kr,_emscripten_bind_btConeShapeZ_btConeShapeZ_2:function(t,e){var i,n;return t=+t,e=+e,i=0|G_(),_[i+8>>2]=0,_[i>>2]=8152,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,p[i+56>>2]=t,p[i+60>>2]=e,_[i+4>>2]=11,n=t/+b(+(t*t+e*e)),p[i+52>>2]=n,_[i>>2]=7368,_[i+64>>2]=0,_[i+68>>2]=2,_[i+72>>2]=1,p[i+28>>2]=t,p[i+36>>2]=e,p[i+32>>2]=t,0|i},_emscripten_bind_btConeShapeZ_calculateLocalInertia_2:Sr,_emscripten_bind_btConeShapeZ_getLocalScaling_0:Gs,_emscripten_bind_btConeShapeZ_setLocalScaling_1:ps,_emscripten_bind_btConeShape___destroy___0:Kr,_emscripten_bind_btConeShape_btConeShape_2:function(t,e){var i;return t=+t,e=+e,i=0|G_(),_[i+8>>2]=0,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,_[i>>2]=7268,p[i+56>>2]=t,p[i+60>>2]=e,_[i+4>>2]=11,_[i+64>>2]=0,_[i+68>>2]=1,_[i+72>>2]=2,p[i+28>>2]=t,p[i+32>>2]=e,p[i+36>>2]=t,e=t/+b(+(t*t+e*e)),p[i+52>>2]=e,0|i},_emscripten_bind_btConeShape_calculateLocalInertia_2:Sr,_emscripten_bind_btConeShape_getLocalScaling_0:Gs,_emscripten_bind_btConeShape_setLocalScaling_1:ps,_emscripten_bind_btConeTwistConstraint___destroy___0:Kr,_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2:function(t,e){var i;return t|=0,e|=0,sn(i=0|B_(),5,t),_[i>>2]=5548,_[i+300>>2]=_[e>>2],_[i+300+4>>2]=_[e+4>>2],_[i+300+8>>2]=_[e+8>>2],_[i+300+12>>2]=_[e+12>>2],_[i+316>>2]=_[e+16>>2],_[i+316+4>>2]=_[e+16+4>>2],_[i+316+8>>2]=_[e+16+8>>2],_[i+316+12>>2]=_[e+16+12>>2],_[i+332>>2]=_[e+32>>2],_[i+332+4>>2]=_[e+32+4>>2],_[i+332+8>>2]=_[e+32+8>>2],_[i+332+12>>2]=_[e+32+12>>2],_[i+348>>2]=_[e+48>>2],_[i+348+4>>2]=_[e+48+4>>2],_[i+348+8>>2]=_[e+48+8>>2],_[i+348+12>>2]=_[e+48+12>>2],n[i+527|0]=0,_[i+364>>2]=_[i+300>>2],_[i+364+4>>2]=_[i+300+4>>2],_[i+364+8>>2]=_[i+300+8>>2],_[i+364+12>>2]=_[i+300+12>>2],_[i+380>>2]=_[i+316>>2],_[i+380+4>>2]=_[i+316+4>>2],_[i+380+8>>2]=_[i+316+8>>2],_[i+380+12>>2]=_[i+316+12>>2],_[i+396>>2]=_[i+332>>2],_[i+396+4>>2]=_[i+332+4>>2],_[i+396+8>>2]=_[i+332+8>>2],_[i+396+12>>2]=_[i+332+12>>2],n[i+524|0]=0,n[i+525|0]=0,n[i+526|0]=0,n[i+552|0]=0,_[i+412>>2]=0,_[i+412+4>>2]=0,_[i+412+8>>2]=0,_[i+412+12>>2]=0,p[i+572>>2]=-1,p[i+444>>2]=0xde0b6b000000000,p[i+448>>2]=0xde0b6b000000000,p[i+452>>2]=0xde0b6b000000000,p[i+428>>2]=1,p[i+432>>2]=.30000001192092896,p[i+436>>2]=1,p[i+440>>2]=.009999999776482582,p[i+456>>2]=.05000000074505806,_[i+592>>2]=0,p[i+596>>2]=0,p[i+600>>2]=.699999988079071,p[i+604>>2]=0,0|i},_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4:function(t,e,i,o){var r;return t|=0,e|=0,i|=0,o|=0,r=0|B_(),_[r+4>>2]=5,_[r+8>>2]=-1,_[r+12>>2]=-1,p[r+16>>2]=34028234663852886e22,n[r+20|0]=1,n[r+21|0]=0,_[r+24>>2]=-1,_[r+28>>2]=t,_[r+32>>2]=e,p[r+36>>2]=0,p[r+40>>2]=.30000001192092896,_[r+44>>2]=0,_[r>>2]=5548,_[r+300>>2]=_[i>>2],_[r+300+4>>2]=_[i+4>>2],_[r+300+8>>2]=_[i+8>>2],_[r+300+12>>2]=_[i+12>>2],_[r+316>>2]=_[i+16>>2],_[r+316+4>>2]=_[i+16+4>>2],_[r+316+8>>2]=_[i+16+8>>2],_[r+316+12>>2]=_[i+16+12>>2],_[r+332>>2]=_[i+32>>2],_[r+332+4>>2]=_[i+32+4>>2],_[r+332+8>>2]=_[i+32+8>>2],_[r+332+12>>2]=_[i+32+12>>2],_[r+348>>2]=_[i+48>>2],_[r+348+4>>2]=_[i+48+4>>2],_[r+348+8>>2]=_[i+48+8>>2],_[r+348+12>>2]=_[i+48+12>>2],_[r+364>>2]=_[o>>2],_[r+364+4>>2]=_[o+4>>2],_[r+364+8>>2]=_[o+8>>2],_[r+364+12>>2]=_[o+12>>2],_[r+380>>2]=_[o+16>>2],_[r+380+4>>2]=_[o+16+4>>2],_[r+380+8>>2]=_[o+16+8>>2],_[r+380+12>>2]=_[o+16+12>>2],_[r+396>>2]=_[o+32>>2],_[r+396+4>>2]=_[o+32+4>>2],_[r+396+8>>2]=_[o+32+8>>2],_[r+396+12>>2]=_[o+32+12>>2],_[r+412>>2]=_[o+48>>2],_[r+412+4>>2]=_[o+48+4>>2],_[r+412+8>>2]=_[o+48+8>>2],_[r+412+12>>2]=_[o+48+12>>2],n[r+552|0]=0,_[r+524>>2]=0,p[r+572>>2]=-1,p[r+444>>2]=0xde0b6b000000000,p[r+448>>2]=0xde0b6b000000000,p[r+452>>2]=0xde0b6b000000000,p[r+428>>2]=1,p[r+432>>2]=.30000001192092896,p[r+436>>2]=1,p[r+440>>2]=.009999999776482582,p[r+456>>2]=.05000000074505806,_[r+592>>2]=0,p[r+596>>2]=0,p[r+600>>2]=.699999988079071,p[r+604>>2]=0,0|r},_emscripten_bind_btConeTwistConstraint_enableFeedback_1:Ws,_emscripten_bind_btConeTwistConstraint_enableMotor_1:function(t,e){vp(t|=0,e|=0)},_emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btConeTwistConstraint_getParam_2:kr,_emscripten_bind_btConeTwistConstraint_setAngularOnly_1:function(t,e){mp(t|=0,e|=0)},_emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btConeTwistConstraint_setDamping_1:function(t,e){!function(t,e){e=+e,p[(t|=0)+440>>2]=e}(t|=0,e=+e)},_emscripten_bind_btConeTwistConstraint_setLimit_2:function(t,e,i){!function(t,e,i){switch(t|=0,i=+i,0|(e|=0)){case 3:return void(p[t+452>>2]=i);case 4:return void(p[t+448>>2]=i);case 5:p[t+444>>2]=i}}(t|=0,e|=0,i=+i)},_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1:function(t,e){bs(t|=0,e=+e)},_emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1:function(t,e){xs(t|=0,e=+e)},_emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1:function(t,e){ri(t|=0,e|=0)},_emscripten_bind_btConeTwistConstraint_setMotorTarget_1:function(t,e){var i,n,o,_,r,s,c,a,l,d,b,A,f;e|=0,i=Q,Q=Q+48|0,Qt(364+(t|=0)|0,i+16|0),r=-+p[i+16>>2],o=-+p[i+16+4>>2],l=-+p[i+16+8>>2],a=+p[i+16+12>>2],_=+p[e>>2],d=+p[e+12>>2],c=+p[e+8>>2],s=+p[e+4>>2],Qt(t+300|0,i),A=+p[i>>2],f=+p[i+12>>2],n=+p[i+8>>2],b=+p[i+4>>2],p[i+32>>2]=(a*d-_*r-s*o-c*l)*A+(a*_+d*r+c*o-s*l)*f+(_*l+(d*o+a*s)-c*r)*n-(d*l+a*c+s*r-_*o)*b,p[i+32+4>>2]=A*(d*l+a*c+s*r-_*o)+(f*(_*l+(d*o+a*s)-c*r)+(a*d-_*r-s*o-c*l)*b)-(a*_+d*r+c*o-s*l)*n,p[i+32+8>>2]=(d*l+a*c+s*r-_*o)*f+(a*d-_*r-s*o-c*l)*n+(a*_+d*r+c*o-s*l)*b-A*(_*l+(d*o+a*s)-c*r),p[i+32+12>>2]=(a*d-_*r-s*o-c*l)*f-(a*_+d*r+c*o-s*l)*A-(_*l+(d*o+a*s)-c*r)*b-(d*l+a*c+s*r-_*o)*n,ri(t,i+32|0),Q=i},_emscripten_bind_btConeTwistConstraint_setParam_3:br,_emscripten_bind_btConstraintSetting___destroy___0:qp,_emscripten_bind_btConstraintSetting_btConstraintSetting_0:function(){var t;return function(t){p[(t|=0)>>2]=.30000001192092896,p[t+4>>2]=1,p[t+8>>2]=0}(t=0|a_(12)),0|t},_emscripten_bind_btConstraintSetting_get_m_damping_0:ua,_emscripten_bind_btConstraintSetting_get_m_impulseClamp_0:ka,_emscripten_bind_btConstraintSetting_get_m_tau_0:Nc,_emscripten_bind_btConstraintSetting_set_m_damping_1:ea,_emscripten_bind_btConstraintSetting_set_m_impulseClamp_1:ta,_emscripten_bind_btConstraintSetting_set_m_tau_1:Aa,_emscripten_bind_btConstraintSolver___destroy___0:Kr,_emscripten_bind_btContactSolverInfo___destroy___0:qp,_emscripten_bind_btContactSolverInfo_get_m_numIterations_0:oa,_emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0:function(t){return 0|+p[48+(t|=0)>>2]},_emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0:function(t){return 0|!!(0|_[44+(t|=0)>>2])},_emscripten_bind_btContactSolverInfo_set_m_numIterations_1:oc,_emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1:function(t,e){e|=0,p[48+(t|=0)>>2]=+(0|e)},_emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1:function(t,e){e|=0,_[44+(t|=0)>>2]=1&e},_emscripten_bind_btConvexHullShape___destroy___0:Kr,_emscripten_bind_btConvexHullShape_addPoint_1:function(t,e){le(t|=0,e|=0,1)},_emscripten_bind_btConvexHullShape_addPoint_2:function(t,e,i){le(t|=0,e|=0,i|=0)},_emscripten_bind_btConvexHullShape_btConvexHullShape_0:function(){var t;return ft(t=0|P_(),0,0,16),0|t},_emscripten_bind_btConvexHullShape_btConvexHullShape_1:function(t){var e;return t|=0,ft(e=0|P_(),t,0,16),0|e},_emscripten_bind_btConvexHullShape_btConvexHullShape_2:function(t,e){var i;return t|=0,e|=0,ft(i=0|P_(),t,e,16),0|i},_emscripten_bind_btConvexHullShape_calculateLocalInertia_2:Sr,_emscripten_bind_btConvexHullShape_getConvexPolyhedron_0:Kp,_emscripten_bind_btConvexHullShape_getLocalScaling_0:Gs,_emscripten_bind_btConvexHullShape_getMargin_0:Us,_emscripten_bind_btConvexHullShape_getNumVertices_0:function(t){return 0|Gl[127&_[96+(0|_[(t|=0)>>2])>>2]](t)},_emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1:function(t,e){return e|=0,0|Ll[31&_[92+(0|_[(t|=0)>>2])>>2]](t,e)},_emscripten_bind_btConvexHullShape_recalcLocalAabb_0:function(t){nn(t|=0)},_emscripten_bind_btConvexHullShape_setLocalScaling_1:ps,_emscripten_bind_btConvexHullShape_setMargin_1:hs,_emscripten_bind_btConvexPolyhedron___destroy___0:Kr,_emscripten_bind_btConvexPolyhedron_get_m_faces_0:Ha,_emscripten_bind_btConvexPolyhedron_get_m_vertices_0:sl,_emscripten_bind_btConvexPolyhedron_set_m_faces_1:function(t,e){!function(t,e){Jn(t|=0,e|=0)}(24+(t|=0)|0,e|=0)},_emscripten_bind_btConvexPolyhedron_set_m_vertices_1:function(t,e){!function(t,e){ko(t|=0,e|=0)}(4+(t|=0)|0,e|=0)},_emscripten_bind_btConvexShape___destroy___0:Kr,_emscripten_bind_btConvexShape_calculateLocalInertia_2:Sr,_emscripten_bind_btConvexShape_getLocalScaling_0:Gs,_emscripten_bind_btConvexShape_getMargin_0:Us,_emscripten_bind_btConvexShape_setLocalScaling_1:ps,_emscripten_bind_btConvexShape_setMargin_1:hs,_emscripten_bind_btConvexTriangleMeshShape___destroy___0:Kr,_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1:function(t){var e;return t|=0,e=0|O_(),_[e+8>>2]=0,_[e+12>>2]=1065353216,_[e+16>>2]=1065353216,_[e+20>>2]=1065353216,p[e+24>>2]=0,p[e+44>>2]=.03999999910593033,_[e+52>>2]=0,_[e+56>>2]=1065353216,_[e+60>>2]=1065353216,_[e+64>>2]=1065353216,p[e+68>>2]=0,_[e+72>>2]=-1082130432,_[e+76>>2]=-1082130432,_[e+80>>2]=-1082130432,p[e+84>>2]=0,n[e+88|0]=0,_[e>>2]=8688,_[e+92>>2]=t,_[e+4>>2]=3,nn(e),0|e},_emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2:function(t,e){var i;return t|=0,e|=0,i=0|O_(),_[i+8>>2]=0,_[i+12>>2]=1065353216,_[i+16>>2]=1065353216,_[i+20>>2]=1065353216,p[i+24>>2]=0,p[i+44>>2]=.03999999910593033,_[i+52>>2]=0,_[i+56>>2]=1065353216,_[i+60>>2]=1065353216,_[i+64>>2]=1065353216,p[i+68>>2]=0,_[i+72>>2]=-1082130432,_[i+76>>2]=-1082130432,_[i+80>>2]=-1082130432,p[i+84>>2]=0,n[i+88|0]=0,_[i>>2]=8688,_[i+92>>2]=t,_[i+4>>2]=3,e?(nn(i),0|i):0|i},_emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2:Sr,_emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0:Gs,_emscripten_bind_btConvexTriangleMeshShape_getMargin_0:Us,_emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1:ps,_emscripten_bind_btConvexTriangleMeshShape_setMargin_1:hs,_emscripten_bind_btCylinderShapeX___destroy___0:Kr,_emscripten_bind_btCylinderShapeX_btCylinderShapeX_1:function(t){var e;return t|=0,Qi(e=0|L_(),t),_[e>>2]=9240,_[e+52>>2]=0,0|e},_emscripten_bind_btCylinderShapeX_calculateLocalInertia_2:Sr,_emscripten_bind_btCylinderShapeX_getLocalScaling_0:Gs,_emscripten_bind_btCylinderShapeX_getMargin_0:Us,_emscripten_bind_btCylinderShapeX_setLocalScaling_1:ps,_emscripten_bind_btCylinderShapeX_setMargin_1:hs,_emscripten_bind_btCylinderShapeZ___destroy___0:Kr,_emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1:function(t){var e;return t|=0,Qi(e=0|L_(),t),_[e>>2]=9344,_[e+52>>2]=2,0|e},_emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2:Sr,_emscripten_bind_btCylinderShapeZ_getLocalScaling_0:Gs,_emscripten_bind_btCylinderShapeZ_getMargin_0:Us,_emscripten_bind_btCylinderShapeZ_setLocalScaling_1:ps,_emscripten_bind_btCylinderShapeZ_setMargin_1:hs,_emscripten_bind_btCylinderShape___destroy___0:Kr,_emscripten_bind_btCylinderShape_btCylinderShape_1:function(t){var e;return t|=0,Qi(e=0|L_(),t),0|e},_emscripten_bind_btCylinderShape_calculateLocalInertia_2:Sr,_emscripten_bind_btCylinderShape_getLocalScaling_0:Gs,_emscripten_bind_btCylinderShape_getMargin_0:Us,_emscripten_bind_btCylinderShape_setLocalScaling_1:ps,_emscripten_bind_btCylinderShape_setMargin_1:hs,_emscripten_bind_btDbvtBroadphase___destroy___0:Kr,_emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0:function(){var t;return $t(t=0|a_(196),0),0|t},_emscripten_bind_btDefaultCollisionConfiguration___destroy___0:Kr,_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0:function(){var t,e;return e=Q,Q=Q+32|0,t=0|a_(92),H_(e),We(t,e),Q=e,0|t},_emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1:function(t){var e;return t|=0,We(e=0|a_(92),t),0|e},_emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0:qp,_emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0:function(){var t;return H_(t=0|a_(24)),0|t},_emscripten_bind_btDefaultMotionState___destroy___0:Kr,_emscripten_bind_btDefaultMotionState_btDefaultMotionState_0:function(){var t;return t=0|W_(),$n(),$n(),Eo(t,24824,24824),0|t},_emscripten_bind_btDefaultMotionState_btDefaultMotionState_1:function(t){var e;return t|=0,e=0|W_(),$n(),Eo(e,t,24824),0|e},_emscripten_bind_btDefaultMotionState_btDefaultMotionState_2:function(t,e){var i;return t|=0,e|=0,Eo(i=0|W_(),t,e),0|i},_emscripten_bind_btDefaultMotionState_getWorldTransform_1:$r,_emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0:sl,_emscripten_bind_btDefaultMotionState_setWorldTransform_1:is,_emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1:function(t,e){Yo(4+(t|=0)|0,e|=0)},_emscripten_bind_btDefaultSoftBodySolver___destroy___0:Kr,_emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0:function(){var t;return t=0|a_(40),p[t+12>>2]=1,_[t+8>>2]=0,_[t+4>>2]=5,_[t>>2]=3844,n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,n[t+16|0]=1,0|t},_emscripten_bind_btDefaultVehicleRaycaster___destroy___0:Kr,_emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1:function(t){var e;return t|=0,function(t,e){e|=0,function(t){_[(t|=0)>>2]=3776}(t|=0),_[t>>2]=5752,_[t+4>>2]=e}(e=0|a_(8),t),0|e},_emscripten_bind_btDefaultVehicleRaycaster_castRay_3:_r,_emscripten_bind_btDiscreteDynamicsWorld___destroy___0:Kr,_emscripten_bind_btDiscreteDynamicsWorld_addAction_1:cs,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1:vr,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2:pr,_emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3:tr,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1:Lr,_emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2:hr,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1:Yr,_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3:q_,_emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4:function(t,e,i,n){return t|=0,e|=0,i|=0,n|=0,Oe(n=0|S_(324),t,e,i),0|n},_emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3:an,_emscripten_bind_btDiscreteDynamicsWorld_contactTest_2:Qn,_emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5:$o,_emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3:or,_emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0:Ts,_emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0:Fp,_emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0:Bs,_emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0:Cp,_emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0:Wp,_emscripten_bind_btDiscreteDynamicsWorld_getGravity_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24432]||Qs(24432),ed[127&_[76+(0|_[t>>2])>>2]](e,t),_[6238]=_[e>>2],_[6239]=_[e+4>>2],_[6240]=_[e+8>>2],_[6241]=_[e+12>>2],Q=e,24952},_emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0:Ns,_emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0:up,_emscripten_bind_btDiscreteDynamicsWorld_performDiscreteCollisionDetection_0:ws,_emscripten_bind_btDiscreteDynamicsWorld_rayTest_3:lr,_emscripten_bind_btDiscreteDynamicsWorld_removeAction_1:os,_emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1:Ur,_emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1:Er,_emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1:Hr,_emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1:ts,_emscripten_bind_btDiscreteDynamicsWorld_setGravity_1:Jr,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1:mr,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2:er,_emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3:nr,_emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1:ns,_emscripten_bind_btDispatcherInfo___destroy___0:qp,_emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0:Ca,_emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0:la,_emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0:Ac,_emscripten_bind_btDispatcherInfo_get_m_enableSPU_0:function(t){return 0|!!(1&n[25+(t|=0)|0])},_emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0:function(t){return 0|!!(1&n[24+(t|=0)|0])},_emscripten_bind_btDispatcherInfo_get_m_stepCount_0:Hc,_emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0:ga,_emscripten_bind_btDispatcherInfo_get_m_timeStep_0:Nc,_emscripten_bind_btDispatcherInfo_get_m_useContinuous_0:function(t){return 0|!!(1&n[16+(t|=0)|0])},_emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0:function(t){return 0|!!(1&n[32+(t|=0)|0])},_emscripten_bind_btDispatcherInfo_get_m_useEpa_0:function(t){return 0|!!(1&n[26+(t|=0)|0])},_emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1:wc,_emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1:mc,_emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1:lp,_emscripten_bind_btDispatcherInfo_set_m_enableSPU_1:function(t,e){e|=0,n[25+(t|=0)|0]=1&e},_emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1:function(t,e){e|=0,n[24+(t|=0)|0]=1&e},_emscripten_bind_btDispatcherInfo_set_m_stepCount_1:fp,_emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1:Ec,_emscripten_bind_btDispatcherInfo_set_m_timeStep_1:Aa,_emscripten_bind_btDispatcherInfo_set_m_useContinuous_1:function(t,e){e|=0,n[16+(t|=0)|0]=1&e},_emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1:function(t,e){e|=0,n[32+(t|=0)|0]=1&e},_emscripten_bind_btDispatcherInfo_set_m_useEpa_1:function(t,e){e|=0,n[26+(t|=0)|0]=1&e},_emscripten_bind_btDispatcher___destroy___0:Kr,_emscripten_bind_btDispatcher_getManifoldByIndexInternal_1:Qr,_emscripten_bind_btDispatcher_getNumManifolds_0:Xs,_emscripten_bind_btDynamicsWorld___destroy___0:Kr,_emscripten_bind_btDynamicsWorld_addAction_1:cs,_emscripten_bind_btDynamicsWorld_addCollisionObject_1:Pr,_emscripten_bind_btDynamicsWorld_addCollisionObject_2:ur,_emscripten_bind_btDynamicsWorld_addCollisionObject_3:tr,_emscripten_bind_btDynamicsWorld_contactPairTest_3:an,_emscripten_bind_btDynamicsWorld_contactTest_2:Qn,_emscripten_bind_btDynamicsWorld_convexSweepTest_5:$o,_emscripten_bind_btDynamicsWorld_debugDrawObject_3:or,_emscripten_bind_btDynamicsWorld_debugDrawWorld_0:Ts,_emscripten_bind_btDynamicsWorld_getBroadphase_0:Fp,_emscripten_bind_btDynamicsWorld_getDebugDrawer_0:Bs,_emscripten_bind_btDynamicsWorld_getDispatchInfo_0:Cp,_emscripten_bind_btDynamicsWorld_getDispatcher_0:Wp,_emscripten_bind_btDynamicsWorld_getPairCache_0:Ns,_emscripten_bind_btDynamicsWorld_getSolverInfo_0:up,_emscripten_bind_btDynamicsWorld_performDiscreteCollisionDetection_0:ws,_emscripten_bind_btDynamicsWorld_rayTest_3:lr,_emscripten_bind_btDynamicsWorld_removeAction_1:os,_emscripten_bind_btDynamicsWorld_removeCollisionObject_1:Ur,_emscripten_bind_btDynamicsWorld_setDebugDrawer_1:ts,_emscripten_bind_btDynamicsWorld_updateSingleAabb_1:ns,_emscripten_bind_btFaceArray___destroy___0:function(t){(t|=0)&&(function(t){(function(t){y_(t|=0,0|Cl(0|_[t+4>>2])),V_(t),_s(t)})(t|=0)}(t),yl(t))},_emscripten_bind_btFaceArray_at_1:function(t,e){return e|=0,0|function(t,e){return(t|=0)+(36*(e|=0)|0)|0}(0|_[12+(t|=0)>>2],e)},_emscripten_bind_btFaceArray_size_0:Oc,_emscripten_bind_btFace___destroy___0:function(t){(t|=0)&&(Ba(t),yl(t))},_emscripten_bind_btFace_get_m_indices_0:Cl,_emscripten_bind_btFace_get_m_plane_1:function(t,e){return+ +p[20+(t|=0)+((e|=0)<<2)>>2]},_emscripten_bind_btFace_set_m_indices_1:function(t,e){!function(t,e){jo(t|=0,e|=0)}(t|=0,e|=0)},_emscripten_bind_btFace_set_m_plane_2:function(t,e,i){i=+i,p[20+(t|=0)+((e|=0)<<2)>>2]=i},_emscripten_bind_btFixedConstraint___destroy___0:Kr,_emscripten_bind_btFixedConstraint_btFixedConstraint_4:function(t,e,i,o){var r,s,c,a,l,d,b,A,f,u;return t|=0,e|=0,i|=0,o|=0,s=Q,Q=Q+32|0,r=0|O_(),_[r+4>>2]=11,_[r+8>>2]=-1,_[r+12>>2]=-1,p[r+16>>2]=34028234663852886e22,n[r+20|0]=1,n[r+21|0]=0,_[r+24>>2]=-1,_[r+28>>2]=t,_[r+32>>2]=e,p[r+36>>2]=0,p[r+40>>2]=.30000001192092896,_[r+44>>2]=0,_[r>>2]=5224,_[r+48>>2]=_[i+48>>2],_[r+48+4>>2]=_[i+48+4>>2],_[r+48+8>>2]=_[i+48+8>>2],_[r+48+12>>2]=_[i+48+12>>2],_[r+64>>2]=_[o+48>>2],_[r+64+4>>2]=_[o+48+4>>2],_[r+64+8>>2]=_[o+48+8>>2],_[r+64+12>>2]=_[o+48+12>>2],Qt(i,s+16|0),Qt(o,s),b=-+p[s>>2],l=-+p[s+4>>2],c=-+p[s+8>>2],u=+p[s+12>>2],f=+p[s+16+12>>2],A=+p[s+16>>2],d=+p[s+16+4>>2],a=+p[s+16+8>>2],p[r+80>>2]=f*b+u*A+d*c-a*l,p[r+84>>2]=a*b+(f*l+u*d)-A*c,p[r+88>>2]=A*l+(f*c+u*a)-d*b,p[r+92>>2]=u*f-A*b-d*l-a*c,Q=s,0|r},_emscripten_bind_btFixedConstraint_enableFeedback_1:Ws,_emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btFixedConstraint_getParam_2:kr,_emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btFixedConstraint_setParam_3:br,_emscripten_bind_btGeneric6DofConstraint___destroy___0:Kr,_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3:function(t,e,i){var n;return t|=0,e|=0,i|=0,Fe(n=0|j_(),t,e,i),0|n},_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5:function(t,e,i,n,o){var _;return t|=0,e|=0,i|=0,n|=0,o|=0,Ke(_=0|j_(),t,e,i,n,o),0|_},_emscripten_bind_btGeneric6DofConstraint_enableFeedback_1:Ws,_emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0:bc,_emscripten_bind_btGeneric6DofConstraint_getParam_2:kr,_emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1:Tr,_emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1:Or,_emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1:Nr,_emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1:Gr,_emscripten_bind_btGeneric6DofConstraint_setParam_3:br,_emscripten_bind_btGeneric6DofSpringConstraint___destroy___0:Kr,_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3:function(t,e,i){var o;t|=0,e|=0,i|=0,Fe(o=0|C_(),t,e,i),_[o>>2]=5332,_[o+4>>2]=9,n[o+1309|0]=0,n[o+1309+1|0]=0,n[o+1309+2|0]=0,n[o+1309+3|0]=0,n[o+1309+4|0]=0,n[o+1309+5|0]=0,e=48+(t=o+1316|0)|0;do{_[t>>2]=0,t=t+4|0}while((0|t)<(0|e));return p[o+1364>>2]=1,p[o+1368>>2]=1,p[o+1372>>2]=1,p[o+1376>>2]=1,p[o+1380>>2]=1,p[o+1384>>2]=1,0|o},_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5:function(t,e,i,o,r){var s;t|=0,e|=0,i|=0,o|=0,r|=0,Ke(s=0|C_(),t,e,i,o,r),_[s>>2]=5332,_[s+4>>2]=9,n[s+1309|0]=0,n[s+1309+1|0]=0,n[s+1309+2|0]=0,n[s+1309+3|0]=0,n[s+1309+4|0]=0,n[s+1309+5|0]=0,e=48+(t=s+1316|0)|0;do{_[t>>2]=0,t=t+4|0}while((0|t)<(0|e));return p[s+1364>>2]=1,p[s+1368>>2]=1,p[s+1372>>2]=1,p[s+1376>>2]=1,p[s+1380>>2]=1,p[s+1384>>2]=1,0|s},_emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1:Ws,_emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2:function(t,e,i){return i|=0,n[1309+(t|=0)+(e|=0)|0]=1&i,(0|e)<3?void(n[t+788+e|0]=1&i):void(n[t+868+(e+-3<<6)+44|0]=1&i)},_emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0:bc,_emscripten_bind_btGeneric6DofSpringConstraint_getParam_2:kr,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1:Tr,_emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1:Or,_emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2:function(t,e,i){i=+i,p[1364+(t|=0)+((e|=0)<<2)>>2]=i},_emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1:Nr,_emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1:Gr,_emscripten_bind_btGeneric6DofSpringConstraint_setParam_3:br,_emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2:function(t,e,i){i=+i,p[1340+(t|=0)+((e|=0)<<2)>>2]=i},_emscripten_bind_btGhostObject___destroy___0:Xr,_emscripten_bind_btGhostObject_activate_0:J_,_emscripten_bind_btGhostObject_activate_1:k_,_emscripten_bind_btGhostObject_btGhostObject_0:function(){var t;return t=0|S_(284),_[t+164>>2]=1065353216,_[t+168>>2]=1065353216,_[t+172>>2]=1065353216,p[t+176>>2]=0,_[t+180>>2]=0,p[t+184>>2]=0xde0b6b000000000,_[t+188>>2]=0,_[t+188+4>>2]=0,_[t+188+8>>2]=0,_[t+188+12>>2]=0,_[t+204>>2]=1,_[t+208>>2]=-1,_[t+212>>2]=-1,_[t+216>>2]=1,p[t+220>>2]=0,p[t+224>>2]=.5,p[t+228>>2]=0,p[t+232>>2]=0,_[t+240>>2]=0,p[t+244>>2]=1,_[t+248>>2]=0,_[t+248+4>>2]=0,_[t+248+8>>2]=0,_[t+248+12>>2]=0,_[t+4>>2]=1065353216,_[t+8>>2]=0,_[t+8+4>>2]=0,_[t+8+8>>2]=0,_[t+8+12>>2]=0,_[t+24>>2]=1065353216,_[t+28>>2]=0,_[t+28+4>>2]=0,_[t+28+8>>2]=0,_[t+28+12>>2]=0,_[t+44>>2]=1065353216,_[t+48>>2]=0,_[t+48+4>>2]=0,_[t+48+8>>2]=0,_[t+48+12>>2]=0,_[t+48+16>>2]=0,_[t>>2]=5940,n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[t+272>>2]=0,_[t+236>>2]=4,0|t},_emscripten_bind_btGhostObject_forceActivationState_1:dp,_emscripten_bind_btGhostObject_getCollisionFlags_0:Bp,_emscripten_bind_btGhostObject_getCollisionShape_0:Ip,_emscripten_bind_btGhostObject_getNumOverlappingObjects_0:Es,_emscripten_bind_btGhostObject_getOverlappingObject_1:Cs,_emscripten_bind_btGhostObject_getUserIndex_0:wp,_emscripten_bind_btGhostObject_getUserPointer_0:Zp,_emscripten_bind_btGhostObject_getWorldTransform_0:Bc,_emscripten_bind_btGhostObject_isActive_0:np,_emscripten_bind_btGhostObject_isKinematicObject_0:ks,_emscripten_bind_btGhostObject_isStaticObject_0:Vs,_emscripten_bind_btGhostObject_isStaticOrKinematicObject_0:rs,_emscripten_bind_btGhostObject_setActivationState_1:Vr,_emscripten_bind_btGhostObject_setAnisotropicFriction_2:Cr,_emscripten_bind_btGhostObject_setCcdMotionThreshold_1:Ss,_emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1:ms,_emscripten_bind_btGhostObject_setCollisionFlags_1:Os,_emscripten_bind_btGhostObject_setCollisionShape_1:is,_emscripten_bind_btGhostObject_setContactProcessingThreshold_1:Rs,_emscripten_bind_btGhostObject_setFriction_1:ip,_emscripten_bind_btGhostObject_setRestitution_1:Zs,_emscripten_bind_btGhostObject_setRollingFriction_1:Ps,_emscripten_bind_btGhostObject_setUserIndex_1:Ks,_emscripten_bind_btGhostObject_setUserPointer_1:Ks,_emscripten_bind_btGhostObject_setWorldTransform_1:ls,_emscripten_bind_btGhostPairCallback___destroy___0:Kr,_emscripten_bind_btGhostPairCallback_btGhostPairCallback_0:function(){var t;return function(t){(function(t){_[(t|=0)>>2]=3700})(t|=0),_[t>>2]=3672}(t=0|a_(4)),0|t},_emscripten_bind_btHeightfieldTerrainShape___destroy___0:Kr,_emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9:function(t,e,i,o,r,s,c,a,l){t|=0,e|=0,i|=0,o=+o,r=+r,s=+s,c|=0,a|=0,l|=0;var d,b=0,A=0,f=0;switch(d=0|function(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(143))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(),_[d+8>>2]=0,p[d+12>>2]=0,_[d>>2]=9056,_[d+4>>2]=24,_[d+64>>2]=t,_[d+68>>2]=e,p[d+72>>2]=r,p[d+76>>2]=s,p[d+80>>2]=+(t+-1|0),p[d+84>>2]=+(e+-1|0),p[d+88>>2]=o,_[d+92>>2]=i,_[d+96>>2]=a,n[d+100|0]=1&l,n[d+101|0]=0,n[d+102|0]=0,_[d+104>>2]=c,_[d+108>>2]=1065353216,_[d+112>>2]=1065353216,_[d+116>>2]=1065353216,p[d+120>>2]=0,0|c){case 0:p[d+16>>2]=r,_[d+20>>2]=0,_[d+24>>2]=0,p[d+28>>2]=0,p[d+32>>2]=s,p[d+36>>2]=+(t+-1|0),p[d+40>>2]=+(e+-1|0),p[d+44>>2]=0,A=s,f=r,o=+(t+-1|0),b=0,s=+(e+-1|0),r=0;break;case 1:_[d+16>>2]=0,p[d+20>>2]=r,_[d+24>>2]=0,p[d+28>>2]=0,p[d+32>>2]=+(t+-1|0),p[d+36>>2]=s,p[d+40>>2]=+(e+-1|0),p[d+44>>2]=0,A=+(t+-1|0),f=0,o=s,b=r,s=+(e+-1|0),r=0;break;case 2:_[d+16>>2]=0,_[d+20>>2]=0,p[d+24>>2]=r,p[d+28>>2]=0,p[d+32>>2]=+(t+-1|0),p[d+36>>2]=+(e+-1|0),p[d+40>>2]=s,p[d+44>>2]=0,A=+(t+-1|0),f=0,o=+(e+-1|0),b=0;break;default:A=+p[d+32>>2],f=+p[d+16>>2],o=+p[d+36>>2],b=+p[d+20>>2],s=+p[d+40>>2],r=+p[d+24>>2]}return p[d+48>>2]=.5*(f+A),p[d+52>>2]=.5*(b+o),p[d+56>>2]=.5*(r+s),p[d+60>>2]=0,0|d},_emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2:Sr,_emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0:Gs,_emscripten_bind_btHeightfieldTerrainShape_getMargin_0:Us,_emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1:ps,_emscripten_bind_btHeightfieldTerrainShape_setMargin_1:hs,_emscripten_bind_btHingeConstraint___destroy___0:Kr,_emscripten_bind_btHingeConstraint_btHingeConstraint_2:function(t,e){var i,o,r,s,c,a;return t|=0,e|=0,sn(i=0|T_(),4,t),_[i>>2]=5604,_[i+552>>2]=_[e>>2],_[i+552+4>>2]=_[e+4>>2],_[i+552+8>>2]=_[e+8>>2],_[i+552+12>>2]=_[e+12>>2],_[i+568>>2]=_[e+16>>2],_[i+568+4>>2]=_[e+16+4>>2],_[i+568+8>>2]=_[e+16+8>>2],_[i+568+12>>2]=_[e+16+12>>2],_[i+584>>2]=_[e+32>>2],_[i+584+4>>2]=_[e+32+4>>2],_[i+584+8>>2]=_[e+32+8>>2],_[i+584+12>>2]=_[e+32+12>>2],_[i+600>>2]=_[e+48>>2],_[i+600+4>>2]=_[e+48+4>>2],_[i+600+8>>2]=_[e+48+8>>2],_[i+600+12>>2]=_[e+48+12>>2],_[i+616>>2]=_[e>>2],_[i+616+4>>2]=_[e+4>>2],_[i+616+8>>2]=_[e+8>>2],_[i+616+12>>2]=_[e+12>>2],_[i+632>>2]=_[e+16>>2],_[i+632+4>>2]=_[e+16+4>>2],_[i+632+8>>2]=_[e+16+8>>2],_[i+632+12>>2]=_[e+16+12>>2],_[i+648>>2]=_[e+32>>2],_[i+648+4>>2]=_[e+32+4>>2],_[i+648+8>>2]=_[e+32+8>>2],_[i+648+12>>2]=_[e+32+12>>2],_[i+664>>2]=_[e+48>>2],_[i+664+4>>2]=_[e+48+4>>2],_[i+664+8>>2]=_[e+48+8>>2],_[i+664+12>>2]=_[e+48+12>>2],p[i+688>>2]=0,p[i+692>>2]=-1,p[i+696>>2]=.8999999761581421,p[i+700>>2]=.30000001192092896,p[i+704>>2]=1,p[i+708>>2]=0,p[i+712>>2]=0,n[i+716|0]=0,n[i+736|0]=0,n[i+737|0]=0,n[i+738|0]=0,n[i+739|0]=1,n[i+740|0]=0,_[i+748>>2]=0,e=0|_[i+28>>2],a=+p[i+600>>2],c=+p[i+604>>2],s=+p[i+608>>2],r=a*+p[e+20>>2]+c*+p[e+24>>2]+s*+p[e+28>>2]+ +p[e+56>>2],o=a*+p[e+36>>2]+c*+p[e+40>>2]+s*+p[e+44>>2]+ +p[e+60>>2],p[i+664>>2]=a*+p[e+4>>2]+c*+p[e+8>>2]+s*+p[e+12>>2]+ +p[e+52>>2],p[i+668>>2]=r,p[i+672>>2]=o,p[i+676>>2]=0,p[i+732>>2]=1,0|i},_emscripten_bind_btHingeConstraint_btHingeConstraint_3:function(t,e,i){var o,r,s,c,a,l;return t|=0,e|=0,i|=0,sn(o=0|T_(),4,t),_[o>>2]=5604,_[o+552>>2]=_[e>>2],_[o+552+4>>2]=_[e+4>>2],_[o+552+8>>2]=_[e+8>>2],_[o+552+12>>2]=_[e+12>>2],_[o+568>>2]=_[e+16>>2],_[o+568+4>>2]=_[e+16+4>>2],_[o+568+8>>2]=_[e+16+8>>2],_[o+568+12>>2]=_[e+16+12>>2],_[o+584>>2]=_[e+32>>2],_[o+584+4>>2]=_[e+32+4>>2],_[o+584+8>>2]=_[e+32+8>>2],_[o+584+12>>2]=_[e+32+12>>2],_[o+600>>2]=_[e+48>>2],_[o+600+4>>2]=_[e+48+4>>2],_[o+600+8>>2]=_[e+48+8>>2],_[o+600+12>>2]=_[e+48+12>>2],_[o+616>>2]=_[e>>2],_[o+616+4>>2]=_[e+4>>2],_[o+616+8>>2]=_[e+8>>2],_[o+616+12>>2]=_[e+12>>2],_[o+632>>2]=_[e+16>>2],_[o+632+4>>2]=_[e+16+4>>2],_[o+632+8>>2]=_[e+16+8>>2],_[o+632+12>>2]=_[e+16+12>>2],_[o+648>>2]=_[e+32>>2],_[o+648+4>>2]=_[e+32+4>>2],_[o+648+8>>2]=_[e+32+8>>2],_[o+648+12>>2]=_[e+32+12>>2],_[o+664>>2]=_[e+48>>2],_[o+664+4>>2]=_[e+48+4>>2],_[o+664+8>>2]=_[e+48+8>>2],_[o+664+12>>2]=_[e+48+12>>2],p[o+688>>2]=0,p[o+692>>2]=-1,p[o+696>>2]=.8999999761581421,p[o+700>>2]=.30000001192092896,p[o+704>>2]=1,p[o+708>>2]=0,p[o+712>>2]=0,n[o+716|0]=0,n[o+736|0]=0,n[o+737|0]=0,n[o+738|0]=0,n[o+739|0]=1,n[o+740|0]=1&i,_[o+748>>2]=0,e=0|_[o+28>>2],l=+p[o+600>>2],a=+p[o+604>>2],c=+p[o+608>>2],s=l*+p[e+20>>2]+a*+p[e+24>>2]+c*+p[e+28>>2]+ +p[e+56>>2],r=l*+p[e+36>>2]+a*+p[e+40>>2]+c*+p[e+44>>2]+ +p[e+60>>2],p[o+664>>2]=l*+p[e+4>>2]+a*+p[e+8>>2]+c*+p[e+12>>2]+ +p[e+52>>2],p[o+668>>2]=s,p[o+672>>2]=r,p[o+676>>2]=0,p[o+732>>2]=i?-1:1,0|o},_emscripten_bind_btHingeConstraint_btHingeConstraint_4:function(t,e,i,o){var r;return t|=0,e|=0,i|=0,o|=0,r=0|T_(),_[r+4>>2]=4,_[r+8>>2]=-1,_[r+12>>2]=-1,p[r+16>>2]=34028234663852886e22,n[r+20|0]=1,n[r+21|0]=0,_[r+24>>2]=-1,_[r+28>>2]=t,_[r+32>>2]=e,p[r+36>>2]=0,p[r+40>>2]=.30000001192092896,_[r+44>>2]=0,_[r>>2]=5604,_[r+552>>2]=_[i>>2],_[r+552+4>>2]=_[i+4>>2],_[r+552+8>>2]=_[i+8>>2],_[r+552+12>>2]=_[i+12>>2],_[r+568>>2]=_[i+16>>2],_[r+568+4>>2]=_[i+16+4>>2],_[r+568+8>>2]=_[i+16+8>>2],_[r+568+12>>2]=_[i+16+12>>2],_[r+584>>2]=_[i+32>>2],_[r+584+4>>2]=_[i+32+4>>2],_[r+584+8>>2]=_[i+32+8>>2],_[r+584+12>>2]=_[i+32+12>>2],_[r+600>>2]=_[i+48>>2],_[r+600+4>>2]=_[i+48+4>>2],_[r+600+8>>2]=_[i+48+8>>2],_[r+600+12>>2]=_[i+48+12>>2],_[r+616>>2]=_[o>>2],_[r+616+4>>2]=_[o+4>>2],_[r+616+8>>2]=_[o+8>>2],_[r+616+12>>2]=_[o+12>>2],_[r+632>>2]=_[o+16>>2],_[r+632+4>>2]=_[o+16+4>>2],_[r+632+8>>2]=_[o+16+8>>2],_[r+632+12>>2]=_[o+16+12>>2],_[r+648>>2]=_[o+32>>2],_[r+648+4>>2]=_[o+32+4>>2],_[r+648+8>>2]=_[o+32+8>>2],_[r+648+12>>2]=_[o+32+12>>2],_[r+664>>2]=_[o+48>>2],_[r+664+4>>2]=_[o+48+4>>2],_[r+664+8>>2]=_[o+48+8>>2],_[r+664+12>>2]=_[o+48+12>>2],p[r+688>>2]=0,p[r+692>>2]=-1,p[r+696>>2]=.8999999761581421,p[r+700>>2]=.30000001192092896,p[r+704>>2]=1,p[r+708>>2]=0,p[r+712>>2]=0,n[r+716|0]=0,n[r+736|0]=0,n[r+737|0]=0,n[r+738|0]=0,n[r+739|0]=1,n[r+740|0]=0,_[r+748>>2]=0,p[r+732>>2]=1,0|r},_emscripten_bind_btHingeConstraint_btHingeConstraint_5:function(t,e,i,o,r){var s;return t|=0,e|=0,i|=0,o|=0,r|=0,s=0|T_(),_[s+4>>2]=4,_[s+8>>2]=-1,_[s+12>>2]=-1,p[s+16>>2]=34028234663852886e22,n[s+20|0]=1,n[s+21|0]=0,_[s+24>>2]=-1,_[s+28>>2]=t,_[s+32>>2]=e,p[s+36>>2]=0,p[s+40>>2]=.30000001192092896,_[s+44>>2]=0,_[s>>2]=5604,_[s+552>>2]=_[i>>2],_[s+552+4>>2]=_[i+4>>2],_[s+552+8>>2]=_[i+8>>2],_[s+552+12>>2]=_[i+12>>2],_[s+568>>2]=_[i+16>>2],_[s+568+4>>2]=_[i+16+4>>2],_[s+568+8>>2]=_[i+16+8>>2],_[s+568+12>>2]=_[i+16+12>>2],_[s+584>>2]=_[i+32>>2],_[s+584+4>>2]=_[i+32+4>>2],_[s+584+8>>2]=_[i+32+8>>2],_[s+584+12>>2]=_[i+32+12>>2],_[s+600>>2]=_[i+48>>2],_[s+600+4>>2]=_[i+48+4>>2],_[s+600+8>>2]=_[i+48+8>>2],_[s+600+12>>2]=_[i+48+12>>2],_[s+616>>2]=_[o>>2],_[s+616+4>>2]=_[o+4>>2],_[s+616+8>>2]=_[o+8>>2],_[s+616+12>>2]=_[o+12>>2],_[s+632>>2]=_[o+16>>2],_[s+632+4>>2]=_[o+16+4>>2],_[s+632+8>>2]=_[o+16+8>>2],_[s+632+12>>2]=_[o+16+12>>2],_[s+648>>2]=_[o+32>>2],_[s+648+4>>2]=_[o+32+4>>2],_[s+648+8>>2]=_[o+32+8>>2],_[s+648+12>>2]=_[o+32+12>>2],_[s+664>>2]=_[o+48>>2],_[s+664+4>>2]=_[o+48+4>>2],_[s+664+8>>2]=_[o+48+8>>2],_[s+664+12>>2]=_[o+48+12>>2],p[s+688>>2]=0,p[s+692>>2]=-1,p[s+696>>2]=.8999999761581421,p[s+700>>2]=.30000001192092896,p[s+704>>2]=1,p[s+708>>2]=0,p[s+712>>2]=0,n[s+716|0]=0,n[s+736|0]=0,n[s+737|0]=0,n[s+738|0]=0,n[s+739|0]=1,n[s+740|0]=1&r,_[s+748>>2]=0,p[s+732>>2]=r?-1:1,0|s},_emscripten_bind_btHingeConstraint_btHingeConstraint_6:function(t,e,i,n,o,_){var r;return t|=0,e|=0,i|=0,n|=0,o|=0,_|=0,Je(r=0|T_(),t,e,i,n,o,_,0),0|r},_emscripten_bind_btHingeConstraint_btHingeConstraint_7:function(t,e,i,n,o,_,r){var s;return t|=0,e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,Je(s=0|T_(),t,e,i,n,o,_,r),0|s},_emscripten_bind_btHingeConstraint_enableAngularMotor_3:function(t,e,i,n){sr(t|=0,e|=0,i=+i,n=+n)},_emscripten_bind_btHingeConstraint_enableFeedback_1:Ws,_emscripten_bind_btHingeConstraint_enableMotor_1:function(t,e){Tp(t|=0,e|=0)},_emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btHingeConstraint_getParam_2:kr,_emscripten_bind_btHingeConstraint_setAngularOnly_1:function(t,e){kp(t|=0,e|=0)},_emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btHingeConstraint_setLimit_4:function(t,e,i,n,o){eo(t|=0,e=+e,i=+i,n=+n,o=+o,1)},_emscripten_bind_btHingeConstraint_setLimit_5:function(t,e,i,n,o,_){eo(t|=0,e=+e,i=+i,n=+n,o=+o,_=+_)},_emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1:function(t,e){!function(t,e){e=+e,p[(t|=0)+684>>2]=e}(t|=0,e=+e)},_emscripten_bind_btHingeConstraint_setMotorTarget_2:function(t,e,i){e=+e,i=+i;var n,o=0,r=0;n=+p[692+(t|=0)>>2];do{if(n>0&&!(!((o=(e-(r=+p[t+688>>2]))%6.2831854820251465<-3.1415927410125732?(e-r)%6.2831854820251465+6.2831854820251465:(e-r)%6.2831854820251465>3.1415927410125732?(e-r)%6.2831854820251465-6.2831854820251465:(e-r)%6.2831854820251465)<-n)&o<=n)){if(o>0){if((n+r)%6.2831854820251465<-3.1415927410125732){e=(n+r)%6.2831854820251465+6.2831854820251465;break}if(!((n+r)%6.2831854820251465>3.1415927410125732)){e=(n+r)%6.2831854820251465;break}e=(n+r)%6.2831854820251465-6.2831854820251465;break}if((r-n)%6.2831854820251465<-3.1415927410125732){e=(r-n)%6.2831854820251465+6.2831854820251465;break}if(!((r-n)%6.2831854820251465>3.1415927410125732)){e=(r-n)%6.2831854820251465;break}e=(r-n)%6.2831854820251465-6.2831854820251465;break}}while(0);i=(e-+Yi(t,4+(0|_[t+28>>2])|0,4+(0|_[t+32>>2])|0))/i,p[t+680>>2]=i},_emscripten_bind_btHingeConstraint_setParam_3:br,_emscripten_bind_btIDebugDraw___destroy___0:Kr,_emscripten_bind_btIDebugDraw_draw3dText_2:Fr,_emscripten_bind_btIDebugDraw_drawContactPoint_5:v_,_emscripten_bind_btIDebugDraw_drawLine_3:Ar,_emscripten_bind_btIDebugDraw_getDebugMode_0:Ls,_emscripten_bind_btIDebugDraw_reportErrorWarning_1:es,_emscripten_bind_btIDebugDraw_setDebugMode_1:as,_emscripten_bind_btIntArray___destroy___0:As,_emscripten_bind_btIntArray_at_1:zr,_emscripten_bind_btIntArray_size_0:Oc,_emscripten_bind_btKinematicCharacterController___destroy___0:Kr,_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3:function(t,e,i){var o;return t|=0,e|=0,i=+i,o=0|g_(),_[o>>2]=5772,n[o+144|0]=1,_[o+140>>2]=0,_[o+132>>2]=0,_[o+136>>2]=0,_[o+176>>2]=1,p[o+56>>2]=.019999999552965164,_[o+60>>2]=0,_[o+60+4>>2]=0,_[o+60+8>>2]=0,_[o+60+12>>2]=0,n[o+170|0]=1,_[o+8>>2]=t,p[o+52>>2]=i,p[o+48>>2]=0,_[o+12>>2]=e,n[o+171|0]=1,p[o+172>>2]=0,p[o+16>>2]=0,p[o+20>>2]=0,p[o+44>>2]=29.399999618530273,p[o+24>>2]=55,p[o+28>>2]=10,n[o+168|0]=0,n[o+169|0]=0,n[o+180|0]=1,p[o+36>>2]=.7853981852531433,p[o+40>>2]=.7071067690849304,p[o+108>>2]=0,n[o+181|0]=0,n[o+182|0]=0,0|o},_emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4:function(t,e,i,o){var r;return t|=0,e|=0,i=+i,o|=0,r=0|g_(),_[r>>2]=5772,n[r+144|0]=1,_[r+140>>2]=0,_[r+132>>2]=0,_[r+136>>2]=0,_[r+176>>2]=o,p[r+56>>2]=.019999999552965164,_[r+60>>2]=0,_[r+60+4>>2]=0,_[r+60+8>>2]=0,_[r+60+12>>2]=0,n[r+170|0]=1,_[r+8>>2]=t,p[r+52>>2]=i,p[r+48>>2]=0,_[r+12>>2]=e,n[r+171|0]=1,p[r+172>>2]=0,p[r+16>>2]=0,p[r+20>>2]=0,p[r+44>>2]=29.399999618530273,p[r+24>>2]=55,p[r+28>>2]=10,n[r+168|0]=0,n[r+169|0]=0,n[r+180|0]=1,p[r+36>>2]=.7853981852531433,p[r+40>>2]=.7071067690849304,p[r+108>>2]=0,n[r+181|0]=0,n[r+182|0]=0,0|r},_emscripten_bind_btKinematicCharacterController_canJump_0:function(t){return 0|Gl[127&_[40+(0|_[(t|=0)>>2])>>2]](t)},_emscripten_bind_btKinematicCharacterController_getGhostObject_0:Ac,_emscripten_bind_btKinematicCharacterController_getGravity_0:ca,_emscripten_bind_btKinematicCharacterController_getMaxSlope_0:la,_emscripten_bind_btKinematicCharacterController_jump_0:ws,_emscripten_bind_btKinematicCharacterController_onGround_0:Ls,_emscripten_bind_btKinematicCharacterController_playerStep_2:function(t,e,i){e|=0,i=+i,id[7&_[36+(0|_[(t|=0)>>2])>>2]](t,e,i)},_emscripten_bind_btKinematicCharacterController_preStep_1:function(t,e){e|=0,ed[127&_[32+(0|_[(t|=0)>>2])>>2]](t,e)},_emscripten_bind_btKinematicCharacterController_setFallSpeed_1:gc,_emscripten_bind_btKinematicCharacterController_setGravity_1:xc,_emscripten_bind_btKinematicCharacterController_setJumpSpeed_1:wc,_emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1:vc,_emscripten_bind_btKinematicCharacterController_setMaxSlope_1:function(t,e){e=+e,p[36+(t|=0)>>2]=e,e=+f(+e),p[t+40>>2]=e},_emscripten_bind_btKinematicCharacterController_setUpAxis_1:function(t,e){!function(t,e){e=(0|(e|=0))<2?e:2,_[176+(t|=0)>>2]=(0|e)>0?e:0}(t|=0,e|=0)},_emscripten_bind_btKinematicCharacterController_setUpInterpolate_1:function(t,e){e|=0,ed[127&_[52+(0|_[(t|=0)>>2])>>2]](t,e)},_emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1:function(t,e){qs(t|=0,e|=0)},_emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2:function(t,e,i){e|=0,i=+i,id[7&_[20+(0|_[(t|=0)>>2])>>2]](t,e,i)},_emscripten_bind_btKinematicCharacterController_setWalkDirection_1:ts,_emscripten_bind_btKinematicCharacterController_updateAction_2:Br,_emscripten_bind_btKinematicCharacterController_warp_1:function(t,e){e|=0,ed[127&_[28+(0|_[(t|=0)>>2])>>2]](t,e)},_emscripten_bind_btManifoldPoint___destroy___0:qp,_emscripten_bind_btManifoldPoint_getAppliedImpulse_0:function(t){return+ +qa(+p[120+(t|=0)>>2])},_emscripten_bind_btManifoldPoint_getDistance_0:function(t){return+ +qa(+p[80+(t|=0)>>2])},_emscripten_bind_btManifoldPoint_getPositionWorldOnA_0:bc,_emscripten_bind_btManifoldPoint_getPositionWorldOnB_0:function(t){return 0|ja(t|=0)},_emscripten_bind_btManifoldPoint_get_m_localPointA_0:Cl,_emscripten_bind_btManifoldPoint_get_m_localPointB_0:ia,_emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0:function(t){return 64+(t|=0)|0},_emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0:Ya,_emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0:ja,_emscripten_bind_btManifoldPoint_set_m_localPointA_1:d_,_emscripten_bind_btManifoldPoint_set_m_localPointB_1:o_,_emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1:function(t,e){e|=0,_[64+(t|=0)>>2]=_[e>>2],_[t+64+4>>2]=_[e+4>>2],_[t+64+8>>2]=_[e+8>>2],_[t+64+12>>2]=_[e+12>>2]},_emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1:p_,_emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1:t_,_emscripten_bind_btMatrix3x3___destroy___0:qp,_emscripten_bind_btMatrix3x3_getRotation_1:function(t,e){Qt(t|=0,e|=0)},_emscripten_bind_btMatrix3x3_getRow_1:function(t,e){return t|=0,e|=0,0|n[24424]||Qs(24424),e=0|wa(t,e),_[6234]=_[e>>2],_[6235]=_[e+4>>2],_[6236]=_[e+8>>2],_[6237]=_[e+12>>2],24936},_emscripten_bind_btMatrix3x3_setEulerZYX_3:function(t,e,i,n){!function(t,e,i,n){var o,_,r,s;t|=0,i=+i,n=+n,o=Q,Q=Q+48|0,_=+bl(e=+e),r=+bl(i),s=+bl(n),e=+dl(e),i=+dl(i),n=+dl(n),p[o+32>>2]=r*s,p[o+28>>2]=i*(e*s)-_*n,p[o+24>>2]=i*(_*s)+e*n,p[o+20>>2]=r*n,p[o+16>>2]=i*(e*n)+_*s,p[o+12>>2]=i*(_*n)-e*s,p[o+8>>2]=-i,p[o+4>>2]=r*e,p[o>>2]=r*_,vo(t,o+32|0,o+28|0,o+24|0,o+20|0,o+16|0,o+12|0,o+8|0,o+4|0,o),Q=o}(t|=0,e=+e,i=+i,n=+n)},_emscripten_bind_btMatrix3x3_setValue_9:function(t,e,i,n,o,_,r,s,c,a){var l;t|=0,e=+e,i=+i,n=+n,o=+o,_=+_,r=+r,s=+s,c=+c,a=+a,l=Q,Q=Q+48|0,p[l+32>>2]=e,p[l+28>>2]=i,p[l+24>>2]=n,p[l+20>>2]=o,p[l+16>>2]=_,p[l+12>>2]=r,p[l+8>>2]=s,p[l+4>>2]=c,p[l>>2]=a,vo(t,l+32|0,l+28|0,l+24|0,l+20|0,l+16|0,l+12|0,l+8|0,l+4|0,l),Q=l},_emscripten_bind_btMotionState___destroy___0:Kr,_emscripten_bind_btMotionState_getWorldTransform_1:$r,_emscripten_bind_btMotionState_setWorldTransform_1:is,_emscripten_bind_btOverlappingPairCache___destroy___0:Kr,_emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1:Er,_emscripten_bind_btOverlappingPairCallback___destroy___0:Kr,_emscripten_bind_btPairCachingGhostObject___destroy___0:Xr,_emscripten_bind_btPairCachingGhostObject_activate_0:J_,_emscripten_bind_btPairCachingGhostObject_activate_1:k_,_emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0:function(){var t,e=0,i=0;return t=0|S_(288),_[t+164>>2]=1065353216,_[t+168>>2]=1065353216,_[t+172>>2]=1065353216,p[t+176>>2]=0,_[t+180>>2]=0,p[t+184>>2]=0xde0b6b000000000,_[t+188>>2]=0,_[t+188+4>>2]=0,_[t+188+8>>2]=0,_[t+188+12>>2]=0,_[t+204>>2]=1,_[t+208>>2]=-1,_[t+212>>2]=-1,_[t+216>>2]=1,p[t+220>>2]=0,p[t+224>>2]=.5,p[t+228>>2]=0,p[t+232>>2]=0,_[t+240>>2]=0,p[t+244>>2]=1,_[t+248>>2]=0,_[t+248+4>>2]=0,_[t+248+8>>2]=0,_[t+248+12>>2]=0,_[t+4>>2]=1065353216,_[t+8>>2]=0,_[t+8+4>>2]=0,_[t+8+8>>2]=0,_[t+8+12>>2]=0,_[t+24>>2]=1065353216,_[t+28>>2]=0,_[t+28+4>>2]=0,_[t+28+8>>2]=0,_[t+28+12>>2]=0,_[t+44>>2]=1065353216,_[t+48>>2]=0,_[t+48+4>>2]=0,_[t+48+8>>2]=0,_[t+48+12>>2]=0,_[t+48+16>>2]=0,n[t+280|0]=1,_[t+276>>2]=0,_[t+268>>2]=0,_[t+272>>2]=0,_[t+236>>2]=4,_[t>>2]=5984,_[6630]=1+(0|_[6630]),(e=0|di(95))?(_[(e+4+15&-16)-4>>2]=e,Ae(e=e+4+15&-16),_[(i=t+284|0)>>2]=e,0|t):(Ae(i=0),_[(e=t+284|0)>>2]=i,0|t)},_emscripten_bind_btPairCachingGhostObject_forceActivationState_1:dp,_emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0:Bp,_emscripten_bind_btPairCachingGhostObject_getCollisionShape_0:Ip,_emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0:Es,_emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1:Cs,_emscripten_bind_btPairCachingGhostObject_getUserIndex_0:wp,_emscripten_bind_btPairCachingGhostObject_getUserPointer_0:Zp,_emscripten_bind_btPairCachingGhostObject_getWorldTransform_0:Bc,_emscripten_bind_btPairCachingGhostObject_isActive_0:np,_emscripten_bind_btPairCachingGhostObject_isKinematicObject_0:ks,_emscripten_bind_btPairCachingGhostObject_isStaticObject_0:Vs,_emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0:rs,_emscripten_bind_btPairCachingGhostObject_setActivationState_1:Vr,_emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2:Cr,_emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1:Ss,_emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1:ms,_emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1:Os,_emscripten_bind_btPairCachingGhostObject_setCollisionShape_1:is,_emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1:Rs,_emscripten_bind_btPairCachingGhostObject_setFriction_1:ip,_emscripten_bind_btPairCachingGhostObject_setRestitution_1:Zs,_emscripten_bind_btPairCachingGhostObject_setRollingFriction_1:Ps,_emscripten_bind_btPairCachingGhostObject_setUserIndex_1:Ks,_emscripten_bind_btPairCachingGhostObject_setUserPointer_1:Ks,_emscripten_bind_btPairCachingGhostObject_setWorldTransform_1:ls,_emscripten_bind_btPersistentManifold___destroy___0:sp,_emscripten_bind_btPersistentManifold_btPersistentManifold_0:function(){var t;return t=0|function(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(791))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(),_[t>>2]=1025,_[t+116>>2]=0,n[t+120|0]=0,_[t+124>>2]=0,_[t+124+4>>2]=0,_[t+124+8>>2]=0,_[t+124+12>>2]=0,_[t+124+16>>2]=0,_[t+124+20>>2]=0,_[t+124+24>>2]=0,_[t+124+28>>2]=0,_[t+300>>2]=0,n[t+304|0]=0,_[t+308>>2]=0,_[t+308+4>>2]=0,_[t+308+8>>2]=0,_[t+308+12>>2]=0,_[t+308+16>>2]=0,_[t+308+20>>2]=0,_[t+308+24>>2]=0,_[t+308+28>>2]=0,_[t+484>>2]=0,n[t+488|0]=0,_[t+492>>2]=0,_[t+492+4>>2]=0,_[t+492+8>>2]=0,_[t+492+12>>2]=0,_[t+492+16>>2]=0,_[t+492+20>>2]=0,_[t+492+24>>2]=0,_[t+492+28>>2]=0,_[t+668>>2]=0,n[t+672|0]=0,_[t+676>>2]=0,_[t+676+4>>2]=0,_[t+676+8>>2]=0,_[t+676+12>>2]=0,_[t+676+16>>2]=0,_[t+676+20>>2]=0,_[t+676+24>>2]=0,_[t+676+28>>2]=0,_[t+740>>2]=0,_[t+744>>2]=0,_[t+748>>2]=0,_[t+768>>2]=0,0|t},_emscripten_bind_btPersistentManifold_getBody0_0:function(t){return 0|Cl(0|_[740+(t|=0)>>2])},_emscripten_bind_btPersistentManifold_getBody1_0:function(t){return 0|Cl(0|_[744+(t|=0)>>2])},_emscripten_bind_btPersistentManifold_getContactPoint_1:function(t,e){return 0|function(t,e){return(t|=0)+4+(184*(e|=0)|0)|0}(t|=0,e|=0)},_emscripten_bind_btPersistentManifold_getNumContacts_0:function(t){return 0|Cl(0|_[748+(t|=0)>>2])},_emscripten_bind_btPoint2PointConstraint___destroy___0:Kr,_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2:function(t,e){var i,o,r,s,c,a;return t|=0,e|=0,sn(i=0|D_(),3,t),_[i>>2]=5392,_[i+300>>2]=_[e>>2],_[i+300+4>>2]=_[e+4>>2],_[i+300+8>>2]=_[e+8>>2],_[i+300+12>>2]=_[e+12>>2],a=+p[e>>2],c=+p[e+4>>2],s=+p[e+8>>2],r=a*+p[t+20>>2]+c*+p[t+24>>2]+s*+p[t+28>>2]+ +p[t+56>>2],o=a*+p[t+36>>2]+c*+p[t+40>>2]+s*+p[t+44>>2]+ +p[t+60>>2],p[i+316>>2]=a*+p[t+4>>2]+c*+p[t+8>>2]+s*+p[t+12>>2]+ +p[t+52>>2],p[i+320>>2]=r,p[i+324>>2]=o,p[i+328>>2]=0,_[i+332>>2]=0,n[i+344|0]=0,p[i+348>>2]=.30000001192092896,p[i+352>>2]=1,p[i+356>>2]=0,0|i},_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4:function(t,e,i,o){var r;return t|=0,e|=0,i|=0,o|=0,r=0|D_(),_[r+4>>2]=3,_[r+8>>2]=-1,_[r+12>>2]=-1,p[r+16>>2]=34028234663852886e22,n[r+20|0]=1,n[r+21|0]=0,_[r+24>>2]=-1,_[r+28>>2]=t,_[r+32>>2]=e,p[r+36>>2]=0,p[r+40>>2]=.30000001192092896,_[r+44>>2]=0,_[r>>2]=5392,_[r+300>>2]=_[i>>2],_[r+300+4>>2]=_[i+4>>2],_[r+300+8>>2]=_[i+8>>2],_[r+300+12>>2]=_[i+12>>2],_[r+316>>2]=_[o>>2],_[r+316+4>>2]=_[o+4>>2],_[r+316+8>>2]=_[o+8>>2],_[r+316+12>>2]=_[o+12>>2],_[r+332>>2]=0,n[r+344|0]=0,p[r+348>>2]=.30000001192092896,p[r+352>>2]=1,p[r+356>>2]=0,0|r},_emscripten_bind_btPoint2PointConstraint_enableFeedback_1:Ws,_emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btPoint2PointConstraint_getParam_2:kr,_emscripten_bind_btPoint2PointConstraint_getPivotInA_0:function(t){return 0|function(t){return(t|=0)+300|0}(t|=0)},_emscripten_bind_btPoint2PointConstraint_getPivotInB_0:function(t){return 0|function(t){return(t|=0)+316|0}(t|=0)},_emscripten_bind_btPoint2PointConstraint_get_m_setting_0:function(t){return 348+(t|=0)|0},_emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btPoint2PointConstraint_setParam_3:br,_emscripten_bind_btPoint2PointConstraint_setPivotA_1:function(t,e){!function(t,e){e|=0,_[300+(t|=0)>>2]=_[e>>2],_[t+300+4>>2]=_[e+4>>2],_[t+300+8>>2]=_[e+8>>2],_[t+300+12>>2]=_[e+12>>2]}(t|=0,e|=0)},_emscripten_bind_btPoint2PointConstraint_setPivotB_1:function(t,e){!function(t,e){e|=0,_[316+(t|=0)>>2]=_[e>>2],_[t+316+4>>2]=_[e+4>>2],_[t+316+8>>2]=_[e+8>>2],_[t+316+12>>2]=_[e+12>>2]}(t|=0,e|=0)},_emscripten_bind_btPoint2PointConstraint_set_m_setting_1:function(t,e){e|=0,_[348+(t|=0)>>2]=_[e>>2],_[t+348+4>>2]=_[e+4>>2],_[t+348+8>>2]=_[e+8>>2]},_emscripten_bind_btQuadWord___destroy___0:qp,_emscripten_bind_btQuadWord_setW_1:$p,_emscripten_bind_btQuadWord_setX_1:cc,_emscripten_bind_btQuadWord_setY_1:pc,_emscripten_bind_btQuadWord_setZ_1:sc,_emscripten_bind_btQuadWord_w_0:Hp,_emscripten_bind_btQuadWord_x_0:yc,_emscripten_bind_btQuadWord_y_0:Ep,_emscripten_bind_btQuadWord_z_0:Qp,_emscripten_bind_btQuaternion___destroy___0:qp,_emscripten_bind_btQuaternion_angleShortestPath_1:function(t,e){return+ +Hn(t|=0,e|=0)},_emscripten_bind_btQuaternion_angle_1:function(t,e){return+ +function(t,e){e|=0;var i=0;return i=+ll((i=+Vc(t|=0))*+Vc(e)),+ +op(+ho(t,e)/i)}(t|=0,e|=0)},_emscripten_bind_btQuaternion_btQuaternion_4:function(t,e,i,n){var o,_;return t=+t,e=+e,i=+i,n=+n,_=Q,Q=Q+16|0,p[_+12>>2]=t,p[_+8>>2]=e,p[_+4>>2]=i,p[_>>2]=n,Wr(o=0|a_(16),_+12|0,_+8|0,_+4|0,_),Q=_,0|o},_emscripten_bind_btQuaternion_dot_1:function(t,e){return+ +ho(t|=0,e|=0)},_emscripten_bind_btQuaternion_getAngleShortestPath_0:function(t){return+ +function(t){var e,i=0;return e=+ho(t|=0,t)<0,i=+p[t+12>>2],e?(i=+op(i),+(i*=2)):(i=+op(-i),+(i*=2))}(t|=0)},_emscripten_bind_btQuaternion_getAngle_0:function(t){return+ +function(t){return 2*+op(t=+t)}(+p[12+(t|=0)>>2])},_emscripten_bind_btQuaternion_getAxis_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24344]||Qs(24344),function(t,e){t|=0;var i,n=0;i=Q,Q=Q+32|0,1-(n=+p[12+(e|=0)>>2])*n<11920928955078125e-22?(p[i+20>>2]=1,p[i+16>>2]=0,p[i+12>>2]=0,R_(t,i+20|0,i+16|0,i+12|0),Q=i):(n=1/+ll(1-n*n),p[i+8>>2]=+p[e>>2]*n,p[i+4>>2]=+p[e+4>>2]*n,p[i>>2]=+p[e+8>>2]*n,R_(t,i+8|0,i+4|0,i),Q=i)}(e,t),_[6142]=_[e>>2],_[6143]=_[e+4>>2],_[6144]=_[e+8>>2],_[6145]=_[e+12>>2],Q=e,24568},_emscripten_bind_btQuaternion_inverse_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24336]||Qs(24336),function(t,e){t|=0,e|=0;var i=0;i=Q,Q=Q+16|0,p[i+8>>2]=-+p[e>>2],p[i+4>>2]=-+p[e+4>>2],p[i>>2]=-+p[e+8>>2],Wr(t,i+8|0,i+4|0,i,e+12|0),Q=i}(e,t),_[6138]=_[e>>2],_[6139]=_[e+4>>2],_[6140]=_[e+8>>2],_[6141]=_[e+12>>2],Q=e,24552},_emscripten_bind_btQuaternion_length2_0:function(t){return+ +Vc(t|=0)},_emscripten_bind_btQuaternion_length_0:function(t){return+ +ac(t|=0)},_emscripten_bind_btQuaternion_normalize_0:function(t){!function(t){$_(t|=0,+ac(t))}(t|=0)},_emscripten_bind_btQuaternion_normalized_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24352]||Qs(24352),function(t,e){(function(t,e,i){(function(t,e,i){t|=0,i=+i;var n,o=0;n=Q,Q=Q+16|0,o=0|Cl(e|=0),p[n+12>>2]=+p[o>>2]*i,o=0|sl(e),p[n+8>>2]=+p[o>>2]*i,o=0|rl(e),p[n+4>>2]=+p[o>>2]*i,p[n>>2]=+p[e+12>>2]*i,Wr(t,n+12|0,n+8|0,n+4|0,n),Q=n})(t|=0,e|=0,1/(i=+i))})(t|=0,e|=0,+ac(e))}(e,t),_[6146]=_[e>>2],_[6147]=_[e+4>>2],_[6148]=_[e+8>>2],_[6149]=_[e+12>>2],Q=e,24584},_emscripten_bind_btQuaternion_op_add_1:function(t,e){return 0|function(t,e){t|=0;var i=0;return i=0|Cl(e|=0),p[t>>2]=+p[t>>2]+ +p[i>>2],i=0|sl(e),p[t+4>>2]=+p[t+4>>2]+ +p[i>>2],i=0|rl(e),p[t+8>>2]=+p[t+8>>2]+ +p[i>>2],p[t+12>>2]=+p[t+12>>2]+ +p[e+12>>2],0|t}(t|=0,e|=0)},_emscripten_bind_btQuaternion_op_div_1:function(t,e){return 0|$_(t|=0,e=+e)},_emscripten_bind_btQuaternion_op_mul_1:function(t,e){var i;return t|=0,e=+e,i=Q,Q=Q+16|0,p[i>>2]=e,t=0|Go(t,i),Q=i,0|t},_emscripten_bind_btQuaternion_op_mulq_1:function(t,e){return 0|function(t,e){e|=0;var i,n,o,_,r,s,c,a,l,d=0;return i=Q,Q=Q+16|0,l=+p[12+(t|=0)>>2],d=0|Cl(e),s=+p[d>>2],c=+p[t>>2],a=+p[e+12>>2],r=+p[t+4>>2],d=0|rl(e),n=+p[d>>2],o=+p[t+8>>2],e=0|sl(e),_=+p[e>>2],p[i+12>>2]=l*s+c*a+r*n-o*_,p[i+8>>2]=l*_+r*a+o*s-c*n,p[i+4>>2]=l*n+o*a+c*_-r*s,p[i>>2]=l*a-c*s-r*_-o*n,n_(t,i+12|0,i+8|0,i+4|0,i),Q=i,0|t}(t|=0,e|=0)},_emscripten_bind_btQuaternion_op_sub_1:function(t,e){return 0|function(t,e){t|=0;var i=0;return i=0|Cl(e|=0),p[t>>2]=+p[t>>2]-+p[i>>2],i=0|sl(e),p[t+4>>2]=+p[t+4>>2]-+p[i>>2],i=0|rl(e),p[t+8>>2]=+p[t+8>>2]-+p[i>>2],p[t+12>>2]=+p[t+12>>2]-+p[e+12>>2],0|t}(t|=0,e|=0)},_emscripten_bind_btQuaternion_setEulerZYX_3:function(t,e,i,n){!function(t,e,i,n){var o,_,r,s;t|=0,i=+i,n=+n,o=Q,Q=Q+16|0,_=+bl(.5*(e=+e)),e=+dl(.5*e),r=+bl(.5*i),i=+dl(.5*i),s=+bl(.5*n),n=+dl(.5*n),p[o+12>>2]=n*r*_-s*i*e,p[o+8>>2]=s*i*_+n*r*e,p[o+4>>2]=s*r*e-n*i*_,p[o>>2]=s*r*_+n*i*e,n_(t,o+12|0,o+8|0,o+4|0,o),Q=o}(t|=0,e=+e,i=+i,n=+n)},_emscripten_bind_btQuaternion_setRotation_2:function(t,e,i){!function(t,e,i){t|=0,i=+i;var n,o=0,_=0;n=Q,Q=Q+16|0,o=+ep(+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2]),o=+dl(.5*i)/o,_=0|Cl(e),p[n+12>>2]=+p[_>>2]*o,_=0|sl(e),p[n+8>>2]=+p[_>>2]*o,e=0|rl(e),p[n+4>>2]=+p[e>>2]*o,i=+bl(.5*i),p[n>>2]=i,n_(t,n+12|0,n+8|0,n+4|0,n),Q=n}(t|=0,e|=0,i=+i)},_emscripten_bind_btQuaternion_setValue_4:Ro,_emscripten_bind_btQuaternion_setW_1:$p,_emscripten_bind_btQuaternion_setX_1:cc,_emscripten_bind_btQuaternion_setY_1:pc,_emscripten_bind_btQuaternion_setZ_1:sc,_emscripten_bind_btQuaternion_w_0:Hp,_emscripten_bind_btQuaternion_x_0:yc,_emscripten_bind_btQuaternion_y_0:Ep,_emscripten_bind_btQuaternion_z_0:Qp,_emscripten_bind_btRaycastVehicle___destroy___0:Kr,_emscripten_bind_btRaycastVehicle_addWheel_7:function(t,e,i,o,r,s,c,a){t|=0,e|=0,i|=0,o|=0,r=+r,s=+s,c|=0,a|=0;var l,d,b,A,f,u,m,h=0,y=0,g=0,C=0;if(m=Q,Q=Q+288|0,_[m+208>>2]=_[e>>2],_[m+208+4>>2]=_[e+4>>2],_[m+208+8>>2]=_[e+8>>2],_[m+208+12>>2]=_[e+12>>2],_[(g=m+208+16|0)>>2]=_[i>>2],_[g+4>>2]=_[i+4>>2],_[g+8>>2]=_[i+8>>2],_[g+12>>2]=_[i+12>>2],_[(i=m+208+32|0)>>2]=_[o>>2],_[i+4>>2]=_[o+4>>2],_[i+8>>2]=_[o+8>>2],_[i+12>>2]=_[o+12>>2],u=0|_[c>>2],d=0|_[c+4>>2],b=0|_[c+8>>2],A=0|_[c+16>>2],f=0|_[c+12>>2],l=0|_[c+20>>2],_[m+156>>2]=_[m+208>>2],_[m+156+4>>2]=_[m+208+4>>2],_[m+156+8>>2]=_[m+208+8>>2],_[m+156+12>>2]=_[m+208+12>>2],_[m+172>>2]=_[g>>2],_[m+172+4>>2]=_[g+4>>2],_[m+172+8>>2]=_[g+8>>2],_[m+172+12>>2]=_[g+12>>2],_[m+188>>2]=_[i>>2],_[m+188+4>>2]=_[i+4>>2],_[m+188+8>>2]=_[i+8>>2],_[m+188+12>>2]=_[i+12>>2],(0|(i=0|_[t+136>>2]))==(0|_[t+140>>2])&&(0|i)<(0|(C=0|i?i<<1:1))){if(C?(_[6630]=1+(0|_[6630]),(e=0|di(16+(284*C|3)|0))?(_[(e+4+15&-16)-4>>2]=e,e=e+4+15&-16):e=0,i=0|_[t+136>>2]):e=0,(0|i)>0){o=0;do{y=(c=0|_[t+144>>2])+(284*o|0)|0,g=92+(h=e+(284*o|0)|0)|0;do{_[h>>2]=_[y>>2],h=h+4|0,y=y+4|0}while((0|h)<(0|g));y=c+(284*o|0)+92|0,_[(h=e+(284*o|0)+92|0)>>2]=_[y>>2],_[h+4>>2]=_[y+4>>2],_[h+8>>2]=_[y+8>>2],_[h+12>>2]=_[y+12>>2],h=c+(284*o|0)+108|0,_[(y=e+(284*o|0)+108|0)>>2]=_[h>>2],_[y+4>>2]=_[h+4>>2],_[y+8>>2]=_[h+8>>2],_[y+12>>2]=_[h+12>>2],y=c+(284*o|0)+124|0,_[(h=e+(284*o|0)+124|0)>>2]=_[y>>2],_[h+4>>2]=_[y+4>>2],_[h+8>>2]=_[y+8>>2],_[h+12>>2]=_[y+12>>2],y=c+(284*o|0)+140|0,_[(h=e+(284*o|0)+140|0)>>2]=_[y>>2],_[h+4>>2]=_[y+4>>2],_[h+8>>2]=_[y+8>>2],_[h+12>>2]=_[y+12>>2],y=c+(284*o|0)+156|0,g=128+(h=e+(284*o|0)+156|0)|0;do{_[h>>2]=_[y>>2],h=h+4|0,y=y+4|0}while((0|h)<(0|g));o=o+1|0}while((0|o)!=(0|i))}0|(i=0|_[t+144>>2])&&(0|n[t+148|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[i+-4>>2])),_[t+144>>2]=0),n[t+148|0]=1,_[t+144>>2]=e,_[t+140>>2]=C,i=0|_[t+136>>2]}y=m,g=92+(h=(e=0|_[t+144>>2])+(284*i|0)|0)|0;do{_[h>>2]=_[y>>2],h=h+4|0,y=y+4|0}while((0|h)<(0|g));_[(h=e+(284*i|0)+92|0)>>2]=_[m+92>>2],_[h+4>>2]=_[m+92+4>>2],_[h+8>>2]=_[m+92+8>>2],_[h+12>>2]=_[m+92+12>>2],_[(h=e+(284*i|0)+108|0)>>2]=_[m+108>>2],_[h+4>>2]=_[m+108+4>>2],_[h+8>>2]=_[m+108+8>>2],_[h+12>>2]=_[m+108+12>>2],_[(h=e+(284*i|0)+124|0)>>2]=_[m+124>>2],_[h+4>>2]=_[m+124+4>>2],_[h+8>>2]=_[m+124+8>>2],_[h+12>>2]=_[m+124+12>>2],_[(h=e+(284*i|0)+140|0)>>2]=_[m+140>>2],_[h+4>>2]=_[m+140+4>>2],_[h+8>>2]=_[m+140+8>>2],_[h+12>>2]=_[m+140+12>>2],y=m+156|0,g=48+(h=e=e+(284*i|0)+156|0)|0;do{_[h>>2]=_[y>>2],h=h+4|0,y=y+4|0}while((0|h)<(0|g));p[e+48>>2]=r,_[e+52>>2]=f,p[e+56>>2]=s,_[e+60>>2]=u,_[e+64>>2]=d,_[e+68>>2]=b,_[e+72>>2]=A,p[e+76>>2]=0,p[e+80>>2]=0,p[e+84>>2]=0,p[e+88>>2]=.10000000149011612,_[e+92>>2]=l,p[e+96>>2]=0,p[e+100>>2]=0,n[e+104|0]=1&a,y=m+256|0,g=23+(h=e+105|0)|0;do{n[0|h]=0|n[0|y],h=h+1|0,y=y+1|0}while((0|h)<(0|g));return a=0|_[t+136>>2],_[t+136>>2]=a+1,a=(0|_[t+144>>2])+(284*a|0)|0,jt(0|_[t+116>>2],a,0),Ue(0|_[t+116>>2],0|_[t+144>>2],(0|_[t+136>>2])-1|0,0),Q=m,0|a},_emscripten_bind_btRaycastVehicle_applyEngineForce_2:function(t,e,i){e=+e,i|=0,p[(0|_[144+(t|=0)>>2])+(284*i|0)+252>>2]=e},_emscripten_bind_btRaycastVehicle_btRaycastVehicle_3:function(t,e,i){return t|=0,e|=0,i|=0,t=0|a_(152),_[t>>2]=5716,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[t+72>>2]=0,_[t+100>>2]=i,p[t+104>>2]=0,n[t+148|0]=1,_[t+144>>2]=0,_[t+136>>2]=0,_[t+140>>2]=0,_[t+116>>2]=e,_[t+120>>2]=0,_[t+124>>2]=2,_[t+128>>2]=1,p[t+112>>2]=0,p[t+108>>2]=0,0|t},_emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0:function(t){return 4+(0|_[116+(t|=0)>>2])|0},_emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0:function(t){return+ +qa(+p[112+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getForwardAxis_0:function(t){return 0|Cl(0|_[128+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getForwardVector_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24392]||Qs(24392),function(t,e,i){t|=0,i|=0;var n=0,o=0;e=0|Cl((e|=0)+4|0),o=(0|Cl(0|wa(e,0)))+(i<<2)|0,n=(0|Cl(0|wa(e,1)))+(i<<2)|0,R_(t,o,n,(0|Cl(0|wa(e,2)))+(i<<2)|0)}(e,0|_[t+116>>2],0|_[t+128>>2]),_[6198]=_[e>>2],_[6199]=_[e+4>>2],_[6200]=_[e+8>>2],_[6201]=_[e+12>>2],Q=e,24792},_emscripten_bind_btRaycastVehicle_getNumWheels_0:function(t){return 0|function(t){return 0|Cl(0|_[(t|=0)+136>>2])}(t|=0)},_emscripten_bind_btRaycastVehicle_getRightAxis_0:function(t){return 0|Cl(0|_[120+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getRigidBody_0:function(t){return 0|Cl(0|_[116+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getSteeringValue_1:function(t,e){return e|=0,+ +p[(0|_[144+(t|=0)>>2])+(284*e|0)+232>>2]},_emscripten_bind_btRaycastVehicle_getUpAxis_0:function(t){return 0|Cl(0|_[124+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getUserConstraintId_0:function(t){return 0|Cl(0|_[88+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getUserConstraintType_0:function(t){return 0|Cl(0|_[84+(t|=0)>>2])},_emscripten_bind_btRaycastVehicle_getWheelInfo_1:function(t,e){return e|=0,(0|_[144+(t|=0)>>2])+(284*e|0)|0},_emscripten_bind_btRaycastVehicle_getWheelTransformWS_1:function(t,e){return e|=0,(0|_[144+(t|=0)>>2])+(284*e|0)+92|0},_emscripten_bind_btRaycastVehicle_rayCast_1:function(t,e){return+ +J(t|=0,e|=0)},_emscripten_bind_btRaycastVehicle_resetSuspension_0:function(t){var e=0,i=0,n=0,o=0;if(!((0|_[136+(t|=0)>>2])<=0)){e=0;do{i=0|_[t+144>>2],_[i+(284*e|0)+32>>2]=_[i+(284*e|0)+204>>2],p[i+(284*e|0)+272>>2]=0,o=-+p[i+(284*e|0)+56>>2],n=-+p[i+(284*e|0)+60>>2],p[i+(284*e|0)>>2]=-+p[i+(284*e|0)+52>>2],p[i+(284*e|0)+4>>2]=o,p[i+(284*e|0)+8>>2]=n,p[i+(284*e|0)+12>>2]=0,p[i+(284*e|0)+268>>2]=1,e=e+1|0}while((0|e)<(0|_[t+136>>2]))}},_emscripten_bind_btRaycastVehicle_setBrake_2:function(t,e,i){e=+e,i|=0,p[(0|_[144+(t|=0)>>2])+(284*i|0)+256>>2]=e},_emscripten_bind_btRaycastVehicle_setCoordinateSystem_3:function(t,e,i,n){e|=0,i|=0,n|=0,pd[127&_[24+(0|_[(t|=0)>>2])>>2]](t,e,i,n)},_emscripten_bind_btRaycastVehicle_setPitchControl_1:function(t,e){Up(t|=0,e=+e)},_emscripten_bind_btRaycastVehicle_setSteeringValue_2:function(t,e,i){e=+e,i|=0,p[(0|_[144+(t|=0)>>2])+(284*i|0)+232>>2]=e},_emscripten_bind_btRaycastVehicle_setUserConstraintId_1:function(t,e){Np(t|=0,e|=0)},_emscripten_bind_btRaycastVehicle_setUserConstraintType_1:function(t,e){Gp(t|=0,e|=0)},_emscripten_bind_btRaycastVehicle_updateAction_2:Br,_emscripten_bind_btRaycastVehicle_updateFriction_1:function(t,e){e=+e,zl[31&_[20+(0|_[(t|=0)>>2])>>2]](t,e)},_emscripten_bind_btRaycastVehicle_updateSuspension_1:function(t,e){e=+e;var i=0,o=0,r=0;if(e=1/+p[344+(0|_[116+(t|=0)>>2])>>2],!((0|_[t+136>>2])<=0)){i=0;do{o=0|_[t+144>>2],0|n[o+(284*i|0)+84|0]?(r=+p[o+(284*i|0)+272>>2],r=(r=e*(+p[o+(284*i|0)+216>>2]*(+p[o+(284*i|0)+204>>2]-+p[o+(284*i|0)+32>>2])*+p[o+(284*i|0)+268>>2]-r*+p[(r<0?o+(284*i|0)+220:o+(284*i|0)+224)>>2]))<0?0:r):r=0,p[o+(284*i|0)+276>>2]=r,i=i+1|0}while((0|i)<(0|_[t+136>>2]))}},_emscripten_bind_btRaycastVehicle_updateVehicle_1:function(t,e){e=+e,zl[31&_[16+(0|_[(t|=0)>>2])>>2]](t,e)},_emscripten_bind_btRaycastVehicle_updateWheelTransform_2:function(t,e,i){e|=0,i|=0,Ue(0|_[116+(t|=0)>>2],0|_[t+144>>2],e,i)},_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1:function(t,e){e|=0,jt(0|_[116+(t|=0)>>2],e,1)},_emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2:function(t,e,i){e|=0,i|=0,jt(0|_[116+(t|=0)>>2],e,i)},_emscripten_bind_btRigidBodyConstructionInfo___destroy___0:qp,_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3:function(t,e,i){var n,o;return t=+t,e|=0,i|=0,o=Q,Q=Q+32|0,n=0|a_(140),p[o+8>>2]=0,p[o+4>>2]=0,p[o>>2]=0,R_(o+16|0,o+8|0,o+4|0,o),jn(n,t,e,i,o+16|0),Q=o,0|n},_emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4:function(t,e,i,n){var o;return t=+t,e|=0,i|=0,n|=0,jn(o=0|a_(140),t,e,i,n),0|o},_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0:function(t){return+ +p[136+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0:function(t){return+ +p[132+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0:function(t){return+ +p[124+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0:function(t){return 0|!!(1&n[120+(t|=0)|0])},_emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0:function(t){return+ +p[128+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0:function(t){return+ +p[96+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0:function(t){return+ +p[116+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0:function(t){return+ +p[100+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0:pa,_emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0:function(t){return+ +p[112+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0:function(t){return+ +p[108+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0:function(t){return+ +p[104+(t|=0)>>2]},_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1:function(t,e){e=+e,p[136+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1:function(t,e){e=+e,p[132+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1:function(t,e){e=+e,p[124+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1:function(t,e){e|=0,n[120+(t|=0)|0]=1&e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1:function(t,e){e=+e,p[128+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1:function(t,e){e=+e,p[96+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1:function(t,e){e=+e,p[116+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1:function(t,e){e=+e,p[100+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1:fc,_emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1:function(t,e){e=+e,p[112+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1:function(t,e){e=+e,p[108+(t|=0)>>2]=e},_emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1:Up,_emscripten_bind_btRigidBody___destroy___0:Xr,_emscripten_bind_btRigidBody_activate_0:J_,_emscripten_bind_btRigidBody_activate_1:k_,_emscripten_bind_btRigidBody_applyCentralForce_1:function(t,e){xo(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2])},_emscripten_bind_btRigidBody_applyCentralImpulse_1:function(t,e){ao(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2])},_emscripten_bind_btRigidBody_applyCentralLocalForce_1:function(t,e){!function(t,e,i,n){var o;e=+e,i=+i,n=+n,o=Q,Q=Q+32|0,Fn(o,0|Cl(4+(t|=0)|0),e,i,n),Wo(o+16|0,+p[o>>2],+p[o+4>>2],+p[o+8>>2],+p[t+348>>2],+p[t+352>>2],+p[t+356>>2]),c_(t+412|0,o+16|0),Q=o}(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2])},_emscripten_bind_btRigidBody_applyForce_2:function(t,e,i){!function(t,e,i){var n;i|=0,n=Q,Q=Q+32|0,xo(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2]),Wo(n,+p[e>>2],+p[e+4>>2],+p[e+8>>2],+p[t+348>>2],+p[t+352>>2],+p[t+356>>2]),go(n+16|0,+p[i>>2],+p[i+4>>2],+p[i+8>>2],+p[n>>2],+p[n+4>>2],+p[n+8>>2]),Oo(t,+p[n+16>>2],+p[n+16+4>>2],+p[n+16+8>>2]),Q=n}(t|=0,e|=0,i|=0)},_emscripten_bind_btRigidBody_applyGravity_0:function(t){var e,i;3&_[204+(t|=0)>>2]||(i=+p[t+368>>2]*+p[t+352>>2],e=+p[t+372>>2]*+p[t+356>>2],p[t+412>>2]=+p[t+364>>2]*+p[t+348>>2]+ +p[t+412>>2],p[t+416>>2]=i+ +p[t+416>>2],p[t+420>>2]=e+ +p[t+420>>2])},_emscripten_bind_btRigidBody_applyImpulse_2:function(t,e,i){Dn(t|=0,e|=0,i|=0)},_emscripten_bind_btRigidBody_applyLocalTorque_1:function(t,e){!function(t,e,i,n){var o;e=+e,i=+i,n=+n,o=Q,Q=Q+32|0,Fn(o,0|Cl(4+(t|=0)|0),e,i,n),Wo(o+16|0,+p[o>>2],+p[o+4>>2],+p[o+8>>2],+p[t+544>>2],+p[t+548>>2],+p[t+552>>2]),c_(t+428|0,o+16|0),Q=o}(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2])},_emscripten_bind_btRigidBody_applyTorqueImpulse_1:function(t,e){lo(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2])},_emscripten_bind_btRigidBody_applyTorque_1:function(t,e){Oo(t|=0,+p[(e|=0)>>2],+p[e+4>>2],+p[e+8>>2])},_emscripten_bind_btRigidBody_btRigidBody_1:function(t){var e;return t|=0,e=0|S_(616),_[e+164>>2]=1065353216,_[e+168>>2]=1065353216,_[e+172>>2]=1065353216,p[e+176>>2]=0,_[e+180>>2]=0,p[e+184>>2]=0xde0b6b000000000,_[e+188>>2]=0,_[e+188+4>>2]=0,_[e+188+8>>2]=0,_[e+188+12>>2]=0,_[e+204>>2]=1,_[e+208>>2]=-1,_[e+212>>2]=-1,_[e+216>>2]=1,p[e+220>>2]=0,p[e+224>>2]=.5,p[e+228>>2]=0,p[e+232>>2]=0,_[e+236>>2]=1,_[e+240>>2]=0,p[e+244>>2]=1,_[e+248>>2]=0,_[e+248+4>>2]=0,_[e+248+8>>2]=0,_[e+248+12>>2]=0,_[e+4>>2]=1065353216,_[e+8>>2]=0,_[e+8+4>>2]=0,_[e+8+8>>2]=0,_[e+8+12>>2]=0,_[e+24>>2]=1065353216,_[e+28>>2]=0,_[e+28+4>>2]=0,_[e+28+8>>2]=0,_[e+28+12>>2]=0,_[e+44>>2]=1065353216,_[e+48>>2]=0,_[e+48+4>>2]=0,_[e+48+8>>2]=0,_[e+48+12>>2]=0,_[e+48+16>>2]=0,_[e>>2]=4956,n[e+500|0]=1,_[e+496>>2]=0,_[e+488>>2]=0,_[e+492>>2]=0,Ce(e,t),0|e},_emscripten_bind_btRigidBody_forceActivationState_1:dp,_emscripten_bind_btRigidBody_getAabb_2:function(t,e,i){var n;e|=0,i|=0,n=0|_[192+(t|=0)>>2],pd[127&_[8+(0|_[n>>2])>>2]](n,t+4|0,e,i)},_emscripten_bind_btRigidBody_getAngularVelocity_0:function(t){return 0|function(t){return(t|=0)+328|0}(t|=0)},_emscripten_bind_btRigidBody_getBroadphaseProxy_0:function(t){return 0|Cl(0|_[188+(t|=0)>>2])},_emscripten_bind_btRigidBody_getCenterOfMassTransform_0:Bc,_emscripten_bind_btRigidBody_getCollisionFlags_0:Bp,_emscripten_bind_btRigidBody_getCollisionShape_0:Ip,_emscripten_bind_btRigidBody_getGravity_0:function(t){return 0|function(t){return(t|=0)+380|0}(t|=0)},_emscripten_bind_btRigidBody_getLinearVelocity_0:function(t){return 0|function(t){return(t|=0)+312|0}(t|=0)},_emscripten_bind_btRigidBody_getMotionState_0:function(t){return 0|Cl(0|_[480+(t|=0)>>2])},_emscripten_bind_btRigidBody_getUserIndex_0:wp,_emscripten_bind_btRigidBody_getUserPointer_0:Zp,_emscripten_bind_btRigidBody_getWorldTransform_0:Bc,_emscripten_bind_btRigidBody_isActive_0:np,_emscripten_bind_btRigidBody_isKinematicObject_0:ks,_emscripten_bind_btRigidBody_isStaticObject_0:Vs,_emscripten_bind_btRigidBody_isStaticOrKinematicObject_0:rs,_emscripten_bind_btRigidBody_setActivationState_1:Vr,_emscripten_bind_btRigidBody_setAngularFactor_1:function(t,e){!function(t,e){e|=0,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),_[t+544>>2]=_[e>>2],_[t+544+4>>2]=_[e+4>>2],_[t+544+8>>2]=_[e+8>>2],_[t+544+12>>2]=_[e+12>>2]}(t|=0,e|=0)},_emscripten_bind_btRigidBody_setAngularVelocity_1:function(t,e){!function(t,e){e|=0,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),_[t+328>>2]=_[e>>2],_[t+328+4>>2]=_[e+4>>2],_[t+328+8>>2]=_[e+8>>2],_[t+328+12>>2]=_[e+12>>2]}(t|=0,e|=0)},_emscripten_bind_btRigidBody_setAnisotropicFriction_2:Cr,_emscripten_bind_btRigidBody_setCcdMotionThreshold_1:Ss,_emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1:ms,_emscripten_bind_btRigidBody_setCenterOfMassTransform_1:function(t,e){ti(t|=0,e|=0)},_emscripten_bind_btRigidBody_setCollisionFlags_1:Os,_emscripten_bind_btRigidBody_setCollisionShape_1:is,_emscripten_bind_btRigidBody_setContactProcessingThreshold_1:Rs,_emscripten_bind_btRigidBody_setDamping_2:function(t,e,i){var n;t|=0,e=+e,i=+i,n=Q,Q=Q+16|0,p[n+12>>2]=e,p[n+8>>2]=i,p[n+4>>2]=0,p[n>>2]=1,_[t+444>>2]=_[(e<0?n+4:e>1?n:n+12)>>2],p[n+4>>2]=0,p[n>>2]=1,_[t+448>>2]=_[(i<0?n+4:i>1?n:n+8)>>2],Q=n},_emscripten_bind_btRigidBody_setFriction_1:ip,_emscripten_bind_btRigidBody_setGravity_1:function(t,e){e|=0;var i,n=0,o=0;0!=(i=+p[344+(t|=0)>>2])&&(o=1/i*+p[e+4>>2],n=1/i*+p[e+8>>2],p[t+364>>2]=1/i*+p[e>>2],p[t+368>>2]=o,p[t+372>>2]=n,p[t+376>>2]=0),_[t+380>>2]=_[e>>2],_[t+380+4>>2]=_[e+4>>2],_[t+380+8>>2]=_[e+8>>2],_[t+380+12>>2]=_[e+12>>2]},_emscripten_bind_btRigidBody_setLinearFactor_1:function(t,e){!function(t,e){var i;e|=0,i=Q,Q=Q+16|0,_[348+(t|=0)>>2]=_[e>>2],_[t+348+4>>2]=_[e+4>>2],_[t+348+8>>2]=_[e+8>>2],_[t+348+12>>2]=_[e+12>>2],Vo(i,+p[t+348>>2],+p[t+352>>2],+p[t+356>>2],+p[t+344>>2]),_[t+560>>2]=_[i>>2],_[t+560+4>>2]=_[i+4>>2],_[t+560+8>>2]=_[i+8>>2],_[t+560+12>>2]=_[i+12>>2],Q=i}(t|=0,e|=0)},_emscripten_bind_btRigidBody_setLinearVelocity_1:function(t,e){!function(t,e){e|=0,_[260+(t|=0)>>2]=1+(0|_[t+260>>2]),_[t+312>>2]=_[e>>2],_[t+312+4>>2]=_[e+4>>2],_[t+312+8>>2]=_[e+8>>2],_[t+312+12>>2]=_[e+12>>2]}(t|=0,e|=0)},_emscripten_bind_btRigidBody_setMassProps_2:function(t,e,i){e=+e,i|=0;var n,o=0,r=0,s=0,c=0;o=0|_[204+(t|=0)>>2],0==e?(_[t+204>>2]=1|o,r=0):(_[t+204>>2]=-2&o,r=1/e),p[t+344>>2]=r,c=+p[t+384>>2]*e,s=+p[t+388>>2]*e,p[t+364>>2]=+p[t+380>>2]*e,p[t+368>>2]=c,p[t+372>>2]=s,p[t+376>>2]=0,n=0!=(e=+p[i>>2])?(p[a>>2]=1/e,0|_[a>>2]):0,o=0!=(e=+p[i+4>>2])?(p[a>>2]=1/e,0|_[a>>2]):0,i=0!=(e=+p[i+8>>2])?(p[a>>2]=1/e,0|_[a>>2]):0,_[t+396>>2]=n,_[t+400>>2]=o,_[t+404>>2]=i,p[t+408>>2]=0,s=r*+p[t+352>>2],c=r*+p[t+356>>2],p[t+560>>2]=+p[t+348>>2]*r,p[t+564>>2]=s,p[t+568>>2]=c,p[t+572>>2]=0},_emscripten_bind_btRigidBody_setMotionState_1:function(t,e){!function(t,e){e|=0,_[480+(t|=0)>>2]=e,e&&ed[127&_[8+(0|_[e>>2])>>2]](e,t+4|0)}(t|=0,e|=0)},_emscripten_bind_btRigidBody_setRestitution_1:Zs,_emscripten_bind_btRigidBody_setRollingFriction_1:Ps,_emscripten_bind_btRigidBody_setSleepingThresholds_2:function(t,e,i){!function(t,e,i){e=+e,i=+i,p[(t|=0)+472>>2]=e,p[t+476>>2]=i}(t|=0,e=+e,i=+i)},_emscripten_bind_btRigidBody_setUserIndex_1:Ks,_emscripten_bind_btRigidBody_setUserPointer_1:Ks,_emscripten_bind_btRigidBody_setWorldTransform_1:ls,_emscripten_bind_btRigidBody_upcast_1:function(t,e){return 0|function(t){return 0|(2&Cl(0|_[236+(t|=0)>>2])?t:0)}(e|=0)},_emscripten_bind_btRigidBody_updateInertiaTensor_0:function(t){var e,i,n,o,_,r,s,c,a,l,d,b;b=+p[4+(t|=0)>>2],r=+p[t+396>>2],d=+p[t+8>>2],o=+p[t+400>>2],l=+p[t+12>>2],i=+p[t+404>>2],a=+p[t+20>>2],c=+p[t+24>>2],s=+p[t+28>>2],_=+p[t+36>>2],n=+p[t+40>>2],e=+p[t+44>>2],p[t+264>>2]=b*r*b+d*o*d+l*i*l,p[t+268>>2]=b*r*a+d*o*c+l*i*s,p[t+272>>2]=b*r*_+d*o*n+l*i*e,p[t+276>>2]=0,p[t+280>>2]=r*a*b+o*c*d+i*s*l,p[t+284>>2]=r*a*a+o*c*c+i*s*s,p[t+288>>2]=r*a*_+o*c*n+i*s*e,p[t+292>>2]=0,p[t+296>>2]=r*_*b+o*n*d+i*e*l,p[t+300>>2]=r*_*a+o*n*c+i*e*s,p[t+304>>2]=r*_*_+o*n*n+i*e*e,p[t+308>>2]=0},_emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0:Kr,_emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0:function(){var t;return t=0|function(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(215))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(),_[t>>2]=5656,n[t+20|0]=1,_[t+16>>2]=0,_[t+8>>2]=0,_[t+12>>2]=0,n[t+40|0]=1,_[t+36>>2]=0,_[t+28>>2]=0,_[t+32>>2]=0,n[t+60|0]=1,_[t+56>>2]=0,_[t+48>>2]=0,_[t+52>>2]=0,n[t+80|0]=1,_[t+76>>2]=0,_[t+68>>2]=0,_[t+72>>2]=0,n[t+100|0]=1,_[t+96>>2]=0,_[t+88>>2]=0,_[t+92>>2]=0,n[t+120|0]=1,_[t+116>>2]=0,_[t+108>>2]=0,_[t+112>>2]=0,n[t+140|0]=1,_[t+136>>2]=0,_[t+128>>2]=0,_[t+132>>2]=0,n[t+160|0]=1,_[t+156>>2]=0,_[t+148>>2]=0,_[t+152>>2]=0,n[t+180|0]=1,_[t+176>>2]=0,_[t+168>>2]=0,_[t+172>>2]=0,_[t+192>>2]=0,0|t},_emscripten_bind_btShapeHull___destroy___0:function(t){var e=0,i=0;if(t|=0){0|(e=0|_[t+32>>2])&&(0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+32>>2]=0),n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,e=0|_[t+12>>2];do{if(e){if(!(0|n[t+16|0])){n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,e=t+8|0,i=14;break}if(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+32>>2],n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,e){if(!(0|n[t+36|0])){n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,e=t+8|0;break}_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2]),e=0|_[t+12>>2],n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0,e?(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[e+-4>>2])),_[t+12>>2]=0,e=t+8|0):e=t+8|0}else e=t+8|0,i=14}else n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[t+8>>2]=0,e=t+8|0,i=14}while(0);14==(0|i)&&(n[t+36|0]=1,_[t+32>>2]=0,_[t+24>>2]=0,_[t+28>>2]=0),n[t+16|0]=1,_[t+12>>2]=0,_[t+4>>2]=0,_[e>>2]=0,gs(t)}},_emscripten_bind_btShapeHull_btShapeHull_1:function(t){var e;return t|=0,e=0|function(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(67))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(),_[e+44>>2]=t,n[e+16|0]=1,_[e+12>>2]=0,_[e+4>>2]=0,_[e+8>>2]=0,n[e+36|0]=1,_[e+32>>2]=0,_[e+24>>2]=0,_[e+28>>2]=0,_[e+40>>2]=0,0|e},_emscripten_bind_btShapeHull_buildHull_1:function(t,e){e=+e;var i,o,r,s=0,c=0,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;if(r=Q,Q=Q+1136|0,a=0|_[44+(t|=0)>>2],(0|(a=0|Gl[127&_[84+(0|_[a>>2])>>2]](a)))>0){for(s=0,c=42;f=0|_[t+44>>2],_d[127&_[88+(0|_[f>>2])>>2]](f,s,r),oi(),_[(f=22256+(c<<4)|0)>>2]=_[r>>2],_[f+4>>2]=_[r+4>>2],_[f+8>>2]=_[r+8>>2],_[f+12>>2]=_[r+12>>2],(0|(s=s+1|0))!=(0|a);)c=c+1|0;c=a+42|0}else c=42;s=0;do{f=0|_[t+44>>2],A=0|_[64+(0|_[f>>2])>>2],oi(),_d[127&A](r+1104|0,f,22256+(s<<4)|0),_[(f=r+(s<<4)|0)>>2]=_[r+1104>>2],_[f+4>>2]=_[r+1104+4>>2],_[f+8>>2]=_[r+1104+8>>2],_[f+12>>2]=_[r+1104+12>>2],s=s+1|0}while(s>>>0>>0);if(p[r+1104+16>>2]=.0010000000474974513,_[r+1104+20>>2]=4096,_[r+1104+24>>2]=4096,_[r+1104>>2]=1,_[r+1104+4>>2]=c,_[r+1104+8>>2]=r,_[r+1104+12>>2]=16,n[r+1064+16|0]=1,_[r+1064+12>>2]=0,_[r+1064+4>>2]=0,_[r+1064+8>>2]=0,n[r+1064+36|0]=1,_[r+1064+32>>2]=0,_[r+1064+24>>2]=0,_[r+1064+28>>2]=0,n[r+1008+24|0]=1,_[(f=r+1008+20|0)>>2]=0,_[r+1008+12>>2]=0,_[r+1008+16>>2]=0,n[0|(o=r+1008+52|0)]=1,_[(A=r+1008+48|0)>>2]=0,_[r+1008+40>>2]=0,_[r+1008+44>>2]=0,n[r+1008|0]=1,_[(i=r+1008+4|0)>>2]=0,_[r+1008+28>>2]=0,_[r+1008+32>>2]=0,1!=(0|Rl(r+1064|0,r+1104|0,r+1008|0))){if(d=0|_[i>>2],(0|(l=0|_[t+4>>2]))<(0|d)){if((0|_[t+8>>2])<(0|d)){if(d?(_[6630]=1+(0|_[6630]),(s=0|di(16+(d<<4|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,a=0|_[t+4>>2]):(s=0,a=l),(0|a)>0){c=0;do{b=s+(c<<4)|0,m=(0|_[t+12>>2])+(c<<4)|0,_[b>>2]=_[m>>2],_[b+4>>2]=_[m+4>>2],_[b+8>>2]=_[m+8>>2],_[b+12>>2]=_[m+12>>2],c=c+1|0}while((0|c)!=(0|a))}0|(c=0|_[t+12>>2])&&(0|n[t+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[t+12>>2]=0),n[t+16|0]=1,_[t+12>>2]=s,_[t+8>>2]=d,c=t+12|0}else c=t+12|0;s=l;do{m=(0|_[c>>2])+(s<<4)|0,_[m>>2]=_[r+992>>2],_[m+4>>2]=_[r+992+4>>2],_[m+8>>2]=_[r+992+8>>2],_[m+12>>2]=_[r+992+12>>2],s=s+1|0}while((0|s)!=(0|d));s=0|_[i>>2]}else s=d;if(_[t+4>>2]=d,(0|s)>0){c=0|_[f>>2],s=0;do{b=c+(s<<4)|0,m=(0|_[t+12>>2])+(s<<4)|0,_[m>>2]=_[b>>2],_[m+4>>2]=_[b+4>>2],_[m+8>>2]=_[b+8>>2],_[m+12>>2]=_[b+12>>2],s=s+1|0}while((0|s)<(0|_[i>>2]))}if(b=0|_[r+1008+32>>2],_[t+40>>2]=b,(0|b)>(0|(d=0|_[t+24>>2]))){do{if((0|_[t+28>>2])<(0|b)){if(b?(_[6630]=1+(0|_[6630]),(s=0|di(16+(b<<2|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,a=0|_[t+24>>2]):(s=0,a=d),l=0|_[t+32>>2],(0|a)<=0){if(!l){n[t+36|0]=1,_[t+32>>2]=s,_[t+28>>2]=b;break}}else{c=0;do{_[s+(c<<2)>>2]=_[l+(c<<2)>>2],c=c+1|0}while((0|c)!=(0|a))}0|n[t+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),n[t+36|0]=1,_[t+32>>2]=s,_[t+28>>2]=b}else s=0|_[t+32>>2]}while(0);wn(s+(d<<2)|0,0,b-d<<2),s=0|_[t+40>>2]}else s=b;if(_[t+24>>2]=b,(0|s)>0){c=0|_[A>>2],a=0|_[t+32>>2],s=0;do{_[a+(s<<2)>>2]=_[c+(s<<2)>>2],s=s+1|0}while((0|s)<(0|_[t+40>>2]))}0|_[r+1008+12>>2]&&(_[i>>2]=0,0|(s=0|_[f>>2])&&(0|n[r+1008+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[f>>2]=0),n[r+1008+24|0]=1,_[f>>2]=0,_[r+1008+12>>2]=0,_[r+1008+16>>2]=0),0|_[r+1008+40>>2]?(_[r+1008+32>>2]=0,0|(s=0|_[A>>2])&&(0|n[0|o]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[A>>2]=0),n[0|o]=1,_[A>>2]=0,_[r+1008+40>>2]=0,_[r+1008+44>>2]=0,c=1):(c=1,u=60)}else c=0,u=60;return 60==(0|u)&&(s=0|_[A>>2])&&(0|n[0|o]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[A>>2]=0),n[0|o]=1,_[A>>2]=0,_[r+1008+40>>2]=0,_[r+1008+44>>2]=0,0|(s=0|_[f>>2])&&(0|n[r+1008+24|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[f>>2]=0),0|(s=0|_[r+1064+32>>2])&&(0|n[r+1064+36|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[r+1064+32>>2]=0),n[r+1064+36|0]=1,_[r+1064+32>>2]=0,_[r+1064+24>>2]=0,_[r+1064+28>>2]=0,(s=0|_[r+1064+12>>2])?(0|n[r+1064+16|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[r+1064+12>>2]=0,Q=r,0|c):(Q=r,0|c)},_emscripten_bind_btShapeHull_getVertexPointer_0:function(t){return 0|function(t){return 0|Cl(0|_[(t|=0)+12>>2])}(t|=0)},_emscripten_bind_btShapeHull_numVertices_0:Hc,_emscripten_bind_btSliderConstraint___destroy___0:Kr,_emscripten_bind_btSliderConstraint_btSliderConstraint_3:function(t,e,i){t|=0,e|=0,i|=0;var o,r,s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k,R,j,D=0,I=0,B=0;return r=Q,Q=Q+16|0,o=0|F_(),!(0|n[24496])&&0|Qs(24496)&&(_[r>>2]=0,_[r+4>>2]=0,_[r+8>>2]=0,_[r+12>>2]=0,ut(25184,0,0,0,r)),_[6347]=1|_[6347],p[6382]=0,I=0*+p[6392],B=0*+p[6393],p[6387]=0*+p[6391],p[6388]=I,p[6389]=B,p[6390]=0,_[6395]=0,_[6396]=0,_[6397]=0,_[6398]=0,B=0*+p[6384],I=0*+p[6385],p[6436]=0*+p[6383],p[6437]=B,p[6438]=I,p[6439]=0,_[o+4>>2]=7,_[o+8>>2]=-1,_[o+12>>2]=-1,p[o+16>>2]=34028234663852886e22,n[o+20|0]=1,n[o+21|0]=0,_[o+24>>2]=-1,_[o+28>>2]=25184,_[o+32>>2]=t,p[o+36>>2]=0,p[o+40>>2]=.30000001192092896,_[o+44>>2]=0,_[o>>2]=5496,n[o+48|0]=0,_[o+116>>2]=_[e>>2],_[o+116+4>>2]=_[e+4>>2],_[o+116+8>>2]=_[e+8>>2],_[o+116+12>>2]=_[e+12>>2],_[o+132>>2]=_[e+16>>2],_[o+132+4>>2]=_[e+16+4>>2],_[o+132+8>>2]=_[e+16+8>>2],_[o+132+12>>2]=_[e+16+12>>2],_[o+148>>2]=_[e+32>>2],_[o+148+4>>2]=_[e+32+4>>2],_[o+148+8>>2]=_[e+32+8>>2],_[o+148+12>>2]=_[e+32+12>>2],_[o+164>>2]=_[e+48>>2],_[o+164+4>>2]=_[e+48+4>>2],_[o+164+8>>2]=_[e+48+8>>2],_[o+164+12>>2]=_[e+48+12>>2],n[o+180|0]=1&i,I=+p[o+116>>2],B=+p[t+4>>2],g=+p[o+132>>2],k=+p[t+8>>2],y=+p[o+148>>2],w=+p[t+12>>2],h=+p[o+120>>2],m=+p[o+136>>2],u=+p[o+152>>2],f=+p[o+124>>2],b=+p[o+140>>2],l=+p[o+156>>2],S=+p[t+20>>2],v=+p[t+24>>2],C=+p[t+28>>2],A=+p[t+36>>2],d=+p[t+40>>2],a=+p[t+44>>2],j=+p[o+164>>2],R=+p[o+168>>2],D=+p[o+172>>2],c=+p[t+52>>2]+(B*j+k*R+w*D),s=S*j+v*R+C*D+ +p[t+56>>2],D=A*j+d*R+a*D+ +p[t+60>>2],p[o+52>>2]=I*B+g*k+y*w,p[o+56>>2]=B*h+k*m+w*u,p[o+60>>2]=B*f+k*b+w*l,p[o+64>>2]=0,p[o+68>>2]=I*S+g*v+y*C,p[o+72>>2]=h*S+m*v+u*C,p[o+76>>2]=f*S+b*v+l*C,p[o+80>>2]=0,p[o+84>>2]=I*A+g*d+y*a,p[o+88>>2]=h*A+m*d+u*a,p[o+92>>2]=f*A+b*d+l*a,p[o+96>>2]=0,p[o+100>>2]=c,p[o+104>>2]=s,p[o+108>>2]=D,p[o+112>>2]=0,p[o+184>>2]=1,p[o+188>>2]=-1,p[o+192>>2]=0,p[o+196>>2]=0,p[o+200>>2]=1,p[o+204>>2]=.699999988079071,p[o+208>>2]=0,p[o+212>>2]=0,p[o+216>>2]=1,p[o+220>>2]=.699999988079071,p[o+224>>2]=0,p[o+228>>2]=0,p[o+264>>2]=1,p[o+268>>2]=.699999988079071,p[o+272>>2]=1,p[o+276>>2]=0,p[o+280>>2]=1,p[o+284>>2]=.699999988079071,p[o+288>>2]=1,p[o+292>>2]=0,p[o+232>>2]=1,p[o+236>>2]=.699999988079071,p[o+240>>2]=1,p[o+244>>2]=0,p[o+248>>2]=1,p[o+252>>2]=.699999988079071,p[o+256>>2]=1,p[o+260>>2]=0,n[o+1096|0]=0,p[o+1116>>2]=0,p[o+1120>>2]=0,p[o+1124>>2]=0,_[o+300>>2]=0,_[o+1100>>2]=0,_[o+1100+4>>2]=0,_[o+1100+8>>2]=0,n[o+1100+12|0]=0,n[o+49|0]=1,Bi(o,4+(0|_[o+28>>2])|0,4+(0|_[o+32>>2])|0),Q=r,0|o},_emscripten_bind_btSliderConstraint_btSliderConstraint_5:function(t,e,i,o,r){var s;return t|=0,e|=0,i|=0,o|=0,r|=0,s=0|F_(),_[s+4>>2]=7,_[s+8>>2]=-1,_[s+12>>2]=-1,p[s+16>>2]=34028234663852886e22,n[s+20|0]=1,n[s+21|0]=0,_[s+24>>2]=-1,_[s+28>>2]=t,_[s+32>>2]=e,p[s+36>>2]=0,p[s+40>>2]=.30000001192092896,_[s+44>>2]=0,_[s>>2]=5496,n[s+48|0]=0,_[s+52>>2]=_[i>>2],_[s+52+4>>2]=_[i+4>>2],_[s+52+8>>2]=_[i+8>>2],_[s+52+12>>2]=_[i+12>>2],_[s+68>>2]=_[i+16>>2],_[s+68+4>>2]=_[i+16+4>>2],_[s+68+8>>2]=_[i+16+8>>2],_[s+68+12>>2]=_[i+16+12>>2],_[s+84>>2]=_[i+32>>2],_[s+84+4>>2]=_[i+32+4>>2],_[s+84+8>>2]=_[i+32+8>>2],_[s+84+12>>2]=_[i+32+12>>2],_[s+100>>2]=_[i+48>>2],_[s+100+4>>2]=_[i+48+4>>2],_[s+100+8>>2]=_[i+48+8>>2],_[s+100+12>>2]=_[i+48+12>>2],_[s+116>>2]=_[o>>2],_[s+116+4>>2]=_[o+4>>2],_[s+116+8>>2]=_[o+8>>2],_[s+116+12>>2]=_[o+12>>2],_[s+132>>2]=_[o+16>>2],_[s+132+4>>2]=_[o+16+4>>2],_[s+132+8>>2]=_[o+16+8>>2],_[s+132+12>>2]=_[o+16+12>>2],_[s+148>>2]=_[o+32>>2],_[s+148+4>>2]=_[o+32+4>>2],_[s+148+8>>2]=_[o+32+8>>2],_[s+148+12>>2]=_[o+32+12>>2],_[s+164>>2]=_[o+48>>2],_[s+164+4>>2]=_[o+48+4>>2],_[s+164+8>>2]=_[o+48+8>>2],_[s+164+12>>2]=_[o+48+12>>2],n[s+180|0]=1&r,p[s+184>>2]=1,p[s+188>>2]=-1,p[s+192>>2]=0,p[s+196>>2]=0,p[s+200>>2]=1,p[s+204>>2]=.699999988079071,p[s+208>>2]=0,p[s+212>>2]=0,p[s+216>>2]=1,p[s+220>>2]=.699999988079071,p[s+224>>2]=0,p[s+228>>2]=0,p[s+264>>2]=1,p[s+268>>2]=.699999988079071,p[s+272>>2]=1,p[s+276>>2]=0,p[s+280>>2]=1,p[s+284>>2]=.699999988079071,p[s+288>>2]=1,p[s+292>>2]=0,p[s+232>>2]=1,p[s+236>>2]=.699999988079071,p[s+240>>2]=1,p[s+244>>2]=0,p[s+248>>2]=1,p[s+252>>2]=.699999988079071,p[s+256>>2]=1,p[s+260>>2]=0,n[s+1096|0]=0,p[s+1116>>2]=0,p[s+1120>>2]=0,p[s+1124>>2]=0,_[s+300>>2]=0,_[s+1100>>2]=0,_[s+1100+4>>2]=0,_[s+1100+8>>2]=0,n[s+1100+12|0]=0,n[s+49|0]=1,Bi(s,4+(0|_[s+28>>2])|0,4+(0|_[s+32>>2])|0),0|s},_emscripten_bind_btSliderConstraint_enableFeedback_1:Ws,_emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btSliderConstraint_getParam_2:kr,_emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btSliderConstraint_setLowerAngLimit_1:function(t,e){!function(t,e){t|=0,e=+x_(e=+e),p[t+192>>2]=e}(t|=0,e=+e)},_emscripten_bind_btSliderConstraint_setLowerLinLimit_1:Rs,_emscripten_bind_btSliderConstraint_setParam_3:br,_emscripten_bind_btSliderConstraint_setUpperAngLimit_1:function(t,e){!function(t,e){t|=0,e=+x_(e=+e),p[t+196>>2]=e}(t|=0,e=+e)},_emscripten_bind_btSliderConstraint_setUpperLinLimit_1:function(t,e){!function(t,e){e=+e,p[(t|=0)+188>>2]=e}(t|=0,e=+e)},_emscripten_bind_btSoftBodyArray___destroy___0:As,_emscripten_bind_btSoftBodyArray_at_1:zr,_emscripten_bind_btSoftBodyArray_size_0:Oc,_emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4:function(t,e,i,n,o){t|=0,e|=0,i|=0,n|=0;var r,s=0,c=0,a=0,l=0,d=0,A=0,m=0,h=0;if(r=Q,Q=Q+16|0,(0|(o|=0))>-3){_[6630]=1+(0|_[6630]),(t=0|di(16+(o+3<<4|3)|0))?(_[(t+4+15&-16)-4>>2]=t,d=t+4+15&-16):d=0,t=0;do{_[(c=d+(t<<4)|0)>>2]=_[r>>2],_[c+4>>2]=_[r+4>>2],_[c+8>>2]=_[r+8>>2],_[c+12>>2]=_[r+12>>2],t=t+1|0}while((0|t)!=(o+3|0));for(s=0,c=d;;){if(s)for(t=s,a=0,l=.5;a=1&t?a+l:a,t>>=1;)l*=.5;else a=0;if(m=(3.1415927410125732*+(s<<1)+3.1415927410125732)/+(o+3|0),a=+b(+(1-(l=2*a-1)*l)),A=+f(+m)*a,a=+u(+m)*a,p[c>>2]=A,p[c+4>>2]=a,p[c+8>>2]=l,p[c+12>>2]=0,(0|(s=s+1|0))==(o+3|0))break;c=c+16|0}t=0;do{h=d+(t<<4)|0,c=d+(t<<4)+8|0,A=+p[(s=d+(t<<4)+4|0)>>2]*+p[n+4>>2]+ +p[i+4>>2],m=+p[c>>2]*+p[n+8>>2]+ +p[i+8>>2],p[h>>2]=+p[h>>2]*+p[n>>2]+ +p[i>>2],p[s>>2]=A,p[c>>2]=m,p[d+(t<<4)+12>>2]=0,t=t+1|0}while((0|t)<(o+3|0));c=d,s=d}else c=0,s=0;return t=0|ue(e,c,o+3|0,1),!(0|c)|!(0|s)?(Q=r,0|t):(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),Q=r,0|t)},_emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4:function(t,e,i,n,o){return 0|ue(e|=0,i|=0,n|=0,o|=0)},_emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5:function(t,e,i,o,r,s){t|=0,e|=0,i|=0,o|=0,s|=0;var c,a,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0;if(a=Q,Q=Q+64|0,(0|(r|=0))>0){t=0,l=0;do{t=(0|(w=0|_[o+(l<<2)>>2]))>(0|t)?w:t,l=l+1|0}while((0|l)<(3*r|0))}else t=0;if((d=0|g(c=t+1|0,c))?(_[6630]=1+(0|_[6630]),(l=0|di(d+19|0))?(_[(l+4+15&-16)-4>>2]=l,l=l+4+15&-16):l=0,wn(0|l,0,0|d)):l=0,(0|t)>-1){_[6630]=1+(0|_[6630]),(t=0|di(16+(c<<4|3)|0))?(_[(t+4+15&-16)-4>>2]=t,A=t+4+15&-16):A=0,t=0;do{_[(w=A+(t<<4)|0)>>2]=_[a>>2],_[w+4>>2]=_[a+4>>2],_[w+8>>2]=_[a+8>>2],_[w+12>>2]=_[a+12>>2],t=t+1|0}while((0|t)!=(0|c));for(t=0,d=0;;){if(S=0|_[i+(d+1<<2)>>2],w=0|_[i+(d+2<<2)>>2],_[A+(t<<4)>>2]=_[i+(d<<2)>>2],_[A+(t<<4)+4>>2]=S,_[A+(t<<4)+8>>2]=w,p[A+(t<<4)+12>>2]=0,(0|(d=d+3|0))>=(3*c|0)){w=A,S=A;break}t=t+1|0}}else w=0,S=0;if(_[6630]=1+(0|_[6630]),(t=0|di(1271))?(_[(t+4+15&-16)-4>>2]=t,v=t+4+15&-16):v=0,hi(v,e,c,w,0),(0|r)>0){e=v+720|0,f=v+732|0,u=v+740|0,m=v+924|0,i=0;do{h=0|_[o+(i<<2)>>2],y=0|_[o+(i+1<<2)>>2],C=0|_[o+(i+2<<2)>>2],A=0|g(h,c),0|n[0|(t=l+(A+C)|0)]||(n[0|t]=1,D=l+((0|g(C,c))+h)|0,n[0|D]=1,D=0|_[e>>2],ne(v,0),d=(0|_[f>>2])-1|0,t=0|_[u>>2],_[t+(52*d|0)+8>>2]=D+(104*C|0),_[t+(52*d|0)+12>>2]=D+(104*h|0),j=+p[D+(104*C|0)+8>>2]-+p[D+(104*h|0)+8>>2],R=+p[D+(104*C|0)+12>>2]-+p[D+(104*h|0)+12>>2],k=+p[D+(104*C|0)+16>>2]-+p[D+(104*h|0)+16>>2],k=+b(+(j*j+R*R+k*k)),p[t+(52*d|0)+16>>2]=k,n[0|m]=1),d=0|g(y,c),0|n[0|(t=l+(d+h)|0)]||(n[0|t]=1,n[l+(A+y)|0]=1,t=0|_[e>>2],ne(v,0),D=(0|_[f>>2])-1|0,A=0|_[u>>2],_[A+(52*D|0)+8>>2]=t+(104*h|0),_[A+(52*D|0)+12>>2]=t+(104*y|0),k=+p[t+(104*h|0)+8>>2]-+p[t+(104*y|0)+8>>2],R=+p[t+(104*h|0)+12>>2]-+p[t+(104*y|0)+12>>2],j=+p[t+(104*h|0)+16>>2]-+p[t+(104*y|0)+16>>2],j=+b(+(k*k+R*R+j*j)),p[A+(52*D|0)+16>>2]=j,n[0|m]=1),t=l+((0|g(C,c))+y)|0,0|n[0|t]||(n[0|t]=1,n[l+(d+C)|0]=1,d=0|_[e>>2],ne(v,0),D=(0|_[f>>2])-1|0,A=0|_[u>>2],_[A+(52*D|0)+8>>2]=d+(104*y|0),_[A+(52*D|0)+12>>2]=d+(104*C|0),k=+p[d+(104*y|0)+8>>2]-+p[d+(104*C|0)+8>>2],R=+p[d+(104*y|0)+12>>2]-+p[d+(104*C|0)+12>>2],j=+p[d+(104*y|0)+16>>2]-+p[d+(104*C|0)+16>>2],j=+b(+(k*k+R*R+j*j)),p[A+(52*D|0)+16>>2]=j,n[0|m]=1),ct(v,h,y,C,0),i=i+3|0}while((0|i)<(3*r|0))}if(s){if((0|(A=0|_[v+732>>2]))>0){i=v+740|0,t=243703,d=0;do{f=(e=0|_[i>>2])+(52*d|0)|0,t=1013904223+(0|g(t,1664525))|0,m=f,h=(u=a)+52|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));m=e+(52*((t>>>0)%(A>>>0)|0)|0)|0,h=(u=f)+52|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));m=a,h=52+(u=e+(52*((t>>>0)%(A>>>0)|0)|0)|0)|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));d=d+1|0}while((0|d)!=(0|A))}else t=243703;if((0|(e=0|_[v+752>>2]))>0){f=v+760|0,d=0;do{A=(i=0|_[f>>2])+(44*d|0)|0,i=i+(44*(((t=1013904223+(0|g(t,1664525))|0)>>>0)%(e>>>0)|0)|0)|0,m=A,h=(u=a)+44|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));m=i,h=(u=A)+44|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));m=a,h=(u=i)+44|0;do{_[u>>2]=_[m>>2],u=u+4|0,m=m+4|0}while((0|u)<(0|h));d=d+1|0}while((0|d)!=(0|e))}}return!(0|w)|!(0|S)||(_[6631]=1+(0|_[6631]),Ni(0|_[S+-4>>2])),l?(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2]),Q=a,0|v):(Q=a,0|v)},_emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10:function(t,e,i,o,r,s,c,a,l,d,A){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0,l|=0,d|=0,A|=0;var f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0,W=0;if((0|(c|=0))<2|(0|(a|=0))<2)return 0|(d=0);w=0|g(a,c),_[6630]=1+(0|_[6630]),(t=0|di(w>>>0>268435455?18:16+(w<<4|3)|0))?(_[(t+4+15&-16)-4>>2]=t,k=t+4+15&-16):k=0,R=0|ul(w>>>0>1073741823?-1:w<<2),t=0;do{I=+(0|t)/+(a+-1|0),m=+p[i>>2],m+=I*(+p[r>>2]-m),h=+p[i+4>>2],h+=I*(+p[r+4>>2]-h),y=+p[i+8>>2],y+=I*(+p[r+8>>2]-y),C=+p[o>>2],v=+p[o+4>>2],S=+p[o+8>>2],C=C+I*(+p[s>>2]-C)-m,v=v+I*(+p[s+4>>2]-v)-h,S=S+I*(+p[s+8>>2]-S)-y,u=0|g(t,c),f=0;do{I=+(0|f)/+(c+-1|0),p[k+((D=f+u|0)<<4)>>2]=m+C*I,p[k+(D<<4)+4>>2]=h+v*I,p[k+(D<<4)+8>>2]=y+S*I,p[k+(D<<4)+12>>2]=0,p[R+(D<<2)>>2]=1,f=f+1|0}while((0|f)!=(0|c));t=t+1|0}while((0|t)!=(0|a));_[6630]=1+(0|_[6630]),(t=0|di(1271))?(_[(t+4+15&-16)-4>>2]=t,t=t+4+15&-16):t=0,hi(t,e,w,k,R),1&l&&(p[88+(0|_[t+720>>2])>>2]=0,n[t+924|0]=1),2&l&&(p[(0|_[t+720>>2])+(104*(c+-1|0)|0)+88>>2]=0,n[t+924|0]=1),4&l&&(D=0|g(a+-1|0,c),p[(0|_[t+720>>2])+(104*D|0)+88>>2]=0,n[t+924|0]=1),8&l&&(D=c+-1+(0|g(a+-1|0,c))|0,p[(0|_[t+720>>2])+(104*D|0)+88>>2]=0,n[t+924|0]=1),16&l&&(p[(0|_[t+720>>2])+(104*((c+-1|0)/2|0)|0)+88>>2]=0,n[t+924|0]=1),32&l&&(D=0|g((a+-1|0)/2|0,c),p[(0|_[t+720>>2])+(104*D|0)+88>>2]=0,n[t+924|0]=1),64&l&&(D=c+-1+(0|g((a+-1|0)/2|0,c))|0,p[(0|_[t+720>>2])+(104*D|0)+88>>2]=0,n[t+924|0]=1),128&l&&(D=(0|g(a+-1|0,c))+((c+-1|0)/2|0)|0,p[(0|_[t+720>>2])+(104*D|0)+88>>2]=0,n[t+924|0]=1),256&l?(D=(0|g((a+-1|0)/2|0,c))+((c+-1|0)/2|0)|0,p[(0|_[(j=t+720|0)>>2])+(104*D|0)+88>>2]=0,n[0|(D=t+924|0)]=1):(j=t+720|0,D=t+924|0),_[6631]=1+(0|_[6631]),Ni(0|_[k+-4>>2]),ml(R),R=t+732|0,l=t+740|0,f=0,e=0;do{u=e,e=e+1|0;t:do{if((0|c)>0){if(k=0|g(u,c),w=0|g(e,c),h=1/+(a+-1|0)*+(a+-1-u|0),m=1/+(a+-1|0)*+(a+-2-u|0),(0|e)>=(0|a))for(u=0;;)if(i=u,(0|(u=u+1|0))<(0|c)&&(r=u+k|0,o=0|_[j>>2],ne(t,0),w=(0|_[R>>2])-1|0,s=0|_[l>>2],_[s+(52*w|0)+8>>2]=o+(104*(i+k|0)|0),_[s+(52*w|0)+12>>2]=o+(104*r|0),v=+p[o+(104*(i+k|0)|0)+8>>2]-+p[o+(104*r|0)+8>>2],S=+p[o+(104*(i+k|0)|0)+12>>2]-+p[o+(104*r|0)+12>>2],I=+p[o+(104*(i+k|0)|0)+16>>2]-+p[o+(104*r|0)+16>>2],I=+b(+(v*v+S*S+I*I)),p[s+(52*w|0)+16>>2]=I,n[0|D]=1),(0|u)==(0|c))break t;s=0;do{u=s,i=(s=s+1|0)+k|0,o=s+w|0,r=0|_[j>>2],(0|s)<(0|c)?(ne(t,0),W=(0|_[R>>2])-1|0,B=0|_[l>>2],_[B+(52*W|0)+8>>2]=r+(104*(u+k|0)|0),_[B+(52*W|0)+12>>2]=r+(104*i|0),I=+p[r+(104*(u+k|0)|0)+8>>2]-+p[r+(104*i|0)+8>>2],S=+p[r+(104*(u+k|0)|0)+12>>2]-+p[r+(104*i|0)+12>>2],v=+p[r+(104*(u+k|0)|0)+16>>2]-+p[r+(104*i|0)+16>>2],v=+b(+(I*I+S*S+v*v)),p[B+(52*W|0)+16>>2]=v,n[0|D]=1,W=0|_[j>>2],ne(t,0),r=(0|_[R>>2])-1|0,B=0|_[l>>2],_[B+(52*r|0)+8>>2]=W+(104*(u+k|0)|0),_[B+(52*r|0)+12>>2]=W+(104*(u+w|0)|0),v=+p[W+(104*(u+k|0)|0)+8>>2]-+p[W+(104*(u+w|0)|0)+8>>2],S=+p[W+(104*(u+k|0)|0)+12>>2]-+p[W+(104*(u+w|0)|0)+12>>2],I=+p[W+(104*(u+k|0)|0)+16>>2]-+p[W+(104*(u+w|0)|0)+16>>2],I=+b(+(v*v+S*S+I*I)),p[B+(52*r|0)+16>>2]=I,n[0|D]=1,ct(t,u+k|0,u+w|0,o,0),A?(I=1/+(c+-1|0)*+(0|u),p[A+(f<<2)>>2]=I,p[A+(f+1<<2)>>2]=h,p[A+(f+2<<2)>>2]=I,p[A+(f+3<<2)>>2]=m,S=1/+(c+-1|0)*+(0|s),p[A+(f+4<<2)>>2]=S,p[A+(f+5<<2)>>2]=m,ct(t,o,i,u+k|0,0),p[A+(f+6<<2)>>2]=S,p[A+(f+7<<2)>>2]=m,p[A+(f+8<<2)>>2]=S,p[A+(f+9<<2)>>2]=h,p[A+(f+10<<2)>>2]=I,p[A+(f+11<<2)>>2]=h):ct(t,o,i,u+k|0,0),d&&(r=0|_[j>>2],ne(t,0),W=(0|_[R>>2])-1|0,B=0|_[l>>2],_[B+(52*W|0)+8>>2]=r+(104*(u+k|0)|0),_[B+(52*W|0)+12>>2]=r+(104*o|0),v=+p[r+(104*(u+k|0)|0)+8>>2]-+p[r+(104*o|0)+8>>2],S=+p[r+(104*(u+k|0)|0)+12>>2]-+p[r+(104*o|0)+12>>2],I=+p[r+(104*(u+k|0)|0)+16>>2]-+p[r+(104*o|0)+16>>2],I=+b(+(v*v+S*S+I*I)),p[B+(52*W|0)+16>>2]=I,n[0|D]=1),f=f+12|0):(ne(t,0),W=(0|_[R>>2])-1|0,B=0|_[l>>2],_[B+(52*W|0)+8>>2]=r+(104*(u+k|0)|0),_[B+(52*W|0)+12>>2]=r+(104*(u+w|0)|0),v=+p[r+(104*(u+k|0)|0)+8>>2]-+p[r+(104*(u+w|0)|0)+8>>2],S=+p[r+(104*(u+k|0)|0)+12>>2]-+p[r+(104*(u+w|0)|0)+12>>2],I=+p[r+(104*(u+k|0)|0)+16>>2]-+p[r+(104*(u+w|0)|0)+16>>2],I=+b(+(v*v+S*S+I*I)),p[B+(52*W|0)+16>>2]=I,n[0|D]=1)}while((0|s)!=(0|c))}}while(0)}while((0|e)!=(0|a));return 0|t},_emscripten_bind_btSoftBodyHelpers_CreatePatch_9:function(t,e,i,o,r,s,c,a,l,d){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0,l|=0,d|=0;var A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0,I=0,B=0;if((0|(c|=0))<2|(0|(a|=0))<2)return 0|(d=0);u=0|g(a,c),_[6630]=1+(0|_[6630]),(t=0|di(u>>>0>268435455?18:16+(u<<4|3)|0))?(_[(t+4+15&-16)-4>>2]=t,m=t+4+15&-16):m=0,h=0|ul(u>>>0>1073741823?-1:u<<2),t=0;do{D=+(0|t)/+(a+-1|0),y=+p[i>>2],y+=D*(+p[r>>2]-y),C=+p[i+4>>2],C+=D*(+p[r+4>>2]-C),v=+p[i+8>>2],v+=D*(+p[r+8>>2]-v),S=+p[o>>2],w=+p[o+4>>2],k=+p[o+8>>2],S=S+D*(+p[s>>2]-S)-y,w=w+D*(+p[s+4>>2]-w)-C,k=k+D*(+p[s+8>>2]-k)-v,f=0|g(t,c),A=0;do{D=+(0|A)/+(c+-1|0),p[m+((j=A+f|0)<<4)>>2]=y+S*D,p[m+(j<<4)+4>>2]=C+w*D,p[m+(j<<4)+8>>2]=v+k*D,p[m+(j<<4)+12>>2]=0,p[h+(j<<2)>>2]=1,A=A+1|0}while((0|A)!=(0|c));t=t+1|0}while((0|t)!=(0|a));_[6630]=1+(0|_[6630]),(t=0|di(1271))?(_[(t+4+15&-16)-4>>2]=t,t=t+4+15&-16):t=0,hi(t,e,u,m,h),1&l&&(p[88+(0|_[t+720>>2])>>2]=0,n[t+924|0]=1),2&l&&(p[(0|_[t+720>>2])+(104*(c+-1|0)|0)+88>>2]=0,n[t+924|0]=1),4&l&&(j=0|g(a+-1|0,c),p[(0|_[t+720>>2])+(104*j|0)+88>>2]=0,n[t+924|0]=1),8&l?(j=c+-1+(0|g(a+-1|0,c))|0,p[(0|_[(R=t+720|0)>>2])+(104*j|0)+88>>2]=0,n[0|(j=t+924|0)]=1):(R=t+720|0,j=t+924|0),_[6631]=1+(0|_[6631]),Ni(0|_[m+-4>>2]),ml(h),h=t+732|0,l=t+740|0,A=0;do{t:do{if((0|c)>0){if(m=0|g(A,c),o=0|g(e=A+1|0,c),(0|e)>=(0|a))for(A=0;;)if(f=A,(0|(A=A+1|0))<(0|c)&&(r=A+m|0,o=0|_[R>>2],ne(t,0),u=(0|_[h>>2])-1|0,s=0|_[l>>2],_[s+(52*u|0)+8>>2]=o+(104*(f+m|0)|0),_[s+(52*u|0)+12>>2]=o+(104*r|0),w=+p[o+(104*(f+m|0)|0)+8>>2]-+p[o+(104*r|0)+8>>2],k=+p[o+(104*(f+m|0)|0)+12>>2]-+p[o+(104*r|0)+12>>2],D=+p[o+(104*(f+m|0)|0)+16>>2]-+p[o+(104*r|0)+16>>2],D=+b(+(w*w+k*k+D*D)),p[s+(52*u|0)+16>>2]=D,n[0|j]=1),(0|A)==(0|c)){A=e;break t}f=0;do{r=f+m|0,i=f,f=f+1|0;do{if((0|f)<(0|c)){if(s=f+m|0,I=0|_[R>>2],ne(t,0),B=(0|_[h>>2])-1|0,u=0|_[l>>2],_[u+(52*B|0)+8>>2]=I+(104*r|0),_[u+(52*B|0)+12>>2]=I+(104*s|0),D=+p[I+(104*r|0)+8>>2]-+p[I+(104*s|0)+8>>2],k=+p[I+(104*r|0)+12>>2]-+p[I+(104*s|0)+12>>2],w=+p[I+(104*r|0)+16>>2]-+p[I+(104*s|0)+16>>2],w=+b(+(D*D+k*k+w*w)),p[u+(52*B|0)+16>>2]=w,n[0|j]=1,B=0|_[R>>2],ne(t,0),u=(0|_[h>>2])-1|0,I=0|_[l>>2],_[I+(52*u|0)+8>>2]=B+(104*r|0),_[I+(52*u|0)+12>>2]=B+(104*(i+o|0)|0),w=+p[B+(104*r|0)+8>>2]-+p[B+(104*(i+o|0)|0)+8>>2],k=+p[B+(104*r|0)+12>>2]-+p[B+(104*(i+o|0)|0)+12>>2],D=+p[B+(104*r|0)+16>>2]-+p[B+(104*(i+o|0)|0)+16>>2],D=+b(+(w*w+k*k+D*D)),p[I+(52*u|0)+16>>2]=D,n[0|j]=1,i+A&1){if(ct(t,r,s,u=f+o|0,0),ct(t,r,u,i+o|0,0),!d)break;s=0|_[R>>2],ne(t,0),B=(0|_[h>>2])-1|0,I=0|_[l>>2],_[I+(52*B|0)+8>>2]=s+(104*r|0),_[I+(52*B|0)+12>>2]=s+(104*u|0),w=+p[s+(104*r|0)+8>>2]-+p[s+(104*u|0)+8>>2],k=+p[s+(104*r|0)+12>>2]-+p[s+(104*u|0)+12>>2],D=+p[s+(104*r|0)+16>>2]-+p[s+(104*u|0)+16>>2],D=+b(+(w*w+k*k+D*D)),p[I+(52*B|0)+16>>2]=D,n[0|j]=1;break}if(ct(t,i+o|0,r,s,0),ct(t,i+o|0,s,f+o|0,0),!d)break;u=0|_[R>>2],ne(t,0),B=(0|_[h>>2])-1|0,I=0|_[l>>2],_[I+(52*B|0)+8>>2]=u+(104*s|0),_[I+(52*B|0)+12>>2]=u+(104*(i+o|0)|0),w=+p[u+(104*s|0)+8>>2]-+p[u+(104*(i+o|0)|0)+8>>2],k=+p[u+(104*s|0)+12>>2]-+p[u+(104*(i+o|0)|0)+12>>2],D=+p[u+(104*s|0)+16>>2]-+p[u+(104*(i+o|0)|0)+16>>2],D=+b(+(w*w+k*k+D*D)),p[I+(52*B|0)+16>>2]=D,n[0|j]=1;break}u=0|_[R>>2],ne(t,0),B=(0|_[h>>2])-1|0,I=0|_[l>>2],_[I+(52*B|0)+8>>2]=u+(104*r|0),_[I+(52*B|0)+12>>2]=u+(104*(i+o|0)|0),w=+p[u+(104*r|0)+8>>2]-+p[u+(104*(i+o|0)|0)+8>>2],k=+p[u+(104*r|0)+12>>2]-+p[u+(104*(i+o|0)|0)+12>>2],D=+p[u+(104*r|0)+16>>2]-+p[u+(104*(i+o|0)|0)+16>>2],D=+b(+(w*w+k*k+D*D)),p[I+(52*B|0)+16>>2]=D,n[0|j]=1}while(0)}while((0|f)!=(0|c));A=e}else A=A+1|0}while(0)}while((0|A)!=(0|a));return 0|t},_emscripten_bind_btSoftBodyHelpers_CreateRope_5:function(t,e,i,o,r,s){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0;var c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0;if(_[6630]=1+(0|_[6630]),(t=0|di((r+2|0)>>>0>268435455?18:16+(r+2<<4|3)|0))?(_[(t+4+15&-16)-4>>2]=t,c=t+4+15&-16):c=0,a=0|ul((r+2|0)>>>0>1073741823?-1:r+2<<2),(0|r)>-2){t=0;do{u=+(0|t)/+(r+1|0),f=+p[i>>2],A=+p[i+4>>2],A+=u*(+p[o+4>>2]-A),d=+p[i+8>>2],d+=u*(+p[o+8>>2]-d),p[c+(t<<4)>>2]=f+u*(+p[o>>2]-f),p[c+(t<<4)+4>>2]=A,p[c+(t<<4)+8>>2]=d,p[c+(t<<4)+12>>2]=0,p[a+(t<<2)>>2]=1,t=t+1|0}while((0|t)<(r+2|0))}if(_[6630]=1+(0|_[6630]),(t=0|di(1271))?(_[(t+4+15&-16)-4>>2]=t,l=t+4+15&-16):l=0,hi(l,e,r+2|0,c,a),1&s&&(p[88+(0|_[l+720>>2])>>2]=0,n[l+924|0]=1),2&s&&(p[(0|_[l+720>>2])+(104*(r+1|0)|0)+88>>2]=0,n[l+924|0]=1),0|c&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),ml(a),(0|r)<=-1)return 0|l;c=l+720|0,a=l+732|0,i=l+740|0,o=l+924|0,t=1;do{h=t+-1|0,m=0|_[c>>2],ne(l,0),s=(0|_[a>>2])-1|0,e=0|_[i>>2],_[e+(52*s|0)+8>>2]=m+(104*h|0),_[e+(52*s|0)+12>>2]=m+(104*t|0),A=+p[m+(104*h|0)+8>>2]-+p[m+(104*t|0)+8>>2],f=+p[m+(104*h|0)+12>>2]-+p[m+(104*t|0)+12>>2],u=+p[m+(104*h|0)+16>>2]-+p[m+(104*t|0)+16>>2],u=+b(+(A*A+f*f+u*u)),p[e+(52*s|0)+16>>2]=u,n[0|o]=1,t=t+1|0}while((0|t)<(r+2|0));return 0|l},_emscripten_bind_btSoftBodyHelpers___destroy___0:qp,_emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0:function(){return 0|a_(1)},_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0:Kr,_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0:function(){var t,e;return e=Q,Q=Q+32|0,t=0|a_(112),H_(e),mt(t,e),Q=e,0|t},_emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1:function(t){var e;return t|=0,mt(e=0|a_(112),t),0|e},_emscripten_bind_btSoftBodySolver___destroy___0:Kr,_emscripten_bind_btSoftBodyWorldInfo___destroy___0:function(t){(t|=0)&&(function(t){Ba((t|=0)+56|0)}(t),yl(t))},_emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0:function(){var t;return function(t){var e;e=Q,Q=Q+32|0,p[(t|=0)>>2]=1.2000000476837158,p[t+4>>2]=0,p[t+8>>2]=0,p[t+12>>2]=1e3,p[e+20>>2]=0,p[e+16>>2]=0,p[e+12>>2]=0,R_(t+16|0,e+20|0,e+16|0,e+12|0),_[t+32>>2]=0,_[t+36>>2]=0,p[e+8>>2]=0,p[e+4>>2]=-10,p[e>>2]=0,R_(t+40|0,e+8|0,e+4|0,e),Wa(t+56|0),Q=e}(t=0|a_(100)),0|t},_emscripten_bind_btSoftBodyWorldInfo_get_air_density_0:Nc,_emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0:function(t){return 0|_[32+(t|=0)>>2]},_emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0:function(t){return 0|_[36+(t|=0)>>2]},_emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0:Ea,_emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0:ga,_emscripten_bind_btSoftBodyWorldInfo_get_water_density_0:ua,_emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0:ia,_emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0:ka,_emscripten_bind_btSoftBodyWorldInfo_set_air_density_1:Aa,_emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1:function(t,e){e|=0,_[32+(t|=0)>>2]=e},_emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1:function(t,e){e|=0,_[36+(t|=0)>>2]=e},_emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1:b_,_emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1:Ec,_emscripten_bind_btSoftBodyWorldInfo_set_water_density_1:ea,_emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1:o_,_emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1:ta,_emscripten_bind_btSoftBody___destroy___0:Xr,_emscripten_bind_btSoftBody_activate_0:J_,_emscripten_bind_btSoftBody_activate_1:k_,_emscripten_bind_btSoftBody_addAeroForceToNode_2:function(t,e,i){qe(t|=0,e|=0,i|=0)},_emscripten_bind_btSoftBody_addForce_1:function(t,e){e|=0;var i,n,o=0;if(!((0|(n=0|_[712+(t|=0)>>2]))<=0)){i=0|_[t+720>>2],t=0;do{+p[i+(104*t|0)+88>>2]>0&&(p[(o=i+(104*t|0)+56|0)>>2]=+p[e>>2]+ +p[o>>2],p[(o=i+(104*t|0)+60|0)>>2]=+p[e+4>>2]+ +p[o>>2],p[(o=i+(104*t|0)+64|0)>>2]=+p[e+8>>2]+ +p[o>>2]),t=t+1|0}while((0|t)!=(0|n))}},_emscripten_bind_btSoftBody_addForce_2:function(t,e,i){e|=0,i|=0,t=0|_[720+(t|=0)>>2],+p[t+(104*i|0)+88>>2]>0&&(p[t+(104*i|0)+56>>2]=+p[e>>2]+ +p[t+(104*i|0)+56>>2],p[t+(104*i|0)+60>>2]=+p[e+4>>2]+ +p[t+(104*i|0)+60>>2],p[t+(104*i|0)+64>>2]=+p[e+8>>2]+ +p[t+(104*i|0)+64>>2])},_emscripten_bind_btSoftBody_appendAnchor_4:function(t,e,i,o,r){t|=0,e|=0,o|=0,r=+r;var s,c,a,l,d,b,A,f,u,m,h,y,g,C,v,S,w,k=0,R=0,j=0;w=Q,Q=Q+96|0,c=+p[4+(i|=0)>>2],a=+p[i+20>>2],l=+p[i+36>>2],d=+p[i+8>>2],b=+p[i+24>>2],A=+p[i+40>>2],f=+p[i+12>>2],u=+p[i+28>>2],m=+p[i+44>>2],h=-+p[i+52>>2],y=-+p[i+56>>2],g=-+p[i+60>>2],s=0|_[t+720>>2],C=+p[s+(104*e|0)+8>>2],v=+p[s+(104*e|0)+12>>2],S=+p[s+(104*e|0)+16>>2];t:do{if(o){o=0|_[t+268>>2];e:do{if((0|o)>0){for(R=0|_[t+276>>2],k=0;(0|_[R+(k<<2)>>2])!=(0|i);)if((0|(k=k+1|0))>=(0|o))break e;if((0|k)!=(0|o)){o=s;break t}}}while(0);if((0|o)==(0|_[t+272>>2])&&(0|o)<(0|(j=0|o?o<<1:1))){if(j?(_[6630]=1+(0|_[6630]),(o=0|di(16+(j<<2|3)|0))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,R=o,o=0|_[t+268>>2]):R=0,(0|o)>0){k=0;do{_[R+(k<<2)>>2]=_[(0|_[t+276>>2])+(k<<2)>>2],k=k+1|0}while((0|k)!=(0|o))}(k=0|_[t+276>>2])&&(0|n[t+280|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[k+-4>>2]),o=0|_[t+268>>2]),_[t+276>>2]=0),n[t+280|0]=1,_[t+276>>2]=R,_[t+272>>2]=j}_[(0|_[t+276>>2])+(o<<2)>>2]=i,_[t+268>>2]=o+1,o=0|_[t+720>>2]}else o=s}while(0);_[w>>2]=o+(104*e|0),_[w+20>>2]=i,p[w+4>>2]=c*h+a*y+l*g+(c*C+a*v+l*S),p[w+8>>2]=d*h+b*y+A*g+(d*C+b*v+A*S),p[w+12>>2]=f*h+u*y+m*g+(f*C+u*v+m*S),p[w+16>>2]=0,n[0|(i=o+(104*e|0)+100|0)]=1|n[0|i],p[w+24>>2]=r,Un(t+788|0,w),Q=w},_emscripten_bind_btSoftBody_appendFace_4:function(t,e,i,n,o){ct(t|=0,e|=0,i|=0,n|=0,o|=0)},_emscripten_bind_btSoftBody_appendLink_4:function(t,e,i,n,o){Ei(t|=0,e|=0,i|=0,n|=0,o|=0)},_emscripten_bind_btSoftBody_appendMaterial_0:function(t){return 0|Vt(t|=0)},_emscripten_bind_btSoftBody_appendNode_2:function(t,e,i){e|=0,i=+i;var o,r,s,c,a=0,l=0,d=0,b=0,A=0,f=0,u=0,m=0;if(c=Q,Q=Q+112|0,(0|(b=0|_[716+(t|=0)>>2]))==(0|_[t+712>>2])){t:do{if(b)if(d=0|_[t+720>>2],(0|b)>0)for(a=0,l=d;;){if(0|(l=0|_[l+(104*a|0)+96>>2])&&(_[l+36>>2]=a),(0|(a=a+1|0))==(0|b)){A=d;break t}l=0|_[t+720>>2]}else A=d;else A=0}while(0);if((0|(l=0|_[t+732>>2]))>0){a=0;do{u=(0|_[t+740>>2])+(52*a|0)+8|0,_[u>>2]=((0|_[u>>2])-A|0)/104|0,u=(0|_[t+740>>2])+(52*a|0)+12|0,_[u>>2]=((0|_[u>>2])-A|0)/104|0,a=a+1|0}while((0|a)!=(0|l))}if((0|(l=0|_[t+752>>2]))>0){a=0;do{d=(0|_[t+760>>2])+(44*a|0)+8|0,_[d>>2]=((0|_[d>>2])-A|0)/104|0,d=(0|_[t+760>>2])+(44*a|0)+12|0,_[d>>2]=((0|_[d>>2])-A|0)/104|0,d=(0|_[t+760>>2])+(44*a|0)+16|0,_[d>>2]=((0|_[d>>2])-A|0)/104|0,0|(d=0|_[(0|_[t+760>>2])+(44*a|0)+40>>2])&&(_[d+36>>2]=a),a=a+1|0}while((0|a)!=(0|l))}if((0|(l=0|_[t+792>>2]))>0){d=0|_[t+800>>2],a=0;do{_[(u=d+(96*a|0)|0)>>2]=((0|_[u>>2])-A|0)/104|0,a=a+1|0}while((0|a)!=(0|l))}if((0|(b=0|_[t+692>>2]))>0){d=0,a=0|_[t+700>>2];do{if((0|_[a+(60*d|0)+24>>2])>0){l=0;do{_[(a=a+(60*d|0)+28+(l<<2)|0)>>2]=((0|_[a>>2])-A|0)/104|0,l=l+1|0,a=0|_[t+700>>2]}while((0|l)<(0|_[a+(60*d|0)+24>>2]))}d=d+1|0}while((0|d)!=(0|b))}if(b=0|_[t+712>>2],(0|_[t+716>>2])<(1|b<<1)){if(_[6630]=1+(0|_[6630]),(a=0|di(16+(104*(b<<1|1)|3)|0))?(_[(a+4+15&-16)-4>>2]=a,d=a+4+15&-16):d=0,(0|(l=0|_[t+712>>2]))>0){a=0;do{f=d+(104*a|0)|0,A=(0|_[t+720>>2])+(104*a|0)|0,u=f+104|0;do{_[f>>2]=_[A>>2],f=f+4|0,A=A+4|0}while((0|f)<(0|u));a=a+1|0}while((0|a)!=(0|l))}0|(a=0|_[t+720>>2])&&(0|n[t+724|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+720>>2]=0),n[t+724|0]=1,_[t+720>>2]=d,_[t+716>>2]=b<<1|1,b=0|_[t+712>>2]}t:do{if(b){if(A=0|_[t+720>>2],(0|b)>0)for(a=0,l=A;;){if(0|(d=0|_[l+(104*a|0)+96>>2])&&(_[d+36>>2]=l+(104*a|0)),(0|(a=a+1|0))==(0|b))break t;l=0|_[t+720>>2]}}else A=0}while(0);if((0|(l=0|_[t+732>>2]))>0){a=0;do{u=(0|_[t+740>>2])+(52*a|0)+8|0,_[u>>2]=A+(104*(0|_[u>>2])|0),u=(0|_[t+740>>2])+(52*a|0)+12|0,_[u>>2]=A+(104*(0|_[u>>2])|0),a=a+1|0}while((0|a)!=(0|l))}if((0|(l=0|_[t+752>>2]))>0){a=0;do{d=(0|_[t+760>>2])+(44*a|0)+8|0,_[d>>2]=A+(104*(0|_[d>>2])|0),d=(0|_[t+760>>2])+(44*a|0)+12|0,_[d>>2]=A+(104*(0|_[d>>2])|0),d=(0|_[t+760>>2])+(44*a|0)+16|0,_[d>>2]=A+(104*(0|_[d>>2])|0),d=0|_[t+760>>2],0|(b=0|_[d+(44*a|0)+40>>2])&&(_[b+36>>2]=d+(44*a|0)),a=a+1|0}while((0|a)!=(0|l))}if((0|(d=0|_[t+792>>2]))>0){l=0|_[t+800>>2],a=0;do{_[(u=l+(96*a|0)|0)>>2]=A+(104*(0|_[u>>2])|0),a=a+1|0}while((0|a)!=(0|d))}if((0|(b=0|_[t+692>>2]))>0){d=0,a=0|_[t+700>>2];do{if((0|_[a+(60*d|0)+24>>2])>0){l=0;do{_[(a=a+(60*d|0)+28+(l<<2)|0)>>2]=A+(104*(0|_[a>>2])|0),l=l+1|0,a=0|_[t+700>>2]}while((0|l)<(0|_[a+(60*d|0)+24>>2]))}d=d+1|0}while((0|d)!=(0|b))}}f=0|_[t+192>>2],s=+Il[15&_[48+(0|_[f>>2])>>2]](f),u=(f=c)+100|0;do{_[f>>2]=0,f=f+4|0}while((0|f)<(0|u));if((0|(a=0|_[t+712>>2]))==(0|_[t+716>>2])&&(0|a)<(0|(m=0|a?a<<1:1))){if(m?(_[6630]=1+(0|_[6630]),(a=0|di(16+(104*m|3)|0))?(_[(a+4+15&-16)-4>>2]=a,a=a+4+15&-16):a=0,d=a,a=0|_[t+712>>2]):d=0,(0|a)>0){l=0;do{f=d+(104*l|0)|0,A=(0|_[t+720>>2])+(104*l|0)|0,u=f+104|0;do{_[f>>2]=_[A>>2],f=f+4|0,A=A+4|0}while((0|f)<(0|u));l=l+1|0}while((0|l)!=(0|a))}0|(a=0|_[t+720>>2])&&(0|n[t+724|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[a+-4>>2])),_[t+720>>2]=0),n[t+724|0]=1,_[t+720>>2]=d,_[t+716>>2]=m,a=0|_[t+712>>2]}f=0|_[t+720>>2],_[f+(104*a|0)>>2]=0,A=c,u=100+(f=f+(104*a|0)+4|0)|0;do{_[f>>2]=_[A>>2],f=f+4|0,A=A+4|0}while((0|f)<(0|u));l=0|_[t+712>>2],_[t+712>>2]=l+1,u=104+(f=(d=0|_[t+720>>2])+(104*l|0)|0)|0;do{_[f>>2]=0,f=f+4|0}while((0|f)<(0|u));if(_[d+(104*l|0)+8>>2]=_[e>>2],_[d+(104*l|0)+8+4>>2]=_[e+4>>2],_[d+(104*l|0)+8+8>>2]=_[e+8>>2],_[d+(104*l|0)+8+12>>2]=_[e+12>>2],Do(d+(104*l|0)+24|0,0|e,16),p[d+(104*l|0)+88>>2]=i>0?1/i:0,_[d+(104*l|0)+4>>2]=_[_[t+880>>2]>>2],i=+p[d+(104*l|0)+8>>2],o=+p[d+(104*l|0)+12>>2],r=+p[d+(104*l|0)+16>>2],0|(a=0|_[t+932>>2]))return _[t+932>>2]=0,_[(m=(e=a)+32|0)>>2]=0,_[(m=e+36|0)>>2]=d+(104*l|0),_[(m=e+40|0)>>2]=0,p[e>>2]=i-s,p[(m=e+4|0)>>2]=o-s,p[(m=e+8|0)>>2]=r-s,p[(m=e+12|0)>>2]=0,p[(m=e+16|0)>>2]=s+i,p[(m=e+20|0)>>2]=s+o,p[(m=e+24|0)>>2]=s+r,p[(m=e+28|0)>>2]=0,U(t+928|0,m=0|_[t+928>>2],e),m=1+(m=0|_[(t=t+940|0)>>2])|0,_[t>>2]=m,_[(t=d+(104*l|0)+96|0)>>2]=e,void(Q=c);_[6630]=1+(0|_[6630]),(a=0|di(63))?(_[(a+4+15&-16)-4>>2]=a,a=a+4+15&-16):a=0,u=(f=a)+44|0;do{_[f>>2]=0,f=f+4|0}while((0|f)<(0|u));_[(m=(e=a)+32|0)>>2]=0,_[(m=e+36|0)>>2]=d+(104*l|0),_[(m=e+40|0)>>2]=0,p[e>>2]=i-s,p[(m=e+4|0)>>2]=o-s,p[(m=e+8|0)>>2]=r-s,p[(m=e+12|0)>>2]=0,p[(m=e+16|0)>>2]=s+i,p[(m=e+20|0)>>2]=s+o,p[(m=e+24|0)>>2]=s+r,p[(m=e+28|0)>>2]=0,U(t+928|0,m=0|_[t+928>>2],e),m=1+(m=0|_[(t=t+940|0)>>2])|0,_[t>>2]=m,_[(t=d+(104*l|0)+96|0)>>2]=e,Q=c},_emscripten_bind_btSoftBody_appendTetra_5:function(t,e,i,o,r,s){t|=0,e|=0,i|=0,o|=0,r|=0,s|=0;var c,a,l,d,b,A,f,u,m,h,y=0,g=0,C=0,v=0,S=0,w=0,k=0;c=Q,Q=Q+96|0,v=(C=c)+96|0;do{_[C>>2]=0,C=C+4|0}while((0|C)<(0|v));if(w=s||0|_[_[t+880>>2]>>2],(0|(s=0|_[t+772>>2]))==(0|_[t+776>>2])&&(0|s)<(0|(k=0|s?s<<1:1))){if(k?(_[6630]=1+(0|_[6630]),(s=0|di(16+(104*k|3)|0))?(_[(s+4+15&-16)-4>>2]=s,s=s+4+15&-16):s=0,S=s,s=0|_[t+772>>2]):S=0,(0|s)>0){y=0;do{C=S+(104*y|0)|0,g=(0|_[t+780>>2])+(104*y|0)|0,v=C+104|0;do{_[C>>2]=_[g>>2],C=C+4|0,g=g+4|0}while((0|C)<(0|v));y=y+1|0}while((0|y)!=(0|s))}0|(s=0|_[t+780>>2])&&(0|n[t+784|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2])),_[t+780>>2]=0),n[t+784|0]=1,_[t+780>>2]=S,_[t+776>>2]=k,s=0|_[t+772>>2]}C=0|_[t+780>>2],_[C+(104*s|0)>>2]=0,_[C+(104*s|0)+4>>2]=w,g=c,v=96+(C=C+(104*s|0)+8|0)|0;do{_[C>>2]=_[g>>2],C=C+4|0,g=g+4|0}while((0|C)<(0|v));k=0|_[t+772>>2],_[t+772>>2]=k+1,w=0|_[t+780>>2],g=0|_[t+720>>2],_[w+(104*k|0)+8>>2]=g+(104*e|0),S=0|_[t+720>>2],_[w+(104*k|0)+12>>2]=S+(104*i|0),C=0|_[t+720>>2],_[w+(104*k|0)+16>>2]=C+(104*o|0),v=0|_[t+720>>2],_[w+(104*k|0)+20>>2]=v+(104*r|0),m=+p[g+(104*e|0)+8>>2],A=+p[g+(104*e|0)+12>>2],h=+p[g+(104*e|0)+16>>2],l=+p[C+(104*o|0)+8>>2]-m,u=+p[C+(104*o|0)+12>>2]-A,b=+p[C+(104*o|0)+16>>2]-h,d=+p[v+(104*r|0)+8>>2]-m,f=+p[v+(104*r|0)+12>>2]-A,a=+p[v+(104*r|0)+16>>2]-h,p[w+(104*k|0)+24>>2]=(+p[S+(104*i|0)+16>>2]-h)*(l*f-u*d)+((+p[S+(104*i|0)+8>>2]-m)*(u*a-b*f)+(+p[S+(104*i|0)+12>>2]-A)*(b*d-l*a)),n[t+924|0]=1,Q=c},_emscripten_bind_btSoftBody_btSoftBody_4:function(t,e,i,n){var o;return t|=0,e|=0,i|=0,n|=0,hi(o=0|S_(1252),t,e,i,n),0|o},_emscripten_bind_btSoftBody_checkFace_3:function(t,e,i,n){e|=0,i|=0,n|=0;var o,r=0,s=0,p=0;if(s=0|_[720+(t|=0)>>2],(0|(o=0|_[t+752>>2]))<=0)return 0|(s=0);for(r=0|_[t+760>>2],t=0;;){if((0|(p=0|_[r+(44*t|0)+8>>2]))==(s+(104*n|0)|0)|(0|p)==(s+(104*e|0)|0)|(0|p)==(s+(104*i|0)|0)&&(0|(p=0|_[r+(44*t|0)+12>>2]))==(s+(104*n|0)|0)|(0|p)==(s+(104*e|0)|0)|(0|p)==(s+(104*i|0)|0)&&(0|(p=0|_[r+(44*t|0)+16>>2]))==(s+(104*n|0)|0)|(0|p)==(s+(104*e|0)|0)|(0|p)==(s+(104*i|0)|0)){t=1,r=7;break}if((0|(t=t+1|0))>=(0|o)){t=0,r=7;break}}return 7==(0|r)?0|t:0},_emscripten_bind_btSoftBody_checkLink_2:function(t,e,i){e|=0,i|=0;var n,o=0,r=0,s=0;if(n=0|_[720+(t|=0)>>2],(0|(s=0|_[t+732>>2]))<=0)return 0|(s=0);for(o=0|_[t+740>>2],t=0;;){if((0|(r=0|_[o+(52*t|0)+8>>2]))==(n+(104*e|0)|0)&&(0|_[o+(52*t|0)+12>>2])==(n+(104*i|0)|0)){t=1,o=8;break}if((0|r)==(n+(104*i|0)|0)&&(0|_[o+(52*t|0)+12>>2])==(n+(104*e|0)|0)){t=1,o=8;break}if((0|(t=t+1|0))>=(0|s)){t=0,o=8;break}}return 8==(0|o)?0|t:0},_emscripten_bind_btSoftBody_forceActivationState_1:dp,_emscripten_bind_btSoftBody_generateBendingConstraints_2:function(t,e,i){i|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0,y=0,C=0,v=0,S=0,w=0,k=0,R=0,j=0,D=0;if((0|(e|=0))<=1)return 0|(k=0);if(o=0|_[712+(t|=0)>>2],k=0|ul((k=0|g(o,o))>>>0>1073741823?-1:k<<2),(0|o)>0){s=0;do{a=k+(s+(c=0|g(s,o))<<2)|0,r=0;do{l=k+((0|g(r,o))+s<<2)|0,(0|r)==(0|s)?(_[l>>2]=0,_[a>>2]=0):(_[l>>2]=2147483647,_[k+(r+c<<2)>>2]=2147483647),r=r+1|0}while((0|r)!=(0|o));s=s+1|0}while((0|s)!=(0|o))}if((0|(s=0|_[t+732>>2]))>0){c=0|_[t+740>>2],a=0|_[t+720>>2],r=0;do{m=((0|_[c+(52*r|0)+8>>2])-a|0)/104|0,v=((0|_[c+(52*r|0)+12>>2])-a|0)/104|0,u=k+((0|g(v,o))+m<<2)|0,_[u>>2]=1,v=k+((0|g(m,o))+v<<2)|0,_[v>>2]=1,r=r+1|0}while((0|r)!=(0|s))}do{if(2!=(0|e))if((0|o)>0){r=0;do{l=0|g(r,o),s=0;do{if(c=s,(0|(s=s+1|0))<(0|o)){d=k+((f=0|g(c,o))+r<<2)|0,a=s;do{A=(0|_[d>>2])+(0|_[k+(a+l<<2)>>2])|0,(0|_[(u=k+(a+f<<2)|0)>>2])>>>0>A>>>0&&(w=k+((0|g(a,o))+c<<2)|0,_[w>>2]=A,_[u>>2]=A),a=a+1|0}while((0|a)!=(0|o))}}while((0|s)!=(0|o));r=r+1|0}while((0|r)!=(0|o));h=97}else r=0;else{if((0|o)<0&&N(),(0|o)>0){_[6630]=1+(0|_[6630]),(r=0|di(16+(20*o|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,s=0;do{n[r+(20*s|0)+16|0]=1,_[r+(20*s|0)+12>>2]=0,_[(v=r+(20*s|0)+4|0)>>2]=0,_[r+(20*s|0)+8>>2]=0,_[v>>2]=0,s=s+1|0}while((0|s)!=(0|o));v=r}else v=0;if((0|_[t+732>>2])>0){f=0;do{A=0|_[t+740>>2],m=0|_[t+720>>2],u=((0|_[A+(52*f|0)+8>>2])-m|0)/104|0,m=((0|_[A+(52*f|0)+12>>2])-m|0)/104|0,r=0|_[(A=v+(20*u|0)+4|0)>>2];t:do{if((0|r)>0){for(c=0|_[v+(20*u|0)+12>>2],s=0;(0|_[c+(s<<2)>>2])!=(0|m);)if((0|(s=s+1|0))>=(0|r)){h=28;break t}(0|s)==(0|r)&&(h=28)}else h=28}while(0);if(28==(0|h)){if(h=0,(0|r)==(0|_[(d=v+(20*u|0)+8|0)>>2])&&(0|r)<(0|(C=0|r?r<<1:1))){if(C?(_[6630]=1+(0|_[6630]),(r=0|di(16+(C<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,l=r,r=0|_[A>>2]):l=0,c=0|_[(a=v+(20*u|0)+12|0)>>2],(0|r)<=0)c?h=39:s=v+(20*u|0)+16|0;else{s=0;do{_[l+(s<<2)>>2]=_[c+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r));h=39}39==(0|h)&&(h=0,0|n[0|(r=v+(20*u|0)+16|0)]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[a>>2]=0,s=r,r=0|_[A>>2]),n[0|s]=1,_[a>>2]=l,_[d>>2]=C}_[(0|_[v+(20*u|0)+12>>2])+(r<<2)>>2]=m,_[A>>2]=1+(0|_[A>>2])}r=0|_[(A=v+(20*m|0)+4|0)>>2];t:do{if((0|r)>0){for(c=0|_[v+(20*m|0)+12>>2],s=0;(0|_[c+(s<<2)>>2])!=(0|u);)if((0|(s=s+1|0))>=(0|r)){h=49;break t}(0|s)==(0|r)&&(h=49)}else h=49}while(0);if(49==(0|h)){if(h=0,(0|r)==(0|_[(d=v+(20*m|0)+8|0)>>2])&&(0|r)<(0|(y=0|r?r<<1:1))){if(y?(_[6630]=1+(0|_[6630]),(r=0|di(16+(y<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,l=r,r=0|_[A>>2]):l=0,c=0|_[(a=v+(20*m|0)+12|0)>>2],(0|r)<=0)c?h=60:s=v+(20*m|0)+16|0;else{s=0;do{_[l+(s<<2)>>2]=_[c+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r));h=60}60==(0|h)&&(h=0,0|n[0|(r=v+(20*m|0)+16|0)]&&(_[6631]=1+(0|_[6631]),Ni(0|_[c+-4>>2])),_[a>>2]=0,s=r,r=0|_[A>>2]),n[0|s]=1,_[a>>2]=l,_[d>>2]=y}_[(0|_[v+(20*m|0)+12>>2])+(r<<2)>>2]=u,_[A>>2]=1+(0|_[A>>2])}f=f+1|0}while((0|f)<(0|_[t+732>>2]))}if((0|o)<=0){if(!v){r=0;break}}else{u=0;do{if((0|(r=0|_[(h=v+(20*u|0)+4|0)>>2]))>0){y=0|g(u,o),m=0|_[v+(20*u|0)+12>>2],f=0;do{if(d=0|_[m+(f<<2)>>2],(0|(s=0|_[(A=v+(20*d|0)+4|0)>>2]))>0){a=0|_[v+(20*d|0)+12>>2],l=k+((0|g(d,o))+u<<2)|0,c=0,r=s;do{(0|u)!=(0|(s=0|_[a+(c<<2)>>2]))&&(w=0|g(s,o),S=(0|_[k+(w+d<<2)>>2])+(0|_[l>>2])|0,(0|_[(w=k+(w+u<<2)|0)>>2])>>>0>S>>>0)&&(_[k+(s+y<<2)>>2]=S,_[w>>2]=S,r=0|_[A>>2]),c=c+1|0}while((0|c)<(0|r));r=0|_[h>>2]}f=f+1|0}while((0|f)<(0|r))}u=u+1|0}while((0|u)!=(0|o));r=0;do{c=v+(20*r|0)+4|0,s=v+(20*r|0)+16|0,0|(l=0|_[(a=v+(20*r|0)+12|0)>>2])&&(0|n[0|s]&&(_[6631]=1+(0|_[6631]),Ni(0|_[l+-4>>2])),_[a>>2]=0),n[0|s]=1,_[a>>2]=0,_[c>>2]=0,_[v+(20*r|0)+8>>2]=0,r=r+1|0}while((0|r)!=(0|o))}_[6631]=1+(0|_[6631]),Ni(0|_[v+-4>>2]),h=97}}while(0);if(97==(0|h))if((0|o)>0){r=0,l=0;do{if(c=l,(0|(l=l+1|0))<(0|o)){a=0|g(c,o),s=l;do{(0|_[k+(s+a<<2)>>2])==(0|e)&&(v=0|_[t+720>>2],ne(t,i),w=(0|_[t+732>>2])-1|0,S=0|_[t+740>>2],_[S+(52*w|0)+8>>2]=v+(104*s|0),_[S+(52*w|0)+12>>2]=v+(104*c|0),D=+p[v+(104*s|0)+8>>2]-+p[v+(104*c|0)+8>>2],j=+p[v+(104*s|0)+12>>2]-+p[v+(104*c|0)+12>>2],R=+p[v+(104*s|0)+16>>2]-+p[v+(104*c|0)+16>>2],R=+b(+(D*D+j*j+R*R)),p[S+(52*w|0)+16>>2]=R,n[t+924|0]=1,w=(0|_[t+740>>2])+(52*w|0)+20|0,n[0|w]=1|n[0|w],r=r+1|0),s=s+1|0}while((0|s)!=(0|o))}}while((0|l)!=(0|o))}else r=0;return ml(k),0|(k=r)},_emscripten_bind_btSoftBody_generateClusters_1:function(t,e){return 0|kl(t|=0,e|=0,8192)},_emscripten_bind_btSoftBody_generateClusters_2:function(t,e,i){return 0|kl(t|=0,e|=0,i|=0)},_emscripten_bind_btSoftBody_getCollisionFlags_0:Bp,_emscripten_bind_btSoftBody_getCollisionShape_0:Ip,_emscripten_bind_btSoftBody_getTotalMass_0:function(t){var e,i,n=0,o=0;if((0|(i=0|_[712+(t|=0)>>2]))<=0)return+(n=0);e=0|_[t+720>>2],t=0,n=0;do{n+=(o=+p[e+(104*t|0)+88>>2])>0?1/o:0,t=t+1|0}while((0|t)!=(0|i));return+n},_emscripten_bind_btSoftBody_getUserIndex_0:wp,_emscripten_bind_btSoftBody_getUserPointer_0:Zp,_emscripten_bind_btSoftBody_getWorldTransform_0:Bc,_emscripten_bind_btSoftBody_get_m_anchors_0:function(t){return 788+(t|=0)|0},_emscripten_bind_btSoftBody_get_m_cfg_0:function(t){return 288+(t|=0)|0},_emscripten_bind_btSoftBody_get_m_materials_0:function(t){return 868+(t|=0)|0},_emscripten_bind_btSoftBody_get_m_nodes_0:function(t){return 708+(t|=0)|0},_emscripten_bind_btSoftBody_isActive_0:np,_emscripten_bind_btSoftBody_isKinematicObject_0:ks,_emscripten_bind_btSoftBody_isStaticObject_0:Vs,_emscripten_bind_btSoftBody_isStaticOrKinematicObject_0:rs,_emscripten_bind_btSoftBody_rotate_1:function(t,e){var i,n,o,r,s,c,a,l;t|=0,e|=0,i=Q,Q=Q+64|0,_[i+48>>2]=0,_[i+48+4>>2]=0,_[i+48+8>>2]=0,_[i+48+12>>2]=0,r=(s=+p[e>>2])*(2/(s*s+(o=+p[e+4>>2])*o+(l=+p[e+8>>2])*l+(c=+p[e+12>>2])*c)),n=o*(2/(s*s+o*o+l*l+c*c)),a=l*(2/(s*s+o*o+l*l+c*c)),p[i>>2]=1-(o*n+l*a),p[i+4>>2]=s*n-c*a,p[i+8>>2]=s*a+c*n,p[i+12>>2]=0,p[i+16>>2]=s*n+c*a,p[i+20>>2]=1-(s*r+l*a),p[i+24>>2]=o*a-c*r,p[i+28>>2]=0,p[i+32>>2]=s*a-c*n,p[i+36>>2]=o*a+c*r,p[i+40>>2]=1-(s*r+o*n),p[i+44>>2]=0,ke(t,i),Q=i},_emscripten_bind_btSoftBody_scale_1:function(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0;if(f=0|_[192+(t|=0)>>2],A=+Il[15&_[48+(0|_[f>>2])>>2]](f),(0|(f=0|_[t+712>>2]))>0){s=0;do{i=(d=0|_[t+720>>2])+(104*s|0)+8|0,c=+p[e>>2]*+p[i>>2],p[i>>2]=c,i=d+(104*s|0)+12|0,a=+p[e+4>>2]*+p[i>>2],p[i>>2]=a,i=d+(104*s|0)+16|0,l=+p[e+8>>2]*+p[i>>2],p[i>>2]=l,p[(i=d+(104*s|0)+24|0)>>2]=+p[e>>2]*+p[i>>2],p[(i=d+(104*s|0)+28|0)>>2]=+p[e+4>>2]*+p[i>>2],p[(i=d+(104*s|0)+32|0)>>2]=+p[e+8>>2]*+p[i>>2],i=0|Tt(t+928|0,d=0|_[d+(104*s|0)+96>>2]);t:do{if(i){if((0|(r=0|_[t+936>>2]))<=-1){i=0|_[t+928>>2];break}if(r)for(n=0;;){if(n=n+1|0,!(o=0|_[i+32>>2]))break t;if((0|n)>=(0|r)){i=o;break}i=o}}else i=0}while(0);p[d>>2]=c-A,p[d+4>>2]=a-A,p[d+8>>2]=l-A,p[d+12>>2]=0,p[d+16>>2]=A+c,p[d+20>>2]=A+a,p[d+24>>2]=A+l,p[d+28>>2]=0,U(t+928|0,i,d),s=s+1|0}while((0|s)!=(0|f))}if(ht(t),(i=0|_[t+928>>2])?(f=0|_[t+192>>2],a=+Il[15&_[48+(0|_[f>>2])>>2]](f),A=+p[i+4>>2]-a,l=+p[i+8>>2]-a,p[t+892>>2]=+p[i>>2]-a,p[t+896>>2]=A,p[t+900>>2]=l,p[t+904>>2]=0,l=a+ +p[i+20>>2],A=a+ +p[i+24>>2],p[t+908>>2]=a+ +p[i+16>>2],p[t+912>>2]=l,p[t+916>>2]=A,p[t+920>>2]=0,0|(i=0|_[t+188>>2])&&(f=0|_[t+684>>2],d=0|_[f+32>>2],dd[31&_[16+(0|_[d>>2])>>2]](d,i,t+892|0,t+908|0,0|_[f+36>>2]))):(_[t+892>>2]=0,_[t+892+4>>2]=0,_[t+892+8>>2]=0,_[t+892+12>>2]=0,_[t+892+16>>2]=0,_[t+892+20>>2]=0,_[t+892+24>>2]=0,_[t+892+28>>2]=0),(0|(n=0|_[t+732>>2]))<=0)_t(t);else{o=0|_[t+740>>2],i=0;do{d=0|_[o+(52*i|0)+8>>2],f=0|_[o+(52*i|0)+12>>2],a=+p[d+8>>2]-+p[f+8>>2],l=+p[d+12>>2]-+p[f+12>>2],A=+p[d+16>>2]-+p[f+16>>2],A=+b(+(a*a+l*l+A*A)),p[o+(52*i|0)+16>>2]=A,p[o+(52*i|0)+28>>2]=A*A,i=i+1|0}while((0|i)!=(0|n));i=0;do{p[o+(52*i|0)+24>>2]=(+p[88+(0|_[o+(52*i|0)+8>>2])>>2]+ +p[88+(0|_[o+(52*i|0)+12>>2])>>2])/+p[4+(0|_[o+(52*i|0)+4>>2])>>2],i=i+1|0}while((0|i)!=(0|n));_t(t)}},_emscripten_bind_btSoftBody_setActivationState_1:Vr,_emscripten_bind_btSoftBody_setAnisotropicFriction_2:Cr,_emscripten_bind_btSoftBody_setCcdMotionThreshold_1:Ss,_emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1:ms,_emscripten_bind_btSoftBody_setCollisionFlags_1:Os,_emscripten_bind_btSoftBody_setCollisionShape_1:is,_emscripten_bind_btSoftBody_setContactProcessingThreshold_1:Rs,_emscripten_bind_btSoftBody_setFriction_1:ip,_emscripten_bind_btSoftBody_setMass_2:function(t,e,i){e|=0,i=+i,p[(0|_[720+(t|=0)>>2])+(104*e|0)+88>>2]=i>0?1/i:0,n[t+924|0]=1},_emscripten_bind_btSoftBody_setRestitution_1:Zs,_emscripten_bind_btSoftBody_setRollingFriction_1:Ps,_emscripten_bind_btSoftBody_setTotalMass_2:function(t,e,i){e=+e,i|=0;var o,r=0,s=0,c=0,a=0,l=0,d=0,A=0,f=0,u=0,m=0,h=0;if(o=0|_[712+(t|=0)>>2],i){if((0|o)>0){r=0|_[t+720>>2],i=0;do{p[r+(104*i|0)+88>>2]=0,i=i+1|0}while((0|i)!=(0|o))}if((0|(r=0|_[t+752>>2]))>0){c=0|_[t+760>>2],i=0;do{d=0|_[c+(44*i|0)+8>>2],l=0|_[c+(44*i|0)+12>>2],a=0|_[c+(44*i|0)+16>>2],f=+p[d+8>>2],m=+p[d+12>>2],s=+p[d+16>>2],A=+p[l+8>>2]-f,h=+p[l+12>>2]-m,u=+p[l+16>>2]-s,f=+p[a+8>>2]-f,m=+p[a+12>>2]-m,s=+p[a+16>>2]-s,s=+b(+((A*m-h*f)*(A*m-h*f)+((h*s-u*m)*(h*s-u*m)+(u*f-A*s)*(u*f-A*s)))),p[d+88>>2]=s+ +p[d+88>>2],p[l+88>>2]=s+ +p[l+88>>2],p[a+88>>2]=s+ +p[a+88>>2],i=i+1|0}while((0|i)!=(0|r))}if((0|o)<=0)return void(n[0|(d=t+924|0)]=1);r=0|_[t+720>>2],i=0;do{p[(d=r+(104*i|0)+88|0)>>2]=1/+p[d>>2],i=i+1|0}while((0|i)!=(0|o))}if((0|o)<=0)n[0|(d=t+924|0)]=1;else{r=0|_[t+720>>2],i=0,s=0;do{s+=(h=+p[r+(104*i|0)+88>>2])>0?1/h:0,i=i+1|0}while((0|i)!=(0|o));s=1/s*e,i=0;do{p[(d=r+(104*i|0)+88|0)>>2]=+p[d>>2]/s,i=i+1|0}while((0|i)!=(0|o));n[0|(d=t+924|0)]=1}},_emscripten_bind_btSoftBody_setUserIndex_1:Ks,_emscripten_bind_btSoftBody_setUserPointer_1:Ks,_emscripten_bind_btSoftBody_setWorldTransform_1:ls,_emscripten_bind_btSoftBody_set_m_anchors_1:function(t,e){!function(t,e){Xn(t|=0,e|=0)}(788+(t|=0)|0,e|=0)},_emscripten_bind_btSoftBody_set_m_cfg_1:function(t,e){zn(288+(t|=0)|0,e|=0)},_emscripten_bind_btSoftBody_set_m_materials_1:function(t,e){!function(t,e){jo(t|=0,e|=0)}(868+(t|=0)|0,e|=0)},_emscripten_bind_btSoftBody_set_m_nodes_1:function(t,e){!function(t,e){En(t|=0,e|=0)}(708+(t|=0)|0,e|=0)},_emscripten_bind_btSoftBody_transform_1:function(t,e){ke(t|=0,e|=0)},_emscripten_bind_btSoftBody_translate_1:function(t,e){var i;t|=0,e|=0,i=Q,Q=Q+64|0,_[i>>2]=1065353216,_[i+4>>2]=0,_[i+4+4>>2]=0,_[i+4+8>>2]=0,_[i+4+12>>2]=0,_[i+20>>2]=1065353216,_[i+24>>2]=0,_[i+24+4>>2]=0,_[i+24+8>>2]=0,_[i+24+12>>2]=0,_[i+40>>2]=1065353216,_[i+44>>2]=0,_[i+48>>2]=_[e>>2],_[i+48+4>>2]=_[e+4>>2],_[i+48+8>>2]=_[e+8>>2],_[i+48+12>>2]=_[e+12>>2],ke(t,i),Q=i},_emscripten_bind_btSoftBody_upcast_1:function(t,e){return 0|function(t){return 0|(8==(0|Cl(0|_[236+(t|=0)>>2]))?t:0)}(e|=0)},_emscripten_bind_btSoftRigidDynamicsWorld___destroy___0:Kr,_emscripten_bind_btSoftRigidDynamicsWorld_addAction_1:cs,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1:vr,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2:pr,_emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3:tr,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1:Lr,_emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2:hr,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1:Yr,_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3:q_,_emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3:function(t,e,i,o){e|=0,i|=0,o|=0;var r=0,s=0,p=0,c=0;if((0|(r=0|_[328+(t|=0)>>2]))==(0|_[t+332>>2])&&(0|r)<(0|(c=0|r?r<<1:1))){if(c?(_[6630]=1+(0|_[6630]),(r=0|di(16+(c<<2|3)|0))?(_[(r+4+15&-16)-4>>2]=r,r=r+4+15&-16):r=0,p=r,r=0|_[t+328>>2]):p=0,(0|r)>0){s=0;do{_[p+(s<<2)>>2]=_[(0|_[t+336>>2])+(s<<2)>>2],s=s+1|0}while((0|s)!=(0|r))}(s=0|_[t+336>>2])&&(0|n[t+340|0]&&(_[6631]=1+(0|_[6631]),Ni(0|_[s+-4>>2]),r=0|_[t+328>>2]),_[t+336>>2]=0),n[t+340|0]=1,_[t+336>>2]=p,_[t+332>>2]=c}_[(0|_[t+336>>2])+(r<<2)>>2]=e,_[t+328>>2]=r+1,_[e+284>>2]=_[t+452>>2],St(t,e,i,o)},_emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5:function(t,e,i,o,r){var s;if(t|=0,e|=0,i|=0,o|=0,r|=0,Oe(s=0|S_(460),t,e,i),_[s>>2]=4720,n[s+340|0]=1,_[s+336>>2]=0,_[s+328>>2]=0,_[s+332>>2]=0,p[s+352>>2]=1.2000000476837158,p[s+356>>2]=0,p[s+360>>2]=0,p[s+364>>2]=1e3,_[s+368>>2]=0,_[s+368+4>>2]=0,_[s+368+8>>2]=0,_[s+368+12>>2]=0,_[s+368+16>>2]=0,_[s+368+20>>2]=0,_[s+368+24>>2]=0,_[s+396>>2]=-1054867456,_[s+400>>2]=0,p[s+404>>2]=0,n[s+424|0]=1,_[s+420>>2]=0,_[s+412>>2]=0,_[s+416>>2]=0,_[s+452>>2]=r,n[s+456|0]=0,r||(_[6630]=1+(0|_[6630]),(o=0|di(59))?(_[(o+4+15&-16)-4>>2]=o,o=o+4+15&-16):o=0,p[o+12>>2]=1,_[o+8>>2]=0,_[o+4>>2]=5,_[o>>2]=3844,n[o+36|0]=1,_[o+32>>2]=0,_[o+24>>2]=0,_[o+28>>2]=0,n[o+16|0]=1,_[s+452>>2]=o,n[s+456|0]=1),_[s+344>>2]=4302,n[s+348|0]=1,n[s+349|0]=0,n[s+350|0]=0,_[s+384>>2]=e,_[s+388>>2]=t,de(s+408|0),(0|(r=0|_[s+412>>2]))<=0)return p[(e=s+428|0)>>2]=.25,_[(e=s+432|0)>>2]=0,_[(e=s+436|0)>>2]=0,_[(e=s+444|0)>>2]=1,_[(e=s+448|0)>>2]=1,p[s+352>>2]=1.2000000476837158,p[s+356>>2]=0,p[s+360>>2]=0,_[(e=s+392|0)>>2]=0,_[s+368>>2]=0,_[s+368+4>>2]=0,_[s+368+8>>2]=0,_[s+368+12>>2]=0,_[s+396>>2]=-1054867456,_[s+400>>2]=0,p[s+404>>2]=0,de(s+408|0),0|s;i=0;do{if(e=(0|_[s+420>>2])+(i<<2)|0,o=0|_[e>>2],_[e>>2]=0,0|o)do{e=o,o=0|_[o+280>>2],yl(e)}while(0|o);i=i+1|0}while((0|i)!=(0|r));return p[(e=s+428|0)>>2]=.25,_[(e=s+432|0)>>2]=0,_[(e=s+436|0)>>2]=0,_[(e=s+444|0)>>2]=1,_[(e=s+448|0)>>2]=1,p[s+352>>2]=1.2000000476837158,p[s+356>>2]=0,p[s+360>>2]=0,_[(e=s+392|0)>>2]=0,_[s+368>>2]=0,_[s+368+4>>2]=0,_[s+368+8>>2]=0,_[s+368+12>>2]=0,_[s+396>>2]=-1054867456,_[s+400>>2]=0,p[s+404>>2]=0,de(s+408|0),0|s},_emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3:an,_emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2:Qn,_emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5:$o,_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3:or,_emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0:Ts,_emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0:Fp,_emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0:Bs,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0:Cp,_emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0:Wp,_emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24376]||Qs(24376),ed[127&_[76+(0|_[t>>2])>>2]](e,t),_[6170]=_[e>>2],_[6171]=_[e+4>>2],_[6172]=_[e+8>>2],_[6173]=_[e+12>>2],Q=e,24680},_emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0:Ns,_emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0:function(t){return 0|function(t){return(t|=0)+324|0}(t|=0)},_emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0:up,_emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0:function(t){return 0|function(t){return(t|=0)+352|0}(t|=0)},_emscripten_bind_btSoftRigidDynamicsWorld_performDiscreteCollisionDetection_0:ws,_emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3:lr,_emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1:os,_emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1:Ur,_emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1:Er,_emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1:Hr,_emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1:function(t,e){e|=0;var i=0,n=0,o=0,r=0,s=0;o=0|_[328+(t|=0)>>2];t:do{if((0|o)>0){for(r=0|_[t+336>>2],i=0;(0|_[(n=r+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|o))break t;(0|i)<(0|o)&&(_[n>>2]=_[r+(o+-1<<2)>>2],_[(0|_[t+336>>2])+(o+-1<<2)>>2]=e,_[t+328>>2]=o+-1)}}while(0);if(0|(i=0|_[e+188>>2])&&(r=0|_[t+68>>2],r=0|Gl[127&_[36+(0|_[r>>2])>>2]](r),_d[127&_[40+(0|_[r>>2])>>2]](r,i,0|_[t+24>>2]),r=0|_[t+68>>2],_d[127&_[12+(0|_[r>>2])>>2]](r,i,0|_[t+24>>2]),_[e+188>>2]=0),!((0|(o=0|_[t+8>>2]))<=0)){for(r=0|_[t+16>>2],i=0;(0|_[(n=r+(i<<2)|0)>>2])!=(0|e);)if((0|(i=i+1|0))>=(0|o)){s=15;break}15!=(0|s)&&((0|i)>=(0|o)||(_[n>>2]=_[r+(o+-1<<2)>>2],_[(0|_[t+16>>2])+(o+-1<<2)>>2]=e,_[t+8>>2]=o+-1))}},_emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1:ts,_emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1:Jr,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1:mr,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2:er,_emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3:nr,_emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1:ns,_emscripten_bind_btSphereShape___destroy___0:Kr,_emscripten_bind_btSphereShape_btSphereShape_1:function(t){var e;return t=+t,e=0|function(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(71))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(),function(t,e){e=+e,_[8+(t|=0)>>2]=0,_[t+12>>2]=1065353216,_[t+16>>2]=1065353216,_[t+20>>2]=1065353216,p[t+24>>2]=0,p[t+44>>2]=.03999999910593033,_[t>>2]=7568,_[t+4>>2]=8,Aa(t+28|0,e),p[t+44>>2]=e}(e,t),0|e},_emscripten_bind_btSphereShape_calculateLocalInertia_2:Sr,_emscripten_bind_btSphereShape_getLocalScaling_0:Gs,_emscripten_bind_btSphereShape_getMargin_0:Us,_emscripten_bind_btSphereShape_setLocalScaling_1:ps,_emscripten_bind_btSphereShape_setMargin_1:hs,_emscripten_bind_btStaticPlaneShape___destroy___0:Kr,_emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2:function(t,e){var i,n,o,r,s;return t|=0,e=+e,i=0|function(){var t=0;return _[6630]=1+(0|_[6630]),(t=0|di(103))?(_[(t+4+15&-16)-4>>2]=t,0|(t=t+4+15&-16)):0|(t=0)}(),_[i+4>>2]=35,_[i+8>>2]=0,p[i+12>>2]=0,_[i>>2]=7944,s=+p[t>>2],r=+p[t+4>>2],o=+p[t+8>>2],t=0|_[t+12>>2],n=1/+b(+(s*s+r*r+o*o)),p[i+48>>2]=s*n,p[i+52>>2]=r*n,p[i+56>>2]=o*n,_[i+60>>2]=t,p[i+64>>2]=e,_[i+68>>2]=0,_[i+68+4>>2]=0,_[i+68+8>>2]=0,_[i+68+12>>2]=0,_[i+4>>2]=28,0|i},_emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2:Sr,_emscripten_bind_btStaticPlaneShape_getLocalScaling_0:Gs,_emscripten_bind_btStaticPlaneShape_setLocalScaling_1:ps,_emscripten_bind_btStridingMeshInterface___destroy___0:Kr,_emscripten_bind_btStridingMeshInterface_setScaling_1:zs,_emscripten_bind_btTransform___destroy___0:qp,_emscripten_bind_btTransform_btTransform_0:function(){return 0|a_(64)},_emscripten_bind_btTransform_btTransform_2:function(t,e){var i;return t|=0,e|=0,To(i=0|a_(64),t,e),0|i},_emscripten_bind_btTransform_getBasis_0:function(t){return 0|Cl(t|=0)},_emscripten_bind_btTransform_getOrigin_0:bc,_emscripten_bind_btTransform_getRotation_0:function(t){var e;return t|=0,e=Q,Q=Q+16|0,0|n[24368]||Qs(24368),function(t,e){Qt(e|=0,t|=0)}(e,t),_[6166]=_[e>>2],_[6167]=_[e+4>>2],_[6168]=_[e+8>>2],_[6169]=_[e+12>>2],Q=e,24664},_emscripten_bind_btTransform_inverse_0:function(t){var e;return t|=0,e=Q,Q=Q+64|0,0|n[24360]||Qs(24360),_o(e,t),Yo(24600,e),Q=e,24600},_emscripten_bind_btTransform_op_mul_1:function(t,e){return 0|Po(t|=0,e|=0)},_emscripten_bind_btTransform_setFromOpenGLMatrix_1:function(t,e){z_(t|=0,e|=0)},_emscripten_bind_btTransform_setIdentity_0:function(t){Ho(t|=0)},_emscripten_bind_btTransform_setOrigin_1:function(t,e){p_(t|=0,e|=0)},_emscripten_bind_btTransform_setRotation_1:function(t,e){Hs(t|=0,e|=0)},_emscripten_bind_btTriangleMeshShape___destroy___0:Kr,_emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2:Sr,_emscripten_bind_btTriangleMeshShape_getLocalScaling_0:Gs,_emscripten_bind_btTriangleMeshShape_setLocalScaling_1:ps,_emscripten_bind_btTriangleMesh___destroy___0:Kr,_emscripten_bind_btTriangleMesh_addTriangle_3:function(t,e,i,n){var o;e|=0,i|=0,n|=0,o=0|_[32+(t|=0)>>2],_[o>>2]=1+(0|_[o>>2]),yt(t,0|je(t,e,0)),yt(t,0|je(t,i,0)),yt(t,0|je(t,n,0))},_emscripten_bind_btTriangleMesh_addTriangle_4:function(t,e,i,n,o){var r;e|=0,i|=0,n|=0,o|=0,r=0|_[32+(t|=0)>>2],_[r>>2]=1+(0|_[r>>2]),yt(t,0|je(t,e,o)),yt(t,0|je(t,i,o)),yt(t,0|je(t,n,o))},_emscripten_bind_btTriangleMesh_btTriangleMesh_0:function(){var t;return lt(t=0|w_(),1,1),0|t},_emscripten_bind_btTriangleMesh_btTriangleMesh_1:function(t){var e;return t|=0,lt(e=0|w_(),t,1),0|e},_emscripten_bind_btTriangleMesh_btTriangleMesh_2:function(t,e){var i;return t|=0,e|=0,lt(i=0|w_(),t,e),0|i},_emscripten_bind_btTriangleMesh_setScaling_1:zs,_emscripten_bind_btTypedConstraint___destroy___0:Kr,_emscripten_bind_btTypedConstraint_enableFeedback_1:Ws,_emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0:fs,_emscripten_bind_btTypedConstraint_getParam_2:kr,_emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1:Ds,_emscripten_bind_btTypedConstraint_setParam_3:br,_emscripten_bind_btVector3Array___destroy___0:As,_emscripten_bind_btVector3Array_at_1:function(t,e){return e|=0,0|wa(0|_[12+(t|=0)>>2],e)},_emscripten_bind_btVector3Array_size_0:Oc,_emscripten_bind_btVector3___destroy___0:sp,_emscripten_bind_btVector3_btVector3_0:Na,_emscripten_bind_btVector3_btVector3_3:function(t,e,i){var n,o;return t=+t,e=+e,i=+i,o=Q,Q=Q+16|0,p[o+8>>2]=t,p[o+4>>2]=e,p[o>>2]=i,R_(n=0|Q_(),o+8|0,o+4|0,o),Q=o,0|n},_emscripten_bind_btVector3_dot_1:N_,_emscripten_bind_btVector3_length_0:us,_emscripten_bind_btVector3_normalize_0:Pc,_emscripten_bind_btVector3_op_add_1:Mp,_emscripten_bind_btVector3_op_mul_1:Y_,_emscripten_bind_btVector3_op_sub_1:Pp,_emscripten_bind_btVector3_rotate_2:function(t,e,i){var o;return t|=0,e|=0,i=+i,o=Q,Q=Q+16|0,0|n[24440]||Qs(24440),Zi(o,t,e,i),_[6242]=_[o>>2],_[6243]=_[o+4>>2],_[6244]=_[o+8>>2],_[6245]=_[o+12>>2],Q=o,24968},_emscripten_bind_btVector3_setValue_3:function(t,e,i,n){var o;t|=0,e=+e,i=+i,n=+n,o=Q,Q=Q+16|0,p[o+8>>2]=e,p[o+4>>2]=i,p[o>>2]=n,R_(t,o+8|0,o+4|0,o),Q=o},_emscripten_bind_btVector3_setX_1:cc,_emscripten_bind_btVector3_setY_1:pc,_emscripten_bind_btVector3_setZ_1:sc,_emscripten_bind_btVector3_x_0:yc,_emscripten_bind_btVector3_y_0:Ep,_emscripten_bind_btVector3_z_0:Qp,_emscripten_bind_btVector4___destroy___0:sp,_emscripten_bind_btVector4_btVector4_0:Na,_emscripten_bind_btVector4_btVector4_4:function(t,e,i,n){var o,_;return t=+t,e=+e,i=+i,n=+n,_=Q,Q=Q+16|0,p[_+12>>2]=t,p[_+8>>2]=e,p[_+4>>2]=i,p[_>>2]=n,rr(o=0|Q_(),_+12|0,_+8|0,_+4|0,_),Q=_,0|o},_emscripten_bind_btVector4_dot_1:N_,_emscripten_bind_btVector4_length_0:us,_emscripten_bind_btVector4_normalize_0:Pc,_emscripten_bind_btVector4_op_add_1:Mp,_emscripten_bind_btVector4_op_mul_1:Y_,_emscripten_bind_btVector4_op_sub_1:Pp,_emscripten_bind_btVector4_rotate_2:function(t,e,i){var o;return t|=0,e|=0,i=+i,o=Q,Q=Q+16|0,0|n[24400]||Qs(24400),Zi(o,t,e,i),_[6202]=_[o>>2],_[6203]=_[o+4>>2],_[6204]=_[o+8>>2],_[6205]=_[o+12>>2],Q=o,24808},_emscripten_bind_btVector4_setValue_4:Ro,_emscripten_bind_btVector4_setX_1:cc,_emscripten_bind_btVector4_setY_1:pc,_emscripten_bind_btVector4_setZ_1:sc,_emscripten_bind_btVector4_w_0:Hp,_emscripten_bind_btVector4_x_0:yc,_emscripten_bind_btVector4_y_0:Ep,_emscripten_bind_btVector4_z_0:Qp,_emscripten_bind_btVehicleRaycasterResult___destroy___0:qp,_emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0:ha,_emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0:ia,_emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0:Cl,_emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1:vc,_emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1:o_,_emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1:d_,_emscripten_bind_btVehicleRaycaster___destroy___0:Kr,_emscripten_bind_btVehicleRaycaster_castRay_3:_r,_emscripten_bind_btVehicleTuning_btVehicleTuning_0:function(){var t;return function(t){p[(t|=0)>>2]=5.880000114440918,p[t+4>>2]=.8299999833106995,p[t+8>>2]=.8799999952316284,p[t+12>>2]=500,p[t+16>>2]=10.5,p[t+20>>2]=6e3}(t=0|a_(24)),0|t},_emscripten_bind_btVehicleTuning_get_m_frictionSlip_0:ya,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0:ma,_emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0:ga,_emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0:ua,_emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0:ka,_emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0:Nc,_emscripten_bind_btVehicleTuning_set_m_frictionSlip_1:Sc,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1:Cc,_emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1:Ec,_emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1:ea,_emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1:ta,_emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1:Aa,_emscripten_bind_btWheelInfoConstructionInfo___destroy___0:qp,_emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0:function(t){return 0|!!(1&n[80+(t|=0)|0])},_emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0:Cl,_emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0:ba,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0:Jc,_emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0:Kc,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0:da,_emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0:zc,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0:ja,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0:ia,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0:qc,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0:Lc,_emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0:Qc,_emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1:function(t,e){e|=0,n[80+(t|=0)|0]=1&e},_emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1:d_,_emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1:Dc,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1:tc,_emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1:ic,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1:hc,_emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1:ec,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1:t_,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1:o_,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1:nc,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1:Xp,_emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1:zp,_emscripten_bind_btWheelInfo___destroy___0:qp,_emscripten_bind_btWheelInfo_btWheelInfo_1:function(t){var e;return t|=0,rn(e=0|a_(284),t),0|e},_emscripten_bind_btWheelInfo_getSuspensionRestLength_0:rc,_emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0:function(t){return 0|!!(1&n[260+(t|=0)|0])},_emscripten_bind_btWheelInfo_get_m_brake_0:function(t){return+ +p[256+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0:function(t){return 156+(t|=0)|0},_emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0:function(t){return+ +p[268+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_deltaRotation_0:function(t){return+ +p[240+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_engineForce_0:function(t){return+ +p[252+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_frictionSlip_0:function(t){return+ +p[228+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0:function(t){return+ +p[248+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0:function(t){return+ +p[208+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_raycastInfo_0:Cl,_emscripten_bind_btWheelInfo_get_m_rollInfluence_0:function(t){return+ +p[244+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_rotation_0:function(t){return+ +p[236+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_skidInfo_0:function(t){return+ +p[280+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_steering_0:function(t){return+ +p[232+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0:function(t){return+ +p[272+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0:rc,_emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0:function(t){return+ +p[216+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0:function(t){return 188+(t|=0)|0},_emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0:function(t){return 172+(t|=0)|0},_emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0:function(t){return+ +p[220+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0:function(t){return+ +p[224+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_wheelsRadius_0:function(t){return+ +p[212+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0:function(t){return+ +p[276+(t|=0)>>2]},_emscripten_bind_btWheelInfo_get_m_worldTransform_0:Ga,_emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1:function(t,e){e|=0,n[260+(t|=0)|0]=1&e},_emscripten_bind_btWheelInfo_set_m_brake_1:function(t,e){e=+e,p[256+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1:function(t,e){e|=0,_[156+(t|=0)>>2]=_[e>>2],_[t+156+4>>2]=_[e+4>>2],_[t+156+8>>2]=_[e+8>>2],_[t+156+12>>2]=_[e+12>>2]},_emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1:function(t,e){e=+e,p[268+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_deltaRotation_1:function(t,e){e=+e,p[240+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_engineForce_1:gp,_emscripten_bind_btWheelInfo_set_m_frictionSlip_1:function(t,e){e=+e,p[228+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1:hp,_emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1:function(t,e){e=+e,p[208+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_raycastInfo_1:function(t,e){var i;e|=0,i=92+(t|=0)|0;do{_[t>>2]=_[e>>2],t=t+4|0,e=e+4|0}while((0|t)<(0|i))},_emscripten_bind_btWheelInfo_set_m_rollInfluence_1:function(t,e){e=+e,p[244+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_rotation_1:function(t,e){e=+e,p[236+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_skidInfo_1:function(t,e){e=+e,p[280+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_steering_1:function(t,e){e=+e,p[232+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1:function(t,e){e=+e,p[272+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1:function(t,e){e=+e,p[204+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1:function(t,e){e=+e,p[216+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1:function(t,e){e|=0,_[188+(t|=0)>>2]=_[e>>2],_[t+188+4>>2]=_[e+4>>2],_[t+188+8>>2]=_[e+8>>2],_[t+188+12>>2]=_[e+12>>2]},_emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1:function(t,e){e|=0,_[172+(t|=0)>>2]=_[e>>2],_[t+172+4>>2]=_[e+4>>2],_[t+172+8>>2]=_[e+8>>2],_[t+172+12>>2]=_[e+12>>2]},_emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1:function(t,e){e=+e,p[220+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1:function(t,e){e=+e,p[224+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_wheelsRadius_1:function(t,e){e=+e,p[212+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1:function(t,e){e=+e,p[276+(t|=0)>>2]=e},_emscripten_bind_btWheelInfo_set_m_worldTransform_1:function(t,e){Yo(92+(t|=0)|0,e|=0)},_emscripten_bind_btWheelInfo_updateWheel_2:function(t,e,i){e|=0;var o,r,s,c,a,l,d,b,A=0,f=0;return 0|n[84+(t|=0)|0]?(f=+p[t>>2],o=+p[t+4>>2],r=+p[t+8>>2],s=f*+p[t+52>>2]+o*+p[t+56>>2]+r*+p[t+60>>2],c=+p[t+16>>2]-+p[e+52>>2],a=+p[t+20>>2]-+p[e+56>>2],l=+p[t+24>>2]-+p[e+60>>2],d=+p[e+332>>2],b=+p[e+336>>2],A=+p[e+328>>2],s>=-.10000000149011612?(p[t+272>>2]=0,f=10,void(p[(e=t+268|0)>>2]=f)):(p[t+272>>2]=-1/s*(f*(d*l-a*b+ +p[e+312>>2])+o*(c*b-l*A+ +p[e+316>>2])+r*(a*A-c*d+ +p[e+320>>2])),f=-1/s,void(p[(e=t+268|0)>>2]=f))):(_[t+32>>2]=_[t+204>>2],p[t+272>>2]=0,A=-+p[t+56>>2],f=-+p[t+60>>2],p[t>>2]=-+p[t+52>>2],p[t+4>>2]=A,p[t+8>>2]=f,p[t+12>>2]=0,f=1,void(p[(e=t+268|0)>>2]=f))},_emscripten_bind_tAnchorArray___destroy___0:As,_emscripten_bind_tAnchorArray_at_1:function(t,e){return t|=0,e|=0,0|n[24384]||Qs(24384),function(t){t|=0,_[6174]=_[t>>2],_[6175]=_[t+4>>2],_[6176]=_[t+8>>2],_[6177]=_[t+12>>2],_[6178]=_[t+16>>2],_[6179]=_[t+20>>2],_[6180]=_[t+24>>2],Vn(24724,t+28|0),_[6193]=_[t+76>>2],_[6194]=_[t+76+4>>2],_[6195]=_[t+76+8>>2],_[6196]=_[t+76+12>>2],_[6197]=_[t+76+16>>2]}(0|function(t,e){return(t|=0)+(96*(e|=0)|0)|0}(0|_[t+12>>2],e)),24696},_emscripten_bind_tAnchorArray_clear_0:Rc,_emscripten_bind_tAnchorArray_pop_back_0:function(t){!function(t){_[4+(t|=0)>>2]=(0|_[t+4>>2])-1}(t|=0)},_emscripten_bind_tAnchorArray_push_back_1:function(t,e){Un(t|=0,e|=0)},_emscripten_bind_tAnchorArray_size_0:Oc,_emscripten_bind_tMaterialArray___destroy___0:As,_emscripten_bind_tMaterialArray_at_1:zr,_emscripten_bind_tMaterialArray_size_0:Oc,_emscripten_bind_tNodeArray___destroy___0:As,_emscripten_bind_tNodeArray_at_1:function(t,e){return e|=0,0|function(t,e){return(t|=0)+(104*(e|=0)|0)|0}(0|_[12+(t|=0)>>2],e)},_emscripten_bind_tNodeArray_size_0:Oc,_emscripten_enum_PHY_ScalarType_PHY_DOUBLE:wl,_emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88:nl,_emscripten_enum_PHY_ScalarType_PHY_FLOAT:function(){return 0},_emscripten_enum_PHY_ScalarType_PHY_INTEGER:pl,_emscripten_enum_PHY_ScalarType_PHY_SHORT:al,_emscripten_enum_PHY_ScalarType_PHY_UCHAR:function(){return 5},_emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM:al,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP:wl,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM:nl,_emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP:pl,_emscripten_replace_memory:function(t){return n=new Int8Array(t),r=new Uint8Array(t),o=new Int16Array(t),s=new Uint16Array(t),_=new Int32Array(t),p=new Float32Array(t),c=new Float64Array(t),i=t,!0},_free:Ni,_i64Add:xr,_i64Subtract:Ir,_llvm_bswap_i16:Ma,_llvm_bswap_i32:Ap,_malloc:di,_memcpy:_e,_memmove:Do,_memset:wn,_sbrk:yo,dynCall_di:function(t,e){return e|=0,+Il[15&(t|=0)](0|e)},dynCall_did:function(t,e,i){return e|=0,i=+i,+Bl[1&(t|=0)](0|e,+i)},dynCall_diidii:function(t,e,i,n,o,_){return e|=0,i|=0,n=+n,o|=0,_|=0,+Wl[3&(t|=0)](0|e,0|i,+n,0|o,0|_)},dynCall_diii:function(t,e,i,n){return e|=0,i|=0,n|=0,+Fl[15&(t|=0)](0|e,0|i,0|n)},dynCall_diiidii:function(t,e,i,n,o,_,r){return e|=0,i|=0,n|=0,o=+o,_|=0,r|=0,+xl[3&(t|=0)](0|e,0|i,0|n,+o,0|_,0|r)},dynCall_diiii:function(t,e,i,n,o){return e|=0,i|=0,n|=0,o|=0,+Ol[1&(t|=0)](0|e,0|i,0|n,0|o)},dynCall_diiiii:function(t,e,i,n,o,_){return e|=0,i|=0,n|=0,o|=0,_|=0,+Tl[15&(t|=0)](0|e,0|i,0|n,0|o,0|_)},dynCall_diiiiiiii:function(t,e,i,n,o,_,r,s,p){return e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,+Pl[1&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p)},dynCall_diiiiiiiii:function(t,e,i,n,o,_,r,s,p,c){return e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,+Ml[3&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,0|c)},dynCall_diiiiiiiiii:function(t,e,i,n,o,_,r,s,p,c,a){return e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,a|=0,+Vl[3&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,0|c,0|a)},dynCall_ii:function(t,e){return e|=0,0|Gl[127&(t|=0)](0|e)},dynCall_iidid:function(t,e,i,n,o){return e|=0,i=+i,n|=0,o=+o,0|Nl[1&(t|=0)](0|e,+i,0|n,+o)},dynCall_iii:function(t,e,i){return e|=0,i|=0,0|Ll[31&(t|=0)](0|e,0|i)},dynCall_iiid:function(t,e,i,n){return e|=0,i|=0,n=+n,0|Ql[7&(t|=0)](0|e,0|i,+n)},dynCall_iiii:function(t,e,i,n){return e|=0,i|=0,n|=0,0|El[63&(t|=0)](0|e,0|i,0|n)},dynCall_iiiii:function(t,e,i,n,o){return e|=0,i|=0,n|=0,o|=0,0|Hl[31&(t|=0)](0|e,0|i,0|n,0|o)},dynCall_iiiiiii:function(t,e,i,n,o,_,r){return e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,0|Zl[3&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r)},dynCall_iiiiiiiiii:function(t,e,i,n,o,_,r,s,p,c){return e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,0|Ul[3&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,0|c)},dynCall_iiiiiiiiiii:function(t,e,i,n,o,_,r,s,p,c,a){return e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,a|=0,0|Yl[3&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,0|c,0|a)},dynCall_v:function(t){Jl[1&(t|=0)]()},dynCall_vi:function(t,e){e|=0,Xl[511&(t|=0)](0|e)},dynCall_vid:function(t,e,i){e|=0,i=+i,zl[31&(t|=0)](0|e,+i)},dynCall_vidd:function(t,e,i,n){e|=0,i=+i,n=+n,Kl[7&(t|=0)](0|e,+i,+n)},dynCall_viddiii:function(t,e,i,n,o,_,r){e|=0,i=+i,n=+n,o|=0,_|=0,r|=0,ql[3&(t|=0)](0|e,+i,+n,0|o,0|_,0|r)},dynCall_vidi:function(t,e,i,n){e|=0,i=+i,n|=0,$l[15&(t|=0)](0|e,+i,0|n)},dynCall_vidii:function(t,e,i,n,o){e|=0,i=+i,n|=0,o|=0,td[1&(t|=0)](0|e,+i,0|n,0|o)},dynCall_vii:function(t,e,i){e|=0,i|=0,ed[127&(t|=0)](0|e,0|i)},dynCall_viid:function(t,e,i,n){e|=0,i|=0,n=+n,id[7&(t|=0)](0|e,0|i,+n)},dynCall_viidi:function(t,e,i,n,o){e|=0,i|=0,n=+n,o|=0,nd[7&(t|=0)](0|e,0|i,+n,0|o)},dynCall_viidii:function(t,e,i,n,o,_){e|=0,i|=0,n=+n,o|=0,_|=0,od[1&(t|=0)](0|e,0|i,+n,0|o,0|_)},dynCall_viii:function(t,e,i,n){e|=0,i|=0,n|=0,_d[127&(t|=0)](0|e,0|i,0|n)},dynCall_viiid:function(t,e,i,n,o){e|=0,i|=0,n|=0,o=+o,rd[15&(t|=0)](0|e,0|i,0|n,+o)},dynCall_viiidii:function(t,e,i,n,o,_,r){e|=0,i|=0,n|=0,o=+o,_|=0,r|=0,sd[1&(t|=0)](0|e,0|i,0|n,+o,0|_,0|r)},dynCall_viiii:function(t,e,i,n,o){e|=0,i|=0,n|=0,o|=0,pd[127&(t|=0)](0|e,0|i,0|n,0|o)},dynCall_viiiid:function(t,e,i,n,o,_){e|=0,i|=0,n|=0,o|=0,_=+_,cd[1&(t|=0)](0|e,0|i,0|n,0|o,+_)},dynCall_viiiidddddidi:function(t,e,i,n,o,_,r,s,p,c,a,l,d){e|=0,i|=0,n|=0,o|=0,_=+_,r=+r,s=+s,p=+p,c=+c,a|=0,l=+l,d|=0,ad[1&(t|=0)](0|e,0|i,0|n,0|o,+_,+r,+s,+p,+c,0|a,+l,0|d)},dynCall_viiiiddddiid:function(t,e,i,n,o,_,r,s,p,c,a,l){e|=0,i|=0,n|=0,o|=0,_=+_,r=+r,s=+s,p=+p,c|=0,a|=0,l=+l,ld[1&(t|=0)](0|e,0|i,0|n,0|o,+_,+r,+s,+p,0|c,0|a,+l)},dynCall_viiiii:function(t,e,i,n,o,_){e|=0,i|=0,n|=0,o|=0,_|=0,dd[31&(t|=0)](0|e,0|i,0|n,0|o,0|_)},dynCall_viiiiid:function(t,e,i,n,o,_,r){e|=0,i|=0,n|=0,o|=0,_|=0,r=+r,bd[1&(t|=0)](0|e,0|i,0|n,0|o,0|_,+r)},dynCall_viiiiii:function(t,e,i,n,o,_,r){e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,Ad[7&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r)},dynCall_viiiiiii:function(t,e,i,n,o,_,r,s){e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,fd[1&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s)},dynCall_viiiiiiiid:function(t,e,i,n,o,_,r,s,p,c){e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c=+c,ud[1&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,+c)},dynCall_viiiiiiiii:function(t,e,i,n,o,_,r,s,p,c){e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,md[1&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,0|c)},dynCall_viiiiiiiiii:function(t,e,i,n,o,_,r,s,p,c,a){e|=0,i|=0,n|=0,o|=0,_|=0,r|=0,s|=0,p|=0,c|=0,a|=0,hd[3&(t|=0)](0|e,0|i,0|n,0|o,0|_,0|r,0|s,0|p,0|c,0|a)},establishStackSpace:function(t,e){Q=t|=0,0},stackAlloc:function(t){var e;return e=Q,Q=15+(Q=Q+(t|=0)|0)&-16,0|e},stackRestore:function(t){Q=t|=0},stackSave:function(){return 0|Q}}}(ot,_t,h),st=i.__GLOBAL__sub_I_btQuickprof_cpp=rt.__GLOBAL__sub_I_btQuickprof_cpp,pt=(i.___cxa_can_catch=rt.___cxa_can_catch,i.___cxa_is_pointer_type=rt.___cxa_is_pointer_type,i.___muldi3=rt.___muldi3,i.___udivdi3=rt.___udivdi3,i._bitshift64Lshr=rt._bitshift64Lshr,i._bitshift64Shl=rt._bitshift64Shl,i._emscripten_bind_Anchor___destroy___0=rt._emscripten_bind_Anchor___destroy___0),ct=i._emscripten_bind_Anchor_get_m_body_0=rt._emscripten_bind_Anchor_get_m_body_0,at=i._emscripten_bind_Anchor_get_m_c0_0=rt._emscripten_bind_Anchor_get_m_c0_0,lt=i._emscripten_bind_Anchor_get_m_c1_0=rt._emscripten_bind_Anchor_get_m_c1_0,dt=i._emscripten_bind_Anchor_get_m_c2_0=rt._emscripten_bind_Anchor_get_m_c2_0,bt=i._emscripten_bind_Anchor_get_m_influence_0=rt._emscripten_bind_Anchor_get_m_influence_0,At=i._emscripten_bind_Anchor_get_m_local_0=rt._emscripten_bind_Anchor_get_m_local_0,ft=i._emscripten_bind_Anchor_get_m_node_0=rt._emscripten_bind_Anchor_get_m_node_0,ut=i._emscripten_bind_Anchor_set_m_body_1=rt._emscripten_bind_Anchor_set_m_body_1,mt=i._emscripten_bind_Anchor_set_m_c0_1=rt._emscripten_bind_Anchor_set_m_c0_1,ht=i._emscripten_bind_Anchor_set_m_c1_1=rt._emscripten_bind_Anchor_set_m_c1_1,yt=i._emscripten_bind_Anchor_set_m_c2_1=rt._emscripten_bind_Anchor_set_m_c2_1,gt=i._emscripten_bind_Anchor_set_m_influence_1=rt._emscripten_bind_Anchor_set_m_influence_1,Ct=i._emscripten_bind_Anchor_set_m_local_1=rt._emscripten_bind_Anchor_set_m_local_1,vt=i._emscripten_bind_Anchor_set_m_node_1=rt._emscripten_bind_Anchor_set_m_node_1,St=i._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2=rt._emscripten_bind_ClosestConvexResultCallback_ClosestConvexResultCallback_2,wt=i._emscripten_bind_ClosestConvexResultCallback___destroy___0=rt._emscripten_bind_ClosestConvexResultCallback___destroy___0,kt=i._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_closestHitFraction_0,Rt=i._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterGroup_0,jt=i._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_collisionFilterMask_0,Dt=i._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_convexFromWorld_0,It=i._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_convexToWorld_0,Bt=i._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_hitNormalWorld_0,Wt=i._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0=rt._emscripten_bind_ClosestConvexResultCallback_get_m_hitPointWorld_0,Ft=i._emscripten_bind_ClosestConvexResultCallback_hasHit_0=rt._emscripten_bind_ClosestConvexResultCallback_hasHit_0,xt=i._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_closestHitFraction_1,Ot=i._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterGroup_1,Tt=i._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_collisionFilterMask_1,Pt=i._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_convexFromWorld_1,Mt=i._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_convexToWorld_1,Vt=i._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_hitNormalWorld_1,Gt=i._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1=rt._emscripten_bind_ClosestConvexResultCallback_set_m_hitPointWorld_1,Nt=i._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2=rt._emscripten_bind_ClosestRayResultCallback_ClosestRayResultCallback_2,Lt=i._emscripten_bind_ClosestRayResultCallback___destroy___0=rt._emscripten_bind_ClosestRayResultCallback___destroy___0,Qt=i._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_closestHitFraction_0,Et=i._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterGroup_0,Ht=i._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_collisionFilterMask_0,Zt=i._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_collisionObject_0,Ut=i._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_hitNormalWorld_0,Yt=i._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_hitPointWorld_0,Jt=i._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_rayFromWorld_0,Xt=i._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0=rt._emscripten_bind_ClosestRayResultCallback_get_m_rayToWorld_0,zt=i._emscripten_bind_ClosestRayResultCallback_hasHit_0=rt._emscripten_bind_ClosestRayResultCallback_hasHit_0,Kt=i._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_closestHitFraction_1,qt=i._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterGroup_1,$t=i._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_collisionFilterMask_1,te=i._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_collisionObject_1,ee=i._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_hitNormalWorld_1,ie=i._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_hitPointWorld_1,ne=i._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_rayFromWorld_1,oe=i._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1=rt._emscripten_bind_ClosestRayResultCallback_set_m_rayToWorld_1,_e=i._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0=rt._emscripten_bind_ConcreteContactResultCallback_ConcreteContactResultCallback_0,re=i._emscripten_bind_ConcreteContactResultCallback___destroy___0=rt._emscripten_bind_ConcreteContactResultCallback___destroy___0,se=i._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7=rt._emscripten_bind_ConcreteContactResultCallback_addSingleResult_7,pe=i._emscripten_bind_Config___destroy___0=rt._emscripten_bind_Config___destroy___0,ce=i._emscripten_bind_Config_get_citerations_0=rt._emscripten_bind_Config_get_citerations_0,ae=i._emscripten_bind_Config_get_collisions_0=rt._emscripten_bind_Config_get_collisions_0,le=i._emscripten_bind_Config_get_diterations_0=rt._emscripten_bind_Config_get_diterations_0,de=i._emscripten_bind_Config_get_kAHR_0=rt._emscripten_bind_Config_get_kAHR_0,be=i._emscripten_bind_Config_get_kCHR_0=rt._emscripten_bind_Config_get_kCHR_0,Ae=i._emscripten_bind_Config_get_kDF_0=rt._emscripten_bind_Config_get_kDF_0,fe=i._emscripten_bind_Config_get_kDG_0=rt._emscripten_bind_Config_get_kDG_0,ue=i._emscripten_bind_Config_get_kDP_0=rt._emscripten_bind_Config_get_kDP_0,me=i._emscripten_bind_Config_get_kKHR_0=rt._emscripten_bind_Config_get_kKHR_0,he=i._emscripten_bind_Config_get_kLF_0=rt._emscripten_bind_Config_get_kLF_0,ye=i._emscripten_bind_Config_get_kMT_0=rt._emscripten_bind_Config_get_kMT_0,ge=i._emscripten_bind_Config_get_kPR_0=rt._emscripten_bind_Config_get_kPR_0,Ce=i._emscripten_bind_Config_get_kSHR_0=rt._emscripten_bind_Config_get_kSHR_0,ve=i._emscripten_bind_Config_get_kSKHR_CL_0=rt._emscripten_bind_Config_get_kSKHR_CL_0,Se=i._emscripten_bind_Config_get_kSK_SPLT_CL_0=rt._emscripten_bind_Config_get_kSK_SPLT_CL_0,we=i._emscripten_bind_Config_get_kSRHR_CL_0=rt._emscripten_bind_Config_get_kSRHR_CL_0,ke=i._emscripten_bind_Config_get_kSR_SPLT_CL_0=rt._emscripten_bind_Config_get_kSR_SPLT_CL_0,Re=i._emscripten_bind_Config_get_kSSHR_CL_0=rt._emscripten_bind_Config_get_kSSHR_CL_0,je=i._emscripten_bind_Config_get_kSS_SPLT_CL_0=rt._emscripten_bind_Config_get_kSS_SPLT_CL_0,De=i._emscripten_bind_Config_get_kVCF_0=rt._emscripten_bind_Config_get_kVCF_0,Ie=i._emscripten_bind_Config_get_kVC_0=rt._emscripten_bind_Config_get_kVC_0,Be=i._emscripten_bind_Config_get_maxvolume_0=rt._emscripten_bind_Config_get_maxvolume_0,We=i._emscripten_bind_Config_get_piterations_0=rt._emscripten_bind_Config_get_piterations_0,Fe=i._emscripten_bind_Config_get_timescale_0=rt._emscripten_bind_Config_get_timescale_0,xe=i._emscripten_bind_Config_get_viterations_0=rt._emscripten_bind_Config_get_viterations_0,Oe=i._emscripten_bind_Config_set_citerations_1=rt._emscripten_bind_Config_set_citerations_1,Te=i._emscripten_bind_Config_set_collisions_1=rt._emscripten_bind_Config_set_collisions_1,Pe=i._emscripten_bind_Config_set_diterations_1=rt._emscripten_bind_Config_set_diterations_1,Me=i._emscripten_bind_Config_set_kAHR_1=rt._emscripten_bind_Config_set_kAHR_1,Ve=i._emscripten_bind_Config_set_kCHR_1=rt._emscripten_bind_Config_set_kCHR_1,Ge=i._emscripten_bind_Config_set_kDF_1=rt._emscripten_bind_Config_set_kDF_1,Ne=i._emscripten_bind_Config_set_kDG_1=rt._emscripten_bind_Config_set_kDG_1,Le=i._emscripten_bind_Config_set_kDP_1=rt._emscripten_bind_Config_set_kDP_1,Qe=i._emscripten_bind_Config_set_kKHR_1=rt._emscripten_bind_Config_set_kKHR_1,Ee=i._emscripten_bind_Config_set_kLF_1=rt._emscripten_bind_Config_set_kLF_1,He=i._emscripten_bind_Config_set_kMT_1=rt._emscripten_bind_Config_set_kMT_1,Ze=i._emscripten_bind_Config_set_kPR_1=rt._emscripten_bind_Config_set_kPR_1,Ue=i._emscripten_bind_Config_set_kSHR_1=rt._emscripten_bind_Config_set_kSHR_1,Ye=i._emscripten_bind_Config_set_kSKHR_CL_1=rt._emscripten_bind_Config_set_kSKHR_CL_1,Je=i._emscripten_bind_Config_set_kSK_SPLT_CL_1=rt._emscripten_bind_Config_set_kSK_SPLT_CL_1,Xe=i._emscripten_bind_Config_set_kSRHR_CL_1=rt._emscripten_bind_Config_set_kSRHR_CL_1,ze=i._emscripten_bind_Config_set_kSR_SPLT_CL_1=rt._emscripten_bind_Config_set_kSR_SPLT_CL_1,Ke=i._emscripten_bind_Config_set_kSSHR_CL_1=rt._emscripten_bind_Config_set_kSSHR_CL_1,qe=i._emscripten_bind_Config_set_kSS_SPLT_CL_1=rt._emscripten_bind_Config_set_kSS_SPLT_CL_1,$e=i._emscripten_bind_Config_set_kVCF_1=rt._emscripten_bind_Config_set_kVCF_1,ti=i._emscripten_bind_Config_set_kVC_1=rt._emscripten_bind_Config_set_kVC_1,ei=i._emscripten_bind_Config_set_maxvolume_1=rt._emscripten_bind_Config_set_maxvolume_1,ii=i._emscripten_bind_Config_set_piterations_1=rt._emscripten_bind_Config_set_piterations_1,ni=i._emscripten_bind_Config_set_timescale_1=rt._emscripten_bind_Config_set_timescale_1,oi=i._emscripten_bind_Config_set_viterations_1=rt._emscripten_bind_Config_set_viterations_1,_i=i._emscripten_bind_ContactResultCallback___destroy___0=rt._emscripten_bind_ContactResultCallback___destroy___0,ri=i._emscripten_bind_ContactResultCallback_addSingleResult_7=rt._emscripten_bind_ContactResultCallback_addSingleResult_7,si=i._emscripten_bind_ConvexResultCallback___destroy___0=rt._emscripten_bind_ConvexResultCallback___destroy___0,pi=i._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0=rt._emscripten_bind_ConvexResultCallback_get_m_closestHitFraction_0,ci=i._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0=rt._emscripten_bind_ConvexResultCallback_get_m_collisionFilterGroup_0,ai=i._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0=rt._emscripten_bind_ConvexResultCallback_get_m_collisionFilterMask_0,li=i._emscripten_bind_ConvexResultCallback_hasHit_0=rt._emscripten_bind_ConvexResultCallback_hasHit_0,di=i._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1=rt._emscripten_bind_ConvexResultCallback_set_m_closestHitFraction_1,bi=i._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1=rt._emscripten_bind_ConvexResultCallback_set_m_collisionFilterGroup_1,Ai=i._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1=rt._emscripten_bind_ConvexResultCallback_set_m_collisionFilterMask_1,fi=i._emscripten_bind_DebugDrawer_DebugDrawer_0=rt._emscripten_bind_DebugDrawer_DebugDrawer_0,ui=i._emscripten_bind_DebugDrawer___destroy___0=rt._emscripten_bind_DebugDrawer___destroy___0,mi=i._emscripten_bind_DebugDrawer_draw3dText_2=rt._emscripten_bind_DebugDrawer_draw3dText_2,hi=i._emscripten_bind_DebugDrawer_drawContactPoint_5=rt._emscripten_bind_DebugDrawer_drawContactPoint_5,yi=i._emscripten_bind_DebugDrawer_drawLine_3=rt._emscripten_bind_DebugDrawer_drawLine_3,gi=i._emscripten_bind_DebugDrawer_getDebugMode_0=rt._emscripten_bind_DebugDrawer_getDebugMode_0,Ci=i._emscripten_bind_DebugDrawer_reportErrorWarning_1=rt._emscripten_bind_DebugDrawer_reportErrorWarning_1,vi=i._emscripten_bind_DebugDrawer_setDebugMode_1=rt._emscripten_bind_DebugDrawer_setDebugMode_1,Si=i._emscripten_bind_LocalConvexResult_LocalConvexResult_5=rt._emscripten_bind_LocalConvexResult_LocalConvexResult_5,wi=i._emscripten_bind_LocalConvexResult___destroy___0=rt._emscripten_bind_LocalConvexResult___destroy___0,ki=i._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0=rt._emscripten_bind_LocalConvexResult_get_m_hitCollisionObject_0,Ri=i._emscripten_bind_LocalConvexResult_get_m_hitFraction_0=rt._emscripten_bind_LocalConvexResult_get_m_hitFraction_0,ji=i._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0=rt._emscripten_bind_LocalConvexResult_get_m_hitNormalLocal_0,Di=i._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0=rt._emscripten_bind_LocalConvexResult_get_m_hitPointLocal_0,Ii=i._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0=rt._emscripten_bind_LocalConvexResult_get_m_localShapeInfo_0,Bi=i._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1=rt._emscripten_bind_LocalConvexResult_set_m_hitCollisionObject_1,Wi=i._emscripten_bind_LocalConvexResult_set_m_hitFraction_1=rt._emscripten_bind_LocalConvexResult_set_m_hitFraction_1,Fi=i._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1=rt._emscripten_bind_LocalConvexResult_set_m_hitNormalLocal_1,xi=i._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1=rt._emscripten_bind_LocalConvexResult_set_m_hitPointLocal_1,Oi=i._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1=rt._emscripten_bind_LocalConvexResult_set_m_localShapeInfo_1,Ti=i._emscripten_bind_LocalShapeInfo___destroy___0=rt._emscripten_bind_LocalShapeInfo___destroy___0,Pi=i._emscripten_bind_LocalShapeInfo_get_m_shapePart_0=rt._emscripten_bind_LocalShapeInfo_get_m_shapePart_0,Mi=i._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0=rt._emscripten_bind_LocalShapeInfo_get_m_triangleIndex_0,Vi=i._emscripten_bind_LocalShapeInfo_set_m_shapePart_1=rt._emscripten_bind_LocalShapeInfo_set_m_shapePart_1,Gi=i._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1=rt._emscripten_bind_LocalShapeInfo_set_m_triangleIndex_1,Ni=i._emscripten_bind_Material___destroy___0=rt._emscripten_bind_Material___destroy___0,Li=i._emscripten_bind_Material_get_m_flags_0=rt._emscripten_bind_Material_get_m_flags_0,Qi=i._emscripten_bind_Material_get_m_kAST_0=rt._emscripten_bind_Material_get_m_kAST_0,Ei=i._emscripten_bind_Material_get_m_kLST_0=rt._emscripten_bind_Material_get_m_kLST_0,Hi=i._emscripten_bind_Material_get_m_kVST_0=rt._emscripten_bind_Material_get_m_kVST_0,Zi=i._emscripten_bind_Material_set_m_flags_1=rt._emscripten_bind_Material_set_m_flags_1,Ui=i._emscripten_bind_Material_set_m_kAST_1=rt._emscripten_bind_Material_set_m_kAST_1,Yi=i._emscripten_bind_Material_set_m_kLST_1=rt._emscripten_bind_Material_set_m_kLST_1,Ji=i._emscripten_bind_Material_set_m_kVST_1=rt._emscripten_bind_Material_set_m_kVST_1,Xi=i._emscripten_bind_Node___destroy___0=rt._emscripten_bind_Node___destroy___0,zi=i._emscripten_bind_Node_get_m_area_0=rt._emscripten_bind_Node_get_m_area_0,Ki=i._emscripten_bind_Node_get_m_f_0=rt._emscripten_bind_Node_get_m_f_0,qi=i._emscripten_bind_Node_get_m_im_0=rt._emscripten_bind_Node_get_m_im_0,$i=i._emscripten_bind_Node_get_m_n_0=rt._emscripten_bind_Node_get_m_n_0,tn=i._emscripten_bind_Node_get_m_q_0=rt._emscripten_bind_Node_get_m_q_0,en=i._emscripten_bind_Node_get_m_v_0=rt._emscripten_bind_Node_get_m_v_0,nn=i._emscripten_bind_Node_get_m_x_0=rt._emscripten_bind_Node_get_m_x_0,on=i._emscripten_bind_Node_set_m_area_1=rt._emscripten_bind_Node_set_m_area_1,_n=i._emscripten_bind_Node_set_m_f_1=rt._emscripten_bind_Node_set_m_f_1,rn=i._emscripten_bind_Node_set_m_im_1=rt._emscripten_bind_Node_set_m_im_1,sn=i._emscripten_bind_Node_set_m_n_1=rt._emscripten_bind_Node_set_m_n_1,pn=i._emscripten_bind_Node_set_m_q_1=rt._emscripten_bind_Node_set_m_q_1,cn=i._emscripten_bind_Node_set_m_v_1=rt._emscripten_bind_Node_set_m_v_1,an=i._emscripten_bind_Node_set_m_x_1=rt._emscripten_bind_Node_set_m_x_1,ln=i._emscripten_bind_RayResultCallback___destroy___0=rt._emscripten_bind_RayResultCallback___destroy___0,dn=i._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0=rt._emscripten_bind_RayResultCallback_get_m_closestHitFraction_0,bn=i._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0=rt._emscripten_bind_RayResultCallback_get_m_collisionFilterGroup_0,An=i._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0=rt._emscripten_bind_RayResultCallback_get_m_collisionFilterMask_0,fn=i._emscripten_bind_RayResultCallback_get_m_collisionObject_0=rt._emscripten_bind_RayResultCallback_get_m_collisionObject_0,un=i._emscripten_bind_RayResultCallback_hasHit_0=rt._emscripten_bind_RayResultCallback_hasHit_0,mn=i._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1=rt._emscripten_bind_RayResultCallback_set_m_closestHitFraction_1,hn=i._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1=rt._emscripten_bind_RayResultCallback_set_m_collisionFilterGroup_1,yn=i._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1=rt._emscripten_bind_RayResultCallback_set_m_collisionFilterMask_1,gn=i._emscripten_bind_RayResultCallback_set_m_collisionObject_1=rt._emscripten_bind_RayResultCallback_set_m_collisionObject_1,Cn=i._emscripten_bind_RaycastInfo___destroy___0=rt._emscripten_bind_RaycastInfo___destroy___0,vn=i._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0=rt._emscripten_bind_RaycastInfo_get_m_contactNormalWS_0,Sn=i._emscripten_bind_RaycastInfo_get_m_contactPointWS_0=rt._emscripten_bind_RaycastInfo_get_m_contactPointWS_0,wn=i._emscripten_bind_RaycastInfo_get_m_groundObject_0=rt._emscripten_bind_RaycastInfo_get_m_groundObject_0,kn=i._emscripten_bind_RaycastInfo_get_m_hardPointWS_0=rt._emscripten_bind_RaycastInfo_get_m_hardPointWS_0,Rn=i._emscripten_bind_RaycastInfo_get_m_isInContact_0=rt._emscripten_bind_RaycastInfo_get_m_isInContact_0,jn=i._emscripten_bind_RaycastInfo_get_m_suspensionLength_0=rt._emscripten_bind_RaycastInfo_get_m_suspensionLength_0,Dn=i._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0=rt._emscripten_bind_RaycastInfo_get_m_wheelAxleWS_0,In=i._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0=rt._emscripten_bind_RaycastInfo_get_m_wheelDirectionWS_0,Bn=i._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1=rt._emscripten_bind_RaycastInfo_set_m_contactNormalWS_1,Wn=i._emscripten_bind_RaycastInfo_set_m_contactPointWS_1=rt._emscripten_bind_RaycastInfo_set_m_contactPointWS_1,Fn=i._emscripten_bind_RaycastInfo_set_m_groundObject_1=rt._emscripten_bind_RaycastInfo_set_m_groundObject_1,xn=i._emscripten_bind_RaycastInfo_set_m_hardPointWS_1=rt._emscripten_bind_RaycastInfo_set_m_hardPointWS_1,On=i._emscripten_bind_RaycastInfo_set_m_isInContact_1=rt._emscripten_bind_RaycastInfo_set_m_isInContact_1,Tn=i._emscripten_bind_RaycastInfo_set_m_suspensionLength_1=rt._emscripten_bind_RaycastInfo_set_m_suspensionLength_1,Pn=i._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1=rt._emscripten_bind_RaycastInfo_set_m_wheelAxleWS_1,Mn=i._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1=rt._emscripten_bind_RaycastInfo_set_m_wheelDirectionWS_1,Vn=i._emscripten_bind_VoidPtr___destroy___0=rt._emscripten_bind_VoidPtr___destroy___0,Gn=i._emscripten_bind_btActionInterface___destroy___0=rt._emscripten_bind_btActionInterface___destroy___0,Nn=i._emscripten_bind_btActionInterface_updateAction_2=rt._emscripten_bind_btActionInterface_updateAction_2,Ln=i._emscripten_bind_btAxisSweep3___destroy___0=rt._emscripten_bind_btAxisSweep3___destroy___0,Qn=i._emscripten_bind_btAxisSweep3_btAxisSweep3_2=rt._emscripten_bind_btAxisSweep3_btAxisSweep3_2,En=i._emscripten_bind_btAxisSweep3_btAxisSweep3_3=rt._emscripten_bind_btAxisSweep3_btAxisSweep3_3,Hn=i._emscripten_bind_btAxisSweep3_btAxisSweep3_4=rt._emscripten_bind_btAxisSweep3_btAxisSweep3_4,Zn=i._emscripten_bind_btAxisSweep3_btAxisSweep3_5=rt._emscripten_bind_btAxisSweep3_btAxisSweep3_5,Un=i._emscripten_bind_btBoxShape___destroy___0=rt._emscripten_bind_btBoxShape___destroy___0,Yn=i._emscripten_bind_btBoxShape_btBoxShape_1=rt._emscripten_bind_btBoxShape_btBoxShape_1,Jn=i._emscripten_bind_btBoxShape_calculateLocalInertia_2=rt._emscripten_bind_btBoxShape_calculateLocalInertia_2,Xn=i._emscripten_bind_btBoxShape_getLocalScaling_0=rt._emscripten_bind_btBoxShape_getLocalScaling_0,zn=i._emscripten_bind_btBoxShape_getMargin_0=rt._emscripten_bind_btBoxShape_getMargin_0,Kn=i._emscripten_bind_btBoxShape_setLocalScaling_1=rt._emscripten_bind_btBoxShape_setLocalScaling_1,qn=i._emscripten_bind_btBoxShape_setMargin_1=rt._emscripten_bind_btBoxShape_setMargin_1,$n=i._emscripten_bind_btBroadphaseInterface___destroy___0=rt._emscripten_bind_btBroadphaseInterface___destroy___0,to=i._emscripten_bind_btBroadphaseProxy___destroy___0=rt._emscripten_bind_btBroadphaseProxy___destroy___0,eo=i._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0=rt._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterGroup_0,io=i._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0=rt._emscripten_bind_btBroadphaseProxy_get_m_collisionFilterMask_0,no=i._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1=rt._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterGroup_1,oo=i._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1=rt._emscripten_bind_btBroadphaseProxy_set_m_collisionFilterMask_1,_o=i._emscripten_bind_btBvhTriangleMeshShape___destroy___0=rt._emscripten_bind_btBvhTriangleMeshShape___destroy___0,ro=i._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2=rt._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_2,so=i._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3=rt._emscripten_bind_btBvhTriangleMeshShape_btBvhTriangleMeshShape_3,po=i._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2=rt._emscripten_bind_btBvhTriangleMeshShape_calculateLocalInertia_2,co=i._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0=rt._emscripten_bind_btBvhTriangleMeshShape_getLocalScaling_0,ao=i._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1=rt._emscripten_bind_btBvhTriangleMeshShape_setLocalScaling_1,lo=i._emscripten_bind_btCapsuleShapeX___destroy___0=rt._emscripten_bind_btCapsuleShapeX___destroy___0,bo=i._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2=rt._emscripten_bind_btCapsuleShapeX_btCapsuleShapeX_2,Ao=i._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2=rt._emscripten_bind_btCapsuleShapeX_calculateLocalInertia_2,fo=i._emscripten_bind_btCapsuleShapeX_getHalfHeight_0=rt._emscripten_bind_btCapsuleShapeX_getHalfHeight_0,uo=i._emscripten_bind_btCapsuleShapeX_getLocalScaling_0=rt._emscripten_bind_btCapsuleShapeX_getLocalScaling_0,mo=i._emscripten_bind_btCapsuleShapeX_getMargin_0=rt._emscripten_bind_btCapsuleShapeX_getMargin_0,ho=i._emscripten_bind_btCapsuleShapeX_getRadius_0=rt._emscripten_bind_btCapsuleShapeX_getRadius_0,yo=i._emscripten_bind_btCapsuleShapeX_getUpAxis_0=rt._emscripten_bind_btCapsuleShapeX_getUpAxis_0,go=i._emscripten_bind_btCapsuleShapeX_setLocalScaling_1=rt._emscripten_bind_btCapsuleShapeX_setLocalScaling_1,Co=i._emscripten_bind_btCapsuleShapeX_setMargin_1=rt._emscripten_bind_btCapsuleShapeX_setMargin_1,vo=i._emscripten_bind_btCapsuleShapeZ___destroy___0=rt._emscripten_bind_btCapsuleShapeZ___destroy___0,So=i._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2=rt._emscripten_bind_btCapsuleShapeZ_btCapsuleShapeZ_2,wo=i._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2=rt._emscripten_bind_btCapsuleShapeZ_calculateLocalInertia_2,ko=i._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0=rt._emscripten_bind_btCapsuleShapeZ_getHalfHeight_0,Ro=i._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0=rt._emscripten_bind_btCapsuleShapeZ_getLocalScaling_0,jo=i._emscripten_bind_btCapsuleShapeZ_getMargin_0=rt._emscripten_bind_btCapsuleShapeZ_getMargin_0,Do=i._emscripten_bind_btCapsuleShapeZ_getRadius_0=rt._emscripten_bind_btCapsuleShapeZ_getRadius_0,Io=i._emscripten_bind_btCapsuleShapeZ_getUpAxis_0=rt._emscripten_bind_btCapsuleShapeZ_getUpAxis_0,Bo=i._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1=rt._emscripten_bind_btCapsuleShapeZ_setLocalScaling_1,Wo=i._emscripten_bind_btCapsuleShapeZ_setMargin_1=rt._emscripten_bind_btCapsuleShapeZ_setMargin_1,Fo=i._emscripten_bind_btCapsuleShape___destroy___0=rt._emscripten_bind_btCapsuleShape___destroy___0,xo=i._emscripten_bind_btCapsuleShape_btCapsuleShape_2=rt._emscripten_bind_btCapsuleShape_btCapsuleShape_2,Oo=i._emscripten_bind_btCapsuleShape_calculateLocalInertia_2=rt._emscripten_bind_btCapsuleShape_calculateLocalInertia_2,To=i._emscripten_bind_btCapsuleShape_getHalfHeight_0=rt._emscripten_bind_btCapsuleShape_getHalfHeight_0,Po=i._emscripten_bind_btCapsuleShape_getLocalScaling_0=rt._emscripten_bind_btCapsuleShape_getLocalScaling_0,Mo=i._emscripten_bind_btCapsuleShape_getMargin_0=rt._emscripten_bind_btCapsuleShape_getMargin_0,Vo=i._emscripten_bind_btCapsuleShape_getRadius_0=rt._emscripten_bind_btCapsuleShape_getRadius_0,Go=i._emscripten_bind_btCapsuleShape_getUpAxis_0=rt._emscripten_bind_btCapsuleShape_getUpAxis_0,No=i._emscripten_bind_btCapsuleShape_setLocalScaling_1=rt._emscripten_bind_btCapsuleShape_setLocalScaling_1,Lo=i._emscripten_bind_btCapsuleShape_setMargin_1=rt._emscripten_bind_btCapsuleShape_setMargin_1,Qo=i._emscripten_bind_btCollisionConfiguration___destroy___0=rt._emscripten_bind_btCollisionConfiguration___destroy___0,Eo=i._emscripten_bind_btCollisionDispatcher___destroy___0=rt._emscripten_bind_btCollisionDispatcher___destroy___0,Ho=i._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1=rt._emscripten_bind_btCollisionDispatcher_btCollisionDispatcher_1,Zo=i._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1=rt._emscripten_bind_btCollisionDispatcher_getManifoldByIndexInternal_1,Uo=i._emscripten_bind_btCollisionDispatcher_getNumManifolds_0=rt._emscripten_bind_btCollisionDispatcher_getNumManifolds_0,Yo=i._emscripten_bind_btCollisionObject___destroy___0=rt._emscripten_bind_btCollisionObject___destroy___0,Jo=i._emscripten_bind_btCollisionObject_activate_0=rt._emscripten_bind_btCollisionObject_activate_0,Xo=i._emscripten_bind_btCollisionObject_activate_1=rt._emscripten_bind_btCollisionObject_activate_1,zo=i._emscripten_bind_btCollisionObject_forceActivationState_1=rt._emscripten_bind_btCollisionObject_forceActivationState_1,Ko=i._emscripten_bind_btCollisionObject_getCollisionFlags_0=rt._emscripten_bind_btCollisionObject_getCollisionFlags_0,qo=i._emscripten_bind_btCollisionObject_getCollisionShape_0=rt._emscripten_bind_btCollisionObject_getCollisionShape_0,$o=i._emscripten_bind_btCollisionObject_getUserIndex_0=rt._emscripten_bind_btCollisionObject_getUserIndex_0,t_=i._emscripten_bind_btCollisionObject_getUserPointer_0=rt._emscripten_bind_btCollisionObject_getUserPointer_0,e_=i._emscripten_bind_btCollisionObject_getWorldTransform_0=rt._emscripten_bind_btCollisionObject_getWorldTransform_0,i_=i._emscripten_bind_btCollisionObject_isActive_0=rt._emscripten_bind_btCollisionObject_isActive_0,n_=i._emscripten_bind_btCollisionObject_isKinematicObject_0=rt._emscripten_bind_btCollisionObject_isKinematicObject_0,o_=i._emscripten_bind_btCollisionObject_isStaticObject_0=rt._emscripten_bind_btCollisionObject_isStaticObject_0,__=i._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0=rt._emscripten_bind_btCollisionObject_isStaticOrKinematicObject_0,r_=i._emscripten_bind_btCollisionObject_setActivationState_1=rt._emscripten_bind_btCollisionObject_setActivationState_1,s_=i._emscripten_bind_btCollisionObject_setAnisotropicFriction_2=rt._emscripten_bind_btCollisionObject_setAnisotropicFriction_2,p_=i._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1=rt._emscripten_bind_btCollisionObject_setCcdMotionThreshold_1,c_=i._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1=rt._emscripten_bind_btCollisionObject_setCcdSweptSphereRadius_1,a_=i._emscripten_bind_btCollisionObject_setCollisionFlags_1=rt._emscripten_bind_btCollisionObject_setCollisionFlags_1,l_=i._emscripten_bind_btCollisionObject_setCollisionShape_1=rt._emscripten_bind_btCollisionObject_setCollisionShape_1,d_=i._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1=rt._emscripten_bind_btCollisionObject_setContactProcessingThreshold_1,b_=i._emscripten_bind_btCollisionObject_setFriction_1=rt._emscripten_bind_btCollisionObject_setFriction_1,A_=i._emscripten_bind_btCollisionObject_setRestitution_1=rt._emscripten_bind_btCollisionObject_setRestitution_1,f_=i._emscripten_bind_btCollisionObject_setRollingFriction_1=rt._emscripten_bind_btCollisionObject_setRollingFriction_1,u_=i._emscripten_bind_btCollisionObject_setUserIndex_1=rt._emscripten_bind_btCollisionObject_setUserIndex_1,m_=i._emscripten_bind_btCollisionObject_setUserPointer_1=rt._emscripten_bind_btCollisionObject_setUserPointer_1,h_=i._emscripten_bind_btCollisionObject_setWorldTransform_1=rt._emscripten_bind_btCollisionObject_setWorldTransform_1,y_=i._emscripten_bind_btCollisionShape___destroy___0=rt._emscripten_bind_btCollisionShape___destroy___0,g_=i._emscripten_bind_btCollisionShape_calculateLocalInertia_2=rt._emscripten_bind_btCollisionShape_calculateLocalInertia_2,C_=i._emscripten_bind_btCollisionShape_getLocalScaling_0=rt._emscripten_bind_btCollisionShape_getLocalScaling_0,v_=i._emscripten_bind_btCollisionShape_getMargin_0=rt._emscripten_bind_btCollisionShape_getMargin_0,S_=i._emscripten_bind_btCollisionShape_setLocalScaling_1=rt._emscripten_bind_btCollisionShape_setLocalScaling_1,w_=i._emscripten_bind_btCollisionShape_setMargin_1=rt._emscripten_bind_btCollisionShape_setMargin_1,k_=i._emscripten_bind_btCollisionWorld___destroy___0=rt._emscripten_bind_btCollisionWorld___destroy___0,R_=i._emscripten_bind_btCollisionWorld_addCollisionObject_1=rt._emscripten_bind_btCollisionWorld_addCollisionObject_1,j_=i._emscripten_bind_btCollisionWorld_addCollisionObject_2=rt._emscripten_bind_btCollisionWorld_addCollisionObject_2,D_=i._emscripten_bind_btCollisionWorld_addCollisionObject_3=rt._emscripten_bind_btCollisionWorld_addCollisionObject_3,I_=i._emscripten_bind_btCollisionWorld_btCollisionWorld_3=rt._emscripten_bind_btCollisionWorld_btCollisionWorld_3,B_=i._emscripten_bind_btCollisionWorld_contactPairTest_3=rt._emscripten_bind_btCollisionWorld_contactPairTest_3,W_=i._emscripten_bind_btCollisionWorld_contactTest_2=rt._emscripten_bind_btCollisionWorld_contactTest_2,F_=i._emscripten_bind_btCollisionWorld_convexSweepTest_5=rt._emscripten_bind_btCollisionWorld_convexSweepTest_5,x_=i._emscripten_bind_btCollisionWorld_debugDrawObject_3=rt._emscripten_bind_btCollisionWorld_debugDrawObject_3,O_=i._emscripten_bind_btCollisionWorld_debugDrawWorld_0=rt._emscripten_bind_btCollisionWorld_debugDrawWorld_0,T_=i._emscripten_bind_btCollisionWorld_getBroadphase_0=rt._emscripten_bind_btCollisionWorld_getBroadphase_0,P_=i._emscripten_bind_btCollisionWorld_getDebugDrawer_0=rt._emscripten_bind_btCollisionWorld_getDebugDrawer_0,M_=i._emscripten_bind_btCollisionWorld_getDispatchInfo_0=rt._emscripten_bind_btCollisionWorld_getDispatchInfo_0,V_=i._emscripten_bind_btCollisionWorld_getDispatcher_0=rt._emscripten_bind_btCollisionWorld_getDispatcher_0,G_=i._emscripten_bind_btCollisionWorld_getPairCache_0=rt._emscripten_bind_btCollisionWorld_getPairCache_0,N_=i._emscripten_bind_btCollisionWorld_performDiscreteCollisionDetection_0=rt._emscripten_bind_btCollisionWorld_performDiscreteCollisionDetection_0,L_=i._emscripten_bind_btCollisionWorld_rayTest_3=rt._emscripten_bind_btCollisionWorld_rayTest_3,Q_=i._emscripten_bind_btCollisionWorld_removeCollisionObject_1=rt._emscripten_bind_btCollisionWorld_removeCollisionObject_1,E_=i._emscripten_bind_btCollisionWorld_setDebugDrawer_1=rt._emscripten_bind_btCollisionWorld_setDebugDrawer_1,H_=i._emscripten_bind_btCollisionWorld_updateSingleAabb_1=rt._emscripten_bind_btCollisionWorld_updateSingleAabb_1,Z_=i._emscripten_bind_btCompoundShape___destroy___0=rt._emscripten_bind_btCompoundShape___destroy___0,U_=i._emscripten_bind_btCompoundShape_addChildShape_2=rt._emscripten_bind_btCompoundShape_addChildShape_2,Y_=i._emscripten_bind_btCompoundShape_btCompoundShape_0=rt._emscripten_bind_btCompoundShape_btCompoundShape_0,J_=i._emscripten_bind_btCompoundShape_btCompoundShape_1=rt._emscripten_bind_btCompoundShape_btCompoundShape_1,X_=i._emscripten_bind_btCompoundShape_calculateLocalInertia_2=rt._emscripten_bind_btCompoundShape_calculateLocalInertia_2,z_=i._emscripten_bind_btCompoundShape_getChildShape_1=rt._emscripten_bind_btCompoundShape_getChildShape_1,K_=i._emscripten_bind_btCompoundShape_getLocalScaling_0=rt._emscripten_bind_btCompoundShape_getLocalScaling_0,q_=i._emscripten_bind_btCompoundShape_getMargin_0=rt._emscripten_bind_btCompoundShape_getMargin_0,$_=i._emscripten_bind_btCompoundShape_getNumChildShapes_0=rt._emscripten_bind_btCompoundShape_getNumChildShapes_0,tr=i._emscripten_bind_btCompoundShape_recalculateLocalAabb_0=rt._emscripten_bind_btCompoundShape_recalculateLocalAabb_0,er=i._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1=rt._emscripten_bind_btCompoundShape_removeChildShapeByIndex_1,ir=i._emscripten_bind_btCompoundShape_setLocalScaling_1=rt._emscripten_bind_btCompoundShape_setLocalScaling_1,nr=i._emscripten_bind_btCompoundShape_setMargin_1=rt._emscripten_bind_btCompoundShape_setMargin_1,or=i._emscripten_bind_btCompoundShape_updateChildTransform_2=rt._emscripten_bind_btCompoundShape_updateChildTransform_2,_r=i._emscripten_bind_btCompoundShape_updateChildTransform_3=rt._emscripten_bind_btCompoundShape_updateChildTransform_3,rr=i._emscripten_bind_btConcaveShape___destroy___0=rt._emscripten_bind_btConcaveShape___destroy___0,sr=i._emscripten_bind_btConcaveShape_calculateLocalInertia_2=rt._emscripten_bind_btConcaveShape_calculateLocalInertia_2,pr=i._emscripten_bind_btConcaveShape_getLocalScaling_0=rt._emscripten_bind_btConcaveShape_getLocalScaling_0,cr=i._emscripten_bind_btConcaveShape_setLocalScaling_1=rt._emscripten_bind_btConcaveShape_setLocalScaling_1,ar=i._emscripten_bind_btConeShapeX___destroy___0=rt._emscripten_bind_btConeShapeX___destroy___0,lr=i._emscripten_bind_btConeShapeX_btConeShapeX_2=rt._emscripten_bind_btConeShapeX_btConeShapeX_2,dr=i._emscripten_bind_btConeShapeX_calculateLocalInertia_2=rt._emscripten_bind_btConeShapeX_calculateLocalInertia_2,br=i._emscripten_bind_btConeShapeX_getLocalScaling_0=rt._emscripten_bind_btConeShapeX_getLocalScaling_0,Ar=i._emscripten_bind_btConeShapeX_setLocalScaling_1=rt._emscripten_bind_btConeShapeX_setLocalScaling_1,fr=i._emscripten_bind_btConeShapeZ___destroy___0=rt._emscripten_bind_btConeShapeZ___destroy___0,ur=i._emscripten_bind_btConeShapeZ_btConeShapeZ_2=rt._emscripten_bind_btConeShapeZ_btConeShapeZ_2,mr=i._emscripten_bind_btConeShapeZ_calculateLocalInertia_2=rt._emscripten_bind_btConeShapeZ_calculateLocalInertia_2,hr=i._emscripten_bind_btConeShapeZ_getLocalScaling_0=rt._emscripten_bind_btConeShapeZ_getLocalScaling_0,yr=i._emscripten_bind_btConeShapeZ_setLocalScaling_1=rt._emscripten_bind_btConeShapeZ_setLocalScaling_1,gr=i._emscripten_bind_btConeShape___destroy___0=rt._emscripten_bind_btConeShape___destroy___0,Cr=i._emscripten_bind_btConeShape_btConeShape_2=rt._emscripten_bind_btConeShape_btConeShape_2,vr=i._emscripten_bind_btConeShape_calculateLocalInertia_2=rt._emscripten_bind_btConeShape_calculateLocalInertia_2,Sr=i._emscripten_bind_btConeShape_getLocalScaling_0=rt._emscripten_bind_btConeShape_getLocalScaling_0,wr=i._emscripten_bind_btConeShape_setLocalScaling_1=rt._emscripten_bind_btConeShape_setLocalScaling_1,kr=i._emscripten_bind_btConeTwistConstraint___destroy___0=rt._emscripten_bind_btConeTwistConstraint___destroy___0,Rr=i._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2=rt._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_2,jr=i._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4=rt._emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_4,Dr=i._emscripten_bind_btConeTwistConstraint_enableFeedback_1=rt._emscripten_bind_btConeTwistConstraint_enableFeedback_1,Ir=i._emscripten_bind_btConeTwistConstraint_enableMotor_1=rt._emscripten_bind_btConeTwistConstraint_enableMotor_1,Br=i._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btConeTwistConstraint_getBreakingImpulseThreshold_0,Wr=i._emscripten_bind_btConeTwistConstraint_getParam_2=rt._emscripten_bind_btConeTwistConstraint_getParam_2,Fr=i._emscripten_bind_btConeTwistConstraint_setAngularOnly_1=rt._emscripten_bind_btConeTwistConstraint_setAngularOnly_1,xr=i._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btConeTwistConstraint_setBreakingImpulseThreshold_1,Or=i._emscripten_bind_btConeTwistConstraint_setDamping_1=rt._emscripten_bind_btConeTwistConstraint_setDamping_1,Tr=i._emscripten_bind_btConeTwistConstraint_setLimit_2=rt._emscripten_bind_btConeTwistConstraint_setLimit_2,Pr=i._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1=rt._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulseNormalized_1,Mr=i._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1=rt._emscripten_bind_btConeTwistConstraint_setMaxMotorImpulse_1,Vr=i._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1=rt._emscripten_bind_btConeTwistConstraint_setMotorTargetInConstraintSpace_1,Gr=i._emscripten_bind_btConeTwistConstraint_setMotorTarget_1=rt._emscripten_bind_btConeTwistConstraint_setMotorTarget_1,Nr=i._emscripten_bind_btConeTwistConstraint_setParam_3=rt._emscripten_bind_btConeTwistConstraint_setParam_3,Lr=i._emscripten_bind_btConstraintSetting___destroy___0=rt._emscripten_bind_btConstraintSetting___destroy___0,Qr=i._emscripten_bind_btConstraintSetting_btConstraintSetting_0=rt._emscripten_bind_btConstraintSetting_btConstraintSetting_0,Er=i._emscripten_bind_btConstraintSetting_get_m_damping_0=rt._emscripten_bind_btConstraintSetting_get_m_damping_0,Hr=i._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0=rt._emscripten_bind_btConstraintSetting_get_m_impulseClamp_0,Zr=i._emscripten_bind_btConstraintSetting_get_m_tau_0=rt._emscripten_bind_btConstraintSetting_get_m_tau_0,Ur=i._emscripten_bind_btConstraintSetting_set_m_damping_1=rt._emscripten_bind_btConstraintSetting_set_m_damping_1,Yr=i._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1=rt._emscripten_bind_btConstraintSetting_set_m_impulseClamp_1,Jr=i._emscripten_bind_btConstraintSetting_set_m_tau_1=rt._emscripten_bind_btConstraintSetting_set_m_tau_1,Xr=i._emscripten_bind_btConstraintSolver___destroy___0=rt._emscripten_bind_btConstraintSolver___destroy___0,zr=i._emscripten_bind_btContactSolverInfo___destroy___0=rt._emscripten_bind_btContactSolverInfo___destroy___0,Kr=i._emscripten_bind_btContactSolverInfo_get_m_numIterations_0=rt._emscripten_bind_btContactSolverInfo_get_m_numIterations_0,qr=i._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0=rt._emscripten_bind_btContactSolverInfo_get_m_splitImpulsePenetrationThreshold_0,$r=i._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0=rt._emscripten_bind_btContactSolverInfo_get_m_splitImpulse_0,ts=i._emscripten_bind_btContactSolverInfo_set_m_numIterations_1=rt._emscripten_bind_btContactSolverInfo_set_m_numIterations_1,es=i._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1=rt._emscripten_bind_btContactSolverInfo_set_m_splitImpulsePenetrationThreshold_1,is=i._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1=rt._emscripten_bind_btContactSolverInfo_set_m_splitImpulse_1,ns=i._emscripten_bind_btConvexHullShape___destroy___0=rt._emscripten_bind_btConvexHullShape___destroy___0,os=i._emscripten_bind_btConvexHullShape_addPoint_1=rt._emscripten_bind_btConvexHullShape_addPoint_1,_s=i._emscripten_bind_btConvexHullShape_addPoint_2=rt._emscripten_bind_btConvexHullShape_addPoint_2,rs=i._emscripten_bind_btConvexHullShape_btConvexHullShape_0=rt._emscripten_bind_btConvexHullShape_btConvexHullShape_0,ss=i._emscripten_bind_btConvexHullShape_btConvexHullShape_1=rt._emscripten_bind_btConvexHullShape_btConvexHullShape_1,ps=i._emscripten_bind_btConvexHullShape_btConvexHullShape_2=rt._emscripten_bind_btConvexHullShape_btConvexHullShape_2,cs=i._emscripten_bind_btConvexHullShape_calculateLocalInertia_2=rt._emscripten_bind_btConvexHullShape_calculateLocalInertia_2,as=i._emscripten_bind_btConvexHullShape_getConvexPolyhedron_0=rt._emscripten_bind_btConvexHullShape_getConvexPolyhedron_0,ls=i._emscripten_bind_btConvexHullShape_getLocalScaling_0=rt._emscripten_bind_btConvexHullShape_getLocalScaling_0,ds=i._emscripten_bind_btConvexHullShape_getMargin_0=rt._emscripten_bind_btConvexHullShape_getMargin_0,bs=i._emscripten_bind_btConvexHullShape_getNumVertices_0=rt._emscripten_bind_btConvexHullShape_getNumVertices_0,As=i._emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1=rt._emscripten_bind_btConvexHullShape_initializePolyhedralFeatures_1,fs=i._emscripten_bind_btConvexHullShape_recalcLocalAabb_0=rt._emscripten_bind_btConvexHullShape_recalcLocalAabb_0,us=i._emscripten_bind_btConvexHullShape_setLocalScaling_1=rt._emscripten_bind_btConvexHullShape_setLocalScaling_1,ms=i._emscripten_bind_btConvexHullShape_setMargin_1=rt._emscripten_bind_btConvexHullShape_setMargin_1,hs=i._emscripten_bind_btConvexPolyhedron___destroy___0=rt._emscripten_bind_btConvexPolyhedron___destroy___0,ys=i._emscripten_bind_btConvexPolyhedron_get_m_faces_0=rt._emscripten_bind_btConvexPolyhedron_get_m_faces_0,gs=i._emscripten_bind_btConvexPolyhedron_get_m_vertices_0=rt._emscripten_bind_btConvexPolyhedron_get_m_vertices_0,Cs=i._emscripten_bind_btConvexPolyhedron_set_m_faces_1=rt._emscripten_bind_btConvexPolyhedron_set_m_faces_1,vs=i._emscripten_bind_btConvexPolyhedron_set_m_vertices_1=rt._emscripten_bind_btConvexPolyhedron_set_m_vertices_1,Ss=i._emscripten_bind_btConvexShape___destroy___0=rt._emscripten_bind_btConvexShape___destroy___0,ws=i._emscripten_bind_btConvexShape_calculateLocalInertia_2=rt._emscripten_bind_btConvexShape_calculateLocalInertia_2,ks=i._emscripten_bind_btConvexShape_getLocalScaling_0=rt._emscripten_bind_btConvexShape_getLocalScaling_0,Rs=i._emscripten_bind_btConvexShape_getMargin_0=rt._emscripten_bind_btConvexShape_getMargin_0,js=i._emscripten_bind_btConvexShape_setLocalScaling_1=rt._emscripten_bind_btConvexShape_setLocalScaling_1,Ds=i._emscripten_bind_btConvexShape_setMargin_1=rt._emscripten_bind_btConvexShape_setMargin_1,Is=i._emscripten_bind_btConvexTriangleMeshShape___destroy___0=rt._emscripten_bind_btConvexTriangleMeshShape___destroy___0,Bs=i._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1=rt._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_1,Ws=i._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2=rt._emscripten_bind_btConvexTriangleMeshShape_btConvexTriangleMeshShape_2,Fs=i._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2=rt._emscripten_bind_btConvexTriangleMeshShape_calculateLocalInertia_2,xs=i._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0=rt._emscripten_bind_btConvexTriangleMeshShape_getLocalScaling_0,Os=i._emscripten_bind_btConvexTriangleMeshShape_getMargin_0=rt._emscripten_bind_btConvexTriangleMeshShape_getMargin_0,Ts=i._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1=rt._emscripten_bind_btConvexTriangleMeshShape_setLocalScaling_1,Ps=i._emscripten_bind_btConvexTriangleMeshShape_setMargin_1=rt._emscripten_bind_btConvexTriangleMeshShape_setMargin_1,Ms=i._emscripten_bind_btCylinderShapeX___destroy___0=rt._emscripten_bind_btCylinderShapeX___destroy___0,Vs=i._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1=rt._emscripten_bind_btCylinderShapeX_btCylinderShapeX_1,Gs=i._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2=rt._emscripten_bind_btCylinderShapeX_calculateLocalInertia_2,Ns=i._emscripten_bind_btCylinderShapeX_getLocalScaling_0=rt._emscripten_bind_btCylinderShapeX_getLocalScaling_0,Ls=i._emscripten_bind_btCylinderShapeX_getMargin_0=rt._emscripten_bind_btCylinderShapeX_getMargin_0,Qs=i._emscripten_bind_btCylinderShapeX_setLocalScaling_1=rt._emscripten_bind_btCylinderShapeX_setLocalScaling_1,Es=i._emscripten_bind_btCylinderShapeX_setMargin_1=rt._emscripten_bind_btCylinderShapeX_setMargin_1,Hs=i._emscripten_bind_btCylinderShapeZ___destroy___0=rt._emscripten_bind_btCylinderShapeZ___destroy___0,Zs=i._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1=rt._emscripten_bind_btCylinderShapeZ_btCylinderShapeZ_1,Us=i._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2=rt._emscripten_bind_btCylinderShapeZ_calculateLocalInertia_2,Ys=i._emscripten_bind_btCylinderShapeZ_getLocalScaling_0=rt._emscripten_bind_btCylinderShapeZ_getLocalScaling_0,Js=i._emscripten_bind_btCylinderShapeZ_getMargin_0=rt._emscripten_bind_btCylinderShapeZ_getMargin_0,Xs=i._emscripten_bind_btCylinderShapeZ_setLocalScaling_1=rt._emscripten_bind_btCylinderShapeZ_setLocalScaling_1,zs=i._emscripten_bind_btCylinderShapeZ_setMargin_1=rt._emscripten_bind_btCylinderShapeZ_setMargin_1,Ks=i._emscripten_bind_btCylinderShape___destroy___0=rt._emscripten_bind_btCylinderShape___destroy___0,qs=i._emscripten_bind_btCylinderShape_btCylinderShape_1=rt._emscripten_bind_btCylinderShape_btCylinderShape_1,$s=i._emscripten_bind_btCylinderShape_calculateLocalInertia_2=rt._emscripten_bind_btCylinderShape_calculateLocalInertia_2,tp=i._emscripten_bind_btCylinderShape_getLocalScaling_0=rt._emscripten_bind_btCylinderShape_getLocalScaling_0,ep=i._emscripten_bind_btCylinderShape_getMargin_0=rt._emscripten_bind_btCylinderShape_getMargin_0,ip=i._emscripten_bind_btCylinderShape_setLocalScaling_1=rt._emscripten_bind_btCylinderShape_setLocalScaling_1,np=i._emscripten_bind_btCylinderShape_setMargin_1=rt._emscripten_bind_btCylinderShape_setMargin_1,op=i._emscripten_bind_btDbvtBroadphase___destroy___0=rt._emscripten_bind_btDbvtBroadphase___destroy___0,_p=i._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0=rt._emscripten_bind_btDbvtBroadphase_btDbvtBroadphase_0,rp=i._emscripten_bind_btDefaultCollisionConfiguration___destroy___0=rt._emscripten_bind_btDefaultCollisionConfiguration___destroy___0,sp=i._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0=rt._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_0,pp=i._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1=rt._emscripten_bind_btDefaultCollisionConfiguration_btDefaultCollisionConfiguration_1,cp=i._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0=rt._emscripten_bind_btDefaultCollisionConstructionInfo___destroy___0,ap=i._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0=rt._emscripten_bind_btDefaultCollisionConstructionInfo_btDefaultCollisionConstructionInfo_0,lp=i._emscripten_bind_btDefaultMotionState___destroy___0=rt._emscripten_bind_btDefaultMotionState___destroy___0,dp=i._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0=rt._emscripten_bind_btDefaultMotionState_btDefaultMotionState_0,bp=i._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1=rt._emscripten_bind_btDefaultMotionState_btDefaultMotionState_1,Ap=i._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2=rt._emscripten_bind_btDefaultMotionState_btDefaultMotionState_2,fp=i._emscripten_bind_btDefaultMotionState_getWorldTransform_1=rt._emscripten_bind_btDefaultMotionState_getWorldTransform_1,up=i._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0=rt._emscripten_bind_btDefaultMotionState_get_m_graphicsWorldTrans_0,mp=i._emscripten_bind_btDefaultMotionState_setWorldTransform_1=rt._emscripten_bind_btDefaultMotionState_setWorldTransform_1,hp=i._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1=rt._emscripten_bind_btDefaultMotionState_set_m_graphicsWorldTrans_1,yp=i._emscripten_bind_btDefaultSoftBodySolver___destroy___0=rt._emscripten_bind_btDefaultSoftBodySolver___destroy___0,gp=i._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0=rt._emscripten_bind_btDefaultSoftBodySolver_btDefaultSoftBodySolver_0,Cp=i._emscripten_bind_btDefaultVehicleRaycaster___destroy___0=rt._emscripten_bind_btDefaultVehicleRaycaster___destroy___0,vp=i._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1=rt._emscripten_bind_btDefaultVehicleRaycaster_btDefaultVehicleRaycaster_1,Sp=i._emscripten_bind_btDefaultVehicleRaycaster_castRay_3=rt._emscripten_bind_btDefaultVehicleRaycaster_castRay_3,wp=i._emscripten_bind_btDiscreteDynamicsWorld___destroy___0=rt._emscripten_bind_btDiscreteDynamicsWorld___destroy___0,kp=i._emscripten_bind_btDiscreteDynamicsWorld_addAction_1=rt._emscripten_bind_btDiscreteDynamicsWorld_addAction_1,Rp=i._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1=rt._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_1,jp=i._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2=rt._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_2,Dp=i._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3=rt._emscripten_bind_btDiscreteDynamicsWorld_addCollisionObject_3,Ip=i._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1=rt._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_1,Bp=i._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2=rt._emscripten_bind_btDiscreteDynamicsWorld_addConstraint_2,Wp=i._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1=rt._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_1,Fp=i._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3=rt._emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_3,xp=i._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4=rt._emscripten_bind_btDiscreteDynamicsWorld_btDiscreteDynamicsWorld_4,Op=i._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3=rt._emscripten_bind_btDiscreteDynamicsWorld_contactPairTest_3,Tp=i._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2=rt._emscripten_bind_btDiscreteDynamicsWorld_contactTest_2,Pp=i._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5=rt._emscripten_bind_btDiscreteDynamicsWorld_convexSweepTest_5,Mp=i._emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3=rt._emscripten_bind_btDiscreteDynamicsWorld_debugDrawObject_3,Vp=i._emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0=rt._emscripten_bind_btDiscreteDynamicsWorld_debugDrawWorld_0,Gp=i._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getBroadphase_0,Np=i._emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getDebugDrawer_0,Lp=i._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getDispatchInfo_0,Qp=i._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getDispatcher_0,Ep=i._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getGravity_0,Hp=i._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getPairCache_0,Zp=i._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0=rt._emscripten_bind_btDiscreteDynamicsWorld_getSolverInfo_0,Up=i._emscripten_bind_btDiscreteDynamicsWorld_performDiscreteCollisionDetection_0=rt._emscripten_bind_btDiscreteDynamicsWorld_performDiscreteCollisionDetection_0,Yp=i._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3=rt._emscripten_bind_btDiscreteDynamicsWorld_rayTest_3,Jp=i._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1=rt._emscripten_bind_btDiscreteDynamicsWorld_removeAction_1,Xp=i._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1=rt._emscripten_bind_btDiscreteDynamicsWorld_removeCollisionObject_1,zp=i._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1=rt._emscripten_bind_btDiscreteDynamicsWorld_removeConstraint_1,Kp=i._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1=rt._emscripten_bind_btDiscreteDynamicsWorld_removeRigidBody_1,qp=i._emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1=rt._emscripten_bind_btDiscreteDynamicsWorld_setDebugDrawer_1,$p=i._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1=rt._emscripten_bind_btDiscreteDynamicsWorld_setGravity_1,tc=i._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1=rt._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_1,ec=i._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2=rt._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_2,ic=i._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3=rt._emscripten_bind_btDiscreteDynamicsWorld_stepSimulation_3,nc=i._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1=rt._emscripten_bind_btDiscreteDynamicsWorld_updateSingleAabb_1,oc=i._emscripten_bind_btDispatcherInfo___destroy___0=rt._emscripten_bind_btDispatcherInfo___destroy___0,_c=i._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0=rt._emscripten_bind_btDispatcherInfo_get_m_allowedCcdPenetration_0,rc=i._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0=rt._emscripten_bind_btDispatcherInfo_get_m_convexConservativeDistanceThreshold_0,sc=i._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0=rt._emscripten_bind_btDispatcherInfo_get_m_dispatchFunc_0,pc=i._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0=rt._emscripten_bind_btDispatcherInfo_get_m_enableSPU_0,cc=i._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0=rt._emscripten_bind_btDispatcherInfo_get_m_enableSatConvex_0,ac=i._emscripten_bind_btDispatcherInfo_get_m_stepCount_0=rt._emscripten_bind_btDispatcherInfo_get_m_stepCount_0,lc=i._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0=rt._emscripten_bind_btDispatcherInfo_get_m_timeOfImpact_0,dc=i._emscripten_bind_btDispatcherInfo_get_m_timeStep_0=rt._emscripten_bind_btDispatcherInfo_get_m_timeStep_0,bc=i._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0=rt._emscripten_bind_btDispatcherInfo_get_m_useContinuous_0,Ac=i._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0=rt._emscripten_bind_btDispatcherInfo_get_m_useConvexConservativeDistanceUtil_0,fc=i._emscripten_bind_btDispatcherInfo_get_m_useEpa_0=rt._emscripten_bind_btDispatcherInfo_get_m_useEpa_0,uc=i._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1=rt._emscripten_bind_btDispatcherInfo_set_m_allowedCcdPenetration_1,mc=i._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1=rt._emscripten_bind_btDispatcherInfo_set_m_convexConservativeDistanceThreshold_1,hc=i._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1=rt._emscripten_bind_btDispatcherInfo_set_m_dispatchFunc_1,yc=i._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1=rt._emscripten_bind_btDispatcherInfo_set_m_enableSPU_1,gc=i._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1=rt._emscripten_bind_btDispatcherInfo_set_m_enableSatConvex_1,Cc=i._emscripten_bind_btDispatcherInfo_set_m_stepCount_1=rt._emscripten_bind_btDispatcherInfo_set_m_stepCount_1,vc=i._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1=rt._emscripten_bind_btDispatcherInfo_set_m_timeOfImpact_1,Sc=i._emscripten_bind_btDispatcherInfo_set_m_timeStep_1=rt._emscripten_bind_btDispatcherInfo_set_m_timeStep_1,wc=i._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1=rt._emscripten_bind_btDispatcherInfo_set_m_useContinuous_1,kc=i._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1=rt._emscripten_bind_btDispatcherInfo_set_m_useConvexConservativeDistanceUtil_1,Rc=i._emscripten_bind_btDispatcherInfo_set_m_useEpa_1=rt._emscripten_bind_btDispatcherInfo_set_m_useEpa_1,jc=i._emscripten_bind_btDispatcher___destroy___0=rt._emscripten_bind_btDispatcher___destroy___0,Dc=i._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1=rt._emscripten_bind_btDispatcher_getManifoldByIndexInternal_1,Ic=i._emscripten_bind_btDispatcher_getNumManifolds_0=rt._emscripten_bind_btDispatcher_getNumManifolds_0,Bc=i._emscripten_bind_btDynamicsWorld___destroy___0=rt._emscripten_bind_btDynamicsWorld___destroy___0,Wc=i._emscripten_bind_btDynamicsWorld_addAction_1=rt._emscripten_bind_btDynamicsWorld_addAction_1,Fc=i._emscripten_bind_btDynamicsWorld_addCollisionObject_1=rt._emscripten_bind_btDynamicsWorld_addCollisionObject_1,xc=i._emscripten_bind_btDynamicsWorld_addCollisionObject_2=rt._emscripten_bind_btDynamicsWorld_addCollisionObject_2,Oc=i._emscripten_bind_btDynamicsWorld_addCollisionObject_3=rt._emscripten_bind_btDynamicsWorld_addCollisionObject_3,Tc=i._emscripten_bind_btDynamicsWorld_contactPairTest_3=rt._emscripten_bind_btDynamicsWorld_contactPairTest_3,Pc=i._emscripten_bind_btDynamicsWorld_contactTest_2=rt._emscripten_bind_btDynamicsWorld_contactTest_2,Mc=i._emscripten_bind_btDynamicsWorld_convexSweepTest_5=rt._emscripten_bind_btDynamicsWorld_convexSweepTest_5,Vc=i._emscripten_bind_btDynamicsWorld_debugDrawObject_3=rt._emscripten_bind_btDynamicsWorld_debugDrawObject_3,Gc=i._emscripten_bind_btDynamicsWorld_debugDrawWorld_0=rt._emscripten_bind_btDynamicsWorld_debugDrawWorld_0,Nc=i._emscripten_bind_btDynamicsWorld_getBroadphase_0=rt._emscripten_bind_btDynamicsWorld_getBroadphase_0,Lc=i._emscripten_bind_btDynamicsWorld_getDebugDrawer_0=rt._emscripten_bind_btDynamicsWorld_getDebugDrawer_0,Qc=i._emscripten_bind_btDynamicsWorld_getDispatchInfo_0=rt._emscripten_bind_btDynamicsWorld_getDispatchInfo_0,Ec=i._emscripten_bind_btDynamicsWorld_getDispatcher_0=rt._emscripten_bind_btDynamicsWorld_getDispatcher_0,Hc=i._emscripten_bind_btDynamicsWorld_getPairCache_0=rt._emscripten_bind_btDynamicsWorld_getPairCache_0,Zc=i._emscripten_bind_btDynamicsWorld_getSolverInfo_0=rt._emscripten_bind_btDynamicsWorld_getSolverInfo_0,Uc=i._emscripten_bind_btDynamicsWorld_performDiscreteCollisionDetection_0=rt._emscripten_bind_btDynamicsWorld_performDiscreteCollisionDetection_0,Yc=i._emscripten_bind_btDynamicsWorld_rayTest_3=rt._emscripten_bind_btDynamicsWorld_rayTest_3,Jc=i._emscripten_bind_btDynamicsWorld_removeAction_1=rt._emscripten_bind_btDynamicsWorld_removeAction_1,Xc=i._emscripten_bind_btDynamicsWorld_removeCollisionObject_1=rt._emscripten_bind_btDynamicsWorld_removeCollisionObject_1,zc=i._emscripten_bind_btDynamicsWorld_setDebugDrawer_1=rt._emscripten_bind_btDynamicsWorld_setDebugDrawer_1,Kc=i._emscripten_bind_btDynamicsWorld_updateSingleAabb_1=rt._emscripten_bind_btDynamicsWorld_updateSingleAabb_1,qc=i._emscripten_bind_btFaceArray___destroy___0=rt._emscripten_bind_btFaceArray___destroy___0,$c=i._emscripten_bind_btFaceArray_at_1=rt._emscripten_bind_btFaceArray_at_1,ta=i._emscripten_bind_btFaceArray_size_0=rt._emscripten_bind_btFaceArray_size_0,ea=i._emscripten_bind_btFace___destroy___0=rt._emscripten_bind_btFace___destroy___0,ia=i._emscripten_bind_btFace_get_m_indices_0=rt._emscripten_bind_btFace_get_m_indices_0,na=i._emscripten_bind_btFace_get_m_plane_1=rt._emscripten_bind_btFace_get_m_plane_1,oa=i._emscripten_bind_btFace_set_m_indices_1=rt._emscripten_bind_btFace_set_m_indices_1,_a=i._emscripten_bind_btFace_set_m_plane_2=rt._emscripten_bind_btFace_set_m_plane_2,ra=i._emscripten_bind_btFixedConstraint___destroy___0=rt._emscripten_bind_btFixedConstraint___destroy___0,sa=i._emscripten_bind_btFixedConstraint_btFixedConstraint_4=rt._emscripten_bind_btFixedConstraint_btFixedConstraint_4,pa=i._emscripten_bind_btFixedConstraint_enableFeedback_1=rt._emscripten_bind_btFixedConstraint_enableFeedback_1,ca=i._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btFixedConstraint_getBreakingImpulseThreshold_0,aa=i._emscripten_bind_btFixedConstraint_getParam_2=rt._emscripten_bind_btFixedConstraint_getParam_2,la=i._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btFixedConstraint_setBreakingImpulseThreshold_1,da=i._emscripten_bind_btFixedConstraint_setParam_3=rt._emscripten_bind_btFixedConstraint_setParam_3,ba=i._emscripten_bind_btGeneric6DofConstraint___destroy___0=rt._emscripten_bind_btGeneric6DofConstraint___destroy___0,Aa=i._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3=rt._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_3,fa=i._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5=rt._emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_5,ua=i._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1=rt._emscripten_bind_btGeneric6DofConstraint_enableFeedback_1,ma=i._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btGeneric6DofConstraint_getBreakingImpulseThreshold_0,ha=i._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0=rt._emscripten_bind_btGeneric6DofConstraint_getFrameOffsetA_0,ya=i._emscripten_bind_btGeneric6DofConstraint_getParam_2=rt._emscripten_bind_btGeneric6DofConstraint_getParam_2,ga=i._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1=rt._emscripten_bind_btGeneric6DofConstraint_setAngularLowerLimit_1,Ca=i._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1=rt._emscripten_bind_btGeneric6DofConstraint_setAngularUpperLimit_1,va=i._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btGeneric6DofConstraint_setBreakingImpulseThreshold_1,Sa=i._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1=rt._emscripten_bind_btGeneric6DofConstraint_setLinearLowerLimit_1,wa=i._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1=rt._emscripten_bind_btGeneric6DofConstraint_setLinearUpperLimit_1,ka=i._emscripten_bind_btGeneric6DofConstraint_setParam_3=rt._emscripten_bind_btGeneric6DofConstraint_setParam_3,Ra=i._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0=rt._emscripten_bind_btGeneric6DofSpringConstraint___destroy___0,ja=i._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3=rt._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_3,Da=i._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5=rt._emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_5,Ia=i._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1=rt._emscripten_bind_btGeneric6DofSpringConstraint_enableFeedback_1,Ba=i._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2=rt._emscripten_bind_btGeneric6DofSpringConstraint_enableSpring_2,Wa=i._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btGeneric6DofSpringConstraint_getBreakingImpulseThreshold_0,Fa=i._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0=rt._emscripten_bind_btGeneric6DofSpringConstraint_getFrameOffsetA_0,xa=i._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2=rt._emscripten_bind_btGeneric6DofSpringConstraint_getParam_2,Oa=i._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1=rt._emscripten_bind_btGeneric6DofSpringConstraint_setAngularLowerLimit_1,Ta=i._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1=rt._emscripten_bind_btGeneric6DofSpringConstraint_setAngularUpperLimit_1,Pa=i._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btGeneric6DofSpringConstraint_setBreakingImpulseThreshold_1,Ma=i._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2=rt._emscripten_bind_btGeneric6DofSpringConstraint_setDamping_2,Va=i._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1=rt._emscripten_bind_btGeneric6DofSpringConstraint_setLinearLowerLimit_1,Ga=i._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1=rt._emscripten_bind_btGeneric6DofSpringConstraint_setLinearUpperLimit_1,Na=i._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3=rt._emscripten_bind_btGeneric6DofSpringConstraint_setParam_3,La=i._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2=rt._emscripten_bind_btGeneric6DofSpringConstraint_setStiffness_2,Qa=i._emscripten_bind_btGhostObject___destroy___0=rt._emscripten_bind_btGhostObject___destroy___0,Ea=i._emscripten_bind_btGhostObject_activate_0=rt._emscripten_bind_btGhostObject_activate_0,Ha=i._emscripten_bind_btGhostObject_activate_1=rt._emscripten_bind_btGhostObject_activate_1,Za=i._emscripten_bind_btGhostObject_btGhostObject_0=rt._emscripten_bind_btGhostObject_btGhostObject_0,Ua=i._emscripten_bind_btGhostObject_forceActivationState_1=rt._emscripten_bind_btGhostObject_forceActivationState_1,Ya=i._emscripten_bind_btGhostObject_getCollisionFlags_0=rt._emscripten_bind_btGhostObject_getCollisionFlags_0,Ja=i._emscripten_bind_btGhostObject_getCollisionShape_0=rt._emscripten_bind_btGhostObject_getCollisionShape_0,Xa=i._emscripten_bind_btGhostObject_getNumOverlappingObjects_0=rt._emscripten_bind_btGhostObject_getNumOverlappingObjects_0,za=i._emscripten_bind_btGhostObject_getOverlappingObject_1=rt._emscripten_bind_btGhostObject_getOverlappingObject_1,Ka=i._emscripten_bind_btGhostObject_getUserIndex_0=rt._emscripten_bind_btGhostObject_getUserIndex_0,qa=i._emscripten_bind_btGhostObject_getUserPointer_0=rt._emscripten_bind_btGhostObject_getUserPointer_0,$a=i._emscripten_bind_btGhostObject_getWorldTransform_0=rt._emscripten_bind_btGhostObject_getWorldTransform_0,tl=i._emscripten_bind_btGhostObject_isActive_0=rt._emscripten_bind_btGhostObject_isActive_0,el=i._emscripten_bind_btGhostObject_isKinematicObject_0=rt._emscripten_bind_btGhostObject_isKinematicObject_0,il=i._emscripten_bind_btGhostObject_isStaticObject_0=rt._emscripten_bind_btGhostObject_isStaticObject_0,nl=i._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0=rt._emscripten_bind_btGhostObject_isStaticOrKinematicObject_0,ol=i._emscripten_bind_btGhostObject_setActivationState_1=rt._emscripten_bind_btGhostObject_setActivationState_1,_l=i._emscripten_bind_btGhostObject_setAnisotropicFriction_2=rt._emscripten_bind_btGhostObject_setAnisotropicFriction_2,rl=i._emscripten_bind_btGhostObject_setCcdMotionThreshold_1=rt._emscripten_bind_btGhostObject_setCcdMotionThreshold_1,sl=i._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1=rt._emscripten_bind_btGhostObject_setCcdSweptSphereRadius_1,pl=i._emscripten_bind_btGhostObject_setCollisionFlags_1=rt._emscripten_bind_btGhostObject_setCollisionFlags_1,cl=i._emscripten_bind_btGhostObject_setCollisionShape_1=rt._emscripten_bind_btGhostObject_setCollisionShape_1,al=i._emscripten_bind_btGhostObject_setContactProcessingThreshold_1=rt._emscripten_bind_btGhostObject_setContactProcessingThreshold_1,ll=i._emscripten_bind_btGhostObject_setFriction_1=rt._emscripten_bind_btGhostObject_setFriction_1,dl=i._emscripten_bind_btGhostObject_setRestitution_1=rt._emscripten_bind_btGhostObject_setRestitution_1,bl=i._emscripten_bind_btGhostObject_setRollingFriction_1=rt._emscripten_bind_btGhostObject_setRollingFriction_1,Al=i._emscripten_bind_btGhostObject_setUserIndex_1=rt._emscripten_bind_btGhostObject_setUserIndex_1,fl=i._emscripten_bind_btGhostObject_setUserPointer_1=rt._emscripten_bind_btGhostObject_setUserPointer_1,ul=i._emscripten_bind_btGhostObject_setWorldTransform_1=rt._emscripten_bind_btGhostObject_setWorldTransform_1,ml=i._emscripten_bind_btGhostPairCallback___destroy___0=rt._emscripten_bind_btGhostPairCallback___destroy___0,hl=i._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0=rt._emscripten_bind_btGhostPairCallback_btGhostPairCallback_0,yl=i._emscripten_bind_btHeightfieldTerrainShape___destroy___0=rt._emscripten_bind_btHeightfieldTerrainShape___destroy___0,gl=i._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9=rt._emscripten_bind_btHeightfieldTerrainShape_btHeightfieldTerrainShape_9,Cl=i._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2=rt._emscripten_bind_btHeightfieldTerrainShape_calculateLocalInertia_2,vl=i._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0=rt._emscripten_bind_btHeightfieldTerrainShape_getLocalScaling_0,Sl=i._emscripten_bind_btHeightfieldTerrainShape_getMargin_0=rt._emscripten_bind_btHeightfieldTerrainShape_getMargin_0,wl=i._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1=rt._emscripten_bind_btHeightfieldTerrainShape_setLocalScaling_1,kl=i._emscripten_bind_btHeightfieldTerrainShape_setMargin_1=rt._emscripten_bind_btHeightfieldTerrainShape_setMargin_1,Rl=i._emscripten_bind_btHingeConstraint___destroy___0=rt._emscripten_bind_btHingeConstraint___destroy___0,jl=i._emscripten_bind_btHingeConstraint_btHingeConstraint_2=rt._emscripten_bind_btHingeConstraint_btHingeConstraint_2,Dl=i._emscripten_bind_btHingeConstraint_btHingeConstraint_3=rt._emscripten_bind_btHingeConstraint_btHingeConstraint_3,Il=i._emscripten_bind_btHingeConstraint_btHingeConstraint_4=rt._emscripten_bind_btHingeConstraint_btHingeConstraint_4,Bl=i._emscripten_bind_btHingeConstraint_btHingeConstraint_5=rt._emscripten_bind_btHingeConstraint_btHingeConstraint_5,Wl=i._emscripten_bind_btHingeConstraint_btHingeConstraint_6=rt._emscripten_bind_btHingeConstraint_btHingeConstraint_6,Fl=i._emscripten_bind_btHingeConstraint_btHingeConstraint_7=rt._emscripten_bind_btHingeConstraint_btHingeConstraint_7,xl=i._emscripten_bind_btHingeConstraint_enableAngularMotor_3=rt._emscripten_bind_btHingeConstraint_enableAngularMotor_3,Ol=i._emscripten_bind_btHingeConstraint_enableFeedback_1=rt._emscripten_bind_btHingeConstraint_enableFeedback_1,Tl=i._emscripten_bind_btHingeConstraint_enableMotor_1=rt._emscripten_bind_btHingeConstraint_enableMotor_1,Pl=i._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btHingeConstraint_getBreakingImpulseThreshold_0,Ml=i._emscripten_bind_btHingeConstraint_getParam_2=rt._emscripten_bind_btHingeConstraint_getParam_2,Vl=i._emscripten_bind_btHingeConstraint_setAngularOnly_1=rt._emscripten_bind_btHingeConstraint_setAngularOnly_1,Gl=i._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btHingeConstraint_setBreakingImpulseThreshold_1,Nl=i._emscripten_bind_btHingeConstraint_setLimit_4=rt._emscripten_bind_btHingeConstraint_setLimit_4,Ll=i._emscripten_bind_btHingeConstraint_setLimit_5=rt._emscripten_bind_btHingeConstraint_setLimit_5,Ql=i._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1=rt._emscripten_bind_btHingeConstraint_setMaxMotorImpulse_1,El=i._emscripten_bind_btHingeConstraint_setMotorTarget_2=rt._emscripten_bind_btHingeConstraint_setMotorTarget_2,Hl=i._emscripten_bind_btHingeConstraint_setParam_3=rt._emscripten_bind_btHingeConstraint_setParam_3,Zl=i._emscripten_bind_btIDebugDraw___destroy___0=rt._emscripten_bind_btIDebugDraw___destroy___0,Ul=i._emscripten_bind_btIDebugDraw_draw3dText_2=rt._emscripten_bind_btIDebugDraw_draw3dText_2,Yl=i._emscripten_bind_btIDebugDraw_drawContactPoint_5=rt._emscripten_bind_btIDebugDraw_drawContactPoint_5,Jl=i._emscripten_bind_btIDebugDraw_drawLine_3=rt._emscripten_bind_btIDebugDraw_drawLine_3,Xl=i._emscripten_bind_btIDebugDraw_getDebugMode_0=rt._emscripten_bind_btIDebugDraw_getDebugMode_0,zl=i._emscripten_bind_btIDebugDraw_reportErrorWarning_1=rt._emscripten_bind_btIDebugDraw_reportErrorWarning_1,Kl=i._emscripten_bind_btIDebugDraw_setDebugMode_1=rt._emscripten_bind_btIDebugDraw_setDebugMode_1,ql=i._emscripten_bind_btIntArray___destroy___0=rt._emscripten_bind_btIntArray___destroy___0,$l=i._emscripten_bind_btIntArray_at_1=rt._emscripten_bind_btIntArray_at_1,td=i._emscripten_bind_btIntArray_size_0=rt._emscripten_bind_btIntArray_size_0,ed=i._emscripten_bind_btKinematicCharacterController___destroy___0=rt._emscripten_bind_btKinematicCharacterController___destroy___0,id=i._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3=rt._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_3,nd=i._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4=rt._emscripten_bind_btKinematicCharacterController_btKinematicCharacterController_4,od=i._emscripten_bind_btKinematicCharacterController_canJump_0=rt._emscripten_bind_btKinematicCharacterController_canJump_0,_d=i._emscripten_bind_btKinematicCharacterController_getGhostObject_0=rt._emscripten_bind_btKinematicCharacterController_getGhostObject_0,rd=i._emscripten_bind_btKinematicCharacterController_getGravity_0=rt._emscripten_bind_btKinematicCharacterController_getGravity_0,sd=i._emscripten_bind_btKinematicCharacterController_getMaxSlope_0=rt._emscripten_bind_btKinematicCharacterController_getMaxSlope_0,pd=i._emscripten_bind_btKinematicCharacterController_jump_0=rt._emscripten_bind_btKinematicCharacterController_jump_0,cd=i._emscripten_bind_btKinematicCharacterController_onGround_0=rt._emscripten_bind_btKinematicCharacterController_onGround_0,ad=i._emscripten_bind_btKinematicCharacterController_playerStep_2=rt._emscripten_bind_btKinematicCharacterController_playerStep_2,ld=i._emscripten_bind_btKinematicCharacterController_preStep_1=rt._emscripten_bind_btKinematicCharacterController_preStep_1,dd=i._emscripten_bind_btKinematicCharacterController_setFallSpeed_1=rt._emscripten_bind_btKinematicCharacterController_setFallSpeed_1,bd=i._emscripten_bind_btKinematicCharacterController_setGravity_1=rt._emscripten_bind_btKinematicCharacterController_setGravity_1,Ad=i._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1=rt._emscripten_bind_btKinematicCharacterController_setJumpSpeed_1,fd=i._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1=rt._emscripten_bind_btKinematicCharacterController_setMaxJumpHeight_1,ud=i._emscripten_bind_btKinematicCharacterController_setMaxSlope_1=rt._emscripten_bind_btKinematicCharacterController_setMaxSlope_1,md=i._emscripten_bind_btKinematicCharacterController_setUpAxis_1=rt._emscripten_bind_btKinematicCharacterController_setUpAxis_1,hd=i._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1=rt._emscripten_bind_btKinematicCharacterController_setUpInterpolate_1,yd=i._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1=rt._emscripten_bind_btKinematicCharacterController_setUseGhostSweepTest_1,gd=i._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2=rt._emscripten_bind_btKinematicCharacterController_setVelocityForTimeInterval_2,Cd=i._emscripten_bind_btKinematicCharacterController_setWalkDirection_1=rt._emscripten_bind_btKinematicCharacterController_setWalkDirection_1,vd=i._emscripten_bind_btKinematicCharacterController_updateAction_2=rt._emscripten_bind_btKinematicCharacterController_updateAction_2,Sd=i._emscripten_bind_btKinematicCharacterController_warp_1=rt._emscripten_bind_btKinematicCharacterController_warp_1,wd=i._emscripten_bind_btManifoldPoint___destroy___0=rt._emscripten_bind_btManifoldPoint___destroy___0,kd=i._emscripten_bind_btManifoldPoint_getAppliedImpulse_0=rt._emscripten_bind_btManifoldPoint_getAppliedImpulse_0,Rd=i._emscripten_bind_btManifoldPoint_getDistance_0=rt._emscripten_bind_btManifoldPoint_getDistance_0,jd=i._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0=rt._emscripten_bind_btManifoldPoint_getPositionWorldOnA_0,Dd=i._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0=rt._emscripten_bind_btManifoldPoint_getPositionWorldOnB_0,Id=i._emscripten_bind_btManifoldPoint_get_m_localPointA_0=rt._emscripten_bind_btManifoldPoint_get_m_localPointA_0,Bd=i._emscripten_bind_btManifoldPoint_get_m_localPointB_0=rt._emscripten_bind_btManifoldPoint_get_m_localPointB_0,Wd=i._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0=rt._emscripten_bind_btManifoldPoint_get_m_normalWorldOnB_0,Fd=i._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0=rt._emscripten_bind_btManifoldPoint_get_m_positionWorldOnA_0,xd=i._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0=rt._emscripten_bind_btManifoldPoint_get_m_positionWorldOnB_0,Od=i._emscripten_bind_btManifoldPoint_set_m_localPointA_1=rt._emscripten_bind_btManifoldPoint_set_m_localPointA_1,Td=i._emscripten_bind_btManifoldPoint_set_m_localPointB_1=rt._emscripten_bind_btManifoldPoint_set_m_localPointB_1,Pd=i._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1=rt._emscripten_bind_btManifoldPoint_set_m_normalWorldOnB_1,Md=i._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1=rt._emscripten_bind_btManifoldPoint_set_m_positionWorldOnA_1,Vd=i._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1=rt._emscripten_bind_btManifoldPoint_set_m_positionWorldOnB_1,Gd=i._emscripten_bind_btMatrix3x3___destroy___0=rt._emscripten_bind_btMatrix3x3___destroy___0,Nd=i._emscripten_bind_btMatrix3x3_getRotation_1=rt._emscripten_bind_btMatrix3x3_getRotation_1,Ld=i._emscripten_bind_btMatrix3x3_getRow_1=rt._emscripten_bind_btMatrix3x3_getRow_1,Qd=i._emscripten_bind_btMatrix3x3_setEulerZYX_3=rt._emscripten_bind_btMatrix3x3_setEulerZYX_3,Ed=i._emscripten_bind_btMatrix3x3_setValue_9=rt._emscripten_bind_btMatrix3x3_setValue_9,Hd=i._emscripten_bind_btMotionState___destroy___0=rt._emscripten_bind_btMotionState___destroy___0,Zd=i._emscripten_bind_btMotionState_getWorldTransform_1=rt._emscripten_bind_btMotionState_getWorldTransform_1,Ud=i._emscripten_bind_btMotionState_setWorldTransform_1=rt._emscripten_bind_btMotionState_setWorldTransform_1,Yd=i._emscripten_bind_btOverlappingPairCache___destroy___0=rt._emscripten_bind_btOverlappingPairCache___destroy___0,Jd=i._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1=rt._emscripten_bind_btOverlappingPairCache_setInternalGhostPairCallback_1,Xd=i._emscripten_bind_btOverlappingPairCallback___destroy___0=rt._emscripten_bind_btOverlappingPairCallback___destroy___0,zd=i._emscripten_bind_btPairCachingGhostObject___destroy___0=rt._emscripten_bind_btPairCachingGhostObject___destroy___0,Kd=i._emscripten_bind_btPairCachingGhostObject_activate_0=rt._emscripten_bind_btPairCachingGhostObject_activate_0,qd=i._emscripten_bind_btPairCachingGhostObject_activate_1=rt._emscripten_bind_btPairCachingGhostObject_activate_1,$d=i._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0=rt._emscripten_bind_btPairCachingGhostObject_btPairCachingGhostObject_0,tb=i._emscripten_bind_btPairCachingGhostObject_forceActivationState_1=rt._emscripten_bind_btPairCachingGhostObject_forceActivationState_1,eb=i._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0=rt._emscripten_bind_btPairCachingGhostObject_getCollisionFlags_0,ib=i._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0=rt._emscripten_bind_btPairCachingGhostObject_getCollisionShape_0,nb=i._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0=rt._emscripten_bind_btPairCachingGhostObject_getNumOverlappingObjects_0,ob=i._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1=rt._emscripten_bind_btPairCachingGhostObject_getOverlappingObject_1,_b=i._emscripten_bind_btPairCachingGhostObject_getUserIndex_0=rt._emscripten_bind_btPairCachingGhostObject_getUserIndex_0,rb=i._emscripten_bind_btPairCachingGhostObject_getUserPointer_0=rt._emscripten_bind_btPairCachingGhostObject_getUserPointer_0,sb=i._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0=rt._emscripten_bind_btPairCachingGhostObject_getWorldTransform_0,pb=i._emscripten_bind_btPairCachingGhostObject_isActive_0=rt._emscripten_bind_btPairCachingGhostObject_isActive_0,cb=i._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0=rt._emscripten_bind_btPairCachingGhostObject_isKinematicObject_0,ab=i._emscripten_bind_btPairCachingGhostObject_isStaticObject_0=rt._emscripten_bind_btPairCachingGhostObject_isStaticObject_0,lb=i._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0=rt._emscripten_bind_btPairCachingGhostObject_isStaticOrKinematicObject_0,db=i._emscripten_bind_btPairCachingGhostObject_setActivationState_1=rt._emscripten_bind_btPairCachingGhostObject_setActivationState_1,bb=i._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2=rt._emscripten_bind_btPairCachingGhostObject_setAnisotropicFriction_2,Ab=i._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1=rt._emscripten_bind_btPairCachingGhostObject_setCcdMotionThreshold_1,fb=i._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1=rt._emscripten_bind_btPairCachingGhostObject_setCcdSweptSphereRadius_1,ub=i._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1=rt._emscripten_bind_btPairCachingGhostObject_setCollisionFlags_1,mb=i._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1=rt._emscripten_bind_btPairCachingGhostObject_setCollisionShape_1,hb=i._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1=rt._emscripten_bind_btPairCachingGhostObject_setContactProcessingThreshold_1,yb=i._emscripten_bind_btPairCachingGhostObject_setFriction_1=rt._emscripten_bind_btPairCachingGhostObject_setFriction_1,gb=i._emscripten_bind_btPairCachingGhostObject_setRestitution_1=rt._emscripten_bind_btPairCachingGhostObject_setRestitution_1,Cb=i._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1=rt._emscripten_bind_btPairCachingGhostObject_setRollingFriction_1,vb=i._emscripten_bind_btPairCachingGhostObject_setUserIndex_1=rt._emscripten_bind_btPairCachingGhostObject_setUserIndex_1,Sb=i._emscripten_bind_btPairCachingGhostObject_setUserPointer_1=rt._emscripten_bind_btPairCachingGhostObject_setUserPointer_1,wb=i._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1=rt._emscripten_bind_btPairCachingGhostObject_setWorldTransform_1,kb=i._emscripten_bind_btPersistentManifold___destroy___0=rt._emscripten_bind_btPersistentManifold___destroy___0,Rb=i._emscripten_bind_btPersistentManifold_btPersistentManifold_0=rt._emscripten_bind_btPersistentManifold_btPersistentManifold_0,jb=i._emscripten_bind_btPersistentManifold_getBody0_0=rt._emscripten_bind_btPersistentManifold_getBody0_0,Db=i._emscripten_bind_btPersistentManifold_getBody1_0=rt._emscripten_bind_btPersistentManifold_getBody1_0,Ib=i._emscripten_bind_btPersistentManifold_getContactPoint_1=rt._emscripten_bind_btPersistentManifold_getContactPoint_1,Bb=i._emscripten_bind_btPersistentManifold_getNumContacts_0=rt._emscripten_bind_btPersistentManifold_getNumContacts_0,Wb=i._emscripten_bind_btPoint2PointConstraint___destroy___0=rt._emscripten_bind_btPoint2PointConstraint___destroy___0,Fb=i._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2=rt._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_2,xb=i._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4=rt._emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_4,Ob=i._emscripten_bind_btPoint2PointConstraint_enableFeedback_1=rt._emscripten_bind_btPoint2PointConstraint_enableFeedback_1,Tb=i._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btPoint2PointConstraint_getBreakingImpulseThreshold_0,Pb=i._emscripten_bind_btPoint2PointConstraint_getParam_2=rt._emscripten_bind_btPoint2PointConstraint_getParam_2,Mb=i._emscripten_bind_btPoint2PointConstraint_getPivotInA_0=rt._emscripten_bind_btPoint2PointConstraint_getPivotInA_0,Vb=i._emscripten_bind_btPoint2PointConstraint_getPivotInB_0=rt._emscripten_bind_btPoint2PointConstraint_getPivotInB_0,Gb=i._emscripten_bind_btPoint2PointConstraint_get_m_setting_0=rt._emscripten_bind_btPoint2PointConstraint_get_m_setting_0,Nb=i._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btPoint2PointConstraint_setBreakingImpulseThreshold_1,Lb=i._emscripten_bind_btPoint2PointConstraint_setParam_3=rt._emscripten_bind_btPoint2PointConstraint_setParam_3,Qb=i._emscripten_bind_btPoint2PointConstraint_setPivotA_1=rt._emscripten_bind_btPoint2PointConstraint_setPivotA_1,Eb=i._emscripten_bind_btPoint2PointConstraint_setPivotB_1=rt._emscripten_bind_btPoint2PointConstraint_setPivotB_1,Hb=i._emscripten_bind_btPoint2PointConstraint_set_m_setting_1=rt._emscripten_bind_btPoint2PointConstraint_set_m_setting_1,Zb=i._emscripten_bind_btQuadWord___destroy___0=rt._emscripten_bind_btQuadWord___destroy___0,Ub=i._emscripten_bind_btQuadWord_setW_1=rt._emscripten_bind_btQuadWord_setW_1,Yb=i._emscripten_bind_btQuadWord_setX_1=rt._emscripten_bind_btQuadWord_setX_1,Jb=i._emscripten_bind_btQuadWord_setY_1=rt._emscripten_bind_btQuadWord_setY_1,Xb=i._emscripten_bind_btQuadWord_setZ_1=rt._emscripten_bind_btQuadWord_setZ_1,zb=i._emscripten_bind_btQuadWord_w_0=rt._emscripten_bind_btQuadWord_w_0,Kb=i._emscripten_bind_btQuadWord_x_0=rt._emscripten_bind_btQuadWord_x_0,qb=i._emscripten_bind_btQuadWord_y_0=rt._emscripten_bind_btQuadWord_y_0,$b=i._emscripten_bind_btQuadWord_z_0=rt._emscripten_bind_btQuadWord_z_0,tA=i._emscripten_bind_btQuaternion___destroy___0=rt._emscripten_bind_btQuaternion___destroy___0,eA=i._emscripten_bind_btQuaternion_angleShortestPath_1=rt._emscripten_bind_btQuaternion_angleShortestPath_1,iA=i._emscripten_bind_btQuaternion_angle_1=rt._emscripten_bind_btQuaternion_angle_1,nA=i._emscripten_bind_btQuaternion_btQuaternion_4=rt._emscripten_bind_btQuaternion_btQuaternion_4,oA=i._emscripten_bind_btQuaternion_dot_1=rt._emscripten_bind_btQuaternion_dot_1,_A=i._emscripten_bind_btQuaternion_getAngleShortestPath_0=rt._emscripten_bind_btQuaternion_getAngleShortestPath_0,rA=i._emscripten_bind_btQuaternion_getAngle_0=rt._emscripten_bind_btQuaternion_getAngle_0,sA=i._emscripten_bind_btQuaternion_getAxis_0=rt._emscripten_bind_btQuaternion_getAxis_0,pA=i._emscripten_bind_btQuaternion_inverse_0=rt._emscripten_bind_btQuaternion_inverse_0,cA=i._emscripten_bind_btQuaternion_length2_0=rt._emscripten_bind_btQuaternion_length2_0,aA=i._emscripten_bind_btQuaternion_length_0=rt._emscripten_bind_btQuaternion_length_0,lA=i._emscripten_bind_btQuaternion_normalize_0=rt._emscripten_bind_btQuaternion_normalize_0,dA=i._emscripten_bind_btQuaternion_normalized_0=rt._emscripten_bind_btQuaternion_normalized_0,bA=i._emscripten_bind_btQuaternion_op_add_1=rt._emscripten_bind_btQuaternion_op_add_1,AA=i._emscripten_bind_btQuaternion_op_div_1=rt._emscripten_bind_btQuaternion_op_div_1,fA=i._emscripten_bind_btQuaternion_op_mul_1=rt._emscripten_bind_btQuaternion_op_mul_1,uA=i._emscripten_bind_btQuaternion_op_mulq_1=rt._emscripten_bind_btQuaternion_op_mulq_1,mA=i._emscripten_bind_btQuaternion_op_sub_1=rt._emscripten_bind_btQuaternion_op_sub_1,hA=i._emscripten_bind_btQuaternion_setEulerZYX_3=rt._emscripten_bind_btQuaternion_setEulerZYX_3,yA=i._emscripten_bind_btQuaternion_setRotation_2=rt._emscripten_bind_btQuaternion_setRotation_2,gA=i._emscripten_bind_btQuaternion_setValue_4=rt._emscripten_bind_btQuaternion_setValue_4,CA=i._emscripten_bind_btQuaternion_setW_1=rt._emscripten_bind_btQuaternion_setW_1,vA=i._emscripten_bind_btQuaternion_setX_1=rt._emscripten_bind_btQuaternion_setX_1,SA=i._emscripten_bind_btQuaternion_setY_1=rt._emscripten_bind_btQuaternion_setY_1,wA=i._emscripten_bind_btQuaternion_setZ_1=rt._emscripten_bind_btQuaternion_setZ_1,kA=i._emscripten_bind_btQuaternion_w_0=rt._emscripten_bind_btQuaternion_w_0,RA=i._emscripten_bind_btQuaternion_x_0=rt._emscripten_bind_btQuaternion_x_0,jA=i._emscripten_bind_btQuaternion_y_0=rt._emscripten_bind_btQuaternion_y_0,DA=i._emscripten_bind_btQuaternion_z_0=rt._emscripten_bind_btQuaternion_z_0,IA=i._emscripten_bind_btRaycastVehicle___destroy___0=rt._emscripten_bind_btRaycastVehicle___destroy___0,BA=i._emscripten_bind_btRaycastVehicle_addWheel_7=rt._emscripten_bind_btRaycastVehicle_addWheel_7,WA=i._emscripten_bind_btRaycastVehicle_applyEngineForce_2=rt._emscripten_bind_btRaycastVehicle_applyEngineForce_2,FA=i._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3=rt._emscripten_bind_btRaycastVehicle_btRaycastVehicle_3,xA=i._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0=rt._emscripten_bind_btRaycastVehicle_getChassisWorldTransform_0,OA=i._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0=rt._emscripten_bind_btRaycastVehicle_getCurrentSpeedKmHour_0,TA=i._emscripten_bind_btRaycastVehicle_getForwardAxis_0=rt._emscripten_bind_btRaycastVehicle_getForwardAxis_0,PA=i._emscripten_bind_btRaycastVehicle_getForwardVector_0=rt._emscripten_bind_btRaycastVehicle_getForwardVector_0,MA=i._emscripten_bind_btRaycastVehicle_getNumWheels_0=rt._emscripten_bind_btRaycastVehicle_getNumWheels_0,VA=i._emscripten_bind_btRaycastVehicle_getRightAxis_0=rt._emscripten_bind_btRaycastVehicle_getRightAxis_0,GA=i._emscripten_bind_btRaycastVehicle_getRigidBody_0=rt._emscripten_bind_btRaycastVehicle_getRigidBody_0,NA=i._emscripten_bind_btRaycastVehicle_getSteeringValue_1=rt._emscripten_bind_btRaycastVehicle_getSteeringValue_1,LA=i._emscripten_bind_btRaycastVehicle_getUpAxis_0=rt._emscripten_bind_btRaycastVehicle_getUpAxis_0,QA=i._emscripten_bind_btRaycastVehicle_getUserConstraintId_0=rt._emscripten_bind_btRaycastVehicle_getUserConstraintId_0,EA=i._emscripten_bind_btRaycastVehicle_getUserConstraintType_0=rt._emscripten_bind_btRaycastVehicle_getUserConstraintType_0,HA=i._emscripten_bind_btRaycastVehicle_getWheelInfo_1=rt._emscripten_bind_btRaycastVehicle_getWheelInfo_1,ZA=i._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1=rt._emscripten_bind_btRaycastVehicle_getWheelTransformWS_1,UA=i._emscripten_bind_btRaycastVehicle_rayCast_1=rt._emscripten_bind_btRaycastVehicle_rayCast_1,YA=i._emscripten_bind_btRaycastVehicle_resetSuspension_0=rt._emscripten_bind_btRaycastVehicle_resetSuspension_0,JA=i._emscripten_bind_btRaycastVehicle_setBrake_2=rt._emscripten_bind_btRaycastVehicle_setBrake_2,XA=i._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3=rt._emscripten_bind_btRaycastVehicle_setCoordinateSystem_3,zA=i._emscripten_bind_btRaycastVehicle_setPitchControl_1=rt._emscripten_bind_btRaycastVehicle_setPitchControl_1,KA=i._emscripten_bind_btRaycastVehicle_setSteeringValue_2=rt._emscripten_bind_btRaycastVehicle_setSteeringValue_2,qA=i._emscripten_bind_btRaycastVehicle_setUserConstraintId_1=rt._emscripten_bind_btRaycastVehicle_setUserConstraintId_1,$A=i._emscripten_bind_btRaycastVehicle_setUserConstraintType_1=rt._emscripten_bind_btRaycastVehicle_setUserConstraintType_1,tf=i._emscripten_bind_btRaycastVehicle_updateAction_2=rt._emscripten_bind_btRaycastVehicle_updateAction_2,ef=i._emscripten_bind_btRaycastVehicle_updateFriction_1=rt._emscripten_bind_btRaycastVehicle_updateFriction_1,nf=i._emscripten_bind_btRaycastVehicle_updateSuspension_1=rt._emscripten_bind_btRaycastVehicle_updateSuspension_1,of=i._emscripten_bind_btRaycastVehicle_updateVehicle_1=rt._emscripten_bind_btRaycastVehicle_updateVehicle_1,_f=i._emscripten_bind_btRaycastVehicle_updateWheelTransform_2=rt._emscripten_bind_btRaycastVehicle_updateWheelTransform_2,rf=i._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1=rt._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_1,sf=i._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2=rt._emscripten_bind_btRaycastVehicle_updateWheelTransformsWS_2,pf=i._emscripten_bind_btRigidBodyConstructionInfo___destroy___0=rt._emscripten_bind_btRigidBodyConstructionInfo___destroy___0,cf=i._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3=rt._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_3,af=i._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4=rt._emscripten_bind_btRigidBodyConstructionInfo_btRigidBodyConstructionInfo_4,lf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingFactor_0,df=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalAngularDampingThresholdSqr_0,bf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDampingFactor_0,Af=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalDamping_0,ff=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_additionalLinearDampingThresholdSqr_0,uf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularDamping_0,mf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_angularSleepingThreshold_0,hf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_friction_0,yf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearDamping_0,gf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_linearSleepingThreshold_0,Cf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_restitution_0,vf=i._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0=rt._emscripten_bind_btRigidBodyConstructionInfo_get_m_rollingFriction_0,Sf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingFactor_1,wf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalAngularDampingThresholdSqr_1,kf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDampingFactor_1,Rf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalDamping_1,jf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_additionalLinearDampingThresholdSqr_1,Df=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularDamping_1,If=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_angularSleepingThreshold_1,Bf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_friction_1,Wf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearDamping_1,Ff=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_linearSleepingThreshold_1,xf=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_restitution_1,Of=i._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1=rt._emscripten_bind_btRigidBodyConstructionInfo_set_m_rollingFriction_1,Tf=i._emscripten_bind_btRigidBody___destroy___0=rt._emscripten_bind_btRigidBody___destroy___0,Pf=i._emscripten_bind_btRigidBody_activate_0=rt._emscripten_bind_btRigidBody_activate_0,Mf=i._emscripten_bind_btRigidBody_activate_1=rt._emscripten_bind_btRigidBody_activate_1,Vf=i._emscripten_bind_btRigidBody_applyCentralForce_1=rt._emscripten_bind_btRigidBody_applyCentralForce_1,Gf=i._emscripten_bind_btRigidBody_applyCentralImpulse_1=rt._emscripten_bind_btRigidBody_applyCentralImpulse_1,Nf=i._emscripten_bind_btRigidBody_applyCentralLocalForce_1=rt._emscripten_bind_btRigidBody_applyCentralLocalForce_1,Lf=i._emscripten_bind_btRigidBody_applyForce_2=rt._emscripten_bind_btRigidBody_applyForce_2,Qf=i._emscripten_bind_btRigidBody_applyGravity_0=rt._emscripten_bind_btRigidBody_applyGravity_0,Ef=i._emscripten_bind_btRigidBody_applyImpulse_2=rt._emscripten_bind_btRigidBody_applyImpulse_2,Hf=i._emscripten_bind_btRigidBody_applyLocalTorque_1=rt._emscripten_bind_btRigidBody_applyLocalTorque_1,Zf=i._emscripten_bind_btRigidBody_applyTorqueImpulse_1=rt._emscripten_bind_btRigidBody_applyTorqueImpulse_1,Uf=i._emscripten_bind_btRigidBody_applyTorque_1=rt._emscripten_bind_btRigidBody_applyTorque_1,Yf=i._emscripten_bind_btRigidBody_btRigidBody_1=rt._emscripten_bind_btRigidBody_btRigidBody_1,Jf=i._emscripten_bind_btRigidBody_forceActivationState_1=rt._emscripten_bind_btRigidBody_forceActivationState_1,Xf=i._emscripten_bind_btRigidBody_getAabb_2=rt._emscripten_bind_btRigidBody_getAabb_2,zf=i._emscripten_bind_btRigidBody_getAngularVelocity_0=rt._emscripten_bind_btRigidBody_getAngularVelocity_0,Kf=i._emscripten_bind_btRigidBody_getBroadphaseProxy_0=rt._emscripten_bind_btRigidBody_getBroadphaseProxy_0,qf=i._emscripten_bind_btRigidBody_getCenterOfMassTransform_0=rt._emscripten_bind_btRigidBody_getCenterOfMassTransform_0,$f=i._emscripten_bind_btRigidBody_getCollisionFlags_0=rt._emscripten_bind_btRigidBody_getCollisionFlags_0,tu=i._emscripten_bind_btRigidBody_getCollisionShape_0=rt._emscripten_bind_btRigidBody_getCollisionShape_0,eu=i._emscripten_bind_btRigidBody_getGravity_0=rt._emscripten_bind_btRigidBody_getGravity_0,iu=i._emscripten_bind_btRigidBody_getLinearVelocity_0=rt._emscripten_bind_btRigidBody_getLinearVelocity_0,nu=i._emscripten_bind_btRigidBody_getMotionState_0=rt._emscripten_bind_btRigidBody_getMotionState_0,ou=i._emscripten_bind_btRigidBody_getUserIndex_0=rt._emscripten_bind_btRigidBody_getUserIndex_0,_u=i._emscripten_bind_btRigidBody_getUserPointer_0=rt._emscripten_bind_btRigidBody_getUserPointer_0,ru=i._emscripten_bind_btRigidBody_getWorldTransform_0=rt._emscripten_bind_btRigidBody_getWorldTransform_0,su=i._emscripten_bind_btRigidBody_isActive_0=rt._emscripten_bind_btRigidBody_isActive_0,pu=i._emscripten_bind_btRigidBody_isKinematicObject_0=rt._emscripten_bind_btRigidBody_isKinematicObject_0,cu=i._emscripten_bind_btRigidBody_isStaticObject_0=rt._emscripten_bind_btRigidBody_isStaticObject_0,au=i._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0=rt._emscripten_bind_btRigidBody_isStaticOrKinematicObject_0,lu=i._emscripten_bind_btRigidBody_setActivationState_1=rt._emscripten_bind_btRigidBody_setActivationState_1,du=i._emscripten_bind_btRigidBody_setAngularFactor_1=rt._emscripten_bind_btRigidBody_setAngularFactor_1,bu=i._emscripten_bind_btRigidBody_setAngularVelocity_1=rt._emscripten_bind_btRigidBody_setAngularVelocity_1,Au=i._emscripten_bind_btRigidBody_setAnisotropicFriction_2=rt._emscripten_bind_btRigidBody_setAnisotropicFriction_2,fu=i._emscripten_bind_btRigidBody_setCcdMotionThreshold_1=rt._emscripten_bind_btRigidBody_setCcdMotionThreshold_1,uu=i._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1=rt._emscripten_bind_btRigidBody_setCcdSweptSphereRadius_1,mu=i._emscripten_bind_btRigidBody_setCenterOfMassTransform_1=rt._emscripten_bind_btRigidBody_setCenterOfMassTransform_1,hu=i._emscripten_bind_btRigidBody_setCollisionFlags_1=rt._emscripten_bind_btRigidBody_setCollisionFlags_1,yu=i._emscripten_bind_btRigidBody_setCollisionShape_1=rt._emscripten_bind_btRigidBody_setCollisionShape_1,gu=i._emscripten_bind_btRigidBody_setContactProcessingThreshold_1=rt._emscripten_bind_btRigidBody_setContactProcessingThreshold_1,Cu=i._emscripten_bind_btRigidBody_setDamping_2=rt._emscripten_bind_btRigidBody_setDamping_2,vu=i._emscripten_bind_btRigidBody_setFriction_1=rt._emscripten_bind_btRigidBody_setFriction_1,Su=i._emscripten_bind_btRigidBody_setGravity_1=rt._emscripten_bind_btRigidBody_setGravity_1,wu=i._emscripten_bind_btRigidBody_setLinearFactor_1=rt._emscripten_bind_btRigidBody_setLinearFactor_1,ku=i._emscripten_bind_btRigidBody_setLinearVelocity_1=rt._emscripten_bind_btRigidBody_setLinearVelocity_1,Ru=i._emscripten_bind_btRigidBody_setMassProps_2=rt._emscripten_bind_btRigidBody_setMassProps_2,ju=i._emscripten_bind_btRigidBody_setMotionState_1=rt._emscripten_bind_btRigidBody_setMotionState_1,Du=i._emscripten_bind_btRigidBody_setRestitution_1=rt._emscripten_bind_btRigidBody_setRestitution_1,Iu=i._emscripten_bind_btRigidBody_setRollingFriction_1=rt._emscripten_bind_btRigidBody_setRollingFriction_1,Bu=i._emscripten_bind_btRigidBody_setSleepingThresholds_2=rt._emscripten_bind_btRigidBody_setSleepingThresholds_2,Wu=i._emscripten_bind_btRigidBody_setUserIndex_1=rt._emscripten_bind_btRigidBody_setUserIndex_1,Fu=i._emscripten_bind_btRigidBody_setUserPointer_1=rt._emscripten_bind_btRigidBody_setUserPointer_1,xu=i._emscripten_bind_btRigidBody_setWorldTransform_1=rt._emscripten_bind_btRigidBody_setWorldTransform_1,Ou=i._emscripten_bind_btRigidBody_upcast_1=rt._emscripten_bind_btRigidBody_upcast_1,Tu=i._emscripten_bind_btRigidBody_updateInertiaTensor_0=rt._emscripten_bind_btRigidBody_updateInertiaTensor_0,Pu=i._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0=rt._emscripten_bind_btSequentialImpulseConstraintSolver___destroy___0,Mu=i._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0=rt._emscripten_bind_btSequentialImpulseConstraintSolver_btSequentialImpulseConstraintSolver_0,Vu=i._emscripten_bind_btShapeHull___destroy___0=rt._emscripten_bind_btShapeHull___destroy___0,Gu=i._emscripten_bind_btShapeHull_btShapeHull_1=rt._emscripten_bind_btShapeHull_btShapeHull_1,Nu=i._emscripten_bind_btShapeHull_buildHull_1=rt._emscripten_bind_btShapeHull_buildHull_1,Lu=i._emscripten_bind_btShapeHull_getVertexPointer_0=rt._emscripten_bind_btShapeHull_getVertexPointer_0,Qu=i._emscripten_bind_btShapeHull_numVertices_0=rt._emscripten_bind_btShapeHull_numVertices_0,Eu=i._emscripten_bind_btSliderConstraint___destroy___0=rt._emscripten_bind_btSliderConstraint___destroy___0,Hu=i._emscripten_bind_btSliderConstraint_btSliderConstraint_3=rt._emscripten_bind_btSliderConstraint_btSliderConstraint_3,Zu=i._emscripten_bind_btSliderConstraint_btSliderConstraint_5=rt._emscripten_bind_btSliderConstraint_btSliderConstraint_5,Uu=i._emscripten_bind_btSliderConstraint_enableFeedback_1=rt._emscripten_bind_btSliderConstraint_enableFeedback_1,Yu=i._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btSliderConstraint_getBreakingImpulseThreshold_0,Ju=i._emscripten_bind_btSliderConstraint_getParam_2=rt._emscripten_bind_btSliderConstraint_getParam_2,Xu=i._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btSliderConstraint_setBreakingImpulseThreshold_1,zu=i._emscripten_bind_btSliderConstraint_setLowerAngLimit_1=rt._emscripten_bind_btSliderConstraint_setLowerAngLimit_1,Ku=i._emscripten_bind_btSliderConstraint_setLowerLinLimit_1=rt._emscripten_bind_btSliderConstraint_setLowerLinLimit_1,qu=i._emscripten_bind_btSliderConstraint_setParam_3=rt._emscripten_bind_btSliderConstraint_setParam_3,$u=i._emscripten_bind_btSliderConstraint_setUpperAngLimit_1=rt._emscripten_bind_btSliderConstraint_setUpperAngLimit_1,tm=i._emscripten_bind_btSliderConstraint_setUpperLinLimit_1=rt._emscripten_bind_btSliderConstraint_setUpperLinLimit_1,em=i._emscripten_bind_btSoftBodyArray___destroy___0=rt._emscripten_bind_btSoftBodyArray___destroy___0,im=i._emscripten_bind_btSoftBodyArray_at_1=rt._emscripten_bind_btSoftBodyArray_at_1,nm=i._emscripten_bind_btSoftBodyArray_size_0=rt._emscripten_bind_btSoftBodyArray_size_0,om=i._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4=rt._emscripten_bind_btSoftBodyHelpers_CreateEllipsoid_4,_m=i._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4=rt._emscripten_bind_btSoftBodyHelpers_CreateFromConvexHull_4,rm=i._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5=rt._emscripten_bind_btSoftBodyHelpers_CreateFromTriMesh_5,sm=i._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10=rt._emscripten_bind_btSoftBodyHelpers_CreatePatchUV_10,pm=i._emscripten_bind_btSoftBodyHelpers_CreatePatch_9=rt._emscripten_bind_btSoftBodyHelpers_CreatePatch_9,cm=i._emscripten_bind_btSoftBodyHelpers_CreateRope_5=rt._emscripten_bind_btSoftBodyHelpers_CreateRope_5,am=i._emscripten_bind_btSoftBodyHelpers___destroy___0=rt._emscripten_bind_btSoftBodyHelpers___destroy___0,lm=i._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0=rt._emscripten_bind_btSoftBodyHelpers_btSoftBodyHelpers_0,dm=i._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0=rt._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration___destroy___0,bm=i._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0=rt._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_0,Am=i._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1=rt._emscripten_bind_btSoftBodyRigidBodyCollisionConfiguration_btSoftBodyRigidBodyCollisionConfiguration_1,fm=i._emscripten_bind_btSoftBodySolver___destroy___0=rt._emscripten_bind_btSoftBodySolver___destroy___0,um=i._emscripten_bind_btSoftBodyWorldInfo___destroy___0=rt._emscripten_bind_btSoftBodyWorldInfo___destroy___0,mm=i._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0=rt._emscripten_bind_btSoftBodyWorldInfo_btSoftBodyWorldInfo_0,hm=i._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_air_density_0,ym=i._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_m_broadphase_0,gm=i._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_m_dispatcher_0,Cm=i._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_m_gravity_0,vm=i._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_m_maxDisplacement_0,Sm=i._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_water_density_0,wm=i._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_water_normal_0,km=i._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0=rt._emscripten_bind_btSoftBodyWorldInfo_get_water_offset_0,Rm=i._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_air_density_1,jm=i._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_m_broadphase_1,Dm=i._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_m_dispatcher_1,Im=i._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_m_gravity_1,Bm=i._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_m_maxDisplacement_1,Wm=i._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_water_density_1,Fm=i._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_water_normal_1,xm=i._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1=rt._emscripten_bind_btSoftBodyWorldInfo_set_water_offset_1,Om=i._emscripten_bind_btSoftBody___destroy___0=rt._emscripten_bind_btSoftBody___destroy___0,Tm=i._emscripten_bind_btSoftBody_activate_0=rt._emscripten_bind_btSoftBody_activate_0,Pm=i._emscripten_bind_btSoftBody_activate_1=rt._emscripten_bind_btSoftBody_activate_1,Mm=i._emscripten_bind_btSoftBody_addAeroForceToNode_2=rt._emscripten_bind_btSoftBody_addAeroForceToNode_2,Vm=i._emscripten_bind_btSoftBody_addForce_1=rt._emscripten_bind_btSoftBody_addForce_1,Gm=i._emscripten_bind_btSoftBody_addForce_2=rt._emscripten_bind_btSoftBody_addForce_2,Nm=i._emscripten_bind_btSoftBody_appendAnchor_4=rt._emscripten_bind_btSoftBody_appendAnchor_4,Lm=i._emscripten_bind_btSoftBody_appendFace_4=rt._emscripten_bind_btSoftBody_appendFace_4,Qm=i._emscripten_bind_btSoftBody_appendLink_4=rt._emscripten_bind_btSoftBody_appendLink_4,Em=i._emscripten_bind_btSoftBody_appendMaterial_0=rt._emscripten_bind_btSoftBody_appendMaterial_0,Hm=i._emscripten_bind_btSoftBody_appendNode_2=rt._emscripten_bind_btSoftBody_appendNode_2,Zm=i._emscripten_bind_btSoftBody_appendTetra_5=rt._emscripten_bind_btSoftBody_appendTetra_5,Um=i._emscripten_bind_btSoftBody_btSoftBody_4=rt._emscripten_bind_btSoftBody_btSoftBody_4,Ym=i._emscripten_bind_btSoftBody_checkFace_3=rt._emscripten_bind_btSoftBody_checkFace_3,Jm=i._emscripten_bind_btSoftBody_checkLink_2=rt._emscripten_bind_btSoftBody_checkLink_2,Xm=i._emscripten_bind_btSoftBody_forceActivationState_1=rt._emscripten_bind_btSoftBody_forceActivationState_1,zm=i._emscripten_bind_btSoftBody_generateBendingConstraints_2=rt._emscripten_bind_btSoftBody_generateBendingConstraints_2,Km=i._emscripten_bind_btSoftBody_generateClusters_1=rt._emscripten_bind_btSoftBody_generateClusters_1,qm=i._emscripten_bind_btSoftBody_generateClusters_2=rt._emscripten_bind_btSoftBody_generateClusters_2,$m=i._emscripten_bind_btSoftBody_getCollisionFlags_0=rt._emscripten_bind_btSoftBody_getCollisionFlags_0,th=i._emscripten_bind_btSoftBody_getCollisionShape_0=rt._emscripten_bind_btSoftBody_getCollisionShape_0,eh=i._emscripten_bind_btSoftBody_getTotalMass_0=rt._emscripten_bind_btSoftBody_getTotalMass_0,ih=i._emscripten_bind_btSoftBody_getUserIndex_0=rt._emscripten_bind_btSoftBody_getUserIndex_0,nh=i._emscripten_bind_btSoftBody_getUserPointer_0=rt._emscripten_bind_btSoftBody_getUserPointer_0,oh=i._emscripten_bind_btSoftBody_getWorldTransform_0=rt._emscripten_bind_btSoftBody_getWorldTransform_0,_h=i._emscripten_bind_btSoftBody_get_m_anchors_0=rt._emscripten_bind_btSoftBody_get_m_anchors_0,rh=i._emscripten_bind_btSoftBody_get_m_cfg_0=rt._emscripten_bind_btSoftBody_get_m_cfg_0,sh=i._emscripten_bind_btSoftBody_get_m_materials_0=rt._emscripten_bind_btSoftBody_get_m_materials_0,ph=i._emscripten_bind_btSoftBody_get_m_nodes_0=rt._emscripten_bind_btSoftBody_get_m_nodes_0,ch=i._emscripten_bind_btSoftBody_isActive_0=rt._emscripten_bind_btSoftBody_isActive_0,ah=i._emscripten_bind_btSoftBody_isKinematicObject_0=rt._emscripten_bind_btSoftBody_isKinematicObject_0,lh=i._emscripten_bind_btSoftBody_isStaticObject_0=rt._emscripten_bind_btSoftBody_isStaticObject_0,dh=i._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0=rt._emscripten_bind_btSoftBody_isStaticOrKinematicObject_0,bh=i._emscripten_bind_btSoftBody_rotate_1=rt._emscripten_bind_btSoftBody_rotate_1,Ah=i._emscripten_bind_btSoftBody_scale_1=rt._emscripten_bind_btSoftBody_scale_1,fh=i._emscripten_bind_btSoftBody_setActivationState_1=rt._emscripten_bind_btSoftBody_setActivationState_1,uh=i._emscripten_bind_btSoftBody_setAnisotropicFriction_2=rt._emscripten_bind_btSoftBody_setAnisotropicFriction_2,mh=i._emscripten_bind_btSoftBody_setCcdMotionThreshold_1=rt._emscripten_bind_btSoftBody_setCcdMotionThreshold_1,hh=i._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1=rt._emscripten_bind_btSoftBody_setCcdSweptSphereRadius_1,yh=i._emscripten_bind_btSoftBody_setCollisionFlags_1=rt._emscripten_bind_btSoftBody_setCollisionFlags_1,gh=i._emscripten_bind_btSoftBody_setCollisionShape_1=rt._emscripten_bind_btSoftBody_setCollisionShape_1,Ch=i._emscripten_bind_btSoftBody_setContactProcessingThreshold_1=rt._emscripten_bind_btSoftBody_setContactProcessingThreshold_1,vh=i._emscripten_bind_btSoftBody_setFriction_1=rt._emscripten_bind_btSoftBody_setFriction_1,Sh=i._emscripten_bind_btSoftBody_setMass_2=rt._emscripten_bind_btSoftBody_setMass_2,wh=i._emscripten_bind_btSoftBody_setRestitution_1=rt._emscripten_bind_btSoftBody_setRestitution_1,kh=i._emscripten_bind_btSoftBody_setRollingFriction_1=rt._emscripten_bind_btSoftBody_setRollingFriction_1,Rh=i._emscripten_bind_btSoftBody_setTotalMass_2=rt._emscripten_bind_btSoftBody_setTotalMass_2,jh=i._emscripten_bind_btSoftBody_setUserIndex_1=rt._emscripten_bind_btSoftBody_setUserIndex_1,Dh=i._emscripten_bind_btSoftBody_setUserPointer_1=rt._emscripten_bind_btSoftBody_setUserPointer_1,Ih=i._emscripten_bind_btSoftBody_setWorldTransform_1=rt._emscripten_bind_btSoftBody_setWorldTransform_1,Bh=i._emscripten_bind_btSoftBody_set_m_anchors_1=rt._emscripten_bind_btSoftBody_set_m_anchors_1,Wh=i._emscripten_bind_btSoftBody_set_m_cfg_1=rt._emscripten_bind_btSoftBody_set_m_cfg_1,Fh=i._emscripten_bind_btSoftBody_set_m_materials_1=rt._emscripten_bind_btSoftBody_set_m_materials_1,xh=i._emscripten_bind_btSoftBody_set_m_nodes_1=rt._emscripten_bind_btSoftBody_set_m_nodes_1,Oh=i._emscripten_bind_btSoftBody_transform_1=rt._emscripten_bind_btSoftBody_transform_1,Th=i._emscripten_bind_btSoftBody_translate_1=rt._emscripten_bind_btSoftBody_translate_1,Ph=i._emscripten_bind_btSoftBody_upcast_1=rt._emscripten_bind_btSoftBody_upcast_1,Mh=i._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0=rt._emscripten_bind_btSoftRigidDynamicsWorld___destroy___0,Vh=i._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_addAction_1,Gh=i._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_1,Nh=i._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2=rt._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_2,Lh=i._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_addCollisionObject_3,Qh=i._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_1,Eh=i._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2=rt._emscripten_bind_btSoftRigidDynamicsWorld_addConstraint_2,Hh=i._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_1,Zh=i._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_3,Uh=i._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_addSoftBody_3,Yh=i._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5=rt._emscripten_bind_btSoftRigidDynamicsWorld_btSoftRigidDynamicsWorld_5,Jh=i._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_contactPairTest_3,Xh=i._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2=rt._emscripten_bind_btSoftRigidDynamicsWorld_contactTest_2,zh=i._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5=rt._emscripten_bind_btSoftRigidDynamicsWorld_convexSweepTest_5,Kh=i._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawObject_3,qh=i._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_debugDrawWorld_0,$h=i._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getBroadphase_0,ty=i._emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getDebugDrawer_0,ey=i._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getDispatchInfo_0,iy=i._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getDispatcher_0,ny=i._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getGravity_0,oy=i._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getPairCache_0,_y=i._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getSoftBodyArray_0,ry=i._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getSolverInfo_0,sy=i._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_getWorldInfo_0,py=i._emscripten_bind_btSoftRigidDynamicsWorld_performDiscreteCollisionDetection_0=rt._emscripten_bind_btSoftRigidDynamicsWorld_performDiscreteCollisionDetection_0,cy=i._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_rayTest_3,ay=i._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_removeAction_1,ly=i._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_removeCollisionObject_1,dy=i._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_removeConstraint_1,by=i._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_removeRigidBody_1,Ay=i._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_removeSoftBody_1,fy=i._emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_setDebugDrawer_1,uy=i._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_setGravity_1,my=i._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_1,hy=i._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2=rt._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_2,yy=i._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3=rt._emscripten_bind_btSoftRigidDynamicsWorld_stepSimulation_3,gy=i._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1=rt._emscripten_bind_btSoftRigidDynamicsWorld_updateSingleAabb_1,Cy=i._emscripten_bind_btSphereShape___destroy___0=rt._emscripten_bind_btSphereShape___destroy___0,vy=i._emscripten_bind_btSphereShape_btSphereShape_1=rt._emscripten_bind_btSphereShape_btSphereShape_1,Sy=i._emscripten_bind_btSphereShape_calculateLocalInertia_2=rt._emscripten_bind_btSphereShape_calculateLocalInertia_2,wy=i._emscripten_bind_btSphereShape_getLocalScaling_0=rt._emscripten_bind_btSphereShape_getLocalScaling_0,ky=i._emscripten_bind_btSphereShape_getMargin_0=rt._emscripten_bind_btSphereShape_getMargin_0,Ry=i._emscripten_bind_btSphereShape_setLocalScaling_1=rt._emscripten_bind_btSphereShape_setLocalScaling_1,jy=i._emscripten_bind_btSphereShape_setMargin_1=rt._emscripten_bind_btSphereShape_setMargin_1,Dy=i._emscripten_bind_btStaticPlaneShape___destroy___0=rt._emscripten_bind_btStaticPlaneShape___destroy___0,Iy=i._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2=rt._emscripten_bind_btStaticPlaneShape_btStaticPlaneShape_2,By=i._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2=rt._emscripten_bind_btStaticPlaneShape_calculateLocalInertia_2,Wy=i._emscripten_bind_btStaticPlaneShape_getLocalScaling_0=rt._emscripten_bind_btStaticPlaneShape_getLocalScaling_0,Fy=i._emscripten_bind_btStaticPlaneShape_setLocalScaling_1=rt._emscripten_bind_btStaticPlaneShape_setLocalScaling_1,xy=i._emscripten_bind_btStridingMeshInterface___destroy___0=rt._emscripten_bind_btStridingMeshInterface___destroy___0,Oy=i._emscripten_bind_btStridingMeshInterface_setScaling_1=rt._emscripten_bind_btStridingMeshInterface_setScaling_1,Ty=i._emscripten_bind_btTransform___destroy___0=rt._emscripten_bind_btTransform___destroy___0,Py=i._emscripten_bind_btTransform_btTransform_0=rt._emscripten_bind_btTransform_btTransform_0,My=i._emscripten_bind_btTransform_btTransform_2=rt._emscripten_bind_btTransform_btTransform_2,Vy=i._emscripten_bind_btTransform_getBasis_0=rt._emscripten_bind_btTransform_getBasis_0,Gy=i._emscripten_bind_btTransform_getOrigin_0=rt._emscripten_bind_btTransform_getOrigin_0,Ny=i._emscripten_bind_btTransform_getRotation_0=rt._emscripten_bind_btTransform_getRotation_0,Ly=i._emscripten_bind_btTransform_inverse_0=rt._emscripten_bind_btTransform_inverse_0,Qy=i._emscripten_bind_btTransform_op_mul_1=rt._emscripten_bind_btTransform_op_mul_1,Ey=i._emscripten_bind_btTransform_setFromOpenGLMatrix_1=rt._emscripten_bind_btTransform_setFromOpenGLMatrix_1,Hy=i._emscripten_bind_btTransform_setIdentity_0=rt._emscripten_bind_btTransform_setIdentity_0,Zy=i._emscripten_bind_btTransform_setOrigin_1=rt._emscripten_bind_btTransform_setOrigin_1,Uy=i._emscripten_bind_btTransform_setRotation_1=rt._emscripten_bind_btTransform_setRotation_1,Yy=i._emscripten_bind_btTriangleMeshShape___destroy___0=rt._emscripten_bind_btTriangleMeshShape___destroy___0,Jy=i._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2=rt._emscripten_bind_btTriangleMeshShape_calculateLocalInertia_2,Xy=i._emscripten_bind_btTriangleMeshShape_getLocalScaling_0=rt._emscripten_bind_btTriangleMeshShape_getLocalScaling_0,zy=i._emscripten_bind_btTriangleMeshShape_setLocalScaling_1=rt._emscripten_bind_btTriangleMeshShape_setLocalScaling_1,Ky=i._emscripten_bind_btTriangleMesh___destroy___0=rt._emscripten_bind_btTriangleMesh___destroy___0,qy=i._emscripten_bind_btTriangleMesh_addTriangle_3=rt._emscripten_bind_btTriangleMesh_addTriangle_3,$y=i._emscripten_bind_btTriangleMesh_addTriangle_4=rt._emscripten_bind_btTriangleMesh_addTriangle_4,tg=i._emscripten_bind_btTriangleMesh_btTriangleMesh_0=rt._emscripten_bind_btTriangleMesh_btTriangleMesh_0,eg=i._emscripten_bind_btTriangleMesh_btTriangleMesh_1=rt._emscripten_bind_btTriangleMesh_btTriangleMesh_1,ig=i._emscripten_bind_btTriangleMesh_btTriangleMesh_2=rt._emscripten_bind_btTriangleMesh_btTriangleMesh_2,ng=i._emscripten_bind_btTriangleMesh_setScaling_1=rt._emscripten_bind_btTriangleMesh_setScaling_1,og=i._emscripten_bind_btTypedConstraint___destroy___0=rt._emscripten_bind_btTypedConstraint___destroy___0,_g=i._emscripten_bind_btTypedConstraint_enableFeedback_1=rt._emscripten_bind_btTypedConstraint_enableFeedback_1,rg=i._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0=rt._emscripten_bind_btTypedConstraint_getBreakingImpulseThreshold_0,sg=i._emscripten_bind_btTypedConstraint_getParam_2=rt._emscripten_bind_btTypedConstraint_getParam_2,pg=i._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1=rt._emscripten_bind_btTypedConstraint_setBreakingImpulseThreshold_1,cg=i._emscripten_bind_btTypedConstraint_setParam_3=rt._emscripten_bind_btTypedConstraint_setParam_3,ag=i._emscripten_bind_btVector3Array___destroy___0=rt._emscripten_bind_btVector3Array___destroy___0,lg=i._emscripten_bind_btVector3Array_at_1=rt._emscripten_bind_btVector3Array_at_1,dg=i._emscripten_bind_btVector3Array_size_0=rt._emscripten_bind_btVector3Array_size_0,bg=i._emscripten_bind_btVector3___destroy___0=rt._emscripten_bind_btVector3___destroy___0,Ag=i._emscripten_bind_btVector3_btVector3_0=rt._emscripten_bind_btVector3_btVector3_0,fg=i._emscripten_bind_btVector3_btVector3_3=rt._emscripten_bind_btVector3_btVector3_3,ug=i._emscripten_bind_btVector3_dot_1=rt._emscripten_bind_btVector3_dot_1,mg=i._emscripten_bind_btVector3_length_0=rt._emscripten_bind_btVector3_length_0,hg=i._emscripten_bind_btVector3_normalize_0=rt._emscripten_bind_btVector3_normalize_0,yg=i._emscripten_bind_btVector3_op_add_1=rt._emscripten_bind_btVector3_op_add_1,gg=i._emscripten_bind_btVector3_op_mul_1=rt._emscripten_bind_btVector3_op_mul_1,Cg=i._emscripten_bind_btVector3_op_sub_1=rt._emscripten_bind_btVector3_op_sub_1,vg=i._emscripten_bind_btVector3_rotate_2=rt._emscripten_bind_btVector3_rotate_2,Sg=i._emscripten_bind_btVector3_setValue_3=rt._emscripten_bind_btVector3_setValue_3,wg=i._emscripten_bind_btVector3_setX_1=rt._emscripten_bind_btVector3_setX_1,kg=i._emscripten_bind_btVector3_setY_1=rt._emscripten_bind_btVector3_setY_1,Rg=i._emscripten_bind_btVector3_setZ_1=rt._emscripten_bind_btVector3_setZ_1,jg=i._emscripten_bind_btVector3_x_0=rt._emscripten_bind_btVector3_x_0,Dg=i._emscripten_bind_btVector3_y_0=rt._emscripten_bind_btVector3_y_0,Ig=i._emscripten_bind_btVector3_z_0=rt._emscripten_bind_btVector3_z_0,Bg=i._emscripten_bind_btVector4___destroy___0=rt._emscripten_bind_btVector4___destroy___0,Wg=i._emscripten_bind_btVector4_btVector4_0=rt._emscripten_bind_btVector4_btVector4_0,Fg=i._emscripten_bind_btVector4_btVector4_4=rt._emscripten_bind_btVector4_btVector4_4,xg=i._emscripten_bind_btVector4_dot_1=rt._emscripten_bind_btVector4_dot_1,Og=i._emscripten_bind_btVector4_length_0=rt._emscripten_bind_btVector4_length_0,Tg=i._emscripten_bind_btVector4_normalize_0=rt._emscripten_bind_btVector4_normalize_0,Pg=i._emscripten_bind_btVector4_op_add_1=rt._emscripten_bind_btVector4_op_add_1,Mg=i._emscripten_bind_btVector4_op_mul_1=rt._emscripten_bind_btVector4_op_mul_1,Vg=i._emscripten_bind_btVector4_op_sub_1=rt._emscripten_bind_btVector4_op_sub_1,Gg=i._emscripten_bind_btVector4_rotate_2=rt._emscripten_bind_btVector4_rotate_2,Ng=i._emscripten_bind_btVector4_setValue_4=rt._emscripten_bind_btVector4_setValue_4,Lg=i._emscripten_bind_btVector4_setX_1=rt._emscripten_bind_btVector4_setX_1,Qg=i._emscripten_bind_btVector4_setY_1=rt._emscripten_bind_btVector4_setY_1,Eg=i._emscripten_bind_btVector4_setZ_1=rt._emscripten_bind_btVector4_setZ_1,Hg=i._emscripten_bind_btVector4_w_0=rt._emscripten_bind_btVector4_w_0,Zg=i._emscripten_bind_btVector4_x_0=rt._emscripten_bind_btVector4_x_0,Ug=i._emscripten_bind_btVector4_y_0=rt._emscripten_bind_btVector4_y_0,Yg=i._emscripten_bind_btVector4_z_0=rt._emscripten_bind_btVector4_z_0,Jg=i._emscripten_bind_btVehicleRaycasterResult___destroy___0=rt._emscripten_bind_btVehicleRaycasterResult___destroy___0,Xg=i._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0=rt._emscripten_bind_btVehicleRaycasterResult_get_m_distFraction_0,zg=i._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0=rt._emscripten_bind_btVehicleRaycasterResult_get_m_hitNormalInWorld_0,Kg=i._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0=rt._emscripten_bind_btVehicleRaycasterResult_get_m_hitPointInWorld_0,qg=i._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1=rt._emscripten_bind_btVehicleRaycasterResult_set_m_distFraction_1,$g=i._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1=rt._emscripten_bind_btVehicleRaycasterResult_set_m_hitNormalInWorld_1,tC=i._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1=rt._emscripten_bind_btVehicleRaycasterResult_set_m_hitPointInWorld_1,eC=i._emscripten_bind_btVehicleRaycaster___destroy___0=rt._emscripten_bind_btVehicleRaycaster___destroy___0,iC=i._emscripten_bind_btVehicleRaycaster_castRay_3=rt._emscripten_bind_btVehicleRaycaster_castRay_3,nC=i._emscripten_bind_btVehicleTuning_btVehicleTuning_0=rt._emscripten_bind_btVehicleTuning_btVehicleTuning_0,oC=i._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0=rt._emscripten_bind_btVehicleTuning_get_m_frictionSlip_0,_C=i._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0=rt._emscripten_bind_btVehicleTuning_get_m_maxSuspensionForce_0,rC=i._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0=rt._emscripten_bind_btVehicleTuning_get_m_maxSuspensionTravelCm_0,sC=i._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0=rt._emscripten_bind_btVehicleTuning_get_m_suspensionCompression_0,pC=i._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0=rt._emscripten_bind_btVehicleTuning_get_m_suspensionDamping_0,cC=i._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0=rt._emscripten_bind_btVehicleTuning_get_m_suspensionStiffness_0,aC=i._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1=rt._emscripten_bind_btVehicleTuning_set_m_frictionSlip_1,lC=i._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1=rt._emscripten_bind_btVehicleTuning_set_m_maxSuspensionForce_1,dC=i._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1=rt._emscripten_bind_btVehicleTuning_set_m_maxSuspensionTravelCm_1,bC=i._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1=rt._emscripten_bind_btVehicleTuning_set_m_suspensionCompression_1,AC=i._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1=rt._emscripten_bind_btVehicleTuning_set_m_suspensionDamping_1,fC=i._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1=rt._emscripten_bind_btVehicleTuning_set_m_suspensionStiffness_1,uC=i._emscripten_bind_btWheelInfoConstructionInfo___destroy___0=rt._emscripten_bind_btWheelInfoConstructionInfo___destroy___0,mC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_bIsFrontWheel_0,hC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_chassisConnectionCS_0,yC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_frictionSlip_0,gC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionForce_0,CC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_maxSuspensionTravelCm_0,vC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionRestLength_0,SC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_suspensionStiffness_0,wC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelAxleCS_0,kC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelDirectionCS_0,RC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelRadius_0,jC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingCompression_0,DC=i._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0=rt._emscripten_bind_btWheelInfoConstructionInfo_get_m_wheelsDampingRelaxation_0,IC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_bIsFrontWheel_1,BC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_chassisConnectionCS_1,WC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_frictionSlip_1,FC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionForce_1,xC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_maxSuspensionTravelCm_1,OC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionRestLength_1,TC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_suspensionStiffness_1,PC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelAxleCS_1,MC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelDirectionCS_1,VC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelRadius_1,GC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingCompression_1,NC=i._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1=rt._emscripten_bind_btWheelInfoConstructionInfo_set_m_wheelsDampingRelaxation_1,LC=i._emscripten_bind_btWheelInfo___destroy___0=rt._emscripten_bind_btWheelInfo___destroy___0,QC=i._emscripten_bind_btWheelInfo_btWheelInfo_1=rt._emscripten_bind_btWheelInfo_btWheelInfo_1,EC=i._emscripten_bind_btWheelInfo_getSuspensionRestLength_0=rt._emscripten_bind_btWheelInfo_getSuspensionRestLength_0,HC=i._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0=rt._emscripten_bind_btWheelInfo_get_m_bIsFrontWheel_0,ZC=i._emscripten_bind_btWheelInfo_get_m_brake_0=rt._emscripten_bind_btWheelInfo_get_m_brake_0,UC=i._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0=rt._emscripten_bind_btWheelInfo_get_m_chassisConnectionPointCS_0,YC=i._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0=rt._emscripten_bind_btWheelInfo_get_m_clippedInvContactDotSuspension_0,JC=i._emscripten_bind_btWheelInfo_get_m_deltaRotation_0=rt._emscripten_bind_btWheelInfo_get_m_deltaRotation_0,XC=i._emscripten_bind_btWheelInfo_get_m_engineForce_0=rt._emscripten_bind_btWheelInfo_get_m_engineForce_0,zC=i._emscripten_bind_btWheelInfo_get_m_frictionSlip_0=rt._emscripten_bind_btWheelInfo_get_m_frictionSlip_0,KC=i._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0=rt._emscripten_bind_btWheelInfo_get_m_maxSuspensionForce_0,qC=i._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0=rt._emscripten_bind_btWheelInfo_get_m_maxSuspensionTravelCm_0,$C=i._emscripten_bind_btWheelInfo_get_m_raycastInfo_0=rt._emscripten_bind_btWheelInfo_get_m_raycastInfo_0,tv=i._emscripten_bind_btWheelInfo_get_m_rollInfluence_0=rt._emscripten_bind_btWheelInfo_get_m_rollInfluence_0,ev=i._emscripten_bind_btWheelInfo_get_m_rotation_0=rt._emscripten_bind_btWheelInfo_get_m_rotation_0,iv=i._emscripten_bind_btWheelInfo_get_m_skidInfo_0=rt._emscripten_bind_btWheelInfo_get_m_skidInfo_0,nv=i._emscripten_bind_btWheelInfo_get_m_steering_0=rt._emscripten_bind_btWheelInfo_get_m_steering_0,ov=i._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0=rt._emscripten_bind_btWheelInfo_get_m_suspensionRelativeVelocity_0,_v=i._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0=rt._emscripten_bind_btWheelInfo_get_m_suspensionRestLength1_0,rv=i._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0=rt._emscripten_bind_btWheelInfo_get_m_suspensionStiffness_0,sv=i._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0=rt._emscripten_bind_btWheelInfo_get_m_wheelAxleCS_0,pv=i._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0=rt._emscripten_bind_btWheelInfo_get_m_wheelDirectionCS_0,cv=i._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0=rt._emscripten_bind_btWheelInfo_get_m_wheelsDampingCompression_0,av=i._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0=rt._emscripten_bind_btWheelInfo_get_m_wheelsDampingRelaxation_0,lv=i._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0=rt._emscripten_bind_btWheelInfo_get_m_wheelsRadius_0,dv=i._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0=rt._emscripten_bind_btWheelInfo_get_m_wheelsSuspensionForce_0,bv=i._emscripten_bind_btWheelInfo_get_m_worldTransform_0=rt._emscripten_bind_btWheelInfo_get_m_worldTransform_0,Av=i._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1=rt._emscripten_bind_btWheelInfo_set_m_bIsFrontWheel_1,fv=i._emscripten_bind_btWheelInfo_set_m_brake_1=rt._emscripten_bind_btWheelInfo_set_m_brake_1,uv=i._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1=rt._emscripten_bind_btWheelInfo_set_m_chassisConnectionPointCS_1,mv=i._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1=rt._emscripten_bind_btWheelInfo_set_m_clippedInvContactDotSuspension_1,hv=i._emscripten_bind_btWheelInfo_set_m_deltaRotation_1=rt._emscripten_bind_btWheelInfo_set_m_deltaRotation_1,yv=i._emscripten_bind_btWheelInfo_set_m_engineForce_1=rt._emscripten_bind_btWheelInfo_set_m_engineForce_1,gv=i._emscripten_bind_btWheelInfo_set_m_frictionSlip_1=rt._emscripten_bind_btWheelInfo_set_m_frictionSlip_1,Cv=i._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1=rt._emscripten_bind_btWheelInfo_set_m_maxSuspensionForce_1,vv=i._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1=rt._emscripten_bind_btWheelInfo_set_m_maxSuspensionTravelCm_1,Sv=i._emscripten_bind_btWheelInfo_set_m_raycastInfo_1=rt._emscripten_bind_btWheelInfo_set_m_raycastInfo_1,wv=i._emscripten_bind_btWheelInfo_set_m_rollInfluence_1=rt._emscripten_bind_btWheelInfo_set_m_rollInfluence_1,kv=i._emscripten_bind_btWheelInfo_set_m_rotation_1=rt._emscripten_bind_btWheelInfo_set_m_rotation_1,Rv=i._emscripten_bind_btWheelInfo_set_m_skidInfo_1=rt._emscripten_bind_btWheelInfo_set_m_skidInfo_1,jv=i._emscripten_bind_btWheelInfo_set_m_steering_1=rt._emscripten_bind_btWheelInfo_set_m_steering_1,Dv=i._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1=rt._emscripten_bind_btWheelInfo_set_m_suspensionRelativeVelocity_1,Iv=i._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1=rt._emscripten_bind_btWheelInfo_set_m_suspensionRestLength1_1,Bv=i._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1=rt._emscripten_bind_btWheelInfo_set_m_suspensionStiffness_1,Wv=i._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1=rt._emscripten_bind_btWheelInfo_set_m_wheelAxleCS_1,Fv=i._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1=rt._emscripten_bind_btWheelInfo_set_m_wheelDirectionCS_1,xv=i._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1=rt._emscripten_bind_btWheelInfo_set_m_wheelsDampingCompression_1,Ov=i._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1=rt._emscripten_bind_btWheelInfo_set_m_wheelsDampingRelaxation_1,Tv=i._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1=rt._emscripten_bind_btWheelInfo_set_m_wheelsRadius_1,Pv=i._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1=rt._emscripten_bind_btWheelInfo_set_m_wheelsSuspensionForce_1,Mv=i._emscripten_bind_btWheelInfo_set_m_worldTransform_1=rt._emscripten_bind_btWheelInfo_set_m_worldTransform_1,Vv=i._emscripten_bind_btWheelInfo_updateWheel_2=rt._emscripten_bind_btWheelInfo_updateWheel_2,Gv=i._emscripten_bind_tAnchorArray___destroy___0=rt._emscripten_bind_tAnchorArray___destroy___0,Nv=i._emscripten_bind_tAnchorArray_at_1=rt._emscripten_bind_tAnchorArray_at_1,Lv=i._emscripten_bind_tAnchorArray_clear_0=rt._emscripten_bind_tAnchorArray_clear_0,Qv=i._emscripten_bind_tAnchorArray_pop_back_0=rt._emscripten_bind_tAnchorArray_pop_back_0,Ev=i._emscripten_bind_tAnchorArray_push_back_1=rt._emscripten_bind_tAnchorArray_push_back_1,Hv=i._emscripten_bind_tAnchorArray_size_0=rt._emscripten_bind_tAnchorArray_size_0,Zv=i._emscripten_bind_tMaterialArray___destroy___0=rt._emscripten_bind_tMaterialArray___destroy___0,Uv=i._emscripten_bind_tMaterialArray_at_1=rt._emscripten_bind_tMaterialArray_at_1,Yv=i._emscripten_bind_tMaterialArray_size_0=rt._emscripten_bind_tMaterialArray_size_0,Jv=i._emscripten_bind_tNodeArray___destroy___0=rt._emscripten_bind_tNodeArray___destroy___0,Xv=i._emscripten_bind_tNodeArray_at_1=rt._emscripten_bind_tNodeArray_at_1,zv=i._emscripten_bind_tNodeArray_size_0=rt._emscripten_bind_tNodeArray_size_0,Kv=i._emscripten_enum_PHY_ScalarType_PHY_DOUBLE=rt._emscripten_enum_PHY_ScalarType_PHY_DOUBLE,qv=i._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88=rt._emscripten_enum_PHY_ScalarType_PHY_FIXEDPOINT88,$v=i._emscripten_enum_PHY_ScalarType_PHY_FLOAT=rt._emscripten_enum_PHY_ScalarType_PHY_FLOAT,tS=i._emscripten_enum_PHY_ScalarType_PHY_INTEGER=rt._emscripten_enum_PHY_ScalarType_PHY_INTEGER,eS=i._emscripten_enum_PHY_ScalarType_PHY_SHORT=rt._emscripten_enum_PHY_ScalarType_PHY_SHORT,iS=i._emscripten_enum_PHY_ScalarType_PHY_UCHAR=rt._emscripten_enum_PHY_ScalarType_PHY_UCHAR,nS=i._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM=rt._emscripten_enum_btConstraintParams_BT_CONSTRAINT_CFM,oS=i._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP=rt._emscripten_enum_btConstraintParams_BT_CONSTRAINT_ERP,_S=i._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM=rt._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_CFM,rS=i._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP=rt._emscripten_enum_btConstraintParams_BT_CONSTRAINT_STOP_ERP,sS=(i._emscripten_replace_memory=rt._emscripten_replace_memory,i._free=rt._free),pS=(i._i64Add=rt._i64Add,i._i64Subtract=rt._i64Subtract,i._llvm_bswap_i16=rt._llvm_bswap_i16,i._llvm_bswap_i32=rt._llvm_bswap_i32,i._malloc=rt._malloc);if(i._memcpy=rt._memcpy,i._memmove=rt._memmove,i._memset=rt._memset,i._sbrk=rt._sbrk,i.establishStackSpace=rt.establishStackSpace,i.stackAlloc=rt.stackAlloc,i.stackRestore=rt.stackRestore,i.stackSave=rt.stackSave,i.dynCall_di=rt.dynCall_di,i.dynCall_did=rt.dynCall_did,i.dynCall_diidii=rt.dynCall_diidii,i.dynCall_diii=rt.dynCall_diii,i.dynCall_diiidii=rt.dynCall_diiidii,i.dynCall_diiii=rt.dynCall_diiii,i.dynCall_diiiii=rt.dynCall_diiiii,i.dynCall_diiiiiiii=rt.dynCall_diiiiiiii,i.dynCall_diiiiiiiii=rt.dynCall_diiiiiiiii,i.dynCall_diiiiiiiiii=rt.dynCall_diiiiiiiiii,i.dynCall_ii=rt.dynCall_ii,i.dynCall_iidid=rt.dynCall_iidid,i.dynCall_iii=rt.dynCall_iii,i.dynCall_iiid=rt.dynCall_iiid,i.dynCall_iiii=rt.dynCall_iiii,i.dynCall_iiiii=rt.dynCall_iiiii,i.dynCall_iiiiiii=rt.dynCall_iiiiiii,i.dynCall_iiiiiiiiii=rt.dynCall_iiiiiiiiii,i.dynCall_iiiiiiiiiii=rt.dynCall_iiiiiiiiiii,i.dynCall_v=rt.dynCall_v,i.dynCall_vi=rt.dynCall_vi,i.dynCall_vid=rt.dynCall_vid,i.dynCall_vidd=rt.dynCall_vidd,i.dynCall_viddiii=rt.dynCall_viddiii,i.dynCall_vidi=rt.dynCall_vidi,i.dynCall_vidii=rt.dynCall_vidii,i.dynCall_vii=rt.dynCall_vii,i.dynCall_viid=rt.dynCall_viid,i.dynCall_viidi=rt.dynCall_viidi,i.dynCall_viidii=rt.dynCall_viidii,i.dynCall_viii=rt.dynCall_viii,i.dynCall_viiid=rt.dynCall_viiid,i.dynCall_viiidii=rt.dynCall_viiidii,i.dynCall_viiii=rt.dynCall_viiii,i.dynCall_viiiid=rt.dynCall_viiiid,i.dynCall_viiiidddddidi=rt.dynCall_viiiidddddidi,i.dynCall_viiiiddddiid=rt.dynCall_viiiiddddiid,i.dynCall_viiiii=rt.dynCall_viiiii,i.dynCall_viiiiid=rt.dynCall_viiiiid,i.dynCall_viiiiii=rt.dynCall_viiiiii,i.dynCall_viiiiiii=rt.dynCall_viiiiiii,i.dynCall_viiiiiiiid=rt.dynCall_viiiiiiiid,i.dynCall_viiiiiiiii=rt.dynCall_viiiiiiiii,i.dynCall_viiiiiiiiii=rt.dynCall_viiiiiiiiii,i.asm=rt,i.Pointer_stringify=function(t,e){uS("this function has been removed - you should use UTF8ToString(ptr, maxBytesToRead) instead!")},Q)if(H(Q)||(nt=Q,Q=i.locateFile?i.locateFile(nt,l):l+nt),p||s){var cS=i.readBinary(Q);g.set(cS,8)}else{G++,i.monitorRunDependencies&&i.monitorRunDependencies(G);var aS=function(t){t.byteLength&&(t=new Uint8Array(t)),g.set(t,8),i.memoryInitializerRequest&&delete i.memoryInitializerRequest.response,function(){if(G--,i.monitorRunDependencies&&i.monitorRunDependencies(G),0==G&&(null!==N&&(clearInterval(N),N=null),L)){var t=L;L=null,t()}}()},lS=function(){i.readAsync(Q,aS,(function(){throw"could not load memory initializer "+Q}))},dS=it(Q);if(dS)aS(dS.buffer);else if(i.memoryInitializerRequest){var bS=function(){var t=i.memoryInitializerRequest,e=t.response;if(200!==t.status&&0!==t.status){var n=it(i.memoryInitializerRequestURL);if(!n)return console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+t.status+", retrying "+Q),void lS();e=n.buffer}aS(e)};i.memoryInitializerRequest.response?setTimeout(bS,0):i.memoryInitializerRequest.addEventListener("load",bS)}else lS()}function AS(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function fS(t){function e(){i.calledRun||(i.calledRun=!0,u||(V||(V=!0,x(T)),x(P),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)t=i.postRun.shift(),M.unshift(t);var t;x(M)}()))}t=t||i.arguments,G>0||(function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)t=i.preRun.shift(),O.unshift(t);var t;x(O)}(),G>0||i.calledRun||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}function uS(t){throw i.onAbort&&i.onAbort(t),void 0!==t?(d(t),b(t),t=JSON.stringify(t)):t="",u=!0,"abort("+t+"). Build with -s ASSERTIONS=1 for more info."}if(i.then=function(t){if(i.calledRun)t(i);else{var e=i.onRuntimeInitialized;i.onRuntimeInitialized=function(){e&&e(),t(i)}}return i},AS.prototype=new Error,AS.prototype.constructor=AS,L=function t(){i.calledRun||fS(),i.calledRun||(L=t)},i.run=fS,i.abort=uS,i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();function mS(){}function hS(t){return(t||mS).__cache__}function yS(t,e){var i=hS(e),n=i[t];return n||((n=Object.create((e||mS).prototype)).ptr=t,i[t]=n)}i.noExitRuntime=!0,fS(),mS.prototype=Object.create(mS.prototype),mS.prototype.constructor=mS,mS.prototype.__class__=mS,mS.__cache__={},i.WrapperObject=mS,i.getCache=hS,i.wrapPointer=yS,i.castObject=function(t,e){return yS(t.ptr,e)},i.NULL=yS(0),i.destroy=function(t){if(!t.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";t.__destroy__(),delete hS(t.__class__)[t.ptr]},i.compare=function(t,e){return t.ptr===e.ptr},i.getPointer=function(t){return t.ptr},i.getClass=function(t){return t.__class__};var gS={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(gS.needed){for(var t=0;t=gS.size?(m(_>0),gS.needed+=_,n=i._malloc(_),gS.temps.push(n)):(n=gS.buffer+gS.pos,gS.pos+=_),n},copy:function(t,e,i){var n=i;switch(e.BYTES_PER_ELEMENT){case 2:n>>=1;break;case 4:n>>=2;break;case 8:n>>=3}for(var o=0;o0?_:function(t){for(var e=0,i=0;i=55296&&n<=57343&&(n=65536+((1023&n)<<10)|1023&t.charCodeAt(++i)),n<=127?++e:e+=n<=2047?2:n<=65535?3:4}return e}(n)+1,s=new Array(r),p=j(n,s,0,s.length),o&&(s.length=p),s),i=gS.alloc(e,y);return gS.copy(e,y,i),i}var n,o,_,r,s,p;return t}function vS(t){if("object"==typeof t){var e=gS.alloc(t,v);return gS.copy(t,v,e),e}return t}function SS(t,e,i){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),this.ptr=I_(t,e,i),hS(SS)[this.ptr]=this}function wS(){throw"cannot construct a btCollisionShape, no constructor in IDL"}function kS(){throw"cannot construct a btCollisionObject, no constructor in IDL"}function RS(){throw"cannot construct a btDynamicsWorld, no constructor in IDL"}function jS(){throw"cannot construct a btTypedConstraint, no constructor in IDL"}function DS(){throw"cannot construct a btConcaveShape, no constructor in IDL"}function IS(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=xo(t,e),hS(IS)[this.ptr]=this}function BS(){throw"cannot construct a btIDebugDraw, no constructor in IDL"}function WS(t){if(t&&"object"==typeof t&&(t=t.ptr),void 0===t)return this.ptr=sp(),void(hS(WS)[this.ptr]=this);this.ptr=pp(t),hS(WS)[this.ptr]=this}function xS(){throw"cannot construct a ConvexResultCallback, no constructor in IDL"}function OS(){throw"cannot construct a btTriangleMeshShape, no constructor in IDL"}function TS(){this.ptr=Za(),hS(TS)[this.ptr]=this}function PS(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=Cr(t,e),hS(PS)[this.ptr]=this}function MS(){throw"cannot construct a btActionInterface, no constructor in IDL"}function VS(t,e,i){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0===t?(this.ptr=Ag(),void(hS(VS)[this.ptr]=this)):void 0===e?(this.ptr=_emscripten_bind_btVector3_btVector3_1(t),void(hS(VS)[this.ptr]=this)):void 0===i?(this.ptr=_emscripten_bind_btVector3_btVector3_2(t,e),void(hS(VS)[this.ptr]=this)):(this.ptr=fg(t,e,i),void(hS(VS)[this.ptr]=this))}function GS(){throw"cannot construct a btVehicleRaycaster, no constructor in IDL"}function NS(){throw"cannot construct a btQuadWord, no constructor in IDL"}function LS(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=qs(t),hS(LS)[this.ptr]=this}function QS(t,e,i,n){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),this.ptr=xp(t,e,i,n),hS(QS)[this.ptr]=this}function ES(){throw"cannot construct a btConvexShape, no constructor in IDL"}function HS(){throw"cannot construct a btDispatcher, no constructor in IDL"}function ZS(t,e,i,n,o){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),void 0===n?(this.ptr=Aa(t,e,i),void(hS(ZS)[this.ptr]=this)):void 0===o?(this.ptr=_emscripten_bind_btGeneric6DofConstraint_btGeneric6DofConstraint_4(t,e,i,n),void(hS(ZS)[this.ptr]=this)):(this.ptr=fa(t,e,i,n,o),void(hS(ZS)[this.ptr]=this))}function US(){throw"cannot construct a btStridingMeshInterface, no constructor in IDL"}function YS(){throw"cannot construct a btMotionState, no constructor in IDL"}function JS(){throw"cannot construct a ContactResultCallback, no constructor in IDL"}function XS(){throw"cannot construct a btSoftBodySolver, no constructor in IDL"}function zS(){throw"cannot construct a RayResultCallback, no constructor in IDL"}function KS(){throw"cannot construct a btMatrix3x3, no constructor in IDL"}function qS(){throw"cannot construct a btDispatcherInfo, no constructor in IDL"}function $S(){throw"cannot construct a Material, no constructor in IDL"}function tw(){throw"cannot construct a btWheelInfoConstructionInfo, no constructor in IDL"}function ew(t,e){if(t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0===e)return this.ptr=Bs(t),void(hS(ew)[this.ptr]=this);this.ptr=Ws(t,e),hS(ew)[this.ptr]=this}function iw(){throw"cannot construct a btBroadphaseInterface, no constructor in IDL"}function nw(t,e,i,n){if(t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),void 0===n)return this.ptr=cf(t,e,i),void(hS(nw)[this.ptr]=this);this.ptr=af(t,e,i,n),hS(nw)[this.ptr]=this}function ow(){throw"cannot construct a btCollisionConfiguration, no constructor in IDL"}function _w(){this.ptr=Rb(),hS(_w)[this.ptr]=this}function rw(t){if(t&&"object"==typeof t&&(t=t.ptr),void 0===t)return this.ptr=Y_(),void(hS(rw)[this.ptr]=this);this.ptr=J_(t),hS(rw)[this.ptr]=this}function sw(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=St(t,e),hS(sw)[this.ptr]=this}function pw(){throw"cannot construct a tMaterialArray, no constructor in IDL"}function cw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=vp(t),hS(cw)[this.ptr]=this}function aw(){this.ptr=Qr(),hS(aw)[this.ptr]=this}function lw(){throw"cannot construct a LocalShapeInfo, no constructor in IDL"}function dw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=Yf(t),hS(dw)[this.ptr]=this}function bw(){throw"cannot construct a btConvexPolyhedron, no constructor in IDL"}function Aw(){this.ptr=_p(),hS(Aw)[this.ptr]=this}function fw(t,e,i,n,o,_,r,s,p){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),s&&"object"==typeof s&&(s=s.ptr),p&&"object"==typeof p&&(p=p.ptr),this.ptr=gl(t,e,i,n,o,_,r,s,p),hS(fw)[this.ptr]=this}function uw(){this.ptr=gp(),hS(uw)[this.ptr]=this}function mw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=Ho(t),hS(mw)[this.ptr]=this}function hw(t,e,i,n,o){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),void 0===i?(this.ptr=Qn(t,e),void(hS(hw)[this.ptr]=this)):void 0===n?(this.ptr=En(t,e,i),void(hS(hw)[this.ptr]=this)):void 0===o?(this.ptr=Hn(t,e,i,n),void(hS(hw)[this.ptr]=this)):(this.ptr=Zn(t,e,i,n,o),void(hS(hw)[this.ptr]=this))}function yw(){this.ptr=mm(),hS(yw)[this.ptr]=this}function gw(t,e,i,n){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),void 0===i?(this.ptr=Rr(t,e),void(hS(gw)[this.ptr]=this)):void 0===n?(this.ptr=_emscripten_bind_btConeTwistConstraint_btConeTwistConstraint_3(t,e,i),void(hS(gw)[this.ptr]=this)):(this.ptr=jr(t,e,i,n),void(hS(gw)[this.ptr]=this))}function Cw(t,e,i,n,o,_,r){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),void 0===i?(this.ptr=jl(t,e),void(hS(Cw)[this.ptr]=this)):void 0===n?(this.ptr=Dl(t,e,i),void(hS(Cw)[this.ptr]=this)):void 0===o?(this.ptr=Il(t,e,i,n),void(hS(Cw)[this.ptr]=this)):void 0===_?(this.ptr=Bl(t,e,i,n,o),void(hS(Cw)[this.ptr]=this)):void 0===r?(this.ptr=Wl(t,e,i,n,o,_),void(hS(Cw)[this.ptr]=this)):(this.ptr=Fl(t,e,i,n,o,_,r),void(hS(Cw)[this.ptr]=this))}function vw(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=ur(t,e),hS(vw)[this.ptr]=this}function Sw(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=lr(t,e),hS(Sw)[this.ptr]=this}function ww(t,e){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0===t?(this.ptr=tg(),void(hS(ww)[this.ptr]=this)):void 0===e?(this.ptr=eg(t),void(hS(ww)[this.ptr]=this)):(this.ptr=ig(t,e),void(hS(ww)[this.ptr]=this))}function kw(t,e){return gS.prepare(),"object"==typeof t&&(t=vS(t)),e&&"object"==typeof e&&(e=e.ptr),void 0===t?(this.ptr=rs(),void(hS(kw)[this.ptr]=this)):void 0===e?(this.ptr=ss(t),void(hS(kw)[this.ptr]=this)):(this.ptr=ps(t,e),void(hS(kw)[this.ptr]=this))}function Rw(){this.ptr=nC(),hS(Rw)[this.ptr]=this}function jw(){throw"cannot construct a btCollisionObjectWrapper, no constructor in IDL"}function Dw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=Gu(t),hS(Dw)[this.ptr]=this}function Iw(t,e){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0===t?(this.ptr=dp(),void(hS(Iw)[this.ptr]=this)):void 0===e?(this.ptr=bp(t),void(hS(Iw)[this.ptr]=this)):(this.ptr=Ap(t,e),void(hS(Iw)[this.ptr]=this))}function Bw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=QC(t),hS(Bw)[this.ptr]=this}function Ww(t,e,i,n){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),void 0===t?(this.ptr=Wg(),void(hS(Ww)[this.ptr]=this)):void 0===e?(this.ptr=_emscripten_bind_btVector4_btVector4_1(t),void(hS(Ww)[this.ptr]=this)):void 0===i?(this.ptr=_emscripten_bind_btVector4_btVector4_2(t,e),void(hS(Ww)[this.ptr]=this)):void 0===n?(this.ptr=_emscripten_bind_btVector4_btVector4_3(t,e,i),void(hS(Ww)[this.ptr]=this)):(this.ptr=Fg(t,e,i,n),void(hS(Ww)[this.ptr]=this))}function Fw(){this.ptr=ap(),hS(Fw)[this.ptr]=this}function xw(){throw"cannot construct a Anchor, no constructor in IDL"}function Ow(){throw"cannot construct a btVehicleRaycasterResult, no constructor in IDL"}function Tw(){throw"cannot construct a btVector3Array, no constructor in IDL"}function Pw(){throw"cannot construct a btConstraintSolver, no constructor in IDL"}function Mw(t,e,i){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),this.ptr=FA(t,e,i),hS(Mw)[this.ptr]=this}function Vw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=Vs(t),hS(Vw)[this.ptr]=this}function Gw(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=Zs(t),hS(Gw)[this.ptr]=this}function Nw(){this.ptr=Mu(),hS(Nw)[this.ptr]=this}function Lw(){throw"cannot construct a tAnchorArray, no constructor in IDL"}function Qw(){throw"cannot construct a RaycastInfo, no constructor in IDL"}function Ew(){throw"cannot construct a tNodeArray, no constructor in IDL"}function Hw(t,e,i,n){gS.prepare(),t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),"object"==typeof n&&(n=vS(n)),this.ptr=Um(t,e,i,n),hS(Hw)[this.ptr]=this}function Zw(){throw"cannot construct a btIntArray, no constructor in IDL"}function Uw(){throw"cannot construct a Config, no constructor in IDL"}function Yw(){throw"cannot construct a Node, no constructor in IDL"}function Jw(){this.ptr=hl(),hS(Jw)[this.ptr]=this}function Xw(){throw"cannot construct a btOverlappingPairCallback, no constructor in IDL"}function zw(t,e,i,n){if(t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),void 0===n)return this.ptr=id(t,e,i),void(hS(zw)[this.ptr]=this);this.ptr=nd(t,e,i,n),hS(zw)[this.ptr]=this}function Kw(){throw"cannot construct a btSoftBodyArray, no constructor in IDL"}function qw(){throw"cannot construct a btFaceArray, no constructor in IDL"}function $w(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=Iy(t,e),hS($w)[this.ptr]=this}function tk(){throw"cannot construct a btOverlappingPairCache, no constructor in IDL"}function ek(t,e,i,n,o){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),this.ptr=Yh(t,e,i,n,o),hS(ek)[this.ptr]=this}function ik(t,e,i,n){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),this.ptr=sa(t,e,i,n),hS(ik)[this.ptr]=this}function nk(t,e){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0===t?(this.ptr=Py(),void(hS(nk)[this.ptr]=this)):void 0===e?(this.ptr=_emscripten_bind_btTransform_btTransform_1(t),void(hS(nk)[this.ptr]=this)):(this.ptr=My(t,e),void(hS(nk)[this.ptr]=this))}function ok(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=Nt(t,e),hS(ok)[this.ptr]=this}function _k(t){if(t&&"object"==typeof t&&(t=t.ptr),void 0===t)return this.ptr=bm(),void(hS(_k)[this.ptr]=this);this.ptr=Am(t),hS(_k)[this.ptr]=this}function rk(){this.ptr=_e(),hS(rk)[this.ptr]=this}function sk(t,e,i){if(t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0===i)return this.ptr=ro(t,e),void(hS(sk)[this.ptr]=this);this.ptr=so(t,e,i),hS(sk)[this.ptr]=this}function pk(t,e,i,n,o){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),void 0===n?(this.ptr=Hu(t,e,i),void(hS(pk)[this.ptr]=this)):void 0===o?(this.ptr=_emscripten_bind_btSliderConstraint_btSliderConstraint_4(t,e,i,n),void(hS(pk)[this.ptr]=this)):(this.ptr=Zu(t,e,i,n,o),void(hS(pk)[this.ptr]=this))}function ck(){this.ptr=$d(),hS(ck)[this.ptr]=this}function ak(){throw"cannot construct a btManifoldPoint, no constructor in IDL"}function lk(t,e,i,n){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),void 0===i?(this.ptr=Fb(t,e),void(hS(lk)[this.ptr]=this)):void 0===n?(this.ptr=_emscripten_bind_btPoint2PointConstraint_btPoint2PointConstraint_3(t,e,i),void(hS(lk)[this.ptr]=this)):(this.ptr=xb(t,e,i,n),void(hS(lk)[this.ptr]=this))}function dk(){this.ptr=lm(),hS(dk)[this.ptr]=this}function bk(){throw"cannot construct a VoidPtr, no constructor in IDL"}function Ak(){throw"cannot construct a btBroadphaseProxy, no constructor in IDL"}function fk(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=Yn(t),hS(fk)[this.ptr]=this}function uk(){throw"cannot construct a btFace, no constructor in IDL"}function mk(){this.ptr=fi(),hS(mk)[this.ptr]=this}function hk(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=bo(t,e),hS(hk)[this.ptr]=this}function yk(t,e,i,n){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),this.ptr=nA(t,e,i,n),hS(yk)[this.ptr]=this}function gk(t,e){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),this.ptr=So(t,e),hS(gk)[this.ptr]=this}function Ck(){throw"cannot construct a btContactSolverInfo, no constructor in IDL"}function vk(t,e,i,n,o){return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),void 0===n?(this.ptr=ja(t,e,i),void(hS(vk)[this.ptr]=this)):void 0===o?(this.ptr=_emscripten_bind_btGeneric6DofSpringConstraint_btGeneric6DofSpringConstraint_4(t,e,i,n),void(hS(vk)[this.ptr]=this)):(this.ptr=Da(t,e,i,n,o),void(hS(vk)[this.ptr]=this))}function Sk(t){t&&"object"==typeof t&&(t=t.ptr),this.ptr=vy(t),hS(Sk)[this.ptr]=this}function wk(t,e,i,n,o){t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),this.ptr=Si(t,e,i,n,o),hS(wk)[this.ptr]=this}return SS.prototype=Object.create(mS.prototype),SS.prototype.constructor=SS,SS.prototype.__class__=SS,SS.__cache__={},i.btCollisionWorld=SS,SS.prototype.getDispatcher=SS.prototype.getDispatcher=function(){var t=this.ptr;return yS(V_(t),HS)},SS.prototype.rayTest=SS.prototype.rayTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),L_(n,t,e,i)},SS.prototype.getPairCache=SS.prototype.getPairCache=function(){var t=this.ptr;return yS(G_(t),tk)},SS.prototype.getDispatchInfo=SS.prototype.getDispatchInfo=function(){var t=this.ptr;return yS(M_(t),qS)},SS.prototype.addCollisionObject=SS.prototype.addCollisionObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==e?void 0!==i?D_(n,t,e,i):j_(n,t,e):R_(n,t)},SS.prototype.removeCollisionObject=SS.prototype.removeCollisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Q_(e,t)},SS.prototype.getBroadphase=SS.prototype.getBroadphase=function(){var t=this.ptr;return yS(T_(t),iw)},SS.prototype.convexSweepTest=SS.prototype.convexSweepTest=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),F_(_,t,e,i,n,o)},SS.prototype.contactPairTest=SS.prototype.contactPairTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),B_(n,t,e,i)},SS.prototype.contactTest=SS.prototype.contactTest=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),W_(i,t,e)},SS.prototype.updateSingleAabb=SS.prototype.updateSingleAabb=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),H_(e,t)},SS.prototype.setDebugDrawer=SS.prototype.setDebugDrawer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),E_(e,t)},SS.prototype.getDebugDrawer=SS.prototype.getDebugDrawer=function(){var t=this.ptr;return yS(P_(t),BS)},SS.prototype.debugDrawWorld=SS.prototype.debugDrawWorld=function(){var t=this.ptr;O_(t)},SS.prototype.debugDrawObject=SS.prototype.debugDrawObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),x_(n,t,e,i)},SS.prototype.performDiscreteCollisionDetection=SS.prototype.performDiscreteCollisionDetection=function(){var t=this.ptr;N_(t)},SS.prototype.__destroy__=SS.prototype.__destroy__=function(){var t=this.ptr;k_(t)},wS.prototype=Object.create(mS.prototype),wS.prototype.constructor=wS,wS.prototype.__class__=wS,wS.__cache__={},i.btCollisionShape=wS,wS.prototype.setLocalScaling=wS.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),S_(e,t)},wS.prototype.getLocalScaling=wS.prototype.getLocalScaling=function(){var t=this.ptr;return yS(C_(t),VS)},wS.prototype.calculateLocalInertia=wS.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),g_(i,t,e)},wS.prototype.setMargin=wS.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),w_(e,t)},wS.prototype.getMargin=wS.prototype.getMargin=function(){var t=this.ptr;return v_(t)},wS.prototype.__destroy__=wS.prototype.__destroy__=function(){var t=this.ptr;y_(t)},kS.prototype=Object.create(mS.prototype),kS.prototype.constructor=kS,kS.prototype.__class__=kS,kS.__cache__={},i.btCollisionObject=kS,kS.prototype.setAnisotropicFriction=kS.prototype.setAnisotropicFriction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),s_(i,t,e)},kS.prototype.getCollisionShape=kS.prototype.getCollisionShape=function(){var t=this.ptr;return yS(qo(t),wS)},kS.prototype.setContactProcessingThreshold=kS.prototype.setContactProcessingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),d_(e,t)},kS.prototype.setActivationState=kS.prototype.setActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),r_(e,t)},kS.prototype.forceActivationState=kS.prototype.forceActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zo(e,t)},kS.prototype.activate=kS.prototype.activate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),void 0!==t?Xo(e,t):Jo(e)},kS.prototype.isActive=kS.prototype.isActive=function(){var t=this.ptr;return!!i_(t)},kS.prototype.isKinematicObject=kS.prototype.isKinematicObject=function(){var t=this.ptr;return!!n_(t)},kS.prototype.isStaticObject=kS.prototype.isStaticObject=function(){var t=this.ptr;return!!o_(t)},kS.prototype.isStaticOrKinematicObject=kS.prototype.isStaticOrKinematicObject=function(){var t=this.ptr;return!!__(t)},kS.prototype.setRestitution=kS.prototype.setRestitution=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),A_(e,t)},kS.prototype.setFriction=kS.prototype.setFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),b_(e,t)},kS.prototype.setRollingFriction=kS.prototype.setRollingFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),f_(e,t)},kS.prototype.getWorldTransform=kS.prototype.getWorldTransform=function(){var t=this.ptr;return yS(e_(t),nk)},kS.prototype.getCollisionFlags=kS.prototype.getCollisionFlags=function(){var t=this.ptr;return Ko(t)},kS.prototype.setCollisionFlags=kS.prototype.setCollisionFlags=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),a_(e,t)},kS.prototype.setWorldTransform=kS.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),h_(e,t)},kS.prototype.setCollisionShape=kS.prototype.setCollisionShape=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),l_(e,t)},kS.prototype.setCcdMotionThreshold=kS.prototype.setCcdMotionThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),p_(e,t)},kS.prototype.setCcdSweptSphereRadius=kS.prototype.setCcdSweptSphereRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),c_(e,t)},kS.prototype.getUserIndex=kS.prototype.getUserIndex=function(){var t=this.ptr;return $o(t)},kS.prototype.setUserIndex=kS.prototype.setUserIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),u_(e,t)},kS.prototype.getUserPointer=kS.prototype.getUserPointer=function(){var t=this.ptr;return yS(t_(t),bk)},kS.prototype.setUserPointer=kS.prototype.setUserPointer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),m_(e,t)},kS.prototype.__destroy__=kS.prototype.__destroy__=function(){var t=this.ptr;Yo(t)},RS.prototype=Object.create(SS.prototype),RS.prototype.constructor=RS,RS.prototype.__class__=RS,RS.__cache__={},i.btDynamicsWorld=RS,RS.prototype.addAction=RS.prototype.addAction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wc(e,t)},RS.prototype.removeAction=RS.prototype.removeAction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Jc(e,t)},RS.prototype.getSolverInfo=RS.prototype.getSolverInfo=function(){var t=this.ptr;return yS(Zc(t),Ck)},RS.prototype.getDispatcher=RS.prototype.getDispatcher=function(){var t=this.ptr;return yS(Ec(t),HS)},RS.prototype.rayTest=RS.prototype.rayTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Yc(n,t,e,i)},RS.prototype.getPairCache=RS.prototype.getPairCache=function(){var t=this.ptr;return yS(Hc(t),tk)},RS.prototype.getDispatchInfo=RS.prototype.getDispatchInfo=function(){var t=this.ptr;return yS(Qc(t),qS)},RS.prototype.addCollisionObject=RS.prototype.addCollisionObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==e?void 0!==i?Oc(n,t,e,i):xc(n,t,e):Fc(n,t)},RS.prototype.removeCollisionObject=RS.prototype.removeCollisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xc(e,t)},RS.prototype.getBroadphase=RS.prototype.getBroadphase=function(){var t=this.ptr;return yS(Nc(t),iw)},RS.prototype.convexSweepTest=RS.prototype.convexSweepTest=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),Mc(_,t,e,i,n,o)},RS.prototype.contactPairTest=RS.prototype.contactPairTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Tc(n,t,e,i)},RS.prototype.contactTest=RS.prototype.contactTest=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Pc(i,t,e)},RS.prototype.updateSingleAabb=RS.prototype.updateSingleAabb=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Kc(e,t)},RS.prototype.setDebugDrawer=RS.prototype.setDebugDrawer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zc(e,t)},RS.prototype.getDebugDrawer=RS.prototype.getDebugDrawer=function(){var t=this.ptr;return yS(Lc(t),BS)},RS.prototype.debugDrawWorld=RS.prototype.debugDrawWorld=function(){var t=this.ptr;Gc(t)},RS.prototype.debugDrawObject=RS.prototype.debugDrawObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Vc(n,t,e,i)},RS.prototype.performDiscreteCollisionDetection=RS.prototype.performDiscreteCollisionDetection=function(){var t=this.ptr;Uc(t)},RS.prototype.__destroy__=RS.prototype.__destroy__=function(){var t=this.ptr;Bc(t)},jS.prototype=Object.create(mS.prototype),jS.prototype.constructor=jS,jS.prototype.__class__=jS,jS.__cache__={},i.btTypedConstraint=jS,jS.prototype.enableFeedback=jS.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),_g(e,t)},jS.prototype.getBreakingImpulseThreshold=jS.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return rg(t)},jS.prototype.setBreakingImpulseThreshold=jS.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),pg(e,t)},jS.prototype.getParam=jS.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),sg(i,t,e)},jS.prototype.setParam=jS.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),cg(n,t,e,i)},jS.prototype.__destroy__=jS.prototype.__destroy__=function(){var t=this.ptr;og(t)},DS.prototype=Object.create(wS.prototype),DS.prototype.constructor=DS,DS.prototype.__class__=DS,DS.__cache__={},i.btConcaveShape=DS,DS.prototype.setLocalScaling=DS.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),cr(e,t)},DS.prototype.getLocalScaling=DS.prototype.getLocalScaling=function(){var t=this.ptr;return yS(pr(t),VS)},DS.prototype.calculateLocalInertia=DS.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),sr(i,t,e)},DS.prototype.__destroy__=DS.prototype.__destroy__=function(){var t=this.ptr;rr(t)},IS.prototype=Object.create(wS.prototype),IS.prototype.constructor=IS,IS.prototype.__class__=IS,IS.__cache__={},i.btCapsuleShape=IS,IS.prototype.setMargin=IS.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Lo(e,t)},IS.prototype.getMargin=IS.prototype.getMargin=function(){var t=this.ptr;return Mo(t)},IS.prototype.getUpAxis=IS.prototype.getUpAxis=function(){var t=this.ptr;return Go(t)},IS.prototype.getRadius=IS.prototype.getRadius=function(){var t=this.ptr;return Vo(t)},IS.prototype.getHalfHeight=IS.prototype.getHalfHeight=function(){var t=this.ptr;return To(t)},IS.prototype.setLocalScaling=IS.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),No(e,t)},IS.prototype.getLocalScaling=IS.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Po(t),VS)},IS.prototype.calculateLocalInertia=IS.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Oo(i,t,e)},IS.prototype.__destroy__=IS.prototype.__destroy__=function(){var t=this.ptr;Fo(t)},BS.prototype=Object.create(mS.prototype),BS.prototype.constructor=BS,BS.prototype.__class__=BS,BS.__cache__={},i.btIDebugDraw=BS,BS.prototype.drawLine=BS.prototype.drawLine=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Jl(n,t,e,i)},BS.prototype.drawContactPoint=BS.prototype.drawContactPoint=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),Yl(_,t,e,i,n,o)},BS.prototype.reportErrorWarning=BS.prototype.reportErrorWarning=function(t){var e=this.ptr;gS.prepare(),t=t&&"object"==typeof t?t.ptr:CS(t),zl(e,t)},BS.prototype.draw3dText=BS.prototype.draw3dText=function(t,e){var i=this.ptr;gS.prepare(),t&&"object"==typeof t&&(t=t.ptr),e=e&&"object"==typeof e?e.ptr:CS(e),Ul(i,t,e)},BS.prototype.setDebugMode=BS.prototype.setDebugMode=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Kl(e,t)},BS.prototype.getDebugMode=BS.prototype.getDebugMode=function(){var t=this.ptr;return Xl(t)},BS.prototype.__destroy__=BS.prototype.__destroy__=function(){var t=this.ptr;Zl(t)},WS.prototype=Object.create(mS.prototype),WS.prototype.constructor=WS,WS.prototype.__class__=WS,WS.__cache__={},i.btDefaultCollisionConfiguration=WS,WS.prototype.__destroy__=WS.prototype.__destroy__=function(){var t=this.ptr;rp(t)},xS.prototype=Object.create(mS.prototype),xS.prototype.constructor=xS,xS.prototype.__class__=xS,xS.__cache__={},i.ConvexResultCallback=xS,xS.prototype.hasHit=xS.prototype.hasHit=function(){var t=this.ptr;return!!li(t)},xS.prototype.get_m_collisionFilterGroup=xS.prototype.get_m_collisionFilterGroup=function(){var t=this.ptr;return ci(t)},xS.prototype.set_m_collisionFilterGroup=xS.prototype.set_m_collisionFilterGroup=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),bi(e,t)},Object.defineProperty(xS.prototype,"m_collisionFilterGroup",{get:xS.prototype.get_m_collisionFilterGroup,set:xS.prototype.set_m_collisionFilterGroup}),xS.prototype.get_m_collisionFilterMask=xS.prototype.get_m_collisionFilterMask=function(){var t=this.ptr;return ai(t)},xS.prototype.set_m_collisionFilterMask=xS.prototype.set_m_collisionFilterMask=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ai(e,t)},Object.defineProperty(xS.prototype,"m_collisionFilterMask",{get:xS.prototype.get_m_collisionFilterMask,set:xS.prototype.set_m_collisionFilterMask}),xS.prototype.get_m_closestHitFraction=xS.prototype.get_m_closestHitFraction=function(){var t=this.ptr;return pi(t)},xS.prototype.set_m_closestHitFraction=xS.prototype.set_m_closestHitFraction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),di(e,t)},Object.defineProperty(xS.prototype,"m_closestHitFraction",{get:xS.prototype.get_m_closestHitFraction,set:xS.prototype.set_m_closestHitFraction}),xS.prototype.__destroy__=xS.prototype.__destroy__=function(){var t=this.ptr;si(t)},OS.prototype=Object.create(DS.prototype),OS.prototype.constructor=OS,OS.prototype.__class__=OS,OS.__cache__={},i.btTriangleMeshShape=OS,OS.prototype.setLocalScaling=OS.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zy(e,t)},OS.prototype.getLocalScaling=OS.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Xy(t),VS)},OS.prototype.calculateLocalInertia=OS.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Jy(i,t,e)},OS.prototype.__destroy__=OS.prototype.__destroy__=function(){var t=this.ptr;Yy(t)},TS.prototype=Object.create(kS.prototype),TS.prototype.constructor=TS,TS.prototype.__class__=TS,TS.__cache__={},i.btGhostObject=TS,TS.prototype.getNumOverlappingObjects=TS.prototype.getNumOverlappingObjects=function(){var t=this.ptr;return Xa(t)},TS.prototype.getOverlappingObject=TS.prototype.getOverlappingObject=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(za(e,t),kS)},TS.prototype.setAnisotropicFriction=TS.prototype.setAnisotropicFriction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),_l(i,t,e)},TS.prototype.getCollisionShape=TS.prototype.getCollisionShape=function(){var t=this.ptr;return yS(Ja(t),wS)},TS.prototype.setContactProcessingThreshold=TS.prototype.setContactProcessingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),al(e,t)},TS.prototype.setActivationState=TS.prototype.setActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ol(e,t)},TS.prototype.forceActivationState=TS.prototype.forceActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ua(e,t)},TS.prototype.activate=TS.prototype.activate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),void 0!==t?Ha(e,t):Ea(e)},TS.prototype.isActive=TS.prototype.isActive=function(){var t=this.ptr;return!!tl(t)},TS.prototype.isKinematicObject=TS.prototype.isKinematicObject=function(){var t=this.ptr;return!!el(t)},TS.prototype.isStaticObject=TS.prototype.isStaticObject=function(){var t=this.ptr;return!!il(t)},TS.prototype.isStaticOrKinematicObject=TS.prototype.isStaticOrKinematicObject=function(){var t=this.ptr;return!!nl(t)},TS.prototype.setRestitution=TS.prototype.setRestitution=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),dl(e,t)},TS.prototype.setFriction=TS.prototype.setFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ll(e,t)},TS.prototype.setRollingFriction=TS.prototype.setRollingFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),bl(e,t)},TS.prototype.getWorldTransform=TS.prototype.getWorldTransform=function(){var t=this.ptr;return yS($a(t),nk)},TS.prototype.getCollisionFlags=TS.prototype.getCollisionFlags=function(){var t=this.ptr;return Ya(t)},TS.prototype.setCollisionFlags=TS.prototype.setCollisionFlags=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),pl(e,t)},TS.prototype.setWorldTransform=TS.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ul(e,t)},TS.prototype.setCollisionShape=TS.prototype.setCollisionShape=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),cl(e,t)},TS.prototype.setCcdMotionThreshold=TS.prototype.setCcdMotionThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),rl(e,t)},TS.prototype.setCcdSweptSphereRadius=TS.prototype.setCcdSweptSphereRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),sl(e,t)},TS.prototype.getUserIndex=TS.prototype.getUserIndex=function(){var t=this.ptr;return Ka(t)},TS.prototype.setUserIndex=TS.prototype.setUserIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Al(e,t)},TS.prototype.getUserPointer=TS.prototype.getUserPointer=function(){var t=this.ptr;return yS(qa(t),bk)},TS.prototype.setUserPointer=TS.prototype.setUserPointer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fl(e,t)},TS.prototype.__destroy__=TS.prototype.__destroy__=function(){var t=this.ptr;Qa(t)},PS.prototype=Object.create(wS.prototype),PS.prototype.constructor=PS,PS.prototype.__class__=PS,PS.__cache__={},i.btConeShape=PS,PS.prototype.setLocalScaling=PS.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wr(e,t)},PS.prototype.getLocalScaling=PS.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Sr(t),VS)},PS.prototype.calculateLocalInertia=PS.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),vr(i,t,e)},PS.prototype.__destroy__=PS.prototype.__destroy__=function(){var t=this.ptr;gr(t)},MS.prototype=Object.create(mS.prototype),MS.prototype.constructor=MS,MS.prototype.__class__=MS,MS.__cache__={},i.btActionInterface=MS,MS.prototype.updateAction=MS.prototype.updateAction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Nn(i,t,e)},MS.prototype.__destroy__=MS.prototype.__destroy__=function(){var t=this.ptr;Gn(t)},VS.prototype=Object.create(mS.prototype),VS.prototype.constructor=VS,VS.prototype.__class__=VS,VS.__cache__={},i.btVector3=VS,VS.prototype.length=VS.prototype.length=function(){var t=this.ptr;return mg(t)},VS.prototype.x=VS.prototype.x=function(){var t=this.ptr;return jg(t)},VS.prototype.y=VS.prototype.y=function(){var t=this.ptr;return Dg(t)},VS.prototype.z=VS.prototype.z=function(){var t=this.ptr;return Ig(t)},VS.prototype.setX=VS.prototype.setX=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wg(e,t)},VS.prototype.setY=VS.prototype.setY=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kg(e,t)},VS.prototype.setZ=VS.prototype.setZ=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Rg(e,t)},VS.prototype.setValue=VS.prototype.setValue=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Sg(n,t,e,i)},VS.prototype.normalize=VS.prototype.normalize=function(){var t=this.ptr;hg(t)},VS.prototype.rotate=VS.prototype.rotate=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),yS(vg(i,t,e),VS)},VS.prototype.dot=VS.prototype.dot=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),ug(e,t)},VS.prototype.op_mul=VS.prototype.op_mul=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(gg(e,t),VS)},VS.prototype.op_add=VS.prototype.op_add=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(yg(e,t),VS)},VS.prototype.op_sub=VS.prototype.op_sub=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Cg(e,t),VS)},VS.prototype.__destroy__=VS.prototype.__destroy__=function(){var t=this.ptr;bg(t)},GS.prototype=Object.create(mS.prototype),GS.prototype.constructor=GS,GS.prototype.__class__=GS,GS.__cache__={},i.btVehicleRaycaster=GS,GS.prototype.castRay=GS.prototype.castRay=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),iC(n,t,e,i)},GS.prototype.__destroy__=GS.prototype.__destroy__=function(){var t=this.ptr;eC(t)},NS.prototype=Object.create(mS.prototype),NS.prototype.constructor=NS,NS.prototype.__class__=NS,NS.__cache__={},i.btQuadWord=NS,NS.prototype.x=NS.prototype.x=function(){var t=this.ptr;return Kb(t)},NS.prototype.y=NS.prototype.y=function(){var t=this.ptr;return qb(t)},NS.prototype.z=NS.prototype.z=function(){var t=this.ptr;return $b(t)},NS.prototype.w=NS.prototype.w=function(){var t=this.ptr;return zb(t)},NS.prototype.setX=NS.prototype.setX=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Yb(e,t)},NS.prototype.setY=NS.prototype.setY=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Jb(e,t)},NS.prototype.setZ=NS.prototype.setZ=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xb(e,t)},NS.prototype.setW=NS.prototype.setW=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ub(e,t)},NS.prototype.__destroy__=NS.prototype.__destroy__=function(){var t=this.ptr;Zb(t)},LS.prototype=Object.create(wS.prototype),LS.prototype.constructor=LS,LS.prototype.__class__=LS,LS.__cache__={},i.btCylinderShape=LS,LS.prototype.setMargin=LS.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),np(e,t)},LS.prototype.getMargin=LS.prototype.getMargin=function(){var t=this.ptr;return ep(t)},LS.prototype.setLocalScaling=LS.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ip(e,t)},LS.prototype.getLocalScaling=LS.prototype.getLocalScaling=function(){var t=this.ptr;return yS(tp(t),VS)},LS.prototype.calculateLocalInertia=LS.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),$s(i,t,e)},LS.prototype.__destroy__=LS.prototype.__destroy__=function(){var t=this.ptr;Ks(t)},QS.prototype=Object.create(RS.prototype),QS.prototype.constructor=QS,QS.prototype.__class__=QS,QS.__cache__={},i.btDiscreteDynamicsWorld=QS,QS.prototype.setGravity=QS.prototype.setGravity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),$p(e,t)},QS.prototype.getGravity=QS.prototype.getGravity=function(){var t=this.ptr;return yS(Ep(t),VS)},QS.prototype.addRigidBody=QS.prototype.addRigidBody=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==e?void 0!==i?Fp(n,t,e,i):_emscripten_bind_btDiscreteDynamicsWorld_addRigidBody_2(n,t,e):Wp(n,t)},QS.prototype.removeRigidBody=QS.prototype.removeRigidBody=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Kp(e,t)},QS.prototype.addConstraint=QS.prototype.addConstraint=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0!==e?Bp(i,t,e):Ip(i,t)},QS.prototype.removeConstraint=QS.prototype.removeConstraint=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zp(e,t)},QS.prototype.stepSimulation=QS.prototype.stepSimulation=function(t,e,i){var n=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0===e?tc(n,t):void 0===i?ec(n,t,e):ic(n,t,e,i)},QS.prototype.getDispatcher=QS.prototype.getDispatcher=function(){var t=this.ptr;return yS(Qp(t),HS)},QS.prototype.rayTest=QS.prototype.rayTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Yp(n,t,e,i)},QS.prototype.getPairCache=QS.prototype.getPairCache=function(){var t=this.ptr;return yS(Hp(t),tk)},QS.prototype.getDispatchInfo=QS.prototype.getDispatchInfo=function(){var t=this.ptr;return yS(Lp(t),qS)},QS.prototype.addCollisionObject=QS.prototype.addCollisionObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==e?void 0!==i?Dp(n,t,e,i):jp(n,t,e):Rp(n,t)},QS.prototype.removeCollisionObject=QS.prototype.removeCollisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xp(e,t)},QS.prototype.getBroadphase=QS.prototype.getBroadphase=function(){var t=this.ptr;return yS(Gp(t),iw)},QS.prototype.convexSweepTest=QS.prototype.convexSweepTest=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),Pp(_,t,e,i,n,o)},QS.prototype.contactPairTest=QS.prototype.contactPairTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Op(n,t,e,i)},QS.prototype.contactTest=QS.prototype.contactTest=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Tp(i,t,e)},QS.prototype.updateSingleAabb=QS.prototype.updateSingleAabb=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),nc(e,t)},QS.prototype.setDebugDrawer=QS.prototype.setDebugDrawer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),qp(e,t)},QS.prototype.getDebugDrawer=QS.prototype.getDebugDrawer=function(){var t=this.ptr;return yS(Np(t),BS)},QS.prototype.debugDrawWorld=QS.prototype.debugDrawWorld=function(){var t=this.ptr;Vp(t)},QS.prototype.debugDrawObject=QS.prototype.debugDrawObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Mp(n,t,e,i)},QS.prototype.performDiscreteCollisionDetection=QS.prototype.performDiscreteCollisionDetection=function(){var t=this.ptr;Up(t)},QS.prototype.addAction=QS.prototype.addAction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kp(e,t)},QS.prototype.removeAction=QS.prototype.removeAction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Jp(e,t)},QS.prototype.getSolverInfo=QS.prototype.getSolverInfo=function(){var t=this.ptr;return yS(Zp(t),Ck)},QS.prototype.__destroy__=QS.prototype.__destroy__=function(){var t=this.ptr;wp(t)},ES.prototype=Object.create(wS.prototype),ES.prototype.constructor=ES,ES.prototype.__class__=ES,ES.__cache__={},i.btConvexShape=ES,ES.prototype.setLocalScaling=ES.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),js(e,t)},ES.prototype.getLocalScaling=ES.prototype.getLocalScaling=function(){var t=this.ptr;return yS(ks(t),VS)},ES.prototype.calculateLocalInertia=ES.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),ws(i,t,e)},ES.prototype.setMargin=ES.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ds(e,t)},ES.prototype.getMargin=ES.prototype.getMargin=function(){var t=this.ptr;return Rs(t)},ES.prototype.__destroy__=ES.prototype.__destroy__=function(){var t=this.ptr;Ss(t)},HS.prototype=Object.create(mS.prototype),HS.prototype.constructor=HS,HS.prototype.__class__=HS,HS.__cache__={},i.btDispatcher=HS,HS.prototype.getNumManifolds=HS.prototype.getNumManifolds=function(){var t=this.ptr;return Ic(t)},HS.prototype.getManifoldByIndexInternal=HS.prototype.getManifoldByIndexInternal=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Dc(e,t),_w)},HS.prototype.__destroy__=HS.prototype.__destroy__=function(){var t=this.ptr;jc(t)},ZS.prototype=Object.create(jS.prototype),ZS.prototype.constructor=ZS,ZS.prototype.__class__=ZS,ZS.__cache__={},i.btGeneric6DofConstraint=ZS,ZS.prototype.setLinearLowerLimit=ZS.prototype.setLinearLowerLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Sa(e,t)},ZS.prototype.setLinearUpperLimit=ZS.prototype.setLinearUpperLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wa(e,t)},ZS.prototype.setAngularLowerLimit=ZS.prototype.setAngularLowerLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ga(e,t)},ZS.prototype.setAngularUpperLimit=ZS.prototype.setAngularUpperLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ca(e,t)},ZS.prototype.getFrameOffsetA=ZS.prototype.getFrameOffsetA=function(){var t=this.ptr;return yS(ha(t),nk)},ZS.prototype.enableFeedback=ZS.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ua(e,t)},ZS.prototype.getBreakingImpulseThreshold=ZS.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return ma(t)},ZS.prototype.setBreakingImpulseThreshold=ZS.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),va(e,t)},ZS.prototype.getParam=ZS.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),ya(i,t,e)},ZS.prototype.setParam=ZS.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),ka(n,t,e,i)},ZS.prototype.__destroy__=ZS.prototype.__destroy__=function(){var t=this.ptr;ba(t)},US.prototype=Object.create(mS.prototype),US.prototype.constructor=US,US.prototype.__class__=US,US.__cache__={},i.btStridingMeshInterface=US,US.prototype.setScaling=US.prototype.setScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Oy(e,t)},US.prototype.__destroy__=US.prototype.__destroy__=function(){var t=this.ptr;xy(t)},YS.prototype=Object.create(mS.prototype),YS.prototype.constructor=YS,YS.prototype.__class__=YS,YS.__cache__={},i.btMotionState=YS,YS.prototype.getWorldTransform=YS.prototype.getWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Zd(e,t)},YS.prototype.setWorldTransform=YS.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ud(e,t)},YS.prototype.__destroy__=YS.prototype.__destroy__=function(){var t=this.ptr;Hd(t)},JS.prototype=Object.create(mS.prototype),JS.prototype.constructor=JS,JS.prototype.__class__=JS,JS.__cache__={},i.ContactResultCallback=JS,JS.prototype.addSingleResult=JS.prototype.addSingleResult=function(t,e,i,n,o,_,r){var s=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),ri(s,t,e,i,n,o,_,r)},JS.prototype.__destroy__=JS.prototype.__destroy__=function(){var t=this.ptr;_i(t)},XS.prototype=Object.create(mS.prototype),XS.prototype.constructor=XS,XS.prototype.__class__=XS,XS.__cache__={},i.btSoftBodySolver=XS,XS.prototype.__destroy__=XS.prototype.__destroy__=function(){var t=this.ptr;fm(t)},zS.prototype=Object.create(mS.prototype),zS.prototype.constructor=zS,zS.prototype.__class__=zS,zS.__cache__={},i.RayResultCallback=zS,zS.prototype.hasHit=zS.prototype.hasHit=function(){var t=this.ptr;return!!un(t)},zS.prototype.get_m_collisionFilterGroup=zS.prototype.get_m_collisionFilterGroup=function(){var t=this.ptr;return bn(t)},zS.prototype.set_m_collisionFilterGroup=zS.prototype.set_m_collisionFilterGroup=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hn(e,t)},Object.defineProperty(zS.prototype,"m_collisionFilterGroup",{get:zS.prototype.get_m_collisionFilterGroup,set:zS.prototype.set_m_collisionFilterGroup}),zS.prototype.get_m_collisionFilterMask=zS.prototype.get_m_collisionFilterMask=function(){var t=this.ptr;return An(t)},zS.prototype.set_m_collisionFilterMask=zS.prototype.set_m_collisionFilterMask=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yn(e,t)},Object.defineProperty(zS.prototype,"m_collisionFilterMask",{get:zS.prototype.get_m_collisionFilterMask,set:zS.prototype.set_m_collisionFilterMask}),zS.prototype.get_m_closestHitFraction=zS.prototype.get_m_closestHitFraction=function(){var t=this.ptr;return dn(t)},zS.prototype.set_m_closestHitFraction=zS.prototype.set_m_closestHitFraction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mn(e,t)},Object.defineProperty(zS.prototype,"m_closestHitFraction",{get:zS.prototype.get_m_closestHitFraction,set:zS.prototype.set_m_closestHitFraction}),zS.prototype.get_m_collisionObject=zS.prototype.get_m_collisionObject=function(){var t=this.ptr;return yS(fn(t),kS)},zS.prototype.set_m_collisionObject=zS.prototype.set_m_collisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gn(e,t)},Object.defineProperty(zS.prototype,"m_collisionObject",{get:zS.prototype.get_m_collisionObject,set:zS.prototype.set_m_collisionObject}),zS.prototype.__destroy__=zS.prototype.__destroy__=function(){var t=this.ptr;ln(t)},KS.prototype=Object.create(mS.prototype),KS.prototype.constructor=KS,KS.prototype.__class__=KS,KS.__cache__={},i.btMatrix3x3=KS,KS.prototype.setEulerZYX=KS.prototype.setEulerZYX=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Qd(n,t,e,i)},KS.prototype.getRotation=KS.prototype.getRotation=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Nd(e,t)},KS.prototype.getRow=KS.prototype.getRow=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Ld(e,t),VS)},KS.prototype.setValue=KS.prototype.setValue=function(t,e,i,n,o,_,r,s,p){var c=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),s&&"object"==typeof s&&(s=s.ptr),p&&"object"==typeof p&&(p=p.ptr),Ed(c,t,e,i,n,o,_,r,s,p)},KS.prototype.__destroy__=KS.prototype.__destroy__=function(){var t=this.ptr;Gd(t)},qS.prototype=Object.create(mS.prototype),qS.prototype.constructor=qS,qS.prototype.__class__=qS,qS.__cache__={},i.btDispatcherInfo=qS,qS.prototype.get_m_timeStep=qS.prototype.get_m_timeStep=function(){var t=this.ptr;return dc(t)},qS.prototype.set_m_timeStep=qS.prototype.set_m_timeStep=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Sc(e,t)},Object.defineProperty(qS.prototype,"m_timeStep",{get:qS.prototype.get_m_timeStep,set:qS.prototype.set_m_timeStep}),qS.prototype.get_m_stepCount=qS.prototype.get_m_stepCount=function(){var t=this.ptr;return ac(t)},qS.prototype.set_m_stepCount=qS.prototype.set_m_stepCount=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Cc(e,t)},Object.defineProperty(qS.prototype,"m_stepCount",{get:qS.prototype.get_m_stepCount,set:qS.prototype.set_m_stepCount}),qS.prototype.get_m_dispatchFunc=qS.prototype.get_m_dispatchFunc=function(){var t=this.ptr;return sc(t)},qS.prototype.set_m_dispatchFunc=qS.prototype.set_m_dispatchFunc=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hc(e,t)},Object.defineProperty(qS.prototype,"m_dispatchFunc",{get:qS.prototype.get_m_dispatchFunc,set:qS.prototype.set_m_dispatchFunc}),qS.prototype.get_m_timeOfImpact=qS.prototype.get_m_timeOfImpact=function(){var t=this.ptr;return lc(t)},qS.prototype.set_m_timeOfImpact=qS.prototype.set_m_timeOfImpact=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vc(e,t)},Object.defineProperty(qS.prototype,"m_timeOfImpact",{get:qS.prototype.get_m_timeOfImpact,set:qS.prototype.set_m_timeOfImpact}),qS.prototype.get_m_useContinuous=qS.prototype.get_m_useContinuous=function(){var t=this.ptr;return!!bc(t)},qS.prototype.set_m_useContinuous=qS.prototype.set_m_useContinuous=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wc(e,t)},Object.defineProperty(qS.prototype,"m_useContinuous",{get:qS.prototype.get_m_useContinuous,set:qS.prototype.set_m_useContinuous}),qS.prototype.get_m_enableSatConvex=qS.prototype.get_m_enableSatConvex=function(){var t=this.ptr;return!!cc(t)},qS.prototype.set_m_enableSatConvex=qS.prototype.set_m_enableSatConvex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gc(e,t)},Object.defineProperty(qS.prototype,"m_enableSatConvex",{get:qS.prototype.get_m_enableSatConvex,set:qS.prototype.set_m_enableSatConvex}),qS.prototype.get_m_enableSPU=qS.prototype.get_m_enableSPU=function(){var t=this.ptr;return!!pc(t)},qS.prototype.set_m_enableSPU=qS.prototype.set_m_enableSPU=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yc(e,t)},Object.defineProperty(qS.prototype,"m_enableSPU",{get:qS.prototype.get_m_enableSPU,set:qS.prototype.set_m_enableSPU}),qS.prototype.get_m_useEpa=qS.prototype.get_m_useEpa=function(){var t=this.ptr;return!!fc(t)},qS.prototype.set_m_useEpa=qS.prototype.set_m_useEpa=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Rc(e,t)},Object.defineProperty(qS.prototype,"m_useEpa",{get:qS.prototype.get_m_useEpa,set:qS.prototype.set_m_useEpa}),qS.prototype.get_m_allowedCcdPenetration=qS.prototype.get_m_allowedCcdPenetration=function(){var t=this.ptr;return _c(t)},qS.prototype.set_m_allowedCcdPenetration=qS.prototype.set_m_allowedCcdPenetration=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),uc(e,t)},Object.defineProperty(qS.prototype,"m_allowedCcdPenetration",{get:qS.prototype.get_m_allowedCcdPenetration,set:qS.prototype.set_m_allowedCcdPenetration}),qS.prototype.get_m_useConvexConservativeDistanceUtil=qS.prototype.get_m_useConvexConservativeDistanceUtil=function(){var t=this.ptr;return!!Ac(t)},qS.prototype.set_m_useConvexConservativeDistanceUtil=qS.prototype.set_m_useConvexConservativeDistanceUtil=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kc(e,t)},Object.defineProperty(qS.prototype,"m_useConvexConservativeDistanceUtil",{get:qS.prototype.get_m_useConvexConservativeDistanceUtil,set:qS.prototype.set_m_useConvexConservativeDistanceUtil}),qS.prototype.get_m_convexConservativeDistanceThreshold=qS.prototype.get_m_convexConservativeDistanceThreshold=function(){var t=this.ptr;return rc(t)},qS.prototype.set_m_convexConservativeDistanceThreshold=qS.prototype.set_m_convexConservativeDistanceThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mc(e,t)},Object.defineProperty(qS.prototype,"m_convexConservativeDistanceThreshold",{get:qS.prototype.get_m_convexConservativeDistanceThreshold,set:qS.prototype.set_m_convexConservativeDistanceThreshold}),qS.prototype.__destroy__=qS.prototype.__destroy__=function(){var t=this.ptr;oc(t)},$S.prototype=Object.create(mS.prototype),$S.prototype.constructor=$S,$S.prototype.__class__=$S,$S.__cache__={},i.Material=$S,$S.prototype.get_m_kLST=$S.prototype.get_m_kLST=function(){var t=this.ptr;return Ei(t)},$S.prototype.set_m_kLST=$S.prototype.set_m_kLST=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Yi(e,t)},Object.defineProperty($S.prototype,"m_kLST",{get:$S.prototype.get_m_kLST,set:$S.prototype.set_m_kLST}),$S.prototype.get_m_kAST=$S.prototype.get_m_kAST=function(){var t=this.ptr;return Qi(t)},$S.prototype.set_m_kAST=$S.prototype.set_m_kAST=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ui(e,t)},Object.defineProperty($S.prototype,"m_kAST",{get:$S.prototype.get_m_kAST,set:$S.prototype.set_m_kAST}),$S.prototype.get_m_kVST=$S.prototype.get_m_kVST=function(){var t=this.ptr;return Hi(t)},$S.prototype.set_m_kVST=$S.prototype.set_m_kVST=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ji(e,t)},Object.defineProperty($S.prototype,"m_kVST",{get:$S.prototype.get_m_kVST,set:$S.prototype.set_m_kVST}),$S.prototype.get_m_flags=$S.prototype.get_m_flags=function(){var t=this.ptr;return Li(t)},$S.prototype.set_m_flags=$S.prototype.set_m_flags=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Zi(e,t)},Object.defineProperty($S.prototype,"m_flags",{get:$S.prototype.get_m_flags,set:$S.prototype.set_m_flags}),$S.prototype.__destroy__=$S.prototype.__destroy__=function(){var t=this.ptr;Ni(t)},tw.prototype=Object.create(mS.prototype),tw.prototype.constructor=tw,tw.prototype.__class__=tw,tw.__cache__={},i.btWheelInfoConstructionInfo=tw,tw.prototype.get_m_chassisConnectionCS=tw.prototype.get_m_chassisConnectionCS=function(){var t=this.ptr;return yS(hC(t),VS)},tw.prototype.set_m_chassisConnectionCS=tw.prototype.set_m_chassisConnectionCS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),BC(e,t)},Object.defineProperty(tw.prototype,"m_chassisConnectionCS",{get:tw.prototype.get_m_chassisConnectionCS,set:tw.prototype.set_m_chassisConnectionCS}),tw.prototype.get_m_wheelDirectionCS=tw.prototype.get_m_wheelDirectionCS=function(){var t=this.ptr;return yS(kC(t),VS)},tw.prototype.set_m_wheelDirectionCS=tw.prototype.set_m_wheelDirectionCS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),MC(e,t)},Object.defineProperty(tw.prototype,"m_wheelDirectionCS",{get:tw.prototype.get_m_wheelDirectionCS,set:tw.prototype.set_m_wheelDirectionCS}),tw.prototype.get_m_wheelAxleCS=tw.prototype.get_m_wheelAxleCS=function(){var t=this.ptr;return yS(wC(t),VS)},tw.prototype.set_m_wheelAxleCS=tw.prototype.set_m_wheelAxleCS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),PC(e,t)},Object.defineProperty(tw.prototype,"m_wheelAxleCS",{get:tw.prototype.get_m_wheelAxleCS,set:tw.prototype.set_m_wheelAxleCS}),tw.prototype.get_m_suspensionRestLength=tw.prototype.get_m_suspensionRestLength=function(){var t=this.ptr;return vC(t)},tw.prototype.set_m_suspensionRestLength=tw.prototype.set_m_suspensionRestLength=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),OC(e,t)},Object.defineProperty(tw.prototype,"m_suspensionRestLength",{get:tw.prototype.get_m_suspensionRestLength,set:tw.prototype.set_m_suspensionRestLength}),tw.prototype.get_m_maxSuspensionTravelCm=tw.prototype.get_m_maxSuspensionTravelCm=function(){var t=this.ptr;return CC(t)},tw.prototype.set_m_maxSuspensionTravelCm=tw.prototype.set_m_maxSuspensionTravelCm=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xC(e,t)},Object.defineProperty(tw.prototype,"m_maxSuspensionTravelCm",{get:tw.prototype.get_m_maxSuspensionTravelCm,set:tw.prototype.set_m_maxSuspensionTravelCm}),tw.prototype.get_m_wheelRadius=tw.prototype.get_m_wheelRadius=function(){var t=this.ptr;return RC(t)},tw.prototype.set_m_wheelRadius=tw.prototype.set_m_wheelRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),VC(e,t)},Object.defineProperty(tw.prototype,"m_wheelRadius",{get:tw.prototype.get_m_wheelRadius,set:tw.prototype.set_m_wheelRadius}),tw.prototype.get_m_suspensionStiffness=tw.prototype.get_m_suspensionStiffness=function(){var t=this.ptr;return SC(t)},tw.prototype.set_m_suspensionStiffness=tw.prototype.set_m_suspensionStiffness=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),TC(e,t)},Object.defineProperty(tw.prototype,"m_suspensionStiffness",{get:tw.prototype.get_m_suspensionStiffness,set:tw.prototype.set_m_suspensionStiffness}),tw.prototype.get_m_wheelsDampingCompression=tw.prototype.get_m_wheelsDampingCompression=function(){var t=this.ptr;return jC(t)},tw.prototype.set_m_wheelsDampingCompression=tw.prototype.set_m_wheelsDampingCompression=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),GC(e,t)},Object.defineProperty(tw.prototype,"m_wheelsDampingCompression",{get:tw.prototype.get_m_wheelsDampingCompression,set:tw.prototype.set_m_wheelsDampingCompression}),tw.prototype.get_m_wheelsDampingRelaxation=tw.prototype.get_m_wheelsDampingRelaxation=function(){var t=this.ptr;return DC(t)},tw.prototype.set_m_wheelsDampingRelaxation=tw.prototype.set_m_wheelsDampingRelaxation=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),NC(e,t)},Object.defineProperty(tw.prototype,"m_wheelsDampingRelaxation",{get:tw.prototype.get_m_wheelsDampingRelaxation,set:tw.prototype.set_m_wheelsDampingRelaxation}),tw.prototype.get_m_frictionSlip=tw.prototype.get_m_frictionSlip=function(){var t=this.ptr;return yC(t)},tw.prototype.set_m_frictionSlip=tw.prototype.set_m_frictionSlip=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),WC(e,t)},Object.defineProperty(tw.prototype,"m_frictionSlip",{get:tw.prototype.get_m_frictionSlip,set:tw.prototype.set_m_frictionSlip}),tw.prototype.get_m_maxSuspensionForce=tw.prototype.get_m_maxSuspensionForce=function(){var t=this.ptr;return gC(t)},tw.prototype.set_m_maxSuspensionForce=tw.prototype.set_m_maxSuspensionForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),FC(e,t)},Object.defineProperty(tw.prototype,"m_maxSuspensionForce",{get:tw.prototype.get_m_maxSuspensionForce,set:tw.prototype.set_m_maxSuspensionForce}),tw.prototype.get_m_bIsFrontWheel=tw.prototype.get_m_bIsFrontWheel=function(){var t=this.ptr;return!!mC(t)},tw.prototype.set_m_bIsFrontWheel=tw.prototype.set_m_bIsFrontWheel=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),IC(e,t)},Object.defineProperty(tw.prototype,"m_bIsFrontWheel",{get:tw.prototype.get_m_bIsFrontWheel,set:tw.prototype.set_m_bIsFrontWheel}),tw.prototype.__destroy__=tw.prototype.__destroy__=function(){var t=this.ptr;uC(t)},ew.prototype=Object.create(ES.prototype),ew.prototype.constructor=ew,ew.prototype.__class__=ew,ew.__cache__={},i.btConvexTriangleMeshShape=ew,ew.prototype.setLocalScaling=ew.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ts(e,t)},ew.prototype.getLocalScaling=ew.prototype.getLocalScaling=function(){var t=this.ptr;return yS(xs(t),VS)},ew.prototype.calculateLocalInertia=ew.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Fs(i,t,e)},ew.prototype.setMargin=ew.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ps(e,t)},ew.prototype.getMargin=ew.prototype.getMargin=function(){var t=this.ptr;return Os(t)},ew.prototype.__destroy__=ew.prototype.__destroy__=function(){var t=this.ptr;Is(t)},iw.prototype=Object.create(mS.prototype),iw.prototype.constructor=iw,iw.prototype.__class__=iw,iw.__cache__={},i.btBroadphaseInterface=iw,iw.prototype.__destroy__=iw.prototype.__destroy__=function(){var t=this.ptr;$n(t)},nw.prototype=Object.create(mS.prototype),nw.prototype.constructor=nw,nw.prototype.__class__=nw,nw.__cache__={},i.btRigidBodyConstructionInfo=nw,nw.prototype.get_m_linearDamping=nw.prototype.get_m_linearDamping=function(){var t=this.ptr;return yf(t)},nw.prototype.set_m_linearDamping=nw.prototype.set_m_linearDamping=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wf(e,t)},Object.defineProperty(nw.prototype,"m_linearDamping",{get:nw.prototype.get_m_linearDamping,set:nw.prototype.set_m_linearDamping}),nw.prototype.get_m_angularDamping=nw.prototype.get_m_angularDamping=function(){var t=this.ptr;return uf(t)},nw.prototype.set_m_angularDamping=nw.prototype.set_m_angularDamping=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Df(e,t)},Object.defineProperty(nw.prototype,"m_angularDamping",{get:nw.prototype.get_m_angularDamping,set:nw.prototype.set_m_angularDamping}),nw.prototype.get_m_friction=nw.prototype.get_m_friction=function(){var t=this.ptr;return hf(t)},nw.prototype.set_m_friction=nw.prototype.set_m_friction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bf(e,t)},Object.defineProperty(nw.prototype,"m_friction",{get:nw.prototype.get_m_friction,set:nw.prototype.set_m_friction}),nw.prototype.get_m_rollingFriction=nw.prototype.get_m_rollingFriction=function(){var t=this.ptr;return vf(t)},nw.prototype.set_m_rollingFriction=nw.prototype.set_m_rollingFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Of(e,t)},Object.defineProperty(nw.prototype,"m_rollingFriction",{get:nw.prototype.get_m_rollingFriction,set:nw.prototype.set_m_rollingFriction}),nw.prototype.get_m_restitution=nw.prototype.get_m_restitution=function(){var t=this.ptr;return Cf(t)},nw.prototype.set_m_restitution=nw.prototype.set_m_restitution=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xf(e,t)},Object.defineProperty(nw.prototype,"m_restitution",{get:nw.prototype.get_m_restitution,set:nw.prototype.set_m_restitution}),nw.prototype.get_m_linearSleepingThreshold=nw.prototype.get_m_linearSleepingThreshold=function(){var t=this.ptr;return gf(t)},nw.prototype.set_m_linearSleepingThreshold=nw.prototype.set_m_linearSleepingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ff(e,t)},Object.defineProperty(nw.prototype,"m_linearSleepingThreshold",{get:nw.prototype.get_m_linearSleepingThreshold,set:nw.prototype.set_m_linearSleepingThreshold}),nw.prototype.get_m_angularSleepingThreshold=nw.prototype.get_m_angularSleepingThreshold=function(){var t=this.ptr;return mf(t)},nw.prototype.set_m_angularSleepingThreshold=nw.prototype.set_m_angularSleepingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),If(e,t)},Object.defineProperty(nw.prototype,"m_angularSleepingThreshold",{get:nw.prototype.get_m_angularSleepingThreshold,set:nw.prototype.set_m_angularSleepingThreshold}),nw.prototype.get_m_additionalDamping=nw.prototype.get_m_additionalDamping=function(){var t=this.ptr;return!!Af(t)},nw.prototype.set_m_additionalDamping=nw.prototype.set_m_additionalDamping=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Rf(e,t)},Object.defineProperty(nw.prototype,"m_additionalDamping",{get:nw.prototype.get_m_additionalDamping,set:nw.prototype.set_m_additionalDamping}),nw.prototype.get_m_additionalDampingFactor=nw.prototype.get_m_additionalDampingFactor=function(){var t=this.ptr;return bf(t)},nw.prototype.set_m_additionalDampingFactor=nw.prototype.set_m_additionalDampingFactor=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kf(e,t)},Object.defineProperty(nw.prototype,"m_additionalDampingFactor",{get:nw.prototype.get_m_additionalDampingFactor,set:nw.prototype.set_m_additionalDampingFactor}),nw.prototype.get_m_additionalLinearDampingThresholdSqr=nw.prototype.get_m_additionalLinearDampingThresholdSqr=function(){var t=this.ptr;return ff(t)},nw.prototype.set_m_additionalLinearDampingThresholdSqr=nw.prototype.set_m_additionalLinearDampingThresholdSqr=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),jf(e,t)},Object.defineProperty(nw.prototype,"m_additionalLinearDampingThresholdSqr",{get:nw.prototype.get_m_additionalLinearDampingThresholdSqr,set:nw.prototype.set_m_additionalLinearDampingThresholdSqr}),nw.prototype.get_m_additionalAngularDampingThresholdSqr=nw.prototype.get_m_additionalAngularDampingThresholdSqr=function(){var t=this.ptr;return df(t)},nw.prototype.set_m_additionalAngularDampingThresholdSqr=nw.prototype.set_m_additionalAngularDampingThresholdSqr=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wf(e,t)},Object.defineProperty(nw.prototype,"m_additionalAngularDampingThresholdSqr",{get:nw.prototype.get_m_additionalAngularDampingThresholdSqr,set:nw.prototype.set_m_additionalAngularDampingThresholdSqr}),nw.prototype.get_m_additionalAngularDampingFactor=nw.prototype.get_m_additionalAngularDampingFactor=function(){var t=this.ptr;return lf(t)},nw.prototype.set_m_additionalAngularDampingFactor=nw.prototype.set_m_additionalAngularDampingFactor=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Sf(e,t)},Object.defineProperty(nw.prototype,"m_additionalAngularDampingFactor",{get:nw.prototype.get_m_additionalAngularDampingFactor,set:nw.prototype.set_m_additionalAngularDampingFactor}),nw.prototype.__destroy__=nw.prototype.__destroy__=function(){var t=this.ptr;pf(t)},ow.prototype=Object.create(mS.prototype),ow.prototype.constructor=ow,ow.prototype.__class__=ow,ow.__cache__={},i.btCollisionConfiguration=ow,ow.prototype.__destroy__=ow.prototype.__destroy__=function(){var t=this.ptr;Qo(t)},_w.prototype=Object.create(mS.prototype),_w.prototype.constructor=_w,_w.prototype.__class__=_w,_w.__cache__={},i.btPersistentManifold=_w,_w.prototype.getBody0=_w.prototype.getBody0=function(){var t=this.ptr;return yS(jb(t),kS)},_w.prototype.getBody1=_w.prototype.getBody1=function(){var t=this.ptr;return yS(Db(t),kS)},_w.prototype.getNumContacts=_w.prototype.getNumContacts=function(){var t=this.ptr;return Bb(t)},_w.prototype.getContactPoint=_w.prototype.getContactPoint=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Ib(e,t),ak)},_w.prototype.__destroy__=_w.prototype.__destroy__=function(){var t=this.ptr;kb(t)},rw.prototype=Object.create(wS.prototype),rw.prototype.constructor=rw,rw.prototype.__class__=rw,rw.__cache__={},i.btCompoundShape=rw,rw.prototype.addChildShape=rw.prototype.addChildShape=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),U_(i,t,e)},rw.prototype.removeChildShapeByIndex=rw.prototype.removeChildShapeByIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),er(e,t)},rw.prototype.getNumChildShapes=rw.prototype.getNumChildShapes=function(){var t=this.ptr;return $_(t)},rw.prototype.getChildShape=rw.prototype.getChildShape=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(z_(e,t),wS)},rw.prototype.setMargin=rw.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),nr(e,t)},rw.prototype.getMargin=rw.prototype.getMargin=function(){var t=this.ptr;return q_(t)},rw.prototype.updateChildTransform=rw.prototype.updateChildTransform=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==i?_r(n,t,e,i):or(n,t,e)},rw.prototype.recalculateLocalAabb=rw.prototype.recalculateLocalAabb=function(){var t=this.ptr;tr(t)},rw.prototype.setLocalScaling=rw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ir(e,t)},rw.prototype.getLocalScaling=rw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(K_(t),VS)},rw.prototype.calculateLocalInertia=rw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),X_(i,t,e)},rw.prototype.__destroy__=rw.prototype.__destroy__=function(){var t=this.ptr;Z_(t)},sw.prototype=Object.create(xS.prototype),sw.prototype.constructor=sw,sw.prototype.__class__=sw,sw.__cache__={},i.ClosestConvexResultCallback=sw,sw.prototype.hasHit=sw.prototype.hasHit=function(){var t=this.ptr;return!!Ft(t)},sw.prototype.get_m_convexFromWorld=sw.prototype.get_m_convexFromWorld=function(){var t=this.ptr;return yS(Dt(t),VS)},sw.prototype.set_m_convexFromWorld=sw.prototype.set_m_convexFromWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pt(e,t)},Object.defineProperty(sw.prototype,"m_convexFromWorld",{get:sw.prototype.get_m_convexFromWorld,set:sw.prototype.set_m_convexFromWorld}),sw.prototype.get_m_convexToWorld=sw.prototype.get_m_convexToWorld=function(){var t=this.ptr;return yS(It(t),VS)},sw.prototype.set_m_convexToWorld=sw.prototype.set_m_convexToWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Mt(e,t)},Object.defineProperty(sw.prototype,"m_convexToWorld",{get:sw.prototype.get_m_convexToWorld,set:sw.prototype.set_m_convexToWorld}),sw.prototype.get_m_hitNormalWorld=sw.prototype.get_m_hitNormalWorld=function(){var t=this.ptr;return yS(Bt(t),VS)},sw.prototype.set_m_hitNormalWorld=sw.prototype.set_m_hitNormalWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vt(e,t)},Object.defineProperty(sw.prototype,"m_hitNormalWorld",{get:sw.prototype.get_m_hitNormalWorld,set:sw.prototype.set_m_hitNormalWorld}),sw.prototype.get_m_hitPointWorld=sw.prototype.get_m_hitPointWorld=function(){var t=this.ptr;return yS(Wt(t),VS)},sw.prototype.set_m_hitPointWorld=sw.prototype.set_m_hitPointWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Gt(e,t)},Object.defineProperty(sw.prototype,"m_hitPointWorld",{get:sw.prototype.get_m_hitPointWorld,set:sw.prototype.set_m_hitPointWorld}),sw.prototype.get_m_collisionFilterGroup=sw.prototype.get_m_collisionFilterGroup=function(){var t=this.ptr;return Rt(t)},sw.prototype.set_m_collisionFilterGroup=sw.prototype.set_m_collisionFilterGroup=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ot(e,t)},Object.defineProperty(sw.prototype,"m_collisionFilterGroup",{get:sw.prototype.get_m_collisionFilterGroup,set:sw.prototype.set_m_collisionFilterGroup}),sw.prototype.get_m_collisionFilterMask=sw.prototype.get_m_collisionFilterMask=function(){var t=this.ptr;return jt(t)},sw.prototype.set_m_collisionFilterMask=sw.prototype.set_m_collisionFilterMask=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Tt(e,t)},Object.defineProperty(sw.prototype,"m_collisionFilterMask",{get:sw.prototype.get_m_collisionFilterMask,set:sw.prototype.set_m_collisionFilterMask}),sw.prototype.get_m_closestHitFraction=sw.prototype.get_m_closestHitFraction=function(){var t=this.ptr;return kt(t)},sw.prototype.set_m_closestHitFraction=sw.prototype.set_m_closestHitFraction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xt(e,t)},Object.defineProperty(sw.prototype,"m_closestHitFraction",{get:sw.prototype.get_m_closestHitFraction,set:sw.prototype.set_m_closestHitFraction}),sw.prototype.__destroy__=sw.prototype.__destroy__=function(){var t=this.ptr;wt(t)},pw.prototype=Object.create(mS.prototype),pw.prototype.constructor=pw,pw.prototype.__class__=pw,pw.__cache__={},i.tMaterialArray=pw,pw.prototype.size=pw.prototype.size=function(){var t=this.ptr;return Yv(t)},pw.prototype.at=pw.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Uv(e,t),$S)},pw.prototype.__destroy__=pw.prototype.__destroy__=function(){var t=this.ptr;Zv(t)},cw.prototype=Object.create(GS.prototype),cw.prototype.constructor=cw,cw.prototype.__class__=cw,cw.__cache__={},i.btDefaultVehicleRaycaster=cw,cw.prototype.castRay=cw.prototype.castRay=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Sp(n,t,e,i)},cw.prototype.__destroy__=cw.prototype.__destroy__=function(){var t=this.ptr;Cp(t)},aw.prototype=Object.create(mS.prototype),aw.prototype.constructor=aw,aw.prototype.__class__=aw,aw.__cache__={},i.btConstraintSetting=aw,aw.prototype.get_m_tau=aw.prototype.get_m_tau=function(){var t=this.ptr;return Zr(t)},aw.prototype.set_m_tau=aw.prototype.set_m_tau=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Jr(e,t)},Object.defineProperty(aw.prototype,"m_tau",{get:aw.prototype.get_m_tau,set:aw.prototype.set_m_tau}),aw.prototype.get_m_damping=aw.prototype.get_m_damping=function(){var t=this.ptr;return Er(t)},aw.prototype.set_m_damping=aw.prototype.set_m_damping=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ur(e,t)},Object.defineProperty(aw.prototype,"m_damping",{get:aw.prototype.get_m_damping,set:aw.prototype.set_m_damping}),aw.prototype.get_m_impulseClamp=aw.prototype.get_m_impulseClamp=function(){var t=this.ptr;return Hr(t)},aw.prototype.set_m_impulseClamp=aw.prototype.set_m_impulseClamp=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Yr(e,t)},Object.defineProperty(aw.prototype,"m_impulseClamp",{get:aw.prototype.get_m_impulseClamp,set:aw.prototype.set_m_impulseClamp}),aw.prototype.__destroy__=aw.prototype.__destroy__=function(){var t=this.ptr;Lr(t)},lw.prototype=Object.create(mS.prototype),lw.prototype.constructor=lw,lw.prototype.__class__=lw,lw.__cache__={},i.LocalShapeInfo=lw,lw.prototype.get_m_shapePart=lw.prototype.get_m_shapePart=function(){var t=this.ptr;return Pi(t)},lw.prototype.set_m_shapePart=lw.prototype.set_m_shapePart=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vi(e,t)},Object.defineProperty(lw.prototype,"m_shapePart",{get:lw.prototype.get_m_shapePart,set:lw.prototype.set_m_shapePart}),lw.prototype.get_m_triangleIndex=lw.prototype.get_m_triangleIndex=function(){var t=this.ptr;return Mi(t)},lw.prototype.set_m_triangleIndex=lw.prototype.set_m_triangleIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Gi(e,t)},Object.defineProperty(lw.prototype,"m_triangleIndex",{get:lw.prototype.get_m_triangleIndex,set:lw.prototype.set_m_triangleIndex}),lw.prototype.__destroy__=lw.prototype.__destroy__=function(){var t=this.ptr;Ti(t)},dw.prototype=Object.create(kS.prototype),dw.prototype.constructor=dw,dw.prototype.__class__=dw,dw.__cache__={},i.btRigidBody=dw,dw.prototype.getCenterOfMassTransform=dw.prototype.getCenterOfMassTransform=function(){var t=this.ptr;return yS(qf(t),nk)},dw.prototype.setCenterOfMassTransform=dw.prototype.setCenterOfMassTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mu(e,t)},dw.prototype.setSleepingThresholds=dw.prototype.setSleepingThresholds=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Bu(i,t,e)},dw.prototype.setDamping=dw.prototype.setDamping=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Cu(i,t,e)},dw.prototype.setMassProps=dw.prototype.setMassProps=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ru(i,t,e)},dw.prototype.setLinearFactor=dw.prototype.setLinearFactor=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wu(e,t)},dw.prototype.applyTorque=dw.prototype.applyTorque=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Uf(e,t)},dw.prototype.applyLocalTorque=dw.prototype.applyLocalTorque=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Hf(e,t)},dw.prototype.applyForce=dw.prototype.applyForce=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Lf(i,t,e)},dw.prototype.applyCentralForce=dw.prototype.applyCentralForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vf(e,t)},dw.prototype.applyCentralLocalForce=dw.prototype.applyCentralLocalForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Nf(e,t)},dw.prototype.applyTorqueImpulse=dw.prototype.applyTorqueImpulse=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Zf(e,t)},dw.prototype.applyImpulse=dw.prototype.applyImpulse=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ef(i,t,e)},dw.prototype.applyCentralImpulse=dw.prototype.applyCentralImpulse=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Gf(e,t)},dw.prototype.updateInertiaTensor=dw.prototype.updateInertiaTensor=function(){var t=this.ptr;Tu(t)},dw.prototype.getLinearVelocity=dw.prototype.getLinearVelocity=function(){var t=this.ptr;return yS(iu(t),VS)},dw.prototype.getAngularVelocity=dw.prototype.getAngularVelocity=function(){var t=this.ptr;return yS(zf(t),VS)},dw.prototype.setLinearVelocity=dw.prototype.setLinearVelocity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ku(e,t)},dw.prototype.setAngularVelocity=dw.prototype.setAngularVelocity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),bu(e,t)},dw.prototype.getMotionState=dw.prototype.getMotionState=function(){var t=this.ptr;return yS(nu(t),YS)},dw.prototype.setMotionState=dw.prototype.setMotionState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ju(e,t)},dw.prototype.setAngularFactor=dw.prototype.setAngularFactor=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),du(e,t)},dw.prototype.upcast=dw.prototype.upcast=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Ou(e,t),dw)},dw.prototype.getAabb=dw.prototype.getAabb=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Xf(i,t,e)},dw.prototype.applyGravity=dw.prototype.applyGravity=function(){var t=this.ptr;Qf(t)},dw.prototype.getGravity=dw.prototype.getGravity=function(){var t=this.ptr;return yS(eu(t),VS)},dw.prototype.setGravity=dw.prototype.setGravity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Su(e,t)},dw.prototype.getBroadphaseProxy=dw.prototype.getBroadphaseProxy=function(){var t=this.ptr;return yS(Kf(t),Ak)},dw.prototype.setAnisotropicFriction=dw.prototype.setAnisotropicFriction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Au(i,t,e)},dw.prototype.getCollisionShape=dw.prototype.getCollisionShape=function(){var t=this.ptr;return yS(tu(t),wS)},dw.prototype.setContactProcessingThreshold=dw.prototype.setContactProcessingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gu(e,t)},dw.prototype.setActivationState=dw.prototype.setActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),lu(e,t)},dw.prototype.forceActivationState=dw.prototype.forceActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Jf(e,t)},dw.prototype.activate=dw.prototype.activate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),void 0!==t?Mf(e,t):Pf(e)},dw.prototype.isActive=dw.prototype.isActive=function(){var t=this.ptr;return!!su(t)},dw.prototype.isKinematicObject=dw.prototype.isKinematicObject=function(){var t=this.ptr;return!!pu(t)},dw.prototype.isStaticObject=dw.prototype.isStaticObject=function(){var t=this.ptr;return!!cu(t)},dw.prototype.isStaticOrKinematicObject=dw.prototype.isStaticOrKinematicObject=function(){var t=this.ptr;return!!au(t)},dw.prototype.setRestitution=dw.prototype.setRestitution=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Du(e,t)},dw.prototype.setFriction=dw.prototype.setFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vu(e,t)},dw.prototype.setRollingFriction=dw.prototype.setRollingFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Iu(e,t)},dw.prototype.getWorldTransform=dw.prototype.getWorldTransform=function(){var t=this.ptr;return yS(ru(t),nk)},dw.prototype.getCollisionFlags=dw.prototype.getCollisionFlags=function(){var t=this.ptr;return $f(t)},dw.prototype.setCollisionFlags=dw.prototype.setCollisionFlags=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hu(e,t)},dw.prototype.setWorldTransform=dw.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xu(e,t)},dw.prototype.setCollisionShape=dw.prototype.setCollisionShape=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yu(e,t)},dw.prototype.setCcdMotionThreshold=dw.prototype.setCcdMotionThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fu(e,t)},dw.prototype.setCcdSweptSphereRadius=dw.prototype.setCcdSweptSphereRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),uu(e,t)},dw.prototype.getUserIndex=dw.prototype.getUserIndex=function(){var t=this.ptr;return ou(t)},dw.prototype.setUserIndex=dw.prototype.setUserIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wu(e,t)},dw.prototype.getUserPointer=dw.prototype.getUserPointer=function(){var t=this.ptr;return yS(_u(t),bk)},dw.prototype.setUserPointer=dw.prototype.setUserPointer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fu(e,t)},dw.prototype.__destroy__=dw.prototype.__destroy__=function(){var t=this.ptr;Tf(t)},bw.prototype=Object.create(mS.prototype),bw.prototype.constructor=bw,bw.prototype.__class__=bw,bw.__cache__={},i.btConvexPolyhedron=bw,bw.prototype.get_m_vertices=bw.prototype.get_m_vertices=function(){var t=this.ptr;return yS(gs(t),Tw)},bw.prototype.set_m_vertices=bw.prototype.set_m_vertices=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vs(e,t)},Object.defineProperty(bw.prototype,"m_vertices",{get:bw.prototype.get_m_vertices,set:bw.prototype.set_m_vertices}),bw.prototype.get_m_faces=bw.prototype.get_m_faces=function(){var t=this.ptr;return yS(ys(t),qw)},bw.prototype.set_m_faces=bw.prototype.set_m_faces=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Cs(e,t)},Object.defineProperty(bw.prototype,"m_faces",{get:bw.prototype.get_m_faces,set:bw.prototype.set_m_faces}),bw.prototype.__destroy__=bw.prototype.__destroy__=function(){var t=this.ptr;hs(t)},Aw.prototype=Object.create(mS.prototype),Aw.prototype.constructor=Aw,Aw.prototype.__class__=Aw,Aw.__cache__={},i.btDbvtBroadphase=Aw,Aw.prototype.__destroy__=Aw.prototype.__destroy__=function(){var t=this.ptr;op(t)},fw.prototype=Object.create(DS.prototype),fw.prototype.constructor=fw,fw.prototype.__class__=fw,fw.__cache__={},i.btHeightfieldTerrainShape=fw,fw.prototype.setMargin=fw.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kl(e,t)},fw.prototype.getMargin=fw.prototype.getMargin=function(){var t=this.ptr;return Sl(t)},fw.prototype.setLocalScaling=fw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wl(e,t)},fw.prototype.getLocalScaling=fw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(vl(t),VS)},fw.prototype.calculateLocalInertia=fw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Cl(i,t,e)},fw.prototype.__destroy__=fw.prototype.__destroy__=function(){var t=this.ptr;yl(t)},uw.prototype=Object.create(XS.prototype),uw.prototype.constructor=uw,uw.prototype.__class__=uw,uw.__cache__={},i.btDefaultSoftBodySolver=uw,uw.prototype.__destroy__=uw.prototype.__destroy__=function(){var t=this.ptr;yp(t)},mw.prototype=Object.create(HS.prototype),mw.prototype.constructor=mw,mw.prototype.__class__=mw,mw.__cache__={},i.btCollisionDispatcher=mw,mw.prototype.getNumManifolds=mw.prototype.getNumManifolds=function(){var t=this.ptr;return Uo(t)},mw.prototype.getManifoldByIndexInternal=mw.prototype.getManifoldByIndexInternal=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Zo(e,t),_w)},mw.prototype.__destroy__=mw.prototype.__destroy__=function(){var t=this.ptr;Eo(t)},hw.prototype=Object.create(mS.prototype),hw.prototype.constructor=hw,hw.prototype.__class__=hw,hw.__cache__={},i.btAxisSweep3=hw,hw.prototype.__destroy__=hw.prototype.__destroy__=function(){var t=this.ptr;Ln(t)},yw.prototype=Object.create(mS.prototype),yw.prototype.constructor=yw,yw.prototype.__class__=yw,yw.__cache__={},i.btSoftBodyWorldInfo=yw,yw.prototype.get_air_density=yw.prototype.get_air_density=function(){var t=this.ptr;return hm(t)},yw.prototype.set_air_density=yw.prototype.set_air_density=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Rm(e,t)},Object.defineProperty(yw.prototype,"air_density",{get:yw.prototype.get_air_density,set:yw.prototype.set_air_density}),yw.prototype.get_water_density=yw.prototype.get_water_density=function(){var t=this.ptr;return Sm(t)},yw.prototype.set_water_density=yw.prototype.set_water_density=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wm(e,t)},Object.defineProperty(yw.prototype,"water_density",{get:yw.prototype.get_water_density,set:yw.prototype.set_water_density}),yw.prototype.get_water_offset=yw.prototype.get_water_offset=function(){var t=this.ptr;return km(t)},yw.prototype.set_water_offset=yw.prototype.set_water_offset=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xm(e,t)},Object.defineProperty(yw.prototype,"water_offset",{get:yw.prototype.get_water_offset,set:yw.prototype.set_water_offset}),yw.prototype.get_m_maxDisplacement=yw.prototype.get_m_maxDisplacement=function(){var t=this.ptr;return vm(t)},yw.prototype.set_m_maxDisplacement=yw.prototype.set_m_maxDisplacement=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bm(e,t)},Object.defineProperty(yw.prototype,"m_maxDisplacement",{get:yw.prototype.get_m_maxDisplacement,set:yw.prototype.set_m_maxDisplacement}),yw.prototype.get_water_normal=yw.prototype.get_water_normal=function(){var t=this.ptr;return yS(wm(t),VS)},yw.prototype.set_water_normal=yw.prototype.set_water_normal=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fm(e,t)},Object.defineProperty(yw.prototype,"water_normal",{get:yw.prototype.get_water_normal,set:yw.prototype.set_water_normal}),yw.prototype.get_m_broadphase=yw.prototype.get_m_broadphase=function(){var t=this.ptr;return yS(ym(t),iw)},yw.prototype.set_m_broadphase=yw.prototype.set_m_broadphase=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),jm(e,t)},Object.defineProperty(yw.prototype,"m_broadphase",{get:yw.prototype.get_m_broadphase,set:yw.prototype.set_m_broadphase}),yw.prototype.get_m_dispatcher=yw.prototype.get_m_dispatcher=function(){var t=this.ptr;return yS(gm(t),HS)},yw.prototype.set_m_dispatcher=yw.prototype.set_m_dispatcher=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Dm(e,t)},Object.defineProperty(yw.prototype,"m_dispatcher",{get:yw.prototype.get_m_dispatcher,set:yw.prototype.set_m_dispatcher}),yw.prototype.get_m_gravity=yw.prototype.get_m_gravity=function(){var t=this.ptr;return yS(Cm(t),VS)},yw.prototype.set_m_gravity=yw.prototype.set_m_gravity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Im(e,t)},Object.defineProperty(yw.prototype,"m_gravity",{get:yw.prototype.get_m_gravity,set:yw.prototype.set_m_gravity}),yw.prototype.__destroy__=yw.prototype.__destroy__=function(){var t=this.ptr;um(t)},gw.prototype=Object.create(jS.prototype),gw.prototype.constructor=gw,gw.prototype.__class__=gw,gw.__cache__={},i.btConeTwistConstraint=gw,gw.prototype.setLimit=gw.prototype.setLimit=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Tr(i,t,e)},gw.prototype.setAngularOnly=gw.prototype.setAngularOnly=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fr(e,t)},gw.prototype.setDamping=gw.prototype.setDamping=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Or(e,t)},gw.prototype.enableMotor=gw.prototype.enableMotor=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ir(e,t)},gw.prototype.setMaxMotorImpulse=gw.prototype.setMaxMotorImpulse=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Mr(e,t)},gw.prototype.setMaxMotorImpulseNormalized=gw.prototype.setMaxMotorImpulseNormalized=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pr(e,t)},gw.prototype.setMotorTarget=gw.prototype.setMotorTarget=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Gr(e,t)},gw.prototype.setMotorTargetInConstraintSpace=gw.prototype.setMotorTargetInConstraintSpace=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vr(e,t)},gw.prototype.enableFeedback=gw.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Dr(e,t)},gw.prototype.getBreakingImpulseThreshold=gw.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return Br(t)},gw.prototype.setBreakingImpulseThreshold=gw.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xr(e,t)},gw.prototype.getParam=gw.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Wr(i,t,e)},gw.prototype.setParam=gw.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Nr(n,t,e,i)},gw.prototype.__destroy__=gw.prototype.__destroy__=function(){var t=this.ptr;kr(t)},Cw.prototype=Object.create(jS.prototype),Cw.prototype.constructor=Cw,Cw.prototype.__class__=Cw,Cw.__cache__={},i.btHingeConstraint=Cw,Cw.prototype.setLimit=Cw.prototype.setLimit=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),void 0!==o?Ll(_,t,e,i,n,o):Nl(_,t,e,i,n)},Cw.prototype.enableAngularMotor=Cw.prototype.enableAngularMotor=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),xl(n,t,e,i)},Cw.prototype.setAngularOnly=Cw.prototype.setAngularOnly=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vl(e,t)},Cw.prototype.enableMotor=Cw.prototype.enableMotor=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Tl(e,t)},Cw.prototype.setMaxMotorImpulse=Cw.prototype.setMaxMotorImpulse=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ql(e,t)},Cw.prototype.setMotorTarget=Cw.prototype.setMotorTarget=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),El(i,t,e)},Cw.prototype.enableFeedback=Cw.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ol(e,t)},Cw.prototype.getBreakingImpulseThreshold=Cw.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return Pl(t)},Cw.prototype.setBreakingImpulseThreshold=Cw.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Gl(e,t)},Cw.prototype.getParam=Cw.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ml(i,t,e)},Cw.prototype.setParam=Cw.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Hl(n,t,e,i)},Cw.prototype.__destroy__=Cw.prototype.__destroy__=function(){var t=this.ptr;Rl(t)},vw.prototype=Object.create(PS.prototype),vw.prototype.constructor=vw,vw.prototype.__class__=vw,vw.__cache__={},i.btConeShapeZ=vw,vw.prototype.setLocalScaling=vw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yr(e,t)},vw.prototype.getLocalScaling=vw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(hr(t),VS)},vw.prototype.calculateLocalInertia=vw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),mr(i,t,e)},vw.prototype.__destroy__=vw.prototype.__destroy__=function(){var t=this.ptr;fr(t)},Sw.prototype=Object.create(PS.prototype),Sw.prototype.constructor=Sw,Sw.prototype.__class__=Sw,Sw.__cache__={},i.btConeShapeX=Sw,Sw.prototype.setLocalScaling=Sw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ar(e,t)},Sw.prototype.getLocalScaling=Sw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(br(t),VS)},Sw.prototype.calculateLocalInertia=Sw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),dr(i,t,e)},Sw.prototype.__destroy__=Sw.prototype.__destroy__=function(){var t=this.ptr;ar(t)},ww.prototype=Object.create(US.prototype),ww.prototype.constructor=ww,ww.prototype.__class__=ww,ww.__cache__={},i.btTriangleMesh=ww,ww.prototype.addTriangle=ww.prototype.addTriangle=function(t,e,i,n){var o=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),void 0!==n?$y(o,t,e,i,n):qy(o,t,e,i)},ww.prototype.setScaling=ww.prototype.setScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ng(e,t)},ww.prototype.__destroy__=ww.prototype.__destroy__=function(){var t=this.ptr;Ky(t)},kw.prototype=Object.create(wS.prototype),kw.prototype.constructor=kw,kw.prototype.__class__=kw,kw.__cache__={},i.btConvexHullShape=kw,kw.prototype.addPoint=kw.prototype.addPoint=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0!==e?_s(i,t,e):os(i,t)},kw.prototype.setMargin=kw.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ms(e,t)},kw.prototype.getMargin=kw.prototype.getMargin=function(){var t=this.ptr;return ds(t)},kw.prototype.getNumVertices=kw.prototype.getNumVertices=function(){var t=this.ptr;return bs(t)},kw.prototype.initializePolyhedralFeatures=kw.prototype.initializePolyhedralFeatures=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),!!As(e,t)},kw.prototype.recalcLocalAabb=kw.prototype.recalcLocalAabb=function(){var t=this.ptr;fs(t)},kw.prototype.getConvexPolyhedron=kw.prototype.getConvexPolyhedron=function(){var t=this.ptr;return yS(as(t),bw)},kw.prototype.setLocalScaling=kw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),us(e,t)},kw.prototype.getLocalScaling=kw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(ls(t),VS)},kw.prototype.calculateLocalInertia=kw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),cs(i,t,e)},kw.prototype.__destroy__=kw.prototype.__destroy__=function(){var t=this.ptr;ns(t)},Rw.prototype=Object.create(mS.prototype),Rw.prototype.constructor=Rw,Rw.prototype.__class__=Rw,Rw.__cache__={},i.btVehicleTuning=Rw,Rw.prototype.get_m_suspensionStiffness=Rw.prototype.get_m_suspensionStiffness=function(){var t=this.ptr;return cC(t)},Rw.prototype.set_m_suspensionStiffness=Rw.prototype.set_m_suspensionStiffness=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fC(e,t)},Object.defineProperty(Rw.prototype,"m_suspensionStiffness",{get:Rw.prototype.get_m_suspensionStiffness,set:Rw.prototype.set_m_suspensionStiffness}),Rw.prototype.get_m_suspensionCompression=Rw.prototype.get_m_suspensionCompression=function(){var t=this.ptr;return sC(t)},Rw.prototype.set_m_suspensionCompression=Rw.prototype.set_m_suspensionCompression=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),bC(e,t)},Object.defineProperty(Rw.prototype,"m_suspensionCompression",{get:Rw.prototype.get_m_suspensionCompression,set:Rw.prototype.set_m_suspensionCompression}),Rw.prototype.get_m_suspensionDamping=Rw.prototype.get_m_suspensionDamping=function(){var t=this.ptr;return pC(t)},Rw.prototype.set_m_suspensionDamping=Rw.prototype.set_m_suspensionDamping=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),AC(e,t)},Object.defineProperty(Rw.prototype,"m_suspensionDamping",{get:Rw.prototype.get_m_suspensionDamping,set:Rw.prototype.set_m_suspensionDamping}),Rw.prototype.get_m_maxSuspensionTravelCm=Rw.prototype.get_m_maxSuspensionTravelCm=function(){var t=this.ptr;return rC(t)},Rw.prototype.set_m_maxSuspensionTravelCm=Rw.prototype.set_m_maxSuspensionTravelCm=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),dC(e,t)},Object.defineProperty(Rw.prototype,"m_maxSuspensionTravelCm",{get:Rw.prototype.get_m_maxSuspensionTravelCm,set:Rw.prototype.set_m_maxSuspensionTravelCm}),Rw.prototype.get_m_frictionSlip=Rw.prototype.get_m_frictionSlip=function(){var t=this.ptr;return oC(t)},Rw.prototype.set_m_frictionSlip=Rw.prototype.set_m_frictionSlip=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),aC(e,t)},Object.defineProperty(Rw.prototype,"m_frictionSlip",{get:Rw.prototype.get_m_frictionSlip,set:Rw.prototype.set_m_frictionSlip}),Rw.prototype.get_m_maxSuspensionForce=Rw.prototype.get_m_maxSuspensionForce=function(){var t=this.ptr;return _C(t)},Rw.prototype.set_m_maxSuspensionForce=Rw.prototype.set_m_maxSuspensionForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),lC(e,t)},Object.defineProperty(Rw.prototype,"m_maxSuspensionForce",{get:Rw.prototype.get_m_maxSuspensionForce,set:Rw.prototype.set_m_maxSuspensionForce}),jw.prototype=Object.create(mS.prototype),jw.prototype.constructor=jw,jw.prototype.__class__=jw,jw.__cache__={},i.btCollisionObjectWrapper=jw,Dw.prototype=Object.create(mS.prototype),Dw.prototype.constructor=Dw,Dw.prototype.__class__=Dw,Dw.__cache__={},i.btShapeHull=Dw,Dw.prototype.buildHull=Dw.prototype.buildHull=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),!!Nu(e,t)},Dw.prototype.numVertices=Dw.prototype.numVertices=function(){var t=this.ptr;return Qu(t)},Dw.prototype.getVertexPointer=Dw.prototype.getVertexPointer=function(){var t=this.ptr;return yS(Lu(t),VS)},Dw.prototype.__destroy__=Dw.prototype.__destroy__=function(){var t=this.ptr;Vu(t)},Iw.prototype=Object.create(YS.prototype),Iw.prototype.constructor=Iw,Iw.prototype.__class__=Iw,Iw.__cache__={},i.btDefaultMotionState=Iw,Iw.prototype.getWorldTransform=Iw.prototype.getWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fp(e,t)},Iw.prototype.setWorldTransform=Iw.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mp(e,t)},Iw.prototype.get_m_graphicsWorldTrans=Iw.prototype.get_m_graphicsWorldTrans=function(){var t=this.ptr;return yS(up(t),nk)},Iw.prototype.set_m_graphicsWorldTrans=Iw.prototype.set_m_graphicsWorldTrans=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hp(e,t)},Object.defineProperty(Iw.prototype,"m_graphicsWorldTrans",{get:Iw.prototype.get_m_graphicsWorldTrans,set:Iw.prototype.set_m_graphicsWorldTrans}),Iw.prototype.__destroy__=Iw.prototype.__destroy__=function(){var t=this.ptr;lp(t)},Bw.prototype=Object.create(mS.prototype),Bw.prototype.constructor=Bw,Bw.prototype.__class__=Bw,Bw.__cache__={},i.btWheelInfo=Bw,Bw.prototype.getSuspensionRestLength=Bw.prototype.getSuspensionRestLength=function(){var t=this.ptr;return EC(t)},Bw.prototype.updateWheel=Bw.prototype.updateWheel=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Vv(i,t,e)},Bw.prototype.get_m_suspensionStiffness=Bw.prototype.get_m_suspensionStiffness=function(){var t=this.ptr;return rv(t)},Bw.prototype.set_m_suspensionStiffness=Bw.prototype.set_m_suspensionStiffness=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bv(e,t)},Object.defineProperty(Bw.prototype,"m_suspensionStiffness",{get:Bw.prototype.get_m_suspensionStiffness,set:Bw.prototype.set_m_suspensionStiffness}),Bw.prototype.get_m_frictionSlip=Bw.prototype.get_m_frictionSlip=function(){var t=this.ptr;return zC(t)},Bw.prototype.set_m_frictionSlip=Bw.prototype.set_m_frictionSlip=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gv(e,t)},Object.defineProperty(Bw.prototype,"m_frictionSlip",{get:Bw.prototype.get_m_frictionSlip,set:Bw.prototype.set_m_frictionSlip}),Bw.prototype.get_m_engineForce=Bw.prototype.get_m_engineForce=function(){var t=this.ptr;return XC(t)},Bw.prototype.set_m_engineForce=Bw.prototype.set_m_engineForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yv(e,t)},Object.defineProperty(Bw.prototype,"m_engineForce",{get:Bw.prototype.get_m_engineForce,set:Bw.prototype.set_m_engineForce}),Bw.prototype.get_m_rollInfluence=Bw.prototype.get_m_rollInfluence=function(){var t=this.ptr;return tv(t)},Bw.prototype.set_m_rollInfluence=Bw.prototype.set_m_rollInfluence=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wv(e,t)},Object.defineProperty(Bw.prototype,"m_rollInfluence",{get:Bw.prototype.get_m_rollInfluence,set:Bw.prototype.set_m_rollInfluence}),Bw.prototype.get_m_suspensionRestLength1=Bw.prototype.get_m_suspensionRestLength1=function(){var t=this.ptr;return _v(t)},Bw.prototype.set_m_suspensionRestLength1=Bw.prototype.set_m_suspensionRestLength1=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Iv(e,t)},Object.defineProperty(Bw.prototype,"m_suspensionRestLength1",{get:Bw.prototype.get_m_suspensionRestLength1,set:Bw.prototype.set_m_suspensionRestLength1}),Bw.prototype.get_m_wheelsRadius=Bw.prototype.get_m_wheelsRadius=function(){var t=this.ptr;return lv(t)},Bw.prototype.set_m_wheelsRadius=Bw.prototype.set_m_wheelsRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Tv(e,t)},Object.defineProperty(Bw.prototype,"m_wheelsRadius",{get:Bw.prototype.get_m_wheelsRadius,set:Bw.prototype.set_m_wheelsRadius}),Bw.prototype.get_m_wheelsDampingCompression=Bw.prototype.get_m_wheelsDampingCompression=function(){var t=this.ptr;return cv(t)},Bw.prototype.set_m_wheelsDampingCompression=Bw.prototype.set_m_wheelsDampingCompression=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xv(e,t)},Object.defineProperty(Bw.prototype,"m_wheelsDampingCompression",{get:Bw.prototype.get_m_wheelsDampingCompression,set:Bw.prototype.set_m_wheelsDampingCompression}),Bw.prototype.get_m_wheelsDampingRelaxation=Bw.prototype.get_m_wheelsDampingRelaxation=function(){var t=this.ptr;return av(t)},Bw.prototype.set_m_wheelsDampingRelaxation=Bw.prototype.set_m_wheelsDampingRelaxation=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ov(e,t)},Object.defineProperty(Bw.prototype,"m_wheelsDampingRelaxation",{get:Bw.prototype.get_m_wheelsDampingRelaxation,set:Bw.prototype.set_m_wheelsDampingRelaxation}),Bw.prototype.get_m_steering=Bw.prototype.get_m_steering=function(){var t=this.ptr;return nv(t)},Bw.prototype.set_m_steering=Bw.prototype.set_m_steering=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),jv(e,t)},Object.defineProperty(Bw.prototype,"m_steering",{get:Bw.prototype.get_m_steering,set:Bw.prototype.set_m_steering}),Bw.prototype.get_m_maxSuspensionForce=Bw.prototype.get_m_maxSuspensionForce=function(){var t=this.ptr;return KC(t)},Bw.prototype.set_m_maxSuspensionForce=Bw.prototype.set_m_maxSuspensionForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Cv(e,t)},Object.defineProperty(Bw.prototype,"m_maxSuspensionForce",{get:Bw.prototype.get_m_maxSuspensionForce,set:Bw.prototype.set_m_maxSuspensionForce}),Bw.prototype.get_m_maxSuspensionTravelCm=Bw.prototype.get_m_maxSuspensionTravelCm=function(){var t=this.ptr;return qC(t)},Bw.prototype.set_m_maxSuspensionTravelCm=Bw.prototype.set_m_maxSuspensionTravelCm=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vv(e,t)},Object.defineProperty(Bw.prototype,"m_maxSuspensionTravelCm",{get:Bw.prototype.get_m_maxSuspensionTravelCm,set:Bw.prototype.set_m_maxSuspensionTravelCm}),Bw.prototype.get_m_wheelsSuspensionForce=Bw.prototype.get_m_wheelsSuspensionForce=function(){var t=this.ptr;return dv(t)},Bw.prototype.set_m_wheelsSuspensionForce=Bw.prototype.set_m_wheelsSuspensionForce=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pv(e,t)},Object.defineProperty(Bw.prototype,"m_wheelsSuspensionForce",{get:Bw.prototype.get_m_wheelsSuspensionForce,set:Bw.prototype.set_m_wheelsSuspensionForce}),Bw.prototype.get_m_bIsFrontWheel=Bw.prototype.get_m_bIsFrontWheel=function(){var t=this.ptr;return!!HC(t)},Bw.prototype.set_m_bIsFrontWheel=Bw.prototype.set_m_bIsFrontWheel=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Av(e,t)},Object.defineProperty(Bw.prototype,"m_bIsFrontWheel",{get:Bw.prototype.get_m_bIsFrontWheel,set:Bw.prototype.set_m_bIsFrontWheel}),Bw.prototype.get_m_raycastInfo=Bw.prototype.get_m_raycastInfo=function(){var t=this.ptr;return yS($C(t),Qw)},Bw.prototype.set_m_raycastInfo=Bw.prototype.set_m_raycastInfo=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Sv(e,t)},Object.defineProperty(Bw.prototype,"m_raycastInfo",{get:Bw.prototype.get_m_raycastInfo,set:Bw.prototype.set_m_raycastInfo}),Bw.prototype.get_m_chassisConnectionPointCS=Bw.prototype.get_m_chassisConnectionPointCS=function(){var t=this.ptr;return yS(UC(t),VS)},Bw.prototype.set_m_chassisConnectionPointCS=Bw.prototype.set_m_chassisConnectionPointCS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),uv(e,t)},Object.defineProperty(Bw.prototype,"m_chassisConnectionPointCS",{get:Bw.prototype.get_m_chassisConnectionPointCS,set:Bw.prototype.set_m_chassisConnectionPointCS}),Bw.prototype.get_m_worldTransform=Bw.prototype.get_m_worldTransform=function(){var t=this.ptr;return yS(bv(t),nk)},Bw.prototype.set_m_worldTransform=Bw.prototype.set_m_worldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Mv(e,t)},Object.defineProperty(Bw.prototype,"m_worldTransform",{get:Bw.prototype.get_m_worldTransform,set:Bw.prototype.set_m_worldTransform}),Bw.prototype.get_m_wheelDirectionCS=Bw.prototype.get_m_wheelDirectionCS=function(){var t=this.ptr;return yS(pv(t),VS)},Bw.prototype.set_m_wheelDirectionCS=Bw.prototype.set_m_wheelDirectionCS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fv(e,t)},Object.defineProperty(Bw.prototype,"m_wheelDirectionCS",{get:Bw.prototype.get_m_wheelDirectionCS,set:Bw.prototype.set_m_wheelDirectionCS}),Bw.prototype.get_m_wheelAxleCS=Bw.prototype.get_m_wheelAxleCS=function(){var t=this.ptr;return yS(sv(t),VS)},Bw.prototype.set_m_wheelAxleCS=Bw.prototype.set_m_wheelAxleCS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wv(e,t)},Object.defineProperty(Bw.prototype,"m_wheelAxleCS",{get:Bw.prototype.get_m_wheelAxleCS,set:Bw.prototype.set_m_wheelAxleCS}),Bw.prototype.get_m_rotation=Bw.prototype.get_m_rotation=function(){var t=this.ptr;return ev(t)},Bw.prototype.set_m_rotation=Bw.prototype.set_m_rotation=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kv(e,t)},Object.defineProperty(Bw.prototype,"m_rotation",{get:Bw.prototype.get_m_rotation,set:Bw.prototype.set_m_rotation}),Bw.prototype.get_m_deltaRotation=Bw.prototype.get_m_deltaRotation=function(){var t=this.ptr;return JC(t)},Bw.prototype.set_m_deltaRotation=Bw.prototype.set_m_deltaRotation=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hv(e,t)},Object.defineProperty(Bw.prototype,"m_deltaRotation",{get:Bw.prototype.get_m_deltaRotation,set:Bw.prototype.set_m_deltaRotation}),Bw.prototype.get_m_brake=Bw.prototype.get_m_brake=function(){var t=this.ptr;return ZC(t)},Bw.prototype.set_m_brake=Bw.prototype.set_m_brake=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fv(e,t)},Object.defineProperty(Bw.prototype,"m_brake",{get:Bw.prototype.get_m_brake,set:Bw.prototype.set_m_brake}),Bw.prototype.get_m_clippedInvContactDotSuspension=Bw.prototype.get_m_clippedInvContactDotSuspension=function(){var t=this.ptr;return YC(t)},Bw.prototype.set_m_clippedInvContactDotSuspension=Bw.prototype.set_m_clippedInvContactDotSuspension=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mv(e,t)},Object.defineProperty(Bw.prototype,"m_clippedInvContactDotSuspension",{get:Bw.prototype.get_m_clippedInvContactDotSuspension,set:Bw.prototype.set_m_clippedInvContactDotSuspension}),Bw.prototype.get_m_suspensionRelativeVelocity=Bw.prototype.get_m_suspensionRelativeVelocity=function(){var t=this.ptr;return ov(t)},Bw.prototype.set_m_suspensionRelativeVelocity=Bw.prototype.set_m_suspensionRelativeVelocity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Dv(e,t)},Object.defineProperty(Bw.prototype,"m_suspensionRelativeVelocity",{get:Bw.prototype.get_m_suspensionRelativeVelocity,set:Bw.prototype.set_m_suspensionRelativeVelocity}),Bw.prototype.get_m_skidInfo=Bw.prototype.get_m_skidInfo=function(){var t=this.ptr;return iv(t)},Bw.prototype.set_m_skidInfo=Bw.prototype.set_m_skidInfo=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Rv(e,t)},Object.defineProperty(Bw.prototype,"m_skidInfo",{get:Bw.prototype.get_m_skidInfo,set:Bw.prototype.set_m_skidInfo}),Bw.prototype.__destroy__=Bw.prototype.__destroy__=function(){var t=this.ptr;LC(t)},Ww.prototype=Object.create(VS.prototype),Ww.prototype.constructor=Ww,Ww.prototype.__class__=Ww,Ww.__cache__={},i.btVector4=Ww,Ww.prototype.w=Ww.prototype.w=function(){var t=this.ptr;return Hg(t)},Ww.prototype.setValue=Ww.prototype.setValue=function(t,e,i,n){var o=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),Ng(o,t,e,i,n)},Ww.prototype.length=Ww.prototype.length=function(){var t=this.ptr;return Og(t)},Ww.prototype.x=Ww.prototype.x=function(){var t=this.ptr;return Zg(t)},Ww.prototype.y=Ww.prototype.y=function(){var t=this.ptr;return Ug(t)},Ww.prototype.z=Ww.prototype.z=function(){var t=this.ptr;return Yg(t)},Ww.prototype.setX=Ww.prototype.setX=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Lg(e,t)},Ww.prototype.setY=Ww.prototype.setY=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Qg(e,t)},Ww.prototype.setZ=Ww.prototype.setZ=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Eg(e,t)},Ww.prototype.normalize=Ww.prototype.normalize=function(){var t=this.ptr;Tg(t)},Ww.prototype.rotate=Ww.prototype.rotate=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),yS(Gg(i,t,e),VS)},Ww.prototype.dot=Ww.prototype.dot=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),xg(e,t)},Ww.prototype.op_mul=Ww.prototype.op_mul=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Mg(e,t),VS)},Ww.prototype.op_add=Ww.prototype.op_add=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Pg(e,t),VS)},Ww.prototype.op_sub=Ww.prototype.op_sub=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Vg(e,t),VS)},Ww.prototype.__destroy__=Ww.prototype.__destroy__=function(){var t=this.ptr;Bg(t)},Fw.prototype=Object.create(mS.prototype),Fw.prototype.constructor=Fw,Fw.prototype.__class__=Fw,Fw.__cache__={},i.btDefaultCollisionConstructionInfo=Fw,Fw.prototype.__destroy__=Fw.prototype.__destroy__=function(){var t=this.ptr;cp(t)},xw.prototype=Object.create(mS.prototype),xw.prototype.constructor=xw,xw.prototype.__class__=xw,xw.__cache__={},i.Anchor=xw,xw.prototype.get_m_node=xw.prototype.get_m_node=function(){var t=this.ptr;return yS(ft(t),Yw)},xw.prototype.set_m_node=xw.prototype.set_m_node=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vt(e,t)},Object.defineProperty(xw.prototype,"m_node",{get:xw.prototype.get_m_node,set:xw.prototype.set_m_node}),xw.prototype.get_m_local=xw.prototype.get_m_local=function(){var t=this.ptr;return yS(At(t),VS)},xw.prototype.set_m_local=xw.prototype.set_m_local=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ct(e,t)},Object.defineProperty(xw.prototype,"m_local",{get:xw.prototype.get_m_local,set:xw.prototype.set_m_local}),xw.prototype.get_m_body=xw.prototype.get_m_body=function(){var t=this.ptr;return yS(ct(t),dw)},xw.prototype.set_m_body=xw.prototype.set_m_body=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ut(e,t)},Object.defineProperty(xw.prototype,"m_body",{get:xw.prototype.get_m_body,set:xw.prototype.set_m_body}),xw.prototype.get_m_influence=xw.prototype.get_m_influence=function(){var t=this.ptr;return bt(t)},xw.prototype.set_m_influence=xw.prototype.set_m_influence=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gt(e,t)},Object.defineProperty(xw.prototype,"m_influence",{get:xw.prototype.get_m_influence,set:xw.prototype.set_m_influence}),xw.prototype.get_m_c0=xw.prototype.get_m_c0=function(){var t=this.ptr;return yS(at(t),KS)},xw.prototype.set_m_c0=xw.prototype.set_m_c0=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mt(e,t)},Object.defineProperty(xw.prototype,"m_c0",{get:xw.prototype.get_m_c0,set:xw.prototype.set_m_c0}),xw.prototype.get_m_c1=xw.prototype.get_m_c1=function(){var t=this.ptr;return yS(lt(t),VS)},xw.prototype.set_m_c1=xw.prototype.set_m_c1=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ht(e,t)},Object.defineProperty(xw.prototype,"m_c1",{get:xw.prototype.get_m_c1,set:xw.prototype.set_m_c1}),xw.prototype.get_m_c2=xw.prototype.get_m_c2=function(){var t=this.ptr;return dt(t)},xw.prototype.set_m_c2=xw.prototype.set_m_c2=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yt(e,t)},Object.defineProperty(xw.prototype,"m_c2",{get:xw.prototype.get_m_c2,set:xw.prototype.set_m_c2}),xw.prototype.__destroy__=xw.prototype.__destroy__=function(){var t=this.ptr;pt(t)},Ow.prototype=Object.create(mS.prototype),Ow.prototype.constructor=Ow,Ow.prototype.__class__=Ow,Ow.__cache__={},i.btVehicleRaycasterResult=Ow,Ow.prototype.get_m_hitPointInWorld=Ow.prototype.get_m_hitPointInWorld=function(){var t=this.ptr;return yS(Kg(t),VS)},Ow.prototype.set_m_hitPointInWorld=Ow.prototype.set_m_hitPointInWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),tC(e,t)},Object.defineProperty(Ow.prototype,"m_hitPointInWorld",{get:Ow.prototype.get_m_hitPointInWorld,set:Ow.prototype.set_m_hitPointInWorld}),Ow.prototype.get_m_hitNormalInWorld=Ow.prototype.get_m_hitNormalInWorld=function(){var t=this.ptr;return yS(zg(t),VS)},Ow.prototype.set_m_hitNormalInWorld=Ow.prototype.set_m_hitNormalInWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),$g(e,t)},Object.defineProperty(Ow.prototype,"m_hitNormalInWorld",{get:Ow.prototype.get_m_hitNormalInWorld,set:Ow.prototype.set_m_hitNormalInWorld}),Ow.prototype.get_m_distFraction=Ow.prototype.get_m_distFraction=function(){var t=this.ptr;return Xg(t)},Ow.prototype.set_m_distFraction=Ow.prototype.set_m_distFraction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),qg(e,t)},Object.defineProperty(Ow.prototype,"m_distFraction",{get:Ow.prototype.get_m_distFraction,set:Ow.prototype.set_m_distFraction}),Ow.prototype.__destroy__=Ow.prototype.__destroy__=function(){var t=this.ptr;Jg(t)},Tw.prototype=Object.create(mS.prototype),Tw.prototype.constructor=Tw,Tw.prototype.__class__=Tw,Tw.__cache__={},i.btVector3Array=Tw,Tw.prototype.size=Tw.prototype.size=function(){var t=this.ptr;return dg(t)},Tw.prototype.at=Tw.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(lg(e,t),VS)},Tw.prototype.__destroy__=Tw.prototype.__destroy__=function(){var t=this.ptr;ag(t)},Pw.prototype=Object.create(mS.prototype),Pw.prototype.constructor=Pw,Pw.prototype.__class__=Pw,Pw.__cache__={},i.btConstraintSolver=Pw,Pw.prototype.__destroy__=Pw.prototype.__destroy__=function(){var t=this.ptr;Xr(t)},Mw.prototype=Object.create(MS.prototype),Mw.prototype.constructor=Mw,Mw.prototype.__class__=Mw,Mw.__cache__={},i.btRaycastVehicle=Mw,Mw.prototype.applyEngineForce=Mw.prototype.applyEngineForce=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),WA(i,t,e)},Mw.prototype.setSteeringValue=Mw.prototype.setSteeringValue=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),KA(i,t,e)},Mw.prototype.getWheelTransformWS=Mw.prototype.getWheelTransformWS=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(ZA(e,t),nk)},Mw.prototype.updateWheelTransform=Mw.prototype.updateWheelTransform=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),_f(i,t,e)},Mw.prototype.addWheel=Mw.prototype.addWheel=function(t,e,i,n,o,_,r){var s=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),yS(BA(s,t,e,i,n,o,_,r),Bw)},Mw.prototype.getNumWheels=Mw.prototype.getNumWheels=function(){var t=this.ptr;return MA(t)},Mw.prototype.getRigidBody=Mw.prototype.getRigidBody=function(){var t=this.ptr;return yS(GA(t),dw)},Mw.prototype.getWheelInfo=Mw.prototype.getWheelInfo=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(HA(e,t),Bw)},Mw.prototype.setBrake=Mw.prototype.setBrake=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),JA(i,t,e)},Mw.prototype.setCoordinateSystem=Mw.prototype.setCoordinateSystem=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),XA(n,t,e,i)},Mw.prototype.getCurrentSpeedKmHour=Mw.prototype.getCurrentSpeedKmHour=function(){var t=this.ptr;return OA(t)},Mw.prototype.getChassisWorldTransform=Mw.prototype.getChassisWorldTransform=function(){var t=this.ptr;return yS(xA(t),nk)},Mw.prototype.rayCast=Mw.prototype.rayCast=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),UA(e,t)},Mw.prototype.updateVehicle=Mw.prototype.updateVehicle=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),of(e,t)},Mw.prototype.resetSuspension=Mw.prototype.resetSuspension=function(){var t=this.ptr;YA(t)},Mw.prototype.getSteeringValue=Mw.prototype.getSteeringValue=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),NA(e,t)},Mw.prototype.updateWheelTransformsWS=Mw.prototype.updateWheelTransformsWS=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0!==e?sf(i,t,e):rf(i,t)},Mw.prototype.setPitchControl=Mw.prototype.setPitchControl=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zA(e,t)},Mw.prototype.updateSuspension=Mw.prototype.updateSuspension=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),nf(e,t)},Mw.prototype.updateFriction=Mw.prototype.updateFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ef(e,t)},Mw.prototype.getRightAxis=Mw.prototype.getRightAxis=function(){var t=this.ptr;return VA(t)},Mw.prototype.getUpAxis=Mw.prototype.getUpAxis=function(){var t=this.ptr;return LA(t)},Mw.prototype.getForwardAxis=Mw.prototype.getForwardAxis=function(){var t=this.ptr;return TA(t)},Mw.prototype.getForwardVector=Mw.prototype.getForwardVector=function(){var t=this.ptr;return yS(PA(t),VS)},Mw.prototype.getUserConstraintType=Mw.prototype.getUserConstraintType=function(){var t=this.ptr;return EA(t)},Mw.prototype.setUserConstraintType=Mw.prototype.setUserConstraintType=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),$A(e,t)},Mw.prototype.setUserConstraintId=Mw.prototype.setUserConstraintId=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),qA(e,t)},Mw.prototype.getUserConstraintId=Mw.prototype.getUserConstraintId=function(){var t=this.ptr;return QA(t)},Mw.prototype.updateAction=Mw.prototype.updateAction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),tf(i,t,e)},Mw.prototype.__destroy__=Mw.prototype.__destroy__=function(){var t=this.ptr;IA(t)},Vw.prototype=Object.create(LS.prototype),Vw.prototype.constructor=Vw,Vw.prototype.__class__=Vw,Vw.__cache__={},i.btCylinderShapeX=Vw,Vw.prototype.setMargin=Vw.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Es(e,t)},Vw.prototype.getMargin=Vw.prototype.getMargin=function(){var t=this.ptr;return Ls(t)},Vw.prototype.setLocalScaling=Vw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Qs(e,t)},Vw.prototype.getLocalScaling=Vw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Ns(t),VS)},Vw.prototype.calculateLocalInertia=Vw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Gs(i,t,e)},Vw.prototype.__destroy__=Vw.prototype.__destroy__=function(){var t=this.ptr;Ms(t)},Gw.prototype=Object.create(LS.prototype),Gw.prototype.constructor=Gw,Gw.prototype.__class__=Gw,Gw.__cache__={},i.btCylinderShapeZ=Gw,Gw.prototype.setMargin=Gw.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zs(e,t)},Gw.prototype.getMargin=Gw.prototype.getMargin=function(){var t=this.ptr;return Js(t)},Gw.prototype.setLocalScaling=Gw.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xs(e,t)},Gw.prototype.getLocalScaling=Gw.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Ys(t),VS)},Gw.prototype.calculateLocalInertia=Gw.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Us(i,t,e)},Gw.prototype.__destroy__=Gw.prototype.__destroy__=function(){var t=this.ptr;Hs(t)},Nw.prototype=Object.create(mS.prototype),Nw.prototype.constructor=Nw,Nw.prototype.__class__=Nw,Nw.__cache__={},i.btSequentialImpulseConstraintSolver=Nw,Nw.prototype.__destroy__=Nw.prototype.__destroy__=function(){var t=this.ptr;Pu(t)},Lw.prototype=Object.create(mS.prototype),Lw.prototype.constructor=Lw,Lw.prototype.__class__=Lw,Lw.__cache__={},i.tAnchorArray=Lw,Lw.prototype.size=Lw.prototype.size=function(){var t=this.ptr;return Hv(t)},Lw.prototype.at=Lw.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Nv(e,t),xw)},Lw.prototype.clear=Lw.prototype.clear=function(){var t=this.ptr;Lv(t)},Lw.prototype.push_back=Lw.prototype.push_back=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ev(e,t)},Lw.prototype.pop_back=Lw.prototype.pop_back=function(){var t=this.ptr;Qv(t)},Lw.prototype.__destroy__=Lw.prototype.__destroy__=function(){var t=this.ptr;Gv(t)},Qw.prototype=Object.create(mS.prototype),Qw.prototype.constructor=Qw,Qw.prototype.__class__=Qw,Qw.__cache__={},i.RaycastInfo=Qw,Qw.prototype.get_m_contactNormalWS=Qw.prototype.get_m_contactNormalWS=function(){var t=this.ptr;return yS(vn(t),VS)},Qw.prototype.set_m_contactNormalWS=Qw.prototype.set_m_contactNormalWS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bn(e,t)},Object.defineProperty(Qw.prototype,"m_contactNormalWS",{get:Qw.prototype.get_m_contactNormalWS,set:Qw.prototype.set_m_contactNormalWS}),Qw.prototype.get_m_contactPointWS=Qw.prototype.get_m_contactPointWS=function(){var t=this.ptr;return yS(Sn(t),VS)},Qw.prototype.set_m_contactPointWS=Qw.prototype.set_m_contactPointWS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wn(e,t)},Object.defineProperty(Qw.prototype,"m_contactPointWS",{get:Qw.prototype.get_m_contactPointWS,set:Qw.prototype.set_m_contactPointWS}),Qw.prototype.get_m_suspensionLength=Qw.prototype.get_m_suspensionLength=function(){var t=this.ptr;return jn(t)},Qw.prototype.set_m_suspensionLength=Qw.prototype.set_m_suspensionLength=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Tn(e,t)},Object.defineProperty(Qw.prototype,"m_suspensionLength",{get:Qw.prototype.get_m_suspensionLength,set:Qw.prototype.set_m_suspensionLength}),Qw.prototype.get_m_hardPointWS=Qw.prototype.get_m_hardPointWS=function(){var t=this.ptr;return yS(kn(t),VS)},Qw.prototype.set_m_hardPointWS=Qw.prototype.set_m_hardPointWS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xn(e,t)},Object.defineProperty(Qw.prototype,"m_hardPointWS",{get:Qw.prototype.get_m_hardPointWS,set:Qw.prototype.set_m_hardPointWS}),Qw.prototype.get_m_wheelDirectionWS=Qw.prototype.get_m_wheelDirectionWS=function(){var t=this.ptr;return yS(In(t),VS)},Qw.prototype.set_m_wheelDirectionWS=Qw.prototype.set_m_wheelDirectionWS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Mn(e,t)},Object.defineProperty(Qw.prototype,"m_wheelDirectionWS",{get:Qw.prototype.get_m_wheelDirectionWS,set:Qw.prototype.set_m_wheelDirectionWS}),Qw.prototype.get_m_wheelAxleWS=Qw.prototype.get_m_wheelAxleWS=function(){var t=this.ptr;return yS(Dn(t),VS)},Qw.prototype.set_m_wheelAxleWS=Qw.prototype.set_m_wheelAxleWS=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pn(e,t)},Object.defineProperty(Qw.prototype,"m_wheelAxleWS",{get:Qw.prototype.get_m_wheelAxleWS,set:Qw.prototype.set_m_wheelAxleWS}),Qw.prototype.get_m_isInContact=Qw.prototype.get_m_isInContact=function(){var t=this.ptr;return!!Rn(t)},Qw.prototype.set_m_isInContact=Qw.prototype.set_m_isInContact=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),On(e,t)},Object.defineProperty(Qw.prototype,"m_isInContact",{get:Qw.prototype.get_m_isInContact,set:Qw.prototype.set_m_isInContact}),Qw.prototype.get_m_groundObject=Qw.prototype.get_m_groundObject=function(){var t=this.ptr;return wn(t)},Qw.prototype.set_m_groundObject=Qw.prototype.set_m_groundObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fn(e,t)},Object.defineProperty(Qw.prototype,"m_groundObject",{get:Qw.prototype.get_m_groundObject,set:Qw.prototype.set_m_groundObject}),Qw.prototype.__destroy__=Qw.prototype.__destroy__=function(){var t=this.ptr;Cn(t)},Ew.prototype=Object.create(mS.prototype),Ew.prototype.constructor=Ew,Ew.prototype.__class__=Ew,Ew.__cache__={},i.tNodeArray=Ew,Ew.prototype.size=Ew.prototype.size=function(){var t=this.ptr;return zv(t)},Ew.prototype.at=Ew.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Xv(e,t),Yw)},Ew.prototype.__destroy__=Ew.prototype.__destroy__=function(){var t=this.ptr;Jv(t)},Hw.prototype=Object.create(kS.prototype),Hw.prototype.constructor=Hw,Hw.prototype.__class__=Hw,Hw.__cache__={},i.btSoftBody=Hw,Hw.prototype.checkLink=Hw.prototype.checkLink=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),!!Jm(i,t,e)},Hw.prototype.checkFace=Hw.prototype.checkFace=function(t,e,i){var n=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),!!Ym(n,t,e,i)},Hw.prototype.appendMaterial=Hw.prototype.appendMaterial=function(){var t=this.ptr;return yS(Em(t),$S)},Hw.prototype.appendNode=Hw.prototype.appendNode=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Hm(i,t,e)},Hw.prototype.appendLink=Hw.prototype.appendLink=function(t,e,i,n){var o=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),Qm(o,t,e,i,n)},Hw.prototype.appendFace=Hw.prototype.appendFace=function(t,e,i,n){var o=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),Lm(o,t,e,i,n)},Hw.prototype.appendTetra=Hw.prototype.appendTetra=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),Zm(_,t,e,i,n,o)},Hw.prototype.appendAnchor=Hw.prototype.appendAnchor=function(t,e,i,n){var o=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),Nm(o,t,e,i,n)},Hw.prototype.addForce=Hw.prototype.addForce=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0!==e?Gm(i,t,e):Vm(i,t)},Hw.prototype.addAeroForceToNode=Hw.prototype.addAeroForceToNode=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Mm(i,t,e)},Hw.prototype.getTotalMass=Hw.prototype.getTotalMass=function(){var t=this.ptr;return eh(t)},Hw.prototype.setTotalMass=Hw.prototype.setTotalMass=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Rh(i,t,e)},Hw.prototype.setMass=Hw.prototype.setMass=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Sh(i,t,e)},Hw.prototype.transform=Hw.prototype.transform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Oh(e,t)},Hw.prototype.translate=Hw.prototype.translate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Th(e,t)},Hw.prototype.rotate=Hw.prototype.rotate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),bh(e,t)},Hw.prototype.scale=Hw.prototype.scale=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ah(e,t)},Hw.prototype.generateClusters=Hw.prototype.generateClusters=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0===e?Km(i,t):qm(i,t,e)},Hw.prototype.generateBendingConstraints=Hw.prototype.generateBendingConstraints=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),zm(i,t,e)},Hw.prototype.upcast=Hw.prototype.upcast=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Ph(e,t),Hw)},Hw.prototype.setAnisotropicFriction=Hw.prototype.setAnisotropicFriction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),uh(i,t,e)},Hw.prototype.getCollisionShape=Hw.prototype.getCollisionShape=function(){var t=this.ptr;return yS(th(t),wS)},Hw.prototype.setContactProcessingThreshold=Hw.prototype.setContactProcessingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ch(e,t)},Hw.prototype.setActivationState=Hw.prototype.setActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fh(e,t)},Hw.prototype.forceActivationState=Hw.prototype.forceActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xm(e,t)},Hw.prototype.activate=Hw.prototype.activate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),void 0!==t?Pm(e,t):Tm(e)},Hw.prototype.isActive=Hw.prototype.isActive=function(){var t=this.ptr;return!!ch(t)},Hw.prototype.isKinematicObject=Hw.prototype.isKinematicObject=function(){var t=this.ptr;return!!ah(t)},Hw.prototype.isStaticObject=Hw.prototype.isStaticObject=function(){var t=this.ptr;return!!lh(t)},Hw.prototype.isStaticOrKinematicObject=Hw.prototype.isStaticOrKinematicObject=function(){var t=this.ptr;return!!dh(t)},Hw.prototype.setRestitution=Hw.prototype.setRestitution=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wh(e,t)},Hw.prototype.setFriction=Hw.prototype.setFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vh(e,t)},Hw.prototype.setRollingFriction=Hw.prototype.setRollingFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),kh(e,t)},Hw.prototype.getWorldTransform=Hw.prototype.getWorldTransform=function(){var t=this.ptr;return yS(oh(t),nk)},Hw.prototype.getCollisionFlags=Hw.prototype.getCollisionFlags=function(){var t=this.ptr;return $m(t)},Hw.prototype.setCollisionFlags=Hw.prototype.setCollisionFlags=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yh(e,t)},Hw.prototype.setWorldTransform=Hw.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ih(e,t)},Hw.prototype.setCollisionShape=Hw.prototype.setCollisionShape=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gh(e,t)},Hw.prototype.setCcdMotionThreshold=Hw.prototype.setCcdMotionThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mh(e,t)},Hw.prototype.setCcdSweptSphereRadius=Hw.prototype.setCcdSweptSphereRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hh(e,t)},Hw.prototype.getUserIndex=Hw.prototype.getUserIndex=function(){var t=this.ptr;return ih(t)},Hw.prototype.setUserIndex=Hw.prototype.setUserIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),jh(e,t)},Hw.prototype.getUserPointer=Hw.prototype.getUserPointer=function(){var t=this.ptr;return yS(nh(t),bk)},Hw.prototype.setUserPointer=Hw.prototype.setUserPointer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Dh(e,t)},Hw.prototype.get_m_cfg=Hw.prototype.get_m_cfg=function(){var t=this.ptr;return yS(rh(t),Uw)},Hw.prototype.set_m_cfg=Hw.prototype.set_m_cfg=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wh(e,t)},Object.defineProperty(Hw.prototype,"m_cfg",{get:Hw.prototype.get_m_cfg,set:Hw.prototype.set_m_cfg}),Hw.prototype.get_m_nodes=Hw.prototype.get_m_nodes=function(){var t=this.ptr;return yS(ph(t),Ew)},Hw.prototype.set_m_nodes=Hw.prototype.set_m_nodes=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xh(e,t)},Object.defineProperty(Hw.prototype,"m_nodes",{get:Hw.prototype.get_m_nodes,set:Hw.prototype.set_m_nodes}),Hw.prototype.get_m_materials=Hw.prototype.get_m_materials=function(){var t=this.ptr;return yS(sh(t),pw)},Hw.prototype.set_m_materials=Hw.prototype.set_m_materials=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fh(e,t)},Object.defineProperty(Hw.prototype,"m_materials",{get:Hw.prototype.get_m_materials,set:Hw.prototype.set_m_materials}),Hw.prototype.get_m_anchors=Hw.prototype.get_m_anchors=function(){var t=this.ptr;return yS(_h(t),Lw)},Hw.prototype.set_m_anchors=Hw.prototype.set_m_anchors=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bh(e,t)},Object.defineProperty(Hw.prototype,"m_anchors",{get:Hw.prototype.get_m_anchors,set:Hw.prototype.set_m_anchors}),Hw.prototype.__destroy__=Hw.prototype.__destroy__=function(){var t=this.ptr;Om(t)},Zw.prototype=Object.create(mS.prototype),Zw.prototype.constructor=Zw,Zw.prototype.__class__=Zw,Zw.__cache__={},i.btIntArray=Zw,Zw.prototype.size=Zw.prototype.size=function(){var t=this.ptr;return td(t)},Zw.prototype.at=Zw.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),$l(e,t)},Zw.prototype.__destroy__=Zw.prototype.__destroy__=function(){var t=this.ptr;ql(t)},Uw.prototype=Object.create(mS.prototype),Uw.prototype.constructor=Uw,Uw.prototype.__class__=Uw,Uw.__cache__={},i.Config=Uw,Uw.prototype.get_kVCF=Uw.prototype.get_kVCF=function(){var t=this.ptr;return De(t)},Uw.prototype.set_kVCF=Uw.prototype.set_kVCF=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),$e(e,t)},Object.defineProperty(Uw.prototype,"kVCF",{get:Uw.prototype.get_kVCF,set:Uw.prototype.set_kVCF}),Uw.prototype.get_kDP=Uw.prototype.get_kDP=function(){var t=this.ptr;return ue(t)},Uw.prototype.set_kDP=Uw.prototype.set_kDP=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Le(e,t)},Object.defineProperty(Uw.prototype,"kDP",{get:Uw.prototype.get_kDP,set:Uw.prototype.set_kDP}),Uw.prototype.get_kDG=Uw.prototype.get_kDG=function(){var t=this.ptr;return fe(t)},Uw.prototype.set_kDG=Uw.prototype.set_kDG=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ne(e,t)},Object.defineProperty(Uw.prototype,"kDG",{get:Uw.prototype.get_kDG,set:Uw.prototype.set_kDG}),Uw.prototype.get_kLF=Uw.prototype.get_kLF=function(){var t=this.ptr;return he(t)},Uw.prototype.set_kLF=Uw.prototype.set_kLF=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ee(e,t)},Object.defineProperty(Uw.prototype,"kLF",{get:Uw.prototype.get_kLF,set:Uw.prototype.set_kLF}),Uw.prototype.get_kPR=Uw.prototype.get_kPR=function(){var t=this.ptr;return ge(t)},Uw.prototype.set_kPR=Uw.prototype.set_kPR=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ze(e,t)},Object.defineProperty(Uw.prototype,"kPR",{get:Uw.prototype.get_kPR,set:Uw.prototype.set_kPR}),Uw.prototype.get_kVC=Uw.prototype.get_kVC=function(){var t=this.ptr;return Ie(t)},Uw.prototype.set_kVC=Uw.prototype.set_kVC=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ti(e,t)},Object.defineProperty(Uw.prototype,"kVC",{get:Uw.prototype.get_kVC,set:Uw.prototype.set_kVC}),Uw.prototype.get_kDF=Uw.prototype.get_kDF=function(){var t=this.ptr;return Ae(t)},Uw.prototype.set_kDF=Uw.prototype.set_kDF=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ge(e,t)},Object.defineProperty(Uw.prototype,"kDF",{get:Uw.prototype.get_kDF,set:Uw.prototype.set_kDF}),Uw.prototype.get_kMT=Uw.prototype.get_kMT=function(){var t=this.ptr;return ye(t)},Uw.prototype.set_kMT=Uw.prototype.set_kMT=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),He(e,t)},Object.defineProperty(Uw.prototype,"kMT",{get:Uw.prototype.get_kMT,set:Uw.prototype.set_kMT}),Uw.prototype.get_kCHR=Uw.prototype.get_kCHR=function(){var t=this.ptr;return be(t)},Uw.prototype.set_kCHR=Uw.prototype.set_kCHR=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ve(e,t)},Object.defineProperty(Uw.prototype,"kCHR",{get:Uw.prototype.get_kCHR,set:Uw.prototype.set_kCHR}),Uw.prototype.get_kKHR=Uw.prototype.get_kKHR=function(){var t=this.ptr;return me(t)},Uw.prototype.set_kKHR=Uw.prototype.set_kKHR=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Qe(e,t)},Object.defineProperty(Uw.prototype,"kKHR",{get:Uw.prototype.get_kKHR,set:Uw.prototype.set_kKHR}),Uw.prototype.get_kSHR=Uw.prototype.get_kSHR=function(){var t=this.ptr;return Ce(t)},Uw.prototype.set_kSHR=Uw.prototype.set_kSHR=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ue(e,t)},Object.defineProperty(Uw.prototype,"kSHR",{get:Uw.prototype.get_kSHR,set:Uw.prototype.set_kSHR}),Uw.prototype.get_kAHR=Uw.prototype.get_kAHR=function(){var t=this.ptr;return de(t)},Uw.prototype.set_kAHR=Uw.prototype.set_kAHR=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Me(e,t)},Object.defineProperty(Uw.prototype,"kAHR",{get:Uw.prototype.get_kAHR,set:Uw.prototype.set_kAHR}),Uw.prototype.get_kSRHR_CL=Uw.prototype.get_kSRHR_CL=function(){var t=this.ptr;return we(t)},Uw.prototype.set_kSRHR_CL=Uw.prototype.set_kSRHR_CL=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xe(e,t)},Object.defineProperty(Uw.prototype,"kSRHR_CL",{get:Uw.prototype.get_kSRHR_CL,set:Uw.prototype.set_kSRHR_CL}),Uw.prototype.get_kSKHR_CL=Uw.prototype.get_kSKHR_CL=function(){var t=this.ptr;return ve(t)},Uw.prototype.set_kSKHR_CL=Uw.prototype.set_kSKHR_CL=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ye(e,t)},Object.defineProperty(Uw.prototype,"kSKHR_CL",{get:Uw.prototype.get_kSKHR_CL,set:Uw.prototype.set_kSKHR_CL}),Uw.prototype.get_kSSHR_CL=Uw.prototype.get_kSSHR_CL=function(){var t=this.ptr;return Re(t)},Uw.prototype.set_kSSHR_CL=Uw.prototype.set_kSSHR_CL=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ke(e,t)},Object.defineProperty(Uw.prototype,"kSSHR_CL",{get:Uw.prototype.get_kSSHR_CL,set:Uw.prototype.set_kSSHR_CL}),Uw.prototype.get_kSR_SPLT_CL=Uw.prototype.get_kSR_SPLT_CL=function(){var t=this.ptr;return ke(t)},Uw.prototype.set_kSR_SPLT_CL=Uw.prototype.set_kSR_SPLT_CL=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ze(e,t)},Object.defineProperty(Uw.prototype,"kSR_SPLT_CL",{get:Uw.prototype.get_kSR_SPLT_CL,set:Uw.prototype.set_kSR_SPLT_CL}),Uw.prototype.get_kSK_SPLT_CL=Uw.prototype.get_kSK_SPLT_CL=function(){var t=this.ptr;return Se(t)},Uw.prototype.set_kSK_SPLT_CL=Uw.prototype.set_kSK_SPLT_CL=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Je(e,t)},Object.defineProperty(Uw.prototype,"kSK_SPLT_CL",{get:Uw.prototype.get_kSK_SPLT_CL,set:Uw.prototype.set_kSK_SPLT_CL}),Uw.prototype.get_kSS_SPLT_CL=Uw.prototype.get_kSS_SPLT_CL=function(){var t=this.ptr;return je(t)},Uw.prototype.set_kSS_SPLT_CL=Uw.prototype.set_kSS_SPLT_CL=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),qe(e,t)},Object.defineProperty(Uw.prototype,"kSS_SPLT_CL",{get:Uw.prototype.get_kSS_SPLT_CL,set:Uw.prototype.set_kSS_SPLT_CL}),Uw.prototype.get_maxvolume=Uw.prototype.get_maxvolume=function(){var t=this.ptr;return Be(t)},Uw.prototype.set_maxvolume=Uw.prototype.set_maxvolume=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ei(e,t)},Object.defineProperty(Uw.prototype,"maxvolume",{get:Uw.prototype.get_maxvolume,set:Uw.prototype.set_maxvolume}),Uw.prototype.get_timescale=Uw.prototype.get_timescale=function(){var t=this.ptr;return Fe(t)},Uw.prototype.set_timescale=Uw.prototype.set_timescale=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ni(e,t)},Object.defineProperty(Uw.prototype,"timescale",{get:Uw.prototype.get_timescale,set:Uw.prototype.set_timescale}),Uw.prototype.get_viterations=Uw.prototype.get_viterations=function(){var t=this.ptr;return xe(t)},Uw.prototype.set_viterations=Uw.prototype.set_viterations=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),oi(e,t)},Object.defineProperty(Uw.prototype,"viterations",{get:Uw.prototype.get_viterations,set:Uw.prototype.set_viterations}),Uw.prototype.get_piterations=Uw.prototype.get_piterations=function(){var t=this.ptr;return We(t)},Uw.prototype.set_piterations=Uw.prototype.set_piterations=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ii(e,t)},Object.defineProperty(Uw.prototype,"piterations",{get:Uw.prototype.get_piterations,set:Uw.prototype.set_piterations}),Uw.prototype.get_diterations=Uw.prototype.get_diterations=function(){var t=this.ptr;return le(t)},Uw.prototype.set_diterations=Uw.prototype.set_diterations=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pe(e,t)},Object.defineProperty(Uw.prototype,"diterations",{get:Uw.prototype.get_diterations,set:Uw.prototype.set_diterations}),Uw.prototype.get_citerations=Uw.prototype.get_citerations=function(){var t=this.ptr;return ce(t)},Uw.prototype.set_citerations=Uw.prototype.set_citerations=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Oe(e,t)},Object.defineProperty(Uw.prototype,"citerations",{get:Uw.prototype.get_citerations,set:Uw.prototype.set_citerations}),Uw.prototype.get_collisions=Uw.prototype.get_collisions=function(){var t=this.ptr;return ae(t)},Uw.prototype.set_collisions=Uw.prototype.set_collisions=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Te(e,t)},Object.defineProperty(Uw.prototype,"collisions",{get:Uw.prototype.get_collisions,set:Uw.prototype.set_collisions}),Uw.prototype.__destroy__=Uw.prototype.__destroy__=function(){var t=this.ptr;pe(t)},Yw.prototype=Object.create(mS.prototype),Yw.prototype.constructor=Yw,Yw.prototype.__class__=Yw,Yw.__cache__={},i.Node=Yw,Yw.prototype.get_m_x=Yw.prototype.get_m_x=function(){var t=this.ptr;return yS(nn(t),VS)},Yw.prototype.set_m_x=Yw.prototype.set_m_x=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),an(e,t)},Object.defineProperty(Yw.prototype,"m_x",{get:Yw.prototype.get_m_x,set:Yw.prototype.set_m_x}),Yw.prototype.get_m_q=Yw.prototype.get_m_q=function(){var t=this.ptr;return yS(tn(t),VS)},Yw.prototype.set_m_q=Yw.prototype.set_m_q=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),pn(e,t)},Object.defineProperty(Yw.prototype,"m_q",{get:Yw.prototype.get_m_q,set:Yw.prototype.set_m_q}),Yw.prototype.get_m_v=Yw.prototype.get_m_v=function(){var t=this.ptr;return yS(en(t),VS)},Yw.prototype.set_m_v=Yw.prototype.set_m_v=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),cn(e,t)},Object.defineProperty(Yw.prototype,"m_v",{get:Yw.prototype.get_m_v,set:Yw.prototype.set_m_v}),Yw.prototype.get_m_f=Yw.prototype.get_m_f=function(){var t=this.ptr;return yS(Ki(t),VS)},Yw.prototype.set_m_f=Yw.prototype.set_m_f=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),_n(e,t)},Object.defineProperty(Yw.prototype,"m_f",{get:Yw.prototype.get_m_f,set:Yw.prototype.set_m_f}),Yw.prototype.get_m_n=Yw.prototype.get_m_n=function(){var t=this.ptr;return yS($i(t),VS)},Yw.prototype.set_m_n=Yw.prototype.set_m_n=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),sn(e,t)},Object.defineProperty(Yw.prototype,"m_n",{get:Yw.prototype.get_m_n,set:Yw.prototype.set_m_n}),Yw.prototype.get_m_im=Yw.prototype.get_m_im=function(){var t=this.ptr;return qi(t)},Yw.prototype.set_m_im=Yw.prototype.set_m_im=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),rn(e,t)},Object.defineProperty(Yw.prototype,"m_im",{get:Yw.prototype.get_m_im,set:Yw.prototype.set_m_im}),Yw.prototype.get_m_area=Yw.prototype.get_m_area=function(){var t=this.ptr;return zi(t)},Yw.prototype.set_m_area=Yw.prototype.set_m_area=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),on(e,t)},Object.defineProperty(Yw.prototype,"m_area",{get:Yw.prototype.get_m_area,set:Yw.prototype.set_m_area}),Yw.prototype.__destroy__=Yw.prototype.__destroy__=function(){var t=this.ptr;Xi(t)},Jw.prototype=Object.create(mS.prototype),Jw.prototype.constructor=Jw,Jw.prototype.__class__=Jw,Jw.__cache__={},i.btGhostPairCallback=Jw,Jw.prototype.__destroy__=Jw.prototype.__destroy__=function(){var t=this.ptr;ml(t)},Xw.prototype=Object.create(mS.prototype),Xw.prototype.constructor=Xw,Xw.prototype.__class__=Xw,Xw.__cache__={},i.btOverlappingPairCallback=Xw,Xw.prototype.__destroy__=Xw.prototype.__destroy__=function(){var t=this.ptr;Xd(t)},zw.prototype=Object.create(MS.prototype),zw.prototype.constructor=zw,zw.prototype.__class__=zw,zw.__cache__={},i.btKinematicCharacterController=zw,zw.prototype.setUpAxis=zw.prototype.setUpAxis=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),md(e,t)},zw.prototype.setWalkDirection=zw.prototype.setWalkDirection=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Cd(e,t)},zw.prototype.setVelocityForTimeInterval=zw.prototype.setVelocityForTimeInterval=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),gd(i,t,e)},zw.prototype.warp=zw.prototype.warp=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Sd(e,t)},zw.prototype.preStep=zw.prototype.preStep=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ld(e,t)},zw.prototype.playerStep=zw.prototype.playerStep=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),ad(i,t,e)},zw.prototype.setFallSpeed=zw.prototype.setFallSpeed=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),dd(e,t)},zw.prototype.setJumpSpeed=zw.prototype.setJumpSpeed=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ad(e,t)},zw.prototype.setMaxJumpHeight=zw.prototype.setMaxJumpHeight=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fd(e,t)},zw.prototype.canJump=zw.prototype.canJump=function(){var t=this.ptr;return!!od(t)},zw.prototype.jump=zw.prototype.jump=function(){var t=this.ptr;pd(t)},zw.prototype.setGravity=zw.prototype.setGravity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),bd(e,t)},zw.prototype.getGravity=zw.prototype.getGravity=function(){var t=this.ptr;return rd(t)},zw.prototype.setMaxSlope=zw.prototype.setMaxSlope=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ud(e,t)},zw.prototype.getMaxSlope=zw.prototype.getMaxSlope=function(){var t=this.ptr;return sd(t)},zw.prototype.getGhostObject=zw.prototype.getGhostObject=function(){var t=this.ptr;return yS(_d(t),ck)},zw.prototype.setUseGhostSweepTest=zw.prototype.setUseGhostSweepTest=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yd(e,t)},zw.prototype.onGround=zw.prototype.onGround=function(){var t=this.ptr;return!!cd(t)},zw.prototype.setUpInterpolate=zw.prototype.setUpInterpolate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hd(e,t)},zw.prototype.updateAction=zw.prototype.updateAction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),vd(i,t,e)},zw.prototype.__destroy__=zw.prototype.__destroy__=function(){var t=this.ptr;ed(t)},Kw.prototype=Object.create(mS.prototype),Kw.prototype.constructor=Kw,Kw.prototype.__class__=Kw,Kw.__cache__={},i.btSoftBodyArray=Kw,Kw.prototype.size=Kw.prototype.size=function(){var t=this.ptr;return nm(t)},Kw.prototype.at=Kw.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(im(e,t),Hw)},Kw.prototype.__destroy__=Kw.prototype.__destroy__=function(){var t=this.ptr;em(t)},qw.prototype=Object.create(mS.prototype),qw.prototype.constructor=qw,qw.prototype.__class__=qw,qw.__cache__={},i.btFaceArray=qw,qw.prototype.size=qw.prototype.size=function(){var t=this.ptr;return ta(t)},qw.prototype.at=qw.prototype.at=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS($c(e,t),uk)},qw.prototype.__destroy__=qw.prototype.__destroy__=function(){var t=this.ptr;qc(t)},$w.prototype=Object.create(DS.prototype),$w.prototype.constructor=$w,$w.prototype.__class__=$w,$w.__cache__={},i.btStaticPlaneShape=$w,$w.prototype.setLocalScaling=$w.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fy(e,t)},$w.prototype.getLocalScaling=$w.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Wy(t),VS)},$w.prototype.calculateLocalInertia=$w.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),By(i,t,e)},$w.prototype.__destroy__=$w.prototype.__destroy__=function(){var t=this.ptr;Dy(t)},tk.prototype=Object.create(mS.prototype),tk.prototype.constructor=tk,tk.prototype.__class__=tk,tk.__cache__={},i.btOverlappingPairCache=tk,tk.prototype.setInternalGhostPairCallback=tk.prototype.setInternalGhostPairCallback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Jd(e,t)},tk.prototype.__destroy__=tk.prototype.__destroy__=function(){var t=this.ptr;Yd(t)},ek.prototype=Object.create(QS.prototype),ek.prototype.constructor=ek,ek.prototype.__class__=ek,ek.__cache__={},i.btSoftRigidDynamicsWorld=ek,ek.prototype.addSoftBody=ek.prototype.addSoftBody=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Uh(n,t,e,i)},ek.prototype.removeSoftBody=ek.prototype.removeSoftBody=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ay(e,t)},ek.prototype.removeCollisionObject=ek.prototype.removeCollisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ly(e,t)},ek.prototype.getWorldInfo=ek.prototype.getWorldInfo=function(){var t=this.ptr;return yS(sy(t),yw)},ek.prototype.getSoftBodyArray=ek.prototype.getSoftBodyArray=function(){var t=this.ptr;return yS(_y(t),Kw)},ek.prototype.getDispatcher=ek.prototype.getDispatcher=function(){var t=this.ptr;return yS(iy(t),HS)},ek.prototype.rayTest=ek.prototype.rayTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),cy(n,t,e,i)},ek.prototype.getPairCache=ek.prototype.getPairCache=function(){var t=this.ptr;return yS(oy(t),tk)},ek.prototype.getDispatchInfo=ek.prototype.getDispatchInfo=function(){var t=this.ptr;return yS(ey(t),qS)},ek.prototype.addCollisionObject=ek.prototype.addCollisionObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==e?void 0!==i?Lh(n,t,e,i):Nh(n,t,e):Gh(n,t)},ek.prototype.getBroadphase=ek.prototype.getBroadphase=function(){var t=this.ptr;return yS($h(t),iw)},ek.prototype.convexSweepTest=ek.prototype.convexSweepTest=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),zh(_,t,e,i,n,o)},ek.prototype.contactPairTest=ek.prototype.contactPairTest=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Jh(n,t,e,i)},ek.prototype.contactTest=ek.prototype.contactTest=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Xh(i,t,e)},ek.prototype.updateSingleAabb=ek.prototype.updateSingleAabb=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gy(e,t)},ek.prototype.setDebugDrawer=ek.prototype.setDebugDrawer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fy(e,t)},ek.prototype.getDebugDrawer=ek.prototype.getDebugDrawer=function(){var t=this.ptr;return yS(ty(t),BS)},ek.prototype.debugDrawWorld=ek.prototype.debugDrawWorld=function(){var t=this.ptr;qh(t)},ek.prototype.debugDrawObject=ek.prototype.debugDrawObject=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Kh(n,t,e,i)},ek.prototype.performDiscreteCollisionDetection=ek.prototype.performDiscreteCollisionDetection=function(){var t=this.ptr;py(t)},ek.prototype.setGravity=ek.prototype.setGravity=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),uy(e,t)},ek.prototype.getGravity=ek.prototype.getGravity=function(){var t=this.ptr;return yS(ny(t),VS)},ek.prototype.addRigidBody=ek.prototype.addRigidBody=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0!==e?void 0!==i?Zh(n,t,e,i):_emscripten_bind_btSoftRigidDynamicsWorld_addRigidBody_2(n,t,e):Hh(n,t)},ek.prototype.removeRigidBody=ek.prototype.removeRigidBody=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),by(e,t)},ek.prototype.addConstraint=ek.prototype.addConstraint=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),void 0!==e?Eh(i,t,e):Qh(i,t)},ek.prototype.removeConstraint=ek.prototype.removeConstraint=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),dy(e,t)},ek.prototype.stepSimulation=ek.prototype.stepSimulation=function(t,e,i){var n=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),void 0===e?my(n,t):void 0===i?hy(n,t,e):yy(n,t,e,i)},ek.prototype.addAction=ek.prototype.addAction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vh(e,t)},ek.prototype.removeAction=ek.prototype.removeAction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ay(e,t)},ek.prototype.getSolverInfo=ek.prototype.getSolverInfo=function(){var t=this.ptr;return yS(ry(t),Ck)},ek.prototype.__destroy__=ek.prototype.__destroy__=function(){var t=this.ptr;Mh(t)},ik.prototype=Object.create(jS.prototype),ik.prototype.constructor=ik,ik.prototype.__class__=ik,ik.__cache__={},i.btFixedConstraint=ik,ik.prototype.enableFeedback=ik.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),pa(e,t)},ik.prototype.getBreakingImpulseThreshold=ik.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return ca(t)},ik.prototype.setBreakingImpulseThreshold=ik.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),la(e,t)},ik.prototype.getParam=ik.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),aa(i,t,e)},ik.prototype.setParam=ik.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),da(n,t,e,i)},ik.prototype.__destroy__=ik.prototype.__destroy__=function(){var t=this.ptr;ra(t)},nk.prototype=Object.create(mS.prototype),nk.prototype.constructor=nk,nk.prototype.__class__=nk,nk.__cache__={},i.btTransform=nk,nk.prototype.setIdentity=nk.prototype.setIdentity=function(){var t=this.ptr;Hy(t)},nk.prototype.setOrigin=nk.prototype.setOrigin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Zy(e,t)},nk.prototype.setRotation=nk.prototype.setRotation=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Uy(e,t)},nk.prototype.getOrigin=nk.prototype.getOrigin=function(){var t=this.ptr;return yS(Gy(t),VS)},nk.prototype.getRotation=nk.prototype.getRotation=function(){var t=this.ptr;return yS(Ny(t),yk)},nk.prototype.getBasis=nk.prototype.getBasis=function(){var t=this.ptr;return yS(Vy(t),KS)},nk.prototype.setFromOpenGLMatrix=nk.prototype.setFromOpenGLMatrix=function(t){var e=this.ptr;gS.prepare(),"object"==typeof t&&(t=vS(t)),Ey(e,t)},nk.prototype.inverse=nk.prototype.inverse=function(){var t=this.ptr;return yS(Ly(t),nk)},nk.prototype.op_mul=nk.prototype.op_mul=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(Qy(e,t),nk)},nk.prototype.__destroy__=nk.prototype.__destroy__=function(){var t=this.ptr;Ty(t)},ok.prototype=Object.create(zS.prototype),ok.prototype.constructor=ok,ok.prototype.__class__=ok,ok.__cache__={},i.ClosestRayResultCallback=ok,ok.prototype.hasHit=ok.prototype.hasHit=function(){var t=this.ptr;return!!zt(t)},ok.prototype.get_m_rayFromWorld=ok.prototype.get_m_rayFromWorld=function(){var t=this.ptr;return yS(Jt(t),VS)},ok.prototype.set_m_rayFromWorld=ok.prototype.set_m_rayFromWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ne(e,t)},Object.defineProperty(ok.prototype,"m_rayFromWorld",{get:ok.prototype.get_m_rayFromWorld,set:ok.prototype.set_m_rayFromWorld}),ok.prototype.get_m_rayToWorld=ok.prototype.get_m_rayToWorld=function(){var t=this.ptr;return yS(Xt(t),VS)},ok.prototype.set_m_rayToWorld=ok.prototype.set_m_rayToWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),oe(e,t)},Object.defineProperty(ok.prototype,"m_rayToWorld",{get:ok.prototype.get_m_rayToWorld,set:ok.prototype.set_m_rayToWorld}),ok.prototype.get_m_hitNormalWorld=ok.prototype.get_m_hitNormalWorld=function(){var t=this.ptr;return yS(Ut(t),VS)},ok.prototype.set_m_hitNormalWorld=ok.prototype.set_m_hitNormalWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ee(e,t)},Object.defineProperty(ok.prototype,"m_hitNormalWorld",{get:ok.prototype.get_m_hitNormalWorld,set:ok.prototype.set_m_hitNormalWorld}),ok.prototype.get_m_hitPointWorld=ok.prototype.get_m_hitPointWorld=function(){var t=this.ptr;return yS(Yt(t),VS)},ok.prototype.set_m_hitPointWorld=ok.prototype.set_m_hitPointWorld=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ie(e,t)},Object.defineProperty(ok.prototype,"m_hitPointWorld",{get:ok.prototype.get_m_hitPointWorld,set:ok.prototype.set_m_hitPointWorld}),ok.prototype.get_m_collisionFilterGroup=ok.prototype.get_m_collisionFilterGroup=function(){var t=this.ptr;return Et(t)},ok.prototype.set_m_collisionFilterGroup=ok.prototype.set_m_collisionFilterGroup=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),qt(e,t)},Object.defineProperty(ok.prototype,"m_collisionFilterGroup",{get:ok.prototype.get_m_collisionFilterGroup,set:ok.prototype.set_m_collisionFilterGroup}),ok.prototype.get_m_collisionFilterMask=ok.prototype.get_m_collisionFilterMask=function(){var t=this.ptr;return Ht(t)},ok.prototype.set_m_collisionFilterMask=ok.prototype.set_m_collisionFilterMask=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),$t(e,t)},Object.defineProperty(ok.prototype,"m_collisionFilterMask",{get:ok.prototype.get_m_collisionFilterMask,set:ok.prototype.set_m_collisionFilterMask}),ok.prototype.get_m_closestHitFraction=ok.prototype.get_m_closestHitFraction=function(){var t=this.ptr;return Qt(t)},ok.prototype.set_m_closestHitFraction=ok.prototype.set_m_closestHitFraction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Kt(e,t)},Object.defineProperty(ok.prototype,"m_closestHitFraction",{get:ok.prototype.get_m_closestHitFraction,set:ok.prototype.set_m_closestHitFraction}),ok.prototype.get_m_collisionObject=ok.prototype.get_m_collisionObject=function(){var t=this.ptr;return yS(Zt(t),kS)},ok.prototype.set_m_collisionObject=ok.prototype.set_m_collisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),te(e,t)},Object.defineProperty(ok.prototype,"m_collisionObject",{get:ok.prototype.get_m_collisionObject,set:ok.prototype.set_m_collisionObject}),ok.prototype.__destroy__=ok.prototype.__destroy__=function(){var t=this.ptr;Lt(t)},_k.prototype=Object.create(WS.prototype),_k.prototype.constructor=_k,_k.prototype.__class__=_k,_k.__cache__={},i.btSoftBodyRigidBodyCollisionConfiguration=_k,_k.prototype.__destroy__=_k.prototype.__destroy__=function(){var t=this.ptr;dm(t)},rk.prototype=Object.create(JS.prototype),rk.prototype.constructor=rk,rk.prototype.__class__=rk,rk.__cache__={},i.ConcreteContactResultCallback=rk,rk.prototype.addSingleResult=rk.prototype.addSingleResult=function(t,e,i,n,o,_,r){var s=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),se(s,t,e,i,n,o,_,r)},rk.prototype.__destroy__=rk.prototype.__destroy__=function(){var t=this.ptr;re(t)},sk.prototype=Object.create(OS.prototype),sk.prototype.constructor=sk,sk.prototype.__class__=sk,sk.__cache__={},i.btBvhTriangleMeshShape=sk,sk.prototype.setLocalScaling=sk.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ao(e,t)},sk.prototype.getLocalScaling=sk.prototype.getLocalScaling=function(){var t=this.ptr;return yS(co(t),VS)},sk.prototype.calculateLocalInertia=sk.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),po(i,t,e)},sk.prototype.__destroy__=sk.prototype.__destroy__=function(){var t=this.ptr;_o(t)},pk.prototype=Object.create(jS.prototype),pk.prototype.constructor=pk,pk.prototype.__class__=pk,pk.__cache__={},i.btSliderConstraint=pk,pk.prototype.setLowerLinLimit=pk.prototype.setLowerLinLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ku(e,t)},pk.prototype.setUpperLinLimit=pk.prototype.setUpperLinLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),tm(e,t)},pk.prototype.setLowerAngLimit=pk.prototype.setLowerAngLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),zu(e,t)},pk.prototype.setUpperAngLimit=pk.prototype.setUpperAngLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),$u(e,t)},pk.prototype.enableFeedback=pk.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Uu(e,t)},pk.prototype.getBreakingImpulseThreshold=pk.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return Yu(t)},pk.prototype.setBreakingImpulseThreshold=pk.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Xu(e,t)},pk.prototype.getParam=pk.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ju(i,t,e)},pk.prototype.setParam=pk.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),qu(n,t,e,i)},pk.prototype.__destroy__=pk.prototype.__destroy__=function(){var t=this.ptr;Eu(t)},ck.prototype=Object.create(TS.prototype),ck.prototype.constructor=ck,ck.prototype.__class__=ck,ck.__cache__={},i.btPairCachingGhostObject=ck,ck.prototype.setAnisotropicFriction=ck.prototype.setAnisotropicFriction=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),bb(i,t,e)},ck.prototype.getCollisionShape=ck.prototype.getCollisionShape=function(){var t=this.ptr;return yS(ib(t),wS)},ck.prototype.setContactProcessingThreshold=ck.prototype.setContactProcessingThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),hb(e,t)},ck.prototype.setActivationState=ck.prototype.setActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),db(e,t)},ck.prototype.forceActivationState=ck.prototype.forceActivationState=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),tb(e,t)},ck.prototype.activate=ck.prototype.activate=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),void 0!==t?qd(e,t):Kd(e)},ck.prototype.isActive=ck.prototype.isActive=function(){var t=this.ptr;return!!pb(t)},ck.prototype.isKinematicObject=ck.prototype.isKinematicObject=function(){var t=this.ptr;return!!cb(t)},ck.prototype.isStaticObject=ck.prototype.isStaticObject=function(){var t=this.ptr;return!!ab(t)},ck.prototype.isStaticOrKinematicObject=ck.prototype.isStaticOrKinematicObject=function(){var t=this.ptr;return!!lb(t)},ck.prototype.setRestitution=ck.prototype.setRestitution=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),gb(e,t)},ck.prototype.setFriction=ck.prototype.setFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),yb(e,t)},ck.prototype.setRollingFriction=ck.prototype.setRollingFriction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Cb(e,t)},ck.prototype.getWorldTransform=ck.prototype.getWorldTransform=function(){var t=this.ptr;return yS(sb(t),nk)},ck.prototype.getCollisionFlags=ck.prototype.getCollisionFlags=function(){var t=this.ptr;return eb(t)},ck.prototype.setCollisionFlags=ck.prototype.setCollisionFlags=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ub(e,t)},ck.prototype.setWorldTransform=ck.prototype.setWorldTransform=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wb(e,t)},ck.prototype.setCollisionShape=ck.prototype.setCollisionShape=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),mb(e,t)},ck.prototype.setCcdMotionThreshold=ck.prototype.setCcdMotionThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ab(e,t)},ck.prototype.setCcdSweptSphereRadius=ck.prototype.setCcdSweptSphereRadius=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),fb(e,t)},ck.prototype.getUserIndex=ck.prototype.getUserIndex=function(){var t=this.ptr;return _b(t)},ck.prototype.setUserIndex=ck.prototype.setUserIndex=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vb(e,t)},ck.prototype.getUserPointer=ck.prototype.getUserPointer=function(){var t=this.ptr;return yS(rb(t),bk)},ck.prototype.setUserPointer=ck.prototype.setUserPointer=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Sb(e,t)},ck.prototype.getNumOverlappingObjects=ck.prototype.getNumOverlappingObjects=function(){var t=this.ptr;return nb(t)},ck.prototype.getOverlappingObject=ck.prototype.getOverlappingObject=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(ob(e,t),kS)},ck.prototype.__destroy__=ck.prototype.__destroy__=function(){var t=this.ptr;zd(t)},ak.prototype=Object.create(mS.prototype),ak.prototype.constructor=ak,ak.prototype.__class__=ak,ak.__cache__={},i.btManifoldPoint=ak,ak.prototype.getPositionWorldOnA=ak.prototype.getPositionWorldOnA=function(){var t=this.ptr;return yS(jd(t),VS)},ak.prototype.getPositionWorldOnB=ak.prototype.getPositionWorldOnB=function(){var t=this.ptr;return yS(Dd(t),VS)},ak.prototype.getAppliedImpulse=ak.prototype.getAppliedImpulse=function(){var t=this.ptr;return kd(t)},ak.prototype.getDistance=ak.prototype.getDistance=function(){var t=this.ptr;return Rd(t)},ak.prototype.get_m_localPointA=ak.prototype.get_m_localPointA=function(){var t=this.ptr;return yS(Id(t),VS)},ak.prototype.set_m_localPointA=ak.prototype.set_m_localPointA=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Od(e,t)},Object.defineProperty(ak.prototype,"m_localPointA",{get:ak.prototype.get_m_localPointA,set:ak.prototype.set_m_localPointA}),ak.prototype.get_m_localPointB=ak.prototype.get_m_localPointB=function(){var t=this.ptr;return yS(Bd(t),VS)},ak.prototype.set_m_localPointB=ak.prototype.set_m_localPointB=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Td(e,t)},Object.defineProperty(ak.prototype,"m_localPointB",{get:ak.prototype.get_m_localPointB,set:ak.prototype.set_m_localPointB}),ak.prototype.get_m_positionWorldOnB=ak.prototype.get_m_positionWorldOnB=function(){var t=this.ptr;return yS(xd(t),VS)},ak.prototype.set_m_positionWorldOnB=ak.prototype.set_m_positionWorldOnB=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Vd(e,t)},Object.defineProperty(ak.prototype,"m_positionWorldOnB",{get:ak.prototype.get_m_positionWorldOnB,set:ak.prototype.set_m_positionWorldOnB}),ak.prototype.get_m_positionWorldOnA=ak.prototype.get_m_positionWorldOnA=function(){var t=this.ptr;return yS(Fd(t),VS)},ak.prototype.set_m_positionWorldOnA=ak.prototype.set_m_positionWorldOnA=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Md(e,t)},Object.defineProperty(ak.prototype,"m_positionWorldOnA",{get:ak.prototype.get_m_positionWorldOnA,set:ak.prototype.set_m_positionWorldOnA}),ak.prototype.get_m_normalWorldOnB=ak.prototype.get_m_normalWorldOnB=function(){var t=this.ptr;return yS(Wd(t),VS)},ak.prototype.set_m_normalWorldOnB=ak.prototype.set_m_normalWorldOnB=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pd(e,t)},Object.defineProperty(ak.prototype,"m_normalWorldOnB",{get:ak.prototype.get_m_normalWorldOnB,set:ak.prototype.set_m_normalWorldOnB}),ak.prototype.__destroy__=ak.prototype.__destroy__=function(){var t=this.ptr;wd(t)},lk.prototype=Object.create(jS.prototype),lk.prototype.constructor=lk,lk.prototype.__class__=lk,lk.__cache__={},i.btPoint2PointConstraint=lk,lk.prototype.setPivotA=lk.prototype.setPivotA=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Qb(e,t)},lk.prototype.setPivotB=lk.prototype.setPivotB=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Eb(e,t)},lk.prototype.getPivotInA=lk.prototype.getPivotInA=function(){var t=this.ptr;return yS(Mb(t),VS)},lk.prototype.getPivotInB=lk.prototype.getPivotInB=function(){var t=this.ptr;return yS(Vb(t),VS)},lk.prototype.enableFeedback=lk.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ob(e,t)},lk.prototype.getBreakingImpulseThreshold=lk.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return Tb(t)},lk.prototype.setBreakingImpulseThreshold=lk.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Nb(e,t)},lk.prototype.getParam=lk.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Pb(i,t,e)},lk.prototype.setParam=lk.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Lb(n,t,e,i)},lk.prototype.get_m_setting=lk.prototype.get_m_setting=function(){var t=this.ptr;return yS(Gb(t),aw)},lk.prototype.set_m_setting=lk.prototype.set_m_setting=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Hb(e,t)},Object.defineProperty(lk.prototype,"m_setting",{get:lk.prototype.get_m_setting,set:lk.prototype.set_m_setting}),lk.prototype.__destroy__=lk.prototype.__destroy__=function(){var t=this.ptr;Wb(t)},dk.prototype=Object.create(mS.prototype),dk.prototype.constructor=dk,dk.prototype.__class__=dk,dk.__cache__={},i.btSoftBodyHelpers=dk,dk.prototype.CreateRope=dk.prototype.CreateRope=function(t,e,i,n,o){var _=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),yS(cm(_,t,e,i,n,o),Hw)},dk.prototype.CreatePatch=dk.prototype.CreatePatch=function(t,e,i,n,o,_,r,s,p){var c=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),s&&"object"==typeof s&&(s=s.ptr),p&&"object"==typeof p&&(p=p.ptr),yS(pm(c,t,e,i,n,o,_,r,s,p),Hw)},dk.prototype.CreatePatchUV=dk.prototype.CreatePatchUV=function(t,e,i,n,o,_,r,s,p,c){var a=this.ptr;return gS.prepare(),t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),_&&"object"==typeof _&&(_=_.ptr),r&&"object"==typeof r&&(r=r.ptr),s&&"object"==typeof s&&(s=s.ptr),p&&"object"==typeof p&&(p=p.ptr),"object"==typeof c&&(c=vS(c)),yS(sm(a,t,e,i,n,o,_,r,s,p,c),Hw)},dk.prototype.CreateEllipsoid=dk.prototype.CreateEllipsoid=function(t,e,i,n){var o=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),yS(om(o,t,e,i,n),Hw)},dk.prototype.CreateFromTriMesh=dk.prototype.CreateFromTriMesh=function(t,e,i,n,o){var _=this.ptr;return gS.prepare(),t&&"object"==typeof t&&(t=t.ptr),"object"==typeof e&&(e=vS(e)),"object"==typeof i&&(i=function(t){if("object"==typeof t){var e=gS.alloc(t,C);return gS.copy(t,C,e),e}return t}(i)),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),yS(rm(_,t,e,i,n,o),Hw)},dk.prototype.CreateFromConvexHull=dk.prototype.CreateFromConvexHull=function(t,e,i,n){var o=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),yS(_m(o,t,e,i,n),Hw)},dk.prototype.__destroy__=dk.prototype.__destroy__=function(){var t=this.ptr;am(t)},bk.prototype=Object.create(mS.prototype),bk.prototype.constructor=bk,bk.prototype.__class__=bk,bk.__cache__={},i.VoidPtr=bk,bk.prototype.__destroy__=bk.prototype.__destroy__=function(){var t=this.ptr;Vn(t)},Ak.prototype=Object.create(mS.prototype),Ak.prototype.constructor=Ak,Ak.prototype.__class__=Ak,Ak.__cache__={},i.btBroadphaseProxy=Ak,Ak.prototype.get_m_collisionFilterGroup=Ak.prototype.get_m_collisionFilterGroup=function(){var t=this.ptr;return eo(t)},Ak.prototype.set_m_collisionFilterGroup=Ak.prototype.set_m_collisionFilterGroup=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),no(e,t)},Object.defineProperty(Ak.prototype,"m_collisionFilterGroup",{get:Ak.prototype.get_m_collisionFilterGroup,set:Ak.prototype.set_m_collisionFilterGroup}),Ak.prototype.get_m_collisionFilterMask=Ak.prototype.get_m_collisionFilterMask=function(){var t=this.ptr;return io(t)},Ak.prototype.set_m_collisionFilterMask=Ak.prototype.set_m_collisionFilterMask=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),oo(e,t)},Object.defineProperty(Ak.prototype,"m_collisionFilterMask",{get:Ak.prototype.get_m_collisionFilterMask,set:Ak.prototype.set_m_collisionFilterMask}),Ak.prototype.__destroy__=Ak.prototype.__destroy__=function(){var t=this.ptr;to(t)},fk.prototype=Object.create(wS.prototype),fk.prototype.constructor=fk,fk.prototype.__class__=fk,fk.__cache__={},i.btBoxShape=fk,fk.prototype.setMargin=fk.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),qn(e,t)},fk.prototype.getMargin=fk.prototype.getMargin=function(){var t=this.ptr;return zn(t)},fk.prototype.setLocalScaling=fk.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Kn(e,t)},fk.prototype.getLocalScaling=fk.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Xn(t),VS)},fk.prototype.calculateLocalInertia=fk.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Jn(i,t,e)},fk.prototype.__destroy__=fk.prototype.__destroy__=function(){var t=this.ptr;Un(t)},uk.prototype=Object.create(mS.prototype),uk.prototype.constructor=uk,uk.prototype.__class__=uk,uk.__cache__={},i.btFace=uk,uk.prototype.get_m_indices=uk.prototype.get_m_indices=function(){var t=this.ptr;return yS(ia(t),Zw)},uk.prototype.set_m_indices=uk.prototype.set_m_indices=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),oa(e,t)},Object.defineProperty(uk.prototype,"m_indices",{get:uk.prototype.get_m_indices,set:uk.prototype.set_m_indices}),uk.prototype.get_m_plane=uk.prototype.get_m_plane=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),na(e,t)},uk.prototype.set_m_plane=uk.prototype.set_m_plane=function(t,e){var i=this.ptr;gS.prepare(),t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),_a(i,t,e)},Object.defineProperty(uk.prototype,"m_plane",{get:uk.prototype.get_m_plane,set:uk.prototype.set_m_plane}),uk.prototype.__destroy__=uk.prototype.__destroy__=function(){var t=this.ptr;ea(t)},mk.prototype=Object.create(BS.prototype),mk.prototype.constructor=mk,mk.prototype.__class__=mk,mk.__cache__={},i.DebugDrawer=mk,mk.prototype.drawLine=mk.prototype.drawLine=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),yi(n,t,e,i)},mk.prototype.drawContactPoint=mk.prototype.drawContactPoint=function(t,e,i,n,o){var _=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),o&&"object"==typeof o&&(o=o.ptr),hi(_,t,e,i,n,o)},mk.prototype.reportErrorWarning=mk.prototype.reportErrorWarning=function(t){var e=this.ptr;gS.prepare(),t=t&&"object"==typeof t?t.ptr:CS(t),Ci(e,t)},mk.prototype.draw3dText=mk.prototype.draw3dText=function(t,e){var i=this.ptr;gS.prepare(),t&&"object"==typeof t&&(t=t.ptr),e=e&&"object"==typeof e?e.ptr:CS(e),mi(i,t,e)},mk.prototype.setDebugMode=mk.prototype.setDebugMode=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vi(e,t)},mk.prototype.getDebugMode=mk.prototype.getDebugMode=function(){var t=this.ptr;return gi(t)},mk.prototype.__destroy__=mk.prototype.__destroy__=function(){var t=this.ptr;ui(t)},hk.prototype=Object.create(IS.prototype),hk.prototype.constructor=hk,hk.prototype.__class__=hk,hk.__cache__={},i.btCapsuleShapeX=hk,hk.prototype.setMargin=hk.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Co(e,t)},hk.prototype.getMargin=hk.prototype.getMargin=function(){var t=this.ptr;return mo(t)},hk.prototype.getUpAxis=hk.prototype.getUpAxis=function(){var t=this.ptr;return yo(t)},hk.prototype.getRadius=hk.prototype.getRadius=function(){var t=this.ptr;return ho(t)},hk.prototype.getHalfHeight=hk.prototype.getHalfHeight=function(){var t=this.ptr;return fo(t)},hk.prototype.setLocalScaling=hk.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),go(e,t)},hk.prototype.getLocalScaling=hk.prototype.getLocalScaling=function(){var t=this.ptr;return yS(uo(t),VS)},hk.prototype.calculateLocalInertia=hk.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ao(i,t,e)},hk.prototype.__destroy__=hk.prototype.__destroy__=function(){var t=this.ptr;lo(t)},yk.prototype=Object.create(NS.prototype),yk.prototype.constructor=yk,yk.prototype.__class__=yk,yk.__cache__={},i.btQuaternion=yk,yk.prototype.setValue=yk.prototype.setValue=function(t,e,i,n){var o=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),n&&"object"==typeof n&&(n=n.ptr),gA(o,t,e,i,n)},yk.prototype.setEulerZYX=yk.prototype.setEulerZYX=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),hA(n,t,e,i)},yk.prototype.setRotation=yk.prototype.setRotation=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),yA(i,t,e)},yk.prototype.normalize=yk.prototype.normalize=function(){var t=this.ptr;lA(t)},yk.prototype.length2=yk.prototype.length2=function(){var t=this.ptr;return cA(t)},yk.prototype.length=yk.prototype.length=function(){var t=this.ptr;return aA(t)},yk.prototype.dot=yk.prototype.dot=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),oA(e,t)},yk.prototype.normalized=yk.prototype.normalized=function(){var t=this.ptr;return yS(dA(t),yk)},yk.prototype.getAxis=yk.prototype.getAxis=function(){var t=this.ptr;return yS(sA(t),VS)},yk.prototype.inverse=yk.prototype.inverse=function(){var t=this.ptr;return yS(pA(t),yk)},yk.prototype.getAngle=yk.prototype.getAngle=function(){var t=this.ptr;return rA(t)},yk.prototype.getAngleShortestPath=yk.prototype.getAngleShortestPath=function(){var t=this.ptr;return _A(t)},yk.prototype.angle=yk.prototype.angle=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),iA(e,t)},yk.prototype.angleShortestPath=yk.prototype.angleShortestPath=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),eA(e,t)},yk.prototype.op_add=yk.prototype.op_add=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(bA(e,t),yk)},yk.prototype.op_sub=yk.prototype.op_sub=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(mA(e,t),yk)},yk.prototype.op_mul=yk.prototype.op_mul=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(fA(e,t),yk)},yk.prototype.op_mulq=yk.prototype.op_mulq=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(uA(e,t),yk)},yk.prototype.op_div=yk.prototype.op_div=function(t){var e=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),yS(AA(e,t),yk)},yk.prototype.x=yk.prototype.x=function(){var t=this.ptr;return RA(t)},yk.prototype.y=yk.prototype.y=function(){var t=this.ptr;return jA(t)},yk.prototype.z=yk.prototype.z=function(){var t=this.ptr;return DA(t)},yk.prototype.w=yk.prototype.w=function(){var t=this.ptr;return kA(t)},yk.prototype.setX=yk.prototype.setX=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),vA(e,t)},yk.prototype.setY=yk.prototype.setY=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),SA(e,t)},yk.prototype.setZ=yk.prototype.setZ=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),wA(e,t)},yk.prototype.setW=yk.prototype.setW=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),CA(e,t)},yk.prototype.__destroy__=yk.prototype.__destroy__=function(){var t=this.ptr;tA(t)},gk.prototype=Object.create(IS.prototype),gk.prototype.constructor=gk,gk.prototype.__class__=gk,gk.__cache__={},i.btCapsuleShapeZ=gk,gk.prototype.setMargin=gk.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wo(e,t)},gk.prototype.getMargin=gk.prototype.getMargin=function(){var t=this.ptr;return jo(t)},gk.prototype.getUpAxis=gk.prototype.getUpAxis=function(){var t=this.ptr;return Io(t)},gk.prototype.getRadius=gk.prototype.getRadius=function(){var t=this.ptr;return Do(t)},gk.prototype.getHalfHeight=gk.prototype.getHalfHeight=function(){var t=this.ptr;return ko(t)},gk.prototype.setLocalScaling=gk.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bo(e,t)},gk.prototype.getLocalScaling=gk.prototype.getLocalScaling=function(){var t=this.ptr;return yS(Ro(t),VS)},gk.prototype.calculateLocalInertia=gk.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),wo(i,t,e)},gk.prototype.__destroy__=gk.prototype.__destroy__=function(){var t=this.ptr;vo(t)},Ck.prototype=Object.create(mS.prototype),Ck.prototype.constructor=Ck,Ck.prototype.__class__=Ck,Ck.__cache__={},i.btContactSolverInfo=Ck,Ck.prototype.get_m_splitImpulse=Ck.prototype.get_m_splitImpulse=function(){var t=this.ptr;return!!$r(t)},Ck.prototype.set_m_splitImpulse=Ck.prototype.set_m_splitImpulse=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),is(e,t)},Object.defineProperty(Ck.prototype,"m_splitImpulse",{get:Ck.prototype.get_m_splitImpulse,set:Ck.prototype.set_m_splitImpulse}),Ck.prototype.get_m_splitImpulsePenetrationThreshold=Ck.prototype.get_m_splitImpulsePenetrationThreshold=function(){var t=this.ptr;return qr(t)},Ck.prototype.set_m_splitImpulsePenetrationThreshold=Ck.prototype.set_m_splitImpulsePenetrationThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),es(e,t)},Object.defineProperty(Ck.prototype,"m_splitImpulsePenetrationThreshold",{get:Ck.prototype.get_m_splitImpulsePenetrationThreshold,set:Ck.prototype.set_m_splitImpulsePenetrationThreshold}),Ck.prototype.get_m_numIterations=Ck.prototype.get_m_numIterations=function(){var t=this.ptr;return Kr(t)},Ck.prototype.set_m_numIterations=Ck.prototype.set_m_numIterations=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),ts(e,t)},Object.defineProperty(Ck.prototype,"m_numIterations",{get:Ck.prototype.get_m_numIterations,set:Ck.prototype.set_m_numIterations}),Ck.prototype.__destroy__=Ck.prototype.__destroy__=function(){var t=this.ptr;zr(t)},vk.prototype=Object.create(ZS.prototype),vk.prototype.constructor=vk,vk.prototype.__class__=vk,vk.__cache__={},i.btGeneric6DofSpringConstraint=vk,vk.prototype.enableSpring=vk.prototype.enableSpring=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ba(i,t,e)},vk.prototype.setStiffness=vk.prototype.setStiffness=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),La(i,t,e)},vk.prototype.setDamping=vk.prototype.setDamping=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Ma(i,t,e)},vk.prototype.setLinearLowerLimit=vk.prototype.setLinearLowerLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Va(e,t)},vk.prototype.setLinearUpperLimit=vk.prototype.setLinearUpperLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ga(e,t)},vk.prototype.setAngularLowerLimit=vk.prototype.setAngularLowerLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Oa(e,t)},vk.prototype.setAngularUpperLimit=vk.prototype.setAngularUpperLimit=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ta(e,t)},vk.prototype.getFrameOffsetA=vk.prototype.getFrameOffsetA=function(){var t=this.ptr;return yS(Fa(t),nk)},vk.prototype.enableFeedback=vk.prototype.enableFeedback=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ia(e,t)},vk.prototype.getBreakingImpulseThreshold=vk.prototype.getBreakingImpulseThreshold=function(){var t=this.ptr;return Wa(t)},vk.prototype.setBreakingImpulseThreshold=vk.prototype.setBreakingImpulseThreshold=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Pa(e,t)},vk.prototype.getParam=vk.prototype.getParam=function(t,e){var i=this.ptr;return t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),xa(i,t,e)},vk.prototype.setParam=vk.prototype.setParam=function(t,e,i){var n=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),i&&"object"==typeof i&&(i=i.ptr),Na(n,t,e,i)},vk.prototype.__destroy__=vk.prototype.__destroy__=function(){var t=this.ptr;Ra(t)},Sk.prototype=Object.create(wS.prototype),Sk.prototype.constructor=Sk,Sk.prototype.__class__=Sk,Sk.__cache__={},i.btSphereShape=Sk,Sk.prototype.setMargin=Sk.prototype.setMargin=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),jy(e,t)},Sk.prototype.getMargin=Sk.prototype.getMargin=function(){var t=this.ptr;return ky(t)},Sk.prototype.setLocalScaling=Sk.prototype.setLocalScaling=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Ry(e,t)},Sk.prototype.getLocalScaling=Sk.prototype.getLocalScaling=function(){var t=this.ptr;return yS(wy(t),VS)},Sk.prototype.calculateLocalInertia=Sk.prototype.calculateLocalInertia=function(t,e){var i=this.ptr;t&&"object"==typeof t&&(t=t.ptr),e&&"object"==typeof e&&(e=e.ptr),Sy(i,t,e)},Sk.prototype.__destroy__=Sk.prototype.__destroy__=function(){var t=this.ptr;Cy(t)},wk.prototype=Object.create(mS.prototype),wk.prototype.constructor=wk,wk.prototype.__class__=wk,wk.__cache__={},i.LocalConvexResult=wk,wk.prototype.get_m_hitCollisionObject=wk.prototype.get_m_hitCollisionObject=function(){var t=this.ptr;return yS(ki(t),kS)},wk.prototype.set_m_hitCollisionObject=wk.prototype.set_m_hitCollisionObject=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Bi(e,t)},Object.defineProperty(wk.prototype,"m_hitCollisionObject",{get:wk.prototype.get_m_hitCollisionObject,set:wk.prototype.set_m_hitCollisionObject}),wk.prototype.get_m_localShapeInfo=wk.prototype.get_m_localShapeInfo=function(){var t=this.ptr;return yS(Ii(t),lw)},wk.prototype.set_m_localShapeInfo=wk.prototype.set_m_localShapeInfo=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Oi(e,t)},Object.defineProperty(wk.prototype,"m_localShapeInfo",{get:wk.prototype.get_m_localShapeInfo,set:wk.prototype.set_m_localShapeInfo}),wk.prototype.get_m_hitNormalLocal=wk.prototype.get_m_hitNormalLocal=function(){var t=this.ptr;return yS(ji(t),VS)},wk.prototype.set_m_hitNormalLocal=wk.prototype.set_m_hitNormalLocal=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Fi(e,t)},Object.defineProperty(wk.prototype,"m_hitNormalLocal",{get:wk.prototype.get_m_hitNormalLocal,set:wk.prototype.set_m_hitNormalLocal}),wk.prototype.get_m_hitPointLocal=wk.prototype.get_m_hitPointLocal=function(){var t=this.ptr;return yS(Di(t),VS)},wk.prototype.set_m_hitPointLocal=wk.prototype.set_m_hitPointLocal=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),xi(e,t)},Object.defineProperty(wk.prototype,"m_hitPointLocal",{get:wk.prototype.get_m_hitPointLocal,set:wk.prototype.set_m_hitPointLocal}),wk.prototype.get_m_hitFraction=wk.prototype.get_m_hitFraction=function(){var t=this.ptr;return Ri(t)},wk.prototype.set_m_hitFraction=wk.prototype.set_m_hitFraction=function(t){var e=this.ptr;t&&"object"==typeof t&&(t=t.ptr),Wi(e,t)},Object.defineProperty(wk.prototype,"m_hitFraction",{get:wk.prototype.get_m_hitFraction,set:wk.prototype.set_m_hitFraction}),wk.prototype.__destroy__=wk.prototype.__destroy__=function(){var t=this.ptr;wi(t)},function(){function t(){i.BT_CONSTRAINT_ERP=oS(),i.BT_CONSTRAINT_STOP_ERP=rS(),i.BT_CONSTRAINT_CFM=nS(),i.BT_CONSTRAINT_STOP_CFM=_S(),i.PHY_FLOAT=$v(),i.PHY_DOUBLE=Kv(),i.PHY_INTEGER=tS(),i.PHY_SHORT=eS(),i.PHY_FIXEDPOINT88=qv(),i.PHY_UCHAR=iS()}var e;V?t():(e=t,P.unshift(e))}(),this.Ammo=i,t});const j=R,D=new(y().add("ammo",j)),I=y().add("AmmoClass",D);function B(t){v.call(this,t),this.addType(b().BallJoint),this._anchorPoint.setUnit("length"),this.joint=null,this.outputs=new Set,this.localAnchorPoint1=new(k()),this.localAnchorPoint2=new(k())}var W,F;Object.assign(Object.setPrototypeOf(B.prototype,v.prototype),{initialize(){v.prototype.initialize.call(this),this._anchorPoint.addInterest("set_anchorPoint__",this)},addJoint(){this.getCollection()&&this.getBody1()&&this.getBody2()&&this.getBody1().getCollection()===this.getCollection()&&this.getBody2().getCollection()===this.getCollection()&&(this.joint=new I.btPoint2PointConstraint(this.getBody1().getRigidBody(),this.getBody2().getRigidBody(),new I.btVector3,new I.btVector3),this.set_anchorPoint__(),this.getCollection().getDynamicsWorld().addConstraint(this.joint,!0))},removeJoint(){this.joint&&(this.getCollection()?.getDynamicsWorld().removeConstraint(this.joint),I.destroy(this.joint),this.joint=null)},set_forceOutput__(){this.outputs.clear();for(var t=0,e=this._forceOutput.length;t1)for(var e=this.geometryNode.getType(),i=e.length-1;i>=0;--i){switch(e[i]){case b().Box:var n=this.geometryNode._size.getValue();this.collisionShape=new I.btBoxShape(new I.btVector3(n.x/2,n.y/2,n.z/2));break;case b().Cone:var o=this.geometryNode;o._side.getValue()&&o._bottom.getValue()?this.collisionShape=new I.btConeShape(o._bottomRadius.getValue(),o._height.getValue()):this.collisionShape=this.createConcaveGeometry();break;case b().Cylinder:var _=this.geometryNode,r=_._radius.getValue(),s=.5*_._height.getValue();_._side.getValue()&&_._top.getValue()&&_._bottom.getValue()?this.collisionShape=new I.btCylinderShape(new I.btVector3(r,s,r)):this.collisionShape=this.createConcaveGeometry();break;case b().ElevationGrid:var p=this.geometryNode;if(p._xDimension.getValue()>1&&p._zDimension.getValue()>1){for(var c=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY,l=this.heightField=I._malloc(4*p._xDimension.getValue()*p._zDimension.getValue()),d=0,A=0,f=p._height.length;A>>2]=p._height[A],d+=4}this.collisionShape=new I.btHeightfieldTerrainShape(p._xDimension.getValue(),p._zDimension.getValue(),l,1,c,a,1,"PHY_FLOAT",!0),this.collisionShape.setLocalScaling(new I.btVector3(p._xSpacing.getValue(),1,p._zSpacing.getValue())),this.setOffset(p._xSpacing.getValue()*(p._xDimension.getValue()-1)*.5,.5*(c+a),p._zSpacing.getValue()*(p._zDimension.getValue()-1)*.5)}break;case b().Sphere:var m=this.geometryNode;this.collisionShape=new I.btSphereShape(m._radius.getValue());break;case b().X3DGeometryNode:this.convex?this.collisionShape=this.createConvexGeometry():this.collisionShape=this.createConcaveGeometry();break;default:continue}break}else this.collisionShape=null;this.collisionShape&&this.getCompoundShape().addChildShape(this.getLocalTransform(),this.collisionShape),this.getCompoundShape().setLocalScaling(K),this.addNodeEvent(),this._compoundShape_changed=this.getBrowser().getCurrentTime()}),removeCollidableGeometry(){this.collisionShape&&(this.getCompoundShape().removeChildShapeByIndex(0),I.destroy(this.collisionShape),this.collisionShape=null),this.heightField&&(I._free(this.heightField),this.heightField=null),this.triangleMesh&&(I.destroy(this.triangleMesh),this.triangleMesh=null)},traverse(t,e){switch(t){case U().POINTER:case U().CAMERA:case U().SHADOW:{const i=e.getModelViewMatrix();return i.push(),i.multLeft(this.getMatrix()),this.visibleNode?.traverse(t,e),void i.pop()}case U().PICKING:{const i=this.getBrowser().getPickingHierarchy(),n=e.getModelViewMatrix();return i.push(this),n.push(),n.multLeft(this.getMatrix()),this.visibleNode?.traverse(t,e),n.pop(),void i.pop()}case U().COLLISION:{const i=e.getModelViewMatrix();return i.push(),i.multLeft(this.getMatrix()),this.visibleNode?.traverse(t,e),void i.pop()}case U().DISPLAY:{const i=e.getModelViewMatrix();return i.push(),i.multLeft(this.getMatrix()),this.visibleNode?.traverse(t,e),this.boundedObject?.displayBBox(t,e),void i.pop()}}},dispose(){this.removeCollidableGeometry(),H.prototype.dispose.call(this)}}),Object.defineProperties(z,{...l().getStaticProperties("CollidableShape","RigidBodyPhysics",1,"children","3.2"),fieldDefinitions:{value:new(c())([new(s())(b().inputOutput,"metadata",new(_().SFNode)),new(s())(b().inputOutput,"enabled",new(_().SFBool)(!0)),new(s())(b().inputOutput,"translation",new(_().SFVec3f)),new(s())(b().inputOutput,"rotation",new(_().SFRotation)),new(s())(b().inputOutput,"visible",new(_().SFBool)(!0)),new(s())(b().inputOutput,"bboxDisplay",new(_().SFBool)),new(s())(b().initializeOnly,"bboxSize",new(_().SFVec3f)(-1,-1,-1)),new(s())(b().initializeOnly,"bboxCenter",new(_().SFVec3f)),new(s())(b().initializeOnly,"shape",new(_().SFNode))]),enumerable:!0}});const nt=z,ot=y().add("CollidableShape",nt);let _t=0;const rt={BOUNCE:_t++,USER_FRICTION:_t++,FRICTION_COEFFICIENT_2:_t++,ERROR_REDUCTION:_t++,CONSTANT_FORCE:_t++,SPEED_1:_t++,SPEED_2:_t++,SLIP_1:_t++,SLIP_2:_t++},st=y().add("AppliedParametersType",rt);function pt(t){P().call(this,t),L().call(this,t),this.addType(b().CollisionCollection),this._minBounceSpeed.setUnit("speed"),this._surfaceSpeed.setUnit("speed"),this._softnessConstantForceMix.setUnit("force"),this.appliedParameters=new Set,this.collidableNodes=[],this.collisionSpaceNodes=[]}var ct;Object.assign(Object.setPrototypeOf(pt.prototype,P().prototype),L().prototype,{initialize(){P().prototype.initialize.call(this),L().prototype.initialize.call(this),this._appliedParameters.addInterest("set_appliedParameters__",this),this._collidables.addInterest("set_collidables__",this),this.set_appliedParameters__(),this.set_collidables__()},getBBox:(t,e)=>t.set(),getAppliedParameters(){return this.appliedParameters},getCollidables(){return this.collidableNodes},set_appliedParameters__:(ct=new Map([["BOUNCE",st.BOUNCE],["USER_FRICTION",st.USER_FRICTION],["FRICTION_COEFFICIENT-2",st.FRICTION_COEFFICIENT_2],["ERROR_REDUCTION",st.ERROR_REDUCTION],["CONSTANT_FORCE",st.CONSTANT_FORCE],["SPEED-1",st.SPEED_1],["SPEED-2",st.SPEED_2],["SLIP-1",st.SLIP_1],["SLIP-2",st.SLIP_2]]),function(){this.appliedParameters.clear();for(var t=0,e=this._appliedParameters.length;t{for(var i=e.getDispatcher(),n=i.getNumManifolds(),o=0;othis._intersections[i++]=t)),this._intersections.length=i),ut.length&&(i=0,ut.forEach((t=>this._contacts[i++]=t)),this._contacts.length=i)}),getContact(t){const e=this.contactCache[t];if(e)return e;{const e=this.contactCache[t]=this.getExecutionContext().createNode("Contact",!1);return e.setup(),e}}}),Object.defineProperties(gt,{...l().getStaticProperties("CollisionSensor","RigidBodyPhysics",1,"children","3.2"),fieldDefinitions:{value:new(c())([new(s())(b().inputOutput,"metadata",new(_().SFNode)),new(s())(b().inputOutput,"description",new(_().SFString)),new(s())(b().inputOutput,"enabled",new(_().SFBool)(!0)),new(s())(b().outputOnly,"isActive",new(_().SFBool)),new(s())(b().outputOnly,"intersections",new(_().MFNode)),new(s())(b().outputOnly,"contacts",new(_().MFNode)),new(s())(b().inputOutput,"collider",new(_().SFNode))]),enumerable:!0}});const Ct=gt,vt=y().add("CollisionSensor",Ct);function St(t){l().call(this,t),L().call(this,t),this.addType(b().X3DNBodyCollisionSpaceNode)}Object.assign(Object.setPrototypeOf(St.prototype,l().prototype),L().prototype,{initialize(){l().prototype.initialize.call(this),L().prototype.initialize.call(this)},dispose(){L().prototype.dispose.call(this),l().prototype.dispose.call(this)}}),Object.defineProperties(St,l().getStaticProperties("X3DNBodyCollisionSpaceNode","RigidBodyPhysics",1));const wt=St,kt=y().add("X3DNBodyCollisionSpaceNode",wt);function Rt(t){kt.call(this,t),this.addType(b().CollisionSpace),this.collidableNodes=[],this.collisionSpaceNodes=[]}Object.assign(Object.setPrototypeOf(Rt.prototype,kt.prototype),{initialize(){kt.prototype.initialize.call(this),this._collidables.addInterest("set_collidables__",this),this.set_collidables__()},getBBox(t,e){return this._bboxSize.getValue().equals(this.getDefaultBBoxSize())?X3DBoundedObject.getBBox(this.collidableNodes,t,e):t},getCollidables(){return this.collidableNodes},set_collidables__(){for(var t=this.collisionSpaceNodes,e=0,i=t.length;e{var t=new(k()),e=new(k()),i=new(k()),n=new(k());return function(){this.getCollection()&&this.getBody1()&&this.getBody2()&&this.getBody1().getCollection()===this.getCollection()&&this.getBody2().getCollection()===this.getCollection()&&(t.assign(this._anchorPoint.getValue()),e.assign(this._anchorPoint.getValue()),i.assign(this._axis1.getValue()),n.assign(this._axis2.getValue()),this.getInitialInverseMatrix1().multVecMatrix(t),this.getInitialInverseMatrix2().multVecMatrix(e),this.getInitialInverseMatrix1().multDirMatrix(i).normalize(),this.getInitialInverseMatrix2().multDirMatrix(n).normalize(),this.joint=new I.btHingeConstraint(this.getBody1().getRigidBody(),this.getBody2().getRigidBody(),new I.btVector3(t.x,t.y,t.z),new I.btVector3(e.x,e.y,e.z),new I.btVector3(i.x,i.y,i.z),new I.btVector3(n.x,n.y,n.z),!1),this.getCollection().getDynamicsWorld().addConstraint(this.joint,!0))}})(),removeJoint(){this.joint&&(this.getCollection()?.getDynamicsWorld().removeConstraint(this.joint),I.destroy(this.joint),this.joint=null)},set_forceOutput__(){this.outputs.clear();for(var t=0,e=this._forceOutput.length;t{var t=new(k()),e=new(k()),i=new(m()),n=new(xt());return function(){if(this.outputs.has("body1AnchorPoint")&&(this._body1AnchorPoint=this.getBody1().getMatrix().multVecMatrix(this.getInitialInverseMatrix1().multVecMatrix(t.assign(this.localAnchorPoint1)))),this.outputs.has("body1Axis")&&(this._body1Axis=this.getInitialInverseMatrix1().multDirMatrix(this.getBody1().getMatrix().multDirMatrix(e.assign(this.localAxis1))).normalize()),this.outputs.has("hinge1Angle")){var o=this._hinge1Angle.getValue();i.assign(this.getInitialInverseMatrix1()).multRight(this.getBody1().getMatrix()),i.get(null,n),this._hinge1Angle=n.angle,this.outputs.has("angleRate")&&(this._hinge1AngleRate=(this._hinge1Angle.getValue()-o)*this.getBrowser().getCurrentFrameRate())}}})(),update2:(()=>{var t=new(k()),e=new(k()),i=new(m()),n=new(xt());return function(){if(this.outputs.has("body2AnchorPoint")&&(this._body2AnchorPoint=this.getBody2().getMatrix().multVecMatrix(this.getInitialInverseMatrix2().multVecMatrix(t.assign(this.localAnchorPoint2)))),this.outputs.has("body2Axis")&&(this._body2Axis=this.getInitialInverseMatrix2().multDirMatrix(this.getBody2().getMatrix().multDirMatrix(e.assign(this.localAxis2))).normalize()),this.outputs.has("hinge2Angle")){var o=this._hinge2Angle.getValue();i.assign(this.getInitialInverseMatrix2()).multRight(this.getBody2().getMatrix()),i.get(null,n),this._hinge2Angle=n.angle,this.outputs.has("angleRate")&&(this._hinge2AngleRate=(this._hinge2Angle.getValue()-o)*this.getBrowser().getCurrentFrameRate())}}})()}),Object.defineProperties(Ot,{...l().getStaticProperties("DoubleAxisHingeJoint","RigidBodyPhysics",2,"joints","3.2"),fieldDefinitions:{value:new(c())([new(s())(b().inputOutput,"metadata",new(_().SFNode)),new(s())(b().inputOutput,"forceOutput",new(_().MFString)("NONE")),new(s())(b().inputOutput,"anchorPoint",new(_().SFVec3f)),new(s())(b().inputOutput,"axis1",new(_().SFVec3f)(1,0,0)),new(s())(b().inputOutput,"axis2",new(_().SFVec3f)(0,1,0)),new(s())(b().inputOutput,"minAngle1",new(_().SFFloat)(-3.141592653)),new(s())(b().inputOutput,"maxAngle1",new(_().SFFloat)(3.141592653)),new(s())(b().inputOutput,"desiredAngularVelocity1",new(_().SFFloat)),new(s())(b().inputOutput,"desiredAngularVelocity2",new(_().SFFloat)),new(s())(b().inputOutput,"maxTorque1",new(_().SFFloat)),new(s())(b().inputOutput,"maxTorque2",new(_().SFFloat)),new(s())(b().inputOutput,"stop1Bounce",new(_().SFFloat)),new(s())(b().inputOutput,"stop1ConstantForceMix",new(_().SFFloat)(.001)),new(s())(b().inputOutput,"stop1ErrorCorrection",new(_().SFFloat)(.8)),new(s())(b().inputOutput,"suspensionForce",new(_().SFFloat)),new(s())(b().inputOutput,"suspensionErrorCorrection",new(_().SFFloat)(.8)),new(s())(b().outputOnly,"body1AnchorPoint",new(_().SFVec3f)),new(s())(b().outputOnly,"body2AnchorPoint",new(_().SFVec3f)),new(s())(b().outputOnly,"body1Axis",new(_().SFVec3f)),new(s())(b().outputOnly,"body2Axis",new(_().SFVec3f)),new(s())(b().outputOnly,"hinge1Angle",new(_().SFFloat)),new(s())(b().outputOnly,"hinge2Angle",new(_().SFFloat)),new(s())(b().outputOnly,"hinge1AngleRate",new(_().SFFloat)),new(s())(b().outputOnly,"hinge2AngleRate",new(_().SFFloat)),new(s())(b().inputOutput,"body1",new(_().SFNode)),new(s())(b().inputOutput,"body2",new(_().SFNode))]),enumerable:!0}});const Tt=Ot,Pt=y().add("DoubleAxisHingeJoint",Tt);function Mt(t){v.call(this,t),this.addType(b().MotorJoint),this._axis1Angle.setUnit("angle"),this._axis2Angle.setUnit("angle"),this._axis3Angle.setUnit("angle"),this._motor1Angle.setUnit("angle"),this._motor2Angle.setUnit("angle"),this._motor3Angle.setUnit("angle"),this._motor1AngleRate.setUnit("angularRate"),this._motor2AngleRate.setUnit("angularRate"),this._motor3AngleRate.setUnit("angularRate"),t.getSpecificationVersion()<=3.3&&(this._motor1Axis=new(k()),this._motor2Axis=new(k()),this._motor3Axis=new(k()))}Object.setPrototypeOf(Mt.prototype,v.prototype),Object.defineProperties(Mt,{...l().getStaticProperties("MotorJoint","RigidBodyPhysics",2,"joints","3.2"),fieldDefinitions:{value:new(c())([new(s())(b().inputOutput,"metadata",new(_().SFNode)),new(s())(b().initializeOnly,"autoCalc",new(_().SFBool)),new(s())(b().inputOutput,"forceOutput",new(_().MFString)("NONE")),new(s())(b().inputOutput,"axis1Angle",new(_().SFFloat)),new(s())(b().inputOutput,"axis2Angle",new(_().SFFloat)),new(s())(b().inputOutput,"axis3Angle",new(_().SFFloat)),new(s())(b().inputOutput,"axis1Torque",new(_().SFFloat)),new(s())(b().inputOutput,"axis2Torque",new(_().SFFloat)),new(s())(b().inputOutput,"axis3Torque",new(_().SFFloat)),new(s())(b().inputOutput,"enabledAxes",new(_().SFInt32)(1)),new(s())(b().inputOutput,"motor1Axis",new(_().SFVec3f)(1,0,0)),new(s())(b().inputOutput,"motor2Axis",new(_().SFVec3f)(0,1,0)),new(s())(b().inputOutput,"motor3Axis",new(_().SFVec3f)(0,0,1)),new(s())(b().inputOutput,"stop1Bounce",new(_().SFFloat)),new(s())(b().inputOutput,"stop2Bounce",new(_().SFFloat)),new(s())(b().inputOutput,"stop3Bounce",new(_().SFFloat)),new(s())(b().inputOutput,"stop1ErrorCorrection",new(_().SFFloat)(.8)),new(s())(b().inputOutput,"stop2ErrorCorrection",new(_().SFFloat)(.8)),new(s())(b().inputOutput,"stop3ErrorCorrection",new(_().SFFloat)(.8)),new(s())(b().outputOnly,"motor1Angle",new(_().SFFloat)),new(s())(b().outputOnly,"motor2Angle",new(_().SFFloat)),new(s())(b().outputOnly,"motor3Angle",new(_().SFFloat)),new(s())(b().outputOnly,"motor1AngleRate",new(_().SFFloat)),new(s())(b().outputOnly,"motor2AngleRate",new(_().SFFloat)),new(s())(b().outputOnly,"motor3AngleRate",new(_().SFFloat)),new(s())(b().inputOutput,"body1",new(_().SFNode)),new(s())(b().inputOutput,"body2",new(_().SFNode))]),enumerable:!0}});const Vt=Mt,Gt=y().add("MotorJoint",Vt),Nt=t.Quaternion;var Lt,Qt,Et,Ht,Zt,Ut,Yt,Jt,Xt,zt,Kt,qt,$t=n.n(Nt);function te(t){l().call(this,t),L().call(this,t),this.addType(b().RigidBody),this.addChildObjects(b().inputOutput,"collection",new(_().SFNode),b().inputOutput,"transform",new(_().SFTime),b().inputOutput,"otherGeometry",new(_().MFNode)),this._position.setUnit("length"),this._linearVelocity.setUnit("speed"),this._angularVelocity.setUnit("angularRate"),this._mass.setUnit("mass"),this._forces.setUnit("force"),this._torques.setUnit("force"),this._disableLinearSpeed.setUnit("speed"),this._disableAngularSpeed.setUnit("angularRate"),this.compoundShape=new I.btCompoundShape,this.motionState=new I.btDefaultMotionState,this.constructionInfo=new I.btRigidBodyConstructionInfo(0,this.motionState,this.compoundShape),this.rigidBody=new I.btRigidBody(this.constructionInfo),this.geometryNodes=[],this.otherGeometryNodes=[],this.matrix=new(m()),this.force=new(k()),this.torque=new(k())}Object.assign(Object.setPrototypeOf(te.prototype,l().prototype),L().prototype,{initialize(){l().prototype.initialize.call(this),L().prototype.initialize.call(this),this._linearVelocity.addInterest("set_linearVelocity__",this),this._angularVelocity.addInterest("set_angularVelocity__",this),this._useFiniteRotation.addInterest("set_finiteRotationAxis__",this),this._finiteRotationAxis.addInterest("set_finiteRotationAxis__",this),this._autoDamp.addInterest("set_damping__",this),this._linearDampingFactor.addInterest("set_damping__",this),this._angularDampingFactor.addInterest("set_damping__",this),this._forces.addInterest("set_forces__",this),this._torques.addInterest("set_torques__",this),this._disableTime.addInterest("set_disable__",this),this._disableTime.addInterest("set_disable__",this),this._disableLinearSpeed.addInterest("set_disable__",this),this._disableAngularSpeed.addInterest("set_disable__",this),this._geometry.addInterest("set_geometry__",this),this._otherGeometry.addInterest("set_geometry__",this),this._fixed.addInterest("set_massProps__",this),this._mass.addInterest("set_massProps__",this),this._inertia.addInterest("set_massProps__",this),this._transform.addInterest("set_transform__",this),this.set_forces__(),this.set_torques__(),this.set_geometry__()},getBBox:(t,e)=>t.set(),setCollection(t){this._collection=t},getCollection(){return this._collection.getValue()},getRigidBody(){return this.rigidBody},getMatrix(){return this.matrix},set_position__(){for(var t=0,e=this.geometryNodes.length;t{var t=new I.btVector3(0,0,0),e=new I.btTransform,i=new(m()),n=new I.btTransform,o=new I.btVector3(0,0,0);return function(){var _=this.matrix;_.set(this._position.getValue(),this._orientation.getValue()),t.setValue(_[12],_[13],_[14]),e.getBasis().setValue(_[0],_[4],_[8],_[1],_[5],_[9],_[2],_[6],_[10]),e.setOrigin(t),i.assign(_),i.inverse(),o.setValue(i[12],i[13],i[14]),n.getBasis().setValue(i[0],i[4],i[8],i[1],i[5],i[9],i[2],i[6],i[10]),n.setOrigin(o);for(var r=this.compoundShape,s=0,p=this.compoundShape.getNumChildShapes();s=0;--e)t.removeChildShapeByIndex(e);e=0;for(var i=this.geometryNodes.length;e{var t=new I.btTransform,e=new(k()),i=new($t()),n=new(xt()),o=new(k()),_=new(k());return function(){this.motionState.getWorldTransform(t);var r=t.getOrigin(),s=t.getRotation(),p=this.rigidBody.getLinearVelocity(),c=this.rigidBody.getAngularVelocity();i.set(s.x(),s.y(),s.z(),s.w()),this._position=e.set(r.x(),r.y(),r.z()),this._orientation=n.setQuaternion(i),this._linearVelocity=o.set(p.x(),p.y(),p.z()),this._angularVelocity=_.set(c.x(),c.y(),c.z())}})(),dispose(){I.destroy(this.rigidBody),I.destroy(this.constructionInfo),I.destroy(this.motionState),I.destroy(this.compoundShape),L().prototype.dispose.call(this),l().prototype.dispose.call(this)}}),Object.defineProperties(te,{...l().getStaticProperties("RigidBody","RigidBodyPhysics",2,"bodies","3.2"),fieldDefinitions:{value:new(c())([new(s())(b().inputOutput,"metadata",new(_().SFNode)),new(s())(b().inputOutput,"enabled",new(_().SFBool)(!0)),new(s())(b().inputOutput,"fixed",new(_().SFBool)),new(s())(b().inputOutput,"position",new(_().SFVec3f)),new(s())(b().inputOutput,"orientation",new(_().SFRotation)),new(s())(b().inputOutput,"linearVelocity",new(_().SFVec3f)),new(s())(b().inputOutput,"angularVelocity",new(_().SFVec3f)),new(s())(b().inputOutput,"useFiniteRotation",new(_().SFBool)),new(s())(b().inputOutput,"finiteRotationAxis",new(_().SFVec3f)(0,1,0)),new(s())(b().inputOutput,"autoDamp",new(_().SFBool)),new(s())(b().inputOutput,"linearDampingFactor",new(_().SFFloat)(.001)),new(s())(b().inputOutput,"angularDampingFactor",new(_().SFFloat)(.001)),new(s())(b().inputOutput,"mass",new(_().SFFloat)(1)),new(s())(b().inputOutput,"centerOfMass",new(_().SFVec3f)),new(s())(b().inputOutput,"massDensityModel",new(_().SFNode)),new(s())(b().inputOutput,"useGlobalGravity",new(_().SFBool)(!0)),new(s())(b().inputOutput,"forces",new(_().MFVec3f)),new(s())(b().inputOutput,"torques",new(_().MFVec3f)),new(s())(b().inputOutput,"inertia",new(_().SFMatrix3f)),new(s())(b().inputOutput,"autoDisable",new(_().SFBool)),new(s())(b().inputOutput,"disableTime",new(_().SFTime)),new(s())(b().inputOutput,"disableLinearSpeed",new(_().SFFloat)),new(s())(b().inputOutput,"disableAngularSpeed",new(_().SFFloat)),new(s())(b().inputOutput,"geometry",new(_().MFNode)),new(s())(b().inputOutput,"visible",new(_().SFBool)(!0)),new(s())(b().inputOutput,"bboxDisplay",new(_().SFBool)),new(s())(b().initializeOnly,"bboxSize",new(_().SFVec3f)(-1,-1,-1)),new(s())(b().initializeOnly,"bboxCenter",new(_().SFVec3f))]),enumerable:!0}});const ee=te,ie=y().add("RigidBody",ee);function ne(t){P().call(this,t),L().call(this,t),this.addType(b().RigidBodyCollection),this._gravity.setUnit("acceleration"),this._constantForceMix.setUnit("force"),this._maxCorrectionSpeed.setUnit("speed"),this._contactSurfaceThickness.setUnit("length"),this._disableLinearSpeed.setUnit("length"),this._disableAngularSpeed.setUnit("angularRate"),this.broadphase=new I.btDbvtBroadphase,this.collisionConfiguration=new I.btDefaultCollisionConfiguration,this.dispatcher=new I.btCollisionDispatcher(this.collisionConfiguration),this.solver=new I.btSequentialImpulseConstraintSolver,this.dynamicsWorld=new I.btDiscreteDynamicsWorld(this.dispatcher,this.broadphase,this.solver,this.collisionConfiguration),this.deltaTime=0,this.colliderNode=null,this.bodyNodes=[],this.otherBodyNodes=[],this.rigidBodies=[],this.jointNodes=[],this.otherJointNodes=[]}var oe;Object.assign(Object.setPrototypeOf(ne.prototype,P().prototype),L().prototype,{initialize(){P().prototype.initialize.call(this),L().prototype.initialize.call(this),this.getLive().addInterest("set_enabled__",this),this._enabled.addInterest("set_enabled__",this),this._set_contacts.addInterest("set_contacts__",this),this._gravity.addInterest("set_gravity__",this),this._contactSurfaceThickness.addInterest("set_contactSurfaceThickness__",this),this._collider.addInterest("set_collider__",this),this._bodies.addInterest("set_bodies__",this),this._joints.addInterest("set_joints__",this),this.set_enabled__(),this.set_gravity__(),this.set_collider__(),this.set_bodies__()},getBBox:(t,e)=>t.set(),getDynamicsWorld(){return this.dynamicsWorld},getTimeStep(){var t=1/Math.max(10,this.getBrowser().getCurrentFrameRate());return this.deltaTime=(14*this.deltaTime+t)/15},set_enabled__(){this.getLive().getValue()&&this._enabled.getValue()?this.getBrowser().sensorEvents().addInterest("update",this):this.getBrowser().sensorEvents().removeInterest("update",this)},set_contacts__(){},set_gravity__:(oe=new I.btVector3(0,0,0),function(){oe.setValue(this._gravity.x,this._gravity.y,this._gravity.z),this.dynamicsWorld.setGravity(oe)}),set_contactSurfaceThickness__(){for(var t=0,e=this.bodyNodes.length;t=t._minBounceSpeed.getValue()?o.setRestitution(t._bounce.getValue()):o.setRestitution(0)}else for(i=0,n=e.length;i{var t=new(k());return function(){this.outputs.has("body1AnchorPoint")&&(this._body1AnchorPoint=this.getBody1().getMatrix().multVecMatrix(this.getInitialInverseMatrix1().multVecMatrix(t.assign(this.localAnchorPoint1))))}})(),update2:(()=>{var t=new(k()),e=new(m()),i=new(xt());return function(){if(this.outputs.has("body2AnchorPoint")&&(this._body2AnchorPoint=this.getBody2().getMatrix().multVecMatrix(this.getInitialInverseMatrix2().multVecMatrix(t.assign(this.localAnchorPoint2)))),this.outputs.has("angle")){var n=this._angle.getValue();e.assign(this.getInitialInverseMatrix2()).multRight(this.getBody2().getMatrix()),e.get(null,i),this._angle=i.angle,this.outputs.has("angleRate")&&(this._angleRate=(this._angle.getValue()-n)*this.getBrowser().getCurrentFrameRate())}}})()}),Object.defineProperties(se,{...l().getStaticProperties("SingleAxisHingeJoint","RigidBodyPhysics",2,"joints","3.2"),fieldDefinitions:{value:new(c())([new(s())(b().inputOutput,"metadata",new(_().SFNode)),new(s())(b().inputOutput,"forceOutput",new(_().MFString)("NONE")),new(s())(b().inputOutput,"anchorPoint",new(_().SFVec3f)),new(s())(b().inputOutput,"axis",new(_().SFVec3f)(0,1,0)),new(s())(b().inputOutput,"minAngle",new(_().SFFloat)(-3.141592653)),new(s())(b().inputOutput,"maxAngle",new(_().SFFloat)(3.141592653)),new(s())(b().inputOutput,"stopBounce",new(_().SFFloat)),new(s())(b().inputOutput,"stopErrorCorrection",new(_().SFFloat)(.8)),new(s())(b().outputOnly,"body1AnchorPoint",new(_().SFVec3f)),new(s())(b().outputOnly,"body2AnchorPoint",new(_().SFVec3f)),new(s())(b().outputOnly,"angle",new(_().SFFloat)),new(s())(b().outputOnly,"angleRate",new(_().SFFloat)),new(s())(b().inputOutput,"body1",new(_().SFNode)),new(s())(b().inputOutput,"body2",new(_().SFNode))]),enumerable:!0}});const ae=se,le=y().add("SingleAxisHingeJoint",ae);function de(t){v.call(this,t),this.addType(b().SliderJoint),this._minSeparation.setUnit("length"),this._maxSeparation.setUnit("length"),this._sliderForce.setUnit("force"),this._separation.setUnit("force"),this._separationRate.setUnit("speed"),this.joint=null,this.outputs=new Set}Object.assign(Object.setPrototypeOf(de.prototype,v.prototype),{initialize(){v.prototype.initialize.call(this),this._axis.addInterest("set_joint__",this),this._minSeparation.addInterest("set_separation__",this),this._maxSeparation.addInterest("set_separation__",this)},addJoint:(()=>{var t=new(xt()),e=new(m()),i=new(m()),n=new I.btVector3(0,0,0),o=new I.btTransform,_=new I.btTransform;return function(){this.getCollection()&&this.getBody1()&&this.getBody2()&&this.getBody1().getCollection()===this.getCollection()&&this.getBody2().getCollection()===this.getCollection()&&(t.setFromToVec(k().xAxis,this._axis.getValue()),e.set(this.getBody1()._position.getValue(),this.getBody1()._orientation.getValue().copy().multRight(t)),i.set(this.getBody1()._position.getValue(),this.getBody1()._orientation.getValue().copy().multRight(t)),n.setValue(e[12],e[13],e[14]),o.getBasis().setValue(e[0],e[4],e[8],e[1],e[5],e[9],e[2],e[6],e[10]),o.setOrigin(n),n.setValue(i[12],i[13],i[14]),o.getBasis().setValue(i[0],i[4],i[8],i[1],i[5],i[9],i[2],i[6],i[10]),_.setOrigin(n),this.joint=new I.btSliderConstraint(this.getBody1().getRigidBody(),this.getBody2().getRigidBody(),o,_,!0),this.joint.setLowerAngLimit(0),this.joint.setUpperAngLimit(0),this.set_separation__(),this.getCollection().getDynamicsWorld().addConstraint(this.joint,!0))}})(),removeJoint(){this.joint&&(this.getCollection()?.getDynamicsWorld().removeConstraint(this.joint),I.destroy(this.joint),this.joint=null)},set_forceOutput__(){this.outputs.clear();for(var t=0,e=this._forceOutput.length;t { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ diff --git a/dist/assets/components/ScriptingComponent.min.js b/dist/assets/components/ScriptingComponent.min.js index 19131218bb..6c20621e30 100644 --- a/dist/assets/components/ScriptingComponent.min.js +++ b/dist/assets/components/ScriptingComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const e=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var t={254:t=>{t.exports=e.jquery}},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);const r=e.Components;var a=o.n(r);const i=e.X3DBaseNode;var s=o.n(i);const l=e.X3DFieldDefinition;var c=o.n(l);const u=e.FieldDefinitionArray;var d=o.n(u);const p=e.X3DField;var v=o.n(p);const F=e.X3DArrayField;var f=o.n(F);const h=e.Fields;var g=o.n(h);const S=e.X3DBrowser;var y=o.n(S);const D=e.ComponentInfo;var M=o.n(D);const m=e.ComponentInfoArray;var x=o.n(m);const w=e.ProfileInfo;var _=o.n(w);const N=e.ProfileInfoArray;var A=o.n(N);const O=e.ConcreteNodesArray;var b=o.n(O);const I=e.AbstractNodesArray;var E=o.n(I);const X=e.UnitInfo;var T=o.n(X);const C=e.UnitInfoArray;var V=o.n(C);const P=e.NamedNodesArray;var j=o.n(P);const B=e.ImportedNodesArray;var R=o.n(B);const U=e.X3DImportedNode;var L=o.n(U);const z=e.ExportedNodesArray;var $=o.n(z);const G=e.X3DExportedNode;var q=o.n(G);const k=e.X3DExecutionContext;var W=o.n(k);const H=e.X3DScene;var J=o.n(H);const K=e.ExternProtoDeclarationArray;var Q=o.n(K);const Y=e.ProtoDeclarationArray;var Z=o.n(Y);const ee=e.X3DExternProtoDeclaration;var te=o.n(ee);const ne=e.X3DProtoDeclaration;var oe=o.n(ne);const re=e.X3DProtoDeclarationNode;var ae=o.n(re);const ie=e.RouteArray;var se=o.n(ie);const le=e.X3DRoute;var ce=o.n(le);const ue=e.Namespace;var de=o.n(ue);const pe=function(e,t,n){return new Function("with (arguments [0])\n {\n return eval ((() =>\n {\n const sourceText = arguments [1];\n\n delete arguments [0];\n delete arguments [1];\n\n arguments .length = 0;\n\n return sourceText;\n })\n ());\n }").call(e,t,n)},ve=de().add("evaluate",pe),Fe=e.X3DNode;var fe=o.n(Fe);const he=e.X3DChildNode;var ge=o.n(he);const Se=e.X3DUrlObject;var ye=o.n(Se);const De=e.X3DConstants;var Me=o.n(De);function me(e){ge().call(this,e),ye().call(this,e),this.addType(Me().X3DScriptNode)}Object.assign(Object.setPrototypeOf(me.prototype,ge().prototype),ye().prototype,{initialize(){ge().prototype.initialize.call(this),ye().prototype.initialize.call(this)},dispose(){ye().prototype.dispose.call(this),ge().prototype.dispose.call(this)}}),Object.defineProperties(me,fe().getStaticProperties("X3DScriptNode","Scripting",1));const xe=me,we=de().add("X3DScriptNode",xe),_e=e.FileLoader;var Ne=o.n(_e);const Ae=e.SFNodeCache;var Oe=o.n(Ae),be=o(254);function Ie(e){we.call(this,e),this.addType(Me().Script)}Object.assign(Object.setPrototypeOf(Ie.prototype,we.prototype),{initialize(){we.prototype.initialize.call(this),this.requestImmediateLoad().catch(Function.prototype)},getExtendedEventHandling:()=>!1,canUserDefinedFields:()=>!0,addUserDefinedField(e,t,n){we.prototype.addUserDefinedField.call(this,e,t,n),this.isInitialized()&&(this.setLoadState(Me().NOT_STARTED_STATE),this.requestImmediateLoad().catch(Function.prototype))},removeUserDefinedField(e){this.getUserDefinedFields().get(e)?.removeInterest("set_field__",this),we.prototype.removeUserDefinedField.call(this,e),this.isInitialized()&&(this.setLoadState(Me().NOT_STARTED_STATE),this.requestImmediateLoad().catch(Function.prototype))},getSourceText(){return this._url},unloadData(){const e=this.context?.get("shutdown");"function"==typeof e&&this.call__(e,"shutdown"),be(window).off(`.Script-${this.getId()}`),this.getBrowser().prepareEvents().removeInterest("call__",this),this.removeInterest("call__",this);for(const e of this.getUserDefinedFields())e.removeInterest("set_field__",this)},async loadData(){await this.unloadData(),new(Ne())(this).loadDocument(this._url,(e=>{null===e?this.setLoadState(Me().FAILED_STATE):(this.initialize__(be.decodeText(e)),this.setLoadState(Me().COMPLETE_STATE))}))},createGlobalObject(){const e=()=>this,t={get(t,n){switch(n){case"getScriptNode":return e;case"currentScene":return e().getExecutionContext();default:return t[n]}}},n=new Proxy(this.getBrowser(),t);function o(e){const t=n.createVrmlFromString(e);if(t.length&&t[0])return t[0];throw new Error("SFNode.new: invalid argument.")}o.prototype=g().SFNode.prototype;const r={NULL:{value:null},FALSE:{value:!1},TRUE:{value:!0},print:{value:n.println.bind(n)},trace:{value:n.println.bind(n)},Browser:{value:n},X3DConstants:{value:Me()},X3DBrowser:{value:y()},X3DExecutionContext:{value:W()},X3DScene:{value:J()},ComponentInfo:{value:M()},ComponentInfoArray:{value:x()},ProfileInfo:{value:_()},ProfileInfoArray:{value:A()},ConcreteNodesArray:{value:b()},AbstractNodesArray:{value:E()},UnitInfo:{value:T()},UnitInfoArray:{value:V()},NamedNodesArray:{value:j()},ImportedNodesArray:{value:R()},X3DImportedNode:{value:L()},ExportedNodesArray:{value:$()},X3DExportedNode:{value:q()},ExternProtoDeclarationArray:{value:Q()},ProtoDeclarationArray:{value:Z()},X3DExternProtoDeclaration:{value:te()},X3DProtoDeclaration:{value:oe()},X3DProtoDeclarationNode:{value:ae()},RouteArray:{value:se()},X3DRoute:{value:ce()},X3DBaseNode:{value:s()},X3DFieldDefinition:{value:c()},FieldDefinitionArray:{value:d()},X3DField:{value:v()},X3DArrayField:{value:f()},SFColor:{value:g().SFColor},SFColorRGBA:{value:g().SFColorRGBA},SFImage:{value:g().SFImage},SFMatrix3d:{value:g().SFMatrix3d},SFMatrix3f:{value:g().SFMatrix3f},SFMatrix4d:{value:g().SFMatrix4d},SFMatrix4f:{value:g().SFMatrix4f},SFNode:{value:o},SFRotation:{value:g().SFRotation},SFString:{value:g().SFString},SFVec2d:{value:g().SFVec2d},SFVec2f:{value:g().SFVec2f},SFVec3d:{value:g().SFVec3d},SFVec3f:{value:g().SFVec3f},SFVec4d:{value:g().SFVec4d},SFVec4f:{value:g().SFVec4f},VrmlMatrix:{value:g().VrmlMatrix},MFBool:{value:g().MFBool},MFColor:{value:g().MFColor},MFColorRGBA:{value:g().MFColorRGBA},MFDouble:{value:g().MFDouble},MFFloat:{value:g().MFFloat},MFImage:{value:g().MFImage},MFInt32:{value:g().MFInt32},MFMatrix3d:{value:g().MFMatrix3d},MFMatrix3f:{value:g().MFMatrix3f},MFMatrix4d:{value:g().MFMatrix4d},MFMatrix4f:{value:g().MFMatrix4f},MFNode:{value:g().MFNode},MFRotation:{value:g().MFRotation},MFString:{value:g().MFString},MFTime:{value:g().MFTime},MFVec2d:{value:g().MFVec2d},MFVec2f:{value:g().MFVec2f},MFVec3d:{value:g().MFVec3d},MFVec3f:{value:g().MFVec3f},MFVec4d:{value:g().MFVec4d},MFVec4f:{value:g().MFVec4f}};for(const e of this.getUserDefinedFields()){if(e.getAccessType()===Me().inputOnly)continue;const t=[e.getName()];e.getAccessType()===Me().inputOutput&&t.push(e.getName()+"_changed");for(const n of t)n in r||(r[n]={get:e.valueOf.bind(e),set:e.setValue.bind(e)})}return Object.create(Object.prototype,r)},createContext(e){const t=["initialize","prepareEvents","eventsProcessed","shutdown"];for(const e of this.getUserDefinedFields())switch(e.getAccessType()){case Me().inputOnly:t.push(e.getName());break;case Me().inputOutput:t.push("set_"+e.getName())}e+=";\n["+t.map((e=>`typeof ${e} !== "undefined" ? ${e} : undefined`)).join(",")+"];";const n=this.evaluate(e),o=new Map;for(let e=0;ethis.call__(n,"shutdown")));const o=this.context.get("prepareEvents");"function"==typeof o&&t.prepareEvents().addInterest("call__",this,o,"prepareEvents");const r=this.context.get("eventsProcessed");"function"==typeof r&&this.addInterest("call__",this,r,"eventsProcessed");for(const e of this.getUserDefinedFields())switch(e.getAccessType()){case Me().inputOnly:{const t=this.context.get(e.getName());"function"==typeof t&&e.addInterest("set_field__",this,t,[]);break}case Me().inputOutput:{const t=this.context.get("set_"+e.getName());"function"==typeof t&&e.addInterest("set_field__",this,t,[]);break}}const a=this.context.get("initialize");"function"==typeof a&&await this.call__(a,"initialize")},async call__(e,t){try{await e.call(Oe().get(this),this.getBrowser().getCurrentTime())}catch(e){this.setError(`in function '${t}'`,e)}},async set_field__(e,t,n){const o=t.pop()??n.create();try{o.assign(n),await e.call(Oe().get(this),o.valueOf(),this.getBrowser().getCurrentTime())}catch(e){this.setError(`in function '${n.getName()}'`,e)}finally{t.push(o)}},setError(e,t){const n=this.getExecutionContext().getWorldURL().startsWith("data:")?"data:":this.getExecutionContext().getWorldURL();console.error(`JavaScript Error in Script '${this.getName()}', ${e}\nworld url is '${n}':`),console.error(t)},dispose(){this.unloadData(),we.prototype.dispose.call(this)}}),Object.defineProperties(Ie,{...fe().getStaticProperties("Script","Scripting",1,"children","2.0"),fieldDefinitions:{value:new(d())([new(c())(Me().inputOutput,"metadata",new(g().SFNode)),new(c())(Me().inputOutput,"description",new(g().SFString)),new(c())(Me().inputOutput,"load",new(g().SFBool)(!0)),new(c())(Me().inputOutput,"url",new(g().MFString)),new(c())(Me().inputOutput,"autoRefresh",new(g().SFTime)),new(c())(Me().inputOutput,"autoRefreshTimeLimit",new(g().SFTime)(3600)),new(c())(Me().initializeOnly,"directOutput",new(g().SFBool)),new(c())(Me().initializeOnly,"mustEvaluate",new(g().SFBool))]),enumerable:!0}});const Ee=Ie,Xe=de().add("Script",Ee);a().add({name:"Scripting",concreteNodes:[Xe],abstractNodes:[we]});de().add("ScriptingComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const e=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var t={254:t=>{t.exports=e.jquery}},n={};function o(e){var r=n[e];if(void 0!==r)return r.exports;var a=n[e]={exports:{}};return t[e](a,a.exports,o),a.exports}o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},o.d=(e,t)=>{for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);const r=e.Components;var a=o.n(r);const i=e.X3DBaseNode;var s=o.n(i);const l=e.X3DFieldDefinition;var c=o.n(l);const u=e.FieldDefinitionArray;var d=o.n(u);const p=e.X3DField;var v=o.n(p);const F=e.X3DArrayField;var f=o.n(F);const h=e.Fields;var g=o.n(h);const S=e.X3DBrowser;var y=o.n(S);const D=e.ComponentInfo;var M=o.n(D);const m=e.ComponentInfoArray;var x=o.n(m);const w=e.ProfileInfo;var _=o.n(w);const N=e.ProfileInfoArray;var A=o.n(N);const O=e.ConcreteNodesArray;var b=o.n(O);const I=e.AbstractNodesArray;var E=o.n(I);const X=e.UnitInfo;var T=o.n(X);const C=e.UnitInfoArray;var V=o.n(C);const P=e.NamedNodesArray;var j=o.n(P);const B=e.ImportedNodesArray;var R=o.n(B);const U=e.X3DImportedNode;var L=o.n(U);const z=e.ExportedNodesArray;var $=o.n(z);const G=e.X3DExportedNode;var q=o.n(G);const k=e.X3DExecutionContext;var W=o.n(k);const H=e.X3DScene;var J=o.n(H);const K=e.ExternProtoDeclarationArray;var Q=o.n(K);const Y=e.ProtoDeclarationArray;var Z=o.n(Y);const ee=e.X3DExternProtoDeclaration;var te=o.n(ee);const ne=e.X3DProtoDeclaration;var oe=o.n(ne);const re=e.X3DProtoDeclarationNode;var ae=o.n(re);const ie=e.RouteArray;var se=o.n(ie);const le=e.X3DRoute;var ce=o.n(le);const ue=e.Namespace;var de=o.n(ue);const pe=function(e,t,n){return new Function("with (arguments [0])\n {\n return eval ((() =>\n {\n const sourceText = arguments [1];\n\n delete arguments [0];\n delete arguments [1];\n\n arguments .length = 0;\n\n return sourceText;\n })\n ());\n }").call(e,t,n)},ve=de().add("evaluate",pe),Fe=e.X3DNode;var fe=o.n(Fe);const he=e.X3DChildNode;var ge=o.n(he);const Se=e.X3DUrlObject;var ye=o.n(Se);const De=e.X3DConstants;var Me=o.n(De);function me(e){ge().call(this,e),ye().call(this,e),this.addType(Me().X3DScriptNode)}Object.assign(Object.setPrototypeOf(me.prototype,ge().prototype),ye().prototype,{initialize(){ge().prototype.initialize.call(this),ye().prototype.initialize.call(this)},dispose(){ye().prototype.dispose.call(this),ge().prototype.dispose.call(this)}}),Object.defineProperties(me,fe().getStaticProperties("X3DScriptNode","Scripting",1));const xe=me,we=de().add("X3DScriptNode",xe),_e=e.FileLoader;var Ne=o.n(_e);const Ae=e.SFNodeCache;var Oe=o.n(Ae),be=o(254);function Ie(e){we.call(this,e),this.addType(Me().Script)}Object.assign(Object.setPrototypeOf(Ie.prototype,we.prototype),{initialize(){we.prototype.initialize.call(this),this.requestImmediateLoad().catch(Function.prototype)},getExtendedEventHandling:()=>!1,canUserDefinedFields:()=>!0,addUserDefinedField(e,t,n){we.prototype.addUserDefinedField.call(this,e,t,n),this.isInitialized()&&(this.setLoadState(Me().NOT_STARTED_STATE),this.requestImmediateLoad().catch(Function.prototype))},removeUserDefinedField(e){this.getUserDefinedFields().get(e)?.removeInterest("set_field__",this),we.prototype.removeUserDefinedField.call(this,e),this.isInitialized()&&(this.setLoadState(Me().NOT_STARTED_STATE),this.requestImmediateLoad().catch(Function.prototype))},getSourceText(){return this._url},unloadData(){const e=this.context?.get("shutdown");"function"==typeof e&&this.call__(e,"shutdown"),be(window).off(`.Script-${this.getId()}`),this.getBrowser().prepareEvents().removeInterest("call__",this),this.removeInterest("call__",this);for(const e of this.getUserDefinedFields())e.removeInterest("set_field__",this)},async loadData(){await this.unloadData(),new(Ne())(this).loadDocument(this._url,(e=>{null===e?this.setLoadState(Me().FAILED_STATE):(this.initialize__(be.decodeText(e)),this.setLoadState(Me().COMPLETE_STATE))}))},createGlobalObject(){const e=()=>this,t={get(t,n){switch(n){case"getScriptNode":return e;case"currentScene":return e().getExecutionContext();default:return t[n]}}},n=new Proxy(this.getBrowser(),t);function o(e){const t=n.createVrmlFromString(e);if(t.length&&t[0])return t[0];throw new Error("SFNode.new: invalid argument.")}o.prototype=g().SFNode.prototype;const r={NULL:{value:null},FALSE:{value:!1},TRUE:{value:!0},print:{value:n.println.bind(n)},trace:{value:n.println.bind(n)},Browser:{value:n},X3DConstants:{value:Me()},X3DBrowser:{value:y()},X3DExecutionContext:{value:W()},X3DScene:{value:J()},ComponentInfo:{value:M()},ComponentInfoArray:{value:x()},ProfileInfo:{value:_()},ProfileInfoArray:{value:A()},ConcreteNodesArray:{value:b()},AbstractNodesArray:{value:E()},UnitInfo:{value:T()},UnitInfoArray:{value:V()},NamedNodesArray:{value:j()},ImportedNodesArray:{value:R()},X3DImportedNode:{value:L()},ExportedNodesArray:{value:$()},X3DExportedNode:{value:q()},ExternProtoDeclarationArray:{value:Q()},ProtoDeclarationArray:{value:Z()},X3DExternProtoDeclaration:{value:te()},X3DProtoDeclaration:{value:oe()},X3DProtoDeclarationNode:{value:ae()},RouteArray:{value:se()},X3DRoute:{value:ce()},X3DBaseNode:{value:s()},X3DFieldDefinition:{value:c()},FieldDefinitionArray:{value:d()},X3DField:{value:v()},X3DArrayField:{value:f()},SFColor:{value:g().SFColor},SFColorRGBA:{value:g().SFColorRGBA},SFImage:{value:g().SFImage},SFMatrix3d:{value:g().SFMatrix3d},SFMatrix3f:{value:g().SFMatrix3f},SFMatrix4d:{value:g().SFMatrix4d},SFMatrix4f:{value:g().SFMatrix4f},SFNode:{value:o},SFRotation:{value:g().SFRotation},SFString:{value:g().SFString},SFVec2d:{value:g().SFVec2d},SFVec2f:{value:g().SFVec2f},SFVec3d:{value:g().SFVec3d},SFVec3f:{value:g().SFVec3f},SFVec4d:{value:g().SFVec4d},SFVec4f:{value:g().SFVec4f},VrmlMatrix:{value:g().VrmlMatrix},MFBool:{value:g().MFBool},MFColor:{value:g().MFColor},MFColorRGBA:{value:g().MFColorRGBA},MFDouble:{value:g().MFDouble},MFFloat:{value:g().MFFloat},MFImage:{value:g().MFImage},MFInt32:{value:g().MFInt32},MFMatrix3d:{value:g().MFMatrix3d},MFMatrix3f:{value:g().MFMatrix3f},MFMatrix4d:{value:g().MFMatrix4d},MFMatrix4f:{value:g().MFMatrix4f},MFNode:{value:g().MFNode},MFRotation:{value:g().MFRotation},MFString:{value:g().MFString},MFTime:{value:g().MFTime},MFVec2d:{value:g().MFVec2d},MFVec2f:{value:g().MFVec2f},MFVec3d:{value:g().MFVec3d},MFVec3f:{value:g().MFVec3f},MFVec4d:{value:g().MFVec4d},MFVec4f:{value:g().MFVec4f}};for(const e of this.getUserDefinedFields()){if(e.getAccessType()===Me().inputOnly)continue;const t=[e.getName()];e.getAccessType()===Me().inputOutput&&t.push(e.getName()+"_changed");for(const n of t)n in r||(r[n]={get:e.valueOf.bind(e),set:e.setValue.bind(e)})}return Object.create(Object.prototype,r)},createContext(e){const t=["initialize","prepareEvents","eventsProcessed","shutdown"];for(const e of this.getUserDefinedFields())switch(e.getAccessType()){case Me().inputOnly:t.push(e.getName());break;case Me().inputOutput:t.push("set_"+e.getName())}e+=";\n["+t.map((e=>`typeof ${e} !== "undefined" ? ${e} : undefined`)).join(",")+"];";const n=this.evaluate(e),o=new Map;for(let e=0;ethis.call__(n,"shutdown")));const o=this.context.get("prepareEvents");"function"==typeof o&&t.prepareEvents().addInterest("call__",this,o,"prepareEvents");const r=this.context.get("eventsProcessed");"function"==typeof r&&this.addInterest("call__",this,r,"eventsProcessed");for(const e of this.getUserDefinedFields())switch(e.getAccessType()){case Me().inputOnly:{const t=this.context.get(e.getName());"function"==typeof t&&e.addInterest("set_field__",this,t,[]);break}case Me().inputOutput:{const t=this.context.get("set_"+e.getName());"function"==typeof t&&e.addInterest("set_field__",this,t,[]);break}}const a=this.context.get("initialize");"function"==typeof a&&await this.call__(a,"initialize")},async call__(e,t){try{await e.call(Oe().get(this),this.getBrowser().getCurrentTime())}catch(e){this.setError(`in function '${t}'`,e)}},async set_field__(e,t,n){const o=t.pop()??n.create();try{o.assign(n),await e.call(Oe().get(this),o.valueOf(),this.getBrowser().getCurrentTime())}catch(e){this.setError(`in function '${n.getName()}'`,e)}finally{t.push(o)}},setError(e,t){const n=this.getExecutionContext().getWorldURL().startsWith("data:")?"data:":this.getExecutionContext().getWorldURL();console.error(`JavaScript Error in Script '${this.getName()}', ${e}\nworld url is '${n}':`),console.error(t)},dispose(){this.unloadData(),we.prototype.dispose.call(this)}}),Object.defineProperties(Ie,{...fe().getStaticProperties("Script","Scripting",1,"children","2.0"),fieldDefinitions:{value:new(d())([new(c())(Me().inputOutput,"metadata",new(g().SFNode)),new(c())(Me().inputOutput,"description",new(g().SFString)),new(c())(Me().inputOutput,"load",new(g().SFBool)(!0)),new(c())(Me().inputOutput,"url",new(g().MFString)),new(c())(Me().inputOutput,"autoRefresh",new(g().SFTime)),new(c())(Me().inputOutput,"autoRefreshTimeLimit",new(g().SFTime)(3600)),new(c())(Me().initializeOnly,"directOutput",new(g().SFBool)),new(c())(Me().initializeOnly,"mustEvaluate",new(g().SFBool))]),enumerable:!0}});const Ee=Ie,Xe=de().add("Script",Ee);a().add({name:"Scripting",concreteNodes:[Xe],abstractNodes:[we]});de().add("ScriptingComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/TextComponent.js b/dist/assets/components/TextComponent.js index 3f9eb867ce..994c52abe4 100644 --- a/dist/assets/components/TextComponent.js +++ b/dist/assets/components/TextComponent.js @@ -1,9 +1,9 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ -/***/ 599: +/***/ 501: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { /** @@ -16085,7 +16085,7 @@ const FontStyle_default_ = FontStyle; /* harmony default export */ const Text_FontStyle = (external_X_ITE_X3D_Namespace_default().add ("FontStyle", FontStyle_default_)); ;// CONCATENATED MODULE: ./src/x_ite/Browser/Text/X3DTextContext.js /* provided dependency */ var $ = __webpack_require__(254); -/* provided dependency */ var opentype = __webpack_require__(599); +/* provided dependency */ var opentype = __webpack_require__(501); /******************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. diff --git a/dist/assets/components/TextComponent.min.js b/dist/assets/components/TextComponent.min.js index 5674512f5a..c8d32d1248 100644 --- a/dist/assets/components/TextComponent.min.js +++ b/dist/assets/components/TextComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const e=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var t={599:function(e,t,r){!function(e){var t,n;String.prototype.codePointAt||(t=function(){try{var e={},t=Object.defineProperty,r=t(e,e,e)&&t}catch(e){}return r}(),n=function(e){if(null==this)throw TypeError();var t=String(this),r=t.length,n=e?Number(e):0;if(n!=n&&(n=0),!(n<0||n>=r)){var a,s=t.charCodeAt(n);return s>=55296&&s<=56319&&r>n+1&&(a=t.charCodeAt(n+1))>=56320&&a<=57343?1024*(s-55296)+a-56320+65536:s}},t?t(String.prototype,"codePointAt",{value:n,configurable:!0,writable:!0}):String.prototype.codePointAt=n);var a=0,s=-3;function o(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function i(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new o,this.dtree=new o}var u=new o,l=new o,p=new Uint8Array(30),c=new Uint16Array(30),h=new Uint8Array(30),f=new Uint16Array(30),d=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),g=new o,v=new Uint8Array(320);function y(e,t,r,n){var a,s;for(a=0;a>>=1,t}function T(e,t,r){if(!t)return r;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,n+r}function U(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++a,r+=t.table[a],n-=t.table[a]}while(n>=0);return e.tag=s,e.bitcount-=a,t.trans[r+n]}function k(e,t,r){var n,a,s,o,i,u;for(n=T(e,5,257),a=T(e,5,1),s=T(e,4,4),o=0;o<19;++o)v[o]=0;for(o=0;o8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return s;for(e.sourceIndex+=4,r=t;r;--r)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,a}function w(e,t){var r,n,o=new i(e,t);do{switch(r=x(o),T(o,2,0)){case 0:n=O(o);break;case 1:n=E(o,u,l);break;case 2:k(o,o.ltree,o.dtree),n=E(o,o.ltree,o.dtree);break;default:n=s}if(n!==a)throw new Error("Data error")}while(!r);return o.destLenthis.x2&&(this.x2=e)),"number"==typeof t&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),tthis.y2&&(this.y2=t))},C.prototype.addX=function(e){this.addPoint(e,null)},C.prototype.addY=function(e){this.addPoint(null,e)},C.prototype.addBezier=function(e,t,r,n,a,s,o,i){var u=[e,t],l=[r,n],p=[a,s],c=[o,i];this.addPoint(e,t),this.addPoint(o,i);for(var h=0;h<=1;h++){var f=6*u[h]-12*l[h]+6*p[h],d=-3*u[h]+9*l[h]-9*p[h]+3*c[h],g=3*l[h]-3*u[h];if(0!==d){var v=Math.pow(f,2)-4*g*d;if(!(v<0)){var y=(-f+Math.sqrt(v))/(2*d);0=0&&n>0&&(r+=" "),r+=t(a)}return r}e=void 0!==e?e:2;for(var n="",a=0;a=0&&e<=255,"Byte value should be between 0 and 255."),[e]},P.BYTE=_(1),A.CHAR=function(e){return[e.charCodeAt(0)]},P.CHAR=_(1),A.CHARARRAY=function(e){void 0===e&&(e="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var t=[],r=0;r>8&255,255&e]},P.USHORT=_(2),A.SHORT=function(e){return e>=G&&(e=-(2*G-e)),[e>>8&255,255&e]},P.SHORT=_(2),A.UINT24=function(e){return[e>>16&255,e>>8&255,255&e]},P.UINT24=_(3),A.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},P.ULONG=_(4),A.LONG=function(e){return e>=M&&(e=-(2*M-e)),[e>>24&255,e>>16&255,e>>8&255,255&e]},P.LONG=_(4),A.FIXED=A.ULONG,P.FIXED=P.ULONG,A.FWORD=A.SHORT,P.FWORD=P.SHORT,A.UFWORD=A.USHORT,P.UFWORD=P.USHORT,A.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e]},P.LONGDATETIME=_(8),A.TAG=function(e){return F.argument(4===e.length,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]},P.TAG=_(4),A.Card8=A.BYTE,P.Card8=P.BYTE,A.Card16=A.USHORT,P.Card16=P.USHORT,A.OffSize=A.BYTE,P.OffSize=P.BYTE,A.SID=A.USHORT,P.SID=P.USHORT,A.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?A.NUMBER16(e):A.NUMBER32(e)},P.NUMBER=function(e){return A.NUMBER(e).length},A.NUMBER16=function(e){return[28,e>>8&255,255&e]},P.NUMBER16=_(3),A.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,255&e]},P.NUMBER32=_(5),A.REAL=function(e){var t=e.toString(),r=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(r){var n=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length));t=(Math.round(e*n)/n).toString()}for(var a="",s=0,o=t.length;s>8&255,t[t.length]=255&n}return t},P.UTF16=function(e){return 2*e.length};var H={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};N.MACSTRING=function(e,t,r,n){var a=H[n];if(void 0!==a){for(var s="",o=0;o=-128&&e<=127}function X(e,t,r){for(var n=0,a=e.length;t>8&255,u+256&255)}return s}A.MACSTRING=function(e,t){var r=V(t);if(void 0!==r){for(var n=[],a=0;a=128&&void 0===(s=r[s]))return;n[a]=s}return n}},P.MACSTRING=function(e,t){var r=A.MACSTRING(e,t);return void 0!==r?r.length:0},A.VARDELTAS=function(e){for(var t=0,r=[];t=-128&&n<=127?j(e,t,r):Y(e,t,r)}return r},A.INDEX=function(e){for(var t=1,r=[t],n=[],a=0;a>8,t[c+1]=255&h,t=t.concat(n[p])}return t},P.TABLE=function(e){for(var t=0,r=e.fields.length,n=0;n0)return new ge(this.data,this.offset+t).parseStruct(e)},ge.prototype.parsePointer32=function(e){var t=this.parseOffset32();if(t>0)return new ge(this.data,this.offset+t).parseStruct(e)},ge.prototype.parseListOfLists=function(e){for(var t=this.parseOffset16List(),r=t.length,n=this.relativeOffset,a=new Array(r),s=0;s>1,t.skip("uShort",3),e.glyphIndexMap={};for(var o=new ye.Parser(r,n+a+14),i=new ye.Parser(r,n+a+16+2*s),u=new ye.Parser(r,n+a+16+4*s),l=new ye.Parser(r,n+a+16+6*s),p=n+a+16+8*s,c=0;c=0;a-=1){var s=ye.getUShort(e,t+4+8*a),o=ye.getUShort(e,t+4+8*a+2);if(3===s&&(0===o||1===o||10===o)||0===s&&(0===o||1===o||2===o||3===o||4===o)){n=ye.getULong(e,t+4+8*a+4);break}}if(-1===n)throw new Error("No valid cmap sub-tables found.");var i=new ye.Parser(e,t+n);if(r.format=i.parseUShort(),12===r.format)me(r,i);else{if(4!==r.format)throw new Error("Only format 4 and 12 cmap tables are supported (found format "+r.format+").");be(r,i,e,t,n)}return r}function xe(e,t,r){e.segments.push({end:t,start:t,delta:-(t-r),offset:0,glyphIndex:r})}function Te(e){e.segments.push({end:65535,start:65535,delta:1,offset:0})}function Ue(e){var t,r=!0;for(t=e.length-1;t>0;t-=1)if(e.get(t).unicode>65535){console.log("Adding CMAP format 12 (needed!)"),r=!1;break}var n=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:r?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:r?12:20}];r||(n=n.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),n=n.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var a=new ae.Table("cmap",n);for(a.segments=[],t=0;t>4,o=15&a;if(s===r)break;if(t+=n[s],o===r)break;t+=n[o]}return parseFloat(t)}function Je(e,t){if(28===t)return e.parseByte()<<8|e.parseByte();if(29===t)return e.parseByte()<<24|e.parseByte()<<16|e.parseByte()<<8|e.parseByte();if(30===t)return Ke(e);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return 256*(t-247)+e.parseByte()+108;if(t>=251&&t<=254)return 256*-(t-251)-e.parseByte()-108;throw new Error("Invalid b0 "+t)}function $e(e){for(var t={},r=0;r>1,h.length=0,d=!0}function U(r){for(var l,m,b,k,E,O,w,R,L,C,D,I,B=0;B1&&!d&&(S=h.shift()+p,d=!0),y+=h.pop(),x(v,y);break;case 5:for(;h.length>0;)v+=h.shift(),y+=h.shift(),c.lineTo(v,y);break;case 6:for(;h.length>0&&(v+=h.shift(),c.lineTo(v,y),0!==h.length);)y+=h.shift(),c.lineTo(v,y);break;case 7:for(;h.length>0&&(y+=h.shift(),c.lineTo(v,y),0!==h.length);)v+=h.shift(),c.lineTo(v,y);break;case 8:for(;h.length>0;)n=v+h.shift(),a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),y=o+h.shift(),c.curveTo(n,a,s,o,v,y);break;case 10:E=h.pop()+u,(O=i[E])&&U(O);break;case 11:return;case 12:switch(F=r[B],B+=1,F){case 35:n=v+h.shift(),a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o+h.shift(),L=w+h.shift(),C=R+h.shift(),D=L+h.shift(),I=C+h.shift(),v=D+h.shift(),y=I+h.shift(),h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,y);break;case 34:n=v+h.shift(),a=y,s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o,L=w+h.shift(),C=o,D=L+h.shift(),I=y,v=D+h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,y);break;case 36:n=v+h.shift(),a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o,L=w+h.shift(),C=o,D=L+h.shift(),I=C+h.shift(),v=D+h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,y);break;case 37:n=v+h.shift(),a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o+h.shift(),L=w+h.shift(),C=R+h.shift(),D=L+h.shift(),I=C+h.shift(),Math.abs(D-v)>Math.abs(I-y)?v=D+h.shift():y=I+h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,y);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+F),h.length=0}break;case 14:h.length>0&&!d&&(S=h.shift()+p,d=!0),g&&(c.closePath(),g=!1);break;case 19:case 20:T(),B+=f+7>>3;break;case 21:h.length>2&&!d&&(S=h.shift()+p,d=!0),y+=h.pop(),x(v+=h.pop(),y);break;case 22:h.length>1&&!d&&(S=h.shift()+p,d=!0),x(v+=h.pop(),y);break;case 24:for(;h.length>2;)n=v+h.shift(),a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),y=o+h.shift(),c.curveTo(n,a,s,o,v,y);v+=h.shift(),y+=h.shift(),c.lineTo(v,y);break;case 25:for(;h.length>6;)v+=h.shift(),y+=h.shift(),c.lineTo(v,y);n=v+h.shift(),a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),y=o+h.shift(),c.curveTo(n,a,s,o,v,y);break;case 26:for(h.length%2&&(v+=h.shift());h.length>0;)n=v,a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s,y=o+h.shift(),c.curveTo(n,a,s,o,v,y);break;case 27:for(h.length%2&&(y+=h.shift());h.length>0;)n=v+h.shift(),a=y,s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),y=o,c.curveTo(n,a,s,o,v,y);break;case 28:l=r[B],m=r[B+1],h.push((l<<24|m<<16)>>16),B+=2;break;case 29:E=h.pop()+e.gsubrsBias,(O=e.gsubrs[E])&&U(O);break;case 30:for(;h.length>0&&(n=v,a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),y=o+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,y),0!==h.length);)n=v+h.shift(),a=y,s=n+h.shift(),o=a+h.shift(),y=o+h.shift(),v=s+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,y);break;case 31:for(;h.length>0&&(n=v+h.shift(),a=y,s=n+h.shift(),o=a+h.shift(),y=o+h.shift(),v=s+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,y),0!==h.length);)n=v,a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),y=o+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,y);break;default:F<32?console.log("Glyph "+t.index+": unknown operator "+F):F<247?h.push(F-139):F<251?(l=r[B],B+=1,h.push(256*(F-247)+l+108)):F<255?(l=r[B],B+=1,h.push(256*-(F-251)-l-108)):(l=r[B],m=r[B+1],b=r[B+2],k=r[B+3],B+=4,h.push((l<<24|m<<16|b<<8|k)/65536))}}}return U(r),t.advanceWidth=S,c}function ht(e,t,r,n){var a,s=[],o=new ye.Parser(e,t),i=o.parseCard8();if(0===i)for(var u=0;u=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");s.push(a)}else{if(3!==i)throw new Error("CFF Table CID Font FDSelect table has unsupported format "+i);var l,p=o.parseCard16(),c=o.parseCard16();if(0!==c)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+c);for(var h=0;h=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");if(l>r)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+l);for(;c=0&&(r=n),(n=t.indexOf(e))>=0?r=n+Ee.length:(r=Ee.length+t.length,t.push(e)),r}function gt(){return new ae.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function vt(e){var t=new ae.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var r=0;r=r.begin&&e=1&&(r.ulCodePageRange1=n.parseULong(),r.ulCodePageRange2=n.parseULong()),r.version>=2&&(r.sxHeight=n.parseShort(),r.sCapHeight=n.parseShort(),r.usDefaultChar=n.parseUShort(),r.usBreakChar=n.parseUShort(),r.usMaxContent=n.parseUShort()),r}function pr(e){return new ae.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],e)}var cr={parse:lr,make:pr,unicodeRanges:ir,getUnicodeRange:ur};function hr(e,t){var r={},n=new ye.Parser(e,t);switch(r.version=n.parseVersion(),r.italicAngle=n.parseFixed(),r.underlinePosition=n.parseShort(),r.underlineThickness=n.parseShort(),r.isFixedPitch=n.parseULong(),r.minMemType42=n.parseULong(),r.maxMemType42=n.parseULong(),r.minMemType1=n.parseULong(),r.maxMemType1=n.parseULong(),r.version){case 1:r.names=Re.slice();break;case 2:r.numberOfGlyphs=n.parseUShort(),r.glyphNameIndex=new Array(r.numberOfGlyphs);for(var a=0;a=Re.length){var o=n.parseChar();r.names.push(n.parseString(o))}break;case 2.5:r.numberOfGlyphs=n.parseUShort(),r.offset=new Array(r.numberOfGlyphs);for(var i=0;it.value.tag?1:-1})),t.fields=t.fields.concat(n),t.fields=t.fields.concat(a),t}function Rr(e,t,r){for(var n=0;n0)return e.glyphs.get(a).getMetrics()}return r}function Lr(e){for(var t=0,r=0;rv||void 0===t)&&v>0&&(t=v),l 123 are reserved for internal usage");f|=1<0?Ht.make(I):void 0,G=dr.make(),M=wt.make(e.glyphs,{version:e.getEnglishName("version"),fullName:R,familyName:O,weightName:w,postScriptName:L,unitsPerEm:e.unitsPerEm,fontBBox:[0,b.yMin,b.ascender,b.advanceWidthMax]}),N=e.metas&&Object.keys(e.metas).length>0?Ur.make(e.metas):void 0,A=[S,x,T,U,B,E,G,M,k];F&&A.push(F),e.tables.gsub&&A.push(Sr.make(e.tables.gsub)),N&&A.push(N);for(var P=wr(A),_=Er(P.encode()),H=P.fields,z=!1,W=0;W>>1,s=e[a].tag;if(s===t)return a;s>>1,s=e[a];if(s===t)return a;s>>1,o=(r=e[s]).start;if(o===t)return r;o0)return t>(r=e[n-1]).end?0:r}function Gr(e,t){this.font=e,this.tableName=t}function Mr(e){Gr.call(this,e,"gpos")}function Nr(e){Gr.call(this,e,"gsub")}function Ar(e,t){var r=e.length;if(r!==t.length)return!1;for(var n=0;n0?(s=e.parseByte(),t&a||(s=-s),s=r+s):s=(t&a)>0?r:r+e.parseShort(),s}function qr(e,t,r){var n,a,s=new ye.Parser(t,r);if(e.numberOfContours=s.parseShort(),e._xMin=s.parseShort(),e._yMin=s.parseShort(),e._xMax=s.parseShort(),e._yMax=s.parseShort(),e.numberOfContours>0){for(var o=e.endPointIndices=[],i=0;i0)for(var c=s.parseByte(),h=0;h0){var f,d=[];if(l>0){for(var g=0;g=0,d.push(f);for(var v=0,y=0;y0?(2&n)>0?(x.dx=s.parseShort(),x.dy=s.parseShort()):x.matchedPoints=[s.parseUShort(),s.parseUShort()]:(2&n)>0?(x.dx=s.parseChar(),x.dy=s.parseChar()):x.matchedPoints=[s.parseByte(),s.parseByte()],(8&n)>0?x.xScale=x.yScale=s.parseF2Dot14():(64&n)>0?(x.xScale=s.parseF2Dot14(),x.yScale=s.parseF2Dot14()):(128&n)>0&&(x.xScale=s.parseF2Dot14(),x.scale01=s.parseF2Dot14(),x.scale10=s.parseF2Dot14(),x.yScale=s.parseF2Dot14()),e.components.push(x),S=!!(32&n)}if(256&n){e.instructionLength=s.parseUShort(),e.instructions=[];for(var T=0;Tt.points.length-1||n.matchedPoints[1]>a.points.length-1)throw Error("Matched points out of range in "+t.name);var o=t.points[n.matchedPoints[0]],i=a.points[n.matchedPoints[1]],u={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};i=Xr([i],u)[0],u.dx=o.x-i.x,u.dy=o.y-i.y,s=Xr(a.points,u)}t.points=t.points.concat(s)}}return Yr(t.points)}function Qr(e,t,r,n){for(var a=new qe.GlyphSet(n),s=0;s=0)return n[a].script;if(t){var s={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-a,0,s),s.script}}},getLangSysTable:function(e,t,r){var n=this.getScriptTable(e,r);if(n){if(!t||"dflt"===t||"DFLT"===t)return n.defaultLangSys;var a=Ir(n.langSysRecords,t);if(a>=0)return n.langSysRecords[a].langSys;if(r){var s={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-a,0,s),s.langSys}}},getFeatureTable:function(e,t,r,n){var a=this.getLangSysTable(e,t,n);if(a){for(var s,o=a.featureIndexes,i=this.font.tables[this.tableName].features,u=0;u=i[l-1].tag,"Features must be added in alphabetical order."),s={tag:r,feature:{params:0,lookupListIndexes:[]}},i.push(s),o.push(l),s.feature}}},getLookupTables:function(e,t,r,n,a){var s=this.getFeatureTable(e,t,r,a),o=[];if(s){for(var i,u=s.lookupListIndexes,l=this.font.tables[this.tableName].lookups,p=0;p=0?r:-1;case 2:var n=Fr(e.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(e){if(1===e.format)return e.glyphs;for(var t=[],r=e.ranges,n=0;n1,'Multiple: "by" must be an array of two or more ids');var a=Pr(this.getLookupTables(r,n,e,2,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});F.assert(1===a.coverage.format,"Multiple: unable to modify coverage table format "+a.coverage.format);var s=t.sub,o=this.binSearch(a.coverage.glyphs,s);o<0&&(o=-1-o,a.coverage.glyphs.splice(o,0,s),a.sequences.splice(o,0,0)),a.sequences[o]=t.by},Nr.prototype.addAlternate=function(e,t,r,n){var a=Pr(this.getLookupTables(r,n,e,3,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});F.assert(1===a.coverage.format,"Alternate: unable to modify coverage table format "+a.coverage.format);var s=t.sub,o=this.binSearch(a.coverage.glyphs,s);o<0&&(o=-1-o,a.coverage.glyphs.splice(o,0,s),a.alternateSets.splice(o,0,0)),a.alternateSets[o]=t.by},Nr.prototype.addLigature=function(e,t,r,n){var a=this.getLookupTables(r,n,e,4,!0)[0],s=a.subtables[0];s||(s={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},a.subtables[0]=s),F.assert(1===s.coverage.format,"Ligature: unable to modify coverage table format "+s.coverage.format);var o=t.sub[0],i=t.sub.slice(1),u={ligGlyph:t.by,components:i},l=this.binSearch(s.coverage.glyphs,o);if(l>=0){for(var p=s.ligatureSets[l],c=0;c=176&&r<=183)a+=r-176+1;else if(r>=184&&r<=191)a+=2*(r-184+1);else if(t&&1===s&&27===r)break}while(s>0);e.ip=a}function Un(t,r){e.DEBUG&&console.log(r.step,"SVTCA["+t.axis+"]"),r.fv=r.pv=r.dpv=t}function kn(t,r){e.DEBUG&&console.log(r.step,"SPVTCA["+t.axis+"]"),r.pv=r.dpv=t}function En(t,r){e.DEBUG&&console.log(r.step,"SFVTCA["+t.axis+"]"),r.fv=t}function On(t,r){var n,a,s=r.stack,o=s.pop(),i=s.pop(),u=r.z2[o],l=r.z1[i];e.DEBUG&&console.log("SPVTL["+t+"]",o,i),t?(n=u.y-l.y,a=l.x-u.x):(n=l.x-u.x,a=l.y-u.y),r.pv=r.dpv=vn(n,a)}function wn(t,r){var n,a,s=r.stack,o=s.pop(),i=s.pop(),u=r.z2[o],l=r.z1[i];e.DEBUG&&console.log("SFVTL["+t+"]",o,i),t?(n=u.y-l.y,a=l.x-u.x):(n=l.x-u.x,a=l.y-u.y),r.fv=vn(n,a)}function Rn(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SPVFS[]",n,a),t.pv=t.dpv=vn(a,n)}function Ln(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SPVFS[]",n,a),t.fv=vn(a,n)}function Cn(t){var r=t.stack,n=t.pv;e.DEBUG&&console.log(t.step,"GPV[]"),r.push(16384*n.x),r.push(16384*n.y)}function Dn(t){var r=t.stack,n=t.fv;e.DEBUG&&console.log(t.step,"GFV[]"),r.push(16384*n.x),r.push(16384*n.y)}function In(t){t.fv=t.pv,e.DEBUG&&console.log(t.step,"SFVTPV[]")}function Bn(t){var r=t.stack,n=r.pop(),a=r.pop(),s=r.pop(),o=r.pop(),i=r.pop(),u=t.z0,l=t.z1,p=u[n],c=u[a],h=l[s],f=l[o],d=t.z2[i];e.DEBUG&&console.log("ISECT[], ",n,a,s,o,i);var g=p.x,v=p.y,y=c.x,m=c.y,b=h.x,S=h.y,x=f.x,T=f.y,U=(g-y)*(S-T)-(v-m)*(b-x),k=g*m-v*y,E=b*T-S*x;d.x=(k*(b-x)-E*(g-y))/U,d.y=(k*(S-T)-E*(v-m))/U}function Fn(t){t.rp0=t.stack.pop(),e.DEBUG&&console.log(t.step,"SRP0[]",t.rp0)}function Gn(t){t.rp1=t.stack.pop(),e.DEBUG&&console.log(t.step,"SRP1[]",t.rp1)}function Mn(t){t.rp2=t.stack.pop(),e.DEBUG&&console.log(t.step,"SRP2[]",t.rp2)}function Nn(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZP0[]",r),t.zp0=r,r){case 0:t.tZone||xn(t),t.z0=t.tZone;break;case 1:t.z0=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function An(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZP1[]",r),t.zp1=r,r){case 0:t.tZone||xn(t),t.z1=t.tZone;break;case 1:t.z1=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function Pn(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZP2[]",r),t.zp2=r,r){case 0:t.tZone||xn(t),t.z2=t.tZone;break;case 1:t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function _n(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZPS[]",r),t.zp0=t.zp1=t.zp2=r,r){case 0:t.tZone||xn(t),t.z0=t.z1=t.z2=t.tZone;break;case 1:t.z0=t.z1=t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function Hn(t){t.loop=t.stack.pop(),e.DEBUG&&console.log(t.step,"SLOOP[]",t.loop)}function zn(t){e.DEBUG&&console.log(t.step,"RTG[]"),t.round=on}function Wn(t){e.DEBUG&&console.log(t.step,"RTHG[]"),t.round=ln}function Vn(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SMD[]",r),t.minDis=r/64}function qn(t){e.DEBUG&&console.log(t.step,"ELSE[]"),Tn(t,!1)}function Xn(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"JMPR[]",r),t.ip+=r-1}function jn(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SCVTCI[]",r),t.cvCutIn=r/64}function Yn(t){var r=t.stack;e.DEBUG&&console.log(t.step,"DUP[]"),r.push(r[r.length-1])}function Zn(t){e.DEBUG&&console.log(t.step,"POP[]"),t.stack.pop()}function Qn(t){e.DEBUG&&console.log(t.step,"CLEAR[]"),t.stack.length=0}function Kn(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SWAP[]"),r.push(n),r.push(a)}function Jn(t){var r=t.stack;e.DEBUG&&console.log(t.step,"DEPTH[]"),r.push(r.length)}function $n(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"LOOPCALL[]",n,a);var s=t.ip,o=t.prog;t.prog=t.funcs[n];for(var i=0;i1?"loop "+(r.loop-u)+": ":"")+"SHP["+(t?"rp1":"rp2")+"]",p)}r.loop=1}function ia(t,r){var n=r.stack,a=t?r.rp1:r.rp2,s=(t?r.z0:r.z1)[a],o=r.fv,i=r.pv,u=n.pop(),l=r.z2[r.contours[u]],p=l;e.DEBUG&&console.log(r.step,"SHC["+t+"]",u);var c=i.distance(s,s,!1,!0);do{p!==s&&o.setRelative(p,p,c,i),p=p.nextPointOnContour}while(p!==l)}function ua(t,r){var n,a,s=r.stack,o=t?r.rp1:r.rp2,i=(t?r.z0:r.z1)[o],u=r.fv,l=r.pv,p=s.pop();switch(e.DEBUG&&console.log(r.step,"SHZ["+t+"]",p),p){case 0:n=r.tZone;break;case 1:n=r.gZone;break;default:throw new Error("Invalid zone")}for(var c=l.distance(i,i,!1,!0),h=n.length-2,f=0;f1?"loop "+(t.loop-n)+": ":"")+"SHPIX[]",i,s),a.setRelative(u,u,s),a.touch(u)}t.loop=1}function pa(t){for(var r=t.stack,n=t.rp1,a=t.rp2,s=t.loop,o=t.z0[n],i=t.z1[a],u=t.fv,l=t.dpv,p=t.z2;s--;){var c=r.pop(),h=p[c];e.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-s)+": ":"")+"IP[]",c,n,"<->",a),u.interpolate(h,o,i,l),u.touch(h)}t.loop=1}function ca(t,r){var n=r.stack,a=n.pop()/64,s=n.pop(),o=r.z1[s],i=r.z0[r.rp0],u=r.fv,l=r.pv;u.setRelative(o,i,a,l),u.touch(o),e.DEBUG&&console.log(r.step,"MSIRP["+t+"]",a,s),r.rp1=r.rp0,r.rp2=s,t&&(r.rp0=s)}function ha(t){for(var r=t.stack,n=t.rp0,a=t.z0[n],s=t.loop,o=t.fv,i=t.pv,u=t.z1;s--;){var l=r.pop(),p=u[l];e.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-s)+": ":"")+"ALIGNRP[]",l),o.setRelative(p,a,0,i),o.touch(p)}t.loop=1}function fa(t){e.DEBUG&&console.log(t.step,"RTDG[]"),t.round=un}function da(t,r){var n=r.stack,a=n.pop(),s=n.pop(),o=r.z0[s],i=r.fv,u=r.pv,l=r.cvt[a];e.DEBUG&&console.log(r.step,"MIAP["+t+"]",a,"(",l,")",s);var p=u.distance(o,mn);t&&(Math.abs(p-l)",u),r.stack.push(Math.round(64*u))}function Ua(t){e.DEBUG&&console.log(t.step,"MPPEM[]"),t.stack.push(t.ppem)}function ka(t){e.DEBUG&&console.log(t.step,"FLIPON[]"),t.autoFlip=!0}function Ea(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"LT[]",n,a),r.push(an?1:0)}function Ra(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"GTEQ[]",n,a),r.push(a>=n?1:0)}function La(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"EQ[]",n,a),r.push(n===a?1:0)}function Ca(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"NEQ[]",n,a),r.push(n!==a?1:0)}function Da(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"ODD[]",n),r.push(Math.trunc(n)%2?1:0)}function Ia(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"EVEN[]",n),r.push(Math.trunc(n)%2?0:1)}function Ba(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"IF[]",r),r||(Tn(t,!0),e.DEBUG&&console.log(t.step,"EIF[]"))}function Fa(t){e.DEBUG&&console.log(t.step,"EIF[]")}function Ga(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"AND[]",n,a),r.push(n&&a?1:0)}function Ma(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"OR[]",n,a),r.push(n||a?1:0)}function Na(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"NOT[]",n),r.push(n?0:1)}function Aa(t,r){var n=r.stack,a=n.pop(),s=r.fv,o=r.pv,i=r.ppem,u=r.deltaBase+16*(t-1),l=r.deltaShift,p=r.z0;e.DEBUG&&console.log(r.step,"DELTAP["+t+"]",a,n);for(var c=0;c>4)===i){var d=(15&f)-8;d>=0&&d++,e.DEBUG&&console.log(r.step,"DELTAPFIX",h,"by",d*l);var g=p[h];s.setRelative(g,g,d*l,o)}}}function Pa(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SDB[]",r),t.deltaBase=r}function _a(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SDS[]",r),t.deltaShift=Math.pow(.5,r)}function Ha(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"ADD[]",n,a),r.push(a+n)}function za(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SUB[]",n,a),r.push(a-n)}function Wa(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"DIV[]",n,a),r.push(64*a/n)}function Va(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"MUL[]",n,a),r.push(a*n/64)}function qa(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"ABS[]",n),r.push(Math.abs(n))}function Xa(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"NEG[]",n),r.push(-n)}function ja(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"FLOOR[]",n),r.push(64*Math.floor(n/64))}function Ya(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"CEILING[]",n),r.push(64*Math.ceil(n/64))}function Za(t,r){var n=r.stack,a=n.pop();e.DEBUG&&console.log(r.step,"ROUND[]"),n.push(64*r.round(a/64))}function Qa(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"WCVTF[]",n,a),t.cvt[a]=n*t.ppem/t.font.unitsPerEm}function Ka(t,r){var n=r.stack,a=n.pop(),s=r.ppem,o=r.deltaBase+16*(t-1),i=r.deltaShift;e.DEBUG&&console.log(r.step,"DELTAC["+t+"]",a,n);for(var u=0;u>4)===s){var c=(15&p)-8;c>=0&&c++;var h=c*i;e.DEBUG&&console.log(r.step,"DELTACFIX",l,"by",h),r.cvt[l]+=h}}}function Ja(t){var r,n=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SROUND[]",n),t.round=hn,192&n){case 0:r=.5;break;case 64:r=1;break;case 128:r=2;break;default:throw new Error("invalid SROUND value")}switch(t.srPeriod=r,48&n){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*r;break;case 32:t.srPhase=.5*r;break;case 48:t.srPhase=.75*r;break;default:throw new Error("invalid SROUND value")}n&=15,t.srThreshold=0===n?0:(n/8-.5)*r}function $a(t){var r,n=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"S45ROUND[]",n),t.round=hn,192&n){case 0:r=Math.sqrt(2)/2;break;case 64:r=Math.sqrt(2);break;case 128:r=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(t.srPeriod=r,48&n){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*r;break;case 32:t.srPhase=.5*r;break;case 48:t.srPhase=.75*r;break;default:throw new Error("invalid S45ROUND value")}n&=15,t.srThreshold=0===n?0:(n/8-.5)*r}function es(t){e.DEBUG&&console.log(t.step,"ROFF[]"),t.round=sn}function ts(t){e.DEBUG&&console.log(t.step,"RUTG[]"),t.round=pn}function rs(t){e.DEBUG&&console.log(t.step,"RDTG[]"),t.round=cn}function ns(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SCANCTRL[]",r)}function as(t,r){var n,a,s=r.stack,o=s.pop(),i=s.pop(),u=r.z2[o],l=r.z1[i];e.DEBUG&&console.log(r.step,"SDPVTL["+t+"]",o,i),t?(n=u.y-l.y,a=l.x-u.x):(n=l.x-u.x,a=l.y-u.y),r.dpv=vn(n,a)}function ss(t){var r=t.stack,n=r.pop(),a=0;e.DEBUG&&console.log(t.step,"GETINFO[]",n),1&n&&(a=35),32&n&&(a|=4096),r.push(a)}function os(t){var r=t.stack,n=r.pop(),a=r.pop(),s=r.pop();e.DEBUG&&console.log(t.step,"ROLL[]"),r.push(a),r.push(n),r.push(s)}function is(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"MAX[]",n,a),r.push(Math.max(a,n))}function us(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"MIN[]",n,a),r.push(Math.min(a,n))}function ls(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SCANTYPE[]",r)}function ps(t){var r=t.stack.pop(),n=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"INSTCTRL[]",r,n),r){case 1:return void(t.inhibitGridFit=!!n);case 2:return void(t.ignoreCvt=!!n);default:throw new Error("invalid INSTCTRL[] selector")}}function cs(t,r){var n=r.stack,a=r.prog,s=r.ip;e.DEBUG&&console.log(r.step,"PUSHB["+t+"]");for(var o=0;o=0?1:-1,u=Math.abs(u),t&&(p=o.cvt[h],a&&Math.abs(u-p)":"_")+(a?"R":"_")+(0===s?"Gr":1===s?"Bl":2===s?"Wh":"")+"]",t?h+"("+o.cvt[h]+","+p+")":"",f,"(d =",i,"->",l*u,")"),o.rp1=o.rp0,o.rp2=f,r&&(o.rp0=f)}function ds(e){this.char=e,this.state={},this.activeState=null}function gs(e,t,r){this.contextName=r,this.startIndex=e,this.endOffset=t}function vs(e,t,r){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=r}function ys(e,t){this.context=e,this.index=t,this.length=e.length,this.current=e[t],this.backtrack=e.slice(0,t),this.lookahead=e.slice(t+1)}function ms(e){this.eventId=e,this.subscribers=[]}function bs(e){var t=this,r=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];r.forEach((function(e){Object.defineProperty(t.events,e,{value:new ms(e)})})),e&&r.forEach((function(r){var n=e[r];"function"==typeof n&&t.events[r].subscribe(n)})),["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"].forEach((function(e){t.events[e].subscribe(t.updateContextsRanges)}))}function Ss(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],bs.call(this,e)}function xs(e){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(e)}function Ts(e){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(e)}function Us(e){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(e)}function ks(e){return/[A-z]/.test(e)}function Es(e){return/\s/.test(e)}function Os(e){this.font=e,this.features={}}function ws(e){this.id=e.id,this.tag=e.tag,this.substitution=e.substitution}function Rs(e,t){if(!e)return-1;switch(t.format){case 1:return t.glyphs.indexOf(e);case 2:for(var r=t.ranges,n=0;n=a.start&&e<=a.end){var s=e-a.start;return a.index+s}}break;default:return-1}return-1}function Ls(e,t){return-1===Rs(e,t.coverage)?null:e+t.deltaGlyphId}function Cs(e,t){var r=Rs(e,t.coverage);return-1===r?null:t.substitute[r]}function Ds(e,t){for(var r=[],n=0;n2)){var n=this.font,a=this._prepState;if(!a||a.ppem!==r){var s=this._fpgmState;if(!s){Sn.prototype=bn,(s=this._fpgmState=new Sn("fpgm",n.tables.fpgm)).funcs=[],s.font=n,e.DEBUG&&(console.log("---EXEC FPGM---"),s.step=-1);try{en(s)}catch(e){return console.log("Hinting error in FPGM:"+e),void(this._errorState=3)}}Sn.prototype=s,(a=this._prepState=new Sn("prep",n.tables.prep)).ppem=r;var o=n.tables.cvt;if(o)for(var i=a.cvt=new Array(o.length),u=r/n.unitsPerEm,l=0;l1))try{return tn(t,a)}catch(e){return this._errorState<1&&(console.log("Hinting error:"+e),console.log("Note: further hinting errors are silenced")),void(this._errorState=1)}}},tn=function(t,r){var n,a,s,o=r.ppem/r.font.unitsPerEm,i=o,u=t.components;if(Sn.prototype=r,u){var l=r.font;a=[],n=[];for(var p=0;p=0&&e0&&e<=this.lookahead.length:return this.lookahead[e-1];default:return null}},Ss.prototype.rangeToText=function(e){if(e instanceof gs)return this.getRangeTokens(e).map((function(e){return e.char})).join("")},Ss.prototype.getText=function(){return this.tokens.map((function(e){return e.char})).join("")},Ss.prototype.getContext=function(e){var t=this.registeredContexts[e];return t||null},Ss.prototype.on=function(e,t){var r=this.events[e];return r?r.subscribe(t):null},Ss.prototype.dispatch=function(e,t){var r=this,n=this.events[e];n instanceof ms&&n.subscribers.forEach((function(e){e.apply(r,t||[])}))},Ss.prototype.registerContextChecker=function(e,t,r){if(this.getContext(e))return{FAIL:"context name '"+e+"' is already registered."};if("function"!=typeof t)return{FAIL:"missing context start check."};if("function"!=typeof r)return{FAIL:"missing context end check."};var n=new vs(e,t,r);return this.registeredContexts[e]=n,this.contextCheckers.push(n),n},Ss.prototype.getRangeTokens=function(e){var t=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,t))},Ss.prototype.getContextRanges=function(e){var t=this.getContext(e);return t?t.ranges:{FAIL:"context checker '"+e+"' is not registered."}},Ss.prototype.resetContextsRanges=function(){var e=this.registeredContexts;for(var t in e)e.hasOwnProperty(t)&&(e[t].ranges=[])},Ss.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var e=this.tokens.map((function(e){return e.char})),t=0;t=0;r--){var n=t[r],a=Ts(n),s=Us(n);if(!a&&!s)return!0;if(a)return!1}return!1}function Ys(e){if(Ts(e.current))return!1;for(var t=0;t0)}r("fontFamily"),r("weightName"),r("manufacturer"),r("copyright"),r("version"),t(this.unitsPerEm>0)},co.prototype.toTables=function(){return Dr.fontToTable(this)},co.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},co.prototype.toArrayBuffer=function(){for(var e=this.toTables().encode(),t=new ArrayBuffer(e.length),r=new Uint8Array(t),n=0;n=1.2&&(a.markGlyphSets=r.parsePointer(Eo)),a}var wo={parse:Oo},Ro=new Array(10);function Lo(e,t){var r=new ge(e,t=t||0),n=r.parseVersion(1);return F.argument(1===n||1.1===n,"Unsupported GPOS table version "+n),1===n?{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(Ro)}:{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(Ro),variations:r.parseFeatureVariationsList()}}Ro[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{posFormat:1,coverage:this.parsePointer(ge.coverage),value:this.parseValueRecord()}:2===t?{posFormat:2,coverage:this.parsePointer(ge.coverage),values:this.parseValueRecordList()}:void F.assert(!1,"0x"+e.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},Ro[2]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();F.assert(1===t||2===t,"0x"+e.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var r=this.parsePointer(ge.coverage),n=this.parseUShort(),a=this.parseUShort();if(1===t)return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:a,pairSets:this.parseList(ge.pointer(ge.list((function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(n),value2:this.parseValueRecord(a)}}))))};if(2===t){var s=this.parsePointer(ge.classDef),o=this.parsePointer(ge.classDef),i=this.parseUShort(),u=this.parseUShort();return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:a,classDef1:s,classDef2:o,class1Count:i,class2Count:u,classRecords:this.parseList(i,ge.list(u,(function(){return{value1:this.parseValueRecord(n),value2:this.parseValueRecord(a)}})))}}},Ro[3]=function(){return{error:"GPOS Lookup 3 not supported"}},Ro[4]=function(){return{error:"GPOS Lookup 4 not supported"}},Ro[5]=function(){return{error:"GPOS Lookup 5 not supported"}},Ro[6]=function(){return{error:"GPOS Lookup 6 not supported"}},Ro[7]=function(){return{error:"GPOS Lookup 7 not supported"}},Ro[8]=function(){return{error:"GPOS Lookup 8 not supported"}},Ro[9]=function(){return{error:"GPOS Lookup 9 not supported"}};var Co=new Array(10);function Do(e){return new ae.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new ae.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new ae.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new ae.LookupList(e.lookups,Co)}])}var Io={parse:Lo,make:Do};function Bo(e){var t={};e.skip("uShort");var r=e.parseUShort();F.argument(0===r,"Unsupported kern sub-table version."),e.skip("uShort",2);var n=e.parseUShort();e.skip("uShort",3);for(var a=0;a1&&console.warn("Only the first kern subtable is supported."),e.skip("uLong");var r=255&e.parseUShort();if(e.skip("uShort"),0===r){var n=e.parseUShort();e.skip("uShort",3);for(var a=0;a{t.exports=e.jquery},256:()=>{}},r={};function n(e){var a=r[e];if(void 0!==a)return a.exports;var s=r[e]={exports:{}};return t[e].call(s.exports,s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const t=e.Components;var r=n.n(t);const a=e.Fields;var s=n.n(a);const o=e.X3DFieldDefinition;var i=n.n(o);const u=e.FieldDefinitionArray;var l=n.n(u);const p=e.X3DNode;var c=n.n(p);const h=e.X3DUrlObject;var f=n.n(h);const d=e.Namespace;var g=n.n(d);let v=0;const y={BEGIN:++v,FIRST:++v,MIDDLE:++v,END:++v},m=g().add("TextAlignment",y),b=(e.FileLoader,e.X3DConstants);var S=n.n(b);const x=e.URLs;var T=n.n(x);const U=new Map([["SERIF",new Map([["PLAIN",T().getFontsURL("Droid/DroidSerif-Regular.ttf")],["ITALIC",T().getFontsURL("Droid/DroidSerif-Italic.ttf")],["BOLD",T().getFontsURL("Droid/DroidSerif-Bold.ttf")],["BOLDITALIC",T().getFontsURL("Droid/DroidSerif-BoldItalic.ttf")]])],["SANS",new Map([["PLAIN",T().getFontsURL("Ubuntu/Ubuntu-R.ttf")],["ITALIC",T().getFontsURL("Ubuntu/Ubuntu-RI.ttf")],["BOLD",T().getFontsURL("Ubuntu/Ubuntu-B.ttf")],["BOLDITALIC",T().getFontsURL("Ubuntu/Ubuntu-BI.ttf")]])],["TYPEWRITER",new Map([["PLAIN",T().getFontsURL("Ubuntu/UbuntuMono-R.ttf")],["ITALIC",T().getFontsURL("Ubuntu/UbuntuMono-RI.ttf")],["BOLD",T().getFontsURL("Ubuntu/UbuntuMono-B.ttf")],["BOLDITALIC",T().getFontsURL("Ubuntu/UbuntuMono-BI.ttf")]])]]);function k(e){c().call(this,e),f().call(this,e),this.addType(S().X3DFontStyleNode),this.addChildObjects(S().inputOutput,"description",new(s().SFString),S().inputOutput,"url",this._family,S().inputOutput,"load",new(s().SFBool)(!0),S().inputOutput,"autoRefresh",new(s().SFTime),S().inputOutput,"autoRefreshTimeLimit",new(s().SFTime)(3600)),this._family.setName("family"),this.familyStack=[],this.alignments=[]}Object.assign(Object.setPrototypeOf(k.prototype,c().prototype),f().prototype,{initialize(){c().prototype.initialize.call(this),f().prototype.initialize.call(this),this._style.addInterest("set_style__",this),this._justify.addInterest("set_justify__",this),this.font=null,this.familyIndex=0,this.set_justify__(),this.requestImmediateLoad().catch(Function.prototype)},set_style__(){this._load.getValue()&&(this.setLoadState(S().NOT_STARTED_STATE),this.requestImmediateLoad().catch(Function.prototype))},set_justify__(){const e=this._horizontal.getValue()?this._leftToRight.getValue():this._topToBottom.getValue();this.alignments[0]=this._justify.length>0?this.getAlignment(0,e):e?m.BEGIN:m.END;const t=this._horizontal.getValue()?this._topToBottom.getValue():this._leftToRight.getValue();this.alignments[1]=this._justify.length>1?this.getAlignment(1,t):t?m.FIRST:m.END},getMajorAlignment(){return this.alignments[0]},getMinorAlignment(){return this.alignments[1]},getAlignment(e,t){if(t)switch(this._justify[e]){case"FIRST":return m.FIRST;case"BEGIN":return m.BEGIN;case"MIDDLE":return m.MIDDLE;case"END":return m.END}else switch(this._justify[e]){case"FIRST":case"BEGIN":return m.END;case"MIDDLE":return m.MIDDLE;case"END":return m.BEGIN}return e?m.FIRST:m.BEGIN},getDefaultFont(e){const t=U.get(e);if(t)return t.get(this._style.getValue())??t.get("PLAIN")},loadData(){const e=this._url.copy();e.push("SERIF"),this.familyStack.length=0;for(const t of e)this.familyStack.push(this.getDefaultFont(t)??t);this.loadNext()},loadNext(){if(0===this.familyStack.length)return this.setLoadState(S().FAILED_STATE),void(this.font=null);this.family=this.familyStack.shift(),this.URL=new URL(this.family,this.getExecutionContext().getBaseURL()),this.getBrowser().getFont(this.URL,this.getCache()).then(this.setFont.bind(this)).catch(this.setError.bind(this))},setError(e){"data:"!==this.URL.protocol&&console.warn(`Error loading font '${decodeURI(this.URL.href)}':`,e),this.loadNext()},setFont(e){this.font=e,this.setLoadState(S().COMPLETE_STATE),this.addNodeEvent()},getFont(){return this.font},dispose(){f().prototype.dispose.call(this),c().prototype.dispose.call(this)}}),Object.defineProperties(k,c().getStaticProperties("X3DFontStyleNode","Text",1));const E=k,O=g().add("X3DFontStyleNode",E),w=e.PrimitiveQuality;var R=n.n(w);const L=e.TextCompression;var C=n.n(L);const D=e.Box2;var I=n.n(D);const B=e.Box3;var F=n.n(B);const G=e.Vector2;var M=n.n(G);const N=e.Vector3;var A=n.n(N);const P=e.Matrix3;var _=n.n(P);const H=new(I()),z=new(I()),W=new(M()),V=new(M()),q=new(M()),X=new(M()),j=new(A()),Y=new(A()),Z=new(M()),Q=new(M()),K=new(M()),J=new(M()),$=new(M()),ee=new(M()),te=new(A()),re=new(I()),ne=new(M()),ae=new(A());function se(e,t){this.browser=e.getBrowser(),this.text=e,this.fontStyle=t,this.glyphs=[],this.minorAlignment=new(M()),this.lineIndices=[],this.translations=[],this.charSpacings=[],this.scales=[],this.bearing=new(M()),this.bbox=new(F())}Object.assign(se.prototype,{getBrowser(){return this.browser},getText(){return this.text},getFontStyle(){return this.fontStyle},getGlyphs(){return this.glyphs},getMinorAlignment(){return this.minorAlignment},getTranslations(){return this.translations},getCharSpacings(){return this.charSpacings},getScales(){return this.scales},getBearing(){return this.bearing},getBBox(){return this.bbox},update(){const e=this.text,t=this.fontStyle,r=e._string.length;if(e._lineBounds.length=r,this.glyphs.length=0,0===r||!t.getFont())return e._origin.setValue(ae),e._textBounds.setValue(ne),void this.bbox.set();if(t._horizontal.getValue())this.resizeArray(this.translations,r),this.lineIndices.length=0,this.charSpacings.length=r,this.scales.length=r,this.horizontal(e,t);else{const n=e._string.reduce(((e,t)=>e+t.length),0);this.resizeArray(this.translations,n),this.lineIndices.length=n,this.charSpacings.length=r,this.scales.length=r,this.vertical(e,t)}},resizeArray(e,t){for(var r=e.length;r1&&(f=(p-ee.x)/(o.length-1)),ee.x=p,Z.x=p/i),this.charSpacings[h]=f,this.scales[h]=l===C().SCALING?ee.x/c:1,e._lineBounds[s]=ee,t.getMajorAlignment()){case m.BEGIN:case m.FIRST:this.translations[h].set(0,-h*u);break;case m.MIDDLE:this.translations[h].set(-W.x-Z.x/2,-h*u);break;case m.END:this.translations[h].set(-W.x-Z.x,-h*u)}this.translations[h].multiply(i),Q.assign(W).add(K.assign(Z).divide(2)),H.add(re.set(Z.multiply(i),Q.multiply(i).add(this.translations[h])))}if(s){const t=e._lineBounds.reduce(((e,t)=>Math.max(e,t.x)),0);if(t>s){const r=s/t;switch(l){case C().CHAR_SPACING:for(const t of this.charSpacings.keys())e._string[t].length<2||(this.charSpacings[t]-=(e._lineBounds[t].x-e._lineBounds[t].x*r)/(e._string[t].length-1));break;case C().SCALING:for(const e of this.scales.keys())this.scales[e]*=r}for(const e of this.translations.keys())this.translations[e].x*=r;for(const t of e._lineBounds.keys())e._lineBounds[t].x*=r;H.multRight(new(_())(r,0,0,0,1,0,0,0,0))}}switch(H.getExtents(W,V),Z.assign(V).subtract(W),e._textBounds=Z,this.bearing.set(0,-V.y),t.getMinorAlignment()){case m.BEGIN:this.minorAlignment.assign(this.bearing);break;case m.FIRST:this.minorAlignment.set(0,0);break;case m.MIDDLE:this.minorAlignment.set(0,Z.y/2-V.y);break;case m.END:this.minorAlignment.set(0,(a-1)*u*i)}W.add(this.minorAlignment),V.add(this.minorAlignment),e._origin.setValue(te.set(W.x,V.y,0)),this.bbox.setExtents(j.set(W.x,W.y,0),Y.set(V.x,V.y,0))},vertical(e,t){const r=t.getFont(),n=e._string,a=n.length,s=Math.max(0,e._maxExtent.getValue()),o=t._leftToRight.getValue(),i=t._topToBottom.getValue(),u=t.getScale(),l=t._spacing.getValue(),p=this.getBrowser().getBrowserOptions().getPrimitiveQuality(),c=this.getBrowser().getBrowserOptions().getTextCompression();H.set();const h=o?a:-1,f=o?1:-1;let d=0;for(let s=o?0:a-1;s!==h;s+=f){const h=this.stringToGlyphs(r,n[s],!0,s),f=d,g=h.length;z.set();const v=i?g:-1,y=i?1:-1;for(let e=i?0:g-1;e!==v;e+=y,++d){const t=h[e];this.getGlyphExtents(r,t,p,W,V),Z.assign(V).subtract(W);const n=i?e:g-e-1;this.lineIndices[d]=s,this.translations[d].set((l-Z.x-W.x)/2,-n),Q.assign(W).add(K.assign(Z).divide(2)).add(this.translations[d]),z.add(re.set(Z,Q))}z.getExtents(W,V),Z.assign(V).subtract(W);const b=o?s:a-s-1,S=(l-Z.x)/2,x=e.getLength(s);let T=0;ee.set(0===s?l-S:l,g?Z.y:0).multiply(u);const U=ee.y;switch(x&&(c===C().CHAR_SPACING&&h.length>1&&(T=(x-ee.y)/(h.length-1)),ee.y=x,Z.y=x/u,W.y=V.y-Z.y),this.charSpacings[s]=T,this.scales[s]=c===C().SCALING?ee.y/U:1,e._lineBounds[s]=ee,t.getMajorAlignment()){case m.BEGIN:case m.FIRST:$.assign(J.set(b*l,-V.y));break;case m.MIDDLE:$.assign(J.set(b*l,Z.y/2-V.y));break;case m.END:J.set(b*l,Z.y/this.scales[s]-V.y),$.set(b*l,Z.y-V.y)}for(let e=f;eMath.max(e,t.y)),0);if(r>s){const n=s/r;switch(c){case C().CHAR_SPACING:for(const t of this.charSpacings.keys())e._string[t].length<2||(this.charSpacings[t]-=(e._lineBounds[t].y-e._lineBounds[t].y*n)/(e._string[t].length-1));switch(t.getMajorAlignment()){case m.MIDDLE:for(const t of this.translations.keys()){const r=this.lineIndices[t];this.translations[t].y-=(e._lineBounds[r].y-e._lineBounds[r].y*n)/2}break;case m.END:for(const t of this.translations.keys()){const r=this.lineIndices[t];this.translations[t].y-=e._lineBounds[r].y-e._lineBounds[r].y*n}}break;case C().SCALING:for(const e of this.scales.keys())this.scales[e]*=n}for(const t of e._lineBounds.keys())e._lineBounds[t].y*=n;H.multRight(new(_())(1,0,0,0,n,0,0,0,0))}}switch(H.getExtents(W,V),Z.assign(V).subtract(W),e._textBounds=Z,t.getMajorAlignment()){case m.BEGIN:case m.FIRST:this.bearing.set(-W.x,V.y);break;case m.MIDDLE:this.bearing.set(-W.x,0);break;case m.END:this.bearing.set(-W.x,W.y)}switch(t.getMinorAlignment()){case m.BEGIN:case m.FIRST:this.minorAlignment.set(-W.x,0);break;case m.MIDDLE:this.minorAlignment.set(-W.x-Z.x/2,0);break;case m.END:this.minorAlignment.set(-W.x-Z.x,0)}W.add(this.minorAlignment),V.add(this.minorAlignment),e._origin.setValue(te.set(W.x,V.y,0)),this.bbox.setExtents(j.set(W.x,W.y,0),Y.set(V.x,V.y,0))},stringToGlyphs(e,t,r,n){const a=this.glyphs[n]??(this.glyphs[n]=[]);a.length=t.length;const s=r?0:t.length-1,o=r?t.length:-1,i=r?1:-1;for(let r=s,n=0;r!==o;r+=i,++n)a[n]=e.charToGlyph(t[r]);return a},getHorizontalLineExtents(e,t,r,n,a){const s=e.getFont(),o=e._horizontal.getValue()?e._leftToRight.getValue():e._topToBottom.getValue(),i=this.stringToGlyphs(s,t,o,a),u=i.length,l=this.getBrowser().getBrowserOptions().getPrimitiveQuality();let p=0,c=0,h=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY;for(let e=0;e!1,getMatrix:()=>le().Identity,build:(()=>{const e=new(A()),t=new(A());return function(){const r=this.getFontStyle(),n=r.getFont();if(!n)return;const a=this.getText(),s=this.getGlyphs(),o=this.getMinorAlignment(),i=this.getTranslations(),u=this.getCharSpacings(),l=this.getScales(),p=r.getScale(),c=r._spacing.getValue(),h=a._origin.getValue(),f=p/n.unitsPerEm,d=this.getBrowser().getBrowserOptions().getPrimitiveQuality(),g=a.getTexCoords(),v=a.getNormals(),y=a.getVertices();if(a.getMultiTexCoords().push(g),this.getBBox().getExtents(e,t),a.getMin().assign(e),a.getMax().assign(t),r._horizontal.getValue())for(let e=0,t=s.length;e2&&s.push(o),o=[],"M"===e&&o.push(new(A())(c,-h,0));break;case"L":o.push(new(A())(c,-h,0));break;case"Q":ce().quadric(i,-u,0,t,-r,0,c,-h,0,n,o);break;case"C":ce().cubic(i,-u,0,t,-r,0,l,-p,0,c,-h,0,n,o);break;default:continue}i=c,u=h}return this.triangulatePolygon(s,t)},getBezierSteps(e){switch(e){case R().LOW:return 3;case R().HIGH:return 7;default:return 5}},triangulatePolygon:(()=>{const e=new(fe().GluTesselator);return e.gluTessCallback(fe().gluEnum.GLU_TESS_VERTEX_DATA,(function(e,t){t.push(e)})),e.gluTessCallback(fe().gluEnum.GLU_TESS_COMBINE,(function(e,t,r){return new(A())(...e)})),e.gluTessProperty(fe().gluEnum.GLU_TESS_WINDING_RULE,fe().windingRule.GLU_TESS_WINDING_NONZERO),e.gluTessNormal(0,0,1),function(t,r){e.gluTessBeginPolygon(r);for(const r of t){e.gluTessBeginContour();for(const t of r)e.gluTessVertex(t,t);e.gluTessEndContour()}return e.gluTessEndPolygon(),r}})(),display(e,t){},transformLine(e){},transformMatrix(e){}});const ge=de,ve=g().add("PolygonText",ge);function ye(e){O.call(this,e),this.addType(S().FontStyle),this._size.setUnit("length")}Object.assign(Object.setPrototypeOf(ye.prototype,O.prototype),{getTextGeometry(e){return new ve(e,this)},getScale(){return this._size.getValue()}}),Object.defineProperties(ye,{...c().getStaticProperties("FontStyle","Text",1,"fontStyle","2.0"),fieldDefinitions:{value:new(l())([new(i())(S().inputOutput,"metadata",new(s().SFNode)),new(i())(S().inputOutput,"language",new(s().SFString)),new(i())(S().inputOutput,"family",new(s().MFString)("SERIF")),new(i())(S().inputOutput,"style",new(s().SFString)("PLAIN")),new(i())(S().inputOutput,"size",new(s().SFFloat)(1)),new(i())(S().inputOutput,"spacing",new(s().SFFloat)(1)),new(i())(S().inputOutput,"horizontal",new(s().SFBool)(!0)),new(i())(S().inputOutput,"leftToRight",new(s().SFBool)(!0)),new(i())(S().inputOutput,"topToBottom",new(s().SFBool)(!0)),new(i())(S().inputOutput,"justify",new(s().MFString)("BEGIN"))]),enumerable:!0}});const me=ye,be=g().add("FontStyle",me);var Se=n(254),xe=n(599);const Te=Symbol(),Ue=Symbol(),ke=Symbol();function Ee(){this[Ue]=new Map,this[ke]=new Map}Object.assign(Ee.prototype,{getDefaultFontStyle(){return this[Te]=new be(this.getPrivateScene()),this[Te].setPrivate(!0),this[Te].setup(),this.getDefaultFontStyle=function(){return this[Te]},Object.defineProperty(this,"getDefaultFontStyle",{enumerable:!1}),this[Te]},getFont(e,t=!0){return new Promise((async(r,n)=>{e=e.toString();let a=this[Ue].get(e);if(!a)try{this[Ue].set(e,a=Se.Deferred());const r=await fetch(e,{cache:t?"default":"reload"});if(!r.ok)throw new Error(r.statusText||r.status);{const e=await r.arrayBuffer(),t=xe.parse(e);a.resolve(t)}}catch(e){a.reject(e)}a.done(r).fail(n)}))},getGlyph(e,t,r){let n=this[ke].get(e);n||this[ke].set(e,n=[]);let a=n[t];a||(a=n[t]=[]);let s=a[r];return s||(s=a[r]={}),s}});const Oe=Ee,we=g().add("X3DTextContext",Oe),Re=e.X3DGeometryNode;var Le=n.n(Re);const Ce=e.X3DCast;var De=n.n(Ce);function Ie(e){Le().call(this,e),this.addType(S().Text),this._length.setUnit("length"),this._maxExtent.setUnit("length"),this._origin.setUnit("length"),this._textBounds.setUnit("length"),this._lineBounds.setUnit("length")}Object.assign(Object.setPrototypeOf(Ie.prototype,Le().prototype),{initialize(){Le().prototype.initialize.call(this),this._fontStyle.addInterest("set_fontStyle__",this),this.set_fontStyle__()},getMatrix(){return this.textGeometry.getMatrix()},getLength(e){return e{var t={501:function(e,t,r){!function(e){var t,n;String.prototype.codePointAt||(t=function(){try{var e={},t=Object.defineProperty,r=t(e,e,e)&&t}catch(e){}return r}(),n=function(e){if(null==this)throw TypeError();var t=String(this),r=t.length,n=e?Number(e):0;if(n!=n&&(n=0),!(n<0||n>=r)){var a,s=t.charCodeAt(n);return s>=55296&&s<=56319&&r>n+1&&(a=t.charCodeAt(n+1))>=56320&&a<=57343?1024*(s-55296)+a-56320+65536:s}},t?t(String.prototype,"codePointAt",{value:n,configurable:!0,writable:!0}):String.prototype.codePointAt=n);var a=0,s=-3;function o(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}function i(e,t){this.source=e,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=t,this.destLen=0,this.ltree=new o,this.dtree=new o}var u=new o,l=new o,p=new Uint8Array(30),c=new Uint16Array(30),h=new Uint8Array(30),f=new Uint16Array(30),d=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),g=new o,v=new Uint8Array(320);function y(e,t,r,n){var a,s;for(a=0;a>>=1,t}function T(e,t,r){if(!t)return r;for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>16-t;return e.tag>>>=t,e.bitcount-=t,n+r}function U(e,t){for(;e.bitcount<24;)e.tag|=e.source[e.sourceIndex++]<>>=1,++a,r+=t.table[a],n-=t.table[a]}while(n>=0);return e.tag=s,e.bitcount-=a,t.trans[r+n]}function k(e,t,r){var n,a,s,o,i,u;for(n=T(e,5,257),a=T(e,5,1),s=T(e,4,4),o=0;o<19;++o)v[o]=0;for(o=0;o8;)e.sourceIndex--,e.bitcount-=8;if((t=256*(t=e.source[e.sourceIndex+1])+e.source[e.sourceIndex])!==(65535&~(256*e.source[e.sourceIndex+3]+e.source[e.sourceIndex+2])))return s;for(e.sourceIndex+=4,r=t;r;--r)e.dest[e.destLen++]=e.source[e.sourceIndex++];return e.bitcount=0,a}function w(e,t){var r,n,o=new i(e,t);do{switch(r=x(o),T(o,2,0)){case 0:n=O(o);break;case 1:n=E(o,u,l);break;case 2:k(o,o.ltree,o.dtree),n=E(o,o.ltree,o.dtree);break;default:n=s}if(n!==a)throw new Error("Data error")}while(!r);return o.destLenthis.x2&&(this.x2=e)),"number"==typeof t&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=t,this.y2=t),tthis.y2&&(this.y2=t))},C.prototype.addX=function(e){this.addPoint(e,null)},C.prototype.addY=function(e){this.addPoint(null,e)},C.prototype.addBezier=function(e,t,r,n,a,s,o,i){var u=[e,t],l=[r,n],p=[a,s],c=[o,i];this.addPoint(e,t),this.addPoint(o,i);for(var h=0;h<=1;h++){var f=6*u[h]-12*l[h]+6*p[h],d=-3*u[h]+9*l[h]-9*p[h]+3*c[h],g=3*l[h]-3*u[h];if(0!==d){var v=Math.pow(f,2)-4*g*d;if(!(v<0)){var y=(-f+Math.sqrt(v))/(2*d);0=0&&n>0&&(r+=" "),r+=t(a)}return r}e=void 0!==e?e:2;for(var n="",a=0;a=0&&e<=255,"Byte value should be between 0 and 255."),[e]},P.BYTE=_(1),A.CHAR=function(e){return[e.charCodeAt(0)]},P.CHAR=_(1),A.CHARARRAY=function(e){void 0===e&&(e="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var t=[],r=0;r>8&255,255&e]},P.USHORT=_(2),A.SHORT=function(e){return e>=G&&(e=-(2*G-e)),[e>>8&255,255&e]},P.SHORT=_(2),A.UINT24=function(e){return[e>>16&255,e>>8&255,255&e]},P.UINT24=_(3),A.ULONG=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},P.ULONG=_(4),A.LONG=function(e){return e>=M&&(e=-(2*M-e)),[e>>24&255,e>>16&255,e>>8&255,255&e]},P.LONG=_(4),A.FIXED=A.ULONG,P.FIXED=P.ULONG,A.FWORD=A.SHORT,P.FWORD=P.SHORT,A.UFWORD=A.USHORT,P.UFWORD=P.USHORT,A.LONGDATETIME=function(e){return[0,0,0,0,e>>24&255,e>>16&255,e>>8&255,255&e]},P.LONGDATETIME=_(8),A.TAG=function(e){return F.argument(4===e.length,"Tag should be exactly 4 ASCII characters."),[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]},P.TAG=_(4),A.Card8=A.BYTE,P.Card8=P.BYTE,A.Card16=A.USHORT,P.Card16=P.USHORT,A.OffSize=A.BYTE,P.OffSize=P.BYTE,A.SID=A.USHORT,P.SID=P.USHORT,A.NUMBER=function(e){return e>=-107&&e<=107?[e+139]:e>=108&&e<=1131?[247+((e-=108)>>8),255&e]:e>=-1131&&e<=-108?[251+((e=-e-108)>>8),255&e]:e>=-32768&&e<=32767?A.NUMBER16(e):A.NUMBER32(e)},P.NUMBER=function(e){return A.NUMBER(e).length},A.NUMBER16=function(e){return[28,e>>8&255,255&e]},P.NUMBER16=_(3),A.NUMBER32=function(e){return[29,e>>24&255,e>>16&255,e>>8&255,255&e]},P.NUMBER32=_(5),A.REAL=function(e){var t=e.toString(),r=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(t);if(r){var n=parseFloat("1e"+((r[2]?+r[2]:0)+r[1].length));t=(Math.round(e*n)/n).toString()}for(var a="",s=0,o=t.length;s>8&255,t[t.length]=255&n}return t},P.UTF16=function(e){return 2*e.length};var H={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};N.MACSTRING=function(e,t,r,n){var a=H[n];if(void 0!==a){for(var s="",o=0;o=-128&&e<=127}function X(e,t,r){for(var n=0,a=e.length;t>8&255,u+256&255)}return s}A.MACSTRING=function(e,t){var r=V(t);if(void 0!==r){for(var n=[],a=0;a=128&&void 0===(s=r[s]))return;n[a]=s}return n}},P.MACSTRING=function(e,t){var r=A.MACSTRING(e,t);return void 0!==r?r.length:0},A.VARDELTAS=function(e){for(var t=0,r=[];t=-128&&n<=127?j(e,t,r):Y(e,t,r)}return r},A.INDEX=function(e){for(var t=1,r=[t],n=[],a=0;a>8,t[c+1]=255&h,t=t.concat(n[p])}return t},P.TABLE=function(e){for(var t=0,r=e.fields.length,n=0;n0)return new ge(this.data,this.offset+t).parseStruct(e)},ge.prototype.parsePointer32=function(e){var t=this.parseOffset32();if(t>0)return new ge(this.data,this.offset+t).parseStruct(e)},ge.prototype.parseListOfLists=function(e){for(var t=this.parseOffset16List(),r=t.length,n=this.relativeOffset,a=new Array(r),s=0;s>1,t.skip("uShort",3),e.glyphIndexMap={};for(var o=new ye.Parser(r,n+a+14),i=new ye.Parser(r,n+a+16+2*s),u=new ye.Parser(r,n+a+16+4*s),l=new ye.Parser(r,n+a+16+6*s),p=n+a+16+8*s,c=0;c=0;a-=1){var s=ye.getUShort(e,t+4+8*a),o=ye.getUShort(e,t+4+8*a+2);if(3===s&&(0===o||1===o||10===o)||0===s&&(0===o||1===o||2===o||3===o||4===o)){n=ye.getULong(e,t+4+8*a+4);break}}if(-1===n)throw new Error("No valid cmap sub-tables found.");var i=new ye.Parser(e,t+n);if(r.format=i.parseUShort(),12===r.format)me(r,i);else{if(4!==r.format)throw new Error("Only format 4 and 12 cmap tables are supported (found format "+r.format+").");be(r,i,e,t,n)}return r}function xe(e,t,r){e.segments.push({end:t,start:t,delta:-(t-r),offset:0,glyphIndex:r})}function Te(e){e.segments.push({end:65535,start:65535,delta:1,offset:0})}function Ue(e){var t,r=!0;for(t=e.length-1;t>0;t-=1)if(e.get(t).unicode>65535){console.log("Adding CMAP format 12 (needed!)"),r=!1;break}var n=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:r?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:r?12:20}];r||(n=n.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),n=n.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var a=new ae.Table("cmap",n);for(a.segments=[],t=0;t>4,o=15&a;if(s===r)break;if(t+=n[s],o===r)break;t+=n[o]}return parseFloat(t)}function Je(e,t){if(28===t)return e.parseByte()<<8|e.parseByte();if(29===t)return e.parseByte()<<24|e.parseByte()<<16|e.parseByte()<<8|e.parseByte();if(30===t)return Ke(e);if(t>=32&&t<=246)return t-139;if(t>=247&&t<=250)return 256*(t-247)+e.parseByte()+108;if(t>=251&&t<=254)return 256*-(t-251)-e.parseByte()-108;throw new Error("Invalid b0 "+t)}function $e(e){for(var t={},r=0;r>1,h.length=0,d=!0}function U(r){for(var l,m,b,k,E,O,w,R,L,C,D,I,B=0;B1&&!d&&(S=h.shift()+p,d=!0),y+=h.pop(),x(v,y);break;case 5:for(;h.length>0;)v+=h.shift(),y+=h.shift(),c.lineTo(v,y);break;case 6:for(;h.length>0&&(v+=h.shift(),c.lineTo(v,y),0!==h.length);)y+=h.shift(),c.lineTo(v,y);break;case 7:for(;h.length>0&&(y+=h.shift(),c.lineTo(v,y),0!==h.length);)v+=h.shift(),c.lineTo(v,y);break;case 8:for(;h.length>0;)n=v+h.shift(),a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),y=o+h.shift(),c.curveTo(n,a,s,o,v,y);break;case 10:E=h.pop()+u,(O=i[E])&&U(O);break;case 11:return;case 12:switch(F=r[B],B+=1,F){case 35:n=v+h.shift(),a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o+h.shift(),L=w+h.shift(),C=R+h.shift(),D=L+h.shift(),I=C+h.shift(),v=D+h.shift(),y=I+h.shift(),h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,y);break;case 34:n=v+h.shift(),a=y,s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o,L=w+h.shift(),C=o,D=L+h.shift(),I=y,v=D+h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,y);break;case 36:n=v+h.shift(),a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o,L=w+h.shift(),C=o,D=L+h.shift(),I=C+h.shift(),v=D+h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,y);break;case 37:n=v+h.shift(),a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),w=s+h.shift(),R=o+h.shift(),L=w+h.shift(),C=R+h.shift(),D=L+h.shift(),I=C+h.shift(),Math.abs(D-v)>Math.abs(I-y)?v=D+h.shift():y=I+h.shift(),c.curveTo(n,a,s,o,w,R),c.curveTo(L,C,D,I,v,y);break;default:console.log("Glyph "+t.index+": unknown operator 1200"+F),h.length=0}break;case 14:h.length>0&&!d&&(S=h.shift()+p,d=!0),g&&(c.closePath(),g=!1);break;case 19:case 20:T(),B+=f+7>>3;break;case 21:h.length>2&&!d&&(S=h.shift()+p,d=!0),y+=h.pop(),x(v+=h.pop(),y);break;case 22:h.length>1&&!d&&(S=h.shift()+p,d=!0),x(v+=h.pop(),y);break;case 24:for(;h.length>2;)n=v+h.shift(),a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),y=o+h.shift(),c.curveTo(n,a,s,o,v,y);v+=h.shift(),y+=h.shift(),c.lineTo(v,y);break;case 25:for(;h.length>6;)v+=h.shift(),y+=h.shift(),c.lineTo(v,y);n=v+h.shift(),a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),y=o+h.shift(),c.curveTo(n,a,s,o,v,y);break;case 26:for(h.length%2&&(v+=h.shift());h.length>0;)n=v,a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s,y=o+h.shift(),c.curveTo(n,a,s,o,v,y);break;case 27:for(h.length%2&&(y+=h.shift());h.length>0;)n=v+h.shift(),a=y,s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),y=o,c.curveTo(n,a,s,o,v,y);break;case 28:l=r[B],m=r[B+1],h.push((l<<24|m<<16)>>16),B+=2;break;case 29:E=h.pop()+e.gsubrsBias,(O=e.gsubrs[E])&&U(O);break;case 30:for(;h.length>0&&(n=v,a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),y=o+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,y),0!==h.length);)n=v+h.shift(),a=y,s=n+h.shift(),o=a+h.shift(),y=o+h.shift(),v=s+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,y);break;case 31:for(;h.length>0&&(n=v+h.shift(),a=y,s=n+h.shift(),o=a+h.shift(),y=o+h.shift(),v=s+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,y),0!==h.length);)n=v,a=y+h.shift(),s=n+h.shift(),o=a+h.shift(),v=s+h.shift(),y=o+(1===h.length?h.shift():0),c.curveTo(n,a,s,o,v,y);break;default:F<32?console.log("Glyph "+t.index+": unknown operator "+F):F<247?h.push(F-139):F<251?(l=r[B],B+=1,h.push(256*(F-247)+l+108)):F<255?(l=r[B],B+=1,h.push(256*-(F-251)-l-108)):(l=r[B],m=r[B+1],b=r[B+2],k=r[B+3],B+=4,h.push((l<<24|m<<16|b<<8|k)/65536))}}}return U(r),t.advanceWidth=S,c}function ht(e,t,r,n){var a,s=[],o=new ye.Parser(e,t),i=o.parseCard8();if(0===i)for(var u=0;u=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");s.push(a)}else{if(3!==i)throw new Error("CFF Table CID Font FDSelect table has unsupported format "+i);var l,p=o.parseCard16(),c=o.parseCard16();if(0!==c)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+c);for(var h=0;h=n)throw new Error("CFF table CID Font FDSelect has bad FD index value "+a+" (FD count "+n+")");if(l>r)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+l);for(;c=0&&(r=n),(n=t.indexOf(e))>=0?r=n+Ee.length:(r=Ee.length+t.length,t.push(e)),r}function gt(){return new ae.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function vt(e){var t=new ae.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var r=0;r=r.begin&&e=1&&(r.ulCodePageRange1=n.parseULong(),r.ulCodePageRange2=n.parseULong()),r.version>=2&&(r.sxHeight=n.parseShort(),r.sCapHeight=n.parseShort(),r.usDefaultChar=n.parseUShort(),r.usBreakChar=n.parseUShort(),r.usMaxContent=n.parseUShort()),r}function pr(e){return new ae.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],e)}var cr={parse:lr,make:pr,unicodeRanges:ir,getUnicodeRange:ur};function hr(e,t){var r={},n=new ye.Parser(e,t);switch(r.version=n.parseVersion(),r.italicAngle=n.parseFixed(),r.underlinePosition=n.parseShort(),r.underlineThickness=n.parseShort(),r.isFixedPitch=n.parseULong(),r.minMemType42=n.parseULong(),r.maxMemType42=n.parseULong(),r.minMemType1=n.parseULong(),r.maxMemType1=n.parseULong(),r.version){case 1:r.names=Re.slice();break;case 2:r.numberOfGlyphs=n.parseUShort(),r.glyphNameIndex=new Array(r.numberOfGlyphs);for(var a=0;a=Re.length){var o=n.parseChar();r.names.push(n.parseString(o))}break;case 2.5:r.numberOfGlyphs=n.parseUShort(),r.offset=new Array(r.numberOfGlyphs);for(var i=0;it.value.tag?1:-1})),t.fields=t.fields.concat(n),t.fields=t.fields.concat(a),t}function Rr(e,t,r){for(var n=0;n0)return e.glyphs.get(a).getMetrics()}return r}function Lr(e){for(var t=0,r=0;rv||void 0===t)&&v>0&&(t=v),l 123 are reserved for internal usage");f|=1<0?Ht.make(I):void 0,G=dr.make(),M=wt.make(e.glyphs,{version:e.getEnglishName("version"),fullName:R,familyName:O,weightName:w,postScriptName:L,unitsPerEm:e.unitsPerEm,fontBBox:[0,b.yMin,b.ascender,b.advanceWidthMax]}),N=e.metas&&Object.keys(e.metas).length>0?Ur.make(e.metas):void 0,A=[S,x,T,U,B,E,G,M,k];F&&A.push(F),e.tables.gsub&&A.push(Sr.make(e.tables.gsub)),N&&A.push(N);for(var P=wr(A),_=Er(P.encode()),H=P.fields,z=!1,W=0;W>>1,s=e[a].tag;if(s===t)return a;s>>1,s=e[a];if(s===t)return a;s>>1,o=(r=e[s]).start;if(o===t)return r;o0)return t>(r=e[n-1]).end?0:r}function Gr(e,t){this.font=e,this.tableName=t}function Mr(e){Gr.call(this,e,"gpos")}function Nr(e){Gr.call(this,e,"gsub")}function Ar(e,t){var r=e.length;if(r!==t.length)return!1;for(var n=0;n0?(s=e.parseByte(),t&a||(s=-s),s=r+s):s=(t&a)>0?r:r+e.parseShort(),s}function qr(e,t,r){var n,a,s=new ye.Parser(t,r);if(e.numberOfContours=s.parseShort(),e._xMin=s.parseShort(),e._yMin=s.parseShort(),e._xMax=s.parseShort(),e._yMax=s.parseShort(),e.numberOfContours>0){for(var o=e.endPointIndices=[],i=0;i0)for(var c=s.parseByte(),h=0;h0){var f,d=[];if(l>0){for(var g=0;g=0,d.push(f);for(var v=0,y=0;y0?(2&n)>0?(x.dx=s.parseShort(),x.dy=s.parseShort()):x.matchedPoints=[s.parseUShort(),s.parseUShort()]:(2&n)>0?(x.dx=s.parseChar(),x.dy=s.parseChar()):x.matchedPoints=[s.parseByte(),s.parseByte()],(8&n)>0?x.xScale=x.yScale=s.parseF2Dot14():(64&n)>0?(x.xScale=s.parseF2Dot14(),x.yScale=s.parseF2Dot14()):(128&n)>0&&(x.xScale=s.parseF2Dot14(),x.scale01=s.parseF2Dot14(),x.scale10=s.parseF2Dot14(),x.yScale=s.parseF2Dot14()),e.components.push(x),S=!!(32&n)}if(256&n){e.instructionLength=s.parseUShort(),e.instructions=[];for(var T=0;Tt.points.length-1||n.matchedPoints[1]>a.points.length-1)throw Error("Matched points out of range in "+t.name);var o=t.points[n.matchedPoints[0]],i=a.points[n.matchedPoints[1]],u={xScale:n.xScale,scale01:n.scale01,scale10:n.scale10,yScale:n.yScale,dx:0,dy:0};i=Xr([i],u)[0],u.dx=o.x-i.x,u.dy=o.y-i.y,s=Xr(a.points,u)}t.points=t.points.concat(s)}}return Yr(t.points)}function Qr(e,t,r,n){for(var a=new qe.GlyphSet(n),s=0;s=0)return n[a].script;if(t){var s={tag:e,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return n.splice(-1-a,0,s),s.script}}},getLangSysTable:function(e,t,r){var n=this.getScriptTable(e,r);if(n){if(!t||"dflt"===t||"DFLT"===t)return n.defaultLangSys;var a=Ir(n.langSysRecords,t);if(a>=0)return n.langSysRecords[a].langSys;if(r){var s={tag:t,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return n.langSysRecords.splice(-1-a,0,s),s.langSys}}},getFeatureTable:function(e,t,r,n){var a=this.getLangSysTable(e,t,n);if(a){for(var s,o=a.featureIndexes,i=this.font.tables[this.tableName].features,u=0;u=i[l-1].tag,"Features must be added in alphabetical order."),s={tag:r,feature:{params:0,lookupListIndexes:[]}},i.push(s),o.push(l),s.feature}}},getLookupTables:function(e,t,r,n,a){var s=this.getFeatureTable(e,t,r,a),o=[];if(s){for(var i,u=s.lookupListIndexes,l=this.font.tables[this.tableName].lookups,p=0;p=0?r:-1;case 2:var n=Fr(e.ranges,t);return n?n.index+t-n.start:-1}},expandCoverage:function(e){if(1===e.format)return e.glyphs;for(var t=[],r=e.ranges,n=0;n1,'Multiple: "by" must be an array of two or more ids');var a=Pr(this.getLookupTables(r,n,e,2,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});F.assert(1===a.coverage.format,"Multiple: unable to modify coverage table format "+a.coverage.format);var s=t.sub,o=this.binSearch(a.coverage.glyphs,s);o<0&&(o=-1-o,a.coverage.glyphs.splice(o,0,s),a.sequences.splice(o,0,0)),a.sequences[o]=t.by},Nr.prototype.addAlternate=function(e,t,r,n){var a=Pr(this.getLookupTables(r,n,e,3,!0)[0],1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});F.assert(1===a.coverage.format,"Alternate: unable to modify coverage table format "+a.coverage.format);var s=t.sub,o=this.binSearch(a.coverage.glyphs,s);o<0&&(o=-1-o,a.coverage.glyphs.splice(o,0,s),a.alternateSets.splice(o,0,0)),a.alternateSets[o]=t.by},Nr.prototype.addLigature=function(e,t,r,n){var a=this.getLookupTables(r,n,e,4,!0)[0],s=a.subtables[0];s||(s={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},a.subtables[0]=s),F.assert(1===s.coverage.format,"Ligature: unable to modify coverage table format "+s.coverage.format);var o=t.sub[0],i=t.sub.slice(1),u={ligGlyph:t.by,components:i},l=this.binSearch(s.coverage.glyphs,o);if(l>=0){for(var p=s.ligatureSets[l],c=0;c=176&&r<=183)a+=r-176+1;else if(r>=184&&r<=191)a+=2*(r-184+1);else if(t&&1===s&&27===r)break}while(s>0);e.ip=a}function Un(t,r){e.DEBUG&&console.log(r.step,"SVTCA["+t.axis+"]"),r.fv=r.pv=r.dpv=t}function kn(t,r){e.DEBUG&&console.log(r.step,"SPVTCA["+t.axis+"]"),r.pv=r.dpv=t}function En(t,r){e.DEBUG&&console.log(r.step,"SFVTCA["+t.axis+"]"),r.fv=t}function On(t,r){var n,a,s=r.stack,o=s.pop(),i=s.pop(),u=r.z2[o],l=r.z1[i];e.DEBUG&&console.log("SPVTL["+t+"]",o,i),t?(n=u.y-l.y,a=l.x-u.x):(n=l.x-u.x,a=l.y-u.y),r.pv=r.dpv=vn(n,a)}function wn(t,r){var n,a,s=r.stack,o=s.pop(),i=s.pop(),u=r.z2[o],l=r.z1[i];e.DEBUG&&console.log("SFVTL["+t+"]",o,i),t?(n=u.y-l.y,a=l.x-u.x):(n=l.x-u.x,a=l.y-u.y),r.fv=vn(n,a)}function Rn(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SPVFS[]",n,a),t.pv=t.dpv=vn(a,n)}function Ln(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SPVFS[]",n,a),t.fv=vn(a,n)}function Cn(t){var r=t.stack,n=t.pv;e.DEBUG&&console.log(t.step,"GPV[]"),r.push(16384*n.x),r.push(16384*n.y)}function Dn(t){var r=t.stack,n=t.fv;e.DEBUG&&console.log(t.step,"GFV[]"),r.push(16384*n.x),r.push(16384*n.y)}function In(t){t.fv=t.pv,e.DEBUG&&console.log(t.step,"SFVTPV[]")}function Bn(t){var r=t.stack,n=r.pop(),a=r.pop(),s=r.pop(),o=r.pop(),i=r.pop(),u=t.z0,l=t.z1,p=u[n],c=u[a],h=l[s],f=l[o],d=t.z2[i];e.DEBUG&&console.log("ISECT[], ",n,a,s,o,i);var g=p.x,v=p.y,y=c.x,m=c.y,b=h.x,S=h.y,x=f.x,T=f.y,U=(g-y)*(S-T)-(v-m)*(b-x),k=g*m-v*y,E=b*T-S*x;d.x=(k*(b-x)-E*(g-y))/U,d.y=(k*(S-T)-E*(v-m))/U}function Fn(t){t.rp0=t.stack.pop(),e.DEBUG&&console.log(t.step,"SRP0[]",t.rp0)}function Gn(t){t.rp1=t.stack.pop(),e.DEBUG&&console.log(t.step,"SRP1[]",t.rp1)}function Mn(t){t.rp2=t.stack.pop(),e.DEBUG&&console.log(t.step,"SRP2[]",t.rp2)}function Nn(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZP0[]",r),t.zp0=r,r){case 0:t.tZone||xn(t),t.z0=t.tZone;break;case 1:t.z0=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function An(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZP1[]",r),t.zp1=r,r){case 0:t.tZone||xn(t),t.z1=t.tZone;break;case 1:t.z1=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function Pn(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZP2[]",r),t.zp2=r,r){case 0:t.tZone||xn(t),t.z2=t.tZone;break;case 1:t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function _n(t){var r=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SZPS[]",r),t.zp0=t.zp1=t.zp2=r,r){case 0:t.tZone||xn(t),t.z0=t.z1=t.z2=t.tZone;break;case 1:t.z0=t.z1=t.z2=t.gZone;break;default:throw new Error("Invalid zone pointer")}}function Hn(t){t.loop=t.stack.pop(),e.DEBUG&&console.log(t.step,"SLOOP[]",t.loop)}function zn(t){e.DEBUG&&console.log(t.step,"RTG[]"),t.round=on}function Wn(t){e.DEBUG&&console.log(t.step,"RTHG[]"),t.round=ln}function Vn(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SMD[]",r),t.minDis=r/64}function qn(t){e.DEBUG&&console.log(t.step,"ELSE[]"),Tn(t,!1)}function Xn(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"JMPR[]",r),t.ip+=r-1}function jn(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SCVTCI[]",r),t.cvCutIn=r/64}function Yn(t){var r=t.stack;e.DEBUG&&console.log(t.step,"DUP[]"),r.push(r[r.length-1])}function Zn(t){e.DEBUG&&console.log(t.step,"POP[]"),t.stack.pop()}function Qn(t){e.DEBUG&&console.log(t.step,"CLEAR[]"),t.stack.length=0}function Kn(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SWAP[]"),r.push(n),r.push(a)}function Jn(t){var r=t.stack;e.DEBUG&&console.log(t.step,"DEPTH[]"),r.push(r.length)}function $n(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"LOOPCALL[]",n,a);var s=t.ip,o=t.prog;t.prog=t.funcs[n];for(var i=0;i1?"loop "+(r.loop-u)+": ":"")+"SHP["+(t?"rp1":"rp2")+"]",p)}r.loop=1}function ia(t,r){var n=r.stack,a=t?r.rp1:r.rp2,s=(t?r.z0:r.z1)[a],o=r.fv,i=r.pv,u=n.pop(),l=r.z2[r.contours[u]],p=l;e.DEBUG&&console.log(r.step,"SHC["+t+"]",u);var c=i.distance(s,s,!1,!0);do{p!==s&&o.setRelative(p,p,c,i),p=p.nextPointOnContour}while(p!==l)}function ua(t,r){var n,a,s=r.stack,o=t?r.rp1:r.rp2,i=(t?r.z0:r.z1)[o],u=r.fv,l=r.pv,p=s.pop();switch(e.DEBUG&&console.log(r.step,"SHZ["+t+"]",p),p){case 0:n=r.tZone;break;case 1:n=r.gZone;break;default:throw new Error("Invalid zone")}for(var c=l.distance(i,i,!1,!0),h=n.length-2,f=0;f1?"loop "+(t.loop-n)+": ":"")+"SHPIX[]",i,s),a.setRelative(u,u,s),a.touch(u)}t.loop=1}function pa(t){for(var r=t.stack,n=t.rp1,a=t.rp2,s=t.loop,o=t.z0[n],i=t.z1[a],u=t.fv,l=t.dpv,p=t.z2;s--;){var c=r.pop(),h=p[c];e.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-s)+": ":"")+"IP[]",c,n,"<->",a),u.interpolate(h,o,i,l),u.touch(h)}t.loop=1}function ca(t,r){var n=r.stack,a=n.pop()/64,s=n.pop(),o=r.z1[s],i=r.z0[r.rp0],u=r.fv,l=r.pv;u.setRelative(o,i,a,l),u.touch(o),e.DEBUG&&console.log(r.step,"MSIRP["+t+"]",a,s),r.rp1=r.rp0,r.rp2=s,t&&(r.rp0=s)}function ha(t){for(var r=t.stack,n=t.rp0,a=t.z0[n],s=t.loop,o=t.fv,i=t.pv,u=t.z1;s--;){var l=r.pop(),p=u[l];e.DEBUG&&console.log(t.step,(t.loop>1?"loop "+(t.loop-s)+": ":"")+"ALIGNRP[]",l),o.setRelative(p,a,0,i),o.touch(p)}t.loop=1}function fa(t){e.DEBUG&&console.log(t.step,"RTDG[]"),t.round=un}function da(t,r){var n=r.stack,a=n.pop(),s=n.pop(),o=r.z0[s],i=r.fv,u=r.pv,l=r.cvt[a];e.DEBUG&&console.log(r.step,"MIAP["+t+"]",a,"(",l,")",s);var p=u.distance(o,mn);t&&(Math.abs(p-l)",u),r.stack.push(Math.round(64*u))}function Ua(t){e.DEBUG&&console.log(t.step,"MPPEM[]"),t.stack.push(t.ppem)}function ka(t){e.DEBUG&&console.log(t.step,"FLIPON[]"),t.autoFlip=!0}function Ea(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"LT[]",n,a),r.push(an?1:0)}function Ra(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"GTEQ[]",n,a),r.push(a>=n?1:0)}function La(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"EQ[]",n,a),r.push(n===a?1:0)}function Ca(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"NEQ[]",n,a),r.push(n!==a?1:0)}function Da(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"ODD[]",n),r.push(Math.trunc(n)%2?1:0)}function Ia(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"EVEN[]",n),r.push(Math.trunc(n)%2?0:1)}function Ba(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"IF[]",r),r||(Tn(t,!0),e.DEBUG&&console.log(t.step,"EIF[]"))}function Fa(t){e.DEBUG&&console.log(t.step,"EIF[]")}function Ga(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"AND[]",n,a),r.push(n&&a?1:0)}function Ma(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"OR[]",n,a),r.push(n||a?1:0)}function Na(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"NOT[]",n),r.push(n?0:1)}function Aa(t,r){var n=r.stack,a=n.pop(),s=r.fv,o=r.pv,i=r.ppem,u=r.deltaBase+16*(t-1),l=r.deltaShift,p=r.z0;e.DEBUG&&console.log(r.step,"DELTAP["+t+"]",a,n);for(var c=0;c>4)===i){var d=(15&f)-8;d>=0&&d++,e.DEBUG&&console.log(r.step,"DELTAPFIX",h,"by",d*l);var g=p[h];s.setRelative(g,g,d*l,o)}}}function Pa(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SDB[]",r),t.deltaBase=r}function _a(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SDS[]",r),t.deltaShift=Math.pow(.5,r)}function Ha(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"ADD[]",n,a),r.push(a+n)}function za(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"SUB[]",n,a),r.push(a-n)}function Wa(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"DIV[]",n,a),r.push(64*a/n)}function Va(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"MUL[]",n,a),r.push(a*n/64)}function qa(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"ABS[]",n),r.push(Math.abs(n))}function Xa(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"NEG[]",n),r.push(-n)}function ja(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"FLOOR[]",n),r.push(64*Math.floor(n/64))}function Ya(t){var r=t.stack,n=r.pop();e.DEBUG&&console.log(t.step,"CEILING[]",n),r.push(64*Math.ceil(n/64))}function Za(t,r){var n=r.stack,a=n.pop();e.DEBUG&&console.log(r.step,"ROUND[]"),n.push(64*r.round(a/64))}function Qa(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"WCVTF[]",n,a),t.cvt[a]=n*t.ppem/t.font.unitsPerEm}function Ka(t,r){var n=r.stack,a=n.pop(),s=r.ppem,o=r.deltaBase+16*(t-1),i=r.deltaShift;e.DEBUG&&console.log(r.step,"DELTAC["+t+"]",a,n);for(var u=0;u>4)===s){var c=(15&p)-8;c>=0&&c++;var h=c*i;e.DEBUG&&console.log(r.step,"DELTACFIX",l,"by",h),r.cvt[l]+=h}}}function Ja(t){var r,n=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"SROUND[]",n),t.round=hn,192&n){case 0:r=.5;break;case 64:r=1;break;case 128:r=2;break;default:throw new Error("invalid SROUND value")}switch(t.srPeriod=r,48&n){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*r;break;case 32:t.srPhase=.5*r;break;case 48:t.srPhase=.75*r;break;default:throw new Error("invalid SROUND value")}n&=15,t.srThreshold=0===n?0:(n/8-.5)*r}function $a(t){var r,n=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"S45ROUND[]",n),t.round=hn,192&n){case 0:r=Math.sqrt(2)/2;break;case 64:r=Math.sqrt(2);break;case 128:r=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(t.srPeriod=r,48&n){case 0:t.srPhase=0;break;case 16:t.srPhase=.25*r;break;case 32:t.srPhase=.5*r;break;case 48:t.srPhase=.75*r;break;default:throw new Error("invalid S45ROUND value")}n&=15,t.srThreshold=0===n?0:(n/8-.5)*r}function es(t){e.DEBUG&&console.log(t.step,"ROFF[]"),t.round=sn}function ts(t){e.DEBUG&&console.log(t.step,"RUTG[]"),t.round=pn}function rs(t){e.DEBUG&&console.log(t.step,"RDTG[]"),t.round=cn}function ns(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SCANCTRL[]",r)}function as(t,r){var n,a,s=r.stack,o=s.pop(),i=s.pop(),u=r.z2[o],l=r.z1[i];e.DEBUG&&console.log(r.step,"SDPVTL["+t+"]",o,i),t?(n=u.y-l.y,a=l.x-u.x):(n=l.x-u.x,a=l.y-u.y),r.dpv=vn(n,a)}function ss(t){var r=t.stack,n=r.pop(),a=0;e.DEBUG&&console.log(t.step,"GETINFO[]",n),1&n&&(a=35),32&n&&(a|=4096),r.push(a)}function os(t){var r=t.stack,n=r.pop(),a=r.pop(),s=r.pop();e.DEBUG&&console.log(t.step,"ROLL[]"),r.push(a),r.push(n),r.push(s)}function is(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"MAX[]",n,a),r.push(Math.max(a,n))}function us(t){var r=t.stack,n=r.pop(),a=r.pop();e.DEBUG&&console.log(t.step,"MIN[]",n,a),r.push(Math.min(a,n))}function ls(t){var r=t.stack.pop();e.DEBUG&&console.log(t.step,"SCANTYPE[]",r)}function ps(t){var r=t.stack.pop(),n=t.stack.pop();switch(e.DEBUG&&console.log(t.step,"INSTCTRL[]",r,n),r){case 1:return void(t.inhibitGridFit=!!n);case 2:return void(t.ignoreCvt=!!n);default:throw new Error("invalid INSTCTRL[] selector")}}function cs(t,r){var n=r.stack,a=r.prog,s=r.ip;e.DEBUG&&console.log(r.step,"PUSHB["+t+"]");for(var o=0;o=0?1:-1,u=Math.abs(u),t&&(p=o.cvt[h],a&&Math.abs(u-p)":"_")+(a?"R":"_")+(0===s?"Gr":1===s?"Bl":2===s?"Wh":"")+"]",t?h+"("+o.cvt[h]+","+p+")":"",f,"(d =",i,"->",l*u,")"),o.rp1=o.rp0,o.rp2=f,r&&(o.rp0=f)}function ds(e){this.char=e,this.state={},this.activeState=null}function gs(e,t,r){this.contextName=r,this.startIndex=e,this.endOffset=t}function vs(e,t,r){this.contextName=e,this.openRange=null,this.ranges=[],this.checkStart=t,this.checkEnd=r}function ys(e,t){this.context=e,this.index=t,this.length=e.length,this.current=e[t],this.backtrack=e.slice(0,t),this.lookahead=e.slice(t+1)}function ms(e){this.eventId=e,this.subscribers=[]}function bs(e){var t=this,r=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];r.forEach((function(e){Object.defineProperty(t.events,e,{value:new ms(e)})})),e&&r.forEach((function(r){var n=e[r];"function"==typeof n&&t.events[r].subscribe(n)})),["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"].forEach((function(e){t.events[e].subscribe(t.updateContextsRanges)}))}function Ss(e){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],bs.call(this,e)}function xs(e){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(e)}function Ts(e){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(e)}function Us(e){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(e)}function ks(e){return/[A-z]/.test(e)}function Es(e){return/\s/.test(e)}function Os(e){this.font=e,this.features={}}function ws(e){this.id=e.id,this.tag=e.tag,this.substitution=e.substitution}function Rs(e,t){if(!e)return-1;switch(t.format){case 1:return t.glyphs.indexOf(e);case 2:for(var r=t.ranges,n=0;n=a.start&&e<=a.end){var s=e-a.start;return a.index+s}}break;default:return-1}return-1}function Ls(e,t){return-1===Rs(e,t.coverage)?null:e+t.deltaGlyphId}function Cs(e,t){var r=Rs(e,t.coverage);return-1===r?null:t.substitute[r]}function Ds(e,t){for(var r=[],n=0;n2)){var n=this.font,a=this._prepState;if(!a||a.ppem!==r){var s=this._fpgmState;if(!s){Sn.prototype=bn,(s=this._fpgmState=new Sn("fpgm",n.tables.fpgm)).funcs=[],s.font=n,e.DEBUG&&(console.log("---EXEC FPGM---"),s.step=-1);try{en(s)}catch(e){return console.log("Hinting error in FPGM:"+e),void(this._errorState=3)}}Sn.prototype=s,(a=this._prepState=new Sn("prep",n.tables.prep)).ppem=r;var o=n.tables.cvt;if(o)for(var i=a.cvt=new Array(o.length),u=r/n.unitsPerEm,l=0;l1))try{return tn(t,a)}catch(e){return this._errorState<1&&(console.log("Hinting error:"+e),console.log("Note: further hinting errors are silenced")),void(this._errorState=1)}}},tn=function(t,r){var n,a,s,o=r.ppem/r.font.unitsPerEm,i=o,u=t.components;if(Sn.prototype=r,u){var l=r.font;a=[],n=[];for(var p=0;p=0&&e0&&e<=this.lookahead.length:return this.lookahead[e-1];default:return null}},Ss.prototype.rangeToText=function(e){if(e instanceof gs)return this.getRangeTokens(e).map((function(e){return e.char})).join("")},Ss.prototype.getText=function(){return this.tokens.map((function(e){return e.char})).join("")},Ss.prototype.getContext=function(e){var t=this.registeredContexts[e];return t||null},Ss.prototype.on=function(e,t){var r=this.events[e];return r?r.subscribe(t):null},Ss.prototype.dispatch=function(e,t){var r=this,n=this.events[e];n instanceof ms&&n.subscribers.forEach((function(e){e.apply(r,t||[])}))},Ss.prototype.registerContextChecker=function(e,t,r){if(this.getContext(e))return{FAIL:"context name '"+e+"' is already registered."};if("function"!=typeof t)return{FAIL:"missing context start check."};if("function"!=typeof r)return{FAIL:"missing context end check."};var n=new vs(e,t,r);return this.registeredContexts[e]=n,this.contextCheckers.push(n),n},Ss.prototype.getRangeTokens=function(e){var t=e.startIndex+e.endOffset;return[].concat(this.tokens.slice(e.startIndex,t))},Ss.prototype.getContextRanges=function(e){var t=this.getContext(e);return t?t.ranges:{FAIL:"context checker '"+e+"' is not registered."}},Ss.prototype.resetContextsRanges=function(){var e=this.registeredContexts;for(var t in e)e.hasOwnProperty(t)&&(e[t].ranges=[])},Ss.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var e=this.tokens.map((function(e){return e.char})),t=0;t=0;r--){var n=t[r],a=Ts(n),s=Us(n);if(!a&&!s)return!0;if(a)return!1}return!1}function Ys(e){if(Ts(e.current))return!1;for(var t=0;t0)}r("fontFamily"),r("weightName"),r("manufacturer"),r("copyright"),r("version"),t(this.unitsPerEm>0)},co.prototype.toTables=function(){return Dr.fontToTable(this)},co.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()},co.prototype.toArrayBuffer=function(){for(var e=this.toTables().encode(),t=new ArrayBuffer(e.length),r=new Uint8Array(t),n=0;n=1.2&&(a.markGlyphSets=r.parsePointer(Eo)),a}var wo={parse:Oo},Ro=new Array(10);function Lo(e,t){var r=new ge(e,t=t||0),n=r.parseVersion(1);return F.argument(1===n||1.1===n,"Unsupported GPOS table version "+n),1===n?{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(Ro)}:{version:n,scripts:r.parseScriptList(),features:r.parseFeatureList(),lookups:r.parseLookupList(Ro),variations:r.parseFeatureVariationsList()}}Ro[1]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();return 1===t?{posFormat:1,coverage:this.parsePointer(ge.coverage),value:this.parseValueRecord()}:2===t?{posFormat:2,coverage:this.parsePointer(ge.coverage),values:this.parseValueRecordList()}:void F.assert(!1,"0x"+e.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},Ro[2]=function(){var e=this.offset+this.relativeOffset,t=this.parseUShort();F.assert(1===t||2===t,"0x"+e.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var r=this.parsePointer(ge.coverage),n=this.parseUShort(),a=this.parseUShort();if(1===t)return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:a,pairSets:this.parseList(ge.pointer(ge.list((function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(n),value2:this.parseValueRecord(a)}}))))};if(2===t){var s=this.parsePointer(ge.classDef),o=this.parsePointer(ge.classDef),i=this.parseUShort(),u=this.parseUShort();return{posFormat:t,coverage:r,valueFormat1:n,valueFormat2:a,classDef1:s,classDef2:o,class1Count:i,class2Count:u,classRecords:this.parseList(i,ge.list(u,(function(){return{value1:this.parseValueRecord(n),value2:this.parseValueRecord(a)}})))}}},Ro[3]=function(){return{error:"GPOS Lookup 3 not supported"}},Ro[4]=function(){return{error:"GPOS Lookup 4 not supported"}},Ro[5]=function(){return{error:"GPOS Lookup 5 not supported"}},Ro[6]=function(){return{error:"GPOS Lookup 6 not supported"}},Ro[7]=function(){return{error:"GPOS Lookup 7 not supported"}},Ro[8]=function(){return{error:"GPOS Lookup 8 not supported"}},Ro[9]=function(){return{error:"GPOS Lookup 9 not supported"}};var Co=new Array(10);function Do(e){return new ae.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new ae.ScriptList(e.scripts)},{name:"features",type:"TABLE",value:new ae.FeatureList(e.features)},{name:"lookups",type:"TABLE",value:new ae.LookupList(e.lookups,Co)}])}var Io={parse:Lo,make:Do};function Bo(e){var t={};e.skip("uShort");var r=e.parseUShort();F.argument(0===r,"Unsupported kern sub-table version."),e.skip("uShort",2);var n=e.parseUShort();e.skip("uShort",3);for(var a=0;a1&&console.warn("Only the first kern subtable is supported."),e.skip("uLong");var r=255&e.parseUShort();if(e.skip("uShort"),0===r){var n=e.parseUShort();e.skip("uShort",3);for(var a=0;a{t.exports=e.jquery},256:()=>{}},r={};function n(e){var a=r[e];if(void 0!==a)return a.exports;var s=r[e]={exports:{}};return t[e].call(s.exports,s,s.exports,n),s.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const t=e.Components;var r=n.n(t);const a=e.Fields;var s=n.n(a);const o=e.X3DFieldDefinition;var i=n.n(o);const u=e.FieldDefinitionArray;var l=n.n(u);const p=e.X3DNode;var c=n.n(p);const h=e.X3DUrlObject;var f=n.n(h);const d=e.Namespace;var g=n.n(d);let v=0;const y={BEGIN:++v,FIRST:++v,MIDDLE:++v,END:++v},m=g().add("TextAlignment",y),b=(e.FileLoader,e.X3DConstants);var S=n.n(b);const x=e.URLs;var T=n.n(x);const U=new Map([["SERIF",new Map([["PLAIN",T().getFontsURL("Droid/DroidSerif-Regular.ttf")],["ITALIC",T().getFontsURL("Droid/DroidSerif-Italic.ttf")],["BOLD",T().getFontsURL("Droid/DroidSerif-Bold.ttf")],["BOLDITALIC",T().getFontsURL("Droid/DroidSerif-BoldItalic.ttf")]])],["SANS",new Map([["PLAIN",T().getFontsURL("Ubuntu/Ubuntu-R.ttf")],["ITALIC",T().getFontsURL("Ubuntu/Ubuntu-RI.ttf")],["BOLD",T().getFontsURL("Ubuntu/Ubuntu-B.ttf")],["BOLDITALIC",T().getFontsURL("Ubuntu/Ubuntu-BI.ttf")]])],["TYPEWRITER",new Map([["PLAIN",T().getFontsURL("Ubuntu/UbuntuMono-R.ttf")],["ITALIC",T().getFontsURL("Ubuntu/UbuntuMono-RI.ttf")],["BOLD",T().getFontsURL("Ubuntu/UbuntuMono-B.ttf")],["BOLDITALIC",T().getFontsURL("Ubuntu/UbuntuMono-BI.ttf")]])]]);function k(e){c().call(this,e),f().call(this,e),this.addType(S().X3DFontStyleNode),this.addChildObjects(S().inputOutput,"description",new(s().SFString),S().inputOutput,"url",this._family,S().inputOutput,"load",new(s().SFBool)(!0),S().inputOutput,"autoRefresh",new(s().SFTime),S().inputOutput,"autoRefreshTimeLimit",new(s().SFTime)(3600)),this._family.setName("family"),this.familyStack=[],this.alignments=[]}Object.assign(Object.setPrototypeOf(k.prototype,c().prototype),f().prototype,{initialize(){c().prototype.initialize.call(this),f().prototype.initialize.call(this),this._style.addInterest("set_style__",this),this._justify.addInterest("set_justify__",this),this.font=null,this.familyIndex=0,this.set_justify__(),this.requestImmediateLoad().catch(Function.prototype)},set_style__(){this._load.getValue()&&(this.setLoadState(S().NOT_STARTED_STATE),this.requestImmediateLoad().catch(Function.prototype))},set_justify__(){const e=this._horizontal.getValue()?this._leftToRight.getValue():this._topToBottom.getValue();this.alignments[0]=this._justify.length>0?this.getAlignment(0,e):e?m.BEGIN:m.END;const t=this._horizontal.getValue()?this._topToBottom.getValue():this._leftToRight.getValue();this.alignments[1]=this._justify.length>1?this.getAlignment(1,t):t?m.FIRST:m.END},getMajorAlignment(){return this.alignments[0]},getMinorAlignment(){return this.alignments[1]},getAlignment(e,t){if(t)switch(this._justify[e]){case"FIRST":return m.FIRST;case"BEGIN":return m.BEGIN;case"MIDDLE":return m.MIDDLE;case"END":return m.END}else switch(this._justify[e]){case"FIRST":case"BEGIN":return m.END;case"MIDDLE":return m.MIDDLE;case"END":return m.BEGIN}return e?m.FIRST:m.BEGIN},getDefaultFont(e){const t=U.get(e);if(t)return t.get(this._style.getValue())??t.get("PLAIN")},loadData(){const e=this._url.copy();e.push("SERIF"),this.familyStack.length=0;for(const t of e)this.familyStack.push(this.getDefaultFont(t)??t);this.loadNext()},loadNext(){if(0===this.familyStack.length)return this.setLoadState(S().FAILED_STATE),void(this.font=null);this.family=this.familyStack.shift(),this.URL=new URL(this.family,this.getExecutionContext().getBaseURL()),this.getBrowser().getFont(this.URL,this.getCache()).then(this.setFont.bind(this)).catch(this.setError.bind(this))},setError(e){"data:"!==this.URL.protocol&&console.warn(`Error loading font '${decodeURI(this.URL.href)}':`,e),this.loadNext()},setFont(e){this.font=e,this.setLoadState(S().COMPLETE_STATE),this.addNodeEvent()},getFont(){return this.font},dispose(){f().prototype.dispose.call(this),c().prototype.dispose.call(this)}}),Object.defineProperties(k,c().getStaticProperties("X3DFontStyleNode","Text",1));const E=k,O=g().add("X3DFontStyleNode",E),w=e.PrimitiveQuality;var R=n.n(w);const L=e.TextCompression;var C=n.n(L);const D=e.Box2;var I=n.n(D);const B=e.Box3;var F=n.n(B);const G=e.Vector2;var M=n.n(G);const N=e.Vector3;var A=n.n(N);const P=e.Matrix3;var _=n.n(P);const H=new(I()),z=new(I()),W=new(M()),V=new(M()),q=new(M()),X=new(M()),j=new(A()),Y=new(A()),Z=new(M()),Q=new(M()),K=new(M()),J=new(M()),$=new(M()),ee=new(M()),te=new(A()),re=new(I()),ne=new(M()),ae=new(A());function se(e,t){this.browser=e.getBrowser(),this.text=e,this.fontStyle=t,this.glyphs=[],this.minorAlignment=new(M()),this.lineIndices=[],this.translations=[],this.charSpacings=[],this.scales=[],this.bearing=new(M()),this.bbox=new(F())}Object.assign(se.prototype,{getBrowser(){return this.browser},getText(){return this.text},getFontStyle(){return this.fontStyle},getGlyphs(){return this.glyphs},getMinorAlignment(){return this.minorAlignment},getTranslations(){return this.translations},getCharSpacings(){return this.charSpacings},getScales(){return this.scales},getBearing(){return this.bearing},getBBox(){return this.bbox},update(){const e=this.text,t=this.fontStyle,r=e._string.length;if(e._lineBounds.length=r,this.glyphs.length=0,0===r||!t.getFont())return e._origin.setValue(ae),e._textBounds.setValue(ne),void this.bbox.set();if(t._horizontal.getValue())this.resizeArray(this.translations,r),this.lineIndices.length=0,this.charSpacings.length=r,this.scales.length=r,this.horizontal(e,t);else{const n=e._string.reduce(((e,t)=>e+t.length),0);this.resizeArray(this.translations,n),this.lineIndices.length=n,this.charSpacings.length=r,this.scales.length=r,this.vertical(e,t)}},resizeArray(e,t){for(var r=e.length;r1&&(f=(p-ee.x)/(o.length-1)),ee.x=p,Z.x=p/i),this.charSpacings[h]=f,this.scales[h]=l===C().SCALING?ee.x/c:1,e._lineBounds[s]=ee,t.getMajorAlignment()){case m.BEGIN:case m.FIRST:this.translations[h].set(0,-h*u);break;case m.MIDDLE:this.translations[h].set(-W.x-Z.x/2,-h*u);break;case m.END:this.translations[h].set(-W.x-Z.x,-h*u)}this.translations[h].multiply(i),Q.assign(W).add(K.assign(Z).divide(2)),H.add(re.set(Z.multiply(i),Q.multiply(i).add(this.translations[h])))}if(s){const t=e._lineBounds.reduce(((e,t)=>Math.max(e,t.x)),0);if(t>s){const r=s/t;switch(l){case C().CHAR_SPACING:for(const t of this.charSpacings.keys())e._string[t].length<2||(this.charSpacings[t]-=(e._lineBounds[t].x-e._lineBounds[t].x*r)/(e._string[t].length-1));break;case C().SCALING:for(const e of this.scales.keys())this.scales[e]*=r}for(const e of this.translations.keys())this.translations[e].x*=r;for(const t of e._lineBounds.keys())e._lineBounds[t].x*=r;H.multRight(new(_())(r,0,0,0,1,0,0,0,0))}}switch(H.getExtents(W,V),Z.assign(V).subtract(W),e._textBounds=Z,this.bearing.set(0,-V.y),t.getMinorAlignment()){case m.BEGIN:this.minorAlignment.assign(this.bearing);break;case m.FIRST:this.minorAlignment.set(0,0);break;case m.MIDDLE:this.minorAlignment.set(0,Z.y/2-V.y);break;case m.END:this.minorAlignment.set(0,(a-1)*u*i)}W.add(this.minorAlignment),V.add(this.minorAlignment),e._origin.setValue(te.set(W.x,V.y,0)),this.bbox.setExtents(j.set(W.x,W.y,0),Y.set(V.x,V.y,0))},vertical(e,t){const r=t.getFont(),n=e._string,a=n.length,s=Math.max(0,e._maxExtent.getValue()),o=t._leftToRight.getValue(),i=t._topToBottom.getValue(),u=t.getScale(),l=t._spacing.getValue(),p=this.getBrowser().getBrowserOptions().getPrimitiveQuality(),c=this.getBrowser().getBrowserOptions().getTextCompression();H.set();const h=o?a:-1,f=o?1:-1;let d=0;for(let s=o?0:a-1;s!==h;s+=f){const h=this.stringToGlyphs(r,n[s],!0,s),f=d,g=h.length;z.set();const v=i?g:-1,y=i?1:-1;for(let e=i?0:g-1;e!==v;e+=y,++d){const t=h[e];this.getGlyphExtents(r,t,p,W,V),Z.assign(V).subtract(W);const n=i?e:g-e-1;this.lineIndices[d]=s,this.translations[d].set((l-Z.x-W.x)/2,-n),Q.assign(W).add(K.assign(Z).divide(2)).add(this.translations[d]),z.add(re.set(Z,Q))}z.getExtents(W,V),Z.assign(V).subtract(W);const b=o?s:a-s-1,S=(l-Z.x)/2,x=e.getLength(s);let T=0;ee.set(0===s?l-S:l,g?Z.y:0).multiply(u);const U=ee.y;switch(x&&(c===C().CHAR_SPACING&&h.length>1&&(T=(x-ee.y)/(h.length-1)),ee.y=x,Z.y=x/u,W.y=V.y-Z.y),this.charSpacings[s]=T,this.scales[s]=c===C().SCALING?ee.y/U:1,e._lineBounds[s]=ee,t.getMajorAlignment()){case m.BEGIN:case m.FIRST:$.assign(J.set(b*l,-V.y));break;case m.MIDDLE:$.assign(J.set(b*l,Z.y/2-V.y));break;case m.END:J.set(b*l,Z.y/this.scales[s]-V.y),$.set(b*l,Z.y-V.y)}for(let e=f;eMath.max(e,t.y)),0);if(r>s){const n=s/r;switch(c){case C().CHAR_SPACING:for(const t of this.charSpacings.keys())e._string[t].length<2||(this.charSpacings[t]-=(e._lineBounds[t].y-e._lineBounds[t].y*n)/(e._string[t].length-1));switch(t.getMajorAlignment()){case m.MIDDLE:for(const t of this.translations.keys()){const r=this.lineIndices[t];this.translations[t].y-=(e._lineBounds[r].y-e._lineBounds[r].y*n)/2}break;case m.END:for(const t of this.translations.keys()){const r=this.lineIndices[t];this.translations[t].y-=e._lineBounds[r].y-e._lineBounds[r].y*n}}break;case C().SCALING:for(const e of this.scales.keys())this.scales[e]*=n}for(const t of e._lineBounds.keys())e._lineBounds[t].y*=n;H.multRight(new(_())(1,0,0,0,n,0,0,0,0))}}switch(H.getExtents(W,V),Z.assign(V).subtract(W),e._textBounds=Z,t.getMajorAlignment()){case m.BEGIN:case m.FIRST:this.bearing.set(-W.x,V.y);break;case m.MIDDLE:this.bearing.set(-W.x,0);break;case m.END:this.bearing.set(-W.x,W.y)}switch(t.getMinorAlignment()){case m.BEGIN:case m.FIRST:this.minorAlignment.set(-W.x,0);break;case m.MIDDLE:this.minorAlignment.set(-W.x-Z.x/2,0);break;case m.END:this.minorAlignment.set(-W.x-Z.x,0)}W.add(this.minorAlignment),V.add(this.minorAlignment),e._origin.setValue(te.set(W.x,V.y,0)),this.bbox.setExtents(j.set(W.x,W.y,0),Y.set(V.x,V.y,0))},stringToGlyphs(e,t,r,n){const a=this.glyphs[n]??(this.glyphs[n]=[]);a.length=t.length;const s=r?0:t.length-1,o=r?t.length:-1,i=r?1:-1;for(let r=s,n=0;r!==o;r+=i,++n)a[n]=e.charToGlyph(t[r]);return a},getHorizontalLineExtents(e,t,r,n,a){const s=e.getFont(),o=e._horizontal.getValue()?e._leftToRight.getValue():e._topToBottom.getValue(),i=this.stringToGlyphs(s,t,o,a),u=i.length,l=this.getBrowser().getBrowserOptions().getPrimitiveQuality();let p=0,c=0,h=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY;for(let e=0;e!1,getMatrix:()=>le().Identity,build:(()=>{const e=new(A()),t=new(A());return function(){const r=this.getFontStyle(),n=r.getFont();if(!n)return;const a=this.getText(),s=this.getGlyphs(),o=this.getMinorAlignment(),i=this.getTranslations(),u=this.getCharSpacings(),l=this.getScales(),p=r.getScale(),c=r._spacing.getValue(),h=a._origin.getValue(),f=p/n.unitsPerEm,d=this.getBrowser().getBrowserOptions().getPrimitiveQuality(),g=a.getTexCoords(),v=a.getNormals(),y=a.getVertices();if(a.getMultiTexCoords().push(g),this.getBBox().getExtents(e,t),a.getMin().assign(e),a.getMax().assign(t),r._horizontal.getValue())for(let e=0,t=s.length;e2&&s.push(o),o=[],"M"===e&&o.push(new(A())(c,-h,0));break;case"L":o.push(new(A())(c,-h,0));break;case"Q":ce().quadric(i,-u,0,t,-r,0,c,-h,0,n,o);break;case"C":ce().cubic(i,-u,0,t,-r,0,l,-p,0,c,-h,0,n,o);break;default:continue}i=c,u=h}return this.triangulatePolygon(s,t)},getBezierSteps(e){switch(e){case R().LOW:return 3;case R().HIGH:return 7;default:return 5}},triangulatePolygon:(()=>{const e=new(fe().GluTesselator);return e.gluTessCallback(fe().gluEnum.GLU_TESS_VERTEX_DATA,(function(e,t){t.push(e)})),e.gluTessCallback(fe().gluEnum.GLU_TESS_COMBINE,(function(e,t,r){return new(A())(...e)})),e.gluTessProperty(fe().gluEnum.GLU_TESS_WINDING_RULE,fe().windingRule.GLU_TESS_WINDING_NONZERO),e.gluTessNormal(0,0,1),function(t,r){e.gluTessBeginPolygon(r);for(const r of t){e.gluTessBeginContour();for(const t of r)e.gluTessVertex(t,t);e.gluTessEndContour()}return e.gluTessEndPolygon(),r}})(),display(e,t){},transformLine(e){},transformMatrix(e){}});const ge=de,ve=g().add("PolygonText",ge);function ye(e){O.call(this,e),this.addType(S().FontStyle),this._size.setUnit("length")}Object.assign(Object.setPrototypeOf(ye.prototype,O.prototype),{getTextGeometry(e){return new ve(e,this)},getScale(){return this._size.getValue()}}),Object.defineProperties(ye,{...c().getStaticProperties("FontStyle","Text",1,"fontStyle","2.0"),fieldDefinitions:{value:new(l())([new(i())(S().inputOutput,"metadata",new(s().SFNode)),new(i())(S().inputOutput,"language",new(s().SFString)),new(i())(S().inputOutput,"family",new(s().MFString)("SERIF")),new(i())(S().inputOutput,"style",new(s().SFString)("PLAIN")),new(i())(S().inputOutput,"size",new(s().SFFloat)(1)),new(i())(S().inputOutput,"spacing",new(s().SFFloat)(1)),new(i())(S().inputOutput,"horizontal",new(s().SFBool)(!0)),new(i())(S().inputOutput,"leftToRight",new(s().SFBool)(!0)),new(i())(S().inputOutput,"topToBottom",new(s().SFBool)(!0)),new(i())(S().inputOutput,"justify",new(s().MFString)("BEGIN"))]),enumerable:!0}});const me=ye,be=g().add("FontStyle",me);var Se=n(254),xe=n(501);const Te=Symbol(),Ue=Symbol(),ke=Symbol();function Ee(){this[Ue]=new Map,this[ke]=new Map}Object.assign(Ee.prototype,{getDefaultFontStyle(){return this[Te]=new be(this.getPrivateScene()),this[Te].setPrivate(!0),this[Te].setup(),this.getDefaultFontStyle=function(){return this[Te]},Object.defineProperty(this,"getDefaultFontStyle",{enumerable:!1}),this[Te]},getFont(e,t=!0){return new Promise((async(r,n)=>{e=e.toString();let a=this[Ue].get(e);if(!a)try{this[Ue].set(e,a=Se.Deferred());const r=await fetch(e,{cache:t?"default":"reload"});if(!r.ok)throw new Error(r.statusText||r.status);{const e=await r.arrayBuffer(),t=xe.parse(e);a.resolve(t)}}catch(e){a.reject(e)}a.done(r).fail(n)}))},getGlyph(e,t,r){let n=this[ke].get(e);n||this[ke].set(e,n=[]);let a=n[t];a||(a=n[t]=[]);let s=a[r];return s||(s=a[r]={}),s}});const Oe=Ee,we=g().add("X3DTextContext",Oe),Re=e.X3DGeometryNode;var Le=n.n(Re);const Ce=e.X3DCast;var De=n.n(Ce);function Ie(e){Le().call(this,e),this.addType(S().Text),this._length.setUnit("length"),this._maxExtent.setUnit("length"),this._origin.setUnit("length"),this._textBounds.setUnit("length"),this._lineBounds.setUnit("length")}Object.assign(Object.setPrototypeOf(Ie.prototype,Le().prototype),{initialize(){Le().prototype.initialize.call(this),this._fontStyle.addInterest("set_fontStyle__",this),this.set_fontStyle__()},getMatrix(){return this.textGeometry.getMatrix()},getLength(e){return e { // webpackBootstrap /******/ "use strict"; /******/ // The require scope diff --git a/dist/assets/components/TextureProjectionComponent.min.js b/dist/assets/components/TextureProjectionComponent.min.js index 79ed66986a..88c25d953e 100644 --- a/dist/assets/components/TextureProjectionComponent.min.js +++ b/dist/assets/components/TextureProjectionComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const t=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var e={n:t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return e.d(i,{a:i}),i},d:(t,i)=>{for(var r in i)e.o(i,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:i[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const i=t.Components;var r=e.n(i);const n=t.Fields;var o=e.n(n);const a=t.X3DFieldDefinition;var s=e.n(a);const u=t.FieldDefinitionArray;var h=e.n(u);const c=t.X3DNode;var l=e.n(c);const x=t.X3DLightNode;var p=e.n(x);const w=t.X3DConstants;var g=e.n(w);const d=t.X3DCast;var m=e.n(d);const f=t.Vector3;var _=e.n(f);const T=t.Rotation4;var O=e.n(T);const F=t.Matrix4;var M=e.n(F);const S=t.Namespace;var P=e.n(S);function j(t){p().call(this,t),this.addType(g().X3DTextureProjectorNode),this._location.setUnit("length"),this._farDistance.setUnit("length"),this._location.setUnit("length")}Object.assign(Object.setPrototypeOf(j.prototype,p().prototype),{initialize(){p().prototype.initialize.call(this),this._nearDistance.addInterest("set_nearDistance__",this),this._farDistance.addInterest("set_farDistance__",this),this._texture.addInterest("set_texture__",this),this.set_nearDistance__(),this.set_farDistance__(),this.set_texture__()},getLightKey:()=>3,getGlobal(){return this._global.getValue()},getLocation(){return this._location.getValue()},getDirection(){return this._direction.getValue()},getNearDistance(){return this.nearDistance},getNearParameter(){return this.nearParameter},getFarDistance(){return this.farDistance},getFarParameter(){return this.farParameter},getTexture(){return this.textureNode},getBiasMatrix:(()=>{const t=new(M())(.5,0,0,0,0,.5,0,0,0,0,.5,0,.5,.5,.5,1);return function(){return t}})(),straightenHorizon(t){return t.straighten(this._upVector.getValue())},set_nearDistance__(){const t=this._nearDistance.getValue();this.nearDistance=t<0?.125:t,this.nearParameter=t<0?0:-1},set_farDistance__(){const t=this._farDistance.getValue();this.farDistance=t<0?1e5:t,this.farParameter=t<0?1:2},set_texture__(){this.textureNode?.removeInterest("set_aspectRatio__",this),this.textureNode=m()(g().X3DTexture2DNode,this._texture),this.textureNode?.addInterest("set_aspectRatio__",this),this.setEnabled(!!this.textureNode),this.set_aspectRatio__(),this.set_on__()},set_aspectRatio__(){this.textureNode?this._aspectRatio=this.textureNode.getWidth()/this.textureNode.getHeight():this._aspectRatio=1}}),Object.defineProperties(j,l().getStaticProperties("X3DTextureProjectorNode","TextureProjection",4));const y=j,D=P().add("X3DTextureProjectorNode",y),V=t.Camera;var b=e.n(V);const v=t.MatrixStack;var N=e.n(v);const X=t.ObjectCache;var U=e.n(X);const z=U()(R);function R(){this.projectionMatrix=new(M()),this.modelViewMatrix=new(N())(M()),this.modelMatrix=new(M()),this.invTextureSpaceMatrix=new(M()),this.invTextureSpaceProjectionMatrix=new(M()),this.location=new(_()),this.locationArray=new Float32Array(3),this.direction=new(_()),this.rotation=new(O()),this.matrix=new(M()),this.matrixArray=new Float32Array(16),this.textureMatrix=new(M())}function I(t){D.call(this,t),this.addType(g().TextureProjector),this._fieldOfView.setUnit("angle")}Object.assign(R.prototype,{set(t,e,i){this.browser=t.getBrowser(),this.lightNode=t,this.global=t.getGlobal(),this.modelViewMatrix.pushMatrix(i),this.textureMatrix.set(...t.getTexture().getMatrix())},renderShadowMap(t){},setGlobalVariables(t){const e=this.lightNode,i=t.getCameraSpaceMatrix().get(),r=this.modelMatrix.assign(this.modelViewMatrix.get()).multRight(i),n=this.invTextureSpaceMatrix.assign(this.global?r:M().Identity);this.rotation.setFromToVec(_().zAxis,this.direction.assign(e.getDirection()).negate()),e.straightenHorizon(this.rotation),n.translate(e.getLocation()),n.rotate(this.rotation),n.inverse();const o=e.getTexture().getWidth(),a=e.getTexture().getHeight(),s=e.getNearDistance(),u=e.getFarDistance(),h=e.getFieldOfView();b().perspective(h,s,u,o,a,this.projectionMatrix),this.global||n.multLeft(r.inverse()),this.invTextureSpaceProjectionMatrix.assign(n).multRight(this.projectionMatrix).multRight(e.getBiasMatrix()),this.matrix.assign(i).multRight(this.invTextureSpaceProjectionMatrix).multRight(this.textureMatrix),this.matrixArray.set(this.matrix),this.modelViewMatrix.get().multVecMatrix(this.location.assign(e._location.getValue())),this.locationArray.set(this.location)},setShaderUniforms(t,e,i){const r=e.numTextureProjectors++,n=this.lightNode,o=n.getTexture(),a=this.global?this.textureUnit=this.textureUnit??this.browser.popTexture2DUnit():this.browser.getTexture2DUnit();if(t.activeTexture(t.TEXTURE0+a),t.bindTexture(t.TEXTURE_2D,o.getTexture()),t.uniform1i(e.x3d_TextureProjectorTexture[r],a),e.hasTextureProjector(r,this))return;const s=n.getNearParameter(),u=n.getFarParameter();t.uniform3f(e.x3d_TextureProjectorColor[r],...n.getColor()),t.uniform1f(e.x3d_TextureProjectorIntensity[r],n.getIntensity()),t.uniform3fv(e.x3d_TextureProjectorLocation[r],this.locationArray),t.uniform3f(e.x3d_TextureProjectorParams[r],s,u,o.isLinear()),t.uniformMatrix4fv(e.x3d_TextureProjectorMatrix[r],!1,this.matrixArray)},dispose(){this.browser.pushTexture2DUnit(this.textureUnit),this.modelViewMatrix.clear(),this.textureUnit=void 0,z.push(this)}}),Object.assign(Object.setPrototypeOf(I.prototype,D.prototype),{initialize(){D.prototype.initialize.call(this)},getFieldOfView(){const t=this._fieldOfView.getValue();return t>0&&tz}),Object.defineProperties(I,{...l().getStaticProperties("TextureProjector","TextureProjection",2,"children","4.0"),fieldDefinitions:{value:new(h())([new(s())(g().inputOutput,"metadata",new(o().SFNode)),new(s())(g().inputOutput,"description",new(o().SFString)),new(s())(g().inputOutput,"global",new(o().SFBool)(!0)),new(s())(g().inputOutput,"on",new(o().SFBool)(!0)),new(s())(g().inputOutput,"color",new(o().SFColor)(1,1,1)),new(s())(g().inputOutput,"intensity",new(o().SFFloat)(1)),new(s())(g().inputOutput,"ambientIntensity",new(o().SFFloat)),new(s())(g().inputOutput,"location",new(o().SFVec3f)),new(s())(g().inputOutput,"direction",new(o().SFVec3f)(0,0,1)),new(s())(g().inputOutput,"upVector",new(o().SFVec3f)(0,0,1)),new(s())(g().inputOutput,"fieldOfView",new(o().SFFloat)(.785398)),new(s())(g().inputOutput,"nearDistance",new(o().SFFloat)(-1)),new(s())(g().inputOutput,"farDistance",new(o().SFFloat)(-1)),new(s())(g().outputOnly,"aspectRatio",new(o().SFFloat)),new(s())(g().inputOutput,"texture",new(o().SFNode)),new(s())(g().inputOutput,"shadows",new(o().SFBool)),new(s())(g().inputOutput,"shadowColor",new(o().SFColor)),new(s())(g().inputOutput,"shadowIntensity",new(o().SFFloat)(1)),new(s())(g().inputOutput,"shadowBias",new(o().SFFloat)(.005)),new(s())(g().initializeOnly,"shadowMapSize",new(o().SFInt32)(1024))]),enumerable:!0}});const A=I,C=P().add("TextureProjector",A),Y=U()(B);function B(){this.projectionMatrix=new(M()),this.modelViewMatrix=new(N())(M()),this.modelMatrix=new(M()),this.invTextureSpaceMatrix=new(M()),this.location=new(_()),this.locationArray=new Float32Array(3),this.invTextureSpaceProjectionMatrix=new(M()),this.direction=new(_()),this.rotation=new(O()),this.matrix=new(M()),this.matrixArray=new Float32Array(16),this.textureMatrix=new(M())}function L(t){D.call(this,t),this.addType(g().TextureProjectorParallel),this._fieldOfView.setUnit("length")}Object.assign(B.prototype,{set(t,e,i){this.browser=t.getBrowser(),this.lightNode=t,this.global=t.getGlobal(),this.modelViewMatrix.pushMatrix(i),this.textureMatrix.set(...t.getTexture().getMatrix())},renderShadowMap(t){},setGlobalVariables(t){const e=this.lightNode,i=t.getCameraSpaceMatrix().get(),r=this.modelMatrix.assign(this.modelViewMatrix.get()).multRight(i),n=this.invTextureSpaceMatrix.assign(this.global?r:M().Identity);this.rotation.setFromToVec(_().zAxis,this.direction.assign(e.getDirection()).negate()),e.straightenHorizon(this.rotation),n.translate(e.getLocation()),n.rotate(this.rotation),n.inverse();const o=e.getTexture().getWidth()/e.getTexture().getHeight(),a=e.getMinimumX(),s=e.getMaximumX(),u=e.getMinimumY(),h=e.getMaximumY(),c=e.getSizeX(),l=e.getSizeY(),x=e.getNearDistance(),p=e.getFarDistance();if(o>c/l){const t=(a+s)/2,e=l*o/2;b().ortho(t-e,t+e,u,h,x,p,this.projectionMatrix)}else{const t=(u+h)/2,e=c/o/2;b().ortho(a,s,t-e,t+e,x,p,this.projectionMatrix)}this.global||n.multLeft(r.inverse()),this.invTextureSpaceProjectionMatrix.assign(n).multRight(this.projectionMatrix).multRight(e.getBiasMatrix()),this.matrix.assign(i).multRight(this.invTextureSpaceProjectionMatrix).multRight(this.textureMatrix),this.matrixArray.set(this.matrix),this.modelViewMatrix.get().multVecMatrix(this.location.assign(e._location.getValue())),this.locationArray.set(this.location)},setShaderUniforms(t,e,i){const r=e.numTextureProjectors++,n=this.lightNode,o=n.getTexture(),a=this.global?this.textureUnit=this.textureUnit??this.browser.popTexture2DUnit():this.browser.getTexture2DUnit();if(t.activeTexture(t.TEXTURE0+a),t.bindTexture(t.TEXTURE_2D,o.getTexture()),t.uniform1i(e.x3d_TextureProjectorTexture[r],a),e.hasTextureProjector(r,this))return;const s=n.getNearParameter(),u=n.getFarParameter();t.uniform3f(e.x3d_TextureProjectorColor[r],...n.getColor()),t.uniform1f(e.x3d_TextureProjectorIntensity[r],n.getIntensity()),t.uniform3fv(e.x3d_TextureProjectorLocation[r],this.locationArray),t.uniform3f(e.x3d_TextureProjectorParams[r],s,u,o.isLinear()),t.uniformMatrix4fv(e.x3d_TextureProjectorMatrix[r],!1,this.matrixArray)},dispose(){this.browser.pushTexture2DUnit(this.textureUnit),this.modelViewMatrix.clear(),this.textureUnit=void 0,Y.push(this)}}),Object.assign(Object.setPrototypeOf(L.prototype,D.prototype),{initialize(){D.prototype.initialize.call(this),this._fieldOfView.addInterest("set_fieldOfView___",this),this.set_fieldOfView___()},set_fieldOfView___(){const t=this._fieldOfView.length;this.minimumX=t>0?this._fieldOfView[0]:-1,this.minimumY=t>1?this._fieldOfView[1]:-1,this.maximumX=t>2?this._fieldOfView[2]:1,this.maximumY=t>3?this._fieldOfView[3]:1,this.sizeX=this.maximumX-this.minimumX,this.sizeY=this.maximumY-this.minimumY},getMinimumX(){return this.minimumX},getMinimumY(){return this.minimumY},getMaximumX(){return this.maximumX},getMaximumY(){return this.maximumY},getSizeX(){return this.sizeX},getSizeY(){return this.sizeY},getLights:()=>Y}),Object.defineProperties(L,{...l().getStaticProperties("TextureProjectorParallel","TextureProjection",2,"children","4.0"),fieldDefinitions:{value:new(h())([new(s())(g().inputOutput,"metadata",new(o().SFNode)),new(s())(g().inputOutput,"description",new(o().SFString)),new(s())(g().inputOutput,"global",new(o().SFBool)(!0)),new(s())(g().inputOutput,"on",new(o().SFBool)(!0)),new(s())(g().inputOutput,"color",new(o().SFColor)(1,1,1)),new(s())(g().inputOutput,"intensity",new(o().SFFloat)(1)),new(s())(g().inputOutput,"ambientIntensity",new(o().SFFloat)),new(s())(g().inputOutput,"location",new(o().SFVec3f)),new(s())(g().inputOutput,"direction",new(o().SFVec3f)(0,0,1)),new(s())(g().inputOutput,"upVector",new(o().SFVec3f)(0,0,1)),new(s())(g().inputOutput,"fieldOfView",new(o().MFFloat)(-1,-1,1,1)),new(s())(g().inputOutput,"nearDistance",new(o().SFFloat)(-1)),new(s())(g().inputOutput,"farDistance",new(o().SFFloat)(-1)),new(s())(g().outputOnly,"aspectRatio",new(o().SFFloat)),new(s())(g().inputOutput,"texture",new(o().SFNode)),new(s())(g().inputOutput,"shadows",new(o().SFBool)),new(s())(g().inputOutput,"shadowColor",new(o().SFColor)),new(s())(g().inputOutput,"shadowIntensity",new(o().SFFloat)(1)),new(s())(g().inputOutput,"shadowBias",new(o().SFFloat)(.005)),new(s())(g().initializeOnly,"shadowMapSize",new(o().SFInt32)(1024))]),enumerable:!0}});const E=L,H=P().add("TextureProjectorParallel",E);r().add({name:"TextureProjection",concreteNodes:[C,H],abstractNodes:[D]});P().add("TextureProjectionComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const t=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var e={n:t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return e.d(i,{a:i}),i},d:(t,i)=>{for(var r in i)e.o(i,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:i[r]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)};const i=t.Components;var r=e.n(i);const n=t.Fields;var o=e.n(n);const a=t.X3DFieldDefinition;var s=e.n(a);const u=t.FieldDefinitionArray;var h=e.n(u);const c=t.X3DNode;var l=e.n(c);const x=t.X3DLightNode;var p=e.n(x);const w=t.X3DConstants;var g=e.n(w);const d=t.X3DCast;var m=e.n(d);const f=t.Vector3;var _=e.n(f);const T=t.Rotation4;var O=e.n(T);const F=t.Matrix4;var M=e.n(F);const S=t.Namespace;var P=e.n(S);function j(t){p().call(this,t),this.addType(g().X3DTextureProjectorNode),this._location.setUnit("length"),this._farDistance.setUnit("length"),this._location.setUnit("length")}Object.assign(Object.setPrototypeOf(j.prototype,p().prototype),{initialize(){p().prototype.initialize.call(this),this._nearDistance.addInterest("set_nearDistance__",this),this._farDistance.addInterest("set_farDistance__",this),this._texture.addInterest("set_texture__",this),this.set_nearDistance__(),this.set_farDistance__(),this.set_texture__()},getLightKey:()=>3,getGlobal(){return this._global.getValue()},getLocation(){return this._location.getValue()},getDirection(){return this._direction.getValue()},getNearDistance(){return this.nearDistance},getNearParameter(){return this.nearParameter},getFarDistance(){return this.farDistance},getFarParameter(){return this.farParameter},getTexture(){return this.textureNode},getBiasMatrix:(()=>{const t=new(M())(.5,0,0,0,0,.5,0,0,0,0,.5,0,.5,.5,.5,1);return function(){return t}})(),straightenHorizon(t){return t.straighten(this._upVector.getValue())},set_nearDistance__(){const t=this._nearDistance.getValue();this.nearDistance=t<0?.125:t,this.nearParameter=t<0?0:-1},set_farDistance__(){const t=this._farDistance.getValue();this.farDistance=t<0?1e5:t,this.farParameter=t<0?1:2},set_texture__(){this.textureNode?.removeInterest("set_aspectRatio__",this),this.textureNode=m()(g().X3DTexture2DNode,this._texture),this.textureNode?.addInterest("set_aspectRatio__",this),this.setEnabled(!!this.textureNode),this.set_aspectRatio__(),this.set_on__()},set_aspectRatio__(){this.textureNode?this._aspectRatio=this.textureNode.getWidth()/this.textureNode.getHeight():this._aspectRatio=1}}),Object.defineProperties(j,l().getStaticProperties("X3DTextureProjectorNode","TextureProjection",4));const y=j,D=P().add("X3DTextureProjectorNode",y),V=t.Camera;var b=e.n(V);const v=t.MatrixStack;var N=e.n(v);const X=t.ObjectCache;var U=e.n(X);const z=U()(R);function R(){this.projectionMatrix=new(M()),this.modelViewMatrix=new(N())(M()),this.modelMatrix=new(M()),this.invTextureSpaceMatrix=new(M()),this.invTextureSpaceProjectionMatrix=new(M()),this.location=new(_()),this.locationArray=new Float32Array(3),this.direction=new(_()),this.rotation=new(O()),this.matrix=new(M()),this.matrixArray=new Float32Array(16),this.textureMatrix=new(M())}function I(t){D.call(this,t),this.addType(g().TextureProjector),this._fieldOfView.setUnit("angle")}Object.assign(R.prototype,{set(t,e,i){this.browser=t.getBrowser(),this.lightNode=t,this.global=t.getGlobal(),this.modelViewMatrix.pushMatrix(i),this.textureMatrix.set(...t.getTexture().getMatrix())},renderShadowMap(t){},setGlobalVariables(t){const e=this.lightNode,i=t.getCameraSpaceMatrix().get(),r=this.modelMatrix.assign(this.modelViewMatrix.get()).multRight(i),n=this.invTextureSpaceMatrix.assign(this.global?r:M().Identity);this.rotation.setFromToVec(_().zAxis,this.direction.assign(e.getDirection()).negate()),e.straightenHorizon(this.rotation),n.translate(e.getLocation()),n.rotate(this.rotation),n.inverse();const o=e.getTexture().getWidth(),a=e.getTexture().getHeight(),s=e.getNearDistance(),u=e.getFarDistance(),h=e.getFieldOfView();b().perspective(h,s,u,o,a,this.projectionMatrix),this.global||n.multLeft(r.inverse()),this.invTextureSpaceProjectionMatrix.assign(n).multRight(this.projectionMatrix).multRight(e.getBiasMatrix()),this.matrix.assign(i).multRight(this.invTextureSpaceProjectionMatrix).multRight(this.textureMatrix),this.matrixArray.set(this.matrix),this.modelViewMatrix.get().multVecMatrix(this.location.assign(e._location.getValue())),this.locationArray.set(this.location)},setShaderUniforms(t,e,i){const r=e.numTextureProjectors++,n=this.lightNode,o=n.getTexture(),a=this.global?this.textureUnit=this.textureUnit??this.browser.popTexture2DUnit():this.browser.getTexture2DUnit();if(t.activeTexture(t.TEXTURE0+a),t.bindTexture(t.TEXTURE_2D,o.getTexture()),t.uniform1i(e.x3d_TextureProjectorTexture[r],a),e.hasTextureProjector(r,this))return;const s=n.getNearParameter(),u=n.getFarParameter();t.uniform3f(e.x3d_TextureProjectorColor[r],...n.getColor()),t.uniform1f(e.x3d_TextureProjectorIntensity[r],n.getIntensity()),t.uniform3fv(e.x3d_TextureProjectorLocation[r],this.locationArray),t.uniform3f(e.x3d_TextureProjectorParams[r],s,u,o.isLinear()),t.uniformMatrix4fv(e.x3d_TextureProjectorMatrix[r],!1,this.matrixArray)},dispose(){this.browser.pushTexture2DUnit(this.textureUnit),this.modelViewMatrix.clear(),this.textureUnit=void 0,z.push(this)}}),Object.assign(Object.setPrototypeOf(I.prototype,D.prototype),{initialize(){D.prototype.initialize.call(this)},getFieldOfView(){const t=this._fieldOfView.getValue();return t>0&&tz}),Object.defineProperties(I,{...l().getStaticProperties("TextureProjector","TextureProjection",2,"children","4.0"),fieldDefinitions:{value:new(h())([new(s())(g().inputOutput,"metadata",new(o().SFNode)),new(s())(g().inputOutput,"description",new(o().SFString)),new(s())(g().inputOutput,"global",new(o().SFBool)(!0)),new(s())(g().inputOutput,"on",new(o().SFBool)(!0)),new(s())(g().inputOutput,"color",new(o().SFColor)(1,1,1)),new(s())(g().inputOutput,"intensity",new(o().SFFloat)(1)),new(s())(g().inputOutput,"ambientIntensity",new(o().SFFloat)),new(s())(g().inputOutput,"location",new(o().SFVec3f)),new(s())(g().inputOutput,"direction",new(o().SFVec3f)(0,0,1)),new(s())(g().inputOutput,"upVector",new(o().SFVec3f)(0,0,1)),new(s())(g().inputOutput,"fieldOfView",new(o().SFFloat)(.785398)),new(s())(g().inputOutput,"nearDistance",new(o().SFFloat)(-1)),new(s())(g().inputOutput,"farDistance",new(o().SFFloat)(-1)),new(s())(g().outputOnly,"aspectRatio",new(o().SFFloat)),new(s())(g().inputOutput,"texture",new(o().SFNode)),new(s())(g().inputOutput,"shadows",new(o().SFBool)),new(s())(g().inputOutput,"shadowColor",new(o().SFColor)),new(s())(g().inputOutput,"shadowIntensity",new(o().SFFloat)(1)),new(s())(g().inputOutput,"shadowBias",new(o().SFFloat)(.005)),new(s())(g().initializeOnly,"shadowMapSize",new(o().SFInt32)(1024))]),enumerable:!0}});const A=I,C=P().add("TextureProjector",A),Y=U()(B);function B(){this.projectionMatrix=new(M()),this.modelViewMatrix=new(N())(M()),this.modelMatrix=new(M()),this.invTextureSpaceMatrix=new(M()),this.location=new(_()),this.locationArray=new Float32Array(3),this.invTextureSpaceProjectionMatrix=new(M()),this.direction=new(_()),this.rotation=new(O()),this.matrix=new(M()),this.matrixArray=new Float32Array(16),this.textureMatrix=new(M())}function L(t){D.call(this,t),this.addType(g().TextureProjectorParallel),this._fieldOfView.setUnit("length")}Object.assign(B.prototype,{set(t,e,i){this.browser=t.getBrowser(),this.lightNode=t,this.global=t.getGlobal(),this.modelViewMatrix.pushMatrix(i),this.textureMatrix.set(...t.getTexture().getMatrix())},renderShadowMap(t){},setGlobalVariables(t){const e=this.lightNode,i=t.getCameraSpaceMatrix().get(),r=this.modelMatrix.assign(this.modelViewMatrix.get()).multRight(i),n=this.invTextureSpaceMatrix.assign(this.global?r:M().Identity);this.rotation.setFromToVec(_().zAxis,this.direction.assign(e.getDirection()).negate()),e.straightenHorizon(this.rotation),n.translate(e.getLocation()),n.rotate(this.rotation),n.inverse();const o=e.getTexture().getWidth()/e.getTexture().getHeight(),a=e.getMinimumX(),s=e.getMaximumX(),u=e.getMinimumY(),h=e.getMaximumY(),c=e.getSizeX(),l=e.getSizeY(),x=e.getNearDistance(),p=e.getFarDistance();if(o>c/l){const t=(a+s)/2,e=l*o/2;b().ortho(t-e,t+e,u,h,x,p,this.projectionMatrix)}else{const t=(u+h)/2,e=c/o/2;b().ortho(a,s,t-e,t+e,x,p,this.projectionMatrix)}this.global||n.multLeft(r.inverse()),this.invTextureSpaceProjectionMatrix.assign(n).multRight(this.projectionMatrix).multRight(e.getBiasMatrix()),this.matrix.assign(i).multRight(this.invTextureSpaceProjectionMatrix).multRight(this.textureMatrix),this.matrixArray.set(this.matrix),this.modelViewMatrix.get().multVecMatrix(this.location.assign(e._location.getValue())),this.locationArray.set(this.location)},setShaderUniforms(t,e,i){const r=e.numTextureProjectors++,n=this.lightNode,o=n.getTexture(),a=this.global?this.textureUnit=this.textureUnit??this.browser.popTexture2DUnit():this.browser.getTexture2DUnit();if(t.activeTexture(t.TEXTURE0+a),t.bindTexture(t.TEXTURE_2D,o.getTexture()),t.uniform1i(e.x3d_TextureProjectorTexture[r],a),e.hasTextureProjector(r,this))return;const s=n.getNearParameter(),u=n.getFarParameter();t.uniform3f(e.x3d_TextureProjectorColor[r],...n.getColor()),t.uniform1f(e.x3d_TextureProjectorIntensity[r],n.getIntensity()),t.uniform3fv(e.x3d_TextureProjectorLocation[r],this.locationArray),t.uniform3f(e.x3d_TextureProjectorParams[r],s,u,o.isLinear()),t.uniformMatrix4fv(e.x3d_TextureProjectorMatrix[r],!1,this.matrixArray)},dispose(){this.browser.pushTexture2DUnit(this.textureUnit),this.modelViewMatrix.clear(),this.textureUnit=void 0,Y.push(this)}}),Object.assign(Object.setPrototypeOf(L.prototype,D.prototype),{initialize(){D.prototype.initialize.call(this),this._fieldOfView.addInterest("set_fieldOfView___",this),this.set_fieldOfView___()},set_fieldOfView___(){const t=this._fieldOfView.length;this.minimumX=t>0?this._fieldOfView[0]:-1,this.minimumY=t>1?this._fieldOfView[1]:-1,this.maximumX=t>2?this._fieldOfView[2]:1,this.maximumY=t>3?this._fieldOfView[3]:1,this.sizeX=this.maximumX-this.minimumX,this.sizeY=this.maximumY-this.minimumY},getMinimumX(){return this.minimumX},getMinimumY(){return this.minimumY},getMaximumX(){return this.maximumX},getMaximumY(){return this.maximumY},getSizeX(){return this.sizeX},getSizeY(){return this.sizeY},getLights:()=>Y}),Object.defineProperties(L,{...l().getStaticProperties("TextureProjectorParallel","TextureProjection",2,"children","4.0"),fieldDefinitions:{value:new(h())([new(s())(g().inputOutput,"metadata",new(o().SFNode)),new(s())(g().inputOutput,"description",new(o().SFString)),new(s())(g().inputOutput,"global",new(o().SFBool)(!0)),new(s())(g().inputOutput,"on",new(o().SFBool)(!0)),new(s())(g().inputOutput,"color",new(o().SFColor)(1,1,1)),new(s())(g().inputOutput,"intensity",new(o().SFFloat)(1)),new(s())(g().inputOutput,"ambientIntensity",new(o().SFFloat)),new(s())(g().inputOutput,"location",new(o().SFVec3f)),new(s())(g().inputOutput,"direction",new(o().SFVec3f)(0,0,1)),new(s())(g().inputOutput,"upVector",new(o().SFVec3f)(0,0,1)),new(s())(g().inputOutput,"fieldOfView",new(o().MFFloat)(-1,-1,1,1)),new(s())(g().inputOutput,"nearDistance",new(o().SFFloat)(-1)),new(s())(g().inputOutput,"farDistance",new(o().SFFloat)(-1)),new(s())(g().outputOnly,"aspectRatio",new(o().SFFloat)),new(s())(g().inputOutput,"texture",new(o().SFNode)),new(s())(g().inputOutput,"shadows",new(o().SFBool)),new(s())(g().inputOutput,"shadowColor",new(o().SFColor)),new(s())(g().inputOutput,"shadowIntensity",new(o().SFFloat)(1)),new(s())(g().inputOutput,"shadowBias",new(o().SFFloat)(.005)),new(s())(g().initializeOnly,"shadowMapSize",new(o().SFInt32)(1024))]),enumerable:!0}});const E=L,H=P().add("TextureProjectorParallel",E);r().add({name:"TextureProjection",concreteNodes:[C,H],abstractNodes:[D]});P().add("TextureProjectionComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/Texturing3DComponent.js b/dist/assets/components/Texturing3DComponent.js index 5fe22511cb..8bc3ee25ca 100644 --- a/dist/assets/components/Texturing3DComponent.js +++ b/dist/assets/components/Texturing3DComponent.js @@ -1,9 +1,9 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ -/***/ 443: +/***/ 881: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var __dirname = "/"; @@ -40,7 +40,7 @@ var Ib=[cx,_q,cr,Yr,as,fs,hs,Hu,Su,cx,cx,cx,cx,cx,cx,cx];var Jb=[dx,si,gi,Wh,Kh, /***/ }), -/***/ 237: +/***/ 515: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var __dirname = "/"; @@ -74,7 +74,7 @@ var _a=[yj,od,ef,yj];var $a=[zj,Li,di,bi,Kb,Lb,Mb,Nb,Rc,Sc,Uc,jd,xd,Ye,lf,yd,zd, /***/ }), -/***/ 481: +/***/ 979: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { /*! dicom-parser - 1.8.12 - 2023-02-20 | (c) 2017 Chris Hafey | https://github.com/cornerstonejs/dicomParser */ @@ -4030,7 +4030,7 @@ module.exports = __WEBPACK_EXTERNAL_MODULE_zlib__; /***/ }), -/***/ 109: +/***/ 475: /***/ ((module) => { /* -*- tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- / @@ -7314,10 +7314,10 @@ var Decoder = class _Decoder { //# ;// CONCATENATED MODULE: ./src/x_ite/Browser/Texturing3D/DICOMParser.js -/* provided dependency */ var dicomParser = __webpack_require__(481); -/* provided dependency */ var JpegImage = __webpack_require__(109); -/* provided dependency */ var CharLS = __webpack_require__(443); -/* provided dependency */ var OpenJPEG = __webpack_require__(237); +/* provided dependency */ var dicomParser = __webpack_require__(979); +/* provided dependency */ var JpegImage = __webpack_require__(475); +/* provided dependency */ var CharLS = __webpack_require__(881); +/* provided dependency */ var OpenJPEG = __webpack_require__(515); /******************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. diff --git a/dist/assets/components/Texturing3DComponent.min.js b/dist/assets/components/Texturing3DComponent.min.js index b016a9b028..55a990a93a 100644 --- a/dist/assets/components/Texturing3DComponent.min.js +++ b/dist/assets/components/Texturing3DComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var __webpack_modules__={443:(module,__unused_webpack_exports,__webpack_require__)=>{var __dirname="/";module.exports=function(Module){var Module;Module=Module||{},Module||(Module=(void 0!==CharLS?CharLS:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&!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=function(e){process.stdout.write(e+"\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\n")});var nodeFS=__webpack_require__(497),nodePath=__webpack_require__(13);Module.read=function(e,i){e=nodePath.normalize(e);var r=nodeFS.readFileSync(e);return r||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),r=nodeFS.readFileSync(e)),r&&!i&&(r=r.toString()),r},Module.readBinary=function(e){var i=Module.read(e,!0);return i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},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),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 (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var i=read(e,"binary");return assert("object"==typeof i),i},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var i=new XMLHttpRequest;return i.open("GET",e,!1),i.send(null),i.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(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),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(var key in!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.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=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":case"float":return 4;case"i64":case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var i=parseInt(e.substr(1));return assert(i%8==0),i/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,i){return"double"===i||"i64"===i?7&e&&(assert(4==(7&e)),e+=4):assert(!(3&e)),e},getAlignSize:function(e,i,r){return r||"i64"!=e&&"double"!=e?e?Math.min(i||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(i,8):8},dynCall:function(e,i,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,i),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,i)},functionPointers:[],addFunction:function(e){for(var i=0;i=TOTAL_MEMORY&&!enlargeMemory())return DYNAMICTOP=i,0;return i},alignMemory:function(e,i){return e=Math.ceil(e/(i||16))*(i||16)},makeBigInt:function(e,i,r){return r?+(e>>>0)+4294967296*+(i>>>0):+(e>>>0)+4294967296*+(0|i)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,i){e||abort("Assertion failed: "+i)}var globalScope=this,cwrap,ccall;function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,i,r,t){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":HEAP8[e|0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,i,r){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":return HEAP8[e|0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+i)}return null}(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var i=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;return null!=e&&0!==e&&writeStringToMemory(e,i=Runtime.stackAlloc(1+(e.length<<2))),i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,i,r,t,n){var f=getCFunc(e),a=[],l=0;if(t)for(var s=0;s>2]=0;for(s=a+f;t0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(i,l))),f=f?f+a:a,e+=l,i-=l;return f}return Module.UTF8ToString(e)}function AsciiToString(e){for(var i="";;){var r=HEAP8[e++|0];if(!r)return i;i+=String.fromCharCode(r)}}function stringToAscii(e,i){return writeAsciiToMemory(e,i,!1)}function UTF8ArrayToString(e,i){for(var r,t,n,f,a,l="";;){if(!(r=e[i++]))return l;if(128&r)if(t=63&e[i++],192!=(224&r))if(n=63&e[i++],224==(240&r)?r=(15&r)<<12|t<<6|n:(f=63&e[i++],240==(248&r)?r=(7&r)<<18|t<<12|n<<6|f:(a=63&e[i++],r=248==(252&r)?(3&r)<<24|t<<18|n<<12|f<<6|a:(1&r)<<30|t<<24|n<<18|f<<12|a<<6|63&e[i++])),r<65536)l+=String.fromCharCode(r);else{var s=r-65536;l+=String.fromCharCode(55296|s>>10,56320|1023&s)}else l+=String.fromCharCode((31&r)<<6|t);else l+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,r,t){if(!(t>0))return 0;for(var n=r,f=r+t-1,a=0;a=55296&&l<=57343&&(l=65536+((1023&l)<<10)|1023&e.charCodeAt(++a)),l<=127){if(r>=f)break;i[r++]=l}else if(l<=2047){if(r+1>=f)break;i[r++]=192|l>>6,i[r++]=128|63&l}else if(l<=65535){if(r+2>=f)break;i[r++]=224|l>>12,i[r++]=128|l>>6&63,i[r++]=128|63&l}else if(l<=2097151){if(r+3>=f)break;i[r++]=240|l>>18,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}else if(l<=67108863){if(r+4>=f)break;i[r++]=248|l>>24,i[r++]=128|l>>18&63,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}else{if(r+5>=f)break;i[r++]=252|l>>30,i[r++]=128|l>>24&63,i[r++]=128|l>>18&63,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}}return i[r]=0,r-n}function stringToUTF8(e,i,r){return stringToUTF8Array(e,HEAPU8,i,r)}function lengthBytesUTF8(e){for(var i=0,r=0;r=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++r)),t<=127?++i:i+=t<=2047?2:t<=65535?3:t<=2097151?4:t<=67108863?5:6}return i}function UTF16ToString(e){for(var i=0,r="";;){var t=HEAP16[e+2*i>>1];if(0==t)return r;++i,r+=String.fromCharCode(t)}}function stringToUTF16(e,i,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var t=i,n=(r-=2)<2*e.length?r/2:e.length,f=0;f>1]=a,i+=2}return HEAP16[i>>1]=0,i-t}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var i=0,r="";;){var t=HEAP32[e+4*i>>2];if(0==t)return r;if(++i,t>=65536){var n=t-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(t)}}function stringToUTF32(e,i,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var t=i,n=t+r-4,f=0;f=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f);if(HEAP32[i>>2]=a,(i+=4)+4>n)break}return HEAP32[i>>2]=0,i-t}function lengthBytesUTF32(e){for(var i=0,r=0;r=55296&&t<=57343&&++r,i+=4}return i}function demangle(e){var i=!!Module.___cxa_demangle;if(i)try{var r=_malloc(e.length);writeStringToMemory(e.substr(1),r);var t=_malloc(4),n=Module.___cxa_demangle(r,0,0,t);if(0===getValue(t,"i32")&&n)return Pointer_stringify(n)}catch(e){}finally{r&&_free(r),t&&_free(t),n&&_free(n)}var f=3,a={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},l=[],s=!0;var o=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}o=function i(r,t,n){t=t||1/0;var o,u="",c=[];if("N"===e[f]){if(o=function(){f++,"K"===e[f]&&f++;for(var i=[];"E"!==e[f];)if("S"!==e[f])if("C"!==e[f]){var r=parseInt(e.substr(f)),t=r.toString().length;if(!r||!t){f--;break}var n=e.substr(f+t,r);i.push(n),l.push(n),f+=t+r}else i.push(i[i.length-1]),f+=2;else{f++;var a=e.indexOf("_",f),s=e.substring(f,a)||0;i.push(l[s]||"?"),f=a+1}return f++,i}().join("::"),0==--t)return r?[o]:o}else if(("K"===e[f]||s&&"L"===e[f])&&f++,k=parseInt(e.substr(f))){var d=k.toString().length;o=e.substr(f+d,k),f+=d+k}if(s=!1,"I"===e[f]){f++;var h=i(!0);u+=i(!0,1,!0)[0]+" "+o+"<"+h.join(", ")+">"}else u=o;e:for(;f0;){var b=e[f++];if(b in a)c.push(a[b]);else switch(b){case"P":c.push(i(!0,1,!0)[0]+"*");break;case"R":c.push(i(!0,1,!0)[0]+"&");break;case"L":f++;var k=e.indexOf("E",f)-f;c.push(e.substr(f,k)),f+=k+2;break;case"A":if(k=parseInt(e.substr(f)),f+=k.toString().length,"_"!==e[f])throw"?";f++,c.push(i(!0,1,!0)[0]+" ["+k+"]");break;case"E":break e;default:u+="?"+b;break e}}return n||1!==c.length||"void"!==c[0]||(c=[]),r?(u&&c.push(u+"?"),c):u+"("+c.join(", ")+")"}()}catch(e){o+="?"}return o.indexOf("?")>=0&&!i&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),o}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,(function(e){var i=demangle(e);return e===i?e:e+" ["+i+"]"}))}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(i){e=i}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}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,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}var STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0,byteLength;function enlargeMemory(){var e=Math.pow(2,31);if(DYNAMICTOP>=e)return!1;for(;TOTAL_MEMORY<=DYNAMICTOP;)if(TOTAL_MEMORY=e)return!1;try{if(ArrayBuffer.transfer)buffer=ArrayBuffer.transfer(buffer,TOTAL_MEMORY);else{var r=HEAP8;buffer=new ArrayBuffer(TOTAL_MEMORY)}}catch(e){return!1}return!!_emscripten_replace_memory(buffer)&&(Module.buffer=buffer,Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer),ArrayBuffer.transfer||HEAP8.set(r),!0)}try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),byteLength(new ArrayBuffer(4))}catch(e){byteLength=function(e){return e.byteLength}}for(var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||16777216,totalMemory=65536,buffer;totalMemory0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[i.arg]):r(void 0===i.arg?null:i.arg)}else i()}}totalMemory=Math.max(totalMemory,16777216),totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support"),buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,i,r){var t=r>0?r:lengthBytesUTF8(e)+1,n=new Array(t),f=stringToUTF8Array(e,n,0,n.length);return i&&(n.length=f),n}function intArrayToString(e){for(var i=[],r=0;r255&&(t&=255),i.push(String.fromCharCode(t))}return i.join("")}function writeStringToMemory(e,i,r){for(var t=intArrayFromString(e,r),n=0;n=0?e:i<=32?2*Math.abs(1<=t&&(i<=32||e>t)&&(e=-2*t+e),e}Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,i){var r=65535&e,t=65535&i;return r*t+((e>>>16)*t+r*(i>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var i=0;i<32;i++)if(e&1<<31-i)return i;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+59744,__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_jpegls_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}}),allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+35640),allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39844),allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+42396),allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+52636),allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}function _atexit(e,i){__ATEXIT__.unshift({func:e,arg:i})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function ___assert_fail(e,i,r,t){throw ABORT=!0,"Assertion failed: "+Pointer_stringify(e)+", at: "+[i?Pointer_stringify(i):"unknown filename",r,t?Pointer_stringify(t):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}assert(tempDoublePtr%8==0),Module._i64Subtract=_i64Subtract;var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(e){if(!e||EXCEPTIONS.infos[e])return e;for(var i in EXCEPTIONS.infos){if(EXCEPTIONS.infos[i].adjusted===e)return i}return e},addRef:function(e){e&&EXCEPTIONS.infos[e].refcount++},decRef:function(e){if(e){var i=EXCEPTIONS.infos[e];assert(i.refcount>0),i.refcount--,0===i.refcount&&(i.destructor&&Runtime.dynCall("vi",i.destructor,[e]),delete EXCEPTIONS.infos[e],___cxa_free_exception(e))}},clearRef:function(e){e&&(EXCEPTIONS.infos[e].refcount=0)}};function ___resumeException(e){throw EXCEPTIONS.last||(EXCEPTIONS.last=e),EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(e)),e}function ___cxa_find_matching_catch(){var e=EXCEPTIONS.last;if(!e)return 0|(asm.setTempRet0(0),0);var i=EXCEPTIONS.infos[e],r=i.type;if(!r)return 0|(asm.setTempRet0(0),e);var t=Array.prototype.slice.call(arguments);Module.___cxa_is_pointer_type(r);___cxa_find_matching_catch.buffer||(___cxa_find_matching_catch.buffer=_malloc(4)),HEAP32[___cxa_find_matching_catch.buffer>>2]=e,e=___cxa_find_matching_catch.buffer;for(var n=0;n>2],i.adjusted=e,0|(asm.setTempRet0(t[n]),e);return e=HEAP32[e>>2],0|(asm.setTempRet0(r),e)}function ___cxa_throw(e,i,r){throw EXCEPTIONS.infos[e]={ptr:e,adjusted:e,type:i,destructor:r,refcount:0},EXCEPTIONS.last=e,"uncaught_exception"in __ZSt18uncaught_exceptionv?__ZSt18uncaught_exceptionv.uncaught_exception++:__ZSt18uncaught_exceptionv.uncaught_exception=1,e}Module._memset=_memset;var _BDtoILow=!0,_emscripten_resume=!0;function ___gxx_personality_v0(){}var _emscripten_landingpad=!0;function __isLeapYear(e){return e%4==0&&(e%100!=0||e%400==0)}function __arraySum(e,i){for(var r=0,t=0;t<=i;r+=e[t++]);return r}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],__MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(e,i){for(var r=new Date(e.getTime());i>0;){var t=__isLeapYear(r.getFullYear()),n=r.getMonth(),f=(t?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[n];if(!(i>f-r.getDate()))return r.setDate(r.getDate()+i),r;i-=f-r.getDate()+1,r.setDate(1),n<11?r.setMonth(n+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function _strftime(e,i,r,t){var n=HEAP32[t+40>>2],f={tm_sec:HEAP32[t>>2],tm_min:HEAP32[t+4>>2],tm_hour:HEAP32[t+8>>2],tm_mday:HEAP32[t+12>>2],tm_mon:HEAP32[t+16>>2],tm_year:HEAP32[t+20>>2],tm_wday:HEAP32[t+24>>2],tm_yday:HEAP32[t+28>>2],tm_isdst:HEAP32[t+32>>2],tm_gmtoff:HEAP32[t+36>>2],tm_zone:n?Pointer_stringify(n):""},a=Pointer_stringify(r),l={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var s in l)a=a.replace(new RegExp(s,"g"),l[s]);var o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["January","February","March","April","May","June","July","August","September","October","November","December"];function c(e,i,r){for(var t="number"==typeof e?e.toString():e||"";t.length0?1:0}var t;return 0===(t=r(e.getFullYear()-i.getFullYear()))&&0===(t=r(e.getMonth()-i.getMonth()))&&(t=r(e.getDate()-i.getDate())),t}function b(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function k(e){var i=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(i.getFullYear(),0,4),t=new Date(i.getFullYear()+1,0,4),n=b(r),f=b(t);return h(n,i)<=0?h(f,i)<=0?i.getFullYear()+1:i.getFullYear():i.getFullYear()-1}var w={"%a":function(e){return o[e.tm_wday].substring(0,3)},"%A":function(e){return o[e.tm_wday]},"%b":function(e){return u[e.tm_mon].substring(0,3)},"%B":function(e){return u[e.tm_mon]},"%C":function(e){return d((e.tm_year+1900)/100|0,2)},"%d":function(e){return d(e.tm_mday,2)},"%e":function(e){return c(e.tm_mday,2," ")},"%g":function(e){return k(e).toString().substring(2)},"%G":function(e){return k(e)},"%H":function(e){return d(e.tm_hour,2)},"%I":function(e){return d(e.tm_hour<13?e.tm_hour:e.tm_hour-12,2)},"%j":function(e){return d(e.tm_mday+__arraySum(__isLeapYear(e.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,e.tm_mon-1),3)},"%m":function(e){return d(e.tm_mon+1,2)},"%M":function(e){return d(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>0&&e.tm_hour<13?"AM":"PM"},"%S":function(e){return d(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return new Date(e.tm_year+1900,e.tm_mon+1,e.tm_mday,0,0,0,0).getDay()||7},"%U":function(e){var i=new Date(e.tm_year+1900,0,1),r=0===i.getDay()?i:__addDays(i,7-i.getDay()),t=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(h(r,t)<0){var n=__arraySum(__isLeapYear(t.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,t.getMonth()-1)-31,f=31-r.getDate()+n+t.getDate();return d(Math.ceil(f/7),2)}return 0===h(r,i)?"01":"00"},"%V":function(e){var i,r=new Date(e.tm_year+1900,0,4),t=new Date(e.tm_year+1901,0,4),n=b(r),f=b(t),a=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday);return h(a,n)<0?"53":h(f,a)<=0?"01":(i=n.getFullYear()=0;return i=(i=Math.abs(i)/60)/60*100+i%60,(r?"+":"-")+String("0000"+i).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var s in w)a.indexOf(s)>=0&&(a=a.replace(new RegExp(s,"g"),w[s](f)));var _=intArrayFromString(a,!1);return _.length>i?0:(writeArrayToMemory(_,e),_.length-1)}function _strftime_l(e,i,r,t){return _strftime(e,i,r,t)}function _abort(){Module.abort()}function _free(){}function ___cxa_free_exception(e){try{return _free(e)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown)___cxa_end_catch.rethrown=!1;else{asm.setThrew(0);var e=EXCEPTIONS.caught.pop();e&&(EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(e)),EXCEPTIONS.last=0)}}function _pthread_once(e,i){_pthread_once.seen||(_pthread_once.seen={}),e in _pthread_once.seen||(Runtime.dynCall("v",i),_pthread_once.seen[e]=1)}function ___lock(){}function ___unlock(){}Module._free=_free;var PTHREAD_SPECIFIC={};function _pthread_getspecific(e){return PTHREAD_SPECIFIC[e]||0}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}var _fabs=Math_abs,PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(e,i){return 0==e?ERRNO_CODES.EINVAL:(HEAP32[e>>2]=PTHREAD_SPECIFIC_NEXT_KEY,PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0,PTHREAD_SPECIFIC_NEXT_KEY++,0)}var PATH=void 0;function _emscripten_set_main_loop_timing(e,i){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){setTimeout(Browser.mainLoop.runner,i)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var r=[],t="__emcc";function n(e){e.source===window&&e.data===t&&(e.stopPropagation(),r.shift()())}window.addEventListener("message",n,!0),window.setImmediate=function(e){r.push(e),window.postMessage(t,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(e,i,r,t,n){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=t;var f=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var i=Date.now(),r=Browser.mainLoop.queue.shift();if(r.func(r.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,a=n%1==0?n-1:Math.floor(n);r.counted?Browser.mainLoop.remainingBlockers=a:(a+=.5,Browser.mainLoop.remainingBlockers=(8*n+a)/9)}return console.log('main loop blocker "'+r.name+'" took '+(Date.now()-i)+" ms"),Browser.mainLoop.updateStatus(),void setTimeout(Browser.mainLoop.runner,0)}f1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0?Browser.mainLoop.scheduler():("timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter((function(){void 0!==t?Runtime.dynCall("vi",e,[t]):Runtime.dynCall("v",e)})),f0?_emscripten_set_main_loop_timing(0,1e3/i):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,i=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,i),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",i=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;i?i=6;){var a=t>>n-6&63;n-=6,r+=i[a]}return 2==n?(r+=i[(3&t)<<4],r+="=="):4==n&&(r+=i[(15&t)<<2],r+="="),r}(e),f(o))},o.src=s,Browser.safeSetTimeout((function(){f(o)}),1e4)}};Module.preloadPlugins.push(i);var r=Module.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),Module.elementPointerLock&&r.addEventListener("click",(function(e){!Browser.pointerLock&&r.requestPointerLock&&(r.requestPointerLock(),e.preventDefault())}),!1))}function t(){Browser.pointerLock=document.pointerLockElement===r||document.mozPointerLockElement===r||document.webkitPointerLockElement===r||document.msPointerLockElement===r}},createContext:function(e,i,r,t){if(i&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,f;if(i){var a={antialias:!1,alpha:!1};if(t)for(var l in t)a[l]=t[l];(f=GL.createContext(e,a))&&(n=GL.getContext(f).GLctx),e.style.backgroundColor="black"}else n=e.getContext("2d");return n?(r&&(i||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=n,i&&GL.makeContextCurrent(f),Module.useWebGL=i,Browser.moduleContextCreatedCallbacks.forEach((function(e){e()})),Browser.init()),n):null},destroyContext:function(e,i,r){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,i,r){Browser.lockPointer=e,Browser.resizeCanvas=i,Browser.vrDevice=r,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var t=Module.canvas;function n(){Browser.isFullScreen=!1;var e=t.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},t.cancelFullScreen=t.cancelFullScreen.bind(document),Browser.lockPointer&&t.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen),Browser.updateCanvasDimensions(t)}Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var f=document.createElement("div");t.parentNode.insertBefore(f,t),f.appendChild(t),f.requestFullScreen=f.requestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullScreen?function(){f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?f.requestFullScreen({vrDisplay:r}):f.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var i=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=i+1e3/60;else for(;i+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-i,0);setTimeout(e,r)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,i){return Module.noExitRuntime=!0,setTimeout((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}),i)},safeSetInterval:function(e,i){return Module.noExitRuntime=!0,setInterval((function(){ABORT||Browser.allowAsyncCallbacks&&e()}),i)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var i=0;switch(e.type){case"DOMMouseScroll":i=e.detail;break;case"mousewheel":i=e.wheelDelta;break;case"wheel":i=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return i},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var i=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,t=Module.canvas.height,n=void 0!==window.scrollX?window.scrollX:window.pageXOffset,f=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var a=e.touch;if(void 0===a)return;var l=a.pageX-(n+i.left),s=a.pageY-(f+i.top),o={x:l*=r/i.width,y:s*=t/i.height};if("touchstart"===e.type)Browser.lastTouches[a.identifier]=o,Browser.touches[a.identifier]=o;else if("touchend"===e.type||"touchmove"===e.type){var u=Browser.touches[a.identifier];u||(u=o),Browser.lastTouches[a.identifier]=u,Browser.touches[a.identifier]=o}return}var c=e.pageX-(n+i.left),d=e.pageY-(f+i.top);c*=r/i.width,d*=t/i.height,Browser.mouseMovementX=c-Browser.mouseX,Browser.mouseMovementY=d-Browser.mouseY,Browser.mouseX=c,Browser.mouseY=d}},xhrLoad:function(e,i,r){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?i(t.response):r()},t.onerror=r,t.send(null)},asyncLoad:function(e,i,r,t){Browser.xhrLoad(e,(function(r){assert(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),i(new Uint8Array(r)),t||removeRunDependency("al "+e)}),(function(i){if(!r)throw'Loading data file "'+e+'" failed.';r()})),t||addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach((function(i){i(e.width,e.height)}))},setCanvasSize:function(e,i,r){var t=Module.canvas;Browser.updateCanvasDimensions(t,e,i),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,i,r){i&&r?(e.widthNative=i,e.heightNative=r):(i=e.widthNative,r=e.heightNative);var t=i,n=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(t/n>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),i=SYSCALLS.get();return assert(e>=0?0===i:-1===i),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall54(e,i){SYSCALLS.varargs=i;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___cxa_pure_virtual(){throw ABORT=!0,"Pure virtual function called!"}Module._i64Add=_i64Add,Module._bitshift64Lshr=_bitshift64Lshr;var _BDtoIHigh=!0;function _pthread_cleanup_push(e,i){__ATEXIT__.push((function(){Runtime.dynCall("vi",e,[i])})),_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(e){return HEAP8[e|0]?0:(HEAP8[e|0]=1,1)}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(e){return __ZSt18uncaught_exceptionv.uncaught_exception--,EXCEPTIONS.caught.push(e),EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(e)),e}function _llvm_eh_typeid_for(e){return e}function _emscripten_memcpy_big(e,i,r){return HEAPU8.set(HEAPU8.subarray(i,i+r),e),e}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _pthread_mutex_lock(){}Module._memcpy=_memcpy;var _emscripten_postinvoke=!0;function _sbrk(e){var i=_sbrk;i.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),i.called=!0,assert(Runtime.dynamicAlloc),i.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e&&!i.alloc(e))return-1>>>0;return r}function ___cxa_guard_abort(){}Module._bitshift64Shl=_bitshift64Shl,Module._memmove=_memmove;var _emscripten_preinvoke=!0,_BItoD=!0;function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=!0;var e=EXCEPTIONS.caught.pop();throw EXCEPTIONS.last=e,e}function _pthread_mutex_unlock(){}function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _pthread_self(){return 0}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get(),f=SYSCALLS.get(),a=SYSCALLS.get(),l=n;return assert(0===t),FS.llseek(r,l,a),HEAP32[f>>2]=r.position,r.getdents&&0===l&&0===a&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{SYSCALLS.get();var r=SYSCALLS.get(),t=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var f=___syscall146.buffer,a=0;a>2],s=HEAP32[r+(8*a+4)>>2],o=0;o2147483648)return false;c=new t(e);d=new n(e);h=new f(e);b=new a(e);k=new l(e);w=new s(e);_=new o(e);m=new u(e);r=e;return true}function Ni(e){e=e|0;var i=0;i=v;v=v+e|0;v=v+15&-16;return i|0}function Fi(){return v|0}function Ui(e){e=e|0;v=e}function ji(e,i){e=e|0;i=i|0;v=e;g=i}function Hi(e,i){e=e|0;i=i|0;if(!T){T=e;S=i}}function Yi(e){e=e|0;c[y>>0]=c[e>>0];c[y+1>>0]=c[e+1>>0];c[y+2>>0]=c[e+2>>0];c[y+3>>0]=c[e+3>>0]}function qi(e){e=e|0;c[y>>0]=c[e>>0];c[y+1>>0]=c[e+1>>0];c[y+2>>0]=c[e+2>>0];c[y+3>>0]=c[e+3>>0];c[y+4>>0]=c[e+4>>0];c[y+5>>0]=c[e+5>>0];c[y+6>>0]=c[e+6>>0];c[y+7>>0]=c[e+7>>0]}function Xi(e){e=e|0;H=e}function zi(){return H|0}function Vi(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;g=v;v=v+128|0;d=g+44|0;w=g+8|0;s=g+4|0;u=g;b=r+4|0;k=r+8|0;T=0;Fe(35,h[r>>2]|0,h[b>>2]|0,h[k>>2]|0,t|0);o=T;T=0;if(!(o&1)){a=d;f=a+84|0;do{h[a>>2]=h[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(f|0));t=d+12|0;if((h[t>>2]|0)==0?(l=ce(((h[d+8>>2]|0)+7|0)/8|0,h[d>>2]|0)|0,h[t>>2]=l,(h[d+24>>2]|0)!=0):0){o=ce(h[d+16>>2]|0,l)|0;h[t>>2]=o}T=0;pe(176,w|0);o=T;T=0;if(!(o&1)){t=d+56|0;do{if(h[t>>2]|0){T=0;t=ye(66,t|0)|0;o=T;T=0;if(!(o&1)){h[s>>2]=t;f=w+28|0;a=h[f>>2]|0;if(a>>>0<(h[w+32>>2]|0)>>>0){h[a>>2]=t;h[f>>2]=a+4;h[s>>2]=0;_=19;break}T=0;ve(57,w+24|0,s|0);o=T;T=0;if(o&1){f=Ze(824,0)|0;t=H;a=h[s>>2]|0;h[s>>2]=0;if(!a)break;kE[h[(h[a>>2]|0)+4>>2]&255](a);break}else{t=h[s>>2]|0;h[s>>2]=0;if(!t){_=19;break}kE[h[(h[t>>2]|0)+4>>2]&255](t);_=19;break}}else _=15}else _=19}while(0);e:do{if((_|0)==19){a=d+4|0;l=d+8|0;s=d+16|0;T=0;t=De(14,h[d>>2]|0,h[a>>2]|0,h[l>>2]|0,h[s>>2]|0)|0;o=T;T=0;if(!(o&1)){h[u>>2]=t;o=w+28|0;f=h[o>>2]|0;do{if(f>>>0>=(h[w+32>>2]|0)>>>0){T=0;ve(57,w+24|0,u|0);f=T;T=0;if(f&1){f=Ze(824,0)|0;t=H;a=h[u>>2]|0;h[u>>2]=0;if(!a)break e;kE[h[(h[a>>2]|0)+4>>2]&255](a);break e}else{t=h[u>>2]|0;h[u>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}}else{h[f>>2]=t;h[o>>2]=f+4;h[u>>2]=0}}while(0);t=h[d+28>>2]|0;if((t|0)!=0?(T=0,ve(58,w|0,t|0),_=T,T=0,_&1):0){_=15;break}i:do{if(!(h[d+24>>2]|0)){t=ce(h[a>>2]|0,h[d>>2]|0)|0;t=ce(t,((h[l>>2]|0)+7|0)/8|0)|0;if((h[s>>2]|0)>0){a=0;while(1){T=0;xe(4,w|0,r|0,d|0);_=T;T=0;if(_&1)break;f=h[b>>2]|0;if(f){h[b>>2]=f+t;h[k>>2]=(h[k>>2]|0)-t}a=a+1|0;if((a|0)>=(h[s>>2]|0))break i}f=Ze(824,0)|0;t=H;_=16;break e}}else{T=0;xe(4,w|0,r|0,d|0);_=T;T=0;if(_&1){_=15;break e}}}while(0);T=0;Oe(33,w|0,e|0)|0;_=T;T=0;if(!(_&1)){h[i>>2]=h[w+16>>2];if(n)c[n>>0]=0;a=w+24|0;t=h[a>>2]|0;if(t){f=h[o>>2]|0;if((f|0)!=(t|0)){do{n=f+-4|0;h[o>>2]=n;f=h[n>>2]|0;h[n>>2]=0;if(f)kE[h[(h[f>>2]|0)+4>>2]&255](f);f=h[o>>2]|0}while((f|0)!=(t|0));t=h[a>>2]|0}zv(t)}n=0;v=g;return n|0}else _=15}else _=15}}while(0);if((_|0)==15){f=Ze(824,0)|0;t=H;_=16}o=w+24|0;a=h[o>>2]|0;if(a){s=w+28|0;l=h[s>>2]|0;if((l|0)!=(a|0)){do{w=l+-4|0;h[s>>2]=w;l=h[w>>2]|0;h[w>>2]=0;if(l)kE[h[(h[l>>2]|0)+4>>2]&255](l);l=h[s>>2]|0}while((l|0)!=(a|0));a=h[o>>2]|0}zv(a)}}else _=5}else _=5;if((_|0)==5){f=Ze(824,0)|0;t=H}w=(t|0)==(ti(824)|0);l=fi(f|0)|0;t=(n|0)==0;if(!w){if(!t)c[n>>0]=0;li();n=14;v=g;return n|0}a=l+12|0;do{if(!t){t=h[a>>2]|0;T=0;f=Ce(1)|0;w=T;T=0;if(!(w&1))if((t|0)==(f|0)){iE(n,mE[h[(h[l>>2]|0)+8>>2]&127](l)|0)|0;_=60;break}else{c[n>>0]=0;_=60;break}}else _=60}while(0);if((_|0)==60?(m=h[a>>2]|0,T=0,p=Ce(1)|0,n=T,T=0,!(n&1)):0){n=(m|0)==(p|0)?h[l+8>>2]|0:13;li();v=g;return n|0}t=Ze()|0;T=0;Ie(3);g=T;T=0;if(g&1){g=Ze(0)|0;Ki(g)}else si(t|0);return 0}function Gi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;o=v;v=v+112|0;f=o+96|0;s=o+84|0;u=o+72|0;c=o+60|0;d=o+48|0;b=o+36|0;k=o+24|0;w=o+12|0;_=o;l=(i|0)==0;if((e|0)==0&l){n=Je(16)|0;T=0;xe(5,f|0,48504,52);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,f|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(f);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}a=h[t>>2]|0;if((a+-1|0)>>>0>65534){n=Je(16)|0;T=0;xe(5,s|0,48557,41);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,s|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(s);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}f=h[t+4>>2]|0;if((f+-1|0)>>>0>65534){n=Je(16)|0;T=0;xe(5,u|0,48599,42);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,u|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(u);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}n=h[t+8>>2]|0;if((n+-2|0)>>>0>14){n=Je(16)|0;T=0;xe(5,c|0,48642,46);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,c|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(c);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}e=h[t+24>>2]|0;if(e>>>0>=3){n=Je(16)|0;T=0;xe(5,d|0,48689,65);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,d|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(d);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}i=h[t+16>>2]|0;if((i+-1|0)>>>0>254){n=Je(16)|0;T=0;xe(5,b|0,48755,44);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,b|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(b);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}if(!l?(b=ce(f,a)|0,(ce(ce(b,(n|0)>8?2:1)|0,i)|0)>>>0>r>>>0):0){n=Je(16)|0;T=0;xe(5,k|0,48800,58);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,k|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(k);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}switch(i|0){case 4:{if((e|0)!=2){v=o;return}n=Je(16)|0;T=0;xe(5,w|0,48859,73);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,w|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(w);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}case 3:{v=o;return}default:{if(!e){v=o;return}n=Je(16)|0;T=0;xe(5,_|0,48933,73);w=T;T=0;if(!(w&1)){T=0;i=Ce(1)|0;w=T;T=0;if(!(w&1)?(T=0,Fe(36,n|0,1,i|0,_|0),w=T,T=0,!(w&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(_);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}}}function Ki(e){e=e|0;fi(e|0)|0;Qv()}function Wi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+128|0;f=u+116|0;a=u;T=0;h[f>>2]=h[i>>2];h[f+4>>2]=h[i+4>>2];h[f+8>>2]=h[i+8>>2];ve(59,a|0,f|0);n=T;T=0;if(!(n&1)){if(r){n=a+16|0;i=n+84|0;do{h[n>>2]=h[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(i|0))}T=0;h[f>>2]=h[e>>2];h[f+4>>2]=h[e+4>>2];h[f+8>>2]=h[e+8>>2];ve(60,a|0,f|0);a=T;T=0;if(!(a&1)){if(t)c[t>>0]=0;o=0;v=u;return o|0}}e=Ze(824,0)|0;a=H;a=(a|0)==(ti(824)|0);e=fi(e|0)|0;i=(t|0)==0;if(!a){if(!i)c[t>>0]=0;li();o=14;v=u;return o|0}n=e+12|0;do{if(!i){i=h[n>>2]|0;T=0;r=Ce(1)|0;a=T;T=0;if(!(a&1))if((i|0)==(r|0)){iE(t,mE[h[(h[e>>2]|0)+8>>2]&127](e)|0)|0;o=10;break}else{c[t>>0]=0;o=10;break}}else o=10}while(0);if((o|0)==10?(l=h[n>>2]|0,T=0,s=Ce(1)|0,o=T,T=0,!(o&1)):0){o=(l|0)==(s|0)?h[e+8>>2]|0:13;li();v=u;return o|0}i=Ze()|0;T=0;Ie(3);u=T;T=0;if(u&1){u=Ze(0)|0;Ki(u)}else si(i|0);return 0}function Ji(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+128|0;n=s+116|0;t=s;T=0;h[n>>2]=h[e>>2];h[n+4>>2]=h[e+4>>2];h[n+8>>2]=h[e+8>>2];ve(59,t|0,n|0);n=T;T=0;if((!(n&1)?(T=0,pe(177,t|0),n=T,T=0,!(n&1)):0)?(T=0,ve(61,t|0,1),n=T,T=0,!(n&1)):0){e=t+16|0;t=i+84|0;do{h[i>>2]=h[e>>2];i=i+4|0;e=e+4|0}while((i|0)<(t|0));if(r)c[r>>0]=0;r=0;v=s;return r|0}n=Ze(824,0)|0;i=H;i=(i|0)==(ti(824)|0);n=fi(n|0)|0;e=(r|0)==0;if(!i){if(!e)c[r>>0]=0;li();r=14;v=s;return r|0}i=n+12|0;do{if(!e){e=h[i>>2]|0;T=0;t=Ce(1)|0;o=T;T=0;if(!(o&1))if((e|0)==(t|0)){iE(r,mE[h[(h[n>>2]|0)+8>>2]&127](n)|0)|0;l=13;break}else{c[r>>0]=0;l=13;break}}else l=13}while(0);if((l|0)==13?(f=h[i>>2]|0,T=0,a=Ce(1)|0,o=T,T=0,!(o&1)):0){o=(f|0)==(a|0)?h[n+8>>2]|0:13;li();v=s;return o|0}e=Ze()|0;T=0;Ie(3);o=T;T=0;if(o&1){o=Ze(0)|0;Ki(o)}else si(e|0);return 0}function Zi(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,c=0;c=v;v=v+48|0;s=c+36|0;l=c+24|0;o=c+12|0;u=c;if(!((e|0)!=0&(r|0)!=0&(t|0)!=0&(f|0)!=0)){n=1;v=c;return n|0}h[o>>2]=0;h[o+4>>2]=e;h[o+8>>2]=i;h[u>>2]=0;h[u+4>>2]=t;h[u+8>>2]=n;h[l>>2]=h[o>>2];h[l+4>>2]=h[o+4>>2];h[l+8>>2]=h[o+8>>2];h[s>>2]=h[u>>2];h[s+4>>2]=h[u+4>>2];h[s+8>>2]=h[u+8>>2];n=Vi(l,r,s,f,a)|0;v=c;return n|0}function Qi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;n=v;v=v+32|0;f=n+12|0;a=n;l=a;h[l>>2]=0;h[l+4>>2]=0;h[a+4>>2]=e;h[a+8>>2]=i;h[f>>2]=h[a>>2];h[f+4>>2]=h[a+4>>2];h[f+8>>2]=h[a+8>>2];r=Ji(f,r,t)|0;v=n;return r|0}function $i(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+48|0;l=a+36|0;s=a+24|0;u=a+12|0;o=a;h[u>>2]=0;h[u+4>>2]=e;h[u+8>>2]=i;h[o>>2]=0;h[o+4>>2]=r;h[o+8>>2]=t;h[s>>2]=h[u>>2];h[s+4>>2]=h[u+4>>2];h[s+8>>2]=h[u+8>>2];h[l>>2]=h[o>>2];h[l+4>>2]=h[o+4>>2];h[l+8>>2]=h[o+8>>2];t=Wi(s,l,n,f)|0;v=a;return t|0}function er(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=e+4|0;r=h[e>>2]|0;n=((h[o>>2]|0)-r>>2)+1|0;if(n>>>0>1073741823){Yv(e);r=h[e>>2]|0}u=e+8|0;t=(h[u>>2]|0)-r|0;if(t>>2>>>0<536870911){t=t>>1;t=t>>>0>>0?n:t;r=(h[o>>2]|0)-r>>2;if(!t){f=0;a=0}else l=6}else{t=1073741823;r=(h[o>>2]|0)-r>>2;l=6}if((l|0)==6){f=t;a=Xv(t<<2)|0}n=a+(r<<2)|0;t=n;s=a+(f<<2)|0;l=h[i>>2]|0;h[i>>2]=0;h[n>>2]=l;l=a+(r+1<<2)|0;a=h[e>>2]|0;r=h[o>>2]|0;if((r|0)==(a|0)){n=e;f=o}else{do{r=r+-4|0;i=h[r>>2]|0;h[r>>2]=0;h[n+-4>>2]=i;n=t+-4|0;t=n}while((r|0)!=(a|0));r=t;n=e;f=o;t=r;a=h[e>>2]|0;r=h[o>>2]|0}h[n>>2]=t;h[f>>2]=l;h[u>>2]=s;n=a;if((r|0)!=(n|0))do{r=r+-4|0;t=h[r>>2]|0;h[r>>2]=0;if(t)kE[h[(h[t>>2]|0)+4>>2]&255](t)}while((r|0)!=(n|0));if(!a)return;zv(a);return}function ir(){if(c[8]|0)return 35648;if(!(ze(8)|0))return 35648;yi(72,35648,M|0)|0;$e(8);return 35648}function rr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+32|0;s=u;pv(s,(1<>2]|0;o=f+1|0;r=o<<1;h[e>>2]=0;a=e+4|0;h[a>>2]=0;h[e+8>>2]=0;e:do{if(o){if(!((f|0)<-1?(T=0,pe(178,e|0),l=T,T=0,l&1):0))t=4;if((t|0)==4?(T=0,n=ye(67,r|0)|0,l=T,T=0,!(l&1)):0){h[a>>2]=n;h[e>>2]=n;h[e+8>>2]=n+r;i=n;while(1){c[i>>0]=0;i=(h[a>>2]|0)+1|0;h[a>>2]=i;r=r+-1|0;if(!r)break e}}r=Ze()|0;i=h[e>>2]|0;if(!i)si(r|0);if((h[a>>2]|0)!=(i|0))h[a>>2]=i;zv(i);si(r|0)}}while(0);i=~f;if((f|0)<(i|0)){v=u;return}a=s+12|0;l=s+8|0;f=s+4|0;n=i;do{i=h[a>>2]|0;if((n|0)>(0-i|0)){r=h[l>>2]|0;if((n|0)>(0-r|0)){t=h[f>>2]|0;if((n|0)>(0-t|0))if((n|0)>=0)if((n|0)>0)if((t|0)<=(n|0))if((r|0)>(n|0))i=2;else i=(i|0)>(n|0)?3:4;else i=1;else i=0;else i=-1;else i=-2}else i=-3}else i=-4;c[(h[e>>2]|0)+(n+o)>>0]=i;n=n+1|0}while((n|0)<(o|0));v=u;return}function tr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;k=h[r+16>>2]|0;switch(k|0){case 64:case 0:{T=0;e=Oe(34,e|0,i|0)|0;i=T;T=0;if(i&1)w=16;else t=e;break}default:{n=(1<>2])+-1|0;b=h[i+20>>2]|0;u=b<<1;u=((u+n|0)/(u|1|0)|0)+1|0;e=0;while(1)if((1<>2]|0;T=0;t=ye(67,4624)|0;o=T;T=0;if(o&1)w=16;else{f=((a|0)<8?8:a)+a<<1;l=t+4|0;s=i;o=l+84|0;do{h[l>>2]=h[s>>2];l=l+4|0;s=s+4|0}while((l|0)<(o|0));l=t+88|0;o=l+40|0;do{h[l>>2]=0;l=l+4|0}while((l|0)<(o|0));h[t>>2]=35660;h[t+128>>2]=n;h[t+132>>2]=u;h[t+136>>2]=b;h[t+140>>2]=e;h[t+144>>2]=a;h[t+148>>2]=f;h[t+152>>2]=k;e=t+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+172>>2]=h[i>>2];h[t+176>>2]=0;h[t+180>>2]=0;h[t+184>>2]=0;e=t+4568|0;n=t+188|0;do{h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;d[n+10>>1]=1;n=n+12|0}while((n|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1}}}if((w|0)==16){w=Ze()|0;si(w|0)}if(!t)return t|0;T=0;ve(h[(h[t>>2]|0)+12>>2]|0,t|0,r|0);w=T;T=0;if(!(w&1))return t|0;e=Ze()|0;if(!t){w=e;si(w|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);w=e;si(w|0);return 0}function nr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;r=(h[i+24>>2]|0)==2;if(r?(h[i+16>>2]|0)!=3:0){i=0;return i|0}u=h[i+20>>2]|0;e=h[i+8>>2]|0;e:do{if(!u){if(r){if((e|0)!=8)break;t=Xv(4600)|0;a=t+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=t+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[t>>2]=35688;e=t+132|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+148>>2]=h[i>>2];h[t+152>>2]=0;h[t+156>>2]=0;h[t+160>>2]=0;e=t+4544|0;r=t+164|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4556|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4568|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1;i=t;return i|0}switch(e|0){case 8:{t=Xv(4600)|0;a=t+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=t+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[t>>2]=35716;e=t+132|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+148>>2]=h[i>>2];h[t+152>>2]=0;h[t+156>>2]=0;h[t+160>>2]=0;e=t+4544|0;r=t+164|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4556|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4568|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1;i=t;return i|0}case 12:{t=Xv(4600)|0;a=t+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=t+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[t>>2]=35744;e=t+132|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+148>>2]=h[i>>2];h[t+152>>2]=0;h[t+156>>2]=0;h[t+160>>2]=0;e=t+4544|0;r=t+164|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4556|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4568|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1;i=t;return i|0}case 16:{t=Xv(4600)|0;a=t+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=t+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[t>>2]=35772;e=t+132|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+148>>2]=h[i>>2];h[t+152>>2]=0;h[t+156>>2]=0;h[t+160>>2]=0;e=t+4544|0;r=t+164|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4556|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4568|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1;i=t;return i|0}default:break e}}}while(0);o=(1<>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=n+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[n>>2]=35800;h[n+128>>2]=o;h[n+132>>2]=f;h[n+136>>2]=u;h[n+140>>2]=e;h[n+144>>2]=r;h[n+148>>2]=t;h[n+152>>2]=64;e=n+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+172>>2]=h[i>>2];h[n+176>>2]=0;h[n+180>>2]=0;h[n+184>>2]=0;e=n+4568|0;r=n+188|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+28>>2]|0))h[n+20>>2]=1;i=n;return i|0}else{e=0;while(1)if((1<>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=n+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[n>>2]=35660;h[n+128>>2]=o;h[n+132>>2]=f;h[n+136>>2]=u;h[n+140>>2]=e;h[n+144>>2]=r;h[n+148>>2]=t;h[n+152>>2]=64;e=n+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+172>>2]=h[i>>2];h[n+176>>2]=0;h[n+180>>2]=0;h[n+184>>2]=0;e=n+4568|0;r=n+188|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+28>>2]|0))h[n+20>>2]=1;i=n;return i|0}}if((e|0)>=17){i=0;return i|0}f=u<<1;f=((f+o|0)/(f|1|0)|0)+1|0;if(r){e=0;while(1)if((1<>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=n+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[n>>2]=35828;h[n+128>>2]=o;h[n+132>>2]=f;h[n+136>>2]=u;h[n+140>>2]=e;h[n+144>>2]=r;h[n+148>>2]=t;h[n+152>>2]=64;e=n+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+172>>2]=h[i>>2];h[n+176>>2]=0;h[n+180>>2]=0;h[n+184>>2]=0;e=n+4568|0;r=n+188|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+28>>2]|0))h[n+20>>2]=1;i=n;return i|0}else{e=0;while(1)if((1<>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=n+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[n>>2]=35856;h[n+128>>2]=o;h[n+132>>2]=f;h[n+136>>2]=u;h[n+140>>2]=e;h[n+144>>2]=r;h[n+148>>2]=t;h[n+152>>2]=64;e=n+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+172>>2]=h[i>>2];h[n+176>>2]=0;h[n+180>>2]=0;h[n+184>>2]=0;e=n+4568|0;r=n+188|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+28>>2]|0))h[n+20>>2]=1;i=n;return i|0}return 0}function fr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;k=h[r+16>>2]|0;switch(k|0){case 64:case 0:{T=0;e=Oe(35,e|0,i|0)|0;i=T;T=0;if(i&1)w=16;else t=e;break}default:{n=(1<>2])+-1|0;b=h[i+20>>2]|0;u=b<<1;u=((u+n|0)/(u|1|0)|0)+1|0;e=0;while(1)if((1<>2]|0;T=0;t=ye(67,4632)|0;o=T;T=0;if(o&1)w=16;else{f=((a|0)<8?8:a)+a<<1;h[t+4>>2]=0;l=t+8|0;s=i;o=l+84|0;do{h[l>>2]=h[s>>2];l=l+4|0;s=s+4|0}while((l|0)<(o|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;o=t+116|0;h[o>>2]=0;h[o+4>>2]=0;h[o+8>>2]=0;h[o+12>>2]=0;h[o+16>>2]=0;h[t>>2]=35884;h[t+136>>2]=n;h[t+140>>2]=u;h[t+144>>2]=b;h[t+148>>2]=e;h[t+152>>2]=a;h[t+156>>2]=f;h[t+160>>2]=k;e=t+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+180>>2]=h[i>>2];h[t+184>>2]=0;h[t+188>>2]=0;h[t+192>>2]=0;e=t+4576|0;n=t+196|0;do{h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;d[n+10>>1]=1;n=n+12|0}while((n|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1}}}if((w|0)==16){w=Ze()|0;si(w|0)}if(!t)return t|0;T=0;ve(h[(h[t>>2]|0)+8>>2]|0,t|0,r|0);w=T;T=0;if(!(w&1))return t|0;e=Ze()|0;if(!t){w=e;si(w|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);w=e;si(w|0);return 0}function ar(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;r=(h[i+24>>2]|0)==2;if(r?(h[i+16>>2]|0)!=3:0){i=0;return i|0}u=h[i+20>>2]|0;e=h[i+8>>2]|0;e:do{if(!u){if(r){if((e|0)!=8)break;t=Xv(4608)|0;h[t+4>>2]=0;a=t+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;e=t+116|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[t>>2]=35912;e=t+140|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+156>>2]=h[i>>2];h[t+160>>2]=0;h[t+164>>2]=0;h[t+168>>2]=0;e=t+4552|0;r=t+172|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4564|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4576|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1;i=t;return i|0}switch(e|0){case 8:{t=Xv(4608)|0;h[t+4>>2]=0;a=t+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;e=t+116|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[t>>2]=35940;e=t+140|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+156>>2]=h[i>>2];h[t+160>>2]=0;h[t+164>>2]=0;h[t+168>>2]=0;e=t+4552|0;r=t+172|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4564|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4576|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1;i=t;return i|0}case 12:{t=Xv(4608)|0;h[t+4>>2]=0;a=t+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;e=t+116|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[t>>2]=35968;e=t+140|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+156>>2]=h[i>>2];h[t+160>>2]=0;h[t+164>>2]=0;h[t+168>>2]=0;e=t+4552|0;r=t+172|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4564|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4576|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1;i=t;return i|0}case 16:{t=Xv(4608)|0;h[t+4>>2]=0;a=t+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;e=t+116|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[t>>2]=35996;e=t+140|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+156>>2]=h[i>>2];h[t+160>>2]=0;h[t+164>>2]=0;h[t+168>>2]=0;e=t+4552|0;r=t+172|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4564|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4576|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1;i=t;return i|0}default:break e}}}while(0);o=(1<>2]=0;a=n+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[n+92>>2]=0;h[n+96>>2]=0;h[n+100>>2]=32;h[n+104>>2]=0;h[n+108>>2]=0;c[n+112>>0]=0;s=n+116|0;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;h[s+12>>2]=0;h[s+16>>2]=0;h[n>>2]=36024;h[n+136>>2]=o;h[n+140>>2]=f;h[n+144>>2]=u;h[n+148>>2]=e;h[n+152>>2]=r;h[n+156>>2]=t;h[n+160>>2]=64;e=n+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+180>>2]=h[i>>2];h[n+184>>2]=0;h[n+188>>2]=0;h[n+192>>2]=0;e=n+4576|0;r=n+196|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+32>>2]|0))h[n+24>>2]=1;i=n;return i|0}else{e=0;while(1)if((1<>2]=0;a=n+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[n+92>>2]=0;h[n+96>>2]=0;h[n+100>>2]=32;h[n+104>>2]=0;h[n+108>>2]=0;c[n+112>>0]=0;s=n+116|0;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;h[s+12>>2]=0;h[s+16>>2]=0;h[n>>2]=35884;h[n+136>>2]=o;h[n+140>>2]=f;h[n+144>>2]=u;h[n+148>>2]=e;h[n+152>>2]=r;h[n+156>>2]=t;h[n+160>>2]=64;e=n+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+180>>2]=h[i>>2];h[n+184>>2]=0;h[n+188>>2]=0;h[n+192>>2]=0;e=n+4576|0;r=n+196|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+32>>2]|0))h[n+24>>2]=1;i=n;return i|0}}if((e|0)>=17){i=0;return i|0}f=u<<1;f=((f+o|0)/(f|1|0)|0)+1|0;if(r){e=0;while(1)if((1<>2]=0;a=n+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[n+92>>2]=0;h[n+96>>2]=0;h[n+100>>2]=32;h[n+104>>2]=0;h[n+108>>2]=0;c[n+112>>0]=0;s=n+116|0;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;h[s+12>>2]=0;h[s+16>>2]=0;h[n>>2]=36052;h[n+136>>2]=o;h[n+140>>2]=f;h[n+144>>2]=u;h[n+148>>2]=e;h[n+152>>2]=r;h[n+156>>2]=t;h[n+160>>2]=64;e=n+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+180>>2]=h[i>>2];h[n+184>>2]=0;h[n+188>>2]=0;h[n+192>>2]=0;e=n+4576|0;r=n+196|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+32>>2]|0))h[n+24>>2]=1;i=n;return i|0}else{e=0;while(1)if((1<>2]=0;a=n+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[n+92>>2]=0;h[n+96>>2]=0;h[n+100>>2]=32;h[n+104>>2]=0;h[n+108>>2]=0;c[n+112>>0]=0;s=n+116|0;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;h[s+12>>2]=0;h[s+16>>2]=0;h[n>>2]=36080;h[n+136>>2]=o;h[n+140>>2]=f;h[n+144>>2]=u;h[n+148>>2]=e;h[n+152>>2]=r;h[n+156>>2]=t;h[n+160>>2]=64;e=n+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+180>>2]=h[i>>2];h[n+184>>2]=0;h[n+188>>2]=0;h[n+192>>2]=0;e=n+4576|0;r=n+196|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+32>>2]|0))h[n+24>>2]=1;i=n;return i|0}return 0}function lr(){var e=0,i=0,r=0,t=0,n=0,f=0,a=0;e=2832;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=4880);Cm(2832,0,2048)|0;e=0;do{a=2832+(e+128<<3)|0;h[a>>2]=0;h[a+4>>2]=1;e=e+1|0}while((e|0)!=128);e=3088;h[e>>2]=1;h[e+4>>2]=3;e=3096;h[e>>2]=1;h[e+4>>2]=3;e=3104;h[e>>2]=1;h[e+4>>2]=3;e=3112;h[e>>2]=1;h[e+4>>2]=3;e=3120;h[e>>2]=1;h[e+4>>2]=3;e=3128;h[e>>2]=1;h[e+4>>2]=3;e=3136;h[e>>2]=1;h[e+4>>2]=3;e=3144;h[e>>2]=1;h[e+4>>2]=3;e=3152;h[e>>2]=1;h[e+4>>2]=3;e=3160;h[e>>2]=1;h[e+4>>2]=3;e=3168;h[e>>2]=1;h[e+4>>2]=3;e=3176;h[e>>2]=1;h[e+4>>2]=3;e=3184;h[e>>2]=1;h[e+4>>2]=3;e=3192;h[e>>2]=1;h[e+4>>2]=3;e=3200;h[e>>2]=1;h[e+4>>2]=3;e=3208;h[e>>2]=1;h[e+4>>2]=3;e=3216;h[e>>2]=1;h[e+4>>2]=3;e=3224;h[e>>2]=1;h[e+4>>2]=3;e=3232;h[e>>2]=1;h[e+4>>2]=3;e=3240;h[e>>2]=1;h[e+4>>2]=3;e=3248;h[e>>2]=1;h[e+4>>2]=3;e=3256;h[e>>2]=1;h[e+4>>2]=3;e=3264;h[e>>2]=1;h[e+4>>2]=3;e=3272;h[e>>2]=1;h[e+4>>2]=3;e=3280;h[e>>2]=1;h[e+4>>2]=3;e=3288;h[e>>2]=1;h[e+4>>2]=3;e=3296;h[e>>2]=1;h[e+4>>2]=3;e=3304;h[e>>2]=1;h[e+4>>2]=3;e=3312;h[e>>2]=1;h[e+4>>2]=3;e=3320;h[e>>2]=1;h[e+4>>2]=3;e=3328;h[e>>2]=1;h[e+4>>2]=3;e=3336;h[e>>2]=1;h[e+4>>2]=3;e=2896;h[e>>2]=2;h[e+4>>2]=5;e=2904;h[e>>2]=2;h[e+4>>2]=5;e=2912;h[e>>2]=2;h[e+4>>2]=5;e=2920;h[e>>2]=2;h[e+4>>2]=5;e=2928;h[e>>2]=2;h[e+4>>2]=5;e=2936;h[e>>2]=2;h[e+4>>2]=5;e=2944;h[e>>2]=2;h[e+4>>2]=5;e=2952;h[e>>2]=2;h[e+4>>2]=5;e=2848;h[e>>2]=3;h[e+4>>2]=7;e=2856;h[e>>2]=3;h[e+4>>2]=7;e=0;do{a=2832+(e+64<<3)|0;h[a>>2]=-1;h[a+4>>2]=2;e=e+1|0}while((e|0)!=64);e=2960;h[e>>2]=-2;h[e+4>>2]=4;e=2968;h[e>>2]=-2;h[e+4>>2]=4;e=2976;h[e>>2]=-2;h[e+4>>2]=4;e=2984;h[e>>2]=-2;h[e+4>>2]=4;e=2992;h[e>>2]=-2;h[e+4>>2]=4;e=3e3;h[e>>2]=-2;h[e+4>>2]=4;e=3008;h[e>>2]=-2;h[e+4>>2]=4;e=3016;h[e>>2]=-2;h[e+4>>2]=4;e=3024;h[e>>2]=-2;h[e+4>>2]=4;e=3032;h[e>>2]=-2;h[e+4>>2]=4;e=3040;h[e>>2]=-2;h[e+4>>2]=4;e=3048;h[e>>2]=-2;h[e+4>>2]=4;e=3056;h[e>>2]=-2;h[e+4>>2]=4;e=3064;h[e>>2]=-2;h[e+4>>2]=4;e=3072;h[e>>2]=-2;h[e+4>>2]=4;e=3080;h[e>>2]=-2;h[e+4>>2]=4;e=2864;h[e>>2]=-3;h[e+4>>2]=6;e=2872;h[e>>2]=-3;h[e+4>>2]=6;e=2880;h[e>>2]=-3;h[e+4>>2]=6;e=2888;h[e>>2]=-3;h[e+4>>2]=6;e=2840;h[e>>2]=-4;h[e+4>>2]=8;e=4880;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=6928);Cm(4880,0,2048)|0;r=2;e=0;n=0;f=0;while(1){r=r<<16>>16;i=8-r|0;t=1<>2]=n;h[a+4>>2]=r;i=i+1|0}while((i|0)<(t|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==7){i=2;n=1;f=-1;a=-1;break}else{r=(e>>1)+2|0;n=i>>16}}while(1){r=i<<16>>16;e=8-r|0;t=1<>2]=f;h[n+4>>2]=r;i=i+1|0}while((i|0)<(t|0))}e=(a<<16)+-65536|0;n=e>>31^e>>15;i=(n>>1)+2|0;if((i|0)>8){e=6928;break}else{f=e>>16;a=a+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=8976);Cm(6928,0,2048)|0;n=3;e=0;t=0;f=0;while(1){i=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==12){n=3;i=1;t=-1;f=-1;break}else{n=(e>>2)+3|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>2)+3|0;if((n|0)>8){e=8976;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=11024);Cm(8976,0,2048)|0;n=4;e=0;t=0;f=0;while(1){i=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==20){n=4;i=1;t=-1;f=-1;break}else{n=(e>>3)+4|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>3)+4|0;if((n|0)>8){e=11024;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=13072);Cm(11024,0,2048)|0;n=5;e=0;t=0;f=0;while(1){i=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==32){n=5;i=1;t=-1;f=-1;break}else{n=(e>>4)+5|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>4)+5|0;if((n|0)>8){e=13072;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=15120);Cm(13072,0,2048)|0;n=6;e=0;t=0;f=0;while(1){i=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==48){n=6;i=1;t=-1;f=-1;break}else{n=(e>>5)+6|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>5)+6|0;if((n|0)>8){e=15120;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=17168);Cm(15120,0,2048)|0;n=7;e=0;t=0;f=0;while(1){i=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==64){n=7;i=1;t=-1;f=-1;break}else{n=(e>>6)+7|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>6)+7|0;if((n|0)>8){e=17168;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=19216);Cm(17168,0,2048)|0;n=8;e=0;t=0;f=0;while(1){i=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==64){f=8;t=1;n=-1;a=-1;break}else{n=(e>>7)+8|0;t=i>>16}}while(1){e=8-f|0;r=1<>2]=n;h[t+4>>2]=f;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+-65536|0;t=i>>31^i>>15;e=t>>7;if((e|0)>0){e=19216;break}else{f=e+8|0;n=i>>16;a=a+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=21264);Cm(19216,0,2048)|0;e=21264;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=23312);Cm(21264,0,2048)|0;e=23312;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=25360);Cm(23312,0,2048)|0;e=25360;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=27408);Cm(25360,0,2048)|0;e=27408;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=29456);Cm(27408,0,2048)|0;e=29456;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=31504);Cm(29456,0,2048)|0;e=31504;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=33552);Cm(31504,0,2048)|0;e=33552;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=35600);Cm(33552,0,2048)|0;rr(35600,8);yi(179,35600,M|0)|0;rr(35612,10);yi(179,35612,M|0)|0;rr(35624,12);yi(179,35624,M|0)|0;rr(35636,16);yi(179,35636,M|0)|0;return}function sr(e){e=e|0;var i=0;i=h[e>>2]|0;if(!i)return;e=e+4|0;if((h[e>>2]|0)!=(i|0))h[e>>2]=i;zv(i);return}function or(e){e=e|0;var i=0,r=0;h[e>>2]=36080;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function ur(e){e=e|0;var i=0,r=0;h[e>>2]=36080;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function cr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+136>>2]|0,h[e+144>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+184>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+188>>2]=f;h[e+192>>2]=n;Zt(e);n=e+140|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+196+(f*12|0)>>2]=i;h[e+196+(f*12|0)+4>>2]=0;d[e+196+(f*12|0)+8>>1]=0;d[e+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4576>>2]=l;h[e+4580>>2]=0;c[e+4584>>0]=s;c[e+4585>>0]=1;c[e+4586>>0]=0;h[e+4588>>2]=l;h[e+4592>>2]=1;c[e+4596>>0]=s;c[e+4597>>0]=1;c[e+4598>>0]=0;h[e+4600>>2]=0;v=a;return}function dr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4624)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35856;h[i+128>>2]=h[e+136>>2];h[i+132>>2]=h[e+140>>2];h[i+136>>2]=h[e+144>>2];h[i+140>>2]=h[e+148>>2];h[i+144>>2]=h[e+152>>2];h[i+148>>2]=h[e+156>>2];h[i+152>>2]=h[e+160>>2];n=i+156|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+172>>2]=h[t>>2];h[i+176>>2]=0;h[i+180>>2]=0;h[i+184>>2]=0;n=i+4568|0;t=i+188|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4580|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4592|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];jt(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;jt(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function hr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function br(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;h[e>>2]=36460;h[e+4>>2]=r;d=e+8|0;f=h[r>>2]|0;o=r+16|0;t=h[o>>2]|0;a=ce(t,f)|0;h[d>>2]=0;b=e+12|0;h[b>>2]=0;h[e+16>>2]=0;do{if(a){if(!((a|0)<0?(T=0,pe(178,d|0),f=T,T=0,f&1):0))u=4;if((u|0)==4?(l=a<<1,T=0,s=ye(67,l|0)|0,f=T,T=0,!(f&1)):0){h[d>>2]=s;f=s+(a<<1)|0;h[e+16>>2]=f;Cm(s|0,0,l|0)|0;h[b>>2]=f;f=h[r>>2]|0;t=h[o>>2]|0;break}a=Ze()|0;n=h[d>>2]|0;t=n;if(n){f=h[b>>2]|0;if((f|0)!=(n|0))h[b>>2]=f+(~((f+-2-t|0)>>>1)<<1);zv(n)}b=a;si(b|0)}}while(0);a=e+20|0;t=ce(f<<1,t)|0;h[a>>2]=0;l=e+24|0;h[l>>2]=0;h[e+28>>2]=0;if(!t){b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))u=13;if((u|0)==13?(T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[l>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[l>>2]|0)+1|0;h[l>>2]=n;t=t+-1|0}while((t|0)!=0);b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}f=Ze()|0;n=h[a>>2]|0;if(n){if((h[l>>2]|0)!=(n|0))h[l>>2]=n;zv(n)}n=h[d>>2]|0;if(!n){b=f;si(b|0)}t=h[b>>2]|0;if((t|0)!=(n|0))h[b>>2]=t+(~((t+-2-n|0)>>>1)<<1);zv(n);b=f;si(b|0)}function kr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;h[e>>2]=36436;h[e+4>>2]=r;d=e+8|0;f=h[r>>2]|0;o=r+16|0;t=h[o>>2]|0;a=ce(t,f)|0;h[d>>2]=0;b=e+12|0;h[b>>2]=0;h[e+16>>2]=0;do{if(a){if(!((a|0)<0?(T=0,pe(178,d|0),f=T,T=0,f&1):0))u=4;if((u|0)==4?(l=a<<1,T=0,s=ye(67,l|0)|0,f=T,T=0,!(f&1)):0){h[d>>2]=s;f=s+(a<<1)|0;h[e+16>>2]=f;Cm(s|0,0,l|0)|0;h[b>>2]=f;f=h[r>>2]|0;t=h[o>>2]|0;break}a=Ze()|0;n=h[d>>2]|0;t=n;if(n){f=h[b>>2]|0;if((f|0)!=(n|0))h[b>>2]=f+(~((f+-2-t|0)>>>1)<<1);zv(n)}b=a;si(b|0)}}while(0);a=e+20|0;t=ce(f<<1,t)|0;h[a>>2]=0;l=e+24|0;h[l>>2]=0;h[e+28>>2]=0;if(!t){b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))u=13;if((u|0)==13?(T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[l>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[l>>2]|0)+1|0;h[l>>2]=n;t=t+-1|0}while((t|0)!=0);b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}f=Ze()|0;n=h[a>>2]|0;if(n){if((h[l>>2]|0)!=(n|0))h[l>>2]=n;zv(n)}n=h[d>>2]|0;if(!n){b=f;si(b|0)}t=h[b>>2]|0;if((t|0)!=(n|0))h[b>>2]=t+(~((t+-2-n|0)>>>1)<<1);zv(n);b=f;si(b|0)}function wr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;h[e>>2]=36412;h[e+4>>2]=r;d=e+8|0;f=h[r>>2]|0;o=r+16|0;t=h[o>>2]|0;a=ce(t,f)|0;h[d>>2]=0;b=e+12|0;h[b>>2]=0;h[e+16>>2]=0;do{if(a){if(!((a|0)<0?(T=0,pe(178,d|0),f=T,T=0,f&1):0))u=4;if((u|0)==4?(l=a<<1,T=0,s=ye(67,l|0)|0,f=T,T=0,!(f&1)):0){h[d>>2]=s;f=s+(a<<1)|0;h[e+16>>2]=f;Cm(s|0,0,l|0)|0;h[b>>2]=f;f=h[r>>2]|0;t=h[o>>2]|0;break}a=Ze()|0;n=h[d>>2]|0;t=n;if(n){f=h[b>>2]|0;if((f|0)!=(n|0))h[b>>2]=f+(~((f+-2-t|0)>>>1)<<1);zv(n)}b=a;si(b|0)}}while(0);a=e+20|0;t=ce(f<<1,t)|0;h[a>>2]=0;l=e+24|0;h[l>>2]=0;h[e+28>>2]=0;if(!t){b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))u=13;if((u|0)==13?(T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[l>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[l>>2]|0)+1|0;h[l>>2]=n;t=t+-1|0}while((t|0)!=0);b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}f=Ze()|0;n=h[a>>2]|0;if(n){if((h[l>>2]|0)!=(n|0))h[l>>2]=n;zv(n)}n=h[d>>2]|0;if(!n){b=f;si(b|0)}t=h[b>>2]|0;if((t|0)!=(n|0))h[b>>2]=t+(~((t+-2-n|0)>>>1)<<1);zv(n);b=f;si(b|0)}function _r(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;h[e>>2]=36388;h[e+4>>2]=r;d=e+8|0;f=h[r>>2]|0;o=r+16|0;t=h[o>>2]|0;a=ce(t,f)|0;h[d>>2]=0;b=e+12|0;h[b>>2]=0;h[e+16>>2]=0;do{if(a){if(!((a|0)<0?(T=0,pe(178,d|0),f=T,T=0,f&1):0))u=4;if((u|0)==4?(l=a<<1,T=0,s=ye(67,l|0)|0,f=T,T=0,!(f&1)):0){h[d>>2]=s;f=s+(a<<1)|0;h[e+16>>2]=f;Cm(s|0,0,l|0)|0;h[b>>2]=f;f=h[r>>2]|0;t=h[o>>2]|0;break}a=Ze()|0;n=h[d>>2]|0;t=n;if(n){f=h[b>>2]|0;if((f|0)!=(n|0))h[b>>2]=f+(~((f+-2-t|0)>>>1)<<1);zv(n)}b=a;si(b|0)}}while(0);a=e+20|0;t=ce(f<<1,t)|0;h[a>>2]=0;l=e+24|0;h[l>>2]=0;h[e+28>>2]=0;if(!t){b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))u=13;if((u|0)==13?(T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[l>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[l>>2]|0)+1|0;h[l>>2]=n;t=t+-1|0}while((t|0)!=0);b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}f=Ze()|0;n=h[a>>2]|0;if(n){if((h[l>>2]|0)!=(n|0))h[l>>2]=n;zv(n)}n=h[d>>2]|0;if(!n){b=f;si(b|0)}t=h[b>>2]|0;if((t|0)!=(n|0))h[b>>2]=t+(~((t+-2-n|0)>>>1)<<1);zv(n);b=f;si(b|0)}function mr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;a=e+32|0;Xd(a,i)|0;f=e+44|0;h[f>>2]=0;l=e+48|0;n=h[l>>2]|0;if(n&8){i=c[a>>0]|0;if(!(i&1)){i=((i&255)>>>1)+(a+1)|0;h[f>>2]=i;r=a+1|0;t=a+1|0}else{i=(h[e+40>>2]|0)+(h[e+36>>2]|0)|0;h[f>>2]=i;t=h[e+40>>2]|0;r=t}h[e+8>>2]=r;h[e+12>>2]=t;h[e+16>>2]=i}if(!(n&16))return;i=c[a>>0]|0;if(!(i&1)){n=(i&255)>>>1;h[f>>2]=a+1+n;i=10;f=n}else{n=h[e+36>>2]|0;h[f>>2]=(h[e+40>>2]|0)+n;i=(h[a>>2]&-2)+-1|0;f=n}Gd(a,i,0);i=c[a>>0]|0;if(!(i&1)){n=a+1|0;t=(i&255)>>>1;r=a+1|0}else{r=h[e+40>>2]|0;n=r;t=h[e+36>>2]|0}i=e+24|0;h[i>>2]=r;h[e+20>>2]=r;h[e+28>>2]=n+t;if(!(h[l>>2]&3))return;h[i>>2]=r+f;return}function pr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+32|0;a=b+16|0;d=b+8|0;l=b;T=0;ve(65,d|0,e|0);o=T;T=0;e:do{if(o&1){r=Ze(0)|0;t=e;n=e}else{do{if(c[d>>0]|0){t=h[(h[e>>2]|0)+-12>>2]|0;h[l>>2]=h[e+(t+24)>>2];s=e+t|0;o=h[e+(t+4)>>2]|0;n=i+r|0;t=e+(t+76)|0;r=h[t>>2]|0;do{if((r|0)==-1){T=0;r=ye(68,s|0)|0;k=T;T=0;if(k&1)u=13;else{h[a>>2]=r;T=0;r=Oe(37,a|0,44220)|0;k=T;T=0;if(!(k&1)?(T=0,f=Oe(h[(h[r>>2]|0)+28>>2]|0,r|0,32)|0,k=T,T=0,!(k&1)):0){Xu(a);r=f<<24>>24;h[t>>2]=r;u=9;break}r=Ze(0)|0;Xu(a)}}else u=9}while(0);if((u|0)==9){T=0;h[a>>2]=h[l>>2];r=ge(39,a|0,i|0,((o&176|0)==32?n:i)|0,n|0,s|0,r&255|0)|0;k=T;T=0;if(!(k&1)){if(r)break;k=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+k|0,h[e+(k+16)>>2]|5|0);k=T;T=0;if(!(k&1))break;else u=13}else u=13}if((u|0)==13)r=Ze(0)|0;bb(d);t=e;n=e;break e}}while(0);bb(d);v=b;return e|0}}while(0);fi(r|0)|0;T=0;pe(181,t+(h[(h[n>>2]|0)+-12>>2]|0)|0);k=T;T=0;if(!(k&1)){li();v=b;return e|0}r=Ze()|0;T=0;Ie(3);k=T;T=0;if(k&1){k=Ze(0)|0;Ki(k)}else si(r|0);return 0}function vr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;r=h[i+48>>2]|0;if(r&16){r=i+44|0;t=h[r>>2]|0;n=h[i+24>>2]|0;if(t>>>0>>0)h[r>>2]=n;else n=t;t=h[i+20>>2]|0;f=n-t|0;if(f>>>0>4294967279)Hv(e);if(f>>>0<11){c[e>>0]=f<<1;r=e+1|0}else{i=f+16&-16;r=Xv(i)|0;h[e+8>>2]=r;h[e>>2]=i|1;h[e+4>>2]=f}if((t|0)!=(n|0)){i=r;while(1){c[i>>0]=c[t>>0]|0;t=t+1|0;if((t|0)==(n|0))break;else i=i+1|0}r=r+f|0}c[r>>0]=0;return}if(!(r&8)){h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}t=h[i+8>>2]|0;i=h[i+16>>2]|0;f=i-t|0;if(f>>>0>4294967279)Hv(e);if(f>>>0<11){c[e>>0]=f<<1;r=e+1|0}else{n=f+16&-16;r=Xv(n)|0;h[e+8>>2]=r;h[e>>2]=n|1;h[e+4>>2]=f}if((t|0)!=(i|0)){n=r;while(1){c[n>>0]=c[t>>0]|0;t=t+1|0;if((t|0)==(i|0))break;else n=n+1|0}r=r+f|0}c[r>>0]=0;return}function gr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;h[e>>2]=36364;h[e+4>>2]=r;b=e+8|0;a=h[r>>2]|0;u=r+16|0;f=h[u>>2]|0;o=ce(f,a)|0;h[b>>2]=0;k=e+12|0;h[k>>2]=0;h[e+16>>2]=0;do{if(o){if(!((o|0)<0?(T=0,pe(178,b|0),a=T,T=0,a&1):0))d=4;if((d|0)==4?(l=o<<1,T=0,s=ye(67,l|0)|0,a=T,T=0,!(a&1)):0){h[b>>2]=s;a=s+(o<<1)|0;h[e+16>>2]=a;Cm(s|0,0,l|0)|0;h[k>>2]=a;a=h[r>>2]|0;f=h[u>>2]|0;break}l=Ze()|0;n=h[b>>2]|0;f=n;if(n){a=h[k>>2]|0;if((a|0)!=(n|0))h[k>>2]=a+(~((a+-2-f|0)>>>1)<<1);zv(n)}k=l;si(k|0)}}while(0);l=e+20|0;f=ce(a<<1,f)|0;h[l>>2]=0;s=e+24|0;h[s>>2]=0;h[e+28>>2]=0;if(!f){k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}if(!((f|0)<0?(T=0,pe(178,l|0),u=T,T=0,u&1):0))d=13;if((d|0)==13?(T=0,n=ye(67,f|0)|0,d=T,T=0,!(d&1)):0){h[s>>2]=n;h[l>>2]=n;h[e+28>>2]=n+f;do{c[n>>0]=0;n=(h[s>>2]|0)+1|0;h[s>>2]=n;f=f+-1|0}while((f|0)!=0);k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}a=Ze()|0;n=h[l>>2]|0;if(n){if((h[s>>2]|0)!=(n|0))h[s>>2]=n;zv(n)}n=h[b>>2]|0;if(!n){k=a;si(k|0)}f=h[k>>2]|0;if((f|0)!=(n|0))h[k>>2]=f+(~((f+-2-n|0)>>>1)<<1);zv(n);k=a;si(k|0)}function yr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;h[e>>2]=36340;h[e+4>>2]=r;b=e+8|0;a=h[r>>2]|0;u=r+16|0;f=h[u>>2]|0;o=ce(f,a)|0;h[b>>2]=0;k=e+12|0;h[k>>2]=0;h[e+16>>2]=0;do{if(o){if(!((o|0)<0?(T=0,pe(178,b|0),a=T,T=0,a&1):0))d=4;if((d|0)==4?(l=o<<1,T=0,s=ye(67,l|0)|0,a=T,T=0,!(a&1)):0){h[b>>2]=s;a=s+(o<<1)|0;h[e+16>>2]=a;Cm(s|0,0,l|0)|0;h[k>>2]=a;a=h[r>>2]|0;f=h[u>>2]|0;break}l=Ze()|0;n=h[b>>2]|0;f=n;if(n){a=h[k>>2]|0;if((a|0)!=(n|0))h[k>>2]=a+(~((a+-2-f|0)>>>1)<<1);zv(n)}k=l;si(k|0)}}while(0);l=e+20|0;f=ce(a<<1,f)|0;h[l>>2]=0;s=e+24|0;h[s>>2]=0;h[e+28>>2]=0;if(!f){k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}if(!((f|0)<0?(T=0,pe(178,l|0),u=T,T=0,u&1):0))d=13;if((d|0)==13?(T=0,n=ye(67,f|0)|0,d=T,T=0,!(d&1)):0){h[s>>2]=n;h[l>>2]=n;h[e+28>>2]=n+f;do{c[n>>0]=0;n=(h[s>>2]|0)+1|0;h[s>>2]=n;f=f+-1|0}while((f|0)!=0);k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}a=Ze()|0;n=h[l>>2]|0;if(n){if((h[s>>2]|0)!=(n|0))h[s>>2]=n;zv(n)}n=h[b>>2]|0;if(!n){k=a;si(k|0)}f=h[k>>2]|0;if((f|0)!=(n|0))h[k>>2]=f+(~((f+-2-n|0)>>>1)<<1);zv(n);k=a;si(k|0)}function Er(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;h[e>>2]=36316;h[e+4>>2]=r;b=e+8|0;a=h[r>>2]|0;u=r+16|0;f=h[u>>2]|0;o=ce(f,a)|0;h[b>>2]=0;k=e+12|0;h[k>>2]=0;h[e+16>>2]=0;do{if(o){if(!((o|0)<0?(T=0,pe(178,b|0),a=T,T=0,a&1):0))d=4;if((d|0)==4?(l=o<<1,T=0,s=ye(67,l|0)|0,a=T,T=0,!(a&1)):0){h[b>>2]=s;a=s+(o<<1)|0;h[e+16>>2]=a;Cm(s|0,0,l|0)|0;h[k>>2]=a;a=h[r>>2]|0;f=h[u>>2]|0;break}l=Ze()|0;n=h[b>>2]|0;f=n;if(n){a=h[k>>2]|0;if((a|0)!=(n|0))h[k>>2]=a+(~((a+-2-f|0)>>>1)<<1);zv(n)}k=l;si(k|0)}}while(0);l=e+20|0;f=ce(a<<1,f)|0;h[l>>2]=0;s=e+24|0;h[s>>2]=0;h[e+28>>2]=0;if(!f){k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}if(!((f|0)<0?(T=0,pe(178,l|0),u=T,T=0,u&1):0))d=13;if((d|0)==13?(T=0,n=ye(67,f|0)|0,d=T,T=0,!(d&1)):0){h[s>>2]=n;h[l>>2]=n;h[e+28>>2]=n+f;do{c[n>>0]=0;n=(h[s>>2]|0)+1|0;h[s>>2]=n;f=f+-1|0}while((f|0)!=0);k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}a=Ze()|0;n=h[l>>2]|0;if(n){if((h[s>>2]|0)!=(n|0))h[s>>2]=n;zv(n)}n=h[b>>2]|0;if(!n){k=a;si(k|0)}f=h[k>>2]|0;if((f|0)!=(n|0))h[k>>2]=f+(~((f+-2-n|0)>>>1)<<1);zv(n);k=a;si(k|0)}function Ar(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36316;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function Mr(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36316;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function Tr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+48|0;if(!(h[n>>2]|0)){l=e+52|0;Lr(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;Lr(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function Sr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+48>>2]|0;if(!n){n=e+52|0;Pr(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Or(e,n,i,r,t);return}}function Pr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0;s=e+4|0;f=h[s>>2]|0;do{if(!(c[f+32>>0]|0))o=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*6|0)|0;f=h[s>>2]|0;l=h[f+16>>2]|0;if((t|0)<=0){o=h[a>>2]|0;break}i=h[a>>2]|0;f=i;a=0;while(1){o=f+4|0;u=d[f>>1]|0;d[f>>1]=d[o>>1]|0;d[o>>1]=u;a=a+1|0;if((a|0)==(t|0))break;else f=f+(l<<1)|0}o=i;f=h[s>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:if((h[f+24>>2]|0)==2){if((t|0)<=0)return;f=e+32|0;i=0;do{u=h[f>>2]|0;s=k[o+(i*6|0)+2>>1]<>1]<>1]<>1]=(s+49152+((e+n|0)>>>2)&65535)>>>u;d[r+(i*6|0)+2>>1]=e>>>u;d[r+(i*6|0)+4>>1]=n>>>u;i=i+1|0}while((i|0)!=(t|0));return}else{a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;f=h[e+32>>2]|0;i=0;do{t=k[o+(i*6|0)+2>>1]<>1]<>1]<>1]=(t+49152+((e+u|0)>>>2)&65535)>>>f;d[r+(i+n<<1)>>1]=e>>>f;d[r+(i+l<<1)>>1]=u>>>f;i=i+1|0}while((i|0)!=(a|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;s=n*3|0;f=h[e+32>>2]|0;i=0;do{u=d[o+(i<<3)+6>>1]|0;b=k[o+(i<<3)+2>>1]<>1]<>1]<>1]=(b+49152+((t+e|0)>>>2)&65535)>>>f;d[r+(i+n<<1)>>1]=t>>>f;d[r+(i+l<<1)>>1]=e>>>f;d[r+(i+s<<1)>>1]=u;i=i+1|0}while((i|0)!=(a|0));return}default:return}}function Or(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;Pr(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;Pr(e,w,r,t,n);v=d;return}function Rr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;n=v;v=v+176|0;r=n+152|0;s=n+16|0;a=n;if(!(i&1)){r=(i|0)/4|0;if((i|0)>3){t=0;do{s=e+(t<<2)|0;l=h[s>>2]|0;h[s>>2]=l>>>8&16711935|l<<8&-16711936;t=t+1|0}while((t|0)<(r|0))}if(!(i&3)){v=n;return}a=e+(i+-2)|0;s=e+(i+-1)|0;l=c[a>>0]|0;c[a>>0]=c[s>>0]|0;c[s>>0]=l;v=n;return}l=s+56|0;f=s+4|0;h[s>>2]=36160;h[l>>2]=36180;T=0;ve(62,s+56|0,f|0);n=T;T=0;if(n&1){s=Ze()|0;bh(l);si(s|0)}h[s+128>>2]=0;h[s+132>>2]=-1;h[s>>2]=36200;h[s+56>>2]=36220;T=0;pe(180,f|0);n=T;T=0;do{if(n&1)r=Ze()|0;else{h[f>>2]=36236;n=s+36|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[s+52>>2]=16;h[r>>2]=0;h[r+4>>2]=0;h[r+8>>2]=0;T=0;ve(63,f|0,r|0);e=T;T=0;if(e&1){s=Ze()|0;qd(r);qd(n);gh(f);r=s;break}qd(r);T=0;r=Ae(28,s|0,49087,24)|0;e=T;T=0;if((!(e&1)?(T=0,t=Oe(36,r|0,i|0)|0,i=T,T=0,!(i&1)):0)?(T=0,Ae(28,t|0,49112,20)|0,i=T,T=0,!(i&1)):0){e=Je(16)|0;T=0;ve(64,a|0,f|0);i=T;T=0;if(!(i&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,e|0,1,35648,a|0);i=T;T=0;if(i&1)t=1;else{T=0;xe(6,e|0,824,96);T=0;t=0}r=Ze()|0;qd(a);if(!t){a=r;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}}else r=Ze()|0;We(e|0);a=r;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}a=Ze()|0;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}}while(0);s=r;bh(l);si(s|0)}function Lr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0,p=0;o=e+4|0;f=h[o>>2]|0;e:do{switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)<=0)break e;f=e+40|0;e=0;do{n=h[f>>2]|0;l=k[i+(e*6|0)+2>>1]<>1]<>1]<>2)+16384|0;d[r+(e*6|0)>>1]=(a+32768+s&65535)>>>n;d[r+(e*6|0)+2>>1]=(s&65535)>>>n;d[r+(e*6|0)+4>>1]=(l+32768+s&65535)>>>n;e=e+1|0}while((e|0)!=(t|0))}else{a=(t|0)<(n|0)?t:n;if((a|0)<=0)break e;l=n<<1;f=e+40|0;e=0;do{s=h[f>>2]|0;b=k[i+(e+n<<1)>>1]<>1]<>1]<>2)+16384|0;d[r+(e*6|0)>>1]=(w+32768+u&65535)>>>s;d[r+(e*6|0)+2>>1]=(u&65535)>>>s;d[r+(e*6|0)+4>>1]=(b+32768+u&65535)>>>s;e=e+1|0}while((e|0)!=(a|0))}break}case 4:{if((h[f+24>>2]|0)==1?(s=(t|0)<(n|0)?t:n,(s|0)>0):0){l=n<<1;f=e+40|0;e=n*3|0;a=0;do{w=h[f>>2]|0;b=k[i+(a+n<<1)>>1]<>1]<>1]<>2)+16384|0;_=d[i+(a+e<<1)>>1]|0;p=Bm((u&65535)>>>w&65535|0,0,16)|0;b=(b+32768+u&65535)>>>w|H;_=Bm(_&65535|0,0,48)|0;_=p|(m+32768+u&65535)>>>w&65535|_;b=b&65535|H;w=r+(a<<3)|0;u=w;d[u>>1]=_;d[u+2>>1]=_>>>16;w=w+4|0;d[w>>1]=b;d[w+2>>1]=b>>>16;a=a+1|0}while((a|0)!=(s|0))}break}default:{}}}while(0);f=h[o>>2]|0;if(!(c[f+32>>0]|0))return;a=h[f+16>>2]|0;if((t|0)<=0)return;f=r;e=0;while(1){p=f+4|0;m=d[f>>1]|0;d[f>>1]=d[p>>1]|0;d[p>>1]=m;e=e+1|0;if((e|0)==(t|0))break;else f=f+(a<<1)|0}return}function Cr(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36340;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function Dr(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36340;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function xr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+48|0;if(!(h[n>>2]|0)){l=e+52|0;Fr(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;Fr(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function Ir(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+48>>2]|0;if(!n){n=e+52|0;Br(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Nr(e,n,i,r,t);return}}function Br(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0;s=e+4|0;f=h[s>>2]|0;do{if(!(c[f+32>>0]|0))o=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*6|0)|0;f=h[s>>2]|0;l=h[f+16>>2]|0;if((t|0)<=0){o=h[a>>2]|0;break}i=h[a>>2]|0;f=i;a=0;while(1){o=f+4|0;u=d[f>>1]|0;d[f>>1]=d[o>>1]|0;d[o>>1]=u;a=a+1|0;if((a|0)==(t|0))break;else f=f+(l<<1)|0}o=i;f=h[s>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:if((h[f+24>>2]|0)==2){if((t|0)<=0)return;f=e+32|0;i=0;do{n=h[f>>2]|0;s=k[o+(i*6|0)>>1]<>1]<>1]<>>1)&65535)>>>n&65535;d[r+(i*6|0)>>1]=(s+32768-e&65535)>>>n;d[r+(i*6|0)+2>>1]=(e&65535)>>>n;d[r+(i*6|0)+4>>1]=u;i=i+1|0}while((i|0)!=(t|0));return}else{a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;f=h[e+32>>2]|0;i=0;do{t=k[o+(i*6|0)>>1]<>1]<>1]<>>1)&65535)>>>f&65535;d[r+(i<<1)>>1]=(t+32768-e&65535)>>>f;d[r+(i+n<<1)>>1]=(e&65535)>>>f;d[r+(i+l<<1)>>1]=u;i=i+1|0}while((i|0)!=(a|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;s=n*3|0;f=h[e+32>>2]|0;i=0;do{u=d[o+(i<<3)+6>>1]|0;b=k[o+(i<<3)>>1]<>1]<>1]<>>1)&65535)>>>f&65535;d[r+(i<<1)>>1]=(b+32768-t&65535)>>>f;d[r+(i+n<<1)>>1]=(t&65535)>>>f;d[r+(i+l<<1)>>1]=e;d[r+(i+s<<1)>>1]=u;i=i+1|0}while((i|0)!=(a|0));return}default:return}}function Nr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;Br(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;Br(e,w,r,t,n);v=d;return}function Fr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;o=e+4|0;f=h[o>>2]|0;e:do{switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)<=0)break e;f=e+40|0;e=0;do{s=h[f>>2]|0;l=k[i+(e*6|0)+2>>1]<>1]<>1]<>>1)&65535)>>>s&65535;d[r+(e*6|0)>>1]=a>>>s;d[r+(e*6|0)+2>>1]=l>>>s;d[r+(e*6|0)+4>>1]=n;e=e+1|0}while((e|0)!=(t|0))}else{a=(t|0)<(n|0)?t:n;if((a|0)<=0)break e;l=n<<1;f=e+40|0;e=0;do{u=h[f>>2]|0;b=k[i+(e+n<<1)>>1]<>1]<>1]<>>1)&65535)>>>u&65535;d[r+(e*6|0)>>1]=w>>>u;d[r+(e*6|0)+2>>1]=b>>>u;d[r+(e*6|0)+4>>1]=s;e=e+1|0}while((e|0)!=(a|0))}break}case 4:{if((h[f+24>>2]|0)==1?(s=(t|0)<(n|0)?t:n,(s|0)>0):0){l=n<<1;f=e+40|0;e=n*3|0;a=0;do{u=h[f>>2]|0;w=k[i+(a+n<<1)>>1]<>1]<>1]<>>1)&65535)>>>u;_=d[i+(a+e<<1)>>1]|0;w=Bm(w>>>u&65535|0,0,16)|0;b=H|b;_=Bm(_&65535|0,0,48)|0;_=m>>>u&65535|w|_;b=b&65535|H;w=r+(a<<3)|0;u=w;d[u>>1]=_;d[u+2>>1]=_>>>16;w=w+4|0;d[w>>1]=b;d[w+2>>1]=b>>>16;a=a+1|0}while((a|0)!=(s|0))}break}default:{}}}while(0);f=h[o>>2]|0;if(!(c[f+32>>0]|0))return;a=h[f+16>>2]|0;if((t|0)<=0)return;f=r;e=0;while(1){m=f+4|0;_=d[f>>1]|0;d[f>>1]=d[m>>1]|0;d[m>>1]=_;e=e+1|0;if((e|0)==(t|0))break;else f=f+(a<<1)|0}return}function Ur(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36364;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function jr(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36364;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function Hr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+48|0;if(!(h[n>>2]|0)){l=e+52|0;zr(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;zr(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function Yr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+48>>2]|0;if(!n){n=e+52|0;qr(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Xr(e,n,i,r,t);return}}function qr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;s=e+4|0;f=h[s>>2]|0;do{if(!(c[f+32>>0]|0))o=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*6|0)|0;f=h[s>>2]|0;l=h[f+16>>2]|0;if((t|0)<=0){o=h[a>>2]|0;break}i=h[a>>2]|0;f=i;a=0;while(1){o=f+4|0;u=d[f>>1]|0;d[f>>1]=d[o>>1]|0;d[o>>1]=u;a=a+1|0;if((a|0)==(t|0))break;else f=f+(l<<1)|0}o=i;f=h[s>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:if((h[f+24>>2]|0)==2){if((t|0)<=0)return;f=e+32|0;i=0;do{n=h[f>>2]|0;e=k[o+(i*6|0)+2>>1]<>1]<>>n&65535;d[r+(i*6|0)>>1]=((k[o+(i*6|0)>>1]<>>n;d[r+(i*6|0)+2>>1]=(e&65535)>>>n;d[r+(i*6|0)+4>>1]=u;i=i+1|0}while((i|0)!=(t|0));return}else{a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;f=h[e+32>>2]|0;i=0;do{e=k[o+(i*6|0)+2>>1]<>1]<>>f&65535;d[r+(i<<1)>>1]=((k[o+(i*6|0)>>1]<>>f;d[r+(i+n<<1)>>1]=(e&65535)>>>f;d[r+(i+l<<1)>>1]=u;i=i+1|0}while((i|0)!=(a|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;l=(n|0)<(t|0)?n:t;if((l|0)<=0)return;s=n<<1;a=n*3|0;f=h[e+32>>2]|0;i=0;do{u=d[o+(i<<3)+6>>1]|0;t=k[o+(i<<3)+2>>1]<>1]<>>f&65535;d[r+(i<<1)>>1]=((k[o+(i<<3)>>1]<>>f;d[r+(i+n<<1)>>1]=(t&65535)>>>f;d[r+(i+s<<1)>>1]=e;d[r+(i+a<<1)>>1]=u;i=i+1|0}while((i|0)!=(l|0));return}default:return}}function Xr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;qr(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;qr(e,w,r,t,n);v=d;return}function zr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;o=e+4|0;f=h[o>>2]|0;e:do{switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)<=0)break e;f=e+40|0;e=0;do{s=h[f>>2]|0;l=k[i+(e*6|0)+2>>1]<>1]<>>s&65535;d[r+(e*6|0)>>1]=((k[i+(e*6|0)>>1]<>>s;d[r+(e*6|0)+2>>1]=(l&65535)>>>s;d[r+(e*6|0)+4>>1]=n;e=e+1|0}while((e|0)!=(t|0))}else{a=(t|0)<(n|0)?t:n;if((a|0)<=0)break e;l=n<<1;f=e+40|0;e=0;do{u=h[f>>2]|0;b=k[i+(e+n<<1)>>1]<>1]<>>u&65535;d[r+(e*6|0)>>1]=((k[i+(e<<1)>>1]<>>u;d[r+(e*6|0)+2>>1]=(b&65535)>>>u;d[r+(e*6|0)+4>>1]=s;e=e+1|0}while((e|0)!=(a|0))}break}case 4:{if((h[f+24>>2]|0)==1?(s=(t|0)<(n|0)?t:n,(s|0)>0):0){l=n<<1;f=e+40|0;e=n*3|0;a=0;do{w=h[f>>2]|0;m=k[i+(a+n<<1)>>1]<>1]<>>w;u=(m+32768+(k[i+(a+l<<1)>>1]<>>w;_=d[i+(a+e<<1)>>1]|0;w=Bm((m&65535)>>>w&65535|0,0,16)|0;u=u|H;_=Bm(_&65535|0,0,48)|0;_=w|b&65535|_;u=u&65535|H;b=r+(a<<3)|0;w=b;d[w>>1]=_;d[w+2>>1]=_>>>16;b=b+4|0;d[b>>1]=u;d[b+2>>1]=u>>>16;a=a+1|0}while((a|0)!=(s|0))}break}default:{}}}while(0);f=h[o>>2]|0;if(!(c[f+32>>0]|0))return;a=h[f+16>>2]|0;if((t|0)<=0)return;f=r;e=0;while(1){m=f+4|0;_=d[f>>1]|0;d[f>>1]=d[m>>1]|0;d[m>>1]=_;e=e+1|0;if((e|0)==(t|0))break;else f=f+(a<<1)|0}return}function Vr(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0;d=v;v=v+16|0;o=d;u=h[e>>2]|0;if(!u){e=0;v=d;return e|0}b=i;l=t-b|0;s=n+12|0;a=h[s>>2]|0;l=(a|0)>(l|0)?a-l|0:0;a=r;n=a-b|0;if((n|0)>0?(vE[h[(h[u>>2]|0)+48>>2]&63](u,i,n)|0)!=(n|0):0){h[e>>2]=0;b=0;v=d;return b|0}do{if((l|0)>0){Yd(o,l,f);T=0;n=Ae(h[(h[u>>2]|0)+48>>2]|0,u|0,((c[o>>0]&1)==0?o+1|0:h[o+8>>2]|0)|0,l|0)|0;b=T;T=0;if(b&1){b=Ze()|0;qd(o);si(b|0)}if((n|0)==(l|0)){qd(o);break}h[e>>2]=0;qd(o);b=0;v=d;return b|0}}while(0);t=t-a|0;if((t|0)>0?(vE[h[(h[u>>2]|0)+48>>2]&63](u,r,t)|0)!=(t|0):0){h[e>>2]=0;b=0;v=d;return b|0}h[s>>2]=0;b=u;v=d;return b|0}function Gr(e){e=e|0;h[e>>2]=36236;qd(e+32|0);gh(e);return}function Kr(e){e=e|0;h[e>>2]=36236;qd(e+32|0);gh(e);zv(e);return}function Wr(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=i+44|0;l=h[a>>2]|0;o=i+24|0;u=h[o>>2]|0;if(l>>>0>>0){h[a>>2]=u;l=u}s=l;a=f&24;if(!a){i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}if((n|0)==1&(a|0)==24){i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}e:do{switch(n|0){case 0:{a=0;n=0;break}case 1:if(!(f&8)){n=u-(h[i+20>>2]|0)|0;a=n;n=((n|0)<0)<<31>>31;break e}else{n=(h[i+12>>2]|0)-(h[i+8>>2]|0)|0;a=n;n=((n|0)<0)<<31>>31;break e}case 2:{a=i+32|0;if(!(c[a>>0]&1))a=a+1|0;else a=h[i+40>>2]|0;n=l-a|0;a=n;n=((n|0)<0)<<31>>31;break}default:{i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}}}while(0);n=Dm(a|0,n|0,r|0,t|0)|0;r=H;if((r|0)>=0){a=i+32|0;if(!(c[a>>0]&1))a=a+1|0;else a=h[i+40>>2]|0;t=l-a|0;l=((t|0)<0)<<31>>31;if(!((l|0)<(r|0)|(l|0)==(r|0)&t>>>0>>0)){a=f&8;if(!((n|0)==0&(r|0)==0)){if((a|0)!=0?(h[i+12>>2]|0)==0:0){i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}if((f&16|0)!=0&(u|0)==0){i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}}if(a){h[i+12>>2]=(h[i+8>>2]|0)+n;h[i+16>>2]=s}if(f&16)h[o>>2]=(h[i+20>>2]|0)+n;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=n;h[i+4>>2]=r;return}}i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function Jr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=r+8|0;yE[h[(h[i>>2]|0)+16>>2]&15](e,i,h[r>>2]|0,h[r+4>>2]|0,0,t);return}function Zr(e){e=e|0;var i=0,r=0,t=0,n=0;i=e+44|0;r=h[i>>2]|0;t=h[e+24>>2]|0;if(r>>>0>>0){h[i>>2]=t;r=t}if(!(h[e+48>>2]&8)){e=-1;return e|0}n=e+16|0;i=h[n>>2]|0;t=e+12|0;if(i>>>0>>0){t=h[t>>2]|0;h[n>>2]=r;i=r}else t=h[t>>2]|0;if(t>>>0>=i>>>0){e=-1;return e|0}e=b[t>>0]|0;return e|0}function Qr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;t=e+44|0;r=h[t>>2]|0;n=h[e+24>>2]|0;if(r>>>0>>0){h[t>>2]=n;r=n}l=e+8|0;t=h[l>>2]|0;s=e+12|0;f=h[s>>2]|0;a=t;if(t>>>0>=f>>>0){e=-1;return e|0}if((i|0)==-1){h[l>>2]=t;h[s>>2]=f+-1;h[e+16>>2]=r;e=0;return e|0}if(!(h[e+48>>2]&16)){n=i&255;t=f+-1|0;if(n<<24>>24!=(c[t>>0]|0)){e=-1;return e|0}}else{n=i&255;t=f+-1|0}h[l>>2]=a;h[s>>2]=t;h[e+16>>2]=r;c[t>>0]=n;e=i;return e|0}function $r(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0;_=v;v=v+16|0;u=_;if((i|0)==-1){e=0;v=_;return e|0}d=e+12|0;b=e+8|0;k=(h[d>>2]|0)-(h[b>>2]|0)|0;w=e+24|0;r=h[w>>2]|0;o=e+28|0;t=h[o>>2]|0;do{if((r|0)==(t|0)){l=e+48|0;if(!(h[l>>2]&16)){e=-1;v=_;return e|0}s=e+20|0;a=h[s>>2]|0;n=r-a|0;f=e+44|0;a=(h[f>>2]|0)-a|0;t=e+32|0;T=0;ve(67,t|0,0);r=T;T=0;if(!(r&1)){if(!(c[t>>0]&1))r=10;else r=(h[t>>2]&-2)+-1|0;T=0;xe(8,t|0,r|0,0);r=T;T=0;if(!(r&1)){r=c[t>>0]|0;if(!(r&1)){t=t+1|0;r=(r&255)>>>1}else{t=h[e+40>>2]|0;r=h[e+36>>2]|0}m=t+r|0;h[s>>2]=t;h[o>>2]=m;s=t+n|0;h[w>>2]=s;r=t+a|0;h[f>>2]=r;t=m;break}}m=Ze(0)|0;fi(m|0)|0;li();m=-1;v=_;return m|0}else{m=e+44|0;l=e+48|0;f=m;s=r;r=h[m>>2]|0}}while(0);a=s+1|0;h[u>>2]=a;n=h[(a>>>0>>0?f:u)>>2]|0;h[f>>2]=n;if(h[l>>2]&8){r=e+32|0;if(!(c[r>>0]&1))r=r+1|0;else r=h[e+40>>2]|0;h[b>>2]=r;h[d>>2]=r+k;h[e+16>>2]=n}if((s|0)==(t|0)){m=ME[h[(h[e>>2]|0)+52>>2]&63](e,i&255)|0;v=_;return m|0}else{h[w>>2]=a;c[s>>0]=i;m=i&255;v=_;return m|0}return 0}function et(e){e=e|0;var i=0,r=0;h[e>>2]=36200;i=e+56|0;h[i>>2]=36220;r=e+4|0;h[r>>2]=36236;qd(e+36|0);gh(r);bh(i);return}function it(e){e=e|0;var i=0,r=0;h[e>>2]=36200;i=e+56|0;h[i>>2]=36220;r=e+4|0;h[r>>2]=36236;qd(e+36|0);gh(r);bh(i);zv(e);return}function rt(e){e=e|0;var i=0,r=0,t=0,n=0;n=h[(h[e>>2]|0)+-12>>2]|0;i=e+n|0;h[i>>2]=36200;r=e+(n+56)|0;h[r>>2]=36220;t=e+(n+4)|0;h[t>>2]=36236;qd(e+(n+36)|0);gh(t);bh(r);zv(i);return}function tt(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36388;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function nt(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36388;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function ft(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+36|0;if(!(h[n>>2]|0)){l=e+40|0;ot(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;ot(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function at(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;lt(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{st(e,n,i,r,t);return}}function lt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;l=e+4|0;f=h[l>>2]|0;do{if(!(c[f+32>>0]|0))s=i;else{e=e+8|0;Im(h[e>>2]|0,i|0,t*6|0)|0;f=h[l>>2]|0;a=h[f+16>>2]|0;if((t|0)<=0){s=h[e>>2]|0;break}e=h[e>>2]|0;f=e;i=0;while(1){s=f+4|0;o=d[f>>1]|0;d[f>>1]=d[s>>1]|0;d[s>>1]=o;i=i+1|0;if((i|0)==(t|0))break;else f=f+(a<<1)|0}s=e;f=h[l>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{l=k[s+(f*6|0)+2>>1]|0;n=32768-l+(k[s+(f*6|0)+4>>1]|0)|0;o=(k[s+(f*6|0)>>1]|0)-l+32768|0;d[r+(f*6|0)>>1]=l+49152+(((n&65535)+(o&65535)|0)>>>2);d[r+(f*6|0)+2>>1]=n;d[r+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{l=k[s+(i*6|0)+2>>1]|0;t=32768-l+(k[s+(i*6|0)+4>>1]|0)|0;o=(k[s+(i*6|0)>>1]|0)-l+32768|0;d[r+(i<<1)>>1]=l+49152+(((t&65535)+(o&65535)|0)>>>2);d[r+(i+n<<1)>>1]=t;d[r+(i+e<<1)>>1]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{o=d[s+(a<<3)+6>>1]|0;u=k[s+(a<<3)+2>>1]|0;l=32768-u+(k[s+(a<<3)+4>>1]|0)|0;t=(k[s+(a<<3)>>1]|0)-u+32768|0;d[r+(a<<1)>>1]=u+49152+(((l&65535)+(t&65535)|0)>>>2);d[r+(a+n<<1)>>1]=l;d[r+(a+e<<1)>>1]=t;d[r+(a+i<<1)>>1]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function st(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;lt(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;lt(e,w,r,t,n);v=d;return}function ot(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){l=k[i+(e*6|0)+2>>1]|0;a=k[i+(e*6|0)+4>>1]|0;n=(k[i+(e*6|0)>>1]|0)-((a+l|0)>>>2)+16384|0;d[r+(e*6|0)>>1]=a+32768+n;d[r+(e*6|0)+2>>1]=n;d[r+(e*6|0)+4>>1]=l+32768+n;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{o=k[i+(a+n<<1)>>1]|0;u=k[i+(a+f<<1)>>1]|0;l=(k[i+(a<<1)>>1]|0)-((u+o|0)>>>2)+16384|0;d[r+(a*6|0)>>1]=u+32768+l;d[r+(a*6|0)+2>>1]=l;d[r+(a*6|0)+4>>1]=o+32768+l;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{o=k[i+(a+n<<1)>>1]|0;b=k[i+(a+e<<1)>>1]|0;u=(k[i+(a<<1)>>1]|0)-((b+o|0)>>>2)+16384|0;w=d[i+(a+f<<1)>>1]|0;_=Bm(u&65535|0,0,16)|0;o=o+32768+u|H;w=Bm(w&65535|0,0,48)|0;w=_|b+32768+u&65535|w;o=o&65535|H;u=r+(a<<3)|0;b=u;d[b>>1]=w;d[b+2>>1]=w>>>16;u=u+4|0;d[u>>1]=o;d[u+2>>1]=o>>>16;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)<=0)return;e=r;f=0;while(1){_=e+4|0;w=d[e>>1]|0;d[e>>1]=d[_>>1]|0;d[_>>1]=w;f=f+1|0;if((f|0)==(t|0))break;else e=e+(a<<1)|0}return}function ut(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36412;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function ct(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36412;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function dt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+36|0;if(!(h[n>>2]|0)){l=e+40|0;wt(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;wt(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function ht(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;bt(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{kt(e,n,i,r,t);return}}function bt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0;l=e+4|0;f=h[l>>2]|0;do{if(!(c[f+32>>0]|0))s=i;else{e=e+8|0;Im(h[e>>2]|0,i|0,t*6|0)|0;f=h[l>>2]|0;a=h[f+16>>2]|0;if((t|0)<=0){s=h[e>>2]|0;break}e=h[e>>2]|0;f=e;i=0;while(1){s=f+4|0;o=d[f>>1]|0;d[f>>1]=d[s>>1]|0;d[s>>1]=o;i=i+1|0;if((i|0)==(t|0))break;else f=f+(a<<1)|0}s=e;f=h[l>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{a=k[s+(f*6|0)>>1]|0;n=d[s+(f*6|0)+2>>1]|0;l=n&65535;o=(k[s+(f*6|0)+4>>1]|0)+32768-((l+a|0)>>>1)&65535;d[r+(f*6|0)>>1]=a+32768-l;d[r+(f*6|0)+2>>1]=n;d[r+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{t=d[s+(i*6|0)+2>>1]|0;a=k[s+(i*6|0)>>1]|0;l=t&65535;o=(k[s+(i*6|0)+4>>1]|0)+32768-((l+a|0)>>>1)&65535;d[r+(i<<1)>>1]=a+32768-l;d[r+(i+n<<1)>>1]=t;d[r+(i+e<<1)>>1]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{l=d[s+(a<<3)+2>>1]|0;o=d[s+(a<<3)+6>>1]|0;b=k[s+(a<<3)>>1]|0;u=l&65535;t=(k[s+(a<<3)+4>>1]|0)+32768-((u+b|0)>>>1)&65535;d[r+(a<<1)>>1]=b+32768-u;d[r+(a+n<<1)>>1]=l;d[r+(a+e<<1)>>1]=t;d[r+(a+i<<1)>>1]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function kt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;bt(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;bt(e,w,r,t,n);v=d;return}function wt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){l=d[i+(e*6|0)+2>>1]|0;n=l&65535;a=(k[i+(e*6|0)>>1]|0)+32768+n|0;n=(k[i+(e*6|0)+4>>1]|0)+32768+(((a&65535)+n|0)>>>1)&65535;d[r+(e*6|0)>>1]=a;d[r+(e*6|0)+2>>1]=l;d[r+(e*6|0)+4>>1]=n;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{o=d[i+(a+n<<1)>>1]|0;l=o&65535;u=(k[i+(a<<1)>>1]|0)+32768+l|0;l=(k[i+(a+f<<1)>>1]|0)+32768+(((u&65535)+l|0)>>>1)&65535;d[r+(a*6|0)>>1]=u;d[r+(a*6|0)+2>>1]=o;d[r+(a*6|0)+4>>1]=l;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=d[i+(a+n<<1)>>1]|0;o=u&65535;b=(k[i+(a<<1)>>1]|0)+32768+o&65535;o=(k[i+(a+e<<1)>>1]|0)+32768+((b+o|0)>>>1)|0;w=d[i+(a+f<<1)>>1]|0;u=Bm(u&65535|0,0,16)|0;o=H|o;w=Bm(w&65535|0,0,48)|0;w=b|u|w;o=o&65535|H;u=r+(a<<3)|0;b=u;d[b>>1]=w;d[b+2>>1]=w>>>16;u=u+4|0;d[u>>1]=o;d[u+2>>1]=o>>>16;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)<=0)return;e=r;f=0;while(1){w=e+4|0;b=d[e>>1]|0;d[e>>1]=d[w>>1]|0;d[w>>1]=b;f=f+1|0;if((f|0)==(t|0))break;else e=e+(a<<1)|0}return}function _t(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36436;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function mt(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36436;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function pt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+36|0;if(!(h[n>>2]|0)){l=e+40|0;Et(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;Et(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function vt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;gt(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{yt(e,n,i,r,t);return}}function gt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;l=e+4|0;f=h[l>>2]|0;do{if(!(c[f+32>>0]|0))s=i;else{e=e+8|0;Im(h[e>>2]|0,i|0,t*6|0)|0;f=h[l>>2]|0;a=h[f+16>>2]|0;if((t|0)<=0){s=h[e>>2]|0;break}e=h[e>>2]|0;f=e;i=0;while(1){s=f+4|0;o=d[f>>1]|0;d[f>>1]=d[s>>1]|0;d[s>>1]=o;i=i+1|0;if((i|0)==(t|0))break;else f=f+(a<<1)|0}s=e;f=h[l>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{n=d[s+(f*6|0)+2>>1]|0;l=n&65535;o=32768-l+(k[s+(f*6|0)+4>>1]|0)&65535;d[r+(f*6|0)>>1]=(k[s+(f*6|0)>>1]|0)+32768-l;d[r+(f*6|0)+2>>1]=n;d[r+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{t=d[s+(i*6|0)+2>>1]|0;l=t&65535;o=32768-l+(k[s+(i*6|0)+4>>1]|0)&65535;d[r+(i<<1)>>1]=(k[s+(i*6|0)>>1]|0)+32768-l;d[r+(i+n<<1)>>1]=t;d[r+(i+e<<1)>>1]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{l=d[s+(a<<3)+2>>1]|0;o=d[s+(a<<3)+6>>1]|0;u=l&65535;t=32768-u+(k[s+(a<<3)+4>>1]|0)&65535;d[r+(a<<1)>>1]=(k[s+(a<<3)>>1]|0)+32768-u;d[r+(a+n<<1)>>1]=l;d[r+(a+e<<1)>>1]=t;d[r+(a+i<<1)>>1]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function yt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;gt(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;gt(e,w,r,t,n);v=d;return}function Et(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){l=d[i+(e*6|0)+2>>1]|0;a=l&65535;n=a+32768+(k[i+(e*6|0)+4>>1]|0)&65535;d[r+(e*6|0)>>1]=(k[i+(e*6|0)>>1]|0)+32768+a;d[r+(e*6|0)+2>>1]=l;d[r+(e*6|0)+4>>1]=n;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{o=d[i+(a+n<<1)>>1]|0;u=o&65535;l=u+32768+(k[i+(a+f<<1)>>1]|0)&65535;d[r+(a*6|0)>>1]=(k[i+(a<<1)>>1]|0)+32768+u;d[r+(a*6|0)+2>>1]=o;d[r+(a*6|0)+4>>1]=l;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=d[i+(a+n<<1)>>1]|0;o=u&65535;b=(k[i+(a<<1)>>1]|0)+32768+o|0;o=o+32768+(k[i+(a+e<<1)>>1]|0)|0;w=d[i+(a+f<<1)>>1]|0;u=Bm(u&65535|0,0,16)|0;o=H|o;w=Bm(w&65535|0,0,48)|0;w=b&65535|u|w;o=o&65535|H;u=r+(a<<3)|0;b=u;d[b>>1]=w;d[b+2>>1]=w>>>16;u=u+4|0;d[u>>1]=o;d[u+2>>1]=o>>>16;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)<=0)return;e=r;f=0;while(1){w=e+4|0;b=d[e>>1]|0;d[e>>1]=d[w>>1]|0;d[w>>1]=b;f=f+1|0;if((f|0)==(t|0))break;else e=e+(a<<1)|0}return}function At(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36460;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function Mt(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36460;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function Tt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+36|0;if(!(h[n>>2]|0)){l=e+40|0;Rt(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;Rt(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function St(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;Pt(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Ot(e,n,i,r,t);return}}function Pt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0;l=e+4|0;f=h[l>>2]|0;do{if(!(c[f+32>>0]|0))s=i;else{e=e+8|0;Im(h[e>>2]|0,i|0,t*6|0)|0;f=h[l>>2]|0;a=h[f+16>>2]|0;if((t|0)<=0){s=h[e>>2]|0;break}e=h[e>>2]|0;f=e;i=0;while(1){s=f+4|0;o=d[f>>1]|0;d[f>>1]=d[s>>1]|0;d[s>>1]=o;i=i+1|0;if((i|0)==(t|0))break;else f=f+(a<<1)|0}s=e;f=h[l>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{n=d[s+(f*6|0)+2>>1]|0;o=d[s+(f*6|0)+4>>1]|0;d[r+(f*6|0)>>1]=d[s+(f*6|0)>>1]|0;d[r+(f*6|0)+2>>1]=n;d[r+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{t=d[s+(i*6|0)+2>>1]|0;o=d[s+(i*6|0)+4>>1]|0;d[r+(i<<1)>>1]=d[s+(i*6|0)>>1]|0;d[r+(i+n<<1)>>1]=t;d[r+(i+e<<1)>>1]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{l=d[s+(a<<3)+2>>1]|0;t=d[s+(a<<3)+4>>1]|0;o=d[s+(a<<3)+6>>1]|0;d[r+(a<<1)>>1]=d[s+(a<<3)>>1]|0;d[r+(a+n<<1)>>1]=l;d[r+(a+e<<1)>>1]=t;d[r+(a+i<<1)>>1]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function Ot(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;Pt(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;Pt(e,w,r,t,n);v=d;return}function Rt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){l=d[i+(e*6|0)+2>>1]|0;n=d[i+(e*6|0)+4>>1]|0;d[r+(e*6|0)>>1]=d[i+(e*6|0)>>1]|0;d[r+(e*6|0)+2>>1]=l;d[r+(e*6|0)+4>>1]=n;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{o=d[i+(a+n<<1)>>1]|0;l=d[i+(a+f<<1)>>1]|0;d[r+(a*6|0)>>1]=d[i+(a<<1)>>1]|0;d[r+(a*6|0)+2>>1]=o;d[r+(a*6|0)+4>>1]=l;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{o=d[i+(a<<1)>>1]|0;w=d[i+(a+f<<1)>>1]|0;u=k[i+(a+e<<1)>>1]|0;b=Bm(k[i+(a+n<<1)>>1]|0,0,16)|0;u=H|u;w=Bm(w&65535|0,0,48)|0;w=b|o&65535|w;u=u&65535|H;o=r+(a<<3)|0;b=o;d[b>>1]=w;d[b+2>>1]=w>>>16;o=o+4|0;d[o>>1]=u;d[o+2>>1]=u>>>16;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)<=0)return;e=r;f=0;while(1){w=e+4|0;b=d[e>>1]|0;d[e>>1]=d[w>>1]|0;d[w>>1]=b;f=f+1|0;if((f|0)==(t|0))break;else e=e+(a<<1)|0}return}function Lt(e){e=e|0;return}function Ct(e){e=e|0;zv(e);return}function Dt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=ce(h[e+8>>2]|0,r)|0;e=h[e+4>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,i,r)|0)==(r|0))return;t=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,t|0,3,35648);e=T;T=0;if(e&1){e=Ze()|0;We(t|0);si(e|0)}else Ei(t|0,824,96)}function xt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;o=u;s=e+8|0;n=h[s>>2]|0;t=ce(n,r)|0;do{if(t){a=e+4|0;f=t;while(1){n=h[a>>2]|0;n=vE[h[(h[n>>2]|0)+32>>2]&63](n,i,f)|0;if(!n)break;t=f-n|0;if((f|0)==(n|0)){l=11;break}else f=t}if((l|0)==11){n=h[s>>2]|0;f=t;break}t=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,t|0,3,35648);e=T;T=0;if(e&1){e=Ze()|0;We(t|0);si(e|0)}else Ei(t|0,824,96)}else f=0}while(0);if((n|0)==2){Rr(i,r<<1);n=h[s>>2]|0}t=h[e+12>>2]|0;if((t|0)<=(ce(n,r)|0)){v=u;return}e=h[e+4>>2]|0;yE[h[(h[e>>2]|0)+16>>2]&15](o,e,t-f|0,0,1,24);v=u;return}function It(e){e=e|0;zv(e);return}function Bt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=e+4|0;Im(h[t>>2]|0,i|0,ce(h[e+8>>2]|0,r)|0)|0;h[t>>2]=(h[t>>2]|0)+(h[e+12>>2]|0);return}function Nt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=e+4|0;Im(i|0,h[t>>2]|0,ce(h[e+8>>2]|0,r)|0)|0;h[t>>2]=(h[t>>2]|0)+(h[e+12>>2]|0);return}function Ft(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;h[e+112>>2]=0;h[e+108>>2]=0;o=h[i>>2]|0;n=o;do{if(o){a=e+92|0;o=e+96|0;l=h[o>>2]|0;s=h[a>>2]|0;r=s;t=l-r|0;if(t>>>0>=4e4)if(t>>>0>4e4?(f=s+4e4|0,(l|0)!=(f|0)):0){h[o>>2]=f;f=r}else f=r;else{Ut(a,4e4-t|0);f=h[a>>2]|0;n=h[i>>2]|0}r=e+116|0;h[r>>2]=f;l=e+124|0;h[l>>2]=f;s=e+104|0;h[s>>2]=n;t=n;if(n){if((h[t+12>>2]|0)==(h[t+16>>2]|0)){i=(mE[h[(h[n>>2]|0)+36>>2]&127](t)|0)==-1;t=h[l>>2]|0;if(i)break;n=h[r>>2]|0}else{t=f;n=f}a=t-n|0;if(a>>>0<=64){f=e+92|0;if((t|0)==(n|0))t=n;else{t=n;n=0;do{c[(h[f>>2]|0)+n>>0]=c[t+n>>0]|0;n=n+1|0;t=h[r>>2]|0}while(n>>>0>>0);n=h[l>>2]|0}f=h[f>>2]|0;i=f;u=i-t|0;h[r>>2]=f;t=n+u|0;h[l>>2]=t;f=e+120|0;h[f>>2]=(h[f>>2]|0)+u;s=h[s>>2]|0;t=vE[h[(h[s>>2]|0)+32>>2]&63](s,t,(h[o>>2]|0)-(i+a)|0)|0;t=(h[l>>2]|0)+t|0;h[l>>2]=t}}else t=f}else{h[e+104>>2]=0;t=h[i+4>>2]|0;r=e+116|0;h[r>>2]=t;t=t+(h[i+8>>2]|0)|0;h[e+124>>2]=t}}while(0);r=h[r>>2]|0;if(r>>>0>=t>>>0){o=r;u=e+120|0;h[u>>2]=o;Jt(e);return}while(1){if((c[r>>0]|0)==-1){t=20;break}r=r+1|0;if(r>>>0>=t>>>0){t=20;break}}if((t|0)==20){u=e+120|0;h[u>>2]=r;Jt(e);return}}function Ut(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;s=e+8|0;n=h[s>>2]|0;o=e+4|0;r=h[o>>2]|0;t=r;if((n-t|0)>>>0>=i>>>0){do{c[r>>0]=0;r=(h[o>>2]|0)+1|0;h[o>>2]=r;i=i+-1|0}while((i|0)!=0);return}r=h[e>>2]|0;f=t-r+i|0;if((f|0)<0){Yv(e);n=h[s>>2]|0;r=h[e>>2]|0}t=n-r|0;if(t>>>0<1073741823){t=t<<1;t=t>>>0>>0?f:t;r=(h[o>>2]|0)-r|0;if(!t){n=0;a=0;f=r}else l=8}else{t=2147483647;r=(h[o>>2]|0)-r|0;l=8}if((l|0)==8){n=t;a=Xv(t)|0;f=r}r=a+f|0;n=a+n|0;t=r;do{c[t>>0]=0;t=r+1|0;r=t;i=i+-1|0}while((i|0)!=0);i=h[e>>2]|0;t=(h[o>>2]|0)-i|0;l=a+(f-t)|0;Im(l|0,i|0,t|0)|0;h[e>>2]=l;h[o>>2]=r;h[s>>2]=n;if(!i)return;zv(i);return}function jt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+32|0;y=p+12|0;m=p;k=e+180|0;w=(h[k>>2]|0)+4|0;if((h[e+32>>2]|0)==1)_=h[e+24>>2]|0;else _=1;i=ce(_<<1,w)|0;h[y>>2]=0;E=y+4|0;h[E>>2]=0;h[y+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,y|0),g=T,T=0,g&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,g=T,T=0,!(g&1)):0){h[y>>2]=t;g=t+(i<<1)|0;h[y+8>>2]=g;Cm(t|0,0,r|0)|0;h[E>>2]=g;break}t=Ze()|0;i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[m>>2]=0;g=m+4|0;h[g>>2]=0;h[m+8>>2]=0;do{if(!_)a=18;else{if(!(_>>>0>1073741823?(T=0,pe(178,m|0),b=T,T=0,b&1):0))a=16;if((a|0)==16?(n=_<<2,T=0,f=ye(67,n|0)|0,b=T,T=0,!(b&1)):0){h[m>>2]=f;a=f+(_<<2)|0;h[m+8>>2]=a;Cm(f|0,0,n|0)|0;h[g>>2]=a;a=18;break}t=Ze()|0;i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+12|0;e:do{if((h[f>>2]|0)>0){a=e+4604|0;l=(ce(_,w)|0)+1|0;s=e+4608|0;o=e+92|0;u=(_|0)>0;c=e+4600|0;b=0;i:while(1){r=h[y>>2]|0;i=r+2|0;h[a>>2]=i;r=r+(l<<1)|0;h[s>>2]=r;if(!(b&1))i=r;else{h[a>>2]=r;h[s>>2]=i}n=h[o>>2]|0;T=0;Fe(h[(h[n>>2]|0)+12>>2]|0,n|0,i|0,h[k>>2]|0,w|0);n=T;T=0;if(n&1){a=28;break}if(u){i=h[a>>2]|0;r=h[s>>2]|0;t=h[m>>2]|0;n=0;do{h[c>>2]=h[t+(n<<2)>>2];t=h[k>>2]|0;d[i+(t<<1)>>1]=d[i+(t+-1<<1)>>1]|0;d[r+-2>>1]=d[i>>1]|0;T=0;ve(68,e|0,0);t=T;T=0;if(t&1){a=27;break i}t=h[m>>2]|0;h[t+(n<<2)>>2]=h[c>>2];i=(h[a>>2]|0)+(w<<1)|0;h[a>>2]=i;r=(h[s>>2]|0)+(w<<1)|0;h[s>>2]=r;n=n+1|0}while((n|0)<(_|0))}b=b+1|0;if((b|0)>=(h[f>>2]|0)){a=40;break e}}if((a|0)==27){t=Ze()|0;break}else if((a|0)==28){t=Ze()|0;break}}else a=40}while(0);do{if((a|0)==40){T=0;pe(182,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[m>>2]|0;r=i;if(i){t=h[g>>2]|0;if((t|0)!=(i|0))h[g>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[y>>2]|0;if(!i){v=p;return}r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=p;return}}while(0);i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function Ht(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4604|0;i=h[b>>2]|0;m=e+180|0;if((h[m>>2]|0)<=0)return;w=e+4608|0;_=e+4612|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(Vt(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=zt(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function Yt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;n=e+104|0;if((h[n>>2]|0)>>>0<4)qt(e);f=e+100|0;a=e+112|0;l=e+96|0;s=e+108|0;o=e+116|0;i=h[f>>2]|0;t=0;do{r=c[a>>0]|0;if((i|0)>31)break;i=h[l>>2]|0;if(!(r<<24>>24)){c[h[s>>2]>>0]=i>>>24;h[l>>2]=h[l>>2]<<8;i=(h[f>>2]|0)+8|0}else{c[h[s>>2]>>0]=i>>>25;h[l>>2]=h[l>>2]<<7;i=(h[f>>2]|0)+7|0}h[f>>2]=i;u=h[s>>2]|0;r=(c[u>>0]|0)==-1&1;c[a>>0]=r;h[s>>2]=u+1;h[n>>2]=(h[n>>2]|0)+-1;h[o>>2]=(h[o>>2]|0)+1;t=t+1|0}while((t|0)<4);if(!(r<<24>>24))Xt(e,0,(i|0)%8|0);else Xt(e,0,(i+-1|0)%8|0);if((h[n>>2]|0)>>>0<4)qt(e);i=h[f>>2]|0;r=0;do{if((i|0)>31)break;i=h[l>>2]|0;if(!(c[a>>0]|0)){c[h[s>>2]>>0]=i>>>24;h[l>>2]=h[l>>2]<<8;i=(h[f>>2]|0)+8|0}else{c[h[s>>2]>>0]=i>>>25;h[l>>2]=h[l>>2]<<7;i=(h[f>>2]|0)+7|0}h[f>>2]=i;u=h[s>>2]|0;c[a>>0]=(c[u>>0]|0)==-1&1;h[s>>2]=u+1;h[n>>2]=(h[n>>2]|0)+-1;h[o>>2]=(h[o>>2]|0)+1;r=r+1|0}while((r|0)<4);if(!(h[e+132>>2]|0))return;qt(e);return}function qt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;i=h[e+132>>2]|0;if(!i){i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,4,35648);e=T;T=0;if(!(e&1))Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}r=e+108|0;t=e+120|0;f=h[t>>2]|0;n=(h[r>>2]|0)-f|0;if((vE[h[(h[i>>2]|0)+48>>2]&63](i,f,n)|0)==(n|0)){f=h[t>>2]|0;h[r>>2]=f;h[e+104>>2]=(h[e+124>>2]|0)-f;return}i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,4,35648);f=T;T=0;if(!(f&1))Ei(i|0,824,96);f=Ze()|0;We(i|0);si(f|0)}function Xt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;o=e+100|0;r=(h[o>>2]|0)-r|0;h[o>>2]=r;if((r|0)>-1){u=e+96|0;h[u>>2]=h[u>>2]|i<>2]=h[u>>2]|i>>0-r;s=e+104|0;if((h[s>>2]|0)>>>0<4){qt(e);r=h[o>>2]|0}f=e+112|0;a=e+108|0;l=e+116|0;t=0;while(1){if((r|0)>31)break;r=h[u>>2]|0;if(!(c[f>>0]|0)){c[h[a>>2]>>0]=r>>>24;h[u>>2]=h[u>>2]<<8;r=(h[o>>2]|0)+8|0}else{c[h[a>>2]>>0]=r>>>25;h[u>>2]=h[u>>2]<<7;r=(h[o>>2]|0)+7|0}h[o>>2]=r;d=h[a>>2]|0;c[f>>0]=(c[d>>0]|0)==-1&1;h[a>>2]=d+1;h[s>>2]=(h[s>>2]|0)+-1;h[l>>2]=(h[l>>2]|0)+1;t=t+1|0;if((t|0)>=4){n=11;break}}e:do{if((n|0)==11)if((r|0)<0){h[u>>2]=h[u>>2]|i>>0-r;if((h[s>>2]|0)>>>0<4){qt(e);r=h[o>>2]|0;t=0}else t=0;do{if((r|0)>31)break e;r=h[u>>2]|0;if(!(c[f>>0]|0)){c[h[a>>2]>>0]=r>>>24;h[u>>2]=h[u>>2]<<8;r=(h[o>>2]|0)+8|0}else{c[h[a>>2]>>0]=r>>>25;h[u>>2]=h[u>>2]<<7;r=(h[o>>2]|0)+7|0}h[o>>2]=r;d=h[a>>2]|0;c[f>>0]=(c[d>>0]|0)==-1&1;h[a>>2]=d+1;h[s>>2]=(h[s>>2]|0)+-1;h[l>>2]=(h[l>>2]|0)+1;t=t+1|0}while((t|0)<4)}}while(0);h[u>>2]=h[u>>2]|i<>31;f=(_^i)-_|0;k=e+196+(f*12|0)+10|0;a=d[k>>1]|0;b=e+196+(f*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){i=5;while(1)if((a<>1]^_)-_+t|0;w=e+136|0;t=h[w>>2]|0;if((n&t|0)==(n|0))o=n;else o=t&~(n>>31);n=(r-o^_)-_|0;s=e+144|0;t=h[s>>2]|0;if((n|0)>0)n=(n+t|0)/(t<<1|1|0)|0;else n=(n-t|0)/(t<<1|1|0)|0;c=e+140|0;l=h[c>>2]|0;r=((n|0)<0?l:0)+n|0;l=r-((r|0)<((l+1|0)/2|0|0)?0:l)|0;f=e+196+(f*12|0)+4|0;if(!(t|i))n=(h[f>>2]<<1)+-1+a>>31;else n=0;t=n^l;Wt(e,i,t>>30^t<<1,h[e+156>>2]|0);t=h[e+160>>2]|0;i=(h[b>>2]|0)+((l|0)>-1?l:0-l|0)|0;n=(h[f>>2]|0)+(ce(h[s>>2]<<1|1,l)|0)|0;r=d[k>>1]|0;if((r|0)==(t|0)){i=i>>1;n=n>>1;r=t>>1}h[b>>2]=i;t=r+1|0;d[k>>1]=t;i=t+n|0;if((i|0)>=1){if((n|0)>0){n=n-t|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);n=(n|0)>0?0:n}}else{n=d[u>>1]|0;d[u>>1]=(n&65535)-(n<<16>>16>-128&1);n=(i|0)>(~r|0)?i:0-r|0}h[f>>2]=n;t=h[s>>2]|0;r=t<<1|1;i=(ce(r,(l^_)-_|0)|0)+o|0;if((i|0)>=(0-t|0)){n=h[w>>2]|0;if((n+t|0)<(i|0))i=i-(ce(h[c>>2]|0,r)|0)|0}else{i=(ce(h[c>>2]|0,r)|0)+i|0;n=h[w>>2]|0}if((i&n|0)==(i|0)){_=i;_=_&65535;return _|0}_=n&~(i>>31);_=_&65535;return _|0}function Vt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;s=(h[e+180>>2]|0)-i|0;o=h[e+4608>>2]|0;u=h[e+4604>>2]|0;n=d[o+(i+-1<<1)>>1]|0;l=n&65535;r=h[e+144>>2]|0;f=0;while(1){t=o+(f+i<<1)|0;a=(k[t>>1]|0)-l|0;if((((a|0)>-1?a:0-a|0)|0)>(r|0))break;d[t>>1]=n;f=f+1|0;if((f|0)==(s|0)){f=s;break}}n=(f|0)==(s|0);a=e+4600|0;t=h[36476+(h[a>>2]<<2)>>2]|0;if((1<(f|0))r=f;else{r=f;do{Xt(e,1,1);t=h[a>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[a>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>1]|0,l,k[u+(s<<1)>>1]|0)|0;d[i>>1]=e;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;e=f+1|0;return e|0}if(!r){e=s;return e|0}Xt(e,1,1);e=s;return e|0}function Gt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;l=r-t|0;s=e+136|0;a=e+144|0;n=h[a>>2]|0;if((((l|0)>-1?l:0-l|0)|0)>(n|0)){f=t-r>>31|1;i=ce(f,i-t|0)|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=h[l>>2]|0;r=((i|0)<0?n:0)+i|0;n=r-((r|0)<((n+1|0)/2|0|0)?0:n)|0;Kt(e,e+4576|0,n);n=ce(n,f)|0;f=h[a>>2]|0;a=f<<1|1;n=(ce(n,a)|0)+t|0;if((n|0)>=(0-f|0)){i=h[s>>2]|0;if((i+f|0)<(n|0))n=n-(ce(h[l>>2]|0,a)|0)|0}else{n=(ce(h[l>>2]|0,a)|0)+n|0;i=h[s>>2]|0}if((n&i|0)==(n|0)){s=n;s=s&65535;return s|0}s=i&~(n>>31);s=s&65535;return s|0}else{i=i-r|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=h[l>>2]|0;f=((i|0)<0?n:0)+i|0;n=f-((f|0)<((n+1|0)/2|0|0)?0:n)|0;Kt(e,e+4588|0,n);f=h[a>>2]|0;a=f<<1|1;n=(ce(a,n)|0)+r|0;if((n|0)>=(0-f|0)){i=h[s>>2]|0;if((i+f|0)<(n|0))n=n-(ce(h[l>>2]|0,a)|0)|0}else{n=(ce(h[l>>2]|0,a)|0)+n|0;i=h[s>>2]|0}if((n&i|0)==(n|0)){s=n;s=s&65535;return s|0}s=i&~(n>>31);s=s&65535;return s|0}return 0}function Kt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;Wt(e,n,t,(h[e+156>>2]|0)+-1-(h[36476+(h[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function Wt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=r>>i;f=e+148|0;a=t-(h[f>>2]|0)|0;if((n|0)<(a+-1|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-31-(h[f>>2]|0)|0)}else Xt(e,1,a);i=h[f>>2]|0;Xt(e,(1<>2]|0;s=e+120|0;if(i>>>0<((h[s>>2]|0)+-3|0)>>>0){s=e+112|0;a=h[s>>2]|0;e=e+108|0;h[e>>2]=(b[i+1>>0]<<16|b[i>>0]<<24|b[i+2>>0]<<8|b[i+3>>0])>>>a|h[e>>2];e=32-a>>3;h[l>>2]=i+e;h[s>>2]=(e<<3)+a;return}a=e+104|0;r=h[a>>2]|0;do{if(r){if((h[r+12>>2]|0)==(h[r+16>>2]|0)){if((mE[h[(h[r>>2]|0)+36>>2]&127](r)|0)==-1)break;i=h[l>>2]|0}n=e+124|0;r=h[n>>2]|0;f=r-i|0;if(f>>>0<=64){t=e+92|0;if((r|0)==(i|0))r=i;else{r=0;do{c[(h[t>>2]|0)+r>>0]=c[i+r>>0]|0;r=r+1|0;i=h[l>>2]|0}while(r>>>0>>0);r=i;i=h[n>>2]|0}u=h[t>>2]|0;t=u;o=t-r|0;h[l>>2]=u;r=i+o|0;h[n>>2]=r;h[s>>2]=(h[s>>2]|0)+o;a=h[a>>2]|0;a=vE[h[(h[a>>2]|0)+32>>2]&63](a,r,(h[e+96>>2]|0)-(t+f)|0)|0;h[n>>2]=(h[n>>2]|0)+a}}}while(0);a=e+112|0;f=e+108|0;e=h[e+124>>2]|0;n=e+-1|0;i=h[l>>2]|0;while(1){if(i>>>0>=e>>>0){r=14;break}t=c[i>>0]|0;r=t&255;t=t<<24>>24==-1;if(t){if((i|0)==(n|0)){r=25;break}i=i+1|0;if((c[i>>0]|0)<0){r=25;break}}else i=i+1|0;u=h[a>>2]|0;h[f>>2]=r<<24-u|h[f>>2];h[l>>2]=i;u=u+(t?7:8)|0;h[a>>2]=u;if((u|0)>=24){r=33;break}}if((r|0)==14){if((h[a>>2]|0)>=1)return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,5,35648);u=T;T=0;if(!(u&1))Ei(i|0,824,96);u=Ze()|0;We(i|0);si(u|0)}else if((r|0)==25){if((h[a>>2]|0)>=1)return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,5,35648);u=T;T=0;if(!(u&1))Ei(i|0,824,96);u=Ze()|0;We(i|0);si(u|0)}else if((r|0)==33){e:do{if(i>>>0>>0)do{if((c[i>>0]|0)==-1)break e;i=i+1|0}while(i>>>0>>0)}while(0);h[s>>2]=i;return}}function Zt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+144|0;e:do{if(!(h[d>>2]|0)){r=h[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+184>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+188>>2]|0):0)?(h[t+12>>2]|0)==(h[e+192>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4612>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4612>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4612>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4612>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+152|0}while(0);u=1<>2];r=e+4616|0;t=u<<1;n=e+4620|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4612|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+192|0;s=e+188|0;a=e+184|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function Qt(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;s=e+8|0;n=h[s>>2]|0;o=e+4|0;r=h[o>>2]|0;t=r;if((n-t|0)>>>0>=i>>>0){do{c[r>>0]=0;r=(h[o>>2]|0)+1|0;h[o>>2]=r;i=i+-1|0}while((i|0)!=0);return}r=h[e>>2]|0;f=t-r+i|0;if((f|0)<0){Yv(e);n=h[s>>2]|0;r=h[e>>2]|0}t=n-r|0;if(t>>>0<1073741823){t=t<<1;t=t>>>0>>0?f:t;r=(h[o>>2]|0)-r|0;if(!t){n=0;a=0;f=r}else l=8}else{t=2147483647;r=(h[o>>2]|0)-r|0;l=8}if((l|0)==8){n=t;a=Xv(t)|0;f=r}r=a+f|0;n=a+n|0;t=r;do{c[t>>0]=0;t=r+1|0;r=t;i=i+-1|0}while((i|0)!=0);i=h[e>>2]|0;t=(h[o>>2]|0)-i|0;l=a+(f-t)|0;Im(l|0,i|0,t|0)|0;h[e>>2]=l;h[o>>2]=r;h[s>>2]=n;if(!i)return;zv(i);return}function $t(e){e=e|0;var i=0,r=0;h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function en(e){e=e|0;var i=0,r=0;h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function rn(e){e=e|0;var i=0,r=0;h[e>>2]=36052;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function tn(e){e=e|0;var i=0,r=0;h[e>>2]=36052;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function nn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+136>>2]|0,h[e+144>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+184>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+188>>2]=f;h[e+192>>2]=n;bn(e);n=e+140|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+196+(f*12|0)>>2]=i;h[e+196+(f*12|0)+4>>2]=0;d[e+196+(f*12|0)+8>>1]=0;d[e+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4576>>2]=l;h[e+4580>>2]=0;c[e+4584>>0]=s;c[e+4585>>0]=1;c[e+4586>>0]=0;h[e+4588>>2]=l;h[e+4592>>2]=1;c[e+4596>>0]=s;c[e+4597>>0]=1;c[e+4598>>0]=0;h[e+4600>>2]=0;v=a;return}function fn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4624)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35828;h[i+128>>2]=h[e+136>>2];h[i+132>>2]=h[e+140>>2];h[i+136>>2]=h[e+144>>2];h[i+140>>2]=h[e+148>>2];h[i+144>>2]=h[e+152>>2];h[i+148>>2]=h[e+156>>2];h[i+152>>2]=h[e+160>>2];n=i+156|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+172>>2]=h[t>>2];h[i+176>>2]=0;h[i+180>>2]=0;h[i+184>>2]=0;n=i+4568|0;t=i+188|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4580|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4592|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];ln(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;ln(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function an(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=6;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=6;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function ln(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;m=v;v=v+32|0;g=m+12|0;_=m;b=e+180|0;k=(h[b>>2]|0)+4|0;if((h[e+32>>2]|0)==1)w=h[e+24>>2]|0;else w=1;i=ce(w<<1,k)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;do{if(i){if(!(i>>>0>715827882?(T=0,pe(178,g|0),p=T,T=0,p&1):0))a=6;if((a|0)==6?(T=0,r=ye(67,i*6|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;t=r+(i*6|0)|0;h[g+8>>2]=t;while(1){d[r>>1]=0;d[r+2>>1]=0;d[r+4>>1]=0;i=i+-1|0;if(!i)break;else r=r+6|0}h[y>>2]=t;break}t=Ze()|0;i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);si(t|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!w)a=20;else{if(!(w>>>0>1073741823?(T=0,pe(178,_|0),c=T,T=0,c&1):0))a=18;if((a|0)==18?(n=w<<2,T=0,f=ye(67,n|0)|0,c=T,T=0,!(c&1)):0){h[_>>2]=f;a=f+(w<<2)|0;h[_+8>>2]=a;Cm(f|0,0,n|0)|0;h[p>>2]=a;a=20;break}t=Ze()|0;i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==20){n=e+12|0;e:do{if((h[n>>2]|0)>0){f=e+4604|0;a=(ce(w,k)|0)+1|0;l=e+4608|0;s=e+92|0;o=(w|0)>0;u=e+4600|0;c=0;i:while(1){r=h[g>>2]|0;i=r+6|0;h[f>>2]=i;r=r+(a*6|0)|0;h[l>>2]=r;if(!(c&1))i=r;else{h[f>>2]=r;h[l>>2]=i}t=h[s>>2]|0;T=0;Fe(h[(h[t>>2]|0)+12>>2]|0,t|0,i|0,h[b>>2]|0,k|0);t=T;T=0;if(t&1){a=30;break}if(o){i=h[_>>2]|0;r=h[f>>2]|0;t=0;do{h[u>>2]=h[i+(t<<2)>>2];E=h[b>>2]|0;i=r+(E*6|0)|0;r=r+((E+-1|0)*6|0)|0;d[i>>1]=d[r>>1]|0;d[i+2>>1]=d[r+2>>1]|0;d[i+4>>1]=d[r+4>>1]|0;r=(h[l>>2]|0)+-6|0;i=h[f>>2]|0;d[r>>1]=d[i>>1]|0;d[r+2>>1]=d[i+2>>1]|0;d[r+4>>1]=d[i+4>>1]|0;T=0;ve(69,e|0,0);r=T;T=0;if(r&1){a=29;break i}i=h[_>>2]|0;h[i+(t<<2)>>2]=h[u>>2];r=(h[f>>2]|0)+(k*6|0)|0;h[f>>2]=r;h[l>>2]=(h[l>>2]|0)+(k*6|0);t=t+1|0}while((t|0)<(w|0))}c=c+1|0;if((c|0)>=(h[n>>2]|0)){a=42;break e}}if((a|0)==29){t=Ze()|0;break}else if((a|0)==30){t=Ze()|0;break}}else a=42}while(0);do{if((a|0)==42){T=0;pe(182,e|0);E=T;T=0;if(E&1){t=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);v=m;return}}while(0);i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);si(t|0)}function sn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0;S=e+180|0;if((h[S>>2]|0)<=0)return;P=e+4608|0;O=e+4604|0;R=e+4612|0;T=0;while(1){E=T+-1|0;f=h[P>>2]|0;a=h[O>>2]|0;i=T+1|0;n=k[a+(T*6|0)>>1]|0;M=h[R>>2]|0;l=k[a+(E*6|0)>>1]|0;s=n-l|0;o=k[f+(E*6|0)>>1]|0;u=l-o|0;b=((((c[M+((k[a+(i*6|0)>>1]|0)-n)>>0]|0)*9|0)+(c[M+s>>0]|0)|0)*9|0)+(c[M+u>>0]|0)|0;t=k[a+(T*6|0)+2>>1]|0;w=k[a+(E*6|0)+2>>1]|0;_=t-w|0;m=k[f+(E*6|0)+2>>1]|0;p=w-m|0;v=((((c[M+((k[a+(i*6|0)+2>>1]|0)-t)>>0]|0)*9|0)+(c[M+_>>0]|0)|0)*9|0)+(c[M+p>>0]|0)|0;r=k[a+(T*6|0)+4>>1]|0;g=k[a+(E*6|0)+4>>1]|0;y=r-g|0;E=k[f+(E*6|0)+4>>1]|0;A=g-E|0;M=((((c[M+((k[a+(i*6|0)+4>>1]|0)-r)>>0]|0)*9|0)+(c[M+y>>0]|0)|0)*9|0)+(c[M+A>>0]|0)|0;if(!(v|b|M))i=(on(e,T,0)|0)+T|0;else{a=k[f+(T*6|0)>>1]|0;f=n-o>>31;if((f^u|0)>=0)if((f^s|0)<0)n=o;else n=o-l+n|0;a=un(e,b,a,n,0)|0;f=k[(h[P>>2]|0)+(T*6|0)+2>>1]|0;n=t-m>>31;if((n^p|0)>=0)if((n^_|0)<0)t=m;else t=m-w+t|0;n=un(e,v,f,t,0)|0;f=k[(h[P>>2]|0)+(T*6|0)+4>>1]|0;t=r-E>>31;if((t^A|0)>=0)if((t^y|0)<0)r=E;else r=E-g+r|0;A=un(e,M,f,r,0)|0;M=h[P>>2]|0;d[M+(T*6|0)>>1]=a;d[M+(T*6|0)+2>>1]=n;d[M+(T*6|0)+4>>1]=A}if((i|0)<(h[S>>2]|0))T=i;else break}return}function on(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0;S=v;v=v+48|0;w=S+30|0;b=S+24|0;c=S+18|0;_=S+12|0;E=S+6|0;A=S;M=(h[e+180>>2]|0)-i|0;T=h[e+4608>>2]|0;m=h[e+4604>>2]|0;y=i+-1|0;p=d[T+(y*6|0)>>1]|0;g=d[T+(y*6|0)+2>>1]|0;y=d[T+(y*6|0)+4>>1]|0;r=p&65535;t=e+144|0;n=g&65535;f=y&65535;u=0;while(1){s=u+i|0;a=T+(s*6|0)|0;l=T+(s*6|0)+2|0;s=T+(s*6|0)+4|0;P=(k[a>>1]|0)-r|0;o=h[t>>2]|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;P=(k[l>>1]|0)-n|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;P=(k[s>>1]|0)-f|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;d[a>>1]=p;d[l>>1]=g;d[s>>1]=y;u=u+1|0;if((u|0)==(M|0)){u=M;break}}n=(u|0)==(M|0);f=e+4600|0;t=h[36476+(h[f>>2]<<2)>>2]|0;if((1<(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[f>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[f>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>1]=d[P>>1]|0;d[E+2>>1]=d[P+2>>1]|0;d[E+4>>1]=d[P+4>>1]|0;d[A>>1]=p;d[A+2>>1]=g;d[A+4>>1]=y;i=m+(i*6|0)|0;d[c>>1]=d[E>>1]|0;d[c+2>>1]=d[E+2>>1]|0;d[c+4>>1]=d[E+4>>1]|0;d[b>>1]=d[A>>1]|0;d[b+2>>1]=d[A+2>>1]|0;d[b+4>>1]=d[A+4>>1]|0;d[w>>1]=d[i>>1]|0;d[w+2>>1]=d[i+2>>1]|0;d[w+4>>1]=d[i+4>>1]|0;dn(_,e,c,b,w);d[P>>1]=d[_>>1]|0;d[P+2>>1]=d[_+2>>1]|0;d[P+4>>1]=d[_+4>>1]|0;P=h[f>>2]|0;h[f>>2]=(P|0)<1?0:P+-1|0;P=u+1|0;v=S;return P|0}if(!r){P=M;v=S;return P|0}Xt(e,1,1);P=M;v=S;return P|0}function un(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0;_=i>>31;f=(_^i)-_|0;k=e+196+(f*12|0)+10|0;a=d[k>>1]|0;b=e+196+(f*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){i=5;while(1)if((a<>1]^_)-_+t|0;w=e+136|0;t=h[w>>2]|0;if((n&t|0)==(n|0))o=n;else o=t&~(n>>31);n=(r-o^_)-_|0;s=e+144|0;t=h[s>>2]|0;if((n|0)>0)n=(n+t|0)/(t<<1|1|0)|0;else n=(n-t|0)/(t<<1|1|0)|0;c=e+140|0;l=h[c>>2]|0;r=((n|0)<0?l:0)+n|0;l=r-((r|0)<((l+1|0)/2|0|0)?0:l)|0;f=e+196+(f*12|0)+4|0;if(!(t|i))n=(h[f>>2]<<1)+-1+a>>31;else n=0;t=n^l;cn(e,i,t>>30^t<<1,h[e+156>>2]|0);t=h[e+160>>2]|0;i=(h[b>>2]|0)+((l|0)>-1?l:0-l|0)|0;n=(h[f>>2]|0)+(ce(h[s>>2]<<1|1,l)|0)|0;r=d[k>>1]|0;if((r|0)==(t|0)){i=i>>1;n=n>>1;r=t>>1}h[b>>2]=i;t=r+1|0;d[k>>1]=t;i=t+n|0;if((i|0)>=1){if((n|0)>0){n=n-t|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);n=(n|0)>0?0:n}}else{n=d[u>>1]|0;d[u>>1]=(n&65535)-(n<<16>>16>-128&1);n=(i|0)>(~r|0)?i:0-r|0}h[f>>2]=n;t=h[s>>2]|0;r=t<<1|1;i=(ce(r,(l^_)-_|0)|0)+o|0;if((i|0)>=(0-t|0)){n=h[w>>2]|0;if((n+t|0)<(i|0))i=i-(ce(h[c>>2]|0,r)|0)|0}else{i=(ce(h[c>>2]|0,r)|0)+i|0;n=h[w>>2]|0}if((i&n|0)==(i|0)){_=i;_=_&65535;return _|0}_=n&~(i>>31);_=_&65535;return _|0}function cn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=r>>i;f=e+148|0;a=t-(h[f>>2]|0)|0;if((n|0)<(a+-1|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-31-(h[f>>2]|0)|0)}else Xt(e,1,a);i=h[f>>2]|0;Xt(e,(1<>1]|0;b=c-(k[t>>1]|0)>>31|1;f=ce(b,(k[r>>1]|0)-c|0)|0;o=i+144|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;y=i+140|0;s=h[y>>2]|0;l=((f|0)<0?s:0)+f|0;s=l-((l|0)<((s+1|0)/2|0|0)?0:s)|0;l=i+4576|0;hn(i,l,s);p=k[n+2>>1]|0;v=p-(k[t+2>>1]|0)>>31|1;f=ce(v,(k[r+2>>1]|0)-p|0)|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;w=h[y>>2]|0;g=((f|0)<0?w:0)+f|0;w=g-((g|0)<((w+1|0)/2|0|0)?0:w)|0;hn(i,l,w);g=k[n+4>>1]|0;m=g-(k[t+4>>1]|0)>>31|1;f=ce(m,(k[r+4>>1]|0)-g|0)|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;u=h[y>>2]|0;f=((f|0)<0?u:0)+f|0;u=f-((f|0)<((u+1|0)/2|0|0)?0:u)|0;hn(i,l,u);l=h[o>>2]|0;o=l<<1|1;f=(ce(ce(o,s)|0,b)|0)+c|0;r=0-l|0;if((f|0)>=(r|0)){a=h[_>>2]|0;if((a+l|0)<(f|0)){f=f-(ce(h[y>>2]|0,o)|0)|0;t=a}else t=a}else{f=(ce(h[y>>2]|0,o)|0)+f|0;t=h[_>>2]|0}if((f&t|0)!=(f|0))f=t&~(f>>31);n=f&65535;f=(ce(ce(o,w)|0,v)|0)+p|0;if((f|0)>=(r|0)){if((t+l|0)<(f|0))f=f-(ce(h[y>>2]|0,o)|0)|0}else f=(ce(h[y>>2]|0,o)|0)+f|0;if((f&t|0)!=(f|0))f=t&~(f>>31);a=f&65535;f=(ce(ce(o,u)|0,m)|0)+g|0;if((f|0)>=(r|0)){if((t+l|0)<(f|0))f=f-(ce(h[y>>2]|0,o)|0)|0}else f=(ce(h[y>>2]|0,o)|0)+f|0;if((f&t|0)==(f|0)){y=f;y=y&65535;d[e>>1]=n;g=e+2|0;d[g>>1]=a;e=e+4|0;d[e>>1]=y;return}y=t&~(f>>31);y=y&65535;d[e>>1]=n;g=e+2|0;d[g>>1]=a;e=e+4|0;d[e>>1]=y;return}function hn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;cn(e,n,t,(h[e+156>>2]|0)+-1-(h[36476+(h[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function bn(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+144|0;e:do{if(!(h[d>>2]|0)){r=h[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+184>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+188>>2]|0):0)?(h[t+12>>2]|0)==(h[e+192>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4612>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4612>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4612>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4612>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+152|0}while(0);u=1<>2];r=e+4616|0;t=u<<1;n=e+4620|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4612|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+192|0;s=e+188|0;a=e+184|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function kn(e){e=e|0;var i=0,r=0;h[e>>2]=36024;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function wn(e){e=e|0;var i=0,r=0;h[e>>2]=36024;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function _n(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+136>>2]|0,h[e+144>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+184>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+188>>2]=f;h[e+192>>2]=n;af(e);n=e+140|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+196+(f*12|0)>>2]=i;h[e+196+(f*12|0)+4>>2]=0;d[e+196+(f*12|0)+8>>1]=0;d[e+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4576>>2]=l;h[e+4580>>2]=0;c[e+4584>>0]=s;c[e+4585>>0]=1;c[e+4586>>0]=0;h[e+4588>>2]=l;h[e+4592>>2]=1;c[e+4596>>0]=s;c[e+4597>>0]=1;c[e+4598>>0]=0;h[e+4600>>2]=0;v=a;return}function mn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4624)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35800;h[i+128>>2]=h[e+136>>2];h[i+132>>2]=h[e+140>>2];h[i+136>>2]=h[e+144>>2];h[i+140>>2]=h[e+148>>2];h[i+144>>2]=h[e+152>>2];h[i+148>>2]=h[e+156>>2];h[i+152>>2]=h[e+160>>2];n=i+156|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+172>>2]=h[t>>2];h[i+176>>2]=0;h[i+180>>2]=0;h[i+184>>2]=0;n=i+4568|0;t=i+188|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4580|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4592|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];Qn(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;Qn(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function pn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function vn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;h[e>>2]=36712;h[e+4>>2]=r;u=e+8|0;t=h[r>>2]|0;s=r+16|0;a=h[s>>2]|0;f=ce(a,t)|0;h[u>>2]=0;d=e+12|0;h[d>>2]=0;h[e+16>>2]=0;do{if(!f)f=a;else{if(!((f|0)<0?(T=0,pe(178,u|0),a=T,T=0,a&1):0))o=4;if((o|0)==4?(T=0,l=ye(67,f|0)|0,a=T,T=0,!(a&1)):0){h[d>>2]=l;h[u>>2]=l;h[e+16>>2]=l+f;t=l;do{c[t>>0]=0;t=(h[d>>2]|0)+1|0;h[d>>2]=t;f=f+-1|0}while((f|0)!=0);f=h[s>>2]|0;t=h[r>>2]|0;break}t=Ze()|0;n=h[u>>2]|0;if(n){if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n)}d=t;si(d|0)}}while(0);a=e+20|0;t=ce(f,t)|0;h[a>>2]=0;f=e+24|0;h[f>>2]=0;h[e+28>>2]=0;if(!t){d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))o=15;if((o|0)==15?(T=0,n=ye(67,t|0)|0,o=T,T=0,!(o&1)):0){h[f>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[f>>2]|0)+1|0;h[f>>2]=n;t=t+-1|0}while((t|0)!=0);d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}t=Ze()|0;n=h[a>>2]|0;if(n){if((h[f>>2]|0)!=(n|0))h[f>>2]=n;zv(n)}n=h[u>>2]|0;if(!n){d=t;si(d|0)}if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n);d=t;si(d|0)}function gn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;h[e>>2]=36688;h[e+4>>2]=r;u=e+8|0;t=h[r>>2]|0;s=r+16|0;a=h[s>>2]|0;f=ce(a,t)|0;h[u>>2]=0;d=e+12|0;h[d>>2]=0;h[e+16>>2]=0;do{if(!f)f=a;else{if(!((f|0)<0?(T=0,pe(178,u|0),a=T,T=0,a&1):0))o=4;if((o|0)==4?(T=0,l=ye(67,f|0)|0,a=T,T=0,!(a&1)):0){h[d>>2]=l;h[u>>2]=l;h[e+16>>2]=l+f;t=l;do{c[t>>0]=0;t=(h[d>>2]|0)+1|0;h[d>>2]=t;f=f+-1|0}while((f|0)!=0);f=h[s>>2]|0;t=h[r>>2]|0;break}t=Ze()|0;n=h[u>>2]|0;if(n){if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n)}d=t;si(d|0)}}while(0);a=e+20|0;t=ce(f,t)|0;h[a>>2]=0;f=e+24|0;h[f>>2]=0;h[e+28>>2]=0;if(!t){d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))o=15;if((o|0)==15?(T=0,n=ye(67,t|0)|0,o=T,T=0,!(o&1)):0){h[f>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[f>>2]|0)+1|0;h[f>>2]=n;t=t+-1|0}while((t|0)!=0);d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}t=Ze()|0;n=h[a>>2]|0;if(n){if((h[f>>2]|0)!=(n|0))h[f>>2]=n;zv(n)}n=h[u>>2]|0;if(!n){d=t;si(d|0)}if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n);d=t;si(d|0)}function yn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;h[e>>2]=36664;h[e+4>>2]=r;u=e+8|0;t=h[r>>2]|0;s=r+16|0;a=h[s>>2]|0;f=ce(a,t)|0;h[u>>2]=0;d=e+12|0;h[d>>2]=0;h[e+16>>2]=0;do{if(!f)f=a;else{if(!((f|0)<0?(T=0,pe(178,u|0),a=T,T=0,a&1):0))o=4;if((o|0)==4?(T=0,l=ye(67,f|0)|0,a=T,T=0,!(a&1)):0){h[d>>2]=l;h[u>>2]=l;h[e+16>>2]=l+f;t=l;do{c[t>>0]=0;t=(h[d>>2]|0)+1|0;h[d>>2]=t;f=f+-1|0}while((f|0)!=0);f=h[s>>2]|0;t=h[r>>2]|0;break}t=Ze()|0;n=h[u>>2]|0;if(n){if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n)}d=t;si(d|0)}}while(0);a=e+20|0;t=ce(f,t)|0;h[a>>2]=0;f=e+24|0;h[f>>2]=0;h[e+28>>2]=0;if(!t){d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))o=15;if((o|0)==15?(T=0,n=ye(67,t|0)|0,o=T,T=0,!(o&1)):0){h[f>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[f>>2]|0)+1|0;h[f>>2]=n;t=t+-1|0}while((t|0)!=0);d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}t=Ze()|0;n=h[a>>2]|0;if(n){if((h[f>>2]|0)!=(n|0))h[f>>2]=n;zv(n)}n=h[u>>2]|0;if(!n){d=t;si(d|0)}if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n);d=t;si(d|0)}function En(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;h[e>>2]=36640;h[e+4>>2]=r;u=e+8|0;t=h[r>>2]|0;s=r+16|0;a=h[s>>2]|0;f=ce(a,t)|0;h[u>>2]=0;d=e+12|0;h[d>>2]=0;h[e+16>>2]=0;do{if(!f)f=a;else{if(!((f|0)<0?(T=0,pe(178,u|0),a=T,T=0,a&1):0))o=4;if((o|0)==4?(T=0,l=ye(67,f|0)|0,a=T,T=0,!(a&1)):0){h[d>>2]=l;h[u>>2]=l;h[e+16>>2]=l+f;t=l;do{c[t>>0]=0;t=(h[d>>2]|0)+1|0;h[d>>2]=t;f=f+-1|0}while((f|0)!=0);f=h[s>>2]|0;t=h[r>>2]|0;break}t=Ze()|0;n=h[u>>2]|0;if(n){if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n)}d=t;si(d|0)}}while(0);a=e+20|0;t=ce(f,t)|0;h[a>>2]=0;f=e+24|0;h[f>>2]=0;h[e+28>>2]=0;if(!t){d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))o=15;if((o|0)==15?(T=0,n=ye(67,t|0)|0,o=T,T=0,!(o&1)):0){h[f>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[f>>2]|0)+1|0;h[f>>2]=n;t=t+-1|0}while((t|0)!=0);d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}t=Ze()|0;n=h[a>>2]|0;if(n){if((h[f>>2]|0)!=(n|0))h[f>>2]=n;zv(n)}n=h[u>>2]|0;if(!n){d=t;si(d|0)}if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n);d=t;si(d|0)}function An(e){e=e|0;var i=0,r=0;h[e>>2]=36640;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=h[e+8>>2]|0;if(!r)return;i=e+12|0;if((h[i>>2]|0)!=(r|0))h[i>>2]=r;zv(r);return}function Mn(e){e=e|0;var i=0,r=0;h[e>>2]=36640;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function Tn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=e+36|0;if(!(h[n>>2]|0)){n=e+40|0;Rn(e,i,h[n>>2]|0,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}f=ce(h[(h[e+4>>2]|0)+16>>2]|0,r)|0;a=e+20|0;Rn(e,i,h[a>>2]|0,r,t);e=h[n>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,h[a>>2]|0,f)|0)==(f|0))return;n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,3,35648);a=T;T=0;if(a&1){a=Ze()|0;We(n|0);si(a|0)}else Ei(n|0,824,96)}function Sn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;Pn(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{On(e,n,i,r,t);return}}function Pn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;l=e+4|0;f=h[l>>2]|0;if(!(c[f+32>>0]|0))l=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*3|0)|0;f=h[l>>2]|0;i=h[f+16>>2]|0;if((t|0)>0){f=h[a>>2]|0;e=0;while(1){s=f+2|0;o=c[f>>0]|0;c[f>>0]=c[s>>0]|0;c[s>>0]=o;e=e+1|0;if((e|0)==(t|0))break;else f=f+i|0}f=h[l>>2]|0}l=h[a>>2]|0}switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{a=b[l+(f*3|0)+1>>0]|0;n=128-a+(b[l+(f*3|0)+2>>0]|0)|0;s=(b[l+(f*3|0)>>0]|0)-a+128|0;o=r+(f*3|0)|0;c[o>>0]=a+192+(((n&255)+(s&255)|0)>>>2);c[o+1>>0]=n;c[o+2>>0]=s;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{t=b[l+(i*3|0)+1>>0]|0;s=128-t+(b[l+(i*3|0)+2>>0]|0)|0;o=(b[l+(i*3|0)>>0]|0)-t+128|0;c[r+i>>0]=t+192+(((s&255)+(o&255)|0)>>>2);c[r+(i+n)>>0]=s;c[r+(i+e)>>0]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{o=c[l+(a<<2)+3>>0]|0;u=b[l+(a<<2)+1>>0]|0;t=128-u+(b[l+(a<<2)+2>>0]|0)|0;s=(b[l+(a<<2)>>0]|0)-u+128|0;c[r+a>>0]=u+192+(((t&255)+(s&255)|0)>>>2);c[r+(a+n)>>0]=t;c[r+(a+e)>>0]=s;c[r+(a+i)>>0]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function On(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+176|0;d=u+152|0;k=u+16|0;b=u;a=ce(h[(h[e+4>>2]|0)+16>>2]|0,t)|0;s=e+20|0;f=h[s>>2]|0;if(!a){k=f;Pn(e,k,r,t,n);v=u;return}while(1){l=vE[h[(h[i>>2]|0)+32>>2]&63](i,f,a)|0;if(!l)break;f=h[s>>2]|0;if((a|0)==(l|0)){o=26;break}else a=a-l|0}if((o|0)==26){Pn(e,f,r,t,n);v=u;return}r=k+56|0;s=k+4|0;h[k>>2]=36160;h[r>>2]=36180;T=0;ve(62,k+56|0,s|0);u=T;T=0;if(u&1){k=Ze()|0;bh(r);si(k|0)}h[k+128>>2]=0;h[k+132>>2]=-1;h[k>>2]=36200;h[k+56>>2]=36220;T=0;pe(180,s|0);u=T;T=0;do{if(u&1)f=Ze()|0;else{h[s>>2]=36236;i=k+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[k+52>>2]=16;h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;T=0;ve(63,s|0,d|0);u=T;T=0;if(u&1){f=Ze()|0;qd(d);qd(i);gh(s);break}qd(d);T=0;f=Ae(28,k|0,49029,57)|0;d=T;T=0;if(!(d&1)?(T=0,Oe(36,f|0,0)|0,d=T,T=0,!(d&1)):0){l=Je(16)|0;T=0;ve(64,b|0,s|0);d=T;T=0;if(!(d&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,b|0);d=T;T=0;if(d&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(b);if(!a){b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}else f=Ze()|0;We(l|0);b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}b=Ze()|0;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}while(0);k=f;bh(r);si(k|0)}function Rn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){a=b[i+(e*3|0)+1>>0]|0;f=b[i+(e*3|0)+2>>0]|0;l=(b[i+(e*3|0)>>0]|0)-((f+a|0)>>>2)+64|0;n=r+(e*3|0)|0;c[n>>0]=f+128+l;c[n+1>>0]=l;c[n+2>>0]=a+128+l;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{u=b[i+(a+n)>>0]|0;d=b[i+(a+f)>>0]|0;o=(b[i+a>>0]|0)-((d+u|0)>>>2)+64|0;l=r+(a*3|0)|0;c[l>>0]=d+128+o;c[l+1>>0]=o;c[l+2>>0]=u+128+o;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{o=b[i+(a+n)>>0]|0;k=b[i+(a+e)>>0]|0;u=(b[i+a>>0]|0)-((k+o|0)>>>2)+64|0;d=r+(a<<2)|0;u=u<<8&65280|b[i+(a+f)>>0]<<24|k+128+u&255|o+128+u<<16&16711680;c[d>>0]=u;c[d+1>>0]=u>>8;c[d+2>>0]=u>>16;c[d+3>>0]=u>>24;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)>0){e=r;f=0}else return;while(1){k=e+2|0;d=c[e>>0]|0;c[e>>0]=c[k>>0]|0;c[k>>0]=d;f=f+1|0;if((f|0)==(t|0))break;else e=e+a|0}return}function Ln(e){e=e|0;var i=0,r=0;h[e>>2]=36664;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=h[e+8>>2]|0;if(!r)return;i=e+12|0;if((h[i>>2]|0)!=(r|0))h[i>>2]=r;zv(r);return}function Cn(e){e=e|0;var i=0,r=0;h[e>>2]=36664;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function Dn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=e+36|0;if(!(h[n>>2]|0)){n=e+40|0;Nn(e,i,h[n>>2]|0,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}f=ce(h[(h[e+4>>2]|0)+16>>2]|0,r)|0;a=e+20|0;Nn(e,i,h[a>>2]|0,r,t);e=h[n>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,h[a>>2]|0,f)|0)==(f|0))return;n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,3,35648);a=T;T=0;if(a&1){a=Ze()|0;We(n|0);si(a|0)}else Ei(n|0,824,96)}function xn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;In(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Bn(e,n,i,r,t);return}}function In(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;l=e+4|0;f=h[l>>2]|0;if(!(c[f+32>>0]|0))l=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*3|0)|0;f=h[l>>2]|0;i=h[f+16>>2]|0;if((t|0)>0){f=h[a>>2]|0;e=0;while(1){s=f+2|0;o=c[f>>0]|0;c[f>>0]=c[s>>0]|0;c[s>>0]=o;e=e+1|0;if((e|0)==(t|0))break;else f=f+i|0}f=h[l>>2]|0}l=h[a>>2]|0}switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{i=b[l+(f*3|0)>>0]|0;n=c[l+(f*3|0)+1>>0]|0;a=n&255;s=(b[l+(f*3|0)+2>>0]|0)+128-((a+i|0)>>>1)&255;o=r+(f*3|0)|0;c[o>>0]=i+128-a;c[o+1>>0]=n;c[o+2>>0]=s;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{s=c[l+(i*3|0)+1>>0]|0;a=b[l+(i*3|0)>>0]|0;t=s&255;o=(b[l+(i*3|0)+2>>0]|0)+128-((t+a|0)>>>1)&255;c[r+i>>0]=a+128-t;c[r+(i+n)>>0]=s;c[r+(i+e)>>0]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{t=c[l+(a<<2)+1>>0]|0;o=c[l+(a<<2)+3>>0]|0;d=b[l+(a<<2)>>0]|0;u=t&255;s=(b[l+(a<<2)+2>>0]|0)+128-((u+d|0)>>>1)&255;c[r+a>>0]=d+128-u;c[r+(a+n)>>0]=t;c[r+(a+e)>>0]=s;c[r+(a+i)>>0]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function Bn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+176|0;d=u+152|0;k=u+16|0;b=u;a=ce(h[(h[e+4>>2]|0)+16>>2]|0,t)|0;s=e+20|0;f=h[s>>2]|0;if(!a){k=f;In(e,k,r,t,n);v=u;return}while(1){l=vE[h[(h[i>>2]|0)+32>>2]&63](i,f,a)|0;if(!l)break;f=h[s>>2]|0;if((a|0)==(l|0)){o=26;break}else a=a-l|0}if((o|0)==26){In(e,f,r,t,n);v=u;return}r=k+56|0;s=k+4|0;h[k>>2]=36160;h[r>>2]=36180;T=0;ve(62,k+56|0,s|0);u=T;T=0;if(u&1){k=Ze()|0;bh(r);si(k|0)}h[k+128>>2]=0;h[k+132>>2]=-1;h[k>>2]=36200;h[k+56>>2]=36220;T=0;pe(180,s|0);u=T;T=0;do{if(u&1)f=Ze()|0;else{h[s>>2]=36236;i=k+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[k+52>>2]=16;h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;T=0;ve(63,s|0,d|0);u=T;T=0;if(u&1){f=Ze()|0;qd(d);qd(i);gh(s);break}qd(d);T=0;f=Ae(28,k|0,49029,57)|0;d=T;T=0;if(!(d&1)?(T=0,Oe(36,f|0,0)|0,d=T,T=0,!(d&1)):0){l=Je(16)|0;T=0;ve(64,b|0,s|0);d=T;T=0;if(!(d&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,b|0);d=T;T=0;if(d&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(b);if(!a){b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}else f=Ze()|0;We(l|0);b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}b=Ze()|0;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}while(0);k=f;bh(r);si(k|0)}function Nn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){a=c[i+(e*3|0)+1>>0]|0;l=a&255;f=(b[i+(e*3|0)>>0]|0)+128+l|0;l=(b[i+(e*3|0)+2>>0]|0)+128+(((f&255)+l|0)>>>1)&255;n=r+(e*3|0)|0;c[n>>0]=f;c[n+1>>0]=a;c[n+2>>0]=l;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{u=c[i+(a+n)>>0]|0;o=u&255;d=(b[i+a>>0]|0)+128+o|0;o=(b[i+(a+f)>>0]|0)+128+(((d&255)+o|0)>>>1)&255;l=r+(a*3|0)|0;c[l>>0]=d;c[l+1>>0]=u;c[l+2>>0]=o;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=b[i+(a+n)>>0]|0;o=(b[i+a>>0]|0)+128+u&255;d=r+(a<<2)|0;u=o|u<<8|b[i+(a+f)>>0]<<24|(b[i+(a+e)>>0]|0)+128+((o+u|0)>>>1)<<16&16711680;c[d>>0]=u;c[d+1>>0]=u>>8;c[d+2>>0]=u>>16;c[d+3>>0]=u>>24;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)>0){e=r;f=0}else return;while(1){d=e+2|0;u=c[e>>0]|0;c[e>>0]=c[d>>0]|0;c[d>>0]=u;f=f+1|0;if((f|0)==(t|0))break;else e=e+a|0}return}function Fn(e){e=e|0;var i=0,r=0;h[e>>2]=36688;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=h[e+8>>2]|0;if(!r)return;i=e+12|0;if((h[i>>2]|0)!=(r|0))h[i>>2]=r;zv(r);return}function Un(e){e=e|0;var i=0,r=0;h[e>>2]=36688;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function jn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=e+36|0;if(!(h[n>>2]|0)){n=e+40|0;Xn(e,i,h[n>>2]|0,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}f=ce(h[(h[e+4>>2]|0)+16>>2]|0,r)|0;a=e+20|0;Xn(e,i,h[a>>2]|0,r,t);e=h[n>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,h[a>>2]|0,f)|0)==(f|0))return;n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,3,35648);a=T;T=0;if(a&1){a=Ze()|0;We(n|0);si(a|0)}else Ei(n|0,824,96)}function Hn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;Yn(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{qn(e,n,i,r,t);return}}function Yn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;l=e+4|0;f=h[l>>2]|0;if(!(c[f+32>>0]|0))l=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*3|0)|0;f=h[l>>2]|0;i=h[f+16>>2]|0;if((t|0)>0){f=h[a>>2]|0;e=0;while(1){s=f+2|0;o=c[f>>0]|0;c[f>>0]=c[s>>0]|0;c[s>>0]=o;e=e+1|0;if((e|0)==(t|0))break;else f=f+i|0}f=h[l>>2]|0}l=h[a>>2]|0}switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{n=c[l+(f*3|0)+1>>0]|0;a=n&255;s=128-a+(b[l+(f*3|0)+2>>0]|0)&255;o=r+(f*3|0)|0;c[o>>0]=(b[l+(f*3|0)>>0]|0)+128-a;c[o+1>>0]=n;c[o+2>>0]=s;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{s=c[l+(i*3|0)+1>>0]|0;t=s&255;o=128-t+(b[l+(i*3|0)+2>>0]|0)&255;c[r+i>>0]=(b[l+(i*3|0)>>0]|0)+128-t;c[r+(i+n)>>0]=s;c[r+(i+e)>>0]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{t=c[l+(a<<2)+1>>0]|0;o=c[l+(a<<2)+3>>0]|0;u=t&255;s=128-u+(b[l+(a<<2)+2>>0]|0)&255;c[r+a>>0]=(b[l+(a<<2)>>0]|0)+128-u;c[r+(a+n)>>0]=t;c[r+(a+e)>>0]=s;c[r+(a+i)>>0]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function qn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+176|0;d=u+152|0;k=u+16|0;b=u;a=ce(h[(h[e+4>>2]|0)+16>>2]|0,t)|0;s=e+20|0;f=h[s>>2]|0;if(!a){k=f;Yn(e,k,r,t,n);v=u;return}while(1){l=vE[h[(h[i>>2]|0)+32>>2]&63](i,f,a)|0;if(!l)break;f=h[s>>2]|0;if((a|0)==(l|0)){o=26;break}else a=a-l|0}if((o|0)==26){Yn(e,f,r,t,n);v=u;return}r=k+56|0;s=k+4|0;h[k>>2]=36160;h[r>>2]=36180;T=0;ve(62,k+56|0,s|0);u=T;T=0;if(u&1){k=Ze()|0;bh(r);si(k|0)}h[k+128>>2]=0;h[k+132>>2]=-1;h[k>>2]=36200;h[k+56>>2]=36220;T=0;pe(180,s|0);u=T;T=0;do{if(u&1)f=Ze()|0;else{h[s>>2]=36236;i=k+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[k+52>>2]=16;h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;T=0;ve(63,s|0,d|0);u=T;T=0;if(u&1){f=Ze()|0;qd(d);qd(i);gh(s);break}qd(d);T=0;f=Ae(28,k|0,49029,57)|0;d=T;T=0;if(!(d&1)?(T=0,Oe(36,f|0,0)|0,d=T,T=0,!(d&1)):0){l=Je(16)|0;T=0;ve(64,b|0,s|0);d=T;T=0;if(!(d&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,b|0);d=T;T=0;if(d&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(b);if(!a){b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}else f=Ze()|0;We(l|0);b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}b=Ze()|0;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}while(0);k=f;bh(r);si(k|0)}function Xn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){a=c[i+(e*3|0)+1>>0]|0;f=a&255;l=f+128+(b[i+(e*3|0)+2>>0]|0)&255;n=r+(e*3|0)|0;c[n>>0]=(b[i+(e*3|0)>>0]|0)+128+f;c[n+1>>0]=a;c[n+2>>0]=l;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{u=c[i+(a+n)>>0]|0;d=u&255;o=d+128+(b[i+(a+f)>>0]|0)&255;l=r+(a*3|0)|0;c[l>>0]=(b[i+a>>0]|0)+128+d;c[l+1>>0]=u;c[l+2>>0]=o;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=b[i+(a+n)>>0]|0;d=r+(a<<2)|0;u=(b[i+a>>0]|0)+128+u&255|u<<8|b[i+(a+f)>>0]<<24|u+128+(b[i+(a+e)>>0]|0)<<16&16711680;c[d>>0]=u;c[d+1>>0]=u>>8;c[d+2>>0]=u>>16;c[d+3>>0]=u>>24;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)>0){e=r;f=0}else return;while(1){d=e+2|0;u=c[e>>0]|0;c[e>>0]=c[d>>0]|0;c[d>>0]=u;f=f+1|0;if((f|0)==(t|0))break;else e=e+a|0}return}function zn(e){e=e|0;var i=0,r=0;h[e>>2]=36712;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=h[e+8>>2]|0;if(!r)return;i=e+12|0;if((h[i>>2]|0)!=(r|0))h[i>>2]=r;zv(r);return}function Vn(e){e=e|0;var i=0,r=0;h[e>>2]=36712;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function Gn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=e+36|0;if(!(h[n>>2]|0)){n=e+40|0;Zn(e,i,h[n>>2]|0,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}f=ce(h[(h[e+4>>2]|0)+16>>2]|0,r)|0;a=e+20|0;Zn(e,i,h[a>>2]|0,r,t);e=h[n>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,h[a>>2]|0,f)|0)==(f|0))return;n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,3,35648);a=T;T=0;if(a&1){a=Ze()|0;We(n|0);si(a|0)}else Ei(n|0,824,96)}function Kn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;Wn(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Jn(e,n,i,r,t);return}}function Wn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0;l=e+4|0;f=h[l>>2]|0;if(!(c[f+32>>0]|0))l=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*3|0)|0;f=h[l>>2]|0;i=h[f+16>>2]|0;if((t|0)>0){f=h[a>>2]|0;e=0;while(1){s=f+2|0;o=c[f>>0]|0;c[f>>0]=c[s>>0]|0;c[s>>0]=o;e=e+1|0;if((e|0)==(t|0))break;else f=f+i|0}f=h[l>>2]|0}l=h[a>>2]|0}switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{n=c[l+(f*3|0)+1>>0]|0;s=c[l+(f*3|0)+2>>0]|0;o=r+(f*3|0)|0;c[o>>0]=c[l+(f*3|0)>>0]|0;c[o+1>>0]=n;c[o+2>>0]=s;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{s=c[l+(i*3|0)+1>>0]|0;o=c[l+(i*3|0)+2>>0]|0;c[r+i>>0]=c[l+(i*3|0)>>0]|0;c[r+(i+n)>>0]=s;c[r+(i+e)>>0]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{t=c[l+(a<<2)+1>>0]|0;s=c[l+(a<<2)+2>>0]|0;o=c[l+(a<<2)+3>>0]|0;c[r+a>>0]=c[l+(a<<2)>>0]|0;c[r+(a+n)>>0]=t;c[r+(a+e)>>0]=s;c[r+(a+i)>>0]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function Jn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+176|0;d=u+152|0;k=u+16|0;b=u;a=ce(h[(h[e+4>>2]|0)+16>>2]|0,t)|0;s=e+20|0;f=h[s>>2]|0;if(!a){k=f;Wn(e,k,r,t,n);v=u;return}while(1){l=vE[h[(h[i>>2]|0)+32>>2]&63](i,f,a)|0;if(!l)break;f=h[s>>2]|0;if((a|0)==(l|0)){o=26;break}else a=a-l|0}if((o|0)==26){Wn(e,f,r,t,n);v=u;return}r=k+56|0;s=k+4|0;h[k>>2]=36160;h[r>>2]=36180;T=0;ve(62,k+56|0,s|0);u=T;T=0;if(u&1){k=Ze()|0;bh(r);si(k|0)}h[k+128>>2]=0;h[k+132>>2]=-1;h[k>>2]=36200;h[k+56>>2]=36220;T=0;pe(180,s|0);u=T;T=0;do{if(u&1)f=Ze()|0;else{h[s>>2]=36236;i=k+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[k+52>>2]=16;h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;T=0;ve(63,s|0,d|0);u=T;T=0;if(u&1){f=Ze()|0;qd(d);qd(i);gh(s);break}qd(d);T=0;f=Ae(28,k|0,49029,57)|0;d=T;T=0;if(!(d&1)?(T=0,Oe(36,f|0,0)|0,d=T,T=0,!(d&1)):0){l=Je(16)|0;T=0;ve(64,b|0,s|0);d=T;T=0;if(!(d&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,b|0);d=T;T=0;if(d&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(b);if(!a){b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}else f=Ze()|0;We(l|0);b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}b=Ze()|0;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}while(0);k=f;bh(r);si(k|0)}function Zn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){a=c[i+(e*3|0)+1>>0]|0;l=c[i+(e*3|0)+2>>0]|0;n=r+(e*3|0)|0;c[n>>0]=c[i+(e*3|0)>>0]|0;c[n+1>>0]=a;c[n+2>>0]=l;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{u=c[i+(a+n)>>0]|0;o=c[i+(a+f)>>0]|0;l=r+(a*3|0)|0;c[l>>0]=c[i+a>>0]|0;c[l+1>>0]=u;c[l+2>>0]=o;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=r+(a<<2)|0;o=b[i+(a+n)>>0]<<8|b[i+a>>0]|b[i+(a+e)>>0]<<16|b[i+(a+f)>>0]<<24;c[u>>0]=o;c[u+1>>0]=o>>8;c[u+2>>0]=o>>16;c[u+3>>0]=o>>24;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)>0){e=r;f=0}else return;while(1){u=e+2|0;o=c[e>>0]|0;c[e>>0]=c[u>>0]|0;c[u>>0]=o;f=f+1|0;if((f|0)==(t|0))break;else e=e+a|0}return}function Qn(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;m=v;v=v+32|0;g=m+12|0;_=m;b=e+180|0;k=(h[b>>2]|0)+4|0;if((h[e+32>>2]|0)==1)w=h[e+24>>2]|0;else w=1;i=ce(w<<1,k)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(T=0,pe(178,g|0),p=T,T=0,p&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i*3|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;h[g+8>>2]=r+(i*3|0);while(1){c[r>>0]=0;c[r+1>>0]=0;c[r+2>>0]=0;r=(h[y>>2]|0)+3|0;h[y>>2]=r;i=i+-1|0;if(!i)break e}}t=Ze()|0;i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!w)f=19;else{if(!(w>>>0>1073741823?(T=0,pe(178,_|0),d=T,T=0,d&1):0))f=17;if((f|0)==17?(t=w<<2,T=0,n=ye(67,t|0)|0,d=T,T=0,!(d&1)):0){h[_>>2]=n;f=n+(w<<2)|0;h[_+8>>2]=f;Cm(n|0,0,t|0)|0;h[p>>2]=f;f=19;break}t=Ze()|0;i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){n=e+12|0;e:do{if((h[n>>2]|0)>0){f=e+4604|0;a=(ce(w,k)|0)+1|0;l=e+4608|0;s=e+92|0;o=(w|0)>0;u=e+4600|0;d=0;i:while(1){t=h[g>>2]|0;i=t+3|0;h[f>>2]=i;r=t+(a*3|0)|0;h[l>>2]=r;if(!(d&1))i=a;else{h[f>>2]=r;h[l>>2]=i;i=1}r=h[s>>2]|0;T=0;Fe(h[(h[r>>2]|0)+12>>2]|0,r|0,t+(i*3|0)|0,h[b>>2]|0,k|0);t=T;T=0;if(t&1){f=29;break}if(o){i=h[_>>2]|0;r=h[f>>2]|0;t=0;do{h[u>>2]=h[i+(t<<2)>>2];E=h[b>>2]|0;i=r+(E*3|0)|0;r=r+((E+-1|0)*3|0)|0;c[i>>0]=c[r>>0]|0;c[i+1>>0]=c[r+1>>0]|0;c[i+2>>0]=c[r+2>>0]|0;i=h[f>>2]|0;r=(h[l>>2]|0)+-3|0;c[r>>0]=c[i>>0]|0;c[r+1>>0]=c[i+1>>0]|0;c[r+2>>0]=c[i+2>>0]|0;T=0;ve(70,e|0,0);r=T;T=0;if(r&1){f=28;break i}i=h[_>>2]|0;h[i+(t<<2)>>2]=h[u>>2];r=(h[f>>2]|0)+(k*3|0)|0;h[f>>2]=r;h[l>>2]=(h[l>>2]|0)+(k*3|0);t=t+1|0}while((t|0)<(w|0))}d=d+1|0;if((d|0)>=(h[n>>2]|0)){f=41;break e}}if((f|0)==28){t=Ze()|0;break}else if((f|0)==29){t=Ze()|0;break}}else f=41}while(0);do{if((f|0)==41){T=0;pe(182,e|0);E=T;T=0;if(E&1){t=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);v=m;return}}while(0);i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}function $n(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0;T=e+180|0;if((h[T>>2]|0)<=0)return;S=e+4608|0;P=e+4604|0;O=e+4612|0;M=0;while(1){y=M+-1|0;f=h[S>>2]|0;a=h[P>>2]|0;i=M+1|0;n=b[a+(M*3|0)>>0]|0;A=h[O>>2]|0;l=b[a+(y*3|0)>>0]|0;s=n-l|0;o=b[f+(y*3|0)>>0]|0;u=l-o|0;d=((((c[A+((b[a+(i*3|0)>>0]|0)-n)>>0]|0)*9|0)+(c[A+s>>0]|0)|0)*9|0)+(c[A+u>>0]|0)|0;t=b[a+(M*3|0)+1>>0]|0;k=b[a+(y*3|0)+1>>0]|0;w=t-k|0;_=b[f+(y*3|0)+1>>0]|0;m=k-_|0;p=((((c[A+((b[a+(i*3|0)+1>>0]|0)-t)>>0]|0)*9|0)+(c[A+w>>0]|0)|0)*9|0)+(c[A+m>>0]|0)|0;r=b[a+(M*3|0)+2>>0]|0;v=b[a+(y*3|0)+2>>0]|0;g=r-v|0;y=b[f+(y*3|0)+2>>0]|0;E=v-y|0;A=((((c[A+((b[a+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(c[A+g>>0]|0)|0)*9|0)+(c[A+E>>0]|0)|0;if(!(p|d|A))i=(ef(e,M,0)|0)+M|0;else{a=b[f+(M*3|0)>>0]|0;f=n-o>>31;if((f^u|0)>=0)if((f^s|0)<0)n=o;else n=o-l+n|0;a=rf(e,d,a,n,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+1>>0]|0;n=t-_>>31;if((n^m|0)>=0)if((n^w|0)<0)t=_;else t=_-k+t|0;n=rf(e,p,f,t,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+2>>0]|0;t=r-y>>31;if((t^E|0)>=0)if((t^g|0)<0)r=y;else r=y-v+r|0;A=rf(e,A,f,r,0)|0;M=(h[S>>2]|0)+(M*3|0)|0;c[M>>0]=a;c[M+1>>0]=n;c[M+2>>0]=A}if((i|0)<(h[T>>2]|0))M=i;else break}return}function ef(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0;S=v;v=v+32|0;T=S+15|0;k=S+12|0;d=S+9|0;w=S+6|0;y=S+3|0;E=S;A=(h[e+180>>2]|0)-i|0;M=h[e+4608>>2]|0;_=h[e+4604>>2]|0;g=M+((i+-1|0)*3|0)|0;m=c[g>>0]|0;p=c[g+1>>0]|0;g=c[g+2>>0]|0;r=m&255;t=e+144|0;n=p&255;f=g&255;u=0;while(1){a=M+((u+i|0)*3|0)|0;l=a+1|0;s=a+2|0;P=(b[a>>0]|0)-r|0;o=h[t>>2]|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;P=(b[l>>0]|0)-n|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;P=(b[s>>0]|0)-f|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;c[a>>0]=m;c[l>>0]=p;c[s>>0]=g;u=u+1|0;if((u|0)==(A|0)){u=A;break}}n=(u|0)==(A|0);f=e+4600|0;t=h[36476+(h[f>>2]<<2)>>2]|0;if((1<(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[f>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[f>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>0]=c[P>>0]|0;c[y+1>>0]=c[P+1>>0]|0;c[y+2>>0]=c[P+2>>0]|0;c[E>>0]=m;c[E+1>>0]=p;c[E+2>>0]=g;i=_+(i*3|0)|0;c[d>>0]=c[y>>0]|0;c[d+1>>0]=c[y+1>>0]|0;c[d+2>>0]=c[y+2>>0]|0;c[k>>0]=c[E>>0]|0;c[k+1>>0]=c[E+1>>0]|0;c[k+2>>0]=c[E+2>>0]|0;c[T>>0]=c[i>>0]|0;c[T+1>>0]=c[i+1>>0]|0;c[T+2>>0]=c[i+2>>0]|0;nf(w,e,d,k,T);c[P>>0]=c[w>>0]|0;c[P+1>>0]=c[w+1>>0]|0;c[P+2>>0]=c[w+2>>0]|0;P=h[f>>2]|0;h[f>>2]=(P|0)<1?0:P+-1|0;P=u+1|0;v=S;return P|0}if(!r){P=A;v=S;return P|0}Xt(e,1,1);P=A;v=S;return P|0}function rf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0;_=i>>31;f=(_^i)-_|0;k=e+196+(f*12|0)+10|0;a=d[k>>1]|0;b=e+196+(f*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){i=5;while(1)if((a<>1]^_)-_+t|0;w=e+136|0;t=h[w>>2]|0;if((n&t|0)==(n|0))o=n;else o=t&~(n>>31);n=(r-o^_)-_|0;s=e+144|0;t=h[s>>2]|0;if((n|0)>0)n=(n+t|0)/(t<<1|1|0)|0;else n=(n-t|0)/(t<<1|1|0)|0;c=e+140|0;l=h[c>>2]|0;r=((n|0)<0?l:0)+n|0;l=r-((r|0)<((l+1|0)/2|0|0)?0:l)|0;f=e+196+(f*12|0)+4|0;if(!(t|i))n=(h[f>>2]<<1)+-1+a>>31;else n=0;t=n^l;tf(e,i,t>>30^t<<1,h[e+156>>2]|0);t=h[e+160>>2]|0;i=(h[b>>2]|0)+((l|0)>-1?l:0-l|0)|0;n=(h[f>>2]|0)+(ce(h[s>>2]<<1|1,l)|0)|0;r=d[k>>1]|0;if((r|0)==(t|0)){i=i>>1;n=n>>1;r=t>>1}h[b>>2]=i;t=r+1|0;d[k>>1]=t;i=t+n|0;if((i|0)>=1){if((n|0)>0){n=n-t|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);n=(n|0)>0?0:n}}else{n=d[u>>1]|0;d[u>>1]=(n&65535)-(n<<16>>16>-128&1);n=(i|0)>(~r|0)?i:0-r|0}h[f>>2]=n;t=h[s>>2]|0;r=t<<1|1;i=(ce(r,(l^_)-_|0)|0)+o|0;if((i|0)>=(0-t|0)){n=h[w>>2]|0;if((n+t|0)<(i|0))i=i-(ce(h[c>>2]|0,r)|0)|0}else{i=(ce(h[c>>2]|0,r)|0)+i|0;n=h[w>>2]|0}if((i&n|0)==(i|0)){_=i;_=_&255;return _|0}_=n&~(i>>31);_=_&255;return _|0}function tf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=r>>i;f=e+148|0;a=t-(h[f>>2]|0)|0;if((n|0)<(a+-1|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-31-(h[f>>2]|0)|0)}else Xt(e,1,a);i=h[f>>2]|0;Xt(e,(1<>0]|0;k=d-(b[t>>0]|0)>>31|1;f=ce(k,(b[r>>0]|0)-d|0)|0;o=i+144|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;y=i+140|0;s=h[y>>2]|0;l=((f|0)<0?s:0)+f|0;s=l-((l|0)<((s+1|0)/2|0|0)?0:s)|0;l=i+4576|0;ff(i,l,s);p=b[n+1>>0]|0;v=p-(b[t+1>>0]|0)>>31|1;f=ce(v,(b[r+1>>0]|0)-p|0)|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;w=h[y>>2]|0;g=((f|0)<0?w:0)+f|0;w=g-((g|0)<((w+1|0)/2|0|0)?0:w)|0;ff(i,l,w);g=b[n+2>>0]|0;m=g-(b[t+2>>0]|0)>>31|1;f=ce(m,(b[r+2>>0]|0)-g|0)|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;u=h[y>>2]|0;f=((f|0)<0?u:0)+f|0;u=f-((f|0)<((u+1|0)/2|0|0)?0:u)|0;ff(i,l,u);l=h[o>>2]|0;o=l<<1|1;f=(ce(ce(o,s)|0,k)|0)+d|0;r=0-l|0;if((f|0)>=(r|0)){a=h[_>>2]|0;if((a+l|0)<(f|0)){f=f-(ce(h[y>>2]|0,o)|0)|0;t=a}else t=a}else{f=(ce(h[y>>2]|0,o)|0)+f|0;t=h[_>>2]|0}if((f&t|0)!=(f|0))f=t&~(f>>31);n=f&255;f=(ce(ce(o,w)|0,v)|0)+p|0;if((f|0)>=(r|0)){if((t+l|0)<(f|0))f=f-(ce(h[y>>2]|0,o)|0)|0}else f=(ce(h[y>>2]|0,o)|0)+f|0;if((f&t|0)!=(f|0))f=t&~(f>>31);a=f&255;f=(ce(ce(o,u)|0,m)|0)+g|0;if((f|0)>=(r|0)){if((t+l|0)<(f|0))f=f-(ce(h[y>>2]|0,o)|0)|0}else f=(ce(h[y>>2]|0,o)|0)+f|0;if((f&t|0)==(f|0)){y=f;y=y&255;c[e>>0]=n;g=e+1|0;c[g>>0]=a;e=e+2|0;c[e>>0]=y;return}y=t&~(f>>31);y=y&255;c[e>>0]=n;g=e+1|0;c[g>>0]=a;e=e+2|0;c[e>>0]=y;return}function ff(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;tf(e,n,t,(h[e+156>>2]|0)+-1-(h[36476+(h[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function af(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+144|0;e:do{if(!(h[d>>2]|0)){r=h[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+184>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+188>>2]|0):0)?(h[t+12>>2]|0)==(h[e+192>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4612>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4612>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4612>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4612>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+152|0}while(0);u=1<>2];r=e+4616|0;t=u<<1;n=e+4620|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4612|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+192|0;s=e+188|0;a=e+184|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function lf(e){e=e|0;var i=0,r=0;h[e>>2]=35996;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function sf(e){e=e|0;var i=0,r=0;h[e>>2]=35996;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function of(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,65535,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+160>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+164>>2]=f;h[e+168>>2]=t;mf(e);t=0;do{h[e+172+(t*12|0)>>2]=1024;h[e+172+(t*12|0)+4>>2]=0;d[e+172+(t*12|0)+8>>1]=0;d[e+172+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4552>>2]=1024;h[e+4556>>2]=0;c[e+4560>>0]=l;c[e+4561>>0]=1;c[e+4562>>0]=0;h[e+4564>>2]=1024;h[e+4568>>2]=1;c[e+4572>>0]=l;c[e+4573>>0]=1;c[e+4574>>0]=0;h[e+4576>>2]=0;v=n;return}function uf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4600)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35772;n=i+132|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+148>>2]=h[t>>2];h[i+152>>2]=0;h[i+156>>2]=0;h[i+160>>2]=0;n=i+4544|0;t=i+164|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4556|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4568|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];df(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;df(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function cf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function df(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+32|0;y=p+12|0;m=p;k=e+156|0;w=(h[k>>2]|0)+4|0;if((h[e+32>>2]|0)==1)_=h[e+24>>2]|0;else _=1;i=ce(_<<1,w)|0;h[y>>2]=0;E=y+4|0;h[E>>2]=0;h[y+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,y|0),g=T,T=0,g&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,g=T,T=0,!(g&1)):0){h[y>>2]=t;g=t+(i<<1)|0;h[y+8>>2]=g;Cm(t|0,0,r|0)|0;h[E>>2]=g;break}t=Ze()|0;i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[m>>2]=0;g=m+4|0;h[g>>2]=0;h[m+8>>2]=0;do{if(!_)a=18;else{if(!(_>>>0>1073741823?(T=0,pe(178,m|0),b=T,T=0,b&1):0))a=16;if((a|0)==16?(n=_<<2,T=0,f=ye(67,n|0)|0,b=T,T=0,!(b&1)):0){h[m>>2]=f;a=f+(_<<2)|0;h[m+8>>2]=a;Cm(f|0,0,n|0)|0;h[g>>2]=a;a=18;break}t=Ze()|0;i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+12|0;e:do{if((h[f>>2]|0)>0){a=e+4580|0;l=(ce(_,w)|0)+1|0;s=e+4584|0;o=e+92|0;u=(_|0)>0;c=e+4576|0;b=0;i:while(1){r=h[y>>2]|0;i=r+2|0;h[a>>2]=i;r=r+(l<<1)|0;h[s>>2]=r;if(!(b&1))i=r;else{h[a>>2]=r;h[s>>2]=i}n=h[o>>2]|0;T=0;Fe(h[(h[n>>2]|0)+12>>2]|0,n|0,i|0,h[k>>2]|0,w|0);n=T;T=0;if(n&1){a=28;break}if(u){i=h[a>>2]|0;r=h[s>>2]|0;t=h[m>>2]|0;n=0;do{h[c>>2]=h[t+(n<<2)>>2];t=h[k>>2]|0;d[i+(t<<1)>>1]=d[i+(t+-1<<1)>>1]|0;d[r+-2>>1]=d[i>>1]|0;T=0;ve(71,e|0,0);t=T;T=0;if(t&1){a=27;break i}t=h[m>>2]|0;h[t+(n<<2)>>2]=h[c>>2];i=(h[a>>2]|0)+(w<<1)|0;h[a>>2]=i;r=(h[s>>2]|0)+(w<<1)|0;h[s>>2]=r;n=n+1|0}while((n|0)<(_|0))}b=b+1|0;if((b|0)>=(h[f>>2]|0)){a=40;break e}}if((a|0)==27){t=Ze()|0;break}else if((a|0)==28){t=Ze()|0;break}}else a=40}while(0);do{if((a|0)==40){T=0;pe(182,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[m>>2]|0;r=i;if(i){t=h[g>>2]|0;if((t|0)!=(i|0))h[g>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[y>>2]|0;if(!i){v=p;return}r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=p;return}}while(0);i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function hf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4580|0;i=h[b>>2]|0;m=e+156|0;if((h[m>>2]|0)<=0)return;w=e+4584|0;_=e+4588|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(kf(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=bf(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function bf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;k=e+172+(s*12|0)+10|0;a=d[k>>1]|0;b=e+172+(s*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){f=5;while(1)if((a<>1]^w)-w+t|0;if((n&65535|0)==(n|0))u=n;else u=n>>31&65535^65535;l=(r-u^w)-w<<16;o=l>>16;if(!f)n=(h[e+172+(s*12|0)+4>>2]<<1)+-1+a>>31;else n=0;t=n^o;t=t>>30^t<<1;n=t>>f;if((n|0)<47){if((n|0)>30){a=(n|0)/2|0;Xt(e,0,a);n=n-a|0}Xt(e,1,n+1|0);Xt(e,t&(1<>1]|0;n=a<<16>>16==64;f=n&1;r=(h[t>>2]|0)+o>>f;a=n?32:a<<16>>16;h[b>>2]=(h[b>>2]|0)+((l|0)>-65536?o:0-o|0)>>f;f=a+1|0;d[k>>1]=f;n=f+r|0;if((n|0)<1){k=d[c>>1]|0;d[c>>1]=(k&65535)-(k<<16>>16>-128&1);k=(n|0)>(~a|0)?n:0-a|0;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&65535;return i|0}if((r|0)<=0){k=r;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&65535;return i|0}k=r-f|0;b=d[c>>1]|0;d[c>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&65535;return i|0}function kf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;a=(h[e+156>>2]|0)-i|0;l=h[e+4584>>2]|0;o=h[e+4580>>2]|0;n=d[l+(i+-1<<1)>>1]|0;t=0;while(1){r=l+(t+i<<1)|0;if((d[r>>1]|0)!=n<<16>>16){u=t;break}d[r>>1]=n;t=t+1|0;if((t|0)==(a|0)){u=a;break}}f=n&65535;n=(u|0)==(a|0);s=e+4576|0;t=h[36476+(h[s>>2]<<2)>>2]|0;if((1<(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[s>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[s>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>1]|0;r=k[o+(r<<1)>>1]|0;o=f-r|0;if((((o|0)>-1?o:0-o|0)|0)<1){r=t-f<<16>>16;wf(e,e+4564|0,r);r=r+f|0}else{o=r-f>>31|1;i=(ce(t-r<<16,o)|0)>>16;wf(e,e+4552|0,i);r=(ce(i,o)|0)+r|0}d[n>>1]=r;e=h[s>>2]|0;h[s>>2]=(e|0)<1?0:e+-1|0;e=u+1|0;return e|0}function wf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;_f(e,n,t,63-(h[36476+(h[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function _f(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-16|0;if((n|0)<(t+-17|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-47|0)}else Xt(e,1,f);Xt(e,r+65535&65535,16);return}function mf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,65535,0);s=e+160|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+164>>2]|0):0)?(h[l+12>>2]|0)==(h[e+168>>2]|0):0){s=h[8909]|0;h[e+4588>>2]=s+(((h[8910]|0)-s|0)>>>1);v=o;return}r=e+4592|0;t=e+4596|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=131072){if(f>>>0>131072?(a=i+131072|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,131072-f|0);i=h[r>>2]|0}l=e+4588|0;h[l>>2]=i+65536;a=e+168|0;n=e+164|0;f=-65536;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==65536)break}v=o;return}function pf(e){e=e|0;var i=0,r=0;h[e>>2]=35968;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function vf(e){e=e|0;var i=0,r=0;h[e>>2]=35968;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function gf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,4095,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+160>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+164>>2]=f;h[e+168>>2]=t;Rf(e);t=0;do{h[e+172+(t*12|0)>>2]=64;h[e+172+(t*12|0)+4>>2]=0;d[e+172+(t*12|0)+8>>1]=0;d[e+172+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4552>>2]=64;h[e+4556>>2]=0;c[e+4560>>0]=l;c[e+4561>>0]=1;c[e+4562>>0]=0;h[e+4564>>2]=64;h[e+4568>>2]=1;c[e+4572>>0]=l;c[e+4573>>0]=1;c[e+4574>>0]=0;h[e+4576>>2]=0;v=n;return}function yf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4600)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35744;n=i+132|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+148>>2]=h[t>>2];h[i+152>>2]=0;h[i+156>>2]=0;h[i+160>>2]=0;n=i+4544|0;t=i+164|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4556|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4568|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];Af(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;Af(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function Ef(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Af(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+32|0;y=p+12|0;m=p;k=e+156|0;w=(h[k>>2]|0)+4|0;if((h[e+32>>2]|0)==1)_=h[e+24>>2]|0;else _=1;i=ce(_<<1,w)|0;h[y>>2]=0;E=y+4|0;h[E>>2]=0;h[y+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,y|0),g=T,T=0,g&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,g=T,T=0,!(g&1)):0){h[y>>2]=t;g=t+(i<<1)|0;h[y+8>>2]=g;Cm(t|0,0,r|0)|0;h[E>>2]=g;break}t=Ze()|0;i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[m>>2]=0;g=m+4|0;h[g>>2]=0;h[m+8>>2]=0;do{if(!_)a=18;else{if(!(_>>>0>1073741823?(T=0,pe(178,m|0),b=T,T=0,b&1):0))a=16;if((a|0)==16?(n=_<<2,T=0,f=ye(67,n|0)|0,b=T,T=0,!(b&1)):0){h[m>>2]=f;a=f+(_<<2)|0;h[m+8>>2]=a;Cm(f|0,0,n|0)|0;h[g>>2]=a;a=18;break}t=Ze()|0;i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+12|0;e:do{if((h[f>>2]|0)>0){a=e+4580|0;l=(ce(_,w)|0)+1|0;s=e+4584|0;o=e+92|0;u=(_|0)>0;c=e+4576|0;b=0;i:while(1){r=h[y>>2]|0;i=r+2|0;h[a>>2]=i;r=r+(l<<1)|0;h[s>>2]=r;if(!(b&1))i=r;else{h[a>>2]=r;h[s>>2]=i}n=h[o>>2]|0;T=0;Fe(h[(h[n>>2]|0)+12>>2]|0,n|0,i|0,h[k>>2]|0,w|0);n=T;T=0;if(n&1){a=28;break}if(u){i=h[a>>2]|0;r=h[s>>2]|0;t=h[m>>2]|0;n=0;do{h[c>>2]=h[t+(n<<2)>>2];t=h[k>>2]|0;d[i+(t<<1)>>1]=d[i+(t+-1<<1)>>1]|0;d[r+-2>>1]=d[i>>1]|0;T=0;ve(72,e|0,0);t=T;T=0;if(t&1){a=27;break i}t=h[m>>2]|0;h[t+(n<<2)>>2]=h[c>>2];i=(h[a>>2]|0)+(w<<1)|0;h[a>>2]=i;r=(h[s>>2]|0)+(w<<1)|0;h[s>>2]=r;n=n+1|0}while((n|0)<(_|0))}b=b+1|0;if((b|0)>=(h[f>>2]|0)){a=40;break e}}if((a|0)==27){t=Ze()|0;break}else if((a|0)==28){t=Ze()|0;break}}else a=40}while(0);do{if((a|0)==40){T=0;pe(182,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[m>>2]|0;r=i;if(i){t=h[g>>2]|0;if((t|0)!=(i|0))h[g>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[y>>2]|0;if(!i){v=p;return}r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=p;return}}while(0);i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function Mf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4580|0;i=h[b>>2]|0;m=e+156|0;if((h[m>>2]|0)<=0)return;w=e+4584|0;_=e+4588|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(Sf(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=Tf(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function Tf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;k=e+172+(s*12|0)+10|0;a=d[k>>1]|0;b=e+172+(s*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){f=5;while(1)if((a<>1]^w)-w+t|0;if((n&4095|0)==(n|0))u=n;else u=n>>31&4095^4095;l=(r-u^w)-w<<20;o=l>>20;if(!f)n=(h[e+172+(s*12|0)+4>>2]<<1)+-1+a>>31;else n=0;t=n^o;t=t>>30^t<<1;n=t>>f;if((n|0)<35){if((n|0)>30){a=(n|0)/2|0;Xt(e,0,a);n=n-a|0}Xt(e,1,n+1|0);Xt(e,t&(1<>1]|0;n=a<<16>>16==64;f=n&1;r=(h[t>>2]|0)+o>>f;a=n?32:a<<16>>16;h[b>>2]=(h[b>>2]|0)+((l|0)>-1048576?o:0-o|0)>>f;f=a+1|0;d[k>>1]=f;n=f+r|0;if((n|0)<1){k=d[c>>1]|0;d[c>>1]=(k&65535)-(k<<16>>16>-128&1);k=(n|0)>(~a|0)?n:0-a|0;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}if((r|0)<=0){k=r;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}k=r-f|0;b=d[c>>1]|0;d[c>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}function Sf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;a=(h[e+156>>2]|0)-i|0;l=h[e+4584>>2]|0;o=h[e+4580>>2]|0;n=d[l+(i+-1<<1)>>1]|0;t=0;while(1){r=l+(t+i<<1)|0;if((d[r>>1]|0)!=n<<16>>16){u=t;break}d[r>>1]=n;t=t+1|0;if((t|0)==(a|0)){u=a;break}}f=n&65535;n=(u|0)==(a|0);s=e+4576|0;t=h[36476+(h[s>>2]<<2)>>2]|0;if((1<(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[s>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[s>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>1]|0;r=k[o+(r<<1)>>1]|0;o=f-r|0;if((((o|0)>-1?o:0-o|0)|0)<1){r=t-f<<20>>20;Pf(e,e+4564|0,r);r=r+f|0}else{o=r-f>>31|1;i=(ce(t-r<<20,o)|0)>>20;Pf(e,e+4552|0,i);r=(ce(i,o)|0)+r|0}d[n>>1]=r&4095;e=h[s>>2]|0;h[s>>2]=(e|0)<1?0:e+-1|0;e=u+1|0;return e|0}function Pf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;Of(e,n,t,47-(h[36476+(h[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function Of(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-12|0;if((n|0)<(t+-13|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-43|0)}else Xt(e,1,f);Xt(e,r+4095&4095,12);return}function Rf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,4095,0);s=e+160|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+164>>2]|0):0)?(h[l+12>>2]|0)==(h[e+168>>2]|0):0){s=h[8906]|0;h[e+4588>>2]=s+(((h[8907]|0)-s|0)>>>1);v=o;return}r=e+4592|0;t=e+4596|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=8192){if(f>>>0>8192?(a=i+8192|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,8192-f|0);i=h[r>>2]|0}l=e+4588|0;h[l>>2]=i+4096;a=e+168|0;n=e+164|0;f=-4096;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==4096)break}v=o;return}function Lf(e){e=e|0;var i=0,r=0;h[e>>2]=35940;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Cf(e){e=e|0;var i=0,r=0;h[e>>2]=35940;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Df(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,255,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+160>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+164>>2]=f;h[e+168>>2]=t;Yf(e);t=0;do{h[e+172+(t*12|0)>>2]=4;h[e+172+(t*12|0)+4>>2]=0;d[e+172+(t*12|0)+8>>1]=0;d[e+172+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4552>>2]=4;h[e+4556>>2]=0;c[e+4560>>0]=l;c[e+4561>>0]=1;c[e+4562>>0]=0;h[e+4564>>2]=4;h[e+4568>>2]=1;c[e+4572>>0]=l;c[e+4573>>0]=1;c[e+4574>>0]=0;h[e+4576>>2]=0;v=n;return}function xf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4600)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35716;n=i+132|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+148>>2]=h[t>>2];h[i+152>>2]=0;h[i+156>>2]=0;h[i+160>>2]=0;n=i+4544|0;t=i+164|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4556|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4568|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];Bf(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;Bf(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function If(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Bf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;m=v;v=v+32|0;g=m+12|0;_=m;b=e+156|0;k=(h[b>>2]|0)+4|0;if((h[e+32>>2]|0)==1)w=h[e+24>>2]|0;else w=1;i=ce(w<<1,k)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;e:do{if(i){if(!((i|0)<0?(T=0,pe(178,g|0),p=T,T=0,p&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;h[g+8>>2]=r+i;while(1){c[r>>0]=0;r=(h[y>>2]|0)+1|0;h[y>>2]=r;i=i+-1|0;if(!i)break e}}r=Ze()|0;i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!w)f=19;else{if(!(w>>>0>1073741823?(T=0,pe(178,_|0),d=T,T=0,d&1):0))f=17;if((f|0)==17?(t=w<<2,T=0,n=ye(67,t|0)|0,d=T,T=0,!(d&1)):0){h[_>>2]=n;f=n+(w<<2)|0;h[_+8>>2]=f;Cm(n|0,0,t|0)|0;h[p>>2]=f;f=19;break}r=Ze()|0;i=h[_>>2]|0;t=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){n=e+12|0;e:do{if((h[n>>2]|0)>0){f=e+4580|0;a=(ce(w,k)|0)+1|0;l=e+4584|0;s=e+92|0;o=(w|0)>0;u=e+4576|0;d=0;i:while(1){r=h[g>>2]|0;i=r+1|0;h[f>>2]=i;r=r+a|0;h[l>>2]=r;if(!(d&1))i=r;else{h[f>>2]=r;h[l>>2]=i}t=h[s>>2]|0;T=0;Fe(h[(h[t>>2]|0)+12>>2]|0,t|0,i|0,h[b>>2]|0,k|0);t=T;T=0;if(t&1){f=29;break}if(o){i=h[f>>2]|0;r=h[_>>2]|0;t=0;do{h[u>>2]=h[r+(t<<2)>>2];r=h[b>>2]|0;c[i+r>>0]=c[i+(r+-1)>>0]|0;c[(h[l>>2]|0)+-1>>0]=c[h[f>>2]>>0]|0;T=0;ve(73,e|0,0);r=T;T=0;if(r&1){f=28;break i}r=h[_>>2]|0;h[r+(t<<2)>>2]=h[u>>2];i=(h[f>>2]|0)+k|0;h[f>>2]=i;h[l>>2]=(h[l>>2]|0)+k;t=t+1|0}while((t|0)<(w|0))}d=d+1|0;if((d|0)>=(h[n>>2]|0)){f=41;break e}}if((f|0)==28){r=Ze()|0;break}else if((f|0)==29){r=Ze()|0;break}}else f=41}while(0);do{if((f|0)==41){T=0;pe(182,e|0);e=T;T=0;if(e&1){r=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);v=m;return}}while(0);i=h[_>>2]|0;t=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0)}function Nf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0;d=e+4580|0;i=h[d>>2]|0;_=e+156|0;if((h[_>>2]|0)<=0)return;k=e+4584|0;w=e+4588|0;n=i;f=b[i+-1>>0]|0;i=b[i>>0]|0;u=0;while(1){o=h[k>>2]|0;s=b[o+(u+-1)>>0]|0;t=u+1|0;r=b[n+t>>0]|0;l=h[w>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(Uf(e,u,0)|0)+u|0;r=h[d>>2]|0;i=b[r+(t+-1)>>0]|0;r=b[r+t>>0]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=Ff(e,l,b[o+u>>0]|0,n,0)|0;c[(h[k>>2]|0)+u>>0]=o}if((t|0)>=(h[_>>2]|0))break;n=h[d>>2]|0;f=i;i=r;u=t}return}function Ff(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;k=e+172+(s*12|0)+10|0;a=d[k>>1]|0;b=e+172+(s*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){f=5;while(1)if((a<>1]^w)-w+t|0;if((n&255|0)==(n|0))u=n;else u=n>>31&255^255;l=(r-u^w)-w<<24;o=l>>24;if(!f)n=(h[e+172+(s*12|0)+4>>2]<<1)+-1+a>>31;else n=0;n=n^o;n=n>>30^n<<1;t=n>>f;if((t|0)<23){Xt(e,1,t+1|0);Xt(e,n&(1<>1]|0;n=a<<16>>16==64;f=n&1;r=(h[t>>2]|0)+o>>f;a=n?32:a<<16>>16;h[b>>2]=(h[b>>2]|0)+((l|0)>-16777216?o:0-o|0)>>f;f=a+1|0;d[k>>1]=f;n=f+r|0;if((n|0)<1){k=d[c>>1]|0;d[c>>1]=(k&65535)-(k<<16>>16>-128&1);k=(n|0)>(~a|0)?n:0-a|0;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}if((r|0)<=0){k=r;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}k=r-f|0;b=d[c>>1]|0;d[c>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}function Uf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;a=(h[e+156>>2]|0)-i|0;l=h[e+4584>>2]|0;o=h[e+4580>>2]|0;n=c[l+(i+-1)>>0]|0;t=0;while(1){r=l+(t+i)|0;if((c[r>>0]|0)!=n<<24>>24){u=t;break}c[r>>0]=n;t=t+1|0;if((t|0)==(a|0)){u=a;break}}f=n&255;n=(u|0)==(a|0);s=e+4576|0;t=h[36476+(h[s>>2]<<2)>>2]|0;if((1<(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[s>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[s>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>0]|0;r=b[o+r>>0]|0;o=f-r|0;if((((o|0)>-1?o:0-o|0)|0)<1){r=t-f<<24>>24;jf(e,e+4564|0,r);r=r+f|0}else{o=r-f>>31|1;i=(ce(t-r<<24,o)|0)>>24;jf(e,e+4552|0,i);r=(ce(i,o)|0)+r|0}c[n>>0]=r;e=h[s>>2]|0;h[s>>2]=(e|0)<1?0:e+-1|0;e=u+1|0;return e|0}function jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;Hf(e,n,t,31-(h[36476+(h[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function Hf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-8|0;if((n|0)<(t+-9|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-39|0)}else Xt(e,1,f);Xt(e,r+255&255,8);return}function Yf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,255,0);s=e+160|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+164>>2]|0):0)?(h[l+12>>2]|0)==(h[e+168>>2]|0):0){s=h[8900]|0;h[e+4588>>2]=s+(((h[8901]|0)-s|0)>>>1);v=o;return}r=e+4592|0;t=e+4596|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=512){if(f>>>0>512?(a=i+512|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,512-f|0);i=h[r>>2]|0}l=e+4588|0;h[l>>2]=i+256;a=e+168|0;n=e+164|0;f=-256;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==256)break}v=o;return}function qf(e){e=e|0;var i=0,r=0;h[e>>2]=35912;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Xf(e){e=e|0;var i=0,r=0;h[e>>2]=35912;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function zf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,255,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+160>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+164>>2]=f;h[e+168>>2]=t;ea(e);t=0;do{h[e+172+(t*12|0)>>2]=4;h[e+172+(t*12|0)+4>>2]=0;d[e+172+(t*12|0)+8>>1]=0;d[e+172+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4552>>2]=4;h[e+4556>>2]=0;c[e+4560>>0]=l;c[e+4561>>0]=1;c[e+4562>>0]=0;h[e+4564>>2]=4;h[e+4568>>2]=1;c[e+4572>>0]=l;c[e+4573>>0]=1;c[e+4574>>0]=0;h[e+4576>>2]=0;v=n;return}function Vf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4600)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35688;n=i+132|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+148>>2]=h[t>>2];h[i+152>>2]=0;h[i+156>>2]=0;h[i+160>>2]=0;n=i+4544|0;t=i+164|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4556|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4568|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];Kf(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;Kf(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function Gf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Kf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;m=v;v=v+32|0;g=m+12|0;_=m;b=e+156|0;k=(h[b>>2]|0)+4|0;if((h[e+32>>2]|0)==1)w=h[e+24>>2]|0;else w=1;i=ce(w<<1,k)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(T=0,pe(178,g|0),p=T,T=0,p&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i*3|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;h[g+8>>2]=r+(i*3|0);while(1){c[r>>0]=0;c[r+1>>0]=0;c[r+2>>0]=0;r=(h[y>>2]|0)+3|0;h[y>>2]=r;i=i+-1|0;if(!i)break e}}t=Ze()|0;i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!w)f=19;else{if(!(w>>>0>1073741823?(T=0,pe(178,_|0),d=T,T=0,d&1):0))f=17;if((f|0)==17?(t=w<<2,T=0,n=ye(67,t|0)|0,d=T,T=0,!(d&1)):0){h[_>>2]=n;f=n+(w<<2)|0;h[_+8>>2]=f;Cm(n|0,0,t|0)|0;h[p>>2]=f;f=19;break}t=Ze()|0;i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){n=e+12|0;e:do{if((h[n>>2]|0)>0){f=e+4580|0;a=(ce(w,k)|0)+1|0;l=e+4584|0;s=e+92|0;o=(w|0)>0;u=e+4576|0;d=0;i:while(1){t=h[g>>2]|0;i=t+3|0;h[f>>2]=i;r=t+(a*3|0)|0;h[l>>2]=r;if(!(d&1))i=a;else{h[f>>2]=r;h[l>>2]=i;i=1}r=h[s>>2]|0;T=0;Fe(h[(h[r>>2]|0)+12>>2]|0,r|0,t+(i*3|0)|0,h[b>>2]|0,k|0);t=T;T=0;if(t&1){f=29;break}if(o){i=h[_>>2]|0;r=h[f>>2]|0;t=0;do{h[u>>2]=h[i+(t<<2)>>2];E=h[b>>2]|0;i=r+(E*3|0)|0;r=r+((E+-1|0)*3|0)|0;c[i>>0]=c[r>>0]|0;c[i+1>>0]=c[r+1>>0]|0;c[i+2>>0]=c[r+2>>0]|0;i=h[f>>2]|0;r=(h[l>>2]|0)+-3|0;c[r>>0]=c[i>>0]|0;c[r+1>>0]=c[i+1>>0]|0;c[r+2>>0]=c[i+2>>0]|0;T=0;ve(74,e|0,0);r=T;T=0;if(r&1){f=28;break i}i=h[_>>2]|0;h[i+(t<<2)>>2]=h[u>>2];r=(h[f>>2]|0)+(k*3|0)|0;h[f>>2]=r;h[l>>2]=(h[l>>2]|0)+(k*3|0);t=t+1|0}while((t|0)<(w|0))}d=d+1|0;if((d|0)>=(h[n>>2]|0)){f=41;break e}}if((f|0)==28){t=Ze()|0;break}else if((f|0)==29){t=Ze()|0;break}}else f=41}while(0);do{if((f|0)==41){T=0;pe(182,e|0);E=T;T=0;if(E&1){t=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);v=m;return}}while(0);i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}function Wf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0;T=e+156|0;if((h[T>>2]|0)<=0)return;S=e+4584|0;P=e+4580|0;O=e+4588|0;M=0;while(1){y=M+-1|0;f=h[S>>2]|0;a=h[P>>2]|0;i=M+1|0;n=b[a+(M*3|0)>>0]|0;A=h[O>>2]|0;l=b[a+(y*3|0)>>0]|0;s=n-l|0;o=b[f+(y*3|0)>>0]|0;u=l-o|0;d=((((c[A+((b[a+(i*3|0)>>0]|0)-n)>>0]|0)*9|0)+(c[A+s>>0]|0)|0)*9|0)+(c[A+u>>0]|0)|0;t=b[a+(M*3|0)+1>>0]|0;k=b[a+(y*3|0)+1>>0]|0;w=t-k|0;_=b[f+(y*3|0)+1>>0]|0;m=k-_|0;p=((((c[A+((b[a+(i*3|0)+1>>0]|0)-t)>>0]|0)*9|0)+(c[A+w>>0]|0)|0)*9|0)+(c[A+m>>0]|0)|0;r=b[a+(M*3|0)+2>>0]|0;v=b[a+(y*3|0)+2>>0]|0;g=r-v|0;y=b[f+(y*3|0)+2>>0]|0;E=v-y|0;A=((((c[A+((b[a+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(c[A+g>>0]|0)|0)*9|0)+(c[A+E>>0]|0)|0;if(!(p|d|A))i=(Jf(e,M,0)|0)+M|0;else{a=b[f+(M*3|0)>>0]|0;f=n-o>>31;if((f^u|0)>=0)if((f^s|0)<0)n=o;else n=o-l+n|0;a=Zf(e,d,a,n,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+1>>0]|0;n=t-_>>31;if((n^m|0)>=0)if((n^w|0)<0)t=_;else t=_-k+t|0;n=Zf(e,p,f,t,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+2>>0]|0;t=r-y>>31;if((t^E|0)>=0)if((t^g|0)<0)r=y;else r=y-v+r|0;A=Zf(e,A,f,r,0)|0;M=(h[S>>2]|0)+(M*3|0)|0;c[M>>0]=a;c[M+1>>0]=n;c[M+2>>0]=A}if((i|0)<(h[T>>2]|0))M=i;else break}return}function Jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0;o=(h[e+156>>2]|0)-i|0;u=h[e+4584>>2]|0;d=h[e+4580>>2]|0;s=u+((i+-1|0)*3|0)|0;k=c[s>>0]|0;l=c[s+1>>0]|0;s=c[s+2>>0]|0;f=0;while(1){r=u+((f+i|0)*3|0)|0;t=r+1|0;n=r+2|0;if(!(((c[r>>0]|0)==k<<24>>24?(c[t>>0]|0)==l<<24>>24:0)&(c[n>>0]|0)==s<<24>>24))break;c[r>>0]=k;c[t>>0]=l;c[n>>0]=s;f=f+1|0;if((f|0)==(o|0)){f=o;break}}n=(f|0)==(o|0);a=e+4576|0;t=h[36476+(h[a>>2]<<2)>>2]|0;if((1<(f|0))r=f;else{r=f;do{Xt(e,1,1);t=h[a>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[a>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>0]|0;i=o+2|0;n=c[i>>0]|0;d=d+(t*3|0)|0;t=c[d+1>>0]|0;p=c[d+2>>0]|0;d=b[d>>0]|0;w=d-(k&255)>>31|1;_=(ce((b[o>>0]|0)-d<<24,w)|0)>>24;m=e+4552|0;Qf(e,m,_);k=t&255;t=k-(l&255)>>31|1;r=(ce((r&255)-k<<24,t)|0)>>24;Qf(e,m,r);l=p&255;s=l-(s&255)>>31|1;n=(ce((n&255)-l<<24,s)|0)>>24;Qf(e,m,n);d=(ce(_,w)|0)+d&255;k=(ce(r,t)|0)+k&255;e=(ce(n,s)|0)+l&255;c[o>>0]=d;c[u>>0]=k;c[i>>0]=e;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;e=f+1|0;return e|0}if(!r){p=o;return p|0}Xt(e,1,1);p=o;return p|0}function Zf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;k=e+172+(s*12|0)+10|0;a=d[k>>1]|0;b=e+172+(s*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){f=5;while(1)if((a<>1]^w)-w+t|0;if((n&255|0)==(n|0))u=n;else u=n>>31&255^255;l=(r-u^w)-w<<24;o=l>>24;if(!f)n=(h[e+172+(s*12|0)+4>>2]<<1)+-1+a>>31;else n=0;n=n^o;n=n>>30^n<<1;t=n>>f;if((t|0)<23){Xt(e,1,t+1|0);Xt(e,n&(1<>1]|0;n=a<<16>>16==64;f=n&1;r=(h[t>>2]|0)+o>>f;a=n?32:a<<16>>16;h[b>>2]=(h[b>>2]|0)+((l|0)>-16777216?o:0-o|0)>>f;f=a+1|0;d[k>>1]=f;n=f+r|0;if((n|0)<1){k=d[c>>1]|0;d[c>>1]=(k&65535)-(k<<16>>16>-128&1);k=(n|0)>(~a|0)?n:0-a|0;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}if((r|0)<=0){k=r;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}k=r-f|0;b=d[c>>1]|0;d[c>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}function Qf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;$f(e,n,t,31-(h[36476+(h[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function $f(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-8|0;if((n|0)<(t+-9|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-39|0)}else Xt(e,1,f);Xt(e,r+255&255,8);return}function ea(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,255,0);s=e+160|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+164>>2]|0):0)?(h[l+12>>2]|0)==(h[e+168>>2]|0):0){s=h[8900]|0;h[e+4588>>2]=s+(((h[8901]|0)-s|0)>>>1);v=o;return}r=e+4592|0;t=e+4596|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=512){if(f>>>0>512?(a=i+512|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,512-f|0);i=h[r>>2]|0}l=e+4588|0;h[l>>2]=i+256;a=e+168|0;n=e+164|0;f=-256;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==256)break}v=o;return}function ia(e){e=e|0;var i=0,r=0;h[e>>2]=35884;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function ra(e){e=e|0;var i=0,r=0;h[e>>2]=35884;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function ta(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+136>>2]|0,h[e+144>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+184>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+188>>2]=f;h[e+192>>2]=n;ha(e);n=e+140|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+196+(f*12|0)>>2]=i;h[e+196+(f*12|0)+4>>2]=0;d[e+196+(f*12|0)+8>>1]=0;d[e+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4576>>2]=l;h[e+4580>>2]=0;c[e+4584>>0]=s;c[e+4585>>0]=1;c[e+4586>>0]=0;h[e+4588>>2]=l;h[e+4592>>2]=1;c[e+4596>>0]=s;c[e+4597>>0]=1;c[e+4598>>0]=0;h[e+4600>>2]=0;v=a;return}function na(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4624)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35660;h[i+128>>2]=h[e+136>>2];h[i+132>>2]=h[e+140>>2];h[i+136>>2]=h[e+144>>2];h[i+140>>2]=h[e+148>>2];h[i+144>>2]=h[e+152>>2];h[i+148>>2]=h[e+156>>2];h[i+152>>2]=h[e+160>>2];n=i+156|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+172>>2]=h[t>>2];h[i+176>>2]=0;h[i+180>>2]=0;h[i+184>>2]=0;n=i+4568|0;t=i+188|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4580|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4592|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];aa(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;aa(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function fa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function aa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;m=v;v=v+32|0;g=m+12|0;_=m;k=e+180|0;w=(h[k>>2]|0)+4|0;if((h[e+32>>2]|0)==1)d=h[e+24>>2]|0;else d=1;i=ce(d<<1,w)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;e:do{if(i){if(!((i|0)<0?(T=0,pe(178,g|0),p=T,T=0,p&1):0))b=6;if((b|0)==6?(T=0,r=ye(67,i|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;h[g+8>>2]=r+i;while(1){c[r>>0]=0;r=(h[y>>2]|0)+1|0;h[y>>2]=r;i=i+-1|0;if(!i)break e}}r=Ze()|0;i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!d)b=19;else{if(!(d>>>0>1073741823?(T=0,pe(178,_|0),u=T,T=0,u&1):0))b=17;if((b|0)==17?(t=d<<2,T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[_>>2]=n;b=n+(d<<2)|0;h[_+8>>2]=b;Cm(n|0,0,t|0)|0;h[p>>2]=b;b=19;break}r=Ze()|0;i=h[_>>2]|0;t=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}}while(0);if((b|0)==19){a=e+12|0;e:do{if((h[a>>2]|0)>0){l=e+4604|0;s=(ce(d,w)|0)+1|0;o=e+4608|0;u=e+92|0;f=e+4600|0;if((d|0)>0)n=0;else{t=0;while(1){r=h[g>>2]|0;i=r+1|0;h[l>>2]=i;r=r+s|0;h[o>>2]=r;if(!(t&1))i=r;else{h[l>>2]=r;h[o>>2]=i}d=h[u>>2]|0;T=0;Fe(h[(h[d>>2]|0)+12>>2]|0,d|0,i|0,h[k>>2]|0,w|0);d=T;T=0;if(d&1)break;t=t+1|0;if((t|0)>=(h[a>>2]|0)){b=45;break e}}r=Ze()|0;break}i:while(1){r=h[g>>2]|0;i=r+1|0;h[l>>2]=i;r=r+s|0;h[o>>2]=r;if(!(n&1))i=r;else{h[l>>2]=r;h[o>>2]=i}b=h[u>>2]|0;T=0;Fe(h[(h[b>>2]|0)+12>>2]|0,b|0,i|0,h[k>>2]|0,w|0);b=T;T=0;if(b&1){b=28;break}i=h[_>>2]|0;r=h[l>>2]|0;t=0;do{h[f>>2]=h[i+(t<<2)>>2];b=h[k>>2]|0;c[r+b>>0]=c[r+(b+-1)>>0]|0;c[(h[o>>2]|0)+-1>>0]=c[h[l>>2]>>0]|0;T=0;ve(75,e|0,0);b=T;T=0;if(b&1){b=36;break i}i=h[_>>2]|0;h[i+(t<<2)>>2]=h[f>>2];r=(h[l>>2]|0)+w|0;h[l>>2]=r;h[o>>2]=(h[o>>2]|0)+w;t=t+1|0}while((t|0)<(d|0));n=n+1|0;if((n|0)>=(h[a>>2]|0)){b=45;break e}}if((b|0)==28){r=Ze()|0;break}else if((b|0)==36){r=Ze()|0;break}}else b=45}while(0);do{if((b|0)==45){T=0;pe(182,e|0);e=T;T=0;if(e&1){r=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);v=m;return}}while(0);i=h[_>>2]|0;t=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0)}function la(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0;d=e+4604|0;i=h[d>>2]|0;_=e+180|0;if((h[_>>2]|0)<=0)return;k=e+4608|0;w=e+4612|0;n=i;f=b[i+-1>>0]|0;i=b[i>>0]|0;u=0;while(1){o=h[k>>2]|0;s=b[o+(u+-1)>>0]|0;t=u+1|0;r=b[n+t>>0]|0;l=h[w>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(oa(e,u,0)|0)+u|0;r=h[d>>2]|0;i=b[r+(t+-1)>>0]|0;r=b[r+t>>0]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=sa(e,l,b[o+u>>0]|0,n,0)|0;c[(h[k>>2]|0)+u>>0]=o}if((t|0)>=(h[_>>2]|0))break;n=h[d>>2]|0;f=i;i=r;u=t}return}function sa(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0;_=i>>31;f=(_^i)-_|0;k=e+196+(f*12|0)+10|0;a=d[k>>1]|0;b=e+196+(f*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){i=5;while(1)if((a<>1]^_)-_+t|0;w=e+136|0;t=h[w>>2]|0;if((n&t|0)==(n|0))o=n;else o=t&~(n>>31);n=(r-o^_)-_|0;s=e+144|0;t=h[s>>2]|0;if((n|0)>0)n=(n+t|0)/(t<<1|1|0)|0;else n=(n-t|0)/(t<<1|1|0)|0;c=e+140|0;l=h[c>>2]|0;r=((n|0)<0?l:0)+n|0;l=r-((r|0)<((l+1|0)/2|0|0)?0:l)|0;f=e+196+(f*12|0)+4|0;if(!(t|i))n=(h[f>>2]<<1)+-1+a>>31;else n=0;t=n^l;da(e,i,t>>30^t<<1,h[e+156>>2]|0);t=h[e+160>>2]|0;i=(h[b>>2]|0)+((l|0)>-1?l:0-l|0)|0;n=(h[f>>2]|0)+(ce(h[s>>2]<<1|1,l)|0)|0;r=d[k>>1]|0;if((r|0)==(t|0)){i=i>>1;n=n>>1;r=t>>1}h[b>>2]=i;t=r+1|0;d[k>>1]=t;i=t+n|0;if((i|0)>=1){if((n|0)>0){n=n-t|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);n=(n|0)>0?0:n}}else{n=d[u>>1]|0;d[u>>1]=(n&65535)-(n<<16>>16>-128&1);n=(i|0)>(~r|0)?i:0-r|0}h[f>>2]=n;t=h[s>>2]|0;r=t<<1|1;i=(ce(r,(l^_)-_|0)|0)+o|0;if((i|0)>=(0-t|0)){n=h[w>>2]|0;if((n+t|0)<(i|0))i=i-(ce(h[c>>2]|0,r)|0)|0}else{i=(ce(h[c>>2]|0,r)|0)+i|0;n=h[w>>2]|0}if((i&n|0)==(i|0)){_=i;_=_&255;return _|0}_=n&~(i>>31);_=_&255;return _|0}function oa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;s=(h[e+180>>2]|0)-i|0;o=h[e+4608>>2]|0;u=h[e+4604>>2]|0;n=c[o+(i+-1)>>0]|0;l=n&255;r=e+144|0;f=0;while(1){t=o+(f+i)|0;a=(b[t>>0]|0)-l|0;if((((a|0)>-1?a:0-a|0)|0)>(h[r>>2]|0))break;c[t>>0]=n;f=f+1|0;if((f|0)==(s|0)){f=s;break}}n=(f|0)==(s|0);a=e+4600|0;t=h[36476+(h[a>>2]<<2)>>2]|0;if((1<(f|0))r=f;else{r=f;do{Xt(e,1,1);t=h[a>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[a>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>0]|0,l,b[u+s>>0]|0)|0;c[i>>0]=e;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;e=f+1|0;return e|0}if(!r){e=s;return e|0}Xt(e,1,1);e=s;return e|0}function ua(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;l=r-t|0;s=e+136|0;a=e+144|0;n=h[a>>2]|0;if((((l|0)>-1?l:0-l|0)|0)>(n|0)){f=t-r>>31|1;i=ce(f,i-t|0)|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=h[l>>2]|0;r=((i|0)<0?n:0)+i|0;n=r-((r|0)<((n+1|0)/2|0|0)?0:n)|0;ca(e,e+4576|0,n);n=ce(n,f)|0;f=h[a>>2]|0;a=f<<1|1;n=(ce(n,a)|0)+t|0;if((n|0)>=(0-f|0)){i=h[s>>2]|0;if((i+f|0)<(n|0))n=n-(ce(h[l>>2]|0,a)|0)|0}else{n=(ce(h[l>>2]|0,a)|0)+n|0;i=h[s>>2]|0}if((n&i|0)==(n|0)){s=n;s=s&255;return s|0}s=i&~(n>>31);s=s&255;return s|0}else{i=i-r|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=h[l>>2]|0;f=((i|0)<0?n:0)+i|0;n=f-((f|0)<((n+1|0)/2|0|0)?0:n)|0;ca(e,e+4588|0,n);f=h[a>>2]|0;a=f<<1|1;n=(ce(a,n)|0)+r|0;if((n|0)>=(0-f|0)){i=h[s>>2]|0;if((i+f|0)<(n|0))n=n-(ce(h[l>>2]|0,a)|0)|0}else{n=(ce(h[l>>2]|0,a)|0)+n|0;i=h[s>>2]|0}if((n&i|0)==(n|0)){s=n;s=s&255;return s|0}s=i&~(n>>31);s=s&255;return s|0}return 0}function ca(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;da(e,n,t,(h[e+156>>2]|0)+-1-(h[36476+(h[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function da(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=r>>i;f=e+148|0;a=t-(h[f>>2]|0)|0;if((n|0)<(a+-1|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-31-(h[f>>2]|0)|0)}else Xt(e,1,a);i=h[f>>2]|0;Xt(e,(1<>2]|0)){r=h[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+184>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+188>>2]|0):0)?(h[t+12>>2]|0)==(h[e+192>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4612>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4612>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4612>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4612>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+152|0}while(0);u=1<>2];r=e+4616|0;t=u<<1;n=e+4620|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4612|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+192|0;s=e+188|0;a=e+184|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function ba(e){e=e|0;var i=0,r=0;h[e>>2]=35856;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function ka(e){e=e|0;var i=0,r=0;h[e>>2]=35856;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function wa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function _a(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+128>>2]|0,h[e+136>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+176>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+180>>2]=f;h[e+184>>2]=n;Pa(e);n=e+132|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+188+(f*12|0)>>2]=i;h[e+188+(f*12|0)+4>>2]=0;d[e+188+(f*12|0)+8>>1]=0;d[e+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4568>>2]=l;h[e+4572>>2]=0;c[e+4576>>0]=s;c[e+4577>>0]=1;c[e+4578>>0]=0;h[e+4580>>2]=l;h[e+4584>>2]=1;c[e+4588>>0]=s;c[e+4589>>0]=1;c[e+4590>>0]=0;h[e+4592>>2]=0;v=a;return}function ma(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4620>>0]=n&1;i=e+156|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);pa(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function pa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+172|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,S=T,T=0,!(S&1)):0){h[P>>2]=t;S=t+(i<<1)|0;h[P+8>>2]=S;Cm(t|0,0,r|0)|0;h[O>>2]=S;break}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)a=18;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))a=16;if((a|0)==16?(n=E<<2,T=0,f=ye(67,n|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=f;a=f+(E<<2)|0;h[A+8>>2]=a;Cm(f|0,0,n|0)|0;h[S>>2]=a;a=18;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4596|0;l=ce(E,y)|0;s=l+1|0;o=e+4600|0;u=(E|0)>0;c=e+160|0;b=e+168|0;k=e+164|0;w=e+156|0;_=e+88|0;m=e+4592|0;p=0;i:while(1){t=h[P>>2]|0;r=t+2|0;h[a>>2]=r;t=t+(s<<1)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];n=h[g>>2]|0;d[r+(n<<1)>>1]=d[r+(n+-1<<1)>>1]|0;d[i+-2>>1]=d[r>>1]|0;T=0;ve(76,e|0,0);n=T;T=0;if(n&1){a=29;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y<<1)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y<<1)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[c>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+((h[w>>2]|0)-l<<1)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){a=30;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){a=42;break e}}if((a|0)==29){t=Ze()|0;break}else if((a|0)==30){t=Ze()|0;break}}else a=42}while(0);do{if((a|0)==42){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function va(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0,p=0,v=0;w=e+4596|0;r=h[w>>2]|0;v=e+172|0;i=h[v>>2]|0;if((i|0)<=0)return;_=e+4600|0;m=e+4604|0;p=e+4592|0;l=r;f=k[r+-2>>1]|0;r=k[r>>1]|0;b=0;while(1){o=h[_>>2]|0;a=d[o+(b+-1<<1)>>1]|0;u=a&65535;n=b+1|0;t=k[l+(n<<1)>>1]|0;s=h[m>>2]|0;l=r-f|0;f=f-u|0;s=((((c[s+(t-r)>>0]|0)*9|0)+(c[s+l>>0]|0)|0)*9|0)+(c[s+f>>0]|0)|0;o=o+(b<<1)|0;if(!s){i=Ea(e,a,o,i-b|0)|0;r=i+b|0;if((r|0)!=(h[v>>2]|0)){u=Aa(e,u,k[(h[w>>2]|0)+(r<<1)>>1]|0)|0;d[(h[_>>2]|0)+(r<<1)>>1]=u;u=h[p>>2]|0;h[p>>2]=(u|0)<1?0:u+-1|0;i=i+1|0}n=i+b|0;t=h[w>>2]|0;r=k[t+(n+-1<<1)>>1]|0;t=k[t+(n<<1)>>1]|0}else{i=r-u>>31;if((i^f|0)<0)i=r;else i=u+((i^l|0)<0?0:l)|0;u=ya(e,s,k[o>>1]|0,i,0)|0;d[(h[_>>2]|0)+(b<<1)>>1]=u}i=h[v>>2]|0;if((i|0)<=(n|0))break;l=h[w>>2]|0;f=r;r=t;b=n}return}function ga(e){e=e|0;var i=0,r=0,t=0,n=0;t=e+116|0;r=h[t>>2]|0;if((c[r>>0]|0)!=-1){n=e+112|0;i=h[n>>2]|0;if((i|0)<1){Jt(e);i=h[n>>2]|0;r=h[t>>2]|0}e=e+108|0;t=h[e>>2]|0;h[n>>2]=i+-1;i=t<<1;h[e>>2]=i;if((c[r>>0]|0)!=-1){i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,6,35648);e=T;T=0;if(!(e&1))Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}}else i=h[e+108>>2]|0;if(!i)return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,6,35648);e=T;T=0;if(!(e&1))Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}function ya(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+188+(s*12|0)+10|0;r=d[k>>1]|0;b=e+188+(s*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){i=5;while(1)if((r<>1]^_)-_+t|0;w=e+128|0;n=h[w>>2]|0;if((r&n|0)==(r|0))o=r;else o=n&~(r>>31);r=e+112|0;if((h[r>>2]|0)<8)Jt(e);n=e+108|0;t=h[n>>2]|0;f=t>>>24;a=h[2832+(i<<11)+(f<<3)+4>>2]|0;if(!a){l=h[e+148>>2]|0;n=h[e+140>>2]|0;r=Ta(e)|0;if((r|0)<(l+-1-n|0)){if(i)r=(Sa(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}else{h[r>>2]=(h[r>>2]|0)-a;h[n>>2]=t<>2]|0}l=e+136|0;t=h[l>>2]|0;if(!i){if(!t)n=(h[e+188+(s*12|0)+4>>2]<<1)+-1+(d[k>>1]|0)>>31;else n=0;a=n^r}else a=r;i=h[e+152>>2]|0;n=(h[b>>2]|0)+((a|0)>-1?a:0-a|0)|0;f=e+188+(s*12|0)+4|0;r=(h[f>>2]|0)+(ce(t<<1|1,a)|0)|0;t=d[k>>1]|0;if((t|0)==(i|0)){n=n>>1;r=r>>1;t=i>>1}h[b>>2]=n;i=t+1|0;d[k>>1]=i;n=i+r|0;if((n|0)>=1){if((r|0)>0){r=r-i|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=d[u>>1]|0;d[u>>1]=(r&65535)-(r<<16>>16>-128&1);r=(n|0)>(~t|0)?n:0-t|0}h[f>>2]=r;i=h[l>>2]|0;t=i<<1|1;n=(ce(t,(a^_)-_|0)|0)+o|0;if((n|0)>=(0-i|0)){r=h[w>>2]|0;if((r+i|0)<(n|0))n=n-(ce(h[e+132>>2]|0,t)|0)|0}else{n=(ce(h[e+132>>2]|0,t)|0)+n|0;r=h[w>>2]|0}if((n&r|0)==(n|0)){e=n;e=e&65535;return e|0}e=r&~(n>>31);e=e&65535;return e|0}function Ea(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0;l=e+112|0;s=e+108|0;o=e+4592|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;b=1<>2];k=t-f|0;k=(b|0)<(k|0)?b:k;f=k+f|0;if((k|0)==(b|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);k=T;T=0;if(k&1){k=Ze()|0;We(n|0);si(k|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)>0)f=0;else return n|0;do{d[r+(f<<1)>>1]=i;f=f+1|0}while((f|0)!=(n|0));return n|0}function Aa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i-r|0;a=e+128|0;t=e+136|0;if((((f|0)>-1?f:0-f|0)|0)>(h[t>>2]|0)){i=ce(Ma(e,e+4568|0)|0,r-i>>31|1)|0;n=h[t>>2]|0;f=n<<1|1;i=(ce(i,f)|0)+r|0;if((i|0)>=(0-n|0)){t=h[a>>2]|0;if((t+n|0)<(i|0))i=i-(ce(h[e+132>>2]|0,f)|0)|0}else{i=(ce(h[e+132>>2]|0,f)|0)+i|0;t=h[a>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&65535;return e|0}e=t&~(i>>31);e=e&65535;return e|0}else{r=Ma(e,e+4580|0)|0;f=h[t>>2]|0;n=f<<1|1;i=(ce(n,r)|0)+i|0;if((i|0)>=(0-f|0)){t=h[a>>2]|0;if((t+f|0)<(i|0))i=i-(ce(h[e+132>>2]|0,n)|0)|0}else{i=(ce(h[e+132>>2]|0,n)|0)+i|0;t=h[a>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&65535;return e|0}e=t&~(i>>31);e=e&65535;return e|0}return 0}function Ma(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=i+9|0;r=b[o>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;a=h[e+148>>2]|0;l=h[36476+(h[e+4592>>2]<<2)>>2]|0;r=h[e+140>>2]|0;n=Ta(e)|0;do{if((n|0)<(a+-2-l-r|0))if(!t){t=h[f>>2]|0;e=t+n|0;r=e&1;e=(r+e|0)/2|0;s=8;break}else{l=(Sa(e,t)|0)+(n<>2]|0;n=l+t|0;a=n&1;r=a;f=1;n=(a+n|0)/2|0;break}else{n=(Sa(e,r)|0)+1|0;a=h[f>>2]|0;e=n+a|0;r=e&1;e=(r+e|0)/2|0;if(!t){t=a;s=8}else{l=n;f=1;n=e;t=a}}}while(0);if((s|0)==8){l=n;f=b[i+10>>0]<<1>>>0>=(b[o>>0]|0)>>>0;n=e}n=(r|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(l+1-t>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[o>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){i=t;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[o>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=s;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}function Ta(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;f=e+112|0;if((h[f>>2]|0)<16)Jt(e);a=e+108|0;r=h[a>>2]|0;if((r|0)>=0)if(!(r&1073741824))if(!(r&536870912))if(!(r&268435456))if(!(r&134217728))if(!(r&67108864))if(!(r&33554432))if(!(r&16777216))if(!(r&8388608))if(!(r&4194304))if(!(r&2097152))if(!(r&1048576))if(!(r&524288))if(!(r&262144))if(!(r&131072)){n=r>>>12&16;i=n+-1|0;if(!n){i=(h[f>>2]|0)+-15|0;h[f>>2]=i;t=r<<15;h[a>>2]=t;r=i;i=15;while(1){if((r|0)<1){Jt(e);n=h[a>>2]|0;r=h[f>>2]|0}else n=t;r=r+-1|0;h[f>>2]=r;t=n<<1;h[a>>2]=t;if((n|0)<0)break;else i=i+1|0}return i|0}}else i=14;else i=13;else i=12;else i=11;else i=10;else i=9;else i=8;else i=7;else i=6;else i=5;else i=4;else i=3;else i=2;else i=1;else i=0;e=i+1|0;h[f>>2]=(h[f>>2]|0)-e;h[a>>2]=r<>2]|0;if((r|0)<(i|0)){Jt(e);r=h[t>>2]|0;if((r|0)<(i|0)){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}n=e+108|0;e=h[n>>2]|0;h[t>>2]=r-i;h[n>>2]=e<>>(32-i|0)|0}function Pa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+136|0;e:do{if(!(h[d>>2]|0)){r=h[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+176>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+180>>2]|0):0)?(h[t+12>>2]|0)==(h[e+184>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4604>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4604>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4604>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4604>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+144|0}while(0);u=1<>2];r=e+4608|0;t=u<<1;n=e+4612|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4604|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+184|0;s=e+180|0;a=e+176|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function Oa(e){e=e|0;var i=0,r=0;h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Ra(e){e=e|0;var i=0,r=0;h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function La(e){e=e|0;var i=0,r=0;h[e>>2]=35828;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Ca(e){e=e|0;var i=0,r=0;h[e>>2]=35828;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Da(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=6;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=6;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function xa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+128>>2]|0,h[e+136>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+176>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+180>>2]=f;h[e+184>>2]=n;Ya(e);n=e+132|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+188+(f*12|0)>>2]=i;h[e+188+(f*12|0)+4>>2]=0;d[e+188+(f*12|0)+8>>1]=0;d[e+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4568>>2]=l;h[e+4572>>2]=0;c[e+4576>>0]=s;c[e+4577>>0]=1;c[e+4578>>0]=0;h[e+4580>>2]=l;h[e+4584>>2]=1;c[e+4588>>0]=s;c[e+4589>>0]=1;c[e+4590>>0]=0;h[e+4592>>2]=0;v=a;return}function Ia(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4620>>0]=n&1;i=e+156|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Ba(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Ba(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+172|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;do{if(i){if(!(i>>>0>715827882?(T=0,pe(178,P|0),S=T,T=0,S&1):0))a=6;if((a|0)==6?(T=0,r=ye(67,i*6|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;t=r+(i*6|0)|0;h[P+8>>2]=t;while(1){d[r>>1]=0;d[r+2>>1]=0;d[r+4>>1]=0;i=i+-1|0;if(!i)break;else r=r+6|0}h[O>>2]=t;break}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)a=20;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))a=18;if((a|0)==18?(n=E<<2,T=0,f=ye(67,n|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=f;a=f+(E<<2)|0;h[A+8>>2]=a;Cm(f|0,0,n|0)|0;h[S>>2]=a;a=20;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==20){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4596|0;l=ce(E,y)|0;s=l+1|0;o=e+4600|0;u=(E|0)>0;c=e+160|0;b=e+168|0;k=e+164|0;w=e+156|0;_=e+88|0;m=e+4592|0;p=0;i:while(1){t=h[P>>2]|0;r=t+6|0;h[a>>2]=r;t=t+(s*6|0)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];i=h[g>>2]|0;n=r+(i*6|0)|0;r=r+((i+-1|0)*6|0)|0;d[n>>1]=d[r>>1]|0;d[n+2>>1]=d[r+2>>1]|0;d[n+4>>1]=d[r+4>>1]|0;n=(h[o>>2]|0)+-6|0;r=h[a>>2]|0;d[n>>1]=d[r>>1]|0;d[n+2>>1]=d[r+2>>1]|0;d[n+4>>1]=d[r+4>>1]|0;T=0;ve(77,e|0,0);n=T;T=0;if(n&1){a=31;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y*6|0)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y*6|0)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[c>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+(((h[w>>2]|0)-l|0)*6|0)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){a=32;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){a=44;break e}}if((a|0)==31){t=Ze()|0;break}else if((a|0)==32){t=Ze()|0;break}}else a=44}while(0);do{if((a|0)==44){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);si(t|0)}function Na(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0;U=v;v=v+32|0;O=U+24|0;F=U+18|0;N=U+12|0;R=U+6|0;L=U;C=e+172|0;i=h[C>>2]|0;if((i|0)<=0){v=U;return}D=e+4600|0;x=e+4596|0;I=e+4604|0;B=e+4592|0;P=0;while(1){t=P+-1|0;n=h[D>>2]|0;j=h[x>>2]|0;r=P+1|0;f=k[j+(P*6|0)>>1]|0;S=h[I>>2]|0;a=k[j+(t*6|0)>>1]|0;l=f-a|0;s=k[n+(t*6|0)>>1]|0;o=a-s|0;u=((((c[S+((k[j+(r*6|0)>>1]|0)-f)>>0]|0)*9|0)+(c[S+l>>0]|0)|0)*9|0)+(c[S+o>>0]|0)|0;b=k[j+(P*6|0)+2>>1]|0;w=k[j+(t*6|0)+2>>1]|0;_=b-w|0;m=k[n+(t*6|0)+2>>1]|0;p=w-m|0;g=((((c[S+((k[j+(r*6|0)+2>>1]|0)-b)>>0]|0)*9|0)+(c[S+_>>0]|0)|0)*9|0)+(c[S+p>>0]|0)|0;y=k[j+(P*6|0)+4>>1]|0;E=k[j+(t*6|0)+4>>1]|0;A=y-E|0;M=k[n+(t*6|0)+4>>1]|0;T=E-M|0;S=((((c[S+((k[j+(r*6|0)+4>>1]|0)-y)>>0]|0)*9|0)+(c[S+A>>0]|0)|0)*9|0)+(c[S+T>>0]|0)|0;if(!(g|u|S)){r=n+(t*6|0)|0;d[N>>1]=d[r>>1]|0;d[N+2>>1]=d[r+2>>1]|0;d[N+4>>1]=d[r+4>>1]|0;d[O>>1]=d[r>>1]|0;d[O+2>>1]=d[r+2>>1]|0;d[O+4>>1]=d[r+4>>1]|0;i=Fa(e,O,n+(P*6|0)|0,i-P|0)|0;r=i+P|0;if((r|0)!=(h[C>>2]|0)){j=(h[x>>2]|0)+(r*6|0)|0;d[L>>1]=d[j>>1]|0;d[L+2>>1]=d[j+2>>1]|0;d[L+4>>1]=d[j+4>>1]|0;j=(h[D>>2]|0)+(r*6|0)|0;d[F>>1]=d[N>>1]|0;d[F+2>>1]=d[N+2>>1]|0;d[F+4>>1]=d[N+4>>1]|0;d[O>>1]=d[L>>1]|0;d[O+2>>1]=d[L+2>>1]|0;d[O+4>>1]=d[L+4>>1]|0;Ua(R,e,F,O);d[j>>1]=d[R>>1]|0;d[j+2>>1]=d[R+2>>1]|0;d[j+4>>1]=d[R+4>>1]|0;j=h[B>>2]|0;h[B>>2]=(j|0)<1?0:j+-1|0;i=i+1|0}r=i+P|0}else{t=k[n+(P*6|0)>>1]|0;i=f-s>>31;if((i^o|0)>=0)if((i^l|0)<0)i=s;else i=s-a+f|0;else i=f;f=ja(e,u,t,i,0)|0;t=k[(h[D>>2]|0)+(P*6|0)+2>>1]|0;i=b-m>>31;if((i^p|0)>=0)if((i^_|0)<0)i=m;else i=m-w+b|0;else i=b;t=ja(e,g,t,i,0)|0;n=k[(h[D>>2]|0)+(P*6|0)+4>>1]|0;i=y-M>>31;if((i^T|0)>=0)if((i^A|0)<0)i=M;else i=M-E+y|0;else i=y;S=ja(e,S,n,i,0)|0;j=h[D>>2]|0;d[j+(P*6|0)>>1]=f;d[j+(P*6|0)+2>>1]=t;d[j+(P*6|0)+4>>1]=S}i=h[C>>2]|0;if((r|0)>=(i|0))break;else P=r}v=U;return}function Fa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0;l=e+112|0;s=e+108|0;o=e+4592|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;b=1<>2];k=t-f|0;k=(b|0)<(k|0)?b:k;f=k+f|0;if((k|0)==(b|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);k=T;T=0;if(k&1){k=Ze()|0;We(n|0);si(k|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;f=0;do{k=r+(f*6|0)|0;d[k>>1]=d[i>>1]|0;d[k+2>>1]=d[i+2>>1]|0;d[k+4>>1]=d[i+4>>1]|0;f=f+1|0}while((f|0)!=(n|0));return n|0}function Ua(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0;s=i+4568|0;c=Ha(i,s)|0;a=Ha(i,s)|0;s=Ha(i,s)|0;f=i+128|0;n=k[t>>1]|0;o=h[i+136>>2]|0;u=o<<1|1;n=(ce(ce(u,c)|0,n-(k[r>>1]|0)>>31|1)|0)+n|0;c=0-o|0;if((n|0)>=(c|0)){f=h[f>>2]|0;if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else{n=(ce(h[i+132>>2]|0,u)|0)+n|0;f=h[f>>2]|0}if((n&f|0)!=(n|0))n=f&~(n>>31);l=n&65535;n=k[t+2>>1]|0;n=(ce(ce(u,a)|0,n-(k[r+2>>1]|0)>>31|1)|0)+n|0;if((n|0)>=(c|0)){if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else n=(ce(h[i+132>>2]|0,u)|0)+n|0;if((n&f|0)!=(n|0))n=f&~(n>>31);a=n&65535;n=k[t+4>>1]|0;n=(ce(ce(u,s)|0,n-(k[r+4>>1]|0)>>31|1)|0)+n|0;if((n|0)>=(c|0)){if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else n=(ce(h[i+132>>2]|0,u)|0)+n|0;if((n&f|0)==(n|0)){i=n;i=i&65535;d[e>>1]=l;c=e+2|0;d[c>>1]=a;e=e+4|0;d[e>>1]=i;return}i=f&~(n>>31);i=i&65535;d[e>>1]=l;c=e+2|0;d[c>>1]=a;e=e+4|0;d[e>>1]=i;return}function ja(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+188+(s*12|0)+10|0;r=d[k>>1]|0;b=e+188+(s*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){i=5;while(1)if((r<>1]^_)-_+t|0;w=e+128|0;n=h[w>>2]|0;if((r&n|0)==(r|0))o=r;else o=n&~(r>>31);r=e+112|0;if((h[r>>2]|0)<8)Jt(e);n=e+108|0;t=h[n>>2]|0;f=t>>>24;a=h[2832+(i<<11)+(f<<3)+4>>2]|0;if(!a){l=h[e+148>>2]|0;n=h[e+140>>2]|0;r=Ta(e)|0;if((r|0)<(l+-1-n|0)){if(i)r=(Sa(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}else{h[r>>2]=(h[r>>2]|0)-a;h[n>>2]=t<>2]|0}l=e+136|0;t=h[l>>2]|0;if(!i){if(!t)n=(h[e+188+(s*12|0)+4>>2]<<1)+-1+(d[k>>1]|0)>>31;else n=0;a=n^r}else a=r;i=h[e+152>>2]|0;n=(h[b>>2]|0)+((a|0)>-1?a:0-a|0)|0;f=e+188+(s*12|0)+4|0;r=(h[f>>2]|0)+(ce(t<<1|1,a)|0)|0;t=d[k>>1]|0;if((t|0)==(i|0)){n=n>>1;r=r>>1;t=i>>1}h[b>>2]=n;i=t+1|0;d[k>>1]=i;n=i+r|0;if((n|0)>=1){if((r|0)>0){r=r-i|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=d[u>>1]|0;d[u>>1]=(r&65535)-(r<<16>>16>-128&1);r=(n|0)>(~t|0)?n:0-t|0}h[f>>2]=r;i=h[l>>2]|0;t=i<<1|1;n=(ce(t,(a^_)-_|0)|0)+o|0;if((n|0)>=(0-i|0)){r=h[w>>2]|0;if((r+i|0)<(n|0))n=n-(ce(h[e+132>>2]|0,t)|0)|0}else{n=(ce(h[e+132>>2]|0,t)|0)+n|0;r=h[w>>2]|0}if((n&r|0)==(n|0)){e=n;e=e&65535;return e|0}e=r&~(n>>31);e=e&65535;return e|0}function Ha(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=i+9|0;r=b[o>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;a=h[e+148>>2]|0;l=h[36476+(h[e+4592>>2]<<2)>>2]|0;r=h[e+140>>2]|0;n=Ta(e)|0;do{if((n|0)<(a+-2-l-r|0))if(!t){t=h[f>>2]|0;e=t+n|0;r=e&1;e=(r+e|0)/2|0;s=8;break}else{l=(Sa(e,t)|0)+(n<>2]|0;n=l+t|0;a=n&1;r=a;f=1;n=(a+n|0)/2|0;break}else{n=(Sa(e,r)|0)+1|0;a=h[f>>2]|0;e=n+a|0;r=e&1;e=(r+e|0)/2|0;if(!t){t=a;s=8}else{l=n;f=1;n=e;t=a}}}while(0);if((s|0)==8){l=n;f=b[i+10>>0]<<1>>>0>=(b[o>>0]|0)>>>0;n=e}n=(r|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(l+1-t>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[o>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){i=t;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[o>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=s;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}function Ya(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+136|0;e:do{if(!(h[d>>2]|0)){r=h[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+176>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+180>>2]|0):0)?(h[t+12>>2]|0)==(h[e+184>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4604>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4604>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4604>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4604>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+144|0}while(0);u=1<>2];r=e+4608|0;t=u<<1;n=e+4612|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4604|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+184|0;s=e+180|0;a=e+176|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function qa(e){e=e|0;var i=0,r=0;h[e>>2]=35800;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Xa(e){e=e|0;var i=0,r=0;h[e>>2]=35800;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function za(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Va(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+128>>2]|0,h[e+136>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+176>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+180>>2]=f;h[e+184>>2]=n;el(e);n=e+132|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+188+(f*12|0)>>2]=i;h[e+188+(f*12|0)+4>>2]=0;d[e+188+(f*12|0)+8>>1]=0;d[e+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4568>>2]=l;h[e+4572>>2]=0;c[e+4576>>0]=s;c[e+4577>>0]=1;c[e+4578>>0]=0;h[e+4580>>2]=l;h[e+4584>>2]=1;c[e+4588>>0]=s;c[e+4589>>0]=1;c[e+4590>>0]=0;h[e+4592>>2]=0;v=a;return}function Ga(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4620>>0]=n&1;i=e+156|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Ka(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Ka(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+172|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(T=0,pe(178,P|0),S=T,T=0,S&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i*3|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;h[P+8>>2]=r+(i*3|0);while(1){c[r>>0]=0;c[r+1>>0]=0;c[r+2>>0]=0;r=(h[O>>2]|0)+3|0;h[O>>2]=r;i=i+-1|0;if(!i)break e}}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)f=19;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))f=17;if((f|0)==17?(t=E<<2,T=0,n=ye(67,t|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=n;f=n+(E<<2)|0;h[A+8>>2]=f;Cm(n|0,0,t|0)|0;h[S>>2]=f;f=19;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4596|0;l=ce(E,y)|0;s=l+1|0;o=e+4600|0;u=(E|0)>0;d=e+160|0;b=e+168|0;k=e+164|0;w=e+156|0;_=e+88|0;m=e+4592|0;p=0;i:while(1){t=h[P>>2]|0;r=t+3|0;h[a>>2]=r;t=t+(s*3|0)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];i=h[g>>2]|0;n=r+(i*3|0)|0;r=r+((i+-1|0)*3|0)|0;c[n>>0]=c[r>>0]|0;c[n+1>>0]=c[r+1>>0]|0;c[n+2>>0]=c[r+2>>0]|0;r=h[a>>2]|0;n=(h[o>>2]|0)+-3|0;c[n>>0]=c[r>>0]|0;c[n+1>>0]=c[r+1>>0]|0;c[n+2>>0]=c[r+2>>0]|0;T=0;ve(78,e|0,0);n=T;T=0;if(n&1){f=30;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y*3|0)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y*3|0)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[d>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+(((h[w>>2]|0)-l|0)*3|0)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){f=31;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){f=43;break e}}if((f|0)==30){t=Ze()|0;break}else if((f|0)==31){t=Ze()|0;break}}else f=43}while(0);do{if((f|0)==43){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}function Wa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0;F=v;v=v+16|0;P=F+12|0;N=F+9|0;B=F+6|0;O=F+3|0;R=F;L=e+172|0;i=h[L>>2]|0;if((i|0)<=0){v=F;return}C=e+4600|0;D=e+4596|0;x=e+4604|0;I=e+4592|0;S=0;while(1){A=S+-1|0;t=h[C>>2]|0;n=t+(A*3|0)|0;U=h[D>>2]|0;r=S+1|0;f=b[U+(S*3|0)>>0]|0;T=h[x>>2]|0;a=b[U+(A*3|0)>>0]|0;l=f-a|0;s=b[n>>0]|0;o=a-s|0;u=((((c[T+((b[U+(r*3|0)>>0]|0)-f)>>0]|0)*9|0)+(c[T+l>>0]|0)|0)*9|0)+(c[T+o>>0]|0)|0;d=b[U+(S*3|0)+1>>0]|0;k=b[U+(A*3|0)+1>>0]|0;w=d-k|0;_=b[t+(A*3|0)+1>>0]|0;m=k-_|0;p=((((c[T+((b[U+(r*3|0)+1>>0]|0)-d)>>0]|0)*9|0)+(c[T+w>>0]|0)|0)*9|0)+(c[T+m>>0]|0)|0;g=b[U+(S*3|0)+2>>0]|0;y=b[U+(A*3|0)+2>>0]|0;E=g-y|0;A=b[t+(A*3|0)+2>>0]|0;M=y-A|0;T=((((c[T+((b[U+(r*3|0)+2>>0]|0)-g)>>0]|0)*9|0)+(c[T+E>>0]|0)|0)*9|0)+(c[T+M>>0]|0)|0;if(!(p|u|T)){c[B>>0]=c[n>>0]|0;c[B+1>>0]=c[n+1>>0]|0;c[B+2>>0]=c[n+2>>0]|0;c[P>>0]=c[n>>0]|0;c[P+1>>0]=c[n+1>>0]|0;c[P+2>>0]=c[n+2>>0]|0;i=Ja(e,P,t+(S*3|0)|0,i-S|0)|0;r=i+S|0;if((r|0)!=(h[L>>2]|0)){U=(h[D>>2]|0)+(r*3|0)|0;c[R>>0]=c[U>>0]|0;c[R+1>>0]=c[U+1>>0]|0;c[R+2>>0]=c[U+2>>0]|0;U=h[C>>2]|0;c[N>>0]=c[B>>0]|0;c[N+1>>0]=c[B+1>>0]|0;c[N+2>>0]=c[B+2>>0]|0;c[P>>0]=c[R>>0]|0;c[P+1>>0]=c[R+1>>0]|0;c[P+2>>0]=c[R+2>>0]|0;Za(O,e,N,P);U=U+(r*3|0)|0;c[U>>0]=c[O>>0]|0;c[U+1>>0]=c[O+1>>0]|0;c[U+2>>0]=c[O+2>>0]|0;U=h[I>>2]|0;h[I>>2]=(U|0)<1?0:U+-1|0;i=i+1|0}r=i+S|0}else{t=b[t+(S*3|0)>>0]|0;i=f-s>>31;if((i^o|0)>=0)if((i^l|0)<0)i=s;else i=s-a+f|0;else i=f;f=Qa(e,u,t,i,0)|0;t=b[(h[C>>2]|0)+(S*3|0)+1>>0]|0;i=d-_>>31;if((i^m|0)>=0)if((i^w|0)<0)i=_;else i=_-k+d|0;else i=d;t=Qa(e,p,t,i,0)|0;n=b[(h[C>>2]|0)+(S*3|0)+2>>0]|0;i=g-A>>31;if((i^M|0)>=0)if((i^E|0)<0)i=A;else i=A-y+g|0;else i=g;T=Qa(e,T,n,i,0)|0;U=(h[C>>2]|0)+(S*3|0)|0;c[U>>0]=f;c[U+1>>0]=t;c[U+2>>0]=T}i=h[L>>2]|0;if((r|0)>=(i|0))break;else S=r}v=F;return}function Ja(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;l=e+112|0;s=e+108|0;o=e+4592|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;d=1<>2];b=t-f|0;b=(d|0)<(b|0)?d:b;f=b+f|0;if((b|0)==(d|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);b=T;T=0;if(b&1){b=Ze()|0;We(n|0);si(b|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;f=0;do{b=r+(f*3|0)|0;c[b>>0]=c[i>>0]|0;c[b+1>>0]=c[i+1>>0]|0;c[b+2>>0]=c[i+2>>0]|0;f=f+1|0}while((f|0)!=(n|0));return n|0}function Za(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;s=i+4568|0;d=$a(i,s)|0;a=$a(i,s)|0;s=$a(i,s)|0;f=i+128|0;n=b[t>>0]|0;o=h[i+136>>2]|0;u=o<<1|1;n=(ce(ce(u,d)|0,n-(b[r>>0]|0)>>31|1)|0)+n|0;d=0-o|0;if((n|0)>=(d|0)){f=h[f>>2]|0;if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else{n=(ce(h[i+132>>2]|0,u)|0)+n|0;f=h[f>>2]|0}if((n&f|0)!=(n|0))n=f&~(n>>31);l=n&255;n=b[t+1>>0]|0;n=(ce(ce(u,a)|0,n-(b[r+1>>0]|0)>>31|1)|0)+n|0;if((n|0)>=(d|0)){if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else n=(ce(h[i+132>>2]|0,u)|0)+n|0;if((n&f|0)!=(n|0))n=f&~(n>>31);a=n&255;n=b[t+2>>0]|0;n=(ce(ce(u,s)|0,n-(b[r+2>>0]|0)>>31|1)|0)+n|0;if((n|0)>=(d|0)){if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else n=(ce(h[i+132>>2]|0,u)|0)+n|0;if((n&f|0)==(n|0)){i=n;i=i&255;c[e>>0]=l;d=e+1|0;c[d>>0]=a;e=e+2|0;c[e>>0]=i;return}i=f&~(n>>31);i=i&255;c[e>>0]=l;d=e+1|0;c[d>>0]=a;e=e+2|0;c[e>>0]=i;return}function Qa(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+188+(s*12|0)+10|0;r=d[k>>1]|0;b=e+188+(s*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){i=5;while(1)if((r<>1]^_)-_+t|0;w=e+128|0;n=h[w>>2]|0;if((r&n|0)==(r|0))o=r;else o=n&~(r>>31);r=e+112|0;if((h[r>>2]|0)<8)Jt(e);n=e+108|0;t=h[n>>2]|0;f=t>>>24;a=h[2832+(i<<11)+(f<<3)+4>>2]|0;if(!a){l=h[e+148>>2]|0;n=h[e+140>>2]|0;r=Ta(e)|0;if((r|0)<(l+-1-n|0)){if(i)r=(Sa(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}else{h[r>>2]=(h[r>>2]|0)-a;h[n>>2]=t<>2]|0}l=e+136|0;t=h[l>>2]|0;if(!i){if(!t)n=(h[e+188+(s*12|0)+4>>2]<<1)+-1+(d[k>>1]|0)>>31;else n=0;a=n^r}else a=r;i=h[e+152>>2]|0;n=(h[b>>2]|0)+((a|0)>-1?a:0-a|0)|0;f=e+188+(s*12|0)+4|0;r=(h[f>>2]|0)+(ce(t<<1|1,a)|0)|0;t=d[k>>1]|0;if((t|0)==(i|0)){n=n>>1;r=r>>1;t=i>>1}h[b>>2]=n;i=t+1|0;d[k>>1]=i;n=i+r|0;if((n|0)>=1){if((r|0)>0){r=r-i|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=d[u>>1]|0;d[u>>1]=(r&65535)-(r<<16>>16>-128&1);r=(n|0)>(~t|0)?n:0-t|0}h[f>>2]=r;i=h[l>>2]|0;t=i<<1|1;n=(ce(t,(a^_)-_|0)|0)+o|0;if((n|0)>=(0-i|0)){r=h[w>>2]|0;if((r+i|0)<(n|0))n=n-(ce(h[e+132>>2]|0,t)|0)|0}else{n=(ce(h[e+132>>2]|0,t)|0)+n|0;r=h[w>>2]|0}if((n&r|0)==(n|0)){e=n;e=e&255;return e|0}e=r&~(n>>31);e=e&255;return e|0}function $a(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=i+9|0;r=b[o>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;a=h[e+148>>2]|0;l=h[36476+(h[e+4592>>2]<<2)>>2]|0;r=h[e+140>>2]|0;n=Ta(e)|0;do{if((n|0)<(a+-2-l-r|0))if(!t){t=h[f>>2]|0;e=t+n|0;r=e&1;e=(r+e|0)/2|0;s=8;break}else{l=(Sa(e,t)|0)+(n<>2]|0;n=l+t|0;a=n&1;r=a;f=1;n=(a+n|0)/2|0;break}else{n=(Sa(e,r)|0)+1|0;a=h[f>>2]|0;e=n+a|0;r=e&1;e=(r+e|0)/2|0;if(!t){t=a;s=8}else{l=n;f=1;n=e;t=a}}}while(0);if((s|0)==8){l=n;f=b[i+10>>0]<<1>>>0>=(b[o>>0]|0)>>>0;n=e}n=(r|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(l+1-t>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[o>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){i=t;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[o>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=s;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}function el(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+136|0;e:do{if(!(h[d>>2]|0)){r=h[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+176>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+180>>2]|0):0)?(h[t+12>>2]|0)==(h[e+184>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4604>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4604>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4604>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4604>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+144|0}while(0);u=1<>2];r=e+4608|0;t=u<<1;n=e+4612|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4604|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+184|0;s=e+180|0;a=e+176|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function il(e){e=e|0;var i=0,r=0;h[e>>2]=35772;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function rl(e){e=e|0;var i=0,r=0;h[e>>2]=35772;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function tl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function nl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,65535,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+152>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+156>>2]=f;h[e+160>>2]=t;dl(e);t=0;do{h[e+164+(t*12|0)>>2]=1024;h[e+164+(t*12|0)+4>>2]=0;d[e+164+(t*12|0)+8>>1]=0;d[e+164+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4544>>2]=1024;h[e+4548>>2]=0;c[e+4552>>0]=l;c[e+4553>>0]=1;c[e+4554>>0]=0;h[e+4556>>2]=1024;h[e+4560>>2]=1;c[e+4564>>0]=l;c[e+4565>>0]=1;c[e+4566>>0]=0;h[e+4568>>2]=0;v=n;return}function fl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4596>>0]=n&1;i=e+132|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);al(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function al(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+148|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,S=T,T=0,!(S&1)):0){h[P>>2]=t;S=t+(i<<1)|0;h[P+8>>2]=S;Cm(t|0,0,r|0)|0;h[O>>2]=S;break}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)a=18;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))a=16;if((a|0)==16?(n=E<<2,T=0,f=ye(67,n|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=f;a=f+(E<<2)|0;h[A+8>>2]=a;Cm(f|0,0,n|0)|0;h[S>>2]=a;a=18;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4572|0;l=ce(E,y)|0;s=l+1|0;o=e+4576|0;u=(E|0)>0;c=e+136|0;b=e+144|0;k=e+140|0;w=e+132|0;_=e+88|0;m=e+4568|0;p=0;i:while(1){t=h[P>>2]|0;r=t+2|0;h[a>>2]=r;t=t+(s<<1)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];n=h[g>>2]|0;d[r+(n<<1)>>1]=d[r+(n+-1<<1)>>1]|0;d[i+-2>>1]=d[r>>1]|0;T=0;ve(79,e|0,0);n=T;T=0;if(n&1){a=29;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y<<1)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y<<1)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[c>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+((h[w>>2]|0)-l<<1)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){a=30;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){a=42;break e}}if((a|0)==29){t=Ze()|0;break}else if((a|0)==30){t=Ze()|0;break}}else a=42}while(0);do{if((a|0)==42){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function ll(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4572|0;i=h[b>>2]|0;m=e+148|0;if((h[m>>2]|0)<=0)return;w=e+4576|0;_=e+4580|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(ol(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=sl(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function sl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=i>>31;o=(w^i)-w|0;k=e+164+(o*12|0)+10|0;r=d[k>>1]|0;b=e+164+(o*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){f=5;while(1)if((r<>1]^w)-w+t|0;if((r&65535|0)!=(r|0))r=r>>31&65535^65535;n=e+112|0;if((h[n>>2]|0)<8)Jt(e);t=e+108|0;a=h[t>>2]|0;l=a>>>24;s=h[2832+(f<<11)+(l<<3)+4>>2]|0;if(!s){n=Ta(e)|0;if((n|0)<47){if(f)n=(Sa(e,f)|0)+(n<>31^n>>1;if((((n|0)>-1?n:0-n|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}}else{h[n>>2]=(h[n>>2]|0)-s;h[t>>2]=a<>2]|0}s=e+164+(o*12|0)+4|0;t=h[s>>2]|0;if(!f){e=d[k>>1]|0;f=e;n=(t<<1)+-1+(e<<16>>16)>>31^n}else f=d[k>>1]|0;a=f<<16>>16==64;e=a&1;l=t+n>>e;a=a?32:f<<16>>16;h[b>>2]=((n|0)>-1?n:0-n|0)+(h[b>>2]|0)>>e;t=a+1|0;d[k>>1]=t;f=t+l|0;if((f|0)<1){k=d[u>>1]|0;d[u>>1]=(k&65535)-(k<<16>>16>-128&1);k=(f|0)>(~a|0)?f:0-a|0;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&65535;return i|0}if((l|0)<=0){k=l;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&65535;return i|0}k=l-t|0;b=d[u>>1]|0;d[u>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&65535;return i|0}function ol(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+4576|0;n=h[f>>2]|0;r=d[n+(i+-1<<1)>>1]|0;a=e+148|0;n=ul(e,r,n+(i<<1)|0,(h[a>>2]|0)-i|0)|0;t=n+i|0;if((t|0)==(h[a>>2]|0)){a=n;return a|0}r=r&65535;i=k[(h[e+4572>>2]|0)+(t<<1)>>1]|0;a=r-i|0;if((((a|0)>-1?a:0-a|0)|0)<1)r=(cl(e,e+4556|0)|0)+r|0;else r=(ce(cl(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;d[(h[f>>2]|0)+(t<<1)>>1]=r;a=e+4568|0;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;a=n+1|0;return a|0}function ul(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0;l=e+112|0;s=e+108|0;o=e+4568|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;b=1<>2];k=t-f|0;k=(b|0)<(k|0)?b:k;f=k+f|0;if((k|0)==(b|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);k=T;T=0;if(k&1){k=Ze()|0;We(n|0);si(k|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)>0)f=0;else return n|0;do{d[r+(f<<1)>>1]=i;f=f+1|0}while((f|0)!=(n|0));return n|0}function cl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;l=i+9|0;r=b[l>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;n=h[36476+(h[e+4568>>2]<<2)>>2]|0;r=Ta(e)|0;do{if((r|0)<(46-n|0))if(!t){e=h[f>>2]|0;n=e+r|0;t=n&1;n=(t+n|0)/2|0;a=8;break}else{r=(Sa(e,t)|0)+(r<>2]|0;n=r+e|0;s=n&1;t=s;f=1;n=(s+n|0)/2|0;break}else{r=(Sa(e,16)|0)+1|0;e=h[f>>2]|0;n=r+e|0;f=n&1;n=(f+n|0)/2|0;if(!t){t=f;a=8}else{t=f;f=1}}}while(0);if((a|0)==8)f=b[i+10>>0]<<1>>>0>=(b[l>>0]|0)>>>0;n=(t|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(r+1-e>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[l>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){s=t;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[l>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}function dl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,65535,0);s=e+152|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+156>>2]|0):0)?(h[l+12>>2]|0)==(h[e+160>>2]|0):0){s=h[8909]|0;h[e+4580>>2]=s+(((h[8910]|0)-s|0)>>>1);v=o;return}r=e+4584|0;t=e+4588|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=131072){if(f>>>0>131072?(a=i+131072|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,131072-f|0);i=h[r>>2]|0}l=e+4580|0;h[l>>2]=i+65536;a=e+160|0;n=e+156|0;f=-65536;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==65536)break}v=o;return}function hl(e){e=e|0;var i=0,r=0;h[e>>2]=35744;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function bl(e){e=e|0;var i=0,r=0;h[e>>2]=35744;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function kl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function wl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,4095,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+152>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+156>>2]=f;h[e+160>>2]=t;Al(e);t=0;do{h[e+164+(t*12|0)>>2]=64;h[e+164+(t*12|0)+4>>2]=0;d[e+164+(t*12|0)+8>>1]=0;d[e+164+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4544>>2]=64;h[e+4548>>2]=0;c[e+4552>>0]=l;c[e+4553>>0]=1;c[e+4554>>0]=0;h[e+4556>>2]=64;h[e+4560>>2]=1;c[e+4564>>0]=l;c[e+4565>>0]=1;c[e+4566>>0]=0;h[e+4568>>2]=0;v=n;return}function _l(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4596>>0]=n&1;i=e+132|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);ml(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function ml(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+148|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,S=T,T=0,!(S&1)):0){h[P>>2]=t;S=t+(i<<1)|0;h[P+8>>2]=S;Cm(t|0,0,r|0)|0;h[O>>2]=S;break}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)a=18;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))a=16;if((a|0)==16?(n=E<<2,T=0,f=ye(67,n|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=f;a=f+(E<<2)|0;h[A+8>>2]=a;Cm(f|0,0,n|0)|0;h[S>>2]=a;a=18;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4572|0;l=ce(E,y)|0;s=l+1|0;o=e+4576|0;u=(E|0)>0;c=e+136|0;b=e+144|0;k=e+140|0;w=e+132|0;_=e+88|0;m=e+4568|0;p=0;i:while(1){t=h[P>>2]|0;r=t+2|0;h[a>>2]=r;t=t+(s<<1)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];n=h[g>>2]|0;d[r+(n<<1)>>1]=d[r+(n+-1<<1)>>1]|0;d[i+-2>>1]=d[r>>1]|0;T=0;ve(80,e|0,0);n=T;T=0;if(n&1){a=29;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y<<1)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y<<1)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[c>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+((h[w>>2]|0)-l<<1)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){a=30;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){a=42;break e}}if((a|0)==29){t=Ze()|0;break}else if((a|0)==30){t=Ze()|0;break}}else a=42}while(0);do{if((a|0)==42){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function pl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4572|0;i=h[b>>2]|0;m=e+148|0;if((h[m>>2]|0)<=0)return;w=e+4576|0;_=e+4580|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(gl(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=vl(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function vl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=i>>31;o=(w^i)-w|0;k=e+164+(o*12|0)+10|0;r=d[k>>1]|0;b=e+164+(o*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){f=5;while(1)if((r<>1]^w)-w+t|0;if((r&4095|0)!=(r|0))r=r>>31&4095^4095;n=e+112|0;if((h[n>>2]|0)<8)Jt(e);t=e+108|0;a=h[t>>2]|0;l=a>>>24;s=h[2832+(f<<11)+(l<<3)+4>>2]|0;if(!s){n=Ta(e)|0;if((n|0)<35){if(f)n=(Sa(e,f)|0)+(n<>31^n>>1;if((((n|0)>-1?n:0-n|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}}else{h[n>>2]=(h[n>>2]|0)-s;h[t>>2]=a<>2]|0}s=e+164+(o*12|0)+4|0;t=h[s>>2]|0;if(!f){e=d[k>>1]|0;f=e;n=(t<<1)+-1+(e<<16>>16)>>31^n}else f=d[k>>1]|0;a=f<<16>>16==64;e=a&1;l=t+n>>e;a=a?32:f<<16>>16;h[b>>2]=((n|0)>-1?n:0-n|0)+(h[b>>2]|0)>>e;t=a+1|0;d[k>>1]=t;f=t+l|0;if((f|0)<1){k=d[u>>1]|0;d[u>>1]=(k&65535)-(k<<16>>16>-128&1);k=(f|0)>(~a|0)?f:0-a|0;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}if((l|0)<=0){k=l;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}k=l-t|0;b=d[u>>1]|0;d[u>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}function gl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+4576|0;n=h[f>>2]|0;r=d[n+(i+-1<<1)>>1]|0;a=e+148|0;n=yl(e,r,n+(i<<1)|0,(h[a>>2]|0)-i|0)|0;t=n+i|0;if((t|0)==(h[a>>2]|0)){a=n;return a|0}r=r&65535;i=k[(h[e+4572>>2]|0)+(t<<1)>>1]|0;a=r-i|0;if((((a|0)>-1?a:0-a|0)|0)<1)r=(El(e,e+4556|0)|0)+r|0;else r=(ce(El(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;d[(h[f>>2]|0)+(t<<1)>>1]=r&4095;a=e+4568|0;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;a=n+1|0;return a|0}function yl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0;l=e+112|0;s=e+108|0;o=e+4568|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;b=1<>2];k=t-f|0;k=(b|0)<(k|0)?b:k;f=k+f|0;if((k|0)==(b|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);k=T;T=0;if(k&1){k=Ze()|0;We(n|0);si(k|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)>0)f=0;else return n|0;do{d[r+(f<<1)>>1]=i;f=f+1|0}while((f|0)!=(n|0));return n|0}function El(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;l=i+9|0;r=b[l>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;n=h[36476+(h[e+4568>>2]<<2)>>2]|0;r=Ta(e)|0;do{if((r|0)<(34-n|0))if(!t){e=h[f>>2]|0;n=e+r|0;t=n&1;n=(t+n|0)/2|0;a=8;break}else{r=(Sa(e,t)|0)+(r<>2]|0;n=r+e|0;s=n&1;t=s;f=1;n=(s+n|0)/2|0;break}else{r=(Sa(e,12)|0)+1|0;e=h[f>>2]|0;n=r+e|0;f=n&1;n=(f+n|0)/2|0;if(!t){t=f;a=8}else{t=f;f=1}}}while(0);if((a|0)==8)f=b[i+10>>0]<<1>>>0>=(b[l>>0]|0)>>>0;n=(t|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(r+1-e>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[l>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){s=t;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[l>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}function Al(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,4095,0);s=e+152|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+156>>2]|0):0)?(h[l+12>>2]|0)==(h[e+160>>2]|0):0){s=h[8906]|0;h[e+4580>>2]=s+(((h[8907]|0)-s|0)>>>1);v=o;return}r=e+4584|0;t=e+4588|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=8192){if(f>>>0>8192?(a=i+8192|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,8192-f|0);i=h[r>>2]|0}l=e+4580|0;h[l>>2]=i+4096;a=e+160|0;n=e+156|0;f=-4096;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==4096)break}v=o;return}function Ml(e){e=e|0;var i=0,r=0;h[e>>2]=35716;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Tl(e){e=e|0;var i=0,r=0;h[e>>2]=35716;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Sl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Pl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,255,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+152>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+156>>2]=f;h[e+160>>2]=t;Bl(e);t=0;do{h[e+164+(t*12|0)>>2]=4;h[e+164+(t*12|0)+4>>2]=0;d[e+164+(t*12|0)+8>>1]=0;d[e+164+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4544>>2]=4;h[e+4548>>2]=0;c[e+4552>>0]=l;c[e+4553>>0]=1;c[e+4554>>0]=0;h[e+4556>>2]=4;h[e+4560>>2]=1;c[e+4564>>0]=l;c[e+4565>>0]=1;c[e+4566>>0]=0;h[e+4568>>2]=0;v=n;return}function Ol(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4596>>0]=n&1;i=e+132|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Rl(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Rl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+148|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;e:do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;h[P+8>>2]=r+i;while(1){c[r>>0]=0;r=(h[O>>2]|0)+1|0;h[O>>2]=r;i=i+-1|0;if(!i)break e}}r=Ze()|0;i=h[P>>2]|0;if(!i)si(r|0);if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);si(r|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)f=19;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))f=17;if((f|0)==17?(t=E<<2,T=0,n=ye(67,t|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=n;f=n+(E<<2)|0;h[A+8>>2]=f;Cm(n|0,0,t|0)|0;h[S>>2]=f;f=19;break}r=Ze()|0;i=h[A>>2]|0;t=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4572|0;l=ce(E,y)|0;s=l+1|0;o=e+4576|0;u=(E|0)>0;d=e+136|0;b=e+144|0;k=e+140|0;w=e+132|0;_=e+88|0;m=e+4568|0;p=0;i:while(1){t=h[P>>2]|0;r=t+1|0;h[a>>2]=r;t=t+s|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];n=h[g>>2]|0;c[r+n>>0]=c[r+(n+-1)>>0]|0;c[(h[o>>2]|0)+-1>>0]=c[h[a>>2]>>0]|0;T=0;ve(81,e|0,0);n=T;T=0;if(n&1){f=30;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+y|0;h[a>>2]=r;i=(h[o>>2]|0)+y|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[d>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+((h[w>>2]|0)-l)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){f=31;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){f=43;break e}}if((f|0)==30){r=Ze()|0;break}else if((f|0)==31){r=Ze()|0;break}}else f=43}while(0);do{if((f|0)==43){T=0;pe(183,e|0);e=T;T=0;if(e&1){r=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);v=M;return}}while(0);i=h[A>>2]|0;t=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(r|0);if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);si(r|0)}function Ll(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0;d=e+4572|0;i=h[d>>2]|0;_=e+148|0;if((h[_>>2]|0)<=0)return;k=e+4576|0;w=e+4580|0;n=i;f=b[i+-1>>0]|0;i=b[i>>0]|0;u=0;while(1){o=h[k>>2]|0;s=b[o+(u+-1)>>0]|0;t=u+1|0;r=b[n+t>>0]|0;l=h[w>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(Dl(e,u,0)|0)+u|0;r=h[d>>2]|0;i=b[r+(t+-1)>>0]|0;r=b[r+t>>0]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=Cl(e,l,b[o+u>>0]|0,n,0)|0;c[(h[k>>2]|0)+u>>0]=o}if((t|0)>=(h[_>>2]|0))break;n=h[d>>2]|0;f=i;i=r;u=t}return}function Cl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=i>>31;o=(w^i)-w|0;k=e+164+(o*12|0)+10|0;r=d[k>>1]|0;b=e+164+(o*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){f=5;while(1)if((r<>1]^w)-w+t|0;if((r&255|0)!=(r|0))r=r>>31&255^255;n=e+112|0;if((h[n>>2]|0)<8)Jt(e);t=e+108|0;a=h[t>>2]|0;l=a>>>24;s=h[2832+(f<<11)+(l<<3)+4>>2]|0;if(!s){n=Ta(e)|0;if((n|0)<23){if(f)n=(Sa(e,f)|0)+(n<>31^n>>1;if((((n|0)>-1?n:0-n|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}}else{h[n>>2]=(h[n>>2]|0)-s;h[t>>2]=a<>2]|0}s=e+164+(o*12|0)+4|0;t=h[s>>2]|0;if(!f){e=d[k>>1]|0;f=e;n=(t<<1)+-1+(e<<16>>16)>>31^n}else f=d[k>>1]|0;a=f<<16>>16==64;e=a&1;l=t+n>>e;a=a?32:f<<16>>16;h[b>>2]=((n|0)>-1?n:0-n|0)+(h[b>>2]|0)>>e;t=a+1|0;d[k>>1]=t;f=t+l|0;if((f|0)<1){k=d[u>>1]|0;d[u>>1]=(k&65535)-(k<<16>>16>-128&1);k=(f|0)>(~a|0)?f:0-a|0;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}if((l|0)<=0){k=l;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}k=l-t|0;b=d[u>>1]|0;d[u>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}function Dl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+4576|0;n=h[f>>2]|0;r=c[n+(i+-1)>>0]|0;a=e+148|0;n=xl(e,r,n+i|0,(h[a>>2]|0)-i|0)|0;t=n+i|0;if((t|0)==(h[a>>2]|0)){a=n;return a|0}r=r&255;i=b[(h[e+4572>>2]|0)+t>>0]|0;a=r-i|0;if((((a|0)>-1?a:0-a|0)|0)<1)r=(Il(e,e+4556|0)|0)+r|0;else r=(ce(Il(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;c[(h[f>>2]|0)+t>>0]=r;a=e+4568|0;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;a=n+1|0;return a|0}function xl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;l=e+112|0;s=e+108|0;o=e+4568|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;d=1<>2];b=t-f|0;b=(d|0)<(b|0)?d:b;f=b+f|0;if((b|0)==(d|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);b=T;T=0;if(b&1){b=Ze()|0;We(n|0);si(b|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;Cm(r|0,i|0,n|0)|0;return n|0}function Il(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;l=i+9|0;r=b[l>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;n=h[36476+(h[e+4568>>2]<<2)>>2]|0;r=Ta(e)|0;do{if((r|0)<(22-n|0))if(!t){e=h[f>>2]|0;n=e+r|0;t=n&1;n=(t+n|0)/2|0;a=8;break}else{r=(Sa(e,t)|0)+(r<>2]|0;n=r+e|0;s=n&1;t=s;f=1;n=(s+n|0)/2|0;break}else{r=(Sa(e,8)|0)+1|0;e=h[f>>2]|0;n=r+e|0;f=n&1;n=(f+n|0)/2|0;if(!t){t=f;a=8}else{t=f;f=1}}}while(0);if((a|0)==8)f=b[i+10>>0]<<1>>>0>=(b[l>>0]|0)>>>0;n=(t|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(r+1-e>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[l>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){s=t;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[l>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}function Bl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,255,0);s=e+152|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+156>>2]|0):0)?(h[l+12>>2]|0)==(h[e+160>>2]|0):0){s=h[8900]|0;h[e+4580>>2]=s+(((h[8901]|0)-s|0)>>>1);v=o;return}r=e+4584|0;t=e+4588|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=512){if(f>>>0>512?(a=i+512|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,512-f|0);i=h[r>>2]|0}l=e+4580|0;h[l>>2]=i+256;a=e+160|0;n=e+156|0;f=-256;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==256)break}v=o;return}function Nl(e){e=e|0;var i=0,r=0;h[e>>2]=35688;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Fl(e){e=e|0;var i=0,r=0;h[e>>2]=35688;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Ul(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function jl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,255,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+152>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+156>>2]=f;h[e+160>>2]=t;Vp(e);t=0;do{h[e+164+(t*12|0)>>2]=4;h[e+164+(t*12|0)+4>>2]=0;d[e+164+(t*12|0)+8>>1]=0;d[e+164+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4544>>2]=4;h[e+4548>>2]=0;c[e+4552>>0]=l;c[e+4553>>0]=1;c[e+4554>>0]=0;h[e+4556>>2]=4;h[e+4560>>2]=1;c[e+4564>>0]=l;c[e+4565>>0]=1;c[e+4566>>0]=0;h[e+4568>>2]=0;v=n;return}function Hl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4596>>0]=n&1;i=e+132|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Yl(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Yl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+148|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(T=0,pe(178,P|0),S=T,T=0,S&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i*3|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;h[P+8>>2]=r+(i*3|0);while(1){c[r>>0]=0;c[r+1>>0]=0;c[r+2>>0]=0;r=(h[O>>2]|0)+3|0;h[O>>2]=r;i=i+-1|0;if(!i)break e}}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)f=19;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))f=17;if((f|0)==17?(t=E<<2,T=0,n=ye(67,t|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=n;f=n+(E<<2)|0;h[A+8>>2]=f;Cm(n|0,0,t|0)|0;h[S>>2]=f;f=19;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4572|0;l=ce(E,y)|0;s=l+1|0;o=e+4576|0;u=(E|0)>0;d=e+136|0;b=e+144|0;k=e+140|0;w=e+132|0;_=e+88|0;m=e+4568|0;p=0;i:while(1){t=h[P>>2]|0;r=t+3|0;h[a>>2]=r;t=t+(s*3|0)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];i=h[g>>2]|0;n=r+(i*3|0)|0;r=r+((i+-1|0)*3|0)|0;c[n>>0]=c[r>>0]|0;c[n+1>>0]=c[r+1>>0]|0;c[n+2>>0]=c[r+2>>0]|0;r=h[a>>2]|0;n=(h[o>>2]|0)+-3|0;c[n>>0]=c[r>>0]|0;c[n+1>>0]=c[r+1>>0]|0;c[n+2>>0]=c[r+2>>0]|0;T=0;ve(82,e|0,0);n=T;T=0;if(n&1){f=30;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y*3|0)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y*3|0)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[d>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+(((h[w>>2]|0)-l|0)*3|0)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){f=31;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){f=43;break e}}if((f|0)==30){t=Ze()|0;break}else if((f|0)==31){t=Ze()|0;break}}else f=43}while(0);do{if((f|0)==43){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}function ql(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0;T=e+148|0;if((h[T>>2]|0)<=0)return;S=e+4576|0;P=e+4572|0;O=e+4580|0;M=0;while(1){y=M+-1|0;f=h[S>>2]|0;a=h[P>>2]|0;i=M+1|0;n=b[a+(M*3|0)>>0]|0;A=h[O>>2]|0;l=b[a+(y*3|0)>>0]|0;s=n-l|0;o=b[f+(y*3|0)>>0]|0;u=l-o|0;d=((((c[A+((b[a+(i*3|0)>>0]|0)-n)>>0]|0)*9|0)+(c[A+s>>0]|0)|0)*9|0)+(c[A+u>>0]|0)|0;t=b[a+(M*3|0)+1>>0]|0;k=b[a+(y*3|0)+1>>0]|0;w=t-k|0;_=b[f+(y*3|0)+1>>0]|0;m=k-_|0;p=((((c[A+((b[a+(i*3|0)+1>>0]|0)-t)>>0]|0)*9|0)+(c[A+w>>0]|0)|0)*9|0)+(c[A+m>>0]|0)|0;r=b[a+(M*3|0)+2>>0]|0;v=b[a+(y*3|0)+2>>0]|0;g=r-v|0;y=b[f+(y*3|0)+2>>0]|0;E=v-y|0;A=((((c[A+((b[a+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(c[A+g>>0]|0)|0)*9|0)+(c[A+E>>0]|0)|0;if(!(p|d|A))i=(Xl(e,M,0)|0)+M|0;else{a=b[f+(M*3|0)>>0]|0;f=n-o>>31;if((f^u|0)>=0)if((f^s|0)<0)n=o;else n=o-l+n|0;a=zl(e,d,a,n,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+1>>0]|0;n=t-_>>31;if((n^m|0)>=0)if((n^w|0)<0)t=_;else t=_-k+t|0;n=zl(e,p,f,t,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+2>>0]|0;t=r-y>>31;if((t^E|0)>=0)if((t^g|0)<0)r=y;else r=y-v+r|0;A=zl(e,A,f,r,0)|0;M=(h[S>>2]|0)+(M*3|0)|0;c[M>>0]=a;c[M+1>>0]=n;c[M+2>>0]=A}if((i|0)<(h[T>>2]|0))M=i;else break}return}function Xl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;s=v;v=v+16|0;u=s+3|0;d=s;f=e+4576|0;r=h[f>>2]|0;t=r+((i+-1|0)*3|0)|0;a=c[t>>0]|0;l=c[t+1>>0]|0;t=c[t+2>>0]|0;c[d>>0]=a;c[d+1>>0]=l;c[d+2>>0]=t;o=e+148|0;n=(h[o>>2]|0)-i|0;c[u>>0]=c[d>>0]|0;c[u+1>>0]=c[d+1>>0]|0;c[u+2>>0]=c[d+2>>0]|0;n=Vl(e,u,r+(i*3|0)|0,n)|0;r=n+i|0;if((r|0)==(h[o>>2]|0)){d=n;v=s;return d|0}u=(h[e+4572>>2]|0)+(r*3|0)|0;i=c[u>>0]|0;o=c[u+1>>0]|0;u=c[u+2>>0]|0;d=h[f>>2]|0;f=e+4544|0;k=Gl(e,f)|0;b=Gl(e,f)|0;i=i&255;i=(ce(i-(a&255)>>31|1,k)|0)+i&255;o=o&255;o=(ce(o-(l&255)>>31|1,b)|0)+o&255;u=u&255;u=(ce(u-(t&255)>>31|1,Gl(e,f)|0)|0)+u&255;d=d+(r*3|0)|0;c[d>>0]=i;c[d+1>>0]=o;c[d+2>>0]=u;d=e+4568|0;u=h[d>>2]|0;h[d>>2]=(u|0)<1?0:u+-1|0;d=n+1|0;v=s;return d|0}function zl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=i>>31;o=(w^i)-w|0;k=e+164+(o*12|0)+10|0;r=d[k>>1]|0;b=e+164+(o*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){f=5;while(1)if((r<>1]^w)-w+t|0;if((r&255|0)!=(r|0))r=r>>31&255^255;n=e+112|0;if((h[n>>2]|0)<8)Jt(e);t=e+108|0;a=h[t>>2]|0;l=a>>>24;s=h[2832+(f<<11)+(l<<3)+4>>2]|0;if(!s){n=Ta(e)|0;if((n|0)<23){if(f)n=(Sa(e,f)|0)+(n<>31^n>>1;if((((n|0)>-1?n:0-n|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}}else{h[n>>2]=(h[n>>2]|0)-s;h[t>>2]=a<>2]|0}s=e+164+(o*12|0)+4|0;t=h[s>>2]|0;if(!f){e=d[k>>1]|0;f=e;n=(t<<1)+-1+(e<<16>>16)>>31^n}else f=d[k>>1]|0;a=f<<16>>16==64;e=a&1;l=t+n>>e;a=a?32:f<<16>>16;h[b>>2]=((n|0)>-1?n:0-n|0)+(h[b>>2]|0)>>e;t=a+1|0;d[k>>1]=t;f=t+l|0;if((f|0)<1){k=d[u>>1]|0;d[u>>1]=(k&65535)-(k<<16>>16>-128&1);k=(f|0)>(~a|0)?f:0-a|0;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}if((l|0)<=0){k=l;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}k=l-t|0;b=d[u>>1]|0;d[u>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}function Vl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;l=e+112|0;s=e+108|0;o=e+4568|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;d=1<>2];b=t-f|0;b=(d|0)<(b|0)?d:b;f=b+f|0;if((b|0)==(d|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);b=T;T=0;if(b&1){b=Ze()|0;We(n|0);si(b|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;f=0;do{b=r+(f*3|0)|0;c[b>>0]=c[i>>0]|0;c[b+1>>0]=c[i+1>>0]|0;c[b+2>>0]=c[i+2>>0]|0;f=f+1|0}while((f|0)!=(n|0));return n|0}function Gl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;l=i+9|0;r=b[l>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;n=h[36476+(h[e+4568>>2]<<2)>>2]|0;r=Ta(e)|0;do{if((r|0)<(22-n|0))if(!t){e=h[f>>2]|0;n=e+r|0;t=n&1;n=(t+n|0)/2|0;a=8;break}else{r=(Sa(e,t)|0)+(r<>2]|0;n=r+e|0;s=n&1;t=s;f=1;n=(s+n|0)/2|0;break}else{r=(Sa(e,8)|0)+1|0;e=h[f>>2]|0;n=r+e|0;f=n&1;n=(f+n|0)/2|0;if(!t){t=f;a=8}else{t=f;f=1}}}while(0);if((a|0)==8)f=b[i+10>>0]<<1>>>0>=(b[l>>0]|0)>>>0;n=(t|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(r+1-e>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[l>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){s=t;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[l>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}function Kl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+128|0;f=u;b=u+116|0;k=u+104|0;l=u+20|0;o=u+16|0;s=u+12|0;d=u+8|0;a=u+4|0;c[b>>0]=c[58887]|0;c[b+1>>0]=c[58888]|0;c[b+2>>0]=c[58889]|0;c[b+3>>0]=c[58890]|0;c[b+4>>0]=c[58891]|0;c[b+5>>0]=c[58892]|0;Sk(b+1|0,58893,0,h[r+4>>2]|0);e=rk()|0;h[f>>2]=n;n=k+(b_(k,12,e,b,f)|0)|0;b=Pk(k,n,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(3,k|0,b|0,n|0,l|0,o|0,s|0,d|0);n=T;T=0;if(n&1){k=Ze()|0;Ad(e)|0;si(k|0)}else{Ad(e)|0;h[a>>2]=h[i>>2];b=h[o>>2]|0;k=h[s>>2]|0;h[f>>2]=h[a>>2];k=w_(f,l,b,k,r,t)|0;v=u;return k|0}return 0}function Wl(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;c=v;v=v+240|0;a=c+8|0;e=c;b=c+204|0;s=c+32|0;u=c+28|0;o=c+24|0;d=c+20|0;l=c+16|0;k=e;h[k>>2]=37;h[k+4>>2]=0;Sk(e+1|0,58895,0,h[r+4>>2]|0);k=rk()|0;w=a;h[w>>2]=n;h[w+4>>2]=f;f=b+(b_(b,23,k,e,a)|0)|0;n=Pk(b,f,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(3,b|0,n|0,f|0,s|0,u|0,o|0,d|0);f=T;T=0;if(f&1){w=Ze()|0;Ad(e)|0;si(w|0)}else{Ad(e)|0;h[l>>2]=h[i>>2];k=h[u>>2]|0;w=h[o>>2]|0;h[a>>2]=h[l>>2];w=w_(a,s,k,w,r,t)|0;v=c;return w|0}return 0}function Jl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+352|0;_=A+312|0;d=A+48|0;c=A+32|0;s=A+24|0;f=A+8|0;u=A;k=A+316|0;w=A+80|0;l=A+84|0;E=A+76|0;y=A+72|0;p=A+68|0;g=A+64|0;o=u;h[o>>2]=37;h[o+4>>2]=0;o=xk(u+1|0,58898,h[r+4>>2]|0)|0;h[w>>2]=k;e=rk()|0;if(o){h[f>>2]=h[r+8>>2];m[f+8>>3]=n;f=b_(k,30,e,u,f)|0}else{m[s>>3]=n;f=b_(k,30,e,u,s)|0}e:do{if((f|0)>29){T=0;e=Ce(3)|0;f=T;T=0;f=f&1;if(o){if(!f?(T=0,h[c>>2]=h[r+8>>2],m[c+8>>3]=n,a=De(17,w|0,e|0,u|0,c|0)|0,b=T,T=0,!(b&1)):0)M=12}else if(!f?(T=0,h[d>>2]=h[r+8>>2],m[d+8>>3]=n,b=De(17,w|0,e|0,u|0,d|0)|0,d=T,T=0,!(d&1)):0){a=b;M=12}do{if((M|0)==12){e=h[w>>2]|0;if(!e){T=0;Ie(6);b=T;T=0;if(b&1)break;f=h[w>>2]|0}else f=e;e=f;u=f;M=16;break e}}while(0);e=Ze()|0}else{e=h[w>>2]|0;u=0;a=f;M=16}}while(0);if((M|0)==16){s=e+a|0;o=Pk(e,s,r)|0;do{if((e|0)==(k|0)){e=k;f=0;M=22}else{a=jc(a<<3)|0;if(!a){T=0;Ie(6);M=T;T=0;if(M&1){f=0;M=20;break}e=h[w>>2]|0}f=a;l=a;M=22}}while(0);do{if((M|0)==22){T=0;a=ye(68,r|0)|0;w=T;T=0;if(!(w&1)){h[p>>2]=a;T=0;Se(4,e|0,o|0,s|0,l|0,E|0,y|0,p|0);p=T;T=0;if(p&1){e=Ze()|0;Ad(a)|0;break}Ad(a)|0;h[g>>2]=h[i>>2];M=h[E>>2]|0;e=h[y>>2]|0;T=0;h[_>>2]=h[g>>2];e=ge(40,_|0,l|0,M|0,e|0,r|0,t|0)|0;M=T;T=0;if(!(M&1)){h[i>>2]=e;if(f)Hc(f);if(u)Hc(u);v=A;return e|0}else M=20}else M=20}}while(0);if((M|0)==20)e=Ze()|0;if(f)Hc(f);if(u)Hc(u)}si(e|0);return 0}function Zl(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;E=v;v=v+16|0;A=E;y=Vu(a,44212)|0;p=Vu(a,44368)|0;wE[h[(h[p>>2]|0)+20>>2]&127](A,p);h[f>>2]=t;a=c[e>>0]|0;switch(a<<24>>24){case 43:case 45:{T=0;a=Oe(h[(h[y>>2]|0)+44>>2]|0,y|0,a|0)|0;g=T;T=0;if(g&1)m=8;else{o=h[f>>2]|0;h[f>>2]=o+4;h[o>>2]=a;o=e+1|0;m=10}break}default:{o=e;m=10}}e:do{if((m|0)==10){g=r;i:do{if((g-o|0)>1?(c[o>>0]|0)==48:0){l=o+1|0;switch(c[l>>0]|0){case 88:case 120:break;default:{m=11;break i}}T=0;a=Oe(h[(h[y>>2]|0)+44>>2]|0,y|0,48)|0;_=T;T=0;if(_&1){m=8;break e}_=h[f>>2]|0;h[f>>2]=_+4;h[_>>2]=a;o=o+2|0;T=0;a=Oe(h[(h[y>>2]|0)+44>>2]|0,y|0,c[l>>0]|0)|0;_=T;T=0;if(_&1){m=8;break e}_=h[f>>2]|0;h[f>>2]=_+4;h[_>>2]=a;if(o>>>0>>0){a=o;while(1){l=c[a>>0]|0;T=0;s=Ce(3)|0;_=T;T=0;if(_&1)break;T=0;l=Oe(39,l<<24>>24|0,s|0)|0;_=T;T=0;if(_&1)break;if(!l){_=o;break i}a=a+1|0;if(a>>>0>=r>>>0){_=o;break i}}a=Ze()|0;break e}else{_=o;a=o}}else m=11}while(0);i:do{if((m|0)==11)if(o>>>0>>0){a=o;while(1){l=c[a>>0]|0;T=0;s=Ce(3)|0;_=T;T=0;if(_&1)break;T=0;l=Oe(40,l<<24>>24|0,s|0)|0;_=T;T=0;if(_&1)break;if(!l){_=o;break i}a=a+1|0;if(a>>>0>=r>>>0){_=o;break i}}a=Ze()|0;break e}else{_=o;a=o}}while(0);k=c[A>>0]|0;w=A+4|0;if(((k&1)==0?(k&255)>>>1:h[w>>2]|0)|0){if((_|0)!=(a|0)?(u=a+-1|0,_>>>0>>0):0){s=_;l=u;do{k=c[s>>0]|0;c[s>>0]=c[l>>0]|0;c[l>>0]=k;s=s+1|0;l=l+-1|0}while(s>>>0>>0)}T=0;u=ye(h[(h[p>>2]|0)+16>>2]|0,p|0)|0;k=T;T=0;if(k&1){m=8;break}d=A+8|0;b=A+1|0;i:do{if(_>>>0>>0){l=0;s=0;k=_;while(1){o=c[((c[A>>0]&1)==0?b:h[d>>2]|0)+s>>0]|0;if(o<<24>>24>0&(l|0)==(o<<24>>24|0)){l=h[f>>2]|0;h[f>>2]=l+4;h[l>>2]=u;l=c[A>>0]|0;o=0;s=(s>>>0<(((l&1)==0?(l&255)>>>1:h[w>>2]|0)+-1|0)>>>0&1)+s|0}else o=l;T=0;l=Oe(h[(h[y>>2]|0)+44>>2]|0,y|0,c[k>>0]|0)|0;M=T;T=0;if(M&1)break;M=h[f>>2]|0;h[f>>2]=M+4;h[M>>2]=l;k=k+1|0;if(k>>>0>=a>>>0)break i;else l=o+1|0}a=Ze()|0;break e}}while(0);l=t+(_-e<<2)|0;o=h[f>>2]|0;if((l|0)!=(o|0)){s=o+-4|0;if(l>>>0>>0){do{M=h[l>>2]|0;h[l>>2]=h[s>>2];h[s>>2]=M;l=l+4|0;s=s+-4|0}while(l>>>0>>0);u=y;l=o}else{u=y;l=o}}else u=y}else{T=0;De(h[(h[y>>2]|0)+48>>2]|0,y|0,_|0,a|0,h[f>>2]|0)|0;M=T;T=0;if(M&1){m=8;break}l=(h[f>>2]|0)+(a-_<<2)|0;h[f>>2]=l;u=y}i:do{if(a>>>0>>0){while(1){l=c[a>>0]|0;if(l<<24>>24==46){s=a;break}T=0;s=Oe(h[(h[u>>2]|0)+44>>2]|0,y|0,l|0)|0;M=T;T=0;if(M&1){m=4;break}M=h[f>>2]|0;l=M+4|0;h[f>>2]=l;h[M>>2]=s;a=a+1|0;if(a>>>0>=r>>>0)break i}if((m|0)==4){a=Ze()|0;break e}T=0;a=ye(h[(h[p>>2]|0)+12>>2]|0,p|0)|0;M=T;T=0;if(M&1){m=8;break e}M=h[f>>2]|0;l=M+4|0;h[f>>2]=l;h[M>>2]=a;a=s+1|0}}while(0);T=0;De(h[(h[y>>2]|0)+48>>2]|0,y|0,a|0,r|0,l|0)|0;M=T;T=0;if(M&1)m=8;else{M=(h[f>>2]|0)+(g-a<<2)|0;h[f>>2]=M;h[n>>2]=(i|0)==(r|0)?M:t+(i-e<<2)|0;qd(A);v=E;return}}}while(0);if((m|0)==8)a=Ze()|0;qd(A);si(a|0)}function Ql(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+352|0;_=A+304|0;d=A+48|0;c=A+32|0;s=A+24|0;f=A+8|0;u=A;k=A+308|0;w=A+72|0;l=A+76|0;E=A+68|0;y=A+64|0;p=A+60|0;g=A+56|0;o=u;h[o>>2]=37;h[o+4>>2]=0;o=xk(u+1|0,58899,h[r+4>>2]|0)|0;h[w>>2]=k;e=rk()|0;if(o){h[f>>2]=h[r+8>>2];m[f+8>>3]=n;f=b_(k,30,e,u,f)|0}else{m[s>>3]=n;f=b_(k,30,e,u,s)|0}e:do{if((f|0)>29){T=0;e=Ce(3)|0;f=T;T=0;f=f&1;if(o){if(!f?(T=0,h[c>>2]=h[r+8>>2],m[c+8>>3]=n,a=De(17,w|0,e|0,u|0,c|0)|0,b=T,T=0,!(b&1)):0)M=12}else if(!f?(T=0,m[d>>3]=n,b=De(17,w|0,e|0,u|0,d|0)|0,d=T,T=0,!(d&1)):0){a=b;M=12}do{if((M|0)==12){e=h[w>>2]|0;if(!e){T=0;Ie(6);b=T;T=0;if(b&1)break;f=h[w>>2]|0}else f=e;e=f;u=f;M=16;break e}}while(0);e=Ze()|0}else{e=h[w>>2]|0;u=0;a=f;M=16}}while(0);if((M|0)==16){s=e+a|0;o=Pk(e,s,r)|0;do{if((e|0)==(k|0)){e=k;f=0;M=22}else{a=jc(a<<3)|0;if(!a){T=0;Ie(6);M=T;T=0;if(M&1){f=0;M=20;break}e=h[w>>2]|0}f=a;l=a;M=22}}while(0);do{if((M|0)==22){T=0;a=ye(68,r|0)|0;w=T;T=0;if(!(w&1)){h[p>>2]=a;T=0;Se(4,e|0,o|0,s|0,l|0,E|0,y|0,p|0);p=T;T=0;if(p&1){e=Ze()|0;Ad(a)|0;break}Ad(a)|0;h[g>>2]=h[i>>2];M=h[E>>2]|0;e=h[y>>2]|0;T=0;h[_>>2]=h[g>>2];e=ge(40,_|0,l|0,M|0,e|0,r|0,t|0)|0;M=T;T=0;if(!(M&1)){h[i>>2]=e;if(f)Hc(f);if(u)Hc(u);v=A;return e|0}else M=20}else M=20}}while(0);if((M|0)==20)e=Ze()|0;if(f)Hc(f);if(u)Hc(u)}si(e|0);return 0}function $l(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+192|0;s=b;e=b+180|0;u=b+160|0;d=b+12|0;l=b+8|0;o=b+4|0;c[e>>0]=c[58901]|0;c[e+1>>0]=c[58902]|0;c[e+2>>0]=c[58903]|0;c[e+3>>0]=c[58904]|0;c[e+4>>0]=c[58905]|0;c[e+5>>0]=c[58906]|0;f=rk()|0;h[s>>2]=n;e=b_(u,20,f,e,s)|0;n=u+e|0;f=Pk(u,n,r)|0;a=_h(r)|0;h[l>>2]=a;T=0;l=Oe(37,l|0,44212)|0;k=T;T=0;if(k&1){k=Ze()|0;Ad(a)|0;si(k|0)}else{Ad(a)|0;OE[h[(h[l>>2]|0)+48>>2]&31](l,u,n,d)|0;k=d+(e<<2)|0;h[o>>2]=h[i>>2];h[s>>2]=h[o>>2];k=w_(s,d,(f|0)==(n|0)?k:d+(f-u<<2)|0,k,r,t)|0;v=b;return k|0}return 0}function es(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0;P=v;v=v+32|0;g=P+16|0;p=P+12|0;A=P+8|0;y=P+4|0;E=P;s=_h(t)|0;h[A>>2]=s;T=0;A=Oe(37,A|0,44220)|0;m=T;T=0;if(m&1){P=Ze()|0;Ad(s)|0;si(P|0)}Ad(s)|0;h[n>>2]=0;m=A+8|0;s=h[i>>2]|0;e:do{if((a|0)!=(l|0)){i:while(1){o=s;if(s){if((h[s+12>>2]|0)==(h[s+16>>2]|0)?(mE[h[(h[s>>2]|0)+36>>2]&127](s)|0)==-1:0){h[i>>2]=0;s=0;o=0}}else s=0;w=(s|0)==0;k=h[r>>2]|0;u=k;do{if(k){if((h[k+12>>2]|0)==(h[k+16>>2]|0)?(mE[h[(h[k>>2]|0)+36>>2]&127](k)|0)==-1:0){h[r>>2]=0;u=0;S=12;break}if(!w){S=13;break i}}else S=12}while(0);if((S|0)==12){S=0;if(w){S=13;break}else k=0}r:do{if((vE[h[(h[A>>2]|0)+36>>2]&63](A,c[a>>0]|0,0)|0)<<24>>24==37){k=a+1|0;if((k|0)==(l|0)){S=17;break i}_=vE[h[(h[A>>2]|0)+36>>2]&63](A,c[k>>0]|0,0)|0;switch(_<<24>>24){case 48:case 69:{w=a+2|0;if((w|0)==(l|0)){S=20;break i}a=k;k=vE[h[(h[A>>2]|0)+36>>2]&63](A,c[w>>0]|0,0)|0;s=_;break}default:{k=_;s=0}}_=h[(h[e>>2]|0)+36>>2]|0;h[y>>2]=o;h[E>>2]=u;h[p>>2]=h[y>>2];h[g>>2]=h[E>>2];_=CE[_&15](e,p,g,t,n,f,k,s)|0;h[i>>2]=_;a=a+2|0}else{o=c[a>>0]|0;if(o<<24>>24>-1?(M=h[m>>2]|0,(d[M+(o<<24>>24<<1)>>1]&8192)!=0):0){do{a=a+1|0;if((a|0)==(l|0)){a=l;break}o=c[a>>0]|0;if(o<<24>>24<=-1)break}while((d[M+(o<<24>>24<<1)>>1]&8192)!=0);o=k;while(1){if(s){if((h[s+12>>2]|0)==(h[s+16>>2]|0)?(mE[h[(h[s>>2]|0)+36>>2]&127](s)|0)==-1:0){h[i>>2]=0;s=0}}else s=0;u=(s|0)==0;do{if(k){if((h[k+12>>2]|0)!=(h[k+16>>2]|0))if(u){_=o;break}else break r;if((mE[h[(h[k>>2]|0)+36>>2]&127](k)|0)!=-1)if(u^(o|0)==0){_=o;k=o;break}else break r;else{h[r>>2]=0;o=0;S=39;break}}else S=39}while(0);if((S|0)==39){S=0;if(u)break r;else{_=o;k=0}}u=s+12|0;o=h[u>>2]|0;w=s+16|0;if((o|0)==(h[w>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=b[o>>0]|0;if((o&255)<<24>>24<=-1)break r;if(!(d[(h[m>>2]|0)+(o<<24>>24<<1)>>1]&8192))break r;o=h[u>>2]|0;if((o|0)==(h[w>>2]|0)){mE[h[(h[s>>2]|0)+40>>2]&127](s)|0;o=_;continue}else{h[u>>2]=o+1;o=_;continue}}}u=s+12|0;o=h[u>>2]|0;k=s+16|0;if((o|0)==(h[k>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=b[o>>0]|0;_=ME[h[(h[A>>2]|0)+12>>2]&63](A,o&255)|0;if(_<<24>>24!=(ME[h[(h[A>>2]|0)+12>>2]&63](A,c[a>>0]|0)|0)<<24>>24){S=57;break i}o=h[u>>2]|0;if((o|0)==(h[k>>2]|0))mE[h[(h[s>>2]|0)+40>>2]&127](s)|0;else h[u>>2]=o+1;a=a+1|0}}while(0);s=h[i>>2]|0;if(!((a|0)!=(l|0)&(h[n>>2]|0)==0))break e}if((S|0)==13){h[n>>2]=4;break}else if((S|0)==17){h[n>>2]=4;break}else if((S|0)==20){h[n>>2]=4;break}else if((S|0)==57){h[n>>2]=4;s=h[i>>2]|0;break}}}while(0);if(s){if((h[s+12>>2]|0)==(h[s+16>>2]|0)?(mE[h[(h[s>>2]|0)+36>>2]&127](s)|0)==-1:0){h[i>>2]=0;s=0}}else s=0;a=(s|0)==0;o=h[r>>2]|0;do{if(o){if((h[o+12>>2]|0)==(h[o+16>>2]|0)?(mE[h[(h[o>>2]|0)+36>>2]&127](o)|0)==-1:0){h[r>>2]=0;S=67;break}if(!a)S=68}else S=67}while(0);if((S|0)==67?a:0)S=68;if((S|0)==68)h[n>>2]=h[n>>2]|2;v=P;return s|0}function is(e){e=e|0;return}function rs(e){e=e|0;zv(e);return}function ts(e){e=e|0;return 2}function ns(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=es(e,s,l,t,n,f,58907,58915)|0;v=a;return e|0}function fs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;d=e+8|0;d=mE[h[(h[d>>2]|0)+20>>2]&127](d)|0;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];r=c[d>>0]|0;b=(r&1)==0;i=b?d+1|0:h[d+8>>2]|0;r=i+(b?(r&255)>>>1:h[d+4>>2]|0)|0;h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=es(e,s,l,t,n,f,i,r)|0;v=a;return e|0}function as(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44220)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];ls(e,f+24|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function ls(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0;a=v;v=v+16|0;l=a+4|0;s=a;e=e+8|0;e=mE[h[h[e>>2]>>2]&127](e)|0;h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];r=(Gw(r,l,e,e+168|0,f,n,0)|0)-e|0;if((r|0)<168)h[i>>2]=((r|0)/12|0|0)%7|0;v=a;return}function ss(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44220)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];os(e,f+16|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function os(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0;a=v;v=v+16|0;l=a+4|0;s=a;e=e+8|0;e=mE[h[(h[e>>2]|0)+4>>2]&127](e)|0;h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];r=(Gw(r,l,e,e+288|0,f,n,0)|0)-e|0;if((r|0)<288)h[i>>2]=((r|0)/12|0|0)%12|0;v=a;return}function us(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44220)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];cs(e,f+20|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function cs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,4)|0;if(!(h[n>>2]&4)){if((e|0)<69)e=e+2e3|0;else e=(e+-69|0)>>>0<31?e+1900|0:e;h[i>>2]=e+-1900}v=a;return}function ds(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0;V=v;v=v+144|0;s=V+132|0;l=V+116|0;U=V+128|0;y=V+124|0;x=V+120|0;j=V+112|0;H=V+108|0;Y=V+104|0;q=V+100|0;X=V+96|0;z=V+92|0;o=V+88|0;u=V+84|0;d=V+80|0;b=V+76|0;k=V+72|0;w=V+68|0;_=V+64|0;m=V+60|0;p=V+56|0;g=V+52|0;E=V+48|0;A=V+44|0;M=V+40|0;S=V+36|0;P=V+32|0;O=V+28|0;R=V+24|0;L=V+20|0;C=V+16|0;D=V+12|0;I=V+8|0;B=V+4|0;N=V;h[n>>2]=0;F=_h(t)|0;h[U>>2]=F;T=0;U=Oe(37,U|0,44220)|0;K=T;T=0;if(K&1){K=Ze()|0;Ad(F)|0;si(K|0)}Ad(F)|0;do{switch(a<<24>>24|0){case 65:case 97:{h[y>>2]=h[r>>2];h[s>>2]=h[y>>2];ls(e,f+24|0,i,s,n,U);G=28;break}case 104:case 66:case 98:{h[x>>2]=h[r>>2];h[s>>2]=h[x>>2];os(e,f+16|0,i,s,n,U);G=28;break}case 99:{G=e+8|0;G=mE[h[(h[G>>2]|0)+12>>2]&127](G)|0;h[j>>2]=h[i>>2];h[H>>2]=h[r>>2];a=c[G>>0]|0;r=(a&1)==0;K=r?G+1|0:h[G+8>>2]|0;G=K+(r?(a&255)>>>1:h[G+4>>2]|0)|0;h[l>>2]=h[j>>2];h[s>>2]=h[H>>2];G=es(e,l,s,t,n,f,K,G)|0;h[i>>2]=G;G=28;break}case 101:case 100:{h[Y>>2]=h[r>>2];h[s>>2]=h[Y>>2];hs(e,f+12|0,i,s,n,U);G=28;break}case 68:{h[q>>2]=h[i>>2];h[X>>2]=h[r>>2];h[l>>2]=h[q>>2];h[s>>2]=h[X>>2];G=es(e,l,s,t,n,f,58915,58923)|0;h[i>>2]=G;G=28;break}case 70:{h[z>>2]=h[i>>2];h[o>>2]=h[r>>2];h[l>>2]=h[z>>2];h[s>>2]=h[o>>2];G=es(e,l,s,t,n,f,58923,58931)|0;h[i>>2]=G;G=28;break}case 72:{h[u>>2]=h[r>>2];h[s>>2]=h[u>>2];bs(e,f+8|0,i,s,n,U);G=28;break}case 73:{h[d>>2]=h[r>>2];h[s>>2]=h[d>>2];ks(e,f+8|0,i,s,n,U);G=28;break}case 106:{h[b>>2]=h[r>>2];h[s>>2]=h[b>>2];ws(e,f+28|0,i,s,n,U);G=28;break}case 109:{h[k>>2]=h[r>>2];h[s>>2]=h[k>>2];_s(e,f+16|0,i,s,n,U);G=28;break}case 77:{h[w>>2]=h[r>>2];h[s>>2]=h[w>>2];ms(e,f+4|0,i,s,n,U);G=28;break}case 116:case 110:{h[_>>2]=h[r>>2];h[s>>2]=h[_>>2];ps(e,i,s,n,U);G=28;break}case 112:{h[m>>2]=h[r>>2];h[s>>2]=h[m>>2];vs(e,f+8|0,i,s,n,U);G=28;break}case 114:{h[p>>2]=h[i>>2];h[g>>2]=h[r>>2];h[l>>2]=h[p>>2];h[s>>2]=h[g>>2];G=es(e,l,s,t,n,f,58931,58942)|0;h[i>>2]=G;G=28;break}case 82:{h[E>>2]=h[i>>2];h[A>>2]=h[r>>2];h[l>>2]=h[E>>2];h[s>>2]=h[A>>2];G=es(e,l,s,t,n,f,58942,58947)|0;h[i>>2]=G;G=28;break}case 83:{h[M>>2]=h[r>>2];h[s>>2]=h[M>>2];gs(e,f,i,s,n,U);G=28;break}case 84:{h[S>>2]=h[i>>2];h[P>>2]=h[r>>2];h[l>>2]=h[S>>2];h[s>>2]=h[P>>2];G=es(e,l,s,t,n,f,58947,58955)|0;h[i>>2]=G;G=28;break}case 119:{h[O>>2]=h[r>>2];h[s>>2]=h[O>>2];ys(e,f+24|0,i,s,n,U);G=28;break}case 120:{K=h[(h[e>>2]|0)+20>>2]|0;h[R>>2]=h[i>>2];h[L>>2]=h[r>>2];h[l>>2]=h[R>>2];h[s>>2]=h[L>>2];l=_E[K&63](e,l,s,t,n,f)|0;break}case 88:{G=e+8|0;G=mE[h[(h[G>>2]|0)+24>>2]&127](G)|0;h[C>>2]=h[i>>2];h[D>>2]=h[r>>2];a=c[G>>0]|0;r=(a&1)==0;K=r?G+1|0:h[G+8>>2]|0;G=K+(r?(a&255)>>>1:h[G+4>>2]|0)|0;h[l>>2]=h[C>>2];h[s>>2]=h[D>>2];G=es(e,l,s,t,n,f,K,G)|0;h[i>>2]=G;G=28;break}case 121:{h[I>>2]=h[r>>2];h[s>>2]=h[I>>2];cs(e,f+20|0,i,s,n,U);G=28;break}case 89:{h[B>>2]=h[r>>2];h[s>>2]=h[B>>2];Es(e,f+20|0,i,s,n,U);G=28;break}case 37:{h[N>>2]=h[r>>2];h[s>>2]=h[N>>2];As(e,i,s,n,U);G=28;break}default:{h[n>>2]=h[n>>2]|4;G=28}}}while(0);if((G|0)==28)l=h[i>>2]|0;v=V;return l|0}function hs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e+-1|0)>>>0<31&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function bs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<24&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function ks(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e+-1|0)>>>0<12&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function ws(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,3)|0;r=h[n>>2]|0;if((e|0)<366&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function _s(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<13&(r&4|0)==0)h[i>>2]=e+-1;else h[n>>2]=r|4;v=a;return}function ms(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<60&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function ps(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;a=n+8|0;e:while(1){n=h[i>>2]|0;do{if(n){if((h[n+12>>2]|0)==(h[n+16>>2]|0))if((mE[h[(h[n>>2]|0)+36>>2]&127](n)|0)==-1){h[i>>2]=0;n=0;break}else{n=h[i>>2]|0;break}}else n=0}while(0);n=(n|0)==0;e=h[r>>2]|0;do{if(e){if((h[e+12>>2]|0)!=(h[e+16>>2]|0))if(n)break;else break e;if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)!=-1)if(n)break;else break e;else{h[r>>2]=0;l=12;break}}else l=12}while(0);if((l|0)==12){l=0;if(n){e=0;break}else e=0}n=h[i>>2]|0;f=h[n+12>>2]|0;if((f|0)==(h[n+16>>2]|0))n=mE[h[(h[n>>2]|0)+36>>2]&127](n)|0;else n=b[f>>0]|0;if((n&255)<<24>>24<=-1)break;if(!(d[(h[a>>2]|0)+(n<<24>>24<<1)>>1]&8192))break;n=h[i>>2]|0;e=n+12|0;f=h[e>>2]|0;if((f|0)==(h[n+16>>2]|0)){mE[h[(h[n>>2]|0)+40>>2]&127](n)|0;continue}else{h[e>>2]=f+1;continue}}n=h[i>>2]|0;do{if(n){if((h[n+12>>2]|0)==(h[n+16>>2]|0))if((mE[h[(h[n>>2]|0)+36>>2]&127](n)|0)==-1){h[i>>2]=0;n=0;break}else{n=h[i>>2]|0;break}}else n=0}while(0);n=(n|0)==0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)?(mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1:0){h[r>>2]=0;l=32;break}if(!n)l=33}else l=32}while(0);if((l|0)==32?n:0)l=33;if((l|0)==33)h[t>>2]=h[t>>2]|2;return}function vs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;l=u+4|0;s=u;o=e+8|0;o=mE[h[(h[o>>2]|0)+8>>2]&127](o)|0;e=c[o>>0]|0;if(!(e&1))a=(e&255)>>>1;else a=h[o+4>>2]|0;e=c[o+12>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=h[o+16>>2]|0;do{if((a|0)!=(0-e|0)){h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];e=Gw(r,l,o,o+24|0,f,n,0)|0;a=h[i>>2]|0;if((e|0)==(o|0)&(a|0)==12){h[i>>2]=0;break}if((a|0)<12&(e-o|0)==12)h[i>>2]=a+12}else h[n>>2]=h[n>>2]|4}while(0);v=u;return}function gs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<61&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function ys(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,1)|0;r=h[n>>2]|0;if((e|0)<7&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Es(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,4)|0;if(!(h[n>>2]&4))h[i>>2]=e+-1900;v=a;return}function As(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;e=h[i>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0))if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1){h[i>>2]=0;e=0;break}else{e=h[i>>2]|0;break}}else e=0}while(0);f=(e|0)==0;e=h[r>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)?(mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1:0){h[r>>2]=0;l=11;break}if(f){a=e;l=13}else l=12}else l=11}while(0);if((l|0)==11)if(f)l=12;else{a=0;l=13}e:do{if((l|0)==12)h[t>>2]=h[t>>2]|6;else if((l|0)==13){e=h[i>>2]|0;f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=b[f>>0]|0;if((vE[h[(h[n>>2]|0)+36>>2]&63](n,e&255,0)|0)<<24>>24!=37){h[t>>2]=h[t>>2]|4;break}e=h[i>>2]|0;f=e+12|0;n=h[f>>2]|0;if((n|0)==(h[e+16>>2]|0)){mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;e=h[i>>2]|0;if(!e)e=0;else l=21}else{h[f>>2]=n+1;l=21}do{if((l|0)==21)if((h[e+12>>2]|0)==(h[e+16>>2]|0))if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1){h[i>>2]=0;e=0;break}else{e=h[i>>2]|0;break}}while(0);e=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)?(mE[h[(h[a>>2]|0)+36>>2]&127](a)|0)==-1:0){h[r>>2]=0;l=30;break}if(e)break e}else l=30}while(0);if((l|0)==30?!e:0)break;h[t>>2]=h[t>>2]|2}}while(0);return}function Ms(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;y=v;v=v+32|0;w=y+16|0;k=y+12|0;p=y+8|0;_=y+4|0;m=y;s=_h(t)|0;h[p>>2]=s;T=0;p=Oe(37,p|0,44212)|0;b=T;T=0;if(b&1){y=Ze()|0;Ad(s)|0;si(y|0)}Ad(s)|0;h[n>>2]=0;s=h[i>>2]|0;e:do{if((a|0)!=(l|0)){i:while(1){u=s;if(s){o=h[s+12>>2]|0;if((o|0)==(h[s+16>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=h[o>>2]|0;if((o|0)==-1){h[i>>2]=0;s=0;d=1;b=0}else{d=0;b=u}}else{s=0;d=1;b=u}c=h[r>>2]|0;o=c;do{if(c){u=h[c+12>>2]|0;if((u|0)==(h[c+16>>2]|0))u=mE[h[(h[c>>2]|0)+36>>2]&127](c)|0;else u=h[u>>2]|0;if((u|0)!=-1)if(d)break;else{g=17;break i}else{h[r>>2]=0;o=0;g=15;break}}else g=15}while(0);if((g|0)==15){g=0;if(d){g=17;break}else c=0}r:do{if((vE[h[(h[p>>2]|0)+52>>2]&63](p,h[a>>2]|0,0)|0)<<24>>24==37){u=a+4|0;if((u|0)==(l|0)){g=21;break i}d=vE[h[(h[p>>2]|0)+52>>2]&63](p,h[u>>2]|0,0)|0;switch(d<<24>>24){case 48:case 69:{c=a+8|0;if((c|0)==(l|0)){g=24;break i}a=u;u=vE[h[(h[p>>2]|0)+52>>2]&63](p,h[c>>2]|0,0)|0;s=d;break}default:{u=d;s=0}}d=h[(h[e>>2]|0)+36>>2]|0;h[_>>2]=b;h[m>>2]=o;h[k>>2]=h[_>>2];h[w>>2]=h[m>>2];b=CE[d&15](e,k,w,t,n,f,u,s)|0;h[i>>2]=b;a=a+8|0}else{if(!(vE[h[(h[p>>2]|0)+12>>2]&63](p,8192,h[a>>2]|0)|0)){u=s+12|0;o=h[u>>2]|0;c=s+16|0;if((o|0)==(h[c>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=h[o>>2]|0;b=ME[h[(h[p>>2]|0)+28>>2]&63](p,o)|0;if((b|0)!=(ME[h[(h[p>>2]|0)+28>>2]&63](p,h[a>>2]|0)|0)){g=61;break i}o=h[u>>2]|0;if((o|0)==(h[c>>2]|0))mE[h[(h[s>>2]|0)+40>>2]&127](s)|0;else h[u>>2]=o+4;a=a+4|0;break}do{a=a+4|0;if((a|0)==(l|0)){a=l;break}}while(vE[h[(h[p>>2]|0)+12>>2]&63](p,8192,h[a>>2]|0)|0);o=c;d=c;while(1){if(s){u=h[s+12>>2]|0;if((u|0)==(h[s+16>>2]|0))u=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else u=h[u>>2]|0;if((u|0)==-1){h[i>>2]=0;c=1;s=0}else c=0}else{c=1;s=0}do{if(d){u=h[d+12>>2]|0;if((u|0)==(h[d+16>>2]|0))u=mE[h[(h[d>>2]|0)+36>>2]&127](d)|0;else u=h[u>>2]|0;if((u|0)!=-1)if(c^(o|0)==0){b=o;d=o;break}else break r;else{h[r>>2]=0;o=0;g=44;break}}else g=44}while(0);if((g|0)==44){g=0;if(c)break r;else{b=o;d=0}}u=s+12|0;o=h[u>>2]|0;c=s+16|0;if((o|0)==(h[c>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=h[o>>2]|0;if(!(vE[h[(h[p>>2]|0)+12>>2]&63](p,8192,o)|0))break r;o=h[u>>2]|0;if((o|0)==(h[c>>2]|0)){mE[h[(h[s>>2]|0)+40>>2]&127](s)|0;o=b;continue}else{h[u>>2]=o+4;o=b;continue}}}}while(0);s=h[i>>2]|0;if(!((a|0)!=(l|0)&(h[n>>2]|0)==0))break e}if((g|0)==17){h[n>>2]=4;break}else if((g|0)==21){h[n>>2]=4;break}else if((g|0)==24){h[n>>2]=4;break}else if((g|0)==61){h[n>>2]=4;s=h[i>>2]|0;break}}}while(0);if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0))a=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else a=h[a>>2]|0;if((a|0)==-1){h[i>>2]=0;s=0;u=1}else u=0}else{s=0;u=1}a=h[r>>2]|0;do{if(a){o=h[a+12>>2]|0;if((o|0)==(h[a+16>>2]|0))a=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else a=h[o>>2]|0;if((a|0)!=-1)if(u)break;else{g=76;break}else{h[r>>2]=0;g=74;break}}else g=74}while(0);if((g|0)==74?u:0)g=76;if((g|0)==76)h[n>>2]=h[n>>2]|2;v=y;return s|0}function Ts(e){e=e|0;return}function Ss(e){e=e|0;zv(e);return}function Ps(e){e=e|0;return 2}function Os(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Ms(e,s,l,t,n,f,44788,44820)|0;v=a;return e|0}function Rs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;k=e+8|0;k=mE[h[(h[k>>2]|0)+20>>2]&127](k)|0;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];d=c[k>>0]|0;b=(d&1)==0;r=k+4|0;i=b?r:h[k+8>>2]|0;r=i+((b?(d&255)>>>1:h[r>>2]|0)<<2)|0;h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Ms(e,s,l,t,n,f,i,r)|0;v=a;return e|0}function Ls(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44212)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];Cs(e,f+24|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function Cs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0;a=v;v=v+16|0;l=a+4|0;s=a;e=e+8|0;e=mE[h[h[e>>2]>>2]&127](e)|0;h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];r=(n_(r,l,e,e+168|0,f,n,0)|0)-e|0;if((r|0)<168)h[i>>2]=((r|0)/12|0|0)%7|0;v=a;return}function Ds(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44212)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];xs(e,f+16|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function xs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0;a=v;v=v+16|0;l=a+4|0;s=a;e=e+8|0;e=mE[h[(h[e>>2]|0)+4>>2]&127](e)|0;h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];r=(n_(r,l,e,e+288|0,f,n,0)|0)-e|0;if((r|0)<288)h[i>>2]=((r|0)/12|0|0)%12|0;v=a;return}function Is(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44212)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];Bs(e,f+20|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function Bs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,4)|0;if(!(h[n>>2]&4)){if((e|0)<69)e=e+2e3|0;else e=(e+-69|0)>>>0<31?e+1900|0:e;h[i>>2]=e+-1900}v=a;return}function Ns(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0;V=v;v=v+144|0;s=V+132|0;l=V+116|0;U=V+128|0;y=V+124|0;x=V+120|0;j=V+112|0;H=V+108|0;Y=V+104|0;q=V+100|0;X=V+96|0;z=V+92|0;o=V+88|0;u=V+84|0;d=V+80|0;b=V+76|0;k=V+72|0;w=V+68|0;_=V+64|0;m=V+60|0;p=V+56|0;g=V+52|0;E=V+48|0;A=V+44|0;M=V+40|0;S=V+36|0;P=V+32|0;O=V+28|0;R=V+24|0;L=V+20|0;C=V+16|0;D=V+12|0;I=V+8|0;B=V+4|0;N=V;h[n>>2]=0;F=_h(t)|0;h[U>>2]=F;T=0;U=Oe(37,U|0,44212)|0;K=T;T=0;if(K&1){K=Ze()|0;Ad(F)|0;si(K|0)}Ad(F)|0;do{switch(a<<24>>24|0){case 65:case 97:{h[y>>2]=h[r>>2];h[s>>2]=h[y>>2];Cs(e,f+24|0,i,s,n,U);G=28;break}case 104:case 66:case 98:{h[x>>2]=h[r>>2];h[s>>2]=h[x>>2];xs(e,f+16|0,i,s,n,U);G=28;break}case 99:{K=e+8|0;K=mE[h[(h[K>>2]|0)+12>>2]&127](K)|0;h[j>>2]=h[i>>2];h[H>>2]=h[r>>2];a=c[K>>0]|0;r=(a&1)==0;G=K+4|0;K=r?G:h[K+8>>2]|0;G=K+((r?(a&255)>>>1:h[G>>2]|0)<<2)|0;h[l>>2]=h[j>>2];h[s>>2]=h[H>>2];G=Ms(e,l,s,t,n,f,K,G)|0;h[i>>2]=G;G=28;break}case 101:case 100:{h[Y>>2]=h[r>>2];h[s>>2]=h[Y>>2];Fs(e,f+12|0,i,s,n,U);G=28;break}case 68:{h[q>>2]=h[i>>2];h[X>>2]=h[r>>2];h[l>>2]=h[q>>2];h[s>>2]=h[X>>2];G=Ms(e,l,s,t,n,f,44820,44852)|0;h[i>>2]=G;G=28;break}case 70:{h[z>>2]=h[i>>2];h[o>>2]=h[r>>2];h[l>>2]=h[z>>2];h[s>>2]=h[o>>2];G=Ms(e,l,s,t,n,f,44852,44884)|0;h[i>>2]=G;G=28;break}case 72:{h[u>>2]=h[r>>2];h[s>>2]=h[u>>2];Us(e,f+8|0,i,s,n,U);G=28;break}case 73:{h[d>>2]=h[r>>2];h[s>>2]=h[d>>2];js(e,f+8|0,i,s,n,U);G=28;break}case 106:{h[b>>2]=h[r>>2];h[s>>2]=h[b>>2];Hs(e,f+28|0,i,s,n,U);G=28;break}case 109:{h[k>>2]=h[r>>2];h[s>>2]=h[k>>2];Ys(e,f+16|0,i,s,n,U);G=28;break}case 77:{h[w>>2]=h[r>>2];h[s>>2]=h[w>>2];qs(e,f+4|0,i,s,n,U);G=28;break}case 116:case 110:{h[_>>2]=h[r>>2];h[s>>2]=h[_>>2];Xs(e,i,s,n,U);G=28;break}case 112:{h[m>>2]=h[r>>2];h[s>>2]=h[m>>2];zs(e,f+8|0,i,s,n,U);G=28;break}case 114:{h[p>>2]=h[i>>2];h[g>>2]=h[r>>2];h[l>>2]=h[p>>2];h[s>>2]=h[g>>2];G=Ms(e,l,s,t,n,f,44884,44928)|0;h[i>>2]=G;G=28;break}case 82:{h[E>>2]=h[i>>2];h[A>>2]=h[r>>2];h[l>>2]=h[E>>2];h[s>>2]=h[A>>2];G=Ms(e,l,s,t,n,f,44928,44948)|0;h[i>>2]=G;G=28;break}case 83:{h[M>>2]=h[r>>2];h[s>>2]=h[M>>2];Vs(e,f,i,s,n,U);G=28;break}case 84:{h[S>>2]=h[i>>2];h[P>>2]=h[r>>2];h[l>>2]=h[S>>2];h[s>>2]=h[P>>2];G=Ms(e,l,s,t,n,f,44948,44980)|0;h[i>>2]=G;G=28;break}case 119:{h[O>>2]=h[r>>2];h[s>>2]=h[O>>2];Gs(e,f+24|0,i,s,n,U);G=28;break}case 120:{K=h[(h[e>>2]|0)+20>>2]|0;h[R>>2]=h[i>>2];h[L>>2]=h[r>>2];h[l>>2]=h[R>>2];h[s>>2]=h[L>>2];l=_E[K&63](e,l,s,t,n,f)|0;break}case 88:{K=e+8|0;K=mE[h[(h[K>>2]|0)+24>>2]&127](K)|0;h[C>>2]=h[i>>2];h[D>>2]=h[r>>2];a=c[K>>0]|0;r=(a&1)==0;G=K+4|0;K=r?G:h[K+8>>2]|0;G=K+((r?(a&255)>>>1:h[G>>2]|0)<<2)|0;h[l>>2]=h[C>>2];h[s>>2]=h[D>>2];G=Ms(e,l,s,t,n,f,K,G)|0;h[i>>2]=G;G=28;break}case 121:{h[I>>2]=h[r>>2];h[s>>2]=h[I>>2];Bs(e,f+20|0,i,s,n,U);G=28;break}case 89:{h[B>>2]=h[r>>2];h[s>>2]=h[B>>2];Ks(e,f+20|0,i,s,n,U);G=28;break}case 37:{h[N>>2]=h[r>>2];h[s>>2]=h[N>>2];Ws(e,i,s,n,U);G=28;break}default:{h[n>>2]=h[n>>2]|4;G=28}}}while(0);if((G|0)==28)l=h[i>>2]|0;v=V;return l|0}function Fs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e+-1|0)>>>0<31&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Us(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<24&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function js(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e+-1|0)>>>0<12&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Hs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,3)|0;r=h[n>>2]|0;if((e|0)<366&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Ys(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<13&(r&4|0)==0)h[i>>2]=e+-1;else h[n>>2]=r|4;v=a;return}function qs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<60&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Xs(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;e:while(1){e=h[i>>2]|0;do{if(e){f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((e|0)==-1){h[i>>2]=0;a=1;break}else{a=(h[i>>2]|0)==0;break}}else a=1}while(0);f=h[r>>2]|0;do{if(f){e=h[f+12>>2]|0;if((e|0)==(h[f+16>>2]|0))e=mE[h[(h[f>>2]|0)+36>>2]&127](f)|0;else e=h[e>>2]|0;if((e|0)!=-1)if(a){a=f;break}else{a=f;break e}else{h[r>>2]=0;l=15;break}}else l=15}while(0);if((l|0)==15){l=0;if(a){a=0;break}else a=0}e=h[i>>2]|0;f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if(!(vE[h[(h[n>>2]|0)+12>>2]&63](n,8192,e)|0))break;e=h[i>>2]|0;f=e+12|0;a=h[f>>2]|0;if((a|0)==(h[e+16>>2]|0)){mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;continue}else{h[f>>2]=a+4;continue}}e=h[i>>2]|0;do{if(e){f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((e|0)==-1){h[i>>2]=0;f=1;break}else{f=(h[i>>2]|0)==0;break}}else f=1}while(0);do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0))e=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else e=h[e>>2]|0;if((e|0)!=-1)if(f)break;else{l=39;break}else{h[r>>2]=0;l=37;break}}else l=37}while(0);if((l|0)==37?f:0)l=39;if((l|0)==39)h[t>>2]=h[t>>2]|2;return}function zs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;l=u+4|0;s=u;o=e+8|0;o=mE[h[(h[o>>2]|0)+8>>2]&127](o)|0;e=c[o>>0]|0;if(!(e&1))a=(e&255)>>>1;else a=h[o+4>>2]|0;e=c[o+12>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=h[o+16>>2]|0;do{if((a|0)!=(0-e|0)){h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];e=n_(r,l,o,o+24|0,f,n,0)|0;a=h[i>>2]|0;if((e|0)==(o|0)&(a|0)==12){h[i>>2]=0;break}if((a|0)<12&(e-o|0)==12)h[i>>2]=a+12}else h[n>>2]=h[n>>2]|4}while(0);v=u;return}function Vs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<61&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Gs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,1)|0;r=h[n>>2]|0;if((e|0)<7&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Ks(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,4)|0;if(!(h[n>>2]&4))h[i>>2]=e+-1900;v=a;return}function Ws(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0;e=h[i>>2]|0;do{if(e){f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((e|0)==-1){h[i>>2]=0;a=1;break}else{a=(h[i>>2]|0)==0;break}}else a=1}while(0);f=h[r>>2]|0;do{if(f){e=h[f+12>>2]|0;if((e|0)==(h[f+16>>2]|0))e=mE[h[(h[f>>2]|0)+36>>2]&127](f)|0;else e=h[e>>2]|0;if((e|0)!=-1)if(a){l=f;s=17;break}else{s=16;break}else{h[r>>2]=0;s=14;break}}else s=14}while(0);if((s|0)==14)if(a)s=16;else{l=0;s=17}e:do{if((s|0)==16)h[t>>2]=h[t>>2]|6;else if((s|0)==17){e=h[i>>2]|0;f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((vE[h[(h[n>>2]|0)+52>>2]&63](n,e,0)|0)<<24>>24!=37){h[t>>2]=h[t>>2]|4;break}e=h[i>>2]|0;f=e+12|0;a=h[f>>2]|0;if((a|0)==(h[e+16>>2]|0)){mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;e=h[i>>2]|0;if(!e)f=1;else s=25}else{h[f>>2]=a+4;s=25}do{if((s|0)==25){f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((e|0)==-1){h[i>>2]=0;f=1;break}else{f=(h[i>>2]|0)==0;break}}}while(0);do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0))e=mE[h[(h[l>>2]|0)+36>>2]&127](l)|0;else e=h[e>>2]|0;if((e|0)!=-1)if(f)break e;else break;else{h[r>>2]=0;s=37;break}}else s=37}while(0);if((s|0)==37?!f:0)break;h[t>>2]=h[t>>2]|2}}while(0);return}function Js(e){e=e|0;Zs(e+8|0);return}function Zs(e){e=e|0;var i=0,r=0,t=0;i=h[e>>2]|0;T=0;r=Ce(3)|0;t=T;T=0;do{if(!(t&1)){if((i|0)!=(r|0)?(T=0,pe(188,h[e>>2]|0),t=T,T=0,t&1):0)break;return}}while(0);t=Ze(0)|0;Ki(t)}function Qs(e){e=e|0;Zs(e+8|0);zv(e);return}function $s(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0;s=v;v=v+112|0;l=s+4|0;r=s;h[r>>2]=l+100;eo(e+8|0,l,r,n,f,a);n=h[r>>2]|0;r=h[i>>2]|0;if((l|0)!=(n|0))do{a=c[l>>0]|0;do{if(r){t=r+24|0;f=h[t>>2]|0;if((f|0)==(h[r+28>>2]|0)){i=(ME[h[(h[r>>2]|0)+52>>2]&63](r,a&255)|0)==-1;r=i?0:r;break}else{h[t>>2]=f+1;c[f>>0]=a;break}}else r=0}while(0);l=l+1|0}while((l|0)!=(n|0));v=s;return r|0}function eo(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0;o=v;v=v+16|0;s=o;c[s>>0]=37;a=s+1|0;c[a>>0]=n;l=s+2|0;c[l>>0]=f;c[s+3>>0]=0;if(f<<24>>24){c[a>>0]=f;c[l>>0]=n}e=i+(ii(i|0,(h[r>>2]|0)-i|0,s|0,t|0,h[e>>2]|0)|0)|0;h[r>>2]=e;v=o;return}function io(e){e=e|0;Zs(e+8|0);return}function ro(e){e=e|0;Zs(e+8|0);zv(e);return}function to(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0;l=v;v=v+416|0;t=l+8|0;r=l;h[r>>2]=t+400;no(e+8|0,t,r,n,f,a);e=h[r>>2]|0;r=h[i>>2]|0;if((t|0)!=(e|0)){n=t;do{t=h[n>>2]|0;if(!r)r=0;else{f=r+24|0;a=h[f>>2]|0;if((a|0)==(h[r+28>>2]|0))t=ME[h[(h[r>>2]|0)+52>>2]&63](r,t)|0;else{h[f>>2]=a+4;h[a>>2]=t}r=(t|0)==-1?0:r}n=n+4|0}while((n|0)!=(e|0))}v=l;return r|0}function no(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+128|0;o=a+16|0;u=a+12|0;l=a;s=a+8|0;h[u>>2]=o+100;eo(e,o,u,t,n,f);n=l;h[n>>2]=0;h[n+4>>2]=0;h[s>>2]=o;n=(h[r>>2]|0)-i>>2;f=fy(h[e>>2]|0)|0;T=0;n=De(18,i|0,s|0,n|0,l|0)|0;e=T;T=0;if(e&1){n=Ze()|0;if((f|0)!=0?(T=0,ye(75,f|0)|0,u=T,T=0,u&1):0){u=Ze(0)|0;Ki(u)}si(n|0)}if((f|0)!=0?(T=0,ye(75,f|0)|0,u=T,T=0,u&1):0){u=Ze(0)|0;Ki(u)}if((n|0)==-1)iu(58955);else{h[r>>2]=i+(n<<2);v=a;return}}function fo(e){e=e|0;return}function ao(e){e=e|0;zv(e);return}function lo(e){e=e|0;return 127}function so(e){e=e|0;return 127}function oo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function uo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function co(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function ho(e,i){e=e|0;i=i|0;Yd(e,1,45);return}function bo(e){e=e|0;return 0}function ko(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function wo(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function _o(e){e=e|0;return}function mo(e){e=e|0;zv(e);return}function po(e){e=e|0;return 127}function vo(e){e=e|0;return 127}function go(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function yo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Eo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Ao(e,i){e=e|0;i=i|0;Yd(e,1,45);return}function Mo(e){e=e|0;return 0}function To(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function So(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Po(e){e=e|0;return}function Oo(e){e=e|0;zv(e);return}function Ro(e){e=e|0;return 2147483647}function Lo(e){e=e|0;return 2147483647}function Co(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Do(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function xo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Io(e,i){e=e|0;i=i|0;rh(e,1,45);return}function Bo(e){e=e|0;return 0}function No(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Fo(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Uo(e){e=e|0;return}function jo(e){e=e|0;zv(e);return}function Ho(e){e=e|0;return 2147483647}function Yo(e){e=e|0;return 2147483647}function qo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Xo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function zo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Vo(e,i){e=e|0;i=i|0;rh(e,1,45);return}function Go(e){e=e|0;return 0}function Ko(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Wo(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Jo(e){e=e|0;return}function Zo(e){e=e|0;zv(e);return}function Qo(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;S=v;v=v+240|0;A=S+24|0;M=S;e=S+136|0;O=S+16|0;E=S+12|0;P=S+8|0;d=S+134|0;s=S+4|0;y=S+124|0;h[O>>2]=e;R=O+4|0;h[R>>2]=189;o=e+100|0;T=0;l=ye(68,n|0)|0;g=T;T=0;if(!(g&1)){h[P>>2]=l;T=0;e=Oe(37,P|0,44220)|0;g=T;T=0;e:do{if(!(g&1)?(c[d>>0]=0,h[s>>2]=h[r>>2],u=h[n+4>>2]|0,T=0,h[A>>2]=h[s>>2],u=Ee(1,i|0,A|0,t|0,P|0,u|0,f|0,d|0,e|0,O|0,E|0,o|0)|0,g=T,T=0,!(g&1)):0){i:do{if(u){T=0;De(h[(h[e>>2]|0)+32>>2]|0,e|0,58976,58986,y|0)|0;g=T;T=0;if(g&1){C=10;break e}s=h[E>>2]|0;o=h[O>>2]|0;e=s-o|0;if((e|0)>98){e=jc(e+2|0)|0;l=e;if(!e){T=0;Ie(6);g=T;T=0;if(!(g&1)){e=0;C=13}}else C=13}else{l=0;e=A;C=13}do{if((C|0)==13){if(c[d>>0]|0){c[e>>0]=45;e=e+1|0}p=y+10|0;g=y;if(o>>>0>>0){u=y+1|0;t=u+1|0;n=t+1|0;d=n+1|0;b=d+1|0;k=b+1|0;w=k+1|0;_=w+1|0;m=_+1|0;do{s=c[o>>0]|0;do{if((c[y>>0]|0)!=s<<24>>24)if((c[u>>0]|0)!=s<<24>>24)if((c[t>>0]|0)!=s<<24>>24)if((c[n>>0]|0)!=s<<24>>24)if((c[d>>0]|0)==s<<24>>24)s=d;else{if((c[b>>0]|0)==s<<24>>24){s=b;break}if((c[k>>0]|0)==s<<24>>24){s=k;break}if((c[w>>0]|0)==s<<24>>24){s=w;break}if((c[_>>0]|0)==s<<24>>24){s=_;break}s=(c[m>>0]|0)==s<<24>>24?m:p}else s=n;else s=t;else s=u;else s=y}while(0);c[e>>0]=c[58976+(s-g)>>0]|0;o=o+1|0;e=e+1|0}while(o>>>0<(h[E>>2]|0)>>>0)}c[e>>0]=0;h[M>>2]=a;if((Yy(A,58987,M)|0)!=1?(T=0,pe(190,58991),a=T,T=0,a&1):0)break;if(l)Hc(l);break i}}while(0);e=Ze()|0;if(!l){s=e;l=O;break e}Hc(l);s=e;l=O;break e}}while(0);e=h[i>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1){C=10;break e}if((e|0)==-1){h[i>>2]=0;e=0;break}else{e=h[i>>2]|0;break}}}else e=0}while(0);l=(e|0)==0;e=h[r>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1){C=10;break e}if((e|0)==-1){h[r>>2]=0;C=37;break}}if(!l)C=38}else C=37}while(0);if((C|0)==37?l:0)C=38;if((C|0)==38)h[f>>2]=h[f>>2]|2;l=h[i>>2]|0;Ad(h[P>>2]|0)|0;e=h[O>>2]|0;h[O>>2]=0;if((e|0)!=0?(T=0,pe(h[R>>2]|0,e|0),C=T,T=0,C&1):0){C=Ze(0)|0;Ki(C)}v=S;return l|0}else C=10}while(0);if((C|0)==10){s=Ze()|0;l=O}Ad(h[P>>2]|0)|0;e=h[l>>2]|0;h[l>>2]=0;if(!e)L=s;else{l=h[R>>2]|0;C=45}}else{s=Ze()|0;h[O>>2]=0;l=189;C=45}if((C|0)==45){T=0;pe(l|0,e|0);C=T;T=0;if(C&1){C=Ze(0)|0;Ki(C)}else L=s}si(L|0);return 0}function $o(e){e=e|0;return}function eu(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;var k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0;ie=v;v=v+512|0;H=ie+88|0;m=ie+96|0;te=ie+80|0;z=ie+72|0;X=ie+68|0;V=ie+500|0;Y=ie+497|0;G=ie+496|0;J=ie+56|0;ee=ie+44|0;Q=ie+32|0;Z=ie+20|0;$=ie+8|0;q=ie+4|0;W=ie;h[H>>2]=u;h[te>>2]=m;re=te+4|0;h[re>>2]=189;h[z>>2]=m;h[X>>2]=m+400;h[J>>2]=0;h[J+4>>2]=0;h[J+8>>2]=0;h[ee>>2]=0;h[ee+4>>2]=0;h[ee+8>>2]=0;h[Q>>2]=0;h[Q+4>>2]=0;h[Q+8>>2]=0;h[Z>>2]=0;h[Z+4>>2]=0;h[Z+8>>2]=0;h[$>>2]=0;h[$+4>>2]=0;h[$+8>>2]=0;T=0;Pe(1,r|0,t|0,V|0,Y|0,G|0,J|0,ee|0,Q|0,Z|0,q|0);j=T;T=0;e:do{if(j&1)l=Ze()|0;else{h[o>>2]=h[s>>2];x=l+8|0;I=Q+4|0;B=Z+4|0;N=Z+8|0;F=Z+1|0;U=Q+8|0;j=Q+1|0;A=(n&512|0)!=0;M=ee+8|0;S=ee+1|0;P=ee+4|0;O=$+4|0;R=$+8|0;L=$+1|0;C=V+3|0;D=J+4|0;E=0;_=0;i:while(1){u=h[e>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}if((u|0)==-1){h[e>>2]=0;u=0;break}else{u=h[e>>2]|0;break}}}else u=0}while(0);u=(u|0)==0;l=h[i>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(u){y=l;break}else{K=235;break i}T=0;r=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=24;break i}if((r|0)!=-1)if(u){y=l;break}else{K=235;break i}else{h[i>>2]=0;K=15;break}}else K=15}while(0);if((K|0)==15){K=0;if(u){K=235;break}else y=0}r:do{switch(c[V+E>>0]|0){case 1:{if((E|0)!=3){u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;K=T;T=0;if(K&1){K=24;break i}}else u=b[l>>0]|0;if((u&255)<<24>>24<=-1){K=40;break i}if(!(d[(h[x>>2]|0)+(u<<24>>24<<1)>>1]&8192)){K=40;break i}u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;K=T;T=0;if(K&1){K=24;break i}}else{h[l>>2]=r+1;u=b[r>>0]|0}T=0;ve(67,$|0,u&255|0);K=T;T=0;if(K&1){K=24;break i}else{u=y;t=y;K=42}}break}case 0:{if((E|0)!=3){u=y;t=y;K=42}break}case 3:{l=c[Q>>0]|0;u=(l&1)==0?(l&255)>>>1:h[I>>2]|0;r=c[Z>>0]|0;t=(r&1)==0?(r&255)>>>1:h[B>>2]|0;if((u|0)!=(0-t|0)){if(!u){u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}l=c[Z>>0]|0}else{u=b[l>>0]|0;l=r}if((u&255)<<24>>24!=(c[((l&1)==0?F:h[N>>2]|0)>>0]|0))break r;u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[l>>2]=r+1;c[a>>0]=1;y=c[Z>>0]|0;_=((y&1)==0?(y&255)>>>1:h[B>>2]|0)>>>0>1?Z:_;break r}n=h[e>>2]|0;k=h[n+12>>2]|0;r=h[n+16>>2]|0;u=(k|0)==(r|0);if(!t){if(u){T=0;u=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=24;break i}l=c[Q>>0]|0}else u=b[k>>0]|0;if((u&255)<<24>>24!=(c[((l&1)==0?j:h[U>>2]|0)>>0]|0)){c[a>>0]=1;break r}u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[l>>2]=r+1;y=c[Q>>0]|0;_=((y&1)==0?(y&255)>>>1:h[I>>2]|0)>>>0>1?Q:_;break r}if(u){T=0;u=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=24;break i}r=h[e>>2]|0;l=c[Q>>0]|0;n=r;k=h[r+12>>2]|0;r=h[r+16>>2]|0}else u=b[k>>0]|0;t=n+12|0;r=(k|0)==(r|0);if((u&255)<<24>>24==(c[((l&1)==0?j:h[U>>2]|0)>>0]|0)){if(r){T=0;ye(h[(h[n>>2]|0)+40>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[t>>2]=k+1;y=c[Q>>0]|0;_=((y&1)==0?(y&255)>>>1:h[I>>2]|0)>>>0>1?Q:_;break r}if(r){T=0;u=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=24;break i}}else u=b[k>>0]|0;if((u&255)<<24>>24!=(c[((c[Z>>0]&1)==0?F:h[N>>2]|0)>>0]|0)){K=104;break i}u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[l>>2]=r+1;c[a>>0]=1;y=c[Z>>0]|0;_=((y&1)==0?(y&255)>>>1:h[B>>2]|0)>>>0>1?Z:_}break}case 2:{if(!(E>>>0<2|(_|0)!=0)?!(A|(E|0)==2&(c[C>>0]|0)!=0):0){_=0;break r}p=c[ee>>0]|0;u=(p&1)==0;g=h[M>>2]|0;r=u?S:g;w=r;t:do{if((E|0)!=0?(b[V+(E+-1)>>0]|0)<2:0){k=u?(p&255)>>>1:h[P>>2]|0;t=r+k|0;n=h[x>>2]|0;n:do{if(!k)l=w;else{k=r;l=w;do{u=c[k>>0]|0;if(u<<24>>24<=-1)break n;if(!(d[n+(u<<24>>24<<1)>>1]&8192))break n;k=k+1|0;l=k}while((k|0)!=(t|0))}}while(0);t=l-w|0;n=c[$>>0]|0;u=(n&1)==0;n=u?(n&255)>>>1:h[O>>2]|0;if(n>>>0>=t>>>0){u=u?L:h[R>>2]|0;k=u+n|0;if((l|0)!=(w|0)){u=u+(n-t)|0;while(1){if((c[u>>0]|0)!=(c[r>>0]|0)){l=w;break t}u=u+1|0;if((u|0)==(k|0))break;else r=r+1|0}}}else l=w}else l=w}while(0);u=(p&1)==0;u=(u?S:g)+(u?(p&255)>>>1:h[P>>2]|0)|0;t:do{if((l|0)!=(u|0)){n=y;t=y;u=l;while(1){l=h[e>>2]|0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=21;break i}if((l|0)==-1){h[e>>2]=0;l=0;break}else{l=h[e>>2]|0;break}}}else l=0}while(0);r=(l|0)==0;do{if(t){if((h[t+12>>2]|0)!=(h[t+16>>2]|0))if(r){l=n;k=t;break}else break t;T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){K=21;break i}if((l|0)!=-1)if(r^(n|0)==0){l=n;k=n;break}else break t;else{h[i>>2]=0;l=0;K=131;break}}else{l=n;K=131}}while(0);if((K|0)==131){K=0;if(r)break t;else k=0}r=h[e>>2]|0;t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=21;break i}}else r=b[t>>0]|0;if((r&255)<<24>>24!=(c[u>>0]|0))break t;r=h[e>>2]|0;t=r+12|0;n=h[t>>2]|0;if((n|0)==(h[r+16>>2]|0)){T=0;ye(h[(h[r>>2]|0)+40>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=21;break i}}else h[t>>2]=n+1;u=u+1|0;r=c[ee>>0]|0;y=(r&1)==0;r=(y?S:h[M>>2]|0)+(y?(r&255)>>>1:h[P>>2]|0)|0;if((u|0)==(r|0)){u=r;break}else{n=l;t=k}}}}while(0);if(A?(y=c[ee>>0]|0,g=(y&1)==0,(u|0)!=((g?S:h[M>>2]|0)+(g?(y&255)>>>1:h[P>>2]|0)|0)):0){K=143;break i}break}case 4:{w=c[G>>0]|0;l=y;n=y;u=0;t:while(1){r=h[e>>2]|0;do{if(r){if((h[r+12>>2]|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=23;break i}if((r|0)==-1){h[e>>2]=0;r=0;break}else{r=h[e>>2]|0;break}}}else r=0}while(0);t=(r|0)==0;do{if(n){if((h[n+12>>2]|0)!=(h[n+16>>2]|0))if(t){k=l;break}else{t=l;break t}T=0;r=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=23;break i}if((r|0)!=-1)if(t^(l|0)==0){k=l;n=l;break}else{t=l;break t}else{h[i>>2]=0;l=0;K=156;break}}else K=156}while(0);if((K|0)==156){K=0;if(t){t=l;break}else{k=l;n=0}}l=h[e>>2]|0;r=h[l+12>>2]|0;if((r|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=23;break i}}else l=b[r>>0]|0;r=l&255;if(r<<24>>24>-1?(d[(h[x>>2]|0)+(l<<24>>24<<1)>>1]&2048)!=0:0){l=h[o>>2]|0;if((l|0)==(h[H>>2]|0)){T=0;xe(12,s|0,o|0,H|0);y=T;T=0;if(y&1){K=23;break i}l=h[o>>2]|0}h[o>>2]=l+1;c[l>>0]=r;u=u+1|0}else{y=c[J>>0]|0;if(!(r<<24>>24==w<<24>>24&((u|0)!=0?(((y&1)==0?(y&255)>>>1:h[D>>2]|0)|0)!=0:0))){t=k;break}if((m|0)==(h[X>>2]|0)){T=0;xe(13,te|0,z|0,X|0);y=T;T=0;if(y&1){K=23;break i}m=h[z>>2]|0}y=m+4|0;h[z>>2]=y;h[m>>2]=u;m=y;u=0}l=h[e>>2]|0;r=l+12|0;t=h[r>>2]|0;if((t|0)==(h[l+16>>2]|0)){T=0;ye(h[(h[l>>2]|0)+40>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=23;break i}else{l=k;continue}}else{h[r>>2]=t+1;l=k;continue}}if((u|0)!=0?(h[te>>2]|0)!=(m|0):0){if((m|0)==(h[X>>2]|0)){T=0;xe(13,te|0,z|0,X|0);y=T;T=0;if(y&1){K=24;break i}m=h[z>>2]|0}y=m+4|0;h[z>>2]=y;h[m>>2]=u;m=y}k=h[q>>2]|0;if((k|0)>0){u=h[e>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}if((u|0)==-1){h[e>>2]=0;u=0;break}else{u=h[e>>2]|0;break}}}else u=0}while(0);u=(u|0)==0;do{if(t){if((h[t+12>>2]|0)==(h[t+16>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){K=24;break i}if((l|0)==-1){h[i>>2]=0;K=193;break}}if(!u){K=198;break i}}else K=193}while(0);if((K|0)==193){K=0;if(u){K=198;break i}else t=0}u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else u=b[l>>0]|0;if((u&255)<<24>>24!=(c[Y>>0]|0)){K=198;break i}u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[l>>2]=r+1;if((k|0)>0){n=t;r=t;w=k;while(1){u=h[e>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=22;break i}if((u|0)==-1){h[e>>2]=0;u=0;break}else{u=h[e>>2]|0;break}}}else u=0}while(0);l=(u|0)==0;do{if(r){if((h[r+12>>2]|0)!=(h[r+16>>2]|0))if(l){u=n;k=r;break}else{K=222;break i}T=0;u=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=22;break i}if((u|0)!=-1)if(l^(n|0)==0){u=n;k=n;break}else{K=222;break i}else{h[i>>2]=0;u=0;K=215;break}}else{u=n;K=215}}while(0);if((K|0)==215){K=0;if(l){K=222;break i}else k=0}l=h[e>>2]|0;r=h[l+12>>2]|0;if((r|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=22;break i}}else l=b[r>>0]|0;if((l&255)<<24>>24<=-1){K=222;break i}if(!(d[(h[x>>2]|0)+(l<<24>>24<<1)>>1]&2048)){K=222;break i}if((h[o>>2]|0)==(h[H>>2]|0)?(T=0,xe(12,s|0,o|0,H|0),y=T,T=0,y&1):0){K=22;break i}l=h[e>>2]|0;r=h[l+12>>2]|0;if((r|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=22;break i}}else l=b[r>>0]|0;r=h[o>>2]|0;h[o>>2]=r+1;c[r>>0]=l;l=w;w=w+-1|0;h[q>>2]=w;r=h[e>>2]|0;t=r+12|0;n=h[t>>2]|0;if((n|0)==(h[r+16>>2]|0)){T=0;ye(h[(h[r>>2]|0)+40>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=22;break i}}else h[t>>2]=n+1;if((l|0)<=1)break;else{n=u;r=k}}}}if((h[o>>2]|0)==(h[s>>2]|0)){K=233;break i}break}default:{}}}while(0);r:do{if((K|0)==42)while(1){K=0;l=h[e>>2]|0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=20;break i}if((l|0)==-1){h[e>>2]=0;l=0;break}else{l=h[e>>2]|0;break}}}else l=0}while(0);r=(l|0)==0;do{if(t){if((h[t+12>>2]|0)!=(h[t+16>>2]|0))if(r){n=u;break}else break r;T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){K=20;break i}if((l|0)!=-1)if(r^(u|0)==0){n=u;t=u;break}else break r;else{h[i>>2]=0;u=0;K=54;break}}else K=54}while(0);if((K|0)==54){K=0;if(r)break r;else{n=u;t=0}}u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=20;break i}}else u=b[l>>0]|0;if((u&255)<<24>>24<=-1)break r;if(!(d[(h[x>>2]|0)+(u<<24>>24<<1)>>1]&8192))break r;u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;K=T;T=0;if(K&1){K=20;break i}}else{h[l>>2]=r+1;u=b[r>>0]|0}T=0;ve(67,$|0,u&255|0);K=T;T=0;if(K&1){K=20;break i}else{u=n;K=42}}}while(0);E=E+1|0;if(E>>>0>=4){K=235;break}}i:switch(K|0){case 20:{l=Ze()|0;break e}case 21:{l=Ze()|0;break e}case 22:{l=Ze()|0;break e}case 23:{l=Ze()|0;break e}case 24:{l=Ze()|0;break e}case 40:{h[f>>2]=h[f>>2]|4;l=0;break}case 104:{h[f>>2]=h[f>>2]|4;l=0;break}case 143:{h[f>>2]=h[f>>2]|4;l=0;break}case 198:{h[f>>2]=h[f>>2]|4;l=0;break}case 222:{h[f>>2]=h[f>>2]|4;l=0;break}case 233:{h[f>>2]=h[f>>2]|4;l=0;break}case 235:{r:do{if(_){n=_+1|0;k=_+8|0;w=_+4|0;r=1;t:while(1){u=c[_>>0]|0;if(!(u&1))u=(u&255)>>>1;else u=h[w>>2]|0;if(r>>>0>=u>>>0)break r;u=h[e>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){K=19;break t}if((u|0)==-1){h[e>>2]=0;u=0;break}else{u=h[e>>2]|0;break}}}else u=0}while(0);l=(u|0)==0;u=h[i>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){K=19;break t}if((u|0)==-1){h[i>>2]=0;K=253;break}}if(!l){K=260;break t}}else K=253}while(0);if((K|0)==253?(K=0,l):0){K=260;break}u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){K=19;break}}else u=b[l>>0]|0;if(!(c[_>>0]&1))l=n;else l=h[k>>2]|0;if((u&255)<<24>>24!=(c[l+r>>0]|0)){K=260;break}u=r+1|0;l=h[e>>2]|0;r=l+12|0;t=h[r>>2]|0;if((t|0)==(h[l+16>>2]|0)){T=0;ye(h[(h[l>>2]|0)+40>>2]|0,l|0)|0;o=T;T=0;if(o&1){K=19;break}else{r=u;continue}}else{h[r>>2]=t+1;r=u;continue}}if((K|0)==19){l=Ze()|0;break e}else if((K|0)==260){h[f>>2]=h[f>>2]|4;l=0;break i}}}while(0);u=h[te>>2]|0;if((u|0)!=(m|0)?(h[W>>2]=0,nu(J,u,m,W),(h[W>>2]|0)!=0):0){h[f>>2]=h[f>>2]|4;l=0}else l=1;break}}qd($);qd(Z);qd(Q);qd(ee);qd(J);u=h[te>>2]|0;h[te>>2]=0;if((u|0)!=0?(T=0,pe(h[re>>2]|0,u|0),te=T,T=0,te&1):0){te=Ze(0)|0;Ki(te)}v=ie;return l|0}}while(0);qd($);qd(Z);qd(Q);qd(ee);qd(J);u=h[te>>2]|0;h[te>>2]=0;if((u|0)!=0?(T=0,pe(h[re>>2]|0,u|0),te=T,T=0,te&1):0){te=Ze(0)|0;Ki(te)}si(l|0);return 0}function iu(e){e=e|0;var i=0;i=Je(8)|0;T=0;ve(90,i|0,e|0);e=T;T=0;if(e&1){e=Ze()|0;We(i|0);si(e|0)}else Ei(i|0,616,80)}function ru(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;g=v;v=v+144|0;l=g+24|0;e=g+32|0;y=g+16|0;w=g+8|0;d=g+4|0;b=g+28|0;s=g;h[y>>2]=e;M=y+4|0;h[M>>2]=189;o=e+100|0;T=0;p=ye(68,n|0)|0;u=T;T=0;if(!(u&1)){h[d>>2]=p;T=0;u=Oe(37,d|0,44220)|0;e=T;T=0;e:do{if(!(e&1)?(c[b>>0]=0,_=h[r>>2]|0,h[s>>2]=_,k=h[n+4>>2]|0,m=_,T=0,h[l>>2]=h[s>>2],k=Ee(1,i|0,l|0,t|0,d|0,k|0,f|0,b|0,u|0,y|0,w|0,o|0)|0,n=T,T=0,!(n&1)):0){if(k){if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}if(c[b>>0]|0){T=0;e=Oe(h[(h[u>>2]|0)+28>>2]|0,u|0,45)|0;n=T;T=0;if(n&1)break;T=0;ve(67,a|0,e|0);n=T;T=0;if(n&1)break}T=0;s=Oe(h[(h[u>>2]|0)+28>>2]|0,u|0,48)|0;n=T;T=0;if(n&1)break;e=h[y>>2]|0;o=h[w>>2]|0;l=o+-1|0;i:do{if(e>>>0>>0)do{if((c[e>>0]|0)!=s<<24>>24)break i;e=e+1|0}while(e>>>0>>0)}while(0);T=0;Ae(32,a|0,e|0,o|0)|0;a=T;T=0;if(a&1)break}e=h[i>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1)break e;if((e|0)==-1){h[i>>2]=0;e=0;break}else{e=h[i>>2]|0;break}}}else e=0}while(0);l=(e|0)==0;do{if(_){if((h[m+12>>2]|0)==(h[m+16>>2]|0)){T=0;e=ye(h[(h[_>>2]|0)+36>>2]|0,m|0)|0;m=T;T=0;if(m&1)break e;if((e|0)==-1){h[r>>2]=0;A=29;break}}if(!l)A=30}else A=29}while(0);if((A|0)==29?l:0)A=30;if((A|0)==30)h[f>>2]=h[f>>2]|2;l=h[i>>2]|0;Ad(p)|0;e=h[y>>2]|0;h[y>>2]=0;if((e|0)!=0?(T=0,pe(h[M>>2]|0,e|0),M=T,T=0,M&1):0){M=Ze(0)|0;Ki(M)}v=g;return l|0}}while(0);l=Ze()|0;Ad(p)|0;e=h[y>>2]|0;h[y>>2]=0;if(!e)E=l;else A=36}else{l=Ze()|0;h[y>>2]=0;A=36}if((A|0)==36){T=0;pe(h[M>>2]|0,e|0);M=T;T=0;if(M&1){M=Ze(0)|0;Ki(M)}else E=l}si(E|0);return 0}function tu(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;A=v;v=v+112|0;u=A+100|0;d=A+88|0;b=A+76|0;k=A+64|0;w=A+52|0;_=A+48|0;m=A+36|0;p=A+24|0;g=A+12|0;y=A;do{if(e){e=Vu(i,43828)|0;wE[h[(h[e>>2]|0)+44>>2]&127](u,e);y=h[u>>2]|0;c[r>>0]=y;c[r+1>>0]=y>>8;c[r+2>>0]=y>>16;c[r+3>>0]=y>>24;wE[h[(h[e>>2]|0)+32>>2]&127](d,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[s>>2]=h[d>>2];h[s+4>>2]=h[d+4>>2];h[s+8>>2]=h[d+8>>2];h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;qd(d);wE[h[(h[e>>2]|0)+28>>2]&127](b,e);if(!(c[l>>0]&1)){c[l+1>>0]=0;c[l>>0]=0}else{c[h[l+8>>2]>>0]=0;h[l+4>>2]=0}T=0;ve(91,l|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[l>>2]=h[b>>2];h[l+4>>2]=h[b+4>>2];h[l+8>>2]=h[b+8>>2];h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;qd(b);l=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;c[t>>0]=l;l=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;c[n>>0]=l;wE[h[(h[e>>2]|0)+20>>2]&127](k,e);if(!(c[f>>0]&1)){c[f+1>>0]=0;c[f>>0]=0}else{c[h[f+8>>2]>>0]=0;h[f+4>>2]=0}T=0;ve(91,f|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}h[f>>2]=h[k>>2];h[f+4>>2]=h[k+4>>2];h[f+8>>2]=h[k+8>>2];h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;qd(k);wE[h[(h[e>>2]|0)+24>>2]&127](w,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else{h[a>>2]=h[w>>2];h[a+4>>2]=h[w+4>>2];h[a+8>>2]=h[w+8>>2];h[w>>2]=0;h[w+4>>2]=0;h[w+8>>2]=0;qd(w);E=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Vu(i,43764)|0;wE[h[(h[e>>2]|0)+44>>2]&127](_,e);_=h[_>>2]|0;c[r>>0]=_;c[r+1>>0]=_>>8;c[r+2>>0]=_>>16;c[r+3>>0]=_>>24;wE[h[(h[e>>2]|0)+32>>2]&127](m,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[s>>2]=h[m>>2];h[s+4>>2]=h[m+4>>2];h[s+8>>2]=h[m+8>>2];h[m>>2]=0;h[m+4>>2]=0;h[m+8>>2]=0;qd(m);wE[h[(h[e>>2]|0)+28>>2]&127](p,e);if(!(c[l>>0]&1)){c[l+1>>0]=0;c[l>>0]=0}else{c[h[l+8>>2]>>0]=0;h[l+4>>2]=0}T=0;ve(91,l|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[l>>2]=h[p>>2];h[l+4>>2]=h[p+4>>2];h[l+8>>2]=h[p+8>>2];h[p>>2]=0;h[p+4>>2]=0;h[p+8>>2]=0;qd(p);l=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;c[t>>0]=l;l=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;c[n>>0]=l;wE[h[(h[e>>2]|0)+20>>2]&127](g,e);if(!(c[f>>0]&1)){c[f+1>>0]=0;c[f>>0]=0}else{c[h[f+8>>2]>>0]=0;h[f+4>>2]=0}T=0;ve(91,f|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}h[f>>2]=h[g>>2];h[f+4>>2]=h[g+4>>2];h[f+8>>2]=h[g+8>>2];h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;qd(g);wE[h[(h[e>>2]|0)+24>>2]&127](y,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else{h[a>>2]=h[y>>2];h[a+4>>2]=h[y+4>>2];h[a+8>>2]=h[y+8>>2];h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;qd(y);E=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);h[o>>2]=E;v=A;return}function nu(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;n=c[e>>0]|0;a=e+4|0;f=h[a>>2]|0;e:do{if(((n&1)==0?(n&255)>>>1:f)|0){if((i|0)!=(r|0)){n=r+-4|0;if(n>>>0>i>>>0){f=i;do{l=h[f>>2]|0;h[f>>2]=h[n>>2];h[n>>2]=l;f=f+4|0;n=n+-4|0}while(f>>>0>>0)}n=c[e>>0]|0;f=h[a>>2]|0}l=(n&1)==0;a=l?e+1|0:h[e+8>>2]|0;r=r+-4|0;e=a+(l?(n&255)>>>1:f)|0;f=c[a>>0]|0;n=f<<24>>24<1|f<<24>>24==127;i:do{if(r>>>0>i>>>0){while(1){if(!n?(f<<24>>24|0)!=(h[i>>2]|0):0)break;a=(e-a|0)>1?a+1|0:a;i=i+4|0;f=c[a>>0]|0;n=f<<24>>24<1|f<<24>>24==127;if(i>>>0>=r>>>0)break i}h[t>>2]=4;break e}}while(0);if(!n?((h[r>>2]|0)+-1|0)>>>0>=f<<24>>24>>>0:0)h[t>>2]=4}}while(0);return}function fu(e){e=e|0;return}function au(e){e=e|0;zv(e);return}function lu(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;S=v;v=v+576|0;y=S+424|0;M=S;e=S+24|0;O=S+16|0;E=S+12|0;P=S+8|0;d=S+464|0;s=S+4|0;A=S+468|0;h[O>>2]=e;L=O+4|0;h[L>>2]=189;o=e+400|0;T=0;l=ye(68,n|0)|0;g=T;T=0;if(!(g&1)){h[P>>2]=l;T=0;e=Oe(37,P|0,44212)|0;g=T;T=0;e:do{if(!(g&1)?(c[d>>0]=0,h[s>>2]=h[r>>2],u=h[n+4>>2]|0,T=0,h[y>>2]=h[s>>2],u=Ee(2,i|0,y|0,t|0,P|0,u|0,f|0,d|0,e|0,O|0,E|0,o|0)|0,g=T,T=0,!(g&1)):0){i:do{if(u){T=0;De(h[(h[e>>2]|0)+48>>2]|0,e|0,59007,59017,y|0)|0;g=T;T=0;if(g&1){C=10;break e}s=h[E>>2]|0;o=h[O>>2]|0;e=s-o|0;if((e|0)>392){e=jc((e>>2)+2|0)|0;l=e;if(!e){T=0;Ie(6);g=T;T=0;if(!(g&1)){e=0;C=13}}else C=13}else{l=0;e=A;C=13}do{if((C|0)==13){if(c[d>>0]|0){c[e>>0]=45;e=e+1|0}p=y+40|0;g=y;if(o>>>0>>0){u=y+4|0;t=u+4|0;n=t+4|0;d=n+4|0;b=d+4|0;k=b+4|0;w=k+4|0;_=w+4|0;m=_+4|0;do{s=h[o>>2]|0;do{if((h[y>>2]|0)!=(s|0))if((h[u>>2]|0)!=(s|0))if((h[t>>2]|0)!=(s|0))if((h[n>>2]|0)!=(s|0))if((h[d>>2]|0)==(s|0))s=d;else{if((h[b>>2]|0)==(s|0)){s=b;break}if((h[k>>2]|0)==(s|0)){s=k;break}if((h[w>>2]|0)==(s|0)){s=w;break}if((h[_>>2]|0)==(s|0)){s=_;break}s=(h[m>>2]|0)==(s|0)?m:p}else s=n;else s=t;else s=u;else s=y}while(0);c[e>>0]=c[59007+(s-g>>2)>>0]|0;o=o+4|0;e=e+1|0}while(o>>>0<(h[E>>2]|0)>>>0)}c[e>>0]=0;h[M>>2]=a;if((Yy(A,58987,M)|0)!=1?(T=0,pe(190,58991),a=T,T=0,a&1):0)break;if(l)Hc(l);break i}}while(0);e=Ze()|0;if(!l){s=e;l=O;break e}Hc(l);s=e;l=O;break e}}while(0);e=h[i>>2]|0;do{if(e){l=h[e+12>>2]|0;if((l|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1){C=10;break e}}else e=h[l>>2]|0;if((e|0)==-1){h[i>>2]=0;s=1;break}else{s=(h[i>>2]|0)==0;break}}else s=1}while(0);e=h[r>>2]|0;do{if(e){l=h[e+12>>2]|0;if((l|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1){C=10;break e}}else e=h[l>>2]|0;if((e|0)!=-1)if(s)break;else{C=40;break}else{h[r>>2]=0;C=38;break}}else C=38}while(0);if((C|0)==38?s:0)C=40;if((C|0)==40)h[f>>2]=h[f>>2]|2;l=h[i>>2]|0;Ad(h[P>>2]|0)|0;e=h[O>>2]|0;h[O>>2]=0;if((e|0)!=0?(T=0,pe(h[L>>2]|0,e|0),C=T,T=0,C&1):0){C=Ze(0)|0;Ki(C)}v=S;return l|0}else C=10}while(0);if((C|0)==10){s=Ze()|0;l=O}Ad(h[P>>2]|0)|0;e=h[l>>2]|0;h[l>>2]=0;if(!e)R=s;else{l=h[L>>2]|0;C=47}}else{s=Ze()|0;h[O>>2]=0;l=189;C=47}if((C|0)==47){T=0;pe(l|0,e|0);C=T;T=0;if(C&1){C=Ze(0)|0;Ki(C)}else R=s}si(R|0);return 0}function su(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;var d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0;J=v;v=v+512|0;B=J+96|0;d=J+104|0;Q=J+88|0;j=J+80|0;U=J+76|0;H=J+504|0;N=J+72|0;Y=J+68|0;z=J+56|0;W=J+44|0;G=J+32|0;V=J+20|0;K=J+8|0;F=J+4|0;X=J;h[B>>2]=u;h[Q>>2]=d;Z=Q+4|0;h[Z>>2]=189;h[j>>2]=d;h[U>>2]=d+400;h[z>>2]=0;h[z+4>>2]=0;h[z+8>>2]=0;h[W>>2]=0;h[W+4>>2]=0;h[W+8>>2]=0;h[G>>2]=0;h[G+4>>2]=0;h[G+8>>2]=0;h[V>>2]=0;h[V+4>>2]=0;h[V+8>>2]=0;h[K>>2]=0;h[K+4>>2]=0;h[K+8>>2]=0;T=0;Pe(2,r|0,t|0,H|0,N|0,Y|0,z|0,W|0,G|0,V|0,F|0);I=T;T=0;e:do{if(I&1)r=Ze()|0;else{h[o>>2]=h[s>>2];C=G+4|0;D=V+4|0;x=V+8|0;I=G+8|0;A=(n&512|0)!=0;M=W+8|0;S=W+4|0;P=K+4|0;O=K+8|0;R=H+3|0;L=z+4|0;E=0;w=0;i:while(1){u=h[e>>2]|0;do{if(u){r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}}else u=h[r>>2]|0;if((u|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);r=h[i>>2]|0;do{if(r){u=h[r+12>>2]|0;if((u|0)==(h[r+16>>2]|0)){T=0;u=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=26;break i}}else u=h[u>>2]|0;if((u|0)!=-1)if(t){y=r;break}else{_=d;q=244;break i}else{h[i>>2]=0;q=16;break}}else q=16}while(0);if((q|0)==16){q=0;if(t){_=d;q=244;break}else y=0}r:do{switch(c[H+E>>0]|0){case 1:{if((E|0)!=3){u=h[e>>2]|0;r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;q=T;T=0;if(q&1){q=26;break i}}else u=h[r>>2]|0;T=0;u=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,8192,u|0)|0;q=T;T=0;if(q&1){q=26;break i}if(!u){q=42;break i}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;q=T;T=0;if(q&1){q=26;break i}}else{h[r>>2]=t+4;u=h[t>>2]|0}T=0;ve(92,K|0,u|0);q=T;T=0;if(q&1){q=26;break i}else{u=y;n=y;q=44}}else u=d;break}case 0:{if((E|0)==3)u=d;else{u=y;n=y;q=44}break}case 3:{r=c[G>>0]|0;u=(r&1)==0?(r&255)>>>1:h[C>>2]|0;t=c[V>>0]|0;n=(t&1)==0?(t&255)>>>1:h[D>>2]|0;if((u|0)==(0-n|0))u=d;else{if(!u){u=h[e>>2]|0;r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}r=c[V>>0]|0}else{u=h[r>>2]|0;r=t}if((u|0)!=(h[((r&1)==0?D:h[x>>2]|0)>>2]|0)){u=d;break r}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[r>>2]=t+4;c[a>>0]=1;y=c[V>>0]|0;u=d;w=((y&1)==0?(y&255)>>>1:h[D>>2]|0)>>>0>1?V:w;break r}k=h[e>>2]|0;_=h[k+12>>2]|0;t=h[k+16>>2]|0;u=(_|0)==(t|0);if(!n){if(u){T=0;u=ye(h[(h[k>>2]|0)+36>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=26;break i}r=c[G>>0]|0}else u=h[_>>2]|0;if((u|0)!=(h[((r&1)==0?C:h[I>>2]|0)>>2]|0)){c[a>>0]=1;u=d;break r}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[r>>2]=t+4;y=c[G>>0]|0;u=d;w=((y&1)==0?(y&255)>>>1:h[C>>2]|0)>>>0>1?G:w;break r}if(u){T=0;u=ye(h[(h[k>>2]|0)+36>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=26;break i}t=h[e>>2]|0;r=c[G>>0]|0;k=t;_=h[t+12>>2]|0;t=h[t+16>>2]|0}else u=h[_>>2]|0;n=k+12|0;t=(_|0)==(t|0);if((u|0)==(h[((r&1)==0?C:h[I>>2]|0)>>2]|0)){if(t){T=0;ye(h[(h[k>>2]|0)+40>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[n>>2]=_+4;y=c[G>>0]|0;u=d;w=((y&1)==0?(y&255)>>>1:h[C>>2]|0)>>>0>1?G:w;break r}if(t){T=0;u=ye(h[(h[k>>2]|0)+36>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=26;break i}}else u=h[_>>2]|0;if((u|0)!=(h[((c[V>>0]&1)==0?D:h[x>>2]|0)>>2]|0)){q=107;break i}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[r>>2]=t+4;c[a>>0]=1;y=c[V>>0]|0;u=d;w=((y&1)==0?(y&255)>>>1:h[D>>2]|0)>>>0>1?V:w}break}case 2:{if(!(E>>>0<2|(w|0)!=0)?!(A|(E|0)==2&(c[R>>0]|0)!=0):0){u=d;w=0;break r}n=c[W>>0]|0;t=h[M>>2]|0;r=(n&1)==0?S:t;u=r;t:do{if((E|0)!=0?(b[H+(E+-1)>>0]|0)<2:0){g=(n&1)==0;n:do{if((r|0)!=((g?S:t)+((g?(n&255)>>>1:h[S>>2]|0)<<2)|0)){n=r;while(1){T=0;r=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,8192,h[n>>2]|0)|0;g=T;T=0;if(g&1){q=23;break i}if(!r)break;n=n+4|0;u=n;r=c[W>>0]|0;t=h[M>>2]|0;g=(r&1)==0;if((n|0)==((g?S:t)+((g?(r&255)>>>1:h[S>>2]|0)<<2)|0)){n=r;break n}}n=c[W>>0]|0;t=h[M>>2]|0}}while(0);_=(n&1)==0?S:t;r=_;m=u-r>>2;p=c[K>>0]|0;k=(p&1)==0;p=k?(p&255)>>>1:h[P>>2]|0;if(p>>>0>=m>>>0){k=k?P:h[O>>2]|0;g=k+(p<<2)|0;if(!m)r=u;else{k=k+(p-m<<2)|0;while(1){if((h[k>>2]|0)!=(h[_>>2]|0))break t;k=k+4|0;if((k|0)==(g|0)){r=u;break}else _=_+4|0}}}}else r=u}while(0);u=(n&1)==0;u=(u?S:t)+((u?(n&255)>>>1:h[S>>2]|0)<<2)|0;t:do{if((r|0)!=(u|0)){k=y;n=y;u=r;while(1){r=h[e>>2]|0;do{if(r){t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=22;break i}}else r=h[t>>2]|0;if((r|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);do{if(n){r=h[n+12>>2]|0;if((r|0)==(h[n+16>>2]|0)){T=0;r=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=22;break i}}else r=h[r>>2]|0;if((r|0)!=-1)if(t^(k|0)==0){r=k;_=k;break}else break t;else{h[i>>2]=0;r=0;q=136;break}}else{r=k;q=136}}while(0);if((q|0)==136){q=0;if(t)break t;else _=0}t=h[e>>2]|0;n=h[t+12>>2]|0;if((n|0)==(h[t+16>>2]|0)){T=0;t=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=22;break i}}else t=h[n>>2]|0;if((t|0)!=(h[u>>2]|0))break t;t=h[e>>2]|0;n=t+12|0;k=h[n>>2]|0;if((k|0)==(h[t+16>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=22;break i}}else h[n>>2]=k+4;u=u+4|0;t=c[W>>0]|0;y=(t&1)==0;t=(y?S:h[M>>2]|0)+((y?(t&255)>>>1:h[S>>2]|0)<<2)|0;if((u|0)==(t|0)){u=t;break}else{k=r;n=_}}}}while(0);if(A?(y=c[W>>0]|0,g=(y&1)==0,(u|0)!=((g?S:h[M>>2]|0)+((g?(y&255)>>>1:h[S>>2]|0)<<2)|0)):0){q=148;break i}else u=d;break}case 4:{p=h[Y>>2]|0;m=y;k=y;u=d;r=0;t:while(1){t=h[e>>2]|0;do{if(t){n=h[t+12>>2]|0;if((n|0)==(h[t+16>>2]|0)){T=0;t=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=25;break i}}else t=h[n>>2]|0;if((t|0)==-1){h[e>>2]=0;n=1;break}else{n=(h[e>>2]|0)==0;break}}else n=1}while(0);do{if(k){t=h[k+12>>2]|0;if((t|0)==(h[k+16>>2]|0)){T=0;t=ye(h[(h[k>>2]|0)+36>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=25;break i}}else t=h[t>>2]|0;if((t|0)!=-1)if(n^(m|0)==0){t=m;_=m;break}else{d=m;break t}else{h[i>>2]=0;t=0;q=162;break}}else{t=m;q=162}}while(0);if((q|0)==162){q=0;if(n){d=t;break}else _=0}n=h[e>>2]|0;d=h[n+12>>2]|0;if((d|0)==(h[n+16>>2]|0)){T=0;n=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=25;break i}}else n=h[d>>2]|0;T=0;d=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,2048,n|0)|0;y=T;T=0;if(y&1){q=25;break i}if(d){d=h[o>>2]|0;if((d|0)==(h[B>>2]|0)){T=0;xe(14,s|0,o|0,B|0);y=T;T=0;if(y&1){q=25;break i}d=h[o>>2]|0}h[o>>2]=d+4;h[d>>2]=n;r=r+1|0}else{y=c[z>>0]|0;if(!((n|0)==(p|0)&((r|0)!=0?(((y&1)==0?(y&255)>>>1:h[L>>2]|0)|0)!=0:0))){d=t;break}if((u|0)==(h[U>>2]|0)){T=0;xe(13,Q|0,j|0,U|0);y=T;T=0;if(y&1){q=25;break i}u=h[j>>2]|0}y=u+4|0;h[j>>2]=y;h[u>>2]=r;u=y;r=0}n=h[e>>2]|0;d=n+12|0;k=h[d>>2]|0;if((k|0)==(h[n+16>>2]|0)){T=0;ye(h[(h[n>>2]|0)+40>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=25;break i}else{m=t;k=_;continue}}else{h[d>>2]=k+4;m=t;k=_;continue}}if((r|0)!=0?(h[Q>>2]|0)!=(u|0):0){if((u|0)==(h[U>>2]|0)){T=0;xe(13,Q|0,j|0,U|0);y=T;T=0;if(y&1){q=26;break i}u=h[j>>2]|0}y=u+4|0;h[j>>2]=y;h[u>>2]=r;u=y}_=h[F>>2]|0;if((_|0)>0){r=h[e>>2]|0;do{if(r){t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=26;break i}}else r=h[t>>2]|0;if((r|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);do{if(d){r=h[d+12>>2]|0;if((r|0)==(h[d+16>>2]|0)){T=0;r=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;y=T;T=0;if(y&1){q=26;break i}}else r=h[r>>2]|0;if((r|0)!=-1)if(t)break;else{q=206;break i}else{h[i>>2]=0;q=200;break}}else q=200}while(0);if((q|0)==200){q=0;if(t){q=206;break i}else d=0}r=h[e>>2]|0;t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=26;break i}}else r=h[t>>2]|0;if((r|0)!=(h[N>>2]|0)){q=206;break i}r=h[e>>2]|0;t=r+12|0;n=h[t>>2]|0;if((n|0)==(h[r+16>>2]|0)){T=0;ye(h[(h[r>>2]|0)+40>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[t>>2]=n+4;if((_|0)>0){k=d;n=d;m=_;while(1){r=h[e>>2]|0;do{if(r){t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=24;break i}}else r=h[t>>2]|0;if((r|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);do{if(n){r=h[n+12>>2]|0;if((r|0)==(h[n+16>>2]|0)){T=0;r=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=24;break i}}else r=h[r>>2]|0;if((r|0)!=-1)if(t^(k|0)==0){r=k;_=k;break}else{q=231;break i}else{h[i>>2]=0;r=0;q=224;break}}else{r=k;q=224}}while(0);if((q|0)==224){q=0;if(t){q=231;break i}else _=0}t=h[e>>2]|0;n=h[t+12>>2]|0;if((n|0)==(h[t+16>>2]|0)){T=0;t=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=24;break i}}else t=h[n>>2]|0;T=0;t=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,2048,t|0)|0;y=T;T=0;if(y&1){q=24;break i}if(!t){q=231;break i}if((h[o>>2]|0)==(h[B>>2]|0)?(T=0,xe(14,s|0,o|0,B|0),y=T,T=0,y&1):0){q=24;break i}t=h[e>>2]|0;n=h[t+12>>2]|0;if((n|0)==(h[t+16>>2]|0)){T=0;t=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=24;break i}}else t=h[n>>2]|0;n=h[o>>2]|0;h[o>>2]=n+4;h[n>>2]=t;t=m;m=m+-1|0;h[F>>2]=m;n=h[e>>2]|0;d=n+12|0;k=h[d>>2]|0;if((k|0)==(h[n+16>>2]|0)){T=0;ye(h[(h[n>>2]|0)+40>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=24;break i}}else h[d>>2]=k+4;if((t|0)<=1)break;else{k=r;n=_}}}}if((h[o>>2]|0)==(h[s>>2]|0)){q=242;break i}break}default:u=d}}while(0);r:do{if((q|0)==44)while(1){q=0;r=h[e>>2]|0;do{if(r){t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=21;break i}}else r=h[t>>2]|0;if((r|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);do{if(n){r=h[n+12>>2]|0;if((r|0)==(h[n+16>>2]|0)){T=0;r=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=21;break i}}else r=h[r>>2]|0;if((r|0)!=-1)if(t^(u|0)==0){k=u;n=u;break}else{u=d;break r}else{h[i>>2]=0;u=0;q=57;break}}else q=57}while(0);if((q|0)==57){q=0;if(t){u=d;break r}else{k=u;n=0}}u=h[e>>2]|0;r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=21;break i}}else u=h[r>>2]|0;T=0;u=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,8192,u|0)|0;y=T;T=0;if(y&1){q=21;break i}if(!u){u=d;break r}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;q=T;T=0;if(q&1){q=21;break i}}else{h[r>>2]=t+4;u=h[t>>2]|0}T=0;ve(92,K|0,u|0);q=T;T=0;if(q&1){q=21;break i}else{u=k;q=44}}}while(0);E=E+1|0;if(E>>>0>=4){_=u;q=244;break}else d=u}i:switch(q|0){case 21:{r=Ze()|0;break e}case 22:{r=Ze()|0;break e}case 23:{r=Ze()|0;break e}case 24:{r=Ze()|0;break e}case 25:{r=Ze()|0;break e}case 26:{r=Ze()|0;break e}case 42:{h[f>>2]=h[f>>2]|4;r=0;break}case 107:{h[f>>2]=h[f>>2]|4;r=0;break}case 148:{h[f>>2]=h[f>>2]|4;r=0;break}case 206:{h[f>>2]=h[f>>2]|4;r=0;break}case 231:{h[f>>2]=h[f>>2]|4;r=0;break}case 242:{h[f>>2]=h[f>>2]|4;r=0;break}case 244:{r:do{if(w){d=w+4|0;k=w+8|0;n=1;t:while(1){u=c[w>>0]|0;if(!(u&1))u=(u&255)>>>1;else u=h[d>>2]|0;if(n>>>0>=u>>>0)break r;u=h[e>>2]|0;do{if(u){r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){q=20;break t}}else u=h[r>>2]|0;if((u|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);u=h[i>>2]|0;do{if(u){r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){q=20;break t}}else u=h[r>>2]|0;if((u|0)!=-1)if(t)break;else{q=271;break t}else{h[i>>2]=0;q=263;break}}else q=263}while(0);if((q|0)==263?(q=0,t):0){q=271;break}u=h[e>>2]|0;r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){q=20;break}}else u=h[r>>2]|0;if(!(c[w>>0]&1))r=d;else r=h[k>>2]|0;if((u|0)!=(h[r+(n<<2)>>2]|0)){q=271;break}u=n+1|0;r=h[e>>2]|0;t=r+12|0;n=h[t>>2]|0;if((n|0)==(h[r+16>>2]|0)){T=0;ye(h[(h[r>>2]|0)+40>>2]|0,r|0)|0;o=T;T=0;if(o&1){q=20;break}else{n=u;continue}}else{h[t>>2]=n+4;n=u;continue}}if((q|0)==20){r=Ze()|0;break e}else if((q|0)==271){h[f>>2]=h[f>>2]|4;r=0;break i}}}while(0);u=h[Q>>2]|0;if((u|0)!=(_|0)?(h[X>>2]=0,nu(z,u,_,X),(h[X>>2]|0)!=0):0){h[f>>2]=h[f>>2]|4;r=0}else r=1;break}}th(K);th(V);th(G);th(W);qd(z);u=h[Q>>2]|0;h[Q>>2]=0;if((u|0)!=0?(T=0,pe(h[Z>>2]|0,u|0),Q=T,T=0,Q&1):0){Q=Ze(0)|0;Ki(Q)}v=J;return r|0}}while(0);th(K);th(V);th(G);th(W);qd(z);u=h[Q>>2]|0;h[Q>>2]=0;if((u|0)!=0?(T=0,pe(h[Z>>2]|0,u|0),Q=T,T=0,Q&1):0){Q=Ze(0)|0;Ki(Q)}si(r|0);return 0}function ou(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;g=v;v=v+432|0;l=g+424|0;e=g+24|0;E=g+16|0;w=g+8|0;d=g+4|0;b=g+428|0;s=g;h[E>>2]=e;M=E+4|0;h[M>>2]=189;o=e+400|0;T=0;p=ye(68,n|0)|0;u=T;T=0;if(!(u&1)){h[d>>2]=p;T=0;u=Oe(37,d|0,44212)|0;e=T;T=0;e:do{if(!(e&1)?(c[b>>0]=0,_=h[r>>2]|0,h[s>>2]=_,k=h[n+4>>2]|0,m=_,T=0,h[l>>2]=h[s>>2],k=Ee(2,i|0,l|0,t|0,d|0,k|0,f|0,b|0,u|0,E|0,w|0,o|0)|0,n=T,T=0,!(n&1)):0){if(k){if(!(c[a>>0]&1))c[a>>0]=0;else h[h[a+8>>2]>>2]=0;h[a+4>>2]=0;if(c[b>>0]|0){T=0;e=Oe(h[(h[u>>2]|0)+44>>2]|0,u|0,45)|0;n=T;T=0;if(n&1)break;T=0;ve(92,a|0,e|0);n=T;T=0;if(n&1)break}T=0;s=Oe(h[(h[u>>2]|0)+44>>2]|0,u|0,48)|0;n=T;T=0;if(n&1)break;e=h[E>>2]|0;o=h[w>>2]|0;l=o+-4|0;i:do{if(e>>>0>>0)do{if((h[e>>2]|0)!=(s|0))break i;e=e+4|0}while(e>>>0>>0)}while(0);T=0;Ae(33,a|0,e|0,o|0)|0;a=T;T=0;if(a&1)break}e=h[i>>2]|0;do{if(e){l=h[e+12>>2]|0;if((l|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1)break e}else e=h[l>>2]|0;if((e|0)==-1){h[i>>2]=0;l=1;break}else{l=(h[i>>2]|0)==0;break}}else l=1}while(0);do{if(_){e=h[m+12>>2]|0;if((e|0)==(h[m+16>>2]|0)){T=0;e=ye(h[(h[_>>2]|0)+36>>2]|0,m|0)|0;m=T;T=0;if(m&1)break e}else e=h[e>>2]|0;if((e|0)!=-1)if(l)break;else{A=32;break}else{h[r>>2]=0;A=30;break}}else A=30}while(0);if((A|0)==30?l:0)A=32;if((A|0)==32)h[f>>2]=h[f>>2]|2;l=h[i>>2]|0;Ad(p)|0;e=h[E>>2]|0;h[E>>2]=0;if((e|0)!=0?(T=0,pe(h[M>>2]|0,e|0),M=T,T=0,M&1):0){M=Ze(0)|0;Ki(M)}v=g;return l|0}}while(0);l=Ze()|0;Ad(p)|0;e=h[E>>2]|0;h[E>>2]=0;if(!e)y=l;else A=38}else{l=Ze()|0;h[E>>2]=0;A=38}if((A|0)==38){T=0;pe(h[M>>2]|0,e|0);M=T;T=0;if(M&1){M=Ze(0)|0;Ki(M)}else y=l}si(y|0);return 0}function uu(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;A=v;v=v+112|0;u=A+100|0;d=A+88|0;b=A+76|0;k=A+64|0;w=A+52|0;_=A+48|0;m=A+36|0;p=A+24|0;g=A+12|0;y=A;do{if(e){e=Vu(i,43956)|0;wE[h[(h[e>>2]|0)+44>>2]&127](u,e);y=h[u>>2]|0;c[r>>0]=y;c[r+1>>0]=y>>8;c[r+2>>0]=y>>16;c[r+3>>0]=y>>24;wE[h[(h[e>>2]|0)+32>>2]&127](d,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[s>>2]=h[d>>2];h[s+4>>2]=h[d+4>>2];h[s+8>>2]=h[d+8>>2];h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;th(d);wE[h[(h[e>>2]|0)+28>>2]&127](b,e);if(!(c[l>>0]&1))c[l>>0]=0;else h[h[l+8>>2]>>2]=0;h[l+4>>2]=0;T=0;ve(93,l|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[l>>2]=h[b>>2];h[l+4>>2]=h[b+4>>2];h[l+8>>2]=h[b+8>>2];h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;th(b);l=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;h[t>>2]=l;l=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;h[n>>2]=l;wE[h[(h[e>>2]|0)+20>>2]&127](k,e);if(!(c[f>>0]&1)){c[f+1>>0]=0;c[f>>0]=0}else{c[h[f+8>>2]>>0]=0;h[f+4>>2]=0}T=0;ve(91,f|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}h[f>>2]=h[k>>2];h[f+4>>2]=h[k+4>>2];h[f+8>>2]=h[k+8>>2];h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;qd(k);wE[h[(h[e>>2]|0)+24>>2]&127](w,e);if(!(c[a>>0]&1))c[a>>0]=0;else h[h[a+8>>2]>>2]=0;h[a+4>>2]=0;T=0;ve(93,a|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else{h[a>>2]=h[w>>2];h[a+4>>2]=h[w+4>>2];h[a+8>>2]=h[w+8>>2];h[w>>2]=0;h[w+4>>2]=0;h[w+8>>2]=0;th(w);E=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Vu(i,43892)|0;wE[h[(h[e>>2]|0)+44>>2]&127](_,e);_=h[_>>2]|0;c[r>>0]=_;c[r+1>>0]=_>>8;c[r+2>>0]=_>>16;c[r+3>>0]=_>>24;wE[h[(h[e>>2]|0)+32>>2]&127](m,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[s>>2]=h[m>>2];h[s+4>>2]=h[m+4>>2];h[s+8>>2]=h[m+8>>2];h[m>>2]=0;h[m+4>>2]=0;h[m+8>>2]=0;th(m);wE[h[(h[e>>2]|0)+28>>2]&127](p,e);if(!(c[l>>0]&1))c[l>>0]=0;else h[h[l+8>>2]>>2]=0;h[l+4>>2]=0;T=0;ve(93,l|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[l>>2]=h[p>>2];h[l+4>>2]=h[p+4>>2];h[l+8>>2]=h[p+8>>2];h[p>>2]=0;h[p+4>>2]=0;h[p+8>>2]=0;th(p);l=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;h[t>>2]=l;l=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;h[n>>2]=l;wE[h[(h[e>>2]|0)+20>>2]&127](g,e);if(!(c[f>>0]&1)){c[f+1>>0]=0;c[f>>0]=0}else{c[h[f+8>>2]>>0]=0;h[f+4>>2]=0}T=0;ve(91,f|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}h[f>>2]=h[g>>2];h[f+4>>2]=h[g+4>>2];h[f+8>>2]=h[g+8>>2];h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;qd(g);wE[h[(h[e>>2]|0)+24>>2]&127](y,e);if(!(c[a>>0]&1))c[a>>0]=0;else h[h[a+8>>2]>>2]=0;h[a+4>>2]=0;T=0;ve(93,a|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else{h[a>>2]=h[y>>2];h[a+4>>2]=h[y+4>>2];h[a+8>>2]=h[y+8>>2];h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;th(y);E=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);h[o>>2]=E;v=A;return}function cu(e){e=e|0;return}function du(e){e=e|0;zv(e);return}function hu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;O=v;v=v+384|0;p=O+8|0;a=O;s=O+284|0;o=O+72|0;l=O+184|0;L=O+68|0;M=O+80|0;y=O+77|0;S=O+76|0;C=O+56|0;x=O+44|0;D=O+32|0;u=O+28|0;_=O+84|0;A=O+24|0;E=O+20|0;g=O+16|0;h[o>>2]=s;m[p>>3]=f;s=Hy(s,100,59018,p)|0;do{if(s>>>0>99){T=0;e=Ce(3)|0;P=T;T=0;if(!(P&1)?(T=0,m[a>>3]=f,k=De(17,o|0,e|0,59018,a|0)|0,P=T,T=0,!(P&1)):0){e=h[o>>2]|0;if(!e){T=0;Ie(6);P=T;T=0;if(P&1){e=0;a=0;P=7;break}e=h[o>>2]|0}l=jc(k)|0;a=l;if(!l){T=0;Ie(6);P=T;T=0;if(P&1)P=7;else{w=0;P=10}}else{w=l;P=10}}else{e=0;a=0;P=7}}else{a=0;e=0;w=l;k=s;P=10}}while(0);if((P|0)==10){T=0;l=ye(68,t|0)|0;b=T;T=0;if(b&1)P=7;else{h[L>>2]=l;T=0;b=Oe(37,L|0,44220)|0;d=T;T=0;if(!(d&1)?(d=h[o>>2]|0,T=0,De(h[(h[b>>2]|0)+32>>2]|0,b|0,d|0,d+k|0,w|0)|0,d=T,T=0,!(d&1)):0){if(!k)d=0;else d=(c[h[o>>2]>>0]|0)==45;h[C>>2]=0;h[C+4>>2]=0;h[C+8>>2]=0;h[x>>2]=0;h[x+4>>2]=0;h[x+8>>2]=0;h[D>>2]=0;h[D+4>>2]=0;h[D+8>>2]=0;T=0;Pe(3,r|0,d|0,L|0,M|0,y|0,S|0,C|0,x|0,D|0,u|0);r=T;T=0;if(!(r&1)){u=h[u>>2]|0;if((k|0)>(u|0)){r=c[D>>0]|0;s=c[x>>0]|0;s=(k-u<<1|1)+u+((r&1)==0?(r&255)>>>1:h[D+4>>2]|0)+((s&1)==0?(s&255)>>>1:h[x+4>>2]|0)|0}else{r=c[D>>0]|0;s=c[x>>0]|0;s=u+2+((r&1)==0?(r&255)>>>1:h[D+4>>2]|0)+((s&1)==0?(s&255)>>>1:h[x+4>>2]|0)|0}if(s>>>0>100){s=jc(s)|0;o=s;if(!s){T=0;Ie(6);_=T;T=0;if(!(_&1)){s=0;P=26}}else P=26}else{o=0;s=_;P=26}if((P|0)==26){T=0;Me(1,s|0,A|0,E|0,h[t+4>>2]|0,w|0,w+k|0,b|0,d|0,M|0,c[y>>0]|0,c[S>>0]|0,C|0,x|0,D|0,u|0);S=T;T=0;if(!(S&1)?(h[g>>2]=h[i>>2],i=h[A>>2]|0,R=h[E>>2]|0,T=0,h[p>>2]=h[g>>2],R=ge(39,p|0,s|0,i|0,R|0,t|0,n|0)|0,i=T,T=0,!(i&1)):0){if(o){Hc(o);l=h[L>>2]|0}qd(D);qd(x);qd(C);Ad(l)|0;if(a)Hc(a);if(e)Hc(e);v=O;return R|0}}s=Ze()|0;if(o){Hc(o);l=h[L>>2]|0}}else s=Ze()|0;qd(D);qd(x);qd(C)}else s=Ze()|0;Ad(l)|0}}if((P|0)==7)s=Ze()|0;if(a)Hc(a);if(e)Hc(e);si(s|0);return 0}function bu(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;O=v;v=v+112|0;b=O+108|0;k=O+96|0;m=O+92|0;p=O+80|0;g=O+68|0;y=O+56|0;E=O+52|0;A=O+40|0;M=O+36|0;S=O+24|0;w=O+12|0;_=O;do{if(e){e=Vu(r,43828)|0;r=h[e>>2]|0;do{if(i){wE[h[r+44>>2]&127](b,e);i=h[b>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+32>>2]&127](k,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[k>>2];h[s+4>>2]=h[k+4>>2];h[s+8>>2]=h[k+8>>2];h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;qd(k);d=e;break}}else{wE[h[r+40>>2]&127](m,e);i=h[m>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+28>>2]&127](p,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[p>>2];h[s+4>>2]=h[p+4>>2];h[s+8>>2]=h[p+8>>2];h[p>>2]=0;h[p+4>>2]=0;h[p+8>>2]=0;qd(p);d=e;break}}}while(0);s=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;c[n>>0]=s;s=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;c[f>>0]=s;wE[h[(h[d>>2]|0)+20>>2]&127](g,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}h[a>>2]=h[g>>2];h[a+4>>2]=h[g+4>>2];h[a+8>>2]=h[g+8>>2];h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;qd(g);wE[h[(h[d>>2]|0)+24>>2]&127](y,e);if(!(c[l>>0]&1)){c[l+1>>0]=0;c[l>>0]=0}else{c[h[l+8>>2]>>0]=0;h[l+4>>2]=0}T=0;ve(91,l|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}else{h[l>>2]=h[y>>2];h[l+4>>2]=h[y+4>>2];h[l+8>>2]=h[y+8>>2];h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;qd(y);P=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Vu(r,43764)|0;r=h[e>>2]|0;do{if(i){wE[h[r+44>>2]&127](E,e);i=h[E>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+32>>2]&127](A,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[A>>2];h[s+4>>2]=h[A+4>>2];h[s+8>>2]=h[A+8>>2];h[A>>2]=0;h[A+4>>2]=0;h[A+8>>2]=0;qd(A);u=e;break}}else{wE[h[r+40>>2]&127](M,e);i=h[M>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+28>>2]&127](S,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[S>>2];h[s+4>>2]=h[S+4>>2];h[s+8>>2]=h[S+8>>2];h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;qd(S);u=e;break}}}while(0);s=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;c[n>>0]=s;s=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;c[f>>0]=s;wE[h[(h[u>>2]|0)+20>>2]&127](w,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}h[a>>2]=h[w>>2];h[a+4>>2]=h[w+4>>2];h[a+8>>2]=h[w+8>>2];h[w>>2]=0;h[w+4>>2]=0;h[w+8>>2]=0;qd(w);wE[h[(h[u>>2]|0)+24>>2]&127](_,e);if(!(c[l>>0]&1)){c[l+1>>0]=0;c[l>>0]=0}else{c[h[l+8>>2]>>0]=0;h[l+4>>2]=0}T=0;ve(91,l|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}else{h[l>>2]=h[_>>2];h[l+4>>2]=h[_+4>>2];h[l+8>>2]=h[_+8>>2];h[_>>2]=0;h[_+4>>2]=0;h[_+8>>2]=0;qd(_);P=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);h[o>>2]=P;v=O;return}function ku(e,i,r,t,n,f,a,l,s,o,u,b,k,w,_){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;b=b|0;k=k|0;w=w|0;_=_|0;var m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0;h[r>>2]=e;U=w+4|0;j=w+8|0;H=w+1|0;D=k+4|0;x=(t&512|0)==0;I=k+8|0;B=k+1|0;N=a+8|0;F=(_|0)>0;T=b+4|0;S=b+8|0;P=b+1|0;O=_+1|0;L=-2-_-((_|0)<0?~_:-1)|0;C=(_|0)>0;M=0;do{switch(c[s+M>>0]|0){case 0:{h[i>>2]=h[r>>2];break}case 1:{h[i>>2]=h[r>>2];E=ME[h[(h[a>>2]|0)+28>>2]&63](a,32)|0;A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=E;break}case 3:{A=c[w>>0]|0;m=(A&1)==0;if((m?(A&255)>>>1:h[U>>2]|0)|0){E=c[(m?H:h[j>>2]|0)>>0]|0;A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=E}break}case 2:{v=c[k>>0]|0;m=(v&1)==0;v=m?(v&255)>>>1:h[D>>2]|0;if(!(x|(v|0)==0)){p=m?B:h[I>>2]|0;g=p+v|0;m=h[r>>2]|0;if(v)do{c[m>>0]=c[p>>0]|0;p=p+1|0;m=m+1|0}while((p|0)!=(g|0));h[r>>2]=m}break}case 4:{m=h[r>>2]|0;n=l?n+1|0:n;y=n;g=h[N>>2]|0;e:do{if(n>>>0>>0){p=n;do{v=c[p>>0]|0;if(v<<24>>24<=-1)break e;if(!(d[g+(v<<24>>24<<1)>>1]&2048))break e;p=p+1|0}while(p>>>0>>0)}else p=n}while(0);v=p;if(F){E=-2-v-~(v>>>0>y>>>0?y:v)|0;E=L>>>0>E>>>0?L:E;if(p>>>0>n>>>0&C){v=p;y=_;while(1){v=v+-1|0;A=c[v>>0]|0;g=h[r>>2]|0;h[r>>2]=g+1;c[g>>0]=A;g=(y|0)>1;if(!(v>>>0>n>>>0&g))break;else y=y+-1|0}}else g=C;A=O+E|0;v=p+(E+1)|0;if(g)y=ME[h[(h[a>>2]|0)+28>>2]&63](a,48)|0;else y=0;p=h[r>>2]|0;h[r>>2]=p+1;if((A|0)>0){g=A;while(1){c[p>>0]=y;p=h[r>>2]|0;h[r>>2]=p+1;if((g|0)>1)g=g+-1|0;else break}}c[p>>0]=o}else v=p;if((v|0)!=(n|0)){A=c[b>>0]|0;p=(A&1)==0;if(!((p?(A&255)>>>1:h[T>>2]|0)|0))p=-1;else p=c[(p?P:h[S>>2]|0)>>0]|0;if((v|0)!=(n|0)){g=0;y=0;while(1){if((y|0)==(p|0)){A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=u;g=g+1|0;A=c[b>>0]|0;p=(A&1)==0;if(g>>>0<(p?(A&255)>>>1:h[T>>2]|0)>>>0){p=c[(p?P:h[S>>2]|0)+g>>0]|0;p=p<<24>>24==127?-1:p<<24>>24;y=0}else{p=y;y=0}}v=v+-1|0;E=c[v>>0]|0;A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=E;if((v|0)==(n|0))break;else y=y+1|0}}}else{E=ME[h[(h[a>>2]|0)+28>>2]&63](a,48)|0;A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=E}p=h[r>>2]|0;if((m|0)!=(p|0)?(R=p+-1|0,m>>>0>>0):0){p=R;do{A=c[m>>0]|0;c[m>>0]=c[p>>0]|0;c[p>>0]=A;m=m+1|0;p=p+-1|0}while(m>>>0

>>0){s=l;while(1){l=Fc(h[s>>2]|0,0,q)|0;if(l>>>0>re>>>0)do{l=l+-1|0;c[l>>0]=48}while(l>>>0>re>>>0);if(!(h[e>>2]&32))Fy(l,(a|0)>9?9:a,e)|0;s=s+4|0;l=a+-9|0;if(!((a|0)>9&s>>>0

>>0)){a=l;break}else a=l}}Uc(e,48,a+9|0,9,0)}else{w=M?P:g+4|0;if((a|0)>-1){k=(s|0)==0;u=g;do{l=Fc(h[u>>2]|0,0,q)|0;if((l|0)==(q|0)){c[z>>0]=48;l=z}do{if((u|0)==(g|0)){s=l+1|0;if(!(h[e>>2]&32))Fy(l,1,e)|0;if(k&(a|0)<1){l=s;break}if(h[e>>2]&32){l=s;break}Fy(56755,1,e)|0;l=s}else{if(l>>>0<=re>>>0)break;do{l=l+-1|0;c[l>>0]=48}while(l>>>0>re>>>0)}}while(0);s=X-l|0;if(!(h[e>>2]&32))Fy(l,(a|0)>(s|0)?s:a,e)|0;a=a-s|0;u=u+4|0}while(u>>>0>>0&(a|0)>-1)}Uc(e,48,a+18|0,18,0);if(h[e>>2]&32)break;Fy(_,Q-_|0,e)|0}}while(0);Uc(e,32,I,A,D^8192);a=(A|0)<(I|0)?I:A}else{w=(_&32|0)!=0;k=o!=o|0.0!=0.0;l=k?0:L;u=l+3|0;Uc(e,32,I,u,s);a=h[e>>2]|0;if(!(a&32)){Fy(C,l,e)|0;a=h[e>>2]|0}if(!(a&32))Fy(k?w?56747:56751:w?56739:56743,3,e)|0;Uc(e,32,I,u,D^8192);a=(u|0)<(I|0)?I:u}}while(0);g=x;continue e}default:{s=D;l=u;w=0;_=56703;a=F}}}while(0);i:do{if((B|0)==64){s=ee;l=h[s>>2]|0;s=h[s+4>>2]|0;k=_&32;if(!((l|0)==0&(s|0)==0)){a=F;do{a=a+-1|0;c[a>>0]=b[56687+(l&15)>>0]|k;l=xm(l|0,s|0,4)|0;s=H}while(!((l|0)==0&(s|0)==0));B=ee;if((w&8|0)==0|(h[B>>2]|0)==0&(h[B+4>>2]|0)==0){l=w;w=0;k=56703;B=77}else{l=w;w=2;k=56703+(_>>4)|0;B=77}}else{a=F;l=w;w=0;k=56703;B=77}}else if((B|0)==76){a=Fc(a,l,F)|0;l=D;w=s;B=77}else if((B|0)==82){B=0;D=Qy(a,0,u)|0;C=(D|0)==0;g=a;l=C?u:D-a|0;w=0;_=56703;a=C?a+u|0:D}else if((B|0)==86){B=0;l=0;a=0;k=h[ee>>2]|0;while(1){s=h[k>>2]|0;if(!s)break;a=Ey(ne,s)|0;if((a|0)<0|a>>>0>(u-l|0)>>>0)break;l=a+l|0;if(u>>>0>l>>>0)k=k+4|0;else break}if((a|0)<0){f=-1;break e}Uc(e,32,I,l,D);if(!l){a=0;B=98}else{s=0;u=h[ee>>2]|0;while(1){a=h[u>>2]|0;if(!a){a=l;B=98;break i}a=Ey(ne,a)|0;s=a+s|0;if((s|0)>(l|0)){a=l;B=98;break i}if(!(h[e>>2]&32))Fy(ne,a,e)|0;if(s>>>0>=l>>>0){a=l;B=98;break}else u=u+4|0}}}}while(0);if((B|0)==98){B=0;Uc(e,32,I,a,D^8192);g=x;a=(I|0)>(a|0)?I:a;continue}if((B|0)==77){B=0;s=(u|0)>-1?l&-65537:l;l=ee;l=(h[l>>2]|0)!=0|(h[l+4>>2]|0)!=0;if((u|0)!=0|l){l=(l&1^1)+(V-a)|0;g=a;l=(u|0)>(l|0)?u:l;_=k;a=F}else{g=F;l=0;_=k;a=F}}k=a-g|0;l=(l|0)<(k|0)?k:l;u=w+l|0;a=(I|0)<(u|0)?u:I;Uc(e,32,a,u,s);if(!(h[e>>2]&32))Fy(_,w,e)|0;Uc(e,48,a,u,s^65536);Uc(e,48,l,k,0);if(!(h[e>>2]&32))Fy(g,k,e)|0;Uc(e,32,a,u,s^8192);g=x}e:do{if((B|0)==245)if(!e)if(i){f=1;while(1){i=h[n+(f<<2)>>2]|0;if(!i)break;Nc(t+(f<<3)|0,i,r);f=f+1|0;if((f|0)>=10){f=1;break e}}if((f|0)<10)while(1){if(h[n+(f<<2)>>2]|0){f=-1;break e}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}else f=0}while(0);v=ae;return f|0}function Dc(e,i,r){e=e|0;i=i|0;r=r|0;return Cy(e,i,r)|0}function xc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0;l=v;v=v+112|0;a=l;n=a;f=n+112|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(f|0));n=a+4|0;h[n>>2]=e;f=a+8|0;h[f>>2]=-1;h[a+44>>2]=e;h[a+76>>2]=-1;Wg(a,0);t=+Gg(a,r,1);r=(h[n>>2]|0)-(h[f>>2]|0)+(h[a+108>>2]|0)|0;if(i)h[i>>2]=(r|0)!=0?e+r|0:e;v=l;return+t}function Ic(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0;s=v;v=v+112|0;l=s;h[l>>2]=0;f=l+4|0;h[f>>2]=e;h[l+44>>2]=e;a=l+8|0;h[a>>2]=(e|0)<0?-1:e+2147483647|0;h[l+76>>2]=-1;Wg(l,0);t=Kg(l,r,1,t,n)|0;if(i)h[i>>2]=e+((h[f>>2]|0)+(h[l+108>>2]|0)-(h[a>>2]|0));v=s;return t|0}function Bc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=e+20|0;n=h[t>>2]|0;e=(h[e+16>>2]|0)-n|0;e=e>>>0>r>>>0?r:e;Im(n|0,i|0,e|0)|0;h[t>>2]=(h[t>>2]|0)+e;return r|0}function Nc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0.0;e:do{if(i>>>0<=20)do{switch(i|0){case 9:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;h[e>>2]=i;break e}case 10:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;t=e;h[t>>2]=i;h[t+4>>2]=((i|0)<0)<<31>>31;break e}case 11:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;t=e;h[t>>2]=i;h[t+4>>2]=0;break e}case 12:{t=(h[r>>2]|0)+(8-1)&~(8-1);i=t;n=h[i>>2]|0;i=h[i+4>>2]|0;h[r>>2]=t+8;t=e;h[t>>2]=n;h[t+4>>2]=i;break e}case 13:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;t=(t&65535)<<16>>16;n=e;h[n>>2]=t;h[n+4>>2]=((t|0)<0)<<31>>31;break e}case 14:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;n=e;h[n>>2]=t&65535;h[n+4>>2]=0;break e}case 15:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;t=(t&255)<<24>>24;n=e;h[n>>2]=t;h[n+4>>2]=((t|0)<0)<<31>>31;break e}case 16:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;n=e;h[n>>2]=t&255;h[n+4>>2]=0;break e}case 17:{n=(h[r>>2]|0)+(8-1)&~(8-1);f=+m[n>>3];h[r>>2]=n+8;m[e>>3]=f;break e}case 18:{n=(h[r>>2]|0)+(8-1)&~(8-1);f=+m[n>>3];h[r>>2]=n+8;m[e>>3]=f;break e}default:break e}}while(0)}while(0);return}function Fc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(i>>>0>0|(i|0)==0&e>>>0>4294967295)while(1){t=zm(e|0,i|0,10,0)|0;r=r+-1|0;c[r>>0]=t|48;t=Xm(e|0,i|0,10,0)|0;if(i>>>0>9|(i|0)==9&e>>>0>4294967295){e=t;i=H}else{e=t;break}}if(e)while(1){r=r+-1|0;c[r>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return r|0}function Uc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=v;v=v+256|0;a=l;do{if((r|0)>(t|0)&(n&73728|0)==0){n=r-t|0;Cm(a|0,i|0,(n>>>0>256?256:n)|0)|0;i=h[e>>2]|0;f=(i&32|0)==0;if(n>>>0>255){t=r-t|0;do{if(f){Fy(a,256,e)|0;i=h[e>>2]|0}n=n+-256|0;f=(i&32|0)==0}while(n>>>0>255);if(f)n=t&255;else break}else if(!f)break;Fy(a,n,e)|0}}while(0);v=l;return}function jc(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0;do{if(e>>>0<245){b=e>>>0<11?16:e+11&-8;e=b>>>3;l=h[10218]|0;r=l>>>e;if(r&3){e=(r&1^1)+e|0;t=e<<1;r=40912+(t<<2)|0;t=40912+(t+2<<2)|0;n=h[t>>2]|0;f=n+8|0;a=h[f>>2]|0;do{if((r|0)!=(a|0)){if(a>>>0<(h[10222]|0)>>>0)Xe();i=a+12|0;if((h[i>>2]|0)==(n|0)){h[i>>2]=r;h[t>>2]=a;break}else Xe()}else h[10218]=l&~(1<>2]=F|3;F=n+(F|4)|0;h[F>>2]=h[F>>2]|1;F=f;return F|0}a=h[10220]|0;if(b>>>0>a>>>0){if(r){t=2<>>12&16;t=t>>>s;n=t>>>5&8;t=t>>>n;f=t>>>2&4;t=t>>>f;r=t>>>1&2;t=t>>>r;e=t>>>1&1;e=(n|s|f|r|e)+(t>>>e)|0;t=e<<1;r=40912+(t<<2)|0;t=40912+(t+2<<2)|0;f=h[t>>2]|0;s=f+8|0;n=h[s>>2]|0;do{if((r|0)!=(n|0)){if(n>>>0<(h[10222]|0)>>>0)Xe();i=n+12|0;if((h[i>>2]|0)==(f|0)){h[i>>2]=r;h[t>>2]=n;o=h[10220]|0;break}else Xe()}else{h[10218]=l&~(1<>2]=b|3;l=f+b|0;h[f+(b|4)>>2]=a|1;h[f+F>>2]=a;if(o){n=h[10223]|0;r=o>>>3;i=r<<1;t=40912+(i<<2)|0;e=h[10218]|0;r=1<>2]|0;if(i>>>0<(h[10222]|0)>>>0)Xe();else{u=e;c=i}}else{h[10218]=e|r;u=40912+(i+2<<2)|0;c=t}h[u>>2]=n;h[c+12>>2]=n;h[n+8>>2]=c;h[n+12>>2]=t}h[10220]=a;h[10223]=l;F=s;return F|0}e=h[10219]|0;if(e){r=(e&0-e)+-1|0;N=r>>>12&16;r=r>>>N;B=r>>>5&8;r=r>>>B;F=r>>>2&4;r=r>>>F;e=r>>>1&2;r=r>>>e;t=r>>>1&1;t=h[41176+((B|N|F|e|t)+(r>>>t)<<2)>>2]|0;r=(h[t+4>>2]&-8)-b|0;e=t;while(1){i=h[e+16>>2]|0;if(!i){i=h[e+20>>2]|0;if(!i){s=r;break}}e=(h[i+4>>2]&-8)-b|0;F=e>>>0>>0;r=F?e:r;e=i;t=F?i:t}f=h[10222]|0;if(t>>>0>>0)Xe();l=t+b|0;if(t>>>0>=l>>>0)Xe();a=h[t+24>>2]|0;r=h[t+12>>2]|0;do{if((r|0)==(t|0)){e=t+20|0;i=h[e>>2]|0;if(!i){e=t+16|0;i=h[e>>2]|0;if(!i){d=0;break}}while(1){r=i+20|0;n=h[r>>2]|0;if(n){i=n;e=r;continue}r=i+16|0;n=h[r>>2]|0;if(!n)break;else{i=n;e=r}}if(e>>>0>>0)Xe();else{h[e>>2]=0;d=i;break}}else{n=h[t+8>>2]|0;if(n>>>0>>0)Xe();i=n+12|0;if((h[i>>2]|0)!=(t|0))Xe();e=r+8|0;if((h[e>>2]|0)==(t|0)){h[i>>2]=r;h[e>>2]=n;d=r;break}else Xe()}}while(0);do{if(a){i=h[t+28>>2]|0;e=41176+(i<<2)|0;if((t|0)==(h[e>>2]|0)){h[e>>2]=d;if(!d){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();i=a+16|0;if((h[i>>2]|0)==(t|0))h[i>>2]=d;else h[a+20>>2]=d;if(!d)break}e=h[10222]|0;if(d>>>0>>0)Xe();h[d+24>>2]=a;i=h[t+16>>2]|0;do{if(i)if(i>>>0>>0)Xe();else{h[d+16>>2]=i;h[i+24>>2]=d;break}}while(0);i=h[t+20>>2]|0;if(i)if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[d+20>>2]=i;h[i+24>>2]=d;break}}}while(0);if(s>>>0<16){F=s+b|0;h[t+4>>2]=F|3;F=t+(F+4)|0;h[F>>2]=h[F>>2]|1}else{h[t+4>>2]=b|3;h[t+(b|4)>>2]=s|1;h[t+(s+b)>>2]=s;i=h[10220]|0;if(i){f=h[10223]|0;r=i>>>3;i=r<<1;n=40912+(i<<2)|0;e=h[10218]|0;r=1<>2]|0;if(e>>>0<(h[10222]|0)>>>0)Xe();else{k=i;w=e}}else{h[10218]=e|r;k=40912+(i+2<<2)|0;w=n}h[k>>2]=f;h[w+12>>2]=f;h[f+8>>2]=w;h[f+12>>2]=n}h[10220]=s;h[10223]=l}F=t+8|0;return F|0}else w=b}else w=b}else if(e>>>0<=4294967231){e=e+11|0;c=e&-8;u=h[10219]|0;if(u){r=0-c|0;e=e>>>8;if(e)if(c>>>0>16777215)o=31;else{w=(e+1048320|0)>>>16&8;g=e<>>16&4;g=g<>>16&2;o=14-(k|w|o)+(g<>>15)|0;o=c>>>(o+7|0)&1|o<<1}else o=0;e=h[41176+(o<<2)>>2]|0;e:do{if(!e){n=0;e=0;g=86}else{a=r;n=0;l=c<<((o|0)==31?0:25-(o>>>1)|0);s=e;e=0;while(1){f=h[s+4>>2]&-8;r=f-c|0;if(r>>>0>>0)if((f|0)==(c|0)){f=s;e=s;g=90;break e}else e=s;else r=a;g=h[s+20>>2]|0;s=h[s+16+(l>>>31<<2)>>2]|0;n=(g|0)==0|(g|0)==(s|0)?n:g;if(!s){g=86;break}else{a=r;l=l<<1}}}}while(0);if((g|0)==86){if((n|0)==0&(e|0)==0){e=2<>>12&16;e=e>>>d;u=e>>>5&8;e=e>>>u;k=e>>>2&4;e=e>>>k;w=e>>>1&2;e=e>>>w;n=e>>>1&1;n=h[41176+((u|d|k|w|n)+(e>>>n)<<2)>>2]|0;e=0}if(!n){l=r;s=e}else{f=n;g=90}}if((g|0)==90)while(1){g=0;w=(h[f+4>>2]&-8)-c|0;n=w>>>0>>0;r=n?w:r;e=n?f:e;n=h[f+16>>2]|0;if(n){f=n;g=90;continue}f=h[f+20>>2]|0;if(!f){l=r;s=e;break}else g=90}if((s|0)!=0?l>>>0<((h[10220]|0)-c|0)>>>0:0){n=h[10222]|0;if(s>>>0>>0)Xe();a=s+c|0;if(s>>>0>=a>>>0)Xe();f=h[s+24>>2]|0;r=h[s+12>>2]|0;do{if((r|0)==(s|0)){e=s+20|0;i=h[e>>2]|0;if(!i){e=s+16|0;i=h[e>>2]|0;if(!i){b=0;break}}while(1){r=i+20|0;t=h[r>>2]|0;if(t){i=t;e=r;continue}r=i+16|0;t=h[r>>2]|0;if(!t)break;else{i=t;e=r}}if(e>>>0>>0)Xe();else{h[e>>2]=0;b=i;break}}else{t=h[s+8>>2]|0;if(t>>>0>>0)Xe();i=t+12|0;if((h[i>>2]|0)!=(s|0))Xe();e=r+8|0;if((h[e>>2]|0)==(s|0)){h[i>>2]=r;h[e>>2]=t;b=r;break}else Xe()}}while(0);do{if(f){i=h[s+28>>2]|0;e=41176+(i<<2)|0;if((s|0)==(h[e>>2]|0)){h[e>>2]=b;if(!b){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();i=f+16|0;if((h[i>>2]|0)==(s|0))h[i>>2]=b;else h[f+20>>2]=b;if(!b)break}e=h[10222]|0;if(b>>>0>>0)Xe();h[b+24>>2]=f;i=h[s+16>>2]|0;do{if(i)if(i>>>0>>0)Xe();else{h[b+16>>2]=i;h[i+24>>2]=b;break}}while(0);i=h[s+20>>2]|0;if(i)if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[b+20>>2]=i;h[i+24>>2]=b;break}}}while(0);e:do{if(l>>>0>=16){h[s+4>>2]=c|3;h[s+(c|4)>>2]=l|1;h[s+(l+c)>>2]=l;i=l>>>3;if(l>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=h[10218]|0;i=1<>2]|0;if(e>>>0<(h[10222]|0)>>>0)Xe();else{m=i;p=e}}else{h[10218]=r|i;m=40912+(e+2<<2)|0;p=t}h[m>>2]=a;h[p+12>>2]=a;h[s+(c+8)>>2]=p;h[s+(c+12)>>2]=t;break}i=l>>>8;if(i)if(l>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<>>16&4;F=F<>>16&2;t=14-(B|N|t)+(F<>>15)|0;t=l>>>(t+7|0)&1|t<<1}else t=0;i=41176+(t<<2)|0;h[s+(c+28)>>2]=t;h[s+(c+20)>>2]=0;h[s+(c+16)>>2]=0;e=h[10219]|0;r=1<>2]=a;h[s+(c+24)>>2]=i;h[s+(c+12)>>2]=a;h[s+(c+8)>>2]=a;break}i=h[i>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(l|0)){t=l<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(l|0)){A=r;break i}else{t=t<<1;i=r}}if(e>>>0<(h[10222]|0)>>>0)Xe();else{h[e>>2]=a;h[s+(c+24)>>2]=i;h[s+(c+12)>>2]=a;h[s+(c+8)>>2]=a;break e}}else A=i}while(0);i=A+8|0;e=h[i>>2]|0;F=h[10222]|0;if(e>>>0>=F>>>0&A>>>0>=F>>>0){h[e+12>>2]=a;h[i>>2]=a;h[s+(c+8)>>2]=e;h[s+(c+12)>>2]=A;h[s+(c+24)>>2]=0;break}else Xe()}else{F=l+c|0;h[s+4>>2]=F|3;F=s+(F+4)|0;h[F>>2]=h[F>>2]|1}}while(0);F=s+8|0;return F|0}else w=c}else w=c}else w=-1}while(0);r=h[10220]|0;if(r>>>0>=w>>>0){i=r-w|0;e=h[10223]|0;if(i>>>0>15){h[10223]=e+w;h[10220]=i;h[e+(w+4)>>2]=i|1;h[e+r>>2]=i;h[e+4>>2]=w|3}else{h[10220]=0;h[10223]=0;h[e+4>>2]=r|3;F=e+(r+4)|0;h[F>>2]=h[F>>2]|1}F=e+8|0;return F|0}e=h[10221]|0;if(e>>>0>w>>>0){N=e-w|0;h[10221]=N;F=h[10224]|0;h[10224]=F+w;h[F+(w+4)>>2]=N|1;h[F+4>>2]=w|3;F=F+8|0;return F|0}do{if(!(h[10336]|0)){e=ui(30)|0;if(!(e+-1&e)){h[10338]=e;h[10337]=e;h[10339]=-1;h[10340]=-1;h[10341]=0;h[10329]=0;A=(Pi(0)|0)&-16^1431655768;h[10336]=A;break}else Xe()}}while(0);s=w+48|0;l=h[10338]|0;o=w+47|0;a=l+o|0;l=0-l|0;u=a&l;if(u>>>0<=w>>>0){F=0;return F|0}e=h[10328]|0;if((e|0)!=0?(p=h[10326]|0,A=p+u|0,A>>>0<=p>>>0|A>>>0>e>>>0):0){F=0;return F|0}e:do{if(!(h[10329]&4)){e=h[10224]|0;i:do{if(e){n=41320;while(1){r=h[n>>2]|0;if(r>>>0<=e>>>0?(_=n+4|0,(r+(h[_>>2]|0)|0)>>>0>e>>>0):0){f=n;e=_;break}n=h[n+8>>2]|0;if(!n){g=174;break i}}r=a-(h[10221]|0)&l;if(r>>>0<2147483647){n=ni(r|0)|0;A=(n|0)==((h[f>>2]|0)+(h[e>>2]|0)|0);e=A?r:0;if(A){if((n|0)!=(-1|0)){y=n;k=e;g=194;break e}}else g=184}else e=0}else g=174}while(0);do{if((g|0)==174){f=ni(0)|0;if((f|0)!=(-1|0)){e=f;r=h[10337]|0;n=r+-1|0;if(!(n&e))r=u;else r=u-e+(n+e&0-r)|0;e=h[10326]|0;n=e+r|0;if(r>>>0>w>>>0&r>>>0<2147483647){A=h[10328]|0;if((A|0)!=0?n>>>0<=e>>>0|n>>>0>A>>>0:0){e=0;break}n=ni(r|0)|0;A=(n|0)==(f|0);e=A?r:0;if(A){y=f;k=e;g=194;break e}else g=184}else e=0}else e=0}}while(0);i:do{if((g|0)==184){f=0-r|0;do{if(s>>>0>r>>>0&(r>>>0<2147483647&(n|0)!=(-1|0))?(v=h[10338]|0,v=o-r+v&0-v,v>>>0<2147483647):0)if((ni(v|0)|0)==(-1|0)){ni(f|0)|0;break i}else{r=v+r|0;break}}while(0);if((n|0)!=(-1|0)){y=n;k=r;g=194;break e}}}while(0);h[10329]=h[10329]|4;g=191}else{e=0;g=191}}while(0);if((((g|0)==191?u>>>0<2147483647:0)?(y=ni(u|0)|0,E=ni(0)|0,y>>>0>>0&((y|0)!=(-1|0)&(E|0)!=(-1|0))):0)?(M=E-y|0,T=M>>>0>(w+40|0)>>>0,T):0){k=T?M:e;g=194}if((g|0)==194){e=(h[10326]|0)+k|0;h[10326]=e;if(e>>>0>(h[10327]|0)>>>0)h[10327]=e;a=h[10224]|0;e:do{if(a){f=41320;do{e=h[f>>2]|0;r=f+4|0;n=h[r>>2]|0;if((y|0)==(e+n|0)){S=e;P=r;O=n;R=f;g=204;break}f=h[f+8>>2]|0}while((f|0)!=0);if(((g|0)==204?(h[R+12>>2]&8|0)==0:0)?a>>>0>>0&a>>>0>=S>>>0:0){h[P>>2]=O+k;F=(h[10221]|0)+k|0;N=a+8|0;N=(N&7|0)==0?0:0-N&7;B=F-N|0;h[10224]=a+N;h[10221]=B;h[a+(N+4)>>2]=B|1;h[a+(F+4)>>2]=40;h[10225]=h[10340];break}e=h[10222]|0;if(y>>>0>>0){h[10222]=y;e=y}r=y+k|0;f=41320;while(1){if((h[f>>2]|0)==(r|0)){n=f;r=f;g=212;break}f=h[f+8>>2]|0;if(!f){r=41320;break}}if((g|0)==212)if(!(h[r+12>>2]&8)){h[n>>2]=y;d=r+4|0;h[d>>2]=(h[d>>2]|0)+k;d=y+8|0;d=(d&7|0)==0?0:0-d&7;o=y+(k+8)|0;o=(o&7|0)==0?0:0-o&7;i=y+(o+k)|0;c=d+w|0;b=y+c|0;u=i-(y+d)-w|0;h[y+(d+4)>>2]=w|3;i:do{if((i|0)!=(a|0)){if((i|0)==(h[10223]|0)){F=(h[10220]|0)+u|0;h[10220]=F;h[10223]=b;h[y+(c+4)>>2]=F|1;h[y+(F+c)>>2]=F;break}l=k+4|0;r=h[y+(l+o)>>2]|0;if((r&3|0)==1){s=r&-8;f=r>>>3;r:do{if(r>>>0>=256){a=h[y+((o|24)+k)>>2]|0;t=h[y+(k+12+o)>>2]|0;do{if((t|0)==(i|0)){n=o|16;t=y+(l+n)|0;r=h[t>>2]|0;if(!r){t=y+(n+k)|0;r=h[t>>2]|0;if(!r){I=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Xe();else{h[t>>2]=0;I=r;break}}else{n=h[y+((o|8)+k)>>2]|0;if(n>>>0>>0)Xe();e=n+12|0;if((h[e>>2]|0)!=(i|0))Xe();r=t+8|0;if((h[r>>2]|0)==(i|0)){h[e>>2]=t;h[r>>2]=n;I=t;break}else Xe()}}while(0);if(!a)break;e=h[y+(k+28+o)>>2]|0;r=41176+(e<<2)|0;do{if((i|0)!=(h[r>>2]|0)){if(a>>>0<(h[10222]|0)>>>0)Xe();e=a+16|0;if((h[e>>2]|0)==(i|0))h[e>>2]=I;else h[a+20>>2]=I;if(!I)break r}else{h[r>>2]=I;if(I)break;h[10219]=h[10219]&~(1<>>0>>0)Xe();h[I+24>>2]=a;i=o|16;e=h[y+(i+k)>>2]|0;do{if(e)if(e>>>0>>0)Xe();else{h[I+16>>2]=e;h[e+24>>2]=I;break}}while(0);i=h[y+(l+i)>>2]|0;if(!i)break;if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[I+20>>2]=i;h[i+24>>2]=I;break}}else{t=h[y+((o|8)+k)>>2]|0;n=h[y+(k+12+o)>>2]|0;r=40912+(f<<1<<2)|0;do{if((t|0)!=(r|0)){if(t>>>0>>0)Xe();if((h[t+12>>2]|0)==(i|0))break;Xe()}}while(0);if((n|0)==(t|0)){h[10218]=h[10218]&~(1<>>0>>0)Xe();e=n+8|0;if((h[e>>2]|0)==(i|0)){L=e;break}Xe()}}while(0);h[t+12>>2]=n;h[L>>2]=t}}while(0);i=y+((s|o)+k)|0;n=s+u|0}else n=u;i=i+4|0;h[i>>2]=h[i>>2]&-2;h[y+(c+4)>>2]=n|1;h[y+(n+c)>>2]=n;i=n>>>3;if(n>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=h[10218]|0;i=1<>2]|0;if(e>>>0>=(h[10222]|0)>>>0){B=i;N=e;break}Xe()}}while(0);h[B>>2]=b;h[N+12>>2]=b;h[y+(c+8)>>2]=N;h[y+(c+12)>>2]=t;break}i=n>>>8;do{if(!i)t=0;else{if(n>>>0>16777215){t=31;break}B=(i+1048320|0)>>>16&8;N=i<>>16&4;N=N<>>16&2;t=14-(I|B|t)+(N<>>15)|0;t=n>>>(t+7|0)&1|t<<1}}while(0);i=41176+(t<<2)|0;h[y+(c+28)>>2]=t;h[y+(c+20)>>2]=0;h[y+(c+16)>>2]=0;e=h[10219]|0;r=1<>2]=b;h[y+(c+24)>>2]=i;h[y+(c+12)>>2]=b;h[y+(c+8)>>2]=b;break}i=h[i>>2]|0;r:do{if((h[i+4>>2]&-8|0)!=(n|0)){t=n<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(n|0)){F=r;break r}else{t=t<<1;i=r}}if(e>>>0<(h[10222]|0)>>>0)Xe();else{h[e>>2]=b;h[y+(c+24)>>2]=i;h[y+(c+12)>>2]=b;h[y+(c+8)>>2]=b;break i}}else F=i}while(0);i=F+8|0;e=h[i>>2]|0;N=h[10222]|0;if(e>>>0>=N>>>0&F>>>0>=N>>>0){h[e+12>>2]=b;h[i>>2]=b;h[y+(c+8)>>2]=e;h[y+(c+12)>>2]=F;h[y+(c+24)>>2]=0;break}else Xe()}else{F=(h[10221]|0)+u|0;h[10221]=F;h[10224]=b;h[y+(c+4)>>2]=F|1}}while(0);F=y+(d|8)|0;return F|0}else r=41320;while(1){e=h[r>>2]|0;if(e>>>0<=a>>>0?(i=h[r+4>>2]|0,t=e+i|0,t>>>0>a>>>0):0)break;r=h[r+8>>2]|0}n=e+(i+-39)|0;e=e+(i+-47+((n&7|0)==0?0:0-n&7))|0;n=a+16|0;e=e>>>0>>0?a:e;i=e+8|0;r=y+8|0;r=(r&7|0)==0?0:0-r&7;F=k+-40-r|0;h[10224]=y+r;h[10221]=F;h[y+(r+4)>>2]=F|1;h[y+(k+-36)>>2]=40;h[10225]=h[10340];r=e+4|0;h[r>>2]=27;h[i>>2]=h[10330];h[i+4>>2]=h[10331];h[i+8>>2]=h[10332];h[i+12>>2]=h[10333];h[10330]=y;h[10331]=k;h[10333]=0;h[10332]=i;i=e+28|0;h[i>>2]=7;if((e+32|0)>>>0>>0)do{F=i;i=i+4|0;h[i>>2]=7}while((F+8|0)>>>0>>0);if((e|0)!=(a|0)){f=e-a|0;h[r>>2]=h[r>>2]&-2;h[a+4>>2]=f|1;h[e>>2]=f;i=f>>>3;if(f>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=h[10218]|0;i=1<>2]|0;if(e>>>0<(h[10222]|0)>>>0)Xe();else{C=i;D=e}}else{h[10218]=r|i;C=40912+(e+2<<2)|0;D=t}h[C>>2]=a;h[D+12>>2]=a;h[a+8>>2]=D;h[a+12>>2]=t;break}i=f>>>8;if(i)if(f>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<>>16&4;F=F<>>16&2;t=14-(B|N|t)+(F<>>15)|0;t=f>>>(t+7|0)&1|t<<1}else t=0;r=41176+(t<<2)|0;h[a+28>>2]=t;h[a+20>>2]=0;h[n>>2]=0;i=h[10219]|0;e=1<>2]=a;h[a+24>>2]=r;h[a+12>>2]=a;h[a+8>>2]=a;break}i=h[r>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(f|0)){t=f<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(f|0)){x=r;break i}else{t=t<<1;i=r}}if(e>>>0<(h[10222]|0)>>>0)Xe();else{h[e>>2]=a;h[a+24>>2]=i;h[a+12>>2]=a;h[a+8>>2]=a;break e}}else x=i}while(0);i=x+8|0;e=h[i>>2]|0;F=h[10222]|0;if(e>>>0>=F>>>0&x>>>0>=F>>>0){h[e+12>>2]=a;h[i>>2]=a;h[a+8>>2]=e;h[a+12>>2]=x;h[a+24>>2]=0;break}else Xe()}}else{F=h[10222]|0;if((F|0)==0|y>>>0>>0)h[10222]=y;h[10330]=y;h[10331]=k;h[10333]=0;h[10227]=h[10336];h[10226]=-1;i=0;do{F=i<<1;N=40912+(F<<2)|0;h[40912+(F+3<<2)>>2]=N;h[40912+(F+2<<2)>>2]=N;i=i+1|0}while((i|0)!=32);F=y+8|0;F=(F&7|0)==0?0:0-F&7;N=k+-40-F|0;h[10224]=y+F;h[10221]=N;h[y+(F+4)>>2]=N|1;h[y+(k+-36)>>2]=40;h[10225]=h[10340]}}while(0);i=h[10221]|0;if(i>>>0>w>>>0){N=i-w|0;h[10221]=N;F=h[10224]|0;h[10224]=F+w;h[F+(w+4)>>2]=N|1;h[F+4>>2]=w|3;F=F+8|0;return F|0}}F=zg()|0;h[F>>2]=12;F=0;return F|0}function Hc(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0;if(!e)return;i=e+-8|0;l=h[10222]|0;if(i>>>0>>0)Xe();r=h[e+-4>>2]|0;t=r&3;if((t|0)==1)Xe();b=r&-8;w=e+(b+-8)|0;do{if(!(r&1)){i=h[i>>2]|0;if(!t)return;s=-8-i|0;u=e+s|0;c=i+b|0;if(u>>>0>>0)Xe();if((u|0)==(h[10223]|0)){i=e+(b+-4)|0;r=h[i>>2]|0;if((r&3|0)!=3){v=u;f=c;break}h[10220]=c;h[i>>2]=r&-2;h[e+(s+4)>>2]=c|1;h[w>>2]=c;return}n=i>>>3;if(i>>>0<256){t=h[e+(s+8)>>2]|0;r=h[e+(s+12)>>2]|0;i=40912+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0>>0)Xe();if((h[t+12>>2]|0)!=(u|0))Xe()}if((r|0)==(t|0)){h[10218]=h[10218]&~(1<>>0>>0)Xe();i=r+8|0;if((h[i>>2]|0)==(u|0))a=i;else Xe()}else a=r+8|0;h[t+12>>2]=r;h[a>>2]=t;v=u;f=c;break}a=h[e+(s+24)>>2]|0;t=h[e+(s+12)>>2]|0;do{if((t|0)==(u|0)){r=e+(s+20)|0;i=h[r>>2]|0;if(!i){r=e+(s+16)|0;i=h[r>>2]|0;if(!i){o=0;break}}while(1){t=i+20|0;n=h[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=h[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0>>0)Xe();else{h[r>>2]=0;o=i;break}}else{n=h[e+(s+8)>>2]|0;if(n>>>0>>0)Xe();i=n+12|0;if((h[i>>2]|0)!=(u|0))Xe();r=t+8|0;if((h[r>>2]|0)==(u|0)){h[i>>2]=t;h[r>>2]=n;o=t;break}else Xe()}}while(0);if(a){i=h[e+(s+28)>>2]|0;r=41176+(i<<2)|0;if((u|0)==(h[r>>2]|0)){h[r>>2]=o;if(!o){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();i=a+16|0;if((h[i>>2]|0)==(u|0))h[i>>2]=o;else h[a+20>>2]=o;if(!o){v=u;f=c;break}}r=h[10222]|0;if(o>>>0>>0)Xe();h[o+24>>2]=a;i=h[e+(s+16)>>2]|0;do{if(i)if(i>>>0>>0)Xe();else{h[o+16>>2]=i;h[i+24>>2]=o;break}}while(0);i=h[e+(s+20)>>2]|0;if(i)if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[o+20>>2]=i;h[i+24>>2]=o;v=u;f=c;break}else{v=u;f=c}}else{v=u;f=c}}else{v=i;f=b}}while(0);if(v>>>0>=w>>>0)Xe();i=e+(b+-4)|0;r=h[i>>2]|0;if(!(r&1))Xe();if(!(r&2)){if((w|0)==(h[10224]|0)){p=(h[10221]|0)+f|0;h[10221]=p;h[10224]=v;h[v+4>>2]=p|1;if((v|0)!=(h[10223]|0))return;h[10223]=0;h[10220]=0;return}if((w|0)==(h[10223]|0)){p=(h[10220]|0)+f|0;h[10220]=p;h[10223]=v;h[v+4>>2]=p|1;h[v+p>>2]=p;return}f=(r&-8)+f|0;n=r>>>3;do{if(r>>>0>=256){a=h[e+(b+16)>>2]|0;i=h[e+(b|4)>>2]|0;do{if((i|0)==(w|0)){r=e+(b+12)|0;i=h[r>>2]|0;if(!i){r=e+(b+8)|0;i=h[r>>2]|0;if(!i){k=0;break}}while(1){t=i+20|0;n=h[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=h[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[r>>2]=0;k=i;break}}else{r=h[e+b>>2]|0;if(r>>>0<(h[10222]|0)>>>0)Xe();t=r+12|0;if((h[t>>2]|0)!=(w|0))Xe();n=i+8|0;if((h[n>>2]|0)==(w|0)){h[t>>2]=i;h[n>>2]=r;k=i;break}else Xe()}}while(0);if(a){i=h[e+(b+20)>>2]|0;r=41176+(i<<2)|0;if((w|0)==(h[r>>2]|0)){h[r>>2]=k;if(!k){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();i=a+16|0;if((h[i>>2]|0)==(w|0))h[i>>2]=k;else h[a+20>>2]=k;if(!k)break}r=h[10222]|0;if(k>>>0>>0)Xe();h[k+24>>2]=a;i=h[e+(b+8)>>2]|0;do{if(i)if(i>>>0>>0)Xe();else{h[k+16>>2]=i;h[i+24>>2]=k;break}}while(0);i=h[e+(b+12)>>2]|0;if(i)if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[k+20>>2]=i;h[i+24>>2]=k;break}}}else{t=h[e+b>>2]|0;r=h[e+(b|4)>>2]|0;i=40912+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<(h[10222]|0)>>>0)Xe();if((h[t+12>>2]|0)!=(w|0))Xe()}if((r|0)==(t|0)){h[10218]=h[10218]&~(1<>>0<(h[10222]|0)>>>0)Xe();i=r+8|0;if((h[i>>2]|0)==(w|0))d=i;else Xe()}else d=r+8|0;h[t+12>>2]=r;h[d>>2]=t}}while(0);h[v+4>>2]=f|1;h[v+f>>2]=f;if((v|0)==(h[10223]|0)){h[10220]=f;return}}else{h[i>>2]=r&-2;h[v+4>>2]=f|1;h[v+f>>2]=f}i=f>>>3;if(f>>>0<256){r=i<<1;n=40912+(r<<2)|0;t=h[10218]|0;i=1<>2]|0;if(r>>>0<(h[10222]|0)>>>0)Xe();else{_=i;m=r}}else{h[10218]=t|i;_=40912+(r+2<<2)|0;m=n}h[_>>2]=v;h[m+12>>2]=v;h[v+8>>2]=m;h[v+12>>2]=n;return}i=f>>>8;if(i)if(f>>>0>16777215)n=31;else{_=(i+1048320|0)>>>16&8;m=i<<_;w=(m+520192|0)>>>16&4;m=m<>>16&2;n=14-(w|_|n)+(m<>>15)|0;n=f>>>(n+7|0)&1|n<<1}else n=0;i=41176+(n<<2)|0;h[v+28>>2]=n;h[v+20>>2]=0;h[v+16>>2]=0;r=h[10219]|0;t=1<>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(f|0)){n=f<<((n|0)==31?0:25-(n>>>1)|0);while(1){r=i+16+(n>>>31<<2)|0;t=h[r>>2]|0;if(!t)break;if((h[t+4>>2]&-8|0)==(f|0)){p=t;break i}else{n=n<<1;i=t}}if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[r>>2]=v;h[v+24>>2]=i;h[v+12>>2]=v;h[v+8>>2]=v;break e}}else p=i}while(0);i=p+8|0;r=h[i>>2]|0;m=h[10222]|0;if(r>>>0>=m>>>0&p>>>0>=m>>>0){h[r+12>>2]=v;h[i>>2]=v;h[v+8>>2]=r;h[v+12>>2]=p;h[v+24>>2]=0;break}else Xe()}else{h[10219]=r|t;h[i>>2]=v;h[v+24>>2]=i;h[v+12>>2]=v;h[v+8>>2]=v}}while(0);v=(h[10226]|0)+-1|0;h[10226]=v;if(!v)i=41328;else return;while(1){i=h[i>>2]|0;if(!i)break;else i=i+8|0}h[10226]=-1;return}function Yc(e,i){e=e|0;i=i|0;var r=0;if(e){r=ce(i,e)|0;if((i|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(i|0)?r:-1}else r=0;i=jc(r)|0;if(!i)return i|0;if(!(h[i+-4>>2]&3))return i|0;Cm(i|0,0,r|0)|0;return i|0}function qc(e,i){e=e|0;i=i|0;var r=0,t=0;if(!e){e=jc(i)|0;return e|0}if(i>>>0>4294967231){e=zg()|0;h[e>>2]=12;e=0;return e|0}r=Xc(e+-8|0,i>>>0<11?16:i+11&-8)|0;if(r){e=r+8|0;return e|0}r=jc(i)|0;if(!r){e=0;return e|0}t=h[e+-4>>2]|0;t=(t&-8)-((t&3|0)==0?8:4)|0;Im(r|0,e|0,(t>>>0>>0?t:i)|0)|0;Hc(e);e=r;return e|0}function Xc(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;b=e+4|0;k=h[b>>2]|0;s=k&-8;u=e+s|0;l=h[10222]|0;r=k&3;if(!((r|0)!=1&e>>>0>=l>>>0&e>>>0>>0))Xe();t=e+(s|4)|0;n=h[t>>2]|0;if(!(n&1))Xe();if(!r){if(i>>>0<256){e=0;return e|0}if(s>>>0>=(i+4|0)>>>0?(s-i|0)>>>0<=h[10338]<<1>>>0:0)return e|0;e=0;return e|0}if(s>>>0>=i>>>0){r=s-i|0;if(r>>>0<=15)return e|0;h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=r|3;h[t>>2]=h[t>>2]|1;zc(e+i|0,r);return e|0}if((u|0)==(h[10224]|0)){r=(h[10221]|0)+s|0;if(r>>>0<=i>>>0){e=0;return e|0}d=r-i|0;h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=d|1;h[10224]=e+i;h[10221]=d;return e|0}if((u|0)==(h[10223]|0)){t=(h[10220]|0)+s|0;if(t>>>0>>0){e=0;return e|0}r=t-i|0;if(r>>>0>15){h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=r|1;h[e+t>>2]=r;t=e+(t+4)|0;h[t>>2]=h[t>>2]&-2;t=e+i|0}else{h[b>>2]=k&1|t|2;t=e+(t+4)|0;h[t>>2]=h[t>>2]|1;t=0;r=0}h[10220]=r;h[10223]=t;return e|0}if(n&2){e=0;return e|0}c=(n&-8)+s|0;if(c>>>0>>0){e=0;return e|0}d=c-i|0;f=n>>>3;do{if(n>>>0>=256){a=h[e+(s+24)>>2]|0;f=h[e+(s+12)>>2]|0;do{if((f|0)==(u|0)){t=e+(s+20)|0;r=h[t>>2]|0;if(!r){t=e+(s+16)|0;r=h[t>>2]|0;if(!r){o=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Xe();else{h[t>>2]=0;o=r;break}}else{n=h[e+(s+8)>>2]|0;if(n>>>0>>0)Xe();r=n+12|0;if((h[r>>2]|0)!=(u|0))Xe();t=f+8|0;if((h[t>>2]|0)==(u|0)){h[r>>2]=f;h[t>>2]=n;o=f;break}else Xe()}}while(0);if(a){r=h[e+(s+28)>>2]|0;t=41176+(r<<2)|0;if((u|0)==(h[t>>2]|0)){h[t>>2]=o;if(!o){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();r=a+16|0;if((h[r>>2]|0)==(u|0))h[r>>2]=o;else h[a+20>>2]=o;if(!o)break}t=h[10222]|0;if(o>>>0>>0)Xe();h[o+24>>2]=a;r=h[e+(s+16)>>2]|0;do{if(r)if(r>>>0>>0)Xe();else{h[o+16>>2]=r;h[r+24>>2]=o;break}}while(0);r=h[e+(s+20)>>2]|0;if(r)if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[o+20>>2]=r;h[r+24>>2]=o;break}}}else{n=h[e+(s+8)>>2]|0;t=h[e+(s+12)>>2]|0;r=40912+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Xe();if((h[n+12>>2]|0)!=(u|0))Xe()}if((t|0)==(n|0)){h[10218]=h[10218]&~(1<>>0>>0)Xe();r=t+8|0;if((h[r>>2]|0)==(u|0))a=r;else Xe()}else a=t+8|0;h[n+12>>2]=t;h[a>>2]=n}}while(0);if(d>>>0<16){h[b>>2]=c|k&1|2;i=e+(c|4)|0;h[i>>2]=h[i>>2]|1;return e|0}else{h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=d|3;k=e+(c|4)|0;h[k>>2]=h[k>>2]|1;zc(e+i|0,d);return e|0}return 0}function zc(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;w=e+i|0;r=h[e+4>>2]|0;do{if(!(r&1)){o=h[e>>2]|0;if(!(r&3))return;d=e+(0-o)|0;c=o+i|0;s=h[10222]|0;if(d>>>0>>0)Xe();if((d|0)==(h[10223]|0)){t=e+(i+4)|0;r=h[t>>2]|0;if((r&3|0)!=3){p=d;a=c;break}h[10220]=c;h[t>>2]=r&-2;h[e+(4-o)>>2]=c|1;h[w>>2]=c;return}f=o>>>3;if(o>>>0<256){n=h[e+(8-o)>>2]|0;t=h[e+(12-o)>>2]|0;r=40912+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Xe();if((h[n+12>>2]|0)!=(d|0))Xe()}if((t|0)==(n|0)){h[10218]=h[10218]&~(1<>>0>>0)Xe();r=t+8|0;if((h[r>>2]|0)==(d|0))l=r;else Xe()}else l=t+8|0;h[n+12>>2]=t;h[l>>2]=n;p=d;a=c;break}l=h[e+(24-o)>>2]|0;n=h[e+(12-o)>>2]|0;do{if((n|0)==(d|0)){n=16-o|0;t=e+(n+4)|0;r=h[t>>2]|0;if(!r){t=e+n|0;r=h[t>>2]|0;if(!r){u=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Xe();else{h[t>>2]=0;u=r;break}}else{f=h[e+(8-o)>>2]|0;if(f>>>0>>0)Xe();r=f+12|0;if((h[r>>2]|0)!=(d|0))Xe();t=n+8|0;if((h[t>>2]|0)==(d|0)){h[r>>2]=n;h[t>>2]=f;u=n;break}else Xe()}}while(0);if(l){r=h[e+(28-o)>>2]|0;t=41176+(r<<2)|0;if((d|0)==(h[t>>2]|0)){h[t>>2]=u;if(!u){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();r=l+16|0;if((h[r>>2]|0)==(d|0))h[r>>2]=u;else h[l+20>>2]=u;if(!u){p=d;a=c;break}}n=h[10222]|0;if(u>>>0>>0)Xe();h[u+24>>2]=l;r=16-o|0;t=h[e+r>>2]|0;do{if(t)if(t>>>0>>0)Xe();else{h[u+16>>2]=t;h[t+24>>2]=u;break}}while(0);r=h[e+(r+4)>>2]|0;if(r)if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[u+20>>2]=r;h[r+24>>2]=u;p=d;a=c;break}else{p=d;a=c}}else{p=d;a=c}}else{p=e;a=i}}while(0);s=h[10222]|0;if(w>>>0>>0)Xe();r=e+(i+4)|0;t=h[r>>2]|0;if(!(t&2)){if((w|0)==(h[10224]|0)){m=(h[10221]|0)+a|0;h[10221]=m;h[10224]=p;h[p+4>>2]=m|1;if((p|0)!=(h[10223]|0))return;h[10223]=0;h[10220]=0;return}if((w|0)==(h[10223]|0)){m=(h[10220]|0)+a|0;h[10220]=m;h[10223]=p;h[p+4>>2]=m|1;h[p+m>>2]=m;return}a=(t&-8)+a|0;f=t>>>3;do{if(t>>>0>=256){l=h[e+(i+24)>>2]|0;n=h[e+(i+12)>>2]|0;do{if((n|0)==(w|0)){t=e+(i+20)|0;r=h[t>>2]|0;if(!r){t=e+(i+16)|0;r=h[t>>2]|0;if(!r){k=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Xe();else{h[t>>2]=0;k=r;break}}else{f=h[e+(i+8)>>2]|0;if(f>>>0>>0)Xe();r=f+12|0;if((h[r>>2]|0)!=(w|0))Xe();t=n+8|0;if((h[t>>2]|0)==(w|0)){h[r>>2]=n;h[t>>2]=f;k=n;break}else Xe()}}while(0);if(l){r=h[e+(i+28)>>2]|0;t=41176+(r<<2)|0;if((w|0)==(h[t>>2]|0)){h[t>>2]=k;if(!k){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();r=l+16|0;if((h[r>>2]|0)==(w|0))h[r>>2]=k;else h[l+20>>2]=k;if(!k)break}t=h[10222]|0;if(k>>>0>>0)Xe();h[k+24>>2]=l;r=h[e+(i+16)>>2]|0;do{if(r)if(r>>>0>>0)Xe();else{h[k+16>>2]=r;h[r+24>>2]=k;break}}while(0);r=h[e+(i+20)>>2]|0;if(r)if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[k+20>>2]=r;h[r+24>>2]=k;break}}}else{n=h[e+(i+8)>>2]|0;t=h[e+(i+12)>>2]|0;r=40912+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Xe();if((h[n+12>>2]|0)!=(w|0))Xe()}if((t|0)==(n|0)){h[10218]=h[10218]&~(1<>>0>>0)Xe();r=t+8|0;if((h[r>>2]|0)==(w|0))b=r;else Xe()}else b=t+8|0;h[n+12>>2]=t;h[b>>2]=n}}while(0);h[p+4>>2]=a|1;h[p+a>>2]=a;if((p|0)==(h[10223]|0)){h[10220]=a;return}}else{h[r>>2]=t&-2;h[p+4>>2]=a|1;h[p+a>>2]=a}r=a>>>3;if(a>>>0<256){t=r<<1;f=40912+(t<<2)|0;n=h[10218]|0;r=1<>2]|0;if(t>>>0<(h[10222]|0)>>>0)Xe();else{_=r;m=t}}else{h[10218]=n|r;_=40912+(t+2<<2)|0;m=f}h[_>>2]=p;h[m+12>>2]=p;h[p+8>>2]=m;h[p+12>>2]=f;return}r=a>>>8;if(r)if(a>>>0>16777215)f=31;else{_=(r+1048320|0)>>>16&8;m=r<<_;w=(m+520192|0)>>>16&4;m=m<>>16&2;f=14-(w|_|f)+(m<>>15)|0;f=a>>>(f+7|0)&1|f<<1}else f=0;r=41176+(f<<2)|0;h[p+28>>2]=f;h[p+20>>2]=0;h[p+16>>2]=0;t=h[10219]|0;n=1<>2]=p;h[p+24>>2]=r;h[p+12>>2]=p;h[p+8>>2]=p;return}r=h[r>>2]|0;e:do{if((h[r+4>>2]&-8|0)!=(a|0)){f=a<<((f|0)==31?0:25-(f>>>1)|0);while(1){t=r+16+(f>>>31<<2)|0;n=h[t>>2]|0;if(!n)break;if((h[n+4>>2]&-8|0)==(a|0)){r=n;break e}else{f=f<<1;r=n}}if(t>>>0<(h[10222]|0)>>>0)Xe();h[t>>2]=p;h[p+24>>2]=r;h[p+12>>2]=p;h[p+8>>2]=p;return}}while(0);t=r+8|0;n=h[t>>2]|0;m=h[10222]|0;if(!(n>>>0>=m>>>0&r>>>0>=m>>>0))Xe();h[n+12>>2]=p;h[t>>2]=p;h[p+8>>2]=n;h[p+12>>2]=r;h[p+24>>2]=0;return}function Vc(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;t=h[9321]|0;Jc(42048,t,42104);h[10342]=42892;h[10344]=42912;h[10343]=0;e=h[10720]|0;T=0;ve(62,41368+e|0,42048);f=T;T=0;if(f&1){f=Ze()|0;bh(41376);si(f|0)}h[41368+(e+72)>>2]=0;h[41368+(e+76)>>2]=-1;n=h[9322]|0;Zc(42152,n,42112);h[10364]=42972;h[10365]=42992;r=h[10740]|0;T=0;ve(62,41456+r|0,42152);f=T;T=0;if(f&1){f=Ze()|0;bh(41460);si(f|0)}e=r+72|0;h[41456+e>>2]=0;i=r+76|0;h[41456+i>>2]=-1;f=h[9320]|0;Zc(42200,f,42120);h[10385]=42972;h[10386]=42992;T=0;ve(62,41540+r|0,42200);a=T;T=0;if(a&1){a=Ze()|0;bh(41544);si(a|0)}h[41540+e>>2]=0;h[41540+i>>2]=-1;a=h[41540+((h[(h[10385]|0)+-12>>2]|0)+24)>>2]|0;h[10406]=42972;h[10407]=42992;T=0;ve(62,41624+r|0,a|0);a=T;T=0;if(a&1){a=Ze()|0;bh(41628);si(a|0)}h[41624+e>>2]=0;h[41624+i>>2]=-1;h[41368+((h[(h[10342]|0)+-12>>2]|0)+72)>>2]=41456;e=41540+((h[(h[10385]|0)+-12>>2]|0)+4)|0;h[e>>2]=h[e>>2]|8192;h[41540+((h[(h[10385]|0)+-12>>2]|0)+72)>>2]=41456;Qc(42248,t,42128);h[10427]=42932;h[10429]=42952;h[10428]=0;e=h[10730]|0;T=0;ve(62,41708+e|0,42248);a=T;T=0;if(a&1){a=Ze()|0;ph(41716);si(a|0)}h[41708+(e+72)>>2]=0;h[41708+(e+76)>>2]=-1;$c(42304,n,42136);h[10449]=43012;h[10450]=43032;r=h[10750]|0;T=0;ve(62,41796+r|0,42304);a=T;T=0;if(a&1){a=Ze()|0;ph(41800);si(a|0)}e=r+72|0;h[41796+e>>2]=0;i=r+76|0;h[41796+i>>2]=-1;$c(42352,f,42144);h[10470]=43012;h[10471]=43032;T=0;ve(62,41880+r|0,42352);a=T;T=0;if(a&1){a=Ze()|0;ph(41884);si(a|0)}h[41880+e>>2]=0;h[41880+i>>2]=-1;a=h[41880+((h[(h[10470]|0)+-12>>2]|0)+24)>>2]|0;h[10491]=43012;h[10492]=43032;T=0;ve(62,41964+r|0,a|0);a=T;T=0;if(a&1){a=Ze()|0;ph(41968);si(a|0)}else{h[41964+e>>2]=0;h[41964+i>>2]=-1;h[41708+((h[(h[10427]|0)+-12>>2]|0)+72)>>2]=41796;a=41880+((h[(h[10470]|0)+-12>>2]|0)+4)|0;h[a>>2]=h[a>>2]|8192;h[41880+((h[(h[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Gc(e){e=e|0;T=0;ye(70,41456)|0;e=T;T=0;if(((!(e&1)?(T=0,ye(70,41624)|0,e=T,T=0,!(e&1)):0)?(T=0,ye(71,41796)|0,e=T,T=0,!(e&1)):0)?(T=0,ye(71,41964)|0,e=T,T=0,!(e&1)):0)return;e=Ze(0)|0;Ki(e)}function Kc(){Vc(0);yi(187,56757,M|0)|0;return}function Wc(){return}function Jc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+16|0;f=n+4|0;t=n;Eh(e);h[e>>2]=42600;h[e+32>>2]=i;h[e+40>>2]=r;h[e+48>>2]=-1;c[e+52>>0]=0;qu(f,e+4|0);h[t>>2]=h[f>>2];T=0;ve(23,e|0,t|0);r=T;T=0;if(r&1){f=Ze()|0;Xu(t);gh(e);si(f|0)}else{Xu(t);v=n;return}}function Zc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+16|0;f=n+4|0;t=n;Eh(e);h[e>>2]=42536;h[e+32>>2]=i;qu(f,e+4|0);h[t>>2]=h[f>>2];T=0;i=Oe(37,t|0,44280)|0;f=T;T=0;if(f&1){f=Ze()|0;Xu(t);gh(e);si(f|0)}else{Xu(t);h[e+36>>2]=i;h[e+40>>2]=r;f=(mE[h[(h[i>>2]|0)+28>>2]&127](i)|0)&1;c[e+44>>0]=f;v=n;return}}function Qc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+16|0;f=n+4|0;t=n;Fh(e);h[e>>2]=42472;h[e+32>>2]=i;h[e+40>>2]=r;h[e+48>>2]=-1;c[e+52>>0]=0;qu(f,e+4|0);h[t>>2]=h[f>>2];T=0;ve(21,e|0,t|0);r=T;T=0;if(r&1){f=Ze()|0;Xu(t);Bh(e);si(f|0)}else{Xu(t);v=n;return}}function $c(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+16|0;f=n+4|0;t=n;Fh(e);h[e>>2]=42408;h[e+32>>2]=i;qu(f,e+4|0);h[t>>2]=h[f>>2];T=0;i=Oe(37,t|0,44288)|0;f=T;T=0;if(f&1){f=Ze()|0;Xu(t);Bh(e);si(f|0)}else{Xu(t);h[e+36>>2]=i;h[e+40>>2]=r;f=(mE[h[(h[i>>2]|0)+28>>2]&127](i)|0)&1;c[e+44>>0]=f;v=n;return}}function ed(e){e=e|0;Bh(e);zv(e);return}function id(e,i){e=e|0;i=i|0;mE[h[(h[e>>2]|0)+24>>2]&127](e)|0;i=Vu(i,44288)|0;h[e+36>>2]=i;i=(mE[h[(h[i>>2]|0)+28>>2]&127](i)|0)&1;c[e+44>>0]=i;return}function rd(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o;r=e+36|0;t=e+40|0;n=l+8|0;f=l;i=e+32|0;e:while(1){e=h[r>>2]|0;e=TE[h[(h[e>>2]|0)+20>>2]&31](e,h[t>>2]|0,l,n,a)|0;u=(h[a>>2]|0)-f|0;if((Uy(l,1,u,h[i>>2]|0)|0)!=(u|0)){e=-1;break}switch(e|0){case 1:break;case 2:{e=-1;break e}default:{s=4;break e}}}if((s|0)==4)e=((By(h[i>>2]|0)|0)!=0)<<31>>31;v=o;return e|0}function td(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e:do{if(!(c[e+44>>0]|0))if((r|0)>0){t=i;i=0;while(1){if((ME[h[(h[e>>2]|0)+52>>2]&63](e,h[t>>2]|0)|0)==-1)break e;i=i+1|0;if((i|0)<(r|0))t=t+4|0;else break}}else i=0;else i=Uy(i,4,r,h[e+32>>2]|0)|0}while(0);return i|0}function nd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+32|0;b=_+16|0;r=_+8|0;d=_+4|0;u=_;k=(i|0)==-1;e:do{if(!k){h[r>>2]=i;if(c[e+44>>0]|0)if((Uy(r,4,1,h[e+32>>2]|0)|0)==1){w=11;break}else{r=-1;break}h[d>>2]=b;s=r+4|0;o=e+36|0;n=e+40|0;f=b+8|0;a=b;l=e+32|0;while(1){e=h[o>>2]|0;e=CE[h[(h[e>>2]|0)+12>>2]&15](e,h[n>>2]|0,r,s,u,b,f,d)|0;if((h[u>>2]|0)==(r|0)){r=-1;break e}if((e|0)==3)break;t=(e|0)==1;if(e>>>0>=2){r=-1;break e}e=(h[d>>2]|0)-a|0;if((Uy(b,1,e,h[l>>2]|0)|0)!=(e|0)){r=-1;break e}if(t)r=t?h[u>>2]|0:r;else{w=11;break e}}if((Uy(r,1,1,h[l>>2]|0)|0)!=1)r=-1;else w=11}else w=11}while(0);if((w|0)==11)r=k?0:i;v=_;return r|0}function fd(e,i){e=e|0;i=i|0;var r=0,t=0;t=Vu(i,44288)|0;r=e+36|0;h[r>>2]=t;t=mE[h[(h[t>>2]|0)+24>>2]&127](t)|0;i=e+44|0;h[i>>2]=t;r=h[r>>2]|0;r=(mE[h[(h[r>>2]|0)+28>>2]&127](r)|0)&1;c[e+53>>0]=r;if((h[i>>2]|0)>8)iu(56783);return}function ad(e){e=e|0;Bh(e);zv(e);return}function ld(e){e=e|0;return ud(e,0)|0}function sd(e){e=e|0;return ud(e,1)|0}function od(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;s=o+16|0;l=o+8|0;t=o+4|0;n=o;f=e+52|0;r=(c[f>>0]|0)!=0;e:do{if((i|0)==-1)if(r)i=-1;else{i=h[e+48>>2]|0;c[f>>0]=(i|0)!=-1&1}else{a=e+48|0;i:do{if(r){h[t>>2]=h[a>>2];r=h[e+36>>2]|0;switch(CE[h[(h[r>>2]|0)+12>>2]&15](r,h[e+40>>2]|0,t,t+4|0,n,s,s+8|0,l)|0){case 1:case 2:{i=-1;break e}case 3:{c[s>>0]=h[a>>2];h[l>>2]=s+1;break}default:{}}r=e+32|0;while(1){t=h[l>>2]|0;if(t>>>0<=s>>>0)break i;e=t+-1|0;h[l>>2]=e;if((qy(c[e>>0]|0,h[r>>2]|0)|0)==-1){i=-1;break e}}}}while(0);h[a>>2]=i;c[f>>0]=1}}while(0);v=o;return i|0}function ud(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0;w=v;v=v+32|0;k=w+16|0;b=w+8|0;o=w+4|0;u=w;n=e+52|0;e:do{if(c[n>>0]|0){t=e+48|0;r=h[t>>2]|0;if(i){h[t>>2]=-1;c[n>>0]=0}}else{r=h[e+44>>2]|0;r=(r|0)>1?r:1;d=e+32|0;if((r|0)>0){n=0;do{t=jy(h[d>>2]|0)|0;if((t|0)==-1){r=-1;break e}c[k+n>>0]=t;n=n+1|0}while((n|0)<(r|0))}i:do{if(!(c[e+53>>0]|0)){a=e+40|0;l=e+36|0;s=b+4|0;r:while(1){_=h[a>>2]|0;n=_;t=h[n>>2]|0;n=h[n+4>>2]|0;m=h[l>>2]|0;f=k+r|0;switch(CE[h[(h[m>>2]|0)+16>>2]&15](m,_,k,f,o,b,s,u)|0){case 2:{r=-1;break e}case 3:break r;case 1:break;default:break i}m=h[a>>2]|0;h[m>>2]=t;h[m+4>>2]=n;if((r|0)==8){r=-1;break e}t=jy(h[d>>2]|0)|0;if((t|0)==-1){r=-1;break e}c[f>>0]=t;r=r+1|0}h[b>>2]=c[k>>0]}else h[b>>2]=c[k>>0]}while(0);if(i){r=h[b>>2]|0;h[e+48>>2]=r;break}while(1){if((r|0)<=0)break;r=r+-1|0;if((qy(c[k+r>>0]|0,h[d>>2]|0)|0)==-1){r=-1;break e}}r=h[b>>2]|0}}while(0);v=w;return r|0}function cd(e){e=e|0;gh(e);zv(e);return}function dd(e,i){e=e|0;i=i|0;mE[h[(h[e>>2]|0)+24>>2]&127](e)|0;i=Vu(i,44280)|0;h[e+36>>2]=i;i=(mE[h[(h[i>>2]|0)+28>>2]&127](i)|0)&1;c[e+44>>0]=i;return}function hd(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o;r=e+36|0;t=e+40|0;n=l+8|0;f=l;i=e+32|0;e:while(1){e=h[r>>2]|0;e=TE[h[(h[e>>2]|0)+20>>2]&31](e,h[t>>2]|0,l,n,a)|0;u=(h[a>>2]|0)-f|0;if((Uy(l,1,u,h[i>>2]|0)|0)!=(u|0)){e=-1;break}switch(e|0){case 1:break;case 2:{e=-1;break e}default:{s=4;break e}}}if((s|0)==4)e=((By(h[i>>2]|0)|0)!=0)<<31>>31;v=o;return e|0}function bd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e:do{if(!(c[e+44>>0]|0))if((r|0)>0){t=i;i=0;while(1){if((ME[h[(h[e>>2]|0)+52>>2]&63](e,b[t>>0]|0)|0)==-1)break e;i=i+1|0;if((i|0)<(r|0))t=t+1|0;else break}}else i=0;else i=Uy(i,1,r,h[e+32>>2]|0)|0}while(0);return i|0}function kd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+32|0;b=_+16|0;r=_+8|0;d=_+4|0;u=_;k=(i|0)==-1;e:do{if(!k){c[r>>0]=i;if(c[e+44>>0]|0)if((Uy(r,1,1,h[e+32>>2]|0)|0)==1){w=11;break}else{r=-1;break}h[d>>2]=b;o=r+1|0;n=e+36|0;f=e+40|0;a=b+8|0;l=b;s=e+32|0;while(1){e=h[n>>2]|0;e=CE[h[(h[e>>2]|0)+12>>2]&15](e,h[f>>2]|0,r,o,u,b,a,d)|0;if((h[u>>2]|0)==(r|0)){r=-1;break e}if((e|0)==3)break;t=(e|0)==1;if(e>>>0>=2){r=-1;break e}e=(h[d>>2]|0)-l|0;if((Uy(b,1,e,h[s>>2]|0)|0)!=(e|0)){r=-1;break e}if(t)r=t?h[u>>2]|0:r;else{w=11;break e}}if((Uy(r,1,1,h[s>>2]|0)|0)!=1)r=-1;else w=11}else w=11}while(0);if((w|0)==11)r=k?0:i;v=_;return r|0}function wd(e,i){e=e|0;i=i|0;var r=0,t=0;t=Vu(i,44280)|0;r=e+36|0;h[r>>2]=t;t=mE[h[(h[t>>2]|0)+24>>2]&127](t)|0;i=e+44|0;h[i>>2]=t;r=h[r>>2]|0;r=(mE[h[(h[r>>2]|0)+28>>2]&127](r)|0)&1;c[e+53>>0]=r;if((h[i>>2]|0)>8)iu(56783);return}function _d(e){e=e|0;gh(e);zv(e);return}function md(e){e=e|0;return gd(e,0)|0}function pd(e){e=e|0;return gd(e,1)|0}function vd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;s=o+16|0;l=o+4|0;t=o+8|0;n=o;f=e+52|0;r=(c[f>>0]|0)!=0;e:do{if((i|0)==-1)if(r)i=-1;else{i=h[e+48>>2]|0;c[f>>0]=(i|0)!=-1&1}else{a=e+48|0;i:do{if(r){c[t>>0]=h[a>>2];r=h[e+36>>2]|0;switch(CE[h[(h[r>>2]|0)+12>>2]&15](r,h[e+40>>2]|0,t,t+1|0,n,s,s+8|0,l)|0){case 1:case 2:{i=-1;break e}case 3:{c[s>>0]=h[a>>2];h[l>>2]=s+1;break}default:{}}r=e+32|0;while(1){t=h[l>>2]|0;if(t>>>0<=s>>>0)break i;e=t+-1|0;h[l>>2]=e;if((qy(c[e>>0]|0,h[r>>2]|0)|0)==-1){i=-1;break e}}}}while(0);h[a>>2]=i;c[f>>0]=1}}while(0);v=o;return i|0}function gd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0;_=v;v=v+32|0;w=_+16|0;k=_+8|0;o=_+4|0;u=_;n=e+52|0;e:do{if(c[n>>0]|0){t=e+48|0;r=h[t>>2]|0;if(i){h[t>>2]=-1;c[n>>0]=0}}else{r=h[e+44>>2]|0;r=(r|0)>1?r:1;d=e+32|0;if((r|0)>0){n=0;do{t=jy(h[d>>2]|0)|0;if((t|0)==-1){r=-1;break e}c[w+n>>0]=t;n=n+1|0}while((n|0)<(r|0))}i:do{if(!(c[e+53>>0]|0)){a=e+40|0;l=e+36|0;s=k+1|0;r:while(1){m=h[a>>2]|0;n=m;t=h[n>>2]|0;n=h[n+4>>2]|0;p=h[l>>2]|0;f=w+r|0;switch(CE[h[(h[p>>2]|0)+16>>2]&15](p,m,w,f,o,k,s,u)|0){case 2:{r=-1;break e}case 3:break r;case 1:break;default:break i}p=h[a>>2]|0;h[p>>2]=t;h[p+4>>2]=n;if((r|0)==8){r=-1;break e}t=jy(h[d>>2]|0)|0;if((t|0)==-1){r=-1;break e}c[f>>0]=t;r=r+1|0}c[k>>0]=c[w>>0]|0}else c[k>>0]=c[w>>0]|0}while(0);if(i){r=c[k>>0]|0;h[e+48>>2]=r&255}else{while(1){if((r|0)<=0)break;r=r+-1|0;if((qy(b[w+r>>0]|0,h[d>>2]|0)|0)==-1){r=-1;break e}}r=c[k>>0]|0}r=r&255}}while(0);v=_;return r|0}function yd(e){e=e|0;return}function Ed(e){e=e|0;e=e+4|0;h[e>>2]=(h[e>>2]|0)+1;return}function Ad(e){e=e|0;var i=0,r=0;r=e+4|0;i=h[r>>2]|0;h[r>>2]=i+-1;if(!i){kE[h[(h[e>>2]|0)+8>>2]&255](e);e=1}else e=0;return e|0}function Md(e,i){e=e|0;i=i|0;h[e>>2]=36868;T=0;ve(86,e+4|0,((c[i>>0]&1)==0?i+1|0:h[i+8>>2]|0)|0);e=T;T=0;if(e&1){e=Ze()|0;si(e|0)}else return}function Td(e,i){e=e|0;i=i|0;h[e>>2]=36868;T=0;ve(86,e+4|0,i|0);e=T;T=0;if(e&1){e=Ze()|0;si(e|0)}else return}function Sd(e,i){e=e|0;i=i|0;var r=0,t=0;t=rE(i)|0;r=Xv(t+13|0)|0;h[r>>2]=t;h[r+4>>2]=t;h[r+8>>2]=0;r=r+12|0;Im(r|0,i|0,t+1|0)|0;h[e>>2]=r;return}function Pd(e,i,r){e=e|0;i=i|0;r=r|0;h[e>>2]=r;h[e+4>>2]=i;return}function Od(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+16|0;t=n;RE[h[(h[e>>2]|0)+12>>2]&15](t,e,i);if((h[t+4>>2]|0)==(h[r+4>>2]|0))t=(h[t>>2]|0)==(h[r>>2]|0);else t=0;v=n;return t|0}function Rd(e,i,r){e=e|0;i=i|0;r=r|0;return((h[i>>2]|0)==(r|0)?(h[i+4>>2]|0)==(e|0):0)|0}function Ld(e,i,r){e=e|0;i=i|0;r=r|0;i=Vg(r)|0;Hd(e,i,rE(i)|0);return}function Cd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;a=v;v=v+16|0;f=a;t=h[i>>2]|0;do{if(t){n=c[r>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=h[r+4>>2]|0;if(n){Jd(r,56990)|0;t=h[i>>2]|0}i=h[i+4>>2]|0;RE[h[(h[i>>2]|0)+24>>2]&15](f,i,t);i=c[f>>0]|0;n=(i&1)==0;T=0;Ae(30,r|0,(n?f+1|0:h[f+8>>2]|0)|0,(n?(i&255)>>>1:h[f+4>>2]|0)|0)|0;i=T;T=0;if(i&1){a=Ze()|0;qd(f);si(a|0)}else{qd(f);break}}}while(0);h[e>>2]=h[r>>2];h[e+4>>2]=h[r+4>>2];h[e+8>>2]=h[r+8>>2];h[r>>2]=0;h[r+4>>2]=0;h[r+8>>2]=0;v=a;return}function Dd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+32|0;t=n+12|0;f=n;Hd(f,r,rE(r)|0);T=0;xe(10,t|0,i|0,f|0);r=T;T=0;do{if(!(r&1)){T=0;ve(87,e|0,t|0);r=T;T=0;if(r&1){n=Ze()|0;qd(t);t=n;break}else{qd(t);qd(f);h[e>>2]=42664;r=h[i+4>>2]|0;f=e+8|0;h[f>>2]=h[i>>2];h[f+4>>2]=r;v=n;return}}else t=Ze()|0}while(0);qd(f);si(t|0)}function xd(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;f=v;v=v+48|0;n=f+24|0;l=f+16|0;a=f;h[l>>2]=i;h[l+4>>2]=r;jd(a,t);T=0;xe(10,n|0,l|0,a|0);t=T;T=0;do{if(!(t&1)){T=0;ve(87,e|0,n|0);l=T;T=0;if(l&1){l=Ze()|0;qd(n);n=l;break}else{qd(n);qd(a);h[e>>2]=42664;h[e+8>>2]=i;h[e+12>>2]=r;v=f;return}}else n=Ze()|0}while(0);qd(a);si(n|0)}function Id(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;n=v;v=v+48|0;t=n+24|0;a=n+16|0;f=n;h[a>>2]=i;h[a+4>>2]=r;Hd(f,58898,0);T=0;xe(10,t|0,a|0,f|0);a=T;T=0;do{if(!(a&1)){T=0;ve(87,e|0,t|0);a=T;T=0;if(a&1){a=Ze()|0;qd(t);t=a;break}else{qd(t);qd(f);h[e>>2]=42664;h[e+8>>2]=i;h[e+12>>2]=r;v=n;return}}else t=Ze()|0}while(0);qd(f);si(t|0)}function Bd(e){e=e|0;ig(e);return}function Nd(e){e=e|0;ig(e);zv(e);return}function Fd(e){e=e|0;return}function Ud(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;Oi(42676)|0;if((h[e>>2]|0)==1)do{He(42704,42676)|0}while((h[e>>2]|0)==1);do{if(!(h[e>>2]|0)){h[e>>2]=1;T=0;ye(72,42676)|0;t=T;T=0;if((((!(t&1)?(T=0,pe(r|0,i|0),t=T,T=0,!(t&1)):0)?(T=0,ye(73,42676)|0,t=T,T=0,!(t&1)):0)?(h[e>>2]=-1,T=0,ye(72,42676)|0,t=T,T=0,!(t&1)):0)?(T=0,ye(74,42704)|0,t=T,T=0,!(t&1)):0)break;t=Ze(0)|0;fi(t|0)|0;T=0;ye(73,42676)|0;t=T;T=0;if((!(t&1)?(h[e>>2]=0,T=0,ye(72,42676)|0,t=T,T=0,!(t&1)):0)?(T=0,ye(74,42704)|0,t=T,T=0,!(t&1)):0){T=0;Ie(5);T=0}i=Ze()|0;T=0;Ie(3);t=T;T=0;if(t&1){t=Ze(0)|0;Ki(t)}else si(i|0)}else bi(42676)|0}while(0);return}function jd(e,i){e=e|0;i=i|0;if(!(c[i>>0]&1)){h[e>>2]=h[i>>2];h[e+4>>2]=h[i+4>>2];h[e+8>>2]=h[i+8>>2]}else Hd(e,h[i+8>>2]|0,h[i+4>>2]|0);return}function Hd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(r>>>0>4294967279)Hv(e);if(r>>>0<11){c[e>>0]=r<<1;e=e+1|0}else{n=r+16&-16;t=Xv(n)|0;h[e+8>>2]=t;h[e>>2]=n|1;h[e+4>>2]=r;e=t}Im(e|0,i|0,r|0)|0;c[e+r>>0]=0;return}function Yd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(i>>>0>4294967279)Hv(e);if(i>>>0<11){c[e>>0]=i<<1;e=e+1|0}else{n=i+16&-16;t=Xv(n)|0;h[e+8>>2]=t;h[e>>2]=n|1;h[e+4>>2]=i;e=t}Cm(e|0,r|0,i|0)|0;c[e+i>>0]=0;return}function qd(e){e=e|0;if(c[e>>0]&1)zv(h[e+8>>2]|0);return}function Xd(e,i){e=e|0;i=i|0;var r=0,t=0;if((e|0)!=(i|0)){r=c[i>>0]|0;t=(r&1)==0;Vd(e,t?i+1|0:h[i+8>>2]|0,t?(r&255)>>>1:h[i+4>>2]|0)|0}return e|0}function zd(e,i){e=e|0;i=i|0;return Vd(e,i,rE(i)|0)|0}function Vd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;t=c[e>>0]|0;if(!(t&1))f=10;else{t=h[e>>2]|0;f=(t&-2)+-1|0;t=t&255}n=(t&1)==0;do{if(f>>>0>=r>>>0){if(n)t=e+1|0;else t=h[e+8>>2]|0;Nm(t|0,i|0,r|0)|0;c[t+r>>0]=0;if(!(c[e>>0]&1)){c[e>>0]=r<<1;break}else{h[e+4>>2]=r;break}}else{if(n)t=(t&255)>>>1;else t=h[e+4>>2]|0;$d(e,f,r-f|0,t,0,t,r,i)}}while(0);return e|0}function Gd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=c[e>>0]|0;n=(t&1)==0;if(n)t=(t&255)>>>1;else t=h[e+4>>2]|0;do{if(t>>>0>=i>>>0)if(n){c[e+1+i>>0]=0;c[e>>0]=i<<1;break}else{c[(h[e+8>>2]|0)+i>>0]=0;h[e+4>>2]=i;break}else Kd(e,i-t|0,r)|0}while(0);return}function Kd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;if(i){t=c[e>>0]|0;if(!(t&1))n=10;else{t=h[e>>2]|0;n=(t&-2)+-1|0;t=t&255}if(!(t&1))f=(t&255)>>>1;else f=h[e+4>>2]|0;if((n-f|0)>>>0>>0){eh(e,n,i-n+f|0,f,f,0,0);t=c[e>>0]|0}if(!(t&1))n=e+1|0;else n=h[e+8>>2]|0;Cm(n+f|0,r|0,i|0)|0;t=f+i|0;if(!(c[e>>0]&1))c[e>>0]=t<<1;else h[e+4>>2]=t;c[n+t>>0]=0}return e|0}function Wd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;if(i>>>0>4294967279)Hv(e);r=c[e>>0]|0;if(!(r&1))t=10;else{r=h[e>>2]|0;t=(r&-2)+-1|0;r=r&255}if(!(r&1))l=(r&255)>>>1;else l=h[e+4>>2]|0;i=l>>>0>i>>>0?l:i;if(i>>>0<11)a=10;else a=(i+16&-16)+-1|0;e:do{if((a|0)!=(t|0)){do{if((a|0)!=10){i=a+1|0;if(a>>>0<=t>>>0){T=0;i=ye(67,i|0)|0;f=T;T=0;if(f&1){e=Ze(0)|0;fi(e|0)|0;li();break e}}else i=Xv(i)|0;if(!(r&1)){t=1;n=e+1|0;f=0;break}else{t=1;n=h[e+8>>2]|0;f=1;break}}else{i=e+1|0;t=0;n=h[e+8>>2]|0;f=1}}while(0);if(!(r&1))r=(r&255)>>>1;else r=h[e+4>>2]|0;Im(i|0,n|0,r+1|0)|0;if(f)zv(n);if(t){h[e>>2]=a+1|1;h[e+4>>2]=l;h[e+8>>2]=i;break}else{c[e>>0]=l<<1;break}}}while(0);return}function Jd(e,i){e=e|0;i=i|0;return Qd(e,i,rE(i)|0)|0}function Zd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;r=c[e>>0]|0;t=(r&1)!=0;if(t){n=(h[e>>2]&-2)+-1|0;f=h[e+4>>2]|0}else{n=10;f=(r&255)>>>1}if((f|0)==(n|0)){eh(e,n,1,n,n,0,0);if(!(c[e>>0]&1))n=7;else n=8}else if(t)n=8;else n=7;if((n|0)==7){c[e>>0]=(f<<1)+2;r=e+1|0;t=f+1|0}else if((n|0)==8){r=h[e+8>>2]|0;t=f+1|0;h[e+4>>2]=t}c[r+f>>0]=i;c[r+t>>0]=0;return}function Qd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;t=c[e>>0]|0;if(!(t&1))n=10;else{t=h[e>>2]|0;n=(t&-2)+-1|0;t=t&255}if(!(t&1))f=(t&255)>>>1;else f=h[e+4>>2]|0;if((n-f|0)>>>0>=r>>>0){if(r){if(!(t&1))n=e+1|0;else n=h[e+8>>2]|0;Im(n+f|0,i|0,r|0)|0;t=f+r|0;if(!(c[e>>0]&1))c[e>>0]=t<<1;else h[e+4>>2]=t;c[n+t>>0]=0}}else $d(e,n,r-n+f|0,f,f,0,r,i);return e|0}function $d(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0;if((-18-i|0)>>>0>>0)Hv(e);if(!(c[e>>0]&1))u=e+1|0;else u=h[e+8>>2]|0;if(i>>>0<2147483623){s=r+i|0;o=i<<1;s=s>>>0>>0?o:s;s=s>>>0<11?11:s+16&-16}else s=-17;o=Xv(s)|0;if(n)Im(o|0,u|0,n|0)|0;if(a)Im(o+n|0,l|0,a|0)|0;r=t-f|0;if((r|0)!=(n|0))Im(o+(a+n)|0,u+(f+n)|0,r-n|0)|0;if((i|0)!=10)zv(u);h[e+8>>2]=o;h[e>>2]=s|1;i=r+a|0;h[e+4>>2]=i;c[o+i>>0]=0;return}function eh(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0;if((-17-i|0)>>>0>>0)Hv(e);if(!(c[e>>0]&1))o=e+1|0;else o=h[e+8>>2]|0;if(i>>>0<2147483623){l=r+i|0;s=i<<1;l=l>>>0>>0?s:l;l=l>>>0<11?11:l+16&-16}else l=-17;s=Xv(l)|0;if(n)Im(s|0,o|0,n|0)|0;r=t-f|0;if((r|0)!=(n|0))Im(s+(a+n)|0,o+(f+n)|0,r-n|0)|0;if((i|0)!=10)zv(o);h[e+8>>2]=s;h[e>>2]=l|1;return}function ih(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(r>>>0>1073741807)Hv(e);if(r>>>0<2){c[e>>0]=r<<1;e=e+4|0}else{n=r+4&-4;t=Xv(n<<2)|0;h[e+8>>2]=t;h[e>>2]=n|1;h[e+4>>2]=r;e=t}fE(e,i,r)|0;h[e+(r<<2)>>2]=0;return}function rh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(i>>>0>1073741807)Hv(e);if(i>>>0<2){c[e>>0]=i<<1;e=e+4|0}else{n=i+4&-4;t=Xv(n<<2)|0;h[e+8>>2]=t;h[e>>2]=n|1;h[e+4>>2]=i;e=t}lE(e,r,i)|0;h[e+(i<<2)>>2]=0;return}function th(e){e=e|0;if(c[e>>0]&1)zv(h[e+8>>2]|0);return}function nh(e,i){e=e|0;i=i|0;return fh(e,i,nE(i)|0)|0}function fh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;t=c[e>>0]|0;if(!(t&1))f=1;else{t=h[e>>2]|0;f=(t&-2)+-1|0;t=t&255}n=(t&1)==0;do{if(f>>>0>=r>>>0){if(n)t=e+4|0;else t=h[e+8>>2]|0;aE(t,i,r)|0;h[t+(r<<2)>>2]=0;if(!(c[e>>0]&1)){c[e>>0]=r<<1;break}else{h[e+4>>2]=r;break}}else{if(n)t=(t&255)>>>1;else t=h[e+4>>2]|0;sh(e,f,r-f|0,t,0,t,r,i)}}while(0);return e|0}function ah(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;if(i>>>0>1073741807)Hv(e);r=c[e>>0]|0;if(!(r&1))t=1;else{r=h[e>>2]|0;t=(r&-2)+-1|0;r=r&255}if(!(r&1))l=(r&255)>>>1;else l=h[e+4>>2]|0;i=l>>>0>i>>>0?l:i;if(i>>>0<2)a=1;else a=(i+4&-4)+-1|0;e:do{if((a|0)!=(t|0)){do{if((a|0)!=1){i=(a<<2)+4|0;if(a>>>0<=t>>>0){T=0;i=ye(67,i|0)|0;f=T;T=0;if(f&1){e=Ze(0)|0;fi(e|0)|0;li();break e}}else i=Xv(i)|0;if(!(r&1)){t=1;n=e+4|0;f=0;break}else{t=1;n=h[e+8>>2]|0;f=1;break}}else{i=e+4|0;t=0;n=h[e+8>>2]|0;f=1}}while(0);if(!(r&1))r=(r&255)>>>1;else r=h[e+4>>2]|0;fE(i,n,r+1|0)|0;if(f)zv(n);if(t){h[e>>2]=a+1|1;h[e+4>>2]=l;h[e+8>>2]=i;break}else{c[e>>0]=l<<1;break}}}while(0);return}function lh(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;r=c[e>>0]|0;t=(r&1)!=0;if(t){n=(h[e>>2]&-2)+-1|0;f=h[e+4>>2]|0}else{n=1;f=(r&255)>>>1}if((f|0)==(n|0)){oh(e,n,1,n,n,0,0);if(!(c[e>>0]&1))n=7;else n=8}else if(t)n=8;else n=7;if((n|0)==7){c[e>>0]=(f<<1)+2;r=e+4|0;t=f+1|0}else if((n|0)==8){r=h[e+8>>2]|0;t=f+1|0;h[e+4>>2]=t}h[r+(f<<2)>>2]=i;h[r+(t<<2)>>2]=0;return}function sh(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0;if((1073741806-i|0)>>>0>>0)Hv(e);if(!(c[e>>0]&1))u=e+4|0;else u=h[e+8>>2]|0;if(i>>>0<536870887){s=r+i|0;o=i<<1;s=s>>>0>>0?o:s;s=s>>>0<2?2:s+4&-4}else s=1073741807;o=Xv(s<<2)|0;if(n)fE(o,u,n)|0;if(a)fE(o+(n<<2)|0,l,a)|0;r=t-f|0;if((r|0)!=(n|0))fE(o+(a+n<<2)|0,u+(f+n<<2)|0,r-n|0)|0;if((i|0)!=1)zv(u);h[e+8>>2]=o;h[e>>2]=s|1;i=r+a|0;h[e+4>>2]=i;h[o+(i<<2)>>2]=0;return}function oh(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0;if((1073741807-i|0)>>>0>>0)Hv(e);if(!(c[e>>0]&1))o=e+4|0;else o=h[e+8>>2]|0;if(i>>>0<536870887){l=r+i|0;s=i<<1;l=l>>>0>>0?s:l;l=l>>>0<2?2:l+4&-4}else l=1073741807;s=Xv(l<<2)|0;if(n)fE(s,o,n)|0;r=t-f|0;if((r|0)!=(n|0))fE(s+(a+n<<2)|0,o+(f+n<<2)|0,r-n|0)|0;if((i|0)!=1)zv(o);h[e+8>>2]=s;h[e>>2]=l|1;return}function uh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;n=i;t=r-n|0;if(t>>>0>4294967279)Hv(e);if(t>>>0<11){c[e>>0]=t<<1;f=e+1|0}else{a=t+16&-16;f=Xv(a)|0;h[e+8>>2]=f;h[e>>2]=a|1;h[e+4>>2]=t}e=r-n|0;if((i|0)!=(r|0)){t=f;while(1){c[t>>0]=c[i>>0]|0;i=i+1|0;if((i|0)==(r|0))break;else t=t+1|0}}c[f+e>>0]=0;return}function ch(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i;t=r-f|0;n=t>>2;if(n>>>0>1073741807)Hv(e);if(n>>>0<2){c[e>>0]=t>>>1;e=e+4|0}else{a=n+4&-4;t=Xv(a<<2)|0;h[e+8>>2]=t;h[e>>2]=a|1;h[e+4>>2]=n;e=t}n=(r-f|0)>>>2;if((i|0)!=(r|0)){t=e;while(1){h[t>>2]=h[i>>2];i=i+4|0;if((i|0)==(r|0))break;else t=t+4|0}}h[e+(n<<2)>>2]=0;return}function dh(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;r=v;v=v+16|0;t=r;n=(h[e+24>>2]|0)==0;h[e+16>>2]=n&1|i;if(!((n&1|i)&h[e+20>>2])){v=r;return}i=Je(16)|0;Mb()|0;h[t>>2]=1;h[t+4>>2]=43112;T=0;xe(11,i|0,57437,t|0);n=T;T=0;if(n&1){n=Ze()|0;We(i|0);si(n|0)}else Ei(i|0,864,112)}function hh(e){e=e|0;var i=0;h[e>>2]=43068;T=0;ve(88,e|0,0);i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else{Xu(e+28|0);Hc(h[e+32>>2]|0);Hc(h[e+36>>2]|0);Hc(h[e+48>>2]|0);Hc(h[e+60>>2]|0);return}}function bh(e){e=e|0;hh(e);return}function kh(e){e=e|0;hh(e);zv(e);return}function wh(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;r=h[e+40>>2]|0;t=e+32|0;n=e+36|0;if(r)do{r=r+-1|0;RE[h[(h[t>>2]|0)+(r<<2)>>2]&15](i,e,h[(h[n>>2]|0)+(r<<2)>>2]|0)}while((r|0)!=0);return}function _h(e){e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;qu(i,e+28|0);v=r;return h[i>>2]|0}function mh(e,i){e=e|0;i=i|0;var r=0;h[e+24>>2]=i;h[e+16>>2]=(i|0)==0&1;h[e+20>>2]=0;h[e+4>>2]=4098;h[e+12>>2]=0;h[e+8>>2]=6;r=e+28|0;i=e+32|0;e=i+40|0;do{h[i>>2]=0;i=i+4|0}while((i|0)<(e|0));Yu(r);return}function ph(e){e=e|0;hh(e);return}function vh(e){e=e|0;hh(e);zv(e);return}function gh(e){e=e|0;h[e>>2]=42760;Xu(e+4|0);return}function yh(e){e=e|0;h[e>>2]=42760;Xu(e+4|0);zv(e);return}function Eh(e){e=e|0;h[e>>2]=42760;Yu(e+4|0);e=e+8|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[e+20>>2]=0;return}function Ah(e,i){e=e|0;i=i|0;return}function Mh(e,i,r){e=e|0;i=i|0;r=r|0;return e|0}function Th(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function Sh(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function Ph(e){e=e|0;return 0}function Oh(e){e=e|0;return 0}function Rh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+12|0;a=e+16|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=h[f>>2]|0;if(t>>>0<(h[a>>2]|0)>>>0){h[f>>2]=t+1;t=c[t>>0]|0}else{t=mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;if((t|0)==-1)break e;t=t&255}c[n>>0]=t;i=i+1|0;if((i|0)<(r|0))n=n+1|0;else break}}else i=0}while(0);return i|0}function Lh(e){e=e|0;return-1}function Ch(e){e=e|0;var i=0;if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1)e=-1;else{i=e+12|0;e=h[i>>2]|0;h[i>>2]=e+1;e=b[e>>0]|0}return e|0}function Dh(e,i){e=e|0;i=i|0;return-1}function xh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;f=e+24|0;a=e+28|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=h[f>>2]|0;if(t>>>0>=(h[a>>2]|0)>>>0){if((ME[h[(h[e>>2]|0)+52>>2]&63](e,b[n>>0]|0)|0)==-1)break e}else{l=c[n>>0]|0;h[f>>2]=t+1;c[t>>0]=l}i=i+1|0;if((i|0)<(r|0))n=n+1|0;else break}}else i=0}while(0);return i|0}function Ih(e,i){e=e|0;i=i|0;return-1}function Bh(e){e=e|0;h[e>>2]=42824;Xu(e+4|0);return}function Nh(e){e=e|0;h[e>>2]=42824;Xu(e+4|0);zv(e);return}function Fh(e){e=e|0;h[e>>2]=42824;Yu(e+4|0);e=e+8|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[e+20>>2]=0;return}function Uh(e,i){e=e|0;i=i|0;return}function jh(e,i,r){e=e|0;i=i|0;r=r|0;return e|0}function Hh(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function Yh(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function qh(e){e=e|0;return 0}function Xh(e){e=e|0;return 0}function zh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+12|0;a=e+16|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=h[f>>2]|0;if(t>>>0>=(h[a>>2]|0)>>>0){t=mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;if((t|0)==-1)break e}else{h[f>>2]=t+4;t=h[t>>2]|0}h[n>>2]=t;i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0}while(0);return i|0}function Vh(e){e=e|0;return-1}function Gh(e){e=e|0;var i=0;if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1)e=-1;else{i=e+12|0;e=h[i>>2]|0;h[i>>2]=e+4;e=h[e>>2]|0}return e|0}function Kh(e,i){e=e|0;i=i|0;return-1}function Wh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;f=e+24|0;a=e+28|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=h[f>>2]|0;if(t>>>0>=(h[a>>2]|0)>>>0){if((ME[h[(h[e>>2]|0)+52>>2]&63](e,h[n>>2]|0)|0)==-1)break e}else{l=h[n>>2]|0;h[f>>2]=t+4;h[t>>2]=l}i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0}while(0);return i|0}function Jh(e,i){e=e|0;i=i|0;return-1}function Zh(e){e=e|0;hh(e+8|0);return}function Qh(e){e=e|0;hh(e+((h[(h[e>>2]|0)+-12>>2]|0)+8)|0);return}function $h(e){e=e|0;hh(e+8|0);zv(e);return}function eb(e){e=e|0;$h(e+(h[(h[e>>2]|0)+-12>>2]|0)|0);return}function ib(e){e=e|0;var i=0,r=0,t=0,n=0;t=v;v=v+16|0;r=t;e:do{if(h[e+((h[(h[e>>2]|0)+-12>>2]|0)+24)>>2]|0){T=0;ve(65,r|0,e|0);i=T;T=0;i:do{if(i&1)i=Ze(0)|0;else{do{if(c[r>>0]|0){i=h[e+((h[(h[e>>2]|0)+-12>>2]|0)+24)>>2]|0;T=0;i=ye(h[(h[i>>2]|0)+24>>2]|0,i|0)|0;n=T;T=0;if(!(n&1)){if((i|0)!=-1)break;n=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+n|0,h[e+(n+16)>>2]|1|0);n=T;T=0;if(!(n&1))break}i=Ze(0)|0;bb(r);break i}}while(0);bb(r);break e}}while(0);fi(i|0)|0;T=0;pe(181,e+(h[(h[e>>2]|0)+-12>>2]|0)|0);n=T;T=0;if(!(n&1)){li();break}i=Ze()|0;T=0;Ie(3);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else si(i|0)}}while(0);v=t;return e|0}function rb(e){e=e|0;var i=0;i=e+16|0;h[i>>2]=h[i>>2]|1;if(!(h[e+20>>2]&1))return;else Ai()}function tb(e){e=e|0;hh(e+8|0);return}function nb(e){e=e|0;hh(e+((h[(h[e>>2]|0)+-12>>2]|0)+8)|0);return}function fb(e){e=e|0;hh(e+8|0);zv(e);return}function ab(e){e=e|0;fb(e+(h[(h[e>>2]|0)+-12>>2]|0)|0);return}function lb(e){e=e|0;var i=0,r=0,t=0,n=0;t=v;v=v+16|0;r=t;e:do{if(h[e+((h[(h[e>>2]|0)+-12>>2]|0)+24)>>2]|0){T=0;ve(89,r|0,e|0);i=T;T=0;i:do{if(i&1)i=Ze(0)|0;else{do{if(c[r>>0]|0){i=h[e+((h[(h[e>>2]|0)+-12>>2]|0)+24)>>2]|0;T=0;i=ye(h[(h[i>>2]|0)+24>>2]|0,i|0)|0;n=T;T=0;if(!(n&1)){if((i|0)!=-1)break;n=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+n|0,h[e+(n+16)>>2]|1|0);n=T;T=0;if(!(n&1))break}i=Ze(0)|0;yb(r);break i}}while(0);yb(r);break e}}while(0);fi(i|0)|0;T=0;pe(181,e+(h[(h[e>>2]|0)+-12>>2]|0)|0);n=T;T=0;if(!(n&1)){li();break}i=Ze()|0;T=0;Ie(3);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else si(i|0)}}while(0);v=t;return e|0}function sb(e,i){e=e|0;i=i|0;return}function ob(e){e=e|0;hh(e+4|0);return}function ub(e){e=e|0;hh(e+((h[(h[e>>2]|0)+-12>>2]|0)+4)|0);return}function cb(e){e=e|0;hh(e+4|0);zv(e);return}function db(e){e=e|0;cb(e+(h[(h[e>>2]|0)+-12>>2]|0)|0);return}function hb(e,i){e=e|0;i=i|0;var r=0;c[e>>0]=0;h[e+4>>2]=i;r=h[(h[i>>2]|0)+-12>>2]|0;if(!(h[i+(r+16)>>2]|0)){r=h[i+(r+72)>>2]|0;if(r)ib(r)|0;c[e>>0]=1}return}function bb(e){e=e|0;var i=0,r=0;e=e+4|0;r=h[e>>2]|0;i=h[(h[r>>2]|0)+-12>>2]|0;do{if((((h[r+(i+24)>>2]|0)!=0?(h[r+(i+16)>>2]|0)==0:0)?(h[r+(i+4)>>2]&8192|0)!=0:0)?!(oi()|0):0){i=h[e>>2]|0;i=h[i+((h[(h[i>>2]|0)+-12>>2]|0)+24)>>2]|0;T=0;i=ye(h[(h[i>>2]|0)+24>>2]|0,i|0)|0;r=T;T=0;if(!(r&1)){if((i|0)!=-1)break;i=h[e>>2]|0;r=h[(h[i>>2]|0)+-12>>2]|0;T=0;ve(66,i+r|0,h[i+(r+16)>>2]|1|0);r=T;T=0;if(!(r&1))break}r=Ze(0)|0;fi(r|0)|0;T=0;Ie(3);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}}}while(0);return}function kb(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+32|0;l=b+20|0;s=b+16|0;u=b+8|0;r=b;T=0;ve(65,u|0,e|0);o=T;T=0;e:do{if(o&1){r=Ze(0)|0;t=e;n=e;d=19}else{do{if(c[u>>0]|0){o=_h(e+(h[(h[e>>2]|0)+-12>>2]|0)|0)|0;h[r>>2]=o;T=0;o=Oe(37,r|0,43392)|0;a=T;T=0;if(a&1){d=Ze(0)|0;Xu(r);r=d}else{Xu(r);n=h[(h[e>>2]|0)+-12>>2]|0;a=h[e+(n+24)>>2]|0;t=e+n|0;n=e+(n+76)|0;r=h[n>>2]|0;do{if((r|0)==-1){r=_h(t)|0;h[l>>2]=r;T=0;r=Oe(37,l|0,44220)|0;k=T;T=0;if(!(k&1)?(T=0,f=Oe(h[(h[r>>2]|0)+28>>2]|0,r|0,32)|0,k=T,T=0,!(k&1)):0){Xu(l);r=f<<24>>24;h[n>>2]=r;d=10;break}r=Ze(0)|0;Xu(l)}else d=10}while(0);if((d|0)==10){k=h[(h[o>>2]|0)+16>>2]|0;h[s>>2]=a;T=0;h[l>>2]=h[s>>2];r=Re(k|0,o|0,l|0,t|0,r&255|0,i|0)|0;k=T;T=0;if(!(k&1)){if(r)break;k=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+k|0,h[e+(k+16)>>2]|5|0);k=T;T=0;if(!(k&1))break}r=Ze(0)|0}}bb(u);t=e;n=e;d=19;break e}}while(0);bb(u)}}while(0);do{if((d|0)==19){fi(r|0)|0;T=0;pe(181,t+(h[(h[n>>2]|0)+-12>>2]|0)|0);k=T;T=0;if(!(k&1)){li();break}r=Ze()|0;T=0;Ie(3);k=T;T=0;if(k&1){k=Ze(0)|0;Ki(k)}else si(r|0)}}while(0);v=b;return e|0}function wb(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+32|0;l=b+20|0;s=b+16|0;u=b+8|0;r=b;T=0;ve(65,u|0,e|0);o=T;T=0;e:do{if(o&1){r=Ze(0)|0;t=e;n=e;d=19}else{do{if(c[u>>0]|0){o=_h(e+(h[(h[e>>2]|0)+-12>>2]|0)|0)|0;h[r>>2]=o;T=0;o=Oe(37,r|0,43392)|0;a=T;T=0;if(a&1){d=Ze(0)|0;Xu(r);r=d}else{Xu(r);n=h[(h[e>>2]|0)+-12>>2]|0;a=h[e+(n+24)>>2]|0;t=e+n|0;n=e+(n+76)|0;r=h[n>>2]|0;do{if((r|0)==-1){r=_h(t)|0;h[l>>2]=r;T=0;r=Oe(37,l|0,44220)|0;k=T;T=0;if(!(k&1)?(T=0,f=Oe(h[(h[r>>2]|0)+28>>2]|0,r|0,32)|0,k=T,T=0,!(k&1)):0){Xu(l);r=f<<24>>24;h[n>>2]=r;d=10;break}r=Ze(0)|0;Xu(l)}else d=10}while(0);if((d|0)==10){k=h[(h[o>>2]|0)+24>>2]|0;h[s>>2]=a;T=0;h[l>>2]=h[s>>2];r=Re(k|0,o|0,l|0,t|0,r&255|0,i|0)|0;k=T;T=0;if(!(k&1)){if(r)break;k=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+k|0,h[e+(k+16)>>2]|5|0);k=T;T=0;if(!(k&1))break}r=Ze(0)|0}}bb(u);t=e;n=e;d=19;break e}}while(0);bb(u)}}while(0);do{if((d|0)==19){fi(r|0)|0;T=0;pe(181,t+(h[(h[n>>2]|0)+-12>>2]|0)|0);k=T;T=0;if(!(k&1)){li();break}r=Ze()|0;T=0;Ie(3);k=T;T=0;if(k&1){k=Ze(0)|0;Ki(k)}else si(r|0)}}while(0);v=b;return e|0}function _b(e){e=e|0;hh(e+4|0);return}function mb(e){e=e|0;hh(e+((h[(h[e>>2]|0)+-12>>2]|0)+4)|0);return}function pb(e){e=e|0;hh(e+4|0);zv(e);return}function vb(e){e=e|0;pb(e+(h[(h[e>>2]|0)+-12>>2]|0)|0);return}function gb(e,i){e=e|0;i=i|0;var r=0;c[e>>0]=0;h[e+4>>2]=i;r=h[(h[i>>2]|0)+-12>>2]|0;if(!(h[i+(r+16)>>2]|0)){r=h[i+(r+72)>>2]|0;if(r)lb(r)|0;c[e>>0]=1}return}function yb(e){e=e|0;var i=0,r=0;e=e+4|0;r=h[e>>2]|0;i=h[(h[r>>2]|0)+-12>>2]|0;do{if((((h[r+(i+24)>>2]|0)!=0?(h[r+(i+16)>>2]|0)==0:0)?(h[r+(i+4)>>2]&8192|0)!=0:0)?!(oi()|0):0){i=h[e>>2]|0;i=h[i+((h[(h[i>>2]|0)+-12>>2]|0)+24)>>2]|0;T=0;i=ye(h[(h[i>>2]|0)+24>>2]|0,i|0)|0;r=T;T=0;if(!(r&1)){if((i|0)!=-1)break;i=h[e>>2]|0;r=h[(h[i>>2]|0)+-12>>2]|0;T=0;ve(66,i+r|0,h[i+(r+16)>>2]|1|0);r=T;T=0;if(!(r&1))break}r=Ze(0)|0;fi(r|0)|0;T=0;Ie(3);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}}}while(0);return}function Eb(e){e=e|0;return 57453}function Ab(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)!=1&(r|0)<257)Ld(e,i,r);else Hd(e,57462,35);return}function Mb(){if((c[1048]|0)==0?(ze(1048)|0)!=0:0){h[10778]=43084;yi(72,43112,M|0)|0;$e(1048)}return 43112}function Tb(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;t=v;v=v+16|0;n=t+8|0;f=t;l=r;a=h[l+4>>2]|0;r=f;h[r>>2]=h[l>>2];h[r+4>>2]=a;h[n>>2]=h[f>>2];h[n+4>>2]=h[f+4>>2];Dd(e,n,i);h[e>>2]=43048;v=t;return}function Sb(e){e=e|0;Bd(e);return}function Pb(e){e=e|0;Bd(e);zv(e);return}function Ob(e){e=e|0;hh(e);zv(e);return}function Rb(e){e=e|0;zv(e);return}function Lb(e){e=e|0;return}function Cb(e){e=e|0;return}function Db(e){e=e|0;zv(e);return}function xb(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;e:do{if((t|0)==(n|0))a=6;else while(1){if((i|0)==(r|0)){i=-1;break e}e=c[i>>0]|0;f=c[t>>0]|0;if(e<<24>>24>24){i=-1;break e}if(f<<24>>24>24){i=1;break e}i=i+1|0;t=t+1|0;if((t|0)==(n|0)){a=6;break}}}while(0);if((a|0)==6)i=(i|0)!=(r|0)&1;return i|0}function Ib(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;uh(e,r,t);return}function Bb(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((i|0)==(r|0))e=0;else{e=0;do{e=(c[i>>0]|0)+(e<<4)|0;t=e&-268435456;e=(t>>>24|t)^e;i=i+1|0}while((i|0)!=(r|0))}return e|0}function Nb(e){e=e|0;return}function Fb(e){e=e|0;zv(e);return}function Ub(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;e:do{if((t|0)==(n|0))a=6;else while(1){if((i|0)==(r|0)){i=-1;break e}e=h[i>>2]|0;f=h[t>>2]|0;if((e|0)<(f|0)){i=-1;break e}if((f|0)<(e|0)){i=1;break e}i=i+4|0;t=t+4|0;if((t|0)==(n|0)){a=6;break}}}while(0);if((a|0)==6)i=(i|0)!=(r|0)&1;return i|0}function jb(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;ch(e,r,t);return}function Hb(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((i|0)==(r|0))e=0;else{e=0;do{e=(h[i>>2]|0)+(e<<4)|0;t=e&-268435456;e=(t>>>24|t)^e;i=i+4|0}while((i|0)!=(r|0))}return e|0}function Yb(e){e=e|0;return}function qb(e){e=e|0;zv(e);return}function Xb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;w=v;v=v+64|0;b=w+56|0;a=w+52|0;u=w+48|0;l=w+44|0;s=w+40|0;o=w+36|0;d=w+32|0;_=w+8|0;k=w;e:do{if(!(h[t+4>>2]&1)){h[u>>2]=-1;_=h[(h[e>>2]|0)+16>>2]|0;h[l>>2]=h[i>>2];h[s>>2]=h[r>>2];h[a>>2]=h[l>>2];h[b>>2]=h[s>>2];a=_E[_&63](e,a,b,t,n,u)|0;h[i>>2]=a;switch(h[u>>2]|0){case 0:{c[f>>0]=0;break e}case 1:{c[f>>0]=1;break e}default:{c[f>>0]=1;h[n>>2]=4;break e}}}else{a=_h(t)|0;h[o>>2]=a;T=0;e=Oe(37,o|0,44220)|0;u=T;T=0;do{if(!(u&1)){Ad(a)|0;a=_h(t)|0;h[d>>2]=a;T=0;s=Oe(37,d|0,44360)|0;d=T;T=0;if(d&1){_=Ze()|0;Ad(a)|0;a=_;break}Ad(a)|0;T=0;ve(h[(h[s>>2]|0)+24>>2]|0,_|0,s|0);d=T;T=0;if(!(d&1)){l=_+12|0;T=0;ve(h[(h[s>>2]|0)+28>>2]|0,l|0,s|0);d=T;T=0;if(!(d&1)){h[k>>2]=h[r>>2];T=0;h[b>>2]=h[k>>2];a=we(7,i|0,b|0,_|0,_+24|0,e|0,n|0,1)|0;n=T;T=0;if(n&1){a=Ze()|0;qd(_+12|0);qd(_);break}else{c[f>>0]=(a|0)==(_|0)&1;a=h[i>>2]|0;qd(_+12|0);qd(_);break e}}}else l=_;a=Ze()|0;s=H;if((_|0)!=(l|0))do{l=l+-12|0;qd(l)}while((l|0)!=(_|0))}else{_=Ze()|0;Ad(a)|0;a=_}}while(0);si(a|0)}}while(0);v=w;return a|0}function zb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Kw(e,s,l,t,n,f)|0;v=a;return e|0}function Vb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Ww(e,s,l,t,n,f)|0;v=a;return e|0}function Gb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Jw(e,s,l,t,n,f)|0;v=a;return e|0}function Kb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Zw(e,s,l,t,n,f)|0;v=a;return e|0}function Wb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Qw(e,s,l,t,n,f)|0;v=a;return e|0}function Jb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=$w(e,s,l,t,n,f)|0;v=a;return e|0}function Zb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=e_(e,s,l,t,n,f)|0;v=a;return e|0}function Qb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=i_(e,s,l,t,n,f)|0;v=a;return e|0}function $b(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=r_(e,s,l,t,n,f)|0;v=a;return e|0}function ek(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;P=v;v=v+240|0;y=P;w=P+208|0;R=P+32|0;e=P+28|0;O=P+16|0;g=P+12|0;m=P+48|0;p=P+8|0;_=P+4|0;h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;T=0;t=ye(68,t|0)|0;k=T;T=0;do{if(k&1)e=Ze()|0;else{h[e>>2]=t;T=0;e=Oe(37,e|0,44220)|0;k=T;T=0;if(!(k&1)?(T=0,De(h[(h[e>>2]|0)+32>>2]|0,e|0,57498,57524,w|0)|0,k=T,T=0,!(k&1)):0){Ad(t)|0;h[O>>2]=0;h[O+4>>2]=0;h[O+8>>2]=0;if(!(c[O>>0]&1))e=10;else e=(h[O>>2]&-2)+-1|0;T=0;xe(8,O|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=O+8|0;k=O+1|0;t=(c[O>>0]&1)==0?k:h[d>>2]|0;h[g>>2]=t;h[p>>2]=m;h[_>>2]=0;u=O+4|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){L=29;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){L=29;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;L=19;break}}else L=19}while(0);if((L|0)==19){L=0;if(l){a=0;break}else a=0}l=c[O>>0]|0;l=(l&1)==0?(l&255)>>>1:h[u>>2]|0;if((h[g>>2]|0)==(t+l|0)){T=0;xe(8,O|0,l<<1|0,0);o=T;T=0;if(o&1){L=29;break}if(!(c[O>>0]&1))t=10;else t=(h[O>>2]&-2)+-1|0;T=0;xe(8,O|0,t|0,0);o=T;T=0;if(o&1){L=29;break}t=(c[O>>0]&1)==0?k:h[d>>2]|0;h[g>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;C=T;T=0;if(C&1){L=29;break}}else l=b[l>>0]|0;if(ik(l&255,16,t,g,_,0,R,m,p,w)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;C=T;T=0;if(C&1){L=29;break}else continue}else{h[s>>2]=a+1;continue}}if((L|0)==29){e=Ze()|0;break}T=0;xe(8,O|0,(h[g>>2]|0)-t|0,0);C=T;T=0;if((!(C&1)?(E=c[O>>0]|0,A=h[d>>2]|0,T=0,M=Ce(3)|0,C=T,T=0,!(C&1)):0)?(T=0,h[y>>2]=f,S=De(16,((E&1)==0?k:A)|0,M|0,58882,y|0)|0,C=T,T=0,!(C&1)):0){if((S|0)!=1)h[n>>2]=4;if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;C=T;T=0;if(C&1){L=30;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;C=T;T=0;if(C&1){L=30;break e}if((e|0)==-1){h[r>>2]=0;L=55;break}}if(!t)L=56}else L=55}while(0);if((L|0)==55?t:0)L=56;if((L|0)==56)h[n>>2]=h[n>>2]|2;C=h[i>>2]|0;qd(O);qd(R);v=P;return C|0}else L=30}else L=30}while(0);if((L|0)==30)e=Ze()|0;qd(O);break}e=Ze()|0;Ad(t)|0}}while(0);qd(R);si(e|0);return 0}function ik(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0;b=h[t>>2]|0;k=(b|0)==(r|0);do{if(k){u=(c[o+24>>0]|0)==e<<24>>24;if(!u?(c[o+25>>0]|0)!=e<<24>>24:0){d=5;break}h[t>>2]=r+1;c[r>>0]=u?43:45;h[n>>2]=0;u=0}else d=5}while(0);e:do{if((d|0)==5){d=c[a>>0]|0;if(e<<24>>24==f<<24>>24?(((d&1)==0?(d&255)>>>1:h[a+4>>2]|0)|0)!=0:0){u=h[s>>2]|0;if((u-l|0)>=160){u=0;break}i=h[n>>2]|0;h[s>>2]=u+4;h[u>>2]=i;h[n>>2]=0;u=0;break}a=o+26|0;u=o;while(1){if((c[u>>0]|0)==e<<24>>24)break;u=u+1|0;if((u|0)==(a|0)){u=a;break}}u=u-o|0;if((u|0)>23)u=-1;else{switch(i|0){case 10:case 8:{if((u|0)>=(i|0)){u=-1;break e}break}case 16:{if((u|0)>=22){if(k){u=-1;break e}if((b-r|0)>=3){u=-1;break e}if((c[b+-1>>0]|0)!=48){u=-1;break e}h[n>>2]=0;u=c[57498+u>>0]|0;h[t>>2]=b+1;c[b>>0]=u;u=0;break e}break}default:{}}u=c[57498+u>>0]|0;h[t>>2]=b+1;c[b>>0]=u;h[n>>2]=(h[n>>2]|0)+1;u=0}}}while(0);return u|0}function rk(){var e=0,i=0;do{if((c[1968]|0)==0?(ze(1968)|0)!=0:0){T=0;e=Ae(31,2147483647,58885,0)|0;i=T;T=0;if(i&1){i=Ze()|0;Ri(1968);si(i|0)}else{h[11196]=e;$e(1968);break}}}while(0);return h[11196]|0}function tk(e){e=e|0;return}function nk(e){e=e|0;zv(e);return}function fk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;w=v;v=v+64|0;b=w+56|0;a=w+52|0;u=w+48|0;l=w+44|0;s=w+40|0;o=w+36|0;d=w+32|0;_=w+8|0;k=w;e:do{if(!(h[t+4>>2]&1)){h[u>>2]=-1;_=h[(h[e>>2]|0)+16>>2]|0;h[l>>2]=h[i>>2];h[s>>2]=h[r>>2];h[a>>2]=h[l>>2];h[b>>2]=h[s>>2];a=_E[_&63](e,a,b,t,n,u)|0;h[i>>2]=a;switch(h[u>>2]|0){case 0:{c[f>>0]=0;break e}case 1:{c[f>>0]=1;break e}default:{c[f>>0]=1;h[n>>2]=4;break e}}}else{a=_h(t)|0;h[o>>2]=a;T=0;e=Oe(37,o|0,44212)|0;u=T;T=0;do{if(!(u&1)){Ad(a)|0;a=_h(t)|0;h[d>>2]=a;T=0;s=Oe(37,d|0,44368)|0;d=T;T=0;if(d&1){_=Ze()|0;Ad(a)|0;a=_;break}Ad(a)|0;T=0;ve(h[(h[s>>2]|0)+24>>2]|0,_|0,s|0);d=T;T=0;if(!(d&1)){l=_+12|0;T=0;ve(h[(h[s>>2]|0)+28>>2]|0,l|0,s|0);d=T;T=0;if(!(d&1)){h[k>>2]=h[r>>2];T=0;h[b>>2]=h[k>>2];a=we(8,i|0,b|0,_|0,_+24|0,e|0,n|0,1)|0;n=T;T=0;if(n&1){a=Ze()|0;th(_+12|0);th(_);break}else{c[f>>0]=(a|0)==(_|0)&1;a=h[i>>2]|0;th(_+12|0);th(_);break e}}}else l=_;a=Ze()|0;s=H;if((_|0)!=(l|0))do{l=l+-12|0;th(l)}while((l|0)!=(_|0))}else{_=Ze()|0;Ad(a)|0;a=_}}while(0);si(a|0)}}while(0);v=w;return a|0}function ak(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=f_(e,s,l,t,n,f)|0;v=a;return e|0}function lk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=a_(e,s,l,t,n,f)|0;v=a;return e|0}function sk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=l_(e,s,l,t,n,f)|0;v=a;return e|0}function ok(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=s_(e,s,l,t,n,f)|0;v=a;return e|0}function uk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=o_(e,s,l,t,n,f)|0;v=a;return e|0}function ck(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=u_(e,s,l,t,n,f)|0;v=a;return e|0}function dk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=c_(e,s,l,t,n,f)|0;v=a;return e|0}function hk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=d_(e,s,l,t,n,f)|0;v=a;return e|0}function bk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=h_(e,s,l,t,n,f)|0;v=a;return e|0}function kk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0;S=v;v=v+320|0;g=S;k=S+208|0;O=S+32|0;e=S+28|0;P=S+16|0;p=S+12|0;_=S+48|0;m=S+8|0;w=S+4|0;h[O>>2]=0;h[O+4>>2]=0;h[O+8>>2]=0;T=0;t=ye(68,t|0)|0;b=T;T=0;do{if(b&1)e=Ze()|0;else{h[e>>2]=t;T=0;e=Oe(37,e|0,44212)|0;b=T;T=0;if(!(b&1)?(T=0,De(h[(h[e>>2]|0)+48>>2]|0,e|0,57498,57524,k|0)|0,b=T,T=0,!(b&1)):0){Ad(t)|0;h[P>>2]=0;h[P+4>>2]=0;h[P+8>>2]=0;if(!(c[P>>0]&1))e=10;else e=(h[P>>2]&-2)+-1|0;T=0;xe(8,P|0,e|0,0);b=T;T=0;e:do{if(!(b&1)){d=P+8|0;b=P+1|0;e=(c[P>>0]&1)==0?b:h[d>>2]|0;h[p>>2]=e;h[m>>2]=_;h[w>>2]=0;u=P+4|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){R=30;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){R=30;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l){a=s;break}else{a=s;break i}else{h[r>>2]=0;R=20;break}}else R=20}while(0);if((R|0)==20){R=0;if(l){a=0;break}else a=0}l=c[P>>0]|0;l=(l&1)==0?(l&255)>>>1:h[u>>2]|0;if((h[p>>2]|0)==(e+l|0)){T=0;xe(8,P|0,l<<1|0,0);o=T;T=0;if(o&1){R=30;break}if(!(c[P>>0]&1))e=10;else e=(h[P>>2]&-2)+-1|0;T=0;xe(8,P|0,e|0,0);o=T;T=0;if(o&1){R=30;break}e=(c[P>>0]&1)==0?b:h[d>>2]|0;h[p>>2]=e+l}s=t+12|0;l=h[s>>2]|0;o=t+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;L=T;T=0;if(L&1){R=30;break}}else l=h[l>>2]|0;if(wk(l,16,e,p,w,0,O,_,m,k)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;L=T;T=0;if(L&1){R=30;break}else{a=t;continue}}else{h[s>>2]=a+4;a=t;continue}}if((R|0)==30){e=Ze()|0;break}T=0;xe(8,P|0,(h[p>>2]|0)-e|0,0);L=T;T=0;if((!(L&1)?(y=c[P>>0]|0,E=h[d>>2]|0,T=0,A=Ce(3)|0,L=T,T=0,!(L&1)):0)?(T=0,h[g>>2]=f,M=De(16,((y&1)==0?b:E)|0,A|0,58882,g|0)|0,L=T,T=0,!(L&1)):0){if((M|0)!=1)h[n>>2]=4;if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;L=T;T=0;if(L&1){R=31;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;L=T;T=0;if(L&1){R=31;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{R=59;break}else{h[r>>2]=0;R=57;break}}else R=57}while(0);if((R|0)==57?t:0)R=59;if((R|0)==59)h[n>>2]=h[n>>2]|2;L=h[i>>2]|0;qd(P);qd(O);v=S;return L|0}else R=31}else R=31}while(0);if((R|0)==31)e=Ze()|0;qd(P);break}e=Ze()|0;Ad(t)|0}}while(0);qd(O);si(e|0);return 0}function wk(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0;b=h[t>>2]|0;k=(b|0)==(r|0);do{if(k){u=(h[o+96>>2]|0)==(e|0);if(!u?(h[o+100>>2]|0)!=(e|0):0){d=5;break}h[t>>2]=r+1;c[r>>0]=u?43:45;h[n>>2]=0;u=0}else d=5}while(0);e:do{if((d|0)==5){d=c[a>>0]|0;if((e|0)==(f|0)?(((d&1)==0?(d&255)>>>1:h[a+4>>2]|0)|0)!=0:0){u=h[s>>2]|0;if((u-l|0)>=160){u=0;break}i=h[n>>2]|0;h[s>>2]=u+4;h[u>>2]=i;h[n>>2]=0;u=0;break}a=o+104|0;u=o;while(1){if((h[u>>2]|0)==(e|0))break;u=u+4|0;if((u|0)==(a|0)){u=a;break}}u=u-o|0;a=u>>2;if((u|0)>92)u=-1;else{switch(i|0){case 10:case 8:{if((a|0)>=(i|0)){u=-1;break e}break}case 16:{if((u|0)>=88){if(k){u=-1;break e}if((b-r|0)>=3){u=-1;break e}if((c[b+-1>>0]|0)!=48){u=-1;break e}h[n>>2]=0;u=c[57498+a>>0]|0;h[t>>2]=b+1;c[b>>0]=u;u=0;break e}break}default:{}}u=c[57498+a>>0]|0;h[t>>2]=b+1;c[b>>0]=u;h[n>>2]=(h[n>>2]|0)+1;u=0}}}while(0);return u|0}function _k(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+16|0;l=s;i=_h(i)|0;h[l>>2]=i;T=0;n=Oe(37,l|0,44220)|0;o=T;T=0;if((((!(o&1)?(T=0,De(h[(h[n>>2]|0)+32>>2]|0,n|0,57498,57524,r|0)|0,o=T,T=0,!(o&1)):0)?(T=0,a=Oe(37,l|0,44360)|0,o=T,T=0,!(o&1)):0)?(T=0,f=ye(h[(h[a>>2]|0)+16>>2]|0,a|0)|0,o=T,T=0,!(o&1)):0)?(c[t>>0]=f,T=0,ve(h[(h[a>>2]|0)+20>>2]|0,e|0,a|0),o=T,T=0,!(o&1)):0){Ad(i)|0;v=s;return}o=Ze()|0;Ad(i)|0;si(o|0)}function mk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;u=v;v=v+16|0;o=u;i=_h(i)|0;h[o>>2]=i;T=0;f=Oe(37,o|0,44220)|0;d=T;T=0;if(((((!(d&1)?(T=0,De(h[(h[f>>2]|0)+32>>2]|0,f|0,57498,57530,r|0)|0,d=T,T=0,!(d&1)):0)?(T=0,s=Oe(37,o|0,44360)|0,d=T,T=0,!(d&1)):0)?(T=0,a=ye(h[(h[s>>2]|0)+12>>2]|0,s|0)|0,d=T,T=0,!(d&1)):0)?(c[t>>0]=a,T=0,l=ye(h[(h[s>>2]|0)+16>>2]|0,s|0)|0,d=T,T=0,!(d&1)):0)?(c[n>>0]=l,T=0,ve(h[(h[s>>2]|0)+20>>2]|0,e|0,s|0),d=T,T=0,!(d&1)):0){Ad(i)|0;v=u;return}d=Ze()|0;Ad(i)|0;si(d|0)}function pk(e,i,r,t,n,f,a,l,s,o,u,d){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;d=d|0;var k=0,w=0;e:do{if(e<<24>>24==f<<24>>24)if(c[i>>0]|0){c[i>>0]=0;r=h[n>>2]|0;h[n>>2]=r+1;c[r>>0]=46;r=c[l>>0]|0;if((((r&1)==0?(r&255)>>>1:h[l+4>>2]|0)|0)!=0?(k=h[o>>2]|0,(k-s|0)<160):0){s=h[u>>2]|0;h[o>>2]=k+4;h[k>>2]=s;k=0}else k=0}else k=-1;else{if(e<<24>>24==a<<24>>24?(a=c[l>>0]|0,(((a&1)==0?(a&255)>>>1:h[l+4>>2]|0)|0)!=0):0){if(!(c[i>>0]|0)){k=-1;break}k=h[o>>2]|0;if((k-s|0)>=160){k=0;break}s=h[u>>2]|0;h[o>>2]=k+4;h[k>>2]=s;h[u>>2]=0;k=0;break}f=d+32|0;k=d;while(1){if((c[k>>0]|0)==e<<24>>24)break;k=k+1|0;if((k|0)==(f|0)){k=f;break}}f=k-d|0;if((f|0)>31)k=-1;else{a=c[57498+f>>0]|0;switch(f|0){case 24:case 25:{k=h[n>>2]|0;if((k|0)!=(t|0)?(b[k+-1>>0]&95|0)!=(b[r>>0]&127|0):0){k=-1;break e}h[n>>2]=k+1;c[k>>0]=a;k=0;break e}case 23:case 22:{c[r>>0]=80;k=h[n>>2]|0;h[n>>2]=k+1;c[k>>0]=a;k=0;break e}default:{k=a&95;if((((k|0)==(c[r>>0]|0)?(c[r>>0]=k|128,(c[i>>0]|0)!=0):0)?(c[i>>0]=0,r=c[l>>0]|0,(((r&1)==0?(r&255)>>>1:h[l+4>>2]|0)|0)!=0):0)?(w=h[o>>2]|0,(w-s|0)<160):0){s=h[u>>2]|0;h[o>>2]=w+4;h[w>>2]=s}o=h[n>>2]|0;h[n>>2]=o+1;c[o>>0]=a;if((f|0)>21){k=0;break e}h[u>>2]=(h[u>>2]|0)+1;k=0;break e}}}}}while(0);return k|0}function vk(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+16|0;l=s;i=_h(i)|0;h[l>>2]=i;T=0;n=Oe(37,l|0,44212)|0;o=T;T=0;if((((!(o&1)?(T=0,De(h[(h[n>>2]|0)+48>>2]|0,n|0,57498,57524,r|0)|0,o=T,T=0,!(o&1)):0)?(T=0,a=Oe(37,l|0,44368)|0,o=T,T=0,!(o&1)):0)?(T=0,f=ye(h[(h[a>>2]|0)+16>>2]|0,a|0)|0,o=T,T=0,!(o&1)):0)?(h[t>>2]=f,T=0,ve(h[(h[a>>2]|0)+20>>2]|0,e|0,a|0),o=T,T=0,!(o&1)):0){Ad(i)|0;v=s;return}o=Ze()|0;Ad(i)|0;si(o|0)}function gk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0;u=v;v=v+16|0;o=u;i=_h(i)|0;h[o>>2]=i;T=0;f=Oe(37,o|0,44212)|0;c=T;T=0;if(((((!(c&1)?(T=0,De(h[(h[f>>2]|0)+48>>2]|0,f|0,57498,57530,r|0)|0,c=T,T=0,!(c&1)):0)?(T=0,s=Oe(37,o|0,44368)|0,c=T,T=0,!(c&1)):0)?(T=0,a=ye(h[(h[s>>2]|0)+12>>2]|0,s|0)|0,c=T,T=0,!(c&1)):0)?(h[t>>2]=a,T=0,l=ye(h[(h[s>>2]|0)+16>>2]|0,s|0)|0,c=T,T=0,!(c&1)):0)?(h[n>>2]=l,T=0,ve(h[(h[s>>2]|0)+20>>2]|0,e|0,s|0),c=T,T=0,!(c&1)):0){Ad(i)|0;v=u;return}c=Ze()|0;Ad(i)|0;si(c|0)}function yk(e,i,r,t,n,f,a,l,s,o,u,d){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;d=d|0;var k=0,w=0;e:do{if((e|0)==(f|0))if(c[i>>0]|0){c[i>>0]=0;r=h[n>>2]|0;h[n>>2]=r+1;c[r>>0]=46;r=c[l>>0]|0;if((((r&1)==0?(r&255)>>>1:h[l+4>>2]|0)|0)!=0?(k=h[o>>2]|0,(k-s|0)<160):0){s=h[u>>2]|0;h[o>>2]=k+4;h[k>>2]=s;k=0}else k=0}else k=-1;else{if((e|0)==(a|0)?(a=c[l>>0]|0,(((a&1)==0?(a&255)>>>1:h[l+4>>2]|0)|0)!=0):0){if(!(c[i>>0]|0)){k=-1;break}k=h[o>>2]|0;if((k-s|0)>=160){k=0;break}s=h[u>>2]|0;h[o>>2]=k+4;h[k>>2]=s;h[u>>2]=0;k=0;break}f=d+128|0;k=d;while(1){if((h[k>>2]|0)==(e|0))break;k=k+4|0;if((k|0)==(f|0)){k=f;break}}f=k-d|0;k=f>>2;if((f|0)<=124){a=c[57498+k>>0]|0;switch(k|0){case 24:case 25:{k=h[n>>2]|0;if((k|0)!=(t|0)?(b[k+-1>>0]&95|0)!=(b[r>>0]&127|0):0){k=-1;break e}h[n>>2]=k+1;c[k>>0]=a;k=0;break e}case 23:case 22:{c[r>>0]=80;break}default:{k=a&95;if((((k|0)==(c[r>>0]|0)?(c[r>>0]=k|128,(c[i>>0]|0)!=0):0)?(c[i>>0]=0,r=c[l>>0]|0,(((r&1)==0?(r&255)>>>1:h[l+4>>2]|0)|0)!=0):0)?(w=h[o>>2]|0,(w-s|0)<160):0){s=h[u>>2]|0;h[o>>2]=w+4;h[w>>2]=s}}}o=h[n>>2]|0;h[n>>2]=o+1;c[o>>0]=a;if((f|0)>84)k=0;else{h[u>>2]=(h[u>>2]|0)+1;k=0}}else k=-1}}while(0);return k|0}function Ek(e){e=e|0;return}function Ak(e){e=e|0;zv(e);return}function Mk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+32|0;f=u+20|0;a=u+16|0;l=u+12|0;o=u;e:do{if(!(h[r+4>>2]&1)){o=h[(h[e>>2]|0)+24>>2]|0;h[a>>2]=h[i>>2];h[f>>2]=h[a>>2];f=TE[o&31](e,f,r,t,n&1)|0}else{f=_h(r)|0;h[l>>2]=f;T=0;a=Oe(37,l|0,44360)|0;s=T;T=0;i:do{if(s&1){u=Ze()|0;Ad(f)|0;f=u}else{Ad(f)|0;f=h[a>>2]|0;if(n)wE[h[f+24>>2]&127](o,a);else wE[h[f+28>>2]&127](o,a);e=c[o>>0]|0;s=(e&1)==0;f=o+1|0;n=o+8|0;l=s?f:o+1|0;f=s?f:h[o+8>>2]|0;s=o+4|0;r=(e&1)==0;r:do{if((f|0)!=((r?l:h[n>>2]|0)+(r?(e&255)>>>1:h[s>>2]|0)|0)){t:while(1){a=c[f>>0]|0;t=h[i>>2]|0;do{if(t){r=t+24|0;e=h[r>>2]|0;if((e|0)!=(h[t+28>>2]|0)){h[r>>2]=e+1;c[e>>0]=a;break}T=0;a=Oe(h[(h[t>>2]|0)+52>>2]|0,t|0,a&255|0)|0;e=T;T=0;if(e&1)break t;if((a|0)==-1)h[i>>2]=0}}while(0);f=f+1|0;e=c[o>>0]|0;r=(e&1)==0;if((f|0)==((r?l:h[n>>2]|0)+(r?(e&255)>>>1:h[s>>2]|0)|0))break r}f=Ze()|0;qd(o);break i}}while(0);f=h[i>>2]|0;qd(o);break e}}while(0);si(f|0)}}while(0);v=u;return f|0}function Tk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+64|0;f=u;b=u+56|0;k=u+44|0;l=u+20|0;o=u+16|0;s=u+12|0;d=u+8|0;a=u+4|0;c[b>>0]=c[58887]|0;c[b+1>>0]=c[58888]|0;c[b+2>>0]=c[58889]|0;c[b+3>>0]=c[58890]|0;c[b+4>>0]=c[58891]|0;c[b+5>>0]=c[58892]|0;Sk(b+1|0,58893,1,h[r+4>>2]|0);e=rk()|0;h[f>>2]=n;n=k+(b_(k,12,e,b,f)|0)|0;b=Pk(k,n,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(1,k|0,b|0,n|0,l|0,o|0,s|0,d|0);n=T;T=0;if(n&1){k=Ze()|0;Ad(e)|0;si(k|0)}else{Ad(e)|0;h[a>>2]=h[i>>2];b=h[o>>2]|0;k=h[s>>2]|0;h[f>>2]=h[a>>2];k=Vr(f,l,b,k,r,t)|0;v=u;return k|0}return 0}function Sk(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;if(t&2048){c[e>>0]=43;e=e+1|0}if(t&512){c[e>>0]=35;e=e+1|0}n=c[i>>0]|0;if(n<<24>>24){f=i;while(1){f=f+1|0;i=e+1|0;c[e>>0]=n;n=c[f>>0]|0;if(!(n<<24>>24)){e=i;break}else e=i}}e:do{switch(t&74|0){case 64:{c[e>>0]=111;break}case 8:if(!(t&16384)){c[e>>0]=120;break e}else{c[e>>0]=88;break e}default:if(r){c[e>>0]=100;break e}else{c[e>>0]=117;break e}}}while(0);return}function Pk(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e:do{switch(h[r+4>>2]&176|0){case 16:{r=c[e>>0]|0;switch(r<<24>>24){case 43:case 45:{e=e+1|0;break e}default:{}}if((i-e|0)>1&r<<24>>24==48){switch(c[e+1>>0]|0){case 88:case 120:break;default:{t=7;break e}}e=e+2|0}else t=7;break}case 32:{e=i;break}default:t=7}}while(0);return e|0}function Ok(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;p=v;v=v+16|0;g=p;_=Vu(a,44220)|0;o=Vu(a,44360)|0;wE[h[(h[o>>2]|0)+20>>2]&127](g,o);k=c[g>>0]|0;w=g+4|0;e:do{if(!(((k&1)==0?(k&255)>>>1:h[w>>2]|0)|0)){T=0;De(h[(h[_>>2]|0)+32>>2]|0,_|0,e|0,r|0,t|0)|0;m=T;T=0;if(m&1)m=5;else{a=t+(r-e)|0;h[f>>2]=a;m=29}}else{h[f>>2]=t;a=c[e>>0]|0;switch(a<<24>>24){case 43:case 45:{T=0;a=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,a|0)|0;k=T;T=0;if(k&1){m=5;break e}s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=a;s=e+1|0;break}default:s=e}i:do{if((r-s|0)>1?(c[s>>0]|0)==48:0){a=s+1|0;switch(c[a>>0]|0){case 88:case 120:break;default:break i}T=0;l=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,48)|0;k=T;T=0;if(k&1){m=5;break e}k=h[f>>2]|0;h[f>>2]=k+1;c[k>>0]=l;T=0;a=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,c[a>>0]|0)|0;k=T;T=0;if(k&1){m=5;break e}k=h[f>>2]|0;h[f>>2]=k+1;c[k>>0]=a;s=s+2|0}}while(0);if((s|0)!=(r|0)?(u=r+-1|0,s>>>0>>0):0){l=s;a=u;do{k=c[l>>0]|0;c[l>>0]=c[a>>0]|0;c[a>>0]=k;l=l+1|0;a=a+-1|0}while(l>>>0>>0)}T=0;u=ye(h[(h[o>>2]|0)+16>>2]|0,o|0)|0;k=T;T=0;if(!(k&1)){d=g+8|0;b=g+1|0;i:do{if(s>>>0>>0){a=0;l=0;k=s;while(1){o=c[((c[g>>0]&1)==0?b:h[d>>2]|0)+l>>0]|0;if(o<<24>>24!=0&(a|0)==(o<<24>>24|0)){a=h[f>>2]|0;h[f>>2]=a+1;c[a>>0]=u;a=c[g>>0]|0;o=0;l=(l>>>0<(((a&1)==0?(a&255)>>>1:h[w>>2]|0)+-1|0)>>>0&1)+l|0}else o=a;T=0;a=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,c[k>>0]|0)|0;y=T;T=0;if(y&1)break;y=h[f>>2]|0;h[f>>2]=y+1;c[y>>0]=a;k=k+1|0;if(k>>>0>=r>>>0)break i;else a=o+1|0}a=Ze()|0;break e}}while(0);l=e;a=t+(s-l)|0;e=h[f>>2]|0;if((a|0)==(e|0)){e=l;m=29}else{e=e+-1|0;if(a>>>0>>0)do{y=c[a>>0]|0;c[a>>0]=c[e>>0]|0;c[e>>0]=y;a=a+1|0;e=e+-1|0}while(a>>>0>>0);e=l;a=h[f>>2]|0;m=29}}else m=5}}while(0);if((m|0)==5)a=Ze()|0;else if((m|0)==29){h[n>>2]=(i|0)==(r|0)?a:t+(i-e)|0;qd(g);v=p;return}qd(g);si(a|0)}function Rk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;c=v;v=v+96|0;a=c+8|0;e=c;b=c+74|0;s=c+32|0;u=c+28|0;o=c+24|0;d=c+20|0;l=c+16|0;k=e;h[k>>2]=37;h[k+4>>2]=0;Sk(e+1|0,58895,1,h[r+4>>2]|0);k=rk()|0;w=a;h[w>>2]=n;h[w+4>>2]=f;f=b+(b_(b,22,k,e,a)|0)|0;n=Pk(b,f,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(1,b|0,n|0,f|0,s|0,u|0,o|0,d|0);f=T;T=0;if(f&1){w=Ze()|0;Ad(e)|0;si(w|0)}else{Ad(e)|0;h[l>>2]=h[i>>2];k=h[u>>2]|0;w=h[o>>2]|0;h[a>>2]=h[l>>2];w=Vr(a,s,k,w,r,t)|0;v=c;return w|0}return 0}function Lk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+64|0;f=u;b=u+56|0;k=u+44|0;l=u+20|0;o=u+16|0;s=u+12|0;d=u+8|0;a=u+4|0;c[b>>0]=c[58887]|0;c[b+1>>0]=c[58888]|0;c[b+2>>0]=c[58889]|0;c[b+3>>0]=c[58890]|0;c[b+4>>0]=c[58891]|0;c[b+5>>0]=c[58892]|0;Sk(b+1|0,58893,0,h[r+4>>2]|0);e=rk()|0;h[f>>2]=n;n=k+(b_(k,12,e,b,f)|0)|0;b=Pk(k,n,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(1,k|0,b|0,n|0,l|0,o|0,s|0,d|0);n=T;T=0;if(n&1){k=Ze()|0;Ad(e)|0;si(k|0)}else{Ad(e)|0;h[a>>2]=h[i>>2];b=h[o>>2]|0;k=h[s>>2]|0;h[f>>2]=h[a>>2];k=Vr(f,l,b,k,r,t)|0;v=u;return k|0}return 0}function Ck(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;c=v;v=v+112|0;a=c+8|0;e=c;b=c+75|0;s=c+32|0;u=c+28|0;o=c+24|0;d=c+20|0;l=c+16|0;k=e;h[k>>2]=37;h[k+4>>2]=0;Sk(e+1|0,58895,0,h[r+4>>2]|0);k=rk()|0;w=a;h[w>>2]=n;h[w+4>>2]=f;f=b+(b_(b,23,k,e,a)|0)|0;n=Pk(b,f,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(1,b|0,n|0,f|0,s|0,u|0,o|0,d|0);f=T;T=0;if(f&1){w=Ze()|0;Ad(e)|0;si(w|0)}else{Ad(e)|0;h[l>>2]=h[i>>2];k=h[u>>2]|0;w=h[o>>2]|0;h[a>>2]=h[l>>2];w=Vr(a,s,k,w,r,t)|0;v=c;return w|0}return 0}function Dk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+176|0;_=A+84|0;d=A+48|0;c=A+32|0;s=A+24|0;f=A+8|0;u=A;k=A+88|0;w=A+80|0;l=A+118|0;E=A+76|0;y=A+72|0;p=A+68|0;g=A+64|0;o=u;h[o>>2]=37;h[o+4>>2]=0;o=xk(u+1|0,58898,h[r+4>>2]|0)|0;h[w>>2]=k;e=rk()|0;if(o){h[f>>2]=h[r+8>>2];m[f+8>>3]=n;f=b_(k,30,e,u,f)|0}else{m[s>>3]=n;f=b_(k,30,e,u,s)|0}e:do{if((f|0)>29){T=0;e=Ce(3)|0;f=T;T=0;f=f&1;if(o){if(!f?(T=0,h[c>>2]=h[r+8>>2],m[c+8>>3]=n,a=De(17,w|0,e|0,u|0,c|0)|0,b=T,T=0,!(b&1)):0)M=12}else if(!f?(T=0,h[d>>2]=h[r+8>>2],m[d+8>>3]=n,b=De(17,w|0,e|0,u|0,d|0)|0,d=T,T=0,!(d&1)):0){a=b;M=12}do{if((M|0)==12){e=h[w>>2]|0;if(!e){T=0;Ie(6);b=T;T=0;if(b&1)break;f=h[w>>2]|0}else f=e;e=f;u=f;M=16;break e}}while(0);e=Ze()|0}else{e=h[w>>2]|0;u=0;a=f;M=16}}while(0);if((M|0)==16){s=e+a|0;o=Pk(e,s,r)|0;do{if((e|0)==(k|0)){e=k;f=0;M=22}else{a=jc(a<<1)|0;if(!a){T=0;Ie(6);M=T;T=0;if(M&1){f=0;M=20;break}e=h[w>>2]|0}f=a;l=a;M=22}}while(0);do{if((M|0)==22){T=0;a=ye(68,r|0)|0;w=T;T=0;if(!(w&1)){h[p>>2]=a;T=0;Se(2,e|0,o|0,s|0,l|0,E|0,y|0,p|0);p=T;T=0;if(p&1){e=Ze()|0;Ad(a)|0;break}Ad(a)|0;h[g>>2]=h[i>>2];M=h[E>>2]|0;e=h[y>>2]|0;T=0;h[_>>2]=h[g>>2];e=ge(39,_|0,l|0,M|0,e|0,r|0,t|0)|0;M=T;T=0;if(!(M&1)){h[i>>2]=e;if(f)Hc(f);if(u)Hc(u);v=A;return e|0}else M=20}else M=20}}while(0);if((M|0)==20)e=Ze()|0;if(f)Hc(f);if(u)Hc(u)}si(e|0);return 0}function xk(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;if(r&2048){c[e>>0]=43;e=e+1|0}if(r&1024){c[e>>0]=35;e=e+1|0}a=r&260;n=r>>>14;l=(a|0)==260;if(l)f=0;else{c[e>>0]=46;c[e+1>>0]=42;e=e+2|0;f=1}r=c[i>>0]|0;if(r<<24>>24){t=e;while(1){i=i+1|0;e=t+1|0;c[t>>0]=r;r=c[i>>0]|0;if(!(r<<24>>24))break;else t=e}}e:do{switch(a|0){case 4:if(!(n&1)){c[e>>0]=102;break e}else{c[e>>0]=70;break e}case 256:if(!(n&1)){c[e>>0]=101;break e}else{c[e>>0]=69;break e}default:{r=(n&1|0)!=0;if(l)if(r){c[e>>0]=65;break e}else{c[e>>0]=97;break e}else if(r){c[e>>0]=71;break e}else{c[e>>0]=103;break e}}}}while(0);return f|0}function Ik(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0;A=v;v=v+16|0;M=A;E=Vu(a,44220)|0;g=Vu(a,44360)|0;wE[h[(h[g>>2]|0)+20>>2]&127](M,g);h[f>>2]=t;a=c[e>>0]|0;switch(a<<24>>24){case 43:case 45:{T=0;a=Oe(h[(h[E>>2]|0)+28>>2]|0,E|0,a|0)|0;y=T;T=0;if(y&1)p=8;else{u=h[f>>2]|0;h[f>>2]=u+1;c[u>>0]=a;u=e+1|0;p=10}break}default:{u=e;p=10}}e:do{if((p|0)==10){y=r;i:do{if((y-u|0)>1?(c[u>>0]|0)==48:0){s=u+1|0;switch(c[s>>0]|0){case 88:case 120:break;default:{p=11;break i}}T=0;a=Oe(h[(h[E>>2]|0)+28>>2]|0,E|0,48)|0;m=T;T=0;if(m&1){p=8;break e}m=h[f>>2]|0;h[f>>2]=m+1;c[m>>0]=a;u=u+2|0;T=0;a=Oe(h[(h[E>>2]|0)+28>>2]|0,E|0,c[s>>0]|0)|0;m=T;T=0;if(m&1){p=8;break e}m=h[f>>2]|0;h[f>>2]=m+1;c[m>>0]=a;if(u>>>0>>0){a=u;while(1){s=c[a>>0]|0;T=0;o=Ce(3)|0;m=T;T=0;if(m&1)break;T=0;s=Oe(39,s<<24>>24|0,o|0)|0;m=T;T=0;if(m&1)break;if(!s){m=u;break i}a=a+1|0;if(a>>>0>=r>>>0){m=u;break i}}a=Ze()|0;break e}else{m=u;a=u}}else p=11}while(0);i:do{if((p|0)==11)if(u>>>0>>0){a=u;while(1){s=c[a>>0]|0;T=0;o=Ce(3)|0;m=T;T=0;if(m&1)break;T=0;s=Oe(40,s<<24>>24|0,o|0)|0;m=T;T=0;if(m&1)break;if(!s){m=u;break i}a=a+1|0;if(a>>>0>=r>>>0){m=u;break i}}a=Ze()|0;break e}else{m=u;a=u}}while(0);w=c[M>>0]|0;_=M+4|0;if(((w&1)==0?(w&255)>>>1:h[_>>2]|0)|0){if((m|0)!=(a|0)?(d=a+-1|0,m>>>0>>0):0){o=m;s=d;do{w=c[o>>0]|0;c[o>>0]=c[s>>0]|0;c[s>>0]=w;o=o+1|0;s=s+-1|0}while(o>>>0>>0)}T=0;d=ye(h[(h[g>>2]|0)+16>>2]|0,g|0)|0;w=T;T=0;if(w&1){p=8;break}b=M+8|0;k=M+1|0;i:do{if(m>>>0>>0){s=0;o=0;w=m;while(1){u=c[((c[M>>0]&1)==0?k:h[b>>2]|0)+o>>0]|0;if(u<<24>>24>0&(s|0)==(u<<24>>24|0)){s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=d;s=c[M>>0]|0;u=0;o=(o>>>0<(((s&1)==0?(s&255)>>>1:h[_>>2]|0)+-1|0)>>>0&1)+o|0}else u=s;T=0;s=Oe(h[(h[E>>2]|0)+28>>2]|0,E|0,c[w>>0]|0)|0;S=T;T=0;if(S&1)break;S=h[f>>2]|0;h[f>>2]=S+1;c[S>>0]=s;w=w+1|0;if(w>>>0>=a>>>0)break i;else s=u+1|0}a=Ze()|0;break e}}while(0);s=t+(m-e)|0;o=h[f>>2]|0;if((s|0)!=(o|0)?(l=o+-1|0,s>>>0>>0):0){do{S=c[s>>0]|0;c[s>>0]=c[l>>0]|0;c[l>>0]=S;s=s+1|0;l=l+-1|0}while(s>>>0>>0);s=E}else s=E}else{T=0;De(h[(h[E>>2]|0)+32>>2]|0,E|0,m|0,a|0,h[f>>2]|0)|0;S=T;T=0;if(S&1){p=8;break}h[f>>2]=(h[f>>2]|0)+(a-m);s=E}i:do{if(a>>>0>>0){while(1){l=c[a>>0]|0;if(l<<24>>24==46)break;T=0;l=Oe(h[(h[s>>2]|0)+28>>2]|0,E|0,l|0)|0;S=T;T=0;if(S&1){p=4;break}S=h[f>>2]|0;h[f>>2]=S+1;c[S>>0]=l;a=a+1|0;if(a>>>0>=r>>>0)break i}if((p|0)==4){a=Ze()|0;break e}T=0;l=ye(h[(h[g>>2]|0)+12>>2]|0,g|0)|0;S=T;T=0;if(S&1){p=8;break e}S=h[f>>2]|0;h[f>>2]=S+1;c[S>>0]=l;a=a+1|0}}while(0);T=0;De(h[(h[E>>2]|0)+32>>2]|0,E|0,a|0,r|0,h[f>>2]|0)|0;S=T;T=0;if(S&1)p=8;else{S=(h[f>>2]|0)+(y-a)|0;h[f>>2]=S;h[n>>2]=(i|0)==(r|0)?S:t+(i-e)|0;qd(M);v=A;return}}}while(0);if((p|0)==8)a=Ze()|0;qd(M);si(a|0)}function Bk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+176|0;_=A+76|0;d=A+48|0;c=A+32|0;s=A+24|0;f=A+8|0;u=A;k=A+80|0;w=A+72|0;l=A+110|0;E=A+68|0;y=A+64|0;p=A+60|0;g=A+56|0;o=u;h[o>>2]=37;h[o+4>>2]=0;o=xk(u+1|0,58899,h[r+4>>2]|0)|0;h[w>>2]=k;e=rk()|0;if(o){h[f>>2]=h[r+8>>2];m[f+8>>3]=n;f=b_(k,30,e,u,f)|0}else{m[s>>3]=n;f=b_(k,30,e,u,s)|0}e:do{if((f|0)>29){T=0;e=Ce(3)|0;f=T;T=0;f=f&1;if(o){if(!f?(T=0,h[c>>2]=h[r+8>>2],m[c+8>>3]=n,a=De(17,w|0,e|0,u|0,c|0)|0,b=T,T=0,!(b&1)):0)M=12}else if(!f?(T=0,m[d>>3]=n,b=De(17,w|0,e|0,u|0,d|0)|0,d=T,T=0,!(d&1)):0){a=b;M=12}do{if((M|0)==12){e=h[w>>2]|0;if(!e){T=0;Ie(6);b=T;T=0;if(b&1)break;f=h[w>>2]|0}else f=e;e=f;u=f;M=16;break e}}while(0);e=Ze()|0}else{e=h[w>>2]|0;u=0;a=f;M=16}}while(0);if((M|0)==16){s=e+a|0;o=Pk(e,s,r)|0;do{if((e|0)==(k|0)){e=k;f=0;M=22}else{a=jc(a<<1)|0;if(!a){T=0;Ie(6);M=T;T=0;if(M&1){f=0;M=20;break}e=h[w>>2]|0}f=a;l=a;M=22}}while(0);do{if((M|0)==22){T=0;a=ye(68,r|0)|0;w=T;T=0;if(!(w&1)){h[p>>2]=a;T=0;Se(2,e|0,o|0,s|0,l|0,E|0,y|0,p|0);p=T;T=0;if(p&1){e=Ze()|0;Ad(a)|0;break}Ad(a)|0;h[g>>2]=h[i>>2];M=h[E>>2]|0;e=h[y>>2]|0;T=0;h[_>>2]=h[g>>2];e=ge(39,_|0,l|0,M|0,e|0,r|0,t|0)|0;M=T;T=0;if(!(M&1)){h[i>>2]=e;if(f)Hc(f);if(u)Hc(u);v=A;return e|0}else M=20}else M=20}}while(0);if((M|0)==20)e=Ze()|0;if(f)Hc(f);if(u)Hc(u)}si(e|0);return 0}function Nk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+80|0;s=b;e=b+70|0;u=b+12|0;d=b+32|0;l=b+8|0;o=b+4|0;c[e>>0]=c[58901]|0;c[e+1>>0]=c[58902]|0;c[e+2>>0]=c[58903]|0;c[e+3>>0]=c[58904]|0;c[e+4>>0]=c[58905]|0;c[e+5>>0]=c[58906]|0;f=rk()|0;h[s>>2]=n;e=b_(u,20,f,e,s)|0;n=u+e|0;f=Pk(u,n,r)|0;a=_h(r)|0;h[l>>2]=a;T=0;l=Oe(37,l|0,44220)|0;k=T;T=0;if(k&1){k=Ze()|0;Ad(a)|0;si(k|0)}else{Ad(a)|0;OE[h[(h[l>>2]|0)+32>>2]&31](l,u,n,d)|0;k=d+e|0;h[o>>2]=h[i>>2];h[s>>2]=h[o>>2];k=Vr(s,d,(f|0)==(n|0)?k:d+(f-u)|0,k,r,t)|0;v=b;return k|0}return 0}function Fk(e){e=e|0;return}function Uk(e){e=e|0;zv(e);return}function jk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;f=o+20|0;a=o+16|0;l=o+12|0;s=o;e:do{if(!(h[r+4>>2]&1)){s=h[(h[e>>2]|0)+24>>2]|0;h[a>>2]=h[i>>2];h[f>>2]=h[a>>2];f=TE[s&31](e,f,r,t,n&1)|0}else{f=_h(r)|0;h[l>>2]=f;T=0;a=Oe(37,l|0,44368)|0;l=T;T=0;i:do{if(l&1){o=Ze()|0;Ad(f)|0;f=o}else{Ad(f)|0;f=h[a>>2]|0;if(n)wE[h[f+24>>2]&127](s,a);else wE[h[f+28>>2]&127](s,a);e=c[s>>0]|0;r=(e&1)==0;f=s+4|0;n=s+8|0;l=r?f:s+4|0;f=r?f:h[s+8>>2]|0;r=(e&1)==0;r:do{if((f|0)!=((r?l:h[n>>2]|0)+((r?(e&255)>>>1:h[l>>2]|0)<<2)|0)){while(1){a=h[f>>2]|0;t=h[i>>2]|0;if(t){r=t+24|0;e=h[r>>2]|0;if((e|0)==(h[t+28>>2]|0)){T=0;a=Oe(h[(h[t>>2]|0)+52>>2]|0,t|0,a|0)|0;e=T;T=0;if(e&1)break}else{h[r>>2]=e+4;h[e>>2]=a}if((a|0)==-1)h[i>>2]=0}f=f+4|0;e=c[s>>0]|0;r=(e&1)==0;if((f|0)==((r?l:h[n>>2]|0)+((r?(e&255)>>>1:h[l>>2]|0)<<2)|0))break r}f=Ze()|0;th(s);break i}}while(0);f=h[i>>2]|0;th(s);break e}}while(0);si(f|0)}}while(0);v=o;return f|0}function Hk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+128|0;f=u;b=u+116|0;k=u+104|0;l=u+20|0;o=u+16|0;s=u+12|0;d=u+8|0;a=u+4|0;c[b>>0]=c[58887]|0;c[b+1>>0]=c[58888]|0;c[b+2>>0]=c[58889]|0;c[b+3>>0]=c[58890]|0;c[b+4>>0]=c[58891]|0;c[b+5>>0]=c[58892]|0;Sk(b+1|0,58893,1,h[r+4>>2]|0);e=rk()|0;h[f>>2]=n;n=k+(b_(k,12,e,b,f)|0)|0;b=Pk(k,n,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(3,k|0,b|0,n|0,l|0,o|0,s|0,d|0);n=T;T=0;if(n&1){k=Ze()|0;Ad(e)|0;si(k|0)}else{Ad(e)|0;h[a>>2]=h[i>>2];b=h[o>>2]|0;k=h[s>>2]|0;h[f>>2]=h[a>>2];k=w_(f,l,b,k,r,t)|0;v=u;return k|0}return 0}function Yk(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;p=v;v=v+16|0;g=p;_=Vu(a,44212)|0;o=Vu(a,44368)|0;wE[h[(h[o>>2]|0)+20>>2]&127](g,o);k=c[g>>0]|0;w=g+4|0;e:do{if(!(((k&1)==0?(k&255)>>>1:h[w>>2]|0)|0)){T=0;De(h[(h[_>>2]|0)+48>>2]|0,_|0,e|0,r|0,t|0)|0;m=T;T=0;if(m&1)m=5;else{a=t+(r-e<<2)|0;h[f>>2]=a;m=28}}else{h[f>>2]=t;a=c[e>>0]|0;switch(a<<24>>24){case 43:case 45:{T=0;a=Oe(h[(h[_>>2]|0)+44>>2]|0,_|0,a|0)|0;k=T;T=0;if(k&1){m=5;break e}s=h[f>>2]|0;h[f>>2]=s+4;h[s>>2]=a;s=e+1|0;break}default:s=e}i:do{if((r-s|0)>1?(c[s>>0]|0)==48:0){a=s+1|0;switch(c[a>>0]|0){case 88:case 120:break;default:{k=s;break i}}T=0;l=Oe(h[(h[_>>2]|0)+44>>2]|0,_|0,48)|0;k=T;T=0;if(k&1){m=5;break e}k=h[f>>2]|0;h[f>>2]=k+4;h[k>>2]=l;T=0;a=Oe(h[(h[_>>2]|0)+44>>2]|0,_|0,c[a>>0]|0)|0;k=T;T=0;if(k&1){m=5;break e}k=h[f>>2]|0;h[f>>2]=k+4;h[k>>2]=a;k=s+2|0}else k=s}while(0);if((k|0)!=(r|0)?(u=r+-1|0,k>>>0>>0):0){l=k;a=u;do{b=c[l>>0]|0;c[l>>0]=c[a>>0]|0;c[a>>0]=b;l=l+1|0;a=a+-1|0}while(l>>>0>>0)}T=0;o=ye(h[(h[o>>2]|0)+16>>2]|0,o|0)|0;b=T;T=0;if(!(b&1)){u=g+8|0;d=g+1|0;i:do{if(k>>>0>>0){a=0;l=0;b=k;while(1){s=c[((c[g>>0]&1)==0?d:h[u>>2]|0)+l>>0]|0;if(s<<24>>24!=0&(a|0)==(s<<24>>24|0)){a=h[f>>2]|0;h[f>>2]=a+4;h[a>>2]=o;a=c[g>>0]|0;s=0;l=(l>>>0<(((a&1)==0?(a&255)>>>1:h[w>>2]|0)+-1|0)>>>0&1)+l|0}else s=a;T=0;a=Oe(h[(h[_>>2]|0)+44>>2]|0,_|0,c[b>>0]|0)|0;y=T;T=0;if(y&1)break;y=h[f>>2]|0;h[f>>2]=y+4;h[y>>2]=a;b=b+1|0;if(b>>>0>=r>>>0)break i;else a=s+1|0}a=Ze()|0;break e}}while(0);s=e;a=t+(k-s<<2)|0;l=h[f>>2]|0;if((a|0)!=(l|0)){e=l+-4|0;if(a>>>0>>0){do{y=h[a>>2]|0;h[a>>2]=h[e>>2];h[e>>2]=y;a=a+4|0;e=e+-4|0}while(a>>>0>>0);e=s;a=l;m=28}else{e=s;a=l;m=28}}else{e=s;m=28}}else m=5}}while(0);if((m|0)==5)a=Ze()|0;else if((m|0)==28){h[n>>2]=(i|0)==(r|0)?a:t+(i-e<<2)|0;qd(g);v=p;return}qd(g);si(a|0)}function qk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;c=v;v=v+224|0;a=c+8|0;e=c;b=c+196|0;s=c+32|0;u=c+28|0;o=c+24|0;d=c+20|0;l=c+16|0;k=e;h[k>>2]=37;h[k+4>>2]=0;Sk(e+1|0,58895,1,h[r+4>>2]|0);k=rk()|0;w=a;h[w>>2]=n;h[w+4>>2]=f;f=b+(b_(b,22,k,e,a)|0)|0;n=Pk(b,f,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(3,b|0,n|0,f|0,s|0,u|0,o|0,d|0);f=T;T=0;if(f&1){w=Ze()|0;Ad(e)|0;si(w|0)}else{Ad(e)|0;h[l>>2]=h[i>>2];k=h[u>>2]|0;w=h[o>>2]|0;h[a>>2]=h[l>>2];w=w_(a,s,k,w,r,t)|0;v=c;return w|0}return 0}function Xk(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;m=v;v=v+16|0;w=m;b=m+8|0;e:do{if((r|0)==(t|0))s=t;else{s=r;while(1){if(!(h[s>>2]|0))break e;s=s+4|0;if((s|0)==(t|0)){s=t;break}}}}while(0);h[l>>2]=f;h[n>>2]=r;u=a;k=e+8|0;e:do{if(!((f|0)==(a|0)|(r|0)==(t|0))){e=f;o=s;i:while(1){g=i;f=h[g+4>>2]|0;s=w;h[s>>2]=h[g>>2];h[s+4>>2]=f;s=fy(h[k>>2]|0)|0;T=0;f=Re(21,e|0,n|0,o-r>>2|0,u-e|0,i|0)|0;g=T;T=0;if(g&1){p=9;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=8;break}switch(f|0){case 0:{d=1;break e}case-1:{s=e;p=14;break i}default:{}}s=(h[l>>2]|0)+f|0;h[l>>2]=s;if((s|0)==(a|0)){p=27;break}if((o|0)==(t|0)){r=h[n>>2]|0;e=s;s=t}else{s=fy(h[k>>2]|0)|0;T=0;r=Ae(34,b|0,0,i|0)|0;g=T;T=0;if(g&1){p=35;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=34;break}if((r|0)==-1){d=2;break e}if(r>>>0>(u-(h[l>>2]|0)|0)>>>0){d=1;break e}if(r){s=b;while(1){o=c[s>>0]|0;g=h[l>>2]|0;h[l>>2]=g+1;c[g>>0]=o;r=r+-1|0;if(!r)break;else s=s+1|0}}r=(h[n>>2]|0)+4|0;h[n>>2]=r;r:do{if((r|0)==(t|0))s=t;else{s=r;while(1){if(!(h[s>>2]|0))break r;s=s+4|0;if((s|0)==(t|0)){s=t;break}}}}while(0);e=h[l>>2]|0}if((e|0)==(a|0)|(r|0)==(t|0)){p=47;break e}else o=s}if((p|0)==8){g=Ze(0)|0;Ki(g)}else if((p|0)==9){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}else if((p|0)==14){h[l>>2]=s;i:do{if((r|0)!=(h[n>>2]|0)){while(1){g=h[r>>2]|0;e=fy(h[k>>2]|0)|0;T=0;s=Ae(34,s|0,g|0,w|0)|0;g=T;T=0;if(g&1){_=e;break}if((e|0)!=0?(T=0,ye(75,e|0)|0,g=T,T=0,g&1):0){p=18;break}if((s|0)==-1)break i;s=(h[l>>2]|0)+s|0;h[l>>2]=s;r=r+4|0;if((r|0)==(h[n>>2]|0))break i}if((p|0)==18){g=Ze(0)|0;Ki(g)}r=Ze()|0;if((_|0)!=0?(T=0,ye(75,_|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}}while(0);h[n>>2]=r;d=2;break}else if((p|0)==27){r=h[n>>2]|0;p=47;break}else if((p|0)==34){g=Ze(0)|0;Ki(g)}else if((p|0)==35){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}}else p=47}while(0);if((p|0)==47)d=(r|0)!=(t|0)&1;v=m;return d|0}function zk(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;m=v;v=v+16|0;_=m;e:do{if((r|0)==(t|0))s=t;else{s=r;while(1){if(!(c[s>>0]|0))break e;s=s+1|0;if((s|0)==(t|0)){s=t;break}}}}while(0);h[l>>2]=f;h[n>>2]=r;d=a;k=e+8|0;e:do{if(!((f|0)==(a|0)|(r|0)==(t|0))){e=f;u=s;i:while(1){o=i;s=h[o+4>>2]|0;f=_;h[f>>2]=h[o>>2];h[f+4>>2]=s;f=u;s=fy(h[k>>2]|0)|0;T=0;o=Re(22,e|0,n|0,f-r|0,d-e>>2|0,i|0)|0;g=T;T=0;if(g&1){p=9;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=8;break}switch(o|0){case 0:{b=2;break e}case-1:{s=e;p=14;break i}default:{}}e=(h[l>>2]|0)+(o<<2)|0;h[l>>2]=e;if((e|0)==(a|0)){p=31;break}r=h[n>>2]|0;if((u|0)==(t|0))s=t;else{s=fy(h[k>>2]|0)|0;T=0;r=De(20,e|0,r|0,1,i|0)|0;g=T;T=0;if(g&1){p=38;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=37;break}if(r){b=2;break e}h[l>>2]=(h[l>>2]|0)+4;r=(h[n>>2]|0)+1|0;h[n>>2]=r;r:do{if((r|0)==(t|0))s=t;else{s=r;while(1){if(!(c[s>>0]|0))break r;s=s+1|0;if((s|0)==(t|0)){s=t;break}}}}while(0);e=h[l>>2]|0}if((e|0)==(a|0)|(r|0)==(t|0)){p=47;break e}else u=s}if((p|0)==8){g=Ze(0)|0;Ki(g)}else if((p|0)==9){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}else if((p|0)==14){h[l>>2]=s;i:do{if((r|0)!=(h[n>>2]|0)){e=s;r:while(1){s=fy(h[k>>2]|0)|0;T=0;e=De(20,e|0,r|0,f-r|0,_|0)|0;g=T;T=0;if(g&1){p=19;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=18;break}switch(e|0){case-1:{p=25;break r}case-2:{p=26;break r}case 0:{r=r+1|0;break}default:r=r+e|0}e=(h[l>>2]|0)+4|0;h[l>>2]=e;if((r|0)==(h[n>>2]|0)){w=r;break i}}if((p|0)==18){g=Ze(0)|0;Ki(g)}else if((p|0)==19){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}else if((p|0)==25){h[n>>2]=r;b=2;break e}else if((p|0)==26){h[n>>2]=r;b=1;break e}}else w=r}while(0);h[n>>2]=w;b=(w|0)!=(t|0)&1;break}else if((p|0)==31){r=h[n>>2]|0;p=47;break}else if((p|0)==37){g=Ze(0)|0;Ki(g)}else if((p|0)==38){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}}else p=47}while(0);if((p|0)==47)b=(r|0)!=(t|0)&1;v=m;return b|0}function Vk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=v;v=v+16|0;f=a;h[n>>2]=r;r=fy(h[e+8>>2]|0)|0;T=0;e=Ae(34,f|0,0,i|0)|0;i=T;T=0;if(i&1){f=Ze()|0;if((r|0)!=0?(T=0,ye(75,r|0)|0,a=T,T=0,a&1):0){a=Ze(0)|0;Ki(a)}si(f|0)}if((r|0)!=0?(T=0,ye(75,r|0)|0,i=T,T=0,i&1):0){i=Ze(0)|0;Ki(i)}switch(e|0){case 0:case-1:{f=2;break}default:{e=e+-1|0;if(e>>>0<=(t-(h[n>>2]|0)|0)>>>0)if(!e)f=0;else while(1){i=c[f>>0]|0;t=h[n>>2]|0;h[n>>2]=t+1;c[t>>0]=i;e=e+-1|0;if(!e){f=0;break}else f=f+1|0}else f=1}}v=a;return f|0}function Gk(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;i=e+8|0;T=0;r=ye(75,h[i>>2]|0)|0;t=T;T=0;do{if(t&1)n=16;else{T=0;t=Ae(35,0,0,4)|0;e=T;T=0;if(e&1){e=Ze(0)|0;if(!r)break;T=0;ye(75,r|0)|0;a=T;T=0;if(!(a&1))break;a=Ze(0)|0;Ki(a)}if((r|0)!=0?(T=0,ye(75,r|0)|0,a=T,T=0,a&1):0){a=Ze(0)|0;Ki(a)}if(!t){e=h[i>>2]|0;if(e){T=0;e=ye(75,e|0)|0;a=T;T=0;if(a&1){n=16;break}if((e|0)!=0?(T=0,ye(75,e|0)|0,a=T,T=0,a&1):0){a=Ze(0)|0;Ki(a)}else f=0}else f=1}else f=-1;return f|0}}while(0);if((n|0)==16)e=Ze(0)|0;Ki(e);return 0}function Kk(e){e=e|0;return 0}function Wk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;o=t;s=e+8|0;e:do{if((r|0)==(t|0)|(n|0)==0)e=0;else{e=0;l=0;while(1){a=fy(h[s>>2]|0)|0;T=0;f=Ae(36,r|0,o-r|0,i|0)|0;d=T;T=0;if(d&1){c=a;break}if((a|0)!=0?(T=0,ye(75,a|0)|0,d=T,T=0,d&1):0){u=5;break}switch(f|0){case-2:case-1:break e;case 0:{r=r+1|0;f=1;break}default:r=r+f|0}e=f+e|0;l=l+1|0;if((r|0)==(t|0)|l>>>0>=n>>>0)break e}if((u|0)==5){d=Ze(0)|0;Ki(d)}e=Ze()|0;if((c|0)!=0?(T=0,ye(75,c|0)|0,d=T,T=0,d&1):0){d=Ze(0)|0;Ki(d)}si(e|0)}}while(0);return e|0}function Jk(e){e=e|0;var i=0,r=0;e=h[e+8>>2]|0;if(e){T=0;e=ye(75,e|0)|0;r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}if((e|0)!=0?(T=0,ye(75,e|0)|0,r=T,T=0,r&1):0){r=Ze(0)|0;Ki(r)}else i=4}else i=1;return i|0}function Zk(e){e=e|0;zv(e);return}function Qk(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0;e=v;v=v+16|0;s=e+4|0;i=e;h[s>>2]=r;h[i>>2]=f;a=tm(r,t,s,f,a,i,1114111,0)|0;h[n>>2]=h[s>>2];h[l>>2]=h[i>>2];v=e;return a|0}function $k(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0;e=v;v=v+16|0;s=e+4|0;i=e;h[s>>2]=r;h[i>>2]=f;a=nm(r,t,s,f,a,i,1114111,0)|0;h[n>>2]=h[s>>2];h[l>>2]=h[i>>2];v=e;return a|0}function ew(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;h[n>>2]=r;return 3}function iw(e){e=e|0;return 0}function rw(e){e=e|0;return 0}function tw(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return fm(r,t,n,1114111,0)|0}function nw(e){e=e|0;return 4}function fw(e){e=e|0;zv(e);return}function aw(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0;e=v;v=v+16|0;s=e+4|0;i=e;h[s>>2]=r;h[i>>2]=f;a=am(r,t,s,f,a,i,1114111,0)|0;h[n>>2]=h[s>>2];h[l>>2]=h[i>>2];v=e;return a|0}function lw(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0;e=v;v=v+16|0;s=e+4|0;i=e;h[s>>2]=r;h[i>>2]=f;a=lm(r,t,s,f,a,i,1114111,0)|0;h[n>>2]=h[s>>2];h[l>>2]=h[i>>2];v=e;return a|0}function sw(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;h[n>>2]=r;return 3}function ow(e){e=e|0;return 0}function uw(e){e=e|0;return 0}function cw(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return sm(r,t,n,1114111,0)|0}function dw(e){e=e|0;return 4}function hw(e){e=e|0;zv(e);return}function bw(e){e=e|0;zv(e);return}function kw(e,i){e=e|0;i=i|0;h[e+4>>2]=i+-1;h[e>>2]=44384;c[e+8>>0]=46;c[e+9>>0]=44;e=e+12|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function ww(e,i){e=e|0;i=i|0;h[e+4>>2]=i+-1;h[e>>2]=44424;h[e+8>>2]=46;h[e+12>>2]=44;e=e+16|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function _w(e){e=e|0;h[e>>2]=44384;qd(e+12|0);return}function mw(e){e=e|0;_w(e);zv(e);return}function pw(e){e=e|0;h[e>>2]=44424;qd(e+16|0);return}function vw(e){e=e|0;pw(e);zv(e);return}function gw(e){e=e|0;return c[e+8>>0]|0}function yw(e){e=e|0;return h[e+8>>2]|0}function Ew(e){e=e|0;return c[e+9>>0]|0}function Aw(e){e=e|0;return h[e+12>>2]|0}function Mw(e,i){e=e|0;i=i|0;jd(e,i+12|0);return}function Tw(e,i){e=e|0;i=i|0;jd(e,i+16|0);return}function Sw(e,i){e=e|0;i=i|0;Hd(e,59024,4);return}function Pw(e,i){e=e|0;i=i|0;ih(e,44996,nE(44996)|0);return}function Ow(e,i){e=e|0;i=i|0;Hd(e,59029,5);return}function Rw(e,i){e=e|0;i=i|0;ih(e,45016,nE(45016)|0);return}function Lw(e){e=e|0;switch(h[e+4>>2]&74|0){case 64:{e=8;break}case 8:{e=16;break}case 0:{e=0;break}default:e=10}return e|0}function Cw(e){e=e|0;do{if((c[2464]|0)==0?(ze(2464)|0)!=0:0){if((c[2472]|0)==0?(ze(2472)|0)!=0:0){e=45040;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=45208);yi(193,0,M|0)|0;$e(2472)}T=0;Oe(41,45040,59035)|0;e=T;T=0;if(((((((((((((!(e&1)?(T=0,Oe(41,45052,59042)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45064,59049)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45076,59057)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45088,59067)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45100,59076)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45112,59083)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45124,59092)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45136,59096)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45148,59100)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45160,59104)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45172,59108)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45184,59112)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45196,59116)|0,e=T,T=0,!(e&1)):0){h[11302]=45040;$e(2464);break}e=Ze()|0;Ri(2464);si(e|0)}}while(0);return h[11302]|0}function Dw(e){e=e|0;do{if((c[2480]|0)==0?(ze(2480)|0)!=0:0){if((c[2488]|0)==0?(ze(2488)|0)!=0:0){e=45212;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=45380);yi(194,0,M|0)|0;$e(2488)}T=0;Oe(42,45212,45380)|0;e=T;T=0;if(((((((((((((!(e&1)?(T=0,Oe(42,45224,45408)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45236,45436)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45248,45468)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45260,45508)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45272,45544)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45284,45572)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45296,45608)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45308,45624)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45320,45640)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45332,45656)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45344,45672)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45356,45688)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45368,45704)|0,e=T,T=0,!(e&1)):0){h[11430]=45212;$e(2480);break}e=Ze()|0;Ri(2480);si(e|0)}}while(0);return h[11430]|0}function xw(e){e=e|0;e:do{if((c[2496]|0)==0?(ze(2496)|0)!=0:0){if((c[2504]|0)==0?(ze(2504)|0)!=0:0){e=45724;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=46012);yi(195,0,M|0)|0;$e(2504)}T=0;Oe(41,45724,59120)|0;e=T;T=0;do{if((((((((((((((!(e&1)?(T=0,Oe(41,45736,59128)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45748,59137)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45760,59143)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45772,59149)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45784,59153)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45796,59158)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45808,59163)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45820,59170)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45832,59180)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45844,59188)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45856,59197)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45868,59206)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45880,59210)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45892,59214)|0,e=T,T=0,!(e&1)):0){T=0;Oe(41,45904,59218)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45916,59149)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45928,59222)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45940,59226)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45952,59230)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45964,59234)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45976,59238)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45988,59242)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,46e3,59246)|0;e=T;T=0;if(e&1)break;h[11503]=45724;$e(2496);break e}}while(0);e=Ze()|0;Ri(2496);si(e|0)}}while(0);return h[11503]|0}function Iw(e){e=e|0;e:do{if((c[2512]|0)==0?(ze(2512)|0)!=0:0){if((c[2520]|0)==0?(ze(2520)|0)!=0:0){e=46016;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=46304);yi(196,0,M|0)|0;$e(2520)}T=0;Oe(42,46016,46304)|0;e=T;T=0;do{if((((((((((((((!(e&1)?(T=0,Oe(42,46028,46336)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46040,46372)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46052,46396)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46064,46420)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46076,46436)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46088,46456)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46100,46476)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46112,46504)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46124,46544)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46136,46576)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46148,46612)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46160,46648)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46172,46664)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46184,46680)|0,e=T,T=0,!(e&1)):0){T=0;Oe(42,46196,46696)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46208,46420)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46220,46712)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46232,46728)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46244,46744)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46256,46760)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46268,46776)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46280,46792)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46292,46808)|0;e=T;T=0;if(e&1)break;h[11706]=46016;$e(2512);break e}}while(0);e=Ze()|0;Ri(2512);si(e|0)}}while(0);return h[11706]|0}function Bw(e){e=e|0;do{if((c[2528]|0)==0?(ze(2528)|0)!=0:0){if((c[2536]|0)==0?(ze(2536)|0)!=0:0){e=46828;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=47116);yi(197,0,M|0)|0;$e(2536)}T=0;Oe(41,46828,59250)|0;e=T;T=0;if(!(e&1)?(T=0,Oe(41,46840,59253)|0,e=T,T=0,!(e&1)):0){h[11779]=46828;$e(2528);break}e=Ze()|0;Ri(2528);si(e|0)}}while(0);return h[11779]|0}function Nw(e){e=e|0;do{if((c[2544]|0)==0?(ze(2544)|0)!=0:0){if((c[2552]|0)==0?(ze(2552)|0)!=0:0){e=47120;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=47408);yi(198,0,M|0)|0;$e(2552)}T=0;Oe(42,47120,47408)|0;e=T;T=0;if(!(e&1)?(T=0,Oe(42,47132,47420)|0,e=T,T=0,!(e&1)):0){h[11858]=47120;$e(2544);break}e=Ze()|0;Ri(2544);si(e|0)}}while(0);return h[11858]|0}function Fw(e){e=e|0;do{if((c[2560]|0)==0?(ze(2560)|0)!=0:0){T=0;xe(5,47436,59256,8);e=T;T=0;if(e&1){e=Ze()|0;Ri(2560);si(e|0)}else{yi(199,47436,M|0)|0;$e(2560);break}}}while(0);return 47436}function Uw(e){e=e|0;var i=0;do{if((c[2568]|0)==0?(ze(2568)|0)!=0:0){T=0;e=ye(76,47448)|0;i=T;T=0;if(!(i&1)?(T=0,xe(15,47484,47448,e|0),i=T,T=0,!(i&1)):0){yi(200,47484,M|0)|0;$e(2568);break}i=Ze()|0;Ri(2568);si(i|0)}}while(0);return 47484}function jw(e){e=e|0;do{if((c[2576]|0)==0?(ze(2576)|0)!=0:0){T=0;xe(5,47496,59265,8);e=T;T=0;if(e&1){e=Ze()|0;Ri(2576);si(e|0)}else{yi(199,47496,M|0)|0;$e(2576);break}}}while(0);return 47496}function Hw(e){e=e|0;var i=0;do{if((c[2584]|0)==0?(ze(2584)|0)!=0:0){T=0;e=ye(76,47508)|0;i=T;T=0;if(!(i&1)?(T=0,xe(15,47544,47508,e|0),i=T,T=0,!(i&1)):0){yi(200,47544,M|0)|0;$e(2584);break}i=Ze()|0;Ri(2584);si(i|0)}}while(0);return 47544}function Yw(e){e=e|0;do{if((c[2592]|0)==0?(ze(2592)|0)!=0:0){T=0;xe(5,47556,59274,20);e=T;T=0;if(e&1){e=Ze()|0;Ri(2592);si(e|0)}else{yi(199,47556,M|0)|0;$e(2592);break}}}while(0);return 47556}function qw(e){e=e|0;var i=0;do{if((c[2600]|0)==0?(ze(2600)|0)!=0:0){T=0;e=ye(76,47568)|0;i=T;T=0;if(!(i&1)?(T=0,xe(15,47652,47568,e|0),i=T,T=0,!(i&1)):0){yi(200,47652,M|0)|0;$e(2600);break}i=Ze()|0;Ri(2600);si(i|0)}}while(0);return 47652}function Xw(e){e=e|0;do{if((c[2608]|0)==0?(ze(2608)|0)!=0:0){T=0;xe(5,47664,59295,11);e=T;T=0;if(e&1){e=Ze()|0;Ri(2608);si(e|0)}else{yi(199,47664,M|0)|0;$e(2608);break}}}while(0);return 47664}function zw(e){e=e|0;var i=0;do{if((c[2616]|0)==0?(ze(2616)|0)!=0:0){T=0;e=ye(76,47676)|0;i=T;T=0;if(!(i&1)?(T=0,xe(15,47724,47676,e|0),i=T,T=0,!(i&1)):0){yi(200,47724,M|0)|0;$e(2616);break}i=Ze()|0;Ri(2616);si(i|0)}}while(0);return 47724}function Vw(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=44304;e=e+8|0;i=h[e>>2]|0;T=0;r=Ce(3)|0;t=T;T=0;do{if(!(t&1)){if((i|0)!=(r|0)?(T=0,pe(188,h[e>>2]|0),t=T,T=0,t&1):0)break;return}}while(0);t=Ze(0)|0;Ki(t)}function Gw(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+112|0;s=A;u=(t-r|0)/12|0;do{if(u>>>0>100){s=jc(u)|0;if((s|0)==0?(T=0,Ie(6),E=T,T=0,E&1):0){l=0;w=6;break}l=s;w=11}else{l=0;w=11}}while(0);e:do{if((w|0)==11){if((r|0)==(t|0))o=0;else{w=r;d=0;k=s;while(1){o=c[w>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=h[w+4>>2]|0;if(!o){c[k>>0]=2;o=d+1|0;u=u+-1|0}else{c[k>>0]=1;o=d}w=w+12|0;if((w|0)==(t|0))break;else{d=o;k=k+1|0}}}y=(r|0)==(t|0);E=(r|0)==(t|0);g=0;_=o;i:while(1){o=h[e>>2]|0;do{if(o){if((h[o+12>>2]|0)==(h[o+16>>2]|0)){T=0;o=ye(h[(h[o>>2]|0)+36>>2]|0,o|0)|0;p=T;T=0;if(p&1){w=5;break i}if((o|0)==-1){h[e>>2]=0;o=0;break}else{o=h[e>>2]|0;break}}}else o=0}while(0);w=(o|0)==0;d=h[i>>2]|0;if(d){if((h[d+12>>2]|0)==(h[d+16>>2]|0)){T=0;o=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;p=T;T=0;if(p&1){w=5;break}if((o|0)==-1){h[i>>2]=0;d=0}}}else d=0;k=(d|0)==0;o=h[e>>2]|0;if(!((u|0)!=0&(w^k))){w=64;break}d=h[o+12>>2]|0;if((d|0)==(h[o+16>>2]|0)){T=0;o=ye(h[(h[o>>2]|0)+36>>2]|0,o|0)|0;p=T;T=0;if(p&1){w=5;break}}else o=b[d>>0]|0;o=o&255;if(!a){T=0;o=Oe(h[(h[n>>2]|0)+12>>2]|0,n|0,o|0)|0;p=T;T=0;if(p&1){w=5;break}}p=g+1|0;if(y){o=0;w=_}else{k=0;m=r;w=_;_=s;while(1){do{if((c[_>>0]|0)==1){if(!(c[m>>0]&1))d=m+1|0;else d=h[m+8>>2]|0;d=c[d+g>>0]|0;if(!a){T=0;d=Oe(h[(h[n>>2]|0)+12>>2]|0,n|0,d|0)|0;M=T;T=0;if(M&1){w=4;break i}}if(o<<24>>24!=d<<24>>24){c[_>>0]=0;d=k;u=u+-1|0;break}d=c[m>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=h[m+4>>2]|0;if((d|0)==(p|0)){c[_>>0]=2;d=1;w=w+1|0;u=u+-1|0}else d=1}else d=k}while(0);m=m+12|0;if((m|0)==(t|0)){o=d;break}else{k=d;_=_+1|0}}}if(!o){g=p;_=w;continue}o=h[e>>2]|0;d=o+12|0;k=h[d>>2]|0;if((k|0)==(h[o+16>>2]|0)){T=0;ye(h[(h[o>>2]|0)+40>>2]|0,o|0)|0;M=T;T=0;if(M&1){w=5;break}}else h[d>>2]=k+1;if((w+u|0)>>>0<2|E){g=p;_=w;continue}else{o=r;k=w;w=s}while(1){if((c[w>>0]|0)==2){d=c[o>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=h[o+4>>2]|0;if((d|0)!=(p|0)){c[w>>0]=0;k=k+-1|0}}o=o+12|0;if((o|0)==(t|0)){g=p;_=k;continue i}else w=w+1|0}}if((w|0)==4){r=Ze()|0;break}else if((w|0)==5){r=Ze()|0;break}else if((w|0)==64){do{if(o){if((h[o+12>>2]|0)==(h[o+16>>2]|0)){T=0;o=ye(h[(h[o>>2]|0)+36>>2]|0,o|0)|0;M=T;T=0;if(M&1){w=6;break e}if((o|0)==-1){h[e>>2]=0;o=0;break}else{o=h[e>>2]|0;break}}}else o=0}while(0);u=(o|0)==0;do{if(!k){if((h[d+12>>2]|0)==(h[d+16>>2]|0)){T=0;o=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;M=T;T=0;if(M&1){w=6;break e}if((o|0)==-1){h[i>>2]=0;w=76;break}}if(!u)w=77}else w=76}while(0);if((w|0)==76?u:0)w=77;if((w|0)==77)h[f>>2]=h[f>>2]|2;i:do{if((r|0)==(t|0))w=81;else while(1){if((c[s>>0]|0)==2)break i;r=r+12|0;if((r|0)==(t|0)){w=81;break}else s=s+1|0}}while(0);if((w|0)==81){h[f>>2]=h[f>>2]|4;r=t}if(l)Hc(l);v=A;return r|0}}}while(0);if((w|0)==6)r=Ze()|0;if(l)Hc(l);si(r|0);return 0}function Kw(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(l){a=0;break}else a=0}l=c[S>>0]|0;l=(l&1)==0?(l&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+l|0)){T=0;xe(8,S|0,l<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else l=b[l>>0]|0;if(ik(l&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(21,t|0,h[p>>2]|0,n|0,m|0)|0;R=T;T=0;if(!(R&1)){h[f>>2]=t;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function Ww(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;a=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(a)break;else break i;T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(a)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(a){l=0;break}else l=0}a=c[S>>0]|0;a=(a&1)==0?(a&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+a|0)){T=0;xe(8,S|0,a<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+a}s=e+12|0;a=h[s>>2]|0;o=e+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else a=b[a>>0]|0;if(ik(a&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(22,t|0,h[p>>2]|0,n|0,m|0)|0;a=H;R=T;T=0;if(!(R&1)){R=f;h[R>>2]=t;h[R+4>>2]=a;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function Jw(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0;S=v;v=v+240|0;m=S+202|0;a=S+200|0;O=S+24|0;P=S+12|0;g=S+8|0;A=S+40|0;M=S+4|0;y=S;p=Lw(t)|0;_k(O,t,m,a);h[P>>2]=0;h[P+4>>2]=0;h[P+8>>2]=0;if(!(c[P>>0]&1))e=10;else e=(h[P>>2]&-2)+-1|0;T=0;xe(8,P|0,e|0,0);_=T;T=0;e:do{if(!(_&1)){k=P+8|0;w=P+1|0;t=(c[P>>0]&1)==0?w:h[k>>2]|0;h[g>>2]=t;h[M>>2]=A;h[y>>2]=0;_=P+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){R=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){R=24;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;R=16;break}}else R=16}while(0);if((R|0)==16){R=0;if(l){a=0;break}else a=0}l=c[P>>0]|0;l=(l&1)==0?(l&255)>>>1:h[_>>2]|0;if((h[g>>2]|0)==(t+l|0)){T=0;xe(8,P|0,l<<1|0,0);o=T;T=0;if(o&1){R=24;break}if(!(c[P>>0]&1))t=10;else t=(h[P>>2]&-2)+-1|0;T=0;xe(8,P|0,t|0,0);o=T;T=0;if(o&1){R=24;break}t=(c[P>>0]&1)==0?w:h[k>>2]|0;h[g>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;L=T;T=0;if(L&1){R=24;break}}else l=b[l>>0]|0;if(ik(l&255,p,t,g,y,u,O,A,M,m)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;L=T;T=0;if(L&1){R=24;break}else continue}else{h[s>>2]=a+1;continue}}if((R|0)==24){e=Ze()|0;break}L=c[O>>0]|0;if((((L&1)==0?(L&255)>>>1:h[O+4>>2]|0)|0)!=0?(E=h[M>>2]|0,(E-A|0)<160):0){L=h[y>>2]|0;h[M>>2]=E+4;h[E>>2]=L}T=0;t=De(23,t|0,h[g>>2]|0,n|0,p|0)|0;L=T;T=0;if(!(L&1)){d[f>>1]=t;nu(O,A,h[M>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;L=T;T=0;if(L&1){R=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;L=T;T=0;if(L&1){R=25;break e}if((e|0)==-1){h[r>>2]=0;R=49;break}}if(!t)R=50}else R=49}while(0);if((R|0)==49?t:0)R=50;if((R|0)==50)h[n>>2]=h[n>>2]|2;L=h[i>>2]|0;qd(P);qd(O);v=S;return L|0}else R=25}else R=25}while(0);if((R|0)==25)e=Ze()|0;qd(P);qd(O);si(e|0);return 0}function Zw(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(l){a=0;break}else a=0}l=c[S>>0]|0;l=(l&1)==0?(l&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+l|0)){T=0;xe(8,S|0,l<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else l=b[l>>0]|0;if(ik(l&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(24,t|0,h[p>>2]|0,n|0,m|0)|0;R=T;T=0;if(!(R&1)){h[f>>2]=t;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function Qw(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(l){a=0;break}else a=0}l=c[S>>0]|0;l=(l&1)==0?(l&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+l|0)){T=0;xe(8,S|0,l<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else l=b[l>>0]|0;if(ik(l&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(25,t|0,h[p>>2]|0,n|0,m|0)|0;R=T;T=0;if(!(R&1)){h[f>>2]=t;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function $w(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;a=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(a)break;else break i;T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(a)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(a){l=0;break}else l=0}a=c[S>>0]|0;a=(a&1)==0?(a&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+a|0)){T=0;xe(8,S|0,a<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+a}s=e+12|0;a=h[s>>2]|0;o=e+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else a=b[a>>0]|0;if(ik(a&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(26,t|0,h[p>>2]|0,n|0,m|0)|0;a=H;R=T;T=0;if(!(R&1)){R=f;h[R>>2]=t;h[R+4>>2]=a;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function e_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;R=v;v=v+240|0;g=R+208|0;l=R+203|0;s=R+202|0;C=R+24|0;L=R+12|0;E=R+8|0;P=R+40|0;O=R+4|0;A=R;M=R+201|0;y=R+200|0;mk(C,t,g,l,s);h[L>>2]=0;h[L+4>>2]=0;h[L+8>>2]=0;if(!(c[L>>0]&1))e=10;else e=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,e|0,0);p=T;T=0;e:do{if(!(p&1)){w=L+8|0;m=L+1|0;t=(c[L>>0]&1)==0?m:h[w>>2]|0;h[E>>2]=t;h[O>>2]=P;h[A>>2]=0;c[M>>0]=1;c[y>>0]=69;p=L+4|0;k=c[l>>0]|0;d=c[s>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;u=T;T=0;if(u&1){D=24;break}if((l|0)==-1){h[i>>2]=0;e=0}}}else e=0;s=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(s)break;else break i;T=0;o=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){D=24;break i}if((o|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(s){l=0;break}else l=0}s=c[L>>0]|0;s=(s&1)==0?(s&255)>>>1:h[p>>2]|0;if((h[E>>2]|0)==(t+s|0)){T=0;xe(8,L|0,s<<1|0,0);u=T;T=0;if(u&1){D=24;break}if(!(c[L>>0]&1))t=10;else t=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,t|0,0);u=T;T=0;if(u&1){D=24;break}t=(c[L>>0]&1)==0?m:h[w>>2]|0;h[E>>2]=t+s}o=e+12|0;s=h[o>>2]|0;u=e+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}}else s=b[s>>0]|0;if(pk(s&255,M,y,t,E,k,d,C,P,O,A,g)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}else continue}else{h[o>>2]=l+1;continue}}if((D|0)==24){e=Ze()|0;break}x=c[C>>0]|0;if(!((c[M>>0]|0)==0?1:(((x&1)==0?(x&255)>>>1:h[C+4>>2]|0)|0)==0)?(S=h[O>>2]|0,(S-P|0)<160):0){x=h[A>>2]|0;h[O>>2]=S+4;h[S>>2]=x}T=0;a=+Le(1,t|0,h[E>>2]|0,n|0);x=T;T=0;if(!(x&1)){_[f>>2]=a;nu(C,P,h[O>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;x=T;T=0;if(x&1){D=25;break e}if((e|0)==-1){h[r>>2]=0;D=49;break}}if(!t)D=50}else D=49}while(0);if((D|0)==49?t:0)D=50;if((D|0)==50)h[n>>2]=h[n>>2]|2;x=h[i>>2]|0;qd(L);qd(C);v=R;return x|0}else D=25}else D=25}while(0);if((D|0)==25)e=Ze()|0;qd(L);qd(C);si(e|0);return 0}function i_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;R=v;v=v+240|0;g=R+208|0;l=R+203|0;s=R+202|0;C=R+24|0;L=R+12|0;E=R+8|0;P=R+40|0;O=R+4|0;A=R;M=R+201|0;y=R+200|0;mk(C,t,g,l,s);h[L>>2]=0;h[L+4>>2]=0;h[L+8>>2]=0;if(!(c[L>>0]&1))e=10;else e=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,e|0,0);p=T;T=0;e:do{if(!(p&1)){w=L+8|0;_=L+1|0;t=(c[L>>0]&1)==0?_:h[w>>2]|0;h[E>>2]=t;h[O>>2]=P;h[A>>2]=0;c[M>>0]=1;c[y>>0]=69;p=L+4|0;k=c[l>>0]|0;d=c[s>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;u=T;T=0;if(u&1){D=24;break}if((l|0)==-1){h[i>>2]=0;e=0}}}else e=0;s=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(s)break;else break i;T=0;o=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){D=24;break i}if((o|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(s){l=0;break}else l=0}s=c[L>>0]|0;s=(s&1)==0?(s&255)>>>1:h[p>>2]|0;if((h[E>>2]|0)==(t+s|0)){T=0;xe(8,L|0,s<<1|0,0);u=T;T=0;if(u&1){D=24;break}if(!(c[L>>0]&1))t=10;else t=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,t|0,0);u=T;T=0;if(u&1){D=24;break}t=(c[L>>0]&1)==0?_:h[w>>2]|0;h[E>>2]=t+s}o=e+12|0;s=h[o>>2]|0;u=e+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}}else s=b[s>>0]|0;if(pk(s&255,M,y,t,E,k,d,C,P,O,A,g)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}else continue}else{h[o>>2]=l+1;continue}}if((D|0)==24){e=Ze()|0;break}x=c[C>>0]|0;if(!((c[M>>0]|0)==0?1:(((x&1)==0?(x&255)>>>1:h[C+4>>2]|0)|0)==0)?(S=h[O>>2]|0,(S-P|0)<160):0){x=h[A>>2]|0;h[O>>2]=S+4;h[S>>2]=x}T=0;a=+Le(2,t|0,h[E>>2]|0,n|0);x=T;T=0;if(!(x&1)){m[f>>3]=a;nu(C,P,h[O>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;x=T;T=0;if(x&1){D=25;break e}if((e|0)==-1){h[r>>2]=0;D=49;break}}if(!t)D=50}else D=49}while(0);if((D|0)==49?t:0)D=50;if((D|0)==50)h[n>>2]=h[n>>2]|2;x=h[i>>2]|0;qd(L);qd(C);v=R;return x|0}else D=25}else D=25}while(0);if((D|0)==25)e=Ze()|0;qd(L);qd(C);si(e|0);return 0}function r_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;R=v;v=v+240|0;g=R+208|0;l=R+203|0;s=R+202|0;C=R+24|0;L=R+12|0;E=R+8|0;P=R+40|0;O=R+4|0;A=R;M=R+201|0;y=R+200|0;mk(C,t,g,l,s);h[L>>2]=0;h[L+4>>2]=0;h[L+8>>2]=0;if(!(c[L>>0]&1))e=10;else e=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,e|0,0);p=T;T=0;e:do{if(!(p&1)){w=L+8|0;_=L+1|0;t=(c[L>>0]&1)==0?_:h[w>>2]|0;h[E>>2]=t;h[O>>2]=P;h[A>>2]=0;c[M>>0]=1;c[y>>0]=69;p=L+4|0;k=c[l>>0]|0;d=c[s>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;u=T;T=0;if(u&1){D=24;break}if((l|0)==-1){h[i>>2]=0;e=0}}}else e=0;s=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(s)break;else break i;T=0;o=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){D=24;break i}if((o|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(s){l=0;break}else l=0}s=c[L>>0]|0;s=(s&1)==0?(s&255)>>>1:h[p>>2]|0;if((h[E>>2]|0)==(t+s|0)){T=0;xe(8,L|0,s<<1|0,0);u=T;T=0;if(u&1){D=24;break}if(!(c[L>>0]&1))t=10;else t=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,t|0,0);u=T;T=0;if(u&1){D=24;break}t=(c[L>>0]&1)==0?_:h[w>>2]|0;h[E>>2]=t+s}o=e+12|0;s=h[o>>2]|0;u=e+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}}else s=b[s>>0]|0;if(pk(s&255,M,y,t,E,k,d,C,P,O,A,g)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}else continue}else{h[o>>2]=l+1;continue}}if((D|0)==24){e=Ze()|0;break}x=c[C>>0]|0;if(!((c[M>>0]|0)==0?1:(((x&1)==0?(x&255)>>>1:h[C+4>>2]|0)|0)==0)?(S=h[O>>2]|0,(S-P|0)<160):0){x=h[A>>2]|0;h[O>>2]=S+4;h[S>>2]=x}T=0;a=+Le(3,t|0,h[E>>2]|0,n|0);x=T;T=0;if(!(x&1)){m[f>>3]=a;nu(C,P,h[O>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;x=T;T=0;if(x&1){D=25;break e}if((e|0)==-1){h[r>>2]=0;D=49;break}}if(!t)D=50}else D=49}while(0);if((D|0)==49?t:0)D=50;if((D|0)==50)h[n>>2]=h[n>>2]|2;x=h[i>>2]|0;qd(L);qd(C);v=R;return x|0}else D=25}else D=25}while(0);if((D|0)==25)e=Ze()|0;qd(L);qd(C);si(e|0);return 0}function t_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=v;v=v+16|0;f=n;h[f>>2]=t;t=fy(i)|0;i=Ky(e,r,f)|0;if((t|0)!=0?(T=0,ye(75,t|0)|0,f=T,T=0,f&1):0){f=Ze(0)|0;Ki(f)}v=n;return i|0}function n_(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;E=v;v=v+112|0;s=E;u=(t-r|0)/12|0;do{if(u>>>0>100){s=jc(u)|0;if((s|0)==0?(T=0,Ie(6),y=T,T=0,y&1):0){l=0;b=6;break}l=s;b=11}else{l=0;b=11}}while(0);e:do{if((b|0)==11){if((r|0)==(t|0))o=0;else{k=r;d=0;b=s;while(1){o=c[k>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=h[k+4>>2]|0;if(!o){c[b>>0]=2;o=d+1|0;u=u+-1|0}else{c[b>>0]=1;o=d}k=k+12|0;if((k|0)==(t|0))break;else{d=o;b=b+1|0}}}g=(r|0)==(t|0);y=(r|0)==(t|0);p=0;w=u;i:while(1){u=h[e>>2]|0;do{if(u){d=h[u+12>>2]|0;if((d|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;m=T;T=0;if(m&1){b=5;break i}}else u=h[d>>2]|0;if((u|0)==-1){h[e>>2]=0;k=1;break}else{k=(h[e>>2]|0)==0;break}}else k=1}while(0);d=h[i>>2]|0;if(d){u=h[d+12>>2]|0;if((u|0)==(h[d+16>>2]|0)){T=0;u=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;m=T;T=0;if(m&1){b=5;break}}else u=h[u>>2]|0;if((u|0)==-1){h[i>>2]=0;d=0;b=1}else b=0}else{d=0;b=1}u=h[e>>2]|0;if(!((w|0)!=0&(k^b))){b=66;break}d=h[u+12>>2]|0;if((d|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;m=T;T=0;if(m&1){b=5;break}}else u=h[d>>2]|0;if(!a){T=0;u=Oe(h[(h[n>>2]|0)+28>>2]|0,n|0,u|0)|0;m=T;T=0;if(m&1){b=5;break}}m=p+1|0;if(g){u=0;k=w}else{k=0;_=r;b=w;w=s;while(1){do{if((c[w>>0]|0)==1){if(!(c[_>>0]&1))d=_+4|0;else d=h[_+8>>2]|0;d=h[d+(p<<2)>>2]|0;if(!a){T=0;d=Oe(h[(h[n>>2]|0)+28>>2]|0,n|0,d|0)|0;A=T;T=0;if(A&1){b=4;break i}}if((u|0)!=(d|0)){c[w>>0]=0;d=k;b=b+-1|0;break}d=c[_>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=h[_+4>>2]|0;if((d|0)==(m|0)){c[w>>0]=2;d=1;o=o+1|0;b=b+-1|0}else d=1}else d=k}while(0);_=_+12|0;if((_|0)==(t|0)){u=d;k=b;break}else{k=d;w=w+1|0}}}if(!u){p=m;w=k;continue}u=h[e>>2]|0;d=u+12|0;b=h[d>>2]|0;if((b|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;A=T;T=0;if(A&1){b=5;break}}else h[d>>2]=b+4;if((o+k|0)>>>0<2|y){p=m;w=k;continue}else{u=r;b=s}while(1){if((c[b>>0]|0)==2){d=c[u>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=h[u+4>>2]|0;if((d|0)!=(m|0)){c[b>>0]=0;o=o+-1|0}}u=u+12|0;if((u|0)==(t|0)){p=m;w=k;continue i}else b=b+1|0}}if((b|0)==4){r=Ze()|0;break}else if((b|0)==5){r=Ze()|0;break}else if((b|0)==66){do{if(u){o=h[u+12>>2]|0;if((o|0)==(h[u+16>>2]|0)){T=0;o=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;A=T;T=0;if(A&1){b=6;break e}}else o=h[o>>2]|0;if((o|0)==-1){h[e>>2]=0;u=1;break}else{u=(h[e>>2]|0)==0;break}}else u=1}while(0);do{if(d){o=h[d+12>>2]|0;if((o|0)==(h[d+16>>2]|0)){T=0;o=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;A=T;T=0;if(A&1){b=6;break e}}else o=h[o>>2]|0;if((o|0)!=-1)if(u)break;else{b=81;break}else{h[i>>2]=0;b=79;break}}else b=79}while(0);if((b|0)==79?u:0)b=81;if((b|0)==81)h[f>>2]=h[f>>2]|2;i:do{if((r|0)==(t|0))b=85;else while(1){if((c[s>>0]|0)==2)break i;r=r+12|0;if((r|0)==(t|0)){b=85;break}else s=s+1|0}}while(0);if((b|0)==85){h[f>>2]=h[f>>2]|4;r=t}if(l)Hc(l);v=E;return r|0}}}while(0);if((b|0)==6)r=Ze()|0;if(l)Hc(l);si(r|0);return 0}function f_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){P=25;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l)break;else{a=s;break i}else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(l){a=0;break}else s=0}a=c[M>>0]|0;a=(a&1)==0?(a&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+a|0)){T=0;xe(8,M|0,a<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+a}l=t+12|0;a=h[l>>2]|0;o=t+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}}else a=h[a>>2]|0;if(wk(a,_,e,m,p,u,S,y,E,w)|0){a=s;break}a=h[l>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}else{a=t;continue}}else{h[l>>2]=a+4;a=t;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(21,e|0,h[m>>2]|0,n|0,_|0)|0;O=T;T=0;if(!(O&1)){h[f>>2]=e;nu(S,y,h[E>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function a_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;a=0;s=1}else s=0}else{a=0;s=1}l=h[r>>2]|0;do{if(l){t=h[l+12>>2]|0;if((t|0)==(h[l+16>>2]|0)){T=0;t=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;o=T;T=0;if(o&1){P=25;break i}}else t=h[t>>2]|0;if((t|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(s){l=0;break}else l=0}t=c[M>>0]|0;t=(t&1)==0?(t&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+t|0)){T=0;xe(8,M|0,t<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+t}s=a+12|0;t=h[s>>2]|0;o=a+16|0;if((t|0)==(h[o>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=25;break}}else t=h[t>>2]|0;if(wk(t,_,e,m,p,u,S,y,E,w)|0)break;t=h[s>>2]|0;if((t|0)==(h[o>>2]|0)){T=0;ye(h[(h[a>>2]|0)+40>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=25;break}else continue}else{h[s>>2]=t+4;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(22,e|0,h[m>>2]|0,n|0,_|0)|0;t=H;O=T;T=0;if(!(O&1)){O=f;h[O>>2]=e;h[O+4>>2]=t;nu(S,y,h[E>>2]|0,n);if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function l_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+320|0;_=M+208|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;vk(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){b=S+8|0;k=S+1|0;e=(c[S>>0]&1)==0?k:h[b>>2]|0;h[p>>2]=e;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){O=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){O=25;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l)break;else{a=s;break i}else{h[r>>2]=0;O=17;break}}else O=17}while(0);if((O|0)==17){O=0;if(l){a=0;break}else s=0}a=c[S>>0]|0;a=(a&1)==0?(a&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(e+a|0)){T=0;xe(8,S|0,a<<1|0,0);o=T;T=0;if(o&1){O=25;break}if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);o=T;T=0;if(o&1){O=25;break}e=(c[S>>0]&1)==0?k:h[b>>2]|0;h[p>>2]=e+a}l=t+12|0;a=h[l>>2]|0;o=t+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;R=T;T=0;if(R&1){O=25;break}}else a=h[a>>2]|0;if(wk(a,m,e,p,g,u,P,E,A,_)|0){a=s;break}a=h[l>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;R=T;T=0;if(R&1){O=25;break}else{a=t;continue}}else{h[l>>2]=a+4;a=t;continue}}if((O|0)==25){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;e=De(23,e|0,h[p>>2]|0,n|0,m|0)|0;R=T;T=0;if(!(R&1)){d[f>>1]=e;nu(P,E,h[A>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;R=T;T=0;if(R&1){O=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;R=T;T=0;if(R&1){O=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{O=53;break}else{h[r>>2]=0;O=51;break}}else O=51}while(0);if((O|0)==51?t:0)O=53;if((O|0)==53)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=26}else O=26}while(0);if((O|0)==26)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function s_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){P=25;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l)break;else{a=s;break i}else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(l){a=0;break}else s=0}a=c[M>>0]|0;a=(a&1)==0?(a&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+a|0)){T=0;xe(8,M|0,a<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+a}l=t+12|0;a=h[l>>2]|0;o=t+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}}else a=h[a>>2]|0;if(wk(a,_,e,m,p,u,S,y,E,w)|0){a=s;break}a=h[l>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}else{a=t;continue}}else{h[l>>2]=a+4;a=t;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(24,e|0,h[m>>2]|0,n|0,_|0)|0;O=T;T=0;if(!(O&1)){h[f>>2]=e;nu(S,y,h[E>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function o_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){P=25;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l)break;else{a=s;break i}else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(l){a=0;break}else s=0}a=c[M>>0]|0;a=(a&1)==0?(a&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+a|0)){T=0;xe(8,M|0,a<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+a}l=t+12|0;a=h[l>>2]|0;o=t+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}}else a=h[a>>2]|0;if(wk(a,_,e,m,p,u,S,y,E,w)|0){a=s;break}a=h[l>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}else{a=t;continue}}else{h[l>>2]=a+4;a=t;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(25,e|0,h[m>>2]|0,n|0,_|0)|0;O=T;T=0;if(!(O&1)){h[f>>2]=e;nu(S,y,h[E>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function u_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;a=0;s=1}else s=0}else{a=0;s=1}l=h[r>>2]|0;do{if(l){t=h[l+12>>2]|0;if((t|0)==(h[l+16>>2]|0)){T=0;t=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;o=T;T=0;if(o&1){P=25;break i}}else t=h[t>>2]|0;if((t|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(s){l=0;break}else l=0}t=c[M>>0]|0;t=(t&1)==0?(t&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+t|0)){T=0;xe(8,M|0,t<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+t}s=a+12|0;t=h[s>>2]|0;o=a+16|0;if((t|0)==(h[o>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=25;break}}else t=h[t>>2]|0;if(wk(t,_,e,m,p,u,S,y,E,w)|0)break;t=h[s>>2]|0;if((t|0)==(h[o>>2]|0)){T=0;ye(h[(h[a>>2]|0)+40>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=25;break}else continue}else{h[s>>2]=t+4;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(26,e|0,h[m>>2]|0,n|0,_|0)|0;t=H;O=T;T=0;if(!(O&1)){O=f;h[O>>2]=e;h[O+4>>2]=t;nu(S,y,h[E>>2]|0,n);if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function c_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;O=v;v=v+352|0;p=O+208|0;l=O+40|0;s=O+36|0;L=O+24|0;R=O+12|0;y=O+8|0;S=O+48|0;P=O+4|0;E=O;A=O+337|0;g=O+336|0;gk(L,t,p,l,s);h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);m=T;T=0;e:do{if(!(m&1)){k=R+8|0;w=R+1|0;e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e;h[P>>2]=S;h[E>>2]=0;c[A>>0]=1;c[g>>0]=69;m=R+4|0;b=h[l>>2]|0;d=h[s>>2]|0;t=h[i>>2]|0;i:while(1){if(t){l=h[t+12>>2]|0;if((l|0)==(h[t+16>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;u=T;T=0;if(u&1){C=25;break}}else l=h[l>>2]|0;if((l|0)==-1){h[i>>2]=0;t=0;o=1}else o=0}else{t=0;o=1}l=h[r>>2]|0;do{if(l){s=h[l+12>>2]|0;if((s|0)==(h[l+16>>2]|0)){T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){C=25;break i}}else s=h[s>>2]|0;if((s|0)!=-1)if(o)break;else break i;else{h[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(o){l=0;break}else l=0}s=c[R>>0]|0;s=(s&1)==0?(s&255)>>>1:h[m>>2]|0;if((h[y>>2]|0)==(e+s|0)){T=0;xe(8,R|0,s<<1|0,0);u=T;T=0;if(u&1){C=25;break}if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);u=T;T=0;if(u&1){C=25;break}e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e+s}o=t+12|0;s=h[o>>2]|0;u=t+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}}else s=h[s>>2]|0;if(yk(s,A,g,e,y,b,d,L,S,P,E,p)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}else continue}else{h[o>>2]=l+4;continue}}if((C|0)==25){e=Ze()|0;break}D=c[L>>0]|0;if(!((c[A>>0]|0)==0?1:(((D&1)==0?(D&255)>>>1:h[L+4>>2]|0)|0)==0)?(M=h[P>>2]|0,(M-S|0)<160):0){D=h[E>>2]|0;h[P>>2]=M+4;h[M>>2]=D}T=0;a=+Le(1,e|0,h[y>>2]|0,n|0);D=T;T=0;if(!(D&1)){_[f>>2]=a;nu(L,S,h[P>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;D=T;T=0;if(D&1){C=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{C=53;break}else{h[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?t:0)C=53;if((C|0)==53)h[n>>2]=h[n>>2]|2;D=h[i>>2]|0;qd(R);qd(L);v=O;return D|0}else C=26}else C=26}while(0);if((C|0)==26)e=Ze()|0;qd(R);qd(L);si(e|0);return 0}function d_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;O=v;v=v+352|0;p=O+208|0;l=O+40|0;s=O+36|0;L=O+24|0;R=O+12|0;y=O+8|0;S=O+48|0;P=O+4|0;E=O;A=O+337|0;g=O+336|0;gk(L,t,p,l,s);h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);_=T;T=0;e:do{if(!(_&1)){k=R+8|0;w=R+1|0;e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e;h[P>>2]=S;h[E>>2]=0;c[A>>0]=1;c[g>>0]=69;_=R+4|0;b=h[l>>2]|0;d=h[s>>2]|0;t=h[i>>2]|0;i:while(1){if(t){l=h[t+12>>2]|0;if((l|0)==(h[t+16>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;u=T;T=0;if(u&1){C=25;break}}else l=h[l>>2]|0;if((l|0)==-1){h[i>>2]=0;t=0;o=1}else o=0}else{t=0;o=1}l=h[r>>2]|0;do{if(l){s=h[l+12>>2]|0;if((s|0)==(h[l+16>>2]|0)){T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){C=25;break i}}else s=h[s>>2]|0;if((s|0)!=-1)if(o)break;else break i;else{h[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(o){l=0;break}else l=0}s=c[R>>0]|0;s=(s&1)==0?(s&255)>>>1:h[_>>2]|0;if((h[y>>2]|0)==(e+s|0)){T=0;xe(8,R|0,s<<1|0,0);u=T;T=0;if(u&1){C=25;break}if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);u=T;T=0;if(u&1){C=25;break}e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e+s}o=t+12|0;s=h[o>>2]|0;u=t+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}}else s=h[s>>2]|0;if(yk(s,A,g,e,y,b,d,L,S,P,E,p)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}else continue}else{h[o>>2]=l+4;continue}}if((C|0)==25){e=Ze()|0;break}D=c[L>>0]|0;if(!((c[A>>0]|0)==0?1:(((D&1)==0?(D&255)>>>1:h[L+4>>2]|0)|0)==0)?(M=h[P>>2]|0,(M-S|0)<160):0){D=h[E>>2]|0;h[P>>2]=M+4;h[M>>2]=D}T=0;a=+Le(2,e|0,h[y>>2]|0,n|0);D=T;T=0;if(!(D&1)){m[f>>3]=a;nu(L,S,h[P>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;D=T;T=0;if(D&1){C=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{C=53;break}else{h[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?t:0)C=53;if((C|0)==53)h[n>>2]=h[n>>2]|2;D=h[i>>2]|0;qd(R);qd(L);v=O;return D|0}else C=26}else C=26}while(0);if((C|0)==26)e=Ze()|0;qd(R);qd(L);si(e|0);return 0}function h_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;O=v;v=v+352|0;p=O+208|0;l=O+40|0;s=O+36|0;L=O+24|0;R=O+12|0;y=O+8|0;S=O+48|0;P=O+4|0;E=O;A=O+337|0;g=O+336|0;gk(L,t,p,l,s);h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);_=T;T=0;e:do{if(!(_&1)){k=R+8|0;w=R+1|0;e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e;h[P>>2]=S;h[E>>2]=0;c[A>>0]=1;c[g>>0]=69;_=R+4|0;b=h[l>>2]|0;d=h[s>>2]|0;t=h[i>>2]|0;i:while(1){if(t){l=h[t+12>>2]|0;if((l|0)==(h[t+16>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;u=T;T=0;if(u&1){C=25;break}}else l=h[l>>2]|0;if((l|0)==-1){h[i>>2]=0;t=0;o=1}else o=0}else{t=0;o=1}l=h[r>>2]|0;do{if(l){s=h[l+12>>2]|0;if((s|0)==(h[l+16>>2]|0)){T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){C=25;break i}}else s=h[s>>2]|0;if((s|0)!=-1)if(o)break;else break i;else{h[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(o){l=0;break}else l=0}s=c[R>>0]|0;s=(s&1)==0?(s&255)>>>1:h[_>>2]|0;if((h[y>>2]|0)==(e+s|0)){T=0;xe(8,R|0,s<<1|0,0);u=T;T=0;if(u&1){C=25;break}if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);u=T;T=0;if(u&1){C=25;break}e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e+s}o=t+12|0;s=h[o>>2]|0;u=t+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}}else s=h[s>>2]|0;if(yk(s,A,g,e,y,b,d,L,S,P,E,p)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}else continue}else{h[o>>2]=l+4;continue}}if((C|0)==25){e=Ze()|0;break}D=c[L>>0]|0;if(!((c[A>>0]|0)==0?1:(((D&1)==0?(D&255)>>>1:h[L+4>>2]|0)|0)==0)?(M=h[P>>2]|0,(M-S|0)<160):0){D=h[E>>2]|0;h[P>>2]=M+4;h[M>>2]=D}T=0;a=+Le(3,e|0,h[y>>2]|0,n|0);D=T;T=0;if(!(D&1)){m[f>>3]=a;nu(L,S,h[P>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;D=T;T=0;if(D&1){C=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{C=53;break}else{h[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?t:0)C=53;if((C|0)==53)h[n>>2]=h[n>>2]|2;D=h[i>>2]|0;qd(R);qd(L);v=O;return D|0}else C=26}else C=26}while(0);if((C|0)==26)e=Ze()|0;qd(R);qd(L);si(e|0);return 0}function b_(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;f=v;v=v+16|0;a=f;h[a>>2]=n;n=fy(r)|0;r=Gy(e,i,t,a)|0;if((n|0)!=0?(T=0,ye(75,n|0)|0,a=T,T=0,a&1):0){a=Ze(0)|0;Ki(a)}v=f;return r|0}function k_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=v;v=v+16|0;f=n;h[f>>2]=t;t=fy(i)|0;T=0;i=Ae(37,e|0,r|0,f|0)|0;e=T;T=0;if(e&1){i=Ze()|0;if((t|0)!=0?(T=0,ye(75,t|0)|0,f=T,T=0,f&1):0){f=Ze(0)|0;Ki(f)}si(i|0)}else{if((t|0)!=0?(T=0,ye(75,t|0)|0,f=T,T=0,f&1):0){f=Ze(0)|0;Ki(f)}v=n;return i|0}return 0}function w_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0;d=v;v=v+16|0;u=d;a=h[e>>2]|0;e:do{if(!a)a=0;else{b=i;s=t-b>>2;o=n+12|0;l=h[o>>2]|0;s=(l|0)>(s|0)?l-s|0:0;l=r;b=l-b|0;n=b>>2;if((b|0)>0?(vE[h[(h[a>>2]|0)+48>>2]&63](a,i,n)|0)!=(n|0):0){h[e>>2]=0;a=0;break}do{if((s|0)>0){rh(u,s,f);T=0;n=Ae(h[(h[a>>2]|0)+48>>2]|0,a|0,((c[u>>0]&1)==0?u+4|0:h[u+8>>2]|0)|0,s|0)|0;b=T;T=0;if(b&1){b=Ze()|0;th(u);si(b|0)}if((n|0)==(s|0)){th(u);break}else{h[e>>2]=0;th(u);a=0;break e}}}while(0);b=t-l|0;t=b>>2;if((b|0)>0?(vE[h[(h[a>>2]|0)+48>>2]&63](a,r,t)|0)!=(t|0):0){h[e>>2]=0;a=0;break}h[o>>2]=0}}while(0);v=d;return a|0}function __(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,k=0,w=0,_=0;f=h[e>>2]|0;do{if(f){if((h[f+12>>2]|0)==(h[f+16>>2]|0))if((mE[h[(h[f>>2]|0)+36>>2]&127](f)|0)==-1){h[e>>2]=0;f=0;break}else{f=h[e>>2]|0;break}}else f=0}while(0);a=(f|0)==0;f=h[i>>2]|0;do{if(f){if((h[f+12>>2]|0)==(h[f+16>>2]|0)?(mE[h[(h[f>>2]|0)+36>>2]&127](f)|0)==-1:0){h[i>>2]=0;_=11;break}if(a)_=13;else _=12}else _=11}while(0);if((_|0)==11)if(a)_=12;else{f=0;_=13}e:do{if((_|0)==12){h[r>>2]=h[r>>2]|6;f=0}else if((_|0)==13){a=h[e>>2]|0;l=h[a+12>>2]|0;if((l|0)==(h[a+16>>2]|0))a=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else a=b[l>>0]|0;l=a&255;if(l<<24>>24>-1?(w=t+8|0,(d[(h[w>>2]|0)+(a<<24>>24<<1)>>1]&2048)!=0):0){o=(vE[h[(h[t>>2]|0)+36>>2]&63](t,l,0)|0)<<24>>24;a=h[e>>2]|0;l=a+12|0;s=h[l>>2]|0;if((s|0)==(h[a+16>>2]|0)){mE[h[(h[a>>2]|0)+40>>2]&127](a)|0;c=n;u=f;n=f;f=o}else{h[l>>2]=s+1;c=n;u=f;n=f;f=o}while(1){f=f+-48|0;k=c+-1|0;a=h[e>>2]|0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0))if((mE[h[(h[a>>2]|0)+36>>2]&127](a)|0)==-1){h[e>>2]=0;a=0;break}else{a=h[e>>2]|0;break}}else a=0}while(0);s=(a|0)==0;if(n)if((h[n+12>>2]|0)==(h[n+16>>2]|0))if((mE[h[(h[n>>2]|0)+36>>2]&127](n)|0)==-1){h[i>>2]=0;l=0;n=0}else{l=u;n=u}else l=u;else{l=u;n=0}a=h[e>>2]|0;if(!((c|0)>1&(s^(n|0)==0)))break;s=h[a+12>>2]|0;if((s|0)==(h[a+16>>2]|0))a=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else a=b[s>>0]|0;s=a&255;if(s<<24>>24<=-1)break e;if(!(d[(h[w>>2]|0)+(a<<24>>24<<1)>>1]&2048))break e;f=((vE[h[(h[t>>2]|0)+36>>2]&63](t,s,0)|0)<<24>>24)+(f*10|0)|0;a=h[e>>2]|0;s=a+12|0;o=h[s>>2]|0;if((o|0)==(h[a+16>>2]|0)){mE[h[(h[a>>2]|0)+40>>2]&127](a)|0;c=k;u=l;continue}else{h[s>>2]=o+1;c=k;u=l;continue}}do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0))if((mE[h[(h[a>>2]|0)+36>>2]&127](a)|0)==-1){h[e>>2]=0;a=0;break}else{a=h[e>>2]|0;break}}else a=0}while(0);a=(a|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)?(mE[h[(h[l>>2]|0)+36>>2]&127](l)|0)==-1:0){h[i>>2]=0;_=50;break}if(a)break e}else _=50}while(0);if((_|0)==50?!a:0)break;h[r>>2]=h[r>>2]|2;break}h[r>>2]=h[r>>2]|4;f=0}}while(0);return f|0}function m_(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;f=h[e>>2]|0;do{if(f){a=h[f+12>>2]|0;if((a|0)==(h[f+16>>2]|0))f=mE[h[(h[f>>2]|0)+36>>2]&127](f)|0;else f=h[a>>2]|0;if((f|0)==-1){h[e>>2]=0;l=1;break}else{l=(h[e>>2]|0)==0;break}}else l=1}while(0);a=h[i>>2]|0;do{if(a){f=h[a+12>>2]|0;if((f|0)==(h[a+16>>2]|0))f=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else f=h[f>>2]|0;if((f|0)!=-1)if(l){b=17;break}else{b=16;break}else{h[i>>2]=0;b=14;break}}else b=14}while(0);if((b|0)==14)if(l)b=16;else{a=0;b=17}e:do{if((b|0)==16){h[r>>2]=h[r>>2]|6;f=0}else if((b|0)==17){f=h[e>>2]|0;l=h[f+12>>2]|0;if((l|0)==(h[f+16>>2]|0))f=mE[h[(h[f>>2]|0)+36>>2]&127](f)|0;else f=h[l>>2]|0;if(!(vE[h[(h[t>>2]|0)+12>>2]&63](t,2048,f)|0)){h[r>>2]=h[r>>2]|4;f=0;break}f=(vE[h[(h[t>>2]|0)+52>>2]&63](t,f,0)|0)<<24>>24;l=h[e>>2]|0;s=l+12|0;o=h[s>>2]|0;if((o|0)==(h[l+16>>2]|0)){mE[h[(h[l>>2]|0)+40>>2]&127](l)|0;c=n;u=a;s=a}else{h[s>>2]=o+4;c=n;u=a;s=a}while(1){f=f+-48|0;d=c+-1|0;a=h[e>>2]|0;do{if(a){l=h[a+12>>2]|0;if((l|0)==(h[a+16>>2]|0))a=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else a=h[l>>2]|0;if((a|0)==-1){h[e>>2]=0;o=1;break}else{o=(h[e>>2]|0)==0;break}}else o=1}while(0);do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0))a=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else a=h[a>>2]|0;if((a|0)==-1){h[i>>2]=0;s=0;n=0;a=1;break}else{s=u;n=u;a=(u|0)==0;break}}else{s=u;n=0;a=1}}while(0);l=h[e>>2]|0;if(!((c|0)>1&(o^a)))break;a=h[l+12>>2]|0;if((a|0)==(h[l+16>>2]|0))a=mE[h[(h[l>>2]|0)+36>>2]&127](l)|0;else a=h[a>>2]|0;if(!(vE[h[(h[t>>2]|0)+12>>2]&63](t,2048,a)|0))break e;f=((vE[h[(h[t>>2]|0)+52>>2]&63](t,a,0)|0)<<24>>24)+(f*10|0)|0;a=h[e>>2]|0;l=a+12|0;o=h[l>>2]|0;if((o|0)==(h[a+16>>2]|0)){mE[h[(h[a>>2]|0)+40>>2]&127](a)|0;c=d;u=s;s=n;continue}else{h[l>>2]=o+4;c=d;u=s;s=n;continue}}do{if(l){a=h[l+12>>2]|0;if((a|0)==(h[l+16>>2]|0))a=mE[h[(h[l>>2]|0)+36>>2]&127](l)|0;else a=h[a>>2]|0;if((a|0)==-1){h[e>>2]=0;l=1;break}else{l=(h[e>>2]|0)==0;break}}else l=1}while(0);do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0))a=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else a=h[a>>2]|0;if((a|0)!=-1)if(l)break e;else break;else{h[i>>2]=0;b=60;break}}else b=60}while(0);if((b|0)==60?!l:0)break;h[r>>2]=h[r>>2]|2}}while(0);return f|0}function p_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=e+4|0;t=(h[f>>2]|0)!=189;l=h[e>>2]|0;a=l;n=(h[r>>2]|0)-a|0;n=n>>>0<2147483647?n<<1:-1;a=(h[i>>2]|0)-a|0;l=qc(t?l:0,n)|0;if(!l)Dg();do{if(!t){t=h[e>>2]|0;h[e>>2]=l;if(t){T=0;pe(h[f>>2]|0,t|0);l=T;T=0;if(l&1){l=Ze(0)|0;Ki(l)}else{s=h[e>>2]|0;break}}else s=l}else{h[e>>2]=l;s=l}}while(0);h[f>>2]=201;h[i>>2]=s+a;h[r>>2]=(h[e>>2]|0)+n;return}function v_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=e+4|0;t=(h[f>>2]|0)!=189;l=h[e>>2]|0;a=l;n=(h[r>>2]|0)-a|0;n=n>>>0<2147483647?n<<1:-1;a=(h[i>>2]|0)-a>>2;l=qc(t?l:0,n)|0;if(!l)Dg();do{if(!t){t=h[e>>2]|0;h[e>>2]=l;if(t){T=0;pe(h[f>>2]|0,t|0);l=T;T=0;if(l&1){l=Ze(0)|0;Ki(l)}else{s=h[e>>2]|0;break}}else s=l}else{h[e>>2]=l;s=l}}while(0);h[f>>2]=201;h[i>>2]=s+(a<<2);h[r>>2]=(h[e>>2]|0)+(n>>>2<<2);return}function g_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=i;t=c[e>>0]|0;if(!(t&1)){n=10;s=(t&255)>>>1}else{t=h[e>>2]|0;n=(t&-2)+-1|0;s=h[e+4>>2]|0;t=t&255}l=r-f|0;do{if((r|0)!=(i|0)){if((n-s|0)>>>0>>0){eh(e,n,s+l-n|0,s,s,0,0);t=c[e>>0]|0}if(!(t&1))a=e+1|0;else a=h[e+8>>2]|0;f=r+(s-f)|0;if((i|0)!=(r|0)){t=i;n=a+s|0;while(1){c[n>>0]=c[t>>0]|0;t=t+1|0;if((t|0)==(r|0))break;else n=n+1|0}}c[a+f>>0]=0;t=s+l|0;if(!(c[e>>0]&1)){c[e>>0]=t<<1;break}else{h[e+4>>2]=t;break}}}while(0);return e|0}function y_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=e+4|0;t=(h[f>>2]|0)!=189;l=h[e>>2]|0;a=l;n=(h[r>>2]|0)-a|0;n=n>>>0<2147483647?n<<1:-1;a=(h[i>>2]|0)-a>>2;l=qc(t?l:0,n)|0;if(!l)Dg();do{if(!t){t=h[e>>2]|0;h[e>>2]=l;if(t){T=0;pe(h[f>>2]|0,t|0);l=T;T=0;if(l&1){l=Ze(0)|0;Ki(l)}else{s=h[e>>2]|0;break}}else s=l}else{h[e>>2]=l;s=l}}while(0);h[f>>2]=201;h[i>>2]=s+(a<<2);h[r>>2]=(h[e>>2]|0)+(n>>>2<<2);return}function E_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=i;t=c[e>>0]|0;if(!(t&1)){n=1;s=(t&255)>>>1}else{t=h[e>>2]|0;n=(t&-2)+-1|0;s=h[e+4>>2]|0;t=t&255}l=r-f>>2;do{if(l){if((n-s|0)>>>0>>0){oh(e,n,s+l-n|0,s,s,0,0);t=c[e>>0]|0}if(!(t&1))a=e+4|0;else a=h[e+8>>2]|0;f=s+((r-f|0)>>>2)|0;if((i|0)!=(r|0)){t=i;n=a+(s<<2)|0;while(1){h[n>>2]=h[t>>2];t=t+4|0;if((t|0)==(r|0))break;else n=n+4|0}}h[a+(f<<2)>>2]=0;t=s+l|0;if(!(c[e>>0]&1)){c[e>>0]=t<<1;break}else{h[e+4>>2]=t;break}}}while(0);return e|0}function A_(e,i){e=e|0;i=i|0;var r=0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;c[e+128>>0]=0;do{if(i){T=0;ve(125,e|0,i|0);r=T;T=0;if(r&1){r=Ze()|0;$_(e);si(r|0)}else{wm(e,i);break}}}while(0);return}function M_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43148)|0);return}function T_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43188)|0);return}function S_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44220)|0);return}function P_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44212)|0);return}function O_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44280)|0);return}function R_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44288)|0);return}function L_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44344)|0);return}function C_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44352)|0);return}function D_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44360)|0);return}function x_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44368)|0);return}function I_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43260)|0);return}function B_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43332)|0);return}function N_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43392)|0);return}function F_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43452)|0);return}function U_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43764)|0);return}function j_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43828)|0);return}function H_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43892)|0);return}function Y_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43956)|0);return}function q_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43992)|0);return}function X_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44028)|0);return}function z_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44064)|0);return}function V_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44100)|0);return}function G_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43544)|0);return}function K_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43636)|0);return}function W_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43668)|0);return}function J_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43700)|0);return}function Z_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44140)|0);return}function Q_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44180)|0);return}function $_(e){e=e|0;var i=0,r=0,t=0;r=h[e>>2]|0;do{if(r){t=e+4|0;i=h[t>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));h[t>>2]=i}if((e+16|0)==(r|0)){c[e+128>>0]=0;break}else{zv(r);break}}}while(0);return}function em(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;a=e+4|0;r=h[a>>2]|0;t=h[e>>2]|0;n=r-t>>2;if(n>>>0>=i>>>0){if(n>>>0>i>>>0?(f=t+(i<<2)|0,(r|0)!=(f|0)):0){do{r=r+-4|0}while((r|0)!=(f|0));h[a>>2]=r}}else km(e,i-n|0);return}function im(e,i){e=e|0;i=i|0;var r=0;r=h[e+8>>2]|0;if((h[e+12>>2]|0)-r>>2>>>0>i>>>0)r=(h[r+(i<<2)>>2]|0)!=0;else r=0;return r|0}function rm(e){e=e|0;var i=0,r=0;r=e+4|0;i=h[r>>2]|0;r=h[r+4>>2]|0;e=(h[e>>2]|0)+(r>>1)|0;if(r&1)i=h[(h[e>>2]|0)+i>>2]|0;kE[i&255](e);return}function tm(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0;h[r>>2]=e;h[f>>2]=t;if(l&2)if((n-t|0)<3)e=1;else{h[f>>2]=t+1;c[t>>0]=-17;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=-69;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=-65;s=4}else s=4;e:do{if((s|0)==4){o=i;e=h[r>>2]|0;if(e>>>0>>0)while(1){l=d[e>>1]|0;s=l&65535;if(s>>>0>a>>>0){e=2;break e}do{if((l&65535)<128){e=h[f>>2]|0;if((n-e|0)<1){e=1;break e}h[f>>2]=e+1;c[e>>0]=l}else{if((l&65535)<2048){e=h[f>>2]|0;if((n-e|0)<2){e=1;break e}h[f>>2]=e+1;c[e>>0]=s>>>6|192;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s&63|128;break}if((l&65535)<55296){e=h[f>>2]|0;if((n-e|0)<3){e=1;break e}h[f>>2]=e+1;c[e>>0]=s>>>12|224;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s>>>6&63|128;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){e=2;break e}e=h[f>>2]|0;if((n-e|0)<3){e=1;break e}h[f>>2]=e+1;c[e>>0]=s>>>12|224;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s>>>6&63|128;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s&63|128;break}if((o-e|0)<4){e=1;break e}e=e+2|0;l=k[e>>1]|0;if((l&64512|0)!=56320){e=2;break e}if((n-(h[f>>2]|0)|0)<4){e=1;break e}t=s&960;if(((t<<10)+65536|s<<10&64512|l&1023)>>>0>a>>>0){e=2;break e}h[r>>2]=e;e=(t>>>6)+1|0;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=e>>>2|240;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s>>>2&15|e<<4&48|128;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s<<4&48|l>>>6&15|128;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l&63|128}}while(0);e=(h[r>>2]|0)+2|0;h[r>>2]=e;if(e>>>0>=i>>>0){e=0;break}}else e=0}}while(0);return e|0}function nm(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,k=0,w=0,_=0;h[r>>2]=e;h[f>>2]=t;if(l&4){e=h[r>>2]|0;l=i;if((((l-e|0)>2?(c[e>>0]|0)==-17:0)?(c[e+1>>0]|0)==-69:0)?(c[e+2>>0]|0)==-65:0){h[r>>2]=e+3;s=h[f>>2]|0}else s=t}else{s=t;l=i}w=n;t=h[r>>2]|0;e=t>>>0>>0;e:do{if(e&s>>>0>>0)while(1){e=c[t>>0]|0;u=e&255;if(u>>>0>a>>>0){e=2;break e}do{if(e<<24>>24>-1){d[s>>1]=e&255;h[r>>2]=t+1}else{if((e&255)<194){e=2;break e}if((e&255)<224){if((l-t|0)<2){e=1;break e}e=b[t+1>>0]|0;if((e&192|0)!=128){e=2;break e}e=e&63|u<<6&1984;if(e>>>0>a>>>0){e=2;break e}d[s>>1]=e;h[r>>2]=t+2;break}if((e&255)<240){if((l-t|0)<3){e=1;break e}o=c[t+1>>0]|0;e=c[t+2>>0]|0;switch(u|0){case 224:{if((o&-32)<<24>>24!=-96){e=2;break e}break}case 237:{if((o&-32)<<24>>24!=-128){e=2;break e}break}default:if((o&-64)<<24>>24!=-128){e=2;break e}}e=e&255;if((e&192|0)!=128){e=2;break e}e=(o&255)<<6&4032|u<<12|e&63;if((e&65535)>>>0>a>>>0){e=2;break e}d[s>>1]=e;h[r>>2]=t+3;break}if((e&255)>=245){e=2;break e}if((l-t|0)<4){e=1;break e}o=c[t+1>>0]|0;e=c[t+2>>0]|0;t=c[t+3>>0]|0;switch(u|0){case 240:{if((o+112&255)>=48){e=2;break e}break}case 244:{if((o&-16)<<24>>24!=-128){e=2;break e}break}default:if((o&-64)<<24>>24!=-128){e=2;break e}}k=e&255;if((k&192|0)!=128){e=2;break e}e=t&255;if((e&192|0)!=128){e=2;break e}if((w-s|0)<4){e=1;break e}u=u&7;t=o&255;o=k<<6;e=e&63;if((t<<12&258048|u<<18|o&4032|e)>>>0>a>>>0){e=2;break e}d[s>>1]=t<<2&60|k>>>4&3|((t>>>4&3|u<<2)<<6)+16320|55296;k=s+2|0;h[f>>2]=k;d[k>>1]=e|o&960|56320;h[r>>2]=(h[r>>2]|0)+4}}while(0);s=(h[f>>2]|0)+2|0;h[f>>2]=s;t=h[r>>2]|0;e=t>>>0>>0;if(!(e&s>>>0>>0)){_=39;break}}else _=39}while(0);if((_|0)==39)e=e&1;return e|0}function fm(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;d=i;if((((n&4|0)!=0?(d-e|0)>2:0)?(c[e>>0]|0)==-17:0)?(c[e+1>>0]|0)==-69:0)n=(c[e+2>>0]|0)==-65?e+3|0:e;else n=e;e:do{if((r|0)!=0&n>>>0>>0){u=n;f=0;i:while(1){n=c[u>>0]|0;o=n&255;if(o>>>0>t>>>0){n=u;f=42;break e}do{if(n<<24>>24>-1)n=u+1|0;else{if((n&255)<194){n=u;f=42;break e}if((n&255)<224){if((d-u|0)<2){n=u;f=42;break e}n=b[u+1>>0]|0;if((n&192|0)!=128){n=u;f=42;break e}if((n&63|o<<6&1984)>>>0>t>>>0){n=u;f=42;break e}n=u+2|0;break}if((n&255)<240){n=u;if((d-n|0)<3){n=u;f=42;break e}l=c[u+1>>0]|0;a=c[u+2>>0]|0;switch(o|0){case 224:{if((l&-32)<<24>>24!=-96){f=20;break i}break}case 237:{if((l&-32)<<24>>24!=-128){f=22;break i}break}default:if((l&-64)<<24>>24!=-128){f=24;break i}}n=a&255;if((n&192|0)!=128){n=u;f=42;break e}if(((l&255)<<6&4032|o<<12&61440|n&63)>>>0>t>>>0){n=u;f=42;break e}n=u+3|0;break}if((n&255)>=245){n=u;f=42;break e}n=u;if((r-f|0)>>>0<2|(d-n|0)<4){n=u;f=42;break e}s=c[u+1>>0]|0;a=c[u+2>>0]|0;l=c[u+3>>0]|0;switch(o|0){case 240:{if((s+112&255)>=48){f=32;break i}break}case 244:{if((s&-16)<<24>>24!=-128){f=34;break i}break}default:if((s&-64)<<24>>24!=-128){f=36;break i}}a=a&255;if((a&192|0)!=128){n=u;f=42;break e}n=l&255;if((n&192|0)!=128){n=u;f=42;break e}if(((s&255)<<12&258048|o<<18&1835008|a<<6&4032|n&63)>>>0>t>>>0){n=u;f=42;break e}n=u+4|0;f=f+1|0}}while(0);f=f+1|0;if(!(f>>>0>>0&n>>>0>>0)){f=42;break e}else u=n}if((f|0)==20){n=n-e|0;break}else if((f|0)==22){n=n-e|0;break}else if((f|0)==24){n=n-e|0;break}else if((f|0)==32){n=n-e|0;break}else if((f|0)==34){n=n-e|0;break}else if((f|0)==36){n=n-e|0;break}}else f=42}while(0);if((f|0)==42)n=n-e|0;return n|0}function am(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0;h[r>>2]=e;h[f>>2]=t;o=n;if(l&2)if((o-t|0)<3)e=1;else{h[f>>2]=t+1;c[t>>0]=-17;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=-69;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=-65;s=4}else s=4;e:do{if((s|0)==4){e=h[r>>2]|0;if(e>>>0>>0)while(1){l=h[e>>2]|0;if(l>>>0>a>>>0|(l&-2048|0)==55296){e=2;break e}do{if(l>>>0>=128){if(l>>>0<2048){e=h[f>>2]|0;if((o-e|0)<2){e=1;break e}h[f>>2]=e+1;c[e>>0]=l>>>6|192;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l&63|128;break}e=h[f>>2]|0;n=o-e|0;if(l>>>0<65536){if((n|0)<3){e=1;break e}h[f>>2]=e+1;c[e>>0]=l>>>12|224;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l>>>6&63|128;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l&63|128;break}else{if((n|0)<4){e=1;break e}h[f>>2]=e+1;c[e>>0]=l>>>18|240;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l>>>12&63|128;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l>>>6&63|128;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l&63|128;break}}else{e=h[f>>2]|0;if((o-e|0)<1){e=1;break e}h[f>>2]=e+1;c[e>>0]=l}}while(0);e=(h[r>>2]|0)+4|0;h[r>>2]=e;if(e>>>0>=i>>>0){e=0;break}}else e=0}}while(0);return e|0}function lm(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,k=0,w=0;h[r>>2]=e;h[f>>2]=t;if(l&4){e=h[r>>2]|0;l=i;if((((l-e|0)>2?(c[e>>0]|0)==-17:0)?(c[e+1>>0]|0)==-69:0)?(c[e+2>>0]|0)==-65:0){h[r>>2]=e+3;t=h[f>>2]|0;k=l}else k=l}else k=i;l=h[r>>2]|0;e=l>>>0>>0;e:do{if(e&t>>>0>>0)while(1){e=c[l>>0]|0;d=e&255;do{if(e<<24>>24>-1){if(d>>>0>a>>>0){e=2;break e}h[t>>2]=d;h[r>>2]=l+1}else{if((e&255)<194){e=2;break e}if((e&255)<224){if((k-l|0)<2){e=1;break e}e=b[l+1>>0]|0;if((e&192|0)!=128){e=2;break e}e=e&63|d<<6&1984;if(e>>>0>a>>>0){e=2;break e}h[t>>2]=e;h[r>>2]=l+2;break}if((e&255)<240){if((k-l|0)<3){e=1;break e}s=c[l+1>>0]|0;e=c[l+2>>0]|0;switch(d|0){case 224:{if((s&-32)<<24>>24!=-96){e=2;break e}break}case 237:{if((s&-32)<<24>>24!=-128){e=2;break e}break}default:if((s&-64)<<24>>24!=-128){e=2;break e}}e=e&255;if((e&192|0)!=128){e=2;break e}e=(s&255)<<6&4032|d<<12&61440|e&63;if(e>>>0>a>>>0){e=2;break e}h[t>>2]=e;h[r>>2]=l+3;break}if((e&255)>=245){e=2;break e}if((k-l|0)<4){e=1;break e}u=c[l+1>>0]|0;e=c[l+2>>0]|0;s=c[l+3>>0]|0;switch(d|0){case 240:{if((u+112&255)>=48){e=2;break e}break}case 244:{if((u&-16)<<24>>24!=-128){e=2;break e}break}default:if((u&-64)<<24>>24!=-128){e=2;break e}}o=e&255;if((o&192|0)!=128){e=2;break e}e=s&255;if((e&192|0)!=128){e=2;break e}e=(u&255)<<12&258048|d<<18&1835008|o<<6&4032|e&63;if(e>>>0>a>>>0){e=2;break e}h[t>>2]=e;h[r>>2]=l+4}}while(0);t=(h[f>>2]|0)+4|0;h[f>>2]=t;l=h[r>>2]|0;e=l>>>0>>0;if(!(e&t>>>0>>0)){w=38;break}}else w=38}while(0);if((w|0)==38)e=e&1;return e|0}function sm(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;d=i;if((((n&4|0)!=0?(d-e|0)>2:0)?(c[e>>0]|0)==-17:0)?(c[e+1>>0]|0)==-69:0)n=(c[e+2>>0]|0)==-65?e+3|0:e;else n=e;e:do{if((r|0)!=0&n>>>0>>0){o=n;u=0;i:while(1){n=c[o>>0]|0;s=n&255;do{if(n<<24>>24>-1){if(s>>>0>t>>>0){n=o;f=42;break e}n=o+1|0}else{if((n&255)<194){n=o;f=42;break e}if((n&255)<224){if((d-o|0)<2){n=o;f=42;break e}n=b[o+1>>0]|0;if((n&192|0)!=128){n=o;f=42;break e}if((n&63|s<<6&1984)>>>0>t>>>0){n=o;f=42;break e}n=o+2|0;break}if((n&255)<240){n=o;if((d-n|0)<3){n=o;f=42;break e}a=c[o+1>>0]|0;f=c[o+2>>0]|0;switch(s|0){case 224:{if((a&-32)<<24>>24!=-96){f=20;break i}break}case 237:{if((a&-32)<<24>>24!=-128){f=22;break i}break}default:if((a&-64)<<24>>24!=-128){f=24;break i}}n=f&255;if((n&192|0)!=128){n=o;f=42;break e}if(((a&255)<<6&4032|s<<12&61440|n&63)>>>0>t>>>0){n=o;f=42;break e}n=o+3|0;break}if((n&255)>=245){n=o;f=42;break e}n=o;if((d-n|0)<4){n=o;f=42;break e}l=c[o+1>>0]|0;f=c[o+2>>0]|0;a=c[o+3>>0]|0;switch(s|0){case 240:{if((l+112&255)>=48){f=32;break i}break}case 244:{if((l&-16)<<24>>24!=-128){f=34;break i}break}default:if((l&-64)<<24>>24!=-128){f=36;break i}}f=f&255;if((f&192|0)!=128){n=o;f=42;break e}n=a&255;if((n&192|0)!=128){n=o;f=42;break e}if(((l&255)<<12&258048|s<<18&1835008|f<<6&4032|n&63)>>>0>t>>>0){n=o;f=42;break e}n=o+4|0}}while(0);u=u+1|0;if(!(u>>>0>>0&n>>>0>>0)){f=42;break e}else o=n}if((f|0)==20){n=n-e|0;break}else if((f|0)==22){n=n-e|0;break}else if((f|0)==24){n=n-e|0;break}else if((f|0)==32){n=n-e|0;break}else if((f|0)==34){n=n-e|0;break}else if((f|0)==36){n=n-e|0;break}}else f=42}while(0);if((f|0)==42)n=n-e|0;return n|0}function om(e){e=e|0;qd(45196);qd(45184);qd(45172);qd(45160);qd(45148);qd(45136);qd(45124);qd(45112);qd(45100);qd(45088);qd(45076);qd(45064);qd(45052);qd(45040);return}function um(e){e=e|0;th(45368);th(45356);th(45344);th(45332);th(45320);th(45308);th(45296);th(45284);th(45272);th(45260);th(45248);th(45236);th(45224);th(45212);return}function cm(e){e=e|0;qd(46e3);qd(45988);qd(45976);qd(45964);qd(45952);qd(45940);qd(45928);qd(45916);qd(45904);qd(45892);qd(45880);qd(45868);qd(45856);qd(45844);qd(45832);qd(45820);qd(45808);qd(45796);qd(45784);qd(45772);qd(45760);qd(45748);qd(45736);qd(45724);return}function dm(e){e=e|0;th(46292);th(46280);th(46268);th(46256);th(46244);th(46232);th(46220);th(46208);th(46196);th(46184);th(46172);th(46160);th(46148);th(46136);th(46124);th(46112);th(46100);th(46088);th(46076);th(46064);th(46052);th(46040);th(46028);th(46016);return}function hm(e){e=e|0;qd(47104);qd(47092);qd(47080);qd(47068);qd(47056);qd(47044);qd(47032);qd(47020);qd(47008);qd(46996);qd(46984);qd(46972);qd(46960);qd(46948);qd(46936);qd(46924);qd(46912);qd(46900);qd(46888);qd(46876);qd(46864);qd(46852);qd(46840);qd(46828);return}function bm(e){e=e|0;th(47396);th(47384);th(47372);th(47360);th(47348);th(47336);th(47324);th(47312);th(47300);th(47288);th(47276);th(47264);th(47252);th(47240);th(47228);th(47216);th(47204);th(47192);th(47180);th(47168);th(47156);th(47144);th(47132);th(47120);return}function km(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;s=v;v=v+32|0;l=s;f=h[e+8>>2]|0;r=h[e+4>>2]|0;if(f-r>>2>>>0>>0){t=h[e>>2]|0;a=r-t>>2;n=a+i|0;if(n>>>0>1073741823)Yv(e);r=f-t|0;if(r>>2>>>0<536870911){r=r>>1;r=r>>>0>>0?n:r}else r=1073741823;_m(l,r,a,e+16|0);a=l+8|0;f=h[a>>2]|0;Cm(f|0,0,i<<2|0)|0;h[a>>2]=f+(i<<2);mm(e,l);pm(l)}else wm(e,i);v=s;return}function wm(e,i){e=e|0;i=i|0;var r=0;r=e+4|0;e=i;i=h[r>>2]|0;do{h[i>>2]=0;i=(h[r>>2]|0)+4|0;h[r>>2]=i;e=e+-1|0}while((e|0)!=0);return}function _m(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;h[e+12>>2]=0;h[e+16>>2]=t;do{if(i){n=t+112|0;if(i>>>0<29&(c[n>>0]|0)==0){c[n>>0]=1;break}else{t=Xv(i<<2)|0;break}}else t=0}while(0);h[e>>2]=t;r=t+(r<<2)|0;h[e+8>>2]=r;h[e+4>>2]=r;h[e+12>>2]=t+(i<<2);return}function mm(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;t=h[e>>2]|0;f=e+4|0;r=i+4|0;n=(h[f>>2]|0)-t|0;a=(h[r>>2]|0)+(0-(n>>2)<<2)|0;h[r>>2]=a;Im(a|0,t|0,n|0)|0;n=h[e>>2]|0;h[e>>2]=h[r>>2];h[r>>2]=n;n=i+8|0;t=h[f>>2]|0;h[f>>2]=h[n>>2];h[n>>2]=t;n=e+8|0;e=i+12|0;t=h[n>>2]|0;h[n>>2]=h[e>>2];h[e>>2]=t;h[i>>2]=h[r>>2];return}function pm(e){e=e|0;var i=0,r=0,t=0;r=h[e+4>>2]|0;t=e+8|0;i=h[t>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));h[t>>2]=i}r=h[e>>2]|0;do{if(r){i=h[e+16>>2]|0;if((i|0)==(r|0)){c[i+112>>0]=0;break}else{zv(r);break}}}while(0);return}function vm(e,i){e=e|0;i=i|0;var r=0;if(i>>>0>1073741823)Yv(e);r=e+128|0;if(i>>>0<29&(c[r>>0]|0)==0){c[r>>0]=1;r=e+16|0}else r=Xv(i<<2)|0;h[e+4>>2]=r;h[e>>2]=r;h[e+8>>2]=r+(i<<2);return}function gm(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;do{if((e|0)!=(i|0)){n=zg()|0;f=h[n>>2]|0;h[n>>2]=0;t=+Wy(e,a,rk()|0);e=h[n>>2]|0;if(!e)h[n>>2]=f;if((h[a>>2]|0)!=(i|0)){h[r>>2]=4;t=0.0;break}if((e|0)==34)h[r>>2]=4}else{h[r>>2]=4;t=0.0}}while(0);v=l;return+t}function ym(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;do{if((e|0)!=(i|0)){n=zg()|0;f=h[n>>2]|0;h[n>>2]=0;t=+Wy(e,a,rk()|0);e=h[n>>2]|0;if(!e)h[n>>2]=f;if((h[a>>2]|0)!=(i|0)){h[r>>2]=4;t=0.0;break}if((e|0)==34)h[r>>2]=4}else{h[r>>2]=4;t=0.0}}while(0);v=l;return+t}function Em(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;do{if((e|0)==(i|0)){h[r>>2]=4;t=0.0}else{n=zg()|0;f=h[n>>2]|0;h[n>>2]=0;t=+Wy(e,a,rk()|0);e=h[n>>2]|0;if(!e)h[n>>2]=f;if((h[a>>2]|0)!=(i|0)){h[r>>2]=4;t=0.0;break}if((e|0)==34)h[r>>2]=4}}while(0);v=l;return+t}function Am(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;do{if((e|0)!=(i|0)){if((c[e>>0]|0)==45){h[r>>2]=4;t=0;e=0;break}n=zg()|0;f=h[n>>2]|0;h[n>>2]=0;e=Fg(e,a,t,rk()|0)|0;t=h[n>>2]|0;if(!t)h[n>>2]=f;if((h[a>>2]|0)!=(i|0)){h[r>>2]=4;t=0;e=0;break}if((t|0)==34){h[r>>2]=4;t=-1;e=-1}else t=H}else{h[r>>2]=4;t=0;e=0}}while(0);H=t;v=l;return e|0}function Mm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;do{if((e|0)!=(i|0)){if((c[e>>0]|0)==45){h[r>>2]=4;e=0;break}f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Fg(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;e=0;break}if(t>>>0>0|(t|0)==0&e>>>0>4294967295|(n|0)==34){h[r>>2]=4;e=-1;break}else break}else{h[r>>2]=4;e=0}}while(0);v=s;return e|0}function Tm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;do{if((e|0)!=(i|0)){if((c[e>>0]|0)==45){h[r>>2]=4;e=0;break}f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Fg(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;e=0;break}if(t>>>0>0|(t|0)==0&e>>>0>4294967295|(n|0)==34){h[r>>2]=4;e=-1;break}else break}else{h[r>>2]=4;e=0}}while(0);v=s;return e|0}function Sm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;do{if((e|0)!=(i|0)){if((c[e>>0]|0)==45){h[r>>2]=4;e=0;break}f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Fg(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;e=0;break}if(t>>>0>0|(t|0)==0&e>>>0>65535|(n|0)==34){h[r>>2]=4;e=-1;break}else{e=e&65535;break}}else{h[r>>2]=4;e=0}}while(0);v=s;return e|0}function Pm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;do{if((e|0)!=(i|0)){f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Ug(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;t=0;e=0;break}if((n|0)==34){h[r>>2]=4;l=(t|0)>0|(t|0)==0&e>>>0>0;H=l?2147483647:-2147483648;v=s;return(l?-1:0)|0}}else{h[r>>2]=4;t=0;e=0}}while(0);H=t;v=s;return e|0}function Om(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;e:do{if((e|0)==(i|0)){h[r>>2]=4;e=0}else{f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Ug(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;e=0;break}do{if((n|0)==34){h[r>>2]=4;if((t|0)>0|(t|0)==0&e>>>0>0){e=2147483647;break e}}else{if((t|0)<-1|(t|0)==-1&e>>>0<2147483648){h[r>>2]=4;break}if((t|0)>0|(t|0)==0&e>>>0>2147483647){h[r>>2]=4;e=2147483647;break e}else break e}}while(0);e=-2147483648}}while(0);v=s;return e|0}function Rm(){}function Lm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=i-t-(r>>>0>e>>>0|0)>>>0;return(H=t,e-r>>>0|0)|0}function Cm(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=e+r|0;if((r|0)>=20){i=i&255;f=e&3;a=i|i<<8|i<<16|i<<24;n=t&~3;if(f){f=e+4-f|0;while((e|0)<(f|0)){c[e>>0]=i;e=e+1|0}}while((e|0)<(n|0)){h[e>>2]=a;e=e+4|0}}while((e|0)<(t|0)){c[e>>0]=i;e=e+1|0}return e-r|0}function Dm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=e+r>>>0;return(H=i+t+(r>>>0>>0|0)>>>0,r|0)|0}function xm(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){H=i>>>r;return e>>>r|(i&(1<>>r-32|0}function Im(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((r|0)>=4096)return ai(e|0,i|0,r|0)|0;t=e|0;if((e&3)==(i&3)){while(e&3){if(!r)return t|0;c[e>>0]=c[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}while((r|0)>=4){h[e>>2]=h[i>>2];e=e+4|0;i=i+4|0;r=r-4|0}}while((r|0)>0){c[e>>0]=c[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}return t|0}function Bm(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){H=i<>>32-r;return e<0){e=e-1|0;i=i-1|0;r=r-1|0;c[e>>0]=c[i>>0]|0}e=t}else Im(e,i,r)|0;return e|0}function Fm(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){H=i>>r;return e>>>r|(i&(1<>r-32|0}function Um(e){e=e|0;var i=0;i=c[A+(e&255)>>0]|0;if((i|0)<8)return i|0;i=c[A+(e>>8&255)>>0]|0;if((i|0)<8)return i+8|0;i=c[A+(e>>16&255)>>0]|0;if((i|0)<8)return i+16|0;return(c[A+(e>>>24)>>0]|0)+24|0}function jm(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;f=e&65535;n=i&65535;r=ce(n,f)|0;t=e>>>16;e=(r>>>16)+(ce(n,t)|0)|0;n=i>>>16;i=ce(n,f)|0;return(H=(e>>>16)+(ce(n,t)|0)+(((e&65535)+i|0)>>>16)|0,e+i<<16|r&65535|0)|0}function Hm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;o=i>>31|((i|0)<0?-1:0)<<1;s=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;l=Lm(o^e,s^i,o,s)|0;a=H;e=f^o;i=n^s;return Lm((Vm(l,a,Lm(f^r,n^t,f,n)|0,H,0)|0)^e,H^i,e,i)|0}function Ym(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;n=v;v=v+16|0;l=n|0;a=i>>31|((i|0)<0?-1:0)<<1;f=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;o=t>>31|((t|0)<0?-1:0)<<1;s=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=Lm(a^e,f^i,a,f)|0;i=H;Vm(e,i,Lm(o^r,s^t,o,s)|0,H,l)|0;t=Lm(h[l>>2]^a,h[l+4>>2]^f,a,f)|0;r=H;v=n;return(H=r,t)|0}function qm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=e;f=r;r=jm(n,f)|0;e=H;return(H=(ce(i,f)|0)+(ce(t,n)|0)+e|e&0,r|0|0)|0}function Xm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Vm(e,i,r,t,0)|0}function zm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=v;v=v+16|0;n=f|0;Vm(e,i,r,t,n)|0;v=f;return(H=h[n+4>>2]|0,h[n>>2]|0)|0}function Vm(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;u=e;s=i;o=s;a=r;d=t;l=d;if(!o){f=(n|0)!=0;if(!l){if(f){h[n>>2]=(u>>>0)%(a>>>0);h[n+4>>2]=0}d=0;n=(u>>>0)/(a>>>0)>>>0;return(H=d,n)|0}else{if(!f){d=0;n=0;return(H=d,n)|0}h[n>>2]=e|0;h[n+4>>2]=i&0;d=0;n=0;return(H=d,n)|0}}f=(l|0)==0;do{if(a){if(!f){f=(he(l|0)|0)-(he(o|0)|0)|0;if(f>>>0<=31){c=f+1|0;l=31-f|0;i=f-31>>31;a=c;e=u>>>(c>>>0)&i|o<>>(c>>>0)&i;f=0;l=u<>2]=e|0;h[n+4>>2]=s|i&0;d=0;n=0;return(H=d,n)|0}f=a-1|0;if(f&a){l=(he(a|0)|0)+33-(he(o|0)|0)|0;k=64-l|0;c=32-l|0;s=c>>31;b=l-32|0;i=b>>31;a=l;e=c-1>>31&o>>>(b>>>0)|(o<>>(l>>>0))&i;i=i&o>>>(l>>>0);f=u<>>(b>>>0))&s|u<>31;break}if(n){h[n>>2]=f&u;h[n+4>>2]=0}if((a|0)==1){b=s|i&0;k=e|0|0;return(H=b,k)|0}else{k=Um(a|0)|0;b=o>>>(k>>>0)|0;k=o<<32-k|u>>>(k>>>0)|0;return(H=b,k)|0}}else{if(f){if(n){h[n>>2]=(o>>>0)%(a>>>0);h[n+4>>2]=0}b=0;k=(o>>>0)/(a>>>0)>>>0;return(H=b,k)|0}if(!u){if(n){h[n>>2]=0;h[n+4>>2]=(o>>>0)%(l>>>0)}b=0;k=(o>>>0)/(l>>>0)>>>0;return(H=b,k)|0}f=l-1|0;if(!(f&l)){if(n){h[n>>2]=e|0;h[n+4>>2]=f&o|i&0}b=0;k=o>>>((Um(l|0)|0)>>>0);return(H=b,k)|0}f=(he(l|0)|0)-(he(o|0)|0)|0;if(f>>>0<=30){i=f+1|0;l=31-f|0;a=i;e=o<>>(i>>>0);i=o>>>(i>>>0);f=0;l=u<>2]=e|0;h[n+4>>2]=s|i&0;b=0;k=0;return(H=b,k)|0}}while(0);if(!a){o=l;s=0;l=0}else{c=r|0|0;u=d|t&0;o=Dm(c|0,u|0,-1,-1)|0;r=H;s=l;l=0;do{t=s;s=f>>>31|s<<1;f=l|f<<1;t=e<<1|t>>>31|0;d=e>>>31|i<<1|0;Lm(o,r,t,d)|0;k=H;b=k>>31|((k|0)<0?-1:0)<<1;l=b&1;e=Lm(t,d,b&c,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&u)|0;i=H;a=a-1|0}while((a|0)!=0);o=s;s=0}a=0;if(n){h[n>>2]=e;h[n+4>>2]=i}b=(f|0)>>>31|(o|a)<<1|(a<<1|f>>>31)&0|s;k=(f<<1|0>>>31)&-2|l;return(H=b,k)|0}function Gm(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;return dE[e&15](i|0,r|0,t|0,n|0,f|0,a|0,l|0)|0}function Km(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;hE[e&15](i|0,r|0,t|0,n|0,f|0)}function Wm(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=+a;return bE[e&3](i|0,r|0,t|0,n|0,f|0,+a)|0}function Jm(e,i){e=e|0;i=i|0;kE[e&255](i|0)}function Zm(e,i,r){e=e|0;i=i|0;r=r|0;wE[e&127](i|0,r|0)}function Qm(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return _E[e&63](i|0,r|0,t|0,n|0,f|0,a|0)|0}function $m(e,i){e=e|0;i=i|0;return mE[e&127](i|0)|0}function ep(e,i,r,t,n,f,a,l,s,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;return pE[e&3](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0,o|0,u|0,c|0)|0}function ip(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return vE[e&63](i|0,r|0,t|0)|0}function rp(e,i,r,t,n,f,a,l,s,o,u,c,d,h,b,k){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;d=d|0;h=h|0;b=b|0;k=k|0;gE[e&3](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0,o|0,u|0,c|0,d|0,h|0,b|0,k|0)}function tp(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;yE[e&15](i|0,r|0,t|0,n|0,f|0,a|0)}function np(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;EE[e&7](i|0,r|0,t|0,n|0,f|0,a|0,l|0)}function fp(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;AE[e&7](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0,o|0,u|0)}function ap(e,i,r){e=e|0;i=i|0;r=r|0;return ME[e&63](i|0,r|0)|0}function lp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return TE[e&31](i|0,r|0,t|0,n|0,f|0)|0}function sp(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return+SE[e&3](i|0,r|0,t|0)}function op(e){e=e|0;return PE[e&15]()|0}function up(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return OE[e&31](i|0,r|0,t|0,n|0)|0}function cp(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;RE[e&15](i|0,r|0,t|0)}function dp(e){e=e|0;LE[e&7]()}function hp(e,i,r,t,n,f,a,l,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;return CE[e&15](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0)|0}function bp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;return DE[e&7](i|0,r|0,t|0,n|0,+f)|0}function kp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;xE[e&63](i|0,r|0,t|0,n|0)}function wp(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;be(0);return 0}function _p(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;be(1)}function mp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;be(2);return 0}function pp(e){e=e|0;be(3)}function vp(e,i){e=e|0;i=i|0;be(4)}function gp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;be(5);return 0}function yp(e){e=e|0;be(6);return 0}function Ep(e){e=e|0;return bi(e|0)|0}function Ap(e){e=e|0;return Oi(e|0)|0}function Mp(e){e=e|0;return pi(e|0)|0}function Tp(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;be(7);return 0}function Sp(e,i,r){e=e|0;i=i|0;r=r|0;be(8);return 0}function Pp(e,i,r,t,n,f,a,l,s,o,u,c,d,h,b){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;d=d|0;h=h|0;b=b|0;be(9)}function Op(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;be(10)}function Rp(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;be(11)}function Lp(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;be(12)}function Cp(e,i){e=e|0;i=i|0;be(13);return 0}function Dp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;be(14);return 0}function xp(e,i,r){e=e|0;i=i|0;r=r|0;be(15);return 0.0}function Ip(){be(16);return 0}function Bp(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;be(17);return 0}function Np(e,i,r){e=e|0;i=i|0;r=r|0;be(18)}function Fp(e,i,r){e=e|0;i=i|0;r=r|0;Ei(e|0,i|0,r|0)}function Up(){be(19)}function jp(){Si()}function Hp(){li()}function Yp(){Ai()}function qp(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;be(20);return 0}function Xp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;be(21);return 0}function zp(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;be(22)}function Vp(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,255,0);s=e+152|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+156>>2]|0):0)?(h[l+12>>2]|0)==(h[e+160>>2]|0):0){s=h[8900]|0;h[e+4580>>2]=s+(((h[8901]|0)-s|0)>>>1);v=o;return}r=e+4584|0;t=e+4588|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=512){if(f>>>0>512?(a=i+512|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,512-f|0);i=h[r>>2]|0}l=e+4580|0;h[l>>2]=i+256;a=e+160|0;n=e+156|0;f=-256;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==256)break}v=o;return}function Gp(e){e=e|0;var i=0,r=0;h[e>>2]=35660;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Kp(e){e=e|0;var i=0,r=0;h[e>>2]=35660;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Wp(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Jp(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+128>>2]|0,h[e+136>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+176>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+180>>2]=f;h[e+184>>2]=n;nv(e);n=e+132|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+188+(f*12|0)>>2]=i;h[e+188+(f*12|0)+4>>2]=0;d[e+188+(f*12|0)+8>>1]=0;d[e+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4568>>2]=l;h[e+4572>>2]=0;c[e+4576>>0]=s;c[e+4577>>0]=1;c[e+4578>>0]=0;h[e+4580>>2]=l;h[e+4584>>2]=1;c[e+4588>>0]=s;c[e+4589>>0]=1;c[e+4590>>0]=0;h[e+4592>>2]=0;v=a;return}function Zp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4620>>0]=n&1;i=e+156|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Qp(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Qp(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;l=e+172|0;E=(h[l>>2]|0)+4|0;if((h[e+28>>2]|0)==1)s=h[e+20>>2]|0;else s=1;i=ce(s<<1,E)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;e:do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))y=6;if((y|0)==6?(T=0,r=ye(67,i|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;h[P+8>>2]=r+i;while(1){c[r>>0]=0;r=(h[O>>2]|0)+1|0;h[O>>2]=r;i=i+-1|0;if(!i)break e}}r=Ze()|0;i=h[P>>2]|0;if(!i)si(r|0);if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);si(r|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!s)y=19;else{if(!(s>>>0>1073741823?(T=0,pe(178,A|0),g=T,T=0,g&1):0))y=17;if((y|0)==17?(t=s<<2,T=0,n=ye(67,t|0)|0,g=T,T=0,!(g&1)):0){h[A>>2]=n;y=n+(s<<2)|0;h[A+8>>2]=y;Cm(n|0,0,t|0)|0;h[S>>2]=y;y=19;break}r=Ze()|0;i=h[A>>2]|0;t=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}}while(0);if((y|0)==19){o=e+8|0;i=h[o>>2]|0;e:do{if((i|0)>0){u=e+4596|0;d=ce(s,E)|0;b=d+1|0;k=e+4600|0;w=e+160|0;_=e+168|0;m=e+164|0;p=e+156|0;g=e+88|0;a=e+4592|0;if((s|0)>0)f=0;else{f=0;while(1){n=h[P>>2]|0;r=n+1|0;h[u>>2]=r;t=n+b|0;h[k>>2]=t;if(!(f&1))r=b;else{h[u>>2]=t;h[k>>2]=r;r=1}s=h[w>>2]|0;if((s|0)<=(f|0)?(f|0)<((h[_>>2]|0)+s|0):0){s=h[g>>2]|0;T=0;Fe(h[(h[s>>2]|0)+8>>2]|0,s|0,n+(r+((h[p>>2]|0)-d))|0,h[m>>2]|0,E|0);s=T;T=0;if(s&1)break;i=h[o>>2]|0}f=f+1|0;if((f|0)>=(i|0)){y=50;break e}}r=Ze()|0;break}i:while(1){r=h[P>>2]|0;i=r+1|0;h[u>>2]=i;r=r+b|0;h[k>>2]=r;if(f&1){h[u>>2]=r;h[k>>2]=i;i=r}n=h[A>>2]|0;r=i;t=0;do{h[a>>2]=h[n+(t<<2)>>2];y=h[l>>2]|0;c[r+y>>0]=c[r+(y+-1)>>0]|0;c[(h[k>>2]|0)+-1>>0]=c[h[u>>2]>>0]|0;T=0;ve(83,e|0,0);y=T;T=0;if(y&1){y=38;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[a>>2];r=(h[u>>2]|0)+E|0;h[u>>2]=r;i=h[k>>2]|0;h[k>>2]=i+E;t=t+1|0}while((t|0)<(s|0));y=h[w>>2]|0;if(((y|0)<=(f|0)?(f|0)<((h[_>>2]|0)+y|0):0)?(y=h[g>>2]|0,T=0,Fe(h[(h[y>>2]|0)+8>>2]|0,y|0,i+(E+((h[p>>2]|0)-d))|0,h[m>>2]|0,E|0),y=T,T=0,y&1):0){y=30;break}f=f+1|0;if((f|0)>=(h[o>>2]|0)){y=50;break e}}if((y|0)==30){r=Ze()|0;break}else if((y|0)==38){r=Ze()|0;break}}else y=50}while(0);do{if((y|0)==50){T=0;pe(183,e|0);e=T;T=0;if(e&1){r=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);v=M;return}}while(0);i=h[A>>2]|0;t=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(r|0);if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);si(r|0)}function $p(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0;k=e+4596|0;r=h[k>>2]|0;p=e+172|0;i=h[p>>2]|0;if((i|0)<=0)return;w=e+4600|0;_=e+4604|0;m=e+4592|0;l=r;f=b[r+-1>>0]|0;r=b[r>>0]|0;d=0;while(1){o=h[w>>2]|0;a=c[o+(d+-1)>>0]|0;u=a&255;n=d+1|0;t=b[l+n>>0]|0;s=h[_>>2]|0;l=r-f|0;f=f-u|0;s=((((c[s+(t-r)>>0]|0)*9|0)+(c[s+l>>0]|0)|0)*9|0)+(c[s+f>>0]|0)|0;o=o+d|0;if(!s){i=iv(e,a,o,i-d|0)|0;r=i+d|0;if((r|0)!=(h[p>>2]|0)){u=rv(e,u,b[(h[k>>2]|0)+r>>0]|0)|0;c[(h[w>>2]|0)+r>>0]=u;u=h[m>>2]|0;h[m>>2]=(u|0)<1?0:u+-1|0;i=i+1|0}n=i+d|0;t=h[k>>2]|0;r=b[t+(n+-1)>>0]|0;t=b[t+n>>0]|0}else{i=r-u>>31;if((i^f|0)<0)i=r;else i=u+((i^l|0)<0?0:l)|0;u=ev(e,s,b[o>>0]|0,i,0)|0;c[(h[w>>2]|0)+d>>0]=u}i=h[p>>2]|0;if((i|0)<=(n|0))break;l=h[k>>2]|0;f=r;r=t;d=n}return}function ev(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+188+(s*12|0)+10|0;r=d[k>>1]|0;b=e+188+(s*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){i=5;while(1)if((r<>1]^_)-_+t|0;w=e+128|0;n=h[w>>2]|0;if((r&n|0)==(r|0))o=r;else o=n&~(r>>31);r=e+112|0;if((h[r>>2]|0)<8)Jt(e);n=e+108|0;t=h[n>>2]|0;f=t>>>24;a=h[2832+(i<<11)+(f<<3)+4>>2]|0;if(!a){l=h[e+148>>2]|0;n=h[e+140>>2]|0;r=Ta(e)|0;if((r|0)<(l+-1-n|0)){if(i)r=(Sa(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}else{h[r>>2]=(h[r>>2]|0)-a;h[n>>2]=t<>2]|0}l=e+136|0;t=h[l>>2]|0;if(!i){if(!t)n=(h[e+188+(s*12|0)+4>>2]<<1)+-1+(d[k>>1]|0)>>31;else n=0;a=n^r}else a=r;i=h[e+152>>2]|0;n=(h[b>>2]|0)+((a|0)>-1?a:0-a|0)|0;f=e+188+(s*12|0)+4|0;r=(h[f>>2]|0)+(ce(t<<1|1,a)|0)|0;t=d[k>>1]|0;if((t|0)==(i|0)){n=n>>1;r=r>>1;t=i>>1}h[b>>2]=n;i=t+1|0;d[k>>1]=i;n=i+r|0;if((n|0)>=1){if((r|0)>0){r=r-i|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=d[u>>1]|0;d[u>>1]=(r&65535)-(r<<16>>16>-128&1);r=(n|0)>(~t|0)?n:0-t|0}h[f>>2]=r;i=h[l>>2]|0;t=i<<1|1;n=(ce(t,(a^_)-_|0)|0)+o|0;if((n|0)>=(0-i|0)){r=h[w>>2]|0;if((r+i|0)<(n|0))n=n-(ce(h[e+132>>2]|0,t)|0)|0}else{n=(ce(h[e+132>>2]|0,t)|0)+n|0;r=h[w>>2]|0}if((n&r|0)==(n|0)){e=n;e=e&255;return e|0}e=r&~(n>>31);e=e&255;return e|0}function iv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;l=e+112|0;s=e+108|0;o=e+4592|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;d=1<>2];b=t-f|0;b=(d|0)<(b|0)?d:b;f=b+f|0;if((b|0)==(d|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);b=T;T=0;if(b&1){b=Ze()|0;We(n|0);si(b|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;Cm(r|0,i|0,n|0)|0;return n|0}function rv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i-r|0;a=e+128|0;t=e+136|0;if((((f|0)>-1?f:0-f|0)|0)>(h[t>>2]|0)){i=ce(tv(e,e+4568|0)|0,r-i>>31|1)|0;n=h[t>>2]|0;f=n<<1|1;i=(ce(i,f)|0)+r|0;if((i|0)>=(0-n|0)){t=h[a>>2]|0;if((t+n|0)<(i|0))i=i-(ce(h[e+132>>2]|0,f)|0)|0}else{i=(ce(h[e+132>>2]|0,f)|0)+i|0;t=h[a>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&255;return e|0}e=t&~(i>>31);e=e&255;return e|0}else{r=tv(e,e+4580|0)|0;f=h[t>>2]|0;n=f<<1|1;i=(ce(n,r)|0)+i|0;if((i|0)>=(0-f|0)){t=h[a>>2]|0;if((t+f|0)<(i|0))i=i-(ce(h[e+132>>2]|0,n)|0)|0}else{i=(ce(h[e+132>>2]|0,n)|0)+i|0;t=h[a>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&255;return e|0}e=t&~(i>>31);e=e&255;return e|0}return 0}function tv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=i+9|0;r=b[o>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;a=h[e+148>>2]|0;l=h[36476+(h[e+4592>>2]<<2)>>2]|0;r=h[e+140>>2]|0;n=Ta(e)|0;do{if((n|0)<(a+-2-l-r|0))if(!t){t=h[f>>2]|0;e=t+n|0;r=e&1;e=(r+e|0)/2|0;s=8;break}else{l=(Sa(e,t)|0)+(n<>2]|0;n=l+t|0;a=n&1;r=a;f=1;n=(a+n|0)/2|0;break}else{n=(Sa(e,r)|0)+1|0;a=h[f>>2]|0;e=n+a|0;r=e&1;e=(r+e|0)/2|0;if(!t){t=a;s=8}else{l=n;f=1;n=e;t=a}}}while(0);if((s|0)==8){l=n;f=b[i+10>>0]<<1>>>0>=(b[o>>0]|0)>>>0;n=e}n=(r|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(l+1-t>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[o>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){i=t;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[o>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=s;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}function nv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+136|0;e:do{if(!(h[d>>2]|0)){r=h[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+176>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+180>>2]|0):0)?(h[t+12>>2]|0)==(h[e+184>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4604>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4604>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4604>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4604>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+144|0}while(0);u=1<>2];r=e+4608|0;t=u<<1;n=e+4612|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4604|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+184|0;s=e+180|0;a=e+176|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function fv(e){e=e|0;zv(e);return}function av(e){e=e|0;return 50767}function lv(e,i,r){e=e|0;i=i|0;r=r|0;Hd(e,50754,12);return}function sv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0;w=v;v=v+16|0;_=w;h[_>>2]=0;m=_+4|0;h[m>>2]=0;h[_+8>>2]=0;b=_+8|0;T=0;n=ye(67,1)|0;d=T;T=0;e:do{if((!(d&1)?(d=n+1|0,c[n>>0]=r,h[_>>2]=n,h[m>>2]=d,h[b>>2]=d,T=0,ve(84,_|0,i&65535|0),d=T,T=0,!(d&1)):0)?(T=0,ve(84,_|0,e&65535|0),d=T,T=0,!(d&1)):0){o=t&255;n=h[m>>2]|0;r=h[b>>2]|0;if(n>>>0>=r>>>0){i=h[_>>2]|0;e=i;a=n-e+1|0;if((a|0)<0){T=0;pe(178,_|0);d=T;T=0;if(d&1){k=52;break}e=h[_>>2]|0;r=h[b>>2]|0;i=e}s=i;n=r-s|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?a:n;r=h[m>>2]|0;l=r-s|0;if(!n){n=0;a=0}else k=12}else{l=h[m>>2]|0;n=2147483647;r=l;l=l-s|0;k=12}if((k|0)==12){T=0;a=ye(67,n|0)|0;d=T;T=0;if(d&1){k=52;break}}c[a+l>>0]=o;u=r-s|0;d=a+(l-u)|0;Im(d|0,i|0,u|0)|0;h[_>>2]=d;h[m>>2]=a+(l+1);h[b>>2]=a+n;if(e)zv(e)}else{c[n>>0]=o;h[m>>2]=(h[m>>2]|0)+1}i:do{if((t|0)>0){d=0;while(1){d=d+1|0;u=d&255;n=h[m>>2]|0;i=h[b>>2]|0;if(n>>>0>=i>>>0){e=h[_>>2]|0;r=e;a=n-r+1|0;if((a|0)<0){T=0;pe(178,_|0);o=T;T=0;if(o&1)break;e=h[_>>2]|0;r=e;i=h[b>>2]|0}o=e;n=i-o|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?a:n;i=h[m>>2]|0;l=i-o|0;if(!n){s=0;a=0}else k=25}else{l=h[m>>2]|0;n=2147483647;i=l;l=l-o|0;k=25}if((k|0)==25){k=0;T=0;a=ye(67,n|0)|0;s=T;T=0;if(s&1)break;else s=n}c[a+l>>0]=u;n=a+(l+1)|0;o=i-o|0;u=a+(l-o)|0;Im(u|0,e|0,o|0)|0;h[_>>2]=u;h[m>>2]=n;h[b>>2]=a+s;if(r){zv(r);n=h[m>>2]|0}}else{c[n>>0]=u;n=(h[m>>2]|0)+1|0;h[m>>2]=n}r=h[b>>2]|0;if(n>>>0>=r>>>0){i=h[_>>2]|0;e=i;a=n-e+1|0;if((a|0)<0){T=0;pe(178,_|0);u=T;T=0;if(u&1)break;e=h[_>>2]|0;r=h[b>>2]|0;i=e}o=i;n=r-o|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?a:n;a=h[m>>2]|0;l=a-o|0;if(!n){s=0;r=0}else k=36}else{l=h[m>>2]|0;n=2147483647;a=l;l=l-o|0;k=36}if((k|0)==36){k=0;T=0;r=ye(67,n|0)|0;u=T;T=0;if(u&1)break;else s=n}c[r+l>>0]=17;n=r+(l+1)|0;o=a-o|0;u=r+(l-o)|0;Im(u|0,i|0,o|0)|0;h[_>>2]=u;h[m>>2]=n;h[b>>2]=r+s;if(e){zv(e);n=h[m>>2]|0}}else{c[n>>0]=17;n=(h[m>>2]|0)+1|0;h[m>>2]=n}r=h[b>>2]|0;if(n>>>0>=r>>>0){i=h[_>>2]|0;e=i;a=n-e+1|0;if((a|0)<0){T=0;pe(178,_|0);u=T;T=0;if(u&1)break;e=h[_>>2]|0;r=h[b>>2]|0;i=e}s=i;n=r-s|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?a:n;r=h[m>>2]|0;l=r-s|0;if(!n){n=0;a=0}else k=48}else{l=h[m>>2]|0;n=2147483647;r=l;l=l-s|0;k=48}if((k|0)==48){k=0;T=0;a=ye(67,n|0)|0;u=T;T=0;if(u&1)break}c[a+l>>0]=0;o=r-s|0;u=a+(l-o)|0;Im(u|0,i|0,o|0)|0;h[_>>2]=u;h[m>>2]=a+(l+1);h[b>>2]=a+n;if(e)zv(e)}else{c[n>>0]=0;h[m>>2]=(h[m>>2]|0)+1}if((d|0)>=(t|0))break i}f=Ze()|0;break e}}while(0);T=0;l=ye(67,20)|0;t=T;T=0;if(!(t&1)){h[l>>2]=36800;c[l+4>>0]=-9;e=l+8|0;h[e>>2]=0;a=l+12|0;h[a>>2]=0;r=l+16|0;h[r>>2]=0;n=h[m>>2]|0;t=h[_>>2]|0;i=n-t|0;do{if((n|0)!=(t|0)){if(!((i|0)<0?(T=0,pe(178,e|0),t=T,T=0,t&1):0))k=62;if((k|0)==62?(T=0,f=ye(67,i|0)|0,t=T,T=0,!(t&1)):0){h[a>>2]=f;h[e>>2]=f;h[r>>2]=f+i;n=h[_>>2]|0;r=h[m>>2]|0;if((n|0)==(r|0))break;do{c[f>>0]=c[n>>0]|0;f=(h[a>>2]|0)+1|0;h[a>>2]=f;n=n+1|0}while((n|0)!=(r|0));n=h[_>>2]|0;break}f=Ze()|0;n=h[e>>2]|0;if(n){if((h[a>>2]|0)!=(n|0))h[a>>2]=n;zv(n)}zv(l);break e}}while(0);if(!n){v=w;return l|0}if((h[m>>2]|0)!=(n|0))h[m>>2]=n;zv(n);v=w;return l|0}else k=52}else k=52}while(0);if((k|0)==52)f=Ze()|0;n=h[_>>2]|0;if(!n)si(f|0);if((h[m>>2]|0)!=(n|0))h[m>>2]=n;zv(n);si(f|0);return 0}function ov(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;m=v;v=v+32|0;k=m+28|0;g=m+16|0;_=m+4|0;w=m;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;d=Xv(5)|0;h[g>>2]=d;b=g+8|0;h[b>>2]=d+5;c[d>>0]=74;c[d+1>>0]=70;c[d+2>>0]=73;c[d+3>>0]=70;c[d+4>>0]=0;h[y>>2]=d+5;T=0;ve(84,g|0,h[e>>2]&65535|0);d=T;T=0;e:do{if(!(d&1)){o=h[e+4>>2]&255;i=h[y>>2]|0;t=h[b>>2]|0;if(i>>>0>=t>>>0){n=h[g>>2]|0;f=n;a=i-f+1|0;if((a|0)<0){T=0;pe(178,g|0);d=T;T=0;if(d&1){p=43;break}f=h[g>>2]|0;t=h[b>>2]|0;n=f}s=n;i=t-s|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?a:i;t=h[y>>2]|0;l=t-s|0;if(!i){i=0;a=0}else p=10}else{l=h[y>>2]|0;i=2147483647;t=l;l=l-s|0;p=10}if((p|0)==10){T=0;a=ye(67,i|0)|0;d=T;T=0;if(d&1){p=43;break}}c[a+l>>0]=o;u=t-s|0;d=a+(l-u)|0;Im(d|0,n|0,u|0)|0;h[g>>2]=d;h[y>>2]=a+(l+1);h[b>>2]=a+i;if(f)zv(f)}else{c[i>>0]=o;h[y>>2]=(h[y>>2]|0)+1}T=0;ve(84,g|0,h[e+8>>2]&65535|0);d=T;T=0;if(!(d&1)?(T=0,ve(84,g|0,h[e+12>>2]&65535|0),d=T,T=0,!(d&1)):0){d=e+16|0;u=h[d>>2]&255;i=h[y>>2]|0;n=h[b>>2]|0;if(i>>>0>=n>>>0){f=h[g>>2]|0;t=f;a=i-t+1|0;if((a|0)<0){T=0;pe(178,g|0);o=T;T=0;if(o&1){p=43;break}f=h[g>>2]|0;t=f;n=h[b>>2]|0}o=f;i=n-o|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?a:i;a=h[y>>2]|0;l=a-o|0;if(!i){s=0;n=0}else p=23}else{l=h[y>>2]|0;i=2147483647;a=l;l=l-o|0;p=23}if((p|0)==23){T=0;n=ye(67,i|0)|0;s=T;T=0;if(s&1){p=43;break}else s=i}c[n+l>>0]=u;i=n+(l+1)|0;o=a-o|0;u=n+(l-o)|0;Im(u|0,f|0,o|0)|0;h[g>>2]=u;h[y>>2]=i;h[b>>2]=n+s;if(t){zv(t);i=h[y>>2]|0}}else{c[i>>0]=u;i=(h[y>>2]|0)+1|0;h[y>>2]=i}u=e+20|0;o=h[u>>2]&255;t=h[b>>2]|0;if(i>>>0>=t>>>0){n=h[g>>2]|0;f=n;a=i-f+1|0;if((a|0)<0){T=0;pe(178,g|0);s=T;T=0;if(s&1){p=43;break}f=h[g>>2]|0;t=h[b>>2]|0;n=f}s=n;i=t-s|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?a:i;t=h[y>>2]|0;l=t-s|0;if(!i){i=0;a=0}else p=34}else{l=h[y>>2]|0;i=2147483647;t=l;l=l-s|0;p=34}if((p|0)==34){T=0;a=ye(67,i|0)|0;E=T;T=0;if(E&1){p=43;break}}c[a+l>>0]=o;o=t-s|0;E=a+(l-o)|0;Im(E|0,n|0,o|0)|0;h[g>>2]=E;h[y>>2]=a+(l+1);h[b>>2]=a+i;if(f)zv(f)}else{c[i>>0]=o;h[y>>2]=(h[y>>2]|0)+1}i=h[d>>2]|0;do{if((i|0)>0){if(!(h[e+24>>2]|0)){h[w>>2]=h[y>>2];E=0+(ce(i*3|0,h[u>>2]|0)|0)|0;T=0;h[k>>2]=h[w>>2];De(15,g|0,k|0,0,E|0)|0;E=T;T=0;if(E&1){p=43;break e}else break}t=Je(16)|0;T=0;xe(5,_|0,50792,57);E=T;T=0;if(!(E&1)){T=0;i=Ce(1)|0;E=T;T=0;if(!(E&1)?(T=0,Fe(36,t|0,1,i|0,_|0),E=T,T=0,!(E&1)):0){T=0;xe(6,t|0,824,96);T=0;r=0}else r=1;i=Ze()|0;qd(_);if(!r){r=i;break e}}else i=Ze()|0;We(t|0);r=i;break e}}while(0);T=0;l=ye(67,20)|0;E=T;T=0;if(!(E&1)){h[l>>2]=36800;c[l+4>>0]=-32;f=l+8|0;h[f>>2]=0;a=l+12|0;h[a>>2]=0;t=l+16|0;h[t>>2]=0;i=h[y>>2]|0;E=h[g>>2]|0;n=i-E|0;do{if((i|0)!=(E|0)){if(!((n|0)<0?(T=0,pe(178,f|0),E=T,T=0,E&1):0))p=53;if((p|0)==53?(T=0,r=ye(67,n|0)|0,E=T,T=0,!(E&1)):0){h[a>>2]=r;h[f>>2]=r;h[t>>2]=r+n;i=h[g>>2]|0;t=h[y>>2]|0;if((i|0)==(t|0))break;do{c[r>>0]=c[i>>0]|0;r=(h[a>>2]|0)+1|0;h[a>>2]=r;i=i+1|0}while((i|0)!=(t|0));i=h[g>>2]|0;break}i=Ze()|0;r=h[f>>2]|0;if(r){if((h[a>>2]|0)!=(r|0))h[a>>2]=r;zv(r)}zv(l);p=44;break e}}while(0);if(!i){v=m;return l|0}if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);v=m;return l|0}else p=43}else p=43}else p=43}while(0);if((p|0)==43){i=Ze()|0;p=44}if((p|0)==44)r=i;i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0);return 0}function uv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;l=v;v=v+16|0;o=l;h[o>>2]=0;u=o+4|0;h[u>>2]=0;h[o+8>>2]=0;T=0;i=ye(67,1)|0;a=T;T=0;e:do{if((((((!(a&1)?(a=i+1|0,c[i>>0]=1,h[o>>2]=i,h[u>>2]=a,h[o+8>>2]=a,T=0,ve(84,o|0,h[e>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,ve(84,o|0,h[e+4>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,ve(84,o|0,h[e+8>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,ve(84,o|0,h[e+12>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,ve(84,o|0,h[e+16>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,s=ye(67,20)|0,a=T,T=0,!(a&1)):0){h[s>>2]=36800;c[s+4>>0]=-8;n=s+8|0;h[n>>2]=0;a=s+12|0;h[a>>2]=0;e=s+16|0;h[e>>2]=0;i=h[u>>2]|0;d=h[o>>2]|0;t=i-d|0;do{if((i|0)!=(d|0)){if(!((t|0)<0?(T=0,pe(178,n|0),d=T,T=0,d&1):0))f=11;if((f|0)==11?(T=0,r=ye(67,t|0)|0,d=T,T=0,!(d&1)):0){h[a>>2]=r;h[n>>2]=r;h[e>>2]=r+t;i=h[o>>2]|0;e=h[u>>2]|0;if((i|0)==(e|0))break;do{c[r>>0]=c[i>>0]|0;r=(h[a>>2]|0)+1|0;h[a>>2]=r;i=i+1|0}while((i|0)!=(e|0));i=h[o>>2]|0;break}r=Ze()|0;i=h[n>>2]|0;if(i){if((h[a>>2]|0)!=(i|0))h[a>>2]=i;zv(i)}zv(s);break e}}while(0);if(!i){v=l;return s|0}if((h[u>>2]|0)!=(i|0))h[u>>2]=i;zv(i);v=l;return s|0}else f=25}while(0);if((f|0)==25)r=Ze()|0;i=h[o>>2]|0;if(!i)si(r|0);if((h[u>>2]|0)!=(i|0))h[u>>2]=i;zv(i);si(r|0);return 0}function cv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;f=Xv(5)|0;c[f>>0]=109;c[f+1>>0]=114;c[f+2>>0]=102;c[f+3>>0]=120;c[f+4>>0]=e;T=0;n=ye(67,20)|0;t=T;T=0;if(t&1){n=Ze()|0;zv(f);si(n|0)}h[n>>2]=36800;c[n+4>>0]=-24;e=n+8|0;h[e>>2]=0;i=n+12|0;h[i>>2]=0;r=n+16|0;h[r>>2]=0;T=0;t=ye(67,5)|0;a=T;T=0;if(!(a&1)){h[i>>2]=t;h[e>>2]=t;h[r>>2]=t+5;c[t>>0]=109;a=(h[i>>2]|0)+1|0;h[i>>2]=a;t=f+1|0;c[a>>0]=c[t>>0]|0;a=(h[i>>2]|0)+1|0;h[i>>2]=a;t=t+1|0;c[a>>0]=c[t>>0]|0;a=(h[i>>2]|0)+1|0;h[i>>2]=a;t=t+1|0;c[a>>0]=c[t>>0]|0;a=(h[i>>2]|0)+1|0;h[i>>2]=a;c[a>>0]=c[t+1>>0]|0;h[i>>2]=(h[i>>2]|0)+1;zv(f);return n|0}a=Ze()|0;zv(n);zv(f);si(a|0);return 0}function dv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;p=v;v=v+16|0;g=p;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;_=g+8|0;T=0;n=ye(67,1)|0;w=T;T=0;e:do{if(!(w&1)){l=n+1|0;w=l;c[n>>0]=i;h[g>>2]=n;h[y>>2]=w;h[_>>2]=w;if((i|0)>0){a=l;w=0;do{k=w+e&255;if(a>>>0>=l>>>0){n=h[g>>2]|0;s=n;a=a-s+1|0;if((a|0)<0){T=0;pe(178,g|0);b=T;T=0;if(b&1){m=28;break}s=h[g>>2]|0;l=h[_>>2]|0;b=s}else b=n;d=b;n=l-d|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?a:n;l=h[y>>2]|0;o=l-d|0;if(!n){u=0;a=0}else m=13}else{o=h[y>>2]|0;n=2147483647;l=o;o=o-d|0;m=13}if((m|0)==13){m=0;T=0;a=ye(67,n|0)|0;u=T;T=0;if(u&1){m=28;break}else u=n}c[a+o>>0]=k;n=a+(o+1)|0;d=l-d|0;k=a+(o-d)|0;Im(k|0,b|0,d|0)|0;h[g>>2]=k;h[y>>2]=n;h[_>>2]=a+u;if(s){zv(s);n=h[y>>2]|0}}else{c[a>>0]=k;n=(h[y>>2]|0)+1|0;h[y>>2]=n}l=h[_>>2]|0;if(n>>>0>=l>>>0){s=h[g>>2]|0;a=s;o=n-a+1|0;if((o|0)<0){T=0;pe(178,g|0);k=T;T=0;if(k&1){m=28;break}s=h[g>>2]|0;a=s;l=h[_>>2]|0}d=s;n=l-d|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?o:n;o=h[y>>2]|0;l=o-d|0;if(!n){n=0;u=0}else m=24}else{l=h[y>>2]|0;n=2147483647;o=l;l=l-d|0;m=24}if((m|0)==24){m=0;T=0;u=ye(67,n|0)|0;k=T;T=0;if(k&1){m=28;break}}c[u+l>>0]=0;b=o-d|0;k=u+(l-b)|0;Im(k|0,s|0,b|0)|0;h[g>>2]=k;h[y>>2]=u+(l+1);h[_>>2]=u+n;if(a)zv(a)}else{c[n>>0]=0;h[y>>2]=(h[y>>2]|0)+1}w=w+1|0;a=h[y>>2]|0;l=h[_>>2]|0}while((w|0)<(i|0));if((m|0)==28){f=Ze()|0;break}n=r&255;if(a>>>0>>0){c[a>>0]=n;a=(h[y>>2]|0)+1|0;h[y>>2]=a}else m=37}else{a=l;n=r&255;m=37}if((m|0)==37){s=h[g>>2]|0;o=s;u=a-o+1|0;if((u|0)<0){T=0;pe(178,g|0);r=T;T=0;if(r&1){m=29;break}o=h[g>>2]|0;l=h[_>>2]|0;s=o}k=s;a=l-k|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?u:a;u=h[y>>2]|0;d=u-k|0;if(!a){b=0;l=0}else m=43}else{d=h[y>>2]|0;a=2147483647;u=d;d=d-k|0;m=43}if((m|0)==43){T=0;l=ye(67,a|0)|0;r=T;T=0;if(r&1){m=29;break}else b=a}c[l+d>>0]=n;a=l+(d+1)|0;e=u-k|0;r=l+(d-e)|0;Im(r|0,s|0,e|0)|0;h[g>>2]=r;h[y>>2]=a;h[_>>2]=l+b;if(o){zv(o);a=h[y>>2]|0}}k=t&255;n=h[_>>2]|0;if(a>>>0>=n>>>0){l=h[g>>2]|0;s=l;a=a-s+1|0;if((a|0)<0){T=0;pe(178,g|0);t=T;T=0;if(t&1){m=29;break}s=h[g>>2]|0;n=h[_>>2]|0;l=s}b=l;n=n-b|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?a:n;o=h[y>>2]|0;u=o-b|0;if(!n){d=0;a=0}else m=54}else{u=h[y>>2]|0;n=2147483647;o=u;u=u-b|0;m=54}if((m|0)==54){T=0;a=ye(67,n|0)|0;t=T;T=0;if(t&1){m=29;break}else d=n}c[a+u>>0]=k;n=a+(u+1)|0;r=o-b|0;t=a+(u-r)|0;Im(t|0,l|0,r|0)|0;h[g>>2]=t;h[y>>2]=n;h[_>>2]=a+d;if(s){zv(s);n=h[y>>2]|0}}else{c[a>>0]=k;n=(h[y>>2]|0)+1|0;h[y>>2]=n}a=h[_>>2]|0;if(n>>>0>=a>>>0){l=h[g>>2]|0;s=l;o=n-s+1|0;if((o|0)<0){T=0;pe(178,g|0);t=T;T=0;if(t&1){m=29;break}s=h[g>>2]|0;a=h[_>>2]|0;l=s}d=l;n=a-d|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?o:n;a=h[y>>2]|0;u=a-d|0;if(!n){n=0;o=0}else m=65}else{u=h[y>>2]|0;n=2147483647;a=u;u=u-d|0;m=65}if((m|0)==65){T=0;o=ye(67,n|0)|0;t=T;T=0;if(t&1){m=29;break}}c[o+u>>0]=0;r=a-d|0;t=o+(u-r)|0;Im(t|0,l|0,r|0)|0;h[g>>2]=t;h[y>>2]=o+(u+1);h[_>>2]=o+n;if(s)zv(s)}else{c[n>>0]=0;h[y>>2]=(h[y>>2]|0)+1}T=0;u=ye(67,20)|0;_=T;T=0;if(!(_&1)){h[u>>2]=36800;c[u+4>>0]=-38;s=u+8|0;h[s>>2]=0;o=u+12|0;h[o>>2]=0;a=u+16|0;h[a>>2]=0;n=h[y>>2]|0;_=h[g>>2]|0;l=n-_|0;do{if((n|0)!=(_|0)){if(!((l|0)<0?(T=0,pe(178,s|0),_=T,T=0,_&1):0))m=72;if((m|0)==72?(T=0,f=ye(67,l|0)|0,_=T,T=0,!(_&1)):0){h[o>>2]=f;h[s>>2]=f;h[a>>2]=f+l;n=h[g>>2]|0;a=h[y>>2]|0;if((n|0)==(a|0))break;do{c[f>>0]=c[n>>0]|0;f=(h[o>>2]|0)+1|0;h[o>>2]=f;n=n+1|0}while((n|0)!=(a|0));n=h[g>>2]|0;break}f=Ze()|0;n=h[s>>2]|0;if(n){if((h[o>>2]|0)!=(n|0))h[o>>2]=n;zv(n)}zv(u);break e}}while(0);if(!n){v=p;return u|0}if((h[y>>2]|0)!=(n|0))h[y>>2]=n;zv(n);v=p;return u|0}else m=29}else m=29}while(0);if((m|0)==29)f=Ze()|0;n=h[g>>2]|0;if(!n)si(f|0);if((h[y>>2]|0)!=(n|0))h[y>>2]=n;zv(n);si(f|0);return 0}function hv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=(i&65535)>>>8&255;b=e+4|0;r=h[b>>2]|0;k=e+8|0;t=h[k>>2]|0;if(r>>>0>=t>>>0){n=h[e>>2]|0;f=n;a=r-f+1|0;if((a|0)<0){Yv(e);f=h[e>>2]|0;t=h[k>>2]|0;n=f}u=n;r=t-u|0;if(r>>>0<1073741823){r=r<<1;r=r>>>0>>0?a:r;a=h[b>>2]|0;t=a-u|0;if(!r){o=0;s=0;l=t;r=a}else w=8}else{t=h[b>>2]|0;r=2147483647;a=t;t=t-u|0;w=8}if((w|0)==8){o=r;s=Xv(r)|0;l=t;r=a}c[s+l>>0]=d;t=s+(l+1)|0;u=r-u|0;d=s+(l-u)|0;Im(d|0,n|0,u|0)|0;h[e>>2]=d;h[b>>2]=t;h[k>>2]=s+o;if(f){zv(f);t=h[b>>2]|0}}else{c[r>>0]=d;t=(h[b>>2]|0)+1|0;h[b>>2]=t}u=i&255;r=h[k>>2]|0;if(t>>>0>>0){c[t>>0]=u;h[b>>2]=(h[b>>2]|0)+1;return}n=h[e>>2]|0;f=n;t=t-f+1|0;if((t|0)<0){Yv(e);f=h[e>>2]|0;r=h[k>>2]|0;n=f}o=n;r=r-o|0;if(r>>>0<1073741823){r=r<<1;r=r>>>0>>0?t:r;a=h[b>>2]|0;t=a-o|0;if(!r){s=0;l=0;r=a}else w=18}else{t=h[b>>2]|0;r=2147483647;a=t;t=t-o|0;w=18}if((w|0)==18){s=r;l=Xv(r)|0;r=a}c[l+t>>0]=u;i=r-o|0;w=l+(t-i)|0;Im(w|0,n|0,i|0)|0;h[e>>2]=w;h[b>>2]=l+(t+1);h[k>>2]=l+s;if(!f)return;zv(f);return}function bv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;n=h[e>>2]|0;w=h[i>>2]|0;k=w;s=n;d=r;o=t-d|0;if((o|0)<=0){_=w;return _|0}b=e+8|0;i=h[b>>2]|0;_=e+4|0;u=h[_>>2]|0;f=u;if((o|0)<=(i-f|0)){l=f-k|0;if((o|0)>(l|0)){a=r+l|0;if((a|0)==(t|0))i=u;else{f=a;i=u;do{c[i>>0]=c[f>>0]|0;i=(h[_>>2]|0)+1|0;h[_>>2]=i;f=f+1|0}while((f|0)!=(t|0))}if((l|0)>0)l=i;else{_=w;return _|0}}else{l=u;a=t}n=l-(n+(o-s+k))|0;i=w+n|0;if(i>>>0>>0){f=l;do{c[f>>0]=c[i>>0]|0;i=i+1|0;f=(h[_>>2]|0)+1|0;h[_>>2]=f}while((i|0)!=(u|0))}Nm(l+(0-n)|0,w|0,n|0)|0;Nm(w|0,r|0,a-d|0)|0;_=w;return _|0}f=f-s+o|0;if((f|0)<0){Yv(e);i=h[b>>2]|0;n=h[e>>2]|0}a=n;i=i-a|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?f:i;f=k-a|0;if(!i){a=0;o=0}else l=15}else{i=2147483647;f=k-a|0;l=15}if((l|0)==15){a=i;o=Xv(i)|0}s=o+f|0;i=s;l=o+a|0;if((r|0)!=(t|0)){n=r;a=s;do{c[a>>0]=c[n>>0]|0;a=i+1|0;i=a;n=n+1|0}while((n|0)!=(t|0));n=h[e>>2]|0}r=k-n|0;t=o+(f-r)|0;Im(t|0,n|0,r|0)|0;k=(h[_>>2]|0)-k|0;r=i;Im(r|0,w|0,k|0)|0;i=h[e>>2]|0;h[e>>2]=t;h[_>>2]=r+k;h[b>>2]=l;if(!i){_=s;return _|0}zv(i);_=s;return _|0}function kv(e){e=e|0;var i=0;h[e>>2]=36800;i=h[e+8>>2]|0;if(!i)return;e=e+12|0;if((h[e>>2]|0)!=(i|0))h[e>>2]=i;zv(i);return}function wv(e){e=e|0;var i=0,r=0;h[e>>2]=36800;i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function _v(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;mv(i,-1);mv(i,c[e+4>>0]|0);n=e+12|0;t=e+8|0;e=(h[n>>2]|0)-(h[t>>2]|0)+2|0;mv(i,(e&65535)>>>8&255);mv(i,e&255);e=h[t>>2]|0;if((h[n>>2]|0)==(e|0))return;else r=0;do{mv(i,c[e+r>>0]|0);r=r+1|0;e=h[t>>2]|0}while(r>>>0<((h[n>>2]|0)-e|0)>>>0);return}function mv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;n=h[e+4>>2]|0;if(n){r=n+24|0;t=h[r>>2]|0;if((t|0)==(h[n+28>>2]|0)){ME[h[(h[n>>2]|0)+52>>2]&63](n,i&255)|0;return}else{h[r>>2]=t+1;c[t>>0]=i;return}}r=e+16|0;t=h[r>>2]|0;if(t>>>0<(h[e+12>>2]|0)>>>0){h[r>>2]=t+1;c[(h[e+8>>2]|0)+t>>0]=i;return}r=Je(16)|0;T=0;t=Ce(1)|0;i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}T=0;xe(7,r|0,4,t|0);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}function pv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;n=(i|0)<4095?(i+128|0)/256|0:16;f=(r*3|0)+2+n|0;t=r+1|0;f=(f|0)<(t|0)|(f|0)>(i|0)?t:f;h[e+4>>2]=f;t=(n<<2|3)+(r*5|0)|0;t=(t|0)>(i|0)|(t|0)<(f|0)?f:t;h[e+8>>2]=t;r=(r*7|0)+4+(n*17|0)|0;h[e+12>>2]=(r|0)>(i|0)|(r|0)<(t|0)?t:r;h[e>>2]=i;h[e+16>>2]=64;return}function vv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+128|0;l=o+100|0;t=o+16|0;r=o+112|0;s=o+4|0;u=o;n=t;f=e+20|0;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));h[t+16>>2]=h[e+4>>2];f=fr(r,t,e+56|0)|0;r=h[(h[f>>2]|0)+16>>2]|0;e=e+8|0;T=0;h[l>>2]=h[e>>2];h[l+4>>2]=h[e+4>>2];h[l+8>>2]=h[e+8>>2];r=Oe(r|0,f|0,l|0)|0;e=T;T=0;do{if(e&1)r=Ze()|0;else{n=i+4|0;h[s>>2]=h[n>>2];h[s+4>>2]=h[n+4>>2];h[s+8>>2]=h[n+8>>2];n=i+16|0;e=h[n>>2]|0;l=s+8|0;h[l>>2]=(h[l>>2]|0)-e;l=s+4|0;h[l>>2]=(h[l>>2]|0)+e;l=h[(h[f>>2]|0)+12>>2]|0;h[u>>2]=r;T=0;r=De(l|0,f|0,u|0,s|0,((c[i>>0]|0)==0?0:(h[i+8>>2]|0)+e|0)|0)|0;s=T;T=0;if(s&1){r=Ze()|0;t=h[u>>2]|0;h[u>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}t=h[u>>2]|0;h[u>>2]=0;if(t)kE[h[(h[t>>2]|0)+4>>2]&255](t);if(!(h[i+4>>2]|0))h[n>>2]=(h[n>>2]|0)+r;if(!f){v=o;return}kE[h[(h[f>>2]|0)+4>>2]&255](f);v=o;return}}while(0);if(!f)si(r|0);kE[h[(h[f>>2]|0)+4>>2]&255](f);si(r|0)}function gv(e,i){e=e|0;i=i|0;h[e>>2]=h[i>>2];h[e+4>>2]=h[i+4>>2];h[e+8>>2]=h[i+8>>2];c[e+12>>0]=0;i=e+16|0;e=i+100|0;do{h[i>>2]=0;i=i+4|0}while((i|0)<(e|0));return}function yv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;p=v;v=v+32|0;m=p+4|0;b=p+16|0;g=p;Ev(e);k=e+16|0;n=h[e+24>>2]|0;e:do{if((n+-2|0)>>>0<=14){w=e+40|0;r=h[w>>2]|0;if(r>>>0>2)r=5;else{_=e+32|0;f=h[_>>2]|0;switch(f|0){case 0:{r=1;break e}case 4:{if((r|0)==2){r=2;break e}break}case 3:break;default:if(r){r=2;break e}}d=e+100|0;r=e+108|0;t=h[r>>2]|0;if((t|0)<1){t=h[k>>2]|0;h[r>>2]=t;r=h[e+20>>2]|0;h[e+112>>2]=r}else r=h[e+112>>2]|0;s=qm(r|0,((r|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;l=(n+7|0)/8|0;l=qm(s|0,H|0,l|0,((l|0)<0)<<31>>31|0)|0;s=i+4|0;r=h[s>>2]|0;a=i+8|0;if((r|0)!=0?(o=h[a>>2]|0,u=qm(f|0,((f|0)<0)<<31>>31|0,l|0,H|0)|0,n=H,0<(n|0)|0==(n|0)&o>>>0>>0):0){r=Je(16)|0;T=0;t=Ce(1)|0;g=T;T=0;if(!(g&1)?(T=0,xe(7,r|0,3,t|0),g=T,T=0,!(g&1)):0)Ei(r|0,824,96);g=Ze()|0;We(r|0);si(g|0)}o=e+52|0;u=e+12|0;if((f|0)>0)f=0;else{v=p;return}while(1){Av(e,(f|0)==0);t=tr(b,k,o)|0;n=h[(h[t>>2]|0)+8>>2]|0;T=0;h[m>>2]=h[i>>2];h[m+4>>2]=h[i+4>>2];h[m+8>>2]=h[i+8>>2];n=Oe(n|0,t|0,m|0)|0;y=T;T=0;if(y&1){n=32;break}y=h[(h[t>>2]|0)+16>>2]|0;h[g>>2]=n;T=0;_e(y|0,t|0,g|0,d|0,e|0,(c[u>>0]|0)!=0|0);y=T;T=0;if(y&1){n=30;break}n=h[g>>2]|0;h[g>>2]=0;if(n)kE[h[(h[n>>2]|0)+4>>2]&255](n);if(!r)r=0;else{r=r+l|0;h[s>>2]=r;h[a>>2]=(h[a>>2]|0)-l}n=(h[w>>2]|0)==0;f=(n&1)+f|0;if(t)kE[h[(h[t>>2]|0)+4>>2]&255](t);if(!n){n=34;break}if((f|0)>=(h[_>>2]|0)){n=34;break}}if((n|0)==30){r=Ze()|0;n=h[g>>2]|0;h[g>>2]=0;if(n)kE[h[(h[n>>2]|0)+4>>2]&255](n)}else if((n|0)==32){r=Ze()|0;if(!t){y=r;si(y|0)}}else if((n|0)==34){v=p;return}kE[h[(h[t>>2]|0)+4>>2]&255](t);y=r;si(y|0)}}else r=2}while(0);t=Je(16)|0;T=0;n=Ce(1)|0;y=T;T=0;if(!(y&1)?(T=0,xe(7,t|0,r|0,n|0),y=T,T=0,!(y&1)):0)Ei(t|0,824,96);y=Ze()|0;We(t|0);si(y|0)}function Ev(e){e=e|0;var i=0,r=0,t=0,n=0;if((Sv(e)|0)<<24>>24!=-40){i=Je(16)|0;T=0;r=Ce(1)|0;n=T;T=0;if(!(n&1)?(T=0,xe(7,i|0,5,r|0),n=T,T=0,!(n&1)):0)Ei(i|0,824,96);n=Ze()|0;We(i|0);si(n|0)}i=Sv(e)|0;if(i<<24>>24==-38)return;while(1){t=((Tv(e)|0)&255)<<8;t=t|(Tv(e)|0)&255;i=Pv(e,i)|0;r=-2-i+t|0;if((r|0)<0)break;if((r|0)>0){i=t+-2-i|0;r=0;do{Tv(e)|0;r=r+1|0}while((r|0)!=(i|0))}i=Sv(e)|0;if(i<<24>>24==-38){n=8;break}}if((n|0)==8)return;i=Je(16)|0;T=0;r=Ce(1)|0;n=T;T=0;if(!(n&1)?(T=0,xe(7,i|0,5,r|0),n=T,T=0,!(n&1)):0)Ei(i|0,824,96);n=Ze()|0;We(i|0);si(n|0)}function Av(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;if(!i){if((Tv(e)|0)<<24>>24!=-1){i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,12,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}if((Tv(e)|0)<<24>>24!=-38){i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,5,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}}Tv(e)|0;Tv(e)|0;r=Tv(e)|0;t=r&255;do{if(r<<24>>24==1){Tv(e)|0;r=0;n=20}else{if((t|0)==(h[e+32>>2]|0)){i=Tv(e)|0;if(!(r<<24>>24))break;else{r=0;n=20;break}}i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,2,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}}while(0);if((n|0)==20)while(1){Tv(e)|0;r=r+1|0;i=Tv(e)|0;if((r|0)==(t|0))break;else n=20}h[e+36>>2]=i&255;n=Tv(e)|0;r=e+40|0;h[r>>2]=n&255;if((n&255)>=3){i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,5,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}if((Tv(e)|0)<<24>>24){i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,5,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}t=e+28|0;if(h[t>>2]|0)return;i=h[e+108>>2]|0;if(!i)i=h[e+16>>2]|0;if(!(h[r>>2]|0))r=1;else r=h[e+32>>2]|0;n=ce(r,i)|0;e=ce(n,((h[e+24>>2]|0)+7|0)/8|0)|0;h[t>>2]=e;return}function Mv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;if((r|0)<=0)return;d=i+4|0;b=i+8|0;w=0;do{k=Tv(e)|0;t=h[d>>2]|0;n=h[b>>2]|0;if(t>>>0>=n>>>0){f=h[i>>2]|0;a=f;l=t-a+1|0;if((l|0)<0){Yv(i);a=h[i>>2]|0;n=h[b>>2]|0;f=a}u=f;t=n-u|0;if(t>>>0<1073741823){t=t<<1;t=t>>>0>>0?l:t;l=h[d>>2]|0;n=l-u|0;if(!t){o=0;s=0;t=l}else _=10}else{n=h[d>>2]|0;t=2147483647;l=n;n=n-u|0;_=10}if((_|0)==10){_=0;o=t;s=Xv(t)|0;t=l}c[s+n>>0]=k;u=t-u|0;k=s+(n-u)|0;Im(k|0,f|0,u|0)|0;h[i>>2]=k;h[d>>2]=s+(n+1);h[b>>2]=s+o;if(a)zv(a)}else{c[t>>0]=k;h[d>>2]=(h[d>>2]|0)+1}w=w+1|0}while((w|0)!=(r|0));return}function Tv(e){e=e|0;var i=0,r=0,t=0,n=0;r=h[e>>2]|0;if(r){e=r+12|0;i=h[e>>2]|0;if((i|0)==(h[r+16>>2]|0))e=mE[h[(h[r>>2]|0)+40>>2]&127](r)|0;else{h[e>>2]=i+1;e=b[i>>0]|0}n=e&255;return n|0}t=e+8|0;n=h[t>>2]|0;if(n){e=e+4|0;i=h[e>>2]|0;r=c[i>>0]|0;if(!i){n=r;return n|0}h[e>>2]=i+1;h[t>>2]=n+-1;n=r;return n|0}e=Je(16)|0;T=0;i=Ce(1)|0;n=T;T=0;if(n&1){n=Ze()|0;We(e|0);si(n|0)}T=0;xe(7,e|0,4,i|0);n=T;T=0;if(n&1){n=Ze()|0;We(e|0);si(n|0)}else Ei(e|0,824,96);return 0}function Sv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0;r=v;v=v+176|0;i=r+152|0;s=r+16|0;a=r;l=Tv(e)|0;t=l&255;if(l<<24>>24==-1){do{i=Tv(e)|0}while(i<<24>>24==-1);v=r;return i|0}l=s+56|0;f=s+4|0;h[s>>2]=36160;h[l>>2]=36180;T=0;ve(62,s+56|0,f|0);n=T;T=0;if(n&1){s=Ze()|0;bh(l);si(s|0)}h[s+128>>2]=0;h[s+132>>2]=-1;h[s>>2]=36200;h[s+56>>2]=36220;T=0;pe(180,f|0);n=T;T=0;do{if(n&1)i=Ze()|0;else{h[f>>2]=36236;n=s+36|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[s+52>>2]=16;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;T=0;ve(63,f|0,i|0);r=T;T=0;if(r&1){s=Ze()|0;qd(i);qd(n);gh(f);i=s;break}qd(i);h[s+((h[(h[s>>2]|0)+-12>>2]|0)+76)>>2]=48;T=0;i=Ae(28,s|0,50907,62)|0;r=T;T=0;if(!(r&1)?(r=i+((h[(h[i>>2]|0)+-12>>2]|0)+4)|0,h[r>>2]=h[r>>2]&-75|8,r=i+((h[(h[i>>2]|0)+-12>>2]|0)+4)|0,h[r>>2]=h[r>>2]|16384,h[i+((h[(h[i>>2]|0)+-12>>2]|0)+12)>>2]=2,T=0,Oe(38,i|0,t|0)|0,t=T,T=0,!(t&1)):0){r=Je(16)|0;T=0;ve(64,a|0,f|0);t=T;T=0;if(!(t&1)){T=0;i=Ce(1)|0;t=T;T=0;if(!(t&1)?(T=0,Fe(36,r|0,12,i|0,a|0),t=T,T=0,!(t&1)):0){T=0;xe(6,r|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(a);if(!e){a=i;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}}else i=Ze()|0;We(r|0);a=i;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}a=Ze()|0;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}}while(0);s=i;bh(l);si(s|0);return 0}function Pv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;r=v;v=v+320|0;l=r+300|0;u=r+152|0;s=r+288|0;c=r+16|0;o=r;switch(i<<24>>24){case-9:{d=(Tv(e)|0)&255;h[e+24>>2]=d;d=((Tv(e)|0)&255)<<8|(Tv(e)|0)&255;c=((Tv(e)|0)&255)<<8|(Tv(e)|0)&255;h[e+16>>2]=c;h[e+20>>2]=d;d=(Tv(e)|0)&255;h[e+32>>2]=d;d=6;v=r;return d|0}case-8:{d=Ov(e)|0;v=r;return d|0}case-24:{d=Rv(e)|0;v=r;return d|0}case-53:case-54:case-55:case-57:case-58:case-59:case-61:case-62:case-63:case-64:{a=u+56|0;n=u+4|0;h[u>>2]=36160;h[a>>2]=36180;T=0;ve(62,u+56|0,n|0);c=T;T=0;if(c&1){d=Ze()|0;bh(a);si(d|0)}h[u+128>>2]=0;h[u+132>>2]=-1;h[u>>2]=36200;h[u+56>>2]=36220;T=0;pe(180,n|0);c=T;T=0;do{if(c&1)e=Ze()|0;else{h[n>>2]=36236;f=u+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[u+52>>2]=16;h[l>>2]=0;h[l+4>>2]=0;h[l+8>>2]=0;T=0;ve(63,n|0,l|0);c=T;T=0;if(c&1){e=Ze()|0;qd(l);qd(f);gh(n);break}qd(l);T=0;e=Ae(28,u|0,50970,26)|0;c=T;T=0;do{if((!(c&1)?(T=0,t=Oe(38,e|0,i&255|0)|0,c=T,T=0,!(c&1)):0)?(T=0,Ae(28,t|0,50997,18)|0,c=T,T=0,!(c&1)):0){t=Je(16)|0;T=0;ve(64,s|0,n|0);c=T;T=0;if(!(c&1)){T=0;e=Ce(1)|0;c=T;T=0;if(!(c&1)?(T=0,Fe(36,t|0,10,e|0,s|0),c=T,T=0,!(c&1)):0){T=0;xe(6,t|0,824,96);T=0;r=0}else r=1;e=Ze()|0;qd(s);if(!r)break}else e=Ze()|0;We(t|0)}else d=20}while(0);if((d|0)==20)e=Ze()|0;h[u>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);d=e;si(d|0)}}while(0);d=e;bh(a);si(d|0)}case-25:case-32:case-2:{d=0;v=r;return d|0}default:{s=c+56|0;f=c+4|0;h[c>>2]=36160;h[s>>2]=36180;T=0;ve(62,c+56|0,f|0);u=T;T=0;if(u&1){d=Ze()|0;bh(s);si(d|0)}h[c+128>>2]=0;h[c+132>>2]=-1;h[c>>2]=36200;h[c+56>>2]=36220;T=0;pe(180,f|0);u=T;T=0;do{if(u&1)e=Ze()|0;else{h[f>>2]=36236;a=c+36|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[c+52>>2]=16;h[l>>2]=0;h[l+4>>2]=0;h[l+8>>2]=0;T=0;ve(63,f|0,l|0);u=T;T=0;if(u&1){e=Ze()|0;qd(l);qd(a);gh(f);break}qd(l);T=0;e=Ae(28,c|0,51016,20)|0;u=T;T=0;do{if((!(u&1)?(T=0,n=Oe(38,e|0,i&255|0)|0,u=T,T=0,!(u&1)):0)?(T=0,Ae(28,n|0,51037,13)|0,u=T,T=0,!(u&1)):0){t=Je(16)|0;T=0;ve(64,o|0,f|0);u=T;T=0;if(!(u&1)){T=0;e=Ce(1)|0;u=T;T=0;if(!(u&1)?(T=0,Fe(36,t|0,11,e|0,o|0),u=T,T=0,!(u&1)):0){T=0;xe(6,t|0,824,96);T=0;r=0}else r=1;e=Ze()|0;qd(o);if(!r)break}else e=Ze()|0;We(t|0)}else d=40}while(0);if((d|0)==40)e=Ze()|0;h[c>>2]=36200;h[s>>2]=36220;h[f>>2]=36236;qd(a);gh(f);bh(s);d=e;si(d|0)}}while(0);d=e;bh(s);si(d|0)}}return 0}function Ov(e){e=e|0;var i=0;if((Tv(e)|0)<<24>>24!=1){e=1;return e|0}i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+52>>2]=i;i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+56>>2]=i;i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+60>>2]=i;i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+64>>2]=i;i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+68>>2]=i;e=11;return e|0}function Rv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;r=v;v=v+16|0;n=r;h[n>>2]=0;f=n+4|0;h[f>>2]=0;h[n+8>>2]=0;T=0;xe(9,e|0,n|0,4);i=T;T=0;e:do{if(i&1)t=3;else{i=h[n>>2]|0;i:do{if(!(tE(i,51051,4)|0)){T=0;i=ye(69,e|0)|0;a=T;T=0;if(a&1){t=3;break e}i=i&255;switch(i|0){case 3:case 2:case 1:case 0:{h[e+44>>2]=i;e=5;i=h[n>>2]|0;break i}case 5:case 4:{i=Je(16)|0;T=0;e=Ce(1)|0;a=T;T=0;if(!(a&1)?(T=0,xe(7,i|0,7,e|0),a=T,T=0,!(a&1)):0){T=0;xe(6,i|0,824,96);T=0;t=3;break e}e=Ze()|0;We(i|0);break e}default:{i=Je(16)|0;T=0;e=Ce(1)|0;a=T;T=0;if(!(a&1)?(T=0,xe(7,i|0,5,e|0),a=T,T=0,!(a&1)):0){T=0;xe(6,i|0,824,96);T=0;t=3;break e}e=Ze()|0;We(i|0);break e}}}else e=4}while(0);if(!i){v=r;return e|0}if((h[f>>2]|0)!=(i|0))h[f>>2]=i;zv(i);v=r;return e|0}}while(0);if((t|0)==3)e=Ze()|0;i=h[n>>2]|0;if(!i)si(e|0);if((h[f>>2]|0)!=(i|0))h[f>>2]=i;zv(i);si(e|0);return 0}function Lv(e){e=e|0;var i=0,r=0,t=0;t=h[(h[e>>2]|0)+-12>>2]|0;h[e+t>>2]=36200;i=e+(t+56)|0;h[i>>2]=36220;r=e+(t+4)|0;h[r>>2]=36236;qd(e+(t+36)|0);gh(r);bh(i);return}function Cv(e){e=e|0;return}function Dv(e){e=e|0;zv(e);return}function xv(e){e=e|0;c[e>>0]=0;e=e+4|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[e+20>>2]=0;h[e+24>>2]=0;h[e+28>>2]=0;return}function Iv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;n=v;v=v+16|0;f=n;i=cv(i)|0;h[f>>2]=i;r=e+28|0;t=h[r>>2]|0;if(t>>>0<(h[e+32>>2]|0)>>>0){h[t>>2]=i;h[r>>2]=t+4;h[f>>2]=0;v=n;return}T=0;ve(57,e+24|0,f|0);e=T;T=0;if(e&1){i=Ze()|0;r=h[f>>2]|0;h[f>>2]=0;if(!r)si(i|0);kE[h[(h[r>>2]|0)+4>>2]&255](r);si(i|0)}else{i=h[f>>2]|0;h[f>>2]=0;if(!i){v=n;return}kE[h[(h[i>>2]|0)+4>>2]&255](i);v=n;return}}function Bv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;t=e+4|0;h[t>>2]=h[i>>2];h[t+4>>2]=h[i+4>>2];h[t+8>>2]=h[i+8>>2];mv(e,-1);mv(e,-40);t=e+28|0;n=e+24|0;i=h[n>>2]|0;if((h[t>>2]|0)==(i|0)){mv(e,-1);mv(e,-39);e=e+16|0;e=h[e>>2]|0;return e|0}else r=0;do{f=h[i+(r<<2)>>2]|0;wE[h[(h[f>>2]|0)+8>>2]&127](f,e);r=r+1|0;i=h[n>>2]|0}while(r>>>0<(h[t>>2]|0)-i>>2>>>0);mv(e,-1);mv(e,-39);f=e+16|0;f=h[f>>2]|0;return f|0}function Nv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;c=v;v=v+48|0;l=c+32|0;n=c+12|0;s=c+8|0;u=c+4|0;d=c;t=r+36|0;do{if(((((h[t>>2]|0)==0?(h[r+40>>2]|0)==0:0)?(h[r+44>>2]|0)==0:0)?(h[r+48>>2]|0)==0:0)?(h[r+52>>2]|0)==0:0){t=h[r+8>>2]|0;if((t|0)<=12){f=e+28|0;a=e+32|0;break}pv(n,(1<>2]|0);t=uv(n)|0;h[s>>2]=t;f=e+28|0;n=h[f>>2]|0;a=e+32|0;if(n>>>0<(h[a>>2]|0)>>>0){h[n>>2]=t;h[f>>2]=n+4;h[s>>2]=0;break}T=0;ve(57,e+24|0,s|0);l=T;T=0;if(!(l&1)){t=h[s>>2]|0;h[s>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}r=Ze()|0;t=h[s>>2]|0;h[s>>2]=0;if(!t){d=r;si(d|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);d=r;si(d|0)}else o=6}while(0);do{if((o|0)==6){t=uv(t)|0;h[l>>2]=t;f=e+28|0;n=h[f>>2]|0;a=e+32|0;if(n>>>0<(h[a>>2]|0)>>>0){h[n>>2]=t;h[f>>2]=n+4;h[l>>2]=0;break}T=0;ve(57,e+24|0,l|0);o=T;T=0;if(!(o&1)){t=h[l>>2]|0;h[l>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}r=Ze()|0;t=h[l>>2]|0;h[l>>2]=0;if(!t){d=r;si(d|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);d=r;si(d|0)}}while(0);t=e+20|0;n=(h[t>>2]|0)+1|0;h[t>>2]=n;t=h[r+24>>2]|0;l=(t|0)==0?1:h[r+16>>2]|0;t=dv(n,l,h[r+20>>2]|0,t)|0;h[u>>2]=t;n=h[f>>2]|0;do{if(n>>>0<(h[a>>2]|0)>>>0){h[n>>2]=t;h[f>>2]=n+4;h[u>>2]=0}else{T=0;ve(57,e+24|0,u|0);o=T;T=0;if(!(o&1)){t=h[u>>2]|0;h[u>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}r=Ze()|0;t=h[u>>2]|0;h[u>>2]=0;if(!t){d=r;si(d|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);d=r;si(d|0)}}while(0);s=Xv(104)|0;h[s>>2]=36820;h[s+4>>2]=l;n=s+8|0;h[n>>2]=h[i>>2];h[n+4>>2]=h[i+4>>2];h[n+8>>2]=h[i+8>>2];n=s+20|0;t=n+84|0;do{h[n>>2]=h[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(t|0));h[d>>2]=s;r=h[f>>2]|0;if(r>>>0<(h[a>>2]|0)>>>0){h[r>>2]=s;h[f>>2]=r+4;h[d>>2]=0;v=c;return}T=0;ve(57,e+24|0,d|0);e=T;T=0;if(e&1){r=Ze()|0;t=h[d>>2]|0;h[d>>2]=0;if(!t){d=r;si(d|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);d=r;si(d|0)}else{r=h[d>>2]|0;h[d>>2]=0;if(!r){v=c;return}kE[h[(h[r>>2]|0)+4>>2]&255](r);v=c;return}}function Fv(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;var d=0,b=0,k=0,w=0,_=0,m=0,p=0;k=v;v=v+96|0;b=k;d=Qi(e,i,b,0)|0;if(d){n=d;v=k;return n|0}c[b+32>>0]=0;_=h[b+8>>2]|0;p=h[b>>2]|0;m=h[b+4>>2]|0;d=ce(m,p)|0;w=h[b+16>>2]|0;d=ce(ce(d,(_|0)<9?1:2)|0,w)|0;h[t>>2]=d;d=jc(d)|0;h[r>>2]=d;h[n>>2]=p;h[f>>2]=m;h[a>>2]=_;h[l>>2]=h[b+12>>2];h[s>>2]=w;h[o>>2]=h[b+20>>2];h[u>>2]=h[b+24>>2];n=$i(d,h[t>>2]|0,e,i,0,0)|0;v=k;return n|0}function Uv(e,i,r,t,n,f,a,l,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;var o=0,u=0,c=0,d=0;c=v;v=v+96|0;o=c+4|0;a=c;u=o;d=u+84|0;do{h[u>>2]=0;u=u+4|0}while((u|0)<(d|0));h[o+16>>2]=f;h[o+8>>2]=n;h[o>>2]=r;h[o+4>>2]=t;r=jc(i)|0;h[l>>2]=r;h[a>>2]=0;r=Zi(l,i,a,e,i,o,0)|0;h[s>>2]=h[a>>2];v=c;return r|0}function jv(e,i){e=e|0;i=i|0;var r=0;r=v;v=v+16|0;h[r>>2]=i;i=h[9320]|0;zy(i,e,r)|0;Ny(10,i)|0;Xe()}function Hv(e){e=e|0;Ke(51337,51366,1164,51442)}function Yv(e){e=e|0;Ke(51463,51486,303,51442)}function qv(){var e=0,i=0;e=v;v=v+16|0;if(!(ki(37024,4)|0)){i=ci(h[9255]|0)|0;v=e;return i|0}else jv(51562,e);return 0}function Xv(e){e=e|0;var i=0;i=(e|0)==0?1:e;e=jc(i)|0;e:do{if(!e){while(1){e=$v()|0;if(!e)break;LE[e&7]();e=jc(i)|0;if(e)break e}i=Je(4)|0;h[i>>2]=36844;Ei(i|0,592,78)}}while(0);return e|0}function zv(e){e=e|0;Hc(e);return}function Vv(e){e=e|0;zv(e);return}function Gv(e){e=e|0;h[e>>2]=36844;return}function Kv(e){e=e|0;return}function Wv(e){e=e|0;zv(e);return}function Jv(e){e=e|0;return 51611}function Zv(e){e=e|0;var i=0;i=v;v=v+16|0;T=0;Ie(e|0);e=T;T=0;if(!(e&1)){T=0;ve(85,51626,i|0);T=0}e=Ze(0)|0;fi(e|0)|0;T=0;ve(85,51666,i+8|0);T=0;e=Ze(0)|0;T=0;Ie(3);i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else Ki(e)}function Qv(){var e=0,i=0,r=0;T=0;e=Ce(2)|0;r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}if(((e|0)!=0?(i=h[e>>2]|0,(i|0)!=0):0)?(r=i+48|0,(h[r>>2]&-256|0)==1126902528?(h[r+4>>2]|0)==1129074247:0):0)Zv(h[i+12>>2]|0);r=h[9208]|0;h[9208]=r+0;Zv(r)}function $v(){var e=0;e=h[9214]|0;h[9214]=e+0;return e|0}function eg(e){e=e|0;return}function ig(e){e=e|0;h[e>>2]=36868;Bg(e+4|0);return}function rg(e){e=e|0;ig(e);zv(e);return}function tg(e){e=e|0;return h[e+4>>2]|0}function ng(e){e=e|0;return}function fg(e){e=e|0;h[e>>2]=36888;return}function ag(e){e=e|0;return}function lg(e){e=e|0;zv(e);return}function sg(e){e=e|0;return 51716}function og(e){e=e|0;return}function ug(e){e=e|0;return}function cg(e){e=e|0;return}function dg(e){e=e|0;zv(e);return}function hg(e){e=e|0;zv(e);return}function bg(e){e=e|0;zv(e);return}function kg(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;a=v;v=v+64|0;f=a;if((e|0)!=(i|0))if((i|0)!=0?(n=gg(i,656,672,0)|0,(n|0)!=0):0){i=f;t=i+56|0;do{h[i>>2]=0;i=i+4|0}while((i|0)<(t|0));h[f>>2]=n;h[f+8>>2]=e;h[f+12>>2]=-1;h[f+48>>2]=1;xE[h[(h[n>>2]|0)+28>>2]&63](n,f,h[r>>2]|0,1);if((h[f+24>>2]|0)==1){h[r>>2]=h[f+16>>2];i=1}else i=0}else i=0;else i=1;v=a;return i|0}function wg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;e=i+16|0;n=h[e>>2]|0;do{if(n){if((n|0)!=(r|0)){t=i+36|0;h[t>>2]=(h[t>>2]|0)+1;h[i+24>>2]=2;c[i+54>>0]=1;break}e=i+24|0;if((h[e>>2]|0)==2)h[e>>2]=t}else{h[e>>2]=r;h[i+24>>2]=t;h[i+36>>2]=1}}while(0);return}function _g(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((e|0)==(h[i+8>>2]|0))wg(0,i,r,t);return}function mg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((e|0)==(h[i+8>>2]|0))wg(0,i,r,t);else{e=h[e+8>>2]|0;xE[h[(h[e>>2]|0)+28>>2]&63](e,i,r,t)}return}function pg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=h[e+4>>2]|0;n=f>>8;if(f&1)n=h[(h[r>>2]|0)+n>>2]|0;e=h[e>>2]|0;xE[h[(h[e>>2]|0)+28>>2]&63](e,i,r+n|0,(f&2|0)!=0?t:2);return}function vg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;e:do{if((e|0)!=(h[i+8>>2]|0)){f=h[e+12>>2]|0;n=e+16+(f<<3)|0;pg(e+16|0,i,r,t);if((f|0)>1){f=i+54|0;e=e+24|0;do{pg(e,i,r,t);if(c[f>>0]|0)break e;e=e+8|0}while(e>>>0>>0)}}else wg(0,i,r,t)}while(0);return}function gg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=v;v=v+64|0;k=w;b=h[e>>2]|0;u=e+(h[b+-8>>2]|0)|0;b=h[b+-4>>2]|0;h[k>>2]=r;h[k+4>>2]=e;h[k+8>>2]=i;h[k+12>>2]=t;t=k+16|0;e=k+20|0;i=k+24|0;n=k+28|0;f=k+32|0;a=k+40|0;l=(b|0)==(r|0);s=t;o=s+36|0;do{h[s>>2]=0;s=s+4|0}while((s|0)<(o|0));d[t+36>>1]=0;c[t+38>>0]=0;e:do{if(l){h[k+48>>2]=1;yE[h[(h[r>>2]|0)+20>>2]&15](r,k,u,u,1,0);t=(h[i>>2]|0)==1?u:0}else{hE[h[(h[b>>2]|0)+24>>2]&15](b,k,u,1,0);switch(h[k+36>>2]|0){case 0:{t=(h[a>>2]|0)==1&(h[n>>2]|0)==1&(h[f>>2]|0)==1?h[e>>2]|0:0;break e}case 1:break;default:{t=0;break e}}if((h[i>>2]|0)!=1?!((h[a>>2]|0)==0&(h[n>>2]|0)==1&(h[f>>2]|0)==1):0){t=0;break}t=h[t>>2]|0}}while(0);v=w;return t|0}function yg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;c[i+53>>0]=1;do{if((h[i+4>>2]|0)==(t|0)){c[i+52>>0]=1;t=i+16|0;e=h[t>>2]|0;if(!e){h[t>>2]=r;h[i+24>>2]=n;h[i+36>>2]=1;if(!((n|0)==1?(h[i+48>>2]|0)==1:0))break;c[i+54>>0]=1;break}if((e|0)!=(r|0)){n=i+36|0;h[n>>2]=(h[n>>2]|0)+1;c[i+54>>0]=1;break}e=i+24|0;t=h[e>>2]|0;if((t|0)==2){h[e>>2]=n;t=n}if((t|0)==1?(h[i+48>>2]|0)==1:0)c[i+54>>0]=1}}while(0);return}function Eg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;e:do{if((e|0)==(h[i+8>>2]|0)){if((h[i+4>>2]|0)==(r|0)?(f=i+28|0,(h[f>>2]|0)!=1):0)h[f>>2]=t}else{if((e|0)!=(h[i>>2]|0)){w=h[e+12>>2]|0;l=e+16+(w<<3)|0;Mg(e+16|0,i,r,t,n);f=e+24|0;if((w|0)<=1)break;a=h[e+8>>2]|0;if((a&2|0)==0?(s=i+36|0,(h[s>>2]|0)!=1):0){if(!(a&1)){a=i+54|0;while(1){if(c[a>>0]|0)break e;if((h[s>>2]|0)==1)break e;Mg(f,i,r,t,n);f=f+8|0;if(f>>>0>=l>>>0)break e}}a=i+24|0;e=i+54|0;while(1){if(c[e>>0]|0)break e;if((h[s>>2]|0)==1?(h[a>>2]|0)==1:0)break e;Mg(f,i,r,t,n);f=f+8|0;if(f>>>0>=l>>>0)break e}}a=i+54|0;while(1){if(c[a>>0]|0)break e;Mg(f,i,r,t,n);f=f+8|0;if(f>>>0>=l>>>0)break e}}if((h[i+16>>2]|0)!=(r|0)?(k=i+20|0,(h[k>>2]|0)!=(r|0)):0){h[i+32>>2]=t;u=i+44|0;if((h[u>>2]|0)==4)break;a=h[e+12>>2]|0;l=e+16+(a<<3)|0;s=i+52|0;t=i+53|0;d=i+54|0;o=e+8|0;b=i+24|0;i:do{if((a|0)>0){a=0;f=0;e=e+16|0;while(1){c[s>>0]=0;c[t>>0]=0;Ag(e,i,r,r,1,n);if(c[d>>0]|0){w=20;break i}do{if(c[t>>0]|0){if(!(c[s>>0]|0))if(!(h[o>>2]&1)){f=1;w=20;break i}else{f=1;break}if((h[b>>2]|0)==1)break i;if(!(h[o>>2]&2))break i;else{a=1;f=1}}}while(0);e=e+8|0;if(e>>>0>=l>>>0){w=20;break}}}else{a=0;f=0;w=20}}while(0);do{if((w|0)==20){if((!a?(h[k>>2]=r,r=i+40|0,h[r>>2]=(h[r>>2]|0)+1,(h[i+36>>2]|0)==1):0)?(h[b>>2]|0)==2:0){c[d>>0]=1;if(f)break}else w=24;if((w|0)==24?f:0)break;h[u>>2]=4;break e}}while(0);h[u>>2]=3;break}if((t|0)==1)h[i+32>>2]=1}}while(0);return}function Ag(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;l=h[e+4>>2]|0;a=l>>8;if(l&1)a=h[(h[t>>2]|0)+a>>2]|0;e=h[e>>2]|0;yE[h[(h[e>>2]|0)+20>>2]&15](e,i,r,t+a|0,(l&2|0)!=0?n:2,f);return}function Mg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=h[e+4>>2]|0;f=a>>8;if(a&1)f=h[(h[r>>2]|0)+f>>2]|0;e=h[e>>2]|0;hE[h[(h[e>>2]|0)+24>>2]&15](e,i,r+f|0,(a&2|0)!=0?t:2,n);return}function Tg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0;e:do{if((e|0)==(h[i+8>>2]|0)){if((h[i+4>>2]|0)==(r|0)?(f=i+28|0,(h[f>>2]|0)!=1):0)h[f>>2]=t}else{if((e|0)!=(h[i>>2]|0)){l=h[e+8>>2]|0;hE[h[(h[l>>2]|0)+24>>2]&15](l,i,r,t,n);break}if((h[i+16>>2]|0)!=(r|0)?(a=i+20|0,(h[a>>2]|0)!=(r|0)):0){h[i+32>>2]=t;t=i+44|0;if((h[t>>2]|0)==4)break;f=i+52|0;c[f>>0]=0;s=i+53|0;c[s>>0]=0;e=h[e+8>>2]|0;yE[h[(h[e>>2]|0)+20>>2]&15](e,i,r,r,1,n);if(c[s>>0]|0){if(!(c[f>>0]|0)){f=1;l=13}}else{f=0;l=13}do{if((l|0)==13){h[a>>2]=r;s=i+40|0;h[s>>2]=(h[s>>2]|0)+1;if((h[i+36>>2]|0)==1?(h[i+24>>2]|0)==2:0){c[i+54>>0]=1;if(f)break}else l=16;if((l|0)==16?f:0)break;h[t>>2]=4;break e}}while(0);h[t>>2]=3;break}if((t|0)==1)h[i+32>>2]=1}}while(0);return}function Sg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;do{if((e|0)==(h[i+8>>2]|0)){if((h[i+4>>2]|0)==(r|0)?(a=i+28|0,(h[a>>2]|0)!=1):0)h[a>>2]=t}else if((e|0)==(h[i>>2]|0)){if((h[i+16>>2]|0)!=(r|0)?(f=i+20|0,(h[f>>2]|0)!=(r|0)):0){h[i+32>>2]=t;h[f>>2]=r;n=i+40|0;h[n>>2]=(h[n>>2]|0)+1;if((h[i+36>>2]|0)==1?(h[i+24>>2]|0)==2:0)c[i+54>>0]=1;h[i+44>>2]=4;break}if((t|0)==1)h[i+32>>2]=1}}while(0);return}function Pg(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;if((e|0)==(h[i+8>>2]|0))yg(0,i,r,t,n);else{u=i+52|0;d=c[u>>0]|0;b=i+53|0;k=c[b>>0]|0;o=h[e+12>>2]|0;a=e+16+(o<<3)|0;c[u>>0]=0;c[b>>0]=0;Ag(e+16|0,i,r,t,n,f);e:do{if((o|0)>1){l=i+24|0;s=e+8|0;o=i+54|0;e=e+24|0;do{if(c[o>>0]|0)break e;if(!(c[u>>0]|0)){if((c[b>>0]|0)!=0?(h[s>>2]&1|0)==0:0)break e}else{if((h[l>>2]|0)==1)break e;if(!(h[s>>2]&2))break e}c[u>>0]=0;c[b>>0]=0;Ag(e,i,r,t,n,f);e=e+8|0}while(e>>>0>>0)}}while(0);c[u>>0]=d;c[b>>0]=k}return}function Og(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;if((e|0)==(h[i+8>>2]|0))yg(0,i,r,t,n);else{e=h[e+8>>2]|0;yE[h[(h[e>>2]|0)+20>>2]&15](e,i,r,t,n,f)}return}function Rg(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;if((e|0)==(h[i+8>>2]|0))yg(0,i,r,t,n);return}function Lg(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+16|0;t=n;h[t>>2]=h[r>>2];e=vE[h[(h[e>>2]|0)+16>>2]&63](e,i,t)|0;if(e)h[r>>2]=h[t>>2];v=n;return e&1|0}function Cg(e){e=e|0;if(!e)e=0;else e=(gg(e,656,704,0)|0)!=0;return e&1|0}function Dg(){var e=0;e=Je(4)|0;Gv(e);Ei(e|0,592,78)}function xg(){var e=0,i=0,r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+48|0;a=n+32|0;r=n+24|0;l=n+16|0;f=n;n=n+36|0;e=qv()|0;if((e|0)!=0?(t=h[e>>2]|0,(t|0)!=0):0){e=t+48|0;i=h[e>>2]|0;e=h[e+4>>2]|0;if(!((i&-256|0)==1126902528&(e|0)==1129074247)){h[r>>2]=h[9257];jv(51919,r)}if((i|0)==1126902529&(e|0)==1129074247)e=h[t+44>>2]|0;else e=t+80|0;h[n>>2]=e;t=h[t>>2]|0;e=h[t+4>>2]|0;if(vE[h[(h[608>>2]|0)+16>>2]&63](608,t,n)|0){l=h[n>>2]|0;n=h[9257]|0;l=mE[h[(h[l>>2]|0)+8>>2]&127](l)|0;h[f>>2]=n;h[f+4>>2]=e;h[f+8>>2]=l;jv(51833,f)}else{h[l>>2]=h[9257];h[l+4>>2]=e;jv(51878,l)}}jv(51957,a)}function Ig(){var e=0;e=v;v=v+16|0;if(!(qe(37020,184)|0)){v=e;return}else jv(51730,e)}function Bg(e){e=e|0;var i=0,r=0;r=(h[e>>2]|0)+-4|0;i=h[r>>2]|0;h[r>>2]=i+-1;if((i+-1|0)<0)zv((h[e>>2]|0)+-12|0);return}function Ng(e){e=e|0;var i=0;i=v;v=v+16|0;Hc(e);if(!(gi(h[9255]|0,0)|0)){v=i;return}else jv(51780,i)}function Fg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Jy(e,i,r)|0;return e|0}function Ug(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Zy(e,i,r)|0;return e|0}function jg(){return 37296}function Hg(){return 37300}function Yg(){return 37304}function qg(e){e=e|0;return((e|0)==32|(e+-9|0)>>>0<5)&1|0}function Xg(e){e=e|0;if((e+-48|0)>>>0<10)e=1;else e=((e|32)+-97|0)>>>0<6;return e&1|0}function zg(){var e=0;if(!(h[9258]|0))e=37308;else{e=(hi()|0)+60|0;e=h[e>>2]|0}return e|0}function Vg(e){e=e|0;var i=0,r=0;i=0;while(1){if((b[51978+i>>0]|0)==(e|0)){r=2;break}i=i+1|0;if((i|0)==87){i=87;e=52066;r=5;break}}if((r|0)==2)if(!i)e=52066;else{e=52066;r=5}if((r|0)==5)while(1){r=e;while(1){e=r+1|0;if(!(c[r>>0]|0))break;else r=e}i=i+-1|0;if(!i)break;else r=5}return e|0}function Gg(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0.0,a=0,l=0,s=0.0,o=0,u=0,d=0,k=0.0,w=0.0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,C=0,D=0,x=0,I=0,B=0,N=0.0;B=v;v=v+512|0;C=B;switch(i|0){case 0:{I=24;x=-149;A=4;break}case 1:{I=53;x=-1074;A=4;break}case 2:{I=53;x=-1074;A=4;break}default:t=0.0}e:do{if((A|0)==4){S=e+4|0;T=e+100|0;do{i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0}while((qg(i)|0)!=0);i:do{switch(i|0){case 43:case 45:{n=1-(((i|0)==45&1)<<1)|0;i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0;D=n;break i}else{i=Jg(e)|0;D=n;break i}}default:D=1}}while(0);n=i;i=0;do{if((n|32|0)!=(c[53870+i>>0]|0))break;do{if(i>>>0<7){n=h[S>>2]|0;if(n>>>0<(h[T>>2]|0)>>>0){h[S>>2]=n+1;n=b[n>>0]|0;break}else{n=Jg(e)|0;break}}}while(0);i=i+1|0}while(i>>>0<8);i:do{switch(i|0){case 8:break;case 3:{A=23;break}default:{a=(r|0)!=0;if(a&i>>>0>3)if((i|0)==8)break i;else{A=23;break i}r:do{if(!i){i=0;do{if((n|32|0)!=(c[56747+i>>0]|0))break r;do{if(i>>>0<2){n=h[S>>2]|0;if(n>>>0<(h[T>>2]|0)>>>0){h[S>>2]=n+1;n=b[n>>0]|0;break}else{n=Jg(e)|0;break}}}while(0);i=i+1|0}while(i>>>0<3)}}while(0);switch(i|0){case 3:{i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|0)==40)i=1;else{if(!(h[T>>2]|0)){t=R;break e}h[S>>2]=(h[S>>2]|0)+-1;t=R;break e}while(1){n=h[S>>2]|0;if(n>>>0<(h[T>>2]|0)>>>0){h[S>>2]=n+1;n=b[n>>0]|0}else n=Jg(e)|0;if(!((n+-48|0)>>>0<10|(n+-65|0)>>>0<26)?!((n|0)==95|(n+-97|0)>>>0<26):0)break;i=i+1|0}if((n|0)==41){t=R;break e}n=(h[T>>2]|0)==0;if(!n)h[S>>2]=(h[S>>2]|0)+-1;if(!a){I=zg()|0;h[I>>2]=22;Wg(e,0);t=0.0;break e}if(!i){t=R;break e}while(1){i=i+-1|0;if(!n)h[S>>2]=(h[S>>2]|0)+-1;if(!i){t=R;break e}}}case 0:{do{if((n|0)==48){i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|32|0)!=120){if(!(h[T>>2]|0)){i=48;break}h[S>>2]=(h[S>>2]|0)+-1;i=48;break}i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0;a=0}else{i=Jg(e)|0;a=0}r:while(1){switch(i|0){case 46:{A=74;break r}case 48:break;default:{y=0;l=0;g=0;n=0;o=a;u=0;p=0;s=1.0;a=0;t=0.0;break r}}i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0;a=1;continue}else{i=Jg(e)|0;a=1;continue}}if((A|0)==74){i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|0)==48){a=0;n=0;do{i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;a=Dm(a|0,n|0,-1,-1)|0;n=H}while((i|0)==48);y=0;l=0;g=a;o=1;u=1;p=0;s=1.0;a=0;t=0.0}else{y=0;l=0;g=0;n=0;o=a;u=1;p=0;s=1.0;a=0;t=0.0}}while(1){_=i+-48|0;d=i|32;if(_>>>0>=10){m=(i|0)==46;if(!(m|(d+-97|0)>>>0<6)){d=g;_=y;break}if(m)if(!u){m=l;n=y;_=y;u=1;d=p;f=s}else{d=g;_=y;i=46;break}else A=86}else A=86;if((A|0)==86){A=0;i=(i|0)>57?d+-87|0:_;do{if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){w=s*.0625;d=p;f=w;t=t+w*+(i|0);break}if((p|0)!=0|(i|0)==0){d=p;f=s}else{d=1;f=s;t=t+s*.5}}else{d=p;f=s;a=i+(a<<4)|0}}while(0);l=Dm(l|0,y|0,1,0)|0;m=g;_=H;o=1}i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;y=_;g=m;i=b[i>>0]|0;p=d;s=f;continue}else{y=_;g=m;i=Jg(e)|0;p=d;s=f;continue}}if(!o){i=(h[T>>2]|0)==0;if(!i)h[S>>2]=(h[S>>2]|0)+-1;if(r){if(!i?(E=h[S>>2]|0,h[S>>2]=E+-1,(u|0)!=0):0)h[S>>2]=E+-2}else Wg(e,0);t=+(D|0)*0.0;break e}o=(u|0)==0;u=o?l:d;o=o?_:n;if((_|0)<0|(_|0)==0&l>>>0<8){n=_;do{a=a<<4;l=Dm(l|0,n|0,1,0)|0;n=H}while((n|0)<0|(n|0)==0&l>>>0<8)}if((i|32|0)==112){n=sE(e,r)|0;i=H;if((n|0)==0&(i|0)==-2147483648){if(!r){Wg(e,0);t=0.0;break e}if(!(h[T>>2]|0)){n=0;i=0}else{h[S>>2]=(h[S>>2]|0)+-1;n=0;i=0}}}else if(!(h[T>>2]|0)){n=0;i=0}else{h[S>>2]=(h[S>>2]|0)+-1;n=0;i=0}C=Bm(u|0,o|0,2)|0;C=Dm(C|0,H|0,-32,-1)|0;i=Dm(C|0,H|0,n|0,i|0)|0;n=H;if(!a){t=+(D|0)*0.0;break e}if((n|0)>0|(n|0)==0&i>>>0>(0-x|0)>>>0){I=zg()|0;h[I>>2]=34;t=+(D|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break e}C=x+-106|0;O=((C|0)<0)<<31>>31;if((n|0)<(O|0)|(n|0)==(O|0)&i>>>0>>0){I=zg()|0;h[I>>2]=34;t=+(D|0)*2.2250738585072014e-308*2.2250738585072014e-308;break e}if((a|0)>-1){do{O=!(t>=.5);C=O&1|a<<1;a=C^1;t=t+(O?t:t+-1.0);i=Dm(i|0,n|0,-1,-1)|0;n=H}while((C|0)>-1);l=i;s=t}else{l=i;s=t}i=Lm(32,0,x|0,((x|0)<0)<<31>>31|0)|0;i=Dm(l|0,n|0,i|0,H|0)|0;x=H;if(0>(x|0)|0==(x|0)&I>>>0>i>>>0)if((i|0)<0){i=0;A=127}else A=125;else{i=I;A=125}if((A|0)==125)if((i|0)<53)A=127;else{n=i;f=+(D|0);t=0.0}if((A|0)==127){t=+(D|0);n=i;f=t;t=+ly(+dy(1.0,84-i|0),t)}I=(a&1|0)==0&(s!=0.0&(n|0)<32);t=f*(I?0.0:s)+(t+f*+(((I&1)+a|0)>>>0))-t;if(!(t!=0.0)){I=zg()|0;h[I>>2]=34}t=+hy(t,l);break e}else i=n}while(0);P=x+I|0;O=0-P|0;a=0;r:while(1){switch(i|0){case 46:{A=138;break r}case 48:break;default:{n=0;d=0;u=0;break r}}i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0;a=1;continue}else{i=Jg(e)|0;a=1;continue}}if((A|0)==138){i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|0)==48){n=0;i=0;while(1){n=Dm(n|0,i|0,-1,-1)|0;a=H;i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|0)==48)i=a;else{d=a;a=1;u=1;break}}}else{n=0;d=0;u=1}}h[C>>2]=0;o=i+-48|0;l=(i|0)==46;r:do{if(l|o>>>0<10){M=C+496|0;y=0;m=0;p=l;A=d;_=a;E=u;a=0;l=0;u=0;t:while(1){do{if(p)if(!E){n=y;d=m;E=1}else{d=A;i=y;o=m;break t}else{p=Dm(y|0,m|0,1,0)|0;m=H;g=(i|0)!=48;if((l|0)>=125){if(!g){d=A;y=p;break}h[M>>2]=h[M>>2]|1;d=A;y=p;break}d=C+(l<<2)|0;if(a)o=i+-48+((h[d>>2]|0)*10|0)|0;h[d>>2]=o;a=a+1|0;o=(a|0)==9;d=A;y=p;_=1;a=o?0:a;l=(o&1)+l|0;u=g?p:u}}while(0);i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;o=i+-48|0;p=(i|0)==46;if(!(p|o>>>0<10)){o=E;A=161;break r}else A=d}_=(_|0)!=0;A=169}else{y=0;m=0;_=a;o=u;a=0;l=0;u=0;A=161}}while(0);do{if((A|0)==161){M=(o|0)==0;n=M?y:n;d=M?m:d;_=(_|0)!=0;if(!((i|32|0)==101&_))if((i|0)>-1){i=y;o=m;A=169;break}else{i=y;o=m;A=171;break}o=sE(e,r)|0;i=H;if((o|0)==0&(i|0)==-2147483648){if(!r){Wg(e,0);t=0.0;break}if(!(h[T>>2]|0)){o=0;i=0}else{h[S>>2]=(h[S>>2]|0)+-1;o=0;i=0}}n=Dm(o|0,i|0,n|0,d|0)|0;_=y;d=H;o=m;A=173}}while(0);if((A|0)==169)if(h[T>>2]|0){h[S>>2]=(h[S>>2]|0)+-1;if(_){_=i;A=173}else A=172}else A=171;if((A|0)==171)if(_){_=i;A=173}else A=172;do{if((A|0)==172){I=zg()|0;h[I>>2]=22;Wg(e,0);t=0.0}else if((A|0)==173){i=h[C>>2]|0;if(!i){t=+(D|0)*0.0;break}if(((o|0)<0|(o|0)==0&_>>>0<10)&((n|0)==(_|0)&(d|0)==(o|0))?I>>>0>30|(i>>>I|0)==0:0){t=+(D|0)*+(i>>>0);break}e=(x|0)/-2|0;S=((e|0)<0)<<31>>31;if((d|0)>(S|0)|(d|0)==(S|0)&n>>>0>e>>>0){I=zg()|0;h[I>>2]=34;t=+(D|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}e=x+-106|0;S=((e|0)<0)<<31>>31;if((d|0)<(S|0)|(d|0)==(S|0)&n>>>0>>0){I=zg()|0;h[I>>2]=34;t=+(D|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(a){if((a|0)<9){o=C+(l<<2)|0;i=h[o>>2]|0;do{i=i*10|0;a=a+1|0}while((a|0)!=9);h[o>>2]=i}l=l+1|0}if((u|0)<9?(u|0)<=(n|0)&(n|0)<18:0){if((n|0)==9){t=+(D|0)*+((h[C>>2]|0)>>>0);break}if((n|0)<9){t=+(D|0)*+((h[C>>2]|0)>>>0)/+(h[37312+(8-n<<2)>>2]|0);break}e=I+27+(ce(n,-3)|0)|0;i=h[C>>2]|0;if((e|0)>30|(i>>>e|0)==0){t=+(D|0)*+(i>>>0)*+(h[37312+(n+-10<<2)>>2]|0);break}}i=(n|0)%9|0;if(!i){a=0;i=0}else{_=(n|0)>-1?i:i+9|0;o=h[37312+(8-_<<2)>>2]|0;if(l){u=1e9/(o|0)|0;a=0;i=0;d=0;do{T=C+(d<<2)|0;S=h[T>>2]|0;e=((S>>>0)/(o>>>0)|0)+i|0;h[T>>2]=e;i=ce((S>>>0)%(o>>>0)|0,u)|0;e=(d|0)==(a|0)&(e|0)==0;d=d+1|0;n=e?n+-9|0:n;a=e?d&127:a}while((d|0)!=(l|0));if(i){h[C+(l<<2)>>2]=i;l=l+1|0}}else{a=0;l=0}i=0;n=9-_+n|0}r:while(1){m=(n|0)<18;p=(n|0)==18;g=C+(a<<2)|0;do{if(!m){if(!p)break r;if((h[g>>2]|0)>>>0>=9007199){n=18;break r}}o=0;u=l+127|0;while(1){_=u&127;d=C+(_<<2)|0;u=Bm(h[d>>2]|0,0,29)|0;u=Dm(u|0,H|0,o|0,0)|0;o=H;if(o>>>0>0|(o|0)==0&u>>>0>1e9){e=Xm(u|0,o|0,1e9,0)|0;u=zm(u|0,o|0,1e9,0)|0;o=e}else o=0;h[d>>2]=u;e=(_|0)==(a|0);l=(_|0)!=(l+127&127|0)|e?l:(u|0)==0?_:l;if(e)break;else u=_+-1|0}i=i+-29|0}while((o|0)==0);a=a+127&127;if((a|0)==(l|0)){e=l+127&127;l=C+((l+126&127)<<2)|0;h[l>>2]=h[l>>2]|h[C+(e<<2)>>2];l=e}h[C+(a<<2)>>2]=o;n=n+9|0}r:while(1){y=l+1&127;g=C+((l+127&127)<<2)|0;while(1){m=(n|0)==18;p=(n|0)>27?9:1;_=m^1;while(1){u=a&127;d=(u|0)==(l|0);do{if(!d){o=h[C+(u<<2)>>2]|0;if(o>>>0<9007199){A=219;break}if(o>>>0>9007199)break;o=a+1&127;if((o|0)==(l|0)){A=219;break}o=h[C+(o<<2)>>2]|0;if(o>>>0<254740991){A=219;break}if(!(o>>>0>254740991|_)){n=u;break r}}else A=219}while(0);if((A|0)==219?(A=0,m):0){A=220;break r}i=i+p|0;if((a|0)==(l|0))a=l;else break}_=(1<>>p;u=a;o=0;d=a;while(1){S=C+(d<<2)|0;e=h[S>>2]|0;a=(e>>>p)+o|0;h[S>>2]=a;o=ce(e&_,m)|0;a=(d|0)==(u|0)&(a|0)==0;d=d+1&127;n=a?n+-9|0:n;a=a?d:u;if((d|0)==(l|0))break;else u=a}if(!o)continue;if((y|0)!=(a|0))break;h[g>>2]=h[g>>2]|1}h[C+(l<<2)>>2]=o;l=y}if((A|0)==220)if(d){h[C+(y+-1<<2)>>2]=0;n=l;l=y}else n=u;t=+((h[C+(n<<2)>>2]|0)>>>0);n=a+1&127;if((n|0)==(l|0)){l=a+2&127;h[C+(l+-1<<2)>>2]=0}w=+(D|0);f=w*(t*1.0e9+ +((h[C+(n<<2)>>2]|0)>>>0));m=i+53|0;d=m-x|0;_=(d|0)<(I|0);n=_&1;u=_?(d|0)<0?0:d:I;if((u|0)<53){N=+ly(+dy(1.0,105-u|0),f);s=+oy(f,+dy(1.0,53-u|0));k=N;t=s;s=N+(f-s)}else{k=0.0;t=0.0;s=f}o=a+2&127;do{if((o|0)==(l|0))f=t;else{o=h[C+(o<<2)>>2]|0;do{if(o>>>0>=5e8){if(o>>>0>5e8){t=w*.75+t;break}if((a+3&127|0)==(l|0)){t=w*.5+t;break}else{t=w*.75+t;break}}else{if((o|0)==0?(a+3&127|0)==(l|0):0)break;t=w*.25+t}}while(0);if((53-u|0)<=1){f=t;break}if(+oy(t,1.0)!=0.0){f=t;break}f=t+1.0}}while(0);t=s+f-k;do{if((m&2147483647|0)>(-2-P|0)){if(+Q(+t)>=9007199254740992.0){n=_&(u|0)==(d|0)?0:n;i=i+1|0;t=t*.5}if((i+50|0)<=(O|0)?!(f!=0.0&(n|0)!=0):0)break;I=zg()|0;h[I>>2]=34}}while(0);t=+hy(t,i)}}while(0);break e}default:{if(h[T>>2]|0)h[S>>2]=(h[S>>2]|0)+-1;I=zg()|0;h[I>>2]=22;Wg(e,0);t=0.0;break e}}}}}while(0);if((A|0)==23){n=(h[T>>2]|0)==0;if(!n)h[S>>2]=(h[S>>2]|0)+-1;if((r|0)!=0&i>>>0>3)do{if(!n)h[S>>2]=(h[S>>2]|0)+-1;i=i+-1|0}while(i>>>0>3)}t=+(D|0)*L}}while(0);v=B;return+t}function Kg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0;e:do{if(i>>>0>36){n=zg()|0;h[n>>2]=22;n=0;t=0}else{_=e+4|0;w=e+100|0;do{f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0}while((qg(f)|0)!=0);i:do{switch(f|0){case 43:case 45:{a=((f|0)==45)<<31>>31;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0;k=a;break i}else{f=Jg(e)|0;k=a;break i}}default:k=0}}while(0);a=(i|0)==0;do{if((i&-17|0)==0&(f|0)==48){f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;if((f|32|0)!=120)if(a){i=8;u=46;break}else{u=32;break}i=h[_>>2]|0;if(i>>>0<(h[w>>2]|0)>>>0){h[_>>2]=i+1;f=b[i>>0]|0}else f=Jg(e)|0;if((b[53879+(f+1)>>0]|0)>15){t=(h[w>>2]|0)==0;if(!t)h[_>>2]=(h[_>>2]|0)+-1;if(!r){Wg(e,0);n=0;t=0;break e}if(t){n=0;t=0;break e}h[_>>2]=(h[_>>2]|0)+-1;n=0;t=0;break e}else{i=16;u=46}}else{i=a?10:i;if((b[53879+(f+1)>>0]|0)>>>0>>0)u=32;else{if(h[w>>2]|0)h[_>>2]=(h[_>>2]|0)+-1;Wg(e,0);n=zg()|0;h[n>>2]=22;n=0;t=0;break e}}}while(0);if((u|0)==32)if((i|0)==10){i=f+-48|0;if(i>>>0<10){f=0;while(1){a=(f*10|0)+i|0;i=h[_>>2]|0;if(i>>>0<(h[w>>2]|0)>>>0){h[_>>2]=i+1;f=b[i>>0]|0}else f=Jg(e)|0;i=f+-48|0;if(!(i>>>0<10&a>>>0<429496729)){i=a;break}else f=a}a=0}else{i=0;a=0}r=f+-48|0;if(r>>>0<10){while(1){l=qm(i|0,a|0,10,0)|0;s=H;o=((r|0)<0)<<31>>31;d=~o;if(s>>>0>d>>>0|(s|0)==(d|0)&l>>>0>~r>>>0){l=i;break}i=Dm(l|0,s|0,r|0,o|0)|0;a=H;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;r=f+-48|0;if(!(r>>>0<10&(a>>>0<429496729|(a|0)==429496729&i>>>0<2576980378))){l=i;break}}if(r>>>0>9){f=l;i=k}else{i=10;u=72}}else{f=i;i=k}}else u=46;i:do{if((u|0)==46){if(!(i+-1&i)){u=c[54136+((i*23|0)>>>5&7)>>0]|0;a=c[53879+(f+1)>>0]|0;r=a&255;if(r>>>0>>0){f=0;while(1){l=r|f<>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;a=c[53879+(f+1)>>0]|0;r=a&255;if(!(l>>>0<134217728&r>>>0>>0))break;else f=l}r=0}else{r=0;l=0}s=xm(-1,-1,u|0)|0;o=H;if((a&255)>>>0>=i>>>0|(r>>>0>o>>>0|(r|0)==(o|0)&l>>>0>s>>>0)){a=r;u=72;break}else f=r;while(1){l=Bm(l|0,f|0,u|0)|0;r=H;l=a&255|l;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;a=c[53879+(f+1)>>0]|0;if((a&255)>>>0>=i>>>0|(r>>>0>o>>>0|(r|0)==(o|0)&l>>>0>s>>>0)){a=r;u=72;break i}else f=r}}a=c[53879+(f+1)>>0]|0;r=a&255;if(r>>>0>>0){f=0;while(1){l=r+(ce(f,i)|0)|0;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;a=c[53879+(f+1)>>0]|0;r=a&255;if(!(l>>>0<119304647&r>>>0>>0))break;else f=l}r=0}else{l=0;r=0}if((a&255)>>>0>>0){u=Xm(-1,-1,i|0,0)|0;d=H;o=r;while(1){if(o>>>0>d>>>0|(o|0)==(d|0)&l>>>0>u>>>0){a=o;u=72;break i}r=qm(l|0,o|0,i|0,0)|0;s=H;a=a&255;if(s>>>0>4294967295|(s|0)==-1&r>>>0>~a>>>0){a=o;u=72;break i}l=Dm(a|0,0,r|0,s|0)|0;r=H;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;a=c[53879+(f+1)>>0]|0;if((a&255)>>>0>=i>>>0){a=r;u=72;break}else o=r}}else{a=r;u=72}}}while(0);if((u|0)==72)if((b[53879+(f+1)>>0]|0)>>>0>>0){do{f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0}while((b[53879+(f+1)>>0]|0)>>>0>>0);a=zg()|0;h[a>>2]=34;a=n;f=t;i=(t&1|0)==0&0==0?k:0}else{f=l;i=k}if(h[w>>2]|0)h[_>>2]=(h[_>>2]|0)+-1;if(!(a>>>0>>0|(a|0)==(n|0)&f>>>0>>0)){if(!((t&1|0)!=0|0!=0|(i|0)!=0)){_=zg()|0;h[_>>2]=34;t=Dm(t|0,n|0,-1,-1)|0;n=H;break}if(a>>>0>n>>>0|(a|0)==(n|0)&f>>>0>t>>>0){_=zg()|0;h[_>>2]=34;break}}t=((i|0)<0)<<31>>31;t=Lm(f^i|0,a^t|0,i|0,t|0)|0;n=H}}while(0);H=n;return t|0}function Wg(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;h[e+104>>2]=i;r=h[e+4>>2]|0;t=h[e+8>>2]|0;n=t-r|0;h[e+108>>2]=n;if((i|0)!=0&(n|0)>(i|0))h[e+100>>2]=r+i;else h[e+100>>2]=t;return}function Jg(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;r=e+104|0;f=h[r>>2]|0;if((f|0)!=0?(h[e+108>>2]|0)>=(f|0):0)a=4;else{i=Iy(e)|0;if((i|0)>=0){n=h[r>>2]|0;r=e+8|0;if(n){t=h[r>>2]|0;f=h[e+4>>2]|0;r=t;n=n-(h[e+108>>2]|0)+-1|0;if((r-f|0)>(n|0))h[e+100>>2]=f+n;else a=9}else{t=h[r>>2]|0;r=t;a=9}if((a|0)==9)h[e+100>>2]=r;r=h[e+4>>2]|0;if(t){e=e+108|0;h[e>>2]=t+1-r+(h[e>>2]|0)}r=r+-1|0;if((b[r>>0]|0|0)!=(i|0))c[r>>0]=i}else a=4}if((a|0)==4){h[e+100>>2]=0;i=-1}return i|0}function Zg(e){e=e|0;var i=0;if(e>>>0>4294963200){i=zg()|0;h[i>>2]=0-e;e=-1}return e|0}function Qg(e){e=e|0;return 0}function $g(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return t|0}function ey(e,i){e=e|0;i=i|0;return-1|0}function iy(e){e=e|0;Hc(e);return}function ry(e,i){e=e|0;i=i|0;return(e+-48|0)>>>0<10|0}function ty(e,i){e=e|0;i=i|0;return Xg(e)|0}function ny(e,i,r){e=e|0;i=i|0;r=r|0;if(((c[i>>0]|0)!=0?(eE(i,58885)|0)!=0:0)?(eE(i,54145)|0)!=0:0)r=0;else if(!r)r=Yc(1,4)|0;return r|0}function fy(e){e=e|0;var i=0,r=0;i=(hi()|0)+176|0;r=h[i>>2]|0;if(e)h[i>>2]=e;return r|0}function ay(e,i){e=+e;i=+i;var r=0,t=0;m[y>>3]=e;t=h[y>>2]|0;r=h[y+4>>2]|0;m[y>>3]=i;r=h[y+4>>2]&-2147483648|r&2147483647;h[y>>2]=t;h[y+4>>2]=r;return+ +m[y>>3]}function ly(e,i){e=+e;i=+i;return+ +ay(e,i)}function sy(e,i){e=+e;i=+i;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;m[y>>3]=e;r=h[y>>2]|0;o=h[y+4>>2]|0;m[y>>3]=i;u=h[y>>2]|0;c=h[y+4>>2]|0;t=xm(r|0,o|0,52)|0;t=t&2047;l=xm(u|0,c|0,52)|0;l=l&2047;d=o&-2147483648;a=Bm(u|0,c|0,1)|0;s=H;e:do{if(!((a|0)==0&(s|0)==0)?(f=c&2147483647,!(f>>>0>2146435072|(f|0)==2146435072&u>>>0>0|(t|0)==2047)):0){n=Bm(r|0,o|0,1)|0;f=H;if(!(f>>>0>s>>>0|(f|0)==(s|0)&n>>>0>a>>>0))return+((n|0)==(a|0)&(f|0)==(s|0)?e*0.0:e);if(!t){t=Bm(r|0,o|0,12)|0;n=H;if((n|0)>-1|(n|0)==-1&t>>>0>4294967295){f=t;t=0;do{t=t+-1|0;f=Bm(f|0,n|0,1)|0;n=H}while((n|0)>-1|(n|0)==-1&f>>>0>4294967295)}else t=0;r=Bm(r|0,o|0,1-t|0)|0;n=H}else n=o&1048575|1048576;if(!l){f=Bm(u|0,c|0,12)|0;a=H;if((a|0)>-1|(a|0)==-1&f>>>0>4294967295){l=0;do{l=l+-1|0;f=Bm(f|0,a|0,1)|0;a=H}while((a|0)>-1|(a|0)==-1&f>>>0>4294967295)}else l=0;u=Bm(u|0,c|0,1-l|0)|0;o=H}else o=c&1048575|1048576;s=Lm(r|0,n|0,u|0,o|0)|0;a=H;f=(a|0)>-1|(a|0)==-1&s>>>0>4294967295;i:do{if((t|0)>(l|0)){while(1){if(f)if((r|0)==(u|0)&(n|0)==(o|0))break;else{r=s;n=a}r=Bm(r|0,n|0,1)|0;n=H;t=t+-1|0;s=Lm(r|0,n|0,u|0,o|0)|0;a=H;f=(a|0)>-1|(a|0)==-1&s>>>0>4294967295;if((t|0)<=(l|0))break i}i=e*0.0;break e}}while(0);if(f)if((r|0)==(u|0)&(n|0)==(o|0)){i=e*0.0;break}else{n=a;r=s}if(n>>>0<1048576|(n|0)==1048576&r>>>0<0)do{r=Bm(r|0,n|0,1)|0;n=H;t=t+-1|0}while(n>>>0<1048576|(n|0)==1048576&r>>>0<0);if((t|0)>0){c=Dm(r|0,n|0,0,-1048576)|0;r=H;t=Bm(t|0,0,52)|0;r=r|H;t=c|t}else{t=xm(r|0,n|0,1-t|0)|0;r=H}h[y>>2]=t;h[y+4>>2]=r|d;i=+m[y>>3]}else b=3}while(0);if((b|0)==3){i=e*i;i=i/i}return+i}function oy(e,i){e=+e;i=+i;return+ +sy(e,i)}function uy(e,i){e=+e;i=i|0;var r=0,t=0,n=0;m[y>>3]=e;r=h[y>>2]|0;t=h[y+4>>2]|0;n=xm(r|0,t|0,52)|0;n=n&2047;switch(n|0){case 0:{if(e!=0.0){e=+uy(e*18446744073709551616.0,i);r=(h[i>>2]|0)+-64|0}else r=0;h[i>>2]=r;break}case 2047:break;default:{h[i>>2]=n+-1022;h[y>>2]=r;h[y+4>>2]=t&-2146435073|1071644672;e=+m[y>>3]}}return+e}function cy(e,i){e=+e;i=i|0;return+ +uy(e,i)}function dy(e,i){e=+e;i=i|0;var r=0;if((i|0)>1023){e=e*8988465674311579538646525.0e283;r=i+-1023|0;if((r|0)>1023){r=i+-2046|0;r=(r|0)>1023?1023:r;e=e*8988465674311579538646525.0e283}}else if((i|0)<-1022){e=e*2.2250738585072014e-308;r=i+1022|0;if((r|0)<-1022){r=i+2044|0;r=(r|0)<-1022?-1022:r;e=e*2.2250738585072014e-308}}else r=i;r=Bm(r+1023|0,0,52)|0;i=H;h[y>>2]=r;h[y+4>>2]=i;return+(e*+m[y>>3])}function hy(e,i){e=+e;i=i|0;return+ +dy(e,i)}function by(e,i,r){e=e|0;i=i|0;r=r|0;return ky(0,e,i,(r|0)!=0?r:37344)|0}function ky(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+16|0;n=s;a=(t|0)==0?37348:t;t=h[a>>2]|0;e:do{if(!i)if(!t)t=0;else l=15;else{f=(e|0)==0?n:e;if(!r)t=-2;else{if(!t){t=c[i>>0]|0;n=t&255;if(t<<24>>24>-1){h[f>>2]=n;t=t<<24>>24!=0&1;break}t=n+-194|0;if(t>>>0>50){l=15;break}t=h[37076+(t<<2)>>2]|0;n=r+-1|0;if(n){i=i+1|0;l=9}}else{n=r;l=9}i:do{if((l|0)==9){e=c[i>>0]|0;o=(e&255)>>>3;if((o+-16|o+(t>>26))>>>0>7){l=15;break e}while(1){i=i+1|0;t=(e&255)+-128|t<<6;n=n+-1|0;if((t|0)>=0)break;if(!n)break i;e=c[i>>0]|0;if((e&-64)<<24>>24!=-128){l=15;break e}}h[a>>2]=0;h[f>>2]=t;t=r-n|0;break e}}while(0);h[a>>2]=t;t=-2}}}while(0);if((l|0)==15){h[a>>2]=0;t=zg()|0;h[t>>2]=84;t=-1}v=s;return t|0}function wy(e){e=e|0;if(!e)e=1;else e=(h[e>>2]|0)==0;return e&1|0}function _y(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;d=v;v=v+1040|0;o=d+8|0;c=d;s=h[i>>2]|0;h[c>>2]=s;u=(e|0)!=0;t=u?t:256;e=u?e:o;f=s;e:do{if((t|0)!=0&(s|0)!=0){l=t;s=f;t=0;while(1){f=r>>>2;a=f>>>0>=l>>>0;if(!(r>>>0>131|a)){f=s;break e}f=a?l:f;r=r-f|0;f=my(e,c,f,n)|0;if((f|0)==-1){t=r;break}b=(e|0)==(o|0);s=b?0:f;a=l-s|0;e=b?e:e+(f<<2)|0;t=f+t|0;f=h[c>>2]|0;if((l|0)!=(s|0)&(f|0)!=0){l=a;s=f}else{l=a;break e}}r=t;l=0;f=h[c>>2]|0;t=-1}else{l=t;t=0}}while(0);e:do{if((f|0)!=0?(l|0)!=0&(r|0)!=0:0){a=f;f=e;while(1){e=ky(f,a,r,n)|0;if((e+2|0)>>>0<3)break;a=(h[c>>2]|0)+e|0;h[c>>2]=a;l=l+-1|0;t=t+1|0;if(!((l|0)!=0&(r|0)!=(e|0)))break e;else{r=r-e|0;f=f+4|0}}switch(e|0){case-1:{t=-1;break e}case 0:{h[c>>2]=0;break e}default:{h[n>>2]=0;break e}}}}while(0);if(u)h[i>>2]=h[c>>2];v=d;return t|0}function my(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;n=h[i>>2]|0;if((t|0)!=0?(f=h[t>>2]|0,(f|0)!=0):0)if(!e){t=r;a=n;o=16}else{h[t>>2]=0;s=e;t=r;l=f;o=37}else if(!e){t=r;o=7}else{f=e;t=r;o=6}e:while(1)if((o|0)==6){if(!t){o=26;break}else e=f;while(1){f=c[n>>0]|0;do{if(((f&255)+-1|0)>>>0<127?t>>>0>4&(n&3|0)==0:0){a=n;while(1){n=h[a>>2]|0;if((n+-16843009|n)&-2139062144){f=n;n=a;o=32;break}h[e>>2]=n&255;h[e+4>>2]=b[a+1>>0];h[e+8>>2]=b[a+2>>0];n=a+4|0;f=e+16|0;h[e+12>>2]=b[a+3>>0];t=t+-4|0;if(t>>>0>4){e=f;a=n}else{o=31;break}}if((o|0)==31){e=f;f=c[n>>0]|0;break}else if((o|0)==32){f=f&255;break}}}while(0);f=f&255;if((f+-1|0)>>>0>=127)break;n=n+1|0;h[e>>2]=f;t=t+-1|0;if(!t){o=26;break e}else e=e+4|0}f=f+-194|0;if(f>>>0>50){o=48;break}s=e;l=h[37076+(f<<2)>>2]|0;n=n+1|0;o=37;continue}else if((o|0)==7){f=c[n>>0]|0;if(((f&255)+-1|0)>>>0<127?(n&3|0)==0:0){f=h[n>>2]|0;if(!((f+-16843009|f)&-2139062144))do{n=n+4|0;t=t+-4|0;f=h[n>>2]|0}while(((f+-16843009|f)&-2139062144|0)==0);f=f&255}f=f&255;if((f+-1|0)>>>0<127){t=t+-1|0;n=n+1|0;o=7;continue}f=f+-194|0;if(f>>>0>50){o=48;break}f=h[37076+(f<<2)>>2]|0;a=n+1|0;o=16;continue}else if((o|0)==16){o=(b[a>>0]|0)>>>3;if((o+-16|o+(f>>26))>>>0>7){o=17;break}n=a+1|0;if(f&33554432){if((c[n>>0]&-64)<<24>>24!=-128){o=20;break}n=a+2|0;if(f&524288){if((c[n>>0]&-64)<<24>>24!=-128){o=23;break}n=a+3|0}}t=t+-1|0;o=7;continue}else if((o|0)==37){f=b[n>>0]|0;o=f>>>3;if((o+-16|o+(l>>26))>>>0>7){o=38;break}a=n+1|0;e=f+-128|l<<6;if((e|0)<0){f=b[a>>0]|0;if((f&192|0)!=128){o=41;break}a=n+2|0;e=f+-128|e<<6;if((e|0)<0){f=b[a>>0]|0;if((f&192|0)!=128){o=44;break}e=f+-128|e<<6;n=n+3|0}else n=a}else n=a;h[s>>2]=e;f=s+4|0;t=t+-1|0;o=6;continue}if((o|0)==17){n=a+-1|0;o=47}else if((o|0)==20){n=a+-1|0;o=47}else if((o|0)==23){n=a+-1|0;o=47}else if((o|0)==26)h[i>>2]=n;else if((o|0)==38){e=s;f=l;n=n+-1|0;o=47}else if((o|0)==41){t=s;r=n+-1|0;o=52}else if((o|0)==44){t=s;r=n+-1|0;o=52}if((o|0)==47)if(!f)o=48;else{t=e;r=n;o=52}if((o|0)==48)if(!(c[n>>0]|0)){if(e){h[e>>2]=0;h[i>>2]=0}r=r-t|0}else{t=e;r=n;o=52}if((o|0)==52){o=zg()|0;h[o>>2]=84;if(!t)r=-1;else{h[i>>2]=r;r=-1}}return r|0}function py(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;a=v;v=v+16|0;t=a;e:do{if(!i)t=0;else{do{if(r){f=(e|0)==0?t:e;t=c[i>>0]|0;e=t&255;if(t<<24>>24>-1){h[f>>2]=e;t=t<<24>>24!=0&1;break e}t=e+-194|0;if(t>>>0<=50){e=i+1|0;n=h[37076+(t<<2)>>2]|0;if(r>>>0<4?(n&-2147483648>>>((r*6|0)+-6|0)|0)!=0:0)break;t=b[e>>0]|0;r=t>>>3;if((r+-16|r+(n>>26))>>>0<=7){t=t+-128|n<<6;if((t|0)>=0){h[f>>2]=t;t=2;break e}e=b[i+2>>0]|0;if((e&192|0)==128){e=e+-128|t<<6;if((e|0)>=0){h[f>>2]=e;t=3;break e}t=b[i+3>>0]|0;if((t&192|0)==128){h[f>>2]=t+-128|e<<6;t=4;break e}}}}}}while(0);t=zg()|0;h[t>>2]=84;t=-1}}while(0);v=a;return t|0}function vy(e,i,r){e=e|0;i=i|0;r=r|0;do{if(e){if(i>>>0<128){c[e>>0]=i;e=1;break}if(i>>>0<2048){c[e>>0]=i>>>6|192;c[e+1>>0]=i&63|128;e=2;break}if(i>>>0<55296|(i&-8192|0)==57344){c[e>>0]=i>>>12|224;c[e+1>>0]=i>>>6&63|128;c[e+2>>0]=i&63|128;e=3;break}if((i+-65536|0)>>>0<1048576){c[e>>0]=i>>>18|240;c[e+1>>0]=i>>>12&63|128;c[e+2>>0]=i>>>6&63|128;c[e+3>>0]=i&63|128;e=4;break}else{e=zg()|0;h[e>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function gy(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;u=v;v=v+272|0;l=u+8|0;o=u;a=h[i>>2]|0;h[o>>2]=a;s=(e|0)!=0;n=s?t:256;t=s?e:l;e=a;e:do{if((n|0)!=0&(a|0)!=0){a=n;f=e;n=0;while(1){e=r>>>0>=a>>>0;if(!(e|r>>>0>32)){e=f;break e}e=e?a:r;r=r-e|0;e=yy(t,o,e,0)|0;if((e|0)==-1){n=r;break}d=(t|0)==(l|0);c=d?0:e;f=a-c|0;t=d?t:t+e|0;n=e+n|0;e=h[o>>2]|0;if((a|0)!=(c|0)&(e|0)!=0){a=f;f=e}else{a=f;break e}}r=n;a=0;e=h[o>>2]|0;n=-1}else{a=n;n=0}}while(0);e:do{if((e|0)!=0?(a|0)!=0&(r|0)!=0:0){f=e;e=t;while(1){t=vy(e,h[f>>2]|0,0)|0;if((t+1|0)>>>0<2)break;f=(h[o>>2]|0)+4|0;h[o>>2]=f;r=r+-1|0;n=n+1|0;if(!((a|0)!=(t|0)&(r|0)!=0))break e;else{a=a-t|0;e=e+t|0}}if(!t)h[o>>2]=0;else n=-1}}while(0);if(s)h[i>>2]=h[o>>2];v=u;return n|0}function yy(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;e:do{if(!e){e=h[i>>2]|0;t=h[e>>2]|0;if(!t)r=0;else{r=0;do{if(t>>>0>127){t=vy(a,t,0)|0;if((t|0)==-1){r=-1;break e}}else t=1;r=t+r|0;e=e+4|0;t=h[e>>2]|0}while((t|0)!=0)}}else{i:do{if(r>>>0>3){t=r;n=h[i>>2]|0;while(1){f=h[n>>2]|0;if((f+-1|0)>>>0>126){if(!f)break;f=vy(e,f,0)|0;if((f|0)==-1){r=-1;break e}e=e+f|0;t=t-f|0}else{c[e>>0]=f;e=e+1|0;t=t+-1|0;n=h[i>>2]|0}n=n+4|0;h[i>>2]=n;if(t>>>0<=3)break i}c[e>>0]=0;h[i>>2]=0;r=r-t|0;break e}else t=r}while(0);if(t){n=h[i>>2]|0;while(1){f=h[n>>2]|0;if((f+-1|0)>>>0>126){if(!f){n=19;break}f=vy(a,f,0)|0;if((f|0)==-1){r=-1;break e}if(t>>>0>>0){n=22;break}vy(e,h[n>>2]|0,0)|0;e=e+f|0;t=t-f|0}else{c[e>>0]=f;e=e+1|0;t=t+-1|0;n=h[i>>2]|0}n=n+4|0;h[i>>2]=n;if(!t)break e}if((n|0)==19){c[e>>0]=0;h[i>>2]=0;r=r-t|0;break}else if((n|0)==22){r=r-t|0;break}}}}while(0);v=l;return r|0}function Ey(e,i){e=e|0;i=i|0;if(!e)e=0;else e=vy(e,i,0)|0;return e|0}function Ay(e){e=e|0;return 0}function My(e){e=e|0;return}function Ty(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;a=i&255;c[l>>0]=a;t=e+16|0;n=h[t>>2]|0;if(!n)if(!(xy(e)|0)){n=h[t>>2]|0;f=4}else r=-1;else f=4;do{if((f|0)==4){t=e+20|0;f=h[t>>2]|0;if(f>>>0>>0?(r=i&255,(r|0)!=(c[e+75>>0]|0)):0){h[t>>2]=f+1;c[f>>0]=a;break}if((vE[h[e+36>>2]&63](e,l,1)|0)==1)r=b[l>>0]|0;else r=-1}}while(0);v=s;return r|0}function Sy(e){e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;h[r>>2]=h[e+60>>2];e=Zg(Mi(6,r|0)|0)|0;v=i;return e|0}function Py(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+48|0;f=o+16|0;n=o;t=o+32|0;h[t>>2]=i;a=t+4|0;s=e+48|0;u=h[s>>2]|0;h[a>>2]=r-((u|0)!=0&1);l=e+44|0;h[t+8>>2]=h[l>>2];h[t+12>>2]=u;if(!(h[9258]|0)){h[f>>2]=h[e+60>>2];h[f+4>>2]=t;h[f+8>>2]=2;t=Zg(Di(145,f|0)|0)|0}else{Ti(185,e|0);h[n>>2]=h[e+60>>2];h[n+4>>2]=t;h[n+8>>2]=2;t=Zg(Di(145,n|0)|0)|0;mi(0)}if((t|0)>=1){a=h[a>>2]|0;if(t>>>0>a>>>0){f=h[l>>2]|0;n=e+4|0;h[n>>2]=f;h[e+8>>2]=f+(t-a);if(!(h[s>>2]|0))t=r;else{h[n>>2]=f+1;c[i+(r+-1)>>0]=c[f>>0]|0;t=r}}}else{h[e>>2]=h[e>>2]|t&48^16;h[e+8>>2]=0;h[e+4>>2]=0}v=o;return t|0}function Oy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+32|0;f=n;t=n+20|0;h[f>>2]=h[e+60>>2];h[f+4>>2]=0;h[f+8>>2]=i;h[f+12>>2]=t;h[f+16>>2]=r;if((Zg(Ci(140,f|0)|0)|0)<0){h[t>>2]=-1;e=-1}else e=h[t>>2]|0;v=n;return e|0}function Ry(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;k=v;v=v+48|0;c=k+16|0;u=k;t=k+32|0;d=e+28|0;n=h[d>>2]|0;h[t>>2]=n;b=e+20|0;n=(h[b>>2]|0)-n|0;h[t+4>>2]=n;h[t+8>>2]=i;h[t+12>>2]=r;s=e+60|0;o=e+44|0;i=2;n=n+r|0;while(1){if(!(h[9258]|0)){h[c>>2]=h[s>>2];h[c+4>>2]=t;h[c+8>>2]=i;a=Zg(xi(146,c|0)|0)|0}else{Ti(186,e|0);h[u>>2]=h[s>>2];h[u+4>>2]=t;h[u+8>>2]=i;a=Zg(xi(146,u|0)|0)|0;mi(0)}if((n|0)==(a|0)){n=6;break}if((a|0)<0){n=8;break}n=n-a|0;f=h[t+4>>2]|0;if(a>>>0<=f>>>0)if((i|0)==2){h[d>>2]=(h[d>>2]|0)+a;l=f;i=2}else l=f;else{l=h[o>>2]|0;h[d>>2]=l;h[b>>2]=l;l=h[t+12>>2]|0;a=a-f|0;t=t+8|0;i=i+-1|0}h[t>>2]=(h[t>>2]|0)+a;h[t+4>>2]=l-a}if((n|0)==6){c=h[o>>2]|0;h[e+16>>2]=c+(h[e+48>>2]|0);e=c;h[d>>2]=e;h[b>>2]=e}else if((n|0)==8){h[e+16>>2]=0;h[d>>2]=0;h[b>>2]=0;h[e>>2]=h[e>>2]|32;if((i|0)==2)r=0;else r=r-(h[t+4>>2]|0)|0}v=k;return r|0}function Ly(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+80|0;t=n;h[e+36>>2]=8;if((h[e>>2]&64|0)==0?(h[t>>2]=h[e+60>>2],h[t+4>>2]=21505,h[t+8>>2]=n+12,(wi(54,t|0)|0)!=0):0)c[e+75>>0]=-1;t=Ry(e,i,r)|0;v=n;return t|0}function Cy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=e+84|0;f=h[t>>2]|0;a=r+256|0;n=Qy(f,0,a)|0;n=(n|0)==0?a:n-f|0;r=n>>>0>>0?n:r;Im(i|0,f|0,r|0)|0;h[e+4>>2]=f+r;i=f+n|0;h[e+8>>2]=i;h[t>>2]=i;return r|0}function Dy(e){e=e|0;var i=0,r=0;i=e+74|0;r=c[i>>0]|0;c[i>>0]=r+255|r;i=e+20|0;r=e+44|0;if((h[i>>2]|0)>>>0>(h[r>>2]|0)>>>0)vE[h[e+36>>2]&63](e,0,0)|0;h[e+16>>2]=0;h[e+28>>2]=0;h[i>>2]=0;i=h[e>>2]|0;if(i&20)if(!(i&4))i=-1;else{h[e>>2]=i|32;i=-1}else{i=h[r>>2]|0;h[e+8>>2]=i;h[e+4>>2]=i;i=0}return i|0}function xy(e){e=e|0;var i=0,r=0;i=e+74|0;r=c[i>>0]|0;c[i>>0]=r+255|r;i=h[e>>2]|0;if(!(i&8)){h[e+8>>2]=0;h[e+4>>2]=0;i=h[e+44>>2]|0;h[e+28>>2]=i;h[e+20>>2]=i;h[e+16>>2]=i+(h[e+48>>2]|0);i=0}else{h[e>>2]=i|32;i=-1}return i|0}function Iy(e){e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;if((h[e+8>>2]|0)==0?(Dy(e)|0)!=0:0)i=-1;else if((vE[h[e+32>>2]&63](e,i,1)|0)==1)i=b[i>>0]|0;else i=-1;v=r;return i|0}function By(e){e=e|0;var i=0,r=0;do{if(e){if((h[e+76>>2]|0)<=-1){i=cE(e)|0;break}r=(Ay(e)|0)==0;i=cE(e)|0;if(!r)My(e)}else{if(!(h[9323]|0))i=0;else i=By(h[9323]|0)|0;Ye(37060);e=h[9264]|0;if(e)do{if((h[e+76>>2]|0)>-1)r=Ay(e)|0;else r=0;if((h[e+20>>2]|0)>>>0>(h[e+28>>2]|0)>>>0)i=cE(e)|0|i;if(r)My(e);e=h[e+56>>2]|0}while((e|0)!=0);_i(37060)}}while(0);return i|0}function Ny(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;if((h[i+76>>2]|0)>=0?(Ay(i)|0)!=0:0){if((c[i+75>>0]|0)!=(e|0)?(t=i+20|0,n=h[t>>2]|0,n>>>0<(h[i+16>>2]|0)>>>0):0){h[t>>2]=n+1;c[n>>0]=e;r=e&255}else r=Ty(i,e)|0;My(i)}else a=3;do{if((a|0)==3){if((c[i+75>>0]|0)!=(e|0)?(f=i+20|0,r=h[f>>2]|0,r>>>0<(h[i+16>>2]|0)>>>0):0){h[f>>2]=r+1;c[r>>0]=e;r=e&255;break}r=Ty(i,e)|0}}while(0);return r|0}function Fy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=r+16|0;n=h[t>>2]|0;if(!n)if(!(xy(r)|0)){n=h[t>>2]|0;f=4}else t=0;else f=4;e:do{if((f|0)==4){a=r+20|0;f=h[a>>2]|0;if((n-f|0)>>>0>>0){t=vE[h[r+36>>2]&63](r,e,i)|0;break}i:do{if((c[r+75>>0]|0)>-1){t=i;while(1){if(!t){n=f;t=0;break i}n=t+-1|0;if((c[e+n>>0]|0)==10)break;else t=n}if((vE[h[r+36>>2]&63](r,e,t)|0)>>>0>>0)break e;i=i-t|0;e=e+t|0;n=h[a>>2]|0}else{n=f;t=0}}while(0);Im(n|0,e|0,i|0)|0;h[a>>2]=(h[a>>2]|0)+i;t=t+i|0}}while(0);return t|0}function Uy(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=ce(r,i)|0;if((h[t+76>>2]|0)>-1){f=(Ay(t)|0)==0;e=Fy(e,n,t)|0;if(!f)My(t)}else e=Fy(e,n,t)|0;if((e|0)!=(n|0))r=(e>>>0)/(i>>>0)|0;return r|0}function jy(e){e=e|0;var i=0,r=0,t=0;if((h[e+76>>2]|0)>=0?(Ay(e)|0)!=0:0){i=e+4|0;r=h[i>>2]|0;if(r>>>0<(h[e+8>>2]|0)>>>0){h[i>>2]=r+1;i=b[r>>0]|0}else i=Iy(e)|0}else t=3;do{if((t|0)==3){i=e+4|0;r=h[i>>2]|0;if(r>>>0<(h[e+8>>2]|0)>>>0){h[i>>2]=r+1;i=b[r>>0]|0;break}else{i=Iy(e)|0;break}}}while(0);return i|0}function Hy(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=v;v=v+16|0;f=n;h[f>>2]=t;t=Gy(e,i,r,f)|0;v=n;return t|0}function Yy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=v;v=v+16|0;n=t;h[n>>2]=r;r=Ky(e,i,n)|0;v=t;return r|0}function qy(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;do{if((e|0)!=-1){if((h[i+76>>2]|0)>-1)n=Ay(i)|0;else n=0;if(!((h[i+8>>2]|0)==0?(Dy(i)|0)!=0:0))f=6;if((f|0)==6?(r=i+4|0,t=h[r>>2]|0,t>>>0>((h[i+44>>2]|0)+-8|0)>>>0):0){f=t+-1|0;h[r>>2]=f;c[f>>0]=e;h[i>>2]=h[i>>2]&-17;if(!n)break;My(i);break}if(n){My(i);e=-1}else e=-1}else e=-1}while(0);return e|0}function Xy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;t=l;n=jc(240)|0;do{if(n){h[t>>2]=h[r>>2];t=Gy(n,240,i,t)|0;if(t>>>0<240){i=qc(n,t+1|0)|0;h[e>>2]=(i|0)!=0?i:n;break}Hc(n);if((t|0)>=0?(a=t+1|0,f=jc(a)|0,h[e>>2]=f,(f|0)!=0):0)t=Gy(f,a,i,r)|0;else t=-1}else t=-1}while(0);v=l;return t|0}function zy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+224|0;d=_+80|0;w=_+96|0;k=_;b=_+136|0;t=w;n=t+40|0;do{h[t>>2]=0;t=t+4|0}while((t|0)<(n|0));h[d>>2]=h[r>>2];if((Cc(0,i,d,k,w)|0)<0)r=-1;else{if((h[e+76>>2]|0)>-1)o=Ay(e)|0;else o=0;r=h[e>>2]|0;u=r&32;if((c[e+74>>0]|0)<1)h[e>>2]=r&-33;r=e+48|0;if(!(h[r>>2]|0)){n=e+44|0;f=h[n>>2]|0;h[n>>2]=b;a=e+28|0;h[a>>2]=b;l=e+20|0;h[l>>2]=b;h[r>>2]=80;s=e+16|0;h[s>>2]=b+80;t=Cc(e,i,d,k,w)|0;if(f){vE[h[e+36>>2]&63](e,0,0)|0;t=(h[l>>2]|0)==0?-1:t;h[n>>2]=f;h[r>>2]=0;h[s>>2]=0;h[a>>2]=0;h[l>>2]=0}}else t=Cc(e,i,d,k,w)|0;r=h[e>>2]|0;h[e>>2]=r|u;if(o)My(e);r=(r&32|0)==0?t:-1}v=_;return r|0}function Vy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0.0,o=0,u=0,k=0,w=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,Y=0;j=v;v=v+304|0;C=j+16|0;x=j+8|0;D=j+33|0;I=j;A=j+32|0;if((h[e+76>>2]|0)>-1)U=Ay(e)|0;else U=0;t=c[i>>0]|0;e:do{if(t<<24>>24){B=e+4|0;N=e+100|0;L=e+108|0;M=e+8|0;T=D+10|0;S=D+33|0;P=x+4|0;O=D+46|0;R=D+94|0;f=t;t=0;a=i;k=0;n=0;i=0;i:while(1){r:do{if(!(qg(f&255)|0)){f=(c[a>>0]|0)==37;t:do{if(f){o=a+1|0;l=c[o>>0]|0;n:do{switch(l<<24>>24){case 37:break t;case 42:{E=0;l=a+2|0;break}default:{l=(l&255)+-48|0;if(l>>>0<10?(c[a+2>>0]|0)==36:0){h[C>>2]=h[r>>2];while(1){E=(h[C>>2]|0)+(4-1)&~(4-1);f=h[E>>2]|0;h[C>>2]=E+4;if(l>>>0>1)l=l+-1|0;else break}E=f;l=a+3|0;break n}l=(h[r>>2]|0)+(4-1)&~(4-1);E=h[l>>2]|0;h[r>>2]=l+4;l=o}}}while(0);f=c[l>>0]|0;a=f&255;if((a+-48|0)>>>0<10){f=0;while(1){o=(f*10|0)+-48+a|0;l=l+1|0;f=c[l>>0]|0;a=f&255;if((a+-48|0)>>>0>=10)break;else f=o}}else o=0;if(f<<24>>24==109){l=l+1|0;u=c[l>>0]|0;f=(E|0)!=0&1;n=0;i=0}else{u=f;f=0}a=l+1|0;switch(u&255|0){case 104:{y=(c[a>>0]|0)==104;a=y?l+2|0:a;l=y?-2:-1;break}case 108:{y=(c[a>>0]|0)==108;a=y?l+2|0:a;l=y?3:1;break}case 106:{l=3;break}case 116:case 122:{l=1;break}case 76:{l=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{a=l;l=0;break}default:{F=152;break i}}u=b[a>>0]|0;w=(u&47|0)==3;u=w?u|32:u;w=w?1:l;switch(u|0){case 99:{y=k;g=(o|0)<1?1:o;break}case 91:{y=k;g=o;break}case 110:{if(!E){l=k;break r}switch(w|0){case-2:{c[E>>0]=k;l=k;break r}case-1:{d[E>>1]=k;l=k;break r}case 0:{h[E>>2]=k;l=k;break r}case 1:{h[E>>2]=k;l=k;break r}case 3:{l=E;h[l>>2]=k;h[l+4>>2]=((k|0)<0)<<31>>31;l=k;break r}default:{l=k;break r}}}default:{Wg(e,0);do{l=h[B>>2]|0;if(l>>>0<(h[N>>2]|0)>>>0){h[B>>2]=l+1;l=b[l>>0]|0}else l=Jg(e)|0}while((qg(l)|0)!=0);l=h[B>>2]|0;if(h[N>>2]|0){l=l+-1|0;h[B>>2]=l}y=(h[L>>2]|0)+k+l-(h[M>>2]|0)|0;g=o}}Wg(e,g);l=h[B>>2]|0;o=h[N>>2]|0;if(l>>>0>>0)h[B>>2]=l+1;else{if((Jg(e)|0)<0){F=152;break i}o=h[N>>2]|0}if(o)h[B>>2]=(h[B>>2]|0)+-1;n:do{switch(u|0){case 91:case 99:case 115:{p=(u|0)==99;f:do{if((u&239|0)==99){Cm(D|0,-1,257)|0;c[D>>0]=0;if((u|0)==115){c[S>>0]=0;c[T>>0]=0;c[T+1>>0]=0;c[T+2>>0]=0;c[T+3>>0]=0;c[T+4>>0]=0}}else{Y=a+1|0;k=(c[Y>>0]|0)==94;l=k&1;u=k?Y:a;a=k?a+2|0:Y;Cm(D|0,k&1|0,257)|0;c[D>>0]=0;switch(c[a>>0]|0){case 45:{k=(l^1)&255;c[O>>0]=k;a=u+2|0;break}case 93:{k=(l^1)&255;c[R>>0]=k;a=u+2|0;break}default:k=(l^1)&255}while(1){l=c[a>>0]|0;a:do{switch(l<<24>>24){case 0:{F=152;break i}case 93:break f;case 45:{u=a+1|0;l=c[u>>0]|0;switch(l<<24>>24){case 93:case 0:{l=45;break a}default:{}}a=c[a+-1>>0]|0;if((a&255)<(l&255)){a=a&255;do{a=a+1|0;c[D+a>>0]=k;l=c[u>>0]|0}while((a|0)<(l&255|0));a=u}else a=u;break}default:{}}}while(0);c[D+((l&255)+1)>>0]=k;a=a+1|0}}}while(0);u=p?g+1|0:31;k=(w|0)==1;w=(f|0)!=0;f:do{if(k){if(w){i=jc(u<<2)|0;if(!i){n=0;F=152;break i}}else i=E;h[x>>2]=0;h[P>>2]=0;n=0;a:while(1){o=(i|0)==0;do{l:while(1){l=h[B>>2]|0;if(l>>>0<(h[N>>2]|0)>>>0){h[B>>2]=l+1;l=b[l>>0]|0}else l=Jg(e)|0;if(!(c[D+(l+1)>>0]|0))break a;c[A>>0]=l;switch(ky(I,A,1,x)|0){case-1:{n=0;F=152;break i}case-2:break;default:break l}}if(!o){h[i+(n<<2)>>2]=h[I>>2];n=n+1|0}}while(!(w&(n|0)==(u|0)));n=u<<1|1;l=qc(i,n<<2)|0;if(!l){n=0;F=152;break i}Y=u;u=n;i=l;n=Y}if(!(wy(x)|0)){n=0;F=152;break i}else{o=n;n=0}}else{if(w){n=jc(u)|0;if(!n){n=0;i=0;F=152;break i}else l=0;while(1){do{i=h[B>>2]|0;if(i>>>0<(h[N>>2]|0)>>>0){h[B>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if(!(c[D+(i+1)>>0]|0)){o=l;i=0;break f}c[n+l>>0]=i;l=l+1|0}while((l|0)!=(u|0));i=u<<1|1;l=qc(n,i)|0;if(!l){i=0;F=152;break i}else{Y=u;u=i;n=l;l=Y}}}if(!E){n=o;while(1){i=h[B>>2]|0;if(i>>>0>>0){h[B>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if(!(c[D+(i+1)>>0]|0)){o=0;n=0;i=0;break f}n=h[N>>2]|0}}else{n=0;while(1){i=h[B>>2]|0;if(i>>>0>>0){h[B>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if(!(c[D+(i+1)>>0]|0)){o=n;n=E;i=0;break f}c[E+n>>0]=i;o=h[N>>2]|0;n=n+1|0}}}}while(0);l=h[B>>2]|0;if(h[N>>2]|0){l=l+-1|0;h[B>>2]=l}l=l-(h[M>>2]|0)+(h[L>>2]|0)|0;if(!l)break i;if(!((l|0)==(g|0)|p^1))break i;do{if(w)if(k){h[E>>2]=i;break}else{h[E>>2]=n;break}}while(0);if(!p){if(i)h[i+(o<<2)>>2]=0;if(!n){n=0;break n}c[n+o>>0]=0}break}case 120:case 88:case 112:{l=16;F=134;break}case 111:{l=8;F=134;break}case 117:case 100:{l=10;F=134;break}case 105:{l=0;F=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{s=+Gg(e,w,0);if((h[L>>2]|0)==((h[M>>2]|0)-(h[B>>2]|0)|0))break i;if(E)switch(w|0){case 0:{_[E>>2]=s;break n}case 1:{m[E>>3]=s;break n}case 2:{m[E>>3]=s;break n}default:break n}break}default:{}}}while(0);n:do{if((F|0)==134){F=0;l=Kg(e,l,0,-1,-1)|0;if((h[L>>2]|0)==((h[M>>2]|0)-(h[B>>2]|0)|0))break i;if((E|0)!=0&(u|0)==112){h[E>>2]=l;break}if(E)switch(w|0){case-2:{c[E>>0]=l;break n}case-1:{d[E>>1]=l;break n}case 0:{h[E>>2]=l;break n}case 1:{h[E>>2]=l;break n}case 3:{Y=E;h[Y>>2]=l;h[Y+4>>2]=H;break n}default:break n}}}while(0);t=((E|0)!=0&1)+t|0;l=(h[L>>2]|0)+y+(h[B>>2]|0)-(h[M>>2]|0)|0;break r}}while(0);a=a+(f&1)|0;Wg(e,0);f=h[B>>2]|0;if(f>>>0<(h[N>>2]|0)>>>0){h[B>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;if((f|0)!=(b[a>>0]|0)){F=21;break i}l=k+1|0}else{while(1){f=a+1|0;if(!(qg(b[f>>0]|0)|0))break;else a=f}Wg(e,0);do{f=h[B>>2]|0;if(f>>>0<(h[N>>2]|0)>>>0){h[B>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0}while((qg(f)|0)!=0);f=h[B>>2]|0;if(h[N>>2]|0){f=f+-1|0;h[B>>2]=f}l=(h[L>>2]|0)+k+f-(h[M>>2]|0)|0}}while(0);a=a+1|0;f=c[a>>0]|0;if(!(f<<24>>24))break e;else k=l}if((F|0)==21){if(h[N>>2]|0)h[B>>2]=(h[B>>2]|0)+-1;if((t|0)!=0|(f|0)>-1)break;else{t=0;F=153}}else if((F|0)==152)if(!t){t=f;F=153}if((F|0)==153){f=t;t=-1}if(f){Hc(n);Hc(i)}}else t=0}while(0);if(U)My(e);v=j;return t|0}function Gy(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+128|0;n=u+112|0;o=u;f=o;a=37352;l=f+112|0;do{h[f>>2]=h[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));if((i+-1|0)>>>0>2147483646)if(!i){i=1;s=4}else{i=zg()|0;h[i>>2]=75;i=-1}else{n=e;s=4}if((s|0)==4){s=-2-n|0;s=i>>>0>s>>>0?s:i;h[o+48>>2]=s;e=o+20|0;h[e>>2]=n;h[o+44>>2]=n;i=n+s|0;n=o+16|0;h[n>>2]=i;h[o+28>>2]=i;i=zy(o,r,t)|0;if(s){r=h[e>>2]|0;c[r+(((r|0)==(h[n>>2]|0))<<31>>31)>>0]=0}}v=u;return i|0}function Ky(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=v;v=v+112|0;t=f;n=t;a=n+112|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[t+32>>2]=29;h[t+44>>2]=e;h[t+76>>2]=-1;h[t+84>>2]=e;a=Vy(t,i,r)|0;v=f;return a|0}function Wy(e,i,r){e=e|0;i=i|0;r=r|0;return+ +xc(e,i,2)}function Jy(e,i,r){e=e|0;i=i|0;r=r|0;e=Ic(e,i,r,-1,-1)|0;return e|0}function Zy(e,i,r){e=e|0;i=i|0;r=r|0;e=Ic(e,i,r,0,-2147483648)|0;return e|0}function Qy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i&255;t=(r|0)!=0;e:do{if(t&(e&3|0)!=0){n=i&255;while(1){if((c[e>>0]|0)==n<<24>>24){a=6;break e}e=e+1|0;r=r+-1|0;t=(r|0)!=0;if(!(t&(e&3|0)!=0)){a=5;break}}}else a=5}while(0);if((a|0)==5)if(t)a=6;else r=0;e:do{if((a|0)==6){n=i&255;if((c[e>>0]|0)!=n<<24>>24){t=ce(f,16843009)|0;i:do{if(r>>>0>3)while(1){f=h[e>>2]^t;if((f&-2139062144^-2139062144)&f+-16843009)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){a=11;break i}}else a=11}while(0);if((a|0)==11)if(!r){r=0;break}while(1){if((c[e>>0]|0)==n<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}}while(0);return((r|0)!=0?e:0)|0}function $y(e,i){e=e|0;i=i|0;var r=0,t=0;r=i;e:do{if(!((r^e)&3)){if(r&3)do{r=c[i>>0]|0;c[e>>0]=r;if(!(r<<24>>24))break e;i=i+1|0;e=e+1|0}while((i&3|0)!=0);r=h[i>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){t=e;while(1){i=i+4|0;e=t+4|0;h[t>>2]=r;r=h[i>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009)break;else t=e}}t=8}else t=8}while(0);if((t|0)==8){t=c[i>>0]|0;c[e>>0]=t;if(t<<24>>24)do{i=i+1|0;e=e+1|0;t=c[i>>0]|0;c[e>>0]=t}while(t<<24>>24!=0)}return e|0}function eE(e,i){e=e|0;i=i|0;var r=0,t=0;t=c[e>>0]|0;r=c[i>>0]|0;if(t<<24>>24==0?1:t<<24>>24!=r<<24>>24)i=t;else{do{e=e+1|0;i=i+1|0;t=c[e>>0]|0;r=c[i>>0]|0}while(!(t<<24>>24==0?1:t<<24>>24!=r<<24>>24));i=t}return(i&255)-(r&255)|0}function iE(e,i){e=e|0;i=i|0;$y(e,i)|0;return e|0}function rE(e){e=e|0;var i=0,r=0,t=0;t=e;e:do{if(!(t&3))r=4;else{i=e;e=t;while(1){if(!(c[i>>0]|0))break e;i=i+1|0;e=i;if(!(e&3)){e=i;r=4;break}}}}while(0);if((r|0)==4){while(1){i=h[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009))e=e+4|0;else break}if((i&255)<<24>>24)do{e=e+1|0}while((c[e>>0]|0)!=0)}return e-t|0}function tE(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(!r)i=0;else{t=c[e>>0]|0;e:do{if(!(t<<24>>24))t=0;else while(1){r=r+-1|0;n=c[i>>0]|0;if(!(t<<24>>24==n<<24>>24&((r|0)!=0&n<<24>>24!=0)))break e;e=e+1|0;i=i+1|0;t=c[e>>0]|0;if(!(t<<24>>24)){t=0;break}}}while(0);i=(t&255)-(b[i>>0]|0)|0}return i|0}function nE(e){e=e|0;var i=0;i=e;while(1)if(!(h[i>>2]|0))break;else i=i+4|0;return i-e>>2|0}function fE(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(r){t=e;while(1){r=r+-1|0;h[t>>2]=h[i>>2];if(!r)break;else{i=i+4|0;t=t+4|0}}}return e|0}function aE(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=(r|0)==0;if(e-i>>2>>>0>>0){if(!t)do{r=r+-1|0;h[e+(r<<2)>>2]=h[i+(r<<2)>>2]}while((r|0)!=0)}else if(!t){t=i;i=e;while(1){r=r+-1|0;h[i>>2]=h[t>>2];if(!r)break;else{t=t+4|0;i=i+4|0}}}return e|0}function lE(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(r){t=e;while(1){r=r+-1|0;h[t>>2]=i;if(!r)break;else t=t+4|0}}return e|0}function sE(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;a=e+4|0;r=h[a>>2]|0;l=e+100|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0;switch(r|0){case 43:case 45:{t=(r|0)==45&1;r=h[a>>2]|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0;if((i|0)!=0&(r+-48|0)>>>0>9?(h[l>>2]|0)!=0:0){h[a>>2]=(h[a>>2]|0)+-1;f=t}else f=t;break}default:f=0}if((r+-48|0)>>>0>9)if(!(h[l>>2]|0)){t=-2147483648;r=0}else{h[a>>2]=(h[a>>2]|0)+-1;t=-2147483648;r=0}else{t=0;do{t=r+-48+(t*10|0)|0;r=h[a>>2]|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0}while((r+-48|0)>>>0<10&(t|0)<214748364);i=((t|0)<0)<<31>>31;if((r+-48|0)>>>0<10){do{i=qm(t|0,i|0,10,0)|0;t=H;r=Dm(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;t=Dm(r|0,H|0,i|0,t|0)|0;i=H;r=h[a>>2]|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0}while((r+-48|0)>>>0<10&((i|0)<21474836|(i|0)==21474836&t>>>0<2061584302));n=t}else n=t;if((r+-48|0)>>>0<10)do{r=h[a>>2]|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0}while((r+-48|0)>>>0<10);if(h[l>>2]|0)h[a>>2]=(h[a>>2]|0)+-1;e=(f|0)!=0;r=Lm(0,0,n|0,i|0)|0;t=e?H:i;r=e?r:n}H=t;return r|0}function oE(e){e=e|0;if(!(h[e+68>>2]|0))My(e);return}function uE(e){e=e|0;if(!(h[e+68>>2]|0))My(e);return}function cE(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;i=e+20|0;f=e+28|0;if((h[i>>2]|0)>>>0>(h[f>>2]|0)>>>0?(vE[h[e+36>>2]&63](e,0,0)|0,(h[i>>2]|0)==0):0)i=-1;else{a=e+4|0;r=h[a>>2]|0;t=e+8|0;n=h[t>>2]|0;if(r>>>0>>0)vE[h[e+40>>2]&63](e,r-n|0,1)|0;h[e+16>>2]=0;h[f>>2]=0;h[i>>2]=0;h[t>>2]=0;h[a>>2]=0;i=0}return i|0}var dE=[wp,$s,to,Qo,ru,lu,ou,Gw,n_,wp,wp,wp,wp,wp,wp,wp];var hE=[_p,Zp,Hl,Ol,_l,fl,Ga,Ia,ma,Sg,Tg,Eg,_p,_p,_p,_p];var bE=[mp,hu,pu,mp];var kE=[pp,Gp,Kp,Nl,Fl,Ml,Tl,hl,bl,il,rl,qa,Xa,La,Ca,ba,ka,ia,ra,qf,Xf,Lf,Cf,pf,vf,lf,sf,kn,wn,rn,tn,or,ur,Lt,It,Ct,ob,cb,ub,db,et,it,Lv,rt,Gr,Kr,Ar,Mr,Cr,Dr,Ur,jr,tt,nt,ut,ct,_t,mt,At,Mt,$t,en,An,Mn,Ln,Cn,Fn,Un,zn,Vn,Oa,Ra,Fd,fv,kv,wv,Cv,Dv,Kv,Wv,ig,rg,ag,lg,og,dg,ug,cg,hg,bg,Bh,ed,ad,gh,cd,_d,Bd,Nd,yh,Nh,Zh,$h,Qh,eb,tb,fb,nb,ab,_b,pb,mb,vb,Sb,Pb,hh,Ob,Rb,Lb,Db,Ku,Nb,Fb,Yb,qb,tk,nk,Ek,Ak,Fk,Uk,is,rs,Ts,Ss,Js,Qs,io,ro,fo,ao,_o,mo,Po,Oo,Uo,jo,Jo,Zo,fu,au,cu,du,_u,mu,Eu,Au,Pu,Ou,Bu,Nu,dc,hc,Vw,Lc,_w,mw,pw,vw,Cb,Gu,Ju,yc,Zk,fw,hw,bw,xv,Ev,Yv,sr,Eh,rb,Yt,ga,Ng,oE,uE,Gc,iy,$o,iu,Wu,rm,om,um,cm,dm,hm,bm,qd,th,Hc,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp];var wE=[vp,Jp,jl,Pl,wl,nl,Va,xa,_a,ta,zf,Df,gf,of,_n,nn,cr,Ah,_v,vv,id,fd,dd,wd,Uh,oo,uo,co,ho,ko,wo,go,yo,Eo,Ao,To,So,Co,Do,xo,Io,No,Fo,qo,Xo,zo,Vo,Ko,Wo,Su,Cu,Mw,Sw,Ow,Tw,Pw,Rw,er,Iv,gv,yv,Av,mh,mr,vr,hb,dh,Zd,Ht,sn,$n,hf,Mf,Nf,Wf,la,va,Na,Wa,ll,pl,Ll,ql,$p,hv,jv,Sd,Md,wh,gb,Td,Wd,lh,ah,A_,M_,T_,S_,P_,O_,Rc,R_,L_,C_,D_,x_,I_,B_,N_,F_,U_,j_,H_,Y_,q_,X_,z_,V_,G_,K_,W_,J_,Z_,Q_,em,vm,vp,vp];var _E=[gp,Xb,zb,Vb,Gb,Kb,Wb,Jb,Zb,Qb,$b,ek,fk,ak,lk,sk,ok,uk,ck,dk,hk,bk,kk,Rk,Ck,qk,Wl,ns,fs,as,ss,us,Os,Rs,Ls,Ds,Is,wu,yu,Vr,w_,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp];var mE=[yp,Ph,Oh,Zr,Ch,av,Jv,tg,sg,Sy,rd,Xh,Vh,Gh,qh,ld,sd,hd,Lh,md,pd,Eb,ts,Cw,xw,Bw,Yw,Xw,Fw,jw,Ps,Dw,Iw,Nw,qw,zw,Uw,Hw,lo,so,bo,po,vo,Mo,Ro,Lo,Bo,Ho,Yo,Go,Gk,Kk,Jk,gw,Ew,yw,Aw,Tc,Sc,Oc,iw,rw,nw,ow,uw,dw,ov,Xv,_h,Tv,ib,lb,Ep,Ap,Mp,fy,nE,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp];var pE=[Tp,eu,su,Tp];var vE=[Sp,Mh,Rh,xh,Od,Rd,kg,Bc,Ry,Oy,Py,Ly,jh,zh,td,Wh,bd,Bb,Hb,Mu,Ru,kc,_c,vc,Zu,nc,lc,uc,pr,Dc,Qd,ny,g_,E_,vy,py,by,Xy,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp];var gE=[Pp,ku,gu,Pp];var yE=[Op,Wr,Rg,Og,Pg,Hh,Th,Tu,Lu,Op,Op,Op,Op,Op,Op,Op];var EE=[Rp,Ok,Ik,Yk,Zl,Rp,Rp,Rp];var AE=[Lp,tu,uu,bu,vu,Lp,Lp,Lp];var ME=[Cp,Wp,Ul,Sl,kl,tl,za,Da,wa,fa,Gf,If,Ef,cf,pn,an,hr,Qr,$r,Kh,nd,od,Jh,Dh,kd,vd,Ih,bc,wc,mc,rc,fc,sc,Bv,nr,ar,kb,Vu,wb,ty,ry,zd,nh,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp];var TE=[Dp,xb,Ub,Mk,Tk,Lk,Nk,jk,Hk,Kl,$l,gc,Vk,Wk,cc,Mc,Pc,ew,tw,sw,cw,gy,_y,Dp,Dp,Dp,Dp,Dp,Dp,Dp,Dp,Dp];var SE=[xp,Em,ym,gm];var PE=[Ip,ir,qv,rk,Uu,ju,Hu,jg,Yg,Hg,Ip,Ip,Ip,Ip,Ip,Ip];var OE=[Bp,na,Vf,xf,yf,uf,mn,fn,dr,pc,$u,ec,ic,oc,sv,bv,t_,k_,my,$g,ky,Om,Pm,Sm,Tm,Mm,Am,Bp,Bp,Bp,Bp,Bp];var RE=[Np,Pd,lv,Ab,Nv,Hd,Fp,Id,Gd,Mv,Cd,Tb,p_,v_,y_,ih];var LE=[Up,jp,xg,Hp,Ig,Yp,Dg,Up];var CE=[qp,ds,Ns,Xk,zk,Ec,Ac,Qk,$k,aw,lw,qp,qp,qp,qp,qp];var DE=[Xp,Dk,Bk,Jl,Ql,Xp,Xp,Xp];var xE=[zp,Bt,Nt,Dt,xt,Jr,Tr,Sr,xr,Ir,Hr,Yr,ft,at,dt,ht,pt,vt,Tt,St,Tn,Sn,Dn,xn,jn,Hn,Gn,Kn,_g,mg,vg,Yh,Sh,Ib,jb,Gi,xd,br,kr,wr,_r,gr,yr,Er,vn,gn,yn,En,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp];return{_jpegls_encode:Uv,___cxa_can_catch:Lg,_free:Hc,_jpegls_decode:Fv,___cxa_is_pointer_type:Cg,_i64Add:Dm,_memmove:Nm,_i64Subtract:Lm,_memset:Cm,_malloc:jc,_memcpy:Im,_bitshift64Lshr:xm,_bitshift64Shl:Bm,__GLOBAL__I_000101:Kc,__GLOBAL__sub_I_jpegls_cpp:lr,__GLOBAL__sub_I_iostream_cpp:Wc,runPostSets:Rm,_emscripten_replace_memory:Bi,stackAlloc:Ni,stackSave:Fi,stackRestore:Ui,establishStackSpace:ji,setThrew:Hi,setTempRet0:Xi,getTempRet0:zi,dynCall_iiiiiiii:Gm,dynCall_viiiii:Km,dynCall_iiiiiid:Wm,dynCall_vi:Jm,dynCall_vii:Zm,dynCall_iiiiiii:Qm,dynCall_ii:$m,dynCall_iiiiiiiiiiii:ep,dynCall_iiii:ip,dynCall_viiiiiiiiiiiiiii:rp,dynCall_viiiiii:tp,dynCall_viiiiiii:np,dynCall_viiiiiiiiii:fp,dynCall_iii:ap,dynCall_iiiiii:lp,dynCall_diii:sp,dynCall_i:op,dynCall_iiiii:up,dynCall_viii:cp,dynCall_v:dp,dynCall_iiiiiiiii:hp,dynCall_iiiiid:bp,dynCall_viiii:kp}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_jpegls_encode=Module._jpegls_encode=asm._jpegls_encode,___cxa_can_catch=Module.___cxa_can_catch=asm.___cxa_can_catch,_free=Module._free=asm._free,_jpegls_decode=Module._jpegls_decode=asm._jpegls_decode,___cxa_is_pointer_type=Module.___cxa_is_pointer_type=asm.___cxa_is_pointer_type,_i64Add=Module._i64Add=asm._i64Add,_memmove=Module._memmove=asm._memmove,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_memset=Module._memset=asm._memset,_malloc=Module._malloc=asm._malloc,_memcpy=Module._memcpy=asm._memcpy,_emscripten_replace_memory=Module._emscripten_replace_memory=asm._emscripten_replace_memory,runPostSets=Module.runPostSets=asm.runPostSets,__GLOBAL__sub_I_iostream_cpp=Module.__GLOBAL__sub_I_iostream_cpp=asm.__GLOBAL__sub_I_iostream_cpp,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,__GLOBAL__sub_I_jpegls_cpp=Module.__GLOBAL__sub_I_jpegls_cpp=asm.__GLOBAL__sub_I_jpegls_cpp,__GLOBAL__I_000101=Module.__GLOBAL__I_000101=asm.__GLOBAL__I_000101,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_iiiiiid=Module.dynCall_iiiiiid=asm.dynCall_iiiiiid,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiiiiiiiiiiiii=Module.dynCall_viiiiiiiiiiiiiii=asm.dynCall_viiiiiiiiiiiiiii,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_viiiiiii=Module.dynCall_viiiiiii=asm.dynCall_viiiiiii,dynCall_viiiiiiiiii=Module.dynCall_viiiiiiiiii=asm.dynCall_viiiiiiiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_iiiiiiiii=Module.dynCall_iiiiiiiii=asm.dynCall_iiiiiiiii,dynCall_iiiiid=Module.dynCall_iiiiid=asm.dynCall_iiiiid,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null,calledMain=!1;function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Module.setStatus("")}),1),i()}),1)):i()))}function exit(e,i){if(!i||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",(function(){process.exit(e)})),console.log(" "),setTimeout((function(){process.exit(e)}),500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var i=e.length+1;function r(){for(var e=0;e<3;e++)t.push(0)}var t=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];r();for(var n=0;n0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),Module}},237:(module,__unused_webpack_exports,__webpack_require__)=>{var __dirname="/";module.exports=function(Module){var Module;Module=Module||{},Module||(Module=(void 0!==OpenJPEG?OpenJPEG:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&!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=function(e){process.stdout.write(e+"\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\n")});var nodeFS=__webpack_require__(722),nodePath=__webpack_require__(978);Module.read=function(e,i){e=nodePath.normalize(e);var r=nodeFS.readFileSync(e);return r||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),r=nodeFS.readFileSync(e)),r&&!i&&(r=r.toString()),r},Module.readBinary=function(e){var i=Module.read(e,!0);return i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},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),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 (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var i=read(e,"binary");return assert("object"==typeof i),i},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var i=new XMLHttpRequest;return i.open("GET",e,!1),i.send(null),i.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(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),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(var key in!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.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=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":case"float":return 4;case"i64":case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var i=parseInt(e.substr(1));return assert(i%8==0),i/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,i){return"double"===i||"i64"===i?7&e&&(assert(4==(7&e)),e+=4):assert(!(3&e)),e},getAlignSize:function(e,i,r){return r||"i64"!=e&&"double"!=e?e?Math.min(i||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(i,8):8},dynCall:function(e,i,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,i),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,i)},functionPointers:[],addFunction:function(e){for(var i=0;i=TOTAL_MEMORY&&!enlargeMemory())return DYNAMICTOP=i,0;return i},alignMemory:function(e,i){return e=Math.ceil(e/(i||16))*(i||16)},makeBigInt:function(e,i,r){return r?+(e>>>0)+4294967296*+(i>>>0):+(e>>>0)+4294967296*+(0|i)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,i){e||abort("Assertion failed: "+i)}var globalScope=this,cwrap,ccall;function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,i,r,t){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":HEAP8[e|0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,i,r){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":return HEAP8[e|0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+i)}return null}(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var i=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;return null!=e&&0!==e&&writeStringToMemory(e,i=Runtime.stackAlloc(1+(e.length<<2))),i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,i,r,t,n){var f=getCFunc(e),a=[],l=0;if(t)for(var s=0;s>2]=0;for(s=a+f;t0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(i,l))),f=f?f+a:a,e+=l,i-=l;return f}return Module.UTF8ToString(e)}function AsciiToString(e){for(var i="";;){var r=HEAP8[e++|0];if(!r)return i;i+=String.fromCharCode(r)}}function stringToAscii(e,i){return writeAsciiToMemory(e,i,!1)}function UTF8ArrayToString(e,i){for(var r,t,n,f,a,l="";;){if(!(r=e[i++]))return l;if(128&r)if(t=63&e[i++],192!=(224&r))if(n=63&e[i++],224==(240&r)?r=(15&r)<<12|t<<6|n:(f=63&e[i++],240==(248&r)?r=(7&r)<<18|t<<12|n<<6|f:(a=63&e[i++],r=248==(252&r)?(3&r)<<24|t<<18|n<<12|f<<6|a:(1&r)<<30|t<<24|n<<18|f<<12|a<<6|63&e[i++])),r<65536)l+=String.fromCharCode(r);else{var s=r-65536;l+=String.fromCharCode(55296|s>>10,56320|1023&s)}else l+=String.fromCharCode((31&r)<<6|t);else l+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,r,t){if(!(t>0))return 0;for(var n=r,f=r+t-1,a=0;a=55296&&l<=57343&&(l=65536+((1023&l)<<10)|1023&e.charCodeAt(++a)),l<=127){if(r>=f)break;i[r++]=l}else if(l<=2047){if(r+1>=f)break;i[r++]=192|l>>6,i[r++]=128|63&l}else if(l<=65535){if(r+2>=f)break;i[r++]=224|l>>12,i[r++]=128|l>>6&63,i[r++]=128|63&l}else if(l<=2097151){if(r+3>=f)break;i[r++]=240|l>>18,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}else if(l<=67108863){if(r+4>=f)break;i[r++]=248|l>>24,i[r++]=128|l>>18&63,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}else{if(r+5>=f)break;i[r++]=252|l>>30,i[r++]=128|l>>24&63,i[r++]=128|l>>18&63,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}}return i[r]=0,r-n}function stringToUTF8(e,i,r){return stringToUTF8Array(e,HEAPU8,i,r)}function lengthBytesUTF8(e){for(var i=0,r=0;r=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++r)),t<=127?++i:i+=t<=2047?2:t<=65535?3:t<=2097151?4:t<=67108863?5:6}return i}function UTF16ToString(e){for(var i=0,r="";;){var t=HEAP16[e+2*i>>1];if(0==t)return r;++i,r+=String.fromCharCode(t)}}function stringToUTF16(e,i,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var t=i,n=(r-=2)<2*e.length?r/2:e.length,f=0;f>1]=a,i+=2}return HEAP16[i>>1]=0,i-t}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var i=0,r="";;){var t=HEAP32[e+4*i>>2];if(0==t)return r;if(++i,t>=65536){var n=t-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(t)}}function stringToUTF32(e,i,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var t=i,n=t+r-4,f=0;f=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f);if(HEAP32[i>>2]=a,(i+=4)+4>n)break}return HEAP32[i>>2]=0,i-t}function lengthBytesUTF32(e){for(var i=0,r=0;r=55296&&t<=57343&&++r,i+=4}return i}function demangle(e){var i=!!Module.___cxa_demangle;if(i)try{var r=_malloc(e.length);writeStringToMemory(e.substr(1),r);var t=_malloc(4),n=Module.___cxa_demangle(r,0,0,t);if(0===getValue(t,"i32")&&n)return Pointer_stringify(n)}catch(e){}finally{r&&_free(r),t&&_free(t),n&&_free(n)}var f=3,a={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},l=[],s=!0;var o=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}o=function i(r,t,n){t=t||1/0;var o,u="",c=[];if("N"===e[f]){if(o=function(){f++,"K"===e[f]&&f++;for(var i=[];"E"!==e[f];)if("S"!==e[f])if("C"!==e[f]){var r=parseInt(e.substr(f)),t=r.toString().length;if(!r||!t){f--;break}var n=e.substr(f+t,r);i.push(n),l.push(n),f+=t+r}else i.push(i[i.length-1]),f+=2;else{f++;var a=e.indexOf("_",f),s=e.substring(f,a)||0;i.push(l[s]||"?"),f=a+1}return f++,i}().join("::"),0==--t)return r?[o]:o}else if(("K"===e[f]||s&&"L"===e[f])&&f++,k=parseInt(e.substr(f))){var d=k.toString().length;o=e.substr(f+d,k),f+=d+k}if(s=!1,"I"===e[f]){f++;var h=i(!0);u+=i(!0,1,!0)[0]+" "+o+"<"+h.join(", ")+">"}else u=o;e:for(;f0;){var b=e[f++];if(b in a)c.push(a[b]);else switch(b){case"P":c.push(i(!0,1,!0)[0]+"*");break;case"R":c.push(i(!0,1,!0)[0]+"&");break;case"L":f++;var k=e.indexOf("E",f)-f;c.push(e.substr(f,k)),f+=k+2;break;case"A":if(k=parseInt(e.substr(f)),f+=k.toString().length,"_"!==e[f])throw"?";f++,c.push(i(!0,1,!0)[0]+" ["+k+"]");break;case"E":break e;default:u+="?"+b;break e}}return n||1!==c.length||"void"!==c[0]||(c=[]),r?(u&&c.push(u+"?"),c):u+"("+c.join(", ")+")"}()}catch(e){o+="?"}return o.indexOf("?")>=0&&!i&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),o}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,(function(e){var i=demangle(e);return e===i?e:e+" ["+i+"]"}))}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(i){e=i}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}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,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}var STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0,byteLength;function enlargeMemory(){var e=Math.pow(2,31);if(DYNAMICTOP>=e)return!1;for(;TOTAL_MEMORY<=DYNAMICTOP;)if(TOTAL_MEMORY=e)return!1;try{if(ArrayBuffer.transfer)buffer=ArrayBuffer.transfer(buffer,TOTAL_MEMORY);else{var r=HEAP8;buffer=new ArrayBuffer(TOTAL_MEMORY)}}catch(e){return!1}return!!_emscripten_replace_memory(buffer)&&(Module.buffer=buffer,Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer),ArrayBuffer.transfer||HEAP8.set(r),!0)}try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),byteLength(new ArrayBuffer(4))}catch(e){byteLength=function(e){return e.byteLength}}for(var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||16777216,totalMemory=65536,buffer;totalMemory0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[i.arg]):r(void 0===i.arg?null:i.arg)}else i()}}totalMemory=Math.max(totalMemory,16777216),totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support"),buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,i,r){var t=r>0?r:lengthBytesUTF8(e)+1,n=new Array(t),f=stringToUTF8Array(e,n,0,n.length);return i&&(n.length=f),n}function intArrayToString(e){for(var i=[],r=0;r255&&(t&=255),i.push(String.fromCharCode(t))}return i.join("")}function writeStringToMemory(e,i,r){for(var t=intArrayFromString(e,r),n=0;n=0?e:i<=32?2*Math.abs(1<=t&&(i<=32||e>t)&&(e=-2*t+e),e}Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,i){var r=65535&e,t=65535&i;return r*t+((e>>>16)*t+r*(i>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var i=0;i<32;i++)if(e&1<<31-i)return i;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+25664,__ATINIT__.push(),allocate([131,192,202,161,69,182,251,63,127,251,58,112,206,136,234,63,127,251,58,112,206,136,234,63,131,192,202,161,69,182,251,63,225,122,20,174,71,225,252,63,94,186,73,12,2,43,249,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,6,64,0,0,0,0,0,128,21,64,92,143,194,245,40,92,37,64,215,163,112,61,10,87,53,64,246,40,92,143,194,85,69,64,133,235,81,184,30,85,85,64,102,102,102,102,102,86,101,64,205,204,204,204,204,84,117,64,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,173,250,92,109,197,254,230,63,86,125,174,182,98,127,237,63,199,75,55,137,65,96,249,63,242,210,77,98,16,88,8,64,250,126,106,188,116,19,24,64,133,235,81,184,30,5,40,64,0,0,0,0,0,0,56,64,92,143,194,245,40,252,71,64,236,81,184,30,133,251,87,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,113,61,10,215,163,112,255,63,104,145,237,124,63,181,16,64,117,147,24,4,86,206,32,64,102,102,102,102,102,230,48,64,236,81,184,30,133,235,64,64,92,143,194,245,40,236,80,64,154,153,153,153,153,233,96,64,154,153,153,153,153,233,112,64,51,51,51,51,51,231,128,64,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,164,112,61,10,215,163,0,64,236,81,184,30,133,235,14,64,119,190,159,26,47,157,32,64,174,71,225,122,20,46,49,64,123,20,174,71,225,90,65,64,246,40,92,143,194,101,81,64,154,153,153,153,153,105,97,64,154,153,153,153,153,105,113,64,154,153,153,153,153,105,129,64,0,0,0,0,0,0,0,0,4,0,0,0,67,80,82,76,0,0,0,0,0,0,0,0,76,82,67,80,0,0,0,0,3,0,0,0,80,67,82,76,0,0,0,0,1,0,0,0,82,76,67,80,0,0,0,0,2,0,0,0,82,80,67,76,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,144,255,0,0,12,0,0,0,1,0,0,0,82,255,0,0,20,0,0,0,2,0,0,0,83,255,0,0,20,0,0,0,3,0,0,0,94,255,0,0,20,0,0,0,4,0,0,0,92,255,0,0,20,0,0,0,5,0,0,0,93,255,0,0,20,0,0,0,6,0,0,0,95,255,0,0,20,0,0,0,7,0,0,0,81,255,0,0,2,0,0,0,8,0,0,0,85,255,0,0,4,0,0,0,9,0,0,0,87,255,0,0,4,0,0,0,10,0,0,0,88,255,0,0,16,0,0,0,11,0,0,0,96,255,0,0,4,0,0,0,12,0,0,0,97,255,0,0,16,0,0,0,13,0,0,0,145,255,0,0,0,0,0,0,0,0,0,0,99,255,0,0,4,0,0,0,14,0,0,0,100,255,0,0,20,0,0,0,15,0,0,0,116,255,0,0,20,0,0,0,16,0,0,0,120,255,0,0,4,0,0,0,17,0,0,0,117,255,0,0,20,0,0,0,18,0,0,0,119,255,0,0,20,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,32,32,80,106,20,0,0,0,112,121,116,102,21,0,0,0,104,50,112,106,22,0,0,0,114,100,104,105,23,0,0,0,114,108,111,99,24,0,0,0,99,99,112,98,25,0,0,0,114,108,99,112,26,0,0,0,112,97,109,99,27,0,0,0,102,101,100,99,28,0,0,0,1,86,0,0,0,0,0,0,164,4,0,0,180,4,0,0,1,86,0,0,1,0,0,0,180,4,0,0,164,4,0,0,1,52,0,0,0,0,0,0,196,4,0,0,68,5,0,0,1,52,0,0,1,0,0,0,212,4,0,0,84,5,0,0,1,24,0,0,0,0,0,0,228,4,0,0,164,5,0,0,1,24,0,0,1,0,0,0,244,4,0,0,180,5,0,0,193,10,0,0,0,0,0,0,4,5,0,0,4,6,0,0,193,10,0,0,1,0,0,0,20,5,0,0,20,6,0,0,33,5,0,0,0,0,0,0,36,5,0,0,36,8,0,0,33,5,0,0,1,0,0,0,52,5,0,0,52,8,0,0,33,2,0,0,0,0,0,0,68,9,0,0,164,8,0,0,33,2,0,0,1,0,0,0,84,9,0,0,180,8,0,0,1,86,0,0,0,0,0,0,100,5,0,0,84,5,0,0,1,86,0,0,1,0,0,0,116,5,0,0,68,5,0,0,1,84,0,0,0,0,0,0,132,5,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,5,0,0,84,6,0,0,1,72,0,0,0,0,0,0,164,5,0,0,68,6,0,0,1,72,0,0,1,0,0,0,180,5,0,0,84,6,0,0,1,56,0,0,0,0,0,0,196,5,0,0,68,6,0,0,1,56,0,0,1,0,0,0,212,5,0,0,84,6,0,0,1,48,0,0,0,0,0,0,228,5,0,0,164,6,0,0,1,48,0,0,1,0,0,0,244,5,0,0,180,6,0,0,1,36,0,0,0,0,0,0,4,6,0,0,196,6,0,0,1,36,0,0,1,0,0,0,20,6,0,0,212,6,0,0,1,28,0,0,0,0,0,0,36,6,0,0,4,7,0,0,1,28,0,0,1,0,0,0,52,6,0,0,20,7,0,0,1,22,0,0,0,0,0,0,36,8,0,0,36,7,0,0,1,22,0,0,1,0,0,0,52,8,0,0,52,7,0,0,1,86,0,0,0,0,0,0,100,6,0,0,84,6,0,0,1,86,0,0,1,0,0,0,116,6,0,0,68,6,0,0,1,84,0,0,0,0,0,0,132,6,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,6,0,0,84,6,0,0,1,81,0,0,0,0,0,0,164,6,0,0,100,6,0,0,1,81,0,0,1,0,0,0,180,6,0,0,116,6,0,0,1,72,0,0,0,0,0,0,196,6,0,0,132,6,0,0,1,72,0,0,1,0,0,0,212,6,0,0,148,6,0,0,1,56,0,0,0,0,0,0,228,6,0,0,164,6,0,0,1,56,0,0,1,0,0,0,244,6,0,0,180,6,0,0,1,52,0,0,0,0,0,0,4,7,0,0,196,6,0,0,1,52,0,0,1,0,0,0,20,7,0,0,212,6,0,0,1,48,0,0,0,0,0,0,36,7,0,0,228,6,0,0,1,48,0,0,1,0,0,0,52,7,0,0,244,6,0,0,1,40,0,0,0,0,0,0,68,7,0,0,228,6,0,0,1,40,0,0,1,0,0,0,84,7,0,0,244,6,0,0,1,36,0,0,0,0,0,0,100,7,0,0,4,7,0,0,1,36,0,0,1,0,0,0,116,7,0,0,20,7,0,0,1,34,0,0,0,0,0,0,132,7,0,0,36,7,0,0,1,34,0,0,1,0,0,0,148,7,0,0,52,7,0,0,1,28,0,0,0,0,0,0,164,7,0,0,68,7,0,0,1,28,0,0,1,0,0,0,180,7,0,0,84,7,0,0,1,24,0,0,0,0,0,0,196,7,0,0,100,7,0,0,1,24,0,0,1,0,0,0,212,7,0,0,116,7,0,0,1,22,0,0,0,0,0,0,228,7,0,0,132,7,0,0,1,22,0,0,1,0,0,0,244,7,0,0,148,7,0,0,1,20,0,0,0,0,0,0,4,8,0,0,164,7,0,0,1,20,0,0,1,0,0,0,20,8,0,0,180,7,0,0,1,18,0,0,0,0,0,0,36,8,0,0,196,7,0,0,1,18,0,0,1,0,0,0,52,8,0,0,212,7,0,0,1,17,0,0,0,0,0,0,68,8,0,0,228,7,0,0,1,17,0,0,1,0,0,0,84,8,0,0,244,7,0,0,193,10,0,0,0,0,0,0,100,8,0,0,4,8,0,0,193,10,0,0,1,0,0,0,116,8,0,0,20,8,0,0,193,9,0,0,0,0,0,0,132,8,0,0,36,8,0,0,193,9,0,0,1,0,0,0,148,8,0,0,52,8,0,0,161,8,0,0,0,0,0,0,164,8,0,0,68,8,0,0,161,8,0,0,1,0,0,0,180,8,0,0,84,8,0,0,33,5,0,0,0,0,0,0,196,8,0,0,100,8,0,0,33,5,0,0,1,0,0,0,212,8,0,0,116,8,0,0,65,4,0,0,0,0,0,0,228,8,0,0,132,8,0,0,65,4,0,0,1,0,0,0,244,8,0,0,148,8,0,0,161,2,0,0,0,0,0,0,4,9,0,0,164,8,0,0,161,2,0,0,1,0,0,0,20,9,0,0,180,8,0,0,33,2,0,0,0,0,0,0,36,9,0,0,196,8,0,0,33,2,0,0,1,0,0,0,52,9,0,0,212,8,0,0,65,1,0,0,0,0,0,0,68,9,0,0,228,8,0,0,65,1,0,0,1,0,0,0,84,9,0,0,244,8,0,0,17,1,0,0,0,0,0,0,100,9,0,0,4,9,0,0,17,1,0,0,1,0,0,0,116,9,0,0,20,9,0,0,133,0,0,0,0,0,0,0,132,9,0,0,36,9,0,0,133,0,0,0,1,0,0,0,148,9,0,0,52,9,0,0,73,0,0,0,0,0,0,0,164,9,0,0,68,9,0,0,73,0,0,0,1,0,0,0,180,9,0,0,84,9,0,0,37,0,0,0,0,0,0,0,196,9,0,0,100,9,0,0,37,0,0,0,1,0,0,0,212,9,0,0,116,9,0,0,21,0,0,0,0,0,0,0,228,9,0,0,132,9,0,0,21,0,0,0,1,0,0,0,244,9,0,0,148,9,0,0,9,0,0,0,0,0,0,0,4,10,0,0,164,9,0,0,9,0,0,0,1,0,0,0,20,10,0,0,180,9,0,0,5,0,0,0,0,0,0,0,36,10,0,0,196,9,0,0,5,0,0,0,1,0,0,0,52,10,0,0,212,9,0,0,1,0,0,0,0,0,0,0,36,10,0,0,228,9,0,0,1,0,0,0,1,0,0,0,52,10,0,0,244,9,0,0,1,86,0,0,0,0,0,0,68,10,0,0,68,10,0,0,1,86,0,0,1,0,0,0,84,10,0,0,84,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,38,94,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,64,4,32,0,32,2,128,0,128,8,16,0,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,0,3,128,4,0,6,128,7,0,9,128,10,0,12,128,13,0,15,128,16,0,18,128,19,0,21,128,22,0,24,128,25,0,27,128,28,0,30,128,31,0,33,128,34,0,36,128,37,0,39,128,40,0,42,128,43,0,45,128,46,0,48,128,49,0,51,128,52,0,54,128,55,0,57,128,58,0,60,128,61,0,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,0,81,128,82,0,84,128,85,0,87,128,88,0,90,128,91,0,93,128,94,0,96,128,97,0,99,128,100,0,102,128,103,0,105,128,106,0,108,128,109,0,111,128,112,0,114,128,115,0,117,128,118,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,128,38,128,39,128,40,128,41,0,43,0,44,0,45,128,46,128,47,0,49,0,50,128,51,128,52,0,54,0,55,128,56,0,58,0,59,128,60,0,62,128,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,128,81,0,83,128,84,0,86,0,88,128,89,0,91,0,93,128,94,128,96,0,98,0,100,128,101,128,103,0,105,0,107,0,109,128,110,128,112,128,114,128,116,0,118,0,120,0,122,0,124,0,126,0,24,128,23,0,23,128,22,0,22,128,21,0,21,128,20,0,20,128,19,0,19,128,18,0,18,128,17,0,17,128,16,0,16,128,15,0,15,128,14,0,14,128,13,0,13,128,12,0,12,128,11,0,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,0,5,128,4,0,4,128,3,0,3,128,2,0,2,128,1,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,1,128,1,0,2,128,2,0,3,128,3,0,4,128,4,0,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,0,11,128,11,0,12,128,12,0,13,128,13,0,14,128,14,0,15,128,15,0,16,128,16,0,17,128,17,0,18,128,18,0,19,128,19,0,20,128,20,0,21,128,21,0,22,128,22,0,23,128,23,0,32,0,31,0,30,0,29,0,28,0,27,128,26,128,25,128,24,128,23,0,23,0,22,0,21,128,20,128,19,0,19,0,18,128,17,128,16,0,16,0,15,128,14,0,14,0,13,128,12,0,12,128,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,128,5,0,5,128,4,0,4,0,4,128,3,0,3,0,3,128,2,128,2,0,2,0,2,128,1,128,1,0,1,0,1,0,1,128,0,128,0,128,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,116,104,101,32,100,101,99,111,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,104,101,97,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,33,0,91,69,82,82,79,82,93,32,37,115,0,83,116,114,101,97,109,32,114,101,97,99,104,101,100,32,105,116,115,32,101,110,100,32,33,10,0,69,114,114,111,114,32,111,110,32,119,114,105,116,105,110,103,32,115,116,114,101,97,109,33,10,0,83,116,114,101,97,109,32,101,114,114,111,114,33,10,0,50,46,49,46,48,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,115,101,116,117,112,95,100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,114,101,97,100,95,104,101,97,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,119,98,0,114,98,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,44,37,100,93,10,0,68,101,112,114,101,99,97,116,101,100,32,102,105,101,108,100,115,32,99,112,95,99,105,110,101,109,97,32,111,114,32,99,112,95,114,115,105,122,32,97,114,101,32,117,115,101,100,10,80,108,101,97,115,101,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,111,110,108,121,32,116,104,101,32,114,115,105,122,32,102,105,101,108,100,10,83,101,101,32,111,112,101,110,106,112,101,103,46,104,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,10,0,84,104,101,32,100,101,115,105,114,101,100,32,109,97,120,105,109,117,109,32,99,111,100,101,115,116,114,101,97,109,32,115,105,122,101,32,104,97,115,32,108,105,109,105,116,101,100,10,97,116,32,108,101,97,115,116,32,111,110,101,32,111,102,32,116,104,101,32,100,101,115,105,114,101,100,32,113,117,97,108,105,116,121,32,108,97,121,101,114,115,10,0,74,80,69,71,32,50,48,48,48,32,83,99,97,108,97,98,108,101,32,68,105,103,105,116,97,108,32,67,105,110,101,109,97,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,49,32,115,105,110,103,108,101,32,113,117,97,108,105,116,121,32,108,97,121,101,114,45,62,32,78,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,45,62,32,82,97,116,101,32,111,102,32,116,104,101,32,108,97,115,116,32,108,97,121,101,114,32,40,37,51,46,49,102,41,32,119,105,108,108,32,98,101,32,117,115,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,60,61,32,53,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,53,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,54,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,51,48,50,48,56,51,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,48,52,49,54,54,54,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,51,32,99,111,109,112,111,110,101,110,116,115,45,62,32,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,115,105,103,110,101,100,0,117,110,115,105,103,110,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,80,114,101,99,105,115,105,111,110,32,111,102,32,101,97,99,104,32,99,111,109,112,111,110,101,110,116,32,115,104,97,108,108,32,98,101,32,49,50,32,98,105,116,115,32,117,110,115,105,103,110,101,100,45,62,32,65,116,32,108,101,97,115,116,32,99,111,109,112,111,110,101,110,116,32,37,100,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,32,98,105,116,115,44,32,37,115,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,50,48,52,56,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,49,48,56,48,10,45,62,32,73,110,112,117,116,32,105,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,52,48,57,54,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,50,49,54,48,10,45,62,32,73,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,52,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,76,111,110,103,32,84,101,114,109,32,83,116,111,114,97,103,101,32,112,114,111,102,105,108,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,66,114,111,97,100,99,97,115,116,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,73,77,70,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,97,114,116,45,50,32,112,114,111,102,105,108,101,32,100,101,102,105,110,101,100,10,98,117,116,32,110,111,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,46,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,85,110,115,117,112,112,111,114,116,101,100,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,117,115,101,114,32,101,110,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,37,115,37,115,0,67,114,101,97,116,101,100,32,98,121,32,79,112,101,110,74,80,69,71,32,118,101,114,115,105,111,110,32,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,104,101,99,107,105,110,103,32,116,104,101,32,112,111,99,32,118,97,108,117,101,115,46,10,0,77,105,115,115,105,110,103,32,112,97,99,107,101,116,115,32,112,111,115,115,105,98,108,101,32,108,111,115,115,32,111,102,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,101,109,112,32,98,117,102,102,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,70,97,105,108,101,100,32,116,111,32,105,110,118,101,114,115,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,110,111,114,109,115,32,10,0,70,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,106,50,107,32,109,99,116,32,101,110,99,111,100,105,110,103,10,0,67,97,110,110,111,116,32,112,101,114,102,111,114,109,32,77,67,84,32,111,110,32,99,111,109,112,111,110,101,110,116,115,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,46,32,68,105,115,97,98,108,105,110,103,32,77,67,84,46,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,10,0,73,110,99,111,110,115,105,115,116,101,110,116,32,109,97,114,107,101,114,32,115,105,122,101,10,0,77,97,114,107,101,114,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,32,119,105,116,104,32,105,116,115,32,112,111,115,105,116,105,111,110,10,0,77,97,114,107,101,114,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,104,101,97,100,101,114,10,0,78,111,116,32,115,117,114,101,32,104,111,119,32,116,104,97,116,32,104,97,112,112,101,110,101,100,46,10,0,70,97,105,108,32,116,111,32,114,101,97,100,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,40,37,35,120,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,116,108,32,109,97,114,107,101,114,10,0,84,105,108,101,32,112,97,114,116,32,108,101,110,103,116,104,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,79,84,32,109,97,114,107,101,114,10,0,111,112,106,95,106,50,107,95,97,112,112,108,121,95,110,98,95,116,105,108,101,95,112,97,114,116,115,95,99,111,114,114,101,99,116,105,111,110,32,101,114,114,111,114,10,0,78,111,110,32,99,111,110,102,111,114,109,97,110,116,32,99,111,100,101,115,116,114,101,97,109,32,84,80,115,111,116,61,61,84,78,115,111,116,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,84,32,109,97,114,107,101,114,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,84,32,100,97,116,97,10,0,67,97,110,110,111,116,32,100,101,99,111,100,101,32,116,105,108,101,44,32,109,101,109,111,114,121,32,101,114,114,111,114,10,0,72,101,97,100,101,114,32,111,102,32,116,105,108,101,32,37,100,32,47,32,37,100,32,104,97,115,32,98,101,101,110,32,114,101,97,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,46,10,0,78,111,32,69,79,67,32,109,97,114,107,101,114,46,32,80,111,115,115,105,98,108,121,32,97,32,116,114,117,110,99,97,116,101,100,32,115,116,114,101,97,109,10,0,83,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,101,110,100,32,119,105,116,104,32,69,79,67,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,44,32,101,120,112,101,99,116,101,100,32,83,79,84,10,0,78,101,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,98,101,102,111,114,101,32,98,101,103,105,110,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,99,111,100,101,115,116,114,101,97,109,0,78,111,32,100,101,99,111,100,101,100,32,97,114,101,97,32,112,97,114,97,109,101,116,101,114,115,44,32,115,101,116,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,116,111,32,116,104,101,32,119,104,111,108,101,32,105,109,97,103,101,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,83,105,122,101,32,120,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,119,61,37,100,41,46,10,0,83,105,122,101,32,121,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,104,61,37,100,41,46,10,0,83,101,116,116,105,110,103,32,100,101,99,111,100,105,110,103,32,97,114,101,97,32,116,111,32,37,100,44,37,100,44,37,100,44,37,100,10,0,87,114,111,110,103,32,102,108,97,103,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,102,111,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,116,120,48,61,37,100,44,32,116,121,48,61,37,100,10,0,9,32,116,100,120,61,37,100,44,32,116,100,121,61,37,100,10,0,9,32,116,119,61,37,100,44,32,116,104,61,37,100,10,0,125,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,100,101,120,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,77,97,105,110,32,104,101,97,100,101,114,32,115,116,97,114,116,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,9,32,77,97,105,110,32,104,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),allocate([97,100,101,114,32,101,110,100,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,0,9,32,77,97,114,107,101,114,32,108,105,115,116,58,32,123,10,0,9,9,32,116,121,112,101,61,37,35,120,44,32,112,111,115,61,37,108,108,105,44,32,108,101,110,61,37,100,10,0,9,32,125,10,0,9,32,84,105,108,101,32,105,110,100,101,120,58,32,123,10,0,9,9,32,110,98,32,111,102,32,116,105,108,101,45,112,97,114,116,32,105,110,32,116,105,108,101,32,91,37,100,93,61,37,100,10,0,9,9,9,32,116,105,108,101,45,112,97,114,116,91,37,100,93,58,32,115,116,97,114,95,112,111,115,61,37,108,108,105,44,32,101,110,100,95,104,101,97,100,101,114,61,37,108,108,105,44,32,101,110,100,95,112,111,115,61,37,108,108,105,46,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,73,109,97,103,101,32,105,110,102,111,32,123,10,0,37,115,32,120,48,61,37,100,44,32,121,48,61,37,100,10,0,37,115,32,120,49,61,37,100,44,32,121,49,61,37,100,10,0,37,115,32,110,117,109,99,111,109,112,115,61,37,100,10,0,37,115,9,32,99,111,109,112,111,110,101,110,116,32,37,100,32,123,10,0,37,115,125,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,99,111,109,112,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,37,115,32,100,120,61,37,100,44,32,100,121,61,37,100,10,0,37,115,32,112,114,101,99,61,37,100,10,0,37,115,32,115,103,110,100,61,37,100,10,0,87,101,32,110,101,101,100,32,97,110,32,105,109,97,103,101,32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,46,10,0,84,105,108,101,32,105,110,100,101,120,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,115,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116,32,37,100,32,40,109,97,120,32,61,32,37,100,41,32,10,0,82,101,115,111,108,117,116,105,111,110,32,102,97,99,116,111,114,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,114,101,115,111,108,117,116,105,111,110,32,105,110,32,116,104,101,32,99,111,109,112,111,110,101,110,116,46,10,0,84,104,101,32,103,105,118,101,110,32,116,105,108,101,32,105,110,100,101,120,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,0,116,105,108,101,32,110,117,109,98,101,114,32,37,100,32,47,32,37,100,10,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,101,110,99,111,100,101,32,97,108,108,32,116,105,108,101,115,10,0,83,105,122,101,32,109,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,116,105,108,101,32,100,97,116,97,32,97,110,100,32,115,101,110,116,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,104,101,97,100,101,114,46,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,114,101,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,111,115,116,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,105,108,101,32,67,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,66,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,84,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,79,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,116,104,101,32,67,79,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,80,79,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,84,76,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,81,99,100,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,83,73,90,32,109,97,114,107,101,114,10,0,78,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,105,115,32,116,111,111,32,104,105,103,104,32,105,110,32,99,111,109,112,97,114,105,115,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,105,108,101,115,10,0,67,97,110,110,111,116,32,101,110,99,111,100,101,32,116,105,108,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,111,110,101,32,116,105,108,101,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,101,101,107,32,102,117,110,99,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,84,105,108,101,32,37,100,47,37,100,32,104,97,115,32,98,101,101,110,32,100,101,99,111,100,101,100,46,10,0,73,109,97,103,101,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,117,112,100,97,116,101,100,32,119,105,116,104,32,116,105,108,101,32,37,100,46,10,10,0,84,105,108,101,32,114,101,97,100,44,32,100,101,99,111,100,101,100,32,97,110,100,32,117,112,100,97,116,101,100,32,105,115,32,110,111,116,32,116,104,101,32,100,101,115,105,114,101,100,32,111,110,101,32,40,37,100,32,118,115,32,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,115,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,9,32,100,101,102,97,117,108,116,32,116,105,108,101,32,123,10,0,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,32,112,114,103,61,37,35,120,10,0,9,9,32,110,117,109,108,97,121,101,114,115,61,37,100,10,0,9,9,32,109,99,116,61,37,120,10,0,9,9,32,99,111,109,112,32,37,100,32,123,10,0,9,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,9,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,61,37,100,10,0,9,9,9,32,99,98,108,107,119,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,104,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,115,116,121,61,37,35,120,10,0,9,9,9,32,113,109,102,98,105,100,61,37,100,10,0,9,9,9,32,112,114,101,99,99,105,110,116,115,105,122,101,32,40,119,44,104,41,61,0,40,37,100,44,37,100,41,32,0,9,9,9,32,113,110,116,115,116,121,61,37,100,10,0,9,9,9,32,110,117,109,103,98,105,116,115,61,37,100,10,0,9,9,9,32,115,116,101,112,115,105,122,101,115,32,40,109,44,101,41,61,0,9,9,9,32,114,111,105,115,104,105,102,116,61,37,100,10,0,9,9,32,125,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,79,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,115,116,97,103,101,115,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,100,97,116,97,32,115,112,97,110,110,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,99,111,108,108,101,99,116,105,111,110,115,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,116,104,101,114,32,116,104,97,110,32,97,114,114,97,121,32,100,101,99,111,114,114,101,108,97,116,105,111,110,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,105,110,100,105,120,32,115,104,117,102,102,108,101,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,111,117,116,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,105,110,100,105,120,101,115,10,0,67,114,114,111,114,32,114,101,97,100,105,110,103,32,67,66,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,99,116,32,100,97,116,97,32,119,105,116,104,105,110,32,109,117,108,116,105,112,108,101,32,77,67,84,32,114,101,99,111,114,100,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,77,67,84,32,109,97,114,107,101,114,115,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,82,71,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,58,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,104,97,118,101,32,98,101,101,110,32,112,114,101,118,105,111,117,115,108,121,32,102,111,117,110,100,32,105,110,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,40,80,80,77,32,109,97,114,107,101,114,41,46,10,0,90,112,112,116,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,77,32,109,97,114,107,101,114,10,0,90,112,112,109,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,84,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,105,108,108,101,103,97,108,32,45,62,32,37,100,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,110,117,109,98,101,114,32,111,102,32,112,97,114,97,109,101,116,101,114,115,32,40,32,37,100,32,118,115,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,101,103,97,116,105,118,101,32,111,114,32,122,101,114,111,32,105,109,97,103,101,32,115,105,122,101,32,40,37,100,32,120,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,110,118,97,108,105,100,32,116,105,108,101,32,115,105,122,101,32,40,116,100,120,58,32,37,100,44,32,116,100,121,58,32,37,100,41,10,0,80,114,101,118,101,110,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,32,40,120,49,58,32,37,100,44,32,121,49,58,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,108,108,101,103,97,108,32,116,105,108,101,32,111,102,102,115,101,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,83,73,90,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32,99,111,109,112,32,61,32,37,100,32,58,32,100,120,61,37,117,32,100,121,61,37,117,10,32,40,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,50,53,53,32,97,99,99,111,114,100,105,110,103,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,41,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,115,32,58,32,37,117,32,120,32,37,117,32,40,109,97,120,105,109,117,109,32,102,105,120,101,100,32,98,121,32,106,112,101,103,50,48,48,48,32,110,111,114,109,32,105,115,32,54,53,53,51,53,32,116,105,108,101,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,79,67,32,109,97,114,107,101,114,10,0,84,111,111,32,109,97,110,121,32,80,79,67,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,67,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,58,32,37,100,44,32,114,101,103,97,114,100,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,81,99,100,32,111,114,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,87,104,105,108,101,32,114,101,97,100,105,110,103,32,67,67,80,95,81,78,84,83,84,89,32,101,108,101,109,101,110,116,32,105,110,115,105,100,101,32,81,67,68,32,111,114,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,44,32,110,117,109,98,101,114,32,111,102,32,115,117,98,98,97,110,100,115,32,40,37,100,41,32,105,115,32,103,114,101,97,116,101,114,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,46,32,83,111,32,119,101,32,108,105,109,105,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,115,116,111,114,101,100,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,32,97,110,100,32,115,107,105,112,32,116,104,101,32,114,101,115,116,46,32,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,82,71,78,32,109,97,114,107,101,114,10,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,32,105,110,32,82,71,78,32,40,37,100,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,37,100,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,32,40,98,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,102,111,114,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,44,32,109,97,120,32,118,97,108,117,101,32,105,115,32,115,101,116,32,105,110,32,111,112,101,110,106,112,101,103,46,104,32,97,116,32,37,100,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,99,111,109,112,111,110,101,110,116,32,37,100,46,10,84,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,116,111,32,114,101,109,111,118,101,32,105,115,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,111,102,32,116,104,105,115,32,99,111,109,112,111,110,101,110,116,10,77,111,100,105,102,121,32,116,104,101,32,99,112,95,114,101,100,117,99,101,32,112,97,114,97,109,101,116,101,114,46,10,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,44,32,73,110,118,97,108,105,100,32,99,98,108,107,119,47,99,98,108,107,104,32,99,111,109,98,105,110,97,116,105,111,110,10,0,73,110,118,97,108,105,100,32,112,114,101,99,105,110,99,116,32,115,105,122,101,10,0,67,79,68,32,109,97,114,107,101,114,32,97,108,114,101,97,100,121,32,114,101,97,100,46,32,78,111,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,67,79,68,32,109,97,114,107,101,114,32,112,101,114,32,116,105,108,101,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,83,99,111,100,32,118,97,108,117,101,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,112,114,111,103,114,101,115,115,105,111,110,32,111,114,100,101,114,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,105,110,32,67,79,68,32,109,97,114,107,101,114,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,45,54,53,53,51,53,93,10,0,73,110,118,97,108,105,100,32,116,105,108,101,32,110,117,109,98,101,114,32,37,100,10,0,69,109,112,116,121,32,83,79,84,32,109,97,114,107,101,114,32,100,101,116,101,99,116,101,100,58,32,80,115,111,116,61,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,114,114,101,99,116,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,58,32,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,108,101,45,112,97,114,116,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,44,32,119,101,32,97,115,115,117,109,105,110,103,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,108,101,45,112,97,114,116,32,111,102,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,46,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,104,101,97,100,101,114,41,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,83,79,84,32,109,97,114,107,101,114,46,32,84,105,108,101,32,105,110,100,101,120,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,10,0,83,116,97,114,116,32,116,111,32,114,101,97,100,32,106,50,107,32,109,97,105,110,32,104,101,97,100,101,114,32,40,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,109,104,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,97,32,83,79,67,32,109,97,114,107,101,114,32,10,0,65,32,109,97,114,107,101,114,32,73,68,32,119,97,115,32,101,120,112,101,99,116,101,100,32,40,48,120,102,102,45,45,41,32,105,110,115,116,101,97,100,32,111,102,32,37,46,56,120,10,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,32,109,97,114,107,101,114,32,104,97,118,101,32,98,101,101,110,32,100,101,116,101,99,116,101,100,32,97,110,100,32,103,101,110,101,114,97,116,101,100,32,101,114,114,111,114,46,10,0,77,97,114,107,101,114,32,104,97,110,100,108,101,114,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,10,0,114,101,113,117,105,114,101,100,32,83,73,90,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,67,79,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,81,67,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,98,121,116,101,115,32,116,111,32,114,101,97,100,32,78,112,112,109,10,0,67,111,114,114,117,112,116,101,100,32,80,80,77,32,109,97,114,107,101,114,115,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,77,32,100,97,116,97,10,0,77,97,105,110,32,104,101,97,100,101,114,32,104,97,115,32,98,101,101,110,32,99,111,114,114,101,99,116,108,121,32,100,101,99,111,100,101,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,105,110,32,116,104,101,32,74,80,50,32,102,105,108,101,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,119,104,105,108,101,32,115,101,116,116,105,110,103,32,117,112,32,74,80,50,32,101,110,99,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,104,101,110,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,117,110,107,110,111,119,110,32,101,110,117,109,99,115,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,110,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,99,111,109,112,111,110,101,110,116,115,32,102,111,114,32,97,110,32,97,117,116,111,109,97,116,105,99,32,99,100,101,102,32,98,111,120,32,99,114,101,97,116,105,111,110,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,112,111,115,105,116,105,111,110,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,99,111,108,111,114,32,99,104,97,110,110,101,108,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,77,117,108,116,105,112,108,101,32,97,108,112,104,97,32,99,104,97,110,110,101,108,115,32,115,112,101,99,105,102,105,101,100,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,74,80,50,32,98,111,120,32,119,104,105,99,104,32,97,114,101,32,97,102,116,101,114,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,110,111,116,32,98,101,32,114,101,97,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,111,108,100,32,74,80,50,32,72,101,97,100,101,114,32,100,97,116,97,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,102,116,121,112,32,100,97,116,97,10,0,69,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,102,116,121,112,32,100,97,116,97,32,116,111,32,115,116,114,101,97,109,10,0,70,97,105,108,101,100,32,116,111,32,115,101,101,107,32,105,110,32,116,104,101,32,115,116,114,101,97,109,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,102,105,108,101,32,104,101,97,100,101,114,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,115,105,122,101,115,32,104,105,103,104,101,114,32,116,104,97,110,32,50,94,51,50,10,0,98,97,100,32,112,108,97,99,101,100,32,106,112,101,103,32,99,111,100,101,115,116,114,101,97,109,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,117,110,100,101,102,105,110,101,100,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,40,37,120,41,10,0,70,111,117,110,100,32,97,32,109,105,115,112,108,97,99,101,100,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,111,117,116,115,105,100,101,32,106,112,50,104,32,98,111,120,10,0,74,80,69,71,50,48,48,48,32,72,101,97,100,101,114,32,98,111,120,32,110,111,116,32,114,101,97,100,32,121,101,116,44,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,107,105,112,112,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,73,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,102,111,114,32,98,111,120,32,39,37,99,37,99,37,99,37,99,39,46,32,78,101,101,100,32,37,100,32,98,121,116,101,115,44,32,37,100,32,98,121,116,101,115,32,114,101,109,97,105,110,105,110,103,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,98,111,120,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,114,101,97,100,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,102,105,114,115,116,32,98,111,120,32,109,117,115,116,32,98,101,32,74,80,69,71,32,50,48,48,48,32,115,105,103,110,97,116,117,114,101,32,98,111,120,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,115,101,99,111,110,100,32,98,111,120,32,109,117,115,116,32,98,101,32,102,105,108,101,32,116,121,112,101,32,98,111,120,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,68,69,70,32,98,111,120,46,10,0,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,32,105,110,32,67,68,69,70,32,98,111,120,46,10,0,78,101,101,100,32,116,111,32,114,101,97,100,32,97,32,80,67,76,82,32,98,111,120,32,98,101,102,111,114,101,32,116,104,101,32,67,77,65,80,32,98,111,120,46,10,0,79,110,108,121,32,111,110,101,32,67,77,65,80,32,98,111,120,32,105,115,32,97,108,108,111,119,101,100,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,77,65,80,32,98,111,120,46,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,37,100,32,101,110,116,114,105,101,115,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,48,32,112,97,108,101,116,116,101,32,99,111,108,117,109,110,115,10,0,65,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,108,116,104,111,117,103,104,32,66,80,67,32,103,105,118,101,110,32,98,121,32,116,104,101,32,73,72,68,82,32,98,111,120,32,40,37,100,41,32,105,110,100,105,99,97,116,101,32,99,111,109,112,111,110,101,110,116,115,32,98,105,116,32,100,101,112,116,104,32,105,115,32,99,111,110,115,116,97,110,116,10,0,66,97,100,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,65,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,114,101,97,100,101,114,32,115,104,97,108,108,32,105,103,110,111,114,101,32,97,108,108,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,101,115,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,44,32,115,111,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,111,110,101,46,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,67,73,69,76,97,98,44,32,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,67,79,76,82,32,66,79,88,32,109,101,116,104,32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,118,97,108,117,101,32,40,37,100,41,44,32,115,111,32,119,101,32,119,105,108,108,32,105,103,110,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,46,32,10,0,66,97,100,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,40,105,104,100,114,41,10,0,74,80,50,32,73,72,68,82,32,98,111,120,58,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,102,105,108,101,32,40,37,100,41,32,10,0,84,104,101,32,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,56,32,98,121,116,101,115,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,88,76,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,49,54,32,98,121,116,101,115,10,0,66,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,98,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,110,111,32,39,105,104,100,114,39,32,98,111,120,46,10,0,84,104,101,32,102,116,121,112,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,115,101,99,111,110,100,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,70,84,89,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,105,116,104,32,70,84,89,80,32,66,111,120,10,0,84,104,101,32,115,105,103,110,97,116,117,114,101,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,83,105,103,110,97,116,117,114,101,32,58,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,97,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,32,40,62,61,32,37,100,41,46,10,0,73,110,99,111,109,112,108,101,116,101,32,99,104,97,110,110,101,108,32,100,101,102,105,110,105,116,105,111,110,115,46,10,0,85,110,101,120,112,101,99,116,101,100,32,79,79,77,46,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,47,112,97,108,101,116,116,101,32,105,110,100,101,120,32,102,111,114,32,100,105,114,101,99,116,32,109,97,112,112,105,110,103,32,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,105,115,32,109,97,112,112,101,100,32,116,119,105,99,101,46,10,0,68,105,114,101,99,116,32,117,115,101,32,97,116,32,35,37,100,32,104,111,119,101,118,101,114,32,112,99,111,108,61,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,100,111,101,115,110,39,116,32,104,97,118,101,32,97,32,109,97,112,112,105,110,103,46,10,0,67,111,109,112,111,110,101,110,116,32,109,97,112,112,105,110,103,32,115,101,101,109,115,32,119,114,111,110,103,46,32,84,114,121,105,110,103,32,116,111,32,99,111,114,114,101,99,116,46,10,0,84,105,108,101,115,32,100,111,110,39,116,32,97,108,108,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,100,105,109,101,110,115,105,111,110,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,40,37,100,41,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,97,32,77,67,84,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,116,105,108,101,115,32,114,101,113,117,105,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,114,101,115,111,108,117,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,114,101,115,111,108,117,116,105,111,110,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,98,97,110,100,32,112,114,101,99,105,110,116,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,101,99,105,110,99,116,32,99,111,100,101,98,108,111,99,107,32,101,108,101,109,101,110,116,10,0,78,111,32,105,110,99,108,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,32,105,109,115,98,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,10,0,116,103,116,95,99,114,101,97,116,101,32,116,114,101,101,45,62,110,117,109,110,111,100,101,115,32,61,61,32,48,44,32,110,111,32,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,32,110,111,100,101,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,116,97,103,32,116,114,101,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,97,32,110,101,119,32,118,97,108,105,100,97,116,105,111,110,32,112,114,111,99,101,100,117,114,101,10,0,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240),allocate([7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,3,6,3,6,6,8,3,6,6,8,6,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,99,117,114,114,101,110,116,32,115,105,122,101,32,40,37,100,32,62,32,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,115,107,105,112,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480),allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+25118);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}assert(tempDoublePtr%8==0),Module._i64Subtract=_i64Subtract;var _floorf=Math_floor;Module._bitshift64Ashr=_bitshift64Ashr;var _SItoF=!0;Module._memset=_memset;var _BDtoILow=!0,_ceilf=Math_ceil;function _abort(){Module.abort()}function ___lock(){}function ___unlock(){}Module._bitshift64Shl=_bitshift64Shl,Module._i64Add=_i64Add;var _floor=Math_floor,_sqrt=Math_sqrt,PATH=void 0;function _emscripten_set_main_loop_timing(e,i){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){setTimeout(Browser.mainLoop.runner,i)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var r=[],t="__emcc";function n(e){e.source===window&&e.data===t&&(e.stopPropagation(),r.shift()())}window.addEventListener("message",n,!0),window.setImmediate=function(e){r.push(e),window.postMessage(t,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(e,i,r,t,n){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=t;var f=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var i=Date.now(),r=Browser.mainLoop.queue.shift();if(r.func(r.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,a=n%1==0?n-1:Math.floor(n);r.counted?Browser.mainLoop.remainingBlockers=a:(a+=.5,Browser.mainLoop.remainingBlockers=(8*n+a)/9)}return console.log('main loop blocker "'+r.name+'" took '+(Date.now()-i)+" ms"),Browser.mainLoop.updateStatus(),void setTimeout(Browser.mainLoop.runner,0)}f1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0?Browser.mainLoop.scheduler():("timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter((function(){void 0!==t?Runtime.dynCall("vi",e,[t]):Runtime.dynCall("v",e)})),f0?_emscripten_set_main_loop_timing(0,1e3/i):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,i=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,i),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",i=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;i?i=6;){var a=t>>n-6&63;n-=6,r+=i[a]}return 2==n?(r+=i[(3&t)<<4],r+="=="):4==n&&(r+=i[(15&t)<<2],r+="="),r}(e),f(o))},o.src=s,Browser.safeSetTimeout((function(){f(o)}),1e4)}};Module.preloadPlugins.push(i);var r=Module.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),Module.elementPointerLock&&r.addEventListener("click",(function(e){!Browser.pointerLock&&r.requestPointerLock&&(r.requestPointerLock(),e.preventDefault())}),!1))}function t(){Browser.pointerLock=document.pointerLockElement===r||document.mozPointerLockElement===r||document.webkitPointerLockElement===r||document.msPointerLockElement===r}},createContext:function(e,i,r,t){if(i&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,f;if(i){var a={antialias:!1,alpha:!1};if(t)for(var l in t)a[l]=t[l];(f=GL.createContext(e,a))&&(n=GL.getContext(f).GLctx),e.style.backgroundColor="black"}else n=e.getContext("2d");return n?(r&&(i||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=n,i&&GL.makeContextCurrent(f),Module.useWebGL=i,Browser.moduleContextCreatedCallbacks.forEach((function(e){e()})),Browser.init()),n):null},destroyContext:function(e,i,r){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,i,r){Browser.lockPointer=e,Browser.resizeCanvas=i,Browser.vrDevice=r,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var t=Module.canvas;function n(){Browser.isFullScreen=!1;var e=t.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},t.cancelFullScreen=t.cancelFullScreen.bind(document),Browser.lockPointer&&t.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen),Browser.updateCanvasDimensions(t)}Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var f=document.createElement("div");t.parentNode.insertBefore(f,t),f.appendChild(t),f.requestFullScreen=f.requestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullScreen?function(){f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?f.requestFullScreen({vrDisplay:r}):f.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var i=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=i+1e3/60;else for(;i+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-i,0);setTimeout(e,r)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,i){return Module.noExitRuntime=!0,setTimeout((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}),i)},safeSetInterval:function(e,i){return Module.noExitRuntime=!0,setInterval((function(){ABORT||Browser.allowAsyncCallbacks&&e()}),i)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var i=0;switch(e.type){case"DOMMouseScroll":i=e.detail;break;case"mousewheel":i=e.wheelDelta;break;case"wheel":i=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return i},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var i=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,t=Module.canvas.height,n=void 0!==window.scrollX?window.scrollX:window.pageXOffset,f=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var a=e.touch;if(void 0===a)return;var l=a.pageX-(n+i.left),s=a.pageY-(f+i.top),o={x:l*=r/i.width,y:s*=t/i.height};if("touchstart"===e.type)Browser.lastTouches[a.identifier]=o,Browser.touches[a.identifier]=o;else if("touchend"===e.type||"touchmove"===e.type){var u=Browser.touches[a.identifier];u||(u=o),Browser.lastTouches[a.identifier]=u,Browser.touches[a.identifier]=o}return}var c=e.pageX-(n+i.left),d=e.pageY-(f+i.top);c*=r/i.width,d*=t/i.height,Browser.mouseMovementX=c-Browser.mouseX,Browser.mouseMovementY=d-Browser.mouseY,Browser.mouseX=c,Browser.mouseY=d}},xhrLoad:function(e,i,r){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?i(t.response):r()},t.onerror=r,t.send(null)},asyncLoad:function(e,i,r,t){Browser.xhrLoad(e,(function(r){assert(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),i(new Uint8Array(r)),t||removeRunDependency("al "+e)}),(function(i){if(!r)throw'Loading data file "'+e+'" failed.';r()})),t||addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach((function(i){i(e.width,e.height)}))},setCanvasSize:function(e,i,r){var t=Module.canvas;Browser.updateCanvasDimensions(t,e,i),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,i,r){i&&r?(e.widthNative=i,e.heightNative=r):(i=e.widthNative,r=e.heightNative);var t=i,n=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(t/n>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),i=SYSCALLS.get();return assert(e>=0?0===i:-1===i),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall54(e,i){SYSCALLS.varargs=i;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}Module._bitshift64Lshr=_bitshift64Lshr;var _BDtoIHigh=!0;function _pthread_cleanup_push(e,i){__ATEXIT__.push((function(){Runtime.dynCall("vi",e,[i])})),_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStr(),t=SYSCALLS.get(),n=SYSCALLS.get();return FS.open(r,t,n).fd}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _emscripten_memcpy_big(e,i,r){return HEAPU8.set(HEAPU8.subarray(i,i+r),e),e}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}Module._memcpy=_memcpy;var _llvm_pow_f64=Math_pow;function _sbrk(e){var i=_sbrk;i.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),i.called=!0,assert(Runtime.dynamicAlloc),i.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e&&!i.alloc(e))return-1>>>0;return r}var _BItoD=!0;function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _pthread_self(){return 0}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get(),f=SYSCALLS.get(),a=SYSCALLS.get(),l=n;return assert(0===t),FS.llseek(r,l,a),HEAP32[f>>2]=r.position,r.getdents&&0===l&&0===a&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{SYSCALLS.get();var r=SYSCALLS.get(),t=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var f=___syscall146.buffer,a=0;a>2],s=HEAP32[r+(8*a+4)>>2],o=0;o>1]=2,0;case 16:case 8:default:return-ERRNO_CODES.EINVAL;case 9:return ___setErrNo(ERRNO_CODES.EINVAL),-1}}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall145(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get();return SYSCALLS.doReadv(r,t,n)}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}Module.requestFullScreen=function(e,i,r){Browser.requestFullScreen(e,i,r)},Module.requestAnimationFrame=function(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function(e,i,r){Browser.setCanvasSize(e,i,r)},Module.pauseMainLoop=function(){Browser.mainLoop.pause()},Module.resumeMainLoop=function(){Browser.mainLoop.resume()},Module.getUserMedia=function(){Browser.getUserMedia()},Module.createContext=function(e,i,r,t){return Browser.createContext(e,i,r,t)},STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX),assert(DYNAMIC_BASE2147483648)return false;c=new t(e);d=new n(e);h=new f(e);b=new a(e);k=new l(e);w=new s(e);_=new o(e);m=new u(e);r=e;return true}function ii(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+48|0;n=u+32|0;o=u+28|0;h[n>>2]=r;if((h[e+8>>2]|0)==16)s=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else s=h[e+12>>2]|0;f=(h[e+80>>2]|0)+16|0;a=(h[f>>2]|0)>>>0<257?1:2;l=a+1|0;if(l>>>0>r>>>0){Zt(t,1,14585,u)|0;t=0;v=u;return t|0}h[n>>2]=r-l;gt(i,o,a);r=h[o>>2]|0;if(r>>>0>=(h[f>>2]|0)>>>0){Zt(t,1,14611,u+8|0)|0;t=0;v=u;return t|0}gt(i+a|0,(h[s+5584>>2]|0)+(r*1080|0)|0,1);if(!(Si(e,h[o>>2]|0,i+l|0,n,t)|0)){Zt(t,1,14585,u+16|0)|0;t=0;v=u;return t|0}if(!(h[n>>2]|0)){t=1;v=u;return t|0}Zt(t,1,14585,u+24|0)|0;t=0;v=u;return t|0}function ri(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+32|0;l=s+8|0;n=s+20|0;a=h[(h[e+80>>2]|0)+16>>2]|0;f=a>>>0<257?1:2;if((f+2|0)!=(r|0)){Zt(t,1,14502,s)|0;l=0;v=s;return l|0}if((h[e+8>>2]|0)==16)e=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else e=h[e+12>>2]|0;gt(i,n,f);gt(i+f|0,s+16|0,1);r=h[n>>2]|0;if(r>>>0>>0){gt(i+(f+1)|0,(h[e+5584>>2]|0)+(r*1080|0)+808|0,1);l=1;v=s;return l|0}else{h[l>>2]=r;h[l+4>>2]=a;Zt(t,1,14528,l)|0;l=0;v=s;return l|0}return 0}function ti(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;a=v;v=v+16|0;n=a+12|0;h[n>>2]=r;if(!(Ti(e,0,i,n,t)|0)){Zt(t,1,14476,a)|0;f=0;v=a;return f|0}if(h[n>>2]|0){Zt(t,1,14476,a+8|0)|0;f=0;v=a;return f|0}if((h[e+8>>2]|0)==16)n=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else n=h[e+12>>2]|0;n=h[n+5584>>2]|0;r=e+80|0;if((h[(h[r>>2]|0)+16>>2]|0)>>>0<=1){f=1;v=a;return f|0}t=n+24|0;e=n+804|0;f=n+28|0;i=1;while(1){h[n+1104>>2]=h[t>>2];h[n+1884>>2]=h[e>>2];Gs(n+1108|0,f|0,776)|0;i=i+1|0;if(i>>>0>=(h[(h[r>>2]|0)+16>>2]|0)>>>0){n=1;break}else n=n+1080|0}v=a;return n|0}function ni(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;d=v;v=v+48|0;c=d+32|0;u=d+24|0;o=d+16|0;f=d+8|0;n=d;s=d+40|0;a=d+36|0;h[s>>2]=r;l=e+80|0;do{if((h[(h[l>>2]|0)+16>>2]|0)>>>0<257){if(r){gt(i,a,1);f=i+1|0;i=r+-1|0;break}Zt(t,1,14129,n)|0;c=0;v=d;return c|0}else{if(r>>>0>=2){gt(i,a,2);f=i+2|0;i=r+-2|0;break}Zt(t,1,14129,f)|0;c=0;v=d;return c|0}}while(0);h[s>>2]=i;n=h[a>>2]|0;i=h[(h[l>>2]|0)+16>>2]|0;if(n>>>0>=i>>>0){h[o>>2]=n;h[o+4>>2]=i;Zt(t,1,14155,o)|0;c=0;v=d;return c|0}if(!(Ti(e,n,f,s,t)|0)){Zt(t,1,14129,u)|0;c=0;v=d;return c|0}if(!(h[s>>2]|0)){c=1;v=d;return c|0}Zt(t,1,14129,c)|0;c=0;v=d;return c|0}function fi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;m=v;v=v+16|0;f=m+8|0;_=m+12|0;w=h[(h[e+80>>2]|0)+16>>2]|0;k=w>>>0<257?1:2;b=(k<<1)+5|0;n=(r>>>0)/(b>>>0)|0;if((n|0)==0|((r>>>0)%(b>>>0)|0|0)!=0){Zt(t,1,14085,m)|0;_=0;v=m;return _|0}if((h[e+8>>2]|0)==16)b=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else b=h[e+12>>2]|0;r=b+5636|0;e=c[r>>0]|0;if(!(e&4))d=0;else d=(h[b+420>>2]|0)+1|0;u=d+n|0;if(u>>>0>31){h[f>>2]=u;Zt(t,1,14111,f)|0;_=0;v=m;return _|0}c[r>>0]=e|4;if(d>>>0>>0){t=k+1|0;o=b+8|0;f=k+3|0;a=k|4;l=a+k|0;s=l+1|0;e=i;n=d;r=b+424+(d*148|0)|0;while(1){gt(e,r,1);gt(e+1|0,r+4|0,k);i=r+8|0;gt(e+t|0,i,2);p=h[i>>2]|0;d=h[o>>2]|0;h[i>>2]=p>>>0>>0?p:d;gt(e+f|0,r+12|0,1);i=r+16|0;gt(e+a|0,i,k);gt(e+l|0,_,1);h[r+36>>2]=h[_>>2];d=h[i>>2]|0;h[i>>2]=d>>>0>>0?d:w;n=n+1|0;if(n>>>0>=u>>>0)break;else{e=e+s|0;r=r+148|0}}}h[b+420>>2]=u+-1;p=1;v=m;return p|0}function ai(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0;N=v;v=v+144|0;B=N+128|0;C=N+120|0;L=N+112|0;R=N+104|0;O=N+96|0;P=N+88|0;T=N+72|0;m=N+64|0;w=N+56|0;k=N+48|0;b=N+40|0;_=N+32|0;l=N+24|0;f=N+16|0;n=N+136|0;y=N+132|0;x=h[e+80>>2]|0;I=e+88|0;if(r>>>0<36){Zt(t,1,13440,N)|0;t=0;v=N;return t|0}D=r+-36|0;u=(D>>>0)/3|0;if((D>>>0)%3|0){Zt(t,1,13440,N+8|0)|0;t=0;v=N;return t|0}gt(i,n,2);d[I>>1]=h[n>>2];E=x+8|0;gt(i+2|0,E,4);S=x+12|0;gt(i+6|0,S,4);gt(i+10|0,x,4);o=x+4|0;gt(i+14|0,o,4);g=e+100|0;gt(i+18|0,g,4);M=e+104|0;gt(i+22|0,M,4);p=e+92|0;gt(i+26|0,p,4);A=e+96|0;gt(i+30|0,A,4);gt(i+34|0,n,2);a=i+36|0;r=h[n>>2]|0;if(r>>>0>=16385){h[f>>2]=r;Zt(t,1,13468,f)|0;t=0;v=N;return t|0}r=r&65535;D=x+16|0;h[D>>2]=r;if((r|0)!=(u|0)){h[l>>2]=r;h[l+4>>2]=u;Zt(t,1,13529,l)|0;t=0;v=N;return t|0}l=h[x>>2]|0;s=h[E>>2]|0;if(s>>>0>l>>>0){r=h[o>>2]|0;i=h[S>>2]|0;if(r>>>0>>0){n=h[g>>2]|0;f=h[M>>2]|0;if(!(ue(f,n)|0)){h[b>>2]=n;h[b+4>>2]=f;Zt(t,1,13705,b)|0;t=0;v=N;return t|0}_=Qs(i|0,0,s|0,0)|0;if(!((_|0)==(ue(i,s)|0)&(j|0)==0)){h[k>>2]=s;h[k+4>>2]=i;Zt(t,1,13766,k)|0;t=0;v=N;return t|0}s=h[p>>2]|0;b=zs(s|0,0,n|0,0)|0;k=j;o=h[A>>2]|0;_=zs(o|0,0,f|0,0)|0;if(s>>>0<=l>>>0?o>>>0<=r>>>0&(b|0-k)>>>0>l>>>0&(_|0-j)>>>0>r>>>0:0){i=Kn(u,52)|0;u=x+24|0;h[u>>2]=i;if(!i){h[D>>2]=0;Zt(t,1,13852,m)|0;t=0;v=N;return t|0}e:do{if(h[D>>2]|0){l=e+168|0;r=0;f=i;while(1){gt(a,y,1);h[f+24>>2]=(h[y>>2]&127)+1;h[f+32>>2]=(h[y>>2]|0)>>>7;gt(a+1|0,y,1);h[f>>2]=h[y>>2];gt(a+2|0,y,1);n=h[y>>2]|0;h[f+4>>2]=n;i=h[f>>2]|0;if((n+-1|0)>>>0>254|(i+-1|0)>>>0>254)break;h[f+36>>2]=0;h[f+40>>2]=h[l>>2];r=r+1|0;if(r>>>0>=(h[D>>2]|0)>>>0)break e;else{a=a+3|0;f=f+52|0}}h[T>>2]=r;h[T+4>>2]=i;h[T+8>>2]=n;Zt(t,1,13900,T)|0;t=0;v=N;return t|0}}while(0);s=h[p>>2]|0;l=h[g>>2]|0;a=((h[E>>2]|0)+-1-s+l|0)/(l|0)|0;h[e+112>>2]=a;f=h[A>>2]|0;n=h[M>>2]|0;i=((h[S>>2]|0)+-1-f+n|0)/(n|0)|0;h[e+116>>2]=i;if(!((i|0)==0|(a|0)==0)?a>>>0<=(65535/(i>>>0)|0)>>>0:0){o=ue(a,i)|0;r=e+28|0;if(!(c[e+76>>0]&2)){h[r>>2]=0;h[e+32>>2]=0;h[e+36>>2]=a;h[e+40>>2]=i}else{h[r>>2]=(((h[r>>2]|0)-s|0)>>>0)/(l>>>0)|0;P=e+32|0;h[P>>2]=(((h[P>>2]|0)-f|0)>>>0)/(n>>>0)|0;P=e+36|0;h[P>>2]=((h[P>>2]|0)+-1-s+l|0)/(l|0)|0;P=e+40|0;h[P>>2]=((h[P>>2]|0)+-1-f+n|0)/(n|0)|0}P=Kn(o,5640)|0;a=e+164|0;h[a>>2]=P;if(!P){Zt(t,1,13852,O)|0;t=0;v=N;return t|0}O=Kn(h[D>>2]|0,1080)|0;i=e+12|0;h[(h[i>>2]|0)+5584>>2]=O;if(!O){Zt(t,1,13852,R)|0;t=0;v=N;return t|0}R=Kn(10,20)|0;r=h[i>>2]|0;h[r+5612>>2]=R;if(!R){Zt(t,1,13852,L)|0;t=0;v=N;return t|0}h[r+5620>>2]=10;L=Kn(10,20)|0;r=h[i>>2]|0;h[r+5624>>2]=L;if(!L){Zt(t,1,13852,C)|0;t=0;v=N;return t|0}h[r+5632>>2]=10;f=h[D>>2]|0;if(f){n=h[u>>2]|0;r=r+5584|0;i=0;do{if(!(h[n+(i*52|0)+32>>2]|0))h[(h[r>>2]|0)+(i*1080|0)+1076>>2]=1<<(h[n+(i*52|0)+24>>2]|0)+-1;i=i+1|0}while(i>>>0>>0)}e:do{if(o){r=h[a>>2]|0;C=Kn(f,1080)|0;h[r+5584>>2]=C;if(C){i=0;while(1){i=i+1|0;if(i>>>0>=o>>>0)break e;C=Kn(h[D>>2]|0,1080)|0;h[r+11224>>2]=C;if(!C)break;else r=r+5640|0}}Zt(t,1,13852,B)|0;t=0;v=N;return t|0}}while(0);h[e+8>>2]=4;nn(x,I);t=1;v=N;return t|0}h[P>>2]=a;h[P+4>>2]=i;Zt(t,1,14002,P)|0;t=0;v=N;return t|0}Zt(t,1,13808,w)|0;t=0;v=N;return t|0}}else{i=h[S>>2]|0;r=h[o>>2]|0}h[_>>2]=s-l;h[_+4>>2]=i-r;Zt(t,1,13643,_)|0;t=0;v=N;return t|0}function li(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=v;v=v+32|0;e=n+12|0;if(r>>>0<2){Zt(t,1,13414,n)|0;t=0;v=n;return t|0}gt(i,n+16|0,1);gt(i+1|0,e,1);i=h[e>>2]|0;if(!(((r+-2|0)>>>0)%(((i>>>5&2)+2+(i>>>4&3)|0)>>>0)|0)){t=1;v=n;return t|0}Zt(t,1,13414,n+8|0)|0;t=0;v=n;return t|0}function si(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=v;v=v+16|0;if(!r){Zt(t,1,13388,e)|0;i=0}else i=1;v=e;return i|0}function oi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+32|0;l=s+8|0;a=s+12|0;if(!r){Zt(t,1,13362,s)|0;t=0;v=s;return t|0}gt(i,s+16|0,1);n=r+-1|0;if(!n){t=1;v=s;return t|0}else{f=0;e=0}do{i=i+1|0;gt(i,a,1);r=h[a>>2]|0;if(!(r&128))e=0;else e=(r&127|e)<<7;f=f+1|0}while((f|0)!=(n|0));if(!e){t=1;v=s;return t|0}Zt(t,1,13362,l)|0;t=0;v=s;return t|0}function ui(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+48|0;d=b+32|0;s=b+24|0;f=b+16|0;n=b+8|0;u=b+36|0;if(r>>>0<2){Zt(t,1,13276,b)|0;d=0;v=b;return d|0}o=e+184|0;c[o>>0]=c[o>>0]|1;gt(i,u,1);o=i+1|0;l=r+-1|0;a=e+124|0;r=h[a>>2]|0;do{if(r){n=e+120|0;i=h[u>>2]|0;if((h[n>>2]|0)>>>0<=i>>>0){e=i+1|0;i=Zn(r,e<<3)|0;if(i){h[a>>2]=i;r=h[n>>2]|0;qs(i+(r<<3)|0,0,e-r<<3|0)|0;h[n>>2]=e;r=h[a>>2]|0;break}Zt(t,1,13302,f)|0;d=0;v=b;return d|0}}else{i=(h[u>>2]|0)+1|0;r=Kn(i,8)|0;h[a>>2]=r;if(r){h[e+120>>2]=i;break}Zt(t,1,13302,n)|0;d=0;v=b;return d|0}}while(0);i=h[u>>2]|0;if(h[r+(i<<3)>>2]|0){h[s>>2]=i;Zt(t,1,13340,s)|0;d=0;v=b;return d|0}s=Gn(l)|0;r=h[u>>2]|0;i=h[a>>2]|0;h[i+(r<<3)>>2]=s;if(!s){Zt(t,1,13302,d)|0;d=0;v=b;return d|0}else{h[i+(r<<3)+4>>2]=l;Gs(h[i+(h[u>>2]<<3)>>2]|0,o|0,l|0)|0;d=1;v=b;return d|0}return 0}function ci(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;w=v;v=v+48|0;k=w+40|0;d=w+32|0;l=w+24|0;a=w+16|0;b=w+44|0;if(r>>>0<2){Zt(t,1,13127,w)|0;k=0;v=w;return k|0}if(c[e+184>>0]&1){Zt(t,1,13153,w+8|0)|0;k=0;v=w;return k|0}f=h[e+200>>2]|0;n=h[e+164>>2]|0;u=n+(f*5640|0)+5636|0;c[u>>0]=c[u>>0]|2;gt(i,b,1);u=i+1|0;o=r+-1|0;s=n+(f*5640|0)+5164|0;i=h[s>>2]|0;do{if(i){n=n+(f*5640|0)+5160|0;e=h[b>>2]|0;if((h[n>>2]|0)>>>0<=e>>>0){r=e+1|0;e=Zn(i,r<<3)|0;if(e){h[s>>2]=e;i=h[n>>2]|0;qs(e+(i<<3)|0,0,r-i<<3|0)|0;h[n>>2]=r;i=h[s>>2]|0;break}Zt(t,1,8775,l)|0;k=0;v=w;return k|0}}else{e=(h[b>>2]|0)+1|0;i=Kn(e,8)|0;h[s>>2]=i;if(i){h[n+(f*5640|0)+5160>>2]=e;break}Zt(t,1,8775,a)|0;k=0;v=w;return k|0}}while(0);e=h[b>>2]|0;if(h[i+(e<<3)>>2]|0){h[d>>2]=e;Zt(t,1,13254,d)|0;k=0;v=w;return k|0}d=Gn(o)|0;i=h[b>>2]|0;e=h[s>>2]|0;h[e+(i<<3)>>2]=d;if(!d){Zt(t,1,8775,k)|0;k=0;v=w;return k|0}else{h[e+(i<<3)+4>>2]=o;Gs(h[e+(h[b>>2]<<3)>>2]|0,u|0,o|0)|0;k=1;v=w;return k|0}return 0}function di(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=v;v=v+16|0;if((h[(h[e+80>>2]|0)+16>>2]<<2|0)==(r|0)){t=1;v=i;return t|0}Zt(t,1,13101,i)|0;t=0;v=i;return t|0}function hi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return 1}function bi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+48|0;w=_+40|0;k=_+32|0;o=_+24|0;b=_+44|0;if((h[e+8>>2]|0)==16)l=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else l=h[e+12>>2]|0;if(r>>>0<2){Zt(t,1,12933,_)|0;w=0;v=_;return w|0}gt(i,b,2);if(h[b>>2]|0){Zt(t,2,12959,_+8|0)|0;w=1;v=_;return w|0}if(r>>>0<7){Zt(t,1,12933,_+16|0)|0;w=0;v=_;return w|0}gt(i+2|0,b,2);c=i+4|0;d=h[b>>2]&255;s=l+5612|0;n=h[s>>2]|0;u=l+5616|0;e=h[u>>2]|0;e:do{if(!e){f=0;a=n}else{f=0;a=n;do{if((h[a+8>>2]|0)==(d|0))break e;a=a+20|0;f=f+1|0}while(f>>>0>>0)}}while(0);if((f|0)==(e|0)){f=l+5620|0;do{if((e|0)==(h[f>>2]|0)){e=e+10|0;h[f>>2]=e;e=Zn(n,e*20|0)|0;if(e){h[s>>2]=e;n=h[u>>2]|0;qs(e+(n*20|0)|0,0,((h[f>>2]|0)-n|0)*20|0)|0;n=h[s>>2]|0;e=h[u>>2]|0;break}Qn(h[s>>2]|0);h[s>>2]=0;h[f>>2]=0;h[u>>2]=0;Zt(t,1,13019,o)|0;w=0;v=_;return w|0}}while(0);h[u>>2]=e+1;a=n+(e*20|0)|0}f=a+12|0;e=h[f>>2]|0;if(e){Qn(e);h[f>>2]=0}h[a+8>>2]=d;d=h[b>>2]|0;h[a+4>>2]=d>>>8&3;h[a>>2]=d>>>10&3;gt(c,b,2);if(h[b>>2]|0){Zt(t,2,13057,k)|0;w=1;v=_;return w|0}e=r+-6|0;n=Gn(e)|0;h[f>>2]=n;if(!n){Zt(t,1,12933,w)|0;w=0;v=_;return w|0}else{Gs(n|0,i+6|0,e|0)|0;h[a+16>>2]=e;w=1;v=_;return w|0}return 0}function ki(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+32|0;n=l+16|0;a=l+12|0;e=e+80|0;f=h[(h[e>>2]|0)+16>>2]|0;if((f+2|0)!=(r|0)){Zt(t,1,12907,l)|0;a=0;v=l;return a|0}gt(i,n,2);if((h[n>>2]|0)!=(f|0)){Zt(t,1,12907,l+8|0)|0;a=0;v=l;return a|0}if(!f){a=1;v=l;return a|0}n=i+2|0;i=0;e=h[(h[e>>2]|0)+24>>2]|0;while(1){gt(n,a,1);h[e+32>>2]=(h[a>>2]|0)>>>7&1;h[e+24>>2]=(h[a>>2]&127)+1;i=i+1|0;if((i|0)==(f|0)){e=1;break}else{n=n+1|0;e=e+52|0}}v=l;return e|0}function wi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0;I=v;v=v+144|0;x=I+120|0;D=I+112|0;C=I+104|0;L=I+96|0;R=I+88|0;O=I+80|0;P=I+72|0;S=I+64|0;T=I+56|0;M=I+48|0;b=I+40|0;d=I+32|0;o=I+24|0;E=I+136|0;p=I+132|0;g=I+128|0;y=I+124|0;if((h[e+8>>2]|0)==16)k=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else k=h[e+12>>2]|0;if(r>>>0<2){Zt(t,1,12567,I)|0;x=0;v=I;return x|0}gt(i,E,2);if(h[E>>2]|0){Zt(t,2,12593,I+8|0)|0;x=1;v=I;return x|0}if(r>>>0<7){Zt(t,1,12567,I+16|0)|0;x=0;v=I;return x|0}gt(i+2|0,p,1);u=i+3|0;s=k+5624|0;n=h[s>>2]|0;A=k+5628|0;e=h[A>>2]|0;e:do{if(!e){a=0;f=n}else{l=h[p>>2]|0;a=0;f=n;do{if((h[f>>2]|0)==(l|0))break e;f=f+20|0;a=a+1|0}while(a>>>0>>0)}}while(0);if((a|0)==(e|0)){f=k+5632|0;do{if((e|0)==(h[f>>2]|0)){e=e+10|0;h[f>>2]=e;e=Zn(n,e*20|0)|0;if(e){h[s>>2]=e;n=h[A>>2]|0;qs(e+(n*20|0)|0,0,((h[f>>2]|0)-n|0)*20|0)|0;n=h[s>>2]|0;e=h[A>>2]|0;break}Qn(h[s>>2]|0);h[s>>2]=0;h[f>>2]=0;h[A>>2]=0;Zt(t,1,12639,o)|0;x=0;v=I;return x|0}}while(0);f=n+(e*20|0)|0}h[f>>2]=h[p>>2];gt(u,E,2);if(h[E>>2]|0){Zt(t,2,12593,d)|0;x=1;v=I;return x|0}gt(i+5|0,g,2);n=h[g>>2]|0;if(n>>>0>1){Zt(t,2,12677,b)|0;x=1;v=I;return x|0}e=r+-7|0;e:do{if(n){w=f+4|0;_=f+16|0;m=f+8|0;r=f+12|0;b=k+5612|0;d=k+5616|0;o=i+7|0;u=0;i:while(1){if(e>>>0<3){n=27;break}gt(o,E,1);if((h[E>>2]|0)!=1){n=29;break}gt(o+1|0,y,2);n=e+-3|0;a=h[y>>2]|0;l=(a>>>15)+1|0;a=a&32767;h[w>>2]=a;f=(ue(l,a)|0)+2|0;if(n>>>0>>0){n=31;break}e=o+3|0;s=n-f|0;if(a){n=0;do{gt(e,E,l);if((h[E>>2]|0)!=(n|0)){n=34;break i}e=e+l|0;n=n+1|0}while(n>>>0<(h[w>>2]|0)>>>0)}gt(e,y,2);n=e+2|0;f=h[y>>2]|0;a=(f>>>15)+1|0;f=f&32767;h[y>>2]=f;if((f|0)!=(h[w>>2]|0)){n=37;break}e=(ue(a,f)|0)+3|0;if(s>>>0>>0){n=39;break}e=s-e|0;if(f){f=0;do{gt(n,E,a);if((h[E>>2]|0)!=(f|0)){n=42;break i}n=n+a|0;f=f+1|0}while(f>>>0<(h[w>>2]|0)>>>0)}gt(n,E,3);o=n+3|0;c[_>>0]=((h[E>>2]|0)>>>16^1)&1|c[_>>0]&-2;h[m>>2]=0;h[r>>2]=0;s=h[E>>2]|0;f=s&255;h[p>>2]=f;if(f){a=h[d>>2]|0;if(!a){n=50;break}l=0;n=h[b>>2]|0;while(1){if((h[n+8>>2]|0)==(f|0))break;l=l+1|0;if(l>>>0>=a>>>0){n=50;break i}else n=n+20|0}h[m>>2]=n}f=s>>>8&255;h[p>>2]=f;if(f){a=h[d>>2]|0;if(!a){n=57;break}l=0;n=h[b>>2]|0;while(1){if((h[n+8>>2]|0)==(f|0))break;l=l+1|0;if(l>>>0>=a>>>0){n=57;break i}else n=n+20|0}h[r>>2]=n}u=u+1|0;if(u>>>0>=(h[g>>2]|0)>>>0)break e}if((n|0)==27){Zt(t,1,12567,M)|0;x=0;v=I;return x|0}else if((n|0)==29){Zt(t,2,12721,T)|0;x=1;v=I;return x|0}else if((n|0)==31){Zt(t,1,12567,S)|0;x=0;v=I;return x|0}else if((n|0)==34){Zt(t,2,12787,P)|0;x=1;v=I;return x|0}else if((n|0)==37){Zt(t,2,12841,O)|0;x=1;v=I;return x|0}else if((n|0)==39){Zt(t,1,12567,R)|0;x=0;v=I;return x|0}else if((n|0)==42){Zt(t,2,12787,L)|0;x=1;v=I;return x|0}else if((n|0)==50){Zt(t,1,12567,C)|0;x=0;v=I;return x|0}else if((n|0)==57){Zt(t,1,12567,D)|0;x=0;v=I;return x|0}}}while(0);if(!e){h[A>>2]=(h[A>>2]|0)+1;x=1;v=I;return x|0}else{Zt(t,1,12567,x)|0;x=0;v=I;return x|0}return 0}function _i(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+32|0;w=_+24|0;k=_+20|0;c=e+80|0;n=h[c>>2]|0;if((h[e+8>>2]|0)==16)f=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else f=h[e+12>>2]|0;if(!r){Zt(t,1,12486,_)|0;w=0;v=_;return w|0}gt(i,k,1);e=h[k>>2]|0;if(e>>>0>1){Zt(t,2,12512,_+8|0)|0;w=1;v=_;return w|0}if((e+1|0)!=(r|0)){Zt(t,2,12486,_+16|0)|0;w=0;v=_;return w|0}u=f+5584|0;e=h[n+16>>2]|0;if(e){r=0;t=h[u>>2]|0;while(1){h[t+1076>>2]=0;r=r+1|0;if(r>>>0>=e>>>0)break;else t=t+1080|0}}o=f+5604|0;e=h[o>>2]|0;if(e){Qn(e);h[o>>2]=0}if(!(h[k>>2]|0)){w=1;v=_;return w|0}s=f+5624|0;a=f+5628|0;l=0;while(1){i=i+1|0;gt(i,w,1);e=h[c>>2]|0;n=h[s>>2]|0;f=h[a>>2]|0;if(((f|0)!=0?!((f|0)==0?1:(h[n>>2]|0)!=(h[w>>2]|0)):0)?(d=h[n+4>>2]|0,b=e+16|0,(d|0)==(h[b>>2]|0)):0){e=h[n+8>>2]|0;if(e){r=ue(d,d)|0;f=ue(h[1036+(h[e>>2]<<2)>>2]|0,r)|0;if((h[e+16>>2]|0)!=(f|0)){e=0;r=32;break}t=Gn(r<<2)|0;h[o>>2]=t;if(!t){e=0;r=32;break}Bo[h[1052+(h[e>>2]<<2)>>2]&15](h[e+12>>2]|0,t,r)}e=h[n+12>>2]|0;if(e){r=h[b>>2]|0;f=ue(r,h[1036+(h[e>>2]<<2)>>2]|0)|0;if((h[e+16>>2]|0)!=(f|0)){e=0;r=32;break}f=Gn(r<<2)|0;if(!f){e=0;r=32;break}Bo[h[1068+(h[e>>2]<<2)>>2]&15](h[e+12>>2]|0,f,r);e=h[b>>2]|0;if(e){r=0;t=f;n=h[u>>2]|0;while(1){h[n+1076>>2]=h[t>>2];r=r+1|0;if((r|0)==(e|0))break;else{t=t+4|0;n=n+1080|0}}}Qn(f)}}l=l+1|0;if(l>>>0>=(h[k>>2]|0)>>>0){e=1;r=32;break}}if((r|0)==32){v=_;return e|0}return 0}function mi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){gt(e,n,2);h[i>>2]=h[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+2|0}}v=f;return}function pi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){gt(e,n,4);h[i>>2]=h[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}v=f;return}function vi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){Mt(e,n);h[i>>2]=~~+_[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}v=f;return}function gi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){Et(e,n);h[i>>2]=~~+m[n>>3];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+8|0}}v=f;return}function yi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){gt(e,n,2);_[i>>2]=+((h[n>>2]|0)>>>0);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+2|0}}v=f;return}function Ei(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){gt(e,n,4);_[i>>2]=+((h[n>>2]|0)>>>0);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}v=f;return}function Ai(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){Mt(e,n);h[i>>2]=h[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}v=f;return}function Mi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){Et(e,n);_[i>>2]=+m[n>>3];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+8|0}}v=f;return}function Ti(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0;c=v;v=v+32|0;a=c+8|0;s=c+20|0;if((h[e+8>>2]|0)==16)e=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else e=h[e+12>>2]|0;u=h[e+5584>>2]|0;e=h[t>>2]|0;if(!e){Zt(n,1,14224,c)|0;i=0;v=c;return i|0}h[t>>2]=e+-1;gt(r,s,1);r=r+1|0;f=h[s>>2]&31;l=u+(i*1080|0)+24|0;h[l>>2]=f;h[u+(i*1080|0)+804>>2]=(h[s>>2]|0)>>>5;do{if((f|0)==1){e=1;o=8}else{e=(h[t>>2]|0)>>>((f|0)!=0&1);if(e>>>0>97){h[a>>2]=e;h[a+4>>2]=97;h[a+8>>2]=97;Zt(n,2,14260,a)|0;f=h[l>>2]|0}n=(e|0)==0;if(f)if(n){e=0;o=20;break}else{o=8;break}if(!n){f=0;while(1){gt(r,s,1);if(f>>>0<97){h[u+(i*1080|0)+28+(f<<3)>>2]=(h[s>>2]|0)>>>3;h[u+(i*1080|0)+28+(f<<3)+4>>2]=0}f=f+1|0;if((f|0)==(e|0))break;else r=r+1|0}}e=(h[t>>2]|0)-e|0}}while(0);if((o|0)==8){f=0;while(1){gt(r,s,2);if(f>>>0<97){h[u+(i*1080|0)+28+(f<<3)>>2]=(h[s>>2]|0)>>>11;h[u+(i*1080|0)+28+(f<<3)+4>>2]=h[s>>2]&2047}f=f+1|0;if((f|0)==(e|0)){o=20;break}else r=r+2|0}}if((o|0)==20)e=(h[t>>2]|0)-(e<<1)|0;h[t>>2]=e;if((h[l>>2]|0)!=1){i=1;v=c;return i|0}e=u+(i*1080|0)+28|0;r=u+(i*1080|0)+32|0;f=1;do{t=(h[e>>2]|0)-(((f+-1|0)>>>0)/3|0)|0;h[u+(i*1080|0)+28+(f<<3)>>2]=(t|0)>0?t:0;h[u+(i*1080|0)+28+(f<<3)+4>>2]=h[r>>2];f=f+1|0}while((f|0)!=97);e=1;v=c;return e|0}function Si(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;w=v;v=v+48|0;b=w+40|0;o=w+32|0;s=w+16|0;l=w+8|0;d=w+44|0;a=e+8|0;if((h[a>>2]|0)==16)f=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else f=h[e+12>>2]|0;u=h[f+5584>>2]|0;if((h[t>>2]|0)>>>0<5){Zt(n,1,14664,w)|0;t=0;v=w;return t|0}c=u+(i*1080|0)+4|0;gt(r,c,1);f=(h[c>>2]|0)+1|0;h[c>>2]=f;if(f>>>0>33){h[l>>2]=f;h[l+4>>2]=33;Zt(n,1,14699,l)|0;t=0;v=w;return t|0}if((h[e+168>>2]|0)>>>0>=f>>>0){h[s>>2]=i;Zt(n,1,14776,s)|0;h[a>>2]=h[a>>2]|32768;t=0;v=w;return t|0}l=u+(i*1080|0)+8|0;gt(r+1|0,l,1);h[l>>2]=(h[l>>2]|0)+2;e=u+(i*1080|0)+12|0;gt(r+2|0,e,1);s=(h[e>>2]|0)+2|0;h[e>>2]=s;l=h[l>>2]|0;if(l>>>0>10|s>>>0>10|(l+s|0)>>>0>12){Zt(n,1,14934,w+24|0)|0;t=0;v=w;return t|0}gt(r+3|0,u+(i*1080|0)+16|0,1);gt(r+4|0,u+(i*1080|0)+20|0,1);a=(h[t>>2]|0)+-5|0;h[t>>2]=a;f=h[c>>2]|0;if(!(h[u+(i*1080|0)>>2]&1)){if(!f){t=1;v=w;return t|0}else f=0;do{h[u+(i*1080|0)+812+(f<<2)>>2]=15;h[u+(i*1080|0)+944+(f<<2)>>2]=15;f=f+1|0}while(f>>>0<(h[c>>2]|0)>>>0);f=1;v=w;return f|0}if(a>>>0>>0){Zt(n,1,14664,o)|0;t=0;v=w;return t|0}do{if(!f)f=0;else{e=0;a=r+5|0;while(1){gt(a,d,1);a=a+1|0;f=h[d>>2]|0;if((e|0)!=0?f>>>0<16|(f&15|0)==0:0)break;h[u+(i*1080|0)+812+(e<<2)>>2]=f&15;h[u+(i*1080|0)+944+(e<<2)>>2]=(h[d>>2]|0)>>>4;e=e+1|0;f=h[c>>2]|0;if(e>>>0>=f>>>0){k=22;break}}if((k|0)==22){a=h[t>>2]|0;break}Zt(n,1,15002,b)|0;t=0;v=w;return t|0}}while(0);h[t>>2]=a-f;t=1;v=w;return t|0}function Pi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){vt(i,~~+_[e>>2]>>>0,2);t=t+1|0;if((t|0)==(r|0))break;else{i=i+2|0;e=e+4|0}}return}function Oi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){vt(i,~~+_[e>>2]>>>0,4);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}return}function Ri(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){At(i,+_[e>>2]);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}return}function Li(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){yt(i,+_[e>>2]);t=t+1|0;if((t|0)==(r|0))break;else{i=i+8|0;e=e+4|0}}return}function Ci(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+16|0;if(!r){r=0;v=l;return r|0}if(!(mf(h[e>>2]|0,i,r,t)|0)){Zt(t,1,16303,l)|0;r=0;v=l;return r|0}if(h[e+128>>2]|0){r=1;v=l;return r|0}a=e+108|0;if(!(Zi(r,a,t)|0)){r=0;v=l;return r|0}i=h[e+48>>2]|0;e:do{switch(i|0){case 16:{h[r+20>>2]=1;break}case 17:{h[r+20>>2]=2;break}case 18:{h[r+20>>2]=3;break}case 24:{h[r+20>>2]=4;break}default:{n=r+20|0;if((i|0)==12){h[n>>2]=5;break e}else{h[n>>2]=-1;break e}}}}while(0);f=e+120|0;i=h[f>>2]|0;do{if(i){if(h[i+12>>2]|0){Qi(r,a);break}Qn(h[i+4>>2]|0);Qn(h[(h[f>>2]|0)+8>>2]|0);Qn(h[h[f>>2]>>2]|0);i=h[f>>2]|0;n=h[i+12>>2]|0;if(n){Qn(n);i=h[f>>2]|0}Qn(i);h[f>>2]=0}}while(0);if(h[e+116>>2]|0)$i(r,a,t);i=h[a>>2]|0;if(!i){r=1;v=l;return r|0}h[r+28>>2]=i;h[r+32>>2]=h[e+112>>2];h[a>>2]=0;r=1;v=l;return r|0}function Di(e,i){e=e|0;i=i|0;ef(h[e>>2]|0,i);c[e+124>>0]=0;h[e+128>>2]=h[i+8248>>2]&1;return}function xi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;y=v;v=v+80|0;g=y+64|0;_=y+56|0;c=y+48|0;w=y+40|0;k=y+32|0;b=y+24|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){i=0;v=y;return i|0}m=r+16|0;if(((h[m>>2]|0)+-1|0)>>>0>16383){Zt(t,1,16352,y)|0;i=0;v=y;return i|0}if(!(nf(h[e>>2]|0,i,r,t)|0)){i=0;v=y;return i|0}h[e+56>>2]=1785737760;h[e+60>>2]=0;h[e+64>>2]=1;n=Gn(4)|0;f=e+68|0;h[f>>2]=n;if(!n){h[f>>2]=0;Zt(t,1,16421,y+8|0)|0;i=0;v=y;return i|0}h[n>>2]=1785737760;s=h[m>>2]|0;h[e+20>>2]=s;s=Gn(s*12|0)|0;n=e+72|0;h[n>>2]=s;if(!s){h[n>>2]=0;Zt(t,1,16421,y+16|0)|0;i=0;v=y;return i|0}h[e+16>>2]=(h[r+12>>2]|0)-(h[r+4>>2]|0);h[e+12>>2]=(h[r+8>>2]|0)-(h[r>>2]|0);p=r+24|0;o=h[p>>2]|0;a=h[o+24>>2]|0;l=h[o+32>>2]|0;n=e+24|0;h[n>>2]=a+-1+(l<<7);u=h[m>>2]|0;if(u>>>0>1){f=1;do{if((a|0)!=(h[o+(f*52|0)+24>>2]|0))h[n>>2]=255;f=f+1|0}while(f>>>0>>0)}h[e+28>>2]=7;h[e+32>>2]=0;h[e+36>>2]=0;f=(u|0)==0;if(!f?(h[s+8>>2]=a+-1+(l<<7),u>>>0>1):0){n=1;do{h[s+(n*12|0)+8>>2]=(h[o+(n*52|0)+24>>2]|0)+-1+(h[o+(n*52|0)+32>>2]<<7);n=n+1|0}while(n>>>0>>0)}n=e+40|0;e:do{if(!(h[r+32>>2]|0)){h[n>>2]=1;switch(h[r+20>>2]|0){case 1:{h[e+48>>2]=16;break e}case 2:{h[e+48>>2]=17;break e}case 3:{h[e+48>>2]=18;break e}default:break e}}else{h[n>>2]=2;h[e+48>>2]=0}}while(0);e:do{if(!f){f=0;n=0;a=0;do{r=(d[o+(a*52|0)+48>>1]|0)==0;n=(r&1^1)+n|0;f=r?f:a;a=a+1|0}while(a>>>0>>0);a=f;if((n|0)!=1){if(n>>>0<=1)break;Zt(t,2,16717,c)|0;break}switch(h[e+48>>2]|0){case 18:case 16:{f=3;break}case 17:{f=1;break}default:{Zt(t,2,16467,b)|0;break e}}if(u>>>0<(f+1|0)>>>0){Zt(t,2,16541,k)|0;break}if(a>>>0>>0){Zt(t,2,16634,w)|0;break}w=Gn(8)|0;n=e+116|0;h[n>>2]=w;if(!w){Zt(t,1,16782,_)|0;i=0;v=y;return i|0}_=Gn((h[m>>2]|0)*6|0)|0;r=h[n>>2]|0;h[r>>2]=_;if(!_){Zt(t,1,16782,g)|0;i=0;v=y;return i|0}s=h[m>>2]|0;d[r+4>>1]=s;l=h[r>>2]|0;n=0;do{d[l+(n*6|0)>>1]=n;d[l+(n*6|0)+2>>1]=0;g=n;n=n+1|0;d[l+(g*6|0)+4>>1]=n}while((n|0)!=(f|0));if(f>>>0>>0){a=h[p>>2]|0;do{g=(d[a+(f*52|0)+48>>1]|0)==0;d[l+(f*6|0)>>1]=f;n=l+(f*6|0)+2|0;if(g){d[n>>1]=-1;d[l+(f*6|0)+4>>1]=-1}else{d[n>>1]=1;d[(h[r>>2]|0)+(f*6|0)+4>>1]=0}f=f+1|0}while(f>>>0>>0)}}}while(0);h[e+52>>2]=0;h[e+44>>2]=0;h[e+96>>2]=h[i+18692>>2];i=1;v=y;return i|0}function Ii(e,i,r){e=e|0;i=i|0;r=r|0;return gf(h[e>>2]|0,i,r)|0}function Bi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;t=e+8|0;if(!(pa(h[t>>2]|0,52,r)|0)){r=0;return r|0}f=h[t>>2]|0;a=va(f)|0;t=ga(f)|0;if(a){l=0;n=1;while(1){if(!n)n=0;else n=(Ro[h[t>>2]&63](e,i,r)|0)!=0;l=l+1|0;if((l|0)==(a|0))break;else{t=t+4|0;n=n&1}}ya(f);if(!n){r=0;return r|0}}else ya(f);r=af(h[e>>2]|0,i,r)|0;return r|0}function Ni(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;t=e+8|0;if(!(pa(h[t>>2]|0,53,r)|0)){r=0;return r|0}if(!(yf(h[e>>2]|0,i,r)|0)){r=0;return r|0}l=h[t>>2]|0;f=va(l)|0;t=ga(l)|0;if(!f)t=1;else{a=0;n=t;t=1;while(1){if(!t)t=0;else t=(Ro[h[n>>2]&63](e,i,r)|0)!=0;t=t&1;a=a+1|0;if((a|0)==(f|0))break;else n=n+4|0}}ya(l);r=t;return r|0}function Fi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+4|0;if(!(pa(h[n>>2]|0,54,t)|0)){i=0;return i|0}a=h[n>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](e,i,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){i=0;return i|0}}else ya(a);n=e+8|0;if(!(pa(h[n>>2]|0,55,t)|0)){i=0;return i|0}if(!(pa(h[n>>2]|0,56,t)|0)){i=0;return i|0}if(!(pa(h[n>>2]|0,57,t)|0)){i=0;return i|0}if((h[e+96>>2]|0)!=0?(pa(h[n>>2]|0,58,t)|0)==0:0){i=0;return i|0}if(!(pa(h[n>>2]|0,59,t)|0)){i=0;return i|0}a=h[n>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](e,i,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){i=0;return i|0}}else ya(a);i=Ef(h[e>>2]|0,i,r,t)|0;return i|0}function Ui(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;o=i+8|0;if(!(pa(h[o>>2]|0,52,t)|0)){e=0;return e|0}a=h[i+4>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](i,e,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){e=0;return e|0}}else ya(a);a=h[o>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](i,e,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){e=0;return e|0}}else ya(a);e=lf(e,h[i>>2]|0,r,t)|0;return e|0}function ji(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;return of(h[e>>2]|0,i,r,t,n,f,a,l,s,o,u)|0}function Hi(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return Af(h[e>>2]|0,i,r,t,n,f)|0}function Yi(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return uf(h[e>>2]|0,i,r,t,n,f)|0}function qi(e){e=e|0;var i=0,r=0,t=0;if(!e)return;tf(h[e>>2]|0);h[e>>2]=0;i=e+72|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+68|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+108|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}t=e+116|0;i=h[t>>2]|0;if(i){r=h[i>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i>>2]=0}Qn(i);h[t>>2]=0}t=e+120|0;i=h[t>>2]|0;if(i){r=h[i+12>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i+12>>2]=0}r=h[i+4>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i+4>>2]=0}r=h[i+8>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i+8>>2]=0}r=h[i>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i>>2]=0}Qn(i);h[t>>2]=0}i=e+4|0;r=h[i>>2]|0;if(r){ma(r);h[i>>2]=0}i=e+8|0;r=h[i>>2]|0;if(r){ma(r);h[i>>2]=0}Qn(e);return}function Xi(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return cf(h[e>>2]|0,i,r,t,n,f,a)|0}function zi(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=v;v=v+16|0;if(!r){e=0;v=l;return e|0}Zt(t,2,16826,l)|0;if(!(pf(h[e>>2]|0,i,r,t,n)|0)){Zt(t,1,16303,l+8|0)|0;e=0;v=l;return e|0}a=e+108|0;if(!(Zi(r,a,t)|0)){e=0;v=l;return e|0}n=h[e+48>>2]|0;e:do{switch(n|0){case 16:{h[r+20>>2]=1;break}case 17:{h[r+20>>2]=2;break}case 18:{h[r+20>>2]=3;break}case 24:{h[r+20>>2]=4;break}default:{i=r+20|0;if((n|0)==12){h[i>>2]=5;break e}else{h[i>>2]=-1;break e}}}}while(0);f=e+120|0;i=h[f>>2]|0;do{if(i){if(h[i+12>>2]|0){Qi(r,a);break}Qn(h[i+4>>2]|0);Qn(h[(h[f>>2]|0)+8>>2]|0);Qn(h[h[f>>2]>>2]|0);i=h[f>>2]|0;n=h[i+12>>2]|0;if(n){Qn(n);i=h[f>>2]|0}Qn(i);h[f>>2]=0}}while(0);if(h[e+116>>2]|0)$i(r,a,t);i=h[a>>2]|0;if(!i){e=1;v=l;return e|0}h[r+28>>2]=i;h[r+32>>2]=h[e+112>>2];h[a>>2]=0;e=1;v=l;return e|0}function Vi(e){e=e|0;var i=0;i=Kn(1,136)|0;if(!i)return i|0;if(!e){e=rf()|0;h[i>>2]=e}else{e=df()|0;h[i>>2]=e}if(!e){qi(i);i=0;return i|0}e=i+108|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;c[e+16>>0]=0;e=_a()|0;h[i+4>>2]=e;if(!e){qi(i);i=0;return i|0}e=_a()|0;h[i+8>>2]=e;if(e)return i|0;qi(i);i=0;return i|0}function Gi(e,i,r){e=e|0;i=i|0;r=r|0;hf(h[e>>2]|0,i,r);return}function Ki(e){e=e|0;return _f(h[e>>2]|0)|0}function Wi(e){e=e|0;return wf(h[e>>2]|0)|0}function Ji(e,i,r){e=e|0;i=i|0;r=r|0;return vf(h[e>>2]|0,i,r)|0}function Zi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0;S=v;v=v+80|0;T=S+72|0;M=S+64|0;A=S+56|0;E=S+48|0;y=S+40|0;g=S+32|0;p=S+24|0;_=S+16|0;s=S+8|0;l=S;t=h[i+8>>2]|0;e:do{if(t){w=h[t>>2]|0;u=d[t+4>>1]|0;t=h[e+16>>2]|0;o=h[i+12>>2]|0;if((o|0)!=0?(h[o+12>>2]|0)!=0:0)i=b[o+18>>0]|0;else i=t;a=u<<16>>16==0;i:do{if(!a){f=0;r:while(1){n=f&65535;t=k[w+(n*6|0)>>1]|0;if(t>>>0>=i>>>0){n=15;break}t=d[w+(n*6|0)+4>>1]|0;switch(t<<16>>16){case 0:case-1:break;default:{t=(t&65535)+-1|0;if(t>>>0>=i>>>0){n=18;break r}}}f=f+1<<16>>16;if((f&65535)>=(u&65535))break i}if((n|0)==15){h[l>>2]=t;h[l+4>>2]=i;Zt(r,1,19343,l)|0;r=0;v=S;return r|0}else if((n|0)==18){h[s>>2]=t;h[s+4>>2]=i;Zt(r,1,19343,s)|0;r=0;v=S;return r|0}}}while(0);if(!i)t=o;else{i:do{if(!a)while(1){i=i+-1|0;t=0;do{if((k[w+((t&65535)*6|0)>>1]|0)==(i|0))break;t=t+1<<16>>16}while((t&65535)<(u&65535));if(t<<16>>16==u<<16>>16)break i;if(!i){t=o;break e}}}while(0);Zt(r,1,19380,_)|0;r=0;v=S;return r|0}}else t=h[i+12>>2]|0}while(0);if(!t){r=1;v=S;return r|0}m=h[t+12>>2]|0;if(!m){r=1;v=S;return r|0}o=c[t+18>>0]|0;_=o&255;w=o<<24>>24==0;if(w)t=1;else{f=e+16|0;i=0;a=0;t=1;do{i=k[m+(i<<2)>>1]|0;n=h[f>>2]|0;if(i>>>0>=n>>>0){h[p>>2]=i;h[p+4>>2]=n;Zt(r,1,19343,p)|0;t=0}a=a+1<<16>>16;i=a&65535}while(i>>>0<_>>>0)}u=Kn(_,4)|0;if(!u){Zt(r,1,19413,g)|0;r=0;v=S;return r|0}if(!w){l=0;s=0;do{n=c[m+(l<<2)+3>>0]|0;f=n&255;do{if((n&255)<(o&255)){a=u+(f<<2)|0;i=c[m+(l<<2)+2>>0]|0;if((h[a>>2]|0)!=0&i<<24>>24==1){h[E>>2]=f;Zt(r,1,19486,E)|0;t=0;break}if(i<<24>>24!=0|n<<24>>24==0){h[a>>2]=1;break}else{h[A>>2]=l;h[A+4>>2]=f;Zt(r,1,19517,A)|0;t=0;break}}else{h[y>>2]=f;Zt(r,1,19430,y)|0;t=0}}while(0);s=s+1<<16>>16;l=s&65535}while(l>>>0<_>>>0);if(!w){i=0;n=0;do{if((h[u+(i<<2)>>2]|0)==0?(c[m+(i<<2)+2>>0]|0)!=0:0){h[M>>2]=i;Zt(r,1,19553,M)|0;t=0}n=n+1<<16>>16;i=n&65535}while(i>>>0<_>>>0)}}if(!t){Qn(u);r=0;v=S;return r|0}e:do{if(!((h[e+16>>2]|0)!=1|w)){t=0;i=0;while(1){i=i+1<<16>>16;if(!(h[u+(t<<2)>>2]|0))break;t=i&65535;if(t>>>0>=_>>>0)break e}h[T>>2]=t;Zt(r,2,19591,T)|0;if(!w){t=0;i=0;do{c[m+(t<<2)+2>>0]=1;c[m+(t<<2)+3>>0]=i;i=i+1<<16>>16;t=i&65535}while(t>>>0<_>>>0)}}}while(0);Qn(u);r=1;v=S;return r|0}function Qi(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0;y=i+12|0;i=h[y>>2]|0;l=h[i+8>>2]|0;o=h[i+4>>2]|0;w=h[i>>2]|0;_=h[i+12>>2]|0;i=c[i+18>>0]|0;m=e+24|0;p=h[m>>2]|0;v=i&255;g=Gn(v*52|0)|0;if(!g)return;s=i<<24>>24==0;if(!s){f=0;a=0;do{i=d[_+(f<<2)>>1]|0;if(!(c[_+(f<<2)+2>>0]|0)){i=i&65535;r=g+(f*52|0)|0;t=p+(i*52|0)|0;n=r+52|0;do{h[r>>2]=h[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(n|0))}else{i=i&65535;r=g+((b[_+(f<<2)+3>>0]|0)*52|0)|0;t=p+(i*52|0)|0;n=r+52|0;do{h[r>>2]=h[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(n|0))}n=Gn(ue(h[p+(i*52|0)+8>>2]<<2,h[p+(i*52|0)+12>>2]|0)|0)|0;h[g+(f*52|0)+44>>2]=n;if(!n){u=7;break}h[g+(f*52|0)+24>>2]=b[l+f>>0];h[g+(f*52|0)+32>>2]=b[o+f>>0];a=a+1<<16>>16;f=a&65535}while(f>>>0>>0);if((u|0)==7){Qn(g);return}l=(k[(h[y>>2]|0)+16>>1]|0)+-1|0;if(!s){i=0;a=0;do{n=h[p+((k[_+(i<<2)>>1]|0)*52|0)+44>>2]|0;t=b[_+(i<<2)+3>>0]|0;f=ue(h[g+(t*52|0)+12>>2]|0,h[g+(t*52|0)+8>>2]|0)|0;if(!(c[_+(i<<2)+2>>0]|0)){i=h[g+(i*52|0)+44>>2]|0;if(f){r=0;do{h[i+(r<<2)>>2]=h[n+(r<<2)>>2];r=r+1|0}while((r|0)!=(f|0))}}else{i=h[g+(t*52|0)+44>>2]|0;if(f){r=0;do{u=h[n+(r<<2)>>2]|0;u=w+((ue((u|0)<0?0:(u|0)>(l|0)?l:u,v)|0)+t<<2)|0;h[i+(r<<2)>>2]=h[u>>2];r=r+1|0}while((r|0)!=(f|0))}}a=a+1<<16>>16;i=a&65535}while(i>>>0>>0)}}r=e+16|0;t=h[r>>2]|0;if(t){i=0;n=0;do{i=h[p+(i*52|0)+44>>2]|0;if(i)Qn(i);n=n+1<<16>>16;i=n&65535}while(i>>>0>>0)}Qn(p);h[m>>2]=g;h[r>>2]=v;Qn(h[(h[y>>2]|0)+4>>2]|0);Qn(h[(h[y>>2]|0)+8>>2]|0);Qn(h[h[y>>2]>>2]|0);i=h[y>>2]|0;r=h[i+12>>2]|0;if(r){Qn(r);i=h[y>>2]|0}Qn(i);h[y>>2]=0;return}function $i(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;A=v;v=v+80|0;y=A+8|0;g=A;p=A+16|0;E=i+8|0;t=h[E>>2]|0;i=h[t>>2]|0;m=d[t+4>>1]|0;if(m<<16>>16){_=e+16|0;c=e+24|0;k=1;w=0;while(1){b=d[i+(w*6|0)>>1]|0;u=b&65535;e=h[_>>2]|0;e:do{if(u>>>0>>0){t=d[i+(w*6|0)+4>>1]|0;switch(t<<16>>16){case-1:case 0:{d[(h[c>>2]|0)+(u*52|0)+48>>1]=d[i+(w*6|0)+2>>1]|0;break e}default:{}}l=(t&65535)+65535|0;o=l&65535;l=l&65535;if(l>>>0>=e>>>0){h[y>>2]=l;h[y+4>>2]=e;Zt(r,2,19302,y)|0;break}s=i+(w*6|0)+2|0;if((u|0)!=(l|0)?(d[s>>1]|0)==0:0){t=h[c>>2]|0;e=t+(u*52|0)|0;n=p;f=e;a=n+52|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=e;f=t+(l*52|0)|0;a=n+52|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=(h[c>>2]|0)+(l*52|0)|0;f=p;a=n+52|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));if((w+1&65535)<(m&65535)){n=k;do{t=i+(n*6|0)|0;e=d[t>>1]|0;if(e<<16>>16!=b<<16>>16){if(e<<16>>16==o<<16>>16)d[t>>1]=b}else d[t>>1]=o;n=n+1|0}while((n&65535)<<16>>16!=m<<16>>16)}}d[(h[c>>2]|0)+(u*52|0)+48>>1]=d[s>>1]|0}else{h[g>>2]=u;h[g+4>>2]=e;Zt(r,2,19262,g)|0}}while(0);w=w+1|0;if((w&65535)<<16>>16==m<<16>>16)break;else k=k+1|0}i=h[E>>2]|0;t=i;i=h[i>>2]|0}if(!i){y=t;Qn(y);h[E>>2]=0;v=A;return}else{Qn(i);y=h[E>>2]|0;Qn(y);h[E>>2]=0;v=A;return}}function er(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;D=v;v=v+192|0;A=D+152|0;E=D+144|0;y=D+136|0;g=D+128|0;p=D+120|0;O=D+88|0;_=D+80|0;k=D+64|0;b=D+48|0;L=D+40|0;M=D+32|0;R=D+24|0;m=D+16|0;w=D+8|0;c=D+176|0;d=D+168|0;P=D+156|0;t=Kn(1,1024)|0;if(!t){Zt(r,1,17098,D)|0;C=0;v=D;return C|0}u=c+4|0;T=P+4|0;S=e+100|0;o=1024;e:while(1){if((qt(i,c,8,r)|0)!=8)break;while(1){gt(c,P,4);gt(u,T,4);switch(h[P>>2]|0){case 0:{n=Gt(i)|0;s=j;if((s|0)>0|(s|0)==0&n>>>0>4294967287){C=6;break e}h[P>>2]=n+8;l=8;break}case 1:{if((qt(i,c,8,r)|0)!=8)break e;gt(c,d,4);if(h[d>>2]|0){C=10;break e}gt(u,P,4);l=16;break}default:l=8}f=h[T>>2]|0;if((f|0)==1785737827){C=13;break e}n=h[P>>2]|0;if(!n){C=17;break e}if(n>>>0>>0){C=19;break e}if((f|0)==1783636e3){a=1084;f=l;C=22;break}if((f|0)==1718909296){a=1092;f=l;C=22;break}s=(f|0)==1785737832;i:do{if((f|0)!=1768449138)if((f|0)!=1668246642)if((f|0)!=1651532643)if((f|0)!=1885564018)if((f|0)!=1668112752){a=(f|0)==1667523942?1148:0;n=n-l|0;if((f|0)<1785737832)switch(f|0){case 1667523942:{C=30;break i}default:{}}else switch(f|0){case 1785737832:{C=30;break i}default:{}}f=h[S>>2]|0;if(!(f&1)){C=45;break e}if(!(f&2)){C=47;break e}h[S>>2]=f|2147483647;s=Kt(i,n,0,r)|0;if(!((s|0)==(n|0)&(j|0)==0)){C=50;break e}}else{a=1140;C=28}else{a=1132;C=28}else{a=1124;C=28}else{a=1116;C=28}else{a=1108;C=28}}while(0);if((C|0)==28){n=n-l|0;C=30}if((C|0)==30){C=0;if(s){a=1100;break}h[b>>2]=f>>>24;h[b+4>>2]=f>>>16&255;h[b+8>>2]=f>>>8&255;h[b+12>>2]=f&255;Zt(r,2,17282,b)|0;if(h[S>>2]&4)break;s=h[T>>2]|0;h[k>>2]=s>>>24;h[k+4>>2]=s>>>16&255;h[k+8>>2]=s>>>8&255;h[k+12>>2]=s&255;Zt(r,2,17333,k)|0;h[S>>2]=h[S>>2]|2147483647;s=Kt(i,n,0,r)|0;if(!((s|0)==(n|0)&(j|0)==0)){C=33;break e}}if((qt(i,c,8,r)|0)!=8)break e}if((C|0)==22){C=0;n=n-f|0}s=Gt(i)|0;l=j;if(0>(l|0)|0==(l|0)&n>>>0>s>>>0){C=35;break}if(n>>>0>o>>>0){f=Zn(t,n)|0;if(!f){C=38;break}else{t=f;f=n}}else f=o;if((qt(i,t,n,r)|0)!=(n|0)){C=40;break}if(!(Fo[h[a+4>>2]&63](e,t,n,r)|0)){C=43;break}else o=f}switch(C|0){case 6:{Zt(r,1,17148,w)|0;break}case 10:{Zt(r,1,17148,m)|0;break}case 13:{n=h[S>>2]|0;if(!(n&4)){Zt(r,1,17190,R)|0;Qn(t);C=0;v=D;return C|0}else{h[S>>2]=n|8;Qn(t);C=1;v=D;return C|0}}case 17:{Zt(r,1,17218,M)|0;Qn(t);C=0;v=D;return C|0}case 19:{h[L>>2]=n;h[L+4>>2]=f;Zt(r,1,17256,L)|0;Qn(t);C=0;v=D;return C|0}case 33:{Zt(r,1,17399,_)|0;Qn(t);C=0;v=D;return C|0}case 35:{R=h[P>>2]|0;L=h[T>>2]|0;C=Gt(i)|0;h[O>>2]=R;h[O+4>>2]=L>>>24;h[O+8>>2]=L>>>16&255;h[O+12>>2]=L>>>8&255;h[O+16>>2]=L&255;h[O+20>>2]=n;h[O+24>>2]=C;Zt(r,1,17449,O)|0;Qn(t);C=0;v=D;return C|0}case 38:{Qn(t);Zt(r,1,17525,p)|0;C=0;v=D;return C|0}case 40:{Zt(r,1,17567,g)|0;Qn(t);C=0;v=D;return C|0}case 43:{Qn(t);C=0;v=D;return C|0}case 45:{Zt(r,1,17616,y)|0;Qn(t);C=0;v=D;return C|0}case 47:{Zt(r,1,17686,E)|0;Qn(t);C=0;v=D;return C|0}case 50:{Zt(r,1,17399,A)|0;Qn(t);C=0;v=D;return C|0}}Qn(t);C=1;v=D;return C|0}function ir(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;a=v;v=v+32|0;f=a+24|0;t=Vt(i)|0;n=j;e=e+80|0;l=e;l=Hs(t|0,n|0,h[l>>2]|0,h[l+4>>2]|0)|0;vt(f,l,4);vt(f+4|0,1785737827,4);if(!(Wt(i,h[e>>2]|0,h[e+4>>2]|0,r)|0)){Zt(r,1,17067,a)|0;l=0;v=a;return l|0}if((Xt(i,f,8,r)|0)!=8){Zt(r,1,17067,a+8|0)|0;l=0;v=a;return l|0}if(Wt(i,t,n,r)|0){l=1;v=a;return l|0}Zt(r,1,17067,a+16|0)|0;l=0;v=a;return l|0}function rr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;r=((h[e>>2]|0)!=0?(h[e+104>>2]|h[e+100>>2]|0)==0:0)&(h[e+8>>2]|0)!=0&(h[e+4>>2]|0)!=0&(h[e+64>>2]|0)!=0&(h[e+16>>2]|0)!=0&(h[e+12>>2]|0)!=0&1;t=h[e+20>>2]|0;if(!t){f=r;e=e+40|0;e=h[e>>2]|0;e=e+-1|0;e=e>>>0<2;e=e&1;i=Jt(i)|0;i=i&f;e=i&e;return e|0}n=h[e+72>>2]|0;f=0;do{r=(h[n+(f*12|0)+8>>2]&126)>>>0<38&r;f=f+1|0}while(f>>>0>>0);e=e+40|0;e=h[e>>2]|0;e=e+-1|0;e=e>>>0<2;e=e&1;i=Jt(i)|0;i=i&r;e=i&e;return e|0}function tr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e=v;v=v+16|0;t=e;vt(t,12,4);vt(t+4|0,1783636e3,4);vt(t+8|0,218793738,4);r=(Xt(i,t,12,r)|0)==12&1;v=e;return r|0}function nr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+16|0;s=o+8|0;n=e+64|0;a=(h[n>>2]<<2)+16|0;l=Kn(1,a)|0;if(!l){Zt(r,1,16987,o)|0;s=0;v=o;return s|0}vt(l,a,4);vt(l+4|0,1718909296,4);vt(l+8|0,h[e+56>>2]|0,4);vt(l+12|0,h[e+60>>2]|0,4);f=l+16|0;if(h[n>>2]|0){e=e+68|0;t=0;do{vt(f,h[(h[e>>2]|0)+(t<<2)>>2]|0,4);t=t+1|0}while(t>>>0<(h[n>>2]|0)>>>0)}e=(Xt(i,l,a,r)|0)==(a|0);if(!e)Zt(r,1,17026,s)|0;Qn(l);s=e&1;v=o;return s|0}function fr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;k=v;v=v+80|0;d=k+16|0;u=k+8|0;s=k;n=k+24|0;o=k+72|0;t=n;f=t+48|0;do{h[t>>2]=0;t=t+4|0}while((t|0)<(f|0));b=(h[e+24>>2]|0)==255;h[n>>2]=2;t=n+12|0;if(b){h[t>>2]=3;h[n+24>>2]=4;t=3}else{h[t>>2]=4;t=2}if(!(h[e+116>>2]|0))b=t;else{h[n+(t*12|0)>>2]=5;b=t+1|0}vt(o+4|0,1785737832,4);a=0;l=n;t=8;while(1){f=l+8|0;w=Uo[h[l>>2]&7](e,f)|0;h[l+4>>2]=w;if(!w){c=8;break}t=(h[f>>2]|0)+t|0;a=a+1|0;if((a|0)>=(b|0))break;else l=l+12|0}if((c|0)==8){Zt(r,1,16901,s)|0;f=0;while(1){t=h[n+4>>2]|0;if(t)Qn(t);f=f+1|0;if((f|0)>=(b|0)){t=0;break}else n=n+12|0}v=k;return t|0}vt(o,t,4);e:do{if((Xt(i,o,8,r)|0)==8){t=0;f=n;while(1){w=f+8|0;c=Xt(i,h[f+4>>2]|0,h[w>>2]|0,r)|0;if((c|0)!=(h[w>>2]|0))break;t=t+1|0;if((t|0)>=(b|0)){t=1;break e}else f=f+12|0}Zt(r,1,16944,d)|0;t=0}else{Zt(r,1,16944,u)|0;t=0}}while(0);a=0;while(1){f=h[n+4>>2]|0;if(f)Qn(f);a=a+1|0;if((a|0)>=(b|0))break;else n=n+12|0}v=k;return t|0}function ar(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=Vt(i)|0;e=e+88|0;h[e>>2]=t;h[e+4>>2]=j;i=Kt(i,24,0,r)|0;return(i|0)==24&(j|0)==0&1|0}function lr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=Vt(i)|0;e=e+80|0;h[e>>2]=t;h[e+4>>2]=j;i=Kt(i,8,0,r)|0;return(i|0)==8&(j|0)==0&1|0}function sr(e,i){e=e|0;i=i|0;var r=0;r=Kn(1,22)|0;if(!r){i=0;return i|0}vt(r,22,4);vt(r+4|0,1768449138,4);vt(r+8|0,h[e+16>>2]|0,4);vt(r+12|0,h[e+12>>2]|0,4);vt(r+16|0,h[e+20>>2]|0,2);vt(r+18|0,h[e+24>>2]|0,1);vt(r+19|0,h[e+28>>2]|0,1);vt(r+20|0,h[e+32>>2]|0,1);vt(r+21|0,h[e+36>>2]|0,1);h[i>>2]=22;i=r;return i|0}function or(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;n=e+20|0;f=(h[n>>2]|0)+8|0;a=Kn(1,f)|0;if(!a){i=0;return i|0}vt(a,f,4);vt(a+4|0,1651532643,4);if(h[n>>2]|0){e=e+72|0;r=0;t=a+8|0;while(1){vt(t,h[(h[e>>2]|0)+(r*12|0)+8>>2]|0,1);r=r+1|0;if(r>>>0>=(h[n>>2]|0)>>>0)break;else t=t+1|0}}h[i>>2]=f;i=a;return i|0}function ur(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;r=e+40|0;switch(h[r>>2]|0){case 1:{l=15;break}case 2:{l=(h[e+112>>2]|0)+11|0;break}default:{i=0;return i|0}}a=Kn(1,l)|0;if(!a){i=0;return i|0}vt(a,l,4);vt(a+4|0,1668246642,4);vt(a+8|0,h[r>>2]|0,1);vt(a+9|0,h[e+52>>2]|0,1);vt(a+10|0,h[e+44>>2]|0,1);n=a+11|0;switch(h[r>>2]|0){case 1:{vt(n,h[e+48>>2]|0,4);break}case 2:{f=e+112|0;if(h[f>>2]|0){e=e+108|0;t=0;r=n;while(1){vt(r,b[(h[e>>2]|0)+t>>0]|0,1);t=t+1|0;if(t>>>0>=(h[f>>2]|0)>>>0)break;else r=r+1|0}}break}default:{}}h[i>>2]=l;i=a;return i|0}function cr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;f=e+116|0;a=((k[(h[f>>2]|0)+4>>1]|0)*6|0)+10|0;l=Gn(a)|0;if(!l){i=0;return i|0}vt(l,a,4);vt(l+4|0,1667523942,4);vt(l+8|0,k[(h[f>>2]|0)+4>>1]|0,2);e=h[f>>2]|0;if(d[e+4>>1]|0){t=0;r=0;n=l+10|0;while(1){vt(n,k[(h[e>>2]|0)+(t*6|0)>>1]|0,2);vt(n+2|0,k[(h[h[f>>2]>>2]|0)+(t*6|0)+2>>1]|0,2);vt(n+4|0,k[(h[h[f>>2]>>2]|0)+(t*6|0)+4>>1]|0,2);r=r+1<<16>>16;e=h[f>>2]|0;if((r&65535)>=(k[e+4>>1]|0))break;else{t=r&65535;n=n+6|0}}}h[i>>2]=a;i=l;return i|0}function dr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=v;v=v+32|0;n=f+16|0;if((r|0)!=14){Zt(t,1,18507,f)|0;n=0;v=f;return n|0}gt(i,e+16|0,4);gt(i+4|0,e+12|0,4);r=e+20|0;gt(i+8|0,r,2);r=Kn(h[r>>2]|0,12)|0;h[e+72>>2]=r;if(!r){Zt(t,1,18540,f+8|0)|0;n=0;v=f;return n|0}gt(i+10|0,e+24|0,1);r=e+28|0;gt(i+11|0,r,1);r=h[r>>2]|0;if((r|0)!=7){h[n>>2]=r;Zt(t,4,18589,n)|0}gt(i+12|0,e+32|0,1);gt(i+13|0,e+36|0,1);n=1;v=f;return n|0}function hr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;E=v;v=v+80|0;a=E+40|0;m=E+32|0;s=E+24|0;l=E+16|0;p=E+72|0;_=E+68|0;b=E+64|0;k=E+60|0;u=E+56|0;w=E+52|0;d=E+48|0;o=E+44|0;if(r>>>0<3){Zt(t,1,18180,E)|0;y=0;v=E;return y|0}g=e+108|0;y=e+124|0;if(c[y>>0]|0){Zt(t,4,18212,E+8|0)|0;y=1;v=E;return y|0}f=e+40|0;gt(i,f,1);gt(i+1|0,e+52|0,1);gt(i+2|0,e+44|0,1);n=i+3|0;f=h[f>>2]|0;switch(f|0){case 1:{if(r>>>0<7){h[l>>2]=r;Zt(t,1,18321,l)|0;y=0;v=E;return y|0}f=e+48|0;if(r>>>0>7?(h[f>>2]|0)!=14:0){h[s>>2]=r;Zt(t,2,18321,s)|0}gt(n,f,4);if((h[f>>2]|0)==14){n=Gn(36)|0;h[n>>2]=14;h[d>>2]=0;h[u>>2]=0;h[b>>2]=0;h[w>>2]=0;h[k>>2]=0;h[_>>2]=0;h[o>>2]=4470064;f=n+4|0;h[f>>2]=1145390592;switch(r|0){case 35:{gt(i+7|0,_,4);gt(i+11|0,b,4);gt(i+15|0,k,4);gt(i+19|0,u,4);gt(i+23|0,w,4);gt(i+27|0,d,4);gt(i+31|0,o,4);h[f>>2]=0;break}case 7:break;default:{h[m>>2]=r;Zt(t,2,18357,m)|0}}h[n+8>>2]=h[_>>2];h[n+16>>2]=h[k>>2];h[n+24>>2]=h[w>>2];h[n+12>>2]=h[b>>2];h[n+20>>2]=h[u>>2];h[n+28>>2]=h[d>>2];h[n+32>>2]=h[o>>2];h[g>>2]=n;h[e+112>>2]=0}c[y>>0]=1;y=1;v=E;return y|0}case 2:{a=r+-3|0;f=e+112|0;h[f>>2]=a;e=Kn(1,a)|0;h[g>>2]=e;if(!e){h[f>>2]=0;y=0;v=E;return y|0}if((r|0)>3){f=0;while(1){gt(n,p,1);c[(h[g>>2]|0)+f>>0]=h[p>>2];f=f+1|0;if((f|0)==(a|0))break;else n=n+1|0}}c[y>>0]=1;y=1;v=E;return y|0}default:{if(f>>>0<=2){y=1;v=E;return y|0}h[a>>2]=f;Zt(t,4,18401,a)|0;y=1;v=E;return y|0}}return 0}function br(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+16|0;f=l;n=h[e+24>>2]|0;if((n|0)!=255){h[f>>2]=n;Zt(t,2,18034,f)|0}a=e+20|0;if((h[a>>2]|0)!=(r|0)){Zt(t,1,18148,l+8|0)|0;a=0;v=l;return a|0}if(!r){a=1;v=l;return a|0}f=e+72|0;n=0;while(1){gt(i,(h[f>>2]|0)+(n*12|0)+8|0,1);n=n+1|0;if(n>>>0>=(h[a>>2]|0)>>>0){i=1;break}else i=i+1|0}v=l;return i|0}function kr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,k=0,w=0;w=v;v=v+16|0;n=w;k=w+12|0;f=e+120|0;if(r>>>0<3|(h[f>>2]|0)!=0){r=0;v=w;return r|0}gt(i,k,2);a=h[k>>2]|0;u=a&65535;if((u+-1|0)>>>0>1023){h[n>>2]=u;Zt(t,1,17951,n)|0;r=0;v=w;return r|0}gt(i+2|0,k,1);o=h[k>>2]&65535;if(!o){Zt(t,1,17989,w+8|0)|0;r=0;v=w;return r|0}if((o+3|0)>>>0>r>>>0){r=0;v=w;return r|0}n=Gn(ue(u<<2,o)|0)|0;if(!n){r=0;v=w;return r|0}s=Gn(o)|0;if(!s){Qn(n);r=0;v=w;return r|0}l=Gn(o)|0;if(!l){Qn(n);Qn(s);r=0;v=w;return r|0}e=Gn(20)|0;if(!e){Qn(n);Qn(s);Qn(l);r=0;v=w;return r|0}h[e+4>>2]=l;h[e+8>>2]=s;h[e>>2]=n;d[e+16>>1]=a;c[e+18>>0]=h[k>>2];h[e+12>>2]=0;h[f>>2]=e;e=i+3|0;t=0;f=0;do{gt(e,k,1);e=e+1|0;c[s+t>>0]=(h[k>>2]&127)+1;c[l+t>>0]=(h[k>>2]|0)>>>7&1;f=f+1<<16>>16;t=f&65535}while(t>>>0>>0);if(!u){r=1;v=w;return r|0}t=0;e:while(1){a=0;f=n;l=0;while(1){n=((b[s+a>>0]|0)+7|0)>>>3;n=n>>>0>4?4:n;if((e-i+n|0)>(r|0)){e=0;n=22;break e}gt(e,k,n);e=e+n|0;h[f>>2]=h[k>>2];n=f+4|0;l=l+1<<16>>16;a=l&65535;if(a>>>0>=o>>>0)break;else f=n}t=t+1<<16>>16;if((t&65535)>>>0>=u>>>0){e=1;n=22;break}}if((n|0)==22){v=w;return e|0}return 0}function wr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+32|0;a=l+20|0;f=e+120|0;e=h[f>>2]|0;if(!e){Zt(t,1,17841,l)|0;a=0;v=l;return a|0}if(h[e+12>>2]|0){Zt(t,1,17887,l+8|0)|0;a=0;v=l;return a|0}n=c[e+18>>0]|0;e=(n&255)<<2;if(e>>>0>r>>>0){Zt(t,1,17918,l+16|0)|0;a=0;v=l;return a|0}t=Gn(e)|0;if(!t){a=0;v=l;return a|0}if(n<<24>>24){e=i;r=0;while(1){gt(e,a,2);d[t+(r<<2)>>1]=h[a>>2];gt(e+2|0,a,1);c[t+(r<<2)+2>>0]=h[a>>2];gt(e+3|0,a,1);c[t+(r<<2)+3>>0]=h[a>>2];r=r+1|0;if((r&255)<<24>>24==n<<24>>24)break;else e=e+4|0}}h[(h[f>>2]|0)+12>>2]=t;a=1;v=l;return a|0}function _r(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+32|0;a=l+20|0;f=e+116|0;if(h[f>>2]|0){a=0;v=l;return a|0}if(r>>>0<2){Zt(t,1,17747,l)|0;a=0;v=l;return a|0}gt(i,a,2);e=h[a>>2]|0;n=e&65535;if(!n){Zt(t,1,17780,l+8|0)|0;a=0;v=l;return a|0}if(((n*6|0)+2|0)>>>0>r>>>0){Zt(t,1,17747,l+16|0)|0;a=0;v=l;return a|0}r=Gn(e*6|0)|0;if(!r){a=0;v=l;return a|0}e=Gn(8)|0;h[f>>2]=e;if(!e){Qn(r);a=0;v=l;return a|0}h[e>>2]=r;t=h[a>>2]&65535;d[e+4>>1]=t;if(!(t<<16>>16)){a=1;v=l;return a|0}else{n=0;e=i}do{i=n&65535;gt(e+2|0,a,2);d[r+(i*6|0)>>1]=h[a>>2];gt(e+4|0,a,2);e=e+6|0;d[r+(i*6|0)+2>>1]=h[a>>2];gt(e,a,2);d[r+(i*6|0)+4>>1]=h[a>>2];n=n+1<<16>>16}while((n&65535)<(k[(h[f>>2]|0)+4>>1]|0));e=1;v=l;return e|0}function mr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=v;v=v+32|0;n=f+20|0;e=e+100|0;if(h[e>>2]|0){Zt(t,1,19130,f)|0;t=0;v=f;return t|0}if((r|0)!=4){Zt(t,1,19184,f+8|0)|0;t=0;v=f;return t|0}gt(i,n,4);if((h[n>>2]|0)==218793738){h[e>>2]=h[e>>2]|1;t=1;v=f;return t|0}else{Zt(t,1,19218,f+16|0)|0;t=0;v=f;return t|0}return 0}function pr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+32|0;f=l+24|0;a=e+100|0;if((h[a>>2]|0)!=1){Zt(t,1,19011,l)|0;a=0;v=l;return a|0}if(r>>>0<8){Zt(t,1,19061,l+8|0)|0;a=0;v=l;return a|0}gt(i,e+56|0,4);gt(i+4|0,e+60|0,4);i=i+8|0;r=r+-8|0;if(r&3){Zt(t,1,19061,l+16|0)|0;a=0;v=l;return a|0}r=r>>>2;n=e+64|0;h[n>>2]=r;if(r){r=Kn(r,4)|0;h[e+68>>2]=r;if(!r){Zt(t,1,19097,f)|0;a=0;v=l;return a|0}if(h[n>>2]|0){e=e+68|0;r=0;while(1){gt(i,(h[e>>2]|0)+(r<<2)|0,4);r=r+1|0;if(r>>>0>=(h[n>>2]|0)>>>0)break;else i=i+4|0}}}h[a>>2]=h[a>>2]|2;a=1;v=l;return a|0}function vr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0;T=v;v=v+96|0;A=T+72|0;_=T+64|0;w=T+56|0;k=T+48|0;y=T+40|0;g=T+32|0;p=T+24|0;m=T+16|0;b=T+8|0;c=T+80|0;d=T+76|0;E=e+100|0;if(!(h[E>>2]&2)){Zt(t,1,18679,T)|0;M=0;v=T;return M|0}u=e+104|0;h[u>>2]=0;do{if(r){s=i;i=0;e:while(1){if(r>>>0<8){M=6;break}gt(s,c,4);n=h[c>>2]|0;gt(s+4|0,c,4);l=h[c>>2]|0;switch(n|0){case 0:{M=14;break e}case 1:{if(r>>>0<16){M=9;break e}gt(s+8|0,d,4);if(h[d>>2]|0){M=11;break e}gt(s+12|0,c,4);n=h[c>>2]|0;if(!n){M=13;break e}else f=16;break}default:f=8}if(n>>>0>>0){M=16;break}if(r>>>0>>0){M=19;break}a=(l|0)==1768449138;if(!a)if((l|0)!=1668246642)if((l|0)!=1651532643)if((l|0)!=1885564018)if((l|0)!=1668112752)if((l|0)==1667523942){o=1148;M=26}else h[u>>2]=h[u>>2]|2147483647;else{o=1140;M=26}else{o=1132;M=26}else{o=1124;M=26}else{o=1116;M=26}else{o=1108;M=26}if((M|0)==26?(M=0,(Fo[h[o+4>>2]&63](e,s+f|0,n-f|0,t)|0)==0):0){i=0;M=32;break}i=a?1:i;if((r|0)==(n|0)){M=29;break}else{s=s+n|0;r=r-n|0}}if((M|0)==6)Zt(t,1,18724,b)|0;else if((M|0)==9)Zt(t,1,18764,m)|0;else if((M|0)==11)Zt(t,1,17148,p)|0;else if((M|0)==13)Zt(t,1,17218,g)|0;else if((M|0)==14)Zt(t,1,17218,y)|0;else if((M|0)==16)Zt(t,1,18808,k)|0;else if((M|0)==19){Zt(t,1,18880,_)|0;M=0;v=T;return M|0}else if((M|0)==29){if(!i)break;h[E>>2]=h[E>>2]|4;M=1;v=T;return M|0}else if((M|0)==32){v=T;return i|0}Zt(t,1,18837,w)|0;M=0;v=T;return M|0}}while(0);Zt(t,1,18952,A)|0;M=0;v=T;return M|0}function gr(){return 8}function yr(){return 32}function Er(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;if(!t)return;else n=0;do{u=e+(n<<2)|0;l=h[u>>2]|0;s=i+(n<<2)|0;a=h[s>>2]|0;f=r+(n<<2)|0;o=h[f>>2]|0;h[u>>2]=(a<<1)+l+o>>2;h[s>>2]=o-a;h[f>>2]=l-a;n=n+1|0}while((n|0)!=(t|0));return}function Ar(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;if(!t)return;else n=0;do{o=e+(n<<2)|0;s=i+(n<<2)|0;a=h[s>>2]|0;f=r+(n<<2)|0;u=h[f>>2]|0;l=(h[o>>2]|0)-(u+a>>2)|0;h[o>>2]=l+u;h[s>>2]=l;h[f>>2]=l+a;n=n+1|0}while((n|0)!=(t|0));return}function Mr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0;if(!t)return;else n=0;do{b=e+(n<<2)|0;v=h[b>>2]|0;o=i+(n<<2)|0;p=h[o>>2]|0;f=r+(n<<2)|0;m=h[f>>2]|0;s=((v|0)<0)<<31>>31;w=Qs(v|0,s|0,2449,0)|0;w=zs(w|0,j|0,4096,0)|0;w=Vs(w|0,j|0,13)|0;l=((p|0)<0)<<31>>31;_=Qs(p|0,l|0,4809,0)|0;_=zs(_|0,j|0,4096,0)|0;_=Vs(_|0,j|0,13)|0;a=((m|0)<0)<<31>>31;k=Qs(m|0,a|0,934,0)|0;k=zs(k|0,j|0,4096,0)|0;k=Vs(k|0,j|0,13)|0;u=Qs(v|0,s|0,1382,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=Qs(p|0,l|0,2714,0)|0;c=zs(c|0,j|0,4096,0)|0;c=Vs(c|0,j|0,13)|0;d=Xs(m|0,a|0,12)|0;d=zs(d|0,j|0,4096,0)|0;d=Vs(d|0,j|0,13)|0;s=Xs(v|0,s|0,12)|0;s=zs(s|0,j|0,4096,0)|0;s=Vs(s|0,j|0,13)|0;l=Qs(p|0,l|0,3430,0)|0;l=zs(l|0,j|0,4096,0)|0;l=Vs(l|0,j|0,13)|0;a=Qs(m|0,a|0,666,0)|0;a=zs(a|0,j|0,4096,0)|0;a=Vs(a|0,j|0,13)|0;h[b>>2]=_+w+k;h[o>>2]=d-(c+u);h[f>>2]=s-l-a;n=n+1|0}while((n|0)!=(t|0));return}function Tr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0.0,l=0.0,s=0,o=0.0,u=0;if(!t)return;else n=0;do{u=e+(n<<2)|0;l=+_[u>>2];s=i+(n<<2)|0;a=+_[s>>2];f=r+(n<<2)|0;o=+_[f>>2];_[u>>2]=l+o*1.4019999504089355;_[s>>2]=l-a*.3441300094127655-o*.714139997959137;_[f>>2]=l+a*1.7719999551773071;n=n+1|0}while((n|0)!=(t|0));return}function Sr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;f=ue(t,t)|0;d=Gn(f+t<<2)|0;if(!d){t=0;return t|0}if(f){a=0;n=e;while(1){h[d+(a+t<<2)>>2]=~~(+_[n>>2]*8192.0);a=a+1|0;if((a|0)==(f|0))break;else n=n+4|0}}if(i){u=(t|0)==0;c=0;do{if(!u){n=0;do{h[d+(n<<2)>>2]=h[h[r+(n<<2)>>2]>>2];n=n+1|0}while((n|0)!=(t|0));if(!u){e=0;s=d;do{s=s+(t<<2)|0;f=r+(e<<2)|0;n=h[f>>2]|0;h[n>>2]=0;a=0;l=0;o=s;while(1){b=h[o>>2]|0;k=h[d+(l<<2)>>2]|0;b=Qs(k|0,((k|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=zs(b|0,j|0,4096,0)|0;b=Vs(b|0,j|0,13)|0;a=b+a|0;h[n>>2]=a;l=l+1|0;if((l|0)==(t|0))break;else o=o+4|0}h[f>>2]=n+4;e=e+1|0}while((e|0)!=(t|0))}}c=c+1|0}while((c|0)!=(i|0))}Qn(d);k=1;return k|0}function Pr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0.0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;u=Gn(t<<3)|0;if(!u){t=0;return t|0}if(i){c=(t|0)==0;d=0;do{if(!c){n=0;do{h[u+(n<<2)>>2]=h[h[r+(n<<2)>>2]>>2];n=n+1|0}while((n|0)!=(t|0));if(!c){s=0;o=e;while(1){n=u+(s+t<<2)|0;_[n>>2]=0.0;f=0.0;a=0;l=o;while(1){f=f+ +_[l>>2]*+_[u+(a<<2)>>2];_[n>>2]=f;a=a+1|0;if((a|0)==(t|0))break;else l=l+4|0}a=r+(s<<2)|0;l=h[a>>2]|0;h[a>>2]=l+4;_[l>>2]=f;s=s+1|0;if((s|0)==(t|0))break;else o=o+(t<<2)|0}}}d=d+1|0}while((d|0)!=(i|0))}Qn(u);t=1;return t|0}function Or(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0,s=0.0;if(!i)return;else l=0;do{a=e+(l<<3)|0;m[a>>3]=0.0;t=0.0;n=0;f=l;while(1){s=+_[r+(f<<2)>>2];t=t+s*s;n=n+1|0;if((n|0)==(i|0))break;else f=f+i|0}s=+Q(+t);m[a>>3]=s;l=l+1|0}while((l|0)!=(i|0));return}function Rr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0;L=v;v=v+32|0;S=L+28|0;y=L+24|0;E=L+20|0;A=L+16|0;M=L+12|0;T=L+8|0;l=L+4|0;s=L;t=i+76|0;O=h[t>>2]|0;P=O+(r*5640|0)+420|0;R=(h[P>>2]|0)+1|0;o=e+16|0;g=Gn((h[o>>2]|0)*528|0)|0;if(!g){R=0;v=L;return R|0}p=Gn(h[o>>2]<<2)|0;if(!p){Qn(g);R=0;v=L;return R|0}t=Br(e,h[t>>2]|0,r)|0;if(!t){Qn(g);Qn(p);R=0;v=L;return R|0}n=h[o>>2]|0;if(n){f=0;a=g;while(1){h[p+(f<<2)>>2]=a;f=f+1|0;if(f>>>0>=n>>>0)break;else a=a+528|0}}Nr(e,i,r,E,A,M,T,l,s,y,S,p);_=h[y>>2]|0;k=ue(h[o>>2]|0,_)|0;w=ue(h[S>>2]|0,k)|0;m=O+(r*5640|0)+8|0;b=Kn(ue((h[m>>2]|0)+1|0,w)|0,2)|0;f=t+4|0;h[f>>2]=b;if(!b){Qn(g);Qn(p);n=h[f>>2]|0;if(n){Qn(n);h[f>>2]=0}if(R){e=t;u=0;while(1){o=e+196|0;n=h[o>>2]|0;if(n){i=e+192|0;f=h[i>>2]|0;if(f){s=0;while(1){a=n+12|0;l=h[a>>2]|0;if(l){Qn(l);h[a>>2]=0;f=h[i>>2]|0}s=s+1|0;if(s>>>0>=f>>>0)break;else n=n+16|0}n=h[o>>2]|0}Qn(n);h[o>>2]=0}u=u+1|0;if((u|0)==(R|0))break;else e=e+232|0}}Qn(t);R=0;v=L;return R|0}n=h[t+196>>2]|0;b=h[e+24>>2]|0;h[t+200>>2]=h[E>>2];h[t+204>>2]=h[M>>2];h[t+208>>2]=h[A>>2];h[t+212>>2]=h[T>>2];h[t+20>>2]=1;h[t+16>>2]=_;h[t+12>>2]=k;h[t+8>>2]=w;o=h[t+192>>2]|0;if(o){e=0;i=b;while(1){a=h[n+12>>2]|0;f=h[p+(e<<2)>>2]|0;h[n>>2]=h[i>>2];h[n+4>>2]=h[i+4>>2];s=h[n+8>>2]|0;if(s){l=0;while(1){h[a>>2]=h[f>>2];h[a+4>>2]=h[f+4>>2];h[a+8>>2]=h[f+8>>2];h[a+12>>2]=h[f+12>>2];l=l+1|0;if(l>>>0>=s>>>0)break;else{f=f+16|0;a=a+16|0}}}e=e+1|0;if(e>>>0>=o>>>0)break;else{n=n+16|0;i=i+52|0}}}if(R>>>0>1){o=t;d=1;do{n=h[o+428>>2]|0;h[o+432>>2]=h[E>>2];h[o+436>>2]=h[M>>2];h[o+440>>2]=h[A>>2];h[o+444>>2]=h[T>>2];h[o+252>>2]=1;h[o+248>>2]=_;h[o+244>>2]=k;h[o+240>>2]=w;e=h[o+424>>2]|0;if(e){u=0;i=b;while(1){a=h[n+12>>2]|0;f=h[p+(u<<2)>>2]|0;h[n>>2]=h[i>>2];h[n+4>>2]=h[i+4>>2];s=h[n+8>>2]|0;if(s){l=0;while(1){h[a>>2]=h[f>>2];h[a+4>>2]=h[f+4>>2];h[a+8>>2]=h[f+8>>2];h[a+12>>2]=h[f+12>>2];l=l+1|0;if(l>>>0>=s>>>0)break;else{f=f+16|0;a=a+16|0}}}u=u+1|0;if(u>>>0>=e>>>0)break;else{n=n+16|0;i=i+52|0}}}h[o+236>>2]=h[o+4>>2];o=o+232|0;d=d+1|0}while((d|0)!=(R|0))}Qn(g);Qn(p);o=h[y>>2]|0;if(!(c[O+(r*5640|0)+5636>>0]&4)){i=h[S>>2]|0;s=(h[P>>2]|0)+1|0;if(!s){R=t;v=L;return R|0}l=h[O+(r*5640|0)+4>>2]|0;n=h[m>>2]|0;f=t;a=0;while(1){h[f+80>>2]=l;h[f+40>>2]=1;h[f+44>>2]=0;h[f+48>>2]=0;h[f+64>>2]=0;h[f+68>>2]=0;h[f+56>>2]=i;h[f+60>>2]=h[f+192>>2];h[f+52>>2]=n;h[f+72>>2]=o;a=a+1|0;if((a|0)==(s|0))break;else f=f+232|0}v=L;return t|0}else{a=(h[P>>2]|0)+1|0;if(!a){R=t;v=L;return R|0}l=t;n=O+(r*5640|0)+424|0;f=0;while(1){h[l+80>>2]=h[n+36>>2];h[l+40>>2]=1;h[l+44>>2]=h[n>>2];h[l+48>>2]=h[n+4>>2];h[l+64>>2]=0;h[l+68>>2]=0;h[l+56>>2]=h[n+12>>2];h[l+60>>2]=h[n+16>>2];h[l+52>>2]=h[n+8>>2];h[l+72>>2]=o;f=f+1|0;if((f|0)==(a|0))break;else{l=l+232|0;n=n+148|0}}v=L;return t|0}return 0}function Lr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;if(!e)return;r=e+4|0;t=h[r>>2]|0;if(t){Qn(t);h[r>>2]=0}if(i){o=e;u=0;while(1){s=o+196|0;r=h[s>>2]|0;if(r){l=o+192|0;t=h[l>>2]|0;if(t){a=0;while(1){n=r+12|0;f=h[n>>2]|0;if(f){Qn(f);h[n>>2]=0;t=h[l>>2]|0}a=a+1|0;if(a>>>0>=t>>>0)break;else r=r+16|0}r=h[s>>2]|0}Qn(r);h[s>>2]=0}u=u+1|0;if((u|0)==(i|0))break;else o=o+232|0}}Qn(e);return}function Cr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0;N=v;v=v+32|0;C=N+28|0;L=N+24|0;S=N+20|0;P=N+16|0;O=N+12|0;R=N+8|0;D=N+4|0;x=N;I=i+76|0;E=h[I>>2]|0;B=(h[E+(r*5640|0)+420>>2]|0)+1|0;T=e+16|0;M=Gn((h[T>>2]|0)*528|0)|0;if(!M){r=0;v=N;return r|0}A=Gn(h[T>>2]<<2)|0;if(!A){Qn(M);r=0;v=N;return r|0}n=Br(e,h[I>>2]|0,r)|0;if(!n){Qn(M);Qn(A);r=0;v=N;return r|0}f=h[T>>2]|0;if(f){a=0;l=M;while(1){h[A+(a<<2)>>2]=l;a=a+1|0;if(a>>>0>=f>>>0)break;else l=l+528|0}}Nr(e,i,r,S,P,O,R,D,x,L,C,A);p=h[L>>2]|0;g=ue(h[T>>2]|0,p)|0;y=ue(h[C>>2]|0,g)|0;c[n>>0]=(b[i+93>>0]|0)>>>3&1;m=Kn(ue(h[E+(r*5640|0)+8>>2]|0,y)|0,2)|0;a=n+4|0;h[a>>2]=m;if(!m){Qn(M);Qn(A);f=h[a>>2]|0;if(f){Qn(f);h[a>>2]=0}if(B){k=n;w=0;while(1){u=k+196|0;f=h[u>>2]|0;if(f){o=k+192|0;a=h[o>>2]|0;if(a){s=0;while(1){l=f+12|0;e=h[l>>2]|0;if(e){Qn(e);h[l>>2]=0;a=h[o>>2]|0}s=s+1|0;if(s>>>0>=a>>>0)break;else f=f+16|0}f=h[u>>2]|0}Qn(f);h[u>>2]=0}w=w+1|0;if((w|0)==(B|0))break;else k=k+232|0}}Qn(n);r=0;v=N;return r|0}f=h[n+196>>2]|0;m=h[e+24>>2]|0;h[n+200>>2]=h[S>>2];h[n+204>>2]=h[O>>2];h[n+208>>2]=h[P>>2];h[n+212>>2]=h[R>>2];h[n+224>>2]=h[D>>2];h[n+228>>2]=h[x>>2];h[n+20>>2]=1;h[n+16>>2]=p;h[n+12>>2]=g;h[n+8>>2]=y;u=h[n+192>>2]|0;if(u){k=0;o=m;while(1){l=h[f+12>>2]|0;a=h[A+(k<<2)>>2]|0;h[f>>2]=h[o>>2];h[f+4>>2]=h[o+4>>2];s=h[f+8>>2]|0;if(s){e=0;while(1){h[l>>2]=h[a>>2];h[l+4>>2]=h[a+4>>2];h[l+8>>2]=h[a+8>>2];h[l+12>>2]=h[a+12>>2];e=e+1|0;if(e>>>0>=s>>>0)break;else{a=a+16|0;l=l+16|0}}}k=k+1|0;if(k>>>0>=u>>>0)break;else{f=f+16|0;o=o+52|0}}}if(B>>>0>1){u=n;_=1;do{f=h[u+428>>2]|0;h[u+432>>2]=h[S>>2];h[u+436>>2]=h[O>>2];h[u+440>>2]=h[P>>2];h[u+444>>2]=h[R>>2];h[u+456>>2]=h[D>>2];h[u+460>>2]=h[x>>2];h[u+252>>2]=1;h[u+248>>2]=p;h[u+244>>2]=g;h[u+240>>2]=y;k=h[u+424>>2]|0;if(k){w=0;o=m;while(1){l=h[f+12>>2]|0;a=h[A+(w<<2)>>2]|0;h[f>>2]=h[o>>2];h[f+4>>2]=h[o+4>>2];s=h[f+8>>2]|0;if(s){e=0;while(1){h[l>>2]=h[a>>2];h[l+4>>2]=h[a+4>>2];h[l+8>>2]=h[a+8>>2];h[l+12>>2]=h[a+12>>2];e=e+1|0;if(e>>>0>=s>>>0)break;else{a=a+16|0;l=l+16|0}}}w=w+1|0;if(w>>>0>=k>>>0)break;else{f=f+16|0;o=o+52|0}}}h[u+236>>2]=h[u+4>>2];u=u+232|0;_=_+1|0}while((_|0)!=(B|0))}Qn(M);Qn(A);do{if(c[E+(r*5640|0)+5636>>0]&4){f=d[i>>1]|0;if((f&65535)>2){if(!((t|0)==1|(f&65535)<7))break}else if((t|0)!=1)break;Fr(h[I>>2]|0,r,h[S>>2]|0,h[P>>2]|0,h[O>>2]|0,h[R>>2]|0,h[L>>2]|0,h[D>>2]|0,h[x>>2]|0);r=n;v=N;return r|0}}while(0);y=h[T>>2]|0;g=h[S>>2]|0;p=h[P>>2]|0;m=h[O>>2]|0;_=h[R>>2]|0;w=h[L>>2]|0;k=h[C>>2]|0;u=h[D>>2]|0;o=h[x>>2]|0;f=h[I>>2]|0;l=(h[f+(r*5640|0)+420>>2]|0)+1|0;if(!l){r=n;v=N;return r|0}e=h[f+(r*5640|0)+8>>2]|0;s=h[f+(r*5640|0)+4>>2]|0;f=f+(r*5640|0)+424|0;a=0;while(1){h[f+76>>2]=0;h[f+92>>2]=y;h[f+72>>2]=0;h[f+88>>2]=k;h[f+68>>2]=0;h[f+84>>2]=e;h[f+36>>2]=s;h[f+80>>2]=0;h[f+96>>2]=w;h[f+100>>2]=g;h[f+104>>2]=p;h[f+108>>2]=m;h[f+112>>2]=_;h[f+116>>2]=u;h[f+120>>2]=o;a=a+1|0;if((a|0)==(l|0))break;else f=f+148|0}v=N;return n|0}function Dr(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0;Y=h[i+76>>2]|0;q=Y+(r*5640|0)+424+(t*148|0)+36|0;X=$n(h[q>>2]|0)|0;h[e+(t*232|0)+40>>2]=1;z=e+(t*232|0)+44|0;h[e+(t*232|0)+80>>2]=h[q>>2];do{if(c[i+93>>0]&8){l=d[i>>1]|0;if((l&65535)>2){if(!((a|0)==1&(l&65535)>6|(l+-3&65535)<4))break}else if(!((a|0)==1|(l+-3&65535)<4))break;l=f+1|0;e:do{if((l|0)<4){a=Y+(r*5640|0)+424+(t*148|0)+72|0;s=Y+(r*5640|0)+424+(t*148|0)+88|0;o=e+(t*232|0)+56|0;u=Y+(r*5640|0)+424+(t*148|0)+76|0;b=e+(t*232|0)+48|0;k=Y+(r*5640|0)+424+(t*148|0)+92|0;w=e+(t*232|0)+60|0;_=Y+(r*5640|0)+424+(t*148|0)+68|0;m=e+(t*232|0)+64|0;p=Y+(r*5640|0)+424+(t*148|0)+84|0;v=e+(t*232|0)+52|0;g=Y+(r*5640|0)+424+(t*148|0)+80|0;y=e+(t*232|0)+68|0;E=Y+(r*5640|0)+424+(t*148|0)+96|0;A=e+(t*232|0)+72|0;M=Y+(r*5640|0)+424+(t*148|0)+100|0;T=e+(t*232|0)+96|0;S=Y+(r*5640|0)+424+(t*148|0)+108|0;P=e+(t*232|0)+104|0;O=Y+(r*5640|0)+424+(t*148|0)+104|0;R=e+(t*232|0)+100|0;L=Y+(r*5640|0)+424+(t*148|0)+112|0;C=e+(t*232|0)+108|0;while(1){i:do{switch(c[X+l>>0]|0){case 82:{h[z>>2]=h[a>>2];h[o>>2]=h[s>>2];break}case 67:{h[b>>2]=h[u>>2];h[w>>2]=h[k>>2];break}case 76:{h[m>>2]=h[_>>2];h[v>>2]=h[p>>2];break}case 80:if((h[q>>2]|0)>>>0<2){h[y>>2]=h[g>>2];h[A>>2]=h[E>>2];break i}else{h[T>>2]=h[M>>2];h[P>>2]=h[S>>2];h[R>>2]=h[O>>2];h[C>>2]=h[L>>2];break i}default:{}}}while(0);l=l+1|0;if((l|0)==4)break e}}}while(0);l=(f|0)>-1;if(!n){if(!l)return;o=Y+(r*5640|0)+424+(t*148|0)+76|0;u=Y+(r*5640|0)+424+(t*148|0)+132|0;b=e+(t*232|0)+48|0;k=e+(t*232|0)+60|0;w=Y+(r*5640|0)+424+(t*148|0)+72|0;_=Y+(r*5640|0)+424+(t*148|0)+128|0;m=e+(t*232|0)+56|0;p=Y+(r*5640|0)+424+(t*148|0)+68|0;v=Y+(r*5640|0)+424+(t*148|0)+124|0;g=e+(t*232|0)+64|0;y=e+(t*232|0)+52|0;E=Y+(r*5640|0)+424+(t*148|0)+80|0;A=Y+(r*5640|0)+424+(t*148|0)+136|0;M=e+(t*232|0)+68|0;T=e+(t*232|0)+72|0;S=Y+(r*5640|0)+424+(t*148|0)+100|0;P=Y+(r*5640|0)+424+(t*148|0)+140|0;O=Y+(r*5640|0)+424+(t*148|0)+108|0;R=Y+(r*5640|0)+424+(t*148|0)+144|0;L=e+(t*232|0)+96|0;C=Y+(r*5640|0)+424+(t*148|0)+116|0;n=e+(t*232|0)+100|0;D=e+(t*232|0)+104|0;s=Y+(r*5640|0)+424+(t*148|0)+120|0;a=e+(t*232|0)+108|0;l=f;while(1){e:do{switch(c[X+l>>0]|0){case 67:{t=h[o>>2]|0;h[b>>2]=t;t=t+1|0;h[k>>2]=t;h[u>>2]=t;break}case 82:{t=h[w>>2]|0;h[z>>2]=t;t=t+1|0;h[m>>2]=t;h[_>>2]=t;break}case 76:{t=h[p>>2]|0;h[g>>2]=t;t=t+1|0;h[y>>2]=t;h[v>>2]=t;break}case 80:if((h[q>>2]|0)>>>0<2){t=h[E>>2]|0;h[M>>2]=t;t=t+1|0;h[T>>2]=t;h[A>>2]=t;break e}else{t=h[S>>2]|0;f=h[O>>2]|0;h[L>>2]=t;r=h[C>>2]|0;r=r+t-((t>>>0)%(r>>>0)|0)|0;h[n>>2]=r;h[D>>2]=f;t=h[s>>2]|0;t=t+f-((f>>>0)%(t>>>0)|0)|0;h[a>>2]=t;h[P>>2]=r;h[R>>2]=t;break e}default:{}}}while(0);if((l|0)>0)l=l+-1|0;else break}return}if(!l)return;N=Y+(r*5640|0)+424+(t*148|0)+128|0;F=Y+(r*5640|0)+424+(t*148|0)+88|0;U=Y+(r*5640|0)+424+(t*148|0)+72|0;j=e+(t*232|0)+56|0;H=Y+(r*5640|0)+424+(t*148|0)+132|0;k=Y+(r*5640|0)+424+(t*148|0)+92|0;w=Y+(r*5640|0)+424+(t*148|0)+76|0;_=e+(t*232|0)+48|0;m=e+(t*232|0)+60|0;p=Y+(r*5640|0)+424+(t*148|0)+124|0;v=Y+(r*5640|0)+424+(t*148|0)+84|0;g=Y+(r*5640|0)+424+(t*148|0)+68|0;y=e+(t*232|0)+64|0;E=e+(t*232|0)+52|0;A=Y+(r*5640|0)+424+(t*148|0)+136|0;M=Y+(r*5640|0)+424+(t*148|0)+96|0;T=Y+(r*5640|0)+424+(t*148|0)+80|0;S=e+(t*232|0)+68|0;P=e+(t*232|0)+72|0;O=Y+(r*5640|0)+424+(t*148|0)+140|0;R=Y+(r*5640|0)+424+(t*148|0)+104|0;L=e+(t*232|0)+96|0;C=Y+(r*5640|0)+424+(t*148|0)+116|0;n=e+(t*232|0)+100|0;D=Y+(r*5640|0)+424+(t*148|0)+144|0;x=Y+(r*5640|0)+424+(t*148|0)+112|0;I=e+(t*232|0)+104|0;B=Y+(r*5640|0)+424+(t*148|0)+120|0;u=e+(t*232|0)+108|0;b=Y+(r*5640|0)+424+(t*148|0)+100|0;o=Y+(r*5640|0)+424+(t*148|0)+108|0;s=f;l=1;while(1){a=X+s|0;e:do{switch(c[a>>0]|0){case 67:{f=h[H>>2]|0;h[_>>2]=f+-1;h[m>>2]=f;break}case 82:{f=h[N>>2]|0;h[z>>2]=f+-1;h[j>>2]=f;break}case 76:{f=h[p>>2]|0;h[y>>2]=f+-1;h[E>>2]=f;break}case 80:if((h[q>>2]|0)>>>0<2){f=h[A>>2]|0;h[S>>2]=f+-1;h[P>>2]=f;break e}else{f=h[O>>2]|0;Y=h[C>>2]|0;h[L>>2]=f-Y-((f>>>0)%(Y>>>0)|0);h[n>>2]=f;f=h[D>>2]|0;Y=h[B>>2]|0;h[I>>2]=f-Y-((f>>>0)%(Y>>>0)|0);h[u>>2]=f;break e}default:{}}}while(0);e:do{if((l|0)==1)switch(c[a>>0]|0){case 82:{l=h[N>>2]|0;if((l|0)!=(h[F>>2]|0)){h[z>>2]=l;l=l+1|0;h[j>>2]=l;h[N>>2]=l;l=0;break e}if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}l=h[U>>2]|0;h[z>>2]=l;l=l+1|0;h[j>>2]=l;h[N>>2]=l;l=1;break e}case 67:{l=h[H>>2]|0;if((l|0)!=(h[k>>2]|0)){h[_>>2]=l;l=l+1|0;h[m>>2]=l;h[H>>2]=l;l=0;break e}if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}l=h[w>>2]|0;h[_>>2]=l;l=l+1|0;h[m>>2]=l;h[H>>2]=l;l=1;break e}case 76:{l=h[p>>2]|0;if((l|0)!=(h[v>>2]|0)){h[y>>2]=l;l=l+1|0;h[E>>2]=l;h[p>>2]=l;l=0;break e}if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}l=h[g>>2]|0;h[y>>2]=l;l=l+1|0;h[E>>2]=l;h[p>>2]=l;l=1;break e}case 80:{if((h[q>>2]|0)>>>0<2){l=h[A>>2]|0;if((l|0)!=(h[M>>2]|0)){h[S>>2]=l;l=l+1|0;h[P>>2]=l;h[A>>2]=l;l=0;break e}if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}l=h[T>>2]|0;h[S>>2]=l;l=l+1|0;h[P>>2]=l;h[A>>2]=l;l=1;break e}l=h[O>>2]|0;if(l>>>0<(h[R>>2]|0)>>>0){h[L>>2]=l;f=h[C>>2]|0;l=f+l-((l>>>0)%(f>>>0)|0)|0;h[n>>2]=l;h[O>>2]=l;l=0;break e}a=h[D>>2]|0;if(a>>>0<(h[x>>2]|0)>>>0){h[I>>2]=a;f=h[B>>2]|0;l=0;a=f+a-((a>>>0)%(f>>>0)|0)|0}else{if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}f=h[o>>2]|0;h[D>>2]=f;h[I>>2]=f;a=h[B>>2]|0;l=1;a=a+f-((f>>>0)%(a>>>0)|0)|0}h[u>>2]=a;h[D>>2]=a;Y=h[b>>2]|0;h[L>>2]=Y;f=h[C>>2]|0;f=f+Y-((Y>>>0)%(f>>>0)|0)|0;h[n>>2]=f;h[O>>2]=f;break e}default:{l=1;break e}}}while(0);if((s|0)>0)s=s+-1|0;else break}return}}while(0);h[z>>2]=h[Y+(r*5640|0)+424+(t*148|0)+72>>2];h[e+(t*232|0)+56>>2]=h[Y+(r*5640|0)+424+(t*148|0)+88>>2];h[e+(t*232|0)+48>>2]=h[Y+(r*5640|0)+424+(t*148|0)+76>>2];h[e+(t*232|0)+60>>2]=h[Y+(r*5640|0)+424+(t*148|0)+92>>2];h[e+(t*232|0)+64>>2]=h[Y+(r*5640|0)+424+(t*148|0)+68>>2];h[e+(t*232|0)+52>>2]=h[Y+(r*5640|0)+424+(t*148|0)+84>>2];h[e+(t*232|0)+68>>2]=h[Y+(r*5640|0)+424+(t*148|0)+80>>2];h[e+(t*232|0)+72>>2]=h[Y+(r*5640|0)+424+(t*148|0)+96>>2];h[e+(t*232|0)+96>>2]=h[Y+(r*5640|0)+424+(t*148|0)+100>>2];h[e+(t*232|0)+104>>2]=h[Y+(r*5640|0)+424+(t*148|0)+108>>2];h[e+(t*232|0)+100>>2]=h[Y+(r*5640|0)+424+(t*148|0)+104>>2];h[e+(t*232|0)+108>>2]=h[Y+(r*5640|0)+424+(t*148|0)+112>>2];return}function xr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0;D=h[i+76>>2]|0;I=h[i+24>>2]|0;F=(r>>>0)%(I>>>0)|0;I=(r>>>0)/(I>>>0)|0;B=h[i+4>>2]|0;C=h[i+12>>2]|0;L=(ue(C,F)|0)+B|0;N=h[e>>2]|0;N=(L|0)>(N|0)?L:N;B=(ue(C,F+1|0)|0)+B|0;F=h[e+8>>2]|0;F=(B|0)<(F|0)?B:F;B=h[i+8>>2]|0;C=h[i+16>>2]|0;L=(ue(C,I)|0)+B|0;x=h[e+4>>2]|0;x=(L|0)>(x|0)?L:x;B=(ue(C,I+1|0)|0)+B|0;I=h[e+12>>2]|0;I=(B|0)<(I|0)?B:I;B=h[e+16>>2]|0;if(!B){o=0;s=2147483647;l=2147483647;a=0}else{P=I+-1|0;O=F+-1|0;R=x+-1|0;L=N+-1|0;o=0;s=2147483647;l=2147483647;a=0;C=0;T=h[e+24>>2]|0;S=h[D+(r*5640|0)+5584>>2]|0;while(1){E=h[T>>2]|0;A=h[T+4>>2]|0;M=h[S+4>>2]|0;a=M>>>0>a>>>0?M:a;if(M){g=(P+A|0)/(A|0)|0;p=(O+E|0)/(E|0)|0;_=(R+A|0)/(A|0)|0;k=(L+E|0)/(E|0)|0;k=zs(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;w=j;_=zs(_|0,((_|0)<0)<<31>>31|0,-1,-1)|0;m=j;p=zs(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;v=j;g=zs(g|0,((g|0)<0)<<31>>31|0,-1,-1)|0;y=j;i=0;b=0;while(1){u=h[S+812+(b<<2)>>2]|0;d=h[S+944+(b<<2)>>2]|0;n=i+-1+M|0;f=E<>>0>>0?s:f;l=l>>>0>>0?l:U;U=Xs(1,0,n|0)|0;f=j;i=zs(k|0,w|0,U|0,f|0)|0;i=Ys(i|0,j|0,n|0)|0;t=zs(_|0,m|0,U|0,f|0)|0;t=Ys(t|0,j|0,n|0)|0;e=zs(p|0,v|0,U|0,f|0)|0;e=Ys(e|0,j|0,n|0)|0;f=zs(g|0,y|0,U|0,f|0)|0;n=Ys(f|0,j|0,n|0)|0;f=Xs(1,0,d|0)|0;f=zs(f|0,j|0,-1,-1)|0;f=zs(f|0,j|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Ys(f|0,j|0,d|0)|0;if((i|0)==(e|0))i=0;else{U=Xs(1,0,u|0)|0;U=zs(U|0,j|0,-1,-1)|0;U=zs(U|0,j|0,e|0,((e|0)<0)<<31>>31|0)|0;U=Ys(U|0,j|0,u|0)|0;i=(U<>u<>u}e=ue(i,(t|0)==(n|0)?0:(f<>d<>d)|0;o=e>>>0>o>>>0?e:o;e=b+1|0;if(e>>>0>>0){i=~b;b=e}else break}}C=C+1|0;if(C>>>0>=B>>>0)break;else{T=T+52|0;S=S+1080|0}}}if(c[D+(r*5640|0)+5636>>0]&4){Fr(D,r,N,F,x,I,o,s,l);return}t=(h[D+(r*5640|0)+420>>2]|0)+1|0;if(!t)return;n=h[D+(r*5640|0)+8>>2]|0;f=h[D+(r*5640|0)+4>>2]|0;i=D+(r*5640|0)+424|0;e=0;while(1){h[i+76>>2]=0;h[i+92>>2]=B;h[i+72>>2]=0;h[i+88>>2]=a;h[i+68>>2]=0;h[i+84>>2]=n;h[i+36>>2]=f;h[i+80>>2]=0;h[i+96>>2]=o;h[i+100>>2]=N;h[i+104>>2]=F;h[i+108>>2]=x;h[i+112>>2]=I;h[i+116>>2]=s;h[i+120>>2]=l;e=e+1|0;if((e|0)==(t|0))break;else i=i+148|0}return}function Ir(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0,Re=0,Le=0,Ce=0,De=0,xe=0,Ie=0,Be=0,Ne=0,Fe=0,Ue=0,je=0,He=0,Ye=0,qe=0,Xe=0,ze=0,Ve=0,Ge=0,Ke=0,We=0,Je=0,Ze=0,Qe=0,$e=0,ei=0,ii=0,ri=0,ti=0,ni=0,fi=0,ai=0,li=0,si=0,oi=0,ui=0,ci=0,di=0,hi=0;switch(h[e+80>>2]|0){case 0:{i=e+40|0;if(!(h[i>>2]|0)){R=e+32|0;s=R;R=h[R>>2]|0;r=18}else{h[i>>2]=0;p=h[e+64>>2]|0;h[e+36>>2]=p;r=5}while(1){if((r|0)==5){if(p>>>0>=(h[e+52>>2]|0)>>>0){hi=0;r=153;break}M=h[e+44>>2]|0;h[e+28>>2]=M;r=7}else if((r|0)==18){a=R+1|0;h[s>>2]=a;n=s;r=14}while(1){if((r|0)==7){r=0;if(M>>>0>=(h[e+56>>2]|0)>>>0){r=21;break}T=h[e+48>>2]|0;k=e+24|0;h[k>>2]=T}else if((r|0)==14){if(a>>>0<(h[e+72>>2]|0)>>>0){r=16;break}L=e+24|0;u=L;L=h[L>>2]|0;r=19}while(1){if((r|0)==19){r=0;T=L+1|0;h[u>>2]=T;k=u}if(T>>>0>=(h[e+60>>2]|0)>>>0){r=20;break}S=h[e+196>>2]|0;P=h[e+28>>2]|0;if(P>>>0<(h[S+(T<<4)+8>>2]|0)>>>0)break;else{u=k;L=T;r=19}}if((r|0)==20){r=e+28|0;M=(h[r>>2]|0)+1|0;h[r>>2]=M;r=7;continue}i=h[S+(T<<4)+12>>2]|0;if(!(c[e>>0]|0)){di=ue(h[i+(P<<4)+12>>2]|0,h[i+(P<<4)+8>>2]|0)|0;h[e+72>>2]=di}a=h[e+68>>2]|0;n=e+32|0;h[n>>2]=a;r=14}if((r|0)==16){r=0;O=ue(h[e+8>>2]|0,h[e+36>>2]|0)|0;O=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+O|0;O=O+(ue(h[e+16>>2]|0,h[e+24>>2]|0)|0)|0;O=O+(ue(h[e+20>>2]|0,a)|0)|0;O=(h[e+4>>2]|0)+(O<<1)|0;if(!(d[O>>1]|0))break;else{s=n;R=a;r=18;continue}}else if((r|0)==21){r=e+36|0;p=(h[r>>2]|0)+1|0;h[r>>2]=p;r=5;continue}}if((r|0)==153)return hi|0;d[O>>1]=1;e=1;return e|0}case 1:{i=e+40|0;if(!(h[i>>2]|0)){E=e+32|0;l=E;E=h[E>>2]|0;r=38}else{h[i>>2]=0;C=h[e+44>>2]|0;h[e+28>>2]=C;r=25}while(1){if((r|0)==25){if(C>>>0>=(h[e+56>>2]|0)>>>0){hi=0;r=153;break}_=h[e+64>>2]|0;h[e+36>>2]=_;r=27}else if((r|0)==38){f=E+1|0;h[l>>2]=f;t=l;r=34}while(1){if((r|0)==27){r=0;if(_>>>0>=(h[e+52>>2]|0)>>>0){r=41;break}m=h[e+48>>2]|0;b=e+24|0;h[b>>2]=m}else if((r|0)==34){if(f>>>0<(h[e+72>>2]|0)>>>0){r=36;break}A=e+24|0;o=A;A=h[A>>2]|0;r=39}while(1){if((r|0)==39){r=0;m=A+1|0;h[o>>2]=m;b=o}if(m>>>0>=(h[e+60>>2]|0)>>>0){r=40;break}v=h[e+196>>2]|0;g=h[e+28>>2]|0;if(g>>>0<(h[v+(m<<4)+8>>2]|0)>>>0)break;else{o=b;A=m;r=39}}if((r|0)==40){r=e+36|0;_=(h[r>>2]|0)+1|0;h[r>>2]=_;r=27;continue}i=h[v+(m<<4)+12>>2]|0;if(!(c[e>>0]|0)){di=ue(h[i+(g<<4)+12>>2]|0,h[i+(g<<4)+8>>2]|0)|0;h[e+72>>2]=di}f=h[e+68>>2]|0;t=e+32|0;h[t>>2]=f;r=34}if((r|0)==36){r=0;y=ue(h[e+8>>2]|0,h[e+36>>2]|0)|0;y=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+y|0;y=y+(ue(h[e+16>>2]|0,h[e+24>>2]|0)|0)|0;y=y+(ue(h[e+20>>2]|0,f)|0)|0;y=(h[e+4>>2]|0)+(y<<1)|0;if(!(d[y>>1]|0))break;else{l=t;E=f;r=38;continue}}else if((r|0)==41){r=e+28|0;C=(h[r>>2]|0)+1|0;h[r>>2]=C;r=25;continue}}if((r|0)==153)return hi|0;d[y>>1]=1;e=1;return e|0}case 2:{i=e+40|0;if(!(h[i>>2]|0)){ci=e+36|0;ze=ci;ci=h[ci>>2]|0;r=75}else{h[i>>2]=0;b=e+224|0;h[b>>2]=0;k=e+228|0;h[k>>2]=0;w=h[e+192>>2]|0;if(w){_=h[e+196>>2]|0;i=0;r=0;m=0;do{a=h[_+(m<<4)+8>>2]|0;if(a){l=h[_+(m<<4)+12>>2]|0;s=h[_+(m<<4)>>2]|0;o=h[_+(m<<4)+4>>2]|0;u=a+-1|0;t=0;f=0;while(1){n=u+t|0;Xe=s<>2]|0);n=o<<(h[l+(f<<4)+4>>2]|0)+n;i=(i|0)==0?Xe:i>>>0>>0?i:Xe;r=(r|0)==0?n:r>>>0>>0?r:n;n=f+1|0;if((n|0)==(a|0))break;else{t=~f;f=n}}h[b>>2]=i;h[k>>2]=r}m=m+1|0}while((m|0)!=(w|0))}if(!(c[e>>0]|0)){h[e+104>>2]=h[e+204>>2];h[e+96>>2]=h[e+200>>2];h[e+108>>2]=h[e+212>>2];h[e+100>>2]=h[e+208>>2]}I=h[e+44>>2]|0;h[e+28>>2]=I;r=54}while(1){if((r|0)==54){if(I>>>0>=(h[e+56>>2]|0)>>>0){hi=0;r=153;break}We=h[e+104>>2]|0;h[e+220>>2]=We;r=56}else if((r|0)==75){oi=ci+1|0;h[ze>>2]=oi;Ve=ze;r=71}while(1){if((r|0)==56){if((We|0)>=(h[e+108>>2]|0)){r=79;break}Je=h[e+96>>2]|0;h[e+216>>2]=Je;r=58}else if((r|0)==71){if(oi>>>0<(h[e+52>>2]|0)>>>0){r=73;break}di=e+24|0;Ge=di;di=h[di>>2]|0;r=76}while(1){if((r|0)==58){if((Je|0)>=(h[e+100>>2]|0)){r=78;break}Ze=h[e+48>>2]|0;Ke=e+24|0;h[Ke>>2]=Ze}else if((r|0)==76){Ze=di+1|0;h[Ge>>2]=Ze;Ke=Ge}if(Ze>>>0>=(h[e+60>>2]|0)>>>0){Je=h[e+224>>2]|0;r=e+216|0;Xe=h[r>>2]|0;Je=Xe+Je-((Xe|0)%(Je|0)|0)|0;h[r>>2]=Je;r=58;continue}r=h[e+196>>2]|0;o=h[e+28>>2]|0;i=h[r+(Ze<<4)+8>>2]|0;if(o>>>0>=i>>>0){Ge=Ke;di=Ze;r=76;continue}u=h[r+(Ze<<4)+12>>2]|0;f=i+~o|0;a=h[e+200>>2]|0;l=h[r+(Ze<<4)>>2]|0;Qe=l<>2]|0;Xe=h[r+(Ze<<4)+4>>2]|0;ei=Xe<>2]|0)|0)/(Qe|0)|0;ti=ei+-1|0;r=(ti+(h[e+212>>2]|0)|0)/(ei|0)|0;ni=h[u+(o<<4)>>2]|0;t=ni+f|0;fi=h[u+(o<<4)+4>>2]|0;n=fi+f|0;ai=h[e+220>>2]|0;if((ai|0)%(Xe<>2]|0;if((li|0)%(l<>2]|0;if(!si){Ge=Ke;di=Ze;r=76;continue}if((ii|0)==(r|0)|(($e|0)==(i|0)?1:(h[u+(o<<4)+12>>2]|0)==0)){Ge=Ke;di=Ze;r=76}else{r=70;break}}if((r|0)==70){oi=(((ri+li|0)/(Qe|0)|0)>>ni)-($e>>ni)+(ue((((ti+ai|0)/(ei|0)|0)>>fi)-(ii>>fi)|0,si)|0)|0;h[e+32>>2]=oi;oi=h[e+64>>2]|0;Ve=e+36|0;h[Ve>>2]=oi;r=71;continue}else if((r|0)==78){We=h[e+228>>2]|0;r=e+220|0;Xe=h[r>>2]|0;We=Xe+We-((Xe|0)%(We|0)|0)|0;h[r>>2]=We;r=56;continue}}if((r|0)==73){r=0;ui=ue(h[e+8>>2]|0,oi)|0;ui=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+ui|0;ui=ui+(ue(h[e+16>>2]|0,h[e+24>>2]|0)|0)|0;ui=ui+(ue(h[e+20>>2]|0,h[e+32>>2]|0)|0)|0;ui=(h[e+4>>2]|0)+(ui<<1)|0;if(!(d[ui>>1]|0))break;else{ze=Ve;ci=oi;r=75;continue}}else if((r|0)==79){r=e+28|0;I=(h[r>>2]|0)+1|0;h[r>>2]=I;r=54;continue}}if((r|0)==153)return hi|0;d[ui>>1]=1;e=1;return e|0}case 3:{r=e+40|0;if(!(h[r>>2]|0)){qe=h[e+24>>2]|0;Be=e+36|0;ke=Be;Be=h[Be>>2]|0;Ue=qe;qe=(h[e+196>>2]|0)+(qe<<4)|0;r=113}else{h[r>>2]=0;b=e+224|0;h[b>>2]=0;k=e+228|0;h[k>>2]=0;w=h[e+192>>2]|0;if(w){_=h[e+196>>2]|0;i=0;r=0;m=0;do{a=h[_+(m<<4)+8>>2]|0;if(a){l=h[_+(m<<4)+12>>2]|0;s=h[_+(m<<4)>>2]|0;o=h[_+(m<<4)+4>>2]|0;u=a+-1|0;t=0;f=0;while(1){n=u+t|0;di=s<>2]|0);n=o<<(h[l+(f<<4)+4>>2]|0)+n;i=(i|0)==0?di:i>>>0>>0?i:di;r=(r|0)==0?n:r>>>0>>0?r:n;n=f+1|0;if((n|0)==(a|0))break;else{t=~f;f=n}}h[b>>2]=i;h[k>>2]=r}m=m+1|0}while((m|0)!=(w|0))}if(!(c[e>>0]|0)){i=h[e+204>>2]|0;h[e+104>>2]=i;h[e+96>>2]=h[e+200>>2];h[e+108>>2]=h[e+212>>2];h[e+100>>2]=h[e+208>>2]}else i=h[e+104>>2]|0;h[e+220>>2]=i;r=93}while(1){if((r|0)==93){if((i|0)>=(h[e+108>>2]|0)){hi=0;r=153;break}pe=h[e+96>>2]|0;h[e+216>>2]=pe;r=95}else if((r|0)==113){De=Be+1|0;h[ke>>2]=De;we=ke;xe=Ue;Ye=qe;r=109}while(1){if((r|0)==95){if((pe|0)>=(h[e+100>>2]|0)){r=117;break}ve=h[e+48>>2]|0;h[e+24>>2]=ve;r=97}else if((r|0)==109){if(De>>>0<(h[e+52>>2]|0)>>>0){r=111;break}Ne=e+28|0;_e=Ne;Ne=h[Ne>>2]|0;je=xe;Xe=Ye;r=114}while(1){if((r|0)==97){if(ve>>>0>=(h[e+60>>2]|0)>>>0){r=116;break}He=(h[e+196>>2]|0)+(ve<<4)|0;ge=h[e+44>>2]|0;me=e+28|0;h[me>>2]=ge;Fe=ve}else if((r|0)==114){ge=Ne+1|0;h[_e>>2]=ge;me=_e;Fe=je;He=Xe}di=h[e+56>>2]|0;r=h[He+8>>2]|0;if(ge>>>0>=(di>>>0>>0?di:r)>>>0){ve=Fe+1|0;h[e+24>>2]=ve;r=97;continue}u=h[He+12>>2]|0;r=r+~ge|0;t=h[e+200>>2]|0;n=h[He>>2]|0;ye=n<>2]|0;di=h[He+4>>2]|0;Ae=di<>2]|0)|0)/(ye|0)|0;Se=Ae+-1|0;l=(Se+(h[e+212>>2]|0)|0)/(Ae|0)|0;Pe=h[u+(ge<<4)>>2]|0;s=Pe+r|0;Oe=h[u+(ge<<4)+4>>2]|0;o=Oe+r|0;Re=h[e+220>>2]|0;if((Re|0)%(di<>2]|0;if((Le|0)%(n<>2]|0;if(!Ce){_e=me;Ne=ge;je=Fe;Xe=He;r=114;continue}if((Me|0)==(l|0)|((Ee|0)==(a|0)?1:(h[u+(ge<<4)+12>>2]|0)==0)){_e=me;Ne=ge;je=Fe;Xe=He;r=114}else{r=108;break}}if((r|0)==108){De=(((Te+Le|0)/(ye|0)|0)>>Pe)-(Ee>>Pe)+(ue((((Se+Re|0)/(Ae|0)|0)>>Oe)-(Me>>Oe)|0,Ce)|0)|0;h[e+32>>2]=De;De=h[e+64>>2]|0;we=e+36|0;h[we>>2]=De;xe=Fe;Ye=He;r=109;continue}else if((r|0)==116){pe=h[e+224>>2]|0;r=e+216|0;di=h[r>>2]|0;pe=di+pe-((di|0)%(pe|0)|0)|0;h[r>>2]=pe;r=95;continue}}if((r|0)==111){r=0;Ie=ue(h[e+8>>2]|0,De)|0;Ie=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+Ie|0;Ie=Ie+(ue(h[e+16>>2]|0,xe)|0)|0;Ie=Ie+(ue(h[e+20>>2]|0,h[e+32>>2]|0)|0)|0;Ie=(h[e+4>>2]|0)+(Ie<<1)|0;if(!(d[Ie>>1]|0))break;else{ke=we;Be=De;Ue=xe;qe=Ye;r=113;continue}}else if((r|0)==117){i=h[e+228>>2]|0;r=e+220|0;di=h[r>>2]|0;i=di+i-((di|0)%(i|0)|0)|0;h[r>>2]=i;r=93;continue}}if((r|0)==153)return hi|0;d[Ie>>1]=1;e=1;return e|0}case 4:{i=e+40|0;if(!(h[i>>2]|0)){he=h[e+24>>2]|0;te=e+36|0;B=te;te=h[te>>2]|0;fe=he;he=(h[e+196>>2]|0)+(he<<4)|0;r=148}else{h[i>>2]=0;j=h[e+48>>2]|0;h[e+24>>2]=j;r=121}while(1){if((r|0)==121){if(j>>>0>=(h[e+60>>2]|0)>>>0){hi=0;r=153;break}i=h[e+196>>2]|0;w=i+(j<<4)|0;b=e+224|0;h[b>>2]=0;k=e+228|0;h[k>>2]=0;s=h[i+(j<<4)+8>>2]|0;if(s){o=h[i+(j<<4)+12>>2]|0;u=h[w>>2]|0;n=h[i+(j<<4)+4>>2]|0;f=s+-1|0;r=0;i=0;t=0;l=0;while(1){a=f+t|0;di=u<>2]|0);a=n<<(h[o+(l<<4)+4>>2]|0)+a;r=(r|0)==0?di:r>>>0>>0?r:di;i=(i|0)==0?a:i>>>0>>0?i:a;a=l+1|0;if((a|0)==(s|0))break;else{t=~l;l=a}}h[b>>2]=r;h[k>>2]=i}if(!(c[e>>0]|0)){i=h[e+204>>2]|0;h[e+104>>2]=i;h[e+96>>2]=h[e+200>>2];h[e+108>>2]=h[e+212>>2];h[e+100>>2]=h[e+208>>2]}else i=h[e+104>>2]|0;h[e+220>>2]=i;D=i;x=j;r=130}else if((r|0)==148){ee=te+1|0;h[B>>2]=ee;N=B;ie=fe;de=he;r=144}while(1){if((r|0)==130){if((D|0)>=(h[e+108>>2]|0)){r=152;break}H=h[e+96>>2]|0;h[e+216>>2]=H;ae=x;oe=w;r=132}else if((r|0)==144){if(ee>>>0<(h[e+52>>2]|0)>>>0){r=146;break}ne=e+28|0;F=ne;ne=h[ne>>2]|0;se=ie;be=de;r=149}while(1){if((r|0)==132){if((H|0)>=(h[e+100>>2]|0)){r=151;break}Y=h[e+44>>2]|0;U=e+28|0;h[U>>2]=Y;le=ae;ce=oe}else if((r|0)==149){Y=ne+1|0;h[F>>2]=Y;U=F;le=se;ce=be}di=h[e+56>>2]|0;i=h[ce+8>>2]|0;if(Y>>>0>=(di>>>0>>0?di:i)>>>0){H=h[e+224>>2]|0;ae=e+216|0;oe=h[ae>>2]|0;H=oe+H-((oe|0)%(H|0)|0)|0;h[ae>>2]=H;ae=le;oe=ce;r=132;continue}o=h[ce+12>>2]|0;i=i+~Y|0;r=h[e+200>>2]|0;t=h[ce>>2]|0;q=t<>2]|0;di=h[ce+4>>2]|0;z=di<>2]|0)|0)/(q|0)|0;K=z+-1|0;a=(K+(h[e+212>>2]|0)|0)/(z|0)|0;W=h[o+(Y<<4)>>2]|0;l=W+i|0;J=h[o+(Y<<4)+4>>2]|0;s=J+i|0;Z=h[e+220>>2]|0;if((Z|0)%(di<>2]|0;if((Q|0)%(t<>2]|0;if(!$){F=U;ne=Y;se=le;be=ce;r=149;continue}if((V|0)==(a|0)|((X|0)==(f|0)?1:(h[o+(Y<<4)+12>>2]|0)==0)){F=U;ne=Y;se=le;be=ce;r=149}else{r=143;break}}if((r|0)==143){ee=(((G+Q|0)/(q|0)|0)>>W)-(X>>W)+(ue((((K+Z|0)/(z|0)|0)>>J)-(V>>J)|0,$)|0)|0;h[e+32>>2]=ee;ee=h[e+64>>2]|0;N=e+36|0;h[N>>2]=ee;ie=le;de=ce;r=144;continue}else if((r|0)==151){D=h[e+228>>2]|0;x=e+220|0;w=h[x>>2]|0;D=w+D-((w|0)%(D|0)|0)|0;h[x>>2]=D;x=ae;w=oe;r=130;continue}}if((r|0)==146){r=0;re=ue(h[e+8>>2]|0,ee)|0;re=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+re|0;re=re+(ue(h[e+16>>2]|0,ie)|0)|0;re=re+(ue(h[e+20>>2]|0,h[e+32>>2]|0)|0)|0;re=(h[e+4>>2]|0)+(re<<1)|0;if(!(d[re>>1]|0))break;else{B=N;te=ee;fe=ie;he=de;r=148;continue}}else if((r|0)==152){j=x+1|0;h[e+24>>2]=j;r=121;continue}}if((r|0)==153)return hi|0;d[re>>1]=1;e=1;return e|0}default:{e=0;return e|0}}return 0}function Br(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=(h[i+(r*5640|0)+420>>2]|0)+1|0;t=Kn(u,232)|0;if(!t){u=0;return u|0}if(!u){u=t;return u|0}s=e+16|0;f=i+(r*5640|0)+5584|0;e=h[s>>2]|0;a=t;l=0;e:while(1){i=Kn(e,16)|0;n=a+196|0;h[n>>2]=i;if(!i){e=5;break}o=h[s>>2]|0;h[a+192>>2]=o;i:do{if(!o)e=0;else{e=(h[f>>2]|0)+4|0;o=Kn(h[e>>2]|0,16)|0;h[i+12>>2]=o;if(!o){e=18;break e}else r=0;while(1){h[i+(r<<4)+8>>2]=h[e>>2];r=r+1|0;e=h[s>>2]|0;if(r>>>0>=e>>>0)break i;i=h[n>>2]|0;e=(h[f>>2]|0)+(r*1080|0)+4|0;o=Kn(h[e>>2]|0,16)|0;h[i+(r<<4)+12>>2]=o;if(!o){e=18;break e}}}}while(0);l=l+1|0;if(l>>>0>=u>>>0){e=32;break}else a=a+232|0}if((e|0)==5){e=t+4|0;i=h[e>>2]|0;if(!i){s=t;o=0}else{Qn(i);h[e>>2]=0;s=t;o=0}while(1){l=s+196|0;e=h[l>>2]|0;if(e){a=s+192|0;i=h[a>>2]|0;if(i){f=0;while(1){r=e+12|0;n=h[r>>2]|0;if(n){Qn(n);h[r>>2]=0;i=h[a>>2]|0}f=f+1|0;if(f>>>0>=i>>>0)break;else e=e+16|0}e=h[l>>2]|0}Qn(e);h[l>>2]=0}o=o+1|0;if((o|0)==(u|0))break;else s=s+232|0}Qn(t);u=0;return u|0}else if((e|0)==18){e=t+4|0;i=h[e>>2]|0;if(!i){s=t;o=0}else{Qn(i);h[e>>2]=0;s=t;o=0}while(1){l=s+196|0;e=h[l>>2]|0;if(e){a=s+192|0;i=h[a>>2]|0;if(i){f=0;while(1){r=e+12|0;n=h[r>>2]|0;if(n){Qn(n);h[r>>2]=0;i=h[a>>2]|0}f=f+1|0;if(f>>>0>=i>>>0)break;else e=e+16|0}e=h[l>>2]|0}Qn(e);h[l>>2]=0}o=o+1|0;if((o|0)==(u|0))break;else s=s+232|0}Qn(t);u=0;return u|0}else if((e|0)==32)return t|0;return 0}function Nr(e,i,r,t,n,f,a,l,s,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;var d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0;b=h[(h[i+76>>2]|0)+(r*5640|0)+5584>>2]|0;d=h[e+24>>2]|0;D=h[i+24>>2]|0;C=i+12|0;L=(ue(h[C>>2]|0,(r>>>0)%(D>>>0)|0)|0)+(h[i+4>>2]|0)|0;R=h[e>>2]|0;h[t>>2]=L>>>0>R>>>0?L:R;L=zs(h[C>>2]|0,0,L|0,0)|0;L=L|0-j;C=h[e+8>>2]|0;h[n>>2]=L>>>0>>0?L:C;C=i+16|0;D=(ue(h[C>>2]|0,(r>>>0)/(D>>>0)|0)|0)+(h[i+8>>2]|0)|0;L=h[e+4>>2]|0;h[f>>2]=D>>>0>L>>>0?D:L;D=zs(h[C>>2]|0,0,D|0,0)|0;D=D|0-j;C=h[e+12>>2]|0;h[a>>2]=D>>>0>>0?D:C;h[o>>2]=0;h[u>>2]=0;h[l>>2]=2147483647;h[s>>2]=2147483647;C=e+16|0;if(!(h[C>>2]|0))return;else D=0;while(1){_=h[c+(D<<2)>>2]|0;k=h[d>>2]|0;e=((h[t>>2]|0)+-1+k|0)/(k|0)|0;R=d+4|0;w=h[R>>2]|0;r=((h[f>>2]|0)+-1+w|0)/(w|0)|0;k=(k+-1+(h[n>>2]|0)|0)/(k|0)|0;w=(w+-1+(h[a>>2]|0)|0)/(w|0)|0;L=b+4|0;i=h[L>>2]|0;if(i>>>0>(h[u>>2]|0)>>>0){h[u>>2]=i;i=h[L>>2]|0}if(i){P=zs(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;O=j;T=zs(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;S=j;A=zs(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;M=j;y=zs(w|0,((w|0)<0)<<31>>31|0,-1,-1)|0;E=j;g=0;while(1){i=i+-1|0;k=h[b+812+(g<<2)>>2]|0;v=h[b+944+(g<<2)>>2]|0;h[_>>2]=k;h[_+4>>2]=v;m=h[d>>2]<>2]<>2]|0;h[l>>2]=(e|0)<(m|0)?e:m;m=h[s>>2]|0;h[s>>2]=(m|0)<(x|0)?m:x;x=Xs(1,0,i|0)|0;m=j;e=zs(P|0,O|0,x|0,m|0)|0;e=Ys(e|0,j|0,i|0)|0;w=zs(T|0,S|0,x|0,m|0)|0;w=Ys(w|0,j|0,i|0)|0;r=zs(A|0,M|0,x|0,m|0)|0;r=Ys(r|0,j|0,i|0)|0;m=zs(y|0,E|0,x|0,m|0)|0;m=Ys(m|0,j|0,i|0)|0;x=Xs(1,0,v|0)|0;p=j;I=zs(m|0,((m|0)<0)<<31>>31|0,-1,-1)|0;p=zs(I|0,j|0,x|0,p|0)|0;p=Ys(p|0,j|0,v|0)|0;if((e|0)==(r|0))e=0;else{r=zs(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;x=j;I=Xs(1,0,k|0)|0;I=zs(r|0,x|0,I|0,j|0)|0;I=Ys(I|0,j|0,k|0)|0;e=(I<>k<>k}I=(w|0)==(m|0)?0:(p<>v<>v;h[_+8>>2]=e;h[_+12>>2]=I;e=ue(e,I)|0;if(e>>>0>(h[o>>2]|0)>>>0)h[o>>2]=e;g=g+1|0;if(g>>>0>=(h[L>>2]|0)>>>0)break;else _=_+16|0}}D=D+1|0;if(D>>>0>=(h[C>>2]|0)>>>0)break;else{d=d+52|0;b=b+1080|0}}return}function Fr(e,i,r,t,n,f,a,l,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;var o=0,u=0;o=(h[e+(i*5640|0)+420>>2]|0)+1|0;h[e+(i*5640|0)+500>>2]=h[e+(i*5640|0)+428>>2];h[e+(i*5640|0)+516>>2]=h[e+(i*5640|0)+440>>2];h[e+(i*5640|0)+496>>2]=h[e+(i*5640|0)+424>>2];h[e+(i*5640|0)+512>>2]=h[e+(i*5640|0)+436>>2];h[e+(i*5640|0)+508>>2]=h[e+(i*5640|0)+432>>2];h[e+(i*5640|0)+492>>2]=0;h[e+(i*5640|0)+460>>2]=h[e+(i*5640|0)+456>>2];h[e+(i*5640|0)+504>>2]=0;h[e+(i*5640|0)+520>>2]=a;h[e+(i*5640|0)+524>>2]=r;h[e+(i*5640|0)+528>>2]=t;h[e+(i*5640|0)+532>>2]=n;h[e+(i*5640|0)+536>>2]=f;h[e+(i*5640|0)+540>>2]=l;h[e+(i*5640|0)+544>>2]=s;if(o>>>0<=1)return;e=e+(i*5640|0)+572|0;i=1;while(1){h[e+76>>2]=h[e+4>>2];h[e+92>>2]=h[e+16>>2];h[e+72>>2]=h[e>>2];h[e+88>>2]=h[e+12>>2];u=h[e+8>>2]|0;h[e+84>>2]=u;h[e+36>>2]=h[e+32>>2];h[e+80>>2]=0;h[e+68>>2]=u>>>0>(h[e+-64>>2]|0)>>>0?u:0;h[e+96>>2]=a;h[e+100>>2]=r;h[e+104>>2]=t;h[e+108>>2]=n;h[e+112>>2]=f;h[e+116>>2]=l;h[e+120>>2]=s;i=i+1|0;if((i|0)==(o|0))break;else e=e+148|0}return}function Ur(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=h[i+76>>2]|0;if((e|0)>-1)f=e;else{r=0;return r|0}e:while(1){switch(c[n+f>>0]|0){case 82:{a=3;break e}case 67:{a=5;break e}case 76:{a=7;break e}case 80:{a=9;break e}default:{}}f=f+-1|0}if((a|0)==3)if((h[l+(r*5640|0)+424+(t*148|0)+128>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+88>>2]|0))return(Ur(e+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}else if((a|0)==5)if((h[l+(r*5640|0)+424+(t*148|0)+132>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+92>>2]|0))return(Ur(e+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}else if((a|0)==7)if((h[l+(r*5640|0)+424+(t*148|0)+124>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+84>>2]|0))return(Ur(e+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}else if((a|0)==9){if((h[l+(r*5640|0)+424+(t*148|0)+36>>2]|0)>>>0<2)if((h[l+(r*5640|0)+424+(t*148|0)+136>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+96>>2]|0))return(Ur(f+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}if((h[l+(r*5640|0)+424+(t*148|0)+140>>2]|0)!=(h[l+(r*5640|0)+424+(t*148|0)+104>>2]|0)){r=1;return r|0}if((h[l+(r*5640|0)+424+(t*148|0)+144>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+112>>2]|0))return(Ur(f+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}}return 0}function jr(e){e=e|0;var i=0,r=0;i=Kn(1,44)|0;if(!i){e=0;return e|0}r=i+40|0;c[r>>0]=c[r>>0]&-2|(e|0)!=0;e=Kn(1,4)|0;h[i+20>>2]=e;if(e){r=i;return r|0}Qn(i);r=0;return r|0}function Hr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0.0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0;j=v;v=v+1200|0;U=j;t=h[h[e+20>>2]>>2]|0;F=t+16|0;n=h[F>>2]|0;if(!n){v=j;return}I=t+20|0;B=(h[e+32>>2]|0)+8|0;N=(h[e+28>>2]|0)+88|0;D=e+24|0;x=(i|0)==0;L=(r|0)==0;C=i+-1|0;t=n;R=0;do{l=h[I>>2]|0;s=h[B>>2]|0;P=h[l+(R*52|0)+16>>2]|0;if(s){if(P){e=h[N>>2]|0;f=+((h[(h[(h[D>>2]|0)+24>>2]|0)+(R*52|0)+24>>2]|0)>>>0)*.0625;n=0;do{r=ue(P,n)|0;a=0;do{O=(r+a|0)*3|0;h[U+(n*120|0)+(a*12|0)>>2]=~~(+(h[e+(O<<2)>>2]|0)*f);h[U+(n*120|0)+(a*12|0)+4>>2]=~~(+(h[e+(O+1<<2)>>2]|0)*f);h[U+(n*120|0)+(a*12|0)+8>>2]=~~(+(h[e+(O+2<<2)>>2]|0)*f);a=a+1|0}while(a>>>0

>>0);n=n+1|0}while(n>>>0>>0);O=9}}else O=9;if((O|0)==9){O=0;if(P){y=l+(R*52|0)+24|0;S=0;do{E=h[y>>2]|0;A=E+(S*136|0)+24|0;t=h[A>>2]|0;if(t){M=E+(S*136|0)+16|0;T=E+(S*136|0)+20|0;e=h[T>>2]|0;r=h[M>>2]|0;g=0;do{if(ue(e,r)|0){_=E+(S*136|0)+28+(g*36|0)+20|0;m=U+(i*120|0)+(S*12|0)+(g<<2)|0;p=U+(C*120|0)+(S*12|0)+(g<<2)|0;w=0;do{t=h[_>>2]|0;k=ue(h[t+(w*40|0)+20>>2]|0,h[t+(w*40|0)+16>>2]|0)|0;if(k){u=t+(w*40|0)+24|0;c=h[m>>2]|0;b=0;do{s=h[u>>2]|0;o=s+(b*52|0)|0;d=h[s+(b*52|0)+4>>2]|0;t=(h[(h[(h[D>>2]|0)+24>>2]|0)+(R*52|0)+24>>2]|0)-(h[s+(b*52|0)+28>>2]|0)|0;if(!x){e=h[p>>2]|0;r=c-e|0;if((e|0)<=(t|0)){r=r+(e-t)|0;r=(r|0)<0?0:r}}else{h[s+(b*52|0)+44>>2]=0;r=(c|0)>(t|0)?c-t|0:0}l=s+(b*52|0)+44|0;n=h[l>>2]|0;a=(n|0)==0;if(a)if(!r)r=0;else r=(r*3|0)+-2|0;else r=(r*3|0)+n|0;h[d+(i*24|0)>>2]=r-n;do{if((r|0)!=(n|0)){e=h[s+(b*52|0)+8>>2]|0;t=h[e+((r+-1|0)*24|0)>>2]|0;if(a)h[d+(i*24|0)+16>>2]=h[o>>2];else{s=h[e+((n+-1|0)*24|0)>>2]|0;h[d+(i*24|0)+16>>2]=(h[o>>2]|0)+s;t=t-s|0}h[d+(i*24|0)+4>>2]=t;if(L)break;h[l>>2]=r}}while(0);b=b+1|0}while(b>>>0>>0);e=h[T>>2]|0;r=h[M>>2]|0}w=w+1|0}while(w>>>0<(ue(e,r)|0)>>>0);t=h[A>>2]|0}g=g+1|0}while(g>>>0>>0)}S=S+1|0}while(S>>>0

>>0);t=h[F>>2]|0}}R=R+1|0}while(R>>>0>>0);v=j;return}function Yr(e,i,r,t){e=e|0;i=i|0;r=+r;t=t|0;var n=0,f=0.0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0;e=h[h[e+20>>2]>>2]|0;C=e+40+(i<<3)|0;m[C>>3]=0.0;D=e+16|0;n=h[D>>2]|0;if(!n)return;R=e+20|0;L=(i|0)==0;O=(t|0)==0;e=n;P=0;do{n=h[R>>2]|0;S=h[n+(P*52|0)+16>>2]|0;if(S){g=n+(P*52|0)+24|0;T=0;do{y=h[g>>2]|0;E=y+(T*136|0)+24|0;e=h[E>>2]|0;if(e){A=y+(T*136|0)+16|0;M=y+(T*136|0)+20|0;n=h[M>>2]|0;t=h[A>>2]|0;v=0;do{if(ue(n,t)|0){p=y+(T*136|0)+28+(v*36|0)+20|0;_=0;do{e=h[p>>2]|0;w=ue(h[e+(_*40|0)+20>>2]|0,h[e+(_*40|0)+16>>2]|0)|0;if(w){c=e+(_*40|0)+24|0;k=0;do{s=h[c>>2]|0;o=s+(k*52|0)|0;d=h[s+(k*52|0)+4>>2]|0;b=s+(k*52|0)+44|0;if(L){h[b>>2]=0;u=0}else u=h[b>>2]|0;t=h[s+(k*52|0)+48>>2]|0;if(u>>>0>>0){a=h[s+(k*52|0)+8>>2]|0;e=u;l=u;do{n=h[a+(l*24|0)>>2]|0;f=+m[a+(l*24|0)+8>>3];if(e){I=e+-1|0;f=f-+m[a+(I*24|0)+8>>3];n=n-(h[a+(I*24|0)>>2]|0)|0}do{if(!n){if(!(f!=0.0))break;e=l+1|0}else{if(!(r-f/+(n>>>0)<2.220446049250313e-16))break;e=l+1|0}}while(0);l=l+1|0}while(l>>>0>>0);a=e;h[d+(i*24|0)>>2]=a-u;if((a|0)!=(u|0)){t=a+-1|0;n=h[s+(k*52|0)+8>>2]|0;e=h[n+(t*24|0)>>2]|0;if(!u){h[d+(i*24|0)+16>>2]=h[o>>2];f=+m[n+(t*24|0)+8>>3]}else{u=u+-1|0;I=h[n+(u*24|0)>>2]|0;h[d+(i*24|0)+16>>2]=(h[o>>2]|0)+I;f=+m[n+(t*24|0)+8>>3]-+m[n+(u*24|0)+8>>3];e=e-I|0}h[d+(i*24|0)+4>>2]=e;m[d+(i*24|0)+8>>3]=f;m[C>>3]=f+ +m[C>>3];if(!O)h[b>>2]=a}else x=26}else{h[d+(i*24|0)>>2]=0;x=26}if((x|0)==26){x=0;m[d+(i*24|0)+8>>3]=0.0}k=k+1|0}while(k>>>0>>0);n=h[M>>2]|0;t=h[A>>2]|0}_=_+1|0}while(_>>>0<(ue(n,t)|0)>>>0);e=h[E>>2]|0}v=v+1|0}while(v>>>0>>0)}T=T+1|0}while(T>>>0>>0);e=h[D>>2]|0}P=P+1|0}while(P>>>0>>0);return}function qr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0.0,s=0.0,o=0.0,u=0.0,b=0.0,k=0.0,w=0,p=0,g=0,y=0,E=0.0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0.0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0;G=v;v=v+800|0;V=G;q=h[e+28>>2]|0;X=h[h[e+20>>2]>>2]|0;z=h[e+32>>2]|0;j=X+24|0;h[j>>2]=0;H=h[X+16>>2]|0;if(!H){f=0;I=0.0;l=0.0;o=1797693134862315708145274.0e284}else{F=h[X+20>>2]|0;U=h[(h[e+24>>2]|0)+24>>2]|0;f=0;Y=0;s=0.0;l=0.0;o=1797693134862315708145274.0e284;do{x=F+(Y*52|0)+48|0;h[x>>2]=0;B=h[F+(Y*52|0)+16>>2]|0;if(!B)a=0;else{N=h[F+(Y*52|0)+24>>2]|0;a=0;D=0;do{R=h[N+(D*136|0)+24>>2]|0;if(R){L=ue(h[N+(D*136|0)+20>>2]|0,h[N+(D*136|0)+16>>2]|0)|0;C=(L|0)==0;O=0;do{if(!C){P=h[N+(D*136|0)+28+(O*36|0)+20>>2]|0;S=0;do{M=ue(h[P+(S*40|0)+20>>2]|0,h[P+(S*40|0)+16>>2]|0)|0;if(M){T=h[P+(S*40|0)+24>>2]|0;A=0;do{g=h[T+(A*52|0)+48>>2]|0;if(g){y=h[T+(A*52|0)+8>>2]|0;p=0;do{w=h[y+(p*24|0)>>2]|0;u=+m[y+(p*24|0)+8>>3];if(p){K=p+-1|0;u=u-+m[y+(K*24|0)+8>>3];w=w-(h[y+(K*24|0)>>2]|0)|0}do{if(w){u=u/+(w|0);o=us))break;s=u}}while(0);p=p+1|0}while(p>>>0>>0)}K=ue((h[T+(A*52|0)+24>>2]|0)-(h[T+(A*52|0)+16>>2]|0)|0,(h[T+(A*52|0)+20>>2]|0)-(h[T+(A*52|0)+12>>2]|0)|0)|0;f=K+f|0;a=K+a|0;A=A+1|0}while(A>>>0>>0);h[j>>2]=f;h[x>>2]=a}S=S+1|0}while(S>>>0>>0)}O=O+1|0}while(O>>>0>>0)}D=D+1|0}while(D>>>0>>0)}I=+(1<>2]|0)+-1.0;l=l+ +(a|0)*(I*I);Y=Y+1|0}while(Y>>>0>>0);I=s}x=(n|0)!=0;if(x){Y=h[e+36>>2]|0;H=h[n+88>>2]|0;h[H+(Y*592|0)+552>>2]=f;m[H+(Y*592|0)+560>>3]=+m[X+32>>3];f=z+8|0;K=Gn(h[f>>2]<<3)|0;h[H+(Y*592|0)>>2]=K;if(!K){K=0;v=G;return K|0}}else f=z+8|0;if(!(h[f>>2]|0)){K=1;v=G;return K|0}M=X+32|0;T=q+93|0;S=e+36|0;P=n+88|0;O=X+40|0;R=e+24|0;L=e+8|0;C=e+16|0;D=0;while(1){s=+_[z+20+(D<<2)>>2];if(s!=0.0){y=~~+oe(+s)>>>0;y=y>>>0>>0?y:t}else y=t;k=+_[z+5184+(D<<2)>>2];E=+m[M>>3]-l/+$(10.0,+(k/10.0));K=c[T>>0]|0;if(!((K&1)!=0&s>0.0)?!((K&4)!=0&k>0.0):0)s=o;else{A=nl(h[R>>2]|0,q)|0;if(!A){f=0;a=57;break}g=D+1|0;a=V+(D+-1<<3)|0;w=X+40+(D<<3)|0;if(!D){b=I;a=0;k=o;u=0.0;do{s=(k+b)*.5;Yr(e,0,s,0);do{if(c[T>>0]&4){if(((d[q>>1]|0)+-3&65535)>=4){K=+m[O>>3]>2]|0,X,g,i,r,y,n,h[L>>2]|0,h[e>>2]|0,h[C>>2]|0,0)|0))k=s;else{K=+m[O>>3]>2]|0,X,g,i,r,y,n,h[L>>2]|0,h[e>>2]|0,h[C>>2]|0,0)|0)==0;b=K?b:s;k=K?s:k;u=K?u:s}}while(0);a=a+1|0}while((a|0)!=128)}else{b=I;p=0;k=o;u=0.0;do{s=(k+b)*.5;Yr(e,D,s,0);do{if(c[T>>0]&4){if(((d[q>>1]|0)+-3&65535)>=4){K=+m[a>>3]+ +m[w>>3]>2]|0,X,g,i,r,y,n,h[L>>2]|0,h[e>>2]|0,h[C>>2]|0,0)|0))k=s;else{K=+m[a>>3]+ +m[w>>3]>2]|0,X,g,i,r,y,n,h[L>>2]|0,h[e>>2]|0,h[C>>2]|0,0)|0)==0;b=K?b:s;k=K?s:k;u=K?u:s}}while(0);p=p+1|0}while((p|0)!=128)}fl(A);s=u==0.0?s:u}if(x)m[(h[(h[P>>2]|0)+((h[S>>2]|0)*592|0)>>2]|0)+(D<<3)>>3]=s;Yr(e,D,s,1);if(!D)s=+m[O>>3];else s=+m[V+(D+-1<<3)>>3]+ +m[X+40+(D<<3)>>3];m[V+(D<<3)>>3]=s;D=D+1|0;if(D>>>0>=(h[f>>2]|0)>>>0){f=1;a=57;break}}if((a|0)==57){v=G;return f|0}return 0}function Xr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;h[e+24>>2]=i;h[e+28>>2]=r;n=Kn(1,848)|0;t=e+20|0;h[h[t>>2]>>2]=n;if(!n){e=0;return e|0}n=i+16|0;f=Kn(h[n>>2]|0,52)|0;i=h[h[t>>2]>>2]|0;h[i+20>>2]=f;if(!f){f=0;return f|0}h[i+16>>2]=h[n>>2];h[e>>2]=h[r+84>>2];f=1;return f|0}function zr(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;if(!e)return;m=e+20|0;i=h[m>>2]|0;do{if(i){_=(c[e+40>>0]&1)==0?3:4;r=h[i>>2]|0;if(r){b=r+20|0;s=r+16|0;if(h[s>>2]|0){u=0;d=h[b>>2]|0;while(1){o=d+24|0;i=h[o>>2]|0;if(i){a=h[d+28>>2]|0;l=(a>>>0)/136|0;if(a>>>0>135){a=0;while(1){f=i+48|0;r=h[f>>2]|0;if(r){t=h[i+52>>2]|0;n=(t>>>0)/40|0;if(t>>>0>39){t=0;while(1){p=r+32|0;ha(h[p>>2]|0);h[p>>2]=0;p=r+36|0;ha(h[p>>2]|0);h[p>>2]=0;Co[_&7](r);t=t+1|0;if(t>>>0>=n>>>0)break;else r=r+40|0}r=h[f>>2]|0}Qn(r);h[f>>2]=0}f=i+84|0;r=h[f>>2]|0;if(r){p=h[i+88>>2]|0;n=(p>>>0)/40|0;if(p>>>0>39){t=0;while(1){p=r+32|0;ha(h[p>>2]|0);h[p>>2]=0;p=r+36|0;ha(h[p>>2]|0);h[p>>2]=0;Co[_&7](r);t=t+1|0;if(t>>>0>=n>>>0)break;else r=r+40|0}r=h[f>>2]|0}Qn(r);h[f>>2]=0}f=i+120|0;r=h[f>>2]|0;if(r){p=h[i+124>>2]|0;n=(p>>>0)/40|0;if(p>>>0>39){t=0;while(1){p=r+32|0;ha(h[p>>2]|0);h[p>>2]=0;p=r+36|0;ha(h[p>>2]|0);h[p>>2]=0;Co[_&7](r);t=t+1|0;if(t>>>0>=n>>>0)break;else r=r+40|0}r=h[f>>2]|0}Qn(r);h[f>>2]=0}a=a+1|0;if(a>>>0>=l>>>0)break;else i=i+136|0}i=h[o>>2]|0}Qn(i);h[o>>2]=0}if((h[d+36>>2]|0)!=0?(k=d+32|0,w=h[k>>2]|0,(w|0)!=0):0){Jn(w);h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;h[k+12>>2]=0}u=u+1|0;if(u>>>0>=(h[s>>2]|0)>>>0)break;else d=d+52|0}}Qn(h[b>>2]|0);h[b>>2]=0;Qn(h[h[m>>2]>>2]|0);i=h[m>>2]|0;h[i>>2]=0;if(!i)break}Qn(i);h[m>>2]=0}}while(0);Qn(e);return}function Vr(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;t=e+32|0;n=h[t>>2]|0;i=e+40|0;r=h[i>>2]|0;if(n){f=e+44|0;if(r>>>0<=(h[f>>2]|0)>>>0){e=1;return e|0}if(h[e+36>>2]|0){Jn(n);n=Wn(h[i>>2]|0)|0;h[t>>2]=n;if(!n){h[f>>2]=0;h[i>>2]=0;h[e+36>>2]=0;e=0;return e|0}else{h[f>>2]=h[i>>2];h[e+36>>2]=1;e=1;return e|0}}}f=Wn(r)|0;h[t>>2]=f;if(!f){e=0;return e|0}h[e+44>>2]=h[i>>2];h[e+36>>2]=1;e=1;return e|0}function Gr(e,i,r){e=e|0;i=i|0;r=r|0;return tt(e,i,1,1.0,52,r)|0}function Kr(e,i,r){e=e|0;i=i|0;r=r|0;return tt(e,i,0,.5,56,r)|0}function Wr(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0;r=h[e+24>>2]|0;n=h[r+16>>2]|0;if(!n){f=0;return f|0}f=0;i=0;t=h[r+24>>2]|0;r=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){l=h[t+24>>2]|0;l=((l&7|0)!=0&1)+(l>>>3)|0;a=h[r+24>>2]|0;e=(h[r+20>>2]|0)+-1|0;i=(ue(ue((l|0)==3?4:l,(h[a+(e*136|0)+8>>2]|0)-(h[a+(e*136|0)>>2]|0)|0)|0,(h[a+(e*136|0)+12>>2]|0)-(h[a+(e*136|0)+4>>2]|0)|0)|0)+i|0;f=f+1|0;if(f>>>0>=n>>>0)break;else{t=t+52|0;r=r+52|0}}return i|0}function Jr(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;A=v;v=v+16|0;y=A;if(!(h[e+8>>2]|0)){h[e+36>>2]=i;p=e+28|0;a=h[(h[p>>2]|0)+76>>2]|0;E=e+32|0;h[E>>2]=a+(i*5640|0);g=(f|0)==0;m=e+20|0;if(!g){l=h[(h[h[m>>2]>>2]|0)+20>>2]|0;d=h[a+(i*5640|0)+5584>>2]|0;b=l+16|0;if(!(h[b>>2]|0)){l=f+88|0;a=0}else{s=h[l+24>>2]|0;l=f+88|0;o=h[l>>2]|0;u=0;a=0;do{_=s+(u*136|0)+16|0;h[o+(i*592|0)+20+(u<<2)>>2]=h[_>>2];w=s+(u*136|0)+20|0;h[o+(i*592|0)+152+(u<<2)>>2]=h[w>>2];a=(ue(h[w>>2]|0,h[_>>2]|0)|0)+a|0;h[o+(i*592|0)+284+(u<<2)>>2]=h[d+812+(u<<2)>>2];h[o+(i*592|0)+416+(u<<2)>>2]=h[d+944+(u<<2)>>2];u=u+1|0}while(u>>>0<(h[b>>2]|0)>>>0)}_=Kn(ue(ue(h[f+52>>2]|0,a)|0,h[f+56>>2]|0)|0,32)|0;h[(h[l>>2]|0)+(i*592|0)+548>>2]=_;if(!_){e=0;v=A;return e|0}}a=h[h[m>>2]>>2]|0;_=a+16|0;if(!(h[_>>2]|0)){u=h[E>>2]|0;s=0;l=h[a+20>>2]|0}else{u=h[E>>2]|0;l=h[a+20>>2]|0;i=0;k=h[u+5584>>2]|0;w=l;while(1){d=h[w+32>>2]|0;b=ue((h[w+12>>2]|0)-(h[w+4>>2]|0)|0,(h[w+8>>2]|0)-(h[w>>2]|0)|0)|0;a=(b|0)==0;if((h[k+20>>2]|0)==1){if(!a){s=k+1076|0;o=0;a=d;while(1){h[a>>2]=(h[a>>2]|0)-(h[s>>2]|0);o=o+1|0;if((o|0)==(b|0))break;else a=a+4|0}}}else if(!a){s=k+1076|0;o=0;a=d;while(1){h[a>>2]=(h[a>>2]|0)-(h[s>>2]|0)<<11;o=o+1|0;if((o|0)==(b|0))break;else a=a+4|0}}i=i+1|0;s=h[_>>2]|0;if(i>>>0>=s>>>0)break;else{k=k+1080|0;w=w+52|0}}}d=ue((h[l+12>>2]|0)-(h[l+4>>2]|0)|0,(h[l+8>>2]|0)-(h[l>>2]|0)|0)|0;e:do{switch(h[u+16>>2]|0){case 0:break;case 2:{if(h[u+5608>>2]|0){o=Gn(s<<2)|0;if(!o){e=0;v=A;return e|0}a=h[_>>2]|0;if(!a)a=0;else{s=0;while(1){h[o+(s<<2)>>2]=h[l+32>>2];s=s+1|0;if((s|0)==(a|0))break;else l=l+52|0}}_=(Sr(h[(h[E>>2]|0)+5608>>2]|0,d,o,a,h[(h[(h[e+24>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Qn(o);if(_){e=0;v=A;return e|0}}break}default:{s=h[l+32>>2]|0;o=h[l+84>>2]|0;a=h[l+136>>2]|0;if(!(h[(h[u+5584>>2]|0)+20>>2]|0)){Mr(s,o,a,d);break e}else{Er(s,o,a,d);break e}}}}while(0);a=h[h[m>>2]>>2]|0;l=a+16|0;e:do{if(h[l>>2]|0){s=0;o=h[(h[E>>2]|0)+5584>>2]|0;a=h[a+20>>2]|0;i:while(1){switch(h[o+20>>2]|0){case 1:{if(!(Ca(a)|0)){a=0;l=54;break i}break}case 0:{if(!(Ba(a)|0)){a=0;l=54;break i}break}default:{}}s=s+1|0;if(s>>>0>=(h[l>>2]|0)>>>0)break e;else{o=o+1080|0;a=a+52|0}}if((l|0)==54){v=A;return a|0}}}while(0);a=h[E>>2]|0;l=Wa(1)|0;if(!l){e=0;v=A;return e|0}do{if((h[a+16>>2]|0)==1)if(!(h[(h[a+5584>>2]|0)+20>>2]|0)){s=yr()|0;o=3;break}else{s=gr()|0;o=3;break}else{s=h[a+5600>>2]|0;o=h[(h[e+24>>2]|0)+16>>2]|0}}while(0);m=Qa(l,h[h[m>>2]>>2]|0,a,s,o)|0;Ja(l);if(!m){e=0;v=A;return e|0}a=h[p>>2]|0;h[y>>2]=0;if(!g)h[f+12>>2]=0;if(!(c[a+93>>0]&5)){if(h[(h[E>>2]|0)+8>>2]|0){a=0;do{Hr(e,a,1);a=a+1|0}while(a>>>0<(h[(h[E>>2]|0)+8>>2]|0)>>>0)}}else if(!(qr(e,r,y,n,f)|0)){e=0;v=A;return e|0}}if(f)h[f+12>>2]=1;a=nl(h[e+24>>2]|0,h[e+28>>2]|0)|0;if(!a)a=1;else{e=rl(a,h[e+36>>2]|0,h[h[e+20>>2]>>2]|0,h[(h[e+32>>2]|0)+8>>2]|0,r,t,n,f,h[e+4>>2]|0,h[e>>2]|0,h[e+16>>2]|0,1)|0;fl(a);a=(e|0)==0}e=a&1^1;v=A;return e|0}function Zr(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,m=0,p=0;p=v;v=v+16|0;o=p+8|0;s=p;l=p+12|0;a=e+36|0;h[a>>2]=t;m=h[e+28>>2]|0;d=e+32|0;h[d>>2]=(h[m+76>>2]|0)+(t*5640|0);h[l>>2]=0;c=e+24|0;t=nl(h[c>>2]|0,m)|0;if(!t){m=0;v=p;return m|0}u=e+20|0;m=tl(t,h[a>>2]|0,h[h[u>>2]>>2]|0,i,l,r,n,f)|0;fl(t);if(!m){m=0;v=p;return m|0}t=h[h[u>>2]>>2]|0;e=h[(h[d>>2]|0)+5584>>2]|0;a=h[t+20>>2]|0;r=Wa(0)|0;if(!r){m=0;v=p;return m|0}l=t+16|0;e:do{if(h[l>>2]|0){n=0;t=a;while(1){if(!(Za(r,t,e)|0))break;n=n+1|0;if(n>>>0>=(h[l>>2]|0)>>>0)break e;else{e=e+1080|0;t=t+52|0}}Ja(r);m=0;v=p;return m|0}}while(0);Ja(r);t=h[h[u>>2]>>2]|0;a=t+16|0;do{if(h[a>>2]|0){l=0;n=h[(h[c>>2]|0)+24>>2]|0;r=h[(h[d>>2]|0)+5584>>2]|0;e=h[t+20>>2]|0;while(1){t=(h[n+36>>2]|0)+1|0;if((h[r+20>>2]|0)==1){if(!(Da(e,t)|0)){t=0;e=49;break}}else if(!(ja(e,t)|0)){t=0;e=49;break}l=l+1|0;if(l>>>0>=(h[a>>2]|0)>>>0){e=14;break}else{n=n+52|0;r=r+1080|0;e=e+52|0}}if((e|0)==14){t=h[h[u>>2]>>2]|0;break}else if((e|0)==49){v=p;return t|0}}}while(0);l=h[d>>2]|0;e=h[t+20>>2]|0;a=h[l+16>>2]|0;do{if(a){i=ue((h[e+12>>2]|0)-(h[e+4>>2]|0)|0,(h[e+8>>2]|0)-(h[e>>2]|0)|0)|0;r=t+16|0;t=h[r>>2]|0;if(t>>>0<=2){h[o>>2]=t;Zt(f,1,19703,o)|0;break}if((ue((h[e+64>>2]|0)-(h[e+56>>2]|0)|0,(h[e+60>>2]|0)-(h[e+52>>2]|0)|0)|0)>=(i|0)?(ue((h[e+116>>2]|0)-(h[e+108>>2]|0)|0,(h[e+112>>2]|0)-(h[e+104>>2]|0)|0)|0)>=(i|0):0){if((a|0)!=2){t=h[e+32>>2]|0;if((h[(h[l+5584>>2]|0)+20>>2]|0)==1){Ar(t,h[e+84>>2]|0,h[e+136>>2]|0,i);break}else{Tr(t,h[e+84>>2]|0,h[e+136>>2]|0,i);break}}n=l+5604|0;if(!(h[n>>2]|0))break;l=Gn(t<<2)|0;if(!l){m=0;v=p;return m|0}t=h[r>>2]|0;if(!t)t=0;else{a=0;while(1){h[l+(a<<2)>>2]=h[e+32>>2];a=a+1|0;if((a|0)==(t|0))break;else e=e+52|0}}m=(Pr(h[n>>2]|0,i,l,t,h[(h[(h[c>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Qn(l);if(m)t=0;else break;v=p;return t|0}Zt(f,1,19642,s)|0;m=0;v=p;return m|0}}while(0);t=h[h[u>>2]>>2]|0;w=t+16|0;if(!(h[w>>2]|0)){m=1;v=p;return m|0}m=0;k=h[(h[c>>2]|0)+24>>2]|0;b=h[(h[d>>2]|0)+5584>>2]|0;d=h[t+20>>2]|0;while(1){c=h[d+24>>2]|0;f=h[k+36>>2]|0;a=h[c+(f*136|0)+8>>2]|0;l=h[c+(f*136|0)>>2]|0;u=a-l|0;n=h[c+(f*136|0)+12>>2]|0;f=h[c+(f*136|0)+4>>2]|0;c=(h[d+8>>2]|0)-(h[d>>2]|0)-u|0;t=h[k+24>>2]|0;if(!(h[k+32>>2]|0)){t=1<>2]|0;e=(n|0)==(f|0);if((h[b+20>>2]|0)==1){if(!e){r=(a|0)==(l|0);i=b+1076|0;l=n-f|0;n=0;while(1){if(!r){e=0;a=t;while(1){f=(h[i>>2]|0)+(h[a>>2]|0)|0;h[a>>2]=(f|0)<(o|0)?o:(f|0)>(s|0)?s:f;e=e+1|0;if((e|0)==(u|0))break;else a=a+4|0}t=t+(u<<2)|0}n=n+1|0;if((n|0)==(l|0))break;else t=t+(c<<2)|0}}}else if(!e){r=(a|0)==(l|0);i=b+1076|0;l=n-f|0;n=0;while(1){if(!r){e=0;a=t;while(1){f=xl(+_[a>>2])|0;f=(h[i>>2]|0)+f|0;h[a>>2]=(f|0)<(o|0)?o:(f|0)>(s|0)?s:f;e=e+1|0;if((e|0)==(u|0))break;else a=a+4|0}t=t+(u<<2)|0}n=n+1|0;if((n|0)==(l|0))break;else t=t+(c<<2)|0}}m=m+1|0;if(m>>>0>=(h[w>>2]|0)>>>0){t=1;break}else{k=k+52|0;b=b+1080|0;d=d+52|0}}v=p;return t|0}function Qr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=e+24|0;o=h[w>>2]|0;n=h[o+16>>2]|0;s=(n|0)==0;if(s){w=1;return w|0}f=0;t=0;a=h[o+24>>2]|0;l=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){u=h[a+24>>2]|0;u=((u&7|0)!=0&1)+(u>>>3)|0;b=h[l+24>>2]|0;k=(h[l+20>>2]|0)+-1|0;t=(ue(ue((u|0)==3?4:u,(h[b+(k*136|0)+8>>2]|0)-(h[b+(k*136|0)>>2]|0)|0)|0,(h[b+(k*136|0)+12>>2]|0)-(h[b+(k*136|0)+4>>2]|0)|0)|0)+t|0;f=f+1|0;if((f|0)==(n|0))break;else{a=a+52|0;l=l+52|0}}t=t>>>0>r>>>0;if(t|s){w=t&1^1;return w|0}k=0;b=h[o+24>>2]|0;u=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){s=h[b+24>>2]|0;e=h[u+24>>2]|0;r=h[b+36>>2]|0;f=h[e+(r*136|0)+8>>2]|0;a=h[e+(r*136|0)>>2]|0;o=f-a|0;l=h[e+(r*136|0)+12>>2]|0;r=h[e+(r*136|0)+4>>2]|0;e=(h[u+8>>2]|0)-(h[u>>2]|0)-o|0;s=((s&7|0)!=0&1)+(s>>>3)|0;e:do{switch(((s|0)==3?4:s)|0){case 1:{t=h[u+32>>2]|0;n=(l|0)==(r|0);if(!(h[b+32>>2]|0)){if(n)break e;s=(f|0)==(a|0);l=l-r|0;r=0;while(1){if(!s){a=i+o|0;f=0;n=t;while(1){c[i>>0]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+1|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}else{if(n)break e;s=(f|0)==(a|0);l=l-r|0;r=0;while(1){if(!s){a=i+o|0;f=0;n=t;while(1){c[i>>0]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+1|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}break}case 2:{t=h[u+32>>2]|0;n=(l|0)==(r|0);if(!(h[b+32>>2]|0)){if(!n){s=(f|0)==(a|0);l=l-r|0;r=0;while(1){if(!s){a=i+(o<<1)|0;f=0;n=t;while(1){d[i>>1]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+2|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}}else if(!n){s=(f|0)==(a|0);l=l-r|0;r=0;while(1){if(!s){a=i+(o<<1)|0;f=0;n=t;while(1){d[i>>1]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+2|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}break}case 4:{if((l|0)!=(r|0)){s=(f|0)==(a|0);l=l-r|0;r=0;t=h[u+32>>2]|0;while(1){if(!s){a=i+(o<<2)|0;f=0;n=t;while(1){h[i>>2]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+4|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}break}default:{}}}while(0);k=k+1|0;if(k>>>0>=(h[(h[w>>2]|0)+16>>2]|0)>>>0){i=1;break}else{b=b+52|0;u=u+52|0}}return i|0}function $r(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;r=h[e+24>>2]|0;n=h[r+16>>2]|0;if(!n){f=0;return f|0}f=0;i=0;t=h[r+24>>2]|0;r=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){e=h[t+24>>2]|0;e=((e&7|0)!=0&1)+(e>>>3)|0;i=(ue(ue((h[r+12>>2]|0)-(h[r+4>>2]|0)|0,(h[r+8>>2]|0)-(h[r>>2]|0)|0)|0,(e|0)==3?4:e)|0)+i|0;f=f+1|0;if(f>>>0>=n>>>0)break;else{t=t+52|0;r=r+52|0}}return i|0}function et(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,w=0;o=h[e+24>>2]|0;w=o+16|0;n=h[w>>2]|0;s=(n|0)==0;if(s)t=0;else{f=0;t=0;a=h[o+24>>2]|0;l=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){u=h[a+24>>2]|0;u=((u&7|0)!=0&1)+(u>>>3)|0;t=(ue(ue((h[l+12>>2]|0)-(h[l+4>>2]|0)|0,(h[l+8>>2]|0)-(h[l>>2]|0)|0)|0,(u|0)==3?4:u)|0)+t|0;f=f+1|0;if((f|0)==(n|0))break;else{a=a+52|0;l=l+52|0}}}t=(t|0)!=(r|0);if(t|s){w=t&1^1;return w|0}u=0;s=h[o+24>>2]|0;r=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){e=h[s+24>>2]|0;t=(h[r+8>>2]|0)-(h[r>>2]|0)|0;n=(h[r+12>>2]|0)-(h[r+4>>2]|0)|0;l=ue(n,t)|0;e=((e&7|0)!=0&1)+(e>>>3)|0;e:do{switch(((e|0)==3?4:e)|0){case 1:{n=h[r+32>>2]|0;t=(l|0)==0;if(!(h[s+32>>2]|0)){if(t)break e;else{f=0;t=n;n=i}while(1){h[t>>2]=b[n>>0];f=f+1|0;if((f|0)==(l|0))break;else{t=t+4|0;n=n+1|0}}i=i+l|0;break e}else{if(t)break e;else{f=0;t=n;n=i}while(1){h[t>>2]=c[n>>0];f=f+1|0;if((f|0)==(l|0))break;else{t=t+4|0;n=n+1|0}}i=i+l|0;break e}}case 2:{a=h[r+32>>2]|0;f=(l|0)==0;if(!(h[s+32>>2]|0)){if(!f){f=i+(ue(n<<1,t)|0)|0;n=0;t=a;while(1){h[t>>2]=k[i>>1];n=n+1|0;if((n|0)==(l|0))break;else{t=t+4|0;i=i+2|0}}i=f}}else if(!f){f=i+(ue(n<<1,t)|0)|0;n=0;t=a;while(1){h[t>>2]=d[i>>1];n=n+1|0;if((n|0)==(l|0))break;else{t=t+4|0;i=i+2|0}}i=f}break}case 4:{if(l){f=i+(ue(n<<2,t)|0)|0;t=0;n=h[r+32>>2]|0;while(1){h[n>>2]=h[i>>2];t=t+1|0;if((t|0)==(l|0))break;else{n=n+4|0;i=i+4|0}}i=f}break}default:{}}}while(0);u=u+1|0;if(u>>>0>=(h[w>>2]|0)>>>0){i=1;break}else{s=s+52|0;r=r+52|0}}return i|0}function it(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;f=e+24|0;i=h[f>>2]|0;if(!i)return;n=h[e+28>>2]|0;t=(n>>>0)/52|0;if(n>>>0>51){n=0;while(1){e=h[i>>2]|0;if(e){Qn(e+-1|0);h[i>>2]=0}e=i+4|0;r=h[e>>2]|0;if(r){Qn(r);h[e>>2]=0}e=i+8|0;r=h[e>>2]|0;if(r){Qn(r);h[e>>2]=0}n=n+1|0;if(n>>>0>=t>>>0)break;else i=i+52|0}i=h[f>>2]|0}Qn(i);h[f>>2]=0;return}function rt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;f=e+24|0;i=h[f>>2]|0;if(!i)return;n=h[e+28>>2]|0;t=(n>>>0)/56|0;if(n>>>0>55){n=0;while(1){e=h[i>>2]|0;if(e){Qn(e);h[i>>2]=0}r=i+4|0;e=h[r>>2]|0;if(e){Qn(e);h[r>>2]=0}n=n+1|0;if(n>>>0>=t>>>0)break;else i=i+56|0}i=h[f>>2]|0}Qn(i);h[f>>2]=0;return}function tt(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=+t;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0,Re=0,Le=0,Ce=0,De=0,xe=0,Ie=0,Be=0,Ne=0,Fe=0,Ue=0,je=0,He=0,Ye=0,qe=0,Xe=0,ze=0.0;Xe=v;v=v+80|0;Ne=Xe+64|0;Be=Xe+56|0;Ue=Xe+48|0;He=Xe+40|0;je=Xe+32|0;Ye=Xe+24|0;Fe=Xe+16|0;Ie=Xe+8|0;a=h[e+28>>2]|0;xe=h[h[e+20>>2]>>2]|0;d=h[(h[a+76>>2]|0)+(i*5640|0)+5584>>2]|0;b=h[xe+20>>2]|0;o=h[e+24>>2]|0;u=h[o+24>>2]|0;Le=h[a+24>>2]|0;s=h[a+12>>2]|0;De=(ue(s,(i>>>0)%(Le>>>0)|0)|0)+(h[a+4>>2]|0)|0;l=h[o>>2]|0;l=De>>>0>l>>>0?De:l;h[xe>>2]=l;De=zs(s|0,0,De|0,0)|0;De=De|0-j;s=h[o+8>>2]|0;s=De>>>0>>0?De:s;De=xe+8|0;h[De>>2]=s;Ce=h[a+16>>2]|0;Le=(ue(Ce,(i>>>0)/(Le>>>0)|0)|0)+(h[a+8>>2]|0)|0;i=h[o+4>>2]|0;i=Le>>>0>i>>>0?Le:i;Re=xe+4|0;h[Re>>2]=i;Le=zs(Ce|0,0,Le|0,0)|0;Le=Le|0-j;o=h[o+12>>2]|0;o=Le>>>0>>0?Le:o;Le=xe+12|0;h[Le>>2]=o;if(!(h[d+4>>2]|0)){Zt(f,1,19777,Xe)|0;qe=0;v=Xe;return qe|0}Ce=xe+16|0;if(!(h[Ce>>2]|0)){qe=1;v=Xe;return qe|0}Oe=a+80|0;Pe=e+40|0;Se=(r|0)==0;a=i;Te=0;e:while(1){h[u+36>>2]=0;ge=h[u>>2]|0;i=(l+-1+ge|0)/(ge|0)|0;h[b>>2]=i;ye=h[u+4>>2]|0;a=(a+-1+ye|0)/(ye|0)|0;Me=b+4|0;h[Me>>2]=a;ge=(s+-1+ge|0)/(ge|0)|0;Ae=b+8|0;h[Ae>>2]=ge;ye=(o+-1+ye|0)/(ye|0)|0;Ee=b+12|0;h[Ee>>2]=ye;i=ge-i|0;a=ye-a|0;if((4294967295/(i>>>0)|0)>>>0>>0){qe=6;break}i=ue(a,i)|0;if(i>>>0>1073741823){qe=8;break}s=i<<2;ge=h[d+4>>2]|0;ye=b+16|0;h[ye>>2]=ge;e=h[Oe>>2]|0;h[b+20>>2]=ge>>>0>>0?1:ge-e|0;e=b+40|0;h[e>>2]=s;do{if(c[Pe>>0]&1){r=b+32|0;l=h[r>>2]|0;if(l){a=b+44|0;if(s>>>0<=(h[a>>2]|0)>>>0)break;i=b+36|0;if(h[i>>2]|0){Jn(l);ge=Wn(h[e>>2]|0)|0;h[r>>2]=ge;if(!ge){qe=16;break e}h[a>>2]=h[e>>2];h[i>>2]=1;break}}ge=Wn(s)|0;h[r>>2]=ge;if(!ge)break e;h[b+44>>2]=h[e>>2];h[b+36>>2]=1}}while(0);r=(h[ye>>2]|0)*136|0;a=b+24|0;e=h[a>>2]|0;if(e){i=b+28|0;if(r>>>0>(h[i>>2]|0)>>>0){e=Zn(e,r)|0;if(!e){qe=24;break}h[a>>2]=e;ge=h[i>>2]|0;qs(e+ge|0,0,r-ge|0)|0;h[i>>2]=r}}else{i=Gn(r)|0;h[a>>2]=i;if(!i){i=0;qe=87;break}h[b+28>>2]=r;qs(i|0,0,r|0)|0}i=h[ye>>2]|0;ge=(h[d+20>>2]|0)==0?7:8;if(i){_e=d+8|0;me=d+12|0;pe=u+24|0;ve=d+804|0;we=h[a>>2]|0;a=d+28|0;e=0;while(1){be=i;ke=i+-1|0;ce=h[b>>2]|0;de=Xs(1,0,ke|0)|0;de=zs(de|0,j|0,-1,-1)|0;he=j;ce=zs(de|0,he|0,ce|0,((ce|0)<0)<<31>>31|0)|0;ce=Ys(ce|0,j|0,ke|0)|0;h[we>>2]=ce;r=h[Me>>2]|0;r=zs(de|0,he|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Ys(r|0,j|0,ke|0)|0;h[we+4>>2]=r;i=h[Ae>>2]|0;i=zs(de|0,he|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ys(i|0,j|0,ke|0)|0;h[we+8>>2]=i;l=h[Ee>>2]|0;l=zs(de|0,he|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Ys(l|0,j|0,ke|0)|0;h[we+12>>2]=l;k=h[d+812+(e<<2)>>2]|0;o=h[d+944+(e<<2)>>2]|0;w=ce>>k<>o<>31|0)|0;s=Ys(s|0,j|0,o|0)|0;if((ce|0)==(i|0))i=0;else{ce=Xs(1,0,k|0)|0;ce=zs(ce|0,j|0,-1,-1)|0;i=zs(ce|0,j|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ys(i|0,j|0,k|0)|0;i=(i<>k}ce=we+16|0;h[ce>>2]=i;le=(r|0)==(l|0)?0:(s<>o;h[we+20>>2]=le;le=ue(le,i)|0;se=le*40|0;oe=(e|0)==0;if(oe)i=1;else{w=zs(w|0,((w|0)<0)<<31>>31|0,1,0)|0;w=Vs(w|0,j|0,1)|0;m=zs(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=Vs(m|0,j|0,1)|0;i=3;o=o+-1|0;k=k+-1|0}ae=we+24|0;h[ae>>2]=i;X=h[_e>>2]|0;X=X>>>0>>0?X:k;z=h[me>>2]|0;z=z>>>0>>0?z:o;V=(le|0)!=0;G=(le|0)==0;K=1<>2]|0;i=zs(de|0,he|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ys(i|0,j|0,ke|0)|0;a=h[Me>>2]|0;a=zs(de|0,he|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ys(a|0,j|0,ke|0)|0;r=h[Ae>>2]|0;r=zs(de|0,he|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Ys(r|0,j|0,ke|0)|0;s=h[Ee>>2]|0;s=zs(de|0,he|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Ys(s|0,j|0,ke|0)|0;l=0}else{l=ne+1|0;i=h[b>>2]|0;U=Xs(l&1|0,0,ke|0)|0;U=Hs(re|0,te|0,U|0,j|0)|0;s=j;i=zs(U|0,s|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ys(i|0,j|0,be|0)|0;a=h[Me>>2]|0;H=Xs(l>>>1|0,0,ke|0)|0;H=Hs(re|0,te|0,H|0,j|0)|0;Y=j;a=zs(H|0,Y|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ys(a|0,j|0,be|0)|0;r=h[Ae>>2]|0;r=zs(U|0,s|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Ys(r|0,j|0,be|0)|0;s=h[Ee>>2]|0;s=zs(H|0,Y|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Ys(s|0,j|0,be|0)|0}h[fe+16>>2]=l;h[fe>>2]=i;Y=fe+4|0;h[Y>>2]=a;H=fe+8|0;h[H>>2]=r;U=fe+12|0;h[U>>2]=s;a=Io[ge&15](l)|0;ze=+(h[q+4>>2]|0)*.00048828125+1.0;ze=+Dl(1.0,(h[pe>>2]|0)+a-(h[q>>2]|0)|0)*ze*t;_[fe+32>>2]=ze;h[fe+28>>2]=(h[q>>2]|0)+-1+(h[ve>>2]|0);a=fe+20|0;r=h[a>>2]|0;if(!(V&(r|0)==0)){i=fe+24|0;if((h[i>>2]|0)>>>0>>0){r=Zn(r,se)|0;if(!r){qe=41;break e}h[a>>2]=r;F=h[i>>2]|0;qs(r+F|0,0,se-F|0)|0;h[i>>2]=se}}else{i=Gn(se)|0;h[a>>2]=i;if(!i){i=0;qe=87;break e}qs(i|0,0,se|0)|0;h[fe+24>>2]=se}if(!G){N=h[a>>2]|0;F=0;while(1){R=h[ce>>2]|0;x=(((F>>>0)%(R>>>0)|0)<>>0)/(R>>>0)|0)<>2]|0;D=(x|0)>(D|0)?x:D;h[N>>2]=D;x=h[Y>>2]|0;x=(R|0)>(x|0)?R:x;R=N+4|0;h[R>>2]=x;B=h[H>>2]|0;B=(L|0)<(B|0)?L:B;L=N+8|0;h[L>>2]=B;l=h[U>>2]|0;l=(C|0)<(l|0)?C:l;C=N+12|0;h[C>>2]=l;D=D>>X<>z<>31|0)|0;B=Ys(B|0,j|0,X|0)|0;l=zs(Q|0,$|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Ys(l|0,j|0,z|0)|0;B=(B<>X;I=N+16|0;h[I>>2]=B;l=(l<>z;p=N+20|0;h[p>>2]=l;B=ue(l,B)|0;l=ue(B,n)|0;a=N+24|0;r=h[a>>2]|0;do{if((r|0)==0&(B|0)!=0){i=Gn(l)|0;h[a>>2]=i;if(!i){i=0;qe=87;break e}qs(i|0,0,l|0)|0;h[N+28>>2]=l}else{i=N+28|0;if(l>>>0<=(h[i>>2]|0)>>>0)break;r=Zn(r,l)|0;if(!r){qe=50;break e}h[a>>2]=r;O=h[i>>2]|0;qs(r+O|0,0,l-O|0)|0;h[i>>2]=l}}while(0);s=N+32|0;i=h[s>>2]|0;r=h[I>>2]|0;l=h[p>>2]|0;if(!i)i=nt(r,l,f)|0;else i=da(i,r,l,f)|0;h[s>>2]=i;if(!i)Zt(f,2,19990,Be)|0;s=N+36|0;r=h[s>>2]|0;l=h[I>>2]|0;i=h[p>>2]|0;if(!r)i=nt(l,i,f)|0;else i=da(r,l,i,f)|0;h[s>>2]=i;if(!i)Zt(f,2,20012,Ne)|0;if(B){O=0;do{T=h[I>>2]|0;M=(((O>>>0)%(T>>>0)|0)<>>0)/(T>>>0)|0)<>2]|0;r=i+(O*56|0)|0;l=h[r>>2]|0;if(!l){A=Gn(8192)|0;h[r>>2]=A;if(!A){i=0;qe=87;break e}h[i+(O*56|0)+32>>2]=8192;A=Kn(10,32)|0;h[i+(O*56|0)+4>>2]=A;if(!A){i=0;qe=87;break e}h[i+(O*56|0)+52>>2]=10}else{s=i+(O*56|0)+32|0;p=h[s>>2]|0;g=i+(O*56|0)+4|0;y=h[g>>2]|0;E=r;A=E+52|0;do{h[E>>2]=0;E=E+4|0}while((E|0)<(A|0));h[r>>2]=l;h[s>>2]=p;h[g>>2]=y}A=h[N>>2]|0;h[i+(O*56|0)+8>>2]=(M|0)>(A|0)?M:A;M=h[R>>2]|0;h[i+(O*56|0)+12>>2]=(T|0)>(M|0)?T:M;T=h[L>>2]|0;h[i+(O*56|0)+16>>2]=(S|0)<(T|0)?S:T;S=h[C>>2]|0;h[i+(O*56|0)+20>>2]=(P|0)<(S|0)?P:S}else{r=h[a>>2]|0;i=r+(O*52|0)+4|0;if((h[i>>2]|0)==0?(A=Kn(100,24)|0,h[i>>2]=A,(A|0)==0):0){i=0;qe=87;break e}i=r+(O*52|0)+8|0;if((h[i>>2]|0)==0?(A=Kn(100,24)|0,h[i>>2]=A,(A|0)==0):0){i=0;qe=87;break e}s=h[N>>2]|0;s=(M|0)>(s|0)?M:s;h[r+(O*52|0)+12>>2]=s;i=h[R>>2]|0;T=(T|0)>(i|0)?T:i;h[r+(O*52|0)+16>>2]=T;i=h[L>>2]|0;i=(S|0)<(i|0)?S:i;h[r+(O*52|0)+20>>2]=i;S=h[C>>2]|0;P=(P|0)<(S|0)?P:S;h[r+(O*52|0)+24>>2]=P;s=ue(P-T|0,i-s<<2)|0;i=r+(O*52|0)+36|0;if(s>>>0<=(h[i>>2]|0)>>>0)break;l=r+(O*52|0)|0;r=h[l>>2]|0;if(r)Qn(r+-1|0);r=Gn(s|1)|0;h[l>>2]=r;if(!r){qe=74;break e}h[i>>2]=s;c[r>>0]=0;h[l>>2]=(h[l>>2]|0)+1}}while(0);O=O+1|0}while(O>>>0>>0)}F=F+1|0;if(F>>>0>=le>>>0)break;else N=N+40|0}}a=q+8|0;ne=ne+1|0;if(ne>>>0>=(h[ae>>2]|0)>>>0)break;else{fe=fe+36|0;q=a}}e=e+1|0;if(e>>>0<(h[ye>>2]|0)>>>0){i=ke;we=we+136|0}else break}}i=Te+1|0;if(i>>>0>=(h[Ce>>2]|0)>>>0){i=1;qe=87;break}l=h[xe>>2]|0;a=h[Re>>2]|0;s=h[De>>2]|0;o=h[Le>>2]|0;Te=i;u=u+52|0;d=d+1080|0;b=b+52|0}if((qe|0)==6){Zt(f,1,19816,Ie)|0;qe=0;v=Xe;return qe|0}else if((qe|0)==8){Zt(f,1,19816,Fe)|0;qe=0;v=Xe;return qe|0}else if((qe|0)==16){h[a>>2]=0;h[e>>2]=0;h[i>>2]=0}else if((qe|0)==24){Zt(f,1,19849,je)|0;Qn(h[a>>2]|0);h[a>>2]=0;h[i>>2]=0;qe=0;v=Xe;return qe|0}else if((qe|0)==41){Zt(f,1,19889,He)|0;Qn(h[a>>2]|0);h[a>>2]=0;h[i>>2]=0;qe=0;v=Xe;return qe|0}else if((qe|0)==50){Qn(h[a>>2]|0);h[a>>2]=0;h[i>>2]=0;Zt(f,1,19932,Ue)|0;qe=0;v=Xe;return qe|0}else if((qe|0)==74){h[i>>2]=0;qe=0;v=Xe;return qe|0}else if((qe|0)==87){v=Xe;return i|0}Zt(f,1,19816,Ye)|0;qe=0;v=Xe;return qe|0}function nt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;g=v;v=v+288|0;o=g+16|0;l=g+8|0;m=g+152|0;p=g+24|0;t=Kn(1,20)|0;if(!t){Zt(r,1,20034,g)|0;p=0;v=g;return p|0}h[t>>2]=e;u=t+4|0;h[u>>2]=i;h[m>>2]=e;h[p>>2]=i;s=t+8|0;h[s>>2]=0;n=0;a=0;while(1){_=ue(i,e)|0;e=(e+1|0)/2|0;f=a+1|0;h[m+(f<<2)>>2]=e;i=(i+1|0)/2|0;h[p+(f<<2)>>2]=i;n=n+_|0;if(_>>>0<=1)break;else a=f}h[s>>2]=n;if(!n){Qn(t);Zt(r,2,20072,l)|0;p=0;v=g;return p|0}n=Kn(n,16)|0;h[t+12>>2]=n;if(!n){Zt(r,1,20122,o)|0;Qn(t);p=0;v=g;return p|0}_=h[s>>2]|0;h[t+16>>2]=_<<4;i=n+((ue(h[u>>2]|0,h[t>>2]|0)|0)<<4)|0;if(!a)i=n;else{w=0;f=i;e=i;i=n;do{b=h[p+(w<<2)>>2]|0;e:do{if((b|0)>0){k=h[m+(w<<2)>>2]|0;if((k|0)<=0){s=b+-1|0;r=0;while(1){d=(r&1|0)!=0|(r|0)==(s|0);l=d?f:e;e=d?f:e+(k<<4)|0;r=r+1|0;if((r|0)>=(b|0)){f=l;break e}else f=l}}d=((k+2+((k|0)<2?~k:-3)|0)>>>1)+1|0;u=b+-1|0;c=0;do{r=k;o=f;while(1){h[i>>2]=o;l=i+16|0;s=r;r=r+-2|0;if((r|0)>-1){h[l>>2]=o;i=i+32|0}else i=l;if((s|0)<=2)break;else o=o+16|0}o=f+(d<<4)|0;r=(c&1|0)!=0|(c|0)==(u|0);f=r?o:e;e=r?o:e+(k<<4)|0;c=c+1|0}while((c|0)<(b|0))}}while(0);w=w+1|0}while((w|0)!=(a|0))}h[i>>2]=0;if(!_){p=t;v=g;return p|0}else i=0;while(1){h[n+4>>2]=999;h[n+8>>2]=0;h[n+12>>2]=0;i=i+1|0;if((i|0)==(_|0))break;else n=n+16|0}v=g;return t|0}function ft(e){e=e|0;var i=0,r=0;if(!e)return;i=h[e+8>>2]|0;if(!i)return;r=0;e=h[e+12>>2]|0;while(1){h[e+4>>2]=999;h[e+8>>2]=0;h[e+12>>2]=0;r=r+1|0;if(r>>>0>=i>>>0)break;else e=e+16|0}return}function at(e){e=e|0;var i=0;i=v;v=v+e|0;v=v+15&-16;return i|0}function lt(){return v|0}function st(e){e=e|0;v=e}function ot(e,i){e=e|0;i=i|0;v=e;g=i}function ut(e,i){e=e|0;i=i|0;if(!M){M=e;T=i}}function ct(e){e=e|0;c[y>>0]=c[e>>0];c[y+1>>0]=c[e+1>>0];c[y+2>>0]=c[e+2>>0];c[y+3>>0]=c[e+3>>0]}function dt(e){e=e|0;c[y>>0]=c[e>>0];c[y+1>>0]=c[e+1>>0];c[y+2>>0]=c[e+2>>0];c[y+3>>0]=c[e+3>>0];c[y+4>>0]=c[e+4>>0];c[y+5>>0]=c[e+5>>0];c[y+6>>0]=c[e+6>>0];c[y+7>>0]=c[e+7>>0]}function ht(e){e=e|0;j=e}function bt(){return j|0}function kt(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,c=0,d=0;d=v;v=v+8272|0;s=d+16|0;u=d+12|0;l=d;h[u>>2]=0;if((h[e>>2]|0)==1375686655)c=dn(0)|0;else c=dn(2)|0;ln(c,1,0)|0;sn(c,2,0)|0;on(c,3,0)|0;hn(s);h[l>>2]=e;h[l+4>>2]=e;h[l+8>>2]=i;o=un(l,1)|0;if(!(bn(c,s)|0)){hs(4476)|0;Bt(o);Ln(c);f=1;v=d;return f|0}if(!(kn(o,c,u)|0)){hs(4528)|0;Bt(o);Ln(c);tn(h[u>>2]|0);f=1;v=d;return f|0}if(!(vn(c,o,h[u>>2]|0,h[s+8228>>2]|0)|0)){hs(4578)|0;Ln(c);Bt(o);tn(h[u>>2]|0);f=1;v=d;return f|0}l=h[u>>2]|0;h[n>>2]=h[l+8>>2];h[f>>2]=h[l+12>>2];e=h[l+16>>2]|0;h[a>>2]=e;e=ue(ue(e<<2,h[n>>2]|0)|0,h[f>>2]|0)|0;h[t>>2]=e;t=Cs(e)|0;h[r>>2]=t;switch(h[a>>2]|0){case 1:{Gs(t|0,h[(h[l+24>>2]|0)+44>>2]|0,e|0)|0;break}case 3:{if((ue(h[f>>2]|0,h[n>>2]|0)|0)>0){i=h[l+24>>2]|0;l=h[i+44>>2]|0;e=h[i+96>>2]|0;i=h[i+148>>2]|0;s=0;do{a=s*3|0;h[t+(a<<2)>>2]=h[l+(s<<2)>>2];h[t+(a+1<<2)>>2]=h[e+(s<<2)>>2];h[t+(a+2<<2)>>2]=h[i+(s<<2)>>2];s=s+1|0}while((s|0)<(ue(h[f>>2]|0,h[n>>2]|0)|0))}break}default:{}}Bt(o);Ln(c);tn(h[u>>2]|0);f=0;v=d;return f|0}function wt(){return cn()|0}function _t(e,i){e=e|0;i=i|0;return}function mt(e,i){e=e|0;i=i|0;return}function pt(e,i){e=e|0;i=i|0;var r=0;i=v;v=v+16|0;r=i;h[r>>2]=e;ds(4625,r)|0;v=i;return}function vt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;h[n>>2]=i;if(!r){v=f;return}i=e;t=0;e=n+(r+-1)|0;while(1){c[i>>0]=c[e>>0]|0;t=t+1|0;if((t|0)==(r|0))break;else{i=i+1|0;e=e+-1|0}}v=f;return}function gt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;h[i>>2]=0;if(!r)return;t=0;i=i+(r+-1)|0;while(1){c[i>>0]=c[e>>0]|0;t=t+1|0;if((t|0)==(r|0))break;else{e=e+1|0;i=i+-1|0}}return}function yt(e,i){e=e|0;i=+i;var r=0,t=0,n=0,f=0,a=0;r=v;v=v+16|0;f=r;m[f>>3]=i;f=f+8|0;m[y>>3]=i;t=h[y>>2]|0;n=h[y+4>>2]|0;a=Vs(t|0,n|0,56)|0;c[e>>0]=a;a=Vs(t|0,n|0,48)|0;c[e+1>>0]=a;a=Vs(t|0,n|0,40)|0;c[e+2>>0]=a;c[e+3>>0]=n;c[e+4>>0]=c[f+-5>>0]|0;c[e+5>>0]=c[f+-6>>0]|0;n=Vs(t|0,n|0,8)|0;c[e+6>>0]=n;c[e+7>>0]=t;v=r;return}function Et(e,i){e=e|0;i=i|0;var r=0;r=i+8|0;c[r+-1>>0]=c[e>>0]|0;c[r+-2>>0]=c[e+1>>0]|0;c[r+-3>>0]=c[e+2>>0]|0;c[r+-4>>0]=c[e+3>>0]|0;c[r+-5>>0]=c[e+4>>0]|0;c[r+-6>>0]=c[e+5>>0]|0;c[r+-7>>0]=c[e+6>>0]|0;c[i>>0]=c[e+7>>0]|0;return}function At(e,i){e=e|0;i=+i;var r=0;r=(_[y>>2]=i,h[y>>2]|0);c[e>>0]=r>>>24;c[e+1>>0]=r>>>16;c[e+2>>0]=r>>>8;c[e+3>>0]=r;return}function Mt(e,i){e=e|0;i=i|0;var r=0;r=i+4|0;c[r+-1>>0]=c[e>>0]|0;c[r+-2>>0]=c[e+1>>0]|0;c[r+-3>>0]=c[e+2>>0]|0;c[i>>0]=c[e+3>>0]|0;return}function Tt(e,i){e=e|0;i=i|0;var r=0,t=0;t=Kn(1,72)|0;if(!t){i=0;return i|0}h[t+64>>2]=e;e=Gn(e)|0;h[t+32>>2]=e;if(!e){Qn(t);i=0;return i|0}h[t+36>>2]=e;e=t+68|0;r=h[e>>2]|0;if(!i){h[e>>2]=r|1;h[t+40>>2]=31;h[t+44>>2]=32}else{h[e>>2]=r|2;h[t+40>>2]=29;h[t+44>>2]=30}h[t+16>>2]=4;h[t+20>>2]=5;h[t+24>>2]=6;h[t+28>>2]=7;i=t;return i|0}function St(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0;c=v;v=v+16|0;u=c;n=e+48|0;f=h[n>>2]|0;if(f>>>0>=i>>>0){u=e+36|0;h[u>>2]=(h[u>>2]|0)+i;h[n>>2]=f-i;u=e+56|0;e=u;e=zs(h[e>>2]|0,h[e+4>>2]|0,i|0,r|0)|0;h[u>>2]=e;h[u+4>>2]=j;u=r;e=i;j=u;v=c;return e|0}o=e+68|0;if(h[o>>2]&4){u=e+36|0;h[u>>2]=(h[u>>2]|0)+f;h[n>>2]=0;e=e+56|0;u=e;u=zs(h[u>>2]|0,h[u+4>>2]|0,f|0,0)|0;h[e>>2]=u;h[e+4>>2]=j;e=(f|0)!=0;u=e?0:-1;e=e?f:-1;j=u;v=c;return e|0}if(!f){f=0;n=0}else{h[e+36>>2]=h[e+32>>2];i=Hs(i|0,r|0,f|0,0)|0;h[n>>2]=0;n=0;r=j}e:do{if((r|0)>0|(r|0)==0&i>>>0>0){s=e+24|0;while(1){a=Ro[h[s>>2]&63](i,r,h[e>>2]|0)|0;l=j;if((a|0)==-1&(l|0)==-1)break;i=Hs(i|0,r|0,a|0,l|0)|0;r=j;f=zs(a|0,l|0,f|0,n|0)|0;n=j;if(!((r|0)>0|(r|0)==0&i>>>0>0))break e}Zt(t,4,4636,u)|0;h[o>>2]=h[o>>2]|4;e=e+56|0;u=e;u=zs(h[u>>2]|0,h[u+4>>2]|0,f|0,n|0)|0;h[e>>2]=u;h[e+4>>2]=j;e=(f|0)!=0|(n|0)!=0;u=e?n:-1;e=e?f:-1;j=u;v=c;return e|0}}while(0);u=e+56|0;e=u;e=zs(h[e>>2]|0,h[e+4>>2]|0,f|0,n|0)|0;h[u>>2]=e;h[u+4>>2]=j;u=n;e=f;j=u;v=c;return e|0}function Pt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;h[e+36>>2]=h[e+32>>2];h[e+48>>2]=0;f=(Ro[h[e+28>>2]&63](i,r,h[e>>2]|0)|0)==0;t=e+68|0;n=h[t>>2]|0;if(f){h[t>>2]=n|4;f=0;return f|0}else{h[t>>2]=n&-5;f=e+56|0;h[f>>2]=i;h[f+4>>2]=r;f=1;return f|0}return 0}function Ot(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;w=v;v=v+16|0;k=w+8|0;u=w;b=e+68|0;if(h[b>>2]&8){k=-1;e=-1;j=k;v=w;return e|0}s=e+32|0;n=h[s>>2]|0;d=e+36|0;h[d>>2]=n;o=e+48|0;f=h[o>>2]|0;do{if(f){l=e+20|0;while(1){a=Ro[h[l>>2]&63](n,f,h[e>>2]|0)|0;if((a|0)==-1)break;n=(h[d>>2]|0)+a|0;h[d>>2]=n;_=h[o>>2]|0;f=_-a|0;h[o>>2]=f;if((_|0)==(a|0)){c=6;break}}if((c|0)==6){n=h[s>>2]|0;break}h[b>>2]=h[b>>2]|8;Zt(t,4,4662,u)|0;h[b>>2]=h[b>>2]|8;h[o>>2]=0;e=-1;_=-1;j=e;v=w;return _|0}}while(0);h[d>>2]=n;e:do{if((r|0)>0|(r|0)==0&i>>>0>0){s=e+24|0;f=0;n=0;while(1){a=Ro[h[s>>2]&63](i,r,h[e>>2]|0)|0;l=j;if((a|0)==-1&(l|0)==-1)break;i=Hs(i|0,r|0,a|0,l|0)|0;r=j;f=zs(a|0,l|0,f|0,n|0)|0;n=j;if(!((r|0)>0|(r|0)==0&i>>>0>0))break e}Zt(t,4,4688,k)|0;h[b>>2]=h[b>>2]|8;_=e+56|0;e=_;e=zs(h[e>>2]|0,h[e+4>>2]|0,f|0,n|0)|0;h[_>>2]=e;h[_+4>>2]=j;_=(f|0)!=0|(n|0)!=0;e=_?n:-1;_=_?f:-1;j=e;v=w;return _|0}else{f=0;n=0}}while(0);e=e+56|0;_=e;_=zs(h[_>>2]|0,h[_+4>>2]|0,f|0,n|0)|0;h[e>>2]=_;h[e+4>>2]=j;e=n;_=f;j=e;v=w;return _|0}function Rt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;b=v;v=v+16|0;s=b;u=e+32|0;n=h[u>>2]|0;c=e+36|0;h[c>>2]=n;d=e+48|0;f=h[d>>2]|0;do{if(!f)f=e;else{l=e+20|0;while(1){a=Ro[h[l>>2]&63](n,f,h[e>>2]|0)|0;if((a|0)==-1)break;n=(h[c>>2]|0)+a|0;h[c>>2]=n;k=h[d>>2]|0;f=k-a|0;h[d>>2]=f;if((k|0)==(a|0)){o=6;break}}if((o|0)==6){f=e;n=h[u>>2]|0;break}k=e+68|0;h[k>>2]=h[k>>2]|8;Zt(t,4,4662,s)|0;h[k>>2]=h[k>>2]|8;k=0;v=b;return k|0}}while(0);h[c>>2]=n;h[d>>2]=0;if(!(Ro[h[e+28>>2]&63](i,r,h[f>>2]|0)|0)){k=e+68|0;h[k>>2]=h[k>>2]|8;k=0;v=b;return k|0}else{k=e+56|0;h[k>>2]=i;h[k+4>>2]=r;k=1;v=b;return k|0}return 0}function Lt(e,i,r){e=e|0;i=i|0;r=r|0;return-1}function Ct(e,i,r){e=e|0;i=i|0;r=r|0;return-1}function Dt(e,i,r){e=e|0;i=i|0;r=r|0;j=-1;return-1}function xt(e,i,r){e=e|0;i=i|0;r=r|0;return 0}function It(e){e=e|0;var i=0,r=0,t=0;t=Kn(1,72)|0;if(!t){e=0;return e|0}h[t+64>>2]=1048576;i=Gn(1048576)|0;h[t+32>>2]=i;if(!i){Qn(t);e=0;return e|0}h[t+36>>2]=i;i=t+68|0;r=h[i>>2]|0;if(!e){h[i>>2]=r|1;h[t+40>>2]=31;h[t+44>>2]=32}else{h[i>>2]=r|2;h[t+40>>2]=29;h[t+44>>2]=30}h[t+16>>2]=4;h[t+20>>2]=5;h[t+24>>2]=6;h[t+28>>2]=7;e=t;return e|0}function Bt(e){e=e|0;var i=0;if(!e)return;i=h[e+4>>2]|0;if(i)Co[i&7](h[e>>2]|0);i=e+32|0;Qn(h[i>>2]|0);h[i>>2]=0;Qn(e);return}function Nt(e,i){e=e|0;i=i|0;if(!e)return;if(!(h[e+68>>2]&2))return;h[e+16>>2]=i;return}function Ft(e,i){e=e|0;i=i|0;if(!e)return;h[e+28>>2]=i;return}function Ut(e,i){e=e|0;i=i|0;if(!e)return;if(!(h[e+68>>2]&1))return;h[e+20>>2]=i;return}function jt(e,i){e=e|0;i=i|0;if(!e)return;h[e+24>>2]=i;return}function Ht(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;h[e>>2]=i;h[e+4>>2]=r;return}function Yt(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;e=e+8|0;h[e>>2]=i;h[e+4>>2]=r;return}function qt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;y=v;v=v+16|0;_=y+8|0;w=y;g=e+48|0;n=h[g>>2]|0;if(n>>>0>=r>>>0){p=e+36|0;Gs(i|0,h[p>>2]|0,r|0)|0;h[p>>2]=(h[p>>2]|0)+r;h[g>>2]=(h[g>>2]|0)-r;g=e+56|0;p=g;p=zs(h[p>>2]|0,h[p+4>>2]|0,r|0,0)|0;h[g>>2]=p;h[g+4>>2]=j;g=r;v=y;return g|0}m=e+68|0;if(h[m>>2]&4){p=e+36|0;Gs(i|0,h[p>>2]|0,n|0)|0;t=h[g>>2]|0;h[p>>2]=(h[p>>2]|0)+t;p=e+56|0;m=p;t=zs(h[m>>2]|0,h[m+4>>2]|0,t|0,0)|0;h[p>>2]=t;h[p+4>>2]=j;h[g>>2]=0;g=(n|0)!=0?n:-1;v=y;return g|0}if(!n){d=e+32|0;f=h[d>>2]|0;b=e+36|0;h[b>>2]=f;k=b;p=e+56|0;n=0}else{b=e+36|0;Gs(i|0,h[b>>2]|0,n|0)|0;d=e+32|0;f=h[d>>2]|0;h[b>>2]=f;k=h[g>>2]|0;p=e+56|0;u=p;u=zs(h[u>>2]|0,h[u+4>>2]|0,k|0,0)|0;c=p;h[c>>2]=u;h[c+4>>2]=j;h[g>>2]=0;r=r-k|0;i=i+k|0;k=b}u=e+64|0;c=e+16|0;o=i;a=f;while(1){i=h[u>>2]|0;f=h[c>>2]|0;if(r>>>0>>0){f=Ro[f&63](a,i,h[e>>2]|0)|0;h[g>>2]=f;if((f|0)==-1){f=11;break}if(f>>>0>=r>>>0){i=o;f=14;break}Gs(o|0,h[k>>2]|0,f|0)|0;a=h[d>>2]|0;h[b>>2]=a;i=h[g>>2]|0;l=p;l=zs(h[l>>2]|0,h[l+4>>2]|0,i|0,0)|0;s=j;n=f+n|0}else{i=Ro[f&63](o,r,h[e>>2]|0)|0;h[g>>2]=i;if((i|0)==-1){f=16;break}n=i+n|0;if(i>>>0>=r>>>0){f=20;break}a=h[d>>2]|0;h[b>>2]=a;l=p;l=zs(h[l>>2]|0,h[l+4>>2]|0,i|0,0)|0;s=j}f=p;h[f>>2]=l;h[f+4>>2]=s;h[g>>2]=0;r=r-i|0;o=o+i|0}if((f|0)==11){Zt(t,4,4636,w)|0;h[g>>2]=0;h[m>>2]=h[m>>2]|4;g=(n|0)!=0?n:-1;v=y;return g|0}else if((f|0)==14){Gs(i|0,h[k>>2]|0,r|0)|0;h[k>>2]=(h[k>>2]|0)+r;h[g>>2]=(h[g>>2]|0)-r;t=p;t=zs(h[t>>2]|0,h[t+4>>2]|0,r|0,0)|0;g=p;h[g>>2]=t;h[g+4>>2]=j;g=n+r|0;v=y;return g|0}else if((f|0)==16){Zt(t,4,4636,_)|0;h[g>>2]=0;h[m>>2]=h[m>>2]|4;g=(n|0)!=0?n:-1;v=y;return g|0}else if((f|0)==20){t=p;t=zs(h[t>>2]|0,h[t+4>>2]|0,i|0,0)|0;h[p>>2]=t;h[p+4>>2]=j;h[b>>2]=h[d>>2];h[g>>2]=0;g=n;v=y;return g|0}return 0}function Xt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;p=v;v=v+16|0;w=p;c=e+68|0;if(h[c>>2]&8){m=-1;v=p;return m|0}k=e+64|0;n=h[k>>2]|0;m=e+48|0;s=h[m>>2]|0;f=n-s|0;do{if(f>>>0>>0){d=e+32|0;a=e+36|0;b=e+20|0;l=e+56|0;o=n;u=f;n=0;e:while(1){if((o|0)==(s|0))f=h[d>>2]|0;else{Gs(h[a>>2]|0,i|0,u|0)|0;f=h[d>>2]|0;h[a>>2]=f;s=(h[m>>2]|0)+u|0;h[m>>2]=s;g=l;g=zs(h[g>>2]|0,h[g+4>>2]|0,u|0,0)|0;o=l;h[o>>2]=g;h[o+4>>2]=j;r=r-u|0;i=i+u|0;n=u+n|0}h[a>>2]=f;if(!s)s=0;else{do{o=Ro[h[b>>2]&63](f,s,h[e>>2]|0)|0;if((o|0)==-1)break e;f=(h[a>>2]|0)+o|0;h[a>>2]=f;g=h[m>>2]|0;s=g-o|0;h[m>>2]=s}while((g|0)!=(o|0));f=h[d>>2]|0}h[a>>2]=f;o=h[k>>2]|0;u=o-s|0;if(r>>>0<=u>>>0){_=5;break}}if((_|0)==5)break;h[c>>2]=h[c>>2]|8;Zt(t,4,4662,w)|0;g=-1;v=p;return g|0}else{f=e+36|0;l=e+56|0;a=f;f=h[f>>2]|0;n=0}}while(0);Gs(f|0,i|0,r|0)|0;h[a>>2]=(h[a>>2]|0)+r;h[m>>2]=(h[m>>2]|0)+r;m=l;m=zs(h[m>>2]|0,h[m+4>>2]|0,r|0,0)|0;g=l;h[g>>2]=m;h[g+4>>2]=j;g=n+r|0;v=p;return g|0}function zt(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;c=v;v=v+16|0;s=c;f=e+32|0;r=h[f>>2]|0;u=e+36|0;h[u>>2]=r;a=e+48|0;t=h[a>>2]|0;do{if(t){l=e+20|0;while(1){n=Ro[h[l>>2]&63](r,t,h[e>>2]|0)|0;if((n|0)==-1)break;r=(h[u>>2]|0)+n|0;h[u>>2]=r;d=h[a>>2]|0;t=d-n|0;h[a>>2]=t;if((d|0)==(n|0)){o=6;break}}if((o|0)==6){r=h[f>>2]|0;break}d=e+68|0;h[d>>2]=h[d>>2]|8;Zt(i,4,4662,s)|0;d=0;v=c;return d|0}}while(0);h[u>>2]=r;d=1;v=c;return d|0}function Vt(e){e=e|0;e=e+56|0;j=h[e+4>>2]|0;return h[e>>2]|0}function Gt(e){e=e|0;var i=0,r=0;r=e+8|0;i=h[r>>2]|0;r=h[r+4>>2]|0;if((i|0)==0&(r|0)==0){r=0;e=0;j=r;return e|0}e=e+56|0;e=Hs(i|0,r|0,h[e>>2]|0,h[e+4>>2]|0)|0;r=j;j=r;return e|0}function Kt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Fo[h[e+40>>2]&63](e,i,r,t)|0;return e|0}function Wt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Fo[h[e+44>>2]&63](e,i,r,t)|0}function Jt(e){e=e|0;return(h[e+28>>2]|0)!=7|0}function Zt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+528|0;f=l;a=l+16|0;e:do{if(e){switch(i|0){case 1:{i=e;n=e+12|0;break}case 2:{i=e+4|0;n=e+16|0;break}case 4:{i=e+8|0;n=e+20|0;break}default:{i=0;break e}}e=h[i>>2]|0;i=h[n>>2]|0;if(i)if(!r)i=1;else{qs(a|0,0,512)|0;h[f>>2]=t;ws(a,512,r,f)|0;Do[i&7](a,e);i=1}else i=0}else i=0}while(0);v=l;return i|0}function Qt(e){e=e|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=4;h[e+20>>2]=4;h[e+16>>2]=4;return}function $t(e,i){e=e|0;i=i|0;return}function en(){return Kn(1,36)|0}function rn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;t=Kn(1,36)|0;if(!t){l=t;return l|0}h[t+20>>2]=r;a=t+16|0;h[a>>2]=e;r=Kn(1,e*52|0)|0;l=t+24|0;h[l>>2]=r;if(!r){r=h[t+28>>2]|0;if(r)Qn(r);Qn(t);l=0;return l|0}if(!e){l=t;return l|0}n=0;while(1){h[r+(n*52|0)>>2]=h[i+(n*36|0)>>2];h[r+(n*52|0)+4>>2]=h[i+(n*36|0)+4>>2];s=h[i+(n*36|0)+8>>2]|0;h[r+(n*52|0)+8>>2]=s;o=h[i+(n*36|0)+12>>2]|0;h[r+(n*52|0)+12>>2]=o;h[r+(n*52|0)+16>>2]=h[i+(n*36|0)+16>>2];h[r+(n*52|0)+20>>2]=h[i+(n*36|0)+20>>2];h[r+(n*52|0)+24>>2]=h[i+(n*36|0)+24>>2];h[r+(n*52|0)+28>>2]=h[i+(n*36|0)+28>>2];h[r+(n*52|0)+32>>2]=h[i+(n*36|0)+32>>2];s=Kn(ue(o,s)|0,4)|0;h[r+(n*52|0)+44>>2]=s;n=n+1|0;if(!s)break;if(n>>>0>=e>>>0){f=22;break}r=h[l>>2]|0}if((f|0)==22)return t|0;r=h[l>>2]|0;if(r){n=h[a>>2]|0;if(n){i=0;while(1){r=h[r+(i*52|0)+44>>2]|0;if(r){Qn(r);n=h[a>>2]|0}i=i+1|0;if(i>>>0>=n>>>0)break;r=h[l>>2]|0}r=h[l>>2]|0}Qn(r)}r=h[t+28>>2]|0;if(r)Qn(r);Qn(t);o=0;return o|0}function tn(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;if(!e)return;n=e+24|0;i=h[n>>2]|0;if(i){f=e+16|0;r=h[f>>2]|0;if(r){t=0;while(1){i=h[i+(t*52|0)+44>>2]|0;if(i){Qn(i);r=h[f>>2]|0}t=t+1|0;if(t>>>0>=r>>>0)break;i=h[n>>2]|0}i=h[n>>2]|0}Qn(i)}i=h[e+28>>2]|0;if(i)Qn(i);Qn(e);return}function nn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;r=h[i+4>>2]|0;t=h[e>>2]|0;f=h[i+8>>2]|0;a=h[e+4>>2]|0;n=h[i+12>>2]|0;u=(ue((h[i+24>>2]|0)+-1|0,n)|0)+r|0;l=h[i+16>>2]|0;s=(ue((h[i+28>>2]|0)+-1|0,l)|0)+f|0;i=zs(u|0,0,n|0,0)|0;i=i|0-j;n=h[e+8>>2]|0;l=zs(s|0,0,l|0,0)|0;l=l|0-j;s=h[e+12>>2]|0;u=h[e+16>>2]|0;if(!u)return;o=(r>>>0>t>>>0?r:t)+-1|0;f=(f>>>0>a>>>0?f:a)+-1|0;n=(i>>>0>>0?i:n)+-1|0;r=(l>>>0>>0?l:s)+-1|0;t=0;i=h[e+24>>2]|0;while(1){a=h[i>>2]|0;s=((o+a|0)>>>0)/(a>>>0)|0;b=h[i+4>>2]|0;e=((f+b|0)>>>0)/(b>>>0)|0;l=h[i+40>>2]|0;d=Xs(1,0,l|0)|0;c=j;a=zs((((n+a|0)>>>0)/(a>>>0)|0)-s|0,0,-1,-1)|0;a=zs(a|0,j|0,d|0,c|0)|0;a=Vs(a|0,j|0,l|0)|0;b=zs((((r+b|0)>>>0)/(b>>>0)|0)-e|0,0,-1,-1)|0;c=zs(b|0,j|0,d|0,c|0)|0;l=Vs(c|0,j|0,l|0)|0;h[i+8>>2]=a;h[i+12>>2]=l;h[i+16>>2]=s;h[i+20>>2]=e;t=t+1|0;if(t>>>0>=u>>>0)break;else i=i+52|0}return}function fn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;h[i>>2]=h[e>>2];h[i+4>>2]=h[e+4>>2];h[i+8>>2]=h[e+8>>2];h[i+12>>2]=h[e+12>>2];s=i+24|0;t=h[s>>2]|0;l=i+16|0;if(!t)r=s;else{r=h[l>>2]|0;if(!r)r=s;else{n=0;while(1){t=h[t+(n*52|0)+44>>2]|0;if(t){Qn(t);r=h[l>>2]|0}n=n+1|0;if(n>>>0>=r>>>0)break;t=h[s>>2]|0}r=s;t=h[s>>2]|0}Qn(t);h[s>>2]=0}t=h[e+16>>2]|0;h[l>>2]=t;t=Gn(t*52|0)|0;h[r>>2]=t;if(!t){h[s>>2]=0;h[l>>2]=0;return}if(h[l>>2]|0){a=e+24|0;f=0;do{r=t+(f*52|0)|0;t=(h[a>>2]|0)+(f*52|0)|0;n=r+52|0;do{h[r>>2]=h[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(n|0));t=h[s>>2]|0;h[t+(f*52|0)+44>>2]=0;f=f+1|0}while(f>>>0<(h[l>>2]|0)>>>0)}h[i+20>>2]=h[e+20>>2];n=e+32|0;r=h[n>>2]|0;f=i+32|0;h[f>>2]=r;if(!r){h[i+28>>2]=0;return}t=Gn(r)|0;r=i+28|0;h[r>>2]=t;if(!t){h[r>>2]=0;h[f>>2]=0;return}else{Gs(t|0,h[e+28>>2]|0,h[n>>2]|0)|0;return}}function an(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=Kn(1,36)|0;if(!t){e=t;return e|0}h[t+20>>2]=r;h[t+16>>2]=e;r=Kn(e,52)|0;h[t+24>>2]=r;if(!r){r=h[t+28>>2]|0;if(r)Qn(r);Qn(t);e=0;return e|0}else{if(!e){e=t;return e|0}else n=0;do{h[r+(n*52|0)>>2]=h[i+(n*36|0)>>2];h[r+(n*52|0)+4>>2]=h[i+(n*36|0)+4>>2];h[r+(n*52|0)+8>>2]=h[i+(n*36|0)+8>>2];h[r+(n*52|0)+12>>2]=h[i+(n*36|0)+12>>2];h[r+(n*52|0)+16>>2]=h[i+(n*36|0)+16>>2];h[r+(n*52|0)+20>>2]=h[i+(n*36|0)+20>>2];h[r+(n*52|0)+24>>2]=h[i+(n*36|0)+24>>2];h[r+(n*52|0)+32>>2]=h[i+(n*36|0)+32>>2];h[r+(n*52|0)+44>>2]=0;n=n+1|0}while((n|0)!=(e|0));return t|0}return 0}function ln(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}h[e+64>>2]=i;h[e+52>>2]=r;r=1;return r|0}function sn(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}h[e+60>>2]=i;h[e+48>>2]=r;r=1;return r|0}function on(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}h[e+56>>2]=i;h[e+44>>2]=r;r=1;return r|0}function un(e,i){e=e|0;i=i|0;var r=0;if(!e){e=0;return e|0}r=It(i)|0;if(!r){e=0;return e|0}Ht(r,e,0);Yt(r,h[e+8>>2]|0,0);if(!i)Ut(r,9);else Nt(r,8);jt(r,1);Ft(r,10);e=r;return e|0}function cn(){return 4703}function dn(e){e=e|0;var i=0;i=Kn(1,84)|0;if(!i){e=0;return e|0}h[i+68>>2]=1;switch(e|0){case 0:{h[i+72>>2]=13;h[i+76>>2]=2;h[i+80>>2]=3;h[i+4>>2]=33;h[i+16>>2]=11;h[i>>2]=34;h[i+20>>2]=1;h[i+24>>2]=5;h[i+8>>2]=1;h[i+12>>2]=1;h[i+28>>2]=1;h[i+32>>2]=1;h[i+36>>2]=12;e=df()|0;h[i+40>>2]=e;if(!e){Qn(i);e=0;return e|0}break}case 2:{h[i+72>>2]=14;h[i+76>>2]=4;h[i+80>>2]=5;h[i+4>>2]=35;h[i+16>>2]=13;h[i>>2]=36;h[i+8>>2]=2;h[i+12>>2]=2;h[i+20>>2]=2;h[i+24>>2]=6;h[i+28>>2]=2;h[i+32>>2]=2;h[i+36>>2]=14;e=Vi(1)|0;h[i+40>>2]=e;if(!e){Qn(i);e=0;return e|0}break}default:{Qn(i);e=0;return e|0}}Qt(i+44|0);e=i;return e|0}function hn(e){e=e|0;if(!e)return;qs(e|0,0,8248)|0;h[e+8200>>2]=-1;h[e+8204>>2]=-1;h[e+8248>>2]=0;return}function bn(e,i){e=e|0;i=i|0;var r=0;r=v;v=v+16|0;if(!((e|0)!=0&(i|0)!=0)){i=0;v=r;return i|0}if(!(h[e+68>>2]|0)){Zt(e+44|0,1,4709,r)|0;i=0;v=r;return i|0}else{Do[h[e+24>>2]&7](h[e+40>>2]|0,i);i=1;v=r;return i|0}return 0}function kn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=v;v=v+16|0;if(!((e|0)!=0&(i|0)!=0)){e=0;v=t;return e|0}if(!(h[i+68>>2]|0)){Zt(i+44|0,1,4790,t)|0;e=0;v=t;return e|0}else{e=Fo[h[i>>2]&63](e,h[i+40>>2]|0,r,i+44|0)|0;v=t;return e|0}return 0}function wn(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(!(h[e+68>>2]|0)){i=0;return i|0}i=Fo[h[e+4>>2]&63](h[e+40>>2]|0,i,r,e+44|0)|0;return i|0}function _n(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;if(!e){t=0;return t|0}if(!(h[e+68>>2]|0)){t=0;return t|0}t=Oo[h[e+28>>2]&3](h[e+40>>2]|0,i,r,t,n,f,e+44|0)|0;return t|0}function mn(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;if(!((r|0)!=0&((e|0)!=0&(i|0)!=0&(t|0)!=0))){l=0;return l|0}if(!(h[e+68>>2]|0)){l=0;return l|0}l=No[h[e+8>>2]&3](h[e+40>>2]|0,r,t,n,f,a,l,s,o,i,e+44|0)|0;return l|0}function pn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;if(!((e|0)!=0&(r|0)!=0&(n|0)!=0)){i=0;return i|0}if(!(h[e+68>>2]|0)){i=0;return i|0}i=xo[h[e+12>>2]&7](h[e+40>>2]|0,i,r,t,n,e+44|0)|0;return i|0}function vn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if(!((e|0)!=0&(i|0)!=0)){t=0;return t|0}if(!(h[e+68>>2]|0)){t=0;return t|0}t=jo[h[e+32>>2]&3](h[e+40>>2]|0,i,r,e+44|0,t)|0;return t|0}function gn(e,i){e=e|0;i=i|0;if(!e){i=0;return i|0}i=Ro[h[e+36>>2]&63](h[e+40>>2]|0,i,e+44|0)|0;return i|0}function yn(e){e=e|0;var i=0;i=Kn(1,84)|0;if(!i){e=0;return e|0}h[i+68>>2]=0;switch(e|0){case 0:{h[i+4>>2]=15;h[i+12>>2]=16;h[i>>2]=37;h[i+8>>2]=3;h[i+16>>2]=1;h[i+20>>2]=38;e=rf()|0;h[i+40>>2]=e;if(!e){Qn(i);e=0;return e|0}break}case 2:{h[i+4>>2]=17;h[i+12>>2]=18;h[i>>2]=39;h[i+8>>2]=4;h[i+16>>2]=2;h[i+20>>2]=40;e=Vi(0)|0;h[i+40>>2]=e;if(!e){Qn(i);e=0;return e|0}break}default:{Qn(i);e=0;return e|0}}Qt(i+44|0);e=i;return e|0}function En(e){e=e|0;if(!e)return;qs(e|0,0,18708)|0;h[e+5592>>2]=6;h[e+18684>>2]=0;h[e+5596>>2]=64;h[e+5600>>2]=64;h[e+44>>2]=0;h[e+5612>>2]=-1;h[e+18188>>2]=1;h[e+18192>>2]=1;c[e+18688>>0]=0;h[e+18196>>2]=-1;h[e+18200>>2]=-1;_[e+4792>>2]=0.0;h[e+4788>>2]=0;h[e+20>>2]=0;h[e+24>>2]=0;h[e+28>>2]=0;h[e+18692>>2]=0;return}function An(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){i=0;return i|0}if(h[e+68>>2]|0){i=0;return i|0}i=Fo[h[e+20>>2]&63](h[e+40>>2]|0,i,r,e+44|0)|0;return i|0}function Mn(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(r|0)!=0)){r=0;return r|0}if(h[e+68>>2]|0){r=0;return r|0}r=Fo[h[e>>2]&63](h[e+40>>2]|0,r,i,e+44|0)|0;return r|0}function Tn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(h[e+68>>2]|0){i=0;return i|0}i=Ro[h[e+4>>2]&63](h[e+40>>2]|0,i,e+44|0)|0;return i|0}function Sn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(h[e+68>>2]|0){i=0;return i|0}i=Ro[h[e+12>>2]&63](h[e+40>>2]|0,i,e+44|0)|0;return i|0}function Pn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(!(h[e+68>>2]|0)){i=0;return i|0}i=Ro[h[e+16>>2]&63](h[e+40>>2]|0,i,e+44|0)|0;return i|0}function On(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;a=t<<2;n=ue(a,t)|0;f=e+18704|0;t=k[f>>1]|0;d[f>>1]=(t&32768|0)==0?-32512:(t|256)&65535;h[e+5608>>2]=1;c[e+18690>>0]=2;f=Gn(n+a|0)|0;t=e+18696|0;h[t>>2]=f;if(!f){r=0;return r|0}Gs(f|0,i|0,n|0)|0;Gs((h[t>>2]|0)+n|0,r|0,a|0)|0;r=1;return r|0}function Rn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;if(!((r|0)!=0&((e|0)!=0&(n|0)!=0))){i=0;return i|0}if(h[e+68>>2]|0){i=0;return i|0}i=xo[h[e+8>>2]&7](h[e+40>>2]|0,i,r,t,n,e+44|0)|0;return i|0}function Ln(e){e=e|0;var i=0,r=0;if(!e)return;i=e+40|0;r=h[i>>2]|0;if(!(h[e+68>>2]|0))Co[h[e+16>>2]&7](r);else Co[h[e+20>>2]&7](r);h[i>>2]=0;Qn(e);return}function Cn(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;Bo[h[e+72>>2]&15](h[e+40>>2]|0,i,r);return}function Dn(e){e=e|0;if(!e){e=0;return e|0}e=Io[h[e+76>>2]&15](h[e+40>>2]|0)|0;return e|0}function xn(e){e=e|0;var i=0,r=0;if(!e)return;i=h[e>>2]|0;r=h[i+48>>2]|0;if(r){Qn(r);i=h[e>>2]|0}Qn(i);h[e>>2]=0;return}function In(e){e=e|0;if(!e){e=0;return e|0}e=Io[h[e+80>>2]&15](h[e+40>>2]|0)|0;return e|0}function Bn(e){e=e|0;var i=0;i=h[e>>2]|0;if(!i)return;sf(i);h[e>>2]=0;return}function Nn(e,i){e=e|0;i=i|0;return Fn(e,1048576,i)|0}function Fn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!e){i=0;return i|0}t=$l(e,(r|0)==0?4869:4872)|0;if(!t){i=0;return i|0}e=Tt(i,r)|0;if(!e){Zl(t)|0;i=0;return i|0}else{Ht(e,t,6);as(t,0,2)|0;i=os(t)|0;as(t,0,0)|0;Yt(e,i,((i|0)<0)<<31>>31);Nt(e,19);Ut(e,20);jt(e,21);Ft(e,22);i=e;return i|0}return 0}function Un(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=(h[r>>2]|0)+(h[r+8>>2]|0)|0;r=r+4|0;t=h[r>>2]|0;n=f-t|0;if((f|0)==(t|0)){f=-1;return f|0}f=n>>>0>i>>>0?i:n;Gs(e|0,t|0,f|0)|0;h[r>>2]=(h[r>>2]|0)+f;return f|0}function jn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=r+4|0;t=h[o>>2]|0;l=r+8|0;f=h[l>>2]|0;s=t-(h[r>>2]|0)|0;n=(f|0)==0?1:f;while(1)if((n-s|0)>>>0>>0)n=n<<1;else{a=n;break}if((a|0)!=(f|0)){t=Gn(a)|0;if(!t){i=-1;return i|0}n=h[r>>2]|0;if(n){Gs(t|0,n|0,s|0)|0;Qn(h[r>>2]|0)}h[r>>2]=t;t=t+s|0;h[o>>2]=t;h[l>>2]=a}Gs(t|0,e|0,i|0)|0;h[o>>2]=(h[o>>2]|0)+i;return i|0}function Hn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;n=(h[i>>2]|0)+(h[i+8>>2]|0)|0;i=i+4|0;r=h[i>>2]|0;t=n-r|0;if((n|0)==(r|0)){n=-1;return n|0}h[i>>2]=r+e;n=t>>>0>e>>>0?e:t;return n|0}function Yn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=h[r+8>>2]|0;h[r+4>>2]=(h[r>>2]|0)+(0>(i|0)|0==(i|0)&t>>>0>e>>>0?e:t);return 1}function qn(e,i,r){e=e|0;i=i|0;r=r|0;i=ts(e,1,i,r)|0;return((i|0)!=0?i:-1)|0}function Xn(e,i,r){e=e|0;i=i|0;r=r|0;return cs(e,1,i,r)|0}function zn(e,i,r){e=e|0;i=i|0;r=r|0;r=(as(r,e,1)|0)==0;j=r?i:-1;return(r?e:-1)|0}function Vn(e,i,r){e=e|0;i=i|0;r=r|0;return(as(r,e,0)|0)==0|0}function Gn(e){e=e|0;if(!e)e=0;else e=Cs(e)|0;return e|0}function Kn(e,i){e=e|0;i=i|0;if(!i)e=0;else e=xs(e,i)|0;return e|0}function Wn(e){e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;do{if(e)if(!(Bs(i,16,e)|0)){i=h[i>>2]|0;break}else{h[i>>2]=0;i=0;break}else i=0}while(0);v=r;return i|0}function Jn(e){e=e|0;Ds(e);return}function Zn(e,i){e=e|0;i=i|0;if(!i)i=0;else i=Is(e,i)|0;return i|0}function Qn(e){e=e|0;Ds(e);return}function $n(e){e=e|0;var i=0,r=0;i=696;while(1){r=h[i>>2]|0;if((r|0)==-1|(r|0)==(e|0))break;else i=i+12|0}return i+4|0}function ef(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0))return;h[e+172>>2]=h[i+4>>2];h[e+168>>2]=h[i>>2];return}function rf(){var e=0,i=0;e=Kn(1,208)|0;if(!e){e=0;return e|0}h[e>>2]=0;i=e+184|0;c[i>>0]=c[i>>0]&-3;i=Gn(1e3)|0;h[e+44>>2]=i;if(!i){tf(e);i=0;return i|0}h[e+48>>2]=1e3;i=_a()|0;h[e+192>>2]=i;if(!i){tf(e);i=0;return i|0}i=_a()|0;h[e+188>>2]=i;if(i){i=e;return i|0}tf(e);i=0;return i|0}function tf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;if(!e)return;if(!(h[e>>2]|0)){i=e+36|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+24|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0;h[e+28>>2]=0}i=e+44|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0;h[e+48>>2]=0}}else{i=e+12|0;r=h[i>>2]|0;if(r){Mf(r);Qn(h[i>>2]|0);h[i>>2]=0}i=e+16|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0;h[e+20>>2]=0}}zr(h[e+204>>2]|0);i=e+88|0;f=e+164|0;r=h[f>>2]|0;if(r){t=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;if(t){n=0;while(1){Mf(r);n=n+1|0;if((n|0)==(t|0))break;else r=r+5640|0}r=h[f>>2]|0}Qn(r);h[f>>2]=0}f=e+124|0;r=h[f>>2]|0;if(r){a=e+120|0;t=h[a>>2]|0;if(t){n=0;while(1){r=h[r+(n<<3)>>2]|0;if(r){Qn(r);t=h[a>>2]|0}n=n+1|0;if(n>>>0>=t>>>0)break;r=h[f>>2]|0}r=h[f>>2]|0}h[a>>2]=0;Qn(r);h[f>>2]=0}a=e+144|0;Qn(h[a>>2]|0);h[a>>2]=0;h[e+128>>2]=0;a=e+108|0;Qn(h[a>>2]|0);h[a>>2]=0;if(!(c[e+184>>0]&2)){a=e+176|0;Qn(h[a>>2]|0);h[a>>2]=0}r=i+100|0;do{h[i>>2]=0;i=i+4|0}while((i|0)<(r|0));a=e+188|0;ma(h[a>>2]|0);h[a>>2]=0;ma(h[e+192>>2]|0);h[a>>2]=0;a=e+196|0;sf(h[a>>2]|0);h[a>>2]=0;a=e+80|0;tn(h[a>>2]|0);h[a>>2]=0;a=e+84|0;tn(h[a>>2]|0);h[a>>2]=0;Qn(e);return}function nf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0.0,k=0,w=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0.0;oe=v;v=v+320|0;ne=oe+296|0;te=oe+288|0;se=oe+280|0;le=oe+272|0;ae=oe+264|0;fe=oe+256|0;re=oe+248|0;ie=oe+240|0;G=oe+232|0;z=oe+224|0;X=oe+216|0;q=oe+208|0;Y=oe+200|0;H=oe+192|0;j=oe+184|0;g=oe+176|0;p=oe+168|0;w=oe+160|0;k=oe+152|0;u=oe+144|0;x=oe+136|0;D=oe+128|0;F=oe+112|0;C=oe+104|0;L=oe+96|0;R=oe+88|0;P=oe+80|0;S=oe+72|0;T=oe+64|0;M=oe+56|0;A=oe+48|0;E=oe+32|0;y=oe+24|0;o=oe+16|0;a=oe+8|0;f=oe;B=oe+309|0;N=oe+300|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){t=0;v=oe;return t|0}ee=i+5592|0;n=h[ee>>2]|0;if((n+-1|0)>>>0>32){h[f>>2]=n;h[f+4>>2]=33;Zt(t,1,4875,f)|0;t=0;v=oe;return t|0}Q=e+112|0;h[Q>>2]=1;$=e+116|0;h[$>>2]=1;I=i+18704|0;do{if(!(d[I>>1]|0)){switch(h[i+18676>>2]|0){case 1:{d[I>>1]=3;h[i+18700>>2]=1302083;h[i+18680>>2]=1041666;f=1;break}case 2:{d[I>>1]=3;h[i+18700>>2]=651041;h[i+18680>>2]=520833;f=1;break}case 3:{d[I>>1]=4;h[i+18700>>2]=1302083;h[i+18680>>2]=1041666;f=1;break}default:f=0}n=h[i+18684>>2]|0;e:do{if((n|0)>=4)if((n|0)<33024){switch(n|0){case 4:break;default:{Z=13;break e}}d[I>>1]=4;break}else{switch(n|0){case 33024:break;default:{Z=13;break e}}d[I>>1]=-32512;break}else{switch(n|0){case 3:break;default:{Z=13;break e}}d[I>>1]=3}}while(0);if((Z|0)==13?(f|0)==0:0)break;Zt(t,2,4931,a)|0}}while(0);O=i+18700|0;n=h[O>>2]|0;do{if((n|0)<1){b=+_[i+4792+((h[i+4788>>2]|0)+-1<<2)>>2];if(b>0.0){K=h[r+24>>2]|0;o=ue(h[K+8>>2]|0,h[r+16>>2]|0)|0;o=ue(o,h[K+12>>2]|0)|0;ce=+((ue(o,h[K+24>>2]|0)|0)>>>0);K=~~+J(+(ce/(b*8.0*+((h[K>>2]|0)>>>0)*+((h[K+4>>2]|0)>>>0))));h[O>>2]=K;break}else{h[O>>2]=0;break}}else{s=h[r+24>>2]|0;K=ue(h[s+8>>2]|0,h[r+16>>2]|0)|0;K=ue(K,h[s+12>>2]|0)|0;b=+((ue(K,h[s+24>>2]|0)|0)>>>0);n=ue(n<<3,h[s>>2]|0)|0;b=b/+((ue(n,h[s+4>>2]|0)|0)>>>0);s=i+4788|0;n=h[s>>2]|0;if(n){a=n;n=0;l=0;while(1){f=i+4792+(l<<2)|0;if(+_[f>>2]>2]=b;f=h[s>>2]|0;n=1}else f=a;l=l+1|0;if(l>>>0>=f>>>0)break;else a=f}if(n)Zt(t,2,5068,o)|0}}}while(0);n=d[I>>1]|0;e:do{if((n+-3&65535)>=4){if(n<<16>>16==7){Zt(t,2,7228,u)|0;d[I>>1]=0;n=0;break}if((n+-256&65535)<524){Zt(t,2,7283,k)|0;d[I>>1]=0;n=0;break}if((n+-1024&65535)<1180){Zt(t,2,7331,w)|0;d[I>>1]=0;n=0;break}if(n<<16>>16<=-1)switch(n<<16>>16){case-32512:{n=-32512;break e}case-32768:{Zt(t,2,7373,p)|0;d[I>>1]=0;n=0;break e}default:{Zt(t,2,7461,g)|0;d[I>>1]=0;n=0;break e}}}else{if((n+-5&65535)<2){Zt(t,2,5160,y)|0;d[I>>1]=0;n=0;break}h[i>>2]=0;h[i+12>>2]=1;h[i+16>>2]=1;c[i+18689>>0]=67;c[i+18688>>0]=1;h[i+4>>2]=0;h[i+8>>2]=0;h[i+18180>>2]=0;h[i+18184>>2]=0;h[i+5596>>2]=32;h[i+5600>>2]=32;h[i+5604>>2]=0;h[i+5612>>2]=-1;h[i+18188>>2]=1;h[i+18192>>2]=1;h[i+5608>>2]=1;f=i+4788|0;a=h[f>>2]|0;if((a|0)>1){ce=+_[i+4792+(a+-1<<2)>>2];h[E>>2]=a;m[E+8>>3]=ce;Zt(t,2,5222,E)|0;h[i+4792>>2]=h[i+4792+((h[f>>2]|0)+-1<<2)>>2];h[f>>2]=1;n=d[I>>1]|0}i:do{switch(n&65535|0){case 3:{n=h[ee>>2]|0;if((n|0)>6){h[A>>2]=n+1;Zt(t,2,5395,A)|0;h[ee>>2]=6;n=6}break}case 4:{n=h[ee>>2]|0;if((n|0)<2){h[M>>2]=n+1;Zt(t,2,5541,M)|0;h[ee>>2]=1;n=1;break i}if((n|0)>7){h[T>>2]=n+1;Zt(t,2,5695,T)|0;h[ee>>2]=7;n=7}break}default:n=h[ee>>2]|0}}while(0);f=i+40|0;h[f>>2]=h[f>>2]|1;f=i+5620|0;h[f>>2]=n+-1;if((n|0)>1){n=0;do{h[i+5624+(n<<2)>>2]=256;h[i+5756+(n<<2)>>2]=256;n=n+1|0}while((n|0)<(h[f>>2]|0))}h[i+44>>2]=4;if((d[I>>1]|0)==4){n=h[ee>>2]|0;h[i+96>>2]=1;h[i+48>>2]=0;h[i+52>>2]=0;h[i+56>>2]=1;K=n+-1|0;h[i+60>>2]=K;h[i+64>>2]=3;h[i+80>>2]=4;h[i+244>>2]=1;h[i+196>>2]=K;h[i+200>>2]=0;h[i+204>>2]=1;h[i+208>>2]=n;h[i+212>>2]=3;h[i+228>>2]=4;n=2}else n=0;h[i+4784>>2]=n;h[i+20>>2]=1;n=h[O>>2]|0;if((n|0)>=1){if((n|0)>1302083){Zt(t,2,5998,P)|0;h[O>>2]=1302083}}else{h[O>>2]=1302083;Zt(t,2,5849,S)|0}n=i+18680|0;f=h[n>>2]|0;if((f|0)>=1){if((f|0)>1041666){Zt(t,2,6320,L)|0;h[n>>2]=1041666}}else{h[n>>2]=1041666;Zt(t,2,6171,R)|0}f=h[r+16>>2]|0;l=h[r+24>>2]|0;s=h[l+8>>2]|0;n=ue(s,f)|0;o=h[l+12>>2]|0;n=ue(n,o)|0;ce=+((ue(n,h[l+24>>2]|0)|0)>>>0);n=ue(h[O>>2]<<3,h[l>>2]|0)|0;ce=ce/+((ue(n,h[l+4>>2]|0)|0)>>>0);_[i+4792>>2]=ce;n=d[I>>1]|0;i:do{if((f|0)==3){f=l+28|0;a=l+32|0;if(!((h[f>>2]|0)!=12|h[a>>2])){f=l+80|0;a=l+84|0;if(!((h[f>>2]|0)!=12|h[a>>2])){f=l+132|0;a=l+136|0;if(!((h[f>>2]|0)!=12|h[a>>2])){switch(n&65535|0){case 3:{if(o>>>0>1080|s>>>0>2048){h[D>>2]=s;h[D+4>>2]=o;Zt(t,2,6892,D)|0;break i}break}case 4:{if(o>>>0>2160|s>>>0>4096){h[x>>2]=s;h[x+4>>2]=o;Zt(t,2,7063,x)|0;break i}break}default:{}}break e}else{o=f;n=a;f=2}}else{o=f;n=a;f=1}}else{o=f;n=a;f=0}c[B>>0]=c[6659]|0;c[B+1>>0]=c[6660]|0;c[B+2>>0]=c[6661]|0;c[B+3>>0]=c[6662]|0;c[B+4>>0]=c[6663]|0;c[B+5>>0]=c[6664]|0;c[B+6>>0]=c[6665]|0;a=N;l=6666;s=a+9|0;do{c[a>>0]=c[l>>0]|0;a=a+1|0;l=l+1|0}while((a|0)<(s|0));K=(h[n>>2]|0)!=0?B:N;N=h[o>>2]|0;h[F>>2]=f;h[F+4>>2]=N;h[F+8>>2]=K;Zt(t,2,6675,F)|0}else{h[C>>2]=f;Zt(t,2,6493,C)|0}}while(0);d[I>>1]=0;n=0}}while(0);h[e+168>>2]=h[i+18680>>2];K=e+88|0;d[K>>1]=n;F=e+181|0;B=c[F>>0]&-2|h[i+20>>2]&1;c[F>>0]=B;N=i+24|0;B=(h[N>>2]&255)<<1&2|B&-3;c[F>>0]=B;c[F>>0]=B&-5|(h[i+28>>2]&255)<<2&4;do{if((h[N>>2]|0)!=0?(U=i+32|0,(h[U>>2]|0)!=0):0){n=ue((h[i+4788>>2]|0)*12|0,h[ee>>2]|0)|0;f=Gn(n)|0;h[e+176>>2]=f;if(f){Gs(f|0,h[U>>2]|0,n|0)|0;break}Zt(t,1,7520,j)|0;t=0;v=oe;return t|0}}while(0);l=e+100|0;h[l>>2]=h[i+12>>2];s=e+104|0;h[s>>2]=h[i+16>>2];a=e+92|0;h[a>>2]=h[i+4>>2];o=e+96|0;h[o>>2]=h[i+8>>2];f=i+36|0;n=h[f>>2]|0;do{if(!n){n=cn()|0;f=Gn((Es(n)|0)+29|0)|0;h[e+108>>2]=f;if(f){h[q>>2]=7697;h[q+4>>2]=n;bs(f,7692,q)|0;break}Zt(t,1,7646,Y)|0;t=0;v=oe;return t|0}else{n=Gn((Es(n)|0)+1|0)|0;h[e+108>>2]=n;if(n){ys(n,h[f>>2]|0)|0;break}Zt(t,1,7592,H)|0;t=0;v=oe;return t|0}}while(0);n=(h[r+8>>2]|0)-(h[a>>2]|0)|0;f=h[r+12>>2]|0;if(!(h[i>>2]|0)){h[l>>2]=n;h[s>>2]=f-(h[o>>2]|0)}else{q=h[l>>2]|0;h[Q>>2]=(n+-1+q|0)/(q|0)|0;q=h[s>>2]|0;h[$>>2]=(f+-1-(h[o>>2]|0)+q|0)/(q|0)|0}if(c[i+18688>>0]|0){c[e+180>>0]=c[i+18689>>0]|0;c[F>>0]=c[F>>0]|8}q=Kn(ue(h[$>>2]|0,h[Q>>2]|0)|0,5640)|0;N=e+164|0;h[N>>2]=q;if(!q){Zt(t,1,7726,X)|0;t=0;v=oe;return t|0}B=i+4784|0;T=h[B>>2]|0;do{if(T){y=i+48|0;S=h[ee>>2]|0;P=h[r+16>>2]|0;O=h[i+4788>>2]|0;R=ue(P,S)|0;L=Kn(ue(R,O)|0,4)|0;if(!L){Zt(t,1,7780,z)|0;break}a=h[y>>2]|0;k=i+60|0;n=h[k>>2]|0;if(a>>>0>>0){u=ue(a,P)|0;w=i+52|0;p=i+64|0;g=i+56|0;f=h[p>>2]|0;while(1){l=h[w>>2]|0;if(l>>>0>>0){n=h[g>>2]|0;o=l;s=l+u|0;while(1){if(!n)n=0;else{f=s;l=0;while(1){h[L+(f<<2)>>2]=1;l=l+1|0;n=h[g>>2]|0;if(l>>>0>=n>>>0)break;else f=f+R|0}f=h[p>>2]|0}o=o+1|0;if(o>>>0>=f>>>0)break;else s=s+1|0}n=h[k>>2]|0}a=a+1|0;if(a>>>0>=n>>>0)break;else u=u+P|0}}if(T>>>0>1){M=1;do{n=y;y=y+148|0;g=h[n+8>>2]|0;p=n+156|0;l=h[p>>2]|0;g=l>>>0>g>>>0?g:0;s=h[y>>2]|0;E=n+160|0;f=h[E>>2]|0;if(s>>>0>>0){u=ue(s,P)|0;A=n+152|0;k=n+164|0;w=ue(g,R)|0;a=h[k>>2]|0;n=l;while(1){l=h[A>>2]|0;if(l>>>0>>0){o=l;l=l+u|0;while(1){if(g>>>0>>0){f=l+w|0;a=g;while(1){h[L+(f<<2)>>2]=1;a=a+1|0;n=h[p>>2]|0;if(a>>>0>=n>>>0)break;else f=f+R|0}a=h[k>>2]|0}o=o+1|0;if(o>>>0>=a>>>0)break;else l=l+1|0}f=h[E>>2]|0}s=s+1|0;if(s>>>0>=f>>>0)break;else u=u+P|0}}M=M+1|0}while((M|0)!=(T|0))}if((O|0)!=0?(V=(P|0)==0,(S|0)!=0):0){f=0;u=0;n=0;do{if(!V){o=f;s=0;while(1){a=0;l=o;while(1){n=(h[L+(l<<2)>>2]|0)!=1|n;a=a+1|0;if((a|0)==(P|0))break;else l=l+1|0}s=s+1|0;if((s|0)==(S|0))break;else o=o+P|0}f=R+f|0}u=u+1|0}while((u|0)!=(O|0));if(n)Zt(t,1,7828,G)|0}Qn(L)}}while(0);e:do{if(ue(h[$>>2]|0,h[Q>>2]|0)|0){y=i+4788|0;E=i+40|0;A=i+44|0;M=i+18690|0;T=r+16|0;f=i+18696|0;S=r+24|0;P=i+5596|0;O=i+5600|0;R=i+5604|0;L=i+5608|0;C=i+5612|0;D=i+5616|0;x=i+5620|0;I=0;i:while(1){u=h[N>>2]|0;k=u+(I*5640|0)|0;G=h[y>>2]|0;n=u+(I*5640|0)+8|0;h[n>>2]=G;if(G){a=((d[K>>1]|0)+-3&65535)<4;s=0;do{l=(c[F>>0]&4)==0;do{if(!a)if(l){h[u+(I*5640|0)+20+(s<<2)>>2]=h[i+4792+(s<<2)>>2];break}else{h[u+(I*5640|0)+5184+(s<<2)>>2]=h[i+5192+(s<<2)>>2];break}else{if(!l)h[u+(I*5640|0)+5184+(s<<2)>>2]=h[i+5192+(s<<2)>>2];h[u+(I*5640|0)+20+(s<<2)>>2]=h[i+4792+(s<<2)>>2]}}while(0);s=s+1|0}while(s>>>0<(h[n>>2]|0)>>>0)}h[k>>2]=h[E>>2];h[u+(I*5640|0)+4>>2]=h[A>>2];o=u+(I*5640|0)+16|0;h[o>>2]=c[M>>0];n=u+(I*5640|0)+5636|0;a=c[n>>0]|0;c[n>>0]=a&-5;if(!(h[B>>2]|0))h[u+(I*5640|0)+420>>2]=0;else{c[n>>0]=a|4;a=h[B>>2]|0;if(!a)n=0;else{l=I+1|0;s=0;n=0;do{if((l|0)==(h[i+48+(s*148|0)+48>>2]|0)){h[u+(I*5640|0)+424+(n*148|0)>>2]=h[i+48+(n*148|0)>>2];h[u+(I*5640|0)+424+(n*148|0)+4>>2]=h[i+48+(n*148|0)+4>>2];h[u+(I*5640|0)+424+(n*148|0)+8>>2]=h[i+48+(n*148|0)+8>>2];h[u+(I*5640|0)+424+(n*148|0)+12>>2]=h[i+48+(n*148|0)+12>>2];h[u+(I*5640|0)+424+(n*148|0)+16>>2]=h[i+48+(n*148|0)+16>>2];h[u+(I*5640|0)+424+(n*148|0)+32>>2]=h[i+48+(n*148|0)+32>>2];h[u+(I*5640|0)+424+(n*148|0)+48>>2]=h[i+48+(n*148|0)+48>>2];n=n+1|0}s=s+1|0}while(s>>>0>>0)}h[u+(I*5640|0)+420>>2]=n+-1}G=Kn(h[T>>2]|0,1080)|0;g=u+(I*5640|0)+5584|0;h[g>>2]=G;if(!G){Z=149;break}do{if(!(h[f>>2]|0)){r:do{if((h[o>>2]|0)==1){n=h[T>>2]|0;if(n>>>0<=2){l=n;break}a=h[S>>2]|0;n=h[a>>2]|0;do{if((n|0)==(h[a+52>>2]|0)){if((n|0)!=(h[a+104>>2]|0))break;n=h[a+4>>2]|0;if((n|0)!=(h[a+56>>2]|0))break;if((n|0)==(h[a+108>>2]|0)){Z=175;break r}}}while(0);Zt(t,2,8224,ne)|0;h[o>>2]=0;Z=175}else Z=175}while(0);if((Z|0)==175){Z=0;l=h[T>>2]|0}if(!l)break;n=h[S>>2]|0;a=0;do{if(!(h[n+(a*52|0)+32>>2]|0))h[(h[g>>2]|0)+(a*1080|0)+1076>>2]=1<<(h[n+(a*52|0)+24>>2]|0)+-1;a=a+1|0}while(a>>>0>>0);W=l;Z=166}else{l=h[T>>2]|0;l=ue(l<<2,l)|0;n=Gn(l)|0;s=(h[f>>2]|0)+l|0;if(!n){Z=152;break i}h[o>>2]=2;a=Gn(l)|0;h[u+(I*5640|0)+5608>>2]=a;if(!a){Z=154;break i}Gs(a|0,h[f>>2]|0,l|0)|0;Gs(n|0,h[f>>2]|0,l|0)|0;a=Gn(l)|0;l=u+(I*5640|0)+5604|0;h[l>>2]=a;if(!a){Z=156;break i}if(!(Ka(n,a,h[T>>2]|0)|0)){Z=158;break i}a=Gn(h[T>>2]<<3)|0;h[u+(I*5640|0)+5600>>2]=a;if(!a){Z=160;break i}Or(a,h[T>>2]|0,h[l>>2]|0);Qn(n);n=h[T>>2]|0;if(n){a=h[g>>2]|0;l=0;do{h[a+(l*1080|0)+1076>>2]=h[s+(l<<2)>>2];l=l+1|0}while(l>>>0>>0)}if(!(ff(k,r)|0)){Z=167;break i}W=h[T>>2]|0;Z=166}}while(0);if((Z|0)==166?(Z=0,(W|0)!=0):0){p=0;do{k=h[g>>2]|0;w=k+(p*1080|0)|0;h[w>>2]=h[E>>2]&1;l=h[ee>>2]|0;s=k+(p*1080|0)+4|0;h[s>>2]=l;n=h[P>>2]|0;if((n|0)>1){a=0;do{n=n>>1;a=a+1|0}while((n|0)>1);n=a}else n=0;h[k+(p*1080|0)+8>>2]=n;n=h[O>>2]|0;if((n|0)>1){a=0;do{n=n>>1;a=a+1|0}while((n|0)>1);n=a}else n=0;h[k+(p*1080|0)+12>>2]=n;h[k+(p*1080|0)+16>>2]=h[R>>2];G=h[L>>2]|0;h[k+(p*1080|0)+20>>2]=(G|0)==0&1;h[k+(p*1080|0)+24>>2]=(G|0)!=0?2:0;h[k+(p*1080|0)+804>>2]=2;if((p|0)==(h[C>>2]|0))n=h[D>>2]|0;else n=0;h[k+(p*1080|0)+808>>2]=n;do{if(!(h[E>>2]&1)){if(!l)break;else n=0;do{h[k+(p*1080|0)+812+(n<<2)>>2]=15;h[k+(p*1080|0)+944+(n<<2)>>2]=15;n=n+1|0}while(n>>>0<(h[s>>2]|0)>>>0)}else{if((l|0)>0){s=l;u=0}else break;while(1){o=s;s=s+-1|0;n=h[x>>2]|0;do{if((u|0)<(n|0)){n=h[i+5624+(u<<2)>>2]|0;if((n|0)<1)h[k+(p*1080|0)+812+(s<<2)>>2]=1;else{if((n|0)>1){a=0;do{n=n>>1;a=a+1|0}while((n|0)>1);n=a}else n=0;h[k+(p*1080|0)+812+(s<<2)>>2]=n}n=h[i+5756+(u<<2)>>2]|0;if((n|0)<1){h[k+(p*1080|0)+944+(s<<2)>>2]=1;break}if((n|0)>1){a=0;do{n=n>>1;a=a+1|0}while((n|0)>1);n=a}else n=0;h[k+(p*1080|0)+944+(s<<2)>>2]=n}else{G=n+-1|0;a=u-G|0;n=h[i+5624+(G<<2)>>2]>>a;a=h[i+5756+(G<<2)>>2]>>a;if((n|0)<1)h[k+(p*1080|0)+812+(s<<2)>>2]=1;else{if((n|0)>1){l=0;do{n=n>>1;l=l+1|0}while((n|0)>1);n=l}else n=0;h[k+(p*1080|0)+812+(s<<2)>>2]=n}if((a|0)<1){h[k+(p*1080|0)+944+(s<<2)>>2]=1;break}if((a|0)>1){n=0;do{a=a>>1;n=n+1|0}while((a|0)>1)}else n=0;h[k+(p*1080|0)+944+(s<<2)>>2]=n}}while(0);if((o|0)<=1)break;else u=u+1|0}}}while(0);Ua(w,h[(h[S>>2]|0)+(p*52|0)+24>>2]|0);p=p+1|0}while(p>>>0<(h[T>>2]|0)>>>0)}I=I+1|0;if(I>>>0>=(ue(h[$>>2]|0,h[Q>>2]|0)|0)>>>0)break e}if((Z|0)==149){Zt(t,1,7867,ie)|0;t=0;v=oe;return t|0}else if((Z|0)==152){Zt(t,1,7931,re)|0;t=0;v=oe;return t|0}else if((Z|0)==154){Qn(n);Zt(t,1,7974,fe)|0;t=0;v=oe;return t|0}else if((Z|0)==156){Qn(n);Zt(t,1,8032,ae)|0;t=0;v=oe;return t|0}else if((Z|0)==158){Qn(n);Zt(t,1,8092,le)|0;t=0;v=oe;return t|0}else if((Z|0)==160){Qn(n);Zt(t,1,8140,se)|0;t=0;v=oe;return t|0}else if((Z|0)==167){Zt(t,1,8190,te)|0;t=0;v=oe;return t|0}}else f=i+18696|0}while(0);n=h[f>>2]|0;if(!n){t=1;v=oe;return t|0}Qn(n);h[f>>2]=0;t=1;v=oe;return t|0}function ff(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;if((h[e+16>>2]|0)!=2){e=1;return e|0}o=e+5604|0;w=e+5616|0;r=h[w>>2]|0;u=e+5620|0;do{if(h[o>>2]|0){do{if((r|0)==(h[u>>2]|0)){r=r+10|0;h[u>>2]=r;t=e+5612|0;r=Zn(h[t>>2]|0,r*20|0)|0;if(r){h[t>>2]=r;k=h[w>>2]|0;qs(r+(k*20|0)|0,0,((h[u>>2]|0)-k|0)*20|0)|0;r=h[w>>2]|0;break}Qn(h[t>>2]|0);h[t>>2]=0;h[u>>2]=0;h[w>>2]=0;e=0;return e|0}else t=e+5612|0}while(0);l=h[t>>2]|0;f=l+(r*20|0)|0;s=l+(r*20|0)+12|0;t=h[s>>2]|0;if(t){Qn(t);h[s>>2]=0}h[l+(r*20|0)+8>>2]=1;h[l+(r*20|0)+4>>2]=1;h[f>>2]=2;t=h[i+16>>2]|0;t=ue(t,t)|0;n=t<<2;a=Gn(n)|0;h[s>>2]=a;if(!a){e=0;return e|0}else{Bo[h[768+(h[f>>2]<<2)>>2]&15](h[o>>2]|0,a,t);h[l+(r*20|0)+16>>2]=n;r=(h[w>>2]|0)+1|0;h[w>>2]=r;a=2;break}}else{a=1;f=0}}while(0);do{if((r|0)==(h[u>>2]|0)){t=r+10|0;h[u>>2]=t;r=e+5612|0;t=Zn(h[r>>2]|0,t*20|0)|0;if(!t){Qn(h[r>>2]|0);h[r>>2]=0;h[u>>2]=0;h[w>>2]=0;e=0;return e|0}else{h[r>>2]=t;n=h[w>>2]|0;qs(t+(n*20|0)|0,0,((h[u>>2]|0)-n|0)*20|0)|0;if(!f){f=0;break}f=t+((n+-1|0)*20|0)|0;break}}else r=e+5612|0}while(0);o=h[r>>2]|0;u=h[w>>2]|0;k=o+(u*20|0)|0;d=o+(u*20|0)+12|0;r=h[d>>2]|0;if(r){Qn(r);h[d>>2]=0}b=a+1|0;h[o+(u*20|0)+8>>2]=a;h[o+(u*20|0)+4>>2]=2;h[k>>2]=2;i=i+16|0;r=h[i>>2]|0;t=r<<2;s=Gn(t)|0;h[d>>2]=s;if(!s){e=0;return e|0}n=Gn(t)|0;if(!n){Qn(h[d>>2]|0);h[d>>2]=0;e=0;return e|0}if(r){a=0;l=n;s=h[e+5584>>2]|0;while(1){_[l>>2]=+(h[s+1076>>2]|0);a=a+1|0;if((a|0)==(r|0))break;else{l=l+4|0;s=s+1080|0}}}Bo[h[768+(h[k>>2]<<2)>>2]&15](n,h[d>>2]|0,r);Qn(n);h[o+(u*20|0)+16>>2]=t;h[w>>2]=(h[w>>2]|0)+1;a=e+5628|0;r=h[a>>2]|0;n=e+5632|0;do{if((r|0)==(h[n>>2]|0)){r=r+10|0;h[n>>2]=r;t=e+5624|0;r=Zn(h[t>>2]|0,r*20|0)|0;if(r){h[t>>2]=r;e=h[a>>2]|0;qs(r+(e*20|0)|0,0,((h[n>>2]|0)-e|0)*20|0)|0;r=h[a>>2]|0;break}Qn(h[t>>2]|0);h[t>>2]=0;h[n>>2]=0;h[a>>2]=0;e=0;return e|0}else t=e+5624|0}while(0);e=h[t>>2]|0;h[e+(r*20|0)+8>>2]=f;w=e+(r*20|0)+16|0;c[w>>0]=c[w>>0]|1;h[e+(r*20|0)+4>>2]=h[i>>2];h[e+(r*20|0)>>2]=b;h[e+(r*20|0)+12>>2]=k;h[a>>2]=(h[a>>2]|0)+1;e=1;return e|0}function af(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function lf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;s=en()|0;o=i+80|0;h[o>>2]=s;if(!s){o=0;return o|0}n=i+192|0;if((pa(h[n>>2]|0,23,t)|0)!=0?(pa(h[n>>2]|0,24,t)|0)!=0:0){a=h[n>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](i,e,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){tn(h[o>>2]|0);h[o>>2]=0;o=0;return o|0}}else ya(a);n=i+188|0;if((pa(h[n>>2]|0,25,t)|0)!=0?(pa(h[n>>2]|0,26,t)|0)!=0:0){a=h[n>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](i,e,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){tn(h[o>>2]|0);h[o>>2]=0;o=0;return o|0}}else ya(a);n=en()|0;h[r>>2]=n;if(!n){o=0;return o|0}fn(h[o>>2]|0,n);n=ue(h[i+116>>2]|0,h[i+112>>2]|0)|0;l=i+196|0;h[(h[l>>2]|0)+36>>2]=n;n=Kn(n,40)|0;f=h[l>>2]|0;h[f+40>>2]=n;if(!n){o=0;return o|0}if(!(h[f+36>>2]|0)){o=1;return o|0}a=0;while(1){h[n+(a*40|0)+28>>2]=100;h[n+(a*40|0)+20>>2]=0;o=Kn(100,24)|0;f=h[l>>2]|0;n=h[f+40>>2]|0;h[n+(a*40|0)+24>>2]=o;a=a+1|0;if(!o){n=0;f=30;break}if(a>>>0>=(h[f+36>>2]|0)>>>0){n=1;f=30;break}}if((f|0)==30)return n|0}tn(h[o>>2]|0);h[o>>2]=0;o=0;return o|0}tn(h[o>>2]|0);h[o>>2]=0;o=0;return o|0}function sf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;if(!e)return;i=e+28|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}a=e+40|0;i=h[a>>2]|0;if(i){f=e+36|0;if(h[f>>2]|0){r=i;n=0;do{t=h[r+(n*40|0)+36>>2]|0;if(t){Qn(t);i=h[a>>2]|0;h[i+(n*40|0)+36>>2]=0;r=i}t=h[r+(n*40|0)+16>>2]|0;if(t){Qn(t);i=h[a>>2]|0;h[i+(n*40|0)+16>>2]=0;r=i}t=h[r+(n*40|0)+24>>2]|0;if(t){Qn(t);r=h[a>>2]|0;h[r+(n*40|0)+24>>2]=0;i=r}n=n+1|0}while(n>>>0<(h[f>>2]|0)>>>0)}Qn(i);h[a>>2]=0}Qn(e);return}function of(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;var b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0;Oe=v;v=v+256|0;Pe=Oe+200|0;Se=Oe+192|0;Me=Oe+184|0;Ae=Oe+176|0;ke=Oe+168|0;be=Oe+160|0;he=Oe+152|0;de=Oe+144|0;ce=Oe+136|0;oe=Oe+128|0;le=Oe+120|0;ae=Oe+112|0;ye=Oe+104|0;ve=Oe+96|0;fe=Oe+88|0;ne=Oe+80|0;te=Oe+72|0;ge=Oe+64|0;re=Oe+56|0;ie=Oe+48|0;me=Oe+40|0;_e=Oe+32|0;we=Oe+24|0;se=Oe+16|0;ee=Oe+8|0;$=Oe;G=Oe+240|0;z=Oe+236|0;W=Oe+232|0;Z=Oe+228|0;Q=Oe+224|0;V=Oe+220|0;J=Oe+216|0;X=Oe+212|0;K=Oe+208|0;h[X>>2]=65424;Te=e+8|0;e:do{switch(h[Te>>2]|0){case 256:{h[X>>2]=65497;b=e+76|0;Ee=117;break}case 8:{pe=e+76|0;if(!(c[pe>>0]&1)){U=e+200|0;H=e+164|0;Y=e+72|0;q=e+24|0;S=e+196|0;P=e+112|0;O=e+116|0;L=G+2|0;C=G+6|0;D=G+7|0;x=e+16|0;I=e+20|0;B=e+64|0;b=65424;i:while(1){r:do{if((b|0)!=65427){while(1){T=Gt(o)|0;if((T|0)==0&(j|0)==0){Ee=7;break}if((qt(o,h[x>>2]|0,2,u)|0)!=2){Ee=9;break i}gt(h[x>>2]|0,K,2);if((h[K>>2]|0)>>>0<2){Ee=11;break i}if((h[X>>2]|0)==32896?(T=Gt(o)|0,(T|0)==0&(j|0)==0):0){Ee=14;break}_=h[Te>>2]|0;b=h[K>>2]|0;if(_&16)h[q>>2]=-2-b+(h[q>>2]|0);k=b+-2|0;h[K>>2]=k;b=h[X>>2]|0;w=784;while(1){T=h[w>>2]|0;if((T|0)==0|(T|0)==(b|0)){A=w;break}else w=w+12|0}if(!(h[w+4>>2]&_)){Ee=20;break i}if(k>>>0>(h[I>>2]|0)>>>0){T=Gt(o)|0;M=j;if(0>(M|0)|0==(M|0)&k>>>0>T>>>0){Ee=24;break i}b=Zn(h[x>>2]|0,h[K>>2]|0)|0;if(!b){Ee=26;break i}h[x>>2]=b;k=h[K>>2]|0;h[I>>2]=k}else b=h[x>>2]|0;k=qt(o,b,k,u)|0;if((k|0)!=(h[K>>2]|0)){Ee=29;break i}b=h[w+8>>2]|0;if(!b){Ee=31;break i}if(!(Fo[b&63](e,h[x>>2]|0,k,u)|0)){Ee=33;break i}w=h[U>>2]|0;k=h[S>>2]|0;g=h[A>>2]|0;y=Vt(o)|0;E=h[K>>2]|0;y=y-E+-4|0;E=E+4|0;k=k+40|0;p=h[k>>2]|0;b=h[p+(w*40|0)+20>>2]|0;_=p+(w*40|0)+28|0;m=h[_>>2]|0;if((b+1|0)>>>0>m>>>0){m=~~(+(m>>>0)+100.0)>>>0;h[_>>2]=m;_=Zn(h[p+(w*40|0)+24>>2]|0,m*24|0)|0;m=h[k>>2]|0;b=m+(w*40|0)+24|0;if(!_){Ee=41;break i}h[b>>2]=_;k=m;b=h[m+(w*40|0)+20>>2]|0}else{k=p;_=h[p+(w*40|0)+24>>2]|0}d[_+(b*24|0)>>1]=g;T=_+(b*24|0)+8|0;h[T>>2]=y;h[T+4>>2]=((y|0)<0)<<31>>31;h[_+(b*24|0)+16>>2]=E;h[k+(w*40|0)+20>>2]=b+1;if((g|0)==65424?(R=h[k+(w*40|0)+16>>2]|0,(R|0)!=0):0){T=R+((h[k+(w*40|0)+12>>2]|0)*24|0)|0;h[T>>2]=y;h[T+4>>2]=0}do{if((h[A>>2]|0)==65424){b=Vt(o)|0;b=-4-(h[K>>2]|0)+b|0;T=B;M=h[T+4>>2]|0;if(!(0>(M|0)|(0==(M|0)?b>>>0>(h[T>>2]|0)>>>0:0)))break;T=B;h[T>>2]=b;h[T+4>>2]=0}}while(0);if(c[pe>>0]&4){Ee=46;break}if((qt(o,h[x>>2]|0,2,u)|0)!=2){Ee=50;break i}gt(h[x>>2]|0,X,2);if((h[X>>2]|0)==65427)break r}if((Ee|0)==7){Ee=0;h[Te>>2]=64;break}else if((Ee|0)==14){Ee=0;h[Te>>2]=64;break}else if((Ee|0)==46){Ee=0;T=Kt(o,h[q>>2]|0,0,u)|0;if(!((j|0)==0?(T|0)==(h[q>>2]|0):0)){Ee=47;break i}h[X>>2]=65427;break}}}while(0);T=Gt(o)|0;if((T|0)==0&(j|0)==0?(h[Te>>2]|0)==64:0){Ee=115;break}b=c[pe>>0]|0;if(!(b&4)){k=h[U>>2]|0;w=h[H>>2]|0;if(!(h[Y>>2]|0)){b=h[q>>2]|0;if(b>>>0>1){_=b+-2|0;h[q>>2]=_}else _=b}else{_=Gt(o)|0;_=zs(_|0,j|0,-2,0)|0;h[q>>2]=_}b=w+(k*5640|0)+5592|0;T=w+(k*5640|0)+5596|0;do{if(!_)M=1;else{M=Gt(o)|0;A=j;if(0>(A|0)|0==(A|0)&_>>>0>M>>>0)Zt(u,2,8573,fe)|0;k=h[b>>2]|0;if(!k){M=Gn(h[q>>2]|0)|0;h[b>>2]=M;if(!M)break i;else{M=0;break}}k=Zn(k,(h[q>>2]|0)+(h[T>>2]|0)|0)|0;if(!k){Ee=65;break i}h[b>>2]=k;M=0}}while(0);k=h[S>>2]|0;if(k){y=Vt(o)|0;_=j;A=zs(y|0,_|0,-2,-1)|0;w=h[U>>2]|0;k=k+40|0;p=h[k>>2]|0;g=h[p+(w*40|0)+12>>2]|0;m=h[p+(w*40|0)+16>>2]|0;E=m+(g*24|0)+8|0;h[E>>2]=A;h[E+4>>2]=j;E=h[q>>2]|0;_=zs(E|0,0,y|0,_|0)|0;g=m+(g*24|0)+16|0;h[g>>2]=_;h[g+4>>2]=j;E=E+2|0;g=h[p+(w*40|0)+20>>2]|0;_=p+(w*40|0)+28|0;m=h[_>>2]|0;if((g+1|0)>>>0>m>>>0){m=~~(+(m>>>0)+100.0)>>>0;h[_>>2]=m;_=Zn(h[p+(w*40|0)+24>>2]|0,m*24|0)|0;m=h[k>>2]|0;p=m+(w*40|0)+24|0;if(!_){b=p;Ee=74;break}h[p>>2]=_;y=m;k=h[m+(w*40|0)+20>>2]|0}else{y=p;_=h[p+(w*40|0)+24>>2]|0;k=g}d[_+(k*24|0)>>1]=-109;g=Ys(0,A|0,32)|0;A=_+(k*24|0)+8|0;h[A>>2]=g;h[A+4>>2]=j;h[_+(k*24|0)+16>>2]=E;h[y+(w*40|0)+20>>2]=k+1}if(!M)b=qt(o,(h[b>>2]|0)+(h[T>>2]|0)|0,h[q>>2]|0,u)|0;else b=0;h[Te>>2]=(b|0)==(h[q>>2]|0)?8:64;h[T>>2]=(h[T>>2]|0)+b;b=c[pe>>0]|0;if((b&9)==1){c[pe>>0]=b|8;k=h[U>>2]|0;do{if((Jt(o)|0)!=0?(N=Vt(o)|0,F=j,!((N|0)==-1&(F|0)==-1)):0){while(1){if((qt(o,G,2,u)|0)!=2){Ee=81;break}gt(G,z,2);if((h[z>>2]|0)!=65424){Ee=83;break}if((qt(o,G,2,u)|0)!=2){Ee=85;break}gt(G,W,2);if((h[W>>2]|0)!=10){Ee=87;break}h[W>>2]=8;b=qt(o,G,8,u)|0;if((b|0)!=(h[W>>2]|0)){Ee=89;break}if((b|0)!=8){Ee=91;break}gt(G,Z,2);gt(L,Q,4);gt(C,V,1);gt(D,J,1);if((h[Z>>2]|0)==(k|0)){Ee=97;break}b=h[Q>>2]|0;if(b>>>0<14){Ee=94;break}Ee=b+-12|0;h[Q>>2]=Ee;Ee=Kt(o,Ee,0,u)|0;if(!((j|0)==0?(Ee|0)==(h[Q>>2]|0):0)){Ee=96;break}}if((Ee|0)==81){Ee=0;b=(Wt(o,N,F,u)|0)!=0&1;k=0;break}else if((Ee|0)==83){Ee=0;b=(Wt(o,N,F,u)|0)!=0&1;k=0;break}else if((Ee|0)==85){Ee=0;Zt(u,1,8295,ae)|0;b=0;k=0;break}else if((Ee|0)==87){Ee=0;Zt(u,1,8313,le)|0;b=0;k=0;break}else if((Ee|0)==89){Ee=0;Zt(u,1,8295,oe)|0;b=0;k=0;break}else if((Ee|0)==91){Ee=0;Zt(u,1,8662,ce)|0;b=0;k=0;break}else if((Ee|0)==94){Ee=0;b=(Wt(o,N,F,u)|0)!=0&1;k=0;break}else if((Ee|0)==96){Ee=0;b=(Wt(o,N,F,u)|0)!=0&1;k=0;break}else if((Ee|0)==97){Ee=0;k=(h[V>>2]|0)==(h[J>>2]|0)&1;b=(Wt(o,N,F,u)|0)!=0&1;break}}else{b=1;k=0}}while(0);if(!b){Ee=99;break}if(k){b=ue(h[O>>2]|0,h[P>>2]|0)|0;c[pe>>0]=c[pe>>0]&-18|16;if(b){k=h[H>>2]|0;m=0;do{w=k+(m*5640|0)+5588|0;_=h[w>>2]|0;if(_)h[w>>2]=_+1;m=m+1|0}while((m|0)!=(b|0))}Zt(u,2,8734,he)|0}}if(!(c[pe>>0]&1)){if((qt(o,h[x>>2]|0,2,u)|0)!=2){Ee=109;break}gt(h[x>>2]|0,X,2)}}else{c[pe>>0]=b&-6;h[Te>>2]=8;if((qt(o,h[x>>2]|0,2,u)|0)!=2){Ee=113;break}gt(h[x>>2]|0,X,2)}b=h[X>>2]|0;if(!((b|0)!=65497&(c[pe>>0]&1)==0)){Ee=116;break}}switch(Ee|0){case 9:{Zt(u,1,8295,$)|0;u=0;v=Oe;return u|0}case 11:{Zt(u,1,8313,ee)|0;u=0;v=Oe;return u|0}case 20:{Zt(u,1,8339,se)|0;u=0;v=Oe;return u|0}case 24:{Zt(u,1,8382,we)|0;u=0;v=Oe;return u|0}case 26:{Qn(h[x>>2]|0);h[x>>2]=0;h[I>>2]=0;Zt(u,1,8427,_e)|0;u=0;v=Oe;return u|0}case 29:{Zt(u,1,8295,me)|0;u=0;v=Oe;return u|0}case 31:{Zt(u,1,8461,ie)|0;u=0;v=Oe;return u|0}case 33:{h[re>>2]=h[X>>2];Zt(u,1,8490,re)|0;u=0;v=Oe;return u|0}case 41:{Qn(h[b>>2]|0);Pe=h[k>>2]|0;h[Pe+(w*40|0)+24>>2]=0;h[Pe+(w*40|0)+28>>2]=0;h[Pe+(w*40|0)+20>>2]=0;Zt(u,1,8537,ge)|0;u=0;v=Oe;return u|0}case 47:{Zt(u,1,8295,te)|0;u=0;v=Oe;return u|0}case 50:{Zt(u,1,8295,ne)|0;u=0;v=Oe;return u|0}case 65:{Qn(h[b>>2]|0);h[b>>2]=0;break}case 74:{Qn(h[b>>2]|0);Pe=h[k>>2]|0;h[Pe+(w*40|0)+24>>2]=0;h[Pe+(w*40|0)+28>>2]=0;h[Pe+(w*40|0)+20>>2]=0;Zt(u,1,8537,ye)|0;u=0;v=Oe;return u|0}case 99:{Zt(u,1,8688,de)|0;u=0;v=Oe;return u|0}case 109:{Zt(u,1,8295,be)|0;u=0;v=Oe;return u|0}case 113:{Zt(u,1,8295,ke)|0;u=0;v=Oe;return u|0}case 115:{b=h[X>>2]|0;Ee=116;break}}if((Ee|0)==116)if((b|0)==65497){b=pe;Ee=117;break e}else{b=pe;break e}Zt(u,1,8628,ve)|0;u=0;v=Oe;return u|0}else b=pe;break}default:{u=0;v=Oe;return u|0}}}while(0);if((Ee|0)==117)if((h[Te>>2]|0)!=256){h[e+200>>2]=0;h[Te>>2]=256}if(!(c[b>>0]&1)){_=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;m=e+200|0;k=h[m>>2]|0;e:do{if(k>>>0<_>>>0){b=k;w=(h[e+164>>2]|0)+(k*5640|0)|0;while(1){if(h[w+5592>>2]|0){k=b;break e}k=b+1|0;h[m>>2]=k;if(k>>>0<_>>>0){b=k;w=w+5640|0}else break}}}while(0);if((k|0)==(_|0)){h[s>>2]=0;u=1;v=Oe;return u|0}}else{k=e+200|0;m=k;k=h[k>>2]|0}T=h[e+164>>2]|0;if(c[T+(k*5640|0)+5636>>0]&2){S=T+(k*5640|0)+5160|0;w=h[S>>2]|0;if(!w)b=0;else{_=h[T+(k*5640|0)+5164>>2]|0;p=0;b=0;do{b=(h[_+(p<<3)+4>>2]|0)+b|0;p=p+1|0}while((p|0)!=(w|0))}Ee=Gn(b)|0;M=T+(k*5640|0)+5172|0;h[M>>2]=Ee;if(!Ee){Zt(u,1,8775,Ae)|0;Zt(u,1,8813,Me)|0;u=0;v=Oe;return u|0}A=T+(k*5640|0)+5180|0;h[A>>2]=b;w=h[S>>2]|0;E=T+(k*5640|0)+5164|0;if(!w)b=h[E>>2]|0;else{b=h[E>>2]|0;g=b;y=0;p=0;while(1){_=h[g+(y<<3)>>2]|0;if(!_)_=g;else{Gs((h[M>>2]|0)+p|0,_|0,h[g+(y<<3)+4>>2]|0)|0;_=h[E>>2]|0;p=(h[_+(y<<3)+4>>2]|0)+p|0;Qn(h[_+(y<<3)>>2]|0);_=h[E>>2]|0;h[_+(y<<3)>>2]=0;h[_+(y<<3)+4>>2]=0;w=h[S>>2]|0;b=_}y=y+1|0;if(y>>>0>=w>>>0)break;else g=_}}h[S>>2]=0;Qn(b);h[E>>2]=0;h[T+(k*5640|0)+5168>>2]=h[M>>2];h[T+(k*5640|0)+5176>>2]=h[A>>2];k=h[m>>2]|0}b=e+204|0;if(!(Kr(h[b>>2]|0,k,u)|0)){Zt(u,1,8839,Se)|0;u=0;v=Oe;return u|0}else{Se=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;h[Pe>>2]=(h[m>>2]|0)+1;h[Pe+4>>2]=Se;Zt(u,4,8873,Pe)|0;h[i>>2]=h[m>>2];h[s>>2]=1;u=Wr(h[b>>2]|0)|0;h[r>>2]=u;u=h[h[(h[b>>2]|0)+20>>2]>>2]|0;h[t>>2]=h[u>>2];h[n>>2]=h[u+4>>2];h[f>>2]=h[u+8>>2];h[a>>2]=h[u+12>>2];h[l>>2]=h[u+16>>2];h[Te>>2]=h[Te>>2]|128;u=1;v=Oe;return u|0}return 0}function uf(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0;m=v;v=v+48|0;w=m+28|0;_=m+32|0;d=e+8|0;if(!(h[d>>2]&128)){n=0;v=m;return n|0}k=e+200|0;if((h[k>>2]|0)!=(i|0)){n=0;v=m;return n|0}a=h[e+164>>2]|0;u=a+(i*5640|0)|0;b=a+(i*5640|0)+5592|0;l=h[b>>2]|0;if(!l){Mf(u);n=0;v=m;return n|0}s=e+204|0;o=a+(i*5640|0)+5596|0;if(!(Zr(h[s>>2]|0,l,h[o>>2]|0,i,h[e+196>>2]|0,f)|0)){Mf(u);h[d>>2]=h[d>>2]|32768;Zt(f,1,8912,m)|0;n=0;v=m;return n|0}if(!(Qr(h[s>>2]|0,r,t)|0)){n=0;v=m;return n|0}a=h[b>>2]|0;if(a){Qn(a);h[b>>2]=0;h[o>>2]=0}b=e+76|0;c[b>>0]=c[b>>0]&-2;h[d>>2]=h[d>>2]&-129;b=Gt(n)|0;e=h[d>>2]|0;if((e|0)==256|(b|0)==0&(j|0)==0&(e|0)==64){n=1;v=m;return n|0}if((qt(n,_,2,f)|0)!=2){Zt(f,2,8931,m+8|0)|0;n=1;v=m;return n|0}gt(_,w,2);switch(h[w>>2]|0){case 65497:{h[k>>2]=0;h[d>>2]=256;n=1;v=m;return n|0}case 65424:{n=1;v=m;return n|0}default:if((Gt(n)|0)==0&(j|0)==0){h[d>>2]=64;Zt(f,2,8975,m+16|0)|0;n=1;v=m;return n|0}else{Zt(f,1,9005,m+24|0)|0;n=0;v=m;return n|0}}return 0}function cf(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;M=v;v=v+112|0;A=M+96|0;E=M+88|0;y=M+80|0;g=M+72|0;p=M+64|0;_=M+56|0;w=M+48|0;d=M+40|0;u=M+32|0;o=M+24|0;s=M+16|0;b=h[e+80>>2]|0;if((h[e+8>>2]|0)!=8){Zt(a,1,9037,M)|0;a=0;v=M;return a|0}if(!(t|r|n|f)){Zt(a,4,9116,M+8|0)|0;h[e+28>>2]=0;h[e+32>>2]=0;h[e+36>>2]=h[e+112>>2];h[e+40>>2]=h[e+116>>2];a=1;v=M;return a|0}m=b+8|0;l=h[m>>2]|0;if(l>>>0>>0){h[s>>2]=r;h[s+4>>2]=l;Zt(a,1,9185,s)|0;a=0;v=M;return a|0}l=h[b>>2]|0;if(l>>>0>r>>>0){h[o>>2]=r;h[o+4>>2]=l;Zt(a,2,9272,o)|0;l=0;r=h[b>>2]|0}else l=((r-(h[e+92>>2]|0)|0)>>>0)/((h[e+100>>2]|0)>>>0)|0;h[e+28>>2]=l;h[i>>2]=r;k=b+12|0;r=h[k>>2]|0;if(r>>>0>>0){h[u>>2]=t;h[u+4>>2]=r;Zt(a,1,9360,u)|0;a=0;v=M;return a|0}s=b+4|0;r=h[s>>2]|0;if(r>>>0>t>>>0){h[d>>2]=t;h[d+4>>2]=r;Zt(a,2,9445,d)|0;r=0;t=h[s>>2]|0}else r=((t-(h[e+96>>2]|0)|0)>>>0)/((h[e+104>>2]|0)>>>0)|0;h[e+32>>2]=r;o=i+4|0;h[o>>2]=t;r=h[b>>2]|0;if(r>>>0>n>>>0){h[w>>2]=n;h[w+4>>2]=r;Zt(a,1,9531,w)|0;a=0;v=M;return a|0}r=h[m>>2]|0;if(r>>>0>>0){h[_>>2]=n;h[_+4>>2]=r;Zt(a,2,9620,_)|0;r=h[e+112>>2]|0;n=h[m>>2]|0}else{r=h[e+100>>2]|0;r=(n+-1-(h[e+92>>2]|0)+r|0)/(r|0)|0}h[e+36>>2]=r;l=i+8|0;h[l>>2]=n;n=h[s>>2]|0;if(n>>>0>f>>>0){h[p>>2]=f;h[p+4>>2]=n;Zt(a,1,9708,p)|0;a=0;v=M;return a|0}n=h[k>>2]|0;if(n>>>0>>0){h[g>>2]=f;h[g+4>>2]=n;Zt(a,2,9798,g)|0;r=h[k>>2]|0;n=h[e+116>>2]|0}else{n=h[e+104>>2]|0;r=f;n=(f+-1-(h[e+96>>2]|0)+n|0)/(n|0)|0}h[e+40>>2]=n;f=i+12|0;h[f>>2]=r;g=e+76|0;c[g>>0]=c[g>>0]|2;g=h[i+16>>2]|0;e=h[i>>2]|0;e:do{if(g){t=h[o>>2]|0;m=t+-1|0;p=h[l>>2]|0;k=p+-1|0;w=e+-1|0;n=0;b=h[i+24>>2]|0;while(1){i=h[b>>2]|0;r=(w+i|0)/(i|0)|0;h[b+16>>2]=r;d=h[b+4>>2]|0;l=(m+d|0)/(d|0)|0;h[b+20>>2]=l;i=(k+i|0)/(i|0)|0;s=h[b+40>>2]|0;o=Xs(1,0,s|0)|0;u=j;i=zs(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;i=zs(i|0,j|0,o|0,u|0)|0;i=Ys(i|0,j|0,s|0)|0;r=zs(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;r=zs(r|0,j|0,o|0,u|0)|0;r=Ys(r|0,j|0,s|0)|0;r=i-r|0;if((r|0)<0){l=29;break}_=h[f>>2]|0;i=(d+-1+_|0)/(d|0)|0;h[b+8>>2]=r;i=zs(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;i=zs(i|0,j|0,o|0,u|0)|0;i=Ys(i|0,j|0,s|0)|0;r=zs(l|0,((l|0)<0)<<31>>31|0,-1,-1)|0;r=zs(r|0,j|0,o|0,u|0)|0;r=Ys(r|0,j|0,s|0)|0;r=i-r|0;if((r|0)<0){l=31;break}h[b+12>>2]=r;n=n+1|0;if(n>>>0>=g>>>0){r=p;n=_;break e}else b=b+52|0}if((l|0)==29){h[y>>2]=n;h[y+4>>2]=r;Zt(a,1,9887,y)|0;a=0;v=M;return a|0}else if((l|0)==31){h[E>>2]=n;h[E+4>>2]=r;Zt(a,1,9956,E)|0;a=0;v=M;return a|0}}else{t=h[o>>2]|0;r=h[l>>2]|0;n=h[f>>2]|0}}while(0);h[A>>2]=e;h[A+4>>2]=t;h[A+8>>2]=r;h[A+12>>2]=n;Zt(a,4,10025,A)|0;a=1;v=M;return a|0}function df(){var e=0,i=0,r=0;e=Kn(1,208)|0;if(!e){i=0;return i|0}h[e>>2]=1;i=e+184|0;c[i>>0]=c[i>>0]|2;i=Kn(1,5640)|0;h[e+12>>2]=i;if(!i){tf(e);i=0;return i|0}i=Kn(1,1e3)|0;h[e+16>>2]=i;if(!i){tf(e);i=0;return i|0}h[e+20>>2]=1e3;h[e+60>>2]=-1;i=e+64|0;h[i>>2]=0;h[i+4>>2]=0;i=Kn(1,48)|0;do{if(i){h[i+32>>2]=100;h[i+24>>2]=0;r=Kn(100,24)|0;h[i+28>>2]=r;if(!r){Qn(i);break}h[i+40>>2]=0;h[e+196>>2]=i;r=_a()|0;h[e+192>>2]=r;if(!r){tf(e);r=0;return r|0}r=_a()|0;h[e+188>>2]=r;if(r){r=e;return r|0}tf(e);r=0;return r|0}}while(0);h[e+196>>2]=0;tf(e);r=0;return r|0}function hf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,w=0,_=0,m=0,p=0;m=v;v=v+128|0;_=m+104|0;w=m+72|0;b=m+64|0;u=m+40|0;s=m+24|0;a=m+16|0;f=m+8|0;n=m;if(i&384){cs(10063,11,1,r)|0;v=m;return}if((i&1|0)!=0?(t=h[e+80>>2]|0,(t|0)!=0):0)bf(t,0,r);if(i&2){cs(10075,36,1,r)|0;t=h[e+96>>2]|0;h[n>>2]=h[e+92>>2];h[n+4>>2]=t;es(r,10112,n)|0;n=h[e+104>>2]|0;h[f>>2]=h[e+100>>2];h[f+4>>2]=n;es(r,10130,f)|0;f=h[e+116>>2]|0;h[a>>2]=h[e+112>>2];h[a+4>>2]=f;es(r,10148,a)|0;Rf(h[e+12>>2]|0,h[(h[e+80>>2]|0)+16>>2]|0,r);cs(10164,2,1,r)|0}if((i&8|0)!=0?(l=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0,(l|0)!=0):0){t=e+80|0;n=0;f=h[e+164>>2]|0;while(1){Rf(f,h[(h[t>>2]|0)+16>>2]|0,r);n=n+1|0;if((n|0)==(l|0))break;else f=f+5640|0}}if(!(i&16)){v=m;return}a=h[e+196>>2]|0;cs(10167,37,1,r)|0;l=a;i=h[l+4>>2]|0;t=a+8|0;e=h[t>>2]|0;t=h[t+4>>2]|0;f=s;h[f>>2]=h[l>>2];h[f+4>>2]=i;f=s+8|0;h[f>>2]=e;h[f+4>>2]=t;es(r,10205,s)|0;cs(10272,17,1,r)|0;f=a+28|0;t=h[f>>2]|0;e:do{if((t|0)!=0?(o=a+24|0,(h[o>>2]|0)!=0):0){n=0;while(1){i=t+(n*24|0)+8|0;l=h[i>>2]|0;i=h[i+4>>2]|0;s=h[t+(n*24|0)+16>>2]|0;h[u>>2]=k[t+(n*24|0)>>1];e=u+8|0;h[e>>2]=l;h[e+4>>2]=i;h[u+16>>2]=s;es(r,10290,u)|0;n=n+1|0;if(n>>>0>=(h[o>>2]|0)>>>0)break e;t=h[f>>2]|0}}}while(0);cs(10321,4,1,r)|0;i=a+40|0;f=h[i>>2]|0;if((f|0)!=0?(d=a+36|0,c=h[d>>2]|0,(c|0)!=0):0){n=0;t=0;do{t=(h[f+(n*40|0)+4>>2]|0)+t|0;n=n+1|0}while((n|0)!=(c|0));if(t){cs(10326,16,1,r)|0;if(h[d>>2]|0){t=h[i>>2]|0;l=0;do{a=h[t+(l*40|0)+4>>2]|0;h[b>>2]=l;h[b+4>>2]=a;es(r,10343,b)|0;t=h[i>>2]|0;n=h[t+(l*40|0)+16>>2]|0;e:do{if(!((a|0)==0|(n|0)==0)){t=0;while(1){e=n+(t*24|0)|0;p=h[e>>2]|0;e=h[e+4>>2]|0;o=n+(t*24|0)+8|0;s=h[o>>2]|0;o=h[o+4>>2]|0;c=n+(t*24|0)+16|0;u=h[c>>2]|0;c=h[c+4>>2]|0;h[w>>2]=t;f=w+8|0;h[f>>2]=p;h[f+4>>2]=e;f=w+16|0;h[f>>2]=s;h[f+4>>2]=o;f=w+24|0;h[f>>2]=u;h[f+4>>2]=c;es(r,10379,w)|0;f=t+1|0;t=h[i>>2]|0;if((f|0)==(a|0))break e;n=h[t+(l*40|0)+16>>2]|0;t=f}}}while(0);n=h[t+(l*40|0)+24>>2]|0;e:do{if((n|0)!=0?(h[t+(l*40|0)+20>>2]|0)!=0:0){t=0;while(1){c=n+(t*24|0)+8|0;u=h[c>>2]|0;c=h[c+4>>2]|0;f=h[n+(t*24|0)+16>>2]|0;h[_>>2]=k[n+(t*24|0)>>1];p=_+8|0;h[p>>2]=u;h[p+4>>2]=c;h[_+16>>2]=f;es(r,10290,_)|0;f=t+1|0;t=h[i>>2]|0;if(f>>>0>=(h[t+(l*40|0)+20>>2]|0)>>>0)break e;n=h[t+(l*40|0)+24>>2]|0;t=f}}}while(0);l=l+1|0}while(l>>>0<(h[d>>2]|0)>>>0)}cs(10321,4,1,r)|0}}cs(10164,2,1,r)|0;v=m;return}function bf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;u=v;v=v+64|0;o=u+48|0;s=u+40|0;a=u+32|0;f=u+16|0;n=u;l=u+52|0;if(!i){cs(10482,13,1,r)|0;c[l+1>>0]=0;t=9}else{cs(10445,36,1,h[676]|0)|0;t=0}c[l>>0]=t;d=h[e>>2]|0;t=h[e+4>>2]|0;h[n>>2]=l;h[n+4>>2]=d;h[n+8>>2]=t;es(r,10496,n)|0;n=h[e+8>>2]|0;t=h[e+12>>2]|0;h[f>>2]=l;h[f+4>>2]=n;h[f+8>>2]=t;es(r,10513,f)|0;f=e+16|0;t=h[f>>2]|0;h[a>>2]=l;h[a+4>>2]=t;es(r,10530,a)|0;t=e+24|0;if(!(h[t>>2]|0)){cs(10164,2,1,r)|0;v=u;return}if(!(h[f>>2]|0)){cs(10164,2,1,r)|0;v=u;return}else n=0;do{h[s>>2]=l;h[s+4>>2]=n;es(r,10546,s)|0;kf((h[t>>2]|0)+(n*52|0)|0,i,r);h[o>>2]=l;es(r,10566,o)|0;n=n+1|0}while(n>>>0<(h[f>>2]|0)>>>0);cs(10164,2,1,r)|0;v=u;return}function kf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+48|0;l=s+24|0;a=s+16|0;f=s;n=s+32|0;t=(i|0)!=0;if(t){cs(10571,41,1,h[676]|0)|0;i=0}else{c[n+1>>0]=9;c[n+2>>0]=0;i=9}c[n>>0]=i;o=h[e>>2]|0;i=h[e+4>>2]|0;h[f>>2]=n;h[f+4>>2]=o;h[f+8>>2]=i;es(r,10613,f)|0;f=h[e+24>>2]|0;h[a>>2]=n;h[a+4>>2]=f;es(r,10630,a)|0;a=h[e+32>>2]|0;h[l>>2]=n;h[l+4>>2]=a;es(r,10642,l)|0;if(!t){v=s;return}cs(10164,2,1,r)|0;v=s;return}function wf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;t=u;i=e+80|0;s=h[(h[i>>2]|0)+16>>2]|0;r=Kn(1,56)|0;h[t>>2]=r;if(!r){o=0;v=u;return o|0}h[r+24>>2]=h[(h[i>>2]|0)+16>>2];h[r>>2]=h[e+92>>2];h[r+4>>2]=h[e+96>>2];h[r+8>>2]=h[e+100>>2];h[r+12>>2]=h[e+104>>2];h[r+16>>2]=h[e+112>>2];h[r+20>>2]=h[e+116>>2];h[r+52>>2]=0;r=h[e+12>>2]|0;i=h[t>>2]|0;h[i+32>>2]=h[r>>2];h[i+36>>2]=h[r+4>>2];h[i+40>>2]=h[r+8>>2];h[i+44>>2]=h[r+16>>2];l=Kn(h[i+24>>2]|0,1080)|0;h[i+48>>2]=l;i=h[t>>2]|0;l=i+48|0;e=h[l>>2]|0;if(!e){xn(t);o=0;v=u;return o|0}if(!s){o=i;v=u;return o|0}a=r+5584|0;r=0;while(1){f=h[a>>2]|0;h[e+(r*1080|0)+4>>2]=h[f+(r*1080|0)>>2];t=f+(r*1080|0)+4|0;n=h[t>>2]|0;h[e+(r*1080|0)+8>>2]=n;h[e+(r*1080|0)+12>>2]=h[f+(r*1080|0)+8>>2];h[e+(r*1080|0)+16>>2]=h[f+(r*1080|0)+12>>2];h[e+(r*1080|0)+20>>2]=h[f+(r*1080|0)+16>>2];h[e+(r*1080|0)+24>>2]=h[f+(r*1080|0)+20>>2];if(n>>>0<33){Gs(e+(r*1080|0)+948|0,f+(r*1080|0)+944|0,n|0)|0;Gs(e+(r*1080|0)+816|0,f+(r*1080|0)+812|0,h[t>>2]|0)|0}n=h[f+(r*1080|0)+24>>2]|0;h[e+(r*1080|0)+28>>2]=n;h[e+(r*1080|0)+808>>2]=h[f+(r*1080|0)+804>>2];if((n|0)!=1){n=(h[t>>2]|0)*3|0;t=n+-2|0;if((t|0)<97&(n|0)>2)o=10}else{t=1;o=10}if((o|0)==10){o=0;n=0;do{h[e+(r*1080|0)+32+(n<<2)>>2]=h[f+(r*1080|0)+28+(n<<3)+4>>2];h[e+(r*1080|0)+420+(n<<2)>>2]=h[f+(r*1080|0)+28+(n<<3)>>2];n=n+1|0}while((n|0)!=(t|0))}h[e+(r*1080|0)+812>>2]=h[f+(r*1080|0)+808>>2];r=r+1|0;if((r|0)==(s|0))break;e=h[l>>2]|0}v=u;return i|0}function _f(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;i=Kn(1,48)|0;if(!i){o=0;return o|0}a=e+196|0;r=h[a>>2]|0;l=r;o=h[l+4>>2]|0;e=i;h[e>>2]=h[l>>2];h[e+4>>2]=o;e=r+8|0;o=h[e+4>>2]|0;l=i+8|0;h[l>>2]=h[e>>2];h[l+4>>2]=o;l=r+16|0;o=h[l+4>>2]|0;e=i+16|0;h[e>>2]=h[l>>2];h[e+4>>2]=o;r=h[r+24>>2]|0;e=i+24|0;h[e>>2]=r;r=Gn(r*24|0)|0;o=i+28|0;h[o>>2]=r;if(!r){Qn(i);o=0;return o|0}t=h[(h[a>>2]|0)+28>>2]|0;if(!t){Qn(r);h[o>>2]=0}else Gs(r|0,t|0,(h[e>>2]|0)*24|0)|0;e=h[(h[a>>2]|0)+36>>2]|0;f=i+36|0;h[f>>2]=e;e=Kn(e,40)|0;l=i+40|0;h[l>>2]=e;if(!e){Qn(h[o>>2]|0);Qn(i);o=0;return o|0}r=h[(h[a>>2]|0)+40>>2]|0;if(!r){Qn(e);h[l>>2]=0;o=i;return o|0}if(!(h[f>>2]|0)){o=i;return o|0}r=h[r+20>>2]|0;h[e+20>>2]=r;r=Gn(r*24|0)|0;e=h[l>>2]|0;h[e+24>>2]=r;e:do{if(!r)r=0;else{n=r;r=0;while(1){t=h[(h[(h[a>>2]|0)+40>>2]|0)+(r*40|0)+24>>2]|0;if(!t){Qn(n);e=h[l>>2]|0;h[e+(r*40|0)+24>>2]=0}else{Gs(n|0,t|0,(h[e+(r*40|0)+20>>2]|0)*24|0)|0;e=h[l>>2]|0}t=h[(h[(h[a>>2]|0)+40>>2]|0)+(r*40|0)+4>>2]|0;h[e+(r*40|0)+4>>2]=t;t=Gn(t*24|0)|0;e=h[l>>2]|0;h[e+(r*40|0)+16>>2]=t;if(!t)break;n=h[(h[(h[a>>2]|0)+40>>2]|0)+(r*40|0)+16>>2]|0;if(!n){Qn(t);e=h[l>>2]|0;h[e+(r*40|0)+16>>2]=0}else{Gs(t|0,n|0,(h[e+(r*40|0)+4>>2]|0)*24|0)|0;e=h[l>>2]|0}h[e+(r*40|0)+32>>2]=0;h[e+(r*40|0)+36>>2]=0;r=r+1|0;if(r>>>0>=(h[f>>2]|0)>>>0){s=32;break}n=h[(h[(h[a>>2]|0)+40>>2]|0)+(r*40|0)+20>>2]|0;h[e+(r*40|0)+20>>2]=n;n=Gn(n*24|0)|0;e=h[l>>2]|0;h[e+(r*40|0)+24>>2]=n;if(!n)break e}if((s|0)==32)return i|0;if(r){Qn(h[e+24>>2]|0);Qn(h[(h[l>>2]|0)+16>>2]|0);if((r|0)!=1){e=1;do{Qn(h[(h[l>>2]|0)+(e*40|0)+24>>2]|0);Qn(h[(h[l>>2]|0)+(e*40|0)+16>>2]|0);e=e+1|0}while((e|0)!=(r|0))}e=h[l>>2]|0}Qn(e);Qn(h[o>>2]|0);Qn(i);o=0;return o|0}}while(0);if(r){Qn(h[e+24>>2]|0);if((r|0)!=1){e=1;do{Qn(h[(h[l>>2]|0)+(e*40|0)+24>>2]|0);e=e+1|0}while((e|0)!=(r|0))}e=h[l>>2]|0}Qn(e);Qn(h[o>>2]|0);Qn(i);o=0;return o|0}function mf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;if(!r){r=0;return r|0}n=en()|0;o=e+84|0;h[o>>2]=n;if(!n){r=0;return r|0}fn(r,n);a=e+188|0;pa(h[a>>2]|0,27,t)|0;a=h[a>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](e,i,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){r=e+80|0;tn(h[r>>2]|0);h[r>>2]=0;r=0;return r|0}}else ya(a);l=h[r+16>>2]|0;if(!l){r=1;return r|0}a=h[(h[o>>2]|0)+24>>2]|0;n=h[r+24>>2]|0;f=0;do{h[n+(f*52|0)+36>>2]=h[a+(f*52|0)+36>>2];r=a+(f*52|0)+44|0;h[n+(f*52|0)+44>>2]=h[r>>2];h[r>>2]=0;f=f+1|0}while(f>>>0>>0);n=1;return n|0}function pf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;m=v;v=v+16|0;l=m+8|0;if(!r){Zt(t,1,10654,m)|0;_=0;v=m;return _|0}f=h[e+112>>2]|0;a=ue(h[e+116>>2]|0,f)|0;if(a>>>0<=n>>>0){h[l>>2]=n;h[l+4>>2]=a+-1;Zt(t,1,10692,l)|0;_=0;v=m;return _|0}_=(n>>>0)%(f>>>0)|0;w=(n>>>0)/(f>>>0)|0;l=h[e+100>>2]|0;a=ue(l,_)|0;s=h[e+92>>2]|0;a=a+s|0;h[r>>2]=a;k=e+80|0;f=h[k>>2]|0;o=h[f>>2]|0;a=a>>>0>>0?o:a;h[r>>2]=a;s=(ue(l,_+1|0)|0)+s|0;_=r+8|0;h[_>>2]=s;l=h[f+8>>2]|0;s=s>>>0>l>>>0?l:s;h[_>>2]=s;_=h[e+104>>2]|0;l=ue(_,w)|0;o=h[e+96>>2]|0;l=l+o|0;b=r+4|0;h[b>>2]=l;d=h[f+4>>2]|0;l=l>>>0>>0?d:l;h[b>>2]=l;o=(ue(_,w+1|0)|0)+o|0;w=r+12|0;h[w>>2]=o;_=h[f+12>>2]|0;o=o>>>0>_>>>0?_:o;h[w>>2]=o;w=r+24|0;_=r+16|0;b=h[_>>2]|0;if(b){d=h[f+24>>2]|0;c=a+-1|0;u=l+-1|0;s=s+-1|0;f=o+-1|0;a=0;l=h[w>>2]|0;while(1){o=h[d+(a*52|0)+40>>2]|0;h[l+40>>2]=o;M=h[l>>2]|0;A=(c+M|0)/(M|0)|0;h[l+16>>2]=A;p=h[l+4>>2]|0;E=(u+p|0)/(p|0)|0;h[l+20>>2]=E;M=(s+M|0)/(M|0)|0;p=(f+p|0)/(p|0)|0;y=Xs(1,0,o|0)|0;g=j;M=zs(M|0,((M|0)<0)<<31>>31|0,-1,-1)|0;M=zs(M|0,j|0,y|0,g|0)|0;M=Ys(M|0,j|0,o|0)|0;A=zs(A|0,((A|0)<0)<<31>>31|0,-1,-1)|0;A=zs(A|0,j|0,y|0,g|0)|0;A=Ys(A|0,j|0,o|0)|0;h[l+8>>2]=M-A;p=zs(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;p=zs(p|0,j|0,y|0,g|0)|0;p=Ys(p|0,j|0,o|0)|0;E=zs(E|0,((E|0)<0)<<31>>31|0,-1,-1)|0;g=zs(E|0,j|0,y|0,g|0)|0;o=Ys(g|0,j|0,o|0)|0;h[l+12>>2]=p-o;a=a+1|0;if(a>>>0>=b>>>0)break;else l=l+52|0}}u=e+84|0;f=h[u>>2]|0;if(f)tn(f);f=en()|0;h[u>>2]=f;if(!f){M=0;v=m;return M|0}fn(r,f);h[e+60>>2]=n;l=e+188|0;pa(h[l>>2]|0,28,t)|0;l=h[l>>2]|0;s=va(l)|0;f=ga(l)|0;if(s){o=0;a=1;while(1){if(!a)a=0;else a=(Ro[h[f>>2]&63](e,i,t)|0)!=0;o=o+1|0;if((o|0)==(s|0))break;else{f=f+4|0;a=a&1}}ya(l);if(!a){tn(h[k>>2]|0);h[k>>2]=0;M=0;v=m;return M|0}}else ya(l);f=h[_>>2]|0;if(!f){M=1;v=m;return M|0}s=h[(h[u>>2]|0)+24>>2]|0;l=h[w>>2]|0;o=0;while(1){h[l+(o*52|0)+36>>2]=h[s+(o*52|0)+36>>2];a=h[l+(o*52|0)+44>>2]|0;if(!a)a=s;else{Qn(a);a=h[(h[u>>2]|0)+24>>2]|0;l=h[w>>2]|0;f=h[_>>2]|0}M=a+(o*52|0)+44|0;h[l+(o*52|0)+44>>2]=h[M>>2];h[M>>2]=0;o=o+1|0;if(o>>>0>=f>>>0){f=1;break}else s=a}v=m;return f|0}function vf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;h[e+168>>2]=i;t=h[e+80>>2]|0;e:do{if((((t|0)!=0?(a=h[t+24>>2]|0,(a|0)!=0):0)?(n=h[e+12>>2]|0,(n|0)!=0):0)?(f=h[n+5584>>2]|0,(f|0)!=0):0){t=h[t+16>>2]|0;if(!t)t=1;else{n=0;while(1){if((h[f+(n*1080|0)+4>>2]|0)>>>0<=i>>>0)break;h[a+(n*52|0)+40>>2]=i;n=n+1|0;if(n>>>0>=t>>>0){t=1;break e}}Zt(r,1,10753,l)|0;t=0}}else t=0}while(0);v=s;return t|0}function gf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0;Y=v;v=v+48|0;j=Y+32|0;U=Y+24|0;F=Y+16|0;B=Y+8|0;N=Y;T=e+204|0;t=h[T>>2]|0;L=e+116|0;C=e+112|0;D=ue(h[C>>2]|0,h[L>>2]|0)|0;x=(D|0)==1;if(!D){H=1;v=Y;return H|0}I=e+200|0;S=e+12|0;P=e+164|0;O=e+8|0;R=t+20|0;A=t+24|0;M=0;t=0;l=0;e:while(1){if((h[I>>2]|0)!=(M|0)){H=5;break}y=M;M=M+1|0;E=ue(h[L>>2]|0,h[C>>2]|0)|0;h[B>>2]=M;h[B+4>>2]=E;Zt(r,4,10866,B)|0;h[S>>2]=0;E=h[T>>2]|0;h[E+12>>2]=h[(h[P>>2]|0)+(y*5640|0)+5588>>2];h[O>>2]=0;if(!(Gr(E,h[I>>2]|0,r)|0))break;n=h[T>>2]|0;if(h[(h[n+24>>2]|0)+16>>2]|0){a=0;do{f=h[(h[h[R>>2]>>2]|0)+20>>2]|0;if(x){h[f+(a*52|0)+32>>2]=h[(h[(h[A>>2]|0)+24>>2]|0)+(a*52|0)+44>>2];h[f+(a*52|0)+36>>2]=0}else{if(!(Vr(f+(a*52|0)|0)|0)){H=14;break e}n=h[T>>2]|0}a=a+1|0}while(a>>>0<(h[(h[n+24>>2]|0)+16>>2]|0)>>>0)}E=$r(n)|0;if(!x){if(E>>>0>l>>>0){n=Zn(t,E)|0;if(!n){H=20;break}else{t=n;n=E}}else n=l;f=h[T>>2]|0;y=f+24|0;a=h[y>>2]|0;if(h[a+16>>2]|0){g=f+20|0;f=t;p=0;do{w=h[(h[h[g>>2]>>2]|0)+20>>2]|0;s=h[a+24>>2]|0;k=h[s+(p*52|0)+24>>2]|0;k=((k&7|0)!=0&1)+(k>>>3)|0;o=h[w+(p*52|0)+8>>2]|0;u=h[w+(p*52|0)>>2]|0;m=o-u|0;b=h[w+(p*52|0)+12>>2]|0;w=h[w+(p*52|0)+4>>2]|0;z=h[a>>2]|0;X=h[s+(p*52|0)>>2]|0;l=h[s+(p*52|0)+4>>2]|0;q=(X+~z+(h[a+8>>2]|0)|0)/(X|0)|0;_=q-m|0;a=u-((z+-1+X|0)/(X|0)|0)+(ue(q,w-(((h[a+4>>2]|0)+-1+l|0)/(l|0)|0)|0)|0)|0;a=(h[s+(p*52|0)+44>>2]|0)+(a<<2)|0;i:do{switch(((k|0)==3?4:k)|0){case 1:{l=(b|0)==(w|0);if(!(h[s+(p*52|0)+32>>2]|0)){if(l)break i;k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){c[s>>0]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+1|0;o=o+4|0}}f=f+m|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}else{if(l)break i;k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){c[s>>0]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+1|0;o=o+4|0}}f=f+m|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}break}case 2:{l=(b|0)==(w|0);if(!(h[s+(p*52|0)+32>>2]|0)){if(!l){k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){d[s>>1]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+2|0;o=o+4|0}}f=f+(m<<1)|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}}else if(!l){k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){d[s>>1]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+2|0;o=o+4|0}}f=f+(m<<1)|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}break}case 4:{if((b|0)!=(w|0)){k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){h[s>>2]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+4|0;o=o+4|0}}f=f+(m<<2)|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}break}default:{}}}while(0);p=p+1|0;a=h[y>>2]|0}while(p>>>0<(h[a+16>>2]|0)>>>0);f=h[T>>2]|0}if(!(et(f,t,E)|0)){H=63;break}}else n=l;if(!(Df(e,i,r)|0)){H=65;break}if(M>>>0>=D>>>0){H=67;break}else l=n}if((H|0)==5)Zt(r,1,10829,N)|0;else if((H|0)==14){Zt(r,1,10887,F)|0;if(!t){z=0;v=Y;return z|0}Qn(t);z=0;v=Y;return z|0}else if((H|0)==20){if(t)Qn(t);Zt(r,1,10925,U)|0;z=0;v=Y;return z|0}else if((H|0)==63){Zt(r,1,10964,j)|0;Qn(t);z=0;v=Y;return z|0}else if((H|0)==65){if(!t){z=0;v=Y;return z|0}Qn(t);z=0;v=Y;return z|0}else if((H|0)==67){if(!t){z=1;v=Y;return z|0}Qn(t);z=1;v=Y;return z|0}if(!t){z=0;v=Y;return z|0}Qn(t);z=0;v=Y;return z|0}function yf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;t=e+188|0;if(!(pa(h[t>>2]|0,29,r)|0)){i=0;return i|0}if(((d[e+88>>1]|0)+-3&65535)<4?(pa(h[t>>2]|0,30,r)|0)==0:0){i=0;return i|0}if(!(pa(h[t>>2]|0,31,r)|0)){i=0;return i|0}if(!(pa(h[t>>2]|0,32,r)|0)){i=0;return i|0}if(!(pa(h[t>>2]|0,33,r)|0)){i=0;return i|0}l=h[t>>2]|0;f=va(l)|0;t=ga(l)|0;if(!f)t=1;else{a=0;n=t;t=1;while(1){if(!t)t=0;else t=(Ro[h[n>>2]&63](e,i,r)|0)!=0;t=t&1;a=a+1|0;if((a|0)==(f|0))break;else n=n+4|0}}ya(l);i=t;return i|0}function Ef(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+16|0;n=en()|0;l=e+80|0;h[l>>2]=n;if(!n){Zt(t,1,11011,o)|0;i=0;v=o;return i|0}fn(r,n);a=h[r+24>>2]|0;if((a|0)!=0?(s=h[r+16>>2]|0,(s|0)!=0):0){f=0;do{r=a+(f*52|0)+44|0;n=h[r>>2]|0;if(n){h[(h[(h[l>>2]|0)+24>>2]|0)+(f*52|0)+44>>2]=n;h[r>>2]=0}f=f+1|0}while(f>>>0>>0)}n=e+192|0;if(!(pa(h[n>>2]|0,34,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,35,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,36,t)|0)){i=0;v=o;return i|0}f=h[n>>2]|0;a=va(f)|0;n=ga(f)|0;if(a){l=0;r=1;while(1){if(!r)r=0;else r=(Ro[h[n>>2]&63](e,i,t)|0)!=0;l=l+1|0;if((l|0)==(a|0))break;else{n=n+4|0;r=r&1}}ya(f);if(!r){i=0;v=o;return i|0}}else ya(f);n=e+188|0;if(!(pa(h[n>>2]|0,37,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,38,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,39,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,40,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,41,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,42,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,43,t)|0)){i=0;v=o;return i|0}r=e+88|0;if(((d[r>>1]|0)+-3&65535)<4){if(!(pa(h[n>>2]|0,44,t)|0)){i=0;v=o;return i|0}if((d[r>>1]|0)==4?(pa(h[n>>2]|0,45,t)|0)==0:0){i=0;v=o;return i|0}}if(!(pa(h[n>>2]|0,46,t)|0)){i=0;v=o;return i|0}if((h[e+108>>2]|0)!=0?(pa(h[n>>2]|0,47,t)|0)==0:0){i=0;v=o;return i|0}if((d[r>>1]&256)!=0?(pa(h[n>>2]|0,48,t)|0)==0:0){i=0;v=o;return i|0}if((h[e+196>>2]|0)!=0?(pa(h[n>>2]|0,49,t)|0)==0:0){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,50,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,51,t)|0)){i=0;v=o;return i|0}l=h[n>>2]|0;f=va(l)|0;n=ga(l)|0;if(!f)n=1;else{a=0;r=n;n=1;while(1){if(!n)n=0;else n=(Ro[h[r>>2]&63](e,i,t)|0)!=0;n=n&1;a=a+1|0;if((a|0)==(f|0))break;else r=r+4|0}}ya(l);i=n;v=o;return i|0}function Af(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;k=v;v=v+48|0;d=k+40|0;b=k+32|0;c=k+24|0;o=k+16|0;l=k+8|0;a=k;s=e+200|0;if((h[s>>2]|0)==(i|0)){u=ue(h[e+116>>2]|0,h[e+112>>2]|0)|0;h[l>>2]=i+1;h[l+4>>2]=u;Zt(f,4,10866,l)|0;h[e+12>>2]=0;u=e+204|0;l=h[u>>2]|0;h[l+12>>2]=h[(h[e+164>>2]|0)+(i*5640|0)+5588>>2];h[e+8>>2]=0;if(Gr(l,h[s>>2]|0,f)|0){a=h[u>>2]|0;e:do{if(h[(h[a+24>>2]|0)+16>>2]|0){l=0;while(1){if(!(Vr((h[(h[h[a+20>>2]>>2]|0)+20>>2]|0)+(l*52|0)|0)|0))break;l=l+1|0;a=h[u>>2]|0;if(l>>>0>=(h[(h[a+24>>2]|0)+16>>2]|0)>>>0)break e}Zt(f,1,10887,c)|0;b=0;v=k;return b|0}}while(0);if(!(et(a,r,t)|0)){Zt(f,1,10964,b)|0;b=0;v=k;return b|0}if(Df(e,n,f)|0){b=1;v=k;return b|0}h[d>>2]=i;Zt(f,1,11101,d)|0;b=0;v=k;return b|0}}else Zt(f,1,10829,a)|0;h[o>>2]=i;Zt(f,1,11044,o)|0;b=0;v=k;return b|0}function Mf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0;if(!e)return;n=e+5164|0;i=h[n>>2]|0;if(i){f=e+5160|0;r=h[f>>2]|0;if(r){t=0;while(1){i=h[i+(t<<3)>>2]|0;if(i){Qn(i);r=h[f>>2]|0}t=t+1|0;if(t>>>0>=r>>>0)break;i=h[n>>2]|0}i=h[n>>2]|0}h[f>>2]=0;Qn(i);h[n>>2]=0}i=e+5172|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5584|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5608|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5604|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5624|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0;h[e+5632>>2]=0;h[e+5628>>2]=0}l=e+5612|0;i=h[l>>2]|0;if(i){a=e+5616|0;r=h[a>>2]|0;if(r){f=0;while(1){t=i+12|0;n=h[t>>2]|0;if(n){Qn(n);h[t>>2]=0;r=h[a>>2]|0}f=f+1|0;if(f>>>0>=r>>>0)break;else i=i+20|0}i=h[l>>2]|0}Qn(i);h[l>>2]=0}i=e+5600|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5592|0;r=h[i>>2]|0;if(!r)return;Qn(r);h[i>>2]=0;h[e+5596>>2]=0;return}function Tf(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function Sf(e,i,r){e=e|0;i=i|0;r=r|0;return(h[e+8>>2]|0)==0&(h[e+188>>2]|0)!=0&(h[e+192>>2]|0)!=0&1|0}function Pf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0;J=v;v=v+224|0;W=J+200|0;V=J+192|0;z=J+184|0;Y=J+176|0;H=J+168|0;U=J+160|0;N=J+152|0;B=J+144|0;I=J+136|0;O=J+128|0;x=J+120|0;P=J+112|0;S=J+104|0;T=J+96|0;M=J+88|0;A=J+80|0;D=J+72|0;C=J+64|0;E=J+56|0;y=J+48|0;g=J+40|0;R=J+32|0;b=J+24|0;s=J+16|0;l=J+8|0;F=J;X=J+216|0;t=J+204|0;L=J+212|0;p=J+208|0;K=e+8|0;h[K>>2]=1;e:do{if((qt(i,X,2,r)|0)==2?(gt(X,t,2),(h[t>>2]|0)==65359):0){h[K>>2]=2;u=Vt(i)|0;u=zs(u|0,j|0,-2,-1)|0;o=j;G=e+196|0;n=h[G>>2]|0;h[n>>2]=u;h[n+4>>2]=o;n=F;h[n>>2]=u;h[n+4>>2]=o;Zt(r,4,15766,F)|0;n=h[G>>2]|0;o=h[n>>2]|0;u=n+24|0;t=h[u>>2]|0;a=n+32|0;f=h[a>>2]|0;do{if((t+1|0)>>>0>f>>>0){m=~~(+(f>>>0)+100.0)>>>0;h[a>>2]=m;t=n+28|0;n=Zn(h[t>>2]|0,m*24|0)|0;if(!n){Qn(h[t>>2]|0);h[t>>2]=0;h[a>>2]=0;h[u>>2]=0;Zt(r,1,15803,l)|0;break e}else{h[t>>2]=n;t=h[u>>2]|0;break}}else n=h[n+28>>2]|0}while(0);d[n+(t*24|0)>>1]=-177;_=Ys(0,o|0,32)|0;m=n+(t*24|0)+8|0;h[m>>2]=_;h[m+4>>2]=j;h[n+(t*24|0)+16>>2]=2;h[u>>2]=t+1;m=e+16|0;if((qt(i,h[m>>2]|0,2,r)|0)!=2){Zt(r,1,8295,b)|0;r=0;v=J;return r|0}gt(h[m>>2]|0,L,2);t=h[L>>2]|0;if((t|0)!=65424){_=e+20|0;k=0;f=0;w=0;i:while(1){if(t>>>0<65280){q=14;break}else l=784;while(1){n=h[l>>2]|0;a=(n|0)==0;if(a|(n|0)==(t|0))break;else l=l+12|0}if(a){Zt(r,2,15914,g)|0;s=2;r:while(1){do{if((qt(i,h[m>>2]|0,2,r)|0)!=2){q=20;break i}gt(h[m>>2]|0,F,2);t=h[F>>2]|0}while(t>>>0<65280);l=784;while(1){n=h[l>>2]|0;if((n|0)==0|(n|0)==(t|0)){a=l;t=l;break}else l=l+12|0}if(!(h[t+4>>2]&h[K>>2])){q=25;break i}if((n|0)>=65424){q=100;break}switch(n|0){case 0:break;default:{b=a;u=s;break r}}s=s+2|0}if((q|0)==100){q=0;switch(n|0){case 65424:{n=k;t=w;q=27;break i}default:{b=a;u=s}}}l=h[G>>2]|0;o=Vt(i)|0;o=o-u|0;a=l+24|0;t=h[a>>2]|0;n=l+32|0;s=h[n>>2]|0;if((t+1|0)>>>0>s>>>0){t=~~(+(s>>>0)+100.0)>>>0;h[n>>2]=t;l=l+28|0;t=Zn(h[l>>2]|0,t*24|0)|0;if(!t){f=l;t=l;q=32;break}h[l>>2]=t;n=t;t=h[a>>2]|0}else n=h[l+28>>2]|0;d[n+(t*24|0)>>1]=0;s=n+(t*24|0)+8|0;h[s>>2]=o;h[s+4>>2]=((o|0)<0)<<31>>31;h[n+(t*24|0)+16>>2]=u;h[a>>2]=t+1;t=h[b>>2]|0;h[L>>2]=t;if((t|0)==65424){n=k;t=w;break}else a=784;while(1){n=h[a>>2]|0;if((n|0)==0|(n|0)==(t|0))break;else a=a+12|0}}else a=l;w=(n|0)==65361?1:w;k=(n|0)==65362?1:k;f=(n|0)==65372?1:f;if(!(h[a+4>>2]&h[K>>2])){q=38;break}if((qt(i,h[m>>2]|0,2,r)|0)!=2){q=40;break}gt(h[m>>2]|0,p,2);n=(h[p>>2]|0)+-2|0;h[p>>2]=n;t=h[m>>2]|0;if(n>>>0>(h[_>>2]|0)>>>0){t=Zn(t,n)|0;if(!t){q=43;break}h[m>>2]=t;n=h[p>>2]|0;h[_>>2]=n}t=qt(i,t,n,r)|0;if((t|0)!=(h[p>>2]|0)){q=46;break}if(!(Fo[h[a+8>>2]&63](e,h[m>>2]|0,t,r)|0)){q=48;break}s=h[G>>2]|0;o=h[a>>2]|0;u=Vt(i)|0;b=h[p>>2]|0;u=-4-b+u|0;b=b+4|0;a=s+24|0;t=h[a>>2]|0;n=s+32|0;l=h[n>>2]|0;if((t+1|0)>>>0>l>>>0){t=~~(+(l>>>0)+100.0)>>>0;h[n>>2]=t;l=s+28|0;t=Zn(h[l>>2]|0,t*24|0)|0;if(!t){f=l;t=l;q=53;break}h[l>>2]=t;n=t;t=h[a>>2]|0}else n=h[s+28>>2]|0;d[n+(t*24|0)>>1]=o;o=n+(t*24|0)+8|0;h[o>>2]=u;h[o+4>>2]=((u|0)<0)<<31>>31;h[n+(t*24|0)+16>>2]=b;h[a>>2]=t+1;if((qt(i,h[m>>2]|0,2,r)|0)!=2){q=55;break}gt(h[m>>2]|0,L,2);t=h[L>>2]|0;if((t|0)==65424){n=k;t=w;break}}switch(q|0){case 14:{h[R>>2]=t;Zt(r,1,15863,R)|0;r=0;v=J;return r|0}case 20:{Zt(r,1,8295,y)|0;q=34;break}case 25:{Zt(r,1,8339,E)|0;q=34;break}case 27:{h[L>>2]=65424;break}case 32:{Qn(h[t>>2]|0);h[f>>2]=0;h[n>>2]=0;h[a>>2]=0;Zt(r,1,15803,C)|0;q=34;break}case 38:{Zt(r,1,8339,A)|0;r=0;v=J;return r|0}case 40:{Zt(r,1,8295,M)|0;r=0;v=J;return r|0}case 43:{Qn(h[m>>2]|0);h[m>>2]=0;h[_>>2]=0;Zt(r,1,8427,T)|0;r=0;v=J;return r|0}case 46:{Zt(r,1,8295,S)|0;r=0;v=J;return r|0}case 48:{Zt(r,1,15985,P)|0;r=0;v=J;return r|0}case 53:{Qn(h[t>>2]|0);h[f>>2]=0;h[n>>2]=0;h[a>>2]=0;Zt(r,1,15803,x)|0;r=0;v=J;return r|0}case 55:{Zt(r,1,8295,O)|0;r=0;v=J;return r|0}}if((q|0)==34){Zt(r,1,15930,D)|0;r=0;v=J;return r|0}if(t){if(!n){Zt(r,1,16090,B)|0;r=0;v=J;return r|0}if(!f){Zt(r,1,16136,N)|0;r=0;v=J;return r|0}i:do{if(c[e+184>>0]&1){_=e+120|0;do{if(h[_>>2]|0){o=e+124|0;u=0;t=0;n=0;r:do{f=h[o>>2]|0;a=h[f+(u<<3)>>2]|0;t:do{if(a){l=h[f+(u<<3)+4>>2]|0;f=t>>>0>>0;s=f?0:t-l|0;if((l|0)==(t|0)|f^1)t=s;else{a=f?a+t|0:a;t=l-t|0;while(1){if(t>>>0<4){q=70;break r}gt(a,F,4);f=t+-4|0;t=h[F>>2]|0;n=t+n|0;if(f>>>0>>0)break;if((f|0)==(t|0)){t=s;break t}else{a=a+(t+4)|0;t=f-t|0}}t=t-f|0}}}while(0);u=u+1|0}while(u>>>0<(h[_>>2]|0)>>>0);if((q|0)==70){Zt(r,1,16182,U)|0;break}if(!t)q=77;else Zt(r,1,16213,H)|0}else{n=0;q=77}}while(0);r:do{if((q|0)==77){f=Gn(n)|0;b=e+144|0;h[b>>2]=f;if(!f){Zt(r,1,13302,Y)|0;break}k=e+132|0;h[k>>2]=n;a=h[_>>2]|0;w=e+124|0;do{if(a){t=h[w>>2]|0;f=t;u=0;o=0;n=0;t:while(1){l=h[f+(u<<3)>>2]|0;if(!l)l=o;else{f=h[f+(u<<3)+4>>2]|0;t=(h[b>>2]|0)+n|0;n:do{if(o>>>0>>0){Gs(t|0,l|0,o|0)|0;n=n+o|0;if((f|0)==(o|0)){l=0;break}s=l+o|0;t=f-o|0;while(1){if(t>>>0<4){q=88;break t}gt(s,X,4);l=s+4|0;a=t+-4|0;f=h[X>>2]|0;t=(h[b>>2]|0)+n|0;if(a>>>0>>0){f=l;break}Gs(t|0,l|0,f|0)|0;t=h[X>>2]|0;n=t+n|0;if((a|0)==(t|0)){l=0;break n}else{s=s+(t+4)|0;t=a-t|0}}Gs(t|0,f|0,a|0)|0;l=(h[X>>2]|0)-a|0;n=a+n|0}else{Gs(t|0,l|0,f|0)|0;l=o-f|0;n=f+n|0}}while(0);Qn(h[(h[w>>2]|0)+(u<<3)>>2]|0);f=h[w>>2]|0;h[f+(u<<3)>>2]=0;h[f+(u<<3)+4>>2]=0;a=h[_>>2]|0;t=f}u=u+1|0;if(u>>>0>=a>>>0){q=94;break}else o=l}if((q|0)==88){Zt(r,1,16182,z)|0;break r}else if((q|0)==94){f=h[b>>2]|0;n=h[k>>2]|0;break}}else t=h[w>>2]|0}while(0);h[e+128>>2]=f;h[e+152>>2]=n;h[_>>2]=0;Qn(t);h[w>>2]=0;break i}}while(0);Zt(r,1,16236,V)|0;r=0;v=J;return r|0}}while(0);Zt(r,4,16262,W)|0;W=Vt(i)|0;r=(h[G>>2]|0)+8|0;h[r>>2]=W+-2;h[r+4>>2]=0;h[K>>2]=8;r=1;v=J;return r|0}}Zt(r,1,16044,I)|0;r=0;v=J;return r|0}}while(0);Zt(r,1,15839,s)|0;r=0;v=J;return r|0}function Of(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0;C=v;v=v+16|0;L=C;O=h[e+80>>2]|0;R=e+88|0;T=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;k=h[O+16>>2]|0;d=k*1080|0;b=h[e+12>>2]|0;k=ue(k<<2,k)|0;e:do{if(T){w=b+5604|0;_=b+5620|0;m=b+5612|0;p=b+5616|0;g=b+5632|0;y=b+5624|0;E=b+5584|0;S=0;P=h[e+164>>2]|0;i:while(1){l=P+5584|0;A=h[l>>2]|0;Gs(P|0,b|0,5640)|0;i=P+5636|0;c[i>>0]=c[i>>0]&-4;h[P+5168>>2]=0;i=P+5604|0;h[i>>2]=0;s=P+5620|0;h[s>>2]=0;M=P+5612|0;h[M>>2]=0;o=P+5632|0;h[o>>2]=0;u=P+5624|0;h[u>>2]=0;h[l>>2]=A;if(h[w>>2]|0){t=Gn(k)|0;h[i>>2]=t;if(!t){i=0;t=25;break}Gs(t|0,h[w>>2]|0,k|0)|0}i=(h[_>>2]|0)*20|0;t=Gn(i)|0;h[M>>2]=t;if(!t){i=0;t=25;break}Gs(t|0,h[m>>2]|0,i|0)|0;i=h[p>>2]|0;if(i){f=0;a=h[M>>2]|0;l=h[m>>2]|0;while(1){n=l+12|0;if(h[n>>2]|0){i=l+16|0;t=Gn(h[i>>2]|0)|0;h[a+12>>2]=t;if(!t){i=0;t=25;break i}Gs(t|0,h[n>>2]|0,h[i>>2]|0)|0;i=h[p>>2]|0}h[s>>2]=(h[s>>2]|0)+1;f=f+1|0;if(f>>>0>=i>>>0)break;else{a=a+20|0;l=l+20|0}}}i=(h[g>>2]|0)*20|0;t=Gn(i)|0;h[u>>2]=t;if(!t){i=0;t=25;break}Gs(t|0,h[y>>2]|0,i|0)|0;h[o>>2]=h[g>>2];f=h[g>>2]|0;if(f){a=0;t=h[u>>2]|0;n=h[y>>2]|0;while(1){i=h[n+8>>2]|0;if(i)h[t+8>>2]=(h[M>>2]|0)+(((i-(h[m>>2]|0)|0)/20|0)*20|0);i=h[n+12>>2]|0;if(i)h[t+12>>2]=(h[M>>2]|0)+(((i-(h[m>>2]|0)|0)/20|0)*20|0);a=a+1|0;if(a>>>0>=f>>>0)break;else{t=t+20|0;n=n+20|0}}}Gs(A|0,h[E>>2]|0,d|0)|0;S=S+1|0;if(S>>>0>=T>>>0)break e;else P=P+5640|0}if((t|0)==25){v=C;return i|0}}}while(0);t=jr(1)|0;i=e+204|0;h[i>>2]=t;if(!t){r=0;v=C;return r|0}if(Xr(t,O,R)|0){r=1;v=C;return r|0}zr(h[i>>2]|0);h[i>>2]=0;Zt(r,1,8839,L)|0;r=0;v=C;return r|0}function Rf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;y=v;v=v+128|0;p=y+120|0;m=y+112|0;_=y+104|0;w=y+96|0;k=y+88|0;b=y+80|0;d=y+72|0;c=y+64|0;u=y+56|0;o=y+48|0;s=y+40|0;l=y+32|0;a=y+24|0;f=y+16|0;n=y+8|0;t=y;if(!e){v=y;return}cs(12191,17,1,r)|0;h[t>>2]=h[e>>2];es(r,12209,t)|0;h[n>>2]=h[e+4>>2];es(r,12222,n)|0;h[f>>2]=h[e+8>>2];es(r,12234,f)|0;h[a>>2]=h[e+16>>2];es(r,12251,a)|0;if((i|0)>0){f=e+5584|0;a=0;do{n=h[f>>2]|0;h[l>>2]=a;es(r,12262,l)|0;h[s>>2]=h[n+(a*1080|0)>>2];es(r,12276,s)|0;e=n+(a*1080|0)+4|0;h[o>>2]=h[e>>2];es(r,12290,o)|0;h[u>>2]=h[n+(a*1080|0)+8>>2];es(r,12313,u)|0;h[c>>2]=h[n+(a*1080|0)+12>>2];es(r,12329,c)|0;h[d>>2]=h[n+(a*1080|0)+16>>2];es(r,12345,d)|0;h[b>>2]=h[n+(a*1080|0)+20>>2];es(r,12362,b)|0;cs(12377,23,1,r)|0;if(h[e>>2]|0){t=0;do{E=h[n+(a*1080|0)+944+(t<<2)>>2]|0;h[k>>2]=h[n+(a*1080|0)+812+(t<<2)>>2];h[k+4>>2]=E;es(r,12401,k)|0;t=t+1|0}while(t>>>0<(h[e>>2]|0)>>>0)}is(10,r)|0;E=n+(a*1080|0)+24|0;h[w>>2]=h[E>>2];es(r,12410,w)|0;h[_>>2]=h[n+(a*1080|0)+804>>2];es(r,12425,_)|0;cs(12442,20,1,r)|0;if((h[E>>2]|0)!=1){e=(h[e>>2]|0)*3|0;if((e|0)>2){e=e+-2|0;g=8}}else{e=1;g=8}if((g|0)==8){g=0;t=0;do{E=h[n+(a*1080|0)+28+(t<<3)>>2]|0;h[m>>2]=h[n+(a*1080|0)+28+(t<<3)+4>>2];h[m+4>>2]=E;es(r,12401,m)|0;t=t+1|0}while((t|0)!=(e|0))}is(10,r)|0;h[p>>2]=h[n+(a*1080|0)+808>>2];es(r,12463,p)|0;cs(12480,5,1,r)|0;a=a+1|0}while((a|0)!=(i|0))}cs(10321,4,1,r)|0;v=y;return}function Lf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0;S=v;v=v+80|0;p=S+32|0;g=S+24|0;A=S+16|0;E=S+8|0;d=S+64|0;y=S+60|0;c=S+56|0;k=S+52|0;_=S+48|0;w=S+44|0;m=S+40|0;b=S+36|0;h[d>>2]=1;t=Gn(1e3)|0;if(!t){Zt(r,1,12127,S)|0;r=0;v=S;return r|0}M=e+116|0;T=e+112|0;s=e+204|0;o=e+84|0;u=e+8|0;n=1e3;l=0;while(1){if(!(of(e,y,c,k,_,w,m,b,d,i,r)|0)){f=5;break}if(!(h[d>>2]|0)){f=17;break}a=h[c>>2]|0;if(a>>>0>n>>>0){n=Zn(t,a)|0;if(!n){f=9;break}else{t=n;f=a}}else f=n;n=h[y>>2]|0;if(!(uf(e,n,t,a,i,r)|0)){f=11;break}n=n+1|0;a=ue(h[T>>2]|0,h[M>>2]|0)|0;h[g>>2]=n;h[g+4>>2]=a;Zt(r,4,11986,g)|0;a=h[s>>2]|0;if(!(oa(h[(h[h[a+20>>2]>>2]|0)+20>>2]|0,h[a+24>>2]|0,t,h[(h[o>>2]|0)+24>>2]|0)|0)){f=13;break}h[p>>2]=n;Zt(r,4,12016,p)|0;a=Gt(i)|0;if((a|0)==0&(j|0)==0?(h[u>>2]|0)==64:0){f=17;break}l=l+1|0;if((l|0)==(ue(h[T>>2]|0,h[M>>2]|0)|0)){f=17;break}else n=f}if((f|0)==5){Qn(t);r=0;v=S;return r|0}else if((f|0)==9){Qn(t);T=ue(h[T>>2]|0,h[M>>2]|0)|0;h[E>>2]=(h[y>>2]|0)+1;h[E+4>>2]=T;Zt(r,1,11946,E)|0;r=0;v=S;return r|0}else if((f|0)==11){Qn(t);T=ue(h[T>>2]|0,h[M>>2]|0)|0;h[A>>2]=n+1;h[A+4>>2]=T;Zt(r,1,12162,A)|0;r=0;v=S;return r|0}else if((f|0)==13){Qn(t);r=0;v=S;return r|0}else if((f|0)==17){Qn(t);r=1;v=S;return r|0}return 0}function Cf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0;L=v;v=v+96|0;A=L+56|0;P=L+48|0;E=L+40|0;M=L+32|0;O=L+24|0;s=L+16|0;l=L+8|0;w=L+92|0;S=L+88|0;k=L+84|0;m=L+80|0;g=L+76|0;p=L+72|0;y=L+68|0;_=L+64|0;h[w>>2]=1;t=Gn(1e3)|0;if(!t){Zt(r,1,11880,L)|0;R=0;v=L;return R|0}T=e+196|0;f=h[T>>2]|0;n=h[f+40>>2]|0;e:do{if(!n){n=ue(h[e+116>>2]|0,h[e+112>>2]|0)|0;h[f+36>>2]=n;n=Kn(n,40)|0;f=h[T>>2]|0;h[f+40>>2]=n;i:do{if(n){if(h[f+36>>2]|0){a=0;do{h[n+(a*40|0)+28>>2]=100;h[n+(a*40|0)+20>>2]=0;b=Kn(100,24)|0;f=h[T>>2]|0;n=h[f+40>>2]|0;h[n+(a*40|0)+24>>2]=b;a=a+1|0;if(!b)break i}while(a>>>0<(h[f+36>>2]|0)>>>0)}f=h[e+60>>2]|0;if(!n)break e;else{R=12;break e}}}while(0);Qn(t);R=0;v=L;return R|0}else{f=h[e+60>>2]|0;R=12}}while(0);if((R|0)==12)if(h[n+16>>2]|0){if(!(h[n+(f*40|0)+4>>2]|0)){b=e+64|0;b=zs(h[b>>2]|0,h[b+4>>2]|0,2,0)|0;if(!(Pt(i,b,j,r)|0)){Zt(r,1,11918,l)|0;Qn(t);R=0;v=L;return R|0}}else{b=h[n+(f*40|0)+16>>2]|0;b=zs(h[b>>2]|0,h[b+4>>2]|0,2,0)|0;if(!(Pt(i,b,j,r)|0)){Zt(r,1,11918,s)|0;Qn(t);R=0;v=L;return R|0}}n=e+8|0;if((h[n>>2]|0)==256)h[n>>2]=8}e:do{if(of(e,S,k,m,g,p,y,_,w,i,r)|0){d=e+116|0;b=e+112|0;o=e+204|0;u=e+84|0;c=f+1|0;n=1e3;while(1){if(!(h[w>>2]|0))break;s=h[k>>2]|0;if(s>>>0>n>>>0){n=Zn(t,s)|0;if(!n){R=26;break}else{t=n;l=s}}else l=n;a=h[S>>2]|0;if(!(uf(e,a,t,s,i,r)|0)){R=28;break}n=a+1|0;s=ue(h[b>>2]|0,h[d>>2]|0)|0;h[M>>2]=n;h[M+4>>2]=s;Zt(r,4,11986,M)|0;s=h[o>>2]|0;if(!(oa(h[(h[h[s+20>>2]>>2]|0)+20>>2]|0,h[s+24>>2]|0,t,h[(h[u>>2]|0)+24>>2]|0)|0)){R=30;break}h[E>>2]=n;Zt(r,4,12016,E)|0;if((a|0)==(f|0)){R=32;break}h[A>>2]=n;h[A+4>>2]=c;Zt(r,2,12060,A)|0;if(!(of(e,S,k,m,g,p,y,_,w,i,r)|0))break e;else n=l}if((R|0)==26){Qn(t);R=ue(h[b>>2]|0,h[d>>2]|0)|0;h[O>>2]=(h[S>>2]|0)+1;h[O+4>>2]=R;Zt(r,1,11946,O)|0;R=0;v=L;return R|0}else if((R|0)==28){Qn(t);R=0;v=L;return R|0}else if((R|0)==30){Qn(t);R=0;v=L;return R|0}else if((R|0)==32){R=(h[T>>2]|0)+8|0;R=zs(h[R>>2]|0,h[R+4>>2]|0,2,0)|0;if(!(Pt(i,R,j,r)|0)){Zt(r,1,11918,P)|0;Qn(t);R=0;v=L;return R|0}}Qn(t);R=1;v=L;return R|0}}while(0);Qn(t);R=0;v=L;return R|0}function Df(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0;D=v;v=v+32|0;O=D+16|0;m=D+8|0;s=D;P=D+20|0;R=h[e+40>>2]|0;C=e+36|0;u=h[C>>2]|0;c=e+204|0;l=h[c>>2]|0;h[l+16>>2]=0;S=e+8|0;h[S>>2]=0;h[P>>2]=0;vt(u,65424,2);vt(u+2|0,10,2);L=e+200|0;vt(u+4|0,h[L>>2]|0,2);M=e+12|0;vt(u+10|0,h[M>>2]|0,1);T=e+164|0;vt(u+11|0,h[(h[T>>2]|0)+((h[L>>2]|0)*5640|0)+5588>>2]|0,1);h[P>>2]=12;f=u+12|0;t=R+-12|0;o=e+88|0;if(((d[o>>1]|0)+-3&65535)>=4?(n=h[L>>2]|0,a=h[T>>2]|0,(h[a+(n*5640|0)+420>>2]|0)!=0):0){h[P>>2]=0;fa(h[(h[e+80>>2]|0)+16>>2]|0,a,n,f,P);A=h[P>>2]|0;n=A+12|0;f=u+n|0;t=t-A|0}else n=12;h[P>>2]=0;vt(f,65427,2);h[l+4>>2]=h[S>>2];A=h[M>>2]|0;h[l+8>>2]=A;if(!A)h[(h[h[l+20>>2]>>2]|0)+840>>2]=0;h[P>>2]=0;if(!(Jr(l,h[L>>2]|0,f+2|0,P,t+-4|0,0)|0)){Zt(r,1,11860,s)|0;i=0;v=D;return i|0}t=(h[P>>2]|0)+2|0;h[P>>2]=t;t=t+n|0;vt(u+6|0,t,4);if(((d[o>>1]|0)+-3&65535)<4){A=e+28|0;vt(h[A>>2]|0,h[L>>2]|0,1);E=(h[A>>2]|0)+1|0;h[A>>2]=E;vt(E,t,4);h[A>>2]=(h[A>>2]|0)+4}n=u+t|0;A=R-t|0;g=h[c>>2]|0;y=e+88|0;w=h[T>>2]|0;_=h[L>>2]|0;o=sa(y,0,_)|0;E=e+8|0;h[M>>2]=(h[M>>2]|0)+1;e:do{if(o>>>0>1){u=g+4|0;c=g+8|0;b=g+20|0;k=e+28|0;a=n;n=A;t=0;s=1;while(1){h[E>>2]=s;h[P>>2]=0;vt(a,65424,2);vt(a+2|0,10,2);vt(a+4|0,h[L>>2]|0,2);vt(a+10|0,h[M>>2]|0,1);vt(a+11|0,h[(h[T>>2]|0)+((h[L>>2]|0)*5640|0)+5588>>2]|0,1);h[P>>2]=0;vt(a+12|0,65427,2);h[u>>2]=h[S>>2];l=h[M>>2]|0;h[c>>2]=l;if(!l)h[(h[h[b>>2]>>2]|0)+840>>2]=0;h[P>>2]=0;if(!(Jr(g,h[L>>2]|0,a+14|0,P,n+-16|0,0)|0))break;x=h[P>>2]|0;I=x+2|0;h[P>>2]=I;l=x+14|0;f=a+l|0;t=t+12+I|0;n=n+-12+(-2-x)|0;vt(a+6|0,l,4);if(((d[y>>1]|0)+-3&65535)<4){vt(h[k>>2]|0,h[L>>2]|0,1);I=(h[k>>2]|0)+1|0;h[k>>2]=I;vt(I,l,4);h[k>>2]=(h[k>>2]|0)+4}h[M>>2]=(h[M>>2]|0)+1;s=s+1|0;if(s>>>0>=o>>>0){p=12;break e}else a=f}Zt(r,1,11860,m)|0}else{f=n;n=A;t=0;p=12}}while(0);e:do{if((p|0)==12){b=w+(_*5640|0)+420|0;i:do{if(h[b>>2]|0){k=g+16|0;w=g+4|0;_=g+8|0;m=g+20|0;c=e+28|0;u=1;r:while(1){h[k>>2]=u;o=sa(y,u,h[L>>2]|0)|0;if(o){s=0;while(1){h[E>>2]=s;h[P>>2]=0;vt(f,65424,2);vt(f+2|0,10,2);vt(f+4|0,h[L>>2]|0,2);vt(f+10|0,h[M>>2]|0,1);vt(f+11|0,h[(h[T>>2]|0)+((h[L>>2]|0)*5640|0)+5588>>2]|0,1);h[P>>2]=0;vt(f+12|0,65427,2);h[w>>2]=h[S>>2];I=h[M>>2]|0;h[_>>2]=I;if(!I)h[(h[h[m>>2]>>2]|0)+840>>2]=0;h[P>>2]=0;if(!(Jr(g,h[L>>2]|0,f+14|0,P,n+-16|0,0)|0))break r;I=h[P>>2]|0;a=I+2|0;h[P>>2]=a;t=t+12+a|0;a=I+14|0;l=f+a|0;n=n+-12+(-2-I)|0;vt(f+6|0,a,4);if(((d[y>>1]|0)+-3&65535)<4){vt(h[c>>2]|0,h[L>>2]|0,1);I=(h[c>>2]|0)+1|0;h[c>>2]=I;vt(I,a,4);h[c>>2]=(h[c>>2]|0)+4}h[M>>2]=(h[M>>2]|0)+1;s=s+1|0;if(s>>>0>=o>>>0){f=l;break}else f=l}}u=u+1|0;if(u>>>0>(h[b>>2]|0)>>>0)break i}Zt(r,1,11860,O)|0;break e}}while(0);I=t-A+R|0;if((Xt(i,h[C>>2]|0,I,r)|0)!=(I|0)){I=0;v=D;return I|0}h[L>>2]=(h[L>>2]|0)+1;I=1;v=D;return I|0}}while(0);I=0;v=D;return I|0}function xf(e,i,r){e=e|0;i=i|0;r=r|0;e=e+44|0;vt(h[e>>2]|0,65497,2);if((Xt(i,h[e>>2]|0,2,r)|0)!=2){i=0;return i|0}i=(zt(i,r)|0)!=0&1;return i|0}function If(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;f=(h[e+32>>2]|0)*5|0;l=e+16|0;l=zs(h[l>>2]|0,h[l+4>>2]|0,6,0)|0;a=j;t=Vt(i)|0;n=j;if(!(Wt(i,l,a,r)|0)){l=0;return l|0}if((Xt(i,h[e+24>>2]|0,f,r)|0)!=(f|0)){l=0;return l|0}l=(Wt(i,t,n,r)|0)!=0&1;return l|0}function Bf(e,i,r){e=e|0;i=i|0;r=r|0;e=h[e+196>>2]|0;if(!e)return 1;i=Vt(i)|0;r=e;r=Hs(i|0,j|0,h[r>>2]|0,h[r+4>>2]|0)|0;i=e+16|0;h[i>>2]=r;h[i+4>>2]=j;return 1}function Nf(e,i,r){e=e|0;i=i|0;r=r|0;r=e+204|0;zr(h[r>>2]|0);h[r>>2]=0;r=e+24|0;i=h[r>>2]|0;if(i){Qn(i);h[r>>2]=0;h[e+28>>2]=0}r=e+36|0;i=h[r>>2]|0;if(!i){e=e+40|0;h[e>>2]=0;return 1}Qn(i);h[r>>2]=0;e=e+40|0;h[e>>2]=0;return 1}function Ff(e,i,r){e=e|0;i=i|0;r=r|0;r=e+44|0;i=h[r>>2]|0;if(i){Qn(i);h[r>>2]=0}h[e+48>>2]=0;return 1}function Uf(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+32|0;t=(h[e+8>>2]|0)==0&(h[e+188>>2]|0)!=0&(h[e+192>>2]|0)!=0&1;i=(h[(h[(h[e+164>>2]|0)+5584>>2]|0)+4>>2]|0)+-1|0;if(i>>>0>31){Zt(r,1,11790,n)|0;r=0;v=n;return r|0}i=1<>2]|0)>>>0>>0){Zt(r,1,11790,n+8|0)|0;r=0;v=n;return r|0}if((h[e+104>>2]|0)>>>0>=i>>>0){r=t;v=n;return r|0}Zt(r,1,11790,n+16|0)|0;r=0;v=n;return r|0}function Hf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;if((d[e+88>>1]&-32256)<<16>>16!=-32256){l=1;return l|0}a=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;if(!a){l=1;return l|0}f=e+80|0;l=0;r=1;n=h[e+164>>2]|0;while(1){if((h[n+16>>2]|0)==2){r=(h[n+5608>>2]|0)!=0&r;e=h[(h[f>>2]|0)+16>>2]|0;if(e){t=0;i=h[n+5584>>2]|0;while(1){r=(h[i+20>>2]&1^1)&r;t=t+1|0;if(t>>>0>=e>>>0)break;else i=i+1080|0}}}l=l+1|0;if((l|0)==(a|0))break;else n=n+5640|0}return r|0}function Yf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;f=e+88|0;a=e+32|0;l=h[e+80>>2]|0;s=ue(h[e+116>>2]|0,h[e+112>>2]|0)|0;h[a>>2]=0;if(!s)return 1;t=h[e+164>>2]|0;n=0;while(1){xr(l,f,n);i=t+420|0;r=0;e=0;do{o=sa(f,e,n)|0;h[a>>2]=(h[a>>2]|0)+o;r=o+r|0;e=e+1|0}while(e>>>0<=(h[i>>2]|0)>>>0);h[t+5588>>2]=r;n=n+1|0;if((n|0)==(s|0))break;else t=t+5640|0}return 1}function qf(e,i,r){e=e|0;i=i|0;r=r|0;e=h[e+44>>2]|0;vt(e,65359,2);return(Xt(i,e,2,r)|0)==2|0}function Xf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;d=v;v=v+16|0;a=d;l=h[e+80>>2]|0;u=l+16|0;s=(h[u>>2]|0)*3|0;c=s+40|0;t=h[l+24>>2]|0;f=e+48|0;o=e+44|0;n=h[o>>2]|0;do{if(c>>>0>(h[f>>2]|0)>>>0){n=Zn(n,c)|0;if(n){h[o>>2]=n;h[f>>2]=c;break}Qn(h[o>>2]|0);h[o>>2]=0;h[f>>2]=0;Zt(r,1,11752,a)|0;i=0;v=d;return i|0}}while(0);vt(n,65361,2);vt(n+2|0,s+38|0,2);vt(n+4|0,k[e+88>>1]|0,2);vt(n+6|0,h[l+8>>2]|0,4);vt(n+10|0,h[l+12>>2]|0,4);vt(n+14|0,h[l>>2]|0,4);vt(n+18|0,h[l+4>>2]|0,4);vt(n+22|0,h[e+100>>2]|0,4);vt(n+26|0,h[e+104>>2]|0,4);vt(n+30|0,h[e+92>>2]|0,4);vt(n+34|0,h[e+96>>2]|0,4);vt(n+38|0,h[u>>2]|0,2);if(h[u>>2]|0){f=0;n=n+40|0;while(1){vt(n,(h[t+24>>2]|0)+-1+(h[t+32>>2]<<7)|0,1);vt(n+1|0,h[t>>2]|0,1);vt(n+2|0,h[t+4>>2]|0,1);f=f+1|0;if(f>>>0>=(h[u>>2]|0)>>>0)break;else{n=n+3|0;t=t+52|0}}}i=(Xt(i,h[o>>2]|0,c,r)|0)==(c|0)&1;v=d;return i|0}function zf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;w=v;v=v+32|0;k=w+16|0;b=w+8|0;l=w;d=w+20|0;s=e+200|0;o=h[s>>2]|0;u=e+164|0;c=h[u>>2]|0;t=h[c+(o*5640|0)+5584>>2]|0;if(!(h[t>>2]&1))f=5;else f=(h[t+4>>2]|0)+5|0;a=f+9|0;h[d>>2]=a;n=e+48|0;e=e+44|0;t=h[e>>2]|0;do{if(a>>>0>(h[n>>2]|0)>>>0){t=Zn(t,a)|0;if(t){h[e>>2]=t;h[n>>2]=a;break}Qn(h[e>>2]|0);h[e>>2]=0;h[n>>2]=0;Zt(r,1,11687,l)|0;k=0;v=w;return k|0}}while(0);vt(t,65362,2);vt(t+2|0,f+7|0,2);vt(t+4|0,h[c+(o*5640|0)>>2]|0,1);vt(t+5|0,h[c+(o*5640|0)+4>>2]|0,1);vt(t+6|0,h[c+(o*5640|0)+8>>2]|0,2);vt(t+8|0,h[c+(o*5640|0)+16>>2]|0,1);h[d>>2]=f;if(!(la(h[u>>2]|0,h[s>>2]|0,t+9|0,d,r)|0)){Zt(r,1,11726,b)|0;k=0;v=w;return k|0}if(!(h[d>>2]|0)){k=(Xt(i,h[e>>2]|0,a,r)|0)==(a|0)&1;v=w;return k|0}else{Zt(r,1,11726,k)|0;k=0;v=w;return k|0}return 0}function Vf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;b=v;v=v+32|0;d=b+16|0;c=b+8|0;l=b;o=b+20|0;s=e+200|0;u=e+164|0;t=h[(h[u>>2]|0)+((h[s>>2]|0)*5640|0)+5584>>2]|0;n=h[t+24>>2]|0;if((n|0)==1)t=1;else t=((h[t+4>>2]|0)*3|0)+-2|0;f=(n|0)==0?t+1|0:t<<1|1;a=f+4|0;h[o>>2]=a;n=e+48|0;e=e+44|0;t=h[e>>2]|0;do{if(a>>>0>(h[n>>2]|0)>>>0){t=Zn(t,a)|0;if(t){h[e>>2]=t;h[n>>2]=a;break}Qn(h[e>>2]|0);h[e>>2]=0;h[n>>2]=0;Zt(r,1,11622,l)|0;d=0;v=b;return d|0}}while(0);vt(t,65372,2);vt(t+2|0,f+2|0,2);h[o>>2]=f;if(!(aa(h[u>>2]|0,h[s>>2]|0,0,t+4|0,o,r)|0)){Zt(r,1,11661,c)|0;d=0;v=b;return d|0}if(!(h[o>>2]|0)){d=(Xt(i,h[e>>2]|0,a,r)|0)==(a|0)&1;v=b;return d|0}else{Zt(r,1,11661,d)|0;d=0;v=b;return d|0}return 0}function Gf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;y=v;v=v+16|0;p=y;w=y+4|0;d=e+80|0;t=h[(h[d>>2]|0)+16>>2]|0;if(t>>>0<=1){g=1;v=y;return g|0}_=e+164|0;m=e+200|0;k=e+48|0;c=e+44|0;u=1;while(1){a=h[_>>2]|0;s=h[m>>2]|0;f=h[a+(s*5640|0)+5584>>2]|0;l=h[f+(u*1080|0)>>2]|0;e:do{if((((((h[f>>2]|0)==(l|0)?(b=h[f+4>>2]|0,(b|0)==(h[f+(u*1080|0)+4>>2]|0)):0)?(h[f+8>>2]|0)==(h[f+(u*1080|0)+8>>2]|0):0)?(h[f+12>>2]|0)==(h[f+(u*1080|0)+12>>2]|0):0)?(h[f+16>>2]|0)==(h[f+(u*1080|0)+16>>2]|0):0)?(h[f+20>>2]|0)==(h[f+(u*1080|0)+20>>2]|0):0){if(b){e=0;do{if((h[f+812+(e<<2)>>2]|0)!=(h[f+(u*1080|0)+812+(e<<2)>>2]|0)){g=13;break e}if((h[f+944+(e<<2)>>2]|0)!=(h[f+(u*1080|0)+944+(e<<2)>>2]|0)){g=13;break e}e=e+1|0}while(e>>>0>>0)}}else g=13}while(0);if((g|0)==13){g=0;if(!(l&1))e=5;else e=(h[f+(u*1080|0)+4>>2]|0)+5|0;o=e+(t>>>0<257?6:7)|0;n=h[c>>2]|0;if(o>>>0>(h[k>>2]|0)>>>0){e=Zn(n,o)|0;if(!e){g=17;break}h[c>>2]=e;h[k>>2]=o;s=h[m>>2]|0;a=h[_>>2]|0;f=h[a+(s*5640|0)+5584>>2]|0;t=h[(h[d>>2]|0)+16>>2]|0;l=h[f+(u*1080|0)>>2]|0;n=e}t=t>>>0<257?1:2;if(!(l&1))e=5;else e=(h[f+(u*1080|0)+4>>2]|0)+5|0;vt(n,65363,2);vt(n+2|0,t+3+e|0,2);vt(n+4|0,u,t);l=t|4;vt(n+l|0,h[(h[a+(s*5640|0)+5584>>2]|0)+(u*1080|0)>>2]|0,1);h[w>>2]=e;la(h[_>>2]|0,h[m>>2]|0,n+(l+1)|0,w,r)|0;if((Xt(i,h[c>>2]|0,o,r)|0)!=(o|0)){e=0;g=24;break}t=h[(h[d>>2]|0)+16>>2]|0}u=u+1|0;if(u>>>0>=t>>>0){e=1;g=24;break}}if((g|0)==17){Qn(h[c>>2]|0);h[c>>2]=0;h[k>>2]=0;Zt(r,1,11548,p)|0;g=0;v=y;return g|0}else if((g|0)==24){v=y;return e|0}return 0}function Kf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0;m=v;v=v+16|0;w=m;d=m+4|0;u=e+80|0;t=h[(h[u>>2]|0)+16>>2]|0;if(t>>>0<=1){_=1;v=m;return _|0}b=e+164|0;k=e+200|0;c=e+48|0;o=e+44|0;s=1;while(1){l=h[(h[b>>2]|0)+((h[k>>2]|0)*5640|0)+5584>>2]|0;f=h[l+24>>2]|0;a=h[l+(s*1080|0)+24>>2]|0;e:do{if((f|0)==(a|0)?(h[l+804>>2]|0)==(h[l+(s*1080|0)+804>>2]|0):0){if((f|0)!=1){n=(h[l+4>>2]|0)*3|0;e=n+-2|0;if((n|0)!=((h[l+(s*1080|0)+4>>2]|0)*3|0)){_=14;break}if(!e)break}else e=1;n=0;do{if((h[l+28+(n<<3)>>2]|0)!=(h[l+(s*1080|0)+28+(n<<3)>>2]|0)){_=14;break e}n=n+1|0}while(n>>>0>>0);if(f){n=0;do{if((h[l+28+(n<<3)+4>>2]|0)!=(h[l+(s*1080|0)+28+(n<<3)+4>>2]|0)){_=14;break e}n=n+1|0}while(n>>>0>>0)}}else _=14}while(0);if((_|0)==14){_=0;if((a|0)==1)e=1;else e=((h[l+(s*1080|0)+4>>2]|0)*3|0)+-2|0;f=((a|0)==0?e+1|0:e<<1|1)+5+(t>>>0>256&1)|0;e=h[o>>2]|0;if(f>>>0>(h[c>>2]|0)>>>0){e=Zn(e,f)|0;if(!e){_=18;break}h[o>>2]=e;h[c>>2]=f;t=h[(h[b>>2]|0)+((h[k>>2]|0)*5640|0)+5584>>2]|0;n=h[t+(s*1080|0)+24>>2]|0}else{n=a;t=l}if((n|0)==1)t=1;else t=((h[t+(s*1080|0)+4>>2]|0)*3|0)+-2|0;n=(n|0)==0?t+1|0:t<<1|1;h[d>>2]=n+6;vt(e,65373,2);t=e+2|0;if((h[(h[u>>2]|0)+16>>2]|0)>>>0<257){vt(t,n+3|0,2);vt(e+4|0,s,1);e=e+5|0}else{vt(t,n+4|0,2);vt(e+4|0,s,2);e=e+6|0}h[d>>2]=n;aa(h[b>>2]|0,h[k>>2]|0,s,e,d,r)|0;if((Xt(i,h[o>>2]|0,f,r)|0)!=(f|0)){e=0;_=28;break}t=h[(h[u>>2]|0)+16>>2]|0}s=s+1|0;if(s>>>0>=t>>>0){e=1;_=28;break}}if((_|0)==18){Qn(h[o>>2]|0);h[o>>2]=0;h[c>>2]=0;Zt(r,1,11476,w)|0;_=0;v=m;return _|0}else if((_|0)==28){v=m;return e|0}return 0}function Wf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+16|0;f=o;a=(h[e+32>>2]|0)*5|0;l=a+6|0;n=e+48|0;s=e+44|0;t=h[s>>2]|0;do{if(l>>>0>(h[n>>2]|0)>>>0){t=Zn(t,l)|0;if(t){h[s>>2]=t;h[n>>2]=l;break}Qn(h[s>>2]|0);h[s>>2]=0;h[n>>2]=0;Zt(r,1,11437,f)|0;i=0;v=o;return i|0}}while(0);f=Vt(i)|0;e=e+16|0;h[e>>2]=f;h[e+4>>2]=j;vt(t,65365,2);vt(t+2|0,a+4|0,2);vt(t+4|0,0,1);vt(t+5|0,80,1);i=(Xt(i,h[s>>2]|0,l,r)|0)==(l|0)&1;v=o;return i|0}function Jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;k=v;v=v+16|0;l=k;b=k+4|0;h[b>>2]=0;u=e+200|0;t=h[u>>2]|0;o=e+164|0;n=h[o>>2]|0;s=e+80|0;a=h[(h[s>>2]|0)+16>>2]|0;d=(ue(a>>>0<257?7:9,(h[n+(t*5640|0)+420>>2]|0)+1|0)|0)+4|0;f=e+48|0;c=e+44|0;e=h[c>>2]|0;do{if(d>>>0>(h[f>>2]|0)>>>0){t=Zn(e,d)|0;if(t){h[c>>2]=t;h[f>>2]=d;f=t;e=h[(h[s>>2]|0)+16>>2]|0;n=h[o>>2]|0;t=h[u>>2]|0;break}Qn(h[c>>2]|0);h[c>>2]=0;h[f>>2]=0;Zt(r,1,11398,l)|0;i=0;v=k;return i|0}else{f=e;e=a}}while(0);fa(e,n,t,f,b);i=(Xt(i,h[c>>2]|0,d,r)|0)==(d|0)&1;v=k;return i|0}function Zf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0;l=e+164|0;s=e+80|0;n=h[s>>2]|0;t=h[n+16>>2]|0;if(!t){i=1;return i|0}a=e+44|0;e=0;f=h[(h[l>>2]|0)+5584>>2]|0;while(1){if(h[f+808>>2]|0){o=h[(h[l>>2]|0)+5584>>2]|0;c=t>>>0<257?1:2;n=c+6|0;u=h[a>>2]|0;vt(u,65374,2);t=c|4;vt(u+2|0,t,2);vt(u+4|0,e,c);vt(u+t|0,0,1);vt(u+(t+1)|0,h[o+(e*1080|0)+808>>2]|0,1);if((Xt(i,h[a>>2]|0,n,r)|0)!=(n|0)){e=0;t=7;break}n=h[s>>2]|0}e=e+1|0;t=h[n+16>>2]|0;if(e>>>0>=t>>>0){e=1;t=7;break}else f=f+1080|0}if((t|0)==7)return e|0;return 0}function Qf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+16|0;f=o;a=h[e+108>>2]|0;l=Es(a)|0;s=l+6|0;t=e+48|0;n=e+44|0;e=h[n>>2]|0;do{if(s>>>0>(h[t>>2]|0)>>>0){e=Zn(e,s)|0;if(e){h[n>>2]=e;h[t>>2]=s;break}Qn(h[n>>2]|0);h[n>>2]=0;h[t>>2]=0;Zt(r,1,11355,f)|0;i=0;v=o;return i|0}}while(0);vt(e,65380,2);vt(e+2|0,l+4|0,2);vt(e+4|0,1,2);Gs(e+6|0,a|0,l|0)|0;i=(Xt(i,h[n>>2]|0,s,r)|0)==(s|0)&1;v=o;return i|0}function $f(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0;T=v;v=v+32|0;y=T+24|0;m=T+16|0;d=T+8|0;n=T;a=h[e+80>>2]|0;l=a+16|0;f=h[l>>2]|0;s=f+6|0;g=e+48|0;M=e+44|0;t=h[M>>2]|0;do{if(s>>>0>(h[g>>2]|0)>>>0){t=Zn(t,s)|0;if(t){h[M>>2]=t;h[g>>2]=s;break}Qn(h[M>>2]|0);h[M>>2]=0;h[g>>2]=0;Zt(r,1,11199,n)|0;i=0;v=T;return i|0}}while(0);vt(t,65400,2);vt(t+2|0,f+4|0,2);vt(t+4|0,h[l>>2]|0,2);if(h[l>>2]|0){f=0;n=h[a+24>>2]|0;t=t+6|0;while(1){vt(t,(h[n+24>>2]|0)+-1|h[n+32>>2]<<7,1);f=f+1|0;if(f>>>0>=(h[l>>2]|0)>>>0)break;else{n=n+52|0;t=t+1|0}}}if((Xt(i,h[M>>2]|0,s,r)|0)!=(s|0)){i=0;v=T;return i|0}k=e+200|0;u=h[k>>2]|0;w=e+164|0;o=h[w>>2]|0;n=o+(u*5640|0)+5616|0;e:do{if(h[n>>2]|0){s=0;e=h[o+(u*5640|0)+5612>>2]|0;while(1){f=e+16|0;a=h[f>>2]|0;l=a+10|0;t=h[M>>2]|0;if(l>>>0>(h[g>>2]|0)>>>0){t=Zn(t,l)|0;if(!t)break;h[M>>2]=t;h[g>>2]=l}vt(t,65396,2);vt(t+2|0,a+8|0,2);vt(t+4|0,0,2);vt(t+6|0,h[e+4>>2]<<8|h[e+8>>2]&255|h[e>>2]<<10,2);vt(t+8|0,0,2);Gs(t+10|0,h[e+12>>2]|0,h[f>>2]|0)|0;if((Xt(i,h[M>>2]|0,l,r)|0)!=(l|0)){_=0;E=42;break}s=s+1|0;if(s>>>0>=(h[n>>2]|0)>>>0)break e;else e=e+20|0}if((E|0)==42){v=T;return _|0}Qn(h[M>>2]|0);h[M>>2]=0;h[g>>2]=0;Zt(r,1,11238,d)|0;i=0;v=T;return i|0}}while(0);d=o+(u*5640|0)+5628|0;e:do{if(h[d>>2]|0){b=0;o=h[o+(u*5640|0)+5624>>2]|0;while(1){s=o+4|0;n=h[s>>2]|0;a=n>>>0>255;l=a?2:1;a=a?32768:0;n=ue(l,n<<1)|0;e=n+19|0;t=h[M>>2]|0;if(e>>>0>(h[g>>2]|0)>>>0){t=Zn(t,e)|0;if(!t)break;h[M>>2]=t;h[g>>2]=e}vt(t,65397,2);vt(t+2|0,n+17|0,2);vt(t+4|0,0,2);vt(t+6|0,h[o>>2]|0,1);vt(t+7|0,0,2);vt(t+9|0,1,2);vt(t+11|0,1,1);vt(t+12|0,h[s>>2]|a,2);t=t+14|0;if(!(h[s>>2]|0))n=0;else{f=0;do{vt(t,f,l);t=t+l|0;f=f+1|0;n=h[s>>2]|0}while(f>>>0>>0)}vt(t,n|a,2);t=t+2|0;if(!(h[s>>2]|0))f=t;else{n=0;do{vt(t,n,l);t=t+l|0;n=n+1|0}while(n>>>0<(h[s>>2]|0)>>>0);f=t}t=((c[o+16>>0]^1)&255)<<16&65536;n=h[o+8>>2]|0;if(n)t=h[n+8>>2]|t;n=h[o+12>>2]|0;if(n)t=h[n+8>>2]<<8|t;vt(f,t,3);if((Xt(i,h[M>>2]|0,e,r)|0)!=(e|0)){_=0;E=42;break}b=b+1|0;if(b>>>0>=(h[d>>2]|0)>>>0)break e;else o=o+20|0}if((E|0)==42){v=T;return _|0}Qn(h[M>>2]|0);h[M>>2]=0;h[g>>2]=0;Zt(r,1,11277,m)|0;i=0;v=T;return i|0}}while(0);l=h[k>>2]|0;a=h[w>>2]|0;s=a+(l*5640|0)+5628|0;n=h[s>>2]|0;e=n+5|0;t=h[M>>2]|0;do{if(e>>>0>(h[g>>2]|0)>>>0){t=Zn(t,e)|0;if(!t){Qn(h[M>>2]|0);h[M>>2]=0;h[g>>2]=0;Zt(r,1,11316,y)|0;p=1;break}else{h[M>>2]=t;h[g>>2]=e;A=t;E=37;break}}else{A=t;E=37}}while(0);if((E|0)==37){vt(A,65399,2);vt(A+2|0,n+3|0,2);vt(A+4|0,h[s>>2]|0,1);if(h[s>>2]|0){f=0;n=A+5|0;t=h[a+(l*5640|0)+5624>>2]|0;while(1){vt(n,h[t>>2]|0,1);f=f+1|0;if(f>>>0>=(h[s>>2]|0)>>>0)break;else{n=n+1|0;t=t+20|0}}}p=(Xt(i,h[M>>2]|0,e,r)|0)!=(e|0)}i=p&1^1;v=T;return i|0}function ea(e,i,r){e=e|0;i=i|0;r=r|0;r=Vt(i)|0;i=(h[e+196>>2]|0)+8|0;h[i>>2]=r;h[i+4>>2]=j;return 1}function ia(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+16|0;i=jr(0)|0;t=e+204|0;h[t>>2]=i;if(!i){Zt(r,1,11159,n)|0;r=0;v=n;return r|0}if(Xr(i,h[e+80>>2]|0,e+88|0)|0){r=1;v=n;return r|0}zr(h[t>>2]|0);h[t>>2]=0;r=0;v=n;return r|0}function ra(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0.0,u=0,b=0,k=0,w=0,m=0,p=0.0,v=0,g=0,y=0.0,E=0.0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0.0,C=0.0,D=0.0,x=0.0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0;U=e+80|0;O=h[U>>2]|0;H=e+164|0;n=h[H>>2]|0;F=O+24|0;R=h[F>>2]|0;r=h[R>>2]|0;t=h[R+4>>2]|0;N=O+16|0;R=ue(h[R+24>>2]|0,h[N>>2]|0)|0;P=Vt(i)|0;k=e+116|0;l=h[k>>2]|0;w=e+112|0;i=h[w>>2]|0;L=(+(P>>>0)+4294967296.0*+(j|0))/+((ue(i,l)|0)>>>0);P=(c[e+181>>0]&8)==0?1:2;if(l){m=e+92|0;v=e+100|0;g=e+96|0;A=e+104|0;M=O+4|0;T=O+8|0;S=O+12|0;E=+((ue(r<<3,t)|0)>>>0);s=i;r=i;b=0;i=n;do{u=b;b=b+1|0;if(!r)r=0;else{s=0;do{y=+Lo[P&3](i);l=h[i+8>>2]|0;y=y/+(l>>>0);Y=h[m>>2]|0;n=h[v>>2]|0;a=(ue(n,s)|0)+Y|0;r=h[O>>2]|0;r=(a|0)>(r|0)?a:r;a=h[g>>2]|0;f=h[A>>2]|0;q=(ue(f,u)|0)+a|0;t=h[M>>2]|0;t=(q|0)>(t|0)?q:t;s=s+1|0;Y=(ue(n,s)|0)+Y|0;n=h[T>>2]|0;n=(Y|0)<(n|0)?Y:n;a=(ue(f,b)|0)+a|0;f=h[S>>2]|0;f=(a|0)<(f|0)?a:f;a=i+20|0;o=+_[a>>2];if(o!=0.0){p=+((ue(ue(n-r|0,R)|0,f-t|0)|0)>>>0)/(E*o)-y;_[a>>2]=p}if(l>>>0>1){o=+((ue(ue(n-r|0,R)|0,f-t|0)|0)>>>0);r=1;t=i+24|0;while(1){p=+_[t>>2];if(p!=0.0)_[t>>2]=o/(E*p)-y;r=r+1|0;if(r>>>0>=l>>>0)break;else t=t+4|0}}i=i+5640|0;r=h[w>>2]|0}while(s>>>0>>0);l=h[k>>2]|0;s=r}}while(b>>>0>>0);if(!l)l=0;else{m=(s|0)==0;p=L+2.0;g=s>>>0>1?s:1;v=0;r=h[H>>2]|0;do{if(!m){b=r+16|0;k=0;w=r;while(1){i=w+20|0;o=+_[i>>2];if(o!=0.0?(E=o-L,_[i>>2]=E,E<30.0):0)_[i>>2]=30.0;f=w+24|0;i=h[w+8>>2]|0;u=i+-1|0;o=+_[f>>2];t=o!=0.0;if(u>>>0>1){a=b+(i<<2)|0;n=1;i=f;do{if(t?(E=o-L,_[i>>2]=E,D=+_[i+-4>>2],E>2]=D+20.0;i=i+4|0;n=n+1|0;o=+_[i>>2];t=o!=0.0}while((n|0)!=(u|0));if(t){C=o;I=a;B=29}}else if(t){C=o;I=f;B=29}if((B|0)==29?(B=0,E=C-p,_[I>>2]=E,x=+_[I+-4>>2],E>2]=x+20.0;k=k+1|0;if(k>>>0>=s>>>0)break;else{b=b+5640|0;w=w+5640|0}}r=r+(g*5640|0)|0}v=v+1|0}while(v>>>0>>0)}}else{s=i;l=0}t=h[N>>2]|0;if(!t)v=0;else{n=(h[e+100>>2]|0)+-1|0;f=(h[e+104>>2]|0)+-1|0;a=0;i=h[F>>2]|0;r=0;while(1){q=h[i>>2]|0;Y=h[i+4>>2]|0;q=ue(((f+Y|0)>>>0)/(Y>>>0)|0,((n+q|0)>>>0)/(q>>>0)|0)|0;r=(ue(q,h[i+24>>2]|0)|0)+r|0;a=a+1|0;if(a>>>0>=t>>>0)break;else i=i+52|0}v=~~(+(r>>>0)*.1625)>>>0}u=h[(h[U>>2]|0)+16>>2]|0;k=u+-1|0;m=ue(l,s)|0;b=(m|0)==0;if(b)n=0;else{i=0;r=0;t=h[H>>2]|0;while(1){q=h[t+5588>>2]|0;r=r>>>0>q>>>0?r:q;i=i+1|0;if((i|0)==(m|0))break;else t=t+5640|0}n=r*12|0}w=e+88|0;if(((d[w>>1]|0)+-3&65535)>=4){if(b){i=0;r=0}else{s=(u|0)==0;a=0;r=0;do{if(!s){t=h[(h[H>>2]|0)+(a*5640|0)+5584>>2]|0;f=0;do{if(!(h[t+(f*1080|0)>>2]&1))i=5;else i=(h[t+(f*1080|0)+4>>2]|0)+5|0;r=r>>>0>i>>>0?r:i;f=f+1|0}while((f|0)!=(u|0))}a=a+1|0}while((a|0)!=(m|0));l=0;i=0;do{if(!s){f=h[(h[H>>2]|0)+(l*5640|0)+5584>>2]|0;a=0;do{if(!(h[f+(a*1080|0)>>2]&1))t=5;else t=(h[f+(a*1080|0)+4>>2]|0)+5|0;i=i>>>0>t>>>0?i:t;a=a+1|0}while((a|0)!=(u|0))}l=l+1|0}while((l|0)!=(m|0))}n=(ue(r+12+i|0,k)|0)+n|0}if(b)r=13;else{t=0;r=0;i=h[H>>2]|0;while(1){q=h[i+420>>2]|0;r=r>>>0>q>>>0?r:q;t=t+1|0;if((t|0)==(m|0))break;else i=i+5640|0}r=(r*9|0)+13|0}q=n+v+r|0;h[e+40>>2]=q;q=Gn(q)|0;h[e+36>>2]=q;if(!q){q=0;return q|0}if(((d[w>>1]|0)+-3&65535)>=4){q=1;return q|0}r=Gn((h[e+32>>2]|0)*5|0)|0;h[e+24>>2]=r;if(!r){q=0;return q|0}h[e+28>>2]=r;q=1;return q|0}function ta(e){e=e|0;return 0.0}function na(e){e=e|0;return+ +((((h[e+5588>>2]|0)*14|0)+-14|0)>>>0)}function fa(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0;f=h[i+(r*5640|0)+5584>>2]|0;w=(h[i+(r*5640|0)+420>>2]|0)+1|0;s=e>>>0<257?1:2;k=ue(w,(s<<1)+5|0)|0;_=k+4|0;vt(t,65375,2);vt(t+2|0,k+2|0,2);if(!w){h[n>>2]=_;return}o=s+1|0;u=s+3|0;c=s|4;d=c+s|0;b=d+1|0;k=i+(r*5640|0)+8|0;a=f+4|0;l=0;t=t+4|0;f=i+(r*5640|0)+424|0;while(1){vt(t,h[f>>2]|0,1);vt(t+1|0,h[f+4>>2]|0,s);p=f+8|0;vt(t+o|0,h[p>>2]|0,2);i=f+12|0;vt(t+u|0,h[i>>2]|0,1);r=f+16|0;vt(t+c|0,h[r>>2]|0,s);vt(t+d|0,h[f+36>>2]|0,1);v=h[p>>2]|0;m=h[k>>2]|0;h[p>>2]=(v|0)<(m|0)?v:m;p=h[i>>2]|0;m=h[a>>2]|0;h[i>>2]=(p|0)<(m|0)?p:m;i=h[r>>2]|0;h[r>>2]=(i|0)<(e|0)?i:e;l=l+1|0;if((l|0)==(w|0))break;else{t=t+b|0;f=f+148|0}}h[n>>2]=_;return}function aa(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0;c=v;v=v+16|0;s=c+8|0;l=c;o=h[e+(i*5640|0)+5584>>2]|0;i=h[o+(r*1080|0)+24>>2]|0;do{if((i|0)!=1){e=(h[o+(r*1080|0)+4>>2]|0)*3|0;a=e+-2|0;if(!i){e=e+-1|0;if((h[n>>2]|0)>>>0>>0){Zt(f,1,11515,l)|0;n=0;v=c;return n|0}else{vt(t,h[o+(r*1080|0)+804>>2]<<5,1);if(!a)break;else i=0;do{t=t+1|0;vt(t,h[o+(r*1080|0)+28+(i<<3)>>2]<<3,1);i=i+1|0}while((i|0)!=(a|0))}}else u=7}else{a=1;i=1;u=7}}while(0);if((u|0)==7){e=a<<1|1;if((h[n>>2]|0)>>>0>>0){Zt(f,1,11515,s)|0;n=0;v=c;return n|0}vt(t,(h[o+(r*1080|0)+804>>2]<<5)+i|0,1);if(a){t=t+1|0;i=0;while(1){vt(t,(h[o+(r*1080|0)+28+(i<<3)>>2]<<11)+(h[o+(r*1080|0)+28+(i<<3)+4>>2]|0)|0,2);i=i+1|0;if((i|0)==(a|0))break;else t=t+2|0}}}h[n>>2]=(h[n>>2]|0)-e;n=1;v=c;return n|0}function la(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=v;v=v+16|0;f=h[e+(i*5640|0)+5584>>2]|0;if((h[t>>2]|0)>>>0<5){Zt(n,1,11587,l)|0;t=0;v=l;return t|0}a=f+4|0;vt(r,(h[a>>2]|0)+-1|0,1);vt(r+1|0,(h[f+8>>2]|0)+-2|0,1);vt(r+2|0,(h[f+12>>2]|0)+-2|0,1);vt(r+3|0,h[f+16>>2]|0,1);vt(r+4|0,h[f+20>>2]|0,1);i=(h[t>>2]|0)+-5|0;h[t>>2]=i;if(!(h[f>>2]&1)){t=1;v=l;return t|0}e=h[a>>2]|0;if(i>>>0>>0){Zt(n,1,11587,l+8|0)|0;t=0;v=l;return t|0}if(!e)e=0;else{i=r+5|0;r=0;while(1){vt(i,(h[f+944+(r<<2)>>2]<<4)+(h[f+812+(r<<2)>>2]|0)|0,1);r=r+1|0;e=h[a>>2]|0;if(r>>>0>=e>>>0)break;else i=i+1|0}i=h[t>>2]|0}h[t>>2]=i-e;t=1;v=l;return t|0}function sa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;f=h[e+76>>2]|0;t=h[f+(r*5640|0)+4>>2]|0;n=696;while(1){o=h[n>>2]|0;if((o|0)==-1|(o|0)==(t|0))break;else n=n+12|0}if(!(c[e+93>>0]&8)){e=1;return e|0}o=b[e+92>>0]|0;a=f+(r*5640|0)+424+(i*148|0)+92|0;l=f+(r*5640|0)+424+(i*148|0)+88|0;s=f+(r*5640|0)+424+(i*148|0)+96|0;i=f+(r*5640|0)+424+(i*148|0)+84|0;f=c[n+4>>0]|0;switch(f|0){case 67:{t=h[a>>2]|0;break}case 82:{t=h[l>>2]|0;break}case 80:{t=h[s>>2]|0;break}case 76:{t=h[i>>2]|0;break}default:t=1}if((o|0)!=(f|0)){f=c[n+5>>0]|0;switch(f|0){case 67:{t=ue(h[a>>2]|0,t)|0;break}case 82:{t=ue(h[l>>2]|0,t)|0;break}case 80:{t=ue(h[s>>2]|0,t)|0;break}case 76:{t=ue(h[i>>2]|0,t)|0;break}default:{}}if((o|0)!=(f|0)){f=c[n+6>>0]|0;switch(f|0){case 67:{t=ue(h[a>>2]|0,t)|0;break}case 82:{t=ue(h[l>>2]|0,t)|0;break}case 80:{t=ue(h[s>>2]|0,t)|0;break}case 76:{t=ue(h[i>>2]|0,t)|0;break}default:{}}if((o|0)!=(f|0)){n=c[n+7>>0]|0;switch(n|0){case 67:{t=ue(h[a>>2]|0,t)|0;break}case 82:{t=ue(h[l>>2]|0,t)|0;break}case 80:{t=ue(h[s>>2]|0,t)|0;break}case 76:{t=ue(h[i>>2]|0,t)|0;break}default:{}}if((o|0)==(n|0))n=3;else{e=t;return e|0}}else n=2}else n=1}else n=0;h[e+84>>2]=n;e=t;return e|0}function oa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0;S=i+16|0;if(!(h[S>>2]|0)){S=1;return S|0}T=0;M=h[i+24>>2]|0;while(1){f=t+44|0;n=h[f>>2]|0;a=t+8|0;if(!n){i=t+12|0;n=Kn(ue(h[i>>2]|0,h[a>>2]|0)|0,4)|0;h[f>>2]=n;if(!n){r=0;t=61;break}}else i=t+12|0;w=M+36|0;h[t+36>>2]=h[w>>2];E=h[M+24>>2]|0;p=h[e+24>>2]|0;w=h[w>>2]|0;E=((E&7|0)!=0&1)+(E>>>3)|0;E=(E|0)==3?4:E;s=h[p+(w*136|0)+8>>2]|0;l=h[p+(w*136|0)>>2]|0;g=s-l|0;m=h[p+(w*136|0)+12>>2]|0;w=h[p+(w*136|0)+4>>2]|0;p=m-w|0;f=h[t+16>>2]|0;u=h[t+40>>2]|0;o=Xs(1,0,u|0)|0;y=j;f=zs(f|0,0,-1,-1)|0;f=zs(f|0,j|0,o|0,y|0)|0;f=Vs(f|0,j|0,u|0)|0;_=zs(h[t+20>>2]|0,0,-1,-1)|0;y=zs(_|0,j|0,o|0,y|0)|0;u=Vs(y|0,j|0,u|0)|0;y=h[a>>2]|0;a=f+y|0;o=h[i>>2]|0;_=u+o|0;do{if(f>>>0>>0){i=l-f|0;if(s>>>0>a>>>0){A=a-l|0;v=0;l=g-A|0;s=i}else{v=0;l=0;s=i;A=g}}else{i=f-l|0;if(s>>>0>a>>>0){v=i;l=s-a|0;s=0;A=y;break}else{v=i;l=0;s=0;A=g-i|0;break}}}while(0);do{if(u>>>0>>0){a=w-u|0;if(m>>>0>_>>>0){f=_-w|0;o=f;i=0;f=p-f|0}else{o=p;i=0;f=0}}else{i=u-w|0;if(m>>>0>_>>>0){f=m-_|0;a=0;break}else{o=p-i|0;f=0;a=0;break}}}while(0);if((v|l|A|f|i|o|0)<0){r=0;t=61;break}i=(ue(i,g)|0)+v|0;w=v+l|0;_=(ue(f,g)|0)-v|0;u=y-A|0;n=n+((ue(y,a)|0)+s<<2)|0;switch(E|0){case 1:{r=r+i|0;i=(o|0)==0;if(!(h[M+32>>2]|0)){if(!i){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=b[n>>0];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+1|0}}i=a;r=r+A|0}r=r+w|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}}else if(!i){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=c[n>>0];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+1|0}}i=a;r=r+A|0}r=r+w|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}r=r+_|0;break}case 2:{r=r+(i<<1)|0;i=(o|0)==0;if(!(h[M+32>>2]|0)){if(!i){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=k[n>>1];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+2|0}}i=a;r=r+(A<<1)|0}r=r+(w<<1)|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}}else if(!i){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=d[n>>1];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+2|0}}i=a;r=r+(A<<1)|0}r=r+(w<<1)|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}r=r+(_<<1)|0;break}case 4:{r=r+(i<<2)|0;if(o){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=h[n>>2];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+4|0}}i=a;r=r+(A<<2)|0}r=r+(w<<2)|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}r=r+(_<<2)|0;break}default:{}}T=T+1|0;if(T>>>0>=(h[S>>2]|0)>>>0){r=1;t=61;break}else{t=t+52|0;M=M+52|0;e=e+52|0}}if((t|0)==61)return r|0;return 0}function ua(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;M=v;v=v+112|0;E=M+88|0;p=M+80|0;g=M+72|0;m=M+64|0;k=M+56|0;d=M+48|0;s=M+40|0;a=M+32|0;f=M+24|0;n=M+16|0;w=M+100|0;_=M+96|0;y=M+92|0;h[_>>2]=0;A=e+200|0;if((r|0)!=8){Zt(t,1,8662,M)|0;Zt(t,1,8662,M+8|0)|0;t=0;v=M;return t|0}gt(i,A,2);gt(i+2|0,w,4);gt(i+6|0,y,1);gt(i+7|0,_,1);l=h[A>>2]|0;i=h[e+112>>2]|0;if(l>>>0>=(ue(h[e+116>>2]|0,i)|0)>>>0){h[n>>2]=l;Zt(t,1,15258,n)|0;t=0;v=M;return t|0}r=h[e+164>>2]|0;u=(l>>>0)%(i>>>0)|0;o=(l>>>0)/(i>>>0)|0;i=h[w>>2]|0;do{if((i+-1|0)>>>0<13){if((i|0)==12){h[f>>2]=12;Zt(t,2,15282,f)|0;i=h[w>>2]|0;break}h[a>>2]=i;Zt(t,1,15319,a)|0;t=0;v=M;return t|0}}while(0);if(!i){Zt(t,4,15380,s)|0;h[e+72>>2]=1}i=h[_>>2]|0;do{if(!i)i=h[r+(l*5640|0)+5588>>2]|0;else{i=((b[e+76>>0]|0)>>>4&1)+i|0;h[_>>2]=i;n=r+(l*5640|0)+5588|0;f=h[n>>2]|0;r=h[y>>2]|0;if((f+-1|0)>>>0>>0){h[d>>2]=r;h[d+4>>2]=f;Zt(t,1,15491,d)|0;h[e+72>>2]=1;t=0;v=M;return t|0}if(r>>>0>>0){h[n>>2]=i;break}h[k>>2]=r;h[k+4>>2]=i;Zt(t,1,15590,k)|0;h[e+72>>2]=1;t=0;v=M;return t|0}}while(0);if((i|0)!=0?(i|0)==((h[y>>2]|0)+1|0):0){k=e+76|0;c[k>>0]=c[k>>0]|1}h[e+24>>2]=(h[e+72>>2]|0)==0?(h[w>>2]|0)+-12|0:0;h[e+8>>2]=16;i=h[e+60>>2]|0;if((i|0)==-1){if((u>>>0>=(h[e+28>>2]|0)>>>0?u>>>0<(h[e+36>>2]|0)>>>0:0)?o>>>0>=(h[e+32>>2]|0)>>>0:0)i=(o>>>0>=(h[e+40>>2]|0)>>>0&1)<<2&255;else i=4;w=e+76|0;c[w>>0]=c[w>>0]&-5|i}else{w=e+76|0;c[w>>0]=((h[A>>2]|0)!=(i|0)&1)<<2&255|c[w>>0]&-5}a=e+196|0;i=h[a>>2]|0;if(!i){t=1;v=M;return t|0}f=h[A>>2]|0;i=h[i+40>>2]|0;h[i+(f*40|0)>>2]=f;h[i+(f*40|0)+12>>2]=h[y>>2];r=h[_>>2]|0;if(r){h[i+(f*40|0)+4>>2]=r;h[i+(f*40|0)+8>>2]=h[_>>2];i=h[i+(f*40|0)+16>>2]|0;if(!i){E=Kn(h[_>>2]|0,24)|0;h[(h[(h[a>>2]|0)+40>>2]|0)+((h[A>>2]|0)*40|0)+16>>2]=E;if(E){t=1;v=M;return t|0}Zt(t,1,15698,m)|0;t=0;v=M;return t|0}i=Zn(i,(h[_>>2]|0)*24|0)|0;r=(h[(h[a>>2]|0)+40>>2]|0)+((h[A>>2]|0)*40|0)+16|0;if(!i){Qn(h[r>>2]|0);h[(h[(h[a>>2]|0)+40>>2]|0)+((h[A>>2]|0)*40|0)+16>>2]=0;Zt(t,1,15698,g)|0;t=0;v=M;return t|0}else{h[r>>2]=i;t=1;v=M;return t|0}}if(!(h[i+(f*40|0)+16>>2]|0)){h[i+(f*40|0)+8>>2]=10;g=Kn(10,24)|0;r=h[A>>2]|0;i=h[(h[a>>2]|0)+40>>2]|0;h[i+(r*40|0)+16>>2]=g;if(!g){h[i+(r*40|0)+8>>2]=0;Zt(t,1,15698,p)|0;t=0;v=M;return t|0}else f=r}r=h[y>>2]|0;n=i+(f*40|0)+8|0;if(r>>>0<(h[n>>2]|0)>>>0){t=1;v=M;return t|0}r=r+1|0;h[n>>2]=r;i=Zn(h[i+(f*40|0)+16>>2]|0,r*24|0)|0;r=(h[(h[a>>2]|0)+40>>2]|0)+((h[A>>2]|0)*40|0)+16|0;if(!i){Qn(h[r>>2]|0);A=h[A>>2]|0;y=h[(h[a>>2]|0)+40>>2]|0;h[y+(A*40|0)+16>>2]=0;h[y+(A*40|0)+8>>2]=0;Zt(t,1,15698,E)|0;t=0;v=M;return t|0}else{h[r>>2]=i;t=1;v=M;return t|0}return 0}function ca(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+64|0;b=_+48|0;k=_+40|0;l=_+32|0;u=_+56|0;a=_+52|0;h[u>>2]=r;w=e+80|0;s=h[w>>2]|0;d=e+8|0;if((h[d>>2]|0)==16)o=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else o=h[e+12>>2]|0;n=o+5636|0;f=c[n>>0]|0;if(f&1){Zt(t,1,15025,_)|0;w=0;v=_;return w|0}c[n>>0]=f|1;if(r>>>0<5){Zt(t,1,15089,_+8|0)|0;w=0;v=_;return w|0}gt(i,o,1);if((h[o>>2]|0)>>>0>7){Zt(t,1,15115,_+16|0)|0;w=0;v=_;return w|0}gt(i+1|0,a,1);a=h[a>>2]|0;n=o+4|0;h[n>>2]=a;if((a|0)>4){Zt(t,1,15149,_+24|0)|0;h[n>>2]=-1}n=o+8|0;gt(i+2|0,n,2);n=h[n>>2]|0;if((n+-1|0)>>>0>65534){h[l>>2]=n;Zt(t,1,15190,l)|0;w=0;v=_;return w|0}l=h[e+172>>2]|0;h[o+12>>2]=(l|0)==0?n:l;gt(i+4|0,o+16|0,1);l=i+5|0;h[u>>2]=r+-5;a=h[s+16>>2]|0;if(a){i=h[o>>2]&1;n=h[o+5584>>2]|0;f=0;do{h[n+(f*1080|0)>>2]=i;f=f+1|0}while(f>>>0>>0)}if(!(Si(e,0,l,u,t)|0)){Zt(t,1,15089,k)|0;w=0;v=_;return w|0}if(h[u>>2]|0){Zt(t,1,15089,b)|0;w=0;v=_;return w|0}if((h[d>>2]|0)==16)n=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else n=h[e+12>>2]|0;n=h[n+5584>>2]|0;r=n+4|0;f=h[r>>2]|0;o=f<<2;if((h[(h[w>>2]|0)+16>>2]|0)>>>0<=1){w=1;v=_;return w|0}u=n+8|0;d=n+12|0;e=n+16|0;t=n+20|0;b=n+812|0;k=n+944|0;h[n+1084>>2]=f;a=h[u>>2]|0;h[n+1088>>2]=a;i=h[d>>2]|0;h[n+1092>>2]=i;l=h[e>>2]|0;h[n+1096>>2]=l;s=h[t>>2]|0;h[n+1100>>2]=s;Gs(n+1892|0,b|0,o|0)|0;Gs(n+2024|0,k|0,o|0)|0;if((h[(h[w>>2]|0)+16>>2]|0)>>>0<=2){w=1;v=_;return w|0}h[n+2164>>2]=f;h[n+2168>>2]=a;h[n+2172>>2]=i;h[n+2176>>2]=l;h[n+2180>>2]=s;Gs(n+2972|0,b|0,o|0)|0;Gs(n+3104|0,k|0,o|0)|0;if((h[(h[w>>2]|0)+16>>2]|0)>>>0>3)f=3;else{w=1;v=_;return w|0}while(1){a=h[u>>2]|0;i=h[d>>2]|0;l=h[e>>2]|0;s=h[t>>2]|0;h[n+3244>>2]=h[r>>2];h[n+3248>>2]=a;h[n+3252>>2]=i;h[n+3256>>2]=l;h[n+3260>>2]=s;Gs(n+4052|0,b|0,o|0)|0;Gs(n+4184|0,k|0,o|0)|0;f=f+1|0;if(f>>>0>=(h[(h[w>>2]|0)+16>>2]|0)>>>0){n=1;break}else n=n+1080|0}v=_;return n|0}function da(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;p=v;v=v+272|0;c=p;_=p+136|0;m=p+8|0;if(!e){m=0;v=p;return m|0}u=e+4|0;if((h[e>>2]|0)==(i|0)?(h[u>>2]|0)==(r|0):0)n=e+8|0;else{h[e>>2]=i;h[u>>2]=r;h[_>>2]=i;h[m>>2]=r;n=e+8|0;h[n>>2]=0;f=0;l=r;s=i;o=0;while(1){w=ue(l,s)|0;s=(s+1|0)/2|0;a=o+1|0;h[_+(a<<2)>>2]=s;l=(l+1|0)/2|0;h[m+(a<<2)>>2]=l;f=f+w|0;if(w>>>0<=1)break;else o=a}h[n>>2]=f;if(!f){n=e+12|0;f=h[n>>2]|0;if(f){Qn(f);h[n>>2]=0}Qn(e);m=0;v=p;return m|0}a=f<<4;l=e+16|0;s=e+12|0;do{if(a>>>0>(h[l>>2]|0)>>>0){f=Zn(h[s>>2]|0,a)|0;if(f){h[s>>2]=f;r=h[l>>2]|0;qs(f+r|0,0,a-r|0)|0;h[l>>2]=a;r=h[u>>2]|0;i=h[e>>2]|0;break}Zt(t,1,20166,c)|0;n=h[s>>2]|0;if(n){Qn(n);h[s>>2]=0}Qn(e);m=0;v=p;return m|0}}while(0);f=h[s>>2]|0;i=f+((ue(r,i)|0)<<4)|0;if(o){w=0;r=i;do{b=h[m+(w<<2)>>2]|0;e:do{if((b|0)>0){k=h[_+(w<<2)>>2]|0;if((k|0)<=0){a=b+-1|0;l=0;while(1){d=(l&1|0)!=0|(l|0)==(a|0);s=d?r:i+(k<<4)|0;r=d?r:i;l=l+1|0;if((l|0)>=(b|0)){i=s;break e}else i=s}}d=((k+2+((k|0)<2?~k:-3)|0)>>>1)+1|0;t=b+-1|0;c=0;while(1){u=k;s=r;while(1){h[f>>2]=s;a=f+16|0;l=u;u=u+-2|0;if((u|0)>-1){h[a>>2]=s;f=f+32|0}else f=a;if((l|0)<=2)break;else s=s+16|0}r=r+(d<<4)|0;u=(c&1|0)!=0|(c|0)==(t|0);a=u?r:i+(k<<4)|0;r=u?r:i;c=c+1|0;if((c|0)>=(b|0)){i=a;break}else i=a}}}while(0);w=w+1|0}while((w|0)!=(o|0))}h[f>>2]=0}n=h[n>>2]|0;if(!n){m=e;v=p;return m|0}f=0;i=h[e+12>>2]|0;while(1){h[i+4>>2]=999;h[i+8>>2]=0;h[i+12>>2]=0;f=f+1|0;if((f|0)==(n|0))break;else i=i+16|0}v=p;return e|0}function ha(e){e=e|0;var i=0,r=0;if(!e)return;i=e+12|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}Qn(e);return}function ba(e,i,r){e=e|0;i=i|0;r=r|0;i=(h[e+12>>2]|0)+(i<<4)|0;if(!i)return;while(1){e=i+4|0;if((h[e>>2]|0)<=(r|0)){i=4;break}h[e>>2]=r;i=h[i>>2]|0;if(!i){i=4;break}}if((i|0)==4)return}function ka(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+128|0;l=s;r=(h[i+12>>2]|0)+(r<<4)|0;if(!(h[r>>2]|0)){n=0;f=l}else{n=r;i=l;while(1){f=i+4|0;h[i>>2]=r;r=h[n>>2]|0;if(!(h[r>>2]|0)){n=0;break}else{n=r;i=f}}}while(1){a=r+8|0;i=h[a>>2]|0;if((n|0)>(i|0)){h[a>>2]=n;i=n}e:do{if((i|0)<(t|0)){n=r+4|0;while(1){if((i|0)>=(h[n>>2]|0))break;Pa(e,0,1);i=i+1|0;if((i|0)>=(t|0)){r=i;break e}}r=r+12|0;if(!(h[r>>2]|0)){Pa(e,1,1);h[r>>2]=1;r=i}else r=i}else r=i}while(0);h[a>>2]=r;if((f|0)==(l|0))break;a=f+-4|0;n=r;r=h[a>>2]|0;f=a}v=s;return}function wa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+128|0;l=s;r=(h[i+12>>2]|0)+(r<<4)|0;if(!(h[r>>2]|0)){i=0;f=l}else{n=r;i=l;while(1){f=i+4|0;h[i>>2]=r;r=h[n>>2]|0;if(!(h[r>>2]|0)){i=0;break}else{n=r;i=f}}}while(1){a=r+8|0;n=h[a>>2]|0;if((i|0)>(n|0))h[a>>2]=i;else i=n;r=r+4|0;e:do{if((i|0)<(t|0)){while(1){if((i|0)>=(h[r>>2]|0))break e;if(Oa(e,1)|0)break;i=i+1|0;if((i|0)>=(t|0))break e}h[r>>2]=i}}while(0);h[a>>2]=i;if((f|0)==(l|0))break;a=f+-4|0;r=h[a>>2]|0;f=a}v=s;return(h[r>>2]|0)<(t|0)|0}function _a(){var e=0,i=0;e=Kn(1,12)|0;if(!e){e=0;return e|0}h[e+4>>2]=10;i=Kn(10,4)|0;h[e+8>>2]=i;if(i){i=e;return i|0}Qn(e);i=0;return i|0}function ma(e){e=e|0;var i=0;if(!e)return;i=h[e+8>>2]|0;if(i)Qn(i);Qn(e);return}function pa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;f=e+4|0;n=h[f>>2]|0;t=h[e>>2]|0;do{if((n|0)==(t|0)){n=n+10|0;h[f>>2]=n;t=e+8|0;n=Zn(h[t>>2]|0,n<<2)|0;if(n){h[t>>2]=n;t=h[e>>2]|0;break}Qn(h[t>>2]|0);h[f>>2]=0;h[e>>2]=0;Zt(r,1,20214,a)|0;e=0;v=l;return e|0}else n=h[e+8>>2]|0}while(0);h[n+(t<<2)>>2]=i;h[e>>2]=t+1;e=1;v=l;return e|0}function va(e){e=e|0;return h[e>>2]|0}function ga(e){e=e|0;return h[e+8>>2]|0}function ya(e){e=e|0;h[e>>2]=0;return}function Ea(){return Gn(20)|0}function Aa(e){e=e|0;if(!e)return;Qn(e);return}function Ma(e){e=e|0;return(h[e+8>>2]|0)-(h[e>>2]|0)|0}function Ta(e,i,r){e=e|0;i=i|0;r=r|0;h[e>>2]=i;h[e+4>>2]=i+r;h[e+8>>2]=i;h[e+12>>2]=0;h[e+16>>2]=8;return}function Sa(e,i,r){e=e|0;i=i|0;r=r|0;h[e>>2]=i;h[e+4>>2]=i+r;h[e+8>>2]=i;h[e+12>>2]=0;h[e+16>>2]=0;return}function Pa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;if(!r)return;s=e+16|0;o=e+12|0;u=e+8|0;f=e+4|0;e=h[s>>2]|0;l=r+-1|0;do{a=i>>>l&1;if(!e){n=h[o>>2]|0;e=n<<8&65280;h[o>>2]=e;e=(e|0)==65280?7:8;h[s>>2]=e;t=h[u>>2]|0;if(t>>>0<(h[f>>2]|0)>>>0){h[u>>2]=t+1;c[t>>0]=n;e=h[s>>2]|0}}e=e+-1|0;h[s>>2]=e;h[o>>2]=a<>2];l=l+-1|0}while(l>>>0>>0);return}function Oa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;if(!i){i=0;return i|0}l=e+16|0;s=e+12|0;o=e+8|0;f=e+4|0;r=h[l>>2]|0;t=h[s>>2]|0;a=i+-1|0;e=0;do{if(!r){n=t<<8&65280;h[s>>2]=n;r=(n|0)==65280?7:8;h[l>>2]=r;t=h[o>>2]|0;if(t>>>0<(h[f>>2]|0)>>>0){h[o>>2]=t+1;t=b[t>>0]|0|n;h[s>>2]=t}else t=n}r=r+-1|0;h[l>>2]=r;e=((t>>>r&1)<>>0>>0);return e|0}function Ra(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;t=e+12|0;i=h[t>>2]|0;a=i<<8&65280;h[t>>2]=a;n=e+16|0;h[n>>2]=(a|0)==65280?7:8;a=e+8|0;r=h[a>>2]|0;f=e+4|0;if(r>>>0>=(h[f>>2]|0)>>>0){a=0;return a|0}h[a>>2]=r+1;c[r>>0]=i;if((h[n>>2]|0)!=7){a=1;return a|0}i=h[t>>2]|0;e=i<<8&65280;h[t>>2]=e;h[n>>2]=(e|0)==65280?7:8;e=h[a>>2]|0;if(e>>>0>=(h[f>>2]|0)>>>0){a=0;return a|0}h[a>>2]=e+1;c[e>>0]=i;a=1;return a|0}function La(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;f=e+12|0;i=h[f>>2]|0;do{if((i&255|0)==255){t=i<<8&65280;h[f>>2]=t;i=e+16|0;h[i>>2]=(t|0)==65280?7:8;n=e+8|0;r=h[n>>2]|0;if(r>>>0<(h[e+4>>2]|0)>>>0){h[n>>2]=r+1;h[f>>2]=b[r>>0]|0|t;break}else{e=0;return e|0}}else i=e+16|0}while(0);h[i>>2]=0;e=1;return e|0}function Ca(e){e=e|0;return Ya(e,1)|0}function Da(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0;O=v;v=v+32|0;S=O+16|0;P=O;s=h[e+24>>2]|0;l=(h[s+8>>2]|0)-(h[s>>2]|0)|0;a=(h[s+12>>2]|0)-(h[s+4>>2]|0)|0;T=(h[e+8>>2]|0)-(h[e>>2]|0)|0;if((i|0)==1){P=1;v=O;return P|0}f=i+-1|0;n=(f|0)==0;if(n)i=0;else{r=s;t=f;i=0;do{M=r;r=r+136|0;A=(h[M+144>>2]|0)-(h[r>>2]|0)|0;i=i>>>0>>0?A:i;M=(h[M+148>>2]|0)-(h[M+140>>2]|0)|0;i=i>>>0>>0?M:i;t=t+-1|0}while((t|0)!=0);i=i<<2}M=Wn(i)|0;h[S>>2]=M;if(!M){P=0;v=O;return P|0}h[P>>2]=M;if(!n){_=e+32|0;m=S+8|0;p=P+8|0;g=S+4|0;y=S+12|0;E=P+4|0;A=P+12|0;do{k=h[_>>2]|0;c=s;s=s+136|0;h[m>>2]=l;h[p>>2]=a;d=h[c+144>>2]|0;b=h[s>>2]|0;t=l;l=d-b|0;i=h[c+148>>2]|0;c=c+140|0;w=h[c>>2]|0;r=a;a=i-w|0;h[g>>2]=l-t;h[y>>2]=(b|0)%2|0;w=(i|0)==(w|0);if(!w){u=l<<2;i=0;while(1){e=ue(i,T)|0;o=k+(e<<2)|0;if(t){r=o;n=M+(h[y>>2]<<2)|0;while(1){t=t+-1|0;h[n>>2]=h[r>>2];if(!t)break;else{r=r+4|0;n=n+8|0}}}r=h[g>>2]|0;if(r){t=k+((h[m>>2]|0)+e<<2)|0;n=M+(1-(h[y>>2]|0)<<2)|0;while(1){r=r+-1|0;h[n>>2]=h[t>>2];if(!r)break;else{t=t+4|0;n=n+8|0}}}qa(S);Gs(o|0,M|0,u|0)|0;i=i+1|0;if((i|0)==(a|0))break;t=h[m>>2]|0}r=h[p>>2]|0;i=h[c>>2]|0}h[E>>2]=a-r;h[A>>2]=(i|0)%2|0;e:do{if((d|0)!=(b|0)){i=0;while(1){if(r){t=k+(i<<2)|0;n=M+(h[A>>2]<<2)|0;while(1){r=r+-1|0;h[n>>2]=h[t>>2];if(!r)break;else{t=t+(T<<2)|0;n=n+8|0}}}r=h[E>>2]|0;if(r){t=k+((ue(h[p>>2]|0,T)|0)+i<<2)|0;n=M+(1-(h[A>>2]|0)<<2)|0;while(1){r=r+-1|0;h[n>>2]=h[t>>2];if(!r)break;else{t=t+(T<<2)|0;n=n+8|0}}}qa(P);if(!w){r=0;do{b=k+((ue(r,T)|0)+i<<2)|0;h[b>>2]=h[M+(r<<2)>>2];r=r+1|0}while((r|0)!=(a|0))}i=i+1|0;if((i|0)==(l|0))break e;r=h[p>>2]|0}}}while(0);f=f+-1|0}while((f|0)!=0)}Jn(M);P=1;v=O;return P|0}function xa(e){e=e|0;if(!e){e=0;return e|0}e=(e+-1|0)>>>0<2?1:2;return e|0}function Ia(e,i){e=e|0;i=i|0;return+ +m[56+(i*80|0)+(e<<3)>>3]}function Ba(e){e=e|0;return Ya(e,2)|0}function Na(e){e=e|0;return 0}function Fa(e,i){e=e|0;i=i|0;return+ +m[376+(i*80|0)+(e<<3)>>3]}function Ua(e,i){e=e|0;i=i|0;var r=0.0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;s=e+4|0;o=((h[s>>2]|0)*3|0)+-2|0;if(!o)return;u=e+20|0;c=e+24|0;d=0;do{if(!d){t=0;n=0}else{n=d+-1|0;t=((n>>>0)/3|0)+1|0;n=((n>>>0)%3|0)+1|0}if((n|0)==0|(h[u>>2]|0)==0)f=0;else f=(n+-1|0)>>>0<2?1:2;if(!(h[c>>2]|0))r=1.0;else r=+(1<>2]|0)+~t<<3)>>3];l=~~+J(+(r*8192.0));a=f+i|0;if((l|0)>1){t=l;n=0;while(1){t=t>>1;if((t|0)<=1)break;else n=n+1|0}f=l;t=0;do{f=f>>1;t=t+1|0}while((f|0)>1);n=n+-12|0}else{n=-13;t=0}f=11-t|0;h[e+28+(d<<3)+4>>2]=((f|0)<0?l>>0-f:l<>2]=a-n;d=d+1|0}while((d|0)!=(o|0));return}function ja(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0;z=v;v=v+32|0;Y=z+16|0;q=z;u=h[e+24>>2]|0;c=h[u+8>>2]|0;d=h[u>>2]|0;s=h[u+12>>2]|0;o=h[u+4>>2]|0;H=e+8|0;a=h[H>>2]|0;l=h[e>>2]|0;j=a-l|0;f=i+-1|0;n=(f|0)==0;if(n)i=80;else{r=u;t=f;i=0;do{U=r;r=r+136|0;F=(h[U+144>>2]|0)-(h[r>>2]|0)|0;i=i>>>0>>0?F:i;U=(h[U+148>>2]|0)-(h[U+140>>2]|0)|0;i=i>>>0>>0?U:i;t=t+-1|0}while((t|0)!=0);i=(i<<4)+80|0}U=Wn(i)|0;h[Y>>2]=U;if(!U){X=0;v=z;return X|0}h[q>>2]=U;e:do{if(!n){A=e+32|0;M=e+12|0;T=e+4|0;S=Y+8|0;P=q+8|0;O=Y+4|0;R=Y+12|0;L=q+4|0;C=q+12|0;D=j<<1;x=j<<2;I=j*3|0;N=l<<2;F=a<<2;B=N-F|0;N=F-N|0;F=a-l<<2;i=f;r=U;f=a;t=l;w=s-o|0;n=u;a=c-d|0;while(1){_=h[A>>2]|0;t=ue((h[M>>2]|0)-(h[T>>2]|0)|0,f-t|0)|0;h[S>>2]=a;h[P>>2]=w;y=n+136|0;b=h[n+144>>2]|0;k=h[y>>2]|0;E=b-k|0;p=h[n+148>>2]|0;c=n+140|0;m=h[c>>2]|0;g=p-m|0;h[O>>2]=E-a;h[R>>2]=(k|0)%2|0;if((g|0)>3){f=(E|0)>0;a=(p+-4-m|0)>>>2;u=ue(B,a)|0;a=_+(N+(ue(F,a)|0)<<2)|0;l=_;s=t;o=g;while(1){za(Y,l,j,s);Va(Y);if(f){n=E;do{d=n;n=n+-1|0;h[l+(n<<2)>>2]=h[U+(n<<4)>>2];h[l+(n+j<<2)>>2]=h[U+(n<<4)+4>>2];h[l+(n+D<<2)>>2]=h[U+(n<<4)+8>>2];h[l+(n+I<<2)>>2]=h[U+(n<<4)+12>>2]}while((d|0)>1)}o=o+-4|0;if((o|0)<=3)break;else{l=l+(x<<2)|0;s=s-x|0}}t=B+t+u|0}else a=_;f=g&3;i:do{if(!f)X=21;else{za(Y,a,j,t);Va(Y);if((E|0)>0)t=E;else{s=g-w|0;h[L>>2]=s;f=(h[c>>2]|0)%2|0;h[C>>2]=f;o=w;l=_;break}while(1){n=t;t=t+-1|0;switch(f|0){case 3:{h[a+(t+D<<2)>>2]=h[U+(t<<4)+8>>2];X=18;break}case 2:{X=18;break}case 1:{X=19;break}default:{}}if((X|0)==18){h[a+(t+j<<2)>>2]=h[U+(t<<4)+4>>2];X=19}if((X|0)==19){X=0;h[a+(t<<2)>>2]=h[U+(t<<4)>>2]}if((n|0)<=1){X=21;break i}}}}while(0);if((X|0)==21){X=0;s=g-w|0;h[L>>2]=s;f=(h[c>>2]|0)%2|0;h[C>>2]=f;if((E|0)>3){d=(p|0)==(m|0);b=b+-4-k|0;c=h[P>>2]|0;o=(c|0)>0;l=1-f|0;u=(s|0)>0;n=_;a=E;while(1){if(o){t=0;do{w=r+((t<<1)+f<<4)|0;k=n+((ue(t,j)|0)<<2)|0;h[w>>2]=h[k>>2];h[w+4>>2]=h[k+4>>2];h[w+8>>2]=h[k+8>>2];h[w+12>>2]=h[k+12>>2];t=t+1|0}while((t|0)!=(c|0))}if(u){t=0;do{w=r+(l+(t<<1)<<4)|0;k=n+((ue(t+c|0,j)|0)<<2)|0;h[w>>2]=h[k>>2];h[w+4>>2]=h[k+4>>2];h[w+8>>2]=h[k+8>>2];h[w+12>>2]=h[k+12>>2];t=t+1|0}while((t|0)!=(s|0))}Va(q);if(!d){r=h[q>>2]|0;t=0;do{w=n+((ue(t,j)|0)<<2)|0;k=r+(t<<4)|0;h[w>>2]=h[k>>2];h[w+4>>2]=h[k+4>>2];h[w+8>>2]=h[k+8>>2];h[w+12>>2]=h[k+12>>2];t=t+1|0}while((t|0)!=(g|0))}a=a+-4|0;if((a|0)<=3)break;else n=n+16|0}o=c;l=_+((b+4&-4)<<2)|0}else{o=w;l=_}}a=E&3;if(a){r=h[q>>2]|0;if((o|0)>0){t=a<<2;n=0;do{Gs(r+((n<<1)+f<<4)|0,l+((ue(n,j)|0)<<2)|0,t|0)|0;n=n+1|0}while((n|0)!=(o|0))}t=1-f|0;if((s|0)>0){n=a<<2;f=0;do{Gs(r+(t+(f<<1)<<4)|0,l+((ue(f+o|0,j)|0)<<2)|0,n|0)|0;f=f+1|0}while((f|0)!=(s|0))}Va(q);if((p|0)!=(m|0)){t=a<<2;n=0;do{Gs(l+((ue(n,j)|0)<<2)|0,r+(n<<4)|0,t|0)|0;n=n+1|0}while((n|0)!=(g|0))}}i=i+-1|0;if(!i)break e;f=h[H>>2]|0;t=h[e>>2]|0;w=g;n=y;a=E}}}while(0);Jn(U);X=1;v=z;return X|0}function Ha(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;if(!t){t=(i|0)>0;if(!(t|(r|0)>1))return;if(t){t=e+((r<<1)+-2<<2)|0;n=0;do{s=n;n=n+1|0;o=e+((s<<1|1)<<2)|0;h[o>>2]=(h[o>>2]|0)-((h[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((s|0)<(r|0)?e+(s<<1<<2)|0:t)>>2]|0)>>1)}while((n|0)!=(i|0))}if((r|0)<=0)return;n=e+4|0;f=(i<<1)+-1|0;a=0;do{if((a|0)<1)t=n;else t=e+((((a|0)>(i|0)?i:a)<<1)+-1<<2)|0;o=e+(a<<1<<2)|0;h[o>>2]=((h[t>>2]|0)+2+(h[e+(((a|0)<(i|0)?a<<1|1:f)<<2)>>2]|0)>>2)+(h[o>>2]|0);a=a+1|0}while((a|0)!=(r|0));return}if((i|0)==1&(r|0)==0){h[e>>2]=h[e>>2]<<1;return}if((i|0)>0){n=e+4|0;f=(r<<1)+-1|0;a=e+(f<<2)|0;o=0;do{l=o<<1;s=h[e+(((o|0)<(r|0)?l|1:f)<<2)>>2]|0;if((o|0)>=1)if((o|0)>(r|0))t=a;else t=e+(l+-1<<2)|0;else t=n;l=e+(l<<2)|0;h[l>>2]=(h[l>>2]|0)-((h[t>>2]|0)+s>>1);o=o+1|0}while((o|0)!=(i|0))}if((r|0)<=0)return;t=e+((i<<1)+-2<<2)|0;n=0;do{s=n;n=n+1|0;o=e+((s<<1|1)<<2)|0;h[o>>2]=((h[((s|0)<(i|0)?e+(s<<1<<2)|0:t)>>2]|0)+2+(h[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)>>2)+(h[o>>2]|0)}while((n|0)!=(r|0));return}function Ya(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0;y=(h[e+8>>2]|0)-(h[e>>2]|0)|0;f=h[e+16>>2]|0;l=f+-1|0;E=h[e+32>>2]|0;a=h[e+24>>2]|0;n=(l|0)==0;if(n)e=0;else{r=a;t=l;e=0;do{g=r;r=r+136|0;v=(h[g+144>>2]|0)-(h[r>>2]|0)|0;e=e>>>0>>0?v:e;g=(h[g+148>>2]|0)-(h[g+140>>2]|0)|0;e=e>>>0>>0?g:e;t=t+-1|0}while((t|0)!=0);e=e<<2}g=Gn(e)|0;if(!((e|0)==0|(g|0)!=0)){i=0;return i|0}if(!n){p=f+-2|0;v=p;e=a+(l*136|0)|0;p=a+(p*136|0)|0;while(1){w=h[e>>2]|0;m=(h[e+8>>2]|0)-w|0;c=h[e+4>>2]|0;b=(h[e+12>>2]|0)-c|0;k=(h[p+8>>2]|0)-(h[p>>2]|0)|0;e=h[p+12>>2]|0;r=h[p+4>>2]|0;u=e-r|0;w=w&1;c=c&1;d=b-u|0;_=(m|0)>0;e:do{if(_){n=(e|0)==(r|0);l=(b|0)==(u|0);s=g+((c^1)<<2)|0;o=ue(u,y)|0;a=g+(c<<2)|0;if((b|0)>0){f=0;while(1){r=E+(f<<2)|0;e=0;do{t=E+((ue(e,y)|0)+f<<2)|0;h[g+(e<<2)>>2]=h[t>>2];e=e+1|0}while((e|0)!=(b|0));Ho[i&3](g,d,u,c);if(!n){t=u;e=a;while(1){t=t+-1|0;h[r>>2]=h[e>>2];if(!t)break;else{r=r+(y<<2)|0;e=e+8|0}}}if(!l){e=d;r=E+(f+o<<2)|0;t=s;while(1){e=e+-1|0;h[r>>2]=h[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}}f=f+1|0;if((f|0)==(m|0))break e}}if(n){r=0;while(1){Ho[i&3](g,d,u,c);if(!l){e=d;t=E+(r+o<<2)|0;n=s;while(1){e=e+-1|0;h[t>>2]=h[n>>2];if(!e)break;else{t=t+(y<<2)|0;n=n+8|0}}}r=r+1|0;if((r|0)==(m|0))break e}}else n=0;do{Ho[i&3](g,d,u,c);e=u;r=E+(n<<2)|0;t=a;while(1){e=e+-1|0;h[r>>2]=h[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}if(!l){e=d;r=E+(n+o<<2)|0;t=s;while(1){e=e+-1|0;h[r>>2]=h[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}}n=n+1|0}while((n|0)!=(m|0))}}while(0);f=m-k|0;if((b|0)>0){a=(k|0)>0;l=g+(w<<2)|0;s=(f|0)>0;o=g+((w^1)<<2)|0;u=0;do{n=ue(u,y)|0;r=E+(n<<2)|0;if(_){e=0;do{h[g+(e<<2)>>2]=h[E+(e+n<<2)>>2];e=e+1|0}while((e|0)!=(m|0))}Ho[i&3](g,f,k,w);if(a){t=0;e=l;while(1){h[r>>2]=h[e>>2];t=t+1|0;if((t|0)==(k|0))break;else{r=r+4|0;e=e+8|0}}}if(s){t=0;e=E+(n+k<<2)|0;r=o;while(1){h[e>>2]=h[r>>2];t=t+1|0;if((t|0)==(f|0))break;else{e=e+4|0;r=r+8|0}}}u=u+1|0}while((u|0)!=(b|0))}if(!v)break;else{e=p;v=v+-1|0;p=p+-136|0}}}Qn(g);i=1;return i|0}function qa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;l=h[e>>2]|0;s=h[e+4>>2]|0;o=h[e+8>>2]|0;if(!(h[e+12>>2]|0)){t=(s|0)>0;if(!(t|(o|0)>1))return;if((o|0)>0){i=l+4|0;r=(s<<1)+-1|0;n=0;do{if((n|0)<1)e=i;else e=l+((((n|0)>(s|0)?s:n)<<1)+-1<<2)|0;f=n<<1;a=l+(f<<2)|0;h[a>>2]=(h[a>>2]|0)-((h[e>>2]|0)+2+(h[l+(((n|0)<(s|0)?f|1:r)<<2)>>2]|0)>>2);n=n+1|0}while((n|0)!=(o|0))}if(!t)return;e=l+((o<<1)+-2<<2)|0;i=0;do{f=i<<1;n=i;i=i+1|0;a=l+((f|1)<<2)|0;h[a>>2]=((h[((i|0)<(o|0)?l+(i<<1<<2)|0:e)>>2]|0)+(h[((n|0)<(o|0)?l+(f<<2)|0:e)>>2]|0)>>1)+(h[a>>2]|0)}while((i|0)!=(s|0));return}if((s|0)==1&(o|0)==0){h[l>>2]=(h[l>>2]|0)/2|0;return}if((o|0)>0){e=l+((s<<1)+-2<<2)|0;i=0;do{f=i<<1;n=i;i=i+1|0;a=l+((f|1)<<2)|0;h[a>>2]=(h[a>>2]|0)-((h[((n|0)<(s|0)?l+(f<<2)|0:e)>>2]|0)+2+(h[((i|0)<(s|0)?l+(i<<1<<2)|0:e)>>2]|0)>>2)}while((i|0)!=(o|0))}if((s|0)<=0)return;i=l+4|0;r=(o<<1)+-1|0;t=l+(r<<2)|0;a=0;do{n=a<<1;f=h[l+(((a|0)<(o|0)?n|1:r)<<2)>>2]|0;if((a|0)>=1)if((a|0)>(o|0))e=t;else e=l+(n+-1<<2)|0;else e=i;n=l+(n<<2)|0;h[n>>2]=((h[e>>2]|0)+f>>1)+(h[n>>2]|0);a=a+1|0}while((a|0)!=(s|0));return}function Xa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0;if(!t){s=(i|0)>0;if(!(s|(r|0)>1))return;if(s){t=e+((r<<1)+-2<<2)|0;n=0;do{c=n;n=n+1|0;u=(h[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((c|0)<(r|0)?e+(c<<1<<2)|0:t)>>2]|0)|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,12993,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=e+((c<<1|1)<<2)|0;h[c>>2]=(h[c>>2]|0)-u}while((n|0)!=(i|0))}l=(r|0)>0;if(l){n=e+4|0;f=(i<<1)+-1|0;a=0;do{if((a|0)<1)t=n;else t=e+((((a|0)>(i|0)?i:a)<<1)+-1<<2)|0;u=(h[e+(((a|0)<(i|0)?a<<1|1:f)<<2)>>2]|0)+(h[t>>2]|0)|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,434,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=e+(a<<1<<2)|0;h[c>>2]=(h[c>>2]|0)-u;a=a+1|0}while((a|0)!=(r|0))}if(s){t=e+((r<<1)+-2<<2)|0;n=0;do{c=n;n=n+1|0;u=(h[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((c|0)<(r|0)?e+(c<<1<<2)|0:t)>>2]|0)|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,7233,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=e+((c<<1|1)<<2)|0;h[c>>2]=u+(h[c>>2]|0)}while((n|0)!=(i|0))}if(l){n=e+4|0;f=(i<<1)+-1|0;a=0;do{if((a|0)<1)t=n;else t=e+((((a|0)>(i|0)?i:a)<<1)+-1<<2)|0;u=(h[e+(((a|0)<(i|0)?a<<1|1:f)<<2)>>2]|0)+(h[t>>2]|0)|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,3633,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=e+(a<<1<<2)|0;h[c>>2]=u+(h[c>>2]|0);a=a+1|0}while((a|0)!=(r|0))}if(s){t=0;do{c=e+((t<<1|1)<<2)|0;u=h[c>>2]|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,5038,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;h[c>>2]=u;t=t+1|0}while((t|0)!=(i|0))}if(l)t=0;else return;do{i=e+(t<<1<<2)|0;c=h[i>>2]|0;c=Qs(c|0,((c|0)<0)<<31>>31|0,6659,0)|0;c=zs(c|0,j|0,4096,0)|0;c=Vs(c|0,j|0,13)|0;h[i>>2]=c;t=t+1|0}while((t|0)!=(r|0));return}c=(r|0)>0;if(!((i|0)>1|c))return;u=(i|0)>0;if(u){n=e+4|0;f=(r<<1)+-1|0;a=e+(f<<2)|0;o=0;do{l=o<<1;s=h[e+(((o|0)<(r|0)?l|1:f)<<2)>>2]|0;if((o|0)>=1)if((o|0)>(r|0))t=a;else t=e+(l+-1<<2)|0;else t=n;t=(h[t>>2]|0)+s|0;t=Qs(t|0,((t|0)<0)<<31>>31|0,12993,0)|0;t=zs(t|0,j|0,4096,0)|0;t=Vs(t|0,j|0,13)|0;s=e+(l<<2)|0;h[s>>2]=(h[s>>2]|0)-t;o=o+1|0}while((o|0)!=(i|0))}if(c){t=e+((i<<1)+-2<<2)|0;n=0;do{o=n;n=n+1|0;s=(h[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((o|0)<(i|0)?e+(o<<1<<2)|0:t)>>2]|0)|0;s=Qs(s|0,((s|0)<0)<<31>>31|0,434,0)|0;s=zs(s|0,j|0,4096,0)|0;s=Vs(s|0,j|0,13)|0;o=e+((o<<1|1)<<2)|0;h[o>>2]=(h[o>>2]|0)-s}while((n|0)!=(r|0))}if(u){n=e+4|0;f=(r<<1)+-1|0;a=e+(f<<2)|0;o=0;do{l=o<<1;s=h[e+(((o|0)<(r|0)?l|1:f)<<2)>>2]|0;if((o|0)>=1)if((o|0)>(r|0))t=a;else t=e+(l+-1<<2)|0;else t=n;t=(h[t>>2]|0)+s|0;t=Qs(t|0,((t|0)<0)<<31>>31|0,7233,0)|0;t=zs(t|0,j|0,4096,0)|0;t=Vs(t|0,j|0,13)|0;s=e+(l<<2)|0;h[s>>2]=t+(h[s>>2]|0);o=o+1|0}while((o|0)!=(i|0))}if(c){t=e+((i<<1)+-2<<2)|0;n=0;do{o=n;n=n+1|0;s=(h[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((o|0)<(i|0)?e+(o<<1<<2)|0:t)>>2]|0)|0;s=Qs(s|0,((s|0)<0)<<31>>31|0,3633,0)|0;s=zs(s|0,j|0,4096,0)|0;s=Vs(s|0,j|0,13)|0;o=e+((o<<1|1)<<2)|0;h[o>>2]=s+(h[o>>2]|0)}while((n|0)!=(r|0))}if(u){t=0;do{u=e+(t<<1<<2)|0;o=h[u>>2]|0;o=Qs(o|0,((o|0)<0)<<31>>31|0,5038,0)|0;o=zs(o|0,j|0,4096,0)|0;o=Vs(o|0,j|0,13)|0;h[u>>2]=o;t=t+1|0}while((t|0)!=(i|0))}if(c)t=0;else return;do{i=e+((t<<1|1)<<2)|0;c=h[i>>2]|0;c=Qs(c|0,((c|0)<0)<<31>>31|0,6659,0)|0;c=zs(c|0,j|0,4096,0)|0;c=Vs(c|0,j|0,13)|0;h[i>>2]=c;t=t+1|0}while((t|0)!=(r|0));return}function za(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;c=h[e>>2]|0;l=h[e+12>>2]|0;w=h[e+8>>2]|0;d=r*3|0;u=1-l|0;o=e+4|0;s=w;e=0;while(1){a=c+(l<<4)|0;if(((s+d|0)<(t|0)?(i&15|0)==0:0)?((a|r)&15|0)==0:0){if((s|0)>0){n=0;do{a=n<<3;h[c+(l<<4)+(a<<2)>>2]=h[i+(n<<2)>>2];f=n+r|0;h[c+(l<<4)+((a|1)<<2)>>2]=h[i+(f<<2)>>2];f=f+r|0;h[c+(l<<4)+((a|2)<<2)>>2]=h[i+(f<<2)>>2];h[c+(l<<4)+((a|3)<<2)>>2]=h[i+(f+r<<2)>>2];n=n+1|0}while((n|0)!=(s|0))}}else _=3;if((_|0)==3?(_=0,(s|0)>0):0){a=0;do{n=a<<3;h[c+(l<<4)+(n<<2)>>2]=h[i+(a<<2)>>2];f=a+r|0;if(((f|0)<(t|0)?(h[c+(l<<4)+((n|1)<<2)>>2]=h[i+(f<<2)>>2],b=f+r|0,(b|0)<(t|0)):0)?(h[c+(l<<4)+((n|2)<<2)>>2]=h[i+(b<<2)>>2],k=b+r|0,(k|0)<(t|0)):0)h[c+(l<<4)+((n|3)<<2)>>2]=h[i+(k<<2)>>2];a=a+1|0}while((a|0)!=(s|0))}e=e+1|0;if((e|0)==2)break;else{i=i+(w<<2)|0;t=t-w|0;l=u;s=h[o>>2]|0}}return}function Va(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0.0,o=0.0,u=0,c=0.0,d=0,b=0;do{if(!(h[e+12>>2]|0)){r=h[e+8>>2]|0;if((h[e+4>>2]|0)>0){i=h[e>>2]|0;if((r|0)>0){a=0;n=1;l=9;break}else{a=0;f=1;break}}if((r|0)>1){t=0;n=1;l=7}else return}else{r=h[e+8>>2]|0;if((r|0)<=0)if((h[e+4>>2]|0)>1){i=h[e>>2]|0;a=1;f=0;break}else return;else{t=1;n=0;l=7}}}while(0);if((l|0)==7){i=h[e>>2]|0;a=t;l=9}if((l|0)==9){t=0;do{l=t<<3;d=i+(a<<4)+(l<<2)|0;u=i+(a<<4)+((l|1)<<2)|0;c=+_[u>>2];f=i+(a<<4)+((l|2)<<2)|0;o=+_[f>>2];l=i+(a<<4)+((l|3)<<2)|0;s=+_[l>>2];_[d>>2]=+_[d>>2]*1.2301740646362305;_[u>>2]=c*1.2301740646362305;_[f>>2]=o*1.2301740646362305;_[l>>2]=s*1.2301740646362305;t=t+1|0}while((t|0)!=(r|0));f=n}t=h[e+4>>2]|0;if((t|0)>0){n=0;do{d=n<<3;l=i+(f<<4)+(d<<2)|0;e=i+(f<<4)+((d|1)<<2)|0;s=+_[e>>2];u=i+(f<<4)+((d|2)<<2)|0;o=+_[u>>2];d=i+(f<<4)+((d|3)<<2)|0;c=+_[d>>2];_[l>>2]=+_[l>>2]*1.625732421875;_[e>>2]=s*1.625732421875;_[u>>2]=o*1.625732421875;_[d>>2]=c*1.625732421875;n=n+1|0}while((n|0)!=(t|0))}b=i+(f<<4)|0;n=i+(a+1<<4)|0;l=t-a|0;l=(r|0)<(l|0)?r:l;Ga(b,n,r,l,-.4435068666934967);e=i+(a<<4)|0;u=i+(f+1<<4)|0;d=r-f|0;d=(t|0)<(d|0)?t:d;Ga(e,u,t,d,-.8829110860824585);Ga(b,n,r,l,.05298011749982834);Ga(e,u,t,d,1.5861343145370483);return}function Ga(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0.0,a=0.0,l=0.0,s=0.0,o=0,u=0,c=0,d=0,h=0.0,b=0.0,k=0,w=0.0,m=0.0,p=0,v=0.0,g=0.0,y=0,E=0.0;if((t|0)>0){c=t<<1;u=c+-2|0;a=+_[e>>2];l=+_[e+4>>2];s=+_[e+8>>2];f=+_[e+12>>2];e=i;o=0;while(1){y=e+-16|0;p=e+-12|0;g=+_[p>>2];k=e+-8|0;m=+_[k>>2];d=e+-4|0;b=+_[d>>2];E=a;a=+_[e>>2];v=l;l=+_[e+4>>2];w=s;s=+_[e+8>>2];h=f;f=+_[e+12>>2];_[y>>2]=+_[y>>2]+(E+a)*n;_[p>>2]=g+(v+l)*n;_[k>>2]=m+(w+s)*n;_[d>>2]=b+(h+f)*n;o=o+1|0;if((o|0)==(t|0))break;else e=e+32|0}e=i+(u<<4)|0;i=i+(c<<4)|0}if((t|0)>=(r|0))return;f=n+n;a=f*+_[e>>2];l=f*+_[e+4>>2];s=f*+_[e+8>>2];f=f*+_[e+12>>2];while(1){d=i+-16|0;k=i+-12|0;v=+_[k>>2];p=i+-8|0;g=+_[p>>2];y=i+-4|0;E=+_[y>>2];_[d>>2]=a+ +_[d>>2];_[k>>2]=l+v;_[p>>2]=s+g;_[y>>2]=f+E;t=t+1|0;if((t|0)==(r|0))break;else i=i+32|0}return}function Ka(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0.0,a=0,l=0,s=0,o=0,u=0,c=0,d=0.0,b=0,k=0,w=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0;E=r<<2;A=Gn(r<<4)|0;if(!A){e=0;return e|0}M=A+E|0;qs(A|0,0,E|0)|0;g=r+-1|0;v=(r|0)==0;if(!v){t=0;n=A;while(1){h[n>>2]=t;t=t+1|0;if((t|0)==(r|0))break;else n=n+4|0}}e:do{if(g){k=g;l=0;t=0;w=e;m=1;p=A;while(1){s=w+(l<<2)|0;if(l>>>0>>0){a=l;n=s;f=0.0}else break;while(1){d=+_[n>>2];d=d>0.0?d:-d;y=d>f;t=y?a:t;f=y?d:f;a=a+1|0;if((a|0)==(r|0))break;else n=n+(r<<2)|0}if(f==0.0)break;if((t|0)!=(l|0)){y=t-l|0;b=p+(y<<2)|0;c=h[p>>2]|0;h[p>>2]=h[b>>2];h[b>>2]=c;y=w+((ue(y,r)|0)<<2)|0;Gs(M|0,y|0,E|0)|0;Gs(y|0,w|0,E|0)|0;Gs(w|0,M|0,E|0)|0}n=l;b=l+1|0;d=+_[s>>2];if(m>>>0>>0){o=w+(b<<2)|0;c=b+k|0;u=m;a=w+(n+r<<2)|0;while(1){f=+_[a>>2]/d;_[a>>2]=f;n=m;l=a;s=o;while(1){l=l+4|0;_[l>>2]=+_[l>>2]-f*+_[s>>2];n=n+1|0;if((n|0)==(r|0))break;else s=s+4|0}u=u+1|0;if((u|0)==(r|0))break;else a=a+(c<<2)|0}}if(b>>>0>>0){k=k+-1|0;l=b;w=w+(r<<2)|0;m=m+1|0;p=p+4|0}else break e}Qn(A);e=0;return e|0}}while(0);t=r<<1;y=M+(t<<2)|0;if(!v){v=M+(g+r<<2)|0;k=M+(t+g<<2)|0;w=e+((ue(r,r)|0)+-1<<2)|0;m=~r;p=0;b=i;while(1){qs(M|0,0,E|0)|0;_[M+(p<<2)>>2]=1.0;l=0;s=1;o=A;u=y;c=e;while(1){if(!l)f=0.0;else{t=1;n=y;a=c;f=0.0;while(1){f=f+ +_[a>>2]*+_[n>>2];t=t+1|0;if((t|0)==(s|0))break;else{n=n+4|0;a=a+4|0}}}_[u>>2]=+_[M+(h[o>>2]<<2)>>2]-f;l=l+1|0;if((l|0)==(r|0)){l=r;s=v;o=y;u=k;c=w;break}else{s=s+1|0;o=o+4|0;u=u+4|0;c=c+(r<<2)|0}}while(1){t=l;l=l+-1|0;d=+_[c>>2];if(t>>>0>>0){n=o;a=c;f=0.0;while(1){a=a+4|0;f=f+ +_[a>>2]*+_[n>>2];t=t+1|0;if((t|0)==(r|0))break;else n=n+4|0}}else f=0.0;o=o+-4|0;_[s>>2]=(+_[u>>2]-f)/d;if(!l){t=0;n=b;break}else{s=s+-4|0;u=u+-4|0;c=c+(m<<2)|0}}while(1){h[n>>2]=h[M+(t+r<<2)>>2];t=t+1|0;if((t|0)==(r|0))break;else n=n+(r<<2)|0}p=p+1|0;if((p|0)==(r|0))break;else b=b+4|0}}Qn(A);e=1;return e|0}function Wa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;f=Kn(1,44)|0;if(!f){f=0;return f|0}a=sl()|0;h[f>>2]=a;if(!a){ol(0);h[f>>2]=0;a=f+4|0;Ml(h[a>>2]|0);h[a>>2]=0;if((h[f+40>>2]|0)==0?(r=f+8|0,i=h[r>>2]|0,(i|0)!=0):0){Jn(i);h[r>>2]=0}i=f+12|0;r=h[i>>2]|0;if(r){Jn(r);h[i>>2]=0}Qn(f);a=0;return a|0}a=Al()|0;i=f+4|0;h[i>>2]=a;if(a){h[f+40>>2]=e;a=f;return a|0}ol(h[f>>2]|0);h[f>>2]=0;Ml(h[i>>2]|0);h[i>>2]=0;if((h[f+40>>2]|0)==0?(t=f+8|0,n=h[t>>2]|0,(n|0)!=0):0){Jn(n);h[t>>2]=0}i=f+12|0;r=h[i>>2]|0;if(r){Jn(r);h[i>>2]=0}Qn(f);a=0;return a|0}function Ja(e){e=e|0;var i=0,r=0,t=0;if(!e)return;ol(h[e>>2]|0);h[e>>2]=0;t=e+4|0;Ml(h[t>>2]|0);h[t>>2]=0;if((h[e+40>>2]|0)==0?(i=e+8|0,r=h[i>>2]|0,(r|0)!=0):0){Jn(r);h[i>>2]=0}i=e+12|0;r=h[i>>2]|0;if(r){Jn(r);h[i>>2]=0}Qn(e);return}function Za(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,w=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0;Ae=(h[i+8>>2]|0)-(h[i>>2]|0)|0;Me=i+20|0;t=h[Me>>2]|0;if(!t){e=1;return e|0}Te=i+24|0;Se=r+808|0;Pe=r+16|0;pe=e+4|0;ge=e+8|0;ye=e+16|0;Ee=e+20|0;me=r+20|0;ke=i+32|0;we=e+32|0;_e=e+12|0;r=t;be=0;e:while(1){de=h[Te>>2]|0;he=de+(be*136|0)+24|0;i=h[he>>2]|0;if(i){se=de+(be*136|0)+16|0;oe=de+(be*136|0)+20|0;ce=be+-1|0;r=h[oe>>2]|0;t=h[se>>2]|0;le=0;do{if(ue(r,t)|0){re=de+(be*136|0)+28+(le*36|0)+20|0;te=de+(be*136|0)+28+(le*36|0)+16|0;ne=de+(be*136|0)+28+(le*36|0)|0;fe=de+(be*136|0)+28+(le*36|0)+4|0;ae=de+(be*136|0)+28+(le*36|0)+32|0;ie=0;do{i=h[re>>2]|0;$=i+(ie*40|0)+16|0;ee=i+(ie*40|0)+20|0;if(ue(h[ee>>2]|0,h[$>>2]|0)|0){Z=i+(ie*40|0)+24|0;Q=0;do{r=h[Z>>2]|0;X=h[te>>2]|0;n=h[Se>>2]|0;i=h[Pe>>2]|0;z=h[pe>>2]|0;V=h[e>>2]|0;G=r+(Q*56|0)+8|0;J=r+(Q*56|0)+12|0;if(!($a(e,(h[r+(Q*56|0)+16>>2]|0)-(h[G>>2]|0)|0,(h[r+(Q*56|0)+20>>2]|0)-(h[J>>2]|0)|0)|0)){r=0;C=201;break e}K=r+(Q*56|0)+24|0;f=h[K>>2]|0;_l(V);ml(V,18,0,46);ml(V,17,0,3);ml(V,0,0,4);W=r+(Q*56|0)+48|0;t=h[W>>2]|0;if(t){U=r+(Q*56|0)+4|0;j=(i&1|0)!=0;H=(i&2|0)==0;Y=(i&8|0)==0;q=X<<8;F=(i&32|0)==0;i=f+n|0;r=2;N=0;do{f=h[U>>2]|0;B=j&(r>>>0<2?(i|0)<=((h[K>>2]|0)+-4|0):0);n=h[f+(N<<5)>>2]|0;if(n){t=(h[n>>2]|0)+(h[f+(N<<5)+4>>2]|0)|0;n=h[f+(N<<5)+16>>2]|0;if(!B){if(!(yl(V,t,n)|0)){r=0;C=201;break e}}else Tl(z,t,n);x=f+(N<<5)+12|0;i:do{if(h[x>>2]|0){I=H|B;D=0;while(1){r:do{switch(r|0){case 0:{if(B){y=1<>1|y;n=h[Ee>>2]|0;if(!n)break r;g=0-y|0;t=h[ye>>2]|0;v=0;while(1){p=v;v=v+4|0;if(!t)t=0;else{c=(p|0)==-4;w=p|3;m=0;do{t:do{if(!c)if(Y){o=p;do{if(o>>>0>=(h[Ee>>2]|0)>>>0)break t;l=o;o=o+1|0;t=(ue(h[we>>2]|0,o)|0)+m|0;n=t+1|0;f=h[_e>>2]|0;a=f+(n<<1)|0;l=(ue(h[ye>>2]|0,l)|0)+m|0;l=(h[ge>>2]|0)+(l<<2)|0;s=h[pe>>2]|0;C=d[a>>1]|0;if((C&255|0)!=0&(C&20480|0)==0){if(Sl(s)|0){O=Sl(s)|0;h[l>>2]=(O|0)!=0?g:y;L=h[we>>2]|0;C=f+(n-L<<1)|0;R=f+(L+n<<1)|0;P=f+(n+~L<<1)|0;d[P>>1]=k[P>>1]|2;d[C>>1]=d[C>>1]|d[3436+(O<<1)>>1];C=t+2|0;P=f+(C-L<<1)|0;d[P>>1]=k[P>>1]|4;P=f+(t<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+2<<1)>>1];d[a>>1]=k[a>>1]|4096;P=f+(C<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+4<<1)>>1];P=f+(L+t<<1)|0;d[P>>1]=k[P>>1]|1;d[R>>1]=d[R>>1]|d[3436+(O+6<<1)>>1];C=f+(L+C<<1)|0;d[C>>1]=k[C>>1]|8}d[a>>1]=k[a>>1]|16384}}while(o>>>0>>0)}else{u=p;do{t=h[Ee>>2]|0;if(u>>>0>=t>>>0)break t;L=u;u=u+1|0;n=(ue(h[we>>2]|0,u)|0)+m|0;f=n+1|0;a=h[_e>>2]|0;l=a+(f<<1)|0;s=(ue(h[ye>>2]|0,L)|0)+m|0;s=(h[ge>>2]|0)+(s<<2)|0;o=h[pe>>2]|0;C=d[l>>1]|0;C=(L|0)==(w|0)|(L|0)==(t+-1|0)?C&-1095:C;if((C&255|0)!=0&(C&20480|0)==0){if(Sl(o)|0){O=Sl(o)|0;h[s>>2]=(O|0)!=0?g:y;L=h[we>>2]|0;C=a+(f-L<<1)|0;R=a+(L+f<<1)|0;P=a+(f+~L<<1)|0;d[P>>1]=k[P>>1]|2;d[C>>1]=d[C>>1]|d[3436+(O<<1)>>1];C=n+2|0;P=a+(C-L<<1)|0;d[P>>1]=k[P>>1]|4;P=a+(n<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+2<<1)>>1];d[l>>1]=k[l>>1]|4096;P=a+(C<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+4<<1)>>1];P=a+(L+n<<1)|0;d[P>>1]=k[P>>1]|1;d[R>>1]=d[R>>1]|d[3436+(O+6<<1)>>1];C=a+(L+C<<1)|0;d[C>>1]=k[C>>1]|8}d[l>>1]=k[l>>1]|16384}}while(u>>>0>>0)}}while(0);m=m+1|0;t=h[ye>>2]|0}while(m>>>0>>0);n=h[Ee>>2]|0}if(v>>>0>=n>>>0){C=163;break r}}}if(Y){f=h[ge>>2]|0;a=(h[_e>>2]|0)+2|0;w=1<>1|w;t=h[Ee>>2]|0;n=h[ye>>2]|0;if(t>>>0>3){o=n;s=0;while(1){if(!n){n=o;l=0}else{n=0;do{C=(h[we>>2]|0)+n|0;el(e,a+(C<<1)|0,f+(n<<2)|0,X,w);t=(h[ye>>2]|0)+n|0;C=(h[we>>2]|0)+C|0;el(e,a+(C<<1)|0,f+(t<<2)|0,X,w);t=(h[ye>>2]|0)+t|0;C=(h[we>>2]|0)+C|0;el(e,a+(C<<1)|0,f+(t<<2)|0,X,w);el(e,a+((h[we>>2]|0)+C<<1)|0,f+((h[ye>>2]|0)+t<<2)|0,X,w);n=n+1|0;t=h[ye>>2]|0}while(n>>>0>>0);n=t;l=t;t=h[Ee>>2]|0}f=f+(l<<2<<2)|0;a=a+(h[we>>2]<<2<<1)|0;s=s+4|0;if(s>>>0<(t&-4)>>>0){o=n;n=l}else{c=a;u=s;break}}}else{c=a;u=0}if(!n){C=163;break r}else o=0;while(1){if(u>>>0>>0){a=f+(o<<2)|0;l=c+(o<<1)|0;s=u;while(1){l=l+(h[we>>2]<<1)|0;el(e,l,a,X,w);n=h[ye>>2]|0;s=s+1|0;t=h[Ee>>2]|0;if(s>>>0>=t>>>0)break;else a=a+(n<<2)|0}}o=o+1|0;if(o>>>0>=n>>>0){C=163;break r}}}y=1<>1|y;t=h[Ee>>2]|0;if(!t){C=163;break r}E=0-y|0;n=h[ye>>2]|0;a=n;g=0;while(1){v=g;g=g+4|0;do{if(!n){f=a;n=0}else{p=v|3;if((v|0)==-4){f=a;n=a;break}else m=0;do{w=v;do{t=h[Ee>>2]|0;if(w>>>0>=t>>>0)break;C=w;w=w+1|0;a=(ue(h[we>>2]|0,w)|0)+m|0;l=a+1|0;s=h[_e>>2]|0;o=s+(l<<1)|0;u=(ue(h[ye>>2]|0,C)|0)+m|0;u=(h[ge>>2]|0)+(u<<2)|0;c=h[e>>2]|0;n=d[o>>1]|0;t=(C|0)==(p|0)|(C|0)==(t+-1|0)?n&-1095:n;n=t&255;if((n|0)!=0&(t&20480|0)==0){f=c+100|0;h[f>>2]=c+24+(b[20267+(n|q)>>0]<<2);if(El(c)|0){L=t>>>4&255;h[f>>2]=c+24+(b[21291+L>>0]<<2);C=El(c)|0;L=b[21547+L>>0]|0;O=L^C;h[u>>2]=(C|0)!=(L|0)?E:y;L=h[we>>2]|0;C=s+(l-L<<1)|0;R=s+(L+l<<1)|0;P=s+(l+~L<<1)|0;d[P>>1]=k[P>>1]|2;d[C>>1]=d[C>>1]|d[3436+(O<<1)>>1];C=a+2|0;P=s+(C-L<<1)|0;d[P>>1]=k[P>>1]|4;P=s+(a<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+2<<1)>>1];d[o>>1]=k[o>>1]|4096;P=s+(C<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+4<<1)>>1];P=s+(L+a<<1)|0;d[P>>1]=k[P>>1]|1;d[R>>1]=d[R>>1]|d[3436+(O+6<<1)>>1];C=s+(L+C<<1)|0;d[C>>1]=k[C>>1]|8}d[o>>1]=k[o>>1]|16384}}while(w>>>0>>0);m=m+1|0;t=h[ye>>2]|0}while(m>>>0>>0);f=t;n=t;t=h[Ee>>2]|0}}while(0);if(g>>>0>=t>>>0){C=163;break}else a=f}break}case 1:{if(B){c=1<>1;w=(i|0)>0?0-c|0:-1;n=h[Ee>>2]|0;if(!n)break r;f=h[ye>>2]|0;t=f;u=0;while(1){o=u;u=u+4|0;if(!f){a=t;f=0}else{s=(o|0)==-4;l=0;do{a=l;l=l+1|0;if(!s){f=o;do{if(f>>>0>=(h[Ee>>2]|0)>>>0)break;n=f;f=f+1|0;t=(ue(h[we>>2]|0,f)|0)+l|0;t=(h[_e>>2]|0)+(t<<1)|0;n=(ue(h[ye>>2]|0,n)|0)+a|0;n=(h[ge>>2]|0)+(n<<2)|0;if((d[t>>1]&20480)==4096){L=(Sl(h[pe>>2]|0)|0)!=0;L=L?c:w;C=h[n>>2]|0;h[n>>2]=((C|0)<0?0-L|0:L)+C;d[t>>1]=k[t>>1]|8192}}while(f>>>0>>0);t=h[ye>>2]|0}}while(l>>>0>>0);a=t;f=t;n=h[Ee>>2]|0}if(u>>>0>=n>>>0){C=163;break r}else t=a}}if(!Y){p=1<>1;v=(i|0)>0?0-p|0:-1;t=h[Ee>>2]|0;if(!t){C=163;break r}n=h[ye>>2]|0;f=n;m=0;while(1){w=m;m=m+4|0;if(!n)n=0;else{u=(w|0)==-4;c=w|3;t=f;o=0;do{s=o;o=o+1|0;if(!u){a=w;do{t=h[Ee>>2]|0;if(a>>>0>=t>>>0)break;L=a;a=a+1|0;n=(ue(h[we>>2]|0,a)|0)+o|0;n=(h[_e>>2]|0)+(n<<1)|0;f=(ue(h[ye>>2]|0,L)|0)+s|0;f=(h[ge>>2]|0)+(f<<2)|0;l=h[e>>2]|0;C=d[n>>1]|0;t=(L|0)==(c|0)|(L|0)==(t+-1|0)?C&-1095:C;if((t&20480|0)==4096){h[l+100>>2]=l+24+(((t&8192|0)!=0?16:(t&255|0)!=0?15:14)<<2);L=(El(l)|0)!=0;L=L?p:v;C=h[f>>2]|0;h[f>>2]=((C|0)<0?0-L|0:L)+C;d[n>>1]=k[n>>1]|8192}}while(a>>>0>>0);t=h[ye>>2]|0}}while(o>>>0>>0);f=t;n=t;t=h[Ee>>2]|0}if(m>>>0>=t>>>0){C=163;break r}}}f=h[ge>>2]|0;a=(h[_e>>2]|0)+2|0;g=1<>1;y=(i|0)>0?0-g|0:-1;t=h[Ee>>2]|0;n=h[ye>>2]|0;if(t>>>0>3){s=n;p=a;v=0;while(1){if(!n){n=s;l=0}else{t=s;m=0;do{n=f+(m<<2)|0;s=h[we>>2]|0;u=s+m|0;a=p+(u<<1)|0;o=h[e>>2]|0;l=d[a>>1]|0;if((l&20480|0)==4096){h[o+100>>2]=o+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);s=(El(o)|0)!=0;s=s?g:y;t=h[n>>2]|0;h[n>>2]=((t|0)<0?0-s|0:s)+t;d[a>>1]=k[a>>1]|8192;t=h[ye>>2]|0;n=h[we>>2]|0;s=h[e>>2]|0}else{n=s;s=o}c=t+m|0;o=f+(c<<2)|0;w=n+u|0;a=p+(w<<1)|0;l=d[a>>1]|0;if((l&20480|0)==4096){h[s+100>>2]=s+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);n=(El(s)|0)!=0;n=n?g:y;t=h[o>>2]|0;h[o>>2]=((t|0)<0?0-n|0:n)+t;d[a>>1]=k[a>>1]|8192;t=h[ye>>2]|0;n=h[we>>2]|0;s=h[e>>2]|0}u=t+c|0;o=f+(u<<2)|0;c=n+w|0;a=p+(c<<1)|0;l=d[a>>1]|0;if((l&20480|0)==4096){h[s+100>>2]=s+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);n=(El(s)|0)!=0;n=n?g:y;t=h[o>>2]|0;h[o>>2]=((t|0)<0?0-n|0:n)+t;d[a>>1]=k[a>>1]|8192;t=h[ye>>2]|0;n=h[we>>2]|0;s=h[e>>2]|0}l=f+(t+u<<2)|0;n=p+(n+c<<1)|0;a=d[n>>1]|0;if((a&20480|0)==4096){h[s+100>>2]=s+24+(((a&8192|0)!=0?16:(a&255|0)!=0?15:14)<<2);C=(El(s)|0)!=0;C=C?g:y;t=h[l>>2]|0;h[l>>2]=((t|0)<0?0-C|0:C)+t;d[n>>1]=k[n>>1]|8192;t=h[ye>>2]|0}m=m+1|0}while(m>>>0>>0);n=t;l=t;t=h[Ee>>2]|0}f=f+(l<<2<<2)|0;a=p+(h[we>>2]<<2<<1)|0;o=v+4|0;if(o>>>0<(t&-4)>>>0){s=n;n=l;p=a;v=o}else{m=o;break}}}else m=0;if(!n){C=163;break r}else w=0;do{if(m>>>0>>0){o=f+(w<<2)|0;u=a+(w<<1)|0;c=m;while(1){u=u+(h[we>>2]<<1)|0;s=h[e>>2]|0;l=d[u>>1]|0;if((l&20480|0)==4096){h[s+100>>2]=s+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);t=(El(s)|0)!=0;t=t?g:y;l=h[o>>2]|0;h[o>>2]=((l|0)<0?0-t|0:t)+l;d[u>>1]=k[u>>1]|8192;l=h[ye>>2]|0;t=h[Ee>>2]|0}else l=n;c=c+1|0;if(c>>>0>=t>>>0){n=l;break}else{n=l;o=o+(l<<2)|0}}}w=w+1|0}while(w>>>0>>0);C=163;break}case 2:{R=h[e>>2]|0;L=1<>1|L;do{if(Y){f=h[ge>>2]|0;a=(h[_e>>2]|0)+2|0;n=h[Ee>>2]|0;if(n>>>0>3){y=R+92|0;E=R+100|0;A=R+96|0;M=0-L|0;l=h[ye>>2]|0;t=l;o=0;while(1){if(!l)l=0;else{w=o|1;m=w+1|0;p=o|3;v=w+3|0;g=0;do{t=h[we>>2]|0;n=g;g=g+1|0;P=(ue(t,w)|0)+g|0;S=h[_e>>2]|0;T=S+((ue(t,m)|0)+g<<1)|0;O=S+((ue(t,p)|0)+g<<1)|0;C=S+((ue(t,v)|0)+g<<1)|0;t:do{if(!((d[T>>1]|d[S+(P<<1)>>1]|d[O>>1]|d[C>>1])&20735)){h[E>>2]=y;if(!(El(R)|0))break;h[E>>2]=A;u=(El(R)|0)<<1;u=u|(El(R)|0);if(u>>>0>=4)break;c=f+((ue(h[ye>>2]|0,u)|0)+n<<2)|0;n=a+((ue(h[we>>2]|0,u)|0)+n<<1)|0;s=u;while(1){if(s>>>0>=(h[Ee>>2]|0)>>>0)break t;t=h[we>>2]|0;l=n;n=n+(t<<1)|0;if((s|0)==(u|0)){C=h[e>>2]|0;O=(k[n>>1]|0)>>>4&255;h[C+100>>2]=C+24+(b[21291+O>>0]<<2);C=El(C)|0;O=b[21547+O>>0]|0;S=O^C;h[c>>2]=(C|0)!=(O|0)?M:L;O=h[we>>2]|0;C=l+(t-O<<1)|0;P=l+(O+t<<1)|0;T=l+(t+~O<<1)|0;d[T>>1]=k[T>>1]|2;d[C>>1]=d[C>>1]|d[3436+(S<<1)>>1];C=t+1|0;T=l+(C-O<<1)|0;d[T>>1]=k[T>>1]|4;T=t+-1|0;t=l+(T<<1)|0;d[t>>1]=d[t>>1]|d[3436+(S+2<<1)>>1];d[n>>1]=k[n>>1]|4096;t=l+(C<<1)|0;d[t>>1]=d[t>>1]|d[3436+(S+4<<1)>>1];T=l+(O+T<<1)|0;d[T>>1]=k[T>>1]|1;d[P>>1]=d[P>>1]|d[3436+(S+6<<1)>>1];C=l+(O+C<<1)|0;d[C>>1]=k[C>>1]|8;d[n>>1]=k[n>>1]&49151}else il(e,n,c,X,L);s=s+1|0;if(s>>>0>=4)break;else c=c+(h[ye>>2]<<2)|0}}else{O=t+n|0;il(e,a+(O<<1)|0,f+(n<<2)|0,X,L);C=(h[ye>>2]|0)+n|0;O=(h[we>>2]|0)+O|0;il(e,a+(O<<1)|0,f+(C<<2)|0,X,L);C=(h[ye>>2]|0)+C|0;O=(h[we>>2]|0)+O|0;il(e,a+(O<<1)|0,f+(C<<2)|0,X,L);il(e,a+((h[we>>2]|0)+O<<1)|0,f+((h[ye>>2]|0)+C<<2)|0,X,L)}}while(0);t=h[ye>>2]|0}while(g>>>0>>0);l=t;n=h[Ee>>2]|0}f=f+(l<<2<<2)|0;a=a+(h[we>>2]<<2<<1)|0;o=o+4|0;if(o>>>0>=(n&-4)>>>0){c=f;u=a;break}}}else{t=h[ye>>2]|0;c=f;u=a;o=0}if(!t)break;else s=0;do{if(o>>>0>>0){f=c+(s<<2)|0;a=u+(s<<1)|0;l=o;while(1){a=a+(h[we>>2]<<1)|0;il(e,a,f,X,L);t=h[ye>>2]|0;l=l+1|0;n=h[Ee>>2]|0;if(l>>>0>=n>>>0)break;else f=f+(t<<2)|0}}s=s+1|0}while(s>>>0>>0)}else{t=h[Ee>>2]|0;if(!t)break;T=R+92|0;S=R+100|0;P=R+96|0;O=0-L|0;n=h[ye>>2]|0;M=0;while(1){if(!n){f=M+4|0;n=0}else{g=M|3;y=M|1;E=y+1|0;A=y+3|0;f=M+4|0;v=0;while(1){do{if(g>>>0>>0){t=h[we>>2]|0;a=v+1|0;p=(ue(t,y)|0)+a|0;n=h[_e>>2]|0;if(d[n+(p<<1)>>1]&20735){p=0;t=0;C=127;break}p=n+((ue(t,E)|0)+a<<1)|0;if(d[p>>1]&20735){p=0;t=0;C=127;break}p=n+((ue(t,g)|0)+a<<1)|0;if(d[p>>1]&20735){p=0;t=0;C=127;break}p=n+((ue(t,A)|0)+a<<1)|0;if(d[p>>1]&20665){p=0;t=0;C=127;break}h[S>>2]=T;if(!(El(R)|0))break;h[S>>2]=P;t=(El(R)|0)<<1;p=1;t=t|(El(R)|0);C=127}else{p=0;t=0;C=127}}while(0);if((C|0)==127){C=0;a=t+M|0;t:do{if(a>>>0>>0){m=a;do{t=h[Ee>>2]|0;if(m>>>0>=t>>>0)break t;Oe=m;m=m+1|0;l=(ue(h[we>>2]|0,m)|0)+v|0;s=l+1|0;o=h[_e>>2]|0;u=o+(s<<1)|0;c=(ue(h[ye>>2]|0,Oe)|0)+v|0;c=(h[ge>>2]|0)+(c<<2)|0;w=h[e>>2]|0;n=d[u>>1]|0;n=(Oe|0)==(g|0)|(Oe|0)==(t+-1|0)?n&-1095:n;do{if(!(p&(Oe|0)==(a|0))){if(n&20480)break;t=w+100|0;h[t>>2]=w+24+(b[20267+(n&255|q)>>0]<<2);if(El(w)|0)C=133}else{t=w+100|0;C=133}}while(0);if((C|0)==133){C=0;n=n>>>4&255;h[t>>2]=w+24+(b[21291+n>>0]<<2);Oe=El(w)|0;w=b[21547+n>>0]|0;n=w^Oe;h[c>>2]=(Oe|0)!=(w|0)?O:L;w=h[we>>2]|0;Oe=o+(s-w<<1)|0;c=o+(w+s<<1)|0;s=o+(s+~w<<1)|0;d[s>>1]=k[s>>1]|2;d[Oe>>1]=d[Oe>>1]|d[3436+(n<<1)>>1];Oe=l+2|0;s=o+(Oe-w<<1)|0;d[s>>1]=k[s>>1]|4;s=o+(l<<1)|0;d[s>>1]=d[s>>1]|d[3436+(n+2<<1)>>1];d[u>>1]=k[u>>1]|4096;s=o+(Oe<<1)|0;d[s>>1]=d[s>>1]|d[3436+(n+4<<1)>>1];s=o+(w+l<<1)|0;d[s>>1]=k[s>>1]|1;d[c>>1]=d[c>>1]|d[3436+(n+6<<1)>>1];Oe=o+(w+Oe<<1)|0;d[Oe>>1]=k[Oe>>1]|8}d[u>>1]=k[u>>1]&49151}while(m>>>0>>0)}}while(0);a=v+1|0}n=h[ye>>2]|0;t=h[Ee>>2]|0;if(a>>>0>>0)v=a;else break}}if(f>>>0>>0)M=f;else break}}}while(0);if(F){C=163;break r}h[R+100>>2]=R+96;El(R)|0;El(R)|0;El(R)|0;El(R)|0;C=163;break}default:C=163}}while(0);do{if((C|0)==163){C=0;if(I)break;_l(V);ml(V,18,0,46);ml(V,17,0,3);ml(V,0,0,4)}}while(0);r=r+1|0;Oe=(r|0)==3;i=(Oe<<31>>31)+i|0;r=Oe?0:r;D=D+1|0;if(D>>>0>=(h[x>>2]|0)>>>0)break i}}}while(0);t=h[W>>2]|0}N=N+1|0}while(N>>>0>>0)}r=(h[G>>2]|0)-(h[ne>>2]|0)|0;i=(h[J>>2]|0)-(h[fe>>2]|0)|0;t=h[te>>2]|0;if(t&1){Oe=h[Te>>2]|0;r=(h[Oe+(ce*136|0)+8>>2]|0)+r-(h[Oe+(ce*136|0)>>2]|0)|0}if(t&2){Oe=h[Te>>2]|0;i=(h[Oe+(ce*136|0)+12>>2]|0)+i-(h[Oe+(ce*136|0)+4>>2]|0)|0}u=h[ge>>2]|0;c=h[ye>>2]|0;w=h[Ee>>2]|0;t=h[Se>>2]|0;if((t|0)!=0?(ve=1<>2]|0;l=(a|0)>-1?a:0-a|0;if((l|0)>=(ve|0)){Oe=l>>h[Se>>2];h[f>>2]=(a|0)<0?0-Oe|0:Oe}s=s+1|0}while((s|0)!=(c|0))}o=o+1|0}while((o|0)!=(w|0))}s=(ue(i,Ae)|0)+r|0;o=h[ke>>2]|0;r=(w|0)==0;if((h[me>>2]|0)==1){if(!r){r=(c|0)==0;f=0;do{if(!r){i=ue(f,c)|0;t=(ue(f,Ae)|0)+s|0;n=0;do{h[o+(t+n<<2)>>2]=(h[u+(n+i<<2)>>2]|0)/2|0;n=n+1|0}while((n|0)!=(c|0))}f=f+1|0}while((f|0)!=(w|0))}}else if(!r){l=(c|0)==0;r=u;a=0;f=o+(s<<2)|0;while(1){if(!l){i=r;t=0;n=f;while(1){_[n>>2]=+(h[i>>2]|0)*+_[ae>>2];t=t+1|0;if((t|0)==(c|0))break;else{i=i+4|0;n=n+4|0}}r=r+(c<<2)|0}a=a+1|0;if((a|0)==(w|0))break;else f=f+(Ae<<2)|0}}Q=Q+1|0}while(Q>>>0<(ue(h[ee>>2]|0,h[$>>2]|0)|0)>>>0);r=h[oe>>2]|0;t=h[se>>2]|0}ie=ie+1|0}while(ie>>>0<(ue(r,t)|0)>>>0);i=h[he>>2]|0}le=le+1|0}while(le>>>0>>0);r=h[Me>>2]|0}be=be+1|0;if(be>>>0>=r>>>0){r=1;C=201;break}}if((C|0)==201)return r|0;return 0}function Qa(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,w=0.0,p=0.0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0.0,V=0,G=0,K=0,W=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0.0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0,Re=0,Le=0,Ce=0,De=0,xe=0,Ie=0,Be=0,Ne=0,Fe=0,Ue=0,je=0,He=0,Ye=0,qe=0,Xe=0,ze=0,Ve=0,Ge=0,Ke=0,We=0,Je=0,Ze=0,Qe=0,$e=0;Je=i+32|0;m[Je>>3]=0.0;Ze=i+16|0;f=h[Ze>>2]|0;if(!f){Qe=1;return Qe|0}We=i+20|0;Xe=r+5584|0;ze=e+16|0;Ve=e+20|0;Ge=e+8|0;Ke=e+36|0;He=(t|0)!=0;Ye=e+32|0;qe=e+12|0;i=f;je=0;e:while(1){r=h[We>>2]|0;f=h[Xe>>2]|0;Fe=(h[r+(je*52|0)+8>>2]|0)-(h[r+(je*52|0)>>2]|0)|0;Ue=r+(je*52|0)+16|0;a=h[Ue>>2]|0;if(a){Ne=r+(je*52|0)+24|0;Ie=r+(je*52|0)+32|0;Be=f+(je*1080|0)+20|0;Ce=f+(je*1080|0)+16|0;xe=He&je>>>0>>0;De=t+(je<<3)|0;i=a;Le=0;do{Oe=h[Ne>>2]|0;Re=Oe+(Le*136|0)+24|0;r=h[Re>>2]|0;if(r){Me=Oe+(Le*136|0)+16|0;Te=Oe+(Le*136|0)+20|0;Se=~Le;Pe=Le+-1|0;i=h[Te>>2]|0;f=h[Me>>2]|0;Ae=0;do{Ee=Oe+(Le*136|0)+28+(Ae*36|0)+32|0;if(ue(i,f)|0){_e=67108864/(~~+J(+(+_[Ee>>2]*8192.0))|0)|0;me=Oe+(Le*136|0)+28+(Ae*36|0)+20|0;pe=Oe+(Le*136|0)+28+(Ae*36|0)|0;ve=Oe+(Le*136|0)+28+(Ae*36|0)+4|0;ge=Oe+(Le*136|0)+28+(Ae*36|0)+16|0;ye=((_e|0)<0)<<31>>31;we=0;do{r=h[me>>2]|0;be=r+(we*40|0)+16|0;ke=r+(we*40|0)+20|0;if(ue(h[ke>>2]|0,h[be>>2]|0)|0){de=r+(we*40|0)+24|0;he=0;do{ce=h[de>>2]|0;a=h[ce+(he*52|0)+12>>2]|0;i=a-(h[pe>>2]|0)|0;l=h[ce+(he*52|0)+16>>2]|0;r=l-(h[ve>>2]|0)|0;f=h[ge>>2]|0;if(f&1){oe=h[Ne>>2]|0;i=(h[oe+(Pe*136|0)+8>>2]|0)+i-(h[oe+(Pe*136|0)>>2]|0)|0}if(f&2){oe=h[Ne>>2]|0;r=(h[oe+(Pe*136|0)+12>>2]|0)+r-(h[oe+(Pe*136|0)+4>>2]|0)|0}if(!($a(e,(h[ce+(he*52|0)+20>>2]|0)-a|0,(h[ce+(he*52|0)+24>>2]|0)-l|0)|0)){i=0;Qe=173;break e}s=h[ze>>2]|0;o=h[Ve>>2]|0;u=Fe-s|0;v=(ue(r,Fe)|0)+i|0;g=h[Ie>>2]|0;h[Ge>>2]=g+(v<<2);h[Ke>>2]=Fe;i=(o|0)==0;if((h[Be>>2]|0)==1){if(!i){a=(s|0)==0;l=0;i=0;while(1){if(!a){r=0;f=i;while(1){oe=g+(f+v<<2)|0;h[oe>>2]=h[oe>>2]<<6;r=r+1|0;if((r|0)==(s|0))break;else f=f+1|0}i=s+i|0}l=l+1|0;if((l|0)==(o|0))break;else i=i+u|0}}}else if(!i){a=(s|0)==0;l=0;i=0;while(1){if(!a){r=0;f=i;while(1){oe=g+(f+v<<2)|0;se=h[oe>>2]|0;se=Qs(se|0,((se|0)<0)<<31>>31|0,_e|0,ye|0)|0;se=zs(se|0,j|0,4096,0)|0;se=Vs(se|0,j|0,18)|0;h[oe>>2]=se;r=r+1|0;if((r|0)==(s|0))break;else f=f+1|0}i=s+i|0}l=l+1|0;if((l|0)==(o|0))break;else i=i+u|0}}fe=h[ge>>2]|0;ae=(h[Ue>>2]|0)+Se|0;u=h[Be>>2]|0;le=+_[Ee>>2];se=h[Ce>>2]|0;oe=h[e>>2]|0;a=h[ze>>2]|0;do{if(!a)i=0;else{l=h[Ve>>2]|0;s=(l|0)==0;o=0;i=0;do{if(!s){r=h[Ke>>2]|0;f=0;do{ne=g+(v+((ue(f,r)|0)+o)<<2)|0;ne=h[ne>>2]|0;ne=(ne|0)>-1?ne:0-ne|0;i=(i|0)>(ne|0)?i:ne;f=f+1|0}while((f|0)!=(l|0))}o=o+1|0}while((o|0)!=(a|0));if(!i){i=0;break}if((i|0)>1){r=i;i=0}else{i=-5;break}while(1){r=r>>1;if((r|0)<=1)break;else i=i+1|0}i=i+-4|0}}while(0);te=ce+(he*52|0)+28|0;h[te>>2]=i;i=i+-1|0;_l(oe);ml(oe,18,0,46);ml(oe,17,0,3);ml(oe,0,0,4);ne=ce+(he*52|0)|0;cl(oe,h[ne>>2]|0);i:do{if((i|0)>-1){ie=ce+(he*52|0)+8|0;G=se&1;re=(G|0)!=0;K=(u|0)==1;W=(se&4|0)==0;G=(G|0)==0;Z=(se&2|0)==0;Q=(se&8|0)==0;$=fe<<8;ee=(se&32|0)==0;r=0;X=i;z=0.0;i=0;V=2;while(1){q=h[ie>>2]|0;D=re&(V>>>0<2?(X|0)<((h[te>>2]|0)+-4|0):0);r:do{switch(V|0){case 0:{L=1<>2]|0;if(!r){a=0;break r}C=(X|0)==0;l=h[ze>>2]|0;f=l;a=0;R=0;do{O=R;R=R+4|0;if(!f)f=0;else{S=(O|0)==-4;P=O|3;f=l;T=0;do{if(!S){M=O;do{r=h[Ve>>2]|0;if(M>>>0>=r>>>0)break;do{if(Q)r=0;else{if((M|0)==(P|0)){r=1;break}r=(M|0)==(r+-1|0)}}while(0);s=M;M=M+1|0;v=(ue(h[Ye>>2]|0,M)|0)+T|0;g=v+1|0;y=h[qe>>2]|0;A=y+(g<<1)|0;s=(ue(h[Ke>>2]|0,s)|0)+T|0;s=(h[Ge>>2]|0)+(s<<2)|0;E=h[e>>2]|0;o=d[A>>1]|0;o=r?o&-1095:o;r=o&255;if((r|0)!=0&(o&20480|0)==0){f=h[s>>2]|0;f=(((f|0)<0?0-f|0:f)&L|0)!=0;l=f&1;u=E+100|0;h[u>>2]=E+24+(b[20267+(r|$)>>0]<<2);if(D)kl(E,l);else dl(E,l);if(f){r=h[s>>2]|0;f=r>>>31;r=(r|0)<0?0-r|0:r;if(C)r=3708+((r&127)<<1)|0;else r=3452+((r>>>X&127)<<1)|0;a=(d[r>>1]|0)+a|0;r=o>>>4&255;h[u>>2]=E+24+(b[21291+r>>0]<<2);if(D)kl(E,f);else dl(E,b[21547+r>>0]^f);H=h[Ye>>2]|0;Y=y+(g-H<<1)|0;U=y+(H+g<<1)|0;F=y+(g+~H<<1)|0;d[F>>1]=k[F>>1]|2;d[Y>>1]=d[Y>>1]|d[3436+(f<<1)>>1];Y=v+2|0;F=y+(Y-H<<1)|0;d[F>>1]=k[F>>1]|4;F=y+(v<<1)|0;d[F>>1]=d[F>>1]|d[3436+((f|2)<<1)>>1];d[A>>1]=k[A>>1]|4096;F=y+(Y<<1)|0;d[F>>1]=d[F>>1]|d[3436+((f|4)<<1)>>1];F=y+(H+v<<1)|0;d[F>>1]=k[F>>1]|1;d[U>>1]=d[U>>1]|d[3436+((f|6)<<1)>>1];Y=y+(H+Y<<1)|0;d[Y>>1]=k[Y>>1]|8}d[A>>1]=k[A>>1]|16384}}while(M>>>0>>0);f=h[ze>>2]|0}T=T+1|0}while(T>>>0>>0);r=h[Ve>>2]|0;l=f}}while(R>>>0>>0);break}case 1:{T=1<>2]|0;if(!r){a=0;break r}S=(X|0)==0;l=h[ze>>2]|0;f=l;a=0;M=0;do{A=M;M=M+4|0;if(!f)f=0;else{y=(A|0)==-4;E=A|3;f=l;g=0;do{v=g;g=g+1|0;if(!y){u=A;do{r=h[Ve>>2]|0;if(u>>>0>=r>>>0)break;do{if(Q)r=0;else{if((u|0)==(E|0)){r=1;break}r=(u|0)==(r+-1|0)}}while(0);f=u;u=u+1|0;s=(ue(h[Ye>>2]|0,u)|0)+g|0;s=(h[qe>>2]|0)+(s<<1)|0;o=h[e>>2]|0;l=d[s>>1]|0;l=r?l&-1095:l;if((l&20480|0)==4096){f=(h[Ge>>2]|0)+((ue(h[Ke>>2]|0,f)|0)+v<<2)|0;f=h[f>>2]|0;f=(f|0)<0?0-f|0:f;if(S)r=4220+((f&127)<<1)|0;else r=3964+((f>>>X&127)<<1)|0;a=(d[r>>1]|0)+a|0;r=(f&T|0)!=0&1;h[o+100>>2]=o+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);if(D)kl(o,r);else dl(o,r);d[s>>1]=k[s>>1]|8192}}while(u>>>0>>0);f=h[ze>>2]|0}}while(g>>>0>>0);r=h[Ve>>2]|0;l=f}}while(M>>>0>>0);break}case 2:{B=h[e>>2]|0;N=1<>2]|0;if(!f)r=0;else{F=B+92|0;U=B+100|0;H=B+96|0;Y=(X|0)==0;a=h[ze>>2]|0;r=0;I=0;while(1){if(!a){l=I+4|0;a=0}else{P=I|3;O=I|1;R=O+1|0;L=O+3|0;l=I+4|0;C=I+1|0;D=I+2|0;x=I+3|0;S=0;while(1){do{if(P>>>0>>0){f=h[Ye>>2]|0;o=S+1|0;s=(ue(f,O)|0)+o|0;a=h[qe>>2]|0;s=d[a+(s<<1)>>1]|0;if(Q){M=a+((ue(f,R)|0)+o<<1)|0;T=a+((ue(f,P)|0)+o<<1)|0;f=a+((ue(f,L)|0)+o<<1)|0;f=((d[M>>1]|s|d[T>>1]|d[f>>1])&20735)==0&1}else{do{if(!(s&20735)){T=a+((ue(f,R)|0)+o<<1)|0;if(d[T>>1]&20735){f=1;break}T=a+((ue(f,P)|0)+o<<1)|0;if(d[T>>1]&20735){f=1;break}f=a+((ue(f,L)|0)+o<<1)|0;f=(d[f>>1]&20665)!=0}else f=1}while(0);f=f&1^1}if(!f){T=0;f=0;Qe=109;break}f=h[Ke>>2]|0;a=h[Ge>>2]|0;T=a+((ue(f,I)|0)+S<<2)|0;T=h[T>>2]|0;do{if(!(((T|0)<0?0-T|0:T)&N)){T=a+((ue(f,C)|0)+S<<2)|0;T=h[T>>2]|0;if(((T|0)<0?0-T|0:T)&N){f=1;break}T=a+((ue(f,D)|0)+S<<2)|0;T=h[T>>2]|0;if(((T|0)<0?0-T|0:T)&N){f=2;break}f=a+((ue(f,x)|0)+S<<2)|0;f=h[f>>2]|0;f=(((f|0)<0?0-f|0:f)&N|0)==0?4:3}else f=0}while(0);h[U>>2]=F;dl(B,(f|0)!=4&1);if((f|0)==4){s=o;break}h[U>>2]=H;dl(B,f>>>1);dl(B,f&1);T=1;Qe=109}else{T=0;f=0;Qe=109}}while(0);if((Qe|0)==109){Qe=0;M=f+I|0;t:do{if(M>>>0>>0){A=M;do{f=h[Ve>>2]|0;if(A>>>0>=f>>>0)break t;do{if(Q)f=0;else{if((A|0)==(P|0)){f=1;break}f=(A|0)==(f+-1|0)}}while(0);$e=A;A=A+1|0;u=(ue(h[Ye>>2]|0,A)|0)+S|0;v=u+1|0;g=h[qe>>2]|0;E=g+(v<<1)|0;a=(ue(h[Ke>>2]|0,$e)|0)+S|0;a=(h[Ge>>2]|0)+(a<<2)|0;y=h[e>>2]|0;s=d[E>>1]|0;o=f?s&-1095:s;do{if(!(T&($e|0)==(M|0))){if(s&20480)break;h[y+100>>2]=y+24+(b[20267+(o&255|$)>>0]<<2);$e=h[a>>2]|0;$e=((($e|0)<0?0-$e|0:$e)&N|0)!=0;dl(y,$e&1);if($e)Qe=117}else Qe=117}while(0);if((Qe|0)==117){Qe=0;a=h[a>>2]|0;f=(a|0)<0?0-a|0:a;if(Y)f=3708+((f&127)<<1)|0;else f=3452+((f>>>X&127)<<1)|0;r=(d[f>>1]|0)+r|0;$e=o>>>4&255;h[y+100>>2]=y+24+(b[21291+$e>>0]<<2);s=a>>>31;dl(y,b[21547+$e>>0]^s);y=h[Ye>>2]|0;$e=g+(v-y<<1)|0;o=g+(y+v<<1)|0;v=g+(v+~y<<1)|0;d[v>>1]=k[v>>1]|2;d[$e>>1]=d[$e>>1]|d[3436+(s<<1)>>1];$e=u+2|0;v=g+($e-y<<1)|0;d[v>>1]=k[v>>1]|4;v=g+(u<<1)|0;d[v>>1]=d[v>>1]|d[3436+((s|2)<<1)>>1];d[E>>1]=k[E>>1]|4096;v=g+($e<<1)|0;d[v>>1]=d[v>>1]|d[3436+((s|4)<<1)>>1];v=g+(y+u<<1)|0;d[v>>1]=k[v>>1]|1;d[o>>1]=d[o>>1]|d[3436+((s|6)<<1)>>1];$e=g+(y+$e<<1)|0;d[$e>>1]=k[$e>>1]|8}d[E>>1]=k[E>>1]&49151}while(A>>>0>>0)}}while(0);s=S+1|0}a=h[ze>>2]|0;f=h[Ve>>2]|0;if(s>>>0>>0)S=s;else break}}if(l>>>0>>0)I=l;else break}}if(ee){a=r;break r}gl(oe);a=r;break}default:a=r}}while(0);if(xe)w=+m[De>>3];else w=1.0;if(K)p=+Ia(ae,fe);else p=+Fa(ae,fe);p=+(1<>3]=+m[Je>>3]+p;do{if(W)Qe=137;else{if((X|0)<1&(V|0)==2){Qe=137;break}hl(oe);f=q+(i*24|0)+20|0;r=c[f>>0]|1;c[f>>0]=r;f=1}}while(0);do{if((Qe|0)==137){r=(h[te>>2]|0)+-4|0;if((V|0)!=0&(X|0)<(r|0))if(G)Qe=141;else Qe=140;else if(G|((V|0)!=2|(X|0)!=(r|0)))Qe=141;else Qe=140;if((Qe|0)==140){Qe=0;hl(oe);f=q+(i*24|0)+20|0;r=c[f>>0]|1;c[f>>0]=r;f=1;break}else if((Qe|0)==141){Qe=0;f=q+(i*24|0)+20|0;r=c[f>>0]&-2;c[f>>0]=r;f=3;break}}}while(0);Y=V+1|0;$e=(Y|0)==3;V=$e?0:Y;X=($e<<31>>31)+X|0;do{if((X|0)>0&(r&1)!=0)if(re&(V>>>0<2?(X|0)<((h[te>>2]|0)+-4|0):0)){bl(oe);break}else{pl(oe);break}}while(0);m[q+(i*24|0)+8>>3]=z;$e=(ul(oe)|0)+f|0;h[q+(i*24|0)>>2]=$e;if(!Z)wl(oe);i=i+1|0;if((X|0)<=-1)break i;else r=a}}else i=0}while(0);do{if(!(se&16)){if(se&1)break;hl(oe)}else vl(oe)}while(0);o=ce+(he*52|0)+48|0;h[o>>2]=i;if(i){a=ce+(he*52|0)+8|0;s=0;do{l=h[a>>2]|0;r=l+(s*24|0)|0;$e=h[r>>2]|0;if($e>>>0>(ul(oe)|0)>>>0){i=ul(oe)|0;h[r>>2]=i}else i=h[r>>2]|0;do{if(i>>>0>1){f=i+-1|0;if((c[(h[ne>>2]|0)+f>>0]|0)!=-1)break;h[r>>2]=f;i=f}}while(0);if(!s)r=0;else r=h[(h[a>>2]|0)+((s+-1|0)*24|0)>>2]|0;h[l+(s*24|0)+16>>2]=i-r;s=s+1|0}while(s>>>0<(h[o>>2]|0)>>>0)}he=he+1|0}while(he>>>0<(ue(h[ke>>2]|0,h[be>>2]|0)|0)>>>0);i=h[Te>>2]|0;f=h[Me>>2]|0}we=we+1|0}while(we>>>0<(ue(i,f)|0)>>>0);r=h[Re>>2]|0}Ae=Ae+1|0}while(Ae>>>0>>0);i=h[Ue>>2]|0}Le=Le+1|0}while(Le>>>0>>0);i=h[Ze>>2]|0}je=je+1|0;if(je>>>0>=i>>>0){i=1;Qe=173;break}}if((Qe|0)==173)return i|0;return 0}function $a(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;f=ue(r,i)|0;if(!(h[e+40>>2]|0)){a=e+24|0;l=e+8|0;t=h[l>>2]|0;do{if(f>>>0>(h[a>>2]|0)>>>0){Jn(t);n=f<<2;t=Wn(n)|0;h[l>>2]=t;if(!t){i=0;return i|0}else{h[a>>2]=f;break}}else n=f<<2}while(0);qs(t|0,0,n|0)|0}f=i+2|0;h[e+32>>2]=f;f=ue(r+2|0,f)|0;a=e+28|0;l=e+12|0;t=h[l>>2]|0;do{if(f>>>0>(h[a>>2]|0)>>>0){Jn(t);n=f<<1;t=Wn(n)|0;h[l>>2]=t;if(!t){i=0;return i|0}else{h[a>>2]=f;break}}else n=f<<1}while(0);qs(t|0,0,n|0)|0;h[e+16>>2]=i;h[e+20>>2]=r;i=1;return i|0}function el(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0;f=h[e>>2]|0;l=d[i>>1]|0;s=l&255;if(!((s|0)!=0&(l&20480|0)==0))return;a=f+100|0;h[a>>2]=f+24+(b[20267+(s|t<<8)>>0]<<2);if(El(f)|0){t=l>>>4&255;h[a>>2]=f+24+(b[21291+t>>0]<<2);l=El(f)|0;t=b[21547+t>>0]|0;s=t^l;h[r>>2]=(l|0)!=(t|0)?0-n|0:n;e=h[e+32>>2]|0;n=i+(0-e<<1)|0;t=i+(e<<1)|0;r=i+(~e<<1)|0;d[r>>1]=k[r>>1]|2;d[n>>1]=d[n>>1]|d[3436+(s<<1)>>1];n=i+(1-e<<1)|0;d[n>>1]=k[n>>1]|4;n=i+-2|0;d[n>>1]=d[n>>1]|d[3436+(s+2<<1)>>1];d[i>>1]=k[i>>1]|4096;n=i+2|0;d[n>>1]=d[n>>1]|d[3436+(s+4<<1)>>1];n=i+(e+-1<<1)|0;d[n>>1]=k[n>>1]|1;d[t>>1]=d[t>>1]|d[3436+(s+6<<1)>>1];e=i+(e+1<<1)|0;d[e>>1]=k[e>>1]|8}d[i>>1]=k[i>>1]|16384;return}function il(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;f=h[e>>2]|0;l=d[i>>1]|0;if(l&20480){e=d[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;d[i>>1]=e;return}a=f+100|0;h[a>>2]=f+24+(b[20267+(l&255|t<<8)>>0]<<2);if(!(El(f)|0)){e=d[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;d[i>>1]=e;return}t=l>>>4&255;h[a>>2]=f+24+(b[21291+t>>0]<<2);a=El(f)|0;t=b[21547+t>>0]|0;l=t^a;h[r>>2]=(a|0)!=(t|0)?0-n|0:n;e=h[e+32>>2]|0;n=i+(0-e<<1)|0;t=i+(e<<1)|0;r=i+(~e<<1)|0;d[r>>1]=k[r>>1]|2;d[n>>1]=d[n>>1]|d[3436+(l<<1)>>1];n=i+(1-e<<1)|0;d[n>>1]=k[n>>1]|4;n=i+-2|0;d[n>>1]=d[n>>1]|d[3436+(l+2<<1)>>1];d[i>>1]=k[i>>1]|4096;n=i+2|0;d[n>>1]=d[n>>1]|d[3436+(l+4<<1)>>1];n=i+(e+-1<<1)|0;d[n>>1]=k[n>>1]|1;d[t>>1]=d[t>>1]|d[3436+(l+6<<1)>>1];e=i+(e+1<<1)|0;d[e>>1]=k[e>>1]|8;e=d[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;d[i>>1]=e;return}function rl(e,i,r,t,n,f,a,l,s,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;var k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;D=v;v=v+16|0;C=D;h[C>>2]=0;k=h[e>>2]|0;P=h[e+4>>2]|0;e=h[P+76>>2]|0;R=e+(i*5640|0)|0;_=(d[P>>1]|0)==4?2:1;m=P+80|0;if(!(h[m>>2]|0))w=1;else w=h[k+16>>2]|0;L=(h[e+(i*5640|0)+420>>2]|0)+1|0;O=Cr(k,P,i,c)|0;if(!O){i=0;v=D;return i|0}h[f>>2]=0;e:do{if(!c){if(w){e=0;i:while(1){c=0;u=O;k=0;while(1){Dr(O,P,i,k,e,o,0);if((h[u+80>>2]|0)==-1){e=9;break i}s=u+36|0;r:while(1){do{if(!(Ir(u)|0))break r}while((h[s>>2]|0)>>>0>=t>>>0);h[C>>2]=0;if(!(al(i,r,R,u,n,C,a,l)|0)){e=13;break i}S=h[C>>2]|0;h[f>>2]=(h[f>>2]|0)+S;a=a-S|0;c=S+c|0;n=n+S|0}S=h[m>>2]|0;if((S|0)!=0&c>>>0>S>>>0){e=17;break i}k=k+1|0;if(k>>>0<_>>>0)u=u+232|0;else break}e=e+1|0;if(e>>>0>=w>>>0)break e}if((e|0)==9){Lr(O,L);i=0;v=D;return i|0}else if((e|0)==13){Lr(O,L);i=0;v=D;return i|0}else if((e|0)==17){Lr(O,L);i=0;v=D;return i|0}}}else{Dr(O,P,i,u,s,o,c);M=O+(u*232|0)|0;if((h[O+(u*232|0)+80>>2]|0)==-1){Lr(O,L);i=0;v=D;return i|0}o=O+(u*232|0)+36|0;p=(l|0)==0;g=r+840|0;y=l+12|0;E=l+8|0;A=l+88|0;m=P+93|0;_=e+(i*5640|0)+5636|0;while(1){do{if(!(Ir(M)|0))break e}while((h[o>>2]|0)>>>0>=t>>>0);h[C>>2]=0;if(!(al(i,r,R,M,n,C,a,l)|0))break;w=h[C>>2]|0;n=n+w|0;a=a-w|0;h[f>>2]=(h[f>>2]|0)+w;if(!p){if(!(h[y>>2]|0))e=h[E>>2]|0;else{k=h[A>>2]|0;e=h[E>>2]|0;u=h[k+(i*592|0)+548>>2]|0;c=u+(e<<5)|0;if(!e){s=(h[k+(i*592|0)+12>>2]|0)+1|0;k=((s|0)<0)<<31>>31;P=c;h[P>>2]=s;h[P+4>>2]=k}else{if((((b[_>>0]|0)>>>2|(b[m>>0]|0)>>>3)&1)!=0?(S=c,T=h[S>>2]|0,S=h[S+4>>2]|0,!((T|0)==0&(S|0)==0)):0){s=T;k=S}else{s=u+(e+-1<<5)+16|0;s=zs(h[s>>2]|0,h[s+4>>2]|0,1,0)|0;k=j}P=c;h[P>>2]=s;h[P+4>>2]=k}c=zs(s|0,k|0,-1,-1)|0;s=j;w=zs(c|0,s|0,w|0,0)|0;P=u+(e<<5)+16|0;h[P>>2]=w;h[P+4>>2]=j;P=u+(e<<5)+8|0;w=P;w=zs(c|0,s|0,h[w>>2]|0,h[w+4>>2]|0)|0;h[P>>2]=w;h[P+4>>2]=j}h[E>>2]=e+1}h[g>>2]=(h[g>>2]|0)+1}Lr(O,L);i=0;v=D;return i|0}}while(0);Lr(O,L);i=1;v=D;return i|0}function tl(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0;Q=v;v=v+112|0;K=Q+64|0;W=Q+32|0;X=Q;q=Q+96|0;Y=Q+92|0;s=h[e>>2]|0;F=e+4|0;Z=h[F>>2]|0;a=h[Z+76>>2]|0;j=a+(i*5640|0)|0;H=a+(i*5640|0)+420|0;J=(h[H>>2]|0)+1|0;Z=Rr(s,Z,i)|0;if(!Z){$=0;v=Q;return $|0}U=s+16|0;N=a+(i*5640|0)+12|0;B=r+20|0;I=s+24|0;i=f;e=t;D=Z;x=0;e:while(1){if((h[D+80>>2]|0)==-1){$=4;break}a=Gn(h[U>>2]<<2)|0;if(!a){$=6;break}qs(a|0,1,h[U>>2]<<2|0)|0;if(Ir(D)|0){f=D+24|0;r=D+28|0;C=D+36|0;s=D+32|0;L=i;R=e;while(1){if((h[N>>2]|0)>>>0>(h[C>>2]|0)>>>0){i=h[f>>2]|0;e=h[B>>2]|0;if((h[r>>2]|0)>>>0<(h[e+(i*52|0)+20>>2]|0)>>>0){h[a+(i<<2)>>2]=0;O=h[F>>2]|0;h[Y>>2]=0;if(!(ll(O,e,j,D,q,R,Y,L,l)|0)){$=45;break e}P=h[Y>>2]|0;if(!(h[q>>2]|0))e=P;else{S=L-P|0;M=R+P|0;h[Y>>2]=0;i=h[r>>2]|0;o=h[(h[B>>2]|0)+((h[f>>2]|0)*52|0)+24>>2]|0;E=o+(i*136|0)+24|0;e=h[E>>2]|0;i:do{if(!e){e=M;$=43}else{A=R+L|0;u=e;O=0;y=o+(i*136|0)+28|0;o=M;r:while(1){e=h[s>>2]|0;i=h[y+20>>2]|0;if(((h[y+8>>2]|0)!=(h[y>>2]|0)?(h[y+12>>2]|0)!=(h[y+4>>2]|0):0)?(G=ue(h[i+(e*40|0)+20>>2]|0,h[i+(e*40|0)+16>>2]|0)|0,(G|0)!=0):0){T=0;e=h[i+(e*40|0)+24>>2]|0;b=o;while(1){p=e+40|0;if(!(h[p>>2]|0))i=b;else{g=e+44|0;i=h[g>>2]|0;do{if(!i){d=h[e+4>>2]|0;h[g>>2]=1;h[e+36>>2]=0}else{o=i+-1|0;u=h[e+4>>2]|0;if((h[u+(o<<5)+8>>2]|0)!=(h[u+(o<<5)+20>>2]|0)){d=u+(o<<5)|0;break}h[g>>2]=i+1;d=u+(i<<5)|0}}while(0);m=e+36|0;i=e+32|0;_=b;c=d+28|0;o=h[c>>2]|0;if((o+_|0)>>>0<_>>>0|(b+o|0)>>>0>A>>>0){i=O;e=T;break r}u=h[m>>2]|0;_=b;w=d;while(1){d=o+u|0;if(d>>>0>>0){i=O;e=T;$=29;break e}b=h[e>>2]|0;if(d>>>0>(h[i>>2]|0)>>>0){o=Zn(b,d)|0;if(!o){$=32;break e}u=h[m>>2]|0;k=h[c>>2]|0;h[i>>2]=k+u;h[e>>2]=o;b=o;o=k}Gs(b+u|0,_|0,o|0)|0;o=w+8|0;u=h[o>>2]|0;if(!u){h[w>>2]=e;d=h[m>>2]|0;h[w+4>>2]=d}else d=h[m>>2]|0;b=h[c>>2]|0;k=_;_=_+b|0;c=h[w+24>>2]|0;u=c+u|0;h[o>>2]=u;o=h[p>>2]|0;h[p>>2]=o-c;h[w+12>>2]=u;u=b+d|0;h[m>>2]=u;d=w+16|0;h[d>>2]=(h[d>>2]|0)+b;if((o|0)==(c|0)){i=_;break}h[g>>2]=(h[g>>2]|0)+1;d=_;c=w+60|0;o=h[c>>2]|0;if((o+d|0)>>>0>>0?1:(k+(o+b)|0)>>>0>A>>>0){i=O;e=T;break r}else w=w+32|0}h[e+48>>2]=h[g>>2]}T=T+1|0;if(T>>>0>=G>>>0){e=i;break}else{e=e+56|0;b=i}}i=h[E>>2]|0}else{i=u;e=o}O=O+1|0;if(O>>>0>=i>>>0){$=43;break i}else{u=i;y=y+36|0;o=e}}M=h[s>>2]|0;T=h[r>>2]|0;O=h[f>>2]|0;h[X>>2]=o;h[X+4>>2]=S;h[X+8>>2]=e;h[X+12>>2]=M;h[X+16>>2]=i;h[X+20>>2]=T;h[X+24>>2]=O;Zt(l,2,21803,X)|0;e=h[Y>>2]|0}}while(0);if(($|0)==43){$=0;e=e-M|0;h[Y>>2]=e}e=e+P|0}o=h[f>>2]|0;P=h[r>>2]|0;i=(h[I>>2]|0)+(o*52|0)+36|0;O=h[i>>2]|0;h[i>>2]=P>>>0>O>>>0?P:O;i=e}else $=47}else{e=h[B>>2]|0;$=47}if(($|0)==47){$=0;O=h[F>>2]|0;h[Y>>2]=0;if(!(ll(O,e,j,D,q,R,Y,L,l)|0)){$=69;break e}p=h[Y>>2]|0;if(!(h[q>>2]|0))e=p;else{o=L-p|0;y=h[r>>2]|0;E=h[f>>2]|0;e=h[(h[B>>2]|0)+(E*52|0)+24>>2]|0;h[Y>>2]=0;m=h[e+(y*136|0)+24>>2]|0;if(!m)e=0;else{g=h[s>>2]|0;i=0;_=e+(y*136|0)+28|0;while(1){u=h[_+20>>2]|0;if(((h[_+8>>2]|0)!=(h[_>>2]|0)?(h[_+12>>2]|0)!=(h[_+4>>2]|0):0)?(z=ue(h[u+(g*40|0)+20>>2]|0,h[u+(g*40|0)+16>>2]|0)|0,(z|0)!=0):0){e=0;w=h[u+(g*40|0)+24>>2]|0;while(1){b=w+40|0;i:do{if(h[b>>2]|0){k=w+44|0;u=h[k>>2]|0;do{if(!u){d=h[w+4>>2]|0;h[k>>2]=1;h[w+36>>2]=0}else{c=u+-1|0;d=h[w+4>>2]|0;if((h[d+(c<<5)+8>>2]|0)!=(h[d+(c<<5)+20>>2]|0)){d=d+(c<<5)|0;break}h[k>>2]=u+1;d=d+(u<<5)|0}}while(0);O=h[Y>>2]|0;u=h[d+28>>2]|0;c=u+O|0;if(c>>>0>>0|c>>>0>o>>>0){f=g;r=y;s=E;$=65;break e}while(1){h[Y>>2]=c;O=h[d+24>>2]|0;P=d+8|0;h[P>>2]=(h[P>>2]|0)+O;P=h[b>>2]|0;h[b>>2]=P-O;if((P|0)==(O|0))break i;h[k>>2]=(h[k>>2]|0)+1;O=h[Y>>2]|0;u=h[d+60>>2]|0;c=u+O|0;if(c>>>0>>0|c>>>0>o>>>0){f=g;r=y;s=E;$=65;break e}else d=d+32|0}}}while(0);e=e+1|0;if(e>>>0>=z>>>0)break;else w=w+56|0}}i=i+1|0;if(i>>>0>=m>>>0)break;else _=_+36|0}e=h[Y>>2]|0}e=e+p|0}o=h[f>>2]|0;i=e}if((h[a+(o<<2)>>2]|0)!=0?(V=(h[I>>2]|0)+(o*52|0)+36|0,(h[V>>2]|0)==0):0)h[V>>2]=(h[(h[B>>2]|0)+(o*52|0)+20>>2]|0)+-1;e=R+i|0;i=L-i|0;if(!(Ir(D)|0))break;else{L=i;R=e}}}Qn(a);x=x+1|0;if(x>>>0>(h[H>>2]|0)>>>0){a=e;$=75;break}else D=D+232|0}if(($|0)==4){Lr(Z,J);$=0;v=Q;return $|0}else if(($|0)==6){Lr(Z,J);$=0;v=Q;return $|0}else if(($|0)==29){n=h[s>>2]|0;t=h[r>>2]|0;K=h[f>>2]|0;h[W>>2]=o;h[W+4>>2]=u;h[W+8>>2]=~o;h[W+12>>2]=e;h[W+16>>2]=n;h[W+20>>2]=i;h[W+24>>2]=t;h[W+28>>2]=K;Zt(l,1,21888,W)|0;$=45}else if(($|0)==32){Qn(h[e>>2]|0);h[e>>2]=0;h[i>>2]=0;$=45}else if(($|0)==65){h[K>>2]=u;h[K+4>>2]=o;h[K+8>>2]=e;h[K+12>>2]=f;h[K+16>>2]=i;h[K+20>>2]=r;h[K+24>>2]=s;Zt(l,1,21987,K)|0;$=69}else if(($|0)==75){Lr(Z,J);h[n>>2]=a-t;$=1;v=Q;return $|0}if(($|0)==45){Lr(Z,J);Qn(a);$=0;v=Q;return $|0}else if(($|0)==69){Lr(Z,J);Qn(a);$=0;v=Q;return $|0}return 0}function nl(e,i){e=e|0;i=i|0;var r=0;r=Kn(1,8)|0;if(!r){e=0;return e|0}h[r>>2]=e;h[r+4>>2]=i;e=r;return e|0}function fl(e){e=e|0;if(!e)return;Qn(e);return}function al(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0.0,I=0,B=0;_=h[t+28>>2]|0;I=h[t+32>>2]|0;B=h[t+36>>2]|0;w=h[(h[i+20>>2]|0)+((h[t+24>>2]|0)*52|0)+24>>2]|0;if(!(h[r>>2]&2))C=n;else{c[n>>0]=-1;c[n+1>>0]=-111;c[n+2>>0]=0;c[n+3>>0]=4;C=i+840|0;c[n+4>>0]=(h[C>>2]|0)>>>8;c[n+5>>0]=h[C>>2];a=a+-6|0;C=n+6|0}if((B|0)==0?(k=w+(_*136|0)+24|0,(h[k>>2]|0)!=0):0){d=w+(_*136|0)+28|0;b=0;while(1){t=h[d+20>>2]|0;ft(h[t+(I*40|0)+32>>2]|0);o=t+(I*40|0)+36|0;ft(h[o>>2]|0);u=ue(h[t+(I*40|0)+20>>2]|0,h[t+(I*40|0)+16>>2]|0)|0;if(u){t=t+(I*40|0)+24|0;i=d+28|0;s=0;do{D=h[t>>2]|0;h[D+(s*52|0)+40>>2]=0;ba(h[o>>2]|0,s,(h[i>>2]|0)-(h[D+(s*52|0)+28>>2]|0)|0);s=s+1|0}while((s|0)!=(u|0))}b=b+1|0;if(b>>>0>=(h[k>>2]|0)>>>0)break;else d=d+36|0}}R=Ea()|0;if(!R){f=0;return f|0}Ta(R,C,a);Pa(R,1,1);L=w+(_*136|0)+28|0;D=w+(_*136|0)+24|0;if(h[D>>2]|0){T=B+1|0;P=L;O=0;while(1){u=h[P+20>>2]|0;S=ue(h[u+(I*40|0)+20>>2]|0,h[u+(I*40|0)+16>>2]|0)|0;d=u+(I*40|0)+24|0;t=(S|0)==0;if(!t){i=u+(I*40|0)+32|0;s=h[d>>2]|0;o=0;while(1){if((h[s+40>>2]|0)==0?(h[(h[s+4>>2]|0)+(B*24|0)>>2]|0)!=0:0)ba(h[i>>2]|0,o,B);o=o+1|0;if((o|0)==(S|0))break;else s=s+52|0}if(!t){M=u+(I*40|0)+32|0;A=u+(I*40|0)+36|0;y=h[d>>2]|0;E=0;while(1){t=(h[y+4>>2]|0)+(B*24|0)|0;g=y+40|0;if(!(h[g>>2]|0))ka(R,h[M>>2]|0,E,T);else Pa(R,(h[t>>2]|0)!=0&1,1);i=h[t>>2]|0;if(i){if(!(h[g>>2]|0)){h[y+32>>2]=3;ka(R,h[A>>2]|0,E,999);i=h[t>>2]|0}e:do{switch(i|0){case 1:{Pa(R,0,1);break}case 2:{Pa(R,2,2);break}default:{if(i>>>0<6){Pa(R,i+-3|12,4);break e}if(i>>>0<37){Pa(R,i+-6|480,9);break e}if(i>>>0<165)Pa(R,i+-37|65408,16)}}}while(0);d=h[g>>2]|0;i=h[t>>2]|0;v=i+d|0;p=y+8|0;if(d>>>0>>0){_=y+32|0;k=d+-1+i|0;o=0;u=0;s=0;w=(h[p>>2]|0)+(d*24|0)|0;while(1){s=s+1|0;u=(h[w+16>>2]|0)+u|0;if((c[w+20>>0]&1)!=0|(d|0)==(k|0)){if((u|0)>1){i=0;do{u=u>>1;i=i+1|0}while((u|0)>1)}else i=0;b=h[_>>2]|0;if((s|0)>1){u=0;do{s=s>>1;u=u+1|0}while((s|0)>1);s=u}else s=0;u=i+1-b-s|0;o=(o|0)>(u|0)?o:u;u=0;s=0}d=d+1|0;if((d|0)==(v|0))break;else w=w+24|0}if((o|0)>0){i=o;while(1){Pa(R,1,1);if((i|0)>1)i=i+-1|0;else{i=u;break}}}else i=u}else{o=0;i=0;s=0}Pa(R,0,1);k=y+32|0;h[k>>2]=(h[k>>2]|0)+o;o=h[g>>2]|0;if(o>>>0>>0){b=(h[p>>2]|0)+(o*24|0)|0;while(1){s=s+1|0;u=(h[b+16>>2]|0)+i|0;if((c[b+20>>0]&1)==0?(o|0)!=((h[g>>2]|0)+-1+(h[t>>2]|0)|0):0)i=u;else{d=h[k>>2]|0;if((s|0)>1){i=0;do{s=s>>1;i=i+1|0}while((s|0)>1)}else i=0;Pa(R,u,i+d|0);i=0;s=0}o=o+1|0;if((o|0)==(v|0))break;else b=b+24|0}}}E=E+1|0;if((E|0)==(S|0))break;else y=y+52|0}}}O=O+1|0;if(O>>>0>=(h[D>>2]|0)>>>0)break;else P=P+36|0}}if(!(Ra(R)|0)){Aa(R);f=0;return f|0}i=Ma(R)|0;t=C+i|0;a=a-i|0;Aa(R);if(h[r>>2]&4){c[t>>0]=-1;c[C+(i+1)>>0]=-110;a=a+-2|0;t=C+(i+2)|0}p=(l|0)!=0;if(p?(h[l+12>>2]|0)!=0:0){C=t-n|0;r=(h[(h[l+88>>2]|0)+(e*592|0)+548>>2]|0)+(h[l+8>>2]<<5)+8|0;h[r>>2]=C;h[r+4>>2]=((C|0)<0)<<31>>31}i=h[D>>2]|0;e:do{if(i){v=l+12|0;g=l+8|0;y=l+88|0;w=L;_=0;i:while(1){s=h[w+20>>2]|0;k=ue(h[s+(I*40|0)+20>>2]|0,h[s+(I*40|0)+16>>2]|0)|0;s=h[s+(I*40|0)+24>>2]|0;if(k){if(p){b=0;while(1){d=h[s+4>>2]|0;i=d+(B*24|0)|0;if(h[i>>2]|0){o=d+(B*24|0)+4|0;u=h[o>>2]|0;if(u>>>0>a>>>0){t=0;a=81;break i}Gs(t|0,h[d+(B*24|0)+16>>2]|0,u|0)|0;r=s+40|0;h[r>>2]=(h[r>>2]|0)+(h[i>>2]|0);r=h[o>>2]|0;t=t+r|0;a=a-r|0;if((h[v>>2]|0)!=0?(r=(h[(h[y>>2]|0)+(e*592|0)+548>>2]|0)+(h[g>>2]<<5)+24|0,x=+m[d+(B*24|0)+8>>3]+ +m[r>>3],m[r>>3]=x,+m[l>>3]>3]=x}b=b+1|0;if(b>>>0>=k>>>0)break;else s=s+52|0}}else{b=0;while(1){i=h[s+4>>2]|0;o=i+(B*24|0)|0;if(h[o>>2]|0){u=i+(B*24|0)+4|0;d=h[u>>2]|0;if(d>>>0>a>>>0){t=0;a=81;break i}Gs(t|0,h[i+(B*24|0)+16>>2]|0,d|0)|0;r=s+40|0;h[r>>2]=(h[r>>2]|0)+(h[o>>2]|0);r=h[u>>2]|0;a=a-r|0;t=t+r|0}b=b+1|0;if(b>>>0>=k>>>0)break;else s=s+52|0}}i=h[D>>2]|0}_=_+1|0;if(_>>>0>=i>>>0)break e;else w=w+36|0}if((a|0)==81)return t|0}}while(0);h[f>>2]=t-n+(h[f>>2]|0);f=1;return f|0}function ll(e,i,r,t,n,f,a,l,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;var o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0;U=v;v=v+64|0;N=U+40|0;B=U+32|0;E=U+24|0;y=U+16|0;p=U+8|0;m=U;g=U+48|0;F=U+44|0;h[F>>2]=f;M=h[t+28>>2]|0;I=t+24|0;A=h[i+((h[I>>2]|0)*52|0)+24>>2]|0;D=t+36|0;if((h[D>>2]|0)==0?(_=A+(M*136|0)+24|0,o=h[_>>2]|0,(o|0)!=0):0){w=t+32|0;b=0;k=A+(M*136|0)+28|0;while(1){i=h[w>>2]|0;u=h[k+20>>2]|0;if((h[k+8>>2]|0)!=(h[k>>2]|0)?(h[k+12>>2]|0)!=(h[k+4>>2]|0):0){ft(h[u+(i*40|0)+32>>2]|0);ft(h[u+(i*40|0)+36>>2]|0);o=ue(h[u+(i*40|0)+20>>2]|0,h[u+(i*40|0)+16>>2]|0)|0;if(o){d=0;i=h[u+(i*40|0)+24>>2]|0;while(1){h[i+44>>2]=0;h[i+48>>2]=0;d=d+1|0;if((d|0)==(o|0))break;else i=i+56|0}}o=h[_>>2]|0}b=b+1|0;if(b>>>0>=o>>>0)break;else k=k+36|0}}do{if(h[r>>2]&2){if(l>>>0<6){Zt(s,2,22072,m)|0;break}i=h[F>>2]|0;if((c[i>>0]|0)==-1?(c[i+1>>0]|0)==-111:0){h[F>>2]=i+6;break}Zt(s,2,22114,p)|0}}while(0);C=Ea()|0;if(!C){f=0;v=U;return f|0}do{if(!(c[e+96>>0]&1))if(!(c[r+5636>>0]&2)){R=h[F>>2]|0;h[g>>2]=f+l-R;L=F;break}else{L=r+5168|0;R=h[L>>2]|0;g=r+5180|0;break}else{L=e+40|0;R=h[L>>2]|0;g=e+44|0}}while(0);Sa(C,R,h[g>>2]|0);if(!(Oa(C,1)|0)){La(C)|0;o=Ma(C)|0;i=R+o|0;Aa(C);do{if(h[r>>2]&4){if(((h[g>>2]|0)-i+(h[L>>2]|0)|0)>>>0<2){Zt(s,2,22135,y)|0;break}if((c[i>>0]|0)==-1?(c[R+(o+1)>>0]|0)==-110:0){i=R+(o+2)|0;break}Zt(s,2,22177,E)|0}}while(0);h[g>>2]=(h[g>>2]|0)+((h[L>>2]|0)-i);h[L>>2]=i;h[n>>2]=0;h[a>>2]=(h[F>>2]|0)-f;f=1;v=U;return f|0}O=A+(M*136|0)+24|0;i=h[O>>2]|0;e:do{if(i){S=t+32|0;P=r+5584|0;T=0;A=A+(M*136|0)+28|0;i:while(1){o=h[S>>2]|0;u=h[A+20>>2]|0;if(((h[A+8>>2]|0)!=(h[A>>2]|0)?(h[A+12>>2]|0)!=(h[A+4>>2]|0):0)?(x=ue(h[u+(o*40|0)+20>>2]|0,h[u+(o*40|0)+16>>2]|0)|0,(x|0)!=0):0){e=u+(o*40|0)+32|0;t=u+(o*40|0)+36|0;y=A+28|0;E=0;l=h[u+(o*40|0)+24>>2]|0;while(1){o=l+44|0;if(!(h[o>>2]|0))i=wa(C,h[e>>2]|0,E,(h[D>>2]|0)+1|0)|0;else i=Oa(C,1)|0;r:do{if(!i)h[l+40>>2]=0;else{if(!(h[o>>2]|0)){i=0;while(1)if(!(wa(C,h[t>>2]|0,E,i)|0))i=i+1|0;else break;h[l+24>>2]=1-i+(h[y>>2]|0);h[l+28>>2]=3}do{if(Oa(C,1)|0)if(Oa(C,1)|0){i=Oa(C,2)|0;if((i|0)!=3){i=i+3|0;break}i=Oa(C,5)|0;if((i|0)==31){i=(Oa(C,7)|0)+37|0;break}else{i=i+6|0;break}}else i=2;else i=1}while(0);m=l+40|0;h[m>>2]=i;i=0;while(1)if(!(Oa(C,1)|0))break;else i=i+1|0;p=l+28|0;h[p>>2]=(h[p>>2]|0)+i;o=h[o>>2]|0;do{if(!o){u=h[(h[P>>2]|0)+((h[I>>2]|0)*1080|0)+16>>2]|0;i=l+52|0;if(!(h[i>>2]|0)){h[i>>2]=10;d=l+4|0;o=Zn(h[d>>2]|0,320)|0;if(!o){o=i;u=d;i=d;d=66;break i}h[d>>2]=o}else o=h[l+4>>2]|0;h[o>>2]=0;h[o+4>>2]=0;h[o+8>>2]=0;h[o+12>>2]=0;h[o+16>>2]=0;h[o+20>>2]=0;h[o+24>>2]=0;h[o+28>>2]=0;if(u&4){h[o+20>>2]=1;o=0;break}o=o+20|0;if(!(u&1)){h[o>>2]=109;o=0;break}else{h[o>>2]=10;o=0;break}}else{k=o+-1|0;w=l+4|0;u=h[w>>2]|0;if((h[u+(k<<5)+8>>2]|0)!=(h[u+(k<<5)+20>>2]|0)){i=l+52|0;o=k;break}b=h[(h[P>>2]|0)+((h[I>>2]|0)*1080|0)+16>>2]|0;i=l+52|0;d=h[i>>2]|0;if((o+1|0)>>>0>d>>>0){M=d+10|0;h[i>>2]=M;u=Zn(u,M<<5)|0;if(!u){u=w;o=i;i=w;d=77;break i}h[w>>2]=u}M=u+(o<<5)|0;h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;h[M+12>>2]=0;h[M+16>>2]=0;h[M+20>>2]=0;h[M+24>>2]=0;h[M+28>>2]=0;if(b&4){h[u+(o<<5)+20>>2]=1;break}if(!(b&1)){h[u+(o<<5)+20>>2]=109;break}else{M=h[u+(k<<5)+20>>2]|0;h[u+(o<<5)+20>>2]=(M|0)==1|(M|0)==10?2:1;break}}}while(0);_=l+4|0;k=h[m>>2]|0;while(1){b=h[_>>2]|0;u=(h[b+(o<<5)+20>>2]|0)-(h[b+(o<<5)+8>>2]|0)|0;u=(u|0)<(k|0)?u:k;h[b+(o<<5)+24>>2]=u;b=h[p>>2]|0;if(u>>>0>1){d=0;while(1){d=d+1|0;if(u>>>0>3)u=u>>>1;else{u=d;break}}}else u=0;b=Oa(C,u+b|0)|0;u=h[_>>2]|0;h[u+(o<<5)+28>>2]=b;b=k-(h[u+(o<<5)+24>>2]|0)|0;if((b|0)<=0)break r;k=o+1|0;w=h[(h[P>>2]|0)+((h[I>>2]|0)*1080|0)+16>>2]|0;d=h[i>>2]|0;if((o+2|0)>>>0>d>>>0){M=d+10|0;h[i>>2]=M;u=Zn(u,M<<5)|0;if(!u){u=_;o=_;d=90;break i}h[_>>2]=u}M=u+(k<<5)|0;h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;h[M+12>>2]=0;h[M+16>>2]=0;h[M+20>>2]=0;h[M+24>>2]=0;h[M+28>>2]=0;if(w&4){h[u+(k<<5)+20>>2]=1;o=k;k=b;continue}if(!(w&1)){h[u+(k<<5)+20>>2]=109;o=k;k=b;continue}else{M=h[u+(o<<5)+20>>2]|0;h[u+(k<<5)+20>>2]=(M|0)==1|(M|0)==10?2:1;o=k;k=b;continue}}}}while(0);E=E+1|0;if(E>>>0>=x>>>0)break;else l=l+56|0}i=h[O>>2]|0}T=T+1|0;if(T>>>0>=i>>>0)break e;else A=A+36|0}if((d|0)==66){Qn(h[i>>2]|0);h[u>>2]=0;h[o>>2]=0;Aa(C);f=0;v=U;return f|0}else if((d|0)==77){Qn(h[i>>2]|0);h[u>>2]=0;h[o>>2]=0;Aa(C);f=0;v=U;return f|0}else if((d|0)==90){Qn(h[o>>2]|0);h[u>>2]=0;h[i>>2]=0;Aa(C);f=0;v=U;return f|0}}}while(0);if(!(La(C)|0)){Aa(C);f=0;v=U;return f|0}o=Ma(C)|0;i=R+o|0;Aa(C);do{if(h[r>>2]&4){if(((h[g>>2]|0)-i+(h[L>>2]|0)|0)>>>0<2){Zt(s,2,22135,B)|0;break}if((c[i>>0]|0)==-1?(c[R+(o+1)>>0]|0)==-110:0){i=R+(o+2)|0;break}Zt(s,2,22177,N)|0}}while(0);h[g>>2]=(h[g>>2]|0)+((h[L>>2]|0)-i);h[L>>2]=i;h[n>>2]=1;h[a>>2]=(h[F>>2]|0)-f;f=1;v=U;return f|0}function sl(){return Gn(104)|0}function ol(e){e=e|0;if(!e)return;Qn(e);return}function ul(e){e=e|0;return(h[e+12>>2]|0)-(h[e+16>>2]|0)|0}function cl(e,i){e=e|0;i=i|0;var r=0,t=0;h[e+100>>2]=e+24;h[e+4>>2]=32768;h[e>>2]=0;t=i+-1|0;h[e+12>>2]=t;r=e+8|0;h[r>>2]=12;h[r>>2]=(c[t>>0]|0)==-1?13:12;h[e+16>>2]=i;return}function dl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;n=h[e+100>>2]|0;f=h[n>>2]|0;l=(h[f+4>>2]|0)==(i|0);t=h[f>>2]|0;s=e+4|0;i=(h[s>>2]|0)-t|0;h[s>>2]=i;if(!l){if(i>>>0>>0){l=(h[e>>2]|0)+t|0;h[e>>2]=l;t=i;i=l;l=e}else{h[s>>2]=t;i=h[e>>2]|0;l=e}h[n>>2]=h[f+12>>2];a=e+8|0;f=e+12|0;n=i;i=h[a>>2]|0;while(1){t=t<<1;h[s>>2]=t;r=n<<1;h[l>>2]=r;i=i+-1|0;h[a>>2]=i;if(!i){i=h[f>>2]|0;t=c[i>>0]|0;do{if(t<<24>>24!=-1){if(!(r&134217728)){r=i+1|0;h[f>>2]=r;c[r>>0]=n>>>18;r=h[l>>2]&524287;h[l>>2]=r;h[a>>2]=8;i=8;break}c[i>>0]=t+1<<24>>24;i=h[f>>2]|0;if((c[i>>0]|0)==-1){e=h[l>>2]&134217727;h[l>>2]=e;r=i+1|0;h[f>>2]=r;c[r>>0]=e>>>20;r=h[l>>2]&1048575;h[l>>2]=r;h[a>>2]=7;i=7;break}else{r=i+1|0;h[f>>2]=r;c[r>>0]=(h[l>>2]|0)>>>19;r=h[l>>2]&524287;h[l>>2]=r;h[a>>2]=8;i=8;break}}else{r=i+1|0;h[f>>2]=r;c[r>>0]=n>>>19;r=h[l>>2]&1048575;h[l>>2]=r;h[a>>2]=7;i=7}}while(0);t=h[s>>2]|0}if(!(t&32768))n=r;else break}return}if(i&32768){h[e>>2]=(h[e>>2]|0)+t;return}if(i>>>0>>0){h[s>>2]=t;r=h[e>>2]|0;l=e}else{r=(h[e>>2]|0)+t|0;h[e>>2]=r;t=i;l=e}h[n>>2]=h[f+8>>2];a=e+8|0;f=e+12|0;n=r;i=h[a>>2]|0;while(1){t=t<<1;h[s>>2]=t;r=n<<1;h[l>>2]=r;i=i+-1|0;h[a>>2]=i;if(!i){i=h[f>>2]|0;t=c[i>>0]|0;do{if(t<<24>>24!=-1){if(!(r&134217728)){r=i+1|0;h[f>>2]=r;c[r>>0]=n>>>18;r=h[l>>2]&524287;h[l>>2]=r;h[a>>2]=8;i=8;break}c[i>>0]=t+1<<24>>24;i=h[f>>2]|0;if((c[i>>0]|0)==-1){e=h[l>>2]&134217727;h[l>>2]=e;r=i+1|0;h[f>>2]=r;c[r>>0]=e>>>20;r=h[l>>2]&1048575;h[l>>2]=r;h[a>>2]=7;i=7;break}else{r=i+1|0;h[f>>2]=r;c[r>>0]=(h[l>>2]|0)>>>19;r=h[l>>2]&524287;h[l>>2]=r;h[a>>2]=8;i=8;break}}else{r=i+1|0;h[f>>2]=r;c[r>>0]=n>>>19;r=h[l>>2]&1048575;h[l>>2]=r;h[a>>2]=7;i=7}}while(0);t=h[s>>2]|0}if(!(t&32768))n=r;else break}return}function hl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;f=h[e>>2]|0;t=f|65535;n=e+8|0;t=(t>>>0<((h[e+4>>2]|0)+f|0)>>>0?t:t+-32768|0)<>2];h[e>>2]=t;f=e+12|0;i=h[f>>2]|0;r=c[i>>0]|0;do{if(r<<24>>24!=-1){if(!(t&134217728)){i=i+1|0;h[f>>2]=i;c[i>>0]=t>>>19;i=h[e>>2]&524287;h[e>>2]=i;h[n>>2]=8;r=8;break}c[i>>0]=r+1<<24>>24;i=h[f>>2]|0;if((c[i>>0]|0)==-1){r=h[e>>2]&134217727;h[e>>2]=r;i=i+1|0;h[f>>2]=i;c[i>>0]=r>>>20;i=h[e>>2]&1048575;h[e>>2]=i;h[n>>2]=7;r=7;break}else{i=i+1|0;h[f>>2]=i;c[i>>0]=(h[e>>2]|0)>>>19;i=h[e>>2]&524287;h[e>>2]=i;h[n>>2]=8;r=8;break}}else{i=i+1|0;h[f>>2]=i;c[i>>0]=t>>>20;i=h[e>>2]&1048575;h[e>>2]=i;h[n>>2]=7;r=7}}while(0);i=i<>2]=i;r=h[f>>2]|0;t=c[r>>0]|0;do{if(t<<24>>24!=-1){if(!(i&134217728)){t=r+1|0;h[f>>2]=t;c[t>>0]=i>>>19;h[e>>2]=h[e>>2]&524287;h[n>>2]=8;break}c[r>>0]=t+1<<24>>24;i=h[f>>2]|0;if((c[i>>0]|0)==-1){r=h[e>>2]&134217727;h[e>>2]=r;t=i+1|0;h[f>>2]=t;c[t>>0]=r>>>20;h[e>>2]=h[e>>2]&1048575;h[n>>2]=7;break}else{t=i+1|0;h[f>>2]=t;c[t>>0]=(h[e>>2]|0)>>>19;h[e>>2]=h[e>>2]&524287;h[n>>2]=8;break}}else{t=r+1|0;h[f>>2]=t;c[t>>0]=i>>>20;h[e>>2]=h[e>>2]&1048575;h[n>>2]=7}}while(0);i=h[f>>2]|0;if((c[i>>0]|0)==-1)return;h[f>>2]=i+1;return}function bl(e){e=e|0;h[e>>2]=0;h[e+8>>2]=8;return}function kl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;r=e+8|0;t=(h[r>>2]|0)+-1|0;h[r>>2]=t;i=(i<>2]|0)|0;h[e>>2]=i;if(t)return;t=e+12|0;n=(h[t>>2]|0)+1|0;h[t>>2]=n;c[n>>0]=i;h[r>>2]=8;h[r>>2]=(c[h[t>>2]>>0]|0)==-1?7:8;h[e>>2]=0;return}function wl(e){e=e|0;h[e+28>>2]=1156;h[e+32>>2]=1156;h[e+36>>2]=1156;h[e+40>>2]=1156;h[e+44>>2]=1156;h[e+48>>2]=1156;h[e+52>>2]=1156;h[e+56>>2]=1156;h[e+60>>2]=1156;h[e+64>>2]=1156;h[e+68>>2]=1156;h[e+72>>2]=1156;h[e+76>>2]=1156;h[e+80>>2]=1156;h[e+84>>2]=1156;h[e+88>>2]=1156;h[e+96>>2]=2628;h[e+92>>2]=1252;h[e+24>>2]=1284;return}function _l(e){e=e|0;h[e+24>>2]=1156;h[e+28>>2]=1156;h[e+32>>2]=1156;h[e+36>>2]=1156;h[e+40>>2]=1156;h[e+44>>2]=1156;h[e+48>>2]=1156;h[e+52>>2]=1156;h[e+56>>2]=1156;h[e+60>>2]=1156;h[e+64>>2]=1156;h[e+68>>2]=1156;h[e+72>>2]=1156;h[e+76>>2]=1156;h[e+80>>2]=1156;h[e+84>>2]=1156;h[e+88>>2]=1156;h[e+92>>2]=1156;h[e+96>>2]=1156;return}function ml(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;h[e+24+(i<<2)>>2]=1156+((t<<1)+r<<4);return}function pl(e){e=e|0;var i=0,r=0;h[e+100>>2]=e+24;h[e+4>>2]=32768;h[e>>2]=0;i=e+8|0;h[i>>2]=12;r=e+12|0;e=(h[r>>2]|0)+-1|0;h[r>>2]=e;if((c[e>>0]|0)!=-1)return;h[i>>2]=13;return}function vl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;a=e+8|0;i=h[a>>2]|0;t=12-i|0;if((t|0)>0){n=e+12|0;r=h[e>>2]|0;do{i=r<>2]=i;h[a>>2]=0;r=h[n>>2]|0;f=c[r>>0]|0;do{if(f<<24>>24!=-1){if(!(i&134217728)){r=r+1|0;h[n>>2]=r;c[r>>0]=i>>>19;r=h[e>>2]&524287;h[e>>2]=r;h[a>>2]=8;i=8;break}c[r>>0]=f+1<<24>>24;i=h[n>>2]|0;if((c[i>>0]|0)==-1){f=h[e>>2]&134217727;h[e>>2]=f;r=i+1|0;h[n>>2]=r;c[r>>0]=f>>>20;r=h[e>>2]&1048575;h[e>>2]=r;h[a>>2]=7;i=7;break}else{r=i+1|0;h[n>>2]=r;c[r>>0]=(h[e>>2]|0)>>>19;r=h[e>>2]&524287;h[e>>2]=r;h[a>>2]=8;i=8;break}}else{r=r+1|0;h[n>>2]=r;c[r>>0]=i>>>20;r=h[e>>2]&1048575;h[e>>2]=r;h[a>>2]=7;i=7}}while(0);t=t-i|0}while((t|0)>0)}else n=e+12|0;i=h[n>>2]|0;r=c[i>>0]|0;if(r<<24>>24==-1)return;t=h[e>>2]|0;if(!(t&134217728)){f=i+1|0;h[n>>2]=f;c[f>>0]=t>>>19;h[e>>2]=h[e>>2]&524287;h[a>>2]=8;return}c[i>>0]=r+1<<24>>24;i=h[n>>2]|0;if((c[i>>0]|0)==-1){t=h[e>>2]&134217727;h[e>>2]=t;f=i+1|0;h[n>>2]=f;c[f>>0]=t>>>20;h[e>>2]=h[e>>2]&1048575;h[a>>2]=7;return}else{f=i+1|0;h[n>>2]=f;c[f>>0]=(h[e>>2]|0)>>>19;h[e>>2]=h[e>>2]&524287;h[a>>2]=8;return}}function gl(e){e=e|0;h[e+100>>2]=e+96;dl(e,1);dl(e,0);dl(e,1);dl(e,0);return}function yl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;h[e+100>>2]=e+24;h[e+16>>2]=i;h[e+20>>2]=i+r;n=e+12|0;h[n>>2]=i;do{if(r){f=b[i>>0]<<16;h[e>>2]=f;t=i+1|0;if((r|0)==1)r=255;else r=b[t>>0]|0;if((c[i>>0]|0)!=-1){h[n>>2]=t;t=f|r<<8;h[e>>2]=t;r=e+8|0;h[r>>2]=8;n=e;f=1;break}if(r>>>0>143){t=f|65280;h[e>>2]=t;r=e+8|0;h[r>>2]=8;n=e;f=1;break}else{h[n>>2]=t;t=f+(r<<9)|0;h[e>>2]=t;r=e+8|0;h[r>>2]=7;n=e;f=0;break}}else{h[e>>2]=16776960;r=e+8|0;h[r>>2]=8;t=16776960;n=e;f=1}}while(0);h[n>>2]=t<<7;h[r>>2]=f;h[e+4>>2]=32768;return 1}function El(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;r=h[e+100>>2]|0;t=h[r>>2]|0;a=h[t>>2]|0;u=e+4|0;f=(h[u>>2]|0)-a|0;h[u>>2]=f;n=h[e>>2]|0;if(n>>>16>>>0>>0){h[u>>2]=a;i=h[t+4>>2]|0;if(f>>>0>>0)h[r>>2]=h[t+8>>2];else{h[r>>2]=h[t+12>>2];i=1-i|0}l=e+8|0;s=e+12|0;o=e+20|0;t=h[l>>2]|0;r=n;do{do{if(!t){n=h[s>>2]|0;t=h[o>>2]|0;if((n|0)==(t|0)){r=r+65280|0;h[e>>2]=r;h[l>>2]=8;t=8;break}f=n+1|0;if((f|0)==(t|0))t=255;else t=b[f>>0]|0;if((c[n>>0]|0)!=-1){h[s>>2]=f;r=r+(t<<8)|0;h[e>>2]=r;h[l>>2]=8;t=8;break}if(t>>>0>143){r=r+65280|0;h[e>>2]=r;h[l>>2]=8;t=8;break}else{h[s>>2]=f;r=r+(t<<9)|0;h[e>>2]=r;h[l>>2]=7;t=7;break}}}while(0);a=a<<1;h[u>>2]=a;r=r<<1;h[e>>2]=r;t=t+-1|0;h[l>>2]=t}while(a>>>0<32768);return i|0}n=n-(a<<16)|0;h[e>>2]=n;if(f&32768){e=h[t+4>>2]|0;return e|0}i=h[t+4>>2]|0;if(a>>>0>f>>>0){h[r>>2]=h[t+12>>2];i=1-i|0}else h[r>>2]=h[t+8>>2];l=e+8|0;s=e+12|0;o=e+20|0;t=h[l>>2]|0;r=n;a=f;do{do{if(!t){n=h[s>>2]|0;t=h[o>>2]|0;if((n|0)==(t|0)){r=r+65280|0;h[e>>2]=r;h[l>>2]=8;t=8;break}f=n+1|0;if((f|0)==(t|0))t=255;else t=b[f>>0]|0;if((c[n>>0]|0)!=-1){h[s>>2]=f;r=r+(t<<8)|0;h[e>>2]=r;h[l>>2]=8;t=8;break}if(t>>>0>143){r=r+65280|0;h[e>>2]=r;h[l>>2]=8;t=8;break}else{h[s>>2]=f;r=r+(t<<9)|0;h[e>>2]=r;h[l>>2]=7;t=7;break}}}while(0);a=a<<1;h[u>>2]=a;r=r<<1;h[e>>2]=r;t=t+-1|0;h[l>>2]=t}while(a>>>0<32768);return i|0}function Al(){return Gn(28)|0}function Ml(e){e=e|0;if(!e)return;Qn(e);return}function Tl(e,i,r){e=e|0;i=i|0;r=r|0;h[e+20>>2]=i;h[e+8>>2]=r;h[e+12>>2]=0;c[e>>0]=0;h[e+4>>2]=0;return}function Sl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;n=e+4|0;i=h[n>>2]|0;do{if(!i){h[n>>2]=8;r=e+12|0;t=h[r>>2]|0;if((t|0)==(h[e+8>>2]|0)){c[e>>0]=-1;i=8;r=-1;break}if((c[e>>0]|0)==-1){h[n>>2]=7;i=7}else i=8;f=c[(h[e+20>>2]|0)+t>>0]|0;c[e>>0]=f;h[r>>2]=t+1;r=f}else r=c[e>>0]|0}while(0);f=i+-1|0;h[n>>2]=f;return(r&255)>>>f&1|0}function Pl(){var e=0;if(!(h[665]|0))e=2712;else{e=(je()|0)+60|0;e=h[e>>2]|0}return e|0}function Ol(e){e=e|0;var i=0,r=0;i=0;while(1){if((b[22198+i>>0]|0)==(e|0)){r=2;break}i=i+1|0;if((i|0)==87){i=87;e=22286;r=5;break}}if((r|0)==2)if(!i)e=22286;else{e=22286;r=5}if((r|0)==5)while(1){r=e;while(1){e=r+1|0;if(!(c[r>>0]|0))break;else r=e}i=i+-1|0;if(!i)break;else r=5}return e|0}function Rl(e){e=e|0;var i=0;if(e>>>0>4294963200){i=Pl()|0;h[i>>2]=0-e;e=-1}return e|0}function Ll(e,i){e=+e;i=i|0;var r=0,t=0,n=0;m[y>>3]=e;r=h[y>>2]|0;t=h[y+4>>2]|0;n=Vs(r|0,t|0,52)|0;n=n&2047;switch(n|0){case 0:{if(e!=0.0){e=+Ll(e*18446744073709551616.0,i);r=(h[i>>2]|0)+-64|0}else r=0;h[i>>2]=r;break}case 2047:break;default:{h[i>>2]=n+-1022;h[y>>2]=r;h[y+4>>2]=t&-2146435073|1071644672;e=+m[y>>3]}}return+e}function Cl(e,i){e=+e;i=i|0;return+ +Ll(e,i)}function Dl(e,i){e=+e;i=i|0;return+ +Bl(e,i)}function xl(e){e=+e;return~~+Il(e)|0}function Il(e){e=+e;var i=0;i=(_[y>>2]=e,h[y>>2]|0);if((i&2130706432)>>>0<=1249902592){i=(i|0)<0;e=i?e+-8388608.0+8388608.0:e+8388608.0+-8388608.0;if(e==0.0)e=i?-0.0:0.0}return+e}function Bl(e,i){e=+e;i=i|0;var r=0;if((i|0)>1023){e=e*8988465674311579538646525.0e283;r=i+-1023|0;if((r|0)>1023){r=i+-2046|0;r=(r|0)>1023?1023:r;e=e*8988465674311579538646525.0e283}}else if((i|0)<-1022){e=e*2.2250738585072014e-308;r=i+1022|0;if((r|0)<-1022){r=i+2044|0;r=(r|0)<-1022?-1022:r;e=e*2.2250738585072014e-308}}else r=i;r=Xs(r+1023|0,0,52)|0;i=j;h[y>>2]=r;h[y+4>>2]=i;return+(e*+m[y>>3])}function Nl(e,i,r){e=e|0;i=i|0;r=r|0;do{if(e){if(i>>>0<128){c[e>>0]=i;e=1;break}if(i>>>0<2048){c[e>>0]=i>>>6|192;c[e+1>>0]=i&63|128;e=2;break}if(i>>>0<55296|(i&-8192|0)==57344){c[e>>0]=i>>>12|224;c[e+1>>0]=i>>>6&63|128;c[e+2>>0]=i&63|128;e=3;break}if((i+-65536|0)>>>0<1048576){c[e>>0]=i>>>18|240;c[e+1>>0]=i>>>12&63|128;c[e+2>>0]=i>>>6&63|128;c[e+3>>0]=i&63|128;e=4;break}else{e=Pl()|0;h[e>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function Fl(e,i){e=e|0;i=i|0;if(!e)e=0;else e=Nl(e,i,0)|0;return e|0}function Ul(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;d=v;v=v+112|0;u=d+40|0;s=d+24|0;l=d+16|0;n=d;o=d+52|0;t=c[i>>0]|0;if(ms(24090,t<<24>>24,4)|0){r=Cs(1144)|0;if(!r)r=0;else{f=r;a=f+112|0;do{h[f>>2]=0;f=f+4|0}while((f|0)<(a|0));if(!(vs(i,43)|0))h[r>>2]=t<<24>>24==114?8:4;if(vs(i,101)|0){h[n>>2]=e;h[n+4>>2]=2;h[n+8>>2]=1;Oe(221,n|0)|0;t=c[i>>0]|0}if(t<<24>>24==97){h[l>>2]=e;h[l+4>>2]=3;t=Oe(221,l|0)|0;if(!(t&1024)){h[s>>2]=e;h[s+4>>2]=4;h[s+8>>2]=t|1024;Oe(221,s|0)|0}i=h[r>>2]|128;h[r>>2]=i}else i=h[r>>2]|0;h[r+60>>2]=e;h[r+44>>2]=r+120;h[r+48>>2]=1024;t=r+75|0;c[t>>0]=-1;if((i&8|0)==0?(h[u>>2]=e,h[u+4>>2]=21505,h[u+8>>2]=o,(qe(54,u|0)|0)==0):0)c[t>>0]=10;h[r+32>>2]=60;h[r+36>>2]=61;h[r+40>>2]=3;h[r+12>>2]=1;if(!(h[666]|0))h[r+76>>2]=-1;Ve(2688);t=h[671]|0;h[r+56>>2]=t;if(t)h[t+52>>2]=r;h[671]=r;Xe(2688)}}else{r=Pl()|0;h[r>>2]=22;r=0}v=d;return r|0}function jl(e){e=e|0;var i=0,r=0,t=0;r=(vs(e,43)|0)==0;i=c[e>>0]|0;r=r?i<<24>>24!=114&1:2;t=(vs(e,120)|0)==0;r=t?r:r|128;e=(vs(e,101)|0)==0;e=e?r:r|524288;e=i<<24>>24==114?e:e|64;e=i<<24>>24==119?e|512:e;return(i<<24>>24==97?e|1024:e)|0}function Hl(e){e=e|0;return 0}function Yl(e){e=e|0;return}function ql(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;a=i&255;c[l>>0]=a;t=e+16|0;n=h[t>>2]|0;if(!n)if(!(Jl(e)|0)){n=h[t>>2]|0;f=4}else r=-1;else f=4;do{if((f|0)==4){t=e+20|0;f=h[t>>2]|0;if(f>>>0>>0?(r=i&255,(r|0)!=(c[e+75>>0]|0)):0){h[t>>2]=f+1;c[f>>0]=a;break}if((Ro[h[e+36>>2]&63](e,l,1)|0)==1)r=b[l>>0]|0;else r=-1}}while(0);v=s;return r|0}function Xl(e){e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;h[r>>2]=h[e+60>>2];e=Rl(Ge(6,r|0)|0)|0;v=i;return e|0}function zl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+48|0;f=o+16|0;n=o;t=o+32|0;h[t>>2]=i;a=t+4|0;s=e+48|0;u=h[s>>2]|0;h[a>>2]=r-((u|0)!=0&1);l=e+44|0;h[t+8>>2]=h[l>>2];h[t+12>>2]=u;if(!(h[665]|0)){h[f>>2]=h[e+60>>2];h[f+4>>2]=t;h[f+8>>2]=2;t=Rl(Ze(145,f|0)|0)|0}else{Ce(5,e|0);h[n>>2]=h[e+60>>2];h[n+4>>2]=t;h[n+8>>2]=2;t=Rl(Ze(145,n|0)|0)|0;Pe(0)}if((t|0)>=1){a=h[a>>2]|0;if(t>>>0>a>>>0){f=h[l>>2]|0;n=e+4|0;h[n>>2]=f;h[e+8>>2]=f+(t-a);if(!(h[s>>2]|0))t=r;else{h[n>>2]=f+1;c[i+(r+-1)>>0]=c[f>>0]|0;t=r}}}else{h[e>>2]=h[e>>2]|t&48^16;h[e+8>>2]=0;h[e+4>>2]=0}v=o;return t|0}function Vl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+32|0;f=n;t=n+20|0;h[f>>2]=h[e+60>>2];h[f+4>>2]=0;h[f+8>>2]=i;h[f+12>>2]=t;h[f+16>>2]=r;if((Rl(Je(140,f|0)|0)|0)<0){h[t>>2]=-1;e=-1}else e=h[t>>2]|0;v=n;return e|0}function Gl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;k=v;v=v+48|0;c=k+16|0;u=k;t=k+32|0;d=e+28|0;n=h[d>>2]|0;h[t>>2]=n;b=e+20|0;n=(h[b>>2]|0)-n|0;h[t+4>>2]=n;h[t+8>>2]=i;h[t+12>>2]=r;s=e+60|0;o=e+44|0;i=2;n=n+r|0;while(1){if(!(h[665]|0)){h[c>>2]=h[s>>2];h[c+4>>2]=t;h[c+8>>2]=i;a=Rl(Qe(146,c|0)|0)|0}else{Ce(6,e|0);h[u>>2]=h[s>>2];h[u+4>>2]=t;h[u+8>>2]=i;a=Rl(Qe(146,u|0)|0)|0;Pe(0)}if((n|0)==(a|0)){n=6;break}if((a|0)<0){n=8;break}n=n-a|0;f=h[t+4>>2]|0;if(a>>>0<=f>>>0)if((i|0)==2){h[d>>2]=(h[d>>2]|0)+a;l=f;i=2}else l=f;else{l=h[o>>2]|0;h[d>>2]=l;h[b>>2]=l;l=h[t+12>>2]|0;a=a-f|0;t=t+8|0;i=i+-1|0}h[t>>2]=(h[t>>2]|0)+a;h[t+4>>2]=l-a}if((n|0)==6){c=h[o>>2]|0;h[e+16>>2]=c+(h[e+48>>2]|0);e=c;h[d>>2]=e;h[b>>2]=e}else if((n|0)==8){h[e+16>>2]=0;h[d>>2]=0;h[b>>2]=0;h[e>>2]=h[e>>2]|32;if((i|0)==2)r=0;else r=r-(h[t+4>>2]|0)|0}v=k;return r|0}function Kl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+80|0;t=n;h[e+36>>2]=61;if((h[e>>2]&64|0)==0?(h[t>>2]=h[e+60>>2],h[t+4>>2]=21505,h[t+8>>2]=n+12,(qe(54,t|0)|0)!=0):0)c[e+75>>0]=-1;t=Gl(e,i,r)|0;v=n;return t|0}function Wl(e){e=e|0;var i=0,r=0;i=e+74|0;r=c[i>>0]|0;c[i>>0]=r+255|r;i=e+20|0;r=e+44|0;if((h[i>>2]|0)>>>0>(h[r>>2]|0)>>>0)Ro[h[e+36>>2]&63](e,0,0)|0;h[e+16>>2]=0;h[e+28>>2]=0;h[i>>2]=0;i=h[e>>2]|0;if(i&20)if(!(i&4))i=-1;else{h[e>>2]=i|32;i=-1}else{i=h[r>>2]|0;h[e+8>>2]=i;h[e+4>>2]=i;i=0}return i|0}function Jl(e){e=e|0;var i=0,r=0;i=e+74|0;r=c[i>>0]|0;c[i>>0]=r+255|r;i=h[e>>2]|0;if(!(i&8)){h[e+8>>2]=0;h[e+4>>2]=0;i=h[e+44>>2]|0;h[e+28>>2]=i;h[e+20>>2]=i;h[e+16>>2]=i+(h[e+48>>2]|0);i=0}else{h[e>>2]=i|32;i=-1}return i|0}function Zl(e){e=e|0;var i=0,r=0,t=0;t=(h[e>>2]&1|0)!=0;if(!t){Ve(2688);r=h[e+52>>2]|0;i=e+56|0;if(r)h[r+56>>2]=h[i>>2];i=h[i>>2]|0;if(i)h[i+52>>2]=r;if((h[671]|0)==(e|0))h[671]=i;Xe(2688)}i=Ql(e)|0;i=Io[h[e+12>>2]&15](e)|0|i;r=h[e+92>>2]|0;if(r)Ds(r);if(!t)Ds(e);return i|0}function Ql(e){e=e|0;var i=0,r=0;do{if(e){if((h[e+76>>2]|0)<=-1){i=Ts(e)|0;break}r=(Hl(e)|0)==0;i=Ts(e)|0;if(!r)Yl(e)}else{if(!(h[677]|0))i=0;else i=Ql(h[677]|0)|0;Ve(2688);e=h[671]|0;if(e)do{if((h[e+76>>2]|0)>-1)r=Hl(e)|0;else r=0;if((h[e+20>>2]|0)>>>0>(h[e+28>>2]|0)>>>0)i=Ts(e)|0|i;if(r)Yl(e);e=h[e+56>>2]|0}while((e|0)!=0);Xe(2688)}}while(0);return i|0}function $l(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;n=v;v=v+32|0;t=n+16|0;r=n;if(ms(24090,c[i>>0]|0,4)|0){f=jl(i)|0|32768;h[r>>2]=e;h[r+4>>2]=f;h[r+8>>2]=438;r=Rl(Ke(5,r|0)|0)|0;if((r|0)>=0){e=Ul(r,i)|0;if(!e){h[t>>2]=r;Ge(6,t|0)|0;e=0}}else e=0}else{e=Pl()|0;h[e>>2]=22;e=0}v=n;return e|0}function es(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=v;v=v+16|0;n=t;h[n>>2]=r;r=ks(e,i,n)|0;v=t;return r|0}function is(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;if((h[i+76>>2]|0)>=0?(Hl(i)|0)!=0:0){if((c[i+75>>0]|0)!=(e|0)?(t=i+20|0,n=h[t>>2]|0,n>>>0<(h[i+16>>2]|0)>>>0):0){h[t>>2]=n+1;c[n>>0]=e;r=e&255}else r=ql(i,e)|0;Yl(i)}else a=3;do{if((a|0)==3){if((c[i+75>>0]|0)!=(e|0)?(f=i+20|0,r=h[f>>2]|0,r>>>0<(h[i+16>>2]|0)>>>0):0){h[f>>2]=r+1;c[r>>0]=e;r=e&255;break}r=ql(i,e)|0}}while(0);return r|0}function rs(e,i){e=e|0;i=i|0;return(cs(e,Es(e)|0,1,i)|0)+-1|0}function ts(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;l=ue(r,i)|0;if((h[t+76>>2]|0)>-1)s=Hl(t)|0;else s=0;n=t+74|0;f=c[n>>0]|0;c[n>>0]=f+255|f;n=t+4|0;f=h[n>>2]|0;a=(h[t+8>>2]|0)-f|0;if((a|0)>0){a=a>>>0>>0?a:l;Gs(e|0,f|0,a|0)|0;h[n>>2]=f+a;e=e+a|0;n=l-a|0}else n=l;e:do{if(!n)o=13;else{a=t+32|0;f=n;while(1){if(Wl(t)|0){r=f;break}n=Ro[h[a>>2]&63](t,e,f)|0;if((n+1|0)>>>0<2){r=f;break}if((f|0)==(n|0)){o=13;break e}else{e=e+n|0;f=f-n|0}}if(s)Yl(t);r=((l-r|0)>>>0)/(i>>>0)|0}}while(0);if((o|0)==13)if(s)Yl(t);return r|0}function ns(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if((r|0)==1)i=i-(h[e+8>>2]|0)+(h[e+4>>2]|0)|0;n=e+20|0;t=e+28|0;if((h[n>>2]|0)>>>0>(h[t>>2]|0)>>>0?(Ro[h[e+36>>2]&63](e,0,0)|0,(h[n>>2]|0)==0):0)i=-1;else{h[e+16>>2]=0;h[t>>2]=0;h[n>>2]=0;if((Ro[h[e+40>>2]&63](e,i,r)|0)<0)i=-1;else{h[e+8>>2]=0;h[e+4>>2]=0;h[e>>2]=h[e>>2]&-17;i=0}}return i|0}function fs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((h[e+76>>2]|0)>-1){t=(Hl(e)|0)==0;i=ns(e,i,r)|0;if(!t)Yl(e)}else i=ns(e,i,r)|0;return i|0}function as(e,i,r){e=e|0;i=i|0;r=r|0;return fs(e,i,r)|0}function ls(e){e=e|0;var i=0;if(!(h[e>>2]&128))i=1;else i=(h[e+20>>2]|0)>>>0>(h[e+28>>2]|0)>>>0?2:1;i=Ro[h[e+40>>2]&63](e,0,i)|0;if((i|0)>=0)i=i-(h[e+8>>2]|0)+(h[e+4>>2]|0)+(h[e+20>>2]|0)-(h[e+28>>2]|0)|0;return i|0}function ss(e){e=e|0;var i=0;if((h[e+76>>2]|0)>-1){i=(Hl(e)|0)==0;e=ls(e)|0}else e=ls(e)|0;return e|0}function os(e){e=e|0;return ss(e)|0}function us(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=r+16|0;n=h[t>>2]|0;if(!n)if(!(Jl(r)|0)){n=h[t>>2]|0;f=4}else t=0;else f=4;e:do{if((f|0)==4){a=r+20|0;f=h[a>>2]|0;if((n-f|0)>>>0>>0){t=Ro[h[r+36>>2]&63](r,e,i)|0;break}i:do{if((c[r+75>>0]|0)>-1){t=i;while(1){if(!t){n=f;t=0;break i}n=t+-1|0;if((c[e+n>>0]|0)==10)break;else t=n}if((Ro[h[r+36>>2]&63](r,e,t)|0)>>>0>>0)break e;i=i-t|0;e=e+t|0;n=h[a>>2]|0}else{n=f;t=0}}while(0);Gs(n|0,e|0,i|0)|0;h[a>>2]=(h[a>>2]|0)+i;t=t+i|0}}while(0);return t|0}function cs(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=ue(r,i)|0;if((h[t+76>>2]|0)>-1){f=(Hl(t)|0)==0;e=us(e,n,t)|0;if(!f)Yl(t)}else e=us(e,n,t)|0;if((e|0)!=(n|0))r=(e>>>0)/(i>>>0)|0;return r|0}function ds(e,i){e=e|0;i=i|0;var r=0,t=0;r=v;v=v+16|0;t=r;h[t>>2]=i;i=ks(h[676]|0,e,t)|0;v=r;return i|0}function hs(e){e=e|0;var i=0,r=0,t=0,n=0;t=h[676]|0;if((h[t+76>>2]|0)>-1)n=Hl(t)|0;else n=0;do{if((rs(e,t)|0)<0)i=1;else{if((c[t+75>>0]|0)!=10?(i=t+20|0,r=h[i>>2]|0,r>>>0<(h[t+16>>2]|0)>>>0):0){h[i>>2]=r+1;c[r>>0]=10;i=0;break}i=(ql(t,10)|0)<0}}while(0);if(n)Yl(t);return i<<31>>31|0}function bs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=v;v=v+16|0;n=t;h[n>>2]=r;r=_s(e,i,n)|0;v=t;return r|0}function ks(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+224|0;d=_+80|0;w=_+96|0;k=_;b=_+136|0;t=w;n=t+40|0;do{h[t>>2]=0;t=t+4|0}while((t|0)<(n|0));h[d>>2]=h[r>>2];if((Ss(0,i,d,k,w)|0)<0)r=-1;else{if((h[e+76>>2]|0)>-1)o=Hl(e)|0;else o=0;r=h[e>>2]|0;u=r&32;if((c[e+74>>0]|0)<1)h[e>>2]=r&-33;r=e+48|0;if(!(h[r>>2]|0)){n=e+44|0;f=h[n>>2]|0;h[n>>2]=b;a=e+28|0;h[a>>2]=b;l=e+20|0;h[l>>2]=b;h[r>>2]=80;s=e+16|0;h[s>>2]=b+80;t=Ss(e,i,d,k,w)|0;if(f){Ro[h[e+36>>2]&63](e,0,0)|0;t=(h[l>>2]|0)==0?-1:t;h[n>>2]=f;h[r>>2]=0;h[s>>2]=0;h[a>>2]=0;h[l>>2]=0}}else t=Ss(e,i,d,k,w)|0;r=h[e>>2]|0;h[e>>2]=r|u;if(o)Yl(e);r=(r&32|0)==0?t:-1}v=_;return r|0}function ws(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+128|0;n=u+112|0;o=u;f=o;a=2716;l=f+112|0;do{h[f>>2]=h[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));if((i+-1|0)>>>0>2147483646)if(!i){i=1;s=4}else{i=Pl()|0;h[i>>2]=75;i=-1}else{n=e;s=4}if((s|0)==4){s=-2-n|0;s=i>>>0>s>>>0?s:i;h[o+48>>2]=s;e=o+20|0;h[e>>2]=n;h[o+44>>2]=n;i=n+s|0;n=o+16|0;h[n>>2]=i;h[o+28>>2]=i;i=ks(o,r,t)|0;if(s){r=h[e>>2]|0;c[r+(((r|0)==(h[n>>2]|0))<<31>>31)>>0]=0}}v=u;return i|0}function _s(e,i,r){e=e|0;i=i|0;r=r|0;return ws(e,2147483647,i,r)|0}function ms(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i&255;t=(r|0)!=0;e:do{if(t&(e&3|0)!=0){n=i&255;while(1){if((c[e>>0]|0)==n<<24>>24){a=6;break e}e=e+1|0;r=r+-1|0;t=(r|0)!=0;if(!(t&(e&3|0)!=0)){a=5;break}}}else a=5}while(0);if((a|0)==5)if(t)a=6;else r=0;e:do{if((a|0)==6){n=i&255;if((c[e>>0]|0)!=n<<24>>24){t=ue(f,16843009)|0;i:do{if(r>>>0>3)while(1){f=h[e>>2]^t;if((f&-2139062144^-2139062144)&f+-16843009)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){a=11;break i}}else a=11}while(0);if((a|0)==11)if(!r){r=0;break}while(1){if((c[e>>0]|0)==n<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}}while(0);return((r|0)!=0?e:0)|0}function ps(e,i){e=e|0;i=i|0;var r=0,t=0;r=i;e:do{if(!((r^e)&3)){if(r&3)do{r=c[i>>0]|0;c[e>>0]=r;if(!(r<<24>>24))break e;i=i+1|0;e=e+1|0}while((i&3|0)!=0);r=h[i>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){t=e;while(1){i=i+4|0;e=t+4|0;h[t>>2]=r;r=h[i>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009)break;else t=e}}t=8}else t=8}while(0);if((t|0)==8){t=c[i>>0]|0;c[e>>0]=t;if(t<<24>>24)do{i=i+1|0;e=e+1|0;t=c[i>>0]|0;c[e>>0]=t}while(t<<24>>24!=0)}return e|0}function vs(e,i){e=e|0;i=i|0;e=gs(e,i)|0;return((c[e>>0]|0)==(i&255)<<24>>24?e:0)|0}function gs(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;t=i&255;e:do{if(!t)e=e+(Es(e)|0)|0;else{if(e&3){r=i&255;do{n=c[e>>0]|0;if(n<<24>>24==0?1:n<<24>>24==r<<24>>24)break e;e=e+1|0}while((e&3|0)!=0)}t=ue(t,16843009)|0;r=h[e>>2]|0;i:do{if(!((r&-2139062144^-2139062144)&r+-16843009))do{n=r^t;if((n&-2139062144^-2139062144)&n+-16843009)break i;e=e+4|0;r=h[e>>2]|0}while(((r&-2139062144^-2139062144)&r+-16843009|0)==0)}while(0);r=i&255;while(1){n=c[e>>0]|0;if(n<<24>>24==0?1:n<<24>>24==r<<24>>24)break;else e=e+1|0}}}while(0);return e|0}function ys(e,i){e=e|0;i=i|0;ps(e,i)|0;return e|0}function Es(e){e=e|0;var i=0,r=0,t=0;t=e;e:do{if(!(t&3))r=4;else{i=e;e=t;while(1){if(!(c[i>>0]|0))break e;i=i+1|0;e=i;if(!(e&3)){e=i;r=4;break}}}}while(0);if((r|0)==4){while(1){i=h[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009))e=e+4|0;else break}if((i&255)<<24>>24)do{e=e+1|0}while((c[e>>0]|0)!=0)}return e-t|0}function As(e){e=e|0;if(!(h[e+68>>2]|0))Yl(e);return}function Ms(e){e=e|0;if(!(h[e+68>>2]|0))Yl(e);return}function Ts(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;i=e+20|0;f=e+28|0;if((h[i>>2]|0)>>>0>(h[f>>2]|0)>>>0?(Ro[h[e+36>>2]&63](e,0,0)|0,(h[i>>2]|0)==0):0)i=-1;else{a=e+4|0;r=h[a>>2]|0;t=e+8|0;n=h[t>>2]|0;if(r>>>0>>0)Ro[h[e+40>>2]&63](e,r-n|0,1)|0;h[e+16>>2]=0;h[f>>2]=0;h[i>>2]=0;h[t>>2]=0;h[a>>2]=0;i=0}return i|0}function Ss(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0.0,u=0,k=0,w=0,_=0,p=0.0,g=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0;ae=v;v=v+624|0;ie=ae+24|0;te=ae+16|0;re=ae+588|0;J=ae+576|0;ee=ae;G=ae+536|0;fe=ae+8|0;ne=ae+528|0;N=(e|0)!=0;F=G+40|0;V=F;G=G+39|0;K=fe+4|0;W=J+12|0;J=J+11|0;Z=re;Q=W;$=Q-Z|0;U=-2-Z|0;H=Q+2|0;Y=ie+288|0;q=re+9|0;X=q;z=re+8|0;f=0;g=i;a=0;i=0;e:while(1){do{if((f|0)>-1)if((a|0)>(2147483647-f|0)){f=Pl()|0;h[f>>2]=75;f=-1;break}else{f=a+f|0;break}}while(0);a=c[g>>0]|0;if(!(a<<24>>24)){B=245;break}else l=g;i:while(1){switch(a<<24>>24){case 37:{a=l;B=9;break i}case 0:{a=l;break i}default:{}}I=l+1|0;a=c[I>>0]|0;l=I}i:do{if((B|0)==9)while(1){B=0;if((c[a+1>>0]|0)!=37)break i;l=l+1|0;a=a+2|0;if((c[a>>0]|0)==37)B=9;else break}}while(0);A=l-g|0;if(N?(h[e>>2]&32|0)==0:0)us(g,A,e)|0;if((l|0)!=(g|0)){g=a;a=A;continue}u=a+1|0;l=c[u>>0]|0;s=(l<<24>>24)+-48|0;if(s>>>0<10){I=(c[a+2>>0]|0)==36;u=I?a+3|0:u;l=c[u>>0]|0;_=I?s:-1;i=I?1:i}else _=-1;a=l<<24>>24;i:do{if((a&-32|0)==32){s=0;while(1){if(!(1<>24)+-32|s;u=u+1|0;l=c[u>>0]|0;a=l<<24>>24;if((a&-32|0)!=32){k=s;a=u;break}}}else{k=0;a=u}}while(0);do{if(l<<24>>24==42){s=a+1|0;l=(c[s>>0]|0)+-48|0;if(l>>>0<10?(c[a+2>>0]|0)==36:0){h[n+(l<<2)>>2]=10;i=1;a=a+3|0;l=h[t+((c[s>>0]|0)+-48<<3)>>2]|0}else{if(i){f=-1;break e}if(!N){E=k;a=s;i=0;I=0;break}i=(h[r>>2]|0)+(4-1)&~(4-1);l=h[i>>2]|0;h[r>>2]=i+4;i=0;a=s}if((l|0)<0){E=k|8192;I=0-l|0}else{E=k;I=l}}else{s=(l<<24>>24)+-48|0;if(s>>>0<10){l=0;do{l=(l*10|0)+s|0;a=a+1|0;s=(c[a>>0]|0)+-48|0}while(s>>>0<10);if((l|0)<0){f=-1;break e}else{E=k;I=l}}else{E=k;I=0}}}while(0);i:do{if((c[a>>0]|0)==46){s=a+1|0;l=c[s>>0]|0;if(l<<24>>24!=42){u=(l<<24>>24)+-48|0;if(u>>>0<10){a=s;l=0}else{a=s;u=0;break}while(1){l=(l*10|0)+u|0;a=a+1|0;u=(c[a>>0]|0)+-48|0;if(u>>>0>=10){u=l;break i}}}s=a+2|0;l=(c[s>>0]|0)+-48|0;if(l>>>0<10?(c[a+3>>0]|0)==36:0){h[n+(l<<2)>>2]=10;a=a+4|0;u=h[t+((c[s>>0]|0)+-48<<3)>>2]|0;break}if(i){f=-1;break e}if(N){a=(h[r>>2]|0)+(4-1)&~(4-1);u=h[a>>2]|0;h[r>>2]=a+4;a=s}else{a=s;u=0}}else u=-1}while(0);w=0;while(1){l=(c[a>>0]|0)+-65|0;if(l>>>0>57){f=-1;break e}s=a+1|0;l=c[25126+(w*58|0)+l>>0]|0;k=l&255;if((k+-1|0)>>>0<8){a=s;w=k}else{x=s;break}}if(!(l<<24>>24)){f=-1;break}s=(_|0)>-1;do{if(l<<24>>24==19)if(s){f=-1;break e}else B=52;else{if(s){h[n+(_<<2)>>2]=k;C=t+(_<<3)|0;D=h[C+4>>2]|0;B=ee;h[B>>2]=h[C>>2];h[B+4>>2]=D;B=52;break}if(!N){f=0;break e}Os(ee,k,r)}}while(0);if((B|0)==52?(B=0,!N):0){g=x;a=A;continue}_=c[a>>0]|0;_=(w|0)!=0&(_&15|0)==3?_&-33:_;s=E&-65537;D=(E&8192|0)==0?E:s;i:do{switch(_|0){case 110:switch(w|0){case 0:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 1:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 2:{g=h[ee>>2]|0;h[g>>2]=f;h[g+4>>2]=((f|0)<0)<<31>>31;g=x;a=A;continue e}case 3:{d[h[ee>>2]>>1]=f;g=x;a=A;continue e}case 4:{c[h[ee>>2]>>0]=f;g=x;a=A;continue e}case 6:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 7:{g=h[ee>>2]|0;h[g>>2]=f;h[g+4>>2]=((f|0)<0)<<31>>31;g=x;a=A;continue e}default:{g=x;a=A;continue e}}case 112:{w=D|8;u=u>>>0>8?u:8;_=120;B=64;break}case 88:case 120:{w=D;B=64;break}case 111:{s=ee;l=h[s>>2]|0;s=h[s+4>>2]|0;if((l|0)==0&(s|0)==0)a=F;else{a=F;do{a=a+-1|0;c[a>>0]=l&7|48;l=Vs(l|0,s|0,3)|0;s=j}while(!((l|0)==0&(s|0)==0))}if(!(D&8)){l=D;w=0;k=25606;B=77}else{w=V-a+1|0;l=D;u=(u|0)<(w|0)?w:u;w=0;k=25606;B=77}break}case 105:case 100:{l=ee;a=h[l>>2]|0;l=h[l+4>>2]|0;if((l|0)<0){a=Hs(0,0,a|0,l|0)|0;l=j;s=ee;h[s>>2]=a;h[s+4>>2]=l;s=1;k=25606;B=76;break i}if(!(D&2048)){k=D&1;s=k;k=(k|0)==0?25606:25608;B=76}else{s=1;k=25607;B=76}break}case 117:{l=ee;a=h[l>>2]|0;l=h[l+4>>2]|0;s=0;k=25606;B=76;break}case 99:{c[G>>0]=h[ee>>2];g=G;l=1;w=0;_=25606;a=F;break}case 109:{a=Pl()|0;a=Ol(h[a>>2]|0)|0;B=82;break}case 115:{a=h[ee>>2]|0;a=(a|0)!=0?a:25616;B=82;break}case 67:{h[fe>>2]=h[ee>>2];h[K>>2]=0;h[ee>>2]=fe;u=-1;B=86;break}case 83:{if(!u){Ls(e,32,I,0,D);a=0;B=98}else B=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=+m[ee>>3];h[te>>2]=0;m[y>>3]=o;if((h[y+4>>2]|0)>=0)if(!(D&2048)){C=D&1;L=C;C=(C|0)==0?25624:25629}else{L=1;C=25626}else{o=-o;L=1;C=25623}m[y>>3]=o;R=h[y+4>>2]&2146435072;do{if(R>>>0<2146435072|(R|0)==2146435072&0<0){p=+Cl(o,te)*2.0;l=p!=0.0;if(l)h[te>>2]=(h[te>>2]|0)+-1;P=_|32;if((P|0)==97){g=_&32;A=(g|0)==0?C:C+9|0;E=L|2;a=12-u|0;do{if(!(u>>>0>11|(a|0)==0)){o=8.0;do{a=a+-1|0;o=o*16.0}while((a|0)!=0);if((c[A>>0]|0)==45){o=-(o+(-p-o));break}else{o=p+o-o;break}}else o=p}while(0);l=h[te>>2]|0;a=(l|0)<0?0-l|0:l;a=Rs(a,((a|0)<0)<<31>>31,W)|0;if((a|0)==(W|0)){c[J>>0]=48;a=J}c[a+-1>>0]=(l>>31&2)+43;w=a+-2|0;c[w>>0]=_+15;k=(u|0)<1;s=(D&8|0)==0;l=re;while(1){C=~~o;a=l+1|0;c[l>>0]=b[25590+C>>0]|g;o=(o-+(C|0))*16.0;do{if((a-Z|0)==1){if(s&(k&o==0.0))break;c[a>>0]=46;a=l+2|0}}while(0);if(!(o!=0.0))break;else l=a}u=(u|0)!=0&(U+a|0)<(u|0)?H+u-w|0:$-w+a|0;s=u+E|0;Ls(e,32,I,s,D);if(!(h[e>>2]&32))us(A,E,e)|0;Ls(e,48,I,s,D^65536);a=a-Z|0;if(!(h[e>>2]&32))us(re,a,e)|0;l=Q-w|0;Ls(e,48,u-(a+l)|0,0,0);if(!(h[e>>2]&32))us(w,l,e)|0;Ls(e,32,I,s,D^8192);a=(s|0)<(I|0)?I:s;break}a=(u|0)<0?6:u;if(l){l=(h[te>>2]|0)+-28|0;h[te>>2]=l;o=p*268435456.0}else{o=p;l=h[te>>2]|0}R=(l|0)<0?ie:Y;O=R;l=R;do{S=~~o>>>0;h[l>>2]=S;l=l+4|0;o=(o-+(S>>>0))*1.0e9}while(o!=0.0);s=l;l=h[te>>2]|0;if((l|0)>0){k=R;while(1){w=(l|0)>29?29:l;u=s+-4|0;do{if(u>>>0>>0)u=k;else{l=0;do{S=Xs(h[u>>2]|0,0,w|0)|0;S=zs(S|0,j|0,l|0,0)|0;l=j;T=eo(S|0,l|0,1e9,0)|0;h[u>>2]=T;l=$s(S|0,l|0,1e9,0)|0;u=u+-4|0}while(u>>>0>=k>>>0);if(!l){u=k;break}u=k+-4|0;h[u>>2]=l}}while(0);while(1){if(s>>>0<=u>>>0)break;l=s+-4|0;if(!(h[l>>2]|0))s=l;else break}l=(h[te>>2]|0)-w|0;h[te>>2]=l;if((l|0)>0)k=u;else break}}else u=R;if((l|0)<0){A=((a+25|0)/9|0)+1|0;M=(P|0)==102;g=u;while(1){E=0-l|0;E=(E|0)>9?9:E;do{if(g>>>0>>0){l=(1<>>E;u=0;w=g;do{S=h[w>>2]|0;h[w>>2]=(S>>>E)+u;u=ue(S&l,k)|0;w=w+4|0}while(w>>>0>>0);l=(h[g>>2]|0)==0?g+4|0:g;if(!u){u=l;break}h[s>>2]=u;u=l;s=s+4|0}else u=(h[g>>2]|0)==0?g+4|0:g}while(0);l=M?R:u;s=(s-l>>2|0)>(A|0)?l+(A<<2)|0:s;l=(h[te>>2]|0)+E|0;h[te>>2]=l;if((l|0)>=0){g=u;break}else g=u}}else g=u;do{if(g>>>0>>0){l=(O-g>>2)*9|0;k=h[g>>2]|0;if(k>>>0<10)break;else u=10;do{u=u*10|0;l=l+1|0}while(k>>>0>=u>>>0)}else l=0}while(0);T=(P|0)==103;S=(a|0)!=0;u=a-((P|0)!=102?l:0)+((S&T)<<31>>31)|0;if((u|0)<(((s-O>>2)*9|0)+-9|0)){w=u+9216|0;M=(w|0)/9|0;u=R+(M+-1023<<2)|0;w=((w|0)%9|0)+1|0;if((w|0)<9){k=10;do{k=k*10|0;w=w+1|0}while((w|0)!=9)}else k=10;E=h[u>>2]|0;A=(E>>>0)%(k>>>0)|0;if((A|0)==0?(R+(M+-1022<<2)|0)==(s|0):0)k=g;else B=163;do{if((B|0)==163){B=0;p=(((E>>>0)/(k>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;w=(k|0)/2|0;do{if(A>>>0>>0)o=.5;else{if((A|0)==(w|0)?(R+(M+-1022<<2)|0)==(s|0):0){o=1.0;break}o=1.5}}while(0);do{if(L){if((c[C>>0]|0)!=45)break;p=-p;o=-o}}while(0);w=E-A|0;h[u>>2]=w;if(!(p+o!=p)){k=g;break}P=w+k|0;h[u>>2]=P;if(P>>>0>999999999){l=g;while(1){k=u+-4|0;h[u>>2]=0;if(k>>>0>>0){l=l+-4|0;h[l>>2]=0}P=(h[k>>2]|0)+1|0;h[k>>2]=P;if(P>>>0>999999999)u=k;else{g=l;u=k;break}}}l=(O-g>>2)*9|0;w=h[g>>2]|0;if(w>>>0<10){k=g;break}else k=10;do{k=k*10|0;l=l+1|0}while(w>>>0>=k>>>0);k=g}}while(0);P=u+4|0;g=k;s=s>>>0>P>>>0?P:s}A=0-l|0;while(1){if(s>>>0<=g>>>0){M=0;P=s;break}u=s+-4|0;if(!(h[u>>2]|0))s=u;else{M=1;P=s;break}}do{if(T){a=(S&1^1)+a|0;if((a|0)>(l|0)&(l|0)>-5){_=_+-1|0;a=a+-1-l|0}else{_=_+-2|0;a=a+-1|0}s=D&8;if(s)break;do{if(M){s=h[P+-4>>2]|0;if(!s){u=9;break}if(!((s>>>0)%10|0)){k=10;u=0}else{u=0;break}do{k=k*10|0;u=u+1|0}while(((s>>>0)%(k>>>0)|0|0)==0)}else u=9}while(0);s=((P-O>>2)*9|0)+-9|0;if((_|32|0)==102){s=s-u|0;s=(s|0)<0?0:s;a=(a|0)<(s|0)?a:s;s=0;break}else{s=s+l-u|0;s=(s|0)<0?0:s;a=(a|0)<(s|0)?a:s;s=0;break}}else s=D&8}while(0);E=a|s;k=(E|0)!=0&1;w=(_|32|0)==102;if(w){l=(l|0)>0?l:0;_=0}else{u=(l|0)<0?A:l;u=Rs(u,((u|0)<0)<<31>>31,W)|0;if((Q-u|0)<2)do{u=u+-1|0;c[u>>0]=48}while((Q-u|0)<2);c[u+-1>>0]=(l>>31&2)+43;O=u+-2|0;c[O>>0]=_;l=Q-O|0;_=O}A=L+1+a+k+l|0;Ls(e,32,I,A,D);if(!(h[e>>2]&32))us(C,L,e)|0;Ls(e,48,I,A,D^65536);do{if(w){u=g>>>0>R>>>0?R:g;l=u;do{s=Rs(h[l>>2]|0,0,q)|0;do{if((l|0)==(u|0)){if((s|0)!=(q|0))break;c[z>>0]=48;s=z}else{if(s>>>0<=re>>>0)break;do{s=s+-1|0;c[s>>0]=48}while(s>>>0>re>>>0)}}while(0);if(!(h[e>>2]&32))us(s,X-s|0,e)|0;l=l+4|0}while(l>>>0<=R>>>0);do{if(E){if(h[e>>2]&32)break;us(25658,1,e)|0}}while(0);if((a|0)>0&l>>>0

>>0){s=l;while(1){l=Rs(h[s>>2]|0,0,q)|0;if(l>>>0>re>>>0)do{l=l+-1|0;c[l>>0]=48}while(l>>>0>re>>>0);if(!(h[e>>2]&32))us(l,(a|0)>9?9:a,e)|0;s=s+4|0;l=a+-9|0;if(!((a|0)>9&s>>>0

>>0)){a=l;break}else a=l}}Ls(e,48,a+9|0,9,0)}else{w=M?P:g+4|0;if((a|0)>-1){k=(s|0)==0;u=g;do{l=Rs(h[u>>2]|0,0,q)|0;if((l|0)==(q|0)){c[z>>0]=48;l=z}do{if((u|0)==(g|0)){s=l+1|0;if(!(h[e>>2]&32))us(l,1,e)|0;if(k&(a|0)<1){l=s;break}if(h[e>>2]&32){l=s;break}us(25658,1,e)|0;l=s}else{if(l>>>0<=re>>>0)break;do{l=l+-1|0;c[l>>0]=48}while(l>>>0>re>>>0)}}while(0);s=X-l|0;if(!(h[e>>2]&32))us(l,(a|0)>(s|0)?s:a,e)|0;a=a-s|0;u=u+4|0}while(u>>>0>>0&(a|0)>-1)}Ls(e,48,a+18|0,18,0);if(h[e>>2]&32)break;us(_,Q-_|0,e)|0}}while(0);Ls(e,32,I,A,D^8192);a=(A|0)<(I|0)?I:A}else{w=(_&32|0)!=0;k=o!=o|0.0!=0.0;l=k?0:L;u=l+3|0;Ls(e,32,I,u,s);a=h[e>>2]|0;if(!(a&32)){us(C,l,e)|0;a=h[e>>2]|0}if(!(a&32))us(k?w?25650:25654:w?25642:25646,3,e)|0;Ls(e,32,I,u,D^8192);a=(u|0)<(I|0)?I:u}}while(0);g=x;continue e}default:{s=D;l=u;w=0;_=25606;a=F}}}while(0);i:do{if((B|0)==64){s=ee;l=h[s>>2]|0;s=h[s+4>>2]|0;k=_&32;if(!((l|0)==0&(s|0)==0)){a=F;do{a=a+-1|0;c[a>>0]=b[25590+(l&15)>>0]|k;l=Vs(l|0,s|0,4)|0;s=j}while(!((l|0)==0&(s|0)==0));B=ee;if((w&8|0)==0|(h[B>>2]|0)==0&(h[B+4>>2]|0)==0){l=w;w=0;k=25606;B=77}else{l=w;w=2;k=25606+(_>>4)|0;B=77}}else{a=F;l=w;w=0;k=25606;B=77}}else if((B|0)==76){a=Rs(a,l,F)|0;l=D;w=s;B=77}else if((B|0)==82){B=0;D=ms(a,0,u)|0;C=(D|0)==0;g=a;l=C?u:D-a|0;w=0;_=25606;a=C?a+u|0:D}else if((B|0)==86){B=0;l=0;a=0;k=h[ee>>2]|0;while(1){s=h[k>>2]|0;if(!s)break;a=Fl(ne,s)|0;if((a|0)<0|a>>>0>(u-l|0)>>>0)break;l=a+l|0;if(u>>>0>l>>>0)k=k+4|0;else break}if((a|0)<0){f=-1;break e}Ls(e,32,I,l,D);if(!l){a=0;B=98}else{s=0;u=h[ee>>2]|0;while(1){a=h[u>>2]|0;if(!a){a=l;B=98;break i}a=Fl(ne,a)|0;s=a+s|0;if((s|0)>(l|0)){a=l;B=98;break i}if(!(h[e>>2]&32))us(ne,a,e)|0;if(s>>>0>=l>>>0){a=l;B=98;break}else u=u+4|0}}}}while(0);if((B|0)==98){B=0;Ls(e,32,I,a,D^8192);g=x;a=(I|0)>(a|0)?I:a;continue}if((B|0)==77){B=0;s=(u|0)>-1?l&-65537:l;l=ee;l=(h[l>>2]|0)!=0|(h[l+4>>2]|0)!=0;if((u|0)!=0|l){l=(l&1^1)+(V-a)|0;g=a;l=(u|0)>(l|0)?u:l;_=k;a=F}else{g=F;l=0;_=k;a=F}}k=a-g|0;l=(l|0)<(k|0)?k:l;u=w+l|0;a=(I|0)<(u|0)?u:I;Ls(e,32,a,u,s);if(!(h[e>>2]&32))us(_,w,e)|0;Ls(e,48,a,u,s^65536);Ls(e,48,l,k,0);if(!(h[e>>2]&32))us(g,k,e)|0;Ls(e,32,a,u,s^8192);g=x}e:do{if((B|0)==245)if(!e)if(i){f=1;while(1){i=h[n+(f<<2)>>2]|0;if(!i)break;Os(t+(f<<3)|0,i,r);f=f+1|0;if((f|0)>=10){f=1;break e}}if((f|0)<10)while(1){if(h[n+(f<<2)>>2]|0){f=-1;break e}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}else f=0}while(0);v=ae;return f|0}function Ps(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=e+20|0;n=h[t>>2]|0;e=(h[e+16>>2]|0)-n|0;e=e>>>0>r>>>0?r:e;Gs(n|0,i|0,e|0)|0;h[t>>2]=(h[t>>2]|0)+e;return r|0}function Os(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0.0;e:do{if(i>>>0<=20)do{switch(i|0){case 9:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;h[e>>2]=i;break e}case 10:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;t=e;h[t>>2]=i;h[t+4>>2]=((i|0)<0)<<31>>31;break e}case 11:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;t=e;h[t>>2]=i;h[t+4>>2]=0;break e}case 12:{t=(h[r>>2]|0)+(8-1)&~(8-1);i=t;n=h[i>>2]|0;i=h[i+4>>2]|0;h[r>>2]=t+8;t=e;h[t>>2]=n;h[t+4>>2]=i;break e}case 13:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;t=(t&65535)<<16>>16;n=e;h[n>>2]=t;h[n+4>>2]=((t|0)<0)<<31>>31;break e}case 14:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;n=e;h[n>>2]=t&65535;h[n+4>>2]=0;break e}case 15:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;t=(t&255)<<24>>24;n=e;h[n>>2]=t;h[n+4>>2]=((t|0)<0)<<31>>31;break e}case 16:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;n=e;h[n>>2]=t&255;h[n+4>>2]=0;break e}case 17:{n=(h[r>>2]|0)+(8-1)&~(8-1);f=+m[n>>3];h[r>>2]=n+8;m[e>>3]=f;break e}case 18:{n=(h[r>>2]|0)+(8-1)&~(8-1);f=+m[n>>3];h[r>>2]=n+8;m[e>>3]=f;break e}default:break e}}while(0)}while(0);return}function Rs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(i>>>0>0|(i|0)==0&e>>>0>4294967295)while(1){t=eo(e|0,i|0,10,0)|0;r=r+-1|0;c[r>>0]=t|48;t=$s(e|0,i|0,10,0)|0;if(i>>>0>9|(i|0)==9&e>>>0>4294967295){e=t;i=j}else{e=t;break}}if(e)while(1){r=r+-1|0;c[r>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return r|0}function Ls(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=v;v=v+256|0;a=l;do{if((r|0)>(t|0)&(n&73728|0)==0){n=r-t|0;qs(a|0,i|0,(n>>>0>256?256:n)|0)|0;i=h[e>>2]|0;f=(i&32|0)==0;if(n>>>0>255){t=r-t|0;do{if(f){us(a,256,e)|0;i=h[e>>2]|0}n=n+-256|0;f=(i&32|0)==0}while(n>>>0>255);if(f)n=t&255;else break}else if(!f)break;us(a,n,e)|0}}while(0);v=l;return}function Cs(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0;do{if(e>>>0<245){b=e>>>0<11?16:e+11&-8;e=b>>>3;l=h[735]|0;r=l>>>e;if(r&3){e=(r&1^1)+e|0;t=e<<1;r=2980+(t<<2)|0;t=2980+(t+2<<2)|0;n=h[t>>2]|0;f=n+8|0;a=h[f>>2]|0;do{if((r|0)!=(a|0)){if(a>>>0<(h[739]|0)>>>0)Le();i=a+12|0;if((h[i>>2]|0)==(n|0)){h[i>>2]=r;h[t>>2]=a;break}else Le()}else h[735]=l&~(1<>2]=F|3;F=n+(F|4)|0;h[F>>2]=h[F>>2]|1;F=f;return F|0}a=h[737]|0;if(b>>>0>a>>>0){if(r){t=2<>>12&16;t=t>>>s;n=t>>>5&8;t=t>>>n;f=t>>>2&4;t=t>>>f;r=t>>>1&2;t=t>>>r;e=t>>>1&1;e=(n|s|f|r|e)+(t>>>e)|0;t=e<<1;r=2980+(t<<2)|0;t=2980+(t+2<<2)|0;f=h[t>>2]|0;s=f+8|0;n=h[s>>2]|0;do{if((r|0)!=(n|0)){if(n>>>0<(h[739]|0)>>>0)Le();i=n+12|0;if((h[i>>2]|0)==(f|0)){h[i>>2]=r;h[t>>2]=n;o=h[737]|0;break}else Le()}else{h[735]=l&~(1<>2]=b|3;l=f+b|0;h[f+(b|4)>>2]=a|1;h[f+F>>2]=a;if(o){n=h[740]|0;r=o>>>3;i=r<<1;t=2980+(i<<2)|0;e=h[735]|0;r=1<>2]|0;if(i>>>0<(h[739]|0)>>>0)Le();else{u=e;c=i}}else{h[735]=e|r;u=2980+(i+2<<2)|0;c=t}h[u>>2]=n;h[c+12>>2]=n;h[n+8>>2]=c;h[n+12>>2]=t}h[737]=a;h[740]=l;F=s;return F|0}e=h[736]|0;if(e){r=(e&0-e)+-1|0;N=r>>>12&16;r=r>>>N;B=r>>>5&8;r=r>>>B;F=r>>>2&4;r=r>>>F;e=r>>>1&2;r=r>>>e;t=r>>>1&1;t=h[3244+((B|N|F|e|t)+(r>>>t)<<2)>>2]|0;r=(h[t+4>>2]&-8)-b|0;e=t;while(1){i=h[e+16>>2]|0;if(!i){i=h[e+20>>2]|0;if(!i){s=r;break}}e=(h[i+4>>2]&-8)-b|0;F=e>>>0>>0;r=F?e:r;e=i;t=F?i:t}f=h[739]|0;if(t>>>0>>0)Le();l=t+b|0;if(t>>>0>=l>>>0)Le();a=h[t+24>>2]|0;r=h[t+12>>2]|0;do{if((r|0)==(t|0)){e=t+20|0;i=h[e>>2]|0;if(!i){e=t+16|0;i=h[e>>2]|0;if(!i){d=0;break}}while(1){r=i+20|0;n=h[r>>2]|0;if(n){i=n;e=r;continue}r=i+16|0;n=h[r>>2]|0;if(!n)break;else{i=n;e=r}}if(e>>>0>>0)Le();else{h[e>>2]=0;d=i;break}}else{n=h[t+8>>2]|0;if(n>>>0>>0)Le();i=n+12|0;if((h[i>>2]|0)!=(t|0))Le();e=r+8|0;if((h[e>>2]|0)==(t|0)){h[i>>2]=r;h[e>>2]=n;d=r;break}else Le()}}while(0);do{if(a){i=h[t+28>>2]|0;e=3244+(i<<2)|0;if((t|0)==(h[e>>2]|0)){h[e>>2]=d;if(!d){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();i=a+16|0;if((h[i>>2]|0)==(t|0))h[i>>2]=d;else h[a+20>>2]=d;if(!d)break}e=h[739]|0;if(d>>>0>>0)Le();h[d+24>>2]=a;i=h[t+16>>2]|0;do{if(i)if(i>>>0>>0)Le();else{h[d+16>>2]=i;h[i+24>>2]=d;break}}while(0);i=h[t+20>>2]|0;if(i)if(i>>>0<(h[739]|0)>>>0)Le();else{h[d+20>>2]=i;h[i+24>>2]=d;break}}}while(0);if(s>>>0<16){F=s+b|0;h[t+4>>2]=F|3;F=t+(F+4)|0;h[F>>2]=h[F>>2]|1}else{h[t+4>>2]=b|3;h[t+(b|4)>>2]=s|1;h[t+(s+b)>>2]=s;i=h[737]|0;if(i){f=h[740]|0;r=i>>>3;i=r<<1;n=2980+(i<<2)|0;e=h[735]|0;r=1<>2]|0;if(e>>>0<(h[739]|0)>>>0)Le();else{k=i;w=e}}else{h[735]=e|r;k=2980+(i+2<<2)|0;w=n}h[k>>2]=f;h[w+12>>2]=f;h[f+8>>2]=w;h[f+12>>2]=n}h[737]=s;h[740]=l}F=t+8|0;return F|0}else w=b}else w=b}else if(e>>>0<=4294967231){e=e+11|0;c=e&-8;u=h[736]|0;if(u){r=0-c|0;e=e>>>8;if(e)if(c>>>0>16777215)o=31;else{w=(e+1048320|0)>>>16&8;g=e<>>16&4;g=g<>>16&2;o=14-(k|w|o)+(g<>>15)|0;o=c>>>(o+7|0)&1|o<<1}else o=0;e=h[3244+(o<<2)>>2]|0;e:do{if(!e){n=0;e=0;g=86}else{a=r;n=0;l=c<<((o|0)==31?0:25-(o>>>1)|0);s=e;e=0;while(1){f=h[s+4>>2]&-8;r=f-c|0;if(r>>>0>>0)if((f|0)==(c|0)){f=s;e=s;g=90;break e}else e=s;else r=a;g=h[s+20>>2]|0;s=h[s+16+(l>>>31<<2)>>2]|0;n=(g|0)==0|(g|0)==(s|0)?n:g;if(!s){g=86;break}else{a=r;l=l<<1}}}}while(0);if((g|0)==86){if((n|0)==0&(e|0)==0){e=2<>>12&16;e=e>>>d;u=e>>>5&8;e=e>>>u;k=e>>>2&4;e=e>>>k;w=e>>>1&2;e=e>>>w;n=e>>>1&1;n=h[3244+((u|d|k|w|n)+(e>>>n)<<2)>>2]|0;e=0}if(!n){l=r;s=e}else{f=n;g=90}}if((g|0)==90)while(1){g=0;w=(h[f+4>>2]&-8)-c|0;n=w>>>0>>0;r=n?w:r;e=n?f:e;n=h[f+16>>2]|0;if(n){f=n;g=90;continue}f=h[f+20>>2]|0;if(!f){l=r;s=e;break}else g=90}if((s|0)!=0?l>>>0<((h[737]|0)-c|0)>>>0:0){n=h[739]|0;if(s>>>0>>0)Le();a=s+c|0;if(s>>>0>=a>>>0)Le();f=h[s+24>>2]|0;r=h[s+12>>2]|0;do{if((r|0)==(s|0)){e=s+20|0;i=h[e>>2]|0;if(!i){e=s+16|0;i=h[e>>2]|0;if(!i){b=0;break}}while(1){r=i+20|0;t=h[r>>2]|0;if(t){i=t;e=r;continue}r=i+16|0;t=h[r>>2]|0;if(!t)break;else{i=t;e=r}}if(e>>>0>>0)Le();else{h[e>>2]=0;b=i;break}}else{t=h[s+8>>2]|0;if(t>>>0>>0)Le();i=t+12|0;if((h[i>>2]|0)!=(s|0))Le();e=r+8|0;if((h[e>>2]|0)==(s|0)){h[i>>2]=r;h[e>>2]=t;b=r;break}else Le()}}while(0);do{if(f){i=h[s+28>>2]|0;e=3244+(i<<2)|0;if((s|0)==(h[e>>2]|0)){h[e>>2]=b;if(!b){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();i=f+16|0;if((h[i>>2]|0)==(s|0))h[i>>2]=b;else h[f+20>>2]=b;if(!b)break}e=h[739]|0;if(b>>>0>>0)Le();h[b+24>>2]=f;i=h[s+16>>2]|0;do{if(i)if(i>>>0>>0)Le();else{h[b+16>>2]=i;h[i+24>>2]=b;break}}while(0);i=h[s+20>>2]|0;if(i)if(i>>>0<(h[739]|0)>>>0)Le();else{h[b+20>>2]=i;h[i+24>>2]=b;break}}}while(0);e:do{if(l>>>0>=16){h[s+4>>2]=c|3;h[s+(c|4)>>2]=l|1;h[s+(l+c)>>2]=l;i=l>>>3;if(l>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=h[735]|0;i=1<>2]|0;if(e>>>0<(h[739]|0)>>>0)Le();else{m=i;p=e}}else{h[735]=r|i;m=2980+(e+2<<2)|0;p=t}h[m>>2]=a;h[p+12>>2]=a;h[s+(c+8)>>2]=p;h[s+(c+12)>>2]=t;break}i=l>>>8;if(i)if(l>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<>>16&4;F=F<>>16&2;t=14-(B|N|t)+(F<>>15)|0;t=l>>>(t+7|0)&1|t<<1}else t=0;i=3244+(t<<2)|0;h[s+(c+28)>>2]=t;h[s+(c+20)>>2]=0;h[s+(c+16)>>2]=0;e=h[736]|0;r=1<>2]=a;h[s+(c+24)>>2]=i;h[s+(c+12)>>2]=a;h[s+(c+8)>>2]=a;break}i=h[i>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(l|0)){t=l<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(l|0)){A=r;break i}else{t=t<<1;i=r}}if(e>>>0<(h[739]|0)>>>0)Le();else{h[e>>2]=a;h[s+(c+24)>>2]=i;h[s+(c+12)>>2]=a;h[s+(c+8)>>2]=a;break e}}else A=i}while(0);i=A+8|0;e=h[i>>2]|0;F=h[739]|0;if(e>>>0>=F>>>0&A>>>0>=F>>>0){h[e+12>>2]=a;h[i>>2]=a;h[s+(c+8)>>2]=e;h[s+(c+12)>>2]=A;h[s+(c+24)>>2]=0;break}else Le()}else{F=l+c|0;h[s+4>>2]=F|3;F=s+(F+4)|0;h[F>>2]=h[F>>2]|1}}while(0);F=s+8|0;return F|0}else w=c}else w=c}else w=-1}while(0);r=h[737]|0;if(r>>>0>=w>>>0){i=r-w|0;e=h[740]|0;if(i>>>0>15){h[740]=e+w;h[737]=i;h[e+(w+4)>>2]=i|1;h[e+r>>2]=i;h[e+4>>2]=w|3}else{h[737]=0;h[740]=0;h[e+4>>2]=r|3;F=e+(r+4)|0;h[F>>2]=h[F>>2]|1}F=e+8|0;return F|0}e=h[738]|0;if(e>>>0>w>>>0){N=e-w|0;h[738]=N;F=h[741]|0;h[741]=F+w;h[F+(w+4)>>2]=N|1;h[F+4>>2]=w|3;F=F+8|0;return F|0}do{if(!(h[853]|0)){e=Ne(30)|0;if(!(e+-1&e)){h[855]=e;h[854]=e;h[856]=-1;h[857]=-1;h[858]=0;h[846]=0;A=(We(0)|0)&-16^1431655768;h[853]=A;break}else Le()}}while(0);s=w+48|0;l=h[855]|0;o=w+47|0;a=l+o|0;l=0-l|0;u=a&l;if(u>>>0<=w>>>0){F=0;return F|0}e=h[845]|0;if((e|0)!=0?(p=h[843]|0,A=p+u|0,A>>>0<=p>>>0|A>>>0>e>>>0):0){F=0;return F|0}e:do{if(!(h[846]&4)){e=h[741]|0;i:do{if(e){n=3388;while(1){r=h[n>>2]|0;if(r>>>0<=e>>>0?(_=n+4|0,(r+(h[_>>2]|0)|0)>>>0>e>>>0):0){f=n;e=_;break}n=h[n+8>>2]|0;if(!n){g=174;break i}}r=a-(h[738]|0)&l;if(r>>>0<2147483647){n=Ie(r|0)|0;A=(n|0)==((h[f>>2]|0)+(h[e>>2]|0)|0);e=A?r:0;if(A){if((n|0)!=(-1|0)){y=n;k=e;g=194;break e}}else g=184}else e=0}else g=174}while(0);do{if((g|0)==174){f=Ie(0)|0;if((f|0)!=(-1|0)){e=f;r=h[854]|0;n=r+-1|0;if(!(n&e))r=u;else r=u-e+(n+e&0-r)|0;e=h[843]|0;n=e+r|0;if(r>>>0>w>>>0&r>>>0<2147483647){A=h[845]|0;if((A|0)!=0?n>>>0<=e>>>0|n>>>0>A>>>0:0){e=0;break}n=Ie(r|0)|0;A=(n|0)==(f|0);e=A?r:0;if(A){y=f;k=e;g=194;break e}else g=184}else e=0}else e=0}}while(0);i:do{if((g|0)==184){f=0-r|0;do{if(s>>>0>r>>>0&(r>>>0<2147483647&(n|0)!=(-1|0))?(v=h[855]|0,v=o-r+v&0-v,v>>>0<2147483647):0)if((Ie(v|0)|0)==(-1|0)){Ie(f|0)|0;break i}else{r=v+r|0;break}}while(0);if((n|0)!=(-1|0)){y=n;k=r;g=194;break e}}}while(0);h[846]=h[846]|4;g=191}else{e=0;g=191}}while(0);if((((g|0)==191?u>>>0<2147483647:0)?(y=Ie(u|0)|0,E=Ie(0)|0,y>>>0>>0&((y|0)!=(-1|0)&(E|0)!=(-1|0))):0)?(M=E-y|0,T=M>>>0>(w+40|0)>>>0,T):0){k=T?M:e;g=194}if((g|0)==194){e=(h[843]|0)+k|0;h[843]=e;if(e>>>0>(h[844]|0)>>>0)h[844]=e;a=h[741]|0;e:do{if(a){f=3388;do{e=h[f>>2]|0;r=f+4|0;n=h[r>>2]|0;if((y|0)==(e+n|0)){S=e;P=r;O=n;R=f;g=204;break}f=h[f+8>>2]|0}while((f|0)!=0);if(((g|0)==204?(h[R+12>>2]&8|0)==0:0)?a>>>0>>0&a>>>0>=S>>>0:0){h[P>>2]=O+k;F=(h[738]|0)+k|0;N=a+8|0;N=(N&7|0)==0?0:0-N&7;B=F-N|0;h[741]=a+N;h[738]=B;h[a+(N+4)>>2]=B|1;h[a+(F+4)>>2]=40;h[742]=h[857];break}e=h[739]|0;if(y>>>0>>0){h[739]=y;e=y}r=y+k|0;f=3388;while(1){if((h[f>>2]|0)==(r|0)){n=f;r=f;g=212;break}f=h[f+8>>2]|0;if(!f){r=3388;break}}if((g|0)==212)if(!(h[r+12>>2]&8)){h[n>>2]=y;d=r+4|0;h[d>>2]=(h[d>>2]|0)+k;d=y+8|0;d=(d&7|0)==0?0:0-d&7;o=y+(k+8)|0;o=(o&7|0)==0?0:0-o&7;i=y+(o+k)|0;c=d+w|0;b=y+c|0;u=i-(y+d)-w|0;h[y+(d+4)>>2]=w|3;i:do{if((i|0)!=(a|0)){if((i|0)==(h[740]|0)){F=(h[737]|0)+u|0;h[737]=F;h[740]=b;h[y+(c+4)>>2]=F|1;h[y+(F+c)>>2]=F;break}l=k+4|0;r=h[y+(l+o)>>2]|0;if((r&3|0)==1){s=r&-8;f=r>>>3;r:do{if(r>>>0>=256){a=h[y+((o|24)+k)>>2]|0;t=h[y+(k+12+o)>>2]|0;do{if((t|0)==(i|0)){n=o|16;t=y+(l+n)|0;r=h[t>>2]|0;if(!r){t=y+(n+k)|0;r=h[t>>2]|0;if(!r){I=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Le();else{h[t>>2]=0;I=r;break}}else{n=h[y+((o|8)+k)>>2]|0;if(n>>>0>>0)Le();e=n+12|0;if((h[e>>2]|0)!=(i|0))Le();r=t+8|0;if((h[r>>2]|0)==(i|0)){h[e>>2]=t;h[r>>2]=n;I=t;break}else Le()}}while(0);if(!a)break;e=h[y+(k+28+o)>>2]|0;r=3244+(e<<2)|0;do{if((i|0)!=(h[r>>2]|0)){if(a>>>0<(h[739]|0)>>>0)Le();e=a+16|0;if((h[e>>2]|0)==(i|0))h[e>>2]=I;else h[a+20>>2]=I;if(!I)break r}else{h[r>>2]=I;if(I)break;h[736]=h[736]&~(1<>>0>>0)Le();h[I+24>>2]=a;i=o|16;e=h[y+(i+k)>>2]|0;do{if(e)if(e>>>0>>0)Le();else{h[I+16>>2]=e;h[e+24>>2]=I;break}}while(0);i=h[y+(l+i)>>2]|0;if(!i)break;if(i>>>0<(h[739]|0)>>>0)Le();else{h[I+20>>2]=i;h[i+24>>2]=I;break}}else{t=h[y+((o|8)+k)>>2]|0;n=h[y+(k+12+o)>>2]|0;r=2980+(f<<1<<2)|0;do{if((t|0)!=(r|0)){if(t>>>0>>0)Le();if((h[t+12>>2]|0)==(i|0))break;Le()}}while(0);if((n|0)==(t|0)){h[735]=h[735]&~(1<>>0>>0)Le();e=n+8|0;if((h[e>>2]|0)==(i|0)){L=e;break}Le()}}while(0);h[t+12>>2]=n;h[L>>2]=t}}while(0);i=y+((s|o)+k)|0;n=s+u|0}else n=u;i=i+4|0;h[i>>2]=h[i>>2]&-2;h[y+(c+4)>>2]=n|1;h[y+(n+c)>>2]=n;i=n>>>3;if(n>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=h[735]|0;i=1<>2]|0;if(e>>>0>=(h[739]|0)>>>0){B=i;N=e;break}Le()}}while(0);h[B>>2]=b;h[N+12>>2]=b;h[y+(c+8)>>2]=N;h[y+(c+12)>>2]=t;break}i=n>>>8;do{if(!i)t=0;else{if(n>>>0>16777215){t=31;break}B=(i+1048320|0)>>>16&8;N=i<>>16&4;N=N<>>16&2;t=14-(I|B|t)+(N<>>15)|0;t=n>>>(t+7|0)&1|t<<1}}while(0);i=3244+(t<<2)|0;h[y+(c+28)>>2]=t;h[y+(c+20)>>2]=0;h[y+(c+16)>>2]=0;e=h[736]|0;r=1<>2]=b;h[y+(c+24)>>2]=i;h[y+(c+12)>>2]=b;h[y+(c+8)>>2]=b;break}i=h[i>>2]|0;r:do{if((h[i+4>>2]&-8|0)!=(n|0)){t=n<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(n|0)){F=r;break r}else{t=t<<1;i=r}}if(e>>>0<(h[739]|0)>>>0)Le();else{h[e>>2]=b;h[y+(c+24)>>2]=i;h[y+(c+12)>>2]=b;h[y+(c+8)>>2]=b;break i}}else F=i}while(0);i=F+8|0;e=h[i>>2]|0;N=h[739]|0;if(e>>>0>=N>>>0&F>>>0>=N>>>0){h[e+12>>2]=b;h[i>>2]=b;h[y+(c+8)>>2]=e;h[y+(c+12)>>2]=F;h[y+(c+24)>>2]=0;break}else Le()}else{F=(h[738]|0)+u|0;h[738]=F;h[741]=b;h[y+(c+4)>>2]=F|1}}while(0);F=y+(d|8)|0;return F|0}else r=3388;while(1){e=h[r>>2]|0;if(e>>>0<=a>>>0?(i=h[r+4>>2]|0,t=e+i|0,t>>>0>a>>>0):0)break;r=h[r+8>>2]|0}n=e+(i+-39)|0;e=e+(i+-47+((n&7|0)==0?0:0-n&7))|0;n=a+16|0;e=e>>>0>>0?a:e;i=e+8|0;r=y+8|0;r=(r&7|0)==0?0:0-r&7;F=k+-40-r|0;h[741]=y+r;h[738]=F;h[y+(r+4)>>2]=F|1;h[y+(k+-36)>>2]=40;h[742]=h[857];r=e+4|0;h[r>>2]=27;h[i>>2]=h[847];h[i+4>>2]=h[848];h[i+8>>2]=h[849];h[i+12>>2]=h[850];h[847]=y;h[848]=k;h[850]=0;h[849]=i;i=e+28|0;h[i>>2]=7;if((e+32|0)>>>0>>0)do{F=i;i=i+4|0;h[i>>2]=7}while((F+8|0)>>>0>>0);if((e|0)!=(a|0)){f=e-a|0;h[r>>2]=h[r>>2]&-2;h[a+4>>2]=f|1;h[e>>2]=f;i=f>>>3;if(f>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=h[735]|0;i=1<>2]|0;if(e>>>0<(h[739]|0)>>>0)Le();else{C=i;D=e}}else{h[735]=r|i;C=2980+(e+2<<2)|0;D=t}h[C>>2]=a;h[D+12>>2]=a;h[a+8>>2]=D;h[a+12>>2]=t;break}i=f>>>8;if(i)if(f>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<>>16&4;F=F<>>16&2;t=14-(B|N|t)+(F<>>15)|0;t=f>>>(t+7|0)&1|t<<1}else t=0;r=3244+(t<<2)|0;h[a+28>>2]=t;h[a+20>>2]=0;h[n>>2]=0;i=h[736]|0;e=1<>2]=a;h[a+24>>2]=r;h[a+12>>2]=a;h[a+8>>2]=a;break}i=h[r>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(f|0)){t=f<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(f|0)){x=r;break i}else{t=t<<1;i=r}}if(e>>>0<(h[739]|0)>>>0)Le();else{h[e>>2]=a;h[a+24>>2]=i;h[a+12>>2]=a;h[a+8>>2]=a;break e}}else x=i}while(0);i=x+8|0;e=h[i>>2]|0;F=h[739]|0;if(e>>>0>=F>>>0&x>>>0>=F>>>0){h[e+12>>2]=a;h[i>>2]=a;h[a+8>>2]=e;h[a+12>>2]=x;h[a+24>>2]=0;break}else Le()}}else{F=h[739]|0;if((F|0)==0|y>>>0>>0)h[739]=y;h[847]=y;h[848]=k;h[850]=0;h[744]=h[853];h[743]=-1;i=0;do{F=i<<1;N=2980+(F<<2)|0;h[2980+(F+3<<2)>>2]=N;h[2980+(F+2<<2)>>2]=N;i=i+1|0}while((i|0)!=32);F=y+8|0;F=(F&7|0)==0?0:0-F&7;N=k+-40-F|0;h[741]=y+F;h[738]=N;h[y+(F+4)>>2]=N|1;h[y+(k+-36)>>2]=40;h[742]=h[857]}}while(0);i=h[738]|0;if(i>>>0>w>>>0){N=i-w|0;h[738]=N;F=h[741]|0;h[741]=F+w;h[F+(w+4)>>2]=N|1;h[F+4>>2]=w|3;F=F+8|0;return F|0}}F=Pl()|0;h[F>>2]=12;F=0;return F|0}function Ds(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0;if(!e)return;i=e+-8|0;l=h[739]|0;if(i>>>0>>0)Le();r=h[e+-4>>2]|0;t=r&3;if((t|0)==1)Le();b=r&-8;w=e+(b+-8)|0;do{if(!(r&1)){i=h[i>>2]|0;if(!t)return;s=-8-i|0;u=e+s|0;c=i+b|0;if(u>>>0>>0)Le();if((u|0)==(h[740]|0)){i=e+(b+-4)|0;r=h[i>>2]|0;if((r&3|0)!=3){v=u;f=c;break}h[737]=c;h[i>>2]=r&-2;h[e+(s+4)>>2]=c|1;h[w>>2]=c;return}n=i>>>3;if(i>>>0<256){t=h[e+(s+8)>>2]|0;r=h[e+(s+12)>>2]|0;i=2980+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0>>0)Le();if((h[t+12>>2]|0)!=(u|0))Le()}if((r|0)==(t|0)){h[735]=h[735]&~(1<>>0>>0)Le();i=r+8|0;if((h[i>>2]|0)==(u|0))a=i;else Le()}else a=r+8|0;h[t+12>>2]=r;h[a>>2]=t;v=u;f=c;break}a=h[e+(s+24)>>2]|0;t=h[e+(s+12)>>2]|0;do{if((t|0)==(u|0)){r=e+(s+20)|0;i=h[r>>2]|0;if(!i){r=e+(s+16)|0;i=h[r>>2]|0;if(!i){o=0;break}}while(1){t=i+20|0;n=h[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=h[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0>>0)Le();else{h[r>>2]=0;o=i;break}}else{n=h[e+(s+8)>>2]|0;if(n>>>0>>0)Le();i=n+12|0;if((h[i>>2]|0)!=(u|0))Le();r=t+8|0;if((h[r>>2]|0)==(u|0)){h[i>>2]=t;h[r>>2]=n;o=t;break}else Le()}}while(0);if(a){i=h[e+(s+28)>>2]|0;r=3244+(i<<2)|0;if((u|0)==(h[r>>2]|0)){h[r>>2]=o;if(!o){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();i=a+16|0;if((h[i>>2]|0)==(u|0))h[i>>2]=o;else h[a+20>>2]=o;if(!o){v=u;f=c;break}}r=h[739]|0;if(o>>>0>>0)Le();h[o+24>>2]=a;i=h[e+(s+16)>>2]|0;do{if(i)if(i>>>0>>0)Le();else{h[o+16>>2]=i;h[i+24>>2]=o;break}}while(0);i=h[e+(s+20)>>2]|0;if(i)if(i>>>0<(h[739]|0)>>>0)Le();else{h[o+20>>2]=i;h[i+24>>2]=o;v=u;f=c;break}else{v=u;f=c}}else{v=u;f=c}}else{v=i;f=b}}while(0);if(v>>>0>=w>>>0)Le();i=e+(b+-4)|0;r=h[i>>2]|0;if(!(r&1))Le();if(!(r&2)){if((w|0)==(h[741]|0)){p=(h[738]|0)+f|0;h[738]=p;h[741]=v;h[v+4>>2]=p|1;if((v|0)!=(h[740]|0))return;h[740]=0;h[737]=0;return}if((w|0)==(h[740]|0)){p=(h[737]|0)+f|0;h[737]=p;h[740]=v;h[v+4>>2]=p|1;h[v+p>>2]=p;return}f=(r&-8)+f|0;n=r>>>3;do{if(r>>>0>=256){a=h[e+(b+16)>>2]|0;i=h[e+(b|4)>>2]|0;do{if((i|0)==(w|0)){r=e+(b+12)|0;i=h[r>>2]|0;if(!i){r=e+(b+8)|0;i=h[r>>2]|0;if(!i){k=0;break}}while(1){t=i+20|0;n=h[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=h[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<(h[739]|0)>>>0)Le();else{h[r>>2]=0;k=i;break}}else{r=h[e+b>>2]|0;if(r>>>0<(h[739]|0)>>>0)Le();t=r+12|0;if((h[t>>2]|0)!=(w|0))Le();n=i+8|0;if((h[n>>2]|0)==(w|0)){h[t>>2]=i;h[n>>2]=r;k=i;break}else Le()}}while(0);if(a){i=h[e+(b+20)>>2]|0;r=3244+(i<<2)|0;if((w|0)==(h[r>>2]|0)){h[r>>2]=k;if(!k){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();i=a+16|0;if((h[i>>2]|0)==(w|0))h[i>>2]=k;else h[a+20>>2]=k;if(!k)break}r=h[739]|0;if(k>>>0>>0)Le();h[k+24>>2]=a;i=h[e+(b+8)>>2]|0;do{if(i)if(i>>>0>>0)Le();else{h[k+16>>2]=i;h[i+24>>2]=k;break}}while(0);i=h[e+(b+12)>>2]|0;if(i)if(i>>>0<(h[739]|0)>>>0)Le();else{h[k+20>>2]=i;h[i+24>>2]=k;break}}}else{t=h[e+b>>2]|0;r=h[e+(b|4)>>2]|0;i=2980+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<(h[739]|0)>>>0)Le();if((h[t+12>>2]|0)!=(w|0))Le()}if((r|0)==(t|0)){h[735]=h[735]&~(1<>>0<(h[739]|0)>>>0)Le();i=r+8|0;if((h[i>>2]|0)==(w|0))d=i;else Le()}else d=r+8|0;h[t+12>>2]=r;h[d>>2]=t}}while(0);h[v+4>>2]=f|1;h[v+f>>2]=f;if((v|0)==(h[740]|0)){h[737]=f;return}}else{h[i>>2]=r&-2;h[v+4>>2]=f|1;h[v+f>>2]=f}i=f>>>3;if(f>>>0<256){r=i<<1;n=2980+(r<<2)|0;t=h[735]|0;i=1<>2]|0;if(r>>>0<(h[739]|0)>>>0)Le();else{_=i;m=r}}else{h[735]=t|i;_=2980+(r+2<<2)|0;m=n}h[_>>2]=v;h[m+12>>2]=v;h[v+8>>2]=m;h[v+12>>2]=n;return}i=f>>>8;if(i)if(f>>>0>16777215)n=31;else{_=(i+1048320|0)>>>16&8;m=i<<_;w=(m+520192|0)>>>16&4;m=m<>>16&2;n=14-(w|_|n)+(m<>>15)|0;n=f>>>(n+7|0)&1|n<<1}else n=0;i=3244+(n<<2)|0;h[v+28>>2]=n;h[v+20>>2]=0;h[v+16>>2]=0;r=h[736]|0;t=1<>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(f|0)){n=f<<((n|0)==31?0:25-(n>>>1)|0);while(1){r=i+16+(n>>>31<<2)|0;t=h[r>>2]|0;if(!t)break;if((h[t+4>>2]&-8|0)==(f|0)){p=t;break i}else{n=n<<1;i=t}}if(r>>>0<(h[739]|0)>>>0)Le();else{h[r>>2]=v;h[v+24>>2]=i;h[v+12>>2]=v;h[v+8>>2]=v;break e}}else p=i}while(0);i=p+8|0;r=h[i>>2]|0;m=h[739]|0;if(r>>>0>=m>>>0&p>>>0>=m>>>0){h[r+12>>2]=v;h[i>>2]=v;h[v+8>>2]=r;h[v+12>>2]=p;h[v+24>>2]=0;break}else Le()}else{h[736]=r|t;h[i>>2]=v;h[v+24>>2]=i;h[v+12>>2]=v;h[v+8>>2]=v}}while(0);v=(h[743]|0)+-1|0;h[743]=v;if(!v)i=3396;else return;while(1){i=h[i>>2]|0;if(!i)break;else i=i+8|0}h[743]=-1;return}function xs(e,i){e=e|0;i=i|0;var r=0;if(e){r=ue(i,e)|0;if((i|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(i|0)?r:-1}else r=0;i=Cs(r)|0;if(!i)return i|0;if(!(h[i+-4>>2]&3))return i|0;qs(i|0,0,r|0)|0;return i|0}function Is(e,i){e=e|0;i=i|0;var r=0,t=0;if(!e){e=Cs(i)|0;return e|0}if(i>>>0>4294967231){e=Pl()|0;h[e>>2]=12;e=0;return e|0}r=Ns(e+-8|0,i>>>0<11?16:i+11&-8)|0;if(r){e=r+8|0;return e|0}r=Cs(i)|0;if(!r){e=0;return e|0}t=h[e+-4>>2]|0;t=(t&-8)-((t&3|0)==0?8:4)|0;Gs(r|0,e|0,(t>>>0>>0?t:i)|0)|0;Ds(e);e=r;return e|0}function Bs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;do{if((i|0)!=8){t=i>>>2;if((i&3|0)!=0|(t|0)==0){e=22;return e|0}if(t+1073741823&t){e=22;return e|0}if((-64-i|0)>>>0>>0){e=12;return e|0}else{t=Fs(i>>>0<16?16:i,r)|0;break}}else t=Cs(r)|0}while(0);if(!t){e=12;return e|0}h[e>>2]=t;e=0;return e|0}function Ns(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;b=e+4|0;k=h[b>>2]|0;s=k&-8;u=e+s|0;l=h[739]|0;r=k&3;if(!((r|0)!=1&e>>>0>=l>>>0&e>>>0>>0))Le();t=e+(s|4)|0;n=h[t>>2]|0;if(!(n&1))Le();if(!r){if(i>>>0<256){e=0;return e|0}if(s>>>0>=(i+4|0)>>>0?(s-i|0)>>>0<=h[855]<<1>>>0:0)return e|0;e=0;return e|0}if(s>>>0>=i>>>0){r=s-i|0;if(r>>>0<=15)return e|0;h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=r|3;h[t>>2]=h[t>>2]|1;Us(e+i|0,r);return e|0}if((u|0)==(h[741]|0)){r=(h[738]|0)+s|0;if(r>>>0<=i>>>0){e=0;return e|0}d=r-i|0;h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=d|1;h[741]=e+i;h[738]=d;return e|0}if((u|0)==(h[740]|0)){t=(h[737]|0)+s|0;if(t>>>0>>0){e=0;return e|0}r=t-i|0;if(r>>>0>15){h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=r|1;h[e+t>>2]=r;t=e+(t+4)|0;h[t>>2]=h[t>>2]&-2;t=e+i|0}else{h[b>>2]=k&1|t|2;t=e+(t+4)|0;h[t>>2]=h[t>>2]|1;t=0;r=0}h[737]=r;h[740]=t;return e|0}if(n&2){e=0;return e|0}c=(n&-8)+s|0;if(c>>>0>>0){e=0;return e|0}d=c-i|0;f=n>>>3;do{if(n>>>0>=256){a=h[e+(s+24)>>2]|0;f=h[e+(s+12)>>2]|0;do{if((f|0)==(u|0)){t=e+(s+20)|0;r=h[t>>2]|0;if(!r){t=e+(s+16)|0;r=h[t>>2]|0;if(!r){o=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Le();else{h[t>>2]=0;o=r;break}}else{n=h[e+(s+8)>>2]|0;if(n>>>0>>0)Le();r=n+12|0;if((h[r>>2]|0)!=(u|0))Le();t=f+8|0;if((h[t>>2]|0)==(u|0)){h[r>>2]=f;h[t>>2]=n;o=f;break}else Le()}}while(0);if(a){r=h[e+(s+28)>>2]|0;t=3244+(r<<2)|0;if((u|0)==(h[t>>2]|0)){h[t>>2]=o;if(!o){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();r=a+16|0;if((h[r>>2]|0)==(u|0))h[r>>2]=o;else h[a+20>>2]=o;if(!o)break}t=h[739]|0;if(o>>>0>>0)Le();h[o+24>>2]=a;r=h[e+(s+16)>>2]|0;do{if(r)if(r>>>0>>0)Le();else{h[o+16>>2]=r;h[r+24>>2]=o;break}}while(0);r=h[e+(s+20)>>2]|0;if(r)if(r>>>0<(h[739]|0)>>>0)Le();else{h[o+20>>2]=r;h[r+24>>2]=o;break}}}else{n=h[e+(s+8)>>2]|0;t=h[e+(s+12)>>2]|0;r=2980+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Le();if((h[n+12>>2]|0)!=(u|0))Le()}if((t|0)==(n|0)){h[735]=h[735]&~(1<>>0>>0)Le();r=t+8|0;if((h[r>>2]|0)==(u|0))a=r;else Le()}else a=t+8|0;h[n+12>>2]=t;h[a>>2]=n}}while(0);if(d>>>0<16){h[b>>2]=c|k&1|2;i=e+(c|4)|0;h[i>>2]=h[i>>2]|1;return e|0}else{h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=d|3;k=e+(c|4)|0;h[k>>2]=h[k>>2]|1;Us(e+i|0,d);return e|0}return 0}function Fs(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;e=e>>>0<16?16:e;if(e+-1&e){r=16;while(1)if(r>>>0>>0)r=r<<1;else{e=r;break}}if((-64-e|0)>>>0<=i>>>0){l=Pl()|0;h[l>>2]=12;l=0;return l|0}a=i>>>0<11?16:i+11&-8;t=Cs(a+12+e|0)|0;if(!t){l=0;return l|0}i=t+-8|0;r=e+-1|0;do{if(t&r){n=t+r&0-e;r=n+-8|0;f=i;n=(r-f|0)>>>0>15?r:n+(e+-8)|0;f=n-f|0;e=t+-4|0;t=h[e>>2]|0;r=(t&-8)-f|0;if(!(t&3)){h[n>>2]=(h[i>>2]|0)+f;h[n+4>>2]=r;i=n;break}else{t=n+4|0;h[t>>2]=r|h[t>>2]&1|2;r=n+(r+4)|0;h[r>>2]=h[r>>2]|1;h[e>>2]=f|h[e>>2]&1|2;h[t>>2]=h[t>>2]|1;Us(i,f);i=n;break}}}while(0);e=i+4|0;r=h[e>>2]|0;if((r&3|0)!=0?(l=r&-8,l>>>0>(a+16|0)>>>0):0){f=l-a|0;h[e>>2]=a|r&1|2;h[i+(a|4)>>2]=f|3;l=i+(l|4)|0;h[l>>2]=h[l>>2]|1;Us(i+a|0,f)}l=i+8|0;return l|0}function Us(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;w=e+i|0;r=h[e+4>>2]|0;do{if(!(r&1)){o=h[e>>2]|0;if(!(r&3))return;d=e+(0-o)|0;c=o+i|0;s=h[739]|0;if(d>>>0>>0)Le();if((d|0)==(h[740]|0)){t=e+(i+4)|0;r=h[t>>2]|0;if((r&3|0)!=3){p=d;a=c;break}h[737]=c;h[t>>2]=r&-2;h[e+(4-o)>>2]=c|1;h[w>>2]=c;return}f=o>>>3;if(o>>>0<256){n=h[e+(8-o)>>2]|0;t=h[e+(12-o)>>2]|0;r=2980+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Le();if((h[n+12>>2]|0)!=(d|0))Le()}if((t|0)==(n|0)){h[735]=h[735]&~(1<>>0>>0)Le();r=t+8|0;if((h[r>>2]|0)==(d|0))l=r;else Le()}else l=t+8|0;h[n+12>>2]=t;h[l>>2]=n;p=d;a=c;break}l=h[e+(24-o)>>2]|0;n=h[e+(12-o)>>2]|0;do{if((n|0)==(d|0)){n=16-o|0;t=e+(n+4)|0;r=h[t>>2]|0;if(!r){t=e+n|0;r=h[t>>2]|0;if(!r){u=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Le();else{h[t>>2]=0;u=r;break}}else{f=h[e+(8-o)>>2]|0;if(f>>>0>>0)Le();r=f+12|0;if((h[r>>2]|0)!=(d|0))Le();t=n+8|0;if((h[t>>2]|0)==(d|0)){h[r>>2]=n;h[t>>2]=f;u=n;break}else Le()}}while(0);if(l){r=h[e+(28-o)>>2]|0;t=3244+(r<<2)|0;if((d|0)==(h[t>>2]|0)){h[t>>2]=u;if(!u){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();r=l+16|0;if((h[r>>2]|0)==(d|0))h[r>>2]=u;else h[l+20>>2]=u;if(!u){p=d;a=c;break}}n=h[739]|0;if(u>>>0>>0)Le();h[u+24>>2]=l;r=16-o|0;t=h[e+r>>2]|0;do{if(t)if(t>>>0>>0)Le();else{h[u+16>>2]=t;h[t+24>>2]=u;break}}while(0);r=h[e+(r+4)>>2]|0;if(r)if(r>>>0<(h[739]|0)>>>0)Le();else{h[u+20>>2]=r;h[r+24>>2]=u;p=d;a=c;break}else{p=d;a=c}}else{p=d;a=c}}else{p=e;a=i}}while(0);s=h[739]|0;if(w>>>0>>0)Le();r=e+(i+4)|0;t=h[r>>2]|0;if(!(t&2)){if((w|0)==(h[741]|0)){m=(h[738]|0)+a|0;h[738]=m;h[741]=p;h[p+4>>2]=m|1;if((p|0)!=(h[740]|0))return;h[740]=0;h[737]=0;return}if((w|0)==(h[740]|0)){m=(h[737]|0)+a|0;h[737]=m;h[740]=p;h[p+4>>2]=m|1;h[p+m>>2]=m;return}a=(t&-8)+a|0;f=t>>>3;do{if(t>>>0>=256){l=h[e+(i+24)>>2]|0;n=h[e+(i+12)>>2]|0;do{if((n|0)==(w|0)){t=e+(i+20)|0;r=h[t>>2]|0;if(!r){t=e+(i+16)|0;r=h[t>>2]|0;if(!r){k=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Le();else{h[t>>2]=0;k=r;break}}else{f=h[e+(i+8)>>2]|0;if(f>>>0>>0)Le();r=f+12|0;if((h[r>>2]|0)!=(w|0))Le();t=n+8|0;if((h[t>>2]|0)==(w|0)){h[r>>2]=n;h[t>>2]=f;k=n;break}else Le()}}while(0);if(l){r=h[e+(i+28)>>2]|0;t=3244+(r<<2)|0;if((w|0)==(h[t>>2]|0)){h[t>>2]=k;if(!k){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();r=l+16|0;if((h[r>>2]|0)==(w|0))h[r>>2]=k;else h[l+20>>2]=k;if(!k)break}t=h[739]|0;if(k>>>0>>0)Le();h[k+24>>2]=l;r=h[e+(i+16)>>2]|0;do{if(r)if(r>>>0>>0)Le();else{h[k+16>>2]=r;h[r+24>>2]=k;break}}while(0);r=h[e+(i+20)>>2]|0;if(r)if(r>>>0<(h[739]|0)>>>0)Le();else{h[k+20>>2]=r;h[r+24>>2]=k;break}}}else{n=h[e+(i+8)>>2]|0;t=h[e+(i+12)>>2]|0;r=2980+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Le();if((h[n+12>>2]|0)!=(w|0))Le()}if((t|0)==(n|0)){h[735]=h[735]&~(1<>>0>>0)Le();r=t+8|0;if((h[r>>2]|0)==(w|0))b=r;else Le()}else b=t+8|0;h[n+12>>2]=t;h[b>>2]=n}}while(0);h[p+4>>2]=a|1;h[p+a>>2]=a;if((p|0)==(h[740]|0)){h[737]=a;return}}else{h[r>>2]=t&-2;h[p+4>>2]=a|1;h[p+a>>2]=a}r=a>>>3;if(a>>>0<256){t=r<<1;f=2980+(t<<2)|0;n=h[735]|0;r=1<>2]|0;if(t>>>0<(h[739]|0)>>>0)Le();else{_=r;m=t}}else{h[735]=n|r;_=2980+(t+2<<2)|0;m=f}h[_>>2]=p;h[m+12>>2]=p;h[p+8>>2]=m;h[p+12>>2]=f;return}r=a>>>8;if(r)if(a>>>0>16777215)f=31;else{_=(r+1048320|0)>>>16&8;m=r<<_;w=(m+520192|0)>>>16&4;m=m<>>16&2;f=14-(w|_|f)+(m<>>15)|0;f=a>>>(f+7|0)&1|f<<1}else f=0;r=3244+(f<<2)|0;h[p+28>>2]=f;h[p+20>>2]=0;h[p+16>>2]=0;t=h[736]|0;n=1<>2]=p;h[p+24>>2]=r;h[p+12>>2]=p;h[p+8>>2]=p;return}r=h[r>>2]|0;e:do{if((h[r+4>>2]&-8|0)!=(a|0)){f=a<<((f|0)==31?0:25-(f>>>1)|0);while(1){t=r+16+(f>>>31<<2)|0;n=h[t>>2]|0;if(!n)break;if((h[n+4>>2]&-8|0)==(a|0)){r=n;break e}else{f=f<<1;r=n}}if(t>>>0<(h[739]|0)>>>0)Le();h[t>>2]=p;h[p+24>>2]=r;h[p+12>>2]=p;h[p+8>>2]=p;return}}while(0);t=r+8|0;n=h[t>>2]|0;m=h[739]|0;if(!(n>>>0>=m>>>0&r>>>0>=m>>>0))Le();h[n+12>>2]=p;h[t>>2]=p;h[p+8>>2]=n;h[p+12>>2]=r;h[p+24>>2]=0;return}function js(){}function Hs(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=i-t-(r>>>0>e>>>0|0)>>>0;return(j=t,e-r>>>0|0)|0}function Ys(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){j=i>>r;return e>>>r|(i&(1<>r-32|0}function qs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=e+r|0;if((r|0)>=20){i=i&255;f=e&3;a=i|i<<8|i<<16|i<<24;n=t&~3;if(f){f=e+4-f|0;while((e|0)<(f|0)){c[e>>0]=i;e=e+1|0}}while((e|0)<(n|0)){h[e>>2]=a;e=e+4|0}}while((e|0)<(t|0)){c[e>>0]=i;e=e+1|0}return e-r|0}function Xs(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){j=i<>>32-r;return e<>>0;return(j=i+t+(r>>>0>>0|0)>>>0,r|0)|0}function Vs(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){j=i>>>r;return e>>>r|(i&(1<>>r-32|0}function Gs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((r|0)>=4096)return Be(e|0,i|0,r|0)|0;t=e|0;if((e&3)==(i&3)){while(e&3){if(!r)return t|0;c[e>>0]=c[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}while((r|0)>=4){h[e>>2]=h[i>>2];e=e+4|0;i=i+4|0;r=r-4|0}}while((r|0)>0){c[e>>0]=c[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}return t|0}function Ks(e){e=e|0;var i=0;i=c[A+(e&255)>>0]|0;if((i|0)<8)return i|0;i=c[A+(e>>8&255)>>0]|0;if((i|0)<8)return i+8|0;i=c[A+(e>>16&255)>>0]|0;if((i|0)<8)return i+16|0;return(c[A+(e>>>24)>>0]|0)+24|0}function Ws(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;f=e&65535;n=i&65535;r=ue(n,f)|0;t=e>>>16;e=(r>>>16)+(ue(n,t)|0)|0;n=i>>>16;i=ue(n,f)|0;return(j=(e>>>16)+(ue(n,t)|0)+(((e&65535)+i|0)>>>16)|0,e+i<<16|r&65535|0)|0}function Js(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;o=i>>31|((i|0)<0?-1:0)<<1;s=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;l=Hs(o^e,s^i,o,s)|0;a=j;e=f^o;i=n^s;return Hs((io(l,a,Hs(f^r,n^t,f,n)|0,j,0)|0)^e,j^i,e,i)|0}function Zs(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;n=v;v=v+16|0;l=n|0;a=i>>31|((i|0)<0?-1:0)<<1;f=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;o=t>>31|((t|0)<0?-1:0)<<1;s=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=Hs(a^e,f^i,a,f)|0;i=j;io(e,i,Hs(o^r,s^t,o,s)|0,j,l)|0;t=Hs(h[l>>2]^a,h[l+4>>2]^f,a,f)|0;r=j;v=n;return(j=r,t)|0}function Qs(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=e;f=r;r=Ws(n,f)|0;e=j;return(j=(ue(i,f)|0)+(ue(t,n)|0)+e|e&0,r|0|0)|0}function $s(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return io(e,i,r,t,0)|0}function eo(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=v;v=v+16|0;n=f|0;io(e,i,r,t,n)|0;v=f;return(j=h[n+4>>2]|0,h[n>>2]|0)|0}function io(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;u=e;s=i;o=s;a=r;d=t;l=d;if(!o){f=(n|0)!=0;if(!l){if(f){h[n>>2]=(u>>>0)%(a>>>0);h[n+4>>2]=0}d=0;n=(u>>>0)/(a>>>0)>>>0;return(j=d,n)|0}else{if(!f){d=0;n=0;return(j=d,n)|0}h[n>>2]=e|0;h[n+4>>2]=i&0;d=0;n=0;return(j=d,n)|0}}f=(l|0)==0;do{if(a){if(!f){f=(de(l|0)|0)-(de(o|0)|0)|0;if(f>>>0<=31){c=f+1|0;l=31-f|0;i=f-31>>31;a=c;e=u>>>(c>>>0)&i|o<>>(c>>>0)&i;f=0;l=u<>2]=e|0;h[n+4>>2]=s|i&0;d=0;n=0;return(j=d,n)|0}f=a-1|0;if(f&a){l=(de(a|0)|0)+33-(de(o|0)|0)|0;k=64-l|0;c=32-l|0;s=c>>31;b=l-32|0;i=b>>31;a=l;e=c-1>>31&o>>>(b>>>0)|(o<>>(l>>>0))&i;i=i&o>>>(l>>>0);f=u<>>(b>>>0))&s|u<>31;break}if(n){h[n>>2]=f&u;h[n+4>>2]=0}if((a|0)==1){b=s|i&0;k=e|0|0;return(j=b,k)|0}else{k=Ks(a|0)|0;b=o>>>(k>>>0)|0;k=o<<32-k|u>>>(k>>>0)|0;return(j=b,k)|0}}else{if(f){if(n){h[n>>2]=(o>>>0)%(a>>>0);h[n+4>>2]=0}b=0;k=(o>>>0)/(a>>>0)>>>0;return(j=b,k)|0}if(!u){if(n){h[n>>2]=0;h[n+4>>2]=(o>>>0)%(l>>>0)}b=0;k=(o>>>0)/(l>>>0)>>>0;return(j=b,k)|0}f=l-1|0;if(!(f&l)){if(n){h[n>>2]=e|0;h[n+4>>2]=f&o|i&0}b=0;k=o>>>((Ks(l|0)|0)>>>0);return(j=b,k)|0}f=(de(l|0)|0)-(de(o|0)|0)|0;if(f>>>0<=30){i=f+1|0;l=31-f|0;a=i;e=o<>>(i>>>0);i=o>>>(i>>>0);f=0;l=u<>2]=e|0;h[n+4>>2]=s|i&0;b=0;k=0;return(j=b,k)|0}}while(0);if(!a){o=l;s=0;l=0}else{c=r|0|0;u=d|t&0;o=zs(c|0,u|0,-1,-1)|0;r=j;s=l;l=0;do{t=s;s=f>>>31|s<<1;f=l|f<<1;t=e<<1|t>>>31|0;d=e>>>31|i<<1|0;Hs(o,r,t,d)|0;k=j;b=k>>31|((k|0)<0?-1:0)<<1;l=b&1;e=Hs(t,d,b&c,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&u)|0;i=j;a=a-1|0}while((a|0)!=0);o=s;s=0}a=0;if(n){h[n>>2]=e;h[n+4>>2]=i}b=(f|0)>>>31|(o|a)<<1|(a<<1|f>>>31)&0|s;k=(f<<1|0>>>31)&-2|l;return(j=b,k)|0}function ro(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;return Oo[e&3](i|0,r|0,t|0,n|0,f|0,a|0,l|0)|0}function to(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Ro[e&63](i|0,r|0,t|0)|0}function no(e,i){e=e|0;i=i|0;return+Lo[e&3](i|0)}function fo(e,i){e=e|0;i=i|0;Co[e&7](i|0)}function ao(e,i,r){e=e|0;i=i|0;r=r|0;Do[e&7](i|0,r|0)}function lo(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return xo[e&7](i|0,r|0,t|0,n|0,f|0,a|0)|0}function so(e,i){e=e|0;i=i|0;return Io[e&15](i|0)|0}function oo(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;Bo[e&15](i|0,r|0,t|0)}function uo(e,i,r,t,n,f,a,l,s,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;return No[e&3](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0,o|0,u|0,c|0)|0}function co(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return Fo[e&63](i|0,r|0,t|0,n|0)|0}function ho(e,i,r){e=e|0;i=i|0;r=r|0;return Uo[e&7](i|0,r|0)|0}function bo(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return jo[e&3](i|0,r|0,t|0,n|0,f|0)|0}function ko(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;Ho[e&3](i|0,r|0,t|0,n|0)}function wo(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;he(0);return 0}function _o(e,i,r){e=e|0;i=i|0;r=r|0;he(1);return 0}function mo(e){e=e|0;he(2);return 0.0}function po(e){e=e|0;he(3)}function vo(e,i){e=e|0;i=i|0;he(4)}function go(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;he(5);return 0}function yo(e){e=e|0;he(6);return 0}function Eo(e,i,r){e=e|0;i=i|0;r=r|0;he(7)}function Ao(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;he(8);return 0}function Mo(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;he(9);return 0}function To(e,i){e=e|0;i=i|0;he(10);return 0}function So(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;he(11);return 0}function Po(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;he(12)}var Oo=[wo,cf,Xi,wo];var Ro=[_o,Ps,Kl,Vl,Lt,Ct,Dt,xt,Un,jn,Yn,af,vf,Bi,Ji,gf,yf,Ii,Ni,qn,Xn,zn,Vn,Tf,Sf,Pf,Of,Lf,Cf,xf,If,Bf,Nf,Ff,Uf,jf,Hf,Yf,qf,Xf,zf,Vf,Gf,Kf,Wf,Jf,Zf,Qf,$f,ea,ia,ra,er,ir,rr,tr,nr,fr,ar,lr,zl,Gl,_o,_o];var Lo=[mo,ta,na,mo];var Co=[po,tf,qi,it,rt,As,Ms,po];var Do=[vo,_t,mt,pt,$t,ef,Di,vo];var xo=[go,uf,Yi,Af,Hi,go,go,go];var Io=[yo,Xl,wf,_f,Wi,Ki,Zl,Na,xa,yo,yo,yo,yo,yo,yo,yo];var Bo=[Eo,Pi,Oi,Ri,Li,yi,Ei,Ai,Mi,mi,pi,vi,gi,hf,Gi,Eo];var No=[Ao,of,ji,Ao];var Fo=[Mo,ua,ca,ii,ri,ti,ni,fi,ai,li,si,oi,ui,ci,di,hi,bi,ki,wi,_i,mr,pr,vr,dr,hr,br,kr,wr,_r,St,Pt,Ot,Rt,mf,lf,Ci,Ui,Ef,nf,Fi,xi,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo];var Uo=[To,Hn,sr,or,ur,cr,To,To];var jo=[So,pf,zi,So];var Ho=[Po,Ha,Xa,Po];return{_opj_stream_destroy:Bt,_opj_stream_set_read_function:Nt,_opj_read_tile_header:mn,_opj_set_warning_handler:sn,_opj_destroy_cstr_info:xn,_opj_image_create:rn,_opj_set_error_handler:on,_opj_stream_set_user_data:Ht,_opj_end_decompress:Pn,_bitshift64Lshr:Vs,_opj_stream_set_seek_function:Ft,_opj_decode:wn,_opj_set_decoded_resolution_factor:gn,_i64Add:zs,_opj_stream_create_default_file_stream:Nn,_opj_encode:Tn,_bitshift64Ashr:Ys,_opj_get_decoded_tile:vn,_memset:qs,_opj_version:cn,_memcpy:Gs,_opj_destroy_cstr_index:Bn,_opj_stream_set_user_data_length:Yt,_opj_stream_set_skip_function:jt,_opj_image_destroy:tn,_opj_stream_create_file_stream:Fn,_opj_setup_encoder:An,_opj_stream_default_create:It,_bitshift64Shl:Xs,_opj_stream_create:Tt,_jp2_version:wt,_i64Subtract:Hs,_opj_get_cstr_index:In,_opj_set_default_decoder_parameters:hn,_opj_read_header:kn,_opj_get_cstr_info:Dn,_opj_set_default_encoder_parameters:En,_opj_set_decode_area:_n,_opj_stream_set_write_function:Ut,_opj_dump_codec:Cn,_opj_create_decompress:dn,_opj_decode_tile_data:pn,_free:Ds,_opj_image_tile_create:an,_opj_set_MCT:On,_opj_set_info_handler:ln,_opj_start_compress:Mn,_opj_write_tile:Rn,_opj_setup_decoder:bn,_malloc:Cs,_opj_end_compress:Sn,_opj_destroy_codec:Ln,_jp2_decode:kt,_opj_stream_create_buffer_stream:un,_opj_create_compress:yn,runPostSets:js,_emscripten_replace_memory:ei,stackAlloc:at,stackSave:lt,stackRestore:st,establishStackSpace:ot,setThrew:ut,setTempRet0:ht,getTempRet0:bt,dynCall_iiiiiiii:ro,dynCall_iiii:to,dynCall_di:no,dynCall_vi:fo,dynCall_vii:ao,dynCall_iiiiiii:lo,dynCall_ii:so,dynCall_viii:oo,dynCall_iiiiiiiiiiii:uo,dynCall_iiiii:co,dynCall_iii:ho,dynCall_iiiiii:bo,dynCall_viiii:ko}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_opj_stream_destroy=Module._opj_stream_destroy=asm._opj_stream_destroy,_opj_stream_set_read_function=Module._opj_stream_set_read_function=asm._opj_stream_set_read_function,_opj_read_tile_header=Module._opj_read_tile_header=asm._opj_read_tile_header,_opj_set_warning_handler=Module._opj_set_warning_handler=asm._opj_set_warning_handler,_opj_destroy_cstr_info=Module._opj_destroy_cstr_info=asm._opj_destroy_cstr_info,_opj_image_create=Module._opj_image_create=asm._opj_image_create,_opj_set_error_handler=Module._opj_set_error_handler=asm._opj_set_error_handler,_opj_image_tile_create=Module._opj_image_tile_create=asm._opj_image_tile_create,_opj_end_decompress=Module._opj_end_decompress=asm._opj_end_decompress,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_opj_stream_set_seek_function=Module._opj_stream_set_seek_function=asm._opj_stream_set_seek_function,_opj_decode=Module._opj_decode=asm._opj_decode,_opj_set_decoded_resolution_factor=Module._opj_set_decoded_resolution_factor=asm._opj_set_decoded_resolution_factor,_opj_stream_create_default_file_stream=Module._opj_stream_create_default_file_stream=asm._opj_stream_create_default_file_stream,_opj_set_default_decoder_parameters=Module._opj_set_default_decoder_parameters=asm._opj_set_default_decoder_parameters,_bitshift64Ashr=Module._bitshift64Ashr=asm._bitshift64Ashr,_opj_get_decoded_tile=Module._opj_get_decoded_tile=asm._opj_get_decoded_tile,_memset=Module._memset=asm._memset,_opj_version=Module._opj_version=asm._opj_version,_memcpy=Module._memcpy=asm._memcpy,_opj_destroy_cstr_index=Module._opj_destroy_cstr_index=asm._opj_destroy_cstr_index,_opj_stream_set_user_data_length=Module._opj_stream_set_user_data_length=asm._opj_stream_set_user_data_length,_opj_stream_set_skip_function=Module._opj_stream_set_skip_function=asm._opj_stream_set_skip_function,_opj_image_destroy=Module._opj_image_destroy=asm._opj_image_destroy,_opj_stream_create_file_stream=Module._opj_stream_create_file_stream=asm._opj_stream_create_file_stream,_opj_setup_encoder=Module._opj_setup_encoder=asm._opj_setup_encoder,_opj_stream_default_create=Module._opj_stream_default_create=asm._opj_stream_default_create,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_opj_stream_create=Module._opj_stream_create=asm._opj_stream_create,_jp2_version=Module._jp2_version=asm._jp2_version,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_opj_get_cstr_index=Module._opj_get_cstr_index=asm._opj_get_cstr_index,_opj_encode=Module._opj_encode=asm._opj_encode,_i64Add=Module._i64Add=asm._i64Add,_opj_get_cstr_info=Module._opj_get_cstr_info=asm._opj_get_cstr_info,_opj_set_default_encoder_parameters=Module._opj_set_default_encoder_parameters=asm._opj_set_default_encoder_parameters,_opj_set_decode_area=Module._opj_set_decode_area=asm._opj_set_decode_area,_opj_stream_set_write_function=Module._opj_stream_set_write_function=asm._opj_stream_set_write_function,_opj_dump_codec=Module._opj_dump_codec=asm._opj_dump_codec,_opj_read_header=Module._opj_read_header=asm._opj_read_header,_opj_create_decompress=Module._opj_create_decompress=asm._opj_create_decompress,_opj_decode_tile_data=Module._opj_decode_tile_data=asm._opj_decode_tile_data,_opj_set_info_handler=Module._opj_set_info_handler=asm._opj_set_info_handler,_opj_stream_set_user_data=Module._opj_stream_set_user_data=asm._opj_stream_set_user_data,_opj_set_MCT=Module._opj_set_MCT=asm._opj_set_MCT,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,_opj_start_compress=Module._opj_start_compress=asm._opj_start_compress,_opj_write_tile=Module._opj_write_tile=asm._opj_write_tile,_opj_setup_decoder=Module._opj_setup_decoder=asm._opj_setup_decoder,_malloc=Module._malloc=asm._malloc,_opj_end_compress=Module._opj_end_compress=asm._opj_end_compress,_opj_destroy_codec=Module._opj_destroy_codec=asm._opj_destroy_codec,_emscripten_replace_memory=Module._emscripten_replace_memory=asm._emscripten_replace_memory,_jp2_decode=Module._jp2_decode=asm._jp2_decode,_opj_stream_create_buffer_stream=Module._opj_stream_create_buffer_stream=asm._opj_stream_create_buffer_stream,_opj_create_compress=Module._opj_create_compress=asm._opj_create_compress,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null,calledMain=!1;function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Module.setStatus("")}),1),i()}),1)):i()))}function exit(e,i){if(!i||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",(function(){process.exit(e)})),console.log(" "),setTimeout((function(){process.exit(e)}),500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var i=e.length+1;function r(){for(var e=0;e<3;e++)t.push(0)}var t=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];r();for(var n=0;n0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),Module}},481:function(e,i,r){var t;t=function(e){return function(e){var i=this.webpackHotUpdate;this.webpackHotUpdate=function(e,r){!function(e,i){if(y[e]&&g[e]){for(var r in g[e]=!1,i)Object.prototype.hasOwnProperty.call(i,r)&&(k[r]=i[r]);0==--m&&0===p&&T()}}(e,r),i&&i(e,r)};var r,t=!0,n="1c62e16b6d24be6b7eef",f=1e4,a={},l=[],s=[];function o(e){var i=L[e];if(!i)return C;var t=function(t){return i.hot.active?(L[t]?-1===L[t].parents.indexOf(e)&&L[t].parents.push(e):(l=[e],r=t),-1===i.children.indexOf(t)&&i.children.push(t)):(console.warn("[HMR] unexpected require("+t+") from disposed module "+e),l=[]),C(t)},n=function(e){return{configurable:!0,enumerable:!0,get:function(){return C[e]},set:function(i){C[e]=i}}};for(var f in C)Object.prototype.hasOwnProperty.call(C,f)&&"e"!==f&&"t"!==f&&Object.defineProperty(t,f,n(f));return t.e=function(e){return"ready"===d&&h("prepare"),p++,C.e(e).then(i,(function(e){throw i(),e}));function i(){p--,"prepare"===d&&(v[e]||M(e),0===p&&0===m&&T())}},t.t=function(e,i){return 1&i&&(e=t(e)),C.t(e,-2&i)},t}function u(i){var t={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_selfInvalidated:!1,_disposeHandlers:[],_main:r!==i,active:!0,accept:function(e,i){if(void 0===e)t._selfAccepted=!0;else if("function"==typeof e)t._selfAccepted=e;else if("object"==typeof e)for(var r=0;r=0&&t._disposeHandlers.splice(i,1)},invalidate:function(){switch(this._selfInvalidated=!0,d){case"idle":(k={})[i]=e[i],h("ready");break;case"ready":R(i);break;case"prepare":case"check":case"dispose":case"apply":(_=_||[]).push(i)}},check:A,apply:S,status:function(e){if(!e)return d;c.push(e)},addStatusHandler:function(e){c.push(e)},removeStatusHandler:function(e){var i=c.indexOf(e);i>=0&&c.splice(i,1)},data:a[i]};return r=void 0,t}var c=[],d="idle";function h(e){d=e;for(var i=0;i0;){var n=t.pop(),f=n.id,a=n.chain;if((o=L[f])&&(!o.hot._selfAccepted||o.hot._selfInvalidated)){if(o.hot._selfDeclined)return{type:"self-declined",chain:a,moduleId:f};if(o.hot._main)return{type:"unaccepted",chain:a,moduleId:f};for(var l=0;l ")),A.type){case"self-declined":i.onDeclined&&i.onDeclined(A),i.ignoreDeclined||(M=new Error("Aborted because of self decline: "+A.moduleId+R));break;case"declined":i.onDeclined&&i.onDeclined(A),i.ignoreDeclined||(M=new Error("Aborted because of declined dependency: "+A.moduleId+" in "+A.parentId+R));break;case"unaccepted":i.onUnaccepted&&i.onUnaccepted(A),i.ignoreUnaccepted||(M=new Error("Aborted because "+u+" is not accepted"+R));break;case"accepted":i.onAccepted&&i.onAccepted(A),T=!0;break;case"disposed":i.onDisposed&&i.onDisposed(A),S=!0;break;default:throw new Error("Unexception type "+A.type)}if(M)return h("abort"),Promise.reject(M);if(T)for(u in p[u]=k[u],d(m,A.outdatedModules),A.outdatedDependencies)Object.prototype.hasOwnProperty.call(A.outdatedDependencies,u)&&(b[u]||(b[u]=[]),d(b[u],A.outdatedDependencies[u]));S&&(d(m,[A.moduleId]),p[u]=v)}var D,x=[];for(f=0;f0;)if(u=N.pop(),o=L[u]){var F={},U=o.hot._disposeHandlers;for(s=0;s=0&&j.parents.splice(D,1)}}for(u in b)if(Object.prototype.hasOwnProperty.call(b,u)&&(o=L[u]))for(B=b[u],s=0;s=0&&o.children.splice(D,1);for(u in h("apply"),void 0!==w&&(n=w,w=void 0),k=void 0,p)Object.prototype.hasOwnProperty.call(p,u)&&(e[u]=p[u]);var H=null;for(u in b)if(Object.prototype.hasOwnProperty.call(b,u)&&(o=L[u])){B=b[u];var Y=[];for(f=0;fe.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(e[i]<<8)+e[i+1]},readInt16:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if(i+2>e.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=(e[i]<<8)+e[i+1];return 32768&r&&(r=r-65535-1),r},readUint32:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*e[i]+e[i+1])+e[i+2])+e[i+3]},readInt32:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(e[i]<<24)+(e[i+1]<<16)+(e[i+2]<<8)+e[i+3]},readFloat:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[3]=e[i],r[2]=e[i+1],r[1]=e[i+2],r[0]=e[i+3],new Float32Array(r.buffer)[0]},readDouble:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if(i+8>e.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[7]=e[i],r[6]=e[i+1],r[5]=e[i+2],r[4]=e[i+3],r[3]=e[i+4],r[2]=e[i+5],r[1]=e[i+6],r[0]=e[i+7],new Float64Array(r.buffer)[0]}}},"./byteArrayParser.js":function(e,i,r){function t(e,i,r){if(r<0)throw"dicomParser.readFixedString - length cannot be less than 0";if(i+r>e.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var t,n="",f=0;f=r.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=i,this.byteArray=r,this.position=t||0,this.warnings=[]}var i,r,a;return i=e,(r=[{key:"seek",value:function(e){if(this.position+e<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=e}},{key:"readByteStream",value:function(i){if(this.position+i>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var r=Object(t.default)(this.byteArray,this.position,i);return this.position+=i,new e(this.byteArrayParser,r)}},{key:"getSize",value:function(){return this.byteArray.length}},{key:"readUint16",value:function(){var e=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,e}},{key:"readUint32",value:function(){var e=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,e}},{key:"readFixedString",value:function(e){var i=Object(n.readFixedString)(this.byteArray,this.position,e);return this.position+=e,i}}])&&f(i.prototype,r),a&&f(i,a),Object.defineProperty(i,"prototype",{writable:!1}),e}()},"./dataSet.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return a}));var t=r("./byteArrayParser.js");function n(e,i){for(var r=0;r0){var r=Object(t.readFixedString)(this.byteArray,i.dataOffset,i.length).match(/\\/g);return null===r?1:r.length+1}}},{key:"string",value:function(e,i){var r=this.elements[e];if(r&&r.Value)return r.Value;if(r&&r.length>0){var n=Object(t.readFixedString)(this.byteArray,r.dataOffset,r.length);return i>=0?n.split("\\")[i].trim():n.trim()}}},{key:"text",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){var n=Object(t.readFixedString)(this.byteArray,r.dataOffset,r.length);return i>=0?n.split("\\")[i].replace(/ +$/,""):n.replace(/ +$/,"")}}},{key:"floatString",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){i=void 0!==i?i:0;var t=this.string(e,i);if(void 0!==t)return parseFloat(t)}}},{key:"intString",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){i=void 0!==i?i:0;var t=this.string(e,i);if(void 0!==t)return parseInt(t)}}},{key:"attributeTag",value:function(e){var i=this.elements[e];if(i&&4===i.length){var r=f(i,this.byteArrayParser).readUint16,t=this.byteArray,n=i.dataOffset;return"x".concat("00000000".concat((256*r(t,n)*256+r(t,n+2)).toString(16)).substr(-8))}}}])&&n(i.prototype,r),a&&n(i,a),Object.defineProperty(i,"prototype",{writable:!1}),e}()},"./findAndSetUNElementLength.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;)if(65534===e.readUint16()&&57565===e.readUint16())return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(i.tag)),void(i.length=e.position-i.dataOffset);i.length=e.byteArray.length-i.dataOffset,e.seek(e.byteArray.length-e.position)}r.r(i),r.d(i,"default",(function(){return t}))},"./findEndOfEncapsulatedPixelData.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return n}));var t=r("./readTag.js");function n(e,i,r){if(void 0===e)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'element'";if(i.encapsulatedPixelData=!0,i.basicOffsetTable=[],i.fragments=[],"xfffee000"!==Object(t.default)(e))throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var n=e.readUint32()/4,f=0;fe.byteArray.length-e.position&&(o=e.byteArray.length-e.position),i.fragments.push({offset:e.position-l-8,position:e.position,length:o}),e.seek(o),void(i.length=e.position-i.dataOffset);i.fragments.push({offset:e.position-l-8,position:e.position,length:o}),e.seek(o)}r&&r.push("pixel data element ".concat(i.tag," missing sequence delimiter tag xfffee0dd"))}},"./findItemDelimitationItem.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;)if(65534===e.readUint16()&&57357===e.readUint16())return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(i.tag)),void(i.length=e.position-i.dataOffset);i.length=e.byteArray.length-i.dataOffset,e.seek(e.byteArray.length-e.position)}r.r(i),r.d(i,"default",(function(){return t}))},"./index.js":function(e,i,r){r.r(i);var t=r("./util/index.js");r.d(i,"isStringVr",(function(){return t.isStringVr})),r.d(i,"isPrivateTag",(function(){return t.isPrivateTag})),r.d(i,"parsePN",(function(){return t.parsePN})),r.d(i,"parseTM",(function(){return t.parseTM})),r.d(i,"parseDA",(function(){return t.parseDA})),r.d(i,"explicitElementToString",(function(){return t.explicitElementToString})),r.d(i,"explicitDataSetToJS",(function(){return t.explicitDataSetToJS})),r.d(i,"createJPEGBasicOffsetTable",(function(){return t.createJPEGBasicOffsetTable}));var n=r("./parseDicomDataSet.js");r.d(i,"parseDicomDataSetExplicit",(function(){return n.parseDicomDataSetExplicit})),r.d(i,"parseDicomDataSetImplicit",(function(){return n.parseDicomDataSetImplicit}));var f=r("./byteArrayParser.js");r.d(i,"readFixedString",(function(){return f.readFixedString}));var a=r("./alloc.js");r.d(i,"alloc",(function(){return a.default}));var l=r("./version.js");r.d(i,"version",(function(){return l.default}));var s=r("./bigEndianByteArrayParser.js");r.d(i,"bigEndianByteArrayParser",(function(){return s.default}));var o=r("./byteStream.js");r.d(i,"ByteStream",(function(){return o.default}));var u=r("./sharedCopy.js");r.d(i,"sharedCopy",(function(){return u.default}));var c=r("./dataSet.js");r.d(i,"DataSet",(function(){return c.default}));var d=r("./findAndSetUNElementLength.js");r.d(i,"findAndSetUNElementLength",(function(){return d.default}));var h=r("./findEndOfEncapsulatedPixelData.js");r.d(i,"findEndOfEncapsulatedElement",(function(){return h.default}));var b=r("./findItemDelimitationItem.js");r.d(i,"findItemDelimitationItemAndSetElementLength",(function(){return b.default}));var k=r("./littleEndianByteArrayParser.js");r.d(i,"littleEndianByteArrayParser",(function(){return k.default}));var w=r("./parseDicom.js");r.d(i,"parseDicom",(function(){return w.default}));var _=r("./readDicomElementExplicit.js");r.d(i,"readDicomElementExplicit",(function(){return _.default}));var m=r("./readDicomElementImplicit.js");r.d(i,"readDicomElementImplicit",(function(){return m.default}));var p=r("./readEncapsulatedImageFrame.js");r.d(i,"readEncapsulatedImageFrame",(function(){return p.default}));var v=r("./readEncapsulatedPixelData.js");r.d(i,"readEncapsulatedPixelData",(function(){return v.default}));var g=r("./readEncapsulatedPixelDataFromFragments.js");r.d(i,"readEncapsulatedPixelDataFromFragments",(function(){return g.default}));var y=r("./readPart10Header.js");r.d(i,"readPart10Header",(function(){return y.default}));var E=r("./readSequenceElementExplicit.js");r.d(i,"readSequenceItemsExplicit",(function(){return E.default}));var A=r("./readSequenceElementImplicit.js");r.d(i,"readSequenceItemsImplicit",(function(){return A.default}));var M=r("./readSequenceItem.js");r.d(i,"readSequenceItem",(function(){return M.default}));var T=r("./readTag.js");r.d(i,"readTag",(function(){return T.default}));var S={isStringVr:t.isStringVr,isPrivateTag:t.isPrivateTag,parsePN:t.parsePN,parseTM:t.parseTM,parseDA:t.parseDA,explicitElementToString:t.explicitElementToString,explicitDataSetToJS:t.explicitDataSetToJS,createJPEGBasicOffsetTable:t.createJPEGBasicOffsetTable,parseDicomDataSetExplicit:n.parseDicomDataSetExplicit,parseDicomDataSetImplicit:n.parseDicomDataSetImplicit,readFixedString:f.readFixedString,alloc:a.default,version:l.default,bigEndianByteArrayParser:s.default,ByteStream:o.default,sharedCopy:u.default,DataSet:c.default,findAndSetUNElementLength:d.default,findEndOfEncapsulatedElement:h.default,findItemDelimitationItemAndSetElementLength:b.default,littleEndianByteArrayParser:k.default,parseDicom:w.default,readDicomElementExplicit:_.default,readDicomElementImplicit:m.default,readEncapsulatedImageFrame:p.default,readEncapsulatedPixelData:v.default,readEncapsulatedPixelDataFromFragments:g.default,readPart10Header:y.default,readSequenceItemsExplicit:E.default,readSequenceItemsImplicit:A.default,readSequenceItem:M.default,readTag:T.default,LEI:w.LEI,LEE:w.LEE};i.default=S},"./littleEndianByteArrayParser.js":function(e,i,r){r.r(i),i.default={readUint16:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if(i+2>e.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return e[i]+256*e[i+1]},readInt16:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if(i+2>e.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=e[i]+(e[i+1]<<8);return 32768&r&&(r=r-65535-1),r},readUint32:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return e[i]+256*e[i+1]+256*e[i+2]*256+256*e[i+3]*256*256},readInt32:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return e[i]+(e[i+1]<<8)+(e[i+2]<<16)+(e[i+3]<<24)},readFloat:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[0]=e[i],r[1]=e[i+1],r[2]=e[i+2],r[3]=e[i+3],new Float32Array(r.buffer)[0]},readDouble:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if(i+8>e.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[0]=e[i],r[1]=e[i+1],r[2]=e[i+2],r[3]=e[i+3],r[4]=e[i+4],r[5]=e[i+5],r[6]=e[i+6],r[7]=e[i+7],new Float64Array(r.buffer)[0]}}},"./parseDicom.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return k})),r.d(i,"LEI",(function(){return h})),r.d(i,"LEE",(function(){return d})),r.d(i,"BEI",(function(){return b}));var t=r("./alloc.js"),n=r("./bigEndianByteArrayParser.js"),f=r("./byteStream.js"),a=r("./dataSet.js"),l=r("./littleEndianByteArrayParser.js"),s=r("./readPart10Header.js"),o=r("./sharedCopy.js"),u=r("./byteArrayParser.js"),c=r("./parseDicomDataSet.js"),d="1.2.840.10008.1.2.1",h="1.2.840.10008.1.2",b="1.2.840.10008.1.2.2";function k(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw new Error("dicomParser.parseDicom: missing required parameter 'byteArray'");var d,h=function(i){if(void 0===i.elements.x00020010)throw new Error("dicomParser.parseDicom: missing required meta header attribute 0002,0010");var r=i.elements.x00020010;return r&&r.Value||u.readFixedString(e,r.dataOffset,r.length)};function k(s){var u=h(s),d=function(e){return"1.2.840.10008.1.2"!==e}(u),k=function(a,s){var u="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0);if("1.2.840.10008.1.2.1.99"===a){if(i&&i.inflater){var c=i.inflater(e,s);return new f.default(l.default,c,0)}if(!0===u){var d=r("zlib"),h=Object(o.default)(e,s,e.length-s),k=d.inflateRawSync(h),w=Object(t.default)(e,k.length+s);return e.copy(w,0,0,s),k.copy(w,s),new f.default(l.default,w,0)}if("undefined"!=typeof pako){var _=e.slice(s),m=pako.inflateRaw(_),p=Object(t.default)(e,m.length+s);return p.set(e.slice(0,s),0),p.set(m,s),new f.default(l.default,p,0)}throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax"}return a===b?new f.default(n.default,e,s):new f.default(l.default,e,s)}(u,s.position),w=new a.default(k.byteArrayParser,k.byteArray,{});w.warnings=k.warnings;try{d?c.parseDicomDataSetExplicit(w,k,k.byteArray.length,i):c.parseDicomDataSetImplicit(w,k,k.byteArray.length,i)}catch(e){throw{exception:e,dataSet:w}}return w}return function(e,i){for(var r in e.elements)e.elements.hasOwnProperty(r)&&(i.elements[r]=e.elements[r]);return void 0!==e.warnings&&(i.warnings=e.warnings.concat(i.warnings)),i}(d=Object(s.default)(e,i),k(d))}},"./parseDicomDataSet.js":function(e,i,r){r.r(i),r.d(i,"parseDicomDataSetExplicit",(function(){return f})),r.d(i,"parseDicomDataSetImplicit",(function(){return a}));var t=r("./readDicomElementExplicit.js"),n=r("./readDicomElementImplicit.js");function f(e,i,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?i.byteArray.length:r,void 0===i)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(ri.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var f=e.elements;i.positionr)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function a(e,i,r){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?e.byteArray.length:r,void 0===i)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(ri.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var f=e.elements;i.position= 0";if(r>=a.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var s=a[r],o=n(l,s);if(void 0===o)throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";var u=f(r,a,l,o);return Object(t.default)(e,i,o,u,l)}},"./readEncapsulatedPixelData.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return a}));var t=r("./readEncapsulatedImageFrame.js"),n=r("./readEncapsulatedPixelDataFromFragments.js"),f=!1;function a(e,i,r){if(f||(f=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),void 0===e)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if(!0!==i.encapsulatedPixelData)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(!0!==i.hadUndefinedLength)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelData: parameter 'frame' must be >= 0";return 0!==i.basicOffsetTable.length?Object(t.default)(e,i,r):Object(n.default)(e,i,0,i.fragments.length)}},"./readEncapsulatedPixelDataFromFragments.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return s}));var t=r("./alloc.js"),n=r("./byteStream.js"),f=r("./readSequenceItem.js"),a=r("./sharedCopy.js"),l=function(e,i,r){for(var t=0,n=i;n= 0";if(r>=i.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(s<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(r+s>i.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var u=new n.default(e.byteArrayParser,e.byteArray,i.dataOffset),c=Object(f.default)(u);if("xfffee000"!==c.tag)throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";u.seek(c.length);var d=u.position;if(1===s)return Object(a.default)(u.byteArray,d+o[r].offset+8,o[r].length);for(var h=l(o,r,s),b=Object(t.default)(u.byteArray,h),k=0,w=r;w1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var r=i.TransferSyntaxUID,l=new t.default(f.default,e);return function(){var e=[],t={};if(!function(){if(l.getSize()<=132&&r)return!1;if(l.seek(128),"DICM"!==l.readFixedString(4)){if(!(i||{}).TransferSyntaxUID)throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file.";return l.seek(0),!1}return!0}())return l.position=0,{elements:{x00020010:{tag:"x00020010",vr:"UI",Value:r}},warnings:e};for(;l.position"x0002ffff"){l.position=s;break}o.parser=f.default,t[o.tag]=o}var u=new n.default(l.byteArrayParser,l.byteArray,t);return u.warnings=l.warnings,u.position=l.position,u}()}},"./readSequenceElementExplicit.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return o}));var t=r("./dataSet.js"),n=r("./readDicomElementExplicit.js"),f=r("./readSequenceItem.js"),a=r("./readTag.js"),l=r("./parseDicomDataSet.js");function s(e,i){var r=Object(f.default)(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(e,i){for(var r={};e.position0&&a<=12&&f>0&&f<=function(e,i){switch(e){case 2:return i%4==0&&i%100||i%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}}(a,l)))throw"invalid DA '".concat(e,"'");return{year:r,month:t,day:n}}var f,a,l;if(i)throw"invalid DA '".concat(e,"'")}r.r(i),r.d(i,"default",(function(){return t}))},"./util/parseTM.js":function(e,i,r){function t(e,i){if(e.length>=2){var r=parseInt(e.substring(0,2),10),t=e.length>=4?parseInt(e.substring(2,4),10):void 0,n=e.length>=6?parseInt(e.substring(4,6),10):void 0,f=e.length>=8?e.substring(7,13):void 0,a=f?parseInt(f,10)*Math.pow(10,6-f.length):void 0;if(i&&(isNaN(r)||void 0!==t&&isNaN(t)||void 0!==n&&isNaN(n)||void 0!==a&&isNaN(a)||r<0||r>23||t&&(t<0||t>59)||n&&(n<0||n>59)||a&&(a<0||a>999999)))throw"invalid TM '".concat(e,"'");return{hours:r,minutes:t,seconds:n,fractionalSeconds:a}}if(i)throw"invalid TM '".concat(e,"'")}r.r(i),r.d(i,"default",(function(){return t}))},"./util/util.js":function(e,i,r){r.r(i),r.d(i,"isStringVr",(function(){return n})),r.d(i,"isPrivateTag",(function(){return f})),r.d(i,"parsePN",(function(){return a}));var t={AE:!0,AS:!0,AT:!1,CS:!0,DA:!0,DS:!0,DT:!0,FL:!1,FD:!1,IS:!0,LO:!0,LT:!0,OB:!1,OD:!1,OF:!1,OW:!1,PN:!0,SH:!0,SL:!1,SQ:!1,SS:!1,ST:!0,TM:!0,UI:!0,UL:!1,UN:void 0,UR:!0,US:!1,UT:!0},n=function(e){return t[e]},f=function(e){var i=parseInt(e[4],16);if(isNaN(i))throw"dicomParser.isPrivateTag: cannot parse last character of group";return i%2==1},a=function(e){if(void 0!==e){var i=e.split("^");return{familyName:i[0],givenName:i[1],middleName:i[2],prefix:i[3],suffix:i[4]}}}},"./version.js":function(e,i,r){r.r(i),i.default="1.8.12"},zlib:function(i,r){i.exports=e}})},e.exports=t(r(559))},109:e=>{var i=function(){var e=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),i=4017,r=799,t=3406,n=2276,f=1567,a=3784,l=5793,s=2896;function o(){}function u(e,i){for(var r,t,n=0,f=[],a=16;a>0&&!e[a-1];)a--;f.push({children:[],index:0});var l,s=f[0];for(r=0;r0;){if(0===f.length)throw new Error("Could not recreate Huffman Table");s=f.pop()}for(s.index++,f.push(s);f.length<=r;)f.push(l={children:[],index:0}),s.children[s.index]=l.children,s=l;n++}r+10)return k--,b>>k&1;if(255==(b=i[r++])){var e=i[r++];if(e)throw new Error("unexpected marker: "+(b<<8|e).toString(16))}return k=7,b>>>7}function _(e){for(var i,r=e;null!==(i=w());){if("number"==typeof(r=r[i]))return r;if("object"!=typeof r)throw new Error("invalid huffman sequence")}return null}function m(e){for(var i=0;e>0;){var r=w();if(null===r)return;i=i<<1|r,e--}return i}function p(e){var i=m(e);return i>=1<0)v--;else for(var t=a,n=l;t<=n;){var f=_(i.huffmanTableAC),s=15&f,u=f>>4;if(0!==s)r[e[t+=u]]=p(s)*(1<>4,0===d)f<15?(v=m(f)+(1<>4;if(0!==l)r[e[f+=s]]=p(l),f++;else{if(s<15)break;f+=16}}};var C,D,x,I,B=0;for(D=1==L?n[0].blocksPerLine*n[0].blocksPerColumn:c*t.mcusPerColumn,f||(f=D);B=65488&&C<=65495))break;r+=2}return r-h}function d(e,o){var u,c,d=[],h=o.blocksPerLine,b=o.blocksPerColumn,k=h<<3,_=new Int32Array(64),m=new Uint8Array(64);function p(e,u,c){var d,h,b,k,w,_,m,p,v,g,y=o.quantizationTable,E=c;for(g=0;g<64;g++)E[g]=e[g]*y[g];for(g=0;g<8;++g){var A=8*g;0!=E[1+A]||0!=E[2+A]||0!=E[3+A]||0!=E[4+A]||0!=E[5+A]||0!=E[6+A]||0!=E[7+A]?(d=l*E[0+A]+128>>8,h=l*E[4+A]+128>>8,b=E[2+A],k=E[6+A],w=s*(E[1+A]-E[7+A])+128>>8,p=s*(E[1+A]+E[7+A])+128>>8,_=E[3+A]<<4,m=E[5+A]<<4,v=d-h+1>>1,d=d+h+1>>1,h=v,v=b*a+k*f+128>>8,b=b*f-k*a+128>>8,k=v,v=w-m+1>>1,w=w+m+1>>1,m=v,v=p+_+1>>1,_=p-_+1>>1,p=v,v=d-k+1>>1,d=d+k+1>>1,k=v,v=h-b+1>>1,h=h+b+1>>1,b=v,v=w*n+p*t+2048>>12,w=w*t-p*n+2048>>12,p=v,v=_*r+m*i+2048>>12,_=_*i-m*r+2048>>12,m=v,E[0+A]=d+p,E[7+A]=d-p,E[1+A]=h+m,E[6+A]=h-m,E[2+A]=b+_,E[5+A]=b-_,E[3+A]=k+w,E[4+A]=k-w):(v=l*E[0+A]+512>>10,E[0+A]=v,E[1+A]=v,E[2+A]=v,E[3+A]=v,E[4+A]=v,E[5+A]=v,E[6+A]=v,E[7+A]=v)}for(g=0;g<8;++g){var M=g;0!=E[8+M]||0!=E[16+M]||0!=E[24+M]||0!=E[32+M]||0!=E[40+M]||0!=E[48+M]||0!=E[56+M]?(d=l*E[0+M]+2048>>12,h=l*E[32+M]+2048>>12,b=E[16+M],k=E[48+M],w=s*(E[8+M]-E[56+M])+2048>>12,p=s*(E[8+M]+E[56+M])+2048>>12,_=E[24+M],m=E[40+M],v=d-h+1>>1,d=d+h+1>>1,h=v,v=b*a+k*f+2048>>12,b=b*f-k*a+2048>>12,k=v,v=w-m+1>>1,w=w+m+1>>1,m=v,v=p+_+1>>1,_=p-_+1>>1,p=v,v=d-k+1>>1,d=d+k+1>>1,k=v,v=h-b+1>>1,h=h+b+1>>1,b=v,v=w*n+p*t+2048>>12,w=w*t-p*n+2048>>12,p=v,v=_*r+m*i+2048>>12,_=_*i-m*r+2048>>12,m=v,E[0+M]=d+p,E[56+M]=d-p,E[8+M]=h+m,E[48+M]=h-m,E[16+M]=b+_,E[40+M]=b-_,E[24+M]=k+w,E[32+M]=k-w):(v=l*c[g+0]+8192>>14,E[0+M]=v,E[8+M]=v,E[16+M]=v,E[24+M]=v,E[32+M]=v,E[40+M]=v,E[48+M]=v,E[56+M]=v)}for(g=0;g<64;++g){var T=128+(E[g]+8>>4);u[g]=T<0?0:T>255?255:T}}w(k*b*8);for(var v=0;v255?255:e}o.prototype={load:function(e){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){var e=new Uint8Array(i.response||i.mozResponseArrayBuffer);this.parse(e),this.onload&&this.onload()}.bind(this),i.send(null)},parse:function(i){var r=1e3*this.opts.maxResolutionInMP*1e3,t=0;i.length;function n(){var e=i[t]<<8|i[t+1];return t+=2,e}function f(){var e=n(),r=i.subarray(t,t+e-2);return t+=r.length,r}function a(e){var i,r,t=1,n=1;for(r in e.components)e.components.hasOwnProperty(r)&&(t<(i=e.components[r]).h&&(t=i.h),n>4){if(A>>4!=1)throw new Error("DQT: invalid table spec");for(G=0;G<64;G++){M[e[G]]=n()}}else for(G=0;G<64;G++){M[e[G]]=i[t++]}b[15&A]=M}break;case 65472:case 65473:case 65474:n(),(l={}).extended=65473===p,l.progressive=65474===p,l.precision=i[t++],l.scanLines=n(),l.samplesPerLine=n(),l.components={},l.componentsOrder=[];var T=l.scanLines*l.samplesPerLine;if(T>r){var S=Math.ceil((T-r)/1e6);throw new Error(`maxResolutionInMP limit exceeded by ${S}MP`)}var P,O=i[t++];for(z=0;z>4,L=15&i[t+1],C=i[t+2];if(R<=0||L<=0)throw new Error("Invalid sampling factor, expected values above 0");l.componentsOrder.push(P),l.components[P]={h:R,v:L,quantizationIdx:C},t+=3}a(l),k.push(l);break;case 65476:var D=n();for(z=2;z>4?_:m)[15&x]=u(I,N)}break;case 65501:n(),s=n();break;case 65500:n(),n();break;case 65498:n();var F=i[t++],U=[];for(z=0;z>4],K.huffmanTableAC=_[15&j],U.push(K)}var H=i[t++],Y=i[t++],q=i[t++],X=c(i,t,l,U,s,H,Y,q>>4,15&q,this.opts);t+=X;break;case 65535:255!==i[t]&&t--;break;default:if(255==i[t-3]&&i[t-2]>=192&&i[t-2]<=254){t-=3;break}if(224===p||225==p){if(-1!==v)throw new Error(`first unknown JPEG marker at offset ${v.toString(16)}, second unknown JPEG marker ${p.toString(16)} at offset ${(t-1).toString(16)}`);v=t-1;const e=n();if(255===i[t+e-2]){t+=e-2;break}}throw new Error("unknown JPEG marker "+p.toString(16))}p=n()}if(1!=k.length)throw new Error("only single frame JPEGs supported");for(var z=0;zk){var r=Math.ceil((i-k)/1024/1024);throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${r}MB`)}b=i}return o.resetMaxMemoryUsage=function(e){b=0,k=e},o.getBytesAllocated=function(){return b},o.requestMemoryAllocation=w,o}();e.exports=function(e,r={}){var t={colorTransform:void 0,useTArray:!1,formatAsRGBA:!0,tolerantDecoding:!0,maxResolutionInMP:100,maxMemoryUsageInMB:512,...r},n=new Uint8Array(e),f=new i;f.opts=t,i.resetMaxMemoryUsage(1024*t.maxMemoryUsageInMB*1024),f.parse(n);var a=t.formatAsRGBA?4:3,l=f.width*f.height*a;try{i.requestMemoryAllocation(l);var s={width:f.width,height:f.height,exifBuffer:f.exifBuffer,data:t.useTArray?new Uint8Array(l):Buffer.alloc(l)};f.comments.length>0&&(s.comments=f.comments)}catch(e){if(e instanceof RangeError)throw new Error("Could not allocate enough memory for the image. Required: "+l);if(e instanceof ReferenceError&&"Buffer is not defined"===e.message)throw new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true");throw e}return f.copyToImageData(s,t.formatAsRGBA),s}},254:e=>{e.exports=__X_ITE_X3D__.jquery},497:()=>{},13:()=>{},722:()=>{},978:()=>{},559:()=>{}},__webpack_module_cache__={};function __webpack_require__(e){var i=__webpack_module_cache__[e];if(void 0!==i)return i.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(i,{a:i}),i},__webpack_require__.d=(e,i)=>{for(var r in i)__webpack_require__.o(i,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:i[r]})},__webpack_require__.o=(e,i)=>Object.prototype.hasOwnProperty.call(e,i),(()=>{const e=__X_ITE_X3D__.Components;var i=__webpack_require__.n(e);const r=__X_ITE_X3D__.Fields;var t=__webpack_require__.n(r);const n=__X_ITE_X3D__.X3DFieldDefinition;var f=__webpack_require__.n(n);const a=__X_ITE_X3D__.FieldDefinitionArray;var l=__webpack_require__.n(a);const s=__X_ITE_X3D__.X3DNode;var o=__webpack_require__.n(s);const u=__X_ITE_X3D__.X3DSingleTextureNode;var c=__webpack_require__.n(u);const d=__X_ITE_X3D__.X3DConstants;var h=__webpack_require__.n(d);const b=__X_ITE_X3D__.Namespace;var k=__webpack_require__.n(b);const w=new Uint8Array([255,255,255,255]);function _(e){c().call(this,e),this.addType(h().X3DTexture3DNode);const i=this.getBrowser().getContext();this.target=i.TEXTURE_3D,this.width=0,this.height=0,this.depth=0}Object.assign(Object.setPrototypeOf(_.prototype,c().prototype),{initialize(){c().prototype.initialize.call(this),this._repeatS.addInterest("updateTextureParameters",this),this._repeatT.addInterest("updateTextureParameters",this),this._repeatR.addInterest("updateTextureParameters",this);const e=this.getBrowser().getContext();e.getVersion()<2||(e.bindTexture(e.TEXTURE_3D,this.getTexture()),e.texImage3D(e.TEXTURE_3D,0,e.RGBA,1,1,1,0,e.RGBA,e.UNSIGNED_BYTE,w))},getTarget(){return this.target},getTextureType:()=>3,getWidth(){return this.width},setWidth(e){this.width=e},getHeight(){return this.height},setHeight(e){this.height=e},getDepth(){return this.depth},setDepth(e){this.depth=e},clearTexture(){const e=this.getBrowser().getContext();this.setTextureData(1,1,1,!1,e.RGBA,w)},setTextureData(e,i,r,t,n,f){this.width=e,this.height=i,this.depth=r;const a=this.getBrowser().getContext();a.getVersion()<2||(this.setTexture(a.createTexture()),a.bindTexture(a.TEXTURE_3D,this.getTexture()),a.texImage3D(a.TEXTURE_3D,0,n,e,i,r,0,n,a.UNSIGNED_BYTE,f),this.setTransparent(t),this.updateTextureParameters(),this.addNodeEvent())},updateTextureParameters(){c().prototype.updateTextureParameters.call(this,this.target,this._textureProperties.getValue(),this.texturePropertiesNode,this.width,this.height,this._repeatS.getValue(),this._repeatT.getValue(),this._repeatR.getValue())},setShaderUniforms(e,i,r,t=i.x3d_Texture[0]){const n=this.getBrowser().getTexture3DUnit();e.activeTexture(e.TEXTURE0+n),e.bindTexture(e.TEXTURE_3D,this.getTexture()),e.uniform1i(t.texture3D,n)}}),Object.defineProperties(_,o().getStaticProperties("X3DTexture3DNode","Texturing3D",1));const m=_,p=k().add("X3DTexture3DNode",m),v=__X_ITE_X3D__.X3DCast;var g=__webpack_require__.n(v);function y(e){p.call(this,e),this.addType(h().ComposedTexture3D),this.addChildObjects(h().inputOutput,"update",new(t().SFTime)),this.textureNodes=[]}Object.assign(Object.setPrototypeOf(y.prototype,p.prototype),{initialize(){p.prototype.initialize.call(this),this._texture.addInterest("set_texture__",this),this._update.addInterest("update",this),this.set_texture__()},set_texture__(){const e=this.textureNodes;for(const i of e)i.removeInterest("set_update__",this);e.length=0;for(const i of this._texture){const r=g()(h().X3DTexture2DNode,i);r&&e.push(r)}for(const i of e)i.addInterest("set_update__",this);this.set_update__()},set_update__(){this._update.addEvent()},isComplete(){return this.textureNodes.every((e=>e.checkLoadState()===h().COMPLETE_STATE))},update(){const e=this.textureNodes;if(0!==e.length&&this.isComplete()){const i=this.getBrowser().getContext(),r=e[0].getWidth(),t=e[0].getHeight(),n=e.length,f=i.createFramebuffer();if(i.bindFramebuffer(i.FRAMEBUFFER,f),i.bindTexture(i.TEXTURE_3D,this.getTexture()),r!==this.getWidth()||t!==this.getHeight()||n!==this.getDepth()){const e=new Uint8Array(r*t*n*4);i.texImage3D(i.TEXTURE_3D,0,i.RGBA,r,t,n,0,i.RGBA,i.UNSIGNED_BYTE,e)}for(const[e,n]of this.textureNodes.entries())if(n.getWidth()===r&&n.getHeight()===t)if(i.bindTexture(i.TEXTURE_2D,n.getTexture()),i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,n.getTexture(),0),1===n.getTextureType())for(let n=0;ne.isTransparent()))),this.setLinear(e.some((e=>e.isLinear()))),this.setMipMaps(e.every((e=>e.canMipMaps()))),this.updateTextureParameters()}else this.clearTexture()}}),Object.defineProperties(y,{...o().getStaticProperties("ComposedTexture3D","Texturing3D",1,"texture","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"description",new(t().SFString)),new(f())(h().initializeOnly,"repeatS",new(t().SFBool)),new(f())(h().initializeOnly,"repeatT",new(t().SFBool)),new(f())(h().initializeOnly,"repeatR",new(t().SFBool)),new(f())(h().initializeOnly,"textureProperties",new(t().SFNode)),new(f())(h().inputOutput,"texture",new(t().MFNode))]),enumerable:!0}});const E=y,A=k().add("ComposedTexture3D",E),M=__X_ITE_X3D__.X3DUrlObject;var T=__webpack_require__.n(M);const S=__X_ITE_X3D__.Expressions;var P=__webpack_require__.n(S),O=__webpack_require__(254),R=__webpack_require__.n(O);const L=P()({NRRD:/^NRRD(\d+)\n/gy,field:/([\w\s]+):\s*(.+?)\n/gy,comment:/#[^\n]*\n/gy,newLine:/\n/gy});function C(){this.fieldFunction=new Map([["type",this.getType],["encoding",this.getEncoding],["dimension",this.getDimension],["sizes",this.getSizes],["endian",this.getEndian]])}Object.assign(C.prototype,{parse(e){return this.setInput(e),this.getNRRD()&&(this.getFields(),this.getData()),this.nrrd},setInput(e){this.dataView=new DataView(e),this.input=R().decodeText(e),this.lastIndex=0,this.nrrd={},this.littleEndian=!0},getNRRD(){return L.NRRD.parse(this)?(this.nrrd.nrrd=!0,this.nrrd.version=parseInt(this.result[1]),!0):(this.nrrd.nrrd=!1,!1)},getFields(){for(;L.comment.parse(this););for(;L.field.parse(this);){const e=this.result[1].toLowerCase(),i=this.result[2].trim().toLowerCase(),r=this.fieldFunction.get(e);for(r&&r.call(this,i);L.comment.parse(this););}},getType:(()=>{const e=new Map([["signed char",["signed char",1]],["int8",["signed char",1]],["int8_t",["signed char",1]],["uchar",["unsigned char",1]],["unsigned char",["unsigned char",1]],["uint8",["unsigned char",1]],["uint8_t",["unsigned char",1]],["short",["signed short",2]],["short int",["signed short",2]],["signed short",["signed short",2]],["signed short int",["signed short",2]],["int16",["signed short",2]],["int16_t",["signed short",2]],["ushort",["unsigned short",2]],["unsigned short",["unsigned short",2]],["unsigned short int",["unsigned short",2]],["uint16",["unsigned short",2]],["uint16_t",["unsigned short",2]],["int",["signed int",4]],["signed int",["signed int",4]],["int32",["signed int",4]],["int32_t",["signed int",4]],["uint",["unsigned int",4]],["unsigned int",["unsigned int",4]],["uint32",["unsigned int",4]],["uint32_t",["unsigned int",4]],["float",["float",4]],["double",["double",8]]]);return function(i){const r=e.get(i);if(void 0===r)throw new Error("Unsupported NRRD type '"+i+"'.");this.byteType=r[0],this.bytes=r[1]}})(),getEncoding:(()=>{const e=new Map([["ascii","ascii"],["txt","ascii"],["text","ascii"],["raw","raw"],["hex","hex"],["gz","gzip"],["gzip","gzip"]]);return function(i){const r=e.get(i);if(void 0===r)throw new Error("Unsupported NRRD encoding '"+i+"'.");this.encoding=r}})(),getDimension(e){const i=e.match(/(\d+)/);if(i){const e=parseInt(i[1]);switch(e){case 1:case 2:case 3:case 4:return void(this.dimension=e)}}throw new Error(`Unsupported NRRD dimension '${i?.[1]}', must be 1, 2, 3, or 4.`)},getSizes(e){const i=/\s*(\d+)/gy,r=[];let t;for(;t=i.exec(e);)r.push(parseInt(t[1]));switch(r.length){case 1:return this.nrrd.components=1,this.nrrd.width=r[0],this.nrrd.height=1,void(this.nrrd.depth=1);case 2:return this.nrrd.components=1,this.nrrd.width=r[0],this.nrrd.height=r[1],void(this.nrrd.depth=1);case 3:return this.nrrd.components=1,this.nrrd.width=r[0],this.nrrd.height=r[1],void(this.nrrd.depth=r[2]);case 4:return this.nrrd.components=r[0],this.nrrd.width=r[1],this.nrrd.height=r[2],void(this.nrrd.depth=r[3]);default:throw new Error("Unsupported NRRD sizes.")}},getEndian(e){if("little"!==e){if("big"!==e)throw new Error("Unsupported NRRD endian, must be either 'little' or 'big'.");this.littleEndian=!1}else this.littleEndian=!0},getData(){switch(this.encoding){case"ascii":this.ascii();break;case"raw":this.raw();break;case"hex":this.hex();break;case"gzip":this.gzip()}},ascii(){const e=this.nrrd.components*this.nrrd.width*this.nrrd.height*this.nrrd.depth,i=new Uint8Array(e);this.nrrd.data=i;const r=this.input.substring(this.lastIndex);if(!r.length)return;const t=r.trim().split(/\s+/),n=t.length;switch(this.byteType){case"signed char":case"unsigned char":for(let e=0;eparseInt(e,16)));return this.dataView=new DataView(e.buffer),void this.raw()}}throw new Error("Invalid NRRD data.")},gzip(){try{if(!L.newLine.parse(this))throw new Error("Invalid NRRD data.");const e=this.dataView.buffer.slice(this.lastIndex),i=R().ungzip(e);this.dataView=new DataView(i),this.raw()}catch(e){throw new Error(`Invalid NRRD data: ${e}.`)}}});const D=C,x=k().add("NRRDParser",D);var I=Object.defineProperty,B={hSamp:0,quantTableSel:0,vSamp:0},N=class{buffer;index;constructor(e,i,r){this.buffer=new Uint8Array(e,i,r),this.index=0}get16(){const e=(this.buffer[this.index]<<8)+this.buffer[this.index+1];return this.index+=2,e}get8(){const e=this.buffer[this.index];return this.index+=1,e}},F=class{dimX=0;dimY=0;numComp=0;precision=0;components=[];read(e){let i,r=0;const t=e.get16();r+=2,this.precision=e.get8(),r+=1,this.dimY=e.get16(),r+=2,this.dimX=e.get16(),r+=2,this.numComp=e.get8(),r+=1;for(let n=1;n<=this.numComp;n+=1){if(r>t)throw new Error("ERROR: frame format error");const n=e.get8();if(r+=1,r>=t)throw new Error("ERROR: frame format error [c>=Lf]");i=e.get8(),r+=1,this.components[n]||(this.components[n]={...B}),this.components[n].hSamp=i>>4,this.components[n].vSamp=15&i,this.components[n].quantTableSel=e.get8(),r+=1}if(r!==t)throw new Error("ERROR: frame format error [Lf!=count]");return 1}};((e,i)=>{for(var r in i)I(e,r,{get:i[r],enumerable:!0})})({},{crc32:()=>Y,crcTable:()=>H,createArray:()=>U,makeCRCTable:()=>j});var U=(...e)=>{if(e.length>1){const i=e[0],r=e.slice(1),t=[];for(let e=0;e>>1:e>>>1;i[r]=e}return i},H=j(),Y=function(e){const i=new Uint8Array(e);let r=~0;for(let e=0;e>>8^H[255&(r^i[e])];return~r>>>0},q=class e{static MSB=2147483648;l;th;v;tc;constructor(){this.l=U(4,2,16),this.th=[0,0,0,0],this.v=U(4,2,16,200),this.tc=[[0,0],[0,0],[0,0],[0,0]]}read(e,i){let r,t,n,f,a,l=0;const s=e.get16();for(l+=2;l3)throw new Error("ERROR: Huffman table ID > 3");if(n=r>>4,n>2)throw new Error("ERROR: Huffman table [Table class > 2 ]");for(this.th[t]=1,this.tc[t][n]=1,f=0;f<16;f+=1)this.l[t][n][f]=e.get8(),l+=1;for(f=0;f<16;f+=1)for(a=0;as)throw new Error("ERROR: Huffman table format error [count>Lh]");this.v[t][n][f][a]=e.get8(),l+=1}}if(l!==s)throw new Error("ERROR: Huffman table format error [count!=Lf]");for(f=0;f<4;f+=1)for(a=0;a<2;a+=1)0!==this.tc[f][a]&&this.buildHuffTable(i[f][a],this.l[f][a],this.v[f][a]);return 1}buildHuffTable(i,r,t){let n,f,a,l,s;for(f=0,a=0;a<8;a+=1)for(l=0;l>a+1;s+=1)i[f]=t[a][l]|a+1<<8,f+=1;for(a=1;f<256;a+=1,f+=1)i[f]=a|e.MSB;for(n=1,f=0,a=8;a<16;a+=1)for(l=0;l>a-7;s+=1)i[256*n+f]=t[a][l]|a+1<<8,f+=1;if(f>=256){if(f>256)throw new Error("ERROR: Huffman table error(1)!");f=0,n+=1}}}},X=class e{precision=[];tq=[0,0,0,0];quantTables=U(4,64);static enhanceQuantizationTable=function(e,i){for(let r=0;r<8;r+=1)e[i[0+r]]*=90,e[i[32+r]]*=90,e[i[16+r]]*=118,e[i[48+r]]*=49,e[i[40+r]]*=71,e[i[8+r]]*=126,e[i[56+r]]*=25,e[i[24+r]]*=106;for(let r=0;r<8;r+=1)e[i[0+8*r]]*=90,e[i[4+8*r]]*=90,e[i[2+8*r]]*=118,e[i[6+8*r]]*=49,e[i[5+8*r]]*=71,e[i[1+8*r]]*=126,e[i[7+8*r]]*=25,e[i[3+8*r]]*=106;for(let i=0;i<64;i+=1)e[i]>>=6};read(i,r){let t,n,f,a=0;const l=i.get16();for(a+=2;a3)throw new Error("ERROR: Quantization table ID > 3");if(this.precision[n]=t>>4,0===this.precision[n])this.precision[n]=8;else{if(1!==this.precision[n])throw new Error("ERROR: Quantization table precision error");this.precision[n]=16}if(this.tq[n]=1,8===this.precision[n]){for(f=0;f<64;f+=1){if(a>l)throw new Error("ERROR: Quantization table format error");this.quantTables[n][f]=i.get8(),a+=1}e.enhanceQuantizationTable(this.quantTables[n],r)}else{for(f=0;f<64;f+=1){if(a>l)throw new Error("ERROR: Quantization table format error");this.quantTables[n][f]=i.get16(),a+=2}e.enhanceQuantizationTable(this.quantTables[n],r)}}if(a!==l)throw new Error("ERROR: Quantization table error [count!=Lq]");return 1}},z={acTabSel:0,dcTabSel:0,scanCompSel:0},V=class{ah=0;al=0;numComp=0;selection=0;spectralEnd=0;components=[];read(e){let i,r,t=0;const n=e.get16();for(t+=2,this.numComp=e.get8(),t+=1,i=0;in)throw new Error("ERROR: scan header format error");this.components[i].scanCompSel=e.get8(),t+=1,r=e.get8(),t+=1,this.components[i].dcTabSel=r>>4,this.components[i].acTabSel=15&r}if(this.selection=e.get8(),t+=1,this.spectralEnd=e.get8(),t+=1,r=e.get8(),this.ah=r>>4,this.al=15&r,t+=1,t!==n)throw new Error("ERROR: scan header format error [count!=Ns]");return 1}},G=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}(),K=class e{static IDCT_P=[0,5,40,16,45,2,7,42,21,56,8,61,18,47,1,4,41,23,58,13,32,24,37,10,63,17,44,3,6,43,20,57,15,34,29,48,53,26,39,9,60,19,46,22,59,12,33,31,50,55,25,36,11,62,14,35,28,49,52,27,38,30,51,54];static TABLE=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63];static MAX_HUFFMAN_SUBTREE=50;static MSB=2147483648;static RESTART_MARKER_BEGIN=65488;static RESTART_MARKER_END=65495;buffer=null;stream=null;frame=new F;huffTable=new q;quantTable=new X;scan=new V;DU=U(10,4,64);HuffTab=U(4,2,12800);IDCT_Source=[];nBlock=[];acTab=U(10,1);dcTab=U(10,1);qTab=U(10,1);marker=0;markerIndex=0;numComp=0;restartInterval=0;selection=0;xDim=0;yDim=0;xLoc=0;yLoc=0;outputData=null;restarting=!1;mask=0;numBytes=0;precision=void 0;components=[];getter=null;setter=null;output=null;selector=null;constructor(e,i){this.buffer=e??null,this.numBytes=i??0}decompress(e,i,r){return this.decode(e,i,r).buffer}decode(i,r,t,n){let f=0;const a=[];let l,s;const o=[],u=[];let c;i&&(this.buffer=i),void 0!==n&&(this.numBytes=n),this.stream=new N(this.buffer,r,t),this.buffer=null,this.xLoc=0,this.yLoc=0;let d=this.stream.get16();if(65496!==d)throw new Error("Not a JPEG file");for(d=this.stream.get16();d>>4!=4092||65476===d;){switch(d){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,e.TABLE);break;case 65501:this.restartInterval=this.readNumber()??0;break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(d>>8!=255)throw new Error("ERROR: format throw new IOException! (decode)")}d=this.stream.get16()}if(d<65472||d>65479)throw new Error("ERROR: could not handle arithmetic code!");this.frame.read(this.stream),d=this.stream.get16();do{for(;65498!==d;){switch(d){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,e.TABLE);break;case 65501:this.restartInterval=this.readNumber()??0;break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(d>>8!=255)throw new Error("ERROR: format throw new IOException! (Parser.decode)")}d=this.stream.get16()}switch(this.precision=this.frame.precision,this.components=this.frame.components,this.numBytes||(this.numBytes=Math.round(Math.ceil(this.precision/8))),1===this.numBytes?this.mask=255:this.mask=65535,this.scan.read(this.stream),this.numComp=this.scan.numComp,this.selection=this.scan.selection,1===this.numBytes&&3===this.numComp?(this.getter=this.getValueRGB,this.setter=this.setValueRGB,this.output=this.outputRGB):(this.getter=this.getValue8,this.setter=this.setValue8,this.output=this.outputSingle),this.selection){case 2:this.selector=this.select2;break;case 3:this.selector=this.select3;break;case 4:this.selector=this.select4;break;case 5:this.selector=this.select5;break;case 6:this.selector=this.select6;break;case 7:this.selector=this.select7;break;default:this.selector=this.select1}for(l=0;l=e.RESTART_MARKER_BEGIN&&d<=e.RESTART_MARKER_END))break}65500===d&&1===f&&(this.readNumber(),d=this.stream.get16())}while(65497!==d&&this.xLoc>1)}select6(e){return this.getPreviousY(e)+(this.getPreviousX(e)-this.getPreviousXY(e)>>1)}select7(e){return(this.getPreviousX(e)+this.getPreviousY(e))/2}decodeRGB(i,r,t){if(null===this.selector)throw new Error("decode hasn't run yet");let n,f,a,l,s,o,u;for(i[0]=this.selector(0),i[1]=this.selector(1),i[2]=this.selector(2),l=0;l=65280)return s;for(i[l]=this.IDCT_Source[0]=i[l]+this.getn(t,s,r,t),this.IDCT_Source[0]*=a[0],u=1;u<64;u+=1){if(s=this.getHuffmanValue(n,r,t),s>=65280)return s;if(u+=s>>4,15&s)this.IDCT_Source[e.IDCT_P[u]]=this.getn(t,15&s,r,t)*a[u];else if(!(s>>4))break}}return 0}decodeSingle(i,r,t){if(null===this.selector)throw new Error("decode hasn't run yet");let n,f,a,l;for(this.restarting?(this.restarting=!1,i[0]=1<=65280)return n;if(a=this.getn(i,n,r,t),l=a>>8,l>=e.RESTART_MARKER_BEGIN&&l<=e.RESTART_MARKER_END)return l;i[0]+=a}return 0}getHuffmanValue(i,r,t){let n,f;if(!this.stream)throw new Error("stream not initialized");if(t[0]<8?(r[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f):t[0]-=8,n=i[r[0]>>t[0]],n&e.MSB){if(0!==this.markerIndex)return this.markerIndex=0,65280|this.marker;r[0]&=65535>>16-t[0],r[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f,n=i[256*(255&n)+(r[0]>>t[0])],t[0]+=8}if(t[0]+=8-(n>>8),t[0]<0)throw new Error("index="+t[0]+" temp="+r[0]+" code="+n+" in HuffmanValue()");return t[0]>16-t[0],255&n)}getn(e,i,r,t){let n,f;if(null===this.stream)throw new Error("stream not initialized");if(0===i)return 0;if(16===i)return e[0]>=0?-32768:32768;if(t[0]-=i,t[0]>=0){if(t[0]>t[0],r[0]&=65535>>16-t[0]}else{if(r[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f,t[0]+=8,t[0]<0){if(0!==this.markerIndex)return this.markerIndex=0,(65280|this.marker)<<8;r[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f,t[0]+=8}if(t[0]<0)throw new Error("index="+t[0]+" in getn()");if(t[0]>t[0],r[0]&=65535>>16-t[0]}return n<1<0?this.getter(this.yLoc*this.xDim+this.xLoc-1,e):this.yLoc>0?this.getPreviousY(e):1<0&&this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc-1,e):this.getPreviousY(e)}getPreviousY(e=0){if(null===this.getter)throw new Error("decode hasn't run yet");return this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc,e):this.getPreviousX(e)}isLastPixel(){return this.xLoc===this.xDim-1&&this.yLoc===this.yDim-1}outputSingle(e){if(null===this.setter)throw new Error("decode hasn't run yet");this.xLoc=this.xDim&&(this.yLoc+=1,this.xLoc=0))}outputRGB(e){if(null===this.setter)throw new Error("decode hasn't run yet");const i=this.yLoc*this.xDim+this.xLoc;this.xLoc=this.xDim&&(this.yLoc+=1,this.xLoc=0))}setValue8(e,i){if(!this.outputData)throw new Error("output data not ready");this.outputData[e]=G?i:(255&i)<<8|i>>8&255}getValue8(e){if(null===this.outputData)throw new Error("output data not ready");if(G)return this.outputData[e];{const i=this.outputData[e];return(255&i)<<8|i>>8&255}}setValueRGB(e,i,r=0){null!==this.outputData&&(this.outputData[3*e+r]=i)}getValueRGB(e,i){if(null===this.outputData)throw new Error("output data not ready");return this.outputData[3*e+i]}readApp(){if(null===this.stream)return null;let e=0;const i=this.stream.get16();for(e+=2;e{switch(this.transferSyntax){case"1.2.840.10008.1.2":case"1.2.840.10008.1.2.1":case"1.2.840.10008.1.2.1.99":e=this.decodeLittleEndian(e);break;case"1.2.840.10008.1.2.2":e=this.decodeBigEndian(e);break;case"1.2.840.10008.1.2.5":e=this.decodeRLE(e);break;case"1.2.840.10008.1.2.4.50":case"1.2.840.10008.1.2.4.51":e=this.decodeJPEGBaseline(e);break;case"1.2.840.10008.1.2.4.57":case"1.2.840.10008.1.2.4.70":e=this.decodeJPEGLossless(e);break;case"1.2.840.10008.1.2.4.80":case"1.2.840.10008.1.2.4.81":e=this.decodeJPEGLS(e);break;case"1.2.840.10008.1.2.4.90":case"1.2.840.10008.1.2.4.91":e=this.decodeJPEG2000(e);break;case"1.2.840.10008.1.2.4.52":case"1.2.840.10008.1.2.4.53":case"1.2.840.10008.1.2.4.54":case"1.2.840.10008.1.2.4.55":case"1.2.840.10008.1.2.4.56":case"1.2.840.10008.1.2.4.58":case"1.2.840.10008.1.2.4.59":case"1.2.840.10008.1.2.4.60":case"1.2.840.10008.1.2.4.61":case"1.2.840.10008.1.2.4.62":case"1.2.840.10008.1.2.4.63":case"1.2.840.10008.1.2.4.64":case"1.2.840.10008.1.2.4.65":case"1.2.840.10008.1.2.4.66":case"1.2.840.10008.1.2.4.92":case"1.2.840.10008.1.2.4.93":throw new Error("DICOM: this JPEG encoding ("+this.transferSyntax+") is not supported.");default:throw new Error("DICOM: unsupported transfer syntax '"+this.transferSyntax+"'.")}if(e=this.getTypedArray(e),1===this.pixelRepresentation&&void 0!==this.bitsStored)for(var n=32-this.bitsStored,a=0,l=e.length;a>n;switch(this.photometricInterpretation){case"MONOCHROME1":case"MONOCHROME2":break;case"RGB":case"YBR_RCT":case"YBR_ICT":case"YBR_FULL_422":1===this.planarConfiguration&&(e=this.convertRGBColorByPlane(e));break;case"YBR_FULL":e=0===this.planarConfiguration?this.convertYBRFullByPixel(e):this.convertYBRFullByPlane(e);break;case"PALETTE COLOR":e=this.convertPaletteColor(e);break;default:throw new Error("DICOM: unsupported image type '"+this.photometricInterpretation+"'.")}e=this.flipImage(e,r);var s=this.getNormalizeOffsetAndFactor(e),o=i*t;for(a=0,l=e.length;a>8&255;return new Uint8Array(i,r,t)}var a;return e},decodeRLE(e){if(8===this.bitsAllocated)return this.planarConfiguration?this.decodeRLE8Planar(e):this.decodeRLE8(e);if(16===this.bitsAllocated)return this.decodeRLE16(e);throw new Error("DICOM: unsupported pixel format for RLE.")},decodeRLE8(e){const i=e,r=this.dicom.width*this.dicom.height,t=this.dicom.components,n=new ArrayBuffer(r*this.dicom.components),f=new DataView(i.buffer,i.byteOffset),a=new Int8Array(i.buffer,i.byteOffset),l=new Int8Array(n);let s=0;const o=f.getInt32(0,!0);for(let e=0;e=0&&e<=127)for(let i=0;i=-127){const i=a[n++];for(let r=0;r<1-e&&s=0&&e<=127)for(let i=0;i=-127){const i=f[t++];for(let r=0;r<1-e&&l=0&&e<=127)for(let i=0;i=-127){const i=f[s++];for(let n=0;n<1-e&&t{const e=Z();return function(i,r){const t=e._malloc(i.length);e.writeArrayToMemory(i,t);const n=e._malloc(4),f=e._malloc(4),a=e._malloc(4),l=e._malloc(4),s=e._malloc(4),o=e._malloc(4),u=e._malloc(4),c=e._malloc(4),d=e._malloc(4),h={result:e.ccall("jpegls_decode","number",["number","number","number","number","number","number","number","number","number","number","number"],[t,i.length,n,f,a,l,s,o,c,u,d]),width:e.getValue(a,"i32"),height:e.getValue(l,"i32"),bitsPerSample:e.getValue(s,"i32"),stride:e.getValue(o,"i32"),components:e.getValue(c,"i32"),allowedLossyError:e.getValue(u,"i32"),interleaveMode:e.getValue(d,"i32"),pixelData:void 0},b=e.getValue(n,"*");return h.bitsPerSample<=8?(h.pixelData=new Uint8Array(h.width*h.height*h.components),h.pixelData.set(new Uint8Array(e.HEAP8.buffer,b,h.pixelData.length))):r?(h.pixelData=new Int16Array(h.width*h.height*h.components),h.pixelData.set(new Int16Array(e.HEAP16.buffer,b,h.pixelData.length))):(h.pixelData=new Uint16Array(h.width*h.height*h.components),h.pixelData.set(new Uint16Array(e.HEAP16.buffer,b,h.pixelData.length))),e._free(t),e._free(b),e._free(n),e._free(f),e._free(a),e._free(l),e._free(s),e._free(o),e._free(c),e._free(d),h}})(),decodeJPEG2000(e){var i=this.bitsAllocated<=8?1:2,r=1===this.pixelRepresentation,t=this.decodeOpenJPEG(e,i,r);return t.nbChannels>1&&(this.photometricInterpretation="RGB"),new Uint8Array(t.pixelData.buffer)},decodeOpenJPEG:(()=>{const e=Q();return function(i,r,t){const n=e._malloc(i.length);e.writeArrayToMemory(i,n);const f=e._malloc(4),a=e._malloc(4),l=e._malloc(4),s=e._malloc(4),o=e._malloc(4),u=(new Date).getTime();if(0!==e.ccall("jp2_decode","number",["number","number","number","number","number","number","number"],[n,i.length,f,a,l,s,o]))return console.log("[opj_decode] decoding failed!"),e._free(n),e._free(e.getValue(f,"*")),e._free(l),e._free(s),e._free(a),void e._free(o);const c=e.getValue(f,"*"),d={length:e.getValue(a,"i32"),sx:e.getValue(l,"i32"),sy:e.getValue(s,"i32"),nbChannels:e.getValue(o,"i32"),perf_timetodecode:void 0,pixelData:void 0},h=d.sx*d.sy*d.nbChannels,b=new Int32Array(e.HEAP32.buffer,c,h);if(1===r)if(Uint8Array.from)d.pixelData=Uint8Array.from(b);else{d.pixelData=new Uint8Array(h);for(let e=0;e>i;return e.cleaned=t,t}const r=this.getLUT(),t=this.dicom.width*this.dicom.height,n=r.redPaletteColorLookupTableData,f=r.greenPaletteColorLookupTableData,a=r.bluePaletteColorLookupTableData,l=r.redPaletteColorLookupTableData.length;let s=0,o=0;const u=r.redPaletteColorLookupTableDescriptor[1],c=8===r.redPaletteColorLookupTableDescriptor[2]?0:8,d=i(n,c),h=i(f,c),b=i(a,c);let k=new Uint8Array(3*e.length);for(let i=0;iu+l-1?i=l-1:i-=u,k[o++]=d[i],k[o++]=h[i],k[o++]=b[i]}return k},getLUT(){return this.LUT||(this.LUT={},this.populatePaletteColorLut(this.dataSet,this.LUT)),this.LUT},populatePaletteColorLut(e,i){i.redPaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281101"),i.greenPaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281102"),i.bluePaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281103"),0===i.redPaletteColorLookupTableDescriptor[0]&&(i.redPaletteColorLookupTableDescriptor[0]=65536,i.greenPaletteColorLookupTableDescriptor[0]=65536,i.bluePaletteColorLookupTableDescriptor[0]=65536);const r=i.redPaletteColorLookupTableDescriptor[0],t=e.elements.x00281201.length===r?8:16;i.redPaletteColorLookupTableDescriptor[2]!==t&&(i.redPaletteColorLookupTableDescriptor[2]=t,i.greenPaletteColorLookupTableDescriptor[2]=t,i.bluePaletteColorLookupTableDescriptor[2]=t),i.redPaletteColorLookupTableData=this.getLutData(e,"x00281201",i.redPaletteColorLookupTableDescriptor),i.greenPaletteColorLookupTableData=this.getLutData(e,"x00281202",i.greenPaletteColorLookupTableDescriptor),i.bluePaletteColorLookupTableData=this.getLutData(e,"x00281203",i.bluePaletteColorLookupTableDescriptor)},getLutDescriptor(e,i){if(e.elements[i]&&6===e.elements[i].length)return[e.uint16(i,0),e.uint16(i,1),e.uint16(i,2)]},getLutData(e,i,r){const t=[],n=e.elements[i];for(let f=0;f{if(null===e)this.setLoadState(h().FAILED_STATE),this.clearTexture();else if(e instanceof ArrayBuffer){if(i.pathname.match(/\.ktx2?(?:\.gz)?$/)||i.href.match(/^data:image\/ktx2[;,]/))return this.setLinear(!0),this.setMipMaps(!1),this.getBrowser().getKTXDecoder().then((i=>i.loadKTXFromBuffer(e))).then((e=>this.setKTXTexture(e,i)));this.setLinear(!1),this.setMipMaps(!0);const r=(new x).parse(e);if(r.nrrd){const e=this.getInternalType(r.components),i=!(1&r.components);return this.setTextureData(r.width,r.height,r.depth,i,e,r.data),void this.setLoadState(h().COMPLETE_STATE)}const t=(new ie).parse(e);if(t.dicom){const e=this.getInternalType(t.components),i=!(1&t.components);return this.setTextureData(t.width,t.height,t.depth,i,e,t.data),void this.setLoadState(h().COMPLETE_STATE)}throw new Error("ImageTexture3D: no suitable file type handler found.")}}))},setKTXTexture(e,i){if(e.target!==this.getTarget())throw new Error("Invalid KTX texture target, must be 'TEXTURE_3D'.");fe()&&"data:"!==i.protocol&&console.info(`Done loading image texture 3D '${decodeURI(i.href)}'.`),this.setTexture(e),this.setTransparent(!1),this.setWidth(e.baseWidth),this.setHeight(e.baseHeight),this.setDepth(e.baseDepth),this.updateTextureParameters(),this.setLoadState(h().COMPLETE_STATE)},dispose(){T().prototype.dispose.call(this),p.prototype.dispose.call(this)}}),Object.defineProperties(ae,{...o().getStaticProperties("ImageTexture3D","Texturing3D",2,"texture","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"description",new(t().SFString)),new(f())(h().inputOutput,"load",new(t().SFBool)(!0)),new(f())(h().inputOutput,"url",new(t().MFString)),new(f())(h().inputOutput,"autoRefresh",new(t().SFTime)),new(f())(h().inputOutput,"autoRefreshTimeLimit",new(t().SFTime)(3600)),new(f())(h().initializeOnly,"repeatS",new(t().SFBool)),new(f())(h().initializeOnly,"repeatT",new(t().SFBool)),new(f())(h().initializeOnly,"repeatR",new(t().SFBool)),new(f())(h().initializeOnly,"textureProperties",new(t().SFNode))]),enumerable:!0}});const le=ae,se=k().add("ImageTexture3D",le);var oe=__webpack_require__(254);function ue(e){p.call(this,e),T().call(this,e),this.addType(h().ImageTextureAtlas),this.image=oe(""),this.urlStack=new(t().MFString)}Object.assign(Object.setPrototypeOf(ue.prototype,p.prototype),T().prototype,{initialize(){p.prototype.initialize.call(this),T().prototype.initialize.call(this),this.image.on("load",this.setImage.bind(this)),this.image.on("abort error",this.setError.bind(this)),this.image.prop("crossOrigin","Anonymous"),this.requestImmediateLoad().catch(Function.prototype)},unloadData(){this.clearTexture()},loadData(){this.urlStack.setValue(this._url),this.loadNext()},loadNext(){if(0===this.urlStack.length)return this.clearTexture(),void this.setLoadState(h().FAILED_STATE);this.URL=new URL(this.urlStack.shift(),this.getExecutionContext().getBaseURL()),"data:"!==this.URL.protocol&&(this.getCache()||this.URL.searchParams.set("_",Date.now())),this.image.attr("src",this.URL.href)},setError(e){"data:"!==this.URL.protocol&&console.warn(`Error loading image '${decodeURI(this.URL.href)}'`,e.type),this.loadNext()},setImage(){fe()&&"data:"!==this.URL.protocol&&console.info(`Done loading image '${decodeURI(this.URL.href)}'.`);try{const e=this.getBrowser().getContext();if(1===e.getVersion())return void this.setLoadState(h().COMPLETE_STATE);const i=this.image[0],r=i.width,t=i.height,n=e.createTexture(),f=e.createFramebuffer(),a=this._slicesOverX.getValue(),l=this._slicesOverY.getValue(),s=a*l,o=Math.floor(r/a),u=Math.floor(t/l),c=Math.min(this._numberOfSlices.getValue(),s),d=new Uint8Array(r*t*4),b=d.subarray(0,o*u*c*4);e.bindTexture(e.TEXTURE_3D,this.getTexture()),e.texImage3D(e.TEXTURE_3D,0,e.RGBA,o,u,c,0,e.RGBA,e.UNSIGNED_BYTE,d),e.bindFramebuffer(e.FRAMEBUFFER,f),e.bindTexture(e.TEXTURE_2D,n),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,r,t,0,e.RGBA,e.UNSIGNED_BYTE,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0);let k=!1;for(let i=0,n=0;i>>8&255,s[t++]=255&r}break;case 3:s=new Uint8Array(3*l),o=i.RGB;for(let i=4,r=4+l,t=0;i>>16&255,s[t++]=r>>>8&255,s[t++]=255&r}break;case 4:s=new Uint8Array(4*l),o=i.RGBA;for(let i=4,r=4+l,t=0;i>>24&255,s[t++]=r>>>16&255,s[t++]=r>>>8&255,s[t++]=255&r}break;default:return void this.clearTexture()}this.setTextureData(t,n,f,a,o,s)}}),Object.defineProperties(he,{...o().getStaticProperties("PixelTexture3D","Texturing3D",1,"texture","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"description",new(t().SFString)),new(f())(h().inputOutput,"image",new(t().MFInt32)(0,0,0,0)),new(f())(h().initializeOnly,"repeatS",new(t().SFBool)),new(f())(h().initializeOnly,"repeatT",new(t().SFBool)),new(f())(h().initializeOnly,"repeatR",new(t().SFBool)),new(f())(h().initializeOnly,"textureProperties",new(t().SFNode))]),enumerable:!0}});const be=he,ke=k().add("PixelTexture3D",be),we=__X_ITE_X3D__.X3DSingleTextureCoordinateNode;var _e=__webpack_require__.n(we);const me=__X_ITE_X3D__.Vector3;var pe=__webpack_require__.n(me);function ve(e){_e().call(this,e),this.addType(h().TextureCoordinate3D)}Object.assign(Object.setPrototypeOf(ve.prototype,_e().prototype),{initialize(){_e().prototype.initialize.call(this),this._point.addInterest("set_point__",this),this.set_point__()},set_point__(){this.point=this._point.getValue(),this.length=this._point.length},isEmpty(){return 0===this.length},getSize(){return this.length},get1Point(e,i){if(e=0&&this.length){const r=this.point,t=e%this.length*3;i.push(r[t],r[t+1],r[t+2],1)}else i.push(0,0,0,1)},addPoints(e){const i=this.point,r=this.length;for(let t=0,n=0;t=0&&this.length){const r=this.point,t=e%this.length*4;i.push(r[t],r[t+1],r[t+2],r[t+3])}else i.push(0,0,0,1)},addPoints(e){const i=this.point,r=this.length;for(let t=0,n=0;t{const e=new(pe());return function(){const i=this._translation.getValue(),r=this._rotation.getValue(),t=this._scale.getValue(),n=this._center.getValue(),f=this.matrix;f.identity(),n.equals(pe().Zero)||f.translate(e.assign(n).negate()),t.equals(pe().One)||f.scale(t),r.equals(Oe().Identity)||f.rotate(r),n.equals(pe().Zero)||f.translate(n),i.equals(pe().Zero)||f.translate(i),this.setMatrix(f)}})()}),Object.defineProperties(Ce,{...o().getStaticProperties("TextureTransform3D","Texturing3D",1,"textureTransform","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"mapping",new(t().SFString)),new(f())(h().inputOutput,"translation",new(t().SFVec3f)),new(f())(h().inputOutput,"rotation",new(t().SFRotation)),new(f())(h().inputOutput,"scale",new(t().SFVec3f)(1,1,1)),new(f())(h().inputOutput,"center",new(t().SFVec3f))]),enumerable:!0}});const De=Ce,xe=k().add("TextureTransform3D",De);function Ie(e){Se().call(this,e),this.addType(h().TextureTransformMatrix3D)}Object.assign(Object.setPrototypeOf(Ie.prototype,Se().prototype),{initialize(){Se().prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed(){this.setMatrix(this._matrix.getValue())}}),Object.defineProperties(Ie,{...o().getStaticProperties("TextureTransformMatrix3D","Texturing3D",1,"textureTransform","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"mapping",new(t().SFString)),new(f())(h().inputOutput,"matrix",new(t().SFMatrix4f))]),enumerable:!0}});const Be=Ie,Ne=k().add("TextureTransformMatrix3D",Be);i().add({name:"Texturing3D",concreteNodes:[A,se,de,ke,ye,Me,xe,Ne],abstractNodes:[p]});k().add("Texturing3DComponent",undefined)})()})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var __webpack_modules__={881:(module,__unused_webpack_exports,__webpack_require__)=>{var __dirname="/";module.exports=function(Module){var Module;Module=Module||{},Module||(Module=(void 0!==CharLS?CharLS:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&!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=function(e){process.stdout.write(e+"\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\n")});var nodeFS=__webpack_require__(497),nodePath=__webpack_require__(13);Module.read=function(e,i){e=nodePath.normalize(e);var r=nodeFS.readFileSync(e);return r||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),r=nodeFS.readFileSync(e)),r&&!i&&(r=r.toString()),r},Module.readBinary=function(e){var i=Module.read(e,!0);return i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},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),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 (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var i=read(e,"binary");return assert("object"==typeof i),i},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var i=new XMLHttpRequest;return i.open("GET",e,!1),i.send(null),i.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(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),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(var key in!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.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=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":case"float":return 4;case"i64":case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var i=parseInt(e.substr(1));return assert(i%8==0),i/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,i){return"double"===i||"i64"===i?7&e&&(assert(4==(7&e)),e+=4):assert(!(3&e)),e},getAlignSize:function(e,i,r){return r||"i64"!=e&&"double"!=e?e?Math.min(i||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(i,8):8},dynCall:function(e,i,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,i),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,i)},functionPointers:[],addFunction:function(e){for(var i=0;i=TOTAL_MEMORY&&!enlargeMemory())return DYNAMICTOP=i,0;return i},alignMemory:function(e,i){return e=Math.ceil(e/(i||16))*(i||16)},makeBigInt:function(e,i,r){return r?+(e>>>0)+4294967296*+(i>>>0):+(e>>>0)+4294967296*+(0|i)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,i){e||abort("Assertion failed: "+i)}var globalScope=this,cwrap,ccall;function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,i,r,t){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":HEAP8[e|0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,i,r){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":return HEAP8[e|0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+i)}return null}(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var i=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;return null!=e&&0!==e&&writeStringToMemory(e,i=Runtime.stackAlloc(1+(e.length<<2))),i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,i,r,t,n){var f=getCFunc(e),a=[],l=0;if(t)for(var s=0;s>2]=0;for(s=a+f;t0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(i,l))),f=f?f+a:a,e+=l,i-=l;return f}return Module.UTF8ToString(e)}function AsciiToString(e){for(var i="";;){var r=HEAP8[e++|0];if(!r)return i;i+=String.fromCharCode(r)}}function stringToAscii(e,i){return writeAsciiToMemory(e,i,!1)}function UTF8ArrayToString(e,i){for(var r,t,n,f,a,l="";;){if(!(r=e[i++]))return l;if(128&r)if(t=63&e[i++],192!=(224&r))if(n=63&e[i++],224==(240&r)?r=(15&r)<<12|t<<6|n:(f=63&e[i++],240==(248&r)?r=(7&r)<<18|t<<12|n<<6|f:(a=63&e[i++],r=248==(252&r)?(3&r)<<24|t<<18|n<<12|f<<6|a:(1&r)<<30|t<<24|n<<18|f<<12|a<<6|63&e[i++])),r<65536)l+=String.fromCharCode(r);else{var s=r-65536;l+=String.fromCharCode(55296|s>>10,56320|1023&s)}else l+=String.fromCharCode((31&r)<<6|t);else l+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,r,t){if(!(t>0))return 0;for(var n=r,f=r+t-1,a=0;a=55296&&l<=57343&&(l=65536+((1023&l)<<10)|1023&e.charCodeAt(++a)),l<=127){if(r>=f)break;i[r++]=l}else if(l<=2047){if(r+1>=f)break;i[r++]=192|l>>6,i[r++]=128|63&l}else if(l<=65535){if(r+2>=f)break;i[r++]=224|l>>12,i[r++]=128|l>>6&63,i[r++]=128|63&l}else if(l<=2097151){if(r+3>=f)break;i[r++]=240|l>>18,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}else if(l<=67108863){if(r+4>=f)break;i[r++]=248|l>>24,i[r++]=128|l>>18&63,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}else{if(r+5>=f)break;i[r++]=252|l>>30,i[r++]=128|l>>24&63,i[r++]=128|l>>18&63,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}}return i[r]=0,r-n}function stringToUTF8(e,i,r){return stringToUTF8Array(e,HEAPU8,i,r)}function lengthBytesUTF8(e){for(var i=0,r=0;r=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++r)),t<=127?++i:i+=t<=2047?2:t<=65535?3:t<=2097151?4:t<=67108863?5:6}return i}function UTF16ToString(e){for(var i=0,r="";;){var t=HEAP16[e+2*i>>1];if(0==t)return r;++i,r+=String.fromCharCode(t)}}function stringToUTF16(e,i,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var t=i,n=(r-=2)<2*e.length?r/2:e.length,f=0;f>1]=a,i+=2}return HEAP16[i>>1]=0,i-t}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var i=0,r="";;){var t=HEAP32[e+4*i>>2];if(0==t)return r;if(++i,t>=65536){var n=t-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(t)}}function stringToUTF32(e,i,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var t=i,n=t+r-4,f=0;f=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f);if(HEAP32[i>>2]=a,(i+=4)+4>n)break}return HEAP32[i>>2]=0,i-t}function lengthBytesUTF32(e){for(var i=0,r=0;r=55296&&t<=57343&&++r,i+=4}return i}function demangle(e){var i=!!Module.___cxa_demangle;if(i)try{var r=_malloc(e.length);writeStringToMemory(e.substr(1),r);var t=_malloc(4),n=Module.___cxa_demangle(r,0,0,t);if(0===getValue(t,"i32")&&n)return Pointer_stringify(n)}catch(e){}finally{r&&_free(r),t&&_free(t),n&&_free(n)}var f=3,a={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},l=[],s=!0;var o=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}o=function i(r,t,n){t=t||1/0;var o,u="",c=[];if("N"===e[f]){if(o=function(){f++,"K"===e[f]&&f++;for(var i=[];"E"!==e[f];)if("S"!==e[f])if("C"!==e[f]){var r=parseInt(e.substr(f)),t=r.toString().length;if(!r||!t){f--;break}var n=e.substr(f+t,r);i.push(n),l.push(n),f+=t+r}else i.push(i[i.length-1]),f+=2;else{f++;var a=e.indexOf("_",f),s=e.substring(f,a)||0;i.push(l[s]||"?"),f=a+1}return f++,i}().join("::"),0==--t)return r?[o]:o}else if(("K"===e[f]||s&&"L"===e[f])&&f++,k=parseInt(e.substr(f))){var d=k.toString().length;o=e.substr(f+d,k),f+=d+k}if(s=!1,"I"===e[f]){f++;var h=i(!0);u+=i(!0,1,!0)[0]+" "+o+"<"+h.join(", ")+">"}else u=o;e:for(;f0;){var b=e[f++];if(b in a)c.push(a[b]);else switch(b){case"P":c.push(i(!0,1,!0)[0]+"*");break;case"R":c.push(i(!0,1,!0)[0]+"&");break;case"L":f++;var k=e.indexOf("E",f)-f;c.push(e.substr(f,k)),f+=k+2;break;case"A":if(k=parseInt(e.substr(f)),f+=k.toString().length,"_"!==e[f])throw"?";f++,c.push(i(!0,1,!0)[0]+" ["+k+"]");break;case"E":break e;default:u+="?"+b;break e}}return n||1!==c.length||"void"!==c[0]||(c=[]),r?(u&&c.push(u+"?"),c):u+"("+c.join(", ")+")"}()}catch(e){o+="?"}return o.indexOf("?")>=0&&!i&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),o}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,(function(e){var i=demangle(e);return e===i?e:e+" ["+i+"]"}))}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(i){e=i}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}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,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}var STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0,byteLength;function enlargeMemory(){var e=Math.pow(2,31);if(DYNAMICTOP>=e)return!1;for(;TOTAL_MEMORY<=DYNAMICTOP;)if(TOTAL_MEMORY=e)return!1;try{if(ArrayBuffer.transfer)buffer=ArrayBuffer.transfer(buffer,TOTAL_MEMORY);else{var r=HEAP8;buffer=new ArrayBuffer(TOTAL_MEMORY)}}catch(e){return!1}return!!_emscripten_replace_memory(buffer)&&(Module.buffer=buffer,Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer),ArrayBuffer.transfer||HEAP8.set(r),!0)}try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),byteLength(new ArrayBuffer(4))}catch(e){byteLength=function(e){return e.byteLength}}for(var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||16777216,totalMemory=65536,buffer;totalMemory0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[i.arg]):r(void 0===i.arg?null:i.arg)}else i()}}totalMemory=Math.max(totalMemory,16777216),totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support"),buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,i,r){var t=r>0?r:lengthBytesUTF8(e)+1,n=new Array(t),f=stringToUTF8Array(e,n,0,n.length);return i&&(n.length=f),n}function intArrayToString(e){for(var i=[],r=0;r255&&(t&=255),i.push(String.fromCharCode(t))}return i.join("")}function writeStringToMemory(e,i,r){for(var t=intArrayFromString(e,r),n=0;n=0?e:i<=32?2*Math.abs(1<=t&&(i<=32||e>t)&&(e=-2*t+e),e}Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,i){var r=65535&e,t=65535&i;return r*t+((e>>>16)*t+r*(i>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var i=0;i<32;i++)if(e&1<<31-i)return i;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+59744,__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_jpegls_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}}),allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+35640),allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39844),allocate([240,2,0,0,90,0,0,0,91,0,0,0,20,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,14,0,0,0,20,0,0,0,0,0,0,0,0,3,0,0,90,0,0,0,92,0,0,0,21,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,16,0,0,0,21,0,0,0,15,0,0,0,22,0,0,0,0,0,0,0,16,3,0,0,93,0,0,0,94,0,0,0,22,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,17,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,32,3,0,0,93,0,0,0,95,0,0,0,23,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,19,0,0,0,20,0,0,0,25,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,56,3,0,0,96,0,0,0,97,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,3,0,0,93,0,0,0,98,0,0,0,17,0,0,0,1,0,0,0,6,0,0,0,32,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,18,0,0,0,4,0,0,0,23,0,0,0,3,0,0,0,26,0,0,0,0,0,0,0,160,3,0,0,90,0,0,0,99,0,0,0,24,0,0,0,12,0,0,0,5,0,0,0,31,0,0,0,14,0,0,0,11,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,19,0,0,0,15,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,168,3,0,0,100,0,0,0,101,0,0,0,248,255,255,255,248,255,255,255,168,3,0,0,102,0,0,0,103,0,0,0,8,0,0,0,0,0,0,0,192,3,0,0,104,0,0,0,105,0,0,0,248,255,255,255,248,255,255,255,192,3,0,0,106,0,0,0,107,0,0,0,4,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,252,255,255,255,252,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,4,0,0,0,0,0,0,0,240,3,0,0,108,0,0,0,109,0,0,0,252,255,255,255,252,255,255,255,240,3,0,0,110,0,0,0,111,0,0,0,0,0,0,0,96,3,0,0,112,0,0,0,113,0,0,0,7,0,0,0,0,0,0,0,112,3,0,0,114,0,0,0,115,0,0,0,0,0,0,0,8,4,0,0,72,0,0,0,116,0,0,0,21,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,117,0,0,0,118,0,0,0,119,0,0,0,1,0,0,0,33,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,5,0,0,120,0,0,0,121,0,0,0,119,0,0,0,2,0,0,0,34,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,5,0,0,122,0,0,0,123,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,5,0,0,124,0,0,0,125,0,0,0,119,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,5,0,0,126,0,0,0,127,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,23,0,0,0,5,0,0,0,24,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,5,0,0,128,0,0,0,129,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,26,0,0,0,3,0,0,0,4,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,5,0,0,130,0,0,0,131,0,0,0,119,0,0,0,22,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,1,0,0,0,248,255,255,255,224,5,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,6,0,0,132,0,0,0,133,0,0,0,119,0,0,0,30,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,2,0,0,0,248,255,255,255,8,6,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,6,0,0,134,0,0,0,135,0,0,0,119,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,6,0,0,136,0,0,0,137,0,0,0,119,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,6,0,0,138,0,0,0,139,0,0,0,119,0,0,0,38,0,0,0,39,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,40,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,6,0,0,140,0,0,0,141,0,0,0,119,0,0,0,41,0,0,0,42,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,43,0,0,0,35,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,6,0,0,142,0,0,0,143,0,0,0,119,0,0,0,44,0,0,0,45,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,46,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,6,0,0,144,0,0,0,145,0,0,0,119,0,0,0,47,0,0,0,48,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,49,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,6,0,0,146,0,0,0,147,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,0,0,148,0,0,0,149,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,7,0,0,150,0,0,0,151,0,0,0,119,0,0,0,1,0,0,0,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,7,0,0,152,0,0,0,153,0,0,0,119,0,0,0,2,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,0,154,0,0,0,155,0,0,0,119,0,0,0,19,0,0,0,7,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,7,0,0,156,0,0,0,157,0,0,0,119,0,0,0,20,0,0,0,8,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,158,0,0,0,159,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,5,0,0,160,0,0,0,161,0,0,0,119,0,0,0,27,0,0,0,21,0,0,0,28,0,0,0,22,0,0,0,29,0,0,0,9,0,0,0,23,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,4,0,0,162,0,0,0,163,0,0,0,119,0,0,0,3,0,0,0,4,0,0,0,12,0,0,0,50,0,0,0,51,0,0,0,13,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,5,0,0,164,0,0,0,165,0,0,0,119,0,0,0,53,0,0,0,54,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,80,5,0,0,166,0,0,0,167,0,0,0,119,0,0,0,55,0,0,0,56,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,32,4,0,0,168,0,0,0,169,0,0,0,119,0,0,0,0,0,0,0,48,4,0,0,168,0,0,0,170,0,0,0,119,0,0,0,24,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,30,0,0,0,25,0,0,0,31,0,0,0,26,0,0,0,32,0,0,0,13,0,0,0,27,0,0,0,14,0,0,0,0,0,0,0,80,4,0,0,168,0,0,0,171,0,0,0,119,0,0,0,5,0,0,0,6,0,0,0,15,0,0,0,57,0,0,0,58,0,0,0,16,0,0,0,59,0,0,0,0,0,0,0,112,4,0,0,168,0,0,0,172,0,0,0,119,0,0,0,7,0,0,0,8,0,0,0,17,0,0,0,60,0,0,0,61,0,0,0,18,0,0,0,62,0,0,0,0,0,0,0,144,4,0,0,168,0,0,0,173,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,176,4,0,0,168,0,0,0,174,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,192,4,0,0,168,0,0,0,175,0,0,0,119,0,0,0,9,0,0,0,10,0,0,0,19,0,0,0,63,0,0,0,64,0,0,0,20,0,0,0,65,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,3,32,2,32,2,32,2,32,2,32,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,1,96,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,8,216,4,192,4,192,4,192,4,192,4,192,4,192,4,192,8,213,8,213,8,213,8,213,8,213,8,213,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,8,197,4,192,4,192,4,192,4,192,4,192,4,192,8,214,8,214,8,214,8,214,8,214,8,214,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,8,198,4,192,4,192,4,192,4,192,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,97,119,83,116,114,101,97,109,32,111,114,32,114,97,119,68,97,116,97,32,110,101,101,100,115,32,116,111,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,111,109,101,116,104,105,110,103,0,119,105,100,116,104,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,104,101,105,103,104,116,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,54,53,53,51,53,93,0,98,105,116,115,112,101,114,115,97,109,112,108,101,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,50,44,32,49,54,93,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,110,101,101,100,115,32,116,111,32,98,101,32,115,101,116,32,116,111,32,97,32,118,97,108,117,101,32,111,102,32,123,78,111,110,101,44,32,83,97,109,112,108,101,44,32,76,105,110,101,125,0,99,111,109,112,111,110,101,110,116,115,32,110,101,101,100,115,32,116,111,32,98,101,32,105,110,32,116,104,101,32,114,97,110,103,101,32,91,49,44,32,50,53,53,93,0,117,110,99,111,109,112,114,101,115,115,101,100,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,119,105,116,104,32,116,104,101,32,111,116,104,101,114,32,112,97,114,97,109,101,116,101,114,115,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,110,111,116,32,98,101,32,115,101,116,32,116,111,32,83,97,109,112,108,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,52,0,105,110,116,101,114,108,101,97,118,101,77,111,100,101,32,99,97,110,32,111,110,108,121,32,98,101,32,115,101,116,32,116,111,32,78,111,110,101,32,105,110,32,99,111,109,98,105,110,97,116,105,111,110,32,119,105,116,104,32,99,111,109,112,111,110,101,110,116,115,32,61,32,49,0,67,111,108,111,114,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,0,78,111,32,109,111,114,101,32,98,121,116,101,115,32,97,118,97,105,108,97,98,108,101,32,105,110,32,105,110,112,117,116,32,98,117,102,102,101,114,44,32,115,116,105,108,108,32,110,101,101,100,101,100,105,110,103,32,0,65,110,32,111,100,100,32,110,117,109,98,101,114,32,111,102,32,98,121,116,101,115,32,40,0,41,32,99,97,110,110,111,116,32,98,101,32,115,119,97,112,112,101,100,46,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,69,0,49,49,80,114,111,99,101,115,115,76,105,110,101,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,54,84,114,97,110,115,102,111,114,109,83,104,105,102,116,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,105,110,103,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,57,98,97,115,105,99,95,111,115,116,114,105,110,103,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,116,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,116,69,69,0,50,50,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,83,116,114,101,97,109,0,50,53,80,111,115,116,80,114,111,99,101,115,83,105,110,103,108,101,67,111,109,112,111,110,101,110,116,0,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,51,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,50,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,50,84,114,97,110,115,102,111,114,109,72,112,49,73,104,69,69,0,49,56,80,114,111,99,101,115,115,84,114,97,110,115,102,111,114,109,101,100,73,49,51,84,114,97,110,115,102,111,114,109,78,111,110,101,73,104,69,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,69,110,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,116,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,116,55,84,114,105,112,108,101,116,73,116,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,55,84,114,105,112,108,101,116,73,104,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,54,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,116,76,105,49,50,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,104,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,53,76,111,115,115,108,101,115,115,84,114,97,105,116,115,84,73,55,84,114,105,112,108,101,116,73,104,69,76,105,56,69,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,56,74,108,115,67,111,100,101,99,73,49,52,68,101,102,97,117,108,116,84,114,97,105,116,115,84,73,104,104,69,49,53,68,101,99,111,100,101,114,83,116,114,97,116,101,103,121,69,0,67,104,97,114,76,83,32,101,114,114,111,114,0,99,104,97,114,108,115,0,49,53,99,104,97,114,108,115,95,99,97,116,101,103,111,114,121,0,112,97,114,97,109,115,46,88,116,104,117,109,98,110,97,105,108,32,105,115,32,62,32,48,32,98,117,116,32,112,97,114,97,109,115,46,116,104,117,109,98,110,97,105,108,32,61,61,32,110,117,108,108,95,112,116,114,0,49,55,74,112,101,103,77,97,114,107,101,114,83,101,103,109,101,110,116,0,49,49,74,112,101,103,83,101,103,109,101,110,116,0,50,48,74,112,101,103,73,109,97,103,101,68,97,116,97,83,101,103,109,101,110,116,0,69,120,112,101,99,116,101,100,32,74,80,69,71,32,77,97,114,107,101,114,32,115,116,97,114,116,32,98,121,116,101,32,48,120,70,70,32,98,117,116,32,116,104,101,32,98,121,116,101,32,118,97,108,117,101,32,119,97,115,32,48,120,0,74,80,69,71,32,101,110,99,111,100,105,110,103,32,119,105,116,104,32,109,97,114,107,101,114,32,0,32,105,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,46,0,85,110,107,110,111,119,110,32,74,80,69,71,32,109,97,114,107,101,114,32,0,32,101,110,99,111,117,110,116,101,114,101,100,46,0,109,114,102,120,0,83,116,57,98,97,100,95,97,108,108,111,99,0,83,116,57,101,120,99,101,112,116,105,111,110,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,83,116,57,116,121,112,101,95,105,110,102,111,0,83,116,56,98,97,100,95,99,97,115,116,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,33,34,98,97,115,105,99,95,115,116,114,105,110,103,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,115,116,114,105,110,103,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,47,85,115,101,114,115,47,99,104,97,102,101,121,47,101,109,115,100,107,95,112,111,114,116,97,98,108,101,47,101,109,115,99,114,105,112,116,101,110,47,49,46,51,53,46,48,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,116,101,114,109,105,110,97,116,105,110,103,0,117,110,99,97,117,103,104,116,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+42396),allocate([32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,80,79,83,73,88],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+52636),allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,58,32,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,105,111,115,116,114,101,97,109,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,37,112,0,67,0,37,0,0,0,0,0,108,0,108,108,0,0,76,0,37,112,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,37,72,58,37,77,37,72,58,37,77,58,37,83,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,48,49,50,51,52,53,54,55,56,57,0,37,76,102,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,48,49,50,51,52,53,54,55,56,57,0,37,46,48,76,102,0,116,114,117,101,0,102,97,108,115,101,0,83,117,110,100,97,121,0,77,111,110,100,97,121,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,84,104,117,114,115,100,97,121,0,70,114,105,100,97,121,0,83,97,116,117,114,100,97,121,0,83,117,110,0,77,111,110,0,84,117,101,0,87,101,100,0,84,104,117,0,70,114,105,0,83,97,116,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,77,97,114,99,104,0,65,112,114,105,108,0,77,97,121,0,74,117,110,101,0,74,117,108,121,0,65,117,103,117,115,116,0,83,101,112,116,101,109,98,101,114,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,68,101,99,101,109,98,101,114,0,74,97,110,0,70,101,98,0,77,97,114,0,65,112,114,0,74,117,110,0,74,117,108,0,65,117,103,0,83,101,112,0,79,99,116,0,78,111,118,0,68,101,99,0,65,77,0,80,77,0,37,109,47,37,100,47,37,121,0,37,72,58,37,77,58,37,83,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,37,73,58,37,77,58,37,83,32,37,112,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+56215);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}function _atexit(e,i){__ATEXIT__.unshift({func:e,arg:i})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function ___assert_fail(e,i,r,t){throw ABORT=!0,"Assertion failed: "+Pointer_stringify(e)+", at: "+[i?Pointer_stringify(i):"unknown filename",r,t?Pointer_stringify(t):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}assert(tempDoublePtr%8==0),Module._i64Subtract=_i64Subtract;var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(e){if(!e||EXCEPTIONS.infos[e])return e;for(var i in EXCEPTIONS.infos){if(EXCEPTIONS.infos[i].adjusted===e)return i}return e},addRef:function(e){e&&EXCEPTIONS.infos[e].refcount++},decRef:function(e){if(e){var i=EXCEPTIONS.infos[e];assert(i.refcount>0),i.refcount--,0===i.refcount&&(i.destructor&&Runtime.dynCall("vi",i.destructor,[e]),delete EXCEPTIONS.infos[e],___cxa_free_exception(e))}},clearRef:function(e){e&&(EXCEPTIONS.infos[e].refcount=0)}};function ___resumeException(e){throw EXCEPTIONS.last||(EXCEPTIONS.last=e),EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(e)),e}function ___cxa_find_matching_catch(){var e=EXCEPTIONS.last;if(!e)return 0|(asm.setTempRet0(0),0);var i=EXCEPTIONS.infos[e],r=i.type;if(!r)return 0|(asm.setTempRet0(0),e);var t=Array.prototype.slice.call(arguments);Module.___cxa_is_pointer_type(r);___cxa_find_matching_catch.buffer||(___cxa_find_matching_catch.buffer=_malloc(4)),HEAP32[___cxa_find_matching_catch.buffer>>2]=e,e=___cxa_find_matching_catch.buffer;for(var n=0;n>2],i.adjusted=e,0|(asm.setTempRet0(t[n]),e);return e=HEAP32[e>>2],0|(asm.setTempRet0(r),e)}function ___cxa_throw(e,i,r){throw EXCEPTIONS.infos[e]={ptr:e,adjusted:e,type:i,destructor:r,refcount:0},EXCEPTIONS.last=e,"uncaught_exception"in __ZSt18uncaught_exceptionv?__ZSt18uncaught_exceptionv.uncaught_exception++:__ZSt18uncaught_exceptionv.uncaught_exception=1,e}Module._memset=_memset;var _BDtoILow=!0,_emscripten_resume=!0;function ___gxx_personality_v0(){}var _emscripten_landingpad=!0;function __isLeapYear(e){return e%4==0&&(e%100!=0||e%400==0)}function __arraySum(e,i){for(var r=0,t=0;t<=i;r+=e[t++]);return r}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],__MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(e,i){for(var r=new Date(e.getTime());i>0;){var t=__isLeapYear(r.getFullYear()),n=r.getMonth(),f=(t?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[n];if(!(i>f-r.getDate()))return r.setDate(r.getDate()+i),r;i-=f-r.getDate()+1,r.setDate(1),n<11?r.setMonth(n+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function _strftime(e,i,r,t){var n=HEAP32[t+40>>2],f={tm_sec:HEAP32[t>>2],tm_min:HEAP32[t+4>>2],tm_hour:HEAP32[t+8>>2],tm_mday:HEAP32[t+12>>2],tm_mon:HEAP32[t+16>>2],tm_year:HEAP32[t+20>>2],tm_wday:HEAP32[t+24>>2],tm_yday:HEAP32[t+28>>2],tm_isdst:HEAP32[t+32>>2],tm_gmtoff:HEAP32[t+36>>2],tm_zone:n?Pointer_stringify(n):""},a=Pointer_stringify(r),l={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var s in l)a=a.replace(new RegExp(s,"g"),l[s]);var o=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],u=["January","February","March","April","May","June","July","August","September","October","November","December"];function c(e,i,r){for(var t="number"==typeof e?e.toString():e||"";t.length0?1:0}var t;return 0===(t=r(e.getFullYear()-i.getFullYear()))&&0===(t=r(e.getMonth()-i.getMonth()))&&(t=r(e.getDate()-i.getDate())),t}function b(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function k(e){var i=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(i.getFullYear(),0,4),t=new Date(i.getFullYear()+1,0,4),n=b(r),f=b(t);return h(n,i)<=0?h(f,i)<=0?i.getFullYear()+1:i.getFullYear():i.getFullYear()-1}var w={"%a":function(e){return o[e.tm_wday].substring(0,3)},"%A":function(e){return o[e.tm_wday]},"%b":function(e){return u[e.tm_mon].substring(0,3)},"%B":function(e){return u[e.tm_mon]},"%C":function(e){return d((e.tm_year+1900)/100|0,2)},"%d":function(e){return d(e.tm_mday,2)},"%e":function(e){return c(e.tm_mday,2," ")},"%g":function(e){return k(e).toString().substring(2)},"%G":function(e){return k(e)},"%H":function(e){return d(e.tm_hour,2)},"%I":function(e){return d(e.tm_hour<13?e.tm_hour:e.tm_hour-12,2)},"%j":function(e){return d(e.tm_mday+__arraySum(__isLeapYear(e.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,e.tm_mon-1),3)},"%m":function(e){return d(e.tm_mon+1,2)},"%M":function(e){return d(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>0&&e.tm_hour<13?"AM":"PM"},"%S":function(e){return d(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return new Date(e.tm_year+1900,e.tm_mon+1,e.tm_mday,0,0,0,0).getDay()||7},"%U":function(e){var i=new Date(e.tm_year+1900,0,1),r=0===i.getDay()?i:__addDays(i,7-i.getDay()),t=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(h(r,t)<0){var n=__arraySum(__isLeapYear(t.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,t.getMonth()-1)-31,f=31-r.getDate()+n+t.getDate();return d(Math.ceil(f/7),2)}return 0===h(r,i)?"01":"00"},"%V":function(e){var i,r=new Date(e.tm_year+1900,0,4),t=new Date(e.tm_year+1901,0,4),n=b(r),f=b(t),a=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday);return h(a,n)<0?"53":h(f,a)<=0?"01":(i=n.getFullYear()=0;return i=(i=Math.abs(i)/60)/60*100+i%60,(r?"+":"-")+String("0000"+i).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var s in w)a.indexOf(s)>=0&&(a=a.replace(new RegExp(s,"g"),w[s](f)));var _=intArrayFromString(a,!1);return _.length>i?0:(writeArrayToMemory(_,e),_.length-1)}function _strftime_l(e,i,r,t){return _strftime(e,i,r,t)}function _abort(){Module.abort()}function _free(){}function ___cxa_free_exception(e){try{return _free(e)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown)___cxa_end_catch.rethrown=!1;else{asm.setThrew(0);var e=EXCEPTIONS.caught.pop();e&&(EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(e)),EXCEPTIONS.last=0)}}function _pthread_once(e,i){_pthread_once.seen||(_pthread_once.seen={}),e in _pthread_once.seen||(Runtime.dynCall("v",i),_pthread_once.seen[e]=1)}function ___lock(){}function ___unlock(){}Module._free=_free;var PTHREAD_SPECIFIC={};function _pthread_getspecific(e){return PTHREAD_SPECIFIC[e]||0}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}var _fabs=Math_abs,PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(e,i){return 0==e?ERRNO_CODES.EINVAL:(HEAP32[e>>2]=PTHREAD_SPECIFIC_NEXT_KEY,PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0,PTHREAD_SPECIFIC_NEXT_KEY++,0)}var PATH=void 0;function _emscripten_set_main_loop_timing(e,i){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){setTimeout(Browser.mainLoop.runner,i)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var r=[],t="__emcc";function n(e){e.source===window&&e.data===t&&(e.stopPropagation(),r.shift()())}window.addEventListener("message",n,!0),window.setImmediate=function(e){r.push(e),window.postMessage(t,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(e,i,r,t,n){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=t;var f=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var i=Date.now(),r=Browser.mainLoop.queue.shift();if(r.func(r.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,a=n%1==0?n-1:Math.floor(n);r.counted?Browser.mainLoop.remainingBlockers=a:(a+=.5,Browser.mainLoop.remainingBlockers=(8*n+a)/9)}return console.log('main loop blocker "'+r.name+'" took '+(Date.now()-i)+" ms"),Browser.mainLoop.updateStatus(),void setTimeout(Browser.mainLoop.runner,0)}f1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0?Browser.mainLoop.scheduler():("timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter((function(){void 0!==t?Runtime.dynCall("vi",e,[t]):Runtime.dynCall("v",e)})),f0?_emscripten_set_main_loop_timing(0,1e3/i):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,i=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,i),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",i=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;i?i=6;){var a=t>>n-6&63;n-=6,r+=i[a]}return 2==n?(r+=i[(3&t)<<4],r+="=="):4==n&&(r+=i[(15&t)<<2],r+="="),r}(e),f(o))},o.src=s,Browser.safeSetTimeout((function(){f(o)}),1e4)}};Module.preloadPlugins.push(i);var r=Module.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),Module.elementPointerLock&&r.addEventListener("click",(function(e){!Browser.pointerLock&&r.requestPointerLock&&(r.requestPointerLock(),e.preventDefault())}),!1))}function t(){Browser.pointerLock=document.pointerLockElement===r||document.mozPointerLockElement===r||document.webkitPointerLockElement===r||document.msPointerLockElement===r}},createContext:function(e,i,r,t){if(i&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,f;if(i){var a={antialias:!1,alpha:!1};if(t)for(var l in t)a[l]=t[l];(f=GL.createContext(e,a))&&(n=GL.getContext(f).GLctx),e.style.backgroundColor="black"}else n=e.getContext("2d");return n?(r&&(i||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=n,i&&GL.makeContextCurrent(f),Module.useWebGL=i,Browser.moduleContextCreatedCallbacks.forEach((function(e){e()})),Browser.init()),n):null},destroyContext:function(e,i,r){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,i,r){Browser.lockPointer=e,Browser.resizeCanvas=i,Browser.vrDevice=r,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var t=Module.canvas;function n(){Browser.isFullScreen=!1;var e=t.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},t.cancelFullScreen=t.cancelFullScreen.bind(document),Browser.lockPointer&&t.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen),Browser.updateCanvasDimensions(t)}Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var f=document.createElement("div");t.parentNode.insertBefore(f,t),f.appendChild(t),f.requestFullScreen=f.requestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullScreen?function(){f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?f.requestFullScreen({vrDisplay:r}):f.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var i=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=i+1e3/60;else for(;i+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-i,0);setTimeout(e,r)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,i){return Module.noExitRuntime=!0,setTimeout((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}),i)},safeSetInterval:function(e,i){return Module.noExitRuntime=!0,setInterval((function(){ABORT||Browser.allowAsyncCallbacks&&e()}),i)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var i=0;switch(e.type){case"DOMMouseScroll":i=e.detail;break;case"mousewheel":i=e.wheelDelta;break;case"wheel":i=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return i},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var i=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,t=Module.canvas.height,n=void 0!==window.scrollX?window.scrollX:window.pageXOffset,f=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var a=e.touch;if(void 0===a)return;var l=a.pageX-(n+i.left),s=a.pageY-(f+i.top),o={x:l*=r/i.width,y:s*=t/i.height};if("touchstart"===e.type)Browser.lastTouches[a.identifier]=o,Browser.touches[a.identifier]=o;else if("touchend"===e.type||"touchmove"===e.type){var u=Browser.touches[a.identifier];u||(u=o),Browser.lastTouches[a.identifier]=u,Browser.touches[a.identifier]=o}return}var c=e.pageX-(n+i.left),d=e.pageY-(f+i.top);c*=r/i.width,d*=t/i.height,Browser.mouseMovementX=c-Browser.mouseX,Browser.mouseMovementY=d-Browser.mouseY,Browser.mouseX=c,Browser.mouseY=d}},xhrLoad:function(e,i,r){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?i(t.response):r()},t.onerror=r,t.send(null)},asyncLoad:function(e,i,r,t){Browser.xhrLoad(e,(function(r){assert(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),i(new Uint8Array(r)),t||removeRunDependency("al "+e)}),(function(i){if(!r)throw'Loading data file "'+e+'" failed.';r()})),t||addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach((function(i){i(e.width,e.height)}))},setCanvasSize:function(e,i,r){var t=Module.canvas;Browser.updateCanvasDimensions(t,e,i),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,i,r){i&&r?(e.widthNative=i,e.heightNative=r):(i=e.widthNative,r=e.heightNative);var t=i,n=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(t/n>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),i=SYSCALLS.get();return assert(e>=0?0===i:-1===i),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall54(e,i){SYSCALLS.varargs=i;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___cxa_pure_virtual(){throw ABORT=!0,"Pure virtual function called!"}Module._i64Add=_i64Add,Module._bitshift64Lshr=_bitshift64Lshr;var _BDtoIHigh=!0;function _pthread_cleanup_push(e,i){__ATEXIT__.push((function(){Runtime.dynCall("vi",e,[i])})),_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(e){return HEAP8[e|0]?0:(HEAP8[e|0]=1,1)}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(e){return __ZSt18uncaught_exceptionv.uncaught_exception--,EXCEPTIONS.caught.push(e),EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(e)),e}function _llvm_eh_typeid_for(e){return e}function _emscripten_memcpy_big(e,i,r){return HEAPU8.set(HEAPU8.subarray(i,i+r),e),e}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _pthread_mutex_lock(){}Module._memcpy=_memcpy;var _emscripten_postinvoke=!0;function _sbrk(e){var i=_sbrk;i.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),i.called=!0,assert(Runtime.dynamicAlloc),i.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e&&!i.alloc(e))return-1>>>0;return r}function ___cxa_guard_abort(){}Module._bitshift64Shl=_bitshift64Shl,Module._memmove=_memmove;var _emscripten_preinvoke=!0,_BItoD=!0;function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=!0;var e=EXCEPTIONS.caught.pop();throw EXCEPTIONS.last=e,e}function _pthread_mutex_unlock(){}function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _pthread_self(){return 0}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get(),f=SYSCALLS.get(),a=SYSCALLS.get(),l=n;return assert(0===t),FS.llseek(r,l,a),HEAP32[f>>2]=r.position,r.getdents&&0===l&&0===a&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{SYSCALLS.get();var r=SYSCALLS.get(),t=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var f=___syscall146.buffer,a=0;a>2],s=HEAP32[r+(8*a+4)>>2],o=0;o2147483648)return false;c=new t(e);d=new n(e);h=new f(e);b=new a(e);k=new l(e);w=new s(e);_=new o(e);m=new u(e);r=e;return true}function Ni(e){e=e|0;var i=0;i=v;v=v+e|0;v=v+15&-16;return i|0}function Fi(){return v|0}function Ui(e){e=e|0;v=e}function ji(e,i){e=e|0;i=i|0;v=e;g=i}function Hi(e,i){e=e|0;i=i|0;if(!T){T=e;S=i}}function Yi(e){e=e|0;c[y>>0]=c[e>>0];c[y+1>>0]=c[e+1>>0];c[y+2>>0]=c[e+2>>0];c[y+3>>0]=c[e+3>>0]}function qi(e){e=e|0;c[y>>0]=c[e>>0];c[y+1>>0]=c[e+1>>0];c[y+2>>0]=c[e+2>>0];c[y+3>>0]=c[e+3>>0];c[y+4>>0]=c[e+4>>0];c[y+5>>0]=c[e+5>>0];c[y+6>>0]=c[e+6>>0];c[y+7>>0]=c[e+7>>0]}function Xi(e){e=e|0;H=e}function zi(){return H|0}function Vi(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;g=v;v=v+128|0;d=g+44|0;w=g+8|0;s=g+4|0;u=g;b=r+4|0;k=r+8|0;T=0;Fe(35,h[r>>2]|0,h[b>>2]|0,h[k>>2]|0,t|0);o=T;T=0;if(!(o&1)){a=d;f=a+84|0;do{h[a>>2]=h[t>>2];a=a+4|0;t=t+4|0}while((a|0)<(f|0));t=d+12|0;if((h[t>>2]|0)==0?(l=ce(((h[d+8>>2]|0)+7|0)/8|0,h[d>>2]|0)|0,h[t>>2]=l,(h[d+24>>2]|0)!=0):0){o=ce(h[d+16>>2]|0,l)|0;h[t>>2]=o}T=0;pe(176,w|0);o=T;T=0;if(!(o&1)){t=d+56|0;do{if(h[t>>2]|0){T=0;t=ye(66,t|0)|0;o=T;T=0;if(!(o&1)){h[s>>2]=t;f=w+28|0;a=h[f>>2]|0;if(a>>>0<(h[w+32>>2]|0)>>>0){h[a>>2]=t;h[f>>2]=a+4;h[s>>2]=0;_=19;break}T=0;ve(57,w+24|0,s|0);o=T;T=0;if(o&1){f=Ze(824,0)|0;t=H;a=h[s>>2]|0;h[s>>2]=0;if(!a)break;kE[h[(h[a>>2]|0)+4>>2]&255](a);break}else{t=h[s>>2]|0;h[s>>2]=0;if(!t){_=19;break}kE[h[(h[t>>2]|0)+4>>2]&255](t);_=19;break}}else _=15}else _=19}while(0);e:do{if((_|0)==19){a=d+4|0;l=d+8|0;s=d+16|0;T=0;t=De(14,h[d>>2]|0,h[a>>2]|0,h[l>>2]|0,h[s>>2]|0)|0;o=T;T=0;if(!(o&1)){h[u>>2]=t;o=w+28|0;f=h[o>>2]|0;do{if(f>>>0>=(h[w+32>>2]|0)>>>0){T=0;ve(57,w+24|0,u|0);f=T;T=0;if(f&1){f=Ze(824,0)|0;t=H;a=h[u>>2]|0;h[u>>2]=0;if(!a)break e;kE[h[(h[a>>2]|0)+4>>2]&255](a);break e}else{t=h[u>>2]|0;h[u>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}}else{h[f>>2]=t;h[o>>2]=f+4;h[u>>2]=0}}while(0);t=h[d+28>>2]|0;if((t|0)!=0?(T=0,ve(58,w|0,t|0),_=T,T=0,_&1):0){_=15;break}i:do{if(!(h[d+24>>2]|0)){t=ce(h[a>>2]|0,h[d>>2]|0)|0;t=ce(t,((h[l>>2]|0)+7|0)/8|0)|0;if((h[s>>2]|0)>0){a=0;while(1){T=0;xe(4,w|0,r|0,d|0);_=T;T=0;if(_&1)break;f=h[b>>2]|0;if(f){h[b>>2]=f+t;h[k>>2]=(h[k>>2]|0)-t}a=a+1|0;if((a|0)>=(h[s>>2]|0))break i}f=Ze(824,0)|0;t=H;_=16;break e}}else{T=0;xe(4,w|0,r|0,d|0);_=T;T=0;if(_&1){_=15;break e}}}while(0);T=0;Oe(33,w|0,e|0)|0;_=T;T=0;if(!(_&1)){h[i>>2]=h[w+16>>2];if(n)c[n>>0]=0;a=w+24|0;t=h[a>>2]|0;if(t){f=h[o>>2]|0;if((f|0)!=(t|0)){do{n=f+-4|0;h[o>>2]=n;f=h[n>>2]|0;h[n>>2]=0;if(f)kE[h[(h[f>>2]|0)+4>>2]&255](f);f=h[o>>2]|0}while((f|0)!=(t|0));t=h[a>>2]|0}zv(t)}n=0;v=g;return n|0}else _=15}else _=15}}while(0);if((_|0)==15){f=Ze(824,0)|0;t=H;_=16}o=w+24|0;a=h[o>>2]|0;if(a){s=w+28|0;l=h[s>>2]|0;if((l|0)!=(a|0)){do{w=l+-4|0;h[s>>2]=w;l=h[w>>2]|0;h[w>>2]=0;if(l)kE[h[(h[l>>2]|0)+4>>2]&255](l);l=h[s>>2]|0}while((l|0)!=(a|0));a=h[o>>2]|0}zv(a)}}else _=5}else _=5;if((_|0)==5){f=Ze(824,0)|0;t=H}w=(t|0)==(ti(824)|0);l=fi(f|0)|0;t=(n|0)==0;if(!w){if(!t)c[n>>0]=0;li();n=14;v=g;return n|0}a=l+12|0;do{if(!t){t=h[a>>2]|0;T=0;f=Ce(1)|0;w=T;T=0;if(!(w&1))if((t|0)==(f|0)){iE(n,mE[h[(h[l>>2]|0)+8>>2]&127](l)|0)|0;_=60;break}else{c[n>>0]=0;_=60;break}}else _=60}while(0);if((_|0)==60?(m=h[a>>2]|0,T=0,p=Ce(1)|0,n=T,T=0,!(n&1)):0){n=(m|0)==(p|0)?h[l+8>>2]|0:13;li();v=g;return n|0}t=Ze()|0;T=0;Ie(3);g=T;T=0;if(g&1){g=Ze(0)|0;Ki(g)}else si(t|0);return 0}function Gi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;o=v;v=v+112|0;f=o+96|0;s=o+84|0;u=o+72|0;c=o+60|0;d=o+48|0;b=o+36|0;k=o+24|0;w=o+12|0;_=o;l=(i|0)==0;if((e|0)==0&l){n=Je(16)|0;T=0;xe(5,f|0,48504,52);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,f|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(f);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}a=h[t>>2]|0;if((a+-1|0)>>>0>65534){n=Je(16)|0;T=0;xe(5,s|0,48557,41);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,s|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(s);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}f=h[t+4>>2]|0;if((f+-1|0)>>>0>65534){n=Je(16)|0;T=0;xe(5,u|0,48599,42);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,u|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(u);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}n=h[t+8>>2]|0;if((n+-2|0)>>>0>14){n=Je(16)|0;T=0;xe(5,c|0,48642,46);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,c|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(c);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}e=h[t+24>>2]|0;if(e>>>0>=3){n=Je(16)|0;T=0;xe(5,d|0,48689,65);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,d|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(d);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}i=h[t+16>>2]|0;if((i+-1|0)>>>0>254){n=Je(16)|0;T=0;xe(5,b|0,48755,44);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,b|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(b);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}if(!l?(b=ce(f,a)|0,(ce(ce(b,(n|0)>8?2:1)|0,i)|0)>>>0>r>>>0):0){n=Je(16)|0;T=0;xe(5,k|0,48800,58);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,k|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(k);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}switch(i|0){case 4:{if((e|0)!=2){v=o;return}n=Je(16)|0;T=0;xe(5,w|0,48859,73);_=T;T=0;if(!(_&1)){T=0;i=Ce(1)|0;_=T;T=0;if(!(_&1)?(T=0,Fe(36,n|0,1,i|0,w|0),_=T,T=0,!(_&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(w);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}case 3:{v=o;return}default:{if(!e){v=o;return}n=Je(16)|0;T=0;xe(5,_|0,48933,73);w=T;T=0;if(!(w&1)){T=0;i=Ce(1)|0;w=T;T=0;if(!(w&1)?(T=0,Fe(36,n|0,1,i|0,_|0),w=T,T=0,!(w&1)):0){T=0;xe(6,n|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(_);if(!e){_=i;si(_|0)}}else i=Ze()|0;We(n|0);_=i;si(_|0)}}}function Ki(e){e=e|0;fi(e|0)|0;Qv()}function Wi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+128|0;f=u+116|0;a=u;T=0;h[f>>2]=h[i>>2];h[f+4>>2]=h[i+4>>2];h[f+8>>2]=h[i+8>>2];ve(59,a|0,f|0);n=T;T=0;if(!(n&1)){if(r){n=a+16|0;i=n+84|0;do{h[n>>2]=h[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(i|0))}T=0;h[f>>2]=h[e>>2];h[f+4>>2]=h[e+4>>2];h[f+8>>2]=h[e+8>>2];ve(60,a|0,f|0);a=T;T=0;if(!(a&1)){if(t)c[t>>0]=0;o=0;v=u;return o|0}}e=Ze(824,0)|0;a=H;a=(a|0)==(ti(824)|0);e=fi(e|0)|0;i=(t|0)==0;if(!a){if(!i)c[t>>0]=0;li();o=14;v=u;return o|0}n=e+12|0;do{if(!i){i=h[n>>2]|0;T=0;r=Ce(1)|0;a=T;T=0;if(!(a&1))if((i|0)==(r|0)){iE(t,mE[h[(h[e>>2]|0)+8>>2]&127](e)|0)|0;o=10;break}else{c[t>>0]=0;o=10;break}}else o=10}while(0);if((o|0)==10?(l=h[n>>2]|0,T=0,s=Ce(1)|0,o=T,T=0,!(o&1)):0){o=(l|0)==(s|0)?h[e+8>>2]|0:13;li();v=u;return o|0}i=Ze()|0;T=0;Ie(3);u=T;T=0;if(u&1){u=Ze(0)|0;Ki(u)}else si(i|0);return 0}function Ji(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+128|0;n=s+116|0;t=s;T=0;h[n>>2]=h[e>>2];h[n+4>>2]=h[e+4>>2];h[n+8>>2]=h[e+8>>2];ve(59,t|0,n|0);n=T;T=0;if((!(n&1)?(T=0,pe(177,t|0),n=T,T=0,!(n&1)):0)?(T=0,ve(61,t|0,1),n=T,T=0,!(n&1)):0){e=t+16|0;t=i+84|0;do{h[i>>2]=h[e>>2];i=i+4|0;e=e+4|0}while((i|0)<(t|0));if(r)c[r>>0]=0;r=0;v=s;return r|0}n=Ze(824,0)|0;i=H;i=(i|0)==(ti(824)|0);n=fi(n|0)|0;e=(r|0)==0;if(!i){if(!e)c[r>>0]=0;li();r=14;v=s;return r|0}i=n+12|0;do{if(!e){e=h[i>>2]|0;T=0;t=Ce(1)|0;o=T;T=0;if(!(o&1))if((e|0)==(t|0)){iE(r,mE[h[(h[n>>2]|0)+8>>2]&127](n)|0)|0;l=13;break}else{c[r>>0]=0;l=13;break}}else l=13}while(0);if((l|0)==13?(f=h[i>>2]|0,T=0,a=Ce(1)|0,o=T,T=0,!(o&1)):0){o=(f|0)==(a|0)?h[n+8>>2]|0:13;li();v=s;return o|0}e=Ze()|0;T=0;Ie(3);o=T;T=0;if(o&1){o=Ze(0)|0;Ki(o)}else si(e|0);return 0}function Zi(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,c=0;c=v;v=v+48|0;s=c+36|0;l=c+24|0;o=c+12|0;u=c;if(!((e|0)!=0&(r|0)!=0&(t|0)!=0&(f|0)!=0)){n=1;v=c;return n|0}h[o>>2]=0;h[o+4>>2]=e;h[o+8>>2]=i;h[u>>2]=0;h[u+4>>2]=t;h[u+8>>2]=n;h[l>>2]=h[o>>2];h[l+4>>2]=h[o+4>>2];h[l+8>>2]=h[o+8>>2];h[s>>2]=h[u>>2];h[s+4>>2]=h[u+4>>2];h[s+8>>2]=h[u+8>>2];n=Vi(l,r,s,f,a)|0;v=c;return n|0}function Qi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;n=v;v=v+32|0;f=n+12|0;a=n;l=a;h[l>>2]=0;h[l+4>>2]=0;h[a+4>>2]=e;h[a+8>>2]=i;h[f>>2]=h[a>>2];h[f+4>>2]=h[a+4>>2];h[f+8>>2]=h[a+8>>2];r=Ji(f,r,t)|0;v=n;return r|0}function $i(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+48|0;l=a+36|0;s=a+24|0;u=a+12|0;o=a;h[u>>2]=0;h[u+4>>2]=e;h[u+8>>2]=i;h[o>>2]=0;h[o+4>>2]=r;h[o+8>>2]=t;h[s>>2]=h[u>>2];h[s+4>>2]=h[u+4>>2];h[s+8>>2]=h[u+8>>2];h[l>>2]=h[o>>2];h[l+4>>2]=h[o+4>>2];h[l+8>>2]=h[o+8>>2];t=Wi(s,l,n,f)|0;v=a;return t|0}function er(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=e+4|0;r=h[e>>2]|0;n=((h[o>>2]|0)-r>>2)+1|0;if(n>>>0>1073741823){Yv(e);r=h[e>>2]|0}u=e+8|0;t=(h[u>>2]|0)-r|0;if(t>>2>>>0<536870911){t=t>>1;t=t>>>0>>0?n:t;r=(h[o>>2]|0)-r>>2;if(!t){f=0;a=0}else l=6}else{t=1073741823;r=(h[o>>2]|0)-r>>2;l=6}if((l|0)==6){f=t;a=Xv(t<<2)|0}n=a+(r<<2)|0;t=n;s=a+(f<<2)|0;l=h[i>>2]|0;h[i>>2]=0;h[n>>2]=l;l=a+(r+1<<2)|0;a=h[e>>2]|0;r=h[o>>2]|0;if((r|0)==(a|0)){n=e;f=o}else{do{r=r+-4|0;i=h[r>>2]|0;h[r>>2]=0;h[n+-4>>2]=i;n=t+-4|0;t=n}while((r|0)!=(a|0));r=t;n=e;f=o;t=r;a=h[e>>2]|0;r=h[o>>2]|0}h[n>>2]=t;h[f>>2]=l;h[u>>2]=s;n=a;if((r|0)!=(n|0))do{r=r+-4|0;t=h[r>>2]|0;h[r>>2]=0;if(t)kE[h[(h[t>>2]|0)+4>>2]&255](t)}while((r|0)!=(n|0));if(!a)return;zv(a);return}function ir(){if(c[8]|0)return 35648;if(!(ze(8)|0))return 35648;yi(72,35648,M|0)|0;$e(8);return 35648}function rr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+32|0;s=u;pv(s,(1<>2]|0;o=f+1|0;r=o<<1;h[e>>2]=0;a=e+4|0;h[a>>2]=0;h[e+8>>2]=0;e:do{if(o){if(!((f|0)<-1?(T=0,pe(178,e|0),l=T,T=0,l&1):0))t=4;if((t|0)==4?(T=0,n=ye(67,r|0)|0,l=T,T=0,!(l&1)):0){h[a>>2]=n;h[e>>2]=n;h[e+8>>2]=n+r;i=n;while(1){c[i>>0]=0;i=(h[a>>2]|0)+1|0;h[a>>2]=i;r=r+-1|0;if(!r)break e}}r=Ze()|0;i=h[e>>2]|0;if(!i)si(r|0);if((h[a>>2]|0)!=(i|0))h[a>>2]=i;zv(i);si(r|0)}}while(0);i=~f;if((f|0)<(i|0)){v=u;return}a=s+12|0;l=s+8|0;f=s+4|0;n=i;do{i=h[a>>2]|0;if((n|0)>(0-i|0)){r=h[l>>2]|0;if((n|0)>(0-r|0)){t=h[f>>2]|0;if((n|0)>(0-t|0))if((n|0)>=0)if((n|0)>0)if((t|0)<=(n|0))if((r|0)>(n|0))i=2;else i=(i|0)>(n|0)?3:4;else i=1;else i=0;else i=-1;else i=-2}else i=-3}else i=-4;c[(h[e>>2]|0)+(n+o)>>0]=i;n=n+1|0}while((n|0)<(o|0));v=u;return}function tr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;k=h[r+16>>2]|0;switch(k|0){case 64:case 0:{T=0;e=Oe(34,e|0,i|0)|0;i=T;T=0;if(i&1)w=16;else t=e;break}default:{n=(1<>2])+-1|0;b=h[i+20>>2]|0;u=b<<1;u=((u+n|0)/(u|1|0)|0)+1|0;e=0;while(1)if((1<>2]|0;T=0;t=ye(67,4624)|0;o=T;T=0;if(o&1)w=16;else{f=((a|0)<8?8:a)+a<<1;l=t+4|0;s=i;o=l+84|0;do{h[l>>2]=h[s>>2];l=l+4|0;s=s+4|0}while((l|0)<(o|0));l=t+88|0;o=l+40|0;do{h[l>>2]=0;l=l+4|0}while((l|0)<(o|0));h[t>>2]=35660;h[t+128>>2]=n;h[t+132>>2]=u;h[t+136>>2]=b;h[t+140>>2]=e;h[t+144>>2]=a;h[t+148>>2]=f;h[t+152>>2]=k;e=t+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+172>>2]=h[i>>2];h[t+176>>2]=0;h[t+180>>2]=0;h[t+184>>2]=0;e=t+4568|0;n=t+188|0;do{h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;d[n+10>>1]=1;n=n+12|0}while((n|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1}}}if((w|0)==16){w=Ze()|0;si(w|0)}if(!t)return t|0;T=0;ve(h[(h[t>>2]|0)+12>>2]|0,t|0,r|0);w=T;T=0;if(!(w&1))return t|0;e=Ze()|0;if(!t){w=e;si(w|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);w=e;si(w|0);return 0}function nr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;r=(h[i+24>>2]|0)==2;if(r?(h[i+16>>2]|0)!=3:0){i=0;return i|0}u=h[i+20>>2]|0;e=h[i+8>>2]|0;e:do{if(!u){if(r){if((e|0)!=8)break;t=Xv(4600)|0;a=t+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=t+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[t>>2]=35688;e=t+132|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+148>>2]=h[i>>2];h[t+152>>2]=0;h[t+156>>2]=0;h[t+160>>2]=0;e=t+4544|0;r=t+164|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4556|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4568|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1;i=t;return i|0}switch(e|0){case 8:{t=Xv(4600)|0;a=t+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=t+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[t>>2]=35716;e=t+132|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+148>>2]=h[i>>2];h[t+152>>2]=0;h[t+156>>2]=0;h[t+160>>2]=0;e=t+4544|0;r=t+164|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4556|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4568|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1;i=t;return i|0}case 12:{t=Xv(4600)|0;a=t+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=t+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[t>>2]=35744;e=t+132|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+148>>2]=h[i>>2];h[t+152>>2]=0;h[t+156>>2]=0;h[t+160>>2]=0;e=t+4544|0;r=t+164|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4556|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4568|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1;i=t;return i|0}case 16:{t=Xv(4600)|0;a=t+4|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=t+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[t>>2]=35772;e=t+132|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+148>>2]=h[i>>2];h[t+152>>2]=0;h[t+156>>2]=0;h[t+160>>2]=0;e=t+4544|0;r=t+164|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4556|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4568|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+28>>2]|0))h[t+20>>2]=1;i=t;return i|0}default:break e}}}while(0);o=(1<>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=n+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[n>>2]=35800;h[n+128>>2]=o;h[n+132>>2]=f;h[n+136>>2]=u;h[n+140>>2]=e;h[n+144>>2]=r;h[n+148>>2]=t;h[n+152>>2]=64;e=n+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+172>>2]=h[i>>2];h[n+176>>2]=0;h[n+180>>2]=0;h[n+184>>2]=0;e=n+4568|0;r=n+188|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+28>>2]|0))h[n+20>>2]=1;i=n;return i|0}else{e=0;while(1)if((1<>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=n+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[n>>2]=35660;h[n+128>>2]=o;h[n+132>>2]=f;h[n+136>>2]=u;h[n+140>>2]=e;h[n+144>>2]=r;h[n+148>>2]=t;h[n+152>>2]=64;e=n+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+172>>2]=h[i>>2];h[n+176>>2]=0;h[n+180>>2]=0;h[n+184>>2]=0;e=n+4568|0;r=n+188|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+28>>2]|0))h[n+20>>2]=1;i=n;return i|0}}if((e|0)>=17){i=0;return i|0}f=u<<1;f=((f+o|0)/(f|1|0)|0)+1|0;if(r){e=0;while(1)if((1<>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=n+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[n>>2]=35828;h[n+128>>2]=o;h[n+132>>2]=f;h[n+136>>2]=u;h[n+140>>2]=e;h[n+144>>2]=r;h[n+148>>2]=t;h[n+152>>2]=64;e=n+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+172>>2]=h[i>>2];h[n+176>>2]=0;h[n+180>>2]=0;h[n+184>>2]=0;e=n+4568|0;r=n+188|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+28>>2]|0))h[n+20>>2]=1;i=n;return i|0}else{e=0;while(1)if((1<>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));a=n+88|0;s=a+40|0;do{h[a>>2]=0;a=a+4|0}while((a|0)<(s|0));h[n>>2]=35856;h[n+128>>2]=o;h[n+132>>2]=f;h[n+136>>2]=u;h[n+140>>2]=e;h[n+144>>2]=r;h[n+148>>2]=t;h[n+152>>2]=64;e=n+156|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+172>>2]=h[i>>2];h[n+176>>2]=0;h[n+180>>2]=0;h[n+184>>2]=0;e=n+4568|0;r=n+188|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4580|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4592|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+28>>2]|0))h[n+20>>2]=1;i=n;return i|0}return 0}function fr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;k=h[r+16>>2]|0;switch(k|0){case 64:case 0:{T=0;e=Oe(35,e|0,i|0)|0;i=T;T=0;if(i&1)w=16;else t=e;break}default:{n=(1<>2])+-1|0;b=h[i+20>>2]|0;u=b<<1;u=((u+n|0)/(u|1|0)|0)+1|0;e=0;while(1)if((1<>2]|0;T=0;t=ye(67,4632)|0;o=T;T=0;if(o&1)w=16;else{f=((a|0)<8?8:a)+a<<1;h[t+4>>2]=0;l=t+8|0;s=i;o=l+84|0;do{h[l>>2]=h[s>>2];l=l+4|0;s=s+4|0}while((l|0)<(o|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;o=t+116|0;h[o>>2]=0;h[o+4>>2]=0;h[o+8>>2]=0;h[o+12>>2]=0;h[o+16>>2]=0;h[t>>2]=35884;h[t+136>>2]=n;h[t+140>>2]=u;h[t+144>>2]=b;h[t+148>>2]=e;h[t+152>>2]=a;h[t+156>>2]=f;h[t+160>>2]=k;e=t+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+180>>2]=h[i>>2];h[t+184>>2]=0;h[t+188>>2]=0;h[t+192>>2]=0;e=t+4576|0;n=t+196|0;do{h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;d[n+10>>1]=1;n=n+12|0}while((n|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1}}}if((w|0)==16){w=Ze()|0;si(w|0)}if(!t)return t|0;T=0;ve(h[(h[t>>2]|0)+8>>2]|0,t|0,r|0);w=T;T=0;if(!(w&1))return t|0;e=Ze()|0;if(!t){w=e;si(w|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);w=e;si(w|0);return 0}function ar(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;r=(h[i+24>>2]|0)==2;if(r?(h[i+16>>2]|0)!=3:0){i=0;return i|0}u=h[i+20>>2]|0;e=h[i+8>>2]|0;e:do{if(!u){if(r){if((e|0)!=8)break;t=Xv(4608)|0;h[t+4>>2]=0;a=t+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;e=t+116|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[t>>2]=35912;e=t+140|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+156>>2]=h[i>>2];h[t+160>>2]=0;h[t+164>>2]=0;h[t+168>>2]=0;e=t+4552|0;r=t+172|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4564|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4576|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1;i=t;return i|0}switch(e|0){case 8:{t=Xv(4608)|0;h[t+4>>2]=0;a=t+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;e=t+116|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[t>>2]=35940;e=t+140|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+156>>2]=h[i>>2];h[t+160>>2]=0;h[t+164>>2]=0;h[t+168>>2]=0;e=t+4552|0;r=t+172|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4564|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4576|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1;i=t;return i|0}case 12:{t=Xv(4608)|0;h[t+4>>2]=0;a=t+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;e=t+116|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[t>>2]=35968;e=t+140|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+156>>2]=h[i>>2];h[t+160>>2]=0;h[t+164>>2]=0;h[t+168>>2]=0;e=t+4552|0;r=t+172|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4564|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4576|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1;i=t;return i|0}case 16:{t=Xv(4608)|0;h[t+4>>2]=0;a=t+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[t+92>>2]=0;h[t+96>>2]=0;h[t+100>>2]=32;h[t+104>>2]=0;h[t+108>>2]=0;c[t+112>>0]=0;e=t+116|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[t>>2]=35996;e=t+140|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[t+156>>2]=h[i>>2];h[t+160>>2]=0;h[t+164>>2]=0;h[t+168>>2]=0;e=t+4552|0;r=t+172|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=t+4564|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=t+4576|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[t+32>>2]|0))h[t+24>>2]=1;i=t;return i|0}default:break e}}}while(0);o=(1<>2]=0;a=n+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[n+92>>2]=0;h[n+96>>2]=0;h[n+100>>2]=32;h[n+104>>2]=0;h[n+108>>2]=0;c[n+112>>0]=0;s=n+116|0;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;h[s+12>>2]=0;h[s+16>>2]=0;h[n>>2]=36024;h[n+136>>2]=o;h[n+140>>2]=f;h[n+144>>2]=u;h[n+148>>2]=e;h[n+152>>2]=r;h[n+156>>2]=t;h[n+160>>2]=64;e=n+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+180>>2]=h[i>>2];h[n+184>>2]=0;h[n+188>>2]=0;h[n+192>>2]=0;e=n+4576|0;r=n+196|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+32>>2]|0))h[n+24>>2]=1;i=n;return i|0}else{e=0;while(1)if((1<>2]=0;a=n+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[n+92>>2]=0;h[n+96>>2]=0;h[n+100>>2]=32;h[n+104>>2]=0;h[n+108>>2]=0;c[n+112>>0]=0;s=n+116|0;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;h[s+12>>2]=0;h[s+16>>2]=0;h[n>>2]=35884;h[n+136>>2]=o;h[n+140>>2]=f;h[n+144>>2]=u;h[n+148>>2]=e;h[n+152>>2]=r;h[n+156>>2]=t;h[n+160>>2]=64;e=n+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+180>>2]=h[i>>2];h[n+184>>2]=0;h[n+188>>2]=0;h[n+192>>2]=0;e=n+4576|0;r=n+196|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+32>>2]|0))h[n+24>>2]=1;i=n;return i|0}}if((e|0)>=17){i=0;return i|0}f=u<<1;f=((f+o|0)/(f|1|0)|0)+1|0;if(r){e=0;while(1)if((1<>2]=0;a=n+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[n+92>>2]=0;h[n+96>>2]=0;h[n+100>>2]=32;h[n+104>>2]=0;h[n+108>>2]=0;c[n+112>>0]=0;s=n+116|0;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;h[s+12>>2]=0;h[s+16>>2]=0;h[n>>2]=36052;h[n+136>>2]=o;h[n+140>>2]=f;h[n+144>>2]=u;h[n+148>>2]=e;h[n+152>>2]=r;h[n+156>>2]=t;h[n+160>>2]=64;e=n+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+180>>2]=h[i>>2];h[n+184>>2]=0;h[n+188>>2]=0;h[n+192>>2]=0;e=n+4576|0;r=n+196|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+32>>2]|0))h[n+24>>2]=1;i=n;return i|0}else{e=0;while(1)if((1<>2]=0;a=n+8|0;l=i;s=a+84|0;do{h[a>>2]=h[l>>2];a=a+4|0;l=l+4|0}while((a|0)<(s|0));h[n+92>>2]=0;h[n+96>>2]=0;h[n+100>>2]=32;h[n+104>>2]=0;h[n+108>>2]=0;c[n+112>>0]=0;s=n+116|0;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;h[s+12>>2]=0;h[s+16>>2]=0;h[n>>2]=36080;h[n+136>>2]=o;h[n+140>>2]=f;h[n+144>>2]=u;h[n+148>>2]=e;h[n+152>>2]=r;h[n+156>>2]=t;h[n+160>>2]=64;e=n+164|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[n+180>>2]=h[i>>2];h[n+184>>2]=0;h[n+188>>2]=0;h[n+192>>2]=0;e=n+4576|0;r=n+196|0;do{h[r>>2]=0;h[r+4>>2]=0;d[r+8>>1]=0;d[r+10>>1]=1;r=r+12|0}while((r|0)!=(e|0));h[e>>2]=0;h[e+4>>2]=0;d[e+8>>1]=0;c[e+10>>0]=0;i=n+4588|0;h[i>>2]=0;h[i+4>>2]=0;d[i+8>>1]=0;c[i+10>>0]=0;i=n+4600|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[i+16>>2]=0;h[i+20>>2]=0;h[i+24>>2]=0;c[i+28>>0]=0;if(!(h[n+32>>2]|0))h[n+24>>2]=1;i=n;return i|0}return 0}function lr(){var e=0,i=0,r=0,t=0,n=0,f=0,a=0;e=2832;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=4880);Cm(2832,0,2048)|0;e=0;do{a=2832+(e+128<<3)|0;h[a>>2]=0;h[a+4>>2]=1;e=e+1|0}while((e|0)!=128);e=3088;h[e>>2]=1;h[e+4>>2]=3;e=3096;h[e>>2]=1;h[e+4>>2]=3;e=3104;h[e>>2]=1;h[e+4>>2]=3;e=3112;h[e>>2]=1;h[e+4>>2]=3;e=3120;h[e>>2]=1;h[e+4>>2]=3;e=3128;h[e>>2]=1;h[e+4>>2]=3;e=3136;h[e>>2]=1;h[e+4>>2]=3;e=3144;h[e>>2]=1;h[e+4>>2]=3;e=3152;h[e>>2]=1;h[e+4>>2]=3;e=3160;h[e>>2]=1;h[e+4>>2]=3;e=3168;h[e>>2]=1;h[e+4>>2]=3;e=3176;h[e>>2]=1;h[e+4>>2]=3;e=3184;h[e>>2]=1;h[e+4>>2]=3;e=3192;h[e>>2]=1;h[e+4>>2]=3;e=3200;h[e>>2]=1;h[e+4>>2]=3;e=3208;h[e>>2]=1;h[e+4>>2]=3;e=3216;h[e>>2]=1;h[e+4>>2]=3;e=3224;h[e>>2]=1;h[e+4>>2]=3;e=3232;h[e>>2]=1;h[e+4>>2]=3;e=3240;h[e>>2]=1;h[e+4>>2]=3;e=3248;h[e>>2]=1;h[e+4>>2]=3;e=3256;h[e>>2]=1;h[e+4>>2]=3;e=3264;h[e>>2]=1;h[e+4>>2]=3;e=3272;h[e>>2]=1;h[e+4>>2]=3;e=3280;h[e>>2]=1;h[e+4>>2]=3;e=3288;h[e>>2]=1;h[e+4>>2]=3;e=3296;h[e>>2]=1;h[e+4>>2]=3;e=3304;h[e>>2]=1;h[e+4>>2]=3;e=3312;h[e>>2]=1;h[e+4>>2]=3;e=3320;h[e>>2]=1;h[e+4>>2]=3;e=3328;h[e>>2]=1;h[e+4>>2]=3;e=3336;h[e>>2]=1;h[e+4>>2]=3;e=2896;h[e>>2]=2;h[e+4>>2]=5;e=2904;h[e>>2]=2;h[e+4>>2]=5;e=2912;h[e>>2]=2;h[e+4>>2]=5;e=2920;h[e>>2]=2;h[e+4>>2]=5;e=2928;h[e>>2]=2;h[e+4>>2]=5;e=2936;h[e>>2]=2;h[e+4>>2]=5;e=2944;h[e>>2]=2;h[e+4>>2]=5;e=2952;h[e>>2]=2;h[e+4>>2]=5;e=2848;h[e>>2]=3;h[e+4>>2]=7;e=2856;h[e>>2]=3;h[e+4>>2]=7;e=0;do{a=2832+(e+64<<3)|0;h[a>>2]=-1;h[a+4>>2]=2;e=e+1|0}while((e|0)!=64);e=2960;h[e>>2]=-2;h[e+4>>2]=4;e=2968;h[e>>2]=-2;h[e+4>>2]=4;e=2976;h[e>>2]=-2;h[e+4>>2]=4;e=2984;h[e>>2]=-2;h[e+4>>2]=4;e=2992;h[e>>2]=-2;h[e+4>>2]=4;e=3e3;h[e>>2]=-2;h[e+4>>2]=4;e=3008;h[e>>2]=-2;h[e+4>>2]=4;e=3016;h[e>>2]=-2;h[e+4>>2]=4;e=3024;h[e>>2]=-2;h[e+4>>2]=4;e=3032;h[e>>2]=-2;h[e+4>>2]=4;e=3040;h[e>>2]=-2;h[e+4>>2]=4;e=3048;h[e>>2]=-2;h[e+4>>2]=4;e=3056;h[e>>2]=-2;h[e+4>>2]=4;e=3064;h[e>>2]=-2;h[e+4>>2]=4;e=3072;h[e>>2]=-2;h[e+4>>2]=4;e=3080;h[e>>2]=-2;h[e+4>>2]=4;e=2864;h[e>>2]=-3;h[e+4>>2]=6;e=2872;h[e>>2]=-3;h[e+4>>2]=6;e=2880;h[e>>2]=-3;h[e+4>>2]=6;e=2888;h[e>>2]=-3;h[e+4>>2]=6;e=2840;h[e>>2]=-4;h[e+4>>2]=8;e=4880;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=6928);Cm(4880,0,2048)|0;r=2;e=0;n=0;f=0;while(1){r=r<<16>>16;i=8-r|0;t=1<>2]=n;h[a+4>>2]=r;i=i+1|0}while((i|0)<(t|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==7){i=2;n=1;f=-1;a=-1;break}else{r=(e>>1)+2|0;n=i>>16}}while(1){r=i<<16>>16;e=8-r|0;t=1<>2]=f;h[n+4>>2]=r;i=i+1|0}while((i|0)<(t|0))}e=(a<<16)+-65536|0;n=e>>31^e>>15;i=(n>>1)+2|0;if((i|0)>8){e=6928;break}else{f=e>>16;a=a+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=8976);Cm(6928,0,2048)|0;n=3;e=0;t=0;f=0;while(1){i=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==12){n=3;i=1;t=-1;f=-1;break}else{n=(e>>2)+3|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>2)+3|0;if((n|0)>8){e=8976;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=11024);Cm(8976,0,2048)|0;n=4;e=0;t=0;f=0;while(1){i=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==20){n=4;i=1;t=-1;f=-1;break}else{n=(e>>3)+4|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>3)+4|0;if((n|0)>8){e=11024;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=13072);Cm(11024,0,2048)|0;n=5;e=0;t=0;f=0;while(1){i=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==32){n=5;i=1;t=-1;f=-1;break}else{n=(e>>4)+5|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>4)+5|0;if((n|0)>8){e=13072;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=15120);Cm(13072,0,2048)|0;n=6;e=0;t=0;f=0;while(1){i=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==48){n=6;i=1;t=-1;f=-1;break}else{n=(e>>5)+6|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>5)+6|0;if((n|0)>8){e=15120;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=17168);Cm(15120,0,2048)|0;n=7;e=0;t=0;f=0;while(1){i=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==64){n=7;i=1;t=-1;f=-1;break}else{n=(e>>6)+7|0;t=i>>16}}while(1){e=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}e=(f<<16)+-65536|0;i=e>>31^e>>15;n=(i>>6)+7|0;if((n|0)>8){e=17168;break}else{t=e>>16;f=f+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=19216);Cm(17168,0,2048)|0;n=8;e=0;t=0;f=0;while(1){i=8-n|0;r=1<>2]=t;h[a+4>>2]=n;i=i+1|0}while((i|0)<(r|0))}i=(f<<16)+65536|0;e=i>>31^i>>15;f=f+1|0;if((f|0)==64){f=8;t=1;n=-1;a=-1;break}else{n=(e>>7)+8|0;t=i>>16}}while(1){e=8-f|0;r=1<>2]=n;h[t+4>>2]=f;i=i+1|0}while((i|0)<(r|0))}i=(a<<16)+-65536|0;t=i>>31^i>>15;e=t>>7;if((e|0)>0){e=19216;break}else{f=e+8|0;n=i>>16;a=a+-1|0}}do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=21264);Cm(19216,0,2048)|0;e=21264;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=23312);Cm(21264,0,2048)|0;e=23312;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=25360);Cm(23312,0,2048)|0;e=25360;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=27408);Cm(25360,0,2048)|0;e=27408;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=29456);Cm(27408,0,2048)|0;e=29456;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=31504);Cm(29456,0,2048)|0;e=31504;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=33552);Cm(31504,0,2048)|0;e=33552;do{h[e>>2]=0;h[e+4>>2]=0;e=e+8|0}while((e|0)!=35600);Cm(33552,0,2048)|0;rr(35600,8);yi(179,35600,M|0)|0;rr(35612,10);yi(179,35612,M|0)|0;rr(35624,12);yi(179,35624,M|0)|0;rr(35636,16);yi(179,35636,M|0)|0;return}function sr(e){e=e|0;var i=0;i=h[e>>2]|0;if(!i)return;e=e+4|0;if((h[e>>2]|0)!=(i|0))h[e>>2]=i;zv(i);return}function or(e){e=e|0;var i=0,r=0;h[e>>2]=36080;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function ur(e){e=e|0;var i=0,r=0;h[e>>2]=36080;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function cr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+136>>2]|0,h[e+144>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+184>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+188>>2]=f;h[e+192>>2]=n;Zt(e);n=e+140|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+196+(f*12|0)>>2]=i;h[e+196+(f*12|0)+4>>2]=0;d[e+196+(f*12|0)+8>>1]=0;d[e+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4576>>2]=l;h[e+4580>>2]=0;c[e+4584>>0]=s;c[e+4585>>0]=1;c[e+4586>>0]=0;h[e+4588>>2]=l;h[e+4592>>2]=1;c[e+4596>>0]=s;c[e+4597>>0]=1;c[e+4598>>0]=0;h[e+4600>>2]=0;v=a;return}function dr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4624)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35856;h[i+128>>2]=h[e+136>>2];h[i+132>>2]=h[e+140>>2];h[i+136>>2]=h[e+144>>2];h[i+140>>2]=h[e+148>>2];h[i+144>>2]=h[e+152>>2];h[i+148>>2]=h[e+156>>2];h[i+152>>2]=h[e+160>>2];n=i+156|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+172>>2]=h[t>>2];h[i+176>>2]=0;h[i+180>>2]=0;h[i+184>>2]=0;n=i+4568|0;t=i+188|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4580|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4592|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];jt(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;jt(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function hr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function br(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;h[e>>2]=36460;h[e+4>>2]=r;d=e+8|0;f=h[r>>2]|0;o=r+16|0;t=h[o>>2]|0;a=ce(t,f)|0;h[d>>2]=0;b=e+12|0;h[b>>2]=0;h[e+16>>2]=0;do{if(a){if(!((a|0)<0?(T=0,pe(178,d|0),f=T,T=0,f&1):0))u=4;if((u|0)==4?(l=a<<1,T=0,s=ye(67,l|0)|0,f=T,T=0,!(f&1)):0){h[d>>2]=s;f=s+(a<<1)|0;h[e+16>>2]=f;Cm(s|0,0,l|0)|0;h[b>>2]=f;f=h[r>>2]|0;t=h[o>>2]|0;break}a=Ze()|0;n=h[d>>2]|0;t=n;if(n){f=h[b>>2]|0;if((f|0)!=(n|0))h[b>>2]=f+(~((f+-2-t|0)>>>1)<<1);zv(n)}b=a;si(b|0)}}while(0);a=e+20|0;t=ce(f<<1,t)|0;h[a>>2]=0;l=e+24|0;h[l>>2]=0;h[e+28>>2]=0;if(!t){b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))u=13;if((u|0)==13?(T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[l>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[l>>2]|0)+1|0;h[l>>2]=n;t=t+-1|0}while((t|0)!=0);b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}f=Ze()|0;n=h[a>>2]|0;if(n){if((h[l>>2]|0)!=(n|0))h[l>>2]=n;zv(n)}n=h[d>>2]|0;if(!n){b=f;si(b|0)}t=h[b>>2]|0;if((t|0)!=(n|0))h[b>>2]=t+(~((t+-2-n|0)>>>1)<<1);zv(n);b=f;si(b|0)}function kr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;h[e>>2]=36436;h[e+4>>2]=r;d=e+8|0;f=h[r>>2]|0;o=r+16|0;t=h[o>>2]|0;a=ce(t,f)|0;h[d>>2]=0;b=e+12|0;h[b>>2]=0;h[e+16>>2]=0;do{if(a){if(!((a|0)<0?(T=0,pe(178,d|0),f=T,T=0,f&1):0))u=4;if((u|0)==4?(l=a<<1,T=0,s=ye(67,l|0)|0,f=T,T=0,!(f&1)):0){h[d>>2]=s;f=s+(a<<1)|0;h[e+16>>2]=f;Cm(s|0,0,l|0)|0;h[b>>2]=f;f=h[r>>2]|0;t=h[o>>2]|0;break}a=Ze()|0;n=h[d>>2]|0;t=n;if(n){f=h[b>>2]|0;if((f|0)!=(n|0))h[b>>2]=f+(~((f+-2-t|0)>>>1)<<1);zv(n)}b=a;si(b|0)}}while(0);a=e+20|0;t=ce(f<<1,t)|0;h[a>>2]=0;l=e+24|0;h[l>>2]=0;h[e+28>>2]=0;if(!t){b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))u=13;if((u|0)==13?(T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[l>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[l>>2]|0)+1|0;h[l>>2]=n;t=t+-1|0}while((t|0)!=0);b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}f=Ze()|0;n=h[a>>2]|0;if(n){if((h[l>>2]|0)!=(n|0))h[l>>2]=n;zv(n)}n=h[d>>2]|0;if(!n){b=f;si(b|0)}t=h[b>>2]|0;if((t|0)!=(n|0))h[b>>2]=t+(~((t+-2-n|0)>>>1)<<1);zv(n);b=f;si(b|0)}function wr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;h[e>>2]=36412;h[e+4>>2]=r;d=e+8|0;f=h[r>>2]|0;o=r+16|0;t=h[o>>2]|0;a=ce(t,f)|0;h[d>>2]=0;b=e+12|0;h[b>>2]=0;h[e+16>>2]=0;do{if(a){if(!((a|0)<0?(T=0,pe(178,d|0),f=T,T=0,f&1):0))u=4;if((u|0)==4?(l=a<<1,T=0,s=ye(67,l|0)|0,f=T,T=0,!(f&1)):0){h[d>>2]=s;f=s+(a<<1)|0;h[e+16>>2]=f;Cm(s|0,0,l|0)|0;h[b>>2]=f;f=h[r>>2]|0;t=h[o>>2]|0;break}a=Ze()|0;n=h[d>>2]|0;t=n;if(n){f=h[b>>2]|0;if((f|0)!=(n|0))h[b>>2]=f+(~((f+-2-t|0)>>>1)<<1);zv(n)}b=a;si(b|0)}}while(0);a=e+20|0;t=ce(f<<1,t)|0;h[a>>2]=0;l=e+24|0;h[l>>2]=0;h[e+28>>2]=0;if(!t){b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))u=13;if((u|0)==13?(T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[l>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[l>>2]|0)+1|0;h[l>>2]=n;t=t+-1|0}while((t|0)!=0);b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}f=Ze()|0;n=h[a>>2]|0;if(n){if((h[l>>2]|0)!=(n|0))h[l>>2]=n;zv(n)}n=h[d>>2]|0;if(!n){b=f;si(b|0)}t=h[b>>2]|0;if((t|0)!=(n|0))h[b>>2]=t+(~((t+-2-n|0)>>>1)<<1);zv(n);b=f;si(b|0)}function _r(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;h[e>>2]=36388;h[e+4>>2]=r;d=e+8|0;f=h[r>>2]|0;o=r+16|0;t=h[o>>2]|0;a=ce(t,f)|0;h[d>>2]=0;b=e+12|0;h[b>>2]=0;h[e+16>>2]=0;do{if(a){if(!((a|0)<0?(T=0,pe(178,d|0),f=T,T=0,f&1):0))u=4;if((u|0)==4?(l=a<<1,T=0,s=ye(67,l|0)|0,f=T,T=0,!(f&1)):0){h[d>>2]=s;f=s+(a<<1)|0;h[e+16>>2]=f;Cm(s|0,0,l|0)|0;h[b>>2]=f;f=h[r>>2]|0;t=h[o>>2]|0;break}a=Ze()|0;n=h[d>>2]|0;t=n;if(n){f=h[b>>2]|0;if((f|0)!=(n|0))h[b>>2]=f+(~((f+-2-t|0)>>>1)<<1);zv(n)}b=a;si(b|0)}}while(0);a=e+20|0;t=ce(f<<1,t)|0;h[a>>2]=0;l=e+24|0;h[l>>2]=0;h[e+28>>2]=0;if(!t){b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))u=13;if((u|0)==13?(T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[l>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[l>>2]|0)+1|0;h[l>>2]=n;t=t+-1|0}while((t|0)!=0);b=e+36|0;h[b>>2]=h[i>>2];h[b+4>>2]=h[i+4>>2];h[b+8>>2]=h[i+8>>2];return}f=Ze()|0;n=h[a>>2]|0;if(n){if((h[l>>2]|0)!=(n|0))h[l>>2]=n;zv(n)}n=h[d>>2]|0;if(!n){b=f;si(b|0)}t=h[b>>2]|0;if((t|0)!=(n|0))h[b>>2]=t+(~((t+-2-n|0)>>>1)<<1);zv(n);b=f;si(b|0)}function mr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;a=e+32|0;Xd(a,i)|0;f=e+44|0;h[f>>2]=0;l=e+48|0;n=h[l>>2]|0;if(n&8){i=c[a>>0]|0;if(!(i&1)){i=((i&255)>>>1)+(a+1)|0;h[f>>2]=i;r=a+1|0;t=a+1|0}else{i=(h[e+40>>2]|0)+(h[e+36>>2]|0)|0;h[f>>2]=i;t=h[e+40>>2]|0;r=t}h[e+8>>2]=r;h[e+12>>2]=t;h[e+16>>2]=i}if(!(n&16))return;i=c[a>>0]|0;if(!(i&1)){n=(i&255)>>>1;h[f>>2]=a+1+n;i=10;f=n}else{n=h[e+36>>2]|0;h[f>>2]=(h[e+40>>2]|0)+n;i=(h[a>>2]&-2)+-1|0;f=n}Gd(a,i,0);i=c[a>>0]|0;if(!(i&1)){n=a+1|0;t=(i&255)>>>1;r=a+1|0}else{r=h[e+40>>2]|0;n=r;t=h[e+36>>2]|0}i=e+24|0;h[i>>2]=r;h[e+20>>2]=r;h[e+28>>2]=n+t;if(!(h[l>>2]&3))return;h[i>>2]=r+f;return}function pr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+32|0;a=b+16|0;d=b+8|0;l=b;T=0;ve(65,d|0,e|0);o=T;T=0;e:do{if(o&1){r=Ze(0)|0;t=e;n=e}else{do{if(c[d>>0]|0){t=h[(h[e>>2]|0)+-12>>2]|0;h[l>>2]=h[e+(t+24)>>2];s=e+t|0;o=h[e+(t+4)>>2]|0;n=i+r|0;t=e+(t+76)|0;r=h[t>>2]|0;do{if((r|0)==-1){T=0;r=ye(68,s|0)|0;k=T;T=0;if(k&1)u=13;else{h[a>>2]=r;T=0;r=Oe(37,a|0,44220)|0;k=T;T=0;if(!(k&1)?(T=0,f=Oe(h[(h[r>>2]|0)+28>>2]|0,r|0,32)|0,k=T,T=0,!(k&1)):0){Xu(a);r=f<<24>>24;h[t>>2]=r;u=9;break}r=Ze(0)|0;Xu(a)}}else u=9}while(0);if((u|0)==9){T=0;h[a>>2]=h[l>>2];r=ge(39,a|0,i|0,((o&176|0)==32?n:i)|0,n|0,s|0,r&255|0)|0;k=T;T=0;if(!(k&1)){if(r)break;k=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+k|0,h[e+(k+16)>>2]|5|0);k=T;T=0;if(!(k&1))break;else u=13}else u=13}if((u|0)==13)r=Ze(0)|0;bb(d);t=e;n=e;break e}}while(0);bb(d);v=b;return e|0}}while(0);fi(r|0)|0;T=0;pe(181,t+(h[(h[n>>2]|0)+-12>>2]|0)|0);k=T;T=0;if(!(k&1)){li();v=b;return e|0}r=Ze()|0;T=0;Ie(3);k=T;T=0;if(k&1){k=Ze(0)|0;Ki(k)}else si(r|0);return 0}function vr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;r=h[i+48>>2]|0;if(r&16){r=i+44|0;t=h[r>>2]|0;n=h[i+24>>2]|0;if(t>>>0>>0)h[r>>2]=n;else n=t;t=h[i+20>>2]|0;f=n-t|0;if(f>>>0>4294967279)Hv(e);if(f>>>0<11){c[e>>0]=f<<1;r=e+1|0}else{i=f+16&-16;r=Xv(i)|0;h[e+8>>2]=r;h[e>>2]=i|1;h[e+4>>2]=f}if((t|0)!=(n|0)){i=r;while(1){c[i>>0]=c[t>>0]|0;t=t+1|0;if((t|0)==(n|0))break;else i=i+1|0}r=r+f|0}c[r>>0]=0;return}if(!(r&8)){h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}t=h[i+8>>2]|0;i=h[i+16>>2]|0;f=i-t|0;if(f>>>0>4294967279)Hv(e);if(f>>>0<11){c[e>>0]=f<<1;r=e+1|0}else{n=f+16&-16;r=Xv(n)|0;h[e+8>>2]=r;h[e>>2]=n|1;h[e+4>>2]=f}if((t|0)!=(i|0)){n=r;while(1){c[n>>0]=c[t>>0]|0;t=t+1|0;if((t|0)==(i|0))break;else n=n+1|0}r=r+f|0}c[r>>0]=0;return}function gr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;h[e>>2]=36364;h[e+4>>2]=r;b=e+8|0;a=h[r>>2]|0;u=r+16|0;f=h[u>>2]|0;o=ce(f,a)|0;h[b>>2]=0;k=e+12|0;h[k>>2]=0;h[e+16>>2]=0;do{if(o){if(!((o|0)<0?(T=0,pe(178,b|0),a=T,T=0,a&1):0))d=4;if((d|0)==4?(l=o<<1,T=0,s=ye(67,l|0)|0,a=T,T=0,!(a&1)):0){h[b>>2]=s;a=s+(o<<1)|0;h[e+16>>2]=a;Cm(s|0,0,l|0)|0;h[k>>2]=a;a=h[r>>2]|0;f=h[u>>2]|0;break}l=Ze()|0;n=h[b>>2]|0;f=n;if(n){a=h[k>>2]|0;if((a|0)!=(n|0))h[k>>2]=a+(~((a+-2-f|0)>>>1)<<1);zv(n)}k=l;si(k|0)}}while(0);l=e+20|0;f=ce(a<<1,f)|0;h[l>>2]=0;s=e+24|0;h[s>>2]=0;h[e+28>>2]=0;if(!f){k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}if(!((f|0)<0?(T=0,pe(178,l|0),u=T,T=0,u&1):0))d=13;if((d|0)==13?(T=0,n=ye(67,f|0)|0,d=T,T=0,!(d&1)):0){h[s>>2]=n;h[l>>2]=n;h[e+28>>2]=n+f;do{c[n>>0]=0;n=(h[s>>2]|0)+1|0;h[s>>2]=n;f=f+-1|0}while((f|0)!=0);k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}a=Ze()|0;n=h[l>>2]|0;if(n){if((h[s>>2]|0)!=(n|0))h[s>>2]=n;zv(n)}n=h[b>>2]|0;if(!n){k=a;si(k|0)}f=h[k>>2]|0;if((f|0)!=(n|0))h[k>>2]=f+(~((f+-2-n|0)>>>1)<<1);zv(n);k=a;si(k|0)}function yr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;h[e>>2]=36340;h[e+4>>2]=r;b=e+8|0;a=h[r>>2]|0;u=r+16|0;f=h[u>>2]|0;o=ce(f,a)|0;h[b>>2]=0;k=e+12|0;h[k>>2]=0;h[e+16>>2]=0;do{if(o){if(!((o|0)<0?(T=0,pe(178,b|0),a=T,T=0,a&1):0))d=4;if((d|0)==4?(l=o<<1,T=0,s=ye(67,l|0)|0,a=T,T=0,!(a&1)):0){h[b>>2]=s;a=s+(o<<1)|0;h[e+16>>2]=a;Cm(s|0,0,l|0)|0;h[k>>2]=a;a=h[r>>2]|0;f=h[u>>2]|0;break}l=Ze()|0;n=h[b>>2]|0;f=n;if(n){a=h[k>>2]|0;if((a|0)!=(n|0))h[k>>2]=a+(~((a+-2-f|0)>>>1)<<1);zv(n)}k=l;si(k|0)}}while(0);l=e+20|0;f=ce(a<<1,f)|0;h[l>>2]=0;s=e+24|0;h[s>>2]=0;h[e+28>>2]=0;if(!f){k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}if(!((f|0)<0?(T=0,pe(178,l|0),u=T,T=0,u&1):0))d=13;if((d|0)==13?(T=0,n=ye(67,f|0)|0,d=T,T=0,!(d&1)):0){h[s>>2]=n;h[l>>2]=n;h[e+28>>2]=n+f;do{c[n>>0]=0;n=(h[s>>2]|0)+1|0;h[s>>2]=n;f=f+-1|0}while((f|0)!=0);k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}a=Ze()|0;n=h[l>>2]|0;if(n){if((h[s>>2]|0)!=(n|0))h[s>>2]=n;zv(n)}n=h[b>>2]|0;if(!n){k=a;si(k|0)}f=h[k>>2]|0;if((f|0)!=(n|0))h[k>>2]=f+(~((f+-2-n|0)>>>1)<<1);zv(n);k=a;si(k|0)}function Er(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;h[e>>2]=36316;h[e+4>>2]=r;b=e+8|0;a=h[r>>2]|0;u=r+16|0;f=h[u>>2]|0;o=ce(f,a)|0;h[b>>2]=0;k=e+12|0;h[k>>2]=0;h[e+16>>2]=0;do{if(o){if(!((o|0)<0?(T=0,pe(178,b|0),a=T,T=0,a&1):0))d=4;if((d|0)==4?(l=o<<1,T=0,s=ye(67,l|0)|0,a=T,T=0,!(a&1)):0){h[b>>2]=s;a=s+(o<<1)|0;h[e+16>>2]=a;Cm(s|0,0,l|0)|0;h[k>>2]=a;a=h[r>>2]|0;f=h[u>>2]|0;break}l=Ze()|0;n=h[b>>2]|0;f=n;if(n){a=h[k>>2]|0;if((a|0)!=(n|0))h[k>>2]=a+(~((a+-2-f|0)>>>1)<<1);zv(n)}k=l;si(k|0)}}while(0);l=e+20|0;f=ce(a<<1,f)|0;h[l>>2]=0;s=e+24|0;h[s>>2]=0;h[e+28>>2]=0;if(!f){k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}if(!((f|0)<0?(T=0,pe(178,l|0),u=T,T=0,u&1):0))d=13;if((d|0)==13?(T=0,n=ye(67,f|0)|0,d=T,T=0,!(d&1)):0){h[s>>2]=n;h[l>>2]=n;h[e+28>>2]=n+f;do{c[n>>0]=0;n=(h[s>>2]|0)+1|0;h[s>>2]=n;f=f+-1|0}while((f|0)!=0);k=e+32|0;b=t;b=h[b>>2]|0;t=t+4|0;t=h[t>>2]|0;d=k;h[d>>2]=b;k=k+4|0;h[k>>2]=t;k=e+40|0;h[k>>2]=b;k=e+48|0;h[k>>2]=h[i>>2];h[k+4>>2]=h[i+4>>2];h[k+8>>2]=h[i+8>>2];return}a=Ze()|0;n=h[l>>2]|0;if(n){if((h[s>>2]|0)!=(n|0))h[s>>2]=n;zv(n)}n=h[b>>2]|0;if(!n){k=a;si(k|0)}f=h[k>>2]|0;if((f|0)!=(n|0))h[k>>2]=f+(~((f+-2-n|0)>>>1)<<1);zv(n);k=a;si(k|0)}function Ar(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36316;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function Mr(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36316;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function Tr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+48|0;if(!(h[n>>2]|0)){l=e+52|0;Lr(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;Lr(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function Sr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+48>>2]|0;if(!n){n=e+52|0;Pr(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Or(e,n,i,r,t);return}}function Pr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0;s=e+4|0;f=h[s>>2]|0;do{if(!(c[f+32>>0]|0))o=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*6|0)|0;f=h[s>>2]|0;l=h[f+16>>2]|0;if((t|0)<=0){o=h[a>>2]|0;break}i=h[a>>2]|0;f=i;a=0;while(1){o=f+4|0;u=d[f>>1]|0;d[f>>1]=d[o>>1]|0;d[o>>1]=u;a=a+1|0;if((a|0)==(t|0))break;else f=f+(l<<1)|0}o=i;f=h[s>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:if((h[f+24>>2]|0)==2){if((t|0)<=0)return;f=e+32|0;i=0;do{u=h[f>>2]|0;s=k[o+(i*6|0)+2>>1]<>1]<>1]<>1]=(s+49152+((e+n|0)>>>2)&65535)>>>u;d[r+(i*6|0)+2>>1]=e>>>u;d[r+(i*6|0)+4>>1]=n>>>u;i=i+1|0}while((i|0)!=(t|0));return}else{a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;f=h[e+32>>2]|0;i=0;do{t=k[o+(i*6|0)+2>>1]<>1]<>1]<>1]=(t+49152+((e+u|0)>>>2)&65535)>>>f;d[r+(i+n<<1)>>1]=e>>>f;d[r+(i+l<<1)>>1]=u>>>f;i=i+1|0}while((i|0)!=(a|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;s=n*3|0;f=h[e+32>>2]|0;i=0;do{u=d[o+(i<<3)+6>>1]|0;b=k[o+(i<<3)+2>>1]<>1]<>1]<>1]=(b+49152+((t+e|0)>>>2)&65535)>>>f;d[r+(i+n<<1)>>1]=t>>>f;d[r+(i+l<<1)>>1]=e>>>f;d[r+(i+s<<1)>>1]=u;i=i+1|0}while((i|0)!=(a|0));return}default:return}}function Or(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;Pr(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;Pr(e,w,r,t,n);v=d;return}function Rr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;n=v;v=v+176|0;r=n+152|0;s=n+16|0;a=n;if(!(i&1)){r=(i|0)/4|0;if((i|0)>3){t=0;do{s=e+(t<<2)|0;l=h[s>>2]|0;h[s>>2]=l>>>8&16711935|l<<8&-16711936;t=t+1|0}while((t|0)<(r|0))}if(!(i&3)){v=n;return}a=e+(i+-2)|0;s=e+(i+-1)|0;l=c[a>>0]|0;c[a>>0]=c[s>>0]|0;c[s>>0]=l;v=n;return}l=s+56|0;f=s+4|0;h[s>>2]=36160;h[l>>2]=36180;T=0;ve(62,s+56|0,f|0);n=T;T=0;if(n&1){s=Ze()|0;bh(l);si(s|0)}h[s+128>>2]=0;h[s+132>>2]=-1;h[s>>2]=36200;h[s+56>>2]=36220;T=0;pe(180,f|0);n=T;T=0;do{if(n&1)r=Ze()|0;else{h[f>>2]=36236;n=s+36|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[s+52>>2]=16;h[r>>2]=0;h[r+4>>2]=0;h[r+8>>2]=0;T=0;ve(63,f|0,r|0);e=T;T=0;if(e&1){s=Ze()|0;qd(r);qd(n);gh(f);r=s;break}qd(r);T=0;r=Ae(28,s|0,49087,24)|0;e=T;T=0;if((!(e&1)?(T=0,t=Oe(36,r|0,i|0)|0,i=T,T=0,!(i&1)):0)?(T=0,Ae(28,t|0,49112,20)|0,i=T,T=0,!(i&1)):0){e=Je(16)|0;T=0;ve(64,a|0,f|0);i=T;T=0;if(!(i&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,e|0,1,35648,a|0);i=T;T=0;if(i&1)t=1;else{T=0;xe(6,e|0,824,96);T=0;t=0}r=Ze()|0;qd(a);if(!t){a=r;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}}else r=Ze()|0;We(e|0);a=r;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}a=Ze()|0;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}}while(0);s=r;bh(l);si(s|0)}function Lr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0,p=0;o=e+4|0;f=h[o>>2]|0;e:do{switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)<=0)break e;f=e+40|0;e=0;do{n=h[f>>2]|0;l=k[i+(e*6|0)+2>>1]<>1]<>1]<>2)+16384|0;d[r+(e*6|0)>>1]=(a+32768+s&65535)>>>n;d[r+(e*6|0)+2>>1]=(s&65535)>>>n;d[r+(e*6|0)+4>>1]=(l+32768+s&65535)>>>n;e=e+1|0}while((e|0)!=(t|0))}else{a=(t|0)<(n|0)?t:n;if((a|0)<=0)break e;l=n<<1;f=e+40|0;e=0;do{s=h[f>>2]|0;b=k[i+(e+n<<1)>>1]<>1]<>1]<>2)+16384|0;d[r+(e*6|0)>>1]=(w+32768+u&65535)>>>s;d[r+(e*6|0)+2>>1]=(u&65535)>>>s;d[r+(e*6|0)+4>>1]=(b+32768+u&65535)>>>s;e=e+1|0}while((e|0)!=(a|0))}break}case 4:{if((h[f+24>>2]|0)==1?(s=(t|0)<(n|0)?t:n,(s|0)>0):0){l=n<<1;f=e+40|0;e=n*3|0;a=0;do{w=h[f>>2]|0;b=k[i+(a+n<<1)>>1]<>1]<>1]<>2)+16384|0;_=d[i+(a+e<<1)>>1]|0;p=Bm((u&65535)>>>w&65535|0,0,16)|0;b=(b+32768+u&65535)>>>w|H;_=Bm(_&65535|0,0,48)|0;_=p|(m+32768+u&65535)>>>w&65535|_;b=b&65535|H;w=r+(a<<3)|0;u=w;d[u>>1]=_;d[u+2>>1]=_>>>16;w=w+4|0;d[w>>1]=b;d[w+2>>1]=b>>>16;a=a+1|0}while((a|0)!=(s|0))}break}default:{}}}while(0);f=h[o>>2]|0;if(!(c[f+32>>0]|0))return;a=h[f+16>>2]|0;if((t|0)<=0)return;f=r;e=0;while(1){p=f+4|0;m=d[f>>1]|0;d[f>>1]=d[p>>1]|0;d[p>>1]=m;e=e+1|0;if((e|0)==(t|0))break;else f=f+(a<<1)|0}return}function Cr(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36340;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function Dr(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36340;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function xr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+48|0;if(!(h[n>>2]|0)){l=e+52|0;Fr(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;Fr(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function Ir(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+48>>2]|0;if(!n){n=e+52|0;Br(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Nr(e,n,i,r,t);return}}function Br(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0;s=e+4|0;f=h[s>>2]|0;do{if(!(c[f+32>>0]|0))o=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*6|0)|0;f=h[s>>2]|0;l=h[f+16>>2]|0;if((t|0)<=0){o=h[a>>2]|0;break}i=h[a>>2]|0;f=i;a=0;while(1){o=f+4|0;u=d[f>>1]|0;d[f>>1]=d[o>>1]|0;d[o>>1]=u;a=a+1|0;if((a|0)==(t|0))break;else f=f+(l<<1)|0}o=i;f=h[s>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:if((h[f+24>>2]|0)==2){if((t|0)<=0)return;f=e+32|0;i=0;do{n=h[f>>2]|0;s=k[o+(i*6|0)>>1]<>1]<>1]<>>1)&65535)>>>n&65535;d[r+(i*6|0)>>1]=(s+32768-e&65535)>>>n;d[r+(i*6|0)+2>>1]=(e&65535)>>>n;d[r+(i*6|0)+4>>1]=u;i=i+1|0}while((i|0)!=(t|0));return}else{a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;f=h[e+32>>2]|0;i=0;do{t=k[o+(i*6|0)>>1]<>1]<>1]<>>1)&65535)>>>f&65535;d[r+(i<<1)>>1]=(t+32768-e&65535)>>>f;d[r+(i+n<<1)>>1]=(e&65535)>>>f;d[r+(i+l<<1)>>1]=u;i=i+1|0}while((i|0)!=(a|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;s=n*3|0;f=h[e+32>>2]|0;i=0;do{u=d[o+(i<<3)+6>>1]|0;b=k[o+(i<<3)>>1]<>1]<>1]<>>1)&65535)>>>f&65535;d[r+(i<<1)>>1]=(b+32768-t&65535)>>>f;d[r+(i+n<<1)>>1]=(t&65535)>>>f;d[r+(i+l<<1)>>1]=e;d[r+(i+s<<1)>>1]=u;i=i+1|0}while((i|0)!=(a|0));return}default:return}}function Nr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;Br(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;Br(e,w,r,t,n);v=d;return}function Fr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;o=e+4|0;f=h[o>>2]|0;e:do{switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)<=0)break e;f=e+40|0;e=0;do{s=h[f>>2]|0;l=k[i+(e*6|0)+2>>1]<>1]<>1]<>>1)&65535)>>>s&65535;d[r+(e*6|0)>>1]=a>>>s;d[r+(e*6|0)+2>>1]=l>>>s;d[r+(e*6|0)+4>>1]=n;e=e+1|0}while((e|0)!=(t|0))}else{a=(t|0)<(n|0)?t:n;if((a|0)<=0)break e;l=n<<1;f=e+40|0;e=0;do{u=h[f>>2]|0;b=k[i+(e+n<<1)>>1]<>1]<>1]<>>1)&65535)>>>u&65535;d[r+(e*6|0)>>1]=w>>>u;d[r+(e*6|0)+2>>1]=b>>>u;d[r+(e*6|0)+4>>1]=s;e=e+1|0}while((e|0)!=(a|0))}break}case 4:{if((h[f+24>>2]|0)==1?(s=(t|0)<(n|0)?t:n,(s|0)>0):0){l=n<<1;f=e+40|0;e=n*3|0;a=0;do{u=h[f>>2]|0;w=k[i+(a+n<<1)>>1]<>1]<>1]<>>1)&65535)>>>u;_=d[i+(a+e<<1)>>1]|0;w=Bm(w>>>u&65535|0,0,16)|0;b=H|b;_=Bm(_&65535|0,0,48)|0;_=m>>>u&65535|w|_;b=b&65535|H;w=r+(a<<3)|0;u=w;d[u>>1]=_;d[u+2>>1]=_>>>16;w=w+4|0;d[w>>1]=b;d[w+2>>1]=b>>>16;a=a+1|0}while((a|0)!=(s|0))}break}default:{}}}while(0);f=h[o>>2]|0;if(!(c[f+32>>0]|0))return;a=h[f+16>>2]|0;if((t|0)<=0)return;f=r;e=0;while(1){m=f+4|0;_=d[f>>1]|0;d[f>>1]=d[m>>1]|0;d[m>>1]=_;e=e+1|0;if((e|0)==(t|0))break;else f=f+(a<<1)|0}return}function Ur(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36364;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function jr(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36364;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function Hr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+48|0;if(!(h[n>>2]|0)){l=e+52|0;zr(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;zr(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function Yr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+48>>2]|0;if(!n){n=e+52|0;qr(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Xr(e,n,i,r,t);return}}function qr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;s=e+4|0;f=h[s>>2]|0;do{if(!(c[f+32>>0]|0))o=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*6|0)|0;f=h[s>>2]|0;l=h[f+16>>2]|0;if((t|0)<=0){o=h[a>>2]|0;break}i=h[a>>2]|0;f=i;a=0;while(1){o=f+4|0;u=d[f>>1]|0;d[f>>1]=d[o>>1]|0;d[o>>1]=u;a=a+1|0;if((a|0)==(t|0))break;else f=f+(l<<1)|0}o=i;f=h[s>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:if((h[f+24>>2]|0)==2){if((t|0)<=0)return;f=e+32|0;i=0;do{n=h[f>>2]|0;e=k[o+(i*6|0)+2>>1]<>1]<>>n&65535;d[r+(i*6|0)>>1]=((k[o+(i*6|0)>>1]<>>n;d[r+(i*6|0)+2>>1]=(e&65535)>>>n;d[r+(i*6|0)+4>>1]=u;i=i+1|0}while((i|0)!=(t|0));return}else{a=(n|0)<(t|0)?n:t;if((a|0)<=0)return;l=n<<1;f=h[e+32>>2]|0;i=0;do{e=k[o+(i*6|0)+2>>1]<>1]<>>f&65535;d[r+(i<<1)>>1]=((k[o+(i*6|0)>>1]<>>f;d[r+(i+n<<1)>>1]=(e&65535)>>>f;d[r+(i+l<<1)>>1]=u;i=i+1|0}while((i|0)!=(a|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;l=(n|0)<(t|0)?n:t;if((l|0)<=0)return;s=n<<1;a=n*3|0;f=h[e+32>>2]|0;i=0;do{u=d[o+(i<<3)+6>>1]|0;t=k[o+(i<<3)+2>>1]<>1]<>>f&65535;d[r+(i<<1)>>1]=((k[o+(i<<3)>>1]<>>f;d[r+(i+n<<1)>>1]=(t&65535)>>>f;d[r+(i+s<<1)>>1]=e;d[r+(i+a<<1)>>1]=u;i=i+1|0}while((i|0)!=(l|0));return}default:return}}function Xr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;qr(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;qr(e,w,r,t,n);v=d;return}function zr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;o=e+4|0;f=h[o>>2]|0;e:do{switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)<=0)break e;f=e+40|0;e=0;do{s=h[f>>2]|0;l=k[i+(e*6|0)+2>>1]<>1]<>>s&65535;d[r+(e*6|0)>>1]=((k[i+(e*6|0)>>1]<>>s;d[r+(e*6|0)+2>>1]=(l&65535)>>>s;d[r+(e*6|0)+4>>1]=n;e=e+1|0}while((e|0)!=(t|0))}else{a=(t|0)<(n|0)?t:n;if((a|0)<=0)break e;l=n<<1;f=e+40|0;e=0;do{u=h[f>>2]|0;b=k[i+(e+n<<1)>>1]<>1]<>>u&65535;d[r+(e*6|0)>>1]=((k[i+(e<<1)>>1]<>>u;d[r+(e*6|0)+2>>1]=(b&65535)>>>u;d[r+(e*6|0)+4>>1]=s;e=e+1|0}while((e|0)!=(a|0))}break}case 4:{if((h[f+24>>2]|0)==1?(s=(t|0)<(n|0)?t:n,(s|0)>0):0){l=n<<1;f=e+40|0;e=n*3|0;a=0;do{w=h[f>>2]|0;m=k[i+(a+n<<1)>>1]<>1]<>>w;u=(m+32768+(k[i+(a+l<<1)>>1]<>>w;_=d[i+(a+e<<1)>>1]|0;w=Bm((m&65535)>>>w&65535|0,0,16)|0;u=u|H;_=Bm(_&65535|0,0,48)|0;_=w|b&65535|_;u=u&65535|H;b=r+(a<<3)|0;w=b;d[w>>1]=_;d[w+2>>1]=_>>>16;b=b+4|0;d[b>>1]=u;d[b+2>>1]=u>>>16;a=a+1|0}while((a|0)!=(s|0))}break}default:{}}}while(0);f=h[o>>2]|0;if(!(c[f+32>>0]|0))return;a=h[f+16>>2]|0;if((t|0)<=0)return;f=r;e=0;while(1){m=f+4|0;_=d[f>>1]|0;d[f>>1]=d[m>>1]|0;d[m>>1]=_;e=e+1|0;if((e|0)==(t|0))break;else f=f+(a<<1)|0}return}function Vr(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0;d=v;v=v+16|0;o=d;u=h[e>>2]|0;if(!u){e=0;v=d;return e|0}b=i;l=t-b|0;s=n+12|0;a=h[s>>2]|0;l=(a|0)>(l|0)?a-l|0:0;a=r;n=a-b|0;if((n|0)>0?(vE[h[(h[u>>2]|0)+48>>2]&63](u,i,n)|0)!=(n|0):0){h[e>>2]=0;b=0;v=d;return b|0}do{if((l|0)>0){Yd(o,l,f);T=0;n=Ae(h[(h[u>>2]|0)+48>>2]|0,u|0,((c[o>>0]&1)==0?o+1|0:h[o+8>>2]|0)|0,l|0)|0;b=T;T=0;if(b&1){b=Ze()|0;qd(o);si(b|0)}if((n|0)==(l|0)){qd(o);break}h[e>>2]=0;qd(o);b=0;v=d;return b|0}}while(0);t=t-a|0;if((t|0)>0?(vE[h[(h[u>>2]|0)+48>>2]&63](u,r,t)|0)!=(t|0):0){h[e>>2]=0;b=0;v=d;return b|0}h[s>>2]=0;b=u;v=d;return b|0}function Gr(e){e=e|0;h[e>>2]=36236;qd(e+32|0);gh(e);return}function Kr(e){e=e|0;h[e>>2]=36236;qd(e+32|0);gh(e);zv(e);return}function Wr(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=i+44|0;l=h[a>>2]|0;o=i+24|0;u=h[o>>2]|0;if(l>>>0>>0){h[a>>2]=u;l=u}s=l;a=f&24;if(!a){i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}if((n|0)==1&(a|0)==24){i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}e:do{switch(n|0){case 0:{a=0;n=0;break}case 1:if(!(f&8)){n=u-(h[i+20>>2]|0)|0;a=n;n=((n|0)<0)<<31>>31;break e}else{n=(h[i+12>>2]|0)-(h[i+8>>2]|0)|0;a=n;n=((n|0)<0)<<31>>31;break e}case 2:{a=i+32|0;if(!(c[a>>0]&1))a=a+1|0;else a=h[i+40>>2]|0;n=l-a|0;a=n;n=((n|0)<0)<<31>>31;break}default:{i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}}}while(0);n=Dm(a|0,n|0,r|0,t|0)|0;r=H;if((r|0)>=0){a=i+32|0;if(!(c[a>>0]&1))a=a+1|0;else a=h[i+40>>2]|0;t=l-a|0;l=((t|0)<0)<<31>>31;if(!((l|0)<(r|0)|(l|0)==(r|0)&t>>>0>>0)){a=f&8;if(!((n|0)==0&(r|0)==0)){if((a|0)!=0?(h[i+12>>2]|0)==0:0){i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}if((f&16|0)!=0&(u|0)==0){i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}}if(a){h[i+12>>2]=(h[i+8>>2]|0)+n;h[i+16>>2]=s}if(f&16)h[o>>2]=(h[i+20>>2]|0)+n;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=n;h[i+4>>2]=r;return}}i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function Jr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=r+8|0;yE[h[(h[i>>2]|0)+16>>2]&15](e,i,h[r>>2]|0,h[r+4>>2]|0,0,t);return}function Zr(e){e=e|0;var i=0,r=0,t=0,n=0;i=e+44|0;r=h[i>>2]|0;t=h[e+24>>2]|0;if(r>>>0>>0){h[i>>2]=t;r=t}if(!(h[e+48>>2]&8)){e=-1;return e|0}n=e+16|0;i=h[n>>2]|0;t=e+12|0;if(i>>>0>>0){t=h[t>>2]|0;h[n>>2]=r;i=r}else t=h[t>>2]|0;if(t>>>0>=i>>>0){e=-1;return e|0}e=b[t>>0]|0;return e|0}function Qr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;t=e+44|0;r=h[t>>2]|0;n=h[e+24>>2]|0;if(r>>>0>>0){h[t>>2]=n;r=n}l=e+8|0;t=h[l>>2]|0;s=e+12|0;f=h[s>>2]|0;a=t;if(t>>>0>=f>>>0){e=-1;return e|0}if((i|0)==-1){h[l>>2]=t;h[s>>2]=f+-1;h[e+16>>2]=r;e=0;return e|0}if(!(h[e+48>>2]&16)){n=i&255;t=f+-1|0;if(n<<24>>24!=(c[t>>0]|0)){e=-1;return e|0}}else{n=i&255;t=f+-1|0}h[l>>2]=a;h[s>>2]=t;h[e+16>>2]=r;c[t>>0]=n;e=i;return e|0}function $r(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0;_=v;v=v+16|0;u=_;if((i|0)==-1){e=0;v=_;return e|0}d=e+12|0;b=e+8|0;k=(h[d>>2]|0)-(h[b>>2]|0)|0;w=e+24|0;r=h[w>>2]|0;o=e+28|0;t=h[o>>2]|0;do{if((r|0)==(t|0)){l=e+48|0;if(!(h[l>>2]&16)){e=-1;v=_;return e|0}s=e+20|0;a=h[s>>2]|0;n=r-a|0;f=e+44|0;a=(h[f>>2]|0)-a|0;t=e+32|0;T=0;ve(67,t|0,0);r=T;T=0;if(!(r&1)){if(!(c[t>>0]&1))r=10;else r=(h[t>>2]&-2)+-1|0;T=0;xe(8,t|0,r|0,0);r=T;T=0;if(!(r&1)){r=c[t>>0]|0;if(!(r&1)){t=t+1|0;r=(r&255)>>>1}else{t=h[e+40>>2]|0;r=h[e+36>>2]|0}m=t+r|0;h[s>>2]=t;h[o>>2]=m;s=t+n|0;h[w>>2]=s;r=t+a|0;h[f>>2]=r;t=m;break}}m=Ze(0)|0;fi(m|0)|0;li();m=-1;v=_;return m|0}else{m=e+44|0;l=e+48|0;f=m;s=r;r=h[m>>2]|0}}while(0);a=s+1|0;h[u>>2]=a;n=h[(a>>>0>>0?f:u)>>2]|0;h[f>>2]=n;if(h[l>>2]&8){r=e+32|0;if(!(c[r>>0]&1))r=r+1|0;else r=h[e+40>>2]|0;h[b>>2]=r;h[d>>2]=r+k;h[e+16>>2]=n}if((s|0)==(t|0)){m=ME[h[(h[e>>2]|0)+52>>2]&63](e,i&255)|0;v=_;return m|0}else{h[w>>2]=a;c[s>>0]=i;m=i&255;v=_;return m|0}return 0}function et(e){e=e|0;var i=0,r=0;h[e>>2]=36200;i=e+56|0;h[i>>2]=36220;r=e+4|0;h[r>>2]=36236;qd(e+36|0);gh(r);bh(i);return}function it(e){e=e|0;var i=0,r=0;h[e>>2]=36200;i=e+56|0;h[i>>2]=36220;r=e+4|0;h[r>>2]=36236;qd(e+36|0);gh(r);bh(i);zv(e);return}function rt(e){e=e|0;var i=0,r=0,t=0,n=0;n=h[(h[e>>2]|0)+-12>>2]|0;i=e+n|0;h[i>>2]=36200;r=e+(n+56)|0;h[r>>2]=36220;t=e+(n+4)|0;h[t>>2]=36236;qd(e+(n+36)|0);gh(t);bh(r);zv(i);return}function tt(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36388;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function nt(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36388;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function ft(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+36|0;if(!(h[n>>2]|0)){l=e+40|0;ot(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;ot(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function at(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;lt(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{st(e,n,i,r,t);return}}function lt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;l=e+4|0;f=h[l>>2]|0;do{if(!(c[f+32>>0]|0))s=i;else{e=e+8|0;Im(h[e>>2]|0,i|0,t*6|0)|0;f=h[l>>2]|0;a=h[f+16>>2]|0;if((t|0)<=0){s=h[e>>2]|0;break}e=h[e>>2]|0;f=e;i=0;while(1){s=f+4|0;o=d[f>>1]|0;d[f>>1]=d[s>>1]|0;d[s>>1]=o;i=i+1|0;if((i|0)==(t|0))break;else f=f+(a<<1)|0}s=e;f=h[l>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{l=k[s+(f*6|0)+2>>1]|0;n=32768-l+(k[s+(f*6|0)+4>>1]|0)|0;o=(k[s+(f*6|0)>>1]|0)-l+32768|0;d[r+(f*6|0)>>1]=l+49152+(((n&65535)+(o&65535)|0)>>>2);d[r+(f*6|0)+2>>1]=n;d[r+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{l=k[s+(i*6|0)+2>>1]|0;t=32768-l+(k[s+(i*6|0)+4>>1]|0)|0;o=(k[s+(i*6|0)>>1]|0)-l+32768|0;d[r+(i<<1)>>1]=l+49152+(((t&65535)+(o&65535)|0)>>>2);d[r+(i+n<<1)>>1]=t;d[r+(i+e<<1)>>1]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{o=d[s+(a<<3)+6>>1]|0;u=k[s+(a<<3)+2>>1]|0;l=32768-u+(k[s+(a<<3)+4>>1]|0)|0;t=(k[s+(a<<3)>>1]|0)-u+32768|0;d[r+(a<<1)>>1]=u+49152+(((l&65535)+(t&65535)|0)>>>2);d[r+(a+n<<1)>>1]=l;d[r+(a+e<<1)>>1]=t;d[r+(a+i<<1)>>1]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function st(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;lt(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;lt(e,w,r,t,n);v=d;return}function ot(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){l=k[i+(e*6|0)+2>>1]|0;a=k[i+(e*6|0)+4>>1]|0;n=(k[i+(e*6|0)>>1]|0)-((a+l|0)>>>2)+16384|0;d[r+(e*6|0)>>1]=a+32768+n;d[r+(e*6|0)+2>>1]=n;d[r+(e*6|0)+4>>1]=l+32768+n;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{o=k[i+(a+n<<1)>>1]|0;u=k[i+(a+f<<1)>>1]|0;l=(k[i+(a<<1)>>1]|0)-((u+o|0)>>>2)+16384|0;d[r+(a*6|0)>>1]=u+32768+l;d[r+(a*6|0)+2>>1]=l;d[r+(a*6|0)+4>>1]=o+32768+l;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{o=k[i+(a+n<<1)>>1]|0;b=k[i+(a+e<<1)>>1]|0;u=(k[i+(a<<1)>>1]|0)-((b+o|0)>>>2)+16384|0;w=d[i+(a+f<<1)>>1]|0;_=Bm(u&65535|0,0,16)|0;o=o+32768+u|H;w=Bm(w&65535|0,0,48)|0;w=_|b+32768+u&65535|w;o=o&65535|H;u=r+(a<<3)|0;b=u;d[b>>1]=w;d[b+2>>1]=w>>>16;u=u+4|0;d[u>>1]=o;d[u+2>>1]=o>>>16;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)<=0)return;e=r;f=0;while(1){_=e+4|0;w=d[e>>1]|0;d[e>>1]=d[_>>1]|0;d[_>>1]=w;f=f+1|0;if((f|0)==(t|0))break;else e=e+(a<<1)|0}return}function ut(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36412;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function ct(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36412;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function dt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+36|0;if(!(h[n>>2]|0)){l=e+40|0;wt(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;wt(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function ht(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;bt(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{kt(e,n,i,r,t);return}}function bt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0;l=e+4|0;f=h[l>>2]|0;do{if(!(c[f+32>>0]|0))s=i;else{e=e+8|0;Im(h[e>>2]|0,i|0,t*6|0)|0;f=h[l>>2]|0;a=h[f+16>>2]|0;if((t|0)<=0){s=h[e>>2]|0;break}e=h[e>>2]|0;f=e;i=0;while(1){s=f+4|0;o=d[f>>1]|0;d[f>>1]=d[s>>1]|0;d[s>>1]=o;i=i+1|0;if((i|0)==(t|0))break;else f=f+(a<<1)|0}s=e;f=h[l>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{a=k[s+(f*6|0)>>1]|0;n=d[s+(f*6|0)+2>>1]|0;l=n&65535;o=(k[s+(f*6|0)+4>>1]|0)+32768-((l+a|0)>>>1)&65535;d[r+(f*6|0)>>1]=a+32768-l;d[r+(f*6|0)+2>>1]=n;d[r+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{t=d[s+(i*6|0)+2>>1]|0;a=k[s+(i*6|0)>>1]|0;l=t&65535;o=(k[s+(i*6|0)+4>>1]|0)+32768-((l+a|0)>>>1)&65535;d[r+(i<<1)>>1]=a+32768-l;d[r+(i+n<<1)>>1]=t;d[r+(i+e<<1)>>1]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{l=d[s+(a<<3)+2>>1]|0;o=d[s+(a<<3)+6>>1]|0;b=k[s+(a<<3)>>1]|0;u=l&65535;t=(k[s+(a<<3)+4>>1]|0)+32768-((u+b|0)>>>1)&65535;d[r+(a<<1)>>1]=b+32768-u;d[r+(a+n<<1)>>1]=l;d[r+(a+e<<1)>>1]=t;d[r+(a+i<<1)>>1]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function kt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;bt(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;bt(e,w,r,t,n);v=d;return}function wt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){l=d[i+(e*6|0)+2>>1]|0;n=l&65535;a=(k[i+(e*6|0)>>1]|0)+32768+n|0;n=(k[i+(e*6|0)+4>>1]|0)+32768+(((a&65535)+n|0)>>>1)&65535;d[r+(e*6|0)>>1]=a;d[r+(e*6|0)+2>>1]=l;d[r+(e*6|0)+4>>1]=n;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{o=d[i+(a+n<<1)>>1]|0;l=o&65535;u=(k[i+(a<<1)>>1]|0)+32768+l|0;l=(k[i+(a+f<<1)>>1]|0)+32768+(((u&65535)+l|0)>>>1)&65535;d[r+(a*6|0)>>1]=u;d[r+(a*6|0)+2>>1]=o;d[r+(a*6|0)+4>>1]=l;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=d[i+(a+n<<1)>>1]|0;o=u&65535;b=(k[i+(a<<1)>>1]|0)+32768+o&65535;o=(k[i+(a+e<<1)>>1]|0)+32768+((b+o|0)>>>1)|0;w=d[i+(a+f<<1)>>1]|0;u=Bm(u&65535|0,0,16)|0;o=H|o;w=Bm(w&65535|0,0,48)|0;w=b|u|w;o=o&65535|H;u=r+(a<<3)|0;b=u;d[b>>1]=w;d[b+2>>1]=w>>>16;u=u+4|0;d[u>>1]=o;d[u+2>>1]=o>>>16;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)<=0)return;e=r;f=0;while(1){w=e+4|0;b=d[e>>1]|0;d[e>>1]=d[w>>1]|0;d[w>>1]=b;f=f+1|0;if((f|0)==(t|0))break;else e=e+(a<<1)|0}return}function _t(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36436;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function mt(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36436;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function pt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+36|0;if(!(h[n>>2]|0)){l=e+40|0;Et(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;Et(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function vt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;gt(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{yt(e,n,i,r,t);return}}function gt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;l=e+4|0;f=h[l>>2]|0;do{if(!(c[f+32>>0]|0))s=i;else{e=e+8|0;Im(h[e>>2]|0,i|0,t*6|0)|0;f=h[l>>2]|0;a=h[f+16>>2]|0;if((t|0)<=0){s=h[e>>2]|0;break}e=h[e>>2]|0;f=e;i=0;while(1){s=f+4|0;o=d[f>>1]|0;d[f>>1]=d[s>>1]|0;d[s>>1]=o;i=i+1|0;if((i|0)==(t|0))break;else f=f+(a<<1)|0}s=e;f=h[l>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{n=d[s+(f*6|0)+2>>1]|0;l=n&65535;o=32768-l+(k[s+(f*6|0)+4>>1]|0)&65535;d[r+(f*6|0)>>1]=(k[s+(f*6|0)>>1]|0)+32768-l;d[r+(f*6|0)+2>>1]=n;d[r+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{t=d[s+(i*6|0)+2>>1]|0;l=t&65535;o=32768-l+(k[s+(i*6|0)+4>>1]|0)&65535;d[r+(i<<1)>>1]=(k[s+(i*6|0)>>1]|0)+32768-l;d[r+(i+n<<1)>>1]=t;d[r+(i+e<<1)>>1]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{l=d[s+(a<<3)+2>>1]|0;o=d[s+(a<<3)+6>>1]|0;u=l&65535;t=32768-u+(k[s+(a<<3)+4>>1]|0)&65535;d[r+(a<<1)>>1]=(k[s+(a<<3)>>1]|0)+32768-u;d[r+(a+n<<1)>>1]=l;d[r+(a+e<<1)>>1]=t;d[r+(a+i<<1)>>1]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function yt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;gt(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;gt(e,w,r,t,n);v=d;return}function Et(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){l=d[i+(e*6|0)+2>>1]|0;a=l&65535;n=a+32768+(k[i+(e*6|0)+4>>1]|0)&65535;d[r+(e*6|0)>>1]=(k[i+(e*6|0)>>1]|0)+32768+a;d[r+(e*6|0)+2>>1]=l;d[r+(e*6|0)+4>>1]=n;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{o=d[i+(a+n<<1)>>1]|0;u=o&65535;l=u+32768+(k[i+(a+f<<1)>>1]|0)&65535;d[r+(a*6|0)>>1]=(k[i+(a<<1)>>1]|0)+32768+u;d[r+(a*6|0)+2>>1]=o;d[r+(a*6|0)+4>>1]=l;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=d[i+(a+n<<1)>>1]|0;o=u&65535;b=(k[i+(a<<1)>>1]|0)+32768+o|0;o=o+32768+(k[i+(a+e<<1)>>1]|0)|0;w=d[i+(a+f<<1)>>1]|0;u=Bm(u&65535|0,0,16)|0;o=H|o;w=Bm(w&65535|0,0,48)|0;w=b&65535|u|w;o=o&65535|H;u=r+(a<<3)|0;b=u;d[b>>1]=w;d[b+2>>1]=w>>>16;u=u+4|0;d[u>>1]=o;d[u+2>>1]=o>>>16;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)<=0)return;e=r;f=0;while(1){w=e+4|0;b=d[e>>1]|0;d[e>>1]=d[w>>1]|0;d[w>>1]=b;f=f+1|0;if((f|0)==(t|0))break;else e=e+(a<<1)|0}return}function At(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36460;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t)return;i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);return}function Mt(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=36460;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}t=h[e+8>>2]|0;if(!t){zv(e);return}i=e+12|0;r=h[i>>2]|0;if((r|0)!=(t|0))h[i>>2]=r+(~((r+-2-t|0)>>>1)<<1);zv(t);zv(e);return}function Tt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+36|0;if(!(h[n>>2]|0)){l=e+40|0;Rt(e,i,h[l>>2]|0,r,t);h[l>>2]=(h[l>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}s=e+4|0;f=r<<1;a=ce(f,h[(h[s>>2]|0)+16>>2]|0)|0;l=e+20|0;Rt(e,i,h[l>>2]|0,r,t);i=h[s>>2]|0;if((h[i+28>>2]|0)==536870912)Rr(h[l>>2]|0,ce(f,h[i+16>>2]|0)|0);s=h[n>>2]|0;if((vE[h[(h[s>>2]|0)+48>>2]&63](s,h[l>>2]|0,a)|0)==(a|0))return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,3,35648);s=T;T=0;if(s&1){s=Ze()|0;We(i|0);si(s|0)}else Ei(i|0,824,96)}function St(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;Pt(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Ot(e,n,i,r,t);return}}function Pt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0;l=e+4|0;f=h[l>>2]|0;do{if(!(c[f+32>>0]|0))s=i;else{e=e+8|0;Im(h[e>>2]|0,i|0,t*6|0)|0;f=h[l>>2]|0;a=h[f+16>>2]|0;if((t|0)<=0){s=h[e>>2]|0;break}e=h[e>>2]|0;f=e;i=0;while(1){s=f+4|0;o=d[f>>1]|0;d[f>>1]=d[s>>1]|0;d[s>>1]=o;i=i+1|0;if((i|0)==(t|0))break;else f=f+(a<<1)|0}s=e;f=h[l>>2]|0}}while(0);switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{n=d[s+(f*6|0)+2>>1]|0;o=d[s+(f*6|0)+4>>1]|0;d[r+(f*6|0)>>1]=d[s+(f*6|0)>>1]|0;d[r+(f*6|0)+2>>1]=n;d[r+(f*6|0)+4>>1]=o;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{t=d[s+(i*6|0)+2>>1]|0;o=d[s+(i*6|0)+4>>1]|0;d[r+(i<<1)>>1]=d[s+(i*6|0)>>1]|0;d[r+(i+n<<1)>>1]=t;d[r+(i+e<<1)>>1]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{l=d[s+(a<<3)+2>>1]|0;t=d[s+(a<<3)+4>>1]|0;o=d[s+(a<<3)+6>>1]|0;d[r+(a<<1)>>1]=d[s+(a<<3)>>1]|0;d[r+(a+n<<1)>>1]=l;d[r+(a+e<<1)>>1]=t;d[r+(a+i<<1)>>1]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function Ot(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=v;v=v+176|0;b=d+152|0;w=d+16|0;k=d;s=e+4|0;f=h[s>>2]|0;u=t<<1;a=ce(u,h[f+16>>2]|0)|0;do{if(a){l=e+20|0;while(1){f=vE[h[(h[i>>2]|0)+32>>2]&63](i,h[l>>2]|0,a)|0;if(!f)break;if((a|0)==(f|0)){o=26;break}else a=a-f|0}if((o|0)==26){f=h[s>>2]|0;break}o=w+56|0;s=w+4|0;h[w>>2]=36160;h[o>>2]=36180;T=0;ve(62,w+56|0,s|0);d=T;T=0;if(d&1){w=Ze()|0;bh(o);si(w|0)}h[w+128>>2]=0;h[w+132>>2]=-1;h[w>>2]=36200;h[w+56>>2]=36220;T=0;pe(180,s|0);d=T;T=0;do{if(d&1)f=Ze()|0;else{h[s>>2]=36236;i=w+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[w+52>>2]=16;h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;T=0;ve(63,s|0,b|0);d=T;T=0;if(d&1){f=Ze()|0;qd(b);qd(i);gh(s);break}qd(b);T=0;f=Ae(28,w|0,49029,57)|0;b=T;T=0;if(!(b&1)?(T=0,Oe(36,f|0,0)|0,b=T,T=0,!(b&1)):0){l=Je(16)|0;T=0;ve(64,k|0,s|0);b=T;T=0;if(!(b&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,k|0);b=T;T=0;if(b&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(k);if(!a){k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}else f=Ze()|0;We(l|0);k=f;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}k=Ze()|0;h[w>>2]=36200;h[o>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(o);si(k|0)}}while(0);w=f;bh(o);si(w|0)}}while(0);a=e+20|0;if((h[f+28>>2]|0)!=536870912){w=h[a>>2]|0;Pt(e,w,r,t,n);v=d;return}Rr(h[a>>2]|0,ce(u,h[f+16>>2]|0)|0);w=h[a>>2]|0;Pt(e,w,r,t,n);v=d;return}function Rt(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){l=d[i+(e*6|0)+2>>1]|0;n=d[i+(e*6|0)+4>>1]|0;d[r+(e*6|0)>>1]=d[i+(e*6|0)>>1]|0;d[r+(e*6|0)+2>>1]=l;d[r+(e*6|0)+4>>1]=n;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{o=d[i+(a+n<<1)>>1]|0;l=d[i+(a+f<<1)>>1]|0;d[r+(a*6|0)>>1]=d[i+(a<<1)>>1]|0;d[r+(a*6|0)+2>>1]=o;d[r+(a*6|0)+4>>1]=l;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{o=d[i+(a<<1)>>1]|0;w=d[i+(a+f<<1)>>1]|0;u=k[i+(a+e<<1)>>1]|0;b=Bm(k[i+(a+n<<1)>>1]|0,0,16)|0;u=H|u;w=Bm(w&65535|0,0,48)|0;w=b|o&65535|w;u=u&65535|H;o=r+(a<<3)|0;b=o;d[b>>1]=w;d[b+2>>1]=w>>>16;o=o+4|0;d[o>>1]=u;d[o+2>>1]=u>>>16;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)<=0)return;e=r;f=0;while(1){w=e+4|0;b=d[e>>1]|0;d[e>>1]=d[w>>1]|0;d[w>>1]=b;f=f+1|0;if((f|0)==(t|0))break;else e=e+(a<<1)|0}return}function Lt(e){e=e|0;return}function Ct(e){e=e|0;zv(e);return}function Dt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=ce(h[e+8>>2]|0,r)|0;e=h[e+4>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,i,r)|0)==(r|0))return;t=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,t|0,3,35648);e=T;T=0;if(e&1){e=Ze()|0;We(t|0);si(e|0)}else Ei(t|0,824,96)}function xt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;o=u;s=e+8|0;n=h[s>>2]|0;t=ce(n,r)|0;do{if(t){a=e+4|0;f=t;while(1){n=h[a>>2]|0;n=vE[h[(h[n>>2]|0)+32>>2]&63](n,i,f)|0;if(!n)break;t=f-n|0;if((f|0)==(n|0)){l=11;break}else f=t}if((l|0)==11){n=h[s>>2]|0;f=t;break}t=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,t|0,3,35648);e=T;T=0;if(e&1){e=Ze()|0;We(t|0);si(e|0)}else Ei(t|0,824,96)}else f=0}while(0);if((n|0)==2){Rr(i,r<<1);n=h[s>>2]|0}t=h[e+12>>2]|0;if((t|0)<=(ce(n,r)|0)){v=u;return}e=h[e+4>>2]|0;yE[h[(h[e>>2]|0)+16>>2]&15](o,e,t-f|0,0,1,24);v=u;return}function It(e){e=e|0;zv(e);return}function Bt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=e+4|0;Im(h[t>>2]|0,i|0,ce(h[e+8>>2]|0,r)|0)|0;h[t>>2]=(h[t>>2]|0)+(h[e+12>>2]|0);return}function Nt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=e+4|0;Im(i|0,h[t>>2]|0,ce(h[e+8>>2]|0,r)|0)|0;h[t>>2]=(h[t>>2]|0)+(h[e+12>>2]|0);return}function Ft(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;h[e+112>>2]=0;h[e+108>>2]=0;o=h[i>>2]|0;n=o;do{if(o){a=e+92|0;o=e+96|0;l=h[o>>2]|0;s=h[a>>2]|0;r=s;t=l-r|0;if(t>>>0>=4e4)if(t>>>0>4e4?(f=s+4e4|0,(l|0)!=(f|0)):0){h[o>>2]=f;f=r}else f=r;else{Ut(a,4e4-t|0);f=h[a>>2]|0;n=h[i>>2]|0}r=e+116|0;h[r>>2]=f;l=e+124|0;h[l>>2]=f;s=e+104|0;h[s>>2]=n;t=n;if(n){if((h[t+12>>2]|0)==(h[t+16>>2]|0)){i=(mE[h[(h[n>>2]|0)+36>>2]&127](t)|0)==-1;t=h[l>>2]|0;if(i)break;n=h[r>>2]|0}else{t=f;n=f}a=t-n|0;if(a>>>0<=64){f=e+92|0;if((t|0)==(n|0))t=n;else{t=n;n=0;do{c[(h[f>>2]|0)+n>>0]=c[t+n>>0]|0;n=n+1|0;t=h[r>>2]|0}while(n>>>0>>0);n=h[l>>2]|0}f=h[f>>2]|0;i=f;u=i-t|0;h[r>>2]=f;t=n+u|0;h[l>>2]=t;f=e+120|0;h[f>>2]=(h[f>>2]|0)+u;s=h[s>>2]|0;t=vE[h[(h[s>>2]|0)+32>>2]&63](s,t,(h[o>>2]|0)-(i+a)|0)|0;t=(h[l>>2]|0)+t|0;h[l>>2]=t}}else t=f}else{h[e+104>>2]=0;t=h[i+4>>2]|0;r=e+116|0;h[r>>2]=t;t=t+(h[i+8>>2]|0)|0;h[e+124>>2]=t}}while(0);r=h[r>>2]|0;if(r>>>0>=t>>>0){o=r;u=e+120|0;h[u>>2]=o;Jt(e);return}while(1){if((c[r>>0]|0)==-1){t=20;break}r=r+1|0;if(r>>>0>=t>>>0){t=20;break}}if((t|0)==20){u=e+120|0;h[u>>2]=r;Jt(e);return}}function Ut(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;s=e+8|0;n=h[s>>2]|0;o=e+4|0;r=h[o>>2]|0;t=r;if((n-t|0)>>>0>=i>>>0){do{c[r>>0]=0;r=(h[o>>2]|0)+1|0;h[o>>2]=r;i=i+-1|0}while((i|0)!=0);return}r=h[e>>2]|0;f=t-r+i|0;if((f|0)<0){Yv(e);n=h[s>>2]|0;r=h[e>>2]|0}t=n-r|0;if(t>>>0<1073741823){t=t<<1;t=t>>>0>>0?f:t;r=(h[o>>2]|0)-r|0;if(!t){n=0;a=0;f=r}else l=8}else{t=2147483647;r=(h[o>>2]|0)-r|0;l=8}if((l|0)==8){n=t;a=Xv(t)|0;f=r}r=a+f|0;n=a+n|0;t=r;do{c[t>>0]=0;t=r+1|0;r=t;i=i+-1|0}while((i|0)!=0);i=h[e>>2]|0;t=(h[o>>2]|0)-i|0;l=a+(f-t)|0;Im(l|0,i|0,t|0)|0;h[e>>2]=l;h[o>>2]=r;h[s>>2]=n;if(!i)return;zv(i);return}function jt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+32|0;y=p+12|0;m=p;k=e+180|0;w=(h[k>>2]|0)+4|0;if((h[e+32>>2]|0)==1)_=h[e+24>>2]|0;else _=1;i=ce(_<<1,w)|0;h[y>>2]=0;E=y+4|0;h[E>>2]=0;h[y+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,y|0),g=T,T=0,g&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,g=T,T=0,!(g&1)):0){h[y>>2]=t;g=t+(i<<1)|0;h[y+8>>2]=g;Cm(t|0,0,r|0)|0;h[E>>2]=g;break}t=Ze()|0;i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[m>>2]=0;g=m+4|0;h[g>>2]=0;h[m+8>>2]=0;do{if(!_)a=18;else{if(!(_>>>0>1073741823?(T=0,pe(178,m|0),b=T,T=0,b&1):0))a=16;if((a|0)==16?(n=_<<2,T=0,f=ye(67,n|0)|0,b=T,T=0,!(b&1)):0){h[m>>2]=f;a=f+(_<<2)|0;h[m+8>>2]=a;Cm(f|0,0,n|0)|0;h[g>>2]=a;a=18;break}t=Ze()|0;i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+12|0;e:do{if((h[f>>2]|0)>0){a=e+4604|0;l=(ce(_,w)|0)+1|0;s=e+4608|0;o=e+92|0;u=(_|0)>0;c=e+4600|0;b=0;i:while(1){r=h[y>>2]|0;i=r+2|0;h[a>>2]=i;r=r+(l<<1)|0;h[s>>2]=r;if(!(b&1))i=r;else{h[a>>2]=r;h[s>>2]=i}n=h[o>>2]|0;T=0;Fe(h[(h[n>>2]|0)+12>>2]|0,n|0,i|0,h[k>>2]|0,w|0);n=T;T=0;if(n&1){a=28;break}if(u){i=h[a>>2]|0;r=h[s>>2]|0;t=h[m>>2]|0;n=0;do{h[c>>2]=h[t+(n<<2)>>2];t=h[k>>2]|0;d[i+(t<<1)>>1]=d[i+(t+-1<<1)>>1]|0;d[r+-2>>1]=d[i>>1]|0;T=0;ve(68,e|0,0);t=T;T=0;if(t&1){a=27;break i}t=h[m>>2]|0;h[t+(n<<2)>>2]=h[c>>2];i=(h[a>>2]|0)+(w<<1)|0;h[a>>2]=i;r=(h[s>>2]|0)+(w<<1)|0;h[s>>2]=r;n=n+1|0}while((n|0)<(_|0))}b=b+1|0;if((b|0)>=(h[f>>2]|0)){a=40;break e}}if((a|0)==27){t=Ze()|0;break}else if((a|0)==28){t=Ze()|0;break}}else a=40}while(0);do{if((a|0)==40){T=0;pe(182,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[m>>2]|0;r=i;if(i){t=h[g>>2]|0;if((t|0)!=(i|0))h[g>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[y>>2]|0;if(!i){v=p;return}r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=p;return}}while(0);i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function Ht(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4604|0;i=h[b>>2]|0;m=e+180|0;if((h[m>>2]|0)<=0)return;w=e+4608|0;_=e+4612|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(Vt(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=zt(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function Yt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;n=e+104|0;if((h[n>>2]|0)>>>0<4)qt(e);f=e+100|0;a=e+112|0;l=e+96|0;s=e+108|0;o=e+116|0;i=h[f>>2]|0;t=0;do{r=c[a>>0]|0;if((i|0)>31)break;i=h[l>>2]|0;if(!(r<<24>>24)){c[h[s>>2]>>0]=i>>>24;h[l>>2]=h[l>>2]<<8;i=(h[f>>2]|0)+8|0}else{c[h[s>>2]>>0]=i>>>25;h[l>>2]=h[l>>2]<<7;i=(h[f>>2]|0)+7|0}h[f>>2]=i;u=h[s>>2]|0;r=(c[u>>0]|0)==-1&1;c[a>>0]=r;h[s>>2]=u+1;h[n>>2]=(h[n>>2]|0)+-1;h[o>>2]=(h[o>>2]|0)+1;t=t+1|0}while((t|0)<4);if(!(r<<24>>24))Xt(e,0,(i|0)%8|0);else Xt(e,0,(i+-1|0)%8|0);if((h[n>>2]|0)>>>0<4)qt(e);i=h[f>>2]|0;r=0;do{if((i|0)>31)break;i=h[l>>2]|0;if(!(c[a>>0]|0)){c[h[s>>2]>>0]=i>>>24;h[l>>2]=h[l>>2]<<8;i=(h[f>>2]|0)+8|0}else{c[h[s>>2]>>0]=i>>>25;h[l>>2]=h[l>>2]<<7;i=(h[f>>2]|0)+7|0}h[f>>2]=i;u=h[s>>2]|0;c[a>>0]=(c[u>>0]|0)==-1&1;h[s>>2]=u+1;h[n>>2]=(h[n>>2]|0)+-1;h[o>>2]=(h[o>>2]|0)+1;r=r+1|0}while((r|0)<4);if(!(h[e+132>>2]|0))return;qt(e);return}function qt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;i=h[e+132>>2]|0;if(!i){i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,4,35648);e=T;T=0;if(!(e&1))Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}r=e+108|0;t=e+120|0;f=h[t>>2]|0;n=(h[r>>2]|0)-f|0;if((vE[h[(h[i>>2]|0)+48>>2]&63](i,f,n)|0)==(n|0)){f=h[t>>2]|0;h[r>>2]=f;h[e+104>>2]=(h[e+124>>2]|0)-f;return}i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,4,35648);f=T;T=0;if(!(f&1))Ei(i|0,824,96);f=Ze()|0;We(i|0);si(f|0)}function Xt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;o=e+100|0;r=(h[o>>2]|0)-r|0;h[o>>2]=r;if((r|0)>-1){u=e+96|0;h[u>>2]=h[u>>2]|i<>2]=h[u>>2]|i>>0-r;s=e+104|0;if((h[s>>2]|0)>>>0<4){qt(e);r=h[o>>2]|0}f=e+112|0;a=e+108|0;l=e+116|0;t=0;while(1){if((r|0)>31)break;r=h[u>>2]|0;if(!(c[f>>0]|0)){c[h[a>>2]>>0]=r>>>24;h[u>>2]=h[u>>2]<<8;r=(h[o>>2]|0)+8|0}else{c[h[a>>2]>>0]=r>>>25;h[u>>2]=h[u>>2]<<7;r=(h[o>>2]|0)+7|0}h[o>>2]=r;d=h[a>>2]|0;c[f>>0]=(c[d>>0]|0)==-1&1;h[a>>2]=d+1;h[s>>2]=(h[s>>2]|0)+-1;h[l>>2]=(h[l>>2]|0)+1;t=t+1|0;if((t|0)>=4){n=11;break}}e:do{if((n|0)==11)if((r|0)<0){h[u>>2]=h[u>>2]|i>>0-r;if((h[s>>2]|0)>>>0<4){qt(e);r=h[o>>2]|0;t=0}else t=0;do{if((r|0)>31)break e;r=h[u>>2]|0;if(!(c[f>>0]|0)){c[h[a>>2]>>0]=r>>>24;h[u>>2]=h[u>>2]<<8;r=(h[o>>2]|0)+8|0}else{c[h[a>>2]>>0]=r>>>25;h[u>>2]=h[u>>2]<<7;r=(h[o>>2]|0)+7|0}h[o>>2]=r;d=h[a>>2]|0;c[f>>0]=(c[d>>0]|0)==-1&1;h[a>>2]=d+1;h[s>>2]=(h[s>>2]|0)+-1;h[l>>2]=(h[l>>2]|0)+1;t=t+1|0}while((t|0)<4)}}while(0);h[u>>2]=h[u>>2]|i<>31;f=(_^i)-_|0;k=e+196+(f*12|0)+10|0;a=d[k>>1]|0;b=e+196+(f*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){i=5;while(1)if((a<>1]^_)-_+t|0;w=e+136|0;t=h[w>>2]|0;if((n&t|0)==(n|0))o=n;else o=t&~(n>>31);n=(r-o^_)-_|0;s=e+144|0;t=h[s>>2]|0;if((n|0)>0)n=(n+t|0)/(t<<1|1|0)|0;else n=(n-t|0)/(t<<1|1|0)|0;c=e+140|0;l=h[c>>2]|0;r=((n|0)<0?l:0)+n|0;l=r-((r|0)<((l+1|0)/2|0|0)?0:l)|0;f=e+196+(f*12|0)+4|0;if(!(t|i))n=(h[f>>2]<<1)+-1+a>>31;else n=0;t=n^l;Wt(e,i,t>>30^t<<1,h[e+156>>2]|0);t=h[e+160>>2]|0;i=(h[b>>2]|0)+((l|0)>-1?l:0-l|0)|0;n=(h[f>>2]|0)+(ce(h[s>>2]<<1|1,l)|0)|0;r=d[k>>1]|0;if((r|0)==(t|0)){i=i>>1;n=n>>1;r=t>>1}h[b>>2]=i;t=r+1|0;d[k>>1]=t;i=t+n|0;if((i|0)>=1){if((n|0)>0){n=n-t|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);n=(n|0)>0?0:n}}else{n=d[u>>1]|0;d[u>>1]=(n&65535)-(n<<16>>16>-128&1);n=(i|0)>(~r|0)?i:0-r|0}h[f>>2]=n;t=h[s>>2]|0;r=t<<1|1;i=(ce(r,(l^_)-_|0)|0)+o|0;if((i|0)>=(0-t|0)){n=h[w>>2]|0;if((n+t|0)<(i|0))i=i-(ce(h[c>>2]|0,r)|0)|0}else{i=(ce(h[c>>2]|0,r)|0)+i|0;n=h[w>>2]|0}if((i&n|0)==(i|0)){_=i;_=_&65535;return _|0}_=n&~(i>>31);_=_&65535;return _|0}function Vt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;s=(h[e+180>>2]|0)-i|0;o=h[e+4608>>2]|0;u=h[e+4604>>2]|0;n=d[o+(i+-1<<1)>>1]|0;l=n&65535;r=h[e+144>>2]|0;f=0;while(1){t=o+(f+i<<1)|0;a=(k[t>>1]|0)-l|0;if((((a|0)>-1?a:0-a|0)|0)>(r|0))break;d[t>>1]=n;f=f+1|0;if((f|0)==(s|0)){f=s;break}}n=(f|0)==(s|0);a=e+4600|0;t=h[36476+(h[a>>2]<<2)>>2]|0;if((1<(f|0))r=f;else{r=f;do{Xt(e,1,1);t=h[a>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[a>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>1]|0,l,k[u+(s<<1)>>1]|0)|0;d[i>>1]=e;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;e=f+1|0;return e|0}if(!r){e=s;return e|0}Xt(e,1,1);e=s;return e|0}function Gt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;l=r-t|0;s=e+136|0;a=e+144|0;n=h[a>>2]|0;if((((l|0)>-1?l:0-l|0)|0)>(n|0)){f=t-r>>31|1;i=ce(f,i-t|0)|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=h[l>>2]|0;r=((i|0)<0?n:0)+i|0;n=r-((r|0)<((n+1|0)/2|0|0)?0:n)|0;Kt(e,e+4576|0,n);n=ce(n,f)|0;f=h[a>>2]|0;a=f<<1|1;n=(ce(n,a)|0)+t|0;if((n|0)>=(0-f|0)){i=h[s>>2]|0;if((i+f|0)<(n|0))n=n-(ce(h[l>>2]|0,a)|0)|0}else{n=(ce(h[l>>2]|0,a)|0)+n|0;i=h[s>>2]|0}if((n&i|0)==(n|0)){s=n;s=s&65535;return s|0}s=i&~(n>>31);s=s&65535;return s|0}else{i=i-r|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=h[l>>2]|0;f=((i|0)<0?n:0)+i|0;n=f-((f|0)<((n+1|0)/2|0|0)?0:n)|0;Kt(e,e+4588|0,n);f=h[a>>2]|0;a=f<<1|1;n=(ce(a,n)|0)+r|0;if((n|0)>=(0-f|0)){i=h[s>>2]|0;if((i+f|0)<(n|0))n=n-(ce(h[l>>2]|0,a)|0)|0}else{n=(ce(h[l>>2]|0,a)|0)+n|0;i=h[s>>2]|0}if((n&i|0)==(n|0)){s=n;s=s&65535;return s|0}s=i&~(n>>31);s=s&65535;return s|0}return 0}function Kt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;Wt(e,n,t,(h[e+156>>2]|0)+-1-(h[36476+(h[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function Wt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=r>>i;f=e+148|0;a=t-(h[f>>2]|0)|0;if((n|0)<(a+-1|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-31-(h[f>>2]|0)|0)}else Xt(e,1,a);i=h[f>>2]|0;Xt(e,(1<>2]|0;s=e+120|0;if(i>>>0<((h[s>>2]|0)+-3|0)>>>0){s=e+112|0;a=h[s>>2]|0;e=e+108|0;h[e>>2]=(b[i+1>>0]<<16|b[i>>0]<<24|b[i+2>>0]<<8|b[i+3>>0])>>>a|h[e>>2];e=32-a>>3;h[l>>2]=i+e;h[s>>2]=(e<<3)+a;return}a=e+104|0;r=h[a>>2]|0;do{if(r){if((h[r+12>>2]|0)==(h[r+16>>2]|0)){if((mE[h[(h[r>>2]|0)+36>>2]&127](r)|0)==-1)break;i=h[l>>2]|0}n=e+124|0;r=h[n>>2]|0;f=r-i|0;if(f>>>0<=64){t=e+92|0;if((r|0)==(i|0))r=i;else{r=0;do{c[(h[t>>2]|0)+r>>0]=c[i+r>>0]|0;r=r+1|0;i=h[l>>2]|0}while(r>>>0>>0);r=i;i=h[n>>2]|0}u=h[t>>2]|0;t=u;o=t-r|0;h[l>>2]=u;r=i+o|0;h[n>>2]=r;h[s>>2]=(h[s>>2]|0)+o;a=h[a>>2]|0;a=vE[h[(h[a>>2]|0)+32>>2]&63](a,r,(h[e+96>>2]|0)-(t+f)|0)|0;h[n>>2]=(h[n>>2]|0)+a}}}while(0);a=e+112|0;f=e+108|0;e=h[e+124>>2]|0;n=e+-1|0;i=h[l>>2]|0;while(1){if(i>>>0>=e>>>0){r=14;break}t=c[i>>0]|0;r=t&255;t=t<<24>>24==-1;if(t){if((i|0)==(n|0)){r=25;break}i=i+1|0;if((c[i>>0]|0)<0){r=25;break}}else i=i+1|0;u=h[a>>2]|0;h[f>>2]=r<<24-u|h[f>>2];h[l>>2]=i;u=u+(t?7:8)|0;h[a>>2]=u;if((u|0)>=24){r=33;break}}if((r|0)==14){if((h[a>>2]|0)>=1)return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,5,35648);u=T;T=0;if(!(u&1))Ei(i|0,824,96);u=Ze()|0;We(i|0);si(u|0)}else if((r|0)==25){if((h[a>>2]|0)>=1)return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,5,35648);u=T;T=0;if(!(u&1))Ei(i|0,824,96);u=Ze()|0;We(i|0);si(u|0)}else if((r|0)==33){e:do{if(i>>>0>>0)do{if((c[i>>0]|0)==-1)break e;i=i+1|0}while(i>>>0>>0)}while(0);h[s>>2]=i;return}}function Zt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+144|0;e:do{if(!(h[d>>2]|0)){r=h[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+184>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+188>>2]|0):0)?(h[t+12>>2]|0)==(h[e+192>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4612>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4612>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4612>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4612>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+152|0}while(0);u=1<>2];r=e+4616|0;t=u<<1;n=e+4620|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4612|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+192|0;s=e+188|0;a=e+184|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function Qt(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;s=e+8|0;n=h[s>>2]|0;o=e+4|0;r=h[o>>2]|0;t=r;if((n-t|0)>>>0>=i>>>0){do{c[r>>0]=0;r=(h[o>>2]|0)+1|0;h[o>>2]=r;i=i+-1|0}while((i|0)!=0);return}r=h[e>>2]|0;f=t-r+i|0;if((f|0)<0){Yv(e);n=h[s>>2]|0;r=h[e>>2]|0}t=n-r|0;if(t>>>0<1073741823){t=t<<1;t=t>>>0>>0?f:t;r=(h[o>>2]|0)-r|0;if(!t){n=0;a=0;f=r}else l=8}else{t=2147483647;r=(h[o>>2]|0)-r|0;l=8}if((l|0)==8){n=t;a=Xv(t)|0;f=r}r=a+f|0;n=a+n|0;t=r;do{c[t>>0]=0;t=r+1|0;r=t;i=i+-1|0}while((i|0)!=0);i=h[e>>2]|0;t=(h[o>>2]|0)-i|0;l=a+(f-t)|0;Im(l|0,i|0,t|0)|0;h[e>>2]=l;h[o>>2]=r;h[s>>2]=n;if(!i)return;zv(i);return}function $t(e){e=e|0;var i=0,r=0;h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function en(e){e=e|0;var i=0,r=0;h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function rn(e){e=e|0;var i=0,r=0;h[e>>2]=36052;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function tn(e){e=e|0;var i=0,r=0;h[e>>2]=36052;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function nn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+136>>2]|0,h[e+144>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+184>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+188>>2]=f;h[e+192>>2]=n;bn(e);n=e+140|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+196+(f*12|0)>>2]=i;h[e+196+(f*12|0)+4>>2]=0;d[e+196+(f*12|0)+8>>1]=0;d[e+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4576>>2]=l;h[e+4580>>2]=0;c[e+4584>>0]=s;c[e+4585>>0]=1;c[e+4586>>0]=0;h[e+4588>>2]=l;h[e+4592>>2]=1;c[e+4596>>0]=s;c[e+4597>>0]=1;c[e+4598>>0]=0;h[e+4600>>2]=0;v=a;return}function fn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4624)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35828;h[i+128>>2]=h[e+136>>2];h[i+132>>2]=h[e+140>>2];h[i+136>>2]=h[e+144>>2];h[i+140>>2]=h[e+148>>2];h[i+144>>2]=h[e+152>>2];h[i+148>>2]=h[e+156>>2];h[i+152>>2]=h[e+160>>2];n=i+156|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+172>>2]=h[t>>2];h[i+176>>2]=0;h[i+180>>2]=0;h[i+184>>2]=0;n=i+4568|0;t=i+188|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4580|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4592|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];ln(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;ln(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function an(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=6;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=6;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function ln(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;m=v;v=v+32|0;g=m+12|0;_=m;b=e+180|0;k=(h[b>>2]|0)+4|0;if((h[e+32>>2]|0)==1)w=h[e+24>>2]|0;else w=1;i=ce(w<<1,k)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;do{if(i){if(!(i>>>0>715827882?(T=0,pe(178,g|0),p=T,T=0,p&1):0))a=6;if((a|0)==6?(T=0,r=ye(67,i*6|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;t=r+(i*6|0)|0;h[g+8>>2]=t;while(1){d[r>>1]=0;d[r+2>>1]=0;d[r+4>>1]=0;i=i+-1|0;if(!i)break;else r=r+6|0}h[y>>2]=t;break}t=Ze()|0;i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);si(t|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!w)a=20;else{if(!(w>>>0>1073741823?(T=0,pe(178,_|0),c=T,T=0,c&1):0))a=18;if((a|0)==18?(n=w<<2,T=0,f=ye(67,n|0)|0,c=T,T=0,!(c&1)):0){h[_>>2]=f;a=f+(w<<2)|0;h[_+8>>2]=a;Cm(f|0,0,n|0)|0;h[p>>2]=a;a=20;break}t=Ze()|0;i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==20){n=e+12|0;e:do{if((h[n>>2]|0)>0){f=e+4604|0;a=(ce(w,k)|0)+1|0;l=e+4608|0;s=e+92|0;o=(w|0)>0;u=e+4600|0;c=0;i:while(1){r=h[g>>2]|0;i=r+6|0;h[f>>2]=i;r=r+(a*6|0)|0;h[l>>2]=r;if(!(c&1))i=r;else{h[f>>2]=r;h[l>>2]=i}t=h[s>>2]|0;T=0;Fe(h[(h[t>>2]|0)+12>>2]|0,t|0,i|0,h[b>>2]|0,k|0);t=T;T=0;if(t&1){a=30;break}if(o){i=h[_>>2]|0;r=h[f>>2]|0;t=0;do{h[u>>2]=h[i+(t<<2)>>2];E=h[b>>2]|0;i=r+(E*6|0)|0;r=r+((E+-1|0)*6|0)|0;d[i>>1]=d[r>>1]|0;d[i+2>>1]=d[r+2>>1]|0;d[i+4>>1]=d[r+4>>1]|0;r=(h[l>>2]|0)+-6|0;i=h[f>>2]|0;d[r>>1]=d[i>>1]|0;d[r+2>>1]=d[i+2>>1]|0;d[r+4>>1]=d[i+4>>1]|0;T=0;ve(69,e|0,0);r=T;T=0;if(r&1){a=29;break i}i=h[_>>2]|0;h[i+(t<<2)>>2]=h[u>>2];r=(h[f>>2]|0)+(k*6|0)|0;h[f>>2]=r;h[l>>2]=(h[l>>2]|0)+(k*6|0);t=t+1|0}while((t|0)<(w|0))}c=c+1|0;if((c|0)>=(h[n>>2]|0)){a=42;break e}}if((a|0)==29){t=Ze()|0;break}else if((a|0)==30){t=Ze()|0;break}}else a=42}while(0);do{if((a|0)==42){T=0;pe(182,e|0);E=T;T=0;if(E&1){t=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);v=m;return}}while(0);i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);si(t|0)}function sn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0;S=e+180|0;if((h[S>>2]|0)<=0)return;P=e+4608|0;O=e+4604|0;R=e+4612|0;T=0;while(1){E=T+-1|0;f=h[P>>2]|0;a=h[O>>2]|0;i=T+1|0;n=k[a+(T*6|0)>>1]|0;M=h[R>>2]|0;l=k[a+(E*6|0)>>1]|0;s=n-l|0;o=k[f+(E*6|0)>>1]|0;u=l-o|0;b=((((c[M+((k[a+(i*6|0)>>1]|0)-n)>>0]|0)*9|0)+(c[M+s>>0]|0)|0)*9|0)+(c[M+u>>0]|0)|0;t=k[a+(T*6|0)+2>>1]|0;w=k[a+(E*6|0)+2>>1]|0;_=t-w|0;m=k[f+(E*6|0)+2>>1]|0;p=w-m|0;v=((((c[M+((k[a+(i*6|0)+2>>1]|0)-t)>>0]|0)*9|0)+(c[M+_>>0]|0)|0)*9|0)+(c[M+p>>0]|0)|0;r=k[a+(T*6|0)+4>>1]|0;g=k[a+(E*6|0)+4>>1]|0;y=r-g|0;E=k[f+(E*6|0)+4>>1]|0;A=g-E|0;M=((((c[M+((k[a+(i*6|0)+4>>1]|0)-r)>>0]|0)*9|0)+(c[M+y>>0]|0)|0)*9|0)+(c[M+A>>0]|0)|0;if(!(v|b|M))i=(on(e,T,0)|0)+T|0;else{a=k[f+(T*6|0)>>1]|0;f=n-o>>31;if((f^u|0)>=0)if((f^s|0)<0)n=o;else n=o-l+n|0;a=un(e,b,a,n,0)|0;f=k[(h[P>>2]|0)+(T*6|0)+2>>1]|0;n=t-m>>31;if((n^p|0)>=0)if((n^_|0)<0)t=m;else t=m-w+t|0;n=un(e,v,f,t,0)|0;f=k[(h[P>>2]|0)+(T*6|0)+4>>1]|0;t=r-E>>31;if((t^A|0)>=0)if((t^y|0)<0)r=E;else r=E-g+r|0;A=un(e,M,f,r,0)|0;M=h[P>>2]|0;d[M+(T*6|0)>>1]=a;d[M+(T*6|0)+2>>1]=n;d[M+(T*6|0)+4>>1]=A}if((i|0)<(h[S>>2]|0))T=i;else break}return}function on(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0;S=v;v=v+48|0;w=S+30|0;b=S+24|0;c=S+18|0;_=S+12|0;E=S+6|0;A=S;M=(h[e+180>>2]|0)-i|0;T=h[e+4608>>2]|0;m=h[e+4604>>2]|0;y=i+-1|0;p=d[T+(y*6|0)>>1]|0;g=d[T+(y*6|0)+2>>1]|0;y=d[T+(y*6|0)+4>>1]|0;r=p&65535;t=e+144|0;n=g&65535;f=y&65535;u=0;while(1){s=u+i|0;a=T+(s*6|0)|0;l=T+(s*6|0)+2|0;s=T+(s*6|0)+4|0;P=(k[a>>1]|0)-r|0;o=h[t>>2]|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;P=(k[l>>1]|0)-n|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;P=(k[s>>1]|0)-f|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;d[a>>1]=p;d[l>>1]=g;d[s>>1]=y;u=u+1|0;if((u|0)==(M|0)){u=M;break}}n=(u|0)==(M|0);f=e+4600|0;t=h[36476+(h[f>>2]<<2)>>2]|0;if((1<(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[f>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[f>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>1]=d[P>>1]|0;d[E+2>>1]=d[P+2>>1]|0;d[E+4>>1]=d[P+4>>1]|0;d[A>>1]=p;d[A+2>>1]=g;d[A+4>>1]=y;i=m+(i*6|0)|0;d[c>>1]=d[E>>1]|0;d[c+2>>1]=d[E+2>>1]|0;d[c+4>>1]=d[E+4>>1]|0;d[b>>1]=d[A>>1]|0;d[b+2>>1]=d[A+2>>1]|0;d[b+4>>1]=d[A+4>>1]|0;d[w>>1]=d[i>>1]|0;d[w+2>>1]=d[i+2>>1]|0;d[w+4>>1]=d[i+4>>1]|0;dn(_,e,c,b,w);d[P>>1]=d[_>>1]|0;d[P+2>>1]=d[_+2>>1]|0;d[P+4>>1]=d[_+4>>1]|0;P=h[f>>2]|0;h[f>>2]=(P|0)<1?0:P+-1|0;P=u+1|0;v=S;return P|0}if(!r){P=M;v=S;return P|0}Xt(e,1,1);P=M;v=S;return P|0}function un(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0;_=i>>31;f=(_^i)-_|0;k=e+196+(f*12|0)+10|0;a=d[k>>1]|0;b=e+196+(f*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){i=5;while(1)if((a<>1]^_)-_+t|0;w=e+136|0;t=h[w>>2]|0;if((n&t|0)==(n|0))o=n;else o=t&~(n>>31);n=(r-o^_)-_|0;s=e+144|0;t=h[s>>2]|0;if((n|0)>0)n=(n+t|0)/(t<<1|1|0)|0;else n=(n-t|0)/(t<<1|1|0)|0;c=e+140|0;l=h[c>>2]|0;r=((n|0)<0?l:0)+n|0;l=r-((r|0)<((l+1|0)/2|0|0)?0:l)|0;f=e+196+(f*12|0)+4|0;if(!(t|i))n=(h[f>>2]<<1)+-1+a>>31;else n=0;t=n^l;cn(e,i,t>>30^t<<1,h[e+156>>2]|0);t=h[e+160>>2]|0;i=(h[b>>2]|0)+((l|0)>-1?l:0-l|0)|0;n=(h[f>>2]|0)+(ce(h[s>>2]<<1|1,l)|0)|0;r=d[k>>1]|0;if((r|0)==(t|0)){i=i>>1;n=n>>1;r=t>>1}h[b>>2]=i;t=r+1|0;d[k>>1]=t;i=t+n|0;if((i|0)>=1){if((n|0)>0){n=n-t|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);n=(n|0)>0?0:n}}else{n=d[u>>1]|0;d[u>>1]=(n&65535)-(n<<16>>16>-128&1);n=(i|0)>(~r|0)?i:0-r|0}h[f>>2]=n;t=h[s>>2]|0;r=t<<1|1;i=(ce(r,(l^_)-_|0)|0)+o|0;if((i|0)>=(0-t|0)){n=h[w>>2]|0;if((n+t|0)<(i|0))i=i-(ce(h[c>>2]|0,r)|0)|0}else{i=(ce(h[c>>2]|0,r)|0)+i|0;n=h[w>>2]|0}if((i&n|0)==(i|0)){_=i;_=_&65535;return _|0}_=n&~(i>>31);_=_&65535;return _|0}function cn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=r>>i;f=e+148|0;a=t-(h[f>>2]|0)|0;if((n|0)<(a+-1|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-31-(h[f>>2]|0)|0)}else Xt(e,1,a);i=h[f>>2]|0;Xt(e,(1<>1]|0;b=c-(k[t>>1]|0)>>31|1;f=ce(b,(k[r>>1]|0)-c|0)|0;o=i+144|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;y=i+140|0;s=h[y>>2]|0;l=((f|0)<0?s:0)+f|0;s=l-((l|0)<((s+1|0)/2|0|0)?0:s)|0;l=i+4576|0;hn(i,l,s);p=k[n+2>>1]|0;v=p-(k[t+2>>1]|0)>>31|1;f=ce(v,(k[r+2>>1]|0)-p|0)|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;w=h[y>>2]|0;g=((f|0)<0?w:0)+f|0;w=g-((g|0)<((w+1|0)/2|0|0)?0:w)|0;hn(i,l,w);g=k[n+4>>1]|0;m=g-(k[t+4>>1]|0)>>31|1;f=ce(m,(k[r+4>>1]|0)-g|0)|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;u=h[y>>2]|0;f=((f|0)<0?u:0)+f|0;u=f-((f|0)<((u+1|0)/2|0|0)?0:u)|0;hn(i,l,u);l=h[o>>2]|0;o=l<<1|1;f=(ce(ce(o,s)|0,b)|0)+c|0;r=0-l|0;if((f|0)>=(r|0)){a=h[_>>2]|0;if((a+l|0)<(f|0)){f=f-(ce(h[y>>2]|0,o)|0)|0;t=a}else t=a}else{f=(ce(h[y>>2]|0,o)|0)+f|0;t=h[_>>2]|0}if((f&t|0)!=(f|0))f=t&~(f>>31);n=f&65535;f=(ce(ce(o,w)|0,v)|0)+p|0;if((f|0)>=(r|0)){if((t+l|0)<(f|0))f=f-(ce(h[y>>2]|0,o)|0)|0}else f=(ce(h[y>>2]|0,o)|0)+f|0;if((f&t|0)!=(f|0))f=t&~(f>>31);a=f&65535;f=(ce(ce(o,u)|0,m)|0)+g|0;if((f|0)>=(r|0)){if((t+l|0)<(f|0))f=f-(ce(h[y>>2]|0,o)|0)|0}else f=(ce(h[y>>2]|0,o)|0)+f|0;if((f&t|0)==(f|0)){y=f;y=y&65535;d[e>>1]=n;g=e+2|0;d[g>>1]=a;e=e+4|0;d[e>>1]=y;return}y=t&~(f>>31);y=y&65535;d[e>>1]=n;g=e+2|0;d[g>>1]=a;e=e+4|0;d[e>>1]=y;return}function hn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;cn(e,n,t,(h[e+156>>2]|0)+-1-(h[36476+(h[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function bn(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+144|0;e:do{if(!(h[d>>2]|0)){r=h[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+184>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+188>>2]|0):0)?(h[t+12>>2]|0)==(h[e+192>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4612>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4612>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4612>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4612>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+152|0}while(0);u=1<>2];r=e+4616|0;t=u<<1;n=e+4620|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4612|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+192|0;s=e+188|0;a=e+184|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function kn(e){e=e|0;var i=0,r=0;h[e>>2]=36024;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function wn(e){e=e|0;var i=0,r=0;h[e>>2]=36024;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function _n(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+136>>2]|0,h[e+144>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+184>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+188>>2]=f;h[e+192>>2]=n;af(e);n=e+140|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+196+(f*12|0)>>2]=i;h[e+196+(f*12|0)+4>>2]=0;d[e+196+(f*12|0)+8>>1]=0;d[e+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4576>>2]=l;h[e+4580>>2]=0;c[e+4584>>0]=s;c[e+4585>>0]=1;c[e+4586>>0]=0;h[e+4588>>2]=l;h[e+4592>>2]=1;c[e+4596>>0]=s;c[e+4597>>0]=1;c[e+4598>>0]=0;h[e+4600>>2]=0;v=a;return}function mn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4624)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35800;h[i+128>>2]=h[e+136>>2];h[i+132>>2]=h[e+140>>2];h[i+136>>2]=h[e+144>>2];h[i+140>>2]=h[e+148>>2];h[i+144>>2]=h[e+152>>2];h[i+148>>2]=h[e+156>>2];h[i+152>>2]=h[e+160>>2];n=i+156|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+172>>2]=h[t>>2];h[i+176>>2]=0;h[i+180>>2]=0;h[i+184>>2]=0;n=i+4568|0;t=i+188|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4580|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4592|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];Qn(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;Qn(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function pn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function vn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;h[e>>2]=36712;h[e+4>>2]=r;u=e+8|0;t=h[r>>2]|0;s=r+16|0;a=h[s>>2]|0;f=ce(a,t)|0;h[u>>2]=0;d=e+12|0;h[d>>2]=0;h[e+16>>2]=0;do{if(!f)f=a;else{if(!((f|0)<0?(T=0,pe(178,u|0),a=T,T=0,a&1):0))o=4;if((o|0)==4?(T=0,l=ye(67,f|0)|0,a=T,T=0,!(a&1)):0){h[d>>2]=l;h[u>>2]=l;h[e+16>>2]=l+f;t=l;do{c[t>>0]=0;t=(h[d>>2]|0)+1|0;h[d>>2]=t;f=f+-1|0}while((f|0)!=0);f=h[s>>2]|0;t=h[r>>2]|0;break}t=Ze()|0;n=h[u>>2]|0;if(n){if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n)}d=t;si(d|0)}}while(0);a=e+20|0;t=ce(f,t)|0;h[a>>2]=0;f=e+24|0;h[f>>2]=0;h[e+28>>2]=0;if(!t){d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))o=15;if((o|0)==15?(T=0,n=ye(67,t|0)|0,o=T,T=0,!(o&1)):0){h[f>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[f>>2]|0)+1|0;h[f>>2]=n;t=t+-1|0}while((t|0)!=0);d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}t=Ze()|0;n=h[a>>2]|0;if(n){if((h[f>>2]|0)!=(n|0))h[f>>2]=n;zv(n)}n=h[u>>2]|0;if(!n){d=t;si(d|0)}if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n);d=t;si(d|0)}function gn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;h[e>>2]=36688;h[e+4>>2]=r;u=e+8|0;t=h[r>>2]|0;s=r+16|0;a=h[s>>2]|0;f=ce(a,t)|0;h[u>>2]=0;d=e+12|0;h[d>>2]=0;h[e+16>>2]=0;do{if(!f)f=a;else{if(!((f|0)<0?(T=0,pe(178,u|0),a=T,T=0,a&1):0))o=4;if((o|0)==4?(T=0,l=ye(67,f|0)|0,a=T,T=0,!(a&1)):0){h[d>>2]=l;h[u>>2]=l;h[e+16>>2]=l+f;t=l;do{c[t>>0]=0;t=(h[d>>2]|0)+1|0;h[d>>2]=t;f=f+-1|0}while((f|0)!=0);f=h[s>>2]|0;t=h[r>>2]|0;break}t=Ze()|0;n=h[u>>2]|0;if(n){if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n)}d=t;si(d|0)}}while(0);a=e+20|0;t=ce(f,t)|0;h[a>>2]=0;f=e+24|0;h[f>>2]=0;h[e+28>>2]=0;if(!t){d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))o=15;if((o|0)==15?(T=0,n=ye(67,t|0)|0,o=T,T=0,!(o&1)):0){h[f>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[f>>2]|0)+1|0;h[f>>2]=n;t=t+-1|0}while((t|0)!=0);d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}t=Ze()|0;n=h[a>>2]|0;if(n){if((h[f>>2]|0)!=(n|0))h[f>>2]=n;zv(n)}n=h[u>>2]|0;if(!n){d=t;si(d|0)}if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n);d=t;si(d|0)}function yn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;h[e>>2]=36664;h[e+4>>2]=r;u=e+8|0;t=h[r>>2]|0;s=r+16|0;a=h[s>>2]|0;f=ce(a,t)|0;h[u>>2]=0;d=e+12|0;h[d>>2]=0;h[e+16>>2]=0;do{if(!f)f=a;else{if(!((f|0)<0?(T=0,pe(178,u|0),a=T,T=0,a&1):0))o=4;if((o|0)==4?(T=0,l=ye(67,f|0)|0,a=T,T=0,!(a&1)):0){h[d>>2]=l;h[u>>2]=l;h[e+16>>2]=l+f;t=l;do{c[t>>0]=0;t=(h[d>>2]|0)+1|0;h[d>>2]=t;f=f+-1|0}while((f|0)!=0);f=h[s>>2]|0;t=h[r>>2]|0;break}t=Ze()|0;n=h[u>>2]|0;if(n){if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n)}d=t;si(d|0)}}while(0);a=e+20|0;t=ce(f,t)|0;h[a>>2]=0;f=e+24|0;h[f>>2]=0;h[e+28>>2]=0;if(!t){d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))o=15;if((o|0)==15?(T=0,n=ye(67,t|0)|0,o=T,T=0,!(o&1)):0){h[f>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[f>>2]|0)+1|0;h[f>>2]=n;t=t+-1|0}while((t|0)!=0);d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}t=Ze()|0;n=h[a>>2]|0;if(n){if((h[f>>2]|0)!=(n|0))h[f>>2]=n;zv(n)}n=h[u>>2]|0;if(!n){d=t;si(d|0)}if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n);d=t;si(d|0)}function En(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;h[e>>2]=36640;h[e+4>>2]=r;u=e+8|0;t=h[r>>2]|0;s=r+16|0;a=h[s>>2]|0;f=ce(a,t)|0;h[u>>2]=0;d=e+12|0;h[d>>2]=0;h[e+16>>2]=0;do{if(!f)f=a;else{if(!((f|0)<0?(T=0,pe(178,u|0),a=T,T=0,a&1):0))o=4;if((o|0)==4?(T=0,l=ye(67,f|0)|0,a=T,T=0,!(a&1)):0){h[d>>2]=l;h[u>>2]=l;h[e+16>>2]=l+f;t=l;do{c[t>>0]=0;t=(h[d>>2]|0)+1|0;h[d>>2]=t;f=f+-1|0}while((f|0)!=0);f=h[s>>2]|0;t=h[r>>2]|0;break}t=Ze()|0;n=h[u>>2]|0;if(n){if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n)}d=t;si(d|0)}}while(0);a=e+20|0;t=ce(f,t)|0;h[a>>2]=0;f=e+24|0;h[f>>2]=0;h[e+28>>2]=0;if(!t){d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}if(!((t|0)<0?(T=0,pe(178,a|0),r=T,T=0,r&1):0))o=15;if((o|0)==15?(T=0,n=ye(67,t|0)|0,o=T,T=0,!(o&1)):0){h[f>>2]=n;h[a>>2]=n;h[e+28>>2]=n+t;do{c[n>>0]=0;n=(h[f>>2]|0)+1|0;h[f>>2]=n;t=t+-1|0}while((t|0)!=0);d=e+36|0;h[d>>2]=h[i>>2];h[d+4>>2]=h[i+4>>2];h[d+8>>2]=h[i+8>>2];return}t=Ze()|0;n=h[a>>2]|0;if(n){if((h[f>>2]|0)!=(n|0))h[f>>2]=n;zv(n)}n=h[u>>2]|0;if(!n){d=t;si(d|0)}if((h[d>>2]|0)!=(n|0))h[d>>2]=n;zv(n);d=t;si(d|0)}function An(e){e=e|0;var i=0,r=0;h[e>>2]=36640;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=h[e+8>>2]|0;if(!r)return;i=e+12|0;if((h[i>>2]|0)!=(r|0))h[i>>2]=r;zv(r);return}function Mn(e){e=e|0;var i=0,r=0;h[e>>2]=36640;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function Tn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=e+36|0;if(!(h[n>>2]|0)){n=e+40|0;Rn(e,i,h[n>>2]|0,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}f=ce(h[(h[e+4>>2]|0)+16>>2]|0,r)|0;a=e+20|0;Rn(e,i,h[a>>2]|0,r,t);e=h[n>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,h[a>>2]|0,f)|0)==(f|0))return;n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,3,35648);a=T;T=0;if(a&1){a=Ze()|0;We(n|0);si(a|0)}else Ei(n|0,824,96)}function Sn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;Pn(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{On(e,n,i,r,t);return}}function Pn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;l=e+4|0;f=h[l>>2]|0;if(!(c[f+32>>0]|0))l=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*3|0)|0;f=h[l>>2]|0;i=h[f+16>>2]|0;if((t|0)>0){f=h[a>>2]|0;e=0;while(1){s=f+2|0;o=c[f>>0]|0;c[f>>0]=c[s>>0]|0;c[s>>0]=o;e=e+1|0;if((e|0)==(t|0))break;else f=f+i|0}f=h[l>>2]|0}l=h[a>>2]|0}switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{a=b[l+(f*3|0)+1>>0]|0;n=128-a+(b[l+(f*3|0)+2>>0]|0)|0;s=(b[l+(f*3|0)>>0]|0)-a+128|0;o=r+(f*3|0)|0;c[o>>0]=a+192+(((n&255)+(s&255)|0)>>>2);c[o+1>>0]=n;c[o+2>>0]=s;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{t=b[l+(i*3|0)+1>>0]|0;s=128-t+(b[l+(i*3|0)+2>>0]|0)|0;o=(b[l+(i*3|0)>>0]|0)-t+128|0;c[r+i>>0]=t+192+(((s&255)+(o&255)|0)>>>2);c[r+(i+n)>>0]=s;c[r+(i+e)>>0]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{o=c[l+(a<<2)+3>>0]|0;u=b[l+(a<<2)+1>>0]|0;t=128-u+(b[l+(a<<2)+2>>0]|0)|0;s=(b[l+(a<<2)>>0]|0)-u+128|0;c[r+a>>0]=u+192+(((t&255)+(s&255)|0)>>>2);c[r+(a+n)>>0]=t;c[r+(a+e)>>0]=s;c[r+(a+i)>>0]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function On(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+176|0;d=u+152|0;k=u+16|0;b=u;a=ce(h[(h[e+4>>2]|0)+16>>2]|0,t)|0;s=e+20|0;f=h[s>>2]|0;if(!a){k=f;Pn(e,k,r,t,n);v=u;return}while(1){l=vE[h[(h[i>>2]|0)+32>>2]&63](i,f,a)|0;if(!l)break;f=h[s>>2]|0;if((a|0)==(l|0)){o=26;break}else a=a-l|0}if((o|0)==26){Pn(e,f,r,t,n);v=u;return}r=k+56|0;s=k+4|0;h[k>>2]=36160;h[r>>2]=36180;T=0;ve(62,k+56|0,s|0);u=T;T=0;if(u&1){k=Ze()|0;bh(r);si(k|0)}h[k+128>>2]=0;h[k+132>>2]=-1;h[k>>2]=36200;h[k+56>>2]=36220;T=0;pe(180,s|0);u=T;T=0;do{if(u&1)f=Ze()|0;else{h[s>>2]=36236;i=k+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[k+52>>2]=16;h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;T=0;ve(63,s|0,d|0);u=T;T=0;if(u&1){f=Ze()|0;qd(d);qd(i);gh(s);break}qd(d);T=0;f=Ae(28,k|0,49029,57)|0;d=T;T=0;if(!(d&1)?(T=0,Oe(36,f|0,0)|0,d=T,T=0,!(d&1)):0){l=Je(16)|0;T=0;ve(64,b|0,s|0);d=T;T=0;if(!(d&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,b|0);d=T;T=0;if(d&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(b);if(!a){b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}else f=Ze()|0;We(l|0);b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}b=Ze()|0;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}while(0);k=f;bh(r);si(k|0)}function Rn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){a=b[i+(e*3|0)+1>>0]|0;f=b[i+(e*3|0)+2>>0]|0;l=(b[i+(e*3|0)>>0]|0)-((f+a|0)>>>2)+64|0;n=r+(e*3|0)|0;c[n>>0]=f+128+l;c[n+1>>0]=l;c[n+2>>0]=a+128+l;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{u=b[i+(a+n)>>0]|0;d=b[i+(a+f)>>0]|0;o=(b[i+a>>0]|0)-((d+u|0)>>>2)+64|0;l=r+(a*3|0)|0;c[l>>0]=d+128+o;c[l+1>>0]=o;c[l+2>>0]=u+128+o;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{o=b[i+(a+n)>>0]|0;k=b[i+(a+e)>>0]|0;u=(b[i+a>>0]|0)-((k+o|0)>>>2)+64|0;d=r+(a<<2)|0;u=u<<8&65280|b[i+(a+f)>>0]<<24|k+128+u&255|o+128+u<<16&16711680;c[d>>0]=u;c[d+1>>0]=u>>8;c[d+2>>0]=u>>16;c[d+3>>0]=u>>24;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)>0){e=r;f=0}else return;while(1){k=e+2|0;d=c[e>>0]|0;c[e>>0]=c[k>>0]|0;c[k>>0]=d;f=f+1|0;if((f|0)==(t|0))break;else e=e+a|0}return}function Ln(e){e=e|0;var i=0,r=0;h[e>>2]=36664;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=h[e+8>>2]|0;if(!r)return;i=e+12|0;if((h[i>>2]|0)!=(r|0))h[i>>2]=r;zv(r);return}function Cn(e){e=e|0;var i=0,r=0;h[e>>2]=36664;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function Dn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=e+36|0;if(!(h[n>>2]|0)){n=e+40|0;Nn(e,i,h[n>>2]|0,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}f=ce(h[(h[e+4>>2]|0)+16>>2]|0,r)|0;a=e+20|0;Nn(e,i,h[a>>2]|0,r,t);e=h[n>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,h[a>>2]|0,f)|0)==(f|0))return;n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,3,35648);a=T;T=0;if(a&1){a=Ze()|0;We(n|0);si(a|0)}else Ei(n|0,824,96)}function xn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;In(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Bn(e,n,i,r,t);return}}function In(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;l=e+4|0;f=h[l>>2]|0;if(!(c[f+32>>0]|0))l=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*3|0)|0;f=h[l>>2]|0;i=h[f+16>>2]|0;if((t|0)>0){f=h[a>>2]|0;e=0;while(1){s=f+2|0;o=c[f>>0]|0;c[f>>0]=c[s>>0]|0;c[s>>0]=o;e=e+1|0;if((e|0)==(t|0))break;else f=f+i|0}f=h[l>>2]|0}l=h[a>>2]|0}switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{i=b[l+(f*3|0)>>0]|0;n=c[l+(f*3|0)+1>>0]|0;a=n&255;s=(b[l+(f*3|0)+2>>0]|0)+128-((a+i|0)>>>1)&255;o=r+(f*3|0)|0;c[o>>0]=i+128-a;c[o+1>>0]=n;c[o+2>>0]=s;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{s=c[l+(i*3|0)+1>>0]|0;a=b[l+(i*3|0)>>0]|0;t=s&255;o=(b[l+(i*3|0)+2>>0]|0)+128-((t+a|0)>>>1)&255;c[r+i>>0]=a+128-t;c[r+(i+n)>>0]=s;c[r+(i+e)>>0]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{t=c[l+(a<<2)+1>>0]|0;o=c[l+(a<<2)+3>>0]|0;d=b[l+(a<<2)>>0]|0;u=t&255;s=(b[l+(a<<2)+2>>0]|0)+128-((u+d|0)>>>1)&255;c[r+a>>0]=d+128-u;c[r+(a+n)>>0]=t;c[r+(a+e)>>0]=s;c[r+(a+i)>>0]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function Bn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+176|0;d=u+152|0;k=u+16|0;b=u;a=ce(h[(h[e+4>>2]|0)+16>>2]|0,t)|0;s=e+20|0;f=h[s>>2]|0;if(!a){k=f;In(e,k,r,t,n);v=u;return}while(1){l=vE[h[(h[i>>2]|0)+32>>2]&63](i,f,a)|0;if(!l)break;f=h[s>>2]|0;if((a|0)==(l|0)){o=26;break}else a=a-l|0}if((o|0)==26){In(e,f,r,t,n);v=u;return}r=k+56|0;s=k+4|0;h[k>>2]=36160;h[r>>2]=36180;T=0;ve(62,k+56|0,s|0);u=T;T=0;if(u&1){k=Ze()|0;bh(r);si(k|0)}h[k+128>>2]=0;h[k+132>>2]=-1;h[k>>2]=36200;h[k+56>>2]=36220;T=0;pe(180,s|0);u=T;T=0;do{if(u&1)f=Ze()|0;else{h[s>>2]=36236;i=k+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[k+52>>2]=16;h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;T=0;ve(63,s|0,d|0);u=T;T=0;if(u&1){f=Ze()|0;qd(d);qd(i);gh(s);break}qd(d);T=0;f=Ae(28,k|0,49029,57)|0;d=T;T=0;if(!(d&1)?(T=0,Oe(36,f|0,0)|0,d=T,T=0,!(d&1)):0){l=Je(16)|0;T=0;ve(64,b|0,s|0);d=T;T=0;if(!(d&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,b|0);d=T;T=0;if(d&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(b);if(!a){b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}else f=Ze()|0;We(l|0);b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}b=Ze()|0;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}while(0);k=f;bh(r);si(k|0)}function Nn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){a=c[i+(e*3|0)+1>>0]|0;l=a&255;f=(b[i+(e*3|0)>>0]|0)+128+l|0;l=(b[i+(e*3|0)+2>>0]|0)+128+(((f&255)+l|0)>>>1)&255;n=r+(e*3|0)|0;c[n>>0]=f;c[n+1>>0]=a;c[n+2>>0]=l;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{u=c[i+(a+n)>>0]|0;o=u&255;d=(b[i+a>>0]|0)+128+o|0;o=(b[i+(a+f)>>0]|0)+128+(((d&255)+o|0)>>>1)&255;l=r+(a*3|0)|0;c[l>>0]=d;c[l+1>>0]=u;c[l+2>>0]=o;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=b[i+(a+n)>>0]|0;o=(b[i+a>>0]|0)+128+u&255;d=r+(a<<2)|0;u=o|u<<8|b[i+(a+f)>>0]<<24|(b[i+(a+e)>>0]|0)+128+((o+u|0)>>>1)<<16&16711680;c[d>>0]=u;c[d+1>>0]=u>>8;c[d+2>>0]=u>>16;c[d+3>>0]=u>>24;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)>0){e=r;f=0}else return;while(1){d=e+2|0;u=c[e>>0]|0;c[e>>0]=c[d>>0]|0;c[d>>0]=u;f=f+1|0;if((f|0)==(t|0))break;else e=e+a|0}return}function Fn(e){e=e|0;var i=0,r=0;h[e>>2]=36688;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=h[e+8>>2]|0;if(!r)return;i=e+12|0;if((h[i>>2]|0)!=(r|0))h[i>>2]=r;zv(r);return}function Un(e){e=e|0;var i=0,r=0;h[e>>2]=36688;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function jn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=e+36|0;if(!(h[n>>2]|0)){n=e+40|0;Xn(e,i,h[n>>2]|0,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}f=ce(h[(h[e+4>>2]|0)+16>>2]|0,r)|0;a=e+20|0;Xn(e,i,h[a>>2]|0,r,t);e=h[n>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,h[a>>2]|0,f)|0)==(f|0))return;n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,3,35648);a=T;T=0;if(a&1){a=Ze()|0;We(n|0);si(a|0)}else Ei(n|0,824,96)}function Hn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;Yn(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{qn(e,n,i,r,t);return}}function Yn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;l=e+4|0;f=h[l>>2]|0;if(!(c[f+32>>0]|0))l=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*3|0)|0;f=h[l>>2]|0;i=h[f+16>>2]|0;if((t|0)>0){f=h[a>>2]|0;e=0;while(1){s=f+2|0;o=c[f>>0]|0;c[f>>0]=c[s>>0]|0;c[s>>0]=o;e=e+1|0;if((e|0)==(t|0))break;else f=f+i|0}f=h[l>>2]|0}l=h[a>>2]|0}switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{n=c[l+(f*3|0)+1>>0]|0;a=n&255;s=128-a+(b[l+(f*3|0)+2>>0]|0)&255;o=r+(f*3|0)|0;c[o>>0]=(b[l+(f*3|0)>>0]|0)+128-a;c[o+1>>0]=n;c[o+2>>0]=s;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{s=c[l+(i*3|0)+1>>0]|0;t=s&255;o=128-t+(b[l+(i*3|0)+2>>0]|0)&255;c[r+i>>0]=(b[l+(i*3|0)>>0]|0)+128-t;c[r+(i+n)>>0]=s;c[r+(i+e)>>0]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{t=c[l+(a<<2)+1>>0]|0;o=c[l+(a<<2)+3>>0]|0;u=t&255;s=128-u+(b[l+(a<<2)+2>>0]|0)&255;c[r+a>>0]=(b[l+(a<<2)>>0]|0)+128-u;c[r+(a+n)>>0]=t;c[r+(a+e)>>0]=s;c[r+(a+i)>>0]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function qn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+176|0;d=u+152|0;k=u+16|0;b=u;a=ce(h[(h[e+4>>2]|0)+16>>2]|0,t)|0;s=e+20|0;f=h[s>>2]|0;if(!a){k=f;Yn(e,k,r,t,n);v=u;return}while(1){l=vE[h[(h[i>>2]|0)+32>>2]&63](i,f,a)|0;if(!l)break;f=h[s>>2]|0;if((a|0)==(l|0)){o=26;break}else a=a-l|0}if((o|0)==26){Yn(e,f,r,t,n);v=u;return}r=k+56|0;s=k+4|0;h[k>>2]=36160;h[r>>2]=36180;T=0;ve(62,k+56|0,s|0);u=T;T=0;if(u&1){k=Ze()|0;bh(r);si(k|0)}h[k+128>>2]=0;h[k+132>>2]=-1;h[k>>2]=36200;h[k+56>>2]=36220;T=0;pe(180,s|0);u=T;T=0;do{if(u&1)f=Ze()|0;else{h[s>>2]=36236;i=k+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[k+52>>2]=16;h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;T=0;ve(63,s|0,d|0);u=T;T=0;if(u&1){f=Ze()|0;qd(d);qd(i);gh(s);break}qd(d);T=0;f=Ae(28,k|0,49029,57)|0;d=T;T=0;if(!(d&1)?(T=0,Oe(36,f|0,0)|0,d=T,T=0,!(d&1)):0){l=Je(16)|0;T=0;ve(64,b|0,s|0);d=T;T=0;if(!(d&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,b|0);d=T;T=0;if(d&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(b);if(!a){b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}else f=Ze()|0;We(l|0);b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}b=Ze()|0;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}while(0);k=f;bh(r);si(k|0)}function Xn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){a=c[i+(e*3|0)+1>>0]|0;f=a&255;l=f+128+(b[i+(e*3|0)+2>>0]|0)&255;n=r+(e*3|0)|0;c[n>>0]=(b[i+(e*3|0)>>0]|0)+128+f;c[n+1>>0]=a;c[n+2>>0]=l;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{u=c[i+(a+n)>>0]|0;d=u&255;o=d+128+(b[i+(a+f)>>0]|0)&255;l=r+(a*3|0)|0;c[l>>0]=(b[i+a>>0]|0)+128+d;c[l+1>>0]=u;c[l+2>>0]=o;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=b[i+(a+n)>>0]|0;d=r+(a<<2)|0;u=(b[i+a>>0]|0)+128+u&255|u<<8|b[i+(a+f)>>0]<<24|u+128+(b[i+(a+e)>>0]|0)<<16&16711680;c[d>>0]=u;c[d+1>>0]=u>>8;c[d+2>>0]=u>>16;c[d+3>>0]=u>>24;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)>0){e=r;f=0}else return;while(1){d=e+2|0;u=c[e>>0]|0;c[e>>0]=c[d>>0]|0;c[d>>0]=u;f=f+1|0;if((f|0)==(t|0))break;else e=e+a|0}return}function zn(e){e=e|0;var i=0,r=0;h[e>>2]=36712;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=h[e+8>>2]|0;if(!r)return;i=e+12|0;if((h[i>>2]|0)!=(r|0))h[i>>2]=r;zv(r);return}function Vn(e){e=e|0;var i=0,r=0;h[e>>2]=36712;i=h[e+20>>2]|0;if(i){r=e+24|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function Gn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=e+36|0;if(!(h[n>>2]|0)){n=e+40|0;Zn(e,i,h[n>>2]|0,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}f=ce(h[(h[e+4>>2]|0)+16>>2]|0,r)|0;a=e+20|0;Zn(e,i,h[a>>2]|0,r,t);e=h[n>>2]|0;if((vE[h[(h[e>>2]|0)+48>>2]&63](e,h[a>>2]|0,f)|0)==(f|0))return;n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,3,35648);a=T;T=0;if(a&1){a=Ze()|0;We(n|0);si(a|0)}else Ei(n|0,824,96)}function Kn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=h[e+36>>2]|0;if(!n){n=e+40|0;Wn(e,h[n>>2]|0,i,r,t);h[n>>2]=(h[n>>2]|0)+(h[(h[e+4>>2]|0)+12>>2]|0);return}else{Jn(e,n,i,r,t);return}}function Wn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0;l=e+4|0;f=h[l>>2]|0;if(!(c[f+32>>0]|0))l=i;else{a=e+8|0;Im(h[a>>2]|0,i|0,t*3|0)|0;f=h[l>>2]|0;i=h[f+16>>2]|0;if((t|0)>0){f=h[a>>2]|0;e=0;while(1){s=f+2|0;o=c[f>>0]|0;c[f>>0]=c[s>>0]|0;c[s>>0]=o;e=e+1|0;if((e|0)==(t|0))break;else f=f+i|0}f=h[l>>2]|0}l=h[a>>2]|0}switch(h[f+16>>2]|0){case 3:{if((h[f+24>>2]|0)==2){if((t|0)>0)f=0;else return;do{n=c[l+(f*3|0)+1>>0]|0;s=c[l+(f*3|0)+2>>0]|0;o=r+(f*3|0)|0;c[o>>0]=c[l+(f*3|0)>>0]|0;c[o+1>>0]=n;c[o+2>>0]=s;f=f+1|0}while((f|0)!=(t|0));return}f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=0;do{s=c[l+(i*3|0)+1>>0]|0;o=c[l+(i*3|0)+2>>0]|0;c[r+i>>0]=c[l+(i*3|0)>>0]|0;c[r+(i+n)>>0]=s;c[r+(i+e)>>0]=o;i=i+1|0}while((i|0)!=(f|0));return}case 4:{if((h[f+24>>2]|0)!=1)return;f=(n|0)<(t|0)?n:t;if((f|0)<=0)return;e=n<<1;i=n*3|0;a=0;do{t=c[l+(a<<2)+1>>0]|0;s=c[l+(a<<2)+2>>0]|0;o=c[l+(a<<2)+3>>0]|0;c[r+a>>0]=c[l+(a<<2)>>0]|0;c[r+(a+n)>>0]=t;c[r+(a+e)>>0]=s;c[r+(a+i)>>0]=o;a=a+1|0}while((a|0)!=(f|0));return}default:return}}function Jn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+176|0;d=u+152|0;k=u+16|0;b=u;a=ce(h[(h[e+4>>2]|0)+16>>2]|0,t)|0;s=e+20|0;f=h[s>>2]|0;if(!a){k=f;Wn(e,k,r,t,n);v=u;return}while(1){l=vE[h[(h[i>>2]|0)+32>>2]&63](i,f,a)|0;if(!l)break;f=h[s>>2]|0;if((a|0)==(l|0)){o=26;break}else a=a-l|0}if((o|0)==26){Wn(e,f,r,t,n);v=u;return}r=k+56|0;s=k+4|0;h[k>>2]=36160;h[r>>2]=36180;T=0;ve(62,k+56|0,s|0);u=T;T=0;if(u&1){k=Ze()|0;bh(r);si(k|0)}h[k+128>>2]=0;h[k+132>>2]=-1;h[k>>2]=36200;h[k+56>>2]=36220;T=0;pe(180,s|0);u=T;T=0;do{if(u&1)f=Ze()|0;else{h[s>>2]=36236;i=k+36|0;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;h[i+12>>2]=0;h[k+52>>2]=16;h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;T=0;ve(63,s|0,d|0);u=T;T=0;if(u&1){f=Ze()|0;qd(d);qd(i);gh(s);break}qd(d);T=0;f=Ae(28,k|0,49029,57)|0;d=T;T=0;if(!(d&1)?(T=0,Oe(36,f|0,0)|0,d=T,T=0,!(d&1)):0){l=Je(16)|0;T=0;ve(64,b|0,s|0);d=T;T=0;if(!(d&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,l|0,3,35648,b|0);d=T;T=0;if(d&1)a=1;else{T=0;xe(6,l|0,824,96);T=0;a=0}f=Ze()|0;qd(b);if(!a){b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}else f=Ze()|0;We(l|0);b=f;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}b=Ze()|0;h[k>>2]=36200;h[r>>2]=36220;h[s>>2]=36236;qd(i);gh(s);bh(r);si(b|0)}}while(0);k=f;bh(r);si(k|0)}function Zn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;s=e+4|0;e=h[s>>2]|0;e:do{switch(h[e+16>>2]|0){case 3:{if((h[e+24>>2]|0)==2){if((t|0)>0)e=0;else break e;while(1){a=c[i+(e*3|0)+1>>0]|0;l=c[i+(e*3|0)+2>>0]|0;n=r+(e*3|0)|0;c[n>>0]=c[i+(e*3|0)>>0]|0;c[n+1>>0]=a;c[n+2>>0]=l;e=e+1|0;if((e|0)==(t|0))break e}}e=(t|0)<(n|0)?t:n;if((e|0)>0){f=n<<1;a=0;do{u=c[i+(a+n)>>0]|0;o=c[i+(a+f)>>0]|0;l=r+(a*3|0)|0;c[l>>0]=c[i+a>>0]|0;c[l+1>>0]=u;c[l+2>>0]=o;a=a+1|0}while((a|0)!=(e|0))}break}case 4:{if((h[e+24>>2]|0)==1?(l=(t|0)<(n|0)?t:n,(l|0)>0):0){e=n<<1;f=n*3|0;a=0;do{u=r+(a<<2)|0;o=b[i+(a+n)>>0]<<8|b[i+a>>0]|b[i+(a+e)>>0]<<16|b[i+(a+f)>>0]<<24;c[u>>0]=o;c[u+1>>0]=o>>8;c[u+2>>0]=o>>16;c[u+3>>0]=o>>24;a=a+1|0}while((a|0)!=(l|0))}break}default:{}}}while(0);e=h[s>>2]|0;if(!(c[e+32>>0]|0))return;a=h[e+16>>2]|0;if((t|0)>0){e=r;f=0}else return;while(1){u=e+2|0;o=c[e>>0]|0;c[e>>0]=c[u>>0]|0;c[u>>0]=o;f=f+1|0;if((f|0)==(t|0))break;else e=e+a|0}return}function Qn(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;m=v;v=v+32|0;g=m+12|0;_=m;b=e+180|0;k=(h[b>>2]|0)+4|0;if((h[e+32>>2]|0)==1)w=h[e+24>>2]|0;else w=1;i=ce(w<<1,k)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(T=0,pe(178,g|0),p=T,T=0,p&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i*3|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;h[g+8>>2]=r+(i*3|0);while(1){c[r>>0]=0;c[r+1>>0]=0;c[r+2>>0]=0;r=(h[y>>2]|0)+3|0;h[y>>2]=r;i=i+-1|0;if(!i)break e}}t=Ze()|0;i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!w)f=19;else{if(!(w>>>0>1073741823?(T=0,pe(178,_|0),d=T,T=0,d&1):0))f=17;if((f|0)==17?(t=w<<2,T=0,n=ye(67,t|0)|0,d=T,T=0,!(d&1)):0){h[_>>2]=n;f=n+(w<<2)|0;h[_+8>>2]=f;Cm(n|0,0,t|0)|0;h[p>>2]=f;f=19;break}t=Ze()|0;i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){n=e+12|0;e:do{if((h[n>>2]|0)>0){f=e+4604|0;a=(ce(w,k)|0)+1|0;l=e+4608|0;s=e+92|0;o=(w|0)>0;u=e+4600|0;d=0;i:while(1){t=h[g>>2]|0;i=t+3|0;h[f>>2]=i;r=t+(a*3|0)|0;h[l>>2]=r;if(!(d&1))i=a;else{h[f>>2]=r;h[l>>2]=i;i=1}r=h[s>>2]|0;T=0;Fe(h[(h[r>>2]|0)+12>>2]|0,r|0,t+(i*3|0)|0,h[b>>2]|0,k|0);t=T;T=0;if(t&1){f=29;break}if(o){i=h[_>>2]|0;r=h[f>>2]|0;t=0;do{h[u>>2]=h[i+(t<<2)>>2];E=h[b>>2]|0;i=r+(E*3|0)|0;r=r+((E+-1|0)*3|0)|0;c[i>>0]=c[r>>0]|0;c[i+1>>0]=c[r+1>>0]|0;c[i+2>>0]=c[r+2>>0]|0;i=h[f>>2]|0;r=(h[l>>2]|0)+-3|0;c[r>>0]=c[i>>0]|0;c[r+1>>0]=c[i+1>>0]|0;c[r+2>>0]=c[i+2>>0]|0;T=0;ve(70,e|0,0);r=T;T=0;if(r&1){f=28;break i}i=h[_>>2]|0;h[i+(t<<2)>>2]=h[u>>2];r=(h[f>>2]|0)+(k*3|0)|0;h[f>>2]=r;h[l>>2]=(h[l>>2]|0)+(k*3|0);t=t+1|0}while((t|0)<(w|0))}d=d+1|0;if((d|0)>=(h[n>>2]|0)){f=41;break e}}if((f|0)==28){t=Ze()|0;break}else if((f|0)==29){t=Ze()|0;break}}else f=41}while(0);do{if((f|0)==41){T=0;pe(182,e|0);E=T;T=0;if(E&1){t=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);v=m;return}}while(0);i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}function $n(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0;T=e+180|0;if((h[T>>2]|0)<=0)return;S=e+4608|0;P=e+4604|0;O=e+4612|0;M=0;while(1){y=M+-1|0;f=h[S>>2]|0;a=h[P>>2]|0;i=M+1|0;n=b[a+(M*3|0)>>0]|0;A=h[O>>2]|0;l=b[a+(y*3|0)>>0]|0;s=n-l|0;o=b[f+(y*3|0)>>0]|0;u=l-o|0;d=((((c[A+((b[a+(i*3|0)>>0]|0)-n)>>0]|0)*9|0)+(c[A+s>>0]|0)|0)*9|0)+(c[A+u>>0]|0)|0;t=b[a+(M*3|0)+1>>0]|0;k=b[a+(y*3|0)+1>>0]|0;w=t-k|0;_=b[f+(y*3|0)+1>>0]|0;m=k-_|0;p=((((c[A+((b[a+(i*3|0)+1>>0]|0)-t)>>0]|0)*9|0)+(c[A+w>>0]|0)|0)*9|0)+(c[A+m>>0]|0)|0;r=b[a+(M*3|0)+2>>0]|0;v=b[a+(y*3|0)+2>>0]|0;g=r-v|0;y=b[f+(y*3|0)+2>>0]|0;E=v-y|0;A=((((c[A+((b[a+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(c[A+g>>0]|0)|0)*9|0)+(c[A+E>>0]|0)|0;if(!(p|d|A))i=(ef(e,M,0)|0)+M|0;else{a=b[f+(M*3|0)>>0]|0;f=n-o>>31;if((f^u|0)>=0)if((f^s|0)<0)n=o;else n=o-l+n|0;a=rf(e,d,a,n,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+1>>0]|0;n=t-_>>31;if((n^m|0)>=0)if((n^w|0)<0)t=_;else t=_-k+t|0;n=rf(e,p,f,t,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+2>>0]|0;t=r-y>>31;if((t^E|0)>=0)if((t^g|0)<0)r=y;else r=y-v+r|0;A=rf(e,A,f,r,0)|0;M=(h[S>>2]|0)+(M*3|0)|0;c[M>>0]=a;c[M+1>>0]=n;c[M+2>>0]=A}if((i|0)<(h[T>>2]|0))M=i;else break}return}function ef(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0;S=v;v=v+32|0;T=S+15|0;k=S+12|0;d=S+9|0;w=S+6|0;y=S+3|0;E=S;A=(h[e+180>>2]|0)-i|0;M=h[e+4608>>2]|0;_=h[e+4604>>2]|0;g=M+((i+-1|0)*3|0)|0;m=c[g>>0]|0;p=c[g+1>>0]|0;g=c[g+2>>0]|0;r=m&255;t=e+144|0;n=p&255;f=g&255;u=0;while(1){a=M+((u+i|0)*3|0)|0;l=a+1|0;s=a+2|0;P=(b[a>>0]|0)-r|0;o=h[t>>2]|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;P=(b[l>>0]|0)-n|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;P=(b[s>>0]|0)-f|0;if((((P|0)>-1?P:0-P|0)|0)>(o|0))break;c[a>>0]=m;c[l>>0]=p;c[s>>0]=g;u=u+1|0;if((u|0)==(A|0)){u=A;break}}n=(u|0)==(A|0);f=e+4600|0;t=h[36476+(h[f>>2]<<2)>>2]|0;if((1<(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[f>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[f>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>0]=c[P>>0]|0;c[y+1>>0]=c[P+1>>0]|0;c[y+2>>0]=c[P+2>>0]|0;c[E>>0]=m;c[E+1>>0]=p;c[E+2>>0]=g;i=_+(i*3|0)|0;c[d>>0]=c[y>>0]|0;c[d+1>>0]=c[y+1>>0]|0;c[d+2>>0]=c[y+2>>0]|0;c[k>>0]=c[E>>0]|0;c[k+1>>0]=c[E+1>>0]|0;c[k+2>>0]=c[E+2>>0]|0;c[T>>0]=c[i>>0]|0;c[T+1>>0]=c[i+1>>0]|0;c[T+2>>0]=c[i+2>>0]|0;nf(w,e,d,k,T);c[P>>0]=c[w>>0]|0;c[P+1>>0]=c[w+1>>0]|0;c[P+2>>0]=c[w+2>>0]|0;P=h[f>>2]|0;h[f>>2]=(P|0)<1?0:P+-1|0;P=u+1|0;v=S;return P|0}if(!r){P=A;v=S;return P|0}Xt(e,1,1);P=A;v=S;return P|0}function rf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0;_=i>>31;f=(_^i)-_|0;k=e+196+(f*12|0)+10|0;a=d[k>>1]|0;b=e+196+(f*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){i=5;while(1)if((a<>1]^_)-_+t|0;w=e+136|0;t=h[w>>2]|0;if((n&t|0)==(n|0))o=n;else o=t&~(n>>31);n=(r-o^_)-_|0;s=e+144|0;t=h[s>>2]|0;if((n|0)>0)n=(n+t|0)/(t<<1|1|0)|0;else n=(n-t|0)/(t<<1|1|0)|0;c=e+140|0;l=h[c>>2]|0;r=((n|0)<0?l:0)+n|0;l=r-((r|0)<((l+1|0)/2|0|0)?0:l)|0;f=e+196+(f*12|0)+4|0;if(!(t|i))n=(h[f>>2]<<1)+-1+a>>31;else n=0;t=n^l;tf(e,i,t>>30^t<<1,h[e+156>>2]|0);t=h[e+160>>2]|0;i=(h[b>>2]|0)+((l|0)>-1?l:0-l|0)|0;n=(h[f>>2]|0)+(ce(h[s>>2]<<1|1,l)|0)|0;r=d[k>>1]|0;if((r|0)==(t|0)){i=i>>1;n=n>>1;r=t>>1}h[b>>2]=i;t=r+1|0;d[k>>1]=t;i=t+n|0;if((i|0)>=1){if((n|0)>0){n=n-t|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);n=(n|0)>0?0:n}}else{n=d[u>>1]|0;d[u>>1]=(n&65535)-(n<<16>>16>-128&1);n=(i|0)>(~r|0)?i:0-r|0}h[f>>2]=n;t=h[s>>2]|0;r=t<<1|1;i=(ce(r,(l^_)-_|0)|0)+o|0;if((i|0)>=(0-t|0)){n=h[w>>2]|0;if((n+t|0)<(i|0))i=i-(ce(h[c>>2]|0,r)|0)|0}else{i=(ce(h[c>>2]|0,r)|0)+i|0;n=h[w>>2]|0}if((i&n|0)==(i|0)){_=i;_=_&255;return _|0}_=n&~(i>>31);_=_&255;return _|0}function tf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=r>>i;f=e+148|0;a=t-(h[f>>2]|0)|0;if((n|0)<(a+-1|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-31-(h[f>>2]|0)|0)}else Xt(e,1,a);i=h[f>>2]|0;Xt(e,(1<>0]|0;k=d-(b[t>>0]|0)>>31|1;f=ce(k,(b[r>>0]|0)-d|0)|0;o=i+144|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;y=i+140|0;s=h[y>>2]|0;l=((f|0)<0?s:0)+f|0;s=l-((l|0)<((s+1|0)/2|0|0)?0:s)|0;l=i+4576|0;ff(i,l,s);p=b[n+1>>0]|0;v=p-(b[t+1>>0]|0)>>31|1;f=ce(v,(b[r+1>>0]|0)-p|0)|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;w=h[y>>2]|0;g=((f|0)<0?w:0)+f|0;w=g-((g|0)<((w+1|0)/2|0|0)?0:w)|0;ff(i,l,w);g=b[n+2>>0]|0;m=g-(b[t+2>>0]|0)>>31|1;f=ce(m,(b[r+2>>0]|0)-g|0)|0;a=h[o>>2]|0;if((f|0)>0)f=(f+a|0)/(a<<1|1|0)|0;else f=(f-a|0)/(a<<1|1|0)|0;u=h[y>>2]|0;f=((f|0)<0?u:0)+f|0;u=f-((f|0)<((u+1|0)/2|0|0)?0:u)|0;ff(i,l,u);l=h[o>>2]|0;o=l<<1|1;f=(ce(ce(o,s)|0,k)|0)+d|0;r=0-l|0;if((f|0)>=(r|0)){a=h[_>>2]|0;if((a+l|0)<(f|0)){f=f-(ce(h[y>>2]|0,o)|0)|0;t=a}else t=a}else{f=(ce(h[y>>2]|0,o)|0)+f|0;t=h[_>>2]|0}if((f&t|0)!=(f|0))f=t&~(f>>31);n=f&255;f=(ce(ce(o,w)|0,v)|0)+p|0;if((f|0)>=(r|0)){if((t+l|0)<(f|0))f=f-(ce(h[y>>2]|0,o)|0)|0}else f=(ce(h[y>>2]|0,o)|0)+f|0;if((f&t|0)!=(f|0))f=t&~(f>>31);a=f&255;f=(ce(ce(o,u)|0,m)|0)+g|0;if((f|0)>=(r|0)){if((t+l|0)<(f|0))f=f-(ce(h[y>>2]|0,o)|0)|0}else f=(ce(h[y>>2]|0,o)|0)+f|0;if((f&t|0)==(f|0)){y=f;y=y&255;c[e>>0]=n;g=e+1|0;c[g>>0]=a;e=e+2|0;c[e>>0]=y;return}y=t&~(f>>31);y=y&255;c[e>>0]=n;g=e+1|0;c[g>>0]=a;e=e+2|0;c[e>>0]=y;return}function ff(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;tf(e,n,t,(h[e+156>>2]|0)+-1-(h[36476+(h[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function af(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+144|0;e:do{if(!(h[d>>2]|0)){r=h[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+184>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+188>>2]|0):0)?(h[t+12>>2]|0)==(h[e+192>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4612>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4612>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4612>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4612>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+152|0}while(0);u=1<>2];r=e+4616|0;t=u<<1;n=e+4620|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4612|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+192|0;s=e+188|0;a=e+184|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function lf(e){e=e|0;var i=0,r=0;h[e>>2]=35996;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function sf(e){e=e|0;var i=0,r=0;h[e>>2]=35996;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function of(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,65535,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+160>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+164>>2]=f;h[e+168>>2]=t;mf(e);t=0;do{h[e+172+(t*12|0)>>2]=1024;h[e+172+(t*12|0)+4>>2]=0;d[e+172+(t*12|0)+8>>1]=0;d[e+172+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4552>>2]=1024;h[e+4556>>2]=0;c[e+4560>>0]=l;c[e+4561>>0]=1;c[e+4562>>0]=0;h[e+4564>>2]=1024;h[e+4568>>2]=1;c[e+4572>>0]=l;c[e+4573>>0]=1;c[e+4574>>0]=0;h[e+4576>>2]=0;v=n;return}function uf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4600)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35772;n=i+132|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+148>>2]=h[t>>2];h[i+152>>2]=0;h[i+156>>2]=0;h[i+160>>2]=0;n=i+4544|0;t=i+164|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4556|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4568|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];df(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;df(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function cf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function df(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+32|0;y=p+12|0;m=p;k=e+156|0;w=(h[k>>2]|0)+4|0;if((h[e+32>>2]|0)==1)_=h[e+24>>2]|0;else _=1;i=ce(_<<1,w)|0;h[y>>2]=0;E=y+4|0;h[E>>2]=0;h[y+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,y|0),g=T,T=0,g&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,g=T,T=0,!(g&1)):0){h[y>>2]=t;g=t+(i<<1)|0;h[y+8>>2]=g;Cm(t|0,0,r|0)|0;h[E>>2]=g;break}t=Ze()|0;i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[m>>2]=0;g=m+4|0;h[g>>2]=0;h[m+8>>2]=0;do{if(!_)a=18;else{if(!(_>>>0>1073741823?(T=0,pe(178,m|0),b=T,T=0,b&1):0))a=16;if((a|0)==16?(n=_<<2,T=0,f=ye(67,n|0)|0,b=T,T=0,!(b&1)):0){h[m>>2]=f;a=f+(_<<2)|0;h[m+8>>2]=a;Cm(f|0,0,n|0)|0;h[g>>2]=a;a=18;break}t=Ze()|0;i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+12|0;e:do{if((h[f>>2]|0)>0){a=e+4580|0;l=(ce(_,w)|0)+1|0;s=e+4584|0;o=e+92|0;u=(_|0)>0;c=e+4576|0;b=0;i:while(1){r=h[y>>2]|0;i=r+2|0;h[a>>2]=i;r=r+(l<<1)|0;h[s>>2]=r;if(!(b&1))i=r;else{h[a>>2]=r;h[s>>2]=i}n=h[o>>2]|0;T=0;Fe(h[(h[n>>2]|0)+12>>2]|0,n|0,i|0,h[k>>2]|0,w|0);n=T;T=0;if(n&1){a=28;break}if(u){i=h[a>>2]|0;r=h[s>>2]|0;t=h[m>>2]|0;n=0;do{h[c>>2]=h[t+(n<<2)>>2];t=h[k>>2]|0;d[i+(t<<1)>>1]=d[i+(t+-1<<1)>>1]|0;d[r+-2>>1]=d[i>>1]|0;T=0;ve(71,e|0,0);t=T;T=0;if(t&1){a=27;break i}t=h[m>>2]|0;h[t+(n<<2)>>2]=h[c>>2];i=(h[a>>2]|0)+(w<<1)|0;h[a>>2]=i;r=(h[s>>2]|0)+(w<<1)|0;h[s>>2]=r;n=n+1|0}while((n|0)<(_|0))}b=b+1|0;if((b|0)>=(h[f>>2]|0)){a=40;break e}}if((a|0)==27){t=Ze()|0;break}else if((a|0)==28){t=Ze()|0;break}}else a=40}while(0);do{if((a|0)==40){T=0;pe(182,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[m>>2]|0;r=i;if(i){t=h[g>>2]|0;if((t|0)!=(i|0))h[g>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[y>>2]|0;if(!i){v=p;return}r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=p;return}}while(0);i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function hf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4580|0;i=h[b>>2]|0;m=e+156|0;if((h[m>>2]|0)<=0)return;w=e+4584|0;_=e+4588|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(kf(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=bf(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function bf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;k=e+172+(s*12|0)+10|0;a=d[k>>1]|0;b=e+172+(s*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){f=5;while(1)if((a<>1]^w)-w+t|0;if((n&65535|0)==(n|0))u=n;else u=n>>31&65535^65535;l=(r-u^w)-w<<16;o=l>>16;if(!f)n=(h[e+172+(s*12|0)+4>>2]<<1)+-1+a>>31;else n=0;t=n^o;t=t>>30^t<<1;n=t>>f;if((n|0)<47){if((n|0)>30){a=(n|0)/2|0;Xt(e,0,a);n=n-a|0}Xt(e,1,n+1|0);Xt(e,t&(1<>1]|0;n=a<<16>>16==64;f=n&1;r=(h[t>>2]|0)+o>>f;a=n?32:a<<16>>16;h[b>>2]=(h[b>>2]|0)+((l|0)>-65536?o:0-o|0)>>f;f=a+1|0;d[k>>1]=f;n=f+r|0;if((n|0)<1){k=d[c>>1]|0;d[c>>1]=(k&65535)-(k<<16>>16>-128&1);k=(n|0)>(~a|0)?n:0-a|0;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&65535;return i|0}if((r|0)<=0){k=r;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&65535;return i|0}k=r-f|0;b=d[c>>1]|0;d[c>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&65535;return i|0}function kf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;a=(h[e+156>>2]|0)-i|0;l=h[e+4584>>2]|0;o=h[e+4580>>2]|0;n=d[l+(i+-1<<1)>>1]|0;t=0;while(1){r=l+(t+i<<1)|0;if((d[r>>1]|0)!=n<<16>>16){u=t;break}d[r>>1]=n;t=t+1|0;if((t|0)==(a|0)){u=a;break}}f=n&65535;n=(u|0)==(a|0);s=e+4576|0;t=h[36476+(h[s>>2]<<2)>>2]|0;if((1<(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[s>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[s>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>1]|0;r=k[o+(r<<1)>>1]|0;o=f-r|0;if((((o|0)>-1?o:0-o|0)|0)<1){r=t-f<<16>>16;wf(e,e+4564|0,r);r=r+f|0}else{o=r-f>>31|1;i=(ce(t-r<<16,o)|0)>>16;wf(e,e+4552|0,i);r=(ce(i,o)|0)+r|0}d[n>>1]=r;e=h[s>>2]|0;h[s>>2]=(e|0)<1?0:e+-1|0;e=u+1|0;return e|0}function wf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;_f(e,n,t,63-(h[36476+(h[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function _f(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-16|0;if((n|0)<(t+-17|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-47|0)}else Xt(e,1,f);Xt(e,r+65535&65535,16);return}function mf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,65535,0);s=e+160|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+164>>2]|0):0)?(h[l+12>>2]|0)==(h[e+168>>2]|0):0){s=h[8909]|0;h[e+4588>>2]=s+(((h[8910]|0)-s|0)>>>1);v=o;return}r=e+4592|0;t=e+4596|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=131072){if(f>>>0>131072?(a=i+131072|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,131072-f|0);i=h[r>>2]|0}l=e+4588|0;h[l>>2]=i+65536;a=e+168|0;n=e+164|0;f=-65536;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==65536)break}v=o;return}function pf(e){e=e|0;var i=0,r=0;h[e>>2]=35968;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function vf(e){e=e|0;var i=0,r=0;h[e>>2]=35968;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function gf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,4095,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+160>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+164>>2]=f;h[e+168>>2]=t;Rf(e);t=0;do{h[e+172+(t*12|0)>>2]=64;h[e+172+(t*12|0)+4>>2]=0;d[e+172+(t*12|0)+8>>1]=0;d[e+172+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4552>>2]=64;h[e+4556>>2]=0;c[e+4560>>0]=l;c[e+4561>>0]=1;c[e+4562>>0]=0;h[e+4564>>2]=64;h[e+4568>>2]=1;c[e+4572>>0]=l;c[e+4573>>0]=1;c[e+4574>>0]=0;h[e+4576>>2]=0;v=n;return}function yf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4600)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35744;n=i+132|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+148>>2]=h[t>>2];h[i+152>>2]=0;h[i+156>>2]=0;h[i+160>>2]=0;n=i+4544|0;t=i+164|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4556|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4568|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];Af(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;Af(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function Ef(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Af(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+32|0;y=p+12|0;m=p;k=e+156|0;w=(h[k>>2]|0)+4|0;if((h[e+32>>2]|0)==1)_=h[e+24>>2]|0;else _=1;i=ce(_<<1,w)|0;h[y>>2]=0;E=y+4|0;h[E>>2]=0;h[y+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,y|0),g=T,T=0,g&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,g=T,T=0,!(g&1)):0){h[y>>2]=t;g=t+(i<<1)|0;h[y+8>>2]=g;Cm(t|0,0,r|0)|0;h[E>>2]=g;break}t=Ze()|0;i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[m>>2]=0;g=m+4|0;h[g>>2]=0;h[m+8>>2]=0;do{if(!_)a=18;else{if(!(_>>>0>1073741823?(T=0,pe(178,m|0),b=T,T=0,b&1):0))a=16;if((a|0)==16?(n=_<<2,T=0,f=ye(67,n|0)|0,b=T,T=0,!(b&1)):0){h[m>>2]=f;a=f+(_<<2)|0;h[m+8>>2]=a;Cm(f|0,0,n|0)|0;h[g>>2]=a;a=18;break}t=Ze()|0;i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+12|0;e:do{if((h[f>>2]|0)>0){a=e+4580|0;l=(ce(_,w)|0)+1|0;s=e+4584|0;o=e+92|0;u=(_|0)>0;c=e+4576|0;b=0;i:while(1){r=h[y>>2]|0;i=r+2|0;h[a>>2]=i;r=r+(l<<1)|0;h[s>>2]=r;if(!(b&1))i=r;else{h[a>>2]=r;h[s>>2]=i}n=h[o>>2]|0;T=0;Fe(h[(h[n>>2]|0)+12>>2]|0,n|0,i|0,h[k>>2]|0,w|0);n=T;T=0;if(n&1){a=28;break}if(u){i=h[a>>2]|0;r=h[s>>2]|0;t=h[m>>2]|0;n=0;do{h[c>>2]=h[t+(n<<2)>>2];t=h[k>>2]|0;d[i+(t<<1)>>1]=d[i+(t+-1<<1)>>1]|0;d[r+-2>>1]=d[i>>1]|0;T=0;ve(72,e|0,0);t=T;T=0;if(t&1){a=27;break i}t=h[m>>2]|0;h[t+(n<<2)>>2]=h[c>>2];i=(h[a>>2]|0)+(w<<1)|0;h[a>>2]=i;r=(h[s>>2]|0)+(w<<1)|0;h[s>>2]=r;n=n+1|0}while((n|0)<(_|0))}b=b+1|0;if((b|0)>=(h[f>>2]|0)){a=40;break e}}if((a|0)==27){t=Ze()|0;break}else if((a|0)==28){t=Ze()|0;break}}else a=40}while(0);do{if((a|0)==40){T=0;pe(182,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[m>>2]|0;r=i;if(i){t=h[g>>2]|0;if((t|0)!=(i|0))h[g>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[y>>2]|0;if(!i){v=p;return}r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=p;return}}while(0);i=h[m>>2]|0;r=i;if(i){n=h[g>>2]|0;if((n|0)!=(i|0))h[g>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[y>>2]|0;if(!i)si(t|0);r=h[E>>2]|0;if((r|0)!=(i|0))h[E>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function Mf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4580|0;i=h[b>>2]|0;m=e+156|0;if((h[m>>2]|0)<=0)return;w=e+4584|0;_=e+4588|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(Sf(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=Tf(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function Tf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;k=e+172+(s*12|0)+10|0;a=d[k>>1]|0;b=e+172+(s*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){f=5;while(1)if((a<>1]^w)-w+t|0;if((n&4095|0)==(n|0))u=n;else u=n>>31&4095^4095;l=(r-u^w)-w<<20;o=l>>20;if(!f)n=(h[e+172+(s*12|0)+4>>2]<<1)+-1+a>>31;else n=0;t=n^o;t=t>>30^t<<1;n=t>>f;if((n|0)<35){if((n|0)>30){a=(n|0)/2|0;Xt(e,0,a);n=n-a|0}Xt(e,1,n+1|0);Xt(e,t&(1<>1]|0;n=a<<16>>16==64;f=n&1;r=(h[t>>2]|0)+o>>f;a=n?32:a<<16>>16;h[b>>2]=(h[b>>2]|0)+((l|0)>-1048576?o:0-o|0)>>f;f=a+1|0;d[k>>1]=f;n=f+r|0;if((n|0)<1){k=d[c>>1]|0;d[c>>1]=(k&65535)-(k<<16>>16>-128&1);k=(n|0)>(~a|0)?n:0-a|0;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}if((r|0)<=0){k=r;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}k=r-f|0;b=d[c>>1]|0;d[c>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}function Sf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;a=(h[e+156>>2]|0)-i|0;l=h[e+4584>>2]|0;o=h[e+4580>>2]|0;n=d[l+(i+-1<<1)>>1]|0;t=0;while(1){r=l+(t+i<<1)|0;if((d[r>>1]|0)!=n<<16>>16){u=t;break}d[r>>1]=n;t=t+1|0;if((t|0)==(a|0)){u=a;break}}f=n&65535;n=(u|0)==(a|0);s=e+4576|0;t=h[36476+(h[s>>2]<<2)>>2]|0;if((1<(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[s>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[s>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>1]|0;r=k[o+(r<<1)>>1]|0;o=f-r|0;if((((o|0)>-1?o:0-o|0)|0)<1){r=t-f<<20>>20;Pf(e,e+4564|0,r);r=r+f|0}else{o=r-f>>31|1;i=(ce(t-r<<20,o)|0)>>20;Pf(e,e+4552|0,i);r=(ce(i,o)|0)+r|0}d[n>>1]=r&4095;e=h[s>>2]|0;h[s>>2]=(e|0)<1?0:e+-1|0;e=u+1|0;return e|0}function Pf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;Of(e,n,t,47-(h[36476+(h[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function Of(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-12|0;if((n|0)<(t+-13|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-43|0)}else Xt(e,1,f);Xt(e,r+4095&4095,12);return}function Rf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,4095,0);s=e+160|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+164>>2]|0):0)?(h[l+12>>2]|0)==(h[e+168>>2]|0):0){s=h[8906]|0;h[e+4588>>2]=s+(((h[8907]|0)-s|0)>>>1);v=o;return}r=e+4592|0;t=e+4596|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=8192){if(f>>>0>8192?(a=i+8192|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,8192-f|0);i=h[r>>2]|0}l=e+4588|0;h[l>>2]=i+4096;a=e+168|0;n=e+164|0;f=-4096;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==4096)break}v=o;return}function Lf(e){e=e|0;var i=0,r=0;h[e>>2]=35940;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Cf(e){e=e|0;var i=0,r=0;h[e>>2]=35940;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Df(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,255,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+160>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+164>>2]=f;h[e+168>>2]=t;Yf(e);t=0;do{h[e+172+(t*12|0)>>2]=4;h[e+172+(t*12|0)+4>>2]=0;d[e+172+(t*12|0)+8>>1]=0;d[e+172+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4552>>2]=4;h[e+4556>>2]=0;c[e+4560>>0]=l;c[e+4561>>0]=1;c[e+4562>>0]=0;h[e+4564>>2]=4;h[e+4568>>2]=1;c[e+4572>>0]=l;c[e+4573>>0]=1;c[e+4574>>0]=0;h[e+4576>>2]=0;v=n;return}function xf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4600)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35716;n=i+132|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+148>>2]=h[t>>2];h[i+152>>2]=0;h[i+156>>2]=0;h[i+160>>2]=0;n=i+4544|0;t=i+164|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4556|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4568|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];Bf(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;Bf(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function If(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Bf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;m=v;v=v+32|0;g=m+12|0;_=m;b=e+156|0;k=(h[b>>2]|0)+4|0;if((h[e+32>>2]|0)==1)w=h[e+24>>2]|0;else w=1;i=ce(w<<1,k)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;e:do{if(i){if(!((i|0)<0?(T=0,pe(178,g|0),p=T,T=0,p&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;h[g+8>>2]=r+i;while(1){c[r>>0]=0;r=(h[y>>2]|0)+1|0;h[y>>2]=r;i=i+-1|0;if(!i)break e}}r=Ze()|0;i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!w)f=19;else{if(!(w>>>0>1073741823?(T=0,pe(178,_|0),d=T,T=0,d&1):0))f=17;if((f|0)==17?(t=w<<2,T=0,n=ye(67,t|0)|0,d=T,T=0,!(d&1)):0){h[_>>2]=n;f=n+(w<<2)|0;h[_+8>>2]=f;Cm(n|0,0,t|0)|0;h[p>>2]=f;f=19;break}r=Ze()|0;i=h[_>>2]|0;t=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){n=e+12|0;e:do{if((h[n>>2]|0)>0){f=e+4580|0;a=(ce(w,k)|0)+1|0;l=e+4584|0;s=e+92|0;o=(w|0)>0;u=e+4576|0;d=0;i:while(1){r=h[g>>2]|0;i=r+1|0;h[f>>2]=i;r=r+a|0;h[l>>2]=r;if(!(d&1))i=r;else{h[f>>2]=r;h[l>>2]=i}t=h[s>>2]|0;T=0;Fe(h[(h[t>>2]|0)+12>>2]|0,t|0,i|0,h[b>>2]|0,k|0);t=T;T=0;if(t&1){f=29;break}if(o){i=h[f>>2]|0;r=h[_>>2]|0;t=0;do{h[u>>2]=h[r+(t<<2)>>2];r=h[b>>2]|0;c[i+r>>0]=c[i+(r+-1)>>0]|0;c[(h[l>>2]|0)+-1>>0]=c[h[f>>2]>>0]|0;T=0;ve(73,e|0,0);r=T;T=0;if(r&1){f=28;break i}r=h[_>>2]|0;h[r+(t<<2)>>2]=h[u>>2];i=(h[f>>2]|0)+k|0;h[f>>2]=i;h[l>>2]=(h[l>>2]|0)+k;t=t+1|0}while((t|0)<(w|0))}d=d+1|0;if((d|0)>=(h[n>>2]|0)){f=41;break e}}if((f|0)==28){r=Ze()|0;break}else if((f|0)==29){r=Ze()|0;break}}else f=41}while(0);do{if((f|0)==41){T=0;pe(182,e|0);e=T;T=0;if(e&1){r=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);v=m;return}}while(0);i=h[_>>2]|0;t=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0)}function Nf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0;d=e+4580|0;i=h[d>>2]|0;_=e+156|0;if((h[_>>2]|0)<=0)return;k=e+4584|0;w=e+4588|0;n=i;f=b[i+-1>>0]|0;i=b[i>>0]|0;u=0;while(1){o=h[k>>2]|0;s=b[o+(u+-1)>>0]|0;t=u+1|0;r=b[n+t>>0]|0;l=h[w>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(Uf(e,u,0)|0)+u|0;r=h[d>>2]|0;i=b[r+(t+-1)>>0]|0;r=b[r+t>>0]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=Ff(e,l,b[o+u>>0]|0,n,0)|0;c[(h[k>>2]|0)+u>>0]=o}if((t|0)>=(h[_>>2]|0))break;n=h[d>>2]|0;f=i;i=r;u=t}return}function Ff(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;k=e+172+(s*12|0)+10|0;a=d[k>>1]|0;b=e+172+(s*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){f=5;while(1)if((a<>1]^w)-w+t|0;if((n&255|0)==(n|0))u=n;else u=n>>31&255^255;l=(r-u^w)-w<<24;o=l>>24;if(!f)n=(h[e+172+(s*12|0)+4>>2]<<1)+-1+a>>31;else n=0;n=n^o;n=n>>30^n<<1;t=n>>f;if((t|0)<23){Xt(e,1,t+1|0);Xt(e,n&(1<>1]|0;n=a<<16>>16==64;f=n&1;r=(h[t>>2]|0)+o>>f;a=n?32:a<<16>>16;h[b>>2]=(h[b>>2]|0)+((l|0)>-16777216?o:0-o|0)>>f;f=a+1|0;d[k>>1]=f;n=f+r|0;if((n|0)<1){k=d[c>>1]|0;d[c>>1]=(k&65535)-(k<<16>>16>-128&1);k=(n|0)>(~a|0)?n:0-a|0;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}if((r|0)<=0){k=r;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}k=r-f|0;b=d[c>>1]|0;d[c>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}function Uf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;a=(h[e+156>>2]|0)-i|0;l=h[e+4584>>2]|0;o=h[e+4580>>2]|0;n=c[l+(i+-1)>>0]|0;t=0;while(1){r=l+(t+i)|0;if((c[r>>0]|0)!=n<<24>>24){u=t;break}c[r>>0]=n;t=t+1|0;if((t|0)==(a|0)){u=a;break}}f=n&255;n=(u|0)==(a|0);s=e+4576|0;t=h[36476+(h[s>>2]<<2)>>2]|0;if((1<(u|0))r=u;else{r=u;do{Xt(e,1,1);t=h[s>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[s>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>0]|0;r=b[o+r>>0]|0;o=f-r|0;if((((o|0)>-1?o:0-o|0)|0)<1){r=t-f<<24>>24;jf(e,e+4564|0,r);r=r+f|0}else{o=r-f>>31|1;i=(ce(t-r<<24,o)|0)>>24;jf(e,e+4552|0,i);r=(ce(i,o)|0)+r|0}c[n>>0]=r;e=h[s>>2]|0;h[s>>2]=(e|0)<1?0:e+-1|0;e=u+1|0;return e|0}function jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;Hf(e,n,t,31-(h[36476+(h[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function Hf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-8|0;if((n|0)<(t+-9|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-39|0)}else Xt(e,1,f);Xt(e,r+255&255,8);return}function Yf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,255,0);s=e+160|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+164>>2]|0):0)?(h[l+12>>2]|0)==(h[e+168>>2]|0):0){s=h[8900]|0;h[e+4588>>2]=s+(((h[8901]|0)-s|0)>>>1);v=o;return}r=e+4592|0;t=e+4596|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=512){if(f>>>0>512?(a=i+512|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,512-f|0);i=h[r>>2]|0}l=e+4588|0;h[l>>2]=i+256;a=e+168|0;n=e+164|0;f=-256;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==256)break}v=o;return}function qf(e){e=e|0;var i=0,r=0;h[e>>2]=35912;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Xf(e){e=e|0;var i=0,r=0;h[e>>2]=35912;i=h[e+4592>>2]|0;if(i){r=e+4596|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function zf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,255,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+160>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+164>>2]=f;h[e+168>>2]=t;ea(e);t=0;do{h[e+172+(t*12|0)>>2]=4;h[e+172+(t*12|0)+4>>2]=0;d[e+172+(t*12|0)+8>>1]=0;d[e+172+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4552>>2]=4;h[e+4556>>2]=0;c[e+4560>>0]=l;c[e+4561>>0]=1;c[e+4562>>0]=0;h[e+4564>>2]=4;h[e+4568>>2]=1;c[e+4572>>0]=l;c[e+4573>>0]=1;c[e+4574>>0]=0;h[e+4576>>2]=0;v=n;return}function Vf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4600)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35688;n=i+132|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+148>>2]=h[t>>2];h[i+152>>2]=0;h[i+156>>2]=0;h[i+160>>2]=0;n=i+4544|0;t=i+164|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4556|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4568|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];Kf(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;Kf(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function Gf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Kf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;m=v;v=v+32|0;g=m+12|0;_=m;b=e+156|0;k=(h[b>>2]|0)+4|0;if((h[e+32>>2]|0)==1)w=h[e+24>>2]|0;else w=1;i=ce(w<<1,k)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(T=0,pe(178,g|0),p=T,T=0,p&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i*3|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;h[g+8>>2]=r+(i*3|0);while(1){c[r>>0]=0;c[r+1>>0]=0;c[r+2>>0]=0;r=(h[y>>2]|0)+3|0;h[y>>2]=r;i=i+-1|0;if(!i)break e}}t=Ze()|0;i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!w)f=19;else{if(!(w>>>0>1073741823?(T=0,pe(178,_|0),d=T,T=0,d&1):0))f=17;if((f|0)==17?(t=w<<2,T=0,n=ye(67,t|0)|0,d=T,T=0,!(d&1)):0){h[_>>2]=n;f=n+(w<<2)|0;h[_+8>>2]=f;Cm(n|0,0,t|0)|0;h[p>>2]=f;f=19;break}t=Ze()|0;i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){n=e+12|0;e:do{if((h[n>>2]|0)>0){f=e+4580|0;a=(ce(w,k)|0)+1|0;l=e+4584|0;s=e+92|0;o=(w|0)>0;u=e+4576|0;d=0;i:while(1){t=h[g>>2]|0;i=t+3|0;h[f>>2]=i;r=t+(a*3|0)|0;h[l>>2]=r;if(!(d&1))i=a;else{h[f>>2]=r;h[l>>2]=i;i=1}r=h[s>>2]|0;T=0;Fe(h[(h[r>>2]|0)+12>>2]|0,r|0,t+(i*3|0)|0,h[b>>2]|0,k|0);t=T;T=0;if(t&1){f=29;break}if(o){i=h[_>>2]|0;r=h[f>>2]|0;t=0;do{h[u>>2]=h[i+(t<<2)>>2];E=h[b>>2]|0;i=r+(E*3|0)|0;r=r+((E+-1|0)*3|0)|0;c[i>>0]=c[r>>0]|0;c[i+1>>0]=c[r+1>>0]|0;c[i+2>>0]=c[r+2>>0]|0;i=h[f>>2]|0;r=(h[l>>2]|0)+-3|0;c[r>>0]=c[i>>0]|0;c[r+1>>0]=c[i+1>>0]|0;c[r+2>>0]=c[i+2>>0]|0;T=0;ve(74,e|0,0);r=T;T=0;if(r&1){f=28;break i}i=h[_>>2]|0;h[i+(t<<2)>>2]=h[u>>2];r=(h[f>>2]|0)+(k*3|0)|0;h[f>>2]=r;h[l>>2]=(h[l>>2]|0)+(k*3|0);t=t+1|0}while((t|0)<(w|0))}d=d+1|0;if((d|0)>=(h[n>>2]|0)){f=41;break e}}if((f|0)==28){t=Ze()|0;break}else if((f|0)==29){t=Ze()|0;break}}else f=41}while(0);do{if((f|0)==41){T=0;pe(182,e|0);E=T;T=0;if(E&1){t=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);v=m;return}}while(0);i=h[_>>2]|0;r=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(t|0);r=h[y>>2]|0;if((r|0)!=(i|0))h[y>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}function Wf(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0;T=e+156|0;if((h[T>>2]|0)<=0)return;S=e+4584|0;P=e+4580|0;O=e+4588|0;M=0;while(1){y=M+-1|0;f=h[S>>2]|0;a=h[P>>2]|0;i=M+1|0;n=b[a+(M*3|0)>>0]|0;A=h[O>>2]|0;l=b[a+(y*3|0)>>0]|0;s=n-l|0;o=b[f+(y*3|0)>>0]|0;u=l-o|0;d=((((c[A+((b[a+(i*3|0)>>0]|0)-n)>>0]|0)*9|0)+(c[A+s>>0]|0)|0)*9|0)+(c[A+u>>0]|0)|0;t=b[a+(M*3|0)+1>>0]|0;k=b[a+(y*3|0)+1>>0]|0;w=t-k|0;_=b[f+(y*3|0)+1>>0]|0;m=k-_|0;p=((((c[A+((b[a+(i*3|0)+1>>0]|0)-t)>>0]|0)*9|0)+(c[A+w>>0]|0)|0)*9|0)+(c[A+m>>0]|0)|0;r=b[a+(M*3|0)+2>>0]|0;v=b[a+(y*3|0)+2>>0]|0;g=r-v|0;y=b[f+(y*3|0)+2>>0]|0;E=v-y|0;A=((((c[A+((b[a+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(c[A+g>>0]|0)|0)*9|0)+(c[A+E>>0]|0)|0;if(!(p|d|A))i=(Jf(e,M,0)|0)+M|0;else{a=b[f+(M*3|0)>>0]|0;f=n-o>>31;if((f^u|0)>=0)if((f^s|0)<0)n=o;else n=o-l+n|0;a=Zf(e,d,a,n,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+1>>0]|0;n=t-_>>31;if((n^m|0)>=0)if((n^w|0)<0)t=_;else t=_-k+t|0;n=Zf(e,p,f,t,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+2>>0]|0;t=r-y>>31;if((t^E|0)>=0)if((t^g|0)<0)r=y;else r=y-v+r|0;A=Zf(e,A,f,r,0)|0;M=(h[S>>2]|0)+(M*3|0)|0;c[M>>0]=a;c[M+1>>0]=n;c[M+2>>0]=A}if((i|0)<(h[T>>2]|0))M=i;else break}return}function Jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0;o=(h[e+156>>2]|0)-i|0;u=h[e+4584>>2]|0;d=h[e+4580>>2]|0;s=u+((i+-1|0)*3|0)|0;k=c[s>>0]|0;l=c[s+1>>0]|0;s=c[s+2>>0]|0;f=0;while(1){r=u+((f+i|0)*3|0)|0;t=r+1|0;n=r+2|0;if(!(((c[r>>0]|0)==k<<24>>24?(c[t>>0]|0)==l<<24>>24:0)&(c[n>>0]|0)==s<<24>>24))break;c[r>>0]=k;c[t>>0]=l;c[n>>0]=s;f=f+1|0;if((f|0)==(o|0)){f=o;break}}n=(f|0)==(o|0);a=e+4576|0;t=h[36476+(h[a>>2]<<2)>>2]|0;if((1<(f|0))r=f;else{r=f;do{Xt(e,1,1);t=h[a>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[a>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>0]|0;i=o+2|0;n=c[i>>0]|0;d=d+(t*3|0)|0;t=c[d+1>>0]|0;p=c[d+2>>0]|0;d=b[d>>0]|0;w=d-(k&255)>>31|1;_=(ce((b[o>>0]|0)-d<<24,w)|0)>>24;m=e+4552|0;Qf(e,m,_);k=t&255;t=k-(l&255)>>31|1;r=(ce((r&255)-k<<24,t)|0)>>24;Qf(e,m,r);l=p&255;s=l-(s&255)>>31|1;n=(ce((n&255)-l<<24,s)|0)>>24;Qf(e,m,n);d=(ce(_,w)|0)+d&255;k=(ce(r,t)|0)+k&255;e=(ce(n,s)|0)+l&255;c[o>>0]=d;c[u>>0]=k;c[i>>0]=e;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;e=f+1|0;return e|0}if(!r){p=o;return p|0}Xt(e,1,1);p=o;return p|0}function Zf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0;w=i>>31;s=(w^i)-w|0;k=e+172+(s*12|0)+10|0;a=d[k>>1]|0;b=e+172+(s*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){f=5;while(1)if((a<>1]^w)-w+t|0;if((n&255|0)==(n|0))u=n;else u=n>>31&255^255;l=(r-u^w)-w<<24;o=l>>24;if(!f)n=(h[e+172+(s*12|0)+4>>2]<<1)+-1+a>>31;else n=0;n=n^o;n=n>>30^n<<1;t=n>>f;if((t|0)<23){Xt(e,1,t+1|0);Xt(e,n&(1<>1]|0;n=a<<16>>16==64;f=n&1;r=(h[t>>2]|0)+o>>f;a=n?32:a<<16>>16;h[b>>2]=(h[b>>2]|0)+((l|0)>-16777216?o:0-o|0)>>f;f=a+1|0;d[k>>1]=f;n=f+r|0;if((n|0)<1){k=d[c>>1]|0;d[c>>1]=(k&65535)-(k<<16>>16>-128&1);k=(n|0)>(~a|0)?n:0-a|0;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}if((r|0)<=0){k=r;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}k=r-f|0;b=d[c>>1]|0;d[c>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[t>>2]=k;w=o^w;i=i>>>31;i=u+i|0;i=i+w|0;i=i&255;return i|0}function Qf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;$f(e,n,t,31-(h[36476+(h[e+4576>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function $f(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=r>>i;f=t+-8|0;if((n|0)<(t+-9|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-39|0)}else Xt(e,1,f);Xt(e,r+255&255,8);return}function ea(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,255,0);s=e+160|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+164>>2]|0):0)?(h[l+12>>2]|0)==(h[e+168>>2]|0):0){s=h[8900]|0;h[e+4588>>2]=s+(((h[8901]|0)-s|0)>>>1);v=o;return}r=e+4592|0;t=e+4596|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=512){if(f>>>0>512?(a=i+512|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,512-f|0);i=h[r>>2]|0}l=e+4588|0;h[l>>2]=i+256;a=e+168|0;n=e+164|0;f=-256;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==256)break}v=o;return}function ia(e){e=e|0;var i=0,r=0;h[e>>2]=35884;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);e=e+4|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function ra(e){e=e|0;var i=0,r=0;h[e>>2]=35884;i=h[e+4616>>2]|0;if(i){r=e+4620|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36612;i=h[e+120>>2]|0;if(i){r=e+124|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+92|0;i=h[r>>2]|0;h[r>>2]=0;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);r=e+4|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function ta(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+136>>2]|0,h[e+144>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+184>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+188>>2]=f;h[e+192>>2]=n;ha(e);n=e+140|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+196+(f*12|0)>>2]=i;h[e+196+(f*12|0)+4>>2]=0;d[e+196+(f*12|0)+8>>1]=0;d[e+196+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4576>>2]=l;h[e+4580>>2]=0;c[e+4584>>0]=s;c[e+4585>>0]=1;c[e+4586>>0]=0;h[e+4588>>2]=l;h[e+4592>>2]=1;c[e+4596>>0]=s;c[e+4597>>0]=1;c[e+4598>>0]=0;h[e+4600>>2]=0;v=a;return}function na(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;s=u;l=e+92|0;a=h[i>>2]|0;h[i>>2]=0;i=h[l>>2]|0;h[l>>2]=a;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);h[s>>2]=0;h[s+4>>2]=t;l=r+8|0;h[s+8>>2]=h[l>>2];if(t){i=Xv(4624)|0;t=e+8|0;n=i+4|0;f=t;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=i+88|0;a=n+40|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[i>>2]=35660;h[i+128>>2]=h[e+136>>2];h[i+132>>2]=h[e+140>>2];h[i+136>>2]=h[e+144>>2];h[i+140>>2]=h[e+148>>2];h[i+144>>2]=h[e+152>>2];h[i+148>>2]=h[e+156>>2];h[i+152>>2]=h[e+160>>2];n=i+156|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[i+172>>2]=h[t>>2];h[i+176>>2]=0;h[i+180>>2]=0;h[i+184>>2]=0;n=i+4568|0;t=i+188|0;do{h[t>>2]=0;h[t+4>>2]=0;d[t+8>>1]=0;d[t+10>>1]=1;t=t+12|0}while((t|0)!=(n|0));f=e+4|0;h[n>>2]=0;h[n+4>>2]=0;d[n+8>>1]=0;c[n+10>>0]=0;a=i+4580|0;h[a>>2]=0;h[a+4>>2]=0;d[a+8>>1]=0;c[a+10>>0]=0;a=i+4592|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[a+16>>2]=0;h[a+20>>2]=0;h[a+24>>2]=0;c[a+28>>0]=0;if(!(h[i+28>>2]|0))h[i+20>>2]=1;t=h[f>>2]|0;h[f>>2]=i;if(t){kE[h[(h[t>>2]|0)+4>>2]&255](t);i=h[f>>2]|0}Ft(i,s)}s=e+100|0;h[s>>2]=32;h[e+96>>2]=0;i=h[r>>2]|0;if(!i){h[e+108>>2]=h[r+4>>2];h[e+104>>2]=h[l>>2];aa(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}h[e+132>>2]=i;n=e+120|0;l=e+124|0;t=h[l>>2]|0;i=h[n>>2]|0;f=i;a=t-f|0;if(a>>>0>=4e3){if(a>>>0>4e3?(o=i+4e3|0,(t|0)!=(o|0)):0){h[l>>2]=o;t=o}}else{Ut(n,4e3-a|0);i=h[n>>2]|0;f=i;t=h[l>>2]|0}h[e+108>>2]=f;h[e+104>>2]=t-i;aa(e);o=e+116|0;o=h[o>>2]|0;e=h[s>>2]|0;e=e+-32|0;e=(e|0)/8|0;e=o-e|0;v=u;return e|0}function fa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+32>>2]|0)!=0?(h[e+24>>2]|0)!=1:0){k=e+8|0;_=e+36|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+16>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+20>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function aa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;m=v;v=v+32|0;g=m+12|0;_=m;k=e+180|0;w=(h[k>>2]|0)+4|0;if((h[e+32>>2]|0)==1)d=h[e+24>>2]|0;else d=1;i=ce(d<<1,w)|0;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;e:do{if(i){if(!((i|0)<0?(T=0,pe(178,g|0),p=T,T=0,p&1):0))b=6;if((b|0)==6?(T=0,r=ye(67,i|0)|0,p=T,T=0,!(p&1)):0){h[y>>2]=r;h[g>>2]=r;h[g+8>>2]=r+i;while(1){c[r>>0]=0;r=(h[y>>2]|0)+1|0;h[y>>2]=r;i=i+-1|0;if(!i)break e}}r=Ze()|0;i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0)}}while(0);h[_>>2]=0;p=_+4|0;h[p>>2]=0;h[_+8>>2]=0;do{if(!d)b=19;else{if(!(d>>>0>1073741823?(T=0,pe(178,_|0),u=T,T=0,u&1):0))b=17;if((b|0)==17?(t=d<<2,T=0,n=ye(67,t|0)|0,u=T,T=0,!(u&1)):0){h[_>>2]=n;b=n+(d<<2)|0;h[_+8>>2]=b;Cm(n|0,0,t|0)|0;h[p>>2]=b;b=19;break}r=Ze()|0;i=h[_>>2]|0;t=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}}while(0);if((b|0)==19){a=e+12|0;e:do{if((h[a>>2]|0)>0){l=e+4604|0;s=(ce(d,w)|0)+1|0;o=e+4608|0;u=e+92|0;f=e+4600|0;if((d|0)>0)n=0;else{t=0;while(1){r=h[g>>2]|0;i=r+1|0;h[l>>2]=i;r=r+s|0;h[o>>2]=r;if(!(t&1))i=r;else{h[l>>2]=r;h[o>>2]=i}d=h[u>>2]|0;T=0;Fe(h[(h[d>>2]|0)+12>>2]|0,d|0,i|0,h[k>>2]|0,w|0);d=T;T=0;if(d&1)break;t=t+1|0;if((t|0)>=(h[a>>2]|0)){b=45;break e}}r=Ze()|0;break}i:while(1){r=h[g>>2]|0;i=r+1|0;h[l>>2]=i;r=r+s|0;h[o>>2]=r;if(!(n&1))i=r;else{h[l>>2]=r;h[o>>2]=i}b=h[u>>2]|0;T=0;Fe(h[(h[b>>2]|0)+12>>2]|0,b|0,i|0,h[k>>2]|0,w|0);b=T;T=0;if(b&1){b=28;break}i=h[_>>2]|0;r=h[l>>2]|0;t=0;do{h[f>>2]=h[i+(t<<2)>>2];b=h[k>>2]|0;c[r+b>>0]=c[r+(b+-1)>>0]|0;c[(h[o>>2]|0)+-1>>0]=c[h[l>>2]>>0]|0;T=0;ve(75,e|0,0);b=T;T=0;if(b&1){b=36;break i}i=h[_>>2]|0;h[i+(t<<2)>>2]=h[f>>2];r=(h[l>>2]|0)+w|0;h[l>>2]=r;h[o>>2]=(h[o>>2]|0)+w;t=t+1|0}while((t|0)<(d|0));n=n+1|0;if((n|0)>=(h[a>>2]|0)){b=45;break e}}if((b|0)==28){r=Ze()|0;break}else if((b|0)==36){r=Ze()|0;break}}else b=45}while(0);do{if((b|0)==45){T=0;pe(182,e|0);e=T;T=0;if(e&1){r=Ze()|0;break}i=h[_>>2]|0;r=i;if(i){t=h[p>>2]|0;if((t|0)!=(i|0))h[p>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[g>>2]|0;if(!i){v=m;return}if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);v=m;return}}while(0);i=h[_>>2]|0;t=i;if(i){n=h[p>>2]|0;if((n|0)!=(i|0))h[p>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0)}function la(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0;d=e+4604|0;i=h[d>>2]|0;_=e+180|0;if((h[_>>2]|0)<=0)return;k=e+4608|0;w=e+4612|0;n=i;f=b[i+-1>>0]|0;i=b[i>>0]|0;u=0;while(1){o=h[k>>2]|0;s=b[o+(u+-1)>>0]|0;t=u+1|0;r=b[n+t>>0]|0;l=h[w>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(oa(e,u,0)|0)+u|0;r=h[d>>2]|0;i=b[r+(t+-1)>>0]|0;r=b[r+t>>0]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=sa(e,l,b[o+u>>0]|0,n,0)|0;c[(h[k>>2]|0)+u>>0]=o}if((t|0)>=(h[_>>2]|0))break;n=h[d>>2]|0;f=i;i=r;u=t}return}function sa(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0;_=i>>31;f=(_^i)-_|0;k=e+196+(f*12|0)+10|0;a=d[k>>1]|0;b=e+196+(f*12|0)|0;n=h[b>>2]|0;if((a|0)<(n|0))if((a<<1|0)<(n|0))if((a<<2|0)<(n|0))if((a<<3|0)<(n|0))if((a<<4|0)<(n|0)){i=5;while(1)if((a<>1]^_)-_+t|0;w=e+136|0;t=h[w>>2]|0;if((n&t|0)==(n|0))o=n;else o=t&~(n>>31);n=(r-o^_)-_|0;s=e+144|0;t=h[s>>2]|0;if((n|0)>0)n=(n+t|0)/(t<<1|1|0)|0;else n=(n-t|0)/(t<<1|1|0)|0;c=e+140|0;l=h[c>>2]|0;r=((n|0)<0?l:0)+n|0;l=r-((r|0)<((l+1|0)/2|0|0)?0:l)|0;f=e+196+(f*12|0)+4|0;if(!(t|i))n=(h[f>>2]<<1)+-1+a>>31;else n=0;t=n^l;da(e,i,t>>30^t<<1,h[e+156>>2]|0);t=h[e+160>>2]|0;i=(h[b>>2]|0)+((l|0)>-1?l:0-l|0)|0;n=(h[f>>2]|0)+(ce(h[s>>2]<<1|1,l)|0)|0;r=d[k>>1]|0;if((r|0)==(t|0)){i=i>>1;n=n>>1;r=t>>1}h[b>>2]=i;t=r+1|0;d[k>>1]=t;i=t+n|0;if((i|0)>=1){if((n|0)>0){n=n-t|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);n=(n|0)>0?0:n}}else{n=d[u>>1]|0;d[u>>1]=(n&65535)-(n<<16>>16>-128&1);n=(i|0)>(~r|0)?i:0-r|0}h[f>>2]=n;t=h[s>>2]|0;r=t<<1|1;i=(ce(r,(l^_)-_|0)|0)+o|0;if((i|0)>=(0-t|0)){n=h[w>>2]|0;if((n+t|0)<(i|0))i=i-(ce(h[c>>2]|0,r)|0)|0}else{i=(ce(h[c>>2]|0,r)|0)+i|0;n=h[w>>2]|0}if((i&n|0)==(i|0)){_=i;_=_&255;return _|0}_=n&~(i>>31);_=_&255;return _|0}function oa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;s=(h[e+180>>2]|0)-i|0;o=h[e+4608>>2]|0;u=h[e+4604>>2]|0;n=c[o+(i+-1)>>0]|0;l=n&255;r=e+144|0;f=0;while(1){t=o+(f+i)|0;a=(b[t>>0]|0)-l|0;if((((a|0)>-1?a:0-a|0)|0)>(h[r>>2]|0))break;c[t>>0]=n;f=f+1|0;if((f|0)==(s|0)){f=s;break}}n=(f|0)==(s|0);a=e+4600|0;t=h[36476+(h[a>>2]<<2)>>2]|0;if((1<(f|0))r=f;else{r=f;do{Xt(e,1,1);t=h[a>>2]|0;r=r-(1<>2])|0;t=(t|0)>30?31:t+1|0;h[a>>2]=t;t=h[36476+(t<<2)>>2]|0}while((r|0)>=(1<>0]|0,l,b[u+s>>0]|0)|0;c[i>>0]=e;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;e=f+1|0;return e|0}if(!r){e=s;return e|0}Xt(e,1,1);e=s;return e|0}function ua(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;l=r-t|0;s=e+136|0;a=e+144|0;n=h[a>>2]|0;if((((l|0)>-1?l:0-l|0)|0)>(n|0)){f=t-r>>31|1;i=ce(f,i-t|0)|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=h[l>>2]|0;r=((i|0)<0?n:0)+i|0;n=r-((r|0)<((n+1|0)/2|0|0)?0:n)|0;ca(e,e+4576|0,n);n=ce(n,f)|0;f=h[a>>2]|0;a=f<<1|1;n=(ce(n,a)|0)+t|0;if((n|0)>=(0-f|0)){i=h[s>>2]|0;if((i+f|0)<(n|0))n=n-(ce(h[l>>2]|0,a)|0)|0}else{n=(ce(h[l>>2]|0,a)|0)+n|0;i=h[s>>2]|0}if((n&i|0)==(n|0)){s=n;s=s&255;return s|0}s=i&~(n>>31);s=s&255;return s|0}else{i=i-r|0;if((i|0)>0)i=(n+i|0)/(n<<1|1|0)|0;else i=(i-n|0)/(n<<1|1|0)|0;l=e+140|0;n=h[l>>2]|0;f=((i|0)<0?n:0)+i|0;n=f-((f|0)<((n+1|0)/2|0|0)?0:n)|0;ca(e,e+4588|0,n);f=h[a>>2]|0;a=f<<1|1;n=(ce(a,n)|0)+r|0;if((n|0)>=(0-f|0)){i=h[s>>2]|0;if((i+f|0)<(n|0))n=n-(ce(h[l>>2]|0,a)|0)|0}else{n=(ce(h[l>>2]|0,a)|0)+n|0;i=h[s>>2]|0}if((n&i|0)==(n|0)){s=n;s=s&255;return s|0}s=i&~(n>>31);s=s&255;return s|0}return 0}function ca(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=i+9|0;a=b[u>>0]|0;o=i+4|0;s=h[o>>2]|0;n=(ce(a>>>1,s)|0)+(h[i>>2]|0)|0;if((a|0)<(n|0)){f=a;t=0;do{f=f<<1;t=t+1|0}while((f|0)<(n|0));n=t}else n=0;if((r|0)>0&(n|0)==0?b[i+10>>0]<<1>>>0>>0:0)t=1;else l=5;do{if((l|0)==5){t=(r|0)<0;if(t?b[i+10>>0]<<1>>>0>=a>>>0:0){t=1;break}t=t&(n|0)!=0}}while(0);t=(((r|0)>-1?r:0-r|0)<<1)-s+(t<<31>>31)|0;da(e,n,t,(h[e+156>>2]|0)+-1-(h[36476+(h[e+4600>>2]<<2)>>2]|0)|0);if((r|0)<0){e=i+10|0;c[e>>0]=(b[e>>0]|0)+1}t=(t+1-(h[o>>2]|0)>>1)+(h[i>>2]|0)|0;h[i>>2]=t;n=c[u>>0]|0;if(n<<24>>24!=(c[i+8>>0]|0)){i=n;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}h[i>>2]=t>>1;e=(n&255)>>>1;c[u>>0]=e;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=e;i=i&255;i=i+1|0;i=i&255;c[u>>0]=i;return}function da(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;n=r>>i;f=e+148|0;a=t-(h[f>>2]|0)|0;if((n|0)<(a+-1|0)){if((n|0)>30){t=(n|0)/2|0;Xt(e,0,t);n=n-t|0}Xt(e,1,n+1|0);Xt(e,(1<31){Xt(e,0,31);Xt(e,1,t+-31-(h[f>>2]|0)|0)}else Xt(e,1,a);i=h[f>>2]|0;Xt(e,(1<>2]|0)){r=h[e+136>>2]|0;i=e+152|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+184>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+188>>2]|0):0)?(h[t+12>>2]|0)==(h[e+192>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4612>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4612>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4612>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4612>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+152|0}while(0);u=1<>2];r=e+4616|0;t=u<<1;n=e+4620|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4612|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+192|0;s=e+188|0;a=e+184|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function ba(e){e=e|0;var i=0,r=0;h[e>>2]=35856;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function ka(e){e=e|0;var i=0,r=0;h[e>>2]=35856;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function wa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function _a(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+128>>2]|0,h[e+136>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+176>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+180>>2]=f;h[e+184>>2]=n;Pa(e);n=e+132|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+188+(f*12|0)>>2]=i;h[e+188+(f*12|0)+4>>2]=0;d[e+188+(f*12|0)+8>>1]=0;d[e+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4568>>2]=l;h[e+4572>>2]=0;c[e+4576>>0]=s;c[e+4577>>0]=1;c[e+4578>>0]=0;h[e+4580>>2]=l;h[e+4584>>2]=1;c[e+4588>>0]=s;c[e+4589>>0]=1;c[e+4590>>0]=0;h[e+4592>>2]=0;v=a;return}function ma(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4620>>0]=n&1;i=e+156|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);pa(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function pa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+172|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,S=T,T=0,!(S&1)):0){h[P>>2]=t;S=t+(i<<1)|0;h[P+8>>2]=S;Cm(t|0,0,r|0)|0;h[O>>2]=S;break}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)a=18;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))a=16;if((a|0)==16?(n=E<<2,T=0,f=ye(67,n|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=f;a=f+(E<<2)|0;h[A+8>>2]=a;Cm(f|0,0,n|0)|0;h[S>>2]=a;a=18;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4596|0;l=ce(E,y)|0;s=l+1|0;o=e+4600|0;u=(E|0)>0;c=e+160|0;b=e+168|0;k=e+164|0;w=e+156|0;_=e+88|0;m=e+4592|0;p=0;i:while(1){t=h[P>>2]|0;r=t+2|0;h[a>>2]=r;t=t+(s<<1)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];n=h[g>>2]|0;d[r+(n<<1)>>1]=d[r+(n+-1<<1)>>1]|0;d[i+-2>>1]=d[r>>1]|0;T=0;ve(76,e|0,0);n=T;T=0;if(n&1){a=29;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y<<1)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y<<1)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[c>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+((h[w>>2]|0)-l<<1)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){a=30;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){a=42;break e}}if((a|0)==29){t=Ze()|0;break}else if((a|0)==30){t=Ze()|0;break}}else a=42}while(0);do{if((a|0)==42){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function va(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0,p=0,v=0;w=e+4596|0;r=h[w>>2]|0;v=e+172|0;i=h[v>>2]|0;if((i|0)<=0)return;_=e+4600|0;m=e+4604|0;p=e+4592|0;l=r;f=k[r+-2>>1]|0;r=k[r>>1]|0;b=0;while(1){o=h[_>>2]|0;a=d[o+(b+-1<<1)>>1]|0;u=a&65535;n=b+1|0;t=k[l+(n<<1)>>1]|0;s=h[m>>2]|0;l=r-f|0;f=f-u|0;s=((((c[s+(t-r)>>0]|0)*9|0)+(c[s+l>>0]|0)|0)*9|0)+(c[s+f>>0]|0)|0;o=o+(b<<1)|0;if(!s){i=Ea(e,a,o,i-b|0)|0;r=i+b|0;if((r|0)!=(h[v>>2]|0)){u=Aa(e,u,k[(h[w>>2]|0)+(r<<1)>>1]|0)|0;d[(h[_>>2]|0)+(r<<1)>>1]=u;u=h[p>>2]|0;h[p>>2]=(u|0)<1?0:u+-1|0;i=i+1|0}n=i+b|0;t=h[w>>2]|0;r=k[t+(n+-1<<1)>>1]|0;t=k[t+(n<<1)>>1]|0}else{i=r-u>>31;if((i^f|0)<0)i=r;else i=u+((i^l|0)<0?0:l)|0;u=ya(e,s,k[o>>1]|0,i,0)|0;d[(h[_>>2]|0)+(b<<1)>>1]=u}i=h[v>>2]|0;if((i|0)<=(n|0))break;l=h[w>>2]|0;f=r;r=t;b=n}return}function ga(e){e=e|0;var i=0,r=0,t=0,n=0;t=e+116|0;r=h[t>>2]|0;if((c[r>>0]|0)!=-1){n=e+112|0;i=h[n>>2]|0;if((i|0)<1){Jt(e);i=h[n>>2]|0;r=h[t>>2]|0}e=e+108|0;t=h[e>>2]|0;h[n>>2]=i+-1;i=t<<1;h[e>>2]=i;if((c[r>>0]|0)!=-1){i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,6,35648);e=T;T=0;if(!(e&1))Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}}else i=h[e+108>>2]|0;if(!i)return;i=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,i|0,6,35648);e=T;T=0;if(!(e&1))Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}function ya(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+188+(s*12|0)+10|0;r=d[k>>1]|0;b=e+188+(s*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){i=5;while(1)if((r<>1]^_)-_+t|0;w=e+128|0;n=h[w>>2]|0;if((r&n|0)==(r|0))o=r;else o=n&~(r>>31);r=e+112|0;if((h[r>>2]|0)<8)Jt(e);n=e+108|0;t=h[n>>2]|0;f=t>>>24;a=h[2832+(i<<11)+(f<<3)+4>>2]|0;if(!a){l=h[e+148>>2]|0;n=h[e+140>>2]|0;r=Ta(e)|0;if((r|0)<(l+-1-n|0)){if(i)r=(Sa(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}else{h[r>>2]=(h[r>>2]|0)-a;h[n>>2]=t<>2]|0}l=e+136|0;t=h[l>>2]|0;if(!i){if(!t)n=(h[e+188+(s*12|0)+4>>2]<<1)+-1+(d[k>>1]|0)>>31;else n=0;a=n^r}else a=r;i=h[e+152>>2]|0;n=(h[b>>2]|0)+((a|0)>-1?a:0-a|0)|0;f=e+188+(s*12|0)+4|0;r=(h[f>>2]|0)+(ce(t<<1|1,a)|0)|0;t=d[k>>1]|0;if((t|0)==(i|0)){n=n>>1;r=r>>1;t=i>>1}h[b>>2]=n;i=t+1|0;d[k>>1]=i;n=i+r|0;if((n|0)>=1){if((r|0)>0){r=r-i|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=d[u>>1]|0;d[u>>1]=(r&65535)-(r<<16>>16>-128&1);r=(n|0)>(~t|0)?n:0-t|0}h[f>>2]=r;i=h[l>>2]|0;t=i<<1|1;n=(ce(t,(a^_)-_|0)|0)+o|0;if((n|0)>=(0-i|0)){r=h[w>>2]|0;if((r+i|0)<(n|0))n=n-(ce(h[e+132>>2]|0,t)|0)|0}else{n=(ce(h[e+132>>2]|0,t)|0)+n|0;r=h[w>>2]|0}if((n&r|0)==(n|0)){e=n;e=e&65535;return e|0}e=r&~(n>>31);e=e&65535;return e|0}function Ea(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0;l=e+112|0;s=e+108|0;o=e+4592|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;b=1<>2];k=t-f|0;k=(b|0)<(k|0)?b:k;f=k+f|0;if((k|0)==(b|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);k=T;T=0;if(k&1){k=Ze()|0;We(n|0);si(k|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)>0)f=0;else return n|0;do{d[r+(f<<1)>>1]=i;f=f+1|0}while((f|0)!=(n|0));return n|0}function Aa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i-r|0;a=e+128|0;t=e+136|0;if((((f|0)>-1?f:0-f|0)|0)>(h[t>>2]|0)){i=ce(Ma(e,e+4568|0)|0,r-i>>31|1)|0;n=h[t>>2]|0;f=n<<1|1;i=(ce(i,f)|0)+r|0;if((i|0)>=(0-n|0)){t=h[a>>2]|0;if((t+n|0)<(i|0))i=i-(ce(h[e+132>>2]|0,f)|0)|0}else{i=(ce(h[e+132>>2]|0,f)|0)+i|0;t=h[a>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&65535;return e|0}e=t&~(i>>31);e=e&65535;return e|0}else{r=Ma(e,e+4580|0)|0;f=h[t>>2]|0;n=f<<1|1;i=(ce(n,r)|0)+i|0;if((i|0)>=(0-f|0)){t=h[a>>2]|0;if((t+f|0)<(i|0))i=i-(ce(h[e+132>>2]|0,n)|0)|0}else{i=(ce(h[e+132>>2]|0,n)|0)+i|0;t=h[a>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&65535;return e|0}e=t&~(i>>31);e=e&65535;return e|0}return 0}function Ma(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=i+9|0;r=b[o>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;a=h[e+148>>2]|0;l=h[36476+(h[e+4592>>2]<<2)>>2]|0;r=h[e+140>>2]|0;n=Ta(e)|0;do{if((n|0)<(a+-2-l-r|0))if(!t){t=h[f>>2]|0;e=t+n|0;r=e&1;e=(r+e|0)/2|0;s=8;break}else{l=(Sa(e,t)|0)+(n<>2]|0;n=l+t|0;a=n&1;r=a;f=1;n=(a+n|0)/2|0;break}else{n=(Sa(e,r)|0)+1|0;a=h[f>>2]|0;e=n+a|0;r=e&1;e=(r+e|0)/2|0;if(!t){t=a;s=8}else{l=n;f=1;n=e;t=a}}}while(0);if((s|0)==8){l=n;f=b[i+10>>0]<<1>>>0>=(b[o>>0]|0)>>>0;n=e}n=(r|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(l+1-t>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[o>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){i=t;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[o>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=s;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}function Ta(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;f=e+112|0;if((h[f>>2]|0)<16)Jt(e);a=e+108|0;r=h[a>>2]|0;if((r|0)>=0)if(!(r&1073741824))if(!(r&536870912))if(!(r&268435456))if(!(r&134217728))if(!(r&67108864))if(!(r&33554432))if(!(r&16777216))if(!(r&8388608))if(!(r&4194304))if(!(r&2097152))if(!(r&1048576))if(!(r&524288))if(!(r&262144))if(!(r&131072)){n=r>>>12&16;i=n+-1|0;if(!n){i=(h[f>>2]|0)+-15|0;h[f>>2]=i;t=r<<15;h[a>>2]=t;r=i;i=15;while(1){if((r|0)<1){Jt(e);n=h[a>>2]|0;r=h[f>>2]|0}else n=t;r=r+-1|0;h[f>>2]=r;t=n<<1;h[a>>2]=t;if((n|0)<0)break;else i=i+1|0}return i|0}}else i=14;else i=13;else i=12;else i=11;else i=10;else i=9;else i=8;else i=7;else i=6;else i=5;else i=4;else i=3;else i=2;else i=1;else i=0;e=i+1|0;h[f>>2]=(h[f>>2]|0)-e;h[a>>2]=r<>2]|0;if((r|0)<(i|0)){Jt(e);r=h[t>>2]|0;if((r|0)<(i|0)){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}n=e+108|0;e=h[n>>2]|0;h[t>>2]=r-i;h[n>>2]=e<>>(32-i|0)|0}function Pa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+136|0;e:do{if(!(h[d>>2]|0)){r=h[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+176>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+180>>2]|0):0)?(h[t+12>>2]|0)==(h[e+184>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4604>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4604>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4604>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4604>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+144|0}while(0);u=1<>2];r=e+4608|0;t=u<<1;n=e+4612|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4604|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+184|0;s=e+180|0;a=e+176|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function Oa(e){e=e|0;var i=0,r=0;h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Ra(e){e=e|0;var i=0,r=0;h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function La(e){e=e|0;var i=0,r=0;h[e>>2]=35828;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Ca(e){e=e|0;var i=0,r=0;h[e>>2]=35828;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Da(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=6;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=6;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function xa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+128>>2]|0,h[e+136>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+176>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+180>>2]=f;h[e+184>>2]=n;Ya(e);n=e+132|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+188+(f*12|0)>>2]=i;h[e+188+(f*12|0)+4>>2]=0;d[e+188+(f*12|0)+8>>1]=0;d[e+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4568>>2]=l;h[e+4572>>2]=0;c[e+4576>>0]=s;c[e+4577>>0]=1;c[e+4578>>0]=0;h[e+4580>>2]=l;h[e+4584>>2]=1;c[e+4588>>0]=s;c[e+4589>>0]=1;c[e+4590>>0]=0;h[e+4592>>2]=0;v=a;return}function Ia(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4620>>0]=n&1;i=e+156|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Ba(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Ba(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+172|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;do{if(i){if(!(i>>>0>715827882?(T=0,pe(178,P|0),S=T,T=0,S&1):0))a=6;if((a|0)==6?(T=0,r=ye(67,i*6|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;t=r+(i*6|0)|0;h[P+8>>2]=t;while(1){d[r>>1]=0;d[r+2>>1]=0;d[r+4>>1]=0;i=i+-1|0;if(!i)break;else r=r+6|0}h[O>>2]=t;break}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)a=20;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))a=18;if((a|0)==18?(n=E<<2,T=0,f=ye(67,n|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=f;a=f+(E<<2)|0;h[A+8>>2]=a;Cm(f|0,0,n|0)|0;h[S>>2]=a;a=20;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==20){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4596|0;l=ce(E,y)|0;s=l+1|0;o=e+4600|0;u=(E|0)>0;c=e+160|0;b=e+168|0;k=e+164|0;w=e+156|0;_=e+88|0;m=e+4592|0;p=0;i:while(1){t=h[P>>2]|0;r=t+6|0;h[a>>2]=r;t=t+(s*6|0)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];i=h[g>>2]|0;n=r+(i*6|0)|0;r=r+((i+-1|0)*6|0)|0;d[n>>1]=d[r>>1]|0;d[n+2>>1]=d[r+2>>1]|0;d[n+4>>1]=d[r+4>>1]|0;n=(h[o>>2]|0)+-6|0;r=h[a>>2]|0;d[n>>1]=d[r>>1]|0;d[n+2>>1]=d[r+2>>1]|0;d[n+4>>1]=d[r+4>>1]|0;T=0;ve(77,e|0,0);n=T;T=0;if(n&1){a=31;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y*6|0)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y*6|0)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[c>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+(((h[w>>2]|0)-l|0)*6|0)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){a=32;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){a=44;break e}}if((a|0)==31){t=Ze()|0;break}else if((a|0)==32){t=Ze()|0;break}}else a=44}while(0);do{if((a|0)==44){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-6-i|0)>>>0)/6|0)*6|0);zv(i);si(t|0)}function Na(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0;U=v;v=v+32|0;O=U+24|0;F=U+18|0;N=U+12|0;R=U+6|0;L=U;C=e+172|0;i=h[C>>2]|0;if((i|0)<=0){v=U;return}D=e+4600|0;x=e+4596|0;I=e+4604|0;B=e+4592|0;P=0;while(1){t=P+-1|0;n=h[D>>2]|0;j=h[x>>2]|0;r=P+1|0;f=k[j+(P*6|0)>>1]|0;S=h[I>>2]|0;a=k[j+(t*6|0)>>1]|0;l=f-a|0;s=k[n+(t*6|0)>>1]|0;o=a-s|0;u=((((c[S+((k[j+(r*6|0)>>1]|0)-f)>>0]|0)*9|0)+(c[S+l>>0]|0)|0)*9|0)+(c[S+o>>0]|0)|0;b=k[j+(P*6|0)+2>>1]|0;w=k[j+(t*6|0)+2>>1]|0;_=b-w|0;m=k[n+(t*6|0)+2>>1]|0;p=w-m|0;g=((((c[S+((k[j+(r*6|0)+2>>1]|0)-b)>>0]|0)*9|0)+(c[S+_>>0]|0)|0)*9|0)+(c[S+p>>0]|0)|0;y=k[j+(P*6|0)+4>>1]|0;E=k[j+(t*6|0)+4>>1]|0;A=y-E|0;M=k[n+(t*6|0)+4>>1]|0;T=E-M|0;S=((((c[S+((k[j+(r*6|0)+4>>1]|0)-y)>>0]|0)*9|0)+(c[S+A>>0]|0)|0)*9|0)+(c[S+T>>0]|0)|0;if(!(g|u|S)){r=n+(t*6|0)|0;d[N>>1]=d[r>>1]|0;d[N+2>>1]=d[r+2>>1]|0;d[N+4>>1]=d[r+4>>1]|0;d[O>>1]=d[r>>1]|0;d[O+2>>1]=d[r+2>>1]|0;d[O+4>>1]=d[r+4>>1]|0;i=Fa(e,O,n+(P*6|0)|0,i-P|0)|0;r=i+P|0;if((r|0)!=(h[C>>2]|0)){j=(h[x>>2]|0)+(r*6|0)|0;d[L>>1]=d[j>>1]|0;d[L+2>>1]=d[j+2>>1]|0;d[L+4>>1]=d[j+4>>1]|0;j=(h[D>>2]|0)+(r*6|0)|0;d[F>>1]=d[N>>1]|0;d[F+2>>1]=d[N+2>>1]|0;d[F+4>>1]=d[N+4>>1]|0;d[O>>1]=d[L>>1]|0;d[O+2>>1]=d[L+2>>1]|0;d[O+4>>1]=d[L+4>>1]|0;Ua(R,e,F,O);d[j>>1]=d[R>>1]|0;d[j+2>>1]=d[R+2>>1]|0;d[j+4>>1]=d[R+4>>1]|0;j=h[B>>2]|0;h[B>>2]=(j|0)<1?0:j+-1|0;i=i+1|0}r=i+P|0}else{t=k[n+(P*6|0)>>1]|0;i=f-s>>31;if((i^o|0)>=0)if((i^l|0)<0)i=s;else i=s-a+f|0;else i=f;f=ja(e,u,t,i,0)|0;t=k[(h[D>>2]|0)+(P*6|0)+2>>1]|0;i=b-m>>31;if((i^p|0)>=0)if((i^_|0)<0)i=m;else i=m-w+b|0;else i=b;t=ja(e,g,t,i,0)|0;n=k[(h[D>>2]|0)+(P*6|0)+4>>1]|0;i=y-M>>31;if((i^T|0)>=0)if((i^A|0)<0)i=M;else i=M-E+y|0;else i=y;S=ja(e,S,n,i,0)|0;j=h[D>>2]|0;d[j+(P*6|0)>>1]=f;d[j+(P*6|0)+2>>1]=t;d[j+(P*6|0)+4>>1]=S}i=h[C>>2]|0;if((r|0)>=(i|0))break;else P=r}v=U;return}function Fa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0;l=e+112|0;s=e+108|0;o=e+4592|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;b=1<>2];k=t-f|0;k=(b|0)<(k|0)?b:k;f=k+f|0;if((k|0)==(b|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);k=T;T=0;if(k&1){k=Ze()|0;We(n|0);si(k|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;f=0;do{k=r+(f*6|0)|0;d[k>>1]=d[i>>1]|0;d[k+2>>1]=d[i+2>>1]|0;d[k+4>>1]=d[i+4>>1]|0;f=f+1|0}while((f|0)!=(n|0));return n|0}function Ua(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0;s=i+4568|0;c=Ha(i,s)|0;a=Ha(i,s)|0;s=Ha(i,s)|0;f=i+128|0;n=k[t>>1]|0;o=h[i+136>>2]|0;u=o<<1|1;n=(ce(ce(u,c)|0,n-(k[r>>1]|0)>>31|1)|0)+n|0;c=0-o|0;if((n|0)>=(c|0)){f=h[f>>2]|0;if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else{n=(ce(h[i+132>>2]|0,u)|0)+n|0;f=h[f>>2]|0}if((n&f|0)!=(n|0))n=f&~(n>>31);l=n&65535;n=k[t+2>>1]|0;n=(ce(ce(u,a)|0,n-(k[r+2>>1]|0)>>31|1)|0)+n|0;if((n|0)>=(c|0)){if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else n=(ce(h[i+132>>2]|0,u)|0)+n|0;if((n&f|0)!=(n|0))n=f&~(n>>31);a=n&65535;n=k[t+4>>1]|0;n=(ce(ce(u,s)|0,n-(k[r+4>>1]|0)>>31|1)|0)+n|0;if((n|0)>=(c|0)){if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else n=(ce(h[i+132>>2]|0,u)|0)+n|0;if((n&f|0)==(n|0)){i=n;i=i&65535;d[e>>1]=l;c=e+2|0;d[c>>1]=a;e=e+4|0;d[e>>1]=i;return}i=f&~(n>>31);i=i&65535;d[e>>1]=l;c=e+2|0;d[c>>1]=a;e=e+4|0;d[e>>1]=i;return}function ja(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+188+(s*12|0)+10|0;r=d[k>>1]|0;b=e+188+(s*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){i=5;while(1)if((r<>1]^_)-_+t|0;w=e+128|0;n=h[w>>2]|0;if((r&n|0)==(r|0))o=r;else o=n&~(r>>31);r=e+112|0;if((h[r>>2]|0)<8)Jt(e);n=e+108|0;t=h[n>>2]|0;f=t>>>24;a=h[2832+(i<<11)+(f<<3)+4>>2]|0;if(!a){l=h[e+148>>2]|0;n=h[e+140>>2]|0;r=Ta(e)|0;if((r|0)<(l+-1-n|0)){if(i)r=(Sa(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}else{h[r>>2]=(h[r>>2]|0)-a;h[n>>2]=t<>2]|0}l=e+136|0;t=h[l>>2]|0;if(!i){if(!t)n=(h[e+188+(s*12|0)+4>>2]<<1)+-1+(d[k>>1]|0)>>31;else n=0;a=n^r}else a=r;i=h[e+152>>2]|0;n=(h[b>>2]|0)+((a|0)>-1?a:0-a|0)|0;f=e+188+(s*12|0)+4|0;r=(h[f>>2]|0)+(ce(t<<1|1,a)|0)|0;t=d[k>>1]|0;if((t|0)==(i|0)){n=n>>1;r=r>>1;t=i>>1}h[b>>2]=n;i=t+1|0;d[k>>1]=i;n=i+r|0;if((n|0)>=1){if((r|0)>0){r=r-i|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=d[u>>1]|0;d[u>>1]=(r&65535)-(r<<16>>16>-128&1);r=(n|0)>(~t|0)?n:0-t|0}h[f>>2]=r;i=h[l>>2]|0;t=i<<1|1;n=(ce(t,(a^_)-_|0)|0)+o|0;if((n|0)>=(0-i|0)){r=h[w>>2]|0;if((r+i|0)<(n|0))n=n-(ce(h[e+132>>2]|0,t)|0)|0}else{n=(ce(h[e+132>>2]|0,t)|0)+n|0;r=h[w>>2]|0}if((n&r|0)==(n|0)){e=n;e=e&65535;return e|0}e=r&~(n>>31);e=e&65535;return e|0}function Ha(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=i+9|0;r=b[o>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;a=h[e+148>>2]|0;l=h[36476+(h[e+4592>>2]<<2)>>2]|0;r=h[e+140>>2]|0;n=Ta(e)|0;do{if((n|0)<(a+-2-l-r|0))if(!t){t=h[f>>2]|0;e=t+n|0;r=e&1;e=(r+e|0)/2|0;s=8;break}else{l=(Sa(e,t)|0)+(n<>2]|0;n=l+t|0;a=n&1;r=a;f=1;n=(a+n|0)/2|0;break}else{n=(Sa(e,r)|0)+1|0;a=h[f>>2]|0;e=n+a|0;r=e&1;e=(r+e|0)/2|0;if(!t){t=a;s=8}else{l=n;f=1;n=e;t=a}}}while(0);if((s|0)==8){l=n;f=b[i+10>>0]<<1>>>0>=(b[o>>0]|0)>>>0;n=e}n=(r|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(l+1-t>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[o>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){i=t;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[o>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=s;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}function Ya(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+136|0;e:do{if(!(h[d>>2]|0)){r=h[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+176>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+180>>2]|0):0)?(h[t+12>>2]|0)==(h[e+184>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4604>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4604>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4604>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4604>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+144|0}while(0);u=1<>2];r=e+4608|0;t=u<<1;n=e+4612|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4604|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+184|0;s=e+180|0;a=e+176|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function qa(e){e=e|0;var i=0,r=0;h[e>>2]=35800;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Xa(e){e=e|0;var i=0,r=0;h[e>>2]=35800;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function za(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Va(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+128>>2]|0,h[e+136>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+176>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+180>>2]=f;h[e+184>>2]=n;el(e);n=e+132|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+188+(f*12|0)>>2]=i;h[e+188+(f*12|0)+4>>2]=0;d[e+188+(f*12|0)+8>>1]=0;d[e+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4568>>2]=l;h[e+4572>>2]=0;c[e+4576>>0]=s;c[e+4577>>0]=1;c[e+4578>>0]=0;h[e+4580>>2]=l;h[e+4584>>2]=1;c[e+4588>>0]=s;c[e+4589>>0]=1;c[e+4590>>0]=0;h[e+4592>>2]=0;v=a;return}function Ga(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4620>>0]=n&1;i=e+156|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Ka(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Ka(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+172|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(T=0,pe(178,P|0),S=T,T=0,S&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i*3|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;h[P+8>>2]=r+(i*3|0);while(1){c[r>>0]=0;c[r+1>>0]=0;c[r+2>>0]=0;r=(h[O>>2]|0)+3|0;h[O>>2]=r;i=i+-1|0;if(!i)break e}}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)f=19;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))f=17;if((f|0)==17?(t=E<<2,T=0,n=ye(67,t|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=n;f=n+(E<<2)|0;h[A+8>>2]=f;Cm(n|0,0,t|0)|0;h[S>>2]=f;f=19;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4596|0;l=ce(E,y)|0;s=l+1|0;o=e+4600|0;u=(E|0)>0;d=e+160|0;b=e+168|0;k=e+164|0;w=e+156|0;_=e+88|0;m=e+4592|0;p=0;i:while(1){t=h[P>>2]|0;r=t+3|0;h[a>>2]=r;t=t+(s*3|0)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];i=h[g>>2]|0;n=r+(i*3|0)|0;r=r+((i+-1|0)*3|0)|0;c[n>>0]=c[r>>0]|0;c[n+1>>0]=c[r+1>>0]|0;c[n+2>>0]=c[r+2>>0]|0;r=h[a>>2]|0;n=(h[o>>2]|0)+-3|0;c[n>>0]=c[r>>0]|0;c[n+1>>0]=c[r+1>>0]|0;c[n+2>>0]=c[r+2>>0]|0;T=0;ve(78,e|0,0);n=T;T=0;if(n&1){f=30;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y*3|0)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y*3|0)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[d>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+(((h[w>>2]|0)-l|0)*3|0)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){f=31;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){f=43;break e}}if((f|0)==30){t=Ze()|0;break}else if((f|0)==31){t=Ze()|0;break}}else f=43}while(0);do{if((f|0)==43){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}function Wa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0;F=v;v=v+16|0;P=F+12|0;N=F+9|0;B=F+6|0;O=F+3|0;R=F;L=e+172|0;i=h[L>>2]|0;if((i|0)<=0){v=F;return}C=e+4600|0;D=e+4596|0;x=e+4604|0;I=e+4592|0;S=0;while(1){A=S+-1|0;t=h[C>>2]|0;n=t+(A*3|0)|0;U=h[D>>2]|0;r=S+1|0;f=b[U+(S*3|0)>>0]|0;T=h[x>>2]|0;a=b[U+(A*3|0)>>0]|0;l=f-a|0;s=b[n>>0]|0;o=a-s|0;u=((((c[T+((b[U+(r*3|0)>>0]|0)-f)>>0]|0)*9|0)+(c[T+l>>0]|0)|0)*9|0)+(c[T+o>>0]|0)|0;d=b[U+(S*3|0)+1>>0]|0;k=b[U+(A*3|0)+1>>0]|0;w=d-k|0;_=b[t+(A*3|0)+1>>0]|0;m=k-_|0;p=((((c[T+((b[U+(r*3|0)+1>>0]|0)-d)>>0]|0)*9|0)+(c[T+w>>0]|0)|0)*9|0)+(c[T+m>>0]|0)|0;g=b[U+(S*3|0)+2>>0]|0;y=b[U+(A*3|0)+2>>0]|0;E=g-y|0;A=b[t+(A*3|0)+2>>0]|0;M=y-A|0;T=((((c[T+((b[U+(r*3|0)+2>>0]|0)-g)>>0]|0)*9|0)+(c[T+E>>0]|0)|0)*9|0)+(c[T+M>>0]|0)|0;if(!(p|u|T)){c[B>>0]=c[n>>0]|0;c[B+1>>0]=c[n+1>>0]|0;c[B+2>>0]=c[n+2>>0]|0;c[P>>0]=c[n>>0]|0;c[P+1>>0]=c[n+1>>0]|0;c[P+2>>0]=c[n+2>>0]|0;i=Ja(e,P,t+(S*3|0)|0,i-S|0)|0;r=i+S|0;if((r|0)!=(h[L>>2]|0)){U=(h[D>>2]|0)+(r*3|0)|0;c[R>>0]=c[U>>0]|0;c[R+1>>0]=c[U+1>>0]|0;c[R+2>>0]=c[U+2>>0]|0;U=h[C>>2]|0;c[N>>0]=c[B>>0]|0;c[N+1>>0]=c[B+1>>0]|0;c[N+2>>0]=c[B+2>>0]|0;c[P>>0]=c[R>>0]|0;c[P+1>>0]=c[R+1>>0]|0;c[P+2>>0]=c[R+2>>0]|0;Za(O,e,N,P);U=U+(r*3|0)|0;c[U>>0]=c[O>>0]|0;c[U+1>>0]=c[O+1>>0]|0;c[U+2>>0]=c[O+2>>0]|0;U=h[I>>2]|0;h[I>>2]=(U|0)<1?0:U+-1|0;i=i+1|0}r=i+S|0}else{t=b[t+(S*3|0)>>0]|0;i=f-s>>31;if((i^o|0)>=0)if((i^l|0)<0)i=s;else i=s-a+f|0;else i=f;f=Qa(e,u,t,i,0)|0;t=b[(h[C>>2]|0)+(S*3|0)+1>>0]|0;i=d-_>>31;if((i^m|0)>=0)if((i^w|0)<0)i=_;else i=_-k+d|0;else i=d;t=Qa(e,p,t,i,0)|0;n=b[(h[C>>2]|0)+(S*3|0)+2>>0]|0;i=g-A>>31;if((i^M|0)>=0)if((i^E|0)<0)i=A;else i=A-y+g|0;else i=g;T=Qa(e,T,n,i,0)|0;U=(h[C>>2]|0)+(S*3|0)|0;c[U>>0]=f;c[U+1>>0]=t;c[U+2>>0]=T}i=h[L>>2]|0;if((r|0)>=(i|0))break;else S=r}v=F;return}function Ja(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;l=e+112|0;s=e+108|0;o=e+4592|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;d=1<>2];b=t-f|0;b=(d|0)<(b|0)?d:b;f=b+f|0;if((b|0)==(d|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);b=T;T=0;if(b&1){b=Ze()|0;We(n|0);si(b|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;f=0;do{b=r+(f*3|0)|0;c[b>>0]=c[i>>0]|0;c[b+1>>0]=c[i+1>>0]|0;c[b+2>>0]=c[i+2>>0]|0;f=f+1|0}while((f|0)!=(n|0));return n|0}function Za(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;s=i+4568|0;d=$a(i,s)|0;a=$a(i,s)|0;s=$a(i,s)|0;f=i+128|0;n=b[t>>0]|0;o=h[i+136>>2]|0;u=o<<1|1;n=(ce(ce(u,d)|0,n-(b[r>>0]|0)>>31|1)|0)+n|0;d=0-o|0;if((n|0)>=(d|0)){f=h[f>>2]|0;if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else{n=(ce(h[i+132>>2]|0,u)|0)+n|0;f=h[f>>2]|0}if((n&f|0)!=(n|0))n=f&~(n>>31);l=n&255;n=b[t+1>>0]|0;n=(ce(ce(u,a)|0,n-(b[r+1>>0]|0)>>31|1)|0)+n|0;if((n|0)>=(d|0)){if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else n=(ce(h[i+132>>2]|0,u)|0)+n|0;if((n&f|0)!=(n|0))n=f&~(n>>31);a=n&255;n=b[t+2>>0]|0;n=(ce(ce(u,s)|0,n-(b[r+2>>0]|0)>>31|1)|0)+n|0;if((n|0)>=(d|0)){if((f+o|0)<(n|0))n=n-(ce(h[i+132>>2]|0,u)|0)|0}else n=(ce(h[i+132>>2]|0,u)|0)+n|0;if((n&f|0)==(n|0)){i=n;i=i&255;c[e>>0]=l;d=e+1|0;c[d>>0]=a;e=e+2|0;c[e>>0]=i;return}i=f&~(n>>31);i=i&255;c[e>>0]=l;d=e+1|0;c[d>>0]=a;e=e+2|0;c[e>>0]=i;return}function Qa(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+188+(s*12|0)+10|0;r=d[k>>1]|0;b=e+188+(s*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){i=5;while(1)if((r<>1]^_)-_+t|0;w=e+128|0;n=h[w>>2]|0;if((r&n|0)==(r|0))o=r;else o=n&~(r>>31);r=e+112|0;if((h[r>>2]|0)<8)Jt(e);n=e+108|0;t=h[n>>2]|0;f=t>>>24;a=h[2832+(i<<11)+(f<<3)+4>>2]|0;if(!a){l=h[e+148>>2]|0;n=h[e+140>>2]|0;r=Ta(e)|0;if((r|0)<(l+-1-n|0)){if(i)r=(Sa(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}else{h[r>>2]=(h[r>>2]|0)-a;h[n>>2]=t<>2]|0}l=e+136|0;t=h[l>>2]|0;if(!i){if(!t)n=(h[e+188+(s*12|0)+4>>2]<<1)+-1+(d[k>>1]|0)>>31;else n=0;a=n^r}else a=r;i=h[e+152>>2]|0;n=(h[b>>2]|0)+((a|0)>-1?a:0-a|0)|0;f=e+188+(s*12|0)+4|0;r=(h[f>>2]|0)+(ce(t<<1|1,a)|0)|0;t=d[k>>1]|0;if((t|0)==(i|0)){n=n>>1;r=r>>1;t=i>>1}h[b>>2]=n;i=t+1|0;d[k>>1]=i;n=i+r|0;if((n|0)>=1){if((r|0)>0){r=r-i|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=d[u>>1]|0;d[u>>1]=(r&65535)-(r<<16>>16>-128&1);r=(n|0)>(~t|0)?n:0-t|0}h[f>>2]=r;i=h[l>>2]|0;t=i<<1|1;n=(ce(t,(a^_)-_|0)|0)+o|0;if((n|0)>=(0-i|0)){r=h[w>>2]|0;if((r+i|0)<(n|0))n=n-(ce(h[e+132>>2]|0,t)|0)|0}else{n=(ce(h[e+132>>2]|0,t)|0)+n|0;r=h[w>>2]|0}if((n&r|0)==(n|0)){e=n;e=e&255;return e|0}e=r&~(n>>31);e=e&255;return e|0}function $a(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=i+9|0;r=b[o>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;a=h[e+148>>2]|0;l=h[36476+(h[e+4592>>2]<<2)>>2]|0;r=h[e+140>>2]|0;n=Ta(e)|0;do{if((n|0)<(a+-2-l-r|0))if(!t){t=h[f>>2]|0;e=t+n|0;r=e&1;e=(r+e|0)/2|0;s=8;break}else{l=(Sa(e,t)|0)+(n<>2]|0;n=l+t|0;a=n&1;r=a;f=1;n=(a+n|0)/2|0;break}else{n=(Sa(e,r)|0)+1|0;a=h[f>>2]|0;e=n+a|0;r=e&1;e=(r+e|0)/2|0;if(!t){t=a;s=8}else{l=n;f=1;n=e;t=a}}}while(0);if((s|0)==8){l=n;f=b[i+10>>0]<<1>>>0>=(b[o>>0]|0)>>>0;n=e}n=(r|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(l+1-t>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[o>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){i=t;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[o>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=s;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}function el(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+136|0;e:do{if(!(h[d>>2]|0)){r=h[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+176>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+180>>2]|0):0)?(h[t+12>>2]|0)==(h[e+184>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4604>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4604>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4604>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4604>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+144|0}while(0);u=1<>2];r=e+4608|0;t=u<<1;n=e+4612|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4604|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+184|0;s=e+180|0;a=e+176|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function il(e){e=e|0;var i=0,r=0;h[e>>2]=35772;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function rl(e){e=e|0;var i=0,r=0;h[e>>2]=35772;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function tl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function nl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,65535,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+152>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+156>>2]=f;h[e+160>>2]=t;dl(e);t=0;do{h[e+164+(t*12|0)>>2]=1024;h[e+164+(t*12|0)+4>>2]=0;d[e+164+(t*12|0)+8>>1]=0;d[e+164+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4544>>2]=1024;h[e+4548>>2]=0;c[e+4552>>0]=l;c[e+4553>>0]=1;c[e+4554>>0]=0;h[e+4556>>2]=1024;h[e+4560>>2]=1;c[e+4564>>0]=l;c[e+4565>>0]=1;c[e+4566>>0]=0;h[e+4568>>2]=0;v=n;return}function fl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4596>>0]=n&1;i=e+132|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);al(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function al(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+148|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,S=T,T=0,!(S&1)):0){h[P>>2]=t;S=t+(i<<1)|0;h[P+8>>2]=S;Cm(t|0,0,r|0)|0;h[O>>2]=S;break}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)a=18;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))a=16;if((a|0)==16?(n=E<<2,T=0,f=ye(67,n|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=f;a=f+(E<<2)|0;h[A+8>>2]=a;Cm(f|0,0,n|0)|0;h[S>>2]=a;a=18;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4572|0;l=ce(E,y)|0;s=l+1|0;o=e+4576|0;u=(E|0)>0;c=e+136|0;b=e+144|0;k=e+140|0;w=e+132|0;_=e+88|0;m=e+4568|0;p=0;i:while(1){t=h[P>>2]|0;r=t+2|0;h[a>>2]=r;t=t+(s<<1)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];n=h[g>>2]|0;d[r+(n<<1)>>1]=d[r+(n+-1<<1)>>1]|0;d[i+-2>>1]=d[r>>1]|0;T=0;ve(79,e|0,0);n=T;T=0;if(n&1){a=29;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y<<1)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y<<1)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[c>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+((h[w>>2]|0)-l<<1)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){a=30;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){a=42;break e}}if((a|0)==29){t=Ze()|0;break}else if((a|0)==30){t=Ze()|0;break}}else a=42}while(0);do{if((a|0)==42){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function ll(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4572|0;i=h[b>>2]|0;m=e+148|0;if((h[m>>2]|0)<=0)return;w=e+4576|0;_=e+4580|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(ol(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=sl(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function sl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=i>>31;o=(w^i)-w|0;k=e+164+(o*12|0)+10|0;r=d[k>>1]|0;b=e+164+(o*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){f=5;while(1)if((r<>1]^w)-w+t|0;if((r&65535|0)!=(r|0))r=r>>31&65535^65535;n=e+112|0;if((h[n>>2]|0)<8)Jt(e);t=e+108|0;a=h[t>>2]|0;l=a>>>24;s=h[2832+(f<<11)+(l<<3)+4>>2]|0;if(!s){n=Ta(e)|0;if((n|0)<47){if(f)n=(Sa(e,f)|0)+(n<>31^n>>1;if((((n|0)>-1?n:0-n|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}}else{h[n>>2]=(h[n>>2]|0)-s;h[t>>2]=a<>2]|0}s=e+164+(o*12|0)+4|0;t=h[s>>2]|0;if(!f){e=d[k>>1]|0;f=e;n=(t<<1)+-1+(e<<16>>16)>>31^n}else f=d[k>>1]|0;a=f<<16>>16==64;e=a&1;l=t+n>>e;a=a?32:f<<16>>16;h[b>>2]=((n|0)>-1?n:0-n|0)+(h[b>>2]|0)>>e;t=a+1|0;d[k>>1]=t;f=t+l|0;if((f|0)<1){k=d[u>>1]|0;d[u>>1]=(k&65535)-(k<<16>>16>-128&1);k=(f|0)>(~a|0)?f:0-a|0;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&65535;return i|0}if((l|0)<=0){k=l;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&65535;return i|0}k=l-t|0;b=d[u>>1]|0;d[u>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&65535;return i|0}function ol(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+4576|0;n=h[f>>2]|0;r=d[n+(i+-1<<1)>>1]|0;a=e+148|0;n=ul(e,r,n+(i<<1)|0,(h[a>>2]|0)-i|0)|0;t=n+i|0;if((t|0)==(h[a>>2]|0)){a=n;return a|0}r=r&65535;i=k[(h[e+4572>>2]|0)+(t<<1)>>1]|0;a=r-i|0;if((((a|0)>-1?a:0-a|0)|0)<1)r=(cl(e,e+4556|0)|0)+r|0;else r=(ce(cl(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;d[(h[f>>2]|0)+(t<<1)>>1]=r;a=e+4568|0;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;a=n+1|0;return a|0}function ul(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0;l=e+112|0;s=e+108|0;o=e+4568|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;b=1<>2];k=t-f|0;k=(b|0)<(k|0)?b:k;f=k+f|0;if((k|0)==(b|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);k=T;T=0;if(k&1){k=Ze()|0;We(n|0);si(k|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)>0)f=0;else return n|0;do{d[r+(f<<1)>>1]=i;f=f+1|0}while((f|0)!=(n|0));return n|0}function cl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;l=i+9|0;r=b[l>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;n=h[36476+(h[e+4568>>2]<<2)>>2]|0;r=Ta(e)|0;do{if((r|0)<(46-n|0))if(!t){e=h[f>>2]|0;n=e+r|0;t=n&1;n=(t+n|0)/2|0;a=8;break}else{r=(Sa(e,t)|0)+(r<>2]|0;n=r+e|0;s=n&1;t=s;f=1;n=(s+n|0)/2|0;break}else{r=(Sa(e,16)|0)+1|0;e=h[f>>2]|0;n=r+e|0;f=n&1;n=(f+n|0)/2|0;if(!t){t=f;a=8}else{t=f;f=1}}}while(0);if((a|0)==8)f=b[i+10>>0]<<1>>>0>=(b[l>>0]|0)>>>0;n=(t|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(r+1-e>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[l>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){s=t;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[l>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}function dl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,65535,0);s=e+152|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+156>>2]|0):0)?(h[l+12>>2]|0)==(h[e+160>>2]|0):0){s=h[8909]|0;h[e+4580>>2]=s+(((h[8910]|0)-s|0)>>>1);v=o;return}r=e+4584|0;t=e+4588|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=131072){if(f>>>0>131072?(a=i+131072|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,131072-f|0);i=h[r>>2]|0}l=e+4580|0;h[l>>2]=i+65536;a=e+160|0;n=e+156|0;f=-65536;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==65536)break}v=o;return}function hl(e){e=e|0;var i=0,r=0;h[e>>2]=35744;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function bl(e){e=e|0;var i=0,r=0;h[e>>2]=35744;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function kl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(37,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==16)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(38,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(39,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(40,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=2;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function wl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,4095,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+152>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+156>>2]=f;h[e+160>>2]=t;Al(e);t=0;do{h[e+164+(t*12|0)>>2]=64;h[e+164+(t*12|0)+4>>2]=0;d[e+164+(t*12|0)+8>>1]=0;d[e+164+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4544>>2]=64;h[e+4548>>2]=0;c[e+4552>>0]=l;c[e+4553>>0]=1;c[e+4554>>0]=0;h[e+4556>>2]=64;h[e+4560>>2]=1;c[e+4564>>0]=l;c[e+4565>>0]=1;c[e+4566>>0]=0;h[e+4568>>2]=0;v=n;return}function _l(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4596>>0]=n&1;i=e+132|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);ml(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function ml(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+148|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))a=6;if((a|0)==6?(r=i<<1,T=0,t=ye(67,r|0)|0,S=T,T=0,!(S&1)):0){h[P>>2]=t;S=t+(i<<1)|0;h[P+8>>2]=S;Cm(t|0,0,r|0)|0;h[O>>2]=S;break}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)a=18;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))a=16;if((a|0)==16?(n=E<<2,T=0,f=ye(67,n|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=f;a=f+(E<<2)|0;h[A+8>>2]=a;Cm(f|0,0,n|0)|0;h[S>>2]=a;a=18;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((a|0)==18){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4572|0;l=ce(E,y)|0;s=l+1|0;o=e+4576|0;u=(E|0)>0;c=e+136|0;b=e+144|0;k=e+140|0;w=e+132|0;_=e+88|0;m=e+4568|0;p=0;i:while(1){t=h[P>>2]|0;r=t+2|0;h[a>>2]=r;t=t+(s<<1)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];n=h[g>>2]|0;d[r+(n<<1)>>1]=d[r+(n+-1<<1)>>1]|0;d[i+-2>>1]=d[r>>1]|0;T=0;ve(80,e|0,0);n=T;T=0;if(n&1){a=29;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y<<1)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y<<1)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[c>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+((h[w>>2]|0)-l<<1)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){a=30;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){a=42;break e}}if((a|0)==29){t=Ze()|0;break}else if((a|0)==30){t=Ze()|0;break}}else a=42}while(0);do{if((a|0)==42){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~((r+-2-i|0)>>>1)<<1);zv(i);si(t|0)}function pl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,w=0,_=0,m=0;b=e+4572|0;i=h[b>>2]|0;m=e+148|0;if((h[m>>2]|0)<=0)return;w=e+4576|0;_=e+4580|0;n=i;f=k[i+-2>>1]|0;i=k[i>>1]|0;u=0;while(1){o=h[w>>2]|0;s=k[o+(u+-1<<1)>>1]|0;t=u+1|0;r=k[n+(t<<1)>>1]|0;l=h[_>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(gl(e,u,0)|0)+u|0;r=h[b>>2]|0;i=k[r+(t+-1<<1)>>1]|0;r=k[r+(t<<1)>>1]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=vl(e,l,k[o+(u<<1)>>1]|0,n,0)|0;d[(h[w>>2]|0)+(u<<1)>>1]=o}if((t|0)>=(h[m>>2]|0))break;n=h[b>>2]|0;f=i;i=r;u=t}return}function vl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=i>>31;o=(w^i)-w|0;k=e+164+(o*12|0)+10|0;r=d[k>>1]|0;b=e+164+(o*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){f=5;while(1)if((r<>1]^w)-w+t|0;if((r&4095|0)!=(r|0))r=r>>31&4095^4095;n=e+112|0;if((h[n>>2]|0)<8)Jt(e);t=e+108|0;a=h[t>>2]|0;l=a>>>24;s=h[2832+(f<<11)+(l<<3)+4>>2]|0;if(!s){n=Ta(e)|0;if((n|0)<35){if(f)n=(Sa(e,f)|0)+(n<>31^n>>1;if((((n|0)>-1?n:0-n|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}}else{h[n>>2]=(h[n>>2]|0)-s;h[t>>2]=a<>2]|0}s=e+164+(o*12|0)+4|0;t=h[s>>2]|0;if(!f){e=d[k>>1]|0;f=e;n=(t<<1)+-1+(e<<16>>16)>>31^n}else f=d[k>>1]|0;a=f<<16>>16==64;e=a&1;l=t+n>>e;a=a?32:f<<16>>16;h[b>>2]=((n|0)>-1?n:0-n|0)+(h[b>>2]|0)>>e;t=a+1|0;d[k>>1]=t;f=t+l|0;if((f|0)<1){k=d[u>>1]|0;d[u>>1]=(k&65535)-(k<<16>>16>-128&1);k=(f|0)>(~a|0)?f:0-a|0;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}if((l|0)<=0){k=l;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}k=l-t|0;b=d[u>>1]|0;d[u>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&4095;i=i&65535;return i|0}function gl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+4576|0;n=h[f>>2]|0;r=d[n+(i+-1<<1)>>1]|0;a=e+148|0;n=yl(e,r,n+(i<<1)|0,(h[a>>2]|0)-i|0)|0;t=n+i|0;if((t|0)==(h[a>>2]|0)){a=n;return a|0}r=r&65535;i=k[(h[e+4572>>2]|0)+(t<<1)>>1]|0;a=r-i|0;if((((a|0)>-1?a:0-a|0)|0)<1)r=(El(e,e+4556|0)|0)+r|0;else r=(ce(El(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;d[(h[f>>2]|0)+(t<<1)>>1]=r&4095;a=e+4568|0;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;a=n+1|0;return a|0}function yl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0;l=e+112|0;s=e+108|0;o=e+4568|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;b=1<>2];k=t-f|0;k=(b|0)<(k|0)?b:k;f=k+f|0;if((k|0)==(b|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);k=T;T=0;if(k&1){k=Ze()|0;We(n|0);si(k|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)>0)f=0;else return n|0;do{d[r+(f<<1)>>1]=i;f=f+1|0}while((f|0)!=(n|0));return n|0}function El(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;l=i+9|0;r=b[l>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;n=h[36476+(h[e+4568>>2]<<2)>>2]|0;r=Ta(e)|0;do{if((r|0)<(34-n|0))if(!t){e=h[f>>2]|0;n=e+r|0;t=n&1;n=(t+n|0)/2|0;a=8;break}else{r=(Sa(e,t)|0)+(r<>2]|0;n=r+e|0;s=n&1;t=s;f=1;n=(s+n|0)/2|0;break}else{r=(Sa(e,12)|0)+1|0;e=h[f>>2]|0;n=r+e|0;f=n&1;n=(f+n|0)/2|0;if(!t){t=f;a=8}else{t=f;f=1}}}while(0);if((a|0)==8)f=b[i+10>>0]<<1>>>0>=(b[l>>0]|0)>>>0;n=(t|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(r+1-e>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[l>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){s=t;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[l>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}function Al(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,4095,0);s=e+152|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+156>>2]|0):0)?(h[l+12>>2]|0)==(h[e+160>>2]|0):0){s=h[8906]|0;h[e+4580>>2]=s+(((h[8907]|0)-s|0)>>>1);v=o;return}r=e+4584|0;t=e+4588|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=8192){if(f>>>0>8192?(a=i+8192|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,8192-f|0);i=h[r>>2]|0}l=e+4580|0;h[l>>2]=i+4096;a=e+160|0;n=e+156|0;f=-4096;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==4096)break}v=o;return}function Ml(e){e=e|0;var i=0,r=0;h[e>>2]=35716;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Tl(e){e=e|0;var i=0,r=0;h[e>>2]=35716;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Sl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Pl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,255,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+152>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+156>>2]=f;h[e+160>>2]=t;Bl(e);t=0;do{h[e+164+(t*12|0)>>2]=4;h[e+164+(t*12|0)+4>>2]=0;d[e+164+(t*12|0)+8>>1]=0;d[e+164+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4544>>2]=4;h[e+4548>>2]=0;c[e+4552>>0]=l;c[e+4553>>0]=1;c[e+4554>>0]=0;h[e+4556>>2]=4;h[e+4560>>2]=1;c[e+4564>>0]=l;c[e+4565>>0]=1;c[e+4566>>0]=0;h[e+4568>>2]=0;v=n;return}function Ol(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4596>>0]=n&1;i=e+132|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Rl(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Rl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+148|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;e:do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;h[P+8>>2]=r+i;while(1){c[r>>0]=0;r=(h[O>>2]|0)+1|0;h[O>>2]=r;i=i+-1|0;if(!i)break e}}r=Ze()|0;i=h[P>>2]|0;if(!i)si(r|0);if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);si(r|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)f=19;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))f=17;if((f|0)==17?(t=E<<2,T=0,n=ye(67,t|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=n;f=n+(E<<2)|0;h[A+8>>2]=f;Cm(n|0,0,t|0)|0;h[S>>2]=f;f=19;break}r=Ze()|0;i=h[A>>2]|0;t=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4572|0;l=ce(E,y)|0;s=l+1|0;o=e+4576|0;u=(E|0)>0;d=e+136|0;b=e+144|0;k=e+140|0;w=e+132|0;_=e+88|0;m=e+4568|0;p=0;i:while(1){t=h[P>>2]|0;r=t+1|0;h[a>>2]=r;t=t+s|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];n=h[g>>2]|0;c[r+n>>0]=c[r+(n+-1)>>0]|0;c[(h[o>>2]|0)+-1>>0]=c[h[a>>2]>>0]|0;T=0;ve(81,e|0,0);n=T;T=0;if(n&1){f=30;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+y|0;h[a>>2]=r;i=(h[o>>2]|0)+y|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[d>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+((h[w>>2]|0)-l)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){f=31;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){f=43;break e}}if((f|0)==30){r=Ze()|0;break}else if((f|0)==31){r=Ze()|0;break}}else f=43}while(0);do{if((f|0)==43){T=0;pe(183,e|0);e=T;T=0;if(e&1){r=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);v=M;return}}while(0);i=h[A>>2]|0;t=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(r|0);if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);si(r|0)}function Ll(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0;d=e+4572|0;i=h[d>>2]|0;_=e+148|0;if((h[_>>2]|0)<=0)return;k=e+4576|0;w=e+4580|0;n=i;f=b[i+-1>>0]|0;i=b[i>>0]|0;u=0;while(1){o=h[k>>2]|0;s=b[o+(u+-1)>>0]|0;t=u+1|0;r=b[n+t>>0]|0;l=h[w>>2]|0;a=i-f|0;n=f-s|0;l=((((c[l+(r-i)>>0]|0)*9|0)+(c[l+a>>0]|0)|0)*9|0)+(c[l+n>>0]|0)|0;if(!l){t=(Dl(e,u,0)|0)+u|0;r=h[d>>2]|0;i=b[r+(t+-1)>>0]|0;r=b[r+t>>0]|0}else{f=i-s>>31;if((f^n|0)<0)n=i;else n=s+((f^a|0)<0?0:a)|0;o=Cl(e,l,b[o+u>>0]|0,n,0)|0;c[(h[k>>2]|0)+u>>0]=o}if((t|0)>=(h[_>>2]|0))break;n=h[d>>2]|0;f=i;i=r;u=t}return}function Cl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=i>>31;o=(w^i)-w|0;k=e+164+(o*12|0)+10|0;r=d[k>>1]|0;b=e+164+(o*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){f=5;while(1)if((r<>1]^w)-w+t|0;if((r&255|0)!=(r|0))r=r>>31&255^255;n=e+112|0;if((h[n>>2]|0)<8)Jt(e);t=e+108|0;a=h[t>>2]|0;l=a>>>24;s=h[2832+(f<<11)+(l<<3)+4>>2]|0;if(!s){n=Ta(e)|0;if((n|0)<23){if(f)n=(Sa(e,f)|0)+(n<>31^n>>1;if((((n|0)>-1?n:0-n|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}}else{h[n>>2]=(h[n>>2]|0)-s;h[t>>2]=a<>2]|0}s=e+164+(o*12|0)+4|0;t=h[s>>2]|0;if(!f){e=d[k>>1]|0;f=e;n=(t<<1)+-1+(e<<16>>16)>>31^n}else f=d[k>>1]|0;a=f<<16>>16==64;e=a&1;l=t+n>>e;a=a?32:f<<16>>16;h[b>>2]=((n|0)>-1?n:0-n|0)+(h[b>>2]|0)>>e;t=a+1|0;d[k>>1]=t;f=t+l|0;if((f|0)<1){k=d[u>>1]|0;d[u>>1]=(k&65535)-(k<<16>>16>-128&1);k=(f|0)>(~a|0)?f:0-a|0;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}if((l|0)<=0){k=l;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}k=l-t|0;b=d[u>>1]|0;d[u>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}function Dl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+4576|0;n=h[f>>2]|0;r=c[n+(i+-1)>>0]|0;a=e+148|0;n=xl(e,r,n+i|0,(h[a>>2]|0)-i|0)|0;t=n+i|0;if((t|0)==(h[a>>2]|0)){a=n;return a|0}r=r&255;i=b[(h[e+4572>>2]|0)+t>>0]|0;a=r-i|0;if((((a|0)>-1?a:0-a|0)|0)<1)r=(Il(e,e+4556|0)|0)+r|0;else r=(ce(Il(e,e+4544|0)|0,i-r>>31|1)|0)+i|0;c[(h[f>>2]|0)+t>>0]=r;a=e+4568|0;e=h[a>>2]|0;h[a>>2]=(e|0)<1?0:e+-1|0;a=n+1|0;return a|0}function xl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;l=e+112|0;s=e+108|0;o=e+4568|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;d=1<>2];b=t-f|0;b=(d|0)<(b|0)?d:b;f=b+f|0;if((b|0)==(d|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);b=T;T=0;if(b&1){b=Ze()|0;We(n|0);si(b|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;Cm(r|0,i|0,n|0)|0;return n|0}function Il(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;l=i+9|0;r=b[l>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;n=h[36476+(h[e+4568>>2]<<2)>>2]|0;r=Ta(e)|0;do{if((r|0)<(22-n|0))if(!t){e=h[f>>2]|0;n=e+r|0;t=n&1;n=(t+n|0)/2|0;a=8;break}else{r=(Sa(e,t)|0)+(r<>2]|0;n=r+e|0;s=n&1;t=s;f=1;n=(s+n|0)/2|0;break}else{r=(Sa(e,8)|0)+1|0;e=h[f>>2]|0;n=r+e|0;f=n&1;n=(f+n|0)/2|0;if(!t){t=f;a=8}else{t=f;f=1}}}while(0);if((a|0)==8)f=b[i+10>>0]<<1>>>0>=(b[l>>0]|0)>>>0;n=(t|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(r+1-e>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[l>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){s=t;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[l>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}function Bl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,255,0);s=e+152|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+156>>2]|0):0)?(h[l+12>>2]|0)==(h[e+160>>2]|0):0){s=h[8900]|0;h[e+4580>>2]=s+(((h[8901]|0)-s|0)>>>1);v=o;return}r=e+4584|0;t=e+4588|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=512){if(f>>>0>512?(a=i+512|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,512-f|0);i=h[r>>2]|0}l=e+4580|0;h[l>>2]=i+256;a=e+160|0;n=e+156|0;f=-256;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==256)break}v=o;return}function Nl(e){e=e|0;var i=0,r=0;h[e>>2]=35688;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Fl(e){e=e|0;var i=0,r=0;h[e>>2]=35688;i=h[e+4584>>2]|0;if(i){r=e+4588|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Ul(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=3;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function jl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+32|0;l=n;pv(l,255,0);a=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[l+8>>2]|0:f;t=h[i+12>>2]|0;t=(t|0)==0?h[l+12>>2]|0:t;i=h[i+16>>2]|0;r=h[l+16>>2]|0;h[e+152>>2]=(a|0)==0?h[l+4>>2]|0:a;h[e+156>>2]=f;h[e+160>>2]=t;Vp(e);t=0;do{h[e+164+(t*12|0)>>2]=4;h[e+164+(t*12|0)+4>>2]=0;d[e+164+(t*12|0)+8>>1]=0;d[e+164+(t*12|0)+10>>1]=1;t=t+1|0}while((t|0)!=365);l=((i|0)==0?r:i)&255;h[e+4544>>2]=4;h[e+4548>>2]=0;c[e+4552>>0]=l;c[e+4553>>0]=1;c[e+4554>>0]=0;h[e+4556>>2]=4;h[e+4560>>2]=1;c[e+4564>>0]=l;c[e+4565>>0]=1;c[e+4566>>0]=0;h[e+4568>>2]=0;v=n;return}function Hl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4596>>0]=n&1;i=e+132|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Yl(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Yl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;g=e+148|0;y=(h[g>>2]|0)+4|0;if((h[e+28>>2]|0)==1)E=h[e+20>>2]|0;else E=1;i=ce(E<<1,y)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;e:do{if(i){if(!(i>>>0>1431655765?(T=0,pe(178,P|0),S=T,T=0,S&1):0))f=6;if((f|0)==6?(T=0,r=ye(67,i*3|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;h[P+8>>2]=r+(i*3|0);while(1){c[r>>0]=0;c[r+1>>0]=0;c[r+2>>0]=0;r=(h[O>>2]|0)+3|0;h[O>>2]=r;i=i+-1|0;if(!i)break e}}t=Ze()|0;i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!E)f=19;else{if(!(E>>>0>1073741823?(T=0,pe(178,A|0),p=T,T=0,p&1):0))f=17;if((f|0)==17?(t=E<<2,T=0,n=ye(67,t|0)|0,p=T,T=0,!(p&1)):0){h[A>>2]=n;f=n+(E<<2)|0;h[A+8>>2]=f;Cm(n|0,0,t|0)|0;h[S>>2]=f;f=19;break}t=Ze()|0;i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}}while(0);if((f|0)==19){f=e+8|0;e:do{if((h[f>>2]|0)>0){a=e+4572|0;l=ce(E,y)|0;s=l+1|0;o=e+4576|0;u=(E|0)>0;d=e+136|0;b=e+144|0;k=e+140|0;w=e+132|0;_=e+88|0;m=e+4568|0;p=0;i:while(1){t=h[P>>2]|0;r=t+3|0;h[a>>2]=r;t=t+(s*3|0)|0;h[o>>2]=t;if(!(p&1))i=t;else{h[a>>2]=t;h[o>>2]=r;i=r;r=t}if(u){n=h[A>>2]|0;t=0;do{h[m>>2]=h[n+(t<<2)>>2];i=h[g>>2]|0;n=r+(i*3|0)|0;r=r+((i+-1|0)*3|0)|0;c[n>>0]=c[r>>0]|0;c[n+1>>0]=c[r+1>>0]|0;c[n+2>>0]=c[r+2>>0]|0;r=h[a>>2]|0;n=(h[o>>2]|0)+-3|0;c[n>>0]=c[r>>0]|0;c[n+1>>0]=c[r+1>>0]|0;c[n+2>>0]=c[r+2>>0]|0;T=0;ve(82,e|0,0);n=T;T=0;if(n&1){f=30;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[m>>2];r=(h[a>>2]|0)+(y*3|0)|0;h[a>>2]=r;i=(h[o>>2]|0)+(y*3|0)|0;h[o>>2]=i;t=t+1|0}while((t|0)<(E|0))}n=h[d>>2]|0;if(((n|0)<=(p|0)?(p|0)<((h[b>>2]|0)+n|0):0)?(n=h[_>>2]|0,T=0,Fe(h[(h[n>>2]|0)+8>>2]|0,n|0,i+(((h[w>>2]|0)-l|0)*3|0)|0,h[k>>2]|0,y|0),n=T,T=0,n&1):0){f=31;break}p=p+1|0;if((p|0)>=(h[f>>2]|0)){f=43;break e}}if((f|0)==30){t=Ze()|0;break}else if((f|0)==31){t=Ze()|0;break}}else f=43}while(0);do{if((f|0)==43){T=0;pe(183,e|0);e=T;T=0;if(e&1){t=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);v=M;return}}while(0);i=h[A>>2]|0;r=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-r|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(t|0);r=h[O>>2]|0;if((r|0)!=(i|0))h[O>>2]=r+(~(((r+-3-i|0)>>>0)/3|0)*3|0);zv(i);si(t|0)}function ql(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0;T=e+148|0;if((h[T>>2]|0)<=0)return;S=e+4576|0;P=e+4572|0;O=e+4580|0;M=0;while(1){y=M+-1|0;f=h[S>>2]|0;a=h[P>>2]|0;i=M+1|0;n=b[a+(M*3|0)>>0]|0;A=h[O>>2]|0;l=b[a+(y*3|0)>>0]|0;s=n-l|0;o=b[f+(y*3|0)>>0]|0;u=l-o|0;d=((((c[A+((b[a+(i*3|0)>>0]|0)-n)>>0]|0)*9|0)+(c[A+s>>0]|0)|0)*9|0)+(c[A+u>>0]|0)|0;t=b[a+(M*3|0)+1>>0]|0;k=b[a+(y*3|0)+1>>0]|0;w=t-k|0;_=b[f+(y*3|0)+1>>0]|0;m=k-_|0;p=((((c[A+((b[a+(i*3|0)+1>>0]|0)-t)>>0]|0)*9|0)+(c[A+w>>0]|0)|0)*9|0)+(c[A+m>>0]|0)|0;r=b[a+(M*3|0)+2>>0]|0;v=b[a+(y*3|0)+2>>0]|0;g=r-v|0;y=b[f+(y*3|0)+2>>0]|0;E=v-y|0;A=((((c[A+((b[a+(i*3|0)+2>>0]|0)-r)>>0]|0)*9|0)+(c[A+g>>0]|0)|0)*9|0)+(c[A+E>>0]|0)|0;if(!(p|d|A))i=(Xl(e,M,0)|0)+M|0;else{a=b[f+(M*3|0)>>0]|0;f=n-o>>31;if((f^u|0)>=0)if((f^s|0)<0)n=o;else n=o-l+n|0;a=zl(e,d,a,n,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+1>>0]|0;n=t-_>>31;if((n^m|0)>=0)if((n^w|0)<0)t=_;else t=_-k+t|0;n=zl(e,p,f,t,0)|0;f=b[(h[S>>2]|0)+(M*3|0)+2>>0]|0;t=r-y>>31;if((t^E|0)>=0)if((t^g|0)<0)r=y;else r=y-v+r|0;A=zl(e,A,f,r,0)|0;M=(h[S>>2]|0)+(M*3|0)|0;c[M>>0]=a;c[M+1>>0]=n;c[M+2>>0]=A}if((i|0)<(h[T>>2]|0))M=i;else break}return}function Xl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;s=v;v=v+16|0;u=s+3|0;d=s;f=e+4576|0;r=h[f>>2]|0;t=r+((i+-1|0)*3|0)|0;a=c[t>>0]|0;l=c[t+1>>0]|0;t=c[t+2>>0]|0;c[d>>0]=a;c[d+1>>0]=l;c[d+2>>0]=t;o=e+148|0;n=(h[o>>2]|0)-i|0;c[u>>0]=c[d>>0]|0;c[u+1>>0]=c[d+1>>0]|0;c[u+2>>0]=c[d+2>>0]|0;n=Vl(e,u,r+(i*3|0)|0,n)|0;r=n+i|0;if((r|0)==(h[o>>2]|0)){d=n;v=s;return d|0}u=(h[e+4572>>2]|0)+(r*3|0)|0;i=c[u>>0]|0;o=c[u+1>>0]|0;u=c[u+2>>0]|0;d=h[f>>2]|0;f=e+4544|0;k=Gl(e,f)|0;b=Gl(e,f)|0;i=i&255;i=(ce(i-(a&255)>>31|1,k)|0)+i&255;o=o&255;o=(ce(o-(l&255)>>31|1,b)|0)+o&255;u=u&255;u=(ce(u-(t&255)>>31|1,Gl(e,f)|0)|0)+u&255;d=d+(r*3|0)|0;c[d>>0]=i;c[d+1>>0]=o;c[d+2>>0]=u;d=e+4568|0;u=h[d>>2]|0;h[d>>2]=(u|0)<1?0:u+-1|0;d=n+1|0;v=s;return d|0}function zl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=i>>31;o=(w^i)-w|0;k=e+164+(o*12|0)+10|0;r=d[k>>1]|0;b=e+164+(o*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){f=5;while(1)if((r<>1]^w)-w+t|0;if((r&255|0)!=(r|0))r=r>>31&255^255;n=e+112|0;if((h[n>>2]|0)<8)Jt(e);t=e+108|0;a=h[t>>2]|0;l=a>>>24;s=h[2832+(f<<11)+(l<<3)+4>>2]|0;if(!s){n=Ta(e)|0;if((n|0)<23){if(f)n=(Sa(e,f)|0)+(n<>31^n>>1;if((((n|0)>-1?n:0-n|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}}else{h[n>>2]=(h[n>>2]|0)-s;h[t>>2]=a<>2]|0}s=e+164+(o*12|0)+4|0;t=h[s>>2]|0;if(!f){e=d[k>>1]|0;f=e;n=(t<<1)+-1+(e<<16>>16)>>31^n}else f=d[k>>1]|0;a=f<<16>>16==64;e=a&1;l=t+n>>e;a=a?32:f<<16>>16;h[b>>2]=((n|0)>-1?n:0-n|0)+(h[b>>2]|0)>>e;t=a+1|0;d[k>>1]=t;f=t+l|0;if((f|0)<1){k=d[u>>1]|0;d[u>>1]=(k&65535)-(k<<16>>16>-128&1);k=(f|0)>(~a|0)?f:0-a|0;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}if((l|0)<=0){k=l;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}k=l-t|0;b=d[u>>1]|0;d[u>>1]=(b<<16>>16<127&1)+(b&65535);k=(k|0)>0?0:k;h[s>>2]=k;w=n^w;i=i>>>31;i=r+i|0;i=i+w|0;i=i&255;return i|0}function Vl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;l=e+112|0;s=e+108|0;o=e+4568|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;d=1<>2];b=t-f|0;b=(d|0)<(b|0)?d:b;f=b+f|0;if((b|0)==(d|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);b=T;T=0;if(b&1){b=Ze()|0;We(n|0);si(b|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;f=0;do{b=r+(f*3|0)|0;c[b>>0]=c[i>>0]|0;c[b+1>>0]=c[i+1>>0]|0;c[b+2>>0]=c[i+2>>0]|0;f=f+1|0}while((f|0)!=(n|0));return n|0}function Gl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;l=i+9|0;r=b[l>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;n=h[36476+(h[e+4568>>2]<<2)>>2]|0;r=Ta(e)|0;do{if((r|0)<(22-n|0))if(!t){e=h[f>>2]|0;n=e+r|0;t=n&1;n=(t+n|0)/2|0;a=8;break}else{r=(Sa(e,t)|0)+(r<>2]|0;n=r+e|0;s=n&1;t=s;f=1;n=(s+n|0)/2|0;break}else{r=(Sa(e,8)|0)+1|0;e=h[f>>2]|0;n=r+e|0;f=n&1;n=(f+n|0)/2|0;if(!t){t=f;a=8}else{t=f;f=1}}}while(0);if((a|0)==8)f=b[i+10>>0]<<1>>>0>=(b[l>>0]|0)>>>0;n=(t|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(r+1-e>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[l>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){s=t;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[l>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;s=s&255;s=s+1|0;s=s&255;c[l>>0]=s;return n|0}function Kl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+128|0;f=u;b=u+116|0;k=u+104|0;l=u+20|0;o=u+16|0;s=u+12|0;d=u+8|0;a=u+4|0;c[b>>0]=c[58887]|0;c[b+1>>0]=c[58888]|0;c[b+2>>0]=c[58889]|0;c[b+3>>0]=c[58890]|0;c[b+4>>0]=c[58891]|0;c[b+5>>0]=c[58892]|0;Sk(b+1|0,58893,0,h[r+4>>2]|0);e=rk()|0;h[f>>2]=n;n=k+(b_(k,12,e,b,f)|0)|0;b=Pk(k,n,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(3,k|0,b|0,n|0,l|0,o|0,s|0,d|0);n=T;T=0;if(n&1){k=Ze()|0;Ad(e)|0;si(k|0)}else{Ad(e)|0;h[a>>2]=h[i>>2];b=h[o>>2]|0;k=h[s>>2]|0;h[f>>2]=h[a>>2];k=w_(f,l,b,k,r,t)|0;v=u;return k|0}return 0}function Wl(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;c=v;v=v+240|0;a=c+8|0;e=c;b=c+204|0;s=c+32|0;u=c+28|0;o=c+24|0;d=c+20|0;l=c+16|0;k=e;h[k>>2]=37;h[k+4>>2]=0;Sk(e+1|0,58895,0,h[r+4>>2]|0);k=rk()|0;w=a;h[w>>2]=n;h[w+4>>2]=f;f=b+(b_(b,23,k,e,a)|0)|0;n=Pk(b,f,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(3,b|0,n|0,f|0,s|0,u|0,o|0,d|0);f=T;T=0;if(f&1){w=Ze()|0;Ad(e)|0;si(w|0)}else{Ad(e)|0;h[l>>2]=h[i>>2];k=h[u>>2]|0;w=h[o>>2]|0;h[a>>2]=h[l>>2];w=w_(a,s,k,w,r,t)|0;v=c;return w|0}return 0}function Jl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+352|0;_=A+312|0;d=A+48|0;c=A+32|0;s=A+24|0;f=A+8|0;u=A;k=A+316|0;w=A+80|0;l=A+84|0;E=A+76|0;y=A+72|0;p=A+68|0;g=A+64|0;o=u;h[o>>2]=37;h[o+4>>2]=0;o=xk(u+1|0,58898,h[r+4>>2]|0)|0;h[w>>2]=k;e=rk()|0;if(o){h[f>>2]=h[r+8>>2];m[f+8>>3]=n;f=b_(k,30,e,u,f)|0}else{m[s>>3]=n;f=b_(k,30,e,u,s)|0}e:do{if((f|0)>29){T=0;e=Ce(3)|0;f=T;T=0;f=f&1;if(o){if(!f?(T=0,h[c>>2]=h[r+8>>2],m[c+8>>3]=n,a=De(17,w|0,e|0,u|0,c|0)|0,b=T,T=0,!(b&1)):0)M=12}else if(!f?(T=0,h[d>>2]=h[r+8>>2],m[d+8>>3]=n,b=De(17,w|0,e|0,u|0,d|0)|0,d=T,T=0,!(d&1)):0){a=b;M=12}do{if((M|0)==12){e=h[w>>2]|0;if(!e){T=0;Ie(6);b=T;T=0;if(b&1)break;f=h[w>>2]|0}else f=e;e=f;u=f;M=16;break e}}while(0);e=Ze()|0}else{e=h[w>>2]|0;u=0;a=f;M=16}}while(0);if((M|0)==16){s=e+a|0;o=Pk(e,s,r)|0;do{if((e|0)==(k|0)){e=k;f=0;M=22}else{a=jc(a<<3)|0;if(!a){T=0;Ie(6);M=T;T=0;if(M&1){f=0;M=20;break}e=h[w>>2]|0}f=a;l=a;M=22}}while(0);do{if((M|0)==22){T=0;a=ye(68,r|0)|0;w=T;T=0;if(!(w&1)){h[p>>2]=a;T=0;Se(4,e|0,o|0,s|0,l|0,E|0,y|0,p|0);p=T;T=0;if(p&1){e=Ze()|0;Ad(a)|0;break}Ad(a)|0;h[g>>2]=h[i>>2];M=h[E>>2]|0;e=h[y>>2]|0;T=0;h[_>>2]=h[g>>2];e=ge(40,_|0,l|0,M|0,e|0,r|0,t|0)|0;M=T;T=0;if(!(M&1)){h[i>>2]=e;if(f)Hc(f);if(u)Hc(u);v=A;return e|0}else M=20}else M=20}}while(0);if((M|0)==20)e=Ze()|0;if(f)Hc(f);if(u)Hc(u)}si(e|0);return 0}function Zl(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;E=v;v=v+16|0;A=E;y=Vu(a,44212)|0;p=Vu(a,44368)|0;wE[h[(h[p>>2]|0)+20>>2]&127](A,p);h[f>>2]=t;a=c[e>>0]|0;switch(a<<24>>24){case 43:case 45:{T=0;a=Oe(h[(h[y>>2]|0)+44>>2]|0,y|0,a|0)|0;g=T;T=0;if(g&1)m=8;else{o=h[f>>2]|0;h[f>>2]=o+4;h[o>>2]=a;o=e+1|0;m=10}break}default:{o=e;m=10}}e:do{if((m|0)==10){g=r;i:do{if((g-o|0)>1?(c[o>>0]|0)==48:0){l=o+1|0;switch(c[l>>0]|0){case 88:case 120:break;default:{m=11;break i}}T=0;a=Oe(h[(h[y>>2]|0)+44>>2]|0,y|0,48)|0;_=T;T=0;if(_&1){m=8;break e}_=h[f>>2]|0;h[f>>2]=_+4;h[_>>2]=a;o=o+2|0;T=0;a=Oe(h[(h[y>>2]|0)+44>>2]|0,y|0,c[l>>0]|0)|0;_=T;T=0;if(_&1){m=8;break e}_=h[f>>2]|0;h[f>>2]=_+4;h[_>>2]=a;if(o>>>0>>0){a=o;while(1){l=c[a>>0]|0;T=0;s=Ce(3)|0;_=T;T=0;if(_&1)break;T=0;l=Oe(39,l<<24>>24|0,s|0)|0;_=T;T=0;if(_&1)break;if(!l){_=o;break i}a=a+1|0;if(a>>>0>=r>>>0){_=o;break i}}a=Ze()|0;break e}else{_=o;a=o}}else m=11}while(0);i:do{if((m|0)==11)if(o>>>0>>0){a=o;while(1){l=c[a>>0]|0;T=0;s=Ce(3)|0;_=T;T=0;if(_&1)break;T=0;l=Oe(40,l<<24>>24|0,s|0)|0;_=T;T=0;if(_&1)break;if(!l){_=o;break i}a=a+1|0;if(a>>>0>=r>>>0){_=o;break i}}a=Ze()|0;break e}else{_=o;a=o}}while(0);k=c[A>>0]|0;w=A+4|0;if(((k&1)==0?(k&255)>>>1:h[w>>2]|0)|0){if((_|0)!=(a|0)?(u=a+-1|0,_>>>0>>0):0){s=_;l=u;do{k=c[s>>0]|0;c[s>>0]=c[l>>0]|0;c[l>>0]=k;s=s+1|0;l=l+-1|0}while(s>>>0>>0)}T=0;u=ye(h[(h[p>>2]|0)+16>>2]|0,p|0)|0;k=T;T=0;if(k&1){m=8;break}d=A+8|0;b=A+1|0;i:do{if(_>>>0>>0){l=0;s=0;k=_;while(1){o=c[((c[A>>0]&1)==0?b:h[d>>2]|0)+s>>0]|0;if(o<<24>>24>0&(l|0)==(o<<24>>24|0)){l=h[f>>2]|0;h[f>>2]=l+4;h[l>>2]=u;l=c[A>>0]|0;o=0;s=(s>>>0<(((l&1)==0?(l&255)>>>1:h[w>>2]|0)+-1|0)>>>0&1)+s|0}else o=l;T=0;l=Oe(h[(h[y>>2]|0)+44>>2]|0,y|0,c[k>>0]|0)|0;M=T;T=0;if(M&1)break;M=h[f>>2]|0;h[f>>2]=M+4;h[M>>2]=l;k=k+1|0;if(k>>>0>=a>>>0)break i;else l=o+1|0}a=Ze()|0;break e}}while(0);l=t+(_-e<<2)|0;o=h[f>>2]|0;if((l|0)!=(o|0)){s=o+-4|0;if(l>>>0>>0){do{M=h[l>>2]|0;h[l>>2]=h[s>>2];h[s>>2]=M;l=l+4|0;s=s+-4|0}while(l>>>0>>0);u=y;l=o}else{u=y;l=o}}else u=y}else{T=0;De(h[(h[y>>2]|0)+48>>2]|0,y|0,_|0,a|0,h[f>>2]|0)|0;M=T;T=0;if(M&1){m=8;break}l=(h[f>>2]|0)+(a-_<<2)|0;h[f>>2]=l;u=y}i:do{if(a>>>0>>0){while(1){l=c[a>>0]|0;if(l<<24>>24==46){s=a;break}T=0;s=Oe(h[(h[u>>2]|0)+44>>2]|0,y|0,l|0)|0;M=T;T=0;if(M&1){m=4;break}M=h[f>>2]|0;l=M+4|0;h[f>>2]=l;h[M>>2]=s;a=a+1|0;if(a>>>0>=r>>>0)break i}if((m|0)==4){a=Ze()|0;break e}T=0;a=ye(h[(h[p>>2]|0)+12>>2]|0,p|0)|0;M=T;T=0;if(M&1){m=8;break e}M=h[f>>2]|0;l=M+4|0;h[f>>2]=l;h[M>>2]=a;a=s+1|0}}while(0);T=0;De(h[(h[y>>2]|0)+48>>2]|0,y|0,a|0,r|0,l|0)|0;M=T;T=0;if(M&1)m=8;else{M=(h[f>>2]|0)+(g-a<<2)|0;h[f>>2]=M;h[n>>2]=(i|0)==(r|0)?M:t+(i-e<<2)|0;qd(A);v=E;return}}}while(0);if((m|0)==8)a=Ze()|0;qd(A);si(a|0)}function Ql(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+352|0;_=A+304|0;d=A+48|0;c=A+32|0;s=A+24|0;f=A+8|0;u=A;k=A+308|0;w=A+72|0;l=A+76|0;E=A+68|0;y=A+64|0;p=A+60|0;g=A+56|0;o=u;h[o>>2]=37;h[o+4>>2]=0;o=xk(u+1|0,58899,h[r+4>>2]|0)|0;h[w>>2]=k;e=rk()|0;if(o){h[f>>2]=h[r+8>>2];m[f+8>>3]=n;f=b_(k,30,e,u,f)|0}else{m[s>>3]=n;f=b_(k,30,e,u,s)|0}e:do{if((f|0)>29){T=0;e=Ce(3)|0;f=T;T=0;f=f&1;if(o){if(!f?(T=0,h[c>>2]=h[r+8>>2],m[c+8>>3]=n,a=De(17,w|0,e|0,u|0,c|0)|0,b=T,T=0,!(b&1)):0)M=12}else if(!f?(T=0,m[d>>3]=n,b=De(17,w|0,e|0,u|0,d|0)|0,d=T,T=0,!(d&1)):0){a=b;M=12}do{if((M|0)==12){e=h[w>>2]|0;if(!e){T=0;Ie(6);b=T;T=0;if(b&1)break;f=h[w>>2]|0}else f=e;e=f;u=f;M=16;break e}}while(0);e=Ze()|0}else{e=h[w>>2]|0;u=0;a=f;M=16}}while(0);if((M|0)==16){s=e+a|0;o=Pk(e,s,r)|0;do{if((e|0)==(k|0)){e=k;f=0;M=22}else{a=jc(a<<3)|0;if(!a){T=0;Ie(6);M=T;T=0;if(M&1){f=0;M=20;break}e=h[w>>2]|0}f=a;l=a;M=22}}while(0);do{if((M|0)==22){T=0;a=ye(68,r|0)|0;w=T;T=0;if(!(w&1)){h[p>>2]=a;T=0;Se(4,e|0,o|0,s|0,l|0,E|0,y|0,p|0);p=T;T=0;if(p&1){e=Ze()|0;Ad(a)|0;break}Ad(a)|0;h[g>>2]=h[i>>2];M=h[E>>2]|0;e=h[y>>2]|0;T=0;h[_>>2]=h[g>>2];e=ge(40,_|0,l|0,M|0,e|0,r|0,t|0)|0;M=T;T=0;if(!(M&1)){h[i>>2]=e;if(f)Hc(f);if(u)Hc(u);v=A;return e|0}else M=20}else M=20}}while(0);if((M|0)==20)e=Ze()|0;if(f)Hc(f);if(u)Hc(u)}si(e|0);return 0}function $l(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+192|0;s=b;e=b+180|0;u=b+160|0;d=b+12|0;l=b+8|0;o=b+4|0;c[e>>0]=c[58901]|0;c[e+1>>0]=c[58902]|0;c[e+2>>0]=c[58903]|0;c[e+3>>0]=c[58904]|0;c[e+4>>0]=c[58905]|0;c[e+5>>0]=c[58906]|0;f=rk()|0;h[s>>2]=n;e=b_(u,20,f,e,s)|0;n=u+e|0;f=Pk(u,n,r)|0;a=_h(r)|0;h[l>>2]=a;T=0;l=Oe(37,l|0,44212)|0;k=T;T=0;if(k&1){k=Ze()|0;Ad(a)|0;si(k|0)}else{Ad(a)|0;OE[h[(h[l>>2]|0)+48>>2]&31](l,u,n,d)|0;k=d+(e<<2)|0;h[o>>2]=h[i>>2];h[s>>2]=h[o>>2];k=w_(s,d,(f|0)==(n|0)?k:d+(f-u<<2)|0,k,r,t)|0;v=b;return k|0}return 0}function es(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0;P=v;v=v+32|0;g=P+16|0;p=P+12|0;A=P+8|0;y=P+4|0;E=P;s=_h(t)|0;h[A>>2]=s;T=0;A=Oe(37,A|0,44220)|0;m=T;T=0;if(m&1){P=Ze()|0;Ad(s)|0;si(P|0)}Ad(s)|0;h[n>>2]=0;m=A+8|0;s=h[i>>2]|0;e:do{if((a|0)!=(l|0)){i:while(1){o=s;if(s){if((h[s+12>>2]|0)==(h[s+16>>2]|0)?(mE[h[(h[s>>2]|0)+36>>2]&127](s)|0)==-1:0){h[i>>2]=0;s=0;o=0}}else s=0;w=(s|0)==0;k=h[r>>2]|0;u=k;do{if(k){if((h[k+12>>2]|0)==(h[k+16>>2]|0)?(mE[h[(h[k>>2]|0)+36>>2]&127](k)|0)==-1:0){h[r>>2]=0;u=0;S=12;break}if(!w){S=13;break i}}else S=12}while(0);if((S|0)==12){S=0;if(w){S=13;break}else k=0}r:do{if((vE[h[(h[A>>2]|0)+36>>2]&63](A,c[a>>0]|0,0)|0)<<24>>24==37){k=a+1|0;if((k|0)==(l|0)){S=17;break i}_=vE[h[(h[A>>2]|0)+36>>2]&63](A,c[k>>0]|0,0)|0;switch(_<<24>>24){case 48:case 69:{w=a+2|0;if((w|0)==(l|0)){S=20;break i}a=k;k=vE[h[(h[A>>2]|0)+36>>2]&63](A,c[w>>0]|0,0)|0;s=_;break}default:{k=_;s=0}}_=h[(h[e>>2]|0)+36>>2]|0;h[y>>2]=o;h[E>>2]=u;h[p>>2]=h[y>>2];h[g>>2]=h[E>>2];_=CE[_&15](e,p,g,t,n,f,k,s)|0;h[i>>2]=_;a=a+2|0}else{o=c[a>>0]|0;if(o<<24>>24>-1?(M=h[m>>2]|0,(d[M+(o<<24>>24<<1)>>1]&8192)!=0):0){do{a=a+1|0;if((a|0)==(l|0)){a=l;break}o=c[a>>0]|0;if(o<<24>>24<=-1)break}while((d[M+(o<<24>>24<<1)>>1]&8192)!=0);o=k;while(1){if(s){if((h[s+12>>2]|0)==(h[s+16>>2]|0)?(mE[h[(h[s>>2]|0)+36>>2]&127](s)|0)==-1:0){h[i>>2]=0;s=0}}else s=0;u=(s|0)==0;do{if(k){if((h[k+12>>2]|0)!=(h[k+16>>2]|0))if(u){_=o;break}else break r;if((mE[h[(h[k>>2]|0)+36>>2]&127](k)|0)!=-1)if(u^(o|0)==0){_=o;k=o;break}else break r;else{h[r>>2]=0;o=0;S=39;break}}else S=39}while(0);if((S|0)==39){S=0;if(u)break r;else{_=o;k=0}}u=s+12|0;o=h[u>>2]|0;w=s+16|0;if((o|0)==(h[w>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=b[o>>0]|0;if((o&255)<<24>>24<=-1)break r;if(!(d[(h[m>>2]|0)+(o<<24>>24<<1)>>1]&8192))break r;o=h[u>>2]|0;if((o|0)==(h[w>>2]|0)){mE[h[(h[s>>2]|0)+40>>2]&127](s)|0;o=_;continue}else{h[u>>2]=o+1;o=_;continue}}}u=s+12|0;o=h[u>>2]|0;k=s+16|0;if((o|0)==(h[k>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=b[o>>0]|0;_=ME[h[(h[A>>2]|0)+12>>2]&63](A,o&255)|0;if(_<<24>>24!=(ME[h[(h[A>>2]|0)+12>>2]&63](A,c[a>>0]|0)|0)<<24>>24){S=57;break i}o=h[u>>2]|0;if((o|0)==(h[k>>2]|0))mE[h[(h[s>>2]|0)+40>>2]&127](s)|0;else h[u>>2]=o+1;a=a+1|0}}while(0);s=h[i>>2]|0;if(!((a|0)!=(l|0)&(h[n>>2]|0)==0))break e}if((S|0)==13){h[n>>2]=4;break}else if((S|0)==17){h[n>>2]=4;break}else if((S|0)==20){h[n>>2]=4;break}else if((S|0)==57){h[n>>2]=4;s=h[i>>2]|0;break}}}while(0);if(s){if((h[s+12>>2]|0)==(h[s+16>>2]|0)?(mE[h[(h[s>>2]|0)+36>>2]&127](s)|0)==-1:0){h[i>>2]=0;s=0}}else s=0;a=(s|0)==0;o=h[r>>2]|0;do{if(o){if((h[o+12>>2]|0)==(h[o+16>>2]|0)?(mE[h[(h[o>>2]|0)+36>>2]&127](o)|0)==-1:0){h[r>>2]=0;S=67;break}if(!a)S=68}else S=67}while(0);if((S|0)==67?a:0)S=68;if((S|0)==68)h[n>>2]=h[n>>2]|2;v=P;return s|0}function is(e){e=e|0;return}function rs(e){e=e|0;zv(e);return}function ts(e){e=e|0;return 2}function ns(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=es(e,s,l,t,n,f,58907,58915)|0;v=a;return e|0}function fs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;d=e+8|0;d=mE[h[(h[d>>2]|0)+20>>2]&127](d)|0;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];r=c[d>>0]|0;b=(r&1)==0;i=b?d+1|0:h[d+8>>2]|0;r=i+(b?(r&255)>>>1:h[d+4>>2]|0)|0;h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=es(e,s,l,t,n,f,i,r)|0;v=a;return e|0}function as(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44220)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];ls(e,f+24|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function ls(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0;a=v;v=v+16|0;l=a+4|0;s=a;e=e+8|0;e=mE[h[h[e>>2]>>2]&127](e)|0;h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];r=(Gw(r,l,e,e+168|0,f,n,0)|0)-e|0;if((r|0)<168)h[i>>2]=((r|0)/12|0|0)%7|0;v=a;return}function ss(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44220)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];os(e,f+16|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function os(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0;a=v;v=v+16|0;l=a+4|0;s=a;e=e+8|0;e=mE[h[(h[e>>2]|0)+4>>2]&127](e)|0;h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];r=(Gw(r,l,e,e+288|0,f,n,0)|0)-e|0;if((r|0)<288)h[i>>2]=((r|0)/12|0|0)%12|0;v=a;return}function us(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44220)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];cs(e,f+20|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function cs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,4)|0;if(!(h[n>>2]&4)){if((e|0)<69)e=e+2e3|0;else e=(e+-69|0)>>>0<31?e+1900|0:e;h[i>>2]=e+-1900}v=a;return}function ds(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0;V=v;v=v+144|0;s=V+132|0;l=V+116|0;U=V+128|0;y=V+124|0;x=V+120|0;j=V+112|0;H=V+108|0;Y=V+104|0;q=V+100|0;X=V+96|0;z=V+92|0;o=V+88|0;u=V+84|0;d=V+80|0;b=V+76|0;k=V+72|0;w=V+68|0;_=V+64|0;m=V+60|0;p=V+56|0;g=V+52|0;E=V+48|0;A=V+44|0;M=V+40|0;S=V+36|0;P=V+32|0;O=V+28|0;R=V+24|0;L=V+20|0;C=V+16|0;D=V+12|0;I=V+8|0;B=V+4|0;N=V;h[n>>2]=0;F=_h(t)|0;h[U>>2]=F;T=0;U=Oe(37,U|0,44220)|0;K=T;T=0;if(K&1){K=Ze()|0;Ad(F)|0;si(K|0)}Ad(F)|0;do{switch(a<<24>>24|0){case 65:case 97:{h[y>>2]=h[r>>2];h[s>>2]=h[y>>2];ls(e,f+24|0,i,s,n,U);G=28;break}case 104:case 66:case 98:{h[x>>2]=h[r>>2];h[s>>2]=h[x>>2];os(e,f+16|0,i,s,n,U);G=28;break}case 99:{G=e+8|0;G=mE[h[(h[G>>2]|0)+12>>2]&127](G)|0;h[j>>2]=h[i>>2];h[H>>2]=h[r>>2];a=c[G>>0]|0;r=(a&1)==0;K=r?G+1|0:h[G+8>>2]|0;G=K+(r?(a&255)>>>1:h[G+4>>2]|0)|0;h[l>>2]=h[j>>2];h[s>>2]=h[H>>2];G=es(e,l,s,t,n,f,K,G)|0;h[i>>2]=G;G=28;break}case 101:case 100:{h[Y>>2]=h[r>>2];h[s>>2]=h[Y>>2];hs(e,f+12|0,i,s,n,U);G=28;break}case 68:{h[q>>2]=h[i>>2];h[X>>2]=h[r>>2];h[l>>2]=h[q>>2];h[s>>2]=h[X>>2];G=es(e,l,s,t,n,f,58915,58923)|0;h[i>>2]=G;G=28;break}case 70:{h[z>>2]=h[i>>2];h[o>>2]=h[r>>2];h[l>>2]=h[z>>2];h[s>>2]=h[o>>2];G=es(e,l,s,t,n,f,58923,58931)|0;h[i>>2]=G;G=28;break}case 72:{h[u>>2]=h[r>>2];h[s>>2]=h[u>>2];bs(e,f+8|0,i,s,n,U);G=28;break}case 73:{h[d>>2]=h[r>>2];h[s>>2]=h[d>>2];ks(e,f+8|0,i,s,n,U);G=28;break}case 106:{h[b>>2]=h[r>>2];h[s>>2]=h[b>>2];ws(e,f+28|0,i,s,n,U);G=28;break}case 109:{h[k>>2]=h[r>>2];h[s>>2]=h[k>>2];_s(e,f+16|0,i,s,n,U);G=28;break}case 77:{h[w>>2]=h[r>>2];h[s>>2]=h[w>>2];ms(e,f+4|0,i,s,n,U);G=28;break}case 116:case 110:{h[_>>2]=h[r>>2];h[s>>2]=h[_>>2];ps(e,i,s,n,U);G=28;break}case 112:{h[m>>2]=h[r>>2];h[s>>2]=h[m>>2];vs(e,f+8|0,i,s,n,U);G=28;break}case 114:{h[p>>2]=h[i>>2];h[g>>2]=h[r>>2];h[l>>2]=h[p>>2];h[s>>2]=h[g>>2];G=es(e,l,s,t,n,f,58931,58942)|0;h[i>>2]=G;G=28;break}case 82:{h[E>>2]=h[i>>2];h[A>>2]=h[r>>2];h[l>>2]=h[E>>2];h[s>>2]=h[A>>2];G=es(e,l,s,t,n,f,58942,58947)|0;h[i>>2]=G;G=28;break}case 83:{h[M>>2]=h[r>>2];h[s>>2]=h[M>>2];gs(e,f,i,s,n,U);G=28;break}case 84:{h[S>>2]=h[i>>2];h[P>>2]=h[r>>2];h[l>>2]=h[S>>2];h[s>>2]=h[P>>2];G=es(e,l,s,t,n,f,58947,58955)|0;h[i>>2]=G;G=28;break}case 119:{h[O>>2]=h[r>>2];h[s>>2]=h[O>>2];ys(e,f+24|0,i,s,n,U);G=28;break}case 120:{K=h[(h[e>>2]|0)+20>>2]|0;h[R>>2]=h[i>>2];h[L>>2]=h[r>>2];h[l>>2]=h[R>>2];h[s>>2]=h[L>>2];l=_E[K&63](e,l,s,t,n,f)|0;break}case 88:{G=e+8|0;G=mE[h[(h[G>>2]|0)+24>>2]&127](G)|0;h[C>>2]=h[i>>2];h[D>>2]=h[r>>2];a=c[G>>0]|0;r=(a&1)==0;K=r?G+1|0:h[G+8>>2]|0;G=K+(r?(a&255)>>>1:h[G+4>>2]|0)|0;h[l>>2]=h[C>>2];h[s>>2]=h[D>>2];G=es(e,l,s,t,n,f,K,G)|0;h[i>>2]=G;G=28;break}case 121:{h[I>>2]=h[r>>2];h[s>>2]=h[I>>2];cs(e,f+20|0,i,s,n,U);G=28;break}case 89:{h[B>>2]=h[r>>2];h[s>>2]=h[B>>2];Es(e,f+20|0,i,s,n,U);G=28;break}case 37:{h[N>>2]=h[r>>2];h[s>>2]=h[N>>2];As(e,i,s,n,U);G=28;break}default:{h[n>>2]=h[n>>2]|4;G=28}}}while(0);if((G|0)==28)l=h[i>>2]|0;v=V;return l|0}function hs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e+-1|0)>>>0<31&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function bs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<24&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function ks(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e+-1|0)>>>0<12&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function ws(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,3)|0;r=h[n>>2]|0;if((e|0)<366&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function _s(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<13&(r&4|0)==0)h[i>>2]=e+-1;else h[n>>2]=r|4;v=a;return}function ms(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<60&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function ps(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;a=n+8|0;e:while(1){n=h[i>>2]|0;do{if(n){if((h[n+12>>2]|0)==(h[n+16>>2]|0))if((mE[h[(h[n>>2]|0)+36>>2]&127](n)|0)==-1){h[i>>2]=0;n=0;break}else{n=h[i>>2]|0;break}}else n=0}while(0);n=(n|0)==0;e=h[r>>2]|0;do{if(e){if((h[e+12>>2]|0)!=(h[e+16>>2]|0))if(n)break;else break e;if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)!=-1)if(n)break;else break e;else{h[r>>2]=0;l=12;break}}else l=12}while(0);if((l|0)==12){l=0;if(n){e=0;break}else e=0}n=h[i>>2]|0;f=h[n+12>>2]|0;if((f|0)==(h[n+16>>2]|0))n=mE[h[(h[n>>2]|0)+36>>2]&127](n)|0;else n=b[f>>0]|0;if((n&255)<<24>>24<=-1)break;if(!(d[(h[a>>2]|0)+(n<<24>>24<<1)>>1]&8192))break;n=h[i>>2]|0;e=n+12|0;f=h[e>>2]|0;if((f|0)==(h[n+16>>2]|0)){mE[h[(h[n>>2]|0)+40>>2]&127](n)|0;continue}else{h[e>>2]=f+1;continue}}n=h[i>>2]|0;do{if(n){if((h[n+12>>2]|0)==(h[n+16>>2]|0))if((mE[h[(h[n>>2]|0)+36>>2]&127](n)|0)==-1){h[i>>2]=0;n=0;break}else{n=h[i>>2]|0;break}}else n=0}while(0);n=(n|0)==0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)?(mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1:0){h[r>>2]=0;l=32;break}if(!n)l=33}else l=32}while(0);if((l|0)==32?n:0)l=33;if((l|0)==33)h[t>>2]=h[t>>2]|2;return}function vs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;l=u+4|0;s=u;o=e+8|0;o=mE[h[(h[o>>2]|0)+8>>2]&127](o)|0;e=c[o>>0]|0;if(!(e&1))a=(e&255)>>>1;else a=h[o+4>>2]|0;e=c[o+12>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=h[o+16>>2]|0;do{if((a|0)!=(0-e|0)){h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];e=Gw(r,l,o,o+24|0,f,n,0)|0;a=h[i>>2]|0;if((e|0)==(o|0)&(a|0)==12){h[i>>2]=0;break}if((a|0)<12&(e-o|0)==12)h[i>>2]=a+12}else h[n>>2]=h[n>>2]|4}while(0);v=u;return}function gs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<61&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function ys(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,1)|0;r=h[n>>2]|0;if((e|0)<7&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Es(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=__(r,e,n,f,4)|0;if(!(h[n>>2]&4))h[i>>2]=e+-1900;v=a;return}function As(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;e=h[i>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0))if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1){h[i>>2]=0;e=0;break}else{e=h[i>>2]|0;break}}else e=0}while(0);f=(e|0)==0;e=h[r>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)?(mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1:0){h[r>>2]=0;l=11;break}if(f){a=e;l=13}else l=12}else l=11}while(0);if((l|0)==11)if(f)l=12;else{a=0;l=13}e:do{if((l|0)==12)h[t>>2]=h[t>>2]|6;else if((l|0)==13){e=h[i>>2]|0;f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=b[f>>0]|0;if((vE[h[(h[n>>2]|0)+36>>2]&63](n,e&255,0)|0)<<24>>24!=37){h[t>>2]=h[t>>2]|4;break}e=h[i>>2]|0;f=e+12|0;n=h[f>>2]|0;if((n|0)==(h[e+16>>2]|0)){mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;e=h[i>>2]|0;if(!e)e=0;else l=21}else{h[f>>2]=n+1;l=21}do{if((l|0)==21)if((h[e+12>>2]|0)==(h[e+16>>2]|0))if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1){h[i>>2]=0;e=0;break}else{e=h[i>>2]|0;break}}while(0);e=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)?(mE[h[(h[a>>2]|0)+36>>2]&127](a)|0)==-1:0){h[r>>2]=0;l=30;break}if(e)break e}else l=30}while(0);if((l|0)==30?!e:0)break;h[t>>2]=h[t>>2]|2}}while(0);return}function Ms(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;y=v;v=v+32|0;w=y+16|0;k=y+12|0;p=y+8|0;_=y+4|0;m=y;s=_h(t)|0;h[p>>2]=s;T=0;p=Oe(37,p|0,44212)|0;b=T;T=0;if(b&1){y=Ze()|0;Ad(s)|0;si(y|0)}Ad(s)|0;h[n>>2]=0;s=h[i>>2]|0;e:do{if((a|0)!=(l|0)){i:while(1){u=s;if(s){o=h[s+12>>2]|0;if((o|0)==(h[s+16>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=h[o>>2]|0;if((o|0)==-1){h[i>>2]=0;s=0;d=1;b=0}else{d=0;b=u}}else{s=0;d=1;b=u}c=h[r>>2]|0;o=c;do{if(c){u=h[c+12>>2]|0;if((u|0)==(h[c+16>>2]|0))u=mE[h[(h[c>>2]|0)+36>>2]&127](c)|0;else u=h[u>>2]|0;if((u|0)!=-1)if(d)break;else{g=17;break i}else{h[r>>2]=0;o=0;g=15;break}}else g=15}while(0);if((g|0)==15){g=0;if(d){g=17;break}else c=0}r:do{if((vE[h[(h[p>>2]|0)+52>>2]&63](p,h[a>>2]|0,0)|0)<<24>>24==37){u=a+4|0;if((u|0)==(l|0)){g=21;break i}d=vE[h[(h[p>>2]|0)+52>>2]&63](p,h[u>>2]|0,0)|0;switch(d<<24>>24){case 48:case 69:{c=a+8|0;if((c|0)==(l|0)){g=24;break i}a=u;u=vE[h[(h[p>>2]|0)+52>>2]&63](p,h[c>>2]|0,0)|0;s=d;break}default:{u=d;s=0}}d=h[(h[e>>2]|0)+36>>2]|0;h[_>>2]=b;h[m>>2]=o;h[k>>2]=h[_>>2];h[w>>2]=h[m>>2];b=CE[d&15](e,k,w,t,n,f,u,s)|0;h[i>>2]=b;a=a+8|0}else{if(!(vE[h[(h[p>>2]|0)+12>>2]&63](p,8192,h[a>>2]|0)|0)){u=s+12|0;o=h[u>>2]|0;c=s+16|0;if((o|0)==(h[c>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=h[o>>2]|0;b=ME[h[(h[p>>2]|0)+28>>2]&63](p,o)|0;if((b|0)!=(ME[h[(h[p>>2]|0)+28>>2]&63](p,h[a>>2]|0)|0)){g=61;break i}o=h[u>>2]|0;if((o|0)==(h[c>>2]|0))mE[h[(h[s>>2]|0)+40>>2]&127](s)|0;else h[u>>2]=o+4;a=a+4|0;break}do{a=a+4|0;if((a|0)==(l|0)){a=l;break}}while(vE[h[(h[p>>2]|0)+12>>2]&63](p,8192,h[a>>2]|0)|0);o=c;d=c;while(1){if(s){u=h[s+12>>2]|0;if((u|0)==(h[s+16>>2]|0))u=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else u=h[u>>2]|0;if((u|0)==-1){h[i>>2]=0;c=1;s=0}else c=0}else{c=1;s=0}do{if(d){u=h[d+12>>2]|0;if((u|0)==(h[d+16>>2]|0))u=mE[h[(h[d>>2]|0)+36>>2]&127](d)|0;else u=h[u>>2]|0;if((u|0)!=-1)if(c^(o|0)==0){b=o;d=o;break}else break r;else{h[r>>2]=0;o=0;g=44;break}}else g=44}while(0);if((g|0)==44){g=0;if(c)break r;else{b=o;d=0}}u=s+12|0;o=h[u>>2]|0;c=s+16|0;if((o|0)==(h[c>>2]|0))o=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else o=h[o>>2]|0;if(!(vE[h[(h[p>>2]|0)+12>>2]&63](p,8192,o)|0))break r;o=h[u>>2]|0;if((o|0)==(h[c>>2]|0)){mE[h[(h[s>>2]|0)+40>>2]&127](s)|0;o=b;continue}else{h[u>>2]=o+4;o=b;continue}}}}while(0);s=h[i>>2]|0;if(!((a|0)!=(l|0)&(h[n>>2]|0)==0))break e}if((g|0)==17){h[n>>2]=4;break}else if((g|0)==21){h[n>>2]=4;break}else if((g|0)==24){h[n>>2]=4;break}else if((g|0)==61){h[n>>2]=4;s=h[i>>2]|0;break}}}while(0);if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0))a=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else a=h[a>>2]|0;if((a|0)==-1){h[i>>2]=0;s=0;u=1}else u=0}else{s=0;u=1}a=h[r>>2]|0;do{if(a){o=h[a+12>>2]|0;if((o|0)==(h[a+16>>2]|0))a=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else a=h[o>>2]|0;if((a|0)!=-1)if(u)break;else{g=76;break}else{h[r>>2]=0;g=74;break}}else g=74}while(0);if((g|0)==74?u:0)g=76;if((g|0)==76)h[n>>2]=h[n>>2]|2;v=y;return s|0}function Ts(e){e=e|0;return}function Ss(e){e=e|0;zv(e);return}function Ps(e){e=e|0;return 2}function Os(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Ms(e,s,l,t,n,f,44788,44820)|0;v=a;return e|0}function Rs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;k=e+8|0;k=mE[h[(h[k>>2]|0)+20>>2]&127](k)|0;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];d=c[k>>0]|0;b=(d&1)==0;r=k+4|0;i=b?r:h[k+8>>2]|0;r=i+((b?(d&255)>>>1:h[r>>2]|0)<<2)|0;h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Ms(e,s,l,t,n,f,i,r)|0;v=a;return e|0}function Ls(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44212)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];Cs(e,f+24|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function Cs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0;a=v;v=v+16|0;l=a+4|0;s=a;e=e+8|0;e=mE[h[h[e>>2]>>2]&127](e)|0;h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];r=(n_(r,l,e,e+168|0,f,n,0)|0)-e|0;if((r|0)<168)h[i>>2]=((r|0)/12|0|0)%7|0;v=a;return}function Ds(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44212)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];xs(e,f+16|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function xs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0;a=v;v=v+16|0;l=a+4|0;s=a;e=e+8|0;e=mE[h[(h[e>>2]|0)+4>>2]&127](e)|0;h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];r=(n_(r,l,e,e+288|0,f,n,0)|0)-e|0;if((r|0)<288)h[i>>2]=((r|0)/12|0|0)%12|0;v=a;return}function Is(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o+4|0;s=o;t=_h(t)|0;h[a>>2]=t;T=0;a=Oe(37,a|0,44212)|0;u=T;T=0;if(u&1){u=Ze()|0;Ad(t)|0;si(u|0)}else{Ad(t)|0;h[s>>2]=h[r>>2];h[l>>2]=h[s>>2];Bs(e,f+20|0,i,l,n,a);v=o;return h[i>>2]|0}return 0}function Bs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,4)|0;if(!(h[n>>2]&4)){if((e|0)<69)e=e+2e3|0;else e=(e+-69|0)>>>0<31?e+1900|0:e;h[i>>2]=e+-1900}v=a;return}function Ns(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0;V=v;v=v+144|0;s=V+132|0;l=V+116|0;U=V+128|0;y=V+124|0;x=V+120|0;j=V+112|0;H=V+108|0;Y=V+104|0;q=V+100|0;X=V+96|0;z=V+92|0;o=V+88|0;u=V+84|0;d=V+80|0;b=V+76|0;k=V+72|0;w=V+68|0;_=V+64|0;m=V+60|0;p=V+56|0;g=V+52|0;E=V+48|0;A=V+44|0;M=V+40|0;S=V+36|0;P=V+32|0;O=V+28|0;R=V+24|0;L=V+20|0;C=V+16|0;D=V+12|0;I=V+8|0;B=V+4|0;N=V;h[n>>2]=0;F=_h(t)|0;h[U>>2]=F;T=0;U=Oe(37,U|0,44212)|0;K=T;T=0;if(K&1){K=Ze()|0;Ad(F)|0;si(K|0)}Ad(F)|0;do{switch(a<<24>>24|0){case 65:case 97:{h[y>>2]=h[r>>2];h[s>>2]=h[y>>2];Cs(e,f+24|0,i,s,n,U);G=28;break}case 104:case 66:case 98:{h[x>>2]=h[r>>2];h[s>>2]=h[x>>2];xs(e,f+16|0,i,s,n,U);G=28;break}case 99:{K=e+8|0;K=mE[h[(h[K>>2]|0)+12>>2]&127](K)|0;h[j>>2]=h[i>>2];h[H>>2]=h[r>>2];a=c[K>>0]|0;r=(a&1)==0;G=K+4|0;K=r?G:h[K+8>>2]|0;G=K+((r?(a&255)>>>1:h[G>>2]|0)<<2)|0;h[l>>2]=h[j>>2];h[s>>2]=h[H>>2];G=Ms(e,l,s,t,n,f,K,G)|0;h[i>>2]=G;G=28;break}case 101:case 100:{h[Y>>2]=h[r>>2];h[s>>2]=h[Y>>2];Fs(e,f+12|0,i,s,n,U);G=28;break}case 68:{h[q>>2]=h[i>>2];h[X>>2]=h[r>>2];h[l>>2]=h[q>>2];h[s>>2]=h[X>>2];G=Ms(e,l,s,t,n,f,44820,44852)|0;h[i>>2]=G;G=28;break}case 70:{h[z>>2]=h[i>>2];h[o>>2]=h[r>>2];h[l>>2]=h[z>>2];h[s>>2]=h[o>>2];G=Ms(e,l,s,t,n,f,44852,44884)|0;h[i>>2]=G;G=28;break}case 72:{h[u>>2]=h[r>>2];h[s>>2]=h[u>>2];Us(e,f+8|0,i,s,n,U);G=28;break}case 73:{h[d>>2]=h[r>>2];h[s>>2]=h[d>>2];js(e,f+8|0,i,s,n,U);G=28;break}case 106:{h[b>>2]=h[r>>2];h[s>>2]=h[b>>2];Hs(e,f+28|0,i,s,n,U);G=28;break}case 109:{h[k>>2]=h[r>>2];h[s>>2]=h[k>>2];Ys(e,f+16|0,i,s,n,U);G=28;break}case 77:{h[w>>2]=h[r>>2];h[s>>2]=h[w>>2];qs(e,f+4|0,i,s,n,U);G=28;break}case 116:case 110:{h[_>>2]=h[r>>2];h[s>>2]=h[_>>2];Xs(e,i,s,n,U);G=28;break}case 112:{h[m>>2]=h[r>>2];h[s>>2]=h[m>>2];zs(e,f+8|0,i,s,n,U);G=28;break}case 114:{h[p>>2]=h[i>>2];h[g>>2]=h[r>>2];h[l>>2]=h[p>>2];h[s>>2]=h[g>>2];G=Ms(e,l,s,t,n,f,44884,44928)|0;h[i>>2]=G;G=28;break}case 82:{h[E>>2]=h[i>>2];h[A>>2]=h[r>>2];h[l>>2]=h[E>>2];h[s>>2]=h[A>>2];G=Ms(e,l,s,t,n,f,44928,44948)|0;h[i>>2]=G;G=28;break}case 83:{h[M>>2]=h[r>>2];h[s>>2]=h[M>>2];Vs(e,f,i,s,n,U);G=28;break}case 84:{h[S>>2]=h[i>>2];h[P>>2]=h[r>>2];h[l>>2]=h[S>>2];h[s>>2]=h[P>>2];G=Ms(e,l,s,t,n,f,44948,44980)|0;h[i>>2]=G;G=28;break}case 119:{h[O>>2]=h[r>>2];h[s>>2]=h[O>>2];Gs(e,f+24|0,i,s,n,U);G=28;break}case 120:{K=h[(h[e>>2]|0)+20>>2]|0;h[R>>2]=h[i>>2];h[L>>2]=h[r>>2];h[l>>2]=h[R>>2];h[s>>2]=h[L>>2];l=_E[K&63](e,l,s,t,n,f)|0;break}case 88:{K=e+8|0;K=mE[h[(h[K>>2]|0)+24>>2]&127](K)|0;h[C>>2]=h[i>>2];h[D>>2]=h[r>>2];a=c[K>>0]|0;r=(a&1)==0;G=K+4|0;K=r?G:h[K+8>>2]|0;G=K+((r?(a&255)>>>1:h[G>>2]|0)<<2)|0;h[l>>2]=h[C>>2];h[s>>2]=h[D>>2];G=Ms(e,l,s,t,n,f,K,G)|0;h[i>>2]=G;G=28;break}case 121:{h[I>>2]=h[r>>2];h[s>>2]=h[I>>2];Bs(e,f+20|0,i,s,n,U);G=28;break}case 89:{h[B>>2]=h[r>>2];h[s>>2]=h[B>>2];Ks(e,f+20|0,i,s,n,U);G=28;break}case 37:{h[N>>2]=h[r>>2];h[s>>2]=h[N>>2];Ws(e,i,s,n,U);G=28;break}default:{h[n>>2]=h[n>>2]|4;G=28}}}while(0);if((G|0)==28)l=h[i>>2]|0;v=V;return l|0}function Fs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e+-1|0)>>>0<31&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Us(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<24&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function js(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e+-1|0)>>>0<12&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Hs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,3)|0;r=h[n>>2]|0;if((e|0)<366&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Ys(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<13&(r&4|0)==0)h[i>>2]=e+-1;else h[n>>2]=r|4;v=a;return}function qs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<60&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Xs(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;e:while(1){e=h[i>>2]|0;do{if(e){f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((e|0)==-1){h[i>>2]=0;a=1;break}else{a=(h[i>>2]|0)==0;break}}else a=1}while(0);f=h[r>>2]|0;do{if(f){e=h[f+12>>2]|0;if((e|0)==(h[f+16>>2]|0))e=mE[h[(h[f>>2]|0)+36>>2]&127](f)|0;else e=h[e>>2]|0;if((e|0)!=-1)if(a){a=f;break}else{a=f;break e}else{h[r>>2]=0;l=15;break}}else l=15}while(0);if((l|0)==15){l=0;if(a){a=0;break}else a=0}e=h[i>>2]|0;f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if(!(vE[h[(h[n>>2]|0)+12>>2]&63](n,8192,e)|0))break;e=h[i>>2]|0;f=e+12|0;a=h[f>>2]|0;if((a|0)==(h[e+16>>2]|0)){mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;continue}else{h[f>>2]=a+4;continue}}e=h[i>>2]|0;do{if(e){f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((e|0)==-1){h[i>>2]=0;f=1;break}else{f=(h[i>>2]|0)==0;break}}else f=1}while(0);do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0))e=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else e=h[e>>2]|0;if((e|0)!=-1)if(f)break;else{l=39;break}else{h[r>>2]=0;l=37;break}}else l=37}while(0);if((l|0)==37?f:0)l=39;if((l|0)==39)h[t>>2]=h[t>>2]|2;return}function zs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;l=u+4|0;s=u;o=e+8|0;o=mE[h[(h[o>>2]|0)+8>>2]&127](o)|0;e=c[o>>0]|0;if(!(e&1))a=(e&255)>>>1;else a=h[o+4>>2]|0;e=c[o+12>>0]|0;if(!(e&1))e=(e&255)>>>1;else e=h[o+16>>2]|0;do{if((a|0)!=(0-e|0)){h[s>>2]=h[t>>2];h[l>>2]=h[s>>2];e=n_(r,l,o,o+24|0,f,n,0)|0;a=h[i>>2]|0;if((e|0)==(o|0)&(a|0)==12){h[i>>2]=0;break}if((a|0)<12&(e-o|0)==12)h[i>>2]=a+12}else h[n>>2]=h[n>>2]|4}while(0);v=u;return}function Vs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,2)|0;r=h[n>>2]|0;if((e|0)<61&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Gs(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,1)|0;r=h[n>>2]|0;if((e|0)<7&(r&4|0)==0)h[i>>2]=e;else h[n>>2]=r|4;v=a;return}function Ks(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;a=v;v=v+16|0;e=a+4|0;l=a;h[l>>2]=h[t>>2];h[e>>2]=h[l>>2];e=m_(r,e,n,f,4)|0;if(!(h[n>>2]&4))h[i>>2]=e+-1900;v=a;return}function Ws(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0;e=h[i>>2]|0;do{if(e){f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((e|0)==-1){h[i>>2]=0;a=1;break}else{a=(h[i>>2]|0)==0;break}}else a=1}while(0);f=h[r>>2]|0;do{if(f){e=h[f+12>>2]|0;if((e|0)==(h[f+16>>2]|0))e=mE[h[(h[f>>2]|0)+36>>2]&127](f)|0;else e=h[e>>2]|0;if((e|0)!=-1)if(a){l=f;s=17;break}else{s=16;break}else{h[r>>2]=0;s=14;break}}else s=14}while(0);if((s|0)==14)if(a)s=16;else{l=0;s=17}e:do{if((s|0)==16)h[t>>2]=h[t>>2]|6;else if((s|0)==17){e=h[i>>2]|0;f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((vE[h[(h[n>>2]|0)+52>>2]&63](n,e,0)|0)<<24>>24!=37){h[t>>2]=h[t>>2]|4;break}e=h[i>>2]|0;f=e+12|0;a=h[f>>2]|0;if((a|0)==(h[e+16>>2]|0)){mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;e=h[i>>2]|0;if(!e)f=1;else s=25}else{h[f>>2]=a+4;s=25}do{if((s|0)==25){f=h[e+12>>2]|0;if((f|0)==(h[e+16>>2]|0))e=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;else e=h[f>>2]|0;if((e|0)==-1){h[i>>2]=0;f=1;break}else{f=(h[i>>2]|0)==0;break}}}while(0);do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0))e=mE[h[(h[l>>2]|0)+36>>2]&127](l)|0;else e=h[e>>2]|0;if((e|0)!=-1)if(f)break e;else break;else{h[r>>2]=0;s=37;break}}else s=37}while(0);if((s|0)==37?!f:0)break;h[t>>2]=h[t>>2]|2}}while(0);return}function Js(e){e=e|0;Zs(e+8|0);return}function Zs(e){e=e|0;var i=0,r=0,t=0;i=h[e>>2]|0;T=0;r=Ce(3)|0;t=T;T=0;do{if(!(t&1)){if((i|0)!=(r|0)?(T=0,pe(188,h[e>>2]|0),t=T,T=0,t&1):0)break;return}}while(0);t=Ze(0)|0;Ki(t)}function Qs(e){e=e|0;Zs(e+8|0);zv(e);return}function $s(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0;s=v;v=v+112|0;l=s+4|0;r=s;h[r>>2]=l+100;eo(e+8|0,l,r,n,f,a);n=h[r>>2]|0;r=h[i>>2]|0;if((l|0)!=(n|0))do{a=c[l>>0]|0;do{if(r){t=r+24|0;f=h[t>>2]|0;if((f|0)==(h[r+28>>2]|0)){i=(ME[h[(h[r>>2]|0)+52>>2]&63](r,a&255)|0)==-1;r=i?0:r;break}else{h[t>>2]=f+1;c[f>>0]=a;break}}else r=0}while(0);l=l+1|0}while((l|0)!=(n|0));v=s;return r|0}function eo(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0;o=v;v=v+16|0;s=o;c[s>>0]=37;a=s+1|0;c[a>>0]=n;l=s+2|0;c[l>>0]=f;c[s+3>>0]=0;if(f<<24>>24){c[a>>0]=f;c[l>>0]=n}e=i+(ii(i|0,(h[r>>2]|0)-i|0,s|0,t|0,h[e>>2]|0)|0)|0;h[r>>2]=e;v=o;return}function io(e){e=e|0;Zs(e+8|0);return}function ro(e){e=e|0;Zs(e+8|0);zv(e);return}function to(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0;l=v;v=v+416|0;t=l+8|0;r=l;h[r>>2]=t+400;no(e+8|0,t,r,n,f,a);e=h[r>>2]|0;r=h[i>>2]|0;if((t|0)!=(e|0)){n=t;do{t=h[n>>2]|0;if(!r)r=0;else{f=r+24|0;a=h[f>>2]|0;if((a|0)==(h[r+28>>2]|0))t=ME[h[(h[r>>2]|0)+52>>2]&63](r,t)|0;else{h[f>>2]=a+4;h[a>>2]=t}r=(t|0)==-1?0:r}n=n+4|0}while((n|0)!=(e|0))}v=l;return r|0}function no(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+128|0;o=a+16|0;u=a+12|0;l=a;s=a+8|0;h[u>>2]=o+100;eo(e,o,u,t,n,f);n=l;h[n>>2]=0;h[n+4>>2]=0;h[s>>2]=o;n=(h[r>>2]|0)-i>>2;f=fy(h[e>>2]|0)|0;T=0;n=De(18,i|0,s|0,n|0,l|0)|0;e=T;T=0;if(e&1){n=Ze()|0;if((f|0)!=0?(T=0,ye(75,f|0)|0,u=T,T=0,u&1):0){u=Ze(0)|0;Ki(u)}si(n|0)}if((f|0)!=0?(T=0,ye(75,f|0)|0,u=T,T=0,u&1):0){u=Ze(0)|0;Ki(u)}if((n|0)==-1)iu(58955);else{h[r>>2]=i+(n<<2);v=a;return}}function fo(e){e=e|0;return}function ao(e){e=e|0;zv(e);return}function lo(e){e=e|0;return 127}function so(e){e=e|0;return 127}function oo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function uo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function co(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function ho(e,i){e=e|0;i=i|0;Yd(e,1,45);return}function bo(e){e=e|0;return 0}function ko(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function wo(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function _o(e){e=e|0;return}function mo(e){e=e|0;zv(e);return}function po(e){e=e|0;return 127}function vo(e){e=e|0;return 127}function go(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function yo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Eo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Ao(e,i){e=e|0;i=i|0;Yd(e,1,45);return}function Mo(e){e=e|0;return 0}function To(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function So(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Po(e){e=e|0;return}function Oo(e){e=e|0;zv(e);return}function Ro(e){e=e|0;return 2147483647}function Lo(e){e=e|0;return 2147483647}function Co(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Do(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function xo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Io(e,i){e=e|0;i=i|0;rh(e,1,45);return}function Bo(e){e=e|0;return 0}function No(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Fo(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Uo(e){e=e|0;return}function jo(e){e=e|0;zv(e);return}function Ho(e){e=e|0;return 2147483647}function Yo(e){e=e|0;return 2147483647}function qo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Xo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function zo(e,i){e=e|0;i=i|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function Vo(e,i){e=e|0;i=i|0;rh(e,1,45);return}function Go(e){e=e|0;return 0}function Ko(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Wo(e,i){e=e|0;i=i|0;c[e>>0]=2;c[e+1>>0]=3;c[e+2>>0]=0;c[e+3>>0]=4;return}function Jo(e){e=e|0;return}function Zo(e){e=e|0;zv(e);return}function Qo(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;S=v;v=v+240|0;A=S+24|0;M=S;e=S+136|0;O=S+16|0;E=S+12|0;P=S+8|0;d=S+134|0;s=S+4|0;y=S+124|0;h[O>>2]=e;R=O+4|0;h[R>>2]=189;o=e+100|0;T=0;l=ye(68,n|0)|0;g=T;T=0;if(!(g&1)){h[P>>2]=l;T=0;e=Oe(37,P|0,44220)|0;g=T;T=0;e:do{if(!(g&1)?(c[d>>0]=0,h[s>>2]=h[r>>2],u=h[n+4>>2]|0,T=0,h[A>>2]=h[s>>2],u=Ee(1,i|0,A|0,t|0,P|0,u|0,f|0,d|0,e|0,O|0,E|0,o|0)|0,g=T,T=0,!(g&1)):0){i:do{if(u){T=0;De(h[(h[e>>2]|0)+32>>2]|0,e|0,58976,58986,y|0)|0;g=T;T=0;if(g&1){C=10;break e}s=h[E>>2]|0;o=h[O>>2]|0;e=s-o|0;if((e|0)>98){e=jc(e+2|0)|0;l=e;if(!e){T=0;Ie(6);g=T;T=0;if(!(g&1)){e=0;C=13}}else C=13}else{l=0;e=A;C=13}do{if((C|0)==13){if(c[d>>0]|0){c[e>>0]=45;e=e+1|0}p=y+10|0;g=y;if(o>>>0>>0){u=y+1|0;t=u+1|0;n=t+1|0;d=n+1|0;b=d+1|0;k=b+1|0;w=k+1|0;_=w+1|0;m=_+1|0;do{s=c[o>>0]|0;do{if((c[y>>0]|0)!=s<<24>>24)if((c[u>>0]|0)!=s<<24>>24)if((c[t>>0]|0)!=s<<24>>24)if((c[n>>0]|0)!=s<<24>>24)if((c[d>>0]|0)==s<<24>>24)s=d;else{if((c[b>>0]|0)==s<<24>>24){s=b;break}if((c[k>>0]|0)==s<<24>>24){s=k;break}if((c[w>>0]|0)==s<<24>>24){s=w;break}if((c[_>>0]|0)==s<<24>>24){s=_;break}s=(c[m>>0]|0)==s<<24>>24?m:p}else s=n;else s=t;else s=u;else s=y}while(0);c[e>>0]=c[58976+(s-g)>>0]|0;o=o+1|0;e=e+1|0}while(o>>>0<(h[E>>2]|0)>>>0)}c[e>>0]=0;h[M>>2]=a;if((Yy(A,58987,M)|0)!=1?(T=0,pe(190,58991),a=T,T=0,a&1):0)break;if(l)Hc(l);break i}}while(0);e=Ze()|0;if(!l){s=e;l=O;break e}Hc(l);s=e;l=O;break e}}while(0);e=h[i>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1){C=10;break e}if((e|0)==-1){h[i>>2]=0;e=0;break}else{e=h[i>>2]|0;break}}}else e=0}while(0);l=(e|0)==0;e=h[r>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1){C=10;break e}if((e|0)==-1){h[r>>2]=0;C=37;break}}if(!l)C=38}else C=37}while(0);if((C|0)==37?l:0)C=38;if((C|0)==38)h[f>>2]=h[f>>2]|2;l=h[i>>2]|0;Ad(h[P>>2]|0)|0;e=h[O>>2]|0;h[O>>2]=0;if((e|0)!=0?(T=0,pe(h[R>>2]|0,e|0),C=T,T=0,C&1):0){C=Ze(0)|0;Ki(C)}v=S;return l|0}else C=10}while(0);if((C|0)==10){s=Ze()|0;l=O}Ad(h[P>>2]|0)|0;e=h[l>>2]|0;h[l>>2]=0;if(!e)L=s;else{l=h[R>>2]|0;C=45}}else{s=Ze()|0;h[O>>2]=0;l=189;C=45}if((C|0)==45){T=0;pe(l|0,e|0);C=T;T=0;if(C&1){C=Ze(0)|0;Ki(C)}else L=s}si(L|0);return 0}function $o(e){e=e|0;return}function eu(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;var k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0;ie=v;v=v+512|0;H=ie+88|0;m=ie+96|0;te=ie+80|0;z=ie+72|0;X=ie+68|0;V=ie+500|0;Y=ie+497|0;G=ie+496|0;J=ie+56|0;ee=ie+44|0;Q=ie+32|0;Z=ie+20|0;$=ie+8|0;q=ie+4|0;W=ie;h[H>>2]=u;h[te>>2]=m;re=te+4|0;h[re>>2]=189;h[z>>2]=m;h[X>>2]=m+400;h[J>>2]=0;h[J+4>>2]=0;h[J+8>>2]=0;h[ee>>2]=0;h[ee+4>>2]=0;h[ee+8>>2]=0;h[Q>>2]=0;h[Q+4>>2]=0;h[Q+8>>2]=0;h[Z>>2]=0;h[Z+4>>2]=0;h[Z+8>>2]=0;h[$>>2]=0;h[$+4>>2]=0;h[$+8>>2]=0;T=0;Pe(1,r|0,t|0,V|0,Y|0,G|0,J|0,ee|0,Q|0,Z|0,q|0);j=T;T=0;e:do{if(j&1)l=Ze()|0;else{h[o>>2]=h[s>>2];x=l+8|0;I=Q+4|0;B=Z+4|0;N=Z+8|0;F=Z+1|0;U=Q+8|0;j=Q+1|0;A=(n&512|0)!=0;M=ee+8|0;S=ee+1|0;P=ee+4|0;O=$+4|0;R=$+8|0;L=$+1|0;C=V+3|0;D=J+4|0;E=0;_=0;i:while(1){u=h[e>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}if((u|0)==-1){h[e>>2]=0;u=0;break}else{u=h[e>>2]|0;break}}}else u=0}while(0);u=(u|0)==0;l=h[i>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(u){y=l;break}else{K=235;break i}T=0;r=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=24;break i}if((r|0)!=-1)if(u){y=l;break}else{K=235;break i}else{h[i>>2]=0;K=15;break}}else K=15}while(0);if((K|0)==15){K=0;if(u){K=235;break}else y=0}r:do{switch(c[V+E>>0]|0){case 1:{if((E|0)!=3){u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;K=T;T=0;if(K&1){K=24;break i}}else u=b[l>>0]|0;if((u&255)<<24>>24<=-1){K=40;break i}if(!(d[(h[x>>2]|0)+(u<<24>>24<<1)>>1]&8192)){K=40;break i}u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;K=T;T=0;if(K&1){K=24;break i}}else{h[l>>2]=r+1;u=b[r>>0]|0}T=0;ve(67,$|0,u&255|0);K=T;T=0;if(K&1){K=24;break i}else{u=y;t=y;K=42}}break}case 0:{if((E|0)!=3){u=y;t=y;K=42}break}case 3:{l=c[Q>>0]|0;u=(l&1)==0?(l&255)>>>1:h[I>>2]|0;r=c[Z>>0]|0;t=(r&1)==0?(r&255)>>>1:h[B>>2]|0;if((u|0)!=(0-t|0)){if(!u){u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}l=c[Z>>0]|0}else{u=b[l>>0]|0;l=r}if((u&255)<<24>>24!=(c[((l&1)==0?F:h[N>>2]|0)>>0]|0))break r;u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[l>>2]=r+1;c[a>>0]=1;y=c[Z>>0]|0;_=((y&1)==0?(y&255)>>>1:h[B>>2]|0)>>>0>1?Z:_;break r}n=h[e>>2]|0;k=h[n+12>>2]|0;r=h[n+16>>2]|0;u=(k|0)==(r|0);if(!t){if(u){T=0;u=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=24;break i}l=c[Q>>0]|0}else u=b[k>>0]|0;if((u&255)<<24>>24!=(c[((l&1)==0?j:h[U>>2]|0)>>0]|0)){c[a>>0]=1;break r}u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[l>>2]=r+1;y=c[Q>>0]|0;_=((y&1)==0?(y&255)>>>1:h[I>>2]|0)>>>0>1?Q:_;break r}if(u){T=0;u=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=24;break i}r=h[e>>2]|0;l=c[Q>>0]|0;n=r;k=h[r+12>>2]|0;r=h[r+16>>2]|0}else u=b[k>>0]|0;t=n+12|0;r=(k|0)==(r|0);if((u&255)<<24>>24==(c[((l&1)==0?j:h[U>>2]|0)>>0]|0)){if(r){T=0;ye(h[(h[n>>2]|0)+40>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[t>>2]=k+1;y=c[Q>>0]|0;_=((y&1)==0?(y&255)>>>1:h[I>>2]|0)>>>0>1?Q:_;break r}if(r){T=0;u=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=24;break i}}else u=b[k>>0]|0;if((u&255)<<24>>24!=(c[((c[Z>>0]&1)==0?F:h[N>>2]|0)>>0]|0)){K=104;break i}u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[l>>2]=r+1;c[a>>0]=1;y=c[Z>>0]|0;_=((y&1)==0?(y&255)>>>1:h[B>>2]|0)>>>0>1?Z:_}break}case 2:{if(!(E>>>0<2|(_|0)!=0)?!(A|(E|0)==2&(c[C>>0]|0)!=0):0){_=0;break r}p=c[ee>>0]|0;u=(p&1)==0;g=h[M>>2]|0;r=u?S:g;w=r;t:do{if((E|0)!=0?(b[V+(E+-1)>>0]|0)<2:0){k=u?(p&255)>>>1:h[P>>2]|0;t=r+k|0;n=h[x>>2]|0;n:do{if(!k)l=w;else{k=r;l=w;do{u=c[k>>0]|0;if(u<<24>>24<=-1)break n;if(!(d[n+(u<<24>>24<<1)>>1]&8192))break n;k=k+1|0;l=k}while((k|0)!=(t|0))}}while(0);t=l-w|0;n=c[$>>0]|0;u=(n&1)==0;n=u?(n&255)>>>1:h[O>>2]|0;if(n>>>0>=t>>>0){u=u?L:h[R>>2]|0;k=u+n|0;if((l|0)!=(w|0)){u=u+(n-t)|0;while(1){if((c[u>>0]|0)!=(c[r>>0]|0)){l=w;break t}u=u+1|0;if((u|0)==(k|0))break;else r=r+1|0}}}else l=w}else l=w}while(0);u=(p&1)==0;u=(u?S:g)+(u?(p&255)>>>1:h[P>>2]|0)|0;t:do{if((l|0)!=(u|0)){n=y;t=y;u=l;while(1){l=h[e>>2]|0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=21;break i}if((l|0)==-1){h[e>>2]=0;l=0;break}else{l=h[e>>2]|0;break}}}else l=0}while(0);r=(l|0)==0;do{if(t){if((h[t+12>>2]|0)!=(h[t+16>>2]|0))if(r){l=n;k=t;break}else break t;T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){K=21;break i}if((l|0)!=-1)if(r^(n|0)==0){l=n;k=n;break}else break t;else{h[i>>2]=0;l=0;K=131;break}}else{l=n;K=131}}while(0);if((K|0)==131){K=0;if(r)break t;else k=0}r=h[e>>2]|0;t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=21;break i}}else r=b[t>>0]|0;if((r&255)<<24>>24!=(c[u>>0]|0))break t;r=h[e>>2]|0;t=r+12|0;n=h[t>>2]|0;if((n|0)==(h[r+16>>2]|0)){T=0;ye(h[(h[r>>2]|0)+40>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=21;break i}}else h[t>>2]=n+1;u=u+1|0;r=c[ee>>0]|0;y=(r&1)==0;r=(y?S:h[M>>2]|0)+(y?(r&255)>>>1:h[P>>2]|0)|0;if((u|0)==(r|0)){u=r;break}else{n=l;t=k}}}}while(0);if(A?(y=c[ee>>0]|0,g=(y&1)==0,(u|0)!=((g?S:h[M>>2]|0)+(g?(y&255)>>>1:h[P>>2]|0)|0)):0){K=143;break i}break}case 4:{w=c[G>>0]|0;l=y;n=y;u=0;t:while(1){r=h[e>>2]|0;do{if(r){if((h[r+12>>2]|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=23;break i}if((r|0)==-1){h[e>>2]=0;r=0;break}else{r=h[e>>2]|0;break}}}else r=0}while(0);t=(r|0)==0;do{if(n){if((h[n+12>>2]|0)!=(h[n+16>>2]|0))if(t){k=l;break}else{t=l;break t}T=0;r=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){K=23;break i}if((r|0)!=-1)if(t^(l|0)==0){k=l;n=l;break}else{t=l;break t}else{h[i>>2]=0;l=0;K=156;break}}else K=156}while(0);if((K|0)==156){K=0;if(t){t=l;break}else{k=l;n=0}}l=h[e>>2]|0;r=h[l+12>>2]|0;if((r|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=23;break i}}else l=b[r>>0]|0;r=l&255;if(r<<24>>24>-1?(d[(h[x>>2]|0)+(l<<24>>24<<1)>>1]&2048)!=0:0){l=h[o>>2]|0;if((l|0)==(h[H>>2]|0)){T=0;xe(12,s|0,o|0,H|0);y=T;T=0;if(y&1){K=23;break i}l=h[o>>2]|0}h[o>>2]=l+1;c[l>>0]=r;u=u+1|0}else{y=c[J>>0]|0;if(!(r<<24>>24==w<<24>>24&((u|0)!=0?(((y&1)==0?(y&255)>>>1:h[D>>2]|0)|0)!=0:0))){t=k;break}if((m|0)==(h[X>>2]|0)){T=0;xe(13,te|0,z|0,X|0);y=T;T=0;if(y&1){K=23;break i}m=h[z>>2]|0}y=m+4|0;h[z>>2]=y;h[m>>2]=u;m=y;u=0}l=h[e>>2]|0;r=l+12|0;t=h[r>>2]|0;if((t|0)==(h[l+16>>2]|0)){T=0;ye(h[(h[l>>2]|0)+40>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=23;break i}else{l=k;continue}}else{h[r>>2]=t+1;l=k;continue}}if((u|0)!=0?(h[te>>2]|0)!=(m|0):0){if((m|0)==(h[X>>2]|0)){T=0;xe(13,te|0,z|0,X|0);y=T;T=0;if(y&1){K=24;break i}m=h[z>>2]|0}y=m+4|0;h[z>>2]=y;h[m>>2]=u;m=y}k=h[q>>2]|0;if((k|0)>0){u=h[e>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}if((u|0)==-1){h[e>>2]=0;u=0;break}else{u=h[e>>2]|0;break}}}else u=0}while(0);u=(u|0)==0;do{if(t){if((h[t+12>>2]|0)==(h[t+16>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){K=24;break i}if((l|0)==-1){h[i>>2]=0;K=193;break}}if(!u){K=198;break i}}else K=193}while(0);if((K|0)==193){K=0;if(u){K=198;break i}else t=0}u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else u=b[l>>0]|0;if((u&255)<<24>>24!=(c[Y>>0]|0)){K=198;break i}u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=24;break i}}else h[l>>2]=r+1;if((k|0)>0){n=t;r=t;w=k;while(1){u=h[e>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=22;break i}if((u|0)==-1){h[e>>2]=0;u=0;break}else{u=h[e>>2]|0;break}}}else u=0}while(0);l=(u|0)==0;do{if(r){if((h[r+12>>2]|0)!=(h[r+16>>2]|0))if(l){u=n;k=r;break}else{K=222;break i}T=0;u=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=22;break i}if((u|0)!=-1)if(l^(n|0)==0){u=n;k=n;break}else{K=222;break i}else{h[i>>2]=0;u=0;K=215;break}}else{u=n;K=215}}while(0);if((K|0)==215){K=0;if(l){K=222;break i}else k=0}l=h[e>>2]|0;r=h[l+12>>2]|0;if((r|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=22;break i}}else l=b[r>>0]|0;if((l&255)<<24>>24<=-1){K=222;break i}if(!(d[(h[x>>2]|0)+(l<<24>>24<<1)>>1]&2048)){K=222;break i}if((h[o>>2]|0)==(h[H>>2]|0)?(T=0,xe(12,s|0,o|0,H|0),y=T,T=0,y&1):0){K=22;break i}l=h[e>>2]|0;r=h[l+12>>2]|0;if((r|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=22;break i}}else l=b[r>>0]|0;r=h[o>>2]|0;h[o>>2]=r+1;c[r>>0]=l;l=w;w=w+-1|0;h[q>>2]=w;r=h[e>>2]|0;t=r+12|0;n=h[t>>2]|0;if((n|0)==(h[r+16>>2]|0)){T=0;ye(h[(h[r>>2]|0)+40>>2]|0,r|0)|0;y=T;T=0;if(y&1){K=22;break i}}else h[t>>2]=n+1;if((l|0)<=1)break;else{n=u;r=k}}}}if((h[o>>2]|0)==(h[s>>2]|0)){K=233;break i}break}default:{}}}while(0);r:do{if((K|0)==42)while(1){K=0;l=h[e>>2]|0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;l=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;y=T;T=0;if(y&1){K=20;break i}if((l|0)==-1){h[e>>2]=0;l=0;break}else{l=h[e>>2]|0;break}}}else l=0}while(0);r=(l|0)==0;do{if(t){if((h[t+12>>2]|0)!=(h[t+16>>2]|0))if(r){n=u;break}else break r;T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){K=20;break i}if((l|0)!=-1)if(r^(u|0)==0){n=u;t=u;break}else break r;else{h[i>>2]=0;u=0;K=54;break}}else K=54}while(0);if((K|0)==54){K=0;if(r)break r;else{n=u;t=0}}u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){K=20;break i}}else u=b[l>>0]|0;if((u&255)<<24>>24<=-1)break r;if(!(d[(h[x>>2]|0)+(u<<24>>24<<1)>>1]&8192))break r;u=h[e>>2]|0;l=u+12|0;r=h[l>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;K=T;T=0;if(K&1){K=20;break i}}else{h[l>>2]=r+1;u=b[r>>0]|0}T=0;ve(67,$|0,u&255|0);K=T;T=0;if(K&1){K=20;break i}else{u=n;K=42}}}while(0);E=E+1|0;if(E>>>0>=4){K=235;break}}i:switch(K|0){case 20:{l=Ze()|0;break e}case 21:{l=Ze()|0;break e}case 22:{l=Ze()|0;break e}case 23:{l=Ze()|0;break e}case 24:{l=Ze()|0;break e}case 40:{h[f>>2]=h[f>>2]|4;l=0;break}case 104:{h[f>>2]=h[f>>2]|4;l=0;break}case 143:{h[f>>2]=h[f>>2]|4;l=0;break}case 198:{h[f>>2]=h[f>>2]|4;l=0;break}case 222:{h[f>>2]=h[f>>2]|4;l=0;break}case 233:{h[f>>2]=h[f>>2]|4;l=0;break}case 235:{r:do{if(_){n=_+1|0;k=_+8|0;w=_+4|0;r=1;t:while(1){u=c[_>>0]|0;if(!(u&1))u=(u&255)>>>1;else u=h[w>>2]|0;if(r>>>0>=u>>>0)break r;u=h[e>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){K=19;break t}if((u|0)==-1){h[e>>2]=0;u=0;break}else{u=h[e>>2]|0;break}}}else u=0}while(0);l=(u|0)==0;u=h[i>>2]|0;do{if(u){if((h[u+12>>2]|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){K=19;break t}if((u|0)==-1){h[i>>2]=0;K=253;break}}if(!l){K=260;break t}}else K=253}while(0);if((K|0)==253?(K=0,l):0){K=260;break}u=h[e>>2]|0;l=h[u+12>>2]|0;if((l|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){K=19;break}}else u=b[l>>0]|0;if(!(c[_>>0]&1))l=n;else l=h[k>>2]|0;if((u&255)<<24>>24!=(c[l+r>>0]|0)){K=260;break}u=r+1|0;l=h[e>>2]|0;r=l+12|0;t=h[r>>2]|0;if((t|0)==(h[l+16>>2]|0)){T=0;ye(h[(h[l>>2]|0)+40>>2]|0,l|0)|0;o=T;T=0;if(o&1){K=19;break}else{r=u;continue}}else{h[r>>2]=t+1;r=u;continue}}if((K|0)==19){l=Ze()|0;break e}else if((K|0)==260){h[f>>2]=h[f>>2]|4;l=0;break i}}}while(0);u=h[te>>2]|0;if((u|0)!=(m|0)?(h[W>>2]=0,nu(J,u,m,W),(h[W>>2]|0)!=0):0){h[f>>2]=h[f>>2]|4;l=0}else l=1;break}}qd($);qd(Z);qd(Q);qd(ee);qd(J);u=h[te>>2]|0;h[te>>2]=0;if((u|0)!=0?(T=0,pe(h[re>>2]|0,u|0),te=T,T=0,te&1):0){te=Ze(0)|0;Ki(te)}v=ie;return l|0}}while(0);qd($);qd(Z);qd(Q);qd(ee);qd(J);u=h[te>>2]|0;h[te>>2]=0;if((u|0)!=0?(T=0,pe(h[re>>2]|0,u|0),te=T,T=0,te&1):0){te=Ze(0)|0;Ki(te)}si(l|0);return 0}function iu(e){e=e|0;var i=0;i=Je(8)|0;T=0;ve(90,i|0,e|0);e=T;T=0;if(e&1){e=Ze()|0;We(i|0);si(e|0)}else Ei(i|0,616,80)}function ru(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;g=v;v=v+144|0;l=g+24|0;e=g+32|0;y=g+16|0;w=g+8|0;d=g+4|0;b=g+28|0;s=g;h[y>>2]=e;M=y+4|0;h[M>>2]=189;o=e+100|0;T=0;p=ye(68,n|0)|0;u=T;T=0;if(!(u&1)){h[d>>2]=p;T=0;u=Oe(37,d|0,44220)|0;e=T;T=0;e:do{if(!(e&1)?(c[b>>0]=0,_=h[r>>2]|0,h[s>>2]=_,k=h[n+4>>2]|0,m=_,T=0,h[l>>2]=h[s>>2],k=Ee(1,i|0,l|0,t|0,d|0,k|0,f|0,b|0,u|0,y|0,w|0,o|0)|0,n=T,T=0,!(n&1)):0){if(k){if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}if(c[b>>0]|0){T=0;e=Oe(h[(h[u>>2]|0)+28>>2]|0,u|0,45)|0;n=T;T=0;if(n&1)break;T=0;ve(67,a|0,e|0);n=T;T=0;if(n&1)break}T=0;s=Oe(h[(h[u>>2]|0)+28>>2]|0,u|0,48)|0;n=T;T=0;if(n&1)break;e=h[y>>2]|0;o=h[w>>2]|0;l=o+-1|0;i:do{if(e>>>0>>0)do{if((c[e>>0]|0)!=s<<24>>24)break i;e=e+1|0}while(e>>>0>>0)}while(0);T=0;Ae(32,a|0,e|0,o|0)|0;a=T;T=0;if(a&1)break}e=h[i>>2]|0;do{if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1)break e;if((e|0)==-1){h[i>>2]=0;e=0;break}else{e=h[i>>2]|0;break}}}else e=0}while(0);l=(e|0)==0;do{if(_){if((h[m+12>>2]|0)==(h[m+16>>2]|0)){T=0;e=ye(h[(h[_>>2]|0)+36>>2]|0,m|0)|0;m=T;T=0;if(m&1)break e;if((e|0)==-1){h[r>>2]=0;A=29;break}}if(!l)A=30}else A=29}while(0);if((A|0)==29?l:0)A=30;if((A|0)==30)h[f>>2]=h[f>>2]|2;l=h[i>>2]|0;Ad(p)|0;e=h[y>>2]|0;h[y>>2]=0;if((e|0)!=0?(T=0,pe(h[M>>2]|0,e|0),M=T,T=0,M&1):0){M=Ze(0)|0;Ki(M)}v=g;return l|0}}while(0);l=Ze()|0;Ad(p)|0;e=h[y>>2]|0;h[y>>2]=0;if(!e)E=l;else A=36}else{l=Ze()|0;h[y>>2]=0;A=36}if((A|0)==36){T=0;pe(h[M>>2]|0,e|0);M=T;T=0;if(M&1){M=Ze(0)|0;Ki(M)}else E=l}si(E|0);return 0}function tu(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;A=v;v=v+112|0;u=A+100|0;d=A+88|0;b=A+76|0;k=A+64|0;w=A+52|0;_=A+48|0;m=A+36|0;p=A+24|0;g=A+12|0;y=A;do{if(e){e=Vu(i,43828)|0;wE[h[(h[e>>2]|0)+44>>2]&127](u,e);y=h[u>>2]|0;c[r>>0]=y;c[r+1>>0]=y>>8;c[r+2>>0]=y>>16;c[r+3>>0]=y>>24;wE[h[(h[e>>2]|0)+32>>2]&127](d,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[s>>2]=h[d>>2];h[s+4>>2]=h[d+4>>2];h[s+8>>2]=h[d+8>>2];h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;qd(d);wE[h[(h[e>>2]|0)+28>>2]&127](b,e);if(!(c[l>>0]&1)){c[l+1>>0]=0;c[l>>0]=0}else{c[h[l+8>>2]>>0]=0;h[l+4>>2]=0}T=0;ve(91,l|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[l>>2]=h[b>>2];h[l+4>>2]=h[b+4>>2];h[l+8>>2]=h[b+8>>2];h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;qd(b);l=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;c[t>>0]=l;l=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;c[n>>0]=l;wE[h[(h[e>>2]|0)+20>>2]&127](k,e);if(!(c[f>>0]&1)){c[f+1>>0]=0;c[f>>0]=0}else{c[h[f+8>>2]>>0]=0;h[f+4>>2]=0}T=0;ve(91,f|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}h[f>>2]=h[k>>2];h[f+4>>2]=h[k+4>>2];h[f+8>>2]=h[k+8>>2];h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;qd(k);wE[h[(h[e>>2]|0)+24>>2]&127](w,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else{h[a>>2]=h[w>>2];h[a+4>>2]=h[w+4>>2];h[a+8>>2]=h[w+8>>2];h[w>>2]=0;h[w+4>>2]=0;h[w+8>>2]=0;qd(w);E=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Vu(i,43764)|0;wE[h[(h[e>>2]|0)+44>>2]&127](_,e);_=h[_>>2]|0;c[r>>0]=_;c[r+1>>0]=_>>8;c[r+2>>0]=_>>16;c[r+3>>0]=_>>24;wE[h[(h[e>>2]|0)+32>>2]&127](m,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[s>>2]=h[m>>2];h[s+4>>2]=h[m+4>>2];h[s+8>>2]=h[m+8>>2];h[m>>2]=0;h[m+4>>2]=0;h[m+8>>2]=0;qd(m);wE[h[(h[e>>2]|0)+28>>2]&127](p,e);if(!(c[l>>0]&1)){c[l+1>>0]=0;c[l>>0]=0}else{c[h[l+8>>2]>>0]=0;h[l+4>>2]=0}T=0;ve(91,l|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[l>>2]=h[p>>2];h[l+4>>2]=h[p+4>>2];h[l+8>>2]=h[p+8>>2];h[p>>2]=0;h[p+4>>2]=0;h[p+8>>2]=0;qd(p);l=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;c[t>>0]=l;l=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;c[n>>0]=l;wE[h[(h[e>>2]|0)+20>>2]&127](g,e);if(!(c[f>>0]&1)){c[f+1>>0]=0;c[f>>0]=0}else{c[h[f+8>>2]>>0]=0;h[f+4>>2]=0}T=0;ve(91,f|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}h[f>>2]=h[g>>2];h[f+4>>2]=h[g+4>>2];h[f+8>>2]=h[g+8>>2];h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;qd(g);wE[h[(h[e>>2]|0)+24>>2]&127](y,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else{h[a>>2]=h[y>>2];h[a+4>>2]=h[y+4>>2];h[a+8>>2]=h[y+8>>2];h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;qd(y);E=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);h[o>>2]=E;v=A;return}function nu(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;n=c[e>>0]|0;a=e+4|0;f=h[a>>2]|0;e:do{if(((n&1)==0?(n&255)>>>1:f)|0){if((i|0)!=(r|0)){n=r+-4|0;if(n>>>0>i>>>0){f=i;do{l=h[f>>2]|0;h[f>>2]=h[n>>2];h[n>>2]=l;f=f+4|0;n=n+-4|0}while(f>>>0>>0)}n=c[e>>0]|0;f=h[a>>2]|0}l=(n&1)==0;a=l?e+1|0:h[e+8>>2]|0;r=r+-4|0;e=a+(l?(n&255)>>>1:f)|0;f=c[a>>0]|0;n=f<<24>>24<1|f<<24>>24==127;i:do{if(r>>>0>i>>>0){while(1){if(!n?(f<<24>>24|0)!=(h[i>>2]|0):0)break;a=(e-a|0)>1?a+1|0:a;i=i+4|0;f=c[a>>0]|0;n=f<<24>>24<1|f<<24>>24==127;if(i>>>0>=r>>>0)break i}h[t>>2]=4;break e}}while(0);if(!n?((h[r>>2]|0)+-1|0)>>>0>=f<<24>>24>>>0:0)h[t>>2]=4}}while(0);return}function fu(e){e=e|0;return}function au(e){e=e|0;zv(e);return}function lu(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;S=v;v=v+576|0;y=S+424|0;M=S;e=S+24|0;O=S+16|0;E=S+12|0;P=S+8|0;d=S+464|0;s=S+4|0;A=S+468|0;h[O>>2]=e;L=O+4|0;h[L>>2]=189;o=e+400|0;T=0;l=ye(68,n|0)|0;g=T;T=0;if(!(g&1)){h[P>>2]=l;T=0;e=Oe(37,P|0,44212)|0;g=T;T=0;e:do{if(!(g&1)?(c[d>>0]=0,h[s>>2]=h[r>>2],u=h[n+4>>2]|0,T=0,h[y>>2]=h[s>>2],u=Ee(2,i|0,y|0,t|0,P|0,u|0,f|0,d|0,e|0,O|0,E|0,o|0)|0,g=T,T=0,!(g&1)):0){i:do{if(u){T=0;De(h[(h[e>>2]|0)+48>>2]|0,e|0,59007,59017,y|0)|0;g=T;T=0;if(g&1){C=10;break e}s=h[E>>2]|0;o=h[O>>2]|0;e=s-o|0;if((e|0)>392){e=jc((e>>2)+2|0)|0;l=e;if(!e){T=0;Ie(6);g=T;T=0;if(!(g&1)){e=0;C=13}}else C=13}else{l=0;e=A;C=13}do{if((C|0)==13){if(c[d>>0]|0){c[e>>0]=45;e=e+1|0}p=y+40|0;g=y;if(o>>>0>>0){u=y+4|0;t=u+4|0;n=t+4|0;d=n+4|0;b=d+4|0;k=b+4|0;w=k+4|0;_=w+4|0;m=_+4|0;do{s=h[o>>2]|0;do{if((h[y>>2]|0)!=(s|0))if((h[u>>2]|0)!=(s|0))if((h[t>>2]|0)!=(s|0))if((h[n>>2]|0)!=(s|0))if((h[d>>2]|0)==(s|0))s=d;else{if((h[b>>2]|0)==(s|0)){s=b;break}if((h[k>>2]|0)==(s|0)){s=k;break}if((h[w>>2]|0)==(s|0)){s=w;break}if((h[_>>2]|0)==(s|0)){s=_;break}s=(h[m>>2]|0)==(s|0)?m:p}else s=n;else s=t;else s=u;else s=y}while(0);c[e>>0]=c[59007+(s-g>>2)>>0]|0;o=o+4|0;e=e+1|0}while(o>>>0<(h[E>>2]|0)>>>0)}c[e>>0]=0;h[M>>2]=a;if((Yy(A,58987,M)|0)!=1?(T=0,pe(190,58991),a=T,T=0,a&1):0)break;if(l)Hc(l);break i}}while(0);e=Ze()|0;if(!l){s=e;l=O;break e}Hc(l);s=e;l=O;break e}}while(0);e=h[i>>2]|0;do{if(e){l=h[e+12>>2]|0;if((l|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1){C=10;break e}}else e=h[l>>2]|0;if((e|0)==-1){h[i>>2]=0;s=1;break}else{s=(h[i>>2]|0)==0;break}}else s=1}while(0);e=h[r>>2]|0;do{if(e){l=h[e+12>>2]|0;if((l|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1){C=10;break e}}else e=h[l>>2]|0;if((e|0)!=-1)if(s)break;else{C=40;break}else{h[r>>2]=0;C=38;break}}else C=38}while(0);if((C|0)==38?s:0)C=40;if((C|0)==40)h[f>>2]=h[f>>2]|2;l=h[i>>2]|0;Ad(h[P>>2]|0)|0;e=h[O>>2]|0;h[O>>2]=0;if((e|0)!=0?(T=0,pe(h[L>>2]|0,e|0),C=T,T=0,C&1):0){C=Ze(0)|0;Ki(C)}v=S;return l|0}else C=10}while(0);if((C|0)==10){s=Ze()|0;l=O}Ad(h[P>>2]|0)|0;e=h[l>>2]|0;h[l>>2]=0;if(!e)R=s;else{l=h[L>>2]|0;C=47}}else{s=Ze()|0;h[O>>2]=0;l=189;C=47}if((C|0)==47){T=0;pe(l|0,e|0);C=T;T=0;if(C&1){C=Ze(0)|0;Ki(C)}else R=s}si(R|0);return 0}function su(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;var d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0;J=v;v=v+512|0;B=J+96|0;d=J+104|0;Q=J+88|0;j=J+80|0;U=J+76|0;H=J+504|0;N=J+72|0;Y=J+68|0;z=J+56|0;W=J+44|0;G=J+32|0;V=J+20|0;K=J+8|0;F=J+4|0;X=J;h[B>>2]=u;h[Q>>2]=d;Z=Q+4|0;h[Z>>2]=189;h[j>>2]=d;h[U>>2]=d+400;h[z>>2]=0;h[z+4>>2]=0;h[z+8>>2]=0;h[W>>2]=0;h[W+4>>2]=0;h[W+8>>2]=0;h[G>>2]=0;h[G+4>>2]=0;h[G+8>>2]=0;h[V>>2]=0;h[V+4>>2]=0;h[V+8>>2]=0;h[K>>2]=0;h[K+4>>2]=0;h[K+8>>2]=0;T=0;Pe(2,r|0,t|0,H|0,N|0,Y|0,z|0,W|0,G|0,V|0,F|0);I=T;T=0;e:do{if(I&1)r=Ze()|0;else{h[o>>2]=h[s>>2];C=G+4|0;D=V+4|0;x=V+8|0;I=G+8|0;A=(n&512|0)!=0;M=W+8|0;S=W+4|0;P=K+4|0;O=K+8|0;R=H+3|0;L=z+4|0;E=0;w=0;i:while(1){u=h[e>>2]|0;do{if(u){r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}}else u=h[r>>2]|0;if((u|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);r=h[i>>2]|0;do{if(r){u=h[r+12>>2]|0;if((u|0)==(h[r+16>>2]|0)){T=0;u=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=26;break i}}else u=h[u>>2]|0;if((u|0)!=-1)if(t){y=r;break}else{_=d;q=244;break i}else{h[i>>2]=0;q=16;break}}else q=16}while(0);if((q|0)==16){q=0;if(t){_=d;q=244;break}else y=0}r:do{switch(c[H+E>>0]|0){case 1:{if((E|0)!=3){u=h[e>>2]|0;r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;q=T;T=0;if(q&1){q=26;break i}}else u=h[r>>2]|0;T=0;u=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,8192,u|0)|0;q=T;T=0;if(q&1){q=26;break i}if(!u){q=42;break i}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;q=T;T=0;if(q&1){q=26;break i}}else{h[r>>2]=t+4;u=h[t>>2]|0}T=0;ve(92,K|0,u|0);q=T;T=0;if(q&1){q=26;break i}else{u=y;n=y;q=44}}else u=d;break}case 0:{if((E|0)==3)u=d;else{u=y;n=y;q=44}break}case 3:{r=c[G>>0]|0;u=(r&1)==0?(r&255)>>>1:h[C>>2]|0;t=c[V>>0]|0;n=(t&1)==0?(t&255)>>>1:h[D>>2]|0;if((u|0)==(0-n|0))u=d;else{if(!u){u=h[e>>2]|0;r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}r=c[V>>0]|0}else{u=h[r>>2]|0;r=t}if((u|0)!=(h[((r&1)==0?D:h[x>>2]|0)>>2]|0)){u=d;break r}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[r>>2]=t+4;c[a>>0]=1;y=c[V>>0]|0;u=d;w=((y&1)==0?(y&255)>>>1:h[D>>2]|0)>>>0>1?V:w;break r}k=h[e>>2]|0;_=h[k+12>>2]|0;t=h[k+16>>2]|0;u=(_|0)==(t|0);if(!n){if(u){T=0;u=ye(h[(h[k>>2]|0)+36>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=26;break i}r=c[G>>0]|0}else u=h[_>>2]|0;if((u|0)!=(h[((r&1)==0?C:h[I>>2]|0)>>2]|0)){c[a>>0]=1;u=d;break r}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[r>>2]=t+4;y=c[G>>0]|0;u=d;w=((y&1)==0?(y&255)>>>1:h[C>>2]|0)>>>0>1?G:w;break r}if(u){T=0;u=ye(h[(h[k>>2]|0)+36>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=26;break i}t=h[e>>2]|0;r=c[G>>0]|0;k=t;_=h[t+12>>2]|0;t=h[t+16>>2]|0}else u=h[_>>2]|0;n=k+12|0;t=(_|0)==(t|0);if((u|0)==(h[((r&1)==0?C:h[I>>2]|0)>>2]|0)){if(t){T=0;ye(h[(h[k>>2]|0)+40>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[n>>2]=_+4;y=c[G>>0]|0;u=d;w=((y&1)==0?(y&255)>>>1:h[C>>2]|0)>>>0>1?G:w;break r}if(t){T=0;u=ye(h[(h[k>>2]|0)+36>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=26;break i}}else u=h[_>>2]|0;if((u|0)!=(h[((c[V>>0]&1)==0?D:h[x>>2]|0)>>2]|0)){q=107;break i}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[r>>2]=t+4;c[a>>0]=1;y=c[V>>0]|0;u=d;w=((y&1)==0?(y&255)>>>1:h[D>>2]|0)>>>0>1?V:w}break}case 2:{if(!(E>>>0<2|(w|0)!=0)?!(A|(E|0)==2&(c[R>>0]|0)!=0):0){u=d;w=0;break r}n=c[W>>0]|0;t=h[M>>2]|0;r=(n&1)==0?S:t;u=r;t:do{if((E|0)!=0?(b[H+(E+-1)>>0]|0)<2:0){g=(n&1)==0;n:do{if((r|0)!=((g?S:t)+((g?(n&255)>>>1:h[S>>2]|0)<<2)|0)){n=r;while(1){T=0;r=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,8192,h[n>>2]|0)|0;g=T;T=0;if(g&1){q=23;break i}if(!r)break;n=n+4|0;u=n;r=c[W>>0]|0;t=h[M>>2]|0;g=(r&1)==0;if((n|0)==((g?S:t)+((g?(r&255)>>>1:h[S>>2]|0)<<2)|0)){n=r;break n}}n=c[W>>0]|0;t=h[M>>2]|0}}while(0);_=(n&1)==0?S:t;r=_;m=u-r>>2;p=c[K>>0]|0;k=(p&1)==0;p=k?(p&255)>>>1:h[P>>2]|0;if(p>>>0>=m>>>0){k=k?P:h[O>>2]|0;g=k+(p<<2)|0;if(!m)r=u;else{k=k+(p-m<<2)|0;while(1){if((h[k>>2]|0)!=(h[_>>2]|0))break t;k=k+4|0;if((k|0)==(g|0)){r=u;break}else _=_+4|0}}}}else r=u}while(0);u=(n&1)==0;u=(u?S:t)+((u?(n&255)>>>1:h[S>>2]|0)<<2)|0;t:do{if((r|0)!=(u|0)){k=y;n=y;u=r;while(1){r=h[e>>2]|0;do{if(r){t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=22;break i}}else r=h[t>>2]|0;if((r|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);do{if(n){r=h[n+12>>2]|0;if((r|0)==(h[n+16>>2]|0)){T=0;r=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=22;break i}}else r=h[r>>2]|0;if((r|0)!=-1)if(t^(k|0)==0){r=k;_=k;break}else break t;else{h[i>>2]=0;r=0;q=136;break}}else{r=k;q=136}}while(0);if((q|0)==136){q=0;if(t)break t;else _=0}t=h[e>>2]|0;n=h[t+12>>2]|0;if((n|0)==(h[t+16>>2]|0)){T=0;t=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=22;break i}}else t=h[n>>2]|0;if((t|0)!=(h[u>>2]|0))break t;t=h[e>>2]|0;n=t+12|0;k=h[n>>2]|0;if((k|0)==(h[t+16>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=22;break i}}else h[n>>2]=k+4;u=u+4|0;t=c[W>>0]|0;y=(t&1)==0;t=(y?S:h[M>>2]|0)+((y?(t&255)>>>1:h[S>>2]|0)<<2)|0;if((u|0)==(t|0)){u=t;break}else{k=r;n=_}}}}while(0);if(A?(y=c[W>>0]|0,g=(y&1)==0,(u|0)!=((g?S:h[M>>2]|0)+((g?(y&255)>>>1:h[S>>2]|0)<<2)|0)):0){q=148;break i}else u=d;break}case 4:{p=h[Y>>2]|0;m=y;k=y;u=d;r=0;t:while(1){t=h[e>>2]|0;do{if(t){n=h[t+12>>2]|0;if((n|0)==(h[t+16>>2]|0)){T=0;t=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=25;break i}}else t=h[n>>2]|0;if((t|0)==-1){h[e>>2]=0;n=1;break}else{n=(h[e>>2]|0)==0;break}}else n=1}while(0);do{if(k){t=h[k+12>>2]|0;if((t|0)==(h[k+16>>2]|0)){T=0;t=ye(h[(h[k>>2]|0)+36>>2]|0,k|0)|0;y=T;T=0;if(y&1){q=25;break i}}else t=h[t>>2]|0;if((t|0)!=-1)if(n^(m|0)==0){t=m;_=m;break}else{d=m;break t}else{h[i>>2]=0;t=0;q=162;break}}else{t=m;q=162}}while(0);if((q|0)==162){q=0;if(n){d=t;break}else _=0}n=h[e>>2]|0;d=h[n+12>>2]|0;if((d|0)==(h[n+16>>2]|0)){T=0;n=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=25;break i}}else n=h[d>>2]|0;T=0;d=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,2048,n|0)|0;y=T;T=0;if(y&1){q=25;break i}if(d){d=h[o>>2]|0;if((d|0)==(h[B>>2]|0)){T=0;xe(14,s|0,o|0,B|0);y=T;T=0;if(y&1){q=25;break i}d=h[o>>2]|0}h[o>>2]=d+4;h[d>>2]=n;r=r+1|0}else{y=c[z>>0]|0;if(!((n|0)==(p|0)&((r|0)!=0?(((y&1)==0?(y&255)>>>1:h[L>>2]|0)|0)!=0:0))){d=t;break}if((u|0)==(h[U>>2]|0)){T=0;xe(13,Q|0,j|0,U|0);y=T;T=0;if(y&1){q=25;break i}u=h[j>>2]|0}y=u+4|0;h[j>>2]=y;h[u>>2]=r;u=y;r=0}n=h[e>>2]|0;d=n+12|0;k=h[d>>2]|0;if((k|0)==(h[n+16>>2]|0)){T=0;ye(h[(h[n>>2]|0)+40>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=25;break i}else{m=t;k=_;continue}}else{h[d>>2]=k+4;m=t;k=_;continue}}if((r|0)!=0?(h[Q>>2]|0)!=(u|0):0){if((u|0)==(h[U>>2]|0)){T=0;xe(13,Q|0,j|0,U|0);y=T;T=0;if(y&1){q=26;break i}u=h[j>>2]|0}y=u+4|0;h[j>>2]=y;h[u>>2]=r;u=y}_=h[F>>2]|0;if((_|0)>0){r=h[e>>2]|0;do{if(r){t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=26;break i}}else r=h[t>>2]|0;if((r|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);do{if(d){r=h[d+12>>2]|0;if((r|0)==(h[d+16>>2]|0)){T=0;r=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;y=T;T=0;if(y&1){q=26;break i}}else r=h[r>>2]|0;if((r|0)!=-1)if(t)break;else{q=206;break i}else{h[i>>2]=0;q=200;break}}else q=200}while(0);if((q|0)==200){q=0;if(t){q=206;break i}else d=0}r=h[e>>2]|0;t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=26;break i}}else r=h[t>>2]|0;if((r|0)!=(h[N>>2]|0)){q=206;break i}r=h[e>>2]|0;t=r+12|0;n=h[t>>2]|0;if((n|0)==(h[r+16>>2]|0)){T=0;ye(h[(h[r>>2]|0)+40>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=26;break i}}else h[t>>2]=n+4;if((_|0)>0){k=d;n=d;m=_;while(1){r=h[e>>2]|0;do{if(r){t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=24;break i}}else r=h[t>>2]|0;if((r|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);do{if(n){r=h[n+12>>2]|0;if((r|0)==(h[n+16>>2]|0)){T=0;r=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=24;break i}}else r=h[r>>2]|0;if((r|0)!=-1)if(t^(k|0)==0){r=k;_=k;break}else{q=231;break i}else{h[i>>2]=0;r=0;q=224;break}}else{r=k;q=224}}while(0);if((q|0)==224){q=0;if(t){q=231;break i}else _=0}t=h[e>>2]|0;n=h[t+12>>2]|0;if((n|0)==(h[t+16>>2]|0)){T=0;t=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=24;break i}}else t=h[n>>2]|0;T=0;t=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,2048,t|0)|0;y=T;T=0;if(y&1){q=24;break i}if(!t){q=231;break i}if((h[o>>2]|0)==(h[B>>2]|0)?(T=0,xe(14,s|0,o|0,B|0),y=T,T=0,y&1):0){q=24;break i}t=h[e>>2]|0;n=h[t+12>>2]|0;if((n|0)==(h[t+16>>2]|0)){T=0;t=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;y=T;T=0;if(y&1){q=24;break i}}else t=h[n>>2]|0;n=h[o>>2]|0;h[o>>2]=n+4;h[n>>2]=t;t=m;m=m+-1|0;h[F>>2]=m;n=h[e>>2]|0;d=n+12|0;k=h[d>>2]|0;if((k|0)==(h[n+16>>2]|0)){T=0;ye(h[(h[n>>2]|0)+40>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=24;break i}}else h[d>>2]=k+4;if((t|0)<=1)break;else{k=r;n=_}}}}if((h[o>>2]|0)==(h[s>>2]|0)){q=242;break i}break}default:u=d}}while(0);r:do{if((q|0)==44)while(1){q=0;r=h[e>>2]|0;do{if(r){t=h[r+12>>2]|0;if((t|0)==(h[r+16>>2]|0)){T=0;r=ye(h[(h[r>>2]|0)+36>>2]|0,r|0)|0;y=T;T=0;if(y&1){q=21;break i}}else r=h[t>>2]|0;if((r|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);do{if(n){r=h[n+12>>2]|0;if((r|0)==(h[n+16>>2]|0)){T=0;r=ye(h[(h[n>>2]|0)+36>>2]|0,n|0)|0;y=T;T=0;if(y&1){q=21;break i}}else r=h[r>>2]|0;if((r|0)!=-1)if(t^(u|0)==0){k=u;n=u;break}else{u=d;break r}else{h[i>>2]=0;u=0;q=57;break}}else q=57}while(0);if((q|0)==57){q=0;if(t){u=d;break r}else{k=u;n=0}}u=h[e>>2]|0;r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;y=T;T=0;if(y&1){q=21;break i}}else u=h[r>>2]|0;T=0;u=Ae(h[(h[l>>2]|0)+12>>2]|0,l|0,8192,u|0)|0;y=T;T=0;if(y&1){q=21;break i}if(!u){u=d;break r}u=h[e>>2]|0;r=u+12|0;t=h[r>>2]|0;if((t|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;q=T;T=0;if(q&1){q=21;break i}}else{h[r>>2]=t+4;u=h[t>>2]|0}T=0;ve(92,K|0,u|0);q=T;T=0;if(q&1){q=21;break i}else{u=k;q=44}}}while(0);E=E+1|0;if(E>>>0>=4){_=u;q=244;break}else d=u}i:switch(q|0){case 21:{r=Ze()|0;break e}case 22:{r=Ze()|0;break e}case 23:{r=Ze()|0;break e}case 24:{r=Ze()|0;break e}case 25:{r=Ze()|0;break e}case 26:{r=Ze()|0;break e}case 42:{h[f>>2]=h[f>>2]|4;r=0;break}case 107:{h[f>>2]=h[f>>2]|4;r=0;break}case 148:{h[f>>2]=h[f>>2]|4;r=0;break}case 206:{h[f>>2]=h[f>>2]|4;r=0;break}case 231:{h[f>>2]=h[f>>2]|4;r=0;break}case 242:{h[f>>2]=h[f>>2]|4;r=0;break}case 244:{r:do{if(w){d=w+4|0;k=w+8|0;n=1;t:while(1){u=c[w>>0]|0;if(!(u&1))u=(u&255)>>>1;else u=h[d>>2]|0;if(n>>>0>=u>>>0)break r;u=h[e>>2]|0;do{if(u){r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){q=20;break t}}else u=h[r>>2]|0;if((u|0)==-1){h[e>>2]=0;t=1;break}else{t=(h[e>>2]|0)==0;break}}else t=1}while(0);u=h[i>>2]|0;do{if(u){r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){q=20;break t}}else u=h[r>>2]|0;if((u|0)!=-1)if(t)break;else{q=271;break t}else{h[i>>2]=0;q=263;break}}else q=263}while(0);if((q|0)==263?(q=0,t):0){q=271;break}u=h[e>>2]|0;r=h[u+12>>2]|0;if((r|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;o=T;T=0;if(o&1){q=20;break}}else u=h[r>>2]|0;if(!(c[w>>0]&1))r=d;else r=h[k>>2]|0;if((u|0)!=(h[r+(n<<2)>>2]|0)){q=271;break}u=n+1|0;r=h[e>>2]|0;t=r+12|0;n=h[t>>2]|0;if((n|0)==(h[r+16>>2]|0)){T=0;ye(h[(h[r>>2]|0)+40>>2]|0,r|0)|0;o=T;T=0;if(o&1){q=20;break}else{n=u;continue}}else{h[t>>2]=n+4;n=u;continue}}if((q|0)==20){r=Ze()|0;break e}else if((q|0)==271){h[f>>2]=h[f>>2]|4;r=0;break i}}}while(0);u=h[Q>>2]|0;if((u|0)!=(_|0)?(h[X>>2]=0,nu(z,u,_,X),(h[X>>2]|0)!=0):0){h[f>>2]=h[f>>2]|4;r=0}else r=1;break}}th(K);th(V);th(G);th(W);qd(z);u=h[Q>>2]|0;h[Q>>2]=0;if((u|0)!=0?(T=0,pe(h[Z>>2]|0,u|0),Q=T,T=0,Q&1):0){Q=Ze(0)|0;Ki(Q)}v=J;return r|0}}while(0);th(K);th(V);th(G);th(W);qd(z);u=h[Q>>2]|0;h[Q>>2]=0;if((u|0)!=0?(T=0,pe(h[Z>>2]|0,u|0),Q=T,T=0,Q&1):0){Q=Ze(0)|0;Ki(Q)}si(r|0);return 0}function ou(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;g=v;v=v+432|0;l=g+424|0;e=g+24|0;E=g+16|0;w=g+8|0;d=g+4|0;b=g+428|0;s=g;h[E>>2]=e;M=E+4|0;h[M>>2]=189;o=e+400|0;T=0;p=ye(68,n|0)|0;u=T;T=0;if(!(u&1)){h[d>>2]=p;T=0;u=Oe(37,d|0,44212)|0;e=T;T=0;e:do{if(!(e&1)?(c[b>>0]=0,_=h[r>>2]|0,h[s>>2]=_,k=h[n+4>>2]|0,m=_,T=0,h[l>>2]=h[s>>2],k=Ee(2,i|0,l|0,t|0,d|0,k|0,f|0,b|0,u|0,E|0,w|0,o|0)|0,n=T,T=0,!(n&1)):0){if(k){if(!(c[a>>0]&1))c[a>>0]=0;else h[h[a+8>>2]>>2]=0;h[a+4>>2]=0;if(c[b>>0]|0){T=0;e=Oe(h[(h[u>>2]|0)+44>>2]|0,u|0,45)|0;n=T;T=0;if(n&1)break;T=0;ve(92,a|0,e|0);n=T;T=0;if(n&1)break}T=0;s=Oe(h[(h[u>>2]|0)+44>>2]|0,u|0,48)|0;n=T;T=0;if(n&1)break;e=h[E>>2]|0;o=h[w>>2]|0;l=o+-4|0;i:do{if(e>>>0>>0)do{if((h[e>>2]|0)!=(s|0))break i;e=e+4|0}while(e>>>0>>0)}while(0);T=0;Ae(33,a|0,e|0,o|0)|0;a=T;T=0;if(a&1)break}e=h[i>>2]|0;do{if(e){l=h[e+12>>2]|0;if((l|0)==(h[e+16>>2]|0)){T=0;e=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;a=T;T=0;if(a&1)break e}else e=h[l>>2]|0;if((e|0)==-1){h[i>>2]=0;l=1;break}else{l=(h[i>>2]|0)==0;break}}else l=1}while(0);do{if(_){e=h[m+12>>2]|0;if((e|0)==(h[m+16>>2]|0)){T=0;e=ye(h[(h[_>>2]|0)+36>>2]|0,m|0)|0;m=T;T=0;if(m&1)break e}else e=h[e>>2]|0;if((e|0)!=-1)if(l)break;else{A=32;break}else{h[r>>2]=0;A=30;break}}else A=30}while(0);if((A|0)==30?l:0)A=32;if((A|0)==32)h[f>>2]=h[f>>2]|2;l=h[i>>2]|0;Ad(p)|0;e=h[E>>2]|0;h[E>>2]=0;if((e|0)!=0?(T=0,pe(h[M>>2]|0,e|0),M=T,T=0,M&1):0){M=Ze(0)|0;Ki(M)}v=g;return l|0}}while(0);l=Ze()|0;Ad(p)|0;e=h[E>>2]|0;h[E>>2]=0;if(!e)y=l;else A=38}else{l=Ze()|0;h[E>>2]=0;A=38}if((A|0)==38){T=0;pe(h[M>>2]|0,e|0);M=T;T=0;if(M&1){M=Ze(0)|0;Ki(M)}else y=l}si(y|0);return 0}function uu(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;A=v;v=v+112|0;u=A+100|0;d=A+88|0;b=A+76|0;k=A+64|0;w=A+52|0;_=A+48|0;m=A+36|0;p=A+24|0;g=A+12|0;y=A;do{if(e){e=Vu(i,43956)|0;wE[h[(h[e>>2]|0)+44>>2]&127](u,e);y=h[u>>2]|0;c[r>>0]=y;c[r+1>>0]=y>>8;c[r+2>>0]=y>>16;c[r+3>>0]=y>>24;wE[h[(h[e>>2]|0)+32>>2]&127](d,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[s>>2]=h[d>>2];h[s+4>>2]=h[d+4>>2];h[s+8>>2]=h[d+8>>2];h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;th(d);wE[h[(h[e>>2]|0)+28>>2]&127](b,e);if(!(c[l>>0]&1))c[l>>0]=0;else h[h[l+8>>2]>>2]=0;h[l+4>>2]=0;T=0;ve(93,l|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[l>>2]=h[b>>2];h[l+4>>2]=h[b+4>>2];h[l+8>>2]=h[b+8>>2];h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;th(b);l=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;h[t>>2]=l;l=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;h[n>>2]=l;wE[h[(h[e>>2]|0)+20>>2]&127](k,e);if(!(c[f>>0]&1)){c[f+1>>0]=0;c[f>>0]=0}else{c[h[f+8>>2]>>0]=0;h[f+4>>2]=0}T=0;ve(91,f|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}h[f>>2]=h[k>>2];h[f+4>>2]=h[k+4>>2];h[f+8>>2]=h[k+8>>2];h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;qd(k);wE[h[(h[e>>2]|0)+24>>2]&127](w,e);if(!(c[a>>0]&1))c[a>>0]=0;else h[h[a+8>>2]>>2]=0;h[a+4>>2]=0;T=0;ve(93,a|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else{h[a>>2]=h[w>>2];h[a+4>>2]=h[w+4>>2];h[a+8>>2]=h[w+8>>2];h[w>>2]=0;h[w+4>>2]=0;h[w+8>>2]=0;th(w);E=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Vu(i,43892)|0;wE[h[(h[e>>2]|0)+44>>2]&127](_,e);_=h[_>>2]|0;c[r>>0]=_;c[r+1>>0]=_>>8;c[r+2>>0]=_>>16;c[r+3>>0]=_>>24;wE[h[(h[e>>2]|0)+32>>2]&127](m,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[s>>2]=h[m>>2];h[s+4>>2]=h[m+4>>2];h[s+8>>2]=h[m+8>>2];h[m>>2]=0;h[m+4>>2]=0;h[m+8>>2]=0;th(m);wE[h[(h[e>>2]|0)+28>>2]&127](p,e);if(!(c[l>>0]&1))c[l>>0]=0;else h[h[l+8>>2]>>2]=0;h[l+4>>2]=0;T=0;ve(93,l|0,0);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}h[l>>2]=h[p>>2];h[l+4>>2]=h[p+4>>2];h[l+8>>2]=h[p+8>>2];h[p>>2]=0;h[p+4>>2]=0;h[p+8>>2]=0;th(p);l=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;h[t>>2]=l;l=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;h[n>>2]=l;wE[h[(h[e>>2]|0)+20>>2]&127](g,e);if(!(c[f>>0]&1)){c[f+1>>0]=0;c[f>>0]=0}else{c[h[f+8>>2]>>0]=0;h[f+4>>2]=0}T=0;ve(91,f|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}h[f>>2]=h[g>>2];h[f+4>>2]=h[g+4>>2];h[f+8>>2]=h[g+8>>2];h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;qd(g);wE[h[(h[e>>2]|0)+24>>2]&127](y,e);if(!(c[a>>0]&1))c[a>>0]=0;else h[h[a+8>>2]>>2]=0;h[a+4>>2]=0;T=0;ve(93,a|0,0);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else{h[a>>2]=h[y>>2];h[a+4>>2]=h[y+4>>2];h[a+8>>2]=h[y+8>>2];h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;th(y);E=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);h[o>>2]=E;v=A;return}function cu(e){e=e|0;return}function du(e){e=e|0;zv(e);return}function hu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;O=v;v=v+384|0;p=O+8|0;a=O;s=O+284|0;o=O+72|0;l=O+184|0;L=O+68|0;M=O+80|0;y=O+77|0;S=O+76|0;C=O+56|0;x=O+44|0;D=O+32|0;u=O+28|0;_=O+84|0;A=O+24|0;E=O+20|0;g=O+16|0;h[o>>2]=s;m[p>>3]=f;s=Hy(s,100,59018,p)|0;do{if(s>>>0>99){T=0;e=Ce(3)|0;P=T;T=0;if(!(P&1)?(T=0,m[a>>3]=f,k=De(17,o|0,e|0,59018,a|0)|0,P=T,T=0,!(P&1)):0){e=h[o>>2]|0;if(!e){T=0;Ie(6);P=T;T=0;if(P&1){e=0;a=0;P=7;break}e=h[o>>2]|0}l=jc(k)|0;a=l;if(!l){T=0;Ie(6);P=T;T=0;if(P&1)P=7;else{w=0;P=10}}else{w=l;P=10}}else{e=0;a=0;P=7}}else{a=0;e=0;w=l;k=s;P=10}}while(0);if((P|0)==10){T=0;l=ye(68,t|0)|0;b=T;T=0;if(b&1)P=7;else{h[L>>2]=l;T=0;b=Oe(37,L|0,44220)|0;d=T;T=0;if(!(d&1)?(d=h[o>>2]|0,T=0,De(h[(h[b>>2]|0)+32>>2]|0,b|0,d|0,d+k|0,w|0)|0,d=T,T=0,!(d&1)):0){if(!k)d=0;else d=(c[h[o>>2]>>0]|0)==45;h[C>>2]=0;h[C+4>>2]=0;h[C+8>>2]=0;h[x>>2]=0;h[x+4>>2]=0;h[x+8>>2]=0;h[D>>2]=0;h[D+4>>2]=0;h[D+8>>2]=0;T=0;Pe(3,r|0,d|0,L|0,M|0,y|0,S|0,C|0,x|0,D|0,u|0);r=T;T=0;if(!(r&1)){u=h[u>>2]|0;if((k|0)>(u|0)){r=c[D>>0]|0;s=c[x>>0]|0;s=(k-u<<1|1)+u+((r&1)==0?(r&255)>>>1:h[D+4>>2]|0)+((s&1)==0?(s&255)>>>1:h[x+4>>2]|0)|0}else{r=c[D>>0]|0;s=c[x>>0]|0;s=u+2+((r&1)==0?(r&255)>>>1:h[D+4>>2]|0)+((s&1)==0?(s&255)>>>1:h[x+4>>2]|0)|0}if(s>>>0>100){s=jc(s)|0;o=s;if(!s){T=0;Ie(6);_=T;T=0;if(!(_&1)){s=0;P=26}}else P=26}else{o=0;s=_;P=26}if((P|0)==26){T=0;Me(1,s|0,A|0,E|0,h[t+4>>2]|0,w|0,w+k|0,b|0,d|0,M|0,c[y>>0]|0,c[S>>0]|0,C|0,x|0,D|0,u|0);S=T;T=0;if(!(S&1)?(h[g>>2]=h[i>>2],i=h[A>>2]|0,R=h[E>>2]|0,T=0,h[p>>2]=h[g>>2],R=ge(39,p|0,s|0,i|0,R|0,t|0,n|0)|0,i=T,T=0,!(i&1)):0){if(o){Hc(o);l=h[L>>2]|0}qd(D);qd(x);qd(C);Ad(l)|0;if(a)Hc(a);if(e)Hc(e);v=O;return R|0}}s=Ze()|0;if(o){Hc(o);l=h[L>>2]|0}}else s=Ze()|0;qd(D);qd(x);qd(C)}else s=Ze()|0;Ad(l)|0}}if((P|0)==7)s=Ze()|0;if(a)Hc(a);if(e)Hc(e);si(s|0);return 0}function bu(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;O=v;v=v+112|0;b=O+108|0;k=O+96|0;m=O+92|0;p=O+80|0;g=O+68|0;y=O+56|0;E=O+52|0;A=O+40|0;M=O+36|0;S=O+24|0;w=O+12|0;_=O;do{if(e){e=Vu(r,43828)|0;r=h[e>>2]|0;do{if(i){wE[h[r+44>>2]&127](b,e);i=h[b>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+32>>2]&127](k,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[k>>2];h[s+4>>2]=h[k+4>>2];h[s+8>>2]=h[k+8>>2];h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;qd(k);d=e;break}}else{wE[h[r+40>>2]&127](m,e);i=h[m>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+28>>2]&127](p,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[p>>2];h[s+4>>2]=h[p+4>>2];h[s+8>>2]=h[p+8>>2];h[p>>2]=0;h[p+4>>2]=0;h[p+8>>2]=0;qd(p);d=e;break}}}while(0);s=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;c[n>>0]=s;s=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;c[f>>0]=s;wE[h[(h[d>>2]|0)+20>>2]&127](g,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}h[a>>2]=h[g>>2];h[a+4>>2]=h[g+4>>2];h[a+8>>2]=h[g+8>>2];h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;qd(g);wE[h[(h[d>>2]|0)+24>>2]&127](y,e);if(!(c[l>>0]&1)){c[l+1>>0]=0;c[l>>0]=0}else{c[h[l+8>>2]>>0]=0;h[l+4>>2]=0}T=0;ve(91,l|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}else{h[l>>2]=h[y>>2];h[l+4>>2]=h[y+4>>2];h[l+8>>2]=h[y+8>>2];h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;qd(y);P=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Vu(r,43764)|0;r=h[e>>2]|0;do{if(i){wE[h[r+44>>2]&127](E,e);i=h[E>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+32>>2]&127](A,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[A>>2];h[s+4>>2]=h[A+4>>2];h[s+8>>2]=h[A+8>>2];h[A>>2]=0;h[A+4>>2]=0;h[A+8>>2]=0;qd(A);u=e;break}}else{wE[h[r+40>>2]&127](M,e);i=h[M>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+28>>2]&127](S,e);if(!(c[s>>0]&1)){c[s+1>>0]=0;c[s>>0]=0}else{c[h[s+8>>2]>>0]=0;h[s+4>>2]=0}T=0;ve(91,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[S>>2];h[s+4>>2]=h[S+4>>2];h[s+8>>2]=h[S+8>>2];h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;qd(S);u=e;break}}}while(0);s=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;c[n>>0]=s;s=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;c[f>>0]=s;wE[h[(h[u>>2]|0)+20>>2]&127](w,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}h[a>>2]=h[w>>2];h[a+4>>2]=h[w+4>>2];h[a+8>>2]=h[w+8>>2];h[w>>2]=0;h[w+4>>2]=0;h[w+8>>2]=0;qd(w);wE[h[(h[u>>2]|0)+24>>2]&127](_,e);if(!(c[l>>0]&1)){c[l+1>>0]=0;c[l>>0]=0}else{c[h[l+8>>2]>>0]=0;h[l+4>>2]=0}T=0;ve(91,l|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}else{h[l>>2]=h[_>>2];h[l+4>>2]=h[_+4>>2];h[l+8>>2]=h[_+8>>2];h[_>>2]=0;h[_+4>>2]=0;h[_+8>>2]=0;qd(_);P=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);h[o>>2]=P;v=O;return}function ku(e,i,r,t,n,f,a,l,s,o,u,b,k,w,_){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;b=b|0;k=k|0;w=w|0;_=_|0;var m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0;h[r>>2]=e;U=w+4|0;j=w+8|0;H=w+1|0;D=k+4|0;x=(t&512|0)==0;I=k+8|0;B=k+1|0;N=a+8|0;F=(_|0)>0;T=b+4|0;S=b+8|0;P=b+1|0;O=_+1|0;L=-2-_-((_|0)<0?~_:-1)|0;C=(_|0)>0;M=0;do{switch(c[s+M>>0]|0){case 0:{h[i>>2]=h[r>>2];break}case 1:{h[i>>2]=h[r>>2];E=ME[h[(h[a>>2]|0)+28>>2]&63](a,32)|0;A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=E;break}case 3:{A=c[w>>0]|0;m=(A&1)==0;if((m?(A&255)>>>1:h[U>>2]|0)|0){E=c[(m?H:h[j>>2]|0)>>0]|0;A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=E}break}case 2:{v=c[k>>0]|0;m=(v&1)==0;v=m?(v&255)>>>1:h[D>>2]|0;if(!(x|(v|0)==0)){p=m?B:h[I>>2]|0;g=p+v|0;m=h[r>>2]|0;if(v)do{c[m>>0]=c[p>>0]|0;p=p+1|0;m=m+1|0}while((p|0)!=(g|0));h[r>>2]=m}break}case 4:{m=h[r>>2]|0;n=l?n+1|0:n;y=n;g=h[N>>2]|0;e:do{if(n>>>0>>0){p=n;do{v=c[p>>0]|0;if(v<<24>>24<=-1)break e;if(!(d[g+(v<<24>>24<<1)>>1]&2048))break e;p=p+1|0}while(p>>>0>>0)}else p=n}while(0);v=p;if(F){E=-2-v-~(v>>>0>y>>>0?y:v)|0;E=L>>>0>E>>>0?L:E;if(p>>>0>n>>>0&C){v=p;y=_;while(1){v=v+-1|0;A=c[v>>0]|0;g=h[r>>2]|0;h[r>>2]=g+1;c[g>>0]=A;g=(y|0)>1;if(!(v>>>0>n>>>0&g))break;else y=y+-1|0}}else g=C;A=O+E|0;v=p+(E+1)|0;if(g)y=ME[h[(h[a>>2]|0)+28>>2]&63](a,48)|0;else y=0;p=h[r>>2]|0;h[r>>2]=p+1;if((A|0)>0){g=A;while(1){c[p>>0]=y;p=h[r>>2]|0;h[r>>2]=p+1;if((g|0)>1)g=g+-1|0;else break}}c[p>>0]=o}else v=p;if((v|0)!=(n|0)){A=c[b>>0]|0;p=(A&1)==0;if(!((p?(A&255)>>>1:h[T>>2]|0)|0))p=-1;else p=c[(p?P:h[S>>2]|0)>>0]|0;if((v|0)!=(n|0)){g=0;y=0;while(1){if((y|0)==(p|0)){A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=u;g=g+1|0;A=c[b>>0]|0;p=(A&1)==0;if(g>>>0<(p?(A&255)>>>1:h[T>>2]|0)>>>0){p=c[(p?P:h[S>>2]|0)+g>>0]|0;p=p<<24>>24==127?-1:p<<24>>24;y=0}else{p=y;y=0}}v=v+-1|0;E=c[v>>0]|0;A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=E;if((v|0)==(n|0))break;else y=y+1|0}}}else{E=ME[h[(h[a>>2]|0)+28>>2]&63](a,48)|0;A=h[r>>2]|0;h[r>>2]=A+1;c[A>>0]=E}p=h[r>>2]|0;if((m|0)!=(p|0)?(R=p+-1|0,m>>>0>>0):0){p=R;do{A=c[m>>0]|0;c[m>>0]=c[p>>0]|0;c[p>>0]=A;m=m+1|0;p=p+-1|0}while(m>>>0

>>0)}break}default:{}}M=M+1|0}while((M|0)!=4);p=c[w>>0]|0;n=(p&1)==0;p=n?(p&255)>>>1:h[U>>2]|0;if(p>>>0>1){m=n?H:h[j>>2]|0;v=m+p|0;n=h[r>>2]|0;if((p|0)!=1){m=m+1|0;do{c[n>>0]=c[m>>0]|0;n=n+1|0;m=m+1|0}while((m|0)!=(v|0))}h[r>>2]=n}switch(t&176|0){case 32:{h[i>>2]=h[r>>2];break}case 16:break;default:h[i>>2]=e}return}function wu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;A=v;v=v+176|0;k=A+56|0;S=A+52|0;y=A+64|0;m=A+61|0;E=A+60|0;P=A+40|0;R=A+28|0;O=A+16|0;o=A+12|0;b=A+68|0;g=A+8|0;p=A+4|0;w=A;e=_h(t)|0;h[S>>2]=e;T=0;_=Oe(37,S|0,44220)|0;d=T;T=0;do{if(d&1)L=13;else{u=c[f>>0]|0;a=(u&1)==0;d=f+4|0;if(!((a?(u&255)>>>1:h[d>>2]|0)|0))u=0;else{a=c[(a?f+1|0:h[f+8>>2]|0)>>0]|0;T=0;l=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,45)|0;u=T;T=0;if(u&1){L=13;break}u=a<<24>>24==l<<24>>24}h[P>>2]=0;h[P+4>>2]=0;h[P+8>>2]=0;h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;h[O>>2]=0;h[O+4>>2]=0;h[O+8>>2]=0;T=0;Pe(3,r|0,u|0,S|0,y|0,m|0,E|0,P|0,R|0,O|0,o|0);s=T;T=0;if(!(s&1)){s=c[f>>0]|0;r=h[d>>2]|0;a=(s&1)==0?(s&255)>>>1:r;o=h[o>>2]|0;if((a|0)>(o|0)){C=c[O>>0]|0;l=c[R>>0]|0;a=(a-o<<1|1)+o+((C&1)==0?(C&255)>>>1:h[O+4>>2]|0)+((l&1)==0?(l&255)>>>1:h[R+4>>2]|0)|0}else{C=c[O>>0]|0;a=c[R>>0]|0;a=o+2+((C&1)==0?(C&255)>>>1:h[O+4>>2]|0)+((a&1)==0?(a&255)>>>1:h[R+4>>2]|0)|0}if(a>>>0>100){a=jc(a)|0;l=a;if(!a){T=0;Ie(6);C=T;T=0;if(!(C&1)){s=c[f>>0]|0;r=h[d>>2]|0;a=0;L=17}}else L=17}else{l=0;a=b;L=17}if((L|0)==17){C=(s&1)==0;f=C?f+1|0:h[f+8>>2]|0;T=0;Me(1,a|0,g|0,p|0,h[t+4>>2]|0,f|0,f+(C?(s&255)>>>1:r)|0,_|0,u|0,y|0,c[m>>0]|0,c[E>>0]|0,P|0,R|0,O|0,o|0);C=T;T=0;if(!(C&1)?(h[w>>2]=h[i>>2],C=h[g>>2]|0,M=h[p>>2]|0,T=0,h[k>>2]=h[w>>2],M=ge(39,k|0,a|0,C|0,M|0,t|0,n|0)|0,C=T,T=0,!(C&1)):0){if(l){Hc(l);e=h[S>>2]|0}qd(O);qd(R);qd(P);Ad(e)|0;v=A;return M|0}}a=Ze()|0;if(l){Hc(l);e=h[S>>2]|0}}else a=Ze()|0;qd(O);qd(R);qd(P)}}while(0);if((L|0)==13)a=Ze()|0;Ad(e)|0;si(a|0);return 0}function _u(e){e=e|0;return}function mu(e){e=e|0;zv(e);return}function pu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;O=v;v=v+992|0;p=O+8|0;a=O;s=O+888|0;o=O+880|0;l=O+480|0;L=O+76|0;M=O+884|0;y=O+72|0;S=O+68|0;C=O+56|0;x=O+44|0;D=O+32|0;u=O+28|0;_=O+80|0;A=O+24|0;E=O+20|0;g=O+16|0;h[o>>2]=s;m[p>>3]=f;s=Hy(s,100,59018,p)|0;do{if(s>>>0>99){T=0;e=Ce(3)|0;P=T;T=0;if(!(P&1)?(T=0,m[a>>3]=f,k=De(17,o|0,e|0,59018,a|0)|0,P=T,T=0,!(P&1)):0){e=h[o>>2]|0;if(!e){T=0;Ie(6);P=T;T=0;if(P&1){e=0;a=0;P=7;break}e=h[o>>2]|0}l=jc(k<<2)|0;a=l;if(!l){T=0;Ie(6);P=T;T=0;if(P&1)P=7;else{w=0;P=10}}else{w=l;P=10}}else{e=0;a=0;P=7}}else{a=0;e=0;w=l;k=s;P=10}}while(0);if((P|0)==10){T=0;l=ye(68,t|0)|0;b=T;T=0;if(b&1)P=7;else{h[L>>2]=l;T=0;b=Oe(37,L|0,44212)|0;d=T;T=0;if(!(d&1)?(d=h[o>>2]|0,T=0,De(h[(h[b>>2]|0)+48>>2]|0,b|0,d|0,d+k|0,w|0)|0,d=T,T=0,!(d&1)):0){if(!k)d=0;else d=(c[h[o>>2]>>0]|0)==45;h[C>>2]=0;h[C+4>>2]=0;h[C+8>>2]=0;h[x>>2]=0;h[x+4>>2]=0;h[x+8>>2]=0;h[D>>2]=0;h[D+4>>2]=0;h[D+8>>2]=0;T=0;Pe(4,r|0,d|0,L|0,M|0,y|0,S|0,C|0,x|0,D|0,u|0);r=T;T=0;if(!(r&1)){u=h[u>>2]|0;if((k|0)>(u|0)){r=c[D>>0]|0;s=c[x>>0]|0;s=(k-u<<1|1)+u+((r&1)==0?(r&255)>>>1:h[D+4>>2]|0)+((s&1)==0?(s&255)>>>1:h[x+4>>2]|0)|0}else{r=c[D>>0]|0;s=c[x>>0]|0;s=u+2+((r&1)==0?(r&255)>>>1:h[D+4>>2]|0)+((s&1)==0?(s&255)>>>1:h[x+4>>2]|0)|0}if(s>>>0>100){s=jc(s<<2)|0;o=s;if(!s){T=0;Ie(6);_=T;T=0;if(!(_&1)){s=0;P=26}}else P=26}else{o=0;s=_;P=26}if((P|0)==26){T=0;Me(2,s|0,A|0,E|0,h[t+4>>2]|0,w|0,w+(k<<2)|0,b|0,d|0,M|0,h[y>>2]|0,h[S>>2]|0,C|0,x|0,D|0,u|0);S=T;T=0;if(!(S&1)?(h[g>>2]=h[i>>2],i=h[A>>2]|0,R=h[E>>2]|0,T=0,h[p>>2]=h[g>>2],R=ge(40,p|0,s|0,i|0,R|0,t|0,n|0)|0,i=T,T=0,!(i&1)):0){if(o){Hc(o);l=h[L>>2]|0}th(D);th(x);qd(C);Ad(l)|0;if(a)Hc(a);if(e)Hc(e);v=O;return R|0}}s=Ze()|0;if(o){Hc(o);l=h[L>>2]|0}}else s=Ze()|0;th(D);th(x);qd(C)}else s=Ze()|0;Ad(l)|0}}if((P|0)==7)s=Ze()|0;if(a)Hc(a);if(e)Hc(e);si(s|0);return 0}function vu(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0;S=v;v=v+112|0;u=S+108|0;d=S+96|0;w=S+92|0;_=S+80|0;m=S+68|0;p=S+56|0;g=S+52|0;y=S+40|0;E=S+36|0;A=S+24|0;b=S+12|0;k=S;do{if(e){e=Vu(r,43956)|0;r=h[e>>2]|0;do{if(i){wE[h[r+44>>2]&127](u,e);i=h[u>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+32>>2]&127](d,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[d>>2];h[s+4>>2]=h[d+4>>2];h[s+8>>2]=h[d+8>>2];h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;th(d);break}}else{wE[h[r+40>>2]&127](w,e);i=h[w>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+28>>2]&127](_,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[_>>2];h[s+4>>2]=h[_+4>>2];h[s+8>>2]=h[_+8>>2];h[_>>2]=0;h[_+4>>2]=0;h[_+8>>2]=0;th(_);break}}}while(0);s=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;h[n>>2]=s;s=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;h[f>>2]=s;wE[h[(h[e>>2]|0)+20>>2]&127](m,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}h[a>>2]=h[m>>2];h[a+4>>2]=h[m+4>>2];h[a+8>>2]=h[m+8>>2];h[m>>2]=0;h[m+4>>2]=0;h[m+8>>2]=0;qd(m);wE[h[(h[e>>2]|0)+24>>2]&127](p,e);if(!(c[l>>0]&1))c[l>>0]=0;else h[h[l+8>>2]>>2]=0;h[l+4>>2]=0;T=0;ve(93,l|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}else{h[l>>2]=h[p>>2];h[l+4>>2]=h[p+4>>2];h[l+8>>2]=h[p+8>>2];h[p>>2]=0;h[p+4>>2]=0;h[p+8>>2]=0;th(p);M=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Vu(r,43892)|0;r=h[e>>2]|0;do{if(i){wE[h[r+44>>2]&127](g,e);i=h[g>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+32>>2]&127](y,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[y>>2];h[s+4>>2]=h[y+4>>2];h[s+8>>2]=h[y+8>>2];h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;th(y);break}}else{wE[h[r+40>>2]&127](E,e);i=h[E>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+28>>2]&127](A,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[A>>2];h[s+4>>2]=h[A+4>>2];h[s+8>>2]=h[A+8>>2];h[A>>2]=0;h[A+4>>2]=0;h[A+8>>2]=0;th(A);break}}}while(0);s=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;h[n>>2]=s;s=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;h[f>>2]=s;wE[h[(h[e>>2]|0)+20>>2]&127](b,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}h[a>>2]=h[b>>2];h[a+4>>2]=h[b+4>>2];h[a+8>>2]=h[b+8>>2];h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;qd(b);wE[h[(h[e>>2]|0)+24>>2]&127](k,e);if(!(c[l>>0]&1))c[l>>0]=0;else h[h[l+8>>2]>>2]=0;h[l+4>>2]=0;T=0;ve(93,l|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}else{h[l>>2]=h[k>>2];h[l+4>>2]=h[k+4>>2];h[l+8>>2]=h[k+8>>2];h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;th(k);M=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);h[o>>2]=M;v=S;return}function gu(e,i,r,t,n,f,a,l,s,o,u,d,b,k,w){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;d=d|0;b=b|0;k=k|0;w=w|0;var _=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0;h[r>>2]=e;I=k+4|0;B=k+8|0;P=b+4|0;O=(t&512|0)==0;R=b+8|0;L=(w|0)>0;C=d+4|0;D=d+8|0;x=d+1|0;T=(w|0)>0;M=0;do{switch(c[s+M>>0]|0){case 0:{h[i>>2]=h[r>>2];break}case 1:{h[i>>2]=h[r>>2];E=ME[h[(h[a>>2]|0)+44>>2]&63](a,32)|0;A=h[r>>2]|0;h[r>>2]=A+4;h[A>>2]=E;break}case 3:{A=c[k>>0]|0;_=(A&1)==0;if((_?(A&255)>>>1:h[I>>2]|0)|0){E=h[(_?I:h[B>>2]|0)>>2]|0;A=h[r>>2]|0;h[r>>2]=A+4;h[A>>2]=E}break}case 2:{g=c[b>>0]|0;_=(g&1)==0;g=_?(g&255)>>>1:h[P>>2]|0;if(!(O|(g|0)==0)){_=_?P:h[R>>2]|0;p=_+(g<<2)|0;v=h[r>>2]|0;if(g){m=v;while(1){h[m>>2]=h[_>>2];_=_+4|0;if((_|0)==(p|0))break;else m=m+4|0}}h[r>>2]=v+(g<<2)}break}case 4:{_=h[r>>2]|0;n=l?n+4|0:n;e:do{if(n>>>0>>0){m=n;do{if(!(vE[h[(h[a>>2]|0)+12>>2]&63](a,2048,h[m>>2]|0)|0))break e;m=m+4|0}while(m>>>0>>0)}else m=n}while(0);if(L){if(m>>>0>n>>>0&T){g=h[r>>2]|0;v=w;while(1){m=m+-4|0;p=g+4|0;h[g>>2]=h[m>>2];y=v+-1|0;v=(v|0)>1;if(m>>>0>n>>>0&v){g=p;v=y}else{g=y;break}}h[r>>2]=p;p=g}else{v=T;p=w}if(v)y=ME[h[(h[a>>2]|0)+44>>2]&63](a,48)|0;else y=0;E=h[r>>2]|0;v=p+((p|0)<0?~p:-1)|0;if((p|0)>0){g=E;while(1){h[g>>2]=y;if((p|0)>1){g=g+4|0;p=p+-1|0}else break}}h[r>>2]=E+(v+2<<2);h[E+(v+1<<2)>>2]=o}if((m|0)==(n|0)){E=ME[h[(h[a>>2]|0)+44>>2]&63](a,48)|0;A=h[r>>2]|0;m=A+4|0;h[r>>2]=m;h[A>>2]=E}else{E=c[d>>0]|0;p=(E&1)==0;A=h[C>>2]|0;if(!((p?(E&255)>>>1:A)|0))p=-1;else p=c[(p?x:h[D>>2]|0)>>0]|0;if((m|0)!=(n|0)){y=0;E=0;while(1){v=h[r>>2]|0;if((E|0)==(p|0)){g=v+4|0;h[r>>2]=g;h[v>>2]=u;y=y+1|0;v=c[d>>0]|0;p=(v&1)==0;if(y>>>0<(p?(v&255)>>>1:A)>>>0){p=c[(p?x:h[D>>2]|0)+y>>0]|0;v=g;p=p<<24>>24==127?-1:p<<24>>24;g=0}else{v=g;p=E;g=0}}else g=E;m=m+-4|0;E=h[m>>2]|0;h[r>>2]=v+4;h[v>>2]=E;if((m|0)==(n|0))break;else E=g+1|0}}m=h[r>>2]|0}if((_|0)!=(m|0)?(S=m+-4|0,_>>>0>>0):0){m=S;do{A=h[_>>2]|0;h[_>>2]=h[m>>2];h[m>>2]=A;_=_+4|0;m=m+-4|0}while(_>>>0>>0)}break}default:{}}M=M+1|0}while((M|0)!=4);_=c[k>>0]|0;n=(_&1)==0;_=n?(_&255)>>>1:h[I>>2]|0;if(_>>>0>1){m=n?I:h[B>>2]|0;n=m+4|0;m=m+(_<<2)|0;p=h[r>>2]|0;v=m-n|0;if((_|0)!=1){_=p;while(1){h[_>>2]=h[n>>2];n=n+4|0;if((n|0)==(m|0))break;else _=_+4|0}}h[r>>2]=p+(v>>>2<<2)}switch(t&176|0){case 32:{h[i>>2]=h[r>>2];break}case 16:break;default:h[i>>2]=e}return}function yu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;A=v;v=v+480|0;b=A+468|0;S=A+464|0;y=A+472|0;m=A+56|0;E=A+52|0;P=A+40|0;R=A+28|0;O=A+16|0;o=A+12|0;d=A+64|0;g=A+8|0;p=A+4|0;k=A;e=_h(t)|0;h[S>>2]=e;T=0;w=Oe(37,S|0,44212)|0;_=T;T=0;do{if(_&1)L=13;else{u=c[f>>0]|0;a=(u&1)==0;_=f+4|0;if(!((a?(u&255)>>>1:h[_>>2]|0)|0))u=0;else{a=h[(a?_:h[f+8>>2]|0)>>2]|0;T=0;l=Oe(h[(h[w>>2]|0)+44>>2]|0,w|0,45)|0;u=T;T=0;if(u&1){L=13;break}u=(a|0)==(l|0)}h[P>>2]=0;h[P+4>>2]=0;h[P+8>>2]=0;h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;h[O>>2]=0;h[O+4>>2]=0;h[O+8>>2]=0;T=0;Pe(4,r|0,u|0,S|0,y|0,m|0,E|0,P|0,R|0,O|0,o|0);s=T;T=0;if(!(s&1)){s=c[f>>0]|0;r=h[_>>2]|0;a=(s&1)==0?(s&255)>>>1:r;o=h[o>>2]|0;if((a|0)>(o|0)){C=c[O>>0]|0;l=c[R>>0]|0;a=(a-o<<1|1)+o+((C&1)==0?(C&255)>>>1:h[O+4>>2]|0)+((l&1)==0?(l&255)>>>1:h[R+4>>2]|0)|0}else{C=c[O>>0]|0;a=c[R>>0]|0;a=o+2+((C&1)==0?(C&255)>>>1:h[O+4>>2]|0)+((a&1)==0?(a&255)>>>1:h[R+4>>2]|0)|0}if(a>>>0>100){a=jc(a<<2)|0;l=a;if(!a){T=0;Ie(6);C=T;T=0;if(!(C&1)){s=c[f>>0]|0;r=h[_>>2]|0;a=0;L=17}}else L=17}else{l=0;a=d;L=17}if((L|0)==17){C=(s&1)==0;f=C?_:h[f+8>>2]|0;T=0;Me(2,a|0,g|0,p|0,h[t+4>>2]|0,f|0,f+((C?(s&255)>>>1:r)<<2)|0,w|0,u|0,y|0,h[m>>2]|0,h[E>>2]|0,P|0,R|0,O|0,o|0);C=T;T=0;if(!(C&1)?(h[k>>2]=h[i>>2],C=h[g>>2]|0,M=h[p>>2]|0,T=0,h[b>>2]=h[k>>2],M=ge(40,b|0,a|0,C|0,M|0,t|0,n|0)|0,C=T,T=0,!(C&1)):0){if(l){Hc(l);e=h[S>>2]|0}th(O);th(R);qd(P);Ad(e)|0;v=A;return M|0}}a=Ze()|0;if(l){Hc(l);e=h[S>>2]|0}}else a=Ze()|0;th(O);th(R);qd(P)}}while(0);if((L|0)==13)a=Ze()|0;Ad(e)|0;si(a|0);return 0}function Eu(e){e=e|0;return}function Au(e){e=e|0;zv(e);return}function Mu(e,i,r){e=e|0;i=i|0;r=r|0;e=ey((c[i>>0]&1)==0?i+1|0:h[i+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function Tu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0;l=v;v=v+16|0;s=l;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;a=c[f>>0]|0;o=(a&1)==0;i=o?f+1|0:h[f+8>>2]|0;a=o?(a&255)>>>1:h[f+4>>2]|0;f=i+a|0;e:do{if((a|0)>0){while(1){T=0;ve(67,s|0,c[i>>0]|0);o=T;T=0;if(o&1)break;i=i+1|0;if(i>>>0>=f>>>0){a=4;break e}}i=Ze()|0;a=7}else a=4}while(0);e:do{if((a|0)==4){T=0;i=De(19,((r|0)==-1?-1:r<<1)|0,t|0,n|0,((c[s>>0]&1)==0?s+1|0:h[s+8>>2]|0)|0)|0;o=T;T=0;if(o&1){i=Ze()|0;a=7;break}h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;o=rE(i)|0;f=i+o|0;i:do{if((o|0)>0){while(1){T=0;ve(67,e|0,c[i>>0]|0);o=T;T=0;if(o&1)break;i=i+1|0;if(i>>>0>=f>>>0)break i}i=Ze()|0;qd(e);break e}}while(0);qd(s);v=l;return}}while(0);qd(s);si(i|0)}function Su(e,i){e=e|0;i=i|0;return}function Pu(e){e=e|0;return}function Ou(e){e=e|0;zv(e);return}function Ru(e,i,r){e=e|0;i=i|0;r=r|0;e=ey((c[i>>0]&1)==0?i+1|0:h[i+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function Lu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;g=v;v=v+224|0;d=g+184|0;u=g+192|0;o=g+180|0;b=g+176|0;m=g+168|0;_=g+40|0;w=g+32|0;p=g+28|0;y=g+16|0;s=g+8|0;k=g;h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;h[s+4>>2]=0;h[s>>2]=44696;l=c[f>>0]|0;E=(l&1)==0;a=f+4|0;i=E?a:h[f+8>>2]|0;f=E?(l&255)>>>1:h[a>>2]|0;a=i+(f<<2)|0;l=u+32|0;e:do{if((f|0)>0){i:while(1){h[b>>2]=i;T=0;f=Be(h[(h[s>>2]|0)+12>>2]|0,s|0,d|0,i|0,a|0,b|0,u|0,l|0,o|0)|0;E=T;T=0;if(E&1){f=12;break}if((f|0)==2?1:(h[b>>2]|0)==(i|0)){f=5;break}if(u>>>0<(h[o>>2]|0)>>>0){i=u;do{T=0;ve(67,y|0,c[i>>0]|0);E=T;T=0;if(E&1){f=11;break i}i=i+1|0}while(i>>>0<(h[o>>2]|0)>>>0)}i=h[b>>2]|0;if(!((f|0)!=2&i>>>0>>0)){f=9;break e}}if((f|0)==5){T=0;pe(190,58955);T=0;i=Ze()|0}else if((f|0)==11)i=Ze()|0;else if((f|0)==12)i=Ze()|0}else f=9}while(0);e:do{if((f|0)==9){T=0;i=De(19,((r|0)==-1?-1:r<<1)|0,t|0,n|0,((c[y>>0]&1)==0?y+1|0:h[y+8>>2]|0)|0)|0;E=T;T=0;if(E&1){i=Ze()|0;break}h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[k+4>>2]=0;h[k>>2]=44744;E=rE(i)|0;a=i+E|0;l=a;s=_+128|0;i:do{if((E|0)>0){r:while(1){h[p>>2]=i;T=0;f=Be(h[(h[k>>2]|0)+16>>2]|0,k|0,m|0,i|0,((l-i|0)>32?i+32|0:a)|0,p|0,_|0,s|0,w|0)|0;E=T;T=0;if(E&1){f=24;break}if((f|0)==2?1:(h[p>>2]|0)==(i|0)){f=18;break}if(_>>>0<(h[w>>2]|0)>>>0){i=_;do{T=0;ve(92,e|0,h[i>>2]|0);E=T;T=0;if(E&1){f=23;break r}i=i+4|0}while(i>>>0<(h[w>>2]|0)>>>0)}i=h[p>>2]|0;if(!((f|0)!=2&i>>>0>>0))break i}if((f|0)==18){T=0;pe(190,58955);T=0;i=Ze()|0}else if((f|0)==23)i=Ze()|0;else if((f|0)==24)i=Ze()|0;th(e);break e}}while(0);qd(y);v=g;return}}while(0);qd(y);si(i|0)}function Cu(e,i){e=e|0;i=i|0;return}function Du(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;h[e+4>>2]=i+-1;h[e>>2]=44196;f=e+8|0;T=0;ve(94,f|0,28);n=T;T=0;if(n&1)i=Ze()|0;else{n=e+144|0;T=0;xe(5,n|0,58885,1);t=T;T=0;if(t&1)i=Ze()|0;else{r=h[f>>2]|0;t=e+12|0;i=h[t>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));h[t>>2]=i}h[495]=0;h[494]=43124;T=0;ve(95,e|0,1976);t=T;T=0;do{if(((((((((((((!(t&1)?(h[497]=0,h[496]=43164,T=0,ve(96,e|0,1984),t=T,T=0,!(t&1)):0)?(h[499]=0,h[498]=44236,h[500]=0,c[2004]=0,t=Qu()|0,h[500]=t,T=0,ve(97,e|0,1992),t=T,T=0,!(t&1)):0)?(h[503]=0,h[502]=44484,T=0,ve(98,e|0,2008),t=T,T=0,!(t&1)):0)?(h[505]=0,h[504]=44552,T=0,ve(99,e|0,2016),t=T,T=0,!(t&1)):0)?(T=0,ve(100,2024,1),t=T,T=0,!(t&1)):0)?(T=0,ve(101,e|0,2024),t=T,T=0,!(t&1)):0)?(h[511]=0,h[510]=44600,T=0,ve(102,e|0,2040),t=T,T=0,!(t&1)):0)?(h[513]=0,h[512]=44648,T=0,ve(103,e|0,2048),t=T,T=0,!(t&1)):0)?(kw(2056,1),T=0,ve(104,e|0,2056),t=T,T=0,!(t&1)):0)?(ww(2080,1),T=0,ve(105,e|0,2080),t=T,T=0,!(t&1)):0)?(h[529]=0,h[528]=43204,T=0,ve(106,e|0,2112),t=T,T=0,!(t&1)):0)?(h[531]=0,h[530]=43276,T=0,ve(107,e|0,2120),t=T,T=0,!(t&1)):0)?(h[533]=0,h[532]=43348,T=0,ve(108,e|0,2128),t=T,T=0,!(t&1)):0){h[535]=0;h[534]=43408;T=0;ve(109,e|0,2136);t=T;T=0;if(t&1){a=42;break}h[537]=0;h[536]=43716;T=0;ve(110,e|0,2144);t=T;T=0;if(t&1){a=42;break}h[539]=0;h[538]=43780;T=0;ve(111,e|0,2152);t=T;T=0;if(t&1){a=42;break}h[541]=0;h[540]=43844;T=0;ve(112,e|0,2160);t=T;T=0;if(t&1){a=42;break}h[543]=0;h[542]=43908;T=0;ve(113,e|0,2168);t=T;T=0;if(t&1){a=42;break}h[545]=0;h[544]=43972;T=0;ve(114,e|0,2176);t=T;T=0;if(t&1){a=42;break}h[547]=0;h[546]=44008;T=0;ve(115,e|0,2184);t=T;T=0;if(t&1){a=42;break}h[549]=0;h[548]=44044;T=0;ve(116,e|0,2192);t=T;T=0;if(t&1){a=42;break}h[551]=0;h[550]=44080;T=0;ve(117,e|0,2200);t=T;T=0;if(t&1){a=42;break}h[553]=0;h[552]=43468;h[554]=43516;T=0;ve(118,e|0,2208);t=T;T=0;if(t&1){a=42;break}h[557]=0;h[556]=43560;h[558]=43608;T=0;ve(119,e|0,2224);t=T;T=0;if(t&1){a=42;break}h[561]=0;h[560]=44464;T=0;i=Ce(3)|0;t=T;T=0;if(t&1){i=Ze()|0;break}h[562]=i;h[560]=43652;T=0;ve(120,e|0,2240);t=T;T=0;if(t&1){a=42;break}h[565]=0;h[564]=44464;T=0;i=Ce(3)|0;t=T;T=0;if(t&1){i=Ze()|0;break}h[566]=i;h[564]=43684;T=0;ve(121,e|0,2256);a=T;T=0;if(a&1){a=42;break}h[569]=0;h[568]=44116;T=0;ve(122,e|0,2272);a=T;T=0;if(a&1){a=42;break}h[571]=0;h[570]=44156;T=0;ve(123,e|0,2280);a=T;T=0;if(a&1){a=42;break}return}else a=42}while(0);if((a|0)==42)i=Ze()|0;qd(n)}$_(f)}si(i|0)}function xu(){var e=0;do{if((c[2288]|0)==0?(ze(2288)|0)!=0:0){T=0;Ce(4)|0;e=T;T=0;if(e&1){e=Ze()|0;Ri(2288);si(e|0)}else{h[11246]=44980;$e(2288);break}}}while(0);return h[11246]|0}function Iu(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;Ed(i);n=e+8|0;t=h[n>>2]|0;do{if((h[e+12>>2]|0)-t>>2>>>0<=r>>>0){T=0;ve(124,n|0,r+1|0);e=T;T=0;if(!(e&1)){t=h[n>>2]|0;break}t=Ze()|0;if(i)Ad(i)|0;si(t|0)}}while(0);e=h[t+(r<<2)>>2]|0;if(e){Ad(e)|0;t=h[n>>2]|0}h[t+(r<<2)>>2]=i;return}function Bu(e){e=e|0;var i=0,r=0,t=0,n=0;h[e>>2]=44196;t=e+8|0;n=e+12|0;i=h[t>>2]|0;if((h[n>>2]|0)!=(i|0)){r=0;do{i=h[i+(r<<2)>>2]|0;if(i)Ad(i)|0;r=r+1|0;i=h[t>>2]|0}while(r>>>0<(h[n>>2]|0)-i>>2>>>0)}qd(e+144|0);$_(t);return}function Nu(e){e=e|0;Bu(e);zv(e);return}function Fu(e,i){e=e|0;i=i|0;if(im(e,i)|0)return h[(h[e+8>>2]|0)+(i<<2)>>2]|0;else{e=Je(4)|0;fg(e);Ei(e|0,640,82)}return 0}function Uu(){Du(2296,1);h[11245]=2296;return 44980}function ju(){var e=0;e=xu()|0;e=h[e>>2]|0;h[11247]=e;Ed(e);return 44988}function Hu(){var e=0;do{if((c[2456]|0)==0?(ze(2456)|0)!=0:0){T=0;Ce(5)|0;e=T;T=0;if(e&1){e=Ze()|0;Ri(2456);si(e|0)}else{h[11248]=44988;$e(2456);break}}}while(0);return h[11248]|0}function Yu(e){e=e|0;var i=0,r=0;T=0;i=Ce(6)|0;r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}else{r=h[i>>2]|0;h[e>>2]=r;Ed(r);return}}function qu(e,i){e=e|0;i=i|0;i=h[i>>2]|0;h[e>>2]=i;Ed(i);return}function Xu(e){e=e|0;Ad(h[e>>2]|0)|0;return}function zu(e){e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;if((h[e>>2]|0)!=-1){h[i>>2]=e;h[i+4>>2]=191;h[i+8>>2]=0;Ud(e,i,192)}v=r;return(h[e+4>>2]|0)+-1|0}function Vu(e,i){e=e|0;i=i|0;e=h[e>>2]|0;return Fu(e,zu(i)|0)|0}function Gu(e){e=e|0;zv(e);return}function Ku(e){e=e|0;if(e)kE[h[(h[e>>2]|0)+4>>2]&255](e);return}function Wu(e){e=e|0;var i=0;i=h[11052]|0;h[11052]=i+1;h[e+4>>2]=i+1;return}function Ju(e){e=e|0;zv(e);return}function Zu(e,i,r){e=e|0;i=i|0;r=r|0;if(r>>>0<128){r=(Qu()|0)+(r<<1)|0;r=(d[r>>1]&i)<<16>>16!=0}else r=0;return r|0}function Qu(){var e=0,i=0;T=0;e=Ce(7)|0;i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else return h[e>>2]|0;return 0}function $u(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=(r-i|0)>>>2;if((i|0)!=(r|0)){n=i;while(1){e=h[n>>2]|0;if(e>>>0<128){e=(Qu()|0)+(e<<1)|0;e=k[e>>1]|0}else e=0;d[t>>1]=e;n=n+4|0;if((n|0)==(r|0))break;else t=t+2|0}}return i+(f<<2)|0}function ec(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e:do{if((r|0)==(t|0))r=t;else while(1){e=h[r>>2]|0;if(e>>>0<128?(e=(Qu()|0)+(e<<1)|0,(d[e>>1]&i)<<16>>16!=0):0)break e;r=r+4|0;if((r|0)==(t|0)){r=t;break}}}while(0);return r|0}function ic(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e:do{if((r|0)==(t|0))r=t;else while(1){e=h[r>>2]|0;if(e>>>0>=128)break e;e=(Qu()|0)+(e<<1)|0;if(!((d[e>>1]&i)<<16>>16))break e;r=r+4|0;if((r|0)==(t|0)){r=t;break}}}while(0);return r|0}function rc(e,i){e=e|0;i=i|0;if(i>>>0<128){i=(tc()|0)+(i<<2)|0;i=h[i>>2]|0}return i|0}function tc(){var e=0,i=0;T=0;e=Ce(8)|0;i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else return h[e>>2]|0;return 0}function nc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=(r-i|0)>>>2;if((i|0)!=(r|0)){t=i;do{e=h[t>>2]|0;if(e>>>0<128){e=(tc()|0)+(e<<2)|0;e=h[e>>2]|0}h[t>>2]=e;t=t+4|0}while((t|0)!=(r|0))}return i+(n<<2)|0}function fc(e,i){e=e|0;i=i|0;if(i>>>0<128){i=(ac()|0)+(i<<2)|0;i=h[i>>2]|0}return i|0}function ac(){var e=0,i=0;T=0;e=Ce(9)|0;i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else return h[e>>2]|0;return 0}function lc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=(r-i|0)>>>2;if((i|0)!=(r|0)){t=i;do{e=h[t>>2]|0;if(e>>>0<128){e=(ac()|0)+(e<<2)|0;e=h[e>>2]|0}h[t>>2]=e;t=t+4|0}while((t|0)!=(r|0))}return i+(n<<2)|0}function sc(e,i){e=e|0;i=i|0;return i<<24>>24|0}function oc(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((i|0)!=(r|0))while(1){h[t>>2]=c[i>>0];i=i+1|0;if((i|0)==(r|0))break;else t=t+4|0}return r|0}function uc(e,i,r){e=e|0;i=i|0;r=r|0;return(i>>>0<128?i&255:r)|0}function cc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=(r-i|0)>>>2;if((i|0)!=(r|0)){f=i;e=n;while(1){n=h[f>>2]|0;c[e>>0]=n>>>0<128?n&255:t;f=f+4|0;if((f|0)==(r|0))break;else e=e+1|0}}return i+(a<<2)|0}function dc(e){e=e|0;var i=0;h[e>>2]=44236;i=h[e+8>>2]|0;if((i|0)!=0?(c[e+12>>0]|0)!=0:0)Vv(i);return}function hc(e){e=e|0;dc(e);zv(e);return}function bc(e,i){e=e|0;i=i|0;if(i<<24>>24>-1){i=(tc()|0)+((i&255)<<2)|0;i=h[i>>2]&255}return i|0}function kc(e,i,r){e=e|0;i=i|0;r=r|0;if((i|0)!=(r|0)){e=i;do{i=c[e>>0]|0;if(i<<24>>24>-1){i=(tc()|0)+(i<<24>>24<<2)|0;i=h[i>>2]&255}c[e>>0]=i;e=e+1|0}while((e|0)!=(r|0))}return r|0}function wc(e,i){e=e|0;i=i|0;if(i<<24>>24>-1){i=(ac()|0)+(i<<24>>24<<2)|0;i=h[i>>2]&255}return i|0}function _c(e,i,r){e=e|0;i=i|0;r=r|0;if((i|0)!=(r|0)){e=i;do{i=c[e>>0]|0;if(i<<24>>24>-1){i=(ac()|0)+(i<<24>>24<<2)|0;i=h[i>>2]&255}c[e>>0]=i;e=e+1|0}while((e|0)!=(r|0))}return r|0}function mc(e,i){e=e|0;i=i|0;return i|0}function pc(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((i|0)!=(r|0))while(1){c[t>>0]=c[i>>0]|0;i=i+1|0;if((i|0)==(r|0))break;else t=t+1|0}return r|0}function vc(e,i,r){e=e|0;i=i|0;r=r|0;return(i<<24>>24>-1?i:r)|0}function gc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;if((i|0)!=(r|0))while(1){e=c[i>>0]|0;c[n>>0]=e<<24>>24>-1?e:t;i=i+1|0;if((i|0)==(r|0))break;else n=n+1|0}return r|0}function yc(e){e=e|0;zv(e);return}function Ec(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;h[n>>2]=r;h[l>>2]=f;return 3}function Ac(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;h[n>>2]=r;h[l>>2]=f;return 3}function Mc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;h[n>>2]=r;return 3}function Tc(e){e=e|0;return 1}function Sc(e){e=e|0;return 1}function Pc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;e=t-r|0;return(e>>>0>>0?e:n)|0}function Oc(e){e=e|0;return 1}function Rc(e,i){e=e|0;i=i|0;var r=0;h[e+4>>2]=i+-1;h[e>>2]=44304;T=0;i=Ce(3)|0;r=T;T=0;if(r&1){r=Ze()|0;si(r|0)}else{h[e+8>>2]=i;return}}function Lc(e){e=e|0;Vw(e);zv(e);return}function Cc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0.0,u=0,k=0,w=0,_=0,p=0.0,g=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0;ae=v;v=v+624|0;ie=ae+24|0;te=ae+16|0;re=ae+588|0;J=ae+576|0;ee=ae;G=ae+536|0;fe=ae+8|0;ne=ae+528|0;N=(e|0)!=0;F=G+40|0;V=F;G=G+39|0;K=fe+4|0;W=J+12|0;J=J+11|0;Z=re;Q=W;$=Q-Z|0;U=-2-Z|0;j=Q+2|0;Y=ie+288|0;q=re+9|0;X=q;z=re+8|0;f=0;g=i;a=0;i=0;e:while(1){do{if((f|0)>-1)if((a|0)>(2147483647-f|0)){f=zg()|0;h[f>>2]=75;f=-1;break}else{f=a+f|0;break}}while(0);a=c[g>>0]|0;if(!(a<<24>>24)){B=245;break}else l=g;i:while(1){switch(a<<24>>24){case 37:{a=l;B=9;break i}case 0:{a=l;break i}default:{}}I=l+1|0;a=c[I>>0]|0;l=I}i:do{if((B|0)==9)while(1){B=0;if((c[a+1>>0]|0)!=37)break i;l=l+1|0;a=a+2|0;if((c[a>>0]|0)==37)B=9;else break}}while(0);A=l-g|0;if(N?(h[e>>2]&32|0)==0:0)Fy(g,A,e)|0;if((l|0)!=(g|0)){g=a;a=A;continue}u=a+1|0;l=c[u>>0]|0;s=(l<<24>>24)+-48|0;if(s>>>0<10){I=(c[a+2>>0]|0)==36;u=I?a+3|0:u;l=c[u>>0]|0;_=I?s:-1;i=I?1:i}else _=-1;a=l<<24>>24;i:do{if((a&-32|0)==32){s=0;while(1){if(!(1<>24)+-32|s;u=u+1|0;l=c[u>>0]|0;a=l<<24>>24;if((a&-32|0)!=32){k=s;a=u;break}}}else{k=0;a=u}}while(0);do{if(l<<24>>24==42){s=a+1|0;l=(c[s>>0]|0)+-48|0;if(l>>>0<10?(c[a+2>>0]|0)==36:0){h[n+(l<<2)>>2]=10;i=1;a=a+3|0;l=h[t+((c[s>>0]|0)+-48<<3)>>2]|0}else{if(i){f=-1;break e}if(!N){E=k;a=s;i=0;I=0;break}i=(h[r>>2]|0)+(4-1)&~(4-1);l=h[i>>2]|0;h[r>>2]=i+4;i=0;a=s}if((l|0)<0){E=k|8192;I=0-l|0}else{E=k;I=l}}else{s=(l<<24>>24)+-48|0;if(s>>>0<10){l=0;do{l=(l*10|0)+s|0;a=a+1|0;s=(c[a>>0]|0)+-48|0}while(s>>>0<10);if((l|0)<0){f=-1;break e}else{E=k;I=l}}else{E=k;I=0}}}while(0);i:do{if((c[a>>0]|0)==46){s=a+1|0;l=c[s>>0]|0;if(l<<24>>24!=42){u=(l<<24>>24)+-48|0;if(u>>>0<10){a=s;l=0}else{a=s;u=0;break}while(1){l=(l*10|0)+u|0;a=a+1|0;u=(c[a>>0]|0)+-48|0;if(u>>>0>=10){u=l;break i}}}s=a+2|0;l=(c[s>>0]|0)+-48|0;if(l>>>0<10?(c[a+3>>0]|0)==36:0){h[n+(l<<2)>>2]=10;a=a+4|0;u=h[t+((c[s>>0]|0)+-48<<3)>>2]|0;break}if(i){f=-1;break e}if(N){a=(h[r>>2]|0)+(4-1)&~(4-1);u=h[a>>2]|0;h[r>>2]=a+4;a=s}else{a=s;u=0}}else u=-1}while(0);w=0;while(1){l=(c[a>>0]|0)+-65|0;if(l>>>0>57){f=-1;break e}s=a+1|0;l=c[56223+(w*58|0)+l>>0]|0;k=l&255;if((k+-1|0)>>>0<8){a=s;w=k}else{x=s;break}}if(!(l<<24>>24)){f=-1;break}s=(_|0)>-1;do{if(l<<24>>24==19)if(s){f=-1;break e}else B=52;else{if(s){h[n+(_<<2)>>2]=k;C=t+(_<<3)|0;D=h[C+4>>2]|0;B=ee;h[B>>2]=h[C>>2];h[B+4>>2]=D;B=52;break}if(!N){f=0;break e}Nc(ee,k,r)}}while(0);if((B|0)==52?(B=0,!N):0){g=x;a=A;continue}_=c[a>>0]|0;_=(w|0)!=0&(_&15|0)==3?_&-33:_;s=E&-65537;D=(E&8192|0)==0?E:s;i:do{switch(_|0){case 110:switch(w|0){case 0:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 1:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 2:{g=h[ee>>2]|0;h[g>>2]=f;h[g+4>>2]=((f|0)<0)<<31>>31;g=x;a=A;continue e}case 3:{d[h[ee>>2]>>1]=f;g=x;a=A;continue e}case 4:{c[h[ee>>2]>>0]=f;g=x;a=A;continue e}case 6:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 7:{g=h[ee>>2]|0;h[g>>2]=f;h[g+4>>2]=((f|0)<0)<<31>>31;g=x;a=A;continue e}default:{g=x;a=A;continue e}}case 112:{w=D|8;u=u>>>0>8?u:8;_=120;B=64;break}case 88:case 120:{w=D;B=64;break}case 111:{s=ee;l=h[s>>2]|0;s=h[s+4>>2]|0;if((l|0)==0&(s|0)==0)a=F;else{a=F;do{a=a+-1|0;c[a>>0]=l&7|48;l=xm(l|0,s|0,3)|0;s=H}while(!((l|0)==0&(s|0)==0))}if(!(D&8)){l=D;w=0;k=56703;B=77}else{w=V-a+1|0;l=D;u=(u|0)<(w|0)?w:u;w=0;k=56703;B=77}break}case 105:case 100:{l=ee;a=h[l>>2]|0;l=h[l+4>>2]|0;if((l|0)<0){a=Lm(0,0,a|0,l|0)|0;l=H;s=ee;h[s>>2]=a;h[s+4>>2]=l;s=1;k=56703;B=76;break i}if(!(D&2048)){k=D&1;s=k;k=(k|0)==0?56703:56705;B=76}else{s=1;k=56704;B=76}break}case 117:{l=ee;a=h[l>>2]|0;l=h[l+4>>2]|0;s=0;k=56703;B=76;break}case 99:{c[G>>0]=h[ee>>2];g=G;l=1;w=0;_=56703;a=F;break}case 109:{a=zg()|0;a=Vg(h[a>>2]|0)|0;B=82;break}case 115:{a=h[ee>>2]|0;a=(a|0)!=0?a:56713;B=82;break}case 67:{h[fe>>2]=h[ee>>2];h[K>>2]=0;h[ee>>2]=fe;u=-1;B=86;break}case 83:{if(!u){Uc(e,32,I,0,D);a=0;B=98}else B=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=+m[ee>>3];h[te>>2]=0;m[y>>3]=o;if((h[y+4>>2]|0)>=0)if(!(D&2048)){C=D&1;L=C;C=(C|0)==0?56721:56726}else{L=1;C=56723}else{o=-o;L=1;C=56720}m[y>>3]=o;R=h[y+4>>2]&2146435072;do{if(R>>>0<2146435072|(R|0)==2146435072&0<0){p=+cy(o,te)*2.0;l=p!=0.0;if(l)h[te>>2]=(h[te>>2]|0)+-1;P=_|32;if((P|0)==97){g=_&32;A=(g|0)==0?C:C+9|0;E=L|2;a=12-u|0;do{if(!(u>>>0>11|(a|0)==0)){o=8.0;do{a=a+-1|0;o=o*16.0}while((a|0)!=0);if((c[A>>0]|0)==45){o=-(o+(-p-o));break}else{o=p+o-o;break}}else o=p}while(0);l=h[te>>2]|0;a=(l|0)<0?0-l|0:l;a=Fc(a,((a|0)<0)<<31>>31,W)|0;if((a|0)==(W|0)){c[J>>0]=48;a=J}c[a+-1>>0]=(l>>31&2)+43;w=a+-2|0;c[w>>0]=_+15;k=(u|0)<1;s=(D&8|0)==0;l=re;while(1){C=~~o;a=l+1|0;c[l>>0]=b[56687+C>>0]|g;o=(o-+(C|0))*16.0;do{if((a-Z|0)==1){if(s&(k&o==0.0))break;c[a>>0]=46;a=l+2|0}}while(0);if(!(o!=0.0))break;else l=a}u=(u|0)!=0&(U+a|0)<(u|0)?j+u-w|0:$-w+a|0;s=u+E|0;Uc(e,32,I,s,D);if(!(h[e>>2]&32))Fy(A,E,e)|0;Uc(e,48,I,s,D^65536);a=a-Z|0;if(!(h[e>>2]&32))Fy(re,a,e)|0;l=Q-w|0;Uc(e,48,u-(a+l)|0,0,0);if(!(h[e>>2]&32))Fy(w,l,e)|0;Uc(e,32,I,s,D^8192);a=(s|0)<(I|0)?I:s;break}a=(u|0)<0?6:u;if(l){l=(h[te>>2]|0)+-28|0;h[te>>2]=l;o=p*268435456.0}else{o=p;l=h[te>>2]|0}R=(l|0)<0?ie:Y;O=R;l=R;do{S=~~o>>>0;h[l>>2]=S;l=l+4|0;o=(o-+(S>>>0))*1.0e9}while(o!=0.0);s=l;l=h[te>>2]|0;if((l|0)>0){k=R;while(1){w=(l|0)>29?29:l;u=s+-4|0;do{if(u>>>0>>0)u=k;else{l=0;do{S=Bm(h[u>>2]|0,0,w|0)|0;S=Dm(S|0,H|0,l|0,0)|0;l=H;T=zm(S|0,l|0,1e9,0)|0;h[u>>2]=T;l=Xm(S|0,l|0,1e9,0)|0;u=u+-4|0}while(u>>>0>=k>>>0);if(!l){u=k;break}u=k+-4|0;h[u>>2]=l}}while(0);while(1){if(s>>>0<=u>>>0)break;l=s+-4|0;if(!(h[l>>2]|0))s=l;else break}l=(h[te>>2]|0)-w|0;h[te>>2]=l;if((l|0)>0)k=u;else break}}else u=R;if((l|0)<0){A=((a+25|0)/9|0)+1|0;M=(P|0)==102;g=u;while(1){E=0-l|0;E=(E|0)>9?9:E;do{if(g>>>0>>0){l=(1<>>E;u=0;w=g;do{S=h[w>>2]|0;h[w>>2]=(S>>>E)+u;u=ce(S&l,k)|0;w=w+4|0}while(w>>>0>>0);l=(h[g>>2]|0)==0?g+4|0:g;if(!u){u=l;break}h[s>>2]=u;u=l;s=s+4|0}else u=(h[g>>2]|0)==0?g+4|0:g}while(0);l=M?R:u;s=(s-l>>2|0)>(A|0)?l+(A<<2)|0:s;l=(h[te>>2]|0)+E|0;h[te>>2]=l;if((l|0)>=0){g=u;break}else g=u}}else g=u;do{if(g>>>0>>0){l=(O-g>>2)*9|0;k=h[g>>2]|0;if(k>>>0<10)break;else u=10;do{u=u*10|0;l=l+1|0}while(k>>>0>=u>>>0)}else l=0}while(0);T=(P|0)==103;S=(a|0)!=0;u=a-((P|0)!=102?l:0)+((S&T)<<31>>31)|0;if((u|0)<(((s-O>>2)*9|0)+-9|0)){w=u+9216|0;M=(w|0)/9|0;u=R+(M+-1023<<2)|0;w=((w|0)%9|0)+1|0;if((w|0)<9){k=10;do{k=k*10|0;w=w+1|0}while((w|0)!=9)}else k=10;E=h[u>>2]|0;A=(E>>>0)%(k>>>0)|0;if((A|0)==0?(R+(M+-1022<<2)|0)==(s|0):0)k=g;else B=163;do{if((B|0)==163){B=0;p=(((E>>>0)/(k>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;w=(k|0)/2|0;do{if(A>>>0>>0)o=.5;else{if((A|0)==(w|0)?(R+(M+-1022<<2)|0)==(s|0):0){o=1.0;break}o=1.5}}while(0);do{if(L){if((c[C>>0]|0)!=45)break;p=-p;o=-o}}while(0);w=E-A|0;h[u>>2]=w;if(!(p+o!=p)){k=g;break}P=w+k|0;h[u>>2]=P;if(P>>>0>999999999){l=g;while(1){k=u+-4|0;h[u>>2]=0;if(k>>>0>>0){l=l+-4|0;h[l>>2]=0}P=(h[k>>2]|0)+1|0;h[k>>2]=P;if(P>>>0>999999999)u=k;else{g=l;u=k;break}}}l=(O-g>>2)*9|0;w=h[g>>2]|0;if(w>>>0<10){k=g;break}else k=10;do{k=k*10|0;l=l+1|0}while(w>>>0>=k>>>0);k=g}}while(0);P=u+4|0;g=k;s=s>>>0>P>>>0?P:s}A=0-l|0;while(1){if(s>>>0<=g>>>0){M=0;P=s;break}u=s+-4|0;if(!(h[u>>2]|0))s=u;else{M=1;P=s;break}}do{if(T){a=(S&1^1)+a|0;if((a|0)>(l|0)&(l|0)>-5){_=_+-1|0;a=a+-1-l|0}else{_=_+-2|0;a=a+-1|0}s=D&8;if(s)break;do{if(M){s=h[P+-4>>2]|0;if(!s){u=9;break}if(!((s>>>0)%10|0)){k=10;u=0}else{u=0;break}do{k=k*10|0;u=u+1|0}while(((s>>>0)%(k>>>0)|0|0)==0)}else u=9}while(0);s=((P-O>>2)*9|0)+-9|0;if((_|32|0)==102){s=s-u|0;s=(s|0)<0?0:s;a=(a|0)<(s|0)?a:s;s=0;break}else{s=s+l-u|0;s=(s|0)<0?0:s;a=(a|0)<(s|0)?a:s;s=0;break}}else s=D&8}while(0);E=a|s;k=(E|0)!=0&1;w=(_|32|0)==102;if(w){l=(l|0)>0?l:0;_=0}else{u=(l|0)<0?A:l;u=Fc(u,((u|0)<0)<<31>>31,W)|0;if((Q-u|0)<2)do{u=u+-1|0;c[u>>0]=48}while((Q-u|0)<2);c[u+-1>>0]=(l>>31&2)+43;O=u+-2|0;c[O>>0]=_;l=Q-O|0;_=O}A=L+1+a+k+l|0;Uc(e,32,I,A,D);if(!(h[e>>2]&32))Fy(C,L,e)|0;Uc(e,48,I,A,D^65536);do{if(w){u=g>>>0>R>>>0?R:g;l=u;do{s=Fc(h[l>>2]|0,0,q)|0;do{if((l|0)==(u|0)){if((s|0)!=(q|0))break;c[z>>0]=48;s=z}else{if(s>>>0<=re>>>0)break;do{s=s+-1|0;c[s>>0]=48}while(s>>>0>re>>>0)}}while(0);if(!(h[e>>2]&32))Fy(s,X-s|0,e)|0;l=l+4|0}while(l>>>0<=R>>>0);do{if(E){if(h[e>>2]&32)break;Fy(56755,1,e)|0}}while(0);if((a|0)>0&l>>>0

>>0){s=l;while(1){l=Fc(h[s>>2]|0,0,q)|0;if(l>>>0>re>>>0)do{l=l+-1|0;c[l>>0]=48}while(l>>>0>re>>>0);if(!(h[e>>2]&32))Fy(l,(a|0)>9?9:a,e)|0;s=s+4|0;l=a+-9|0;if(!((a|0)>9&s>>>0

>>0)){a=l;break}else a=l}}Uc(e,48,a+9|0,9,0)}else{w=M?P:g+4|0;if((a|0)>-1){k=(s|0)==0;u=g;do{l=Fc(h[u>>2]|0,0,q)|0;if((l|0)==(q|0)){c[z>>0]=48;l=z}do{if((u|0)==(g|0)){s=l+1|0;if(!(h[e>>2]&32))Fy(l,1,e)|0;if(k&(a|0)<1){l=s;break}if(h[e>>2]&32){l=s;break}Fy(56755,1,e)|0;l=s}else{if(l>>>0<=re>>>0)break;do{l=l+-1|0;c[l>>0]=48}while(l>>>0>re>>>0)}}while(0);s=X-l|0;if(!(h[e>>2]&32))Fy(l,(a|0)>(s|0)?s:a,e)|0;a=a-s|0;u=u+4|0}while(u>>>0>>0&(a|0)>-1)}Uc(e,48,a+18|0,18,0);if(h[e>>2]&32)break;Fy(_,Q-_|0,e)|0}}while(0);Uc(e,32,I,A,D^8192);a=(A|0)<(I|0)?I:A}else{w=(_&32|0)!=0;k=o!=o|0.0!=0.0;l=k?0:L;u=l+3|0;Uc(e,32,I,u,s);a=h[e>>2]|0;if(!(a&32)){Fy(C,l,e)|0;a=h[e>>2]|0}if(!(a&32))Fy(k?w?56747:56751:w?56739:56743,3,e)|0;Uc(e,32,I,u,D^8192);a=(u|0)<(I|0)?I:u}}while(0);g=x;continue e}default:{s=D;l=u;w=0;_=56703;a=F}}}while(0);i:do{if((B|0)==64){s=ee;l=h[s>>2]|0;s=h[s+4>>2]|0;k=_&32;if(!((l|0)==0&(s|0)==0)){a=F;do{a=a+-1|0;c[a>>0]=b[56687+(l&15)>>0]|k;l=xm(l|0,s|0,4)|0;s=H}while(!((l|0)==0&(s|0)==0));B=ee;if((w&8|0)==0|(h[B>>2]|0)==0&(h[B+4>>2]|0)==0){l=w;w=0;k=56703;B=77}else{l=w;w=2;k=56703+(_>>4)|0;B=77}}else{a=F;l=w;w=0;k=56703;B=77}}else if((B|0)==76){a=Fc(a,l,F)|0;l=D;w=s;B=77}else if((B|0)==82){B=0;D=Qy(a,0,u)|0;C=(D|0)==0;g=a;l=C?u:D-a|0;w=0;_=56703;a=C?a+u|0:D}else if((B|0)==86){B=0;l=0;a=0;k=h[ee>>2]|0;while(1){s=h[k>>2]|0;if(!s)break;a=Ey(ne,s)|0;if((a|0)<0|a>>>0>(u-l|0)>>>0)break;l=a+l|0;if(u>>>0>l>>>0)k=k+4|0;else break}if((a|0)<0){f=-1;break e}Uc(e,32,I,l,D);if(!l){a=0;B=98}else{s=0;u=h[ee>>2]|0;while(1){a=h[u>>2]|0;if(!a){a=l;B=98;break i}a=Ey(ne,a)|0;s=a+s|0;if((s|0)>(l|0)){a=l;B=98;break i}if(!(h[e>>2]&32))Fy(ne,a,e)|0;if(s>>>0>=l>>>0){a=l;B=98;break}else u=u+4|0}}}}while(0);if((B|0)==98){B=0;Uc(e,32,I,a,D^8192);g=x;a=(I|0)>(a|0)?I:a;continue}if((B|0)==77){B=0;s=(u|0)>-1?l&-65537:l;l=ee;l=(h[l>>2]|0)!=0|(h[l+4>>2]|0)!=0;if((u|0)!=0|l){l=(l&1^1)+(V-a)|0;g=a;l=(u|0)>(l|0)?u:l;_=k;a=F}else{g=F;l=0;_=k;a=F}}k=a-g|0;l=(l|0)<(k|0)?k:l;u=w+l|0;a=(I|0)<(u|0)?u:I;Uc(e,32,a,u,s);if(!(h[e>>2]&32))Fy(_,w,e)|0;Uc(e,48,a,u,s^65536);Uc(e,48,l,k,0);if(!(h[e>>2]&32))Fy(g,k,e)|0;Uc(e,32,a,u,s^8192);g=x}e:do{if((B|0)==245)if(!e)if(i){f=1;while(1){i=h[n+(f<<2)>>2]|0;if(!i)break;Nc(t+(f<<3)|0,i,r);f=f+1|0;if((f|0)>=10){f=1;break e}}if((f|0)<10)while(1){if(h[n+(f<<2)>>2]|0){f=-1;break e}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}else f=0}while(0);v=ae;return f|0}function Dc(e,i,r){e=e|0;i=i|0;r=r|0;return Cy(e,i,r)|0}function xc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0;l=v;v=v+112|0;a=l;n=a;f=n+112|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(f|0));n=a+4|0;h[n>>2]=e;f=a+8|0;h[f>>2]=-1;h[a+44>>2]=e;h[a+76>>2]=-1;Wg(a,0);t=+Gg(a,r,1);r=(h[n>>2]|0)-(h[f>>2]|0)+(h[a+108>>2]|0)|0;if(i)h[i>>2]=(r|0)!=0?e+r|0:e;v=l;return+t}function Ic(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0;s=v;v=v+112|0;l=s;h[l>>2]=0;f=l+4|0;h[f>>2]=e;h[l+44>>2]=e;a=l+8|0;h[a>>2]=(e|0)<0?-1:e+2147483647|0;h[l+76>>2]=-1;Wg(l,0);t=Kg(l,r,1,t,n)|0;if(i)h[i>>2]=e+((h[f>>2]|0)+(h[l+108>>2]|0)-(h[a>>2]|0));v=s;return t|0}function Bc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=e+20|0;n=h[t>>2]|0;e=(h[e+16>>2]|0)-n|0;e=e>>>0>r>>>0?r:e;Im(n|0,i|0,e|0)|0;h[t>>2]=(h[t>>2]|0)+e;return r|0}function Nc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0.0;e:do{if(i>>>0<=20)do{switch(i|0){case 9:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;h[e>>2]=i;break e}case 10:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;t=e;h[t>>2]=i;h[t+4>>2]=((i|0)<0)<<31>>31;break e}case 11:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;t=e;h[t>>2]=i;h[t+4>>2]=0;break e}case 12:{t=(h[r>>2]|0)+(8-1)&~(8-1);i=t;n=h[i>>2]|0;i=h[i+4>>2]|0;h[r>>2]=t+8;t=e;h[t>>2]=n;h[t+4>>2]=i;break e}case 13:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;t=(t&65535)<<16>>16;n=e;h[n>>2]=t;h[n+4>>2]=((t|0)<0)<<31>>31;break e}case 14:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;n=e;h[n>>2]=t&65535;h[n+4>>2]=0;break e}case 15:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;t=(t&255)<<24>>24;n=e;h[n>>2]=t;h[n+4>>2]=((t|0)<0)<<31>>31;break e}case 16:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;n=e;h[n>>2]=t&255;h[n+4>>2]=0;break e}case 17:{n=(h[r>>2]|0)+(8-1)&~(8-1);f=+m[n>>3];h[r>>2]=n+8;m[e>>3]=f;break e}case 18:{n=(h[r>>2]|0)+(8-1)&~(8-1);f=+m[n>>3];h[r>>2]=n+8;m[e>>3]=f;break e}default:break e}}while(0)}while(0);return}function Fc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(i>>>0>0|(i|0)==0&e>>>0>4294967295)while(1){t=zm(e|0,i|0,10,0)|0;r=r+-1|0;c[r>>0]=t|48;t=Xm(e|0,i|0,10,0)|0;if(i>>>0>9|(i|0)==9&e>>>0>4294967295){e=t;i=H}else{e=t;break}}if(e)while(1){r=r+-1|0;c[r>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return r|0}function Uc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=v;v=v+256|0;a=l;do{if((r|0)>(t|0)&(n&73728|0)==0){n=r-t|0;Cm(a|0,i|0,(n>>>0>256?256:n)|0)|0;i=h[e>>2]|0;f=(i&32|0)==0;if(n>>>0>255){t=r-t|0;do{if(f){Fy(a,256,e)|0;i=h[e>>2]|0}n=n+-256|0;f=(i&32|0)==0}while(n>>>0>255);if(f)n=t&255;else break}else if(!f)break;Fy(a,n,e)|0}}while(0);v=l;return}function jc(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0;do{if(e>>>0<245){b=e>>>0<11?16:e+11&-8;e=b>>>3;l=h[10218]|0;r=l>>>e;if(r&3){e=(r&1^1)+e|0;t=e<<1;r=40912+(t<<2)|0;t=40912+(t+2<<2)|0;n=h[t>>2]|0;f=n+8|0;a=h[f>>2]|0;do{if((r|0)!=(a|0)){if(a>>>0<(h[10222]|0)>>>0)Xe();i=a+12|0;if((h[i>>2]|0)==(n|0)){h[i>>2]=r;h[t>>2]=a;break}else Xe()}else h[10218]=l&~(1<>2]=F|3;F=n+(F|4)|0;h[F>>2]=h[F>>2]|1;F=f;return F|0}a=h[10220]|0;if(b>>>0>a>>>0){if(r){t=2<>>12&16;t=t>>>s;n=t>>>5&8;t=t>>>n;f=t>>>2&4;t=t>>>f;r=t>>>1&2;t=t>>>r;e=t>>>1&1;e=(n|s|f|r|e)+(t>>>e)|0;t=e<<1;r=40912+(t<<2)|0;t=40912+(t+2<<2)|0;f=h[t>>2]|0;s=f+8|0;n=h[s>>2]|0;do{if((r|0)!=(n|0)){if(n>>>0<(h[10222]|0)>>>0)Xe();i=n+12|0;if((h[i>>2]|0)==(f|0)){h[i>>2]=r;h[t>>2]=n;o=h[10220]|0;break}else Xe()}else{h[10218]=l&~(1<>2]=b|3;l=f+b|0;h[f+(b|4)>>2]=a|1;h[f+F>>2]=a;if(o){n=h[10223]|0;r=o>>>3;i=r<<1;t=40912+(i<<2)|0;e=h[10218]|0;r=1<>2]|0;if(i>>>0<(h[10222]|0)>>>0)Xe();else{u=e;c=i}}else{h[10218]=e|r;u=40912+(i+2<<2)|0;c=t}h[u>>2]=n;h[c+12>>2]=n;h[n+8>>2]=c;h[n+12>>2]=t}h[10220]=a;h[10223]=l;F=s;return F|0}e=h[10219]|0;if(e){r=(e&0-e)+-1|0;N=r>>>12&16;r=r>>>N;B=r>>>5&8;r=r>>>B;F=r>>>2&4;r=r>>>F;e=r>>>1&2;r=r>>>e;t=r>>>1&1;t=h[41176+((B|N|F|e|t)+(r>>>t)<<2)>>2]|0;r=(h[t+4>>2]&-8)-b|0;e=t;while(1){i=h[e+16>>2]|0;if(!i){i=h[e+20>>2]|0;if(!i){s=r;break}}e=(h[i+4>>2]&-8)-b|0;F=e>>>0>>0;r=F?e:r;e=i;t=F?i:t}f=h[10222]|0;if(t>>>0>>0)Xe();l=t+b|0;if(t>>>0>=l>>>0)Xe();a=h[t+24>>2]|0;r=h[t+12>>2]|0;do{if((r|0)==(t|0)){e=t+20|0;i=h[e>>2]|0;if(!i){e=t+16|0;i=h[e>>2]|0;if(!i){d=0;break}}while(1){r=i+20|0;n=h[r>>2]|0;if(n){i=n;e=r;continue}r=i+16|0;n=h[r>>2]|0;if(!n)break;else{i=n;e=r}}if(e>>>0>>0)Xe();else{h[e>>2]=0;d=i;break}}else{n=h[t+8>>2]|0;if(n>>>0>>0)Xe();i=n+12|0;if((h[i>>2]|0)!=(t|0))Xe();e=r+8|0;if((h[e>>2]|0)==(t|0)){h[i>>2]=r;h[e>>2]=n;d=r;break}else Xe()}}while(0);do{if(a){i=h[t+28>>2]|0;e=41176+(i<<2)|0;if((t|0)==(h[e>>2]|0)){h[e>>2]=d;if(!d){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();i=a+16|0;if((h[i>>2]|0)==(t|0))h[i>>2]=d;else h[a+20>>2]=d;if(!d)break}e=h[10222]|0;if(d>>>0>>0)Xe();h[d+24>>2]=a;i=h[t+16>>2]|0;do{if(i)if(i>>>0>>0)Xe();else{h[d+16>>2]=i;h[i+24>>2]=d;break}}while(0);i=h[t+20>>2]|0;if(i)if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[d+20>>2]=i;h[i+24>>2]=d;break}}}while(0);if(s>>>0<16){F=s+b|0;h[t+4>>2]=F|3;F=t+(F+4)|0;h[F>>2]=h[F>>2]|1}else{h[t+4>>2]=b|3;h[t+(b|4)>>2]=s|1;h[t+(s+b)>>2]=s;i=h[10220]|0;if(i){f=h[10223]|0;r=i>>>3;i=r<<1;n=40912+(i<<2)|0;e=h[10218]|0;r=1<>2]|0;if(e>>>0<(h[10222]|0)>>>0)Xe();else{k=i;w=e}}else{h[10218]=e|r;k=40912+(i+2<<2)|0;w=n}h[k>>2]=f;h[w+12>>2]=f;h[f+8>>2]=w;h[f+12>>2]=n}h[10220]=s;h[10223]=l}F=t+8|0;return F|0}else w=b}else w=b}else if(e>>>0<=4294967231){e=e+11|0;c=e&-8;u=h[10219]|0;if(u){r=0-c|0;e=e>>>8;if(e)if(c>>>0>16777215)o=31;else{w=(e+1048320|0)>>>16&8;g=e<>>16&4;g=g<>>16&2;o=14-(k|w|o)+(g<>>15)|0;o=c>>>(o+7|0)&1|o<<1}else o=0;e=h[41176+(o<<2)>>2]|0;e:do{if(!e){n=0;e=0;g=86}else{a=r;n=0;l=c<<((o|0)==31?0:25-(o>>>1)|0);s=e;e=0;while(1){f=h[s+4>>2]&-8;r=f-c|0;if(r>>>0>>0)if((f|0)==(c|0)){f=s;e=s;g=90;break e}else e=s;else r=a;g=h[s+20>>2]|0;s=h[s+16+(l>>>31<<2)>>2]|0;n=(g|0)==0|(g|0)==(s|0)?n:g;if(!s){g=86;break}else{a=r;l=l<<1}}}}while(0);if((g|0)==86){if((n|0)==0&(e|0)==0){e=2<>>12&16;e=e>>>d;u=e>>>5&8;e=e>>>u;k=e>>>2&4;e=e>>>k;w=e>>>1&2;e=e>>>w;n=e>>>1&1;n=h[41176+((u|d|k|w|n)+(e>>>n)<<2)>>2]|0;e=0}if(!n){l=r;s=e}else{f=n;g=90}}if((g|0)==90)while(1){g=0;w=(h[f+4>>2]&-8)-c|0;n=w>>>0>>0;r=n?w:r;e=n?f:e;n=h[f+16>>2]|0;if(n){f=n;g=90;continue}f=h[f+20>>2]|0;if(!f){l=r;s=e;break}else g=90}if((s|0)!=0?l>>>0<((h[10220]|0)-c|0)>>>0:0){n=h[10222]|0;if(s>>>0>>0)Xe();a=s+c|0;if(s>>>0>=a>>>0)Xe();f=h[s+24>>2]|0;r=h[s+12>>2]|0;do{if((r|0)==(s|0)){e=s+20|0;i=h[e>>2]|0;if(!i){e=s+16|0;i=h[e>>2]|0;if(!i){b=0;break}}while(1){r=i+20|0;t=h[r>>2]|0;if(t){i=t;e=r;continue}r=i+16|0;t=h[r>>2]|0;if(!t)break;else{i=t;e=r}}if(e>>>0>>0)Xe();else{h[e>>2]=0;b=i;break}}else{t=h[s+8>>2]|0;if(t>>>0>>0)Xe();i=t+12|0;if((h[i>>2]|0)!=(s|0))Xe();e=r+8|0;if((h[e>>2]|0)==(s|0)){h[i>>2]=r;h[e>>2]=t;b=r;break}else Xe()}}while(0);do{if(f){i=h[s+28>>2]|0;e=41176+(i<<2)|0;if((s|0)==(h[e>>2]|0)){h[e>>2]=b;if(!b){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();i=f+16|0;if((h[i>>2]|0)==(s|0))h[i>>2]=b;else h[f+20>>2]=b;if(!b)break}e=h[10222]|0;if(b>>>0>>0)Xe();h[b+24>>2]=f;i=h[s+16>>2]|0;do{if(i)if(i>>>0>>0)Xe();else{h[b+16>>2]=i;h[i+24>>2]=b;break}}while(0);i=h[s+20>>2]|0;if(i)if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[b+20>>2]=i;h[i+24>>2]=b;break}}}while(0);e:do{if(l>>>0>=16){h[s+4>>2]=c|3;h[s+(c|4)>>2]=l|1;h[s+(l+c)>>2]=l;i=l>>>3;if(l>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=h[10218]|0;i=1<>2]|0;if(e>>>0<(h[10222]|0)>>>0)Xe();else{m=i;p=e}}else{h[10218]=r|i;m=40912+(e+2<<2)|0;p=t}h[m>>2]=a;h[p+12>>2]=a;h[s+(c+8)>>2]=p;h[s+(c+12)>>2]=t;break}i=l>>>8;if(i)if(l>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<>>16&4;F=F<>>16&2;t=14-(B|N|t)+(F<>>15)|0;t=l>>>(t+7|0)&1|t<<1}else t=0;i=41176+(t<<2)|0;h[s+(c+28)>>2]=t;h[s+(c+20)>>2]=0;h[s+(c+16)>>2]=0;e=h[10219]|0;r=1<>2]=a;h[s+(c+24)>>2]=i;h[s+(c+12)>>2]=a;h[s+(c+8)>>2]=a;break}i=h[i>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(l|0)){t=l<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(l|0)){A=r;break i}else{t=t<<1;i=r}}if(e>>>0<(h[10222]|0)>>>0)Xe();else{h[e>>2]=a;h[s+(c+24)>>2]=i;h[s+(c+12)>>2]=a;h[s+(c+8)>>2]=a;break e}}else A=i}while(0);i=A+8|0;e=h[i>>2]|0;F=h[10222]|0;if(e>>>0>=F>>>0&A>>>0>=F>>>0){h[e+12>>2]=a;h[i>>2]=a;h[s+(c+8)>>2]=e;h[s+(c+12)>>2]=A;h[s+(c+24)>>2]=0;break}else Xe()}else{F=l+c|0;h[s+4>>2]=F|3;F=s+(F+4)|0;h[F>>2]=h[F>>2]|1}}while(0);F=s+8|0;return F|0}else w=c}else w=c}else w=-1}while(0);r=h[10220]|0;if(r>>>0>=w>>>0){i=r-w|0;e=h[10223]|0;if(i>>>0>15){h[10223]=e+w;h[10220]=i;h[e+(w+4)>>2]=i|1;h[e+r>>2]=i;h[e+4>>2]=w|3}else{h[10220]=0;h[10223]=0;h[e+4>>2]=r|3;F=e+(r+4)|0;h[F>>2]=h[F>>2]|1}F=e+8|0;return F|0}e=h[10221]|0;if(e>>>0>w>>>0){N=e-w|0;h[10221]=N;F=h[10224]|0;h[10224]=F+w;h[F+(w+4)>>2]=N|1;h[F+4>>2]=w|3;F=F+8|0;return F|0}do{if(!(h[10336]|0)){e=ui(30)|0;if(!(e+-1&e)){h[10338]=e;h[10337]=e;h[10339]=-1;h[10340]=-1;h[10341]=0;h[10329]=0;A=(Pi(0)|0)&-16^1431655768;h[10336]=A;break}else Xe()}}while(0);s=w+48|0;l=h[10338]|0;o=w+47|0;a=l+o|0;l=0-l|0;u=a&l;if(u>>>0<=w>>>0){F=0;return F|0}e=h[10328]|0;if((e|0)!=0?(p=h[10326]|0,A=p+u|0,A>>>0<=p>>>0|A>>>0>e>>>0):0){F=0;return F|0}e:do{if(!(h[10329]&4)){e=h[10224]|0;i:do{if(e){n=41320;while(1){r=h[n>>2]|0;if(r>>>0<=e>>>0?(_=n+4|0,(r+(h[_>>2]|0)|0)>>>0>e>>>0):0){f=n;e=_;break}n=h[n+8>>2]|0;if(!n){g=174;break i}}r=a-(h[10221]|0)&l;if(r>>>0<2147483647){n=ni(r|0)|0;A=(n|0)==((h[f>>2]|0)+(h[e>>2]|0)|0);e=A?r:0;if(A){if((n|0)!=(-1|0)){y=n;k=e;g=194;break e}}else g=184}else e=0}else g=174}while(0);do{if((g|0)==174){f=ni(0)|0;if((f|0)!=(-1|0)){e=f;r=h[10337]|0;n=r+-1|0;if(!(n&e))r=u;else r=u-e+(n+e&0-r)|0;e=h[10326]|0;n=e+r|0;if(r>>>0>w>>>0&r>>>0<2147483647){A=h[10328]|0;if((A|0)!=0?n>>>0<=e>>>0|n>>>0>A>>>0:0){e=0;break}n=ni(r|0)|0;A=(n|0)==(f|0);e=A?r:0;if(A){y=f;k=e;g=194;break e}else g=184}else e=0}else e=0}}while(0);i:do{if((g|0)==184){f=0-r|0;do{if(s>>>0>r>>>0&(r>>>0<2147483647&(n|0)!=(-1|0))?(v=h[10338]|0,v=o-r+v&0-v,v>>>0<2147483647):0)if((ni(v|0)|0)==(-1|0)){ni(f|0)|0;break i}else{r=v+r|0;break}}while(0);if((n|0)!=(-1|0)){y=n;k=r;g=194;break e}}}while(0);h[10329]=h[10329]|4;g=191}else{e=0;g=191}}while(0);if((((g|0)==191?u>>>0<2147483647:0)?(y=ni(u|0)|0,E=ni(0)|0,y>>>0>>0&((y|0)!=(-1|0)&(E|0)!=(-1|0))):0)?(M=E-y|0,T=M>>>0>(w+40|0)>>>0,T):0){k=T?M:e;g=194}if((g|0)==194){e=(h[10326]|0)+k|0;h[10326]=e;if(e>>>0>(h[10327]|0)>>>0)h[10327]=e;a=h[10224]|0;e:do{if(a){f=41320;do{e=h[f>>2]|0;r=f+4|0;n=h[r>>2]|0;if((y|0)==(e+n|0)){S=e;P=r;O=n;R=f;g=204;break}f=h[f+8>>2]|0}while((f|0)!=0);if(((g|0)==204?(h[R+12>>2]&8|0)==0:0)?a>>>0>>0&a>>>0>=S>>>0:0){h[P>>2]=O+k;F=(h[10221]|0)+k|0;N=a+8|0;N=(N&7|0)==0?0:0-N&7;B=F-N|0;h[10224]=a+N;h[10221]=B;h[a+(N+4)>>2]=B|1;h[a+(F+4)>>2]=40;h[10225]=h[10340];break}e=h[10222]|0;if(y>>>0>>0){h[10222]=y;e=y}r=y+k|0;f=41320;while(1){if((h[f>>2]|0)==(r|0)){n=f;r=f;g=212;break}f=h[f+8>>2]|0;if(!f){r=41320;break}}if((g|0)==212)if(!(h[r+12>>2]&8)){h[n>>2]=y;d=r+4|0;h[d>>2]=(h[d>>2]|0)+k;d=y+8|0;d=(d&7|0)==0?0:0-d&7;o=y+(k+8)|0;o=(o&7|0)==0?0:0-o&7;i=y+(o+k)|0;c=d+w|0;b=y+c|0;u=i-(y+d)-w|0;h[y+(d+4)>>2]=w|3;i:do{if((i|0)!=(a|0)){if((i|0)==(h[10223]|0)){F=(h[10220]|0)+u|0;h[10220]=F;h[10223]=b;h[y+(c+4)>>2]=F|1;h[y+(F+c)>>2]=F;break}l=k+4|0;r=h[y+(l+o)>>2]|0;if((r&3|0)==1){s=r&-8;f=r>>>3;r:do{if(r>>>0>=256){a=h[y+((o|24)+k)>>2]|0;t=h[y+(k+12+o)>>2]|0;do{if((t|0)==(i|0)){n=o|16;t=y+(l+n)|0;r=h[t>>2]|0;if(!r){t=y+(n+k)|0;r=h[t>>2]|0;if(!r){I=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Xe();else{h[t>>2]=0;I=r;break}}else{n=h[y+((o|8)+k)>>2]|0;if(n>>>0>>0)Xe();e=n+12|0;if((h[e>>2]|0)!=(i|0))Xe();r=t+8|0;if((h[r>>2]|0)==(i|0)){h[e>>2]=t;h[r>>2]=n;I=t;break}else Xe()}}while(0);if(!a)break;e=h[y+(k+28+o)>>2]|0;r=41176+(e<<2)|0;do{if((i|0)!=(h[r>>2]|0)){if(a>>>0<(h[10222]|0)>>>0)Xe();e=a+16|0;if((h[e>>2]|0)==(i|0))h[e>>2]=I;else h[a+20>>2]=I;if(!I)break r}else{h[r>>2]=I;if(I)break;h[10219]=h[10219]&~(1<>>0>>0)Xe();h[I+24>>2]=a;i=o|16;e=h[y+(i+k)>>2]|0;do{if(e)if(e>>>0>>0)Xe();else{h[I+16>>2]=e;h[e+24>>2]=I;break}}while(0);i=h[y+(l+i)>>2]|0;if(!i)break;if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[I+20>>2]=i;h[i+24>>2]=I;break}}else{t=h[y+((o|8)+k)>>2]|0;n=h[y+(k+12+o)>>2]|0;r=40912+(f<<1<<2)|0;do{if((t|0)!=(r|0)){if(t>>>0>>0)Xe();if((h[t+12>>2]|0)==(i|0))break;Xe()}}while(0);if((n|0)==(t|0)){h[10218]=h[10218]&~(1<>>0>>0)Xe();e=n+8|0;if((h[e>>2]|0)==(i|0)){L=e;break}Xe()}}while(0);h[t+12>>2]=n;h[L>>2]=t}}while(0);i=y+((s|o)+k)|0;n=s+u|0}else n=u;i=i+4|0;h[i>>2]=h[i>>2]&-2;h[y+(c+4)>>2]=n|1;h[y+(n+c)>>2]=n;i=n>>>3;if(n>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=h[10218]|0;i=1<>2]|0;if(e>>>0>=(h[10222]|0)>>>0){B=i;N=e;break}Xe()}}while(0);h[B>>2]=b;h[N+12>>2]=b;h[y+(c+8)>>2]=N;h[y+(c+12)>>2]=t;break}i=n>>>8;do{if(!i)t=0;else{if(n>>>0>16777215){t=31;break}B=(i+1048320|0)>>>16&8;N=i<>>16&4;N=N<>>16&2;t=14-(I|B|t)+(N<>>15)|0;t=n>>>(t+7|0)&1|t<<1}}while(0);i=41176+(t<<2)|0;h[y+(c+28)>>2]=t;h[y+(c+20)>>2]=0;h[y+(c+16)>>2]=0;e=h[10219]|0;r=1<>2]=b;h[y+(c+24)>>2]=i;h[y+(c+12)>>2]=b;h[y+(c+8)>>2]=b;break}i=h[i>>2]|0;r:do{if((h[i+4>>2]&-8|0)!=(n|0)){t=n<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(n|0)){F=r;break r}else{t=t<<1;i=r}}if(e>>>0<(h[10222]|0)>>>0)Xe();else{h[e>>2]=b;h[y+(c+24)>>2]=i;h[y+(c+12)>>2]=b;h[y+(c+8)>>2]=b;break i}}else F=i}while(0);i=F+8|0;e=h[i>>2]|0;N=h[10222]|0;if(e>>>0>=N>>>0&F>>>0>=N>>>0){h[e+12>>2]=b;h[i>>2]=b;h[y+(c+8)>>2]=e;h[y+(c+12)>>2]=F;h[y+(c+24)>>2]=0;break}else Xe()}else{F=(h[10221]|0)+u|0;h[10221]=F;h[10224]=b;h[y+(c+4)>>2]=F|1}}while(0);F=y+(d|8)|0;return F|0}else r=41320;while(1){e=h[r>>2]|0;if(e>>>0<=a>>>0?(i=h[r+4>>2]|0,t=e+i|0,t>>>0>a>>>0):0)break;r=h[r+8>>2]|0}n=e+(i+-39)|0;e=e+(i+-47+((n&7|0)==0?0:0-n&7))|0;n=a+16|0;e=e>>>0>>0?a:e;i=e+8|0;r=y+8|0;r=(r&7|0)==0?0:0-r&7;F=k+-40-r|0;h[10224]=y+r;h[10221]=F;h[y+(r+4)>>2]=F|1;h[y+(k+-36)>>2]=40;h[10225]=h[10340];r=e+4|0;h[r>>2]=27;h[i>>2]=h[10330];h[i+4>>2]=h[10331];h[i+8>>2]=h[10332];h[i+12>>2]=h[10333];h[10330]=y;h[10331]=k;h[10333]=0;h[10332]=i;i=e+28|0;h[i>>2]=7;if((e+32|0)>>>0>>0)do{F=i;i=i+4|0;h[i>>2]=7}while((F+8|0)>>>0>>0);if((e|0)!=(a|0)){f=e-a|0;h[r>>2]=h[r>>2]&-2;h[a+4>>2]=f|1;h[e>>2]=f;i=f>>>3;if(f>>>0<256){e=i<<1;t=40912+(e<<2)|0;r=h[10218]|0;i=1<>2]|0;if(e>>>0<(h[10222]|0)>>>0)Xe();else{C=i;D=e}}else{h[10218]=r|i;C=40912+(e+2<<2)|0;D=t}h[C>>2]=a;h[D+12>>2]=a;h[a+8>>2]=D;h[a+12>>2]=t;break}i=f>>>8;if(i)if(f>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<>>16&4;F=F<>>16&2;t=14-(B|N|t)+(F<>>15)|0;t=f>>>(t+7|0)&1|t<<1}else t=0;r=41176+(t<<2)|0;h[a+28>>2]=t;h[a+20>>2]=0;h[n>>2]=0;i=h[10219]|0;e=1<>2]=a;h[a+24>>2]=r;h[a+12>>2]=a;h[a+8>>2]=a;break}i=h[r>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(f|0)){t=f<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(f|0)){x=r;break i}else{t=t<<1;i=r}}if(e>>>0<(h[10222]|0)>>>0)Xe();else{h[e>>2]=a;h[a+24>>2]=i;h[a+12>>2]=a;h[a+8>>2]=a;break e}}else x=i}while(0);i=x+8|0;e=h[i>>2]|0;F=h[10222]|0;if(e>>>0>=F>>>0&x>>>0>=F>>>0){h[e+12>>2]=a;h[i>>2]=a;h[a+8>>2]=e;h[a+12>>2]=x;h[a+24>>2]=0;break}else Xe()}}else{F=h[10222]|0;if((F|0)==0|y>>>0>>0)h[10222]=y;h[10330]=y;h[10331]=k;h[10333]=0;h[10227]=h[10336];h[10226]=-1;i=0;do{F=i<<1;N=40912+(F<<2)|0;h[40912+(F+3<<2)>>2]=N;h[40912+(F+2<<2)>>2]=N;i=i+1|0}while((i|0)!=32);F=y+8|0;F=(F&7|0)==0?0:0-F&7;N=k+-40-F|0;h[10224]=y+F;h[10221]=N;h[y+(F+4)>>2]=N|1;h[y+(k+-36)>>2]=40;h[10225]=h[10340]}}while(0);i=h[10221]|0;if(i>>>0>w>>>0){N=i-w|0;h[10221]=N;F=h[10224]|0;h[10224]=F+w;h[F+(w+4)>>2]=N|1;h[F+4>>2]=w|3;F=F+8|0;return F|0}}F=zg()|0;h[F>>2]=12;F=0;return F|0}function Hc(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0;if(!e)return;i=e+-8|0;l=h[10222]|0;if(i>>>0>>0)Xe();r=h[e+-4>>2]|0;t=r&3;if((t|0)==1)Xe();b=r&-8;w=e+(b+-8)|0;do{if(!(r&1)){i=h[i>>2]|0;if(!t)return;s=-8-i|0;u=e+s|0;c=i+b|0;if(u>>>0>>0)Xe();if((u|0)==(h[10223]|0)){i=e+(b+-4)|0;r=h[i>>2]|0;if((r&3|0)!=3){v=u;f=c;break}h[10220]=c;h[i>>2]=r&-2;h[e+(s+4)>>2]=c|1;h[w>>2]=c;return}n=i>>>3;if(i>>>0<256){t=h[e+(s+8)>>2]|0;r=h[e+(s+12)>>2]|0;i=40912+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0>>0)Xe();if((h[t+12>>2]|0)!=(u|0))Xe()}if((r|0)==(t|0)){h[10218]=h[10218]&~(1<>>0>>0)Xe();i=r+8|0;if((h[i>>2]|0)==(u|0))a=i;else Xe()}else a=r+8|0;h[t+12>>2]=r;h[a>>2]=t;v=u;f=c;break}a=h[e+(s+24)>>2]|0;t=h[e+(s+12)>>2]|0;do{if((t|0)==(u|0)){r=e+(s+20)|0;i=h[r>>2]|0;if(!i){r=e+(s+16)|0;i=h[r>>2]|0;if(!i){o=0;break}}while(1){t=i+20|0;n=h[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=h[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0>>0)Xe();else{h[r>>2]=0;o=i;break}}else{n=h[e+(s+8)>>2]|0;if(n>>>0>>0)Xe();i=n+12|0;if((h[i>>2]|0)!=(u|0))Xe();r=t+8|0;if((h[r>>2]|0)==(u|0)){h[i>>2]=t;h[r>>2]=n;o=t;break}else Xe()}}while(0);if(a){i=h[e+(s+28)>>2]|0;r=41176+(i<<2)|0;if((u|0)==(h[r>>2]|0)){h[r>>2]=o;if(!o){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();i=a+16|0;if((h[i>>2]|0)==(u|0))h[i>>2]=o;else h[a+20>>2]=o;if(!o){v=u;f=c;break}}r=h[10222]|0;if(o>>>0>>0)Xe();h[o+24>>2]=a;i=h[e+(s+16)>>2]|0;do{if(i)if(i>>>0>>0)Xe();else{h[o+16>>2]=i;h[i+24>>2]=o;break}}while(0);i=h[e+(s+20)>>2]|0;if(i)if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[o+20>>2]=i;h[i+24>>2]=o;v=u;f=c;break}else{v=u;f=c}}else{v=u;f=c}}else{v=i;f=b}}while(0);if(v>>>0>=w>>>0)Xe();i=e+(b+-4)|0;r=h[i>>2]|0;if(!(r&1))Xe();if(!(r&2)){if((w|0)==(h[10224]|0)){p=(h[10221]|0)+f|0;h[10221]=p;h[10224]=v;h[v+4>>2]=p|1;if((v|0)!=(h[10223]|0))return;h[10223]=0;h[10220]=0;return}if((w|0)==(h[10223]|0)){p=(h[10220]|0)+f|0;h[10220]=p;h[10223]=v;h[v+4>>2]=p|1;h[v+p>>2]=p;return}f=(r&-8)+f|0;n=r>>>3;do{if(r>>>0>=256){a=h[e+(b+16)>>2]|0;i=h[e+(b|4)>>2]|0;do{if((i|0)==(w|0)){r=e+(b+12)|0;i=h[r>>2]|0;if(!i){r=e+(b+8)|0;i=h[r>>2]|0;if(!i){k=0;break}}while(1){t=i+20|0;n=h[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=h[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[r>>2]=0;k=i;break}}else{r=h[e+b>>2]|0;if(r>>>0<(h[10222]|0)>>>0)Xe();t=r+12|0;if((h[t>>2]|0)!=(w|0))Xe();n=i+8|0;if((h[n>>2]|0)==(w|0)){h[t>>2]=i;h[n>>2]=r;k=i;break}else Xe()}}while(0);if(a){i=h[e+(b+20)>>2]|0;r=41176+(i<<2)|0;if((w|0)==(h[r>>2]|0)){h[r>>2]=k;if(!k){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();i=a+16|0;if((h[i>>2]|0)==(w|0))h[i>>2]=k;else h[a+20>>2]=k;if(!k)break}r=h[10222]|0;if(k>>>0>>0)Xe();h[k+24>>2]=a;i=h[e+(b+8)>>2]|0;do{if(i)if(i>>>0>>0)Xe();else{h[k+16>>2]=i;h[i+24>>2]=k;break}}while(0);i=h[e+(b+12)>>2]|0;if(i)if(i>>>0<(h[10222]|0)>>>0)Xe();else{h[k+20>>2]=i;h[i+24>>2]=k;break}}}else{t=h[e+b>>2]|0;r=h[e+(b|4)>>2]|0;i=40912+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<(h[10222]|0)>>>0)Xe();if((h[t+12>>2]|0)!=(w|0))Xe()}if((r|0)==(t|0)){h[10218]=h[10218]&~(1<>>0<(h[10222]|0)>>>0)Xe();i=r+8|0;if((h[i>>2]|0)==(w|0))d=i;else Xe()}else d=r+8|0;h[t+12>>2]=r;h[d>>2]=t}}while(0);h[v+4>>2]=f|1;h[v+f>>2]=f;if((v|0)==(h[10223]|0)){h[10220]=f;return}}else{h[i>>2]=r&-2;h[v+4>>2]=f|1;h[v+f>>2]=f}i=f>>>3;if(f>>>0<256){r=i<<1;n=40912+(r<<2)|0;t=h[10218]|0;i=1<>2]|0;if(r>>>0<(h[10222]|0)>>>0)Xe();else{_=i;m=r}}else{h[10218]=t|i;_=40912+(r+2<<2)|0;m=n}h[_>>2]=v;h[m+12>>2]=v;h[v+8>>2]=m;h[v+12>>2]=n;return}i=f>>>8;if(i)if(f>>>0>16777215)n=31;else{_=(i+1048320|0)>>>16&8;m=i<<_;w=(m+520192|0)>>>16&4;m=m<>>16&2;n=14-(w|_|n)+(m<>>15)|0;n=f>>>(n+7|0)&1|n<<1}else n=0;i=41176+(n<<2)|0;h[v+28>>2]=n;h[v+20>>2]=0;h[v+16>>2]=0;r=h[10219]|0;t=1<>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(f|0)){n=f<<((n|0)==31?0:25-(n>>>1)|0);while(1){r=i+16+(n>>>31<<2)|0;t=h[r>>2]|0;if(!t)break;if((h[t+4>>2]&-8|0)==(f|0)){p=t;break i}else{n=n<<1;i=t}}if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[r>>2]=v;h[v+24>>2]=i;h[v+12>>2]=v;h[v+8>>2]=v;break e}}else p=i}while(0);i=p+8|0;r=h[i>>2]|0;m=h[10222]|0;if(r>>>0>=m>>>0&p>>>0>=m>>>0){h[r+12>>2]=v;h[i>>2]=v;h[v+8>>2]=r;h[v+12>>2]=p;h[v+24>>2]=0;break}else Xe()}else{h[10219]=r|t;h[i>>2]=v;h[v+24>>2]=i;h[v+12>>2]=v;h[v+8>>2]=v}}while(0);v=(h[10226]|0)+-1|0;h[10226]=v;if(!v)i=41328;else return;while(1){i=h[i>>2]|0;if(!i)break;else i=i+8|0}h[10226]=-1;return}function Yc(e,i){e=e|0;i=i|0;var r=0;if(e){r=ce(i,e)|0;if((i|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(i|0)?r:-1}else r=0;i=jc(r)|0;if(!i)return i|0;if(!(h[i+-4>>2]&3))return i|0;Cm(i|0,0,r|0)|0;return i|0}function qc(e,i){e=e|0;i=i|0;var r=0,t=0;if(!e){e=jc(i)|0;return e|0}if(i>>>0>4294967231){e=zg()|0;h[e>>2]=12;e=0;return e|0}r=Xc(e+-8|0,i>>>0<11?16:i+11&-8)|0;if(r){e=r+8|0;return e|0}r=jc(i)|0;if(!r){e=0;return e|0}t=h[e+-4>>2]|0;t=(t&-8)-((t&3|0)==0?8:4)|0;Im(r|0,e|0,(t>>>0>>0?t:i)|0)|0;Hc(e);e=r;return e|0}function Xc(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;b=e+4|0;k=h[b>>2]|0;s=k&-8;u=e+s|0;l=h[10222]|0;r=k&3;if(!((r|0)!=1&e>>>0>=l>>>0&e>>>0>>0))Xe();t=e+(s|4)|0;n=h[t>>2]|0;if(!(n&1))Xe();if(!r){if(i>>>0<256){e=0;return e|0}if(s>>>0>=(i+4|0)>>>0?(s-i|0)>>>0<=h[10338]<<1>>>0:0)return e|0;e=0;return e|0}if(s>>>0>=i>>>0){r=s-i|0;if(r>>>0<=15)return e|0;h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=r|3;h[t>>2]=h[t>>2]|1;zc(e+i|0,r);return e|0}if((u|0)==(h[10224]|0)){r=(h[10221]|0)+s|0;if(r>>>0<=i>>>0){e=0;return e|0}d=r-i|0;h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=d|1;h[10224]=e+i;h[10221]=d;return e|0}if((u|0)==(h[10223]|0)){t=(h[10220]|0)+s|0;if(t>>>0>>0){e=0;return e|0}r=t-i|0;if(r>>>0>15){h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=r|1;h[e+t>>2]=r;t=e+(t+4)|0;h[t>>2]=h[t>>2]&-2;t=e+i|0}else{h[b>>2]=k&1|t|2;t=e+(t+4)|0;h[t>>2]=h[t>>2]|1;t=0;r=0}h[10220]=r;h[10223]=t;return e|0}if(n&2){e=0;return e|0}c=(n&-8)+s|0;if(c>>>0>>0){e=0;return e|0}d=c-i|0;f=n>>>3;do{if(n>>>0>=256){a=h[e+(s+24)>>2]|0;f=h[e+(s+12)>>2]|0;do{if((f|0)==(u|0)){t=e+(s+20)|0;r=h[t>>2]|0;if(!r){t=e+(s+16)|0;r=h[t>>2]|0;if(!r){o=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Xe();else{h[t>>2]=0;o=r;break}}else{n=h[e+(s+8)>>2]|0;if(n>>>0>>0)Xe();r=n+12|0;if((h[r>>2]|0)!=(u|0))Xe();t=f+8|0;if((h[t>>2]|0)==(u|0)){h[r>>2]=f;h[t>>2]=n;o=f;break}else Xe()}}while(0);if(a){r=h[e+(s+28)>>2]|0;t=41176+(r<<2)|0;if((u|0)==(h[t>>2]|0)){h[t>>2]=o;if(!o){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();r=a+16|0;if((h[r>>2]|0)==(u|0))h[r>>2]=o;else h[a+20>>2]=o;if(!o)break}t=h[10222]|0;if(o>>>0>>0)Xe();h[o+24>>2]=a;r=h[e+(s+16)>>2]|0;do{if(r)if(r>>>0>>0)Xe();else{h[o+16>>2]=r;h[r+24>>2]=o;break}}while(0);r=h[e+(s+20)>>2]|0;if(r)if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[o+20>>2]=r;h[r+24>>2]=o;break}}}else{n=h[e+(s+8)>>2]|0;t=h[e+(s+12)>>2]|0;r=40912+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Xe();if((h[n+12>>2]|0)!=(u|0))Xe()}if((t|0)==(n|0)){h[10218]=h[10218]&~(1<>>0>>0)Xe();r=t+8|0;if((h[r>>2]|0)==(u|0))a=r;else Xe()}else a=t+8|0;h[n+12>>2]=t;h[a>>2]=n}}while(0);if(d>>>0<16){h[b>>2]=c|k&1|2;i=e+(c|4)|0;h[i>>2]=h[i>>2]|1;return e|0}else{h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=d|3;k=e+(c|4)|0;h[k>>2]=h[k>>2]|1;zc(e+i|0,d);return e|0}return 0}function zc(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;w=e+i|0;r=h[e+4>>2]|0;do{if(!(r&1)){o=h[e>>2]|0;if(!(r&3))return;d=e+(0-o)|0;c=o+i|0;s=h[10222]|0;if(d>>>0>>0)Xe();if((d|0)==(h[10223]|0)){t=e+(i+4)|0;r=h[t>>2]|0;if((r&3|0)!=3){p=d;a=c;break}h[10220]=c;h[t>>2]=r&-2;h[e+(4-o)>>2]=c|1;h[w>>2]=c;return}f=o>>>3;if(o>>>0<256){n=h[e+(8-o)>>2]|0;t=h[e+(12-o)>>2]|0;r=40912+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Xe();if((h[n+12>>2]|0)!=(d|0))Xe()}if((t|0)==(n|0)){h[10218]=h[10218]&~(1<>>0>>0)Xe();r=t+8|0;if((h[r>>2]|0)==(d|0))l=r;else Xe()}else l=t+8|0;h[n+12>>2]=t;h[l>>2]=n;p=d;a=c;break}l=h[e+(24-o)>>2]|0;n=h[e+(12-o)>>2]|0;do{if((n|0)==(d|0)){n=16-o|0;t=e+(n+4)|0;r=h[t>>2]|0;if(!r){t=e+n|0;r=h[t>>2]|0;if(!r){u=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Xe();else{h[t>>2]=0;u=r;break}}else{f=h[e+(8-o)>>2]|0;if(f>>>0>>0)Xe();r=f+12|0;if((h[r>>2]|0)!=(d|0))Xe();t=n+8|0;if((h[t>>2]|0)==(d|0)){h[r>>2]=n;h[t>>2]=f;u=n;break}else Xe()}}while(0);if(l){r=h[e+(28-o)>>2]|0;t=41176+(r<<2)|0;if((d|0)==(h[t>>2]|0)){h[t>>2]=u;if(!u){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();r=l+16|0;if((h[r>>2]|0)==(d|0))h[r>>2]=u;else h[l+20>>2]=u;if(!u){p=d;a=c;break}}n=h[10222]|0;if(u>>>0>>0)Xe();h[u+24>>2]=l;r=16-o|0;t=h[e+r>>2]|0;do{if(t)if(t>>>0>>0)Xe();else{h[u+16>>2]=t;h[t+24>>2]=u;break}}while(0);r=h[e+(r+4)>>2]|0;if(r)if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[u+20>>2]=r;h[r+24>>2]=u;p=d;a=c;break}else{p=d;a=c}}else{p=d;a=c}}else{p=e;a=i}}while(0);s=h[10222]|0;if(w>>>0>>0)Xe();r=e+(i+4)|0;t=h[r>>2]|0;if(!(t&2)){if((w|0)==(h[10224]|0)){m=(h[10221]|0)+a|0;h[10221]=m;h[10224]=p;h[p+4>>2]=m|1;if((p|0)!=(h[10223]|0))return;h[10223]=0;h[10220]=0;return}if((w|0)==(h[10223]|0)){m=(h[10220]|0)+a|0;h[10220]=m;h[10223]=p;h[p+4>>2]=m|1;h[p+m>>2]=m;return}a=(t&-8)+a|0;f=t>>>3;do{if(t>>>0>=256){l=h[e+(i+24)>>2]|0;n=h[e+(i+12)>>2]|0;do{if((n|0)==(w|0)){t=e+(i+20)|0;r=h[t>>2]|0;if(!r){t=e+(i+16)|0;r=h[t>>2]|0;if(!r){k=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Xe();else{h[t>>2]=0;k=r;break}}else{f=h[e+(i+8)>>2]|0;if(f>>>0>>0)Xe();r=f+12|0;if((h[r>>2]|0)!=(w|0))Xe();t=n+8|0;if((h[t>>2]|0)==(w|0)){h[r>>2]=n;h[t>>2]=f;k=n;break}else Xe()}}while(0);if(l){r=h[e+(i+28)>>2]|0;t=41176+(r<<2)|0;if((w|0)==(h[t>>2]|0)){h[t>>2]=k;if(!k){h[10219]=h[10219]&~(1<>>0<(h[10222]|0)>>>0)Xe();r=l+16|0;if((h[r>>2]|0)==(w|0))h[r>>2]=k;else h[l+20>>2]=k;if(!k)break}t=h[10222]|0;if(k>>>0>>0)Xe();h[k+24>>2]=l;r=h[e+(i+16)>>2]|0;do{if(r)if(r>>>0>>0)Xe();else{h[k+16>>2]=r;h[r+24>>2]=k;break}}while(0);r=h[e+(i+20)>>2]|0;if(r)if(r>>>0<(h[10222]|0)>>>0)Xe();else{h[k+20>>2]=r;h[r+24>>2]=k;break}}}else{n=h[e+(i+8)>>2]|0;t=h[e+(i+12)>>2]|0;r=40912+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Xe();if((h[n+12>>2]|0)!=(w|0))Xe()}if((t|0)==(n|0)){h[10218]=h[10218]&~(1<>>0>>0)Xe();r=t+8|0;if((h[r>>2]|0)==(w|0))b=r;else Xe()}else b=t+8|0;h[n+12>>2]=t;h[b>>2]=n}}while(0);h[p+4>>2]=a|1;h[p+a>>2]=a;if((p|0)==(h[10223]|0)){h[10220]=a;return}}else{h[r>>2]=t&-2;h[p+4>>2]=a|1;h[p+a>>2]=a}r=a>>>3;if(a>>>0<256){t=r<<1;f=40912+(t<<2)|0;n=h[10218]|0;r=1<>2]|0;if(t>>>0<(h[10222]|0)>>>0)Xe();else{_=r;m=t}}else{h[10218]=n|r;_=40912+(t+2<<2)|0;m=f}h[_>>2]=p;h[m+12>>2]=p;h[p+8>>2]=m;h[p+12>>2]=f;return}r=a>>>8;if(r)if(a>>>0>16777215)f=31;else{_=(r+1048320|0)>>>16&8;m=r<<_;w=(m+520192|0)>>>16&4;m=m<>>16&2;f=14-(w|_|f)+(m<>>15)|0;f=a>>>(f+7|0)&1|f<<1}else f=0;r=41176+(f<<2)|0;h[p+28>>2]=f;h[p+20>>2]=0;h[p+16>>2]=0;t=h[10219]|0;n=1<>2]=p;h[p+24>>2]=r;h[p+12>>2]=p;h[p+8>>2]=p;return}r=h[r>>2]|0;e:do{if((h[r+4>>2]&-8|0)!=(a|0)){f=a<<((f|0)==31?0:25-(f>>>1)|0);while(1){t=r+16+(f>>>31<<2)|0;n=h[t>>2]|0;if(!n)break;if((h[n+4>>2]&-8|0)==(a|0)){r=n;break e}else{f=f<<1;r=n}}if(t>>>0<(h[10222]|0)>>>0)Xe();h[t>>2]=p;h[p+24>>2]=r;h[p+12>>2]=p;h[p+8>>2]=p;return}}while(0);t=r+8|0;n=h[t>>2]|0;m=h[10222]|0;if(!(n>>>0>=m>>>0&r>>>0>=m>>>0))Xe();h[n+12>>2]=p;h[t>>2]=p;h[p+8>>2]=n;h[p+12>>2]=r;h[p+24>>2]=0;return}function Vc(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;t=h[9321]|0;Jc(42048,t,42104);h[10342]=42892;h[10344]=42912;h[10343]=0;e=h[10720]|0;T=0;ve(62,41368+e|0,42048);f=T;T=0;if(f&1){f=Ze()|0;bh(41376);si(f|0)}h[41368+(e+72)>>2]=0;h[41368+(e+76)>>2]=-1;n=h[9322]|0;Zc(42152,n,42112);h[10364]=42972;h[10365]=42992;r=h[10740]|0;T=0;ve(62,41456+r|0,42152);f=T;T=0;if(f&1){f=Ze()|0;bh(41460);si(f|0)}e=r+72|0;h[41456+e>>2]=0;i=r+76|0;h[41456+i>>2]=-1;f=h[9320]|0;Zc(42200,f,42120);h[10385]=42972;h[10386]=42992;T=0;ve(62,41540+r|0,42200);a=T;T=0;if(a&1){a=Ze()|0;bh(41544);si(a|0)}h[41540+e>>2]=0;h[41540+i>>2]=-1;a=h[41540+((h[(h[10385]|0)+-12>>2]|0)+24)>>2]|0;h[10406]=42972;h[10407]=42992;T=0;ve(62,41624+r|0,a|0);a=T;T=0;if(a&1){a=Ze()|0;bh(41628);si(a|0)}h[41624+e>>2]=0;h[41624+i>>2]=-1;h[41368+((h[(h[10342]|0)+-12>>2]|0)+72)>>2]=41456;e=41540+((h[(h[10385]|0)+-12>>2]|0)+4)|0;h[e>>2]=h[e>>2]|8192;h[41540+((h[(h[10385]|0)+-12>>2]|0)+72)>>2]=41456;Qc(42248,t,42128);h[10427]=42932;h[10429]=42952;h[10428]=0;e=h[10730]|0;T=0;ve(62,41708+e|0,42248);a=T;T=0;if(a&1){a=Ze()|0;ph(41716);si(a|0)}h[41708+(e+72)>>2]=0;h[41708+(e+76)>>2]=-1;$c(42304,n,42136);h[10449]=43012;h[10450]=43032;r=h[10750]|0;T=0;ve(62,41796+r|0,42304);a=T;T=0;if(a&1){a=Ze()|0;ph(41800);si(a|0)}e=r+72|0;h[41796+e>>2]=0;i=r+76|0;h[41796+i>>2]=-1;$c(42352,f,42144);h[10470]=43012;h[10471]=43032;T=0;ve(62,41880+r|0,42352);a=T;T=0;if(a&1){a=Ze()|0;ph(41884);si(a|0)}h[41880+e>>2]=0;h[41880+i>>2]=-1;a=h[41880+((h[(h[10470]|0)+-12>>2]|0)+24)>>2]|0;h[10491]=43012;h[10492]=43032;T=0;ve(62,41964+r|0,a|0);a=T;T=0;if(a&1){a=Ze()|0;ph(41968);si(a|0)}else{h[41964+e>>2]=0;h[41964+i>>2]=-1;h[41708+((h[(h[10427]|0)+-12>>2]|0)+72)>>2]=41796;a=41880+((h[(h[10470]|0)+-12>>2]|0)+4)|0;h[a>>2]=h[a>>2]|8192;h[41880+((h[(h[10470]|0)+-12>>2]|0)+72)>>2]=41796;return}}function Gc(e){e=e|0;T=0;ye(70,41456)|0;e=T;T=0;if(((!(e&1)?(T=0,ye(70,41624)|0,e=T,T=0,!(e&1)):0)?(T=0,ye(71,41796)|0,e=T,T=0,!(e&1)):0)?(T=0,ye(71,41964)|0,e=T,T=0,!(e&1)):0)return;e=Ze(0)|0;Ki(e)}function Kc(){Vc(0);yi(187,56757,M|0)|0;return}function Wc(){return}function Jc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+16|0;f=n+4|0;t=n;Eh(e);h[e>>2]=42600;h[e+32>>2]=i;h[e+40>>2]=r;h[e+48>>2]=-1;c[e+52>>0]=0;qu(f,e+4|0);h[t>>2]=h[f>>2];T=0;ve(23,e|0,t|0);r=T;T=0;if(r&1){f=Ze()|0;Xu(t);gh(e);si(f|0)}else{Xu(t);v=n;return}}function Zc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+16|0;f=n+4|0;t=n;Eh(e);h[e>>2]=42536;h[e+32>>2]=i;qu(f,e+4|0);h[t>>2]=h[f>>2];T=0;i=Oe(37,t|0,44280)|0;f=T;T=0;if(f&1){f=Ze()|0;Xu(t);gh(e);si(f|0)}else{Xu(t);h[e+36>>2]=i;h[e+40>>2]=r;f=(mE[h[(h[i>>2]|0)+28>>2]&127](i)|0)&1;c[e+44>>0]=f;v=n;return}}function Qc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+16|0;f=n+4|0;t=n;Fh(e);h[e>>2]=42472;h[e+32>>2]=i;h[e+40>>2]=r;h[e+48>>2]=-1;c[e+52>>0]=0;qu(f,e+4|0);h[t>>2]=h[f>>2];T=0;ve(21,e|0,t|0);r=T;T=0;if(r&1){f=Ze()|0;Xu(t);Bh(e);si(f|0)}else{Xu(t);v=n;return}}function $c(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+16|0;f=n+4|0;t=n;Fh(e);h[e>>2]=42408;h[e+32>>2]=i;qu(f,e+4|0);h[t>>2]=h[f>>2];T=0;i=Oe(37,t|0,44288)|0;f=T;T=0;if(f&1){f=Ze()|0;Xu(t);Bh(e);si(f|0)}else{Xu(t);h[e+36>>2]=i;h[e+40>>2]=r;f=(mE[h[(h[i>>2]|0)+28>>2]&127](i)|0)&1;c[e+44>>0]=f;v=n;return}}function ed(e){e=e|0;Bh(e);zv(e);return}function id(e,i){e=e|0;i=i|0;mE[h[(h[e>>2]|0)+24>>2]&127](e)|0;i=Vu(i,44288)|0;h[e+36>>2]=i;i=(mE[h[(h[i>>2]|0)+28>>2]&127](i)|0)&1;c[e+44>>0]=i;return}function rd(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o;r=e+36|0;t=e+40|0;n=l+8|0;f=l;i=e+32|0;e:while(1){e=h[r>>2]|0;e=TE[h[(h[e>>2]|0)+20>>2]&31](e,h[t>>2]|0,l,n,a)|0;u=(h[a>>2]|0)-f|0;if((Uy(l,1,u,h[i>>2]|0)|0)!=(u|0)){e=-1;break}switch(e|0){case 1:break;case 2:{e=-1;break e}default:{s=4;break e}}}if((s|0)==4)e=((By(h[i>>2]|0)|0)!=0)<<31>>31;v=o;return e|0}function td(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e:do{if(!(c[e+44>>0]|0))if((r|0)>0){t=i;i=0;while(1){if((ME[h[(h[e>>2]|0)+52>>2]&63](e,h[t>>2]|0)|0)==-1)break e;i=i+1|0;if((i|0)<(r|0))t=t+4|0;else break}}else i=0;else i=Uy(i,4,r,h[e+32>>2]|0)|0}while(0);return i|0}function nd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+32|0;b=_+16|0;r=_+8|0;d=_+4|0;u=_;k=(i|0)==-1;e:do{if(!k){h[r>>2]=i;if(c[e+44>>0]|0)if((Uy(r,4,1,h[e+32>>2]|0)|0)==1){w=11;break}else{r=-1;break}h[d>>2]=b;s=r+4|0;o=e+36|0;n=e+40|0;f=b+8|0;a=b;l=e+32|0;while(1){e=h[o>>2]|0;e=CE[h[(h[e>>2]|0)+12>>2]&15](e,h[n>>2]|0,r,s,u,b,f,d)|0;if((h[u>>2]|0)==(r|0)){r=-1;break e}if((e|0)==3)break;t=(e|0)==1;if(e>>>0>=2){r=-1;break e}e=(h[d>>2]|0)-a|0;if((Uy(b,1,e,h[l>>2]|0)|0)!=(e|0)){r=-1;break e}if(t)r=t?h[u>>2]|0:r;else{w=11;break e}}if((Uy(r,1,1,h[l>>2]|0)|0)!=1)r=-1;else w=11}else w=11}while(0);if((w|0)==11)r=k?0:i;v=_;return r|0}function fd(e,i){e=e|0;i=i|0;var r=0,t=0;t=Vu(i,44288)|0;r=e+36|0;h[r>>2]=t;t=mE[h[(h[t>>2]|0)+24>>2]&127](t)|0;i=e+44|0;h[i>>2]=t;r=h[r>>2]|0;r=(mE[h[(h[r>>2]|0)+28>>2]&127](r)|0)&1;c[e+53>>0]=r;if((h[i>>2]|0)>8)iu(56783);return}function ad(e){e=e|0;Bh(e);zv(e);return}function ld(e){e=e|0;return ud(e,0)|0}function sd(e){e=e|0;return ud(e,1)|0}function od(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;s=o+16|0;l=o+8|0;t=o+4|0;n=o;f=e+52|0;r=(c[f>>0]|0)!=0;e:do{if((i|0)==-1)if(r)i=-1;else{i=h[e+48>>2]|0;c[f>>0]=(i|0)!=-1&1}else{a=e+48|0;i:do{if(r){h[t>>2]=h[a>>2];r=h[e+36>>2]|0;switch(CE[h[(h[r>>2]|0)+12>>2]&15](r,h[e+40>>2]|0,t,t+4|0,n,s,s+8|0,l)|0){case 1:case 2:{i=-1;break e}case 3:{c[s>>0]=h[a>>2];h[l>>2]=s+1;break}default:{}}r=e+32|0;while(1){t=h[l>>2]|0;if(t>>>0<=s>>>0)break i;e=t+-1|0;h[l>>2]=e;if((qy(c[e>>0]|0,h[r>>2]|0)|0)==-1){i=-1;break e}}}}while(0);h[a>>2]=i;c[f>>0]=1}}while(0);v=o;return i|0}function ud(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0;w=v;v=v+32|0;k=w+16|0;b=w+8|0;o=w+4|0;u=w;n=e+52|0;e:do{if(c[n>>0]|0){t=e+48|0;r=h[t>>2]|0;if(i){h[t>>2]=-1;c[n>>0]=0}}else{r=h[e+44>>2]|0;r=(r|0)>1?r:1;d=e+32|0;if((r|0)>0){n=0;do{t=jy(h[d>>2]|0)|0;if((t|0)==-1){r=-1;break e}c[k+n>>0]=t;n=n+1|0}while((n|0)<(r|0))}i:do{if(!(c[e+53>>0]|0)){a=e+40|0;l=e+36|0;s=b+4|0;r:while(1){_=h[a>>2]|0;n=_;t=h[n>>2]|0;n=h[n+4>>2]|0;m=h[l>>2]|0;f=k+r|0;switch(CE[h[(h[m>>2]|0)+16>>2]&15](m,_,k,f,o,b,s,u)|0){case 2:{r=-1;break e}case 3:break r;case 1:break;default:break i}m=h[a>>2]|0;h[m>>2]=t;h[m+4>>2]=n;if((r|0)==8){r=-1;break e}t=jy(h[d>>2]|0)|0;if((t|0)==-1){r=-1;break e}c[f>>0]=t;r=r+1|0}h[b>>2]=c[k>>0]}else h[b>>2]=c[k>>0]}while(0);if(i){r=h[b>>2]|0;h[e+48>>2]=r;break}while(1){if((r|0)<=0)break;r=r+-1|0;if((qy(c[k+r>>0]|0,h[d>>2]|0)|0)==-1){r=-1;break e}}r=h[b>>2]|0}}while(0);v=w;return r|0}function cd(e){e=e|0;gh(e);zv(e);return}function dd(e,i){e=e|0;i=i|0;mE[h[(h[e>>2]|0)+24>>2]&127](e)|0;i=Vu(i,44280)|0;h[e+36>>2]=i;i=(mE[h[(h[i>>2]|0)+28>>2]&127](i)|0)&1;c[e+44>>0]=i;return}function hd(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+16|0;l=o+8|0;a=o;r=e+36|0;t=e+40|0;n=l+8|0;f=l;i=e+32|0;e:while(1){e=h[r>>2]|0;e=TE[h[(h[e>>2]|0)+20>>2]&31](e,h[t>>2]|0,l,n,a)|0;u=(h[a>>2]|0)-f|0;if((Uy(l,1,u,h[i>>2]|0)|0)!=(u|0)){e=-1;break}switch(e|0){case 1:break;case 2:{e=-1;break e}default:{s=4;break e}}}if((s|0)==4)e=((By(h[i>>2]|0)|0)!=0)<<31>>31;v=o;return e|0}function bd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e:do{if(!(c[e+44>>0]|0))if((r|0)>0){t=i;i=0;while(1){if((ME[h[(h[e>>2]|0)+52>>2]&63](e,b[t>>0]|0)|0)==-1)break e;i=i+1|0;if((i|0)<(r|0))t=t+1|0;else break}}else i=0;else i=Uy(i,1,r,h[e+32>>2]|0)|0}while(0);return i|0}function kd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+32|0;b=_+16|0;r=_+8|0;d=_+4|0;u=_;k=(i|0)==-1;e:do{if(!k){c[r>>0]=i;if(c[e+44>>0]|0)if((Uy(r,1,1,h[e+32>>2]|0)|0)==1){w=11;break}else{r=-1;break}h[d>>2]=b;o=r+1|0;n=e+36|0;f=e+40|0;a=b+8|0;l=b;s=e+32|0;while(1){e=h[n>>2]|0;e=CE[h[(h[e>>2]|0)+12>>2]&15](e,h[f>>2]|0,r,o,u,b,a,d)|0;if((h[u>>2]|0)==(r|0)){r=-1;break e}if((e|0)==3)break;t=(e|0)==1;if(e>>>0>=2){r=-1;break e}e=(h[d>>2]|0)-l|0;if((Uy(b,1,e,h[s>>2]|0)|0)!=(e|0)){r=-1;break e}if(t)r=t?h[u>>2]|0:r;else{w=11;break e}}if((Uy(r,1,1,h[s>>2]|0)|0)!=1)r=-1;else w=11}else w=11}while(0);if((w|0)==11)r=k?0:i;v=_;return r|0}function wd(e,i){e=e|0;i=i|0;var r=0,t=0;t=Vu(i,44280)|0;r=e+36|0;h[r>>2]=t;t=mE[h[(h[t>>2]|0)+24>>2]&127](t)|0;i=e+44|0;h[i>>2]=t;r=h[r>>2]|0;r=(mE[h[(h[r>>2]|0)+28>>2]&127](r)|0)&1;c[e+53>>0]=r;if((h[i>>2]|0)>8)iu(56783);return}function _d(e){e=e|0;gh(e);zv(e);return}function md(e){e=e|0;return gd(e,0)|0}function pd(e){e=e|0;return gd(e,1)|0}function vd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;s=o+16|0;l=o+4|0;t=o+8|0;n=o;f=e+52|0;r=(c[f>>0]|0)!=0;e:do{if((i|0)==-1)if(r)i=-1;else{i=h[e+48>>2]|0;c[f>>0]=(i|0)!=-1&1}else{a=e+48|0;i:do{if(r){c[t>>0]=h[a>>2];r=h[e+36>>2]|0;switch(CE[h[(h[r>>2]|0)+12>>2]&15](r,h[e+40>>2]|0,t,t+1|0,n,s,s+8|0,l)|0){case 1:case 2:{i=-1;break e}case 3:{c[s>>0]=h[a>>2];h[l>>2]=s+1;break}default:{}}r=e+32|0;while(1){t=h[l>>2]|0;if(t>>>0<=s>>>0)break i;e=t+-1|0;h[l>>2]=e;if((qy(c[e>>0]|0,h[r>>2]|0)|0)==-1){i=-1;break e}}}}while(0);h[a>>2]=i;c[f>>0]=1}}while(0);v=o;return i|0}function gd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0;_=v;v=v+32|0;w=_+16|0;k=_+8|0;o=_+4|0;u=_;n=e+52|0;e:do{if(c[n>>0]|0){t=e+48|0;r=h[t>>2]|0;if(i){h[t>>2]=-1;c[n>>0]=0}}else{r=h[e+44>>2]|0;r=(r|0)>1?r:1;d=e+32|0;if((r|0)>0){n=0;do{t=jy(h[d>>2]|0)|0;if((t|0)==-1){r=-1;break e}c[w+n>>0]=t;n=n+1|0}while((n|0)<(r|0))}i:do{if(!(c[e+53>>0]|0)){a=e+40|0;l=e+36|0;s=k+1|0;r:while(1){m=h[a>>2]|0;n=m;t=h[n>>2]|0;n=h[n+4>>2]|0;p=h[l>>2]|0;f=w+r|0;switch(CE[h[(h[p>>2]|0)+16>>2]&15](p,m,w,f,o,k,s,u)|0){case 2:{r=-1;break e}case 3:break r;case 1:break;default:break i}p=h[a>>2]|0;h[p>>2]=t;h[p+4>>2]=n;if((r|0)==8){r=-1;break e}t=jy(h[d>>2]|0)|0;if((t|0)==-1){r=-1;break e}c[f>>0]=t;r=r+1|0}c[k>>0]=c[w>>0]|0}else c[k>>0]=c[w>>0]|0}while(0);if(i){r=c[k>>0]|0;h[e+48>>2]=r&255}else{while(1){if((r|0)<=0)break;r=r+-1|0;if((qy(b[w+r>>0]|0,h[d>>2]|0)|0)==-1){r=-1;break e}}r=c[k>>0]|0}r=r&255}}while(0);v=_;return r|0}function yd(e){e=e|0;return}function Ed(e){e=e|0;e=e+4|0;h[e>>2]=(h[e>>2]|0)+1;return}function Ad(e){e=e|0;var i=0,r=0;r=e+4|0;i=h[r>>2]|0;h[r>>2]=i+-1;if(!i){kE[h[(h[e>>2]|0)+8>>2]&255](e);e=1}else e=0;return e|0}function Md(e,i){e=e|0;i=i|0;h[e>>2]=36868;T=0;ve(86,e+4|0,((c[i>>0]&1)==0?i+1|0:h[i+8>>2]|0)|0);e=T;T=0;if(e&1){e=Ze()|0;si(e|0)}else return}function Td(e,i){e=e|0;i=i|0;h[e>>2]=36868;T=0;ve(86,e+4|0,i|0);e=T;T=0;if(e&1){e=Ze()|0;si(e|0)}else return}function Sd(e,i){e=e|0;i=i|0;var r=0,t=0;t=rE(i)|0;r=Xv(t+13|0)|0;h[r>>2]=t;h[r+4>>2]=t;h[r+8>>2]=0;r=r+12|0;Im(r|0,i|0,t+1|0)|0;h[e>>2]=r;return}function Pd(e,i,r){e=e|0;i=i|0;r=r|0;h[e>>2]=r;h[e+4>>2]=i;return}function Od(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+16|0;t=n;RE[h[(h[e>>2]|0)+12>>2]&15](t,e,i);if((h[t+4>>2]|0)==(h[r+4>>2]|0))t=(h[t>>2]|0)==(h[r>>2]|0);else t=0;v=n;return t|0}function Rd(e,i,r){e=e|0;i=i|0;r=r|0;return((h[i>>2]|0)==(r|0)?(h[i+4>>2]|0)==(e|0):0)|0}function Ld(e,i,r){e=e|0;i=i|0;r=r|0;i=Vg(r)|0;Hd(e,i,rE(i)|0);return}function Cd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;a=v;v=v+16|0;f=a;t=h[i>>2]|0;do{if(t){n=c[r>>0]|0;if(!(n&1))n=(n&255)>>>1;else n=h[r+4>>2]|0;if(n){Jd(r,56990)|0;t=h[i>>2]|0}i=h[i+4>>2]|0;RE[h[(h[i>>2]|0)+24>>2]&15](f,i,t);i=c[f>>0]|0;n=(i&1)==0;T=0;Ae(30,r|0,(n?f+1|0:h[f+8>>2]|0)|0,(n?(i&255)>>>1:h[f+4>>2]|0)|0)|0;i=T;T=0;if(i&1){a=Ze()|0;qd(f);si(a|0)}else{qd(f);break}}}while(0);h[e>>2]=h[r>>2];h[e+4>>2]=h[r+4>>2];h[e+8>>2]=h[r+8>>2];h[r>>2]=0;h[r+4>>2]=0;h[r+8>>2]=0;v=a;return}function Dd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+32|0;t=n+12|0;f=n;Hd(f,r,rE(r)|0);T=0;xe(10,t|0,i|0,f|0);r=T;T=0;do{if(!(r&1)){T=0;ve(87,e|0,t|0);r=T;T=0;if(r&1){n=Ze()|0;qd(t);t=n;break}else{qd(t);qd(f);h[e>>2]=42664;r=h[i+4>>2]|0;f=e+8|0;h[f>>2]=h[i>>2];h[f+4>>2]=r;v=n;return}}else t=Ze()|0}while(0);qd(f);si(t|0)}function xd(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;f=v;v=v+48|0;n=f+24|0;l=f+16|0;a=f;h[l>>2]=i;h[l+4>>2]=r;jd(a,t);T=0;xe(10,n|0,l|0,a|0);t=T;T=0;do{if(!(t&1)){T=0;ve(87,e|0,n|0);l=T;T=0;if(l&1){l=Ze()|0;qd(n);n=l;break}else{qd(n);qd(a);h[e>>2]=42664;h[e+8>>2]=i;h[e+12>>2]=r;v=f;return}}else n=Ze()|0}while(0);qd(a);si(n|0)}function Id(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;n=v;v=v+48|0;t=n+24|0;a=n+16|0;f=n;h[a>>2]=i;h[a+4>>2]=r;Hd(f,58898,0);T=0;xe(10,t|0,a|0,f|0);a=T;T=0;do{if(!(a&1)){T=0;ve(87,e|0,t|0);a=T;T=0;if(a&1){a=Ze()|0;qd(t);t=a;break}else{qd(t);qd(f);h[e>>2]=42664;h[e+8>>2]=i;h[e+12>>2]=r;v=n;return}}else t=Ze()|0}while(0);qd(f);si(t|0)}function Bd(e){e=e|0;ig(e);return}function Nd(e){e=e|0;ig(e);zv(e);return}function Fd(e){e=e|0;return}function Ud(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;Oi(42676)|0;if((h[e>>2]|0)==1)do{He(42704,42676)|0}while((h[e>>2]|0)==1);do{if(!(h[e>>2]|0)){h[e>>2]=1;T=0;ye(72,42676)|0;t=T;T=0;if((((!(t&1)?(T=0,pe(r|0,i|0),t=T,T=0,!(t&1)):0)?(T=0,ye(73,42676)|0,t=T,T=0,!(t&1)):0)?(h[e>>2]=-1,T=0,ye(72,42676)|0,t=T,T=0,!(t&1)):0)?(T=0,ye(74,42704)|0,t=T,T=0,!(t&1)):0)break;t=Ze(0)|0;fi(t|0)|0;T=0;ye(73,42676)|0;t=T;T=0;if((!(t&1)?(h[e>>2]=0,T=0,ye(72,42676)|0,t=T,T=0,!(t&1)):0)?(T=0,ye(74,42704)|0,t=T,T=0,!(t&1)):0){T=0;Ie(5);T=0}i=Ze()|0;T=0;Ie(3);t=T;T=0;if(t&1){t=Ze(0)|0;Ki(t)}else si(i|0)}else bi(42676)|0}while(0);return}function jd(e,i){e=e|0;i=i|0;if(!(c[i>>0]&1)){h[e>>2]=h[i>>2];h[e+4>>2]=h[i+4>>2];h[e+8>>2]=h[i+8>>2]}else Hd(e,h[i+8>>2]|0,h[i+4>>2]|0);return}function Hd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(r>>>0>4294967279)Hv(e);if(r>>>0<11){c[e>>0]=r<<1;e=e+1|0}else{n=r+16&-16;t=Xv(n)|0;h[e+8>>2]=t;h[e>>2]=n|1;h[e+4>>2]=r;e=t}Im(e|0,i|0,r|0)|0;c[e+r>>0]=0;return}function Yd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(i>>>0>4294967279)Hv(e);if(i>>>0<11){c[e>>0]=i<<1;e=e+1|0}else{n=i+16&-16;t=Xv(n)|0;h[e+8>>2]=t;h[e>>2]=n|1;h[e+4>>2]=i;e=t}Cm(e|0,r|0,i|0)|0;c[e+i>>0]=0;return}function qd(e){e=e|0;if(c[e>>0]&1)zv(h[e+8>>2]|0);return}function Xd(e,i){e=e|0;i=i|0;var r=0,t=0;if((e|0)!=(i|0)){r=c[i>>0]|0;t=(r&1)==0;Vd(e,t?i+1|0:h[i+8>>2]|0,t?(r&255)>>>1:h[i+4>>2]|0)|0}return e|0}function zd(e,i){e=e|0;i=i|0;return Vd(e,i,rE(i)|0)|0}function Vd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;t=c[e>>0]|0;if(!(t&1))f=10;else{t=h[e>>2]|0;f=(t&-2)+-1|0;t=t&255}n=(t&1)==0;do{if(f>>>0>=r>>>0){if(n)t=e+1|0;else t=h[e+8>>2]|0;Nm(t|0,i|0,r|0)|0;c[t+r>>0]=0;if(!(c[e>>0]&1)){c[e>>0]=r<<1;break}else{h[e+4>>2]=r;break}}else{if(n)t=(t&255)>>>1;else t=h[e+4>>2]|0;$d(e,f,r-f|0,t,0,t,r,i)}}while(0);return e|0}function Gd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=c[e>>0]|0;n=(t&1)==0;if(n)t=(t&255)>>>1;else t=h[e+4>>2]|0;do{if(t>>>0>=i>>>0)if(n){c[e+1+i>>0]=0;c[e>>0]=i<<1;break}else{c[(h[e+8>>2]|0)+i>>0]=0;h[e+4>>2]=i;break}else Kd(e,i-t|0,r)|0}while(0);return}function Kd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;if(i){t=c[e>>0]|0;if(!(t&1))n=10;else{t=h[e>>2]|0;n=(t&-2)+-1|0;t=t&255}if(!(t&1))f=(t&255)>>>1;else f=h[e+4>>2]|0;if((n-f|0)>>>0>>0){eh(e,n,i-n+f|0,f,f,0,0);t=c[e>>0]|0}if(!(t&1))n=e+1|0;else n=h[e+8>>2]|0;Cm(n+f|0,r|0,i|0)|0;t=f+i|0;if(!(c[e>>0]&1))c[e>>0]=t<<1;else h[e+4>>2]=t;c[n+t>>0]=0}return e|0}function Wd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;if(i>>>0>4294967279)Hv(e);r=c[e>>0]|0;if(!(r&1))t=10;else{r=h[e>>2]|0;t=(r&-2)+-1|0;r=r&255}if(!(r&1))l=(r&255)>>>1;else l=h[e+4>>2]|0;i=l>>>0>i>>>0?l:i;if(i>>>0<11)a=10;else a=(i+16&-16)+-1|0;e:do{if((a|0)!=(t|0)){do{if((a|0)!=10){i=a+1|0;if(a>>>0<=t>>>0){T=0;i=ye(67,i|0)|0;f=T;T=0;if(f&1){e=Ze(0)|0;fi(e|0)|0;li();break e}}else i=Xv(i)|0;if(!(r&1)){t=1;n=e+1|0;f=0;break}else{t=1;n=h[e+8>>2]|0;f=1;break}}else{i=e+1|0;t=0;n=h[e+8>>2]|0;f=1}}while(0);if(!(r&1))r=(r&255)>>>1;else r=h[e+4>>2]|0;Im(i|0,n|0,r+1|0)|0;if(f)zv(n);if(t){h[e>>2]=a+1|1;h[e+4>>2]=l;h[e+8>>2]=i;break}else{c[e>>0]=l<<1;break}}}while(0);return}function Jd(e,i){e=e|0;i=i|0;return Qd(e,i,rE(i)|0)|0}function Zd(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;r=c[e>>0]|0;t=(r&1)!=0;if(t){n=(h[e>>2]&-2)+-1|0;f=h[e+4>>2]|0}else{n=10;f=(r&255)>>>1}if((f|0)==(n|0)){eh(e,n,1,n,n,0,0);if(!(c[e>>0]&1))n=7;else n=8}else if(t)n=8;else n=7;if((n|0)==7){c[e>>0]=(f<<1)+2;r=e+1|0;t=f+1|0}else if((n|0)==8){r=h[e+8>>2]|0;t=f+1|0;h[e+4>>2]=t}c[r+f>>0]=i;c[r+t>>0]=0;return}function Qd(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;t=c[e>>0]|0;if(!(t&1))n=10;else{t=h[e>>2]|0;n=(t&-2)+-1|0;t=t&255}if(!(t&1))f=(t&255)>>>1;else f=h[e+4>>2]|0;if((n-f|0)>>>0>=r>>>0){if(r){if(!(t&1))n=e+1|0;else n=h[e+8>>2]|0;Im(n+f|0,i|0,r|0)|0;t=f+r|0;if(!(c[e>>0]&1))c[e>>0]=t<<1;else h[e+4>>2]=t;c[n+t>>0]=0}}else $d(e,n,r-n+f|0,f,f,0,r,i);return e|0}function $d(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0;if((-18-i|0)>>>0>>0)Hv(e);if(!(c[e>>0]&1))u=e+1|0;else u=h[e+8>>2]|0;if(i>>>0<2147483623){s=r+i|0;o=i<<1;s=s>>>0>>0?o:s;s=s>>>0<11?11:s+16&-16}else s=-17;o=Xv(s)|0;if(n)Im(o|0,u|0,n|0)|0;if(a)Im(o+n|0,l|0,a|0)|0;r=t-f|0;if((r|0)!=(n|0))Im(o+(a+n)|0,u+(f+n)|0,r-n|0)|0;if((i|0)!=10)zv(u);h[e+8>>2]=o;h[e>>2]=s|1;i=r+a|0;h[e+4>>2]=i;c[o+i>>0]=0;return}function eh(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0;if((-17-i|0)>>>0>>0)Hv(e);if(!(c[e>>0]&1))o=e+1|0;else o=h[e+8>>2]|0;if(i>>>0<2147483623){l=r+i|0;s=i<<1;l=l>>>0>>0?s:l;l=l>>>0<11?11:l+16&-16}else l=-17;s=Xv(l)|0;if(n)Im(s|0,o|0,n|0)|0;r=t-f|0;if((r|0)!=(n|0))Im(s+(a+n)|0,o+(f+n)|0,r-n|0)|0;if((i|0)!=10)zv(o);h[e+8>>2]=s;h[e>>2]=l|1;return}function ih(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(r>>>0>1073741807)Hv(e);if(r>>>0<2){c[e>>0]=r<<1;e=e+4|0}else{n=r+4&-4;t=Xv(n<<2)|0;h[e+8>>2]=t;h[e>>2]=n|1;h[e+4>>2]=r;e=t}fE(e,i,r)|0;h[e+(r<<2)>>2]=0;return}function rh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(i>>>0>1073741807)Hv(e);if(i>>>0<2){c[e>>0]=i<<1;e=e+4|0}else{n=i+4&-4;t=Xv(n<<2)|0;h[e+8>>2]=t;h[e>>2]=n|1;h[e+4>>2]=i;e=t}lE(e,r,i)|0;h[e+(i<<2)>>2]=0;return}function th(e){e=e|0;if(c[e>>0]&1)zv(h[e+8>>2]|0);return}function nh(e,i){e=e|0;i=i|0;return fh(e,i,nE(i)|0)|0}function fh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;t=c[e>>0]|0;if(!(t&1))f=1;else{t=h[e>>2]|0;f=(t&-2)+-1|0;t=t&255}n=(t&1)==0;do{if(f>>>0>=r>>>0){if(n)t=e+4|0;else t=h[e+8>>2]|0;aE(t,i,r)|0;h[t+(r<<2)>>2]=0;if(!(c[e>>0]&1)){c[e>>0]=r<<1;break}else{h[e+4>>2]=r;break}}else{if(n)t=(t&255)>>>1;else t=h[e+4>>2]|0;sh(e,f,r-f|0,t,0,t,r,i)}}while(0);return e|0}function ah(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;if(i>>>0>1073741807)Hv(e);r=c[e>>0]|0;if(!(r&1))t=1;else{r=h[e>>2]|0;t=(r&-2)+-1|0;r=r&255}if(!(r&1))l=(r&255)>>>1;else l=h[e+4>>2]|0;i=l>>>0>i>>>0?l:i;if(i>>>0<2)a=1;else a=(i+4&-4)+-1|0;e:do{if((a|0)!=(t|0)){do{if((a|0)!=1){i=(a<<2)+4|0;if(a>>>0<=t>>>0){T=0;i=ye(67,i|0)|0;f=T;T=0;if(f&1){e=Ze(0)|0;fi(e|0)|0;li();break e}}else i=Xv(i)|0;if(!(r&1)){t=1;n=e+4|0;f=0;break}else{t=1;n=h[e+8>>2]|0;f=1;break}}else{i=e+4|0;t=0;n=h[e+8>>2]|0;f=1}}while(0);if(!(r&1))r=(r&255)>>>1;else r=h[e+4>>2]|0;fE(i,n,r+1|0)|0;if(f)zv(n);if(t){h[e>>2]=a+1|1;h[e+4>>2]=l;h[e+8>>2]=i;break}else{c[e>>0]=l<<1;break}}}while(0);return}function lh(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;r=c[e>>0]|0;t=(r&1)!=0;if(t){n=(h[e>>2]&-2)+-1|0;f=h[e+4>>2]|0}else{n=1;f=(r&255)>>>1}if((f|0)==(n|0)){oh(e,n,1,n,n,0,0);if(!(c[e>>0]&1))n=7;else n=8}else if(t)n=8;else n=7;if((n|0)==7){c[e>>0]=(f<<1)+2;r=e+4|0;t=f+1|0}else if((n|0)==8){r=h[e+8>>2]|0;t=f+1|0;h[e+4>>2]=t}h[r+(f<<2)>>2]=i;h[r+(t<<2)>>2]=0;return}function sh(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0;if((1073741806-i|0)>>>0>>0)Hv(e);if(!(c[e>>0]&1))u=e+4|0;else u=h[e+8>>2]|0;if(i>>>0<536870887){s=r+i|0;o=i<<1;s=s>>>0>>0?o:s;s=s>>>0<2?2:s+4&-4}else s=1073741807;o=Xv(s<<2)|0;if(n)fE(o,u,n)|0;if(a)fE(o+(n<<2)|0,l,a)|0;r=t-f|0;if((r|0)!=(n|0))fE(o+(a+n<<2)|0,u+(f+n<<2)|0,r-n|0)|0;if((i|0)!=1)zv(u);h[e+8>>2]=o;h[e>>2]=s|1;i=r+a|0;h[e+4>>2]=i;h[o+(i<<2)>>2]=0;return}function oh(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0;if((1073741807-i|0)>>>0>>0)Hv(e);if(!(c[e>>0]&1))o=e+4|0;else o=h[e+8>>2]|0;if(i>>>0<536870887){l=r+i|0;s=i<<1;l=l>>>0>>0?s:l;l=l>>>0<2?2:l+4&-4}else l=1073741807;s=Xv(l<<2)|0;if(n)fE(s,o,n)|0;r=t-f|0;if((r|0)!=(n|0))fE(s+(a+n<<2)|0,o+(f+n<<2)|0,r-n|0)|0;if((i|0)!=1)zv(o);h[e+8>>2]=s;h[e>>2]=l|1;return}function uh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;n=i;t=r-n|0;if(t>>>0>4294967279)Hv(e);if(t>>>0<11){c[e>>0]=t<<1;f=e+1|0}else{a=t+16&-16;f=Xv(a)|0;h[e+8>>2]=f;h[e>>2]=a|1;h[e+4>>2]=t}e=r-n|0;if((i|0)!=(r|0)){t=f;while(1){c[t>>0]=c[i>>0]|0;i=i+1|0;if((i|0)==(r|0))break;else t=t+1|0}}c[f+e>>0]=0;return}function ch(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i;t=r-f|0;n=t>>2;if(n>>>0>1073741807)Hv(e);if(n>>>0<2){c[e>>0]=t>>>1;e=e+4|0}else{a=n+4&-4;t=Xv(a<<2)|0;h[e+8>>2]=t;h[e>>2]=a|1;h[e+4>>2]=n;e=t}n=(r-f|0)>>>2;if((i|0)!=(r|0)){t=e;while(1){h[t>>2]=h[i>>2];i=i+4|0;if((i|0)==(r|0))break;else t=t+4|0}}h[e+(n<<2)>>2]=0;return}function dh(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;r=v;v=v+16|0;t=r;n=(h[e+24>>2]|0)==0;h[e+16>>2]=n&1|i;if(!((n&1|i)&h[e+20>>2])){v=r;return}i=Je(16)|0;Mb()|0;h[t>>2]=1;h[t+4>>2]=43112;T=0;xe(11,i|0,57437,t|0);n=T;T=0;if(n&1){n=Ze()|0;We(i|0);si(n|0)}else Ei(i|0,864,112)}function hh(e){e=e|0;var i=0;h[e>>2]=43068;T=0;ve(88,e|0,0);i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else{Xu(e+28|0);Hc(h[e+32>>2]|0);Hc(h[e+36>>2]|0);Hc(h[e+48>>2]|0);Hc(h[e+60>>2]|0);return}}function bh(e){e=e|0;hh(e);return}function kh(e){e=e|0;hh(e);zv(e);return}function wh(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;r=h[e+40>>2]|0;t=e+32|0;n=e+36|0;if(r)do{r=r+-1|0;RE[h[(h[t>>2]|0)+(r<<2)>>2]&15](i,e,h[(h[n>>2]|0)+(r<<2)>>2]|0)}while((r|0)!=0);return}function _h(e){e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;qu(i,e+28|0);v=r;return h[i>>2]|0}function mh(e,i){e=e|0;i=i|0;var r=0;h[e+24>>2]=i;h[e+16>>2]=(i|0)==0&1;h[e+20>>2]=0;h[e+4>>2]=4098;h[e+12>>2]=0;h[e+8>>2]=6;r=e+28|0;i=e+32|0;e=i+40|0;do{h[i>>2]=0;i=i+4|0}while((i|0)<(e|0));Yu(r);return}function ph(e){e=e|0;hh(e);return}function vh(e){e=e|0;hh(e);zv(e);return}function gh(e){e=e|0;h[e>>2]=42760;Xu(e+4|0);return}function yh(e){e=e|0;h[e>>2]=42760;Xu(e+4|0);zv(e);return}function Eh(e){e=e|0;h[e>>2]=42760;Yu(e+4|0);e=e+8|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[e+20>>2]=0;return}function Ah(e,i){e=e|0;i=i|0;return}function Mh(e,i,r){e=e|0;i=i|0;r=r|0;return e|0}function Th(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function Sh(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function Ph(e){e=e|0;return 0}function Oh(e){e=e|0;return 0}function Rh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+12|0;a=e+16|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=h[f>>2]|0;if(t>>>0<(h[a>>2]|0)>>>0){h[f>>2]=t+1;t=c[t>>0]|0}else{t=mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;if((t|0)==-1)break e;t=t&255}c[n>>0]=t;i=i+1|0;if((i|0)<(r|0))n=n+1|0;else break}}else i=0}while(0);return i|0}function Lh(e){e=e|0;return-1}function Ch(e){e=e|0;var i=0;if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1)e=-1;else{i=e+12|0;e=h[i>>2]|0;h[i>>2]=e+1;e=b[e>>0]|0}return e|0}function Dh(e,i){e=e|0;i=i|0;return-1}function xh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;f=e+24|0;a=e+28|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=h[f>>2]|0;if(t>>>0>=(h[a>>2]|0)>>>0){if((ME[h[(h[e>>2]|0)+52>>2]&63](e,b[n>>0]|0)|0)==-1)break e}else{l=c[n>>0]|0;h[f>>2]=t+1;c[t>>0]=l}i=i+1|0;if((i|0)<(r|0))n=n+1|0;else break}}else i=0}while(0);return i|0}function Ih(e,i){e=e|0;i=i|0;return-1}function Bh(e){e=e|0;h[e>>2]=42824;Xu(e+4|0);return}function Nh(e){e=e|0;h[e>>2]=42824;Xu(e+4|0);zv(e);return}function Fh(e){e=e|0;h[e>>2]=42824;Yu(e+4|0);e=e+8|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[e+20>>2]=0;return}function Uh(e,i){e=e|0;i=i|0;return}function jh(e,i,r){e=e|0;i=i|0;r=r|0;return e|0}function Hh(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function Yh(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=e;h[i>>2]=0;h[i+4>>2]=0;i=e+8|0;h[i>>2]=-1;h[i+4>>2]=-1;return}function qh(e){e=e|0;return 0}function Xh(e){e=e|0;return 0}function zh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=e+12|0;a=e+16|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=h[f>>2]|0;if(t>>>0>=(h[a>>2]|0)>>>0){t=mE[h[(h[e>>2]|0)+40>>2]&127](e)|0;if((t|0)==-1)break e}else{h[f>>2]=t+4;t=h[t>>2]|0}h[n>>2]=t;i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0}while(0);return i|0}function Vh(e){e=e|0;return-1}function Gh(e){e=e|0;var i=0;if((mE[h[(h[e>>2]|0)+36>>2]&127](e)|0)==-1)e=-1;else{i=e+12|0;e=h[i>>2]|0;h[i>>2]=e+4;e=h[e>>2]|0}return e|0}function Kh(e,i){e=e|0;i=i|0;return-1}function Wh(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;f=e+24|0;a=e+28|0;e:do{if((r|0)>0){n=i;i=0;while(1){t=h[f>>2]|0;if(t>>>0>=(h[a>>2]|0)>>>0){if((ME[h[(h[e>>2]|0)+52>>2]&63](e,h[n>>2]|0)|0)==-1)break e}else{l=h[n>>2]|0;h[f>>2]=t+4;h[t>>2]=l}i=i+1|0;if((i|0)<(r|0))n=n+4|0;else break}}else i=0}while(0);return i|0}function Jh(e,i){e=e|0;i=i|0;return-1}function Zh(e){e=e|0;hh(e+8|0);return}function Qh(e){e=e|0;hh(e+((h[(h[e>>2]|0)+-12>>2]|0)+8)|0);return}function $h(e){e=e|0;hh(e+8|0);zv(e);return}function eb(e){e=e|0;$h(e+(h[(h[e>>2]|0)+-12>>2]|0)|0);return}function ib(e){e=e|0;var i=0,r=0,t=0,n=0;t=v;v=v+16|0;r=t;e:do{if(h[e+((h[(h[e>>2]|0)+-12>>2]|0)+24)>>2]|0){T=0;ve(65,r|0,e|0);i=T;T=0;i:do{if(i&1)i=Ze(0)|0;else{do{if(c[r>>0]|0){i=h[e+((h[(h[e>>2]|0)+-12>>2]|0)+24)>>2]|0;T=0;i=ye(h[(h[i>>2]|0)+24>>2]|0,i|0)|0;n=T;T=0;if(!(n&1)){if((i|0)!=-1)break;n=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+n|0,h[e+(n+16)>>2]|1|0);n=T;T=0;if(!(n&1))break}i=Ze(0)|0;bb(r);break i}}while(0);bb(r);break e}}while(0);fi(i|0)|0;T=0;pe(181,e+(h[(h[e>>2]|0)+-12>>2]|0)|0);n=T;T=0;if(!(n&1)){li();break}i=Ze()|0;T=0;Ie(3);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else si(i|0)}}while(0);v=t;return e|0}function rb(e){e=e|0;var i=0;i=e+16|0;h[i>>2]=h[i>>2]|1;if(!(h[e+20>>2]&1))return;else Ai()}function tb(e){e=e|0;hh(e+8|0);return}function nb(e){e=e|0;hh(e+((h[(h[e>>2]|0)+-12>>2]|0)+8)|0);return}function fb(e){e=e|0;hh(e+8|0);zv(e);return}function ab(e){e=e|0;fb(e+(h[(h[e>>2]|0)+-12>>2]|0)|0);return}function lb(e){e=e|0;var i=0,r=0,t=0,n=0;t=v;v=v+16|0;r=t;e:do{if(h[e+((h[(h[e>>2]|0)+-12>>2]|0)+24)>>2]|0){T=0;ve(89,r|0,e|0);i=T;T=0;i:do{if(i&1)i=Ze(0)|0;else{do{if(c[r>>0]|0){i=h[e+((h[(h[e>>2]|0)+-12>>2]|0)+24)>>2]|0;T=0;i=ye(h[(h[i>>2]|0)+24>>2]|0,i|0)|0;n=T;T=0;if(!(n&1)){if((i|0)!=-1)break;n=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+n|0,h[e+(n+16)>>2]|1|0);n=T;T=0;if(!(n&1))break}i=Ze(0)|0;yb(r);break i}}while(0);yb(r);break e}}while(0);fi(i|0)|0;T=0;pe(181,e+(h[(h[e>>2]|0)+-12>>2]|0)|0);n=T;T=0;if(!(n&1)){li();break}i=Ze()|0;T=0;Ie(3);n=T;T=0;if(n&1){n=Ze(0)|0;Ki(n)}else si(i|0)}}while(0);v=t;return e|0}function sb(e,i){e=e|0;i=i|0;return}function ob(e){e=e|0;hh(e+4|0);return}function ub(e){e=e|0;hh(e+((h[(h[e>>2]|0)+-12>>2]|0)+4)|0);return}function cb(e){e=e|0;hh(e+4|0);zv(e);return}function db(e){e=e|0;cb(e+(h[(h[e>>2]|0)+-12>>2]|0)|0);return}function hb(e,i){e=e|0;i=i|0;var r=0;c[e>>0]=0;h[e+4>>2]=i;r=h[(h[i>>2]|0)+-12>>2]|0;if(!(h[i+(r+16)>>2]|0)){r=h[i+(r+72)>>2]|0;if(r)ib(r)|0;c[e>>0]=1}return}function bb(e){e=e|0;var i=0,r=0;e=e+4|0;r=h[e>>2]|0;i=h[(h[r>>2]|0)+-12>>2]|0;do{if((((h[r+(i+24)>>2]|0)!=0?(h[r+(i+16)>>2]|0)==0:0)?(h[r+(i+4)>>2]&8192|0)!=0:0)?!(oi()|0):0){i=h[e>>2]|0;i=h[i+((h[(h[i>>2]|0)+-12>>2]|0)+24)>>2]|0;T=0;i=ye(h[(h[i>>2]|0)+24>>2]|0,i|0)|0;r=T;T=0;if(!(r&1)){if((i|0)!=-1)break;i=h[e>>2]|0;r=h[(h[i>>2]|0)+-12>>2]|0;T=0;ve(66,i+r|0,h[i+(r+16)>>2]|1|0);r=T;T=0;if(!(r&1))break}r=Ze(0)|0;fi(r|0)|0;T=0;Ie(3);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}}}while(0);return}function kb(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+32|0;l=b+20|0;s=b+16|0;u=b+8|0;r=b;T=0;ve(65,u|0,e|0);o=T;T=0;e:do{if(o&1){r=Ze(0)|0;t=e;n=e;d=19}else{do{if(c[u>>0]|0){o=_h(e+(h[(h[e>>2]|0)+-12>>2]|0)|0)|0;h[r>>2]=o;T=0;o=Oe(37,r|0,43392)|0;a=T;T=0;if(a&1){d=Ze(0)|0;Xu(r);r=d}else{Xu(r);n=h[(h[e>>2]|0)+-12>>2]|0;a=h[e+(n+24)>>2]|0;t=e+n|0;n=e+(n+76)|0;r=h[n>>2]|0;do{if((r|0)==-1){r=_h(t)|0;h[l>>2]=r;T=0;r=Oe(37,l|0,44220)|0;k=T;T=0;if(!(k&1)?(T=0,f=Oe(h[(h[r>>2]|0)+28>>2]|0,r|0,32)|0,k=T,T=0,!(k&1)):0){Xu(l);r=f<<24>>24;h[n>>2]=r;d=10;break}r=Ze(0)|0;Xu(l)}else d=10}while(0);if((d|0)==10){k=h[(h[o>>2]|0)+16>>2]|0;h[s>>2]=a;T=0;h[l>>2]=h[s>>2];r=Re(k|0,o|0,l|0,t|0,r&255|0,i|0)|0;k=T;T=0;if(!(k&1)){if(r)break;k=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+k|0,h[e+(k+16)>>2]|5|0);k=T;T=0;if(!(k&1))break}r=Ze(0)|0}}bb(u);t=e;n=e;d=19;break e}}while(0);bb(u)}}while(0);do{if((d|0)==19){fi(r|0)|0;T=0;pe(181,t+(h[(h[n>>2]|0)+-12>>2]|0)|0);k=T;T=0;if(!(k&1)){li();break}r=Ze()|0;T=0;Ie(3);k=T;T=0;if(k&1){k=Ze(0)|0;Ki(k)}else si(r|0)}}while(0);v=b;return e|0}function wb(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+32|0;l=b+20|0;s=b+16|0;u=b+8|0;r=b;T=0;ve(65,u|0,e|0);o=T;T=0;e:do{if(o&1){r=Ze(0)|0;t=e;n=e;d=19}else{do{if(c[u>>0]|0){o=_h(e+(h[(h[e>>2]|0)+-12>>2]|0)|0)|0;h[r>>2]=o;T=0;o=Oe(37,r|0,43392)|0;a=T;T=0;if(a&1){d=Ze(0)|0;Xu(r);r=d}else{Xu(r);n=h[(h[e>>2]|0)+-12>>2]|0;a=h[e+(n+24)>>2]|0;t=e+n|0;n=e+(n+76)|0;r=h[n>>2]|0;do{if((r|0)==-1){r=_h(t)|0;h[l>>2]=r;T=0;r=Oe(37,l|0,44220)|0;k=T;T=0;if(!(k&1)?(T=0,f=Oe(h[(h[r>>2]|0)+28>>2]|0,r|0,32)|0,k=T,T=0,!(k&1)):0){Xu(l);r=f<<24>>24;h[n>>2]=r;d=10;break}r=Ze(0)|0;Xu(l)}else d=10}while(0);if((d|0)==10){k=h[(h[o>>2]|0)+24>>2]|0;h[s>>2]=a;T=0;h[l>>2]=h[s>>2];r=Re(k|0,o|0,l|0,t|0,r&255|0,i|0)|0;k=T;T=0;if(!(k&1)){if(r)break;k=h[(h[e>>2]|0)+-12>>2]|0;T=0;ve(66,e+k|0,h[e+(k+16)>>2]|5|0);k=T;T=0;if(!(k&1))break}r=Ze(0)|0}}bb(u);t=e;n=e;d=19;break e}}while(0);bb(u)}}while(0);do{if((d|0)==19){fi(r|0)|0;T=0;pe(181,t+(h[(h[n>>2]|0)+-12>>2]|0)|0);k=T;T=0;if(!(k&1)){li();break}r=Ze()|0;T=0;Ie(3);k=T;T=0;if(k&1){k=Ze(0)|0;Ki(k)}else si(r|0)}}while(0);v=b;return e|0}function _b(e){e=e|0;hh(e+4|0);return}function mb(e){e=e|0;hh(e+((h[(h[e>>2]|0)+-12>>2]|0)+4)|0);return}function pb(e){e=e|0;hh(e+4|0);zv(e);return}function vb(e){e=e|0;pb(e+(h[(h[e>>2]|0)+-12>>2]|0)|0);return}function gb(e,i){e=e|0;i=i|0;var r=0;c[e>>0]=0;h[e+4>>2]=i;r=h[(h[i>>2]|0)+-12>>2]|0;if(!(h[i+(r+16)>>2]|0)){r=h[i+(r+72)>>2]|0;if(r)lb(r)|0;c[e>>0]=1}return}function yb(e){e=e|0;var i=0,r=0;e=e+4|0;r=h[e>>2]|0;i=h[(h[r>>2]|0)+-12>>2]|0;do{if((((h[r+(i+24)>>2]|0)!=0?(h[r+(i+16)>>2]|0)==0:0)?(h[r+(i+4)>>2]&8192|0)!=0:0)?!(oi()|0):0){i=h[e>>2]|0;i=h[i+((h[(h[i>>2]|0)+-12>>2]|0)+24)>>2]|0;T=0;i=ye(h[(h[i>>2]|0)+24>>2]|0,i|0)|0;r=T;T=0;if(!(r&1)){if((i|0)!=-1)break;i=h[e>>2]|0;r=h[(h[i>>2]|0)+-12>>2]|0;T=0;ve(66,i+r|0,h[i+(r+16)>>2]|1|0);r=T;T=0;if(!(r&1))break}r=Ze(0)|0;fi(r|0)|0;T=0;Ie(3);r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}}}while(0);return}function Eb(e){e=e|0;return 57453}function Ab(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)!=1&(r|0)<257)Ld(e,i,r);else Hd(e,57462,35);return}function Mb(){if((c[1048]|0)==0?(ze(1048)|0)!=0:0){h[10778]=43084;yi(72,43112,M|0)|0;$e(1048)}return 43112}function Tb(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;t=v;v=v+16|0;n=t+8|0;f=t;l=r;a=h[l+4>>2]|0;r=f;h[r>>2]=h[l>>2];h[r+4>>2]=a;h[n>>2]=h[f>>2];h[n+4>>2]=h[f+4>>2];Dd(e,n,i);h[e>>2]=43048;v=t;return}function Sb(e){e=e|0;Bd(e);return}function Pb(e){e=e|0;Bd(e);zv(e);return}function Ob(e){e=e|0;hh(e);zv(e);return}function Rb(e){e=e|0;zv(e);return}function Lb(e){e=e|0;return}function Cb(e){e=e|0;return}function Db(e){e=e|0;zv(e);return}function xb(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;e:do{if((t|0)==(n|0))a=6;else while(1){if((i|0)==(r|0)){i=-1;break e}e=c[i>>0]|0;f=c[t>>0]|0;if(e<<24>>24>24){i=-1;break e}if(f<<24>>24>24){i=1;break e}i=i+1|0;t=t+1|0;if((t|0)==(n|0)){a=6;break}}}while(0);if((a|0)==6)i=(i|0)!=(r|0)&1;return i|0}function Ib(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;uh(e,r,t);return}function Bb(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((i|0)==(r|0))e=0;else{e=0;do{e=(c[i>>0]|0)+(e<<4)|0;t=e&-268435456;e=(t>>>24|t)^e;i=i+1|0}while((i|0)!=(r|0))}return e|0}function Nb(e){e=e|0;return}function Fb(e){e=e|0;zv(e);return}function Ub(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;e:do{if((t|0)==(n|0))a=6;else while(1){if((i|0)==(r|0)){i=-1;break e}e=h[i>>2]|0;f=h[t>>2]|0;if((e|0)<(f|0)){i=-1;break e}if((f|0)<(e|0)){i=1;break e}i=i+4|0;t=t+4|0;if((t|0)==(n|0)){a=6;break}}}while(0);if((a|0)==6)i=(i|0)!=(r|0)&1;return i|0}function jb(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;ch(e,r,t);return}function Hb(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((i|0)==(r|0))e=0;else{e=0;do{e=(h[i>>2]|0)+(e<<4)|0;t=e&-268435456;e=(t>>>24|t)^e;i=i+4|0}while((i|0)!=(r|0))}return e|0}function Yb(e){e=e|0;return}function qb(e){e=e|0;zv(e);return}function Xb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;w=v;v=v+64|0;b=w+56|0;a=w+52|0;u=w+48|0;l=w+44|0;s=w+40|0;o=w+36|0;d=w+32|0;_=w+8|0;k=w;e:do{if(!(h[t+4>>2]&1)){h[u>>2]=-1;_=h[(h[e>>2]|0)+16>>2]|0;h[l>>2]=h[i>>2];h[s>>2]=h[r>>2];h[a>>2]=h[l>>2];h[b>>2]=h[s>>2];a=_E[_&63](e,a,b,t,n,u)|0;h[i>>2]=a;switch(h[u>>2]|0){case 0:{c[f>>0]=0;break e}case 1:{c[f>>0]=1;break e}default:{c[f>>0]=1;h[n>>2]=4;break e}}}else{a=_h(t)|0;h[o>>2]=a;T=0;e=Oe(37,o|0,44220)|0;u=T;T=0;do{if(!(u&1)){Ad(a)|0;a=_h(t)|0;h[d>>2]=a;T=0;s=Oe(37,d|0,44360)|0;d=T;T=0;if(d&1){_=Ze()|0;Ad(a)|0;a=_;break}Ad(a)|0;T=0;ve(h[(h[s>>2]|0)+24>>2]|0,_|0,s|0);d=T;T=0;if(!(d&1)){l=_+12|0;T=0;ve(h[(h[s>>2]|0)+28>>2]|0,l|0,s|0);d=T;T=0;if(!(d&1)){h[k>>2]=h[r>>2];T=0;h[b>>2]=h[k>>2];a=we(7,i|0,b|0,_|0,_+24|0,e|0,n|0,1)|0;n=T;T=0;if(n&1){a=Ze()|0;qd(_+12|0);qd(_);break}else{c[f>>0]=(a|0)==(_|0)&1;a=h[i>>2]|0;qd(_+12|0);qd(_);break e}}}else l=_;a=Ze()|0;s=H;if((_|0)!=(l|0))do{l=l+-12|0;qd(l)}while((l|0)!=(_|0))}else{_=Ze()|0;Ad(a)|0;a=_}}while(0);si(a|0)}}while(0);v=w;return a|0}function zb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Kw(e,s,l,t,n,f)|0;v=a;return e|0}function Vb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Ww(e,s,l,t,n,f)|0;v=a;return e|0}function Gb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Jw(e,s,l,t,n,f)|0;v=a;return e|0}function Kb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Zw(e,s,l,t,n,f)|0;v=a;return e|0}function Wb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=Qw(e,s,l,t,n,f)|0;v=a;return e|0}function Jb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=$w(e,s,l,t,n,f)|0;v=a;return e|0}function Zb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=e_(e,s,l,t,n,f)|0;v=a;return e|0}function Qb(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=i_(e,s,l,t,n,f)|0;v=a;return e|0}function $b(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=r_(e,s,l,t,n,f)|0;v=a;return e|0}function ek(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;P=v;v=v+240|0;y=P;w=P+208|0;R=P+32|0;e=P+28|0;O=P+16|0;g=P+12|0;m=P+48|0;p=P+8|0;_=P+4|0;h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;T=0;t=ye(68,t|0)|0;k=T;T=0;do{if(k&1)e=Ze()|0;else{h[e>>2]=t;T=0;e=Oe(37,e|0,44220)|0;k=T;T=0;if(!(k&1)?(T=0,De(h[(h[e>>2]|0)+32>>2]|0,e|0,57498,57524,w|0)|0,k=T,T=0,!(k&1)):0){Ad(t)|0;h[O>>2]=0;h[O+4>>2]=0;h[O+8>>2]=0;if(!(c[O>>0]&1))e=10;else e=(h[O>>2]&-2)+-1|0;T=0;xe(8,O|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=O+8|0;k=O+1|0;t=(c[O>>0]&1)==0?k:h[d>>2]|0;h[g>>2]=t;h[p>>2]=m;h[_>>2]=0;u=O+4|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){L=29;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){L=29;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;L=19;break}}else L=19}while(0);if((L|0)==19){L=0;if(l){a=0;break}else a=0}l=c[O>>0]|0;l=(l&1)==0?(l&255)>>>1:h[u>>2]|0;if((h[g>>2]|0)==(t+l|0)){T=0;xe(8,O|0,l<<1|0,0);o=T;T=0;if(o&1){L=29;break}if(!(c[O>>0]&1))t=10;else t=(h[O>>2]&-2)+-1|0;T=0;xe(8,O|0,t|0,0);o=T;T=0;if(o&1){L=29;break}t=(c[O>>0]&1)==0?k:h[d>>2]|0;h[g>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;C=T;T=0;if(C&1){L=29;break}}else l=b[l>>0]|0;if(ik(l&255,16,t,g,_,0,R,m,p,w)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;C=T;T=0;if(C&1){L=29;break}else continue}else{h[s>>2]=a+1;continue}}if((L|0)==29){e=Ze()|0;break}T=0;xe(8,O|0,(h[g>>2]|0)-t|0,0);C=T;T=0;if((!(C&1)?(E=c[O>>0]|0,A=h[d>>2]|0,T=0,M=Ce(3)|0,C=T,T=0,!(C&1)):0)?(T=0,h[y>>2]=f,S=De(16,((E&1)==0?k:A)|0,M|0,58882,y|0)|0,C=T,T=0,!(C&1)):0){if((S|0)!=1)h[n>>2]=4;if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;C=T;T=0;if(C&1){L=30;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;C=T;T=0;if(C&1){L=30;break e}if((e|0)==-1){h[r>>2]=0;L=55;break}}if(!t)L=56}else L=55}while(0);if((L|0)==55?t:0)L=56;if((L|0)==56)h[n>>2]=h[n>>2]|2;C=h[i>>2]|0;qd(O);qd(R);v=P;return C|0}else L=30}else L=30}while(0);if((L|0)==30)e=Ze()|0;qd(O);break}e=Ze()|0;Ad(t)|0}}while(0);qd(R);si(e|0);return 0}function ik(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0;b=h[t>>2]|0;k=(b|0)==(r|0);do{if(k){u=(c[o+24>>0]|0)==e<<24>>24;if(!u?(c[o+25>>0]|0)!=e<<24>>24:0){d=5;break}h[t>>2]=r+1;c[r>>0]=u?43:45;h[n>>2]=0;u=0}else d=5}while(0);e:do{if((d|0)==5){d=c[a>>0]|0;if(e<<24>>24==f<<24>>24?(((d&1)==0?(d&255)>>>1:h[a+4>>2]|0)|0)!=0:0){u=h[s>>2]|0;if((u-l|0)>=160){u=0;break}i=h[n>>2]|0;h[s>>2]=u+4;h[u>>2]=i;h[n>>2]=0;u=0;break}a=o+26|0;u=o;while(1){if((c[u>>0]|0)==e<<24>>24)break;u=u+1|0;if((u|0)==(a|0)){u=a;break}}u=u-o|0;if((u|0)>23)u=-1;else{switch(i|0){case 10:case 8:{if((u|0)>=(i|0)){u=-1;break e}break}case 16:{if((u|0)>=22){if(k){u=-1;break e}if((b-r|0)>=3){u=-1;break e}if((c[b+-1>>0]|0)!=48){u=-1;break e}h[n>>2]=0;u=c[57498+u>>0]|0;h[t>>2]=b+1;c[b>>0]=u;u=0;break e}break}default:{}}u=c[57498+u>>0]|0;h[t>>2]=b+1;c[b>>0]=u;h[n>>2]=(h[n>>2]|0)+1;u=0}}}while(0);return u|0}function rk(){var e=0,i=0;do{if((c[1968]|0)==0?(ze(1968)|0)!=0:0){T=0;e=Ae(31,2147483647,58885,0)|0;i=T;T=0;if(i&1){i=Ze()|0;Ri(1968);si(i|0)}else{h[11196]=e;$e(1968);break}}}while(0);return h[11196]|0}function tk(e){e=e|0;return}function nk(e){e=e|0;zv(e);return}function fk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;w=v;v=v+64|0;b=w+56|0;a=w+52|0;u=w+48|0;l=w+44|0;s=w+40|0;o=w+36|0;d=w+32|0;_=w+8|0;k=w;e:do{if(!(h[t+4>>2]&1)){h[u>>2]=-1;_=h[(h[e>>2]|0)+16>>2]|0;h[l>>2]=h[i>>2];h[s>>2]=h[r>>2];h[a>>2]=h[l>>2];h[b>>2]=h[s>>2];a=_E[_&63](e,a,b,t,n,u)|0;h[i>>2]=a;switch(h[u>>2]|0){case 0:{c[f>>0]=0;break e}case 1:{c[f>>0]=1;break e}default:{c[f>>0]=1;h[n>>2]=4;break e}}}else{a=_h(t)|0;h[o>>2]=a;T=0;e=Oe(37,o|0,44212)|0;u=T;T=0;do{if(!(u&1)){Ad(a)|0;a=_h(t)|0;h[d>>2]=a;T=0;s=Oe(37,d|0,44368)|0;d=T;T=0;if(d&1){_=Ze()|0;Ad(a)|0;a=_;break}Ad(a)|0;T=0;ve(h[(h[s>>2]|0)+24>>2]|0,_|0,s|0);d=T;T=0;if(!(d&1)){l=_+12|0;T=0;ve(h[(h[s>>2]|0)+28>>2]|0,l|0,s|0);d=T;T=0;if(!(d&1)){h[k>>2]=h[r>>2];T=0;h[b>>2]=h[k>>2];a=we(8,i|0,b|0,_|0,_+24|0,e|0,n|0,1)|0;n=T;T=0;if(n&1){a=Ze()|0;th(_+12|0);th(_);break}else{c[f>>0]=(a|0)==(_|0)&1;a=h[i>>2]|0;th(_+12|0);th(_);break e}}}else l=_;a=Ze()|0;s=H;if((_|0)!=(l|0))do{l=l+-12|0;th(l)}while((l|0)!=(_|0))}else{_=Ze()|0;Ad(a)|0;a=_}}while(0);si(a|0)}}while(0);v=w;return a|0}function ak(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=f_(e,s,l,t,n,f)|0;v=a;return e|0}function lk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=a_(e,s,l,t,n,f)|0;v=a;return e|0}function sk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=l_(e,s,l,t,n,f)|0;v=a;return e|0}function ok(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=s_(e,s,l,t,n,f)|0;v=a;return e|0}function uk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=o_(e,s,l,t,n,f)|0;v=a;return e|0}function ck(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=u_(e,s,l,t,n,f)|0;v=a;return e|0}function dk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=c_(e,s,l,t,n,f)|0;v=a;return e|0}function hk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=d_(e,s,l,t,n,f)|0;v=a;return e|0}function bk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0;a=v;v=v+16|0;l=a+12|0;s=a+8|0;u=a+4|0;o=a;h[u>>2]=h[i>>2];h[o>>2]=h[r>>2];h[s>>2]=h[u>>2];h[l>>2]=h[o>>2];e=h_(e,s,l,t,n,f)|0;v=a;return e|0}function kk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0;S=v;v=v+320|0;g=S;k=S+208|0;O=S+32|0;e=S+28|0;P=S+16|0;p=S+12|0;_=S+48|0;m=S+8|0;w=S+4|0;h[O>>2]=0;h[O+4>>2]=0;h[O+8>>2]=0;T=0;t=ye(68,t|0)|0;b=T;T=0;do{if(b&1)e=Ze()|0;else{h[e>>2]=t;T=0;e=Oe(37,e|0,44212)|0;b=T;T=0;if(!(b&1)?(T=0,De(h[(h[e>>2]|0)+48>>2]|0,e|0,57498,57524,k|0)|0,b=T,T=0,!(b&1)):0){Ad(t)|0;h[P>>2]=0;h[P+4>>2]=0;h[P+8>>2]=0;if(!(c[P>>0]&1))e=10;else e=(h[P>>2]&-2)+-1|0;T=0;xe(8,P|0,e|0,0);b=T;T=0;e:do{if(!(b&1)){d=P+8|0;b=P+1|0;e=(c[P>>0]&1)==0?b:h[d>>2]|0;h[p>>2]=e;h[m>>2]=_;h[w>>2]=0;u=P+4|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){R=30;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){R=30;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l){a=s;break}else{a=s;break i}else{h[r>>2]=0;R=20;break}}else R=20}while(0);if((R|0)==20){R=0;if(l){a=0;break}else a=0}l=c[P>>0]|0;l=(l&1)==0?(l&255)>>>1:h[u>>2]|0;if((h[p>>2]|0)==(e+l|0)){T=0;xe(8,P|0,l<<1|0,0);o=T;T=0;if(o&1){R=30;break}if(!(c[P>>0]&1))e=10;else e=(h[P>>2]&-2)+-1|0;T=0;xe(8,P|0,e|0,0);o=T;T=0;if(o&1){R=30;break}e=(c[P>>0]&1)==0?b:h[d>>2]|0;h[p>>2]=e+l}s=t+12|0;l=h[s>>2]|0;o=t+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;L=T;T=0;if(L&1){R=30;break}}else l=h[l>>2]|0;if(wk(l,16,e,p,w,0,O,_,m,k)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;L=T;T=0;if(L&1){R=30;break}else{a=t;continue}}else{h[s>>2]=a+4;a=t;continue}}if((R|0)==30){e=Ze()|0;break}T=0;xe(8,P|0,(h[p>>2]|0)-e|0,0);L=T;T=0;if((!(L&1)?(y=c[P>>0]|0,E=h[d>>2]|0,T=0,A=Ce(3)|0,L=T,T=0,!(L&1)):0)?(T=0,h[g>>2]=f,M=De(16,((y&1)==0?b:E)|0,A|0,58882,g|0)|0,L=T,T=0,!(L&1)):0){if((M|0)!=1)h[n>>2]=4;if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;L=T;T=0;if(L&1){R=31;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;L=T;T=0;if(L&1){R=31;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{R=59;break}else{h[r>>2]=0;R=57;break}}else R=57}while(0);if((R|0)==57?t:0)R=59;if((R|0)==59)h[n>>2]=h[n>>2]|2;L=h[i>>2]|0;qd(P);qd(O);v=S;return L|0}else R=31}else R=31}while(0);if((R|0)==31)e=Ze()|0;qd(P);break}e=Ze()|0;Ad(t)|0}}while(0);qd(O);si(e|0);return 0}function wk(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0;b=h[t>>2]|0;k=(b|0)==(r|0);do{if(k){u=(h[o+96>>2]|0)==(e|0);if(!u?(h[o+100>>2]|0)!=(e|0):0){d=5;break}h[t>>2]=r+1;c[r>>0]=u?43:45;h[n>>2]=0;u=0}else d=5}while(0);e:do{if((d|0)==5){d=c[a>>0]|0;if((e|0)==(f|0)?(((d&1)==0?(d&255)>>>1:h[a+4>>2]|0)|0)!=0:0){u=h[s>>2]|0;if((u-l|0)>=160){u=0;break}i=h[n>>2]|0;h[s>>2]=u+4;h[u>>2]=i;h[n>>2]=0;u=0;break}a=o+104|0;u=o;while(1){if((h[u>>2]|0)==(e|0))break;u=u+4|0;if((u|0)==(a|0)){u=a;break}}u=u-o|0;a=u>>2;if((u|0)>92)u=-1;else{switch(i|0){case 10:case 8:{if((a|0)>=(i|0)){u=-1;break e}break}case 16:{if((u|0)>=88){if(k){u=-1;break e}if((b-r|0)>=3){u=-1;break e}if((c[b+-1>>0]|0)!=48){u=-1;break e}h[n>>2]=0;u=c[57498+a>>0]|0;h[t>>2]=b+1;c[b>>0]=u;u=0;break e}break}default:{}}u=c[57498+a>>0]|0;h[t>>2]=b+1;c[b>>0]=u;h[n>>2]=(h[n>>2]|0)+1;u=0}}}while(0);return u|0}function _k(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+16|0;l=s;i=_h(i)|0;h[l>>2]=i;T=0;n=Oe(37,l|0,44220)|0;o=T;T=0;if((((!(o&1)?(T=0,De(h[(h[n>>2]|0)+32>>2]|0,n|0,57498,57524,r|0)|0,o=T,T=0,!(o&1)):0)?(T=0,a=Oe(37,l|0,44360)|0,o=T,T=0,!(o&1)):0)?(T=0,f=ye(h[(h[a>>2]|0)+16>>2]|0,a|0)|0,o=T,T=0,!(o&1)):0)?(c[t>>0]=f,T=0,ve(h[(h[a>>2]|0)+20>>2]|0,e|0,a|0),o=T,T=0,!(o&1)):0){Ad(i)|0;v=s;return}o=Ze()|0;Ad(i)|0;si(o|0)}function mk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;u=v;v=v+16|0;o=u;i=_h(i)|0;h[o>>2]=i;T=0;f=Oe(37,o|0,44220)|0;d=T;T=0;if(((((!(d&1)?(T=0,De(h[(h[f>>2]|0)+32>>2]|0,f|0,57498,57530,r|0)|0,d=T,T=0,!(d&1)):0)?(T=0,s=Oe(37,o|0,44360)|0,d=T,T=0,!(d&1)):0)?(T=0,a=ye(h[(h[s>>2]|0)+12>>2]|0,s|0)|0,d=T,T=0,!(d&1)):0)?(c[t>>0]=a,T=0,l=ye(h[(h[s>>2]|0)+16>>2]|0,s|0)|0,d=T,T=0,!(d&1)):0)?(c[n>>0]=l,T=0,ve(h[(h[s>>2]|0)+20>>2]|0,e|0,s|0),d=T,T=0,!(d&1)):0){Ad(i)|0;v=u;return}d=Ze()|0;Ad(i)|0;si(d|0)}function pk(e,i,r,t,n,f,a,l,s,o,u,d){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;d=d|0;var k=0,w=0;e:do{if(e<<24>>24==f<<24>>24)if(c[i>>0]|0){c[i>>0]=0;r=h[n>>2]|0;h[n>>2]=r+1;c[r>>0]=46;r=c[l>>0]|0;if((((r&1)==0?(r&255)>>>1:h[l+4>>2]|0)|0)!=0?(k=h[o>>2]|0,(k-s|0)<160):0){s=h[u>>2]|0;h[o>>2]=k+4;h[k>>2]=s;k=0}else k=0}else k=-1;else{if(e<<24>>24==a<<24>>24?(a=c[l>>0]|0,(((a&1)==0?(a&255)>>>1:h[l+4>>2]|0)|0)!=0):0){if(!(c[i>>0]|0)){k=-1;break}k=h[o>>2]|0;if((k-s|0)>=160){k=0;break}s=h[u>>2]|0;h[o>>2]=k+4;h[k>>2]=s;h[u>>2]=0;k=0;break}f=d+32|0;k=d;while(1){if((c[k>>0]|0)==e<<24>>24)break;k=k+1|0;if((k|0)==(f|0)){k=f;break}}f=k-d|0;if((f|0)>31)k=-1;else{a=c[57498+f>>0]|0;switch(f|0){case 24:case 25:{k=h[n>>2]|0;if((k|0)!=(t|0)?(b[k+-1>>0]&95|0)!=(b[r>>0]&127|0):0){k=-1;break e}h[n>>2]=k+1;c[k>>0]=a;k=0;break e}case 23:case 22:{c[r>>0]=80;k=h[n>>2]|0;h[n>>2]=k+1;c[k>>0]=a;k=0;break e}default:{k=a&95;if((((k|0)==(c[r>>0]|0)?(c[r>>0]=k|128,(c[i>>0]|0)!=0):0)?(c[i>>0]=0,r=c[l>>0]|0,(((r&1)==0?(r&255)>>>1:h[l+4>>2]|0)|0)!=0):0)?(w=h[o>>2]|0,(w-s|0)<160):0){s=h[u>>2]|0;h[o>>2]=w+4;h[w>>2]=s}o=h[n>>2]|0;h[n>>2]=o+1;c[o>>0]=a;if((f|0)>21){k=0;break e}h[u>>2]=(h[u>>2]|0)+1;k=0;break e}}}}}while(0);return k|0}function vk(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+16|0;l=s;i=_h(i)|0;h[l>>2]=i;T=0;n=Oe(37,l|0,44212)|0;o=T;T=0;if((((!(o&1)?(T=0,De(h[(h[n>>2]|0)+48>>2]|0,n|0,57498,57524,r|0)|0,o=T,T=0,!(o&1)):0)?(T=0,a=Oe(37,l|0,44368)|0,o=T,T=0,!(o&1)):0)?(T=0,f=ye(h[(h[a>>2]|0)+16>>2]|0,a|0)|0,o=T,T=0,!(o&1)):0)?(h[t>>2]=f,T=0,ve(h[(h[a>>2]|0)+20>>2]|0,e|0,a|0),o=T,T=0,!(o&1)):0){Ad(i)|0;v=s;return}o=Ze()|0;Ad(i)|0;si(o|0)}function gk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0;u=v;v=v+16|0;o=u;i=_h(i)|0;h[o>>2]=i;T=0;f=Oe(37,o|0,44212)|0;c=T;T=0;if(((((!(c&1)?(T=0,De(h[(h[f>>2]|0)+48>>2]|0,f|0,57498,57530,r|0)|0,c=T,T=0,!(c&1)):0)?(T=0,s=Oe(37,o|0,44368)|0,c=T,T=0,!(c&1)):0)?(T=0,a=ye(h[(h[s>>2]|0)+12>>2]|0,s|0)|0,c=T,T=0,!(c&1)):0)?(h[t>>2]=a,T=0,l=ye(h[(h[s>>2]|0)+16>>2]|0,s|0)|0,c=T,T=0,!(c&1)):0)?(h[n>>2]=l,T=0,ve(h[(h[s>>2]|0)+20>>2]|0,e|0,s|0),c=T,T=0,!(c&1)):0){Ad(i)|0;v=u;return}c=Ze()|0;Ad(i)|0;si(c|0)}function yk(e,i,r,t,n,f,a,l,s,o,u,d){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;d=d|0;var k=0,w=0;e:do{if((e|0)==(f|0))if(c[i>>0]|0){c[i>>0]=0;r=h[n>>2]|0;h[n>>2]=r+1;c[r>>0]=46;r=c[l>>0]|0;if((((r&1)==0?(r&255)>>>1:h[l+4>>2]|0)|0)!=0?(k=h[o>>2]|0,(k-s|0)<160):0){s=h[u>>2]|0;h[o>>2]=k+4;h[k>>2]=s;k=0}else k=0}else k=-1;else{if((e|0)==(a|0)?(a=c[l>>0]|0,(((a&1)==0?(a&255)>>>1:h[l+4>>2]|0)|0)!=0):0){if(!(c[i>>0]|0)){k=-1;break}k=h[o>>2]|0;if((k-s|0)>=160){k=0;break}s=h[u>>2]|0;h[o>>2]=k+4;h[k>>2]=s;h[u>>2]=0;k=0;break}f=d+128|0;k=d;while(1){if((h[k>>2]|0)==(e|0))break;k=k+4|0;if((k|0)==(f|0)){k=f;break}}f=k-d|0;k=f>>2;if((f|0)<=124){a=c[57498+k>>0]|0;switch(k|0){case 24:case 25:{k=h[n>>2]|0;if((k|0)!=(t|0)?(b[k+-1>>0]&95|0)!=(b[r>>0]&127|0):0){k=-1;break e}h[n>>2]=k+1;c[k>>0]=a;k=0;break e}case 23:case 22:{c[r>>0]=80;break}default:{k=a&95;if((((k|0)==(c[r>>0]|0)?(c[r>>0]=k|128,(c[i>>0]|0)!=0):0)?(c[i>>0]=0,r=c[l>>0]|0,(((r&1)==0?(r&255)>>>1:h[l+4>>2]|0)|0)!=0):0)?(w=h[o>>2]|0,(w-s|0)<160):0){s=h[u>>2]|0;h[o>>2]=w+4;h[w>>2]=s}}}o=h[n>>2]|0;h[n>>2]=o+1;c[o>>0]=a;if((f|0)>84)k=0;else{h[u>>2]=(h[u>>2]|0)+1;k=0}}else k=-1}}while(0);return k|0}function Ek(e){e=e|0;return}function Ak(e){e=e|0;zv(e);return}function Mk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+32|0;f=u+20|0;a=u+16|0;l=u+12|0;o=u;e:do{if(!(h[r+4>>2]&1)){o=h[(h[e>>2]|0)+24>>2]|0;h[a>>2]=h[i>>2];h[f>>2]=h[a>>2];f=TE[o&31](e,f,r,t,n&1)|0}else{f=_h(r)|0;h[l>>2]=f;T=0;a=Oe(37,l|0,44360)|0;s=T;T=0;i:do{if(s&1){u=Ze()|0;Ad(f)|0;f=u}else{Ad(f)|0;f=h[a>>2]|0;if(n)wE[h[f+24>>2]&127](o,a);else wE[h[f+28>>2]&127](o,a);e=c[o>>0]|0;s=(e&1)==0;f=o+1|0;n=o+8|0;l=s?f:o+1|0;f=s?f:h[o+8>>2]|0;s=o+4|0;r=(e&1)==0;r:do{if((f|0)!=((r?l:h[n>>2]|0)+(r?(e&255)>>>1:h[s>>2]|0)|0)){t:while(1){a=c[f>>0]|0;t=h[i>>2]|0;do{if(t){r=t+24|0;e=h[r>>2]|0;if((e|0)!=(h[t+28>>2]|0)){h[r>>2]=e+1;c[e>>0]=a;break}T=0;a=Oe(h[(h[t>>2]|0)+52>>2]|0,t|0,a&255|0)|0;e=T;T=0;if(e&1)break t;if((a|0)==-1)h[i>>2]=0}}while(0);f=f+1|0;e=c[o>>0]|0;r=(e&1)==0;if((f|0)==((r?l:h[n>>2]|0)+(r?(e&255)>>>1:h[s>>2]|0)|0))break r}f=Ze()|0;qd(o);break i}}while(0);f=h[i>>2]|0;qd(o);break e}}while(0);si(f|0)}}while(0);v=u;return f|0}function Tk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+64|0;f=u;b=u+56|0;k=u+44|0;l=u+20|0;o=u+16|0;s=u+12|0;d=u+8|0;a=u+4|0;c[b>>0]=c[58887]|0;c[b+1>>0]=c[58888]|0;c[b+2>>0]=c[58889]|0;c[b+3>>0]=c[58890]|0;c[b+4>>0]=c[58891]|0;c[b+5>>0]=c[58892]|0;Sk(b+1|0,58893,1,h[r+4>>2]|0);e=rk()|0;h[f>>2]=n;n=k+(b_(k,12,e,b,f)|0)|0;b=Pk(k,n,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(1,k|0,b|0,n|0,l|0,o|0,s|0,d|0);n=T;T=0;if(n&1){k=Ze()|0;Ad(e)|0;si(k|0)}else{Ad(e)|0;h[a>>2]=h[i>>2];b=h[o>>2]|0;k=h[s>>2]|0;h[f>>2]=h[a>>2];k=Vr(f,l,b,k,r,t)|0;v=u;return k|0}return 0}function Sk(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;if(t&2048){c[e>>0]=43;e=e+1|0}if(t&512){c[e>>0]=35;e=e+1|0}n=c[i>>0]|0;if(n<<24>>24){f=i;while(1){f=f+1|0;i=e+1|0;c[e>>0]=n;n=c[f>>0]|0;if(!(n<<24>>24)){e=i;break}else e=i}}e:do{switch(t&74|0){case 64:{c[e>>0]=111;break}case 8:if(!(t&16384)){c[e>>0]=120;break e}else{c[e>>0]=88;break e}default:if(r){c[e>>0]=100;break e}else{c[e>>0]=117;break e}}}while(0);return}function Pk(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e:do{switch(h[r+4>>2]&176|0){case 16:{r=c[e>>0]|0;switch(r<<24>>24){case 43:case 45:{e=e+1|0;break e}default:{}}if((i-e|0)>1&r<<24>>24==48){switch(c[e+1>>0]|0){case 88:case 120:break;default:{t=7;break e}}e=e+2|0}else t=7;break}case 32:{e=i;break}default:t=7}}while(0);return e|0}function Ok(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;p=v;v=v+16|0;g=p;_=Vu(a,44220)|0;o=Vu(a,44360)|0;wE[h[(h[o>>2]|0)+20>>2]&127](g,o);k=c[g>>0]|0;w=g+4|0;e:do{if(!(((k&1)==0?(k&255)>>>1:h[w>>2]|0)|0)){T=0;De(h[(h[_>>2]|0)+32>>2]|0,_|0,e|0,r|0,t|0)|0;m=T;T=0;if(m&1)m=5;else{a=t+(r-e)|0;h[f>>2]=a;m=29}}else{h[f>>2]=t;a=c[e>>0]|0;switch(a<<24>>24){case 43:case 45:{T=0;a=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,a|0)|0;k=T;T=0;if(k&1){m=5;break e}s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=a;s=e+1|0;break}default:s=e}i:do{if((r-s|0)>1?(c[s>>0]|0)==48:0){a=s+1|0;switch(c[a>>0]|0){case 88:case 120:break;default:break i}T=0;l=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,48)|0;k=T;T=0;if(k&1){m=5;break e}k=h[f>>2]|0;h[f>>2]=k+1;c[k>>0]=l;T=0;a=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,c[a>>0]|0)|0;k=T;T=0;if(k&1){m=5;break e}k=h[f>>2]|0;h[f>>2]=k+1;c[k>>0]=a;s=s+2|0}}while(0);if((s|0)!=(r|0)?(u=r+-1|0,s>>>0>>0):0){l=s;a=u;do{k=c[l>>0]|0;c[l>>0]=c[a>>0]|0;c[a>>0]=k;l=l+1|0;a=a+-1|0}while(l>>>0>>0)}T=0;u=ye(h[(h[o>>2]|0)+16>>2]|0,o|0)|0;k=T;T=0;if(!(k&1)){d=g+8|0;b=g+1|0;i:do{if(s>>>0>>0){a=0;l=0;k=s;while(1){o=c[((c[g>>0]&1)==0?b:h[d>>2]|0)+l>>0]|0;if(o<<24>>24!=0&(a|0)==(o<<24>>24|0)){a=h[f>>2]|0;h[f>>2]=a+1;c[a>>0]=u;a=c[g>>0]|0;o=0;l=(l>>>0<(((a&1)==0?(a&255)>>>1:h[w>>2]|0)+-1|0)>>>0&1)+l|0}else o=a;T=0;a=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,c[k>>0]|0)|0;y=T;T=0;if(y&1)break;y=h[f>>2]|0;h[f>>2]=y+1;c[y>>0]=a;k=k+1|0;if(k>>>0>=r>>>0)break i;else a=o+1|0}a=Ze()|0;break e}}while(0);l=e;a=t+(s-l)|0;e=h[f>>2]|0;if((a|0)==(e|0)){e=l;m=29}else{e=e+-1|0;if(a>>>0>>0)do{y=c[a>>0]|0;c[a>>0]=c[e>>0]|0;c[e>>0]=y;a=a+1|0;e=e+-1|0}while(a>>>0>>0);e=l;a=h[f>>2]|0;m=29}}else m=5}}while(0);if((m|0)==5)a=Ze()|0;else if((m|0)==29){h[n>>2]=(i|0)==(r|0)?a:t+(i-e)|0;qd(g);v=p;return}qd(g);si(a|0)}function Rk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;c=v;v=v+96|0;a=c+8|0;e=c;b=c+74|0;s=c+32|0;u=c+28|0;o=c+24|0;d=c+20|0;l=c+16|0;k=e;h[k>>2]=37;h[k+4>>2]=0;Sk(e+1|0,58895,1,h[r+4>>2]|0);k=rk()|0;w=a;h[w>>2]=n;h[w+4>>2]=f;f=b+(b_(b,22,k,e,a)|0)|0;n=Pk(b,f,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(1,b|0,n|0,f|0,s|0,u|0,o|0,d|0);f=T;T=0;if(f&1){w=Ze()|0;Ad(e)|0;si(w|0)}else{Ad(e)|0;h[l>>2]=h[i>>2];k=h[u>>2]|0;w=h[o>>2]|0;h[a>>2]=h[l>>2];w=Vr(a,s,k,w,r,t)|0;v=c;return w|0}return 0}function Lk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+64|0;f=u;b=u+56|0;k=u+44|0;l=u+20|0;o=u+16|0;s=u+12|0;d=u+8|0;a=u+4|0;c[b>>0]=c[58887]|0;c[b+1>>0]=c[58888]|0;c[b+2>>0]=c[58889]|0;c[b+3>>0]=c[58890]|0;c[b+4>>0]=c[58891]|0;c[b+5>>0]=c[58892]|0;Sk(b+1|0,58893,0,h[r+4>>2]|0);e=rk()|0;h[f>>2]=n;n=k+(b_(k,12,e,b,f)|0)|0;b=Pk(k,n,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(1,k|0,b|0,n|0,l|0,o|0,s|0,d|0);n=T;T=0;if(n&1){k=Ze()|0;Ad(e)|0;si(k|0)}else{Ad(e)|0;h[a>>2]=h[i>>2];b=h[o>>2]|0;k=h[s>>2]|0;h[f>>2]=h[a>>2];k=Vr(f,l,b,k,r,t)|0;v=u;return k|0}return 0}function Ck(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;c=v;v=v+112|0;a=c+8|0;e=c;b=c+75|0;s=c+32|0;u=c+28|0;o=c+24|0;d=c+20|0;l=c+16|0;k=e;h[k>>2]=37;h[k+4>>2]=0;Sk(e+1|0,58895,0,h[r+4>>2]|0);k=rk()|0;w=a;h[w>>2]=n;h[w+4>>2]=f;f=b+(b_(b,23,k,e,a)|0)|0;n=Pk(b,f,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(1,b|0,n|0,f|0,s|0,u|0,o|0,d|0);f=T;T=0;if(f&1){w=Ze()|0;Ad(e)|0;si(w|0)}else{Ad(e)|0;h[l>>2]=h[i>>2];k=h[u>>2]|0;w=h[o>>2]|0;h[a>>2]=h[l>>2];w=Vr(a,s,k,w,r,t)|0;v=c;return w|0}return 0}function Dk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+176|0;_=A+84|0;d=A+48|0;c=A+32|0;s=A+24|0;f=A+8|0;u=A;k=A+88|0;w=A+80|0;l=A+118|0;E=A+76|0;y=A+72|0;p=A+68|0;g=A+64|0;o=u;h[o>>2]=37;h[o+4>>2]=0;o=xk(u+1|0,58898,h[r+4>>2]|0)|0;h[w>>2]=k;e=rk()|0;if(o){h[f>>2]=h[r+8>>2];m[f+8>>3]=n;f=b_(k,30,e,u,f)|0}else{m[s>>3]=n;f=b_(k,30,e,u,s)|0}e:do{if((f|0)>29){T=0;e=Ce(3)|0;f=T;T=0;f=f&1;if(o){if(!f?(T=0,h[c>>2]=h[r+8>>2],m[c+8>>3]=n,a=De(17,w|0,e|0,u|0,c|0)|0,b=T,T=0,!(b&1)):0)M=12}else if(!f?(T=0,h[d>>2]=h[r+8>>2],m[d+8>>3]=n,b=De(17,w|0,e|0,u|0,d|0)|0,d=T,T=0,!(d&1)):0){a=b;M=12}do{if((M|0)==12){e=h[w>>2]|0;if(!e){T=0;Ie(6);b=T;T=0;if(b&1)break;f=h[w>>2]|0}else f=e;e=f;u=f;M=16;break e}}while(0);e=Ze()|0}else{e=h[w>>2]|0;u=0;a=f;M=16}}while(0);if((M|0)==16){s=e+a|0;o=Pk(e,s,r)|0;do{if((e|0)==(k|0)){e=k;f=0;M=22}else{a=jc(a<<1)|0;if(!a){T=0;Ie(6);M=T;T=0;if(M&1){f=0;M=20;break}e=h[w>>2]|0}f=a;l=a;M=22}}while(0);do{if((M|0)==22){T=0;a=ye(68,r|0)|0;w=T;T=0;if(!(w&1)){h[p>>2]=a;T=0;Se(2,e|0,o|0,s|0,l|0,E|0,y|0,p|0);p=T;T=0;if(p&1){e=Ze()|0;Ad(a)|0;break}Ad(a)|0;h[g>>2]=h[i>>2];M=h[E>>2]|0;e=h[y>>2]|0;T=0;h[_>>2]=h[g>>2];e=ge(39,_|0,l|0,M|0,e|0,r|0,t|0)|0;M=T;T=0;if(!(M&1)){h[i>>2]=e;if(f)Hc(f);if(u)Hc(u);v=A;return e|0}else M=20}else M=20}}while(0);if((M|0)==20)e=Ze()|0;if(f)Hc(f);if(u)Hc(u)}si(e|0);return 0}function xk(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;if(r&2048){c[e>>0]=43;e=e+1|0}if(r&1024){c[e>>0]=35;e=e+1|0}a=r&260;n=r>>>14;l=(a|0)==260;if(l)f=0;else{c[e>>0]=46;c[e+1>>0]=42;e=e+2|0;f=1}r=c[i>>0]|0;if(r<<24>>24){t=e;while(1){i=i+1|0;e=t+1|0;c[t>>0]=r;r=c[i>>0]|0;if(!(r<<24>>24))break;else t=e}}e:do{switch(a|0){case 4:if(!(n&1)){c[e>>0]=102;break e}else{c[e>>0]=70;break e}case 256:if(!(n&1)){c[e>>0]=101;break e}else{c[e>>0]=69;break e}default:{r=(n&1|0)!=0;if(l)if(r){c[e>>0]=65;break e}else{c[e>>0]=97;break e}else if(r){c[e>>0]=71;break e}else{c[e>>0]=103;break e}}}}while(0);return f|0}function Ik(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0;A=v;v=v+16|0;M=A;E=Vu(a,44220)|0;g=Vu(a,44360)|0;wE[h[(h[g>>2]|0)+20>>2]&127](M,g);h[f>>2]=t;a=c[e>>0]|0;switch(a<<24>>24){case 43:case 45:{T=0;a=Oe(h[(h[E>>2]|0)+28>>2]|0,E|0,a|0)|0;y=T;T=0;if(y&1)p=8;else{u=h[f>>2]|0;h[f>>2]=u+1;c[u>>0]=a;u=e+1|0;p=10}break}default:{u=e;p=10}}e:do{if((p|0)==10){y=r;i:do{if((y-u|0)>1?(c[u>>0]|0)==48:0){s=u+1|0;switch(c[s>>0]|0){case 88:case 120:break;default:{p=11;break i}}T=0;a=Oe(h[(h[E>>2]|0)+28>>2]|0,E|0,48)|0;m=T;T=0;if(m&1){p=8;break e}m=h[f>>2]|0;h[f>>2]=m+1;c[m>>0]=a;u=u+2|0;T=0;a=Oe(h[(h[E>>2]|0)+28>>2]|0,E|0,c[s>>0]|0)|0;m=T;T=0;if(m&1){p=8;break e}m=h[f>>2]|0;h[f>>2]=m+1;c[m>>0]=a;if(u>>>0>>0){a=u;while(1){s=c[a>>0]|0;T=0;o=Ce(3)|0;m=T;T=0;if(m&1)break;T=0;s=Oe(39,s<<24>>24|0,o|0)|0;m=T;T=0;if(m&1)break;if(!s){m=u;break i}a=a+1|0;if(a>>>0>=r>>>0){m=u;break i}}a=Ze()|0;break e}else{m=u;a=u}}else p=11}while(0);i:do{if((p|0)==11)if(u>>>0>>0){a=u;while(1){s=c[a>>0]|0;T=0;o=Ce(3)|0;m=T;T=0;if(m&1)break;T=0;s=Oe(40,s<<24>>24|0,o|0)|0;m=T;T=0;if(m&1)break;if(!s){m=u;break i}a=a+1|0;if(a>>>0>=r>>>0){m=u;break i}}a=Ze()|0;break e}else{m=u;a=u}}while(0);w=c[M>>0]|0;_=M+4|0;if(((w&1)==0?(w&255)>>>1:h[_>>2]|0)|0){if((m|0)!=(a|0)?(d=a+-1|0,m>>>0>>0):0){o=m;s=d;do{w=c[o>>0]|0;c[o>>0]=c[s>>0]|0;c[s>>0]=w;o=o+1|0;s=s+-1|0}while(o>>>0>>0)}T=0;d=ye(h[(h[g>>2]|0)+16>>2]|0,g|0)|0;w=T;T=0;if(w&1){p=8;break}b=M+8|0;k=M+1|0;i:do{if(m>>>0>>0){s=0;o=0;w=m;while(1){u=c[((c[M>>0]&1)==0?k:h[b>>2]|0)+o>>0]|0;if(u<<24>>24>0&(s|0)==(u<<24>>24|0)){s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=d;s=c[M>>0]|0;u=0;o=(o>>>0<(((s&1)==0?(s&255)>>>1:h[_>>2]|0)+-1|0)>>>0&1)+o|0}else u=s;T=0;s=Oe(h[(h[E>>2]|0)+28>>2]|0,E|0,c[w>>0]|0)|0;S=T;T=0;if(S&1)break;S=h[f>>2]|0;h[f>>2]=S+1;c[S>>0]=s;w=w+1|0;if(w>>>0>=a>>>0)break i;else s=u+1|0}a=Ze()|0;break e}}while(0);s=t+(m-e)|0;o=h[f>>2]|0;if((s|0)!=(o|0)?(l=o+-1|0,s>>>0>>0):0){do{S=c[s>>0]|0;c[s>>0]=c[l>>0]|0;c[l>>0]=S;s=s+1|0;l=l+-1|0}while(s>>>0>>0);s=E}else s=E}else{T=0;De(h[(h[E>>2]|0)+32>>2]|0,E|0,m|0,a|0,h[f>>2]|0)|0;S=T;T=0;if(S&1){p=8;break}h[f>>2]=(h[f>>2]|0)+(a-m);s=E}i:do{if(a>>>0>>0){while(1){l=c[a>>0]|0;if(l<<24>>24==46)break;T=0;l=Oe(h[(h[s>>2]|0)+28>>2]|0,E|0,l|0)|0;S=T;T=0;if(S&1){p=4;break}S=h[f>>2]|0;h[f>>2]=S+1;c[S>>0]=l;a=a+1|0;if(a>>>0>=r>>>0)break i}if((p|0)==4){a=Ze()|0;break e}T=0;l=ye(h[(h[g>>2]|0)+12>>2]|0,g|0)|0;S=T;T=0;if(S&1){p=8;break e}S=h[f>>2]|0;h[f>>2]=S+1;c[S>>0]=l;a=a+1|0}}while(0);T=0;De(h[(h[E>>2]|0)+32>>2]|0,E|0,a|0,r|0,h[f>>2]|0)|0;S=T;T=0;if(S&1)p=8;else{S=(h[f>>2]|0)+(y-a)|0;h[f>>2]=S;h[n>>2]=(i|0)==(r|0)?S:t+(i-e)|0;qd(M);v=A;return}}}while(0);if((p|0)==8)a=Ze()|0;qd(M);si(a|0)}function Bk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+176|0;_=A+76|0;d=A+48|0;c=A+32|0;s=A+24|0;f=A+8|0;u=A;k=A+80|0;w=A+72|0;l=A+110|0;E=A+68|0;y=A+64|0;p=A+60|0;g=A+56|0;o=u;h[o>>2]=37;h[o+4>>2]=0;o=xk(u+1|0,58899,h[r+4>>2]|0)|0;h[w>>2]=k;e=rk()|0;if(o){h[f>>2]=h[r+8>>2];m[f+8>>3]=n;f=b_(k,30,e,u,f)|0}else{m[s>>3]=n;f=b_(k,30,e,u,s)|0}e:do{if((f|0)>29){T=0;e=Ce(3)|0;f=T;T=0;f=f&1;if(o){if(!f?(T=0,h[c>>2]=h[r+8>>2],m[c+8>>3]=n,a=De(17,w|0,e|0,u|0,c|0)|0,b=T,T=0,!(b&1)):0)M=12}else if(!f?(T=0,m[d>>3]=n,b=De(17,w|0,e|0,u|0,d|0)|0,d=T,T=0,!(d&1)):0){a=b;M=12}do{if((M|0)==12){e=h[w>>2]|0;if(!e){T=0;Ie(6);b=T;T=0;if(b&1)break;f=h[w>>2]|0}else f=e;e=f;u=f;M=16;break e}}while(0);e=Ze()|0}else{e=h[w>>2]|0;u=0;a=f;M=16}}while(0);if((M|0)==16){s=e+a|0;o=Pk(e,s,r)|0;do{if((e|0)==(k|0)){e=k;f=0;M=22}else{a=jc(a<<1)|0;if(!a){T=0;Ie(6);M=T;T=0;if(M&1){f=0;M=20;break}e=h[w>>2]|0}f=a;l=a;M=22}}while(0);do{if((M|0)==22){T=0;a=ye(68,r|0)|0;w=T;T=0;if(!(w&1)){h[p>>2]=a;T=0;Se(2,e|0,o|0,s|0,l|0,E|0,y|0,p|0);p=T;T=0;if(p&1){e=Ze()|0;Ad(a)|0;break}Ad(a)|0;h[g>>2]=h[i>>2];M=h[E>>2]|0;e=h[y>>2]|0;T=0;h[_>>2]=h[g>>2];e=ge(39,_|0,l|0,M|0,e|0,r|0,t|0)|0;M=T;T=0;if(!(M&1)){h[i>>2]=e;if(f)Hc(f);if(u)Hc(u);v=A;return e|0}else M=20}else M=20}}while(0);if((M|0)==20)e=Ze()|0;if(f)Hc(f);if(u)Hc(u)}si(e|0);return 0}function Nk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;b=v;v=v+80|0;s=b;e=b+70|0;u=b+12|0;d=b+32|0;l=b+8|0;o=b+4|0;c[e>>0]=c[58901]|0;c[e+1>>0]=c[58902]|0;c[e+2>>0]=c[58903]|0;c[e+3>>0]=c[58904]|0;c[e+4>>0]=c[58905]|0;c[e+5>>0]=c[58906]|0;f=rk()|0;h[s>>2]=n;e=b_(u,20,f,e,s)|0;n=u+e|0;f=Pk(u,n,r)|0;a=_h(r)|0;h[l>>2]=a;T=0;l=Oe(37,l|0,44220)|0;k=T;T=0;if(k&1){k=Ze()|0;Ad(a)|0;si(k|0)}else{Ad(a)|0;OE[h[(h[l>>2]|0)+32>>2]&31](l,u,n,d)|0;k=d+e|0;h[o>>2]=h[i>>2];h[s>>2]=h[o>>2];k=Vr(s,d,(f|0)==(n|0)?k:d+(f-u)|0,k,r,t)|0;v=b;return k|0}return 0}function Fk(e){e=e|0;return}function Uk(e){e=e|0;zv(e);return}function jk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;f=o+20|0;a=o+16|0;l=o+12|0;s=o;e:do{if(!(h[r+4>>2]&1)){s=h[(h[e>>2]|0)+24>>2]|0;h[a>>2]=h[i>>2];h[f>>2]=h[a>>2];f=TE[s&31](e,f,r,t,n&1)|0}else{f=_h(r)|0;h[l>>2]=f;T=0;a=Oe(37,l|0,44368)|0;l=T;T=0;i:do{if(l&1){o=Ze()|0;Ad(f)|0;f=o}else{Ad(f)|0;f=h[a>>2]|0;if(n)wE[h[f+24>>2]&127](s,a);else wE[h[f+28>>2]&127](s,a);e=c[s>>0]|0;r=(e&1)==0;f=s+4|0;n=s+8|0;l=r?f:s+4|0;f=r?f:h[s+8>>2]|0;r=(e&1)==0;r:do{if((f|0)!=((r?l:h[n>>2]|0)+((r?(e&255)>>>1:h[l>>2]|0)<<2)|0)){while(1){a=h[f>>2]|0;t=h[i>>2]|0;if(t){r=t+24|0;e=h[r>>2]|0;if((e|0)==(h[t+28>>2]|0)){T=0;a=Oe(h[(h[t>>2]|0)+52>>2]|0,t|0,a|0)|0;e=T;T=0;if(e&1)break}else{h[r>>2]=e+4;h[e>>2]=a}if((a|0)==-1)h[i>>2]=0}f=f+4|0;e=c[s>>0]|0;r=(e&1)==0;if((f|0)==((r?l:h[n>>2]|0)+((r?(e&255)>>>1:h[l>>2]|0)<<2)|0))break r}f=Ze()|0;th(s);break i}}while(0);f=h[i>>2]|0;th(s);break e}}while(0);si(f|0)}}while(0);v=o;return f|0}function Hk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;u=v;v=v+128|0;f=u;b=u+116|0;k=u+104|0;l=u+20|0;o=u+16|0;s=u+12|0;d=u+8|0;a=u+4|0;c[b>>0]=c[58887]|0;c[b+1>>0]=c[58888]|0;c[b+2>>0]=c[58889]|0;c[b+3>>0]=c[58890]|0;c[b+4>>0]=c[58891]|0;c[b+5>>0]=c[58892]|0;Sk(b+1|0,58893,1,h[r+4>>2]|0);e=rk()|0;h[f>>2]=n;n=k+(b_(k,12,e,b,f)|0)|0;b=Pk(k,n,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(3,k|0,b|0,n|0,l|0,o|0,s|0,d|0);n=T;T=0;if(n&1){k=Ze()|0;Ad(e)|0;si(k|0)}else{Ad(e)|0;h[a>>2]=h[i>>2];b=h[o>>2]|0;k=h[s>>2]|0;h[f>>2]=h[a>>2];k=w_(f,l,b,k,r,t)|0;v=u;return k|0}return 0}function Yk(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;p=v;v=v+16|0;g=p;_=Vu(a,44212)|0;o=Vu(a,44368)|0;wE[h[(h[o>>2]|0)+20>>2]&127](g,o);k=c[g>>0]|0;w=g+4|0;e:do{if(!(((k&1)==0?(k&255)>>>1:h[w>>2]|0)|0)){T=0;De(h[(h[_>>2]|0)+48>>2]|0,_|0,e|0,r|0,t|0)|0;m=T;T=0;if(m&1)m=5;else{a=t+(r-e<<2)|0;h[f>>2]=a;m=28}}else{h[f>>2]=t;a=c[e>>0]|0;switch(a<<24>>24){case 43:case 45:{T=0;a=Oe(h[(h[_>>2]|0)+44>>2]|0,_|0,a|0)|0;k=T;T=0;if(k&1){m=5;break e}s=h[f>>2]|0;h[f>>2]=s+4;h[s>>2]=a;s=e+1|0;break}default:s=e}i:do{if((r-s|0)>1?(c[s>>0]|0)==48:0){a=s+1|0;switch(c[a>>0]|0){case 88:case 120:break;default:{k=s;break i}}T=0;l=Oe(h[(h[_>>2]|0)+44>>2]|0,_|0,48)|0;k=T;T=0;if(k&1){m=5;break e}k=h[f>>2]|0;h[f>>2]=k+4;h[k>>2]=l;T=0;a=Oe(h[(h[_>>2]|0)+44>>2]|0,_|0,c[a>>0]|0)|0;k=T;T=0;if(k&1){m=5;break e}k=h[f>>2]|0;h[f>>2]=k+4;h[k>>2]=a;k=s+2|0}else k=s}while(0);if((k|0)!=(r|0)?(u=r+-1|0,k>>>0>>0):0){l=k;a=u;do{b=c[l>>0]|0;c[l>>0]=c[a>>0]|0;c[a>>0]=b;l=l+1|0;a=a+-1|0}while(l>>>0>>0)}T=0;o=ye(h[(h[o>>2]|0)+16>>2]|0,o|0)|0;b=T;T=0;if(!(b&1)){u=g+8|0;d=g+1|0;i:do{if(k>>>0>>0){a=0;l=0;b=k;while(1){s=c[((c[g>>0]&1)==0?d:h[u>>2]|0)+l>>0]|0;if(s<<24>>24!=0&(a|0)==(s<<24>>24|0)){a=h[f>>2]|0;h[f>>2]=a+4;h[a>>2]=o;a=c[g>>0]|0;s=0;l=(l>>>0<(((a&1)==0?(a&255)>>>1:h[w>>2]|0)+-1|0)>>>0&1)+l|0}else s=a;T=0;a=Oe(h[(h[_>>2]|0)+44>>2]|0,_|0,c[b>>0]|0)|0;y=T;T=0;if(y&1)break;y=h[f>>2]|0;h[f>>2]=y+4;h[y>>2]=a;b=b+1|0;if(b>>>0>=r>>>0)break i;else a=s+1|0}a=Ze()|0;break e}}while(0);s=e;a=t+(k-s<<2)|0;l=h[f>>2]|0;if((a|0)!=(l|0)){e=l+-4|0;if(a>>>0>>0){do{y=h[a>>2]|0;h[a>>2]=h[e>>2];h[e>>2]=y;a=a+4|0;e=e+-4|0}while(a>>>0>>0);e=s;a=l;m=28}else{e=s;a=l;m=28}}else{e=s;m=28}}else m=5}}while(0);if((m|0)==5)a=Ze()|0;else if((m|0)==28){h[n>>2]=(i|0)==(r|0)?a:t+(i-e<<2)|0;qd(g);v=p;return}qd(g);si(a|0)}function qk(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;c=v;v=v+224|0;a=c+8|0;e=c;b=c+196|0;s=c+32|0;u=c+28|0;o=c+24|0;d=c+20|0;l=c+16|0;k=e;h[k>>2]=37;h[k+4>>2]=0;Sk(e+1|0,58895,1,h[r+4>>2]|0);k=rk()|0;w=a;h[w>>2]=n;h[w+4>>2]=f;f=b+(b_(b,22,k,e,a)|0)|0;n=Pk(b,f,r)|0;e=_h(r)|0;h[d>>2]=e;T=0;Se(3,b|0,n|0,f|0,s|0,u|0,o|0,d|0);f=T;T=0;if(f&1){w=Ze()|0;Ad(e)|0;si(w|0)}else{Ad(e)|0;h[l>>2]=h[i>>2];k=h[u>>2]|0;w=h[o>>2]|0;h[a>>2]=h[l>>2];w=w_(a,s,k,w,r,t)|0;v=c;return w|0}return 0}function Xk(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;m=v;v=v+16|0;w=m;b=m+8|0;e:do{if((r|0)==(t|0))s=t;else{s=r;while(1){if(!(h[s>>2]|0))break e;s=s+4|0;if((s|0)==(t|0)){s=t;break}}}}while(0);h[l>>2]=f;h[n>>2]=r;u=a;k=e+8|0;e:do{if(!((f|0)==(a|0)|(r|0)==(t|0))){e=f;o=s;i:while(1){g=i;f=h[g+4>>2]|0;s=w;h[s>>2]=h[g>>2];h[s+4>>2]=f;s=fy(h[k>>2]|0)|0;T=0;f=Re(21,e|0,n|0,o-r>>2|0,u-e|0,i|0)|0;g=T;T=0;if(g&1){p=9;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=8;break}switch(f|0){case 0:{d=1;break e}case-1:{s=e;p=14;break i}default:{}}s=(h[l>>2]|0)+f|0;h[l>>2]=s;if((s|0)==(a|0)){p=27;break}if((o|0)==(t|0)){r=h[n>>2]|0;e=s;s=t}else{s=fy(h[k>>2]|0)|0;T=0;r=Ae(34,b|0,0,i|0)|0;g=T;T=0;if(g&1){p=35;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=34;break}if((r|0)==-1){d=2;break e}if(r>>>0>(u-(h[l>>2]|0)|0)>>>0){d=1;break e}if(r){s=b;while(1){o=c[s>>0]|0;g=h[l>>2]|0;h[l>>2]=g+1;c[g>>0]=o;r=r+-1|0;if(!r)break;else s=s+1|0}}r=(h[n>>2]|0)+4|0;h[n>>2]=r;r:do{if((r|0)==(t|0))s=t;else{s=r;while(1){if(!(h[s>>2]|0))break r;s=s+4|0;if((s|0)==(t|0)){s=t;break}}}}while(0);e=h[l>>2]|0}if((e|0)==(a|0)|(r|0)==(t|0)){p=47;break e}else o=s}if((p|0)==8){g=Ze(0)|0;Ki(g)}else if((p|0)==9){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}else if((p|0)==14){h[l>>2]=s;i:do{if((r|0)!=(h[n>>2]|0)){while(1){g=h[r>>2]|0;e=fy(h[k>>2]|0)|0;T=0;s=Ae(34,s|0,g|0,w|0)|0;g=T;T=0;if(g&1){_=e;break}if((e|0)!=0?(T=0,ye(75,e|0)|0,g=T,T=0,g&1):0){p=18;break}if((s|0)==-1)break i;s=(h[l>>2]|0)+s|0;h[l>>2]=s;r=r+4|0;if((r|0)==(h[n>>2]|0))break i}if((p|0)==18){g=Ze(0)|0;Ki(g)}r=Ze()|0;if((_|0)!=0?(T=0,ye(75,_|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}}while(0);h[n>>2]=r;d=2;break}else if((p|0)==27){r=h[n>>2]|0;p=47;break}else if((p|0)==34){g=Ze(0)|0;Ki(g)}else if((p|0)==35){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}}else p=47}while(0);if((p|0)==47)d=(r|0)!=(t|0)&1;v=m;return d|0}function zk(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;m=v;v=v+16|0;_=m;e:do{if((r|0)==(t|0))s=t;else{s=r;while(1){if(!(c[s>>0]|0))break e;s=s+1|0;if((s|0)==(t|0)){s=t;break}}}}while(0);h[l>>2]=f;h[n>>2]=r;d=a;k=e+8|0;e:do{if(!((f|0)==(a|0)|(r|0)==(t|0))){e=f;u=s;i:while(1){o=i;s=h[o+4>>2]|0;f=_;h[f>>2]=h[o>>2];h[f+4>>2]=s;f=u;s=fy(h[k>>2]|0)|0;T=0;o=Re(22,e|0,n|0,f-r|0,d-e>>2|0,i|0)|0;g=T;T=0;if(g&1){p=9;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=8;break}switch(o|0){case 0:{b=2;break e}case-1:{s=e;p=14;break i}default:{}}e=(h[l>>2]|0)+(o<<2)|0;h[l>>2]=e;if((e|0)==(a|0)){p=31;break}r=h[n>>2]|0;if((u|0)==(t|0))s=t;else{s=fy(h[k>>2]|0)|0;T=0;r=De(20,e|0,r|0,1,i|0)|0;g=T;T=0;if(g&1){p=38;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=37;break}if(r){b=2;break e}h[l>>2]=(h[l>>2]|0)+4;r=(h[n>>2]|0)+1|0;h[n>>2]=r;r:do{if((r|0)==(t|0))s=t;else{s=r;while(1){if(!(c[s>>0]|0))break r;s=s+1|0;if((s|0)==(t|0)){s=t;break}}}}while(0);e=h[l>>2]|0}if((e|0)==(a|0)|(r|0)==(t|0)){p=47;break e}else u=s}if((p|0)==8){g=Ze(0)|0;Ki(g)}else if((p|0)==9){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}else if((p|0)==14){h[l>>2]=s;i:do{if((r|0)!=(h[n>>2]|0)){e=s;r:while(1){s=fy(h[k>>2]|0)|0;T=0;e=De(20,e|0,r|0,f-r|0,_|0)|0;g=T;T=0;if(g&1){p=19;break}if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){p=18;break}switch(e|0){case-1:{p=25;break r}case-2:{p=26;break r}case 0:{r=r+1|0;break}default:r=r+e|0}e=(h[l>>2]|0)+4|0;h[l>>2]=e;if((r|0)==(h[n>>2]|0)){w=r;break i}}if((p|0)==18){g=Ze(0)|0;Ki(g)}else if((p|0)==19){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}else if((p|0)==25){h[n>>2]=r;b=2;break e}else if((p|0)==26){h[n>>2]=r;b=1;break e}}else w=r}while(0);h[n>>2]=w;b=(w|0)!=(t|0)&1;break}else if((p|0)==31){r=h[n>>2]|0;p=47;break}else if((p|0)==37){g=Ze(0)|0;Ki(g)}else if((p|0)==38){r=Ze()|0;if((s|0)!=0?(T=0,ye(75,s|0)|0,g=T,T=0,g&1):0){g=Ze(0)|0;Ki(g)}si(r|0)}}else p=47}while(0);if((p|0)==47)b=(r|0)!=(t|0)&1;v=m;return b|0}function Vk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=v;v=v+16|0;f=a;h[n>>2]=r;r=fy(h[e+8>>2]|0)|0;T=0;e=Ae(34,f|0,0,i|0)|0;i=T;T=0;if(i&1){f=Ze()|0;if((r|0)!=0?(T=0,ye(75,r|0)|0,a=T,T=0,a&1):0){a=Ze(0)|0;Ki(a)}si(f|0)}if((r|0)!=0?(T=0,ye(75,r|0)|0,i=T,T=0,i&1):0){i=Ze(0)|0;Ki(i)}switch(e|0){case 0:case-1:{f=2;break}default:{e=e+-1|0;if(e>>>0<=(t-(h[n>>2]|0)|0)>>>0)if(!e)f=0;else while(1){i=c[f>>0]|0;t=h[n>>2]|0;h[n>>2]=t+1;c[t>>0]=i;e=e+-1|0;if(!e){f=0;break}else f=f+1|0}else f=1}}v=a;return f|0}function Gk(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;i=e+8|0;T=0;r=ye(75,h[i>>2]|0)|0;t=T;T=0;do{if(t&1)n=16;else{T=0;t=Ae(35,0,0,4)|0;e=T;T=0;if(e&1){e=Ze(0)|0;if(!r)break;T=0;ye(75,r|0)|0;a=T;T=0;if(!(a&1))break;a=Ze(0)|0;Ki(a)}if((r|0)!=0?(T=0,ye(75,r|0)|0,a=T,T=0,a&1):0){a=Ze(0)|0;Ki(a)}if(!t){e=h[i>>2]|0;if(e){T=0;e=ye(75,e|0)|0;a=T;T=0;if(a&1){n=16;break}if((e|0)!=0?(T=0,ye(75,e|0)|0,a=T,T=0,a&1):0){a=Ze(0)|0;Ki(a)}else f=0}else f=1}else f=-1;return f|0}}while(0);if((n|0)==16)e=Ze(0)|0;Ki(e);return 0}function Kk(e){e=e|0;return 0}function Wk(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;o=t;s=e+8|0;e:do{if((r|0)==(t|0)|(n|0)==0)e=0;else{e=0;l=0;while(1){a=fy(h[s>>2]|0)|0;T=0;f=Ae(36,r|0,o-r|0,i|0)|0;d=T;T=0;if(d&1){c=a;break}if((a|0)!=0?(T=0,ye(75,a|0)|0,d=T,T=0,d&1):0){u=5;break}switch(f|0){case-2:case-1:break e;case 0:{r=r+1|0;f=1;break}default:r=r+f|0}e=f+e|0;l=l+1|0;if((r|0)==(t|0)|l>>>0>=n>>>0)break e}if((u|0)==5){d=Ze(0)|0;Ki(d)}e=Ze()|0;if((c|0)!=0?(T=0,ye(75,c|0)|0,d=T,T=0,d&1):0){d=Ze(0)|0;Ki(d)}si(e|0)}}while(0);return e|0}function Jk(e){e=e|0;var i=0,r=0;e=h[e+8>>2]|0;if(e){T=0;e=ye(75,e|0)|0;r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}if((e|0)!=0?(T=0,ye(75,e|0)|0,r=T,T=0,r&1):0){r=Ze(0)|0;Ki(r)}else i=4}else i=1;return i|0}function Zk(e){e=e|0;zv(e);return}function Qk(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0;e=v;v=v+16|0;s=e+4|0;i=e;h[s>>2]=r;h[i>>2]=f;a=tm(r,t,s,f,a,i,1114111,0)|0;h[n>>2]=h[s>>2];h[l>>2]=h[i>>2];v=e;return a|0}function $k(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0;e=v;v=v+16|0;s=e+4|0;i=e;h[s>>2]=r;h[i>>2]=f;a=nm(r,t,s,f,a,i,1114111,0)|0;h[n>>2]=h[s>>2];h[l>>2]=h[i>>2];v=e;return a|0}function ew(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;h[n>>2]=r;return 3}function iw(e){e=e|0;return 0}function rw(e){e=e|0;return 0}function tw(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return fm(r,t,n,1114111,0)|0}function nw(e){e=e|0;return 4}function fw(e){e=e|0;zv(e);return}function aw(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0;e=v;v=v+16|0;s=e+4|0;i=e;h[s>>2]=r;h[i>>2]=f;a=am(r,t,s,f,a,i,1114111,0)|0;h[n>>2]=h[s>>2];h[l>>2]=h[i>>2];v=e;return a|0}function lw(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0;e=v;v=v+16|0;s=e+4|0;i=e;h[s>>2]=r;h[i>>2]=f;a=lm(r,t,s,f,a,i,1114111,0)|0;h[n>>2]=h[s>>2];h[l>>2]=h[i>>2];v=e;return a|0}function sw(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;h[n>>2]=r;return 3}function ow(e){e=e|0;return 0}function uw(e){e=e|0;return 0}function cw(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return sm(r,t,n,1114111,0)|0}function dw(e){e=e|0;return 4}function hw(e){e=e|0;zv(e);return}function bw(e){e=e|0;zv(e);return}function kw(e,i){e=e|0;i=i|0;h[e+4>>2]=i+-1;h[e>>2]=44384;c[e+8>>0]=46;c[e+9>>0]=44;e=e+12|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function ww(e,i){e=e|0;i=i|0;h[e+4>>2]=i+-1;h[e>>2]=44424;h[e+8>>2]=46;h[e+12>>2]=44;e=e+16|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;return}function _w(e){e=e|0;h[e>>2]=44384;qd(e+12|0);return}function mw(e){e=e|0;_w(e);zv(e);return}function pw(e){e=e|0;h[e>>2]=44424;qd(e+16|0);return}function vw(e){e=e|0;pw(e);zv(e);return}function gw(e){e=e|0;return c[e+8>>0]|0}function yw(e){e=e|0;return h[e+8>>2]|0}function Ew(e){e=e|0;return c[e+9>>0]|0}function Aw(e){e=e|0;return h[e+12>>2]|0}function Mw(e,i){e=e|0;i=i|0;jd(e,i+12|0);return}function Tw(e,i){e=e|0;i=i|0;jd(e,i+16|0);return}function Sw(e,i){e=e|0;i=i|0;Hd(e,59024,4);return}function Pw(e,i){e=e|0;i=i|0;ih(e,44996,nE(44996)|0);return}function Ow(e,i){e=e|0;i=i|0;Hd(e,59029,5);return}function Rw(e,i){e=e|0;i=i|0;ih(e,45016,nE(45016)|0);return}function Lw(e){e=e|0;switch(h[e+4>>2]&74|0){case 64:{e=8;break}case 8:{e=16;break}case 0:{e=0;break}default:e=10}return e|0}function Cw(e){e=e|0;do{if((c[2464]|0)==0?(ze(2464)|0)!=0:0){if((c[2472]|0)==0?(ze(2472)|0)!=0:0){e=45040;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=45208);yi(193,0,M|0)|0;$e(2472)}T=0;Oe(41,45040,59035)|0;e=T;T=0;if(((((((((((((!(e&1)?(T=0,Oe(41,45052,59042)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45064,59049)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45076,59057)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45088,59067)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45100,59076)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45112,59083)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45124,59092)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45136,59096)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45148,59100)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45160,59104)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45172,59108)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45184,59112)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45196,59116)|0,e=T,T=0,!(e&1)):0){h[11302]=45040;$e(2464);break}e=Ze()|0;Ri(2464);si(e|0)}}while(0);return h[11302]|0}function Dw(e){e=e|0;do{if((c[2480]|0)==0?(ze(2480)|0)!=0:0){if((c[2488]|0)==0?(ze(2488)|0)!=0:0){e=45212;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=45380);yi(194,0,M|0)|0;$e(2488)}T=0;Oe(42,45212,45380)|0;e=T;T=0;if(((((((((((((!(e&1)?(T=0,Oe(42,45224,45408)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45236,45436)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45248,45468)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45260,45508)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45272,45544)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45284,45572)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45296,45608)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45308,45624)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45320,45640)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45332,45656)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45344,45672)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45356,45688)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,45368,45704)|0,e=T,T=0,!(e&1)):0){h[11430]=45212;$e(2480);break}e=Ze()|0;Ri(2480);si(e|0)}}while(0);return h[11430]|0}function xw(e){e=e|0;e:do{if((c[2496]|0)==0?(ze(2496)|0)!=0:0){if((c[2504]|0)==0?(ze(2504)|0)!=0:0){e=45724;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=46012);yi(195,0,M|0)|0;$e(2504)}T=0;Oe(41,45724,59120)|0;e=T;T=0;do{if((((((((((((((!(e&1)?(T=0,Oe(41,45736,59128)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45748,59137)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45760,59143)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45772,59149)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45784,59153)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45796,59158)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45808,59163)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45820,59170)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45832,59180)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45844,59188)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45856,59197)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45868,59206)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45880,59210)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(41,45892,59214)|0,e=T,T=0,!(e&1)):0){T=0;Oe(41,45904,59218)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45916,59149)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45928,59222)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45940,59226)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45952,59230)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45964,59234)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45976,59238)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,45988,59242)|0;e=T;T=0;if(e&1)break;T=0;Oe(41,46e3,59246)|0;e=T;T=0;if(e&1)break;h[11503]=45724;$e(2496);break e}}while(0);e=Ze()|0;Ri(2496);si(e|0)}}while(0);return h[11503]|0}function Iw(e){e=e|0;e:do{if((c[2512]|0)==0?(ze(2512)|0)!=0:0){if((c[2520]|0)==0?(ze(2520)|0)!=0:0){e=46016;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=46304);yi(196,0,M|0)|0;$e(2520)}T=0;Oe(42,46016,46304)|0;e=T;T=0;do{if((((((((((((((!(e&1)?(T=0,Oe(42,46028,46336)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46040,46372)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46052,46396)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46064,46420)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46076,46436)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46088,46456)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46100,46476)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46112,46504)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46124,46544)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46136,46576)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46148,46612)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46160,46648)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46172,46664)|0,e=T,T=0,!(e&1)):0)?(T=0,Oe(42,46184,46680)|0,e=T,T=0,!(e&1)):0){T=0;Oe(42,46196,46696)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46208,46420)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46220,46712)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46232,46728)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46244,46744)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46256,46760)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46268,46776)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46280,46792)|0;e=T;T=0;if(e&1)break;T=0;Oe(42,46292,46808)|0;e=T;T=0;if(e&1)break;h[11706]=46016;$e(2512);break e}}while(0);e=Ze()|0;Ri(2512);si(e|0)}}while(0);return h[11706]|0}function Bw(e){e=e|0;do{if((c[2528]|0)==0?(ze(2528)|0)!=0:0){if((c[2536]|0)==0?(ze(2536)|0)!=0:0){e=46828;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=47116);yi(197,0,M|0)|0;$e(2536)}T=0;Oe(41,46828,59250)|0;e=T;T=0;if(!(e&1)?(T=0,Oe(41,46840,59253)|0,e=T,T=0,!(e&1)):0){h[11779]=46828;$e(2528);break}e=Ze()|0;Ri(2528);si(e|0)}}while(0);return h[11779]|0}function Nw(e){e=e|0;do{if((c[2544]|0)==0?(ze(2544)|0)!=0:0){if((c[2552]|0)==0?(ze(2552)|0)!=0:0){e=47120;do{h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;e=e+12|0}while((e|0)!=47408);yi(198,0,M|0)|0;$e(2552)}T=0;Oe(42,47120,47408)|0;e=T;T=0;if(!(e&1)?(T=0,Oe(42,47132,47420)|0,e=T,T=0,!(e&1)):0){h[11858]=47120;$e(2544);break}e=Ze()|0;Ri(2544);si(e|0)}}while(0);return h[11858]|0}function Fw(e){e=e|0;do{if((c[2560]|0)==0?(ze(2560)|0)!=0:0){T=0;xe(5,47436,59256,8);e=T;T=0;if(e&1){e=Ze()|0;Ri(2560);si(e|0)}else{yi(199,47436,M|0)|0;$e(2560);break}}}while(0);return 47436}function Uw(e){e=e|0;var i=0;do{if((c[2568]|0)==0?(ze(2568)|0)!=0:0){T=0;e=ye(76,47448)|0;i=T;T=0;if(!(i&1)?(T=0,xe(15,47484,47448,e|0),i=T,T=0,!(i&1)):0){yi(200,47484,M|0)|0;$e(2568);break}i=Ze()|0;Ri(2568);si(i|0)}}while(0);return 47484}function jw(e){e=e|0;do{if((c[2576]|0)==0?(ze(2576)|0)!=0:0){T=0;xe(5,47496,59265,8);e=T;T=0;if(e&1){e=Ze()|0;Ri(2576);si(e|0)}else{yi(199,47496,M|0)|0;$e(2576);break}}}while(0);return 47496}function Hw(e){e=e|0;var i=0;do{if((c[2584]|0)==0?(ze(2584)|0)!=0:0){T=0;e=ye(76,47508)|0;i=T;T=0;if(!(i&1)?(T=0,xe(15,47544,47508,e|0),i=T,T=0,!(i&1)):0){yi(200,47544,M|0)|0;$e(2584);break}i=Ze()|0;Ri(2584);si(i|0)}}while(0);return 47544}function Yw(e){e=e|0;do{if((c[2592]|0)==0?(ze(2592)|0)!=0:0){T=0;xe(5,47556,59274,20);e=T;T=0;if(e&1){e=Ze()|0;Ri(2592);si(e|0)}else{yi(199,47556,M|0)|0;$e(2592);break}}}while(0);return 47556}function qw(e){e=e|0;var i=0;do{if((c[2600]|0)==0?(ze(2600)|0)!=0:0){T=0;e=ye(76,47568)|0;i=T;T=0;if(!(i&1)?(T=0,xe(15,47652,47568,e|0),i=T,T=0,!(i&1)):0){yi(200,47652,M|0)|0;$e(2600);break}i=Ze()|0;Ri(2600);si(i|0)}}while(0);return 47652}function Xw(e){e=e|0;do{if((c[2608]|0)==0?(ze(2608)|0)!=0:0){T=0;xe(5,47664,59295,11);e=T;T=0;if(e&1){e=Ze()|0;Ri(2608);si(e|0)}else{yi(199,47664,M|0)|0;$e(2608);break}}}while(0);return 47664}function zw(e){e=e|0;var i=0;do{if((c[2616]|0)==0?(ze(2616)|0)!=0:0){T=0;e=ye(76,47676)|0;i=T;T=0;if(!(i&1)?(T=0,xe(15,47724,47676,e|0),i=T,T=0,!(i&1)):0){yi(200,47724,M|0)|0;$e(2616);break}i=Ze()|0;Ri(2616);si(i|0)}}while(0);return 47724}function Vw(e){e=e|0;var i=0,r=0,t=0;h[e>>2]=44304;e=e+8|0;i=h[e>>2]|0;T=0;r=Ce(3)|0;t=T;T=0;do{if(!(t&1)){if((i|0)!=(r|0)?(T=0,pe(188,h[e>>2]|0),t=T,T=0,t&1):0)break;return}}while(0);t=Ze(0)|0;Ki(t)}function Gw(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;A=v;v=v+112|0;s=A;u=(t-r|0)/12|0;do{if(u>>>0>100){s=jc(u)|0;if((s|0)==0?(T=0,Ie(6),E=T,T=0,E&1):0){l=0;w=6;break}l=s;w=11}else{l=0;w=11}}while(0);e:do{if((w|0)==11){if((r|0)==(t|0))o=0;else{w=r;d=0;k=s;while(1){o=c[w>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=h[w+4>>2]|0;if(!o){c[k>>0]=2;o=d+1|0;u=u+-1|0}else{c[k>>0]=1;o=d}w=w+12|0;if((w|0)==(t|0))break;else{d=o;k=k+1|0}}}y=(r|0)==(t|0);E=(r|0)==(t|0);g=0;_=o;i:while(1){o=h[e>>2]|0;do{if(o){if((h[o+12>>2]|0)==(h[o+16>>2]|0)){T=0;o=ye(h[(h[o>>2]|0)+36>>2]|0,o|0)|0;p=T;T=0;if(p&1){w=5;break i}if((o|0)==-1){h[e>>2]=0;o=0;break}else{o=h[e>>2]|0;break}}}else o=0}while(0);w=(o|0)==0;d=h[i>>2]|0;if(d){if((h[d+12>>2]|0)==(h[d+16>>2]|0)){T=0;o=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;p=T;T=0;if(p&1){w=5;break}if((o|0)==-1){h[i>>2]=0;d=0}}}else d=0;k=(d|0)==0;o=h[e>>2]|0;if(!((u|0)!=0&(w^k))){w=64;break}d=h[o+12>>2]|0;if((d|0)==(h[o+16>>2]|0)){T=0;o=ye(h[(h[o>>2]|0)+36>>2]|0,o|0)|0;p=T;T=0;if(p&1){w=5;break}}else o=b[d>>0]|0;o=o&255;if(!a){T=0;o=Oe(h[(h[n>>2]|0)+12>>2]|0,n|0,o|0)|0;p=T;T=0;if(p&1){w=5;break}}p=g+1|0;if(y){o=0;w=_}else{k=0;m=r;w=_;_=s;while(1){do{if((c[_>>0]|0)==1){if(!(c[m>>0]&1))d=m+1|0;else d=h[m+8>>2]|0;d=c[d+g>>0]|0;if(!a){T=0;d=Oe(h[(h[n>>2]|0)+12>>2]|0,n|0,d|0)|0;M=T;T=0;if(M&1){w=4;break i}}if(o<<24>>24!=d<<24>>24){c[_>>0]=0;d=k;u=u+-1|0;break}d=c[m>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=h[m+4>>2]|0;if((d|0)==(p|0)){c[_>>0]=2;d=1;w=w+1|0;u=u+-1|0}else d=1}else d=k}while(0);m=m+12|0;if((m|0)==(t|0)){o=d;break}else{k=d;_=_+1|0}}}if(!o){g=p;_=w;continue}o=h[e>>2]|0;d=o+12|0;k=h[d>>2]|0;if((k|0)==(h[o+16>>2]|0)){T=0;ye(h[(h[o>>2]|0)+40>>2]|0,o|0)|0;M=T;T=0;if(M&1){w=5;break}}else h[d>>2]=k+1;if((w+u|0)>>>0<2|E){g=p;_=w;continue}else{o=r;k=w;w=s}while(1){if((c[w>>0]|0)==2){d=c[o>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=h[o+4>>2]|0;if((d|0)!=(p|0)){c[w>>0]=0;k=k+-1|0}}o=o+12|0;if((o|0)==(t|0)){g=p;_=k;continue i}else w=w+1|0}}if((w|0)==4){r=Ze()|0;break}else if((w|0)==5){r=Ze()|0;break}else if((w|0)==64){do{if(o){if((h[o+12>>2]|0)==(h[o+16>>2]|0)){T=0;o=ye(h[(h[o>>2]|0)+36>>2]|0,o|0)|0;M=T;T=0;if(M&1){w=6;break e}if((o|0)==-1){h[e>>2]=0;o=0;break}else{o=h[e>>2]|0;break}}}else o=0}while(0);u=(o|0)==0;do{if(!k){if((h[d+12>>2]|0)==(h[d+16>>2]|0)){T=0;o=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;M=T;T=0;if(M&1){w=6;break e}if((o|0)==-1){h[i>>2]=0;w=76;break}}if(!u)w=77}else w=76}while(0);if((w|0)==76?u:0)w=77;if((w|0)==77)h[f>>2]=h[f>>2]|2;i:do{if((r|0)==(t|0))w=81;else while(1){if((c[s>>0]|0)==2)break i;r=r+12|0;if((r|0)==(t|0)){w=81;break}else s=s+1|0}}while(0);if((w|0)==81){h[f>>2]=h[f>>2]|4;r=t}if(l)Hc(l);v=A;return r|0}}}while(0);if((w|0)==6)r=Ze()|0;if(l)Hc(l);si(r|0);return 0}function Kw(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(l){a=0;break}else a=0}l=c[S>>0]|0;l=(l&1)==0?(l&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+l|0)){T=0;xe(8,S|0,l<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else l=b[l>>0]|0;if(ik(l&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(21,t|0,h[p>>2]|0,n|0,m|0)|0;R=T;T=0;if(!(R&1)){h[f>>2]=t;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function Ww(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;a=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(a)break;else break i;T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(a)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(a){l=0;break}else l=0}a=c[S>>0]|0;a=(a&1)==0?(a&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+a|0)){T=0;xe(8,S|0,a<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+a}s=e+12|0;a=h[s>>2]|0;o=e+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else a=b[a>>0]|0;if(ik(a&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(22,t|0,h[p>>2]|0,n|0,m|0)|0;a=H;R=T;T=0;if(!(R&1)){R=f;h[R>>2]=t;h[R+4>>2]=a;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function Jw(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0;S=v;v=v+240|0;m=S+202|0;a=S+200|0;O=S+24|0;P=S+12|0;g=S+8|0;A=S+40|0;M=S+4|0;y=S;p=Lw(t)|0;_k(O,t,m,a);h[P>>2]=0;h[P+4>>2]=0;h[P+8>>2]=0;if(!(c[P>>0]&1))e=10;else e=(h[P>>2]&-2)+-1|0;T=0;xe(8,P|0,e|0,0);_=T;T=0;e:do{if(!(_&1)){k=P+8|0;w=P+1|0;t=(c[P>>0]&1)==0?w:h[k>>2]|0;h[g>>2]=t;h[M>>2]=A;h[y>>2]=0;_=P+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){R=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){R=24;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;R=16;break}}else R=16}while(0);if((R|0)==16){R=0;if(l){a=0;break}else a=0}l=c[P>>0]|0;l=(l&1)==0?(l&255)>>>1:h[_>>2]|0;if((h[g>>2]|0)==(t+l|0)){T=0;xe(8,P|0,l<<1|0,0);o=T;T=0;if(o&1){R=24;break}if(!(c[P>>0]&1))t=10;else t=(h[P>>2]&-2)+-1|0;T=0;xe(8,P|0,t|0,0);o=T;T=0;if(o&1){R=24;break}t=(c[P>>0]&1)==0?w:h[k>>2]|0;h[g>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;L=T;T=0;if(L&1){R=24;break}}else l=b[l>>0]|0;if(ik(l&255,p,t,g,y,u,O,A,M,m)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;L=T;T=0;if(L&1){R=24;break}else continue}else{h[s>>2]=a+1;continue}}if((R|0)==24){e=Ze()|0;break}L=c[O>>0]|0;if((((L&1)==0?(L&255)>>>1:h[O+4>>2]|0)|0)!=0?(E=h[M>>2]|0,(E-A|0)<160):0){L=h[y>>2]|0;h[M>>2]=E+4;h[E>>2]=L}T=0;t=De(23,t|0,h[g>>2]|0,n|0,p|0)|0;L=T;T=0;if(!(L&1)){d[f>>1]=t;nu(O,A,h[M>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;L=T;T=0;if(L&1){R=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;L=T;T=0;if(L&1){R=25;break e}if((e|0)==-1){h[r>>2]=0;R=49;break}}if(!t)R=50}else R=49}while(0);if((R|0)==49?t:0)R=50;if((R|0)==50)h[n>>2]=h[n>>2]|2;L=h[i>>2]|0;qd(P);qd(O);v=S;return L|0}else R=25}else R=25}while(0);if((R|0)==25)e=Ze()|0;qd(P);qd(O);si(e|0);return 0}function Zw(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(l){a=0;break}else a=0}l=c[S>>0]|0;l=(l&1)==0?(l&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+l|0)){T=0;xe(8,S|0,l<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else l=b[l>>0]|0;if(ik(l&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(24,t|0,h[p>>2]|0,n|0,m|0)|0;R=T;T=0;if(!(R&1)){h[f>>2]=t;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function Qw(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;l=(e|0)==0;a=h[r>>2]|0;do{if(a){if((h[a+12>>2]|0)!=(h[a+16>>2]|0))if(l)break;else break i;T=0;s=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(l)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(l){a=0;break}else a=0}l=c[S>>0]|0;l=(l&1)==0?(l&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+l|0)){T=0;xe(8,S|0,l<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+l}s=e+12|0;l=h[s>>2]|0;o=e+16|0;if((l|0)==(h[o>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else l=b[l>>0]|0;if(ik(l&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(25,t|0,h[p>>2]|0,n|0,m|0)|0;R=T;T=0;if(!(R&1)){h[f>>2]=t;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function $w(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+240|0;_=M+202|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;_k(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){d=S+8|0;k=S+1|0;t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=c[a>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;o=T;T=0;if(o&1){O=24;break}if((a|0)==-1){h[i>>2]=0;e=0}}}else e=0;a=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(a)break;else break i;T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;o=T;T=0;if(o&1){O=24;break i}if((s|0)!=-1)if(a)break;else break i;else{h[r>>2]=0;O=16;break}}else O=16}while(0);if((O|0)==16){O=0;if(a){l=0;break}else l=0}a=c[S>>0]|0;a=(a&1)==0?(a&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(t+a|0)){T=0;xe(8,S|0,a<<1|0,0);o=T;T=0;if(o&1){O=24;break}if(!(c[S>>0]&1))t=10;else t=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,t|0,0);o=T;T=0;if(o&1){O=24;break}t=(c[S>>0]&1)==0?k:h[d>>2]|0;h[p>>2]=t+a}s=e+12|0;a=h[s>>2]|0;o=e+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}}else a=b[a>>0]|0;if(ik(a&255,m,t,p,g,u,P,E,A,_)|0)break;a=h[s>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=24;break}else continue}else{h[s>>2]=a+1;continue}}if((O|0)==24){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;t=De(26,t|0,h[p>>2]|0,n|0,m|0)|0;a=H;R=T;T=0;if(!(R&1)){R=f;h[R>>2]=t;h[R+4>>2]=a;nu(P,E,h[A>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;R=T;T=0;if(R&1){O=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;R=T;T=0;if(R&1){O=25;break e}if((e|0)==-1){h[r>>2]=0;O=49;break}}if(!t)O=50}else O=49}while(0);if((O|0)==49?t:0)O=50;if((O|0)==50)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=25}else O=25}while(0);if((O|0)==25)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function e_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;R=v;v=v+240|0;g=R+208|0;l=R+203|0;s=R+202|0;C=R+24|0;L=R+12|0;E=R+8|0;P=R+40|0;O=R+4|0;A=R;M=R+201|0;y=R+200|0;mk(C,t,g,l,s);h[L>>2]=0;h[L+4>>2]=0;h[L+8>>2]=0;if(!(c[L>>0]&1))e=10;else e=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,e|0,0);p=T;T=0;e:do{if(!(p&1)){w=L+8|0;m=L+1|0;t=(c[L>>0]&1)==0?m:h[w>>2]|0;h[E>>2]=t;h[O>>2]=P;h[A>>2]=0;c[M>>0]=1;c[y>>0]=69;p=L+4|0;k=c[l>>0]|0;d=c[s>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;u=T;T=0;if(u&1){D=24;break}if((l|0)==-1){h[i>>2]=0;e=0}}}else e=0;s=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(s)break;else break i;T=0;o=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){D=24;break i}if((o|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(s){l=0;break}else l=0}s=c[L>>0]|0;s=(s&1)==0?(s&255)>>>1:h[p>>2]|0;if((h[E>>2]|0)==(t+s|0)){T=0;xe(8,L|0,s<<1|0,0);u=T;T=0;if(u&1){D=24;break}if(!(c[L>>0]&1))t=10;else t=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,t|0,0);u=T;T=0;if(u&1){D=24;break}t=(c[L>>0]&1)==0?m:h[w>>2]|0;h[E>>2]=t+s}o=e+12|0;s=h[o>>2]|0;u=e+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}}else s=b[s>>0]|0;if(pk(s&255,M,y,t,E,k,d,C,P,O,A,g)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}else continue}else{h[o>>2]=l+1;continue}}if((D|0)==24){e=Ze()|0;break}x=c[C>>0]|0;if(!((c[M>>0]|0)==0?1:(((x&1)==0?(x&255)>>>1:h[C+4>>2]|0)|0)==0)?(S=h[O>>2]|0,(S-P|0)<160):0){x=h[A>>2]|0;h[O>>2]=S+4;h[S>>2]=x}T=0;a=+Le(1,t|0,h[E>>2]|0,n|0);x=T;T=0;if(!(x&1)){_[f>>2]=a;nu(C,P,h[O>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;x=T;T=0;if(x&1){D=25;break e}if((e|0)==-1){h[r>>2]=0;D=49;break}}if(!t)D=50}else D=49}while(0);if((D|0)==49?t:0)D=50;if((D|0)==50)h[n>>2]=h[n>>2]|2;x=h[i>>2]|0;qd(L);qd(C);v=R;return x|0}else D=25}else D=25}while(0);if((D|0)==25)e=Ze()|0;qd(L);qd(C);si(e|0);return 0}function i_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;R=v;v=v+240|0;g=R+208|0;l=R+203|0;s=R+202|0;C=R+24|0;L=R+12|0;E=R+8|0;P=R+40|0;O=R+4|0;A=R;M=R+201|0;y=R+200|0;mk(C,t,g,l,s);h[L>>2]=0;h[L+4>>2]=0;h[L+8>>2]=0;if(!(c[L>>0]&1))e=10;else e=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,e|0,0);p=T;T=0;e:do{if(!(p&1)){w=L+8|0;_=L+1|0;t=(c[L>>0]&1)==0?_:h[w>>2]|0;h[E>>2]=t;h[O>>2]=P;h[A>>2]=0;c[M>>0]=1;c[y>>0]=69;p=L+4|0;k=c[l>>0]|0;d=c[s>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;u=T;T=0;if(u&1){D=24;break}if((l|0)==-1){h[i>>2]=0;e=0}}}else e=0;s=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(s)break;else break i;T=0;o=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){D=24;break i}if((o|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(s){l=0;break}else l=0}s=c[L>>0]|0;s=(s&1)==0?(s&255)>>>1:h[p>>2]|0;if((h[E>>2]|0)==(t+s|0)){T=0;xe(8,L|0,s<<1|0,0);u=T;T=0;if(u&1){D=24;break}if(!(c[L>>0]&1))t=10;else t=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,t|0,0);u=T;T=0;if(u&1){D=24;break}t=(c[L>>0]&1)==0?_:h[w>>2]|0;h[E>>2]=t+s}o=e+12|0;s=h[o>>2]|0;u=e+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}}else s=b[s>>0]|0;if(pk(s&255,M,y,t,E,k,d,C,P,O,A,g)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}else continue}else{h[o>>2]=l+1;continue}}if((D|0)==24){e=Ze()|0;break}x=c[C>>0]|0;if(!((c[M>>0]|0)==0?1:(((x&1)==0?(x&255)>>>1:h[C+4>>2]|0)|0)==0)?(S=h[O>>2]|0,(S-P|0)<160):0){x=h[A>>2]|0;h[O>>2]=S+4;h[S>>2]=x}T=0;a=+Le(2,t|0,h[E>>2]|0,n|0);x=T;T=0;if(!(x&1)){m[f>>3]=a;nu(C,P,h[O>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;x=T;T=0;if(x&1){D=25;break e}if((e|0)==-1){h[r>>2]=0;D=49;break}}if(!t)D=50}else D=49}while(0);if((D|0)==49?t:0)D=50;if((D|0)==50)h[n>>2]=h[n>>2]|2;x=h[i>>2]|0;qd(L);qd(C);v=R;return x|0}else D=25}else D=25}while(0);if((D|0)==25)e=Ze()|0;qd(L);qd(C);si(e|0);return 0}function r_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;R=v;v=v+240|0;g=R+208|0;l=R+203|0;s=R+202|0;C=R+24|0;L=R+12|0;E=R+8|0;P=R+40|0;O=R+4|0;A=R;M=R+201|0;y=R+200|0;mk(C,t,g,l,s);h[L>>2]=0;h[L+4>>2]=0;h[L+8>>2]=0;if(!(c[L>>0]&1))e=10;else e=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,e|0,0);p=T;T=0;e:do{if(!(p&1)){w=L+8|0;_=L+1|0;t=(c[L>>0]&1)==0?_:h[w>>2]|0;h[E>>2]=t;h[O>>2]=P;h[A>>2]=0;c[M>>0]=1;c[y>>0]=69;p=L+4|0;k=c[l>>0]|0;d=c[s>>0]|0;e=h[i>>2]|0;i:while(1){if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;l=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;u=T;T=0;if(u&1){D=24;break}if((l|0)==-1){h[i>>2]=0;e=0}}}else e=0;s=(e|0)==0;l=h[r>>2]|0;do{if(l){if((h[l+12>>2]|0)!=(h[l+16>>2]|0))if(s)break;else break i;T=0;o=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){D=24;break i}if((o|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;D=16;break}}else D=16}while(0);if((D|0)==16){D=0;if(s){l=0;break}else l=0}s=c[L>>0]|0;s=(s&1)==0?(s&255)>>>1:h[p>>2]|0;if((h[E>>2]|0)==(t+s|0)){T=0;xe(8,L|0,s<<1|0,0);u=T;T=0;if(u&1){D=24;break}if(!(c[L>>0]&1))t=10;else t=(h[L>>2]&-2)+-1|0;T=0;xe(8,L|0,t|0,0);u=T;T=0;if(u&1){D=24;break}t=(c[L>>0]&1)==0?_:h[w>>2]|0;h[E>>2]=t+s}o=e+12|0;s=h[o>>2]|0;u=e+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}}else s=b[s>>0]|0;if(pk(s&255,M,y,t,E,k,d,C,P,O,A,g)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[e>>2]|0)+40>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=24;break}else continue}else{h[o>>2]=l+1;continue}}if((D|0)==24){e=Ze()|0;break}x=c[C>>0]|0;if(!((c[M>>0]|0)==0?1:(((x&1)==0?(x&255)>>>1:h[C+4>>2]|0)|0)==0)?(S=h[O>>2]|0,(S-P|0)<160):0){x=h[A>>2]|0;h[O>>2]=S+4;h[S>>2]=x}T=0;a=+Le(3,t|0,h[E>>2]|0,n|0);x=T;T=0;if(!(x&1)){m[f>>3]=a;nu(C,P,h[O>>2]|0,n);if(e){if((h[e+12>>2]|0)==(h[e+16>>2]|0)){T=0;t=ye(h[(h[e>>2]|0)+36>>2]|0,e|0)|0;x=T;T=0;if(x&1){D=25;break}if((t|0)==-1){h[i>>2]=0;e=0}}}else e=0;t=(e|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;x=T;T=0;if(x&1){D=25;break e}if((e|0)==-1){h[r>>2]=0;D=49;break}}if(!t)D=50}else D=49}while(0);if((D|0)==49?t:0)D=50;if((D|0)==50)h[n>>2]=h[n>>2]|2;x=h[i>>2]|0;qd(L);qd(C);v=R;return x|0}else D=25}else D=25}while(0);if((D|0)==25)e=Ze()|0;qd(L);qd(C);si(e|0);return 0}function t_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=v;v=v+16|0;f=n;h[f>>2]=t;t=fy(i)|0;i=Ky(e,r,f)|0;if((t|0)!=0?(T=0,ye(75,t|0)|0,f=T,T=0,f&1):0){f=Ze(0)|0;Ki(f)}v=n;return i|0}function n_(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;E=v;v=v+112|0;s=E;u=(t-r|0)/12|0;do{if(u>>>0>100){s=jc(u)|0;if((s|0)==0?(T=0,Ie(6),y=T,T=0,y&1):0){l=0;b=6;break}l=s;b=11}else{l=0;b=11}}while(0);e:do{if((b|0)==11){if((r|0)==(t|0))o=0;else{k=r;d=0;b=s;while(1){o=c[k>>0]|0;if(!(o&1))o=(o&255)>>>1;else o=h[k+4>>2]|0;if(!o){c[b>>0]=2;o=d+1|0;u=u+-1|0}else{c[b>>0]=1;o=d}k=k+12|0;if((k|0)==(t|0))break;else{d=o;b=b+1|0}}}g=(r|0)==(t|0);y=(r|0)==(t|0);p=0;w=u;i:while(1){u=h[e>>2]|0;do{if(u){d=h[u+12>>2]|0;if((d|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;m=T;T=0;if(m&1){b=5;break i}}else u=h[d>>2]|0;if((u|0)==-1){h[e>>2]=0;k=1;break}else{k=(h[e>>2]|0)==0;break}}else k=1}while(0);d=h[i>>2]|0;if(d){u=h[d+12>>2]|0;if((u|0)==(h[d+16>>2]|0)){T=0;u=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;m=T;T=0;if(m&1){b=5;break}}else u=h[u>>2]|0;if((u|0)==-1){h[i>>2]=0;d=0;b=1}else b=0}else{d=0;b=1}u=h[e>>2]|0;if(!((w|0)!=0&(k^b))){b=66;break}d=h[u+12>>2]|0;if((d|0)==(h[u+16>>2]|0)){T=0;u=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;m=T;T=0;if(m&1){b=5;break}}else u=h[d>>2]|0;if(!a){T=0;u=Oe(h[(h[n>>2]|0)+28>>2]|0,n|0,u|0)|0;m=T;T=0;if(m&1){b=5;break}}m=p+1|0;if(g){u=0;k=w}else{k=0;_=r;b=w;w=s;while(1){do{if((c[w>>0]|0)==1){if(!(c[_>>0]&1))d=_+4|0;else d=h[_+8>>2]|0;d=h[d+(p<<2)>>2]|0;if(!a){T=0;d=Oe(h[(h[n>>2]|0)+28>>2]|0,n|0,d|0)|0;A=T;T=0;if(A&1){b=4;break i}}if((u|0)!=(d|0)){c[w>>0]=0;d=k;b=b+-1|0;break}d=c[_>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=h[_+4>>2]|0;if((d|0)==(m|0)){c[w>>0]=2;d=1;o=o+1|0;b=b+-1|0}else d=1}else d=k}while(0);_=_+12|0;if((_|0)==(t|0)){u=d;k=b;break}else{k=d;w=w+1|0}}}if(!u){p=m;w=k;continue}u=h[e>>2]|0;d=u+12|0;b=h[d>>2]|0;if((b|0)==(h[u+16>>2]|0)){T=0;ye(h[(h[u>>2]|0)+40>>2]|0,u|0)|0;A=T;T=0;if(A&1){b=5;break}}else h[d>>2]=b+4;if((o+k|0)>>>0<2|y){p=m;w=k;continue}else{u=r;b=s}while(1){if((c[b>>0]|0)==2){d=c[u>>0]|0;if(!(d&1))d=(d&255)>>>1;else d=h[u+4>>2]|0;if((d|0)!=(m|0)){c[b>>0]=0;o=o+-1|0}}u=u+12|0;if((u|0)==(t|0)){p=m;w=k;continue i}else b=b+1|0}}if((b|0)==4){r=Ze()|0;break}else if((b|0)==5){r=Ze()|0;break}else if((b|0)==66){do{if(u){o=h[u+12>>2]|0;if((o|0)==(h[u+16>>2]|0)){T=0;o=ye(h[(h[u>>2]|0)+36>>2]|0,u|0)|0;A=T;T=0;if(A&1){b=6;break e}}else o=h[o>>2]|0;if((o|0)==-1){h[e>>2]=0;u=1;break}else{u=(h[e>>2]|0)==0;break}}else u=1}while(0);do{if(d){o=h[d+12>>2]|0;if((o|0)==(h[d+16>>2]|0)){T=0;o=ye(h[(h[d>>2]|0)+36>>2]|0,d|0)|0;A=T;T=0;if(A&1){b=6;break e}}else o=h[o>>2]|0;if((o|0)!=-1)if(u)break;else{b=81;break}else{h[i>>2]=0;b=79;break}}else b=79}while(0);if((b|0)==79?u:0)b=81;if((b|0)==81)h[f>>2]=h[f>>2]|2;i:do{if((r|0)==(t|0))b=85;else while(1){if((c[s>>0]|0)==2)break i;r=r+12|0;if((r|0)==(t|0)){b=85;break}else s=s+1|0}}while(0);if((b|0)==85){h[f>>2]=h[f>>2]|4;r=t}if(l)Hc(l);v=E;return r|0}}}while(0);if((b|0)==6)r=Ze()|0;if(l)Hc(l);si(r|0);return 0}function f_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){P=25;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l)break;else{a=s;break i}else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(l){a=0;break}else s=0}a=c[M>>0]|0;a=(a&1)==0?(a&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+a|0)){T=0;xe(8,M|0,a<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+a}l=t+12|0;a=h[l>>2]|0;o=t+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}}else a=h[a>>2]|0;if(wk(a,_,e,m,p,u,S,y,E,w)|0){a=s;break}a=h[l>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}else{a=t;continue}}else{h[l>>2]=a+4;a=t;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(21,e|0,h[m>>2]|0,n|0,_|0)|0;O=T;T=0;if(!(O&1)){h[f>>2]=e;nu(S,y,h[E>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function a_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;a=0;s=1}else s=0}else{a=0;s=1}l=h[r>>2]|0;do{if(l){t=h[l+12>>2]|0;if((t|0)==(h[l+16>>2]|0)){T=0;t=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;o=T;T=0;if(o&1){P=25;break i}}else t=h[t>>2]|0;if((t|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(s){l=0;break}else l=0}t=c[M>>0]|0;t=(t&1)==0?(t&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+t|0)){T=0;xe(8,M|0,t<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+t}s=a+12|0;t=h[s>>2]|0;o=a+16|0;if((t|0)==(h[o>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=25;break}}else t=h[t>>2]|0;if(wk(t,_,e,m,p,u,S,y,E,w)|0)break;t=h[s>>2]|0;if((t|0)==(h[o>>2]|0)){T=0;ye(h[(h[a>>2]|0)+40>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=25;break}else continue}else{h[s>>2]=t+4;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(22,e|0,h[m>>2]|0,n|0,_|0)|0;t=H;O=T;T=0;if(!(O&1)){O=f;h[O>>2]=e;h[O+4>>2]=t;nu(S,y,h[E>>2]|0,n);if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function l_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0;M=v;v=v+320|0;_=M+208|0;a=M+200|0;P=M+24|0;S=M+12|0;p=M+8|0;E=M+40|0;A=M+4|0;g=M;m=Lw(t)|0;vk(P,t,_,a);h[S>>2]=0;h[S+4>>2]=0;h[S+8>>2]=0;if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);w=T;T=0;e:do{if(!(w&1)){b=S+8|0;k=S+1|0;e=(c[S>>0]&1)==0?k:h[b>>2]|0;h[p>>2]=e;h[A>>2]=E;h[g>>2]=0;w=S+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){O=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){O=25;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l)break;else{a=s;break i}else{h[r>>2]=0;O=17;break}}else O=17}while(0);if((O|0)==17){O=0;if(l){a=0;break}else s=0}a=c[S>>0]|0;a=(a&1)==0?(a&255)>>>1:h[w>>2]|0;if((h[p>>2]|0)==(e+a|0)){T=0;xe(8,S|0,a<<1|0,0);o=T;T=0;if(o&1){O=25;break}if(!(c[S>>0]&1))e=10;else e=(h[S>>2]&-2)+-1|0;T=0;xe(8,S|0,e|0,0);o=T;T=0;if(o&1){O=25;break}e=(c[S>>0]&1)==0?k:h[b>>2]|0;h[p>>2]=e+a}l=t+12|0;a=h[l>>2]|0;o=t+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;R=T;T=0;if(R&1){O=25;break}}else a=h[a>>2]|0;if(wk(a,m,e,p,g,u,P,E,A,_)|0){a=s;break}a=h[l>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;R=T;T=0;if(R&1){O=25;break}else{a=t;continue}}else{h[l>>2]=a+4;a=t;continue}}if((O|0)==25){e=Ze()|0;break}R=c[P>>0]|0;if((((R&1)==0?(R&255)>>>1:h[P+4>>2]|0)|0)!=0?(y=h[A>>2]|0,(y-E|0)<160):0){R=h[g>>2]|0;h[A>>2]=y+4;h[y>>2]=R}T=0;e=De(23,e|0,h[p>>2]|0,n|0,m|0)|0;R=T;T=0;if(!(R&1)){d[f>>1]=e;nu(P,E,h[A>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;R=T;T=0;if(R&1){O=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;R=T;T=0;if(R&1){O=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{O=53;break}else{h[r>>2]=0;O=51;break}}else O=51}while(0);if((O|0)==51?t:0)O=53;if((O|0)==53)h[n>>2]=h[n>>2]|2;R=h[i>>2]|0;qd(S);qd(P);v=M;return R|0}else O=26}else O=26}while(0);if((O|0)==26)e=Ze()|0;qd(S);qd(P);si(e|0);return 0}function s_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){P=25;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l)break;else{a=s;break i}else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(l){a=0;break}else s=0}a=c[M>>0]|0;a=(a&1)==0?(a&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+a|0)){T=0;xe(8,M|0,a<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+a}l=t+12|0;a=h[l>>2]|0;o=t+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}}else a=h[a>>2]|0;if(wk(a,_,e,m,p,u,S,y,E,w)|0){a=s;break}a=h[l>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}else{a=t;continue}}else{h[l>>2]=a+4;a=t;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(24,e|0,h[m>>2]|0,n|0,_|0)|0;O=T;T=0;if(!(O&1)){h[f>>2]=e;nu(S,y,h[E>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function o_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;t=0;l=1}else{t=a;l=0}}else{t=0;l=1}s=h[r>>2]|0;do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0)){T=0;a=ye(h[(h[s>>2]|0)+36>>2]|0,s|0)|0;o=T;T=0;if(o&1){P=25;break i}}else a=h[a>>2]|0;if((a|0)!=-1)if(l)break;else{a=s;break i}else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(l){a=0;break}else s=0}a=c[M>>0]|0;a=(a&1)==0?(a&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+a|0)){T=0;xe(8,M|0,a<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+a}l=t+12|0;a=h[l>>2]|0;o=t+16|0;if((a|0)==(h[o>>2]|0)){T=0;a=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}}else a=h[a>>2]|0;if(wk(a,_,e,m,p,u,S,y,E,w)|0){a=s;break}a=h[l>>2]|0;if((a|0)==(h[o>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=25;break}else{a=t;continue}}else{h[l>>2]=a+4;a=t;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(25,e|0,h[m>>2]|0,n|0,_|0)|0;O=T;T=0;if(!(O&1)){h[f>>2]=e;nu(S,y,h[E>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function u_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;A=v;v=v+320|0;w=A+208|0;a=A+200|0;S=A+24|0;M=A+12|0;m=A+8|0;y=A+40|0;E=A+4|0;p=A;_=Lw(t)|0;vk(S,t,w,a);h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);k=T;T=0;e:do{if(!(k&1)){d=M+8|0;b=M+1|0;e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e;h[E>>2]=y;h[p>>2]=0;k=M+4|0;u=h[a>>2]|0;a=h[i>>2]|0;i:while(1){if(a){t=h[a+12>>2]|0;if((t|0)==(h[a+16>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;o=T;T=0;if(o&1){P=25;break}}else t=h[t>>2]|0;if((t|0)==-1){h[i>>2]=0;a=0;s=1}else s=0}else{a=0;s=1}l=h[r>>2]|0;do{if(l){t=h[l+12>>2]|0;if((t|0)==(h[l+16>>2]|0)){T=0;t=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;o=T;T=0;if(o&1){P=25;break i}}else t=h[t>>2]|0;if((t|0)!=-1)if(s)break;else break i;else{h[r>>2]=0;P=17;break}}else P=17}while(0);if((P|0)==17){P=0;if(s){l=0;break}else l=0}t=c[M>>0]|0;t=(t&1)==0?(t&255)>>>1:h[k>>2]|0;if((h[m>>2]|0)==(e+t|0)){T=0;xe(8,M|0,t<<1|0,0);o=T;T=0;if(o&1){P=25;break}if(!(c[M>>0]&1))e=10;else e=(h[M>>2]&-2)+-1|0;T=0;xe(8,M|0,e|0,0);o=T;T=0;if(o&1){P=25;break}e=(c[M>>0]&1)==0?b:h[d>>2]|0;h[m>>2]=e+t}s=a+12|0;t=h[s>>2]|0;o=a+16|0;if((t|0)==(h[o>>2]|0)){T=0;t=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=25;break}}else t=h[t>>2]|0;if(wk(t,_,e,m,p,u,S,y,E,w)|0)break;t=h[s>>2]|0;if((t|0)==(h[o>>2]|0)){T=0;ye(h[(h[a>>2]|0)+40>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=25;break}else continue}else{h[s>>2]=t+4;continue}}if((P|0)==25){e=Ze()|0;break}O=c[S>>0]|0;if((((O&1)==0?(O&255)>>>1:h[S+4>>2]|0)|0)!=0?(g=h[E>>2]|0,(g-y|0)<160):0){O=h[p>>2]|0;h[E>>2]=g+4;h[g>>2]=O}T=0;e=De(26,e|0,h[m>>2]|0,n|0,_|0)|0;t=H;O=T;T=0;if(!(O&1)){O=f;h[O>>2]=e;h[O+4>>2]=t;nu(S,y,h[E>>2]|0,n);if(a){e=h[a+12>>2]|0;if((e|0)==(h[a+16>>2]|0)){T=0;e=ye(h[(h[a>>2]|0)+36>>2]|0,a|0)|0;O=T;T=0;if(O&1){P=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;O=T;T=0;if(O&1){P=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{P=53;break}else{h[r>>2]=0;P=51;break}}else P=51}while(0);if((P|0)==51?t:0)P=53;if((P|0)==53)h[n>>2]=h[n>>2]|2;O=h[i>>2]|0;qd(M);qd(S);v=A;return O|0}else P=26}else P=26}while(0);if((P|0)==26)e=Ze()|0;qd(M);qd(S);si(e|0);return 0}function c_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;O=v;v=v+352|0;p=O+208|0;l=O+40|0;s=O+36|0;L=O+24|0;R=O+12|0;y=O+8|0;S=O+48|0;P=O+4|0;E=O;A=O+337|0;g=O+336|0;gk(L,t,p,l,s);h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);m=T;T=0;e:do{if(!(m&1)){k=R+8|0;w=R+1|0;e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e;h[P>>2]=S;h[E>>2]=0;c[A>>0]=1;c[g>>0]=69;m=R+4|0;b=h[l>>2]|0;d=h[s>>2]|0;t=h[i>>2]|0;i:while(1){if(t){l=h[t+12>>2]|0;if((l|0)==(h[t+16>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;u=T;T=0;if(u&1){C=25;break}}else l=h[l>>2]|0;if((l|0)==-1){h[i>>2]=0;t=0;o=1}else o=0}else{t=0;o=1}l=h[r>>2]|0;do{if(l){s=h[l+12>>2]|0;if((s|0)==(h[l+16>>2]|0)){T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){C=25;break i}}else s=h[s>>2]|0;if((s|0)!=-1)if(o)break;else break i;else{h[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(o){l=0;break}else l=0}s=c[R>>0]|0;s=(s&1)==0?(s&255)>>>1:h[m>>2]|0;if((h[y>>2]|0)==(e+s|0)){T=0;xe(8,R|0,s<<1|0,0);u=T;T=0;if(u&1){C=25;break}if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);u=T;T=0;if(u&1){C=25;break}e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e+s}o=t+12|0;s=h[o>>2]|0;u=t+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}}else s=h[s>>2]|0;if(yk(s,A,g,e,y,b,d,L,S,P,E,p)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}else continue}else{h[o>>2]=l+4;continue}}if((C|0)==25){e=Ze()|0;break}D=c[L>>0]|0;if(!((c[A>>0]|0)==0?1:(((D&1)==0?(D&255)>>>1:h[L+4>>2]|0)|0)==0)?(M=h[P>>2]|0,(M-S|0)<160):0){D=h[E>>2]|0;h[P>>2]=M+4;h[M>>2]=D}T=0;a=+Le(1,e|0,h[y>>2]|0,n|0);D=T;T=0;if(!(D&1)){_[f>>2]=a;nu(L,S,h[P>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;D=T;T=0;if(D&1){C=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{C=53;break}else{h[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?t:0)C=53;if((C|0)==53)h[n>>2]=h[n>>2]|2;D=h[i>>2]|0;qd(R);qd(L);v=O;return D|0}else C=26}else C=26}while(0);if((C|0)==26)e=Ze()|0;qd(R);qd(L);si(e|0);return 0}function d_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;O=v;v=v+352|0;p=O+208|0;l=O+40|0;s=O+36|0;L=O+24|0;R=O+12|0;y=O+8|0;S=O+48|0;P=O+4|0;E=O;A=O+337|0;g=O+336|0;gk(L,t,p,l,s);h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);_=T;T=0;e:do{if(!(_&1)){k=R+8|0;w=R+1|0;e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e;h[P>>2]=S;h[E>>2]=0;c[A>>0]=1;c[g>>0]=69;_=R+4|0;b=h[l>>2]|0;d=h[s>>2]|0;t=h[i>>2]|0;i:while(1){if(t){l=h[t+12>>2]|0;if((l|0)==(h[t+16>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;u=T;T=0;if(u&1){C=25;break}}else l=h[l>>2]|0;if((l|0)==-1){h[i>>2]=0;t=0;o=1}else o=0}else{t=0;o=1}l=h[r>>2]|0;do{if(l){s=h[l+12>>2]|0;if((s|0)==(h[l+16>>2]|0)){T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){C=25;break i}}else s=h[s>>2]|0;if((s|0)!=-1)if(o)break;else break i;else{h[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(o){l=0;break}else l=0}s=c[R>>0]|0;s=(s&1)==0?(s&255)>>>1:h[_>>2]|0;if((h[y>>2]|0)==(e+s|0)){T=0;xe(8,R|0,s<<1|0,0);u=T;T=0;if(u&1){C=25;break}if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);u=T;T=0;if(u&1){C=25;break}e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e+s}o=t+12|0;s=h[o>>2]|0;u=t+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}}else s=h[s>>2]|0;if(yk(s,A,g,e,y,b,d,L,S,P,E,p)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}else continue}else{h[o>>2]=l+4;continue}}if((C|0)==25){e=Ze()|0;break}D=c[L>>0]|0;if(!((c[A>>0]|0)==0?1:(((D&1)==0?(D&255)>>>1:h[L+4>>2]|0)|0)==0)?(M=h[P>>2]|0,(M-S|0)<160):0){D=h[E>>2]|0;h[P>>2]=M+4;h[M>>2]=D}T=0;a=+Le(2,e|0,h[y>>2]|0,n|0);D=T;T=0;if(!(D&1)){m[f>>3]=a;nu(L,S,h[P>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;D=T;T=0;if(D&1){C=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{C=53;break}else{h[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?t:0)C=53;if((C|0)==53)h[n>>2]=h[n>>2]|2;D=h[i>>2]|0;qd(R);qd(L);v=O;return D|0}else C=26}else C=26}while(0);if((C|0)==26)e=Ze()|0;qd(R);qd(L);si(e|0);return 0}function h_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0.0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;O=v;v=v+352|0;p=O+208|0;l=O+40|0;s=O+36|0;L=O+24|0;R=O+12|0;y=O+8|0;S=O+48|0;P=O+4|0;E=O;A=O+337|0;g=O+336|0;gk(L,t,p,l,s);h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);_=T;T=0;e:do{if(!(_&1)){k=R+8|0;w=R+1|0;e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e;h[P>>2]=S;h[E>>2]=0;c[A>>0]=1;c[g>>0]=69;_=R+4|0;b=h[l>>2]|0;d=h[s>>2]|0;t=h[i>>2]|0;i:while(1){if(t){l=h[t+12>>2]|0;if((l|0)==(h[t+16>>2]|0)){T=0;l=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;u=T;T=0;if(u&1){C=25;break}}else l=h[l>>2]|0;if((l|0)==-1){h[i>>2]=0;t=0;o=1}else o=0}else{t=0;o=1}l=h[r>>2]|0;do{if(l){s=h[l+12>>2]|0;if((s|0)==(h[l+16>>2]|0)){T=0;s=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;u=T;T=0;if(u&1){C=25;break i}}else s=h[s>>2]|0;if((s|0)!=-1)if(o)break;else break i;else{h[r>>2]=0;C=17;break}}else C=17}while(0);if((C|0)==17){C=0;if(o){l=0;break}else l=0}s=c[R>>0]|0;s=(s&1)==0?(s&255)>>>1:h[_>>2]|0;if((h[y>>2]|0)==(e+s|0)){T=0;xe(8,R|0,s<<1|0,0);u=T;T=0;if(u&1){C=25;break}if(!(c[R>>0]&1))e=10;else e=(h[R>>2]&-2)+-1|0;T=0;xe(8,R|0,e|0,0);u=T;T=0;if(u&1){C=25;break}e=(c[R>>0]&1)==0?w:h[k>>2]|0;h[y>>2]=e+s}o=t+12|0;s=h[o>>2]|0;u=t+16|0;if((s|0)==(h[u>>2]|0)){T=0;s=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}}else s=h[s>>2]|0;if(yk(s,A,g,e,y,b,d,L,S,P,E,p)|0)break;l=h[o>>2]|0;if((l|0)==(h[u>>2]|0)){T=0;ye(h[(h[t>>2]|0)+40>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=25;break}else continue}else{h[o>>2]=l+4;continue}}if((C|0)==25){e=Ze()|0;break}D=c[L>>0]|0;if(!((c[A>>0]|0)==0?1:(((D&1)==0?(D&255)>>>1:h[L+4>>2]|0)|0)==0)?(M=h[P>>2]|0,(M-S|0)<160):0){D=h[E>>2]|0;h[P>>2]=M+4;h[M>>2]=D}T=0;a=+Le(3,e|0,h[y>>2]|0,n|0);D=T;T=0;if(!(D&1)){m[f>>3]=a;nu(L,S,h[P>>2]|0,n);if(t){e=h[t+12>>2]|0;if((e|0)==(h[t+16>>2]|0)){T=0;e=ye(h[(h[t>>2]|0)+36>>2]|0,t|0)|0;D=T;T=0;if(D&1){C=26;break}}else e=h[e>>2]|0;if((e|0)==-1){h[i>>2]=0;t=1}else t=0}else t=1;do{if(l){e=h[l+12>>2]|0;if((e|0)==(h[l+16>>2]|0)){T=0;e=ye(h[(h[l>>2]|0)+36>>2]|0,l|0)|0;D=T;T=0;if(D&1){C=26;break e}}else e=h[e>>2]|0;if((e|0)!=-1)if(t)break;else{C=53;break}else{h[r>>2]=0;C=51;break}}else C=51}while(0);if((C|0)==51?t:0)C=53;if((C|0)==53)h[n>>2]=h[n>>2]|2;D=h[i>>2]|0;qd(R);qd(L);v=O;return D|0}else C=26}else C=26}while(0);if((C|0)==26)e=Ze()|0;qd(R);qd(L);si(e|0);return 0}function b_(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;f=v;v=v+16|0;a=f;h[a>>2]=n;n=fy(r)|0;r=Gy(e,i,t,a)|0;if((n|0)!=0?(T=0,ye(75,n|0)|0,a=T,T=0,a&1):0){a=Ze(0)|0;Ki(a)}v=f;return r|0}function k_(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=v;v=v+16|0;f=n;h[f>>2]=t;t=fy(i)|0;T=0;i=Ae(37,e|0,r|0,f|0)|0;e=T;T=0;if(e&1){i=Ze()|0;if((t|0)!=0?(T=0,ye(75,t|0)|0,f=T,T=0,f&1):0){f=Ze(0)|0;Ki(f)}si(i|0)}else{if((t|0)!=0?(T=0,ye(75,t|0)|0,f=T,T=0,f&1):0){f=Ze(0)|0;Ki(f)}v=n;return i|0}return 0}function w_(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0;d=v;v=v+16|0;u=d;a=h[e>>2]|0;e:do{if(!a)a=0;else{b=i;s=t-b>>2;o=n+12|0;l=h[o>>2]|0;s=(l|0)>(s|0)?l-s|0:0;l=r;b=l-b|0;n=b>>2;if((b|0)>0?(vE[h[(h[a>>2]|0)+48>>2]&63](a,i,n)|0)!=(n|0):0){h[e>>2]=0;a=0;break}do{if((s|0)>0){rh(u,s,f);T=0;n=Ae(h[(h[a>>2]|0)+48>>2]|0,a|0,((c[u>>0]&1)==0?u+4|0:h[u+8>>2]|0)|0,s|0)|0;b=T;T=0;if(b&1){b=Ze()|0;th(u);si(b|0)}if((n|0)==(s|0)){th(u);break}else{h[e>>2]=0;th(u);a=0;break e}}}while(0);b=t-l|0;t=b>>2;if((b|0)>0?(vE[h[(h[a>>2]|0)+48>>2]&63](a,r,t)|0)!=(t|0):0){h[e>>2]=0;a=0;break}h[o>>2]=0}}while(0);v=d;return a|0}function __(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,k=0,w=0,_=0;f=h[e>>2]|0;do{if(f){if((h[f+12>>2]|0)==(h[f+16>>2]|0))if((mE[h[(h[f>>2]|0)+36>>2]&127](f)|0)==-1){h[e>>2]=0;f=0;break}else{f=h[e>>2]|0;break}}else f=0}while(0);a=(f|0)==0;f=h[i>>2]|0;do{if(f){if((h[f+12>>2]|0)==(h[f+16>>2]|0)?(mE[h[(h[f>>2]|0)+36>>2]&127](f)|0)==-1:0){h[i>>2]=0;_=11;break}if(a)_=13;else _=12}else _=11}while(0);if((_|0)==11)if(a)_=12;else{f=0;_=13}e:do{if((_|0)==12){h[r>>2]=h[r>>2]|6;f=0}else if((_|0)==13){a=h[e>>2]|0;l=h[a+12>>2]|0;if((l|0)==(h[a+16>>2]|0))a=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else a=b[l>>0]|0;l=a&255;if(l<<24>>24>-1?(w=t+8|0,(d[(h[w>>2]|0)+(a<<24>>24<<1)>>1]&2048)!=0):0){o=(vE[h[(h[t>>2]|0)+36>>2]&63](t,l,0)|0)<<24>>24;a=h[e>>2]|0;l=a+12|0;s=h[l>>2]|0;if((s|0)==(h[a+16>>2]|0)){mE[h[(h[a>>2]|0)+40>>2]&127](a)|0;c=n;u=f;n=f;f=o}else{h[l>>2]=s+1;c=n;u=f;n=f;f=o}while(1){f=f+-48|0;k=c+-1|0;a=h[e>>2]|0;do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0))if((mE[h[(h[a>>2]|0)+36>>2]&127](a)|0)==-1){h[e>>2]=0;a=0;break}else{a=h[e>>2]|0;break}}else a=0}while(0);s=(a|0)==0;if(n)if((h[n+12>>2]|0)==(h[n+16>>2]|0))if((mE[h[(h[n>>2]|0)+36>>2]&127](n)|0)==-1){h[i>>2]=0;l=0;n=0}else{l=u;n=u}else l=u;else{l=u;n=0}a=h[e>>2]|0;if(!((c|0)>1&(s^(n|0)==0)))break;s=h[a+12>>2]|0;if((s|0)==(h[a+16>>2]|0))a=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else a=b[s>>0]|0;s=a&255;if(s<<24>>24<=-1)break e;if(!(d[(h[w>>2]|0)+(a<<24>>24<<1)>>1]&2048))break e;f=((vE[h[(h[t>>2]|0)+36>>2]&63](t,s,0)|0)<<24>>24)+(f*10|0)|0;a=h[e>>2]|0;s=a+12|0;o=h[s>>2]|0;if((o|0)==(h[a+16>>2]|0)){mE[h[(h[a>>2]|0)+40>>2]&127](a)|0;c=k;u=l;continue}else{h[s>>2]=o+1;c=k;u=l;continue}}do{if(a){if((h[a+12>>2]|0)==(h[a+16>>2]|0))if((mE[h[(h[a>>2]|0)+36>>2]&127](a)|0)==-1){h[e>>2]=0;a=0;break}else{a=h[e>>2]|0;break}}else a=0}while(0);a=(a|0)==0;do{if(l){if((h[l+12>>2]|0)==(h[l+16>>2]|0)?(mE[h[(h[l>>2]|0)+36>>2]&127](l)|0)==-1:0){h[i>>2]=0;_=50;break}if(a)break e}else _=50}while(0);if((_|0)==50?!a:0)break;h[r>>2]=h[r>>2]|2;break}h[r>>2]=h[r>>2]|4;f=0}}while(0);return f|0}function m_(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;f=h[e>>2]|0;do{if(f){a=h[f+12>>2]|0;if((a|0)==(h[f+16>>2]|0))f=mE[h[(h[f>>2]|0)+36>>2]&127](f)|0;else f=h[a>>2]|0;if((f|0)==-1){h[e>>2]=0;l=1;break}else{l=(h[e>>2]|0)==0;break}}else l=1}while(0);a=h[i>>2]|0;do{if(a){f=h[a+12>>2]|0;if((f|0)==(h[a+16>>2]|0))f=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else f=h[f>>2]|0;if((f|0)!=-1)if(l){b=17;break}else{b=16;break}else{h[i>>2]=0;b=14;break}}else b=14}while(0);if((b|0)==14)if(l)b=16;else{a=0;b=17}e:do{if((b|0)==16){h[r>>2]=h[r>>2]|6;f=0}else if((b|0)==17){f=h[e>>2]|0;l=h[f+12>>2]|0;if((l|0)==(h[f+16>>2]|0))f=mE[h[(h[f>>2]|0)+36>>2]&127](f)|0;else f=h[l>>2]|0;if(!(vE[h[(h[t>>2]|0)+12>>2]&63](t,2048,f)|0)){h[r>>2]=h[r>>2]|4;f=0;break}f=(vE[h[(h[t>>2]|0)+52>>2]&63](t,f,0)|0)<<24>>24;l=h[e>>2]|0;s=l+12|0;o=h[s>>2]|0;if((o|0)==(h[l+16>>2]|0)){mE[h[(h[l>>2]|0)+40>>2]&127](l)|0;c=n;u=a;s=a}else{h[s>>2]=o+4;c=n;u=a;s=a}while(1){f=f+-48|0;d=c+-1|0;a=h[e>>2]|0;do{if(a){l=h[a+12>>2]|0;if((l|0)==(h[a+16>>2]|0))a=mE[h[(h[a>>2]|0)+36>>2]&127](a)|0;else a=h[l>>2]|0;if((a|0)==-1){h[e>>2]=0;o=1;break}else{o=(h[e>>2]|0)==0;break}}else o=1}while(0);do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0))a=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else a=h[a>>2]|0;if((a|0)==-1){h[i>>2]=0;s=0;n=0;a=1;break}else{s=u;n=u;a=(u|0)==0;break}}else{s=u;n=0;a=1}}while(0);l=h[e>>2]|0;if(!((c|0)>1&(o^a)))break;a=h[l+12>>2]|0;if((a|0)==(h[l+16>>2]|0))a=mE[h[(h[l>>2]|0)+36>>2]&127](l)|0;else a=h[a>>2]|0;if(!(vE[h[(h[t>>2]|0)+12>>2]&63](t,2048,a)|0))break e;f=((vE[h[(h[t>>2]|0)+52>>2]&63](t,a,0)|0)<<24>>24)+(f*10|0)|0;a=h[e>>2]|0;l=a+12|0;o=h[l>>2]|0;if((o|0)==(h[a+16>>2]|0)){mE[h[(h[a>>2]|0)+40>>2]&127](a)|0;c=d;u=s;s=n;continue}else{h[l>>2]=o+4;c=d;u=s;s=n;continue}}do{if(l){a=h[l+12>>2]|0;if((a|0)==(h[l+16>>2]|0))a=mE[h[(h[l>>2]|0)+36>>2]&127](l)|0;else a=h[a>>2]|0;if((a|0)==-1){h[e>>2]=0;l=1;break}else{l=(h[e>>2]|0)==0;break}}else l=1}while(0);do{if(s){a=h[s+12>>2]|0;if((a|0)==(h[s+16>>2]|0))a=mE[h[(h[s>>2]|0)+36>>2]&127](s)|0;else a=h[a>>2]|0;if((a|0)!=-1)if(l)break e;else break;else{h[i>>2]=0;b=60;break}}else b=60}while(0);if((b|0)==60?!l:0)break;h[r>>2]=h[r>>2]|2}}while(0);return f|0}function p_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=e+4|0;t=(h[f>>2]|0)!=189;l=h[e>>2]|0;a=l;n=(h[r>>2]|0)-a|0;n=n>>>0<2147483647?n<<1:-1;a=(h[i>>2]|0)-a|0;l=qc(t?l:0,n)|0;if(!l)Dg();do{if(!t){t=h[e>>2]|0;h[e>>2]=l;if(t){T=0;pe(h[f>>2]|0,t|0);l=T;T=0;if(l&1){l=Ze(0)|0;Ki(l)}else{s=h[e>>2]|0;break}}else s=l}else{h[e>>2]=l;s=l}}while(0);h[f>>2]=201;h[i>>2]=s+a;h[r>>2]=(h[e>>2]|0)+n;return}function v_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=e+4|0;t=(h[f>>2]|0)!=189;l=h[e>>2]|0;a=l;n=(h[r>>2]|0)-a|0;n=n>>>0<2147483647?n<<1:-1;a=(h[i>>2]|0)-a>>2;l=qc(t?l:0,n)|0;if(!l)Dg();do{if(!t){t=h[e>>2]|0;h[e>>2]=l;if(t){T=0;pe(h[f>>2]|0,t|0);l=T;T=0;if(l&1){l=Ze(0)|0;Ki(l)}else{s=h[e>>2]|0;break}}else s=l}else{h[e>>2]=l;s=l}}while(0);h[f>>2]=201;h[i>>2]=s+(a<<2);h[r>>2]=(h[e>>2]|0)+(n>>>2<<2);return}function g_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=i;t=c[e>>0]|0;if(!(t&1)){n=10;s=(t&255)>>>1}else{t=h[e>>2]|0;n=(t&-2)+-1|0;s=h[e+4>>2]|0;t=t&255}l=r-f|0;do{if((r|0)!=(i|0)){if((n-s|0)>>>0>>0){eh(e,n,s+l-n|0,s,s,0,0);t=c[e>>0]|0}if(!(t&1))a=e+1|0;else a=h[e+8>>2]|0;f=r+(s-f)|0;if((i|0)!=(r|0)){t=i;n=a+s|0;while(1){c[n>>0]=c[t>>0]|0;t=t+1|0;if((t|0)==(r|0))break;else n=n+1|0}}c[a+f>>0]=0;t=s+l|0;if(!(c[e>>0]&1)){c[e>>0]=t<<1;break}else{h[e+4>>2]=t;break}}}while(0);return e|0}function y_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=e+4|0;t=(h[f>>2]|0)!=189;l=h[e>>2]|0;a=l;n=(h[r>>2]|0)-a|0;n=n>>>0<2147483647?n<<1:-1;a=(h[i>>2]|0)-a>>2;l=qc(t?l:0,n)|0;if(!l)Dg();do{if(!t){t=h[e>>2]|0;h[e>>2]=l;if(t){T=0;pe(h[f>>2]|0,t|0);l=T;T=0;if(l&1){l=Ze(0)|0;Ki(l)}else{s=h[e>>2]|0;break}}else s=l}else{h[e>>2]=l;s=l}}while(0);h[f>>2]=201;h[i>>2]=s+(a<<2);h[r>>2]=(h[e>>2]|0)+(n>>>2<<2);return}function E_(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;f=i;t=c[e>>0]|0;if(!(t&1)){n=1;s=(t&255)>>>1}else{t=h[e>>2]|0;n=(t&-2)+-1|0;s=h[e+4>>2]|0;t=t&255}l=r-f>>2;do{if(l){if((n-s|0)>>>0>>0){oh(e,n,s+l-n|0,s,s,0,0);t=c[e>>0]|0}if(!(t&1))a=e+4|0;else a=h[e+8>>2]|0;f=s+((r-f|0)>>>2)|0;if((i|0)!=(r|0)){t=i;n=a+(s<<2)|0;while(1){h[n>>2]=h[t>>2];t=t+4|0;if((t|0)==(r|0))break;else n=n+4|0}}h[a+(f<<2)>>2]=0;t=s+l|0;if(!(c[e>>0]&1)){c[e>>0]=t<<1;break}else{h[e+4>>2]=t;break}}}while(0);return e|0}function A_(e,i){e=e|0;i=i|0;var r=0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;c[e+128>>0]=0;do{if(i){T=0;ve(125,e|0,i|0);r=T;T=0;if(r&1){r=Ze()|0;$_(e);si(r|0)}else{wm(e,i);break}}}while(0);return}function M_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43148)|0);return}function T_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43188)|0);return}function S_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44220)|0);return}function P_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44212)|0);return}function O_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44280)|0);return}function R_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44288)|0);return}function L_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44344)|0);return}function C_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44352)|0);return}function D_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44360)|0);return}function x_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44368)|0);return}function I_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43260)|0);return}function B_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43332)|0);return}function N_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43392)|0);return}function F_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43452)|0);return}function U_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43764)|0);return}function j_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43828)|0);return}function H_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43892)|0);return}function Y_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43956)|0);return}function q_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43992)|0);return}function X_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44028)|0);return}function z_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44064)|0);return}function V_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44100)|0);return}function G_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43544)|0);return}function K_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43636)|0);return}function W_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43668)|0);return}function J_(e,i){e=e|0;i=i|0;Iu(e,i,zu(43700)|0);return}function Z_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44140)|0);return}function Q_(e,i){e=e|0;i=i|0;Iu(e,i,zu(44180)|0);return}function $_(e){e=e|0;var i=0,r=0,t=0;r=h[e>>2]|0;do{if(r){t=e+4|0;i=h[t>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));h[t>>2]=i}if((e+16|0)==(r|0)){c[e+128>>0]=0;break}else{zv(r);break}}}while(0);return}function em(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;a=e+4|0;r=h[a>>2]|0;t=h[e>>2]|0;n=r-t>>2;if(n>>>0>=i>>>0){if(n>>>0>i>>>0?(f=t+(i<<2)|0,(r|0)!=(f|0)):0){do{r=r+-4|0}while((r|0)!=(f|0));h[a>>2]=r}}else km(e,i-n|0);return}function im(e,i){e=e|0;i=i|0;var r=0;r=h[e+8>>2]|0;if((h[e+12>>2]|0)-r>>2>>>0>i>>>0)r=(h[r+(i<<2)>>2]|0)!=0;else r=0;return r|0}function rm(e){e=e|0;var i=0,r=0;r=e+4|0;i=h[r>>2]|0;r=h[r+4>>2]|0;e=(h[e>>2]|0)+(r>>1)|0;if(r&1)i=h[(h[e>>2]|0)+i>>2]|0;kE[i&255](e);return}function tm(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0;h[r>>2]=e;h[f>>2]=t;if(l&2)if((n-t|0)<3)e=1;else{h[f>>2]=t+1;c[t>>0]=-17;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=-69;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=-65;s=4}else s=4;e:do{if((s|0)==4){o=i;e=h[r>>2]|0;if(e>>>0>>0)while(1){l=d[e>>1]|0;s=l&65535;if(s>>>0>a>>>0){e=2;break e}do{if((l&65535)<128){e=h[f>>2]|0;if((n-e|0)<1){e=1;break e}h[f>>2]=e+1;c[e>>0]=l}else{if((l&65535)<2048){e=h[f>>2]|0;if((n-e|0)<2){e=1;break e}h[f>>2]=e+1;c[e>>0]=s>>>6|192;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s&63|128;break}if((l&65535)<55296){e=h[f>>2]|0;if((n-e|0)<3){e=1;break e}h[f>>2]=e+1;c[e>>0]=s>>>12|224;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s>>>6&63|128;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s&63|128;break}if((l&65535)>=56320){if((l&65535)<57344){e=2;break e}e=h[f>>2]|0;if((n-e|0)<3){e=1;break e}h[f>>2]=e+1;c[e>>0]=s>>>12|224;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s>>>6&63|128;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s&63|128;break}if((o-e|0)<4){e=1;break e}e=e+2|0;l=k[e>>1]|0;if((l&64512|0)!=56320){e=2;break e}if((n-(h[f>>2]|0)|0)<4){e=1;break e}t=s&960;if(((t<<10)+65536|s<<10&64512|l&1023)>>>0>a>>>0){e=2;break e}h[r>>2]=e;e=(t>>>6)+1|0;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=e>>>2|240;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s>>>2&15|e<<4&48|128;t=h[f>>2]|0;h[f>>2]=t+1;c[t>>0]=s<<4&48|l>>>6&15|128;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l&63|128}}while(0);e=(h[r>>2]|0)+2|0;h[r>>2]=e;if(e>>>0>=i>>>0){e=0;break}}else e=0}}while(0);return e|0}function nm(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,k=0,w=0,_=0;h[r>>2]=e;h[f>>2]=t;if(l&4){e=h[r>>2]|0;l=i;if((((l-e|0)>2?(c[e>>0]|0)==-17:0)?(c[e+1>>0]|0)==-69:0)?(c[e+2>>0]|0)==-65:0){h[r>>2]=e+3;s=h[f>>2]|0}else s=t}else{s=t;l=i}w=n;t=h[r>>2]|0;e=t>>>0>>0;e:do{if(e&s>>>0>>0)while(1){e=c[t>>0]|0;u=e&255;if(u>>>0>a>>>0){e=2;break e}do{if(e<<24>>24>-1){d[s>>1]=e&255;h[r>>2]=t+1}else{if((e&255)<194){e=2;break e}if((e&255)<224){if((l-t|0)<2){e=1;break e}e=b[t+1>>0]|0;if((e&192|0)!=128){e=2;break e}e=e&63|u<<6&1984;if(e>>>0>a>>>0){e=2;break e}d[s>>1]=e;h[r>>2]=t+2;break}if((e&255)<240){if((l-t|0)<3){e=1;break e}o=c[t+1>>0]|0;e=c[t+2>>0]|0;switch(u|0){case 224:{if((o&-32)<<24>>24!=-96){e=2;break e}break}case 237:{if((o&-32)<<24>>24!=-128){e=2;break e}break}default:if((o&-64)<<24>>24!=-128){e=2;break e}}e=e&255;if((e&192|0)!=128){e=2;break e}e=(o&255)<<6&4032|u<<12|e&63;if((e&65535)>>>0>a>>>0){e=2;break e}d[s>>1]=e;h[r>>2]=t+3;break}if((e&255)>=245){e=2;break e}if((l-t|0)<4){e=1;break e}o=c[t+1>>0]|0;e=c[t+2>>0]|0;t=c[t+3>>0]|0;switch(u|0){case 240:{if((o+112&255)>=48){e=2;break e}break}case 244:{if((o&-16)<<24>>24!=-128){e=2;break e}break}default:if((o&-64)<<24>>24!=-128){e=2;break e}}k=e&255;if((k&192|0)!=128){e=2;break e}e=t&255;if((e&192|0)!=128){e=2;break e}if((w-s|0)<4){e=1;break e}u=u&7;t=o&255;o=k<<6;e=e&63;if((t<<12&258048|u<<18|o&4032|e)>>>0>a>>>0){e=2;break e}d[s>>1]=t<<2&60|k>>>4&3|((t>>>4&3|u<<2)<<6)+16320|55296;k=s+2|0;h[f>>2]=k;d[k>>1]=e|o&960|56320;h[r>>2]=(h[r>>2]|0)+4}}while(0);s=(h[f>>2]|0)+2|0;h[f>>2]=s;t=h[r>>2]|0;e=t>>>0>>0;if(!(e&s>>>0>>0)){_=39;break}}else _=39}while(0);if((_|0)==39)e=e&1;return e|0}function fm(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;d=i;if((((n&4|0)!=0?(d-e|0)>2:0)?(c[e>>0]|0)==-17:0)?(c[e+1>>0]|0)==-69:0)n=(c[e+2>>0]|0)==-65?e+3|0:e;else n=e;e:do{if((r|0)!=0&n>>>0>>0){u=n;f=0;i:while(1){n=c[u>>0]|0;o=n&255;if(o>>>0>t>>>0){n=u;f=42;break e}do{if(n<<24>>24>-1)n=u+1|0;else{if((n&255)<194){n=u;f=42;break e}if((n&255)<224){if((d-u|0)<2){n=u;f=42;break e}n=b[u+1>>0]|0;if((n&192|0)!=128){n=u;f=42;break e}if((n&63|o<<6&1984)>>>0>t>>>0){n=u;f=42;break e}n=u+2|0;break}if((n&255)<240){n=u;if((d-n|0)<3){n=u;f=42;break e}l=c[u+1>>0]|0;a=c[u+2>>0]|0;switch(o|0){case 224:{if((l&-32)<<24>>24!=-96){f=20;break i}break}case 237:{if((l&-32)<<24>>24!=-128){f=22;break i}break}default:if((l&-64)<<24>>24!=-128){f=24;break i}}n=a&255;if((n&192|0)!=128){n=u;f=42;break e}if(((l&255)<<6&4032|o<<12&61440|n&63)>>>0>t>>>0){n=u;f=42;break e}n=u+3|0;break}if((n&255)>=245){n=u;f=42;break e}n=u;if((r-f|0)>>>0<2|(d-n|0)<4){n=u;f=42;break e}s=c[u+1>>0]|0;a=c[u+2>>0]|0;l=c[u+3>>0]|0;switch(o|0){case 240:{if((s+112&255)>=48){f=32;break i}break}case 244:{if((s&-16)<<24>>24!=-128){f=34;break i}break}default:if((s&-64)<<24>>24!=-128){f=36;break i}}a=a&255;if((a&192|0)!=128){n=u;f=42;break e}n=l&255;if((n&192|0)!=128){n=u;f=42;break e}if(((s&255)<<12&258048|o<<18&1835008|a<<6&4032|n&63)>>>0>t>>>0){n=u;f=42;break e}n=u+4|0;f=f+1|0}}while(0);f=f+1|0;if(!(f>>>0>>0&n>>>0>>0)){f=42;break e}else u=n}if((f|0)==20){n=n-e|0;break}else if((f|0)==22){n=n-e|0;break}else if((f|0)==24){n=n-e|0;break}else if((f|0)==32){n=n-e|0;break}else if((f|0)==34){n=n-e|0;break}else if((f|0)==36){n=n-e|0;break}}else f=42}while(0);if((f|0)==42)n=n-e|0;return n|0}function am(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0;h[r>>2]=e;h[f>>2]=t;o=n;if(l&2)if((o-t|0)<3)e=1;else{h[f>>2]=t+1;c[t>>0]=-17;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=-69;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=-65;s=4}else s=4;e:do{if((s|0)==4){e=h[r>>2]|0;if(e>>>0>>0)while(1){l=h[e>>2]|0;if(l>>>0>a>>>0|(l&-2048|0)==55296){e=2;break e}do{if(l>>>0>=128){if(l>>>0<2048){e=h[f>>2]|0;if((o-e|0)<2){e=1;break e}h[f>>2]=e+1;c[e>>0]=l>>>6|192;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l&63|128;break}e=h[f>>2]|0;n=o-e|0;if(l>>>0<65536){if((n|0)<3){e=1;break e}h[f>>2]=e+1;c[e>>0]=l>>>12|224;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l>>>6&63|128;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l&63|128;break}else{if((n|0)<4){e=1;break e}h[f>>2]=e+1;c[e>>0]=l>>>18|240;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l>>>12&63|128;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l>>>6&63|128;s=h[f>>2]|0;h[f>>2]=s+1;c[s>>0]=l&63|128;break}}else{e=h[f>>2]|0;if((o-e|0)<1){e=1;break e}h[f>>2]=e+1;c[e>>0]=l}}while(0);e=(h[r>>2]|0)+4|0;h[r>>2]=e;if(e>>>0>=i>>>0){e=0;break}}else e=0}}while(0);return e|0}function lm(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,k=0,w=0;h[r>>2]=e;h[f>>2]=t;if(l&4){e=h[r>>2]|0;l=i;if((((l-e|0)>2?(c[e>>0]|0)==-17:0)?(c[e+1>>0]|0)==-69:0)?(c[e+2>>0]|0)==-65:0){h[r>>2]=e+3;t=h[f>>2]|0;k=l}else k=l}else k=i;l=h[r>>2]|0;e=l>>>0>>0;e:do{if(e&t>>>0>>0)while(1){e=c[l>>0]|0;d=e&255;do{if(e<<24>>24>-1){if(d>>>0>a>>>0){e=2;break e}h[t>>2]=d;h[r>>2]=l+1}else{if((e&255)<194){e=2;break e}if((e&255)<224){if((k-l|0)<2){e=1;break e}e=b[l+1>>0]|0;if((e&192|0)!=128){e=2;break e}e=e&63|d<<6&1984;if(e>>>0>a>>>0){e=2;break e}h[t>>2]=e;h[r>>2]=l+2;break}if((e&255)<240){if((k-l|0)<3){e=1;break e}s=c[l+1>>0]|0;e=c[l+2>>0]|0;switch(d|0){case 224:{if((s&-32)<<24>>24!=-96){e=2;break e}break}case 237:{if((s&-32)<<24>>24!=-128){e=2;break e}break}default:if((s&-64)<<24>>24!=-128){e=2;break e}}e=e&255;if((e&192|0)!=128){e=2;break e}e=(s&255)<<6&4032|d<<12&61440|e&63;if(e>>>0>a>>>0){e=2;break e}h[t>>2]=e;h[r>>2]=l+3;break}if((e&255)>=245){e=2;break e}if((k-l|0)<4){e=1;break e}u=c[l+1>>0]|0;e=c[l+2>>0]|0;s=c[l+3>>0]|0;switch(d|0){case 240:{if((u+112&255)>=48){e=2;break e}break}case 244:{if((u&-16)<<24>>24!=-128){e=2;break e}break}default:if((u&-64)<<24>>24!=-128){e=2;break e}}o=e&255;if((o&192|0)!=128){e=2;break e}e=s&255;if((e&192|0)!=128){e=2;break e}e=(u&255)<<12&258048|d<<18&1835008|o<<6&4032|e&63;if(e>>>0>a>>>0){e=2;break e}h[t>>2]=e;h[r>>2]=l+4}}while(0);t=(h[f>>2]|0)+4|0;h[f>>2]=t;l=h[r>>2]|0;e=l>>>0>>0;if(!(e&t>>>0>>0)){w=38;break}}else w=38}while(0);if((w|0)==38)e=e&1;return e|0}function sm(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0;d=i;if((((n&4|0)!=0?(d-e|0)>2:0)?(c[e>>0]|0)==-17:0)?(c[e+1>>0]|0)==-69:0)n=(c[e+2>>0]|0)==-65?e+3|0:e;else n=e;e:do{if((r|0)!=0&n>>>0>>0){o=n;u=0;i:while(1){n=c[o>>0]|0;s=n&255;do{if(n<<24>>24>-1){if(s>>>0>t>>>0){n=o;f=42;break e}n=o+1|0}else{if((n&255)<194){n=o;f=42;break e}if((n&255)<224){if((d-o|0)<2){n=o;f=42;break e}n=b[o+1>>0]|0;if((n&192|0)!=128){n=o;f=42;break e}if((n&63|s<<6&1984)>>>0>t>>>0){n=o;f=42;break e}n=o+2|0;break}if((n&255)<240){n=o;if((d-n|0)<3){n=o;f=42;break e}a=c[o+1>>0]|0;f=c[o+2>>0]|0;switch(s|0){case 224:{if((a&-32)<<24>>24!=-96){f=20;break i}break}case 237:{if((a&-32)<<24>>24!=-128){f=22;break i}break}default:if((a&-64)<<24>>24!=-128){f=24;break i}}n=f&255;if((n&192|0)!=128){n=o;f=42;break e}if(((a&255)<<6&4032|s<<12&61440|n&63)>>>0>t>>>0){n=o;f=42;break e}n=o+3|0;break}if((n&255)>=245){n=o;f=42;break e}n=o;if((d-n|0)<4){n=o;f=42;break e}l=c[o+1>>0]|0;f=c[o+2>>0]|0;a=c[o+3>>0]|0;switch(s|0){case 240:{if((l+112&255)>=48){f=32;break i}break}case 244:{if((l&-16)<<24>>24!=-128){f=34;break i}break}default:if((l&-64)<<24>>24!=-128){f=36;break i}}f=f&255;if((f&192|0)!=128){n=o;f=42;break e}n=a&255;if((n&192|0)!=128){n=o;f=42;break e}if(((l&255)<<12&258048|s<<18&1835008|f<<6&4032|n&63)>>>0>t>>>0){n=o;f=42;break e}n=o+4|0}}while(0);u=u+1|0;if(!(u>>>0>>0&n>>>0>>0)){f=42;break e}else o=n}if((f|0)==20){n=n-e|0;break}else if((f|0)==22){n=n-e|0;break}else if((f|0)==24){n=n-e|0;break}else if((f|0)==32){n=n-e|0;break}else if((f|0)==34){n=n-e|0;break}else if((f|0)==36){n=n-e|0;break}}else f=42}while(0);if((f|0)==42)n=n-e|0;return n|0}function om(e){e=e|0;qd(45196);qd(45184);qd(45172);qd(45160);qd(45148);qd(45136);qd(45124);qd(45112);qd(45100);qd(45088);qd(45076);qd(45064);qd(45052);qd(45040);return}function um(e){e=e|0;th(45368);th(45356);th(45344);th(45332);th(45320);th(45308);th(45296);th(45284);th(45272);th(45260);th(45248);th(45236);th(45224);th(45212);return}function cm(e){e=e|0;qd(46e3);qd(45988);qd(45976);qd(45964);qd(45952);qd(45940);qd(45928);qd(45916);qd(45904);qd(45892);qd(45880);qd(45868);qd(45856);qd(45844);qd(45832);qd(45820);qd(45808);qd(45796);qd(45784);qd(45772);qd(45760);qd(45748);qd(45736);qd(45724);return}function dm(e){e=e|0;th(46292);th(46280);th(46268);th(46256);th(46244);th(46232);th(46220);th(46208);th(46196);th(46184);th(46172);th(46160);th(46148);th(46136);th(46124);th(46112);th(46100);th(46088);th(46076);th(46064);th(46052);th(46040);th(46028);th(46016);return}function hm(e){e=e|0;qd(47104);qd(47092);qd(47080);qd(47068);qd(47056);qd(47044);qd(47032);qd(47020);qd(47008);qd(46996);qd(46984);qd(46972);qd(46960);qd(46948);qd(46936);qd(46924);qd(46912);qd(46900);qd(46888);qd(46876);qd(46864);qd(46852);qd(46840);qd(46828);return}function bm(e){e=e|0;th(47396);th(47384);th(47372);th(47360);th(47348);th(47336);th(47324);th(47312);th(47300);th(47288);th(47276);th(47264);th(47252);th(47240);th(47228);th(47216);th(47204);th(47192);th(47180);th(47168);th(47156);th(47144);th(47132);th(47120);return}function km(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;s=v;v=v+32|0;l=s;f=h[e+8>>2]|0;r=h[e+4>>2]|0;if(f-r>>2>>>0>>0){t=h[e>>2]|0;a=r-t>>2;n=a+i|0;if(n>>>0>1073741823)Yv(e);r=f-t|0;if(r>>2>>>0<536870911){r=r>>1;r=r>>>0>>0?n:r}else r=1073741823;_m(l,r,a,e+16|0);a=l+8|0;f=h[a>>2]|0;Cm(f|0,0,i<<2|0)|0;h[a>>2]=f+(i<<2);mm(e,l);pm(l)}else wm(e,i);v=s;return}function wm(e,i){e=e|0;i=i|0;var r=0;r=e+4|0;e=i;i=h[r>>2]|0;do{h[i>>2]=0;i=(h[r>>2]|0)+4|0;h[r>>2]=i;e=e+-1|0}while((e|0)!=0);return}function _m(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;h[e+12>>2]=0;h[e+16>>2]=t;do{if(i){n=t+112|0;if(i>>>0<29&(c[n>>0]|0)==0){c[n>>0]=1;break}else{t=Xv(i<<2)|0;break}}else t=0}while(0);h[e>>2]=t;r=t+(r<<2)|0;h[e+8>>2]=r;h[e+4>>2]=r;h[e+12>>2]=t+(i<<2);return}function mm(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;t=h[e>>2]|0;f=e+4|0;r=i+4|0;n=(h[f>>2]|0)-t|0;a=(h[r>>2]|0)+(0-(n>>2)<<2)|0;h[r>>2]=a;Im(a|0,t|0,n|0)|0;n=h[e>>2]|0;h[e>>2]=h[r>>2];h[r>>2]=n;n=i+8|0;t=h[f>>2]|0;h[f>>2]=h[n>>2];h[n>>2]=t;n=e+8|0;e=i+12|0;t=h[n>>2]|0;h[n>>2]=h[e>>2];h[e>>2]=t;h[i>>2]=h[r>>2];return}function pm(e){e=e|0;var i=0,r=0,t=0;r=h[e+4>>2]|0;t=e+8|0;i=h[t>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));h[t>>2]=i}r=h[e>>2]|0;do{if(r){i=h[e+16>>2]|0;if((i|0)==(r|0)){c[i+112>>0]=0;break}else{zv(r);break}}}while(0);return}function vm(e,i){e=e|0;i=i|0;var r=0;if(i>>>0>1073741823)Yv(e);r=e+128|0;if(i>>>0<29&(c[r>>0]|0)==0){c[r>>0]=1;r=e+16|0}else r=Xv(i<<2)|0;h[e+4>>2]=r;h[e>>2]=r;h[e+8>>2]=r+(i<<2);return}function gm(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;do{if((e|0)!=(i|0)){n=zg()|0;f=h[n>>2]|0;h[n>>2]=0;t=+Wy(e,a,rk()|0);e=h[n>>2]|0;if(!e)h[n>>2]=f;if((h[a>>2]|0)!=(i|0)){h[r>>2]=4;t=0.0;break}if((e|0)==34)h[r>>2]=4}else{h[r>>2]=4;t=0.0}}while(0);v=l;return+t}function ym(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;do{if((e|0)!=(i|0)){n=zg()|0;f=h[n>>2]|0;h[n>>2]=0;t=+Wy(e,a,rk()|0);e=h[n>>2]|0;if(!e)h[n>>2]=f;if((h[a>>2]|0)!=(i|0)){h[r>>2]=4;t=0.0;break}if((e|0)==34)h[r>>2]=4}else{h[r>>2]=4;t=0.0}}while(0);v=l;return+t}function Em(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;do{if((e|0)==(i|0)){h[r>>2]=4;t=0.0}else{n=zg()|0;f=h[n>>2]|0;h[n>>2]=0;t=+Wy(e,a,rk()|0);e=h[n>>2]|0;if(!e)h[n>>2]=f;if((h[a>>2]|0)!=(i|0)){h[r>>2]=4;t=0.0;break}if((e|0)==34)h[r>>2]=4}}while(0);v=l;return+t}function Am(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;do{if((e|0)!=(i|0)){if((c[e>>0]|0)==45){h[r>>2]=4;t=0;e=0;break}n=zg()|0;f=h[n>>2]|0;h[n>>2]=0;e=Fg(e,a,t,rk()|0)|0;t=h[n>>2]|0;if(!t)h[n>>2]=f;if((h[a>>2]|0)!=(i|0)){h[r>>2]=4;t=0;e=0;break}if((t|0)==34){h[r>>2]=4;t=-1;e=-1}else t=H}else{h[r>>2]=4;t=0;e=0}}while(0);H=t;v=l;return e|0}function Mm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;do{if((e|0)!=(i|0)){if((c[e>>0]|0)==45){h[r>>2]=4;e=0;break}f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Fg(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;e=0;break}if(t>>>0>0|(t|0)==0&e>>>0>4294967295|(n|0)==34){h[r>>2]=4;e=-1;break}else break}else{h[r>>2]=4;e=0}}while(0);v=s;return e|0}function Tm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;do{if((e|0)!=(i|0)){if((c[e>>0]|0)==45){h[r>>2]=4;e=0;break}f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Fg(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;e=0;break}if(t>>>0>0|(t|0)==0&e>>>0>4294967295|(n|0)==34){h[r>>2]=4;e=-1;break}else break}else{h[r>>2]=4;e=0}}while(0);v=s;return e|0}function Sm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;do{if((e|0)!=(i|0)){if((c[e>>0]|0)==45){h[r>>2]=4;e=0;break}f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Fg(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;e=0;break}if(t>>>0>0|(t|0)==0&e>>>0>65535|(n|0)==34){h[r>>2]=4;e=-1;break}else{e=e&65535;break}}else{h[r>>2]=4;e=0}}while(0);v=s;return e|0}function Pm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;do{if((e|0)!=(i|0)){f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Ug(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;t=0;e=0;break}if((n|0)==34){h[r>>2]=4;l=(t|0)>0|(t|0)==0&e>>>0>0;H=l?2147483647:-2147483648;v=s;return(l?-1:0)|0}}else{h[r>>2]=4;t=0;e=0}}while(0);H=t;v=s;return e|0}function Om(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;e:do{if((e|0)==(i|0)){h[r>>2]=4;e=0}else{f=zg()|0;a=h[f>>2]|0;h[f>>2]=0;e=Ug(e,l,t,rk()|0)|0;t=H;n=h[f>>2]|0;if(!n)h[f>>2]=a;if((h[l>>2]|0)!=(i|0)){h[r>>2]=4;e=0;break}do{if((n|0)==34){h[r>>2]=4;if((t|0)>0|(t|0)==0&e>>>0>0){e=2147483647;break e}}else{if((t|0)<-1|(t|0)==-1&e>>>0<2147483648){h[r>>2]=4;break}if((t|0)>0|(t|0)==0&e>>>0>2147483647){h[r>>2]=4;e=2147483647;break e}else break e}}while(0);e=-2147483648}}while(0);v=s;return e|0}function Rm(){}function Lm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=i-t-(r>>>0>e>>>0|0)>>>0;return(H=t,e-r>>>0|0)|0}function Cm(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=e+r|0;if((r|0)>=20){i=i&255;f=e&3;a=i|i<<8|i<<16|i<<24;n=t&~3;if(f){f=e+4-f|0;while((e|0)<(f|0)){c[e>>0]=i;e=e+1|0}}while((e|0)<(n|0)){h[e>>2]=a;e=e+4|0}}while((e|0)<(t|0)){c[e>>0]=i;e=e+1|0}return e-r|0}function Dm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=e+r>>>0;return(H=i+t+(r>>>0>>0|0)>>>0,r|0)|0}function xm(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){H=i>>>r;return e>>>r|(i&(1<>>r-32|0}function Im(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((r|0)>=4096)return ai(e|0,i|0,r|0)|0;t=e|0;if((e&3)==(i&3)){while(e&3){if(!r)return t|0;c[e>>0]=c[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}while((r|0)>=4){h[e>>2]=h[i>>2];e=e+4|0;i=i+4|0;r=r-4|0}}while((r|0)>0){c[e>>0]=c[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}return t|0}function Bm(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){H=i<>>32-r;return e<0){e=e-1|0;i=i-1|0;r=r-1|0;c[e>>0]=c[i>>0]|0}e=t}else Im(e,i,r)|0;return e|0}function Fm(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){H=i>>r;return e>>>r|(i&(1<>r-32|0}function Um(e){e=e|0;var i=0;i=c[A+(e&255)>>0]|0;if((i|0)<8)return i|0;i=c[A+(e>>8&255)>>0]|0;if((i|0)<8)return i+8|0;i=c[A+(e>>16&255)>>0]|0;if((i|0)<8)return i+16|0;return(c[A+(e>>>24)>>0]|0)+24|0}function jm(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;f=e&65535;n=i&65535;r=ce(n,f)|0;t=e>>>16;e=(r>>>16)+(ce(n,t)|0)|0;n=i>>>16;i=ce(n,f)|0;return(H=(e>>>16)+(ce(n,t)|0)+(((e&65535)+i|0)>>>16)|0,e+i<<16|r&65535|0)|0}function Hm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;o=i>>31|((i|0)<0?-1:0)<<1;s=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;l=Lm(o^e,s^i,o,s)|0;a=H;e=f^o;i=n^s;return Lm((Vm(l,a,Lm(f^r,n^t,f,n)|0,H,0)|0)^e,H^i,e,i)|0}function Ym(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;n=v;v=v+16|0;l=n|0;a=i>>31|((i|0)<0?-1:0)<<1;f=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;o=t>>31|((t|0)<0?-1:0)<<1;s=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=Lm(a^e,f^i,a,f)|0;i=H;Vm(e,i,Lm(o^r,s^t,o,s)|0,H,l)|0;t=Lm(h[l>>2]^a,h[l+4>>2]^f,a,f)|0;r=H;v=n;return(H=r,t)|0}function qm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=e;f=r;r=jm(n,f)|0;e=H;return(H=(ce(i,f)|0)+(ce(t,n)|0)+e|e&0,r|0|0)|0}function Xm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Vm(e,i,r,t,0)|0}function zm(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=v;v=v+16|0;n=f|0;Vm(e,i,r,t,n)|0;v=f;return(H=h[n+4>>2]|0,h[n>>2]|0)|0}function Vm(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;u=e;s=i;o=s;a=r;d=t;l=d;if(!o){f=(n|0)!=0;if(!l){if(f){h[n>>2]=(u>>>0)%(a>>>0);h[n+4>>2]=0}d=0;n=(u>>>0)/(a>>>0)>>>0;return(H=d,n)|0}else{if(!f){d=0;n=0;return(H=d,n)|0}h[n>>2]=e|0;h[n+4>>2]=i&0;d=0;n=0;return(H=d,n)|0}}f=(l|0)==0;do{if(a){if(!f){f=(he(l|0)|0)-(he(o|0)|0)|0;if(f>>>0<=31){c=f+1|0;l=31-f|0;i=f-31>>31;a=c;e=u>>>(c>>>0)&i|o<>>(c>>>0)&i;f=0;l=u<>2]=e|0;h[n+4>>2]=s|i&0;d=0;n=0;return(H=d,n)|0}f=a-1|0;if(f&a){l=(he(a|0)|0)+33-(he(o|0)|0)|0;k=64-l|0;c=32-l|0;s=c>>31;b=l-32|0;i=b>>31;a=l;e=c-1>>31&o>>>(b>>>0)|(o<>>(l>>>0))&i;i=i&o>>>(l>>>0);f=u<>>(b>>>0))&s|u<>31;break}if(n){h[n>>2]=f&u;h[n+4>>2]=0}if((a|0)==1){b=s|i&0;k=e|0|0;return(H=b,k)|0}else{k=Um(a|0)|0;b=o>>>(k>>>0)|0;k=o<<32-k|u>>>(k>>>0)|0;return(H=b,k)|0}}else{if(f){if(n){h[n>>2]=(o>>>0)%(a>>>0);h[n+4>>2]=0}b=0;k=(o>>>0)/(a>>>0)>>>0;return(H=b,k)|0}if(!u){if(n){h[n>>2]=0;h[n+4>>2]=(o>>>0)%(l>>>0)}b=0;k=(o>>>0)/(l>>>0)>>>0;return(H=b,k)|0}f=l-1|0;if(!(f&l)){if(n){h[n>>2]=e|0;h[n+4>>2]=f&o|i&0}b=0;k=o>>>((Um(l|0)|0)>>>0);return(H=b,k)|0}f=(he(l|0)|0)-(he(o|0)|0)|0;if(f>>>0<=30){i=f+1|0;l=31-f|0;a=i;e=o<>>(i>>>0);i=o>>>(i>>>0);f=0;l=u<>2]=e|0;h[n+4>>2]=s|i&0;b=0;k=0;return(H=b,k)|0}}while(0);if(!a){o=l;s=0;l=0}else{c=r|0|0;u=d|t&0;o=Dm(c|0,u|0,-1,-1)|0;r=H;s=l;l=0;do{t=s;s=f>>>31|s<<1;f=l|f<<1;t=e<<1|t>>>31|0;d=e>>>31|i<<1|0;Lm(o,r,t,d)|0;k=H;b=k>>31|((k|0)<0?-1:0)<<1;l=b&1;e=Lm(t,d,b&c,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&u)|0;i=H;a=a-1|0}while((a|0)!=0);o=s;s=0}a=0;if(n){h[n>>2]=e;h[n+4>>2]=i}b=(f|0)>>>31|(o|a)<<1|(a<<1|f>>>31)&0|s;k=(f<<1|0>>>31)&-2|l;return(H=b,k)|0}function Gm(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;return dE[e&15](i|0,r|0,t|0,n|0,f|0,a|0,l|0)|0}function Km(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;hE[e&15](i|0,r|0,t|0,n|0,f|0)}function Wm(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=+a;return bE[e&3](i|0,r|0,t|0,n|0,f|0,+a)|0}function Jm(e,i){e=e|0;i=i|0;kE[e&255](i|0)}function Zm(e,i,r){e=e|0;i=i|0;r=r|0;wE[e&127](i|0,r|0)}function Qm(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return _E[e&63](i|0,r|0,t|0,n|0,f|0,a|0)|0}function $m(e,i){e=e|0;i=i|0;return mE[e&127](i|0)|0}function ep(e,i,r,t,n,f,a,l,s,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;return pE[e&3](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0,o|0,u|0,c|0)|0}function ip(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return vE[e&63](i|0,r|0,t|0)|0}function rp(e,i,r,t,n,f,a,l,s,o,u,c,d,h,b,k){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;d=d|0;h=h|0;b=b|0;k=k|0;gE[e&3](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0,o|0,u|0,c|0,d|0,h|0,b|0,k|0)}function tp(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;yE[e&15](i|0,r|0,t|0,n|0,f|0,a|0)}function np(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;EE[e&7](i|0,r|0,t|0,n|0,f|0,a|0,l|0)}function fp(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;AE[e&7](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0,o|0,u|0)}function ap(e,i,r){e=e|0;i=i|0;r=r|0;return ME[e&63](i|0,r|0)|0}function lp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return TE[e&31](i|0,r|0,t|0,n|0,f|0)|0}function sp(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return+SE[e&3](i|0,r|0,t|0)}function op(e){e=e|0;return PE[e&15]()|0}function up(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return OE[e&31](i|0,r|0,t|0,n|0)|0}function cp(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;RE[e&15](i|0,r|0,t|0)}function dp(e){e=e|0;LE[e&7]()}function hp(e,i,r,t,n,f,a,l,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;return CE[e&15](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0)|0}function bp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;return DE[e&7](i|0,r|0,t|0,n|0,+f)|0}function kp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;xE[e&63](i|0,r|0,t|0,n|0)}function wp(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;be(0);return 0}function _p(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;be(1)}function mp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;be(2);return 0}function pp(e){e=e|0;be(3)}function vp(e,i){e=e|0;i=i|0;be(4)}function gp(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;be(5);return 0}function yp(e){e=e|0;be(6);return 0}function Ep(e){e=e|0;return bi(e|0)|0}function Ap(e){e=e|0;return Oi(e|0)|0}function Mp(e){e=e|0;return pi(e|0)|0}function Tp(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;be(7);return 0}function Sp(e,i,r){e=e|0;i=i|0;r=r|0;be(8);return 0}function Pp(e,i,r,t,n,f,a,l,s,o,u,c,d,h,b){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;d=d|0;h=h|0;b=b|0;be(9)}function Op(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;be(10)}function Rp(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;be(11)}function Lp(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;be(12)}function Cp(e,i){e=e|0;i=i|0;be(13);return 0}function Dp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;be(14);return 0}function xp(e,i,r){e=e|0;i=i|0;r=r|0;be(15);return 0.0}function Ip(){be(16);return 0}function Bp(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;be(17);return 0}function Np(e,i,r){e=e|0;i=i|0;r=r|0;be(18)}function Fp(e,i,r){e=e|0;i=i|0;r=r|0;Ei(e|0,i|0,r|0)}function Up(){be(19)}function jp(){Si()}function Hp(){li()}function Yp(){Ai()}function qp(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;be(20);return 0}function Xp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;be(21);return 0}function zp(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;be(22)}function Vp(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+32|0;l=o;pv(l,255,0);s=e+152|0;if(((h[l+4>>2]|0)==(h[s>>2]|0)?(h[l+8>>2]|0)==(h[e+156>>2]|0):0)?(h[l+12>>2]|0)==(h[e+160>>2]|0):0){s=h[8900]|0;h[e+4580>>2]=s+(((h[8901]|0)-s|0)>>>1);v=o;return}r=e+4584|0;t=e+4588|0;n=h[t>>2]|0;i=h[r>>2]|0;f=n-i|0;if(f>>>0>=512){if(f>>>0>512?(a=i+512|0,(n|0)!=(a|0)):0)h[t>>2]=a}else{Qt(r,512-f|0);i=h[r>>2]|0}l=e+4580|0;h[l>>2]=i+256;a=e+160|0;n=e+156|0;f=-256;while(1){i=h[a>>2]|0;if((f|0)>(0-i|0)){r=h[n>>2]|0;if((f|0)>(0-r|0)){t=h[s>>2]|0;if((f|0)>(0-t|0))if((f|0)>=0){if((f|0)<1){c[(h[l>>2]|0)+f>>0]=0;f=1;continue}if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1}else i=-1;else i=-2}else i=-3}else i=-4;c[(h[l>>2]|0)+f>>0]=i;f=f+1|0;if((f|0)==256)break}v=o;return}function Gp(e){e=e|0;var i=0,r=0;h[e>>2]=35660;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}e=e+88|0;i=h[e>>2]|0;h[e>>2]=0;if(!i)return;kE[h[(h[i>>2]|0)+4>>2]&255](i);return}function Kp(e){e=e|0;var i=0,r=0;h[e>>2]=35660;i=h[e+4608>>2]|0;if(i){r=e+4612|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}h[e>>2]=36736;i=h[e+92>>2]|0;if(i){r=e+96|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i)}r=e+88|0;i=h[r>>2]|0;h[r>>2]=0;if(!i){zv(e);return}kE[h[(h[i>>2]|0)+4>>2]&255](i);zv(e);return}function Wp(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;p=v;v=v+352|0;g=p+328|0;y=p+192|0;r=p+343|0;t=p+342|0;n=p+341|0;f=p+340|0;b=p+176|0;l=p+168|0;s=p+160|0;o=p+152|0;m=p;w=p+136|0;if((h[e+28>>2]|0)!=0?(h[e+20>>2]|0)!=1:0){k=e+4|0;_=e+32|0;a=h[_>>2]|0;if(!a){e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[r>>0]|0;Fe(44,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}e=h[e+12>>2]|0;if((e|0)==8)switch(a|0){case 1:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[t>>0]|0;Fe(45,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[n>>0]|0;Fe(46,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(48)|0;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];c[g>>0]=c[f>>0]|0;Fe(47,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=y+56|0;n=y+4|0;h[y>>2]=36160;h[a>>2]=36180;T=0;ve(62,y+56|0,n|0);p=T;T=0;if(p&1){E=Ze()|0;bh(a);si(E|0)}h[y+128>>2]=0;h[y+132>>2]=-1;h[y>>2]=36200;h[y+56>>2]=36220;T=0;pe(180,n|0);p=T;T=0;do{if(p&1)e=Ze()|0;else{h[n>>2]=36236;f=y+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[y+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);p=T;T=0;if(p&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,y|0,49007,21)|0;g=T;T=0;do{if((!(g&1)?(T=0,u=Oe(36,e|0,h[_>>2]|0)|0,g=T,T=0,!(g&1)):0)?(T=0,Ae(28,u|0,50997,18)|0,g=T,T=0,!(g&1)):0){t=Je(16)|0;T=0;ve(64,b|0,n|0);g=T;T=0;if(!(g&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,b|0);g=T;T=0;if(g&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(b);if(!r)break}else e=Ze()|0;We(t|0)}else E=34}while(0);if((E|0)==34)e=Ze()|0;h[y>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}if((e|0)<=8){e=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,e|0,8,35648);E=T;T=0;if(!(E&1))Ei(e|0,824,96);E=Ze()|0;We(e|0);si(E|0)}r=16-e|0;switch(a|0){case 1:{e=Xv(60)|0;h[l>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[l>>2];h[g+4>>2]=h[l+4>>2];Fe(41,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 2:{e=Xv(60)|0;h[s>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[s>>2];h[g+4>>2]=h[s+4>>2];Fe(42,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}case 3:{e=Xv(60)|0;h[o>>2]=r;T=0;h[y>>2]=h[i>>2];h[y+4>>2]=h[i+4>>2];h[y+8>>2]=h[i+8>>2];h[g>>2]=h[o>>2];h[g+4>>2]=h[o+4>>2];Fe(43,e|0,y|0,k|0,g|0);E=T;T=0;if(!(E&1)){E=e;v=p;return E|0}E=Ze()|0;zv(e);si(E|0)}default:{a=m+56|0;n=m+4|0;h[m>>2]=36160;h[a>>2]=36180;T=0;ve(62,m+56|0,n|0);y=T;T=0;if(y&1){E=Ze()|0;bh(a);si(E|0)}h[m+128>>2]=0;h[m+132>>2]=-1;h[m>>2]=36200;h[m+56>>2]=36220;T=0;pe(180,n|0);y=T;T=0;do{if(y&1)e=Ze()|0;else{h[n>>2]=36236;f=m+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[m+52>>2]=16;h[g>>2]=0;h[g+4>>2]=0;h[g+8>>2]=0;T=0;ve(63,n|0,g|0);y=T;T=0;if(y&1){e=Ze()|0;qd(g);qd(f);gh(n);break}qd(g);T=0;e=Ae(28,m|0,49007,21)|0;y=T;T=0;do{if((!(y&1)?(T=0,d=Oe(36,e|0,h[_>>2]|0)|0,y=T,T=0,!(y&1)):0)?(T=0,Ae(28,d|0,50997,18)|0,y=T,T=0,!(y&1)):0){t=Je(16)|0;T=0;ve(64,w|0,n|0);y=T;T=0;if(!(y&1)){if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;Fe(36,t|0,9,35648,w|0);y=T;T=0;if(y&1)r=1;else{T=0;xe(6,t|0,824,96);T=0;r=0}e=Ze()|0;qd(w);if(!r)break}else e=Ze()|0;We(t|0)}else E=64}while(0);if((E|0)==64)e=Ze()|0;h[m>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);E=e;si(E|0)}}while(0);E=e;bh(a);si(E|0)}}}r=h[i+4>>2]|0;t=Xv(16)|0;e=h[e+16>>2]|0;if(!r){E=h[i>>2]|0;h[t>>2]=36132;h[t+4>>2]=E;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}else{h[t>>2]=36108;h[t+4>>2]=r;h[t+8>>2]=1;h[t+12>>2]=e;E=t;v=p;return E|0}return 0}function Jp(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;a=v;v=v+32|0;s=a;pv(s,h[e+128>>2]|0,h[e+136>>2]|0);l=h[i+4>>2]|0;f=h[i+8>>2]|0;f=(f|0)==0?h[s+8>>2]|0:f;n=h[i+12>>2]|0;n=(n|0)==0?h[s+12>>2]|0:n;r=h[i+16>>2]|0;t=h[s+16>>2]|0;h[e+176>>2]=(l|0)==0?h[s+4>>2]|0:l;h[e+180>>2]=f;h[e+184>>2]=n;nv(e);n=e+132|0;i=(h[n>>2]|0)+32|0;i=(i|0)<128?2:(i|0)/64|0;f=0;do{h[e+188+(f*12|0)>>2]=i;h[e+188+(f*12|0)+4>>2]=0;d[e+188+(f*12|0)+8>>1]=0;d[e+188+(f*12|0)+10>>1]=1;f=f+1|0}while((f|0)!=365);l=(h[n>>2]|0)+32|0;l=(l|0)<128?2:(l|0)/64|0;s=((r|0)==0?t:r)&255;h[e+4568>>2]=l;h[e+4572>>2]=0;c[e+4576>>0]=s;c[e+4577>>0]=1;c[e+4578>>0]=0;h[e+4580>>2]=l;h[e+4584>>2]=1;c[e+4588>>0]=s;c[e+4589>>0]=1;c[e+4590>>0]=0;h[e+4592>>2]=0;v=a;return}function Zp(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=e+88|0;f=h[i>>2]|0;h[i>>2]=0;i=h[a>>2]|0;h[a>>2]=f;if(i)kE[h[(h[i>>2]|0)+4>>2]&255](i);a=t+4|0;f=h[a>>2]|0;c[e+4620>>0]=n&1;i=e+156|0;h[i>>2]=h[r>>2];h[i+4>>2]=h[r+4>>2];h[i+8>>2]=h[r+8>>2];h[i+12>>2]=h[r+12>>2];Ft(e,t);Qp(e);i=h[e+116>>2]|0;e=h[e+112>>2]|0;while(1){n=i+-1|0;r=(c[n>>0]|0)==-1?7:8;if((e|0)<(r|0))break;else{i=n;e=e-r|0}}i=i-f|0;n=h[a>>2]|0;if(!n)return;h[a>>2]=n+i;t=t+8|0;h[t>>2]=(h[t>>2]|0)-i;return}function Qp(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0;M=v;v=v+32|0;P=M+12|0;A=M;l=e+172|0;E=(h[l>>2]|0)+4|0;if((h[e+28>>2]|0)==1)s=h[e+20>>2]|0;else s=1;i=ce(s<<1,E)|0;h[P>>2]=0;O=P+4|0;h[O>>2]=0;h[P+8>>2]=0;e:do{if(i){if(!((i|0)<0?(T=0,pe(178,P|0),S=T,T=0,S&1):0))y=6;if((y|0)==6?(T=0,r=ye(67,i|0)|0,S=T,T=0,!(S&1)):0){h[O>>2]=r;h[P>>2]=r;h[P+8>>2]=r+i;while(1){c[r>>0]=0;r=(h[O>>2]|0)+1|0;h[O>>2]=r;i=i+-1|0;if(!i)break e}}r=Ze()|0;i=h[P>>2]|0;if(!i)si(r|0);if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);si(r|0)}}while(0);h[A>>2]=0;S=A+4|0;h[S>>2]=0;h[A+8>>2]=0;do{if(!s)y=19;else{if(!(s>>>0>1073741823?(T=0,pe(178,A|0),g=T,T=0,g&1):0))y=17;if((y|0)==17?(t=s<<2,T=0,n=ye(67,t|0)|0,g=T,T=0,!(g&1)):0){h[A>>2]=n;y=n+(s<<2)|0;h[A+8>>2]=y;Cm(n|0,0,t|0)|0;h[S>>2]=y;y=19;break}r=Ze()|0;i=h[A>>2]|0;t=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}}while(0);if((y|0)==19){o=e+8|0;i=h[o>>2]|0;e:do{if((i|0)>0){u=e+4596|0;d=ce(s,E)|0;b=d+1|0;k=e+4600|0;w=e+160|0;_=e+168|0;m=e+164|0;p=e+156|0;g=e+88|0;a=e+4592|0;if((s|0)>0)f=0;else{f=0;while(1){n=h[P>>2]|0;r=n+1|0;h[u>>2]=r;t=n+b|0;h[k>>2]=t;if(!(f&1))r=b;else{h[u>>2]=t;h[k>>2]=r;r=1}s=h[w>>2]|0;if((s|0)<=(f|0)?(f|0)<((h[_>>2]|0)+s|0):0){s=h[g>>2]|0;T=0;Fe(h[(h[s>>2]|0)+8>>2]|0,s|0,n+(r+((h[p>>2]|0)-d))|0,h[m>>2]|0,E|0);s=T;T=0;if(s&1)break;i=h[o>>2]|0}f=f+1|0;if((f|0)>=(i|0)){y=50;break e}}r=Ze()|0;break}i:while(1){r=h[P>>2]|0;i=r+1|0;h[u>>2]=i;r=r+b|0;h[k>>2]=r;if(f&1){h[u>>2]=r;h[k>>2]=i;i=r}n=h[A>>2]|0;r=i;t=0;do{h[a>>2]=h[n+(t<<2)>>2];y=h[l>>2]|0;c[r+y>>0]=c[r+(y+-1)>>0]|0;c[(h[k>>2]|0)+-1>>0]=c[h[u>>2]>>0]|0;T=0;ve(83,e|0,0);y=T;T=0;if(y&1){y=38;break i}n=h[A>>2]|0;h[n+(t<<2)>>2]=h[a>>2];r=(h[u>>2]|0)+E|0;h[u>>2]=r;i=h[k>>2]|0;h[k>>2]=i+E;t=t+1|0}while((t|0)<(s|0));y=h[w>>2]|0;if(((y|0)<=(f|0)?(f|0)<((h[_>>2]|0)+y|0):0)?(y=h[g>>2]|0,T=0,Fe(h[(h[y>>2]|0)+8>>2]|0,y|0,i+(E+((h[p>>2]|0)-d))|0,h[m>>2]|0,E|0),y=T,T=0,y&1):0){y=30;break}f=f+1|0;if((f|0)>=(h[o>>2]|0)){y=50;break e}}if((y|0)==30){r=Ze()|0;break}else if((y|0)==38){r=Ze()|0;break}}else y=50}while(0);do{if((y|0)==50){T=0;pe(183,e|0);e=T;T=0;if(e&1){r=Ze()|0;break}i=h[A>>2]|0;r=i;if(i){t=h[S>>2]|0;if((t|0)!=(i|0))h[S>>2]=t+(~((t+-4-r|0)>>>2)<<2);zv(i)}i=h[P>>2]|0;if(!i){v=M;return}if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);v=M;return}}while(0);i=h[A>>2]|0;t=i;if(i){n=h[S>>2]|0;if((n|0)!=(i|0))h[S>>2]=n+(~((n+-4-t|0)>>>2)<<2);zv(i)}}i=h[P>>2]|0;if(!i)si(r|0);if((h[O>>2]|0)!=(i|0))h[O>>2]=i;zv(i);si(r|0)}function $p(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0;k=e+4596|0;r=h[k>>2]|0;p=e+172|0;i=h[p>>2]|0;if((i|0)<=0)return;w=e+4600|0;_=e+4604|0;m=e+4592|0;l=r;f=b[r+-1>>0]|0;r=b[r>>0]|0;d=0;while(1){o=h[w>>2]|0;a=c[o+(d+-1)>>0]|0;u=a&255;n=d+1|0;t=b[l+n>>0]|0;s=h[_>>2]|0;l=r-f|0;f=f-u|0;s=((((c[s+(t-r)>>0]|0)*9|0)+(c[s+l>>0]|0)|0)*9|0)+(c[s+f>>0]|0)|0;o=o+d|0;if(!s){i=iv(e,a,o,i-d|0)|0;r=i+d|0;if((r|0)!=(h[p>>2]|0)){u=rv(e,u,b[(h[k>>2]|0)+r>>0]|0)|0;c[(h[w>>2]|0)+r>>0]=u;u=h[m>>2]|0;h[m>>2]=(u|0)<1?0:u+-1|0;i=i+1|0}n=i+d|0;t=h[k>>2]|0;r=b[t+(n+-1)>>0]|0;t=b[t+n>>0]|0}else{i=r-u>>31;if((i^f|0)<0)i=r;else i=u+((i^l|0)<0?0:l)|0;u=ev(e,s,b[o>>0]|0,i,0)|0;c[(h[w>>2]|0)+d>>0]=u}i=h[p>>2]|0;if((i|0)<=(n|0))break;l=h[k>>2]|0;f=r;r=t;d=n}return}function ev(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0;_=i>>31;s=(_^i)-_|0;k=e+188+(s*12|0)+10|0;r=d[k>>1]|0;b=e+188+(s*12|0)|0;n=h[b>>2]|0;if((r|0)<(n|0))if((r<<1|0)<(n|0))if((r<<2|0)<(n|0))if((r<<3|0)<(n|0))if((r<<4|0)<(n|0)){i=5;while(1)if((r<>1]^_)-_+t|0;w=e+128|0;n=h[w>>2]|0;if((r&n|0)==(r|0))o=r;else o=n&~(r>>31);r=e+112|0;if((h[r>>2]|0)<8)Jt(e);n=e+108|0;t=h[n>>2]|0;f=t>>>24;a=h[2832+(i<<11)+(f<<3)+4>>2]|0;if(!a){l=h[e+148>>2]|0;n=h[e+140>>2]|0;r=Ta(e)|0;if((r|0)<(l+-1-n|0)){if(i)r=(Sa(e,i)|0)+(r<>31^r>>1;if((((r|0)>-1?r:0-r|0)|0)>65535){r=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,r|0,5,35648);e=T;T=0;if(e&1){e=Ze()|0;We(r|0);si(e|0)}else Ei(r|0,824,96)}}else{h[r>>2]=(h[r>>2]|0)-a;h[n>>2]=t<>2]|0}l=e+136|0;t=h[l>>2]|0;if(!i){if(!t)n=(h[e+188+(s*12|0)+4>>2]<<1)+-1+(d[k>>1]|0)>>31;else n=0;a=n^r}else a=r;i=h[e+152>>2]|0;n=(h[b>>2]|0)+((a|0)>-1?a:0-a|0)|0;f=e+188+(s*12|0)+4|0;r=(h[f>>2]|0)+(ce(t<<1|1,a)|0)|0;t=d[k>>1]|0;if((t|0)==(i|0)){n=n>>1;r=r>>1;t=i>>1}h[b>>2]=n;i=t+1|0;d[k>>1]=i;n=i+r|0;if((n|0)>=1){if((r|0)>0){r=r-i|0;k=d[u>>1]|0;d[u>>1]=(k<<16>>16<127&1)+(k&65535);r=(r|0)>0?0:r}}else{r=d[u>>1]|0;d[u>>1]=(r&65535)-(r<<16>>16>-128&1);r=(n|0)>(~t|0)?n:0-t|0}h[f>>2]=r;i=h[l>>2]|0;t=i<<1|1;n=(ce(t,(a^_)-_|0)|0)+o|0;if((n|0)>=(0-i|0)){r=h[w>>2]|0;if((r+i|0)<(n|0))n=n-(ce(h[e+132>>2]|0,t)|0)|0}else{n=(ce(h[e+132>>2]|0,t)|0)+n|0;r=h[w>>2]|0}if((n&r|0)==(n|0)){e=n;e=e&255;return e|0}e=r&~(n>>31);e=e&255;return e|0}function iv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;l=e+112|0;s=e+108|0;o=e+4592|0;n=h[l>>2]|0;f=0;while(1){if((n|0)<1){Jt(e);n=h[l>>2]|0}a=h[s>>2]|0;n=n+-1|0;h[l>>2]=n;h[s>>2]=a<<1;if((a|0)>=0){u=8;break}a=h[o>>2]|0;d=1<>2];b=t-f|0;b=(d|0)<(b|0)?d:b;f=b+f|0;if((b|0)==(d|0))h[o>>2]=(a|0)>30?31:a+1|0;if((f|0)==(t|0)){n=t;break}}if((u|0)==8)if((f|0)!=(t|0)){n=h[o>>2]|0;if((n+-4|0)>>>0<28)n=Sa(e,h[36476+(n<<2)>>2]|0)|0;else n=0;n=n+f|0;if((n|0)>(t|0)){n=Je(16)|0;if((c[8]|0)==0?(ze(8)|0)!=0:0){yi(72,35648,M|0)|0;$e(8)}T=0;xe(7,n|0,5,35648);b=T;T=0;if(b&1){b=Ze()|0;We(n|0);si(b|0)}else Ei(n|0,824,96)}}else n=t;if((n|0)<=0)return n|0;Cm(r|0,i|0,n|0)|0;return n|0}function rv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i-r|0;a=e+128|0;t=e+136|0;if((((f|0)>-1?f:0-f|0)|0)>(h[t>>2]|0)){i=ce(tv(e,e+4568|0)|0,r-i>>31|1)|0;n=h[t>>2]|0;f=n<<1|1;i=(ce(i,f)|0)+r|0;if((i|0)>=(0-n|0)){t=h[a>>2]|0;if((t+n|0)<(i|0))i=i-(ce(h[e+132>>2]|0,f)|0)|0}else{i=(ce(h[e+132>>2]|0,f)|0)+i|0;t=h[a>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&255;return e|0}e=t&~(i>>31);e=e&255;return e|0}else{r=tv(e,e+4580|0)|0;f=h[t>>2]|0;n=f<<1|1;i=(ce(n,r)|0)+i|0;if((i|0)>=(0-f|0)){t=h[a>>2]|0;if((t+f|0)<(i|0))i=i-(ce(h[e+132>>2]|0,n)|0)|0}else{i=(ce(h[e+132>>2]|0,n)|0)+i|0;t=h[a>>2]|0}if((i&t|0)==(i|0)){e=i;e=e&255;return e|0}e=t&~(i>>31);e=e&255;return e|0}return 0}function tv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=i+9|0;r=b[o>>0]|0;f=i+4|0;n=(ce(r>>>1,h[f>>2]|0)|0)+(h[i>>2]|0)|0;if((r|0)<(n|0)){t=0;do{r=r<<1;t=t+1|0}while((r|0)<(n|0))}else t=0;a=h[e+148>>2]|0;l=h[36476+(h[e+4592>>2]<<2)>>2]|0;r=h[e+140>>2]|0;n=Ta(e)|0;do{if((n|0)<(a+-2-l-r|0))if(!t){t=h[f>>2]|0;e=t+n|0;r=e&1;e=(r+e|0)/2|0;s=8;break}else{l=(Sa(e,t)|0)+(n<>2]|0;n=l+t|0;a=n&1;r=a;f=1;n=(a+n|0)/2|0;break}else{n=(Sa(e,r)|0)+1|0;a=h[f>>2]|0;e=n+a|0;r=e&1;e=(r+e|0)/2|0;if(!t){t=a;s=8}else{l=n;f=1;n=e;t=a}}}while(0);if((s|0)==8){l=n;f=b[i+10>>0]<<1>>>0>=(b[o>>0]|0)>>>0;n=e}n=(r|0)!=0^f?n:0-n|0;if((n|0)<0){s=i+10|0;c[s>>0]=(b[s>>0]|0)+1}r=(l+1-t>>1)+(h[i>>2]|0)|0;h[i>>2]=r;t=c[o>>0]|0;if(t<<24>>24!=(c[i+8>>0]|0)){i=t;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}h[i>>2]=r>>1;s=(t&255)>>>1;c[o>>0]=s;i=i+10|0;c[i>>0]=(b[i>>0]|0)>>>1;i=s;i=i&255;i=i+1|0;i=i&255;c[o>>0]=i;return n|0}function nv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+32|0;t=b;d=e+136|0;e:do{if(!(h[d>>2]|0)){r=h[e+128>>2]|0;i=e+144|0;if((((r|0)==((1<>2])+-1|0)?(pv(t,r,0),(h[t+4>>2]|0)==(h[e+176>>2]|0)):0)?(h[t+8>>2]|0)==(h[e+180>>2]|0):0)?(h[t+12>>2]|0)==(h[e+184>>2]|0):0)switch(h[i>>2]|0){case 8:{d=h[8900]|0;h[e+4604>>2]=d+(((h[8901]|0)-d|0)>>>1);v=b;return}case 10:{d=h[8903]|0;h[e+4604>>2]=d+(((h[8904]|0)-d|0)>>>1);v=b;return}case 12:{d=h[8906]|0;h[e+4604>>2]=d+(((h[8907]|0)-d|0)>>>1);v=b;return}case 16:{d=h[8909]|0;h[e+4604>>2]=d+(((h[8910]|0)-d|0)>>>1);v=b;return}default:break e}}else i=e+144|0}while(0);u=1<>2];r=e+4608|0;t=u<<1;n=e+4612|0;f=h[n>>2]|0;i=h[r>>2]|0;a=f-i|0;if(t>>>0<=a>>>0){if(t>>>0>>0?(l=i+t|0,(f|0)!=(l|0)):0)h[n>>2]=l}else{Qt(r,t-a|0);i=h[r>>2]|0}o=e+4604|0;h[o>>2]=i+u;i=0-u|0;if((u|0)<=(i|0)){v=b;return}l=e+184|0;s=e+180|0;a=e+176|0;f=i;do{i=h[l>>2]|0;if((f|0)>(0-i|0)){r=h[s>>2]|0;if((f|0)>(0-r|0)){t=h[a>>2]|0;if((f|0)>(0-t|0)){n=h[d>>2]|0;if((f|0)>=(0-n|0))if((n|0)<(f|0))if((t|0)<=(f|0))if((r|0)>(f|0))i=2;else i=(i|0)>(f|0)?3:4;else i=1;else i=0;else i=-1}else i=-2}else i=-3}else i=-4;c[(h[o>>2]|0)+f>>0]=i;f=f+1|0}while((f|0)!=(u|0));v=b;return}function fv(e){e=e|0;zv(e);return}function av(e){e=e|0;return 50767}function lv(e,i,r){e=e|0;i=i|0;r=r|0;Hd(e,50754,12);return}function sv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0;w=v;v=v+16|0;_=w;h[_>>2]=0;m=_+4|0;h[m>>2]=0;h[_+8>>2]=0;b=_+8|0;T=0;n=ye(67,1)|0;d=T;T=0;e:do{if((!(d&1)?(d=n+1|0,c[n>>0]=r,h[_>>2]=n,h[m>>2]=d,h[b>>2]=d,T=0,ve(84,_|0,i&65535|0),d=T,T=0,!(d&1)):0)?(T=0,ve(84,_|0,e&65535|0),d=T,T=0,!(d&1)):0){o=t&255;n=h[m>>2]|0;r=h[b>>2]|0;if(n>>>0>=r>>>0){i=h[_>>2]|0;e=i;a=n-e+1|0;if((a|0)<0){T=0;pe(178,_|0);d=T;T=0;if(d&1){k=52;break}e=h[_>>2]|0;r=h[b>>2]|0;i=e}s=i;n=r-s|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?a:n;r=h[m>>2]|0;l=r-s|0;if(!n){n=0;a=0}else k=12}else{l=h[m>>2]|0;n=2147483647;r=l;l=l-s|0;k=12}if((k|0)==12){T=0;a=ye(67,n|0)|0;d=T;T=0;if(d&1){k=52;break}}c[a+l>>0]=o;u=r-s|0;d=a+(l-u)|0;Im(d|0,i|0,u|0)|0;h[_>>2]=d;h[m>>2]=a+(l+1);h[b>>2]=a+n;if(e)zv(e)}else{c[n>>0]=o;h[m>>2]=(h[m>>2]|0)+1}i:do{if((t|0)>0){d=0;while(1){d=d+1|0;u=d&255;n=h[m>>2]|0;i=h[b>>2]|0;if(n>>>0>=i>>>0){e=h[_>>2]|0;r=e;a=n-r+1|0;if((a|0)<0){T=0;pe(178,_|0);o=T;T=0;if(o&1)break;e=h[_>>2]|0;r=e;i=h[b>>2]|0}o=e;n=i-o|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?a:n;i=h[m>>2]|0;l=i-o|0;if(!n){s=0;a=0}else k=25}else{l=h[m>>2]|0;n=2147483647;i=l;l=l-o|0;k=25}if((k|0)==25){k=0;T=0;a=ye(67,n|0)|0;s=T;T=0;if(s&1)break;else s=n}c[a+l>>0]=u;n=a+(l+1)|0;o=i-o|0;u=a+(l-o)|0;Im(u|0,e|0,o|0)|0;h[_>>2]=u;h[m>>2]=n;h[b>>2]=a+s;if(r){zv(r);n=h[m>>2]|0}}else{c[n>>0]=u;n=(h[m>>2]|0)+1|0;h[m>>2]=n}r=h[b>>2]|0;if(n>>>0>=r>>>0){i=h[_>>2]|0;e=i;a=n-e+1|0;if((a|0)<0){T=0;pe(178,_|0);u=T;T=0;if(u&1)break;e=h[_>>2]|0;r=h[b>>2]|0;i=e}o=i;n=r-o|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?a:n;a=h[m>>2]|0;l=a-o|0;if(!n){s=0;r=0}else k=36}else{l=h[m>>2]|0;n=2147483647;a=l;l=l-o|0;k=36}if((k|0)==36){k=0;T=0;r=ye(67,n|0)|0;u=T;T=0;if(u&1)break;else s=n}c[r+l>>0]=17;n=r+(l+1)|0;o=a-o|0;u=r+(l-o)|0;Im(u|0,i|0,o|0)|0;h[_>>2]=u;h[m>>2]=n;h[b>>2]=r+s;if(e){zv(e);n=h[m>>2]|0}}else{c[n>>0]=17;n=(h[m>>2]|0)+1|0;h[m>>2]=n}r=h[b>>2]|0;if(n>>>0>=r>>>0){i=h[_>>2]|0;e=i;a=n-e+1|0;if((a|0)<0){T=0;pe(178,_|0);u=T;T=0;if(u&1)break;e=h[_>>2]|0;r=h[b>>2]|0;i=e}s=i;n=r-s|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?a:n;r=h[m>>2]|0;l=r-s|0;if(!n){n=0;a=0}else k=48}else{l=h[m>>2]|0;n=2147483647;r=l;l=l-s|0;k=48}if((k|0)==48){k=0;T=0;a=ye(67,n|0)|0;u=T;T=0;if(u&1)break}c[a+l>>0]=0;o=r-s|0;u=a+(l-o)|0;Im(u|0,i|0,o|0)|0;h[_>>2]=u;h[m>>2]=a+(l+1);h[b>>2]=a+n;if(e)zv(e)}else{c[n>>0]=0;h[m>>2]=(h[m>>2]|0)+1}if((d|0)>=(t|0))break i}f=Ze()|0;break e}}while(0);T=0;l=ye(67,20)|0;t=T;T=0;if(!(t&1)){h[l>>2]=36800;c[l+4>>0]=-9;e=l+8|0;h[e>>2]=0;a=l+12|0;h[a>>2]=0;r=l+16|0;h[r>>2]=0;n=h[m>>2]|0;t=h[_>>2]|0;i=n-t|0;do{if((n|0)!=(t|0)){if(!((i|0)<0?(T=0,pe(178,e|0),t=T,T=0,t&1):0))k=62;if((k|0)==62?(T=0,f=ye(67,i|0)|0,t=T,T=0,!(t&1)):0){h[a>>2]=f;h[e>>2]=f;h[r>>2]=f+i;n=h[_>>2]|0;r=h[m>>2]|0;if((n|0)==(r|0))break;do{c[f>>0]=c[n>>0]|0;f=(h[a>>2]|0)+1|0;h[a>>2]=f;n=n+1|0}while((n|0)!=(r|0));n=h[_>>2]|0;break}f=Ze()|0;n=h[e>>2]|0;if(n){if((h[a>>2]|0)!=(n|0))h[a>>2]=n;zv(n)}zv(l);break e}}while(0);if(!n){v=w;return l|0}if((h[m>>2]|0)!=(n|0))h[m>>2]=n;zv(n);v=w;return l|0}else k=52}else k=52}while(0);if((k|0)==52)f=Ze()|0;n=h[_>>2]|0;if(!n)si(f|0);if((h[m>>2]|0)!=(n|0))h[m>>2]=n;zv(n);si(f|0);return 0}function ov(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;m=v;v=v+32|0;k=m+28|0;g=m+16|0;_=m+4|0;w=m;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;d=Xv(5)|0;h[g>>2]=d;b=g+8|0;h[b>>2]=d+5;c[d>>0]=74;c[d+1>>0]=70;c[d+2>>0]=73;c[d+3>>0]=70;c[d+4>>0]=0;h[y>>2]=d+5;T=0;ve(84,g|0,h[e>>2]&65535|0);d=T;T=0;e:do{if(!(d&1)){o=h[e+4>>2]&255;i=h[y>>2]|0;t=h[b>>2]|0;if(i>>>0>=t>>>0){n=h[g>>2]|0;f=n;a=i-f+1|0;if((a|0)<0){T=0;pe(178,g|0);d=T;T=0;if(d&1){p=43;break}f=h[g>>2]|0;t=h[b>>2]|0;n=f}s=n;i=t-s|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?a:i;t=h[y>>2]|0;l=t-s|0;if(!i){i=0;a=0}else p=10}else{l=h[y>>2]|0;i=2147483647;t=l;l=l-s|0;p=10}if((p|0)==10){T=0;a=ye(67,i|0)|0;d=T;T=0;if(d&1){p=43;break}}c[a+l>>0]=o;u=t-s|0;d=a+(l-u)|0;Im(d|0,n|0,u|0)|0;h[g>>2]=d;h[y>>2]=a+(l+1);h[b>>2]=a+i;if(f)zv(f)}else{c[i>>0]=o;h[y>>2]=(h[y>>2]|0)+1}T=0;ve(84,g|0,h[e+8>>2]&65535|0);d=T;T=0;if(!(d&1)?(T=0,ve(84,g|0,h[e+12>>2]&65535|0),d=T,T=0,!(d&1)):0){d=e+16|0;u=h[d>>2]&255;i=h[y>>2]|0;n=h[b>>2]|0;if(i>>>0>=n>>>0){f=h[g>>2]|0;t=f;a=i-t+1|0;if((a|0)<0){T=0;pe(178,g|0);o=T;T=0;if(o&1){p=43;break}f=h[g>>2]|0;t=f;n=h[b>>2]|0}o=f;i=n-o|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?a:i;a=h[y>>2]|0;l=a-o|0;if(!i){s=0;n=0}else p=23}else{l=h[y>>2]|0;i=2147483647;a=l;l=l-o|0;p=23}if((p|0)==23){T=0;n=ye(67,i|0)|0;s=T;T=0;if(s&1){p=43;break}else s=i}c[n+l>>0]=u;i=n+(l+1)|0;o=a-o|0;u=n+(l-o)|0;Im(u|0,f|0,o|0)|0;h[g>>2]=u;h[y>>2]=i;h[b>>2]=n+s;if(t){zv(t);i=h[y>>2]|0}}else{c[i>>0]=u;i=(h[y>>2]|0)+1|0;h[y>>2]=i}u=e+20|0;o=h[u>>2]&255;t=h[b>>2]|0;if(i>>>0>=t>>>0){n=h[g>>2]|0;f=n;a=i-f+1|0;if((a|0)<0){T=0;pe(178,g|0);s=T;T=0;if(s&1){p=43;break}f=h[g>>2]|0;t=h[b>>2]|0;n=f}s=n;i=t-s|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?a:i;t=h[y>>2]|0;l=t-s|0;if(!i){i=0;a=0}else p=34}else{l=h[y>>2]|0;i=2147483647;t=l;l=l-s|0;p=34}if((p|0)==34){T=0;a=ye(67,i|0)|0;E=T;T=0;if(E&1){p=43;break}}c[a+l>>0]=o;o=t-s|0;E=a+(l-o)|0;Im(E|0,n|0,o|0)|0;h[g>>2]=E;h[y>>2]=a+(l+1);h[b>>2]=a+i;if(f)zv(f)}else{c[i>>0]=o;h[y>>2]=(h[y>>2]|0)+1}i=h[d>>2]|0;do{if((i|0)>0){if(!(h[e+24>>2]|0)){h[w>>2]=h[y>>2];E=0+(ce(i*3|0,h[u>>2]|0)|0)|0;T=0;h[k>>2]=h[w>>2];De(15,g|0,k|0,0,E|0)|0;E=T;T=0;if(E&1){p=43;break e}else break}t=Je(16)|0;T=0;xe(5,_|0,50792,57);E=T;T=0;if(!(E&1)){T=0;i=Ce(1)|0;E=T;T=0;if(!(E&1)?(T=0,Fe(36,t|0,1,i|0,_|0),E=T,T=0,!(E&1)):0){T=0;xe(6,t|0,824,96);T=0;r=0}else r=1;i=Ze()|0;qd(_);if(!r){r=i;break e}}else i=Ze()|0;We(t|0);r=i;break e}}while(0);T=0;l=ye(67,20)|0;E=T;T=0;if(!(E&1)){h[l>>2]=36800;c[l+4>>0]=-32;f=l+8|0;h[f>>2]=0;a=l+12|0;h[a>>2]=0;t=l+16|0;h[t>>2]=0;i=h[y>>2]|0;E=h[g>>2]|0;n=i-E|0;do{if((i|0)!=(E|0)){if(!((n|0)<0?(T=0,pe(178,f|0),E=T,T=0,E&1):0))p=53;if((p|0)==53?(T=0,r=ye(67,n|0)|0,E=T,T=0,!(E&1)):0){h[a>>2]=r;h[f>>2]=r;h[t>>2]=r+n;i=h[g>>2]|0;t=h[y>>2]|0;if((i|0)==(t|0))break;do{c[r>>0]=c[i>>0]|0;r=(h[a>>2]|0)+1|0;h[a>>2]=r;i=i+1|0}while((i|0)!=(t|0));i=h[g>>2]|0;break}i=Ze()|0;r=h[f>>2]|0;if(r){if((h[a>>2]|0)!=(r|0))h[a>>2]=r;zv(r)}zv(l);p=44;break e}}while(0);if(!i){v=m;return l|0}if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);v=m;return l|0}else p=43}else p=43}else p=43}while(0);if((p|0)==43){i=Ze()|0;p=44}if((p|0)==44)r=i;i=h[g>>2]|0;if(!i)si(r|0);if((h[y>>2]|0)!=(i|0))h[y>>2]=i;zv(i);si(r|0);return 0}function uv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;l=v;v=v+16|0;o=l;h[o>>2]=0;u=o+4|0;h[u>>2]=0;h[o+8>>2]=0;T=0;i=ye(67,1)|0;a=T;T=0;e:do{if((((((!(a&1)?(a=i+1|0,c[i>>0]=1,h[o>>2]=i,h[u>>2]=a,h[o+8>>2]=a,T=0,ve(84,o|0,h[e>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,ve(84,o|0,h[e+4>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,ve(84,o|0,h[e+8>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,ve(84,o|0,h[e+12>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,ve(84,o|0,h[e+16>>2]&65535|0),a=T,T=0,!(a&1)):0)?(T=0,s=ye(67,20)|0,a=T,T=0,!(a&1)):0){h[s>>2]=36800;c[s+4>>0]=-8;n=s+8|0;h[n>>2]=0;a=s+12|0;h[a>>2]=0;e=s+16|0;h[e>>2]=0;i=h[u>>2]|0;d=h[o>>2]|0;t=i-d|0;do{if((i|0)!=(d|0)){if(!((t|0)<0?(T=0,pe(178,n|0),d=T,T=0,d&1):0))f=11;if((f|0)==11?(T=0,r=ye(67,t|0)|0,d=T,T=0,!(d&1)):0){h[a>>2]=r;h[n>>2]=r;h[e>>2]=r+t;i=h[o>>2]|0;e=h[u>>2]|0;if((i|0)==(e|0))break;do{c[r>>0]=c[i>>0]|0;r=(h[a>>2]|0)+1|0;h[a>>2]=r;i=i+1|0}while((i|0)!=(e|0));i=h[o>>2]|0;break}r=Ze()|0;i=h[n>>2]|0;if(i){if((h[a>>2]|0)!=(i|0))h[a>>2]=i;zv(i)}zv(s);break e}}while(0);if(!i){v=l;return s|0}if((h[u>>2]|0)!=(i|0))h[u>>2]=i;zv(i);v=l;return s|0}else f=25}while(0);if((f|0)==25)r=Ze()|0;i=h[o>>2]|0;if(!i)si(r|0);if((h[u>>2]|0)!=(i|0))h[u>>2]=i;zv(i);si(r|0);return 0}function cv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;f=Xv(5)|0;c[f>>0]=109;c[f+1>>0]=114;c[f+2>>0]=102;c[f+3>>0]=120;c[f+4>>0]=e;T=0;n=ye(67,20)|0;t=T;T=0;if(t&1){n=Ze()|0;zv(f);si(n|0)}h[n>>2]=36800;c[n+4>>0]=-24;e=n+8|0;h[e>>2]=0;i=n+12|0;h[i>>2]=0;r=n+16|0;h[r>>2]=0;T=0;t=ye(67,5)|0;a=T;T=0;if(!(a&1)){h[i>>2]=t;h[e>>2]=t;h[r>>2]=t+5;c[t>>0]=109;a=(h[i>>2]|0)+1|0;h[i>>2]=a;t=f+1|0;c[a>>0]=c[t>>0]|0;a=(h[i>>2]|0)+1|0;h[i>>2]=a;t=t+1|0;c[a>>0]=c[t>>0]|0;a=(h[i>>2]|0)+1|0;h[i>>2]=a;t=t+1|0;c[a>>0]=c[t>>0]|0;a=(h[i>>2]|0)+1|0;h[i>>2]=a;c[a>>0]=c[t+1>>0]|0;h[i>>2]=(h[i>>2]|0)+1;zv(f);return n|0}a=Ze()|0;zv(n);zv(f);si(a|0);return 0}function dv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;p=v;v=v+16|0;g=p;h[g>>2]=0;y=g+4|0;h[y>>2]=0;h[g+8>>2]=0;_=g+8|0;T=0;n=ye(67,1)|0;w=T;T=0;e:do{if(!(w&1)){l=n+1|0;w=l;c[n>>0]=i;h[g>>2]=n;h[y>>2]=w;h[_>>2]=w;if((i|0)>0){a=l;w=0;do{k=w+e&255;if(a>>>0>=l>>>0){n=h[g>>2]|0;s=n;a=a-s+1|0;if((a|0)<0){T=0;pe(178,g|0);b=T;T=0;if(b&1){m=28;break}s=h[g>>2]|0;l=h[_>>2]|0;b=s}else b=n;d=b;n=l-d|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?a:n;l=h[y>>2]|0;o=l-d|0;if(!n){u=0;a=0}else m=13}else{o=h[y>>2]|0;n=2147483647;l=o;o=o-d|0;m=13}if((m|0)==13){m=0;T=0;a=ye(67,n|0)|0;u=T;T=0;if(u&1){m=28;break}else u=n}c[a+o>>0]=k;n=a+(o+1)|0;d=l-d|0;k=a+(o-d)|0;Im(k|0,b|0,d|0)|0;h[g>>2]=k;h[y>>2]=n;h[_>>2]=a+u;if(s){zv(s);n=h[y>>2]|0}}else{c[a>>0]=k;n=(h[y>>2]|0)+1|0;h[y>>2]=n}l=h[_>>2]|0;if(n>>>0>=l>>>0){s=h[g>>2]|0;a=s;o=n-a+1|0;if((o|0)<0){T=0;pe(178,g|0);k=T;T=0;if(k&1){m=28;break}s=h[g>>2]|0;a=s;l=h[_>>2]|0}d=s;n=l-d|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?o:n;o=h[y>>2]|0;l=o-d|0;if(!n){n=0;u=0}else m=24}else{l=h[y>>2]|0;n=2147483647;o=l;l=l-d|0;m=24}if((m|0)==24){m=0;T=0;u=ye(67,n|0)|0;k=T;T=0;if(k&1){m=28;break}}c[u+l>>0]=0;b=o-d|0;k=u+(l-b)|0;Im(k|0,s|0,b|0)|0;h[g>>2]=k;h[y>>2]=u+(l+1);h[_>>2]=u+n;if(a)zv(a)}else{c[n>>0]=0;h[y>>2]=(h[y>>2]|0)+1}w=w+1|0;a=h[y>>2]|0;l=h[_>>2]|0}while((w|0)<(i|0));if((m|0)==28){f=Ze()|0;break}n=r&255;if(a>>>0>>0){c[a>>0]=n;a=(h[y>>2]|0)+1|0;h[y>>2]=a}else m=37}else{a=l;n=r&255;m=37}if((m|0)==37){s=h[g>>2]|0;o=s;u=a-o+1|0;if((u|0)<0){T=0;pe(178,g|0);r=T;T=0;if(r&1){m=29;break}o=h[g>>2]|0;l=h[_>>2]|0;s=o}k=s;a=l-k|0;if(a>>>0<1073741823){a=a<<1;a=a>>>0>>0?u:a;u=h[y>>2]|0;d=u-k|0;if(!a){b=0;l=0}else m=43}else{d=h[y>>2]|0;a=2147483647;u=d;d=d-k|0;m=43}if((m|0)==43){T=0;l=ye(67,a|0)|0;r=T;T=0;if(r&1){m=29;break}else b=a}c[l+d>>0]=n;a=l+(d+1)|0;e=u-k|0;r=l+(d-e)|0;Im(r|0,s|0,e|0)|0;h[g>>2]=r;h[y>>2]=a;h[_>>2]=l+b;if(o){zv(o);a=h[y>>2]|0}}k=t&255;n=h[_>>2]|0;if(a>>>0>=n>>>0){l=h[g>>2]|0;s=l;a=a-s+1|0;if((a|0)<0){T=0;pe(178,g|0);t=T;T=0;if(t&1){m=29;break}s=h[g>>2]|0;n=h[_>>2]|0;l=s}b=l;n=n-b|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?a:n;o=h[y>>2]|0;u=o-b|0;if(!n){d=0;a=0}else m=54}else{u=h[y>>2]|0;n=2147483647;o=u;u=u-b|0;m=54}if((m|0)==54){T=0;a=ye(67,n|0)|0;t=T;T=0;if(t&1){m=29;break}else d=n}c[a+u>>0]=k;n=a+(u+1)|0;r=o-b|0;t=a+(u-r)|0;Im(t|0,l|0,r|0)|0;h[g>>2]=t;h[y>>2]=n;h[_>>2]=a+d;if(s){zv(s);n=h[y>>2]|0}}else{c[a>>0]=k;n=(h[y>>2]|0)+1|0;h[y>>2]=n}a=h[_>>2]|0;if(n>>>0>=a>>>0){l=h[g>>2]|0;s=l;o=n-s+1|0;if((o|0)<0){T=0;pe(178,g|0);t=T;T=0;if(t&1){m=29;break}s=h[g>>2]|0;a=h[_>>2]|0;l=s}d=l;n=a-d|0;if(n>>>0<1073741823){n=n<<1;n=n>>>0>>0?o:n;a=h[y>>2]|0;u=a-d|0;if(!n){n=0;o=0}else m=65}else{u=h[y>>2]|0;n=2147483647;a=u;u=u-d|0;m=65}if((m|0)==65){T=0;o=ye(67,n|0)|0;t=T;T=0;if(t&1){m=29;break}}c[o+u>>0]=0;r=a-d|0;t=o+(u-r)|0;Im(t|0,l|0,r|0)|0;h[g>>2]=t;h[y>>2]=o+(u+1);h[_>>2]=o+n;if(s)zv(s)}else{c[n>>0]=0;h[y>>2]=(h[y>>2]|0)+1}T=0;u=ye(67,20)|0;_=T;T=0;if(!(_&1)){h[u>>2]=36800;c[u+4>>0]=-38;s=u+8|0;h[s>>2]=0;o=u+12|0;h[o>>2]=0;a=u+16|0;h[a>>2]=0;n=h[y>>2]|0;_=h[g>>2]|0;l=n-_|0;do{if((n|0)!=(_|0)){if(!((l|0)<0?(T=0,pe(178,s|0),_=T,T=0,_&1):0))m=72;if((m|0)==72?(T=0,f=ye(67,l|0)|0,_=T,T=0,!(_&1)):0){h[o>>2]=f;h[s>>2]=f;h[a>>2]=f+l;n=h[g>>2]|0;a=h[y>>2]|0;if((n|0)==(a|0))break;do{c[f>>0]=c[n>>0]|0;f=(h[o>>2]|0)+1|0;h[o>>2]=f;n=n+1|0}while((n|0)!=(a|0));n=h[g>>2]|0;break}f=Ze()|0;n=h[s>>2]|0;if(n){if((h[o>>2]|0)!=(n|0))h[o>>2]=n;zv(n)}zv(u);break e}}while(0);if(!n){v=p;return u|0}if((h[y>>2]|0)!=(n|0))h[y>>2]=n;zv(n);v=p;return u|0}else m=29}else m=29}while(0);if((m|0)==29)f=Ze()|0;n=h[g>>2]|0;if(!n)si(f|0);if((h[y>>2]|0)!=(n|0))h[y>>2]=n;zv(n);si(f|0);return 0}function hv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;d=(i&65535)>>>8&255;b=e+4|0;r=h[b>>2]|0;k=e+8|0;t=h[k>>2]|0;if(r>>>0>=t>>>0){n=h[e>>2]|0;f=n;a=r-f+1|0;if((a|0)<0){Yv(e);f=h[e>>2]|0;t=h[k>>2]|0;n=f}u=n;r=t-u|0;if(r>>>0<1073741823){r=r<<1;r=r>>>0>>0?a:r;a=h[b>>2]|0;t=a-u|0;if(!r){o=0;s=0;l=t;r=a}else w=8}else{t=h[b>>2]|0;r=2147483647;a=t;t=t-u|0;w=8}if((w|0)==8){o=r;s=Xv(r)|0;l=t;r=a}c[s+l>>0]=d;t=s+(l+1)|0;u=r-u|0;d=s+(l-u)|0;Im(d|0,n|0,u|0)|0;h[e>>2]=d;h[b>>2]=t;h[k>>2]=s+o;if(f){zv(f);t=h[b>>2]|0}}else{c[r>>0]=d;t=(h[b>>2]|0)+1|0;h[b>>2]=t}u=i&255;r=h[k>>2]|0;if(t>>>0>>0){c[t>>0]=u;h[b>>2]=(h[b>>2]|0)+1;return}n=h[e>>2]|0;f=n;t=t-f+1|0;if((t|0)<0){Yv(e);f=h[e>>2]|0;r=h[k>>2]|0;n=f}o=n;r=r-o|0;if(r>>>0<1073741823){r=r<<1;r=r>>>0>>0?t:r;a=h[b>>2]|0;t=a-o|0;if(!r){s=0;l=0;r=a}else w=18}else{t=h[b>>2]|0;r=2147483647;a=t;t=t-o|0;w=18}if((w|0)==18){s=r;l=Xv(r)|0;r=a}c[l+t>>0]=u;i=r-o|0;w=l+(t-i)|0;Im(w|0,n|0,i|0)|0;h[e>>2]=w;h[b>>2]=l+(t+1);h[k>>2]=l+s;if(!f)return;zv(f);return}function bv(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;n=h[e>>2]|0;w=h[i>>2]|0;k=w;s=n;d=r;o=t-d|0;if((o|0)<=0){_=w;return _|0}b=e+8|0;i=h[b>>2]|0;_=e+4|0;u=h[_>>2]|0;f=u;if((o|0)<=(i-f|0)){l=f-k|0;if((o|0)>(l|0)){a=r+l|0;if((a|0)==(t|0))i=u;else{f=a;i=u;do{c[i>>0]=c[f>>0]|0;i=(h[_>>2]|0)+1|0;h[_>>2]=i;f=f+1|0}while((f|0)!=(t|0))}if((l|0)>0)l=i;else{_=w;return _|0}}else{l=u;a=t}n=l-(n+(o-s+k))|0;i=w+n|0;if(i>>>0>>0){f=l;do{c[f>>0]=c[i>>0]|0;i=i+1|0;f=(h[_>>2]|0)+1|0;h[_>>2]=f}while((i|0)!=(u|0))}Nm(l+(0-n)|0,w|0,n|0)|0;Nm(w|0,r|0,a-d|0)|0;_=w;return _|0}f=f-s+o|0;if((f|0)<0){Yv(e);i=h[b>>2]|0;n=h[e>>2]|0}a=n;i=i-a|0;if(i>>>0<1073741823){i=i<<1;i=i>>>0>>0?f:i;f=k-a|0;if(!i){a=0;o=0}else l=15}else{i=2147483647;f=k-a|0;l=15}if((l|0)==15){a=i;o=Xv(i)|0}s=o+f|0;i=s;l=o+a|0;if((r|0)!=(t|0)){n=r;a=s;do{c[a>>0]=c[n>>0]|0;a=i+1|0;i=a;n=n+1|0}while((n|0)!=(t|0));n=h[e>>2]|0}r=k-n|0;t=o+(f-r)|0;Im(t|0,n|0,r|0)|0;k=(h[_>>2]|0)-k|0;r=i;Im(r|0,w|0,k|0)|0;i=h[e>>2]|0;h[e>>2]=t;h[_>>2]=r+k;h[b>>2]=l;if(!i){_=s;return _|0}zv(i);_=s;return _|0}function kv(e){e=e|0;var i=0;h[e>>2]=36800;i=h[e+8>>2]|0;if(!i)return;e=e+12|0;if((h[e>>2]|0)!=(i|0))h[e>>2]=i;zv(i);return}function wv(e){e=e|0;var i=0,r=0;h[e>>2]=36800;i=h[e+8>>2]|0;if(!i){zv(e);return}r=e+12|0;if((h[r>>2]|0)!=(i|0))h[r>>2]=i;zv(i);zv(e);return}function _v(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;mv(i,-1);mv(i,c[e+4>>0]|0);n=e+12|0;t=e+8|0;e=(h[n>>2]|0)-(h[t>>2]|0)+2|0;mv(i,(e&65535)>>>8&255);mv(i,e&255);e=h[t>>2]|0;if((h[n>>2]|0)==(e|0))return;else r=0;do{mv(i,c[e+r>>0]|0);r=r+1|0;e=h[t>>2]|0}while(r>>>0<((h[n>>2]|0)-e|0)>>>0);return}function mv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;n=h[e+4>>2]|0;if(n){r=n+24|0;t=h[r>>2]|0;if((t|0)==(h[n+28>>2]|0)){ME[h[(h[n>>2]|0)+52>>2]&63](n,i&255)|0;return}else{h[r>>2]=t+1;c[t>>0]=i;return}}r=e+16|0;t=h[r>>2]|0;if(t>>>0<(h[e+12>>2]|0)>>>0){h[r>>2]=t+1;c[(h[e+8>>2]|0)+t>>0]=i;return}r=Je(16)|0;T=0;t=Ce(1)|0;i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}T=0;xe(7,r|0,4,t|0);i=T;T=0;if(i&1){i=Ze()|0;We(r|0);si(i|0)}else Ei(r|0,824,96)}function pv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;n=(i|0)<4095?(i+128|0)/256|0:16;f=(r*3|0)+2+n|0;t=r+1|0;f=(f|0)<(t|0)|(f|0)>(i|0)?t:f;h[e+4>>2]=f;t=(n<<2|3)+(r*5|0)|0;t=(t|0)>(i|0)|(t|0)<(f|0)?f:t;h[e+8>>2]=t;r=(r*7|0)+4+(n*17|0)|0;h[e+12>>2]=(r|0)>(i|0)|(r|0)<(t|0)?t:r;h[e>>2]=i;h[e+16>>2]=64;return}function vv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+128|0;l=o+100|0;t=o+16|0;r=o+112|0;s=o+4|0;u=o;n=t;f=e+20|0;a=n+84|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));h[t+16>>2]=h[e+4>>2];f=fr(r,t,e+56|0)|0;r=h[(h[f>>2]|0)+16>>2]|0;e=e+8|0;T=0;h[l>>2]=h[e>>2];h[l+4>>2]=h[e+4>>2];h[l+8>>2]=h[e+8>>2];r=Oe(r|0,f|0,l|0)|0;e=T;T=0;do{if(e&1)r=Ze()|0;else{n=i+4|0;h[s>>2]=h[n>>2];h[s+4>>2]=h[n+4>>2];h[s+8>>2]=h[n+8>>2];n=i+16|0;e=h[n>>2]|0;l=s+8|0;h[l>>2]=(h[l>>2]|0)-e;l=s+4|0;h[l>>2]=(h[l>>2]|0)+e;l=h[(h[f>>2]|0)+12>>2]|0;h[u>>2]=r;T=0;r=De(l|0,f|0,u|0,s|0,((c[i>>0]|0)==0?0:(h[i+8>>2]|0)+e|0)|0)|0;s=T;T=0;if(s&1){r=Ze()|0;t=h[u>>2]|0;h[u>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}t=h[u>>2]|0;h[u>>2]=0;if(t)kE[h[(h[t>>2]|0)+4>>2]&255](t);if(!(h[i+4>>2]|0))h[n>>2]=(h[n>>2]|0)+r;if(!f){v=o;return}kE[h[(h[f>>2]|0)+4>>2]&255](f);v=o;return}}while(0);if(!f)si(r|0);kE[h[(h[f>>2]|0)+4>>2]&255](f);si(r|0)}function gv(e,i){e=e|0;i=i|0;h[e>>2]=h[i>>2];h[e+4>>2]=h[i+4>>2];h[e+8>>2]=h[i+8>>2];c[e+12>>0]=0;i=e+16|0;e=i+100|0;do{h[i>>2]=0;i=i+4|0}while((i|0)<(e|0));return}function yv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;p=v;v=v+32|0;m=p+4|0;b=p+16|0;g=p;Ev(e);k=e+16|0;n=h[e+24>>2]|0;e:do{if((n+-2|0)>>>0<=14){w=e+40|0;r=h[w>>2]|0;if(r>>>0>2)r=5;else{_=e+32|0;f=h[_>>2]|0;switch(f|0){case 0:{r=1;break e}case 4:{if((r|0)==2){r=2;break e}break}case 3:break;default:if(r){r=2;break e}}d=e+100|0;r=e+108|0;t=h[r>>2]|0;if((t|0)<1){t=h[k>>2]|0;h[r>>2]=t;r=h[e+20>>2]|0;h[e+112>>2]=r}else r=h[e+112>>2]|0;s=qm(r|0,((r|0)<0)<<31>>31|0,t|0,((t|0)<0)<<31>>31|0)|0;l=(n+7|0)/8|0;l=qm(s|0,H|0,l|0,((l|0)<0)<<31>>31|0)|0;s=i+4|0;r=h[s>>2]|0;a=i+8|0;if((r|0)!=0?(o=h[a>>2]|0,u=qm(f|0,((f|0)<0)<<31>>31|0,l|0,H|0)|0,n=H,0<(n|0)|0==(n|0)&o>>>0>>0):0){r=Je(16)|0;T=0;t=Ce(1)|0;g=T;T=0;if(!(g&1)?(T=0,xe(7,r|0,3,t|0),g=T,T=0,!(g&1)):0)Ei(r|0,824,96);g=Ze()|0;We(r|0);si(g|0)}o=e+52|0;u=e+12|0;if((f|0)>0)f=0;else{v=p;return}while(1){Av(e,(f|0)==0);t=tr(b,k,o)|0;n=h[(h[t>>2]|0)+8>>2]|0;T=0;h[m>>2]=h[i>>2];h[m+4>>2]=h[i+4>>2];h[m+8>>2]=h[i+8>>2];n=Oe(n|0,t|0,m|0)|0;y=T;T=0;if(y&1){n=32;break}y=h[(h[t>>2]|0)+16>>2]|0;h[g>>2]=n;T=0;_e(y|0,t|0,g|0,d|0,e|0,(c[u>>0]|0)!=0|0);y=T;T=0;if(y&1){n=30;break}n=h[g>>2]|0;h[g>>2]=0;if(n)kE[h[(h[n>>2]|0)+4>>2]&255](n);if(!r)r=0;else{r=r+l|0;h[s>>2]=r;h[a>>2]=(h[a>>2]|0)-l}n=(h[w>>2]|0)==0;f=(n&1)+f|0;if(t)kE[h[(h[t>>2]|0)+4>>2]&255](t);if(!n){n=34;break}if((f|0)>=(h[_>>2]|0)){n=34;break}}if((n|0)==30){r=Ze()|0;n=h[g>>2]|0;h[g>>2]=0;if(n)kE[h[(h[n>>2]|0)+4>>2]&255](n)}else if((n|0)==32){r=Ze()|0;if(!t){y=r;si(y|0)}}else if((n|0)==34){v=p;return}kE[h[(h[t>>2]|0)+4>>2]&255](t);y=r;si(y|0)}}else r=2}while(0);t=Je(16)|0;T=0;n=Ce(1)|0;y=T;T=0;if(!(y&1)?(T=0,xe(7,t|0,r|0,n|0),y=T,T=0,!(y&1)):0)Ei(t|0,824,96);y=Ze()|0;We(t|0);si(y|0)}function Ev(e){e=e|0;var i=0,r=0,t=0,n=0;if((Sv(e)|0)<<24>>24!=-40){i=Je(16)|0;T=0;r=Ce(1)|0;n=T;T=0;if(!(n&1)?(T=0,xe(7,i|0,5,r|0),n=T,T=0,!(n&1)):0)Ei(i|0,824,96);n=Ze()|0;We(i|0);si(n|0)}i=Sv(e)|0;if(i<<24>>24==-38)return;while(1){t=((Tv(e)|0)&255)<<8;t=t|(Tv(e)|0)&255;i=Pv(e,i)|0;r=-2-i+t|0;if((r|0)<0)break;if((r|0)>0){i=t+-2-i|0;r=0;do{Tv(e)|0;r=r+1|0}while((r|0)!=(i|0))}i=Sv(e)|0;if(i<<24>>24==-38){n=8;break}}if((n|0)==8)return;i=Je(16)|0;T=0;r=Ce(1)|0;n=T;T=0;if(!(n&1)?(T=0,xe(7,i|0,5,r|0),n=T,T=0,!(n&1)):0)Ei(i|0,824,96);n=Ze()|0;We(i|0);si(n|0)}function Av(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;if(!i){if((Tv(e)|0)<<24>>24!=-1){i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,12,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}if((Tv(e)|0)<<24>>24!=-38){i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,5,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}}Tv(e)|0;Tv(e)|0;r=Tv(e)|0;t=r&255;do{if(r<<24>>24==1){Tv(e)|0;r=0;n=20}else{if((t|0)==(h[e+32>>2]|0)){i=Tv(e)|0;if(!(r<<24>>24))break;else{r=0;n=20;break}}i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,2,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}}while(0);if((n|0)==20)while(1){Tv(e)|0;r=r+1|0;i=Tv(e)|0;if((r|0)==(t|0))break;else n=20}h[e+36>>2]=i&255;n=Tv(e)|0;r=e+40|0;h[r>>2]=n&255;if((n&255)>=3){i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,5,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}if((Tv(e)|0)<<24>>24){i=Je(16)|0;T=0;r=Ce(1)|0;e=T;T=0;if(!(e&1)?(T=0,xe(7,i|0,5,r|0),e=T,T=0,!(e&1)):0)Ei(i|0,824,96);e=Ze()|0;We(i|0);si(e|0)}t=e+28|0;if(h[t>>2]|0)return;i=h[e+108>>2]|0;if(!i)i=h[e+16>>2]|0;if(!(h[r>>2]|0))r=1;else r=h[e+32>>2]|0;n=ce(r,i)|0;e=ce(n,((h[e+24>>2]|0)+7|0)/8|0)|0;h[t>>2]=e;return}function Mv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;if((r|0)<=0)return;d=i+4|0;b=i+8|0;w=0;do{k=Tv(e)|0;t=h[d>>2]|0;n=h[b>>2]|0;if(t>>>0>=n>>>0){f=h[i>>2]|0;a=f;l=t-a+1|0;if((l|0)<0){Yv(i);a=h[i>>2]|0;n=h[b>>2]|0;f=a}u=f;t=n-u|0;if(t>>>0<1073741823){t=t<<1;t=t>>>0>>0?l:t;l=h[d>>2]|0;n=l-u|0;if(!t){o=0;s=0;t=l}else _=10}else{n=h[d>>2]|0;t=2147483647;l=n;n=n-u|0;_=10}if((_|0)==10){_=0;o=t;s=Xv(t)|0;t=l}c[s+n>>0]=k;u=t-u|0;k=s+(n-u)|0;Im(k|0,f|0,u|0)|0;h[i>>2]=k;h[d>>2]=s+(n+1);h[b>>2]=s+o;if(a)zv(a)}else{c[t>>0]=k;h[d>>2]=(h[d>>2]|0)+1}w=w+1|0}while((w|0)!=(r|0));return}function Tv(e){e=e|0;var i=0,r=0,t=0,n=0;r=h[e>>2]|0;if(r){e=r+12|0;i=h[e>>2]|0;if((i|0)==(h[r+16>>2]|0))e=mE[h[(h[r>>2]|0)+40>>2]&127](r)|0;else{h[e>>2]=i+1;e=b[i>>0]|0}n=e&255;return n|0}t=e+8|0;n=h[t>>2]|0;if(n){e=e+4|0;i=h[e>>2]|0;r=c[i>>0]|0;if(!i){n=r;return n|0}h[e>>2]=i+1;h[t>>2]=n+-1;n=r;return n|0}e=Je(16)|0;T=0;i=Ce(1)|0;n=T;T=0;if(n&1){n=Ze()|0;We(e|0);si(n|0)}T=0;xe(7,e|0,4,i|0);n=T;T=0;if(n&1){n=Ze()|0;We(e|0);si(n|0)}else Ei(e|0,824,96);return 0}function Sv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0;r=v;v=v+176|0;i=r+152|0;s=r+16|0;a=r;l=Tv(e)|0;t=l&255;if(l<<24>>24==-1){do{i=Tv(e)|0}while(i<<24>>24==-1);v=r;return i|0}l=s+56|0;f=s+4|0;h[s>>2]=36160;h[l>>2]=36180;T=0;ve(62,s+56|0,f|0);n=T;T=0;if(n&1){s=Ze()|0;bh(l);si(s|0)}h[s+128>>2]=0;h[s+132>>2]=-1;h[s>>2]=36200;h[s+56>>2]=36220;T=0;pe(180,f|0);n=T;T=0;do{if(n&1)i=Ze()|0;else{h[f>>2]=36236;n=s+36|0;h[n>>2]=0;h[n+4>>2]=0;h[n+8>>2]=0;h[n+12>>2]=0;h[s+52>>2]=16;h[i>>2]=0;h[i+4>>2]=0;h[i+8>>2]=0;T=0;ve(63,f|0,i|0);r=T;T=0;if(r&1){s=Ze()|0;qd(i);qd(n);gh(f);i=s;break}qd(i);h[s+((h[(h[s>>2]|0)+-12>>2]|0)+76)>>2]=48;T=0;i=Ae(28,s|0,50907,62)|0;r=T;T=0;if(!(r&1)?(r=i+((h[(h[i>>2]|0)+-12>>2]|0)+4)|0,h[r>>2]=h[r>>2]&-75|8,r=i+((h[(h[i>>2]|0)+-12>>2]|0)+4)|0,h[r>>2]=h[r>>2]|16384,h[i+((h[(h[i>>2]|0)+-12>>2]|0)+12)>>2]=2,T=0,Oe(38,i|0,t|0)|0,t=T,T=0,!(t&1)):0){r=Je(16)|0;T=0;ve(64,a|0,f|0);t=T;T=0;if(!(t&1)){T=0;i=Ce(1)|0;t=T;T=0;if(!(t&1)?(T=0,Fe(36,r|0,12,i|0,a|0),t=T,T=0,!(t&1)):0){T=0;xe(6,r|0,824,96);T=0;e=0}else e=1;i=Ze()|0;qd(a);if(!e){a=i;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}}else i=Ze()|0;We(r|0);a=i;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}a=Ze()|0;h[s>>2]=36200;h[l>>2]=36220;h[f>>2]=36236;qd(n);gh(f);bh(l);si(a|0)}}while(0);s=i;bh(l);si(s|0);return 0}function Pv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;r=v;v=v+320|0;l=r+300|0;u=r+152|0;s=r+288|0;c=r+16|0;o=r;switch(i<<24>>24){case-9:{d=(Tv(e)|0)&255;h[e+24>>2]=d;d=((Tv(e)|0)&255)<<8|(Tv(e)|0)&255;c=((Tv(e)|0)&255)<<8|(Tv(e)|0)&255;h[e+16>>2]=c;h[e+20>>2]=d;d=(Tv(e)|0)&255;h[e+32>>2]=d;d=6;v=r;return d|0}case-8:{d=Ov(e)|0;v=r;return d|0}case-24:{d=Rv(e)|0;v=r;return d|0}case-53:case-54:case-55:case-57:case-58:case-59:case-61:case-62:case-63:case-64:{a=u+56|0;n=u+4|0;h[u>>2]=36160;h[a>>2]=36180;T=0;ve(62,u+56|0,n|0);c=T;T=0;if(c&1){d=Ze()|0;bh(a);si(d|0)}h[u+128>>2]=0;h[u+132>>2]=-1;h[u>>2]=36200;h[u+56>>2]=36220;T=0;pe(180,n|0);c=T;T=0;do{if(c&1)e=Ze()|0;else{h[n>>2]=36236;f=u+36|0;h[f>>2]=0;h[f+4>>2]=0;h[f+8>>2]=0;h[f+12>>2]=0;h[u+52>>2]=16;h[l>>2]=0;h[l+4>>2]=0;h[l+8>>2]=0;T=0;ve(63,n|0,l|0);c=T;T=0;if(c&1){e=Ze()|0;qd(l);qd(f);gh(n);break}qd(l);T=0;e=Ae(28,u|0,50970,26)|0;c=T;T=0;do{if((!(c&1)?(T=0,t=Oe(38,e|0,i&255|0)|0,c=T,T=0,!(c&1)):0)?(T=0,Ae(28,t|0,50997,18)|0,c=T,T=0,!(c&1)):0){t=Je(16)|0;T=0;ve(64,s|0,n|0);c=T;T=0;if(!(c&1)){T=0;e=Ce(1)|0;c=T;T=0;if(!(c&1)?(T=0,Fe(36,t|0,10,e|0,s|0),c=T,T=0,!(c&1)):0){T=0;xe(6,t|0,824,96);T=0;r=0}else r=1;e=Ze()|0;qd(s);if(!r)break}else e=Ze()|0;We(t|0)}else d=20}while(0);if((d|0)==20)e=Ze()|0;h[u>>2]=36200;h[a>>2]=36220;h[n>>2]=36236;qd(f);gh(n);bh(a);d=e;si(d|0)}}while(0);d=e;bh(a);si(d|0)}case-25:case-32:case-2:{d=0;v=r;return d|0}default:{s=c+56|0;f=c+4|0;h[c>>2]=36160;h[s>>2]=36180;T=0;ve(62,c+56|0,f|0);u=T;T=0;if(u&1){d=Ze()|0;bh(s);si(d|0)}h[c+128>>2]=0;h[c+132>>2]=-1;h[c>>2]=36200;h[c+56>>2]=36220;T=0;pe(180,f|0);u=T;T=0;do{if(u&1)e=Ze()|0;else{h[f>>2]=36236;a=c+36|0;h[a>>2]=0;h[a+4>>2]=0;h[a+8>>2]=0;h[a+12>>2]=0;h[c+52>>2]=16;h[l>>2]=0;h[l+4>>2]=0;h[l+8>>2]=0;T=0;ve(63,f|0,l|0);u=T;T=0;if(u&1){e=Ze()|0;qd(l);qd(a);gh(f);break}qd(l);T=0;e=Ae(28,c|0,51016,20)|0;u=T;T=0;do{if((!(u&1)?(T=0,n=Oe(38,e|0,i&255|0)|0,u=T,T=0,!(u&1)):0)?(T=0,Ae(28,n|0,51037,13)|0,u=T,T=0,!(u&1)):0){t=Je(16)|0;T=0;ve(64,o|0,f|0);u=T;T=0;if(!(u&1)){T=0;e=Ce(1)|0;u=T;T=0;if(!(u&1)?(T=0,Fe(36,t|0,11,e|0,o|0),u=T,T=0,!(u&1)):0){T=0;xe(6,t|0,824,96);T=0;r=0}else r=1;e=Ze()|0;qd(o);if(!r)break}else e=Ze()|0;We(t|0)}else d=40}while(0);if((d|0)==40)e=Ze()|0;h[c>>2]=36200;h[s>>2]=36220;h[f>>2]=36236;qd(a);gh(f);bh(s);d=e;si(d|0)}}while(0);d=e;bh(s);si(d|0)}}return 0}function Ov(e){e=e|0;var i=0;if((Tv(e)|0)<<24>>24!=1){e=1;return e|0}i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+52>>2]=i;i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+56>>2]=i;i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+60>>2]=i;i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+64>>2]=i;i=((Tv(e)|0)&255)<<8;i=i|(Tv(e)|0)&255;h[e+68>>2]=i;e=11;return e|0}function Rv(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;r=v;v=v+16|0;n=r;h[n>>2]=0;f=n+4|0;h[f>>2]=0;h[n+8>>2]=0;T=0;xe(9,e|0,n|0,4);i=T;T=0;e:do{if(i&1)t=3;else{i=h[n>>2]|0;i:do{if(!(tE(i,51051,4)|0)){T=0;i=ye(69,e|0)|0;a=T;T=0;if(a&1){t=3;break e}i=i&255;switch(i|0){case 3:case 2:case 1:case 0:{h[e+44>>2]=i;e=5;i=h[n>>2]|0;break i}case 5:case 4:{i=Je(16)|0;T=0;e=Ce(1)|0;a=T;T=0;if(!(a&1)?(T=0,xe(7,i|0,7,e|0),a=T,T=0,!(a&1)):0){T=0;xe(6,i|0,824,96);T=0;t=3;break e}e=Ze()|0;We(i|0);break e}default:{i=Je(16)|0;T=0;e=Ce(1)|0;a=T;T=0;if(!(a&1)?(T=0,xe(7,i|0,5,e|0),a=T,T=0,!(a&1)):0){T=0;xe(6,i|0,824,96);T=0;t=3;break e}e=Ze()|0;We(i|0);break e}}}else e=4}while(0);if(!i){v=r;return e|0}if((h[f>>2]|0)!=(i|0))h[f>>2]=i;zv(i);v=r;return e|0}}while(0);if((t|0)==3)e=Ze()|0;i=h[n>>2]|0;if(!i)si(e|0);if((h[f>>2]|0)!=(i|0))h[f>>2]=i;zv(i);si(e|0);return 0}function Lv(e){e=e|0;var i=0,r=0,t=0;t=h[(h[e>>2]|0)+-12>>2]|0;h[e+t>>2]=36200;i=e+(t+56)|0;h[i>>2]=36220;r=e+(t+4)|0;h[r>>2]=36236;qd(e+(t+36)|0);gh(r);bh(i);return}function Cv(e){e=e|0;return}function Dv(e){e=e|0;zv(e);return}function xv(e){e=e|0;c[e>>0]=0;e=e+4|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;h[e+16>>2]=0;h[e+20>>2]=0;h[e+24>>2]=0;h[e+28>>2]=0;return}function Iv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;n=v;v=v+16|0;f=n;i=cv(i)|0;h[f>>2]=i;r=e+28|0;t=h[r>>2]|0;if(t>>>0<(h[e+32>>2]|0)>>>0){h[t>>2]=i;h[r>>2]=t+4;h[f>>2]=0;v=n;return}T=0;ve(57,e+24|0,f|0);e=T;T=0;if(e&1){i=Ze()|0;r=h[f>>2]|0;h[f>>2]=0;if(!r)si(i|0);kE[h[(h[r>>2]|0)+4>>2]&255](r);si(i|0)}else{i=h[f>>2]|0;h[f>>2]=0;if(!i){v=n;return}kE[h[(h[i>>2]|0)+4>>2]&255](i);v=n;return}}function Bv(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;t=e+4|0;h[t>>2]=h[i>>2];h[t+4>>2]=h[i+4>>2];h[t+8>>2]=h[i+8>>2];mv(e,-1);mv(e,-40);t=e+28|0;n=e+24|0;i=h[n>>2]|0;if((h[t>>2]|0)==(i|0)){mv(e,-1);mv(e,-39);e=e+16|0;e=h[e>>2]|0;return e|0}else r=0;do{f=h[i+(r<<2)>>2]|0;wE[h[(h[f>>2]|0)+8>>2]&127](f,e);r=r+1|0;i=h[n>>2]|0}while(r>>>0<(h[t>>2]|0)-i>>2>>>0);mv(e,-1);mv(e,-39);f=e+16|0;f=h[f>>2]|0;return f|0}function Nv(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;c=v;v=v+48|0;l=c+32|0;n=c+12|0;s=c+8|0;u=c+4|0;d=c;t=r+36|0;do{if(((((h[t>>2]|0)==0?(h[r+40>>2]|0)==0:0)?(h[r+44>>2]|0)==0:0)?(h[r+48>>2]|0)==0:0)?(h[r+52>>2]|0)==0:0){t=h[r+8>>2]|0;if((t|0)<=12){f=e+28|0;a=e+32|0;break}pv(n,(1<>2]|0);t=uv(n)|0;h[s>>2]=t;f=e+28|0;n=h[f>>2]|0;a=e+32|0;if(n>>>0<(h[a>>2]|0)>>>0){h[n>>2]=t;h[f>>2]=n+4;h[s>>2]=0;break}T=0;ve(57,e+24|0,s|0);l=T;T=0;if(!(l&1)){t=h[s>>2]|0;h[s>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}r=Ze()|0;t=h[s>>2]|0;h[s>>2]=0;if(!t){d=r;si(d|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);d=r;si(d|0)}else o=6}while(0);do{if((o|0)==6){t=uv(t)|0;h[l>>2]=t;f=e+28|0;n=h[f>>2]|0;a=e+32|0;if(n>>>0<(h[a>>2]|0)>>>0){h[n>>2]=t;h[f>>2]=n+4;h[l>>2]=0;break}T=0;ve(57,e+24|0,l|0);o=T;T=0;if(!(o&1)){t=h[l>>2]|0;h[l>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}r=Ze()|0;t=h[l>>2]|0;h[l>>2]=0;if(!t){d=r;si(d|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);d=r;si(d|0)}}while(0);t=e+20|0;n=(h[t>>2]|0)+1|0;h[t>>2]=n;t=h[r+24>>2]|0;l=(t|0)==0?1:h[r+16>>2]|0;t=dv(n,l,h[r+20>>2]|0,t)|0;h[u>>2]=t;n=h[f>>2]|0;do{if(n>>>0<(h[a>>2]|0)>>>0){h[n>>2]=t;h[f>>2]=n+4;h[u>>2]=0}else{T=0;ve(57,e+24|0,u|0);o=T;T=0;if(!(o&1)){t=h[u>>2]|0;h[u>>2]=0;if(!t)break;kE[h[(h[t>>2]|0)+4>>2]&255](t);break}r=Ze()|0;t=h[u>>2]|0;h[u>>2]=0;if(!t){d=r;si(d|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);d=r;si(d|0)}}while(0);s=Xv(104)|0;h[s>>2]=36820;h[s+4>>2]=l;n=s+8|0;h[n>>2]=h[i>>2];h[n+4>>2]=h[i+4>>2];h[n+8>>2]=h[i+8>>2];n=s+20|0;t=n+84|0;do{h[n>>2]=h[r>>2];n=n+4|0;r=r+4|0}while((n|0)<(t|0));h[d>>2]=s;r=h[f>>2]|0;if(r>>>0<(h[a>>2]|0)>>>0){h[r>>2]=s;h[f>>2]=r+4;h[d>>2]=0;v=c;return}T=0;ve(57,e+24|0,d|0);e=T;T=0;if(e&1){r=Ze()|0;t=h[d>>2]|0;h[d>>2]=0;if(!t){d=r;si(d|0)}kE[h[(h[t>>2]|0)+4>>2]&255](t);d=r;si(d|0)}else{r=h[d>>2]|0;h[d>>2]=0;if(!r){v=c;return}kE[h[(h[r>>2]|0)+4>>2]&255](r);v=c;return}}function Fv(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;var d=0,b=0,k=0,w=0,_=0,m=0,p=0;k=v;v=v+96|0;b=k;d=Qi(e,i,b,0)|0;if(d){n=d;v=k;return n|0}c[b+32>>0]=0;_=h[b+8>>2]|0;p=h[b>>2]|0;m=h[b+4>>2]|0;d=ce(m,p)|0;w=h[b+16>>2]|0;d=ce(ce(d,(_|0)<9?1:2)|0,w)|0;h[t>>2]=d;d=jc(d)|0;h[r>>2]=d;h[n>>2]=p;h[f>>2]=m;h[a>>2]=_;h[l>>2]=h[b+12>>2];h[s>>2]=w;h[o>>2]=h[b+20>>2];h[u>>2]=h[b+24>>2];n=$i(d,h[t>>2]|0,e,i,0,0)|0;v=k;return n|0}function Uv(e,i,r,t,n,f,a,l,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;var o=0,u=0,c=0,d=0;c=v;v=v+96|0;o=c+4|0;a=c;u=o;d=u+84|0;do{h[u>>2]=0;u=u+4|0}while((u|0)<(d|0));h[o+16>>2]=f;h[o+8>>2]=n;h[o>>2]=r;h[o+4>>2]=t;r=jc(i)|0;h[l>>2]=r;h[a>>2]=0;r=Zi(l,i,a,e,i,o,0)|0;h[s>>2]=h[a>>2];v=c;return r|0}function jv(e,i){e=e|0;i=i|0;var r=0;r=v;v=v+16|0;h[r>>2]=i;i=h[9320]|0;zy(i,e,r)|0;Ny(10,i)|0;Xe()}function Hv(e){e=e|0;Ke(51337,51366,1164,51442)}function Yv(e){e=e|0;Ke(51463,51486,303,51442)}function qv(){var e=0,i=0;e=v;v=v+16|0;if(!(ki(37024,4)|0)){i=ci(h[9255]|0)|0;v=e;return i|0}else jv(51562,e);return 0}function Xv(e){e=e|0;var i=0;i=(e|0)==0?1:e;e=jc(i)|0;e:do{if(!e){while(1){e=$v()|0;if(!e)break;LE[e&7]();e=jc(i)|0;if(e)break e}i=Je(4)|0;h[i>>2]=36844;Ei(i|0,592,78)}}while(0);return e|0}function zv(e){e=e|0;Hc(e);return}function Vv(e){e=e|0;zv(e);return}function Gv(e){e=e|0;h[e>>2]=36844;return}function Kv(e){e=e|0;return}function Wv(e){e=e|0;zv(e);return}function Jv(e){e=e|0;return 51611}function Zv(e){e=e|0;var i=0;i=v;v=v+16|0;T=0;Ie(e|0);e=T;T=0;if(!(e&1)){T=0;ve(85,51626,i|0);T=0}e=Ze(0)|0;fi(e|0)|0;T=0;ve(85,51666,i+8|0);T=0;e=Ze(0)|0;T=0;Ie(3);i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else Ki(e)}function Qv(){var e=0,i=0,r=0;T=0;e=Ce(2)|0;r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}if(((e|0)!=0?(i=h[e>>2]|0,(i|0)!=0):0)?(r=i+48|0,(h[r>>2]&-256|0)==1126902528?(h[r+4>>2]|0)==1129074247:0):0)Zv(h[i+12>>2]|0);r=h[9208]|0;h[9208]=r+0;Zv(r)}function $v(){var e=0;e=h[9214]|0;h[9214]=e+0;return e|0}function eg(e){e=e|0;return}function ig(e){e=e|0;h[e>>2]=36868;Bg(e+4|0);return}function rg(e){e=e|0;ig(e);zv(e);return}function tg(e){e=e|0;return h[e+4>>2]|0}function ng(e){e=e|0;return}function fg(e){e=e|0;h[e>>2]=36888;return}function ag(e){e=e|0;return}function lg(e){e=e|0;zv(e);return}function sg(e){e=e|0;return 51716}function og(e){e=e|0;return}function ug(e){e=e|0;return}function cg(e){e=e|0;return}function dg(e){e=e|0;zv(e);return}function hg(e){e=e|0;zv(e);return}function bg(e){e=e|0;zv(e);return}function kg(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;a=v;v=v+64|0;f=a;if((e|0)!=(i|0))if((i|0)!=0?(n=gg(i,656,672,0)|0,(n|0)!=0):0){i=f;t=i+56|0;do{h[i>>2]=0;i=i+4|0}while((i|0)<(t|0));h[f>>2]=n;h[f+8>>2]=e;h[f+12>>2]=-1;h[f+48>>2]=1;xE[h[(h[n>>2]|0)+28>>2]&63](n,f,h[r>>2]|0,1);if((h[f+24>>2]|0)==1){h[r>>2]=h[f+16>>2];i=1}else i=0}else i=0;else i=1;v=a;return i|0}function wg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;e=i+16|0;n=h[e>>2]|0;do{if(n){if((n|0)!=(r|0)){t=i+36|0;h[t>>2]=(h[t>>2]|0)+1;h[i+24>>2]=2;c[i+54>>0]=1;break}e=i+24|0;if((h[e>>2]|0)==2)h[e>>2]=t}else{h[e>>2]=r;h[i+24>>2]=t;h[i+36>>2]=1}}while(0);return}function _g(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((e|0)==(h[i+8>>2]|0))wg(0,i,r,t);return}function mg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((e|0)==(h[i+8>>2]|0))wg(0,i,r,t);else{e=h[e+8>>2]|0;xE[h[(h[e>>2]|0)+28>>2]&63](e,i,r,t)}return}function pg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=h[e+4>>2]|0;n=f>>8;if(f&1)n=h[(h[r>>2]|0)+n>>2]|0;e=h[e>>2]|0;xE[h[(h[e>>2]|0)+28>>2]&63](e,i,r+n|0,(f&2|0)!=0?t:2);return}function vg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;e:do{if((e|0)!=(h[i+8>>2]|0)){f=h[e+12>>2]|0;n=e+16+(f<<3)|0;pg(e+16|0,i,r,t);if((f|0)>1){f=i+54|0;e=e+24|0;do{pg(e,i,r,t);if(c[f>>0]|0)break e;e=e+8|0}while(e>>>0>>0)}}else wg(0,i,r,t)}while(0);return}function gg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=v;v=v+64|0;k=w;b=h[e>>2]|0;u=e+(h[b+-8>>2]|0)|0;b=h[b+-4>>2]|0;h[k>>2]=r;h[k+4>>2]=e;h[k+8>>2]=i;h[k+12>>2]=t;t=k+16|0;e=k+20|0;i=k+24|0;n=k+28|0;f=k+32|0;a=k+40|0;l=(b|0)==(r|0);s=t;o=s+36|0;do{h[s>>2]=0;s=s+4|0}while((s|0)<(o|0));d[t+36>>1]=0;c[t+38>>0]=0;e:do{if(l){h[k+48>>2]=1;yE[h[(h[r>>2]|0)+20>>2]&15](r,k,u,u,1,0);t=(h[i>>2]|0)==1?u:0}else{hE[h[(h[b>>2]|0)+24>>2]&15](b,k,u,1,0);switch(h[k+36>>2]|0){case 0:{t=(h[a>>2]|0)==1&(h[n>>2]|0)==1&(h[f>>2]|0)==1?h[e>>2]|0:0;break e}case 1:break;default:{t=0;break e}}if((h[i>>2]|0)!=1?!((h[a>>2]|0)==0&(h[n>>2]|0)==1&(h[f>>2]|0)==1):0){t=0;break}t=h[t>>2]|0}}while(0);v=w;return t|0}function yg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;c[i+53>>0]=1;do{if((h[i+4>>2]|0)==(t|0)){c[i+52>>0]=1;t=i+16|0;e=h[t>>2]|0;if(!e){h[t>>2]=r;h[i+24>>2]=n;h[i+36>>2]=1;if(!((n|0)==1?(h[i+48>>2]|0)==1:0))break;c[i+54>>0]=1;break}if((e|0)!=(r|0)){n=i+36|0;h[n>>2]=(h[n>>2]|0)+1;c[i+54>>0]=1;break}e=i+24|0;t=h[e>>2]|0;if((t|0)==2){h[e>>2]=n;t=n}if((t|0)==1?(h[i+48>>2]|0)==1:0)c[i+54>>0]=1}}while(0);return}function Eg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;e:do{if((e|0)==(h[i+8>>2]|0)){if((h[i+4>>2]|0)==(r|0)?(f=i+28|0,(h[f>>2]|0)!=1):0)h[f>>2]=t}else{if((e|0)!=(h[i>>2]|0)){w=h[e+12>>2]|0;l=e+16+(w<<3)|0;Mg(e+16|0,i,r,t,n);f=e+24|0;if((w|0)<=1)break;a=h[e+8>>2]|0;if((a&2|0)==0?(s=i+36|0,(h[s>>2]|0)!=1):0){if(!(a&1)){a=i+54|0;while(1){if(c[a>>0]|0)break e;if((h[s>>2]|0)==1)break e;Mg(f,i,r,t,n);f=f+8|0;if(f>>>0>=l>>>0)break e}}a=i+24|0;e=i+54|0;while(1){if(c[e>>0]|0)break e;if((h[s>>2]|0)==1?(h[a>>2]|0)==1:0)break e;Mg(f,i,r,t,n);f=f+8|0;if(f>>>0>=l>>>0)break e}}a=i+54|0;while(1){if(c[a>>0]|0)break e;Mg(f,i,r,t,n);f=f+8|0;if(f>>>0>=l>>>0)break e}}if((h[i+16>>2]|0)!=(r|0)?(k=i+20|0,(h[k>>2]|0)!=(r|0)):0){h[i+32>>2]=t;u=i+44|0;if((h[u>>2]|0)==4)break;a=h[e+12>>2]|0;l=e+16+(a<<3)|0;s=i+52|0;t=i+53|0;d=i+54|0;o=e+8|0;b=i+24|0;i:do{if((a|0)>0){a=0;f=0;e=e+16|0;while(1){c[s>>0]=0;c[t>>0]=0;Ag(e,i,r,r,1,n);if(c[d>>0]|0){w=20;break i}do{if(c[t>>0]|0){if(!(c[s>>0]|0))if(!(h[o>>2]&1)){f=1;w=20;break i}else{f=1;break}if((h[b>>2]|0)==1)break i;if(!(h[o>>2]&2))break i;else{a=1;f=1}}}while(0);e=e+8|0;if(e>>>0>=l>>>0){w=20;break}}}else{a=0;f=0;w=20}}while(0);do{if((w|0)==20){if((!a?(h[k>>2]=r,r=i+40|0,h[r>>2]=(h[r>>2]|0)+1,(h[i+36>>2]|0)==1):0)?(h[b>>2]|0)==2:0){c[d>>0]=1;if(f)break}else w=24;if((w|0)==24?f:0)break;h[u>>2]=4;break e}}while(0);h[u>>2]=3;break}if((t|0)==1)h[i+32>>2]=1}}while(0);return}function Ag(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0;l=h[e+4>>2]|0;a=l>>8;if(l&1)a=h[(h[t>>2]|0)+a>>2]|0;e=h[e>>2]|0;yE[h[(h[e>>2]|0)+20>>2]&15](e,i,r,t+a|0,(l&2|0)!=0?n:2,f);return}function Mg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=h[e+4>>2]|0;f=a>>8;if(a&1)f=h[(h[r>>2]|0)+f>>2]|0;e=h[e>>2]|0;hE[h[(h[e>>2]|0)+24>>2]&15](e,i,r+f|0,(a&2|0)!=0?t:2,n);return}function Tg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0;e:do{if((e|0)==(h[i+8>>2]|0)){if((h[i+4>>2]|0)==(r|0)?(f=i+28|0,(h[f>>2]|0)!=1):0)h[f>>2]=t}else{if((e|0)!=(h[i>>2]|0)){l=h[e+8>>2]|0;hE[h[(h[l>>2]|0)+24>>2]&15](l,i,r,t,n);break}if((h[i+16>>2]|0)!=(r|0)?(a=i+20|0,(h[a>>2]|0)!=(r|0)):0){h[i+32>>2]=t;t=i+44|0;if((h[t>>2]|0)==4)break;f=i+52|0;c[f>>0]=0;s=i+53|0;c[s>>0]=0;e=h[e+8>>2]|0;yE[h[(h[e>>2]|0)+20>>2]&15](e,i,r,r,1,n);if(c[s>>0]|0){if(!(c[f>>0]|0)){f=1;l=13}}else{f=0;l=13}do{if((l|0)==13){h[a>>2]=r;s=i+40|0;h[s>>2]=(h[s>>2]|0)+1;if((h[i+36>>2]|0)==1?(h[i+24>>2]|0)==2:0){c[i+54>>0]=1;if(f)break}else l=16;if((l|0)==16?f:0)break;h[t>>2]=4;break e}}while(0);h[t>>2]=3;break}if((t|0)==1)h[i+32>>2]=1}}while(0);return}function Sg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;do{if((e|0)==(h[i+8>>2]|0)){if((h[i+4>>2]|0)==(r|0)?(a=i+28|0,(h[a>>2]|0)!=1):0)h[a>>2]=t}else if((e|0)==(h[i>>2]|0)){if((h[i+16>>2]|0)!=(r|0)?(f=i+20|0,(h[f>>2]|0)!=(r|0)):0){h[i+32>>2]=t;h[f>>2]=r;n=i+40|0;h[n>>2]=(h[n>>2]|0)+1;if((h[i+36>>2]|0)==1?(h[i+24>>2]|0)==2:0)c[i+54>>0]=1;h[i+44>>2]=4;break}if((t|0)==1)h[i+32>>2]=1}}while(0);return}function Pg(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0;if((e|0)==(h[i+8>>2]|0))yg(0,i,r,t,n);else{u=i+52|0;d=c[u>>0]|0;b=i+53|0;k=c[b>>0]|0;o=h[e+12>>2]|0;a=e+16+(o<<3)|0;c[u>>0]=0;c[b>>0]=0;Ag(e+16|0,i,r,t,n,f);e:do{if((o|0)>1){l=i+24|0;s=e+8|0;o=i+54|0;e=e+24|0;do{if(c[o>>0]|0)break e;if(!(c[u>>0]|0)){if((c[b>>0]|0)!=0?(h[s>>2]&1|0)==0:0)break e}else{if((h[l>>2]|0)==1)break e;if(!(h[s>>2]&2))break e}c[u>>0]=0;c[b>>0]=0;Ag(e,i,r,t,n,f);e=e+8|0}while(e>>>0>>0)}}while(0);c[u>>0]=d;c[b>>0]=k}return}function Og(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;if((e|0)==(h[i+8>>2]|0))yg(0,i,r,t,n);else{e=h[e+8>>2]|0;yE[h[(h[e>>2]|0)+20>>2]&15](e,i,r,t,n,f)}return}function Rg(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;if((e|0)==(h[i+8>>2]|0))yg(0,i,r,t,n);return}function Lg(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+16|0;t=n;h[t>>2]=h[r>>2];e=vE[h[(h[e>>2]|0)+16>>2]&63](e,i,t)|0;if(e)h[r>>2]=h[t>>2];v=n;return e&1|0}function Cg(e){e=e|0;if(!e)e=0;else e=(gg(e,656,704,0)|0)!=0;return e&1|0}function Dg(){var e=0;e=Je(4)|0;Gv(e);Ei(e|0,592,78)}function xg(){var e=0,i=0,r=0,t=0,n=0,f=0,a=0,l=0;n=v;v=v+48|0;a=n+32|0;r=n+24|0;l=n+16|0;f=n;n=n+36|0;e=qv()|0;if((e|0)!=0?(t=h[e>>2]|0,(t|0)!=0):0){e=t+48|0;i=h[e>>2]|0;e=h[e+4>>2]|0;if(!((i&-256|0)==1126902528&(e|0)==1129074247)){h[r>>2]=h[9257];jv(51919,r)}if((i|0)==1126902529&(e|0)==1129074247)e=h[t+44>>2]|0;else e=t+80|0;h[n>>2]=e;t=h[t>>2]|0;e=h[t+4>>2]|0;if(vE[h[(h[608>>2]|0)+16>>2]&63](608,t,n)|0){l=h[n>>2]|0;n=h[9257]|0;l=mE[h[(h[l>>2]|0)+8>>2]&127](l)|0;h[f>>2]=n;h[f+4>>2]=e;h[f+8>>2]=l;jv(51833,f)}else{h[l>>2]=h[9257];h[l+4>>2]=e;jv(51878,l)}}jv(51957,a)}function Ig(){var e=0;e=v;v=v+16|0;if(!(qe(37020,184)|0)){v=e;return}else jv(51730,e)}function Bg(e){e=e|0;var i=0,r=0;r=(h[e>>2]|0)+-4|0;i=h[r>>2]|0;h[r>>2]=i+-1;if((i+-1|0)<0)zv((h[e>>2]|0)+-12|0);return}function Ng(e){e=e|0;var i=0;i=v;v=v+16|0;Hc(e);if(!(gi(h[9255]|0,0)|0)){v=i;return}else jv(51780,i)}function Fg(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Jy(e,i,r)|0;return e|0}function Ug(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Zy(e,i,r)|0;return e|0}function jg(){return 37296}function Hg(){return 37300}function Yg(){return 37304}function qg(e){e=e|0;return((e|0)==32|(e+-9|0)>>>0<5)&1|0}function Xg(e){e=e|0;if((e+-48|0)>>>0<10)e=1;else e=((e|32)+-97|0)>>>0<6;return e&1|0}function zg(){var e=0;if(!(h[9258]|0))e=37308;else{e=(hi()|0)+60|0;e=h[e>>2]|0}return e|0}function Vg(e){e=e|0;var i=0,r=0;i=0;while(1){if((b[51978+i>>0]|0)==(e|0)){r=2;break}i=i+1|0;if((i|0)==87){i=87;e=52066;r=5;break}}if((r|0)==2)if(!i)e=52066;else{e=52066;r=5}if((r|0)==5)while(1){r=e;while(1){e=r+1|0;if(!(c[r>>0]|0))break;else r=e}i=i+-1|0;if(!i)break;else r=5}return e|0}function Gg(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0.0,a=0,l=0,s=0.0,o=0,u=0,d=0,k=0.0,w=0.0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,C=0,D=0,x=0,I=0,B=0,N=0.0;B=v;v=v+512|0;C=B;switch(i|0){case 0:{I=24;x=-149;A=4;break}case 1:{I=53;x=-1074;A=4;break}case 2:{I=53;x=-1074;A=4;break}default:t=0.0}e:do{if((A|0)==4){S=e+4|0;T=e+100|0;do{i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0}while((qg(i)|0)!=0);i:do{switch(i|0){case 43:case 45:{n=1-(((i|0)==45&1)<<1)|0;i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0;D=n;break i}else{i=Jg(e)|0;D=n;break i}}default:D=1}}while(0);n=i;i=0;do{if((n|32|0)!=(c[53870+i>>0]|0))break;do{if(i>>>0<7){n=h[S>>2]|0;if(n>>>0<(h[T>>2]|0)>>>0){h[S>>2]=n+1;n=b[n>>0]|0;break}else{n=Jg(e)|0;break}}}while(0);i=i+1|0}while(i>>>0<8);i:do{switch(i|0){case 8:break;case 3:{A=23;break}default:{a=(r|0)!=0;if(a&i>>>0>3)if((i|0)==8)break i;else{A=23;break i}r:do{if(!i){i=0;do{if((n|32|0)!=(c[56747+i>>0]|0))break r;do{if(i>>>0<2){n=h[S>>2]|0;if(n>>>0<(h[T>>2]|0)>>>0){h[S>>2]=n+1;n=b[n>>0]|0;break}else{n=Jg(e)|0;break}}}while(0);i=i+1|0}while(i>>>0<3)}}while(0);switch(i|0){case 3:{i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|0)==40)i=1;else{if(!(h[T>>2]|0)){t=R;break e}h[S>>2]=(h[S>>2]|0)+-1;t=R;break e}while(1){n=h[S>>2]|0;if(n>>>0<(h[T>>2]|0)>>>0){h[S>>2]=n+1;n=b[n>>0]|0}else n=Jg(e)|0;if(!((n+-48|0)>>>0<10|(n+-65|0)>>>0<26)?!((n|0)==95|(n+-97|0)>>>0<26):0)break;i=i+1|0}if((n|0)==41){t=R;break e}n=(h[T>>2]|0)==0;if(!n)h[S>>2]=(h[S>>2]|0)+-1;if(!a){I=zg()|0;h[I>>2]=22;Wg(e,0);t=0.0;break e}if(!i){t=R;break e}while(1){i=i+-1|0;if(!n)h[S>>2]=(h[S>>2]|0)+-1;if(!i){t=R;break e}}}case 0:{do{if((n|0)==48){i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|32|0)!=120){if(!(h[T>>2]|0)){i=48;break}h[S>>2]=(h[S>>2]|0)+-1;i=48;break}i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0;a=0}else{i=Jg(e)|0;a=0}r:while(1){switch(i|0){case 46:{A=74;break r}case 48:break;default:{y=0;l=0;g=0;n=0;o=a;u=0;p=0;s=1.0;a=0;t=0.0;break r}}i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0;a=1;continue}else{i=Jg(e)|0;a=1;continue}}if((A|0)==74){i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|0)==48){a=0;n=0;do{i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;a=Dm(a|0,n|0,-1,-1)|0;n=H}while((i|0)==48);y=0;l=0;g=a;o=1;u=1;p=0;s=1.0;a=0;t=0.0}else{y=0;l=0;g=0;n=0;o=a;u=1;p=0;s=1.0;a=0;t=0.0}}while(1){_=i+-48|0;d=i|32;if(_>>>0>=10){m=(i|0)==46;if(!(m|(d+-97|0)>>>0<6)){d=g;_=y;break}if(m)if(!u){m=l;n=y;_=y;u=1;d=p;f=s}else{d=g;_=y;i=46;break}else A=86}else A=86;if((A|0)==86){A=0;i=(i|0)>57?d+-87|0:_;do{if(!((y|0)<0|(y|0)==0&l>>>0<8)){if((y|0)<0|(y|0)==0&l>>>0<14){w=s*.0625;d=p;f=w;t=t+w*+(i|0);break}if((p|0)!=0|(i|0)==0){d=p;f=s}else{d=1;f=s;t=t+s*.5}}else{d=p;f=s;a=i+(a<<4)|0}}while(0);l=Dm(l|0,y|0,1,0)|0;m=g;_=H;o=1}i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;y=_;g=m;i=b[i>>0]|0;p=d;s=f;continue}else{y=_;g=m;i=Jg(e)|0;p=d;s=f;continue}}if(!o){i=(h[T>>2]|0)==0;if(!i)h[S>>2]=(h[S>>2]|0)+-1;if(r){if(!i?(E=h[S>>2]|0,h[S>>2]=E+-1,(u|0)!=0):0)h[S>>2]=E+-2}else Wg(e,0);t=+(D|0)*0.0;break e}o=(u|0)==0;u=o?l:d;o=o?_:n;if((_|0)<0|(_|0)==0&l>>>0<8){n=_;do{a=a<<4;l=Dm(l|0,n|0,1,0)|0;n=H}while((n|0)<0|(n|0)==0&l>>>0<8)}if((i|32|0)==112){n=sE(e,r)|0;i=H;if((n|0)==0&(i|0)==-2147483648){if(!r){Wg(e,0);t=0.0;break e}if(!(h[T>>2]|0)){n=0;i=0}else{h[S>>2]=(h[S>>2]|0)+-1;n=0;i=0}}}else if(!(h[T>>2]|0)){n=0;i=0}else{h[S>>2]=(h[S>>2]|0)+-1;n=0;i=0}C=Bm(u|0,o|0,2)|0;C=Dm(C|0,H|0,-32,-1)|0;i=Dm(C|0,H|0,n|0,i|0)|0;n=H;if(!a){t=+(D|0)*0.0;break e}if((n|0)>0|(n|0)==0&i>>>0>(0-x|0)>>>0){I=zg()|0;h[I>>2]=34;t=+(D|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break e}C=x+-106|0;O=((C|0)<0)<<31>>31;if((n|0)<(O|0)|(n|0)==(O|0)&i>>>0>>0){I=zg()|0;h[I>>2]=34;t=+(D|0)*2.2250738585072014e-308*2.2250738585072014e-308;break e}if((a|0)>-1){do{O=!(t>=.5);C=O&1|a<<1;a=C^1;t=t+(O?t:t+-1.0);i=Dm(i|0,n|0,-1,-1)|0;n=H}while((C|0)>-1);l=i;s=t}else{l=i;s=t}i=Lm(32,0,x|0,((x|0)<0)<<31>>31|0)|0;i=Dm(l|0,n|0,i|0,H|0)|0;x=H;if(0>(x|0)|0==(x|0)&I>>>0>i>>>0)if((i|0)<0){i=0;A=127}else A=125;else{i=I;A=125}if((A|0)==125)if((i|0)<53)A=127;else{n=i;f=+(D|0);t=0.0}if((A|0)==127){t=+(D|0);n=i;f=t;t=+ly(+dy(1.0,84-i|0),t)}I=(a&1|0)==0&(s!=0.0&(n|0)<32);t=f*(I?0.0:s)+(t+f*+(((I&1)+a|0)>>>0))-t;if(!(t!=0.0)){I=zg()|0;h[I>>2]=34}t=+hy(t,l);break e}else i=n}while(0);P=x+I|0;O=0-P|0;a=0;r:while(1){switch(i|0){case 46:{A=138;break r}case 48:break;default:{n=0;d=0;u=0;break r}}i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0;a=1;continue}else{i=Jg(e)|0;a=1;continue}}if((A|0)==138){i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|0)==48){n=0;i=0;while(1){n=Dm(n|0,i|0,-1,-1)|0;a=H;i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if((i|0)==48)i=a;else{d=a;a=1;u=1;break}}}else{n=0;d=0;u=1}}h[C>>2]=0;o=i+-48|0;l=(i|0)==46;r:do{if(l|o>>>0<10){M=C+496|0;y=0;m=0;p=l;A=d;_=a;E=u;a=0;l=0;u=0;t:while(1){do{if(p)if(!E){n=y;d=m;E=1}else{d=A;i=y;o=m;break t}else{p=Dm(y|0,m|0,1,0)|0;m=H;g=(i|0)!=48;if((l|0)>=125){if(!g){d=A;y=p;break}h[M>>2]=h[M>>2]|1;d=A;y=p;break}d=C+(l<<2)|0;if(a)o=i+-48+((h[d>>2]|0)*10|0)|0;h[d>>2]=o;a=a+1|0;o=(a|0)==9;d=A;y=p;_=1;a=o?0:a;l=(o&1)+l|0;u=g?p:u}}while(0);i=h[S>>2]|0;if(i>>>0<(h[T>>2]|0)>>>0){h[S>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;o=i+-48|0;p=(i|0)==46;if(!(p|o>>>0<10)){o=E;A=161;break r}else A=d}_=(_|0)!=0;A=169}else{y=0;m=0;_=a;o=u;a=0;l=0;u=0;A=161}}while(0);do{if((A|0)==161){M=(o|0)==0;n=M?y:n;d=M?m:d;_=(_|0)!=0;if(!((i|32|0)==101&_))if((i|0)>-1){i=y;o=m;A=169;break}else{i=y;o=m;A=171;break}o=sE(e,r)|0;i=H;if((o|0)==0&(i|0)==-2147483648){if(!r){Wg(e,0);t=0.0;break}if(!(h[T>>2]|0)){o=0;i=0}else{h[S>>2]=(h[S>>2]|0)+-1;o=0;i=0}}n=Dm(o|0,i|0,n|0,d|0)|0;_=y;d=H;o=m;A=173}}while(0);if((A|0)==169)if(h[T>>2]|0){h[S>>2]=(h[S>>2]|0)+-1;if(_){_=i;A=173}else A=172}else A=171;if((A|0)==171)if(_){_=i;A=173}else A=172;do{if((A|0)==172){I=zg()|0;h[I>>2]=22;Wg(e,0);t=0.0}else if((A|0)==173){i=h[C>>2]|0;if(!i){t=+(D|0)*0.0;break}if(((o|0)<0|(o|0)==0&_>>>0<10)&((n|0)==(_|0)&(d|0)==(o|0))?I>>>0>30|(i>>>I|0)==0:0){t=+(D|0)*+(i>>>0);break}e=(x|0)/-2|0;S=((e|0)<0)<<31>>31;if((d|0)>(S|0)|(d|0)==(S|0)&n>>>0>e>>>0){I=zg()|0;h[I>>2]=34;t=+(D|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}e=x+-106|0;S=((e|0)<0)<<31>>31;if((d|0)<(S|0)|(d|0)==(S|0)&n>>>0>>0){I=zg()|0;h[I>>2]=34;t=+(D|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(a){if((a|0)<9){o=C+(l<<2)|0;i=h[o>>2]|0;do{i=i*10|0;a=a+1|0}while((a|0)!=9);h[o>>2]=i}l=l+1|0}if((u|0)<9?(u|0)<=(n|0)&(n|0)<18:0){if((n|0)==9){t=+(D|0)*+((h[C>>2]|0)>>>0);break}if((n|0)<9){t=+(D|0)*+((h[C>>2]|0)>>>0)/+(h[37312+(8-n<<2)>>2]|0);break}e=I+27+(ce(n,-3)|0)|0;i=h[C>>2]|0;if((e|0)>30|(i>>>e|0)==0){t=+(D|0)*+(i>>>0)*+(h[37312+(n+-10<<2)>>2]|0);break}}i=(n|0)%9|0;if(!i){a=0;i=0}else{_=(n|0)>-1?i:i+9|0;o=h[37312+(8-_<<2)>>2]|0;if(l){u=1e9/(o|0)|0;a=0;i=0;d=0;do{T=C+(d<<2)|0;S=h[T>>2]|0;e=((S>>>0)/(o>>>0)|0)+i|0;h[T>>2]=e;i=ce((S>>>0)%(o>>>0)|0,u)|0;e=(d|0)==(a|0)&(e|0)==0;d=d+1|0;n=e?n+-9|0:n;a=e?d&127:a}while((d|0)!=(l|0));if(i){h[C+(l<<2)>>2]=i;l=l+1|0}}else{a=0;l=0}i=0;n=9-_+n|0}r:while(1){m=(n|0)<18;p=(n|0)==18;g=C+(a<<2)|0;do{if(!m){if(!p)break r;if((h[g>>2]|0)>>>0>=9007199){n=18;break r}}o=0;u=l+127|0;while(1){_=u&127;d=C+(_<<2)|0;u=Bm(h[d>>2]|0,0,29)|0;u=Dm(u|0,H|0,o|0,0)|0;o=H;if(o>>>0>0|(o|0)==0&u>>>0>1e9){e=Xm(u|0,o|0,1e9,0)|0;u=zm(u|0,o|0,1e9,0)|0;o=e}else o=0;h[d>>2]=u;e=(_|0)==(a|0);l=(_|0)!=(l+127&127|0)|e?l:(u|0)==0?_:l;if(e)break;else u=_+-1|0}i=i+-29|0}while((o|0)==0);a=a+127&127;if((a|0)==(l|0)){e=l+127&127;l=C+((l+126&127)<<2)|0;h[l>>2]=h[l>>2]|h[C+(e<<2)>>2];l=e}h[C+(a<<2)>>2]=o;n=n+9|0}r:while(1){y=l+1&127;g=C+((l+127&127)<<2)|0;while(1){m=(n|0)==18;p=(n|0)>27?9:1;_=m^1;while(1){u=a&127;d=(u|0)==(l|0);do{if(!d){o=h[C+(u<<2)>>2]|0;if(o>>>0<9007199){A=219;break}if(o>>>0>9007199)break;o=a+1&127;if((o|0)==(l|0)){A=219;break}o=h[C+(o<<2)>>2]|0;if(o>>>0<254740991){A=219;break}if(!(o>>>0>254740991|_)){n=u;break r}}else A=219}while(0);if((A|0)==219?(A=0,m):0){A=220;break r}i=i+p|0;if((a|0)==(l|0))a=l;else break}_=(1<>>p;u=a;o=0;d=a;while(1){S=C+(d<<2)|0;e=h[S>>2]|0;a=(e>>>p)+o|0;h[S>>2]=a;o=ce(e&_,m)|0;a=(d|0)==(u|0)&(a|0)==0;d=d+1&127;n=a?n+-9|0:n;a=a?d:u;if((d|0)==(l|0))break;else u=a}if(!o)continue;if((y|0)!=(a|0))break;h[g>>2]=h[g>>2]|1}h[C+(l<<2)>>2]=o;l=y}if((A|0)==220)if(d){h[C+(y+-1<<2)>>2]=0;n=l;l=y}else n=u;t=+((h[C+(n<<2)>>2]|0)>>>0);n=a+1&127;if((n|0)==(l|0)){l=a+2&127;h[C+(l+-1<<2)>>2]=0}w=+(D|0);f=w*(t*1.0e9+ +((h[C+(n<<2)>>2]|0)>>>0));m=i+53|0;d=m-x|0;_=(d|0)<(I|0);n=_&1;u=_?(d|0)<0?0:d:I;if((u|0)<53){N=+ly(+dy(1.0,105-u|0),f);s=+oy(f,+dy(1.0,53-u|0));k=N;t=s;s=N+(f-s)}else{k=0.0;t=0.0;s=f}o=a+2&127;do{if((o|0)==(l|0))f=t;else{o=h[C+(o<<2)>>2]|0;do{if(o>>>0>=5e8){if(o>>>0>5e8){t=w*.75+t;break}if((a+3&127|0)==(l|0)){t=w*.5+t;break}else{t=w*.75+t;break}}else{if((o|0)==0?(a+3&127|0)==(l|0):0)break;t=w*.25+t}}while(0);if((53-u|0)<=1){f=t;break}if(+oy(t,1.0)!=0.0){f=t;break}f=t+1.0}}while(0);t=s+f-k;do{if((m&2147483647|0)>(-2-P|0)){if(+Q(+t)>=9007199254740992.0){n=_&(u|0)==(d|0)?0:n;i=i+1|0;t=t*.5}if((i+50|0)<=(O|0)?!(f!=0.0&(n|0)!=0):0)break;I=zg()|0;h[I>>2]=34}}while(0);t=+hy(t,i)}}while(0);break e}default:{if(h[T>>2]|0)h[S>>2]=(h[S>>2]|0)+-1;I=zg()|0;h[I>>2]=22;Wg(e,0);t=0.0;break e}}}}}while(0);if((A|0)==23){n=(h[T>>2]|0)==0;if(!n)h[S>>2]=(h[S>>2]|0)+-1;if((r|0)!=0&i>>>0>3)do{if(!n)h[S>>2]=(h[S>>2]|0)+-1;i=i+-1|0}while(i>>>0>3)}t=+(D|0)*L}}while(0);v=B;return+t}function Kg(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0;e:do{if(i>>>0>36){n=zg()|0;h[n>>2]=22;n=0;t=0}else{_=e+4|0;w=e+100|0;do{f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0}while((qg(f)|0)!=0);i:do{switch(f|0){case 43:case 45:{a=((f|0)==45)<<31>>31;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0;k=a;break i}else{f=Jg(e)|0;k=a;break i}}default:k=0}}while(0);a=(i|0)==0;do{if((i&-17|0)==0&(f|0)==48){f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;if((f|32|0)!=120)if(a){i=8;u=46;break}else{u=32;break}i=h[_>>2]|0;if(i>>>0<(h[w>>2]|0)>>>0){h[_>>2]=i+1;f=b[i>>0]|0}else f=Jg(e)|0;if((b[53879+(f+1)>>0]|0)>15){t=(h[w>>2]|0)==0;if(!t)h[_>>2]=(h[_>>2]|0)+-1;if(!r){Wg(e,0);n=0;t=0;break e}if(t){n=0;t=0;break e}h[_>>2]=(h[_>>2]|0)+-1;n=0;t=0;break e}else{i=16;u=46}}else{i=a?10:i;if((b[53879+(f+1)>>0]|0)>>>0>>0)u=32;else{if(h[w>>2]|0)h[_>>2]=(h[_>>2]|0)+-1;Wg(e,0);n=zg()|0;h[n>>2]=22;n=0;t=0;break e}}}while(0);if((u|0)==32)if((i|0)==10){i=f+-48|0;if(i>>>0<10){f=0;while(1){a=(f*10|0)+i|0;i=h[_>>2]|0;if(i>>>0<(h[w>>2]|0)>>>0){h[_>>2]=i+1;f=b[i>>0]|0}else f=Jg(e)|0;i=f+-48|0;if(!(i>>>0<10&a>>>0<429496729)){i=a;break}else f=a}a=0}else{i=0;a=0}r=f+-48|0;if(r>>>0<10){while(1){l=qm(i|0,a|0,10,0)|0;s=H;o=((r|0)<0)<<31>>31;d=~o;if(s>>>0>d>>>0|(s|0)==(d|0)&l>>>0>~r>>>0){l=i;break}i=Dm(l|0,s|0,r|0,o|0)|0;a=H;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;r=f+-48|0;if(!(r>>>0<10&(a>>>0<429496729|(a|0)==429496729&i>>>0<2576980378))){l=i;break}}if(r>>>0>9){f=l;i=k}else{i=10;u=72}}else{f=i;i=k}}else u=46;i:do{if((u|0)==46){if(!(i+-1&i)){u=c[54136+((i*23|0)>>>5&7)>>0]|0;a=c[53879+(f+1)>>0]|0;r=a&255;if(r>>>0>>0){f=0;while(1){l=r|f<>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;a=c[53879+(f+1)>>0]|0;r=a&255;if(!(l>>>0<134217728&r>>>0>>0))break;else f=l}r=0}else{r=0;l=0}s=xm(-1,-1,u|0)|0;o=H;if((a&255)>>>0>=i>>>0|(r>>>0>o>>>0|(r|0)==(o|0)&l>>>0>s>>>0)){a=r;u=72;break}else f=r;while(1){l=Bm(l|0,f|0,u|0)|0;r=H;l=a&255|l;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;a=c[53879+(f+1)>>0]|0;if((a&255)>>>0>=i>>>0|(r>>>0>o>>>0|(r|0)==(o|0)&l>>>0>s>>>0)){a=r;u=72;break i}else f=r}}a=c[53879+(f+1)>>0]|0;r=a&255;if(r>>>0>>0){f=0;while(1){l=r+(ce(f,i)|0)|0;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;a=c[53879+(f+1)>>0]|0;r=a&255;if(!(l>>>0<119304647&r>>>0>>0))break;else f=l}r=0}else{l=0;r=0}if((a&255)>>>0>>0){u=Xm(-1,-1,i|0,0)|0;d=H;o=r;while(1){if(o>>>0>d>>>0|(o|0)==(d|0)&l>>>0>u>>>0){a=o;u=72;break i}r=qm(l|0,o|0,i|0,0)|0;s=H;a=a&255;if(s>>>0>4294967295|(s|0)==-1&r>>>0>~a>>>0){a=o;u=72;break i}l=Dm(a|0,0,r|0,s|0)|0;r=H;f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;a=c[53879+(f+1)>>0]|0;if((a&255)>>>0>=i>>>0){a=r;u=72;break}else o=r}}else{a=r;u=72}}}while(0);if((u|0)==72)if((b[53879+(f+1)>>0]|0)>>>0>>0){do{f=h[_>>2]|0;if(f>>>0<(h[w>>2]|0)>>>0){h[_>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0}while((b[53879+(f+1)>>0]|0)>>>0>>0);a=zg()|0;h[a>>2]=34;a=n;f=t;i=(t&1|0)==0&0==0?k:0}else{f=l;i=k}if(h[w>>2]|0)h[_>>2]=(h[_>>2]|0)+-1;if(!(a>>>0>>0|(a|0)==(n|0)&f>>>0>>0)){if(!((t&1|0)!=0|0!=0|(i|0)!=0)){_=zg()|0;h[_>>2]=34;t=Dm(t|0,n|0,-1,-1)|0;n=H;break}if(a>>>0>n>>>0|(a|0)==(n|0)&f>>>0>t>>>0){_=zg()|0;h[_>>2]=34;break}}t=((i|0)<0)<<31>>31;t=Lm(f^i|0,a^t|0,i|0,t|0)|0;n=H}}while(0);H=n;return t|0}function Wg(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;h[e+104>>2]=i;r=h[e+4>>2]|0;t=h[e+8>>2]|0;n=t-r|0;h[e+108>>2]=n;if((i|0)!=0&(n|0)>(i|0))h[e+100>>2]=r+i;else h[e+100>>2]=t;return}function Jg(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;r=e+104|0;f=h[r>>2]|0;if((f|0)!=0?(h[e+108>>2]|0)>=(f|0):0)a=4;else{i=Iy(e)|0;if((i|0)>=0){n=h[r>>2]|0;r=e+8|0;if(n){t=h[r>>2]|0;f=h[e+4>>2]|0;r=t;n=n-(h[e+108>>2]|0)+-1|0;if((r-f|0)>(n|0))h[e+100>>2]=f+n;else a=9}else{t=h[r>>2]|0;r=t;a=9}if((a|0)==9)h[e+100>>2]=r;r=h[e+4>>2]|0;if(t){e=e+108|0;h[e>>2]=t+1-r+(h[e>>2]|0)}r=r+-1|0;if((b[r>>0]|0|0)!=(i|0))c[r>>0]=i}else a=4}if((a|0)==4){h[e+100>>2]=0;i=-1}return i|0}function Zg(e){e=e|0;var i=0;if(e>>>0>4294963200){i=zg()|0;h[i>>2]=0-e;e=-1}return e|0}function Qg(e){e=e|0;return 0}function $g(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return t|0}function ey(e,i){e=e|0;i=i|0;return-1|0}function iy(e){e=e|0;Hc(e);return}function ry(e,i){e=e|0;i=i|0;return(e+-48|0)>>>0<10|0}function ty(e,i){e=e|0;i=i|0;return Xg(e)|0}function ny(e,i,r){e=e|0;i=i|0;r=r|0;if(((c[i>>0]|0)!=0?(eE(i,58885)|0)!=0:0)?(eE(i,54145)|0)!=0:0)r=0;else if(!r)r=Yc(1,4)|0;return r|0}function fy(e){e=e|0;var i=0,r=0;i=(hi()|0)+176|0;r=h[i>>2]|0;if(e)h[i>>2]=e;return r|0}function ay(e,i){e=+e;i=+i;var r=0,t=0;m[y>>3]=e;t=h[y>>2]|0;r=h[y+4>>2]|0;m[y>>3]=i;r=h[y+4>>2]&-2147483648|r&2147483647;h[y>>2]=t;h[y+4>>2]=r;return+ +m[y>>3]}function ly(e,i){e=+e;i=+i;return+ +ay(e,i)}function sy(e,i){e=+e;i=+i;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;m[y>>3]=e;r=h[y>>2]|0;o=h[y+4>>2]|0;m[y>>3]=i;u=h[y>>2]|0;c=h[y+4>>2]|0;t=xm(r|0,o|0,52)|0;t=t&2047;l=xm(u|0,c|0,52)|0;l=l&2047;d=o&-2147483648;a=Bm(u|0,c|0,1)|0;s=H;e:do{if(!((a|0)==0&(s|0)==0)?(f=c&2147483647,!(f>>>0>2146435072|(f|0)==2146435072&u>>>0>0|(t|0)==2047)):0){n=Bm(r|0,o|0,1)|0;f=H;if(!(f>>>0>s>>>0|(f|0)==(s|0)&n>>>0>a>>>0))return+((n|0)==(a|0)&(f|0)==(s|0)?e*0.0:e);if(!t){t=Bm(r|0,o|0,12)|0;n=H;if((n|0)>-1|(n|0)==-1&t>>>0>4294967295){f=t;t=0;do{t=t+-1|0;f=Bm(f|0,n|0,1)|0;n=H}while((n|0)>-1|(n|0)==-1&f>>>0>4294967295)}else t=0;r=Bm(r|0,o|0,1-t|0)|0;n=H}else n=o&1048575|1048576;if(!l){f=Bm(u|0,c|0,12)|0;a=H;if((a|0)>-1|(a|0)==-1&f>>>0>4294967295){l=0;do{l=l+-1|0;f=Bm(f|0,a|0,1)|0;a=H}while((a|0)>-1|(a|0)==-1&f>>>0>4294967295)}else l=0;u=Bm(u|0,c|0,1-l|0)|0;o=H}else o=c&1048575|1048576;s=Lm(r|0,n|0,u|0,o|0)|0;a=H;f=(a|0)>-1|(a|0)==-1&s>>>0>4294967295;i:do{if((t|0)>(l|0)){while(1){if(f)if((r|0)==(u|0)&(n|0)==(o|0))break;else{r=s;n=a}r=Bm(r|0,n|0,1)|0;n=H;t=t+-1|0;s=Lm(r|0,n|0,u|0,o|0)|0;a=H;f=(a|0)>-1|(a|0)==-1&s>>>0>4294967295;if((t|0)<=(l|0))break i}i=e*0.0;break e}}while(0);if(f)if((r|0)==(u|0)&(n|0)==(o|0)){i=e*0.0;break}else{n=a;r=s}if(n>>>0<1048576|(n|0)==1048576&r>>>0<0)do{r=Bm(r|0,n|0,1)|0;n=H;t=t+-1|0}while(n>>>0<1048576|(n|0)==1048576&r>>>0<0);if((t|0)>0){c=Dm(r|0,n|0,0,-1048576)|0;r=H;t=Bm(t|0,0,52)|0;r=r|H;t=c|t}else{t=xm(r|0,n|0,1-t|0)|0;r=H}h[y>>2]=t;h[y+4>>2]=r|d;i=+m[y>>3]}else b=3}while(0);if((b|0)==3){i=e*i;i=i/i}return+i}function oy(e,i){e=+e;i=+i;return+ +sy(e,i)}function uy(e,i){e=+e;i=i|0;var r=0,t=0,n=0;m[y>>3]=e;r=h[y>>2]|0;t=h[y+4>>2]|0;n=xm(r|0,t|0,52)|0;n=n&2047;switch(n|0){case 0:{if(e!=0.0){e=+uy(e*18446744073709551616.0,i);r=(h[i>>2]|0)+-64|0}else r=0;h[i>>2]=r;break}case 2047:break;default:{h[i>>2]=n+-1022;h[y>>2]=r;h[y+4>>2]=t&-2146435073|1071644672;e=+m[y>>3]}}return+e}function cy(e,i){e=+e;i=i|0;return+ +uy(e,i)}function dy(e,i){e=+e;i=i|0;var r=0;if((i|0)>1023){e=e*8988465674311579538646525.0e283;r=i+-1023|0;if((r|0)>1023){r=i+-2046|0;r=(r|0)>1023?1023:r;e=e*8988465674311579538646525.0e283}}else if((i|0)<-1022){e=e*2.2250738585072014e-308;r=i+1022|0;if((r|0)<-1022){r=i+2044|0;r=(r|0)<-1022?-1022:r;e=e*2.2250738585072014e-308}}else r=i;r=Bm(r+1023|0,0,52)|0;i=H;h[y>>2]=r;h[y+4>>2]=i;return+(e*+m[y>>3])}function hy(e,i){e=+e;i=i|0;return+ +dy(e,i)}function by(e,i,r){e=e|0;i=i|0;r=r|0;return ky(0,e,i,(r|0)!=0?r:37344)|0}function ky(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+16|0;n=s;a=(t|0)==0?37348:t;t=h[a>>2]|0;e:do{if(!i)if(!t)t=0;else l=15;else{f=(e|0)==0?n:e;if(!r)t=-2;else{if(!t){t=c[i>>0]|0;n=t&255;if(t<<24>>24>-1){h[f>>2]=n;t=t<<24>>24!=0&1;break}t=n+-194|0;if(t>>>0>50){l=15;break}t=h[37076+(t<<2)>>2]|0;n=r+-1|0;if(n){i=i+1|0;l=9}}else{n=r;l=9}i:do{if((l|0)==9){e=c[i>>0]|0;o=(e&255)>>>3;if((o+-16|o+(t>>26))>>>0>7){l=15;break e}while(1){i=i+1|0;t=(e&255)+-128|t<<6;n=n+-1|0;if((t|0)>=0)break;if(!n)break i;e=c[i>>0]|0;if((e&-64)<<24>>24!=-128){l=15;break e}}h[a>>2]=0;h[f>>2]=t;t=r-n|0;break e}}while(0);h[a>>2]=t;t=-2}}}while(0);if((l|0)==15){h[a>>2]=0;t=zg()|0;h[t>>2]=84;t=-1}v=s;return t|0}function wy(e){e=e|0;if(!e)e=1;else e=(h[e>>2]|0)==0;return e&1|0}function _y(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;d=v;v=v+1040|0;o=d+8|0;c=d;s=h[i>>2]|0;h[c>>2]=s;u=(e|0)!=0;t=u?t:256;e=u?e:o;f=s;e:do{if((t|0)!=0&(s|0)!=0){l=t;s=f;t=0;while(1){f=r>>>2;a=f>>>0>=l>>>0;if(!(r>>>0>131|a)){f=s;break e}f=a?l:f;r=r-f|0;f=my(e,c,f,n)|0;if((f|0)==-1){t=r;break}b=(e|0)==(o|0);s=b?0:f;a=l-s|0;e=b?e:e+(f<<2)|0;t=f+t|0;f=h[c>>2]|0;if((l|0)!=(s|0)&(f|0)!=0){l=a;s=f}else{l=a;break e}}r=t;l=0;f=h[c>>2]|0;t=-1}else{l=t;t=0}}while(0);e:do{if((f|0)!=0?(l|0)!=0&(r|0)!=0:0){a=f;f=e;while(1){e=ky(f,a,r,n)|0;if((e+2|0)>>>0<3)break;a=(h[c>>2]|0)+e|0;h[c>>2]=a;l=l+-1|0;t=t+1|0;if(!((l|0)!=0&(r|0)!=(e|0)))break e;else{r=r-e|0;f=f+4|0}}switch(e|0){case-1:{t=-1;break e}case 0:{h[c>>2]=0;break e}default:{h[n>>2]=0;break e}}}}while(0);if(u)h[i>>2]=h[c>>2];v=d;return t|0}function my(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;n=h[i>>2]|0;if((t|0)!=0?(f=h[t>>2]|0,(f|0)!=0):0)if(!e){t=r;a=n;o=16}else{h[t>>2]=0;s=e;t=r;l=f;o=37}else if(!e){t=r;o=7}else{f=e;t=r;o=6}e:while(1)if((o|0)==6){if(!t){o=26;break}else e=f;while(1){f=c[n>>0]|0;do{if(((f&255)+-1|0)>>>0<127?t>>>0>4&(n&3|0)==0:0){a=n;while(1){n=h[a>>2]|0;if((n+-16843009|n)&-2139062144){f=n;n=a;o=32;break}h[e>>2]=n&255;h[e+4>>2]=b[a+1>>0];h[e+8>>2]=b[a+2>>0];n=a+4|0;f=e+16|0;h[e+12>>2]=b[a+3>>0];t=t+-4|0;if(t>>>0>4){e=f;a=n}else{o=31;break}}if((o|0)==31){e=f;f=c[n>>0]|0;break}else if((o|0)==32){f=f&255;break}}}while(0);f=f&255;if((f+-1|0)>>>0>=127)break;n=n+1|0;h[e>>2]=f;t=t+-1|0;if(!t){o=26;break e}else e=e+4|0}f=f+-194|0;if(f>>>0>50){o=48;break}s=e;l=h[37076+(f<<2)>>2]|0;n=n+1|0;o=37;continue}else if((o|0)==7){f=c[n>>0]|0;if(((f&255)+-1|0)>>>0<127?(n&3|0)==0:0){f=h[n>>2]|0;if(!((f+-16843009|f)&-2139062144))do{n=n+4|0;t=t+-4|0;f=h[n>>2]|0}while(((f+-16843009|f)&-2139062144|0)==0);f=f&255}f=f&255;if((f+-1|0)>>>0<127){t=t+-1|0;n=n+1|0;o=7;continue}f=f+-194|0;if(f>>>0>50){o=48;break}f=h[37076+(f<<2)>>2]|0;a=n+1|0;o=16;continue}else if((o|0)==16){o=(b[a>>0]|0)>>>3;if((o+-16|o+(f>>26))>>>0>7){o=17;break}n=a+1|0;if(f&33554432){if((c[n>>0]&-64)<<24>>24!=-128){o=20;break}n=a+2|0;if(f&524288){if((c[n>>0]&-64)<<24>>24!=-128){o=23;break}n=a+3|0}}t=t+-1|0;o=7;continue}else if((o|0)==37){f=b[n>>0]|0;o=f>>>3;if((o+-16|o+(l>>26))>>>0>7){o=38;break}a=n+1|0;e=f+-128|l<<6;if((e|0)<0){f=b[a>>0]|0;if((f&192|0)!=128){o=41;break}a=n+2|0;e=f+-128|e<<6;if((e|0)<0){f=b[a>>0]|0;if((f&192|0)!=128){o=44;break}e=f+-128|e<<6;n=n+3|0}else n=a}else n=a;h[s>>2]=e;f=s+4|0;t=t+-1|0;o=6;continue}if((o|0)==17){n=a+-1|0;o=47}else if((o|0)==20){n=a+-1|0;o=47}else if((o|0)==23){n=a+-1|0;o=47}else if((o|0)==26)h[i>>2]=n;else if((o|0)==38){e=s;f=l;n=n+-1|0;o=47}else if((o|0)==41){t=s;r=n+-1|0;o=52}else if((o|0)==44){t=s;r=n+-1|0;o=52}if((o|0)==47)if(!f)o=48;else{t=e;r=n;o=52}if((o|0)==48)if(!(c[n>>0]|0)){if(e){h[e>>2]=0;h[i>>2]=0}r=r-t|0}else{t=e;r=n;o=52}if((o|0)==52){o=zg()|0;h[o>>2]=84;if(!t)r=-1;else{h[i>>2]=r;r=-1}}return r|0}function py(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;a=v;v=v+16|0;t=a;e:do{if(!i)t=0;else{do{if(r){f=(e|0)==0?t:e;t=c[i>>0]|0;e=t&255;if(t<<24>>24>-1){h[f>>2]=e;t=t<<24>>24!=0&1;break e}t=e+-194|0;if(t>>>0<=50){e=i+1|0;n=h[37076+(t<<2)>>2]|0;if(r>>>0<4?(n&-2147483648>>>((r*6|0)+-6|0)|0)!=0:0)break;t=b[e>>0]|0;r=t>>>3;if((r+-16|r+(n>>26))>>>0<=7){t=t+-128|n<<6;if((t|0)>=0){h[f>>2]=t;t=2;break e}e=b[i+2>>0]|0;if((e&192|0)==128){e=e+-128|t<<6;if((e|0)>=0){h[f>>2]=e;t=3;break e}t=b[i+3>>0]|0;if((t&192|0)==128){h[f>>2]=t+-128|e<<6;t=4;break e}}}}}}while(0);t=zg()|0;h[t>>2]=84;t=-1}}while(0);v=a;return t|0}function vy(e,i,r){e=e|0;i=i|0;r=r|0;do{if(e){if(i>>>0<128){c[e>>0]=i;e=1;break}if(i>>>0<2048){c[e>>0]=i>>>6|192;c[e+1>>0]=i&63|128;e=2;break}if(i>>>0<55296|(i&-8192|0)==57344){c[e>>0]=i>>>12|224;c[e+1>>0]=i>>>6&63|128;c[e+2>>0]=i&63|128;e=3;break}if((i+-65536|0)>>>0<1048576){c[e>>0]=i>>>18|240;c[e+1>>0]=i>>>12&63|128;c[e+2>>0]=i>>>6&63|128;c[e+3>>0]=i&63|128;e=4;break}else{e=zg()|0;h[e>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function gy(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;u=v;v=v+272|0;l=u+8|0;o=u;a=h[i>>2]|0;h[o>>2]=a;s=(e|0)!=0;n=s?t:256;t=s?e:l;e=a;e:do{if((n|0)!=0&(a|0)!=0){a=n;f=e;n=0;while(1){e=r>>>0>=a>>>0;if(!(e|r>>>0>32)){e=f;break e}e=e?a:r;r=r-e|0;e=yy(t,o,e,0)|0;if((e|0)==-1){n=r;break}d=(t|0)==(l|0);c=d?0:e;f=a-c|0;t=d?t:t+e|0;n=e+n|0;e=h[o>>2]|0;if((a|0)!=(c|0)&(e|0)!=0){a=f;f=e}else{a=f;break e}}r=n;a=0;e=h[o>>2]|0;n=-1}else{a=n;n=0}}while(0);e:do{if((e|0)!=0?(a|0)!=0&(r|0)!=0:0){f=e;e=t;while(1){t=vy(e,h[f>>2]|0,0)|0;if((t+1|0)>>>0<2)break;f=(h[o>>2]|0)+4|0;h[o>>2]=f;r=r+-1|0;n=n+1|0;if(!((a|0)!=(t|0)&(r|0)!=0))break e;else{a=a-t|0;e=e+t|0}}if(!t)h[o>>2]=0;else n=-1}}while(0);if(s)h[i>>2]=h[o>>2];v=u;return n|0}function yy(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;e:do{if(!e){e=h[i>>2]|0;t=h[e>>2]|0;if(!t)r=0;else{r=0;do{if(t>>>0>127){t=vy(a,t,0)|0;if((t|0)==-1){r=-1;break e}}else t=1;r=t+r|0;e=e+4|0;t=h[e>>2]|0}while((t|0)!=0)}}else{i:do{if(r>>>0>3){t=r;n=h[i>>2]|0;while(1){f=h[n>>2]|0;if((f+-1|0)>>>0>126){if(!f)break;f=vy(e,f,0)|0;if((f|0)==-1){r=-1;break e}e=e+f|0;t=t-f|0}else{c[e>>0]=f;e=e+1|0;t=t+-1|0;n=h[i>>2]|0}n=n+4|0;h[i>>2]=n;if(t>>>0<=3)break i}c[e>>0]=0;h[i>>2]=0;r=r-t|0;break e}else t=r}while(0);if(t){n=h[i>>2]|0;while(1){f=h[n>>2]|0;if((f+-1|0)>>>0>126){if(!f){n=19;break}f=vy(a,f,0)|0;if((f|0)==-1){r=-1;break e}if(t>>>0>>0){n=22;break}vy(e,h[n>>2]|0,0)|0;e=e+f|0;t=t-f|0}else{c[e>>0]=f;e=e+1|0;t=t+-1|0;n=h[i>>2]|0}n=n+4|0;h[i>>2]=n;if(!t)break e}if((n|0)==19){c[e>>0]=0;h[i>>2]=0;r=r-t|0;break}else if((n|0)==22){r=r-t|0;break}}}}while(0);v=l;return r|0}function Ey(e,i){e=e|0;i=i|0;if(!e)e=0;else e=vy(e,i,0)|0;return e|0}function Ay(e){e=e|0;return 0}function My(e){e=e|0;return}function Ty(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;a=i&255;c[l>>0]=a;t=e+16|0;n=h[t>>2]|0;if(!n)if(!(xy(e)|0)){n=h[t>>2]|0;f=4}else r=-1;else f=4;do{if((f|0)==4){t=e+20|0;f=h[t>>2]|0;if(f>>>0>>0?(r=i&255,(r|0)!=(c[e+75>>0]|0)):0){h[t>>2]=f+1;c[f>>0]=a;break}if((vE[h[e+36>>2]&63](e,l,1)|0)==1)r=b[l>>0]|0;else r=-1}}while(0);v=s;return r|0}function Sy(e){e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;h[r>>2]=h[e+60>>2];e=Zg(Mi(6,r|0)|0)|0;v=i;return e|0}function Py(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+48|0;f=o+16|0;n=o;t=o+32|0;h[t>>2]=i;a=t+4|0;s=e+48|0;u=h[s>>2]|0;h[a>>2]=r-((u|0)!=0&1);l=e+44|0;h[t+8>>2]=h[l>>2];h[t+12>>2]=u;if(!(h[9258]|0)){h[f>>2]=h[e+60>>2];h[f+4>>2]=t;h[f+8>>2]=2;t=Zg(Di(145,f|0)|0)|0}else{Ti(185,e|0);h[n>>2]=h[e+60>>2];h[n+4>>2]=t;h[n+8>>2]=2;t=Zg(Di(145,n|0)|0)|0;mi(0)}if((t|0)>=1){a=h[a>>2]|0;if(t>>>0>a>>>0){f=h[l>>2]|0;n=e+4|0;h[n>>2]=f;h[e+8>>2]=f+(t-a);if(!(h[s>>2]|0))t=r;else{h[n>>2]=f+1;c[i+(r+-1)>>0]=c[f>>0]|0;t=r}}}else{h[e>>2]=h[e>>2]|t&48^16;h[e+8>>2]=0;h[e+4>>2]=0}v=o;return t|0}function Oy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+32|0;f=n;t=n+20|0;h[f>>2]=h[e+60>>2];h[f+4>>2]=0;h[f+8>>2]=i;h[f+12>>2]=t;h[f+16>>2]=r;if((Zg(Ci(140,f|0)|0)|0)<0){h[t>>2]=-1;e=-1}else e=h[t>>2]|0;v=n;return e|0}function Ry(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;k=v;v=v+48|0;c=k+16|0;u=k;t=k+32|0;d=e+28|0;n=h[d>>2]|0;h[t>>2]=n;b=e+20|0;n=(h[b>>2]|0)-n|0;h[t+4>>2]=n;h[t+8>>2]=i;h[t+12>>2]=r;s=e+60|0;o=e+44|0;i=2;n=n+r|0;while(1){if(!(h[9258]|0)){h[c>>2]=h[s>>2];h[c+4>>2]=t;h[c+8>>2]=i;a=Zg(xi(146,c|0)|0)|0}else{Ti(186,e|0);h[u>>2]=h[s>>2];h[u+4>>2]=t;h[u+8>>2]=i;a=Zg(xi(146,u|0)|0)|0;mi(0)}if((n|0)==(a|0)){n=6;break}if((a|0)<0){n=8;break}n=n-a|0;f=h[t+4>>2]|0;if(a>>>0<=f>>>0)if((i|0)==2){h[d>>2]=(h[d>>2]|0)+a;l=f;i=2}else l=f;else{l=h[o>>2]|0;h[d>>2]=l;h[b>>2]=l;l=h[t+12>>2]|0;a=a-f|0;t=t+8|0;i=i+-1|0}h[t>>2]=(h[t>>2]|0)+a;h[t+4>>2]=l-a}if((n|0)==6){c=h[o>>2]|0;h[e+16>>2]=c+(h[e+48>>2]|0);e=c;h[d>>2]=e;h[b>>2]=e}else if((n|0)==8){h[e+16>>2]=0;h[d>>2]=0;h[b>>2]=0;h[e>>2]=h[e>>2]|32;if((i|0)==2)r=0;else r=r-(h[t+4>>2]|0)|0}v=k;return r|0}function Ly(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+80|0;t=n;h[e+36>>2]=8;if((h[e>>2]&64|0)==0?(h[t>>2]=h[e+60>>2],h[t+4>>2]=21505,h[t+8>>2]=n+12,(wi(54,t|0)|0)!=0):0)c[e+75>>0]=-1;t=Ry(e,i,r)|0;v=n;return t|0}function Cy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=e+84|0;f=h[t>>2]|0;a=r+256|0;n=Qy(f,0,a)|0;n=(n|0)==0?a:n-f|0;r=n>>>0>>0?n:r;Im(i|0,f|0,r|0)|0;h[e+4>>2]=f+r;i=f+n|0;h[e+8>>2]=i;h[t>>2]=i;return r|0}function Dy(e){e=e|0;var i=0,r=0;i=e+74|0;r=c[i>>0]|0;c[i>>0]=r+255|r;i=e+20|0;r=e+44|0;if((h[i>>2]|0)>>>0>(h[r>>2]|0)>>>0)vE[h[e+36>>2]&63](e,0,0)|0;h[e+16>>2]=0;h[e+28>>2]=0;h[i>>2]=0;i=h[e>>2]|0;if(i&20)if(!(i&4))i=-1;else{h[e>>2]=i|32;i=-1}else{i=h[r>>2]|0;h[e+8>>2]=i;h[e+4>>2]=i;i=0}return i|0}function xy(e){e=e|0;var i=0,r=0;i=e+74|0;r=c[i>>0]|0;c[i>>0]=r+255|r;i=h[e>>2]|0;if(!(i&8)){h[e+8>>2]=0;h[e+4>>2]=0;i=h[e+44>>2]|0;h[e+28>>2]=i;h[e+20>>2]=i;h[e+16>>2]=i+(h[e+48>>2]|0);i=0}else{h[e>>2]=i|32;i=-1}return i|0}function Iy(e){e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;if((h[e+8>>2]|0)==0?(Dy(e)|0)!=0:0)i=-1;else if((vE[h[e+32>>2]&63](e,i,1)|0)==1)i=b[i>>0]|0;else i=-1;v=r;return i|0}function By(e){e=e|0;var i=0,r=0;do{if(e){if((h[e+76>>2]|0)<=-1){i=cE(e)|0;break}r=(Ay(e)|0)==0;i=cE(e)|0;if(!r)My(e)}else{if(!(h[9323]|0))i=0;else i=By(h[9323]|0)|0;Ye(37060);e=h[9264]|0;if(e)do{if((h[e+76>>2]|0)>-1)r=Ay(e)|0;else r=0;if((h[e+20>>2]|0)>>>0>(h[e+28>>2]|0)>>>0)i=cE(e)|0|i;if(r)My(e);e=h[e+56>>2]|0}while((e|0)!=0);_i(37060)}}while(0);return i|0}function Ny(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;if((h[i+76>>2]|0)>=0?(Ay(i)|0)!=0:0){if((c[i+75>>0]|0)!=(e|0)?(t=i+20|0,n=h[t>>2]|0,n>>>0<(h[i+16>>2]|0)>>>0):0){h[t>>2]=n+1;c[n>>0]=e;r=e&255}else r=Ty(i,e)|0;My(i)}else a=3;do{if((a|0)==3){if((c[i+75>>0]|0)!=(e|0)?(f=i+20|0,r=h[f>>2]|0,r>>>0<(h[i+16>>2]|0)>>>0):0){h[f>>2]=r+1;c[r>>0]=e;r=e&255;break}r=Ty(i,e)|0}}while(0);return r|0}function Fy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=r+16|0;n=h[t>>2]|0;if(!n)if(!(xy(r)|0)){n=h[t>>2]|0;f=4}else t=0;else f=4;e:do{if((f|0)==4){a=r+20|0;f=h[a>>2]|0;if((n-f|0)>>>0>>0){t=vE[h[r+36>>2]&63](r,e,i)|0;break}i:do{if((c[r+75>>0]|0)>-1){t=i;while(1){if(!t){n=f;t=0;break i}n=t+-1|0;if((c[e+n>>0]|0)==10)break;else t=n}if((vE[h[r+36>>2]&63](r,e,t)|0)>>>0>>0)break e;i=i-t|0;e=e+t|0;n=h[a>>2]|0}else{n=f;t=0}}while(0);Im(n|0,e|0,i|0)|0;h[a>>2]=(h[a>>2]|0)+i;t=t+i|0}}while(0);return t|0}function Uy(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=ce(r,i)|0;if((h[t+76>>2]|0)>-1){f=(Ay(t)|0)==0;e=Fy(e,n,t)|0;if(!f)My(t)}else e=Fy(e,n,t)|0;if((e|0)!=(n|0))r=(e>>>0)/(i>>>0)|0;return r|0}function jy(e){e=e|0;var i=0,r=0,t=0;if((h[e+76>>2]|0)>=0?(Ay(e)|0)!=0:0){i=e+4|0;r=h[i>>2]|0;if(r>>>0<(h[e+8>>2]|0)>>>0){h[i>>2]=r+1;i=b[r>>0]|0}else i=Iy(e)|0}else t=3;do{if((t|0)==3){i=e+4|0;r=h[i>>2]|0;if(r>>>0<(h[e+8>>2]|0)>>>0){h[i>>2]=r+1;i=b[r>>0]|0;break}else{i=Iy(e)|0;break}}}while(0);return i|0}function Hy(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=v;v=v+16|0;f=n;h[f>>2]=t;t=Gy(e,i,r,f)|0;v=n;return t|0}function Yy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=v;v=v+16|0;n=t;h[n>>2]=r;r=Ky(e,i,n)|0;v=t;return r|0}function qy(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;do{if((e|0)!=-1){if((h[i+76>>2]|0)>-1)n=Ay(i)|0;else n=0;if(!((h[i+8>>2]|0)==0?(Dy(i)|0)!=0:0))f=6;if((f|0)==6?(r=i+4|0,t=h[r>>2]|0,t>>>0>((h[i+44>>2]|0)+-8|0)>>>0):0){f=t+-1|0;h[r>>2]=f;c[f>>0]=e;h[i>>2]=h[i>>2]&-17;if(!n)break;My(i);break}if(n){My(i);e=-1}else e=-1}else e=-1}while(0);return e|0}function Xy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;t=l;n=jc(240)|0;do{if(n){h[t>>2]=h[r>>2];t=Gy(n,240,i,t)|0;if(t>>>0<240){i=qc(n,t+1|0)|0;h[e>>2]=(i|0)!=0?i:n;break}Hc(n);if((t|0)>=0?(a=t+1|0,f=jc(a)|0,h[e>>2]=f,(f|0)!=0):0)t=Gy(f,a,i,r)|0;else t=-1}else t=-1}while(0);v=l;return t|0}function zy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+224|0;d=_+80|0;w=_+96|0;k=_;b=_+136|0;t=w;n=t+40|0;do{h[t>>2]=0;t=t+4|0}while((t|0)<(n|0));h[d>>2]=h[r>>2];if((Cc(0,i,d,k,w)|0)<0)r=-1;else{if((h[e+76>>2]|0)>-1)o=Ay(e)|0;else o=0;r=h[e>>2]|0;u=r&32;if((c[e+74>>0]|0)<1)h[e>>2]=r&-33;r=e+48|0;if(!(h[r>>2]|0)){n=e+44|0;f=h[n>>2]|0;h[n>>2]=b;a=e+28|0;h[a>>2]=b;l=e+20|0;h[l>>2]=b;h[r>>2]=80;s=e+16|0;h[s>>2]=b+80;t=Cc(e,i,d,k,w)|0;if(f){vE[h[e+36>>2]&63](e,0,0)|0;t=(h[l>>2]|0)==0?-1:t;h[n>>2]=f;h[r>>2]=0;h[s>>2]=0;h[a>>2]=0;h[l>>2]=0}}else t=Cc(e,i,d,k,w)|0;r=h[e>>2]|0;h[e>>2]=r|u;if(o)My(e);r=(r&32|0)==0?t:-1}v=_;return r|0}function Vy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0.0,o=0,u=0,k=0,w=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,Y=0;j=v;v=v+304|0;C=j+16|0;x=j+8|0;D=j+33|0;I=j;A=j+32|0;if((h[e+76>>2]|0)>-1)U=Ay(e)|0;else U=0;t=c[i>>0]|0;e:do{if(t<<24>>24){B=e+4|0;N=e+100|0;L=e+108|0;M=e+8|0;T=D+10|0;S=D+33|0;P=x+4|0;O=D+46|0;R=D+94|0;f=t;t=0;a=i;k=0;n=0;i=0;i:while(1){r:do{if(!(qg(f&255)|0)){f=(c[a>>0]|0)==37;t:do{if(f){o=a+1|0;l=c[o>>0]|0;n:do{switch(l<<24>>24){case 37:break t;case 42:{E=0;l=a+2|0;break}default:{l=(l&255)+-48|0;if(l>>>0<10?(c[a+2>>0]|0)==36:0){h[C>>2]=h[r>>2];while(1){E=(h[C>>2]|0)+(4-1)&~(4-1);f=h[E>>2]|0;h[C>>2]=E+4;if(l>>>0>1)l=l+-1|0;else break}E=f;l=a+3|0;break n}l=(h[r>>2]|0)+(4-1)&~(4-1);E=h[l>>2]|0;h[r>>2]=l+4;l=o}}}while(0);f=c[l>>0]|0;a=f&255;if((a+-48|0)>>>0<10){f=0;while(1){o=(f*10|0)+-48+a|0;l=l+1|0;f=c[l>>0]|0;a=f&255;if((a+-48|0)>>>0>=10)break;else f=o}}else o=0;if(f<<24>>24==109){l=l+1|0;u=c[l>>0]|0;f=(E|0)!=0&1;n=0;i=0}else{u=f;f=0}a=l+1|0;switch(u&255|0){case 104:{y=(c[a>>0]|0)==104;a=y?l+2|0:a;l=y?-2:-1;break}case 108:{y=(c[a>>0]|0)==108;a=y?l+2|0:a;l=y?3:1;break}case 106:{l=3;break}case 116:case 122:{l=1;break}case 76:{l=2;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{a=l;l=0;break}default:{F=152;break i}}u=b[a>>0]|0;w=(u&47|0)==3;u=w?u|32:u;w=w?1:l;switch(u|0){case 99:{y=k;g=(o|0)<1?1:o;break}case 91:{y=k;g=o;break}case 110:{if(!E){l=k;break r}switch(w|0){case-2:{c[E>>0]=k;l=k;break r}case-1:{d[E>>1]=k;l=k;break r}case 0:{h[E>>2]=k;l=k;break r}case 1:{h[E>>2]=k;l=k;break r}case 3:{l=E;h[l>>2]=k;h[l+4>>2]=((k|0)<0)<<31>>31;l=k;break r}default:{l=k;break r}}}default:{Wg(e,0);do{l=h[B>>2]|0;if(l>>>0<(h[N>>2]|0)>>>0){h[B>>2]=l+1;l=b[l>>0]|0}else l=Jg(e)|0}while((qg(l)|0)!=0);l=h[B>>2]|0;if(h[N>>2]|0){l=l+-1|0;h[B>>2]=l}y=(h[L>>2]|0)+k+l-(h[M>>2]|0)|0;g=o}}Wg(e,g);l=h[B>>2]|0;o=h[N>>2]|0;if(l>>>0>>0)h[B>>2]=l+1;else{if((Jg(e)|0)<0){F=152;break i}o=h[N>>2]|0}if(o)h[B>>2]=(h[B>>2]|0)+-1;n:do{switch(u|0){case 91:case 99:case 115:{p=(u|0)==99;f:do{if((u&239|0)==99){Cm(D|0,-1,257)|0;c[D>>0]=0;if((u|0)==115){c[S>>0]=0;c[T>>0]=0;c[T+1>>0]=0;c[T+2>>0]=0;c[T+3>>0]=0;c[T+4>>0]=0}}else{Y=a+1|0;k=(c[Y>>0]|0)==94;l=k&1;u=k?Y:a;a=k?a+2|0:Y;Cm(D|0,k&1|0,257)|0;c[D>>0]=0;switch(c[a>>0]|0){case 45:{k=(l^1)&255;c[O>>0]=k;a=u+2|0;break}case 93:{k=(l^1)&255;c[R>>0]=k;a=u+2|0;break}default:k=(l^1)&255}while(1){l=c[a>>0]|0;a:do{switch(l<<24>>24){case 0:{F=152;break i}case 93:break f;case 45:{u=a+1|0;l=c[u>>0]|0;switch(l<<24>>24){case 93:case 0:{l=45;break a}default:{}}a=c[a+-1>>0]|0;if((a&255)<(l&255)){a=a&255;do{a=a+1|0;c[D+a>>0]=k;l=c[u>>0]|0}while((a|0)<(l&255|0));a=u}else a=u;break}default:{}}}while(0);c[D+((l&255)+1)>>0]=k;a=a+1|0}}}while(0);u=p?g+1|0:31;k=(w|0)==1;w=(f|0)!=0;f:do{if(k){if(w){i=jc(u<<2)|0;if(!i){n=0;F=152;break i}}else i=E;h[x>>2]=0;h[P>>2]=0;n=0;a:while(1){o=(i|0)==0;do{l:while(1){l=h[B>>2]|0;if(l>>>0<(h[N>>2]|0)>>>0){h[B>>2]=l+1;l=b[l>>0]|0}else l=Jg(e)|0;if(!(c[D+(l+1)>>0]|0))break a;c[A>>0]=l;switch(ky(I,A,1,x)|0){case-1:{n=0;F=152;break i}case-2:break;default:break l}}if(!o){h[i+(n<<2)>>2]=h[I>>2];n=n+1|0}}while(!(w&(n|0)==(u|0)));n=u<<1|1;l=qc(i,n<<2)|0;if(!l){n=0;F=152;break i}Y=u;u=n;i=l;n=Y}if(!(wy(x)|0)){n=0;F=152;break i}else{o=n;n=0}}else{if(w){n=jc(u)|0;if(!n){n=0;i=0;F=152;break i}else l=0;while(1){do{i=h[B>>2]|0;if(i>>>0<(h[N>>2]|0)>>>0){h[B>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if(!(c[D+(i+1)>>0]|0)){o=l;i=0;break f}c[n+l>>0]=i;l=l+1|0}while((l|0)!=(u|0));i=u<<1|1;l=qc(n,i)|0;if(!l){i=0;F=152;break i}else{Y=u;u=i;n=l;l=Y}}}if(!E){n=o;while(1){i=h[B>>2]|0;if(i>>>0>>0){h[B>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if(!(c[D+(i+1)>>0]|0)){o=0;n=0;i=0;break f}n=h[N>>2]|0}}else{n=0;while(1){i=h[B>>2]|0;if(i>>>0>>0){h[B>>2]=i+1;i=b[i>>0]|0}else i=Jg(e)|0;if(!(c[D+(i+1)>>0]|0)){o=n;n=E;i=0;break f}c[E+n>>0]=i;o=h[N>>2]|0;n=n+1|0}}}}while(0);l=h[B>>2]|0;if(h[N>>2]|0){l=l+-1|0;h[B>>2]=l}l=l-(h[M>>2]|0)+(h[L>>2]|0)|0;if(!l)break i;if(!((l|0)==(g|0)|p^1))break i;do{if(w)if(k){h[E>>2]=i;break}else{h[E>>2]=n;break}}while(0);if(!p){if(i)h[i+(o<<2)>>2]=0;if(!n){n=0;break n}c[n+o>>0]=0}break}case 120:case 88:case 112:{l=16;F=134;break}case 111:{l=8;F=134;break}case 117:case 100:{l=10;F=134;break}case 105:{l=0;F=134;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{s=+Gg(e,w,0);if((h[L>>2]|0)==((h[M>>2]|0)-(h[B>>2]|0)|0))break i;if(E)switch(w|0){case 0:{_[E>>2]=s;break n}case 1:{m[E>>3]=s;break n}case 2:{m[E>>3]=s;break n}default:break n}break}default:{}}}while(0);n:do{if((F|0)==134){F=0;l=Kg(e,l,0,-1,-1)|0;if((h[L>>2]|0)==((h[M>>2]|0)-(h[B>>2]|0)|0))break i;if((E|0)!=0&(u|0)==112){h[E>>2]=l;break}if(E)switch(w|0){case-2:{c[E>>0]=l;break n}case-1:{d[E>>1]=l;break n}case 0:{h[E>>2]=l;break n}case 1:{h[E>>2]=l;break n}case 3:{Y=E;h[Y>>2]=l;h[Y+4>>2]=H;break n}default:break n}}}while(0);t=((E|0)!=0&1)+t|0;l=(h[L>>2]|0)+y+(h[B>>2]|0)-(h[M>>2]|0)|0;break r}}while(0);a=a+(f&1)|0;Wg(e,0);f=h[B>>2]|0;if(f>>>0<(h[N>>2]|0)>>>0){h[B>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0;if((f|0)!=(b[a>>0]|0)){F=21;break i}l=k+1|0}else{while(1){f=a+1|0;if(!(qg(b[f>>0]|0)|0))break;else a=f}Wg(e,0);do{f=h[B>>2]|0;if(f>>>0<(h[N>>2]|0)>>>0){h[B>>2]=f+1;f=b[f>>0]|0}else f=Jg(e)|0}while((qg(f)|0)!=0);f=h[B>>2]|0;if(h[N>>2]|0){f=f+-1|0;h[B>>2]=f}l=(h[L>>2]|0)+k+f-(h[M>>2]|0)|0}}while(0);a=a+1|0;f=c[a>>0]|0;if(!(f<<24>>24))break e;else k=l}if((F|0)==21){if(h[N>>2]|0)h[B>>2]=(h[B>>2]|0)+-1;if((t|0)!=0|(f|0)>-1)break;else{t=0;F=153}}else if((F|0)==152)if(!t){t=f;F=153}if((F|0)==153){f=t;t=-1}if(f){Hc(n);Hc(i)}}else t=0}while(0);if(U)My(e);v=j;return t|0}function Gy(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+128|0;n=u+112|0;o=u;f=o;a=37352;l=f+112|0;do{h[f>>2]=h[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));if((i+-1|0)>>>0>2147483646)if(!i){i=1;s=4}else{i=zg()|0;h[i>>2]=75;i=-1}else{n=e;s=4}if((s|0)==4){s=-2-n|0;s=i>>>0>s>>>0?s:i;h[o+48>>2]=s;e=o+20|0;h[e>>2]=n;h[o+44>>2]=n;i=n+s|0;n=o+16|0;h[n>>2]=i;h[o+28>>2]=i;i=zy(o,r,t)|0;if(s){r=h[e>>2]|0;c[r+(((r|0)==(h[n>>2]|0))<<31>>31)>>0]=0}}v=u;return i|0}function Ky(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=v;v=v+112|0;t=f;n=t;a=n+112|0;do{h[n>>2]=0;n=n+4|0}while((n|0)<(a|0));h[t+32>>2]=29;h[t+44>>2]=e;h[t+76>>2]=-1;h[t+84>>2]=e;a=Vy(t,i,r)|0;v=f;return a|0}function Wy(e,i,r){e=e|0;i=i|0;r=r|0;return+ +xc(e,i,2)}function Jy(e,i,r){e=e|0;i=i|0;r=r|0;e=Ic(e,i,r,-1,-1)|0;return e|0}function Zy(e,i,r){e=e|0;i=i|0;r=r|0;e=Ic(e,i,r,0,-2147483648)|0;return e|0}function Qy(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i&255;t=(r|0)!=0;e:do{if(t&(e&3|0)!=0){n=i&255;while(1){if((c[e>>0]|0)==n<<24>>24){a=6;break e}e=e+1|0;r=r+-1|0;t=(r|0)!=0;if(!(t&(e&3|0)!=0)){a=5;break}}}else a=5}while(0);if((a|0)==5)if(t)a=6;else r=0;e:do{if((a|0)==6){n=i&255;if((c[e>>0]|0)!=n<<24>>24){t=ce(f,16843009)|0;i:do{if(r>>>0>3)while(1){f=h[e>>2]^t;if((f&-2139062144^-2139062144)&f+-16843009)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){a=11;break i}}else a=11}while(0);if((a|0)==11)if(!r){r=0;break}while(1){if((c[e>>0]|0)==n<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}}while(0);return((r|0)!=0?e:0)|0}function $y(e,i){e=e|0;i=i|0;var r=0,t=0;r=i;e:do{if(!((r^e)&3)){if(r&3)do{r=c[i>>0]|0;c[e>>0]=r;if(!(r<<24>>24))break e;i=i+1|0;e=e+1|0}while((i&3|0)!=0);r=h[i>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){t=e;while(1){i=i+4|0;e=t+4|0;h[t>>2]=r;r=h[i>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009)break;else t=e}}t=8}else t=8}while(0);if((t|0)==8){t=c[i>>0]|0;c[e>>0]=t;if(t<<24>>24)do{i=i+1|0;e=e+1|0;t=c[i>>0]|0;c[e>>0]=t}while(t<<24>>24!=0)}return e|0}function eE(e,i){e=e|0;i=i|0;var r=0,t=0;t=c[e>>0]|0;r=c[i>>0]|0;if(t<<24>>24==0?1:t<<24>>24!=r<<24>>24)i=t;else{do{e=e+1|0;i=i+1|0;t=c[e>>0]|0;r=c[i>>0]|0}while(!(t<<24>>24==0?1:t<<24>>24!=r<<24>>24));i=t}return(i&255)-(r&255)|0}function iE(e,i){e=e|0;i=i|0;$y(e,i)|0;return e|0}function rE(e){e=e|0;var i=0,r=0,t=0;t=e;e:do{if(!(t&3))r=4;else{i=e;e=t;while(1){if(!(c[i>>0]|0))break e;i=i+1|0;e=i;if(!(e&3)){e=i;r=4;break}}}}while(0);if((r|0)==4){while(1){i=h[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009))e=e+4|0;else break}if((i&255)<<24>>24)do{e=e+1|0}while((c[e>>0]|0)!=0)}return e-t|0}function tE(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if(!r)i=0;else{t=c[e>>0]|0;e:do{if(!(t<<24>>24))t=0;else while(1){r=r+-1|0;n=c[i>>0]|0;if(!(t<<24>>24==n<<24>>24&((r|0)!=0&n<<24>>24!=0)))break e;e=e+1|0;i=i+1|0;t=c[e>>0]|0;if(!(t<<24>>24)){t=0;break}}}while(0);i=(t&255)-(b[i>>0]|0)|0}return i|0}function nE(e){e=e|0;var i=0;i=e;while(1)if(!(h[i>>2]|0))break;else i=i+4|0;return i-e>>2|0}function fE(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(r){t=e;while(1){r=r+-1|0;h[t>>2]=h[i>>2];if(!r)break;else{i=i+4|0;t=t+4|0}}}return e|0}function aE(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=(r|0)==0;if(e-i>>2>>>0>>0){if(!t)do{r=r+-1|0;h[e+(r<<2)>>2]=h[i+(r<<2)>>2]}while((r|0)!=0)}else if(!t){t=i;i=e;while(1){r=r+-1|0;h[i>>2]=h[t>>2];if(!r)break;else{t=t+4|0;i=i+4|0}}}return e|0}function lE(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(r){t=e;while(1){r=r+-1|0;h[t>>2]=i;if(!r)break;else t=t+4|0}}return e|0}function sE(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;a=e+4|0;r=h[a>>2]|0;l=e+100|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0;switch(r|0){case 43:case 45:{t=(r|0)==45&1;r=h[a>>2]|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0;if((i|0)!=0&(r+-48|0)>>>0>9?(h[l>>2]|0)!=0:0){h[a>>2]=(h[a>>2]|0)+-1;f=t}else f=t;break}default:f=0}if((r+-48|0)>>>0>9)if(!(h[l>>2]|0)){t=-2147483648;r=0}else{h[a>>2]=(h[a>>2]|0)+-1;t=-2147483648;r=0}else{t=0;do{t=r+-48+(t*10|0)|0;r=h[a>>2]|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0}while((r+-48|0)>>>0<10&(t|0)<214748364);i=((t|0)<0)<<31>>31;if((r+-48|0)>>>0<10){do{i=qm(t|0,i|0,10,0)|0;t=H;r=Dm(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;t=Dm(r|0,H|0,i|0,t|0)|0;i=H;r=h[a>>2]|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0}while((r+-48|0)>>>0<10&((i|0)<21474836|(i|0)==21474836&t>>>0<2061584302));n=t}else n=t;if((r+-48|0)>>>0<10)do{r=h[a>>2]|0;if(r>>>0<(h[l>>2]|0)>>>0){h[a>>2]=r+1;r=b[r>>0]|0}else r=Jg(e)|0}while((r+-48|0)>>>0<10);if(h[l>>2]|0)h[a>>2]=(h[a>>2]|0)+-1;e=(f|0)!=0;r=Lm(0,0,n|0,i|0)|0;t=e?H:i;r=e?r:n}H=t;return r|0}function oE(e){e=e|0;if(!(h[e+68>>2]|0))My(e);return}function uE(e){e=e|0;if(!(h[e+68>>2]|0))My(e);return}function cE(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;i=e+20|0;f=e+28|0;if((h[i>>2]|0)>>>0>(h[f>>2]|0)>>>0?(vE[h[e+36>>2]&63](e,0,0)|0,(h[i>>2]|0)==0):0)i=-1;else{a=e+4|0;r=h[a>>2]|0;t=e+8|0;n=h[t>>2]|0;if(r>>>0>>0)vE[h[e+40>>2]&63](e,r-n|0,1)|0;h[e+16>>2]=0;h[f>>2]=0;h[i>>2]=0;h[t>>2]=0;h[a>>2]=0;i=0}return i|0}var dE=[wp,$s,to,Qo,ru,lu,ou,Gw,n_,wp,wp,wp,wp,wp,wp,wp];var hE=[_p,Zp,Hl,Ol,_l,fl,Ga,Ia,ma,Sg,Tg,Eg,_p,_p,_p,_p];var bE=[mp,hu,pu,mp];var kE=[pp,Gp,Kp,Nl,Fl,Ml,Tl,hl,bl,il,rl,qa,Xa,La,Ca,ba,ka,ia,ra,qf,Xf,Lf,Cf,pf,vf,lf,sf,kn,wn,rn,tn,or,ur,Lt,It,Ct,ob,cb,ub,db,et,it,Lv,rt,Gr,Kr,Ar,Mr,Cr,Dr,Ur,jr,tt,nt,ut,ct,_t,mt,At,Mt,$t,en,An,Mn,Ln,Cn,Fn,Un,zn,Vn,Oa,Ra,Fd,fv,kv,wv,Cv,Dv,Kv,Wv,ig,rg,ag,lg,og,dg,ug,cg,hg,bg,Bh,ed,ad,gh,cd,_d,Bd,Nd,yh,Nh,Zh,$h,Qh,eb,tb,fb,nb,ab,_b,pb,mb,vb,Sb,Pb,hh,Ob,Rb,Lb,Db,Ku,Nb,Fb,Yb,qb,tk,nk,Ek,Ak,Fk,Uk,is,rs,Ts,Ss,Js,Qs,io,ro,fo,ao,_o,mo,Po,Oo,Uo,jo,Jo,Zo,fu,au,cu,du,_u,mu,Eu,Au,Pu,Ou,Bu,Nu,dc,hc,Vw,Lc,_w,mw,pw,vw,Cb,Gu,Ju,yc,Zk,fw,hw,bw,xv,Ev,Yv,sr,Eh,rb,Yt,ga,Ng,oE,uE,Gc,iy,$o,iu,Wu,rm,om,um,cm,dm,hm,bm,qd,th,Hc,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp,pp];var wE=[vp,Jp,jl,Pl,wl,nl,Va,xa,_a,ta,zf,Df,gf,of,_n,nn,cr,Ah,_v,vv,id,fd,dd,wd,Uh,oo,uo,co,ho,ko,wo,go,yo,Eo,Ao,To,So,Co,Do,xo,Io,No,Fo,qo,Xo,zo,Vo,Ko,Wo,Su,Cu,Mw,Sw,Ow,Tw,Pw,Rw,er,Iv,gv,yv,Av,mh,mr,vr,hb,dh,Zd,Ht,sn,$n,hf,Mf,Nf,Wf,la,va,Na,Wa,ll,pl,Ll,ql,$p,hv,jv,Sd,Md,wh,gb,Td,Wd,lh,ah,A_,M_,T_,S_,P_,O_,Rc,R_,L_,C_,D_,x_,I_,B_,N_,F_,U_,j_,H_,Y_,q_,X_,z_,V_,G_,K_,W_,J_,Z_,Q_,em,vm,vp,vp];var _E=[gp,Xb,zb,Vb,Gb,Kb,Wb,Jb,Zb,Qb,$b,ek,fk,ak,lk,sk,ok,uk,ck,dk,hk,bk,kk,Rk,Ck,qk,Wl,ns,fs,as,ss,us,Os,Rs,Ls,Ds,Is,wu,yu,Vr,w_,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp,gp];var mE=[yp,Ph,Oh,Zr,Ch,av,Jv,tg,sg,Sy,rd,Xh,Vh,Gh,qh,ld,sd,hd,Lh,md,pd,Eb,ts,Cw,xw,Bw,Yw,Xw,Fw,jw,Ps,Dw,Iw,Nw,qw,zw,Uw,Hw,lo,so,bo,po,vo,Mo,Ro,Lo,Bo,Ho,Yo,Go,Gk,Kk,Jk,gw,Ew,yw,Aw,Tc,Sc,Oc,iw,rw,nw,ow,uw,dw,ov,Xv,_h,Tv,ib,lb,Ep,Ap,Mp,fy,nE,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp,yp];var pE=[Tp,eu,su,Tp];var vE=[Sp,Mh,Rh,xh,Od,Rd,kg,Bc,Ry,Oy,Py,Ly,jh,zh,td,Wh,bd,Bb,Hb,Mu,Ru,kc,_c,vc,Zu,nc,lc,uc,pr,Dc,Qd,ny,g_,E_,vy,py,by,Xy,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp,Sp];var gE=[Pp,ku,gu,Pp];var yE=[Op,Wr,Rg,Og,Pg,Hh,Th,Tu,Lu,Op,Op,Op,Op,Op,Op,Op];var EE=[Rp,Ok,Ik,Yk,Zl,Rp,Rp,Rp];var AE=[Lp,tu,uu,bu,vu,Lp,Lp,Lp];var ME=[Cp,Wp,Ul,Sl,kl,tl,za,Da,wa,fa,Gf,If,Ef,cf,pn,an,hr,Qr,$r,Kh,nd,od,Jh,Dh,kd,vd,Ih,bc,wc,mc,rc,fc,sc,Bv,nr,ar,kb,Vu,wb,ty,ry,zd,nh,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp,Cp];var TE=[Dp,xb,Ub,Mk,Tk,Lk,Nk,jk,Hk,Kl,$l,gc,Vk,Wk,cc,Mc,Pc,ew,tw,sw,cw,gy,_y,Dp,Dp,Dp,Dp,Dp,Dp,Dp,Dp,Dp];var SE=[xp,Em,ym,gm];var PE=[Ip,ir,qv,rk,Uu,ju,Hu,jg,Yg,Hg,Ip,Ip,Ip,Ip,Ip,Ip];var OE=[Bp,na,Vf,xf,yf,uf,mn,fn,dr,pc,$u,ec,ic,oc,sv,bv,t_,k_,my,$g,ky,Om,Pm,Sm,Tm,Mm,Am,Bp,Bp,Bp,Bp,Bp];var RE=[Np,Pd,lv,Ab,Nv,Hd,Fp,Id,Gd,Mv,Cd,Tb,p_,v_,y_,ih];var LE=[Up,jp,xg,Hp,Ig,Yp,Dg,Up];var CE=[qp,ds,Ns,Xk,zk,Ec,Ac,Qk,$k,aw,lw,qp,qp,qp,qp,qp];var DE=[Xp,Dk,Bk,Jl,Ql,Xp,Xp,Xp];var xE=[zp,Bt,Nt,Dt,xt,Jr,Tr,Sr,xr,Ir,Hr,Yr,ft,at,dt,ht,pt,vt,Tt,St,Tn,Sn,Dn,xn,jn,Hn,Gn,Kn,_g,mg,vg,Yh,Sh,Ib,jb,Gi,xd,br,kr,wr,_r,gr,yr,Er,vn,gn,yn,En,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp,zp];return{_jpegls_encode:Uv,___cxa_can_catch:Lg,_free:Hc,_jpegls_decode:Fv,___cxa_is_pointer_type:Cg,_i64Add:Dm,_memmove:Nm,_i64Subtract:Lm,_memset:Cm,_malloc:jc,_memcpy:Im,_bitshift64Lshr:xm,_bitshift64Shl:Bm,__GLOBAL__I_000101:Kc,__GLOBAL__sub_I_jpegls_cpp:lr,__GLOBAL__sub_I_iostream_cpp:Wc,runPostSets:Rm,_emscripten_replace_memory:Bi,stackAlloc:Ni,stackSave:Fi,stackRestore:Ui,establishStackSpace:ji,setThrew:Hi,setTempRet0:Xi,getTempRet0:zi,dynCall_iiiiiiii:Gm,dynCall_viiiii:Km,dynCall_iiiiiid:Wm,dynCall_vi:Jm,dynCall_vii:Zm,dynCall_iiiiiii:Qm,dynCall_ii:$m,dynCall_iiiiiiiiiiii:ep,dynCall_iiii:ip,dynCall_viiiiiiiiiiiiiii:rp,dynCall_viiiiii:tp,dynCall_viiiiiii:np,dynCall_viiiiiiiiii:fp,dynCall_iii:ap,dynCall_iiiiii:lp,dynCall_diii:sp,dynCall_i:op,dynCall_iiiii:up,dynCall_viii:cp,dynCall_v:dp,dynCall_iiiiiiiii:hp,dynCall_iiiiid:bp,dynCall_viiii:kp}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_jpegls_encode=Module._jpegls_encode=asm._jpegls_encode,___cxa_can_catch=Module.___cxa_can_catch=asm.___cxa_can_catch,_free=Module._free=asm._free,_jpegls_decode=Module._jpegls_decode=asm._jpegls_decode,___cxa_is_pointer_type=Module.___cxa_is_pointer_type=asm.___cxa_is_pointer_type,_i64Add=Module._i64Add=asm._i64Add,_memmove=Module._memmove=asm._memmove,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_memset=Module._memset=asm._memset,_malloc=Module._malloc=asm._malloc,_memcpy=Module._memcpy=asm._memcpy,_emscripten_replace_memory=Module._emscripten_replace_memory=asm._emscripten_replace_memory,runPostSets=Module.runPostSets=asm.runPostSets,__GLOBAL__sub_I_iostream_cpp=Module.__GLOBAL__sub_I_iostream_cpp=asm.__GLOBAL__sub_I_iostream_cpp,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,__GLOBAL__sub_I_jpegls_cpp=Module.__GLOBAL__sub_I_jpegls_cpp=asm.__GLOBAL__sub_I_jpegls_cpp,__GLOBAL__I_000101=Module.__GLOBAL__I_000101=asm.__GLOBAL__I_000101,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_iiiiiid=Module.dynCall_iiiiiid=asm.dynCall_iiiiiid,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiiiiiiiiiiiii=Module.dynCall_viiiiiiiiiiiiiii=asm.dynCall_viiiiiiiiiiiiiii,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_viiiiiii=Module.dynCall_viiiiiii=asm.dynCall_viiiiiii,dynCall_viiiiiiiiii=Module.dynCall_viiiiiiiiii=asm.dynCall_viiiiiiiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_iiiiiiiii=Module.dynCall_iiiiiiiii=asm.dynCall_iiiiiiiii,dynCall_iiiiid=Module.dynCall_iiiiid=asm.dynCall_iiiiid,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null,calledMain=!1;function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Module.setStatus("")}),1),i()}),1)):i()))}function exit(e,i){if(!i||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",(function(){process.exit(e)})),console.log(" "),setTimeout((function(){process.exit(e)}),500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var i=e.length+1;function r(){for(var e=0;e<3;e++)t.push(0)}var t=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];r();for(var n=0;n0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),Module}},515:(module,__unused_webpack_exports,__webpack_require__)=>{var __dirname="/";module.exports=function(Module){var Module;Module=Module||{},Module||(Module=(void 0!==OpenJPEG?OpenJPEG:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&!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=function(e){process.stdout.write(e+"\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\n")});var nodeFS=__webpack_require__(722),nodePath=__webpack_require__(978);Module.read=function(e,i){e=nodePath.normalize(e);var r=nodeFS.readFileSync(e);return r||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),r=nodeFS.readFileSync(e)),r&&!i&&(r=r.toString()),r},Module.readBinary=function(e){var i=Module.read(e,!0);return i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},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),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 (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var i=read(e,"binary");return assert("object"==typeof i),i},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var i=new XMLHttpRequest;return i.open("GET",e,!1),i.send(null),i.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(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),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}function globalEval(e){eval.call(null,e)}for(var key in!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.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=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":case"float":return 4;case"i64":case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var i=parseInt(e.substr(1));return assert(i%8==0),i/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,i){return"double"===i||"i64"===i?7&e&&(assert(4==(7&e)),e+=4):assert(!(3&e)),e},getAlignSize:function(e,i,r){return r||"i64"!=e&&"double"!=e?e?Math.min(i||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(i,8):8},dynCall:function(e,i,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,i),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,i)},functionPointers:[],addFunction:function(e){for(var i=0;i=TOTAL_MEMORY&&!enlargeMemory())return DYNAMICTOP=i,0;return i},alignMemory:function(e,i){return e=Math.ceil(e/(i||16))*(i||16)},makeBigInt:function(e,i,r){return r?+(e>>>0)+4294967296*+(i>>>0):+(e>>>0)+4294967296*+(0|i)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,i){e||abort("Assertion failed: "+i)}var globalScope=this,cwrap,ccall;function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,i,r,t){switch("*"===(r=r||"i8").charAt(r.length-1)&&(r="i32"),r){case"i1":case"i8":HEAP8[e|0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,i,r){switch("*"===(i=i||"i8").charAt(i.length-1)&&(i="i32"),i){case"i1":case"i8":return HEAP8[e|0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+i)}return null}(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var i=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;return null!=e&&0!==e&&writeStringToMemory(e,i=Runtime.stackAlloc(1+(e.length<<2))),i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,i,r,t,n){var f=getCFunc(e),a=[],l=0;if(t)for(var s=0;s>2]=0;for(s=a+f;t0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(i,l))),f=f?f+a:a,e+=l,i-=l;return f}return Module.UTF8ToString(e)}function AsciiToString(e){for(var i="";;){var r=HEAP8[e++|0];if(!r)return i;i+=String.fromCharCode(r)}}function stringToAscii(e,i){return writeAsciiToMemory(e,i,!1)}function UTF8ArrayToString(e,i){for(var r,t,n,f,a,l="";;){if(!(r=e[i++]))return l;if(128&r)if(t=63&e[i++],192!=(224&r))if(n=63&e[i++],224==(240&r)?r=(15&r)<<12|t<<6|n:(f=63&e[i++],240==(248&r)?r=(7&r)<<18|t<<12|n<<6|f:(a=63&e[i++],r=248==(252&r)?(3&r)<<24|t<<18|n<<12|f<<6|a:(1&r)<<30|t<<24|n<<18|f<<12|a<<6|63&e[i++])),r<65536)l+=String.fromCharCode(r);else{var s=r-65536;l+=String.fromCharCode(55296|s>>10,56320|1023&s)}else l+=String.fromCharCode((31&r)<<6|t);else l+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,r,t){if(!(t>0))return 0;for(var n=r,f=r+t-1,a=0;a=55296&&l<=57343&&(l=65536+((1023&l)<<10)|1023&e.charCodeAt(++a)),l<=127){if(r>=f)break;i[r++]=l}else if(l<=2047){if(r+1>=f)break;i[r++]=192|l>>6,i[r++]=128|63&l}else if(l<=65535){if(r+2>=f)break;i[r++]=224|l>>12,i[r++]=128|l>>6&63,i[r++]=128|63&l}else if(l<=2097151){if(r+3>=f)break;i[r++]=240|l>>18,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}else if(l<=67108863){if(r+4>=f)break;i[r++]=248|l>>24,i[r++]=128|l>>18&63,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}else{if(r+5>=f)break;i[r++]=252|l>>30,i[r++]=128|l>>24&63,i[r++]=128|l>>18&63,i[r++]=128|l>>12&63,i[r++]=128|l>>6&63,i[r++]=128|63&l}}return i[r]=0,r-n}function stringToUTF8(e,i,r){return stringToUTF8Array(e,HEAPU8,i,r)}function lengthBytesUTF8(e){for(var i=0,r=0;r=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++r)),t<=127?++i:i+=t<=2047?2:t<=65535?3:t<=2097151?4:t<=67108863?5:6}return i}function UTF16ToString(e){for(var i=0,r="";;){var t=HEAP16[e+2*i>>1];if(0==t)return r;++i,r+=String.fromCharCode(t)}}function stringToUTF16(e,i,r){if(void 0===r&&(r=2147483647),r<2)return 0;for(var t=i,n=(r-=2)<2*e.length?r/2:e.length,f=0;f>1]=a,i+=2}return HEAP16[i>>1]=0,i-t}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var i=0,r="";;){var t=HEAP32[e+4*i>>2];if(0==t)return r;if(++i,t>=65536){var n=t-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(t)}}function stringToUTF32(e,i,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var t=i,n=t+r-4,f=0;f=55296&&a<=57343)a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f);if(HEAP32[i>>2]=a,(i+=4)+4>n)break}return HEAP32[i>>2]=0,i-t}function lengthBytesUTF32(e){for(var i=0,r=0;r=55296&&t<=57343&&++r,i+=4}return i}function demangle(e){var i=!!Module.___cxa_demangle;if(i)try{var r=_malloc(e.length);writeStringToMemory(e.substr(1),r);var t=_malloc(4),n=Module.___cxa_demangle(r,0,0,t);if(0===getValue(t,"i32")&&n)return Pointer_stringify(n)}catch(e){}finally{r&&_free(r),t&&_free(t),n&&_free(n)}var f=3,a={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},l=[],s=!0;var o=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}o=function i(r,t,n){t=t||1/0;var o,u="",c=[];if("N"===e[f]){if(o=function(){f++,"K"===e[f]&&f++;for(var i=[];"E"!==e[f];)if("S"!==e[f])if("C"!==e[f]){var r=parseInt(e.substr(f)),t=r.toString().length;if(!r||!t){f--;break}var n=e.substr(f+t,r);i.push(n),l.push(n),f+=t+r}else i.push(i[i.length-1]),f+=2;else{f++;var a=e.indexOf("_",f),s=e.substring(f,a)||0;i.push(l[s]||"?"),f=a+1}return f++,i}().join("::"),0==--t)return r?[o]:o}else if(("K"===e[f]||s&&"L"===e[f])&&f++,k=parseInt(e.substr(f))){var d=k.toString().length;o=e.substr(f+d,k),f+=d+k}if(s=!1,"I"===e[f]){f++;var h=i(!0);u+=i(!0,1,!0)[0]+" "+o+"<"+h.join(", ")+">"}else u=o;e:for(;f0;){var b=e[f++];if(b in a)c.push(a[b]);else switch(b){case"P":c.push(i(!0,1,!0)[0]+"*");break;case"R":c.push(i(!0,1,!0)[0]+"&");break;case"L":f++;var k=e.indexOf("E",f)-f;c.push(e.substr(f,k)),f+=k+2;break;case"A":if(k=parseInt(e.substr(f)),f+=k.toString().length,"_"!==e[f])throw"?";f++,c.push(i(!0,1,!0)[0]+" ["+k+"]");break;case"E":break e;default:u+="?"+b;break e}}return n||1!==c.length||"void"!==c[0]||(c=[]),r?(u&&c.push(u+"?"),c):u+"("+c.join(", ")+")"}()}catch(e){o+="?"}return o.indexOf("?")>=0&&!i&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),o}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,(function(e){var i=demangle(e);return e===i?e:e+" ["+i+"]"}))}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(i){e=i}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}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,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}var STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0,byteLength;function enlargeMemory(){var e=Math.pow(2,31);if(DYNAMICTOP>=e)return!1;for(;TOTAL_MEMORY<=DYNAMICTOP;)if(TOTAL_MEMORY=e)return!1;try{if(ArrayBuffer.transfer)buffer=ArrayBuffer.transfer(buffer,TOTAL_MEMORY);else{var r=HEAP8;buffer=new ArrayBuffer(TOTAL_MEMORY)}}catch(e){return!1}return!!_emscripten_replace_memory(buffer)&&(Module.buffer=buffer,Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer),ArrayBuffer.transfer||HEAP8.set(r),!0)}try{byteLength=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get),byteLength(new ArrayBuffer(4))}catch(e){byteLength=function(e){return e.byteLength}}for(var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||16777216,totalMemory=65536,buffer;totalMemory0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[i.arg]):r(void 0===i.arg?null:i.arg)}else i()}}totalMemory=Math.max(totalMemory,16777216),totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support"),buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,i,r){var t=r>0?r:lengthBytesUTF8(e)+1,n=new Array(t),f=stringToUTF8Array(e,n,0,n.length);return i&&(n.length=f),n}function intArrayToString(e){for(var i=[],r=0;r255&&(t&=255),i.push(String.fromCharCode(t))}return i.join("")}function writeStringToMemory(e,i,r){for(var t=intArrayFromString(e,r),n=0;n=0?e:i<=32?2*Math.abs(1<=t&&(i<=32||e>t)&&(e=-2*t+e),e}Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,i){var r=65535&e,t=65535&i;return r*t+((e>>>16)*t+r*(i>>>16)<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var i=0;i<32;i++)if(e&1<<31-i)return i;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+25664,__ATINIT__.push(),allocate([131,192,202,161,69,182,251,63,127,251,58,112,206,136,234,63,127,251,58,112,206,136,234,63,131,192,202,161,69,182,251,63,225,122,20,174,71,225,252,63,94,186,73,12,2,43,249,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,6,64,0,0,0,0,0,128,21,64,92,143,194,245,40,92,37,64,215,163,112,61,10,87,53,64,246,40,92,143,194,85,69,64,133,235,81,184,30,85,85,64,102,102,102,102,102,86,101,64,205,204,204,204,204,84,117,64,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,207,247,83,227,165,155,240,63,70,182,243,253,212,120,249,63,39,49,8,172,28,90,7,64,29,90,100,59,223,207,22,64,41,92,143,194,245,168,38,64,164,112,61,10,215,163,54,64,0,0,0,0,0,160,70,64,31,133,235,81,184,158,86,64,205,204,204,204,204,156,102,64,0,0,0,0,0,0,0,0,173,250,92,109,197,254,230,63,86,125,174,182,98,127,237,63,199,75,55,137,65,96,249,63,242,210,77,98,16,88,8,64,250,126,106,188,116,19,24,64,133,235,81,184,30,5,40,64,0,0,0,0,0,0,56,64,92,143,194,245,40,252,71,64,236,81,184,30,133,251,87,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,113,61,10,215,163,112,255,63,104,145,237,124,63,181,16,64,117,147,24,4,86,206,32,64,102,102,102,102,102,230,48,64,236,81,184,30,133,235,64,64,92,143,194,245,40,236,80,64,154,153,153,153,153,233,96,64,154,153,153,153,153,233,112,64,51,51,51,51,51,231,128,64,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,147,24,4,86,14,45,0,64,182,243,253,212,120,233,15,64,246,40,92,143,194,181,32,64,10,215,163,112,61,10,49,64,195,245,40,92,143,34,65,64,184,30,133,235,81,40,81,64,154,153,153,153,153,41,97,64,154,153,153,153,153,41,113,64,0,0,0,0,0,40,129,64,0,0,0,0,0,0,0,0,164,112,61,10,215,163,0,64,236,81,184,30,133,235,14,64,119,190,159,26,47,157,32,64,174,71,225,122,20,46,49,64,123,20,174,71,225,90,65,64,246,40,92,143,194,101,81,64,154,153,153,153,153,105,97,64,154,153,153,153,153,105,113,64,154,153,153,153,153,105,129,64,0,0,0,0,0,0,0,0,4,0,0,0,67,80,82,76,0,0,0,0,0,0,0,0,76,82,67,80,0,0,0,0,3,0,0,0,80,67,82,76,0,0,0,0,1,0,0,0,82,76,67,80,0,0,0,0,2,0,0,0,82,80,67,76,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,144,255,0,0,12,0,0,0,1,0,0,0,82,255,0,0,20,0,0,0,2,0,0,0,83,255,0,0,20,0,0,0,3,0,0,0,94,255,0,0,20,0,0,0,4,0,0,0,92,255,0,0,20,0,0,0,5,0,0,0,93,255,0,0,20,0,0,0,6,0,0,0,95,255,0,0,20,0,0,0,7,0,0,0,81,255,0,0,2,0,0,0,8,0,0,0,85,255,0,0,4,0,0,0,9,0,0,0,87,255,0,0,4,0,0,0,10,0,0,0,88,255,0,0,16,0,0,0,11,0,0,0,96,255,0,0,4,0,0,0,12,0,0,0,97,255,0,0,16,0,0,0,13,0,0,0,145,255,0,0,0,0,0,0,0,0,0,0,99,255,0,0,4,0,0,0,14,0,0,0,100,255,0,0,20,0,0,0,15,0,0,0,116,255,0,0,20,0,0,0,16,0,0,0,120,255,0,0,4,0,0,0,17,0,0,0,117,255,0,0,20,0,0,0,18,0,0,0,119,255,0,0,20,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,32,32,80,106,20,0,0,0,112,121,116,102,21,0,0,0,104,50,112,106,22,0,0,0,114,100,104,105,23,0,0,0,114,108,111,99,24,0,0,0,99,99,112,98,25,0,0,0,114,108,99,112,26,0,0,0,112,97,109,99,27,0,0,0,102,101,100,99,28,0,0,0,1,86,0,0,0,0,0,0,164,4,0,0,180,4,0,0,1,86,0,0,1,0,0,0,180,4,0,0,164,4,0,0,1,52,0,0,0,0,0,0,196,4,0,0,68,5,0,0,1,52,0,0,1,0,0,0,212,4,0,0,84,5,0,0,1,24,0,0,0,0,0,0,228,4,0,0,164,5,0,0,1,24,0,0,1,0,0,0,244,4,0,0,180,5,0,0,193,10,0,0,0,0,0,0,4,5,0,0,4,6,0,0,193,10,0,0,1,0,0,0,20,5,0,0,20,6,0,0,33,5,0,0,0,0,0,0,36,5,0,0,36,8,0,0,33,5,0,0,1,0,0,0,52,5,0,0,52,8,0,0,33,2,0,0,0,0,0,0,68,9,0,0,164,8,0,0,33,2,0,0,1,0,0,0,84,9,0,0,180,8,0,0,1,86,0,0,0,0,0,0,100,5,0,0,84,5,0,0,1,86,0,0,1,0,0,0,116,5,0,0,68,5,0,0,1,84,0,0,0,0,0,0,132,5,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,5,0,0,84,6,0,0,1,72,0,0,0,0,0,0,164,5,0,0,68,6,0,0,1,72,0,0,1,0,0,0,180,5,0,0,84,6,0,0,1,56,0,0,0,0,0,0,196,5,0,0,68,6,0,0,1,56,0,0,1,0,0,0,212,5,0,0,84,6,0,0,1,48,0,0,0,0,0,0,228,5,0,0,164,6,0,0,1,48,0,0,1,0,0,0,244,5,0,0,180,6,0,0,1,36,0,0,0,0,0,0,4,6,0,0,196,6,0,0,1,36,0,0,1,0,0,0,20,6,0,0,212,6,0,0,1,28,0,0,0,0,0,0,36,6,0,0,4,7,0,0,1,28,0,0,1,0,0,0,52,6,0,0,20,7,0,0,1,22,0,0,0,0,0,0,36,8,0,0,36,7,0,0,1,22,0,0,1,0,0,0,52,8,0,0,52,7,0,0,1,86,0,0,0,0,0,0,100,6,0,0,84,6,0,0,1,86,0,0,1,0,0,0,116,6,0,0,68,6,0,0,1,84,0,0,0,0,0,0,132,6,0,0,68,6,0,0,1,84,0,0,1,0,0,0,148,6,0,0,84,6,0,0,1,81,0,0,0,0,0,0,164,6,0,0,100,6,0,0,1,81,0,0,1,0,0,0,180,6,0,0,116,6,0,0,1,72,0,0,0,0,0,0,196,6,0,0,132,6,0,0,1,72,0,0,1,0,0,0,212,6,0,0,148,6,0,0,1,56,0,0,0,0,0,0,228,6,0,0,164,6,0,0,1,56,0,0,1,0,0,0,244,6,0,0,180,6,0,0,1,52,0,0,0,0,0,0,4,7,0,0,196,6,0,0,1,52,0,0,1,0,0,0,20,7,0,0,212,6,0,0,1,48,0,0,0,0,0,0,36,7,0,0,228,6,0,0,1,48,0,0,1,0,0,0,52,7,0,0,244,6,0,0,1,40,0,0,0,0,0,0,68,7,0,0,228,6,0,0,1,40,0,0,1,0,0,0,84,7,0,0,244,6,0,0,1,36,0,0,0,0,0,0,100,7,0,0,4,7,0,0,1,36,0,0,1,0,0,0,116,7,0,0,20,7,0,0,1,34,0,0,0,0,0,0,132,7,0,0,36,7,0,0,1,34,0,0,1,0,0,0,148,7,0,0,52,7,0,0,1,28,0,0,0,0,0,0,164,7,0,0,68,7,0,0,1,28,0,0,1,0,0,0,180,7,0,0,84,7,0,0,1,24,0,0,0,0,0,0,196,7,0,0,100,7,0,0,1,24,0,0,1,0,0,0,212,7,0,0,116,7,0,0,1,22,0,0,0,0,0,0,228,7,0,0,132,7,0,0,1,22,0,0,1,0,0,0,244,7,0,0,148,7,0,0,1,20,0,0,0,0,0,0,4,8,0,0,164,7,0,0,1,20,0,0,1,0,0,0,20,8,0,0,180,7,0,0,1,18,0,0,0,0,0,0,36,8,0,0,196,7,0,0,1,18,0,0,1,0,0,0,52,8,0,0,212,7,0,0,1,17,0,0,0,0,0,0,68,8,0,0,228,7,0,0,1,17,0,0,1,0,0,0,84,8,0,0,244,7,0,0,193,10,0,0,0,0,0,0,100,8,0,0,4,8,0,0,193,10,0,0,1,0,0,0,116,8,0,0,20,8,0,0,193,9,0,0,0,0,0,0,132,8,0,0,36,8,0,0,193,9,0,0,1,0,0,0,148,8,0,0,52,8,0,0,161,8,0,0,0,0,0,0,164,8,0,0,68,8,0,0,161,8,0,0,1,0,0,0,180,8,0,0,84,8,0,0,33,5,0,0,0,0,0,0,196,8,0,0,100,8,0,0,33,5,0,0,1,0,0,0,212,8,0,0,116,8,0,0,65,4,0,0,0,0,0,0,228,8,0,0,132,8,0,0,65,4,0,0,1,0,0,0,244,8,0,0,148,8,0,0,161,2,0,0,0,0,0,0,4,9,0,0,164,8,0,0,161,2,0,0,1,0,0,0,20,9,0,0,180,8,0,0,33,2,0,0,0,0,0,0,36,9,0,0,196,8,0,0,33,2,0,0,1,0,0,0,52,9,0,0,212,8,0,0,65,1,0,0,0,0,0,0,68,9,0,0,228,8,0,0,65,1,0,0,1,0,0,0,84,9,0,0,244,8,0,0,17,1,0,0,0,0,0,0,100,9,0,0,4,9,0,0,17,1,0,0,1,0,0,0,116,9,0,0,20,9,0,0,133,0,0,0,0,0,0,0,132,9,0,0,36,9,0,0,133,0,0,0,1,0,0,0,148,9,0,0,52,9,0,0,73,0,0,0,0,0,0,0,164,9,0,0,68,9,0,0,73,0,0,0,1,0,0,0,180,9,0,0,84,9,0,0,37,0,0,0,0,0,0,0,196,9,0,0,100,9,0,0,37,0,0,0,1,0,0,0,212,9,0,0,116,9,0,0,21,0,0,0,0,0,0,0,228,9,0,0,132,9,0,0,21,0,0,0,1,0,0,0,244,9,0,0,148,9,0,0,9,0,0,0,0,0,0,0,4,10,0,0,164,9,0,0,9,0,0,0,1,0,0,0,20,10,0,0,180,9,0,0,5,0,0,0,0,0,0,0,36,10,0,0,196,9,0,0,5,0,0,0,1,0,0,0,52,10,0,0,212,9,0,0,1,0,0,0,0,0,0,0,36,10,0,0,228,9,0,0,1,0,0,0,1,0,0,0,52,10,0,0,244,9,0,0,1,86,0,0,0,0,0,0,68,10,0,0,68,10,0,0,1,86,0,0,1,0,0,0,84,10,0,0,84,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,11,0,0,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,38,94,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,64,4,32,0,32,2,128,0,128,8,16,0,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,0,3,128,4,0,6,128,7,0,9,128,10,0,12,128,13,0,15,128,16,0,18,128,19,0,21,128,22,0,24,128,25,0,27,128,28,0,30,128,31,0,33,128,34,0,36,128,37,0,39,128,40,0,42,128,43,0,45,128,46,0,48,128,49,0,51,128,52,0,54,128,55,0,57,128,58,0,60,128,61,0,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,0,81,128,82,0,84,128,85,0,87,128,88,0,90,128,91,0,93,128,94,0,96,128,97,0,99,128,100,0,102,128,103,0,105,128,106,0,108,128,109,0,111,128,112,0,114,128,115,0,117,128,118,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,128,38,128,39,128,40,128,41,0,43,0,44,0,45,128,46,128,47,0,49,0,50,128,51,128,52,0,54,0,55,128,56,0,58,0,59,128,60,0,62,128,63,128,64,0,66,128,67,0,69,128,70,0,72,128,73,0,75,128,76,0,78,128,79,128,81,0,83,128,84,0,86,0,88,128,89,0,91,0,93,128,94,128,96,0,98,0,100,128,101,128,103,0,105,0,107,0,109,128,110,128,112,128,114,128,116,0,118,0,120,0,122,0,124,0,126,0,24,128,23,0,23,128,22,0,22,128,21,0,21,128,20,0,20,128,19,0,19,128,18,0,18,128,17,0,17,128,16,0,16,128,15,0,15,128,14,0,14,128,13,0,13,128,12,0,12,128,11,0,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,0,5,128,4,0,4,128,3,0,3,128,2,0,2,128,1,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,1,128,1,0,2,128,2,0,3,128,3,0,4,128,4,0,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,0,11,128,11,0,12,128,12,0,13,128,13,0,14,128,14,0,15,128,15,0,16,128,16,0,17,128,17,0,18,128,18,0,19,128,19,0,20,128,20,0,21,128,21,0,22,128,22,0,23,128,23,0,32,0,31,0,30,0,29,0,28,0,27,128,26,128,25,128,24,128,23,0,23,0,22,0,21,128,20,128,19,0,19,0,18,128,17,128,16,0,16,0,15,128,14,0,14,0,13,128,12,0,12,128,11,128,10,0,10,128,9,0,9,128,8,0,8,128,7,0,7,128,6,0,6,128,5,128,5,0,5,128,4,0,4,0,4,128,3,0,3,0,3,128,2,128,2,0,2,0,2,128,1,128,1,0,1,0,1,0,1,128,0,128,0,128,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,128,0,128,0,128,0,0,1,0,1,0,1,128,1,128,1,0,2,0,2,128,2,128,2,0,3,0,3,128,3,0,4,0,4,128,4,0,5,128,5,128,5,0,6,128,6,0,7,128,7,0,8,128,8,0,9,128,9,0,10,128,10,128,11,0,12,128,12,0,13,0,14,128,14,0,15,0,16,128,16,128,17,0,18,0,19,128,19,128,20,0,21,0,22,0,23,128,23,128,24,128,25,128,26,0,27,0,28,0,29,0,30,0,31,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,116,104,101,32,100,101,99,111,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,104,101,97,100,101,114,0,91,69,82,82,79,82,93,32,111,112,106,95,100,101,99,111,109,112,114,101,115,115,58,32,102,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,33,0,91,69,82,82,79,82,93,32,37,115,0,83,116,114,101,97,109,32,114,101,97,99,104,101,100,32,105,116,115,32,101,110,100,32,33,10,0,69,114,114,111,114,32,111,110,32,119,114,105,116,105,110,103,32,115,116,114,101,97,109,33,10,0,83,116,114,101,97,109,32,101,114,114,111,114,33,10,0,50,46,49,46,48,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,115,101,116,117,112,95,100,101,99,111,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,67,111,100,101,99,32,112,114,111,118,105,100,101,100,32,116,111,32,116,104,101,32,111,112,106,95,114,101,97,100,95,104,101,97,100,101,114,32,102,117,110,99,116,105,111,110,32,105,115,32,110,111,116,32,97,32,100,101,99,111,109,112,114,101,115,115,111,114,32,104,97,110,100,108,101,114,46,10,0,119,98,0,114,98,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,44,37,100,93,10,0,68,101,112,114,101,99,97,116,101,100,32,102,105,101,108,100,115,32,99,112,95,99,105,110,101,109,97,32,111,114,32,99,112,95,114,115,105,122,32,97,114,101,32,117,115,101,100,10,80,108,101,97,115,101,32,99,111,110,115,105,100,101,114,32,117,115,105,110,103,32,111,110,108,121,32,116,104,101,32,114,115,105,122,32,102,105,101,108,100,10,83,101,101,32,111,112,101,110,106,112,101,103,46,104,32,100,111,99,117,109,101,110,116,97,116,105,111,110,32,102,111,114,32,109,111,114,101,32,100,101,116,97,105,108,115,10,0,84,104,101,32,100,101,115,105,114,101,100,32,109,97,120,105,109,117,109,32,99,111,100,101,115,116,114,101,97,109,32,115,105,122,101,32,104,97,115,32,108,105,109,105,116,101,100,10,97,116,32,108,101,97,115,116,32,111,110,101,32,111,102,32,116,104,101,32,100,101,115,105,114,101,100,32,113,117,97,108,105,116,121,32,108,97,121,101,114,115,10,0,74,80,69,71,32,50,48,48,48,32,83,99,97,108,97,98,108,101,32,68,105,103,105,116,97,108,32,67,105,110,101,109,97,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,49,32,115,105,110,103,108,101,32,113,117,97,108,105,116,121,32,108,97,121,101,114,45,62,32,78,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,45,62,32,82,97,116,101,32,111,102,32,116,104,101,32,108,97,115,116,32,108,97,121,101,114,32,40,37,51,46,49,102,41,32,119,105,108,108,32,98,101,32,117,115,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,60,61,32,53,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,53,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,49,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,62,61,32,49,32,38,38,32,60,61,32,54,10,45,62,32,78,117,109,98,101,114,32,111,102,32,100,101,99,111,109,112,111,115,105,116,105,111,110,32,108,101,118,101,108,115,32,102,111,114,99,101,100,32,116,111,32,54,32,40,114,97,116,104,101,114,32,116,104,97,110,32,37,100,41,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,51,48,50,48,56,51,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,51,48,50,48,56,51,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,65,115,32,110,111,32,114,97,116,101,32,104,97,115,32,98,101,101,110,32,103,105,118,101,110,44,32,116,104,105,115,32,108,105,109,105,116,32,119,105,108,108,32,98,101,32,117,115,101,100,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,97,110,100,32,52,32,40,50,107,47,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,77,97,120,105,109,117,109,32,49,48,52,49,54,54,54,32,99,111,109,112,114,101,115,115,101,100,32,98,121,116,101,115,32,64,32,50,52,102,112,115,10,45,62,32,83,112,101,99,105,102,105,101,100,32,114,97,116,101,32,101,120,99,101,101,100,115,32,116,104,105,115,32,108,105,109,105,116,46,32,82,97,116,101,32,119,105,108,108,32,98,101,32,102,111,114,99,101,100,32,116,111,32,49,48,52,49,54,54,54,32,98,121,116,101,115,46,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,51,32,99,111,109,112,111,110,101,110,116,115,45,62,32,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,115,105,103,110,101,100,0,117,110,115,105,103,110,101,100,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,80,114,101,99,105,115,105,111,110,32,111,102,32,101,97,99,104,32,99,111,109,112,111,110,101,110,116,32,115,104,97,108,108,32,98,101,32,49,50,32,98,105,116,115,32,117,110,115,105,103,110,101,100,45,62,32,65,116,32,108,101,97,115,116,32,99,111,109,112,111,110,101,110,116,32,37,100,32,111,102,32,105,110,112,117,116,32,105,109,97,103,101,32,40,37,100,32,98,105,116,115,44,32,37,115,41,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,51,32,40,50,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,50,48,52,56,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,49,48,56,48,10,45,62,32,73,110,112,117,116,32,105,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,51,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,114,111,102,105,108,101,45,52,32,40,52,107,32,100,99,32,112,114,111,102,105,108,101,41,32,114,101,113,117,105,114,101,115,58,10,119,105,100,116,104,32,60,61,32,52,48,57,54,32,97,110,100,32,104,101,105,103,104,116,32,60,61,32,50,49,54,48,10,45,62,32,73,109,97,103,101,32,115,105,122,101,32,37,100,32,120,32,37,100,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,10,45,62,32,78,111,110,45,112,114,111,102,105,108,101,45,52,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,98,101,32,103,101,110,101,114,97,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,76,111,110,103,32,84,101,114,109,32,83,116,111,114,97,103,101,32,112,114,111,102,105,108,101,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,66,114,111,97,100,99,97,115,116,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,73,77,70,32,112,114,111,102,105,108,101,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,10,0,74,80,69,71,32,50,48,48,48,32,80,97,114,116,45,50,32,112,114,111,102,105,108,101,32,100,101,102,105,110,101,100,10,98,117,116,32,110,111,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,46,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,85,110,115,117,112,112,111,114,116,101,100,32,80,97,114,116,45,50,32,101,120,116,101,110,115,105,111,110,32,101,110,97,98,108,101,100,10,80,114,111,102,105,108,101,32,115,101,116,32,116,111,32,78,79,78,69,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,117,115,101,114,32,101,110,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,112,121,32,111,102,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,99,111,109,109,101,110,116,32,115,116,114,105,110,103,10,0,37,115,37,115,0,67,114,101,97,116,101,100,32,98,121,32,79,112,101,110,74,80,69,71,32,118,101,114,115,105,111,110,32,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,104,101,99,107,105,110,103,32,116,104,101,32,112,111,99,32,118,97,108,117,101,115,46,10,0,77,105,115,115,105,110,103,32,112,97,99,107,101,116,115,32,112,111,115,115,105,98,108,101,32,108,111,115,115,32,111,102,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,99,111,100,105,110,103,32,112,97,114,97,109,101,116,101,114,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,116,101,109,112,32,98,117,102,102,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,70,97,105,108,101,100,32,116,111,32,105,110,118,101,114,115,101,32,101,110,99,111,100,101,114,32,77,67,84,32,100,101,99,111,100,105,110,103,32,109,97,116,114,105,120,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,108,108,111,99,97,116,101,32,101,110,99,111,100,101,114,32,77,67,84,32,110,111,114,109,115,32,10,0,70,97,105,108,101,100,32,116,111,32,115,101,116,117,112,32,106,50,107,32,109,99,116,32,101,110,99,111,100,105,110,103,10,0,67,97,110,110,111,116,32,112,101,114,102,111,114,109,32,77,67,84,32,111,110,32,99,111,109,112,111,110,101,110,116,115,32,119,105,116,104,32,100,105,102,102,101,114,101,110,116,32,115,105,122,101,115,46,32,68,105,115,97,98,108,105,110,103,32,77,67,84,46,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,10,0,73,110,99,111,110,115,105,115,116,101,110,116,32,109,97,114,107,101,114,32,115,105,122,101,10,0,77,97,114,107,101,114,32,105,115,32,110,111,116,32,99,111,109,112,108,105,97,110,116,32,119,105,116,104,32,105,116,115,32,112,111,115,105,116,105,111,110,10,0,77,97,114,107,101,114,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,104,101,97,100,101,114,10,0,78,111,116,32,115,117,114,101,32,104,111,119,32,116,104,97,116,32,104,97,112,112,101,110,101,100,46,10,0,70,97,105,108,32,116,111,32,114,101,97,100,32,116,104,101,32,99,117,114,114,101,110,116,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,40,37,35,120,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,116,108,32,109,97,114,107,101,114,10,0,84,105,108,101,32,112,97,114,116,32,108,101,110,103,116,104,32,115,105,122,101,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,115,116,114,101,97,109,32,108,101,110,103,116,104,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,79,84,32,109,97,114,107,101,114,10,0,111,112,106,95,106,50,107,95,97,112,112,108,121,95,110,98,95,116,105,108,101,95,112,97,114,116,115,95,99,111,114,114,101,99,116,105,111,110,32,101,114,114,111,114,10,0,78,111,110,32,99,111,110,102,111,114,109,97,110,116,32,99,111,100,101,115,116,114,101,97,109,32,84,80,115,111,116,61,61,84,78,115,111,116,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,84,32,109,97,114,107,101,114,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,84,32,100,97,116,97,10,0,67,97,110,110,111,116,32,100,101,99,111,100,101,32,116,105,108,101,44,32,109,101,109,111,114,121,32,101,114,114,111,114,10,0,72,101,97,100,101,114,32,111,102,32,116,105,108,101,32,37,100,32,47,32,37,100,32,104,97,115,32,98,101,101,110,32,114,101,97,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,46,10,0,78,111,32,69,79,67,32,109,97,114,107,101,114,46,32,80,111,115,115,105,98,108,121,32,97,32,116,114,117,110,99,97,116,101,100,32,115,116,114,101,97,109,10,0,83,116,114,101,97,109,32,100,111,101,115,32,110,111,116,32,101,110,100,32,119,105,116,104,32,69,79,67,10,0,83,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,44,32,101,120,112,101,99,116,101,100,32,83,79,84,10,0,78,101,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,98,101,102,111,114,101,32,98,101,103,105,110,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,99,111,100,101,115,116,114,101,97,109,0,78,111,32,100,101,99,111,100,101,100,32,97,114,101,97,32,112,97,114,97,109,101,116,101,114,115,44,32,115,101,116,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,116,111,32,116,104,101,32,119,104,111,108,101,32,105,109,97,103,101,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,76,101,102,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,85,112,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,48,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,79,115,105,122,61,37,100,41,46,10,0,82,105,103,104,116,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,120,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,88,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,79,115,105,122,61,37,100,41,46,10,0,66,111,116,116,111,109,32,112,111,115,105,116,105,111,110,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,97,114,101,97,32,40,114,101,103,105,111,110,95,121,49,61,37,100,41,32,105,115,32,111,117,116,115,105,100,101,32,116,104,101,32,105,109,97,103,101,32,97,114,101,97,32,40,89,115,105,122,61,37,100,41,46,10,0,83,105,122,101,32,120,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,119,61,37,100,41,46,10,0,83,105,122,101,32,121,32,111,102,32,116,104,101,32,100,101,99,111,100,101,100,32,99,111,109,112,111,110,101,110,116,32,105,109,97,103,101,32,105,115,32,105,110,99,111,114,114,101,99,116,32,40,99,111,109,112,91,37,100,93,46,104,61,37,100,41,46,10,0,83,101,116,116,105,110,103,32,100,101,99,111,100,105,110,103,32,97,114,101,97,32,116,111,32,37,100,44,37,100,44,37,100,44,37,100,10,0,87,114,111,110,103,32,102,108,97,103,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,102,111,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,116,120,48,61,37,100,44,32,116,121,48,61,37,100,10,0,9,32,116,100,120,61,37,100,44,32,116,100,121,61,37,100,10,0,9,32,116,119,61,37,100,44,32,116,104,61,37,100,10,0,125,10,0,67,111,100,101,115,116,114,101,97,109,32,105,110,100,101,120,32,102,114,111,109,32,109,97,105,110,32,104,101,97,100,101,114,58,32,123,10,0,9,32,77,97,105,110,32,104,101,97,100,101,114,32,115,116,97,114,116,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,9,32,77,97,105,110,32,104,101],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),allocate([97,100,101,114,32,101,110,100,32,112,111,115,105,116,105,111,110,61,37,108,108,105,10,0,9,32,77,97,114,107,101,114,32,108,105,115,116,58,32,123,10,0,9,9,32,116,121,112,101,61,37,35,120,44,32,112,111,115,61,37,108,108,105,44,32,108,101,110,61,37,100,10,0,9,32,125,10,0,9,32,84,105,108,101,32,105,110,100,101,120,58,32,123,10,0,9,9,32,110,98,32,111,102,32,116,105,108,101,45,112,97,114,116,32,105,110,32,116,105,108,101,32,91,37,100,93,61,37,100,10,0,9,9,9,32,116,105,108,101,45,112,97,114,116,91,37,100,93,58,32,115,116,97,114,95,112,111,115,61,37,108,108,105,44,32,101,110,100,95,104,101,97,100,101,114,61,37,108,108,105,44,32,101,110,100,95,112,111,115,61,37,108,108,105,46,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,73,109,97,103,101,32,105,110,102,111,32,123,10,0,37,115,32,120,48,61,37,100,44,32,121,48,61,37,100,10,0,37,115,32,120,49,61,37,100,44,32,121,49,61,37,100,10,0,37,115,32,110,117,109,99,111,109,112,115,61,37,100,10,0,37,115,9,32,99,111,109,112,111,110,101,110,116,32,37,100,32,123,10,0,37,115,125,10,0,91,68,69,86,93,32,68,117,109,112,32,97,110,32,105,109,97,103,101,95,99,111,109,112,95,104,101,97,100,101,114,32,115,116,114,117,99,116,32,123,10,0,37,115,32,100,120,61,37,100,44,32,100,121,61,37,100,10,0,37,115,32,112,114,101,99,61,37,100,10,0,37,115,32,115,103,110,100,61,37,100,10,0,87,101,32,110,101,101,100,32,97,110,32,105,109,97,103,101,32,112,114,101,118,105,111,117,115,108,121,32,99,114,101,97,116,101,100,46,10,0,84,105,108,101,32,105,110,100,101,120,32,112,114,111,118,105,100,101,100,32,98,121,32,116,104,101,32,117,115,101,114,32,105,115,32,105,110,99,111,114,114,101,99,116,32,37,100,32,40,109,97,120,32,61,32,37,100,41,32,10,0,82,101,115,111,108,117,116,105,111,110,32,102,97,99,116,111,114,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,116,104,101,32,109,97,120,105,109,117,109,32,114,101,115,111,108,117,116,105,111,110,32,105,110,32,116,104,101,32,99,111,109,112,111,110,101,110,116,46,10,0,84,104,101,32,103,105,118,101,110,32,116,105,108,101,32,105,110,100,101,120,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,46,0,116,105,108,101,32,110,117,109,98,101,114,32,37,100,32,47,32,37,100,10,0,69,114,114,111,114,32,97,108,108,111,99,97,116,105,110,103,32,116,105,108,101,32,99,111,109,112,111,110,101,110,116,32,100,97,116,97,46,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,101,110,99,111,100,101,32,97,108,108,32,116,105,108,101,115,10,0,83,105,122,101,32,109,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,116,105,108,101,32,100,97,116,97,32,97,110,100,32,115,101,110,116,32,100,97,116,97,46,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,105,109,97,103,101,32,104,101,97,100,101,114,46,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,114,101,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,69,114,114,111,114,32,119,104,105,108,101,32,111,112,106,95,106,50,107,95,112,111,115,116,95,119,114,105,116,101,95,116,105,108,101,32,119,105,116,104,32,116,105,108,101,32,105,110,100,101,120,32,61,32,37,100,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,105,108,101,32,67,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,66,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,84,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,77,67,79,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,116,104,101,32,67,79,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,80,79,67,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,84,76,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,81,99,100,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,119,114,105,116,101,32,67,79,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,114,105,116,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,104,101,32,83,73,90,32,109,97,114,107,101,114,10,0,78,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,105,115,32,116,111,111,32,104,105,103,104,32,105,110,32,99,111,109,112,97,114,105,115,111,110,32,116,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,105,108,101,115,10,0,67,97,110,110,111,116,32,101,110,99,111,100,101,32,116,105,108,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,111,110,101,32,116,105,108,101,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,101,101,107,32,102,117,110,99,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,84,105,108,101,32,37,100,47,37,100,32,104,97,115,32,98,101,101,110,32,100,101,99,111,100,101,100,46,10,0,73,109,97,103,101,32,100,97,116,97,32,104,97,115,32,98,101,101,110,32,117,112,100,97,116,101,100,32,119,105,116,104,32,116,105,108,101,32,37,100,46,10,10,0,84,105,108,101,32,114,101,97,100,44,32,100,101,99,111,100,101,100,32,97,110,100,32,117,112,100,97,116,101,100,32,105,115,32,110,111,116,32,116,104,101,32,100,101,115,105,114,101,100,32,111,110,101,32,40,37,100,32,118,115,32,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,115,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,105,108,101,32,37,100,47,37,100,10,0,9,32,100,101,102,97,117,108,116,32,116,105,108,101,32,123,10,0,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,32,112,114,103,61,37,35,120,10,0,9,9,32,110,117,109,108,97,121,101,114,115,61,37,100,10,0,9,9,32,109,99,116,61,37,120,10,0,9,9,32,99,111,109,112,32,37,100,32,123,10,0,9,9,9,32,99,115,116,121,61,37,35,120,10,0,9,9,9,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,61,37,100,10,0,9,9,9,32,99,98,108,107,119,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,104,61,50,94,37,100,10,0,9,9,9,32,99,98,108,107,115,116,121,61,37,35,120,10,0,9,9,9,32,113,109,102,98,105,100,61,37,100,10,0,9,9,9,32,112,114,101,99,99,105,110,116,115,105,122,101,32,40,119,44,104,41,61,0,40,37,100,44,37,100,41,32,0,9,9,9,32,113,110,116,115,116,121,61,37,100,10,0,9,9,9,32,110,117,109,103,98,105,116,115,61,37,100,10,0,9,9,9,32,115,116,101,112,115,105,122,101,115,32,40,109,44,101,41,61,0,9,9,9,32,114,111,105,115,104,105,102,116,61,37,100,10,0,9,9,32,125,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,79,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,116,114,97,110,115,102,111,114,109,97,116,105,111,110,32,115,116,97,103,101,115,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,100,97,116,97,32,115,112,97,110,110,105,110,103,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,67,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,99,111,108,108,101,99,116,105,111,110,115,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,111,116,104,101,114,32,116,104,97,110,32,97,114,114,97,121,32,100,101,99,111,114,114,101,108,97,116,105,111,110,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,32,105,110,100,105,120,32,115,104,117,102,102,108,101,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,99,111,108,108,101,99,116,105,111,110,115,32,119,105,116,104,111,117,116,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,105,110,100,105,120,101,115,10,0,67,114,114,111,114,32,114,101,97,100,105,110,103,32,67,66,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,99,116,32,100,97,116,97,32,119,105,116,104,105,110,32,109,117,108,116,105,112,108,101,32,77,67,84,32,114,101,99,111,114,100,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,77,67,84,32,109,97,114,107,101,114,10,0,67,97,110,110,111,116,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,109,117,108,116,105,112,108,101,32,77,67,84,32,109,97,114,107,101,114,115,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,82,71,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,84,32,109,97,114,107,101,114,58,32,112,97,99,107,101,116,32,104,101,97,100,101,114,32,104,97,118,101,32,98,101,101,110,32,112,114,101,118,105,111,117,115,108,121,32,102,111,117,110,100,32,105,110,32,116,104,101,32,109,97,105,110,32,104,101,97,100,101,114,32,40,80,80,77,32,109,97,114,107,101,114,41,46,10,0,90,112,112,116,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,80,77,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,80,80,77,32,109,97,114,107,101,114,10,0,90,112,112,109,32,37,117,32,97,108,114,101,97,100,121,32,114,101,97,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,84,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,84,76,77,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,105,108,108,101,103,97,108,32,45,62,32,37,100,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,32,105,115,32,110,111,116,32,99,111,109,112,97,116,105,98,108,101,32,119,105,116,104,32,116,104,101,32,114,101,109,97,105,110,105,110,103,32,110,117,109,98,101,114,32,111,102,32,112,97,114,97,109,101,116,101,114,115,32,40,32,37,100,32,118,115,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,110,101,103,97,116,105,118,101,32,111,114,32,122,101,114,111,32,105,109,97,103,101,32,115,105,122,101,32,40,37,100,32,120,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,110,118,97,108,105,100,32,116,105,108,101,32,115,105,122,101,32,40,116,100,120,58,32,37,100,44,32,116,100,121,58,32,37,100,41,10,0,80,114,101,118,101,110,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,32,40,120,49,58,32,37,100,44,32,121,49,58,32,37,100,41,10,0,69,114,114,111,114,32,119,105,116,104,32,83,73,90,32,109,97,114,107,101,114,58,32,105,108,108,101,103,97,108,32,116,105,108,101,32,111,102,102,115,101,116,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,116,97,107,101,32,105,110,32,99,104,97,114,103,101,32,83,73,90,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,115,32,102,111,114,32,99,111,109,112,32,61,32,37,100,32,58,32,100,120,61,37,117,32,100,121,61,37,117,10,32,40,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,50,53,53,32,97,99,99,111,114,100,105,110,103,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,41,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,115,32,58,32,37,117,32,120,32,37,117,32,40,109,97,120,105,109,117,109,32,102,105,120,101,100,32,98,121,32,106,112,101,103,50,48,48,48,32,110,111,114,109,32,105,115,32,54,53,53,51,53,32,116,105,108,101,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,80,79,67,32,109,97,114,107,101,114,10,0,84,111,111,32,109,97,110,121,32,80,79,67,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,67,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,58,32,37,100,44,32,114,101,103,97,114,100,105,110,103,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,37,100,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,81,99,100,32,111,114,32,83,81,99,99,32,101,108,101,109,101,110,116,10,0,87,104,105,108,101,32,114,101,97,100,105,110,103,32,67,67,80,95,81,78,84,83,84,89,32,101,108,101,109,101,110,116,32,105,110,115,105,100,101,32,81,67,68,32,111,114,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,44,32,110,117,109,98,101,114,32,111,102,32,115,117,98,98,97,110,100,115,32,40,37,100,41,32,105,115,32,103,114,101,97,116,101,114,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,46,32,83,111,32,119,101,32,108,105,109,105,116,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,101,108,101,109,101,110,116,115,32,115,116,111,114,101,100,32,116,111,32,79,80,74,95,74,50,75,95,77,65,88,66,65,78,68,83,32,40,37,100,41,32,97,110,100,32,115,107,105,112,32,116,104,101,32,114,101,115,116,46,32,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,81,67,68,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,82,71,78,32,109,97,114,107,101,114,10,0,98,97,100,32,99,111,109,112,111,110,101,110,116,32,110,117,109,98,101,114,32,105,110,32,82,71,78,32,40,37,100,32,119,104,101,110,32,116,104,101,114,101,32,97,114,101,32,111,110,108,121,32,37,100,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,67,32,109,97,114,107,101,114,32,40,98,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,41,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,10,0,73,110,118,97,108,105,100,32,118,97,108,117,101,32,102,111,114,32,110,117,109,114,101,115,111,108,117,116,105,111,110,115,32,58,32,37,100,44,32,109,97,120,32,118,97,108,117,101,32,105,115,32,115,101,116,32,105,110,32,111,112,101,110,106,112,101,103,46,104,32,97,116,32,37,100,10,0,69,114,114,111,114,32,100,101,99,111,100,105,110,103,32,99,111,109,112,111,110,101,110,116,32,37,100,46,10,84,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,116,111,32,114,101,109,111,118,101,32,105,115,32,104,105,103,104,101,114,32,116,104,97,110,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,111,108,117,116,105,111,110,115,32,111,102,32,116,104,105,115,32,99,111,109,112,111,110,101,110,116,10,77,111,100,105,102,121,32,116,104,101,32,99,112,95,114,101,100,117,99,101,32,112,97,114,97,109,101,116,101,114,46,10,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,83,80,67,111,100,32,83,80,67,111,99,32,101,108,101,109,101,110,116,44,32,73,110,118,97,108,105,100,32,99,98,108,107,119,47,99,98,108,107,104,32,99,111,109,98,105,110,97,116,105,111,110,10,0,73,110,118,97,108,105,100,32,112,114,101,99,105,110,99,116,32,115,105,122,101,10,0,67,79,68,32,109,97,114,107,101,114,32,97,108,114,101,97,100,121,32,114,101,97,100,46,32,78,111,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,67,79,68,32,109,97,114,107,101,114,32,112,101,114,32,116,105,108,101,46,10,0,69,114,114,111,114,32,114,101,97,100,105,110,103,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,83,99,111,100,32,118,97,108,117,101,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,110,32,112,114,111,103,114,101,115,115,105,111,110,32,111,114,100,101,114,32,105,110,32,67,79,68,32,109,97,114,107,101,114,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,108,97,121,101,114,115,32,105,110,32,67,79,68,32,109,97,114,107,101,114,32,58,32,37,100,32,110,111,116,32,105,110,32,114,97,110,103,101,32,91,49,45,54,53,53,51,53,93,10,0,73,110,118,97,108,105,100,32,116,105,108,101,32,110,117,109,98,101,114,32,37,100,10,0,69,109,112,116,121,32,83,79,84,32,109,97,114,107,101,114,32,100,101,116,101,99,116,101,100,58,32,80,115,111,116,61,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,105,115,32,110,111,116,32,99,111,114,114,101,99,116,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,74,80,69,71,50,48,48,48,32,110,111,114,109,58,32,37,100,46,10,0,80,115,111,116,32,118,97,108,117,101,32,111,102,32,116,104,101,32,99,117,114,114,101,110,116,32,116,105,108,101,45,112,97,114,116,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,44,32,119,101,32,97,115,115,117,109,105,110,103,32,105,116,32,105,115,32,116,104,101,32,108,97,115,116,32,116,105,108,101,45,112,97,114,116,32,111,102,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,46,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,73,110,32,83,79,84,32,109,97,114,107,101,114,44,32,84,80,83,111,116,32,40,37,100,41,32,105,115,32,110,111,116,32,118,97,108,105,100,32,114,101,103,97,114,100,115,32,116,111,32,116,104,101,32,99,117,114,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,116,105,108,101,45,112,97,114,116,32,40,104,101,97,100,101,114,41,32,40,37,100,41,44,32,103,105,118,105,110,103,32,117,112,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,97,100,32,83,79,84,32,109,97,114,107,101,114,46,32,84,105,108,101,32,105,110,100,101,120,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,101,100,10,0,83,116,97,114,116,32,116,111,32,114,101,97,100,32,106,50,107,32,109,97,105,110,32,104,101,97,100,101,114,32,40,37,100,41,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,109,104,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,97,32,83,79,67,32,109,97,114,107,101,114,32,10,0,65,32,109,97,114,107,101,114,32,73,68,32,119,97,115,32,101,120,112,101,99,116,101,100,32,40,48,120,102,102,45,45,41,32,105,110,115,116,101,97,100,32,111,102,32,37,46,56,120,10,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,10,0,85,110,107,110,111,119,32,109,97,114,107,101,114,32,104,97,118,101,32,98,101,101,110,32,100,101,116,101,99,116,101,100,32,97,110,100,32,103,101,110,101,114,97,116,101,100,32,101,114,114,111,114,46,10,0,77,97,114,107,101,114,32,104,97,110,100,108,101,114,32,102,117,110,99,116,105,111,110,32,102,97,105,108,101,100,32,116,111,32,114,101,97,100,32,116,104,101,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,10,0,114,101,113,117,105,114,101,100,32,83,73,90,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,67,79,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,114,101,113,117,105,114,101,100,32,81,67,68,32,109,97,114,107,101,114,32,110,111,116,32,102,111,117,110,100,32,105,110,32,109,97,105,110,32,104,101,97,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,98,121,116,101,115,32,116,111,32,114,101,97,100,32,78,112,112,109,10,0,67,111,114,114,117,112,116,101,100,32,80,80,77,32,109,97,114,107,101,114,115,10,0,70,97,105,108,101,100,32,116,111,32,109,101,114,103,101,32,80,80,77,32,100,97,116,97,10,0,77,97,105,110,32,104,101,97,100,101,114,32,104,97,115,32,98,101,101,110,32,99,111,114,114,101,99,116,108,121,32,100,101,99,111,100,101,100,46,10,0,70,97,105,108,101,100,32,116,111,32,100,101,99,111,100,101,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,105,110,32,116,104,101,32,74,80,50,32,102,105,108,101,10,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,115,112,101,99,105,102,105,101,100,32,119,104,105,108,101,32,115,101,116,116,105,110,103,32,117,112,32,74,80,50,32,101,110,99,111,100,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,104,101,110,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,117,110,107,110,111,119,110,32,101,110,117,109,99,115,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,115,112,101,99,105,102,105,101,100,32,98,117,116,32,110,111,116,32,101,110,111,117,103,104,32,105,109,97,103,101,32,99,111,109,112,111,110,101,110,116,115,32,102,111,114,32,97,110,32,97,117,116,111,109,97,116,105,99,32,99,100,101,102,32,98,111,120,32,99,114,101,97,116,105,111,110,46,10,0,65,108,112,104,97,32,99,104,97,110,110,101,108,32,112,111,115,105,116,105,111,110,32,99,111,110,102,108,105,99,116,115,32,119,105,116,104,32,99,111,108,111,114,32,99,104,97,110,110,101,108,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,77,117,108,116,105,112,108,101,32,97,108,112,104,97,32,99,104,97,110,110,101,108,115,32,115,112,101,99,105,102,105,101,100,46,32,78,111,32,99,100,101,102,32,98,111,120,32,119,105,108,108,32,98,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,115,101,116,117,112,32,116,104,101,32,74,80,50,32,101,110,99,111,100,101,114,10,0,74,80,50,32,98,111,120,32,119,104,105,99,104,32,97,114,101,32,97,102,116,101,114,32,116,104,101,32,99,111,100,101,115,116,114,101,97,109,32,119,105,108,108,32,110,111,116,32,98,101,32,114,101,97,100,32,98,121,32,116,104,105,115,32,102,117,110,99,116,105,111,110,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,111,108,100,32,74,80,50,32,72,101,97,100,101,114,32,100,97,116,97,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,102,116,121,112,32,100,97,116,97,10,0,69,114,114,111,114,32,119,104,105,108,101,32,119,114,105,116,105,110,103,32,102,116,121,112,32,100,97,116,97,32,116,111,32,115,116,114,101,97,109,10,0,70,97,105,108,101,100,32,116,111,32,115,101,101,107,32,105,110,32,116,104,101,32,115,116,114,101,97,109,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,102,105,108,101,32,104,101,97,100,101,114,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,115,105,122,101,115,32,104,105,103,104,101,114,32,116,104,97,110,32,50,94,51,50,10,0,98,97,100,32,112,108,97,99,101,100,32,106,112,101,103,32,99,111,100,101,115,116,114,101,97,109,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,117,110,100,101,102,105,110,101,100,32,115,105,122,101,115,10,0,105,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,40,37,120,41,10,0,70,111,117,110,100,32,97,32,109,105,115,112,108,97,99,101,100,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,111,117,116,115,105,100,101,32,106,112,50,104,32,98,111,120,10,0,74,80,69,71,50,48,48,48,32,72,101,97,100,101,114,32,98,111,120,32,110,111,116,32,114,101,97,100,32,121,101,116,44,32,39,37,99,37,99,37,99,37,99,39,32,98,111,120,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,115,107,105,112,112,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,73,110,118,97,108,105,100,32,98,111,120,32,115,105,122,101,32,37,100,32,102,111,114,32,98,111,120,32,39,37,99,37,99,37,99,37,99,39,46,32,78,101,101,100,32,37,100,32,98,121,116,101,115,44,32,37,100,32,98,121,116,101,115,32,114,101,109,97,105,110,105,110,103,32,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,106,112,101,103,50,48,48,48,32,98,111,120,10,0,80,114,111,98,108,101,109,32,119,105,116,104,32,114,101,97,100,105,110,103,32,74,80,69,71,50,48,48,48,32,98,111,120,44,32,115,116,114,101,97,109,32,101,114,114,111,114,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,102,105,114,115,116,32,98,111,120,32,109,117,115,116,32,98,101,32,74,80,69,71,32,50,48,48,48,32,115,105,103,110,97,116,117,114,101,32,98,111,120,10,0,77,97,108,102,111,114,109,101,100,32,74,80,50,32,102,105,108,101,32,102,111,114,109,97,116,58,32,115,101,99,111,110,100,32,98,111,120,32,109,117,115,116,32,98,101,32,102,105,108,101,32,116,121,112,101,32,98,111,120,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,68,69,70,32,98,111,120,46,10,0,78,117,109,98,101,114,32,111,102,32,99,104,97,110,110,101,108,32,100,101,115,99,114,105,112,116,105,111,110,32,105,115,32,101,113,117,97,108,32,116,111,32,122,101,114,111,32,105,110,32,67,68,69,70,32,98,111,120,46,10,0,78,101,101,100,32,116,111,32,114,101,97,100,32,97,32,80,67,76,82,32,98,111,120,32,98,101,102,111,114,101,32,116,104,101,32,67,77,65,80,32,98,111,120,46,10,0,79,110,108,121,32,111,110,101,32,67,77,65,80,32,98,111,120,32,105,115,32,97,108,108,111,119,101,100,46,10,0,73,110,115,117,102,102,105,99,105,101,110,116,32,100,97,116,97,32,102,111,114,32,67,77,65,80,32,98,111,120,46,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,37,100,32,101,110,116,114,105,101,115,10,0,73,110,118,97,108,105,100,32,80,67,76,82,32,98,111,120,46,32,82,101,112,111,114,116,115,32,48,32,112,97,108,101,116,116,101,32,99,111,108,117,109,110,115,10,0,65,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,105,115,32,97,118,97,105,108,97,98,108,101,32,97,108,116,104,111,117,103,104,32,66,80,67,32,103,105,118,101,110,32,98,121,32,116,104,101,32,73,72,68,82,32,98,111,120,32,40,37,100,41,32,105,110,100,105,99,97,116,101,32,99,111,109,112,111,110,101,110,116,115,32,98,105,116,32,100,101,112,116,104,32,105,115,32,99,111,110,115,116,97,110,116,10,0,66,97,100,32,66,80,67,67,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,65,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,114,101,97,100,101,114,32,115,104,97,108,108,32,105,103,110,111,114,101,32,97,108,108,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,101,115,32,97,102,116,101,114,32,116,104,101,32,102,105,114,115,116,44,32,115,111,32,119,101,32,105,103,110,111,114,101,32,116,104,105,115,32,111,110,101,46,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,66,97,100,32,67,79,76,82,32,104,101,97,100,101,114,32,98,111,120,32,40,67,73,69,76,97,98,44,32,98,97,100,32,115,105,122,101,58,32,37,100,41,10,0,67,79,76,82,32,66,79,88,32,109,101,116,104,32,118,97,108,117,101,32,105,115,32,110,111,116,32,97,32,114,101,103,117,108,97,114,32,118,97,108,117,101,32,40,37,100,41,44,32,115,111,32,119,101,32,119,105,108,108,32,105,103,110,111,114,101,32,116,104,101,32,101,110,116,105,114,101,32,67,111,108,111,117,114,32,83,112,101,99,105,102,105,99,97,116,105,111,110,32,98,111,120,46,32,10,0,66,97,100,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,40,98,97,100,32,115,105,122,101,41,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,40,105,104,100,114,41,10,0,74,80,50,32,73,72,68,82,32,98,111,120,58,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,100,105,99,97,116,101,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,99,111,110,102,111,114,109,105,110,103,32,74,80,50,32,102,105,108,101,32,40,37,100,41,32,10,0,84,104,101,32,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,56,32,98,121,116,101,115,10,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,88,76,32,98,111,120,32,111,102,32,108,101,115,115,32,116,104,97,110,32,49,54,32,98,121,116,101,115,10,0,66,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,98,111,120,32,108,101,110,103,116,104,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,46,10,0,83,116,114,101,97,109,32,101,114,114,111,114,32,119,104,105,108,101,32,114,101,97,100,105,110,103,32,74,80,50,32,72,101,97,100,101,114,32,98,111,120,58,32,110,111,32,39,105,104,100,114,39,32,98,111,120,46,10,0,84,104,101,32,102,116,121,112,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,115,101,99,111,110,100,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,70,84,89,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,119,105,116,104,32,70,84,89,80,32,66,111,120,10,0,84,104,101,32,115,105,103,110,97,116,117,114,101,32,98,111,120,32,109,117,115,116,32,98,101,32,116,104,101,32,102,105,114,115,116,32,98,111,120,32,105,110,32,116,104,101,32,102,105,108,101,46,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,115,105,103,110,97,116,117,114,101,32,66,111,120,32,115,105,122,101,10,0,69,114,114,111,114,32,119,105,116,104,32,74,80,32,83,105,103,110,97,116,117,114,101,32,58,32,98,97,100,32,109,97,103,105,99,32,110,117,109,98,101,114,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,111,112,106,95,106,112,50,95,97,112,112,108,121,95,99,100,101,102,58,32,97,99,110,61,37,100,44,32,110,117,109,99,111,109,112,115,61,37,100,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,32,40,62,61,32,37,100,41,46,10,0,73,110,99,111,109,112,108,101,116,101,32,99,104,97,110,110,101,108,32,100,101,102,105,110,105,116,105,111,110,115,46,10,0,85,110,101,120,112,101,99,116,101,100,32,79,79,77,46,10,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,47,112,97,108,101,116,116,101,32,105,110,100,101,120,32,102,111,114,32,100,105,114,101,99,116,32,109,97,112,112,105,110,103,32,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,105,115,32,109,97,112,112,101,100,32,116,119,105,99,101,46,10,0,68,105,114,101,99,116,32,117,115,101,32,97,116,32,35,37,100,32,104,111,119,101,118,101,114,32,112,99,111,108,61,37,100,46,10,0,67,111,109,112,111,110,101,110,116,32,37,100,32,100,111,101,115,110,39,116,32,104,97,118,101,32,97,32,109,97,112,112,105,110,103,46,10,0,67,111,109,112,111,110,101,110,116,32,109,97,112,112,105,110,103,32,115,101,101,109,115,32,119,114,111,110,103,46,32,84,114,121,105,110,103,32,116,111,32,99,111,114,114,101,99,116,46,10,0,84,105,108,101,115,32,100,111,110,39,116,32,97,108,108,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,100,105,109,101,110,115,105,111,110,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,78,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,40,37,100,41,32,105,115,32,105,110,99,111,110,115,105,115,116,101,110,116,32,119,105,116,104,32,97,32,77,67,84,46,32,83,107,105,112,32,116,104,101,32,77,67,84,32,115,116,101,112,46,10,0,116,105,108,101,115,32,114,101,113,117,105,114,101,32,97,116,32,108,101,97,115,116,32,111,110,101,32,114,101,115,111,108,117,116,105,111,110,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,100,97,116,97,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,116,105,108,101,32,114,101,115,111,108,117,116,105,111,110,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,104,97,110,100,108,101,32,98,97,110,100,32,112,114,101,99,105,110,116,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,102,111,114,32,99,117,114,114,101,110,116,32,112,114,101,99,105,110,99,116,32,99,111,100,101,98,108,111,99,107,32,101,108,101,109,101,110,116,10,0,78,111,32,105,110,99,108,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,32,105,109,115,98,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,10,0,116,103,116,95,99,114,101,97,116,101,32,116,114,101,101,45,62,110,117,109,110,111,100,101,115,32,61,61,32,48,44,32,110,111,32,116,114,101,101,32,99,114,101,97,116,101,100,46,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,99,114,101,97,116,101,32,84,97,103,45,116,114,101,101,32,110,111,100,101,115,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,114,101,105,110,105,116,105,97,108,105,122,101,32,116,104,101,32,116,97,103,32,116,114,101,101,10,0,78,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111,32,97,100,100,32,97,32,110,101,119,32,118,97,108,105,100,97,116,105,111,110,32,112,114,111,99,101,100,117,114,101,10,0,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240),allocate([7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,1,1,2,1,2,2,2,1,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,3,3,6,3,6,6,8,3,6,6,8,6,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,1,4,4,7,4,7,7,8,4,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,2,5,5,7,5,7,7,8,5,7,7,8,7,8,8,8,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,13,10,10,13,13,12,11,9,10,11,11,10,10,9,10,12,11,10,9,13,12,12,13,9,10,11,12,10,9,9,10,12,11,10,10,11,11,12,11,12,11,11,11,11,11,9,10,12,13,10,9,11,12,12,13,12,13,11,12,11,12,9,10,12,13,10,9,11,12,12,11,9,10,13,12,10,9,9,10,12,11,10,10,11,11,12,13,9,10,13,13,10,10,9,10,12,11,10,9,13,12,12,11,12,11,13,12,13,12,9,10,12,13,10,10,13,13,12,13,12,13,13,13,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,1,0,0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,0,0,1,1,0,0,1,1,1,0,0,1,0,0,1,1,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,114,101,97,100,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,99,117,114,114,101,110,116,32,115,105,122,101,32,40,37,100,32,62,32,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,115,107,105,112,58,32,115,101,103,109,101,110,116,32,116,111,111,32,108,111,110,103,32,40,37,100,41,32,119,105,116,104,32,109,97,120,32,40,37,100,41,32,102,111,114,32,99,111,100,101,98,108,111,99,107,32,37,100,32,40,112,61,37,100,44,32,98,61,37,100,44,32,114,61,37,100,44,32,99,61,37,100,41,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,83,79,80,32,109,97,114,107,101,114,10,0,78,111,116,32,101,110,111,117,103,104,32,115,112,97,99,101,32,102,111,114,32,101,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,69,120,112,101,99,116,101,100,32,69,80,72,32,109,97,114,107,101,114,10,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,114,119,97],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20480),allocate([17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,46,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+25118);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}assert(tempDoublePtr%8==0),Module._i64Subtract=_i64Subtract;var _floorf=Math_floor;Module._bitshift64Ashr=_bitshift64Ashr;var _SItoF=!0;Module._memset=_memset;var _BDtoILow=!0,_ceilf=Math_ceil;function _abort(){Module.abort()}function ___lock(){}function ___unlock(){}Module._bitshift64Shl=_bitshift64Shl,Module._i64Add=_i64Add;var _floor=Math_floor,_sqrt=Math_sqrt,PATH=void 0;function _emscripten_set_main_loop_timing(e,i){if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){setTimeout(Browser.mainLoop.runner,i)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var r=[],t="__emcc";function n(e){e.source===window&&e.data===t&&(e.stopPropagation(),r.shift()())}window.addEventListener("message",n,!0),window.setImmediate=function(e){r.push(e),window.postMessage(t,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(e,i,r,t,n){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=t;var f=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var i=Date.now(),r=Browser.mainLoop.queue.shift();if(r.func(r.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,a=n%1==0?n-1:Math.floor(n);r.counted?Browser.mainLoop.remainingBlockers=a:(a+=.5,Browser.mainLoop.remainingBlockers=(8*n+a)/9)}return console.log('main loop blocker "'+r.name+'" took '+(Date.now()-i)+" ms"),Browser.mainLoop.updateStatus(),void setTimeout(Browser.mainLoop.runner,0)}f1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0?Browser.mainLoop.scheduler():("timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter((function(){void 0!==t?Runtime.dynCall("vi",e,[t]):Runtime.dynCall("v",e)})),f0?_emscripten_set_main_loop_timing(0,1e3/i):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var e=Browser.mainLoop.timingMode,i=Browser.mainLoop.timingValue,r=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(r,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(e,i),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var e=Module.statusMessage||"Please wait...",i=Browser.mainLoop.remainingBlockers,r=Browser.mainLoop.expectedBlockers;i?i=6;){var a=t>>n-6&63;n-=6,r+=i[a]}return 2==n?(r+=i[(3&t)<<4],r+="=="):4==n&&(r+=i[(15&t)<<2],r+="="),r}(e),f(o))},o.src=s,Browser.safeSetTimeout((function(){f(o)}),1e4)}};Module.preloadPlugins.push(i);var r=Module.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||function(){},r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),Module.elementPointerLock&&r.addEventListener("click",(function(e){!Browser.pointerLock&&r.requestPointerLock&&(r.requestPointerLock(),e.preventDefault())}),!1))}function t(){Browser.pointerLock=document.pointerLockElement===r||document.mozPointerLockElement===r||document.webkitPointerLockElement===r||document.msPointerLockElement===r}},createContext:function(e,i,r,t){if(i&&Module.ctx&&e==Module.canvas)return Module.ctx;var n,f;if(i){var a={antialias:!1,alpha:!1};if(t)for(var l in t)a[l]=t[l];(f=GL.createContext(e,a))&&(n=GL.getContext(f).GLctx),e.style.backgroundColor="black"}else n=e.getContext("2d");return n?(r&&(i||assert("undefined"==typeof GLctx,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=n,i&&GL.makeContextCurrent(f),Module.useWebGL=i,Browser.moduleContextCreatedCallbacks.forEach((function(e){e()})),Browser.init()),n):null},destroyContext:function(e,i,r){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(e,i,r){Browser.lockPointer=e,Browser.resizeCanvas=i,Browser.vrDevice=r,void 0===Browser.lockPointer&&(Browser.lockPointer=!0),void 0===Browser.resizeCanvas&&(Browser.resizeCanvas=!1),void 0===Browser.vrDevice&&(Browser.vrDevice=null);var t=Module.canvas;function n(){Browser.isFullScreen=!1;var e=t.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},t.cancelFullScreen=t.cancelFullScreen.bind(document),Browser.lockPointer&&t.requestPointerLock(),Browser.isFullScreen=!0,Browser.resizeCanvas&&Browser.setFullScreenCanvasSize()):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullScreen),Browser.updateCanvasDimensions(t)}Browser.fullScreenHandlersInstalled||(Browser.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var f=document.createElement("div");t.parentNode.insertBefore(f,t),f.appendChild(t),f.requestFullScreen=f.requestFullScreen||f.mozRequestFullScreen||f.msRequestFullscreen||(f.webkitRequestFullScreen?function(){f.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),r?f.requestFullScreen({vrDisplay:r}):f.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(e){var i=Date.now();if(0===Browser.nextRAF)Browser.nextRAF=i+1e3/60;else for(;i+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var r=Math.max(Browser.nextRAF-i,0);setTimeout(e,r)},requestAnimationFrame:function(e){"undefined"==typeof window?Browser.fakeRequestAnimationFrame(e):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(e))},safeCallback:function(e){return function(){if(!ABORT)return e.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var e=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],e.forEach((function(e){e()}))}},safeRequestAnimationFrame:function(e){return Browser.requestAnimationFrame((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}))},safeSetTimeout:function(e,i){return Module.noExitRuntime=!0,setTimeout((function(){ABORT||(Browser.allowAsyncCallbacks?e():Browser.queuedAsyncCallbacks.push(e))}),i)},safeSetInterval:function(e,i){return Module.noExitRuntime=!0,setInterval((function(){ABORT||Browser.allowAsyncCallbacks&&e()}),i)},getMimetype:function(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia:function(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX:function(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY:function(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta:function(e){var i=0;switch(e.type){case"DOMMouseScroll":i=e.detail;break;case"mousewheel":i=e.wheelDelta;break;case"wheel":i=e.deltaY;break;default:throw"unrecognized mouse wheel event: "+e.type}return i},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(e){if(Browser.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),"undefined"!=typeof SDL?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var i=Module.canvas.getBoundingClientRect(),r=Module.canvas.width,t=Module.canvas.height,n=void 0!==window.scrollX?window.scrollX:window.pageXOffset,f=void 0!==window.scrollY?window.scrollY:window.pageYOffset;if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var a=e.touch;if(void 0===a)return;var l=a.pageX-(n+i.left),s=a.pageY-(f+i.top),o={x:l*=r/i.width,y:s*=t/i.height};if("touchstart"===e.type)Browser.lastTouches[a.identifier]=o,Browser.touches[a.identifier]=o;else if("touchend"===e.type||"touchmove"===e.type){var u=Browser.touches[a.identifier];u||(u=o),Browser.lastTouches[a.identifier]=u,Browser.touches[a.identifier]=o}return}var c=e.pageX-(n+i.left),d=e.pageY-(f+i.top);c*=r/i.width,d*=t/i.height,Browser.mouseMovementX=c-Browser.mouseX,Browser.mouseMovementY=d-Browser.mouseY,Browser.mouseX=c,Browser.mouseY=d}},xhrLoad:function(e,i,r){var t=new XMLHttpRequest;t.open("GET",e,!0),t.responseType="arraybuffer",t.onload=function(){200==t.status||0==t.status&&t.response?i(t.response):r()},t.onerror=r,t.send(null)},asyncLoad:function(e,i,r,t){Browser.xhrLoad(e,(function(r){assert(r,'Loading data file "'+e+'" failed (no arrayBuffer).'),i(new Uint8Array(r)),t||removeRunDependency("al "+e)}),(function(i){if(!r)throw'Loading data file "'+e+'" failed.';r()})),t||addRunDependency("al "+e)},resizeListeners:[],updateResizeListeners:function(){var e=Module.canvas;Browser.resizeListeners.forEach((function(i){i(e.width,e.height)}))},setCanvasSize:function(e,i,r){var t=Module.canvas;Browser.updateCanvasDimensions(t,e,i),r||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e|=8388608,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if("undefined"!=typeof SDL){var e=HEAPU32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2];e&=-8388609,HEAP32[SDL.screen+0*Runtime.QUANTUM_SIZE>>2]=e}Browser.updateResizeListeners()},updateCanvasDimensions:function(e,i,r){i&&r?(e.widthNative=i,e.heightNative=r):(i=e.widthNative,r=e.heightNative);var t=i,n=r;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(t/n>2]},getStr:function(){return Pointer_stringify(SYSCALLS.get())},get64:function(){var e=SYSCALLS.get(),i=SYSCALLS.get();return assert(e>=0?0===i:-1===i),e},getZero:function(){assert(0===SYSCALLS.get())}};function ___syscall54(e,i){SYSCALLS.varargs=i;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}Module._bitshift64Lshr=_bitshift64Lshr;var _BDtoIHigh=!0;function _pthread_cleanup_push(e,i){__ATEXIT__.push((function(){Runtime.dynCall("vi",e,[i])})),_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function ___syscall5(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStr(),t=SYSCALLS.get(),n=SYSCALLS.get();return FS.open(r,t,n).fd}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _emscripten_memcpy_big(e,i,r){return HEAPU8.set(HEAPU8.subarray(i,i+r),e),e}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}Module._memcpy=_memcpy;var _llvm_pow_f64=Math_pow;function _sbrk(e){var i=_sbrk;i.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),i.called=!0,assert(Runtime.dynamicAlloc),i.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e&&!i.alloc(e))return-1>>>0;return r}var _BItoD=!0;function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _pthread_self(){return 0}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get(),f=SYSCALLS.get(),a=SYSCALLS.get(),l=n;return assert(0===t),FS.llseek(r,l,a),HEAP32[f>>2]=r.position,r.getdents&&0===l&&0===a&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{SYSCALLS.get();var r=SYSCALLS.get(),t=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var f=___syscall146.buffer,a=0;a>2],s=HEAP32[r+(8*a+4)>>2],o=0;o>1]=2,0;case 16:case 8:default:return-ERRNO_CODES.EINVAL;case 9:return ___setErrNo(ERRNO_CODES.EINVAL),-1}}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall145(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get();return SYSCALLS.doReadv(r,t,n)}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}Module.requestFullScreen=function(e,i,r){Browser.requestFullScreen(e,i,r)},Module.requestAnimationFrame=function(e){Browser.requestAnimationFrame(e)},Module.setCanvasSize=function(e,i,r){Browser.setCanvasSize(e,i,r)},Module.pauseMainLoop=function(){Browser.mainLoop.pause()},Module.resumeMainLoop=function(){Browser.mainLoop.resume()},Module.getUserMedia=function(){Browser.getUserMedia()},Module.createContext=function(e,i,r,t){return Browser.createContext(e,i,r,t)},STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX),assert(DYNAMIC_BASE2147483648)return false;c=new t(e);d=new n(e);h=new f(e);b=new a(e);k=new l(e);w=new s(e);_=new o(e);m=new u(e);r=e;return true}function ii(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+48|0;n=u+32|0;o=u+28|0;h[n>>2]=r;if((h[e+8>>2]|0)==16)s=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else s=h[e+12>>2]|0;f=(h[e+80>>2]|0)+16|0;a=(h[f>>2]|0)>>>0<257?1:2;l=a+1|0;if(l>>>0>r>>>0){Zt(t,1,14585,u)|0;t=0;v=u;return t|0}h[n>>2]=r-l;gt(i,o,a);r=h[o>>2]|0;if(r>>>0>=(h[f>>2]|0)>>>0){Zt(t,1,14611,u+8|0)|0;t=0;v=u;return t|0}gt(i+a|0,(h[s+5584>>2]|0)+(r*1080|0)|0,1);if(!(Si(e,h[o>>2]|0,i+l|0,n,t)|0)){Zt(t,1,14585,u+16|0)|0;t=0;v=u;return t|0}if(!(h[n>>2]|0)){t=1;v=u;return t|0}Zt(t,1,14585,u+24|0)|0;t=0;v=u;return t|0}function ri(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+32|0;l=s+8|0;n=s+20|0;a=h[(h[e+80>>2]|0)+16>>2]|0;f=a>>>0<257?1:2;if((f+2|0)!=(r|0)){Zt(t,1,14502,s)|0;l=0;v=s;return l|0}if((h[e+8>>2]|0)==16)e=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else e=h[e+12>>2]|0;gt(i,n,f);gt(i+f|0,s+16|0,1);r=h[n>>2]|0;if(r>>>0>>0){gt(i+(f+1)|0,(h[e+5584>>2]|0)+(r*1080|0)+808|0,1);l=1;v=s;return l|0}else{h[l>>2]=r;h[l+4>>2]=a;Zt(t,1,14528,l)|0;l=0;v=s;return l|0}return 0}function ti(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;a=v;v=v+16|0;n=a+12|0;h[n>>2]=r;if(!(Ti(e,0,i,n,t)|0)){Zt(t,1,14476,a)|0;f=0;v=a;return f|0}if(h[n>>2]|0){Zt(t,1,14476,a+8|0)|0;f=0;v=a;return f|0}if((h[e+8>>2]|0)==16)n=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else n=h[e+12>>2]|0;n=h[n+5584>>2]|0;r=e+80|0;if((h[(h[r>>2]|0)+16>>2]|0)>>>0<=1){f=1;v=a;return f|0}t=n+24|0;e=n+804|0;f=n+28|0;i=1;while(1){h[n+1104>>2]=h[t>>2];h[n+1884>>2]=h[e>>2];Gs(n+1108|0,f|0,776)|0;i=i+1|0;if(i>>>0>=(h[(h[r>>2]|0)+16>>2]|0)>>>0){n=1;break}else n=n+1080|0}v=a;return n|0}function ni(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;d=v;v=v+48|0;c=d+32|0;u=d+24|0;o=d+16|0;f=d+8|0;n=d;s=d+40|0;a=d+36|0;h[s>>2]=r;l=e+80|0;do{if((h[(h[l>>2]|0)+16>>2]|0)>>>0<257){if(r){gt(i,a,1);f=i+1|0;i=r+-1|0;break}Zt(t,1,14129,n)|0;c=0;v=d;return c|0}else{if(r>>>0>=2){gt(i,a,2);f=i+2|0;i=r+-2|0;break}Zt(t,1,14129,f)|0;c=0;v=d;return c|0}}while(0);h[s>>2]=i;n=h[a>>2]|0;i=h[(h[l>>2]|0)+16>>2]|0;if(n>>>0>=i>>>0){h[o>>2]=n;h[o+4>>2]=i;Zt(t,1,14155,o)|0;c=0;v=d;return c|0}if(!(Ti(e,n,f,s,t)|0)){Zt(t,1,14129,u)|0;c=0;v=d;return c|0}if(!(h[s>>2]|0)){c=1;v=d;return c|0}Zt(t,1,14129,c)|0;c=0;v=d;return c|0}function fi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;m=v;v=v+16|0;f=m+8|0;_=m+12|0;w=h[(h[e+80>>2]|0)+16>>2]|0;k=w>>>0<257?1:2;b=(k<<1)+5|0;n=(r>>>0)/(b>>>0)|0;if((n|0)==0|((r>>>0)%(b>>>0)|0|0)!=0){Zt(t,1,14085,m)|0;_=0;v=m;return _|0}if((h[e+8>>2]|0)==16)b=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else b=h[e+12>>2]|0;r=b+5636|0;e=c[r>>0]|0;if(!(e&4))d=0;else d=(h[b+420>>2]|0)+1|0;u=d+n|0;if(u>>>0>31){h[f>>2]=u;Zt(t,1,14111,f)|0;_=0;v=m;return _|0}c[r>>0]=e|4;if(d>>>0>>0){t=k+1|0;o=b+8|0;f=k+3|0;a=k|4;l=a+k|0;s=l+1|0;e=i;n=d;r=b+424+(d*148|0)|0;while(1){gt(e,r,1);gt(e+1|0,r+4|0,k);i=r+8|0;gt(e+t|0,i,2);p=h[i>>2]|0;d=h[o>>2]|0;h[i>>2]=p>>>0>>0?p:d;gt(e+f|0,r+12|0,1);i=r+16|0;gt(e+a|0,i,k);gt(e+l|0,_,1);h[r+36>>2]=h[_>>2];d=h[i>>2]|0;h[i>>2]=d>>>0>>0?d:w;n=n+1|0;if(n>>>0>=u>>>0)break;else{e=e+s|0;r=r+148|0}}}h[b+420>>2]=u+-1;p=1;v=m;return p|0}function ai(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0;N=v;v=v+144|0;B=N+128|0;C=N+120|0;L=N+112|0;R=N+104|0;O=N+96|0;P=N+88|0;T=N+72|0;m=N+64|0;w=N+56|0;k=N+48|0;b=N+40|0;_=N+32|0;l=N+24|0;f=N+16|0;n=N+136|0;y=N+132|0;x=h[e+80>>2]|0;I=e+88|0;if(r>>>0<36){Zt(t,1,13440,N)|0;t=0;v=N;return t|0}D=r+-36|0;u=(D>>>0)/3|0;if((D>>>0)%3|0){Zt(t,1,13440,N+8|0)|0;t=0;v=N;return t|0}gt(i,n,2);d[I>>1]=h[n>>2];E=x+8|0;gt(i+2|0,E,4);S=x+12|0;gt(i+6|0,S,4);gt(i+10|0,x,4);o=x+4|0;gt(i+14|0,o,4);g=e+100|0;gt(i+18|0,g,4);M=e+104|0;gt(i+22|0,M,4);p=e+92|0;gt(i+26|0,p,4);A=e+96|0;gt(i+30|0,A,4);gt(i+34|0,n,2);a=i+36|0;r=h[n>>2]|0;if(r>>>0>=16385){h[f>>2]=r;Zt(t,1,13468,f)|0;t=0;v=N;return t|0}r=r&65535;D=x+16|0;h[D>>2]=r;if((r|0)!=(u|0)){h[l>>2]=r;h[l+4>>2]=u;Zt(t,1,13529,l)|0;t=0;v=N;return t|0}l=h[x>>2]|0;s=h[E>>2]|0;if(s>>>0>l>>>0){r=h[o>>2]|0;i=h[S>>2]|0;if(r>>>0>>0){n=h[g>>2]|0;f=h[M>>2]|0;if(!(ue(f,n)|0)){h[b>>2]=n;h[b+4>>2]=f;Zt(t,1,13705,b)|0;t=0;v=N;return t|0}_=Qs(i|0,0,s|0,0)|0;if(!((_|0)==(ue(i,s)|0)&(j|0)==0)){h[k>>2]=s;h[k+4>>2]=i;Zt(t,1,13766,k)|0;t=0;v=N;return t|0}s=h[p>>2]|0;b=zs(s|0,0,n|0,0)|0;k=j;o=h[A>>2]|0;_=zs(o|0,0,f|0,0)|0;if(s>>>0<=l>>>0?o>>>0<=r>>>0&(b|0-k)>>>0>l>>>0&(_|0-j)>>>0>r>>>0:0){i=Kn(u,52)|0;u=x+24|0;h[u>>2]=i;if(!i){h[D>>2]=0;Zt(t,1,13852,m)|0;t=0;v=N;return t|0}e:do{if(h[D>>2]|0){l=e+168|0;r=0;f=i;while(1){gt(a,y,1);h[f+24>>2]=(h[y>>2]&127)+1;h[f+32>>2]=(h[y>>2]|0)>>>7;gt(a+1|0,y,1);h[f>>2]=h[y>>2];gt(a+2|0,y,1);n=h[y>>2]|0;h[f+4>>2]=n;i=h[f>>2]|0;if((n+-1|0)>>>0>254|(i+-1|0)>>>0>254)break;h[f+36>>2]=0;h[f+40>>2]=h[l>>2];r=r+1|0;if(r>>>0>=(h[D>>2]|0)>>>0)break e;else{a=a+3|0;f=f+52|0}}h[T>>2]=r;h[T+4>>2]=i;h[T+8>>2]=n;Zt(t,1,13900,T)|0;t=0;v=N;return t|0}}while(0);s=h[p>>2]|0;l=h[g>>2]|0;a=((h[E>>2]|0)+-1-s+l|0)/(l|0)|0;h[e+112>>2]=a;f=h[A>>2]|0;n=h[M>>2]|0;i=((h[S>>2]|0)+-1-f+n|0)/(n|0)|0;h[e+116>>2]=i;if(!((i|0)==0|(a|0)==0)?a>>>0<=(65535/(i>>>0)|0)>>>0:0){o=ue(a,i)|0;r=e+28|0;if(!(c[e+76>>0]&2)){h[r>>2]=0;h[e+32>>2]=0;h[e+36>>2]=a;h[e+40>>2]=i}else{h[r>>2]=(((h[r>>2]|0)-s|0)>>>0)/(l>>>0)|0;P=e+32|0;h[P>>2]=(((h[P>>2]|0)-f|0)>>>0)/(n>>>0)|0;P=e+36|0;h[P>>2]=((h[P>>2]|0)+-1-s+l|0)/(l|0)|0;P=e+40|0;h[P>>2]=((h[P>>2]|0)+-1-f+n|0)/(n|0)|0}P=Kn(o,5640)|0;a=e+164|0;h[a>>2]=P;if(!P){Zt(t,1,13852,O)|0;t=0;v=N;return t|0}O=Kn(h[D>>2]|0,1080)|0;i=e+12|0;h[(h[i>>2]|0)+5584>>2]=O;if(!O){Zt(t,1,13852,R)|0;t=0;v=N;return t|0}R=Kn(10,20)|0;r=h[i>>2]|0;h[r+5612>>2]=R;if(!R){Zt(t,1,13852,L)|0;t=0;v=N;return t|0}h[r+5620>>2]=10;L=Kn(10,20)|0;r=h[i>>2]|0;h[r+5624>>2]=L;if(!L){Zt(t,1,13852,C)|0;t=0;v=N;return t|0}h[r+5632>>2]=10;f=h[D>>2]|0;if(f){n=h[u>>2]|0;r=r+5584|0;i=0;do{if(!(h[n+(i*52|0)+32>>2]|0))h[(h[r>>2]|0)+(i*1080|0)+1076>>2]=1<<(h[n+(i*52|0)+24>>2]|0)+-1;i=i+1|0}while(i>>>0>>0)}e:do{if(o){r=h[a>>2]|0;C=Kn(f,1080)|0;h[r+5584>>2]=C;if(C){i=0;while(1){i=i+1|0;if(i>>>0>=o>>>0)break e;C=Kn(h[D>>2]|0,1080)|0;h[r+11224>>2]=C;if(!C)break;else r=r+5640|0}}Zt(t,1,13852,B)|0;t=0;v=N;return t|0}}while(0);h[e+8>>2]=4;nn(x,I);t=1;v=N;return t|0}h[P>>2]=a;h[P+4>>2]=i;Zt(t,1,14002,P)|0;t=0;v=N;return t|0}Zt(t,1,13808,w)|0;t=0;v=N;return t|0}}else{i=h[S>>2]|0;r=h[o>>2]|0}h[_>>2]=s-l;h[_+4>>2]=i-r;Zt(t,1,13643,_)|0;t=0;v=N;return t|0}function li(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0;n=v;v=v+32|0;e=n+12|0;if(r>>>0<2){Zt(t,1,13414,n)|0;t=0;v=n;return t|0}gt(i,n+16|0,1);gt(i+1|0,e,1);i=h[e>>2]|0;if(!(((r+-2|0)>>>0)%(((i>>>5&2)+2+(i>>>4&3)|0)>>>0)|0)){t=1;v=n;return t|0}Zt(t,1,13414,n+8|0)|0;t=0;v=n;return t|0}function si(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=v;v=v+16|0;if(!r){Zt(t,1,13388,e)|0;i=0}else i=1;v=e;return i|0}function oi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+32|0;l=s+8|0;a=s+12|0;if(!r){Zt(t,1,13362,s)|0;t=0;v=s;return t|0}gt(i,s+16|0,1);n=r+-1|0;if(!n){t=1;v=s;return t|0}else{f=0;e=0}do{i=i+1|0;gt(i,a,1);r=h[a>>2]|0;if(!(r&128))e=0;else e=(r&127|e)<<7;f=f+1|0}while((f|0)!=(n|0));if(!e){t=1;v=s;return t|0}Zt(t,1,13362,l)|0;t=0;v=s;return t|0}function ui(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0;b=v;v=v+48|0;d=b+32|0;s=b+24|0;f=b+16|0;n=b+8|0;u=b+36|0;if(r>>>0<2){Zt(t,1,13276,b)|0;d=0;v=b;return d|0}o=e+184|0;c[o>>0]=c[o>>0]|1;gt(i,u,1);o=i+1|0;l=r+-1|0;a=e+124|0;r=h[a>>2]|0;do{if(r){n=e+120|0;i=h[u>>2]|0;if((h[n>>2]|0)>>>0<=i>>>0){e=i+1|0;i=Zn(r,e<<3)|0;if(i){h[a>>2]=i;r=h[n>>2]|0;qs(i+(r<<3)|0,0,e-r<<3|0)|0;h[n>>2]=e;r=h[a>>2]|0;break}Zt(t,1,13302,f)|0;d=0;v=b;return d|0}}else{i=(h[u>>2]|0)+1|0;r=Kn(i,8)|0;h[a>>2]=r;if(r){h[e+120>>2]=i;break}Zt(t,1,13302,n)|0;d=0;v=b;return d|0}}while(0);i=h[u>>2]|0;if(h[r+(i<<3)>>2]|0){h[s>>2]=i;Zt(t,1,13340,s)|0;d=0;v=b;return d|0}s=Gn(l)|0;r=h[u>>2]|0;i=h[a>>2]|0;h[i+(r<<3)>>2]=s;if(!s){Zt(t,1,13302,d)|0;d=0;v=b;return d|0}else{h[i+(r<<3)+4>>2]=l;Gs(h[i+(h[u>>2]<<3)>>2]|0,o|0,l|0)|0;d=1;v=b;return d|0}return 0}function ci(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;w=v;v=v+48|0;k=w+40|0;d=w+32|0;l=w+24|0;a=w+16|0;b=w+44|0;if(r>>>0<2){Zt(t,1,13127,w)|0;k=0;v=w;return k|0}if(c[e+184>>0]&1){Zt(t,1,13153,w+8|0)|0;k=0;v=w;return k|0}f=h[e+200>>2]|0;n=h[e+164>>2]|0;u=n+(f*5640|0)+5636|0;c[u>>0]=c[u>>0]|2;gt(i,b,1);u=i+1|0;o=r+-1|0;s=n+(f*5640|0)+5164|0;i=h[s>>2]|0;do{if(i){n=n+(f*5640|0)+5160|0;e=h[b>>2]|0;if((h[n>>2]|0)>>>0<=e>>>0){r=e+1|0;e=Zn(i,r<<3)|0;if(e){h[s>>2]=e;i=h[n>>2]|0;qs(e+(i<<3)|0,0,r-i<<3|0)|0;h[n>>2]=r;i=h[s>>2]|0;break}Zt(t,1,8775,l)|0;k=0;v=w;return k|0}}else{e=(h[b>>2]|0)+1|0;i=Kn(e,8)|0;h[s>>2]=i;if(i){h[n+(f*5640|0)+5160>>2]=e;break}Zt(t,1,8775,a)|0;k=0;v=w;return k|0}}while(0);e=h[b>>2]|0;if(h[i+(e<<3)>>2]|0){h[d>>2]=e;Zt(t,1,13254,d)|0;k=0;v=w;return k|0}d=Gn(o)|0;i=h[b>>2]|0;e=h[s>>2]|0;h[e+(i<<3)>>2]=d;if(!d){Zt(t,1,8775,k)|0;k=0;v=w;return k|0}else{h[e+(i<<3)+4>>2]=o;Gs(h[e+(h[b>>2]<<3)>>2]|0,u|0,o|0)|0;k=1;v=w;return k|0}return 0}function di(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;i=v;v=v+16|0;if((h[(h[e+80>>2]|0)+16>>2]<<2|0)==(r|0)){t=1;v=i;return t|0}Zt(t,1,13101,i)|0;t=0;v=i;return t|0}function hi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return 1}function bi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+48|0;w=_+40|0;k=_+32|0;o=_+24|0;b=_+44|0;if((h[e+8>>2]|0)==16)l=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else l=h[e+12>>2]|0;if(r>>>0<2){Zt(t,1,12933,_)|0;w=0;v=_;return w|0}gt(i,b,2);if(h[b>>2]|0){Zt(t,2,12959,_+8|0)|0;w=1;v=_;return w|0}if(r>>>0<7){Zt(t,1,12933,_+16|0)|0;w=0;v=_;return w|0}gt(i+2|0,b,2);c=i+4|0;d=h[b>>2]&255;s=l+5612|0;n=h[s>>2]|0;u=l+5616|0;e=h[u>>2]|0;e:do{if(!e){f=0;a=n}else{f=0;a=n;do{if((h[a+8>>2]|0)==(d|0))break e;a=a+20|0;f=f+1|0}while(f>>>0>>0)}}while(0);if((f|0)==(e|0)){f=l+5620|0;do{if((e|0)==(h[f>>2]|0)){e=e+10|0;h[f>>2]=e;e=Zn(n,e*20|0)|0;if(e){h[s>>2]=e;n=h[u>>2]|0;qs(e+(n*20|0)|0,0,((h[f>>2]|0)-n|0)*20|0)|0;n=h[s>>2]|0;e=h[u>>2]|0;break}Qn(h[s>>2]|0);h[s>>2]=0;h[f>>2]=0;h[u>>2]=0;Zt(t,1,13019,o)|0;w=0;v=_;return w|0}}while(0);h[u>>2]=e+1;a=n+(e*20|0)|0}f=a+12|0;e=h[f>>2]|0;if(e){Qn(e);h[f>>2]=0}h[a+8>>2]=d;d=h[b>>2]|0;h[a+4>>2]=d>>>8&3;h[a>>2]=d>>>10&3;gt(c,b,2);if(h[b>>2]|0){Zt(t,2,13057,k)|0;w=1;v=_;return w|0}e=r+-6|0;n=Gn(e)|0;h[f>>2]=n;if(!n){Zt(t,1,12933,w)|0;w=0;v=_;return w|0}else{Gs(n|0,i+6|0,e|0)|0;h[a+16>>2]=e;w=1;v=_;return w|0}return 0}function ki(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+32|0;n=l+16|0;a=l+12|0;e=e+80|0;f=h[(h[e>>2]|0)+16>>2]|0;if((f+2|0)!=(r|0)){Zt(t,1,12907,l)|0;a=0;v=l;return a|0}gt(i,n,2);if((h[n>>2]|0)!=(f|0)){Zt(t,1,12907,l+8|0)|0;a=0;v=l;return a|0}if(!f){a=1;v=l;return a|0}n=i+2|0;i=0;e=h[(h[e>>2]|0)+24>>2]|0;while(1){gt(n,a,1);h[e+32>>2]=(h[a>>2]|0)>>>7&1;h[e+24>>2]=(h[a>>2]&127)+1;i=i+1|0;if((i|0)==(f|0)){e=1;break}else{n=n+1|0;e=e+52|0}}v=l;return e|0}function wi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0;I=v;v=v+144|0;x=I+120|0;D=I+112|0;C=I+104|0;L=I+96|0;R=I+88|0;O=I+80|0;P=I+72|0;S=I+64|0;T=I+56|0;M=I+48|0;b=I+40|0;d=I+32|0;o=I+24|0;E=I+136|0;p=I+132|0;g=I+128|0;y=I+124|0;if((h[e+8>>2]|0)==16)k=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else k=h[e+12>>2]|0;if(r>>>0<2){Zt(t,1,12567,I)|0;x=0;v=I;return x|0}gt(i,E,2);if(h[E>>2]|0){Zt(t,2,12593,I+8|0)|0;x=1;v=I;return x|0}if(r>>>0<7){Zt(t,1,12567,I+16|0)|0;x=0;v=I;return x|0}gt(i+2|0,p,1);u=i+3|0;s=k+5624|0;n=h[s>>2]|0;A=k+5628|0;e=h[A>>2]|0;e:do{if(!e){a=0;f=n}else{l=h[p>>2]|0;a=0;f=n;do{if((h[f>>2]|0)==(l|0))break e;f=f+20|0;a=a+1|0}while(a>>>0>>0)}}while(0);if((a|0)==(e|0)){f=k+5632|0;do{if((e|0)==(h[f>>2]|0)){e=e+10|0;h[f>>2]=e;e=Zn(n,e*20|0)|0;if(e){h[s>>2]=e;n=h[A>>2]|0;qs(e+(n*20|0)|0,0,((h[f>>2]|0)-n|0)*20|0)|0;n=h[s>>2]|0;e=h[A>>2]|0;break}Qn(h[s>>2]|0);h[s>>2]=0;h[f>>2]=0;h[A>>2]=0;Zt(t,1,12639,o)|0;x=0;v=I;return x|0}}while(0);f=n+(e*20|0)|0}h[f>>2]=h[p>>2];gt(u,E,2);if(h[E>>2]|0){Zt(t,2,12593,d)|0;x=1;v=I;return x|0}gt(i+5|0,g,2);n=h[g>>2]|0;if(n>>>0>1){Zt(t,2,12677,b)|0;x=1;v=I;return x|0}e=r+-7|0;e:do{if(n){w=f+4|0;_=f+16|0;m=f+8|0;r=f+12|0;b=k+5612|0;d=k+5616|0;o=i+7|0;u=0;i:while(1){if(e>>>0<3){n=27;break}gt(o,E,1);if((h[E>>2]|0)!=1){n=29;break}gt(o+1|0,y,2);n=e+-3|0;a=h[y>>2]|0;l=(a>>>15)+1|0;a=a&32767;h[w>>2]=a;f=(ue(l,a)|0)+2|0;if(n>>>0>>0){n=31;break}e=o+3|0;s=n-f|0;if(a){n=0;do{gt(e,E,l);if((h[E>>2]|0)!=(n|0)){n=34;break i}e=e+l|0;n=n+1|0}while(n>>>0<(h[w>>2]|0)>>>0)}gt(e,y,2);n=e+2|0;f=h[y>>2]|0;a=(f>>>15)+1|0;f=f&32767;h[y>>2]=f;if((f|0)!=(h[w>>2]|0)){n=37;break}e=(ue(a,f)|0)+3|0;if(s>>>0>>0){n=39;break}e=s-e|0;if(f){f=0;do{gt(n,E,a);if((h[E>>2]|0)!=(f|0)){n=42;break i}n=n+a|0;f=f+1|0}while(f>>>0<(h[w>>2]|0)>>>0)}gt(n,E,3);o=n+3|0;c[_>>0]=((h[E>>2]|0)>>>16^1)&1|c[_>>0]&-2;h[m>>2]=0;h[r>>2]=0;s=h[E>>2]|0;f=s&255;h[p>>2]=f;if(f){a=h[d>>2]|0;if(!a){n=50;break}l=0;n=h[b>>2]|0;while(1){if((h[n+8>>2]|0)==(f|0))break;l=l+1|0;if(l>>>0>=a>>>0){n=50;break i}else n=n+20|0}h[m>>2]=n}f=s>>>8&255;h[p>>2]=f;if(f){a=h[d>>2]|0;if(!a){n=57;break}l=0;n=h[b>>2]|0;while(1){if((h[n+8>>2]|0)==(f|0))break;l=l+1|0;if(l>>>0>=a>>>0){n=57;break i}else n=n+20|0}h[r>>2]=n}u=u+1|0;if(u>>>0>=(h[g>>2]|0)>>>0)break e}if((n|0)==27){Zt(t,1,12567,M)|0;x=0;v=I;return x|0}else if((n|0)==29){Zt(t,2,12721,T)|0;x=1;v=I;return x|0}else if((n|0)==31){Zt(t,1,12567,S)|0;x=0;v=I;return x|0}else if((n|0)==34){Zt(t,2,12787,P)|0;x=1;v=I;return x|0}else if((n|0)==37){Zt(t,2,12841,O)|0;x=1;v=I;return x|0}else if((n|0)==39){Zt(t,1,12567,R)|0;x=0;v=I;return x|0}else if((n|0)==42){Zt(t,2,12787,L)|0;x=1;v=I;return x|0}else if((n|0)==50){Zt(t,1,12567,C)|0;x=0;v=I;return x|0}else if((n|0)==57){Zt(t,1,12567,D)|0;x=0;v=I;return x|0}}}while(0);if(!e){h[A>>2]=(h[A>>2]|0)+1;x=1;v=I;return x|0}else{Zt(t,1,12567,x)|0;x=0;v=I;return x|0}return 0}function _i(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+32|0;w=_+24|0;k=_+20|0;c=e+80|0;n=h[c>>2]|0;if((h[e+8>>2]|0)==16)f=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else f=h[e+12>>2]|0;if(!r){Zt(t,1,12486,_)|0;w=0;v=_;return w|0}gt(i,k,1);e=h[k>>2]|0;if(e>>>0>1){Zt(t,2,12512,_+8|0)|0;w=1;v=_;return w|0}if((e+1|0)!=(r|0)){Zt(t,2,12486,_+16|0)|0;w=0;v=_;return w|0}u=f+5584|0;e=h[n+16>>2]|0;if(e){r=0;t=h[u>>2]|0;while(1){h[t+1076>>2]=0;r=r+1|0;if(r>>>0>=e>>>0)break;else t=t+1080|0}}o=f+5604|0;e=h[o>>2]|0;if(e){Qn(e);h[o>>2]=0}if(!(h[k>>2]|0)){w=1;v=_;return w|0}s=f+5624|0;a=f+5628|0;l=0;while(1){i=i+1|0;gt(i,w,1);e=h[c>>2]|0;n=h[s>>2]|0;f=h[a>>2]|0;if(((f|0)!=0?!((f|0)==0?1:(h[n>>2]|0)!=(h[w>>2]|0)):0)?(d=h[n+4>>2]|0,b=e+16|0,(d|0)==(h[b>>2]|0)):0){e=h[n+8>>2]|0;if(e){r=ue(d,d)|0;f=ue(h[1036+(h[e>>2]<<2)>>2]|0,r)|0;if((h[e+16>>2]|0)!=(f|0)){e=0;r=32;break}t=Gn(r<<2)|0;h[o>>2]=t;if(!t){e=0;r=32;break}Bo[h[1052+(h[e>>2]<<2)>>2]&15](h[e+12>>2]|0,t,r)}e=h[n+12>>2]|0;if(e){r=h[b>>2]|0;f=ue(r,h[1036+(h[e>>2]<<2)>>2]|0)|0;if((h[e+16>>2]|0)!=(f|0)){e=0;r=32;break}f=Gn(r<<2)|0;if(!f){e=0;r=32;break}Bo[h[1068+(h[e>>2]<<2)>>2]&15](h[e+12>>2]|0,f,r);e=h[b>>2]|0;if(e){r=0;t=f;n=h[u>>2]|0;while(1){h[n+1076>>2]=h[t>>2];r=r+1|0;if((r|0)==(e|0))break;else{t=t+4|0;n=n+1080|0}}}Qn(f)}}l=l+1|0;if(l>>>0>=(h[k>>2]|0)>>>0){e=1;r=32;break}}if((r|0)==32){v=_;return e|0}return 0}function mi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){gt(e,n,2);h[i>>2]=h[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+2|0}}v=f;return}function pi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){gt(e,n,4);h[i>>2]=h[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}v=f;return}function vi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){Mt(e,n);h[i>>2]=~~+_[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}v=f;return}function gi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){Et(e,n);h[i>>2]=~~+m[n>>3];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+8|0}}v=f;return}function yi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){gt(e,n,2);_[i>>2]=+((h[n>>2]|0)>>>0);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+2|0}}v=f;return}function Ei(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){gt(e,n,4);_[i>>2]=+((h[n>>2]|0)>>>0);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}v=f;return}function Ai(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){Mt(e,n);h[i>>2]=h[n>>2];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}v=f;return}function Mi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;if(!r){v=f;return}t=0;while(1){Et(e,n);_[i>>2]=+m[n>>3];t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+8|0}}v=f;return}function Ti(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0;c=v;v=v+32|0;a=c+8|0;s=c+20|0;if((h[e+8>>2]|0)==16)e=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else e=h[e+12>>2]|0;u=h[e+5584>>2]|0;e=h[t>>2]|0;if(!e){Zt(n,1,14224,c)|0;i=0;v=c;return i|0}h[t>>2]=e+-1;gt(r,s,1);r=r+1|0;f=h[s>>2]&31;l=u+(i*1080|0)+24|0;h[l>>2]=f;h[u+(i*1080|0)+804>>2]=(h[s>>2]|0)>>>5;do{if((f|0)==1){e=1;o=8}else{e=(h[t>>2]|0)>>>((f|0)!=0&1);if(e>>>0>97){h[a>>2]=e;h[a+4>>2]=97;h[a+8>>2]=97;Zt(n,2,14260,a)|0;f=h[l>>2]|0}n=(e|0)==0;if(f)if(n){e=0;o=20;break}else{o=8;break}if(!n){f=0;while(1){gt(r,s,1);if(f>>>0<97){h[u+(i*1080|0)+28+(f<<3)>>2]=(h[s>>2]|0)>>>3;h[u+(i*1080|0)+28+(f<<3)+4>>2]=0}f=f+1|0;if((f|0)==(e|0))break;else r=r+1|0}}e=(h[t>>2]|0)-e|0}}while(0);if((o|0)==8){f=0;while(1){gt(r,s,2);if(f>>>0<97){h[u+(i*1080|0)+28+(f<<3)>>2]=(h[s>>2]|0)>>>11;h[u+(i*1080|0)+28+(f<<3)+4>>2]=h[s>>2]&2047}f=f+1|0;if((f|0)==(e|0)){o=20;break}else r=r+2|0}}if((o|0)==20)e=(h[t>>2]|0)-(e<<1)|0;h[t>>2]=e;if((h[l>>2]|0)!=1){i=1;v=c;return i|0}e=u+(i*1080|0)+28|0;r=u+(i*1080|0)+32|0;f=1;do{t=(h[e>>2]|0)-(((f+-1|0)>>>0)/3|0)|0;h[u+(i*1080|0)+28+(f<<3)>>2]=(t|0)>0?t:0;h[u+(i*1080|0)+28+(f<<3)+4>>2]=h[r>>2];f=f+1|0}while((f|0)!=97);e=1;v=c;return e|0}function Si(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;w=v;v=v+48|0;b=w+40|0;o=w+32|0;s=w+16|0;l=w+8|0;d=w+44|0;a=e+8|0;if((h[a>>2]|0)==16)f=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else f=h[e+12>>2]|0;u=h[f+5584>>2]|0;if((h[t>>2]|0)>>>0<5){Zt(n,1,14664,w)|0;t=0;v=w;return t|0}c=u+(i*1080|0)+4|0;gt(r,c,1);f=(h[c>>2]|0)+1|0;h[c>>2]=f;if(f>>>0>33){h[l>>2]=f;h[l+4>>2]=33;Zt(n,1,14699,l)|0;t=0;v=w;return t|0}if((h[e+168>>2]|0)>>>0>=f>>>0){h[s>>2]=i;Zt(n,1,14776,s)|0;h[a>>2]=h[a>>2]|32768;t=0;v=w;return t|0}l=u+(i*1080|0)+8|0;gt(r+1|0,l,1);h[l>>2]=(h[l>>2]|0)+2;e=u+(i*1080|0)+12|0;gt(r+2|0,e,1);s=(h[e>>2]|0)+2|0;h[e>>2]=s;l=h[l>>2]|0;if(l>>>0>10|s>>>0>10|(l+s|0)>>>0>12){Zt(n,1,14934,w+24|0)|0;t=0;v=w;return t|0}gt(r+3|0,u+(i*1080|0)+16|0,1);gt(r+4|0,u+(i*1080|0)+20|0,1);a=(h[t>>2]|0)+-5|0;h[t>>2]=a;f=h[c>>2]|0;if(!(h[u+(i*1080|0)>>2]&1)){if(!f){t=1;v=w;return t|0}else f=0;do{h[u+(i*1080|0)+812+(f<<2)>>2]=15;h[u+(i*1080|0)+944+(f<<2)>>2]=15;f=f+1|0}while(f>>>0<(h[c>>2]|0)>>>0);f=1;v=w;return f|0}if(a>>>0>>0){Zt(n,1,14664,o)|0;t=0;v=w;return t|0}do{if(!f)f=0;else{e=0;a=r+5|0;while(1){gt(a,d,1);a=a+1|0;f=h[d>>2]|0;if((e|0)!=0?f>>>0<16|(f&15|0)==0:0)break;h[u+(i*1080|0)+812+(e<<2)>>2]=f&15;h[u+(i*1080|0)+944+(e<<2)>>2]=(h[d>>2]|0)>>>4;e=e+1|0;f=h[c>>2]|0;if(e>>>0>=f>>>0){k=22;break}}if((k|0)==22){a=h[t>>2]|0;break}Zt(n,1,15002,b)|0;t=0;v=w;return t|0}}while(0);h[t>>2]=a-f;t=1;v=w;return t|0}function Pi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){vt(i,~~+_[e>>2]>>>0,2);t=t+1|0;if((t|0)==(r|0))break;else{i=i+2|0;e=e+4|0}}return}function Oi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){vt(i,~~+_[e>>2]>>>0,4);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}return}function Ri(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){At(i,+_[e>>2]);t=t+1|0;if((t|0)==(r|0))break;else{i=i+4|0;e=e+4|0}}return}function Li(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!r)return;t=0;while(1){yt(i,+_[e>>2]);t=t+1|0;if((t|0)==(r|0))break;else{i=i+8|0;e=e+4|0}}return}function Ci(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+16|0;if(!r){r=0;v=l;return r|0}if(!(mf(h[e>>2]|0,i,r,t)|0)){Zt(t,1,16303,l)|0;r=0;v=l;return r|0}if(h[e+128>>2]|0){r=1;v=l;return r|0}a=e+108|0;if(!(Zi(r,a,t)|0)){r=0;v=l;return r|0}i=h[e+48>>2]|0;e:do{switch(i|0){case 16:{h[r+20>>2]=1;break}case 17:{h[r+20>>2]=2;break}case 18:{h[r+20>>2]=3;break}case 24:{h[r+20>>2]=4;break}default:{n=r+20|0;if((i|0)==12){h[n>>2]=5;break e}else{h[n>>2]=-1;break e}}}}while(0);f=e+120|0;i=h[f>>2]|0;do{if(i){if(h[i+12>>2]|0){Qi(r,a);break}Qn(h[i+4>>2]|0);Qn(h[(h[f>>2]|0)+8>>2]|0);Qn(h[h[f>>2]>>2]|0);i=h[f>>2]|0;n=h[i+12>>2]|0;if(n){Qn(n);i=h[f>>2]|0}Qn(i);h[f>>2]=0}}while(0);if(h[e+116>>2]|0)$i(r,a,t);i=h[a>>2]|0;if(!i){r=1;v=l;return r|0}h[r+28>>2]=i;h[r+32>>2]=h[e+112>>2];h[a>>2]=0;r=1;v=l;return r|0}function Di(e,i){e=e|0;i=i|0;ef(h[e>>2]|0,i);c[e+124>>0]=0;h[e+128>>2]=h[i+8248>>2]&1;return}function xi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;y=v;v=v+80|0;g=y+64|0;_=y+56|0;c=y+48|0;w=y+40|0;k=y+32|0;b=y+24|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){i=0;v=y;return i|0}m=r+16|0;if(((h[m>>2]|0)+-1|0)>>>0>16383){Zt(t,1,16352,y)|0;i=0;v=y;return i|0}if(!(nf(h[e>>2]|0,i,r,t)|0)){i=0;v=y;return i|0}h[e+56>>2]=1785737760;h[e+60>>2]=0;h[e+64>>2]=1;n=Gn(4)|0;f=e+68|0;h[f>>2]=n;if(!n){h[f>>2]=0;Zt(t,1,16421,y+8|0)|0;i=0;v=y;return i|0}h[n>>2]=1785737760;s=h[m>>2]|0;h[e+20>>2]=s;s=Gn(s*12|0)|0;n=e+72|0;h[n>>2]=s;if(!s){h[n>>2]=0;Zt(t,1,16421,y+16|0)|0;i=0;v=y;return i|0}h[e+16>>2]=(h[r+12>>2]|0)-(h[r+4>>2]|0);h[e+12>>2]=(h[r+8>>2]|0)-(h[r>>2]|0);p=r+24|0;o=h[p>>2]|0;a=h[o+24>>2]|0;l=h[o+32>>2]|0;n=e+24|0;h[n>>2]=a+-1+(l<<7);u=h[m>>2]|0;if(u>>>0>1){f=1;do{if((a|0)!=(h[o+(f*52|0)+24>>2]|0))h[n>>2]=255;f=f+1|0}while(f>>>0>>0)}h[e+28>>2]=7;h[e+32>>2]=0;h[e+36>>2]=0;f=(u|0)==0;if(!f?(h[s+8>>2]=a+-1+(l<<7),u>>>0>1):0){n=1;do{h[s+(n*12|0)+8>>2]=(h[o+(n*52|0)+24>>2]|0)+-1+(h[o+(n*52|0)+32>>2]<<7);n=n+1|0}while(n>>>0>>0)}n=e+40|0;e:do{if(!(h[r+32>>2]|0)){h[n>>2]=1;switch(h[r+20>>2]|0){case 1:{h[e+48>>2]=16;break e}case 2:{h[e+48>>2]=17;break e}case 3:{h[e+48>>2]=18;break e}default:break e}}else{h[n>>2]=2;h[e+48>>2]=0}}while(0);e:do{if(!f){f=0;n=0;a=0;do{r=(d[o+(a*52|0)+48>>1]|0)==0;n=(r&1^1)+n|0;f=r?f:a;a=a+1|0}while(a>>>0>>0);a=f;if((n|0)!=1){if(n>>>0<=1)break;Zt(t,2,16717,c)|0;break}switch(h[e+48>>2]|0){case 18:case 16:{f=3;break}case 17:{f=1;break}default:{Zt(t,2,16467,b)|0;break e}}if(u>>>0<(f+1|0)>>>0){Zt(t,2,16541,k)|0;break}if(a>>>0>>0){Zt(t,2,16634,w)|0;break}w=Gn(8)|0;n=e+116|0;h[n>>2]=w;if(!w){Zt(t,1,16782,_)|0;i=0;v=y;return i|0}_=Gn((h[m>>2]|0)*6|0)|0;r=h[n>>2]|0;h[r>>2]=_;if(!_){Zt(t,1,16782,g)|0;i=0;v=y;return i|0}s=h[m>>2]|0;d[r+4>>1]=s;l=h[r>>2]|0;n=0;do{d[l+(n*6|0)>>1]=n;d[l+(n*6|0)+2>>1]=0;g=n;n=n+1|0;d[l+(g*6|0)+4>>1]=n}while((n|0)!=(f|0));if(f>>>0>>0){a=h[p>>2]|0;do{g=(d[a+(f*52|0)+48>>1]|0)==0;d[l+(f*6|0)>>1]=f;n=l+(f*6|0)+2|0;if(g){d[n>>1]=-1;d[l+(f*6|0)+4>>1]=-1}else{d[n>>1]=1;d[(h[r>>2]|0)+(f*6|0)+4>>1]=0}f=f+1|0}while(f>>>0>>0)}}}while(0);h[e+52>>2]=0;h[e+44>>2]=0;h[e+96>>2]=h[i+18692>>2];i=1;v=y;return i|0}function Ii(e,i,r){e=e|0;i=i|0;r=r|0;return gf(h[e>>2]|0,i,r)|0}function Bi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;t=e+8|0;if(!(pa(h[t>>2]|0,52,r)|0)){r=0;return r|0}f=h[t>>2]|0;a=va(f)|0;t=ga(f)|0;if(a){l=0;n=1;while(1){if(!n)n=0;else n=(Ro[h[t>>2]&63](e,i,r)|0)!=0;l=l+1|0;if((l|0)==(a|0))break;else{t=t+4|0;n=n&1}}ya(f);if(!n){r=0;return r|0}}else ya(f);r=af(h[e>>2]|0,i,r)|0;return r|0}function Ni(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;t=e+8|0;if(!(pa(h[t>>2]|0,53,r)|0)){r=0;return r|0}if(!(yf(h[e>>2]|0,i,r)|0)){r=0;return r|0}l=h[t>>2]|0;f=va(l)|0;t=ga(l)|0;if(!f)t=1;else{a=0;n=t;t=1;while(1){if(!t)t=0;else t=(Ro[h[n>>2]&63](e,i,r)|0)!=0;t=t&1;a=a+1|0;if((a|0)==(f|0))break;else n=n+4|0}}ya(l);r=t;return r|0}function Fi(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;n=e+4|0;if(!(pa(h[n>>2]|0,54,t)|0)){i=0;return i|0}a=h[n>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](e,i,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){i=0;return i|0}}else ya(a);n=e+8|0;if(!(pa(h[n>>2]|0,55,t)|0)){i=0;return i|0}if(!(pa(h[n>>2]|0,56,t)|0)){i=0;return i|0}if(!(pa(h[n>>2]|0,57,t)|0)){i=0;return i|0}if((h[e+96>>2]|0)!=0?(pa(h[n>>2]|0,58,t)|0)==0:0){i=0;return i|0}if(!(pa(h[n>>2]|0,59,t)|0)){i=0;return i|0}a=h[n>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](e,i,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){i=0;return i|0}}else ya(a);i=Ef(h[e>>2]|0,i,r,t)|0;return i|0}function Ui(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;o=i+8|0;if(!(pa(h[o>>2]|0,52,t)|0)){e=0;return e|0}a=h[i+4>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](i,e,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){e=0;return e|0}}else ya(a);a=h[o>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](i,e,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){e=0;return e|0}}else ya(a);e=lf(e,h[i>>2]|0,r,t)|0;return e|0}function ji(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;return of(h[e>>2]|0,i,r,t,n,f,a,l,s,o,u)|0}function Hi(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return Af(h[e>>2]|0,i,r,t,n,f)|0}function Yi(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return uf(h[e>>2]|0,i,r,t,n,f)|0}function qi(e){e=e|0;var i=0,r=0,t=0;if(!e)return;tf(h[e>>2]|0);h[e>>2]=0;i=e+72|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+68|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+108|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}t=e+116|0;i=h[t>>2]|0;if(i){r=h[i>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i>>2]=0}Qn(i);h[t>>2]=0}t=e+120|0;i=h[t>>2]|0;if(i){r=h[i+12>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i+12>>2]=0}r=h[i+4>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i+4>>2]=0}r=h[i+8>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i+8>>2]=0}r=h[i>>2]|0;if(r){Qn(r);i=h[t>>2]|0;h[i>>2]=0}Qn(i);h[t>>2]=0}i=e+4|0;r=h[i>>2]|0;if(r){ma(r);h[i>>2]=0}i=e+8|0;r=h[i>>2]|0;if(r){ma(r);h[i>>2]=0}Qn(e);return}function Xi(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return cf(h[e>>2]|0,i,r,t,n,f,a)|0}function zi(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=v;v=v+16|0;if(!r){e=0;v=l;return e|0}Zt(t,2,16826,l)|0;if(!(pf(h[e>>2]|0,i,r,t,n)|0)){Zt(t,1,16303,l+8|0)|0;e=0;v=l;return e|0}a=e+108|0;if(!(Zi(r,a,t)|0)){e=0;v=l;return e|0}n=h[e+48>>2]|0;e:do{switch(n|0){case 16:{h[r+20>>2]=1;break}case 17:{h[r+20>>2]=2;break}case 18:{h[r+20>>2]=3;break}case 24:{h[r+20>>2]=4;break}default:{i=r+20|0;if((n|0)==12){h[i>>2]=5;break e}else{h[i>>2]=-1;break e}}}}while(0);f=e+120|0;i=h[f>>2]|0;do{if(i){if(h[i+12>>2]|0){Qi(r,a);break}Qn(h[i+4>>2]|0);Qn(h[(h[f>>2]|0)+8>>2]|0);Qn(h[h[f>>2]>>2]|0);i=h[f>>2]|0;n=h[i+12>>2]|0;if(n){Qn(n);i=h[f>>2]|0}Qn(i);h[f>>2]=0}}while(0);if(h[e+116>>2]|0)$i(r,a,t);i=h[a>>2]|0;if(!i){e=1;v=l;return e|0}h[r+28>>2]=i;h[r+32>>2]=h[e+112>>2];h[a>>2]=0;e=1;v=l;return e|0}function Vi(e){e=e|0;var i=0;i=Kn(1,136)|0;if(!i)return i|0;if(!e){e=rf()|0;h[i>>2]=e}else{e=df()|0;h[i>>2]=e}if(!e){qi(i);i=0;return i|0}e=i+108|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=0;c[e+16>>0]=0;e=_a()|0;h[i+4>>2]=e;if(!e){qi(i);i=0;return i|0}e=_a()|0;h[i+8>>2]=e;if(e)return i|0;qi(i);i=0;return i|0}function Gi(e,i,r){e=e|0;i=i|0;r=r|0;hf(h[e>>2]|0,i,r);return}function Ki(e){e=e|0;return _f(h[e>>2]|0)|0}function Wi(e){e=e|0;return wf(h[e>>2]|0)|0}function Ji(e,i,r){e=e|0;i=i|0;r=r|0;return vf(h[e>>2]|0,i,r)|0}function Zi(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0;S=v;v=v+80|0;T=S+72|0;M=S+64|0;A=S+56|0;E=S+48|0;y=S+40|0;g=S+32|0;p=S+24|0;_=S+16|0;s=S+8|0;l=S;t=h[i+8>>2]|0;e:do{if(t){w=h[t>>2]|0;u=d[t+4>>1]|0;t=h[e+16>>2]|0;o=h[i+12>>2]|0;if((o|0)!=0?(h[o+12>>2]|0)!=0:0)i=b[o+18>>0]|0;else i=t;a=u<<16>>16==0;i:do{if(!a){f=0;r:while(1){n=f&65535;t=k[w+(n*6|0)>>1]|0;if(t>>>0>=i>>>0){n=15;break}t=d[w+(n*6|0)+4>>1]|0;switch(t<<16>>16){case 0:case-1:break;default:{t=(t&65535)+-1|0;if(t>>>0>=i>>>0){n=18;break r}}}f=f+1<<16>>16;if((f&65535)>=(u&65535))break i}if((n|0)==15){h[l>>2]=t;h[l+4>>2]=i;Zt(r,1,19343,l)|0;r=0;v=S;return r|0}else if((n|0)==18){h[s>>2]=t;h[s+4>>2]=i;Zt(r,1,19343,s)|0;r=0;v=S;return r|0}}}while(0);if(!i)t=o;else{i:do{if(!a)while(1){i=i+-1|0;t=0;do{if((k[w+((t&65535)*6|0)>>1]|0)==(i|0))break;t=t+1<<16>>16}while((t&65535)<(u&65535));if(t<<16>>16==u<<16>>16)break i;if(!i){t=o;break e}}}while(0);Zt(r,1,19380,_)|0;r=0;v=S;return r|0}}else t=h[i+12>>2]|0}while(0);if(!t){r=1;v=S;return r|0}m=h[t+12>>2]|0;if(!m){r=1;v=S;return r|0}o=c[t+18>>0]|0;_=o&255;w=o<<24>>24==0;if(w)t=1;else{f=e+16|0;i=0;a=0;t=1;do{i=k[m+(i<<2)>>1]|0;n=h[f>>2]|0;if(i>>>0>=n>>>0){h[p>>2]=i;h[p+4>>2]=n;Zt(r,1,19343,p)|0;t=0}a=a+1<<16>>16;i=a&65535}while(i>>>0<_>>>0)}u=Kn(_,4)|0;if(!u){Zt(r,1,19413,g)|0;r=0;v=S;return r|0}if(!w){l=0;s=0;do{n=c[m+(l<<2)+3>>0]|0;f=n&255;do{if((n&255)<(o&255)){a=u+(f<<2)|0;i=c[m+(l<<2)+2>>0]|0;if((h[a>>2]|0)!=0&i<<24>>24==1){h[E>>2]=f;Zt(r,1,19486,E)|0;t=0;break}if(i<<24>>24!=0|n<<24>>24==0){h[a>>2]=1;break}else{h[A>>2]=l;h[A+4>>2]=f;Zt(r,1,19517,A)|0;t=0;break}}else{h[y>>2]=f;Zt(r,1,19430,y)|0;t=0}}while(0);s=s+1<<16>>16;l=s&65535}while(l>>>0<_>>>0);if(!w){i=0;n=0;do{if((h[u+(i<<2)>>2]|0)==0?(c[m+(i<<2)+2>>0]|0)!=0:0){h[M>>2]=i;Zt(r,1,19553,M)|0;t=0}n=n+1<<16>>16;i=n&65535}while(i>>>0<_>>>0)}}if(!t){Qn(u);r=0;v=S;return r|0}e:do{if(!((h[e+16>>2]|0)!=1|w)){t=0;i=0;while(1){i=i+1<<16>>16;if(!(h[u+(t<<2)>>2]|0))break;t=i&65535;if(t>>>0>=_>>>0)break e}h[T>>2]=t;Zt(r,2,19591,T)|0;if(!w){t=0;i=0;do{c[m+(t<<2)+2>>0]=1;c[m+(t<<2)+3>>0]=i;i=i+1<<16>>16;t=i&65535}while(t>>>0<_>>>0)}}}while(0);Qn(u);r=1;v=S;return r|0}function Qi(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0;y=i+12|0;i=h[y>>2]|0;l=h[i+8>>2]|0;o=h[i+4>>2]|0;w=h[i>>2]|0;_=h[i+12>>2]|0;i=c[i+18>>0]|0;m=e+24|0;p=h[m>>2]|0;v=i&255;g=Gn(v*52|0)|0;if(!g)return;s=i<<24>>24==0;if(!s){f=0;a=0;do{i=d[_+(f<<2)>>1]|0;if(!(c[_+(f<<2)+2>>0]|0)){i=i&65535;r=g+(f*52|0)|0;t=p+(i*52|0)|0;n=r+52|0;do{h[r>>2]=h[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(n|0))}else{i=i&65535;r=g+((b[_+(f<<2)+3>>0]|0)*52|0)|0;t=p+(i*52|0)|0;n=r+52|0;do{h[r>>2]=h[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(n|0))}n=Gn(ue(h[p+(i*52|0)+8>>2]<<2,h[p+(i*52|0)+12>>2]|0)|0)|0;h[g+(f*52|0)+44>>2]=n;if(!n){u=7;break}h[g+(f*52|0)+24>>2]=b[l+f>>0];h[g+(f*52|0)+32>>2]=b[o+f>>0];a=a+1<<16>>16;f=a&65535}while(f>>>0>>0);if((u|0)==7){Qn(g);return}l=(k[(h[y>>2]|0)+16>>1]|0)+-1|0;if(!s){i=0;a=0;do{n=h[p+((k[_+(i<<2)>>1]|0)*52|0)+44>>2]|0;t=b[_+(i<<2)+3>>0]|0;f=ue(h[g+(t*52|0)+12>>2]|0,h[g+(t*52|0)+8>>2]|0)|0;if(!(c[_+(i<<2)+2>>0]|0)){i=h[g+(i*52|0)+44>>2]|0;if(f){r=0;do{h[i+(r<<2)>>2]=h[n+(r<<2)>>2];r=r+1|0}while((r|0)!=(f|0))}}else{i=h[g+(t*52|0)+44>>2]|0;if(f){r=0;do{u=h[n+(r<<2)>>2]|0;u=w+((ue((u|0)<0?0:(u|0)>(l|0)?l:u,v)|0)+t<<2)|0;h[i+(r<<2)>>2]=h[u>>2];r=r+1|0}while((r|0)!=(f|0))}}a=a+1<<16>>16;i=a&65535}while(i>>>0>>0)}}r=e+16|0;t=h[r>>2]|0;if(t){i=0;n=0;do{i=h[p+(i*52|0)+44>>2]|0;if(i)Qn(i);n=n+1<<16>>16;i=n&65535}while(i>>>0>>0)}Qn(p);h[m>>2]=g;h[r>>2]=v;Qn(h[(h[y>>2]|0)+4>>2]|0);Qn(h[(h[y>>2]|0)+8>>2]|0);Qn(h[h[y>>2]>>2]|0);i=h[y>>2]|0;r=h[i+12>>2]|0;if(r){Qn(r);i=h[y>>2]|0}Qn(i);h[y>>2]=0;return}function $i(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;A=v;v=v+80|0;y=A+8|0;g=A;p=A+16|0;E=i+8|0;t=h[E>>2]|0;i=h[t>>2]|0;m=d[t+4>>1]|0;if(m<<16>>16){_=e+16|0;c=e+24|0;k=1;w=0;while(1){b=d[i+(w*6|0)>>1]|0;u=b&65535;e=h[_>>2]|0;e:do{if(u>>>0>>0){t=d[i+(w*6|0)+4>>1]|0;switch(t<<16>>16){case-1:case 0:{d[(h[c>>2]|0)+(u*52|0)+48>>1]=d[i+(w*6|0)+2>>1]|0;break e}default:{}}l=(t&65535)+65535|0;o=l&65535;l=l&65535;if(l>>>0>=e>>>0){h[y>>2]=l;h[y+4>>2]=e;Zt(r,2,19302,y)|0;break}s=i+(w*6|0)+2|0;if((u|0)!=(l|0)?(d[s>>1]|0)==0:0){t=h[c>>2]|0;e=t+(u*52|0)|0;n=p;f=e;a=n+52|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=e;f=t+(l*52|0)|0;a=n+52|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));n=(h[c>>2]|0)+(l*52|0)|0;f=p;a=n+52|0;do{h[n>>2]=h[f>>2];n=n+4|0;f=f+4|0}while((n|0)<(a|0));if((w+1&65535)<(m&65535)){n=k;do{t=i+(n*6|0)|0;e=d[t>>1]|0;if(e<<16>>16!=b<<16>>16){if(e<<16>>16==o<<16>>16)d[t>>1]=b}else d[t>>1]=o;n=n+1|0}while((n&65535)<<16>>16!=m<<16>>16)}}d[(h[c>>2]|0)+(u*52|0)+48>>1]=d[s>>1]|0}else{h[g>>2]=u;h[g+4>>2]=e;Zt(r,2,19262,g)|0}}while(0);w=w+1|0;if((w&65535)<<16>>16==m<<16>>16)break;else k=k+1|0}i=h[E>>2]|0;t=i;i=h[i>>2]|0}if(!i){y=t;Qn(y);h[E>>2]=0;v=A;return}else{Qn(i);y=h[E>>2]|0;Qn(y);h[E>>2]=0;v=A;return}}function er(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;D=v;v=v+192|0;A=D+152|0;E=D+144|0;y=D+136|0;g=D+128|0;p=D+120|0;O=D+88|0;_=D+80|0;k=D+64|0;b=D+48|0;L=D+40|0;M=D+32|0;R=D+24|0;m=D+16|0;w=D+8|0;c=D+176|0;d=D+168|0;P=D+156|0;t=Kn(1,1024)|0;if(!t){Zt(r,1,17098,D)|0;C=0;v=D;return C|0}u=c+4|0;T=P+4|0;S=e+100|0;o=1024;e:while(1){if((qt(i,c,8,r)|0)!=8)break;while(1){gt(c,P,4);gt(u,T,4);switch(h[P>>2]|0){case 0:{n=Gt(i)|0;s=j;if((s|0)>0|(s|0)==0&n>>>0>4294967287){C=6;break e}h[P>>2]=n+8;l=8;break}case 1:{if((qt(i,c,8,r)|0)!=8)break e;gt(c,d,4);if(h[d>>2]|0){C=10;break e}gt(u,P,4);l=16;break}default:l=8}f=h[T>>2]|0;if((f|0)==1785737827){C=13;break e}n=h[P>>2]|0;if(!n){C=17;break e}if(n>>>0>>0){C=19;break e}if((f|0)==1783636e3){a=1084;f=l;C=22;break}if((f|0)==1718909296){a=1092;f=l;C=22;break}s=(f|0)==1785737832;i:do{if((f|0)!=1768449138)if((f|0)!=1668246642)if((f|0)!=1651532643)if((f|0)!=1885564018)if((f|0)!=1668112752){a=(f|0)==1667523942?1148:0;n=n-l|0;if((f|0)<1785737832)switch(f|0){case 1667523942:{C=30;break i}default:{}}else switch(f|0){case 1785737832:{C=30;break i}default:{}}f=h[S>>2]|0;if(!(f&1)){C=45;break e}if(!(f&2)){C=47;break e}h[S>>2]=f|2147483647;s=Kt(i,n,0,r)|0;if(!((s|0)==(n|0)&(j|0)==0)){C=50;break e}}else{a=1140;C=28}else{a=1132;C=28}else{a=1124;C=28}else{a=1116;C=28}else{a=1108;C=28}}while(0);if((C|0)==28){n=n-l|0;C=30}if((C|0)==30){C=0;if(s){a=1100;break}h[b>>2]=f>>>24;h[b+4>>2]=f>>>16&255;h[b+8>>2]=f>>>8&255;h[b+12>>2]=f&255;Zt(r,2,17282,b)|0;if(h[S>>2]&4)break;s=h[T>>2]|0;h[k>>2]=s>>>24;h[k+4>>2]=s>>>16&255;h[k+8>>2]=s>>>8&255;h[k+12>>2]=s&255;Zt(r,2,17333,k)|0;h[S>>2]=h[S>>2]|2147483647;s=Kt(i,n,0,r)|0;if(!((s|0)==(n|0)&(j|0)==0)){C=33;break e}}if((qt(i,c,8,r)|0)!=8)break e}if((C|0)==22){C=0;n=n-f|0}s=Gt(i)|0;l=j;if(0>(l|0)|0==(l|0)&n>>>0>s>>>0){C=35;break}if(n>>>0>o>>>0){f=Zn(t,n)|0;if(!f){C=38;break}else{t=f;f=n}}else f=o;if((qt(i,t,n,r)|0)!=(n|0)){C=40;break}if(!(Fo[h[a+4>>2]&63](e,t,n,r)|0)){C=43;break}else o=f}switch(C|0){case 6:{Zt(r,1,17148,w)|0;break}case 10:{Zt(r,1,17148,m)|0;break}case 13:{n=h[S>>2]|0;if(!(n&4)){Zt(r,1,17190,R)|0;Qn(t);C=0;v=D;return C|0}else{h[S>>2]=n|8;Qn(t);C=1;v=D;return C|0}}case 17:{Zt(r,1,17218,M)|0;Qn(t);C=0;v=D;return C|0}case 19:{h[L>>2]=n;h[L+4>>2]=f;Zt(r,1,17256,L)|0;Qn(t);C=0;v=D;return C|0}case 33:{Zt(r,1,17399,_)|0;Qn(t);C=0;v=D;return C|0}case 35:{R=h[P>>2]|0;L=h[T>>2]|0;C=Gt(i)|0;h[O>>2]=R;h[O+4>>2]=L>>>24;h[O+8>>2]=L>>>16&255;h[O+12>>2]=L>>>8&255;h[O+16>>2]=L&255;h[O+20>>2]=n;h[O+24>>2]=C;Zt(r,1,17449,O)|0;Qn(t);C=0;v=D;return C|0}case 38:{Qn(t);Zt(r,1,17525,p)|0;C=0;v=D;return C|0}case 40:{Zt(r,1,17567,g)|0;Qn(t);C=0;v=D;return C|0}case 43:{Qn(t);C=0;v=D;return C|0}case 45:{Zt(r,1,17616,y)|0;Qn(t);C=0;v=D;return C|0}case 47:{Zt(r,1,17686,E)|0;Qn(t);C=0;v=D;return C|0}case 50:{Zt(r,1,17399,A)|0;Qn(t);C=0;v=D;return C|0}}Qn(t);C=1;v=D;return C|0}function ir(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;a=v;v=v+32|0;f=a+24|0;t=Vt(i)|0;n=j;e=e+80|0;l=e;l=Hs(t|0,n|0,h[l>>2]|0,h[l+4>>2]|0)|0;vt(f,l,4);vt(f+4|0,1785737827,4);if(!(Wt(i,h[e>>2]|0,h[e+4>>2]|0,r)|0)){Zt(r,1,17067,a)|0;l=0;v=a;return l|0}if((Xt(i,f,8,r)|0)!=8){Zt(r,1,17067,a+8|0)|0;l=0;v=a;return l|0}if(Wt(i,t,n,r)|0){l=1;v=a;return l|0}Zt(r,1,17067,a+16|0)|0;l=0;v=a;return l|0}function rr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;r=((h[e>>2]|0)!=0?(h[e+104>>2]|h[e+100>>2]|0)==0:0)&(h[e+8>>2]|0)!=0&(h[e+4>>2]|0)!=0&(h[e+64>>2]|0)!=0&(h[e+16>>2]|0)!=0&(h[e+12>>2]|0)!=0&1;t=h[e+20>>2]|0;if(!t){f=r;e=e+40|0;e=h[e>>2]|0;e=e+-1|0;e=e>>>0<2;e=e&1;i=Jt(i)|0;i=i&f;e=i&e;return e|0}n=h[e+72>>2]|0;f=0;do{r=(h[n+(f*12|0)+8>>2]&126)>>>0<38&r;f=f+1|0}while(f>>>0>>0);e=e+40|0;e=h[e>>2]|0;e=e+-1|0;e=e>>>0<2;e=e&1;i=Jt(i)|0;i=i&r;e=i&e;return e|0}function tr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;e=v;v=v+16|0;t=e;vt(t,12,4);vt(t+4|0,1783636e3,4);vt(t+8|0,218793738,4);r=(Xt(i,t,12,r)|0)==12&1;v=e;return r|0}function nr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+16|0;s=o+8|0;n=e+64|0;a=(h[n>>2]<<2)+16|0;l=Kn(1,a)|0;if(!l){Zt(r,1,16987,o)|0;s=0;v=o;return s|0}vt(l,a,4);vt(l+4|0,1718909296,4);vt(l+8|0,h[e+56>>2]|0,4);vt(l+12|0,h[e+60>>2]|0,4);f=l+16|0;if(h[n>>2]|0){e=e+68|0;t=0;do{vt(f,h[(h[e>>2]|0)+(t<<2)>>2]|0,4);t=t+1|0}while(t>>>0<(h[n>>2]|0)>>>0)}e=(Xt(i,l,a,r)|0)==(a|0);if(!e)Zt(r,1,17026,s)|0;Qn(l);s=e&1;v=o;return s|0}function fr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;k=v;v=v+80|0;d=k+16|0;u=k+8|0;s=k;n=k+24|0;o=k+72|0;t=n;f=t+48|0;do{h[t>>2]=0;t=t+4|0}while((t|0)<(f|0));b=(h[e+24>>2]|0)==255;h[n>>2]=2;t=n+12|0;if(b){h[t>>2]=3;h[n+24>>2]=4;t=3}else{h[t>>2]=4;t=2}if(!(h[e+116>>2]|0))b=t;else{h[n+(t*12|0)>>2]=5;b=t+1|0}vt(o+4|0,1785737832,4);a=0;l=n;t=8;while(1){f=l+8|0;w=Uo[h[l>>2]&7](e,f)|0;h[l+4>>2]=w;if(!w){c=8;break}t=(h[f>>2]|0)+t|0;a=a+1|0;if((a|0)>=(b|0))break;else l=l+12|0}if((c|0)==8){Zt(r,1,16901,s)|0;f=0;while(1){t=h[n+4>>2]|0;if(t)Qn(t);f=f+1|0;if((f|0)>=(b|0)){t=0;break}else n=n+12|0}v=k;return t|0}vt(o,t,4);e:do{if((Xt(i,o,8,r)|0)==8){t=0;f=n;while(1){w=f+8|0;c=Xt(i,h[f+4>>2]|0,h[w>>2]|0,r)|0;if((c|0)!=(h[w>>2]|0))break;t=t+1|0;if((t|0)>=(b|0)){t=1;break e}else f=f+12|0}Zt(r,1,16944,d)|0;t=0}else{Zt(r,1,16944,u)|0;t=0}}while(0);a=0;while(1){f=h[n+4>>2]|0;if(f)Qn(f);a=a+1|0;if((a|0)>=(b|0))break;else n=n+12|0}v=k;return t|0}function ar(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=Vt(i)|0;e=e+88|0;h[e>>2]=t;h[e+4>>2]=j;i=Kt(i,24,0,r)|0;return(i|0)==24&(j|0)==0&1|0}function lr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=Vt(i)|0;e=e+80|0;h[e>>2]=t;h[e+4>>2]=j;i=Kt(i,8,0,r)|0;return(i|0)==8&(j|0)==0&1|0}function sr(e,i){e=e|0;i=i|0;var r=0;r=Kn(1,22)|0;if(!r){i=0;return i|0}vt(r,22,4);vt(r+4|0,1768449138,4);vt(r+8|0,h[e+16>>2]|0,4);vt(r+12|0,h[e+12>>2]|0,4);vt(r+16|0,h[e+20>>2]|0,2);vt(r+18|0,h[e+24>>2]|0,1);vt(r+19|0,h[e+28>>2]|0,1);vt(r+20|0,h[e+32>>2]|0,1);vt(r+21|0,h[e+36>>2]|0,1);h[i>>2]=22;i=r;return i|0}function or(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;n=e+20|0;f=(h[n>>2]|0)+8|0;a=Kn(1,f)|0;if(!a){i=0;return i|0}vt(a,f,4);vt(a+4|0,1651532643,4);if(h[n>>2]|0){e=e+72|0;r=0;t=a+8|0;while(1){vt(t,h[(h[e>>2]|0)+(r*12|0)+8>>2]|0,1);r=r+1|0;if(r>>>0>=(h[n>>2]|0)>>>0)break;else t=t+1|0}}h[i>>2]=f;i=a;return i|0}function ur(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;r=e+40|0;switch(h[r>>2]|0){case 1:{l=15;break}case 2:{l=(h[e+112>>2]|0)+11|0;break}default:{i=0;return i|0}}a=Kn(1,l)|0;if(!a){i=0;return i|0}vt(a,l,4);vt(a+4|0,1668246642,4);vt(a+8|0,h[r>>2]|0,1);vt(a+9|0,h[e+52>>2]|0,1);vt(a+10|0,h[e+44>>2]|0,1);n=a+11|0;switch(h[r>>2]|0){case 1:{vt(n,h[e+48>>2]|0,4);break}case 2:{f=e+112|0;if(h[f>>2]|0){e=e+108|0;t=0;r=n;while(1){vt(r,b[(h[e>>2]|0)+t>>0]|0,1);t=t+1|0;if(t>>>0>=(h[f>>2]|0)>>>0)break;else r=r+1|0}}break}default:{}}h[i>>2]=l;i=a;return i|0}function cr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;f=e+116|0;a=((k[(h[f>>2]|0)+4>>1]|0)*6|0)+10|0;l=Gn(a)|0;if(!l){i=0;return i|0}vt(l,a,4);vt(l+4|0,1667523942,4);vt(l+8|0,k[(h[f>>2]|0)+4>>1]|0,2);e=h[f>>2]|0;if(d[e+4>>1]|0){t=0;r=0;n=l+10|0;while(1){vt(n,k[(h[e>>2]|0)+(t*6|0)>>1]|0,2);vt(n+2|0,k[(h[h[f>>2]>>2]|0)+(t*6|0)+2>>1]|0,2);vt(n+4|0,k[(h[h[f>>2]>>2]|0)+(t*6|0)+4>>1]|0,2);r=r+1<<16>>16;e=h[f>>2]|0;if((r&65535)>=(k[e+4>>1]|0))break;else{t=r&65535;n=n+6|0}}}h[i>>2]=a;i=l;return i|0}function dr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=v;v=v+32|0;n=f+16|0;if((r|0)!=14){Zt(t,1,18507,f)|0;n=0;v=f;return n|0}gt(i,e+16|0,4);gt(i+4|0,e+12|0,4);r=e+20|0;gt(i+8|0,r,2);r=Kn(h[r>>2]|0,12)|0;h[e+72>>2]=r;if(!r){Zt(t,1,18540,f+8|0)|0;n=0;v=f;return n|0}gt(i+10|0,e+24|0,1);r=e+28|0;gt(i+11|0,r,1);r=h[r>>2]|0;if((r|0)!=7){h[n>>2]=r;Zt(t,4,18589,n)|0}gt(i+12|0,e+32|0,1);gt(i+13|0,e+36|0,1);n=1;v=f;return n|0}function hr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;E=v;v=v+80|0;a=E+40|0;m=E+32|0;s=E+24|0;l=E+16|0;p=E+72|0;_=E+68|0;b=E+64|0;k=E+60|0;u=E+56|0;w=E+52|0;d=E+48|0;o=E+44|0;if(r>>>0<3){Zt(t,1,18180,E)|0;y=0;v=E;return y|0}g=e+108|0;y=e+124|0;if(c[y>>0]|0){Zt(t,4,18212,E+8|0)|0;y=1;v=E;return y|0}f=e+40|0;gt(i,f,1);gt(i+1|0,e+52|0,1);gt(i+2|0,e+44|0,1);n=i+3|0;f=h[f>>2]|0;switch(f|0){case 1:{if(r>>>0<7){h[l>>2]=r;Zt(t,1,18321,l)|0;y=0;v=E;return y|0}f=e+48|0;if(r>>>0>7?(h[f>>2]|0)!=14:0){h[s>>2]=r;Zt(t,2,18321,s)|0}gt(n,f,4);if((h[f>>2]|0)==14){n=Gn(36)|0;h[n>>2]=14;h[d>>2]=0;h[u>>2]=0;h[b>>2]=0;h[w>>2]=0;h[k>>2]=0;h[_>>2]=0;h[o>>2]=4470064;f=n+4|0;h[f>>2]=1145390592;switch(r|0){case 35:{gt(i+7|0,_,4);gt(i+11|0,b,4);gt(i+15|0,k,4);gt(i+19|0,u,4);gt(i+23|0,w,4);gt(i+27|0,d,4);gt(i+31|0,o,4);h[f>>2]=0;break}case 7:break;default:{h[m>>2]=r;Zt(t,2,18357,m)|0}}h[n+8>>2]=h[_>>2];h[n+16>>2]=h[k>>2];h[n+24>>2]=h[w>>2];h[n+12>>2]=h[b>>2];h[n+20>>2]=h[u>>2];h[n+28>>2]=h[d>>2];h[n+32>>2]=h[o>>2];h[g>>2]=n;h[e+112>>2]=0}c[y>>0]=1;y=1;v=E;return y|0}case 2:{a=r+-3|0;f=e+112|0;h[f>>2]=a;e=Kn(1,a)|0;h[g>>2]=e;if(!e){h[f>>2]=0;y=0;v=E;return y|0}if((r|0)>3){f=0;while(1){gt(n,p,1);c[(h[g>>2]|0)+f>>0]=h[p>>2];f=f+1|0;if((f|0)==(a|0))break;else n=n+1|0}}c[y>>0]=1;y=1;v=E;return y|0}default:{if(f>>>0<=2){y=1;v=E;return y|0}h[a>>2]=f;Zt(t,4,18401,a)|0;y=1;v=E;return y|0}}return 0}function br(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+16|0;f=l;n=h[e+24>>2]|0;if((n|0)!=255){h[f>>2]=n;Zt(t,2,18034,f)|0}a=e+20|0;if((h[a>>2]|0)!=(r|0)){Zt(t,1,18148,l+8|0)|0;a=0;v=l;return a|0}if(!r){a=1;v=l;return a|0}f=e+72|0;n=0;while(1){gt(i,(h[f>>2]|0)+(n*12|0)+8|0,1);n=n+1|0;if(n>>>0>=(h[a>>2]|0)>>>0){i=1;break}else i=i+1|0}v=l;return i|0}function kr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,k=0,w=0;w=v;v=v+16|0;n=w;k=w+12|0;f=e+120|0;if(r>>>0<3|(h[f>>2]|0)!=0){r=0;v=w;return r|0}gt(i,k,2);a=h[k>>2]|0;u=a&65535;if((u+-1|0)>>>0>1023){h[n>>2]=u;Zt(t,1,17951,n)|0;r=0;v=w;return r|0}gt(i+2|0,k,1);o=h[k>>2]&65535;if(!o){Zt(t,1,17989,w+8|0)|0;r=0;v=w;return r|0}if((o+3|0)>>>0>r>>>0){r=0;v=w;return r|0}n=Gn(ue(u<<2,o)|0)|0;if(!n){r=0;v=w;return r|0}s=Gn(o)|0;if(!s){Qn(n);r=0;v=w;return r|0}l=Gn(o)|0;if(!l){Qn(n);Qn(s);r=0;v=w;return r|0}e=Gn(20)|0;if(!e){Qn(n);Qn(s);Qn(l);r=0;v=w;return r|0}h[e+4>>2]=l;h[e+8>>2]=s;h[e>>2]=n;d[e+16>>1]=a;c[e+18>>0]=h[k>>2];h[e+12>>2]=0;h[f>>2]=e;e=i+3|0;t=0;f=0;do{gt(e,k,1);e=e+1|0;c[s+t>>0]=(h[k>>2]&127)+1;c[l+t>>0]=(h[k>>2]|0)>>>7&1;f=f+1<<16>>16;t=f&65535}while(t>>>0>>0);if(!u){r=1;v=w;return r|0}t=0;e:while(1){a=0;f=n;l=0;while(1){n=((b[s+a>>0]|0)+7|0)>>>3;n=n>>>0>4?4:n;if((e-i+n|0)>(r|0)){e=0;n=22;break e}gt(e,k,n);e=e+n|0;h[f>>2]=h[k>>2];n=f+4|0;l=l+1<<16>>16;a=l&65535;if(a>>>0>=o>>>0)break;else f=n}t=t+1<<16>>16;if((t&65535)>>>0>=u>>>0){e=1;n=22;break}}if((n|0)==22){v=w;return e|0}return 0}function wr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+32|0;a=l+20|0;f=e+120|0;e=h[f>>2]|0;if(!e){Zt(t,1,17841,l)|0;a=0;v=l;return a|0}if(h[e+12>>2]|0){Zt(t,1,17887,l+8|0)|0;a=0;v=l;return a|0}n=c[e+18>>0]|0;e=(n&255)<<2;if(e>>>0>r>>>0){Zt(t,1,17918,l+16|0)|0;a=0;v=l;return a|0}t=Gn(e)|0;if(!t){a=0;v=l;return a|0}if(n<<24>>24){e=i;r=0;while(1){gt(e,a,2);d[t+(r<<2)>>1]=h[a>>2];gt(e+2|0,a,1);c[t+(r<<2)+2>>0]=h[a>>2];gt(e+3|0,a,1);c[t+(r<<2)+3>>0]=h[a>>2];r=r+1|0;if((r&255)<<24>>24==n<<24>>24)break;else e=e+4|0}}h[(h[f>>2]|0)+12>>2]=t;a=1;v=l;return a|0}function _r(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+32|0;a=l+20|0;f=e+116|0;if(h[f>>2]|0){a=0;v=l;return a|0}if(r>>>0<2){Zt(t,1,17747,l)|0;a=0;v=l;return a|0}gt(i,a,2);e=h[a>>2]|0;n=e&65535;if(!n){Zt(t,1,17780,l+8|0)|0;a=0;v=l;return a|0}if(((n*6|0)+2|0)>>>0>r>>>0){Zt(t,1,17747,l+16|0)|0;a=0;v=l;return a|0}r=Gn(e*6|0)|0;if(!r){a=0;v=l;return a|0}e=Gn(8)|0;h[f>>2]=e;if(!e){Qn(r);a=0;v=l;return a|0}h[e>>2]=r;t=h[a>>2]&65535;d[e+4>>1]=t;if(!(t<<16>>16)){a=1;v=l;return a|0}else{n=0;e=i}do{i=n&65535;gt(e+2|0,a,2);d[r+(i*6|0)>>1]=h[a>>2];gt(e+4|0,a,2);e=e+6|0;d[r+(i*6|0)+2>>1]=h[a>>2];gt(e,a,2);d[r+(i*6|0)+4>>1]=h[a>>2];n=n+1<<16>>16}while((n&65535)<(k[(h[f>>2]|0)+4>>1]|0));e=1;v=l;return e|0}function mr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=v;v=v+32|0;n=f+20|0;e=e+100|0;if(h[e>>2]|0){Zt(t,1,19130,f)|0;t=0;v=f;return t|0}if((r|0)!=4){Zt(t,1,19184,f+8|0)|0;t=0;v=f;return t|0}gt(i,n,4);if((h[n>>2]|0)==218793738){h[e>>2]=h[e>>2]|1;t=1;v=f;return t|0}else{Zt(t,1,19218,f+16|0)|0;t=0;v=f;return t|0}return 0}function pr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+32|0;f=l+24|0;a=e+100|0;if((h[a>>2]|0)!=1){Zt(t,1,19011,l)|0;a=0;v=l;return a|0}if(r>>>0<8){Zt(t,1,19061,l+8|0)|0;a=0;v=l;return a|0}gt(i,e+56|0,4);gt(i+4|0,e+60|0,4);i=i+8|0;r=r+-8|0;if(r&3){Zt(t,1,19061,l+16|0)|0;a=0;v=l;return a|0}r=r>>>2;n=e+64|0;h[n>>2]=r;if(r){r=Kn(r,4)|0;h[e+68>>2]=r;if(!r){Zt(t,1,19097,f)|0;a=0;v=l;return a|0}if(h[n>>2]|0){e=e+68|0;r=0;while(1){gt(i,(h[e>>2]|0)+(r<<2)|0,4);r=r+1|0;if(r>>>0>=(h[n>>2]|0)>>>0)break;else i=i+4|0}}}h[a>>2]=h[a>>2]|2;a=1;v=l;return a|0}function vr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0;T=v;v=v+96|0;A=T+72|0;_=T+64|0;w=T+56|0;k=T+48|0;y=T+40|0;g=T+32|0;p=T+24|0;m=T+16|0;b=T+8|0;c=T+80|0;d=T+76|0;E=e+100|0;if(!(h[E>>2]&2)){Zt(t,1,18679,T)|0;M=0;v=T;return M|0}u=e+104|0;h[u>>2]=0;do{if(r){s=i;i=0;e:while(1){if(r>>>0<8){M=6;break}gt(s,c,4);n=h[c>>2]|0;gt(s+4|0,c,4);l=h[c>>2]|0;switch(n|0){case 0:{M=14;break e}case 1:{if(r>>>0<16){M=9;break e}gt(s+8|0,d,4);if(h[d>>2]|0){M=11;break e}gt(s+12|0,c,4);n=h[c>>2]|0;if(!n){M=13;break e}else f=16;break}default:f=8}if(n>>>0>>0){M=16;break}if(r>>>0>>0){M=19;break}a=(l|0)==1768449138;if(!a)if((l|0)!=1668246642)if((l|0)!=1651532643)if((l|0)!=1885564018)if((l|0)!=1668112752)if((l|0)==1667523942){o=1148;M=26}else h[u>>2]=h[u>>2]|2147483647;else{o=1140;M=26}else{o=1132;M=26}else{o=1124;M=26}else{o=1116;M=26}else{o=1108;M=26}if((M|0)==26?(M=0,(Fo[h[o+4>>2]&63](e,s+f|0,n-f|0,t)|0)==0):0){i=0;M=32;break}i=a?1:i;if((r|0)==(n|0)){M=29;break}else{s=s+n|0;r=r-n|0}}if((M|0)==6)Zt(t,1,18724,b)|0;else if((M|0)==9)Zt(t,1,18764,m)|0;else if((M|0)==11)Zt(t,1,17148,p)|0;else if((M|0)==13)Zt(t,1,17218,g)|0;else if((M|0)==14)Zt(t,1,17218,y)|0;else if((M|0)==16)Zt(t,1,18808,k)|0;else if((M|0)==19){Zt(t,1,18880,_)|0;M=0;v=T;return M|0}else if((M|0)==29){if(!i)break;h[E>>2]=h[E>>2]|4;M=1;v=T;return M|0}else if((M|0)==32){v=T;return i|0}Zt(t,1,18837,w)|0;M=0;v=T;return M|0}}while(0);Zt(t,1,18952,A)|0;M=0;v=T;return M|0}function gr(){return 8}function yr(){return 32}function Er(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;if(!t)return;else n=0;do{u=e+(n<<2)|0;l=h[u>>2]|0;s=i+(n<<2)|0;a=h[s>>2]|0;f=r+(n<<2)|0;o=h[f>>2]|0;h[u>>2]=(a<<1)+l+o>>2;h[s>>2]=o-a;h[f>>2]=l-a;n=n+1|0}while((n|0)!=(t|0));return}function Ar(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;if(!t)return;else n=0;do{o=e+(n<<2)|0;s=i+(n<<2)|0;a=h[s>>2]|0;f=r+(n<<2)|0;u=h[f>>2]|0;l=(h[o>>2]|0)-(u+a>>2)|0;h[o>>2]=l+u;h[s>>2]=l;h[f>>2]=l+a;n=n+1|0}while((n|0)!=(t|0));return}function Mr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0;if(!t)return;else n=0;do{b=e+(n<<2)|0;v=h[b>>2]|0;o=i+(n<<2)|0;p=h[o>>2]|0;f=r+(n<<2)|0;m=h[f>>2]|0;s=((v|0)<0)<<31>>31;w=Qs(v|0,s|0,2449,0)|0;w=zs(w|0,j|0,4096,0)|0;w=Vs(w|0,j|0,13)|0;l=((p|0)<0)<<31>>31;_=Qs(p|0,l|0,4809,0)|0;_=zs(_|0,j|0,4096,0)|0;_=Vs(_|0,j|0,13)|0;a=((m|0)<0)<<31>>31;k=Qs(m|0,a|0,934,0)|0;k=zs(k|0,j|0,4096,0)|0;k=Vs(k|0,j|0,13)|0;u=Qs(v|0,s|0,1382,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=Qs(p|0,l|0,2714,0)|0;c=zs(c|0,j|0,4096,0)|0;c=Vs(c|0,j|0,13)|0;d=Xs(m|0,a|0,12)|0;d=zs(d|0,j|0,4096,0)|0;d=Vs(d|0,j|0,13)|0;s=Xs(v|0,s|0,12)|0;s=zs(s|0,j|0,4096,0)|0;s=Vs(s|0,j|0,13)|0;l=Qs(p|0,l|0,3430,0)|0;l=zs(l|0,j|0,4096,0)|0;l=Vs(l|0,j|0,13)|0;a=Qs(m|0,a|0,666,0)|0;a=zs(a|0,j|0,4096,0)|0;a=Vs(a|0,j|0,13)|0;h[b>>2]=_+w+k;h[o>>2]=d-(c+u);h[f>>2]=s-l-a;n=n+1|0}while((n|0)!=(t|0));return}function Tr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0.0,l=0.0,s=0,o=0.0,u=0;if(!t)return;else n=0;do{u=e+(n<<2)|0;l=+_[u>>2];s=i+(n<<2)|0;a=+_[s>>2];f=r+(n<<2)|0;o=+_[f>>2];_[u>>2]=l+o*1.4019999504089355;_[s>>2]=l-a*.3441300094127655-o*.714139997959137;_[f>>2]=l+a*1.7719999551773071;n=n+1|0}while((n|0)!=(t|0));return}function Sr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;f=ue(t,t)|0;d=Gn(f+t<<2)|0;if(!d){t=0;return t|0}if(f){a=0;n=e;while(1){h[d+(a+t<<2)>>2]=~~(+_[n>>2]*8192.0);a=a+1|0;if((a|0)==(f|0))break;else n=n+4|0}}if(i){u=(t|0)==0;c=0;do{if(!u){n=0;do{h[d+(n<<2)>>2]=h[h[r+(n<<2)>>2]>>2];n=n+1|0}while((n|0)!=(t|0));if(!u){e=0;s=d;do{s=s+(t<<2)|0;f=r+(e<<2)|0;n=h[f>>2]|0;h[n>>2]=0;a=0;l=0;o=s;while(1){b=h[o>>2]|0;k=h[d+(l<<2)>>2]|0;b=Qs(k|0,((k|0)<0)<<31>>31|0,b|0,((b|0)<0)<<31>>31|0)|0;b=zs(b|0,j|0,4096,0)|0;b=Vs(b|0,j|0,13)|0;a=b+a|0;h[n>>2]=a;l=l+1|0;if((l|0)==(t|0))break;else o=o+4|0}h[f>>2]=n+4;e=e+1|0}while((e|0)!=(t|0))}}c=c+1|0}while((c|0)!=(i|0))}Qn(d);k=1;return k|0}function Pr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0.0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;u=Gn(t<<3)|0;if(!u){t=0;return t|0}if(i){c=(t|0)==0;d=0;do{if(!c){n=0;do{h[u+(n<<2)>>2]=h[h[r+(n<<2)>>2]>>2];n=n+1|0}while((n|0)!=(t|0));if(!c){s=0;o=e;while(1){n=u+(s+t<<2)|0;_[n>>2]=0.0;f=0.0;a=0;l=o;while(1){f=f+ +_[l>>2]*+_[u+(a<<2)>>2];_[n>>2]=f;a=a+1|0;if((a|0)==(t|0))break;else l=l+4|0}a=r+(s<<2)|0;l=h[a>>2]|0;h[a>>2]=l+4;_[l>>2]=f;s=s+1|0;if((s|0)==(t|0))break;else o=o+(t<<2)|0}}}d=d+1|0}while((d|0)!=(i|0))}Qn(u);t=1;return t|0}function Or(e,i,r){e=e|0;i=i|0;r=r|0;var t=0.0,n=0,f=0,a=0,l=0,s=0.0;if(!i)return;else l=0;do{a=e+(l<<3)|0;m[a>>3]=0.0;t=0.0;n=0;f=l;while(1){s=+_[r+(f<<2)>>2];t=t+s*s;n=n+1|0;if((n|0)==(i|0))break;else f=f+i|0}s=+Q(+t);m[a>>3]=s;l=l+1|0}while((l|0)!=(i|0));return}function Rr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0;L=v;v=v+32|0;S=L+28|0;y=L+24|0;E=L+20|0;A=L+16|0;M=L+12|0;T=L+8|0;l=L+4|0;s=L;t=i+76|0;O=h[t>>2]|0;P=O+(r*5640|0)+420|0;R=(h[P>>2]|0)+1|0;o=e+16|0;g=Gn((h[o>>2]|0)*528|0)|0;if(!g){R=0;v=L;return R|0}p=Gn(h[o>>2]<<2)|0;if(!p){Qn(g);R=0;v=L;return R|0}t=Br(e,h[t>>2]|0,r)|0;if(!t){Qn(g);Qn(p);R=0;v=L;return R|0}n=h[o>>2]|0;if(n){f=0;a=g;while(1){h[p+(f<<2)>>2]=a;f=f+1|0;if(f>>>0>=n>>>0)break;else a=a+528|0}}Nr(e,i,r,E,A,M,T,l,s,y,S,p);_=h[y>>2]|0;k=ue(h[o>>2]|0,_)|0;w=ue(h[S>>2]|0,k)|0;m=O+(r*5640|0)+8|0;b=Kn(ue((h[m>>2]|0)+1|0,w)|0,2)|0;f=t+4|0;h[f>>2]=b;if(!b){Qn(g);Qn(p);n=h[f>>2]|0;if(n){Qn(n);h[f>>2]=0}if(R){e=t;u=0;while(1){o=e+196|0;n=h[o>>2]|0;if(n){i=e+192|0;f=h[i>>2]|0;if(f){s=0;while(1){a=n+12|0;l=h[a>>2]|0;if(l){Qn(l);h[a>>2]=0;f=h[i>>2]|0}s=s+1|0;if(s>>>0>=f>>>0)break;else n=n+16|0}n=h[o>>2]|0}Qn(n);h[o>>2]=0}u=u+1|0;if((u|0)==(R|0))break;else e=e+232|0}}Qn(t);R=0;v=L;return R|0}n=h[t+196>>2]|0;b=h[e+24>>2]|0;h[t+200>>2]=h[E>>2];h[t+204>>2]=h[M>>2];h[t+208>>2]=h[A>>2];h[t+212>>2]=h[T>>2];h[t+20>>2]=1;h[t+16>>2]=_;h[t+12>>2]=k;h[t+8>>2]=w;o=h[t+192>>2]|0;if(o){e=0;i=b;while(1){a=h[n+12>>2]|0;f=h[p+(e<<2)>>2]|0;h[n>>2]=h[i>>2];h[n+4>>2]=h[i+4>>2];s=h[n+8>>2]|0;if(s){l=0;while(1){h[a>>2]=h[f>>2];h[a+4>>2]=h[f+4>>2];h[a+8>>2]=h[f+8>>2];h[a+12>>2]=h[f+12>>2];l=l+1|0;if(l>>>0>=s>>>0)break;else{f=f+16|0;a=a+16|0}}}e=e+1|0;if(e>>>0>=o>>>0)break;else{n=n+16|0;i=i+52|0}}}if(R>>>0>1){o=t;d=1;do{n=h[o+428>>2]|0;h[o+432>>2]=h[E>>2];h[o+436>>2]=h[M>>2];h[o+440>>2]=h[A>>2];h[o+444>>2]=h[T>>2];h[o+252>>2]=1;h[o+248>>2]=_;h[o+244>>2]=k;h[o+240>>2]=w;e=h[o+424>>2]|0;if(e){u=0;i=b;while(1){a=h[n+12>>2]|0;f=h[p+(u<<2)>>2]|0;h[n>>2]=h[i>>2];h[n+4>>2]=h[i+4>>2];s=h[n+8>>2]|0;if(s){l=0;while(1){h[a>>2]=h[f>>2];h[a+4>>2]=h[f+4>>2];h[a+8>>2]=h[f+8>>2];h[a+12>>2]=h[f+12>>2];l=l+1|0;if(l>>>0>=s>>>0)break;else{f=f+16|0;a=a+16|0}}}u=u+1|0;if(u>>>0>=e>>>0)break;else{n=n+16|0;i=i+52|0}}}h[o+236>>2]=h[o+4>>2];o=o+232|0;d=d+1|0}while((d|0)!=(R|0))}Qn(g);Qn(p);o=h[y>>2]|0;if(!(c[O+(r*5640|0)+5636>>0]&4)){i=h[S>>2]|0;s=(h[P>>2]|0)+1|0;if(!s){R=t;v=L;return R|0}l=h[O+(r*5640|0)+4>>2]|0;n=h[m>>2]|0;f=t;a=0;while(1){h[f+80>>2]=l;h[f+40>>2]=1;h[f+44>>2]=0;h[f+48>>2]=0;h[f+64>>2]=0;h[f+68>>2]=0;h[f+56>>2]=i;h[f+60>>2]=h[f+192>>2];h[f+52>>2]=n;h[f+72>>2]=o;a=a+1|0;if((a|0)==(s|0))break;else f=f+232|0}v=L;return t|0}else{a=(h[P>>2]|0)+1|0;if(!a){R=t;v=L;return R|0}l=t;n=O+(r*5640|0)+424|0;f=0;while(1){h[l+80>>2]=h[n+36>>2];h[l+40>>2]=1;h[l+44>>2]=h[n>>2];h[l+48>>2]=h[n+4>>2];h[l+64>>2]=0;h[l+68>>2]=0;h[l+56>>2]=h[n+12>>2];h[l+60>>2]=h[n+16>>2];h[l+52>>2]=h[n+8>>2];h[l+72>>2]=o;f=f+1|0;if((f|0)==(a|0))break;else{l=l+232|0;n=n+148|0}}v=L;return t|0}return 0}function Lr(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;if(!e)return;r=e+4|0;t=h[r>>2]|0;if(t){Qn(t);h[r>>2]=0}if(i){o=e;u=0;while(1){s=o+196|0;r=h[s>>2]|0;if(r){l=o+192|0;t=h[l>>2]|0;if(t){a=0;while(1){n=r+12|0;f=h[n>>2]|0;if(f){Qn(f);h[n>>2]=0;t=h[l>>2]|0}a=a+1|0;if(a>>>0>=t>>>0)break;else r=r+16|0}r=h[s>>2]|0}Qn(r);h[s>>2]=0}u=u+1|0;if((u|0)==(i|0))break;else o=o+232|0}}Qn(e);return}function Cr(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0;N=v;v=v+32|0;C=N+28|0;L=N+24|0;S=N+20|0;P=N+16|0;O=N+12|0;R=N+8|0;D=N+4|0;x=N;I=i+76|0;E=h[I>>2]|0;B=(h[E+(r*5640|0)+420>>2]|0)+1|0;T=e+16|0;M=Gn((h[T>>2]|0)*528|0)|0;if(!M){r=0;v=N;return r|0}A=Gn(h[T>>2]<<2)|0;if(!A){Qn(M);r=0;v=N;return r|0}n=Br(e,h[I>>2]|0,r)|0;if(!n){Qn(M);Qn(A);r=0;v=N;return r|0}f=h[T>>2]|0;if(f){a=0;l=M;while(1){h[A+(a<<2)>>2]=l;a=a+1|0;if(a>>>0>=f>>>0)break;else l=l+528|0}}Nr(e,i,r,S,P,O,R,D,x,L,C,A);p=h[L>>2]|0;g=ue(h[T>>2]|0,p)|0;y=ue(h[C>>2]|0,g)|0;c[n>>0]=(b[i+93>>0]|0)>>>3&1;m=Kn(ue(h[E+(r*5640|0)+8>>2]|0,y)|0,2)|0;a=n+4|0;h[a>>2]=m;if(!m){Qn(M);Qn(A);f=h[a>>2]|0;if(f){Qn(f);h[a>>2]=0}if(B){k=n;w=0;while(1){u=k+196|0;f=h[u>>2]|0;if(f){o=k+192|0;a=h[o>>2]|0;if(a){s=0;while(1){l=f+12|0;e=h[l>>2]|0;if(e){Qn(e);h[l>>2]=0;a=h[o>>2]|0}s=s+1|0;if(s>>>0>=a>>>0)break;else f=f+16|0}f=h[u>>2]|0}Qn(f);h[u>>2]=0}w=w+1|0;if((w|0)==(B|0))break;else k=k+232|0}}Qn(n);r=0;v=N;return r|0}f=h[n+196>>2]|0;m=h[e+24>>2]|0;h[n+200>>2]=h[S>>2];h[n+204>>2]=h[O>>2];h[n+208>>2]=h[P>>2];h[n+212>>2]=h[R>>2];h[n+224>>2]=h[D>>2];h[n+228>>2]=h[x>>2];h[n+20>>2]=1;h[n+16>>2]=p;h[n+12>>2]=g;h[n+8>>2]=y;u=h[n+192>>2]|0;if(u){k=0;o=m;while(1){l=h[f+12>>2]|0;a=h[A+(k<<2)>>2]|0;h[f>>2]=h[o>>2];h[f+4>>2]=h[o+4>>2];s=h[f+8>>2]|0;if(s){e=0;while(1){h[l>>2]=h[a>>2];h[l+4>>2]=h[a+4>>2];h[l+8>>2]=h[a+8>>2];h[l+12>>2]=h[a+12>>2];e=e+1|0;if(e>>>0>=s>>>0)break;else{a=a+16|0;l=l+16|0}}}k=k+1|0;if(k>>>0>=u>>>0)break;else{f=f+16|0;o=o+52|0}}}if(B>>>0>1){u=n;_=1;do{f=h[u+428>>2]|0;h[u+432>>2]=h[S>>2];h[u+436>>2]=h[O>>2];h[u+440>>2]=h[P>>2];h[u+444>>2]=h[R>>2];h[u+456>>2]=h[D>>2];h[u+460>>2]=h[x>>2];h[u+252>>2]=1;h[u+248>>2]=p;h[u+244>>2]=g;h[u+240>>2]=y;k=h[u+424>>2]|0;if(k){w=0;o=m;while(1){l=h[f+12>>2]|0;a=h[A+(w<<2)>>2]|0;h[f>>2]=h[o>>2];h[f+4>>2]=h[o+4>>2];s=h[f+8>>2]|0;if(s){e=0;while(1){h[l>>2]=h[a>>2];h[l+4>>2]=h[a+4>>2];h[l+8>>2]=h[a+8>>2];h[l+12>>2]=h[a+12>>2];e=e+1|0;if(e>>>0>=s>>>0)break;else{a=a+16|0;l=l+16|0}}}w=w+1|0;if(w>>>0>=k>>>0)break;else{f=f+16|0;o=o+52|0}}}h[u+236>>2]=h[u+4>>2];u=u+232|0;_=_+1|0}while((_|0)!=(B|0))}Qn(M);Qn(A);do{if(c[E+(r*5640|0)+5636>>0]&4){f=d[i>>1]|0;if((f&65535)>2){if(!((t|0)==1|(f&65535)<7))break}else if((t|0)!=1)break;Fr(h[I>>2]|0,r,h[S>>2]|0,h[P>>2]|0,h[O>>2]|0,h[R>>2]|0,h[L>>2]|0,h[D>>2]|0,h[x>>2]|0);r=n;v=N;return r|0}}while(0);y=h[T>>2]|0;g=h[S>>2]|0;p=h[P>>2]|0;m=h[O>>2]|0;_=h[R>>2]|0;w=h[L>>2]|0;k=h[C>>2]|0;u=h[D>>2]|0;o=h[x>>2]|0;f=h[I>>2]|0;l=(h[f+(r*5640|0)+420>>2]|0)+1|0;if(!l){r=n;v=N;return r|0}e=h[f+(r*5640|0)+8>>2]|0;s=h[f+(r*5640|0)+4>>2]|0;f=f+(r*5640|0)+424|0;a=0;while(1){h[f+76>>2]=0;h[f+92>>2]=y;h[f+72>>2]=0;h[f+88>>2]=k;h[f+68>>2]=0;h[f+84>>2]=e;h[f+36>>2]=s;h[f+80>>2]=0;h[f+96>>2]=w;h[f+100>>2]=g;h[f+104>>2]=p;h[f+108>>2]=m;h[f+112>>2]=_;h[f+116>>2]=u;h[f+120>>2]=o;a=a+1|0;if((a|0)==(l|0))break;else f=f+148|0}v=N;return n|0}function Dr(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0;Y=h[i+76>>2]|0;q=Y+(r*5640|0)+424+(t*148|0)+36|0;X=$n(h[q>>2]|0)|0;h[e+(t*232|0)+40>>2]=1;z=e+(t*232|0)+44|0;h[e+(t*232|0)+80>>2]=h[q>>2];do{if(c[i+93>>0]&8){l=d[i>>1]|0;if((l&65535)>2){if(!((a|0)==1&(l&65535)>6|(l+-3&65535)<4))break}else if(!((a|0)==1|(l+-3&65535)<4))break;l=f+1|0;e:do{if((l|0)<4){a=Y+(r*5640|0)+424+(t*148|0)+72|0;s=Y+(r*5640|0)+424+(t*148|0)+88|0;o=e+(t*232|0)+56|0;u=Y+(r*5640|0)+424+(t*148|0)+76|0;b=e+(t*232|0)+48|0;k=Y+(r*5640|0)+424+(t*148|0)+92|0;w=e+(t*232|0)+60|0;_=Y+(r*5640|0)+424+(t*148|0)+68|0;m=e+(t*232|0)+64|0;p=Y+(r*5640|0)+424+(t*148|0)+84|0;v=e+(t*232|0)+52|0;g=Y+(r*5640|0)+424+(t*148|0)+80|0;y=e+(t*232|0)+68|0;E=Y+(r*5640|0)+424+(t*148|0)+96|0;A=e+(t*232|0)+72|0;M=Y+(r*5640|0)+424+(t*148|0)+100|0;T=e+(t*232|0)+96|0;S=Y+(r*5640|0)+424+(t*148|0)+108|0;P=e+(t*232|0)+104|0;O=Y+(r*5640|0)+424+(t*148|0)+104|0;R=e+(t*232|0)+100|0;L=Y+(r*5640|0)+424+(t*148|0)+112|0;C=e+(t*232|0)+108|0;while(1){i:do{switch(c[X+l>>0]|0){case 82:{h[z>>2]=h[a>>2];h[o>>2]=h[s>>2];break}case 67:{h[b>>2]=h[u>>2];h[w>>2]=h[k>>2];break}case 76:{h[m>>2]=h[_>>2];h[v>>2]=h[p>>2];break}case 80:if((h[q>>2]|0)>>>0<2){h[y>>2]=h[g>>2];h[A>>2]=h[E>>2];break i}else{h[T>>2]=h[M>>2];h[P>>2]=h[S>>2];h[R>>2]=h[O>>2];h[C>>2]=h[L>>2];break i}default:{}}}while(0);l=l+1|0;if((l|0)==4)break e}}}while(0);l=(f|0)>-1;if(!n){if(!l)return;o=Y+(r*5640|0)+424+(t*148|0)+76|0;u=Y+(r*5640|0)+424+(t*148|0)+132|0;b=e+(t*232|0)+48|0;k=e+(t*232|0)+60|0;w=Y+(r*5640|0)+424+(t*148|0)+72|0;_=Y+(r*5640|0)+424+(t*148|0)+128|0;m=e+(t*232|0)+56|0;p=Y+(r*5640|0)+424+(t*148|0)+68|0;v=Y+(r*5640|0)+424+(t*148|0)+124|0;g=e+(t*232|0)+64|0;y=e+(t*232|0)+52|0;E=Y+(r*5640|0)+424+(t*148|0)+80|0;A=Y+(r*5640|0)+424+(t*148|0)+136|0;M=e+(t*232|0)+68|0;T=e+(t*232|0)+72|0;S=Y+(r*5640|0)+424+(t*148|0)+100|0;P=Y+(r*5640|0)+424+(t*148|0)+140|0;O=Y+(r*5640|0)+424+(t*148|0)+108|0;R=Y+(r*5640|0)+424+(t*148|0)+144|0;L=e+(t*232|0)+96|0;C=Y+(r*5640|0)+424+(t*148|0)+116|0;n=e+(t*232|0)+100|0;D=e+(t*232|0)+104|0;s=Y+(r*5640|0)+424+(t*148|0)+120|0;a=e+(t*232|0)+108|0;l=f;while(1){e:do{switch(c[X+l>>0]|0){case 67:{t=h[o>>2]|0;h[b>>2]=t;t=t+1|0;h[k>>2]=t;h[u>>2]=t;break}case 82:{t=h[w>>2]|0;h[z>>2]=t;t=t+1|0;h[m>>2]=t;h[_>>2]=t;break}case 76:{t=h[p>>2]|0;h[g>>2]=t;t=t+1|0;h[y>>2]=t;h[v>>2]=t;break}case 80:if((h[q>>2]|0)>>>0<2){t=h[E>>2]|0;h[M>>2]=t;t=t+1|0;h[T>>2]=t;h[A>>2]=t;break e}else{t=h[S>>2]|0;f=h[O>>2]|0;h[L>>2]=t;r=h[C>>2]|0;r=r+t-((t>>>0)%(r>>>0)|0)|0;h[n>>2]=r;h[D>>2]=f;t=h[s>>2]|0;t=t+f-((f>>>0)%(t>>>0)|0)|0;h[a>>2]=t;h[P>>2]=r;h[R>>2]=t;break e}default:{}}}while(0);if((l|0)>0)l=l+-1|0;else break}return}if(!l)return;N=Y+(r*5640|0)+424+(t*148|0)+128|0;F=Y+(r*5640|0)+424+(t*148|0)+88|0;U=Y+(r*5640|0)+424+(t*148|0)+72|0;j=e+(t*232|0)+56|0;H=Y+(r*5640|0)+424+(t*148|0)+132|0;k=Y+(r*5640|0)+424+(t*148|0)+92|0;w=Y+(r*5640|0)+424+(t*148|0)+76|0;_=e+(t*232|0)+48|0;m=e+(t*232|0)+60|0;p=Y+(r*5640|0)+424+(t*148|0)+124|0;v=Y+(r*5640|0)+424+(t*148|0)+84|0;g=Y+(r*5640|0)+424+(t*148|0)+68|0;y=e+(t*232|0)+64|0;E=e+(t*232|0)+52|0;A=Y+(r*5640|0)+424+(t*148|0)+136|0;M=Y+(r*5640|0)+424+(t*148|0)+96|0;T=Y+(r*5640|0)+424+(t*148|0)+80|0;S=e+(t*232|0)+68|0;P=e+(t*232|0)+72|0;O=Y+(r*5640|0)+424+(t*148|0)+140|0;R=Y+(r*5640|0)+424+(t*148|0)+104|0;L=e+(t*232|0)+96|0;C=Y+(r*5640|0)+424+(t*148|0)+116|0;n=e+(t*232|0)+100|0;D=Y+(r*5640|0)+424+(t*148|0)+144|0;x=Y+(r*5640|0)+424+(t*148|0)+112|0;I=e+(t*232|0)+104|0;B=Y+(r*5640|0)+424+(t*148|0)+120|0;u=e+(t*232|0)+108|0;b=Y+(r*5640|0)+424+(t*148|0)+100|0;o=Y+(r*5640|0)+424+(t*148|0)+108|0;s=f;l=1;while(1){a=X+s|0;e:do{switch(c[a>>0]|0){case 67:{f=h[H>>2]|0;h[_>>2]=f+-1;h[m>>2]=f;break}case 82:{f=h[N>>2]|0;h[z>>2]=f+-1;h[j>>2]=f;break}case 76:{f=h[p>>2]|0;h[y>>2]=f+-1;h[E>>2]=f;break}case 80:if((h[q>>2]|0)>>>0<2){f=h[A>>2]|0;h[S>>2]=f+-1;h[P>>2]=f;break e}else{f=h[O>>2]|0;Y=h[C>>2]|0;h[L>>2]=f-Y-((f>>>0)%(Y>>>0)|0);h[n>>2]=f;f=h[D>>2]|0;Y=h[B>>2]|0;h[I>>2]=f-Y-((f>>>0)%(Y>>>0)|0);h[u>>2]=f;break e}default:{}}}while(0);e:do{if((l|0)==1)switch(c[a>>0]|0){case 82:{l=h[N>>2]|0;if((l|0)!=(h[F>>2]|0)){h[z>>2]=l;l=l+1|0;h[j>>2]=l;h[N>>2]=l;l=0;break e}if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}l=h[U>>2]|0;h[z>>2]=l;l=l+1|0;h[j>>2]=l;h[N>>2]=l;l=1;break e}case 67:{l=h[H>>2]|0;if((l|0)!=(h[k>>2]|0)){h[_>>2]=l;l=l+1|0;h[m>>2]=l;h[H>>2]=l;l=0;break e}if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}l=h[w>>2]|0;h[_>>2]=l;l=l+1|0;h[m>>2]=l;h[H>>2]=l;l=1;break e}case 76:{l=h[p>>2]|0;if((l|0)!=(h[v>>2]|0)){h[y>>2]=l;l=l+1|0;h[E>>2]=l;h[p>>2]=l;l=0;break e}if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}l=h[g>>2]|0;h[y>>2]=l;l=l+1|0;h[E>>2]=l;h[p>>2]=l;l=1;break e}case 80:{if((h[q>>2]|0)>>>0<2){l=h[A>>2]|0;if((l|0)!=(h[M>>2]|0)){h[S>>2]=l;l=l+1|0;h[P>>2]=l;h[A>>2]=l;l=0;break e}if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}l=h[T>>2]|0;h[S>>2]=l;l=l+1|0;h[P>>2]=l;h[A>>2]=l;l=1;break e}l=h[O>>2]|0;if(l>>>0<(h[R>>2]|0)>>>0){h[L>>2]=l;f=h[C>>2]|0;l=f+l-((l>>>0)%(f>>>0)|0)|0;h[n>>2]=l;h[O>>2]=l;l=0;break e}a=h[D>>2]|0;if(a>>>0<(h[x>>2]|0)>>>0){h[I>>2]=a;f=h[B>>2]|0;l=0;a=f+a-((a>>>0)%(f>>>0)|0)|0}else{if(!(Ur(s+-1|0,i,r,t,X)|0)){l=0;break e}f=h[o>>2]|0;h[D>>2]=f;h[I>>2]=f;a=h[B>>2]|0;l=1;a=a+f-((f>>>0)%(a>>>0)|0)|0}h[u>>2]=a;h[D>>2]=a;Y=h[b>>2]|0;h[L>>2]=Y;f=h[C>>2]|0;f=f+Y-((Y>>>0)%(f>>>0)|0)|0;h[n>>2]=f;h[O>>2]=f;break e}default:{l=1;break e}}}while(0);if((s|0)>0)s=s+-1|0;else break}return}}while(0);h[z>>2]=h[Y+(r*5640|0)+424+(t*148|0)+72>>2];h[e+(t*232|0)+56>>2]=h[Y+(r*5640|0)+424+(t*148|0)+88>>2];h[e+(t*232|0)+48>>2]=h[Y+(r*5640|0)+424+(t*148|0)+76>>2];h[e+(t*232|0)+60>>2]=h[Y+(r*5640|0)+424+(t*148|0)+92>>2];h[e+(t*232|0)+64>>2]=h[Y+(r*5640|0)+424+(t*148|0)+68>>2];h[e+(t*232|0)+52>>2]=h[Y+(r*5640|0)+424+(t*148|0)+84>>2];h[e+(t*232|0)+68>>2]=h[Y+(r*5640|0)+424+(t*148|0)+80>>2];h[e+(t*232|0)+72>>2]=h[Y+(r*5640|0)+424+(t*148|0)+96>>2];h[e+(t*232|0)+96>>2]=h[Y+(r*5640|0)+424+(t*148|0)+100>>2];h[e+(t*232|0)+104>>2]=h[Y+(r*5640|0)+424+(t*148|0)+108>>2];h[e+(t*232|0)+100>>2]=h[Y+(r*5640|0)+424+(t*148|0)+104>>2];h[e+(t*232|0)+108>>2]=h[Y+(r*5640|0)+424+(t*148|0)+112>>2];return}function xr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0;D=h[i+76>>2]|0;I=h[i+24>>2]|0;F=(r>>>0)%(I>>>0)|0;I=(r>>>0)/(I>>>0)|0;B=h[i+4>>2]|0;C=h[i+12>>2]|0;L=(ue(C,F)|0)+B|0;N=h[e>>2]|0;N=(L|0)>(N|0)?L:N;B=(ue(C,F+1|0)|0)+B|0;F=h[e+8>>2]|0;F=(B|0)<(F|0)?B:F;B=h[i+8>>2]|0;C=h[i+16>>2]|0;L=(ue(C,I)|0)+B|0;x=h[e+4>>2]|0;x=(L|0)>(x|0)?L:x;B=(ue(C,I+1|0)|0)+B|0;I=h[e+12>>2]|0;I=(B|0)<(I|0)?B:I;B=h[e+16>>2]|0;if(!B){o=0;s=2147483647;l=2147483647;a=0}else{P=I+-1|0;O=F+-1|0;R=x+-1|0;L=N+-1|0;o=0;s=2147483647;l=2147483647;a=0;C=0;T=h[e+24>>2]|0;S=h[D+(r*5640|0)+5584>>2]|0;while(1){E=h[T>>2]|0;A=h[T+4>>2]|0;M=h[S+4>>2]|0;a=M>>>0>a>>>0?M:a;if(M){g=(P+A|0)/(A|0)|0;p=(O+E|0)/(E|0)|0;_=(R+A|0)/(A|0)|0;k=(L+E|0)/(E|0)|0;k=zs(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;w=j;_=zs(_|0,((_|0)<0)<<31>>31|0,-1,-1)|0;m=j;p=zs(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;v=j;g=zs(g|0,((g|0)<0)<<31>>31|0,-1,-1)|0;y=j;i=0;b=0;while(1){u=h[S+812+(b<<2)>>2]|0;d=h[S+944+(b<<2)>>2]|0;n=i+-1+M|0;f=E<>>0>>0?s:f;l=l>>>0>>0?l:U;U=Xs(1,0,n|0)|0;f=j;i=zs(k|0,w|0,U|0,f|0)|0;i=Ys(i|0,j|0,n|0)|0;t=zs(_|0,m|0,U|0,f|0)|0;t=Ys(t|0,j|0,n|0)|0;e=zs(p|0,v|0,U|0,f|0)|0;e=Ys(e|0,j|0,n|0)|0;f=zs(g|0,y|0,U|0,f|0)|0;n=Ys(f|0,j|0,n|0)|0;f=Xs(1,0,d|0)|0;f=zs(f|0,j|0,-1,-1)|0;f=zs(f|0,j|0,n|0,((n|0)<0)<<31>>31|0)|0;f=Ys(f|0,j|0,d|0)|0;if((i|0)==(e|0))i=0;else{U=Xs(1,0,u|0)|0;U=zs(U|0,j|0,-1,-1)|0;U=zs(U|0,j|0,e|0,((e|0)<0)<<31>>31|0)|0;U=Ys(U|0,j|0,u|0)|0;i=(U<>u<>u}e=ue(i,(t|0)==(n|0)?0:(f<>d<>d)|0;o=e>>>0>o>>>0?e:o;e=b+1|0;if(e>>>0>>0){i=~b;b=e}else break}}C=C+1|0;if(C>>>0>=B>>>0)break;else{T=T+52|0;S=S+1080|0}}}if(c[D+(r*5640|0)+5636>>0]&4){Fr(D,r,N,F,x,I,o,s,l);return}t=(h[D+(r*5640|0)+420>>2]|0)+1|0;if(!t)return;n=h[D+(r*5640|0)+8>>2]|0;f=h[D+(r*5640|0)+4>>2]|0;i=D+(r*5640|0)+424|0;e=0;while(1){h[i+76>>2]=0;h[i+92>>2]=B;h[i+72>>2]=0;h[i+88>>2]=a;h[i+68>>2]=0;h[i+84>>2]=n;h[i+36>>2]=f;h[i+80>>2]=0;h[i+96>>2]=o;h[i+100>>2]=N;h[i+104>>2]=F;h[i+108>>2]=x;h[i+112>>2]=I;h[i+116>>2]=s;h[i+120>>2]=l;e=e+1|0;if((e|0)==(t|0))break;else i=i+148|0}return}function Ir(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0,Re=0,Le=0,Ce=0,De=0,xe=0,Ie=0,Be=0,Ne=0,Fe=0,Ue=0,je=0,He=0,Ye=0,qe=0,Xe=0,ze=0,Ve=0,Ge=0,Ke=0,We=0,Je=0,Ze=0,Qe=0,$e=0,ei=0,ii=0,ri=0,ti=0,ni=0,fi=0,ai=0,li=0,si=0,oi=0,ui=0,ci=0,di=0,hi=0;switch(h[e+80>>2]|0){case 0:{i=e+40|0;if(!(h[i>>2]|0)){R=e+32|0;s=R;R=h[R>>2]|0;r=18}else{h[i>>2]=0;p=h[e+64>>2]|0;h[e+36>>2]=p;r=5}while(1){if((r|0)==5){if(p>>>0>=(h[e+52>>2]|0)>>>0){hi=0;r=153;break}M=h[e+44>>2]|0;h[e+28>>2]=M;r=7}else if((r|0)==18){a=R+1|0;h[s>>2]=a;n=s;r=14}while(1){if((r|0)==7){r=0;if(M>>>0>=(h[e+56>>2]|0)>>>0){r=21;break}T=h[e+48>>2]|0;k=e+24|0;h[k>>2]=T}else if((r|0)==14){if(a>>>0<(h[e+72>>2]|0)>>>0){r=16;break}L=e+24|0;u=L;L=h[L>>2]|0;r=19}while(1){if((r|0)==19){r=0;T=L+1|0;h[u>>2]=T;k=u}if(T>>>0>=(h[e+60>>2]|0)>>>0){r=20;break}S=h[e+196>>2]|0;P=h[e+28>>2]|0;if(P>>>0<(h[S+(T<<4)+8>>2]|0)>>>0)break;else{u=k;L=T;r=19}}if((r|0)==20){r=e+28|0;M=(h[r>>2]|0)+1|0;h[r>>2]=M;r=7;continue}i=h[S+(T<<4)+12>>2]|0;if(!(c[e>>0]|0)){di=ue(h[i+(P<<4)+12>>2]|0,h[i+(P<<4)+8>>2]|0)|0;h[e+72>>2]=di}a=h[e+68>>2]|0;n=e+32|0;h[n>>2]=a;r=14}if((r|0)==16){r=0;O=ue(h[e+8>>2]|0,h[e+36>>2]|0)|0;O=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+O|0;O=O+(ue(h[e+16>>2]|0,h[e+24>>2]|0)|0)|0;O=O+(ue(h[e+20>>2]|0,a)|0)|0;O=(h[e+4>>2]|0)+(O<<1)|0;if(!(d[O>>1]|0))break;else{s=n;R=a;r=18;continue}}else if((r|0)==21){r=e+36|0;p=(h[r>>2]|0)+1|0;h[r>>2]=p;r=5;continue}}if((r|0)==153)return hi|0;d[O>>1]=1;e=1;return e|0}case 1:{i=e+40|0;if(!(h[i>>2]|0)){E=e+32|0;l=E;E=h[E>>2]|0;r=38}else{h[i>>2]=0;C=h[e+44>>2]|0;h[e+28>>2]=C;r=25}while(1){if((r|0)==25){if(C>>>0>=(h[e+56>>2]|0)>>>0){hi=0;r=153;break}_=h[e+64>>2]|0;h[e+36>>2]=_;r=27}else if((r|0)==38){f=E+1|0;h[l>>2]=f;t=l;r=34}while(1){if((r|0)==27){r=0;if(_>>>0>=(h[e+52>>2]|0)>>>0){r=41;break}m=h[e+48>>2]|0;b=e+24|0;h[b>>2]=m}else if((r|0)==34){if(f>>>0<(h[e+72>>2]|0)>>>0){r=36;break}A=e+24|0;o=A;A=h[A>>2]|0;r=39}while(1){if((r|0)==39){r=0;m=A+1|0;h[o>>2]=m;b=o}if(m>>>0>=(h[e+60>>2]|0)>>>0){r=40;break}v=h[e+196>>2]|0;g=h[e+28>>2]|0;if(g>>>0<(h[v+(m<<4)+8>>2]|0)>>>0)break;else{o=b;A=m;r=39}}if((r|0)==40){r=e+36|0;_=(h[r>>2]|0)+1|0;h[r>>2]=_;r=27;continue}i=h[v+(m<<4)+12>>2]|0;if(!(c[e>>0]|0)){di=ue(h[i+(g<<4)+12>>2]|0,h[i+(g<<4)+8>>2]|0)|0;h[e+72>>2]=di}f=h[e+68>>2]|0;t=e+32|0;h[t>>2]=f;r=34}if((r|0)==36){r=0;y=ue(h[e+8>>2]|0,h[e+36>>2]|0)|0;y=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+y|0;y=y+(ue(h[e+16>>2]|0,h[e+24>>2]|0)|0)|0;y=y+(ue(h[e+20>>2]|0,f)|0)|0;y=(h[e+4>>2]|0)+(y<<1)|0;if(!(d[y>>1]|0))break;else{l=t;E=f;r=38;continue}}else if((r|0)==41){r=e+28|0;C=(h[r>>2]|0)+1|0;h[r>>2]=C;r=25;continue}}if((r|0)==153)return hi|0;d[y>>1]=1;e=1;return e|0}case 2:{i=e+40|0;if(!(h[i>>2]|0)){ci=e+36|0;ze=ci;ci=h[ci>>2]|0;r=75}else{h[i>>2]=0;b=e+224|0;h[b>>2]=0;k=e+228|0;h[k>>2]=0;w=h[e+192>>2]|0;if(w){_=h[e+196>>2]|0;i=0;r=0;m=0;do{a=h[_+(m<<4)+8>>2]|0;if(a){l=h[_+(m<<4)+12>>2]|0;s=h[_+(m<<4)>>2]|0;o=h[_+(m<<4)+4>>2]|0;u=a+-1|0;t=0;f=0;while(1){n=u+t|0;Xe=s<>2]|0);n=o<<(h[l+(f<<4)+4>>2]|0)+n;i=(i|0)==0?Xe:i>>>0>>0?i:Xe;r=(r|0)==0?n:r>>>0>>0?r:n;n=f+1|0;if((n|0)==(a|0))break;else{t=~f;f=n}}h[b>>2]=i;h[k>>2]=r}m=m+1|0}while((m|0)!=(w|0))}if(!(c[e>>0]|0)){h[e+104>>2]=h[e+204>>2];h[e+96>>2]=h[e+200>>2];h[e+108>>2]=h[e+212>>2];h[e+100>>2]=h[e+208>>2]}I=h[e+44>>2]|0;h[e+28>>2]=I;r=54}while(1){if((r|0)==54){if(I>>>0>=(h[e+56>>2]|0)>>>0){hi=0;r=153;break}We=h[e+104>>2]|0;h[e+220>>2]=We;r=56}else if((r|0)==75){oi=ci+1|0;h[ze>>2]=oi;Ve=ze;r=71}while(1){if((r|0)==56){if((We|0)>=(h[e+108>>2]|0)){r=79;break}Je=h[e+96>>2]|0;h[e+216>>2]=Je;r=58}else if((r|0)==71){if(oi>>>0<(h[e+52>>2]|0)>>>0){r=73;break}di=e+24|0;Ge=di;di=h[di>>2]|0;r=76}while(1){if((r|0)==58){if((Je|0)>=(h[e+100>>2]|0)){r=78;break}Ze=h[e+48>>2]|0;Ke=e+24|0;h[Ke>>2]=Ze}else if((r|0)==76){Ze=di+1|0;h[Ge>>2]=Ze;Ke=Ge}if(Ze>>>0>=(h[e+60>>2]|0)>>>0){Je=h[e+224>>2]|0;r=e+216|0;Xe=h[r>>2]|0;Je=Xe+Je-((Xe|0)%(Je|0)|0)|0;h[r>>2]=Je;r=58;continue}r=h[e+196>>2]|0;o=h[e+28>>2]|0;i=h[r+(Ze<<4)+8>>2]|0;if(o>>>0>=i>>>0){Ge=Ke;di=Ze;r=76;continue}u=h[r+(Ze<<4)+12>>2]|0;f=i+~o|0;a=h[e+200>>2]|0;l=h[r+(Ze<<4)>>2]|0;Qe=l<>2]|0;Xe=h[r+(Ze<<4)+4>>2]|0;ei=Xe<>2]|0)|0)/(Qe|0)|0;ti=ei+-1|0;r=(ti+(h[e+212>>2]|0)|0)/(ei|0)|0;ni=h[u+(o<<4)>>2]|0;t=ni+f|0;fi=h[u+(o<<4)+4>>2]|0;n=fi+f|0;ai=h[e+220>>2]|0;if((ai|0)%(Xe<>2]|0;if((li|0)%(l<>2]|0;if(!si){Ge=Ke;di=Ze;r=76;continue}if((ii|0)==(r|0)|(($e|0)==(i|0)?1:(h[u+(o<<4)+12>>2]|0)==0)){Ge=Ke;di=Ze;r=76}else{r=70;break}}if((r|0)==70){oi=(((ri+li|0)/(Qe|0)|0)>>ni)-($e>>ni)+(ue((((ti+ai|0)/(ei|0)|0)>>fi)-(ii>>fi)|0,si)|0)|0;h[e+32>>2]=oi;oi=h[e+64>>2]|0;Ve=e+36|0;h[Ve>>2]=oi;r=71;continue}else if((r|0)==78){We=h[e+228>>2]|0;r=e+220|0;Xe=h[r>>2]|0;We=Xe+We-((Xe|0)%(We|0)|0)|0;h[r>>2]=We;r=56;continue}}if((r|0)==73){r=0;ui=ue(h[e+8>>2]|0,oi)|0;ui=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+ui|0;ui=ui+(ue(h[e+16>>2]|0,h[e+24>>2]|0)|0)|0;ui=ui+(ue(h[e+20>>2]|0,h[e+32>>2]|0)|0)|0;ui=(h[e+4>>2]|0)+(ui<<1)|0;if(!(d[ui>>1]|0))break;else{ze=Ve;ci=oi;r=75;continue}}else if((r|0)==79){r=e+28|0;I=(h[r>>2]|0)+1|0;h[r>>2]=I;r=54;continue}}if((r|0)==153)return hi|0;d[ui>>1]=1;e=1;return e|0}case 3:{r=e+40|0;if(!(h[r>>2]|0)){qe=h[e+24>>2]|0;Be=e+36|0;ke=Be;Be=h[Be>>2]|0;Ue=qe;qe=(h[e+196>>2]|0)+(qe<<4)|0;r=113}else{h[r>>2]=0;b=e+224|0;h[b>>2]=0;k=e+228|0;h[k>>2]=0;w=h[e+192>>2]|0;if(w){_=h[e+196>>2]|0;i=0;r=0;m=0;do{a=h[_+(m<<4)+8>>2]|0;if(a){l=h[_+(m<<4)+12>>2]|0;s=h[_+(m<<4)>>2]|0;o=h[_+(m<<4)+4>>2]|0;u=a+-1|0;t=0;f=0;while(1){n=u+t|0;di=s<>2]|0);n=o<<(h[l+(f<<4)+4>>2]|0)+n;i=(i|0)==0?di:i>>>0>>0?i:di;r=(r|0)==0?n:r>>>0>>0?r:n;n=f+1|0;if((n|0)==(a|0))break;else{t=~f;f=n}}h[b>>2]=i;h[k>>2]=r}m=m+1|0}while((m|0)!=(w|0))}if(!(c[e>>0]|0)){i=h[e+204>>2]|0;h[e+104>>2]=i;h[e+96>>2]=h[e+200>>2];h[e+108>>2]=h[e+212>>2];h[e+100>>2]=h[e+208>>2]}else i=h[e+104>>2]|0;h[e+220>>2]=i;r=93}while(1){if((r|0)==93){if((i|0)>=(h[e+108>>2]|0)){hi=0;r=153;break}pe=h[e+96>>2]|0;h[e+216>>2]=pe;r=95}else if((r|0)==113){De=Be+1|0;h[ke>>2]=De;we=ke;xe=Ue;Ye=qe;r=109}while(1){if((r|0)==95){if((pe|0)>=(h[e+100>>2]|0)){r=117;break}ve=h[e+48>>2]|0;h[e+24>>2]=ve;r=97}else if((r|0)==109){if(De>>>0<(h[e+52>>2]|0)>>>0){r=111;break}Ne=e+28|0;_e=Ne;Ne=h[Ne>>2]|0;je=xe;Xe=Ye;r=114}while(1){if((r|0)==97){if(ve>>>0>=(h[e+60>>2]|0)>>>0){r=116;break}He=(h[e+196>>2]|0)+(ve<<4)|0;ge=h[e+44>>2]|0;me=e+28|0;h[me>>2]=ge;Fe=ve}else if((r|0)==114){ge=Ne+1|0;h[_e>>2]=ge;me=_e;Fe=je;He=Xe}di=h[e+56>>2]|0;r=h[He+8>>2]|0;if(ge>>>0>=(di>>>0>>0?di:r)>>>0){ve=Fe+1|0;h[e+24>>2]=ve;r=97;continue}u=h[He+12>>2]|0;r=r+~ge|0;t=h[e+200>>2]|0;n=h[He>>2]|0;ye=n<>2]|0;di=h[He+4>>2]|0;Ae=di<>2]|0)|0)/(ye|0)|0;Se=Ae+-1|0;l=(Se+(h[e+212>>2]|0)|0)/(Ae|0)|0;Pe=h[u+(ge<<4)>>2]|0;s=Pe+r|0;Oe=h[u+(ge<<4)+4>>2]|0;o=Oe+r|0;Re=h[e+220>>2]|0;if((Re|0)%(di<>2]|0;if((Le|0)%(n<>2]|0;if(!Ce){_e=me;Ne=ge;je=Fe;Xe=He;r=114;continue}if((Me|0)==(l|0)|((Ee|0)==(a|0)?1:(h[u+(ge<<4)+12>>2]|0)==0)){_e=me;Ne=ge;je=Fe;Xe=He;r=114}else{r=108;break}}if((r|0)==108){De=(((Te+Le|0)/(ye|0)|0)>>Pe)-(Ee>>Pe)+(ue((((Se+Re|0)/(Ae|0)|0)>>Oe)-(Me>>Oe)|0,Ce)|0)|0;h[e+32>>2]=De;De=h[e+64>>2]|0;we=e+36|0;h[we>>2]=De;xe=Fe;Ye=He;r=109;continue}else if((r|0)==116){pe=h[e+224>>2]|0;r=e+216|0;di=h[r>>2]|0;pe=di+pe-((di|0)%(pe|0)|0)|0;h[r>>2]=pe;r=95;continue}}if((r|0)==111){r=0;Ie=ue(h[e+8>>2]|0,De)|0;Ie=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+Ie|0;Ie=Ie+(ue(h[e+16>>2]|0,xe)|0)|0;Ie=Ie+(ue(h[e+20>>2]|0,h[e+32>>2]|0)|0)|0;Ie=(h[e+4>>2]|0)+(Ie<<1)|0;if(!(d[Ie>>1]|0))break;else{ke=we;Be=De;Ue=xe;qe=Ye;r=113;continue}}else if((r|0)==117){i=h[e+228>>2]|0;r=e+220|0;di=h[r>>2]|0;i=di+i-((di|0)%(i|0)|0)|0;h[r>>2]=i;r=93;continue}}if((r|0)==153)return hi|0;d[Ie>>1]=1;e=1;return e|0}case 4:{i=e+40|0;if(!(h[i>>2]|0)){he=h[e+24>>2]|0;te=e+36|0;B=te;te=h[te>>2]|0;fe=he;he=(h[e+196>>2]|0)+(he<<4)|0;r=148}else{h[i>>2]=0;j=h[e+48>>2]|0;h[e+24>>2]=j;r=121}while(1){if((r|0)==121){if(j>>>0>=(h[e+60>>2]|0)>>>0){hi=0;r=153;break}i=h[e+196>>2]|0;w=i+(j<<4)|0;b=e+224|0;h[b>>2]=0;k=e+228|0;h[k>>2]=0;s=h[i+(j<<4)+8>>2]|0;if(s){o=h[i+(j<<4)+12>>2]|0;u=h[w>>2]|0;n=h[i+(j<<4)+4>>2]|0;f=s+-1|0;r=0;i=0;t=0;l=0;while(1){a=f+t|0;di=u<>2]|0);a=n<<(h[o+(l<<4)+4>>2]|0)+a;r=(r|0)==0?di:r>>>0>>0?r:di;i=(i|0)==0?a:i>>>0>>0?i:a;a=l+1|0;if((a|0)==(s|0))break;else{t=~l;l=a}}h[b>>2]=r;h[k>>2]=i}if(!(c[e>>0]|0)){i=h[e+204>>2]|0;h[e+104>>2]=i;h[e+96>>2]=h[e+200>>2];h[e+108>>2]=h[e+212>>2];h[e+100>>2]=h[e+208>>2]}else i=h[e+104>>2]|0;h[e+220>>2]=i;D=i;x=j;r=130}else if((r|0)==148){ee=te+1|0;h[B>>2]=ee;N=B;ie=fe;de=he;r=144}while(1){if((r|0)==130){if((D|0)>=(h[e+108>>2]|0)){r=152;break}H=h[e+96>>2]|0;h[e+216>>2]=H;ae=x;oe=w;r=132}else if((r|0)==144){if(ee>>>0<(h[e+52>>2]|0)>>>0){r=146;break}ne=e+28|0;F=ne;ne=h[ne>>2]|0;se=ie;be=de;r=149}while(1){if((r|0)==132){if((H|0)>=(h[e+100>>2]|0)){r=151;break}Y=h[e+44>>2]|0;U=e+28|0;h[U>>2]=Y;le=ae;ce=oe}else if((r|0)==149){Y=ne+1|0;h[F>>2]=Y;U=F;le=se;ce=be}di=h[e+56>>2]|0;i=h[ce+8>>2]|0;if(Y>>>0>=(di>>>0>>0?di:i)>>>0){H=h[e+224>>2]|0;ae=e+216|0;oe=h[ae>>2]|0;H=oe+H-((oe|0)%(H|0)|0)|0;h[ae>>2]=H;ae=le;oe=ce;r=132;continue}o=h[ce+12>>2]|0;i=i+~Y|0;r=h[e+200>>2]|0;t=h[ce>>2]|0;q=t<>2]|0;di=h[ce+4>>2]|0;z=di<>2]|0)|0)/(q|0)|0;K=z+-1|0;a=(K+(h[e+212>>2]|0)|0)/(z|0)|0;W=h[o+(Y<<4)>>2]|0;l=W+i|0;J=h[o+(Y<<4)+4>>2]|0;s=J+i|0;Z=h[e+220>>2]|0;if((Z|0)%(di<>2]|0;if((Q|0)%(t<>2]|0;if(!$){F=U;ne=Y;se=le;be=ce;r=149;continue}if((V|0)==(a|0)|((X|0)==(f|0)?1:(h[o+(Y<<4)+12>>2]|0)==0)){F=U;ne=Y;se=le;be=ce;r=149}else{r=143;break}}if((r|0)==143){ee=(((G+Q|0)/(q|0)|0)>>W)-(X>>W)+(ue((((K+Z|0)/(z|0)|0)>>J)-(V>>J)|0,$)|0)|0;h[e+32>>2]=ee;ee=h[e+64>>2]|0;N=e+36|0;h[N>>2]=ee;ie=le;de=ce;r=144;continue}else if((r|0)==151){D=h[e+228>>2]|0;x=e+220|0;w=h[x>>2]|0;D=w+D-((w|0)%(D|0)|0)|0;h[x>>2]=D;x=ae;w=oe;r=130;continue}}if((r|0)==146){r=0;re=ue(h[e+8>>2]|0,ee)|0;re=(ue(h[e+12>>2]|0,h[e+28>>2]|0)|0)+re|0;re=re+(ue(h[e+16>>2]|0,ie)|0)|0;re=re+(ue(h[e+20>>2]|0,h[e+32>>2]|0)|0)|0;re=(h[e+4>>2]|0)+(re<<1)|0;if(!(d[re>>1]|0))break;else{B=N;te=ee;fe=ie;he=de;r=148;continue}}else if((r|0)==152){j=x+1|0;h[e+24>>2]=j;r=121;continue}}if((r|0)==153)return hi|0;d[re>>1]=1;e=1;return e|0}default:{e=0;return e|0}}return 0}function Br(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=(h[i+(r*5640|0)+420>>2]|0)+1|0;t=Kn(u,232)|0;if(!t){u=0;return u|0}if(!u){u=t;return u|0}s=e+16|0;f=i+(r*5640|0)+5584|0;e=h[s>>2]|0;a=t;l=0;e:while(1){i=Kn(e,16)|0;n=a+196|0;h[n>>2]=i;if(!i){e=5;break}o=h[s>>2]|0;h[a+192>>2]=o;i:do{if(!o)e=0;else{e=(h[f>>2]|0)+4|0;o=Kn(h[e>>2]|0,16)|0;h[i+12>>2]=o;if(!o){e=18;break e}else r=0;while(1){h[i+(r<<4)+8>>2]=h[e>>2];r=r+1|0;e=h[s>>2]|0;if(r>>>0>=e>>>0)break i;i=h[n>>2]|0;e=(h[f>>2]|0)+(r*1080|0)+4|0;o=Kn(h[e>>2]|0,16)|0;h[i+(r<<4)+12>>2]=o;if(!o){e=18;break e}}}}while(0);l=l+1|0;if(l>>>0>=u>>>0){e=32;break}else a=a+232|0}if((e|0)==5){e=t+4|0;i=h[e>>2]|0;if(!i){s=t;o=0}else{Qn(i);h[e>>2]=0;s=t;o=0}while(1){l=s+196|0;e=h[l>>2]|0;if(e){a=s+192|0;i=h[a>>2]|0;if(i){f=0;while(1){r=e+12|0;n=h[r>>2]|0;if(n){Qn(n);h[r>>2]=0;i=h[a>>2]|0}f=f+1|0;if(f>>>0>=i>>>0)break;else e=e+16|0}e=h[l>>2]|0}Qn(e);h[l>>2]=0}o=o+1|0;if((o|0)==(u|0))break;else s=s+232|0}Qn(t);u=0;return u|0}else if((e|0)==18){e=t+4|0;i=h[e>>2]|0;if(!i){s=t;o=0}else{Qn(i);h[e>>2]=0;s=t;o=0}while(1){l=s+196|0;e=h[l>>2]|0;if(e){a=s+192|0;i=h[a>>2]|0;if(i){f=0;while(1){r=e+12|0;n=h[r>>2]|0;if(n){Qn(n);h[r>>2]=0;i=h[a>>2]|0}f=f+1|0;if(f>>>0>=i>>>0)break;else e=e+16|0}e=h[l>>2]|0}Qn(e);h[l>>2]=0}o=o+1|0;if((o|0)==(u|0))break;else s=s+232|0}Qn(t);u=0;return u|0}else if((e|0)==32)return t|0;return 0}function Nr(e,i,r,t,n,f,a,l,s,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;var d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0;b=h[(h[i+76>>2]|0)+(r*5640|0)+5584>>2]|0;d=h[e+24>>2]|0;D=h[i+24>>2]|0;C=i+12|0;L=(ue(h[C>>2]|0,(r>>>0)%(D>>>0)|0)|0)+(h[i+4>>2]|0)|0;R=h[e>>2]|0;h[t>>2]=L>>>0>R>>>0?L:R;L=zs(h[C>>2]|0,0,L|0,0)|0;L=L|0-j;C=h[e+8>>2]|0;h[n>>2]=L>>>0>>0?L:C;C=i+16|0;D=(ue(h[C>>2]|0,(r>>>0)/(D>>>0)|0)|0)+(h[i+8>>2]|0)|0;L=h[e+4>>2]|0;h[f>>2]=D>>>0>L>>>0?D:L;D=zs(h[C>>2]|0,0,D|0,0)|0;D=D|0-j;C=h[e+12>>2]|0;h[a>>2]=D>>>0>>0?D:C;h[o>>2]=0;h[u>>2]=0;h[l>>2]=2147483647;h[s>>2]=2147483647;C=e+16|0;if(!(h[C>>2]|0))return;else D=0;while(1){_=h[c+(D<<2)>>2]|0;k=h[d>>2]|0;e=((h[t>>2]|0)+-1+k|0)/(k|0)|0;R=d+4|0;w=h[R>>2]|0;r=((h[f>>2]|0)+-1+w|0)/(w|0)|0;k=(k+-1+(h[n>>2]|0)|0)/(k|0)|0;w=(w+-1+(h[a>>2]|0)|0)/(w|0)|0;L=b+4|0;i=h[L>>2]|0;if(i>>>0>(h[u>>2]|0)>>>0){h[u>>2]=i;i=h[L>>2]|0}if(i){P=zs(e|0,((e|0)<0)<<31>>31|0,-1,-1)|0;O=j;T=zs(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;S=j;A=zs(k|0,((k|0)<0)<<31>>31|0,-1,-1)|0;M=j;y=zs(w|0,((w|0)<0)<<31>>31|0,-1,-1)|0;E=j;g=0;while(1){i=i+-1|0;k=h[b+812+(g<<2)>>2]|0;v=h[b+944+(g<<2)>>2]|0;h[_>>2]=k;h[_+4>>2]=v;m=h[d>>2]<>2]<>2]|0;h[l>>2]=(e|0)<(m|0)?e:m;m=h[s>>2]|0;h[s>>2]=(m|0)<(x|0)?m:x;x=Xs(1,0,i|0)|0;m=j;e=zs(P|0,O|0,x|0,m|0)|0;e=Ys(e|0,j|0,i|0)|0;w=zs(T|0,S|0,x|0,m|0)|0;w=Ys(w|0,j|0,i|0)|0;r=zs(A|0,M|0,x|0,m|0)|0;r=Ys(r|0,j|0,i|0)|0;m=zs(y|0,E|0,x|0,m|0)|0;m=Ys(m|0,j|0,i|0)|0;x=Xs(1,0,v|0)|0;p=j;I=zs(m|0,((m|0)<0)<<31>>31|0,-1,-1)|0;p=zs(I|0,j|0,x|0,p|0)|0;p=Ys(p|0,j|0,v|0)|0;if((e|0)==(r|0))e=0;else{r=zs(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;x=j;I=Xs(1,0,k|0)|0;I=zs(r|0,x|0,I|0,j|0)|0;I=Ys(I|0,j|0,k|0)|0;e=(I<>k<>k}I=(w|0)==(m|0)?0:(p<>v<>v;h[_+8>>2]=e;h[_+12>>2]=I;e=ue(e,I)|0;if(e>>>0>(h[o>>2]|0)>>>0)h[o>>2]=e;g=g+1|0;if(g>>>0>=(h[L>>2]|0)>>>0)break;else _=_+16|0}}D=D+1|0;if(D>>>0>=(h[C>>2]|0)>>>0)break;else{d=d+52|0;b=b+1080|0}}return}function Fr(e,i,r,t,n,f,a,l,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;var o=0,u=0;o=(h[e+(i*5640|0)+420>>2]|0)+1|0;h[e+(i*5640|0)+500>>2]=h[e+(i*5640|0)+428>>2];h[e+(i*5640|0)+516>>2]=h[e+(i*5640|0)+440>>2];h[e+(i*5640|0)+496>>2]=h[e+(i*5640|0)+424>>2];h[e+(i*5640|0)+512>>2]=h[e+(i*5640|0)+436>>2];h[e+(i*5640|0)+508>>2]=h[e+(i*5640|0)+432>>2];h[e+(i*5640|0)+492>>2]=0;h[e+(i*5640|0)+460>>2]=h[e+(i*5640|0)+456>>2];h[e+(i*5640|0)+504>>2]=0;h[e+(i*5640|0)+520>>2]=a;h[e+(i*5640|0)+524>>2]=r;h[e+(i*5640|0)+528>>2]=t;h[e+(i*5640|0)+532>>2]=n;h[e+(i*5640|0)+536>>2]=f;h[e+(i*5640|0)+540>>2]=l;h[e+(i*5640|0)+544>>2]=s;if(o>>>0<=1)return;e=e+(i*5640|0)+572|0;i=1;while(1){h[e+76>>2]=h[e+4>>2];h[e+92>>2]=h[e+16>>2];h[e+72>>2]=h[e>>2];h[e+88>>2]=h[e+12>>2];u=h[e+8>>2]|0;h[e+84>>2]=u;h[e+36>>2]=h[e+32>>2];h[e+80>>2]=0;h[e+68>>2]=u>>>0>(h[e+-64>>2]|0)>>>0?u:0;h[e+96>>2]=a;h[e+100>>2]=r;h[e+104>>2]=t;h[e+108>>2]=n;h[e+112>>2]=f;h[e+116>>2]=l;h[e+120>>2]=s;i=i+1|0;if((i|0)==(o|0))break;else e=e+148|0}return}function Ur(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=h[i+76>>2]|0;if((e|0)>-1)f=e;else{r=0;return r|0}e:while(1){switch(c[n+f>>0]|0){case 82:{a=3;break e}case 67:{a=5;break e}case 76:{a=7;break e}case 80:{a=9;break e}default:{}}f=f+-1|0}if((a|0)==3)if((h[l+(r*5640|0)+424+(t*148|0)+128>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+88>>2]|0))return(Ur(e+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}else if((a|0)==5)if((h[l+(r*5640|0)+424+(t*148|0)+132>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+92>>2]|0))return(Ur(e+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}else if((a|0)==7)if((h[l+(r*5640|0)+424+(t*148|0)+124>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+84>>2]|0))return(Ur(e+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}else if((a|0)==9){if((h[l+(r*5640|0)+424+(t*148|0)+36>>2]|0)>>>0<2)if((h[l+(r*5640|0)+424+(t*148|0)+136>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+96>>2]|0))return(Ur(f+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}if((h[l+(r*5640|0)+424+(t*148|0)+140>>2]|0)!=(h[l+(r*5640|0)+424+(t*148|0)+104>>2]|0)){r=1;return r|0}if((h[l+(r*5640|0)+424+(t*148|0)+144>>2]|0)==(h[l+(r*5640|0)+424+(t*148|0)+112>>2]|0))return(Ur(f+-1|0,i,r,t,n)|0)!=0|0;else{r=1;return r|0}}return 0}function jr(e){e=e|0;var i=0,r=0;i=Kn(1,44)|0;if(!i){e=0;return e|0}r=i+40|0;c[r>>0]=c[r>>0]&-2|(e|0)!=0;e=Kn(1,4)|0;h[i+20>>2]=e;if(e){r=i;return r|0}Qn(i);r=0;return r|0}function Hr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0.0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0;j=v;v=v+1200|0;U=j;t=h[h[e+20>>2]>>2]|0;F=t+16|0;n=h[F>>2]|0;if(!n){v=j;return}I=t+20|0;B=(h[e+32>>2]|0)+8|0;N=(h[e+28>>2]|0)+88|0;D=e+24|0;x=(i|0)==0;L=(r|0)==0;C=i+-1|0;t=n;R=0;do{l=h[I>>2]|0;s=h[B>>2]|0;P=h[l+(R*52|0)+16>>2]|0;if(s){if(P){e=h[N>>2]|0;f=+((h[(h[(h[D>>2]|0)+24>>2]|0)+(R*52|0)+24>>2]|0)>>>0)*.0625;n=0;do{r=ue(P,n)|0;a=0;do{O=(r+a|0)*3|0;h[U+(n*120|0)+(a*12|0)>>2]=~~(+(h[e+(O<<2)>>2]|0)*f);h[U+(n*120|0)+(a*12|0)+4>>2]=~~(+(h[e+(O+1<<2)>>2]|0)*f);h[U+(n*120|0)+(a*12|0)+8>>2]=~~(+(h[e+(O+2<<2)>>2]|0)*f);a=a+1|0}while(a>>>0

>>0);n=n+1|0}while(n>>>0>>0);O=9}}else O=9;if((O|0)==9){O=0;if(P){y=l+(R*52|0)+24|0;S=0;do{E=h[y>>2]|0;A=E+(S*136|0)+24|0;t=h[A>>2]|0;if(t){M=E+(S*136|0)+16|0;T=E+(S*136|0)+20|0;e=h[T>>2]|0;r=h[M>>2]|0;g=0;do{if(ue(e,r)|0){_=E+(S*136|0)+28+(g*36|0)+20|0;m=U+(i*120|0)+(S*12|0)+(g<<2)|0;p=U+(C*120|0)+(S*12|0)+(g<<2)|0;w=0;do{t=h[_>>2]|0;k=ue(h[t+(w*40|0)+20>>2]|0,h[t+(w*40|0)+16>>2]|0)|0;if(k){u=t+(w*40|0)+24|0;c=h[m>>2]|0;b=0;do{s=h[u>>2]|0;o=s+(b*52|0)|0;d=h[s+(b*52|0)+4>>2]|0;t=(h[(h[(h[D>>2]|0)+24>>2]|0)+(R*52|0)+24>>2]|0)-(h[s+(b*52|0)+28>>2]|0)|0;if(!x){e=h[p>>2]|0;r=c-e|0;if((e|0)<=(t|0)){r=r+(e-t)|0;r=(r|0)<0?0:r}}else{h[s+(b*52|0)+44>>2]=0;r=(c|0)>(t|0)?c-t|0:0}l=s+(b*52|0)+44|0;n=h[l>>2]|0;a=(n|0)==0;if(a)if(!r)r=0;else r=(r*3|0)+-2|0;else r=(r*3|0)+n|0;h[d+(i*24|0)>>2]=r-n;do{if((r|0)!=(n|0)){e=h[s+(b*52|0)+8>>2]|0;t=h[e+((r+-1|0)*24|0)>>2]|0;if(a)h[d+(i*24|0)+16>>2]=h[o>>2];else{s=h[e+((n+-1|0)*24|0)>>2]|0;h[d+(i*24|0)+16>>2]=(h[o>>2]|0)+s;t=t-s|0}h[d+(i*24|0)+4>>2]=t;if(L)break;h[l>>2]=r}}while(0);b=b+1|0}while(b>>>0>>0);e=h[T>>2]|0;r=h[M>>2]|0}w=w+1|0}while(w>>>0<(ue(e,r)|0)>>>0);t=h[A>>2]|0}g=g+1|0}while(g>>>0>>0)}S=S+1|0}while(S>>>0

>>0);t=h[F>>2]|0}}R=R+1|0}while(R>>>0>>0);v=j;return}function Yr(e,i,r,t){e=e|0;i=i|0;r=+r;t=t|0;var n=0,f=0.0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0;e=h[h[e+20>>2]>>2]|0;C=e+40+(i<<3)|0;m[C>>3]=0.0;D=e+16|0;n=h[D>>2]|0;if(!n)return;R=e+20|0;L=(i|0)==0;O=(t|0)==0;e=n;P=0;do{n=h[R>>2]|0;S=h[n+(P*52|0)+16>>2]|0;if(S){g=n+(P*52|0)+24|0;T=0;do{y=h[g>>2]|0;E=y+(T*136|0)+24|0;e=h[E>>2]|0;if(e){A=y+(T*136|0)+16|0;M=y+(T*136|0)+20|0;n=h[M>>2]|0;t=h[A>>2]|0;v=0;do{if(ue(n,t)|0){p=y+(T*136|0)+28+(v*36|0)+20|0;_=0;do{e=h[p>>2]|0;w=ue(h[e+(_*40|0)+20>>2]|0,h[e+(_*40|0)+16>>2]|0)|0;if(w){c=e+(_*40|0)+24|0;k=0;do{s=h[c>>2]|0;o=s+(k*52|0)|0;d=h[s+(k*52|0)+4>>2]|0;b=s+(k*52|0)+44|0;if(L){h[b>>2]=0;u=0}else u=h[b>>2]|0;t=h[s+(k*52|0)+48>>2]|0;if(u>>>0>>0){a=h[s+(k*52|0)+8>>2]|0;e=u;l=u;do{n=h[a+(l*24|0)>>2]|0;f=+m[a+(l*24|0)+8>>3];if(e){I=e+-1|0;f=f-+m[a+(I*24|0)+8>>3];n=n-(h[a+(I*24|0)>>2]|0)|0}do{if(!n){if(!(f!=0.0))break;e=l+1|0}else{if(!(r-f/+(n>>>0)<2.220446049250313e-16))break;e=l+1|0}}while(0);l=l+1|0}while(l>>>0>>0);a=e;h[d+(i*24|0)>>2]=a-u;if((a|0)!=(u|0)){t=a+-1|0;n=h[s+(k*52|0)+8>>2]|0;e=h[n+(t*24|0)>>2]|0;if(!u){h[d+(i*24|0)+16>>2]=h[o>>2];f=+m[n+(t*24|0)+8>>3]}else{u=u+-1|0;I=h[n+(u*24|0)>>2]|0;h[d+(i*24|0)+16>>2]=(h[o>>2]|0)+I;f=+m[n+(t*24|0)+8>>3]-+m[n+(u*24|0)+8>>3];e=e-I|0}h[d+(i*24|0)+4>>2]=e;m[d+(i*24|0)+8>>3]=f;m[C>>3]=f+ +m[C>>3];if(!O)h[b>>2]=a}else x=26}else{h[d+(i*24|0)>>2]=0;x=26}if((x|0)==26){x=0;m[d+(i*24|0)+8>>3]=0.0}k=k+1|0}while(k>>>0>>0);n=h[M>>2]|0;t=h[A>>2]|0}_=_+1|0}while(_>>>0<(ue(n,t)|0)>>>0);e=h[E>>2]|0}v=v+1|0}while(v>>>0>>0)}T=T+1|0}while(T>>>0>>0);e=h[D>>2]|0}P=P+1|0}while(P>>>0>>0);return}function qr(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0.0,s=0.0,o=0.0,u=0.0,b=0.0,k=0.0,w=0,p=0,g=0,y=0,E=0.0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0.0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0;G=v;v=v+800|0;V=G;q=h[e+28>>2]|0;X=h[h[e+20>>2]>>2]|0;z=h[e+32>>2]|0;j=X+24|0;h[j>>2]=0;H=h[X+16>>2]|0;if(!H){f=0;I=0.0;l=0.0;o=1797693134862315708145274.0e284}else{F=h[X+20>>2]|0;U=h[(h[e+24>>2]|0)+24>>2]|0;f=0;Y=0;s=0.0;l=0.0;o=1797693134862315708145274.0e284;do{x=F+(Y*52|0)+48|0;h[x>>2]=0;B=h[F+(Y*52|0)+16>>2]|0;if(!B)a=0;else{N=h[F+(Y*52|0)+24>>2]|0;a=0;D=0;do{R=h[N+(D*136|0)+24>>2]|0;if(R){L=ue(h[N+(D*136|0)+20>>2]|0,h[N+(D*136|0)+16>>2]|0)|0;C=(L|0)==0;O=0;do{if(!C){P=h[N+(D*136|0)+28+(O*36|0)+20>>2]|0;S=0;do{M=ue(h[P+(S*40|0)+20>>2]|0,h[P+(S*40|0)+16>>2]|0)|0;if(M){T=h[P+(S*40|0)+24>>2]|0;A=0;do{g=h[T+(A*52|0)+48>>2]|0;if(g){y=h[T+(A*52|0)+8>>2]|0;p=0;do{w=h[y+(p*24|0)>>2]|0;u=+m[y+(p*24|0)+8>>3];if(p){K=p+-1|0;u=u-+m[y+(K*24|0)+8>>3];w=w-(h[y+(K*24|0)>>2]|0)|0}do{if(w){u=u/+(w|0);o=us))break;s=u}}while(0);p=p+1|0}while(p>>>0>>0)}K=ue((h[T+(A*52|0)+24>>2]|0)-(h[T+(A*52|0)+16>>2]|0)|0,(h[T+(A*52|0)+20>>2]|0)-(h[T+(A*52|0)+12>>2]|0)|0)|0;f=K+f|0;a=K+a|0;A=A+1|0}while(A>>>0>>0);h[j>>2]=f;h[x>>2]=a}S=S+1|0}while(S>>>0>>0)}O=O+1|0}while(O>>>0>>0)}D=D+1|0}while(D>>>0>>0)}I=+(1<>2]|0)+-1.0;l=l+ +(a|0)*(I*I);Y=Y+1|0}while(Y>>>0>>0);I=s}x=(n|0)!=0;if(x){Y=h[e+36>>2]|0;H=h[n+88>>2]|0;h[H+(Y*592|0)+552>>2]=f;m[H+(Y*592|0)+560>>3]=+m[X+32>>3];f=z+8|0;K=Gn(h[f>>2]<<3)|0;h[H+(Y*592|0)>>2]=K;if(!K){K=0;v=G;return K|0}}else f=z+8|0;if(!(h[f>>2]|0)){K=1;v=G;return K|0}M=X+32|0;T=q+93|0;S=e+36|0;P=n+88|0;O=X+40|0;R=e+24|0;L=e+8|0;C=e+16|0;D=0;while(1){s=+_[z+20+(D<<2)>>2];if(s!=0.0){y=~~+oe(+s)>>>0;y=y>>>0>>0?y:t}else y=t;k=+_[z+5184+(D<<2)>>2];E=+m[M>>3]-l/+$(10.0,+(k/10.0));K=c[T>>0]|0;if(!((K&1)!=0&s>0.0)?!((K&4)!=0&k>0.0):0)s=o;else{A=nl(h[R>>2]|0,q)|0;if(!A){f=0;a=57;break}g=D+1|0;a=V+(D+-1<<3)|0;w=X+40+(D<<3)|0;if(!D){b=I;a=0;k=o;u=0.0;do{s=(k+b)*.5;Yr(e,0,s,0);do{if(c[T>>0]&4){if(((d[q>>1]|0)+-3&65535)>=4){K=+m[O>>3]>2]|0,X,g,i,r,y,n,h[L>>2]|0,h[e>>2]|0,h[C>>2]|0,0)|0))k=s;else{K=+m[O>>3]>2]|0,X,g,i,r,y,n,h[L>>2]|0,h[e>>2]|0,h[C>>2]|0,0)|0)==0;b=K?b:s;k=K?s:k;u=K?u:s}}while(0);a=a+1|0}while((a|0)!=128)}else{b=I;p=0;k=o;u=0.0;do{s=(k+b)*.5;Yr(e,D,s,0);do{if(c[T>>0]&4){if(((d[q>>1]|0)+-3&65535)>=4){K=+m[a>>3]+ +m[w>>3]>2]|0,X,g,i,r,y,n,h[L>>2]|0,h[e>>2]|0,h[C>>2]|0,0)|0))k=s;else{K=+m[a>>3]+ +m[w>>3]>2]|0,X,g,i,r,y,n,h[L>>2]|0,h[e>>2]|0,h[C>>2]|0,0)|0)==0;b=K?b:s;k=K?s:k;u=K?u:s}}while(0);p=p+1|0}while((p|0)!=128)}fl(A);s=u==0.0?s:u}if(x)m[(h[(h[P>>2]|0)+((h[S>>2]|0)*592|0)>>2]|0)+(D<<3)>>3]=s;Yr(e,D,s,1);if(!D)s=+m[O>>3];else s=+m[V+(D+-1<<3)>>3]+ +m[X+40+(D<<3)>>3];m[V+(D<<3)>>3]=s;D=D+1|0;if(D>>>0>=(h[f>>2]|0)>>>0){f=1;a=57;break}}if((a|0)==57){v=G;return f|0}return 0}function Xr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;h[e+24>>2]=i;h[e+28>>2]=r;n=Kn(1,848)|0;t=e+20|0;h[h[t>>2]>>2]=n;if(!n){e=0;return e|0}n=i+16|0;f=Kn(h[n>>2]|0,52)|0;i=h[h[t>>2]>>2]|0;h[i+20>>2]=f;if(!f){f=0;return f|0}h[i+16>>2]=h[n>>2];h[e>>2]=h[r+84>>2];f=1;return f|0}function zr(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;if(!e)return;m=e+20|0;i=h[m>>2]|0;do{if(i){_=(c[e+40>>0]&1)==0?3:4;r=h[i>>2]|0;if(r){b=r+20|0;s=r+16|0;if(h[s>>2]|0){u=0;d=h[b>>2]|0;while(1){o=d+24|0;i=h[o>>2]|0;if(i){a=h[d+28>>2]|0;l=(a>>>0)/136|0;if(a>>>0>135){a=0;while(1){f=i+48|0;r=h[f>>2]|0;if(r){t=h[i+52>>2]|0;n=(t>>>0)/40|0;if(t>>>0>39){t=0;while(1){p=r+32|0;ha(h[p>>2]|0);h[p>>2]=0;p=r+36|0;ha(h[p>>2]|0);h[p>>2]=0;Co[_&7](r);t=t+1|0;if(t>>>0>=n>>>0)break;else r=r+40|0}r=h[f>>2]|0}Qn(r);h[f>>2]=0}f=i+84|0;r=h[f>>2]|0;if(r){p=h[i+88>>2]|0;n=(p>>>0)/40|0;if(p>>>0>39){t=0;while(1){p=r+32|0;ha(h[p>>2]|0);h[p>>2]=0;p=r+36|0;ha(h[p>>2]|0);h[p>>2]=0;Co[_&7](r);t=t+1|0;if(t>>>0>=n>>>0)break;else r=r+40|0}r=h[f>>2]|0}Qn(r);h[f>>2]=0}f=i+120|0;r=h[f>>2]|0;if(r){p=h[i+124>>2]|0;n=(p>>>0)/40|0;if(p>>>0>39){t=0;while(1){p=r+32|0;ha(h[p>>2]|0);h[p>>2]=0;p=r+36|0;ha(h[p>>2]|0);h[p>>2]=0;Co[_&7](r);t=t+1|0;if(t>>>0>=n>>>0)break;else r=r+40|0}r=h[f>>2]|0}Qn(r);h[f>>2]=0}a=a+1|0;if(a>>>0>=l>>>0)break;else i=i+136|0}i=h[o>>2]|0}Qn(i);h[o>>2]=0}if((h[d+36>>2]|0)!=0?(k=d+32|0,w=h[k>>2]|0,(w|0)!=0):0){Jn(w);h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;h[k+12>>2]=0}u=u+1|0;if(u>>>0>=(h[s>>2]|0)>>>0)break;else d=d+52|0}}Qn(h[b>>2]|0);h[b>>2]=0;Qn(h[h[m>>2]>>2]|0);i=h[m>>2]|0;h[i>>2]=0;if(!i)break}Qn(i);h[m>>2]=0}}while(0);Qn(e);return}function Vr(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;t=e+32|0;n=h[t>>2]|0;i=e+40|0;r=h[i>>2]|0;if(n){f=e+44|0;if(r>>>0<=(h[f>>2]|0)>>>0){e=1;return e|0}if(h[e+36>>2]|0){Jn(n);n=Wn(h[i>>2]|0)|0;h[t>>2]=n;if(!n){h[f>>2]=0;h[i>>2]=0;h[e+36>>2]=0;e=0;return e|0}else{h[f>>2]=h[i>>2];h[e+36>>2]=1;e=1;return e|0}}}f=Wn(r)|0;h[t>>2]=f;if(!f){e=0;return e|0}h[e+44>>2]=h[i>>2];h[e+36>>2]=1;e=1;return e|0}function Gr(e,i,r){e=e|0;i=i|0;r=r|0;return tt(e,i,1,1.0,52,r)|0}function Kr(e,i,r){e=e|0;i=i|0;r=r|0;return tt(e,i,0,.5,56,r)|0}function Wr(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0;r=h[e+24>>2]|0;n=h[r+16>>2]|0;if(!n){f=0;return f|0}f=0;i=0;t=h[r+24>>2]|0;r=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){l=h[t+24>>2]|0;l=((l&7|0)!=0&1)+(l>>>3)|0;a=h[r+24>>2]|0;e=(h[r+20>>2]|0)+-1|0;i=(ue(ue((l|0)==3?4:l,(h[a+(e*136|0)+8>>2]|0)-(h[a+(e*136|0)>>2]|0)|0)|0,(h[a+(e*136|0)+12>>2]|0)-(h[a+(e*136|0)+4>>2]|0)|0)|0)+i|0;f=f+1|0;if(f>>>0>=n>>>0)break;else{t=t+52|0;r=r+52|0}}return i|0}function Jr(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0;A=v;v=v+16|0;y=A;if(!(h[e+8>>2]|0)){h[e+36>>2]=i;p=e+28|0;a=h[(h[p>>2]|0)+76>>2]|0;E=e+32|0;h[E>>2]=a+(i*5640|0);g=(f|0)==0;m=e+20|0;if(!g){l=h[(h[h[m>>2]>>2]|0)+20>>2]|0;d=h[a+(i*5640|0)+5584>>2]|0;b=l+16|0;if(!(h[b>>2]|0)){l=f+88|0;a=0}else{s=h[l+24>>2]|0;l=f+88|0;o=h[l>>2]|0;u=0;a=0;do{_=s+(u*136|0)+16|0;h[o+(i*592|0)+20+(u<<2)>>2]=h[_>>2];w=s+(u*136|0)+20|0;h[o+(i*592|0)+152+(u<<2)>>2]=h[w>>2];a=(ue(h[w>>2]|0,h[_>>2]|0)|0)+a|0;h[o+(i*592|0)+284+(u<<2)>>2]=h[d+812+(u<<2)>>2];h[o+(i*592|0)+416+(u<<2)>>2]=h[d+944+(u<<2)>>2];u=u+1|0}while(u>>>0<(h[b>>2]|0)>>>0)}_=Kn(ue(ue(h[f+52>>2]|0,a)|0,h[f+56>>2]|0)|0,32)|0;h[(h[l>>2]|0)+(i*592|0)+548>>2]=_;if(!_){e=0;v=A;return e|0}}a=h[h[m>>2]>>2]|0;_=a+16|0;if(!(h[_>>2]|0)){u=h[E>>2]|0;s=0;l=h[a+20>>2]|0}else{u=h[E>>2]|0;l=h[a+20>>2]|0;i=0;k=h[u+5584>>2]|0;w=l;while(1){d=h[w+32>>2]|0;b=ue((h[w+12>>2]|0)-(h[w+4>>2]|0)|0,(h[w+8>>2]|0)-(h[w>>2]|0)|0)|0;a=(b|0)==0;if((h[k+20>>2]|0)==1){if(!a){s=k+1076|0;o=0;a=d;while(1){h[a>>2]=(h[a>>2]|0)-(h[s>>2]|0);o=o+1|0;if((o|0)==(b|0))break;else a=a+4|0}}}else if(!a){s=k+1076|0;o=0;a=d;while(1){h[a>>2]=(h[a>>2]|0)-(h[s>>2]|0)<<11;o=o+1|0;if((o|0)==(b|0))break;else a=a+4|0}}i=i+1|0;s=h[_>>2]|0;if(i>>>0>=s>>>0)break;else{k=k+1080|0;w=w+52|0}}}d=ue((h[l+12>>2]|0)-(h[l+4>>2]|0)|0,(h[l+8>>2]|0)-(h[l>>2]|0)|0)|0;e:do{switch(h[u+16>>2]|0){case 0:break;case 2:{if(h[u+5608>>2]|0){o=Gn(s<<2)|0;if(!o){e=0;v=A;return e|0}a=h[_>>2]|0;if(!a)a=0;else{s=0;while(1){h[o+(s<<2)>>2]=h[l+32>>2];s=s+1|0;if((s|0)==(a|0))break;else l=l+52|0}}_=(Sr(h[(h[E>>2]|0)+5608>>2]|0,d,o,a,h[(h[(h[e+24>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Qn(o);if(_){e=0;v=A;return e|0}}break}default:{s=h[l+32>>2]|0;o=h[l+84>>2]|0;a=h[l+136>>2]|0;if(!(h[(h[u+5584>>2]|0)+20>>2]|0)){Mr(s,o,a,d);break e}else{Er(s,o,a,d);break e}}}}while(0);a=h[h[m>>2]>>2]|0;l=a+16|0;e:do{if(h[l>>2]|0){s=0;o=h[(h[E>>2]|0)+5584>>2]|0;a=h[a+20>>2]|0;i:while(1){switch(h[o+20>>2]|0){case 1:{if(!(Ca(a)|0)){a=0;l=54;break i}break}case 0:{if(!(Ba(a)|0)){a=0;l=54;break i}break}default:{}}s=s+1|0;if(s>>>0>=(h[l>>2]|0)>>>0)break e;else{o=o+1080|0;a=a+52|0}}if((l|0)==54){v=A;return a|0}}}while(0);a=h[E>>2]|0;l=Wa(1)|0;if(!l){e=0;v=A;return e|0}do{if((h[a+16>>2]|0)==1)if(!(h[(h[a+5584>>2]|0)+20>>2]|0)){s=yr()|0;o=3;break}else{s=gr()|0;o=3;break}else{s=h[a+5600>>2]|0;o=h[(h[e+24>>2]|0)+16>>2]|0}}while(0);m=Qa(l,h[h[m>>2]>>2]|0,a,s,o)|0;Ja(l);if(!m){e=0;v=A;return e|0}a=h[p>>2]|0;h[y>>2]=0;if(!g)h[f+12>>2]=0;if(!(c[a+93>>0]&5)){if(h[(h[E>>2]|0)+8>>2]|0){a=0;do{Hr(e,a,1);a=a+1|0}while(a>>>0<(h[(h[E>>2]|0)+8>>2]|0)>>>0)}}else if(!(qr(e,r,y,n,f)|0)){e=0;v=A;return e|0}}if(f)h[f+12>>2]=1;a=nl(h[e+24>>2]|0,h[e+28>>2]|0)|0;if(!a)a=1;else{e=rl(a,h[e+36>>2]|0,h[h[e+20>>2]>>2]|0,h[(h[e+32>>2]|0)+8>>2]|0,r,t,n,f,h[e+4>>2]|0,h[e>>2]|0,h[e+16>>2]|0,1)|0;fl(a);a=(e|0)==0}e=a&1^1;v=A;return e|0}function Zr(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,m=0,p=0;p=v;v=v+16|0;o=p+8|0;s=p;l=p+12|0;a=e+36|0;h[a>>2]=t;m=h[e+28>>2]|0;d=e+32|0;h[d>>2]=(h[m+76>>2]|0)+(t*5640|0);h[l>>2]=0;c=e+24|0;t=nl(h[c>>2]|0,m)|0;if(!t){m=0;v=p;return m|0}u=e+20|0;m=tl(t,h[a>>2]|0,h[h[u>>2]>>2]|0,i,l,r,n,f)|0;fl(t);if(!m){m=0;v=p;return m|0}t=h[h[u>>2]>>2]|0;e=h[(h[d>>2]|0)+5584>>2]|0;a=h[t+20>>2]|0;r=Wa(0)|0;if(!r){m=0;v=p;return m|0}l=t+16|0;e:do{if(h[l>>2]|0){n=0;t=a;while(1){if(!(Za(r,t,e)|0))break;n=n+1|0;if(n>>>0>=(h[l>>2]|0)>>>0)break e;else{e=e+1080|0;t=t+52|0}}Ja(r);m=0;v=p;return m|0}}while(0);Ja(r);t=h[h[u>>2]>>2]|0;a=t+16|0;do{if(h[a>>2]|0){l=0;n=h[(h[c>>2]|0)+24>>2]|0;r=h[(h[d>>2]|0)+5584>>2]|0;e=h[t+20>>2]|0;while(1){t=(h[n+36>>2]|0)+1|0;if((h[r+20>>2]|0)==1){if(!(Da(e,t)|0)){t=0;e=49;break}}else if(!(ja(e,t)|0)){t=0;e=49;break}l=l+1|0;if(l>>>0>=(h[a>>2]|0)>>>0){e=14;break}else{n=n+52|0;r=r+1080|0;e=e+52|0}}if((e|0)==14){t=h[h[u>>2]>>2]|0;break}else if((e|0)==49){v=p;return t|0}}}while(0);l=h[d>>2]|0;e=h[t+20>>2]|0;a=h[l+16>>2]|0;do{if(a){i=ue((h[e+12>>2]|0)-(h[e+4>>2]|0)|0,(h[e+8>>2]|0)-(h[e>>2]|0)|0)|0;r=t+16|0;t=h[r>>2]|0;if(t>>>0<=2){h[o>>2]=t;Zt(f,1,19703,o)|0;break}if((ue((h[e+64>>2]|0)-(h[e+56>>2]|0)|0,(h[e+60>>2]|0)-(h[e+52>>2]|0)|0)|0)>=(i|0)?(ue((h[e+116>>2]|0)-(h[e+108>>2]|0)|0,(h[e+112>>2]|0)-(h[e+104>>2]|0)|0)|0)>=(i|0):0){if((a|0)!=2){t=h[e+32>>2]|0;if((h[(h[l+5584>>2]|0)+20>>2]|0)==1){Ar(t,h[e+84>>2]|0,h[e+136>>2]|0,i);break}else{Tr(t,h[e+84>>2]|0,h[e+136>>2]|0,i);break}}n=l+5604|0;if(!(h[n>>2]|0))break;l=Gn(t<<2)|0;if(!l){m=0;v=p;return m|0}t=h[r>>2]|0;if(!t)t=0;else{a=0;while(1){h[l+(a<<2)>>2]=h[e+32>>2];a=a+1|0;if((a|0)==(t|0))break;else e=e+52|0}}m=(Pr(h[n>>2]|0,i,l,t,h[(h[(h[c>>2]|0)+24>>2]|0)+32>>2]|0)|0)==0;Qn(l);if(m)t=0;else break;v=p;return t|0}Zt(f,1,19642,s)|0;m=0;v=p;return m|0}}while(0);t=h[h[u>>2]>>2]|0;w=t+16|0;if(!(h[w>>2]|0)){m=1;v=p;return m|0}m=0;k=h[(h[c>>2]|0)+24>>2]|0;b=h[(h[d>>2]|0)+5584>>2]|0;d=h[t+20>>2]|0;while(1){c=h[d+24>>2]|0;f=h[k+36>>2]|0;a=h[c+(f*136|0)+8>>2]|0;l=h[c+(f*136|0)>>2]|0;u=a-l|0;n=h[c+(f*136|0)+12>>2]|0;f=h[c+(f*136|0)+4>>2]|0;c=(h[d+8>>2]|0)-(h[d>>2]|0)-u|0;t=h[k+24>>2]|0;if(!(h[k+32>>2]|0)){t=1<>2]|0;e=(n|0)==(f|0);if((h[b+20>>2]|0)==1){if(!e){r=(a|0)==(l|0);i=b+1076|0;l=n-f|0;n=0;while(1){if(!r){e=0;a=t;while(1){f=(h[i>>2]|0)+(h[a>>2]|0)|0;h[a>>2]=(f|0)<(o|0)?o:(f|0)>(s|0)?s:f;e=e+1|0;if((e|0)==(u|0))break;else a=a+4|0}t=t+(u<<2)|0}n=n+1|0;if((n|0)==(l|0))break;else t=t+(c<<2)|0}}}else if(!e){r=(a|0)==(l|0);i=b+1076|0;l=n-f|0;n=0;while(1){if(!r){e=0;a=t;while(1){f=xl(+_[a>>2])|0;f=(h[i>>2]|0)+f|0;h[a>>2]=(f|0)<(o|0)?o:(f|0)>(s|0)?s:f;e=e+1|0;if((e|0)==(u|0))break;else a=a+4|0}t=t+(u<<2)|0}n=n+1|0;if((n|0)==(l|0))break;else t=t+(c<<2)|0}}m=m+1|0;if(m>>>0>=(h[w>>2]|0)>>>0){t=1;break}else{k=k+52|0;b=b+1080|0;d=d+52|0}}v=p;return t|0}function Qr(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0;w=e+24|0;o=h[w>>2]|0;n=h[o+16>>2]|0;s=(n|0)==0;if(s){w=1;return w|0}f=0;t=0;a=h[o+24>>2]|0;l=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){u=h[a+24>>2]|0;u=((u&7|0)!=0&1)+(u>>>3)|0;b=h[l+24>>2]|0;k=(h[l+20>>2]|0)+-1|0;t=(ue(ue((u|0)==3?4:u,(h[b+(k*136|0)+8>>2]|0)-(h[b+(k*136|0)>>2]|0)|0)|0,(h[b+(k*136|0)+12>>2]|0)-(h[b+(k*136|0)+4>>2]|0)|0)|0)+t|0;f=f+1|0;if((f|0)==(n|0))break;else{a=a+52|0;l=l+52|0}}t=t>>>0>r>>>0;if(t|s){w=t&1^1;return w|0}k=0;b=h[o+24>>2]|0;u=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){s=h[b+24>>2]|0;e=h[u+24>>2]|0;r=h[b+36>>2]|0;f=h[e+(r*136|0)+8>>2]|0;a=h[e+(r*136|0)>>2]|0;o=f-a|0;l=h[e+(r*136|0)+12>>2]|0;r=h[e+(r*136|0)+4>>2]|0;e=(h[u+8>>2]|0)-(h[u>>2]|0)-o|0;s=((s&7|0)!=0&1)+(s>>>3)|0;e:do{switch(((s|0)==3?4:s)|0){case 1:{t=h[u+32>>2]|0;n=(l|0)==(r|0);if(!(h[b+32>>2]|0)){if(n)break e;s=(f|0)==(a|0);l=l-r|0;r=0;while(1){if(!s){a=i+o|0;f=0;n=t;while(1){c[i>>0]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+1|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}else{if(n)break e;s=(f|0)==(a|0);l=l-r|0;r=0;while(1){if(!s){a=i+o|0;f=0;n=t;while(1){c[i>>0]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+1|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}break}case 2:{t=h[u+32>>2]|0;n=(l|0)==(r|0);if(!(h[b+32>>2]|0)){if(!n){s=(f|0)==(a|0);l=l-r|0;r=0;while(1){if(!s){a=i+(o<<1)|0;f=0;n=t;while(1){d[i>>1]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+2|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}}else if(!n){s=(f|0)==(a|0);l=l-r|0;r=0;while(1){if(!s){a=i+(o<<1)|0;f=0;n=t;while(1){d[i>>1]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+2|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}break}case 4:{if((l|0)!=(r|0)){s=(f|0)==(a|0);l=l-r|0;r=0;t=h[u+32>>2]|0;while(1){if(!s){a=i+(o<<2)|0;f=0;n=t;while(1){h[i>>2]=h[n>>2];f=f+1|0;if((f|0)==(o|0))break;else{i=i+4|0;n=n+4|0}}i=a;t=t+(o<<2)|0}r=r+1|0;if((r|0)==(l|0))break;else t=t+(e<<2)|0}}break}default:{}}}while(0);k=k+1|0;if(k>>>0>=(h[(h[w>>2]|0)+16>>2]|0)>>>0){i=1;break}else{b=b+52|0;u=u+52|0}}return i|0}function $r(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;r=h[e+24>>2]|0;n=h[r+16>>2]|0;if(!n){f=0;return f|0}f=0;i=0;t=h[r+24>>2]|0;r=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){e=h[t+24>>2]|0;e=((e&7|0)!=0&1)+(e>>>3)|0;i=(ue(ue((h[r+12>>2]|0)-(h[r+4>>2]|0)|0,(h[r+8>>2]|0)-(h[r>>2]|0)|0)|0,(e|0)==3?4:e)|0)+i|0;f=f+1|0;if(f>>>0>=n>>>0)break;else{t=t+52|0;r=r+52|0}}return i|0}function et(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,w=0;o=h[e+24>>2]|0;w=o+16|0;n=h[w>>2]|0;s=(n|0)==0;if(s)t=0;else{f=0;t=0;a=h[o+24>>2]|0;l=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){u=h[a+24>>2]|0;u=((u&7|0)!=0&1)+(u>>>3)|0;t=(ue(ue((h[l+12>>2]|0)-(h[l+4>>2]|0)|0,(h[l+8>>2]|0)-(h[l>>2]|0)|0)|0,(u|0)==3?4:u)|0)+t|0;f=f+1|0;if((f|0)==(n|0))break;else{a=a+52|0;l=l+52|0}}}t=(t|0)!=(r|0);if(t|s){w=t&1^1;return w|0}u=0;s=h[o+24>>2]|0;r=h[(h[h[e+20>>2]>>2]|0)+20>>2]|0;while(1){e=h[s+24>>2]|0;t=(h[r+8>>2]|0)-(h[r>>2]|0)|0;n=(h[r+12>>2]|0)-(h[r+4>>2]|0)|0;l=ue(n,t)|0;e=((e&7|0)!=0&1)+(e>>>3)|0;e:do{switch(((e|0)==3?4:e)|0){case 1:{n=h[r+32>>2]|0;t=(l|0)==0;if(!(h[s+32>>2]|0)){if(t)break e;else{f=0;t=n;n=i}while(1){h[t>>2]=b[n>>0];f=f+1|0;if((f|0)==(l|0))break;else{t=t+4|0;n=n+1|0}}i=i+l|0;break e}else{if(t)break e;else{f=0;t=n;n=i}while(1){h[t>>2]=c[n>>0];f=f+1|0;if((f|0)==(l|0))break;else{t=t+4|0;n=n+1|0}}i=i+l|0;break e}}case 2:{a=h[r+32>>2]|0;f=(l|0)==0;if(!(h[s+32>>2]|0)){if(!f){f=i+(ue(n<<1,t)|0)|0;n=0;t=a;while(1){h[t>>2]=k[i>>1];n=n+1|0;if((n|0)==(l|0))break;else{t=t+4|0;i=i+2|0}}i=f}}else if(!f){f=i+(ue(n<<1,t)|0)|0;n=0;t=a;while(1){h[t>>2]=d[i>>1];n=n+1|0;if((n|0)==(l|0))break;else{t=t+4|0;i=i+2|0}}i=f}break}case 4:{if(l){f=i+(ue(n<<2,t)|0)|0;t=0;n=h[r+32>>2]|0;while(1){h[n>>2]=h[i>>2];t=t+1|0;if((t|0)==(l|0))break;else{n=n+4|0;i=i+4|0}}i=f}break}default:{}}}while(0);u=u+1|0;if(u>>>0>=(h[w>>2]|0)>>>0){i=1;break}else{s=s+52|0;r=r+52|0}}return i|0}function it(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;f=e+24|0;i=h[f>>2]|0;if(!i)return;n=h[e+28>>2]|0;t=(n>>>0)/52|0;if(n>>>0>51){n=0;while(1){e=h[i>>2]|0;if(e){Qn(e+-1|0);h[i>>2]=0}e=i+4|0;r=h[e>>2]|0;if(r){Qn(r);h[e>>2]=0}e=i+8|0;r=h[e>>2]|0;if(r){Qn(r);h[e>>2]=0}n=n+1|0;if(n>>>0>=t>>>0)break;else i=i+52|0}i=h[f>>2]|0}Qn(i);h[f>>2]=0;return}function rt(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;f=e+24|0;i=h[f>>2]|0;if(!i)return;n=h[e+28>>2]|0;t=(n>>>0)/56|0;if(n>>>0>55){n=0;while(1){e=h[i>>2]|0;if(e){Qn(e);h[i>>2]=0}r=i+4|0;e=h[r>>2]|0;if(e){Qn(e);h[r>>2]=0}n=n+1|0;if(n>>>0>=t>>>0)break;else i=i+56|0}i=h[f>>2]|0}Qn(i);h[f>>2]=0;return}function tt(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=+t;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0,Re=0,Le=0,Ce=0,De=0,xe=0,Ie=0,Be=0,Ne=0,Fe=0,Ue=0,je=0,He=0,Ye=0,qe=0,Xe=0,ze=0.0;Xe=v;v=v+80|0;Ne=Xe+64|0;Be=Xe+56|0;Ue=Xe+48|0;He=Xe+40|0;je=Xe+32|0;Ye=Xe+24|0;Fe=Xe+16|0;Ie=Xe+8|0;a=h[e+28>>2]|0;xe=h[h[e+20>>2]>>2]|0;d=h[(h[a+76>>2]|0)+(i*5640|0)+5584>>2]|0;b=h[xe+20>>2]|0;o=h[e+24>>2]|0;u=h[o+24>>2]|0;Le=h[a+24>>2]|0;s=h[a+12>>2]|0;De=(ue(s,(i>>>0)%(Le>>>0)|0)|0)+(h[a+4>>2]|0)|0;l=h[o>>2]|0;l=De>>>0>l>>>0?De:l;h[xe>>2]=l;De=zs(s|0,0,De|0,0)|0;De=De|0-j;s=h[o+8>>2]|0;s=De>>>0>>0?De:s;De=xe+8|0;h[De>>2]=s;Ce=h[a+16>>2]|0;Le=(ue(Ce,(i>>>0)/(Le>>>0)|0)|0)+(h[a+8>>2]|0)|0;i=h[o+4>>2]|0;i=Le>>>0>i>>>0?Le:i;Re=xe+4|0;h[Re>>2]=i;Le=zs(Ce|0,0,Le|0,0)|0;Le=Le|0-j;o=h[o+12>>2]|0;o=Le>>>0>>0?Le:o;Le=xe+12|0;h[Le>>2]=o;if(!(h[d+4>>2]|0)){Zt(f,1,19777,Xe)|0;qe=0;v=Xe;return qe|0}Ce=xe+16|0;if(!(h[Ce>>2]|0)){qe=1;v=Xe;return qe|0}Oe=a+80|0;Pe=e+40|0;Se=(r|0)==0;a=i;Te=0;e:while(1){h[u+36>>2]=0;ge=h[u>>2]|0;i=(l+-1+ge|0)/(ge|0)|0;h[b>>2]=i;ye=h[u+4>>2]|0;a=(a+-1+ye|0)/(ye|0)|0;Me=b+4|0;h[Me>>2]=a;ge=(s+-1+ge|0)/(ge|0)|0;Ae=b+8|0;h[Ae>>2]=ge;ye=(o+-1+ye|0)/(ye|0)|0;Ee=b+12|0;h[Ee>>2]=ye;i=ge-i|0;a=ye-a|0;if((4294967295/(i>>>0)|0)>>>0>>0){qe=6;break}i=ue(a,i)|0;if(i>>>0>1073741823){qe=8;break}s=i<<2;ge=h[d+4>>2]|0;ye=b+16|0;h[ye>>2]=ge;e=h[Oe>>2]|0;h[b+20>>2]=ge>>>0>>0?1:ge-e|0;e=b+40|0;h[e>>2]=s;do{if(c[Pe>>0]&1){r=b+32|0;l=h[r>>2]|0;if(l){a=b+44|0;if(s>>>0<=(h[a>>2]|0)>>>0)break;i=b+36|0;if(h[i>>2]|0){Jn(l);ge=Wn(h[e>>2]|0)|0;h[r>>2]=ge;if(!ge){qe=16;break e}h[a>>2]=h[e>>2];h[i>>2]=1;break}}ge=Wn(s)|0;h[r>>2]=ge;if(!ge)break e;h[b+44>>2]=h[e>>2];h[b+36>>2]=1}}while(0);r=(h[ye>>2]|0)*136|0;a=b+24|0;e=h[a>>2]|0;if(e){i=b+28|0;if(r>>>0>(h[i>>2]|0)>>>0){e=Zn(e,r)|0;if(!e){qe=24;break}h[a>>2]=e;ge=h[i>>2]|0;qs(e+ge|0,0,r-ge|0)|0;h[i>>2]=r}}else{i=Gn(r)|0;h[a>>2]=i;if(!i){i=0;qe=87;break}h[b+28>>2]=r;qs(i|0,0,r|0)|0}i=h[ye>>2]|0;ge=(h[d+20>>2]|0)==0?7:8;if(i){_e=d+8|0;me=d+12|0;pe=u+24|0;ve=d+804|0;we=h[a>>2]|0;a=d+28|0;e=0;while(1){be=i;ke=i+-1|0;ce=h[b>>2]|0;de=Xs(1,0,ke|0)|0;de=zs(de|0,j|0,-1,-1)|0;he=j;ce=zs(de|0,he|0,ce|0,((ce|0)<0)<<31>>31|0)|0;ce=Ys(ce|0,j|0,ke|0)|0;h[we>>2]=ce;r=h[Me>>2]|0;r=zs(de|0,he|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Ys(r|0,j|0,ke|0)|0;h[we+4>>2]=r;i=h[Ae>>2]|0;i=zs(de|0,he|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ys(i|0,j|0,ke|0)|0;h[we+8>>2]=i;l=h[Ee>>2]|0;l=zs(de|0,he|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Ys(l|0,j|0,ke|0)|0;h[we+12>>2]=l;k=h[d+812+(e<<2)>>2]|0;o=h[d+944+(e<<2)>>2]|0;w=ce>>k<>o<>31|0)|0;s=Ys(s|0,j|0,o|0)|0;if((ce|0)==(i|0))i=0;else{ce=Xs(1,0,k|0)|0;ce=zs(ce|0,j|0,-1,-1)|0;i=zs(ce|0,j|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ys(i|0,j|0,k|0)|0;i=(i<>k}ce=we+16|0;h[ce>>2]=i;le=(r|0)==(l|0)?0:(s<>o;h[we+20>>2]=le;le=ue(le,i)|0;se=le*40|0;oe=(e|0)==0;if(oe)i=1;else{w=zs(w|0,((w|0)<0)<<31>>31|0,1,0)|0;w=Vs(w|0,j|0,1)|0;m=zs(m|0,((m|0)<0)<<31>>31|0,1,0)|0;m=Vs(m|0,j|0,1)|0;i=3;o=o+-1|0;k=k+-1|0}ae=we+24|0;h[ae>>2]=i;X=h[_e>>2]|0;X=X>>>0>>0?X:k;z=h[me>>2]|0;z=z>>>0>>0?z:o;V=(le|0)!=0;G=(le|0)==0;K=1<>2]|0;i=zs(de|0,he|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ys(i|0,j|0,ke|0)|0;a=h[Me>>2]|0;a=zs(de|0,he|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ys(a|0,j|0,ke|0)|0;r=h[Ae>>2]|0;r=zs(de|0,he|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Ys(r|0,j|0,ke|0)|0;s=h[Ee>>2]|0;s=zs(de|0,he|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Ys(s|0,j|0,ke|0)|0;l=0}else{l=ne+1|0;i=h[b>>2]|0;U=Xs(l&1|0,0,ke|0)|0;U=Hs(re|0,te|0,U|0,j|0)|0;s=j;i=zs(U|0,s|0,i|0,((i|0)<0)<<31>>31|0)|0;i=Ys(i|0,j|0,be|0)|0;a=h[Me>>2]|0;H=Xs(l>>>1|0,0,ke|0)|0;H=Hs(re|0,te|0,H|0,j|0)|0;Y=j;a=zs(H|0,Y|0,a|0,((a|0)<0)<<31>>31|0)|0;a=Ys(a|0,j|0,be|0)|0;r=h[Ae>>2]|0;r=zs(U|0,s|0,r|0,((r|0)<0)<<31>>31|0)|0;r=Ys(r|0,j|0,be|0)|0;s=h[Ee>>2]|0;s=zs(H|0,Y|0,s|0,((s|0)<0)<<31>>31|0)|0;s=Ys(s|0,j|0,be|0)|0}h[fe+16>>2]=l;h[fe>>2]=i;Y=fe+4|0;h[Y>>2]=a;H=fe+8|0;h[H>>2]=r;U=fe+12|0;h[U>>2]=s;a=Io[ge&15](l)|0;ze=+(h[q+4>>2]|0)*.00048828125+1.0;ze=+Dl(1.0,(h[pe>>2]|0)+a-(h[q>>2]|0)|0)*ze*t;_[fe+32>>2]=ze;h[fe+28>>2]=(h[q>>2]|0)+-1+(h[ve>>2]|0);a=fe+20|0;r=h[a>>2]|0;if(!(V&(r|0)==0)){i=fe+24|0;if((h[i>>2]|0)>>>0>>0){r=Zn(r,se)|0;if(!r){qe=41;break e}h[a>>2]=r;F=h[i>>2]|0;qs(r+F|0,0,se-F|0)|0;h[i>>2]=se}}else{i=Gn(se)|0;h[a>>2]=i;if(!i){i=0;qe=87;break e}qs(i|0,0,se|0)|0;h[fe+24>>2]=se}if(!G){N=h[a>>2]|0;F=0;while(1){R=h[ce>>2]|0;x=(((F>>>0)%(R>>>0)|0)<>>0)/(R>>>0)|0)<>2]|0;D=(x|0)>(D|0)?x:D;h[N>>2]=D;x=h[Y>>2]|0;x=(R|0)>(x|0)?R:x;R=N+4|0;h[R>>2]=x;B=h[H>>2]|0;B=(L|0)<(B|0)?L:B;L=N+8|0;h[L>>2]=B;l=h[U>>2]|0;l=(C|0)<(l|0)?C:l;C=N+12|0;h[C>>2]=l;D=D>>X<>z<>31|0)|0;B=Ys(B|0,j|0,X|0)|0;l=zs(Q|0,$|0,l|0,((l|0)<0)<<31>>31|0)|0;l=Ys(l|0,j|0,z|0)|0;B=(B<>X;I=N+16|0;h[I>>2]=B;l=(l<>z;p=N+20|0;h[p>>2]=l;B=ue(l,B)|0;l=ue(B,n)|0;a=N+24|0;r=h[a>>2]|0;do{if((r|0)==0&(B|0)!=0){i=Gn(l)|0;h[a>>2]=i;if(!i){i=0;qe=87;break e}qs(i|0,0,l|0)|0;h[N+28>>2]=l}else{i=N+28|0;if(l>>>0<=(h[i>>2]|0)>>>0)break;r=Zn(r,l)|0;if(!r){qe=50;break e}h[a>>2]=r;O=h[i>>2]|0;qs(r+O|0,0,l-O|0)|0;h[i>>2]=l}}while(0);s=N+32|0;i=h[s>>2]|0;r=h[I>>2]|0;l=h[p>>2]|0;if(!i)i=nt(r,l,f)|0;else i=da(i,r,l,f)|0;h[s>>2]=i;if(!i)Zt(f,2,19990,Be)|0;s=N+36|0;r=h[s>>2]|0;l=h[I>>2]|0;i=h[p>>2]|0;if(!r)i=nt(l,i,f)|0;else i=da(r,l,i,f)|0;h[s>>2]=i;if(!i)Zt(f,2,20012,Ne)|0;if(B){O=0;do{T=h[I>>2]|0;M=(((O>>>0)%(T>>>0)|0)<>>0)/(T>>>0)|0)<>2]|0;r=i+(O*56|0)|0;l=h[r>>2]|0;if(!l){A=Gn(8192)|0;h[r>>2]=A;if(!A){i=0;qe=87;break e}h[i+(O*56|0)+32>>2]=8192;A=Kn(10,32)|0;h[i+(O*56|0)+4>>2]=A;if(!A){i=0;qe=87;break e}h[i+(O*56|0)+52>>2]=10}else{s=i+(O*56|0)+32|0;p=h[s>>2]|0;g=i+(O*56|0)+4|0;y=h[g>>2]|0;E=r;A=E+52|0;do{h[E>>2]=0;E=E+4|0}while((E|0)<(A|0));h[r>>2]=l;h[s>>2]=p;h[g>>2]=y}A=h[N>>2]|0;h[i+(O*56|0)+8>>2]=(M|0)>(A|0)?M:A;M=h[R>>2]|0;h[i+(O*56|0)+12>>2]=(T|0)>(M|0)?T:M;T=h[L>>2]|0;h[i+(O*56|0)+16>>2]=(S|0)<(T|0)?S:T;S=h[C>>2]|0;h[i+(O*56|0)+20>>2]=(P|0)<(S|0)?P:S}else{r=h[a>>2]|0;i=r+(O*52|0)+4|0;if((h[i>>2]|0)==0?(A=Kn(100,24)|0,h[i>>2]=A,(A|0)==0):0){i=0;qe=87;break e}i=r+(O*52|0)+8|0;if((h[i>>2]|0)==0?(A=Kn(100,24)|0,h[i>>2]=A,(A|0)==0):0){i=0;qe=87;break e}s=h[N>>2]|0;s=(M|0)>(s|0)?M:s;h[r+(O*52|0)+12>>2]=s;i=h[R>>2]|0;T=(T|0)>(i|0)?T:i;h[r+(O*52|0)+16>>2]=T;i=h[L>>2]|0;i=(S|0)<(i|0)?S:i;h[r+(O*52|0)+20>>2]=i;S=h[C>>2]|0;P=(P|0)<(S|0)?P:S;h[r+(O*52|0)+24>>2]=P;s=ue(P-T|0,i-s<<2)|0;i=r+(O*52|0)+36|0;if(s>>>0<=(h[i>>2]|0)>>>0)break;l=r+(O*52|0)|0;r=h[l>>2]|0;if(r)Qn(r+-1|0);r=Gn(s|1)|0;h[l>>2]=r;if(!r){qe=74;break e}h[i>>2]=s;c[r>>0]=0;h[l>>2]=(h[l>>2]|0)+1}}while(0);O=O+1|0}while(O>>>0>>0)}F=F+1|0;if(F>>>0>=le>>>0)break;else N=N+40|0}}a=q+8|0;ne=ne+1|0;if(ne>>>0>=(h[ae>>2]|0)>>>0)break;else{fe=fe+36|0;q=a}}e=e+1|0;if(e>>>0<(h[ye>>2]|0)>>>0){i=ke;we=we+136|0}else break}}i=Te+1|0;if(i>>>0>=(h[Ce>>2]|0)>>>0){i=1;qe=87;break}l=h[xe>>2]|0;a=h[Re>>2]|0;s=h[De>>2]|0;o=h[Le>>2]|0;Te=i;u=u+52|0;d=d+1080|0;b=b+52|0}if((qe|0)==6){Zt(f,1,19816,Ie)|0;qe=0;v=Xe;return qe|0}else if((qe|0)==8){Zt(f,1,19816,Fe)|0;qe=0;v=Xe;return qe|0}else if((qe|0)==16){h[a>>2]=0;h[e>>2]=0;h[i>>2]=0}else if((qe|0)==24){Zt(f,1,19849,je)|0;Qn(h[a>>2]|0);h[a>>2]=0;h[i>>2]=0;qe=0;v=Xe;return qe|0}else if((qe|0)==41){Zt(f,1,19889,He)|0;Qn(h[a>>2]|0);h[a>>2]=0;h[i>>2]=0;qe=0;v=Xe;return qe|0}else if((qe|0)==50){Qn(h[a>>2]|0);h[a>>2]=0;h[i>>2]=0;Zt(f,1,19932,Ue)|0;qe=0;v=Xe;return qe|0}else if((qe|0)==74){h[i>>2]=0;qe=0;v=Xe;return qe|0}else if((qe|0)==87){v=Xe;return i|0}Zt(f,1,19816,Ye)|0;qe=0;v=Xe;return qe|0}function nt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;g=v;v=v+288|0;o=g+16|0;l=g+8|0;m=g+152|0;p=g+24|0;t=Kn(1,20)|0;if(!t){Zt(r,1,20034,g)|0;p=0;v=g;return p|0}h[t>>2]=e;u=t+4|0;h[u>>2]=i;h[m>>2]=e;h[p>>2]=i;s=t+8|0;h[s>>2]=0;n=0;a=0;while(1){_=ue(i,e)|0;e=(e+1|0)/2|0;f=a+1|0;h[m+(f<<2)>>2]=e;i=(i+1|0)/2|0;h[p+(f<<2)>>2]=i;n=n+_|0;if(_>>>0<=1)break;else a=f}h[s>>2]=n;if(!n){Qn(t);Zt(r,2,20072,l)|0;p=0;v=g;return p|0}n=Kn(n,16)|0;h[t+12>>2]=n;if(!n){Zt(r,1,20122,o)|0;Qn(t);p=0;v=g;return p|0}_=h[s>>2]|0;h[t+16>>2]=_<<4;i=n+((ue(h[u>>2]|0,h[t>>2]|0)|0)<<4)|0;if(!a)i=n;else{w=0;f=i;e=i;i=n;do{b=h[p+(w<<2)>>2]|0;e:do{if((b|0)>0){k=h[m+(w<<2)>>2]|0;if((k|0)<=0){s=b+-1|0;r=0;while(1){d=(r&1|0)!=0|(r|0)==(s|0);l=d?f:e;e=d?f:e+(k<<4)|0;r=r+1|0;if((r|0)>=(b|0)){f=l;break e}else f=l}}d=((k+2+((k|0)<2?~k:-3)|0)>>>1)+1|0;u=b+-1|0;c=0;do{r=k;o=f;while(1){h[i>>2]=o;l=i+16|0;s=r;r=r+-2|0;if((r|0)>-1){h[l>>2]=o;i=i+32|0}else i=l;if((s|0)<=2)break;else o=o+16|0}o=f+(d<<4)|0;r=(c&1|0)!=0|(c|0)==(u|0);f=r?o:e;e=r?o:e+(k<<4)|0;c=c+1|0}while((c|0)<(b|0))}}while(0);w=w+1|0}while((w|0)!=(a|0))}h[i>>2]=0;if(!_){p=t;v=g;return p|0}else i=0;while(1){h[n+4>>2]=999;h[n+8>>2]=0;h[n+12>>2]=0;i=i+1|0;if((i|0)==(_|0))break;else n=n+16|0}v=g;return t|0}function ft(e){e=e|0;var i=0,r=0;if(!e)return;i=h[e+8>>2]|0;if(!i)return;r=0;e=h[e+12>>2]|0;while(1){h[e+4>>2]=999;h[e+8>>2]=0;h[e+12>>2]=0;r=r+1|0;if(r>>>0>=i>>>0)break;else e=e+16|0}return}function at(e){e=e|0;var i=0;i=v;v=v+e|0;v=v+15&-16;return i|0}function lt(){return v|0}function st(e){e=e|0;v=e}function ot(e,i){e=e|0;i=i|0;v=e;g=i}function ut(e,i){e=e|0;i=i|0;if(!M){M=e;T=i}}function ct(e){e=e|0;c[y>>0]=c[e>>0];c[y+1>>0]=c[e+1>>0];c[y+2>>0]=c[e+2>>0];c[y+3>>0]=c[e+3>>0]}function dt(e){e=e|0;c[y>>0]=c[e>>0];c[y+1>>0]=c[e+1>>0];c[y+2>>0]=c[e+2>>0];c[y+3>>0]=c[e+3>>0];c[y+4>>0]=c[e+4>>0];c[y+5>>0]=c[e+5>>0];c[y+6>>0]=c[e+6>>0];c[y+7>>0]=c[e+7>>0]}function ht(e){e=e|0;j=e}function bt(){return j|0}function kt(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,c=0,d=0;d=v;v=v+8272|0;s=d+16|0;u=d+12|0;l=d;h[u>>2]=0;if((h[e>>2]|0)==1375686655)c=dn(0)|0;else c=dn(2)|0;ln(c,1,0)|0;sn(c,2,0)|0;on(c,3,0)|0;hn(s);h[l>>2]=e;h[l+4>>2]=e;h[l+8>>2]=i;o=un(l,1)|0;if(!(bn(c,s)|0)){hs(4476)|0;Bt(o);Ln(c);f=1;v=d;return f|0}if(!(kn(o,c,u)|0)){hs(4528)|0;Bt(o);Ln(c);tn(h[u>>2]|0);f=1;v=d;return f|0}if(!(vn(c,o,h[u>>2]|0,h[s+8228>>2]|0)|0)){hs(4578)|0;Ln(c);Bt(o);tn(h[u>>2]|0);f=1;v=d;return f|0}l=h[u>>2]|0;h[n>>2]=h[l+8>>2];h[f>>2]=h[l+12>>2];e=h[l+16>>2]|0;h[a>>2]=e;e=ue(ue(e<<2,h[n>>2]|0)|0,h[f>>2]|0)|0;h[t>>2]=e;t=Cs(e)|0;h[r>>2]=t;switch(h[a>>2]|0){case 1:{Gs(t|0,h[(h[l+24>>2]|0)+44>>2]|0,e|0)|0;break}case 3:{if((ue(h[f>>2]|0,h[n>>2]|0)|0)>0){i=h[l+24>>2]|0;l=h[i+44>>2]|0;e=h[i+96>>2]|0;i=h[i+148>>2]|0;s=0;do{a=s*3|0;h[t+(a<<2)>>2]=h[l+(s<<2)>>2];h[t+(a+1<<2)>>2]=h[e+(s<<2)>>2];h[t+(a+2<<2)>>2]=h[i+(s<<2)>>2];s=s+1|0}while((s|0)<(ue(h[f>>2]|0,h[n>>2]|0)|0))}break}default:{}}Bt(o);Ln(c);tn(h[u>>2]|0);f=0;v=d;return f|0}function wt(){return cn()|0}function _t(e,i){e=e|0;i=i|0;return}function mt(e,i){e=e|0;i=i|0;return}function pt(e,i){e=e|0;i=i|0;var r=0;i=v;v=v+16|0;r=i;h[r>>2]=e;ds(4625,r)|0;v=i;return}function vt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=v;v=v+16|0;n=f;h[n>>2]=i;if(!r){v=f;return}i=e;t=0;e=n+(r+-1)|0;while(1){c[i>>0]=c[e>>0]|0;t=t+1|0;if((t|0)==(r|0))break;else{i=i+1|0;e=e+-1|0}}v=f;return}function gt(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;h[i>>2]=0;if(!r)return;t=0;i=i+(r+-1)|0;while(1){c[i>>0]=c[e>>0]|0;t=t+1|0;if((t|0)==(r|0))break;else{e=e+1|0;i=i+-1|0}}return}function yt(e,i){e=e|0;i=+i;var r=0,t=0,n=0,f=0,a=0;r=v;v=v+16|0;f=r;m[f>>3]=i;f=f+8|0;m[y>>3]=i;t=h[y>>2]|0;n=h[y+4>>2]|0;a=Vs(t|0,n|0,56)|0;c[e>>0]=a;a=Vs(t|0,n|0,48)|0;c[e+1>>0]=a;a=Vs(t|0,n|0,40)|0;c[e+2>>0]=a;c[e+3>>0]=n;c[e+4>>0]=c[f+-5>>0]|0;c[e+5>>0]=c[f+-6>>0]|0;n=Vs(t|0,n|0,8)|0;c[e+6>>0]=n;c[e+7>>0]=t;v=r;return}function Et(e,i){e=e|0;i=i|0;var r=0;r=i+8|0;c[r+-1>>0]=c[e>>0]|0;c[r+-2>>0]=c[e+1>>0]|0;c[r+-3>>0]=c[e+2>>0]|0;c[r+-4>>0]=c[e+3>>0]|0;c[r+-5>>0]=c[e+4>>0]|0;c[r+-6>>0]=c[e+5>>0]|0;c[r+-7>>0]=c[e+6>>0]|0;c[i>>0]=c[e+7>>0]|0;return}function At(e,i){e=e|0;i=+i;var r=0;r=(_[y>>2]=i,h[y>>2]|0);c[e>>0]=r>>>24;c[e+1>>0]=r>>>16;c[e+2>>0]=r>>>8;c[e+3>>0]=r;return}function Mt(e,i){e=e|0;i=i|0;var r=0;r=i+4|0;c[r+-1>>0]=c[e>>0]|0;c[r+-2>>0]=c[e+1>>0]|0;c[r+-3>>0]=c[e+2>>0]|0;c[i>>0]=c[e+3>>0]|0;return}function Tt(e,i){e=e|0;i=i|0;var r=0,t=0;t=Kn(1,72)|0;if(!t){i=0;return i|0}h[t+64>>2]=e;e=Gn(e)|0;h[t+32>>2]=e;if(!e){Qn(t);i=0;return i|0}h[t+36>>2]=e;e=t+68|0;r=h[e>>2]|0;if(!i){h[e>>2]=r|1;h[t+40>>2]=31;h[t+44>>2]=32}else{h[e>>2]=r|2;h[t+40>>2]=29;h[t+44>>2]=30}h[t+16>>2]=4;h[t+20>>2]=5;h[t+24>>2]=6;h[t+28>>2]=7;i=t;return i|0}function St(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0;c=v;v=v+16|0;u=c;n=e+48|0;f=h[n>>2]|0;if(f>>>0>=i>>>0){u=e+36|0;h[u>>2]=(h[u>>2]|0)+i;h[n>>2]=f-i;u=e+56|0;e=u;e=zs(h[e>>2]|0,h[e+4>>2]|0,i|0,r|0)|0;h[u>>2]=e;h[u+4>>2]=j;u=r;e=i;j=u;v=c;return e|0}o=e+68|0;if(h[o>>2]&4){u=e+36|0;h[u>>2]=(h[u>>2]|0)+f;h[n>>2]=0;e=e+56|0;u=e;u=zs(h[u>>2]|0,h[u+4>>2]|0,f|0,0)|0;h[e>>2]=u;h[e+4>>2]=j;e=(f|0)!=0;u=e?0:-1;e=e?f:-1;j=u;v=c;return e|0}if(!f){f=0;n=0}else{h[e+36>>2]=h[e+32>>2];i=Hs(i|0,r|0,f|0,0)|0;h[n>>2]=0;n=0;r=j}e:do{if((r|0)>0|(r|0)==0&i>>>0>0){s=e+24|0;while(1){a=Ro[h[s>>2]&63](i,r,h[e>>2]|0)|0;l=j;if((a|0)==-1&(l|0)==-1)break;i=Hs(i|0,r|0,a|0,l|0)|0;r=j;f=zs(a|0,l|0,f|0,n|0)|0;n=j;if(!((r|0)>0|(r|0)==0&i>>>0>0))break e}Zt(t,4,4636,u)|0;h[o>>2]=h[o>>2]|4;e=e+56|0;u=e;u=zs(h[u>>2]|0,h[u+4>>2]|0,f|0,n|0)|0;h[e>>2]=u;h[e+4>>2]=j;e=(f|0)!=0|(n|0)!=0;u=e?n:-1;e=e?f:-1;j=u;v=c;return e|0}}while(0);u=e+56|0;e=u;e=zs(h[e>>2]|0,h[e+4>>2]|0,f|0,n|0)|0;h[u>>2]=e;h[u+4>>2]=j;u=n;e=f;j=u;v=c;return e|0}function Pt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;h[e+36>>2]=h[e+32>>2];h[e+48>>2]=0;f=(Ro[h[e+28>>2]&63](i,r,h[e>>2]|0)|0)==0;t=e+68|0;n=h[t>>2]|0;if(f){h[t>>2]=n|4;f=0;return f|0}else{h[t>>2]=n&-5;f=e+56|0;h[f>>2]=i;h[f+4>>2]=r;f=1;return f|0}return 0}function Ot(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;w=v;v=v+16|0;k=w+8|0;u=w;b=e+68|0;if(h[b>>2]&8){k=-1;e=-1;j=k;v=w;return e|0}s=e+32|0;n=h[s>>2]|0;d=e+36|0;h[d>>2]=n;o=e+48|0;f=h[o>>2]|0;do{if(f){l=e+20|0;while(1){a=Ro[h[l>>2]&63](n,f,h[e>>2]|0)|0;if((a|0)==-1)break;n=(h[d>>2]|0)+a|0;h[d>>2]=n;_=h[o>>2]|0;f=_-a|0;h[o>>2]=f;if((_|0)==(a|0)){c=6;break}}if((c|0)==6){n=h[s>>2]|0;break}h[b>>2]=h[b>>2]|8;Zt(t,4,4662,u)|0;h[b>>2]=h[b>>2]|8;h[o>>2]=0;e=-1;_=-1;j=e;v=w;return _|0}}while(0);h[d>>2]=n;e:do{if((r|0)>0|(r|0)==0&i>>>0>0){s=e+24|0;f=0;n=0;while(1){a=Ro[h[s>>2]&63](i,r,h[e>>2]|0)|0;l=j;if((a|0)==-1&(l|0)==-1)break;i=Hs(i|0,r|0,a|0,l|0)|0;r=j;f=zs(a|0,l|0,f|0,n|0)|0;n=j;if(!((r|0)>0|(r|0)==0&i>>>0>0))break e}Zt(t,4,4688,k)|0;h[b>>2]=h[b>>2]|8;_=e+56|0;e=_;e=zs(h[e>>2]|0,h[e+4>>2]|0,f|0,n|0)|0;h[_>>2]=e;h[_+4>>2]=j;_=(f|0)!=0|(n|0)!=0;e=_?n:-1;_=_?f:-1;j=e;v=w;return _|0}else{f=0;n=0}}while(0);e=e+56|0;_=e;_=zs(h[_>>2]|0,h[_+4>>2]|0,f|0,n|0)|0;h[e>>2]=_;h[e+4>>2]=j;e=n;_=f;j=e;v=w;return _|0}function Rt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;b=v;v=v+16|0;s=b;u=e+32|0;n=h[u>>2]|0;c=e+36|0;h[c>>2]=n;d=e+48|0;f=h[d>>2]|0;do{if(!f)f=e;else{l=e+20|0;while(1){a=Ro[h[l>>2]&63](n,f,h[e>>2]|0)|0;if((a|0)==-1)break;n=(h[c>>2]|0)+a|0;h[c>>2]=n;k=h[d>>2]|0;f=k-a|0;h[d>>2]=f;if((k|0)==(a|0)){o=6;break}}if((o|0)==6){f=e;n=h[u>>2]|0;break}k=e+68|0;h[k>>2]=h[k>>2]|8;Zt(t,4,4662,s)|0;h[k>>2]=h[k>>2]|8;k=0;v=b;return k|0}}while(0);h[c>>2]=n;h[d>>2]=0;if(!(Ro[h[e+28>>2]&63](i,r,h[f>>2]|0)|0)){k=e+68|0;h[k>>2]=h[k>>2]|8;k=0;v=b;return k|0}else{k=e+56|0;h[k>>2]=i;h[k+4>>2]=r;k=1;v=b;return k|0}return 0}function Lt(e,i,r){e=e|0;i=i|0;r=r|0;return-1}function Ct(e,i,r){e=e|0;i=i|0;r=r|0;return-1}function Dt(e,i,r){e=e|0;i=i|0;r=r|0;j=-1;return-1}function xt(e,i,r){e=e|0;i=i|0;r=r|0;return 0}function It(e){e=e|0;var i=0,r=0,t=0;t=Kn(1,72)|0;if(!t){e=0;return e|0}h[t+64>>2]=1048576;i=Gn(1048576)|0;h[t+32>>2]=i;if(!i){Qn(t);e=0;return e|0}h[t+36>>2]=i;i=t+68|0;r=h[i>>2]|0;if(!e){h[i>>2]=r|1;h[t+40>>2]=31;h[t+44>>2]=32}else{h[i>>2]=r|2;h[t+40>>2]=29;h[t+44>>2]=30}h[t+16>>2]=4;h[t+20>>2]=5;h[t+24>>2]=6;h[t+28>>2]=7;e=t;return e|0}function Bt(e){e=e|0;var i=0;if(!e)return;i=h[e+4>>2]|0;if(i)Co[i&7](h[e>>2]|0);i=e+32|0;Qn(h[i>>2]|0);h[i>>2]=0;Qn(e);return}function Nt(e,i){e=e|0;i=i|0;if(!e)return;if(!(h[e+68>>2]&2))return;h[e+16>>2]=i;return}function Ft(e,i){e=e|0;i=i|0;if(!e)return;h[e+28>>2]=i;return}function Ut(e,i){e=e|0;i=i|0;if(!e)return;if(!(h[e+68>>2]&1))return;h[e+20>>2]=i;return}function jt(e,i){e=e|0;i=i|0;if(!e)return;h[e+24>>2]=i;return}function Ht(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;h[e>>2]=i;h[e+4>>2]=r;return}function Yt(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;e=e+8|0;h[e>>2]=i;h[e+4>>2]=r;return}function qt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;y=v;v=v+16|0;_=y+8|0;w=y;g=e+48|0;n=h[g>>2]|0;if(n>>>0>=r>>>0){p=e+36|0;Gs(i|0,h[p>>2]|0,r|0)|0;h[p>>2]=(h[p>>2]|0)+r;h[g>>2]=(h[g>>2]|0)-r;g=e+56|0;p=g;p=zs(h[p>>2]|0,h[p+4>>2]|0,r|0,0)|0;h[g>>2]=p;h[g+4>>2]=j;g=r;v=y;return g|0}m=e+68|0;if(h[m>>2]&4){p=e+36|0;Gs(i|0,h[p>>2]|0,n|0)|0;t=h[g>>2]|0;h[p>>2]=(h[p>>2]|0)+t;p=e+56|0;m=p;t=zs(h[m>>2]|0,h[m+4>>2]|0,t|0,0)|0;h[p>>2]=t;h[p+4>>2]=j;h[g>>2]=0;g=(n|0)!=0?n:-1;v=y;return g|0}if(!n){d=e+32|0;f=h[d>>2]|0;b=e+36|0;h[b>>2]=f;k=b;p=e+56|0;n=0}else{b=e+36|0;Gs(i|0,h[b>>2]|0,n|0)|0;d=e+32|0;f=h[d>>2]|0;h[b>>2]=f;k=h[g>>2]|0;p=e+56|0;u=p;u=zs(h[u>>2]|0,h[u+4>>2]|0,k|0,0)|0;c=p;h[c>>2]=u;h[c+4>>2]=j;h[g>>2]=0;r=r-k|0;i=i+k|0;k=b}u=e+64|0;c=e+16|0;o=i;a=f;while(1){i=h[u>>2]|0;f=h[c>>2]|0;if(r>>>0>>0){f=Ro[f&63](a,i,h[e>>2]|0)|0;h[g>>2]=f;if((f|0)==-1){f=11;break}if(f>>>0>=r>>>0){i=o;f=14;break}Gs(o|0,h[k>>2]|0,f|0)|0;a=h[d>>2]|0;h[b>>2]=a;i=h[g>>2]|0;l=p;l=zs(h[l>>2]|0,h[l+4>>2]|0,i|0,0)|0;s=j;n=f+n|0}else{i=Ro[f&63](o,r,h[e>>2]|0)|0;h[g>>2]=i;if((i|0)==-1){f=16;break}n=i+n|0;if(i>>>0>=r>>>0){f=20;break}a=h[d>>2]|0;h[b>>2]=a;l=p;l=zs(h[l>>2]|0,h[l+4>>2]|0,i|0,0)|0;s=j}f=p;h[f>>2]=l;h[f+4>>2]=s;h[g>>2]=0;r=r-i|0;o=o+i|0}if((f|0)==11){Zt(t,4,4636,w)|0;h[g>>2]=0;h[m>>2]=h[m>>2]|4;g=(n|0)!=0?n:-1;v=y;return g|0}else if((f|0)==14){Gs(i|0,h[k>>2]|0,r|0)|0;h[k>>2]=(h[k>>2]|0)+r;h[g>>2]=(h[g>>2]|0)-r;t=p;t=zs(h[t>>2]|0,h[t+4>>2]|0,r|0,0)|0;g=p;h[g>>2]=t;h[g+4>>2]=j;g=n+r|0;v=y;return g|0}else if((f|0)==16){Zt(t,4,4636,_)|0;h[g>>2]=0;h[m>>2]=h[m>>2]|4;g=(n|0)!=0?n:-1;v=y;return g|0}else if((f|0)==20){t=p;t=zs(h[t>>2]|0,h[t+4>>2]|0,i|0,0)|0;h[p>>2]=t;h[p+4>>2]=j;h[b>>2]=h[d>>2];h[g>>2]=0;g=n;v=y;return g|0}return 0}function Xt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0;p=v;v=v+16|0;w=p;c=e+68|0;if(h[c>>2]&8){m=-1;v=p;return m|0}k=e+64|0;n=h[k>>2]|0;m=e+48|0;s=h[m>>2]|0;f=n-s|0;do{if(f>>>0>>0){d=e+32|0;a=e+36|0;b=e+20|0;l=e+56|0;o=n;u=f;n=0;e:while(1){if((o|0)==(s|0))f=h[d>>2]|0;else{Gs(h[a>>2]|0,i|0,u|0)|0;f=h[d>>2]|0;h[a>>2]=f;s=(h[m>>2]|0)+u|0;h[m>>2]=s;g=l;g=zs(h[g>>2]|0,h[g+4>>2]|0,u|0,0)|0;o=l;h[o>>2]=g;h[o+4>>2]=j;r=r-u|0;i=i+u|0;n=u+n|0}h[a>>2]=f;if(!s)s=0;else{do{o=Ro[h[b>>2]&63](f,s,h[e>>2]|0)|0;if((o|0)==-1)break e;f=(h[a>>2]|0)+o|0;h[a>>2]=f;g=h[m>>2]|0;s=g-o|0;h[m>>2]=s}while((g|0)!=(o|0));f=h[d>>2]|0}h[a>>2]=f;o=h[k>>2]|0;u=o-s|0;if(r>>>0<=u>>>0){_=5;break}}if((_|0)==5)break;h[c>>2]=h[c>>2]|8;Zt(t,4,4662,w)|0;g=-1;v=p;return g|0}else{f=e+36|0;l=e+56|0;a=f;f=h[f>>2]|0;n=0}}while(0);Gs(f|0,i|0,r|0)|0;h[a>>2]=(h[a>>2]|0)+r;h[m>>2]=(h[m>>2]|0)+r;m=l;m=zs(h[m>>2]|0,h[m+4>>2]|0,r|0,0)|0;g=l;h[g>>2]=m;h[g+4>>2]=j;g=n+r|0;v=p;return g|0}function zt(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;c=v;v=v+16|0;s=c;f=e+32|0;r=h[f>>2]|0;u=e+36|0;h[u>>2]=r;a=e+48|0;t=h[a>>2]|0;do{if(t){l=e+20|0;while(1){n=Ro[h[l>>2]&63](r,t,h[e>>2]|0)|0;if((n|0)==-1)break;r=(h[u>>2]|0)+n|0;h[u>>2]=r;d=h[a>>2]|0;t=d-n|0;h[a>>2]=t;if((d|0)==(n|0)){o=6;break}}if((o|0)==6){r=h[f>>2]|0;break}d=e+68|0;h[d>>2]=h[d>>2]|8;Zt(i,4,4662,s)|0;d=0;v=c;return d|0}}while(0);h[u>>2]=r;d=1;v=c;return d|0}function Vt(e){e=e|0;e=e+56|0;j=h[e+4>>2]|0;return h[e>>2]|0}function Gt(e){e=e|0;var i=0,r=0;r=e+8|0;i=h[r>>2]|0;r=h[r+4>>2]|0;if((i|0)==0&(r|0)==0){r=0;e=0;j=r;return e|0}e=e+56|0;e=Hs(i|0,r|0,h[e>>2]|0,h[e+4>>2]|0)|0;r=j;j=r;return e|0}function Kt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e=Fo[h[e+40>>2]&63](e,i,r,t)|0;return e|0}function Wt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Fo[h[e+44>>2]&63](e,i,r,t)|0}function Jt(e){e=e|0;return(h[e+28>>2]|0)!=7|0}function Zt(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0;l=v;v=v+528|0;f=l;a=l+16|0;e:do{if(e){switch(i|0){case 1:{i=e;n=e+12|0;break}case 2:{i=e+4|0;n=e+16|0;break}case 4:{i=e+8|0;n=e+20|0;break}default:{i=0;break e}}e=h[i>>2]|0;i=h[n>>2]|0;if(i)if(!r)i=1;else{qs(a|0,0,512)|0;h[f>>2]=t;ws(a,512,r,f)|0;Do[i&7](a,e);i=1}else i=0}else i=0}while(0);v=l;return i|0}function Qt(e){e=e|0;h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[e+12>>2]=4;h[e+20>>2]=4;h[e+16>>2]=4;return}function $t(e,i){e=e|0;i=i|0;return}function en(){return Kn(1,36)|0}function rn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;t=Kn(1,36)|0;if(!t){l=t;return l|0}h[t+20>>2]=r;a=t+16|0;h[a>>2]=e;r=Kn(1,e*52|0)|0;l=t+24|0;h[l>>2]=r;if(!r){r=h[t+28>>2]|0;if(r)Qn(r);Qn(t);l=0;return l|0}if(!e){l=t;return l|0}n=0;while(1){h[r+(n*52|0)>>2]=h[i+(n*36|0)>>2];h[r+(n*52|0)+4>>2]=h[i+(n*36|0)+4>>2];s=h[i+(n*36|0)+8>>2]|0;h[r+(n*52|0)+8>>2]=s;o=h[i+(n*36|0)+12>>2]|0;h[r+(n*52|0)+12>>2]=o;h[r+(n*52|0)+16>>2]=h[i+(n*36|0)+16>>2];h[r+(n*52|0)+20>>2]=h[i+(n*36|0)+20>>2];h[r+(n*52|0)+24>>2]=h[i+(n*36|0)+24>>2];h[r+(n*52|0)+28>>2]=h[i+(n*36|0)+28>>2];h[r+(n*52|0)+32>>2]=h[i+(n*36|0)+32>>2];s=Kn(ue(o,s)|0,4)|0;h[r+(n*52|0)+44>>2]=s;n=n+1|0;if(!s)break;if(n>>>0>=e>>>0){f=22;break}r=h[l>>2]|0}if((f|0)==22)return t|0;r=h[l>>2]|0;if(r){n=h[a>>2]|0;if(n){i=0;while(1){r=h[r+(i*52|0)+44>>2]|0;if(r){Qn(r);n=h[a>>2]|0}i=i+1|0;if(i>>>0>=n>>>0)break;r=h[l>>2]|0}r=h[l>>2]|0}Qn(r)}r=h[t+28>>2]|0;if(r)Qn(r);Qn(t);o=0;return o|0}function tn(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;if(!e)return;n=e+24|0;i=h[n>>2]|0;if(i){f=e+16|0;r=h[f>>2]|0;if(r){t=0;while(1){i=h[i+(t*52|0)+44>>2]|0;if(i){Qn(i);r=h[f>>2]|0}t=t+1|0;if(t>>>0>=r>>>0)break;i=h[n>>2]|0}i=h[n>>2]|0}Qn(i)}i=h[e+28>>2]|0;if(i)Qn(i);Qn(e);return}function nn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;r=h[i+4>>2]|0;t=h[e>>2]|0;f=h[i+8>>2]|0;a=h[e+4>>2]|0;n=h[i+12>>2]|0;u=(ue((h[i+24>>2]|0)+-1|0,n)|0)+r|0;l=h[i+16>>2]|0;s=(ue((h[i+28>>2]|0)+-1|0,l)|0)+f|0;i=zs(u|0,0,n|0,0)|0;i=i|0-j;n=h[e+8>>2]|0;l=zs(s|0,0,l|0,0)|0;l=l|0-j;s=h[e+12>>2]|0;u=h[e+16>>2]|0;if(!u)return;o=(r>>>0>t>>>0?r:t)+-1|0;f=(f>>>0>a>>>0?f:a)+-1|0;n=(i>>>0>>0?i:n)+-1|0;r=(l>>>0>>0?l:s)+-1|0;t=0;i=h[e+24>>2]|0;while(1){a=h[i>>2]|0;s=((o+a|0)>>>0)/(a>>>0)|0;b=h[i+4>>2]|0;e=((f+b|0)>>>0)/(b>>>0)|0;l=h[i+40>>2]|0;d=Xs(1,0,l|0)|0;c=j;a=zs((((n+a|0)>>>0)/(a>>>0)|0)-s|0,0,-1,-1)|0;a=zs(a|0,j|0,d|0,c|0)|0;a=Vs(a|0,j|0,l|0)|0;b=zs((((r+b|0)>>>0)/(b>>>0)|0)-e|0,0,-1,-1)|0;c=zs(b|0,j|0,d|0,c|0)|0;l=Vs(c|0,j|0,l|0)|0;h[i+8>>2]=a;h[i+12>>2]=l;h[i+16>>2]=s;h[i+20>>2]=e;t=t+1|0;if(t>>>0>=u>>>0)break;else i=i+52|0}return}function fn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;h[i>>2]=h[e>>2];h[i+4>>2]=h[e+4>>2];h[i+8>>2]=h[e+8>>2];h[i+12>>2]=h[e+12>>2];s=i+24|0;t=h[s>>2]|0;l=i+16|0;if(!t)r=s;else{r=h[l>>2]|0;if(!r)r=s;else{n=0;while(1){t=h[t+(n*52|0)+44>>2]|0;if(t){Qn(t);r=h[l>>2]|0}n=n+1|0;if(n>>>0>=r>>>0)break;t=h[s>>2]|0}r=s;t=h[s>>2]|0}Qn(t);h[s>>2]=0}t=h[e+16>>2]|0;h[l>>2]=t;t=Gn(t*52|0)|0;h[r>>2]=t;if(!t){h[s>>2]=0;h[l>>2]=0;return}if(h[l>>2]|0){a=e+24|0;f=0;do{r=t+(f*52|0)|0;t=(h[a>>2]|0)+(f*52|0)|0;n=r+52|0;do{h[r>>2]=h[t>>2];r=r+4|0;t=t+4|0}while((r|0)<(n|0));t=h[s>>2]|0;h[t+(f*52|0)+44>>2]=0;f=f+1|0}while(f>>>0<(h[l>>2]|0)>>>0)}h[i+20>>2]=h[e+20>>2];n=e+32|0;r=h[n>>2]|0;f=i+32|0;h[f>>2]=r;if(!r){h[i+28>>2]=0;return}t=Gn(r)|0;r=i+28|0;h[r>>2]=t;if(!t){h[r>>2]=0;h[f>>2]=0;return}else{Gs(t|0,h[e+28>>2]|0,h[n>>2]|0)|0;return}}function an(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=Kn(1,36)|0;if(!t){e=t;return e|0}h[t+20>>2]=r;h[t+16>>2]=e;r=Kn(e,52)|0;h[t+24>>2]=r;if(!r){r=h[t+28>>2]|0;if(r)Qn(r);Qn(t);e=0;return e|0}else{if(!e){e=t;return e|0}else n=0;do{h[r+(n*52|0)>>2]=h[i+(n*36|0)>>2];h[r+(n*52|0)+4>>2]=h[i+(n*36|0)+4>>2];h[r+(n*52|0)+8>>2]=h[i+(n*36|0)+8>>2];h[r+(n*52|0)+12>>2]=h[i+(n*36|0)+12>>2];h[r+(n*52|0)+16>>2]=h[i+(n*36|0)+16>>2];h[r+(n*52|0)+20>>2]=h[i+(n*36|0)+20>>2];h[r+(n*52|0)+24>>2]=h[i+(n*36|0)+24>>2];h[r+(n*52|0)+32>>2]=h[i+(n*36|0)+32>>2];h[r+(n*52|0)+44>>2]=0;n=n+1|0}while((n|0)!=(e|0));return t|0}return 0}function ln(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}h[e+64>>2]=i;h[e+52>>2]=r;r=1;return r|0}function sn(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}h[e+60>>2]=i;h[e+48>>2]=r;r=1;return r|0}function on(e,i,r){e=e|0;i=i|0;r=r|0;if(!e){r=0;return r|0}h[e+56>>2]=i;h[e+44>>2]=r;r=1;return r|0}function un(e,i){e=e|0;i=i|0;var r=0;if(!e){e=0;return e|0}r=It(i)|0;if(!r){e=0;return e|0}Ht(r,e,0);Yt(r,h[e+8>>2]|0,0);if(!i)Ut(r,9);else Nt(r,8);jt(r,1);Ft(r,10);e=r;return e|0}function cn(){return 4703}function dn(e){e=e|0;var i=0;i=Kn(1,84)|0;if(!i){e=0;return e|0}h[i+68>>2]=1;switch(e|0){case 0:{h[i+72>>2]=13;h[i+76>>2]=2;h[i+80>>2]=3;h[i+4>>2]=33;h[i+16>>2]=11;h[i>>2]=34;h[i+20>>2]=1;h[i+24>>2]=5;h[i+8>>2]=1;h[i+12>>2]=1;h[i+28>>2]=1;h[i+32>>2]=1;h[i+36>>2]=12;e=df()|0;h[i+40>>2]=e;if(!e){Qn(i);e=0;return e|0}break}case 2:{h[i+72>>2]=14;h[i+76>>2]=4;h[i+80>>2]=5;h[i+4>>2]=35;h[i+16>>2]=13;h[i>>2]=36;h[i+8>>2]=2;h[i+12>>2]=2;h[i+20>>2]=2;h[i+24>>2]=6;h[i+28>>2]=2;h[i+32>>2]=2;h[i+36>>2]=14;e=Vi(1)|0;h[i+40>>2]=e;if(!e){Qn(i);e=0;return e|0}break}default:{Qn(i);e=0;return e|0}}Qt(i+44|0);e=i;return e|0}function hn(e){e=e|0;if(!e)return;qs(e|0,0,8248)|0;h[e+8200>>2]=-1;h[e+8204>>2]=-1;h[e+8248>>2]=0;return}function bn(e,i){e=e|0;i=i|0;var r=0;r=v;v=v+16|0;if(!((e|0)!=0&(i|0)!=0)){i=0;v=r;return i|0}if(!(h[e+68>>2]|0)){Zt(e+44|0,1,4709,r)|0;i=0;v=r;return i|0}else{Do[h[e+24>>2]&7](h[e+40>>2]|0,i);i=1;v=r;return i|0}return 0}function kn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=v;v=v+16|0;if(!((e|0)!=0&(i|0)!=0)){e=0;v=t;return e|0}if(!(h[i+68>>2]|0)){Zt(i+44|0,1,4790,t)|0;e=0;v=t;return e|0}else{e=Fo[h[i>>2]&63](e,h[i+40>>2]|0,r,i+44|0)|0;v=t;return e|0}return 0}function wn(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(!(h[e+68>>2]|0)){i=0;return i|0}i=Fo[h[e+4>>2]&63](h[e+40>>2]|0,i,r,e+44|0)|0;return i|0}function _n(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;if(!e){t=0;return t|0}if(!(h[e+68>>2]|0)){t=0;return t|0}t=Oo[h[e+28>>2]&3](h[e+40>>2]|0,i,r,t,n,f,e+44|0)|0;return t|0}function mn(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;if(!((r|0)!=0&((e|0)!=0&(i|0)!=0&(t|0)!=0))){l=0;return l|0}if(!(h[e+68>>2]|0)){l=0;return l|0}l=No[h[e+8>>2]&3](h[e+40>>2]|0,r,t,n,f,a,l,s,o,i,e+44|0)|0;return l|0}function pn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;if(!((e|0)!=0&(r|0)!=0&(n|0)!=0)){i=0;return i|0}if(!(h[e+68>>2]|0)){i=0;return i|0}i=xo[h[e+12>>2]&7](h[e+40>>2]|0,i,r,t,n,e+44|0)|0;return i|0}function vn(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if(!((e|0)!=0&(i|0)!=0)){t=0;return t|0}if(!(h[e+68>>2]|0)){t=0;return t|0}t=jo[h[e+32>>2]&3](h[e+40>>2]|0,i,r,e+44|0,t)|0;return t|0}function gn(e,i){e=e|0;i=i|0;if(!e){i=0;return i|0}i=Ro[h[e+36>>2]&63](h[e+40>>2]|0,i,e+44|0)|0;return i|0}function yn(e){e=e|0;var i=0;i=Kn(1,84)|0;if(!i){e=0;return e|0}h[i+68>>2]=0;switch(e|0){case 0:{h[i+4>>2]=15;h[i+12>>2]=16;h[i>>2]=37;h[i+8>>2]=3;h[i+16>>2]=1;h[i+20>>2]=38;e=rf()|0;h[i+40>>2]=e;if(!e){Qn(i);e=0;return e|0}break}case 2:{h[i+4>>2]=17;h[i+12>>2]=18;h[i>>2]=39;h[i+8>>2]=4;h[i+16>>2]=2;h[i+20>>2]=40;e=Vi(0)|0;h[i+40>>2]=e;if(!e){Qn(i);e=0;return e|0}break}default:{Qn(i);e=0;return e|0}}Qt(i+44|0);e=i;return e|0}function En(e){e=e|0;if(!e)return;qs(e|0,0,18708)|0;h[e+5592>>2]=6;h[e+18684>>2]=0;h[e+5596>>2]=64;h[e+5600>>2]=64;h[e+44>>2]=0;h[e+5612>>2]=-1;h[e+18188>>2]=1;h[e+18192>>2]=1;c[e+18688>>0]=0;h[e+18196>>2]=-1;h[e+18200>>2]=-1;_[e+4792>>2]=0.0;h[e+4788>>2]=0;h[e+20>>2]=0;h[e+24>>2]=0;h[e+28>>2]=0;h[e+18692>>2]=0;return}function An(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){i=0;return i|0}if(h[e+68>>2]|0){i=0;return i|0}i=Fo[h[e+20>>2]&63](h[e+40>>2]|0,i,r,e+44|0)|0;return i|0}function Mn(e,i,r){e=e|0;i=i|0;r=r|0;if(!((e|0)!=0&(r|0)!=0)){r=0;return r|0}if(h[e+68>>2]|0){r=0;return r|0}r=Fo[h[e>>2]&63](h[e+40>>2]|0,r,i,e+44|0)|0;return r|0}function Tn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(h[e+68>>2]|0){i=0;return i|0}i=Ro[h[e+4>>2]&63](h[e+40>>2]|0,i,e+44|0)|0;return i|0}function Sn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(h[e+68>>2]|0){i=0;return i|0}i=Ro[h[e+12>>2]&63](h[e+40>>2]|0,i,e+44|0)|0;return i|0}function Pn(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0)){i=0;return i|0}if(!(h[e+68>>2]|0)){i=0;return i|0}i=Ro[h[e+16>>2]&63](h[e+40>>2]|0,i,e+44|0)|0;return i|0}function On(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0;a=t<<2;n=ue(a,t)|0;f=e+18704|0;t=k[f>>1]|0;d[f>>1]=(t&32768|0)==0?-32512:(t|256)&65535;h[e+5608>>2]=1;c[e+18690>>0]=2;f=Gn(n+a|0)|0;t=e+18696|0;h[t>>2]=f;if(!f){r=0;return r|0}Gs(f|0,i|0,n|0)|0;Gs((h[t>>2]|0)+n|0,r|0,a|0)|0;r=1;return r|0}function Rn(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;if(!((r|0)!=0&((e|0)!=0&(n|0)!=0))){i=0;return i|0}if(h[e+68>>2]|0){i=0;return i|0}i=xo[h[e+8>>2]&7](h[e+40>>2]|0,i,r,t,n,e+44|0)|0;return i|0}function Ln(e){e=e|0;var i=0,r=0;if(!e)return;i=e+40|0;r=h[i>>2]|0;if(!(h[e+68>>2]|0))Co[h[e+16>>2]&7](r);else Co[h[e+20>>2]&7](r);h[i>>2]=0;Qn(e);return}function Cn(e,i,r){e=e|0;i=i|0;r=r|0;if(!e)return;Bo[h[e+72>>2]&15](h[e+40>>2]|0,i,r);return}function Dn(e){e=e|0;if(!e){e=0;return e|0}e=Io[h[e+76>>2]&15](h[e+40>>2]|0)|0;return e|0}function xn(e){e=e|0;var i=0,r=0;if(!e)return;i=h[e>>2]|0;r=h[i+48>>2]|0;if(r){Qn(r);i=h[e>>2]|0}Qn(i);h[e>>2]=0;return}function In(e){e=e|0;if(!e){e=0;return e|0}e=Io[h[e+80>>2]&15](h[e+40>>2]|0)|0;return e|0}function Bn(e){e=e|0;var i=0;i=h[e>>2]|0;if(!i)return;sf(i);h[e>>2]=0;return}function Nn(e,i){e=e|0;i=i|0;return Fn(e,1048576,i)|0}function Fn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(!e){i=0;return i|0}t=$l(e,(r|0)==0?4869:4872)|0;if(!t){i=0;return i|0}e=Tt(i,r)|0;if(!e){Zl(t)|0;i=0;return i|0}else{Ht(e,t,6);as(t,0,2)|0;i=os(t)|0;as(t,0,0)|0;Yt(e,i,((i|0)<0)<<31>>31);Nt(e,19);Ut(e,20);jt(e,21);Ft(e,22);i=e;return i|0}return 0}function Un(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;f=(h[r>>2]|0)+(h[r+8>>2]|0)|0;r=r+4|0;t=h[r>>2]|0;n=f-t|0;if((f|0)==(t|0)){f=-1;return f|0}f=n>>>0>i>>>0?i:n;Gs(e|0,t|0,f|0)|0;h[r>>2]=(h[r>>2]|0)+f;return f|0}function jn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=r+4|0;t=h[o>>2]|0;l=r+8|0;f=h[l>>2]|0;s=t-(h[r>>2]|0)|0;n=(f|0)==0?1:f;while(1)if((n-s|0)>>>0>>0)n=n<<1;else{a=n;break}if((a|0)!=(f|0)){t=Gn(a)|0;if(!t){i=-1;return i|0}n=h[r>>2]|0;if(n){Gs(t|0,n|0,s|0)|0;Qn(h[r>>2]|0)}h[r>>2]=t;t=t+s|0;h[o>>2]=t;h[l>>2]=a}Gs(t|0,e|0,i|0)|0;h[o>>2]=(h[o>>2]|0)+i;return i|0}function Hn(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;n=(h[i>>2]|0)+(h[i+8>>2]|0)|0;i=i+4|0;r=h[i>>2]|0;t=n-r|0;if((n|0)==(r|0)){n=-1;return n|0}h[i>>2]=r+e;n=t>>>0>e>>>0?e:t;return n|0}function Yn(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;t=h[r+8>>2]|0;h[r+4>>2]=(h[r>>2]|0)+(0>(i|0)|0==(i|0)&t>>>0>e>>>0?e:t);return 1}function qn(e,i,r){e=e|0;i=i|0;r=r|0;i=ts(e,1,i,r)|0;return((i|0)!=0?i:-1)|0}function Xn(e,i,r){e=e|0;i=i|0;r=r|0;return cs(e,1,i,r)|0}function zn(e,i,r){e=e|0;i=i|0;r=r|0;r=(as(r,e,1)|0)==0;j=r?i:-1;return(r?e:-1)|0}function Vn(e,i,r){e=e|0;i=i|0;r=r|0;return(as(r,e,0)|0)==0|0}function Gn(e){e=e|0;if(!e)e=0;else e=Cs(e)|0;return e|0}function Kn(e,i){e=e|0;i=i|0;if(!i)e=0;else e=xs(e,i)|0;return e|0}function Wn(e){e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;do{if(e)if(!(Bs(i,16,e)|0)){i=h[i>>2]|0;break}else{h[i>>2]=0;i=0;break}else i=0}while(0);v=r;return i|0}function Jn(e){e=e|0;Ds(e);return}function Zn(e,i){e=e|0;i=i|0;if(!i)i=0;else i=Is(e,i)|0;return i|0}function Qn(e){e=e|0;Ds(e);return}function $n(e){e=e|0;var i=0,r=0;i=696;while(1){r=h[i>>2]|0;if((r|0)==-1|(r|0)==(e|0))break;else i=i+12|0}return i+4|0}function ef(e,i){e=e|0;i=i|0;if(!((e|0)!=0&(i|0)!=0))return;h[e+172>>2]=h[i+4>>2];h[e+168>>2]=h[i>>2];return}function rf(){var e=0,i=0;e=Kn(1,208)|0;if(!e){e=0;return e|0}h[e>>2]=0;i=e+184|0;c[i>>0]=c[i>>0]&-3;i=Gn(1e3)|0;h[e+44>>2]=i;if(!i){tf(e);i=0;return i|0}h[e+48>>2]=1e3;i=_a()|0;h[e+192>>2]=i;if(!i){tf(e);i=0;return i|0}i=_a()|0;h[e+188>>2]=i;if(i){i=e;return i|0}tf(e);i=0;return i|0}function tf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;if(!e)return;if(!(h[e>>2]|0)){i=e+36|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+24|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0;h[e+28>>2]=0}i=e+44|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0;h[e+48>>2]=0}}else{i=e+12|0;r=h[i>>2]|0;if(r){Mf(r);Qn(h[i>>2]|0);h[i>>2]=0}i=e+16|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0;h[e+20>>2]=0}}zr(h[e+204>>2]|0);i=e+88|0;f=e+164|0;r=h[f>>2]|0;if(r){t=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;if(t){n=0;while(1){Mf(r);n=n+1|0;if((n|0)==(t|0))break;else r=r+5640|0}r=h[f>>2]|0}Qn(r);h[f>>2]=0}f=e+124|0;r=h[f>>2]|0;if(r){a=e+120|0;t=h[a>>2]|0;if(t){n=0;while(1){r=h[r+(n<<3)>>2]|0;if(r){Qn(r);t=h[a>>2]|0}n=n+1|0;if(n>>>0>=t>>>0)break;r=h[f>>2]|0}r=h[f>>2]|0}h[a>>2]=0;Qn(r);h[f>>2]=0}a=e+144|0;Qn(h[a>>2]|0);h[a>>2]=0;h[e+128>>2]=0;a=e+108|0;Qn(h[a>>2]|0);h[a>>2]=0;if(!(c[e+184>>0]&2)){a=e+176|0;Qn(h[a>>2]|0);h[a>>2]=0}r=i+100|0;do{h[i>>2]=0;i=i+4|0}while((i|0)<(r|0));a=e+188|0;ma(h[a>>2]|0);h[a>>2]=0;ma(h[e+192>>2]|0);h[a>>2]=0;a=e+196|0;sf(h[a>>2]|0);h[a>>2]=0;a=e+80|0;tn(h[a>>2]|0);h[a>>2]=0;a=e+84|0;tn(h[a>>2]|0);h[a>>2]=0;Qn(e);return}function nf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0.0,k=0,w=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0.0;oe=v;v=v+320|0;ne=oe+296|0;te=oe+288|0;se=oe+280|0;le=oe+272|0;ae=oe+264|0;fe=oe+256|0;re=oe+248|0;ie=oe+240|0;G=oe+232|0;z=oe+224|0;X=oe+216|0;q=oe+208|0;Y=oe+200|0;H=oe+192|0;j=oe+184|0;g=oe+176|0;p=oe+168|0;w=oe+160|0;k=oe+152|0;u=oe+144|0;x=oe+136|0;D=oe+128|0;F=oe+112|0;C=oe+104|0;L=oe+96|0;R=oe+88|0;P=oe+80|0;S=oe+72|0;T=oe+64|0;M=oe+56|0;A=oe+48|0;E=oe+32|0;y=oe+24|0;o=oe+16|0;a=oe+8|0;f=oe;B=oe+309|0;N=oe+300|0;if(!((e|0)!=0&(i|0)!=0&(r|0)!=0)){t=0;v=oe;return t|0}ee=i+5592|0;n=h[ee>>2]|0;if((n+-1|0)>>>0>32){h[f>>2]=n;h[f+4>>2]=33;Zt(t,1,4875,f)|0;t=0;v=oe;return t|0}Q=e+112|0;h[Q>>2]=1;$=e+116|0;h[$>>2]=1;I=i+18704|0;do{if(!(d[I>>1]|0)){switch(h[i+18676>>2]|0){case 1:{d[I>>1]=3;h[i+18700>>2]=1302083;h[i+18680>>2]=1041666;f=1;break}case 2:{d[I>>1]=3;h[i+18700>>2]=651041;h[i+18680>>2]=520833;f=1;break}case 3:{d[I>>1]=4;h[i+18700>>2]=1302083;h[i+18680>>2]=1041666;f=1;break}default:f=0}n=h[i+18684>>2]|0;e:do{if((n|0)>=4)if((n|0)<33024){switch(n|0){case 4:break;default:{Z=13;break e}}d[I>>1]=4;break}else{switch(n|0){case 33024:break;default:{Z=13;break e}}d[I>>1]=-32512;break}else{switch(n|0){case 3:break;default:{Z=13;break e}}d[I>>1]=3}}while(0);if((Z|0)==13?(f|0)==0:0)break;Zt(t,2,4931,a)|0}}while(0);O=i+18700|0;n=h[O>>2]|0;do{if((n|0)<1){b=+_[i+4792+((h[i+4788>>2]|0)+-1<<2)>>2];if(b>0.0){K=h[r+24>>2]|0;o=ue(h[K+8>>2]|0,h[r+16>>2]|0)|0;o=ue(o,h[K+12>>2]|0)|0;ce=+((ue(o,h[K+24>>2]|0)|0)>>>0);K=~~+J(+(ce/(b*8.0*+((h[K>>2]|0)>>>0)*+((h[K+4>>2]|0)>>>0))));h[O>>2]=K;break}else{h[O>>2]=0;break}}else{s=h[r+24>>2]|0;K=ue(h[s+8>>2]|0,h[r+16>>2]|0)|0;K=ue(K,h[s+12>>2]|0)|0;b=+((ue(K,h[s+24>>2]|0)|0)>>>0);n=ue(n<<3,h[s>>2]|0)|0;b=b/+((ue(n,h[s+4>>2]|0)|0)>>>0);s=i+4788|0;n=h[s>>2]|0;if(n){a=n;n=0;l=0;while(1){f=i+4792+(l<<2)|0;if(+_[f>>2]>2]=b;f=h[s>>2]|0;n=1}else f=a;l=l+1|0;if(l>>>0>=f>>>0)break;else a=f}if(n)Zt(t,2,5068,o)|0}}}while(0);n=d[I>>1]|0;e:do{if((n+-3&65535)>=4){if(n<<16>>16==7){Zt(t,2,7228,u)|0;d[I>>1]=0;n=0;break}if((n+-256&65535)<524){Zt(t,2,7283,k)|0;d[I>>1]=0;n=0;break}if((n+-1024&65535)<1180){Zt(t,2,7331,w)|0;d[I>>1]=0;n=0;break}if(n<<16>>16<=-1)switch(n<<16>>16){case-32512:{n=-32512;break e}case-32768:{Zt(t,2,7373,p)|0;d[I>>1]=0;n=0;break e}default:{Zt(t,2,7461,g)|0;d[I>>1]=0;n=0;break e}}}else{if((n+-5&65535)<2){Zt(t,2,5160,y)|0;d[I>>1]=0;n=0;break}h[i>>2]=0;h[i+12>>2]=1;h[i+16>>2]=1;c[i+18689>>0]=67;c[i+18688>>0]=1;h[i+4>>2]=0;h[i+8>>2]=0;h[i+18180>>2]=0;h[i+18184>>2]=0;h[i+5596>>2]=32;h[i+5600>>2]=32;h[i+5604>>2]=0;h[i+5612>>2]=-1;h[i+18188>>2]=1;h[i+18192>>2]=1;h[i+5608>>2]=1;f=i+4788|0;a=h[f>>2]|0;if((a|0)>1){ce=+_[i+4792+(a+-1<<2)>>2];h[E>>2]=a;m[E+8>>3]=ce;Zt(t,2,5222,E)|0;h[i+4792>>2]=h[i+4792+((h[f>>2]|0)+-1<<2)>>2];h[f>>2]=1;n=d[I>>1]|0}i:do{switch(n&65535|0){case 3:{n=h[ee>>2]|0;if((n|0)>6){h[A>>2]=n+1;Zt(t,2,5395,A)|0;h[ee>>2]=6;n=6}break}case 4:{n=h[ee>>2]|0;if((n|0)<2){h[M>>2]=n+1;Zt(t,2,5541,M)|0;h[ee>>2]=1;n=1;break i}if((n|0)>7){h[T>>2]=n+1;Zt(t,2,5695,T)|0;h[ee>>2]=7;n=7}break}default:n=h[ee>>2]|0}}while(0);f=i+40|0;h[f>>2]=h[f>>2]|1;f=i+5620|0;h[f>>2]=n+-1;if((n|0)>1){n=0;do{h[i+5624+(n<<2)>>2]=256;h[i+5756+(n<<2)>>2]=256;n=n+1|0}while((n|0)<(h[f>>2]|0))}h[i+44>>2]=4;if((d[I>>1]|0)==4){n=h[ee>>2]|0;h[i+96>>2]=1;h[i+48>>2]=0;h[i+52>>2]=0;h[i+56>>2]=1;K=n+-1|0;h[i+60>>2]=K;h[i+64>>2]=3;h[i+80>>2]=4;h[i+244>>2]=1;h[i+196>>2]=K;h[i+200>>2]=0;h[i+204>>2]=1;h[i+208>>2]=n;h[i+212>>2]=3;h[i+228>>2]=4;n=2}else n=0;h[i+4784>>2]=n;h[i+20>>2]=1;n=h[O>>2]|0;if((n|0)>=1){if((n|0)>1302083){Zt(t,2,5998,P)|0;h[O>>2]=1302083}}else{h[O>>2]=1302083;Zt(t,2,5849,S)|0}n=i+18680|0;f=h[n>>2]|0;if((f|0)>=1){if((f|0)>1041666){Zt(t,2,6320,L)|0;h[n>>2]=1041666}}else{h[n>>2]=1041666;Zt(t,2,6171,R)|0}f=h[r+16>>2]|0;l=h[r+24>>2]|0;s=h[l+8>>2]|0;n=ue(s,f)|0;o=h[l+12>>2]|0;n=ue(n,o)|0;ce=+((ue(n,h[l+24>>2]|0)|0)>>>0);n=ue(h[O>>2]<<3,h[l>>2]|0)|0;ce=ce/+((ue(n,h[l+4>>2]|0)|0)>>>0);_[i+4792>>2]=ce;n=d[I>>1]|0;i:do{if((f|0)==3){f=l+28|0;a=l+32|0;if(!((h[f>>2]|0)!=12|h[a>>2])){f=l+80|0;a=l+84|0;if(!((h[f>>2]|0)!=12|h[a>>2])){f=l+132|0;a=l+136|0;if(!((h[f>>2]|0)!=12|h[a>>2])){switch(n&65535|0){case 3:{if(o>>>0>1080|s>>>0>2048){h[D>>2]=s;h[D+4>>2]=o;Zt(t,2,6892,D)|0;break i}break}case 4:{if(o>>>0>2160|s>>>0>4096){h[x>>2]=s;h[x+4>>2]=o;Zt(t,2,7063,x)|0;break i}break}default:{}}break e}else{o=f;n=a;f=2}}else{o=f;n=a;f=1}}else{o=f;n=a;f=0}c[B>>0]=c[6659]|0;c[B+1>>0]=c[6660]|0;c[B+2>>0]=c[6661]|0;c[B+3>>0]=c[6662]|0;c[B+4>>0]=c[6663]|0;c[B+5>>0]=c[6664]|0;c[B+6>>0]=c[6665]|0;a=N;l=6666;s=a+9|0;do{c[a>>0]=c[l>>0]|0;a=a+1|0;l=l+1|0}while((a|0)<(s|0));K=(h[n>>2]|0)!=0?B:N;N=h[o>>2]|0;h[F>>2]=f;h[F+4>>2]=N;h[F+8>>2]=K;Zt(t,2,6675,F)|0}else{h[C>>2]=f;Zt(t,2,6493,C)|0}}while(0);d[I>>1]=0;n=0}}while(0);h[e+168>>2]=h[i+18680>>2];K=e+88|0;d[K>>1]=n;F=e+181|0;B=c[F>>0]&-2|h[i+20>>2]&1;c[F>>0]=B;N=i+24|0;B=(h[N>>2]&255)<<1&2|B&-3;c[F>>0]=B;c[F>>0]=B&-5|(h[i+28>>2]&255)<<2&4;do{if((h[N>>2]|0)!=0?(U=i+32|0,(h[U>>2]|0)!=0):0){n=ue((h[i+4788>>2]|0)*12|0,h[ee>>2]|0)|0;f=Gn(n)|0;h[e+176>>2]=f;if(f){Gs(f|0,h[U>>2]|0,n|0)|0;break}Zt(t,1,7520,j)|0;t=0;v=oe;return t|0}}while(0);l=e+100|0;h[l>>2]=h[i+12>>2];s=e+104|0;h[s>>2]=h[i+16>>2];a=e+92|0;h[a>>2]=h[i+4>>2];o=e+96|0;h[o>>2]=h[i+8>>2];f=i+36|0;n=h[f>>2]|0;do{if(!n){n=cn()|0;f=Gn((Es(n)|0)+29|0)|0;h[e+108>>2]=f;if(f){h[q>>2]=7697;h[q+4>>2]=n;bs(f,7692,q)|0;break}Zt(t,1,7646,Y)|0;t=0;v=oe;return t|0}else{n=Gn((Es(n)|0)+1|0)|0;h[e+108>>2]=n;if(n){ys(n,h[f>>2]|0)|0;break}Zt(t,1,7592,H)|0;t=0;v=oe;return t|0}}while(0);n=(h[r+8>>2]|0)-(h[a>>2]|0)|0;f=h[r+12>>2]|0;if(!(h[i>>2]|0)){h[l>>2]=n;h[s>>2]=f-(h[o>>2]|0)}else{q=h[l>>2]|0;h[Q>>2]=(n+-1+q|0)/(q|0)|0;q=h[s>>2]|0;h[$>>2]=(f+-1-(h[o>>2]|0)+q|0)/(q|0)|0}if(c[i+18688>>0]|0){c[e+180>>0]=c[i+18689>>0]|0;c[F>>0]=c[F>>0]|8}q=Kn(ue(h[$>>2]|0,h[Q>>2]|0)|0,5640)|0;N=e+164|0;h[N>>2]=q;if(!q){Zt(t,1,7726,X)|0;t=0;v=oe;return t|0}B=i+4784|0;T=h[B>>2]|0;do{if(T){y=i+48|0;S=h[ee>>2]|0;P=h[r+16>>2]|0;O=h[i+4788>>2]|0;R=ue(P,S)|0;L=Kn(ue(R,O)|0,4)|0;if(!L){Zt(t,1,7780,z)|0;break}a=h[y>>2]|0;k=i+60|0;n=h[k>>2]|0;if(a>>>0>>0){u=ue(a,P)|0;w=i+52|0;p=i+64|0;g=i+56|0;f=h[p>>2]|0;while(1){l=h[w>>2]|0;if(l>>>0>>0){n=h[g>>2]|0;o=l;s=l+u|0;while(1){if(!n)n=0;else{f=s;l=0;while(1){h[L+(f<<2)>>2]=1;l=l+1|0;n=h[g>>2]|0;if(l>>>0>=n>>>0)break;else f=f+R|0}f=h[p>>2]|0}o=o+1|0;if(o>>>0>=f>>>0)break;else s=s+1|0}n=h[k>>2]|0}a=a+1|0;if(a>>>0>=n>>>0)break;else u=u+P|0}}if(T>>>0>1){M=1;do{n=y;y=y+148|0;g=h[n+8>>2]|0;p=n+156|0;l=h[p>>2]|0;g=l>>>0>g>>>0?g:0;s=h[y>>2]|0;E=n+160|0;f=h[E>>2]|0;if(s>>>0>>0){u=ue(s,P)|0;A=n+152|0;k=n+164|0;w=ue(g,R)|0;a=h[k>>2]|0;n=l;while(1){l=h[A>>2]|0;if(l>>>0>>0){o=l;l=l+u|0;while(1){if(g>>>0>>0){f=l+w|0;a=g;while(1){h[L+(f<<2)>>2]=1;a=a+1|0;n=h[p>>2]|0;if(a>>>0>=n>>>0)break;else f=f+R|0}a=h[k>>2]|0}o=o+1|0;if(o>>>0>=a>>>0)break;else l=l+1|0}f=h[E>>2]|0}s=s+1|0;if(s>>>0>=f>>>0)break;else u=u+P|0}}M=M+1|0}while((M|0)!=(T|0))}if((O|0)!=0?(V=(P|0)==0,(S|0)!=0):0){f=0;u=0;n=0;do{if(!V){o=f;s=0;while(1){a=0;l=o;while(1){n=(h[L+(l<<2)>>2]|0)!=1|n;a=a+1|0;if((a|0)==(P|0))break;else l=l+1|0}s=s+1|0;if((s|0)==(S|0))break;else o=o+P|0}f=R+f|0}u=u+1|0}while((u|0)!=(O|0));if(n)Zt(t,1,7828,G)|0}Qn(L)}}while(0);e:do{if(ue(h[$>>2]|0,h[Q>>2]|0)|0){y=i+4788|0;E=i+40|0;A=i+44|0;M=i+18690|0;T=r+16|0;f=i+18696|0;S=r+24|0;P=i+5596|0;O=i+5600|0;R=i+5604|0;L=i+5608|0;C=i+5612|0;D=i+5616|0;x=i+5620|0;I=0;i:while(1){u=h[N>>2]|0;k=u+(I*5640|0)|0;G=h[y>>2]|0;n=u+(I*5640|0)+8|0;h[n>>2]=G;if(G){a=((d[K>>1]|0)+-3&65535)<4;s=0;do{l=(c[F>>0]&4)==0;do{if(!a)if(l){h[u+(I*5640|0)+20+(s<<2)>>2]=h[i+4792+(s<<2)>>2];break}else{h[u+(I*5640|0)+5184+(s<<2)>>2]=h[i+5192+(s<<2)>>2];break}else{if(!l)h[u+(I*5640|0)+5184+(s<<2)>>2]=h[i+5192+(s<<2)>>2];h[u+(I*5640|0)+20+(s<<2)>>2]=h[i+4792+(s<<2)>>2]}}while(0);s=s+1|0}while(s>>>0<(h[n>>2]|0)>>>0)}h[k>>2]=h[E>>2];h[u+(I*5640|0)+4>>2]=h[A>>2];o=u+(I*5640|0)+16|0;h[o>>2]=c[M>>0];n=u+(I*5640|0)+5636|0;a=c[n>>0]|0;c[n>>0]=a&-5;if(!(h[B>>2]|0))h[u+(I*5640|0)+420>>2]=0;else{c[n>>0]=a|4;a=h[B>>2]|0;if(!a)n=0;else{l=I+1|0;s=0;n=0;do{if((l|0)==(h[i+48+(s*148|0)+48>>2]|0)){h[u+(I*5640|0)+424+(n*148|0)>>2]=h[i+48+(n*148|0)>>2];h[u+(I*5640|0)+424+(n*148|0)+4>>2]=h[i+48+(n*148|0)+4>>2];h[u+(I*5640|0)+424+(n*148|0)+8>>2]=h[i+48+(n*148|0)+8>>2];h[u+(I*5640|0)+424+(n*148|0)+12>>2]=h[i+48+(n*148|0)+12>>2];h[u+(I*5640|0)+424+(n*148|0)+16>>2]=h[i+48+(n*148|0)+16>>2];h[u+(I*5640|0)+424+(n*148|0)+32>>2]=h[i+48+(n*148|0)+32>>2];h[u+(I*5640|0)+424+(n*148|0)+48>>2]=h[i+48+(n*148|0)+48>>2];n=n+1|0}s=s+1|0}while(s>>>0>>0)}h[u+(I*5640|0)+420>>2]=n+-1}G=Kn(h[T>>2]|0,1080)|0;g=u+(I*5640|0)+5584|0;h[g>>2]=G;if(!G){Z=149;break}do{if(!(h[f>>2]|0)){r:do{if((h[o>>2]|0)==1){n=h[T>>2]|0;if(n>>>0<=2){l=n;break}a=h[S>>2]|0;n=h[a>>2]|0;do{if((n|0)==(h[a+52>>2]|0)){if((n|0)!=(h[a+104>>2]|0))break;n=h[a+4>>2]|0;if((n|0)!=(h[a+56>>2]|0))break;if((n|0)==(h[a+108>>2]|0)){Z=175;break r}}}while(0);Zt(t,2,8224,ne)|0;h[o>>2]=0;Z=175}else Z=175}while(0);if((Z|0)==175){Z=0;l=h[T>>2]|0}if(!l)break;n=h[S>>2]|0;a=0;do{if(!(h[n+(a*52|0)+32>>2]|0))h[(h[g>>2]|0)+(a*1080|0)+1076>>2]=1<<(h[n+(a*52|0)+24>>2]|0)+-1;a=a+1|0}while(a>>>0>>0);W=l;Z=166}else{l=h[T>>2]|0;l=ue(l<<2,l)|0;n=Gn(l)|0;s=(h[f>>2]|0)+l|0;if(!n){Z=152;break i}h[o>>2]=2;a=Gn(l)|0;h[u+(I*5640|0)+5608>>2]=a;if(!a){Z=154;break i}Gs(a|0,h[f>>2]|0,l|0)|0;Gs(n|0,h[f>>2]|0,l|0)|0;a=Gn(l)|0;l=u+(I*5640|0)+5604|0;h[l>>2]=a;if(!a){Z=156;break i}if(!(Ka(n,a,h[T>>2]|0)|0)){Z=158;break i}a=Gn(h[T>>2]<<3)|0;h[u+(I*5640|0)+5600>>2]=a;if(!a){Z=160;break i}Or(a,h[T>>2]|0,h[l>>2]|0);Qn(n);n=h[T>>2]|0;if(n){a=h[g>>2]|0;l=0;do{h[a+(l*1080|0)+1076>>2]=h[s+(l<<2)>>2];l=l+1|0}while(l>>>0>>0)}if(!(ff(k,r)|0)){Z=167;break i}W=h[T>>2]|0;Z=166}}while(0);if((Z|0)==166?(Z=0,(W|0)!=0):0){p=0;do{k=h[g>>2]|0;w=k+(p*1080|0)|0;h[w>>2]=h[E>>2]&1;l=h[ee>>2]|0;s=k+(p*1080|0)+4|0;h[s>>2]=l;n=h[P>>2]|0;if((n|0)>1){a=0;do{n=n>>1;a=a+1|0}while((n|0)>1);n=a}else n=0;h[k+(p*1080|0)+8>>2]=n;n=h[O>>2]|0;if((n|0)>1){a=0;do{n=n>>1;a=a+1|0}while((n|0)>1);n=a}else n=0;h[k+(p*1080|0)+12>>2]=n;h[k+(p*1080|0)+16>>2]=h[R>>2];G=h[L>>2]|0;h[k+(p*1080|0)+20>>2]=(G|0)==0&1;h[k+(p*1080|0)+24>>2]=(G|0)!=0?2:0;h[k+(p*1080|0)+804>>2]=2;if((p|0)==(h[C>>2]|0))n=h[D>>2]|0;else n=0;h[k+(p*1080|0)+808>>2]=n;do{if(!(h[E>>2]&1)){if(!l)break;else n=0;do{h[k+(p*1080|0)+812+(n<<2)>>2]=15;h[k+(p*1080|0)+944+(n<<2)>>2]=15;n=n+1|0}while(n>>>0<(h[s>>2]|0)>>>0)}else{if((l|0)>0){s=l;u=0}else break;while(1){o=s;s=s+-1|0;n=h[x>>2]|0;do{if((u|0)<(n|0)){n=h[i+5624+(u<<2)>>2]|0;if((n|0)<1)h[k+(p*1080|0)+812+(s<<2)>>2]=1;else{if((n|0)>1){a=0;do{n=n>>1;a=a+1|0}while((n|0)>1);n=a}else n=0;h[k+(p*1080|0)+812+(s<<2)>>2]=n}n=h[i+5756+(u<<2)>>2]|0;if((n|0)<1){h[k+(p*1080|0)+944+(s<<2)>>2]=1;break}if((n|0)>1){a=0;do{n=n>>1;a=a+1|0}while((n|0)>1);n=a}else n=0;h[k+(p*1080|0)+944+(s<<2)>>2]=n}else{G=n+-1|0;a=u-G|0;n=h[i+5624+(G<<2)>>2]>>a;a=h[i+5756+(G<<2)>>2]>>a;if((n|0)<1)h[k+(p*1080|0)+812+(s<<2)>>2]=1;else{if((n|0)>1){l=0;do{n=n>>1;l=l+1|0}while((n|0)>1);n=l}else n=0;h[k+(p*1080|0)+812+(s<<2)>>2]=n}if((a|0)<1){h[k+(p*1080|0)+944+(s<<2)>>2]=1;break}if((a|0)>1){n=0;do{a=a>>1;n=n+1|0}while((a|0)>1)}else n=0;h[k+(p*1080|0)+944+(s<<2)>>2]=n}}while(0);if((o|0)<=1)break;else u=u+1|0}}}while(0);Ua(w,h[(h[S>>2]|0)+(p*52|0)+24>>2]|0);p=p+1|0}while(p>>>0<(h[T>>2]|0)>>>0)}I=I+1|0;if(I>>>0>=(ue(h[$>>2]|0,h[Q>>2]|0)|0)>>>0)break e}if((Z|0)==149){Zt(t,1,7867,ie)|0;t=0;v=oe;return t|0}else if((Z|0)==152){Zt(t,1,7931,re)|0;t=0;v=oe;return t|0}else if((Z|0)==154){Qn(n);Zt(t,1,7974,fe)|0;t=0;v=oe;return t|0}else if((Z|0)==156){Qn(n);Zt(t,1,8032,ae)|0;t=0;v=oe;return t|0}else if((Z|0)==158){Qn(n);Zt(t,1,8092,le)|0;t=0;v=oe;return t|0}else if((Z|0)==160){Qn(n);Zt(t,1,8140,se)|0;t=0;v=oe;return t|0}else if((Z|0)==167){Zt(t,1,8190,te)|0;t=0;v=oe;return t|0}}else f=i+18696|0}while(0);n=h[f>>2]|0;if(!n){t=1;v=oe;return t|0}Qn(n);h[f>>2]=0;t=1;v=oe;return t|0}function ff(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0;if((h[e+16>>2]|0)!=2){e=1;return e|0}o=e+5604|0;w=e+5616|0;r=h[w>>2]|0;u=e+5620|0;do{if(h[o>>2]|0){do{if((r|0)==(h[u>>2]|0)){r=r+10|0;h[u>>2]=r;t=e+5612|0;r=Zn(h[t>>2]|0,r*20|0)|0;if(r){h[t>>2]=r;k=h[w>>2]|0;qs(r+(k*20|0)|0,0,((h[u>>2]|0)-k|0)*20|0)|0;r=h[w>>2]|0;break}Qn(h[t>>2]|0);h[t>>2]=0;h[u>>2]=0;h[w>>2]=0;e=0;return e|0}else t=e+5612|0}while(0);l=h[t>>2]|0;f=l+(r*20|0)|0;s=l+(r*20|0)+12|0;t=h[s>>2]|0;if(t){Qn(t);h[s>>2]=0}h[l+(r*20|0)+8>>2]=1;h[l+(r*20|0)+4>>2]=1;h[f>>2]=2;t=h[i+16>>2]|0;t=ue(t,t)|0;n=t<<2;a=Gn(n)|0;h[s>>2]=a;if(!a){e=0;return e|0}else{Bo[h[768+(h[f>>2]<<2)>>2]&15](h[o>>2]|0,a,t);h[l+(r*20|0)+16>>2]=n;r=(h[w>>2]|0)+1|0;h[w>>2]=r;a=2;break}}else{a=1;f=0}}while(0);do{if((r|0)==(h[u>>2]|0)){t=r+10|0;h[u>>2]=t;r=e+5612|0;t=Zn(h[r>>2]|0,t*20|0)|0;if(!t){Qn(h[r>>2]|0);h[r>>2]=0;h[u>>2]=0;h[w>>2]=0;e=0;return e|0}else{h[r>>2]=t;n=h[w>>2]|0;qs(t+(n*20|0)|0,0,((h[u>>2]|0)-n|0)*20|0)|0;if(!f){f=0;break}f=t+((n+-1|0)*20|0)|0;break}}else r=e+5612|0}while(0);o=h[r>>2]|0;u=h[w>>2]|0;k=o+(u*20|0)|0;d=o+(u*20|0)+12|0;r=h[d>>2]|0;if(r){Qn(r);h[d>>2]=0}b=a+1|0;h[o+(u*20|0)+8>>2]=a;h[o+(u*20|0)+4>>2]=2;h[k>>2]=2;i=i+16|0;r=h[i>>2]|0;t=r<<2;s=Gn(t)|0;h[d>>2]=s;if(!s){e=0;return e|0}n=Gn(t)|0;if(!n){Qn(h[d>>2]|0);h[d>>2]=0;e=0;return e|0}if(r){a=0;l=n;s=h[e+5584>>2]|0;while(1){_[l>>2]=+(h[s+1076>>2]|0);a=a+1|0;if((a|0)==(r|0))break;else{l=l+4|0;s=s+1080|0}}}Bo[h[768+(h[k>>2]<<2)>>2]&15](n,h[d>>2]|0,r);Qn(n);h[o+(u*20|0)+16>>2]=t;h[w>>2]=(h[w>>2]|0)+1;a=e+5628|0;r=h[a>>2]|0;n=e+5632|0;do{if((r|0)==(h[n>>2]|0)){r=r+10|0;h[n>>2]=r;t=e+5624|0;r=Zn(h[t>>2]|0,r*20|0)|0;if(r){h[t>>2]=r;e=h[a>>2]|0;qs(r+(e*20|0)|0,0,((h[n>>2]|0)-e|0)*20|0)|0;r=h[a>>2]|0;break}Qn(h[t>>2]|0);h[t>>2]=0;h[n>>2]=0;h[a>>2]=0;e=0;return e|0}else t=e+5624|0}while(0);e=h[t>>2]|0;h[e+(r*20|0)+8>>2]=f;w=e+(r*20|0)+16|0;c[w>>0]=c[w>>0]|1;h[e+(r*20|0)+4>>2]=h[i>>2];h[e+(r*20|0)>>2]=b;h[e+(r*20|0)+12>>2]=k;h[a>>2]=(h[a>>2]|0)+1;e=1;return e|0}function af(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function lf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;s=en()|0;o=i+80|0;h[o>>2]=s;if(!s){o=0;return o|0}n=i+192|0;if((pa(h[n>>2]|0,23,t)|0)!=0?(pa(h[n>>2]|0,24,t)|0)!=0:0){a=h[n>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](i,e,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){tn(h[o>>2]|0);h[o>>2]=0;o=0;return o|0}}else ya(a);n=i+188|0;if((pa(h[n>>2]|0,25,t)|0)!=0?(pa(h[n>>2]|0,26,t)|0)!=0:0){a=h[n>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](i,e,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){tn(h[o>>2]|0);h[o>>2]=0;o=0;return o|0}}else ya(a);n=en()|0;h[r>>2]=n;if(!n){o=0;return o|0}fn(h[o>>2]|0,n);n=ue(h[i+116>>2]|0,h[i+112>>2]|0)|0;l=i+196|0;h[(h[l>>2]|0)+36>>2]=n;n=Kn(n,40)|0;f=h[l>>2]|0;h[f+40>>2]=n;if(!n){o=0;return o|0}if(!(h[f+36>>2]|0)){o=1;return o|0}a=0;while(1){h[n+(a*40|0)+28>>2]=100;h[n+(a*40|0)+20>>2]=0;o=Kn(100,24)|0;f=h[l>>2]|0;n=h[f+40>>2]|0;h[n+(a*40|0)+24>>2]=o;a=a+1|0;if(!o){n=0;f=30;break}if(a>>>0>=(h[f+36>>2]|0)>>>0){n=1;f=30;break}}if((f|0)==30)return n|0}tn(h[o>>2]|0);h[o>>2]=0;o=0;return o|0}tn(h[o>>2]|0);h[o>>2]=0;o=0;return o|0}function sf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;if(!e)return;i=e+28|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}a=e+40|0;i=h[a>>2]|0;if(i){f=e+36|0;if(h[f>>2]|0){r=i;n=0;do{t=h[r+(n*40|0)+36>>2]|0;if(t){Qn(t);i=h[a>>2]|0;h[i+(n*40|0)+36>>2]=0;r=i}t=h[r+(n*40|0)+16>>2]|0;if(t){Qn(t);i=h[a>>2]|0;h[i+(n*40|0)+16>>2]=0;r=i}t=h[r+(n*40|0)+24>>2]|0;if(t){Qn(t);r=h[a>>2]|0;h[r+(n*40|0)+24>>2]=0;i=r}n=n+1|0}while(n>>>0<(h[f>>2]|0)>>>0)}Qn(i);h[a>>2]=0}Qn(e);return}function of(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;var b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0;Oe=v;v=v+256|0;Pe=Oe+200|0;Se=Oe+192|0;Me=Oe+184|0;Ae=Oe+176|0;ke=Oe+168|0;be=Oe+160|0;he=Oe+152|0;de=Oe+144|0;ce=Oe+136|0;oe=Oe+128|0;le=Oe+120|0;ae=Oe+112|0;ye=Oe+104|0;ve=Oe+96|0;fe=Oe+88|0;ne=Oe+80|0;te=Oe+72|0;ge=Oe+64|0;re=Oe+56|0;ie=Oe+48|0;me=Oe+40|0;_e=Oe+32|0;we=Oe+24|0;se=Oe+16|0;ee=Oe+8|0;$=Oe;G=Oe+240|0;z=Oe+236|0;W=Oe+232|0;Z=Oe+228|0;Q=Oe+224|0;V=Oe+220|0;J=Oe+216|0;X=Oe+212|0;K=Oe+208|0;h[X>>2]=65424;Te=e+8|0;e:do{switch(h[Te>>2]|0){case 256:{h[X>>2]=65497;b=e+76|0;Ee=117;break}case 8:{pe=e+76|0;if(!(c[pe>>0]&1)){U=e+200|0;H=e+164|0;Y=e+72|0;q=e+24|0;S=e+196|0;P=e+112|0;O=e+116|0;L=G+2|0;C=G+6|0;D=G+7|0;x=e+16|0;I=e+20|0;B=e+64|0;b=65424;i:while(1){r:do{if((b|0)!=65427){while(1){T=Gt(o)|0;if((T|0)==0&(j|0)==0){Ee=7;break}if((qt(o,h[x>>2]|0,2,u)|0)!=2){Ee=9;break i}gt(h[x>>2]|0,K,2);if((h[K>>2]|0)>>>0<2){Ee=11;break i}if((h[X>>2]|0)==32896?(T=Gt(o)|0,(T|0)==0&(j|0)==0):0){Ee=14;break}_=h[Te>>2]|0;b=h[K>>2]|0;if(_&16)h[q>>2]=-2-b+(h[q>>2]|0);k=b+-2|0;h[K>>2]=k;b=h[X>>2]|0;w=784;while(1){T=h[w>>2]|0;if((T|0)==0|(T|0)==(b|0)){A=w;break}else w=w+12|0}if(!(h[w+4>>2]&_)){Ee=20;break i}if(k>>>0>(h[I>>2]|0)>>>0){T=Gt(o)|0;M=j;if(0>(M|0)|0==(M|0)&k>>>0>T>>>0){Ee=24;break i}b=Zn(h[x>>2]|0,h[K>>2]|0)|0;if(!b){Ee=26;break i}h[x>>2]=b;k=h[K>>2]|0;h[I>>2]=k}else b=h[x>>2]|0;k=qt(o,b,k,u)|0;if((k|0)!=(h[K>>2]|0)){Ee=29;break i}b=h[w+8>>2]|0;if(!b){Ee=31;break i}if(!(Fo[b&63](e,h[x>>2]|0,k,u)|0)){Ee=33;break i}w=h[U>>2]|0;k=h[S>>2]|0;g=h[A>>2]|0;y=Vt(o)|0;E=h[K>>2]|0;y=y-E+-4|0;E=E+4|0;k=k+40|0;p=h[k>>2]|0;b=h[p+(w*40|0)+20>>2]|0;_=p+(w*40|0)+28|0;m=h[_>>2]|0;if((b+1|0)>>>0>m>>>0){m=~~(+(m>>>0)+100.0)>>>0;h[_>>2]=m;_=Zn(h[p+(w*40|0)+24>>2]|0,m*24|0)|0;m=h[k>>2]|0;b=m+(w*40|0)+24|0;if(!_){Ee=41;break i}h[b>>2]=_;k=m;b=h[m+(w*40|0)+20>>2]|0}else{k=p;_=h[p+(w*40|0)+24>>2]|0}d[_+(b*24|0)>>1]=g;T=_+(b*24|0)+8|0;h[T>>2]=y;h[T+4>>2]=((y|0)<0)<<31>>31;h[_+(b*24|0)+16>>2]=E;h[k+(w*40|0)+20>>2]=b+1;if((g|0)==65424?(R=h[k+(w*40|0)+16>>2]|0,(R|0)!=0):0){T=R+((h[k+(w*40|0)+12>>2]|0)*24|0)|0;h[T>>2]=y;h[T+4>>2]=0}do{if((h[A>>2]|0)==65424){b=Vt(o)|0;b=-4-(h[K>>2]|0)+b|0;T=B;M=h[T+4>>2]|0;if(!(0>(M|0)|(0==(M|0)?b>>>0>(h[T>>2]|0)>>>0:0)))break;T=B;h[T>>2]=b;h[T+4>>2]=0}}while(0);if(c[pe>>0]&4){Ee=46;break}if((qt(o,h[x>>2]|0,2,u)|0)!=2){Ee=50;break i}gt(h[x>>2]|0,X,2);if((h[X>>2]|0)==65427)break r}if((Ee|0)==7){Ee=0;h[Te>>2]=64;break}else if((Ee|0)==14){Ee=0;h[Te>>2]=64;break}else if((Ee|0)==46){Ee=0;T=Kt(o,h[q>>2]|0,0,u)|0;if(!((j|0)==0?(T|0)==(h[q>>2]|0):0)){Ee=47;break i}h[X>>2]=65427;break}}}while(0);T=Gt(o)|0;if((T|0)==0&(j|0)==0?(h[Te>>2]|0)==64:0){Ee=115;break}b=c[pe>>0]|0;if(!(b&4)){k=h[U>>2]|0;w=h[H>>2]|0;if(!(h[Y>>2]|0)){b=h[q>>2]|0;if(b>>>0>1){_=b+-2|0;h[q>>2]=_}else _=b}else{_=Gt(o)|0;_=zs(_|0,j|0,-2,0)|0;h[q>>2]=_}b=w+(k*5640|0)+5592|0;T=w+(k*5640|0)+5596|0;do{if(!_)M=1;else{M=Gt(o)|0;A=j;if(0>(A|0)|0==(A|0)&_>>>0>M>>>0)Zt(u,2,8573,fe)|0;k=h[b>>2]|0;if(!k){M=Gn(h[q>>2]|0)|0;h[b>>2]=M;if(!M)break i;else{M=0;break}}k=Zn(k,(h[q>>2]|0)+(h[T>>2]|0)|0)|0;if(!k){Ee=65;break i}h[b>>2]=k;M=0}}while(0);k=h[S>>2]|0;if(k){y=Vt(o)|0;_=j;A=zs(y|0,_|0,-2,-1)|0;w=h[U>>2]|0;k=k+40|0;p=h[k>>2]|0;g=h[p+(w*40|0)+12>>2]|0;m=h[p+(w*40|0)+16>>2]|0;E=m+(g*24|0)+8|0;h[E>>2]=A;h[E+4>>2]=j;E=h[q>>2]|0;_=zs(E|0,0,y|0,_|0)|0;g=m+(g*24|0)+16|0;h[g>>2]=_;h[g+4>>2]=j;E=E+2|0;g=h[p+(w*40|0)+20>>2]|0;_=p+(w*40|0)+28|0;m=h[_>>2]|0;if((g+1|0)>>>0>m>>>0){m=~~(+(m>>>0)+100.0)>>>0;h[_>>2]=m;_=Zn(h[p+(w*40|0)+24>>2]|0,m*24|0)|0;m=h[k>>2]|0;p=m+(w*40|0)+24|0;if(!_){b=p;Ee=74;break}h[p>>2]=_;y=m;k=h[m+(w*40|0)+20>>2]|0}else{y=p;_=h[p+(w*40|0)+24>>2]|0;k=g}d[_+(k*24|0)>>1]=-109;g=Ys(0,A|0,32)|0;A=_+(k*24|0)+8|0;h[A>>2]=g;h[A+4>>2]=j;h[_+(k*24|0)+16>>2]=E;h[y+(w*40|0)+20>>2]=k+1}if(!M)b=qt(o,(h[b>>2]|0)+(h[T>>2]|0)|0,h[q>>2]|0,u)|0;else b=0;h[Te>>2]=(b|0)==(h[q>>2]|0)?8:64;h[T>>2]=(h[T>>2]|0)+b;b=c[pe>>0]|0;if((b&9)==1){c[pe>>0]=b|8;k=h[U>>2]|0;do{if((Jt(o)|0)!=0?(N=Vt(o)|0,F=j,!((N|0)==-1&(F|0)==-1)):0){while(1){if((qt(o,G,2,u)|0)!=2){Ee=81;break}gt(G,z,2);if((h[z>>2]|0)!=65424){Ee=83;break}if((qt(o,G,2,u)|0)!=2){Ee=85;break}gt(G,W,2);if((h[W>>2]|0)!=10){Ee=87;break}h[W>>2]=8;b=qt(o,G,8,u)|0;if((b|0)!=(h[W>>2]|0)){Ee=89;break}if((b|0)!=8){Ee=91;break}gt(G,Z,2);gt(L,Q,4);gt(C,V,1);gt(D,J,1);if((h[Z>>2]|0)==(k|0)){Ee=97;break}b=h[Q>>2]|0;if(b>>>0<14){Ee=94;break}Ee=b+-12|0;h[Q>>2]=Ee;Ee=Kt(o,Ee,0,u)|0;if(!((j|0)==0?(Ee|0)==(h[Q>>2]|0):0)){Ee=96;break}}if((Ee|0)==81){Ee=0;b=(Wt(o,N,F,u)|0)!=0&1;k=0;break}else if((Ee|0)==83){Ee=0;b=(Wt(o,N,F,u)|0)!=0&1;k=0;break}else if((Ee|0)==85){Ee=0;Zt(u,1,8295,ae)|0;b=0;k=0;break}else if((Ee|0)==87){Ee=0;Zt(u,1,8313,le)|0;b=0;k=0;break}else if((Ee|0)==89){Ee=0;Zt(u,1,8295,oe)|0;b=0;k=0;break}else if((Ee|0)==91){Ee=0;Zt(u,1,8662,ce)|0;b=0;k=0;break}else if((Ee|0)==94){Ee=0;b=(Wt(o,N,F,u)|0)!=0&1;k=0;break}else if((Ee|0)==96){Ee=0;b=(Wt(o,N,F,u)|0)!=0&1;k=0;break}else if((Ee|0)==97){Ee=0;k=(h[V>>2]|0)==(h[J>>2]|0)&1;b=(Wt(o,N,F,u)|0)!=0&1;break}}else{b=1;k=0}}while(0);if(!b){Ee=99;break}if(k){b=ue(h[O>>2]|0,h[P>>2]|0)|0;c[pe>>0]=c[pe>>0]&-18|16;if(b){k=h[H>>2]|0;m=0;do{w=k+(m*5640|0)+5588|0;_=h[w>>2]|0;if(_)h[w>>2]=_+1;m=m+1|0}while((m|0)!=(b|0))}Zt(u,2,8734,he)|0}}if(!(c[pe>>0]&1)){if((qt(o,h[x>>2]|0,2,u)|0)!=2){Ee=109;break}gt(h[x>>2]|0,X,2)}}else{c[pe>>0]=b&-6;h[Te>>2]=8;if((qt(o,h[x>>2]|0,2,u)|0)!=2){Ee=113;break}gt(h[x>>2]|0,X,2)}b=h[X>>2]|0;if(!((b|0)!=65497&(c[pe>>0]&1)==0)){Ee=116;break}}switch(Ee|0){case 9:{Zt(u,1,8295,$)|0;u=0;v=Oe;return u|0}case 11:{Zt(u,1,8313,ee)|0;u=0;v=Oe;return u|0}case 20:{Zt(u,1,8339,se)|0;u=0;v=Oe;return u|0}case 24:{Zt(u,1,8382,we)|0;u=0;v=Oe;return u|0}case 26:{Qn(h[x>>2]|0);h[x>>2]=0;h[I>>2]=0;Zt(u,1,8427,_e)|0;u=0;v=Oe;return u|0}case 29:{Zt(u,1,8295,me)|0;u=0;v=Oe;return u|0}case 31:{Zt(u,1,8461,ie)|0;u=0;v=Oe;return u|0}case 33:{h[re>>2]=h[X>>2];Zt(u,1,8490,re)|0;u=0;v=Oe;return u|0}case 41:{Qn(h[b>>2]|0);Pe=h[k>>2]|0;h[Pe+(w*40|0)+24>>2]=0;h[Pe+(w*40|0)+28>>2]=0;h[Pe+(w*40|0)+20>>2]=0;Zt(u,1,8537,ge)|0;u=0;v=Oe;return u|0}case 47:{Zt(u,1,8295,te)|0;u=0;v=Oe;return u|0}case 50:{Zt(u,1,8295,ne)|0;u=0;v=Oe;return u|0}case 65:{Qn(h[b>>2]|0);h[b>>2]=0;break}case 74:{Qn(h[b>>2]|0);Pe=h[k>>2]|0;h[Pe+(w*40|0)+24>>2]=0;h[Pe+(w*40|0)+28>>2]=0;h[Pe+(w*40|0)+20>>2]=0;Zt(u,1,8537,ye)|0;u=0;v=Oe;return u|0}case 99:{Zt(u,1,8688,de)|0;u=0;v=Oe;return u|0}case 109:{Zt(u,1,8295,be)|0;u=0;v=Oe;return u|0}case 113:{Zt(u,1,8295,ke)|0;u=0;v=Oe;return u|0}case 115:{b=h[X>>2]|0;Ee=116;break}}if((Ee|0)==116)if((b|0)==65497){b=pe;Ee=117;break e}else{b=pe;break e}Zt(u,1,8628,ve)|0;u=0;v=Oe;return u|0}else b=pe;break}default:{u=0;v=Oe;return u|0}}}while(0);if((Ee|0)==117)if((h[Te>>2]|0)!=256){h[e+200>>2]=0;h[Te>>2]=256}if(!(c[b>>0]&1)){_=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;m=e+200|0;k=h[m>>2]|0;e:do{if(k>>>0<_>>>0){b=k;w=(h[e+164>>2]|0)+(k*5640|0)|0;while(1){if(h[w+5592>>2]|0){k=b;break e}k=b+1|0;h[m>>2]=k;if(k>>>0<_>>>0){b=k;w=w+5640|0}else break}}}while(0);if((k|0)==(_|0)){h[s>>2]=0;u=1;v=Oe;return u|0}}else{k=e+200|0;m=k;k=h[k>>2]|0}T=h[e+164>>2]|0;if(c[T+(k*5640|0)+5636>>0]&2){S=T+(k*5640|0)+5160|0;w=h[S>>2]|0;if(!w)b=0;else{_=h[T+(k*5640|0)+5164>>2]|0;p=0;b=0;do{b=(h[_+(p<<3)+4>>2]|0)+b|0;p=p+1|0}while((p|0)!=(w|0))}Ee=Gn(b)|0;M=T+(k*5640|0)+5172|0;h[M>>2]=Ee;if(!Ee){Zt(u,1,8775,Ae)|0;Zt(u,1,8813,Me)|0;u=0;v=Oe;return u|0}A=T+(k*5640|0)+5180|0;h[A>>2]=b;w=h[S>>2]|0;E=T+(k*5640|0)+5164|0;if(!w)b=h[E>>2]|0;else{b=h[E>>2]|0;g=b;y=0;p=0;while(1){_=h[g+(y<<3)>>2]|0;if(!_)_=g;else{Gs((h[M>>2]|0)+p|0,_|0,h[g+(y<<3)+4>>2]|0)|0;_=h[E>>2]|0;p=(h[_+(y<<3)+4>>2]|0)+p|0;Qn(h[_+(y<<3)>>2]|0);_=h[E>>2]|0;h[_+(y<<3)>>2]=0;h[_+(y<<3)+4>>2]=0;w=h[S>>2]|0;b=_}y=y+1|0;if(y>>>0>=w>>>0)break;else g=_}}h[S>>2]=0;Qn(b);h[E>>2]=0;h[T+(k*5640|0)+5168>>2]=h[M>>2];h[T+(k*5640|0)+5176>>2]=h[A>>2];k=h[m>>2]|0}b=e+204|0;if(!(Kr(h[b>>2]|0,k,u)|0)){Zt(u,1,8839,Se)|0;u=0;v=Oe;return u|0}else{Se=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;h[Pe>>2]=(h[m>>2]|0)+1;h[Pe+4>>2]=Se;Zt(u,4,8873,Pe)|0;h[i>>2]=h[m>>2];h[s>>2]=1;u=Wr(h[b>>2]|0)|0;h[r>>2]=u;u=h[h[(h[b>>2]|0)+20>>2]>>2]|0;h[t>>2]=h[u>>2];h[n>>2]=h[u+4>>2];h[f>>2]=h[u+8>>2];h[a>>2]=h[u+12>>2];h[l>>2]=h[u+16>>2];h[Te>>2]=h[Te>>2]|128;u=1;v=Oe;return u|0}return 0}function uf(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0;m=v;v=v+48|0;w=m+28|0;_=m+32|0;d=e+8|0;if(!(h[d>>2]&128)){n=0;v=m;return n|0}k=e+200|0;if((h[k>>2]|0)!=(i|0)){n=0;v=m;return n|0}a=h[e+164>>2]|0;u=a+(i*5640|0)|0;b=a+(i*5640|0)+5592|0;l=h[b>>2]|0;if(!l){Mf(u);n=0;v=m;return n|0}s=e+204|0;o=a+(i*5640|0)+5596|0;if(!(Zr(h[s>>2]|0,l,h[o>>2]|0,i,h[e+196>>2]|0,f)|0)){Mf(u);h[d>>2]=h[d>>2]|32768;Zt(f,1,8912,m)|0;n=0;v=m;return n|0}if(!(Qr(h[s>>2]|0,r,t)|0)){n=0;v=m;return n|0}a=h[b>>2]|0;if(a){Qn(a);h[b>>2]=0;h[o>>2]=0}b=e+76|0;c[b>>0]=c[b>>0]&-2;h[d>>2]=h[d>>2]&-129;b=Gt(n)|0;e=h[d>>2]|0;if((e|0)==256|(b|0)==0&(j|0)==0&(e|0)==64){n=1;v=m;return n|0}if((qt(n,_,2,f)|0)!=2){Zt(f,2,8931,m+8|0)|0;n=1;v=m;return n|0}gt(_,w,2);switch(h[w>>2]|0){case 65497:{h[k>>2]=0;h[d>>2]=256;n=1;v=m;return n|0}case 65424:{n=1;v=m;return n|0}default:if((Gt(n)|0)==0&(j|0)==0){h[d>>2]=64;Zt(f,2,8975,m+16|0)|0;n=1;v=m;return n|0}else{Zt(f,1,9005,m+24|0)|0;n=0;v=m;return n|0}}return 0}function cf(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;var l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;M=v;v=v+112|0;A=M+96|0;E=M+88|0;y=M+80|0;g=M+72|0;p=M+64|0;_=M+56|0;w=M+48|0;d=M+40|0;u=M+32|0;o=M+24|0;s=M+16|0;b=h[e+80>>2]|0;if((h[e+8>>2]|0)!=8){Zt(a,1,9037,M)|0;a=0;v=M;return a|0}if(!(t|r|n|f)){Zt(a,4,9116,M+8|0)|0;h[e+28>>2]=0;h[e+32>>2]=0;h[e+36>>2]=h[e+112>>2];h[e+40>>2]=h[e+116>>2];a=1;v=M;return a|0}m=b+8|0;l=h[m>>2]|0;if(l>>>0>>0){h[s>>2]=r;h[s+4>>2]=l;Zt(a,1,9185,s)|0;a=0;v=M;return a|0}l=h[b>>2]|0;if(l>>>0>r>>>0){h[o>>2]=r;h[o+4>>2]=l;Zt(a,2,9272,o)|0;l=0;r=h[b>>2]|0}else l=((r-(h[e+92>>2]|0)|0)>>>0)/((h[e+100>>2]|0)>>>0)|0;h[e+28>>2]=l;h[i>>2]=r;k=b+12|0;r=h[k>>2]|0;if(r>>>0>>0){h[u>>2]=t;h[u+4>>2]=r;Zt(a,1,9360,u)|0;a=0;v=M;return a|0}s=b+4|0;r=h[s>>2]|0;if(r>>>0>t>>>0){h[d>>2]=t;h[d+4>>2]=r;Zt(a,2,9445,d)|0;r=0;t=h[s>>2]|0}else r=((t-(h[e+96>>2]|0)|0)>>>0)/((h[e+104>>2]|0)>>>0)|0;h[e+32>>2]=r;o=i+4|0;h[o>>2]=t;r=h[b>>2]|0;if(r>>>0>n>>>0){h[w>>2]=n;h[w+4>>2]=r;Zt(a,1,9531,w)|0;a=0;v=M;return a|0}r=h[m>>2]|0;if(r>>>0>>0){h[_>>2]=n;h[_+4>>2]=r;Zt(a,2,9620,_)|0;r=h[e+112>>2]|0;n=h[m>>2]|0}else{r=h[e+100>>2]|0;r=(n+-1-(h[e+92>>2]|0)+r|0)/(r|0)|0}h[e+36>>2]=r;l=i+8|0;h[l>>2]=n;n=h[s>>2]|0;if(n>>>0>f>>>0){h[p>>2]=f;h[p+4>>2]=n;Zt(a,1,9708,p)|0;a=0;v=M;return a|0}n=h[k>>2]|0;if(n>>>0>>0){h[g>>2]=f;h[g+4>>2]=n;Zt(a,2,9798,g)|0;r=h[k>>2]|0;n=h[e+116>>2]|0}else{n=h[e+104>>2]|0;r=f;n=(f+-1-(h[e+96>>2]|0)+n|0)/(n|0)|0}h[e+40>>2]=n;f=i+12|0;h[f>>2]=r;g=e+76|0;c[g>>0]=c[g>>0]|2;g=h[i+16>>2]|0;e=h[i>>2]|0;e:do{if(g){t=h[o>>2]|0;m=t+-1|0;p=h[l>>2]|0;k=p+-1|0;w=e+-1|0;n=0;b=h[i+24>>2]|0;while(1){i=h[b>>2]|0;r=(w+i|0)/(i|0)|0;h[b+16>>2]=r;d=h[b+4>>2]|0;l=(m+d|0)/(d|0)|0;h[b+20>>2]=l;i=(k+i|0)/(i|0)|0;s=h[b+40>>2]|0;o=Xs(1,0,s|0)|0;u=j;i=zs(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;i=zs(i|0,j|0,o|0,u|0)|0;i=Ys(i|0,j|0,s|0)|0;r=zs(r|0,((r|0)<0)<<31>>31|0,-1,-1)|0;r=zs(r|0,j|0,o|0,u|0)|0;r=Ys(r|0,j|0,s|0)|0;r=i-r|0;if((r|0)<0){l=29;break}_=h[f>>2]|0;i=(d+-1+_|0)/(d|0)|0;h[b+8>>2]=r;i=zs(i|0,((i|0)<0)<<31>>31|0,-1,-1)|0;i=zs(i|0,j|0,o|0,u|0)|0;i=Ys(i|0,j|0,s|0)|0;r=zs(l|0,((l|0)<0)<<31>>31|0,-1,-1)|0;r=zs(r|0,j|0,o|0,u|0)|0;r=Ys(r|0,j|0,s|0)|0;r=i-r|0;if((r|0)<0){l=31;break}h[b+12>>2]=r;n=n+1|0;if(n>>>0>=g>>>0){r=p;n=_;break e}else b=b+52|0}if((l|0)==29){h[y>>2]=n;h[y+4>>2]=r;Zt(a,1,9887,y)|0;a=0;v=M;return a|0}else if((l|0)==31){h[E>>2]=n;h[E+4>>2]=r;Zt(a,1,9956,E)|0;a=0;v=M;return a|0}}else{t=h[o>>2]|0;r=h[l>>2]|0;n=h[f>>2]|0}}while(0);h[A>>2]=e;h[A+4>>2]=t;h[A+8>>2]=r;h[A+12>>2]=n;Zt(a,4,10025,A)|0;a=1;v=M;return a|0}function df(){var e=0,i=0,r=0;e=Kn(1,208)|0;if(!e){i=0;return i|0}h[e>>2]=1;i=e+184|0;c[i>>0]=c[i>>0]|2;i=Kn(1,5640)|0;h[e+12>>2]=i;if(!i){tf(e);i=0;return i|0}i=Kn(1,1e3)|0;h[e+16>>2]=i;if(!i){tf(e);i=0;return i|0}h[e+20>>2]=1e3;h[e+60>>2]=-1;i=e+64|0;h[i>>2]=0;h[i+4>>2]=0;i=Kn(1,48)|0;do{if(i){h[i+32>>2]=100;h[i+24>>2]=0;r=Kn(100,24)|0;h[i+28>>2]=r;if(!r){Qn(i);break}h[i+40>>2]=0;h[e+196>>2]=i;r=_a()|0;h[e+192>>2]=r;if(!r){tf(e);r=0;return r|0}r=_a()|0;h[e+188>>2]=r;if(r){r=e;return r|0}tf(e);r=0;return r|0}}while(0);h[e+196>>2]=0;tf(e);r=0;return r|0}function hf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,w=0,_=0,m=0,p=0;m=v;v=v+128|0;_=m+104|0;w=m+72|0;b=m+64|0;u=m+40|0;s=m+24|0;a=m+16|0;f=m+8|0;n=m;if(i&384){cs(10063,11,1,r)|0;v=m;return}if((i&1|0)!=0?(t=h[e+80>>2]|0,(t|0)!=0):0)bf(t,0,r);if(i&2){cs(10075,36,1,r)|0;t=h[e+96>>2]|0;h[n>>2]=h[e+92>>2];h[n+4>>2]=t;es(r,10112,n)|0;n=h[e+104>>2]|0;h[f>>2]=h[e+100>>2];h[f+4>>2]=n;es(r,10130,f)|0;f=h[e+116>>2]|0;h[a>>2]=h[e+112>>2];h[a+4>>2]=f;es(r,10148,a)|0;Rf(h[e+12>>2]|0,h[(h[e+80>>2]|0)+16>>2]|0,r);cs(10164,2,1,r)|0}if((i&8|0)!=0?(l=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0,(l|0)!=0):0){t=e+80|0;n=0;f=h[e+164>>2]|0;while(1){Rf(f,h[(h[t>>2]|0)+16>>2]|0,r);n=n+1|0;if((n|0)==(l|0))break;else f=f+5640|0}}if(!(i&16)){v=m;return}a=h[e+196>>2]|0;cs(10167,37,1,r)|0;l=a;i=h[l+4>>2]|0;t=a+8|0;e=h[t>>2]|0;t=h[t+4>>2]|0;f=s;h[f>>2]=h[l>>2];h[f+4>>2]=i;f=s+8|0;h[f>>2]=e;h[f+4>>2]=t;es(r,10205,s)|0;cs(10272,17,1,r)|0;f=a+28|0;t=h[f>>2]|0;e:do{if((t|0)!=0?(o=a+24|0,(h[o>>2]|0)!=0):0){n=0;while(1){i=t+(n*24|0)+8|0;l=h[i>>2]|0;i=h[i+4>>2]|0;s=h[t+(n*24|0)+16>>2]|0;h[u>>2]=k[t+(n*24|0)>>1];e=u+8|0;h[e>>2]=l;h[e+4>>2]=i;h[u+16>>2]=s;es(r,10290,u)|0;n=n+1|0;if(n>>>0>=(h[o>>2]|0)>>>0)break e;t=h[f>>2]|0}}}while(0);cs(10321,4,1,r)|0;i=a+40|0;f=h[i>>2]|0;if((f|0)!=0?(d=a+36|0,c=h[d>>2]|0,(c|0)!=0):0){n=0;t=0;do{t=(h[f+(n*40|0)+4>>2]|0)+t|0;n=n+1|0}while((n|0)!=(c|0));if(t){cs(10326,16,1,r)|0;if(h[d>>2]|0){t=h[i>>2]|0;l=0;do{a=h[t+(l*40|0)+4>>2]|0;h[b>>2]=l;h[b+4>>2]=a;es(r,10343,b)|0;t=h[i>>2]|0;n=h[t+(l*40|0)+16>>2]|0;e:do{if(!((a|0)==0|(n|0)==0)){t=0;while(1){e=n+(t*24|0)|0;p=h[e>>2]|0;e=h[e+4>>2]|0;o=n+(t*24|0)+8|0;s=h[o>>2]|0;o=h[o+4>>2]|0;c=n+(t*24|0)+16|0;u=h[c>>2]|0;c=h[c+4>>2]|0;h[w>>2]=t;f=w+8|0;h[f>>2]=p;h[f+4>>2]=e;f=w+16|0;h[f>>2]=s;h[f+4>>2]=o;f=w+24|0;h[f>>2]=u;h[f+4>>2]=c;es(r,10379,w)|0;f=t+1|0;t=h[i>>2]|0;if((f|0)==(a|0))break e;n=h[t+(l*40|0)+16>>2]|0;t=f}}}while(0);n=h[t+(l*40|0)+24>>2]|0;e:do{if((n|0)!=0?(h[t+(l*40|0)+20>>2]|0)!=0:0){t=0;while(1){c=n+(t*24|0)+8|0;u=h[c>>2]|0;c=h[c+4>>2]|0;f=h[n+(t*24|0)+16>>2]|0;h[_>>2]=k[n+(t*24|0)>>1];p=_+8|0;h[p>>2]=u;h[p+4>>2]=c;h[_+16>>2]=f;es(r,10290,_)|0;f=t+1|0;t=h[i>>2]|0;if(f>>>0>=(h[t+(l*40|0)+20>>2]|0)>>>0)break e;n=h[t+(l*40|0)+24>>2]|0;t=f}}}while(0);l=l+1|0}while(l>>>0<(h[d>>2]|0)>>>0)}cs(10321,4,1,r)|0}}cs(10164,2,1,r)|0;v=m;return}function bf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;u=v;v=v+64|0;o=u+48|0;s=u+40|0;a=u+32|0;f=u+16|0;n=u;l=u+52|0;if(!i){cs(10482,13,1,r)|0;c[l+1>>0]=0;t=9}else{cs(10445,36,1,h[676]|0)|0;t=0}c[l>>0]=t;d=h[e>>2]|0;t=h[e+4>>2]|0;h[n>>2]=l;h[n+4>>2]=d;h[n+8>>2]=t;es(r,10496,n)|0;n=h[e+8>>2]|0;t=h[e+12>>2]|0;h[f>>2]=l;h[f+4>>2]=n;h[f+8>>2]=t;es(r,10513,f)|0;f=e+16|0;t=h[f>>2]|0;h[a>>2]=l;h[a+4>>2]=t;es(r,10530,a)|0;t=e+24|0;if(!(h[t>>2]|0)){cs(10164,2,1,r)|0;v=u;return}if(!(h[f>>2]|0)){cs(10164,2,1,r)|0;v=u;return}else n=0;do{h[s>>2]=l;h[s+4>>2]=n;es(r,10546,s)|0;kf((h[t>>2]|0)+(n*52|0)|0,i,r);h[o>>2]=l;es(r,10566,o)|0;n=n+1|0}while(n>>>0<(h[f>>2]|0)>>>0);cs(10164,2,1,r)|0;v=u;return}function kf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;s=v;v=v+48|0;l=s+24|0;a=s+16|0;f=s;n=s+32|0;t=(i|0)!=0;if(t){cs(10571,41,1,h[676]|0)|0;i=0}else{c[n+1>>0]=9;c[n+2>>0]=0;i=9}c[n>>0]=i;o=h[e>>2]|0;i=h[e+4>>2]|0;h[f>>2]=n;h[f+4>>2]=o;h[f+8>>2]=i;es(r,10613,f)|0;f=h[e+24>>2]|0;h[a>>2]=n;h[a+4>>2]=f;es(r,10630,a)|0;a=h[e+32>>2]|0;h[l>>2]=n;h[l+4>>2]=a;es(r,10642,l)|0;if(!t){v=s;return}cs(10164,2,1,r)|0;v=s;return}function wf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+16|0;t=u;i=e+80|0;s=h[(h[i>>2]|0)+16>>2]|0;r=Kn(1,56)|0;h[t>>2]=r;if(!r){o=0;v=u;return o|0}h[r+24>>2]=h[(h[i>>2]|0)+16>>2];h[r>>2]=h[e+92>>2];h[r+4>>2]=h[e+96>>2];h[r+8>>2]=h[e+100>>2];h[r+12>>2]=h[e+104>>2];h[r+16>>2]=h[e+112>>2];h[r+20>>2]=h[e+116>>2];h[r+52>>2]=0;r=h[e+12>>2]|0;i=h[t>>2]|0;h[i+32>>2]=h[r>>2];h[i+36>>2]=h[r+4>>2];h[i+40>>2]=h[r+8>>2];h[i+44>>2]=h[r+16>>2];l=Kn(h[i+24>>2]|0,1080)|0;h[i+48>>2]=l;i=h[t>>2]|0;l=i+48|0;e=h[l>>2]|0;if(!e){xn(t);o=0;v=u;return o|0}if(!s){o=i;v=u;return o|0}a=r+5584|0;r=0;while(1){f=h[a>>2]|0;h[e+(r*1080|0)+4>>2]=h[f+(r*1080|0)>>2];t=f+(r*1080|0)+4|0;n=h[t>>2]|0;h[e+(r*1080|0)+8>>2]=n;h[e+(r*1080|0)+12>>2]=h[f+(r*1080|0)+8>>2];h[e+(r*1080|0)+16>>2]=h[f+(r*1080|0)+12>>2];h[e+(r*1080|0)+20>>2]=h[f+(r*1080|0)+16>>2];h[e+(r*1080|0)+24>>2]=h[f+(r*1080|0)+20>>2];if(n>>>0<33){Gs(e+(r*1080|0)+948|0,f+(r*1080|0)+944|0,n|0)|0;Gs(e+(r*1080|0)+816|0,f+(r*1080|0)+812|0,h[t>>2]|0)|0}n=h[f+(r*1080|0)+24>>2]|0;h[e+(r*1080|0)+28>>2]=n;h[e+(r*1080|0)+808>>2]=h[f+(r*1080|0)+804>>2];if((n|0)!=1){n=(h[t>>2]|0)*3|0;t=n+-2|0;if((t|0)<97&(n|0)>2)o=10}else{t=1;o=10}if((o|0)==10){o=0;n=0;do{h[e+(r*1080|0)+32+(n<<2)>>2]=h[f+(r*1080|0)+28+(n<<3)+4>>2];h[e+(r*1080|0)+420+(n<<2)>>2]=h[f+(r*1080|0)+28+(n<<3)>>2];n=n+1|0}while((n|0)!=(t|0))}h[e+(r*1080|0)+812>>2]=h[f+(r*1080|0)+808>>2];r=r+1|0;if((r|0)==(s|0))break;e=h[l>>2]|0}v=u;return i|0}function _f(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;i=Kn(1,48)|0;if(!i){o=0;return o|0}a=e+196|0;r=h[a>>2]|0;l=r;o=h[l+4>>2]|0;e=i;h[e>>2]=h[l>>2];h[e+4>>2]=o;e=r+8|0;o=h[e+4>>2]|0;l=i+8|0;h[l>>2]=h[e>>2];h[l+4>>2]=o;l=r+16|0;o=h[l+4>>2]|0;e=i+16|0;h[e>>2]=h[l>>2];h[e+4>>2]=o;r=h[r+24>>2]|0;e=i+24|0;h[e>>2]=r;r=Gn(r*24|0)|0;o=i+28|0;h[o>>2]=r;if(!r){Qn(i);o=0;return o|0}t=h[(h[a>>2]|0)+28>>2]|0;if(!t){Qn(r);h[o>>2]=0}else Gs(r|0,t|0,(h[e>>2]|0)*24|0)|0;e=h[(h[a>>2]|0)+36>>2]|0;f=i+36|0;h[f>>2]=e;e=Kn(e,40)|0;l=i+40|0;h[l>>2]=e;if(!e){Qn(h[o>>2]|0);Qn(i);o=0;return o|0}r=h[(h[a>>2]|0)+40>>2]|0;if(!r){Qn(e);h[l>>2]=0;o=i;return o|0}if(!(h[f>>2]|0)){o=i;return o|0}r=h[r+20>>2]|0;h[e+20>>2]=r;r=Gn(r*24|0)|0;e=h[l>>2]|0;h[e+24>>2]=r;e:do{if(!r)r=0;else{n=r;r=0;while(1){t=h[(h[(h[a>>2]|0)+40>>2]|0)+(r*40|0)+24>>2]|0;if(!t){Qn(n);e=h[l>>2]|0;h[e+(r*40|0)+24>>2]=0}else{Gs(n|0,t|0,(h[e+(r*40|0)+20>>2]|0)*24|0)|0;e=h[l>>2]|0}t=h[(h[(h[a>>2]|0)+40>>2]|0)+(r*40|0)+4>>2]|0;h[e+(r*40|0)+4>>2]=t;t=Gn(t*24|0)|0;e=h[l>>2]|0;h[e+(r*40|0)+16>>2]=t;if(!t)break;n=h[(h[(h[a>>2]|0)+40>>2]|0)+(r*40|0)+16>>2]|0;if(!n){Qn(t);e=h[l>>2]|0;h[e+(r*40|0)+16>>2]=0}else{Gs(t|0,n|0,(h[e+(r*40|0)+4>>2]|0)*24|0)|0;e=h[l>>2]|0}h[e+(r*40|0)+32>>2]=0;h[e+(r*40|0)+36>>2]=0;r=r+1|0;if(r>>>0>=(h[f>>2]|0)>>>0){s=32;break}n=h[(h[(h[a>>2]|0)+40>>2]|0)+(r*40|0)+20>>2]|0;h[e+(r*40|0)+20>>2]=n;n=Gn(n*24|0)|0;e=h[l>>2]|0;h[e+(r*40|0)+24>>2]=n;if(!n)break e}if((s|0)==32)return i|0;if(r){Qn(h[e+24>>2]|0);Qn(h[(h[l>>2]|0)+16>>2]|0);if((r|0)!=1){e=1;do{Qn(h[(h[l>>2]|0)+(e*40|0)+24>>2]|0);Qn(h[(h[l>>2]|0)+(e*40|0)+16>>2]|0);e=e+1|0}while((e|0)!=(r|0))}e=h[l>>2]|0}Qn(e);Qn(h[o>>2]|0);Qn(i);o=0;return o|0}}while(0);if(r){Qn(h[e+24>>2]|0);if((r|0)!=1){e=1;do{Qn(h[(h[l>>2]|0)+(e*40|0)+24>>2]|0);e=e+1|0}while((e|0)!=(r|0))}e=h[l>>2]|0}Qn(e);Qn(h[o>>2]|0);Qn(i);o=0;return o|0}function mf(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;if(!r){r=0;return r|0}n=en()|0;o=e+84|0;h[o>>2]=n;if(!n){r=0;return r|0}fn(r,n);a=e+188|0;pa(h[a>>2]|0,27,t)|0;a=h[a>>2]|0;l=va(a)|0;n=ga(a)|0;if(l){s=0;f=1;while(1){if(!f)f=0;else f=(Ro[h[n>>2]&63](e,i,t)|0)!=0;s=s+1|0;if((s|0)==(l|0))break;else{n=n+4|0;f=f&1}}ya(a);if(!f){r=e+80|0;tn(h[r>>2]|0);h[r>>2]=0;r=0;return r|0}}else ya(a);l=h[r+16>>2]|0;if(!l){r=1;return r|0}a=h[(h[o>>2]|0)+24>>2]|0;n=h[r+24>>2]|0;f=0;do{h[n+(f*52|0)+36>>2]=h[a+(f*52|0)+36>>2];r=a+(f*52|0)+44|0;h[n+(f*52|0)+44>>2]=h[r>>2];h[r>>2]=0;f=f+1|0}while(f>>>0>>0);n=1;return n|0}function pf(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;m=v;v=v+16|0;l=m+8|0;if(!r){Zt(t,1,10654,m)|0;_=0;v=m;return _|0}f=h[e+112>>2]|0;a=ue(h[e+116>>2]|0,f)|0;if(a>>>0<=n>>>0){h[l>>2]=n;h[l+4>>2]=a+-1;Zt(t,1,10692,l)|0;_=0;v=m;return _|0}_=(n>>>0)%(f>>>0)|0;w=(n>>>0)/(f>>>0)|0;l=h[e+100>>2]|0;a=ue(l,_)|0;s=h[e+92>>2]|0;a=a+s|0;h[r>>2]=a;k=e+80|0;f=h[k>>2]|0;o=h[f>>2]|0;a=a>>>0>>0?o:a;h[r>>2]=a;s=(ue(l,_+1|0)|0)+s|0;_=r+8|0;h[_>>2]=s;l=h[f+8>>2]|0;s=s>>>0>l>>>0?l:s;h[_>>2]=s;_=h[e+104>>2]|0;l=ue(_,w)|0;o=h[e+96>>2]|0;l=l+o|0;b=r+4|0;h[b>>2]=l;d=h[f+4>>2]|0;l=l>>>0>>0?d:l;h[b>>2]=l;o=(ue(_,w+1|0)|0)+o|0;w=r+12|0;h[w>>2]=o;_=h[f+12>>2]|0;o=o>>>0>_>>>0?_:o;h[w>>2]=o;w=r+24|0;_=r+16|0;b=h[_>>2]|0;if(b){d=h[f+24>>2]|0;c=a+-1|0;u=l+-1|0;s=s+-1|0;f=o+-1|0;a=0;l=h[w>>2]|0;while(1){o=h[d+(a*52|0)+40>>2]|0;h[l+40>>2]=o;M=h[l>>2]|0;A=(c+M|0)/(M|0)|0;h[l+16>>2]=A;p=h[l+4>>2]|0;E=(u+p|0)/(p|0)|0;h[l+20>>2]=E;M=(s+M|0)/(M|0)|0;p=(f+p|0)/(p|0)|0;y=Xs(1,0,o|0)|0;g=j;M=zs(M|0,((M|0)<0)<<31>>31|0,-1,-1)|0;M=zs(M|0,j|0,y|0,g|0)|0;M=Ys(M|0,j|0,o|0)|0;A=zs(A|0,((A|0)<0)<<31>>31|0,-1,-1)|0;A=zs(A|0,j|0,y|0,g|0)|0;A=Ys(A|0,j|0,o|0)|0;h[l+8>>2]=M-A;p=zs(p|0,((p|0)<0)<<31>>31|0,-1,-1)|0;p=zs(p|0,j|0,y|0,g|0)|0;p=Ys(p|0,j|0,o|0)|0;E=zs(E|0,((E|0)<0)<<31>>31|0,-1,-1)|0;g=zs(E|0,j|0,y|0,g|0)|0;o=Ys(g|0,j|0,o|0)|0;h[l+12>>2]=p-o;a=a+1|0;if(a>>>0>=b>>>0)break;else l=l+52|0}}u=e+84|0;f=h[u>>2]|0;if(f)tn(f);f=en()|0;h[u>>2]=f;if(!f){M=0;v=m;return M|0}fn(r,f);h[e+60>>2]=n;l=e+188|0;pa(h[l>>2]|0,28,t)|0;l=h[l>>2]|0;s=va(l)|0;f=ga(l)|0;if(s){o=0;a=1;while(1){if(!a)a=0;else a=(Ro[h[f>>2]&63](e,i,t)|0)!=0;o=o+1|0;if((o|0)==(s|0))break;else{f=f+4|0;a=a&1}}ya(l);if(!a){tn(h[k>>2]|0);h[k>>2]=0;M=0;v=m;return M|0}}else ya(l);f=h[_>>2]|0;if(!f){M=1;v=m;return M|0}s=h[(h[u>>2]|0)+24>>2]|0;l=h[w>>2]|0;o=0;while(1){h[l+(o*52|0)+36>>2]=h[s+(o*52|0)+36>>2];a=h[l+(o*52|0)+44>>2]|0;if(!a)a=s;else{Qn(a);a=h[(h[u>>2]|0)+24>>2]|0;l=h[w>>2]|0;f=h[_>>2]|0}M=a+(o*52|0)+44|0;h[l+(o*52|0)+44>>2]=h[M>>2];h[M>>2]=0;o=o+1|0;if(o>>>0>=f>>>0){f=1;break}else s=a}v=m;return f|0}function vf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;h[e+168>>2]=i;t=h[e+80>>2]|0;e:do{if((((t|0)!=0?(a=h[t+24>>2]|0,(a|0)!=0):0)?(n=h[e+12>>2]|0,(n|0)!=0):0)?(f=h[n+5584>>2]|0,(f|0)!=0):0){t=h[t+16>>2]|0;if(!t)t=1;else{n=0;while(1){if((h[f+(n*1080|0)+4>>2]|0)>>>0<=i>>>0)break;h[a+(n*52|0)+40>>2]=i;n=n+1|0;if(n>>>0>=t>>>0){t=1;break e}}Zt(r,1,10753,l)|0;t=0}}else t=0}while(0);v=s;return t|0}function gf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0;Y=v;v=v+48|0;j=Y+32|0;U=Y+24|0;F=Y+16|0;B=Y+8|0;N=Y;T=e+204|0;t=h[T>>2]|0;L=e+116|0;C=e+112|0;D=ue(h[C>>2]|0,h[L>>2]|0)|0;x=(D|0)==1;if(!D){H=1;v=Y;return H|0}I=e+200|0;S=e+12|0;P=e+164|0;O=e+8|0;R=t+20|0;A=t+24|0;M=0;t=0;l=0;e:while(1){if((h[I>>2]|0)!=(M|0)){H=5;break}y=M;M=M+1|0;E=ue(h[L>>2]|0,h[C>>2]|0)|0;h[B>>2]=M;h[B+4>>2]=E;Zt(r,4,10866,B)|0;h[S>>2]=0;E=h[T>>2]|0;h[E+12>>2]=h[(h[P>>2]|0)+(y*5640|0)+5588>>2];h[O>>2]=0;if(!(Gr(E,h[I>>2]|0,r)|0))break;n=h[T>>2]|0;if(h[(h[n+24>>2]|0)+16>>2]|0){a=0;do{f=h[(h[h[R>>2]>>2]|0)+20>>2]|0;if(x){h[f+(a*52|0)+32>>2]=h[(h[(h[A>>2]|0)+24>>2]|0)+(a*52|0)+44>>2];h[f+(a*52|0)+36>>2]=0}else{if(!(Vr(f+(a*52|0)|0)|0)){H=14;break e}n=h[T>>2]|0}a=a+1|0}while(a>>>0<(h[(h[n+24>>2]|0)+16>>2]|0)>>>0)}E=$r(n)|0;if(!x){if(E>>>0>l>>>0){n=Zn(t,E)|0;if(!n){H=20;break}else{t=n;n=E}}else n=l;f=h[T>>2]|0;y=f+24|0;a=h[y>>2]|0;if(h[a+16>>2]|0){g=f+20|0;f=t;p=0;do{w=h[(h[h[g>>2]>>2]|0)+20>>2]|0;s=h[a+24>>2]|0;k=h[s+(p*52|0)+24>>2]|0;k=((k&7|0)!=0&1)+(k>>>3)|0;o=h[w+(p*52|0)+8>>2]|0;u=h[w+(p*52|0)>>2]|0;m=o-u|0;b=h[w+(p*52|0)+12>>2]|0;w=h[w+(p*52|0)+4>>2]|0;z=h[a>>2]|0;X=h[s+(p*52|0)>>2]|0;l=h[s+(p*52|0)+4>>2]|0;q=(X+~z+(h[a+8>>2]|0)|0)/(X|0)|0;_=q-m|0;a=u-((z+-1+X|0)/(X|0)|0)+(ue(q,w-(((h[a+4>>2]|0)+-1+l|0)/(l|0)|0)|0)|0)|0;a=(h[s+(p*52|0)+44>>2]|0)+(a<<2)|0;i:do{switch(((k|0)==3?4:k)|0){case 1:{l=(b|0)==(w|0);if(!(h[s+(p*52|0)+32>>2]|0)){if(l)break i;k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){c[s>>0]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+1|0;o=o+4|0}}f=f+m|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}else{if(l)break i;k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){c[s>>0]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+1|0;o=o+4|0}}f=f+m|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}break}case 2:{l=(b|0)==(w|0);if(!(h[s+(p*52|0)+32>>2]|0)){if(!l){k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){d[s>>1]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+2|0;o=o+4|0}}f=f+(m<<1)|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}}else if(!l){k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){d[s>>1]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+2|0;o=o+4|0}}f=f+(m<<1)|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}break}case 4:{if((b|0)!=(w|0)){k=(o|0)==(u|0);u=b-w|0;b=0;while(1){if(!k){l=0;s=f;o=a;while(1){h[s>>2]=h[o>>2];l=l+1|0;if((l|0)==(m|0))break;else{s=s+4|0;o=o+4|0}}f=f+(m<<2)|0;a=a+(m<<2)|0}b=b+1|0;if((b|0)==(u|0))break;else a=a+(_<<2)|0}}break}default:{}}}while(0);p=p+1|0;a=h[y>>2]|0}while(p>>>0<(h[a+16>>2]|0)>>>0);f=h[T>>2]|0}if(!(et(f,t,E)|0)){H=63;break}}else n=l;if(!(Df(e,i,r)|0)){H=65;break}if(M>>>0>=D>>>0){H=67;break}else l=n}if((H|0)==5)Zt(r,1,10829,N)|0;else if((H|0)==14){Zt(r,1,10887,F)|0;if(!t){z=0;v=Y;return z|0}Qn(t);z=0;v=Y;return z|0}else if((H|0)==20){if(t)Qn(t);Zt(r,1,10925,U)|0;z=0;v=Y;return z|0}else if((H|0)==63){Zt(r,1,10964,j)|0;Qn(t);z=0;v=Y;return z|0}else if((H|0)==65){if(!t){z=0;v=Y;return z|0}Qn(t);z=0;v=Y;return z|0}else if((H|0)==67){if(!t){z=1;v=Y;return z|0}Qn(t);z=1;v=Y;return z|0}if(!t){z=0;v=Y;return z|0}Qn(t);z=0;v=Y;return z|0}function yf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;t=e+188|0;if(!(pa(h[t>>2]|0,29,r)|0)){i=0;return i|0}if(((d[e+88>>1]|0)+-3&65535)<4?(pa(h[t>>2]|0,30,r)|0)==0:0){i=0;return i|0}if(!(pa(h[t>>2]|0,31,r)|0)){i=0;return i|0}if(!(pa(h[t>>2]|0,32,r)|0)){i=0;return i|0}if(!(pa(h[t>>2]|0,33,r)|0)){i=0;return i|0}l=h[t>>2]|0;f=va(l)|0;t=ga(l)|0;if(!f)t=1;else{a=0;n=t;t=1;while(1){if(!t)t=0;else t=(Ro[h[n>>2]&63](e,i,r)|0)!=0;t=t&1;a=a+1|0;if((a|0)==(f|0))break;else n=n+4|0}}ya(l);i=t;return i|0}function Ef(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+16|0;n=en()|0;l=e+80|0;h[l>>2]=n;if(!n){Zt(t,1,11011,o)|0;i=0;v=o;return i|0}fn(r,n);a=h[r+24>>2]|0;if((a|0)!=0?(s=h[r+16>>2]|0,(s|0)!=0):0){f=0;do{r=a+(f*52|0)+44|0;n=h[r>>2]|0;if(n){h[(h[(h[l>>2]|0)+24>>2]|0)+(f*52|0)+44>>2]=n;h[r>>2]=0}f=f+1|0}while(f>>>0>>0)}n=e+192|0;if(!(pa(h[n>>2]|0,34,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,35,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,36,t)|0)){i=0;v=o;return i|0}f=h[n>>2]|0;a=va(f)|0;n=ga(f)|0;if(a){l=0;r=1;while(1){if(!r)r=0;else r=(Ro[h[n>>2]&63](e,i,t)|0)!=0;l=l+1|0;if((l|0)==(a|0))break;else{n=n+4|0;r=r&1}}ya(f);if(!r){i=0;v=o;return i|0}}else ya(f);n=e+188|0;if(!(pa(h[n>>2]|0,37,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,38,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,39,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,40,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,41,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,42,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,43,t)|0)){i=0;v=o;return i|0}r=e+88|0;if(((d[r>>1]|0)+-3&65535)<4){if(!(pa(h[n>>2]|0,44,t)|0)){i=0;v=o;return i|0}if((d[r>>1]|0)==4?(pa(h[n>>2]|0,45,t)|0)==0:0){i=0;v=o;return i|0}}if(!(pa(h[n>>2]|0,46,t)|0)){i=0;v=o;return i|0}if((h[e+108>>2]|0)!=0?(pa(h[n>>2]|0,47,t)|0)==0:0){i=0;v=o;return i|0}if((d[r>>1]&256)!=0?(pa(h[n>>2]|0,48,t)|0)==0:0){i=0;v=o;return i|0}if((h[e+196>>2]|0)!=0?(pa(h[n>>2]|0,49,t)|0)==0:0){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,50,t)|0)){i=0;v=o;return i|0}if(!(pa(h[n>>2]|0,51,t)|0)){i=0;v=o;return i|0}l=h[n>>2]|0;f=va(l)|0;n=ga(l)|0;if(!f)n=1;else{a=0;r=n;n=1;while(1){if(!n)n=0;else n=(Ro[h[r>>2]&63](e,i,t)|0)!=0;n=n&1;a=a+1|0;if((a|0)==(f|0))break;else r=r+4|0}}ya(l);i=n;v=o;return i|0}function Af(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;k=v;v=v+48|0;d=k+40|0;b=k+32|0;c=k+24|0;o=k+16|0;l=k+8|0;a=k;s=e+200|0;if((h[s>>2]|0)==(i|0)){u=ue(h[e+116>>2]|0,h[e+112>>2]|0)|0;h[l>>2]=i+1;h[l+4>>2]=u;Zt(f,4,10866,l)|0;h[e+12>>2]=0;u=e+204|0;l=h[u>>2]|0;h[l+12>>2]=h[(h[e+164>>2]|0)+(i*5640|0)+5588>>2];h[e+8>>2]=0;if(Gr(l,h[s>>2]|0,f)|0){a=h[u>>2]|0;e:do{if(h[(h[a+24>>2]|0)+16>>2]|0){l=0;while(1){if(!(Vr((h[(h[h[a+20>>2]>>2]|0)+20>>2]|0)+(l*52|0)|0)|0))break;l=l+1|0;a=h[u>>2]|0;if(l>>>0>=(h[(h[a+24>>2]|0)+16>>2]|0)>>>0)break e}Zt(f,1,10887,c)|0;b=0;v=k;return b|0}}while(0);if(!(et(a,r,t)|0)){Zt(f,1,10964,b)|0;b=0;v=k;return b|0}if(Df(e,n,f)|0){b=1;v=k;return b|0}h[d>>2]=i;Zt(f,1,11101,d)|0;b=0;v=k;return b|0}}else Zt(f,1,10829,a)|0;h[o>>2]=i;Zt(f,1,11044,o)|0;b=0;v=k;return b|0}function Mf(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0;if(!e)return;n=e+5164|0;i=h[n>>2]|0;if(i){f=e+5160|0;r=h[f>>2]|0;if(r){t=0;while(1){i=h[i+(t<<3)>>2]|0;if(i){Qn(i);r=h[f>>2]|0}t=t+1|0;if(t>>>0>=r>>>0)break;i=h[n>>2]|0}i=h[n>>2]|0}h[f>>2]=0;Qn(i);h[n>>2]=0}i=e+5172|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5584|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5608|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5604|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5624|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0;h[e+5632>>2]=0;h[e+5628>>2]=0}l=e+5612|0;i=h[l>>2]|0;if(i){a=e+5616|0;r=h[a>>2]|0;if(r){f=0;while(1){t=i+12|0;n=h[t>>2]|0;if(n){Qn(n);h[t>>2]=0;r=h[a>>2]|0}f=f+1|0;if(f>>>0>=r>>>0)break;else i=i+20|0}i=h[l>>2]|0}Qn(i);h[l>>2]=0}i=e+5600|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}i=e+5592|0;r=h[i>>2]|0;if(!r)return;Qn(r);h[i>>2]=0;h[e+5596>>2]=0;return}function Tf(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function Sf(e,i,r){e=e|0;i=i|0;r=r|0;return(h[e+8>>2]|0)==0&(h[e+188>>2]|0)!=0&(h[e+192>>2]|0)!=0&1|0}function Pf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0;J=v;v=v+224|0;W=J+200|0;V=J+192|0;z=J+184|0;Y=J+176|0;H=J+168|0;U=J+160|0;N=J+152|0;B=J+144|0;I=J+136|0;O=J+128|0;x=J+120|0;P=J+112|0;S=J+104|0;T=J+96|0;M=J+88|0;A=J+80|0;D=J+72|0;C=J+64|0;E=J+56|0;y=J+48|0;g=J+40|0;R=J+32|0;b=J+24|0;s=J+16|0;l=J+8|0;F=J;X=J+216|0;t=J+204|0;L=J+212|0;p=J+208|0;K=e+8|0;h[K>>2]=1;e:do{if((qt(i,X,2,r)|0)==2?(gt(X,t,2),(h[t>>2]|0)==65359):0){h[K>>2]=2;u=Vt(i)|0;u=zs(u|0,j|0,-2,-1)|0;o=j;G=e+196|0;n=h[G>>2]|0;h[n>>2]=u;h[n+4>>2]=o;n=F;h[n>>2]=u;h[n+4>>2]=o;Zt(r,4,15766,F)|0;n=h[G>>2]|0;o=h[n>>2]|0;u=n+24|0;t=h[u>>2]|0;a=n+32|0;f=h[a>>2]|0;do{if((t+1|0)>>>0>f>>>0){m=~~(+(f>>>0)+100.0)>>>0;h[a>>2]=m;t=n+28|0;n=Zn(h[t>>2]|0,m*24|0)|0;if(!n){Qn(h[t>>2]|0);h[t>>2]=0;h[a>>2]=0;h[u>>2]=0;Zt(r,1,15803,l)|0;break e}else{h[t>>2]=n;t=h[u>>2]|0;break}}else n=h[n+28>>2]|0}while(0);d[n+(t*24|0)>>1]=-177;_=Ys(0,o|0,32)|0;m=n+(t*24|0)+8|0;h[m>>2]=_;h[m+4>>2]=j;h[n+(t*24|0)+16>>2]=2;h[u>>2]=t+1;m=e+16|0;if((qt(i,h[m>>2]|0,2,r)|0)!=2){Zt(r,1,8295,b)|0;r=0;v=J;return r|0}gt(h[m>>2]|0,L,2);t=h[L>>2]|0;if((t|0)!=65424){_=e+20|0;k=0;f=0;w=0;i:while(1){if(t>>>0<65280){q=14;break}else l=784;while(1){n=h[l>>2]|0;a=(n|0)==0;if(a|(n|0)==(t|0))break;else l=l+12|0}if(a){Zt(r,2,15914,g)|0;s=2;r:while(1){do{if((qt(i,h[m>>2]|0,2,r)|0)!=2){q=20;break i}gt(h[m>>2]|0,F,2);t=h[F>>2]|0}while(t>>>0<65280);l=784;while(1){n=h[l>>2]|0;if((n|0)==0|(n|0)==(t|0)){a=l;t=l;break}else l=l+12|0}if(!(h[t+4>>2]&h[K>>2])){q=25;break i}if((n|0)>=65424){q=100;break}switch(n|0){case 0:break;default:{b=a;u=s;break r}}s=s+2|0}if((q|0)==100){q=0;switch(n|0){case 65424:{n=k;t=w;q=27;break i}default:{b=a;u=s}}}l=h[G>>2]|0;o=Vt(i)|0;o=o-u|0;a=l+24|0;t=h[a>>2]|0;n=l+32|0;s=h[n>>2]|0;if((t+1|0)>>>0>s>>>0){t=~~(+(s>>>0)+100.0)>>>0;h[n>>2]=t;l=l+28|0;t=Zn(h[l>>2]|0,t*24|0)|0;if(!t){f=l;t=l;q=32;break}h[l>>2]=t;n=t;t=h[a>>2]|0}else n=h[l+28>>2]|0;d[n+(t*24|0)>>1]=0;s=n+(t*24|0)+8|0;h[s>>2]=o;h[s+4>>2]=((o|0)<0)<<31>>31;h[n+(t*24|0)+16>>2]=u;h[a>>2]=t+1;t=h[b>>2]|0;h[L>>2]=t;if((t|0)==65424){n=k;t=w;break}else a=784;while(1){n=h[a>>2]|0;if((n|0)==0|(n|0)==(t|0))break;else a=a+12|0}}else a=l;w=(n|0)==65361?1:w;k=(n|0)==65362?1:k;f=(n|0)==65372?1:f;if(!(h[a+4>>2]&h[K>>2])){q=38;break}if((qt(i,h[m>>2]|0,2,r)|0)!=2){q=40;break}gt(h[m>>2]|0,p,2);n=(h[p>>2]|0)+-2|0;h[p>>2]=n;t=h[m>>2]|0;if(n>>>0>(h[_>>2]|0)>>>0){t=Zn(t,n)|0;if(!t){q=43;break}h[m>>2]=t;n=h[p>>2]|0;h[_>>2]=n}t=qt(i,t,n,r)|0;if((t|0)!=(h[p>>2]|0)){q=46;break}if(!(Fo[h[a+8>>2]&63](e,h[m>>2]|0,t,r)|0)){q=48;break}s=h[G>>2]|0;o=h[a>>2]|0;u=Vt(i)|0;b=h[p>>2]|0;u=-4-b+u|0;b=b+4|0;a=s+24|0;t=h[a>>2]|0;n=s+32|0;l=h[n>>2]|0;if((t+1|0)>>>0>l>>>0){t=~~(+(l>>>0)+100.0)>>>0;h[n>>2]=t;l=s+28|0;t=Zn(h[l>>2]|0,t*24|0)|0;if(!t){f=l;t=l;q=53;break}h[l>>2]=t;n=t;t=h[a>>2]|0}else n=h[s+28>>2]|0;d[n+(t*24|0)>>1]=o;o=n+(t*24|0)+8|0;h[o>>2]=u;h[o+4>>2]=((u|0)<0)<<31>>31;h[n+(t*24|0)+16>>2]=b;h[a>>2]=t+1;if((qt(i,h[m>>2]|0,2,r)|0)!=2){q=55;break}gt(h[m>>2]|0,L,2);t=h[L>>2]|0;if((t|0)==65424){n=k;t=w;break}}switch(q|0){case 14:{h[R>>2]=t;Zt(r,1,15863,R)|0;r=0;v=J;return r|0}case 20:{Zt(r,1,8295,y)|0;q=34;break}case 25:{Zt(r,1,8339,E)|0;q=34;break}case 27:{h[L>>2]=65424;break}case 32:{Qn(h[t>>2]|0);h[f>>2]=0;h[n>>2]=0;h[a>>2]=0;Zt(r,1,15803,C)|0;q=34;break}case 38:{Zt(r,1,8339,A)|0;r=0;v=J;return r|0}case 40:{Zt(r,1,8295,M)|0;r=0;v=J;return r|0}case 43:{Qn(h[m>>2]|0);h[m>>2]=0;h[_>>2]=0;Zt(r,1,8427,T)|0;r=0;v=J;return r|0}case 46:{Zt(r,1,8295,S)|0;r=0;v=J;return r|0}case 48:{Zt(r,1,15985,P)|0;r=0;v=J;return r|0}case 53:{Qn(h[t>>2]|0);h[f>>2]=0;h[n>>2]=0;h[a>>2]=0;Zt(r,1,15803,x)|0;r=0;v=J;return r|0}case 55:{Zt(r,1,8295,O)|0;r=0;v=J;return r|0}}if((q|0)==34){Zt(r,1,15930,D)|0;r=0;v=J;return r|0}if(t){if(!n){Zt(r,1,16090,B)|0;r=0;v=J;return r|0}if(!f){Zt(r,1,16136,N)|0;r=0;v=J;return r|0}i:do{if(c[e+184>>0]&1){_=e+120|0;do{if(h[_>>2]|0){o=e+124|0;u=0;t=0;n=0;r:do{f=h[o>>2]|0;a=h[f+(u<<3)>>2]|0;t:do{if(a){l=h[f+(u<<3)+4>>2]|0;f=t>>>0>>0;s=f?0:t-l|0;if((l|0)==(t|0)|f^1)t=s;else{a=f?a+t|0:a;t=l-t|0;while(1){if(t>>>0<4){q=70;break r}gt(a,F,4);f=t+-4|0;t=h[F>>2]|0;n=t+n|0;if(f>>>0>>0)break;if((f|0)==(t|0)){t=s;break t}else{a=a+(t+4)|0;t=f-t|0}}t=t-f|0}}}while(0);u=u+1|0}while(u>>>0<(h[_>>2]|0)>>>0);if((q|0)==70){Zt(r,1,16182,U)|0;break}if(!t)q=77;else Zt(r,1,16213,H)|0}else{n=0;q=77}}while(0);r:do{if((q|0)==77){f=Gn(n)|0;b=e+144|0;h[b>>2]=f;if(!f){Zt(r,1,13302,Y)|0;break}k=e+132|0;h[k>>2]=n;a=h[_>>2]|0;w=e+124|0;do{if(a){t=h[w>>2]|0;f=t;u=0;o=0;n=0;t:while(1){l=h[f+(u<<3)>>2]|0;if(!l)l=o;else{f=h[f+(u<<3)+4>>2]|0;t=(h[b>>2]|0)+n|0;n:do{if(o>>>0>>0){Gs(t|0,l|0,o|0)|0;n=n+o|0;if((f|0)==(o|0)){l=0;break}s=l+o|0;t=f-o|0;while(1){if(t>>>0<4){q=88;break t}gt(s,X,4);l=s+4|0;a=t+-4|0;f=h[X>>2]|0;t=(h[b>>2]|0)+n|0;if(a>>>0>>0){f=l;break}Gs(t|0,l|0,f|0)|0;t=h[X>>2]|0;n=t+n|0;if((a|0)==(t|0)){l=0;break n}else{s=s+(t+4)|0;t=a-t|0}}Gs(t|0,f|0,a|0)|0;l=(h[X>>2]|0)-a|0;n=a+n|0}else{Gs(t|0,l|0,f|0)|0;l=o-f|0;n=f+n|0}}while(0);Qn(h[(h[w>>2]|0)+(u<<3)>>2]|0);f=h[w>>2]|0;h[f+(u<<3)>>2]=0;h[f+(u<<3)+4>>2]=0;a=h[_>>2]|0;t=f}u=u+1|0;if(u>>>0>=a>>>0){q=94;break}else o=l}if((q|0)==88){Zt(r,1,16182,z)|0;break r}else if((q|0)==94){f=h[b>>2]|0;n=h[k>>2]|0;break}}else t=h[w>>2]|0}while(0);h[e+128>>2]=f;h[e+152>>2]=n;h[_>>2]=0;Qn(t);h[w>>2]=0;break i}}while(0);Zt(r,1,16236,V)|0;r=0;v=J;return r|0}}while(0);Zt(r,4,16262,W)|0;W=Vt(i)|0;r=(h[G>>2]|0)+8|0;h[r>>2]=W+-2;h[r+4>>2]=0;h[K>>2]=8;r=1;v=J;return r|0}}Zt(r,1,16044,I)|0;r=0;v=J;return r|0}}while(0);Zt(r,1,15839,s)|0;r=0;v=J;return r|0}function Of(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0;C=v;v=v+16|0;L=C;O=h[e+80>>2]|0;R=e+88|0;T=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;k=h[O+16>>2]|0;d=k*1080|0;b=h[e+12>>2]|0;k=ue(k<<2,k)|0;e:do{if(T){w=b+5604|0;_=b+5620|0;m=b+5612|0;p=b+5616|0;g=b+5632|0;y=b+5624|0;E=b+5584|0;S=0;P=h[e+164>>2]|0;i:while(1){l=P+5584|0;A=h[l>>2]|0;Gs(P|0,b|0,5640)|0;i=P+5636|0;c[i>>0]=c[i>>0]&-4;h[P+5168>>2]=0;i=P+5604|0;h[i>>2]=0;s=P+5620|0;h[s>>2]=0;M=P+5612|0;h[M>>2]=0;o=P+5632|0;h[o>>2]=0;u=P+5624|0;h[u>>2]=0;h[l>>2]=A;if(h[w>>2]|0){t=Gn(k)|0;h[i>>2]=t;if(!t){i=0;t=25;break}Gs(t|0,h[w>>2]|0,k|0)|0}i=(h[_>>2]|0)*20|0;t=Gn(i)|0;h[M>>2]=t;if(!t){i=0;t=25;break}Gs(t|0,h[m>>2]|0,i|0)|0;i=h[p>>2]|0;if(i){f=0;a=h[M>>2]|0;l=h[m>>2]|0;while(1){n=l+12|0;if(h[n>>2]|0){i=l+16|0;t=Gn(h[i>>2]|0)|0;h[a+12>>2]=t;if(!t){i=0;t=25;break i}Gs(t|0,h[n>>2]|0,h[i>>2]|0)|0;i=h[p>>2]|0}h[s>>2]=(h[s>>2]|0)+1;f=f+1|0;if(f>>>0>=i>>>0)break;else{a=a+20|0;l=l+20|0}}}i=(h[g>>2]|0)*20|0;t=Gn(i)|0;h[u>>2]=t;if(!t){i=0;t=25;break}Gs(t|0,h[y>>2]|0,i|0)|0;h[o>>2]=h[g>>2];f=h[g>>2]|0;if(f){a=0;t=h[u>>2]|0;n=h[y>>2]|0;while(1){i=h[n+8>>2]|0;if(i)h[t+8>>2]=(h[M>>2]|0)+(((i-(h[m>>2]|0)|0)/20|0)*20|0);i=h[n+12>>2]|0;if(i)h[t+12>>2]=(h[M>>2]|0)+(((i-(h[m>>2]|0)|0)/20|0)*20|0);a=a+1|0;if(a>>>0>=f>>>0)break;else{t=t+20|0;n=n+20|0}}}Gs(A|0,h[E>>2]|0,d|0)|0;S=S+1|0;if(S>>>0>=T>>>0)break e;else P=P+5640|0}if((t|0)==25){v=C;return i|0}}}while(0);t=jr(1)|0;i=e+204|0;h[i>>2]=t;if(!t){r=0;v=C;return r|0}if(Xr(t,O,R)|0){r=1;v=C;return r|0}zr(h[i>>2]|0);h[i>>2]=0;Zt(r,1,8839,L)|0;r=0;v=C;return r|0}function Rf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;y=v;v=v+128|0;p=y+120|0;m=y+112|0;_=y+104|0;w=y+96|0;k=y+88|0;b=y+80|0;d=y+72|0;c=y+64|0;u=y+56|0;o=y+48|0;s=y+40|0;l=y+32|0;a=y+24|0;f=y+16|0;n=y+8|0;t=y;if(!e){v=y;return}cs(12191,17,1,r)|0;h[t>>2]=h[e>>2];es(r,12209,t)|0;h[n>>2]=h[e+4>>2];es(r,12222,n)|0;h[f>>2]=h[e+8>>2];es(r,12234,f)|0;h[a>>2]=h[e+16>>2];es(r,12251,a)|0;if((i|0)>0){f=e+5584|0;a=0;do{n=h[f>>2]|0;h[l>>2]=a;es(r,12262,l)|0;h[s>>2]=h[n+(a*1080|0)>>2];es(r,12276,s)|0;e=n+(a*1080|0)+4|0;h[o>>2]=h[e>>2];es(r,12290,o)|0;h[u>>2]=h[n+(a*1080|0)+8>>2];es(r,12313,u)|0;h[c>>2]=h[n+(a*1080|0)+12>>2];es(r,12329,c)|0;h[d>>2]=h[n+(a*1080|0)+16>>2];es(r,12345,d)|0;h[b>>2]=h[n+(a*1080|0)+20>>2];es(r,12362,b)|0;cs(12377,23,1,r)|0;if(h[e>>2]|0){t=0;do{E=h[n+(a*1080|0)+944+(t<<2)>>2]|0;h[k>>2]=h[n+(a*1080|0)+812+(t<<2)>>2];h[k+4>>2]=E;es(r,12401,k)|0;t=t+1|0}while(t>>>0<(h[e>>2]|0)>>>0)}is(10,r)|0;E=n+(a*1080|0)+24|0;h[w>>2]=h[E>>2];es(r,12410,w)|0;h[_>>2]=h[n+(a*1080|0)+804>>2];es(r,12425,_)|0;cs(12442,20,1,r)|0;if((h[E>>2]|0)!=1){e=(h[e>>2]|0)*3|0;if((e|0)>2){e=e+-2|0;g=8}}else{e=1;g=8}if((g|0)==8){g=0;t=0;do{E=h[n+(a*1080|0)+28+(t<<3)>>2]|0;h[m>>2]=h[n+(a*1080|0)+28+(t<<3)+4>>2];h[m+4>>2]=E;es(r,12401,m)|0;t=t+1|0}while((t|0)!=(e|0))}is(10,r)|0;h[p>>2]=h[n+(a*1080|0)+808>>2];es(r,12463,p)|0;cs(12480,5,1,r)|0;a=a+1|0}while((a|0)!=(i|0))}cs(10321,4,1,r)|0;v=y;return}function Lf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0;S=v;v=v+80|0;p=S+32|0;g=S+24|0;A=S+16|0;E=S+8|0;d=S+64|0;y=S+60|0;c=S+56|0;k=S+52|0;_=S+48|0;w=S+44|0;m=S+40|0;b=S+36|0;h[d>>2]=1;t=Gn(1e3)|0;if(!t){Zt(r,1,12127,S)|0;r=0;v=S;return r|0}M=e+116|0;T=e+112|0;s=e+204|0;o=e+84|0;u=e+8|0;n=1e3;l=0;while(1){if(!(of(e,y,c,k,_,w,m,b,d,i,r)|0)){f=5;break}if(!(h[d>>2]|0)){f=17;break}a=h[c>>2]|0;if(a>>>0>n>>>0){n=Zn(t,a)|0;if(!n){f=9;break}else{t=n;f=a}}else f=n;n=h[y>>2]|0;if(!(uf(e,n,t,a,i,r)|0)){f=11;break}n=n+1|0;a=ue(h[T>>2]|0,h[M>>2]|0)|0;h[g>>2]=n;h[g+4>>2]=a;Zt(r,4,11986,g)|0;a=h[s>>2]|0;if(!(oa(h[(h[h[a+20>>2]>>2]|0)+20>>2]|0,h[a+24>>2]|0,t,h[(h[o>>2]|0)+24>>2]|0)|0)){f=13;break}h[p>>2]=n;Zt(r,4,12016,p)|0;a=Gt(i)|0;if((a|0)==0&(j|0)==0?(h[u>>2]|0)==64:0){f=17;break}l=l+1|0;if((l|0)==(ue(h[T>>2]|0,h[M>>2]|0)|0)){f=17;break}else n=f}if((f|0)==5){Qn(t);r=0;v=S;return r|0}else if((f|0)==9){Qn(t);T=ue(h[T>>2]|0,h[M>>2]|0)|0;h[E>>2]=(h[y>>2]|0)+1;h[E+4>>2]=T;Zt(r,1,11946,E)|0;r=0;v=S;return r|0}else if((f|0)==11){Qn(t);T=ue(h[T>>2]|0,h[M>>2]|0)|0;h[A>>2]=n+1;h[A+4>>2]=T;Zt(r,1,12162,A)|0;r=0;v=S;return r|0}else if((f|0)==13){Qn(t);r=0;v=S;return r|0}else if((f|0)==17){Qn(t);r=1;v=S;return r|0}return 0}function Cf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0;L=v;v=v+96|0;A=L+56|0;P=L+48|0;E=L+40|0;M=L+32|0;O=L+24|0;s=L+16|0;l=L+8|0;w=L+92|0;S=L+88|0;k=L+84|0;m=L+80|0;g=L+76|0;p=L+72|0;y=L+68|0;_=L+64|0;h[w>>2]=1;t=Gn(1e3)|0;if(!t){Zt(r,1,11880,L)|0;R=0;v=L;return R|0}T=e+196|0;f=h[T>>2]|0;n=h[f+40>>2]|0;e:do{if(!n){n=ue(h[e+116>>2]|0,h[e+112>>2]|0)|0;h[f+36>>2]=n;n=Kn(n,40)|0;f=h[T>>2]|0;h[f+40>>2]=n;i:do{if(n){if(h[f+36>>2]|0){a=0;do{h[n+(a*40|0)+28>>2]=100;h[n+(a*40|0)+20>>2]=0;b=Kn(100,24)|0;f=h[T>>2]|0;n=h[f+40>>2]|0;h[n+(a*40|0)+24>>2]=b;a=a+1|0;if(!b)break i}while(a>>>0<(h[f+36>>2]|0)>>>0)}f=h[e+60>>2]|0;if(!n)break e;else{R=12;break e}}}while(0);Qn(t);R=0;v=L;return R|0}else{f=h[e+60>>2]|0;R=12}}while(0);if((R|0)==12)if(h[n+16>>2]|0){if(!(h[n+(f*40|0)+4>>2]|0)){b=e+64|0;b=zs(h[b>>2]|0,h[b+4>>2]|0,2,0)|0;if(!(Pt(i,b,j,r)|0)){Zt(r,1,11918,l)|0;Qn(t);R=0;v=L;return R|0}}else{b=h[n+(f*40|0)+16>>2]|0;b=zs(h[b>>2]|0,h[b+4>>2]|0,2,0)|0;if(!(Pt(i,b,j,r)|0)){Zt(r,1,11918,s)|0;Qn(t);R=0;v=L;return R|0}}n=e+8|0;if((h[n>>2]|0)==256)h[n>>2]=8}e:do{if(of(e,S,k,m,g,p,y,_,w,i,r)|0){d=e+116|0;b=e+112|0;o=e+204|0;u=e+84|0;c=f+1|0;n=1e3;while(1){if(!(h[w>>2]|0))break;s=h[k>>2]|0;if(s>>>0>n>>>0){n=Zn(t,s)|0;if(!n){R=26;break}else{t=n;l=s}}else l=n;a=h[S>>2]|0;if(!(uf(e,a,t,s,i,r)|0)){R=28;break}n=a+1|0;s=ue(h[b>>2]|0,h[d>>2]|0)|0;h[M>>2]=n;h[M+4>>2]=s;Zt(r,4,11986,M)|0;s=h[o>>2]|0;if(!(oa(h[(h[h[s+20>>2]>>2]|0)+20>>2]|0,h[s+24>>2]|0,t,h[(h[u>>2]|0)+24>>2]|0)|0)){R=30;break}h[E>>2]=n;Zt(r,4,12016,E)|0;if((a|0)==(f|0)){R=32;break}h[A>>2]=n;h[A+4>>2]=c;Zt(r,2,12060,A)|0;if(!(of(e,S,k,m,g,p,y,_,w,i,r)|0))break e;else n=l}if((R|0)==26){Qn(t);R=ue(h[b>>2]|0,h[d>>2]|0)|0;h[O>>2]=(h[S>>2]|0)+1;h[O+4>>2]=R;Zt(r,1,11946,O)|0;R=0;v=L;return R|0}else if((R|0)==28){Qn(t);R=0;v=L;return R|0}else if((R|0)==30){Qn(t);R=0;v=L;return R|0}else if((R|0)==32){R=(h[T>>2]|0)+8|0;R=zs(h[R>>2]|0,h[R+4>>2]|0,2,0)|0;if(!(Pt(i,R,j,r)|0)){Zt(r,1,11918,P)|0;Qn(t);R=0;v=L;return R|0}}Qn(t);R=1;v=L;return R|0}}while(0);Qn(t);R=0;v=L;return R|0}function Df(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0;D=v;v=v+32|0;O=D+16|0;m=D+8|0;s=D;P=D+20|0;R=h[e+40>>2]|0;C=e+36|0;u=h[C>>2]|0;c=e+204|0;l=h[c>>2]|0;h[l+16>>2]=0;S=e+8|0;h[S>>2]=0;h[P>>2]=0;vt(u,65424,2);vt(u+2|0,10,2);L=e+200|0;vt(u+4|0,h[L>>2]|0,2);M=e+12|0;vt(u+10|0,h[M>>2]|0,1);T=e+164|0;vt(u+11|0,h[(h[T>>2]|0)+((h[L>>2]|0)*5640|0)+5588>>2]|0,1);h[P>>2]=12;f=u+12|0;t=R+-12|0;o=e+88|0;if(((d[o>>1]|0)+-3&65535)>=4?(n=h[L>>2]|0,a=h[T>>2]|0,(h[a+(n*5640|0)+420>>2]|0)!=0):0){h[P>>2]=0;fa(h[(h[e+80>>2]|0)+16>>2]|0,a,n,f,P);A=h[P>>2]|0;n=A+12|0;f=u+n|0;t=t-A|0}else n=12;h[P>>2]=0;vt(f,65427,2);h[l+4>>2]=h[S>>2];A=h[M>>2]|0;h[l+8>>2]=A;if(!A)h[(h[h[l+20>>2]>>2]|0)+840>>2]=0;h[P>>2]=0;if(!(Jr(l,h[L>>2]|0,f+2|0,P,t+-4|0,0)|0)){Zt(r,1,11860,s)|0;i=0;v=D;return i|0}t=(h[P>>2]|0)+2|0;h[P>>2]=t;t=t+n|0;vt(u+6|0,t,4);if(((d[o>>1]|0)+-3&65535)<4){A=e+28|0;vt(h[A>>2]|0,h[L>>2]|0,1);E=(h[A>>2]|0)+1|0;h[A>>2]=E;vt(E,t,4);h[A>>2]=(h[A>>2]|0)+4}n=u+t|0;A=R-t|0;g=h[c>>2]|0;y=e+88|0;w=h[T>>2]|0;_=h[L>>2]|0;o=sa(y,0,_)|0;E=e+8|0;h[M>>2]=(h[M>>2]|0)+1;e:do{if(o>>>0>1){u=g+4|0;c=g+8|0;b=g+20|0;k=e+28|0;a=n;n=A;t=0;s=1;while(1){h[E>>2]=s;h[P>>2]=0;vt(a,65424,2);vt(a+2|0,10,2);vt(a+4|0,h[L>>2]|0,2);vt(a+10|0,h[M>>2]|0,1);vt(a+11|0,h[(h[T>>2]|0)+((h[L>>2]|0)*5640|0)+5588>>2]|0,1);h[P>>2]=0;vt(a+12|0,65427,2);h[u>>2]=h[S>>2];l=h[M>>2]|0;h[c>>2]=l;if(!l)h[(h[h[b>>2]>>2]|0)+840>>2]=0;h[P>>2]=0;if(!(Jr(g,h[L>>2]|0,a+14|0,P,n+-16|0,0)|0))break;x=h[P>>2]|0;I=x+2|0;h[P>>2]=I;l=x+14|0;f=a+l|0;t=t+12+I|0;n=n+-12+(-2-x)|0;vt(a+6|0,l,4);if(((d[y>>1]|0)+-3&65535)<4){vt(h[k>>2]|0,h[L>>2]|0,1);I=(h[k>>2]|0)+1|0;h[k>>2]=I;vt(I,l,4);h[k>>2]=(h[k>>2]|0)+4}h[M>>2]=(h[M>>2]|0)+1;s=s+1|0;if(s>>>0>=o>>>0){p=12;break e}else a=f}Zt(r,1,11860,m)|0}else{f=n;n=A;t=0;p=12}}while(0);e:do{if((p|0)==12){b=w+(_*5640|0)+420|0;i:do{if(h[b>>2]|0){k=g+16|0;w=g+4|0;_=g+8|0;m=g+20|0;c=e+28|0;u=1;r:while(1){h[k>>2]=u;o=sa(y,u,h[L>>2]|0)|0;if(o){s=0;while(1){h[E>>2]=s;h[P>>2]=0;vt(f,65424,2);vt(f+2|0,10,2);vt(f+4|0,h[L>>2]|0,2);vt(f+10|0,h[M>>2]|0,1);vt(f+11|0,h[(h[T>>2]|0)+((h[L>>2]|0)*5640|0)+5588>>2]|0,1);h[P>>2]=0;vt(f+12|0,65427,2);h[w>>2]=h[S>>2];I=h[M>>2]|0;h[_>>2]=I;if(!I)h[(h[h[m>>2]>>2]|0)+840>>2]=0;h[P>>2]=0;if(!(Jr(g,h[L>>2]|0,f+14|0,P,n+-16|0,0)|0))break r;I=h[P>>2]|0;a=I+2|0;h[P>>2]=a;t=t+12+a|0;a=I+14|0;l=f+a|0;n=n+-12+(-2-I)|0;vt(f+6|0,a,4);if(((d[y>>1]|0)+-3&65535)<4){vt(h[c>>2]|0,h[L>>2]|0,1);I=(h[c>>2]|0)+1|0;h[c>>2]=I;vt(I,a,4);h[c>>2]=(h[c>>2]|0)+4}h[M>>2]=(h[M>>2]|0)+1;s=s+1|0;if(s>>>0>=o>>>0){f=l;break}else f=l}}u=u+1|0;if(u>>>0>(h[b>>2]|0)>>>0)break i}Zt(r,1,11860,O)|0;break e}}while(0);I=t-A+R|0;if((Xt(i,h[C>>2]|0,I,r)|0)!=(I|0)){I=0;v=D;return I|0}h[L>>2]=(h[L>>2]|0)+1;I=1;v=D;return I|0}}while(0);I=0;v=D;return I|0}function xf(e,i,r){e=e|0;i=i|0;r=r|0;e=e+44|0;vt(h[e>>2]|0,65497,2);if((Xt(i,h[e>>2]|0,2,r)|0)!=2){i=0;return i|0}i=(zt(i,r)|0)!=0&1;return i|0}function If(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;f=(h[e+32>>2]|0)*5|0;l=e+16|0;l=zs(h[l>>2]|0,h[l+4>>2]|0,6,0)|0;a=j;t=Vt(i)|0;n=j;if(!(Wt(i,l,a,r)|0)){l=0;return l|0}if((Xt(i,h[e+24>>2]|0,f,r)|0)!=(f|0)){l=0;return l|0}l=(Wt(i,t,n,r)|0)!=0&1;return l|0}function Bf(e,i,r){e=e|0;i=i|0;r=r|0;e=h[e+196>>2]|0;if(!e)return 1;i=Vt(i)|0;r=e;r=Hs(i|0,j|0,h[r>>2]|0,h[r+4>>2]|0)|0;i=e+16|0;h[i>>2]=r;h[i+4>>2]=j;return 1}function Nf(e,i,r){e=e|0;i=i|0;r=r|0;r=e+204|0;zr(h[r>>2]|0);h[r>>2]=0;r=e+24|0;i=h[r>>2]|0;if(i){Qn(i);h[r>>2]=0;h[e+28>>2]=0}r=e+36|0;i=h[r>>2]|0;if(!i){e=e+40|0;h[e>>2]=0;return 1}Qn(i);h[r>>2]=0;e=e+40|0;h[e>>2]=0;return 1}function Ff(e,i,r){e=e|0;i=i|0;r=r|0;r=e+44|0;i=h[r>>2]|0;if(i){Qn(i);h[r>>2]=0}h[e+48>>2]=0;return 1}function Uf(e,i,r){e=e|0;i=i|0;r=r|0;return 1}function jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+32|0;t=(h[e+8>>2]|0)==0&(h[e+188>>2]|0)!=0&(h[e+192>>2]|0)!=0&1;i=(h[(h[(h[e+164>>2]|0)+5584>>2]|0)+4>>2]|0)+-1|0;if(i>>>0>31){Zt(r,1,11790,n)|0;r=0;v=n;return r|0}i=1<>2]|0)>>>0>>0){Zt(r,1,11790,n+8|0)|0;r=0;v=n;return r|0}if((h[e+104>>2]|0)>>>0>=i>>>0){r=t;v=n;return r|0}Zt(r,1,11790,n+16|0)|0;r=0;v=n;return r|0}function Hf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;if((d[e+88>>1]&-32256)<<16>>16!=-32256){l=1;return l|0}a=ue(h[e+112>>2]|0,h[e+116>>2]|0)|0;if(!a){l=1;return l|0}f=e+80|0;l=0;r=1;n=h[e+164>>2]|0;while(1){if((h[n+16>>2]|0)==2){r=(h[n+5608>>2]|0)!=0&r;e=h[(h[f>>2]|0)+16>>2]|0;if(e){t=0;i=h[n+5584>>2]|0;while(1){r=(h[i+20>>2]&1^1)&r;t=t+1|0;if(t>>>0>=e>>>0)break;else i=i+1080|0}}}l=l+1|0;if((l|0)==(a|0))break;else n=n+5640|0}return r|0}function Yf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;f=e+88|0;a=e+32|0;l=h[e+80>>2]|0;s=ue(h[e+116>>2]|0,h[e+112>>2]|0)|0;h[a>>2]=0;if(!s)return 1;t=h[e+164>>2]|0;n=0;while(1){xr(l,f,n);i=t+420|0;r=0;e=0;do{o=sa(f,e,n)|0;h[a>>2]=(h[a>>2]|0)+o;r=o+r|0;e=e+1|0}while(e>>>0<=(h[i>>2]|0)>>>0);h[t+5588>>2]=r;n=n+1|0;if((n|0)==(s|0))break;else t=t+5640|0}return 1}function qf(e,i,r){e=e|0;i=i|0;r=r|0;e=h[e+44>>2]|0;vt(e,65359,2);return(Xt(i,e,2,r)|0)==2|0}function Xf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;d=v;v=v+16|0;a=d;l=h[e+80>>2]|0;u=l+16|0;s=(h[u>>2]|0)*3|0;c=s+40|0;t=h[l+24>>2]|0;f=e+48|0;o=e+44|0;n=h[o>>2]|0;do{if(c>>>0>(h[f>>2]|0)>>>0){n=Zn(n,c)|0;if(n){h[o>>2]=n;h[f>>2]=c;break}Qn(h[o>>2]|0);h[o>>2]=0;h[f>>2]=0;Zt(r,1,11752,a)|0;i=0;v=d;return i|0}}while(0);vt(n,65361,2);vt(n+2|0,s+38|0,2);vt(n+4|0,k[e+88>>1]|0,2);vt(n+6|0,h[l+8>>2]|0,4);vt(n+10|0,h[l+12>>2]|0,4);vt(n+14|0,h[l>>2]|0,4);vt(n+18|0,h[l+4>>2]|0,4);vt(n+22|0,h[e+100>>2]|0,4);vt(n+26|0,h[e+104>>2]|0,4);vt(n+30|0,h[e+92>>2]|0,4);vt(n+34|0,h[e+96>>2]|0,4);vt(n+38|0,h[u>>2]|0,2);if(h[u>>2]|0){f=0;n=n+40|0;while(1){vt(n,(h[t+24>>2]|0)+-1+(h[t+32>>2]<<7)|0,1);vt(n+1|0,h[t>>2]|0,1);vt(n+2|0,h[t+4>>2]|0,1);f=f+1|0;if(f>>>0>=(h[u>>2]|0)>>>0)break;else{n=n+3|0;t=t+52|0}}}i=(Xt(i,h[o>>2]|0,c,r)|0)==(c|0)&1;v=d;return i|0}function zf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0;w=v;v=v+32|0;k=w+16|0;b=w+8|0;l=w;d=w+20|0;s=e+200|0;o=h[s>>2]|0;u=e+164|0;c=h[u>>2]|0;t=h[c+(o*5640|0)+5584>>2]|0;if(!(h[t>>2]&1))f=5;else f=(h[t+4>>2]|0)+5|0;a=f+9|0;h[d>>2]=a;n=e+48|0;e=e+44|0;t=h[e>>2]|0;do{if(a>>>0>(h[n>>2]|0)>>>0){t=Zn(t,a)|0;if(t){h[e>>2]=t;h[n>>2]=a;break}Qn(h[e>>2]|0);h[e>>2]=0;h[n>>2]=0;Zt(r,1,11687,l)|0;k=0;v=w;return k|0}}while(0);vt(t,65362,2);vt(t+2|0,f+7|0,2);vt(t+4|0,h[c+(o*5640|0)>>2]|0,1);vt(t+5|0,h[c+(o*5640|0)+4>>2]|0,1);vt(t+6|0,h[c+(o*5640|0)+8>>2]|0,2);vt(t+8|0,h[c+(o*5640|0)+16>>2]|0,1);h[d>>2]=f;if(!(la(h[u>>2]|0,h[s>>2]|0,t+9|0,d,r)|0)){Zt(r,1,11726,b)|0;k=0;v=w;return k|0}if(!(h[d>>2]|0)){k=(Xt(i,h[e>>2]|0,a,r)|0)==(a|0)&1;v=w;return k|0}else{Zt(r,1,11726,k)|0;k=0;v=w;return k|0}return 0}function Vf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0;b=v;v=v+32|0;d=b+16|0;c=b+8|0;l=b;o=b+20|0;s=e+200|0;u=e+164|0;t=h[(h[u>>2]|0)+((h[s>>2]|0)*5640|0)+5584>>2]|0;n=h[t+24>>2]|0;if((n|0)==1)t=1;else t=((h[t+4>>2]|0)*3|0)+-2|0;f=(n|0)==0?t+1|0:t<<1|1;a=f+4|0;h[o>>2]=a;n=e+48|0;e=e+44|0;t=h[e>>2]|0;do{if(a>>>0>(h[n>>2]|0)>>>0){t=Zn(t,a)|0;if(t){h[e>>2]=t;h[n>>2]=a;break}Qn(h[e>>2]|0);h[e>>2]=0;h[n>>2]=0;Zt(r,1,11622,l)|0;d=0;v=b;return d|0}}while(0);vt(t,65372,2);vt(t+2|0,f+2|0,2);h[o>>2]=f;if(!(aa(h[u>>2]|0,h[s>>2]|0,0,t+4|0,o,r)|0)){Zt(r,1,11661,c)|0;d=0;v=b;return d|0}if(!(h[o>>2]|0)){d=(Xt(i,h[e>>2]|0,a,r)|0)==(a|0)&1;v=b;return d|0}else{Zt(r,1,11661,d)|0;d=0;v=b;return d|0}return 0}function Gf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0;y=v;v=v+16|0;p=y;w=y+4|0;d=e+80|0;t=h[(h[d>>2]|0)+16>>2]|0;if(t>>>0<=1){g=1;v=y;return g|0}_=e+164|0;m=e+200|0;k=e+48|0;c=e+44|0;u=1;while(1){a=h[_>>2]|0;s=h[m>>2]|0;f=h[a+(s*5640|0)+5584>>2]|0;l=h[f+(u*1080|0)>>2]|0;e:do{if((((((h[f>>2]|0)==(l|0)?(b=h[f+4>>2]|0,(b|0)==(h[f+(u*1080|0)+4>>2]|0)):0)?(h[f+8>>2]|0)==(h[f+(u*1080|0)+8>>2]|0):0)?(h[f+12>>2]|0)==(h[f+(u*1080|0)+12>>2]|0):0)?(h[f+16>>2]|0)==(h[f+(u*1080|0)+16>>2]|0):0)?(h[f+20>>2]|0)==(h[f+(u*1080|0)+20>>2]|0):0){if(b){e=0;do{if((h[f+812+(e<<2)>>2]|0)!=(h[f+(u*1080|0)+812+(e<<2)>>2]|0)){g=13;break e}if((h[f+944+(e<<2)>>2]|0)!=(h[f+(u*1080|0)+944+(e<<2)>>2]|0)){g=13;break e}e=e+1|0}while(e>>>0>>0)}}else g=13}while(0);if((g|0)==13){g=0;if(!(l&1))e=5;else e=(h[f+(u*1080|0)+4>>2]|0)+5|0;o=e+(t>>>0<257?6:7)|0;n=h[c>>2]|0;if(o>>>0>(h[k>>2]|0)>>>0){e=Zn(n,o)|0;if(!e){g=17;break}h[c>>2]=e;h[k>>2]=o;s=h[m>>2]|0;a=h[_>>2]|0;f=h[a+(s*5640|0)+5584>>2]|0;t=h[(h[d>>2]|0)+16>>2]|0;l=h[f+(u*1080|0)>>2]|0;n=e}t=t>>>0<257?1:2;if(!(l&1))e=5;else e=(h[f+(u*1080|0)+4>>2]|0)+5|0;vt(n,65363,2);vt(n+2|0,t+3+e|0,2);vt(n+4|0,u,t);l=t|4;vt(n+l|0,h[(h[a+(s*5640|0)+5584>>2]|0)+(u*1080|0)>>2]|0,1);h[w>>2]=e;la(h[_>>2]|0,h[m>>2]|0,n+(l+1)|0,w,r)|0;if((Xt(i,h[c>>2]|0,o,r)|0)!=(o|0)){e=0;g=24;break}t=h[(h[d>>2]|0)+16>>2]|0}u=u+1|0;if(u>>>0>=t>>>0){e=1;g=24;break}}if((g|0)==17){Qn(h[c>>2]|0);h[c>>2]=0;h[k>>2]=0;Zt(r,1,11548,p)|0;g=0;v=y;return g|0}else if((g|0)==24){v=y;return e|0}return 0}function Kf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0;m=v;v=v+16|0;w=m;d=m+4|0;u=e+80|0;t=h[(h[u>>2]|0)+16>>2]|0;if(t>>>0<=1){_=1;v=m;return _|0}b=e+164|0;k=e+200|0;c=e+48|0;o=e+44|0;s=1;while(1){l=h[(h[b>>2]|0)+((h[k>>2]|0)*5640|0)+5584>>2]|0;f=h[l+24>>2]|0;a=h[l+(s*1080|0)+24>>2]|0;e:do{if((f|0)==(a|0)?(h[l+804>>2]|0)==(h[l+(s*1080|0)+804>>2]|0):0){if((f|0)!=1){n=(h[l+4>>2]|0)*3|0;e=n+-2|0;if((n|0)!=((h[l+(s*1080|0)+4>>2]|0)*3|0)){_=14;break}if(!e)break}else e=1;n=0;do{if((h[l+28+(n<<3)>>2]|0)!=(h[l+(s*1080|0)+28+(n<<3)>>2]|0)){_=14;break e}n=n+1|0}while(n>>>0>>0);if(f){n=0;do{if((h[l+28+(n<<3)+4>>2]|0)!=(h[l+(s*1080|0)+28+(n<<3)+4>>2]|0)){_=14;break e}n=n+1|0}while(n>>>0>>0)}}else _=14}while(0);if((_|0)==14){_=0;if((a|0)==1)e=1;else e=((h[l+(s*1080|0)+4>>2]|0)*3|0)+-2|0;f=((a|0)==0?e+1|0:e<<1|1)+5+(t>>>0>256&1)|0;e=h[o>>2]|0;if(f>>>0>(h[c>>2]|0)>>>0){e=Zn(e,f)|0;if(!e){_=18;break}h[o>>2]=e;h[c>>2]=f;t=h[(h[b>>2]|0)+((h[k>>2]|0)*5640|0)+5584>>2]|0;n=h[t+(s*1080|0)+24>>2]|0}else{n=a;t=l}if((n|0)==1)t=1;else t=((h[t+(s*1080|0)+4>>2]|0)*3|0)+-2|0;n=(n|0)==0?t+1|0:t<<1|1;h[d>>2]=n+6;vt(e,65373,2);t=e+2|0;if((h[(h[u>>2]|0)+16>>2]|0)>>>0<257){vt(t,n+3|0,2);vt(e+4|0,s,1);e=e+5|0}else{vt(t,n+4|0,2);vt(e+4|0,s,2);e=e+6|0}h[d>>2]=n;aa(h[b>>2]|0,h[k>>2]|0,s,e,d,r)|0;if((Xt(i,h[o>>2]|0,f,r)|0)!=(f|0)){e=0;_=28;break}t=h[(h[u>>2]|0)+16>>2]|0}s=s+1|0;if(s>>>0>=t>>>0){e=1;_=28;break}}if((_|0)==18){Qn(h[o>>2]|0);h[o>>2]=0;h[c>>2]=0;Zt(r,1,11476,w)|0;_=0;v=m;return _|0}else if((_|0)==28){v=m;return e|0}return 0}function Wf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+16|0;f=o;a=(h[e+32>>2]|0)*5|0;l=a+6|0;n=e+48|0;s=e+44|0;t=h[s>>2]|0;do{if(l>>>0>(h[n>>2]|0)>>>0){t=Zn(t,l)|0;if(t){h[s>>2]=t;h[n>>2]=l;break}Qn(h[s>>2]|0);h[s>>2]=0;h[n>>2]=0;Zt(r,1,11437,f)|0;i=0;v=o;return i|0}}while(0);f=Vt(i)|0;e=e+16|0;h[e>>2]=f;h[e+4>>2]=j;vt(t,65365,2);vt(t+2|0,a+4|0,2);vt(t+4|0,0,1);vt(t+5|0,80,1);i=(Xt(i,h[s>>2]|0,l,r)|0)==(l|0)&1;v=o;return i|0}function Jf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;k=v;v=v+16|0;l=k;b=k+4|0;h[b>>2]=0;u=e+200|0;t=h[u>>2]|0;o=e+164|0;n=h[o>>2]|0;s=e+80|0;a=h[(h[s>>2]|0)+16>>2]|0;d=(ue(a>>>0<257?7:9,(h[n+(t*5640|0)+420>>2]|0)+1|0)|0)+4|0;f=e+48|0;c=e+44|0;e=h[c>>2]|0;do{if(d>>>0>(h[f>>2]|0)>>>0){t=Zn(e,d)|0;if(t){h[c>>2]=t;h[f>>2]=d;f=t;e=h[(h[s>>2]|0)+16>>2]|0;n=h[o>>2]|0;t=h[u>>2]|0;break}Qn(h[c>>2]|0);h[c>>2]=0;h[f>>2]=0;Zt(r,1,11398,l)|0;i=0;v=k;return i|0}else{f=e;e=a}}while(0);fa(e,n,t,f,b);i=(Xt(i,h[c>>2]|0,d,r)|0)==(d|0)&1;v=k;return i|0}function Zf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0;l=e+164|0;s=e+80|0;n=h[s>>2]|0;t=h[n+16>>2]|0;if(!t){i=1;return i|0}a=e+44|0;e=0;f=h[(h[l>>2]|0)+5584>>2]|0;while(1){if(h[f+808>>2]|0){o=h[(h[l>>2]|0)+5584>>2]|0;c=t>>>0<257?1:2;n=c+6|0;u=h[a>>2]|0;vt(u,65374,2);t=c|4;vt(u+2|0,t,2);vt(u+4|0,e,c);vt(u+t|0,0,1);vt(u+(t+1)|0,h[o+(e*1080|0)+808>>2]|0,1);if((Xt(i,h[a>>2]|0,n,r)|0)!=(n|0)){e=0;t=7;break}n=h[s>>2]|0}e=e+1|0;t=h[n+16>>2]|0;if(e>>>0>=t>>>0){e=1;t=7;break}else f=f+1080|0}if((t|0)==7)return e|0;return 0}function Qf(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;o=v;v=v+16|0;f=o;a=h[e+108>>2]|0;l=Es(a)|0;s=l+6|0;t=e+48|0;n=e+44|0;e=h[n>>2]|0;do{if(s>>>0>(h[t>>2]|0)>>>0){e=Zn(e,s)|0;if(e){h[n>>2]=e;h[t>>2]=s;break}Qn(h[n>>2]|0);h[n>>2]=0;h[t>>2]=0;Zt(r,1,11355,f)|0;i=0;v=o;return i|0}}while(0);vt(e,65380,2);vt(e+2|0,l+4|0,2);vt(e+4|0,1,2);Gs(e+6|0,a|0,l|0)|0;i=(Xt(i,h[n>>2]|0,s,r)|0)==(s|0)&1;v=o;return i|0}function $f(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0;T=v;v=v+32|0;y=T+24|0;m=T+16|0;d=T+8|0;n=T;a=h[e+80>>2]|0;l=a+16|0;f=h[l>>2]|0;s=f+6|0;g=e+48|0;M=e+44|0;t=h[M>>2]|0;do{if(s>>>0>(h[g>>2]|0)>>>0){t=Zn(t,s)|0;if(t){h[M>>2]=t;h[g>>2]=s;break}Qn(h[M>>2]|0);h[M>>2]=0;h[g>>2]=0;Zt(r,1,11199,n)|0;i=0;v=T;return i|0}}while(0);vt(t,65400,2);vt(t+2|0,f+4|0,2);vt(t+4|0,h[l>>2]|0,2);if(h[l>>2]|0){f=0;n=h[a+24>>2]|0;t=t+6|0;while(1){vt(t,(h[n+24>>2]|0)+-1|h[n+32>>2]<<7,1);f=f+1|0;if(f>>>0>=(h[l>>2]|0)>>>0)break;else{n=n+52|0;t=t+1|0}}}if((Xt(i,h[M>>2]|0,s,r)|0)!=(s|0)){i=0;v=T;return i|0}k=e+200|0;u=h[k>>2]|0;w=e+164|0;o=h[w>>2]|0;n=o+(u*5640|0)+5616|0;e:do{if(h[n>>2]|0){s=0;e=h[o+(u*5640|0)+5612>>2]|0;while(1){f=e+16|0;a=h[f>>2]|0;l=a+10|0;t=h[M>>2]|0;if(l>>>0>(h[g>>2]|0)>>>0){t=Zn(t,l)|0;if(!t)break;h[M>>2]=t;h[g>>2]=l}vt(t,65396,2);vt(t+2|0,a+8|0,2);vt(t+4|0,0,2);vt(t+6|0,h[e+4>>2]<<8|h[e+8>>2]&255|h[e>>2]<<10,2);vt(t+8|0,0,2);Gs(t+10|0,h[e+12>>2]|0,h[f>>2]|0)|0;if((Xt(i,h[M>>2]|0,l,r)|0)!=(l|0)){_=0;E=42;break}s=s+1|0;if(s>>>0>=(h[n>>2]|0)>>>0)break e;else e=e+20|0}if((E|0)==42){v=T;return _|0}Qn(h[M>>2]|0);h[M>>2]=0;h[g>>2]=0;Zt(r,1,11238,d)|0;i=0;v=T;return i|0}}while(0);d=o+(u*5640|0)+5628|0;e:do{if(h[d>>2]|0){b=0;o=h[o+(u*5640|0)+5624>>2]|0;while(1){s=o+4|0;n=h[s>>2]|0;a=n>>>0>255;l=a?2:1;a=a?32768:0;n=ue(l,n<<1)|0;e=n+19|0;t=h[M>>2]|0;if(e>>>0>(h[g>>2]|0)>>>0){t=Zn(t,e)|0;if(!t)break;h[M>>2]=t;h[g>>2]=e}vt(t,65397,2);vt(t+2|0,n+17|0,2);vt(t+4|0,0,2);vt(t+6|0,h[o>>2]|0,1);vt(t+7|0,0,2);vt(t+9|0,1,2);vt(t+11|0,1,1);vt(t+12|0,h[s>>2]|a,2);t=t+14|0;if(!(h[s>>2]|0))n=0;else{f=0;do{vt(t,f,l);t=t+l|0;f=f+1|0;n=h[s>>2]|0}while(f>>>0>>0)}vt(t,n|a,2);t=t+2|0;if(!(h[s>>2]|0))f=t;else{n=0;do{vt(t,n,l);t=t+l|0;n=n+1|0}while(n>>>0<(h[s>>2]|0)>>>0);f=t}t=((c[o+16>>0]^1)&255)<<16&65536;n=h[o+8>>2]|0;if(n)t=h[n+8>>2]|t;n=h[o+12>>2]|0;if(n)t=h[n+8>>2]<<8|t;vt(f,t,3);if((Xt(i,h[M>>2]|0,e,r)|0)!=(e|0)){_=0;E=42;break}b=b+1|0;if(b>>>0>=(h[d>>2]|0)>>>0)break e;else o=o+20|0}if((E|0)==42){v=T;return _|0}Qn(h[M>>2]|0);h[M>>2]=0;h[g>>2]=0;Zt(r,1,11277,m)|0;i=0;v=T;return i|0}}while(0);l=h[k>>2]|0;a=h[w>>2]|0;s=a+(l*5640|0)+5628|0;n=h[s>>2]|0;e=n+5|0;t=h[M>>2]|0;do{if(e>>>0>(h[g>>2]|0)>>>0){t=Zn(t,e)|0;if(!t){Qn(h[M>>2]|0);h[M>>2]=0;h[g>>2]=0;Zt(r,1,11316,y)|0;p=1;break}else{h[M>>2]=t;h[g>>2]=e;A=t;E=37;break}}else{A=t;E=37}}while(0);if((E|0)==37){vt(A,65399,2);vt(A+2|0,n+3|0,2);vt(A+4|0,h[s>>2]|0,1);if(h[s>>2]|0){f=0;n=A+5|0;t=h[a+(l*5640|0)+5624>>2]|0;while(1){vt(n,h[t>>2]|0,1);f=f+1|0;if(f>>>0>=(h[s>>2]|0)>>>0)break;else{n=n+1|0;t=t+20|0}}}p=(Xt(i,h[M>>2]|0,e,r)|0)!=(e|0)}i=p&1^1;v=T;return i|0}function ea(e,i,r){e=e|0;i=i|0;r=r|0;r=Vt(i)|0;i=(h[e+196>>2]|0)+8|0;h[i>>2]=r;h[i+4>>2]=j;return 1}function ia(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+16|0;i=jr(0)|0;t=e+204|0;h[t>>2]=i;if(!i){Zt(r,1,11159,n)|0;r=0;v=n;return r|0}if(Xr(i,h[e+80>>2]|0,e+88|0)|0){r=1;v=n;return r|0}zr(h[t>>2]|0);h[t>>2]=0;r=0;v=n;return r|0}function ra(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0.0,u=0,b=0,k=0,w=0,m=0,p=0.0,v=0,g=0,y=0.0,E=0.0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0.0,C=0.0,D=0.0,x=0.0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0;U=e+80|0;O=h[U>>2]|0;H=e+164|0;n=h[H>>2]|0;F=O+24|0;R=h[F>>2]|0;r=h[R>>2]|0;t=h[R+4>>2]|0;N=O+16|0;R=ue(h[R+24>>2]|0,h[N>>2]|0)|0;P=Vt(i)|0;k=e+116|0;l=h[k>>2]|0;w=e+112|0;i=h[w>>2]|0;L=(+(P>>>0)+4294967296.0*+(j|0))/+((ue(i,l)|0)>>>0);P=(c[e+181>>0]&8)==0?1:2;if(l){m=e+92|0;v=e+100|0;g=e+96|0;A=e+104|0;M=O+4|0;T=O+8|0;S=O+12|0;E=+((ue(r<<3,t)|0)>>>0);s=i;r=i;b=0;i=n;do{u=b;b=b+1|0;if(!r)r=0;else{s=0;do{y=+Lo[P&3](i);l=h[i+8>>2]|0;y=y/+(l>>>0);Y=h[m>>2]|0;n=h[v>>2]|0;a=(ue(n,s)|0)+Y|0;r=h[O>>2]|0;r=(a|0)>(r|0)?a:r;a=h[g>>2]|0;f=h[A>>2]|0;q=(ue(f,u)|0)+a|0;t=h[M>>2]|0;t=(q|0)>(t|0)?q:t;s=s+1|0;Y=(ue(n,s)|0)+Y|0;n=h[T>>2]|0;n=(Y|0)<(n|0)?Y:n;a=(ue(f,b)|0)+a|0;f=h[S>>2]|0;f=(a|0)<(f|0)?a:f;a=i+20|0;o=+_[a>>2];if(o!=0.0){p=+((ue(ue(n-r|0,R)|0,f-t|0)|0)>>>0)/(E*o)-y;_[a>>2]=p}if(l>>>0>1){o=+((ue(ue(n-r|0,R)|0,f-t|0)|0)>>>0);r=1;t=i+24|0;while(1){p=+_[t>>2];if(p!=0.0)_[t>>2]=o/(E*p)-y;r=r+1|0;if(r>>>0>=l>>>0)break;else t=t+4|0}}i=i+5640|0;r=h[w>>2]|0}while(s>>>0>>0);l=h[k>>2]|0;s=r}}while(b>>>0>>0);if(!l)l=0;else{m=(s|0)==0;p=L+2.0;g=s>>>0>1?s:1;v=0;r=h[H>>2]|0;do{if(!m){b=r+16|0;k=0;w=r;while(1){i=w+20|0;o=+_[i>>2];if(o!=0.0?(E=o-L,_[i>>2]=E,E<30.0):0)_[i>>2]=30.0;f=w+24|0;i=h[w+8>>2]|0;u=i+-1|0;o=+_[f>>2];t=o!=0.0;if(u>>>0>1){a=b+(i<<2)|0;n=1;i=f;do{if(t?(E=o-L,_[i>>2]=E,D=+_[i+-4>>2],E>2]=D+20.0;i=i+4|0;n=n+1|0;o=+_[i>>2];t=o!=0.0}while((n|0)!=(u|0));if(t){C=o;I=a;B=29}}else if(t){C=o;I=f;B=29}if((B|0)==29?(B=0,E=C-p,_[I>>2]=E,x=+_[I+-4>>2],E>2]=x+20.0;k=k+1|0;if(k>>>0>=s>>>0)break;else{b=b+5640|0;w=w+5640|0}}r=r+(g*5640|0)|0}v=v+1|0}while(v>>>0>>0)}}else{s=i;l=0}t=h[N>>2]|0;if(!t)v=0;else{n=(h[e+100>>2]|0)+-1|0;f=(h[e+104>>2]|0)+-1|0;a=0;i=h[F>>2]|0;r=0;while(1){q=h[i>>2]|0;Y=h[i+4>>2]|0;q=ue(((f+Y|0)>>>0)/(Y>>>0)|0,((n+q|0)>>>0)/(q>>>0)|0)|0;r=(ue(q,h[i+24>>2]|0)|0)+r|0;a=a+1|0;if(a>>>0>=t>>>0)break;else i=i+52|0}v=~~(+(r>>>0)*.1625)>>>0}u=h[(h[U>>2]|0)+16>>2]|0;k=u+-1|0;m=ue(l,s)|0;b=(m|0)==0;if(b)n=0;else{i=0;r=0;t=h[H>>2]|0;while(1){q=h[t+5588>>2]|0;r=r>>>0>q>>>0?r:q;i=i+1|0;if((i|0)==(m|0))break;else t=t+5640|0}n=r*12|0}w=e+88|0;if(((d[w>>1]|0)+-3&65535)>=4){if(b){i=0;r=0}else{s=(u|0)==0;a=0;r=0;do{if(!s){t=h[(h[H>>2]|0)+(a*5640|0)+5584>>2]|0;f=0;do{if(!(h[t+(f*1080|0)>>2]&1))i=5;else i=(h[t+(f*1080|0)+4>>2]|0)+5|0;r=r>>>0>i>>>0?r:i;f=f+1|0}while((f|0)!=(u|0))}a=a+1|0}while((a|0)!=(m|0));l=0;i=0;do{if(!s){f=h[(h[H>>2]|0)+(l*5640|0)+5584>>2]|0;a=0;do{if(!(h[f+(a*1080|0)>>2]&1))t=5;else t=(h[f+(a*1080|0)+4>>2]|0)+5|0;i=i>>>0>t>>>0?i:t;a=a+1|0}while((a|0)!=(u|0))}l=l+1|0}while((l|0)!=(m|0))}n=(ue(r+12+i|0,k)|0)+n|0}if(b)r=13;else{t=0;r=0;i=h[H>>2]|0;while(1){q=h[i+420>>2]|0;r=r>>>0>q>>>0?r:q;t=t+1|0;if((t|0)==(m|0))break;else i=i+5640|0}r=(r*9|0)+13|0}q=n+v+r|0;h[e+40>>2]=q;q=Gn(q)|0;h[e+36>>2]=q;if(!q){q=0;return q|0}if(((d[w>>1]|0)+-3&65535)>=4){q=1;return q|0}r=Gn((h[e+32>>2]|0)*5|0)|0;h[e+24>>2]=r;if(!r){q=0;return q|0}h[e+28>>2]=r;q=1;return q|0}function ta(e){e=e|0;return 0.0}function na(e){e=e|0;return+ +((((h[e+5588>>2]|0)*14|0)+-14|0)>>>0)}function fa(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0;f=h[i+(r*5640|0)+5584>>2]|0;w=(h[i+(r*5640|0)+420>>2]|0)+1|0;s=e>>>0<257?1:2;k=ue(w,(s<<1)+5|0)|0;_=k+4|0;vt(t,65375,2);vt(t+2|0,k+2|0,2);if(!w){h[n>>2]=_;return}o=s+1|0;u=s+3|0;c=s|4;d=c+s|0;b=d+1|0;k=i+(r*5640|0)+8|0;a=f+4|0;l=0;t=t+4|0;f=i+(r*5640|0)+424|0;while(1){vt(t,h[f>>2]|0,1);vt(t+1|0,h[f+4>>2]|0,s);p=f+8|0;vt(t+o|0,h[p>>2]|0,2);i=f+12|0;vt(t+u|0,h[i>>2]|0,1);r=f+16|0;vt(t+c|0,h[r>>2]|0,s);vt(t+d|0,h[f+36>>2]|0,1);v=h[p>>2]|0;m=h[k>>2]|0;h[p>>2]=(v|0)<(m|0)?v:m;p=h[i>>2]|0;m=h[a>>2]|0;h[i>>2]=(p|0)<(m|0)?p:m;i=h[r>>2]|0;h[r>>2]=(i|0)<(e|0)?i:e;l=l+1|0;if((l|0)==(w|0))break;else{t=t+b|0;f=f+148|0}}h[n>>2]=_;return}function aa(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,c=0;c=v;v=v+16|0;s=c+8|0;l=c;o=h[e+(i*5640|0)+5584>>2]|0;i=h[o+(r*1080|0)+24>>2]|0;do{if((i|0)!=1){e=(h[o+(r*1080|0)+4>>2]|0)*3|0;a=e+-2|0;if(!i){e=e+-1|0;if((h[n>>2]|0)>>>0>>0){Zt(f,1,11515,l)|0;n=0;v=c;return n|0}else{vt(t,h[o+(r*1080|0)+804>>2]<<5,1);if(!a)break;else i=0;do{t=t+1|0;vt(t,h[o+(r*1080|0)+28+(i<<3)>>2]<<3,1);i=i+1|0}while((i|0)!=(a|0))}}else u=7}else{a=1;i=1;u=7}}while(0);if((u|0)==7){e=a<<1|1;if((h[n>>2]|0)>>>0>>0){Zt(f,1,11515,s)|0;n=0;v=c;return n|0}vt(t,(h[o+(r*1080|0)+804>>2]<<5)+i|0,1);if(a){t=t+1|0;i=0;while(1){vt(t,(h[o+(r*1080|0)+28+(i<<3)>>2]<<11)+(h[o+(r*1080|0)+28+(i<<3)+4>>2]|0)|0,2);i=i+1|0;if((i|0)==(a|0))break;else t=t+2|0}}}h[n>>2]=(h[n>>2]|0)-e;n=1;v=c;return n|0}function la(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=v;v=v+16|0;f=h[e+(i*5640|0)+5584>>2]|0;if((h[t>>2]|0)>>>0<5){Zt(n,1,11587,l)|0;t=0;v=l;return t|0}a=f+4|0;vt(r,(h[a>>2]|0)+-1|0,1);vt(r+1|0,(h[f+8>>2]|0)+-2|0,1);vt(r+2|0,(h[f+12>>2]|0)+-2|0,1);vt(r+3|0,h[f+16>>2]|0,1);vt(r+4|0,h[f+20>>2]|0,1);i=(h[t>>2]|0)+-5|0;h[t>>2]=i;if(!(h[f>>2]&1)){t=1;v=l;return t|0}e=h[a>>2]|0;if(i>>>0>>0){Zt(n,1,11587,l+8|0)|0;t=0;v=l;return t|0}if(!e)e=0;else{i=r+5|0;r=0;while(1){vt(i,(h[f+944+(r<<2)>>2]<<4)+(h[f+812+(r<<2)>>2]|0)|0,1);r=r+1|0;e=h[a>>2]|0;if(r>>>0>=e>>>0)break;else i=i+1|0}i=h[t>>2]|0}h[t>>2]=i-e;t=1;v=l;return t|0}function sa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0;f=h[e+76>>2]|0;t=h[f+(r*5640|0)+4>>2]|0;n=696;while(1){o=h[n>>2]|0;if((o|0)==-1|(o|0)==(t|0))break;else n=n+12|0}if(!(c[e+93>>0]&8)){e=1;return e|0}o=b[e+92>>0]|0;a=f+(r*5640|0)+424+(i*148|0)+92|0;l=f+(r*5640|0)+424+(i*148|0)+88|0;s=f+(r*5640|0)+424+(i*148|0)+96|0;i=f+(r*5640|0)+424+(i*148|0)+84|0;f=c[n+4>>0]|0;switch(f|0){case 67:{t=h[a>>2]|0;break}case 82:{t=h[l>>2]|0;break}case 80:{t=h[s>>2]|0;break}case 76:{t=h[i>>2]|0;break}default:t=1}if((o|0)!=(f|0)){f=c[n+5>>0]|0;switch(f|0){case 67:{t=ue(h[a>>2]|0,t)|0;break}case 82:{t=ue(h[l>>2]|0,t)|0;break}case 80:{t=ue(h[s>>2]|0,t)|0;break}case 76:{t=ue(h[i>>2]|0,t)|0;break}default:{}}if((o|0)!=(f|0)){f=c[n+6>>0]|0;switch(f|0){case 67:{t=ue(h[a>>2]|0,t)|0;break}case 82:{t=ue(h[l>>2]|0,t)|0;break}case 80:{t=ue(h[s>>2]|0,t)|0;break}case 76:{t=ue(h[i>>2]|0,t)|0;break}default:{}}if((o|0)!=(f|0)){n=c[n+7>>0]|0;switch(n|0){case 67:{t=ue(h[a>>2]|0,t)|0;break}case 82:{t=ue(h[l>>2]|0,t)|0;break}case 80:{t=ue(h[s>>2]|0,t)|0;break}case 76:{t=ue(h[i>>2]|0,t)|0;break}default:{}}if((o|0)==(n|0))n=3;else{e=t;return e|0}}else n=2}else n=1}else n=0;h[e+84>>2]=n;e=t;return e|0}function oa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0;S=i+16|0;if(!(h[S>>2]|0)){S=1;return S|0}T=0;M=h[i+24>>2]|0;while(1){f=t+44|0;n=h[f>>2]|0;a=t+8|0;if(!n){i=t+12|0;n=Kn(ue(h[i>>2]|0,h[a>>2]|0)|0,4)|0;h[f>>2]=n;if(!n){r=0;t=61;break}}else i=t+12|0;w=M+36|0;h[t+36>>2]=h[w>>2];E=h[M+24>>2]|0;p=h[e+24>>2]|0;w=h[w>>2]|0;E=((E&7|0)!=0&1)+(E>>>3)|0;E=(E|0)==3?4:E;s=h[p+(w*136|0)+8>>2]|0;l=h[p+(w*136|0)>>2]|0;g=s-l|0;m=h[p+(w*136|0)+12>>2]|0;w=h[p+(w*136|0)+4>>2]|0;p=m-w|0;f=h[t+16>>2]|0;u=h[t+40>>2]|0;o=Xs(1,0,u|0)|0;y=j;f=zs(f|0,0,-1,-1)|0;f=zs(f|0,j|0,o|0,y|0)|0;f=Vs(f|0,j|0,u|0)|0;_=zs(h[t+20>>2]|0,0,-1,-1)|0;y=zs(_|0,j|0,o|0,y|0)|0;u=Vs(y|0,j|0,u|0)|0;y=h[a>>2]|0;a=f+y|0;o=h[i>>2]|0;_=u+o|0;do{if(f>>>0>>0){i=l-f|0;if(s>>>0>a>>>0){A=a-l|0;v=0;l=g-A|0;s=i}else{v=0;l=0;s=i;A=g}}else{i=f-l|0;if(s>>>0>a>>>0){v=i;l=s-a|0;s=0;A=y;break}else{v=i;l=0;s=0;A=g-i|0;break}}}while(0);do{if(u>>>0>>0){a=w-u|0;if(m>>>0>_>>>0){f=_-w|0;o=f;i=0;f=p-f|0}else{o=p;i=0;f=0}}else{i=u-w|0;if(m>>>0>_>>>0){f=m-_|0;a=0;break}else{o=p-i|0;f=0;a=0;break}}}while(0);if((v|l|A|f|i|o|0)<0){r=0;t=61;break}i=(ue(i,g)|0)+v|0;w=v+l|0;_=(ue(f,g)|0)-v|0;u=y-A|0;n=n+((ue(y,a)|0)+s<<2)|0;switch(E|0){case 1:{r=r+i|0;i=(o|0)==0;if(!(h[M+32>>2]|0)){if(!i){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=b[n>>0];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+1|0}}i=a;r=r+A|0}r=r+w|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}}else if(!i){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=c[n>>0];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+1|0}}i=a;r=r+A|0}r=r+w|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}r=r+_|0;break}case 2:{r=r+(i<<1)|0;i=(o|0)==0;if(!(h[M+32>>2]|0)){if(!i){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=k[n>>1];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+2|0}}i=a;r=r+(A<<1)|0}r=r+(w<<1)|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}}else if(!i){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=d[n>>1];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+2|0}}i=a;r=r+(A<<1)|0}r=r+(w<<1)|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}r=r+(_<<1)|0;break}case 4:{r=r+(i<<2)|0;if(o){l=(A|0)==0;s=0;i=n;while(1){if(!l){a=i+(A<<2)|0;f=0;n=r;while(1){h[i>>2]=h[n>>2];f=f+1|0;if((f|0)==(A|0))break;else{i=i+4|0;n=n+4|0}}i=a;r=r+(A<<2)|0}r=r+(w<<2)|0;s=s+1|0;if((s|0)==(o|0))break;else i=i+(u<<2)|0}}r=r+(_<<2)|0;break}default:{}}T=T+1|0;if(T>>>0>=(h[S>>2]|0)>>>0){r=1;t=61;break}else{t=t+52|0;M=M+52|0;e=e+52|0}}if((t|0)==61)return r|0;return 0}function ua(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0;M=v;v=v+112|0;E=M+88|0;p=M+80|0;g=M+72|0;m=M+64|0;k=M+56|0;d=M+48|0;s=M+40|0;a=M+32|0;f=M+24|0;n=M+16|0;w=M+100|0;_=M+96|0;y=M+92|0;h[_>>2]=0;A=e+200|0;if((r|0)!=8){Zt(t,1,8662,M)|0;Zt(t,1,8662,M+8|0)|0;t=0;v=M;return t|0}gt(i,A,2);gt(i+2|0,w,4);gt(i+6|0,y,1);gt(i+7|0,_,1);l=h[A>>2]|0;i=h[e+112>>2]|0;if(l>>>0>=(ue(h[e+116>>2]|0,i)|0)>>>0){h[n>>2]=l;Zt(t,1,15258,n)|0;t=0;v=M;return t|0}r=h[e+164>>2]|0;u=(l>>>0)%(i>>>0)|0;o=(l>>>0)/(i>>>0)|0;i=h[w>>2]|0;do{if((i+-1|0)>>>0<13){if((i|0)==12){h[f>>2]=12;Zt(t,2,15282,f)|0;i=h[w>>2]|0;break}h[a>>2]=i;Zt(t,1,15319,a)|0;t=0;v=M;return t|0}}while(0);if(!i){Zt(t,4,15380,s)|0;h[e+72>>2]=1}i=h[_>>2]|0;do{if(!i)i=h[r+(l*5640|0)+5588>>2]|0;else{i=((b[e+76>>0]|0)>>>4&1)+i|0;h[_>>2]=i;n=r+(l*5640|0)+5588|0;f=h[n>>2]|0;r=h[y>>2]|0;if((f+-1|0)>>>0>>0){h[d>>2]=r;h[d+4>>2]=f;Zt(t,1,15491,d)|0;h[e+72>>2]=1;t=0;v=M;return t|0}if(r>>>0>>0){h[n>>2]=i;break}h[k>>2]=r;h[k+4>>2]=i;Zt(t,1,15590,k)|0;h[e+72>>2]=1;t=0;v=M;return t|0}}while(0);if((i|0)!=0?(i|0)==((h[y>>2]|0)+1|0):0){k=e+76|0;c[k>>0]=c[k>>0]|1}h[e+24>>2]=(h[e+72>>2]|0)==0?(h[w>>2]|0)+-12|0:0;h[e+8>>2]=16;i=h[e+60>>2]|0;if((i|0)==-1){if((u>>>0>=(h[e+28>>2]|0)>>>0?u>>>0<(h[e+36>>2]|0)>>>0:0)?o>>>0>=(h[e+32>>2]|0)>>>0:0)i=(o>>>0>=(h[e+40>>2]|0)>>>0&1)<<2&255;else i=4;w=e+76|0;c[w>>0]=c[w>>0]&-5|i}else{w=e+76|0;c[w>>0]=((h[A>>2]|0)!=(i|0)&1)<<2&255|c[w>>0]&-5}a=e+196|0;i=h[a>>2]|0;if(!i){t=1;v=M;return t|0}f=h[A>>2]|0;i=h[i+40>>2]|0;h[i+(f*40|0)>>2]=f;h[i+(f*40|0)+12>>2]=h[y>>2];r=h[_>>2]|0;if(r){h[i+(f*40|0)+4>>2]=r;h[i+(f*40|0)+8>>2]=h[_>>2];i=h[i+(f*40|0)+16>>2]|0;if(!i){E=Kn(h[_>>2]|0,24)|0;h[(h[(h[a>>2]|0)+40>>2]|0)+((h[A>>2]|0)*40|0)+16>>2]=E;if(E){t=1;v=M;return t|0}Zt(t,1,15698,m)|0;t=0;v=M;return t|0}i=Zn(i,(h[_>>2]|0)*24|0)|0;r=(h[(h[a>>2]|0)+40>>2]|0)+((h[A>>2]|0)*40|0)+16|0;if(!i){Qn(h[r>>2]|0);h[(h[(h[a>>2]|0)+40>>2]|0)+((h[A>>2]|0)*40|0)+16>>2]=0;Zt(t,1,15698,g)|0;t=0;v=M;return t|0}else{h[r>>2]=i;t=1;v=M;return t|0}}if(!(h[i+(f*40|0)+16>>2]|0)){h[i+(f*40|0)+8>>2]=10;g=Kn(10,24)|0;r=h[A>>2]|0;i=h[(h[a>>2]|0)+40>>2]|0;h[i+(r*40|0)+16>>2]=g;if(!g){h[i+(r*40|0)+8>>2]=0;Zt(t,1,15698,p)|0;t=0;v=M;return t|0}else f=r}r=h[y>>2]|0;n=i+(f*40|0)+8|0;if(r>>>0<(h[n>>2]|0)>>>0){t=1;v=M;return t|0}r=r+1|0;h[n>>2]=r;i=Zn(h[i+(f*40|0)+16>>2]|0,r*24|0)|0;r=(h[(h[a>>2]|0)+40>>2]|0)+((h[A>>2]|0)*40|0)+16|0;if(!i){Qn(h[r>>2]|0);A=h[A>>2]|0;y=h[(h[a>>2]|0)+40>>2]|0;h[y+(A*40|0)+16>>2]=0;h[y+(A*40|0)+8>>2]=0;Zt(t,1,15698,E)|0;t=0;v=M;return t|0}else{h[r>>2]=i;t=1;v=M;return t|0}return 0}function ca(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+64|0;b=_+48|0;k=_+40|0;l=_+32|0;u=_+56|0;a=_+52|0;h[u>>2]=r;w=e+80|0;s=h[w>>2]|0;d=e+8|0;if((h[d>>2]|0)==16)o=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else o=h[e+12>>2]|0;n=o+5636|0;f=c[n>>0]|0;if(f&1){Zt(t,1,15025,_)|0;w=0;v=_;return w|0}c[n>>0]=f|1;if(r>>>0<5){Zt(t,1,15089,_+8|0)|0;w=0;v=_;return w|0}gt(i,o,1);if((h[o>>2]|0)>>>0>7){Zt(t,1,15115,_+16|0)|0;w=0;v=_;return w|0}gt(i+1|0,a,1);a=h[a>>2]|0;n=o+4|0;h[n>>2]=a;if((a|0)>4){Zt(t,1,15149,_+24|0)|0;h[n>>2]=-1}n=o+8|0;gt(i+2|0,n,2);n=h[n>>2]|0;if((n+-1|0)>>>0>65534){h[l>>2]=n;Zt(t,1,15190,l)|0;w=0;v=_;return w|0}l=h[e+172>>2]|0;h[o+12>>2]=(l|0)==0?n:l;gt(i+4|0,o+16|0,1);l=i+5|0;h[u>>2]=r+-5;a=h[s+16>>2]|0;if(a){i=h[o>>2]&1;n=h[o+5584>>2]|0;f=0;do{h[n+(f*1080|0)>>2]=i;f=f+1|0}while(f>>>0>>0)}if(!(Si(e,0,l,u,t)|0)){Zt(t,1,15089,k)|0;w=0;v=_;return w|0}if(h[u>>2]|0){Zt(t,1,15089,b)|0;w=0;v=_;return w|0}if((h[d>>2]|0)==16)n=(h[e+164>>2]|0)+((h[e+200>>2]|0)*5640|0)|0;else n=h[e+12>>2]|0;n=h[n+5584>>2]|0;r=n+4|0;f=h[r>>2]|0;o=f<<2;if((h[(h[w>>2]|0)+16>>2]|0)>>>0<=1){w=1;v=_;return w|0}u=n+8|0;d=n+12|0;e=n+16|0;t=n+20|0;b=n+812|0;k=n+944|0;h[n+1084>>2]=f;a=h[u>>2]|0;h[n+1088>>2]=a;i=h[d>>2]|0;h[n+1092>>2]=i;l=h[e>>2]|0;h[n+1096>>2]=l;s=h[t>>2]|0;h[n+1100>>2]=s;Gs(n+1892|0,b|0,o|0)|0;Gs(n+2024|0,k|0,o|0)|0;if((h[(h[w>>2]|0)+16>>2]|0)>>>0<=2){w=1;v=_;return w|0}h[n+2164>>2]=f;h[n+2168>>2]=a;h[n+2172>>2]=i;h[n+2176>>2]=l;h[n+2180>>2]=s;Gs(n+2972|0,b|0,o|0)|0;Gs(n+3104|0,k|0,o|0)|0;if((h[(h[w>>2]|0)+16>>2]|0)>>>0>3)f=3;else{w=1;v=_;return w|0}while(1){a=h[u>>2]|0;i=h[d>>2]|0;l=h[e>>2]|0;s=h[t>>2]|0;h[n+3244>>2]=h[r>>2];h[n+3248>>2]=a;h[n+3252>>2]=i;h[n+3256>>2]=l;h[n+3260>>2]=s;Gs(n+4052|0,b|0,o|0)|0;Gs(n+4184|0,k|0,o|0)|0;f=f+1|0;if(f>>>0>=(h[(h[w>>2]|0)+16>>2]|0)>>>0){n=1;break}else n=n+1080|0}v=_;return n|0}function da(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;p=v;v=v+272|0;c=p;_=p+136|0;m=p+8|0;if(!e){m=0;v=p;return m|0}u=e+4|0;if((h[e>>2]|0)==(i|0)?(h[u>>2]|0)==(r|0):0)n=e+8|0;else{h[e>>2]=i;h[u>>2]=r;h[_>>2]=i;h[m>>2]=r;n=e+8|0;h[n>>2]=0;f=0;l=r;s=i;o=0;while(1){w=ue(l,s)|0;s=(s+1|0)/2|0;a=o+1|0;h[_+(a<<2)>>2]=s;l=(l+1|0)/2|0;h[m+(a<<2)>>2]=l;f=f+w|0;if(w>>>0<=1)break;else o=a}h[n>>2]=f;if(!f){n=e+12|0;f=h[n>>2]|0;if(f){Qn(f);h[n>>2]=0}Qn(e);m=0;v=p;return m|0}a=f<<4;l=e+16|0;s=e+12|0;do{if(a>>>0>(h[l>>2]|0)>>>0){f=Zn(h[s>>2]|0,a)|0;if(f){h[s>>2]=f;r=h[l>>2]|0;qs(f+r|0,0,a-r|0)|0;h[l>>2]=a;r=h[u>>2]|0;i=h[e>>2]|0;break}Zt(t,1,20166,c)|0;n=h[s>>2]|0;if(n){Qn(n);h[s>>2]=0}Qn(e);m=0;v=p;return m|0}}while(0);f=h[s>>2]|0;i=f+((ue(r,i)|0)<<4)|0;if(o){w=0;r=i;do{b=h[m+(w<<2)>>2]|0;e:do{if((b|0)>0){k=h[_+(w<<2)>>2]|0;if((k|0)<=0){a=b+-1|0;l=0;while(1){d=(l&1|0)!=0|(l|0)==(a|0);s=d?r:i+(k<<4)|0;r=d?r:i;l=l+1|0;if((l|0)>=(b|0)){i=s;break e}else i=s}}d=((k+2+((k|0)<2?~k:-3)|0)>>>1)+1|0;t=b+-1|0;c=0;while(1){u=k;s=r;while(1){h[f>>2]=s;a=f+16|0;l=u;u=u+-2|0;if((u|0)>-1){h[a>>2]=s;f=f+32|0}else f=a;if((l|0)<=2)break;else s=s+16|0}r=r+(d<<4)|0;u=(c&1|0)!=0|(c|0)==(t|0);a=u?r:i+(k<<4)|0;r=u?r:i;c=c+1|0;if((c|0)>=(b|0)){i=a;break}else i=a}}}while(0);w=w+1|0}while((w|0)!=(o|0))}h[f>>2]=0}n=h[n>>2]|0;if(!n){m=e;v=p;return m|0}f=0;i=h[e+12>>2]|0;while(1){h[i+4>>2]=999;h[i+8>>2]=0;h[i+12>>2]=0;f=f+1|0;if((f|0)==(n|0))break;else i=i+16|0}v=p;return e|0}function ha(e){e=e|0;var i=0,r=0;if(!e)return;i=e+12|0;r=h[i>>2]|0;if(r){Qn(r);h[i>>2]=0}Qn(e);return}function ba(e,i,r){e=e|0;i=i|0;r=r|0;i=(h[e+12>>2]|0)+(i<<4)|0;if(!i)return;while(1){e=i+4|0;if((h[e>>2]|0)<=(r|0)){i=4;break}h[e>>2]=r;i=h[i>>2]|0;if(!i){i=4;break}}if((i|0)==4)return}function ka(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+128|0;l=s;r=(h[i+12>>2]|0)+(r<<4)|0;if(!(h[r>>2]|0)){n=0;f=l}else{n=r;i=l;while(1){f=i+4|0;h[i>>2]=r;r=h[n>>2]|0;if(!(h[r>>2]|0)){n=0;break}else{n=r;i=f}}}while(1){a=r+8|0;i=h[a>>2]|0;if((n|0)>(i|0)){h[a>>2]=n;i=n}e:do{if((i|0)<(t|0)){n=r+4|0;while(1){if((i|0)>=(h[n>>2]|0))break;Pa(e,0,1);i=i+1|0;if((i|0)>=(t|0)){r=i;break e}}r=r+12|0;if(!(h[r>>2]|0)){Pa(e,1,1);h[r>>2]=1;r=i}else r=i}else r=i}while(0);h[a>>2]=r;if((f|0)==(l|0))break;a=f+-4|0;n=r;r=h[a>>2]|0;f=a}v=s;return}function wa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0;s=v;v=v+128|0;l=s;r=(h[i+12>>2]|0)+(r<<4)|0;if(!(h[r>>2]|0)){i=0;f=l}else{n=r;i=l;while(1){f=i+4|0;h[i>>2]=r;r=h[n>>2]|0;if(!(h[r>>2]|0)){i=0;break}else{n=r;i=f}}}while(1){a=r+8|0;n=h[a>>2]|0;if((i|0)>(n|0))h[a>>2]=i;else i=n;r=r+4|0;e:do{if((i|0)<(t|0)){while(1){if((i|0)>=(h[r>>2]|0))break e;if(Oa(e,1)|0)break;i=i+1|0;if((i|0)>=(t|0))break e}h[r>>2]=i}}while(0);h[a>>2]=i;if((f|0)==(l|0))break;a=f+-4|0;r=h[a>>2]|0;f=a}v=s;return(h[r>>2]|0)<(t|0)|0}function _a(){var e=0,i=0;e=Kn(1,12)|0;if(!e){e=0;return e|0}h[e+4>>2]=10;i=Kn(10,4)|0;h[e+8>>2]=i;if(i){i=e;return i|0}Qn(e);i=0;return i|0}function ma(e){e=e|0;var i=0;if(!e)return;i=h[e+8>>2]|0;if(i)Qn(i);Qn(e);return}function pa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;l=v;v=v+16|0;a=l;f=e+4|0;n=h[f>>2]|0;t=h[e>>2]|0;do{if((n|0)==(t|0)){n=n+10|0;h[f>>2]=n;t=e+8|0;n=Zn(h[t>>2]|0,n<<2)|0;if(n){h[t>>2]=n;t=h[e>>2]|0;break}Qn(h[t>>2]|0);h[f>>2]=0;h[e>>2]=0;Zt(r,1,20214,a)|0;e=0;v=l;return e|0}else n=h[e+8>>2]|0}while(0);h[n+(t<<2)>>2]=i;h[e>>2]=t+1;e=1;v=l;return e|0}function va(e){e=e|0;return h[e>>2]|0}function ga(e){e=e|0;return h[e+8>>2]|0}function ya(e){e=e|0;h[e>>2]=0;return}function Ea(){return Gn(20)|0}function Aa(e){e=e|0;if(!e)return;Qn(e);return}function Ma(e){e=e|0;return(h[e+8>>2]|0)-(h[e>>2]|0)|0}function Ta(e,i,r){e=e|0;i=i|0;r=r|0;h[e>>2]=i;h[e+4>>2]=i+r;h[e+8>>2]=i;h[e+12>>2]=0;h[e+16>>2]=8;return}function Sa(e,i,r){e=e|0;i=i|0;r=r|0;h[e>>2]=i;h[e+4>>2]=i+r;h[e+8>>2]=i;h[e+12>>2]=0;h[e+16>>2]=0;return}function Pa(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;if(!r)return;s=e+16|0;o=e+12|0;u=e+8|0;f=e+4|0;e=h[s>>2]|0;l=r+-1|0;do{a=i>>>l&1;if(!e){n=h[o>>2]|0;e=n<<8&65280;h[o>>2]=e;e=(e|0)==65280?7:8;h[s>>2]=e;t=h[u>>2]|0;if(t>>>0<(h[f>>2]|0)>>>0){h[u>>2]=t+1;c[t>>0]=n;e=h[s>>2]|0}}e=e+-1|0;h[s>>2]=e;h[o>>2]=a<>2];l=l+-1|0}while(l>>>0>>0);return}function Oa(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;if(!i){i=0;return i|0}l=e+16|0;s=e+12|0;o=e+8|0;f=e+4|0;r=h[l>>2]|0;t=h[s>>2]|0;a=i+-1|0;e=0;do{if(!r){n=t<<8&65280;h[s>>2]=n;r=(n|0)==65280?7:8;h[l>>2]=r;t=h[o>>2]|0;if(t>>>0<(h[f>>2]|0)>>>0){h[o>>2]=t+1;t=b[t>>0]|0|n;h[s>>2]=t}else t=n}r=r+-1|0;h[l>>2]=r;e=((t>>>r&1)<>>0>>0);return e|0}function Ra(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;t=e+12|0;i=h[t>>2]|0;a=i<<8&65280;h[t>>2]=a;n=e+16|0;h[n>>2]=(a|0)==65280?7:8;a=e+8|0;r=h[a>>2]|0;f=e+4|0;if(r>>>0>=(h[f>>2]|0)>>>0){a=0;return a|0}h[a>>2]=r+1;c[r>>0]=i;if((h[n>>2]|0)!=7){a=1;return a|0}i=h[t>>2]|0;e=i<<8&65280;h[t>>2]=e;h[n>>2]=(e|0)==65280?7:8;e=h[a>>2]|0;if(e>>>0>=(h[f>>2]|0)>>>0){a=0;return a|0}h[a>>2]=e+1;c[e>>0]=i;a=1;return a|0}function La(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;f=e+12|0;i=h[f>>2]|0;do{if((i&255|0)==255){t=i<<8&65280;h[f>>2]=t;i=e+16|0;h[i>>2]=(t|0)==65280?7:8;n=e+8|0;r=h[n>>2]|0;if(r>>>0<(h[e+4>>2]|0)>>>0){h[n>>2]=r+1;h[f>>2]=b[r>>0]|0|t;break}else{e=0;return e|0}}else i=e+16|0}while(0);h[i>>2]=0;e=1;return e|0}function Ca(e){e=e|0;return Ya(e,1)|0}function Da(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0;O=v;v=v+32|0;S=O+16|0;P=O;s=h[e+24>>2]|0;l=(h[s+8>>2]|0)-(h[s>>2]|0)|0;a=(h[s+12>>2]|0)-(h[s+4>>2]|0)|0;T=(h[e+8>>2]|0)-(h[e>>2]|0)|0;if((i|0)==1){P=1;v=O;return P|0}f=i+-1|0;n=(f|0)==0;if(n)i=0;else{r=s;t=f;i=0;do{M=r;r=r+136|0;A=(h[M+144>>2]|0)-(h[r>>2]|0)|0;i=i>>>0>>0?A:i;M=(h[M+148>>2]|0)-(h[M+140>>2]|0)|0;i=i>>>0>>0?M:i;t=t+-1|0}while((t|0)!=0);i=i<<2}M=Wn(i)|0;h[S>>2]=M;if(!M){P=0;v=O;return P|0}h[P>>2]=M;if(!n){_=e+32|0;m=S+8|0;p=P+8|0;g=S+4|0;y=S+12|0;E=P+4|0;A=P+12|0;do{k=h[_>>2]|0;c=s;s=s+136|0;h[m>>2]=l;h[p>>2]=a;d=h[c+144>>2]|0;b=h[s>>2]|0;t=l;l=d-b|0;i=h[c+148>>2]|0;c=c+140|0;w=h[c>>2]|0;r=a;a=i-w|0;h[g>>2]=l-t;h[y>>2]=(b|0)%2|0;w=(i|0)==(w|0);if(!w){u=l<<2;i=0;while(1){e=ue(i,T)|0;o=k+(e<<2)|0;if(t){r=o;n=M+(h[y>>2]<<2)|0;while(1){t=t+-1|0;h[n>>2]=h[r>>2];if(!t)break;else{r=r+4|0;n=n+8|0}}}r=h[g>>2]|0;if(r){t=k+((h[m>>2]|0)+e<<2)|0;n=M+(1-(h[y>>2]|0)<<2)|0;while(1){r=r+-1|0;h[n>>2]=h[t>>2];if(!r)break;else{t=t+4|0;n=n+8|0}}}qa(S);Gs(o|0,M|0,u|0)|0;i=i+1|0;if((i|0)==(a|0))break;t=h[m>>2]|0}r=h[p>>2]|0;i=h[c>>2]|0}h[E>>2]=a-r;h[A>>2]=(i|0)%2|0;e:do{if((d|0)!=(b|0)){i=0;while(1){if(r){t=k+(i<<2)|0;n=M+(h[A>>2]<<2)|0;while(1){r=r+-1|0;h[n>>2]=h[t>>2];if(!r)break;else{t=t+(T<<2)|0;n=n+8|0}}}r=h[E>>2]|0;if(r){t=k+((ue(h[p>>2]|0,T)|0)+i<<2)|0;n=M+(1-(h[A>>2]|0)<<2)|0;while(1){r=r+-1|0;h[n>>2]=h[t>>2];if(!r)break;else{t=t+(T<<2)|0;n=n+8|0}}}qa(P);if(!w){r=0;do{b=k+((ue(r,T)|0)+i<<2)|0;h[b>>2]=h[M+(r<<2)>>2];r=r+1|0}while((r|0)!=(a|0))}i=i+1|0;if((i|0)==(l|0))break e;r=h[p>>2]|0}}}while(0);f=f+-1|0}while((f|0)!=0)}Jn(M);P=1;v=O;return P|0}function xa(e){e=e|0;if(!e){e=0;return e|0}e=(e+-1|0)>>>0<2?1:2;return e|0}function Ia(e,i){e=e|0;i=i|0;return+ +m[56+(i*80|0)+(e<<3)>>3]}function Ba(e){e=e|0;return Ya(e,2)|0}function Na(e){e=e|0;return 0}function Fa(e,i){e=e|0;i=i|0;return+ +m[376+(i*80|0)+(e<<3)>>3]}function Ua(e,i){e=e|0;i=i|0;var r=0.0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0;s=e+4|0;o=((h[s>>2]|0)*3|0)+-2|0;if(!o)return;u=e+20|0;c=e+24|0;d=0;do{if(!d){t=0;n=0}else{n=d+-1|0;t=((n>>>0)/3|0)+1|0;n=((n>>>0)%3|0)+1|0}if((n|0)==0|(h[u>>2]|0)==0)f=0;else f=(n+-1|0)>>>0<2?1:2;if(!(h[c>>2]|0))r=1.0;else r=+(1<>2]|0)+~t<<3)>>3];l=~~+J(+(r*8192.0));a=f+i|0;if((l|0)>1){t=l;n=0;while(1){t=t>>1;if((t|0)<=1)break;else n=n+1|0}f=l;t=0;do{f=f>>1;t=t+1|0}while((f|0)>1);n=n+-12|0}else{n=-13;t=0}f=11-t|0;h[e+28+(d<<3)+4>>2]=((f|0)<0?l>>0-f:l<>2]=a-n;d=d+1|0}while((d|0)!=(o|0));return}function ja(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0;z=v;v=v+32|0;Y=z+16|0;q=z;u=h[e+24>>2]|0;c=h[u+8>>2]|0;d=h[u>>2]|0;s=h[u+12>>2]|0;o=h[u+4>>2]|0;H=e+8|0;a=h[H>>2]|0;l=h[e>>2]|0;j=a-l|0;f=i+-1|0;n=(f|0)==0;if(n)i=80;else{r=u;t=f;i=0;do{U=r;r=r+136|0;F=(h[U+144>>2]|0)-(h[r>>2]|0)|0;i=i>>>0>>0?F:i;U=(h[U+148>>2]|0)-(h[U+140>>2]|0)|0;i=i>>>0>>0?U:i;t=t+-1|0}while((t|0)!=0);i=(i<<4)+80|0}U=Wn(i)|0;h[Y>>2]=U;if(!U){X=0;v=z;return X|0}h[q>>2]=U;e:do{if(!n){A=e+32|0;M=e+12|0;T=e+4|0;S=Y+8|0;P=q+8|0;O=Y+4|0;R=Y+12|0;L=q+4|0;C=q+12|0;D=j<<1;x=j<<2;I=j*3|0;N=l<<2;F=a<<2;B=N-F|0;N=F-N|0;F=a-l<<2;i=f;r=U;f=a;t=l;w=s-o|0;n=u;a=c-d|0;while(1){_=h[A>>2]|0;t=ue((h[M>>2]|0)-(h[T>>2]|0)|0,f-t|0)|0;h[S>>2]=a;h[P>>2]=w;y=n+136|0;b=h[n+144>>2]|0;k=h[y>>2]|0;E=b-k|0;p=h[n+148>>2]|0;c=n+140|0;m=h[c>>2]|0;g=p-m|0;h[O>>2]=E-a;h[R>>2]=(k|0)%2|0;if((g|0)>3){f=(E|0)>0;a=(p+-4-m|0)>>>2;u=ue(B,a)|0;a=_+(N+(ue(F,a)|0)<<2)|0;l=_;s=t;o=g;while(1){za(Y,l,j,s);Va(Y);if(f){n=E;do{d=n;n=n+-1|0;h[l+(n<<2)>>2]=h[U+(n<<4)>>2];h[l+(n+j<<2)>>2]=h[U+(n<<4)+4>>2];h[l+(n+D<<2)>>2]=h[U+(n<<4)+8>>2];h[l+(n+I<<2)>>2]=h[U+(n<<4)+12>>2]}while((d|0)>1)}o=o+-4|0;if((o|0)<=3)break;else{l=l+(x<<2)|0;s=s-x|0}}t=B+t+u|0}else a=_;f=g&3;i:do{if(!f)X=21;else{za(Y,a,j,t);Va(Y);if((E|0)>0)t=E;else{s=g-w|0;h[L>>2]=s;f=(h[c>>2]|0)%2|0;h[C>>2]=f;o=w;l=_;break}while(1){n=t;t=t+-1|0;switch(f|0){case 3:{h[a+(t+D<<2)>>2]=h[U+(t<<4)+8>>2];X=18;break}case 2:{X=18;break}case 1:{X=19;break}default:{}}if((X|0)==18){h[a+(t+j<<2)>>2]=h[U+(t<<4)+4>>2];X=19}if((X|0)==19){X=0;h[a+(t<<2)>>2]=h[U+(t<<4)>>2]}if((n|0)<=1){X=21;break i}}}}while(0);if((X|0)==21){X=0;s=g-w|0;h[L>>2]=s;f=(h[c>>2]|0)%2|0;h[C>>2]=f;if((E|0)>3){d=(p|0)==(m|0);b=b+-4-k|0;c=h[P>>2]|0;o=(c|0)>0;l=1-f|0;u=(s|0)>0;n=_;a=E;while(1){if(o){t=0;do{w=r+((t<<1)+f<<4)|0;k=n+((ue(t,j)|0)<<2)|0;h[w>>2]=h[k>>2];h[w+4>>2]=h[k+4>>2];h[w+8>>2]=h[k+8>>2];h[w+12>>2]=h[k+12>>2];t=t+1|0}while((t|0)!=(c|0))}if(u){t=0;do{w=r+(l+(t<<1)<<4)|0;k=n+((ue(t+c|0,j)|0)<<2)|0;h[w>>2]=h[k>>2];h[w+4>>2]=h[k+4>>2];h[w+8>>2]=h[k+8>>2];h[w+12>>2]=h[k+12>>2];t=t+1|0}while((t|0)!=(s|0))}Va(q);if(!d){r=h[q>>2]|0;t=0;do{w=n+((ue(t,j)|0)<<2)|0;k=r+(t<<4)|0;h[w>>2]=h[k>>2];h[w+4>>2]=h[k+4>>2];h[w+8>>2]=h[k+8>>2];h[w+12>>2]=h[k+12>>2];t=t+1|0}while((t|0)!=(g|0))}a=a+-4|0;if((a|0)<=3)break;else n=n+16|0}o=c;l=_+((b+4&-4)<<2)|0}else{o=w;l=_}}a=E&3;if(a){r=h[q>>2]|0;if((o|0)>0){t=a<<2;n=0;do{Gs(r+((n<<1)+f<<4)|0,l+((ue(n,j)|0)<<2)|0,t|0)|0;n=n+1|0}while((n|0)!=(o|0))}t=1-f|0;if((s|0)>0){n=a<<2;f=0;do{Gs(r+(t+(f<<1)<<4)|0,l+((ue(f+o|0,j)|0)<<2)|0,n|0)|0;f=f+1|0}while((f|0)!=(s|0))}Va(q);if((p|0)!=(m|0)){t=a<<2;n=0;do{Gs(l+((ue(n,j)|0)<<2)|0,r+(n<<4)|0,t|0)|0;n=n+1|0}while((n|0)!=(g|0))}}i=i+-1|0;if(!i)break e;f=h[H>>2]|0;t=h[e>>2]|0;w=g;n=y;a=E}}}while(0);Jn(U);X=1;v=z;return X|0}function Ha(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;if(!t){t=(i|0)>0;if(!(t|(r|0)>1))return;if(t){t=e+((r<<1)+-2<<2)|0;n=0;do{s=n;n=n+1|0;o=e+((s<<1|1)<<2)|0;h[o>>2]=(h[o>>2]|0)-((h[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((s|0)<(r|0)?e+(s<<1<<2)|0:t)>>2]|0)>>1)}while((n|0)!=(i|0))}if((r|0)<=0)return;n=e+4|0;f=(i<<1)+-1|0;a=0;do{if((a|0)<1)t=n;else t=e+((((a|0)>(i|0)?i:a)<<1)+-1<<2)|0;o=e+(a<<1<<2)|0;h[o>>2]=((h[t>>2]|0)+2+(h[e+(((a|0)<(i|0)?a<<1|1:f)<<2)>>2]|0)>>2)+(h[o>>2]|0);a=a+1|0}while((a|0)!=(r|0));return}if((i|0)==1&(r|0)==0){h[e>>2]=h[e>>2]<<1;return}if((i|0)>0){n=e+4|0;f=(r<<1)+-1|0;a=e+(f<<2)|0;o=0;do{l=o<<1;s=h[e+(((o|0)<(r|0)?l|1:f)<<2)>>2]|0;if((o|0)>=1)if((o|0)>(r|0))t=a;else t=e+(l+-1<<2)|0;else t=n;l=e+(l<<2)|0;h[l>>2]=(h[l>>2]|0)-((h[t>>2]|0)+s>>1);o=o+1|0}while((o|0)!=(i|0))}if((r|0)<=0)return;t=e+((i<<1)+-2<<2)|0;n=0;do{s=n;n=n+1|0;o=e+((s<<1|1)<<2)|0;h[o>>2]=((h[((s|0)<(i|0)?e+(s<<1<<2)|0:t)>>2]|0)+2+(h[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)>>2)+(h[o>>2]|0)}while((n|0)!=(r|0));return}function Ya(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0;y=(h[e+8>>2]|0)-(h[e>>2]|0)|0;f=h[e+16>>2]|0;l=f+-1|0;E=h[e+32>>2]|0;a=h[e+24>>2]|0;n=(l|0)==0;if(n)e=0;else{r=a;t=l;e=0;do{g=r;r=r+136|0;v=(h[g+144>>2]|0)-(h[r>>2]|0)|0;e=e>>>0>>0?v:e;g=(h[g+148>>2]|0)-(h[g+140>>2]|0)|0;e=e>>>0>>0?g:e;t=t+-1|0}while((t|0)!=0);e=e<<2}g=Gn(e)|0;if(!((e|0)==0|(g|0)!=0)){i=0;return i|0}if(!n){p=f+-2|0;v=p;e=a+(l*136|0)|0;p=a+(p*136|0)|0;while(1){w=h[e>>2]|0;m=(h[e+8>>2]|0)-w|0;c=h[e+4>>2]|0;b=(h[e+12>>2]|0)-c|0;k=(h[p+8>>2]|0)-(h[p>>2]|0)|0;e=h[p+12>>2]|0;r=h[p+4>>2]|0;u=e-r|0;w=w&1;c=c&1;d=b-u|0;_=(m|0)>0;e:do{if(_){n=(e|0)==(r|0);l=(b|0)==(u|0);s=g+((c^1)<<2)|0;o=ue(u,y)|0;a=g+(c<<2)|0;if((b|0)>0){f=0;while(1){r=E+(f<<2)|0;e=0;do{t=E+((ue(e,y)|0)+f<<2)|0;h[g+(e<<2)>>2]=h[t>>2];e=e+1|0}while((e|0)!=(b|0));Ho[i&3](g,d,u,c);if(!n){t=u;e=a;while(1){t=t+-1|0;h[r>>2]=h[e>>2];if(!t)break;else{r=r+(y<<2)|0;e=e+8|0}}}if(!l){e=d;r=E+(f+o<<2)|0;t=s;while(1){e=e+-1|0;h[r>>2]=h[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}}f=f+1|0;if((f|0)==(m|0))break e}}if(n){r=0;while(1){Ho[i&3](g,d,u,c);if(!l){e=d;t=E+(r+o<<2)|0;n=s;while(1){e=e+-1|0;h[t>>2]=h[n>>2];if(!e)break;else{t=t+(y<<2)|0;n=n+8|0}}}r=r+1|0;if((r|0)==(m|0))break e}}else n=0;do{Ho[i&3](g,d,u,c);e=u;r=E+(n<<2)|0;t=a;while(1){e=e+-1|0;h[r>>2]=h[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}if(!l){e=d;r=E+(n+o<<2)|0;t=s;while(1){e=e+-1|0;h[r>>2]=h[t>>2];if(!e)break;else{r=r+(y<<2)|0;t=t+8|0}}}n=n+1|0}while((n|0)!=(m|0))}}while(0);f=m-k|0;if((b|0)>0){a=(k|0)>0;l=g+(w<<2)|0;s=(f|0)>0;o=g+((w^1)<<2)|0;u=0;do{n=ue(u,y)|0;r=E+(n<<2)|0;if(_){e=0;do{h[g+(e<<2)>>2]=h[E+(e+n<<2)>>2];e=e+1|0}while((e|0)!=(m|0))}Ho[i&3](g,f,k,w);if(a){t=0;e=l;while(1){h[r>>2]=h[e>>2];t=t+1|0;if((t|0)==(k|0))break;else{r=r+4|0;e=e+8|0}}}if(s){t=0;e=E+(n+k<<2)|0;r=o;while(1){h[e>>2]=h[r>>2];t=t+1|0;if((t|0)==(f|0))break;else{e=e+4|0;r=r+8|0}}}u=u+1|0}while((u|0)!=(b|0))}if(!v)break;else{e=p;v=v+-1|0;p=p+-136|0}}}Qn(g);i=1;return i|0}function qa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0;l=h[e>>2]|0;s=h[e+4>>2]|0;o=h[e+8>>2]|0;if(!(h[e+12>>2]|0)){t=(s|0)>0;if(!(t|(o|0)>1))return;if((o|0)>0){i=l+4|0;r=(s<<1)+-1|0;n=0;do{if((n|0)<1)e=i;else e=l+((((n|0)>(s|0)?s:n)<<1)+-1<<2)|0;f=n<<1;a=l+(f<<2)|0;h[a>>2]=(h[a>>2]|0)-((h[e>>2]|0)+2+(h[l+(((n|0)<(s|0)?f|1:r)<<2)>>2]|0)>>2);n=n+1|0}while((n|0)!=(o|0))}if(!t)return;e=l+((o<<1)+-2<<2)|0;i=0;do{f=i<<1;n=i;i=i+1|0;a=l+((f|1)<<2)|0;h[a>>2]=((h[((i|0)<(o|0)?l+(i<<1<<2)|0:e)>>2]|0)+(h[((n|0)<(o|0)?l+(f<<2)|0:e)>>2]|0)>>1)+(h[a>>2]|0)}while((i|0)!=(s|0));return}if((s|0)==1&(o|0)==0){h[l>>2]=(h[l>>2]|0)/2|0;return}if((o|0)>0){e=l+((s<<1)+-2<<2)|0;i=0;do{f=i<<1;n=i;i=i+1|0;a=l+((f|1)<<2)|0;h[a>>2]=(h[a>>2]|0)-((h[((n|0)<(s|0)?l+(f<<2)|0:e)>>2]|0)+2+(h[((i|0)<(s|0)?l+(i<<1<<2)|0:e)>>2]|0)>>2)}while((i|0)!=(o|0))}if((s|0)<=0)return;i=l+4|0;r=(o<<1)+-1|0;t=l+(r<<2)|0;a=0;do{n=a<<1;f=h[l+(((a|0)<(o|0)?n|1:r)<<2)>>2]|0;if((a|0)>=1)if((a|0)>(o|0))e=t;else e=l+(n+-1<<2)|0;else e=i;n=l+(n<<2)|0;h[n>>2]=((h[e>>2]|0)+f>>1)+(h[n>>2]|0);a=a+1|0}while((a|0)!=(s|0));return}function Xa(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0;if(!t){s=(i|0)>0;if(!(s|(r|0)>1))return;if(s){t=e+((r<<1)+-2<<2)|0;n=0;do{c=n;n=n+1|0;u=(h[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((c|0)<(r|0)?e+(c<<1<<2)|0:t)>>2]|0)|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,12993,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=e+((c<<1|1)<<2)|0;h[c>>2]=(h[c>>2]|0)-u}while((n|0)!=(i|0))}l=(r|0)>0;if(l){n=e+4|0;f=(i<<1)+-1|0;a=0;do{if((a|0)<1)t=n;else t=e+((((a|0)>(i|0)?i:a)<<1)+-1<<2)|0;u=(h[e+(((a|0)<(i|0)?a<<1|1:f)<<2)>>2]|0)+(h[t>>2]|0)|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,434,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=e+(a<<1<<2)|0;h[c>>2]=(h[c>>2]|0)-u;a=a+1|0}while((a|0)!=(r|0))}if(s){t=e+((r<<1)+-2<<2)|0;n=0;do{c=n;n=n+1|0;u=(h[((n|0)<(r|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((c|0)<(r|0)?e+(c<<1<<2)|0:t)>>2]|0)|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,7233,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=e+((c<<1|1)<<2)|0;h[c>>2]=u+(h[c>>2]|0)}while((n|0)!=(i|0))}if(l){n=e+4|0;f=(i<<1)+-1|0;a=0;do{if((a|0)<1)t=n;else t=e+((((a|0)>(i|0)?i:a)<<1)+-1<<2)|0;u=(h[e+(((a|0)<(i|0)?a<<1|1:f)<<2)>>2]|0)+(h[t>>2]|0)|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,3633,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;c=e+(a<<1<<2)|0;h[c>>2]=u+(h[c>>2]|0);a=a+1|0}while((a|0)!=(r|0))}if(s){t=0;do{c=e+((t<<1|1)<<2)|0;u=h[c>>2]|0;u=Qs(u|0,((u|0)<0)<<31>>31|0,5038,0)|0;u=zs(u|0,j|0,4096,0)|0;u=Vs(u|0,j|0,13)|0;h[c>>2]=u;t=t+1|0}while((t|0)!=(i|0))}if(l)t=0;else return;do{i=e+(t<<1<<2)|0;c=h[i>>2]|0;c=Qs(c|0,((c|0)<0)<<31>>31|0,6659,0)|0;c=zs(c|0,j|0,4096,0)|0;c=Vs(c|0,j|0,13)|0;h[i>>2]=c;t=t+1|0}while((t|0)!=(r|0));return}c=(r|0)>0;if(!((i|0)>1|c))return;u=(i|0)>0;if(u){n=e+4|0;f=(r<<1)+-1|0;a=e+(f<<2)|0;o=0;do{l=o<<1;s=h[e+(((o|0)<(r|0)?l|1:f)<<2)>>2]|0;if((o|0)>=1)if((o|0)>(r|0))t=a;else t=e+(l+-1<<2)|0;else t=n;t=(h[t>>2]|0)+s|0;t=Qs(t|0,((t|0)<0)<<31>>31|0,12993,0)|0;t=zs(t|0,j|0,4096,0)|0;t=Vs(t|0,j|0,13)|0;s=e+(l<<2)|0;h[s>>2]=(h[s>>2]|0)-t;o=o+1|0}while((o|0)!=(i|0))}if(c){t=e+((i<<1)+-2<<2)|0;n=0;do{o=n;n=n+1|0;s=(h[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((o|0)<(i|0)?e+(o<<1<<2)|0:t)>>2]|0)|0;s=Qs(s|0,((s|0)<0)<<31>>31|0,434,0)|0;s=zs(s|0,j|0,4096,0)|0;s=Vs(s|0,j|0,13)|0;o=e+((o<<1|1)<<2)|0;h[o>>2]=(h[o>>2]|0)-s}while((n|0)!=(r|0))}if(u){n=e+4|0;f=(r<<1)+-1|0;a=e+(f<<2)|0;o=0;do{l=o<<1;s=h[e+(((o|0)<(r|0)?l|1:f)<<2)>>2]|0;if((o|0)>=1)if((o|0)>(r|0))t=a;else t=e+(l+-1<<2)|0;else t=n;t=(h[t>>2]|0)+s|0;t=Qs(t|0,((t|0)<0)<<31>>31|0,7233,0)|0;t=zs(t|0,j|0,4096,0)|0;t=Vs(t|0,j|0,13)|0;s=e+(l<<2)|0;h[s>>2]=t+(h[s>>2]|0);o=o+1|0}while((o|0)!=(i|0))}if(c){t=e+((i<<1)+-2<<2)|0;n=0;do{o=n;n=n+1|0;s=(h[((n|0)<(i|0)?e+(n<<1<<2)|0:t)>>2]|0)+(h[((o|0)<(i|0)?e+(o<<1<<2)|0:t)>>2]|0)|0;s=Qs(s|0,((s|0)<0)<<31>>31|0,3633,0)|0;s=zs(s|0,j|0,4096,0)|0;s=Vs(s|0,j|0,13)|0;o=e+((o<<1|1)<<2)|0;h[o>>2]=s+(h[o>>2]|0)}while((n|0)!=(r|0))}if(u){t=0;do{u=e+(t<<1<<2)|0;o=h[u>>2]|0;o=Qs(o|0,((o|0)<0)<<31>>31|0,5038,0)|0;o=zs(o|0,j|0,4096,0)|0;o=Vs(o|0,j|0,13)|0;h[u>>2]=o;t=t+1|0}while((t|0)!=(i|0))}if(c)t=0;else return;do{i=e+((t<<1|1)<<2)|0;c=h[i>>2]|0;c=Qs(c|0,((c|0)<0)<<31>>31|0,6659,0)|0;c=zs(c|0,j|0,4096,0)|0;c=Vs(c|0,j|0,13)|0;h[i>>2]=c;t=t+1|0}while((t|0)!=(r|0));return}function za(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0;c=h[e>>2]|0;l=h[e+12>>2]|0;w=h[e+8>>2]|0;d=r*3|0;u=1-l|0;o=e+4|0;s=w;e=0;while(1){a=c+(l<<4)|0;if(((s+d|0)<(t|0)?(i&15|0)==0:0)?((a|r)&15|0)==0:0){if((s|0)>0){n=0;do{a=n<<3;h[c+(l<<4)+(a<<2)>>2]=h[i+(n<<2)>>2];f=n+r|0;h[c+(l<<4)+((a|1)<<2)>>2]=h[i+(f<<2)>>2];f=f+r|0;h[c+(l<<4)+((a|2)<<2)>>2]=h[i+(f<<2)>>2];h[c+(l<<4)+((a|3)<<2)>>2]=h[i+(f+r<<2)>>2];n=n+1|0}while((n|0)!=(s|0))}}else _=3;if((_|0)==3?(_=0,(s|0)>0):0){a=0;do{n=a<<3;h[c+(l<<4)+(n<<2)>>2]=h[i+(a<<2)>>2];f=a+r|0;if(((f|0)<(t|0)?(h[c+(l<<4)+((n|1)<<2)>>2]=h[i+(f<<2)>>2],b=f+r|0,(b|0)<(t|0)):0)?(h[c+(l<<4)+((n|2)<<2)>>2]=h[i+(b<<2)>>2],k=b+r|0,(k|0)<(t|0)):0)h[c+(l<<4)+((n|3)<<2)>>2]=h[i+(k<<2)>>2];a=a+1|0}while((a|0)!=(s|0))}e=e+1|0;if((e|0)==2)break;else{i=i+(w<<2)|0;t=t-w|0;l=u;s=h[o>>2]|0}}return}function Va(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0.0,o=0.0,u=0,c=0.0,d=0,b=0;do{if(!(h[e+12>>2]|0)){r=h[e+8>>2]|0;if((h[e+4>>2]|0)>0){i=h[e>>2]|0;if((r|0)>0){a=0;n=1;l=9;break}else{a=0;f=1;break}}if((r|0)>1){t=0;n=1;l=7}else return}else{r=h[e+8>>2]|0;if((r|0)<=0)if((h[e+4>>2]|0)>1){i=h[e>>2]|0;a=1;f=0;break}else return;else{t=1;n=0;l=7}}}while(0);if((l|0)==7){i=h[e>>2]|0;a=t;l=9}if((l|0)==9){t=0;do{l=t<<3;d=i+(a<<4)+(l<<2)|0;u=i+(a<<4)+((l|1)<<2)|0;c=+_[u>>2];f=i+(a<<4)+((l|2)<<2)|0;o=+_[f>>2];l=i+(a<<4)+((l|3)<<2)|0;s=+_[l>>2];_[d>>2]=+_[d>>2]*1.2301740646362305;_[u>>2]=c*1.2301740646362305;_[f>>2]=o*1.2301740646362305;_[l>>2]=s*1.2301740646362305;t=t+1|0}while((t|0)!=(r|0));f=n}t=h[e+4>>2]|0;if((t|0)>0){n=0;do{d=n<<3;l=i+(f<<4)+(d<<2)|0;e=i+(f<<4)+((d|1)<<2)|0;s=+_[e>>2];u=i+(f<<4)+((d|2)<<2)|0;o=+_[u>>2];d=i+(f<<4)+((d|3)<<2)|0;c=+_[d>>2];_[l>>2]=+_[l>>2]*1.625732421875;_[e>>2]=s*1.625732421875;_[u>>2]=o*1.625732421875;_[d>>2]=c*1.625732421875;n=n+1|0}while((n|0)!=(t|0))}b=i+(f<<4)|0;n=i+(a+1<<4)|0;l=t-a|0;l=(r|0)<(l|0)?r:l;Ga(b,n,r,l,-.4435068666934967);e=i+(a<<4)|0;u=i+(f+1<<4)|0;d=r-f|0;d=(t|0)<(d|0)?t:d;Ga(e,u,t,d,-.8829110860824585);Ga(b,n,r,l,.05298011749982834);Ga(e,u,t,d,1.5861343145370483);return}function Ga(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=+n;var f=0.0,a=0.0,l=0.0,s=0.0,o=0,u=0,c=0,d=0,h=0.0,b=0.0,k=0,w=0.0,m=0.0,p=0,v=0.0,g=0.0,y=0,E=0.0;if((t|0)>0){c=t<<1;u=c+-2|0;a=+_[e>>2];l=+_[e+4>>2];s=+_[e+8>>2];f=+_[e+12>>2];e=i;o=0;while(1){y=e+-16|0;p=e+-12|0;g=+_[p>>2];k=e+-8|0;m=+_[k>>2];d=e+-4|0;b=+_[d>>2];E=a;a=+_[e>>2];v=l;l=+_[e+4>>2];w=s;s=+_[e+8>>2];h=f;f=+_[e+12>>2];_[y>>2]=+_[y>>2]+(E+a)*n;_[p>>2]=g+(v+l)*n;_[k>>2]=m+(w+s)*n;_[d>>2]=b+(h+f)*n;o=o+1|0;if((o|0)==(t|0))break;else e=e+32|0}e=i+(u<<4)|0;i=i+(c<<4)|0}if((t|0)>=(r|0))return;f=n+n;a=f*+_[e>>2];l=f*+_[e+4>>2];s=f*+_[e+8>>2];f=f*+_[e+12>>2];while(1){d=i+-16|0;k=i+-12|0;v=+_[k>>2];p=i+-8|0;g=+_[p>>2];y=i+-4|0;E=+_[y>>2];_[d>>2]=a+ +_[d>>2];_[k>>2]=l+v;_[p>>2]=s+g;_[y>>2]=f+E;t=t+1|0;if((t|0)==(r|0))break;else i=i+32|0}return}function Ka(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0.0,a=0,l=0,s=0,o=0,u=0,c=0,d=0.0,b=0,k=0,w=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0;E=r<<2;A=Gn(r<<4)|0;if(!A){e=0;return e|0}M=A+E|0;qs(A|0,0,E|0)|0;g=r+-1|0;v=(r|0)==0;if(!v){t=0;n=A;while(1){h[n>>2]=t;t=t+1|0;if((t|0)==(r|0))break;else n=n+4|0}}e:do{if(g){k=g;l=0;t=0;w=e;m=1;p=A;while(1){s=w+(l<<2)|0;if(l>>>0>>0){a=l;n=s;f=0.0}else break;while(1){d=+_[n>>2];d=d>0.0?d:-d;y=d>f;t=y?a:t;f=y?d:f;a=a+1|0;if((a|0)==(r|0))break;else n=n+(r<<2)|0}if(f==0.0)break;if((t|0)!=(l|0)){y=t-l|0;b=p+(y<<2)|0;c=h[p>>2]|0;h[p>>2]=h[b>>2];h[b>>2]=c;y=w+((ue(y,r)|0)<<2)|0;Gs(M|0,y|0,E|0)|0;Gs(y|0,w|0,E|0)|0;Gs(w|0,M|0,E|0)|0}n=l;b=l+1|0;d=+_[s>>2];if(m>>>0>>0){o=w+(b<<2)|0;c=b+k|0;u=m;a=w+(n+r<<2)|0;while(1){f=+_[a>>2]/d;_[a>>2]=f;n=m;l=a;s=o;while(1){l=l+4|0;_[l>>2]=+_[l>>2]-f*+_[s>>2];n=n+1|0;if((n|0)==(r|0))break;else s=s+4|0}u=u+1|0;if((u|0)==(r|0))break;else a=a+(c<<2)|0}}if(b>>>0>>0){k=k+-1|0;l=b;w=w+(r<<2)|0;m=m+1|0;p=p+4|0}else break e}Qn(A);e=0;return e|0}}while(0);t=r<<1;y=M+(t<<2)|0;if(!v){v=M+(g+r<<2)|0;k=M+(t+g<<2)|0;w=e+((ue(r,r)|0)+-1<<2)|0;m=~r;p=0;b=i;while(1){qs(M|0,0,E|0)|0;_[M+(p<<2)>>2]=1.0;l=0;s=1;o=A;u=y;c=e;while(1){if(!l)f=0.0;else{t=1;n=y;a=c;f=0.0;while(1){f=f+ +_[a>>2]*+_[n>>2];t=t+1|0;if((t|0)==(s|0))break;else{n=n+4|0;a=a+4|0}}}_[u>>2]=+_[M+(h[o>>2]<<2)>>2]-f;l=l+1|0;if((l|0)==(r|0)){l=r;s=v;o=y;u=k;c=w;break}else{s=s+1|0;o=o+4|0;u=u+4|0;c=c+(r<<2)|0}}while(1){t=l;l=l+-1|0;d=+_[c>>2];if(t>>>0>>0){n=o;a=c;f=0.0;while(1){a=a+4|0;f=f+ +_[a>>2]*+_[n>>2];t=t+1|0;if((t|0)==(r|0))break;else n=n+4|0}}else f=0.0;o=o+-4|0;_[s>>2]=(+_[u>>2]-f)/d;if(!l){t=0;n=b;break}else{s=s+-4|0;u=u+-4|0;c=c+(m<<2)|0}}while(1){h[n>>2]=h[M+(t+r<<2)>>2];t=t+1|0;if((t|0)==(r|0))break;else n=n+(r<<2)|0}p=p+1|0;if((p|0)==(r|0))break;else b=b+4|0}}Qn(A);e=1;return e|0}function Wa(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;f=Kn(1,44)|0;if(!f){f=0;return f|0}a=sl()|0;h[f>>2]=a;if(!a){ol(0);h[f>>2]=0;a=f+4|0;Ml(h[a>>2]|0);h[a>>2]=0;if((h[f+40>>2]|0)==0?(r=f+8|0,i=h[r>>2]|0,(i|0)!=0):0){Jn(i);h[r>>2]=0}i=f+12|0;r=h[i>>2]|0;if(r){Jn(r);h[i>>2]=0}Qn(f);a=0;return a|0}a=Al()|0;i=f+4|0;h[i>>2]=a;if(a){h[f+40>>2]=e;a=f;return a|0}ol(h[f>>2]|0);h[f>>2]=0;Ml(h[i>>2]|0);h[i>>2]=0;if((h[f+40>>2]|0)==0?(t=f+8|0,n=h[t>>2]|0,(n|0)!=0):0){Jn(n);h[t>>2]=0}i=f+12|0;r=h[i>>2]|0;if(r){Jn(r);h[i>>2]=0}Qn(f);a=0;return a|0}function Ja(e){e=e|0;var i=0,r=0,t=0;if(!e)return;ol(h[e>>2]|0);h[e>>2]=0;t=e+4|0;Ml(h[t>>2]|0);h[t>>2]=0;if((h[e+40>>2]|0)==0?(i=e+8|0,r=h[i>>2]|0,(r|0)!=0):0){Jn(r);h[i>>2]=0}i=e+12|0;r=h[i>>2]|0;if(r){Jn(r);h[i>>2]=0}Qn(e);return}function Za(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,w=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0;Ae=(h[i+8>>2]|0)-(h[i>>2]|0)|0;Me=i+20|0;t=h[Me>>2]|0;if(!t){e=1;return e|0}Te=i+24|0;Se=r+808|0;Pe=r+16|0;pe=e+4|0;ge=e+8|0;ye=e+16|0;Ee=e+20|0;me=r+20|0;ke=i+32|0;we=e+32|0;_e=e+12|0;r=t;be=0;e:while(1){de=h[Te>>2]|0;he=de+(be*136|0)+24|0;i=h[he>>2]|0;if(i){se=de+(be*136|0)+16|0;oe=de+(be*136|0)+20|0;ce=be+-1|0;r=h[oe>>2]|0;t=h[se>>2]|0;le=0;do{if(ue(r,t)|0){re=de+(be*136|0)+28+(le*36|0)+20|0;te=de+(be*136|0)+28+(le*36|0)+16|0;ne=de+(be*136|0)+28+(le*36|0)|0;fe=de+(be*136|0)+28+(le*36|0)+4|0;ae=de+(be*136|0)+28+(le*36|0)+32|0;ie=0;do{i=h[re>>2]|0;$=i+(ie*40|0)+16|0;ee=i+(ie*40|0)+20|0;if(ue(h[ee>>2]|0,h[$>>2]|0)|0){Z=i+(ie*40|0)+24|0;Q=0;do{r=h[Z>>2]|0;X=h[te>>2]|0;n=h[Se>>2]|0;i=h[Pe>>2]|0;z=h[pe>>2]|0;V=h[e>>2]|0;G=r+(Q*56|0)+8|0;J=r+(Q*56|0)+12|0;if(!($a(e,(h[r+(Q*56|0)+16>>2]|0)-(h[G>>2]|0)|0,(h[r+(Q*56|0)+20>>2]|0)-(h[J>>2]|0)|0)|0)){r=0;C=201;break e}K=r+(Q*56|0)+24|0;f=h[K>>2]|0;_l(V);ml(V,18,0,46);ml(V,17,0,3);ml(V,0,0,4);W=r+(Q*56|0)+48|0;t=h[W>>2]|0;if(t){U=r+(Q*56|0)+4|0;j=(i&1|0)!=0;H=(i&2|0)==0;Y=(i&8|0)==0;q=X<<8;F=(i&32|0)==0;i=f+n|0;r=2;N=0;do{f=h[U>>2]|0;B=j&(r>>>0<2?(i|0)<=((h[K>>2]|0)+-4|0):0);n=h[f+(N<<5)>>2]|0;if(n){t=(h[n>>2]|0)+(h[f+(N<<5)+4>>2]|0)|0;n=h[f+(N<<5)+16>>2]|0;if(!B){if(!(yl(V,t,n)|0)){r=0;C=201;break e}}else Tl(z,t,n);x=f+(N<<5)+12|0;i:do{if(h[x>>2]|0){I=H|B;D=0;while(1){r:do{switch(r|0){case 0:{if(B){y=1<>1|y;n=h[Ee>>2]|0;if(!n)break r;g=0-y|0;t=h[ye>>2]|0;v=0;while(1){p=v;v=v+4|0;if(!t)t=0;else{c=(p|0)==-4;w=p|3;m=0;do{t:do{if(!c)if(Y){o=p;do{if(o>>>0>=(h[Ee>>2]|0)>>>0)break t;l=o;o=o+1|0;t=(ue(h[we>>2]|0,o)|0)+m|0;n=t+1|0;f=h[_e>>2]|0;a=f+(n<<1)|0;l=(ue(h[ye>>2]|0,l)|0)+m|0;l=(h[ge>>2]|0)+(l<<2)|0;s=h[pe>>2]|0;C=d[a>>1]|0;if((C&255|0)!=0&(C&20480|0)==0){if(Sl(s)|0){O=Sl(s)|0;h[l>>2]=(O|0)!=0?g:y;L=h[we>>2]|0;C=f+(n-L<<1)|0;R=f+(L+n<<1)|0;P=f+(n+~L<<1)|0;d[P>>1]=k[P>>1]|2;d[C>>1]=d[C>>1]|d[3436+(O<<1)>>1];C=t+2|0;P=f+(C-L<<1)|0;d[P>>1]=k[P>>1]|4;P=f+(t<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+2<<1)>>1];d[a>>1]=k[a>>1]|4096;P=f+(C<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+4<<1)>>1];P=f+(L+t<<1)|0;d[P>>1]=k[P>>1]|1;d[R>>1]=d[R>>1]|d[3436+(O+6<<1)>>1];C=f+(L+C<<1)|0;d[C>>1]=k[C>>1]|8}d[a>>1]=k[a>>1]|16384}}while(o>>>0>>0)}else{u=p;do{t=h[Ee>>2]|0;if(u>>>0>=t>>>0)break t;L=u;u=u+1|0;n=(ue(h[we>>2]|0,u)|0)+m|0;f=n+1|0;a=h[_e>>2]|0;l=a+(f<<1)|0;s=(ue(h[ye>>2]|0,L)|0)+m|0;s=(h[ge>>2]|0)+(s<<2)|0;o=h[pe>>2]|0;C=d[l>>1]|0;C=(L|0)==(w|0)|(L|0)==(t+-1|0)?C&-1095:C;if((C&255|0)!=0&(C&20480|0)==0){if(Sl(o)|0){O=Sl(o)|0;h[s>>2]=(O|0)!=0?g:y;L=h[we>>2]|0;C=a+(f-L<<1)|0;R=a+(L+f<<1)|0;P=a+(f+~L<<1)|0;d[P>>1]=k[P>>1]|2;d[C>>1]=d[C>>1]|d[3436+(O<<1)>>1];C=n+2|0;P=a+(C-L<<1)|0;d[P>>1]=k[P>>1]|4;P=a+(n<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+2<<1)>>1];d[l>>1]=k[l>>1]|4096;P=a+(C<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+4<<1)>>1];P=a+(L+n<<1)|0;d[P>>1]=k[P>>1]|1;d[R>>1]=d[R>>1]|d[3436+(O+6<<1)>>1];C=a+(L+C<<1)|0;d[C>>1]=k[C>>1]|8}d[l>>1]=k[l>>1]|16384}}while(u>>>0>>0)}}while(0);m=m+1|0;t=h[ye>>2]|0}while(m>>>0>>0);n=h[Ee>>2]|0}if(v>>>0>=n>>>0){C=163;break r}}}if(Y){f=h[ge>>2]|0;a=(h[_e>>2]|0)+2|0;w=1<>1|w;t=h[Ee>>2]|0;n=h[ye>>2]|0;if(t>>>0>3){o=n;s=0;while(1){if(!n){n=o;l=0}else{n=0;do{C=(h[we>>2]|0)+n|0;el(e,a+(C<<1)|0,f+(n<<2)|0,X,w);t=(h[ye>>2]|0)+n|0;C=(h[we>>2]|0)+C|0;el(e,a+(C<<1)|0,f+(t<<2)|0,X,w);t=(h[ye>>2]|0)+t|0;C=(h[we>>2]|0)+C|0;el(e,a+(C<<1)|0,f+(t<<2)|0,X,w);el(e,a+((h[we>>2]|0)+C<<1)|0,f+((h[ye>>2]|0)+t<<2)|0,X,w);n=n+1|0;t=h[ye>>2]|0}while(n>>>0>>0);n=t;l=t;t=h[Ee>>2]|0}f=f+(l<<2<<2)|0;a=a+(h[we>>2]<<2<<1)|0;s=s+4|0;if(s>>>0<(t&-4)>>>0){o=n;n=l}else{c=a;u=s;break}}}else{c=a;u=0}if(!n){C=163;break r}else o=0;while(1){if(u>>>0>>0){a=f+(o<<2)|0;l=c+(o<<1)|0;s=u;while(1){l=l+(h[we>>2]<<1)|0;el(e,l,a,X,w);n=h[ye>>2]|0;s=s+1|0;t=h[Ee>>2]|0;if(s>>>0>=t>>>0)break;else a=a+(n<<2)|0}}o=o+1|0;if(o>>>0>=n>>>0){C=163;break r}}}y=1<>1|y;t=h[Ee>>2]|0;if(!t){C=163;break r}E=0-y|0;n=h[ye>>2]|0;a=n;g=0;while(1){v=g;g=g+4|0;do{if(!n){f=a;n=0}else{p=v|3;if((v|0)==-4){f=a;n=a;break}else m=0;do{w=v;do{t=h[Ee>>2]|0;if(w>>>0>=t>>>0)break;C=w;w=w+1|0;a=(ue(h[we>>2]|0,w)|0)+m|0;l=a+1|0;s=h[_e>>2]|0;o=s+(l<<1)|0;u=(ue(h[ye>>2]|0,C)|0)+m|0;u=(h[ge>>2]|0)+(u<<2)|0;c=h[e>>2]|0;n=d[o>>1]|0;t=(C|0)==(p|0)|(C|0)==(t+-1|0)?n&-1095:n;n=t&255;if((n|0)!=0&(t&20480|0)==0){f=c+100|0;h[f>>2]=c+24+(b[20267+(n|q)>>0]<<2);if(El(c)|0){L=t>>>4&255;h[f>>2]=c+24+(b[21291+L>>0]<<2);C=El(c)|0;L=b[21547+L>>0]|0;O=L^C;h[u>>2]=(C|0)!=(L|0)?E:y;L=h[we>>2]|0;C=s+(l-L<<1)|0;R=s+(L+l<<1)|0;P=s+(l+~L<<1)|0;d[P>>1]=k[P>>1]|2;d[C>>1]=d[C>>1]|d[3436+(O<<1)>>1];C=a+2|0;P=s+(C-L<<1)|0;d[P>>1]=k[P>>1]|4;P=s+(a<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+2<<1)>>1];d[o>>1]=k[o>>1]|4096;P=s+(C<<1)|0;d[P>>1]=d[P>>1]|d[3436+(O+4<<1)>>1];P=s+(L+a<<1)|0;d[P>>1]=k[P>>1]|1;d[R>>1]=d[R>>1]|d[3436+(O+6<<1)>>1];C=s+(L+C<<1)|0;d[C>>1]=k[C>>1]|8}d[o>>1]=k[o>>1]|16384}}while(w>>>0>>0);m=m+1|0;t=h[ye>>2]|0}while(m>>>0>>0);f=t;n=t;t=h[Ee>>2]|0}}while(0);if(g>>>0>=t>>>0){C=163;break}else a=f}break}case 1:{if(B){c=1<>1;w=(i|0)>0?0-c|0:-1;n=h[Ee>>2]|0;if(!n)break r;f=h[ye>>2]|0;t=f;u=0;while(1){o=u;u=u+4|0;if(!f){a=t;f=0}else{s=(o|0)==-4;l=0;do{a=l;l=l+1|0;if(!s){f=o;do{if(f>>>0>=(h[Ee>>2]|0)>>>0)break;n=f;f=f+1|0;t=(ue(h[we>>2]|0,f)|0)+l|0;t=(h[_e>>2]|0)+(t<<1)|0;n=(ue(h[ye>>2]|0,n)|0)+a|0;n=(h[ge>>2]|0)+(n<<2)|0;if((d[t>>1]&20480)==4096){L=(Sl(h[pe>>2]|0)|0)!=0;L=L?c:w;C=h[n>>2]|0;h[n>>2]=((C|0)<0?0-L|0:L)+C;d[t>>1]=k[t>>1]|8192}}while(f>>>0>>0);t=h[ye>>2]|0}}while(l>>>0>>0);a=t;f=t;n=h[Ee>>2]|0}if(u>>>0>=n>>>0){C=163;break r}else t=a}}if(!Y){p=1<>1;v=(i|0)>0?0-p|0:-1;t=h[Ee>>2]|0;if(!t){C=163;break r}n=h[ye>>2]|0;f=n;m=0;while(1){w=m;m=m+4|0;if(!n)n=0;else{u=(w|0)==-4;c=w|3;t=f;o=0;do{s=o;o=o+1|0;if(!u){a=w;do{t=h[Ee>>2]|0;if(a>>>0>=t>>>0)break;L=a;a=a+1|0;n=(ue(h[we>>2]|0,a)|0)+o|0;n=(h[_e>>2]|0)+(n<<1)|0;f=(ue(h[ye>>2]|0,L)|0)+s|0;f=(h[ge>>2]|0)+(f<<2)|0;l=h[e>>2]|0;C=d[n>>1]|0;t=(L|0)==(c|0)|(L|0)==(t+-1|0)?C&-1095:C;if((t&20480|0)==4096){h[l+100>>2]=l+24+(((t&8192|0)!=0?16:(t&255|0)!=0?15:14)<<2);L=(El(l)|0)!=0;L=L?p:v;C=h[f>>2]|0;h[f>>2]=((C|0)<0?0-L|0:L)+C;d[n>>1]=k[n>>1]|8192}}while(a>>>0>>0);t=h[ye>>2]|0}}while(o>>>0>>0);f=t;n=t;t=h[Ee>>2]|0}if(m>>>0>=t>>>0){C=163;break r}}}f=h[ge>>2]|0;a=(h[_e>>2]|0)+2|0;g=1<>1;y=(i|0)>0?0-g|0:-1;t=h[Ee>>2]|0;n=h[ye>>2]|0;if(t>>>0>3){s=n;p=a;v=0;while(1){if(!n){n=s;l=0}else{t=s;m=0;do{n=f+(m<<2)|0;s=h[we>>2]|0;u=s+m|0;a=p+(u<<1)|0;o=h[e>>2]|0;l=d[a>>1]|0;if((l&20480|0)==4096){h[o+100>>2]=o+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);s=(El(o)|0)!=0;s=s?g:y;t=h[n>>2]|0;h[n>>2]=((t|0)<0?0-s|0:s)+t;d[a>>1]=k[a>>1]|8192;t=h[ye>>2]|0;n=h[we>>2]|0;s=h[e>>2]|0}else{n=s;s=o}c=t+m|0;o=f+(c<<2)|0;w=n+u|0;a=p+(w<<1)|0;l=d[a>>1]|0;if((l&20480|0)==4096){h[s+100>>2]=s+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);n=(El(s)|0)!=0;n=n?g:y;t=h[o>>2]|0;h[o>>2]=((t|0)<0?0-n|0:n)+t;d[a>>1]=k[a>>1]|8192;t=h[ye>>2]|0;n=h[we>>2]|0;s=h[e>>2]|0}u=t+c|0;o=f+(u<<2)|0;c=n+w|0;a=p+(c<<1)|0;l=d[a>>1]|0;if((l&20480|0)==4096){h[s+100>>2]=s+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);n=(El(s)|0)!=0;n=n?g:y;t=h[o>>2]|0;h[o>>2]=((t|0)<0?0-n|0:n)+t;d[a>>1]=k[a>>1]|8192;t=h[ye>>2]|0;n=h[we>>2]|0;s=h[e>>2]|0}l=f+(t+u<<2)|0;n=p+(n+c<<1)|0;a=d[n>>1]|0;if((a&20480|0)==4096){h[s+100>>2]=s+24+(((a&8192|0)!=0?16:(a&255|0)!=0?15:14)<<2);C=(El(s)|0)!=0;C=C?g:y;t=h[l>>2]|0;h[l>>2]=((t|0)<0?0-C|0:C)+t;d[n>>1]=k[n>>1]|8192;t=h[ye>>2]|0}m=m+1|0}while(m>>>0>>0);n=t;l=t;t=h[Ee>>2]|0}f=f+(l<<2<<2)|0;a=p+(h[we>>2]<<2<<1)|0;o=v+4|0;if(o>>>0<(t&-4)>>>0){s=n;n=l;p=a;v=o}else{m=o;break}}}else m=0;if(!n){C=163;break r}else w=0;do{if(m>>>0>>0){o=f+(w<<2)|0;u=a+(w<<1)|0;c=m;while(1){u=u+(h[we>>2]<<1)|0;s=h[e>>2]|0;l=d[u>>1]|0;if((l&20480|0)==4096){h[s+100>>2]=s+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);t=(El(s)|0)!=0;t=t?g:y;l=h[o>>2]|0;h[o>>2]=((l|0)<0?0-t|0:t)+l;d[u>>1]=k[u>>1]|8192;l=h[ye>>2]|0;t=h[Ee>>2]|0}else l=n;c=c+1|0;if(c>>>0>=t>>>0){n=l;break}else{n=l;o=o+(l<<2)|0}}}w=w+1|0}while(w>>>0>>0);C=163;break}case 2:{R=h[e>>2]|0;L=1<>1|L;do{if(Y){f=h[ge>>2]|0;a=(h[_e>>2]|0)+2|0;n=h[Ee>>2]|0;if(n>>>0>3){y=R+92|0;E=R+100|0;A=R+96|0;M=0-L|0;l=h[ye>>2]|0;t=l;o=0;while(1){if(!l)l=0;else{w=o|1;m=w+1|0;p=o|3;v=w+3|0;g=0;do{t=h[we>>2]|0;n=g;g=g+1|0;P=(ue(t,w)|0)+g|0;S=h[_e>>2]|0;T=S+((ue(t,m)|0)+g<<1)|0;O=S+((ue(t,p)|0)+g<<1)|0;C=S+((ue(t,v)|0)+g<<1)|0;t:do{if(!((d[T>>1]|d[S+(P<<1)>>1]|d[O>>1]|d[C>>1])&20735)){h[E>>2]=y;if(!(El(R)|0))break;h[E>>2]=A;u=(El(R)|0)<<1;u=u|(El(R)|0);if(u>>>0>=4)break;c=f+((ue(h[ye>>2]|0,u)|0)+n<<2)|0;n=a+((ue(h[we>>2]|0,u)|0)+n<<1)|0;s=u;while(1){if(s>>>0>=(h[Ee>>2]|0)>>>0)break t;t=h[we>>2]|0;l=n;n=n+(t<<1)|0;if((s|0)==(u|0)){C=h[e>>2]|0;O=(k[n>>1]|0)>>>4&255;h[C+100>>2]=C+24+(b[21291+O>>0]<<2);C=El(C)|0;O=b[21547+O>>0]|0;S=O^C;h[c>>2]=(C|0)!=(O|0)?M:L;O=h[we>>2]|0;C=l+(t-O<<1)|0;P=l+(O+t<<1)|0;T=l+(t+~O<<1)|0;d[T>>1]=k[T>>1]|2;d[C>>1]=d[C>>1]|d[3436+(S<<1)>>1];C=t+1|0;T=l+(C-O<<1)|0;d[T>>1]=k[T>>1]|4;T=t+-1|0;t=l+(T<<1)|0;d[t>>1]=d[t>>1]|d[3436+(S+2<<1)>>1];d[n>>1]=k[n>>1]|4096;t=l+(C<<1)|0;d[t>>1]=d[t>>1]|d[3436+(S+4<<1)>>1];T=l+(O+T<<1)|0;d[T>>1]=k[T>>1]|1;d[P>>1]=d[P>>1]|d[3436+(S+6<<1)>>1];C=l+(O+C<<1)|0;d[C>>1]=k[C>>1]|8;d[n>>1]=k[n>>1]&49151}else il(e,n,c,X,L);s=s+1|0;if(s>>>0>=4)break;else c=c+(h[ye>>2]<<2)|0}}else{O=t+n|0;il(e,a+(O<<1)|0,f+(n<<2)|0,X,L);C=(h[ye>>2]|0)+n|0;O=(h[we>>2]|0)+O|0;il(e,a+(O<<1)|0,f+(C<<2)|0,X,L);C=(h[ye>>2]|0)+C|0;O=(h[we>>2]|0)+O|0;il(e,a+(O<<1)|0,f+(C<<2)|0,X,L);il(e,a+((h[we>>2]|0)+O<<1)|0,f+((h[ye>>2]|0)+C<<2)|0,X,L)}}while(0);t=h[ye>>2]|0}while(g>>>0>>0);l=t;n=h[Ee>>2]|0}f=f+(l<<2<<2)|0;a=a+(h[we>>2]<<2<<1)|0;o=o+4|0;if(o>>>0>=(n&-4)>>>0){c=f;u=a;break}}}else{t=h[ye>>2]|0;c=f;u=a;o=0}if(!t)break;else s=0;do{if(o>>>0>>0){f=c+(s<<2)|0;a=u+(s<<1)|0;l=o;while(1){a=a+(h[we>>2]<<1)|0;il(e,a,f,X,L);t=h[ye>>2]|0;l=l+1|0;n=h[Ee>>2]|0;if(l>>>0>=n>>>0)break;else f=f+(t<<2)|0}}s=s+1|0}while(s>>>0>>0)}else{t=h[Ee>>2]|0;if(!t)break;T=R+92|0;S=R+100|0;P=R+96|0;O=0-L|0;n=h[ye>>2]|0;M=0;while(1){if(!n){f=M+4|0;n=0}else{g=M|3;y=M|1;E=y+1|0;A=y+3|0;f=M+4|0;v=0;while(1){do{if(g>>>0>>0){t=h[we>>2]|0;a=v+1|0;p=(ue(t,y)|0)+a|0;n=h[_e>>2]|0;if(d[n+(p<<1)>>1]&20735){p=0;t=0;C=127;break}p=n+((ue(t,E)|0)+a<<1)|0;if(d[p>>1]&20735){p=0;t=0;C=127;break}p=n+((ue(t,g)|0)+a<<1)|0;if(d[p>>1]&20735){p=0;t=0;C=127;break}p=n+((ue(t,A)|0)+a<<1)|0;if(d[p>>1]&20665){p=0;t=0;C=127;break}h[S>>2]=T;if(!(El(R)|0))break;h[S>>2]=P;t=(El(R)|0)<<1;p=1;t=t|(El(R)|0);C=127}else{p=0;t=0;C=127}}while(0);if((C|0)==127){C=0;a=t+M|0;t:do{if(a>>>0>>0){m=a;do{t=h[Ee>>2]|0;if(m>>>0>=t>>>0)break t;Oe=m;m=m+1|0;l=(ue(h[we>>2]|0,m)|0)+v|0;s=l+1|0;o=h[_e>>2]|0;u=o+(s<<1)|0;c=(ue(h[ye>>2]|0,Oe)|0)+v|0;c=(h[ge>>2]|0)+(c<<2)|0;w=h[e>>2]|0;n=d[u>>1]|0;n=(Oe|0)==(g|0)|(Oe|0)==(t+-1|0)?n&-1095:n;do{if(!(p&(Oe|0)==(a|0))){if(n&20480)break;t=w+100|0;h[t>>2]=w+24+(b[20267+(n&255|q)>>0]<<2);if(El(w)|0)C=133}else{t=w+100|0;C=133}}while(0);if((C|0)==133){C=0;n=n>>>4&255;h[t>>2]=w+24+(b[21291+n>>0]<<2);Oe=El(w)|0;w=b[21547+n>>0]|0;n=w^Oe;h[c>>2]=(Oe|0)!=(w|0)?O:L;w=h[we>>2]|0;Oe=o+(s-w<<1)|0;c=o+(w+s<<1)|0;s=o+(s+~w<<1)|0;d[s>>1]=k[s>>1]|2;d[Oe>>1]=d[Oe>>1]|d[3436+(n<<1)>>1];Oe=l+2|0;s=o+(Oe-w<<1)|0;d[s>>1]=k[s>>1]|4;s=o+(l<<1)|0;d[s>>1]=d[s>>1]|d[3436+(n+2<<1)>>1];d[u>>1]=k[u>>1]|4096;s=o+(Oe<<1)|0;d[s>>1]=d[s>>1]|d[3436+(n+4<<1)>>1];s=o+(w+l<<1)|0;d[s>>1]=k[s>>1]|1;d[c>>1]=d[c>>1]|d[3436+(n+6<<1)>>1];Oe=o+(w+Oe<<1)|0;d[Oe>>1]=k[Oe>>1]|8}d[u>>1]=k[u>>1]&49151}while(m>>>0>>0)}}while(0);a=v+1|0}n=h[ye>>2]|0;t=h[Ee>>2]|0;if(a>>>0>>0)v=a;else break}}if(f>>>0>>0)M=f;else break}}}while(0);if(F){C=163;break r}h[R+100>>2]=R+96;El(R)|0;El(R)|0;El(R)|0;El(R)|0;C=163;break}default:C=163}}while(0);do{if((C|0)==163){C=0;if(I)break;_l(V);ml(V,18,0,46);ml(V,17,0,3);ml(V,0,0,4)}}while(0);r=r+1|0;Oe=(r|0)==3;i=(Oe<<31>>31)+i|0;r=Oe?0:r;D=D+1|0;if(D>>>0>=(h[x>>2]|0)>>>0)break i}}}while(0);t=h[W>>2]|0}N=N+1|0}while(N>>>0>>0)}r=(h[G>>2]|0)-(h[ne>>2]|0)|0;i=(h[J>>2]|0)-(h[fe>>2]|0)|0;t=h[te>>2]|0;if(t&1){Oe=h[Te>>2]|0;r=(h[Oe+(ce*136|0)+8>>2]|0)+r-(h[Oe+(ce*136|0)>>2]|0)|0}if(t&2){Oe=h[Te>>2]|0;i=(h[Oe+(ce*136|0)+12>>2]|0)+i-(h[Oe+(ce*136|0)+4>>2]|0)|0}u=h[ge>>2]|0;c=h[ye>>2]|0;w=h[Ee>>2]|0;t=h[Se>>2]|0;if((t|0)!=0?(ve=1<>2]|0;l=(a|0)>-1?a:0-a|0;if((l|0)>=(ve|0)){Oe=l>>h[Se>>2];h[f>>2]=(a|0)<0?0-Oe|0:Oe}s=s+1|0}while((s|0)!=(c|0))}o=o+1|0}while((o|0)!=(w|0))}s=(ue(i,Ae)|0)+r|0;o=h[ke>>2]|0;r=(w|0)==0;if((h[me>>2]|0)==1){if(!r){r=(c|0)==0;f=0;do{if(!r){i=ue(f,c)|0;t=(ue(f,Ae)|0)+s|0;n=0;do{h[o+(t+n<<2)>>2]=(h[u+(n+i<<2)>>2]|0)/2|0;n=n+1|0}while((n|0)!=(c|0))}f=f+1|0}while((f|0)!=(w|0))}}else if(!r){l=(c|0)==0;r=u;a=0;f=o+(s<<2)|0;while(1){if(!l){i=r;t=0;n=f;while(1){_[n>>2]=+(h[i>>2]|0)*+_[ae>>2];t=t+1|0;if((t|0)==(c|0))break;else{i=i+4|0;n=n+4|0}}r=r+(c<<2)|0}a=a+1|0;if((a|0)==(w|0))break;else f=f+(Ae<<2)|0}}Q=Q+1|0}while(Q>>>0<(ue(h[ee>>2]|0,h[$>>2]|0)|0)>>>0);r=h[oe>>2]|0;t=h[se>>2]|0}ie=ie+1|0}while(ie>>>0<(ue(r,t)|0)>>>0);i=h[he>>2]|0}le=le+1|0}while(le>>>0>>0);r=h[Me>>2]|0}be=be+1|0;if(be>>>0>=r>>>0){r=1;C=201;break}}if((C|0)==201)return r|0;return 0}function Qa(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,w=0.0,p=0.0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0.0,V=0,G=0,K=0,W=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0,le=0.0,se=0,oe=0,ce=0,de=0,he=0,be=0,ke=0,we=0,_e=0,me=0,pe=0,ve=0,ge=0,ye=0,Ee=0,Ae=0,Me=0,Te=0,Se=0,Pe=0,Oe=0,Re=0,Le=0,Ce=0,De=0,xe=0,Ie=0,Be=0,Ne=0,Fe=0,Ue=0,je=0,He=0,Ye=0,qe=0,Xe=0,ze=0,Ve=0,Ge=0,Ke=0,We=0,Je=0,Ze=0,Qe=0,$e=0;Je=i+32|0;m[Je>>3]=0.0;Ze=i+16|0;f=h[Ze>>2]|0;if(!f){Qe=1;return Qe|0}We=i+20|0;Xe=r+5584|0;ze=e+16|0;Ve=e+20|0;Ge=e+8|0;Ke=e+36|0;He=(t|0)!=0;Ye=e+32|0;qe=e+12|0;i=f;je=0;e:while(1){r=h[We>>2]|0;f=h[Xe>>2]|0;Fe=(h[r+(je*52|0)+8>>2]|0)-(h[r+(je*52|0)>>2]|0)|0;Ue=r+(je*52|0)+16|0;a=h[Ue>>2]|0;if(a){Ne=r+(je*52|0)+24|0;Ie=r+(je*52|0)+32|0;Be=f+(je*1080|0)+20|0;Ce=f+(je*1080|0)+16|0;xe=He&je>>>0>>0;De=t+(je<<3)|0;i=a;Le=0;do{Oe=h[Ne>>2]|0;Re=Oe+(Le*136|0)+24|0;r=h[Re>>2]|0;if(r){Me=Oe+(Le*136|0)+16|0;Te=Oe+(Le*136|0)+20|0;Se=~Le;Pe=Le+-1|0;i=h[Te>>2]|0;f=h[Me>>2]|0;Ae=0;do{Ee=Oe+(Le*136|0)+28+(Ae*36|0)+32|0;if(ue(i,f)|0){_e=67108864/(~~+J(+(+_[Ee>>2]*8192.0))|0)|0;me=Oe+(Le*136|0)+28+(Ae*36|0)+20|0;pe=Oe+(Le*136|0)+28+(Ae*36|0)|0;ve=Oe+(Le*136|0)+28+(Ae*36|0)+4|0;ge=Oe+(Le*136|0)+28+(Ae*36|0)+16|0;ye=((_e|0)<0)<<31>>31;we=0;do{r=h[me>>2]|0;be=r+(we*40|0)+16|0;ke=r+(we*40|0)+20|0;if(ue(h[ke>>2]|0,h[be>>2]|0)|0){de=r+(we*40|0)+24|0;he=0;do{ce=h[de>>2]|0;a=h[ce+(he*52|0)+12>>2]|0;i=a-(h[pe>>2]|0)|0;l=h[ce+(he*52|0)+16>>2]|0;r=l-(h[ve>>2]|0)|0;f=h[ge>>2]|0;if(f&1){oe=h[Ne>>2]|0;i=(h[oe+(Pe*136|0)+8>>2]|0)+i-(h[oe+(Pe*136|0)>>2]|0)|0}if(f&2){oe=h[Ne>>2]|0;r=(h[oe+(Pe*136|0)+12>>2]|0)+r-(h[oe+(Pe*136|0)+4>>2]|0)|0}if(!($a(e,(h[ce+(he*52|0)+20>>2]|0)-a|0,(h[ce+(he*52|0)+24>>2]|0)-l|0)|0)){i=0;Qe=173;break e}s=h[ze>>2]|0;o=h[Ve>>2]|0;u=Fe-s|0;v=(ue(r,Fe)|0)+i|0;g=h[Ie>>2]|0;h[Ge>>2]=g+(v<<2);h[Ke>>2]=Fe;i=(o|0)==0;if((h[Be>>2]|0)==1){if(!i){a=(s|0)==0;l=0;i=0;while(1){if(!a){r=0;f=i;while(1){oe=g+(f+v<<2)|0;h[oe>>2]=h[oe>>2]<<6;r=r+1|0;if((r|0)==(s|0))break;else f=f+1|0}i=s+i|0}l=l+1|0;if((l|0)==(o|0))break;else i=i+u|0}}}else if(!i){a=(s|0)==0;l=0;i=0;while(1){if(!a){r=0;f=i;while(1){oe=g+(f+v<<2)|0;se=h[oe>>2]|0;se=Qs(se|0,((se|0)<0)<<31>>31|0,_e|0,ye|0)|0;se=zs(se|0,j|0,4096,0)|0;se=Vs(se|0,j|0,18)|0;h[oe>>2]=se;r=r+1|0;if((r|0)==(s|0))break;else f=f+1|0}i=s+i|0}l=l+1|0;if((l|0)==(o|0))break;else i=i+u|0}}fe=h[ge>>2]|0;ae=(h[Ue>>2]|0)+Se|0;u=h[Be>>2]|0;le=+_[Ee>>2];se=h[Ce>>2]|0;oe=h[e>>2]|0;a=h[ze>>2]|0;do{if(!a)i=0;else{l=h[Ve>>2]|0;s=(l|0)==0;o=0;i=0;do{if(!s){r=h[Ke>>2]|0;f=0;do{ne=g+(v+((ue(f,r)|0)+o)<<2)|0;ne=h[ne>>2]|0;ne=(ne|0)>-1?ne:0-ne|0;i=(i|0)>(ne|0)?i:ne;f=f+1|0}while((f|0)!=(l|0))}o=o+1|0}while((o|0)!=(a|0));if(!i){i=0;break}if((i|0)>1){r=i;i=0}else{i=-5;break}while(1){r=r>>1;if((r|0)<=1)break;else i=i+1|0}i=i+-4|0}}while(0);te=ce+(he*52|0)+28|0;h[te>>2]=i;i=i+-1|0;_l(oe);ml(oe,18,0,46);ml(oe,17,0,3);ml(oe,0,0,4);ne=ce+(he*52|0)|0;cl(oe,h[ne>>2]|0);i:do{if((i|0)>-1){ie=ce+(he*52|0)+8|0;G=se&1;re=(G|0)!=0;K=(u|0)==1;W=(se&4|0)==0;G=(G|0)==0;Z=(se&2|0)==0;Q=(se&8|0)==0;$=fe<<8;ee=(se&32|0)==0;r=0;X=i;z=0.0;i=0;V=2;while(1){q=h[ie>>2]|0;D=re&(V>>>0<2?(X|0)<((h[te>>2]|0)+-4|0):0);r:do{switch(V|0){case 0:{L=1<>2]|0;if(!r){a=0;break r}C=(X|0)==0;l=h[ze>>2]|0;f=l;a=0;R=0;do{O=R;R=R+4|0;if(!f)f=0;else{S=(O|0)==-4;P=O|3;f=l;T=0;do{if(!S){M=O;do{r=h[Ve>>2]|0;if(M>>>0>=r>>>0)break;do{if(Q)r=0;else{if((M|0)==(P|0)){r=1;break}r=(M|0)==(r+-1|0)}}while(0);s=M;M=M+1|0;v=(ue(h[Ye>>2]|0,M)|0)+T|0;g=v+1|0;y=h[qe>>2]|0;A=y+(g<<1)|0;s=(ue(h[Ke>>2]|0,s)|0)+T|0;s=(h[Ge>>2]|0)+(s<<2)|0;E=h[e>>2]|0;o=d[A>>1]|0;o=r?o&-1095:o;r=o&255;if((r|0)!=0&(o&20480|0)==0){f=h[s>>2]|0;f=(((f|0)<0?0-f|0:f)&L|0)!=0;l=f&1;u=E+100|0;h[u>>2]=E+24+(b[20267+(r|$)>>0]<<2);if(D)kl(E,l);else dl(E,l);if(f){r=h[s>>2]|0;f=r>>>31;r=(r|0)<0?0-r|0:r;if(C)r=3708+((r&127)<<1)|0;else r=3452+((r>>>X&127)<<1)|0;a=(d[r>>1]|0)+a|0;r=o>>>4&255;h[u>>2]=E+24+(b[21291+r>>0]<<2);if(D)kl(E,f);else dl(E,b[21547+r>>0]^f);H=h[Ye>>2]|0;Y=y+(g-H<<1)|0;U=y+(H+g<<1)|0;F=y+(g+~H<<1)|0;d[F>>1]=k[F>>1]|2;d[Y>>1]=d[Y>>1]|d[3436+(f<<1)>>1];Y=v+2|0;F=y+(Y-H<<1)|0;d[F>>1]=k[F>>1]|4;F=y+(v<<1)|0;d[F>>1]=d[F>>1]|d[3436+((f|2)<<1)>>1];d[A>>1]=k[A>>1]|4096;F=y+(Y<<1)|0;d[F>>1]=d[F>>1]|d[3436+((f|4)<<1)>>1];F=y+(H+v<<1)|0;d[F>>1]=k[F>>1]|1;d[U>>1]=d[U>>1]|d[3436+((f|6)<<1)>>1];Y=y+(H+Y<<1)|0;d[Y>>1]=k[Y>>1]|8}d[A>>1]=k[A>>1]|16384}}while(M>>>0>>0);f=h[ze>>2]|0}T=T+1|0}while(T>>>0>>0);r=h[Ve>>2]|0;l=f}}while(R>>>0>>0);break}case 1:{T=1<>2]|0;if(!r){a=0;break r}S=(X|0)==0;l=h[ze>>2]|0;f=l;a=0;M=0;do{A=M;M=M+4|0;if(!f)f=0;else{y=(A|0)==-4;E=A|3;f=l;g=0;do{v=g;g=g+1|0;if(!y){u=A;do{r=h[Ve>>2]|0;if(u>>>0>=r>>>0)break;do{if(Q)r=0;else{if((u|0)==(E|0)){r=1;break}r=(u|0)==(r+-1|0)}}while(0);f=u;u=u+1|0;s=(ue(h[Ye>>2]|0,u)|0)+g|0;s=(h[qe>>2]|0)+(s<<1)|0;o=h[e>>2]|0;l=d[s>>1]|0;l=r?l&-1095:l;if((l&20480|0)==4096){f=(h[Ge>>2]|0)+((ue(h[Ke>>2]|0,f)|0)+v<<2)|0;f=h[f>>2]|0;f=(f|0)<0?0-f|0:f;if(S)r=4220+((f&127)<<1)|0;else r=3964+((f>>>X&127)<<1)|0;a=(d[r>>1]|0)+a|0;r=(f&T|0)!=0&1;h[o+100>>2]=o+24+(((l&8192|0)!=0?16:(l&255|0)!=0?15:14)<<2);if(D)kl(o,r);else dl(o,r);d[s>>1]=k[s>>1]|8192}}while(u>>>0>>0);f=h[ze>>2]|0}}while(g>>>0>>0);r=h[Ve>>2]|0;l=f}}while(M>>>0>>0);break}case 2:{B=h[e>>2]|0;N=1<>2]|0;if(!f)r=0;else{F=B+92|0;U=B+100|0;H=B+96|0;Y=(X|0)==0;a=h[ze>>2]|0;r=0;I=0;while(1){if(!a){l=I+4|0;a=0}else{P=I|3;O=I|1;R=O+1|0;L=O+3|0;l=I+4|0;C=I+1|0;D=I+2|0;x=I+3|0;S=0;while(1){do{if(P>>>0>>0){f=h[Ye>>2]|0;o=S+1|0;s=(ue(f,O)|0)+o|0;a=h[qe>>2]|0;s=d[a+(s<<1)>>1]|0;if(Q){M=a+((ue(f,R)|0)+o<<1)|0;T=a+((ue(f,P)|0)+o<<1)|0;f=a+((ue(f,L)|0)+o<<1)|0;f=((d[M>>1]|s|d[T>>1]|d[f>>1])&20735)==0&1}else{do{if(!(s&20735)){T=a+((ue(f,R)|0)+o<<1)|0;if(d[T>>1]&20735){f=1;break}T=a+((ue(f,P)|0)+o<<1)|0;if(d[T>>1]&20735){f=1;break}f=a+((ue(f,L)|0)+o<<1)|0;f=(d[f>>1]&20665)!=0}else f=1}while(0);f=f&1^1}if(!f){T=0;f=0;Qe=109;break}f=h[Ke>>2]|0;a=h[Ge>>2]|0;T=a+((ue(f,I)|0)+S<<2)|0;T=h[T>>2]|0;do{if(!(((T|0)<0?0-T|0:T)&N)){T=a+((ue(f,C)|0)+S<<2)|0;T=h[T>>2]|0;if(((T|0)<0?0-T|0:T)&N){f=1;break}T=a+((ue(f,D)|0)+S<<2)|0;T=h[T>>2]|0;if(((T|0)<0?0-T|0:T)&N){f=2;break}f=a+((ue(f,x)|0)+S<<2)|0;f=h[f>>2]|0;f=(((f|0)<0?0-f|0:f)&N|0)==0?4:3}else f=0}while(0);h[U>>2]=F;dl(B,(f|0)!=4&1);if((f|0)==4){s=o;break}h[U>>2]=H;dl(B,f>>>1);dl(B,f&1);T=1;Qe=109}else{T=0;f=0;Qe=109}}while(0);if((Qe|0)==109){Qe=0;M=f+I|0;t:do{if(M>>>0>>0){A=M;do{f=h[Ve>>2]|0;if(A>>>0>=f>>>0)break t;do{if(Q)f=0;else{if((A|0)==(P|0)){f=1;break}f=(A|0)==(f+-1|0)}}while(0);$e=A;A=A+1|0;u=(ue(h[Ye>>2]|0,A)|0)+S|0;v=u+1|0;g=h[qe>>2]|0;E=g+(v<<1)|0;a=(ue(h[Ke>>2]|0,$e)|0)+S|0;a=(h[Ge>>2]|0)+(a<<2)|0;y=h[e>>2]|0;s=d[E>>1]|0;o=f?s&-1095:s;do{if(!(T&($e|0)==(M|0))){if(s&20480)break;h[y+100>>2]=y+24+(b[20267+(o&255|$)>>0]<<2);$e=h[a>>2]|0;$e=((($e|0)<0?0-$e|0:$e)&N|0)!=0;dl(y,$e&1);if($e)Qe=117}else Qe=117}while(0);if((Qe|0)==117){Qe=0;a=h[a>>2]|0;f=(a|0)<0?0-a|0:a;if(Y)f=3708+((f&127)<<1)|0;else f=3452+((f>>>X&127)<<1)|0;r=(d[f>>1]|0)+r|0;$e=o>>>4&255;h[y+100>>2]=y+24+(b[21291+$e>>0]<<2);s=a>>>31;dl(y,b[21547+$e>>0]^s);y=h[Ye>>2]|0;$e=g+(v-y<<1)|0;o=g+(y+v<<1)|0;v=g+(v+~y<<1)|0;d[v>>1]=k[v>>1]|2;d[$e>>1]=d[$e>>1]|d[3436+(s<<1)>>1];$e=u+2|0;v=g+($e-y<<1)|0;d[v>>1]=k[v>>1]|4;v=g+(u<<1)|0;d[v>>1]=d[v>>1]|d[3436+((s|2)<<1)>>1];d[E>>1]=k[E>>1]|4096;v=g+($e<<1)|0;d[v>>1]=d[v>>1]|d[3436+((s|4)<<1)>>1];v=g+(y+u<<1)|0;d[v>>1]=k[v>>1]|1;d[o>>1]=d[o>>1]|d[3436+((s|6)<<1)>>1];$e=g+(y+$e<<1)|0;d[$e>>1]=k[$e>>1]|8}d[E>>1]=k[E>>1]&49151}while(A>>>0>>0)}}while(0);s=S+1|0}a=h[ze>>2]|0;f=h[Ve>>2]|0;if(s>>>0>>0)S=s;else break}}if(l>>>0>>0)I=l;else break}}if(ee){a=r;break r}gl(oe);a=r;break}default:a=r}}while(0);if(xe)w=+m[De>>3];else w=1.0;if(K)p=+Ia(ae,fe);else p=+Fa(ae,fe);p=+(1<>3]=+m[Je>>3]+p;do{if(W)Qe=137;else{if((X|0)<1&(V|0)==2){Qe=137;break}hl(oe);f=q+(i*24|0)+20|0;r=c[f>>0]|1;c[f>>0]=r;f=1}}while(0);do{if((Qe|0)==137){r=(h[te>>2]|0)+-4|0;if((V|0)!=0&(X|0)<(r|0))if(G)Qe=141;else Qe=140;else if(G|((V|0)!=2|(X|0)!=(r|0)))Qe=141;else Qe=140;if((Qe|0)==140){Qe=0;hl(oe);f=q+(i*24|0)+20|0;r=c[f>>0]|1;c[f>>0]=r;f=1;break}else if((Qe|0)==141){Qe=0;f=q+(i*24|0)+20|0;r=c[f>>0]&-2;c[f>>0]=r;f=3;break}}}while(0);Y=V+1|0;$e=(Y|0)==3;V=$e?0:Y;X=($e<<31>>31)+X|0;do{if((X|0)>0&(r&1)!=0)if(re&(V>>>0<2?(X|0)<((h[te>>2]|0)+-4|0):0)){bl(oe);break}else{pl(oe);break}}while(0);m[q+(i*24|0)+8>>3]=z;$e=(ul(oe)|0)+f|0;h[q+(i*24|0)>>2]=$e;if(!Z)wl(oe);i=i+1|0;if((X|0)<=-1)break i;else r=a}}else i=0}while(0);do{if(!(se&16)){if(se&1)break;hl(oe)}else vl(oe)}while(0);o=ce+(he*52|0)+48|0;h[o>>2]=i;if(i){a=ce+(he*52|0)+8|0;s=0;do{l=h[a>>2]|0;r=l+(s*24|0)|0;$e=h[r>>2]|0;if($e>>>0>(ul(oe)|0)>>>0){i=ul(oe)|0;h[r>>2]=i}else i=h[r>>2]|0;do{if(i>>>0>1){f=i+-1|0;if((c[(h[ne>>2]|0)+f>>0]|0)!=-1)break;h[r>>2]=f;i=f}}while(0);if(!s)r=0;else r=h[(h[a>>2]|0)+((s+-1|0)*24|0)>>2]|0;h[l+(s*24|0)+16>>2]=i-r;s=s+1|0}while(s>>>0<(h[o>>2]|0)>>>0)}he=he+1|0}while(he>>>0<(ue(h[ke>>2]|0,h[be>>2]|0)|0)>>>0);i=h[Te>>2]|0;f=h[Me>>2]|0}we=we+1|0}while(we>>>0<(ue(i,f)|0)>>>0);r=h[Re>>2]|0}Ae=Ae+1|0}while(Ae>>>0>>0);i=h[Ue>>2]|0}Le=Le+1|0}while(Le>>>0>>0);i=h[Ze>>2]|0}je=je+1|0;if(je>>>0>=i>>>0){i=1;Qe=173;break}}if((Qe|0)==173)return i|0;return 0}function $a(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0;f=ue(r,i)|0;if(!(h[e+40>>2]|0)){a=e+24|0;l=e+8|0;t=h[l>>2]|0;do{if(f>>>0>(h[a>>2]|0)>>>0){Jn(t);n=f<<2;t=Wn(n)|0;h[l>>2]=t;if(!t){i=0;return i|0}else{h[a>>2]=f;break}}else n=f<<2}while(0);qs(t|0,0,n|0)|0}f=i+2|0;h[e+32>>2]=f;f=ue(r+2|0,f)|0;a=e+28|0;l=e+12|0;t=h[l>>2]|0;do{if(f>>>0>(h[a>>2]|0)>>>0){Jn(t);n=f<<1;t=Wn(n)|0;h[l>>2]=t;if(!t){i=0;return i|0}else{h[a>>2]=f;break}}else n=f<<1}while(0);qs(t|0,0,n|0)|0;h[e+16>>2]=i;h[e+20>>2]=r;i=1;return i|0}function el(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0;f=h[e>>2]|0;l=d[i>>1]|0;s=l&255;if(!((s|0)!=0&(l&20480|0)==0))return;a=f+100|0;h[a>>2]=f+24+(b[20267+(s|t<<8)>>0]<<2);if(El(f)|0){t=l>>>4&255;h[a>>2]=f+24+(b[21291+t>>0]<<2);l=El(f)|0;t=b[21547+t>>0]|0;s=t^l;h[r>>2]=(l|0)!=(t|0)?0-n|0:n;e=h[e+32>>2]|0;n=i+(0-e<<1)|0;t=i+(e<<1)|0;r=i+(~e<<1)|0;d[r>>1]=k[r>>1]|2;d[n>>1]=d[n>>1]|d[3436+(s<<1)>>1];n=i+(1-e<<1)|0;d[n>>1]=k[n>>1]|4;n=i+-2|0;d[n>>1]=d[n>>1]|d[3436+(s+2<<1)>>1];d[i>>1]=k[i>>1]|4096;n=i+2|0;d[n>>1]=d[n>>1]|d[3436+(s+4<<1)>>1];n=i+(e+-1<<1)|0;d[n>>1]=k[n>>1]|1;d[t>>1]=d[t>>1]|d[3436+(s+6<<1)>>1];e=i+(e+1<<1)|0;d[e>>1]=k[e>>1]|8}d[i>>1]=k[i>>1]|16384;return}function il(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;f=h[e>>2]|0;l=d[i>>1]|0;if(l&20480){e=d[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;d[i>>1]=e;return}a=f+100|0;h[a>>2]=f+24+(b[20267+(l&255|t<<8)>>0]<<2);if(!(El(f)|0)){e=d[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;d[i>>1]=e;return}t=l>>>4&255;h[a>>2]=f+24+(b[21291+t>>0]<<2);a=El(f)|0;t=b[21547+t>>0]|0;l=t^a;h[r>>2]=(a|0)!=(t|0)?0-n|0:n;e=h[e+32>>2]|0;n=i+(0-e<<1)|0;t=i+(e<<1)|0;r=i+(~e<<1)|0;d[r>>1]=k[r>>1]|2;d[n>>1]=d[n>>1]|d[3436+(l<<1)>>1];n=i+(1-e<<1)|0;d[n>>1]=k[n>>1]|4;n=i+-2|0;d[n>>1]=d[n>>1]|d[3436+(l+2<<1)>>1];d[i>>1]=k[i>>1]|4096;n=i+2|0;d[n>>1]=d[n>>1]|d[3436+(l+4<<1)>>1];n=i+(e+-1<<1)|0;d[n>>1]=k[n>>1]|1;d[t>>1]=d[t>>1]|d[3436+(l+6<<1)>>1];e=i+(e+1<<1)|0;d[e>>1]=k[e>>1]|8;e=d[i>>1]|0;e=e&65535;e=e&49151;e=e&65535;d[i>>1]=e;return}function rl(e,i,r,t,n,f,a,l,s,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;var k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0;D=v;v=v+16|0;C=D;h[C>>2]=0;k=h[e>>2]|0;P=h[e+4>>2]|0;e=h[P+76>>2]|0;R=e+(i*5640|0)|0;_=(d[P>>1]|0)==4?2:1;m=P+80|0;if(!(h[m>>2]|0))w=1;else w=h[k+16>>2]|0;L=(h[e+(i*5640|0)+420>>2]|0)+1|0;O=Cr(k,P,i,c)|0;if(!O){i=0;v=D;return i|0}h[f>>2]=0;e:do{if(!c){if(w){e=0;i:while(1){c=0;u=O;k=0;while(1){Dr(O,P,i,k,e,o,0);if((h[u+80>>2]|0)==-1){e=9;break i}s=u+36|0;r:while(1){do{if(!(Ir(u)|0))break r}while((h[s>>2]|0)>>>0>=t>>>0);h[C>>2]=0;if(!(al(i,r,R,u,n,C,a,l)|0)){e=13;break i}S=h[C>>2]|0;h[f>>2]=(h[f>>2]|0)+S;a=a-S|0;c=S+c|0;n=n+S|0}S=h[m>>2]|0;if((S|0)!=0&c>>>0>S>>>0){e=17;break i}k=k+1|0;if(k>>>0<_>>>0)u=u+232|0;else break}e=e+1|0;if(e>>>0>=w>>>0)break e}if((e|0)==9){Lr(O,L);i=0;v=D;return i|0}else if((e|0)==13){Lr(O,L);i=0;v=D;return i|0}else if((e|0)==17){Lr(O,L);i=0;v=D;return i|0}}}else{Dr(O,P,i,u,s,o,c);M=O+(u*232|0)|0;if((h[O+(u*232|0)+80>>2]|0)==-1){Lr(O,L);i=0;v=D;return i|0}o=O+(u*232|0)+36|0;p=(l|0)==0;g=r+840|0;y=l+12|0;E=l+8|0;A=l+88|0;m=P+93|0;_=e+(i*5640|0)+5636|0;while(1){do{if(!(Ir(M)|0))break e}while((h[o>>2]|0)>>>0>=t>>>0);h[C>>2]=0;if(!(al(i,r,R,M,n,C,a,l)|0))break;w=h[C>>2]|0;n=n+w|0;a=a-w|0;h[f>>2]=(h[f>>2]|0)+w;if(!p){if(!(h[y>>2]|0))e=h[E>>2]|0;else{k=h[A>>2]|0;e=h[E>>2]|0;u=h[k+(i*592|0)+548>>2]|0;c=u+(e<<5)|0;if(!e){s=(h[k+(i*592|0)+12>>2]|0)+1|0;k=((s|0)<0)<<31>>31;P=c;h[P>>2]=s;h[P+4>>2]=k}else{if((((b[_>>0]|0)>>>2|(b[m>>0]|0)>>>3)&1)!=0?(S=c,T=h[S>>2]|0,S=h[S+4>>2]|0,!((T|0)==0&(S|0)==0)):0){s=T;k=S}else{s=u+(e+-1<<5)+16|0;s=zs(h[s>>2]|0,h[s+4>>2]|0,1,0)|0;k=j}P=c;h[P>>2]=s;h[P+4>>2]=k}c=zs(s|0,k|0,-1,-1)|0;s=j;w=zs(c|0,s|0,w|0,0)|0;P=u+(e<<5)+16|0;h[P>>2]=w;h[P+4>>2]=j;P=u+(e<<5)+8|0;w=P;w=zs(c|0,s|0,h[w>>2]|0,h[w+4>>2]|0)|0;h[P>>2]=w;h[P+4>>2]=j}h[E>>2]=e+1}h[g>>2]=(h[g>>2]|0)+1}Lr(O,L);i=0;v=D;return i|0}}while(0);Lr(O,L);i=1;v=D;return i|0}function tl(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0;Q=v;v=v+112|0;K=Q+64|0;W=Q+32|0;X=Q;q=Q+96|0;Y=Q+92|0;s=h[e>>2]|0;F=e+4|0;Z=h[F>>2]|0;a=h[Z+76>>2]|0;j=a+(i*5640|0)|0;H=a+(i*5640|0)+420|0;J=(h[H>>2]|0)+1|0;Z=Rr(s,Z,i)|0;if(!Z){$=0;v=Q;return $|0}U=s+16|0;N=a+(i*5640|0)+12|0;B=r+20|0;I=s+24|0;i=f;e=t;D=Z;x=0;e:while(1){if((h[D+80>>2]|0)==-1){$=4;break}a=Gn(h[U>>2]<<2)|0;if(!a){$=6;break}qs(a|0,1,h[U>>2]<<2|0)|0;if(Ir(D)|0){f=D+24|0;r=D+28|0;C=D+36|0;s=D+32|0;L=i;R=e;while(1){if((h[N>>2]|0)>>>0>(h[C>>2]|0)>>>0){i=h[f>>2]|0;e=h[B>>2]|0;if((h[r>>2]|0)>>>0<(h[e+(i*52|0)+20>>2]|0)>>>0){h[a+(i<<2)>>2]=0;O=h[F>>2]|0;h[Y>>2]=0;if(!(ll(O,e,j,D,q,R,Y,L,l)|0)){$=45;break e}P=h[Y>>2]|0;if(!(h[q>>2]|0))e=P;else{S=L-P|0;M=R+P|0;h[Y>>2]=0;i=h[r>>2]|0;o=h[(h[B>>2]|0)+((h[f>>2]|0)*52|0)+24>>2]|0;E=o+(i*136|0)+24|0;e=h[E>>2]|0;i:do{if(!e){e=M;$=43}else{A=R+L|0;u=e;O=0;y=o+(i*136|0)+28|0;o=M;r:while(1){e=h[s>>2]|0;i=h[y+20>>2]|0;if(((h[y+8>>2]|0)!=(h[y>>2]|0)?(h[y+12>>2]|0)!=(h[y+4>>2]|0):0)?(G=ue(h[i+(e*40|0)+20>>2]|0,h[i+(e*40|0)+16>>2]|0)|0,(G|0)!=0):0){T=0;e=h[i+(e*40|0)+24>>2]|0;b=o;while(1){p=e+40|0;if(!(h[p>>2]|0))i=b;else{g=e+44|0;i=h[g>>2]|0;do{if(!i){d=h[e+4>>2]|0;h[g>>2]=1;h[e+36>>2]=0}else{o=i+-1|0;u=h[e+4>>2]|0;if((h[u+(o<<5)+8>>2]|0)!=(h[u+(o<<5)+20>>2]|0)){d=u+(o<<5)|0;break}h[g>>2]=i+1;d=u+(i<<5)|0}}while(0);m=e+36|0;i=e+32|0;_=b;c=d+28|0;o=h[c>>2]|0;if((o+_|0)>>>0<_>>>0|(b+o|0)>>>0>A>>>0){i=O;e=T;break r}u=h[m>>2]|0;_=b;w=d;while(1){d=o+u|0;if(d>>>0>>0){i=O;e=T;$=29;break e}b=h[e>>2]|0;if(d>>>0>(h[i>>2]|0)>>>0){o=Zn(b,d)|0;if(!o){$=32;break e}u=h[m>>2]|0;k=h[c>>2]|0;h[i>>2]=k+u;h[e>>2]=o;b=o;o=k}Gs(b+u|0,_|0,o|0)|0;o=w+8|0;u=h[o>>2]|0;if(!u){h[w>>2]=e;d=h[m>>2]|0;h[w+4>>2]=d}else d=h[m>>2]|0;b=h[c>>2]|0;k=_;_=_+b|0;c=h[w+24>>2]|0;u=c+u|0;h[o>>2]=u;o=h[p>>2]|0;h[p>>2]=o-c;h[w+12>>2]=u;u=b+d|0;h[m>>2]=u;d=w+16|0;h[d>>2]=(h[d>>2]|0)+b;if((o|0)==(c|0)){i=_;break}h[g>>2]=(h[g>>2]|0)+1;d=_;c=w+60|0;o=h[c>>2]|0;if((o+d|0)>>>0>>0?1:(k+(o+b)|0)>>>0>A>>>0){i=O;e=T;break r}else w=w+32|0}h[e+48>>2]=h[g>>2]}T=T+1|0;if(T>>>0>=G>>>0){e=i;break}else{e=e+56|0;b=i}}i=h[E>>2]|0}else{i=u;e=o}O=O+1|0;if(O>>>0>=i>>>0){$=43;break i}else{u=i;y=y+36|0;o=e}}M=h[s>>2]|0;T=h[r>>2]|0;O=h[f>>2]|0;h[X>>2]=o;h[X+4>>2]=S;h[X+8>>2]=e;h[X+12>>2]=M;h[X+16>>2]=i;h[X+20>>2]=T;h[X+24>>2]=O;Zt(l,2,21803,X)|0;e=h[Y>>2]|0}}while(0);if(($|0)==43){$=0;e=e-M|0;h[Y>>2]=e}e=e+P|0}o=h[f>>2]|0;P=h[r>>2]|0;i=(h[I>>2]|0)+(o*52|0)+36|0;O=h[i>>2]|0;h[i>>2]=P>>>0>O>>>0?P:O;i=e}else $=47}else{e=h[B>>2]|0;$=47}if(($|0)==47){$=0;O=h[F>>2]|0;h[Y>>2]=0;if(!(ll(O,e,j,D,q,R,Y,L,l)|0)){$=69;break e}p=h[Y>>2]|0;if(!(h[q>>2]|0))e=p;else{o=L-p|0;y=h[r>>2]|0;E=h[f>>2]|0;e=h[(h[B>>2]|0)+(E*52|0)+24>>2]|0;h[Y>>2]=0;m=h[e+(y*136|0)+24>>2]|0;if(!m)e=0;else{g=h[s>>2]|0;i=0;_=e+(y*136|0)+28|0;while(1){u=h[_+20>>2]|0;if(((h[_+8>>2]|0)!=(h[_>>2]|0)?(h[_+12>>2]|0)!=(h[_+4>>2]|0):0)?(z=ue(h[u+(g*40|0)+20>>2]|0,h[u+(g*40|0)+16>>2]|0)|0,(z|0)!=0):0){e=0;w=h[u+(g*40|0)+24>>2]|0;while(1){b=w+40|0;i:do{if(h[b>>2]|0){k=w+44|0;u=h[k>>2]|0;do{if(!u){d=h[w+4>>2]|0;h[k>>2]=1;h[w+36>>2]=0}else{c=u+-1|0;d=h[w+4>>2]|0;if((h[d+(c<<5)+8>>2]|0)!=(h[d+(c<<5)+20>>2]|0)){d=d+(c<<5)|0;break}h[k>>2]=u+1;d=d+(u<<5)|0}}while(0);O=h[Y>>2]|0;u=h[d+28>>2]|0;c=u+O|0;if(c>>>0>>0|c>>>0>o>>>0){f=g;r=y;s=E;$=65;break e}while(1){h[Y>>2]=c;O=h[d+24>>2]|0;P=d+8|0;h[P>>2]=(h[P>>2]|0)+O;P=h[b>>2]|0;h[b>>2]=P-O;if((P|0)==(O|0))break i;h[k>>2]=(h[k>>2]|0)+1;O=h[Y>>2]|0;u=h[d+60>>2]|0;c=u+O|0;if(c>>>0>>0|c>>>0>o>>>0){f=g;r=y;s=E;$=65;break e}else d=d+32|0}}}while(0);e=e+1|0;if(e>>>0>=z>>>0)break;else w=w+56|0}}i=i+1|0;if(i>>>0>=m>>>0)break;else _=_+36|0}e=h[Y>>2]|0}e=e+p|0}o=h[f>>2]|0;i=e}if((h[a+(o<<2)>>2]|0)!=0?(V=(h[I>>2]|0)+(o*52|0)+36|0,(h[V>>2]|0)==0):0)h[V>>2]=(h[(h[B>>2]|0)+(o*52|0)+20>>2]|0)+-1;e=R+i|0;i=L-i|0;if(!(Ir(D)|0))break;else{L=i;R=e}}}Qn(a);x=x+1|0;if(x>>>0>(h[H>>2]|0)>>>0){a=e;$=75;break}else D=D+232|0}if(($|0)==4){Lr(Z,J);$=0;v=Q;return $|0}else if(($|0)==6){Lr(Z,J);$=0;v=Q;return $|0}else if(($|0)==29){n=h[s>>2]|0;t=h[r>>2]|0;K=h[f>>2]|0;h[W>>2]=o;h[W+4>>2]=u;h[W+8>>2]=~o;h[W+12>>2]=e;h[W+16>>2]=n;h[W+20>>2]=i;h[W+24>>2]=t;h[W+28>>2]=K;Zt(l,1,21888,W)|0;$=45}else if(($|0)==32){Qn(h[e>>2]|0);h[e>>2]=0;h[i>>2]=0;$=45}else if(($|0)==65){h[K>>2]=u;h[K+4>>2]=o;h[K+8>>2]=e;h[K+12>>2]=f;h[K+16>>2]=i;h[K+20>>2]=r;h[K+24>>2]=s;Zt(l,1,21987,K)|0;$=69}else if(($|0)==75){Lr(Z,J);h[n>>2]=a-t;$=1;v=Q;return $|0}if(($|0)==45){Lr(Z,J);Qn(a);$=0;v=Q;return $|0}else if(($|0)==69){Lr(Z,J);Qn(a);$=0;v=Q;return $|0}return 0}function nl(e,i){e=e|0;i=i|0;var r=0;r=Kn(1,8)|0;if(!r){e=0;return e|0}h[r>>2]=e;h[r+4>>2]=i;e=r;return e|0}function fl(e){e=e|0;if(!e)return;Qn(e);return}function al(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;var s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0.0,I=0,B=0;_=h[t+28>>2]|0;I=h[t+32>>2]|0;B=h[t+36>>2]|0;w=h[(h[i+20>>2]|0)+((h[t+24>>2]|0)*52|0)+24>>2]|0;if(!(h[r>>2]&2))C=n;else{c[n>>0]=-1;c[n+1>>0]=-111;c[n+2>>0]=0;c[n+3>>0]=4;C=i+840|0;c[n+4>>0]=(h[C>>2]|0)>>>8;c[n+5>>0]=h[C>>2];a=a+-6|0;C=n+6|0}if((B|0)==0?(k=w+(_*136|0)+24|0,(h[k>>2]|0)!=0):0){d=w+(_*136|0)+28|0;b=0;while(1){t=h[d+20>>2]|0;ft(h[t+(I*40|0)+32>>2]|0);o=t+(I*40|0)+36|0;ft(h[o>>2]|0);u=ue(h[t+(I*40|0)+20>>2]|0,h[t+(I*40|0)+16>>2]|0)|0;if(u){t=t+(I*40|0)+24|0;i=d+28|0;s=0;do{D=h[t>>2]|0;h[D+(s*52|0)+40>>2]=0;ba(h[o>>2]|0,s,(h[i>>2]|0)-(h[D+(s*52|0)+28>>2]|0)|0);s=s+1|0}while((s|0)!=(u|0))}b=b+1|0;if(b>>>0>=(h[k>>2]|0)>>>0)break;else d=d+36|0}}R=Ea()|0;if(!R){f=0;return f|0}Ta(R,C,a);Pa(R,1,1);L=w+(_*136|0)+28|0;D=w+(_*136|0)+24|0;if(h[D>>2]|0){T=B+1|0;P=L;O=0;while(1){u=h[P+20>>2]|0;S=ue(h[u+(I*40|0)+20>>2]|0,h[u+(I*40|0)+16>>2]|0)|0;d=u+(I*40|0)+24|0;t=(S|0)==0;if(!t){i=u+(I*40|0)+32|0;s=h[d>>2]|0;o=0;while(1){if((h[s+40>>2]|0)==0?(h[(h[s+4>>2]|0)+(B*24|0)>>2]|0)!=0:0)ba(h[i>>2]|0,o,B);o=o+1|0;if((o|0)==(S|0))break;else s=s+52|0}if(!t){M=u+(I*40|0)+32|0;A=u+(I*40|0)+36|0;y=h[d>>2]|0;E=0;while(1){t=(h[y+4>>2]|0)+(B*24|0)|0;g=y+40|0;if(!(h[g>>2]|0))ka(R,h[M>>2]|0,E,T);else Pa(R,(h[t>>2]|0)!=0&1,1);i=h[t>>2]|0;if(i){if(!(h[g>>2]|0)){h[y+32>>2]=3;ka(R,h[A>>2]|0,E,999);i=h[t>>2]|0}e:do{switch(i|0){case 1:{Pa(R,0,1);break}case 2:{Pa(R,2,2);break}default:{if(i>>>0<6){Pa(R,i+-3|12,4);break e}if(i>>>0<37){Pa(R,i+-6|480,9);break e}if(i>>>0<165)Pa(R,i+-37|65408,16)}}}while(0);d=h[g>>2]|0;i=h[t>>2]|0;v=i+d|0;p=y+8|0;if(d>>>0>>0){_=y+32|0;k=d+-1+i|0;o=0;u=0;s=0;w=(h[p>>2]|0)+(d*24|0)|0;while(1){s=s+1|0;u=(h[w+16>>2]|0)+u|0;if((c[w+20>>0]&1)!=0|(d|0)==(k|0)){if((u|0)>1){i=0;do{u=u>>1;i=i+1|0}while((u|0)>1)}else i=0;b=h[_>>2]|0;if((s|0)>1){u=0;do{s=s>>1;u=u+1|0}while((s|0)>1);s=u}else s=0;u=i+1-b-s|0;o=(o|0)>(u|0)?o:u;u=0;s=0}d=d+1|0;if((d|0)==(v|0))break;else w=w+24|0}if((o|0)>0){i=o;while(1){Pa(R,1,1);if((i|0)>1)i=i+-1|0;else{i=u;break}}}else i=u}else{o=0;i=0;s=0}Pa(R,0,1);k=y+32|0;h[k>>2]=(h[k>>2]|0)+o;o=h[g>>2]|0;if(o>>>0>>0){b=(h[p>>2]|0)+(o*24|0)|0;while(1){s=s+1|0;u=(h[b+16>>2]|0)+i|0;if((c[b+20>>0]&1)==0?(o|0)!=((h[g>>2]|0)+-1+(h[t>>2]|0)|0):0)i=u;else{d=h[k>>2]|0;if((s|0)>1){i=0;do{s=s>>1;i=i+1|0}while((s|0)>1)}else i=0;Pa(R,u,i+d|0);i=0;s=0}o=o+1|0;if((o|0)==(v|0))break;else b=b+24|0}}}E=E+1|0;if((E|0)==(S|0))break;else y=y+52|0}}}O=O+1|0;if(O>>>0>=(h[D>>2]|0)>>>0)break;else P=P+36|0}}if(!(Ra(R)|0)){Aa(R);f=0;return f|0}i=Ma(R)|0;t=C+i|0;a=a-i|0;Aa(R);if(h[r>>2]&4){c[t>>0]=-1;c[C+(i+1)>>0]=-110;a=a+-2|0;t=C+(i+2)|0}p=(l|0)!=0;if(p?(h[l+12>>2]|0)!=0:0){C=t-n|0;r=(h[(h[l+88>>2]|0)+(e*592|0)+548>>2]|0)+(h[l+8>>2]<<5)+8|0;h[r>>2]=C;h[r+4>>2]=((C|0)<0)<<31>>31}i=h[D>>2]|0;e:do{if(i){v=l+12|0;g=l+8|0;y=l+88|0;w=L;_=0;i:while(1){s=h[w+20>>2]|0;k=ue(h[s+(I*40|0)+20>>2]|0,h[s+(I*40|0)+16>>2]|0)|0;s=h[s+(I*40|0)+24>>2]|0;if(k){if(p){b=0;while(1){d=h[s+4>>2]|0;i=d+(B*24|0)|0;if(h[i>>2]|0){o=d+(B*24|0)+4|0;u=h[o>>2]|0;if(u>>>0>a>>>0){t=0;a=81;break i}Gs(t|0,h[d+(B*24|0)+16>>2]|0,u|0)|0;r=s+40|0;h[r>>2]=(h[r>>2]|0)+(h[i>>2]|0);r=h[o>>2]|0;t=t+r|0;a=a-r|0;if((h[v>>2]|0)!=0?(r=(h[(h[y>>2]|0)+(e*592|0)+548>>2]|0)+(h[g>>2]<<5)+24|0,x=+m[d+(B*24|0)+8>>3]+ +m[r>>3],m[r>>3]=x,+m[l>>3]>3]=x}b=b+1|0;if(b>>>0>=k>>>0)break;else s=s+52|0}}else{b=0;while(1){i=h[s+4>>2]|0;o=i+(B*24|0)|0;if(h[o>>2]|0){u=i+(B*24|0)+4|0;d=h[u>>2]|0;if(d>>>0>a>>>0){t=0;a=81;break i}Gs(t|0,h[i+(B*24|0)+16>>2]|0,d|0)|0;r=s+40|0;h[r>>2]=(h[r>>2]|0)+(h[o>>2]|0);r=h[u>>2]|0;a=a-r|0;t=t+r|0}b=b+1|0;if(b>>>0>=k>>>0)break;else s=s+52|0}}i=h[D>>2]|0}_=_+1|0;if(_>>>0>=i>>>0)break e;else w=w+36|0}if((a|0)==81)return t|0}}while(0);h[f>>2]=t-n+(h[f>>2]|0);f=1;return f|0}function ll(e,i,r,t,n,f,a,l,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;var o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0;U=v;v=v+64|0;N=U+40|0;B=U+32|0;E=U+24|0;y=U+16|0;p=U+8|0;m=U;g=U+48|0;F=U+44|0;h[F>>2]=f;M=h[t+28>>2]|0;I=t+24|0;A=h[i+((h[I>>2]|0)*52|0)+24>>2]|0;D=t+36|0;if((h[D>>2]|0)==0?(_=A+(M*136|0)+24|0,o=h[_>>2]|0,(o|0)!=0):0){w=t+32|0;b=0;k=A+(M*136|0)+28|0;while(1){i=h[w>>2]|0;u=h[k+20>>2]|0;if((h[k+8>>2]|0)!=(h[k>>2]|0)?(h[k+12>>2]|0)!=(h[k+4>>2]|0):0){ft(h[u+(i*40|0)+32>>2]|0);ft(h[u+(i*40|0)+36>>2]|0);o=ue(h[u+(i*40|0)+20>>2]|0,h[u+(i*40|0)+16>>2]|0)|0;if(o){d=0;i=h[u+(i*40|0)+24>>2]|0;while(1){h[i+44>>2]=0;h[i+48>>2]=0;d=d+1|0;if((d|0)==(o|0))break;else i=i+56|0}}o=h[_>>2]|0}b=b+1|0;if(b>>>0>=o>>>0)break;else k=k+36|0}}do{if(h[r>>2]&2){if(l>>>0<6){Zt(s,2,22072,m)|0;break}i=h[F>>2]|0;if((c[i>>0]|0)==-1?(c[i+1>>0]|0)==-111:0){h[F>>2]=i+6;break}Zt(s,2,22114,p)|0}}while(0);C=Ea()|0;if(!C){f=0;v=U;return f|0}do{if(!(c[e+96>>0]&1))if(!(c[r+5636>>0]&2)){R=h[F>>2]|0;h[g>>2]=f+l-R;L=F;break}else{L=r+5168|0;R=h[L>>2]|0;g=r+5180|0;break}else{L=e+40|0;R=h[L>>2]|0;g=e+44|0}}while(0);Sa(C,R,h[g>>2]|0);if(!(Oa(C,1)|0)){La(C)|0;o=Ma(C)|0;i=R+o|0;Aa(C);do{if(h[r>>2]&4){if(((h[g>>2]|0)-i+(h[L>>2]|0)|0)>>>0<2){Zt(s,2,22135,y)|0;break}if((c[i>>0]|0)==-1?(c[R+(o+1)>>0]|0)==-110:0){i=R+(o+2)|0;break}Zt(s,2,22177,E)|0}}while(0);h[g>>2]=(h[g>>2]|0)+((h[L>>2]|0)-i);h[L>>2]=i;h[n>>2]=0;h[a>>2]=(h[F>>2]|0)-f;f=1;v=U;return f|0}O=A+(M*136|0)+24|0;i=h[O>>2]|0;e:do{if(i){S=t+32|0;P=r+5584|0;T=0;A=A+(M*136|0)+28|0;i:while(1){o=h[S>>2]|0;u=h[A+20>>2]|0;if(((h[A+8>>2]|0)!=(h[A>>2]|0)?(h[A+12>>2]|0)!=(h[A+4>>2]|0):0)?(x=ue(h[u+(o*40|0)+20>>2]|0,h[u+(o*40|0)+16>>2]|0)|0,(x|0)!=0):0){e=u+(o*40|0)+32|0;t=u+(o*40|0)+36|0;y=A+28|0;E=0;l=h[u+(o*40|0)+24>>2]|0;while(1){o=l+44|0;if(!(h[o>>2]|0))i=wa(C,h[e>>2]|0,E,(h[D>>2]|0)+1|0)|0;else i=Oa(C,1)|0;r:do{if(!i)h[l+40>>2]=0;else{if(!(h[o>>2]|0)){i=0;while(1)if(!(wa(C,h[t>>2]|0,E,i)|0))i=i+1|0;else break;h[l+24>>2]=1-i+(h[y>>2]|0);h[l+28>>2]=3}do{if(Oa(C,1)|0)if(Oa(C,1)|0){i=Oa(C,2)|0;if((i|0)!=3){i=i+3|0;break}i=Oa(C,5)|0;if((i|0)==31){i=(Oa(C,7)|0)+37|0;break}else{i=i+6|0;break}}else i=2;else i=1}while(0);m=l+40|0;h[m>>2]=i;i=0;while(1)if(!(Oa(C,1)|0))break;else i=i+1|0;p=l+28|0;h[p>>2]=(h[p>>2]|0)+i;o=h[o>>2]|0;do{if(!o){u=h[(h[P>>2]|0)+((h[I>>2]|0)*1080|0)+16>>2]|0;i=l+52|0;if(!(h[i>>2]|0)){h[i>>2]=10;d=l+4|0;o=Zn(h[d>>2]|0,320)|0;if(!o){o=i;u=d;i=d;d=66;break i}h[d>>2]=o}else o=h[l+4>>2]|0;h[o>>2]=0;h[o+4>>2]=0;h[o+8>>2]=0;h[o+12>>2]=0;h[o+16>>2]=0;h[o+20>>2]=0;h[o+24>>2]=0;h[o+28>>2]=0;if(u&4){h[o+20>>2]=1;o=0;break}o=o+20|0;if(!(u&1)){h[o>>2]=109;o=0;break}else{h[o>>2]=10;o=0;break}}else{k=o+-1|0;w=l+4|0;u=h[w>>2]|0;if((h[u+(k<<5)+8>>2]|0)!=(h[u+(k<<5)+20>>2]|0)){i=l+52|0;o=k;break}b=h[(h[P>>2]|0)+((h[I>>2]|0)*1080|0)+16>>2]|0;i=l+52|0;d=h[i>>2]|0;if((o+1|0)>>>0>d>>>0){M=d+10|0;h[i>>2]=M;u=Zn(u,M<<5)|0;if(!u){u=w;o=i;i=w;d=77;break i}h[w>>2]=u}M=u+(o<<5)|0;h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;h[M+12>>2]=0;h[M+16>>2]=0;h[M+20>>2]=0;h[M+24>>2]=0;h[M+28>>2]=0;if(b&4){h[u+(o<<5)+20>>2]=1;break}if(!(b&1)){h[u+(o<<5)+20>>2]=109;break}else{M=h[u+(k<<5)+20>>2]|0;h[u+(o<<5)+20>>2]=(M|0)==1|(M|0)==10?2:1;break}}}while(0);_=l+4|0;k=h[m>>2]|0;while(1){b=h[_>>2]|0;u=(h[b+(o<<5)+20>>2]|0)-(h[b+(o<<5)+8>>2]|0)|0;u=(u|0)<(k|0)?u:k;h[b+(o<<5)+24>>2]=u;b=h[p>>2]|0;if(u>>>0>1){d=0;while(1){d=d+1|0;if(u>>>0>3)u=u>>>1;else{u=d;break}}}else u=0;b=Oa(C,u+b|0)|0;u=h[_>>2]|0;h[u+(o<<5)+28>>2]=b;b=k-(h[u+(o<<5)+24>>2]|0)|0;if((b|0)<=0)break r;k=o+1|0;w=h[(h[P>>2]|0)+((h[I>>2]|0)*1080|0)+16>>2]|0;d=h[i>>2]|0;if((o+2|0)>>>0>d>>>0){M=d+10|0;h[i>>2]=M;u=Zn(u,M<<5)|0;if(!u){u=_;o=_;d=90;break i}h[_>>2]=u}M=u+(k<<5)|0;h[M>>2]=0;h[M+4>>2]=0;h[M+8>>2]=0;h[M+12>>2]=0;h[M+16>>2]=0;h[M+20>>2]=0;h[M+24>>2]=0;h[M+28>>2]=0;if(w&4){h[u+(k<<5)+20>>2]=1;o=k;k=b;continue}if(!(w&1)){h[u+(k<<5)+20>>2]=109;o=k;k=b;continue}else{M=h[u+(o<<5)+20>>2]|0;h[u+(k<<5)+20>>2]=(M|0)==1|(M|0)==10?2:1;o=k;k=b;continue}}}}while(0);E=E+1|0;if(E>>>0>=x>>>0)break;else l=l+56|0}i=h[O>>2]|0}T=T+1|0;if(T>>>0>=i>>>0)break e;else A=A+36|0}if((d|0)==66){Qn(h[i>>2]|0);h[u>>2]=0;h[o>>2]=0;Aa(C);f=0;v=U;return f|0}else if((d|0)==77){Qn(h[i>>2]|0);h[u>>2]=0;h[o>>2]=0;Aa(C);f=0;v=U;return f|0}else if((d|0)==90){Qn(h[o>>2]|0);h[u>>2]=0;h[i>>2]=0;Aa(C);f=0;v=U;return f|0}}}while(0);if(!(La(C)|0)){Aa(C);f=0;v=U;return f|0}o=Ma(C)|0;i=R+o|0;Aa(C);do{if(h[r>>2]&4){if(((h[g>>2]|0)-i+(h[L>>2]|0)|0)>>>0<2){Zt(s,2,22135,B)|0;break}if((c[i>>0]|0)==-1?(c[R+(o+1)>>0]|0)==-110:0){i=R+(o+2)|0;break}Zt(s,2,22177,N)|0}}while(0);h[g>>2]=(h[g>>2]|0)+((h[L>>2]|0)-i);h[L>>2]=i;h[n>>2]=1;h[a>>2]=(h[F>>2]|0)-f;f=1;v=U;return f|0}function sl(){return Gn(104)|0}function ol(e){e=e|0;if(!e)return;Qn(e);return}function ul(e){e=e|0;return(h[e+12>>2]|0)-(h[e+16>>2]|0)|0}function cl(e,i){e=e|0;i=i|0;var r=0,t=0;h[e+100>>2]=e+24;h[e+4>>2]=32768;h[e>>2]=0;t=i+-1|0;h[e+12>>2]=t;r=e+8|0;h[r>>2]=12;h[r>>2]=(c[t>>0]|0)==-1?13:12;h[e+16>>2]=i;return}function dl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;n=h[e+100>>2]|0;f=h[n>>2]|0;l=(h[f+4>>2]|0)==(i|0);t=h[f>>2]|0;s=e+4|0;i=(h[s>>2]|0)-t|0;h[s>>2]=i;if(!l){if(i>>>0>>0){l=(h[e>>2]|0)+t|0;h[e>>2]=l;t=i;i=l;l=e}else{h[s>>2]=t;i=h[e>>2]|0;l=e}h[n>>2]=h[f+12>>2];a=e+8|0;f=e+12|0;n=i;i=h[a>>2]|0;while(1){t=t<<1;h[s>>2]=t;r=n<<1;h[l>>2]=r;i=i+-1|0;h[a>>2]=i;if(!i){i=h[f>>2]|0;t=c[i>>0]|0;do{if(t<<24>>24!=-1){if(!(r&134217728)){r=i+1|0;h[f>>2]=r;c[r>>0]=n>>>18;r=h[l>>2]&524287;h[l>>2]=r;h[a>>2]=8;i=8;break}c[i>>0]=t+1<<24>>24;i=h[f>>2]|0;if((c[i>>0]|0)==-1){e=h[l>>2]&134217727;h[l>>2]=e;r=i+1|0;h[f>>2]=r;c[r>>0]=e>>>20;r=h[l>>2]&1048575;h[l>>2]=r;h[a>>2]=7;i=7;break}else{r=i+1|0;h[f>>2]=r;c[r>>0]=(h[l>>2]|0)>>>19;r=h[l>>2]&524287;h[l>>2]=r;h[a>>2]=8;i=8;break}}else{r=i+1|0;h[f>>2]=r;c[r>>0]=n>>>19;r=h[l>>2]&1048575;h[l>>2]=r;h[a>>2]=7;i=7}}while(0);t=h[s>>2]|0}if(!(t&32768))n=r;else break}return}if(i&32768){h[e>>2]=(h[e>>2]|0)+t;return}if(i>>>0>>0){h[s>>2]=t;r=h[e>>2]|0;l=e}else{r=(h[e>>2]|0)+t|0;h[e>>2]=r;t=i;l=e}h[n>>2]=h[f+8>>2];a=e+8|0;f=e+12|0;n=r;i=h[a>>2]|0;while(1){t=t<<1;h[s>>2]=t;r=n<<1;h[l>>2]=r;i=i+-1|0;h[a>>2]=i;if(!i){i=h[f>>2]|0;t=c[i>>0]|0;do{if(t<<24>>24!=-1){if(!(r&134217728)){r=i+1|0;h[f>>2]=r;c[r>>0]=n>>>18;r=h[l>>2]&524287;h[l>>2]=r;h[a>>2]=8;i=8;break}c[i>>0]=t+1<<24>>24;i=h[f>>2]|0;if((c[i>>0]|0)==-1){e=h[l>>2]&134217727;h[l>>2]=e;r=i+1|0;h[f>>2]=r;c[r>>0]=e>>>20;r=h[l>>2]&1048575;h[l>>2]=r;h[a>>2]=7;i=7;break}else{r=i+1|0;h[f>>2]=r;c[r>>0]=(h[l>>2]|0)>>>19;r=h[l>>2]&524287;h[l>>2]=r;h[a>>2]=8;i=8;break}}else{r=i+1|0;h[f>>2]=r;c[r>>0]=n>>>19;r=h[l>>2]&1048575;h[l>>2]=r;h[a>>2]=7;i=7}}while(0);t=h[s>>2]|0}if(!(t&32768))n=r;else break}return}function hl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;f=h[e>>2]|0;t=f|65535;n=e+8|0;t=(t>>>0<((h[e+4>>2]|0)+f|0)>>>0?t:t+-32768|0)<>2];h[e>>2]=t;f=e+12|0;i=h[f>>2]|0;r=c[i>>0]|0;do{if(r<<24>>24!=-1){if(!(t&134217728)){i=i+1|0;h[f>>2]=i;c[i>>0]=t>>>19;i=h[e>>2]&524287;h[e>>2]=i;h[n>>2]=8;r=8;break}c[i>>0]=r+1<<24>>24;i=h[f>>2]|0;if((c[i>>0]|0)==-1){r=h[e>>2]&134217727;h[e>>2]=r;i=i+1|0;h[f>>2]=i;c[i>>0]=r>>>20;i=h[e>>2]&1048575;h[e>>2]=i;h[n>>2]=7;r=7;break}else{i=i+1|0;h[f>>2]=i;c[i>>0]=(h[e>>2]|0)>>>19;i=h[e>>2]&524287;h[e>>2]=i;h[n>>2]=8;r=8;break}}else{i=i+1|0;h[f>>2]=i;c[i>>0]=t>>>20;i=h[e>>2]&1048575;h[e>>2]=i;h[n>>2]=7;r=7}}while(0);i=i<>2]=i;r=h[f>>2]|0;t=c[r>>0]|0;do{if(t<<24>>24!=-1){if(!(i&134217728)){t=r+1|0;h[f>>2]=t;c[t>>0]=i>>>19;h[e>>2]=h[e>>2]&524287;h[n>>2]=8;break}c[r>>0]=t+1<<24>>24;i=h[f>>2]|0;if((c[i>>0]|0)==-1){r=h[e>>2]&134217727;h[e>>2]=r;t=i+1|0;h[f>>2]=t;c[t>>0]=r>>>20;h[e>>2]=h[e>>2]&1048575;h[n>>2]=7;break}else{t=i+1|0;h[f>>2]=t;c[t>>0]=(h[e>>2]|0)>>>19;h[e>>2]=h[e>>2]&524287;h[n>>2]=8;break}}else{t=r+1|0;h[f>>2]=t;c[t>>0]=i>>>20;h[e>>2]=h[e>>2]&1048575;h[n>>2]=7}}while(0);i=h[f>>2]|0;if((c[i>>0]|0)==-1)return;h[f>>2]=i+1;return}function bl(e){e=e|0;h[e>>2]=0;h[e+8>>2]=8;return}function kl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;r=e+8|0;t=(h[r>>2]|0)+-1|0;h[r>>2]=t;i=(i<>2]|0)|0;h[e>>2]=i;if(t)return;t=e+12|0;n=(h[t>>2]|0)+1|0;h[t>>2]=n;c[n>>0]=i;h[r>>2]=8;h[r>>2]=(c[h[t>>2]>>0]|0)==-1?7:8;h[e>>2]=0;return}function wl(e){e=e|0;h[e+28>>2]=1156;h[e+32>>2]=1156;h[e+36>>2]=1156;h[e+40>>2]=1156;h[e+44>>2]=1156;h[e+48>>2]=1156;h[e+52>>2]=1156;h[e+56>>2]=1156;h[e+60>>2]=1156;h[e+64>>2]=1156;h[e+68>>2]=1156;h[e+72>>2]=1156;h[e+76>>2]=1156;h[e+80>>2]=1156;h[e+84>>2]=1156;h[e+88>>2]=1156;h[e+96>>2]=2628;h[e+92>>2]=1252;h[e+24>>2]=1284;return}function _l(e){e=e|0;h[e+24>>2]=1156;h[e+28>>2]=1156;h[e+32>>2]=1156;h[e+36>>2]=1156;h[e+40>>2]=1156;h[e+44>>2]=1156;h[e+48>>2]=1156;h[e+52>>2]=1156;h[e+56>>2]=1156;h[e+60>>2]=1156;h[e+64>>2]=1156;h[e+68>>2]=1156;h[e+72>>2]=1156;h[e+76>>2]=1156;h[e+80>>2]=1156;h[e+84>>2]=1156;h[e+88>>2]=1156;h[e+92>>2]=1156;h[e+96>>2]=1156;return}function ml(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;h[e+24+(i<<2)>>2]=1156+((t<<1)+r<<4);return}function pl(e){e=e|0;var i=0,r=0;h[e+100>>2]=e+24;h[e+4>>2]=32768;h[e>>2]=0;i=e+8|0;h[i>>2]=12;r=e+12|0;e=(h[r>>2]|0)+-1|0;h[r>>2]=e;if((c[e>>0]|0)!=-1)return;h[i>>2]=13;return}function vl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;a=e+8|0;i=h[a>>2]|0;t=12-i|0;if((t|0)>0){n=e+12|0;r=h[e>>2]|0;do{i=r<>2]=i;h[a>>2]=0;r=h[n>>2]|0;f=c[r>>0]|0;do{if(f<<24>>24!=-1){if(!(i&134217728)){r=r+1|0;h[n>>2]=r;c[r>>0]=i>>>19;r=h[e>>2]&524287;h[e>>2]=r;h[a>>2]=8;i=8;break}c[r>>0]=f+1<<24>>24;i=h[n>>2]|0;if((c[i>>0]|0)==-1){f=h[e>>2]&134217727;h[e>>2]=f;r=i+1|0;h[n>>2]=r;c[r>>0]=f>>>20;r=h[e>>2]&1048575;h[e>>2]=r;h[a>>2]=7;i=7;break}else{r=i+1|0;h[n>>2]=r;c[r>>0]=(h[e>>2]|0)>>>19;r=h[e>>2]&524287;h[e>>2]=r;h[a>>2]=8;i=8;break}}else{r=r+1|0;h[n>>2]=r;c[r>>0]=i>>>20;r=h[e>>2]&1048575;h[e>>2]=r;h[a>>2]=7;i=7}}while(0);t=t-i|0}while((t|0)>0)}else n=e+12|0;i=h[n>>2]|0;r=c[i>>0]|0;if(r<<24>>24==-1)return;t=h[e>>2]|0;if(!(t&134217728)){f=i+1|0;h[n>>2]=f;c[f>>0]=t>>>19;h[e>>2]=h[e>>2]&524287;h[a>>2]=8;return}c[i>>0]=r+1<<24>>24;i=h[n>>2]|0;if((c[i>>0]|0)==-1){t=h[e>>2]&134217727;h[e>>2]=t;f=i+1|0;h[n>>2]=f;c[f>>0]=t>>>20;h[e>>2]=h[e>>2]&1048575;h[a>>2]=7;return}else{f=i+1|0;h[n>>2]=f;c[f>>0]=(h[e>>2]|0)>>>19;h[e>>2]=h[e>>2]&524287;h[a>>2]=8;return}}function gl(e){e=e|0;h[e+100>>2]=e+96;dl(e,1);dl(e,0);dl(e,1);dl(e,0);return}function yl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;h[e+100>>2]=e+24;h[e+16>>2]=i;h[e+20>>2]=i+r;n=e+12|0;h[n>>2]=i;do{if(r){f=b[i>>0]<<16;h[e>>2]=f;t=i+1|0;if((r|0)==1)r=255;else r=b[t>>0]|0;if((c[i>>0]|0)!=-1){h[n>>2]=t;t=f|r<<8;h[e>>2]=t;r=e+8|0;h[r>>2]=8;n=e;f=1;break}if(r>>>0>143){t=f|65280;h[e>>2]=t;r=e+8|0;h[r>>2]=8;n=e;f=1;break}else{h[n>>2]=t;t=f+(r<<9)|0;h[e>>2]=t;r=e+8|0;h[r>>2]=7;n=e;f=0;break}}else{h[e>>2]=16776960;r=e+8|0;h[r>>2]=8;t=16776960;n=e;f=1}}while(0);h[n>>2]=t<<7;h[r>>2]=f;h[e+4>>2]=32768;return 1}function El(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;r=h[e+100>>2]|0;t=h[r>>2]|0;a=h[t>>2]|0;u=e+4|0;f=(h[u>>2]|0)-a|0;h[u>>2]=f;n=h[e>>2]|0;if(n>>>16>>>0>>0){h[u>>2]=a;i=h[t+4>>2]|0;if(f>>>0>>0)h[r>>2]=h[t+8>>2];else{h[r>>2]=h[t+12>>2];i=1-i|0}l=e+8|0;s=e+12|0;o=e+20|0;t=h[l>>2]|0;r=n;do{do{if(!t){n=h[s>>2]|0;t=h[o>>2]|0;if((n|0)==(t|0)){r=r+65280|0;h[e>>2]=r;h[l>>2]=8;t=8;break}f=n+1|0;if((f|0)==(t|0))t=255;else t=b[f>>0]|0;if((c[n>>0]|0)!=-1){h[s>>2]=f;r=r+(t<<8)|0;h[e>>2]=r;h[l>>2]=8;t=8;break}if(t>>>0>143){r=r+65280|0;h[e>>2]=r;h[l>>2]=8;t=8;break}else{h[s>>2]=f;r=r+(t<<9)|0;h[e>>2]=r;h[l>>2]=7;t=7;break}}}while(0);a=a<<1;h[u>>2]=a;r=r<<1;h[e>>2]=r;t=t+-1|0;h[l>>2]=t}while(a>>>0<32768);return i|0}n=n-(a<<16)|0;h[e>>2]=n;if(f&32768){e=h[t+4>>2]|0;return e|0}i=h[t+4>>2]|0;if(a>>>0>f>>>0){h[r>>2]=h[t+12>>2];i=1-i|0}else h[r>>2]=h[t+8>>2];l=e+8|0;s=e+12|0;o=e+20|0;t=h[l>>2]|0;r=n;a=f;do{do{if(!t){n=h[s>>2]|0;t=h[o>>2]|0;if((n|0)==(t|0)){r=r+65280|0;h[e>>2]=r;h[l>>2]=8;t=8;break}f=n+1|0;if((f|0)==(t|0))t=255;else t=b[f>>0]|0;if((c[n>>0]|0)!=-1){h[s>>2]=f;r=r+(t<<8)|0;h[e>>2]=r;h[l>>2]=8;t=8;break}if(t>>>0>143){r=r+65280|0;h[e>>2]=r;h[l>>2]=8;t=8;break}else{h[s>>2]=f;r=r+(t<<9)|0;h[e>>2]=r;h[l>>2]=7;t=7;break}}}while(0);a=a<<1;h[u>>2]=a;r=r<<1;h[e>>2]=r;t=t+-1|0;h[l>>2]=t}while(a>>>0<32768);return i|0}function Al(){return Gn(28)|0}function Ml(e){e=e|0;if(!e)return;Qn(e);return}function Tl(e,i,r){e=e|0;i=i|0;r=r|0;h[e+20>>2]=i;h[e+8>>2]=r;h[e+12>>2]=0;c[e>>0]=0;h[e+4>>2]=0;return}function Sl(e){e=e|0;var i=0,r=0,t=0,n=0,f=0;n=e+4|0;i=h[n>>2]|0;do{if(!i){h[n>>2]=8;r=e+12|0;t=h[r>>2]|0;if((t|0)==(h[e+8>>2]|0)){c[e>>0]=-1;i=8;r=-1;break}if((c[e>>0]|0)==-1){h[n>>2]=7;i=7}else i=8;f=c[(h[e+20>>2]|0)+t>>0]|0;c[e>>0]=f;h[r>>2]=t+1;r=f}else r=c[e>>0]|0}while(0);f=i+-1|0;h[n>>2]=f;return(r&255)>>>f&1|0}function Pl(){var e=0;if(!(h[665]|0))e=2712;else{e=(je()|0)+60|0;e=h[e>>2]|0}return e|0}function Ol(e){e=e|0;var i=0,r=0;i=0;while(1){if((b[22198+i>>0]|0)==(e|0)){r=2;break}i=i+1|0;if((i|0)==87){i=87;e=22286;r=5;break}}if((r|0)==2)if(!i)e=22286;else{e=22286;r=5}if((r|0)==5)while(1){r=e;while(1){e=r+1|0;if(!(c[r>>0]|0))break;else r=e}i=i+-1|0;if(!i)break;else r=5}return e|0}function Rl(e){e=e|0;var i=0;if(e>>>0>4294963200){i=Pl()|0;h[i>>2]=0-e;e=-1}return e|0}function Ll(e,i){e=+e;i=i|0;var r=0,t=0,n=0;m[y>>3]=e;r=h[y>>2]|0;t=h[y+4>>2]|0;n=Vs(r|0,t|0,52)|0;n=n&2047;switch(n|0){case 0:{if(e!=0.0){e=+Ll(e*18446744073709551616.0,i);r=(h[i>>2]|0)+-64|0}else r=0;h[i>>2]=r;break}case 2047:break;default:{h[i>>2]=n+-1022;h[y>>2]=r;h[y+4>>2]=t&-2146435073|1071644672;e=+m[y>>3]}}return+e}function Cl(e,i){e=+e;i=i|0;return+ +Ll(e,i)}function Dl(e,i){e=+e;i=i|0;return+ +Bl(e,i)}function xl(e){e=+e;return~~+Il(e)|0}function Il(e){e=+e;var i=0;i=(_[y>>2]=e,h[y>>2]|0);if((i&2130706432)>>>0<=1249902592){i=(i|0)<0;e=i?e+-8388608.0+8388608.0:e+8388608.0+-8388608.0;if(e==0.0)e=i?-0.0:0.0}return+e}function Bl(e,i){e=+e;i=i|0;var r=0;if((i|0)>1023){e=e*8988465674311579538646525.0e283;r=i+-1023|0;if((r|0)>1023){r=i+-2046|0;r=(r|0)>1023?1023:r;e=e*8988465674311579538646525.0e283}}else if((i|0)<-1022){e=e*2.2250738585072014e-308;r=i+1022|0;if((r|0)<-1022){r=i+2044|0;r=(r|0)<-1022?-1022:r;e=e*2.2250738585072014e-308}}else r=i;r=Xs(r+1023|0,0,52)|0;i=j;h[y>>2]=r;h[y+4>>2]=i;return+(e*+m[y>>3])}function Nl(e,i,r){e=e|0;i=i|0;r=r|0;do{if(e){if(i>>>0<128){c[e>>0]=i;e=1;break}if(i>>>0<2048){c[e>>0]=i>>>6|192;c[e+1>>0]=i&63|128;e=2;break}if(i>>>0<55296|(i&-8192|0)==57344){c[e>>0]=i>>>12|224;c[e+1>>0]=i>>>6&63|128;c[e+2>>0]=i&63|128;e=3;break}if((i+-65536|0)>>>0<1048576){c[e>>0]=i>>>18|240;c[e+1>>0]=i>>>12&63|128;c[e+2>>0]=i>>>6&63|128;c[e+3>>0]=i&63|128;e=4;break}else{e=Pl()|0;h[e>>2]=84;e=-1;break}}else e=1}while(0);return e|0}function Fl(e,i){e=e|0;i=i|0;if(!e)e=0;else e=Nl(e,i,0)|0;return e|0}function Ul(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0;d=v;v=v+112|0;u=d+40|0;s=d+24|0;l=d+16|0;n=d;o=d+52|0;t=c[i>>0]|0;if(ms(24090,t<<24>>24,4)|0){r=Cs(1144)|0;if(!r)r=0;else{f=r;a=f+112|0;do{h[f>>2]=0;f=f+4|0}while((f|0)<(a|0));if(!(vs(i,43)|0))h[r>>2]=t<<24>>24==114?8:4;if(vs(i,101)|0){h[n>>2]=e;h[n+4>>2]=2;h[n+8>>2]=1;Oe(221,n|0)|0;t=c[i>>0]|0}if(t<<24>>24==97){h[l>>2]=e;h[l+4>>2]=3;t=Oe(221,l|0)|0;if(!(t&1024)){h[s>>2]=e;h[s+4>>2]=4;h[s+8>>2]=t|1024;Oe(221,s|0)|0}i=h[r>>2]|128;h[r>>2]=i}else i=h[r>>2]|0;h[r+60>>2]=e;h[r+44>>2]=r+120;h[r+48>>2]=1024;t=r+75|0;c[t>>0]=-1;if((i&8|0)==0?(h[u>>2]=e,h[u+4>>2]=21505,h[u+8>>2]=o,(qe(54,u|0)|0)==0):0)c[t>>0]=10;h[r+32>>2]=60;h[r+36>>2]=61;h[r+40>>2]=3;h[r+12>>2]=1;if(!(h[666]|0))h[r+76>>2]=-1;Ve(2688);t=h[671]|0;h[r+56>>2]=t;if(t)h[t+52>>2]=r;h[671]=r;Xe(2688)}}else{r=Pl()|0;h[r>>2]=22;r=0}v=d;return r|0}function jl(e){e=e|0;var i=0,r=0,t=0;r=(vs(e,43)|0)==0;i=c[e>>0]|0;r=r?i<<24>>24!=114&1:2;t=(vs(e,120)|0)==0;r=t?r:r|128;e=(vs(e,101)|0)==0;e=e?r:r|524288;e=i<<24>>24==114?e:e|64;e=i<<24>>24==119?e|512:e;return(i<<24>>24==97?e|1024:e)|0}function Hl(e){e=e|0;return 0}function Yl(e){e=e|0;return}function ql(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0;s=v;v=v+16|0;l=s;a=i&255;c[l>>0]=a;t=e+16|0;n=h[t>>2]|0;if(!n)if(!(Jl(e)|0)){n=h[t>>2]|0;f=4}else r=-1;else f=4;do{if((f|0)==4){t=e+20|0;f=h[t>>2]|0;if(f>>>0>>0?(r=i&255,(r|0)!=(c[e+75>>0]|0)):0){h[t>>2]=f+1;c[f>>0]=a;break}if((Ro[h[e+36>>2]&63](e,l,1)|0)==1)r=b[l>>0]|0;else r=-1}}while(0);v=s;return r|0}function Xl(e){e=e|0;var i=0,r=0;i=v;v=v+16|0;r=i;h[r>>2]=h[e+60>>2];e=Rl(Ge(6,r|0)|0)|0;v=i;return e|0}function zl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0;o=v;v=v+48|0;f=o+16|0;n=o;t=o+32|0;h[t>>2]=i;a=t+4|0;s=e+48|0;u=h[s>>2]|0;h[a>>2]=r-((u|0)!=0&1);l=e+44|0;h[t+8>>2]=h[l>>2];h[t+12>>2]=u;if(!(h[665]|0)){h[f>>2]=h[e+60>>2];h[f+4>>2]=t;h[f+8>>2]=2;t=Rl(Ze(145,f|0)|0)|0}else{Ce(5,e|0);h[n>>2]=h[e+60>>2];h[n+4>>2]=t;h[n+8>>2]=2;t=Rl(Ze(145,n|0)|0)|0;Pe(0)}if((t|0)>=1){a=h[a>>2]|0;if(t>>>0>a>>>0){f=h[l>>2]|0;n=e+4|0;h[n>>2]=f;h[e+8>>2]=f+(t-a);if(!(h[s>>2]|0))t=r;else{h[n>>2]=f+1;c[i+(r+-1)>>0]=c[f>>0]|0;t=r}}}else{h[e>>2]=h[e>>2]|t&48^16;h[e+8>>2]=0;h[e+4>>2]=0}v=o;return t|0}function Vl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0;n=v;v=v+32|0;f=n;t=n+20|0;h[f>>2]=h[e+60>>2];h[f+4>>2]=0;h[f+8>>2]=i;h[f+12>>2]=t;h[f+16>>2]=r;if((Rl(Je(140,f|0)|0)|0)<0){h[t>>2]=-1;e=-1}else e=h[t>>2]|0;v=n;return e|0}function Gl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;k=v;v=v+48|0;c=k+16|0;u=k;t=k+32|0;d=e+28|0;n=h[d>>2]|0;h[t>>2]=n;b=e+20|0;n=(h[b>>2]|0)-n|0;h[t+4>>2]=n;h[t+8>>2]=i;h[t+12>>2]=r;s=e+60|0;o=e+44|0;i=2;n=n+r|0;while(1){if(!(h[665]|0)){h[c>>2]=h[s>>2];h[c+4>>2]=t;h[c+8>>2]=i;a=Rl(Qe(146,c|0)|0)|0}else{Ce(6,e|0);h[u>>2]=h[s>>2];h[u+4>>2]=t;h[u+8>>2]=i;a=Rl(Qe(146,u|0)|0)|0;Pe(0)}if((n|0)==(a|0)){n=6;break}if((a|0)<0){n=8;break}n=n-a|0;f=h[t+4>>2]|0;if(a>>>0<=f>>>0)if((i|0)==2){h[d>>2]=(h[d>>2]|0)+a;l=f;i=2}else l=f;else{l=h[o>>2]|0;h[d>>2]=l;h[b>>2]=l;l=h[t+12>>2]|0;a=a-f|0;t=t+8|0;i=i+-1|0}h[t>>2]=(h[t>>2]|0)+a;h[t+4>>2]=l-a}if((n|0)==6){c=h[o>>2]|0;h[e+16>>2]=c+(h[e+48>>2]|0);e=c;h[d>>2]=e;h[b>>2]=e}else if((n|0)==8){h[e+16>>2]=0;h[d>>2]=0;h[b>>2]=0;h[e>>2]=h[e>>2]|32;if((i|0)==2)r=0;else r=r-(h[t+4>>2]|0)|0}v=k;return r|0}function Kl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=v;v=v+80|0;t=n;h[e+36>>2]=61;if((h[e>>2]&64|0)==0?(h[t>>2]=h[e+60>>2],h[t+4>>2]=21505,h[t+8>>2]=n+12,(qe(54,t|0)|0)!=0):0)c[e+75>>0]=-1;t=Gl(e,i,r)|0;v=n;return t|0}function Wl(e){e=e|0;var i=0,r=0;i=e+74|0;r=c[i>>0]|0;c[i>>0]=r+255|r;i=e+20|0;r=e+44|0;if((h[i>>2]|0)>>>0>(h[r>>2]|0)>>>0)Ro[h[e+36>>2]&63](e,0,0)|0;h[e+16>>2]=0;h[e+28>>2]=0;h[i>>2]=0;i=h[e>>2]|0;if(i&20)if(!(i&4))i=-1;else{h[e>>2]=i|32;i=-1}else{i=h[r>>2]|0;h[e+8>>2]=i;h[e+4>>2]=i;i=0}return i|0}function Jl(e){e=e|0;var i=0,r=0;i=e+74|0;r=c[i>>0]|0;c[i>>0]=r+255|r;i=h[e>>2]|0;if(!(i&8)){h[e+8>>2]=0;h[e+4>>2]=0;i=h[e+44>>2]|0;h[e+28>>2]=i;h[e+20>>2]=i;h[e+16>>2]=i+(h[e+48>>2]|0);i=0}else{h[e>>2]=i|32;i=-1}return i|0}function Zl(e){e=e|0;var i=0,r=0,t=0;t=(h[e>>2]&1|0)!=0;if(!t){Ve(2688);r=h[e+52>>2]|0;i=e+56|0;if(r)h[r+56>>2]=h[i>>2];i=h[i>>2]|0;if(i)h[i+52>>2]=r;if((h[671]|0)==(e|0))h[671]=i;Xe(2688)}i=Ql(e)|0;i=Io[h[e+12>>2]&15](e)|0|i;r=h[e+92>>2]|0;if(r)Ds(r);if(!t)Ds(e);return i|0}function Ql(e){e=e|0;var i=0,r=0;do{if(e){if((h[e+76>>2]|0)<=-1){i=Ts(e)|0;break}r=(Hl(e)|0)==0;i=Ts(e)|0;if(!r)Yl(e)}else{if(!(h[677]|0))i=0;else i=Ql(h[677]|0)|0;Ve(2688);e=h[671]|0;if(e)do{if((h[e+76>>2]|0)>-1)r=Hl(e)|0;else r=0;if((h[e+20>>2]|0)>>>0>(h[e+28>>2]|0)>>>0)i=Ts(e)|0|i;if(r)Yl(e);e=h[e+56>>2]|0}while((e|0)!=0);Xe(2688)}}while(0);return i|0}function $l(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;n=v;v=v+32|0;t=n+16|0;r=n;if(ms(24090,c[i>>0]|0,4)|0){f=jl(i)|0|32768;h[r>>2]=e;h[r+4>>2]=f;h[r+8>>2]=438;r=Rl(Ke(5,r|0)|0)|0;if((r|0)>=0){e=Ul(r,i)|0;if(!e){h[t>>2]=r;Ge(6,t|0)|0;e=0}}else e=0}else{e=Pl()|0;h[e>>2]=22;e=0}v=n;return e|0}function es(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=v;v=v+16|0;n=t;h[n>>2]=r;r=ks(e,i,n)|0;v=t;return r|0}function is(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;if((h[i+76>>2]|0)>=0?(Hl(i)|0)!=0:0){if((c[i+75>>0]|0)!=(e|0)?(t=i+20|0,n=h[t>>2]|0,n>>>0<(h[i+16>>2]|0)>>>0):0){h[t>>2]=n+1;c[n>>0]=e;r=e&255}else r=ql(i,e)|0;Yl(i)}else a=3;do{if((a|0)==3){if((c[i+75>>0]|0)!=(e|0)?(f=i+20|0,r=h[f>>2]|0,r>>>0<(h[i+16>>2]|0)>>>0):0){h[f>>2]=r+1;c[r>>0]=e;r=e&255;break}r=ql(i,e)|0}}while(0);return r|0}function rs(e,i){e=e|0;i=i|0;return(cs(e,Es(e)|0,1,i)|0)+-1|0}function ts(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;l=ue(r,i)|0;if((h[t+76>>2]|0)>-1)s=Hl(t)|0;else s=0;n=t+74|0;f=c[n>>0]|0;c[n>>0]=f+255|f;n=t+4|0;f=h[n>>2]|0;a=(h[t+8>>2]|0)-f|0;if((a|0)>0){a=a>>>0>>0?a:l;Gs(e|0,f|0,a|0)|0;h[n>>2]=f+a;e=e+a|0;n=l-a|0}else n=l;e:do{if(!n)o=13;else{a=t+32|0;f=n;while(1){if(Wl(t)|0){r=f;break}n=Ro[h[a>>2]&63](t,e,f)|0;if((n+1|0)>>>0<2){r=f;break}if((f|0)==(n|0)){o=13;break e}else{e=e+n|0;f=f-n|0}}if(s)Yl(t);r=((l-r|0)>>>0)/(i>>>0)|0}}while(0);if((o|0)==13)if(s)Yl(t);return r|0}function ns(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if((r|0)==1)i=i-(h[e+8>>2]|0)+(h[e+4>>2]|0)|0;n=e+20|0;t=e+28|0;if((h[n>>2]|0)>>>0>(h[t>>2]|0)>>>0?(Ro[h[e+36>>2]&63](e,0,0)|0,(h[n>>2]|0)==0):0)i=-1;else{h[e+16>>2]=0;h[t>>2]=0;h[n>>2]=0;if((Ro[h[e+40>>2]&63](e,i,r)|0)<0)i=-1;else{h[e+8>>2]=0;h[e+4>>2]=0;h[e>>2]=h[e>>2]&-17;i=0}}return i|0}function fs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((h[e+76>>2]|0)>-1){t=(Hl(e)|0)==0;i=ns(e,i,r)|0;if(!t)Yl(e)}else i=ns(e,i,r)|0;return i|0}function as(e,i,r){e=e|0;i=i|0;r=r|0;return fs(e,i,r)|0}function ls(e){e=e|0;var i=0;if(!(h[e>>2]&128))i=1;else i=(h[e+20>>2]|0)>>>0>(h[e+28>>2]|0)>>>0?2:1;i=Ro[h[e+40>>2]&63](e,0,i)|0;if((i|0)>=0)i=i-(h[e+8>>2]|0)+(h[e+4>>2]|0)+(h[e+20>>2]|0)-(h[e+28>>2]|0)|0;return i|0}function ss(e){e=e|0;var i=0;if((h[e+76>>2]|0)>-1){i=(Hl(e)|0)==0;e=ls(e)|0}else e=ls(e)|0;return e|0}function os(e){e=e|0;return ss(e)|0}function us(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=r+16|0;n=h[t>>2]|0;if(!n)if(!(Jl(r)|0)){n=h[t>>2]|0;f=4}else t=0;else f=4;e:do{if((f|0)==4){a=r+20|0;f=h[a>>2]|0;if((n-f|0)>>>0>>0){t=Ro[h[r+36>>2]&63](r,e,i)|0;break}i:do{if((c[r+75>>0]|0)>-1){t=i;while(1){if(!t){n=f;t=0;break i}n=t+-1|0;if((c[e+n>>0]|0)==10)break;else t=n}if((Ro[h[r+36>>2]&63](r,e,t)|0)>>>0>>0)break e;i=i-t|0;e=e+t|0;n=h[a>>2]|0}else{n=f;t=0}}while(0);Gs(n|0,e|0,i|0)|0;h[a>>2]=(h[a>>2]|0)+i;t=t+i|0}}while(0);return t|0}function cs(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=ue(r,i)|0;if((h[t+76>>2]|0)>-1){f=(Hl(t)|0)==0;e=us(e,n,t)|0;if(!f)Yl(t)}else e=us(e,n,t)|0;if((e|0)!=(n|0))r=(e>>>0)/(i>>>0)|0;return r|0}function ds(e,i){e=e|0;i=i|0;var r=0,t=0;r=v;v=v+16|0;t=r;h[t>>2]=i;i=ks(h[676]|0,e,t)|0;v=r;return i|0}function hs(e){e=e|0;var i=0,r=0,t=0,n=0;t=h[676]|0;if((h[t+76>>2]|0)>-1)n=Hl(t)|0;else n=0;do{if((rs(e,t)|0)<0)i=1;else{if((c[t+75>>0]|0)!=10?(i=t+20|0,r=h[i>>2]|0,r>>>0<(h[t+16>>2]|0)>>>0):0){h[i>>2]=r+1;c[r>>0]=10;i=0;break}i=(ql(t,10)|0)<0}}while(0);if(n)Yl(t);return i<<31>>31|0}function bs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=v;v=v+16|0;n=t;h[n>>2]=r;r=_s(e,i,n)|0;v=t;return r|0}function ks(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0;_=v;v=v+224|0;d=_+80|0;w=_+96|0;k=_;b=_+136|0;t=w;n=t+40|0;do{h[t>>2]=0;t=t+4|0}while((t|0)<(n|0));h[d>>2]=h[r>>2];if((Ss(0,i,d,k,w)|0)<0)r=-1;else{if((h[e+76>>2]|0)>-1)o=Hl(e)|0;else o=0;r=h[e>>2]|0;u=r&32;if((c[e+74>>0]|0)<1)h[e>>2]=r&-33;r=e+48|0;if(!(h[r>>2]|0)){n=e+44|0;f=h[n>>2]|0;h[n>>2]=b;a=e+28|0;h[a>>2]=b;l=e+20|0;h[l>>2]=b;h[r>>2]=80;s=e+16|0;h[s>>2]=b+80;t=Ss(e,i,d,k,w)|0;if(f){Ro[h[e+36>>2]&63](e,0,0)|0;t=(h[l>>2]|0)==0?-1:t;h[n>>2]=f;h[r>>2]=0;h[s>>2]=0;h[a>>2]=0;h[l>>2]=0}}else t=Ss(e,i,d,k,w)|0;r=h[e>>2]|0;h[e>>2]=r|u;if(o)Yl(e);r=(r&32|0)==0?t:-1}v=_;return r|0}function ws(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0,u=0;u=v;v=v+128|0;n=u+112|0;o=u;f=o;a=2716;l=f+112|0;do{h[f>>2]=h[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(l|0));if((i+-1|0)>>>0>2147483646)if(!i){i=1;s=4}else{i=Pl()|0;h[i>>2]=75;i=-1}else{n=e;s=4}if((s|0)==4){s=-2-n|0;s=i>>>0>s>>>0?s:i;h[o+48>>2]=s;e=o+20|0;h[e>>2]=n;h[o+44>>2]=n;i=n+s|0;n=o+16|0;h[n>>2]=i;h[o+28>>2]=i;i=ks(o,r,t)|0;if(s){r=h[e>>2]|0;c[r+(((r|0)==(h[n>>2]|0))<<31>>31)>>0]=0}}v=u;return i|0}function _s(e,i,r){e=e|0;i=i|0;r=r|0;return ws(e,2147483647,i,r)|0}function ms(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;f=i&255;t=(r|0)!=0;e:do{if(t&(e&3|0)!=0){n=i&255;while(1){if((c[e>>0]|0)==n<<24>>24){a=6;break e}e=e+1|0;r=r+-1|0;t=(r|0)!=0;if(!(t&(e&3|0)!=0)){a=5;break}}}else a=5}while(0);if((a|0)==5)if(t)a=6;else r=0;e:do{if((a|0)==6){n=i&255;if((c[e>>0]|0)!=n<<24>>24){t=ue(f,16843009)|0;i:do{if(r>>>0>3)while(1){f=h[e>>2]^t;if((f&-2139062144^-2139062144)&f+-16843009)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){a=11;break i}}else a=11}while(0);if((a|0)==11)if(!r){r=0;break}while(1){if((c[e>>0]|0)==n<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}}while(0);return((r|0)!=0?e:0)|0}function ps(e,i){e=e|0;i=i|0;var r=0,t=0;r=i;e:do{if(!((r^e)&3)){if(r&3)do{r=c[i>>0]|0;c[e>>0]=r;if(!(r<<24>>24))break e;i=i+1|0;e=e+1|0}while((i&3|0)!=0);r=h[i>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){t=e;while(1){i=i+4|0;e=t+4|0;h[t>>2]=r;r=h[i>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009)break;else t=e}}t=8}else t=8}while(0);if((t|0)==8){t=c[i>>0]|0;c[e>>0]=t;if(t<<24>>24)do{i=i+1|0;e=e+1|0;t=c[i>>0]|0;c[e>>0]=t}while(t<<24>>24!=0)}return e|0}function vs(e,i){e=e|0;i=i|0;e=gs(e,i)|0;return((c[e>>0]|0)==(i&255)<<24>>24?e:0)|0}function gs(e,i){e=e|0;i=i|0;var r=0,t=0,n=0;t=i&255;e:do{if(!t)e=e+(Es(e)|0)|0;else{if(e&3){r=i&255;do{n=c[e>>0]|0;if(n<<24>>24==0?1:n<<24>>24==r<<24>>24)break e;e=e+1|0}while((e&3|0)!=0)}t=ue(t,16843009)|0;r=h[e>>2]|0;i:do{if(!((r&-2139062144^-2139062144)&r+-16843009))do{n=r^t;if((n&-2139062144^-2139062144)&n+-16843009)break i;e=e+4|0;r=h[e>>2]|0}while(((r&-2139062144^-2139062144)&r+-16843009|0)==0)}while(0);r=i&255;while(1){n=c[e>>0]|0;if(n<<24>>24==0?1:n<<24>>24==r<<24>>24)break;else e=e+1|0}}}while(0);return e|0}function ys(e,i){e=e|0;i=i|0;ps(e,i)|0;return e|0}function Es(e){e=e|0;var i=0,r=0,t=0;t=e;e:do{if(!(t&3))r=4;else{i=e;e=t;while(1){if(!(c[i>>0]|0))break e;i=i+1|0;e=i;if(!(e&3)){e=i;r=4;break}}}}while(0);if((r|0)==4){while(1){i=h[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009))e=e+4|0;else break}if((i&255)<<24>>24)do{e=e+1|0}while((c[e>>0]|0)!=0)}return e-t|0}function As(e){e=e|0;if(!(h[e+68>>2]|0))Yl(e);return}function Ms(e){e=e|0;if(!(h[e+68>>2]|0))Yl(e);return}function Ts(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0;i=e+20|0;f=e+28|0;if((h[i>>2]|0)>>>0>(h[f>>2]|0)>>>0?(Ro[h[e+36>>2]&63](e,0,0)|0,(h[i>>2]|0)==0):0)i=-1;else{a=e+4|0;r=h[a>>2]|0;t=e+8|0;n=h[t>>2]|0;if(r>>>0>>0)Ro[h[e+40>>2]&63](e,r-n|0,1)|0;h[e+16>>2]=0;h[f>>2]=0;h[i>>2]=0;h[t>>2]=0;h[a>>2]=0;i=0}return i|0}function Ss(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0.0,u=0,k=0,w=0,_=0,p=0.0,g=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,H=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0;ae=v;v=v+624|0;ie=ae+24|0;te=ae+16|0;re=ae+588|0;J=ae+576|0;ee=ae;G=ae+536|0;fe=ae+8|0;ne=ae+528|0;N=(e|0)!=0;F=G+40|0;V=F;G=G+39|0;K=fe+4|0;W=J+12|0;J=J+11|0;Z=re;Q=W;$=Q-Z|0;U=-2-Z|0;H=Q+2|0;Y=ie+288|0;q=re+9|0;X=q;z=re+8|0;f=0;g=i;a=0;i=0;e:while(1){do{if((f|0)>-1)if((a|0)>(2147483647-f|0)){f=Pl()|0;h[f>>2]=75;f=-1;break}else{f=a+f|0;break}}while(0);a=c[g>>0]|0;if(!(a<<24>>24)){B=245;break}else l=g;i:while(1){switch(a<<24>>24){case 37:{a=l;B=9;break i}case 0:{a=l;break i}default:{}}I=l+1|0;a=c[I>>0]|0;l=I}i:do{if((B|0)==9)while(1){B=0;if((c[a+1>>0]|0)!=37)break i;l=l+1|0;a=a+2|0;if((c[a>>0]|0)==37)B=9;else break}}while(0);A=l-g|0;if(N?(h[e>>2]&32|0)==0:0)us(g,A,e)|0;if((l|0)!=(g|0)){g=a;a=A;continue}u=a+1|0;l=c[u>>0]|0;s=(l<<24>>24)+-48|0;if(s>>>0<10){I=(c[a+2>>0]|0)==36;u=I?a+3|0:u;l=c[u>>0]|0;_=I?s:-1;i=I?1:i}else _=-1;a=l<<24>>24;i:do{if((a&-32|0)==32){s=0;while(1){if(!(1<>24)+-32|s;u=u+1|0;l=c[u>>0]|0;a=l<<24>>24;if((a&-32|0)!=32){k=s;a=u;break}}}else{k=0;a=u}}while(0);do{if(l<<24>>24==42){s=a+1|0;l=(c[s>>0]|0)+-48|0;if(l>>>0<10?(c[a+2>>0]|0)==36:0){h[n+(l<<2)>>2]=10;i=1;a=a+3|0;l=h[t+((c[s>>0]|0)+-48<<3)>>2]|0}else{if(i){f=-1;break e}if(!N){E=k;a=s;i=0;I=0;break}i=(h[r>>2]|0)+(4-1)&~(4-1);l=h[i>>2]|0;h[r>>2]=i+4;i=0;a=s}if((l|0)<0){E=k|8192;I=0-l|0}else{E=k;I=l}}else{s=(l<<24>>24)+-48|0;if(s>>>0<10){l=0;do{l=(l*10|0)+s|0;a=a+1|0;s=(c[a>>0]|0)+-48|0}while(s>>>0<10);if((l|0)<0){f=-1;break e}else{E=k;I=l}}else{E=k;I=0}}}while(0);i:do{if((c[a>>0]|0)==46){s=a+1|0;l=c[s>>0]|0;if(l<<24>>24!=42){u=(l<<24>>24)+-48|0;if(u>>>0<10){a=s;l=0}else{a=s;u=0;break}while(1){l=(l*10|0)+u|0;a=a+1|0;u=(c[a>>0]|0)+-48|0;if(u>>>0>=10){u=l;break i}}}s=a+2|0;l=(c[s>>0]|0)+-48|0;if(l>>>0<10?(c[a+3>>0]|0)==36:0){h[n+(l<<2)>>2]=10;a=a+4|0;u=h[t+((c[s>>0]|0)+-48<<3)>>2]|0;break}if(i){f=-1;break e}if(N){a=(h[r>>2]|0)+(4-1)&~(4-1);u=h[a>>2]|0;h[r>>2]=a+4;a=s}else{a=s;u=0}}else u=-1}while(0);w=0;while(1){l=(c[a>>0]|0)+-65|0;if(l>>>0>57){f=-1;break e}s=a+1|0;l=c[25126+(w*58|0)+l>>0]|0;k=l&255;if((k+-1|0)>>>0<8){a=s;w=k}else{x=s;break}}if(!(l<<24>>24)){f=-1;break}s=(_|0)>-1;do{if(l<<24>>24==19)if(s){f=-1;break e}else B=52;else{if(s){h[n+(_<<2)>>2]=k;C=t+(_<<3)|0;D=h[C+4>>2]|0;B=ee;h[B>>2]=h[C>>2];h[B+4>>2]=D;B=52;break}if(!N){f=0;break e}Os(ee,k,r)}}while(0);if((B|0)==52?(B=0,!N):0){g=x;a=A;continue}_=c[a>>0]|0;_=(w|0)!=0&(_&15|0)==3?_&-33:_;s=E&-65537;D=(E&8192|0)==0?E:s;i:do{switch(_|0){case 110:switch(w|0){case 0:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 1:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 2:{g=h[ee>>2]|0;h[g>>2]=f;h[g+4>>2]=((f|0)<0)<<31>>31;g=x;a=A;continue e}case 3:{d[h[ee>>2]>>1]=f;g=x;a=A;continue e}case 4:{c[h[ee>>2]>>0]=f;g=x;a=A;continue e}case 6:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 7:{g=h[ee>>2]|0;h[g>>2]=f;h[g+4>>2]=((f|0)<0)<<31>>31;g=x;a=A;continue e}default:{g=x;a=A;continue e}}case 112:{w=D|8;u=u>>>0>8?u:8;_=120;B=64;break}case 88:case 120:{w=D;B=64;break}case 111:{s=ee;l=h[s>>2]|0;s=h[s+4>>2]|0;if((l|0)==0&(s|0)==0)a=F;else{a=F;do{a=a+-1|0;c[a>>0]=l&7|48;l=Vs(l|0,s|0,3)|0;s=j}while(!((l|0)==0&(s|0)==0))}if(!(D&8)){l=D;w=0;k=25606;B=77}else{w=V-a+1|0;l=D;u=(u|0)<(w|0)?w:u;w=0;k=25606;B=77}break}case 105:case 100:{l=ee;a=h[l>>2]|0;l=h[l+4>>2]|0;if((l|0)<0){a=Hs(0,0,a|0,l|0)|0;l=j;s=ee;h[s>>2]=a;h[s+4>>2]=l;s=1;k=25606;B=76;break i}if(!(D&2048)){k=D&1;s=k;k=(k|0)==0?25606:25608;B=76}else{s=1;k=25607;B=76}break}case 117:{l=ee;a=h[l>>2]|0;l=h[l+4>>2]|0;s=0;k=25606;B=76;break}case 99:{c[G>>0]=h[ee>>2];g=G;l=1;w=0;_=25606;a=F;break}case 109:{a=Pl()|0;a=Ol(h[a>>2]|0)|0;B=82;break}case 115:{a=h[ee>>2]|0;a=(a|0)!=0?a:25616;B=82;break}case 67:{h[fe>>2]=h[ee>>2];h[K>>2]=0;h[ee>>2]=fe;u=-1;B=86;break}case 83:{if(!u){Ls(e,32,I,0,D);a=0;B=98}else B=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=+m[ee>>3];h[te>>2]=0;m[y>>3]=o;if((h[y+4>>2]|0)>=0)if(!(D&2048)){C=D&1;L=C;C=(C|0)==0?25624:25629}else{L=1;C=25626}else{o=-o;L=1;C=25623}m[y>>3]=o;R=h[y+4>>2]&2146435072;do{if(R>>>0<2146435072|(R|0)==2146435072&0<0){p=+Cl(o,te)*2.0;l=p!=0.0;if(l)h[te>>2]=(h[te>>2]|0)+-1;P=_|32;if((P|0)==97){g=_&32;A=(g|0)==0?C:C+9|0;E=L|2;a=12-u|0;do{if(!(u>>>0>11|(a|0)==0)){o=8.0;do{a=a+-1|0;o=o*16.0}while((a|0)!=0);if((c[A>>0]|0)==45){o=-(o+(-p-o));break}else{o=p+o-o;break}}else o=p}while(0);l=h[te>>2]|0;a=(l|0)<0?0-l|0:l;a=Rs(a,((a|0)<0)<<31>>31,W)|0;if((a|0)==(W|0)){c[J>>0]=48;a=J}c[a+-1>>0]=(l>>31&2)+43;w=a+-2|0;c[w>>0]=_+15;k=(u|0)<1;s=(D&8|0)==0;l=re;while(1){C=~~o;a=l+1|0;c[l>>0]=b[25590+C>>0]|g;o=(o-+(C|0))*16.0;do{if((a-Z|0)==1){if(s&(k&o==0.0))break;c[a>>0]=46;a=l+2|0}}while(0);if(!(o!=0.0))break;else l=a}u=(u|0)!=0&(U+a|0)<(u|0)?H+u-w|0:$-w+a|0;s=u+E|0;Ls(e,32,I,s,D);if(!(h[e>>2]&32))us(A,E,e)|0;Ls(e,48,I,s,D^65536);a=a-Z|0;if(!(h[e>>2]&32))us(re,a,e)|0;l=Q-w|0;Ls(e,48,u-(a+l)|0,0,0);if(!(h[e>>2]&32))us(w,l,e)|0;Ls(e,32,I,s,D^8192);a=(s|0)<(I|0)?I:s;break}a=(u|0)<0?6:u;if(l){l=(h[te>>2]|0)+-28|0;h[te>>2]=l;o=p*268435456.0}else{o=p;l=h[te>>2]|0}R=(l|0)<0?ie:Y;O=R;l=R;do{S=~~o>>>0;h[l>>2]=S;l=l+4|0;o=(o-+(S>>>0))*1.0e9}while(o!=0.0);s=l;l=h[te>>2]|0;if((l|0)>0){k=R;while(1){w=(l|0)>29?29:l;u=s+-4|0;do{if(u>>>0>>0)u=k;else{l=0;do{S=Xs(h[u>>2]|0,0,w|0)|0;S=zs(S|0,j|0,l|0,0)|0;l=j;T=eo(S|0,l|0,1e9,0)|0;h[u>>2]=T;l=$s(S|0,l|0,1e9,0)|0;u=u+-4|0}while(u>>>0>=k>>>0);if(!l){u=k;break}u=k+-4|0;h[u>>2]=l}}while(0);while(1){if(s>>>0<=u>>>0)break;l=s+-4|0;if(!(h[l>>2]|0))s=l;else break}l=(h[te>>2]|0)-w|0;h[te>>2]=l;if((l|0)>0)k=u;else break}}else u=R;if((l|0)<0){A=((a+25|0)/9|0)+1|0;M=(P|0)==102;g=u;while(1){E=0-l|0;E=(E|0)>9?9:E;do{if(g>>>0>>0){l=(1<>>E;u=0;w=g;do{S=h[w>>2]|0;h[w>>2]=(S>>>E)+u;u=ue(S&l,k)|0;w=w+4|0}while(w>>>0>>0);l=(h[g>>2]|0)==0?g+4|0:g;if(!u){u=l;break}h[s>>2]=u;u=l;s=s+4|0}else u=(h[g>>2]|0)==0?g+4|0:g}while(0);l=M?R:u;s=(s-l>>2|0)>(A|0)?l+(A<<2)|0:s;l=(h[te>>2]|0)+E|0;h[te>>2]=l;if((l|0)>=0){g=u;break}else g=u}}else g=u;do{if(g>>>0>>0){l=(O-g>>2)*9|0;k=h[g>>2]|0;if(k>>>0<10)break;else u=10;do{u=u*10|0;l=l+1|0}while(k>>>0>=u>>>0)}else l=0}while(0);T=(P|0)==103;S=(a|0)!=0;u=a-((P|0)!=102?l:0)+((S&T)<<31>>31)|0;if((u|0)<(((s-O>>2)*9|0)+-9|0)){w=u+9216|0;M=(w|0)/9|0;u=R+(M+-1023<<2)|0;w=((w|0)%9|0)+1|0;if((w|0)<9){k=10;do{k=k*10|0;w=w+1|0}while((w|0)!=9)}else k=10;E=h[u>>2]|0;A=(E>>>0)%(k>>>0)|0;if((A|0)==0?(R+(M+-1022<<2)|0)==(s|0):0)k=g;else B=163;do{if((B|0)==163){B=0;p=(((E>>>0)/(k>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;w=(k|0)/2|0;do{if(A>>>0>>0)o=.5;else{if((A|0)==(w|0)?(R+(M+-1022<<2)|0)==(s|0):0){o=1.0;break}o=1.5}}while(0);do{if(L){if((c[C>>0]|0)!=45)break;p=-p;o=-o}}while(0);w=E-A|0;h[u>>2]=w;if(!(p+o!=p)){k=g;break}P=w+k|0;h[u>>2]=P;if(P>>>0>999999999){l=g;while(1){k=u+-4|0;h[u>>2]=0;if(k>>>0>>0){l=l+-4|0;h[l>>2]=0}P=(h[k>>2]|0)+1|0;h[k>>2]=P;if(P>>>0>999999999)u=k;else{g=l;u=k;break}}}l=(O-g>>2)*9|0;w=h[g>>2]|0;if(w>>>0<10){k=g;break}else k=10;do{k=k*10|0;l=l+1|0}while(w>>>0>=k>>>0);k=g}}while(0);P=u+4|0;g=k;s=s>>>0>P>>>0?P:s}A=0-l|0;while(1){if(s>>>0<=g>>>0){M=0;P=s;break}u=s+-4|0;if(!(h[u>>2]|0))s=u;else{M=1;P=s;break}}do{if(T){a=(S&1^1)+a|0;if((a|0)>(l|0)&(l|0)>-5){_=_+-1|0;a=a+-1-l|0}else{_=_+-2|0;a=a+-1|0}s=D&8;if(s)break;do{if(M){s=h[P+-4>>2]|0;if(!s){u=9;break}if(!((s>>>0)%10|0)){k=10;u=0}else{u=0;break}do{k=k*10|0;u=u+1|0}while(((s>>>0)%(k>>>0)|0|0)==0)}else u=9}while(0);s=((P-O>>2)*9|0)+-9|0;if((_|32|0)==102){s=s-u|0;s=(s|0)<0?0:s;a=(a|0)<(s|0)?a:s;s=0;break}else{s=s+l-u|0;s=(s|0)<0?0:s;a=(a|0)<(s|0)?a:s;s=0;break}}else s=D&8}while(0);E=a|s;k=(E|0)!=0&1;w=(_|32|0)==102;if(w){l=(l|0)>0?l:0;_=0}else{u=(l|0)<0?A:l;u=Rs(u,((u|0)<0)<<31>>31,W)|0;if((Q-u|0)<2)do{u=u+-1|0;c[u>>0]=48}while((Q-u|0)<2);c[u+-1>>0]=(l>>31&2)+43;O=u+-2|0;c[O>>0]=_;l=Q-O|0;_=O}A=L+1+a+k+l|0;Ls(e,32,I,A,D);if(!(h[e>>2]&32))us(C,L,e)|0;Ls(e,48,I,A,D^65536);do{if(w){u=g>>>0>R>>>0?R:g;l=u;do{s=Rs(h[l>>2]|0,0,q)|0;do{if((l|0)==(u|0)){if((s|0)!=(q|0))break;c[z>>0]=48;s=z}else{if(s>>>0<=re>>>0)break;do{s=s+-1|0;c[s>>0]=48}while(s>>>0>re>>>0)}}while(0);if(!(h[e>>2]&32))us(s,X-s|0,e)|0;l=l+4|0}while(l>>>0<=R>>>0);do{if(E){if(h[e>>2]&32)break;us(25658,1,e)|0}}while(0);if((a|0)>0&l>>>0

>>0){s=l;while(1){l=Rs(h[s>>2]|0,0,q)|0;if(l>>>0>re>>>0)do{l=l+-1|0;c[l>>0]=48}while(l>>>0>re>>>0);if(!(h[e>>2]&32))us(l,(a|0)>9?9:a,e)|0;s=s+4|0;l=a+-9|0;if(!((a|0)>9&s>>>0

>>0)){a=l;break}else a=l}}Ls(e,48,a+9|0,9,0)}else{w=M?P:g+4|0;if((a|0)>-1){k=(s|0)==0;u=g;do{l=Rs(h[u>>2]|0,0,q)|0;if((l|0)==(q|0)){c[z>>0]=48;l=z}do{if((u|0)==(g|0)){s=l+1|0;if(!(h[e>>2]&32))us(l,1,e)|0;if(k&(a|0)<1){l=s;break}if(h[e>>2]&32){l=s;break}us(25658,1,e)|0;l=s}else{if(l>>>0<=re>>>0)break;do{l=l+-1|0;c[l>>0]=48}while(l>>>0>re>>>0)}}while(0);s=X-l|0;if(!(h[e>>2]&32))us(l,(a|0)>(s|0)?s:a,e)|0;a=a-s|0;u=u+4|0}while(u>>>0>>0&(a|0)>-1)}Ls(e,48,a+18|0,18,0);if(h[e>>2]&32)break;us(_,Q-_|0,e)|0}}while(0);Ls(e,32,I,A,D^8192);a=(A|0)<(I|0)?I:A}else{w=(_&32|0)!=0;k=o!=o|0.0!=0.0;l=k?0:L;u=l+3|0;Ls(e,32,I,u,s);a=h[e>>2]|0;if(!(a&32)){us(C,l,e)|0;a=h[e>>2]|0}if(!(a&32))us(k?w?25650:25654:w?25642:25646,3,e)|0;Ls(e,32,I,u,D^8192);a=(u|0)<(I|0)?I:u}}while(0);g=x;continue e}default:{s=D;l=u;w=0;_=25606;a=F}}}while(0);i:do{if((B|0)==64){s=ee;l=h[s>>2]|0;s=h[s+4>>2]|0;k=_&32;if(!((l|0)==0&(s|0)==0)){a=F;do{a=a+-1|0;c[a>>0]=b[25590+(l&15)>>0]|k;l=Vs(l|0,s|0,4)|0;s=j}while(!((l|0)==0&(s|0)==0));B=ee;if((w&8|0)==0|(h[B>>2]|0)==0&(h[B+4>>2]|0)==0){l=w;w=0;k=25606;B=77}else{l=w;w=2;k=25606+(_>>4)|0;B=77}}else{a=F;l=w;w=0;k=25606;B=77}}else if((B|0)==76){a=Rs(a,l,F)|0;l=D;w=s;B=77}else if((B|0)==82){B=0;D=ms(a,0,u)|0;C=(D|0)==0;g=a;l=C?u:D-a|0;w=0;_=25606;a=C?a+u|0:D}else if((B|0)==86){B=0;l=0;a=0;k=h[ee>>2]|0;while(1){s=h[k>>2]|0;if(!s)break;a=Fl(ne,s)|0;if((a|0)<0|a>>>0>(u-l|0)>>>0)break;l=a+l|0;if(u>>>0>l>>>0)k=k+4|0;else break}if((a|0)<0){f=-1;break e}Ls(e,32,I,l,D);if(!l){a=0;B=98}else{s=0;u=h[ee>>2]|0;while(1){a=h[u>>2]|0;if(!a){a=l;B=98;break i}a=Fl(ne,a)|0;s=a+s|0;if((s|0)>(l|0)){a=l;B=98;break i}if(!(h[e>>2]&32))us(ne,a,e)|0;if(s>>>0>=l>>>0){a=l;B=98;break}else u=u+4|0}}}}while(0);if((B|0)==98){B=0;Ls(e,32,I,a,D^8192);g=x;a=(I|0)>(a|0)?I:a;continue}if((B|0)==77){B=0;s=(u|0)>-1?l&-65537:l;l=ee;l=(h[l>>2]|0)!=0|(h[l+4>>2]|0)!=0;if((u|0)!=0|l){l=(l&1^1)+(V-a)|0;g=a;l=(u|0)>(l|0)?u:l;_=k;a=F}else{g=F;l=0;_=k;a=F}}k=a-g|0;l=(l|0)<(k|0)?k:l;u=w+l|0;a=(I|0)<(u|0)?u:I;Ls(e,32,a,u,s);if(!(h[e>>2]&32))us(_,w,e)|0;Ls(e,48,a,u,s^65536);Ls(e,48,l,k,0);if(!(h[e>>2]&32))us(g,k,e)|0;Ls(e,32,a,u,s^8192);g=x}e:do{if((B|0)==245)if(!e)if(i){f=1;while(1){i=h[n+(f<<2)>>2]|0;if(!i)break;Os(t+(f<<3)|0,i,r);f=f+1|0;if((f|0)>=10){f=1;break e}}if((f|0)<10)while(1){if(h[n+(f<<2)>>2]|0){f=-1;break e}f=f+1|0;if((f|0)>=10){f=1;break}}else f=1}else f=0}while(0);v=ae;return f|0}function Ps(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=e+20|0;n=h[t>>2]|0;e=(h[e+16>>2]|0)-n|0;e=e>>>0>r>>>0?r:e;Gs(n|0,i|0,e|0)|0;h[t>>2]=(h[t>>2]|0)+e;return r|0}function Os(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0.0;e:do{if(i>>>0<=20)do{switch(i|0){case 9:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;h[e>>2]=i;break e}case 10:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;t=e;h[t>>2]=i;h[t+4>>2]=((i|0)<0)<<31>>31;break e}case 11:{t=(h[r>>2]|0)+(4-1)&~(4-1);i=h[t>>2]|0;h[r>>2]=t+4;t=e;h[t>>2]=i;h[t+4>>2]=0;break e}case 12:{t=(h[r>>2]|0)+(8-1)&~(8-1);i=t;n=h[i>>2]|0;i=h[i+4>>2]|0;h[r>>2]=t+8;t=e;h[t>>2]=n;h[t+4>>2]=i;break e}case 13:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;t=(t&65535)<<16>>16;n=e;h[n>>2]=t;h[n+4>>2]=((t|0)<0)<<31>>31;break e}case 14:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;n=e;h[n>>2]=t&65535;h[n+4>>2]=0;break e}case 15:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;t=(t&255)<<24>>24;n=e;h[n>>2]=t;h[n+4>>2]=((t|0)<0)<<31>>31;break e}case 16:{n=(h[r>>2]|0)+(4-1)&~(4-1);t=h[n>>2]|0;h[r>>2]=n+4;n=e;h[n>>2]=t&255;h[n+4>>2]=0;break e}case 17:{n=(h[r>>2]|0)+(8-1)&~(8-1);f=+m[n>>3];h[r>>2]=n+8;m[e>>3]=f;break e}case 18:{n=(h[r>>2]|0)+(8-1)&~(8-1);f=+m[n>>3];h[r>>2]=n+8;m[e>>3]=f;break e}default:break e}}while(0)}while(0);return}function Rs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if(i>>>0>0|(i|0)==0&e>>>0>4294967295)while(1){t=eo(e|0,i|0,10,0)|0;r=r+-1|0;c[r>>0]=t|48;t=$s(e|0,i|0,10,0)|0;if(i>>>0>9|(i|0)==9&e>>>0>4294967295){e=t;i=j}else{e=t;break}}if(e)while(1){r=r+-1|0;c[r>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return r|0}function Ls(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0;l=v;v=v+256|0;a=l;do{if((r|0)>(t|0)&(n&73728|0)==0){n=r-t|0;qs(a|0,i|0,(n>>>0>256?256:n)|0)|0;i=h[e>>2]|0;f=(i&32|0)==0;if(n>>>0>255){t=r-t|0;do{if(f){us(a,256,e)|0;i=h[e>>2]|0}n=n+-256|0;f=(i&32|0)==0}while(n>>>0>255);if(f)n=t&255;else break}else if(!f)break;us(a,n,e)|0}}while(0);v=l;return}function Cs(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0;do{if(e>>>0<245){b=e>>>0<11?16:e+11&-8;e=b>>>3;l=h[735]|0;r=l>>>e;if(r&3){e=(r&1^1)+e|0;t=e<<1;r=2980+(t<<2)|0;t=2980+(t+2<<2)|0;n=h[t>>2]|0;f=n+8|0;a=h[f>>2]|0;do{if((r|0)!=(a|0)){if(a>>>0<(h[739]|0)>>>0)Le();i=a+12|0;if((h[i>>2]|0)==(n|0)){h[i>>2]=r;h[t>>2]=a;break}else Le()}else h[735]=l&~(1<>2]=F|3;F=n+(F|4)|0;h[F>>2]=h[F>>2]|1;F=f;return F|0}a=h[737]|0;if(b>>>0>a>>>0){if(r){t=2<>>12&16;t=t>>>s;n=t>>>5&8;t=t>>>n;f=t>>>2&4;t=t>>>f;r=t>>>1&2;t=t>>>r;e=t>>>1&1;e=(n|s|f|r|e)+(t>>>e)|0;t=e<<1;r=2980+(t<<2)|0;t=2980+(t+2<<2)|0;f=h[t>>2]|0;s=f+8|0;n=h[s>>2]|0;do{if((r|0)!=(n|0)){if(n>>>0<(h[739]|0)>>>0)Le();i=n+12|0;if((h[i>>2]|0)==(f|0)){h[i>>2]=r;h[t>>2]=n;o=h[737]|0;break}else Le()}else{h[735]=l&~(1<>2]=b|3;l=f+b|0;h[f+(b|4)>>2]=a|1;h[f+F>>2]=a;if(o){n=h[740]|0;r=o>>>3;i=r<<1;t=2980+(i<<2)|0;e=h[735]|0;r=1<>2]|0;if(i>>>0<(h[739]|0)>>>0)Le();else{u=e;c=i}}else{h[735]=e|r;u=2980+(i+2<<2)|0;c=t}h[u>>2]=n;h[c+12>>2]=n;h[n+8>>2]=c;h[n+12>>2]=t}h[737]=a;h[740]=l;F=s;return F|0}e=h[736]|0;if(e){r=(e&0-e)+-1|0;N=r>>>12&16;r=r>>>N;B=r>>>5&8;r=r>>>B;F=r>>>2&4;r=r>>>F;e=r>>>1&2;r=r>>>e;t=r>>>1&1;t=h[3244+((B|N|F|e|t)+(r>>>t)<<2)>>2]|0;r=(h[t+4>>2]&-8)-b|0;e=t;while(1){i=h[e+16>>2]|0;if(!i){i=h[e+20>>2]|0;if(!i){s=r;break}}e=(h[i+4>>2]&-8)-b|0;F=e>>>0>>0;r=F?e:r;e=i;t=F?i:t}f=h[739]|0;if(t>>>0>>0)Le();l=t+b|0;if(t>>>0>=l>>>0)Le();a=h[t+24>>2]|0;r=h[t+12>>2]|0;do{if((r|0)==(t|0)){e=t+20|0;i=h[e>>2]|0;if(!i){e=t+16|0;i=h[e>>2]|0;if(!i){d=0;break}}while(1){r=i+20|0;n=h[r>>2]|0;if(n){i=n;e=r;continue}r=i+16|0;n=h[r>>2]|0;if(!n)break;else{i=n;e=r}}if(e>>>0>>0)Le();else{h[e>>2]=0;d=i;break}}else{n=h[t+8>>2]|0;if(n>>>0>>0)Le();i=n+12|0;if((h[i>>2]|0)!=(t|0))Le();e=r+8|0;if((h[e>>2]|0)==(t|0)){h[i>>2]=r;h[e>>2]=n;d=r;break}else Le()}}while(0);do{if(a){i=h[t+28>>2]|0;e=3244+(i<<2)|0;if((t|0)==(h[e>>2]|0)){h[e>>2]=d;if(!d){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();i=a+16|0;if((h[i>>2]|0)==(t|0))h[i>>2]=d;else h[a+20>>2]=d;if(!d)break}e=h[739]|0;if(d>>>0>>0)Le();h[d+24>>2]=a;i=h[t+16>>2]|0;do{if(i)if(i>>>0>>0)Le();else{h[d+16>>2]=i;h[i+24>>2]=d;break}}while(0);i=h[t+20>>2]|0;if(i)if(i>>>0<(h[739]|0)>>>0)Le();else{h[d+20>>2]=i;h[i+24>>2]=d;break}}}while(0);if(s>>>0<16){F=s+b|0;h[t+4>>2]=F|3;F=t+(F+4)|0;h[F>>2]=h[F>>2]|1}else{h[t+4>>2]=b|3;h[t+(b|4)>>2]=s|1;h[t+(s+b)>>2]=s;i=h[737]|0;if(i){f=h[740]|0;r=i>>>3;i=r<<1;n=2980+(i<<2)|0;e=h[735]|0;r=1<>2]|0;if(e>>>0<(h[739]|0)>>>0)Le();else{k=i;w=e}}else{h[735]=e|r;k=2980+(i+2<<2)|0;w=n}h[k>>2]=f;h[w+12>>2]=f;h[f+8>>2]=w;h[f+12>>2]=n}h[737]=s;h[740]=l}F=t+8|0;return F|0}else w=b}else w=b}else if(e>>>0<=4294967231){e=e+11|0;c=e&-8;u=h[736]|0;if(u){r=0-c|0;e=e>>>8;if(e)if(c>>>0>16777215)o=31;else{w=(e+1048320|0)>>>16&8;g=e<>>16&4;g=g<>>16&2;o=14-(k|w|o)+(g<>>15)|0;o=c>>>(o+7|0)&1|o<<1}else o=0;e=h[3244+(o<<2)>>2]|0;e:do{if(!e){n=0;e=0;g=86}else{a=r;n=0;l=c<<((o|0)==31?0:25-(o>>>1)|0);s=e;e=0;while(1){f=h[s+4>>2]&-8;r=f-c|0;if(r>>>0>>0)if((f|0)==(c|0)){f=s;e=s;g=90;break e}else e=s;else r=a;g=h[s+20>>2]|0;s=h[s+16+(l>>>31<<2)>>2]|0;n=(g|0)==0|(g|0)==(s|0)?n:g;if(!s){g=86;break}else{a=r;l=l<<1}}}}while(0);if((g|0)==86){if((n|0)==0&(e|0)==0){e=2<>>12&16;e=e>>>d;u=e>>>5&8;e=e>>>u;k=e>>>2&4;e=e>>>k;w=e>>>1&2;e=e>>>w;n=e>>>1&1;n=h[3244+((u|d|k|w|n)+(e>>>n)<<2)>>2]|0;e=0}if(!n){l=r;s=e}else{f=n;g=90}}if((g|0)==90)while(1){g=0;w=(h[f+4>>2]&-8)-c|0;n=w>>>0>>0;r=n?w:r;e=n?f:e;n=h[f+16>>2]|0;if(n){f=n;g=90;continue}f=h[f+20>>2]|0;if(!f){l=r;s=e;break}else g=90}if((s|0)!=0?l>>>0<((h[737]|0)-c|0)>>>0:0){n=h[739]|0;if(s>>>0>>0)Le();a=s+c|0;if(s>>>0>=a>>>0)Le();f=h[s+24>>2]|0;r=h[s+12>>2]|0;do{if((r|0)==(s|0)){e=s+20|0;i=h[e>>2]|0;if(!i){e=s+16|0;i=h[e>>2]|0;if(!i){b=0;break}}while(1){r=i+20|0;t=h[r>>2]|0;if(t){i=t;e=r;continue}r=i+16|0;t=h[r>>2]|0;if(!t)break;else{i=t;e=r}}if(e>>>0>>0)Le();else{h[e>>2]=0;b=i;break}}else{t=h[s+8>>2]|0;if(t>>>0>>0)Le();i=t+12|0;if((h[i>>2]|0)!=(s|0))Le();e=r+8|0;if((h[e>>2]|0)==(s|0)){h[i>>2]=r;h[e>>2]=t;b=r;break}else Le()}}while(0);do{if(f){i=h[s+28>>2]|0;e=3244+(i<<2)|0;if((s|0)==(h[e>>2]|0)){h[e>>2]=b;if(!b){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();i=f+16|0;if((h[i>>2]|0)==(s|0))h[i>>2]=b;else h[f+20>>2]=b;if(!b)break}e=h[739]|0;if(b>>>0>>0)Le();h[b+24>>2]=f;i=h[s+16>>2]|0;do{if(i)if(i>>>0>>0)Le();else{h[b+16>>2]=i;h[i+24>>2]=b;break}}while(0);i=h[s+20>>2]|0;if(i)if(i>>>0<(h[739]|0)>>>0)Le();else{h[b+20>>2]=i;h[i+24>>2]=b;break}}}while(0);e:do{if(l>>>0>=16){h[s+4>>2]=c|3;h[s+(c|4)>>2]=l|1;h[s+(l+c)>>2]=l;i=l>>>3;if(l>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=h[735]|0;i=1<>2]|0;if(e>>>0<(h[739]|0)>>>0)Le();else{m=i;p=e}}else{h[735]=r|i;m=2980+(e+2<<2)|0;p=t}h[m>>2]=a;h[p+12>>2]=a;h[s+(c+8)>>2]=p;h[s+(c+12)>>2]=t;break}i=l>>>8;if(i)if(l>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<>>16&4;F=F<>>16&2;t=14-(B|N|t)+(F<>>15)|0;t=l>>>(t+7|0)&1|t<<1}else t=0;i=3244+(t<<2)|0;h[s+(c+28)>>2]=t;h[s+(c+20)>>2]=0;h[s+(c+16)>>2]=0;e=h[736]|0;r=1<>2]=a;h[s+(c+24)>>2]=i;h[s+(c+12)>>2]=a;h[s+(c+8)>>2]=a;break}i=h[i>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(l|0)){t=l<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(l|0)){A=r;break i}else{t=t<<1;i=r}}if(e>>>0<(h[739]|0)>>>0)Le();else{h[e>>2]=a;h[s+(c+24)>>2]=i;h[s+(c+12)>>2]=a;h[s+(c+8)>>2]=a;break e}}else A=i}while(0);i=A+8|0;e=h[i>>2]|0;F=h[739]|0;if(e>>>0>=F>>>0&A>>>0>=F>>>0){h[e+12>>2]=a;h[i>>2]=a;h[s+(c+8)>>2]=e;h[s+(c+12)>>2]=A;h[s+(c+24)>>2]=0;break}else Le()}else{F=l+c|0;h[s+4>>2]=F|3;F=s+(F+4)|0;h[F>>2]=h[F>>2]|1}}while(0);F=s+8|0;return F|0}else w=c}else w=c}else w=-1}while(0);r=h[737]|0;if(r>>>0>=w>>>0){i=r-w|0;e=h[740]|0;if(i>>>0>15){h[740]=e+w;h[737]=i;h[e+(w+4)>>2]=i|1;h[e+r>>2]=i;h[e+4>>2]=w|3}else{h[737]=0;h[740]=0;h[e+4>>2]=r|3;F=e+(r+4)|0;h[F>>2]=h[F>>2]|1}F=e+8|0;return F|0}e=h[738]|0;if(e>>>0>w>>>0){N=e-w|0;h[738]=N;F=h[741]|0;h[741]=F+w;h[F+(w+4)>>2]=N|1;h[F+4>>2]=w|3;F=F+8|0;return F|0}do{if(!(h[853]|0)){e=Ne(30)|0;if(!(e+-1&e)){h[855]=e;h[854]=e;h[856]=-1;h[857]=-1;h[858]=0;h[846]=0;A=(We(0)|0)&-16^1431655768;h[853]=A;break}else Le()}}while(0);s=w+48|0;l=h[855]|0;o=w+47|0;a=l+o|0;l=0-l|0;u=a&l;if(u>>>0<=w>>>0){F=0;return F|0}e=h[845]|0;if((e|0)!=0?(p=h[843]|0,A=p+u|0,A>>>0<=p>>>0|A>>>0>e>>>0):0){F=0;return F|0}e:do{if(!(h[846]&4)){e=h[741]|0;i:do{if(e){n=3388;while(1){r=h[n>>2]|0;if(r>>>0<=e>>>0?(_=n+4|0,(r+(h[_>>2]|0)|0)>>>0>e>>>0):0){f=n;e=_;break}n=h[n+8>>2]|0;if(!n){g=174;break i}}r=a-(h[738]|0)&l;if(r>>>0<2147483647){n=Ie(r|0)|0;A=(n|0)==((h[f>>2]|0)+(h[e>>2]|0)|0);e=A?r:0;if(A){if((n|0)!=(-1|0)){y=n;k=e;g=194;break e}}else g=184}else e=0}else g=174}while(0);do{if((g|0)==174){f=Ie(0)|0;if((f|0)!=(-1|0)){e=f;r=h[854]|0;n=r+-1|0;if(!(n&e))r=u;else r=u-e+(n+e&0-r)|0;e=h[843]|0;n=e+r|0;if(r>>>0>w>>>0&r>>>0<2147483647){A=h[845]|0;if((A|0)!=0?n>>>0<=e>>>0|n>>>0>A>>>0:0){e=0;break}n=Ie(r|0)|0;A=(n|0)==(f|0);e=A?r:0;if(A){y=f;k=e;g=194;break e}else g=184}else e=0}else e=0}}while(0);i:do{if((g|0)==184){f=0-r|0;do{if(s>>>0>r>>>0&(r>>>0<2147483647&(n|0)!=(-1|0))?(v=h[855]|0,v=o-r+v&0-v,v>>>0<2147483647):0)if((Ie(v|0)|0)==(-1|0)){Ie(f|0)|0;break i}else{r=v+r|0;break}}while(0);if((n|0)!=(-1|0)){y=n;k=r;g=194;break e}}}while(0);h[846]=h[846]|4;g=191}else{e=0;g=191}}while(0);if((((g|0)==191?u>>>0<2147483647:0)?(y=Ie(u|0)|0,E=Ie(0)|0,y>>>0>>0&((y|0)!=(-1|0)&(E|0)!=(-1|0))):0)?(M=E-y|0,T=M>>>0>(w+40|0)>>>0,T):0){k=T?M:e;g=194}if((g|0)==194){e=(h[843]|0)+k|0;h[843]=e;if(e>>>0>(h[844]|0)>>>0)h[844]=e;a=h[741]|0;e:do{if(a){f=3388;do{e=h[f>>2]|0;r=f+4|0;n=h[r>>2]|0;if((y|0)==(e+n|0)){S=e;P=r;O=n;R=f;g=204;break}f=h[f+8>>2]|0}while((f|0)!=0);if(((g|0)==204?(h[R+12>>2]&8|0)==0:0)?a>>>0>>0&a>>>0>=S>>>0:0){h[P>>2]=O+k;F=(h[738]|0)+k|0;N=a+8|0;N=(N&7|0)==0?0:0-N&7;B=F-N|0;h[741]=a+N;h[738]=B;h[a+(N+4)>>2]=B|1;h[a+(F+4)>>2]=40;h[742]=h[857];break}e=h[739]|0;if(y>>>0>>0){h[739]=y;e=y}r=y+k|0;f=3388;while(1){if((h[f>>2]|0)==(r|0)){n=f;r=f;g=212;break}f=h[f+8>>2]|0;if(!f){r=3388;break}}if((g|0)==212)if(!(h[r+12>>2]&8)){h[n>>2]=y;d=r+4|0;h[d>>2]=(h[d>>2]|0)+k;d=y+8|0;d=(d&7|0)==0?0:0-d&7;o=y+(k+8)|0;o=(o&7|0)==0?0:0-o&7;i=y+(o+k)|0;c=d+w|0;b=y+c|0;u=i-(y+d)-w|0;h[y+(d+4)>>2]=w|3;i:do{if((i|0)!=(a|0)){if((i|0)==(h[740]|0)){F=(h[737]|0)+u|0;h[737]=F;h[740]=b;h[y+(c+4)>>2]=F|1;h[y+(F+c)>>2]=F;break}l=k+4|0;r=h[y+(l+o)>>2]|0;if((r&3|0)==1){s=r&-8;f=r>>>3;r:do{if(r>>>0>=256){a=h[y+((o|24)+k)>>2]|0;t=h[y+(k+12+o)>>2]|0;do{if((t|0)==(i|0)){n=o|16;t=y+(l+n)|0;r=h[t>>2]|0;if(!r){t=y+(n+k)|0;r=h[t>>2]|0;if(!r){I=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Le();else{h[t>>2]=0;I=r;break}}else{n=h[y+((o|8)+k)>>2]|0;if(n>>>0>>0)Le();e=n+12|0;if((h[e>>2]|0)!=(i|0))Le();r=t+8|0;if((h[r>>2]|0)==(i|0)){h[e>>2]=t;h[r>>2]=n;I=t;break}else Le()}}while(0);if(!a)break;e=h[y+(k+28+o)>>2]|0;r=3244+(e<<2)|0;do{if((i|0)!=(h[r>>2]|0)){if(a>>>0<(h[739]|0)>>>0)Le();e=a+16|0;if((h[e>>2]|0)==(i|0))h[e>>2]=I;else h[a+20>>2]=I;if(!I)break r}else{h[r>>2]=I;if(I)break;h[736]=h[736]&~(1<>>0>>0)Le();h[I+24>>2]=a;i=o|16;e=h[y+(i+k)>>2]|0;do{if(e)if(e>>>0>>0)Le();else{h[I+16>>2]=e;h[e+24>>2]=I;break}}while(0);i=h[y+(l+i)>>2]|0;if(!i)break;if(i>>>0<(h[739]|0)>>>0)Le();else{h[I+20>>2]=i;h[i+24>>2]=I;break}}else{t=h[y+((o|8)+k)>>2]|0;n=h[y+(k+12+o)>>2]|0;r=2980+(f<<1<<2)|0;do{if((t|0)!=(r|0)){if(t>>>0>>0)Le();if((h[t+12>>2]|0)==(i|0))break;Le()}}while(0);if((n|0)==(t|0)){h[735]=h[735]&~(1<>>0>>0)Le();e=n+8|0;if((h[e>>2]|0)==(i|0)){L=e;break}Le()}}while(0);h[t+12>>2]=n;h[L>>2]=t}}while(0);i=y+((s|o)+k)|0;n=s+u|0}else n=u;i=i+4|0;h[i>>2]=h[i>>2]&-2;h[y+(c+4)>>2]=n|1;h[y+(n+c)>>2]=n;i=n>>>3;if(n>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=h[735]|0;i=1<>2]|0;if(e>>>0>=(h[739]|0)>>>0){B=i;N=e;break}Le()}}while(0);h[B>>2]=b;h[N+12>>2]=b;h[y+(c+8)>>2]=N;h[y+(c+12)>>2]=t;break}i=n>>>8;do{if(!i)t=0;else{if(n>>>0>16777215){t=31;break}B=(i+1048320|0)>>>16&8;N=i<>>16&4;N=N<>>16&2;t=14-(I|B|t)+(N<>>15)|0;t=n>>>(t+7|0)&1|t<<1}}while(0);i=3244+(t<<2)|0;h[y+(c+28)>>2]=t;h[y+(c+20)>>2]=0;h[y+(c+16)>>2]=0;e=h[736]|0;r=1<>2]=b;h[y+(c+24)>>2]=i;h[y+(c+12)>>2]=b;h[y+(c+8)>>2]=b;break}i=h[i>>2]|0;r:do{if((h[i+4>>2]&-8|0)!=(n|0)){t=n<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(n|0)){F=r;break r}else{t=t<<1;i=r}}if(e>>>0<(h[739]|0)>>>0)Le();else{h[e>>2]=b;h[y+(c+24)>>2]=i;h[y+(c+12)>>2]=b;h[y+(c+8)>>2]=b;break i}}else F=i}while(0);i=F+8|0;e=h[i>>2]|0;N=h[739]|0;if(e>>>0>=N>>>0&F>>>0>=N>>>0){h[e+12>>2]=b;h[i>>2]=b;h[y+(c+8)>>2]=e;h[y+(c+12)>>2]=F;h[y+(c+24)>>2]=0;break}else Le()}else{F=(h[738]|0)+u|0;h[738]=F;h[741]=b;h[y+(c+4)>>2]=F|1}}while(0);F=y+(d|8)|0;return F|0}else r=3388;while(1){e=h[r>>2]|0;if(e>>>0<=a>>>0?(i=h[r+4>>2]|0,t=e+i|0,t>>>0>a>>>0):0)break;r=h[r+8>>2]|0}n=e+(i+-39)|0;e=e+(i+-47+((n&7|0)==0?0:0-n&7))|0;n=a+16|0;e=e>>>0>>0?a:e;i=e+8|0;r=y+8|0;r=(r&7|0)==0?0:0-r&7;F=k+-40-r|0;h[741]=y+r;h[738]=F;h[y+(r+4)>>2]=F|1;h[y+(k+-36)>>2]=40;h[742]=h[857];r=e+4|0;h[r>>2]=27;h[i>>2]=h[847];h[i+4>>2]=h[848];h[i+8>>2]=h[849];h[i+12>>2]=h[850];h[847]=y;h[848]=k;h[850]=0;h[849]=i;i=e+28|0;h[i>>2]=7;if((e+32|0)>>>0>>0)do{F=i;i=i+4|0;h[i>>2]=7}while((F+8|0)>>>0>>0);if((e|0)!=(a|0)){f=e-a|0;h[r>>2]=h[r>>2]&-2;h[a+4>>2]=f|1;h[e>>2]=f;i=f>>>3;if(f>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=h[735]|0;i=1<>2]|0;if(e>>>0<(h[739]|0)>>>0)Le();else{C=i;D=e}}else{h[735]=r|i;C=2980+(e+2<<2)|0;D=t}h[C>>2]=a;h[D+12>>2]=a;h[a+8>>2]=D;h[a+12>>2]=t;break}i=f>>>8;if(i)if(f>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<>>16&4;F=F<>>16&2;t=14-(B|N|t)+(F<>>15)|0;t=f>>>(t+7|0)&1|t<<1}else t=0;r=3244+(t<<2)|0;h[a+28>>2]=t;h[a+20>>2]=0;h[n>>2]=0;i=h[736]|0;e=1<>2]=a;h[a+24>>2]=r;h[a+12>>2]=a;h[a+8>>2]=a;break}i=h[r>>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(f|0)){t=f<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=h[e>>2]|0;if(!r)break;if((h[r+4>>2]&-8|0)==(f|0)){x=r;break i}else{t=t<<1;i=r}}if(e>>>0<(h[739]|0)>>>0)Le();else{h[e>>2]=a;h[a+24>>2]=i;h[a+12>>2]=a;h[a+8>>2]=a;break e}}else x=i}while(0);i=x+8|0;e=h[i>>2]|0;F=h[739]|0;if(e>>>0>=F>>>0&x>>>0>=F>>>0){h[e+12>>2]=a;h[i>>2]=a;h[a+8>>2]=e;h[a+12>>2]=x;h[a+24>>2]=0;break}else Le()}}else{F=h[739]|0;if((F|0)==0|y>>>0>>0)h[739]=y;h[847]=y;h[848]=k;h[850]=0;h[744]=h[853];h[743]=-1;i=0;do{F=i<<1;N=2980+(F<<2)|0;h[2980+(F+3<<2)>>2]=N;h[2980+(F+2<<2)>>2]=N;i=i+1|0}while((i|0)!=32);F=y+8|0;F=(F&7|0)==0?0:0-F&7;N=k+-40-F|0;h[741]=y+F;h[738]=N;h[y+(F+4)>>2]=N|1;h[y+(k+-36)>>2]=40;h[742]=h[857]}}while(0);i=h[738]|0;if(i>>>0>w>>>0){N=i-w|0;h[738]=N;F=h[741]|0;h[741]=F+w;h[F+(w+4)>>2]=N|1;h[F+4>>2]=w|3;F=F+8|0;return F|0}}F=Pl()|0;h[F>>2]=12;F=0;return F|0}function Ds(e){e=e|0;var i=0,r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,v=0;if(!e)return;i=e+-8|0;l=h[739]|0;if(i>>>0>>0)Le();r=h[e+-4>>2]|0;t=r&3;if((t|0)==1)Le();b=r&-8;w=e+(b+-8)|0;do{if(!(r&1)){i=h[i>>2]|0;if(!t)return;s=-8-i|0;u=e+s|0;c=i+b|0;if(u>>>0>>0)Le();if((u|0)==(h[740]|0)){i=e+(b+-4)|0;r=h[i>>2]|0;if((r&3|0)!=3){v=u;f=c;break}h[737]=c;h[i>>2]=r&-2;h[e+(s+4)>>2]=c|1;h[w>>2]=c;return}n=i>>>3;if(i>>>0<256){t=h[e+(s+8)>>2]|0;r=h[e+(s+12)>>2]|0;i=2980+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0>>0)Le();if((h[t+12>>2]|0)!=(u|0))Le()}if((r|0)==(t|0)){h[735]=h[735]&~(1<>>0>>0)Le();i=r+8|0;if((h[i>>2]|0)==(u|0))a=i;else Le()}else a=r+8|0;h[t+12>>2]=r;h[a>>2]=t;v=u;f=c;break}a=h[e+(s+24)>>2]|0;t=h[e+(s+12)>>2]|0;do{if((t|0)==(u|0)){r=e+(s+20)|0;i=h[r>>2]|0;if(!i){r=e+(s+16)|0;i=h[r>>2]|0;if(!i){o=0;break}}while(1){t=i+20|0;n=h[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=h[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0>>0)Le();else{h[r>>2]=0;o=i;break}}else{n=h[e+(s+8)>>2]|0;if(n>>>0>>0)Le();i=n+12|0;if((h[i>>2]|0)!=(u|0))Le();r=t+8|0;if((h[r>>2]|0)==(u|0)){h[i>>2]=t;h[r>>2]=n;o=t;break}else Le()}}while(0);if(a){i=h[e+(s+28)>>2]|0;r=3244+(i<<2)|0;if((u|0)==(h[r>>2]|0)){h[r>>2]=o;if(!o){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();i=a+16|0;if((h[i>>2]|0)==(u|0))h[i>>2]=o;else h[a+20>>2]=o;if(!o){v=u;f=c;break}}r=h[739]|0;if(o>>>0>>0)Le();h[o+24>>2]=a;i=h[e+(s+16)>>2]|0;do{if(i)if(i>>>0>>0)Le();else{h[o+16>>2]=i;h[i+24>>2]=o;break}}while(0);i=h[e+(s+20)>>2]|0;if(i)if(i>>>0<(h[739]|0)>>>0)Le();else{h[o+20>>2]=i;h[i+24>>2]=o;v=u;f=c;break}else{v=u;f=c}}else{v=u;f=c}}else{v=i;f=b}}while(0);if(v>>>0>=w>>>0)Le();i=e+(b+-4)|0;r=h[i>>2]|0;if(!(r&1))Le();if(!(r&2)){if((w|0)==(h[741]|0)){p=(h[738]|0)+f|0;h[738]=p;h[741]=v;h[v+4>>2]=p|1;if((v|0)!=(h[740]|0))return;h[740]=0;h[737]=0;return}if((w|0)==(h[740]|0)){p=(h[737]|0)+f|0;h[737]=p;h[740]=v;h[v+4>>2]=p|1;h[v+p>>2]=p;return}f=(r&-8)+f|0;n=r>>>3;do{if(r>>>0>=256){a=h[e+(b+16)>>2]|0;i=h[e+(b|4)>>2]|0;do{if((i|0)==(w|0)){r=e+(b+12)|0;i=h[r>>2]|0;if(!i){r=e+(b+8)|0;i=h[r>>2]|0;if(!i){k=0;break}}while(1){t=i+20|0;n=h[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=h[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<(h[739]|0)>>>0)Le();else{h[r>>2]=0;k=i;break}}else{r=h[e+b>>2]|0;if(r>>>0<(h[739]|0)>>>0)Le();t=r+12|0;if((h[t>>2]|0)!=(w|0))Le();n=i+8|0;if((h[n>>2]|0)==(w|0)){h[t>>2]=i;h[n>>2]=r;k=i;break}else Le()}}while(0);if(a){i=h[e+(b+20)>>2]|0;r=3244+(i<<2)|0;if((w|0)==(h[r>>2]|0)){h[r>>2]=k;if(!k){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();i=a+16|0;if((h[i>>2]|0)==(w|0))h[i>>2]=k;else h[a+20>>2]=k;if(!k)break}r=h[739]|0;if(k>>>0>>0)Le();h[k+24>>2]=a;i=h[e+(b+8)>>2]|0;do{if(i)if(i>>>0>>0)Le();else{h[k+16>>2]=i;h[i+24>>2]=k;break}}while(0);i=h[e+(b+12)>>2]|0;if(i)if(i>>>0<(h[739]|0)>>>0)Le();else{h[k+20>>2]=i;h[i+24>>2]=k;break}}}else{t=h[e+b>>2]|0;r=h[e+(b|4)>>2]|0;i=2980+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<(h[739]|0)>>>0)Le();if((h[t+12>>2]|0)!=(w|0))Le()}if((r|0)==(t|0)){h[735]=h[735]&~(1<>>0<(h[739]|0)>>>0)Le();i=r+8|0;if((h[i>>2]|0)==(w|0))d=i;else Le()}else d=r+8|0;h[t+12>>2]=r;h[d>>2]=t}}while(0);h[v+4>>2]=f|1;h[v+f>>2]=f;if((v|0)==(h[740]|0)){h[737]=f;return}}else{h[i>>2]=r&-2;h[v+4>>2]=f|1;h[v+f>>2]=f}i=f>>>3;if(f>>>0<256){r=i<<1;n=2980+(r<<2)|0;t=h[735]|0;i=1<>2]|0;if(r>>>0<(h[739]|0)>>>0)Le();else{_=i;m=r}}else{h[735]=t|i;_=2980+(r+2<<2)|0;m=n}h[_>>2]=v;h[m+12>>2]=v;h[v+8>>2]=m;h[v+12>>2]=n;return}i=f>>>8;if(i)if(f>>>0>16777215)n=31;else{_=(i+1048320|0)>>>16&8;m=i<<_;w=(m+520192|0)>>>16&4;m=m<>>16&2;n=14-(w|_|n)+(m<>>15)|0;n=f>>>(n+7|0)&1|n<<1}else n=0;i=3244+(n<<2)|0;h[v+28>>2]=n;h[v+20>>2]=0;h[v+16>>2]=0;r=h[736]|0;t=1<>2]|0;i:do{if((h[i+4>>2]&-8|0)!=(f|0)){n=f<<((n|0)==31?0:25-(n>>>1)|0);while(1){r=i+16+(n>>>31<<2)|0;t=h[r>>2]|0;if(!t)break;if((h[t+4>>2]&-8|0)==(f|0)){p=t;break i}else{n=n<<1;i=t}}if(r>>>0<(h[739]|0)>>>0)Le();else{h[r>>2]=v;h[v+24>>2]=i;h[v+12>>2]=v;h[v+8>>2]=v;break e}}else p=i}while(0);i=p+8|0;r=h[i>>2]|0;m=h[739]|0;if(r>>>0>=m>>>0&p>>>0>=m>>>0){h[r+12>>2]=v;h[i>>2]=v;h[v+8>>2]=r;h[v+12>>2]=p;h[v+24>>2]=0;break}else Le()}else{h[736]=r|t;h[i>>2]=v;h[v+24>>2]=i;h[v+12>>2]=v;h[v+8>>2]=v}}while(0);v=(h[743]|0)+-1|0;h[743]=v;if(!v)i=3396;else return;while(1){i=h[i>>2]|0;if(!i)break;else i=i+8|0}h[743]=-1;return}function xs(e,i){e=e|0;i=i|0;var r=0;if(e){r=ue(i,e)|0;if((i|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(i|0)?r:-1}else r=0;i=Cs(r)|0;if(!i)return i|0;if(!(h[i+-4>>2]&3))return i|0;qs(i|0,0,r|0)|0;return i|0}function Is(e,i){e=e|0;i=i|0;var r=0,t=0;if(!e){e=Cs(i)|0;return e|0}if(i>>>0>4294967231){e=Pl()|0;h[e>>2]=12;e=0;return e|0}r=Ns(e+-8|0,i>>>0<11?16:i+11&-8)|0;if(r){e=r+8|0;return e|0}r=Cs(i)|0;if(!r){e=0;return e|0}t=h[e+-4>>2]|0;t=(t&-8)-((t&3|0)==0?8:4)|0;Gs(r|0,e|0,(t>>>0>>0?t:i)|0)|0;Ds(e);e=r;return e|0}function Bs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;do{if((i|0)!=8){t=i>>>2;if((i&3|0)!=0|(t|0)==0){e=22;return e|0}if(t+1073741823&t){e=22;return e|0}if((-64-i|0)>>>0>>0){e=12;return e|0}else{t=Fs(i>>>0<16?16:i,r)|0;break}}else t=Cs(r)|0}while(0);if(!t){e=12;return e|0}h[e>>2]=t;e=0;return e|0}function Ns(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;b=e+4|0;k=h[b>>2]|0;s=k&-8;u=e+s|0;l=h[739]|0;r=k&3;if(!((r|0)!=1&e>>>0>=l>>>0&e>>>0>>0))Le();t=e+(s|4)|0;n=h[t>>2]|0;if(!(n&1))Le();if(!r){if(i>>>0<256){e=0;return e|0}if(s>>>0>=(i+4|0)>>>0?(s-i|0)>>>0<=h[855]<<1>>>0:0)return e|0;e=0;return e|0}if(s>>>0>=i>>>0){r=s-i|0;if(r>>>0<=15)return e|0;h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=r|3;h[t>>2]=h[t>>2]|1;Us(e+i|0,r);return e|0}if((u|0)==(h[741]|0)){r=(h[738]|0)+s|0;if(r>>>0<=i>>>0){e=0;return e|0}d=r-i|0;h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=d|1;h[741]=e+i;h[738]=d;return e|0}if((u|0)==(h[740]|0)){t=(h[737]|0)+s|0;if(t>>>0>>0){e=0;return e|0}r=t-i|0;if(r>>>0>15){h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=r|1;h[e+t>>2]=r;t=e+(t+4)|0;h[t>>2]=h[t>>2]&-2;t=e+i|0}else{h[b>>2]=k&1|t|2;t=e+(t+4)|0;h[t>>2]=h[t>>2]|1;t=0;r=0}h[737]=r;h[740]=t;return e|0}if(n&2){e=0;return e|0}c=(n&-8)+s|0;if(c>>>0>>0){e=0;return e|0}d=c-i|0;f=n>>>3;do{if(n>>>0>=256){a=h[e+(s+24)>>2]|0;f=h[e+(s+12)>>2]|0;do{if((f|0)==(u|0)){t=e+(s+20)|0;r=h[t>>2]|0;if(!r){t=e+(s+16)|0;r=h[t>>2]|0;if(!r){o=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Le();else{h[t>>2]=0;o=r;break}}else{n=h[e+(s+8)>>2]|0;if(n>>>0>>0)Le();r=n+12|0;if((h[r>>2]|0)!=(u|0))Le();t=f+8|0;if((h[t>>2]|0)==(u|0)){h[r>>2]=f;h[t>>2]=n;o=f;break}else Le()}}while(0);if(a){r=h[e+(s+28)>>2]|0;t=3244+(r<<2)|0;if((u|0)==(h[t>>2]|0)){h[t>>2]=o;if(!o){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();r=a+16|0;if((h[r>>2]|0)==(u|0))h[r>>2]=o;else h[a+20>>2]=o;if(!o)break}t=h[739]|0;if(o>>>0>>0)Le();h[o+24>>2]=a;r=h[e+(s+16)>>2]|0;do{if(r)if(r>>>0>>0)Le();else{h[o+16>>2]=r;h[r+24>>2]=o;break}}while(0);r=h[e+(s+20)>>2]|0;if(r)if(r>>>0<(h[739]|0)>>>0)Le();else{h[o+20>>2]=r;h[r+24>>2]=o;break}}}else{n=h[e+(s+8)>>2]|0;t=h[e+(s+12)>>2]|0;r=2980+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Le();if((h[n+12>>2]|0)!=(u|0))Le()}if((t|0)==(n|0)){h[735]=h[735]&~(1<>>0>>0)Le();r=t+8|0;if((h[r>>2]|0)==(u|0))a=r;else Le()}else a=t+8|0;h[n+12>>2]=t;h[a>>2]=n}}while(0);if(d>>>0<16){h[b>>2]=c|k&1|2;i=e+(c|4)|0;h[i>>2]=h[i>>2]|1;return e|0}else{h[b>>2]=k&1|i|2;h[e+(i+4)>>2]=d|3;k=e+(c|4)|0;h[k>>2]=h[k>>2]|1;Us(e+i|0,d);return e|0}return 0}function Fs(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0;e=e>>>0<16?16:e;if(e+-1&e){r=16;while(1)if(r>>>0>>0)r=r<<1;else{e=r;break}}if((-64-e|0)>>>0<=i>>>0){l=Pl()|0;h[l>>2]=12;l=0;return l|0}a=i>>>0<11?16:i+11&-8;t=Cs(a+12+e|0)|0;if(!t){l=0;return l|0}i=t+-8|0;r=e+-1|0;do{if(t&r){n=t+r&0-e;r=n+-8|0;f=i;n=(r-f|0)>>>0>15?r:n+(e+-8)|0;f=n-f|0;e=t+-4|0;t=h[e>>2]|0;r=(t&-8)-f|0;if(!(t&3)){h[n>>2]=(h[i>>2]|0)+f;h[n+4>>2]=r;i=n;break}else{t=n+4|0;h[t>>2]=r|h[t>>2]&1|2;r=n+(r+4)|0;h[r>>2]=h[r>>2]|1;h[e>>2]=f|h[e>>2]&1|2;h[t>>2]=h[t>>2]|1;Us(i,f);i=n;break}}}while(0);e=i+4|0;r=h[e>>2]|0;if((r&3|0)!=0?(l=r&-8,l>>>0>(a+16|0)>>>0):0){f=l-a|0;h[e>>2]=a|r&1|2;h[i+(a|4)>>2]=f|3;l=i+(l|4)|0;h[l>>2]=h[l>>2]|1;Us(i+a|0,f)}l=i+8|0;return l|0}function Us(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0;w=e+i|0;r=h[e+4>>2]|0;do{if(!(r&1)){o=h[e>>2]|0;if(!(r&3))return;d=e+(0-o)|0;c=o+i|0;s=h[739]|0;if(d>>>0>>0)Le();if((d|0)==(h[740]|0)){t=e+(i+4)|0;r=h[t>>2]|0;if((r&3|0)!=3){p=d;a=c;break}h[737]=c;h[t>>2]=r&-2;h[e+(4-o)>>2]=c|1;h[w>>2]=c;return}f=o>>>3;if(o>>>0<256){n=h[e+(8-o)>>2]|0;t=h[e+(12-o)>>2]|0;r=2980+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Le();if((h[n+12>>2]|0)!=(d|0))Le()}if((t|0)==(n|0)){h[735]=h[735]&~(1<>>0>>0)Le();r=t+8|0;if((h[r>>2]|0)==(d|0))l=r;else Le()}else l=t+8|0;h[n+12>>2]=t;h[l>>2]=n;p=d;a=c;break}l=h[e+(24-o)>>2]|0;n=h[e+(12-o)>>2]|0;do{if((n|0)==(d|0)){n=16-o|0;t=e+(n+4)|0;r=h[t>>2]|0;if(!r){t=e+n|0;r=h[t>>2]|0;if(!r){u=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Le();else{h[t>>2]=0;u=r;break}}else{f=h[e+(8-o)>>2]|0;if(f>>>0>>0)Le();r=f+12|0;if((h[r>>2]|0)!=(d|0))Le();t=n+8|0;if((h[t>>2]|0)==(d|0)){h[r>>2]=n;h[t>>2]=f;u=n;break}else Le()}}while(0);if(l){r=h[e+(28-o)>>2]|0;t=3244+(r<<2)|0;if((d|0)==(h[t>>2]|0)){h[t>>2]=u;if(!u){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();r=l+16|0;if((h[r>>2]|0)==(d|0))h[r>>2]=u;else h[l+20>>2]=u;if(!u){p=d;a=c;break}}n=h[739]|0;if(u>>>0>>0)Le();h[u+24>>2]=l;r=16-o|0;t=h[e+r>>2]|0;do{if(t)if(t>>>0>>0)Le();else{h[u+16>>2]=t;h[t+24>>2]=u;break}}while(0);r=h[e+(r+4)>>2]|0;if(r)if(r>>>0<(h[739]|0)>>>0)Le();else{h[u+20>>2]=r;h[r+24>>2]=u;p=d;a=c;break}else{p=d;a=c}}else{p=d;a=c}}else{p=e;a=i}}while(0);s=h[739]|0;if(w>>>0>>0)Le();r=e+(i+4)|0;t=h[r>>2]|0;if(!(t&2)){if((w|0)==(h[741]|0)){m=(h[738]|0)+a|0;h[738]=m;h[741]=p;h[p+4>>2]=m|1;if((p|0)!=(h[740]|0))return;h[740]=0;h[737]=0;return}if((w|0)==(h[740]|0)){m=(h[737]|0)+a|0;h[737]=m;h[740]=p;h[p+4>>2]=m|1;h[p+m>>2]=m;return}a=(t&-8)+a|0;f=t>>>3;do{if(t>>>0>=256){l=h[e+(i+24)>>2]|0;n=h[e+(i+12)>>2]|0;do{if((n|0)==(w|0)){t=e+(i+20)|0;r=h[t>>2]|0;if(!r){t=e+(i+16)|0;r=h[t>>2]|0;if(!r){k=0;break}}while(1){n=r+20|0;f=h[n>>2]|0;if(f){r=f;t=n;continue}n=r+16|0;f=h[n>>2]|0;if(!f)break;else{r=f;t=n}}if(t>>>0>>0)Le();else{h[t>>2]=0;k=r;break}}else{f=h[e+(i+8)>>2]|0;if(f>>>0>>0)Le();r=f+12|0;if((h[r>>2]|0)!=(w|0))Le();t=n+8|0;if((h[t>>2]|0)==(w|0)){h[r>>2]=n;h[t>>2]=f;k=n;break}else Le()}}while(0);if(l){r=h[e+(i+28)>>2]|0;t=3244+(r<<2)|0;if((w|0)==(h[t>>2]|0)){h[t>>2]=k;if(!k){h[736]=h[736]&~(1<>>0<(h[739]|0)>>>0)Le();r=l+16|0;if((h[r>>2]|0)==(w|0))h[r>>2]=k;else h[l+20>>2]=k;if(!k)break}t=h[739]|0;if(k>>>0>>0)Le();h[k+24>>2]=l;r=h[e+(i+16)>>2]|0;do{if(r)if(r>>>0>>0)Le();else{h[k+16>>2]=r;h[r+24>>2]=k;break}}while(0);r=h[e+(i+20)>>2]|0;if(r)if(r>>>0<(h[739]|0)>>>0)Le();else{h[k+20>>2]=r;h[r+24>>2]=k;break}}}else{n=h[e+(i+8)>>2]|0;t=h[e+(i+12)>>2]|0;r=2980+(f<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0>>0)Le();if((h[n+12>>2]|0)!=(w|0))Le()}if((t|0)==(n|0)){h[735]=h[735]&~(1<>>0>>0)Le();r=t+8|0;if((h[r>>2]|0)==(w|0))b=r;else Le()}else b=t+8|0;h[n+12>>2]=t;h[b>>2]=n}}while(0);h[p+4>>2]=a|1;h[p+a>>2]=a;if((p|0)==(h[740]|0)){h[737]=a;return}}else{h[r>>2]=t&-2;h[p+4>>2]=a|1;h[p+a>>2]=a}r=a>>>3;if(a>>>0<256){t=r<<1;f=2980+(t<<2)|0;n=h[735]|0;r=1<>2]|0;if(t>>>0<(h[739]|0)>>>0)Le();else{_=r;m=t}}else{h[735]=n|r;_=2980+(t+2<<2)|0;m=f}h[_>>2]=p;h[m+12>>2]=p;h[p+8>>2]=m;h[p+12>>2]=f;return}r=a>>>8;if(r)if(a>>>0>16777215)f=31;else{_=(r+1048320|0)>>>16&8;m=r<<_;w=(m+520192|0)>>>16&4;m=m<>>16&2;f=14-(w|_|f)+(m<>>15)|0;f=a>>>(f+7|0)&1|f<<1}else f=0;r=3244+(f<<2)|0;h[p+28>>2]=f;h[p+20>>2]=0;h[p+16>>2]=0;t=h[736]|0;n=1<>2]=p;h[p+24>>2]=r;h[p+12>>2]=p;h[p+8>>2]=p;return}r=h[r>>2]|0;e:do{if((h[r+4>>2]&-8|0)!=(a|0)){f=a<<((f|0)==31?0:25-(f>>>1)|0);while(1){t=r+16+(f>>>31<<2)|0;n=h[t>>2]|0;if(!n)break;if((h[n+4>>2]&-8|0)==(a|0)){r=n;break e}else{f=f<<1;r=n}}if(t>>>0<(h[739]|0)>>>0)Le();h[t>>2]=p;h[p+24>>2]=r;h[p+12>>2]=p;h[p+8>>2]=p;return}}while(0);t=r+8|0;n=h[t>>2]|0;m=h[739]|0;if(!(n>>>0>=m>>>0&r>>>0>=m>>>0))Le();h[n+12>>2]=p;h[t>>2]=p;h[p+8>>2]=n;h[p+12>>2]=r;h[p+24>>2]=0;return}function js(){}function Hs(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=i-t-(r>>>0>e>>>0|0)>>>0;return(j=t,e-r>>>0|0)|0}function Ys(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){j=i>>r;return e>>>r|(i&(1<>r-32|0}function qs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,f=0,a=0;t=e+r|0;if((r|0)>=20){i=i&255;f=e&3;a=i|i<<8|i<<16|i<<24;n=t&~3;if(f){f=e+4-f|0;while((e|0)<(f|0)){c[e>>0]=i;e=e+1|0}}while((e|0)<(n|0)){h[e>>2]=a;e=e+4|0}}while((e|0)<(t|0)){c[e>>0]=i;e=e+1|0}return e-r|0}function Xs(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){j=i<>>32-r;return e<>>0;return(j=i+t+(r>>>0>>0|0)>>>0,r|0)|0}function Vs(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){j=i>>>r;return e>>>r|(i&(1<>>r-32|0}function Gs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((r|0)>=4096)return Be(e|0,i|0,r|0)|0;t=e|0;if((e&3)==(i&3)){while(e&3){if(!r)return t|0;c[e>>0]=c[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}while((r|0)>=4){h[e>>2]=h[i>>2];e=e+4|0;i=i+4|0;r=r-4|0}}while((r|0)>0){c[e>>0]=c[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}return t|0}function Ks(e){e=e|0;var i=0;i=c[A+(e&255)>>0]|0;if((i|0)<8)return i|0;i=c[A+(e>>8&255)>>0]|0;if((i|0)<8)return i+8|0;i=c[A+(e>>16&255)>>0]|0;if((i|0)<8)return i+16|0;return(c[A+(e>>>24)>>0]|0)+24|0}function Ws(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;f=e&65535;n=i&65535;r=ue(n,f)|0;t=e>>>16;e=(r>>>16)+(ue(n,t)|0)|0;n=i>>>16;i=ue(n,f)|0;return(j=(e>>>16)+(ue(n,t)|0)+(((e&65535)+i|0)>>>16)|0,e+i<<16|r&65535|0)|0}function Js(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;o=i>>31|((i|0)<0?-1:0)<<1;s=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;l=Hs(o^e,s^i,o,s)|0;a=j;e=f^o;i=n^s;return Hs((io(l,a,Hs(f^r,n^t,f,n)|0,j,0)|0)^e,j^i,e,i)|0}function Zs(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,l=0,s=0,o=0;n=v;v=v+16|0;l=n|0;a=i>>31|((i|0)<0?-1:0)<<1;f=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;o=t>>31|((t|0)<0?-1:0)<<1;s=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=Hs(a^e,f^i,a,f)|0;i=j;io(e,i,Hs(o^r,s^t,o,s)|0,j,l)|0;t=Hs(h[l>>2]^a,h[l+4>>2]^f,a,f)|0;r=j;v=n;return(j=r,t)|0}function Qs(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=e;f=r;r=Ws(n,f)|0;e=j;return(j=(ue(i,f)|0)+(ue(t,n)|0)+e|e&0,r|0|0)|0}function $s(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return io(e,i,r,t,0)|0}function eo(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=v;v=v+16|0;n=f|0;io(e,i,r,t,n)|0;v=f;return(j=h[n+4>>2]|0,h[n>>2]|0)|0}function io(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0,u=0,c=0,d=0,b=0,k=0;u=e;s=i;o=s;a=r;d=t;l=d;if(!o){f=(n|0)!=0;if(!l){if(f){h[n>>2]=(u>>>0)%(a>>>0);h[n+4>>2]=0}d=0;n=(u>>>0)/(a>>>0)>>>0;return(j=d,n)|0}else{if(!f){d=0;n=0;return(j=d,n)|0}h[n>>2]=e|0;h[n+4>>2]=i&0;d=0;n=0;return(j=d,n)|0}}f=(l|0)==0;do{if(a){if(!f){f=(de(l|0)|0)-(de(o|0)|0)|0;if(f>>>0<=31){c=f+1|0;l=31-f|0;i=f-31>>31;a=c;e=u>>>(c>>>0)&i|o<>>(c>>>0)&i;f=0;l=u<>2]=e|0;h[n+4>>2]=s|i&0;d=0;n=0;return(j=d,n)|0}f=a-1|0;if(f&a){l=(de(a|0)|0)+33-(de(o|0)|0)|0;k=64-l|0;c=32-l|0;s=c>>31;b=l-32|0;i=b>>31;a=l;e=c-1>>31&o>>>(b>>>0)|(o<>>(l>>>0))&i;i=i&o>>>(l>>>0);f=u<>>(b>>>0))&s|u<>31;break}if(n){h[n>>2]=f&u;h[n+4>>2]=0}if((a|0)==1){b=s|i&0;k=e|0|0;return(j=b,k)|0}else{k=Ks(a|0)|0;b=o>>>(k>>>0)|0;k=o<<32-k|u>>>(k>>>0)|0;return(j=b,k)|0}}else{if(f){if(n){h[n>>2]=(o>>>0)%(a>>>0);h[n+4>>2]=0}b=0;k=(o>>>0)/(a>>>0)>>>0;return(j=b,k)|0}if(!u){if(n){h[n>>2]=0;h[n+4>>2]=(o>>>0)%(l>>>0)}b=0;k=(o>>>0)/(l>>>0)>>>0;return(j=b,k)|0}f=l-1|0;if(!(f&l)){if(n){h[n>>2]=e|0;h[n+4>>2]=f&o|i&0}b=0;k=o>>>((Ks(l|0)|0)>>>0);return(j=b,k)|0}f=(de(l|0)|0)-(de(o|0)|0)|0;if(f>>>0<=30){i=f+1|0;l=31-f|0;a=i;e=o<>>(i>>>0);i=o>>>(i>>>0);f=0;l=u<>2]=e|0;h[n+4>>2]=s|i&0;b=0;k=0;return(j=b,k)|0}}while(0);if(!a){o=l;s=0;l=0}else{c=r|0|0;u=d|t&0;o=zs(c|0,u|0,-1,-1)|0;r=j;s=l;l=0;do{t=s;s=f>>>31|s<<1;f=l|f<<1;t=e<<1|t>>>31|0;d=e>>>31|i<<1|0;Hs(o,r,t,d)|0;k=j;b=k>>31|((k|0)<0?-1:0)<<1;l=b&1;e=Hs(t,d,b&c,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&u)|0;i=j;a=a-1|0}while((a|0)!=0);o=s;s=0}a=0;if(n){h[n>>2]=e;h[n+4>>2]=i}b=(f|0)>>>31|(o|a)<<1|(a<<1|f>>>31)&0|s;k=(f<<1|0>>>31)&-2|l;return(j=b,k)|0}function ro(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;return Oo[e&3](i|0,r|0,t|0,n|0,f|0,a|0,l|0)|0}function to(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Ro[e&63](i|0,r|0,t|0)|0}function no(e,i){e=e|0;i=i|0;return+Lo[e&3](i|0)}function fo(e,i){e=e|0;i=i|0;Co[e&7](i|0)}function ao(e,i,r){e=e|0;i=i|0;r=r|0;Do[e&7](i|0,r|0)}function lo(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return xo[e&7](i|0,r|0,t|0,n|0,f|0,a|0)|0}function so(e,i){e=e|0;i=i|0;return Io[e&15](i|0)|0}function oo(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;Bo[e&15](i|0,r|0,t|0)}function uo(e,i,r,t,n,f,a,l,s,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;c=c|0;return No[e&3](i|0,r|0,t|0,n|0,f|0,a|0,l|0,s|0,o|0,u|0,c|0)|0}function co(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return Fo[e&63](i|0,r|0,t|0,n|0)|0}function ho(e,i,r){e=e|0;i=i|0;r=r|0;return Uo[e&7](i|0,r|0)|0}function bo(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return jo[e&3](i|0,r|0,t|0,n|0,f|0)|0}function ko(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;Ho[e&3](i|0,r|0,t|0,n|0)}function wo(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;he(0);return 0}function _o(e,i,r){e=e|0;i=i|0;r=r|0;he(1);return 0}function mo(e){e=e|0;he(2);return 0.0}function po(e){e=e|0;he(3)}function vo(e,i){e=e|0;i=i|0;he(4)}function go(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;he(5);return 0}function yo(e){e=e|0;he(6);return 0}function Eo(e,i,r){e=e|0;i=i|0;r=r|0;he(7)}function Ao(e,i,r,t,n,f,a,l,s,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;he(8);return 0}function Mo(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;he(9);return 0}function To(e,i){e=e|0;i=i|0;he(10);return 0}function So(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;he(11);return 0}function Po(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;he(12)}var Oo=[wo,cf,Xi,wo];var Ro=[_o,Ps,Kl,Vl,Lt,Ct,Dt,xt,Un,jn,Yn,af,vf,Bi,Ji,gf,yf,Ii,Ni,qn,Xn,zn,Vn,Tf,Sf,Pf,Of,Lf,Cf,xf,If,Bf,Nf,Ff,Uf,jf,Hf,Yf,qf,Xf,zf,Vf,Gf,Kf,Wf,Jf,Zf,Qf,$f,ea,ia,ra,er,ir,rr,tr,nr,fr,ar,lr,zl,Gl,_o,_o];var Lo=[mo,ta,na,mo];var Co=[po,tf,qi,it,rt,As,Ms,po];var Do=[vo,_t,mt,pt,$t,ef,Di,vo];var xo=[go,uf,Yi,Af,Hi,go,go,go];var Io=[yo,Xl,wf,_f,Wi,Ki,Zl,Na,xa,yo,yo,yo,yo,yo,yo,yo];var Bo=[Eo,Pi,Oi,Ri,Li,yi,Ei,Ai,Mi,mi,pi,vi,gi,hf,Gi,Eo];var No=[Ao,of,ji,Ao];var Fo=[Mo,ua,ca,ii,ri,ti,ni,fi,ai,li,si,oi,ui,ci,di,hi,bi,ki,wi,_i,mr,pr,vr,dr,hr,br,kr,wr,_r,St,Pt,Ot,Rt,mf,lf,Ci,Ui,Ef,nf,Fi,xi,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo,Mo];var Uo=[To,Hn,sr,or,ur,cr,To,To];var jo=[So,pf,zi,So];var Ho=[Po,Ha,Xa,Po];return{_opj_stream_destroy:Bt,_opj_stream_set_read_function:Nt,_opj_read_tile_header:mn,_opj_set_warning_handler:sn,_opj_destroy_cstr_info:xn,_opj_image_create:rn,_opj_set_error_handler:on,_opj_stream_set_user_data:Ht,_opj_end_decompress:Pn,_bitshift64Lshr:Vs,_opj_stream_set_seek_function:Ft,_opj_decode:wn,_opj_set_decoded_resolution_factor:gn,_i64Add:zs,_opj_stream_create_default_file_stream:Nn,_opj_encode:Tn,_bitshift64Ashr:Ys,_opj_get_decoded_tile:vn,_memset:qs,_opj_version:cn,_memcpy:Gs,_opj_destroy_cstr_index:Bn,_opj_stream_set_user_data_length:Yt,_opj_stream_set_skip_function:jt,_opj_image_destroy:tn,_opj_stream_create_file_stream:Fn,_opj_setup_encoder:An,_opj_stream_default_create:It,_bitshift64Shl:Xs,_opj_stream_create:Tt,_jp2_version:wt,_i64Subtract:Hs,_opj_get_cstr_index:In,_opj_set_default_decoder_parameters:hn,_opj_read_header:kn,_opj_get_cstr_info:Dn,_opj_set_default_encoder_parameters:En,_opj_set_decode_area:_n,_opj_stream_set_write_function:Ut,_opj_dump_codec:Cn,_opj_create_decompress:dn,_opj_decode_tile_data:pn,_free:Ds,_opj_image_tile_create:an,_opj_set_MCT:On,_opj_set_info_handler:ln,_opj_start_compress:Mn,_opj_write_tile:Rn,_opj_setup_decoder:bn,_malloc:Cs,_opj_end_compress:Sn,_opj_destroy_codec:Ln,_jp2_decode:kt,_opj_stream_create_buffer_stream:un,_opj_create_compress:yn,runPostSets:js,_emscripten_replace_memory:ei,stackAlloc:at,stackSave:lt,stackRestore:st,establishStackSpace:ot,setThrew:ut,setTempRet0:ht,getTempRet0:bt,dynCall_iiiiiiii:ro,dynCall_iiii:to,dynCall_di:no,dynCall_vi:fo,dynCall_vii:ao,dynCall_iiiiiii:lo,dynCall_ii:so,dynCall_viii:oo,dynCall_iiiiiiiiiiii:uo,dynCall_iiiii:co,dynCall_iii:ho,dynCall_iiiiii:bo,dynCall_viiii:ko}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_opj_stream_destroy=Module._opj_stream_destroy=asm._opj_stream_destroy,_opj_stream_set_read_function=Module._opj_stream_set_read_function=asm._opj_stream_set_read_function,_opj_read_tile_header=Module._opj_read_tile_header=asm._opj_read_tile_header,_opj_set_warning_handler=Module._opj_set_warning_handler=asm._opj_set_warning_handler,_opj_destroy_cstr_info=Module._opj_destroy_cstr_info=asm._opj_destroy_cstr_info,_opj_image_create=Module._opj_image_create=asm._opj_image_create,_opj_set_error_handler=Module._opj_set_error_handler=asm._opj_set_error_handler,_opj_image_tile_create=Module._opj_image_tile_create=asm._opj_image_tile_create,_opj_end_decompress=Module._opj_end_decompress=asm._opj_end_decompress,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_opj_stream_set_seek_function=Module._opj_stream_set_seek_function=asm._opj_stream_set_seek_function,_opj_decode=Module._opj_decode=asm._opj_decode,_opj_set_decoded_resolution_factor=Module._opj_set_decoded_resolution_factor=asm._opj_set_decoded_resolution_factor,_opj_stream_create_default_file_stream=Module._opj_stream_create_default_file_stream=asm._opj_stream_create_default_file_stream,_opj_set_default_decoder_parameters=Module._opj_set_default_decoder_parameters=asm._opj_set_default_decoder_parameters,_bitshift64Ashr=Module._bitshift64Ashr=asm._bitshift64Ashr,_opj_get_decoded_tile=Module._opj_get_decoded_tile=asm._opj_get_decoded_tile,_memset=Module._memset=asm._memset,_opj_version=Module._opj_version=asm._opj_version,_memcpy=Module._memcpy=asm._memcpy,_opj_destroy_cstr_index=Module._opj_destroy_cstr_index=asm._opj_destroy_cstr_index,_opj_stream_set_user_data_length=Module._opj_stream_set_user_data_length=asm._opj_stream_set_user_data_length,_opj_stream_set_skip_function=Module._opj_stream_set_skip_function=asm._opj_stream_set_skip_function,_opj_image_destroy=Module._opj_image_destroy=asm._opj_image_destroy,_opj_stream_create_file_stream=Module._opj_stream_create_file_stream=asm._opj_stream_create_file_stream,_opj_setup_encoder=Module._opj_setup_encoder=asm._opj_setup_encoder,_opj_stream_default_create=Module._opj_stream_default_create=asm._opj_stream_default_create,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_opj_stream_create=Module._opj_stream_create=asm._opj_stream_create,_jp2_version=Module._jp2_version=asm._jp2_version,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_opj_get_cstr_index=Module._opj_get_cstr_index=asm._opj_get_cstr_index,_opj_encode=Module._opj_encode=asm._opj_encode,_i64Add=Module._i64Add=asm._i64Add,_opj_get_cstr_info=Module._opj_get_cstr_info=asm._opj_get_cstr_info,_opj_set_default_encoder_parameters=Module._opj_set_default_encoder_parameters=asm._opj_set_default_encoder_parameters,_opj_set_decode_area=Module._opj_set_decode_area=asm._opj_set_decode_area,_opj_stream_set_write_function=Module._opj_stream_set_write_function=asm._opj_stream_set_write_function,_opj_dump_codec=Module._opj_dump_codec=asm._opj_dump_codec,_opj_read_header=Module._opj_read_header=asm._opj_read_header,_opj_create_decompress=Module._opj_create_decompress=asm._opj_create_decompress,_opj_decode_tile_data=Module._opj_decode_tile_data=asm._opj_decode_tile_data,_opj_set_info_handler=Module._opj_set_info_handler=asm._opj_set_info_handler,_opj_stream_set_user_data=Module._opj_stream_set_user_data=asm._opj_stream_set_user_data,_opj_set_MCT=Module._opj_set_MCT=asm._opj_set_MCT,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,_opj_start_compress=Module._opj_start_compress=asm._opj_start_compress,_opj_write_tile=Module._opj_write_tile=asm._opj_write_tile,_opj_setup_decoder=Module._opj_setup_decoder=asm._opj_setup_decoder,_malloc=Module._malloc=asm._malloc,_opj_end_compress=Module._opj_end_compress=asm._opj_end_compress,_opj_destroy_codec=Module._opj_destroy_codec=asm._opj_destroy_codec,_emscripten_replace_memory=Module._emscripten_replace_memory=asm._emscripten_replace_memory,_jp2_decode=Module._jp2_decode=asm._jp2_decode,_opj_stream_create_buffer_stream=Module._opj_stream_create_buffer_stream=asm._opj_stream_create_buffer_stream,_opj_create_compress=Module._opj_create_compress=asm._opj_create_compress,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii,initialStackTop;function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null,calledMain=!1;function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Module.setStatus("")}),1),i()}),1)):i()))}function exit(e,i){if(!i||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",(function(){process.exit(e)})),console.log(" "),setTimeout((function(){process.exit(e)}),500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var i=e.length+1;function r(){for(var e=0;e<3;e++)t.push(0)}var t=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];r();for(var n=0;n0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),Module}},979:function(e,i,r){var t;t=function(e){return function(e){var i=this.webpackHotUpdate;this.webpackHotUpdate=function(e,r){!function(e,i){if(y[e]&&g[e]){for(var r in g[e]=!1,i)Object.prototype.hasOwnProperty.call(i,r)&&(k[r]=i[r]);0==--m&&0===p&&T()}}(e,r),i&&i(e,r)};var r,t=!0,n="1c62e16b6d24be6b7eef",f=1e4,a={},l=[],s=[];function o(e){var i=L[e];if(!i)return C;var t=function(t){return i.hot.active?(L[t]?-1===L[t].parents.indexOf(e)&&L[t].parents.push(e):(l=[e],r=t),-1===i.children.indexOf(t)&&i.children.push(t)):(console.warn("[HMR] unexpected require("+t+") from disposed module "+e),l=[]),C(t)},n=function(e){return{configurable:!0,enumerable:!0,get:function(){return C[e]},set:function(i){C[e]=i}}};for(var f in C)Object.prototype.hasOwnProperty.call(C,f)&&"e"!==f&&"t"!==f&&Object.defineProperty(t,f,n(f));return t.e=function(e){return"ready"===d&&h("prepare"),p++,C.e(e).then(i,(function(e){throw i(),e}));function i(){p--,"prepare"===d&&(v[e]||M(e),0===p&&0===m&&T())}},t.t=function(e,i){return 1&i&&(e=t(e)),C.t(e,-2&i)},t}function u(i){var t={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_selfInvalidated:!1,_disposeHandlers:[],_main:r!==i,active:!0,accept:function(e,i){if(void 0===e)t._selfAccepted=!0;else if("function"==typeof e)t._selfAccepted=e;else if("object"==typeof e)for(var r=0;r=0&&t._disposeHandlers.splice(i,1)},invalidate:function(){switch(this._selfInvalidated=!0,d){case"idle":(k={})[i]=e[i],h("ready");break;case"ready":R(i);break;case"prepare":case"check":case"dispose":case"apply":(_=_||[]).push(i)}},check:A,apply:S,status:function(e){if(!e)return d;c.push(e)},addStatusHandler:function(e){c.push(e)},removeStatusHandler:function(e){var i=c.indexOf(e);i>=0&&c.splice(i,1)},data:a[i]};return r=void 0,t}var c=[],d="idle";function h(e){d=e;for(var i=0;i0;){var n=t.pop(),f=n.id,a=n.chain;if((o=L[f])&&(!o.hot._selfAccepted||o.hot._selfInvalidated)){if(o.hot._selfDeclined)return{type:"self-declined",chain:a,moduleId:f};if(o.hot._main)return{type:"unaccepted",chain:a,moduleId:f};for(var l=0;l ")),A.type){case"self-declined":i.onDeclined&&i.onDeclined(A),i.ignoreDeclined||(M=new Error("Aborted because of self decline: "+A.moduleId+R));break;case"declined":i.onDeclined&&i.onDeclined(A),i.ignoreDeclined||(M=new Error("Aborted because of declined dependency: "+A.moduleId+" in "+A.parentId+R));break;case"unaccepted":i.onUnaccepted&&i.onUnaccepted(A),i.ignoreUnaccepted||(M=new Error("Aborted because "+u+" is not accepted"+R));break;case"accepted":i.onAccepted&&i.onAccepted(A),T=!0;break;case"disposed":i.onDisposed&&i.onDisposed(A),S=!0;break;default:throw new Error("Unexception type "+A.type)}if(M)return h("abort"),Promise.reject(M);if(T)for(u in p[u]=k[u],d(m,A.outdatedModules),A.outdatedDependencies)Object.prototype.hasOwnProperty.call(A.outdatedDependencies,u)&&(b[u]||(b[u]=[]),d(b[u],A.outdatedDependencies[u]));S&&(d(m,[A.moduleId]),p[u]=v)}var D,x=[];for(f=0;f0;)if(u=N.pop(),o=L[u]){var F={},U=o.hot._disposeHandlers;for(s=0;s=0&&j.parents.splice(D,1)}}for(u in b)if(Object.prototype.hasOwnProperty.call(b,u)&&(o=L[u]))for(B=b[u],s=0;s=0&&o.children.splice(D,1);for(u in h("apply"),void 0!==w&&(n=w,w=void 0),k=void 0,p)Object.prototype.hasOwnProperty.call(p,u)&&(e[u]=p[u]);var H=null;for(u in b)if(Object.prototype.hasOwnProperty.call(b,u)&&(o=L[u])){B=b[u];var Y=[];for(f=0;fe.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(e[i]<<8)+e[i+1]},readInt16:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if(i+2>e.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=(e[i]<<8)+e[i+1];return 32768&r&&(r=r-65535-1),r},readUint32:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*e[i]+e[i+1])+e[i+2])+e[i+3]},readInt32:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(e[i]<<24)+(e[i+1]<<16)+(e[i+2]<<8)+e[i+3]},readFloat:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[3]=e[i],r[2]=e[i+1],r[1]=e[i+2],r[0]=e[i+3],new Float32Array(r.buffer)[0]},readDouble:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if(i+8>e.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[7]=e[i],r[6]=e[i+1],r[5]=e[i+2],r[4]=e[i+3],r[3]=e[i+4],r[2]=e[i+5],r[1]=e[i+6],r[0]=e[i+7],new Float64Array(r.buffer)[0]}}},"./byteArrayParser.js":function(e,i,r){function t(e,i,r){if(r<0)throw"dicomParser.readFixedString - length cannot be less than 0";if(i+r>e.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var t,n="",f=0;f=r.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=i,this.byteArray=r,this.position=t||0,this.warnings=[]}var i,r,a;return i=e,(r=[{key:"seek",value:function(e){if(this.position+e<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=e}},{key:"readByteStream",value:function(i){if(this.position+i>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var r=Object(t.default)(this.byteArray,this.position,i);return this.position+=i,new e(this.byteArrayParser,r)}},{key:"getSize",value:function(){return this.byteArray.length}},{key:"readUint16",value:function(){var e=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,e}},{key:"readUint32",value:function(){var e=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,e}},{key:"readFixedString",value:function(e){var i=Object(n.readFixedString)(this.byteArray,this.position,e);return this.position+=e,i}}])&&f(i.prototype,r),a&&f(i,a),Object.defineProperty(i,"prototype",{writable:!1}),e}()},"./dataSet.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return a}));var t=r("./byteArrayParser.js");function n(e,i){for(var r=0;r0){var r=Object(t.readFixedString)(this.byteArray,i.dataOffset,i.length).match(/\\/g);return null===r?1:r.length+1}}},{key:"string",value:function(e,i){var r=this.elements[e];if(r&&r.Value)return r.Value;if(r&&r.length>0){var n=Object(t.readFixedString)(this.byteArray,r.dataOffset,r.length);return i>=0?n.split("\\")[i].trim():n.trim()}}},{key:"text",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){var n=Object(t.readFixedString)(this.byteArray,r.dataOffset,r.length);return i>=0?n.split("\\")[i].replace(/ +$/,""):n.replace(/ +$/,"")}}},{key:"floatString",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){i=void 0!==i?i:0;var t=this.string(e,i);if(void 0!==t)return parseFloat(t)}}},{key:"intString",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){i=void 0!==i?i:0;var t=this.string(e,i);if(void 0!==t)return parseInt(t)}}},{key:"attributeTag",value:function(e){var i=this.elements[e];if(i&&4===i.length){var r=f(i,this.byteArrayParser).readUint16,t=this.byteArray,n=i.dataOffset;return"x".concat("00000000".concat((256*r(t,n)*256+r(t,n+2)).toString(16)).substr(-8))}}}])&&n(i.prototype,r),a&&n(i,a),Object.defineProperty(i,"prototype",{writable:!1}),e}()},"./findAndSetUNElementLength.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;)if(65534===e.readUint16()&&57565===e.readUint16())return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(i.tag)),void(i.length=e.position-i.dataOffset);i.length=e.byteArray.length-i.dataOffset,e.seek(e.byteArray.length-e.position)}r.r(i),r.d(i,"default",(function(){return t}))},"./findEndOfEncapsulatedPixelData.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return n}));var t=r("./readTag.js");function n(e,i,r){if(void 0===e)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'element'";if(i.encapsulatedPixelData=!0,i.basicOffsetTable=[],i.fragments=[],"xfffee000"!==Object(t.default)(e))throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var n=e.readUint32()/4,f=0;fe.byteArray.length-e.position&&(o=e.byteArray.length-e.position),i.fragments.push({offset:e.position-l-8,position:e.position,length:o}),e.seek(o),void(i.length=e.position-i.dataOffset);i.fragments.push({offset:e.position-l-8,position:e.position,length:o}),e.seek(o)}r&&r.push("pixel data element ".concat(i.tag," missing sequence delimiter tag xfffee0dd"))}},"./findItemDelimitationItem.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;)if(65534===e.readUint16()&&57357===e.readUint16())return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(i.tag)),void(i.length=e.position-i.dataOffset);i.length=e.byteArray.length-i.dataOffset,e.seek(e.byteArray.length-e.position)}r.r(i),r.d(i,"default",(function(){return t}))},"./index.js":function(e,i,r){r.r(i);var t=r("./util/index.js");r.d(i,"isStringVr",(function(){return t.isStringVr})),r.d(i,"isPrivateTag",(function(){return t.isPrivateTag})),r.d(i,"parsePN",(function(){return t.parsePN})),r.d(i,"parseTM",(function(){return t.parseTM})),r.d(i,"parseDA",(function(){return t.parseDA})),r.d(i,"explicitElementToString",(function(){return t.explicitElementToString})),r.d(i,"explicitDataSetToJS",(function(){return t.explicitDataSetToJS})),r.d(i,"createJPEGBasicOffsetTable",(function(){return t.createJPEGBasicOffsetTable}));var n=r("./parseDicomDataSet.js");r.d(i,"parseDicomDataSetExplicit",(function(){return n.parseDicomDataSetExplicit})),r.d(i,"parseDicomDataSetImplicit",(function(){return n.parseDicomDataSetImplicit}));var f=r("./byteArrayParser.js");r.d(i,"readFixedString",(function(){return f.readFixedString}));var a=r("./alloc.js");r.d(i,"alloc",(function(){return a.default}));var l=r("./version.js");r.d(i,"version",(function(){return l.default}));var s=r("./bigEndianByteArrayParser.js");r.d(i,"bigEndianByteArrayParser",(function(){return s.default}));var o=r("./byteStream.js");r.d(i,"ByteStream",(function(){return o.default}));var u=r("./sharedCopy.js");r.d(i,"sharedCopy",(function(){return u.default}));var c=r("./dataSet.js");r.d(i,"DataSet",(function(){return c.default}));var d=r("./findAndSetUNElementLength.js");r.d(i,"findAndSetUNElementLength",(function(){return d.default}));var h=r("./findEndOfEncapsulatedPixelData.js");r.d(i,"findEndOfEncapsulatedElement",(function(){return h.default}));var b=r("./findItemDelimitationItem.js");r.d(i,"findItemDelimitationItemAndSetElementLength",(function(){return b.default}));var k=r("./littleEndianByteArrayParser.js");r.d(i,"littleEndianByteArrayParser",(function(){return k.default}));var w=r("./parseDicom.js");r.d(i,"parseDicom",(function(){return w.default}));var _=r("./readDicomElementExplicit.js");r.d(i,"readDicomElementExplicit",(function(){return _.default}));var m=r("./readDicomElementImplicit.js");r.d(i,"readDicomElementImplicit",(function(){return m.default}));var p=r("./readEncapsulatedImageFrame.js");r.d(i,"readEncapsulatedImageFrame",(function(){return p.default}));var v=r("./readEncapsulatedPixelData.js");r.d(i,"readEncapsulatedPixelData",(function(){return v.default}));var g=r("./readEncapsulatedPixelDataFromFragments.js");r.d(i,"readEncapsulatedPixelDataFromFragments",(function(){return g.default}));var y=r("./readPart10Header.js");r.d(i,"readPart10Header",(function(){return y.default}));var E=r("./readSequenceElementExplicit.js");r.d(i,"readSequenceItemsExplicit",(function(){return E.default}));var A=r("./readSequenceElementImplicit.js");r.d(i,"readSequenceItemsImplicit",(function(){return A.default}));var M=r("./readSequenceItem.js");r.d(i,"readSequenceItem",(function(){return M.default}));var T=r("./readTag.js");r.d(i,"readTag",(function(){return T.default}));var S={isStringVr:t.isStringVr,isPrivateTag:t.isPrivateTag,parsePN:t.parsePN,parseTM:t.parseTM,parseDA:t.parseDA,explicitElementToString:t.explicitElementToString,explicitDataSetToJS:t.explicitDataSetToJS,createJPEGBasicOffsetTable:t.createJPEGBasicOffsetTable,parseDicomDataSetExplicit:n.parseDicomDataSetExplicit,parseDicomDataSetImplicit:n.parseDicomDataSetImplicit,readFixedString:f.readFixedString,alloc:a.default,version:l.default,bigEndianByteArrayParser:s.default,ByteStream:o.default,sharedCopy:u.default,DataSet:c.default,findAndSetUNElementLength:d.default,findEndOfEncapsulatedElement:h.default,findItemDelimitationItemAndSetElementLength:b.default,littleEndianByteArrayParser:k.default,parseDicom:w.default,readDicomElementExplicit:_.default,readDicomElementImplicit:m.default,readEncapsulatedImageFrame:p.default,readEncapsulatedPixelData:v.default,readEncapsulatedPixelDataFromFragments:g.default,readPart10Header:y.default,readSequenceItemsExplicit:E.default,readSequenceItemsImplicit:A.default,readSequenceItem:M.default,readTag:T.default,LEI:w.LEI,LEE:w.LEE};i.default=S},"./littleEndianByteArrayParser.js":function(e,i,r){r.r(i),i.default={readUint16:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if(i+2>e.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return e[i]+256*e[i+1]},readInt16:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if(i+2>e.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=e[i]+(e[i+1]<<8);return 32768&r&&(r=r-65535-1),r},readUint32:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return e[i]+256*e[i+1]+256*e[i+2]*256+256*e[i+3]*256*256},readInt32:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return e[i]+(e[i+1]<<8)+(e[i+2]<<16)+(e[i+3]<<24)},readFloat:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[0]=e[i],r[1]=e[i+1],r[2]=e[i+2],r[3]=e[i+3],new Float32Array(r.buffer)[0]},readDouble:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if(i+8>e.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[0]=e[i],r[1]=e[i+1],r[2]=e[i+2],r[3]=e[i+3],r[4]=e[i+4],r[5]=e[i+5],r[6]=e[i+6],r[7]=e[i+7],new Float64Array(r.buffer)[0]}}},"./parseDicom.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return k})),r.d(i,"LEI",(function(){return h})),r.d(i,"LEE",(function(){return d})),r.d(i,"BEI",(function(){return b}));var t=r("./alloc.js"),n=r("./bigEndianByteArrayParser.js"),f=r("./byteStream.js"),a=r("./dataSet.js"),l=r("./littleEndianByteArrayParser.js"),s=r("./readPart10Header.js"),o=r("./sharedCopy.js"),u=r("./byteArrayParser.js"),c=r("./parseDicomDataSet.js"),d="1.2.840.10008.1.2.1",h="1.2.840.10008.1.2",b="1.2.840.10008.1.2.2";function k(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw new Error("dicomParser.parseDicom: missing required parameter 'byteArray'");var d,h=function(i){if(void 0===i.elements.x00020010)throw new Error("dicomParser.parseDicom: missing required meta header attribute 0002,0010");var r=i.elements.x00020010;return r&&r.Value||u.readFixedString(e,r.dataOffset,r.length)};function k(s){var u=h(s),d=function(e){return"1.2.840.10008.1.2"!==e}(u),k=function(a,s){var u="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0);if("1.2.840.10008.1.2.1.99"===a){if(i&&i.inflater){var c=i.inflater(e,s);return new f.default(l.default,c,0)}if(!0===u){var d=r("zlib"),h=Object(o.default)(e,s,e.length-s),k=d.inflateRawSync(h),w=Object(t.default)(e,k.length+s);return e.copy(w,0,0,s),k.copy(w,s),new f.default(l.default,w,0)}if("undefined"!=typeof pako){var _=e.slice(s),m=pako.inflateRaw(_),p=Object(t.default)(e,m.length+s);return p.set(e.slice(0,s),0),p.set(m,s),new f.default(l.default,p,0)}throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax"}return a===b?new f.default(n.default,e,s):new f.default(l.default,e,s)}(u,s.position),w=new a.default(k.byteArrayParser,k.byteArray,{});w.warnings=k.warnings;try{d?c.parseDicomDataSetExplicit(w,k,k.byteArray.length,i):c.parseDicomDataSetImplicit(w,k,k.byteArray.length,i)}catch(e){throw{exception:e,dataSet:w}}return w}return function(e,i){for(var r in e.elements)e.elements.hasOwnProperty(r)&&(i.elements[r]=e.elements[r]);return void 0!==e.warnings&&(i.warnings=e.warnings.concat(i.warnings)),i}(d=Object(s.default)(e,i),k(d))}},"./parseDicomDataSet.js":function(e,i,r){r.r(i),r.d(i,"parseDicomDataSetExplicit",(function(){return f})),r.d(i,"parseDicomDataSetImplicit",(function(){return a}));var t=r("./readDicomElementExplicit.js"),n=r("./readDicomElementImplicit.js");function f(e,i,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?i.byteArray.length:r,void 0===i)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(ri.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var f=e.elements;i.positionr)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function a(e,i,r){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?e.byteArray.length:r,void 0===i)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(ri.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var f=e.elements;i.position= 0";if(r>=a.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var s=a[r],o=n(l,s);if(void 0===o)throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";var u=f(r,a,l,o);return Object(t.default)(e,i,o,u,l)}},"./readEncapsulatedPixelData.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return a}));var t=r("./readEncapsulatedImageFrame.js"),n=r("./readEncapsulatedPixelDataFromFragments.js"),f=!1;function a(e,i,r){if(f||(f=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),void 0===e)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if(!0!==i.encapsulatedPixelData)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(!0!==i.hadUndefinedLength)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelData: parameter 'frame' must be >= 0";return 0!==i.basicOffsetTable.length?Object(t.default)(e,i,r):Object(n.default)(e,i,0,i.fragments.length)}},"./readEncapsulatedPixelDataFromFragments.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return s}));var t=r("./alloc.js"),n=r("./byteStream.js"),f=r("./readSequenceItem.js"),a=r("./sharedCopy.js"),l=function(e,i,r){for(var t=0,n=i;n= 0";if(r>=i.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(s<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(r+s>i.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var u=new n.default(e.byteArrayParser,e.byteArray,i.dataOffset),c=Object(f.default)(u);if("xfffee000"!==c.tag)throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";u.seek(c.length);var d=u.position;if(1===s)return Object(a.default)(u.byteArray,d+o[r].offset+8,o[r].length);for(var h=l(o,r,s),b=Object(t.default)(u.byteArray,h),k=0,w=r;w1&&void 0!==arguments[1]?arguments[1]:{};if(void 0===e)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var r=i.TransferSyntaxUID,l=new t.default(f.default,e);return function(){var e=[],t={};if(!function(){if(l.getSize()<=132&&r)return!1;if(l.seek(128),"DICM"!==l.readFixedString(4)){if(!(i||{}).TransferSyntaxUID)throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file.";return l.seek(0),!1}return!0}())return l.position=0,{elements:{x00020010:{tag:"x00020010",vr:"UI",Value:r}},warnings:e};for(;l.position"x0002ffff"){l.position=s;break}o.parser=f.default,t[o.tag]=o}var u=new n.default(l.byteArrayParser,l.byteArray,t);return u.warnings=l.warnings,u.position=l.position,u}()}},"./readSequenceElementExplicit.js":function(e,i,r){r.r(i),r.d(i,"default",(function(){return o}));var t=r("./dataSet.js"),n=r("./readDicomElementExplicit.js"),f=r("./readSequenceItem.js"),a=r("./readTag.js"),l=r("./parseDicomDataSet.js");function s(e,i){var r=Object(f.default)(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=function(e,i){for(var r={};e.position0&&a<=12&&f>0&&f<=function(e,i){switch(e){case 2:return i%4==0&&i%100||i%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}}(a,l)))throw"invalid DA '".concat(e,"'");return{year:r,month:t,day:n}}var f,a,l;if(i)throw"invalid DA '".concat(e,"'")}r.r(i),r.d(i,"default",(function(){return t}))},"./util/parseTM.js":function(e,i,r){function t(e,i){if(e.length>=2){var r=parseInt(e.substring(0,2),10),t=e.length>=4?parseInt(e.substring(2,4),10):void 0,n=e.length>=6?parseInt(e.substring(4,6),10):void 0,f=e.length>=8?e.substring(7,13):void 0,a=f?parseInt(f,10)*Math.pow(10,6-f.length):void 0;if(i&&(isNaN(r)||void 0!==t&&isNaN(t)||void 0!==n&&isNaN(n)||void 0!==a&&isNaN(a)||r<0||r>23||t&&(t<0||t>59)||n&&(n<0||n>59)||a&&(a<0||a>999999)))throw"invalid TM '".concat(e,"'");return{hours:r,minutes:t,seconds:n,fractionalSeconds:a}}if(i)throw"invalid TM '".concat(e,"'")}r.r(i),r.d(i,"default",(function(){return t}))},"./util/util.js":function(e,i,r){r.r(i),r.d(i,"isStringVr",(function(){return n})),r.d(i,"isPrivateTag",(function(){return f})),r.d(i,"parsePN",(function(){return a}));var t={AE:!0,AS:!0,AT:!1,CS:!0,DA:!0,DS:!0,DT:!0,FL:!1,FD:!1,IS:!0,LO:!0,LT:!0,OB:!1,OD:!1,OF:!1,OW:!1,PN:!0,SH:!0,SL:!1,SQ:!1,SS:!1,ST:!0,TM:!0,UI:!0,UL:!1,UN:void 0,UR:!0,US:!1,UT:!0},n=function(e){return t[e]},f=function(e){var i=parseInt(e[4],16);if(isNaN(i))throw"dicomParser.isPrivateTag: cannot parse last character of group";return i%2==1},a=function(e){if(void 0!==e){var i=e.split("^");return{familyName:i[0],givenName:i[1],middleName:i[2],prefix:i[3],suffix:i[4]}}}},"./version.js":function(e,i,r){r.r(i),i.default="1.8.12"},zlib:function(i,r){i.exports=e}})},e.exports=t(r(559))},475:e=>{var i=function(){var e=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),i=4017,r=799,t=3406,n=2276,f=1567,a=3784,l=5793,s=2896;function o(){}function u(e,i){for(var r,t,n=0,f=[],a=16;a>0&&!e[a-1];)a--;f.push({children:[],index:0});var l,s=f[0];for(r=0;r0;){if(0===f.length)throw new Error("Could not recreate Huffman Table");s=f.pop()}for(s.index++,f.push(s);f.length<=r;)f.push(l={children:[],index:0}),s.children[s.index]=l.children,s=l;n++}r+10)return k--,b>>k&1;if(255==(b=i[r++])){var e=i[r++];if(e)throw new Error("unexpected marker: "+(b<<8|e).toString(16))}return k=7,b>>>7}function _(e){for(var i,r=e;null!==(i=w());){if("number"==typeof(r=r[i]))return r;if("object"!=typeof r)throw new Error("invalid huffman sequence")}return null}function m(e){for(var i=0;e>0;){var r=w();if(null===r)return;i=i<<1|r,e--}return i}function p(e){var i=m(e);return i>=1<0)v--;else for(var t=a,n=l;t<=n;){var f=_(i.huffmanTableAC),s=15&f,u=f>>4;if(0!==s)r[e[t+=u]]=p(s)*(1<>4,0===d)f<15?(v=m(f)+(1<>4;if(0!==l)r[e[f+=s]]=p(l),f++;else{if(s<15)break;f+=16}}};var C,D,x,I,B=0;for(D=1==L?n[0].blocksPerLine*n[0].blocksPerColumn:c*t.mcusPerColumn,f||(f=D);B=65488&&C<=65495))break;r+=2}return r-h}function d(e,o){var u,c,d=[],h=o.blocksPerLine,b=o.blocksPerColumn,k=h<<3,_=new Int32Array(64),m=new Uint8Array(64);function p(e,u,c){var d,h,b,k,w,_,m,p,v,g,y=o.quantizationTable,E=c;for(g=0;g<64;g++)E[g]=e[g]*y[g];for(g=0;g<8;++g){var A=8*g;0!=E[1+A]||0!=E[2+A]||0!=E[3+A]||0!=E[4+A]||0!=E[5+A]||0!=E[6+A]||0!=E[7+A]?(d=l*E[0+A]+128>>8,h=l*E[4+A]+128>>8,b=E[2+A],k=E[6+A],w=s*(E[1+A]-E[7+A])+128>>8,p=s*(E[1+A]+E[7+A])+128>>8,_=E[3+A]<<4,m=E[5+A]<<4,v=d-h+1>>1,d=d+h+1>>1,h=v,v=b*a+k*f+128>>8,b=b*f-k*a+128>>8,k=v,v=w-m+1>>1,w=w+m+1>>1,m=v,v=p+_+1>>1,_=p-_+1>>1,p=v,v=d-k+1>>1,d=d+k+1>>1,k=v,v=h-b+1>>1,h=h+b+1>>1,b=v,v=w*n+p*t+2048>>12,w=w*t-p*n+2048>>12,p=v,v=_*r+m*i+2048>>12,_=_*i-m*r+2048>>12,m=v,E[0+A]=d+p,E[7+A]=d-p,E[1+A]=h+m,E[6+A]=h-m,E[2+A]=b+_,E[5+A]=b-_,E[3+A]=k+w,E[4+A]=k-w):(v=l*E[0+A]+512>>10,E[0+A]=v,E[1+A]=v,E[2+A]=v,E[3+A]=v,E[4+A]=v,E[5+A]=v,E[6+A]=v,E[7+A]=v)}for(g=0;g<8;++g){var M=g;0!=E[8+M]||0!=E[16+M]||0!=E[24+M]||0!=E[32+M]||0!=E[40+M]||0!=E[48+M]||0!=E[56+M]?(d=l*E[0+M]+2048>>12,h=l*E[32+M]+2048>>12,b=E[16+M],k=E[48+M],w=s*(E[8+M]-E[56+M])+2048>>12,p=s*(E[8+M]+E[56+M])+2048>>12,_=E[24+M],m=E[40+M],v=d-h+1>>1,d=d+h+1>>1,h=v,v=b*a+k*f+2048>>12,b=b*f-k*a+2048>>12,k=v,v=w-m+1>>1,w=w+m+1>>1,m=v,v=p+_+1>>1,_=p-_+1>>1,p=v,v=d-k+1>>1,d=d+k+1>>1,k=v,v=h-b+1>>1,h=h+b+1>>1,b=v,v=w*n+p*t+2048>>12,w=w*t-p*n+2048>>12,p=v,v=_*r+m*i+2048>>12,_=_*i-m*r+2048>>12,m=v,E[0+M]=d+p,E[56+M]=d-p,E[8+M]=h+m,E[48+M]=h-m,E[16+M]=b+_,E[40+M]=b-_,E[24+M]=k+w,E[32+M]=k-w):(v=l*c[g+0]+8192>>14,E[0+M]=v,E[8+M]=v,E[16+M]=v,E[24+M]=v,E[32+M]=v,E[40+M]=v,E[48+M]=v,E[56+M]=v)}for(g=0;g<64;++g){var T=128+(E[g]+8>>4);u[g]=T<0?0:T>255?255:T}}w(k*b*8);for(var v=0;v255?255:e}o.prototype={load:function(e){var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=function(){var e=new Uint8Array(i.response||i.mozResponseArrayBuffer);this.parse(e),this.onload&&this.onload()}.bind(this),i.send(null)},parse:function(i){var r=1e3*this.opts.maxResolutionInMP*1e3,t=0;i.length;function n(){var e=i[t]<<8|i[t+1];return t+=2,e}function f(){var e=n(),r=i.subarray(t,t+e-2);return t+=r.length,r}function a(e){var i,r,t=1,n=1;for(r in e.components)e.components.hasOwnProperty(r)&&(t<(i=e.components[r]).h&&(t=i.h),n>4){if(A>>4!=1)throw new Error("DQT: invalid table spec");for(G=0;G<64;G++){M[e[G]]=n()}}else for(G=0;G<64;G++){M[e[G]]=i[t++]}b[15&A]=M}break;case 65472:case 65473:case 65474:n(),(l={}).extended=65473===p,l.progressive=65474===p,l.precision=i[t++],l.scanLines=n(),l.samplesPerLine=n(),l.components={},l.componentsOrder=[];var T=l.scanLines*l.samplesPerLine;if(T>r){var S=Math.ceil((T-r)/1e6);throw new Error(`maxResolutionInMP limit exceeded by ${S}MP`)}var P,O=i[t++];for(z=0;z>4,L=15&i[t+1],C=i[t+2];if(R<=0||L<=0)throw new Error("Invalid sampling factor, expected values above 0");l.componentsOrder.push(P),l.components[P]={h:R,v:L,quantizationIdx:C},t+=3}a(l),k.push(l);break;case 65476:var D=n();for(z=2;z>4?_:m)[15&x]=u(I,N)}break;case 65501:n(),s=n();break;case 65500:n(),n();break;case 65498:n();var F=i[t++],U=[];for(z=0;z>4],K.huffmanTableAC=_[15&j],U.push(K)}var H=i[t++],Y=i[t++],q=i[t++],X=c(i,t,l,U,s,H,Y,q>>4,15&q,this.opts);t+=X;break;case 65535:255!==i[t]&&t--;break;default:if(255==i[t-3]&&i[t-2]>=192&&i[t-2]<=254){t-=3;break}if(224===p||225==p){if(-1!==v)throw new Error(`first unknown JPEG marker at offset ${v.toString(16)}, second unknown JPEG marker ${p.toString(16)} at offset ${(t-1).toString(16)}`);v=t-1;const e=n();if(255===i[t+e-2]){t+=e-2;break}}throw new Error("unknown JPEG marker "+p.toString(16))}p=n()}if(1!=k.length)throw new Error("only single frame JPEGs supported");for(var z=0;zk){var r=Math.ceil((i-k)/1024/1024);throw new Error(`maxMemoryUsageInMB limit exceeded by at least ${r}MB`)}b=i}return o.resetMaxMemoryUsage=function(e){b=0,k=e},o.getBytesAllocated=function(){return b},o.requestMemoryAllocation=w,o}();e.exports=function(e,r={}){var t={colorTransform:void 0,useTArray:!1,formatAsRGBA:!0,tolerantDecoding:!0,maxResolutionInMP:100,maxMemoryUsageInMB:512,...r},n=new Uint8Array(e),f=new i;f.opts=t,i.resetMaxMemoryUsage(1024*t.maxMemoryUsageInMB*1024),f.parse(n);var a=t.formatAsRGBA?4:3,l=f.width*f.height*a;try{i.requestMemoryAllocation(l);var s={width:f.width,height:f.height,exifBuffer:f.exifBuffer,data:t.useTArray?new Uint8Array(l):Buffer.alloc(l)};f.comments.length>0&&(s.comments=f.comments)}catch(e){if(e instanceof RangeError)throw new Error("Could not allocate enough memory for the image. Required: "+l);if(e instanceof ReferenceError&&"Buffer is not defined"===e.message)throw new Error("Buffer is not globally defined in this environment. Consider setting useTArray to true");throw e}return f.copyToImageData(s,t.formatAsRGBA),s}},254:e=>{e.exports=__X_ITE_X3D__.jquery},497:()=>{},13:()=>{},722:()=>{},978:()=>{},559:()=>{}},__webpack_module_cache__={};function __webpack_require__(e){var i=__webpack_module_cache__[e];if(void 0!==i)return i.exports;var r=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(r.exports,r,r.exports,__webpack_require__),r.exports}__webpack_require__.n=e=>{var i=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(i,{a:i}),i},__webpack_require__.d=(e,i)=>{for(var r in i)__webpack_require__.o(i,r)&&!__webpack_require__.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:i[r]})},__webpack_require__.o=(e,i)=>Object.prototype.hasOwnProperty.call(e,i),(()=>{const e=__X_ITE_X3D__.Components;var i=__webpack_require__.n(e);const r=__X_ITE_X3D__.Fields;var t=__webpack_require__.n(r);const n=__X_ITE_X3D__.X3DFieldDefinition;var f=__webpack_require__.n(n);const a=__X_ITE_X3D__.FieldDefinitionArray;var l=__webpack_require__.n(a);const s=__X_ITE_X3D__.X3DNode;var o=__webpack_require__.n(s);const u=__X_ITE_X3D__.X3DSingleTextureNode;var c=__webpack_require__.n(u);const d=__X_ITE_X3D__.X3DConstants;var h=__webpack_require__.n(d);const b=__X_ITE_X3D__.Namespace;var k=__webpack_require__.n(b);const w=new Uint8Array([255,255,255,255]);function _(e){c().call(this,e),this.addType(h().X3DTexture3DNode);const i=this.getBrowser().getContext();this.target=i.TEXTURE_3D,this.width=0,this.height=0,this.depth=0}Object.assign(Object.setPrototypeOf(_.prototype,c().prototype),{initialize(){c().prototype.initialize.call(this),this._repeatS.addInterest("updateTextureParameters",this),this._repeatT.addInterest("updateTextureParameters",this),this._repeatR.addInterest("updateTextureParameters",this);const e=this.getBrowser().getContext();e.getVersion()<2||(e.bindTexture(e.TEXTURE_3D,this.getTexture()),e.texImage3D(e.TEXTURE_3D,0,e.RGBA,1,1,1,0,e.RGBA,e.UNSIGNED_BYTE,w))},getTarget(){return this.target},getTextureType:()=>3,getWidth(){return this.width},setWidth(e){this.width=e},getHeight(){return this.height},setHeight(e){this.height=e},getDepth(){return this.depth},setDepth(e){this.depth=e},clearTexture(){const e=this.getBrowser().getContext();this.setTextureData(1,1,1,!1,e.RGBA,w)},setTextureData(e,i,r,t,n,f){this.width=e,this.height=i,this.depth=r;const a=this.getBrowser().getContext();a.getVersion()<2||(this.setTexture(a.createTexture()),a.bindTexture(a.TEXTURE_3D,this.getTexture()),a.texImage3D(a.TEXTURE_3D,0,n,e,i,r,0,n,a.UNSIGNED_BYTE,f),this.setTransparent(t),this.updateTextureParameters(),this.addNodeEvent())},updateTextureParameters(){c().prototype.updateTextureParameters.call(this,this.target,this._textureProperties.getValue(),this.texturePropertiesNode,this.width,this.height,this._repeatS.getValue(),this._repeatT.getValue(),this._repeatR.getValue())},setShaderUniforms(e,i,r,t=i.x3d_Texture[0]){const n=this.getBrowser().getTexture3DUnit();e.activeTexture(e.TEXTURE0+n),e.bindTexture(e.TEXTURE_3D,this.getTexture()),e.uniform1i(t.texture3D,n)}}),Object.defineProperties(_,o().getStaticProperties("X3DTexture3DNode","Texturing3D",1));const m=_,p=k().add("X3DTexture3DNode",m),v=__X_ITE_X3D__.X3DCast;var g=__webpack_require__.n(v);function y(e){p.call(this,e),this.addType(h().ComposedTexture3D),this.addChildObjects(h().inputOutput,"update",new(t().SFTime)),this.textureNodes=[]}Object.assign(Object.setPrototypeOf(y.prototype,p.prototype),{initialize(){p.prototype.initialize.call(this),this._texture.addInterest("set_texture__",this),this._update.addInterest("update",this),this.set_texture__()},set_texture__(){const e=this.textureNodes;for(const i of e)i.removeInterest("set_update__",this);e.length=0;for(const i of this._texture){const r=g()(h().X3DTexture2DNode,i);r&&e.push(r)}for(const i of e)i.addInterest("set_update__",this);this.set_update__()},set_update__(){this._update.addEvent()},isComplete(){return this.textureNodes.every((e=>e.checkLoadState()===h().COMPLETE_STATE))},update(){const e=this.textureNodes;if(0!==e.length&&this.isComplete()){const i=this.getBrowser().getContext(),r=e[0].getWidth(),t=e[0].getHeight(),n=e.length,f=i.createFramebuffer();if(i.bindFramebuffer(i.FRAMEBUFFER,f),i.bindTexture(i.TEXTURE_3D,this.getTexture()),r!==this.getWidth()||t!==this.getHeight()||n!==this.getDepth()){const e=new Uint8Array(r*t*n*4);i.texImage3D(i.TEXTURE_3D,0,i.RGBA,r,t,n,0,i.RGBA,i.UNSIGNED_BYTE,e)}for(const[e,n]of this.textureNodes.entries())if(n.getWidth()===r&&n.getHeight()===t)if(i.bindTexture(i.TEXTURE_2D,n.getTexture()),i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,n.getTexture(),0),1===n.getTextureType())for(let n=0;ne.isTransparent()))),this.setLinear(e.some((e=>e.isLinear()))),this.setMipMaps(e.every((e=>e.canMipMaps()))),this.updateTextureParameters()}else this.clearTexture()}}),Object.defineProperties(y,{...o().getStaticProperties("ComposedTexture3D","Texturing3D",1,"texture","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"description",new(t().SFString)),new(f())(h().initializeOnly,"repeatS",new(t().SFBool)),new(f())(h().initializeOnly,"repeatT",new(t().SFBool)),new(f())(h().initializeOnly,"repeatR",new(t().SFBool)),new(f())(h().initializeOnly,"textureProperties",new(t().SFNode)),new(f())(h().inputOutput,"texture",new(t().MFNode))]),enumerable:!0}});const E=y,A=k().add("ComposedTexture3D",E),M=__X_ITE_X3D__.X3DUrlObject;var T=__webpack_require__.n(M);const S=__X_ITE_X3D__.Expressions;var P=__webpack_require__.n(S),O=__webpack_require__(254),R=__webpack_require__.n(O);const L=P()({NRRD:/^NRRD(\d+)\n/gy,field:/([\w\s]+):\s*(.+?)\n/gy,comment:/#[^\n]*\n/gy,newLine:/\n/gy});function C(){this.fieldFunction=new Map([["type",this.getType],["encoding",this.getEncoding],["dimension",this.getDimension],["sizes",this.getSizes],["endian",this.getEndian]])}Object.assign(C.prototype,{parse(e){return this.setInput(e),this.getNRRD()&&(this.getFields(),this.getData()),this.nrrd},setInput(e){this.dataView=new DataView(e),this.input=R().decodeText(e),this.lastIndex=0,this.nrrd={},this.littleEndian=!0},getNRRD(){return L.NRRD.parse(this)?(this.nrrd.nrrd=!0,this.nrrd.version=parseInt(this.result[1]),!0):(this.nrrd.nrrd=!1,!1)},getFields(){for(;L.comment.parse(this););for(;L.field.parse(this);){const e=this.result[1].toLowerCase(),i=this.result[2].trim().toLowerCase(),r=this.fieldFunction.get(e);for(r&&r.call(this,i);L.comment.parse(this););}},getType:(()=>{const e=new Map([["signed char",["signed char",1]],["int8",["signed char",1]],["int8_t",["signed char",1]],["uchar",["unsigned char",1]],["unsigned char",["unsigned char",1]],["uint8",["unsigned char",1]],["uint8_t",["unsigned char",1]],["short",["signed short",2]],["short int",["signed short",2]],["signed short",["signed short",2]],["signed short int",["signed short",2]],["int16",["signed short",2]],["int16_t",["signed short",2]],["ushort",["unsigned short",2]],["unsigned short",["unsigned short",2]],["unsigned short int",["unsigned short",2]],["uint16",["unsigned short",2]],["uint16_t",["unsigned short",2]],["int",["signed int",4]],["signed int",["signed int",4]],["int32",["signed int",4]],["int32_t",["signed int",4]],["uint",["unsigned int",4]],["unsigned int",["unsigned int",4]],["uint32",["unsigned int",4]],["uint32_t",["unsigned int",4]],["float",["float",4]],["double",["double",8]]]);return function(i){const r=e.get(i);if(void 0===r)throw new Error("Unsupported NRRD type '"+i+"'.");this.byteType=r[0],this.bytes=r[1]}})(),getEncoding:(()=>{const e=new Map([["ascii","ascii"],["txt","ascii"],["text","ascii"],["raw","raw"],["hex","hex"],["gz","gzip"],["gzip","gzip"]]);return function(i){const r=e.get(i);if(void 0===r)throw new Error("Unsupported NRRD encoding '"+i+"'.");this.encoding=r}})(),getDimension(e){const i=e.match(/(\d+)/);if(i){const e=parseInt(i[1]);switch(e){case 1:case 2:case 3:case 4:return void(this.dimension=e)}}throw new Error(`Unsupported NRRD dimension '${i?.[1]}', must be 1, 2, 3, or 4.`)},getSizes(e){const i=/\s*(\d+)/gy,r=[];let t;for(;t=i.exec(e);)r.push(parseInt(t[1]));switch(r.length){case 1:return this.nrrd.components=1,this.nrrd.width=r[0],this.nrrd.height=1,void(this.nrrd.depth=1);case 2:return this.nrrd.components=1,this.nrrd.width=r[0],this.nrrd.height=r[1],void(this.nrrd.depth=1);case 3:return this.nrrd.components=1,this.nrrd.width=r[0],this.nrrd.height=r[1],void(this.nrrd.depth=r[2]);case 4:return this.nrrd.components=r[0],this.nrrd.width=r[1],this.nrrd.height=r[2],void(this.nrrd.depth=r[3]);default:throw new Error("Unsupported NRRD sizes.")}},getEndian(e){if("little"!==e){if("big"!==e)throw new Error("Unsupported NRRD endian, must be either 'little' or 'big'.");this.littleEndian=!1}else this.littleEndian=!0},getData(){switch(this.encoding){case"ascii":this.ascii();break;case"raw":this.raw();break;case"hex":this.hex();break;case"gzip":this.gzip()}},ascii(){const e=this.nrrd.components*this.nrrd.width*this.nrrd.height*this.nrrd.depth,i=new Uint8Array(e);this.nrrd.data=i;const r=this.input.substring(this.lastIndex);if(!r.length)return;const t=r.trim().split(/\s+/),n=t.length;switch(this.byteType){case"signed char":case"unsigned char":for(let e=0;eparseInt(e,16)));return this.dataView=new DataView(e.buffer),void this.raw()}}throw new Error("Invalid NRRD data.")},gzip(){try{if(!L.newLine.parse(this))throw new Error("Invalid NRRD data.");const e=this.dataView.buffer.slice(this.lastIndex),i=R().ungzip(e);this.dataView=new DataView(i),this.raw()}catch(e){throw new Error(`Invalid NRRD data: ${e}.`)}}});const D=C,x=k().add("NRRDParser",D);var I=Object.defineProperty,B={hSamp:0,quantTableSel:0,vSamp:0},N=class{buffer;index;constructor(e,i,r){this.buffer=new Uint8Array(e,i,r),this.index=0}get16(){const e=(this.buffer[this.index]<<8)+this.buffer[this.index+1];return this.index+=2,e}get8(){const e=this.buffer[this.index];return this.index+=1,e}},F=class{dimX=0;dimY=0;numComp=0;precision=0;components=[];read(e){let i,r=0;const t=e.get16();r+=2,this.precision=e.get8(),r+=1,this.dimY=e.get16(),r+=2,this.dimX=e.get16(),r+=2,this.numComp=e.get8(),r+=1;for(let n=1;n<=this.numComp;n+=1){if(r>t)throw new Error("ERROR: frame format error");const n=e.get8();if(r+=1,r>=t)throw new Error("ERROR: frame format error [c>=Lf]");i=e.get8(),r+=1,this.components[n]||(this.components[n]={...B}),this.components[n].hSamp=i>>4,this.components[n].vSamp=15&i,this.components[n].quantTableSel=e.get8(),r+=1}if(r!==t)throw new Error("ERROR: frame format error [Lf!=count]");return 1}};((e,i)=>{for(var r in i)I(e,r,{get:i[r],enumerable:!0})})({},{crc32:()=>Y,crcTable:()=>H,createArray:()=>U,makeCRCTable:()=>j});var U=(...e)=>{if(e.length>1){const i=e[0],r=e.slice(1),t=[];for(let e=0;e>>1:e>>>1;i[r]=e}return i},H=j(),Y=function(e){const i=new Uint8Array(e);let r=~0;for(let e=0;e>>8^H[255&(r^i[e])];return~r>>>0},q=class e{static MSB=2147483648;l;th;v;tc;constructor(){this.l=U(4,2,16),this.th=[0,0,0,0],this.v=U(4,2,16,200),this.tc=[[0,0],[0,0],[0,0],[0,0]]}read(e,i){let r,t,n,f,a,l=0;const s=e.get16();for(l+=2;l3)throw new Error("ERROR: Huffman table ID > 3");if(n=r>>4,n>2)throw new Error("ERROR: Huffman table [Table class > 2 ]");for(this.th[t]=1,this.tc[t][n]=1,f=0;f<16;f+=1)this.l[t][n][f]=e.get8(),l+=1;for(f=0;f<16;f+=1)for(a=0;as)throw new Error("ERROR: Huffman table format error [count>Lh]");this.v[t][n][f][a]=e.get8(),l+=1}}if(l!==s)throw new Error("ERROR: Huffman table format error [count!=Lf]");for(f=0;f<4;f+=1)for(a=0;a<2;a+=1)0!==this.tc[f][a]&&this.buildHuffTable(i[f][a],this.l[f][a],this.v[f][a]);return 1}buildHuffTable(i,r,t){let n,f,a,l,s;for(f=0,a=0;a<8;a+=1)for(l=0;l>a+1;s+=1)i[f]=t[a][l]|a+1<<8,f+=1;for(a=1;f<256;a+=1,f+=1)i[f]=a|e.MSB;for(n=1,f=0,a=8;a<16;a+=1)for(l=0;l>a-7;s+=1)i[256*n+f]=t[a][l]|a+1<<8,f+=1;if(f>=256){if(f>256)throw new Error("ERROR: Huffman table error(1)!");f=0,n+=1}}}},X=class e{precision=[];tq=[0,0,0,0];quantTables=U(4,64);static enhanceQuantizationTable=function(e,i){for(let r=0;r<8;r+=1)e[i[0+r]]*=90,e[i[32+r]]*=90,e[i[16+r]]*=118,e[i[48+r]]*=49,e[i[40+r]]*=71,e[i[8+r]]*=126,e[i[56+r]]*=25,e[i[24+r]]*=106;for(let r=0;r<8;r+=1)e[i[0+8*r]]*=90,e[i[4+8*r]]*=90,e[i[2+8*r]]*=118,e[i[6+8*r]]*=49,e[i[5+8*r]]*=71,e[i[1+8*r]]*=126,e[i[7+8*r]]*=25,e[i[3+8*r]]*=106;for(let i=0;i<64;i+=1)e[i]>>=6};read(i,r){let t,n,f,a=0;const l=i.get16();for(a+=2;a3)throw new Error("ERROR: Quantization table ID > 3");if(this.precision[n]=t>>4,0===this.precision[n])this.precision[n]=8;else{if(1!==this.precision[n])throw new Error("ERROR: Quantization table precision error");this.precision[n]=16}if(this.tq[n]=1,8===this.precision[n]){for(f=0;f<64;f+=1){if(a>l)throw new Error("ERROR: Quantization table format error");this.quantTables[n][f]=i.get8(),a+=1}e.enhanceQuantizationTable(this.quantTables[n],r)}else{for(f=0;f<64;f+=1){if(a>l)throw new Error("ERROR: Quantization table format error");this.quantTables[n][f]=i.get16(),a+=2}e.enhanceQuantizationTable(this.quantTables[n],r)}}if(a!==l)throw new Error("ERROR: Quantization table error [count!=Lq]");return 1}},z={acTabSel:0,dcTabSel:0,scanCompSel:0},V=class{ah=0;al=0;numComp=0;selection=0;spectralEnd=0;components=[];read(e){let i,r,t=0;const n=e.get16();for(t+=2,this.numComp=e.get8(),t+=1,i=0;in)throw new Error("ERROR: scan header format error");this.components[i].scanCompSel=e.get8(),t+=1,r=e.get8(),t+=1,this.components[i].dcTabSel=r>>4,this.components[i].acTabSel=15&r}if(this.selection=e.get8(),t+=1,this.spectralEnd=e.get8(),t+=1,r=e.get8(),this.ah=r>>4,this.al=15&r,t+=1,t!==n)throw new Error("ERROR: scan header format error [count!=Ns]");return 1}},G=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}(),K=class e{static IDCT_P=[0,5,40,16,45,2,7,42,21,56,8,61,18,47,1,4,41,23,58,13,32,24,37,10,63,17,44,3,6,43,20,57,15,34,29,48,53,26,39,9,60,19,46,22,59,12,33,31,50,55,25,36,11,62,14,35,28,49,52,27,38,30,51,54];static TABLE=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63];static MAX_HUFFMAN_SUBTREE=50;static MSB=2147483648;static RESTART_MARKER_BEGIN=65488;static RESTART_MARKER_END=65495;buffer=null;stream=null;frame=new F;huffTable=new q;quantTable=new X;scan=new V;DU=U(10,4,64);HuffTab=U(4,2,12800);IDCT_Source=[];nBlock=[];acTab=U(10,1);dcTab=U(10,1);qTab=U(10,1);marker=0;markerIndex=0;numComp=0;restartInterval=0;selection=0;xDim=0;yDim=0;xLoc=0;yLoc=0;outputData=null;restarting=!1;mask=0;numBytes=0;precision=void 0;components=[];getter=null;setter=null;output=null;selector=null;constructor(e,i){this.buffer=e??null,this.numBytes=i??0}decompress(e,i,r){return this.decode(e,i,r).buffer}decode(i,r,t,n){let f=0;const a=[];let l,s;const o=[],u=[];let c;i&&(this.buffer=i),void 0!==n&&(this.numBytes=n),this.stream=new N(this.buffer,r,t),this.buffer=null,this.xLoc=0,this.yLoc=0;let d=this.stream.get16();if(65496!==d)throw new Error("Not a JPEG file");for(d=this.stream.get16();d>>4!=4092||65476===d;){switch(d){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,e.TABLE);break;case 65501:this.restartInterval=this.readNumber()??0;break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(d>>8!=255)throw new Error("ERROR: format throw new IOException! (decode)")}d=this.stream.get16()}if(d<65472||d>65479)throw new Error("ERROR: could not handle arithmetic code!");this.frame.read(this.stream),d=this.stream.get16();do{for(;65498!==d;){switch(d){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,e.TABLE);break;case 65501:this.restartInterval=this.readNumber()??0;break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(d>>8!=255)throw new Error("ERROR: format throw new IOException! (Parser.decode)")}d=this.stream.get16()}switch(this.precision=this.frame.precision,this.components=this.frame.components,this.numBytes||(this.numBytes=Math.round(Math.ceil(this.precision/8))),1===this.numBytes?this.mask=255:this.mask=65535,this.scan.read(this.stream),this.numComp=this.scan.numComp,this.selection=this.scan.selection,1===this.numBytes&&3===this.numComp?(this.getter=this.getValueRGB,this.setter=this.setValueRGB,this.output=this.outputRGB):(this.getter=this.getValue8,this.setter=this.setValue8,this.output=this.outputSingle),this.selection){case 2:this.selector=this.select2;break;case 3:this.selector=this.select3;break;case 4:this.selector=this.select4;break;case 5:this.selector=this.select5;break;case 6:this.selector=this.select6;break;case 7:this.selector=this.select7;break;default:this.selector=this.select1}for(l=0;l=e.RESTART_MARKER_BEGIN&&d<=e.RESTART_MARKER_END))break}65500===d&&1===f&&(this.readNumber(),d=this.stream.get16())}while(65497!==d&&this.xLoc>1)}select6(e){return this.getPreviousY(e)+(this.getPreviousX(e)-this.getPreviousXY(e)>>1)}select7(e){return(this.getPreviousX(e)+this.getPreviousY(e))/2}decodeRGB(i,r,t){if(null===this.selector)throw new Error("decode hasn't run yet");let n,f,a,l,s,o,u;for(i[0]=this.selector(0),i[1]=this.selector(1),i[2]=this.selector(2),l=0;l=65280)return s;for(i[l]=this.IDCT_Source[0]=i[l]+this.getn(t,s,r,t),this.IDCT_Source[0]*=a[0],u=1;u<64;u+=1){if(s=this.getHuffmanValue(n,r,t),s>=65280)return s;if(u+=s>>4,15&s)this.IDCT_Source[e.IDCT_P[u]]=this.getn(t,15&s,r,t)*a[u];else if(!(s>>4))break}}return 0}decodeSingle(i,r,t){if(null===this.selector)throw new Error("decode hasn't run yet");let n,f,a,l;for(this.restarting?(this.restarting=!1,i[0]=1<=65280)return n;if(a=this.getn(i,n,r,t),l=a>>8,l>=e.RESTART_MARKER_BEGIN&&l<=e.RESTART_MARKER_END)return l;i[0]+=a}return 0}getHuffmanValue(i,r,t){let n,f;if(!this.stream)throw new Error("stream not initialized");if(t[0]<8?(r[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f):t[0]-=8,n=i[r[0]>>t[0]],n&e.MSB){if(0!==this.markerIndex)return this.markerIndex=0,65280|this.marker;r[0]&=65535>>16-t[0],r[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f,n=i[256*(255&n)+(r[0]>>t[0])],t[0]+=8}if(t[0]+=8-(n>>8),t[0]<0)throw new Error("index="+t[0]+" temp="+r[0]+" code="+n+" in HuffmanValue()");return t[0]>16-t[0],255&n)}getn(e,i,r,t){let n,f;if(null===this.stream)throw new Error("stream not initialized");if(0===i)return 0;if(16===i)return e[0]>=0?-32768:32768;if(t[0]-=i,t[0]>=0){if(t[0]>t[0],r[0]&=65535>>16-t[0]}else{if(r[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f,t[0]+=8,t[0]<0){if(0!==this.markerIndex)return this.markerIndex=0,(65280|this.marker)<<8;r[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=f,t[0]+=8}if(t[0]<0)throw new Error("index="+t[0]+" in getn()");if(t[0]>t[0],r[0]&=65535>>16-t[0]}return n<1<0?this.getter(this.yLoc*this.xDim+this.xLoc-1,e):this.yLoc>0?this.getPreviousY(e):1<0&&this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc-1,e):this.getPreviousY(e)}getPreviousY(e=0){if(null===this.getter)throw new Error("decode hasn't run yet");return this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc,e):this.getPreviousX(e)}isLastPixel(){return this.xLoc===this.xDim-1&&this.yLoc===this.yDim-1}outputSingle(e){if(null===this.setter)throw new Error("decode hasn't run yet");this.xLoc=this.xDim&&(this.yLoc+=1,this.xLoc=0))}outputRGB(e){if(null===this.setter)throw new Error("decode hasn't run yet");const i=this.yLoc*this.xDim+this.xLoc;this.xLoc=this.xDim&&(this.yLoc+=1,this.xLoc=0))}setValue8(e,i){if(!this.outputData)throw new Error("output data not ready");this.outputData[e]=G?i:(255&i)<<8|i>>8&255}getValue8(e){if(null===this.outputData)throw new Error("output data not ready");if(G)return this.outputData[e];{const i=this.outputData[e];return(255&i)<<8|i>>8&255}}setValueRGB(e,i,r=0){null!==this.outputData&&(this.outputData[3*e+r]=i)}getValueRGB(e,i){if(null===this.outputData)throw new Error("output data not ready");return this.outputData[3*e+i]}readApp(){if(null===this.stream)return null;let e=0;const i=this.stream.get16();for(e+=2;e{switch(this.transferSyntax){case"1.2.840.10008.1.2":case"1.2.840.10008.1.2.1":case"1.2.840.10008.1.2.1.99":e=this.decodeLittleEndian(e);break;case"1.2.840.10008.1.2.2":e=this.decodeBigEndian(e);break;case"1.2.840.10008.1.2.5":e=this.decodeRLE(e);break;case"1.2.840.10008.1.2.4.50":case"1.2.840.10008.1.2.4.51":e=this.decodeJPEGBaseline(e);break;case"1.2.840.10008.1.2.4.57":case"1.2.840.10008.1.2.4.70":e=this.decodeJPEGLossless(e);break;case"1.2.840.10008.1.2.4.80":case"1.2.840.10008.1.2.4.81":e=this.decodeJPEGLS(e);break;case"1.2.840.10008.1.2.4.90":case"1.2.840.10008.1.2.4.91":e=this.decodeJPEG2000(e);break;case"1.2.840.10008.1.2.4.52":case"1.2.840.10008.1.2.4.53":case"1.2.840.10008.1.2.4.54":case"1.2.840.10008.1.2.4.55":case"1.2.840.10008.1.2.4.56":case"1.2.840.10008.1.2.4.58":case"1.2.840.10008.1.2.4.59":case"1.2.840.10008.1.2.4.60":case"1.2.840.10008.1.2.4.61":case"1.2.840.10008.1.2.4.62":case"1.2.840.10008.1.2.4.63":case"1.2.840.10008.1.2.4.64":case"1.2.840.10008.1.2.4.65":case"1.2.840.10008.1.2.4.66":case"1.2.840.10008.1.2.4.92":case"1.2.840.10008.1.2.4.93":throw new Error("DICOM: this JPEG encoding ("+this.transferSyntax+") is not supported.");default:throw new Error("DICOM: unsupported transfer syntax '"+this.transferSyntax+"'.")}if(e=this.getTypedArray(e),1===this.pixelRepresentation&&void 0!==this.bitsStored)for(var n=32-this.bitsStored,a=0,l=e.length;a>n;switch(this.photometricInterpretation){case"MONOCHROME1":case"MONOCHROME2":break;case"RGB":case"YBR_RCT":case"YBR_ICT":case"YBR_FULL_422":1===this.planarConfiguration&&(e=this.convertRGBColorByPlane(e));break;case"YBR_FULL":e=0===this.planarConfiguration?this.convertYBRFullByPixel(e):this.convertYBRFullByPlane(e);break;case"PALETTE COLOR":e=this.convertPaletteColor(e);break;default:throw new Error("DICOM: unsupported image type '"+this.photometricInterpretation+"'.")}e=this.flipImage(e,r);var s=this.getNormalizeOffsetAndFactor(e),o=i*t;for(a=0,l=e.length;a>8&255;return new Uint8Array(i,r,t)}var a;return e},decodeRLE(e){if(8===this.bitsAllocated)return this.planarConfiguration?this.decodeRLE8Planar(e):this.decodeRLE8(e);if(16===this.bitsAllocated)return this.decodeRLE16(e);throw new Error("DICOM: unsupported pixel format for RLE.")},decodeRLE8(e){const i=e,r=this.dicom.width*this.dicom.height,t=this.dicom.components,n=new ArrayBuffer(r*this.dicom.components),f=new DataView(i.buffer,i.byteOffset),a=new Int8Array(i.buffer,i.byteOffset),l=new Int8Array(n);let s=0;const o=f.getInt32(0,!0);for(let e=0;e=0&&e<=127)for(let i=0;i=-127){const i=a[n++];for(let r=0;r<1-e&&s=0&&e<=127)for(let i=0;i=-127){const i=f[t++];for(let r=0;r<1-e&&l=0&&e<=127)for(let i=0;i=-127){const i=f[s++];for(let n=0;n<1-e&&t{const e=Z();return function(i,r){const t=e._malloc(i.length);e.writeArrayToMemory(i,t);const n=e._malloc(4),f=e._malloc(4),a=e._malloc(4),l=e._malloc(4),s=e._malloc(4),o=e._malloc(4),u=e._malloc(4),c=e._malloc(4),d=e._malloc(4),h={result:e.ccall("jpegls_decode","number",["number","number","number","number","number","number","number","number","number","number","number"],[t,i.length,n,f,a,l,s,o,c,u,d]),width:e.getValue(a,"i32"),height:e.getValue(l,"i32"),bitsPerSample:e.getValue(s,"i32"),stride:e.getValue(o,"i32"),components:e.getValue(c,"i32"),allowedLossyError:e.getValue(u,"i32"),interleaveMode:e.getValue(d,"i32"),pixelData:void 0},b=e.getValue(n,"*");return h.bitsPerSample<=8?(h.pixelData=new Uint8Array(h.width*h.height*h.components),h.pixelData.set(new Uint8Array(e.HEAP8.buffer,b,h.pixelData.length))):r?(h.pixelData=new Int16Array(h.width*h.height*h.components),h.pixelData.set(new Int16Array(e.HEAP16.buffer,b,h.pixelData.length))):(h.pixelData=new Uint16Array(h.width*h.height*h.components),h.pixelData.set(new Uint16Array(e.HEAP16.buffer,b,h.pixelData.length))),e._free(t),e._free(b),e._free(n),e._free(f),e._free(a),e._free(l),e._free(s),e._free(o),e._free(c),e._free(d),h}})(),decodeJPEG2000(e){var i=this.bitsAllocated<=8?1:2,r=1===this.pixelRepresentation,t=this.decodeOpenJPEG(e,i,r);return t.nbChannels>1&&(this.photometricInterpretation="RGB"),new Uint8Array(t.pixelData.buffer)},decodeOpenJPEG:(()=>{const e=Q();return function(i,r,t){const n=e._malloc(i.length);e.writeArrayToMemory(i,n);const f=e._malloc(4),a=e._malloc(4),l=e._malloc(4),s=e._malloc(4),o=e._malloc(4),u=(new Date).getTime();if(0!==e.ccall("jp2_decode","number",["number","number","number","number","number","number","number"],[n,i.length,f,a,l,s,o]))return console.log("[opj_decode] decoding failed!"),e._free(n),e._free(e.getValue(f,"*")),e._free(l),e._free(s),e._free(a),void e._free(o);const c=e.getValue(f,"*"),d={length:e.getValue(a,"i32"),sx:e.getValue(l,"i32"),sy:e.getValue(s,"i32"),nbChannels:e.getValue(o,"i32"),perf_timetodecode:void 0,pixelData:void 0},h=d.sx*d.sy*d.nbChannels,b=new Int32Array(e.HEAP32.buffer,c,h);if(1===r)if(Uint8Array.from)d.pixelData=Uint8Array.from(b);else{d.pixelData=new Uint8Array(h);for(let e=0;e>i;return e.cleaned=t,t}const r=this.getLUT(),t=this.dicom.width*this.dicom.height,n=r.redPaletteColorLookupTableData,f=r.greenPaletteColorLookupTableData,a=r.bluePaletteColorLookupTableData,l=r.redPaletteColorLookupTableData.length;let s=0,o=0;const u=r.redPaletteColorLookupTableDescriptor[1],c=8===r.redPaletteColorLookupTableDescriptor[2]?0:8,d=i(n,c),h=i(f,c),b=i(a,c);let k=new Uint8Array(3*e.length);for(let i=0;iu+l-1?i=l-1:i-=u,k[o++]=d[i],k[o++]=h[i],k[o++]=b[i]}return k},getLUT(){return this.LUT||(this.LUT={},this.populatePaletteColorLut(this.dataSet,this.LUT)),this.LUT},populatePaletteColorLut(e,i){i.redPaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281101"),i.greenPaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281102"),i.bluePaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281103"),0===i.redPaletteColorLookupTableDescriptor[0]&&(i.redPaletteColorLookupTableDescriptor[0]=65536,i.greenPaletteColorLookupTableDescriptor[0]=65536,i.bluePaletteColorLookupTableDescriptor[0]=65536);const r=i.redPaletteColorLookupTableDescriptor[0],t=e.elements.x00281201.length===r?8:16;i.redPaletteColorLookupTableDescriptor[2]!==t&&(i.redPaletteColorLookupTableDescriptor[2]=t,i.greenPaletteColorLookupTableDescriptor[2]=t,i.bluePaletteColorLookupTableDescriptor[2]=t),i.redPaletteColorLookupTableData=this.getLutData(e,"x00281201",i.redPaletteColorLookupTableDescriptor),i.greenPaletteColorLookupTableData=this.getLutData(e,"x00281202",i.greenPaletteColorLookupTableDescriptor),i.bluePaletteColorLookupTableData=this.getLutData(e,"x00281203",i.bluePaletteColorLookupTableDescriptor)},getLutDescriptor(e,i){if(e.elements[i]&&6===e.elements[i].length)return[e.uint16(i,0),e.uint16(i,1),e.uint16(i,2)]},getLutData(e,i,r){const t=[],n=e.elements[i];for(let f=0;f{if(null===e)this.setLoadState(h().FAILED_STATE),this.clearTexture();else if(e instanceof ArrayBuffer){if(i.pathname.match(/\.ktx2?(?:\.gz)?$/)||i.href.match(/^data:image\/ktx2[;,]/))return this.setLinear(!0),this.setMipMaps(!1),this.getBrowser().getKTXDecoder().then((i=>i.loadKTXFromBuffer(e))).then((e=>this.setKTXTexture(e,i)));this.setLinear(!1),this.setMipMaps(!0);const r=(new x).parse(e);if(r.nrrd){const e=this.getInternalType(r.components),i=!(1&r.components);return this.setTextureData(r.width,r.height,r.depth,i,e,r.data),void this.setLoadState(h().COMPLETE_STATE)}const t=(new ie).parse(e);if(t.dicom){const e=this.getInternalType(t.components),i=!(1&t.components);return this.setTextureData(t.width,t.height,t.depth,i,e,t.data),void this.setLoadState(h().COMPLETE_STATE)}throw new Error("ImageTexture3D: no suitable file type handler found.")}}))},setKTXTexture(e,i){if(e.target!==this.getTarget())throw new Error("Invalid KTX texture target, must be 'TEXTURE_3D'.");fe()&&"data:"!==i.protocol&&console.info(`Done loading image texture 3D '${decodeURI(i.href)}'.`),this.setTexture(e),this.setTransparent(!1),this.setWidth(e.baseWidth),this.setHeight(e.baseHeight),this.setDepth(e.baseDepth),this.updateTextureParameters(),this.setLoadState(h().COMPLETE_STATE)},dispose(){T().prototype.dispose.call(this),p.prototype.dispose.call(this)}}),Object.defineProperties(ae,{...o().getStaticProperties("ImageTexture3D","Texturing3D",2,"texture","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"description",new(t().SFString)),new(f())(h().inputOutput,"load",new(t().SFBool)(!0)),new(f())(h().inputOutput,"url",new(t().MFString)),new(f())(h().inputOutput,"autoRefresh",new(t().SFTime)),new(f())(h().inputOutput,"autoRefreshTimeLimit",new(t().SFTime)(3600)),new(f())(h().initializeOnly,"repeatS",new(t().SFBool)),new(f())(h().initializeOnly,"repeatT",new(t().SFBool)),new(f())(h().initializeOnly,"repeatR",new(t().SFBool)),new(f())(h().initializeOnly,"textureProperties",new(t().SFNode))]),enumerable:!0}});const le=ae,se=k().add("ImageTexture3D",le);var oe=__webpack_require__(254);function ue(e){p.call(this,e),T().call(this,e),this.addType(h().ImageTextureAtlas),this.image=oe(""),this.urlStack=new(t().MFString)}Object.assign(Object.setPrototypeOf(ue.prototype,p.prototype),T().prototype,{initialize(){p.prototype.initialize.call(this),T().prototype.initialize.call(this),this.image.on("load",this.setImage.bind(this)),this.image.on("abort error",this.setError.bind(this)),this.image.prop("crossOrigin","Anonymous"),this.requestImmediateLoad().catch(Function.prototype)},unloadData(){this.clearTexture()},loadData(){this.urlStack.setValue(this._url),this.loadNext()},loadNext(){if(0===this.urlStack.length)return this.clearTexture(),void this.setLoadState(h().FAILED_STATE);this.URL=new URL(this.urlStack.shift(),this.getExecutionContext().getBaseURL()),"data:"!==this.URL.protocol&&(this.getCache()||this.URL.searchParams.set("_",Date.now())),this.image.attr("src",this.URL.href)},setError(e){"data:"!==this.URL.protocol&&console.warn(`Error loading image '${decodeURI(this.URL.href)}'`,e.type),this.loadNext()},setImage(){fe()&&"data:"!==this.URL.protocol&&console.info(`Done loading image '${decodeURI(this.URL.href)}'.`);try{const e=this.getBrowser().getContext();if(1===e.getVersion())return void this.setLoadState(h().COMPLETE_STATE);const i=this.image[0],r=i.width,t=i.height,n=e.createTexture(),f=e.createFramebuffer(),a=this._slicesOverX.getValue(),l=this._slicesOverY.getValue(),s=a*l,o=Math.floor(r/a),u=Math.floor(t/l),c=Math.min(this._numberOfSlices.getValue(),s),d=new Uint8Array(r*t*4),b=d.subarray(0,o*u*c*4);e.bindTexture(e.TEXTURE_3D,this.getTexture()),e.texImage3D(e.TEXTURE_3D,0,e.RGBA,o,u,c,0,e.RGBA,e.UNSIGNED_BYTE,d),e.bindFramebuffer(e.FRAMEBUFFER,f),e.bindTexture(e.TEXTURE_2D,n),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,r,t,0,e.RGBA,e.UNSIGNED_BYTE,i),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,n,0);let k=!1;for(let i=0,n=0;i>>8&255,s[t++]=255&r}break;case 3:s=new Uint8Array(3*l),o=i.RGB;for(let i=4,r=4+l,t=0;i>>16&255,s[t++]=r>>>8&255,s[t++]=255&r}break;case 4:s=new Uint8Array(4*l),o=i.RGBA;for(let i=4,r=4+l,t=0;i>>24&255,s[t++]=r>>>16&255,s[t++]=r>>>8&255,s[t++]=255&r}break;default:return void this.clearTexture()}this.setTextureData(t,n,f,a,o,s)}}),Object.defineProperties(he,{...o().getStaticProperties("PixelTexture3D","Texturing3D",1,"texture","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"description",new(t().SFString)),new(f())(h().inputOutput,"image",new(t().MFInt32)(0,0,0,0)),new(f())(h().initializeOnly,"repeatS",new(t().SFBool)),new(f())(h().initializeOnly,"repeatT",new(t().SFBool)),new(f())(h().initializeOnly,"repeatR",new(t().SFBool)),new(f())(h().initializeOnly,"textureProperties",new(t().SFNode))]),enumerable:!0}});const be=he,ke=k().add("PixelTexture3D",be),we=__X_ITE_X3D__.X3DSingleTextureCoordinateNode;var _e=__webpack_require__.n(we);const me=__X_ITE_X3D__.Vector3;var pe=__webpack_require__.n(me);function ve(e){_e().call(this,e),this.addType(h().TextureCoordinate3D)}Object.assign(Object.setPrototypeOf(ve.prototype,_e().prototype),{initialize(){_e().prototype.initialize.call(this),this._point.addInterest("set_point__",this),this.set_point__()},set_point__(){this.point=this._point.getValue(),this.length=this._point.length},isEmpty(){return 0===this.length},getSize(){return this.length},get1Point(e,i){if(e=0&&this.length){const r=this.point,t=e%this.length*3;i.push(r[t],r[t+1],r[t+2],1)}else i.push(0,0,0,1)},addPoints(e){const i=this.point,r=this.length;for(let t=0,n=0;t=0&&this.length){const r=this.point,t=e%this.length*4;i.push(r[t],r[t+1],r[t+2],r[t+3])}else i.push(0,0,0,1)},addPoints(e){const i=this.point,r=this.length;for(let t=0,n=0;t{const e=new(pe());return function(){const i=this._translation.getValue(),r=this._rotation.getValue(),t=this._scale.getValue(),n=this._center.getValue(),f=this.matrix;f.identity(),n.equals(pe().Zero)||f.translate(e.assign(n).negate()),t.equals(pe().One)||f.scale(t),r.equals(Oe().Identity)||f.rotate(r),n.equals(pe().Zero)||f.translate(n),i.equals(pe().Zero)||f.translate(i),this.setMatrix(f)}})()}),Object.defineProperties(Ce,{...o().getStaticProperties("TextureTransform3D","Texturing3D",1,"textureTransform","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"mapping",new(t().SFString)),new(f())(h().inputOutput,"translation",new(t().SFVec3f)),new(f())(h().inputOutput,"rotation",new(t().SFRotation)),new(f())(h().inputOutput,"scale",new(t().SFVec3f)(1,1,1)),new(f())(h().inputOutput,"center",new(t().SFVec3f))]),enumerable:!0}});const De=Ce,xe=k().add("TextureTransform3D",De);function Ie(e){Se().call(this,e),this.addType(h().TextureTransformMatrix3D)}Object.assign(Object.setPrototypeOf(Ie.prototype,Se().prototype),{initialize(){Se().prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},eventsProcessed(){this.setMatrix(this._matrix.getValue())}}),Object.defineProperties(Ie,{...o().getStaticProperties("TextureTransformMatrix3D","Texturing3D",1,"textureTransform","3.1"),fieldDefinitions:{value:new(l())([new(f())(h().inputOutput,"metadata",new(t().SFNode)),new(f())(h().inputOutput,"mapping",new(t().SFString)),new(f())(h().inputOutput,"matrix",new(t().SFMatrix4f))]),enumerable:!0}});const Be=Ie,Ne=k().add("TextureTransformMatrix3D",Be);i().add({name:"Texturing3D",concreteNodes:[A,se,de,ke,ye,Me,xe,Ne],abstractNodes:[p]});k().add("Texturing3DComponent",undefined)})()})(); \ No newline at end of file diff --git a/dist/assets/components/VolumeRenderingComponent.js b/dist/assets/components/VolumeRenderingComponent.js index 6372d79bb8..8933034866 100644 --- a/dist/assets/components/VolumeRenderingComponent.js +++ b/dist/assets/components/VolumeRenderingComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope diff --git a/dist/assets/components/VolumeRenderingComponent.min.js b/dist/assets/components/VolumeRenderingComponent.min.js index 23ec8413cc..e9b027954e 100644 --- a/dist/assets/components/VolumeRenderingComponent.min.js +++ b/dist/assets/components/VolumeRenderingComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const e=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var t={n:e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return t.d(n,{a:n}),n},d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const n=e.Components;var o=t.n(n);const r=e.PixelTexture;var i=t.n(r);const s=e.TextureProperties;var a=t.n(s);const l=e.Fields;var d=t.n(l);const u=e.X3DFieldDefinition;var h=t.n(u);const c=e.FieldDefinitionArray;var p=t.n(c);const g=e.X3DNode;var f=t.n(g);const _=e.X3DConstants;var m=t.n(_);const S=e.Namespace;var y=t.n(S);function x(e){f().call(this,e),this.addType(m().X3DVolumeRenderStyleNode),this.volumeDataNodes=new Set}Object.assign(Object.setPrototypeOf(x.prototype,f().prototype),{addShaderFields(e){},getUniformsText:()=>"",getFunctionsText:()=>"",getVolumeData(){return this.volumeDataNodes},addVolumeData(e){this.volumeDataNodes.add(e)},removeVolumeData(e){this.volumeDataNodes.delete(e)},getNormalText(e){let t="";return e?(t+="uniform sampler3D surfaceNormals_"+this.getId()+";\n",t+="\n",t+="vec4\n",t+="getNormal_"+this.getId()+" (in vec3 texCoord)\n",t+="{\n",t+=" vec3 n = texture (surfaceNormals_"+this.getId()+", texCoord) .xyz * 2.0 - 1.0;\n",t+="\n",t+=" return vec4 (normalize (x3d_TextureNormalMatrix * n), length (n));\n",t+="}\n"):(t+="\n",t+="vec4\n",t+="getNormal_"+this.getId()+" (in vec3 texCoord)\n",t+="{\n",t+=" vec4 offset = vec4 (1.0 / vec3 (textureSize (x3d_Texture3D [0], 0)), 0.0);\n",t+=" float i0 = texture (x3d_Texture3D [0], texCoord + offset .xww) .r;\n",t+=" float i1 = texture (x3d_Texture3D [0], texCoord - offset .xww) .r;\n",t+=" float i2 = texture (x3d_Texture3D [0], texCoord + offset .wyw) .r;\n",t+=" float i3 = texture (x3d_Texture3D [0], texCoord - offset .wyw) .r;\n",t+=" float i4 = texture (x3d_Texture3D [0], texCoord + offset .wwz) .r;\n",t+=" float i5 = texture (x3d_Texture3D [0], texCoord - offset .wwz) .r;\n",t+=" vec3 n = vec3 (i1 - i0, i3 - i2, i5 - i4);\n",t+="\n",t+=" return vec4 (normalize (x3d_TextureNormalMatrix * n), length (n));\n",t+="}\n"),t}}),Object.defineProperties(x,f().getStaticProperties("X3DVolumeRenderStyleNode","VolumeRendering",1));const N=x,v=y().add("X3DVolumeRenderStyleNode",N);function w(e){v.call(this,e),this.addType(m().X3DComposableVolumeRenderStyleNode)}Object.setPrototypeOf(w.prototype,v.prototype),Object.defineProperties(w,f().getStaticProperties("X3DComposableVolumeRenderStyleNode","VolumeRendering",1));const F=w,C=y().add("X3DComposableVolumeRenderStyleNode",F),b=e.X3DCast;var O=t.n(b);function I(e){C.call(this,e),this.addType(m().OpacityMapVolumeStyle)}Object.assign(Object.setPrototypeOf(I.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._transferFunction.addInterest("set_transferFunction__",this),this.set_transferFunction__())},set_transferFunction__(){this.transferFunctionNode=O()(m().X3DTexture2DNode,this._transferFunction),this.transferFunctionNode||(this.transferFunctionNode=O()(m().X3DTexture3DNode,this._transferFunction)),this.transferFunctionNode||(this.transferFunctionNode=this.getBrowser().getDefaultTransferFunction())},addShaderFields(e){this._enabled.getValue()&&e.addUserDefinedField(m().inputOutput,"transferFunction_"+this.getId(),new(d().SFNode)(this.transferFunctionNode))},getUniformsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+="// OpacityMapVolumeStyle\n",e+="\n",this.transferFunctionNode.getType().includes(m().X3DTexture2DNode)?(e+="uniform sampler2D transferFunction_"+this.getId()+";\n",e+="\n",e+="vec4\n",e+="getOpacityMapStyle_"+this.getId()+" (in vec4 originalColor)\n",e+="{\n",e+=" return texture (transferFunction_"+this.getId()+", originalColor .rg);\n",e+="}\n"):(e+="uniform sampler3D transferFunction_"+this.getId()+";\n",e+="\n",e+="vec4\n",e+="getOpacityMapStyle_"+this.getId()+" (in vec4 originalColor)\n",e+="{\n",e+=" return texture (transferFunction_"+this.getId()+", originalColor .rgb);\n",e+="}\n"),e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // OpacityMapVolumeStyle\n",e+="\n",e+=" textureColor = getOpacityMapStyle_"+this.getId()+" (textureColor);\n",e}}),Object.defineProperties(I,{...f().getStaticProperties("OpacityMapVolumeStyle","VolumeRendering",1,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"transferFunction",new(d().SFNode))]),enumerable:!0}});const V=I,D=y().add("OpacityMapVolumeStyle",V),T=Symbol(),P=Symbol(),M=Symbol(),U=Symbol();function E(){}Object.assign(E.prototype,{getDefaultVoxels(){return this[T]=this.getPrivateScene().createNode("PixelTexture3D",!1),this[T]._image=[1,1,1,1,255],this[T].repeatS=!0,this[T].repeatT=!0,this[T].repeatR=!0,this[T].setPrivate(!0),this[T].setup(),this.getDefaultVoxels=function(){return this[T]},Object.defineProperty(this,"getDefaultVoxels",{enumerable:!1}),this[T]},getDefaultVolumeStyle(){return this[P]=new D(this.getPrivateScene()),this[P].setPrivate(!0),this[P].setup(),this.getDefaultVolumeStyle=function(){return this[P]},Object.defineProperty(this,"getDefaultVolumeStyle",{enumerable:!1}),this[P]},getDefaultBlendedVolumeStyle(){return this[M]=new D(this.getPrivateScene()),this[M].setPrivate(!0),this[M].setup(),this.getDefaultBlendedVolumeStyle=function(){return this[M]},Object.defineProperty(this,"getDefaultBlendedVolumeStyle",{enumerable:!1}),this[M]},getDefaultTransferFunction(){const e=new(a())(this.getPrivateScene());return e._boundaryModeS="CLAMP_TO_EDGE",e._boundaryModeT="REPEAT",e._magnificationFilter="DEFAULT",e._minificationFilter="DEFAULT",e._generateMipMaps=!0,e._textureCompression="DEFAULT",e.setPrivate(!0),e.setup(),this[U]=new(i())(this.getPrivateScene()),this[U]._textureProperties=e,this[U]._image.width=256,this[U]._image.height=1,this[U]._image.comp=2,this[U]._image.array=Array.from({length:256},((e,t)=>t<<8|t)),this[U].setPrivate(!0),this[U].setup(),this.getDefaultTransferFunction=function(){return this[U]},Object.defineProperty(this,"getDefaultTransferFunction",{enumerable:!1}),this[U]}});const B=E,L=y().add("X3DVolumeRenderingContext",B);function j(e){C.call(this,e),this.addType(m().BlendedVolumeStyle)}Object.assign(Object.setPrototypeOf(j.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._weightTransferFunction1.addInterest("set_weightTransferFunction1__",this),this._weightTransferFunction2.addInterest("set_weightTransferFunction2__",this),this._renderStyle.addInterest("set_renderStyle__",this),this._voxels.addInterest("set_voxels__",this),this.set_weightTransferFunction1__(),this.set_weightTransferFunction2__(),this.set_renderStyle__(),this.set_voxels__())},addVolumeData(e){C.prototype.addVolumeData.call(this,e),this.renderStyleNode&&this.renderStyleNode.addVolumeData(e)},removeVolumeData(e){C.prototype.removeVolumeData.call(this,e),this.renderStyleNode&&this.renderStyleNode.removeVolumeData(e)},set_weightTransferFunction1__(){this.weightTransferFunction1Node=O()(m().X3DTexture2DNode,this._weightTransferFunction1)},set_weightTransferFunction2__(){this.weightTransferFunction2Node=O()(m().X3DTexture2DNode,this._weightTransferFunction2)},set_renderStyle__(){if(this.renderStyleNode){this.renderStyleNode.removeInterest("addNodeEvent",this);for(const e of this.getVolumeData())this.renderStyleNode.removeVolumeData(e)}if(this.renderStyleNode=O()(m().X3DComposableVolumeRenderStyleNode,this._renderStyle),this.renderStyleNode){this.renderStyleNode.addInterest("addNodeEvent",this);for(const e of this.getVolumeData())this.renderStyleNode.addVolumeData(e)}},set_voxels__(){this.voxelsNode=O()(m().X3DTexture3DNode,this._voxels)},addShaderFields(e){this._enabled.getValue()&&(e.addUserDefinedField(m().inputOutput,"weightConstant1_"+this.getId(),this._weightConstant1.copy()),e.addUserDefinedField(m().inputOutput,"weightConstant2_"+this.getId(),this._weightConstant2.copy()),this.weightTransferFunction1Node&&e.addUserDefinedField(m().inputOutput,"weightTransferFunction1_"+this.getId(),new(d().SFNode)(this.weightTransferFunction1Node)),this.weightTransferFunction2Node&&e.addUserDefinedField(m().inputOutput,"weightTransferFunction2_"+this.getId(),new(d().SFNode)(this.weightTransferFunction2Node)),this.voxelsNode&&e.addUserDefinedField(m().inputOutput,"voxels_"+this.getId(),new(d().SFNode)(this.voxelsNode)),this.getBrowser().getDefaultBlendedVolumeStyle().addShaderFields(e),this.renderStyleNode&&this.renderStyleNode.addShaderFields(e))},getUniformsText(){if(!this._enabled.getValue())return"";if(!this.voxelsNode)return"";let e="";e+="\n",e+="// BlendedVolumeStyle\n",e+="\n",e+="uniform float weightConstant1_"+this.getId()+";\n",e+="uniform float weightConstant2_"+this.getId()+";\n",this.weightTransferFunction1Node&&(e+="uniform sampler2D weightTransferFunction1_"+this.getId()+";\n"),this.weightTransferFunction2Node&&(e+="uniform sampler2D weightTransferFunction2_"+this.getId()+";\n"),e+="uniform sampler3D voxels_"+this.getId()+";\n";let t=this.getBrowser().getDefaultBlendedVolumeStyle().getUniformsText();this.renderStyleNode&&(t+=this.renderStyleNode.getUniformsText()),t=t.replace(/x3d_Texture3D\s*\[0\]/g,"voxels_"+this.getId()),e+="\n",e+=t,e+="\n",e+="vec4\n",e+="getBlendedStyle_"+this.getId()+" (in vec4 originalColor, in vec3 texCoord)\n",e+="{\n",e+=" vec4 blendColor_"+this.getId()+" = texture (voxels_"+this.getId()+", texCoord);";let n=this.getBrowser().getDefaultBlendedVolumeStyle().getFunctionsText();switch(this.renderStyleNode&&(n+=this.renderStyleNode.getFunctionsText()),n=n.replace(/textureColor/g,"blendColor_"+this.getId()),e+="\n",e+=n,this._weightFunction1.getValue()){default:e+=" float w1_"+this.getId()+" = weightConstant1_"+this.getId()+";\n";break;case"ALPHA0":e+=" float w1_"+this.getId()+" = originalColor .a;\n";break;case"ALPHA1":e+=" float w1_"+this.getId()+" = blendColor_ "+this.getId()+" .a;\n";break;case"ONE_MINUS_ALPHA0":e+=" float w1_"+this.getId()+" = 1.0 - originalColor .a;\n";break;case"ONE_MINUS_ALPHA1":e+=" float w1_"+this.getId()+" = 1.0 - blendColor_ "+this.getId()+" .a;\n";break;case"TABLE":this.weightTransferFunction1Node?e+=" float w1_"+this.getId()+" = texture (weightTransferFunction1_"+this.getId()+", vec2 (originalColor .a, blendColor_"+this.getId()+" .a)) .r;\n":e+=" float w1_"+this.getId()+" = weightConstant1_"+this.getId()+";\n"}switch(this._weightFunction2.getValue()){default:e+=" float w2_"+this.getId()+" = weightConstant2_"+this.getId()+";\n";break;case"ALPHA0":e+=" float w2_"+this.getId()+" = originalColor .a;\n";break;case"ALPHA1":e+=" float w2_"+this.getId()+" = blendColor_ "+this.getId()+" .a;\n";break;case"ONE_MINUS_ALPHA0":e+=" float w2_"+this.getId()+" = 1.0 - originalColor .a;\n";break;case"ONE_MINUS_ALPHA1":e+=" float w2_"+this.getId()+" = 1.0 - blendColor_ "+this.getId()+" .a;\n";break;case"TABLE":this.weightTransferFunction2Node?e+=" float w2_"+this.getId()+" = texture (weightTransferFunction2_"+this.getId()+", vec2 (originalColor .a, blendColor_"+this.getId()+" .a)) .r;\n":e+=" float w2_"+this.getId()+" = weightConstant2_"+this.getId()+";\n"}return e+="\n",e+=" return clamp (originalColor * w1_"+this.getId()+" + blendColor_"+this.getId()+" * w2_"+this.getId()+", 0.0, 1.0);\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";if(!this.voxelsNode)return"";let e="";return e+="\n",e+=" // BlendedVolumeStyle\n",e+="\n",e+=" textureColor = getBlendedStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(j,{...f().getStaticProperties("BlendedVolumeStyle","VolumeRendering",3,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"weightConstant1",new(d().SFFloat)(.5)),new(h())(m().inputOutput,"weightConstant2",new(d().SFFloat)(.5)),new(h())(m().inputOutput,"weightFunction1",new(d().SFString)("CONSTANT")),new(h())(m().inputOutput,"weightFunction2",new(d().SFString)("CONSTANT")),new(h())(m().inputOutput,"weightTransferFunction1",new(d().SFNode)),new(h())(m().inputOutput,"weightTransferFunction2",new(d().SFNode)),new(h())(m().inputOutput,"renderStyle",new(d().SFNode)),new(h())(m().inputOutput,"voxels",new(d().SFNode))]),enumerable:!0}});const A=j,z=y().add("BlendedVolumeStyle",A);function R(e){C.call(this,e),this.addType(m().BoundaryEnhancementVolumeStyle)}Object.assign(Object.setPrototypeOf(R.prototype,C.prototype),{addShaderFields(e){this._enabled.getValue()&&(e.addUserDefinedField(m().inputOutput,"retainedOpacity_"+this.getId(),this._retainedOpacity.copy()),e.addUserDefinedField(m().inputOutput,"boundaryOpacity_"+this.getId(),this._boundaryOpacity.copy()),e.addUserDefinedField(m().inputOutput,"opacityFactor_"+this.getId(),this._opacityFactor.copy()))},getUniformsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+="// BoundaryEnhancementVolumeStyle\n",e+="\n",e+="uniform float retainedOpacity_"+this.getId()+";\n",e+="uniform float boundaryOpacity_"+this.getId()+";\n",e+="uniform float opacityFactor_"+this.getId()+";\n",e+="\n",e+="vec4\n",e+="getBoundaryEnhancementStyle_"+this.getId()+" (in vec4 originalColor, in vec3 texCoord)\n",e+="{\n",e+=" float f0 = texture (x3d_Texture3D [0], texCoord) .r;\n",e+=" float f1 = texture (x3d_Texture3D [0], texCoord + vec3 (0.0, 0.0, 1.0 / float (textureSize (x3d_Texture3D [0], 0) .z))) .r;\n",e+=" float f = abs (f0 - f1);\n",e+="\n",e+=" float retainedOpacity = retainedOpacity_"+this.getId()+";\n",e+=" float boundaryOpacity = boundaryOpacity_"+this.getId()+";\n",e+=" float opacityFactor = opacityFactor_"+this.getId()+";\n",e+="\n",e+=" return vec4 (originalColor .rgb, originalColor .a * (retainedOpacity + boundaryOpacity * pow (f, opacityFactor)));\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // BoundaryEnhancementVolumeStyle\n",e+="\n",e+=" textureColor = getBoundaryEnhancementStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(R,{...f().getStaticProperties("BoundaryEnhancementVolumeStyle","VolumeRendering",2,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"retainedOpacity",new(d().SFFloat)(.2)),new(h())(m().inputOutput,"boundaryOpacity",new(d().SFFloat)(.9)),new(h())(m().inputOutput,"opacityFactor",new(d().SFFloat)(2))]),enumerable:!0}});const X=R,G=y().add("BoundaryEnhancementVolumeStyle",X);function H(e){C.call(this,e),this.addType(m().CartoonVolumeStyle)}Object.assign(Object.setPrototypeOf(H.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._surfaceNormals.addInterest("set_surfaceNormals__",this),this.set_surfaceNormals__())},set_surfaceNormals__(){this.surfaceNormalsNode=O()(m().X3DTexture3DNode,this._surfaceNormals)},addShaderFields(e){this._enabled.getValue()&&(e.addUserDefinedField(m().inputOutput,"colorSteps_"+this.getId(),this._colorSteps.copy()),e.addUserDefinedField(m().inputOutput,"orthogonalColor_"+this.getId(),this._orthogonalColor.copy()),e.addUserDefinedField(m().inputOutput,"parallelColor_"+this.getId(),this._parallelColor.copy()),this.surfaceNormalsNode&&e.addUserDefinedField(m().inputOutput,"surfaceNormals_"+this.getId(),new(d().SFNode)(this.surfaceNormalsNode)))},getUniformsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+="// CartoonVolumeStyle\n",e+="\n",e+="uniform int colorSteps_"+this.getId()+";\n",e+="uniform vec4 orthogonalColor_"+this.getId()+";\n",e+="uniform vec4 parallelColor_"+this.getId()+";\n",e+=this.getNormalText(this.surfaceNormalsNode),e+="\n",e+="vec3\n",e+="rgb2hsv_"+this.getId()+" (in vec3 color)\n",e+="{\n",e+=" float h = 0.0;\n",e+=" float s = 0.0;\n",e+=" float v = 0.0;\n",e+="\n",e+=" float min = min (min (color .r, color .g), color .b);\n",e+=" float max = max (max (color .r, color .g), color .b);\n",e+=" v = max; // value\n",e+="\n",e+=" float delta = max - min;\n",e+="\n",e+=" if (max != 0.0 && delta != 0.0)\n",e+=" {\n",e+=" s = delta / max; // s\n",e+="\n",e+=" if (color .r == max)\n",e+=" h = (color .g - color .b) / delta; // between yellow & magenta\n",e+=" else if (color .g == max)\n",e+=" h = 2.0 + (color .b - color .r) / delta; // between cyan & yellow\n",e+=" else\n",e+=" h = 4.0 + (color .r - color .g) / delta; // between magenta & cyan\n",e+="\n",e+=" h *= M_PI / 3.0; // radiants\n",e+=" if (h < 0.0)\n",e+=" h += M_PI * 2.0;\n",e+=" }\n",e+=" else\n",e+=" s = h = 0.0; // s = 0, h is undefined\n",e+="\n",e+=" return vec3 (h, s, v);\n",e+="}\n",e+="\n",e+="vec3\n",e+="hsv2rgb_"+this.getId()+" (in vec3 hsv)\n",e+="{\n",e+=" float h = hsv [0];\n",e+=" float s = clamp (hsv [1], 0.0, 1.0);\n",e+=" float v = clamp (hsv [2], 0.0, 1.0);\n",e+="\n",e+=" // H is given on [0, 2 * Pi]. S and V are given on [0, 1].\n",e+=" // RGB are each returned on [0, 1].\n",e+="\n",e+=" if (s == 0.0)\n",e+=" {\n",e+=" // achromatic (grey)\n",e+=" return vec3 (v, v, v);\n",e+=" }\n",e+=" else\n",e+=" {\n",e+=" float w = (h * (180.0 / M_PI)) / 60.0; // sector 0 to 5\n",e+="\n",e+=" float i = floor (w);\n",e+=" float f = w - i; // factorial part of h\n",e+=" float p = v * ( 1.0 - s );\n",e+=" float q = v * ( 1.0 - s * f );\n",e+=" float t = v * ( 1.0 - s * ( 1.0 - f ) );\n",e+="\n",e+=" switch (int (i) % 6)\n",e+=" {\n",e+=" case 0: return vec3 (v, t, p);\n",e+=" case 1: return vec3 (q, v, p);\n",e+=" case 2: return vec3 (p, v, t);\n",e+=" case 3: return vec3 (p, q, v);\n",e+=" case 4: return vec3 (t, p, v);\n",e+=" default: return vec3 (v, p, q);\n",e+=" }\n",e+=" }\n",e+="\n",e+=" return vec3 (0.0);\n",e+="}\n",e+="\n",e+="vec3\n",e+="mix_hsv_"+this.getId()+" (in vec3 a, in vec3 b, in float t)\n",e+="{\n",e+=" // Linearely interpolate in HSV space between source color @a a and destination color @a b by an amount of @a t.\n",e+=" // Source and destination color must be in HSV space.\n",e+="\n",e+=" float ha = a [0];\n",e+=" float sa = a [1];\n",e+=" float va = a [2];\n",e+="\n",e+=" float hb = b [0];\n",e+=" float sb = b [1];\n",e+=" float vb = b [2];\n",e+="\n",e+=" if (sa == 0.0)\n",e+=" ha = hb;\n",e+="\n",e+=" if (sb == 0.0)\n",e+=" hb = ha;\n",e+="\n",e+=" float range = abs (hb - ha);\n",e+="\n",e+=" if (range <= M_PI)\n",e+=" {\n",e+=" float h = ha + t * (hb - ha);\n",e+=" float s = sa + t * (sb - sa);\n",e+=" float v = va + t * (vb - va);\n",e+=" return vec3 (h, s, v);\n",e+=" }\n",e+="\n",e+=" float PI2 = M_PI * 2.0;\n",e+=" float step = (PI2 - range) * t;\n",e+=" float h = ha < hb ? ha - step : ha + step;\n",e+="\n",e+=" if (h < 0.0)\n",e+=" h += PI2;\n",e+="\n",e+=" else if (h > PI2)\n",e+=" h -= PI2;\n",e+="\n",e+=" float s = sa + t * (sb - sa);\n",e+=" float v = va + t * (vb - va);\n",e+=" return vec3 (h, s, v);\n",e+="}\n",e+="\n",e+="vec4\n",e+="getCartoonStyle_"+this.getId()+" (in vec4 originalColor, vec3 texCoord)\n",e+="{\n",e+=" vec4 surfaceNormal = getNormal_"+this.getId()+" (texCoord);\n",e+="\n",e+=" if (surfaceNormal .w == 0.0)\n",e+=" return vec4 (0.0);\n",e+="\n",e+=" vec4 orthogonalColor = orthogonalColor_"+this.getId()+";\n",e+=" vec4 parallelColor = parallelColor_"+this.getId()+";\n",e+=" int colorSteps = colorSteps_"+this.getId()+";\n",e+="\n",e+=" float steps = clamp (float (colorSteps), 1.0, 64.0);\n",e+=" float step = M_PI / 2.0 / steps;\n",e+=" float cosTheta = min (dot (surfaceNormal .xyz, normalize (vertex)), 1.0);\n",e+="\n",e+=" if (cosTheta < 0.0)\n",e+=" return vec4 (0.0);\n",e+="\n",e+=" float t = cos (min (floor (acos (cosTheta) / step) * (steps > 1.0 ? steps / (steps - 1.0) : 1.0), steps) * step);\n",e+=" vec3 orthogonalHSV = rgb2hsv_"+this.getId()+" (orthogonalColor .rgb);\n",e+=" vec3 parallelHSV = rgb2hsv_"+this.getId()+" (parallelColor .rgb);\n",e+="\n",e+=" return vec4 (hsv2rgb_"+this.getId()+" (mix_hsv_"+this.getId()+" (orthogonalHSV, parallelHSV, t)), originalColor .a);\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // CartoonVolumeStyle\n",e+="\n",e+=" textureColor = getCartoonStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(H,{...f().getStaticProperties("CartoonVolumeStyle","VolumeRendering",3,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"colorSteps",new(d().SFInt32)(4)),new(h())(m().inputOutput,"orthogonalColor",new(d().SFColorRGBA)(1,1,1,1)),new(h())(m().inputOutput,"parallelColor",new(d().SFColorRGBA)(0,0,0,1)),new(h())(m().inputOutput,"surfaceNormals",new(d().SFNode))]),enumerable:!0}});const k=H,Y=y().add("CartoonVolumeStyle",k);function q(e){C.call(this,e),this.addType(m().ComposedVolumeStyle),this.renderStyleNodes=[]}Object.assign(Object.setPrototypeOf(q.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._renderStyle.addInterest("set_renderStyle__",this),this.set_renderStyle__())},addVolumeData(e){C.prototype.addVolumeData.call(this,e);for(const t of this.renderStyleNodes)t.addVolumeData(e)},removeVolumeData(e){C.prototype.removeVolumeData.call(this,e);for(const t of this.renderStyleNodes)t.removeVolumeData(e)},set_renderStyle__(){const e=this.renderStyleNodes;for(const t of e){t.removeInterest("addNodeEvent",this);for(const e of this.getVolumeData())t.removeVolumeData(e)}e.length=0;for(const t of this._renderStyle){const n=O()(m().X3DComposableVolumeRenderStyleNode,t);n&&e.push(n)}for(const t of e){t.addInterest("addNodeEvent",this);for(const e of this.getVolumeData())t.addVolumeData(e)}},addShaderFields(e){if(this._enabled.getValue())for(const t of this.renderStyleNodes)t.addShaderFields(e)},getUniformsText(){if(!this._enabled.getValue())return"";let e="";for(const t of this.renderStyleNodes)e+=t.getUniformsText();e+="\n",e+="vec4\n",e+="getComposedStyle_"+this.getId()+" (in vec4 textureColor, in vec3 texCoord)\n",e+="{\n";for(const t of this.renderStyleNodes)e+=t.getFunctionsText();return e+="\n",e+=" return textureColor;\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // ComposedVolumeStyle\n",e+="\n",e+=" textureColor = getComposedStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(q,{...f().getStaticProperties("ComposedVolumeStyle","VolumeRendering",3,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"renderStyle",new(d().MFNode))]),enumerable:!0}});const Q=q,W=y().add("ComposedVolumeStyle",Q);function K(e){C.call(this,e),this.addType(m().EdgeEnhancementVolumeStyle)}Object.assign(Object.setPrototypeOf(K.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._surfaceNormals.addInterest("set_surfaceNormals__",this),this.set_surfaceNormals__())},set_surfaceNormals__(){this.surfaceNormalsNode=O()(m().X3DTexture3DNode,this._surfaceNormals)},addShaderFields(e){this._enabled.getValue()&&(e.addUserDefinedField(m().inputOutput,"edgeColor_"+this.getId(),this._edgeColor.copy()),e.addUserDefinedField(m().inputOutput,"gradientThreshold_"+this.getId(),this._gradientThreshold.copy()),this.surfaceNormalsNode&&e.addUserDefinedField(m().inputOutput,"surfaceNormals_"+this.getId(),new(d().SFNode)(this.surfaceNormalsNode)))},getUniformsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+="// EdgeEnhancementVolumeStyle\n",e+="\n",e+="uniform vec4 edgeColor_"+this.getId()+";\n",e+="uniform float gradientThreshold_"+this.getId()+";\n",e+=this.getNormalText(this.surfaceNormalsNode),e+="\n",e+="vec4\n",e+="getEdgeEnhacementStyle_"+this.getId()+" (in vec4 originalColor, in vec3 texCoord)\n",e+="{\n",e+=" vec4 surfaceNormal = getNormal_"+this.getId()+" (texCoord);\n",e+="\n",e+=" if (surfaceNormal .w == 0.0)\n",e+=" return vec4 (0.0);\n",e+="\n",e+=" vec4 edgeColor = edgeColor_"+this.getId()+";\n",e+=" float gradientThreshold = gradientThreshold_"+this.getId()+";\n",e+="\n",e+=" float angle = abs (dot (surfaceNormal .xyz, normalize (vertex)));\n",e+="\n",e+=" if (angle >= cos (gradientThreshold))\n",e+=" return originalColor;\n",e+=" else\n",e+=" return vec4 (mix (edgeColor .rgb, originalColor.rgb, angle), originalColor .a);\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // EdgeEnhancementVolumeStyle\n",e+="\n",e+=" textureColor = getEdgeEnhacementStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(K,{...f().getStaticProperties("EdgeEnhancementVolumeStyle","VolumeRendering",2,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"edgeColor",new(d().SFColorRGBA)(0,0,0,1)),new(h())(m().inputOutput,"gradientThreshold",new(d().SFFloat)(.4)),new(h())(m().inputOutput,"surfaceNormals",new(d().SFNode))]),enumerable:!0}});const $=K,Z=y().add("EdgeEnhancementVolumeStyle",$),J=e.X3DChildNode;var ee=t.n(J);const te=e.X3DBoundedObject;var ne=t.n(te);const oe=e.TextureQuality;var re=t.n(oe);const ie=e.UnlitMaterial;var se=t.n(ie);const ae=y().add("VolumeStyle.vs","#version 300 es\nprecision highp float;precision highp int;uniform mat4 x3d_ProjectionMatrix;uniform mat4 x3d_ModelViewMatrix;uniform mat4 x3d_TextureMatrix[1];in vec4 x3d_TexCoord0;in vec4 x3d_Vertex;out vec3 vertex;out vec4 texCoord;void main(){vec4 position=x3d_ModelViewMatrix*x3d_Vertex;vertex=position.xyz;texCoord=x3d_TextureMatrix[0]*x3d_TexCoord0;gl_Position=x3d_ProjectionMatrix*position;}"),le=y().add("VolumeStyle.fs",'#version 300 es\nprecision highp float;precision highp int;precision highp sampler3D;in vec3 vertex;in vec4 texCoord;uniform sampler3D x3d_Texture3D[1];uniform mat3 x3d_TextureNormalMatrix;uniform x3d_LightSourceParameters x3d_LightSource[x3d_MaxLights];const float M_PI=3.14159265359;\n#pragma X3D include "includes/ClipPlanes.glsl"\n#pragma X3D include "includes/Fog.glsl"\n__VOLUME_STYLES_UNIFORMS__ out vec4 x3d_FragColor;vec4 getTextureColor(in vec3 texCoord){if(any(greaterThan(abs(texCoord-0.5),vec3(0.5))))discard;vec4 textureColor=texture(x3d_Texture3D[0],texCoord);__VOLUME_STYLES_FUNCTIONS__ return textureColor;}void main(){\n#if defined(X3D_CLIP_PLANES)\nclip();\n#endif\nvec4 finalColor=getTextureColor(texCoord.stp/texCoord.q);\n#if defined(X3D_FOG)\nfinalColor.rgb=getFogColor(finalColor.rgb);\n#endif\nx3d_FragColor=finalColor;}');function de(e,t){se().call(this,e),this.volumeDataNode=t,this.volumeShaderNodes=new Map}Object.assign(Object.setPrototypeOf(de.prototype,se().prototype),{getVolumeShaders(){return this.volumeShaderNodes},getShader(e,t){const{renderObject:n,fogNode:o,localObjectsKeys:r}=t;let i="";return i+=n.getRenderAndGlobalLightsKey(),i+=o?.getFogType()??0,i+=".",i+=r.sort().join(""),this.volumeShaderNodes.get(i)??this.createShader(i,e,t)},createShader(e,t,n){const o=this.getBrowser(),r=[],{renderObject:i,fogNode:s,localObjectsKeys:a}=n,l=a.concat(i.getGlobalLightsKeys());switch(s?.getFogType()){case 1:r.push("X3D_FOG","X3D_FOG_LINEAR");break;case 2:r.push("X3D_FOG","X3D_FOG_EXPONENTIAL")}const d=l.reduce(((e,t)=>e+(0===t)),0),u=l.reduce(((e,t)=>e+(1===t)),0);d&&(r.push("X3D_CLIP_PLANES"),r.push(`X3D_NUM_CLIP_PLANES ${Math.min(d,o.getMaxClipPlanes())}`)),u&&(r.push("X3D_LIGHTING"),r.push(`X3D_NUM_LIGHTS ${Math.min(u,o.getMaxLights())}`));const h=this.volumeDataNode.createShader(r,ae,le);return this.volumeShaderNodes.set(e,h),h},setShaderUniforms(e,t,n,o,r){this.volumeDataNode.setShaderUniforms(e,t)}}),Object.defineProperties(de,{typeName:{value:"VolumeMaterial",enumerable:!0},componentInfo:{value:Object.freeze({name:"Shape",level:1}),enumerable:!0},containerField:{value:"material",enumerable:!0},fieldDefinitions:{value:se().fieldDefinitions}});const ue=de,he=y().add("VolumeMaterial",ue),ce=e.Vector3;var pe=t.n(ce);const ge=e.Matrix4;var fe=t.n(ge);function _e(e){ee().call(this,e),ne().call(this,e),this.addType(m().X3DVolumeDataNode);const t=this.getBrowser();this.proximitySensorNode=t.getPrivateScene().createNode("ProximitySensor",!1),this.transformNode=t.getPrivateScene().createNode("Transform",!1),this.shapeNode=t.getPrivateScene().createNode("Shape",!1),this.appearanceNode=t.getPrivateScene().createNode("Appearance",!1),this.textureTransformNode=t.getPrivateScene().createNode("TextureTransform3D",!1),this.geometryNode=t.getPrivateScene().createNode("QuadSet",!1),this.textureCoordinateNode=t.getPrivateScene().createNode("TextureCoordinate3D",!1),this.coordinateNode=t.getPrivateScene().createNode("Coordinate",!1),this.volumeMaterialNode=new he(t.getPrivateScene(),this),this.textureNormalMatrixArray=new Float32Array(9),this.setCameraObject(!0)}Object.assign(Object.setPrototypeOf(_e.prototype,ee().prototype),ne().prototype,{initialize(){ee().prototype.initialize.call(this),ne().prototype.initialize.call(this);const e=this.getBrowser().getContext();this._bboxDisplay.addFieldInterest(this.transformNode._bboxDisplay),this.proximitySensorNode._size=new(d().SFVec3f)(-1,-1,-1),this.transformNode._children=new(d().MFNode)(this.shapeNode),this.shapeNode._appearance=this.appearanceNode,this.shapeNode._geometry=this.geometryNode,this.appearanceNode._alphaMode="BLEND",this.appearanceNode._material=this.volumeMaterialNode,this.appearanceNode._textureTransform=this.textureTransformNode,this.textureTransformNode._translation=new(d().SFVec3f)(.5,.5,.5),this.textureTransformNode._center=new(d().SFVec3f)(-.5,-.5,-.5),this.geometryNode._texCoord=this.textureCoordinateNode,this.geometryNode._coord=this.coordinateNode,this.coordinateNode.setPrivate(!0),this.textureCoordinateNode.setPrivate(!0),this.geometryNode.setPrivate(!0),this.textureTransformNode.setPrivate(!0),this.volumeMaterialNode.setPrivate(!0),this.appearanceNode.setPrivate(!0),this.shapeNode.setPrivate(!0),this.transformNode.setPrivate(!0),this.proximitySensorNode.setPrivate(!0),this.coordinateNode.setup(),this.textureCoordinateNode.setup(),this.geometryNode.setup(),this.textureTransformNode.setup(),this.volumeMaterialNode.setup(),this.appearanceNode.setup(),this.shapeNode.setup(),this.transformNode.setup(),this.proximitySensorNode.setup(),this.proximitySensorNode._orientation_changed.addFieldInterest(this.transformNode._rotation),this.proximitySensorNode._orientation_changed.addFieldInterest(this.textureTransformNode._rotation),e.getVersion()<2||(this.getLive().addInterest("set_live__",this),this._dimensions.addInterest("set_dimensions__",this),this.textureTransformNode.addInterest("set_textureTransform__",this),this.set_live__(),this.set_dimensions__(),this.set_textureTransform__())},getBBox(e,t){return this._bboxSize.getValue().equals(this.getDefaultBBoxSize())?e.set(this._dimensions.getValue(),pe().Zero):e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},getAppearance(){return this.appearanceNode},updateShader(){this.volumeMaterialNode.getVolumeShaders().clear()},addShaderUniformNames(e){e.push("x3d_TextureNormalMatrix")},getNumPlanes(){switch(this.getBrowser().getBrowserOptions().getTextureQuality()){case re().LOW:return 200;case re().MEDIUM:return 400;case re().HIGH:return 600}return 200},set_live__(){const e=this.isLive()&&this.getBrowser().getBrowserOption("AlwaysUpdateGeometries");this.getLive().getValue()||e?this.getBrowser().getBrowserOptions()._TextureQuality.addInterest("set_dimensions__",this):this.getBrowser().getBrowserOptions()._TextureQuality.removeInterest("set_dimensions__",this)},set_dimensions__(){const e=this.getNumPlanes(),t=this._dimensions.getValue().magnitude(),n=t/2,o=[];this.coordinateNode._point.length=0;for(let r=0;r surfaceValues [0])\n",i+=" {\n",i+=" textureColor = vec4 (vec3 (surfaceValues [0]), 1.0);\n",this.renderStyleNodes.length&&(i+=this.renderStyleNodes[0].getFunctionsText()),i+=" }\n",i+=" else\n",i+=" {\n",i+=" discard;\n",i+=" }\n",i+="\n";else{const t=[];for(let n=this._surfaceValues[0]-e;n>0;n-=e)t.unshift(n);t.push(this._surfaceValues[0]);for(let n=this._surfaceValues[0]+e;n<1;n+=e)t.push(n);i+=" if (false)\n",i+=" { }\n";for(let e=this._surfaceValues.length-1;e>=0;--e)i+=" else if (intensity > "+t[e]+")\n",i+=" {\n",i+=" textureColor = vec4 (vec3 ("+t[e]+"), 1.0);\n",this.renderStyleNodes.length&&(i+=this.renderStyleNodes[0].getFunctionsText()),i+=" }\n";i+=" else\n",i+=" {\n",i+=" discard;\n",i+=" }\n",i+="\n"}}else{i+=" if (false)\n",i+=" { }\n";for(let e=this._surfaceValues.length-1;e>=0;--e){if(i+=" else if (intensity > surfaceValues ["+e+"])\n",i+=" {\n",i+=" textureColor = vec4 (vec3 (surfaceValues ["+e+"]), 1.0);\n",this.renderStyleNodes.length){const t=Math.min(e,this.renderStyleNodes.length-1);i+=this.renderStyleNodes[t].getFunctionsText()}i+=" }\n"}i+=" else\n",i+=" {\n",i+=" discard;\n",i+=" }\n",i+="\n"}n=n.replace(/__VOLUME_STYLES_UNIFORMS__/,r).replace(/__VOLUME_STYLES_FUNCTIONS__/,i);const s=new(ve())(this.getExecutionContext());s._url.push(encodeURI("data:x-shader/x-vertex,"+t)),s.setPrivate(!0),s.setName("VolumeDataVertexShader"),s.setOptions(e),s.setup();const a=new(ve())(this.getExecutionContext());a._type="FRAGMENT",a._url.push(encodeURI("data:x-shader/x-fragment,"+n)),a.setPrivate(!0),a.setName("VolumeDataFragmentShader"),a.setOptions(e),a.setup();const l=new(xe())(this.getExecutionContext());l._language="GLSL",l._parts.push(s),l._parts.push(a),l.setPrivate(!0),l.setName("VolumeDataShader"),l.addUserDefinedField(m().inputOutput,"surfaceValues",this._surfaceValues.copy()),l.addUserDefinedField(m().inputOutput,"surfaceTolerance",this._surfaceTolerance.copy()),this.gradientsNode&&l.addUserDefinedField(m().inputOutput,"gradients",new(d().SFNode)(this.gradientsNode)),o.addShaderFields(l);for(const e of this.renderStyleNodes)e.addShaderFields(l);const u=[];return this.addShaderUniformNames(u),l.setUniformNames(u),l.setup(),l}}),Object.defineProperties(we,{...f().getStaticProperties("IsoSurfaceVolumeData","VolumeRendering",2,"children","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"dimensions",new(d().SFVec3f)(1,1,1)),new(h())(m().inputOutput,"contourStepSize",new(d().SFFloat)),new(h())(m().inputOutput,"surfaceValues",new(d().MFFloat)),new(h())(m().inputOutput,"surfaceTolerance",new(d().SFFloat)),new(h())(m().inputOutput,"visible",new(d().SFBool)(!0)),new(h())(m().inputOutput,"bboxDisplay",new(d().SFBool)),new(h())(m().initializeOnly,"bboxSize",new(d().SFVec3f)(-1,-1,-1)),new(h())(m().initializeOnly,"bboxCenter",new(d().SFVec3f)),new(h())(m().inputOutput,"renderStyle",new(d().MFNode)),new(h())(m().inputOutput,"gradients",new(d().SFNode)),new(h())(m().inputOutput,"voxels",new(d().SFNode))]),enumerable:!0}});const Fe=we,Ce=y().add("IsoSurfaceVolumeData",Fe);function be(e){v.call(this,e),this.addType(m().ProjectionVolumeStyle)}Object.assign(Object.setPrototypeOf(be.prototype,v.prototype),{addShaderFields(e){this._enabled.getValue()&&e.addUserDefinedField(m().inputOutput,"intensityThreshold_"+this.getId(),this._intensityThreshold.copy())},getUniformsText(){if(!this._enabled.getValue())return"";let e="";switch(e+="\n",e+="// ProjectionVolumeStyle\n",e+="\n",e+="uniform float intensityThreshold_"+this.getId()+";\n",e+="\n",e+="vec4\n",e+="getProjectionStyle_"+this.getId()+"(in vec4 originalColor, in vec3 texCoord)\n",e+="{\n",this._type.getValue()){default:case"MAX":case"AVERAGE":e+=" float projectionColor = 0.0;\n";break;case"MIN":e+=" float projectionColor = 1.0;\n"}switch(e+=" const int samples = 32;\n",e+=" vec3 step = normalize (x3d_TextureNormalMatrix * vec3 (0.0, 0.0, 1.0)) / float (samples);\n",e+=" vec3 ray = texCoord - step * float (samples) * 0.5;\n",e+=" bool first = false;\n",e+="\n",e+=" for (int i = 0; i < samples; ++ i, ray += step)\n",e+=" {\n",e+=" if (ray .s < 0.0 || ray .s > 1.0)\n",e+=" continue;\n",e+="\n",e+=" if (ray .t < 0.0 || ray .t > 1.0)\n",e+=" continue;\n",e+="\n",e+=" if (ray .p < 0.0 || ray .p > 1.0)\n",e+=" continue;\n",e+="\n",e+=" float intensity = texture (x3d_Texture3D [0], ray) .r;\n",e+="\n",this._type.getValue()){default:case"MAX":e+=" if (intensity < intensityThreshold_"+this.getId()+")\n",e+=" continue;\n",e+="\n",e+=" if (intensityThreshold_"+this.getId()+" > 0.0 && first)\n",e+=" break;\n",e+="\n",e+=" if (intensity <= projectionColor)\n",e+=" {\n",e+=" first = true;\n",e+=" continue;\n",e+=" }\n",e+="\n",e+=" projectionColor = intensity;\n";break;case"MIN":e+=" if (intensity < intensityThreshold_"+this.getId()+")\n",e+=" continue;\n",e+="\n",e+=" if (intensityThreshold_"+this.getId()+" > 0.0 && first)\n",e+=" break;\n",e+="\n",e+=" if (intensity >= projectionColor)\n",e+=" {\n",e+=" first = true;\n",e+=" continue;\n",e+=" }\n",e+="\n",e+=" projectionColor = intensity;\n";break;case"AVERAGE":e+=" projectionColor += intensity;\n"}return e+=" }\n",e+="\n","AVERAGE"===this._type.getValue()&&(e+=" projectionColor /= float (samples);\n"),e+=" return vec4 (vec3 (projectionColor), originalColor .a);\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // ProjectionVolumeStyle\n",e+="\n",e+=" textureColor = getProjectionStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(be,{...f().getStaticProperties("ProjectionVolumeStyle","VolumeRendering",2,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"type",new(d().SFString)("MAX")),new(h())(m().inputOutput,"intensityThreshold",new(d().SFFloat))]),enumerable:!0}});const Oe=be,Ie=y().add("ProjectionVolumeStyle",Oe);function Ve(e){Se.call(this,e),this.addType(m().SegmentedVolumeData),this.segmentIdentifiersNode=null,this.renderStyleNodes=[]}Object.assign(Object.setPrototypeOf(Ve.prototype,Se.prototype),{initialize(){Se.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._segmentIdentifiers.addInterest("set_segmentIdentifiers__",this),this._renderStyle.addInterest("set_renderStyle__",this),this._segmentEnabled.addInterest("updateShader",this),this._segmentIdentifiers.addInterest("updateShader",this),this._renderStyle.addInterest("updateShader",this),this.set_segmentIdentifiers__(),this.set_renderStyle__(),this.set_voxels__(),this.updateShader())},getSegmentEnabled(e){return!(e 0.0 ? pow (max (dot (N, H), 0.0), shininess_"+this.getId()+" * 128.0) : 1.0;\n",e+=" vec3 specularTerm = light .intensity * specularColor_"+this.getId()+" * specularFactor;\n",e+="\n",e+=" float attenuationFactor = di ? 1.0 : 1.0 / max (dot (c, vec3 (1.0, dL, dL * dL)), 1.0);\n",e+=" float spotFactor = light .type == x3d_SpotLight ? getSpotFactor_"+this.getId()+" (light .cutOffAngle, light .beamWidth, L, d) : 1.0;\n",e+=" float attenuationSpotFactor = attenuationFactor * spotFactor;\n",e+=" vec3 ambientColor = light .ambientIntensity * ambientTerm;\n",e+=" vec3 diffuseSpecularColor = light .intensity * (diffuseTerm + specularTerm);\n",e+="\n",e+=" shadedColor .rgb += attenuationSpotFactor * light .color * (ambientColor + diffuseSpecularColor);\n",e+=" }\n",e+="\n",e+=" shadedColor .rgb += emissiveColor_"+this.getId()+";\n",e+=" }\n"):this.materialNode?(e+=" shadedColor .rgb = diffuseColor_"+this.getId()+";\n",e+=" shadedColor .a = originalColor .a * (1.0 - transparency_"+this.getId()+");\n"):e+=" shadedColor = originalColor;\n",e+="\n",e+=" return shadedColor;\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // ShadedVolumeStyle\n",e+="\n",e+=" textureColor = getShadedStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(Pe,{...f().getStaticProperties("ShadedVolumeStyle","VolumeRendering",3,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"lighting",new(d().SFBool)),new(h())(m().inputOutput,"shadows",new(d().SFBool)),new(h())(m().initializeOnly,"phaseFunction",new(d().SFString)("Henyey-Greenstein")),new(h())(m().inputOutput,"material",new(d().SFNode)),new(h())(m().inputOutput,"surfaceNormals",new(d().SFNode))]),enumerable:!0}});const Me=Pe,Ue=y().add("ShadedVolumeStyle",Me);function Ee(e){C.call(this,e),this.addType(m().SilhouetteEnhancementVolumeStyle)}Object.assign(Object.setPrototypeOf(Ee.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._surfaceNormals.addInterest("set_surfaceNormals__",this),this.set_surfaceNormals__())},set_surfaceNormals__(){this.surfaceNormalsNode=O()(m().X3DTexture3DNode,this._surfaceNormals)},addShaderFields(e){this._enabled.getValue()&&(e.addUserDefinedField(m().inputOutput,"silhouetteRetainedOpacity_"+this.getId(),this._silhouetteRetainedOpacity.copy()),e.addUserDefinedField(m().inputOutput,"silhouetteBoundaryOpacity_"+this.getId(),this._silhouetteBoundaryOpacity.copy()),e.addUserDefinedField(m().inputOutput,"silhouetteSharpness_"+this.getId(),this._silhouetteSharpness.copy()),this.surfaceNormalsNode&&e.addUserDefinedField(m().inputOutput,"surfaceNormals_"+this.getId(),new(d().SFNode)(this.surfaceNormalsNode)))},getUniformsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+="// SilhouetteEnhancementVolumeStyle\n",e+="\n",e+="uniform float silhouetteRetainedOpacity_"+this.getId()+";\n",e+="uniform float silhouetteBoundaryOpacity_"+this.getId()+";\n",e+="uniform float silhouetteSharpness_"+this.getId()+";\n",e+=this.getNormalText(this.surfaceNormalsNode),e+="\n",e+="vec4\n",e+="getSilhouetteEnhancementStyle_"+this.getId()+" (in vec4 originalColor, in vec3 texCoord)\n",e+="{\n",e+=" vec4 surfaceNormal = getNormal_"+this.getId()+" (texCoord);\n",e+="\n",e+=" if (surfaceNormal .w == 0.0)\n",e+=" return vec4 (0.0);\n",e+=" \n",e+=" float silhouetteRetainedOpacity = silhouetteRetainedOpacity_"+this.getId()+";\n",e+=" float silhouetteBoundaryOpacity = silhouetteBoundaryOpacity_"+this.getId()+";\n",e+=" float silhouetteSharpness = silhouetteSharpness_"+this.getId()+";\n",e+="\n",e+=" return vec4 (originalColor .rgb, originalColor .a * (silhouetteRetainedOpacity + silhouetteBoundaryOpacity * pow (1.0 - abs (dot (surfaceNormal .xyz, normalize (vertex))), silhouetteSharpness)));\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // SilhouetteEnhancementVolumeStyle\n",e+="\n",e+=" textureColor = getSilhouetteEnhancementStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(Ee,{...f().getStaticProperties("SilhouetteEnhancementVolumeStyle","VolumeRendering",2,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"silhouetteRetainedOpacity",new(d().SFFloat)(1)),new(h())(m().inputOutput,"silhouetteBoundaryOpacity",new(d().SFFloat)),new(h())(m().inputOutput,"silhouetteSharpness",new(d().SFFloat)(.5)),new(h())(m().inputOutput,"surfaceNormals",new(d().SFNode))]),enumerable:!0}});const Be=Ee,Le=y().add("SilhouetteEnhancementVolumeStyle",Be);function je(e){C.call(this,e),this.addType(m().ToneMappedVolumeStyle)}Object.assign(Object.setPrototypeOf(je.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._surfaceNormals.addInterest("set_surfaceNormals__",this),this.set_surfaceNormals__())},set_surfaceNormals__(){this.surfaceNormalsNode=O()(m().X3DTexture3DNode,this._surfaceNormals)},addShaderFields(e){this._enabled.getValue()&&(e.addUserDefinedField(m().inputOutput,"coolColor_"+this.getId(),this._coolColor.copy()),e.addUserDefinedField(m().inputOutput,"warmColor_"+this.getId(),this._warmColor.copy()),this.surfaceNormalsNode&&e.addUserDefinedField(m().inputOutput,"surfaceNormals_"+this.getId(),new(d().SFNode)(this.surfaceNormalsNode)))},getUniformsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+="// ToneMappedVolumeStyle\n",e+="\n",e+="uniform vec4 coolColor_"+this.getId()+";\n",e+="uniform vec4 warmColor_"+this.getId()+";\n",e+=this.getNormalText(this.surfaceNormalsNode),e+="\n",e+="vec4\n",e+="getToneMappedStyle_"+this.getId()+" (in vec4 originalColor, in vec3 texCoord)\n",e+="{\n",e+=" vec4 surfaceNormal = getNormal_"+this.getId()+" (texCoord);\n",e+="\n",e+=" if (surfaceNormal .w == 0.0)\n",e+=" return vec4 (0.0);\n",e+="\n",e+=" vec3 toneColor = vec3 (0.0);\n",e+=" vec3 coolColor = coolColor_"+this.getId()+" .rgb;\n",e+=" vec3 warmColor = warmColor_"+this.getId()+" .rgb;\n",e+="\n",e+=" for (int i = 0; i < X3D_NUM_LIGHTS; ++ i)\n",e+=" {\n",e+=" x3d_LightSourceParameters light = x3d_LightSource [i];\n",e+="\n",e+=" vec3 L = light .type == x3d_DirectionalLight ? -light .direction : normalize (light .location - vertex);\n",e+=" float colorFactor = dot (L, surfaceNormal .xyz) * 0.5 + 0.5;\n",e+="\n",e+=" toneColor += mix (warmColor .rgb, coolColor .rgb, colorFactor);\n",e+=" }\n",e+="\n",e+=" return vec4 (toneColor, originalColor .a);\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // ToneMappedVolumeStyle\n",e+="\n",e+=" textureColor = getToneMappedStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(je,{...f().getStaticProperties("ToneMappedVolumeStyle","VolumeRendering",2,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"coolColor",new(d().SFColorRGBA)(0,0,1,0)),new(h())(m().inputOutput,"warmColor",new(d().SFColorRGBA)(1,1,0,0)),new(h())(m().inputOutput,"surfaceNormals",new(d().SFNode))]),enumerable:!0}});const Ae=je,ze=y().add("ToneMappedVolumeStyle",Ae);function Re(e){Se.call(this,e),this.addType(m().VolumeData),this.renderStyleNode=null}Object.assign(Object.setPrototypeOf(Re.prototype,Se.prototype),{initialize(){Se.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._renderStyle.addInterest("set_renderStyle__",this),this._voxels.addInterest("set_voxels__",this),this._renderStyle.addInterest("updateShader",this),this.set_renderStyle__(),this.set_voxels__(),this.updateShader())},set_renderStyle__(){this.renderStyleNode&&(this.renderStyleNode.removeInterest("updateShader",this),this.renderStyleNode.removeVolumeData(this)),this.renderStyleNode=O()(m().X3DVolumeRenderStyleNode,this._renderStyle),this.renderStyleNode&&(this.renderStyleNode.addInterest("updateShader",this),this.renderStyleNode.addVolumeData(this))},set_voxels__(){this.voxelsNode=O()(m().X3DTexture3DNode,this._voxels),this.voxelsNode?this.getAppearance()._texture=this._voxels:this.getAppearance()._texture=this.getBrowser().getDefaultVoxels()},createShader(e,t,n){const o=this.getBrowser().getDefaultVolumeStyle();let r=o.getUniformsText(),i=o.getFunctionsText();this.renderStyleNode&&(r+=this.renderStyleNode.getUniformsText(),i+=this.renderStyleNode.getFunctionsText()),n=n.replace(/__VOLUME_STYLES_UNIFORMS__/,r).replace(/__VOLUME_STYLES_FUNCTIONS__/,i);const s=new(ve())(this.getExecutionContext());s._url.push(encodeURI("data:x-shader/x-vertex,"+t)),s.setPrivate(!0),s.setName("VolumeDataVertexShader"),s.setOptions(e),s.setup();const a=new(ve())(this.getExecutionContext());a._type="FRAGMENT",a._url.push(encodeURI("data:x-shader/x-fragment,"+n)),a.setPrivate(!0),a.setName("VolumeDataFragmentShader"),a.setOptions(e),a.setup();const l=new(xe())(this.getExecutionContext());l._language="GLSL",l._parts.push(s),l._parts.push(a),l.setPrivate(!0),l.setName("VolumeDataShader"),o.addShaderFields(l),this.renderStyleNode&&this.renderStyleNode.addShaderFields(l);const d=[];return this.addShaderUniformNames(d),l.setUniformNames(d),l.setup(),l}}),Object.defineProperties(Re,{...f().getStaticProperties("VolumeData","VolumeRendering",1,"children","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"dimensions",new(d().SFVec3f)(1,1,1)),new(h())(m().inputOutput,"visible",new(d().SFBool)(!0)),new(h())(m().inputOutput,"bboxDisplay",new(d().SFBool)),new(h())(m().initializeOnly,"bboxSize",new(d().SFVec3f)(-1,-1,-1)),new(h())(m().initializeOnly,"bboxCenter",new(d().SFVec3f)),new(h())(m().inputOutput,"renderStyle",new(d().SFNode)),new(h())(m().inputOutput,"voxels",new(d().SFNode))]),enumerable:!0}});const Xe=Re,Ge=y().add("VolumeData",Xe);o().add({name:"VolumeRendering",concreteNodes:[z,G,Y,W,Z,Ce,D,Ie,Te,Ue,Le,ze,Ge],abstractNodes:[C,Se,v],browserContext:L});y().add("VolumeRenderingComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const e=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var t={n:e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return t.d(n,{a:n}),n},d:(e,n)=>{for(var o in n)t.o(n,o)&&!t.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const n=e.Components;var o=t.n(n);const r=e.PixelTexture;var i=t.n(r);const s=e.TextureProperties;var a=t.n(s);const l=e.Fields;var d=t.n(l);const u=e.X3DFieldDefinition;var h=t.n(u);const c=e.FieldDefinitionArray;var p=t.n(c);const g=e.X3DNode;var f=t.n(g);const _=e.X3DConstants;var m=t.n(_);const S=e.Namespace;var y=t.n(S);function x(e){f().call(this,e),this.addType(m().X3DVolumeRenderStyleNode),this.volumeDataNodes=new Set}Object.assign(Object.setPrototypeOf(x.prototype,f().prototype),{addShaderFields(e){},getUniformsText:()=>"",getFunctionsText:()=>"",getVolumeData(){return this.volumeDataNodes},addVolumeData(e){this.volumeDataNodes.add(e)},removeVolumeData(e){this.volumeDataNodes.delete(e)},getNormalText(e){let t="";return e?(t+="uniform sampler3D surfaceNormals_"+this.getId()+";\n",t+="\n",t+="vec4\n",t+="getNormal_"+this.getId()+" (in vec3 texCoord)\n",t+="{\n",t+=" vec3 n = texture (surfaceNormals_"+this.getId()+", texCoord) .xyz * 2.0 - 1.0;\n",t+="\n",t+=" return vec4 (normalize (x3d_TextureNormalMatrix * n), length (n));\n",t+="}\n"):(t+="\n",t+="vec4\n",t+="getNormal_"+this.getId()+" (in vec3 texCoord)\n",t+="{\n",t+=" vec4 offset = vec4 (1.0 / vec3 (textureSize (x3d_Texture3D [0], 0)), 0.0);\n",t+=" float i0 = texture (x3d_Texture3D [0], texCoord + offset .xww) .r;\n",t+=" float i1 = texture (x3d_Texture3D [0], texCoord - offset .xww) .r;\n",t+=" float i2 = texture (x3d_Texture3D [0], texCoord + offset .wyw) .r;\n",t+=" float i3 = texture (x3d_Texture3D [0], texCoord - offset .wyw) .r;\n",t+=" float i4 = texture (x3d_Texture3D [0], texCoord + offset .wwz) .r;\n",t+=" float i5 = texture (x3d_Texture3D [0], texCoord - offset .wwz) .r;\n",t+=" vec3 n = vec3 (i1 - i0, i3 - i2, i5 - i4);\n",t+="\n",t+=" return vec4 (normalize (x3d_TextureNormalMatrix * n), length (n));\n",t+="}\n"),t}}),Object.defineProperties(x,f().getStaticProperties("X3DVolumeRenderStyleNode","VolumeRendering",1));const N=x,v=y().add("X3DVolumeRenderStyleNode",N);function w(e){v.call(this,e),this.addType(m().X3DComposableVolumeRenderStyleNode)}Object.setPrototypeOf(w.prototype,v.prototype),Object.defineProperties(w,f().getStaticProperties("X3DComposableVolumeRenderStyleNode","VolumeRendering",1));const F=w,C=y().add("X3DComposableVolumeRenderStyleNode",F),b=e.X3DCast;var O=t.n(b);function I(e){C.call(this,e),this.addType(m().OpacityMapVolumeStyle)}Object.assign(Object.setPrototypeOf(I.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._transferFunction.addInterest("set_transferFunction__",this),this.set_transferFunction__())},set_transferFunction__(){this.transferFunctionNode=O()(m().X3DTexture2DNode,this._transferFunction),this.transferFunctionNode||(this.transferFunctionNode=O()(m().X3DTexture3DNode,this._transferFunction)),this.transferFunctionNode||(this.transferFunctionNode=this.getBrowser().getDefaultTransferFunction())},addShaderFields(e){this._enabled.getValue()&&e.addUserDefinedField(m().inputOutput,"transferFunction_"+this.getId(),new(d().SFNode)(this.transferFunctionNode))},getUniformsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+="// OpacityMapVolumeStyle\n",e+="\n",this.transferFunctionNode.getType().includes(m().X3DTexture2DNode)?(e+="uniform sampler2D transferFunction_"+this.getId()+";\n",e+="\n",e+="vec4\n",e+="getOpacityMapStyle_"+this.getId()+" (in vec4 originalColor)\n",e+="{\n",e+=" return texture (transferFunction_"+this.getId()+", originalColor .rg);\n",e+="}\n"):(e+="uniform sampler3D transferFunction_"+this.getId()+";\n",e+="\n",e+="vec4\n",e+="getOpacityMapStyle_"+this.getId()+" (in vec4 originalColor)\n",e+="{\n",e+=" return texture (transferFunction_"+this.getId()+", originalColor .rgb);\n",e+="}\n"),e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // OpacityMapVolumeStyle\n",e+="\n",e+=" textureColor = getOpacityMapStyle_"+this.getId()+" (textureColor);\n",e}}),Object.defineProperties(I,{...f().getStaticProperties("OpacityMapVolumeStyle","VolumeRendering",1,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"transferFunction",new(d().SFNode))]),enumerable:!0}});const V=I,D=y().add("OpacityMapVolumeStyle",V),T=Symbol(),P=Symbol(),M=Symbol(),U=Symbol();function E(){}Object.assign(E.prototype,{getDefaultVoxels(){return this[T]=this.getPrivateScene().createNode("PixelTexture3D",!1),this[T]._image=[1,1,1,1,255],this[T].repeatS=!0,this[T].repeatT=!0,this[T].repeatR=!0,this[T].setPrivate(!0),this[T].setup(),this.getDefaultVoxels=function(){return this[T]},Object.defineProperty(this,"getDefaultVoxels",{enumerable:!1}),this[T]},getDefaultVolumeStyle(){return this[P]=new D(this.getPrivateScene()),this[P].setPrivate(!0),this[P].setup(),this.getDefaultVolumeStyle=function(){return this[P]},Object.defineProperty(this,"getDefaultVolumeStyle",{enumerable:!1}),this[P]},getDefaultBlendedVolumeStyle(){return this[M]=new D(this.getPrivateScene()),this[M].setPrivate(!0),this[M].setup(),this.getDefaultBlendedVolumeStyle=function(){return this[M]},Object.defineProperty(this,"getDefaultBlendedVolumeStyle",{enumerable:!1}),this[M]},getDefaultTransferFunction(){const e=new(a())(this.getPrivateScene());return e._boundaryModeS="CLAMP_TO_EDGE",e._boundaryModeT="REPEAT",e._magnificationFilter="DEFAULT",e._minificationFilter="DEFAULT",e._generateMipMaps=!0,e._textureCompression="DEFAULT",e.setPrivate(!0),e.setup(),this[U]=new(i())(this.getPrivateScene()),this[U]._textureProperties=e,this[U]._image.width=256,this[U]._image.height=1,this[U]._image.comp=2,this[U]._image.array=Array.from({length:256},((e,t)=>t<<8|t)),this[U].setPrivate(!0),this[U].setup(),this.getDefaultTransferFunction=function(){return this[U]},Object.defineProperty(this,"getDefaultTransferFunction",{enumerable:!1}),this[U]}});const B=E,L=y().add("X3DVolumeRenderingContext",B);function j(e){C.call(this,e),this.addType(m().BlendedVolumeStyle)}Object.assign(Object.setPrototypeOf(j.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._weightTransferFunction1.addInterest("set_weightTransferFunction1__",this),this._weightTransferFunction2.addInterest("set_weightTransferFunction2__",this),this._renderStyle.addInterest("set_renderStyle__",this),this._voxels.addInterest("set_voxels__",this),this.set_weightTransferFunction1__(),this.set_weightTransferFunction2__(),this.set_renderStyle__(),this.set_voxels__())},addVolumeData(e){C.prototype.addVolumeData.call(this,e),this.renderStyleNode&&this.renderStyleNode.addVolumeData(e)},removeVolumeData(e){C.prototype.removeVolumeData.call(this,e),this.renderStyleNode&&this.renderStyleNode.removeVolumeData(e)},set_weightTransferFunction1__(){this.weightTransferFunction1Node=O()(m().X3DTexture2DNode,this._weightTransferFunction1)},set_weightTransferFunction2__(){this.weightTransferFunction2Node=O()(m().X3DTexture2DNode,this._weightTransferFunction2)},set_renderStyle__(){if(this.renderStyleNode){this.renderStyleNode.removeInterest("addNodeEvent",this);for(const e of this.getVolumeData())this.renderStyleNode.removeVolumeData(e)}if(this.renderStyleNode=O()(m().X3DComposableVolumeRenderStyleNode,this._renderStyle),this.renderStyleNode){this.renderStyleNode.addInterest("addNodeEvent",this);for(const e of this.getVolumeData())this.renderStyleNode.addVolumeData(e)}},set_voxels__(){this.voxelsNode=O()(m().X3DTexture3DNode,this._voxels)},addShaderFields(e){this._enabled.getValue()&&(e.addUserDefinedField(m().inputOutput,"weightConstant1_"+this.getId(),this._weightConstant1.copy()),e.addUserDefinedField(m().inputOutput,"weightConstant2_"+this.getId(),this._weightConstant2.copy()),this.weightTransferFunction1Node&&e.addUserDefinedField(m().inputOutput,"weightTransferFunction1_"+this.getId(),new(d().SFNode)(this.weightTransferFunction1Node)),this.weightTransferFunction2Node&&e.addUserDefinedField(m().inputOutput,"weightTransferFunction2_"+this.getId(),new(d().SFNode)(this.weightTransferFunction2Node)),this.voxelsNode&&e.addUserDefinedField(m().inputOutput,"voxels_"+this.getId(),new(d().SFNode)(this.voxelsNode)),this.getBrowser().getDefaultBlendedVolumeStyle().addShaderFields(e),this.renderStyleNode&&this.renderStyleNode.addShaderFields(e))},getUniformsText(){if(!this._enabled.getValue())return"";if(!this.voxelsNode)return"";let e="";e+="\n",e+="// BlendedVolumeStyle\n",e+="\n",e+="uniform float weightConstant1_"+this.getId()+";\n",e+="uniform float weightConstant2_"+this.getId()+";\n",this.weightTransferFunction1Node&&(e+="uniform sampler2D weightTransferFunction1_"+this.getId()+";\n"),this.weightTransferFunction2Node&&(e+="uniform sampler2D weightTransferFunction2_"+this.getId()+";\n"),e+="uniform sampler3D voxels_"+this.getId()+";\n";let t=this.getBrowser().getDefaultBlendedVolumeStyle().getUniformsText();this.renderStyleNode&&(t+=this.renderStyleNode.getUniformsText()),t=t.replace(/x3d_Texture3D\s*\[0\]/g,"voxels_"+this.getId()),e+="\n",e+=t,e+="\n",e+="vec4\n",e+="getBlendedStyle_"+this.getId()+" (in vec4 originalColor, in vec3 texCoord)\n",e+="{\n",e+=" vec4 blendColor_"+this.getId()+" = texture (voxels_"+this.getId()+", texCoord);";let n=this.getBrowser().getDefaultBlendedVolumeStyle().getFunctionsText();switch(this.renderStyleNode&&(n+=this.renderStyleNode.getFunctionsText()),n=n.replace(/textureColor/g,"blendColor_"+this.getId()),e+="\n",e+=n,this._weightFunction1.getValue()){default:e+=" float w1_"+this.getId()+" = weightConstant1_"+this.getId()+";\n";break;case"ALPHA0":e+=" float w1_"+this.getId()+" = originalColor .a;\n";break;case"ALPHA1":e+=" float w1_"+this.getId()+" = blendColor_ "+this.getId()+" .a;\n";break;case"ONE_MINUS_ALPHA0":e+=" float w1_"+this.getId()+" = 1.0 - originalColor .a;\n";break;case"ONE_MINUS_ALPHA1":e+=" float w1_"+this.getId()+" = 1.0 - blendColor_ "+this.getId()+" .a;\n";break;case"TABLE":this.weightTransferFunction1Node?e+=" float w1_"+this.getId()+" = texture (weightTransferFunction1_"+this.getId()+", vec2 (originalColor .a, blendColor_"+this.getId()+" .a)) .r;\n":e+=" float w1_"+this.getId()+" = weightConstant1_"+this.getId()+";\n"}switch(this._weightFunction2.getValue()){default:e+=" float w2_"+this.getId()+" = weightConstant2_"+this.getId()+";\n";break;case"ALPHA0":e+=" float w2_"+this.getId()+" = originalColor .a;\n";break;case"ALPHA1":e+=" float w2_"+this.getId()+" = blendColor_ "+this.getId()+" .a;\n";break;case"ONE_MINUS_ALPHA0":e+=" float w2_"+this.getId()+" = 1.0 - originalColor .a;\n";break;case"ONE_MINUS_ALPHA1":e+=" float w2_"+this.getId()+" = 1.0 - blendColor_ "+this.getId()+" .a;\n";break;case"TABLE":this.weightTransferFunction2Node?e+=" float w2_"+this.getId()+" = texture (weightTransferFunction2_"+this.getId()+", vec2 (originalColor .a, blendColor_"+this.getId()+" .a)) .r;\n":e+=" float w2_"+this.getId()+" = weightConstant2_"+this.getId()+";\n"}return e+="\n",e+=" return clamp (originalColor * w1_"+this.getId()+" + blendColor_"+this.getId()+" * w2_"+this.getId()+", 0.0, 1.0);\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";if(!this.voxelsNode)return"";let e="";return e+="\n",e+=" // BlendedVolumeStyle\n",e+="\n",e+=" textureColor = getBlendedStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(j,{...f().getStaticProperties("BlendedVolumeStyle","VolumeRendering",3,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"weightConstant1",new(d().SFFloat)(.5)),new(h())(m().inputOutput,"weightConstant2",new(d().SFFloat)(.5)),new(h())(m().inputOutput,"weightFunction1",new(d().SFString)("CONSTANT")),new(h())(m().inputOutput,"weightFunction2",new(d().SFString)("CONSTANT")),new(h())(m().inputOutput,"weightTransferFunction1",new(d().SFNode)),new(h())(m().inputOutput,"weightTransferFunction2",new(d().SFNode)),new(h())(m().inputOutput,"renderStyle",new(d().SFNode)),new(h())(m().inputOutput,"voxels",new(d().SFNode))]),enumerable:!0}});const A=j,z=y().add("BlendedVolumeStyle",A);function R(e){C.call(this,e),this.addType(m().BoundaryEnhancementVolumeStyle)}Object.assign(Object.setPrototypeOf(R.prototype,C.prototype),{addShaderFields(e){this._enabled.getValue()&&(e.addUserDefinedField(m().inputOutput,"retainedOpacity_"+this.getId(),this._retainedOpacity.copy()),e.addUserDefinedField(m().inputOutput,"boundaryOpacity_"+this.getId(),this._boundaryOpacity.copy()),e.addUserDefinedField(m().inputOutput,"opacityFactor_"+this.getId(),this._opacityFactor.copy()))},getUniformsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+="// BoundaryEnhancementVolumeStyle\n",e+="\n",e+="uniform float retainedOpacity_"+this.getId()+";\n",e+="uniform float boundaryOpacity_"+this.getId()+";\n",e+="uniform float opacityFactor_"+this.getId()+";\n",e+="\n",e+="vec4\n",e+="getBoundaryEnhancementStyle_"+this.getId()+" (in vec4 originalColor, in vec3 texCoord)\n",e+="{\n",e+=" float f0 = texture (x3d_Texture3D [0], texCoord) .r;\n",e+=" float f1 = texture (x3d_Texture3D [0], texCoord + vec3 (0.0, 0.0, 1.0 / float (textureSize (x3d_Texture3D [0], 0) .z))) .r;\n",e+=" float f = abs (f0 - f1);\n",e+="\n",e+=" float retainedOpacity = retainedOpacity_"+this.getId()+";\n",e+=" float boundaryOpacity = boundaryOpacity_"+this.getId()+";\n",e+=" float opacityFactor = opacityFactor_"+this.getId()+";\n",e+="\n",e+=" return vec4 (originalColor .rgb, originalColor .a * (retainedOpacity + boundaryOpacity * pow (f, opacityFactor)));\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // BoundaryEnhancementVolumeStyle\n",e+="\n",e+=" textureColor = getBoundaryEnhancementStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(R,{...f().getStaticProperties("BoundaryEnhancementVolumeStyle","VolumeRendering",2,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"retainedOpacity",new(d().SFFloat)(.2)),new(h())(m().inputOutput,"boundaryOpacity",new(d().SFFloat)(.9)),new(h())(m().inputOutput,"opacityFactor",new(d().SFFloat)(2))]),enumerable:!0}});const X=R,G=y().add("BoundaryEnhancementVolumeStyle",X);function H(e){C.call(this,e),this.addType(m().CartoonVolumeStyle)}Object.assign(Object.setPrototypeOf(H.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._surfaceNormals.addInterest("set_surfaceNormals__",this),this.set_surfaceNormals__())},set_surfaceNormals__(){this.surfaceNormalsNode=O()(m().X3DTexture3DNode,this._surfaceNormals)},addShaderFields(e){this._enabled.getValue()&&(e.addUserDefinedField(m().inputOutput,"colorSteps_"+this.getId(),this._colorSteps.copy()),e.addUserDefinedField(m().inputOutput,"orthogonalColor_"+this.getId(),this._orthogonalColor.copy()),e.addUserDefinedField(m().inputOutput,"parallelColor_"+this.getId(),this._parallelColor.copy()),this.surfaceNormalsNode&&e.addUserDefinedField(m().inputOutput,"surfaceNormals_"+this.getId(),new(d().SFNode)(this.surfaceNormalsNode)))},getUniformsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+="// CartoonVolumeStyle\n",e+="\n",e+="uniform int colorSteps_"+this.getId()+";\n",e+="uniform vec4 orthogonalColor_"+this.getId()+";\n",e+="uniform vec4 parallelColor_"+this.getId()+";\n",e+=this.getNormalText(this.surfaceNormalsNode),e+="\n",e+="vec3\n",e+="rgb2hsv_"+this.getId()+" (in vec3 color)\n",e+="{\n",e+=" float h = 0.0;\n",e+=" float s = 0.0;\n",e+=" float v = 0.0;\n",e+="\n",e+=" float min = min (min (color .r, color .g), color .b);\n",e+=" float max = max (max (color .r, color .g), color .b);\n",e+=" v = max; // value\n",e+="\n",e+=" float delta = max - min;\n",e+="\n",e+=" if (max != 0.0 && delta != 0.0)\n",e+=" {\n",e+=" s = delta / max; // s\n",e+="\n",e+=" if (color .r == max)\n",e+=" h = (color .g - color .b) / delta; // between yellow & magenta\n",e+=" else if (color .g == max)\n",e+=" h = 2.0 + (color .b - color .r) / delta; // between cyan & yellow\n",e+=" else\n",e+=" h = 4.0 + (color .r - color .g) / delta; // between magenta & cyan\n",e+="\n",e+=" h *= M_PI / 3.0; // radiants\n",e+=" if (h < 0.0)\n",e+=" h += M_PI * 2.0;\n",e+=" }\n",e+=" else\n",e+=" s = h = 0.0; // s = 0, h is undefined\n",e+="\n",e+=" return vec3 (h, s, v);\n",e+="}\n",e+="\n",e+="vec3\n",e+="hsv2rgb_"+this.getId()+" (in vec3 hsv)\n",e+="{\n",e+=" float h = hsv [0];\n",e+=" float s = clamp (hsv [1], 0.0, 1.0);\n",e+=" float v = clamp (hsv [2], 0.0, 1.0);\n",e+="\n",e+=" // H is given on [0, 2 * Pi]. S and V are given on [0, 1].\n",e+=" // RGB are each returned on [0, 1].\n",e+="\n",e+=" if (s == 0.0)\n",e+=" {\n",e+=" // achromatic (grey)\n",e+=" return vec3 (v, v, v);\n",e+=" }\n",e+=" else\n",e+=" {\n",e+=" float w = (h * (180.0 / M_PI)) / 60.0; // sector 0 to 5\n",e+="\n",e+=" float i = floor (w);\n",e+=" float f = w - i; // factorial part of h\n",e+=" float p = v * ( 1.0 - s );\n",e+=" float q = v * ( 1.0 - s * f );\n",e+=" float t = v * ( 1.0 - s * ( 1.0 - f ) );\n",e+="\n",e+=" switch (int (i) % 6)\n",e+=" {\n",e+=" case 0: return vec3 (v, t, p);\n",e+=" case 1: return vec3 (q, v, p);\n",e+=" case 2: return vec3 (p, v, t);\n",e+=" case 3: return vec3 (p, q, v);\n",e+=" case 4: return vec3 (t, p, v);\n",e+=" default: return vec3 (v, p, q);\n",e+=" }\n",e+=" }\n",e+="\n",e+=" return vec3 (0.0);\n",e+="}\n",e+="\n",e+="vec3\n",e+="mix_hsv_"+this.getId()+" (in vec3 a, in vec3 b, in float t)\n",e+="{\n",e+=" // Linearely interpolate in HSV space between source color @a a and destination color @a b by an amount of @a t.\n",e+=" // Source and destination color must be in HSV space.\n",e+="\n",e+=" float ha = a [0];\n",e+=" float sa = a [1];\n",e+=" float va = a [2];\n",e+="\n",e+=" float hb = b [0];\n",e+=" float sb = b [1];\n",e+=" float vb = b [2];\n",e+="\n",e+=" if (sa == 0.0)\n",e+=" ha = hb;\n",e+="\n",e+=" if (sb == 0.0)\n",e+=" hb = ha;\n",e+="\n",e+=" float range = abs (hb - ha);\n",e+="\n",e+=" if (range <= M_PI)\n",e+=" {\n",e+=" float h = ha + t * (hb - ha);\n",e+=" float s = sa + t * (sb - sa);\n",e+=" float v = va + t * (vb - va);\n",e+=" return vec3 (h, s, v);\n",e+=" }\n",e+="\n",e+=" float PI2 = M_PI * 2.0;\n",e+=" float step = (PI2 - range) * t;\n",e+=" float h = ha < hb ? ha - step : ha + step;\n",e+="\n",e+=" if (h < 0.0)\n",e+=" h += PI2;\n",e+="\n",e+=" else if (h > PI2)\n",e+=" h -= PI2;\n",e+="\n",e+=" float s = sa + t * (sb - sa);\n",e+=" float v = va + t * (vb - va);\n",e+=" return vec3 (h, s, v);\n",e+="}\n",e+="\n",e+="vec4\n",e+="getCartoonStyle_"+this.getId()+" (in vec4 originalColor, vec3 texCoord)\n",e+="{\n",e+=" vec4 surfaceNormal = getNormal_"+this.getId()+" (texCoord);\n",e+="\n",e+=" if (surfaceNormal .w == 0.0)\n",e+=" return vec4 (0.0);\n",e+="\n",e+=" vec4 orthogonalColor = orthogonalColor_"+this.getId()+";\n",e+=" vec4 parallelColor = parallelColor_"+this.getId()+";\n",e+=" int colorSteps = colorSteps_"+this.getId()+";\n",e+="\n",e+=" float steps = clamp (float (colorSteps), 1.0, 64.0);\n",e+=" float step = M_PI / 2.0 / steps;\n",e+=" float cosTheta = min (dot (surfaceNormal .xyz, normalize (vertex)), 1.0);\n",e+="\n",e+=" if (cosTheta < 0.0)\n",e+=" return vec4 (0.0);\n",e+="\n",e+=" float t = cos (min (floor (acos (cosTheta) / step) * (steps > 1.0 ? steps / (steps - 1.0) : 1.0), steps) * step);\n",e+=" vec3 orthogonalHSV = rgb2hsv_"+this.getId()+" (orthogonalColor .rgb);\n",e+=" vec3 parallelHSV = rgb2hsv_"+this.getId()+" (parallelColor .rgb);\n",e+="\n",e+=" return vec4 (hsv2rgb_"+this.getId()+" (mix_hsv_"+this.getId()+" (orthogonalHSV, parallelHSV, t)), originalColor .a);\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // CartoonVolumeStyle\n",e+="\n",e+=" textureColor = getCartoonStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(H,{...f().getStaticProperties("CartoonVolumeStyle","VolumeRendering",3,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"colorSteps",new(d().SFInt32)(4)),new(h())(m().inputOutput,"orthogonalColor",new(d().SFColorRGBA)(1,1,1,1)),new(h())(m().inputOutput,"parallelColor",new(d().SFColorRGBA)(0,0,0,1)),new(h())(m().inputOutput,"surfaceNormals",new(d().SFNode))]),enumerable:!0}});const k=H,Y=y().add("CartoonVolumeStyle",k);function q(e){C.call(this,e),this.addType(m().ComposedVolumeStyle),this.renderStyleNodes=[]}Object.assign(Object.setPrototypeOf(q.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._renderStyle.addInterest("set_renderStyle__",this),this.set_renderStyle__())},addVolumeData(e){C.prototype.addVolumeData.call(this,e);for(const t of this.renderStyleNodes)t.addVolumeData(e)},removeVolumeData(e){C.prototype.removeVolumeData.call(this,e);for(const t of this.renderStyleNodes)t.removeVolumeData(e)},set_renderStyle__(){const e=this.renderStyleNodes;for(const t of e){t.removeInterest("addNodeEvent",this);for(const e of this.getVolumeData())t.removeVolumeData(e)}e.length=0;for(const t of this._renderStyle){const n=O()(m().X3DComposableVolumeRenderStyleNode,t);n&&e.push(n)}for(const t of e){t.addInterest("addNodeEvent",this);for(const e of this.getVolumeData())t.addVolumeData(e)}},addShaderFields(e){if(this._enabled.getValue())for(const t of this.renderStyleNodes)t.addShaderFields(e)},getUniformsText(){if(!this._enabled.getValue())return"";let e="";for(const t of this.renderStyleNodes)e+=t.getUniformsText();e+="\n",e+="vec4\n",e+="getComposedStyle_"+this.getId()+" (in vec4 textureColor, in vec3 texCoord)\n",e+="{\n";for(const t of this.renderStyleNodes)e+=t.getFunctionsText();return e+="\n",e+=" return textureColor;\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // ComposedVolumeStyle\n",e+="\n",e+=" textureColor = getComposedStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(q,{...f().getStaticProperties("ComposedVolumeStyle","VolumeRendering",3,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"renderStyle",new(d().MFNode))]),enumerable:!0}});const Q=q,W=y().add("ComposedVolumeStyle",Q);function K(e){C.call(this,e),this.addType(m().EdgeEnhancementVolumeStyle)}Object.assign(Object.setPrototypeOf(K.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._surfaceNormals.addInterest("set_surfaceNormals__",this),this.set_surfaceNormals__())},set_surfaceNormals__(){this.surfaceNormalsNode=O()(m().X3DTexture3DNode,this._surfaceNormals)},addShaderFields(e){this._enabled.getValue()&&(e.addUserDefinedField(m().inputOutput,"edgeColor_"+this.getId(),this._edgeColor.copy()),e.addUserDefinedField(m().inputOutput,"gradientThreshold_"+this.getId(),this._gradientThreshold.copy()),this.surfaceNormalsNode&&e.addUserDefinedField(m().inputOutput,"surfaceNormals_"+this.getId(),new(d().SFNode)(this.surfaceNormalsNode)))},getUniformsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+="// EdgeEnhancementVolumeStyle\n",e+="\n",e+="uniform vec4 edgeColor_"+this.getId()+";\n",e+="uniform float gradientThreshold_"+this.getId()+";\n",e+=this.getNormalText(this.surfaceNormalsNode),e+="\n",e+="vec4\n",e+="getEdgeEnhacementStyle_"+this.getId()+" (in vec4 originalColor, in vec3 texCoord)\n",e+="{\n",e+=" vec4 surfaceNormal = getNormal_"+this.getId()+" (texCoord);\n",e+="\n",e+=" if (surfaceNormal .w == 0.0)\n",e+=" return vec4 (0.0);\n",e+="\n",e+=" vec4 edgeColor = edgeColor_"+this.getId()+";\n",e+=" float gradientThreshold = gradientThreshold_"+this.getId()+";\n",e+="\n",e+=" float angle = abs (dot (surfaceNormal .xyz, normalize (vertex)));\n",e+="\n",e+=" if (angle >= cos (gradientThreshold))\n",e+=" return originalColor;\n",e+=" else\n",e+=" return vec4 (mix (edgeColor .rgb, originalColor.rgb, angle), originalColor .a);\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // EdgeEnhancementVolumeStyle\n",e+="\n",e+=" textureColor = getEdgeEnhacementStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(K,{...f().getStaticProperties("EdgeEnhancementVolumeStyle","VolumeRendering",2,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"edgeColor",new(d().SFColorRGBA)(0,0,0,1)),new(h())(m().inputOutput,"gradientThreshold",new(d().SFFloat)(.4)),new(h())(m().inputOutput,"surfaceNormals",new(d().SFNode))]),enumerable:!0}});const $=K,Z=y().add("EdgeEnhancementVolumeStyle",$),J=e.X3DChildNode;var ee=t.n(J);const te=e.X3DBoundedObject;var ne=t.n(te);const oe=e.TextureQuality;var re=t.n(oe);const ie=e.UnlitMaterial;var se=t.n(ie);const ae=y().add("VolumeStyle.vs","#version 300 es\nprecision highp float;precision highp int;uniform mat4 x3d_ProjectionMatrix;uniform mat4 x3d_ModelViewMatrix;uniform mat4 x3d_TextureMatrix[1];in vec4 x3d_TexCoord0;in vec4 x3d_Vertex;out vec3 vertex;out vec4 texCoord;void main(){vec4 position=x3d_ModelViewMatrix*x3d_Vertex;vertex=position.xyz;texCoord=x3d_TextureMatrix[0]*x3d_TexCoord0;gl_Position=x3d_ProjectionMatrix*position;}"),le=y().add("VolumeStyle.fs",'#version 300 es\nprecision highp float;precision highp int;precision highp sampler3D;in vec3 vertex;in vec4 texCoord;uniform sampler3D x3d_Texture3D[1];uniform mat3 x3d_TextureNormalMatrix;uniform x3d_LightSourceParameters x3d_LightSource[x3d_MaxLights];const float M_PI=3.14159265359;\n#pragma X3D include "includes/ClipPlanes.glsl"\n#pragma X3D include "includes/Fog.glsl"\n__VOLUME_STYLES_UNIFORMS__ out vec4 x3d_FragColor;vec4 getTextureColor(in vec3 texCoord){if(any(greaterThan(abs(texCoord-0.5),vec3(0.5))))discard;vec4 textureColor=texture(x3d_Texture3D[0],texCoord);__VOLUME_STYLES_FUNCTIONS__ return textureColor;}void main(){\n#if defined(X3D_CLIP_PLANES)\nclip();\n#endif\nvec4 finalColor=getTextureColor(texCoord.stp/texCoord.q);\n#if defined(X3D_FOG)\nfinalColor.rgb=getFogColor(finalColor.rgb);\n#endif\nx3d_FragColor=finalColor;}');function de(e,t){se().call(this,e),this.volumeDataNode=t,this.volumeShaderNodes=new Map}Object.assign(Object.setPrototypeOf(de.prototype,se().prototype),{getVolumeShaders(){return this.volumeShaderNodes},getShader(e,t){const{renderObject:n,fogNode:o,localObjectsKeys:r}=t;let i="";return i+=n.getRenderAndGlobalLightsKey(),i+=o?.getFogType()??0,i+=".",i+=r.sort().join(""),this.volumeShaderNodes.get(i)??this.createShader(i,e,t)},createShader(e,t,n){const o=this.getBrowser(),r=[],{renderObject:i,fogNode:s,localObjectsKeys:a}=n,l=a.concat(i.getGlobalLightsKeys());switch(s?.getFogType()){case 1:r.push("X3D_FOG","X3D_FOG_LINEAR");break;case 2:r.push("X3D_FOG","X3D_FOG_EXPONENTIAL")}const d=l.reduce(((e,t)=>e+(0===t)),0),u=l.reduce(((e,t)=>e+(1===t)),0);d&&(r.push("X3D_CLIP_PLANES"),r.push(`X3D_NUM_CLIP_PLANES ${Math.min(d,o.getMaxClipPlanes())}`)),u&&(r.push("X3D_LIGHTING"),r.push(`X3D_NUM_LIGHTS ${Math.min(u,o.getMaxLights())}`));const h=this.volumeDataNode.createShader(r,ae,le);return this.volumeShaderNodes.set(e,h),h},setShaderUniforms(e,t,n,o,r){this.volumeDataNode.setShaderUniforms(e,t)}}),Object.defineProperties(de,{typeName:{value:"VolumeMaterial",enumerable:!0},componentInfo:{value:Object.freeze({name:"Shape",level:1}),enumerable:!0},containerField:{value:"material",enumerable:!0},fieldDefinitions:{value:se().fieldDefinitions}});const ue=de,he=y().add("VolumeMaterial",ue),ce=e.Vector3;var pe=t.n(ce);const ge=e.Matrix4;var fe=t.n(ge);function _e(e){ee().call(this,e),ne().call(this,e),this.addType(m().X3DVolumeDataNode);const t=this.getBrowser();this.proximitySensorNode=t.getPrivateScene().createNode("ProximitySensor",!1),this.transformNode=t.getPrivateScene().createNode("Transform",!1),this.shapeNode=t.getPrivateScene().createNode("Shape",!1),this.appearanceNode=t.getPrivateScene().createNode("Appearance",!1),this.textureTransformNode=t.getPrivateScene().createNode("TextureTransform3D",!1),this.geometryNode=t.getPrivateScene().createNode("QuadSet",!1),this.textureCoordinateNode=t.getPrivateScene().createNode("TextureCoordinate3D",!1),this.coordinateNode=t.getPrivateScene().createNode("Coordinate",!1),this.volumeMaterialNode=new he(t.getPrivateScene(),this),this.textureNormalMatrixArray=new Float32Array(9),this.setCameraObject(!0)}Object.assign(Object.setPrototypeOf(_e.prototype,ee().prototype),ne().prototype,{initialize(){ee().prototype.initialize.call(this),ne().prototype.initialize.call(this);const e=this.getBrowser().getContext();this._bboxDisplay.addFieldInterest(this.transformNode._bboxDisplay),this.proximitySensorNode._size=new(d().SFVec3f)(-1,-1,-1),this.transformNode._children=new(d().MFNode)(this.shapeNode),this.shapeNode._appearance=this.appearanceNode,this.shapeNode._geometry=this.geometryNode,this.appearanceNode._alphaMode="BLEND",this.appearanceNode._material=this.volumeMaterialNode,this.appearanceNode._textureTransform=this.textureTransformNode,this.textureTransformNode._translation=new(d().SFVec3f)(.5,.5,.5),this.textureTransformNode._center=new(d().SFVec3f)(-.5,-.5,-.5),this.geometryNode._texCoord=this.textureCoordinateNode,this.geometryNode._coord=this.coordinateNode,this.coordinateNode.setPrivate(!0),this.textureCoordinateNode.setPrivate(!0),this.geometryNode.setPrivate(!0),this.textureTransformNode.setPrivate(!0),this.volumeMaterialNode.setPrivate(!0),this.appearanceNode.setPrivate(!0),this.shapeNode.setPrivate(!0),this.transformNode.setPrivate(!0),this.proximitySensorNode.setPrivate(!0),this.coordinateNode.setup(),this.textureCoordinateNode.setup(),this.geometryNode.setup(),this.textureTransformNode.setup(),this.volumeMaterialNode.setup(),this.appearanceNode.setup(),this.shapeNode.setup(),this.transformNode.setup(),this.proximitySensorNode.setup(),this.proximitySensorNode._orientation_changed.addFieldInterest(this.transformNode._rotation),this.proximitySensorNode._orientation_changed.addFieldInterest(this.textureTransformNode._rotation),e.getVersion()<2||(this.getLive().addInterest("set_live__",this),this._dimensions.addInterest("set_dimensions__",this),this.textureTransformNode.addInterest("set_textureTransform__",this),this.set_live__(),this.set_dimensions__(),this.set_textureTransform__())},getBBox(e,t){return this._bboxSize.getValue().equals(this.getDefaultBBoxSize())?e.set(this._dimensions.getValue(),pe().Zero):e.set(this._bboxSize.getValue(),this._bboxCenter.getValue())},getAppearance(){return this.appearanceNode},updateShader(){this.volumeMaterialNode.getVolumeShaders().clear()},addShaderUniformNames(e){e.push("x3d_TextureNormalMatrix")},getNumPlanes(){switch(this.getBrowser().getBrowserOptions().getTextureQuality()){case re().LOW:return 200;case re().MEDIUM:return 400;case re().HIGH:return 600}return 200},set_live__(){const e=this.isLive()&&this.getBrowser().getBrowserOption("AlwaysUpdateGeometries");this.getLive().getValue()||e?this.getBrowser().getBrowserOptions()._TextureQuality.addInterest("set_dimensions__",this):this.getBrowser().getBrowserOptions()._TextureQuality.removeInterest("set_dimensions__",this)},set_dimensions__(){const e=this.getNumPlanes(),t=this._dimensions.getValue().magnitude(),n=t/2,o=[];this.coordinateNode._point.length=0;for(let r=0;r surfaceValues [0])\n",i+=" {\n",i+=" textureColor = vec4 (vec3 (surfaceValues [0]), 1.0);\n",this.renderStyleNodes.length&&(i+=this.renderStyleNodes[0].getFunctionsText()),i+=" }\n",i+=" else\n",i+=" {\n",i+=" discard;\n",i+=" }\n",i+="\n";else{const t=[];for(let n=this._surfaceValues[0]-e;n>0;n-=e)t.unshift(n);t.push(this._surfaceValues[0]);for(let n=this._surfaceValues[0]+e;n<1;n+=e)t.push(n);i+=" if (false)\n",i+=" { }\n";for(let e=this._surfaceValues.length-1;e>=0;--e)i+=" else if (intensity > "+t[e]+")\n",i+=" {\n",i+=" textureColor = vec4 (vec3 ("+t[e]+"), 1.0);\n",this.renderStyleNodes.length&&(i+=this.renderStyleNodes[0].getFunctionsText()),i+=" }\n";i+=" else\n",i+=" {\n",i+=" discard;\n",i+=" }\n",i+="\n"}}else{i+=" if (false)\n",i+=" { }\n";for(let e=this._surfaceValues.length-1;e>=0;--e){if(i+=" else if (intensity > surfaceValues ["+e+"])\n",i+=" {\n",i+=" textureColor = vec4 (vec3 (surfaceValues ["+e+"]), 1.0);\n",this.renderStyleNodes.length){const t=Math.min(e,this.renderStyleNodes.length-1);i+=this.renderStyleNodes[t].getFunctionsText()}i+=" }\n"}i+=" else\n",i+=" {\n",i+=" discard;\n",i+=" }\n",i+="\n"}n=n.replace(/__VOLUME_STYLES_UNIFORMS__/,r).replace(/__VOLUME_STYLES_FUNCTIONS__/,i);const s=new(ve())(this.getExecutionContext());s._url.push(encodeURI("data:x-shader/x-vertex,"+t)),s.setPrivate(!0),s.setName("VolumeDataVertexShader"),s.setOptions(e),s.setup();const a=new(ve())(this.getExecutionContext());a._type="FRAGMENT",a._url.push(encodeURI("data:x-shader/x-fragment,"+n)),a.setPrivate(!0),a.setName("VolumeDataFragmentShader"),a.setOptions(e),a.setup();const l=new(xe())(this.getExecutionContext());l._language="GLSL",l._parts.push(s),l._parts.push(a),l.setPrivate(!0),l.setName("VolumeDataShader"),l.addUserDefinedField(m().inputOutput,"surfaceValues",this._surfaceValues.copy()),l.addUserDefinedField(m().inputOutput,"surfaceTolerance",this._surfaceTolerance.copy()),this.gradientsNode&&l.addUserDefinedField(m().inputOutput,"gradients",new(d().SFNode)(this.gradientsNode)),o.addShaderFields(l);for(const e of this.renderStyleNodes)e.addShaderFields(l);const u=[];return this.addShaderUniformNames(u),l.setUniformNames(u),l.setup(),l}}),Object.defineProperties(we,{...f().getStaticProperties("IsoSurfaceVolumeData","VolumeRendering",2,"children","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"dimensions",new(d().SFVec3f)(1,1,1)),new(h())(m().inputOutput,"contourStepSize",new(d().SFFloat)),new(h())(m().inputOutput,"surfaceValues",new(d().MFFloat)),new(h())(m().inputOutput,"surfaceTolerance",new(d().SFFloat)),new(h())(m().inputOutput,"visible",new(d().SFBool)(!0)),new(h())(m().inputOutput,"bboxDisplay",new(d().SFBool)),new(h())(m().initializeOnly,"bboxSize",new(d().SFVec3f)(-1,-1,-1)),new(h())(m().initializeOnly,"bboxCenter",new(d().SFVec3f)),new(h())(m().inputOutput,"renderStyle",new(d().MFNode)),new(h())(m().inputOutput,"gradients",new(d().SFNode)),new(h())(m().inputOutput,"voxels",new(d().SFNode))]),enumerable:!0}});const Fe=we,Ce=y().add("IsoSurfaceVolumeData",Fe);function be(e){v.call(this,e),this.addType(m().ProjectionVolumeStyle)}Object.assign(Object.setPrototypeOf(be.prototype,v.prototype),{addShaderFields(e){this._enabled.getValue()&&e.addUserDefinedField(m().inputOutput,"intensityThreshold_"+this.getId(),this._intensityThreshold.copy())},getUniformsText(){if(!this._enabled.getValue())return"";let e="";switch(e+="\n",e+="// ProjectionVolumeStyle\n",e+="\n",e+="uniform float intensityThreshold_"+this.getId()+";\n",e+="\n",e+="vec4\n",e+="getProjectionStyle_"+this.getId()+"(in vec4 originalColor, in vec3 texCoord)\n",e+="{\n",this._type.getValue()){default:case"MAX":case"AVERAGE":e+=" float projectionColor = 0.0;\n";break;case"MIN":e+=" float projectionColor = 1.0;\n"}switch(e+=" const int samples = 32;\n",e+=" vec3 step = normalize (x3d_TextureNormalMatrix * vec3 (0.0, 0.0, 1.0)) / float (samples);\n",e+=" vec3 ray = texCoord - step * float (samples) * 0.5;\n",e+=" bool first = false;\n",e+="\n",e+=" for (int i = 0; i < samples; ++ i, ray += step)\n",e+=" {\n",e+=" if (ray .s < 0.0 || ray .s > 1.0)\n",e+=" continue;\n",e+="\n",e+=" if (ray .t < 0.0 || ray .t > 1.0)\n",e+=" continue;\n",e+="\n",e+=" if (ray .p < 0.0 || ray .p > 1.0)\n",e+=" continue;\n",e+="\n",e+=" float intensity = texture (x3d_Texture3D [0], ray) .r;\n",e+="\n",this._type.getValue()){default:case"MAX":e+=" if (intensity < intensityThreshold_"+this.getId()+")\n",e+=" continue;\n",e+="\n",e+=" if (intensityThreshold_"+this.getId()+" > 0.0 && first)\n",e+=" break;\n",e+="\n",e+=" if (intensity <= projectionColor)\n",e+=" {\n",e+=" first = true;\n",e+=" continue;\n",e+=" }\n",e+="\n",e+=" projectionColor = intensity;\n";break;case"MIN":e+=" if (intensity < intensityThreshold_"+this.getId()+")\n",e+=" continue;\n",e+="\n",e+=" if (intensityThreshold_"+this.getId()+" > 0.0 && first)\n",e+=" break;\n",e+="\n",e+=" if (intensity >= projectionColor)\n",e+=" {\n",e+=" first = true;\n",e+=" continue;\n",e+=" }\n",e+="\n",e+=" projectionColor = intensity;\n";break;case"AVERAGE":e+=" projectionColor += intensity;\n"}return e+=" }\n",e+="\n","AVERAGE"===this._type.getValue()&&(e+=" projectionColor /= float (samples);\n"),e+=" return vec4 (vec3 (projectionColor), originalColor .a);\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // ProjectionVolumeStyle\n",e+="\n",e+=" textureColor = getProjectionStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(be,{...f().getStaticProperties("ProjectionVolumeStyle","VolumeRendering",2,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"type",new(d().SFString)("MAX")),new(h())(m().inputOutput,"intensityThreshold",new(d().SFFloat))]),enumerable:!0}});const Oe=be,Ie=y().add("ProjectionVolumeStyle",Oe);function Ve(e){Se.call(this,e),this.addType(m().SegmentedVolumeData),this.segmentIdentifiersNode=null,this.renderStyleNodes=[]}Object.assign(Object.setPrototypeOf(Ve.prototype,Se.prototype),{initialize(){Se.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._segmentIdentifiers.addInterest("set_segmentIdentifiers__",this),this._renderStyle.addInterest("set_renderStyle__",this),this._segmentEnabled.addInterest("updateShader",this),this._segmentIdentifiers.addInterest("updateShader",this),this._renderStyle.addInterest("updateShader",this),this.set_segmentIdentifiers__(),this.set_renderStyle__(),this.set_voxels__(),this.updateShader())},getSegmentEnabled(e){return!(e 0.0 ? pow (max (dot (N, H), 0.0), shininess_"+this.getId()+" * 128.0) : 1.0;\n",e+=" vec3 specularTerm = light .intensity * specularColor_"+this.getId()+" * specularFactor;\n",e+="\n",e+=" float attenuationFactor = di ? 1.0 : 1.0 / max (dot (c, vec3 (1.0, dL, dL * dL)), 1.0);\n",e+=" float spotFactor = light .type == x3d_SpotLight ? getSpotFactor_"+this.getId()+" (light .cutOffAngle, light .beamWidth, L, d) : 1.0;\n",e+=" float attenuationSpotFactor = attenuationFactor * spotFactor;\n",e+=" vec3 ambientColor = light .ambientIntensity * ambientTerm;\n",e+=" vec3 diffuseSpecularColor = light .intensity * (diffuseTerm + specularTerm);\n",e+="\n",e+=" shadedColor .rgb += attenuationSpotFactor * light .color * (ambientColor + diffuseSpecularColor);\n",e+=" }\n",e+="\n",e+=" shadedColor .rgb += emissiveColor_"+this.getId()+";\n",e+=" }\n"):this.materialNode?(e+=" shadedColor .rgb = diffuseColor_"+this.getId()+";\n",e+=" shadedColor .a = originalColor .a * (1.0 - transparency_"+this.getId()+");\n"):e+=" shadedColor = originalColor;\n",e+="\n",e+=" return shadedColor;\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // ShadedVolumeStyle\n",e+="\n",e+=" textureColor = getShadedStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(Pe,{...f().getStaticProperties("ShadedVolumeStyle","VolumeRendering",3,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"lighting",new(d().SFBool)),new(h())(m().inputOutput,"shadows",new(d().SFBool)),new(h())(m().initializeOnly,"phaseFunction",new(d().SFString)("Henyey-Greenstein")),new(h())(m().inputOutput,"material",new(d().SFNode)),new(h())(m().inputOutput,"surfaceNormals",new(d().SFNode))]),enumerable:!0}});const Me=Pe,Ue=y().add("ShadedVolumeStyle",Me);function Ee(e){C.call(this,e),this.addType(m().SilhouetteEnhancementVolumeStyle)}Object.assign(Object.setPrototypeOf(Ee.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._surfaceNormals.addInterest("set_surfaceNormals__",this),this.set_surfaceNormals__())},set_surfaceNormals__(){this.surfaceNormalsNode=O()(m().X3DTexture3DNode,this._surfaceNormals)},addShaderFields(e){this._enabled.getValue()&&(e.addUserDefinedField(m().inputOutput,"silhouetteRetainedOpacity_"+this.getId(),this._silhouetteRetainedOpacity.copy()),e.addUserDefinedField(m().inputOutput,"silhouetteBoundaryOpacity_"+this.getId(),this._silhouetteBoundaryOpacity.copy()),e.addUserDefinedField(m().inputOutput,"silhouetteSharpness_"+this.getId(),this._silhouetteSharpness.copy()),this.surfaceNormalsNode&&e.addUserDefinedField(m().inputOutput,"surfaceNormals_"+this.getId(),new(d().SFNode)(this.surfaceNormalsNode)))},getUniformsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+="// SilhouetteEnhancementVolumeStyle\n",e+="\n",e+="uniform float silhouetteRetainedOpacity_"+this.getId()+";\n",e+="uniform float silhouetteBoundaryOpacity_"+this.getId()+";\n",e+="uniform float silhouetteSharpness_"+this.getId()+";\n",e+=this.getNormalText(this.surfaceNormalsNode),e+="\n",e+="vec4\n",e+="getSilhouetteEnhancementStyle_"+this.getId()+" (in vec4 originalColor, in vec3 texCoord)\n",e+="{\n",e+=" vec4 surfaceNormal = getNormal_"+this.getId()+" (texCoord);\n",e+="\n",e+=" if (surfaceNormal .w == 0.0)\n",e+=" return vec4 (0.0);\n",e+=" \n",e+=" float silhouetteRetainedOpacity = silhouetteRetainedOpacity_"+this.getId()+";\n",e+=" float silhouetteBoundaryOpacity = silhouetteBoundaryOpacity_"+this.getId()+";\n",e+=" float silhouetteSharpness = silhouetteSharpness_"+this.getId()+";\n",e+="\n",e+=" return vec4 (originalColor .rgb, originalColor .a * (silhouetteRetainedOpacity + silhouetteBoundaryOpacity * pow (1.0 - abs (dot (surfaceNormal .xyz, normalize (vertex))), silhouetteSharpness)));\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // SilhouetteEnhancementVolumeStyle\n",e+="\n",e+=" textureColor = getSilhouetteEnhancementStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(Ee,{...f().getStaticProperties("SilhouetteEnhancementVolumeStyle","VolumeRendering",2,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"silhouetteRetainedOpacity",new(d().SFFloat)(1)),new(h())(m().inputOutput,"silhouetteBoundaryOpacity",new(d().SFFloat)),new(h())(m().inputOutput,"silhouetteSharpness",new(d().SFFloat)(.5)),new(h())(m().inputOutput,"surfaceNormals",new(d().SFNode))]),enumerable:!0}});const Be=Ee,Le=y().add("SilhouetteEnhancementVolumeStyle",Be);function je(e){C.call(this,e),this.addType(m().ToneMappedVolumeStyle)}Object.assign(Object.setPrototypeOf(je.prototype,C.prototype),{initialize(){C.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._surfaceNormals.addInterest("set_surfaceNormals__",this),this.set_surfaceNormals__())},set_surfaceNormals__(){this.surfaceNormalsNode=O()(m().X3DTexture3DNode,this._surfaceNormals)},addShaderFields(e){this._enabled.getValue()&&(e.addUserDefinedField(m().inputOutput,"coolColor_"+this.getId(),this._coolColor.copy()),e.addUserDefinedField(m().inputOutput,"warmColor_"+this.getId(),this._warmColor.copy()),this.surfaceNormalsNode&&e.addUserDefinedField(m().inputOutput,"surfaceNormals_"+this.getId(),new(d().SFNode)(this.surfaceNormalsNode)))},getUniformsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+="// ToneMappedVolumeStyle\n",e+="\n",e+="uniform vec4 coolColor_"+this.getId()+";\n",e+="uniform vec4 warmColor_"+this.getId()+";\n",e+=this.getNormalText(this.surfaceNormalsNode),e+="\n",e+="vec4\n",e+="getToneMappedStyle_"+this.getId()+" (in vec4 originalColor, in vec3 texCoord)\n",e+="{\n",e+=" vec4 surfaceNormal = getNormal_"+this.getId()+" (texCoord);\n",e+="\n",e+=" if (surfaceNormal .w == 0.0)\n",e+=" return vec4 (0.0);\n",e+="\n",e+=" vec3 toneColor = vec3 (0.0);\n",e+=" vec3 coolColor = coolColor_"+this.getId()+" .rgb;\n",e+=" vec3 warmColor = warmColor_"+this.getId()+" .rgb;\n",e+="\n",e+=" for (int i = 0; i < X3D_NUM_LIGHTS; ++ i)\n",e+=" {\n",e+=" x3d_LightSourceParameters light = x3d_LightSource [i];\n",e+="\n",e+=" vec3 L = light .type == x3d_DirectionalLight ? -light .direction : normalize (light .location - vertex);\n",e+=" float colorFactor = dot (L, surfaceNormal .xyz) * 0.5 + 0.5;\n",e+="\n",e+=" toneColor += mix (warmColor .rgb, coolColor .rgb, colorFactor);\n",e+=" }\n",e+="\n",e+=" return vec4 (toneColor, originalColor .a);\n",e+="}\n",e},getFunctionsText(){if(!this._enabled.getValue())return"";let e="";return e+="\n",e+=" // ToneMappedVolumeStyle\n",e+="\n",e+=" textureColor = getToneMappedStyle_"+this.getId()+" (textureColor, texCoord);\n",e}}),Object.defineProperties(je,{...f().getStaticProperties("ToneMappedVolumeStyle","VolumeRendering",2,"renderStyle","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"enabled",new(d().SFBool)(!0)),new(h())(m().inputOutput,"coolColor",new(d().SFColorRGBA)(0,0,1,0)),new(h())(m().inputOutput,"warmColor",new(d().SFColorRGBA)(1,1,0,0)),new(h())(m().inputOutput,"surfaceNormals",new(d().SFNode))]),enumerable:!0}});const Ae=je,ze=y().add("ToneMappedVolumeStyle",Ae);function Re(e){Se.call(this,e),this.addType(m().VolumeData),this.renderStyleNode=null}Object.assign(Object.setPrototypeOf(Re.prototype,Se.prototype),{initialize(){Se.prototype.initialize.call(this);this.getBrowser().getContext().getVersion()<2||(this._renderStyle.addInterest("set_renderStyle__",this),this._voxels.addInterest("set_voxels__",this),this._renderStyle.addInterest("updateShader",this),this.set_renderStyle__(),this.set_voxels__(),this.updateShader())},set_renderStyle__(){this.renderStyleNode&&(this.renderStyleNode.removeInterest("updateShader",this),this.renderStyleNode.removeVolumeData(this)),this.renderStyleNode=O()(m().X3DVolumeRenderStyleNode,this._renderStyle),this.renderStyleNode&&(this.renderStyleNode.addInterest("updateShader",this),this.renderStyleNode.addVolumeData(this))},set_voxels__(){this.voxelsNode=O()(m().X3DTexture3DNode,this._voxels),this.voxelsNode?this.getAppearance()._texture=this._voxels:this.getAppearance()._texture=this.getBrowser().getDefaultVoxels()},createShader(e,t,n){const o=this.getBrowser().getDefaultVolumeStyle();let r=o.getUniformsText(),i=o.getFunctionsText();this.renderStyleNode&&(r+=this.renderStyleNode.getUniformsText(),i+=this.renderStyleNode.getFunctionsText()),n=n.replace(/__VOLUME_STYLES_UNIFORMS__/,r).replace(/__VOLUME_STYLES_FUNCTIONS__/,i);const s=new(ve())(this.getExecutionContext());s._url.push(encodeURI("data:x-shader/x-vertex,"+t)),s.setPrivate(!0),s.setName("VolumeDataVertexShader"),s.setOptions(e),s.setup();const a=new(ve())(this.getExecutionContext());a._type="FRAGMENT",a._url.push(encodeURI("data:x-shader/x-fragment,"+n)),a.setPrivate(!0),a.setName("VolumeDataFragmentShader"),a.setOptions(e),a.setup();const l=new(xe())(this.getExecutionContext());l._language="GLSL",l._parts.push(s),l._parts.push(a),l.setPrivate(!0),l.setName("VolumeDataShader"),o.addShaderFields(l),this.renderStyleNode&&this.renderStyleNode.addShaderFields(l);const d=[];return this.addShaderUniformNames(d),l.setUniformNames(d),l.setup(),l}}),Object.defineProperties(Re,{...f().getStaticProperties("VolumeData","VolumeRendering",1,"children","3.3"),fieldDefinitions:{value:new(p())([new(h())(m().inputOutput,"metadata",new(d().SFNode)),new(h())(m().inputOutput,"dimensions",new(d().SFVec3f)(1,1,1)),new(h())(m().inputOutput,"visible",new(d().SFBool)(!0)),new(h())(m().inputOutput,"bboxDisplay",new(d().SFBool)),new(h())(m().initializeOnly,"bboxSize",new(d().SFVec3f)(-1,-1,-1)),new(h())(m().initializeOnly,"bboxCenter",new(d().SFVec3f)),new(h())(m().inputOutput,"renderStyle",new(d().SFNode)),new(h())(m().inputOutput,"voxels",new(d().SFNode))]),enumerable:!0}});const Xe=Re,Ge=y().add("VolumeData",Xe);o().add({name:"VolumeRendering",concreteNodes:[z,G,Y,W,Z,Ce,D,Ie,Te,Ue,Le,ze,Ge],abstractNodes:[C,Se,v],browserContext:L});y().add("VolumeRenderingComponent",undefined)})(); \ No newline at end of file diff --git a/dist/assets/components/X_ITEComponent.js b/dist/assets/components/X_ITEComponent.js index 2b4b5354e1..91c78baa4f 100644 --- a/dist/assets/components/X_ITEComponent.js +++ b/dist/assets/components/X_ITEComponent.js @@ -1,5 +1,5 @@ -/* X_ITE v10.2.0 */ -const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.2.0")]; +/* X_ITE v10.3.0 */ +const __X_ITE_X3D__ = window [Symbol .for ("X_ITE.X3D-10.3.0")]; /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope diff --git a/dist/assets/components/X_ITEComponent.min.js b/dist/assets/components/X_ITEComponent.min.js index 6b86b731db..8942d8e0a5 100644 --- a/dist/assets/components/X_ITEComponent.min.js +++ b/dist/assets/components/X_ITEComponent.min.js @@ -1,2 +1,2 @@ -/* X_ITE v10.2.0 */ -const e=window[Symbol.for("X_ITE.X3D-10.2.0")];(()=>{var t={n:e=>{var s=e&&e.__esModule?()=>e.default:()=>e;return t.d(s,{a:s}),s},d:(e,s)=>{for(var i in s)t.o(s,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:s[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const s=e.Components;var i=t.n(s);const n=e.Fields;var r=t.n(n);const o=e.X3DFieldDefinition;var a=t.n(o);const u=e.FieldDefinitionArray;var _=t.n(u);const h=e.X3DNode;var c=t.n(h);const d=e.X3DConstants;var p=t.n(d);const l=e.BitSet;var T=t.n(l);const S=e.Namespace;var x=t.n(S);function E(e){c().call(this,e),this.addType(p().X3DMaterialExtensionNode),this.textureBits=new(T())}Object.assign(Object.setPrototypeOf(E.prototype,c().prototype),{setTexture(e,t){e*=4,this.textureBits.remove(e,15),this.textureBits.add(e,t?.getTextureBits()??0)},getTextureBits(){return this.textureBits}}),Object.defineProperties(E,c().getStaticProperties("X3DMaterialExtensionNode","X_ITE",1));const f=E,g=x().add("X3DMaterialExtensionNode",f),O=e.X3DCast;var N=t.n(O);let m=0;const I={ANISOTROPY_MATERIAL_EXTENSION:m++,CLEARCOAT_MATERIAL_EXTENSION:m++,DIFFUSE_TRANSMISSION_EXTENSION:m++,DISPERSION_MATERIAL_EXTENSION:m++,EMISSIVE_STRENGTH_MATERIAL_EXTENSION:m++,IOR_MATERIAL_EXTENSION:m++,IRIDESCENCE_MATERIAL_EXTENSION:m++,SHEEN_MATERIAL_EXTENSION:m++,SPECULAR_MATERIAL_EXTENSION:m++,TRANSMISSION_MATERIAL_EXTENSION:m++,UNLIT_MATERIAL_EXTENSION:m++,VOLUME_MATERIAL_EXTENSION:m++},A=x().add("ExtensionKeys",I);function w(e){g.call(this,e),this.addType(p().AnisotropyMaterialExtension),this.anisotropyArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(w.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._anisotropyStrength.addInterest("set_anisotropyStrength__",this),this._anisotropyRotation.addInterest("set_anisotropyRotation__",this),this._anisotropyTexture.addInterest("set_anisotropyTexture__",this),this.set_anisotropyStrength__(),this.set_anisotropyRotation__(),this.set_anisotropyTexture__()},set_anisotropyStrength__(){this.anisotropyArray[2]=Math.max(this._anisotropyStrength.getValue(),0)},set_anisotropyRotation__(){const e=this._anisotropyRotation.getValue();this.anisotropyArray[0]=Math.cos(e),this.anisotropyArray[1]=Math.sin(e)},set_anisotropyTexture__(){this.anisotropyTextureNode=N()(p().X3DSingleTextureNode,this._anisotropyTexture),this.setTexture(0,this.anisotropyTextureNode)},getExtensionKey:()=>A.ANISOTROPY_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_ANISOTROPY_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.anisotropyTextureNode?.getShaderOptions(e,"ANISOTROPY",!0))},setShaderUniforms(e,t,s,i,n){e.uniform3fv(t.x3d_AnisotropyEXT,this.anisotropyArray),this.anisotropyTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_AnisotropyTextureEXT,this._anisotropyTextureMapping.getValue(),i,n)}}),Object.defineProperties(w,{...c().getStaticProperties("AnisotropyMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"anisotropyStrength",new(r().SFFloat)),new(a())(p().inputOutput,"anisotropyRotation",new(r().SFFloat)),new(a())(p().inputOutput,"anisotropyTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"anisotropyTexture",new(r().SFNode))]),enumerable:!0}});const y=w,C=x().add("AnisotropyMaterialExtension",y),R=e.X3DAppearanceChildNode;var F=t.n(R);function M(e){F().call(this,e),this.addType(p().BlendMode),this.factorTypes=new Map,this.equationTypes=new Map}Object.assign(Object.setPrototypeOf(M.prototype,F().prototype),{initialize(){F().prototype.initialize.call(this);const e=this.getBrowser().getContext(),t=e.getExtension("EXT_blend_minmax");this.factorTypes.set("ZERO",e.ZERO),this.factorTypes.set("ONE",e.ONE),this.factorTypes.set("SRC_COLOR",e.SRC_COLOR),this.factorTypes.set("ONE_MINUS_SRC_COLOR",e.ONE_MINUS_SRC_COLOR),this.factorTypes.set("DST_COLOR",e.DST_COLOR),this.factorTypes.set("ONE_MINUS_DST_COLOR",e.ONE_MINUS_DST_COLOR),this.factorTypes.set("SRC_ALPHA",e.SRC_ALPHA),this.factorTypes.set("ONE_MINUS_SRC_ALPHA",e.ONE_MINUS_SRC_ALPHA),this.factorTypes.set("DST_ALPHA",e.DST_ALPHA),this.factorTypes.set("ONE_MINUS_DST_ALPHA",e.ONE_MINUS_DST_ALPHA),this.factorTypes.set("SRC_ALPHA_SATURATE",e.SRC_ALPHA_SATURATE),this.factorTypes.set("CONSTANT_COLOR",e.CONSTANT_COLOR),this.factorTypes.set("ONE_MINUS_CONSTANT_COLOR",e.ONE_MINUS_CONSTANT_COLOR),this.factorTypes.set("CONSTANT_ALPHA",e.CONSTANT_ALPHA),this.factorTypes.set("ONE_MINUS_CONSTANT_ALPHA",e.ONE_MINUS_CONSTANT_ALPHA),this.equationTypes.set("FUNC_ADD",e.FUNC_ADD),this.equationTypes.set("FUNC_SUBTRACT",e.FUNC_SUBTRACT),this.equationTypes.set("FUNC_REVERSE_SUBTRACT",e.FUNC_REVERSE_SUBTRACT),this.equationTypes.set("MIN",e.MIN||t&&t.MIN_EXT),this.equationTypes.set("MAX",e.MAX||t&&t.MAX_EXT),this._sourceColorFactor.addInterest("set_sourceColorFactor__",this),this._sourceAlphaFactor.addInterest("set_sourceAlphaFactor__",this),this._destinationColorFactor.addInterest("set_destinationColorFactor__",this),this._destinationAlphaFactor.addInterest("set_destinationAlphaFactor__",this),this._colorEquation.addInterest("set_colorEquation__",this),this._alphaEquation.addInterest("set_alphaEquation__",this),this.set_sourceColorFactor__(),this.set_sourceAlphaFactor__(),this.set_destinationColorFactor__(),this.set_destinationAlphaFactor__(),this.set_colorEquation__(),this.set_alphaEquation__()},set_sourceColorFactor__(){this.sourceColorFactorType=this.factorTypes.get(this._sourceColorFactor.getValue())??this.factorTypes.get("SRC_ALPHA")},set_sourceAlphaFactor__(){this.sourceAlphaFactorType=this.factorTypes.get(this._sourceAlphaFactor.getValue())??this.factorTypes.get("ONE")},set_destinationColorFactor__(){this.destinationColorFactorType=this.factorTypes.get(this._destinationColorFactor.getValue())??this.factorTypes.get("ONE_MINUS_SRC_ALPHA")},set_destinationAlphaFactor__(){this.destinationAlphaFactorType=this.factorTypes.get(this._destinationAlphaFactor.getValue())??this.factorTypes.get("ONE_MINUS_SRC_ALPHA")},set_colorEquation__(){this.colorEquationType=this.equationTypes.get(this._colorEquation.getValue())??this.equationTypes.get("FUNC_ADD")},set_alphaEquation__(){this.alphaEquationType=this.equationTypes.get(this._alphaEquation.getValue())??this.equationTypes.get("FUNC_ADD")},enable(e){const t=this._blendColor.getValue();e.blendColor(t.r,t.g,t.b,t.a),e.blendFuncSeparate(this.sourceColorFactorType,this.destinationColorFactorType,this.sourceAlphaFactorType,this.destinationAlphaFactorType),e.blendEquationSeparate(this.colorEquationType,this.alphaEquationType)},disable(e){e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA),e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD)}}),Object.defineProperties(M,{...c().getStaticProperties("BlendMode","X_ITE",1,"blendMode","3.3"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"blendColor",new(r().SFColorRGBA)),new(a())(p().inputOutput,"sourceColorFactor",new(r().SFString)("SRC_ALPHA")),new(a())(p().inputOutput,"sourceAlphaFactor",new(r().SFString)("ONE")),new(a())(p().inputOutput,"destinationColorFactor",new(r().SFString)("ONE_MINUS_SRC_ALPHA")),new(a())(p().inputOutput,"destinationAlphaFactor",new(r().SFString)("ONE_MINUS_SRC_ALPHA")),new(a())(p().inputOutput,"colorEquation",new(r().SFString)("FUNC_ADD")),new(a())(p().inputOutput,"alphaEquation",new(r().SFString)("FUNC_ADD"))]),enumerable:!0}});const X=M,D=x().add("BlendMode",X),b=e.Algorithm;var L=t.n(b);function U(e){g.call(this,e),this.addType(p().ClearcoatMaterialExtension)}Object.assign(Object.setPrototypeOf(U.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._clearcoat.addInterest("set_clearcoat__",this),this._clearcoatTexture.addInterest("set_clearcoatTexture__",this),this._clearcoatRoughness.addInterest("set_clearcoatRoughness__",this),this._clearcoatRoughnessTexture.addInterest("set_clearcoatRoughnessTexture__",this),this._clearcoatNormalTexture.addInterest("set_clearcoatNormalTexture__",this),this.set_clearcoat__(),this.set_clearcoatTexture__(),this.set_clearcoatRoughness__(),this.set_clearcoatRoughnessTexture__(),this.set_clearcoatNormalTexture__()},set_clearcoat__(){this.clearcoat=Math.max(this._clearcoat.getValue(),0)},set_clearcoatTexture__(){this.clearcoatTextureNode=N()(p().X3DSingleTextureNode,this._clearcoatTexture),this.setTexture(0,this.clearcoatTextureNode)},set_clearcoatRoughness__(){this.clearcoatRoughness=L().clamp(this._clearcoatRoughness.getValue(),0,1)},set_clearcoatRoughnessTexture__(){this.clearcoatRoughnessTextureNode=N()(p().X3DSingleTextureNode,this._clearcoatRoughnessTexture),this.setTexture(1,this.clearcoatRoughnessTextureNode)},set_clearcoatNormalTexture__(){this.clearcoatNormalTextureNode=N()(p().X3DSingleTextureNode,this._clearcoatNormalTexture),this.setTexture(2,this.clearcoatNormalTextureNode)},getExtensionKey:()=>A.CLEARCOAT_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_CLEARCOAT_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.clearcoatTextureNode?.getShaderOptions(e,"CLEARCOAT",!0),this.clearcoatRoughnessTextureNode?.getShaderOptions(e,"CLEARCOAT_ROUGHNESS",!0),this.clearcoatNormalTextureNode?.getShaderOptions(e,"CLEARCOAT_NORMAL",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_ClearcoatEXT,this.clearcoat),e.uniform1f(t.x3d_ClearcoatRoughnessEXT,this.clearcoatRoughness),+this.getTextureBits()&&(this.clearcoatTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ClearcoatTextureEXT,this._clearcoatTextureMapping.getValue(),i,n),this.clearcoatRoughnessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ClearcoatRoughnessTextureEXT,this._clearcoatRoughnessTextureMapping.getValue(),i,n),this.clearcoatNormalTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ClearcoatNormalTextureEXT,this._clearcoatNormalTextureMapping.getValue(),i,n))}}),Object.defineProperties(U,{...c().getStaticProperties("ClearcoatMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"clearcoat",new(r().SFFloat)),new(a())(p().inputOutput,"clearcoatTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"clearcoatTexture",new(r().SFNode)),new(a())(p().inputOutput,"clearcoatRoughness",new(r().SFFloat)),new(a())(p().inputOutput,"clearcoatRoughnessTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"clearcoatRoughnessTexture",new(r().SFNode)),new(a())(p().inputOutput,"clearcoatNormalTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"clearcoatNormalTexture",new(r().SFNode))]),enumerable:!0}});const P=U,V=x().add("ClearcoatMaterialExtension",P);function v(e){F().call(this,e),this.addType(p().DepthMode),this.addAlias("depthFunc",this._depthFunction)}Object.assign(Object.setPrototypeOf(v.prototype,F().prototype),{initialize(){F().prototype.initialize.call(this),this._depthFunction.addInterest("set_depthFunction__",this),this.set_depthFunction__()},set_depthFunction__:function(){const e=new Map([["NEVER","NEVER"],["LESS","LESS"],["EQUAL","EQUAL"],["LESS_EQUAL","LEQUAL"],["GREATER","GREATER"],["NOT_EQUAL","NOTEQUAL"],["GREATER_EQUAL","GEQUAL"],["ALWAYS","ALWAYS"]]);return function(){const t=this.getBrowser().getContext();this.depthFunction=t[e.get(this._depthFunction.getValue())??"LEQUAL"]}}(),enable(e){this.depthTest=e.isEnabled(e.DEPTH_TEST),this.depthWriteMask=e.getParameter(e.DEPTH_WRITEMASK),e.enable(e.POLYGON_OFFSET_FILL),e.polygonOffset(...this._polygonOffset),this._depthTest.getValue()?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),e.depthFunc(this.depthFunction),e.depthRange(...this._depthRange.getValue()),e.depthMask(this._depthMask.getValue())},disable(e){e.disable(e.POLYGON_OFFSET_FILL),this.depthTest?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.depthRange(0,1),e.depthMask(this.depthWriteMask)}}),Object.defineProperties(v,{...c().getStaticProperties("DepthMode","X_ITE",1,"depthMode","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"polygonOffset",new(r().SFVec2f)),new(a())(p().inputOutput,"depthRange",new(r().SFVec2f)(0,1)),new(a())(p().inputOutput,"depthTest",new(r().SFBool)(!0)),new(a())(p().inputOutput,"depthFunction",new(r().SFString)("LESS_EQUAL")),new(a())(p().inputOutput,"depthMask",new(r().SFBool)(!0))]),enumerable:!0}});const B=v,k=x().add("DepthMode",B);function j(e){g.call(this,e),this.addType(p().DiffuseTransmissionMaterialExtension),this.diffuseTransmissionColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(j.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._diffuseTransmission.addInterest("set_diffuseTransmission__",this),this._diffuseTransmissionTexture.addInterest("set_diffuseTransmissionTexture__",this),this._diffuseTransmissionColor.addInterest("set_diffuseTransmissionColor__",this),this._diffuseTransmissionColorTexture.addInterest("set_diffuseTransmissionColorTexture__",this),this.set_diffuseTransmission__(),this.set_diffuseTransmissionTexture__(),this.set_diffuseTransmissionColor__(),this.set_diffuseTransmissionColorTexture__()},set_diffuseTransmission__(){this.diffuseTransmission=Math.max(this._diffuseTransmission.getValue(),0)},set_diffuseTransmissionTexture__(){this.diffuseTransmissionTextureNode=N()(p().X3DSingleTextureNode,this._diffuseTransmissionTexture),this.setTexture(0,this.diffuseTransmissionTextureNode)},set_diffuseTransmissionColor__(){const e=this.diffuseTransmissionColorArray,t=this._diffuseTransmissionColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_diffuseTransmissionColorTexture__(){this.diffuseTransmissionColorTextureNode=N()(p().X3DSingleTextureNode,this._diffuseTransmissionColorTexture),this.setTexture(1,this.diffuseTransmissionColorTextureNode)},getExtensionKey:()=>A.DIFFUSE_TRANSMISSION_EXTENSION,getShaderOptions(e){e.push("X3D_DIFFUSE_TRANSMISSION_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.diffuseTransmissionTextureNode?.getShaderOptions(e,"DIFFUSE_TRANSMISSION",!0),this.diffuseTransmissionColorTextureNode?.getShaderOptions(e,"DIFFUSE_TRANSMISSION_COLOR",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_DiffuseTransmissionEXT,this.diffuseTransmission),e.uniform3fv(t.x3d_DiffuseTransmissionColorEXT,this.diffuseTransmissionColorArray),+this.getTextureBits()&&(this.diffuseTransmissionTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_DiffuseTransmissionTextureEXT,this._diffuseTransmissionTextureMapping.getValue(),i,n),this.diffuseTransmissionColorTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_DiffuseTransmissionColorTextureEXT,this._diffuseTransmissionColorTextureMapping.getValue(),i,n))}}),Object.defineProperties(j,{...c().getStaticProperties("DiffuseTransmissionMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"diffuseTransmission",new(r().SFFloat)),new(a())(p().inputOutput,"diffuseTransmissionTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"diffuseTransmissionTexture",new(r().SFNode)),new(a())(p().inputOutput,"diffuseTransmissionColor",new(r().SFColor)(1,1,1)),new(a())(p().inputOutput,"diffuseTransmissionColorTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"diffuseTransmissionColorTexture",new(r().SFNode))]),enumerable:!0}});const G=j,H=x().add("DiffuseTransmissionMaterialExtension",G);function z(e){g.call(this,e),this.addType(p().DispersionMaterialExtension)}Object.assign(Object.setPrototypeOf(z.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._dispersion.addInterest("set_dispersion__",this),this.set_dispersion__()},set_dispersion__(){this.dispersion=Math.max(this._dispersion.getValue(),0)},getExtensionKey:()=>A.DISPERSION_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_DISPERSION_MATERIAL_EXT")},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_DispersionEXT,this.dispersion)}}),Object.defineProperties(z,{...c().getStaticProperties("DispersionMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"dispersion",new(r().SFFloat))]),enumerable:!0}});const q=z,K=x().add("DispersionMaterialExtension",q);function Y(e){g.call(this,e),this.addType(p().EmissiveStrengthMaterialExtension)}Object.assign(Object.setPrototypeOf(Y.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._emissiveStrength.addInterest("set_emissiveStrength__",this),this.set_emissiveStrength__()},set_emissiveStrength__(){this.emissiveStrength=Math.max(this._emissiveStrength.getValue(),0)},getExtensionKey:()=>A.EMISSIVE_STRENGTH_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_EMISSIVE_STRENGTH_MATERIAL_EXT")},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_EmissiveStrengthEXT,this.emissiveStrength)}}),Object.defineProperties(Y,{...c().getStaticProperties("EmissiveStrengthMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"emissiveStrength",new(r().SFFloat)(1))]),enumerable:!0}});const Q=Y,W=x().add("EmissiveStrengthMaterialExtension",Q),$=e.X3DShapeNode;var Z=t.n($);const J=e.TraverseType;var ee=t.n(J);const te=e.VertexArray;var se=t.n(te);const ie=e.Vector3;var ne=t.n(ie);const re=e.Matrix4;var oe=t.n(re);const ae=e.Box3;var ue=t.n(ae);function _e(e){Z().call(this,e),this.addType(p().InstancedShape),this.addChildObjects(p().outputOnly,"matrices",new(r().SFTime)),this.min=new(ne()),this.max=new(ne()),this.scale=new(ne())(1,1,1),this.numInstances=0,this.instancesStride=25*Float32Array.BYTES_PER_ELEMENT,this.matrixOffset=0,this.normalMatrixOffset=16*Float32Array.BYTES_PER_ELEMENT}Object.assign(Object.setPrototypeOf(_e.prototype,Z().prototype),{initialize(){Z().prototype.initialize.call(this);const e=this.getBrowser(),t=e.getContext();e.getContext().getVersion()<2||(this.instances=Object.assign(t.createBuffer(),{vertexArrayObject:new(se())(t),thickLinesVertexArrayObject:new(se())(t),lineTrianglesBuffer:t.createBuffer(),numLines:0}),this._translations.addInterest("set_transform__",this),this._rotations.addInterest("set_transform__",this),this._scales.addInterest("set_transform__",this),this._matrices.addInterest("set_matrices__",this),this.set_transform__())},getShapeKey:()=>3,getNumInstances(){return this.numInstances},getInstances(){return this.instances},set_bbox__:function(){const e=new(ne()),t=new(ne()),s=new(ue());return function(){if(this.numInstances)if(this._bboxSize.getValue().equals(this.getDefaultBBoxSize())){this.getGeometry()?s.assign(this.getGeometry().getBBox()):s.set();const i=s.size.multiply(this.scale.magnitude()/2),n=s.center;e.assign(this.min).add(n).subtract(i),t.assign(this.max).add(n).add(i),this.bbox.setExtents(e,t)}else this.bbox.set(this._bboxSize.getValue(),this._bboxCenter.getValue());else this.bbox.set();this.getBBoxSize().assign(this.bbox.size),this.getBBoxCenter().assign(this.bbox.center)}}(),set_transform__(){this._matrices=this.getBrowser().getCurrentTime()},set_matrices__(){const e=this.getBrowser().getContext(),t=this._translations,s=this._rotations,i=this._scales,n=t.length,r=s.length,o=i.length,a=Math.max(n,r,o),u=this.instancesStride/Float32Array.BYTES_PER_ELEMENT,_=this.instancesStride*a,h=new Float32Array(_),c=new(oe());this.numInstances=a;const d=this.min.set(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),p=this.max.set(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),l=this.scale.assign(o?p:ne().One);for(let e=0,_=0;eA.IOR_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_IOR_MATERIAL_EXT")},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_IorEXT,this.indexOfRefraction)}}),Object.defineProperties(de,{...c().getStaticProperties("IORMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"indexOfRefraction",new(r().SFFloat)(1.5))]),enumerable:!0}});const pe=de,le=x().add("IORMaterialExtension",pe);function Te(e){g.call(this,e),this.addType(p().IridescenceMaterialExtension)}Object.assign(Object.setPrototypeOf(Te.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._iridescence.addInterest("set_iridescence__",this),this._iridescenceTexture.addInterest("set_iridescenceTexture__",this),this._iridescenceIndexOfRefraction.addInterest("set_iridescenceIndexOfRefraction__",this),this._iridescenceThicknessMinimum.addInterest("set_iridescenceThicknessMinimum__",this),this._iridescenceThicknessMaximum.addInterest("set_iridescenceThicknessMaximum__",this),this._iridescenceThicknessTexture.addInterest("set_iridescenceThicknessTexture__",this),this.set_iridescence__(),this.set_iridescenceTexture__(),this.set_iridescenceIndexOfRefraction__(),this.set_iridescenceThicknessMinimum__(),this.set_iridescenceThicknessMaximum__(),this.set_iridescenceThicknessTexture__()},set_iridescence__(){this.iridescence=Math.max(this._iridescence.getValue(),0)},set_iridescenceTexture__(){this.iridescenceTextureNode=N()(p().X3DSingleTextureNode,this._iridescenceTexture),this.setTexture(0,this.iridescenceTextureNode)},set_iridescenceIndexOfRefraction__(){this.iridescenceIndexOfRefraction=Math.max(this._iridescenceIndexOfRefraction.getValue(),1)},set_iridescenceThicknessMinimum__(){this.iridescenceThicknessMinimum=Math.max(this._iridescenceThicknessMinimum.getValue(),0)},set_iridescenceThicknessMaximum__(){this.iridescenceThicknessMaximum=Math.max(this._iridescenceThicknessMaximum.getValue(),0)},set_iridescenceThicknessTexture__(){this.iridescenceThicknessTextureNode=N()(p().X3DSingleTextureNode,this._iridescenceThicknessTexture),this.setTexture(1,this.iridescenceThicknessTextureNode)},getExtensionKey:()=>A.IRIDESCENCE_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_IRIDESCENCE_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.iridescenceTextureNode?.getShaderOptions(e,"IRIDESCENCE",!0),this.iridescenceThicknessTextureNode?.getShaderOptions(e,"IRIDESCENCE_THICKNESS",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_IridescenceEXT,this.iridescence),e.uniform1f(t.x3d_IridescenceIndexOfRefractionEXT,this.iridescenceIndexOfRefraction),e.uniform1f(t.x3d_IridescenceThicknessMinimumEXT,this.iridescenceThicknessMinimum),e.uniform1f(t.x3d_IridescenceThicknessMaximumEXT,this.iridescenceThicknessMaximum),+this.getTextureBits()&&(this.iridescenceTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_IridescenceTextureEXT,this._iridescenceTextureMapping.getValue(),i,n),this.iridescenceThicknessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_IridescenceThicknessTextureEXT,this._iridescenceThicknessTextureMapping.getValue(),i,n))}}),Object.defineProperties(Te,{...c().getStaticProperties("IridescenceMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"iridescence",new(r().SFFloat)),new(a())(p().inputOutput,"iridescenceTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"iridescenceTexture",new(r().SFNode)),new(a())(p().inputOutput,"iridescenceIndexOfRefraction",new(r().SFFloat)(1.3)),new(a())(p().inputOutput,"iridescenceThicknessMinimum",new(r().SFFloat)(100)),new(a())(p().inputOutput,"iridescenceThicknessMaximum",new(r().SFFloat)(400)),new(a())(p().inputOutput,"iridescenceThicknessTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"iridescenceThicknessTexture",new(r().SFNode))]),enumerable:!0}});const Se=Te,xe=x().add("IridescenceMaterialExtension",Se);function Ee(e){g.call(this,e),this.addType(p().SheenMaterialExtension),this.sheenColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(Ee.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._sheenColor.addInterest("set_sheenColor__",this),this._sheenColorTexture.addInterest("set_sheenColorTexture__",this),this._sheenRoughness.addInterest("set_sheenRoughness__",this),this._sheenRoughnessTexture.addInterest("set_sheenRoughnessTexture__",this),this.set_sheenColor__(),this.set_sheenColorTexture__(),this.set_sheenRoughness__(),this.set_sheenRoughnessTexture__()},set_sheenColor__(){const e=this.sheenColorArray,t=this._sheenColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_sheenColorTexture__(){this.sheenColorTextureNode=N()(p().X3DSingleTextureNode,this._sheenColorTexture),this.setTexture(0,this.sheenColorTextureNode)},set_sheenRoughness__(){this.sheenRoughness=L().clamp(this._sheenRoughness.getValue(),0,1)},set_sheenRoughnessTexture__(){this.sheenRoughnessTextureNode=N()(p().X3DSingleTextureNode,this._sheenRoughnessTexture),this.setTexture(1,this.sheenRoughnessTextureNode)},getExtensionKey:()=>A.SHEEN_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_SHEEN_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.sheenColorTextureNode?.getShaderOptions(e,"SHEEN_COLOR",!0),this.sheenRoughnessTextureNode?.getShaderOptions(e,"SHEEN_ROUGHNESS",!0))},setShaderUniforms(e,t,s,i,n){e.uniform3fv(t.x3d_SheenColorEXT,this.sheenColorArray),e.uniform1f(t.x3d_SheenRoughnessEXT,this.sheenRoughness);const r=this.getBrowser(),o=r.getLibraryTexture("lut_sheen_E.png"),a=r.getTexture2DUnit();e.activeTexture(e.TEXTURE0+a),e.bindTexture(e.TEXTURE_2D,o.getTexture()),e.uniform1i(t.x3d_SheenELUTTextureEXT,a),+this.getTextureBits()&&(this.sheenColorTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SheenColorTextureEXT,this._sheenColorTextureMapping.getValue(),i,n),this.sheenRoughnessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SheenRoughnessTextureEXT,this._sheenRoughnessTextureMapping.getValue(),i,n))}}),Object.defineProperties(Ee,{...c().getStaticProperties("SheenMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"sheenColor",new(r().SFColor)),new(a())(p().inputOutput,"sheenColorTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"sheenColorTexture",new(r().SFNode)),new(a())(p().inputOutput,"sheenRoughness",new(r().SFFloat)),new(a())(p().inputOutput,"sheenRoughnessTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"sheenRoughnessTexture",new(r().SFNode))]),enumerable:!0}});const fe=Ee,ge=x().add("SheenMaterialExtension",fe),Oe=e.X3DOneSidedMaterialNode;var Ne=t.n(Oe);function me(e){console.warn("SpecularGlossinessMaterial is depreciated, please use PhysicalMaterial instead."),Ne().call(this,e),this.addType(p().SpecularGlossinessMaterial),this.materialKey="4/",this.diffuseColorArray=new Float32Array(3),this.specularColorArray=new Float32Array(3),this.extensionNodes=[]}Object.assign(Object.setPrototypeOf(me.prototype,Ne().prototype),{initialize(){Ne().prototype.initialize.call(this),this._diffuseColor.addInterest("set_diffuseColor__",this),this._diffuseTexture.addInterest("set_diffuseTexture__",this),this._diffuseTexture.addInterest("set_transparent__",this),this._specularColor.addInterest("set_specularColor__",this),this._glossiness.addInterest("set_glossiness__",this),this._specularGlossinessTexture.addInterest("set_specularGlossinessTexture__",this),this._occlusionStrength.addInterest("set_occlusionStrength__",this),this._occlusionTexture.addInterest("set_occlusionTexture__",this),this._extensions.addInterest("set_extensions__",this),this.set_diffuseColor__(),this.set_diffuseTexture__(),this.set_specularColor__(),this.set_glossiness__(),this.set_specularGlossinessTexture__(),this.set_occlusionStrength__(),this.set_occlusionTexture__(),this.set_extensions__(),this.set_transparent__()},getMaterialKey(){return this.materialKey},getTextureIndices:(()=>{let e=0;const t={DIFFUSE_TEXTURE:e++,SPECULAR_GLOSSINESS_TEXTURE:e++,EMISSIVE_TEXTURE:e++,OCCLUSION_TEXTURE:e++,NORMAL_TEXTURE:e++};return function(){return t}})(),getBaseTexture(){return this.diffuseTextureNode},set_diffuseColor__(){const e=this.diffuseColorArray,t=this._diffuseColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_diffuseTexture__(){const e=this.getTextureIndices().DIFFUSE_TEXTURE;this.diffuseTextureNode&&(this.diffuseTextureNode._transparent.removeInterest("set_transparent__",this),this.diffuseTextureNode._linear.removeInterest(`setTexture${e}`,this)),this.diffuseTextureNode=N()(p().X3DSingleTextureNode,this._diffuseTexture),this.diffuseTextureNode&&(this.diffuseTextureNode._transparent.addInterest("set_transparent__",this),this.diffuseTextureNode._linear.addInterest(`setTexture${e}`,this,e,this.diffuseTextureNode)),this.setTexture(e,this.diffuseTextureNode)},set_specularColor__(){const e=this.specularColorArray,t=this._specularColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_glossiness__(){this.glossiness=L().clamp(this._glossiness.getValue(),0,1)},set_specularGlossinessTexture__(){this.specularGlossinessTextureNode=N()(p().X3DSingleTextureNode,this._specularGlossinessTexture),this.setTexture(this.getTextureIndices().SPECULAR_GLOSSINESS_TEXTURE,this.specularGlossinessTextureNode)},set_occlusionStrength__(){this.occlusionStrength=L().clamp(this._occlusionStrength.getValue(),0,1)},set_occlusionTexture__(){this.occlusionTextureNode=N()(p().X3DSingleTextureNode,this._occlusionTexture),this.setTexture(this.getTextureIndices().OCCLUSION_TEXTURE,this.occlusionTextureNode)},set_transparent__(){this.setTransparent(this.getTransparency()||this.diffuseTextureNode?.isTransparent())},set_extensions__(){const e=this.extensionNodes;for(const t of e)t.removeInterest("set_extensionsKey__",this);e.length=0;for(const t of this._extensions){const s=N()(p().X3DMaterialExtensionNode,t);s&&e.push(s)}e.sort(((e,t)=>e.getExtensionKey()-t.getExtensionKey()));for(const t of e)t.addInterest("set_extensionsKey__",this);this.setTransmission(e.some((e=>e.getType().includes(p().TransmissionMaterialExtension)))),this.set_extensionsKey__()},set_extensionsKey__(){const e=this.extensionNodes.map((e=>`${e.getExtensionKey().toString(16)}${e.getTextureBits().toString(16)}`)).join("");this.materialKey=`[4.${e}]`},createShader(e,t,s){const i=this.getBrowser(),n=this.getShaderOptions(t,s);for(const e of this.extensionNodes)e.getShaderOptions(n);n.push("X3D_PHYSICAL_MATERIAL","X3D_MATERIAL_SPECULAR_GLOSSINESS"),+this.getTextureBits()&&(this.diffuseTextureNode?.getShaderOptions(n,"DIFFUSE"),this.specularGlossinessTextureNode?.getShaderOptions(n,"SPECULAR_GLOSSINESS"),this.occlusionTextureNode?.getShaderOptions(n,"OCCLUSION"));const r=i.createShader("SpecularGlossiness","Default","Physical",n);return i.getShaders().set(e,r),r},setShaderUniforms(e,t,s,i,n){Ne().prototype.setShaderUniforms.call(this,e,t,s,i,n);for(const r of this.extensionNodes)r.setShaderUniforms(e,t,s,i,n);e.uniform3fv(t.x3d_DiffuseColor,this.diffuseColorArray),e.uniform3fv(t.x3d_SpecularColor,this.specularColorArray),e.uniform1f(t.x3d_Glossiness,this.glossiness),+this.getTextureBits()&&(this.diffuseTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_DiffuseTexture,this._diffuseTextureMapping.getValue(),i,n),this.specularGlossinessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SpecularGlossinessTexture,this._specularGlossinessTextureMapping.getValue(),i,n),this.occlusionTextureNode&&e.uniform1f(t.x3d_OcclusionStrength,this.occlusionStrength),this.occlusionTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_OcclusionTexture,this._occlusionTextureMapping.getValue(),i,n))}}),Object.defineProperties(me,{...c().getStaticProperties("SpecularGlossinessMaterial","X_ITE",1,"material","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"diffuseColor",new(r().SFColor)(1,1,1)),new(a())(p().inputOutput,"diffuseTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"diffuseTexture",new(r().SFNode)),new(a())(p().inputOutput,"specularColor",new(r().SFColor)(1,1,1)),new(a())(p().inputOutput,"glossiness",new(r().SFFloat)(1)),new(a())(p().inputOutput,"specularGlossinessTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"specularGlossinessTexture",new(r().SFNode)),new(a())(p().inputOutput,"emissiveColor",new(r().SFColor)),new(a())(p().inputOutput,"emissiveTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"emissiveTexture",new(r().SFNode)),new(a())(p().inputOutput,"occlusionStrength",new(r().SFFloat)(1)),new(a())(p().inputOutput,"occlusionTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"occlusionTexture",new(r().SFNode)),new(a())(p().inputOutput,"normalScale",new(r().SFFloat)(1)),new(a())(p().inputOutput,"normalTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"normalTexture",new(r().SFNode)),new(a())(p().inputOutput,"transparency",new(r().SFFloat)),new(a())(p().inputOutput,"extensions",new(r().MFNode))]),enumerable:!0}});for(const e of Object.values(me.prototype.getTextureIndices()))me.prototype[`setTexture${e}`]=function(e,t){this.setTexture(e,t)};const Ie=me,Ae=x().add("SpecularGlossinessMaterial",Ie);function we(e){g.call(this,e),this.addType(p().SpecularMaterialExtension),this.specularColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(we.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._specular.addInterest("set_specular__",this),this._specularTexture.addInterest("set_specularTexture__",this),this._specularColor.addInterest("set_specularColor__",this),this._specularColorTexture.addInterest("set_specularColorTexture__",this),this.set_specular__(),this.set_specularTexture__(),this.set_specularColor__(),this.set_specularColorTexture__()},set_specular__(){this.specular=Math.max(this._specular.getValue(),0)},set_specularTexture__(){this.specularTextureNode=N()(p().X3DSingleTextureNode,this._specularTexture),this.setTexture(0,this.specularTextureNode)},set_specularColor__(){const e=this.specularColorArray,t=this._specularColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_specularColorTexture__(){this.specularColorTextureNode=N()(p().X3DSingleTextureNode,this._specularColorTexture),this.setTexture(1,this.specularColorTextureNode)},getExtensionKey:()=>A.SPECULAR_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_SPECULAR_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.specularTextureNode?.getShaderOptions(e,"SPECULAR",!0),this.specularColorTextureNode?.getShaderOptions(e,"SPECULAR_COLOR",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_SpecularEXT,this.specular),e.uniform3fv(t.x3d_SpecularColorEXT,this.specularColorArray),+this.getTextureBits()&&(this.specularTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SpecularTextureEXT,this._specularTextureMapping.getValue(),i,n),this.specularColorTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SpecularColorTextureEXT,this._specularColorTextureMapping.getValue(),i,n))}}),Object.defineProperties(we,{...c().getStaticProperties("SpecularMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"specular",new(r().SFFloat)(1)),new(a())(p().inputOutput,"specularTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"specularTexture",new(r().SFNode)),new(a())(p().inputOutput,"specularColor",new(r().SFColor)(1,1,1)),new(a())(p().inputOutput,"specularColorTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"specularColorTexture",new(r().SFNode))]),enumerable:!0}});const ye=we,Ce=x().add("SpecularMaterialExtension",ye);function Re(e){g.call(this,e),this.addType(p().TransmissionMaterialExtension)}Object.assign(Object.setPrototypeOf(Re.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._transmission.addInterest("set_transmission__",this),this._transmissionTexture.addInterest("set_transmissionTexture__",this),this.set_transmission__(),this.set_transmissionTexture__()},set_transmission__(){this.transmission=Math.max(this._transmission.getValue(),0)},set_transmissionTexture__(){this.transmissionTextureNode=N()(p().X3DSingleTextureNode,this._transmissionTexture),this.setTexture(0,this.transmissionTextureNode)},getExtensionKey:()=>A.TRANSMISSION_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_TRANSMISSION_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.transmissionTextureNode?.getShaderOptions(e,"TRANSMISSION",!0))},setShaderUniforms(e,t,s,i,n){const r=this.getBrowser(),o=r.getTransmissionBuffer(),a=r.getTexture2DUnit();e.uniform1f(t.x3d_TransmissionEXT,this.transmission),e.activeTexture(e.TEXTURE0+a),e.bindTexture(e.TEXTURE_2D,o.getColorTexture()),e.uniform1i(t.x3d_TransmissionFramebufferSamplerEXT,a),e.uniform2i(t.x3d_TransmissionFramebufferSizeEXT,o.getWidth(),o.getHeight()),+this.getTextureBits()&&this.transmissionTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_TransmissionTextureEXT,this._transmissionTextureMapping.getValue(),i,n)}}),Object.defineProperties(Re,{...c().getStaticProperties("TransmissionMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"transmission",new(r().SFFloat)),new(a())(p().inputOutput,"transmissionTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"transmissionTexture",new(r().SFNode))]),enumerable:!0}});const Fe=Re,Me=x().add("TransmissionMaterialExtension",Fe);function Xe(e){g.call(this,e),this.addType(p().VolumeMaterialExtension),this.attenuationColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(Xe.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._thickness.addInterest("set_thickness__",this),this._thicknessTexture.addInterest("set_thicknessTexture__",this),this._attenuationDistance.addInterest("set_attenuationDistance__",this),this._attenuationColor.addInterest("set_attenuationColor__",this),this.set_thickness__(),this.set_thicknessTexture__(),this.set_attenuationDistance__(),this.set_attenuationColor__()},set_thickness__(){this.thickness=Math.max(this._thickness.getValue(),0)},set_thicknessTexture__(){this.thicknessTextureNode=N()(p().X3DSingleTextureNode,this._thicknessTexture),this.setTexture(0,this.thicknessTextureNode)},set_attenuationDistance__(){this.attenuationDistance=Math.max(this._attenuationDistance.getValue(),0)},set_attenuationColor__(){const e=this.attenuationColorArray,t=this._attenuationColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},getExtensionKey:()=>A.VOLUME_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_VOLUME_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.thicknessTextureNode?.getShaderOptions(e,"THICKNESS",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_ThicknessEXT,this.thickness),e.uniform1f(t.x3d_AttenuationDistanceEXT,this.attenuationDistance),e.uniform3fv(t.x3d_AttenuationColorEXT,this.attenuationColorArray),+this.getTextureBits()&&this.thicknessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ThicknessTextureEXT,this._thicknessTextureMapping.getValue(),i,n)}}),Object.defineProperties(Xe,{...c().getStaticProperties("VolumeMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"thickness",new(r().SFFloat)),new(a())(p().inputOutput,"thicknessTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"thicknessTexture",new(r().SFNode)),new(a())(p().inputOutput,"attenuationDistance",new(r().SFFloat)(1e6)),new(a())(p().inputOutput,"attenuationColor",new(r().SFColor)(1,1,1))]),enumerable:!0}});const De=Xe,be=x().add("VolumeMaterialExtension",De);i().add({name:"X_ITE",concreteNodes:[C,D,V,k,H,K,W,ce,le,xe,ge,Ae,Ce,Me,be],abstractNodes:[g]});x().add("X_ITEComponent",undefined)})(); \ No newline at end of file +/* X_ITE v10.3.0 */ +const e=window[Symbol.for("X_ITE.X3D-10.3.0")];(()=>{var t={n:e=>{var s=e&&e.__esModule?()=>e.default:()=>e;return t.d(s,{a:s}),s},d:(e,s)=>{for(var i in s)t.o(s,i)&&!t.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:s[i]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const s=e.Components;var i=t.n(s);const n=e.Fields;var r=t.n(n);const o=e.X3DFieldDefinition;var a=t.n(o);const u=e.FieldDefinitionArray;var _=t.n(u);const h=e.X3DNode;var c=t.n(h);const d=e.X3DConstants;var p=t.n(d);const l=e.BitSet;var T=t.n(l);const S=e.Namespace;var x=t.n(S);function E(e){c().call(this,e),this.addType(p().X3DMaterialExtensionNode),this.textureBits=new(T())}Object.assign(Object.setPrototypeOf(E.prototype,c().prototype),{setTexture(e,t){e*=4,this.textureBits.remove(e,15),this.textureBits.add(e,t?.getTextureBits()??0)},getTextureBits(){return this.textureBits}}),Object.defineProperties(E,c().getStaticProperties("X3DMaterialExtensionNode","X_ITE",1));const f=E,g=x().add("X3DMaterialExtensionNode",f),O=e.X3DCast;var N=t.n(O);let m=0;const I={ANISOTROPY_MATERIAL_EXTENSION:m++,CLEARCOAT_MATERIAL_EXTENSION:m++,DIFFUSE_TRANSMISSION_EXTENSION:m++,DISPERSION_MATERIAL_EXTENSION:m++,EMISSIVE_STRENGTH_MATERIAL_EXTENSION:m++,IOR_MATERIAL_EXTENSION:m++,IRIDESCENCE_MATERIAL_EXTENSION:m++,SHEEN_MATERIAL_EXTENSION:m++,SPECULAR_MATERIAL_EXTENSION:m++,TRANSMISSION_MATERIAL_EXTENSION:m++,UNLIT_MATERIAL_EXTENSION:m++,VOLUME_MATERIAL_EXTENSION:m++},A=x().add("ExtensionKeys",I);function w(e){g.call(this,e),this.addType(p().AnisotropyMaterialExtension),this.anisotropyArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(w.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._anisotropyStrength.addInterest("set_anisotropyStrength__",this),this._anisotropyRotation.addInterest("set_anisotropyRotation__",this),this._anisotropyTexture.addInterest("set_anisotropyTexture__",this),this.set_anisotropyStrength__(),this.set_anisotropyRotation__(),this.set_anisotropyTexture__()},set_anisotropyStrength__(){this.anisotropyArray[2]=Math.max(this._anisotropyStrength.getValue(),0)},set_anisotropyRotation__(){const e=this._anisotropyRotation.getValue();this.anisotropyArray[0]=Math.cos(e),this.anisotropyArray[1]=Math.sin(e)},set_anisotropyTexture__(){this.anisotropyTextureNode=N()(p().X3DSingleTextureNode,this._anisotropyTexture),this.setTexture(0,this.anisotropyTextureNode)},getExtensionKey:()=>A.ANISOTROPY_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_ANISOTROPY_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.anisotropyTextureNode?.getShaderOptions(e,"ANISOTROPY",!0))},setShaderUniforms(e,t,s,i,n){e.uniform3fv(t.x3d_AnisotropyEXT,this.anisotropyArray),this.anisotropyTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_AnisotropyTextureEXT,this._anisotropyTextureMapping.getValue(),i,n)}}),Object.defineProperties(w,{...c().getStaticProperties("AnisotropyMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"anisotropyStrength",new(r().SFFloat)),new(a())(p().inputOutput,"anisotropyRotation",new(r().SFFloat)),new(a())(p().inputOutput,"anisotropyTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"anisotropyTexture",new(r().SFNode))]),enumerable:!0}});const y=w,C=x().add("AnisotropyMaterialExtension",y),R=e.X3DAppearanceChildNode;var F=t.n(R);function M(e){F().call(this,e),this.addType(p().BlendMode),this.factorTypes=new Map,this.equationTypes=new Map}Object.assign(Object.setPrototypeOf(M.prototype,F().prototype),{initialize(){F().prototype.initialize.call(this);const e=this.getBrowser().getContext(),t=e.getExtension("EXT_blend_minmax");this.factorTypes.set("ZERO",e.ZERO),this.factorTypes.set("ONE",e.ONE),this.factorTypes.set("SRC_COLOR",e.SRC_COLOR),this.factorTypes.set("ONE_MINUS_SRC_COLOR",e.ONE_MINUS_SRC_COLOR),this.factorTypes.set("DST_COLOR",e.DST_COLOR),this.factorTypes.set("ONE_MINUS_DST_COLOR",e.ONE_MINUS_DST_COLOR),this.factorTypes.set("SRC_ALPHA",e.SRC_ALPHA),this.factorTypes.set("ONE_MINUS_SRC_ALPHA",e.ONE_MINUS_SRC_ALPHA),this.factorTypes.set("DST_ALPHA",e.DST_ALPHA),this.factorTypes.set("ONE_MINUS_DST_ALPHA",e.ONE_MINUS_DST_ALPHA),this.factorTypes.set("SRC_ALPHA_SATURATE",e.SRC_ALPHA_SATURATE),this.factorTypes.set("CONSTANT_COLOR",e.CONSTANT_COLOR),this.factorTypes.set("ONE_MINUS_CONSTANT_COLOR",e.ONE_MINUS_CONSTANT_COLOR),this.factorTypes.set("CONSTANT_ALPHA",e.CONSTANT_ALPHA),this.factorTypes.set("ONE_MINUS_CONSTANT_ALPHA",e.ONE_MINUS_CONSTANT_ALPHA),this.equationTypes.set("FUNC_ADD",e.FUNC_ADD),this.equationTypes.set("FUNC_SUBTRACT",e.FUNC_SUBTRACT),this.equationTypes.set("FUNC_REVERSE_SUBTRACT",e.FUNC_REVERSE_SUBTRACT),this.equationTypes.set("MIN",e.MIN||t&&t.MIN_EXT),this.equationTypes.set("MAX",e.MAX||t&&t.MAX_EXT),this._sourceColorFactor.addInterest("set_sourceColorFactor__",this),this._sourceAlphaFactor.addInterest("set_sourceAlphaFactor__",this),this._destinationColorFactor.addInterest("set_destinationColorFactor__",this),this._destinationAlphaFactor.addInterest("set_destinationAlphaFactor__",this),this._colorEquation.addInterest("set_colorEquation__",this),this._alphaEquation.addInterest("set_alphaEquation__",this),this.set_sourceColorFactor__(),this.set_sourceAlphaFactor__(),this.set_destinationColorFactor__(),this.set_destinationAlphaFactor__(),this.set_colorEquation__(),this.set_alphaEquation__()},set_sourceColorFactor__(){this.sourceColorFactorType=this.factorTypes.get(this._sourceColorFactor.getValue())??this.factorTypes.get("SRC_ALPHA")},set_sourceAlphaFactor__(){this.sourceAlphaFactorType=this.factorTypes.get(this._sourceAlphaFactor.getValue())??this.factorTypes.get("ONE")},set_destinationColorFactor__(){this.destinationColorFactorType=this.factorTypes.get(this._destinationColorFactor.getValue())??this.factorTypes.get("ONE_MINUS_SRC_ALPHA")},set_destinationAlphaFactor__(){this.destinationAlphaFactorType=this.factorTypes.get(this._destinationAlphaFactor.getValue())??this.factorTypes.get("ONE_MINUS_SRC_ALPHA")},set_colorEquation__(){this.colorEquationType=this.equationTypes.get(this._colorEquation.getValue())??this.equationTypes.get("FUNC_ADD")},set_alphaEquation__(){this.alphaEquationType=this.equationTypes.get(this._alphaEquation.getValue())??this.equationTypes.get("FUNC_ADD")},enable(e){const t=this._blendColor.getValue();e.blendColor(t.r,t.g,t.b,t.a),e.blendFuncSeparate(this.sourceColorFactorType,this.destinationColorFactorType,this.sourceAlphaFactorType,this.destinationAlphaFactorType),e.blendEquationSeparate(this.colorEquationType,this.alphaEquationType)},disable(e){e.blendFuncSeparate(e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA),e.blendEquationSeparate(e.FUNC_ADD,e.FUNC_ADD)}}),Object.defineProperties(M,{...c().getStaticProperties("BlendMode","X_ITE",1,"blendMode","3.3"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"blendColor",new(r().SFColorRGBA)),new(a())(p().inputOutput,"sourceColorFactor",new(r().SFString)("SRC_ALPHA")),new(a())(p().inputOutput,"sourceAlphaFactor",new(r().SFString)("ONE")),new(a())(p().inputOutput,"destinationColorFactor",new(r().SFString)("ONE_MINUS_SRC_ALPHA")),new(a())(p().inputOutput,"destinationAlphaFactor",new(r().SFString)("ONE_MINUS_SRC_ALPHA")),new(a())(p().inputOutput,"colorEquation",new(r().SFString)("FUNC_ADD")),new(a())(p().inputOutput,"alphaEquation",new(r().SFString)("FUNC_ADD"))]),enumerable:!0}});const X=M,D=x().add("BlendMode",X),b=e.Algorithm;var L=t.n(b);function U(e){g.call(this,e),this.addType(p().ClearcoatMaterialExtension)}Object.assign(Object.setPrototypeOf(U.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._clearcoat.addInterest("set_clearcoat__",this),this._clearcoatTexture.addInterest("set_clearcoatTexture__",this),this._clearcoatRoughness.addInterest("set_clearcoatRoughness__",this),this._clearcoatRoughnessTexture.addInterest("set_clearcoatRoughnessTexture__",this),this._clearcoatNormalTexture.addInterest("set_clearcoatNormalTexture__",this),this.set_clearcoat__(),this.set_clearcoatTexture__(),this.set_clearcoatRoughness__(),this.set_clearcoatRoughnessTexture__(),this.set_clearcoatNormalTexture__()},set_clearcoat__(){this.clearcoat=Math.max(this._clearcoat.getValue(),0)},set_clearcoatTexture__(){this.clearcoatTextureNode=N()(p().X3DSingleTextureNode,this._clearcoatTexture),this.setTexture(0,this.clearcoatTextureNode)},set_clearcoatRoughness__(){this.clearcoatRoughness=L().clamp(this._clearcoatRoughness.getValue(),0,1)},set_clearcoatRoughnessTexture__(){this.clearcoatRoughnessTextureNode=N()(p().X3DSingleTextureNode,this._clearcoatRoughnessTexture),this.setTexture(1,this.clearcoatRoughnessTextureNode)},set_clearcoatNormalTexture__(){this.clearcoatNormalTextureNode=N()(p().X3DSingleTextureNode,this._clearcoatNormalTexture),this.setTexture(2,this.clearcoatNormalTextureNode)},getExtensionKey:()=>A.CLEARCOAT_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_CLEARCOAT_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.clearcoatTextureNode?.getShaderOptions(e,"CLEARCOAT",!0),this.clearcoatRoughnessTextureNode?.getShaderOptions(e,"CLEARCOAT_ROUGHNESS",!0),this.clearcoatNormalTextureNode?.getShaderOptions(e,"CLEARCOAT_NORMAL",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_ClearcoatEXT,this.clearcoat),e.uniform1f(t.x3d_ClearcoatRoughnessEXT,this.clearcoatRoughness),+this.getTextureBits()&&(this.clearcoatTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ClearcoatTextureEXT,this._clearcoatTextureMapping.getValue(),i,n),this.clearcoatRoughnessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ClearcoatRoughnessTextureEXT,this._clearcoatRoughnessTextureMapping.getValue(),i,n),this.clearcoatNormalTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ClearcoatNormalTextureEXT,this._clearcoatNormalTextureMapping.getValue(),i,n))}}),Object.defineProperties(U,{...c().getStaticProperties("ClearcoatMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"clearcoat",new(r().SFFloat)),new(a())(p().inputOutput,"clearcoatTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"clearcoatTexture",new(r().SFNode)),new(a())(p().inputOutput,"clearcoatRoughness",new(r().SFFloat)),new(a())(p().inputOutput,"clearcoatRoughnessTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"clearcoatRoughnessTexture",new(r().SFNode)),new(a())(p().inputOutput,"clearcoatNormalTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"clearcoatNormalTexture",new(r().SFNode))]),enumerable:!0}});const P=U,V=x().add("ClearcoatMaterialExtension",P);function v(e){F().call(this,e),this.addType(p().DepthMode),this.addAlias("depthFunc",this._depthFunction)}Object.assign(Object.setPrototypeOf(v.prototype,F().prototype),{initialize(){F().prototype.initialize.call(this),this._depthFunction.addInterest("set_depthFunction__",this),this.set_depthFunction__()},set_depthFunction__:function(){const e=new Map([["NEVER","NEVER"],["LESS","LESS"],["EQUAL","EQUAL"],["LESS_EQUAL","LEQUAL"],["GREATER","GREATER"],["NOT_EQUAL","NOTEQUAL"],["GREATER_EQUAL","GEQUAL"],["ALWAYS","ALWAYS"]]);return function(){const t=this.getBrowser().getContext();this.depthFunction=t[e.get(this._depthFunction.getValue())??"LEQUAL"]}}(),enable(e){this.depthTest=e.isEnabled(e.DEPTH_TEST),this.depthWriteMask=e.getParameter(e.DEPTH_WRITEMASK),e.enable(e.POLYGON_OFFSET_FILL),e.polygonOffset(...this._polygonOffset),this._depthTest.getValue()?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),e.depthFunc(this.depthFunction),e.depthRange(...this._depthRange.getValue()),e.depthMask(this._depthMask.getValue())},disable(e){e.disable(e.POLYGON_OFFSET_FILL),this.depthTest?e.enable(e.DEPTH_TEST):e.disable(e.DEPTH_TEST),e.depthFunc(e.LEQUAL),e.depthRange(0,1),e.depthMask(this.depthWriteMask)}}),Object.defineProperties(v,{...c().getStaticProperties("DepthMode","X_ITE",1,"depthMode","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"polygonOffset",new(r().SFVec2f)),new(a())(p().inputOutput,"depthRange",new(r().SFVec2f)(0,1)),new(a())(p().inputOutput,"depthTest",new(r().SFBool)(!0)),new(a())(p().inputOutput,"depthFunction",new(r().SFString)("LESS_EQUAL")),new(a())(p().inputOutput,"depthMask",new(r().SFBool)(!0))]),enumerable:!0}});const B=v,k=x().add("DepthMode",B);function j(e){g.call(this,e),this.addType(p().DiffuseTransmissionMaterialExtension),this.diffuseTransmissionColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(j.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._diffuseTransmission.addInterest("set_diffuseTransmission__",this),this._diffuseTransmissionTexture.addInterest("set_diffuseTransmissionTexture__",this),this._diffuseTransmissionColor.addInterest("set_diffuseTransmissionColor__",this),this._diffuseTransmissionColorTexture.addInterest("set_diffuseTransmissionColorTexture__",this),this.set_diffuseTransmission__(),this.set_diffuseTransmissionTexture__(),this.set_diffuseTransmissionColor__(),this.set_diffuseTransmissionColorTexture__()},set_diffuseTransmission__(){this.diffuseTransmission=Math.max(this._diffuseTransmission.getValue(),0)},set_diffuseTransmissionTexture__(){this.diffuseTransmissionTextureNode=N()(p().X3DSingleTextureNode,this._diffuseTransmissionTexture),this.setTexture(0,this.diffuseTransmissionTextureNode)},set_diffuseTransmissionColor__(){const e=this.diffuseTransmissionColorArray,t=this._diffuseTransmissionColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_diffuseTransmissionColorTexture__(){this.diffuseTransmissionColorTextureNode=N()(p().X3DSingleTextureNode,this._diffuseTransmissionColorTexture),this.setTexture(1,this.diffuseTransmissionColorTextureNode)},getExtensionKey:()=>A.DIFFUSE_TRANSMISSION_EXTENSION,getShaderOptions(e){e.push("X3D_DIFFUSE_TRANSMISSION_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.diffuseTransmissionTextureNode?.getShaderOptions(e,"DIFFUSE_TRANSMISSION",!0),this.diffuseTransmissionColorTextureNode?.getShaderOptions(e,"DIFFUSE_TRANSMISSION_COLOR",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_DiffuseTransmissionEXT,this.diffuseTransmission),e.uniform3fv(t.x3d_DiffuseTransmissionColorEXT,this.diffuseTransmissionColorArray),+this.getTextureBits()&&(this.diffuseTransmissionTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_DiffuseTransmissionTextureEXT,this._diffuseTransmissionTextureMapping.getValue(),i,n),this.diffuseTransmissionColorTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_DiffuseTransmissionColorTextureEXT,this._diffuseTransmissionColorTextureMapping.getValue(),i,n))}}),Object.defineProperties(j,{...c().getStaticProperties("DiffuseTransmissionMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"diffuseTransmission",new(r().SFFloat)),new(a())(p().inputOutput,"diffuseTransmissionTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"diffuseTransmissionTexture",new(r().SFNode)),new(a())(p().inputOutput,"diffuseTransmissionColor",new(r().SFColor)(1,1,1)),new(a())(p().inputOutput,"diffuseTransmissionColorTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"diffuseTransmissionColorTexture",new(r().SFNode))]),enumerable:!0}});const G=j,H=x().add("DiffuseTransmissionMaterialExtension",G);function z(e){g.call(this,e),this.addType(p().DispersionMaterialExtension)}Object.assign(Object.setPrototypeOf(z.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._dispersion.addInterest("set_dispersion__",this),this.set_dispersion__()},set_dispersion__(){this.dispersion=Math.max(this._dispersion.getValue(),0)},getExtensionKey:()=>A.DISPERSION_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_DISPERSION_MATERIAL_EXT")},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_DispersionEXT,this.dispersion)}}),Object.defineProperties(z,{...c().getStaticProperties("DispersionMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"dispersion",new(r().SFFloat))]),enumerable:!0}});const q=z,K=x().add("DispersionMaterialExtension",q);function Y(e){g.call(this,e),this.addType(p().EmissiveStrengthMaterialExtension)}Object.assign(Object.setPrototypeOf(Y.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._emissiveStrength.addInterest("set_emissiveStrength__",this),this.set_emissiveStrength__()},set_emissiveStrength__(){this.emissiveStrength=Math.max(this._emissiveStrength.getValue(),0)},getExtensionKey:()=>A.EMISSIVE_STRENGTH_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_EMISSIVE_STRENGTH_MATERIAL_EXT")},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_EmissiveStrengthEXT,this.emissiveStrength)}}),Object.defineProperties(Y,{...c().getStaticProperties("EmissiveStrengthMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"emissiveStrength",new(r().SFFloat)(1))]),enumerable:!0}});const Q=Y,W=x().add("EmissiveStrengthMaterialExtension",Q),$=e.X3DShapeNode;var Z=t.n($);const J=e.TraverseType;var ee=t.n(J);const te=e.VertexArray;var se=t.n(te);const ie=e.Vector3;var ne=t.n(ie);const re=e.Matrix4;var oe=t.n(re);const ae=e.Box3;var ue=t.n(ae);function _e(e){Z().call(this,e),this.addType(p().InstancedShape),this.addChildObjects(p().outputOnly,"matrices",new(r().SFTime)),this.min=new(ne()),this.max=new(ne()),this.scale=new(ne())(1,1,1),this.numInstances=0,this.instancesStride=25*Float32Array.BYTES_PER_ELEMENT,this.matrixOffset=0,this.normalMatrixOffset=16*Float32Array.BYTES_PER_ELEMENT}Object.assign(Object.setPrototypeOf(_e.prototype,Z().prototype),{initialize(){Z().prototype.initialize.call(this);const e=this.getBrowser(),t=e.getContext();e.getContext().getVersion()<2||(this.instances=Object.assign(t.createBuffer(),{vertexArrayObject:new(se())(t),thickLinesVertexArrayObject:new(se())(t),lineTrianglesBuffer:t.createBuffer(),numLines:0}),this._translations.addInterest("set_transform__",this),this._rotations.addInterest("set_transform__",this),this._scales.addInterest("set_transform__",this),this._matrices.addInterest("set_matrices__",this),this.set_transform__())},getShapeKey:()=>3,getNumInstances(){return this.numInstances},getInstances(){return this.instances},set_bbox__:function(){const e=new(ne()),t=new(ne()),s=new(ue());return function(){if(this.numInstances)if(this._bboxSize.getValue().equals(this.getDefaultBBoxSize())){this.getGeometry()?s.assign(this.getGeometry().getBBox()):s.set();const i=s.size.multiply(this.scale.magnitude()/2),n=s.center;e.assign(this.min).add(n).subtract(i),t.assign(this.max).add(n).add(i),this.bbox.setExtents(e,t)}else this.bbox.set(this._bboxSize.getValue(),this._bboxCenter.getValue());else this.bbox.set();this.getBBoxSize().assign(this.bbox.size),this.getBBoxCenter().assign(this.bbox.center)}}(),set_transform__(){this._matrices=this.getBrowser().getCurrentTime()},set_matrices__(){const e=this.getBrowser().getContext(),t=this._translations,s=this._rotations,i=this._scales,n=t.length,r=s.length,o=i.length,a=Math.max(n,r,o),u=this.instancesStride/Float32Array.BYTES_PER_ELEMENT,_=this.instancesStride*a,h=new Float32Array(_),c=new(oe());this.numInstances=a;const d=this.min.set(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),p=this.max.set(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),l=this.scale.assign(o?p:ne().One);for(let e=0,_=0;eA.IOR_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_IOR_MATERIAL_EXT")},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_IorEXT,this.indexOfRefraction)}}),Object.defineProperties(de,{...c().getStaticProperties("IORMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"indexOfRefraction",new(r().SFFloat)(1.5))]),enumerable:!0}});const pe=de,le=x().add("IORMaterialExtension",pe);function Te(e){g.call(this,e),this.addType(p().IridescenceMaterialExtension)}Object.assign(Object.setPrototypeOf(Te.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._iridescence.addInterest("set_iridescence__",this),this._iridescenceTexture.addInterest("set_iridescenceTexture__",this),this._iridescenceIndexOfRefraction.addInterest("set_iridescenceIndexOfRefraction__",this),this._iridescenceThicknessMinimum.addInterest("set_iridescenceThicknessMinimum__",this),this._iridescenceThicknessMaximum.addInterest("set_iridescenceThicknessMaximum__",this),this._iridescenceThicknessTexture.addInterest("set_iridescenceThicknessTexture__",this),this.set_iridescence__(),this.set_iridescenceTexture__(),this.set_iridescenceIndexOfRefraction__(),this.set_iridescenceThicknessMinimum__(),this.set_iridescenceThicknessMaximum__(),this.set_iridescenceThicknessTexture__()},set_iridescence__(){this.iridescence=Math.max(this._iridescence.getValue(),0)},set_iridescenceTexture__(){this.iridescenceTextureNode=N()(p().X3DSingleTextureNode,this._iridescenceTexture),this.setTexture(0,this.iridescenceTextureNode)},set_iridescenceIndexOfRefraction__(){this.iridescenceIndexOfRefraction=Math.max(this._iridescenceIndexOfRefraction.getValue(),1)},set_iridescenceThicknessMinimum__(){this.iridescenceThicknessMinimum=Math.max(this._iridescenceThicknessMinimum.getValue(),0)},set_iridescenceThicknessMaximum__(){this.iridescenceThicknessMaximum=Math.max(this._iridescenceThicknessMaximum.getValue(),0)},set_iridescenceThicknessTexture__(){this.iridescenceThicknessTextureNode=N()(p().X3DSingleTextureNode,this._iridescenceThicknessTexture),this.setTexture(1,this.iridescenceThicknessTextureNode)},getExtensionKey:()=>A.IRIDESCENCE_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_IRIDESCENCE_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.iridescenceTextureNode?.getShaderOptions(e,"IRIDESCENCE",!0),this.iridescenceThicknessTextureNode?.getShaderOptions(e,"IRIDESCENCE_THICKNESS",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_IridescenceEXT,this.iridescence),e.uniform1f(t.x3d_IridescenceIndexOfRefractionEXT,this.iridescenceIndexOfRefraction),e.uniform1f(t.x3d_IridescenceThicknessMinimumEXT,this.iridescenceThicknessMinimum),e.uniform1f(t.x3d_IridescenceThicknessMaximumEXT,this.iridescenceThicknessMaximum),+this.getTextureBits()&&(this.iridescenceTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_IridescenceTextureEXT,this._iridescenceTextureMapping.getValue(),i,n),this.iridescenceThicknessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_IridescenceThicknessTextureEXT,this._iridescenceThicknessTextureMapping.getValue(),i,n))}}),Object.defineProperties(Te,{...c().getStaticProperties("IridescenceMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"iridescence",new(r().SFFloat)),new(a())(p().inputOutput,"iridescenceTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"iridescenceTexture",new(r().SFNode)),new(a())(p().inputOutput,"iridescenceIndexOfRefraction",new(r().SFFloat)(1.3)),new(a())(p().inputOutput,"iridescenceThicknessMinimum",new(r().SFFloat)(100)),new(a())(p().inputOutput,"iridescenceThicknessMaximum",new(r().SFFloat)(400)),new(a())(p().inputOutput,"iridescenceThicknessTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"iridescenceThicknessTexture",new(r().SFNode))]),enumerable:!0}});const Se=Te,xe=x().add("IridescenceMaterialExtension",Se);function Ee(e){g.call(this,e),this.addType(p().SheenMaterialExtension),this.sheenColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(Ee.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._sheenColor.addInterest("set_sheenColor__",this),this._sheenColorTexture.addInterest("set_sheenColorTexture__",this),this._sheenRoughness.addInterest("set_sheenRoughness__",this),this._sheenRoughnessTexture.addInterest("set_sheenRoughnessTexture__",this),this.set_sheenColor__(),this.set_sheenColorTexture__(),this.set_sheenRoughness__(),this.set_sheenRoughnessTexture__()},set_sheenColor__(){const e=this.sheenColorArray,t=this._sheenColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_sheenColorTexture__(){this.sheenColorTextureNode=N()(p().X3DSingleTextureNode,this._sheenColorTexture),this.setTexture(0,this.sheenColorTextureNode)},set_sheenRoughness__(){this.sheenRoughness=L().clamp(this._sheenRoughness.getValue(),0,1)},set_sheenRoughnessTexture__(){this.sheenRoughnessTextureNode=N()(p().X3DSingleTextureNode,this._sheenRoughnessTexture),this.setTexture(1,this.sheenRoughnessTextureNode)},getExtensionKey:()=>A.SHEEN_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_SHEEN_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.sheenColorTextureNode?.getShaderOptions(e,"SHEEN_COLOR",!0),this.sheenRoughnessTextureNode?.getShaderOptions(e,"SHEEN_ROUGHNESS",!0))},setShaderUniforms(e,t,s,i,n){e.uniform3fv(t.x3d_SheenColorEXT,this.sheenColorArray),e.uniform1f(t.x3d_SheenRoughnessEXT,this.sheenRoughness);const r=this.getBrowser(),o=r.getLibraryTexture("lut_sheen_E.png"),a=r.getTexture2DUnit();e.activeTexture(e.TEXTURE0+a),e.bindTexture(e.TEXTURE_2D,o.getTexture()),e.uniform1i(t.x3d_SheenELUTTextureEXT,a),+this.getTextureBits()&&(this.sheenColorTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SheenColorTextureEXT,this._sheenColorTextureMapping.getValue(),i,n),this.sheenRoughnessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SheenRoughnessTextureEXT,this._sheenRoughnessTextureMapping.getValue(),i,n))}}),Object.defineProperties(Ee,{...c().getStaticProperties("SheenMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"sheenColor",new(r().SFColor)),new(a())(p().inputOutput,"sheenColorTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"sheenColorTexture",new(r().SFNode)),new(a())(p().inputOutput,"sheenRoughness",new(r().SFFloat)),new(a())(p().inputOutput,"sheenRoughnessTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"sheenRoughnessTexture",new(r().SFNode))]),enumerable:!0}});const fe=Ee,ge=x().add("SheenMaterialExtension",fe),Oe=e.X3DOneSidedMaterialNode;var Ne=t.n(Oe);function me(e){console.warn("SpecularGlossinessMaterial is depreciated, please use PhysicalMaterial instead."),Ne().call(this,e),this.addType(p().SpecularGlossinessMaterial),this.materialKey="4/",this.diffuseColorArray=new Float32Array(3),this.specularColorArray=new Float32Array(3),this.extensionNodes=[]}Object.assign(Object.setPrototypeOf(me.prototype,Ne().prototype),{initialize(){Ne().prototype.initialize.call(this),this._diffuseColor.addInterest("set_diffuseColor__",this),this._diffuseTexture.addInterest("set_diffuseTexture__",this),this._diffuseTexture.addInterest("set_transparent__",this),this._specularColor.addInterest("set_specularColor__",this),this._glossiness.addInterest("set_glossiness__",this),this._specularGlossinessTexture.addInterest("set_specularGlossinessTexture__",this),this._occlusionStrength.addInterest("set_occlusionStrength__",this),this._occlusionTexture.addInterest("set_occlusionTexture__",this),this._extensions.addInterest("set_extensions__",this),this.set_diffuseColor__(),this.set_diffuseTexture__(),this.set_specularColor__(),this.set_glossiness__(),this.set_specularGlossinessTexture__(),this.set_occlusionStrength__(),this.set_occlusionTexture__(),this.set_extensions__(),this.set_transparent__()},getMaterialKey(){return this.materialKey},getTextureIndices:(()=>{let e=0;const t={DIFFUSE_TEXTURE:e++,SPECULAR_GLOSSINESS_TEXTURE:e++,EMISSIVE_TEXTURE:e++,OCCLUSION_TEXTURE:e++,NORMAL_TEXTURE:e++};return function(){return t}})(),getBaseTexture(){return this.diffuseTextureNode},set_diffuseColor__(){const e=this.diffuseColorArray,t=this._diffuseColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_diffuseTexture__(){const e=this.getTextureIndices().DIFFUSE_TEXTURE;this.diffuseTextureNode&&(this.diffuseTextureNode._transparent.removeInterest("set_transparent__",this),this.diffuseTextureNode._linear.removeInterest(`setTexture${e}`,this)),this.diffuseTextureNode=N()(p().X3DSingleTextureNode,this._diffuseTexture),this.diffuseTextureNode&&(this.diffuseTextureNode._transparent.addInterest("set_transparent__",this),this.diffuseTextureNode._linear.addInterest(`setTexture${e}`,this,e,this.diffuseTextureNode)),this.setTexture(e,this.diffuseTextureNode)},set_specularColor__(){const e=this.specularColorArray,t=this._specularColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_glossiness__(){this.glossiness=L().clamp(this._glossiness.getValue(),0,1)},set_specularGlossinessTexture__(){this.specularGlossinessTextureNode=N()(p().X3DSingleTextureNode,this._specularGlossinessTexture),this.setTexture(this.getTextureIndices().SPECULAR_GLOSSINESS_TEXTURE,this.specularGlossinessTextureNode)},set_occlusionStrength__(){this.occlusionStrength=L().clamp(this._occlusionStrength.getValue(),0,1)},set_occlusionTexture__(){this.occlusionTextureNode=N()(p().X3DSingleTextureNode,this._occlusionTexture),this.setTexture(this.getTextureIndices().OCCLUSION_TEXTURE,this.occlusionTextureNode)},set_transparent__(){this.setTransparent(this.getTransparency()||this.diffuseTextureNode?.isTransparent())},set_extensions__(){const e=this.extensionNodes;for(const t of e)t.removeInterest("set_extensionsKey__",this);e.length=0;for(const t of this._extensions){const s=N()(p().X3DMaterialExtensionNode,t);s&&e.push(s)}e.sort(((e,t)=>e.getExtensionKey()-t.getExtensionKey()));for(const t of e)t.addInterest("set_extensionsKey__",this);this.setTransmission(e.some((e=>e.getType().includes(p().TransmissionMaterialExtension)))),this.set_extensionsKey__()},set_extensionsKey__(){const e=this.extensionNodes.map((e=>`${e.getExtensionKey().toString(16)}${e.getTextureBits().toString(16)}`)).join("");this.materialKey=`[4.${e}]`},createShader(e,t,s){const i=this.getBrowser(),n=this.getShaderOptions(t,s);for(const e of this.extensionNodes)e.getShaderOptions(n);n.push("X3D_PHYSICAL_MATERIAL","X3D_MATERIAL_SPECULAR_GLOSSINESS"),+this.getTextureBits()&&(this.diffuseTextureNode?.getShaderOptions(n,"DIFFUSE"),this.specularGlossinessTextureNode?.getShaderOptions(n,"SPECULAR_GLOSSINESS"),this.occlusionTextureNode?.getShaderOptions(n,"OCCLUSION"));const r=i.createShader("SpecularGlossiness","Default","Physical",n);return i.getShaders().set(e,r),r},setShaderUniforms(e,t,s,i,n){Ne().prototype.setShaderUniforms.call(this,e,t,s,i,n);for(const r of this.extensionNodes)r.setShaderUniforms(e,t,s,i,n);e.uniform3fv(t.x3d_DiffuseColor,this.diffuseColorArray),e.uniform3fv(t.x3d_SpecularColor,this.specularColorArray),e.uniform1f(t.x3d_Glossiness,this.glossiness),+this.getTextureBits()&&(this.diffuseTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_DiffuseTexture,this._diffuseTextureMapping.getValue(),i,n),this.specularGlossinessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SpecularGlossinessTexture,this._specularGlossinessTextureMapping.getValue(),i,n),this.occlusionTextureNode&&e.uniform1f(t.x3d_OcclusionStrength,this.occlusionStrength),this.occlusionTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_OcclusionTexture,this._occlusionTextureMapping.getValue(),i,n))}}),Object.defineProperties(me,{...c().getStaticProperties("SpecularGlossinessMaterial","X_ITE",1,"material","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"diffuseColor",new(r().SFColor)(1,1,1)),new(a())(p().inputOutput,"diffuseTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"diffuseTexture",new(r().SFNode)),new(a())(p().inputOutput,"specularColor",new(r().SFColor)(1,1,1)),new(a())(p().inputOutput,"glossiness",new(r().SFFloat)(1)),new(a())(p().inputOutput,"specularGlossinessTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"specularGlossinessTexture",new(r().SFNode)),new(a())(p().inputOutput,"emissiveColor",new(r().SFColor)),new(a())(p().inputOutput,"emissiveTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"emissiveTexture",new(r().SFNode)),new(a())(p().inputOutput,"occlusionStrength",new(r().SFFloat)(1)),new(a())(p().inputOutput,"occlusionTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"occlusionTexture",new(r().SFNode)),new(a())(p().inputOutput,"normalScale",new(r().SFFloat)(1)),new(a())(p().inputOutput,"normalTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"normalTexture",new(r().SFNode)),new(a())(p().inputOutput,"transparency",new(r().SFFloat)),new(a())(p().inputOutput,"extensions",new(r().MFNode))]),enumerable:!0}});for(const e of Object.values(me.prototype.getTextureIndices()))me.prototype[`setTexture${e}`]=function(e,t){this.setTexture(e,t)};const Ie=me,Ae=x().add("SpecularGlossinessMaterial",Ie);function we(e){g.call(this,e),this.addType(p().SpecularMaterialExtension),this.specularColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(we.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._specular.addInterest("set_specular__",this),this._specularTexture.addInterest("set_specularTexture__",this),this._specularColor.addInterest("set_specularColor__",this),this._specularColorTexture.addInterest("set_specularColorTexture__",this),this.set_specular__(),this.set_specularTexture__(),this.set_specularColor__(),this.set_specularColorTexture__()},set_specular__(){this.specular=Math.max(this._specular.getValue(),0)},set_specularTexture__(){this.specularTextureNode=N()(p().X3DSingleTextureNode,this._specularTexture),this.setTexture(0,this.specularTextureNode)},set_specularColor__(){const e=this.specularColorArray,t=this._specularColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},set_specularColorTexture__(){this.specularColorTextureNode=N()(p().X3DSingleTextureNode,this._specularColorTexture),this.setTexture(1,this.specularColorTextureNode)},getExtensionKey:()=>A.SPECULAR_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_SPECULAR_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.specularTextureNode?.getShaderOptions(e,"SPECULAR",!0),this.specularColorTextureNode?.getShaderOptions(e,"SPECULAR_COLOR",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_SpecularEXT,this.specular),e.uniform3fv(t.x3d_SpecularColorEXT,this.specularColorArray),+this.getTextureBits()&&(this.specularTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SpecularTextureEXT,this._specularTextureMapping.getValue(),i,n),this.specularColorTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_SpecularColorTextureEXT,this._specularColorTextureMapping.getValue(),i,n))}}),Object.defineProperties(we,{...c().getStaticProperties("SpecularMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"specular",new(r().SFFloat)(1)),new(a())(p().inputOutput,"specularTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"specularTexture",new(r().SFNode)),new(a())(p().inputOutput,"specularColor",new(r().SFColor)(1,1,1)),new(a())(p().inputOutput,"specularColorTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"specularColorTexture",new(r().SFNode))]),enumerable:!0}});const ye=we,Ce=x().add("SpecularMaterialExtension",ye);function Re(e){g.call(this,e),this.addType(p().TransmissionMaterialExtension)}Object.assign(Object.setPrototypeOf(Re.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._transmission.addInterest("set_transmission__",this),this._transmissionTexture.addInterest("set_transmissionTexture__",this),this.set_transmission__(),this.set_transmissionTexture__()},set_transmission__(){this.transmission=Math.max(this._transmission.getValue(),0)},set_transmissionTexture__(){this.transmissionTextureNode=N()(p().X3DSingleTextureNode,this._transmissionTexture),this.setTexture(0,this.transmissionTextureNode)},getExtensionKey:()=>A.TRANSMISSION_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_TRANSMISSION_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.transmissionTextureNode?.getShaderOptions(e,"TRANSMISSION",!0))},setShaderUniforms(e,t,s,i,n){const r=this.getBrowser(),o=r.getTransmissionBuffer(),a=r.getTexture2DUnit();e.uniform1f(t.x3d_TransmissionEXT,this.transmission),e.activeTexture(e.TEXTURE0+a),e.bindTexture(e.TEXTURE_2D,o.getColorTexture()),e.uniform1i(t.x3d_TransmissionFramebufferSamplerEXT,a),e.uniform2i(t.x3d_TransmissionFramebufferSizeEXT,o.getWidth(),o.getHeight()),+this.getTextureBits()&&this.transmissionTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_TransmissionTextureEXT,this._transmissionTextureMapping.getValue(),i,n)}}),Object.defineProperties(Re,{...c().getStaticProperties("TransmissionMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"transmission",new(r().SFFloat)),new(a())(p().inputOutput,"transmissionTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"transmissionTexture",new(r().SFNode))]),enumerable:!0}});const Fe=Re,Me=x().add("TransmissionMaterialExtension",Fe);function Xe(e){g.call(this,e),this.addType(p().VolumeMaterialExtension),this.attenuationColorArray=new Float32Array(3)}Object.assign(Object.setPrototypeOf(Xe.prototype,g.prototype),{initialize(){g.prototype.initialize.call(this),this._thickness.addInterest("set_thickness__",this),this._thicknessTexture.addInterest("set_thicknessTexture__",this),this._attenuationDistance.addInterest("set_attenuationDistance__",this),this._attenuationColor.addInterest("set_attenuationColor__",this),this.set_thickness__(),this.set_thicknessTexture__(),this.set_attenuationDistance__(),this.set_attenuationColor__()},set_thickness__(){this.thickness=Math.max(this._thickness.getValue(),0)},set_thicknessTexture__(){this.thicknessTextureNode=N()(p().X3DSingleTextureNode,this._thicknessTexture),this.setTexture(0,this.thicknessTextureNode)},set_attenuationDistance__(){this.attenuationDistance=Math.max(this._attenuationDistance.getValue(),0)},set_attenuationColor__(){const e=this.attenuationColorArray,t=this._attenuationColor.getValue();e[0]=t.r,e[1]=t.g,e[2]=t.b},getExtensionKey:()=>A.VOLUME_MATERIAL_EXTENSION,getShaderOptions(e){e.push("X3D_VOLUME_MATERIAL_EXT"),+this.getTextureBits()&&(e.push("X3D_MATERIAL_TEXTURES"),this.thicknessTextureNode?.getShaderOptions(e,"THICKNESS",!0))},setShaderUniforms(e,t,s,i,n){e.uniform1f(t.x3d_ThicknessEXT,this.thickness),e.uniform1f(t.x3d_AttenuationDistanceEXT,this.attenuationDistance),e.uniform3fv(t.x3d_AttenuationColorEXT,this.attenuationColorArray),+this.getTextureBits()&&this.thicknessTextureNode?.setNamedShaderUniforms(e,t,s,t.x3d_ThicknessTextureEXT,this._thicknessTextureMapping.getValue(),i,n)}}),Object.defineProperties(Xe,{...c().getStaticProperties("VolumeMaterialExtension","X_ITE",1,"extensions","4.0"),fieldDefinitions:{value:new(_())([new(a())(p().inputOutput,"metadata",new(r().SFNode)),new(a())(p().inputOutput,"thickness",new(r().SFFloat)),new(a())(p().inputOutput,"thicknessTextureMapping",new(r().SFString)),new(a())(p().inputOutput,"thicknessTexture",new(r().SFNode)),new(a())(p().inputOutput,"attenuationDistance",new(r().SFFloat)(1e6)),new(a())(p().inputOutput,"attenuationColor",new(r().SFColor)(1,1,1))]),enumerable:!0}});const De=Xe,be=x().add("VolumeMaterialExtension",De);i().add({name:"X_ITE",concreteNodes:[C,D,V,k,H,K,W,ce,le,xe,ge,Ae,Ce,Me,be],abstractNodes:[g]});x().add("X_ITEComponent",undefined)})(); \ No newline at end of file diff --git a/dist/example.html b/dist/example.html index 89729ad9da..77ebde7c61 100644 --- a/dist/example.html +++ b/dist/example.html @@ -4,7 +4,7 @@ - +

>>0)}break}default:{}}M=M+1|0}while((M|0)!=4);p=c[w>>0]|0;n=(p&1)==0;p=n?(p&255)>>>1:h[U>>2]|0;if(p>>>0>1){m=n?H:h[j>>2]|0;v=m+p|0;n=h[r>>2]|0;if((p|0)!=1){m=m+1|0;do{c[n>>0]=c[m>>0]|0;n=n+1|0;m=m+1|0}while((m|0)!=(v|0))}h[r>>2]=n}switch(t&176|0){case 32:{h[i>>2]=h[r>>2];break}case 16:break;default:h[i>>2]=e}return}function wu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;A=v;v=v+176|0;k=A+56|0;S=A+52|0;y=A+64|0;m=A+61|0;E=A+60|0;P=A+40|0;R=A+28|0;O=A+16|0;o=A+12|0;b=A+68|0;g=A+8|0;p=A+4|0;w=A;e=_h(t)|0;h[S>>2]=e;T=0;_=Oe(37,S|0,44220)|0;d=T;T=0;do{if(d&1)L=13;else{u=c[f>>0]|0;a=(u&1)==0;d=f+4|0;if(!((a?(u&255)>>>1:h[d>>2]|0)|0))u=0;else{a=c[(a?f+1|0:h[f+8>>2]|0)>>0]|0;T=0;l=Oe(h[(h[_>>2]|0)+28>>2]|0,_|0,45)|0;u=T;T=0;if(u&1){L=13;break}u=a<<24>>24==l<<24>>24}h[P>>2]=0;h[P+4>>2]=0;h[P+8>>2]=0;h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;h[O>>2]=0;h[O+4>>2]=0;h[O+8>>2]=0;T=0;Pe(3,r|0,u|0,S|0,y|0,m|0,E|0,P|0,R|0,O|0,o|0);s=T;T=0;if(!(s&1)){s=c[f>>0]|0;r=h[d>>2]|0;a=(s&1)==0?(s&255)>>>1:r;o=h[o>>2]|0;if((a|0)>(o|0)){C=c[O>>0]|0;l=c[R>>0]|0;a=(a-o<<1|1)+o+((C&1)==0?(C&255)>>>1:h[O+4>>2]|0)+((l&1)==0?(l&255)>>>1:h[R+4>>2]|0)|0}else{C=c[O>>0]|0;a=c[R>>0]|0;a=o+2+((C&1)==0?(C&255)>>>1:h[O+4>>2]|0)+((a&1)==0?(a&255)>>>1:h[R+4>>2]|0)|0}if(a>>>0>100){a=jc(a)|0;l=a;if(!a){T=0;Ie(6);C=T;T=0;if(!(C&1)){s=c[f>>0]|0;r=h[d>>2]|0;a=0;L=17}}else L=17}else{l=0;a=b;L=17}if((L|0)==17){C=(s&1)==0;f=C?f+1|0:h[f+8>>2]|0;T=0;Me(1,a|0,g|0,p|0,h[t+4>>2]|0,f|0,f+(C?(s&255)>>>1:r)|0,_|0,u|0,y|0,c[m>>0]|0,c[E>>0]|0,P|0,R|0,O|0,o|0);C=T;T=0;if(!(C&1)?(h[w>>2]=h[i>>2],C=h[g>>2]|0,M=h[p>>2]|0,T=0,h[k>>2]=h[w>>2],M=ge(39,k|0,a|0,C|0,M|0,t|0,n|0)|0,C=T,T=0,!(C&1)):0){if(l){Hc(l);e=h[S>>2]|0}qd(O);qd(R);qd(P);Ad(e)|0;v=A;return M|0}}a=Ze()|0;if(l){Hc(l);e=h[S>>2]|0}}else a=Ze()|0;qd(O);qd(R);qd(P)}}while(0);if((L|0)==13)a=Ze()|0;Ad(e)|0;si(a|0);return 0}function _u(e){e=e|0;return}function mu(e){e=e|0;zv(e);return}function pu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=+f;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0;O=v;v=v+992|0;p=O+8|0;a=O;s=O+888|0;o=O+880|0;l=O+480|0;L=O+76|0;M=O+884|0;y=O+72|0;S=O+68|0;C=O+56|0;x=O+44|0;D=O+32|0;u=O+28|0;_=O+80|0;A=O+24|0;E=O+20|0;g=O+16|0;h[o>>2]=s;m[p>>3]=f;s=Hy(s,100,59018,p)|0;do{if(s>>>0>99){T=0;e=Ce(3)|0;P=T;T=0;if(!(P&1)?(T=0,m[a>>3]=f,k=De(17,o|0,e|0,59018,a|0)|0,P=T,T=0,!(P&1)):0){e=h[o>>2]|0;if(!e){T=0;Ie(6);P=T;T=0;if(P&1){e=0;a=0;P=7;break}e=h[o>>2]|0}l=jc(k<<2)|0;a=l;if(!l){T=0;Ie(6);P=T;T=0;if(P&1)P=7;else{w=0;P=10}}else{w=l;P=10}}else{e=0;a=0;P=7}}else{a=0;e=0;w=l;k=s;P=10}}while(0);if((P|0)==10){T=0;l=ye(68,t|0)|0;b=T;T=0;if(b&1)P=7;else{h[L>>2]=l;T=0;b=Oe(37,L|0,44212)|0;d=T;T=0;if(!(d&1)?(d=h[o>>2]|0,T=0,De(h[(h[b>>2]|0)+48>>2]|0,b|0,d|0,d+k|0,w|0)|0,d=T,T=0,!(d&1)):0){if(!k)d=0;else d=(c[h[o>>2]>>0]|0)==45;h[C>>2]=0;h[C+4>>2]=0;h[C+8>>2]=0;h[x>>2]=0;h[x+4>>2]=0;h[x+8>>2]=0;h[D>>2]=0;h[D+4>>2]=0;h[D+8>>2]=0;T=0;Pe(4,r|0,d|0,L|0,M|0,y|0,S|0,C|0,x|0,D|0,u|0);r=T;T=0;if(!(r&1)){u=h[u>>2]|0;if((k|0)>(u|0)){r=c[D>>0]|0;s=c[x>>0]|0;s=(k-u<<1|1)+u+((r&1)==0?(r&255)>>>1:h[D+4>>2]|0)+((s&1)==0?(s&255)>>>1:h[x+4>>2]|0)|0}else{r=c[D>>0]|0;s=c[x>>0]|0;s=u+2+((r&1)==0?(r&255)>>>1:h[D+4>>2]|0)+((s&1)==0?(s&255)>>>1:h[x+4>>2]|0)|0}if(s>>>0>100){s=jc(s<<2)|0;o=s;if(!s){T=0;Ie(6);_=T;T=0;if(!(_&1)){s=0;P=26}}else P=26}else{o=0;s=_;P=26}if((P|0)==26){T=0;Me(2,s|0,A|0,E|0,h[t+4>>2]|0,w|0,w+(k<<2)|0,b|0,d|0,M|0,h[y>>2]|0,h[S>>2]|0,C|0,x|0,D|0,u|0);S=T;T=0;if(!(S&1)?(h[g>>2]=h[i>>2],i=h[A>>2]|0,R=h[E>>2]|0,T=0,h[p>>2]=h[g>>2],R=ge(40,p|0,s|0,i|0,R|0,t|0,n|0)|0,i=T,T=0,!(i&1)):0){if(o){Hc(o);l=h[L>>2]|0}th(D);th(x);qd(C);Ad(l)|0;if(a)Hc(a);if(e)Hc(e);v=O;return R|0}}s=Ze()|0;if(o){Hc(o);l=h[L>>2]|0}}else s=Ze()|0;th(D);th(x);qd(C)}else s=Ze()|0;Ad(l)|0}}if((P|0)==7)s=Ze()|0;if(a)Hc(a);if(e)Hc(e);si(s|0);return 0}function vu(e,i,r,t,n,f,a,l,s,o){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;var u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0;S=v;v=v+112|0;u=S+108|0;d=S+96|0;w=S+92|0;_=S+80|0;m=S+68|0;p=S+56|0;g=S+52|0;y=S+40|0;E=S+36|0;A=S+24|0;b=S+12|0;k=S;do{if(e){e=Vu(r,43956)|0;r=h[e>>2]|0;do{if(i){wE[h[r+44>>2]&127](u,e);i=h[u>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+32>>2]&127](d,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[d>>2];h[s+4>>2]=h[d+4>>2];h[s+8>>2]=h[d+8>>2];h[d>>2]=0;h[d+4>>2]=0;h[d+8>>2]=0;th(d);break}}else{wE[h[r+40>>2]&127](w,e);i=h[w>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+28>>2]&127](_,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[_>>2];h[s+4>>2]=h[_+4>>2];h[s+8>>2]=h[_+8>>2];h[_>>2]=0;h[_+4>>2]=0;h[_+8>>2]=0;th(_);break}}}while(0);s=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;h[n>>2]=s;s=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;h[f>>2]=s;wE[h[(h[e>>2]|0)+20>>2]&127](m,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}h[a>>2]=h[m>>2];h[a+4>>2]=h[m+4>>2];h[a+8>>2]=h[m+8>>2];h[m>>2]=0;h[m+4>>2]=0;h[m+8>>2]=0;qd(m);wE[h[(h[e>>2]|0)+24>>2]&127](p,e);if(!(c[l>>0]&1))c[l>>0]=0;else h[h[l+8>>2]>>2]=0;h[l+4>>2]=0;T=0;ve(93,l|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}else{h[l>>2]=h[p>>2];h[l+4>>2]=h[p+4>>2];h[l+8>>2]=h[p+8>>2];h[p>>2]=0;h[p+4>>2]=0;h[p+8>>2]=0;th(p);M=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}else{e=Vu(r,43892)|0;r=h[e>>2]|0;do{if(i){wE[h[r+44>>2]&127](g,e);i=h[g>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+32>>2]&127](y,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[y>>2];h[s+4>>2]=h[y+4>>2];h[s+8>>2]=h[y+8>>2];h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;th(y);break}}else{wE[h[r+40>>2]&127](E,e);i=h[E>>2]|0;c[t>>0]=i;c[t+1>>0]=i>>8;c[t+2>>0]=i>>16;c[t+3>>0]=i>>24;wE[h[(h[e>>2]|0)+28>>2]&127](A,e);if(!(c[s>>0]&1))c[s>>0]=0;else h[h[s+8>>2]>>2]=0;h[s+4>>2]=0;T=0;ve(93,s|0,0);t=T;T=0;if(t&1){s=Ze(0)|0;Ki(s)}else{h[s>>2]=h[A>>2];h[s+4>>2]=h[A+4>>2];h[s+8>>2]=h[A+8>>2];h[A>>2]=0;h[A+4>>2]=0;h[A+8>>2]=0;th(A);break}}}while(0);s=mE[h[(h[e>>2]|0)+12>>2]&127](e)|0;h[n>>2]=s;s=mE[h[(h[e>>2]|0)+16>>2]&127](e)|0;h[f>>2]=s;wE[h[(h[e>>2]|0)+20>>2]&127](b,e);if(!(c[a>>0]&1)){c[a+1>>0]=0;c[a>>0]=0}else{c[h[a+8>>2]>>0]=0;h[a+4>>2]=0}T=0;ve(91,a|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}h[a>>2]=h[b>>2];h[a+4>>2]=h[b+4>>2];h[a+8>>2]=h[b+8>>2];h[b>>2]=0;h[b+4>>2]=0;h[b+8>>2]=0;qd(b);wE[h[(h[e>>2]|0)+24>>2]&127](k,e);if(!(c[l>>0]&1))c[l>>0]=0;else h[h[l+8>>2]>>2]=0;h[l+4>>2]=0;T=0;ve(93,l|0,0);f=T;T=0;if(f&1){f=Ze(0)|0;Ki(f)}else{h[l>>2]=h[k>>2];h[l+4>>2]=h[k+4>>2];h[l+8>>2]=h[k+8>>2];h[k>>2]=0;h[k+4>>2]=0;h[k+8>>2]=0;th(k);M=mE[h[(h[e>>2]|0)+36>>2]&127](e)|0;break}}}while(0);h[o>>2]=M;v=S;return}function gu(e,i,r,t,n,f,a,l,s,o,u,d,b,k,w){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;s=s|0;o=o|0;u=u|0;d=d|0;b=b|0;k=k|0;w=w|0;var _=0,m=0,p=0,v=0,g=0,y=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0;h[r>>2]=e;I=k+4|0;B=k+8|0;P=b+4|0;O=(t&512|0)==0;R=b+8|0;L=(w|0)>0;C=d+4|0;D=d+8|0;x=d+1|0;T=(w|0)>0;M=0;do{switch(c[s+M>>0]|0){case 0:{h[i>>2]=h[r>>2];break}case 1:{h[i>>2]=h[r>>2];E=ME[h[(h[a>>2]|0)+44>>2]&63](a,32)|0;A=h[r>>2]|0;h[r>>2]=A+4;h[A>>2]=E;break}case 3:{A=c[k>>0]|0;_=(A&1)==0;if((_?(A&255)>>>1:h[I>>2]|0)|0){E=h[(_?I:h[B>>2]|0)>>2]|0;A=h[r>>2]|0;h[r>>2]=A+4;h[A>>2]=E}break}case 2:{g=c[b>>0]|0;_=(g&1)==0;g=_?(g&255)>>>1:h[P>>2]|0;if(!(O|(g|0)==0)){_=_?P:h[R>>2]|0;p=_+(g<<2)|0;v=h[r>>2]|0;if(g){m=v;while(1){h[m>>2]=h[_>>2];_=_+4|0;if((_|0)==(p|0))break;else m=m+4|0}}h[r>>2]=v+(g<<2)}break}case 4:{_=h[r>>2]|0;n=l?n+4|0:n;e:do{if(n>>>0>>0){m=n;do{if(!(vE[h[(h[a>>2]|0)+12>>2]&63](a,2048,h[m>>2]|0)|0))break e;m=m+4|0}while(m>>>0>>0)}else m=n}while(0);if(L){if(m>>>0>n>>>0&T){g=h[r>>2]|0;v=w;while(1){m=m+-4|0;p=g+4|0;h[g>>2]=h[m>>2];y=v+-1|0;v=(v|0)>1;if(m>>>0>n>>>0&v){g=p;v=y}else{g=y;break}}h[r>>2]=p;p=g}else{v=T;p=w}if(v)y=ME[h[(h[a>>2]|0)+44>>2]&63](a,48)|0;else y=0;E=h[r>>2]|0;v=p+((p|0)<0?~p:-1)|0;if((p|0)>0){g=E;while(1){h[g>>2]=y;if((p|0)>1){g=g+4|0;p=p+-1|0}else break}}h[r>>2]=E+(v+2<<2);h[E+(v+1<<2)>>2]=o}if((m|0)==(n|0)){E=ME[h[(h[a>>2]|0)+44>>2]&63](a,48)|0;A=h[r>>2]|0;m=A+4|0;h[r>>2]=m;h[A>>2]=E}else{E=c[d>>0]|0;p=(E&1)==0;A=h[C>>2]|0;if(!((p?(E&255)>>>1:A)|0))p=-1;else p=c[(p?x:h[D>>2]|0)>>0]|0;if((m|0)!=(n|0)){y=0;E=0;while(1){v=h[r>>2]|0;if((E|0)==(p|0)){g=v+4|0;h[r>>2]=g;h[v>>2]=u;y=y+1|0;v=c[d>>0]|0;p=(v&1)==0;if(y>>>0<(p?(v&255)>>>1:A)>>>0){p=c[(p?x:h[D>>2]|0)+y>>0]|0;v=g;p=p<<24>>24==127?-1:p<<24>>24;g=0}else{v=g;p=E;g=0}}else g=E;m=m+-4|0;E=h[m>>2]|0;h[r>>2]=v+4;h[v>>2]=E;if((m|0)==(n|0))break;else E=g+1|0}}m=h[r>>2]|0}if((_|0)!=(m|0)?(S=m+-4|0,_>>>0>>0):0){m=S;do{A=h[_>>2]|0;h[_>>2]=h[m>>2];h[m>>2]=A;_=_+4|0;m=m+-4|0}while(_>>>0>>0)}break}default:{}}M=M+1|0}while((M|0)!=4);_=c[k>>0]|0;n=(_&1)==0;_=n?(_&255)>>>1:h[I>>2]|0;if(_>>>0>1){m=n?I:h[B>>2]|0;n=m+4|0;m=m+(_<<2)|0;p=h[r>>2]|0;v=m-n|0;if((_|0)!=1){_=p;while(1){h[_>>2]=h[n>>2];n=n+4|0;if((n|0)==(m|0))break;else _=_+4|0}}h[r>>2]=p+(v>>>2<<2)}switch(t&176|0){case 32:{h[i>>2]=h[r>>2];break}case 16:break;default:h[i>>2]=e}return}function yu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0,A=0,M=0,S=0,P=0,O=0,R=0,L=0,C=0;A=v;v=v+480|0;b=A+468|0;S=A+464|0;y=A+472|0;m=A+56|0;E=A+52|0;P=A+40|0;R=A+28|0;O=A+16|0;o=A+12|0;d=A+64|0;g=A+8|0;p=A+4|0;k=A;e=_h(t)|0;h[S>>2]=e;T=0;w=Oe(37,S|0,44212)|0;_=T;T=0;do{if(_&1)L=13;else{u=c[f>>0]|0;a=(u&1)==0;_=f+4|0;if(!((a?(u&255)>>>1:h[_>>2]|0)|0))u=0;else{a=h[(a?_:h[f+8>>2]|0)>>2]|0;T=0;l=Oe(h[(h[w>>2]|0)+44>>2]|0,w|0,45)|0;u=T;T=0;if(u&1){L=13;break}u=(a|0)==(l|0)}h[P>>2]=0;h[P+4>>2]=0;h[P+8>>2]=0;h[R>>2]=0;h[R+4>>2]=0;h[R+8>>2]=0;h[O>>2]=0;h[O+4>>2]=0;h[O+8>>2]=0;T=0;Pe(4,r|0,u|0,S|0,y|0,m|0,E|0,P|0,R|0,O|0,o|0);s=T;T=0;if(!(s&1)){s=c[f>>0]|0;r=h[_>>2]|0;a=(s&1)==0?(s&255)>>>1:r;o=h[o>>2]|0;if((a|0)>(o|0)){C=c[O>>0]|0;l=c[R>>0]|0;a=(a-o<<1|1)+o+((C&1)==0?(C&255)>>>1:h[O+4>>2]|0)+((l&1)==0?(l&255)>>>1:h[R+4>>2]|0)|0}else{C=c[O>>0]|0;a=c[R>>0]|0;a=o+2+((C&1)==0?(C&255)>>>1:h[O+4>>2]|0)+((a&1)==0?(a&255)>>>1:h[R+4>>2]|0)|0}if(a>>>0>100){a=jc(a<<2)|0;l=a;if(!a){T=0;Ie(6);C=T;T=0;if(!(C&1)){s=c[f>>0]|0;r=h[_>>2]|0;a=0;L=17}}else L=17}else{l=0;a=d;L=17}if((L|0)==17){C=(s&1)==0;f=C?_:h[f+8>>2]|0;T=0;Me(2,a|0,g|0,p|0,h[t+4>>2]|0,f|0,f+((C?(s&255)>>>1:r)<<2)|0,w|0,u|0,y|0,h[m>>2]|0,h[E>>2]|0,P|0,R|0,O|0,o|0);C=T;T=0;if(!(C&1)?(h[k>>2]=h[i>>2],C=h[g>>2]|0,M=h[p>>2]|0,T=0,h[b>>2]=h[k>>2],M=ge(40,b|0,a|0,C|0,M|0,t|0,n|0)|0,C=T,T=0,!(C&1)):0){if(l){Hc(l);e=h[S>>2]|0}th(O);th(R);qd(P);Ad(e)|0;v=A;return M|0}}a=Ze()|0;if(l){Hc(l);e=h[S>>2]|0}}else a=Ze()|0;th(O);th(R);qd(P)}}while(0);if((L|0)==13)a=Ze()|0;Ad(e)|0;si(a|0);return 0}function Eu(e){e=e|0;return}function Au(e){e=e|0;zv(e);return}function Mu(e,i,r){e=e|0;i=i|0;r=r|0;e=ey((c[i>>0]&1)==0?i+1|0:h[i+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function Tu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0;l=v;v=v+16|0;s=l;h[s>>2]=0;h[s+4>>2]=0;h[s+8>>2]=0;a=c[f>>0]|0;o=(a&1)==0;i=o?f+1|0:h[f+8>>2]|0;a=o?(a&255)>>>1:h[f+4>>2]|0;f=i+a|0;e:do{if((a|0)>0){while(1){T=0;ve(67,s|0,c[i>>0]|0);o=T;T=0;if(o&1)break;i=i+1|0;if(i>>>0>=f>>>0){a=4;break e}}i=Ze()|0;a=7}else a=4}while(0);e:do{if((a|0)==4){T=0;i=De(19,((r|0)==-1?-1:r<<1)|0,t|0,n|0,((c[s>>0]&1)==0?s+1|0:h[s+8>>2]|0)|0)|0;o=T;T=0;if(o&1){i=Ze()|0;a=7;break}h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;o=rE(i)|0;f=i+o|0;i:do{if((o|0)>0){while(1){T=0;ve(67,e|0,c[i>>0]|0);o=T;T=0;if(o&1)break;i=i+1|0;if(i>>>0>=f>>>0)break i}i=Ze()|0;qd(e);break e}}while(0);qd(s);v=l;return}}while(0);qd(s);si(i|0)}function Su(e,i){e=e|0;i=i|0;return}function Pu(e){e=e|0;return}function Ou(e){e=e|0;zv(e);return}function Ru(e,i,r){e=e|0;i=i|0;r=r|0;e=ey((c[i>>0]&1)==0?i+1|0:h[i+8>>2]|0,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function Lu(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;var a=0,l=0,s=0,o=0,u=0,d=0,b=0,k=0,w=0,_=0,m=0,p=0,g=0,y=0,E=0;g=v;v=v+224|0;d=g+184|0;u=g+192|0;o=g+180|0;b=g+176|0;m=g+168|0;_=g+40|0;w=g+32|0;p=g+28|0;y=g+16|0;s=g+8|0;k=g;h[y>>2]=0;h[y+4>>2]=0;h[y+8>>2]=0;h[s+4>>2]=0;h[s>>2]=44696;l=c[f>>0]|0;E=(l&1)==0;a=f+4|0;i=E?a:h[f+8>>2]|0;f=E?(l&255)>>>1:h[a>>2]|0;a=i+(f<<2)|0;l=u+32|0;e:do{if((f|0)>0){i:while(1){h[b>>2]=i;T=0;f=Be(h[(h[s>>2]|0)+12>>2]|0,s|0,d|0,i|0,a|0,b|0,u|0,l|0,o|0)|0;E=T;T=0;if(E&1){f=12;break}if((f|0)==2?1:(h[b>>2]|0)==(i|0)){f=5;break}if(u>>>0<(h[o>>2]|0)>>>0){i=u;do{T=0;ve(67,y|0,c[i>>0]|0);E=T;T=0;if(E&1){f=11;break i}i=i+1|0}while(i>>>0<(h[o>>2]|0)>>>0)}i=h[b>>2]|0;if(!((f|0)!=2&i>>>0>>0)){f=9;break e}}if((f|0)==5){T=0;pe(190,58955);T=0;i=Ze()|0}else if((f|0)==11)i=Ze()|0;else if((f|0)==12)i=Ze()|0}else f=9}while(0);e:do{if((f|0)==9){T=0;i=De(19,((r|0)==-1?-1:r<<1)|0,t|0,n|0,((c[y>>0]&1)==0?y+1|0:h[y+8>>2]|0)|0)|0;E=T;T=0;if(E&1){i=Ze()|0;break}h[e>>2]=0;h[e+4>>2]=0;h[e+8>>2]=0;h[k+4>>2]=0;h[k>>2]=44744;E=rE(i)|0;a=i+E|0;l=a;s=_+128|0;i:do{if((E|0)>0){r:while(1){h[p>>2]=i;T=0;f=Be(h[(h[k>>2]|0)+16>>2]|0,k|0,m|0,i|0,((l-i|0)>32?i+32|0:a)|0,p|0,_|0,s|0,w|0)|0;E=T;T=0;if(E&1){f=24;break}if((f|0)==2?1:(h[p>>2]|0)==(i|0)){f=18;break}if(_>>>0<(h[w>>2]|0)>>>0){i=_;do{T=0;ve(92,e|0,h[i>>2]|0);E=T;T=0;if(E&1){f=23;break r}i=i+4|0}while(i>>>0<(h[w>>2]|0)>>>0)}i=h[p>>2]|0;if(!((f|0)!=2&i>>>0>>0))break i}if((f|0)==18){T=0;pe(190,58955);T=0;i=Ze()|0}else if((f|0)==23)i=Ze()|0;else if((f|0)==24)i=Ze()|0;th(e);break e}}while(0);qd(y);v=g;return}}while(0);qd(y);si(i|0)}function Cu(e,i){e=e|0;i=i|0;return}function Du(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0,a=0;h[e+4>>2]=i+-1;h[e>>2]=44196;f=e+8|0;T=0;ve(94,f|0,28);n=T;T=0;if(n&1)i=Ze()|0;else{n=e+144|0;T=0;xe(5,n|0,58885,1);t=T;T=0;if(t&1)i=Ze()|0;else{r=h[f>>2]|0;t=e+12|0;i=h[t>>2]|0;if((i|0)!=(r|0)){do{i=i+-4|0}while((i|0)!=(r|0));h[t>>2]=i}h[495]=0;h[494]=43124;T=0;ve(95,e|0,1976);t=T;T=0;do{if(((((((((((((!(t&1)?(h[497]=0,h[496]=43164,T=0,ve(96,e|0,1984),t=T,T=0,!(t&1)):0)?(h[499]=0,h[498]=44236,h[500]=0,c[2004]=0,t=Qu()|0,h[500]=t,T=0,ve(97,e|0,1992),t=T,T=0,!(t&1)):0)?(h[503]=0,h[502]=44484,T=0,ve(98,e|0,2008),t=T,T=0,!(t&1)):0)?(h[505]=0,h[504]=44552,T=0,ve(99,e|0,2016),t=T,T=0,!(t&1)):0)?(T=0,ve(100,2024,1),t=T,T=0,!(t&1)):0)?(T=0,ve(101,e|0,2024),t=T,T=0,!(t&1)):0)?(h[511]=0,h[510]=44600,T=0,ve(102,e|0,2040),t=T,T=0,!(t&1)):0)?(h[513]=0,h[512]=44648,T=0,ve(103,e|0,2048),t=T,T=0,!(t&1)):0)?(kw(2056,1),T=0,ve(104,e|0,2056),t=T,T=0,!(t&1)):0)?(ww(2080,1),T=0,ve(105,e|0,2080),t=T,T=0,!(t&1)):0)?(h[529]=0,h[528]=43204,T=0,ve(106,e|0,2112),t=T,T=0,!(t&1)):0)?(h[531]=0,h[530]=43276,T=0,ve(107,e|0,2120),t=T,T=0,!(t&1)):0)?(h[533]=0,h[532]=43348,T=0,ve(108,e|0,2128),t=T,T=0,!(t&1)):0){h[535]=0;h[534]=43408;T=0;ve(109,e|0,2136);t=T;T=0;if(t&1){a=42;break}h[537]=0;h[536]=43716;T=0;ve(110,e|0,2144);t=T;T=0;if(t&1){a=42;break}h[539]=0;h[538]=43780;T=0;ve(111,e|0,2152);t=T;T=0;if(t&1){a=42;break}h[541]=0;h[540]=43844;T=0;ve(112,e|0,2160);t=T;T=0;if(t&1){a=42;break}h[543]=0;h[542]=43908;T=0;ve(113,e|0,2168);t=T;T=0;if(t&1){a=42;break}h[545]=0;h[544]=43972;T=0;ve(114,e|0,2176);t=T;T=0;if(t&1){a=42;break}h[547]=0;h[546]=44008;T=0;ve(115,e|0,2184);t=T;T=0;if(t&1){a=42;break}h[549]=0;h[548]=44044;T=0;ve(116,e|0,2192);t=T;T=0;if(t&1){a=42;break}h[551]=0;h[550]=44080;T=0;ve(117,e|0,2200);t=T;T=0;if(t&1){a=42;break}h[553]=0;h[552]=43468;h[554]=43516;T=0;ve(118,e|0,2208);t=T;T=0;if(t&1){a=42;break}h[557]=0;h[556]=43560;h[558]=43608;T=0;ve(119,e|0,2224);t=T;T=0;if(t&1){a=42;break}h[561]=0;h[560]=44464;T=0;i=Ce(3)|0;t=T;T=0;if(t&1){i=Ze()|0;break}h[562]=i;h[560]=43652;T=0;ve(120,e|0,2240);t=T;T=0;if(t&1){a=42;break}h[565]=0;h[564]=44464;T=0;i=Ce(3)|0;t=T;T=0;if(t&1){i=Ze()|0;break}h[566]=i;h[564]=43684;T=0;ve(121,e|0,2256);a=T;T=0;if(a&1){a=42;break}h[569]=0;h[568]=44116;T=0;ve(122,e|0,2272);a=T;T=0;if(a&1){a=42;break}h[571]=0;h[570]=44156;T=0;ve(123,e|0,2280);a=T;T=0;if(a&1){a=42;break}return}else a=42}while(0);if((a|0)==42)i=Ze()|0;qd(n)}$_(f)}si(i|0)}function xu(){var e=0;do{if((c[2288]|0)==0?(ze(2288)|0)!=0:0){T=0;Ce(4)|0;e=T;T=0;if(e&1){e=Ze()|0;Ri(2288);si(e|0)}else{h[11246]=44980;$e(2288);break}}}while(0);return h[11246]|0}function Iu(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;Ed(i);n=e+8|0;t=h[n>>2]|0;do{if((h[e+12>>2]|0)-t>>2>>>0<=r>>>0){T=0;ve(124,n|0,r+1|0);e=T;T=0;if(!(e&1)){t=h[n>>2]|0;break}t=Ze()|0;if(i)Ad(i)|0;si(t|0)}}while(0);e=h[t+(r<<2)>>2]|0;if(e){Ad(e)|0;t=h[n>>2]|0}h[t+(r<<2)>>2]=i;return}function Bu(e){e=e|0;var i=0,r=0,t=0,n=0;h[e>>2]=44196;t=e+8|0;n=e+12|0;i=h[t>>2]|0;if((h[n>>2]|0)!=(i|0)){r=0;do{i=h[i+(r<<2)>>2]|0;if(i)Ad(i)|0;r=r+1|0;i=h[t>>2]|0}while(r>>>0<(h[n>>2]|0)-i>>2>>>0)}qd(e+144|0);$_(t);return}function Nu(e){e=e|0;Bu(e);zv(e);return}function Fu(e,i){e=e|0;i=i|0;if(im(e,i)|0)return h[(h[e+8>>2]|0)+(i<<2)>>2]|0;else{e=Je(4)|0;fg(e);Ei(e|0,640,82)}return 0}function Uu(){Du(2296,1);h[11245]=2296;return 44980}function ju(){var e=0;e=xu()|0;e=h[e>>2]|0;h[11247]=e;Ed(e);return 44988}function Hu(){var e=0;do{if((c[2456]|0)==0?(ze(2456)|0)!=0:0){T=0;Ce(5)|0;e=T;T=0;if(e&1){e=Ze()|0;Ri(2456);si(e|0)}else{h[11248]=44988;$e(2456);break}}}while(0);return h[11248]|0}function Yu(e){e=e|0;var i=0,r=0;T=0;i=Ce(6)|0;r=T;T=0;if(r&1){r=Ze(0)|0;Ki(r)}else{r=h[i>>2]|0;h[e>>2]=r;Ed(r);return}}function qu(e,i){e=e|0;i=i|0;i=h[i>>2]|0;h[e>>2]=i;Ed(i);return}function Xu(e){e=e|0;Ad(h[e>>2]|0)|0;return}function zu(e){e=e|0;var i=0,r=0;r=v;v=v+16|0;i=r;if((h[e>>2]|0)!=-1){h[i>>2]=e;h[i+4>>2]=191;h[i+8>>2]=0;Ud(e,i,192)}v=r;return(h[e+4>>2]|0)+-1|0}function Vu(e,i){e=e|0;i=i|0;e=h[e>>2]|0;return Fu(e,zu(i)|0)|0}function Gu(e){e=e|0;zv(e);return}function Ku(e){e=e|0;if(e)kE[h[(h[e>>2]|0)+4>>2]&255](e);return}function Wu(e){e=e|0;var i=0;i=h[11052]|0;h[11052]=i+1;h[e+4>>2]=i+1;return}function Ju(e){e=e|0;zv(e);return}function Zu(e,i,r){e=e|0;i=i|0;r=r|0;if(r>>>0<128){r=(Qu()|0)+(r<<1)|0;r=(d[r>>1]&i)<<16>>16!=0}else r=0;return r|0}function Qu(){var e=0,i=0;T=0;e=Ce(7)|0;i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else return h[e>>2]|0;return 0}function $u(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;f=(r-i|0)>>>2;if((i|0)!=(r|0)){n=i;while(1){e=h[n>>2]|0;if(e>>>0<128){e=(Qu()|0)+(e<<1)|0;e=k[e>>1]|0}else e=0;d[t>>1]=e;n=n+4|0;if((n|0)==(r|0))break;else t=t+2|0}}return i+(f<<2)|0}function ec(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e:do{if((r|0)==(t|0))r=t;else while(1){e=h[r>>2]|0;if(e>>>0<128?(e=(Qu()|0)+(e<<1)|0,(d[e>>1]&i)<<16>>16!=0):0)break e;r=r+4|0;if((r|0)==(t|0)){r=t;break}}}while(0);return r|0}function ic(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;e:do{if((r|0)==(t|0))r=t;else while(1){e=h[r>>2]|0;if(e>>>0>=128)break e;e=(Qu()|0)+(e<<1)|0;if(!((d[e>>1]&i)<<16>>16))break e;r=r+4|0;if((r|0)==(t|0)){r=t;break}}}while(0);return r|0}function rc(e,i){e=e|0;i=i|0;if(i>>>0<128){i=(tc()|0)+(i<<2)|0;i=h[i>>2]|0}return i|0}function tc(){var e=0,i=0;T=0;e=Ce(8)|0;i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else return h[e>>2]|0;return 0}function nc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=(r-i|0)>>>2;if((i|0)!=(r|0)){t=i;do{e=h[t>>2]|0;if(e>>>0<128){e=(tc()|0)+(e<<2)|0;e=h[e>>2]|0}h[t>>2]=e;t=t+4|0}while((t|0)!=(r|0))}return i+(n<<2)|0}function fc(e,i){e=e|0;i=i|0;if(i>>>0<128){i=(ac()|0)+(i<<2)|0;i=h[i>>2]|0}return i|0}function ac(){var e=0,i=0;T=0;e=Ce(9)|0;i=T;T=0;if(i&1){i=Ze(0)|0;Ki(i)}else return h[e>>2]|0;return 0}function lc(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;n=(r-i|0)>>>2;if((i|0)!=(r|0)){t=i;do{e=h[t>>2]|0;if(e>>>0<128){e=(ac()|0)+(e<<2)|0;e=h[e>>2]|0}h[t>>2]=e;t=t+4|0}while((t|0)!=(r|0))}return i+(n<<2)|0}function sc(e,i){e=e|0;i=i|0;return i<<24>>24|0}function oc(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((i|0)!=(r|0))while(1){h[t>>2]=c[i>>0];i=i+1|0;if((i|0)==(r|0))break;else t=t+4|0}return r|0}function uc(e,i,r){e=e|0;i=i|0;r=r|0;return(i>>>0<128?i&255:r)|0}function cc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0;a=(r-i|0)>>>2;if((i|0)!=(r|0)){f=i;e=n;while(1){n=h[f>>2]|0;c[e>>0]=n>>>0<128?n&255:t;f=f+4|0;if((f|0)==(r|0))break;else e=e+1|0}}return i+(a<<2)|0}function dc(e){e=e|0;var i=0;h[e>>2]=44236;i=h[e+8>>2]|0;if((i|0)!=0?(c[e+12>>0]|0)!=0:0)Vv(i);return}function hc(e){e=e|0;dc(e);zv(e);return}function bc(e,i){e=e|0;i=i|0;if(i<<24>>24>-1){i=(tc()|0)+((i&255)<<2)|0;i=h[i>>2]&255}return i|0}function kc(e,i,r){e=e|0;i=i|0;r=r|0;if((i|0)!=(r|0)){e=i;do{i=c[e>>0]|0;if(i<<24>>24>-1){i=(tc()|0)+(i<<24>>24<<2)|0;i=h[i>>2]&255}c[e>>0]=i;e=e+1|0}while((e|0)!=(r|0))}return r|0}function wc(e,i){e=e|0;i=i|0;if(i<<24>>24>-1){i=(ac()|0)+(i<<24>>24<<2)|0;i=h[i>>2]&255}return i|0}function _c(e,i,r){e=e|0;i=i|0;r=r|0;if((i|0)!=(r|0)){e=i;do{i=c[e>>0]|0;if(i<<24>>24>-1){i=(ac()|0)+(i<<24>>24<<2)|0;i=h[i>>2]&255}c[e>>0]=i;e=e+1|0}while((e|0)!=(r|0))}return r|0}function mc(e,i){e=e|0;i=i|0;return i|0}function pc(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;if((i|0)!=(r|0))while(1){c[t>>0]=c[i>>0]|0;i=i+1|0;if((i|0)==(r|0))break;else t=t+1|0}return r|0}function vc(e,i,r){e=e|0;i=i|0;r=r|0;return(i<<24>>24>-1?i:r)|0}function gc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;if((i|0)!=(r|0))while(1){e=c[i>>0]|0;c[n>>0]=e<<24>>24>-1?e:t;i=i+1|0;if((i|0)==(r|0))break;else n=n+1|0}return r|0}function yc(e){e=e|0;zv(e);return}function Ec(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;h[n>>2]=r;h[l>>2]=f;return 3}function Ac(e,i,r,t,n,f,a,l){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;l=l|0;h[n>>2]=r;h[l>>2]=f;return 3}function Mc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;h[n>>2]=r;return 3}function Tc(e){e=e|0;return 1}function Sc(e){e=e|0;return 1}function Pc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;e=t-r|0;return(e>>>0>>0?e:n)|0}function Oc(e){e=e|0;return 1}function Rc(e,i){e=e|0;i=i|0;var r=0;h[e+4>>2]=i+-1;h[e>>2]=44304;T=0;i=Ce(3)|0;r=T;T=0;if(r&1){r=Ze()|0;si(r|0)}else{h[e+8>>2]=i;return}}function Lc(e){e=e|0;Vw(e);zv(e);return}function Cc(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var f=0,a=0,l=0,s=0,o=0.0,u=0,k=0,w=0,_=0,p=0.0,g=0,E=0,A=0,M=0,T=0,S=0,P=0,O=0,R=0,L=0,C=0,D=0,x=0,I=0,B=0,N=0,F=0,U=0,j=0,Y=0,q=0,X=0,z=0,V=0,G=0,K=0,W=0,J=0,Z=0,Q=0,$=0,ee=0,ie=0,re=0,te=0,ne=0,fe=0,ae=0;ae=v;v=v+624|0;ie=ae+24|0;te=ae+16|0;re=ae+588|0;J=ae+576|0;ee=ae;G=ae+536|0;fe=ae+8|0;ne=ae+528|0;N=(e|0)!=0;F=G+40|0;V=F;G=G+39|0;K=fe+4|0;W=J+12|0;J=J+11|0;Z=re;Q=W;$=Q-Z|0;U=-2-Z|0;j=Q+2|0;Y=ie+288|0;q=re+9|0;X=q;z=re+8|0;f=0;g=i;a=0;i=0;e:while(1){do{if((f|0)>-1)if((a|0)>(2147483647-f|0)){f=zg()|0;h[f>>2]=75;f=-1;break}else{f=a+f|0;break}}while(0);a=c[g>>0]|0;if(!(a<<24>>24)){B=245;break}else l=g;i:while(1){switch(a<<24>>24){case 37:{a=l;B=9;break i}case 0:{a=l;break i}default:{}}I=l+1|0;a=c[I>>0]|0;l=I}i:do{if((B|0)==9)while(1){B=0;if((c[a+1>>0]|0)!=37)break i;l=l+1|0;a=a+2|0;if((c[a>>0]|0)==37)B=9;else break}}while(0);A=l-g|0;if(N?(h[e>>2]&32|0)==0:0)Fy(g,A,e)|0;if((l|0)!=(g|0)){g=a;a=A;continue}u=a+1|0;l=c[u>>0]|0;s=(l<<24>>24)+-48|0;if(s>>>0<10){I=(c[a+2>>0]|0)==36;u=I?a+3|0:u;l=c[u>>0]|0;_=I?s:-1;i=I?1:i}else _=-1;a=l<<24>>24;i:do{if((a&-32|0)==32){s=0;while(1){if(!(1<>24)+-32|s;u=u+1|0;l=c[u>>0]|0;a=l<<24>>24;if((a&-32|0)!=32){k=s;a=u;break}}}else{k=0;a=u}}while(0);do{if(l<<24>>24==42){s=a+1|0;l=(c[s>>0]|0)+-48|0;if(l>>>0<10?(c[a+2>>0]|0)==36:0){h[n+(l<<2)>>2]=10;i=1;a=a+3|0;l=h[t+((c[s>>0]|0)+-48<<3)>>2]|0}else{if(i){f=-1;break e}if(!N){E=k;a=s;i=0;I=0;break}i=(h[r>>2]|0)+(4-1)&~(4-1);l=h[i>>2]|0;h[r>>2]=i+4;i=0;a=s}if((l|0)<0){E=k|8192;I=0-l|0}else{E=k;I=l}}else{s=(l<<24>>24)+-48|0;if(s>>>0<10){l=0;do{l=(l*10|0)+s|0;a=a+1|0;s=(c[a>>0]|0)+-48|0}while(s>>>0<10);if((l|0)<0){f=-1;break e}else{E=k;I=l}}else{E=k;I=0}}}while(0);i:do{if((c[a>>0]|0)==46){s=a+1|0;l=c[s>>0]|0;if(l<<24>>24!=42){u=(l<<24>>24)+-48|0;if(u>>>0<10){a=s;l=0}else{a=s;u=0;break}while(1){l=(l*10|0)+u|0;a=a+1|0;u=(c[a>>0]|0)+-48|0;if(u>>>0>=10){u=l;break i}}}s=a+2|0;l=(c[s>>0]|0)+-48|0;if(l>>>0<10?(c[a+3>>0]|0)==36:0){h[n+(l<<2)>>2]=10;a=a+4|0;u=h[t+((c[s>>0]|0)+-48<<3)>>2]|0;break}if(i){f=-1;break e}if(N){a=(h[r>>2]|0)+(4-1)&~(4-1);u=h[a>>2]|0;h[r>>2]=a+4;a=s}else{a=s;u=0}}else u=-1}while(0);w=0;while(1){l=(c[a>>0]|0)+-65|0;if(l>>>0>57){f=-1;break e}s=a+1|0;l=c[56223+(w*58|0)+l>>0]|0;k=l&255;if((k+-1|0)>>>0<8){a=s;w=k}else{x=s;break}}if(!(l<<24>>24)){f=-1;break}s=(_|0)>-1;do{if(l<<24>>24==19)if(s){f=-1;break e}else B=52;else{if(s){h[n+(_<<2)>>2]=k;C=t+(_<<3)|0;D=h[C+4>>2]|0;B=ee;h[B>>2]=h[C>>2];h[B+4>>2]=D;B=52;break}if(!N){f=0;break e}Nc(ee,k,r)}}while(0);if((B|0)==52?(B=0,!N):0){g=x;a=A;continue}_=c[a>>0]|0;_=(w|0)!=0&(_&15|0)==3?_&-33:_;s=E&-65537;D=(E&8192|0)==0?E:s;i:do{switch(_|0){case 110:switch(w|0){case 0:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 1:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 2:{g=h[ee>>2]|0;h[g>>2]=f;h[g+4>>2]=((f|0)<0)<<31>>31;g=x;a=A;continue e}case 3:{d[h[ee>>2]>>1]=f;g=x;a=A;continue e}case 4:{c[h[ee>>2]>>0]=f;g=x;a=A;continue e}case 6:{h[h[ee>>2]>>2]=f;g=x;a=A;continue e}case 7:{g=h[ee>>2]|0;h[g>>2]=f;h[g+4>>2]=((f|0)<0)<<31>>31;g=x;a=A;continue e}default:{g=x;a=A;continue e}}case 112:{w=D|8;u=u>>>0>8?u:8;_=120;B=64;break}case 88:case 120:{w=D;B=64;break}case 111:{s=ee;l=h[s>>2]|0;s=h[s+4>>2]|0;if((l|0)==0&(s|0)==0)a=F;else{a=F;do{a=a+-1|0;c[a>>0]=l&7|48;l=xm(l|0,s|0,3)|0;s=H}while(!((l|0)==0&(s|0)==0))}if(!(D&8)){l=D;w=0;k=56703;B=77}else{w=V-a+1|0;l=D;u=(u|0)<(w|0)?w:u;w=0;k=56703;B=77}break}case 105:case 100:{l=ee;a=h[l>>2]|0;l=h[l+4>>2]|0;if((l|0)<0){a=Lm(0,0,a|0,l|0)|0;l=H;s=ee;h[s>>2]=a;h[s+4>>2]=l;s=1;k=56703;B=76;break i}if(!(D&2048)){k=D&1;s=k;k=(k|0)==0?56703:56705;B=76}else{s=1;k=56704;B=76}break}case 117:{l=ee;a=h[l>>2]|0;l=h[l+4>>2]|0;s=0;k=56703;B=76;break}case 99:{c[G>>0]=h[ee>>2];g=G;l=1;w=0;_=56703;a=F;break}case 109:{a=zg()|0;a=Vg(h[a>>2]|0)|0;B=82;break}case 115:{a=h[ee>>2]|0;a=(a|0)!=0?a:56713;B=82;break}case 67:{h[fe>>2]=h[ee>>2];h[K>>2]=0;h[ee>>2]=fe;u=-1;B=86;break}case 83:{if(!u){Uc(e,32,I,0,D);a=0;B=98}else B=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{o=+m[ee>>3];h[te>>2]=0;m[y>>3]=o;if((h[y+4>>2]|0)>=0)if(!(D&2048)){C=D&1;L=C;C=(C|0)==0?56721:56726}else{L=1;C=56723}else{o=-o;L=1;C=56720}m[y>>3]=o;R=h[y+4>>2]&2146435072;do{if(R>>>0<2146435072|(R|0)==2146435072&0<0){p=+cy(o,te)*2.0;l=p!=0.0;if(l)h[te>>2]=(h[te>>2]|0)+-1;P=_|32;if((P|0)==97){g=_&32;A=(g|0)==0?C:C+9|0;E=L|2;a=12-u|0;do{if(!(u>>>0>11|(a|0)==0)){o=8.0;do{a=a+-1|0;o=o*16.0}while((a|0)!=0);if((c[A>>0]|0)==45){o=-(o+(-p-o));break}else{o=p+o-o;break}}else o=p}while(0);l=h[te>>2]|0;a=(l|0)<0?0-l|0:l;a=Fc(a,((a|0)<0)<<31>>31,W)|0;if((a|0)==(W|0)){c[J>>0]=48;a=J}c[a+-1>>0]=(l>>31&2)+43;w=a+-2|0;c[w>>0]=_+15;k=(u|0)<1;s=(D&8|0)==0;l=re;while(1){C=~~o;a=l+1|0;c[l>>0]=b[56687+C>>0]|g;o=(o-+(C|0))*16.0;do{if((a-Z|0)==1){if(s&(k&o==0.0))break;c[a>>0]=46;a=l+2|0}}while(0);if(!(o!=0.0))break;else l=a}u=(u|0)!=0&(U+a|0)<(u|0)?j+u-w|0:$-w+a|0;s=u+E|0;Uc(e,32,I,s,D);if(!(h[e>>2]&32))Fy(A,E,e)|0;Uc(e,48,I,s,D^65536);a=a-Z|0;if(!(h[e>>2]&32))Fy(re,a,e)|0;l=Q-w|0;Uc(e,48,u-(a+l)|0,0,0);if(!(h[e>>2]&32))Fy(w,l,e)|0;Uc(e,32,I,s,D^8192);a=(s|0)<(I|0)?I:s;break}a=(u|0)<0?6:u;if(l){l=(h[te>>2]|0)+-28|0;h[te>>2]=l;o=p*268435456.0}else{o=p;l=h[te>>2]|0}R=(l|0)<0?ie:Y;O=R;l=R;do{S=~~o>>>0;h[l>>2]=S;l=l+4|0;o=(o-+(S>>>0))*1.0e9}while(o!=0.0);s=l;l=h[te>>2]|0;if((l|0)>0){k=R;while(1){w=(l|0)>29?29:l;u=s+-4|0;do{if(u>>>0>>0)u=k;else{l=0;do{S=Bm(h[u>>2]|0,0,w|0)|0;S=Dm(S|0,H|0,l|0,0)|0;l=H;T=zm(S|0,l|0,1e9,0)|0;h[u>>2]=T;l=Xm(S|0,l|0,1e9,0)|0;u=u+-4|0}while(u>>>0>=k>>>0);if(!l){u=k;break}u=k+-4|0;h[u>>2]=l}}while(0);while(1){if(s>>>0<=u>>>0)break;l=s+-4|0;if(!(h[l>>2]|0))s=l;else break}l=(h[te>>2]|0)-w|0;h[te>>2]=l;if((l|0)>0)k=u;else break}}else u=R;if((l|0)<0){A=((a+25|0)/9|0)+1|0;M=(P|0)==102;g=u;while(1){E=0-l|0;E=(E|0)>9?9:E;do{if(g>>>0>>0){l=(1<>>E;u=0;w=g;do{S=h[w>>2]|0;h[w>>2]=(S>>>E)+u;u=ce(S&l,k)|0;w=w+4|0}while(w>>>0>>0);l=(h[g>>2]|0)==0?g+4|0:g;if(!u){u=l;break}h[s>>2]=u;u=l;s=s+4|0}else u=(h[g>>2]|0)==0?g+4|0:g}while(0);l=M?R:u;s=(s-l>>2|0)>(A|0)?l+(A<<2)|0:s;l=(h[te>>2]|0)+E|0;h[te>>2]=l;if((l|0)>=0){g=u;break}else g=u}}else g=u;do{if(g>>>0>>0){l=(O-g>>2)*9|0;k=h[g>>2]|0;if(k>>>0<10)break;else u=10;do{u=u*10|0;l=l+1|0}while(k>>>0>=u>>>0)}else l=0}while(0);T=(P|0)==103;S=(a|0)!=0;u=a-((P|0)!=102?l:0)+((S&T)<<31>>31)|0;if((u|0)<(((s-O>>2)*9|0)+-9|0)){w=u+9216|0;M=(w|0)/9|0;u=R+(M+-1023<<2)|0;w=((w|0)%9|0)+1|0;if((w|0)<9){k=10;do{k=k*10|0;w=w+1|0}while((w|0)!=9)}else k=10;E=h[u>>2]|0;A=(E>>>0)%(k>>>0)|0;if((A|0)==0?(R+(M+-1022<<2)|0)==(s|0):0)k=g;else B=163;do{if((B|0)==163){B=0;p=(((E>>>0)/(k>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;w=(k|0)/2|0;do{if(A>>>0>>0)o=.5;else{if((A|0)==(w|0)?(R+(M+-1022<<2)|0)==(s|0):0){o=1.0;break}o=1.5}}while(0);do{if(L){if((c[C>>0]|0)!=45)break;p=-p;o=-o}}while(0);w=E-A|0;h[u>>2]=w;if(!(p+o!=p)){k=g;break}P=w+k|0;h[u>>2]=P;if(P>>>0>999999999){l=g;while(1){k=u+-4|0;h[u>>2]=0;if(k>>>0>>0){l=l+-4|0;h[l>>2]=0}P=(h[k>>2]|0)+1|0;h[k>>2]=P;if(P>>>0>999999999)u=k;else{g=l;u=k;break}}}l=(O-g>>2)*9|0;w=h[g>>2]|0;if(w>>>0<10){k=g;break}else k=10;do{k=k*10|0;l=l+1|0}while(w>>>0>=k>>>0);k=g}}while(0);P=u+4|0;g=k;s=s>>>0>P>>>0?P:s}A=0-l|0;while(1){if(s>>>0<=g>>>0){M=0;P=s;break}u=s+-4|0;if(!(h[u>>2]|0))s=u;else{M=1;P=s;break}}do{if(T){a=(S&1^1)+a|0;if((a|0)>(l|0)&(l|0)>-5){_=_+-1|0;a=a+-1-l|0}else{_=_+-2|0;a=a+-1|0}s=D&8;if(s)break;do{if(M){s=h[P+-4>>2]|0;if(!s){u=9;break}if(!((s>>>0)%10|0)){k=10;u=0}else{u=0;break}do{k=k*10|0;u=u+1|0}while(((s>>>0)%(k>>>0)|0|0)==0)}else u=9}while(0);s=((P-O>>2)*9|0)+-9|0;if((_|32|0)==102){s=s-u|0;s=(s|0)<0?0:s;a=(a|0)<(s|0)?a:s;s=0;break}else{s=s+l-u|0;s=(s|0)<0?0:s;a=(a|0)<(s|0)?a:s;s=0;break}}else s=D&8}while(0);E=a|s;k=(E|0)!=0&1;w=(_|32|0)==102;if(w){l=(l|0)>0?l:0;_=0}else{u=(l|0)<0?A:l;u=Fc(u,((u|0)<0)<<31>>31,W)|0;if((Q-u|0)<2)do{u=u+-1|0;c[u>>0]=48}while((Q-u|0)<2);c[u+-1>>0]=(l>>31&2)+43;O=u+-2|0;c[O>>0]=_;l=Q-O|0;_=O}A=L+1+a+k+l|0;Uc(e,32,I,A,D);if(!(h[e>>2]&32))Fy(C,L,e)|0;Uc(e,48,I,A,D^65536);do{if(w){u=g>>>0>R>>>0?R:g;l=u;do{s=Fc(h[l>>2]|0,0,q)|0;do{if((l|0)==(u|0)){if((s|0)!=(q|0))break;c[z>>0]=48;s=z}else{if(s>>>0<=re>>>0)break;do{s=s+-1|0;c[s>>0]=48}while(s>>>0>re>>>0)}}while(0);if(!(h[e>>2]&32))Fy(s,X-s|0,e)|0;l=l+4|0}while(l>>>0<=R>>>0);do{if(E){if(h[e>>2]&32)break;Fy(56755,1,e)|0}}while(0);if((a|0)>0&l>>>0